mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-09 15:29:32 +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()
|
||||
}
|
||||
|
||||
fun enterGoldenAge(unmodifiedNumberOfTurns: Int = 10) {
|
||||
fun calculateGoldenAgeLength(unmodifiedNumberOfTurns: Int): Int {
|
||||
var turnsToGoldenAge = unmodifiedNumberOfTurns.toFloat()
|
||||
for (unique in civInfo.getMatchingUniques(UniqueType.GoldenAgeLength))
|
||||
turnsToGoldenAge *= unique.params[0].toPercent()
|
||||
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.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.UniqueTriggerActivation
|
||||
import com.unciv.models.ruleset.unique.UniqueType
|
||||
import com.unciv.models.translations.fillPlaceholders
|
||||
import com.unciv.models.translations.removeConditionals
|
||||
import com.unciv.models.translations.tr
|
||||
import com.unciv.ui.components.Fonts
|
||||
@ -675,9 +676,14 @@ object UnitActions {
|
||||
&& unique.conditionals.none { it.type == UniqueType.ConditionalTimedUnique }) continue
|
||||
if (usagesLeft(unit, unique)==0) continue
|
||||
|
||||
val unitAction = UnitAction(type = UnitActionType.TriggerUnique,
|
||||
title = actionTextWithSideEffects(unique.text.removeConditionals(), unique, unit)
|
||||
){
|
||||
val baseTitle = if (unique.isOfType(UniqueType.OneTimeEnterGoldenAgeTurns))
|
||||
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)
|
||||
activateSideEffects(unit, unique)
|
||||
}
|
||||
@ -758,7 +764,7 @@ object UnitActions {
|
||||
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)
|
||||
if (sideEffectString == "") return originalText
|
||||
else return "{$originalText} $sideEffectString"
|
||||
|
Reference in New Issue
Block a user