void BuildUndergroundSectorInfoList() { UNDERGROUND_SECTORINFO *curr; SECTORINFO *pSector = NULL; TrashUndergroundSectorInfo(); //******************** //* BASEMENT LEVEL 1 * //******************** //Miguel's basement. Nothing here. curr = NewUndergroundNode( 10, 1, 1 ); //O16 curr = NewUndergroundNode( 16, 15, 1 ); //Chitzena mine. Nothing here. curr = NewUndergroundNode( 2, 2, 1 ); //San mona mine. Nothing here. curr = NewUndergroundNode( 4, 4, 1 ); curr = NewUndergroundNode( 5, 4, 1 ); //J9 curr = NewUndergroundNode( 9, 10, 1 ); switch( gGameOptions.ubDifficultyLevel ) { case DIF_LEVEL_EASY: curr->ubNumTroops = 8; break; case DIF_LEVEL_MEDIUM: curr->ubNumTroops = 11; break; case DIF_LEVEL_HARD: curr->ubNumTroops = 15; break; case DIF_LEVEL_INSANE: curr->ubNumTroops = 20; break; } //J9 feeding zone curr = NewUndergroundNode( 9, 10, 2 ); curr->ubNumCreatures = (UINT8)(2 + gGameOptions.ubDifficultyLevel*2 + Random( 2 )); //K4 curr = NewUndergroundNode( 4, 11, 1 ); curr->ubNumTroops = (UINT8)(6 + gGameOptions.ubDifficultyLevel*2 + Random( 3 )); curr->ubNumElites = (UINT8)(4 + gGameOptions.ubDifficultyLevel + Random( 2 )); //O3 curr = NewUndergroundNode( 3, 15, 1 ); curr->ubNumTroops = (UINT8)(6 + gGameOptions.ubDifficultyLevel*2 + Random( 3 )); curr->ubNumElites = (UINT8)(4 + gGameOptions.ubDifficultyLevel + Random( 2 )); curr->ubAdjacentSectors |= SOUTH_ADJACENT_SECTOR; //P3 curr = NewUndergroundNode( 3, 16, 1 ); switch( gGameOptions.ubDifficultyLevel ) { case DIF_LEVEL_EASY: curr->ubNumElites = (UINT8)(8 + Random( 3 )); break; case DIF_LEVEL_MEDIUM: curr->ubNumElites = (UINT8)(10 + Random( 5 )); break; case DIF_LEVEL_HARD: curr->ubNumElites = (UINT8)(14 + Random( 6 )); break; case DIF_LEVEL_INSANE: curr->ubNumElites = 20; break; } curr->ubAdjacentSectors |= NORTH_ADJACENT_SECTOR; //Do all of the mandatory underground mine sectors //Drassen's mine //D13_B1 curr = NewUndergroundNode( 13, 4, 1 ); curr->ubAdjacentSectors |= SOUTH_ADJACENT_SECTOR; //E13_B1 curr = NewUndergroundNode( 13, 5, 1 ); curr->ubAdjacentSectors |= NORTH_ADJACENT_SECTOR; //E13_B2 curr = NewUndergroundNode( 13, 5, 2 ); curr->ubAdjacentSectors |= SOUTH_ADJACENT_SECTOR; //F13_B2 curr = NewUndergroundNode( 13, 6, 2 ); curr->ubAdjacentSectors |= NORTH_ADJACENT_SECTOR | SOUTH_ADJACENT_SECTOR; //G13_B2 curr = NewUndergroundNode( 13, 7, 2 ); curr->ubAdjacentSectors |= NORTH_ADJACENT_SECTOR; //G13_B3 curr = NewUndergroundNode( 13, 7, 3 ); curr->ubAdjacentSectors |= NORTH_ADJACENT_SECTOR; //F13_B3 curr = NewUndergroundNode( 13, 6, 3 ); curr->ubAdjacentSectors |= SOUTH_ADJACENT_SECTOR; //Cambria's mine //H8_B1 curr = NewUndergroundNode( 8, 8, 1 ); curr->ubAdjacentSectors |= EAST_ADJACENT_SECTOR; //H9_B1 curr = NewUndergroundNode( 9, 8, 1 ); curr->ubAdjacentSectors |= WEST_ADJACENT_SECTOR; //H9_B2 curr = NewUndergroundNode( 9, 8, 2 ); curr->ubAdjacentSectors |= WEST_ADJACENT_SECTOR; //H8_B2 curr = NewUndergroundNode( 8, 8, 2 ); curr->ubAdjacentSectors |= EAST_ADJACENT_SECTOR; //H8_B3 curr = NewUndergroundNode( 8, 8, 3 ); curr->ubAdjacentSectors |= SOUTH_ADJACENT_SECTOR; //I8_B3 curr = NewUndergroundNode( 8, 9, 3 ); curr->ubAdjacentSectors |= NORTH_ADJACENT_SECTOR | SOUTH_ADJACENT_SECTOR; //J8_B3 curr = NewUndergroundNode( 8, 10, 3 ); curr->ubAdjacentSectors |= NORTH_ADJACENT_SECTOR; //Alma's mine //I14_B1 curr = NewUndergroundNode( 14, 9, 1 ); curr->ubAdjacentSectors |= SOUTH_ADJACENT_SECTOR; //J14_B1 curr = NewUndergroundNode( 14, 10, 1 ); curr->ubAdjacentSectors |= NORTH_ADJACENT_SECTOR; //J14_B2 curr = NewUndergroundNode( 14, 10, 2 ); curr->ubAdjacentSectors |= WEST_ADJACENT_SECTOR; //J13_B2 curr = NewUndergroundNode( 13, 10, 2 ); curr->ubAdjacentSectors |= EAST_ADJACENT_SECTOR; //J13_B3 curr = NewUndergroundNode( 13, 10, 3 ); curr->ubAdjacentSectors |= SOUTH_ADJACENT_SECTOR; //K13_B3 curr = NewUndergroundNode( 13, 11, 3 ); curr->ubAdjacentSectors |= NORTH_ADJACENT_SECTOR; //Grumm's mine //H3_B1 curr = NewUndergroundNode( 3, 8, 1 ); curr->ubAdjacentSectors |= SOUTH_ADJACENT_SECTOR; //I3_B1 curr = NewUndergroundNode( 3, 9, 1 ); curr->ubAdjacentSectors |= NORTH_ADJACENT_SECTOR; //I3_B2 curr = NewUndergroundNode( 3, 9, 2 ); curr->ubAdjacentSectors |= NORTH_ADJACENT_SECTOR; //H3_B2 curr = NewUndergroundNode( 3, 8, 2 ); curr->ubAdjacentSectors |= SOUTH_ADJACENT_SECTOR | EAST_ADJACENT_SECTOR; //H4_B2 curr = NewUndergroundNode( 4, 8, 2 ); curr->ubAdjacentSectors |= WEST_ADJACENT_SECTOR; curr->uiFlags |= SF_PENDING_ALTERNATE_MAP; //H4_B3 curr = NewUndergroundNode( 4, 8, 3 ); curr->ubAdjacentSectors |= NORTH_ADJACENT_SECTOR; //G4_B3 curr = NewUndergroundNode( 4, 7, 3 ); curr->ubAdjacentSectors |= SOUTH_ADJACENT_SECTOR; }