mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-12 00:39:56 +07:00
Custom improvements for water resources now moddable
This commit is contained in:
@ -50,6 +50,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Oil well",
|
"name": "Oil well",
|
||||||
|
"terrainsCanBeBuiltOn": ["Coast"],
|
||||||
"turnsToBuild": 9,
|
"turnsToBuild": 9,
|
||||||
"techRequired": "Biology"
|
"techRequired": "Biology"
|
||||||
},
|
},
|
||||||
|
@ -83,19 +83,18 @@ object UnitActions {
|
|||||||
|
|
||||||
fun getWaterImprovementAction(unit: MapUnit): UnitAction? {
|
fun getWaterImprovementAction(unit: MapUnit): UnitAction? {
|
||||||
val tile = unit.currentTile
|
val tile = unit.currentTile
|
||||||
for (improvement in listOf("Fishing Boats", "Oil well")) {
|
if (!tile.isWater || !unit.hasUnique("May create improvements on water resources") || tile.resource == null) return null
|
||||||
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... ;)
|
val improvement = tile.getTileResource().improvement
|
||||||
&& tile.improvement == null
|
|
||||||
&& tile.getTileResource().improvement == improvement
|
if (tile.improvement == null
|
||||||
&& unit.civInfo.tech.isResearched(unit.civInfo.gameInfo.ruleSet.tileImprovements[improvement]!!.techRequired!!)
|
&& unit.civInfo.tech.isResearched(tile.ruleset.tileImprovements[improvement]!!.techRequired!!))
|
||||||
)
|
return UnitAction(UnitActionType.Create, "Create [$improvement]",
|
||||||
return UnitAction(UnitActionType.Create, "Create [$improvement]",
|
action = {
|
||||||
action = {
|
tile.improvement = improvement
|
||||||
tile.improvement = improvement
|
unit.destroy()
|
||||||
unit.destroy()
|
}.takeIf { unit.currentMovement > 0 })
|
||||||
}.takeIf { unit.currentMovement > 0 })
|
|
||||||
}
|
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user