mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-25 21:03:15 -04:00
Fix gain stat modifier by speed unique action text (#11046)
* Fix gain stat modifier by speed unique action text * Whoops, should be toInt toString * I can't escape forgetting imports * OneTimeGainStatRange also uses modifiers
This commit is contained in:
parent
da5a1d1a9e
commit
277ec5e2a5
@ -17,6 +17,7 @@ import com.unciv.models.ruleset.unique.StateForConditionals
|
|||||||
import com.unciv.models.ruleset.unique.UniqueTarget
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.ruleset.unique.UniqueTriggerActivation
|
import com.unciv.models.ruleset.unique.UniqueTriggerActivation
|
||||||
import com.unciv.models.ruleset.unique.UniqueType
|
import com.unciv.models.ruleset.unique.UniqueType
|
||||||
|
import com.unciv.models.stats.Stat
|
||||||
import com.unciv.models.translations.fillPlaceholders
|
import com.unciv.models.translations.fillPlaceholders
|
||||||
import com.unciv.models.translations.removeConditionals
|
import com.unciv.models.translations.removeConditionals
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
@ -170,11 +171,32 @@ object UnitActionsFromUniques {
|
|||||||
if (!unique.conditionalsApply(StateForConditionals(civInfo = unit.civ, unit = unit, tile = unit.currentTile))) continue
|
if (!unique.conditionalsApply(StateForConditionals(civInfo = unit.civ, unit = unit, tile = unit.currentTile))) continue
|
||||||
if (!UnitActionModifiers.canUse(unit, unique)) continue
|
if (!UnitActionModifiers.canUse(unit, unique)) continue
|
||||||
|
|
||||||
val baseTitle = if (unique.type == UniqueType.OneTimeEnterGoldenAgeTurns)
|
val baseTitle = when (unique.type) {
|
||||||
unique.placeholderText.fillPlaceholders(
|
UniqueType.OneTimeEnterGoldenAgeTurns -> {
|
||||||
unit.civ.goldenAges.calculateGoldenAgeLength(
|
unique.placeholderText.fillPlaceholders(
|
||||||
unique.params[0].toInt()).toString())
|
unit.civ.goldenAges.calculateGoldenAgeLength(
|
||||||
else unique.text.removeConditionals()
|
unique.params[0].toInt()).toString())
|
||||||
|
}
|
||||||
|
UniqueType.OneTimeGainStatSpeed -> {
|
||||||
|
val stat = unique.params[1]
|
||||||
|
val modifier = unit.civ.gameInfo.speed.statCostModifiers[Stat.safeValueOf(stat)]
|
||||||
|
?: unit.civ.gameInfo.speed.modifier
|
||||||
|
UniqueType.OneTimeGainStat.placeholderText.fillPlaceholders(
|
||||||
|
(unique.params[0].toInt() * modifier).toInt().toString(), stat
|
||||||
|
)
|
||||||
|
}
|
||||||
|
UniqueType.OneTimeGainStatRange -> {
|
||||||
|
val stat = unique.params[2]
|
||||||
|
val modifier = unit.civ.gameInfo.speed.statCostModifiers[Stat.safeValueOf(stat)]
|
||||||
|
?: unit.civ.gameInfo.speed.modifier
|
||||||
|
unique.placeholderText.fillPlaceholders(
|
||||||
|
(unique.params[0].toInt() * modifier).toInt().toString(),
|
||||||
|
(unique.params[1].toInt() * modifier).toInt().toString(),
|
||||||
|
stat
|
||||||
|
)
|
||||||
|
}
|
||||||
|
else -> unique.text.removeConditionals()
|
||||||
|
}
|
||||||
val title = UnitActionModifiers.actionTextWithSideEffects(baseTitle, unique, unit)
|
val title = UnitActionModifiers.actionTextWithSideEffects(baseTitle, unique, unit)
|
||||||
|
|
||||||
yield(UnitAction(UnitActionType.TriggerUnique, title) {
|
yield(UnitAction(UnitActionType.TriggerUnique, title) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user