mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-15 18:28:42 +07:00
"Create improvement" works on water improvements as well :)
This commit is contained in:
@ -359,6 +359,8 @@ object UnitActions {
|
|||||||
val finalActions = ArrayList<UnitAction>()
|
val finalActions = ArrayList<UnitAction>()
|
||||||
for (unique in unit.getMatchingUniques("Can construct []")) {
|
for (unique in unit.getMatchingUniques("Can construct []")) {
|
||||||
val improvementName = unique.params[0]
|
val improvementName = unique.params[0]
|
||||||
|
val improvement = tile.ruleset.tileImprovements[improvementName]
|
||||||
|
if (improvement == null) continue
|
||||||
finalActions += UnitAction(
|
finalActions += UnitAction(
|
||||||
type = UnitActionType.Create,
|
type = UnitActionType.Create,
|
||||||
title = "Create [$improvementName]",
|
title = "Create [$improvementName]",
|
||||||
@ -381,9 +383,8 @@ object UnitActions {
|
|||||||
addGoldPerGreatPersonUsage(unit.civInfo)
|
addGoldPerGreatPersonUsage(unit.civInfo)
|
||||||
unit.destroy()
|
unit.destroy()
|
||||||
}.takeIf {
|
}.takeIf {
|
||||||
unit.currentMovement > 0f && !tile.isWater &&
|
unit.currentMovement > 0f && tile.canBuildImprovement(improvement, unit.civInfo)
|
||||||
!tile.isCityCenter() && !tile.isImpassible() &&
|
&& !tile.isImpassible() && // Not 100% sure that this check is necessary...
|
||||||
tile.improvement != improvementName &&
|
|
||||||
// citadel can be built only next to or within own borders
|
// citadel can be built only next to or within own borders
|
||||||
(improvementName != Constants.citadel ||
|
(improvementName != Constants.citadel ||
|
||||||
tile.neighbors.any { it.getOwner() == unit.civInfo })
|
tile.neighbors.any { it.getOwner() == unit.civInfo })
|
||||||
|
Reference in New Issue
Block a user