Resolved #952 - fixed building requirements for Neuschwanstein, Stone Works, Windmill and Spaceship Factory

This commit is contained in:
Yair Morgenstern
2019-07-21 19:54:16 +03:00
parent c7042dd5cf
commit e9e0e55b5e
6 changed files with 23 additions and 4 deletions

View File

@ -33,6 +33,7 @@
resourceBonusStats:{production:1},
maintenance:1,
hurryCostModifier:25,
uniques:["Must not be on plains"]
requiredTech:"Calendar"
},
{
@ -600,6 +601,7 @@
hurryCostModifier:25,
maintenance:2,
percentStatBonus:{production:10},
uniques:["Must not be on hill"],
requiredTech:"Economics"
},
@ -721,7 +723,8 @@
culture:4,
gold:6,
isWonder:true,
uniques:["+1 happiness, +2 culture and +3 gold from every Castle"],
uniques:["+1 happiness, +2 culture and +3 gold from every Castle",
"Must be next to mountain"],
requiredTech:"Railroad"
},
@ -785,6 +788,7 @@
requiredResource:"Aluminum",
cost:360,
uniques:["Increases production of spaceship parts by 50%"]
requiredBuilding:"Factory",
requiredTech:"Robotics"
},
{

View File

@ -53,6 +53,9 @@
Portuguese:"Obras de pedras"
German:"Mauerwerk"
}
"Must not be on plains":{
}
"Stonehenge":{
Italian:"Stonehenge"
@ -971,6 +974,9 @@
Portuguese:"Moinho de vento"
German:"Windmühle"
}
"Must not be on hill":{
}
"Museum":{
Italian:"Museo"

View File

@ -10,6 +10,7 @@ class Constants{
const val jungle = "Jungle"
const val hill = "Hill"
const val coast = "Coast"
const val plains = "Plains"
const val peaceTreaty = "Peace Treaty"
const val barbarianEncampment = "Barbarian encampment"
const val ancientRuins = "Ancient ruins"

View File

@ -151,7 +151,7 @@ class WorkerAutomation(val unit: MapUnit) {
tile.terrainFeature == "Marsh" -> "Remove Marsh"
tile.terrainFeature == Constants.forest -> "Lumber mill"
tile.baseTerrain == Constants.hill -> "Mine"
tile.baseTerrain in listOf("Grassland","Desert","Plains") -> "Farm"
tile.baseTerrain in listOf("Grassland","Desert",Constants.plains) -> "Farm"
tile.baseTerrain == "Tundra" -> "Trading post"
else -> throw Exception("No improvement found for "+tile.baseTerrain)
}

View File

@ -204,11 +204,11 @@ class CelluarAutomataRandomMapGenerator(): SeedRandomMapGenerator() {
if (terrain == "Grassland" || terrain == "Tundra")
terrain = "Desert"
} else if (abs(getLatitude(tile.position)) > maxLatitude * 0.7) {
if (terrain == "Grassland" || terrain == "Plains" || terrain == "Desert" || terrain == ocean) {
if (terrain == "Grassland" || terrain == Constants.plains || terrain == "Desert" || terrain == ocean) {
terrain = "Tundra"
}
} else {
if (terrain == "Tundra") terrain = "Plains"
if (terrain == "Tundra") terrain = Constants.plains
else if (terrain == "Desert") terrain = "Grassland"
}

View File

@ -228,6 +228,14 @@ class Building : NamedStats(), IConstruction{
&& !construction.cityInfo.getCenterTile().neighbors.any { it.baseTerrain == Constants.mountain })
return "Must be next to mountain"
if("Must not be on plains" in uniques
&& construction.cityInfo.getCenterTile().baseTerrain==Constants.plains)
return "Must not be on plains"
if("Must not be on hill" in uniques
&& construction.cityInfo.getCenterTile().baseTerrain==Constants.hill)
return "Must not be on hill"
if("Can only be built in coastal cities" in uniques
&& !construction.cityInfo.getCenterTile().neighbors.any { it.baseTerrain==Constants.coast })
return "Can only be built in coastal cities"