diff --git a/core/src/com/unciv/logic/automation/city/ConstructionAutomation.kt b/core/src/com/unciv/logic/automation/city/ConstructionAutomation.kt index 14d284c2c5..ac22544ff8 100644 --- a/core/src/com/unciv/logic/automation/city/ConstructionAutomation.kt +++ b/core/src/com/unciv/logic/automation/city/ConstructionAutomation.kt @@ -313,7 +313,8 @@ class ConstructionAutomation(val cityConstructions: CityConstructions) { value += warModifier * building.cityHealth.toFloat() / city.getMaxHealth() * personality.inverseModifierFocus(PersonalityValue.Aggressive, .3f) value += warModifier * building.cityStrength.toFloat() / (city.getStrength() + 3) * personality.inverseModifierFocus(PersonalityValue.Aggressive, .3f) // The + 3 here is to reduce the priority of building walls immedietly - for (experienceUnique in building.getMatchingUniques(UniqueType.UnitStartingExperience, cityState)) { + for (experienceUnique in building.getMatchingUniques(UniqueType.UnitStartingExperience, cityState) + + building.getMatchingUniques(UniqueType.UnitStartingExperienceOld, cityState)) { var modifier = experienceUnique.params[1].toFloat() / 5 modifier *= if (cityIsOverAverageProduction) 1f else 0.2f // You shouldn't be cranking out units anytime soon modifier *= personality.modifierFocus(PersonalityValue.Military, 0.3f) diff --git a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt index a75a7b6a0e..cfd9c96553 100644 --- a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt +++ b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt @@ -183,7 +183,10 @@ enum class UniqueType( EnemyUnitsSpendExtraMovement("Enemy [mapUnitFilter] units must spend [amount] extra movement points when inside your territory", UniqueTarget.Global), /// Unit Abilities - UnitStartingExperience("New [baseUnitFilter] units start with [amount] Experience [cityFilter]", UniqueTarget.Global, UniqueTarget.FollowerBelief), + + UnitStartingExperience("New [baseUnitFilter] units start with [amount] XP [cityFilter]", UniqueTarget.Global, UniqueTarget.FollowerBelief), + @Deprecated("As of 4.15.11", ReplaceWith("New [baseUnitFilter] units start with [amount] XP [cityFilter]")) + UnitStartingExperienceOld("New [baseUnitFilter] units start with [amount] Experience [cityFilter]", UniqueTarget.Global, UniqueTarget.FollowerBelief), UnitStartingPromotions("All newly-trained [baseUnitFilter] units [cityFilter] receive the [promotion] promotion", UniqueTarget.Global, UniqueTarget.FollowerBelief), // Todo: Lowercase the 'U' of 'Units' in this unique CityHealingUnits("[mapUnitFilter] Units adjacent to this city heal [amount] HP per turn when healing", UniqueTarget.Global, UniqueTarget.FollowerBelief), diff --git a/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt b/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt index 7b97c647a4..88dddaa9a8 100644 --- a/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt +++ b/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt @@ -374,7 +374,7 @@ class BaseUnit : RulesetObject(), INonPerpetualConstruction { var XP = 0 for (unique in - cityConstructions.city.getMatchingUniques(UniqueType.UnitStartingExperience) + (cityConstructions.city.getMatchingUniques(UniqueType.UnitStartingExperience) + cityConstructions.city.getMatchingUniques(UniqueType.UnitStartingExperienceOld)) .filter { cityConstructions.city.matchesFilter(it.params[2]) } ) { if (unit.matchesFilter(unique.params[0]))