Custom improvements for water resources now moddable

This commit is contained in:
Yair Morgenstern
2021-03-25 10:46:45 +02:00
parent 5ac2ee19c7
commit eda9ceb140
2 changed files with 13 additions and 13 deletions

View File

@ -50,6 +50,7 @@
},
{
"name": "Oil well",
"terrainsCanBeBuiltOn": ["Coast"],
"turnsToBuild": 9,
"techRequired": "Biology"
},

View File

@ -83,19 +83,18 @@ object UnitActions {
fun getWaterImprovementAction(unit: MapUnit): UnitAction? {
val tile = unit.currentTile
for (improvement in listOf("Fishing Boats", "Oil well")) {
if (unit.hasUnique("May create improvements on water resources") && tile.resource != null
&& tile.isWater // because fishing boats can enter cities, and if there's oil in the city... ;)
&& tile.improvement == null
&& tile.getTileResource().improvement == improvement
&& unit.civInfo.tech.isResearched(unit.civInfo.gameInfo.ruleSet.tileImprovements[improvement]!!.techRequired!!)
)
return UnitAction(UnitActionType.Create, "Create [$improvement]",
action = {
tile.improvement = improvement
unit.destroy()
}.takeIf { unit.currentMovement > 0 })
}
if (!tile.isWater || !unit.hasUnique("May create improvements on water resources") || tile.resource == null) return null
val improvement = tile.getTileResource().improvement
if (tile.improvement == null
&& unit.civInfo.tech.isResearched(tile.ruleset.tileImprovements[improvement]!!.techRequired!!))
return UnitAction(UnitActionType.Create, "Create [$improvement]",
action = {
tile.improvement = improvement
unit.destroy()
}.takeIf { unit.currentMovement > 0 })
return null
}