///////////////////////////////////////////////////////////////// // // Terrain Improvements Possibilities BETA // by Pedrunn // // This code when building a TI over another gives back 1/5 of // the PW cost of the TI that is going to be destroyed. And // // And also gives when Pillaging a random PW value that varies from // 0 to 1/3 of the pillaged improvement // ///////////////////////////////////////////////////////////////// int_t PEDRUNN_IMPROVEMENT[]; int_t PEDRUNN_TI_COST[]; HandleEvent(BeginTurn) 'SaveTileImpsInArrays' pre { PEDRUNN_IMPROVEMENT[0] = TerrainImprovementDB(TILEIMP_PASTURE); PEDRUNN_TI_COST[0] = 250; PEDRUNN_IMPROVEMENT[1] = TerrainImprovementDB(TILEIMP_FARMS); PEDRUNN_TI_COST[1] = 250; PEDRUNN_IMPROVEMENT[2] = TerrainImprovementDB(TILEIMP_ADVANCED_FARMS); PEDRUNN_TI_COST[2] = 1200; PEDRUNN_IMPROVEMENT[3] = TerrainImprovementDB(TILEIMP_HYDROPONIC_FARMS); PEDRUNN_TI_COST[3] = 900; PEDRUNN_IMPROVEMENT[4] = TerrainImprovementDB(TILEIMP_TRADING_POST); PEDRUNN_TI_COST[4] = 600; PEDRUNN_IMPROVEMENT[5] = TerrainImprovementDB(TILEIMP_LATIFUNDIA); PEDRUNN_TI_COST[5] = 500; PEDRUNN_IMPROVEMENT[6] = TerrainImprovementDB(TILEIMP_OUTLET_MALL); PEDRUNN_TI_COST[6] = 1500; PEDRUNN_IMPROVEMENT[7] = TerrainImprovementDB(TILEIMP_NATURE_PRESERVE); PEDRUNN_TI_COST[7] = 1800; PEDRUNN_IMPROVEMENT[8] = TerrainImprovementDB(TILEIMP_MINES); PEDRUNN_TI_COST[8] = 600; PEDRUNN_IMPROVEMENT[9] = TerrainImprovementDB(TILEIMP_MINE_SHAFT); PEDRUNN_TI_COST[9] = 900; PEDRUNN_IMPROVEMENT[10] = TerrainImprovementDB(TILEIMP_ADVANCED_MINES); PEDRUNN_TI_COST[10] = 1200; PEDRUNN_IMPROVEMENT[11] = TerrainImprovementDB(TILEIMP_MEGA_MINES); PEDRUNN_TI_COST[11] = 1500; PEDRUNN_IMPROVEMENT[12] = TerrainImprovementDB(TILEIMP_UNDERSEA_MINES); PEDRUNN_TI_COST[12] = 1200; PEDRUNN_IMPROVEMENT[13] = TerrainImprovementDB(TILEIMP_ADVANCED_UNDERSEA_MINES); PEDRUNN_TI_COST[13] = 2500; PEDRUNN_IMPROVEMENT[14] = TerrainImprovementDB(TILEIMP_MEGA_UNDERSEA_MINES); PEDRUNN_TI_COST[14] = 3000; PEDRUNN_IMPROVEMENT[15] = TerrainImprovementDB(TILEIMP_NETS); PEDRUNN_TI_COST[15] = 250; PEDRUNN_IMPROVEMENT[16] = TerrainImprovementDB(TILEIMP_FISHERIES); PEDRUNN_TI_COST[16] = 750; PEDRUNN_IMPROVEMENT[17] = TerrainImprovementDB(TILEIMP_AUTOMATED_FISHERIES); PEDRUNN_TI_COST[17] = 1500; PEDRUNN_IMPROVEMENT[18] = TerrainImprovementDB(TILEIMP_PORT); PEDRUNN_TI_COST[18] = 900; PEDRUNN_IMPROVEMENT[19] = TerrainImprovementDB(TILEIMP_DRILLING_PLATFORM); PEDRUNN_TI_COST[19] = 2100; PEDRUNN_IMPROVEMENT[20] = TerrainImprovementDB(TILEIMP_FORTIFICATIONS); PEDRUNN_TI_COST[20] = 3600; PEDRUNN_IMPROVEMENT[21] = TerrainImprovementDB(TILEIMP_AIR_BASES); PEDRUNN_TI_COST[21] = 2000; PEDRUNN_IMPROVEMENT[22] = TerrainImprovementDB(TILEIMP_PROCESSING_TOWER); PEDRUNN_TI_COST[22] = 4000; PEDRUNN_IMPROVEMENT[23] = TerrainImprovementDB(TILEIMP_WATCH_TOWER); PEDRUNN_TI_COST[23] = 1200; PEDRUNN_IMPROVEMENT[24] = TerrainImprovementDB(TILEIMP_LISTENING_POSTS); PEDRUNN_TI_COST[24] = 2000; PEDRUNN_IMPROVEMENT[25] = TerrainImprovementDB(TILEIMP_RADAR_STATIONS); PEDRUNN_TI_COST[25] = 2500; PEDRUNN_IMPROVEMENT[26] = TerrainImprovementDB(TILEIMP_SONAR_BUOYS); PEDRUNN_TI_COST[26] = 1500; PEDRUNN_IMPROVEMENT[27] = TerrainImprovementDB(TILEIMP_ROAD); PEDRUNN_TI_COST[27] = 60; PEDRUNN_IMPROVEMENT[28] = TerrainImprovementDB(TILEIMP_RAILROAD); PEDRUNN_TI_COST[28] = 240; PEDRUNN_IMPROVEMENT[29] = TerrainImprovementDB(TILEIMP_MAGLEV); PEDRUNN_TI_COST[29] = 480; PEDRUNN_IMPROVEMENT[30] = TerrainImprovementDB(TILEIMP_UNDERSEA_TUNNEL); PEDRUNN_TI_COST[30] = 2000; PEDRUNN_IMPROVEMENT[31] = TerrainImprovementDB(TILEIMP_UNDERSEA_FORTIFICATIONS); PEDRUNN_TI_COST[31] = 3600; PEDRUNN_IMPROVEMENT[32] = TerrainImprovementDB(TILEIMP_ANCIENT_CITY_ONE); PEDRUNN_TI_COST[32] = 1000; PEDRUNN_IMPROVEMENT[33] = TerrainImprovementDB(TILEIMP_MEDIEVAL_CITY_ONE); PEDRUNN_TI_COST[33] = 1500; PEDRUNN_IMPROVEMENT[34] = TerrainImprovementDB(TILEIMP_MODERN_CITY_ONE); PEDRUNN_TI_COST[34] = 2000; PEDRUNN_IMPROVEMENT[35] = TerrainImprovementDB(TILEIMP_MODERN_CITY_TWO); PEDRUNN_TI_COST[35] = 2000; PEDRUNN_IMPROVEMENT[36] = TerrainImprovementDB(TILEIMP_MODERN_CITY_THREE); PEDRUNN_TI_COST[36] = 2000; PEDRUNN_IMPROVEMENT[37] = TerrainImprovementDB(TILEIMP_GENETIC_CITY_ONE); PEDRUNN_TI_COST[37] = 2500; PEDRUNN_IMPROVEMENT[38] = TerrainImprovementDB(TILEIMP_GENETIC_CITY_TWO); PEDRUNN_TI_COST[38] = 2500; PEDRUNN_IMPROVEMENT[39] = TerrainImprovementDB(TILEIMP_FUTURE_CITY_ONE); PEDRUNN_TI_COST[39] = 3000; PEDRUNN_IMPROVEMENT[40] = TerrainImprovementDB(TILEIMP_FUTURE_CITY_TWO); PEDRUNN_TI_COST[40] = 3000; PEDRUNN_IMPROVEMENT[41] = TerrainImprovementDB(TILEIMP_SEA_CITY_ONE); PEDRUNN_TI_COST[41] = 2000; DisableTrigger('SaveTileImpsInArrays'); } // // Bonus from creating a tile improvement over another // HandleEvent(CreateImprovement) 'UpgradeImprovementBonus' pre { int_t i; int_t BonusPW; int_t PlayerPW; for (i = 0; i < PEDRUNN_IMPROVEMENT.#; i = i + 1){ if(TileHasImprovement(location[0], i)) { BonusPW = PEDRUNN_TI_COST[i]/5; PlayerPW = Player[0].publicworkslevel + BonusPW; SetPW(player[0], PlayerPW); } } } // // Bonus from Pillaging // HandleEvent(CutImprovements) 'PillageImprovementBonus' pre { int_t i; int_t BonusPW; int_t PlayerPW; unit_t tmpUnit; location_t tmpLoc; tmpLoc = location[0]; if(GetUnitsAtLocation(tmpLoc) > 0) { GetUnitFromCell(tmpLoc, 0, tmpUnit); if(tmpUnit.valid == 1) { player[3] = tmpUnit.owner; for(i = 0; i < PEDRUNN_IMPROVEMENT.#; i = i + 1) { if(TileHasImprovement(tmpLoc, PEDRUNN_IMPROVEMENT[i])) { BonusPW = PEDRUNN_TI_COST[i]/3; PlayerPW = player[3].publicworkslevel + Random(BonusPW); SetPW(player[3], PlayerPW); } } } } }