mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-09 23:39:40 +07:00
Fix golden age length action text (#9204)
Thanks SomeTroglodyte (https://github.com/yairm210/Unciv/issues/9166#issuecomment-1503593954)
This commit is contained in:
@ -34,12 +34,16 @@ class GoldenAgeManager : IsPartOfGameInfoSerialization {
|
|||||||
return cost.toInt()
|
return cost.toInt()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun enterGoldenAge(unmodifiedNumberOfTurns: Int = 10) {
|
fun calculateGoldenAgeLength(unmodifiedNumberOfTurns: Int): Int {
|
||||||
var turnsToGoldenAge = unmodifiedNumberOfTurns.toFloat()
|
var turnsToGoldenAge = unmodifiedNumberOfTurns.toFloat()
|
||||||
for (unique in civInfo.getMatchingUniques(UniqueType.GoldenAgeLength))
|
for (unique in civInfo.getMatchingUniques(UniqueType.GoldenAgeLength))
|
||||||
turnsToGoldenAge *= unique.params[0].toPercent()
|
turnsToGoldenAge *= unique.params[0].toPercent()
|
||||||
turnsToGoldenAge *= civInfo.gameInfo.speed.goldenAgeLengthModifier
|
turnsToGoldenAge *= civInfo.gameInfo.speed.goldenAgeLengthModifier
|
||||||
turnsLeftForCurrentGoldenAge += turnsToGoldenAge.toInt()
|
return turnsToGoldenAge.toInt()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun enterGoldenAge(unmodifiedNumberOfTurns: Int = 10) {
|
||||||
|
turnsLeftForCurrentGoldenAge += calculateGoldenAgeLength(unmodifiedNumberOfTurns)
|
||||||
civInfo.addNotification("You have entered a Golden Age!", NotificationCategory.General, "StatIcons/Happiness")
|
civInfo.addNotification("You have entered a Golden Age!", NotificationCategory.General, "StatIcons/Happiness")
|
||||||
civInfo.popupAlerts.add(PopupAlert(AlertType.GoldenAge, ""))
|
civInfo.popupAlerts.add(PopupAlert(AlertType.GoldenAge, ""))
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@ import com.unciv.models.ruleset.unique.Unique
|
|||||||
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.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
|
||||||
import com.unciv.ui.components.Fonts
|
import com.unciv.ui.components.Fonts
|
||||||
@ -675,9 +676,14 @@ object UnitActions {
|
|||||||
&& unique.conditionals.none { it.type == UniqueType.ConditionalTimedUnique }) continue
|
&& unique.conditionals.none { it.type == UniqueType.ConditionalTimedUnique }) continue
|
||||||
if (usagesLeft(unit, unique)==0) continue
|
if (usagesLeft(unit, unique)==0) continue
|
||||||
|
|
||||||
val unitAction = UnitAction(type = UnitActionType.TriggerUnique,
|
val baseTitle = if (unique.isOfType(UniqueType.OneTimeEnterGoldenAgeTurns))
|
||||||
title = actionTextWithSideEffects(unique.text.removeConditionals(), unique, unit)
|
unique.placeholderText.fillPlaceholders(
|
||||||
){
|
unit.civ.goldenAges.calculateGoldenAgeLength(
|
||||||
|
unique.params[0].toInt()).toString())
|
||||||
|
else unique.text.removeConditionals()
|
||||||
|
val title = actionTextWithSideEffects(baseTitle, unique, unit)
|
||||||
|
|
||||||
|
val unitAction = UnitAction(type = UnitActionType.TriggerUnique, title){
|
||||||
UniqueTriggerActivation.triggerUnitwideUnique(unique, unit)
|
UniqueTriggerActivation.triggerUnitwideUnique(unique, unit)
|
||||||
activateSideEffects(unit, unique)
|
activateSideEffects(unit, unique)
|
||||||
}
|
}
|
||||||
@ -758,7 +764,7 @@ object UnitActions {
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
fun actionTextWithSideEffects(originalText:String, actionUnique: Unique, unit: MapUnit): String {
|
fun actionTextWithSideEffects(originalText: String, actionUnique: Unique, unit: MapUnit): String {
|
||||||
val sideEffectString = getSideEffectString(unit, actionUnique)
|
val sideEffectString = getSideEffectString(unit, actionUnique)
|
||||||
if (sideEffectString == "") return originalText
|
if (sideEffectString == "") return originalText
|
||||||
else return "{$originalText} $sideEffectString"
|
else return "{$originalText} $sideEffectString"
|
||||||
|
Reference in New Issue
Block a user