mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-27 22:06:05 -04:00
Removed many "proxy functions" from civInfo to cityStateFunctions
This commit is contained in:
parent
7169458943
commit
234b1b1741
@ -235,7 +235,7 @@ object GameStarter {
|
||||
|
||||
val cityStateName = availableCityStatesNames.pop()
|
||||
val civ = CivilizationInfo(cityStateName)
|
||||
if (civ.initCityState(ruleset, newGameParameters.startingEra, availableCivNames)) {
|
||||
if (civ.cityStateFunctions.initCityState(ruleset, newGameParameters.startingEra, availableCivNames)) {
|
||||
gameInfo.civilizations.add(civ)
|
||||
addedCityStates++
|
||||
}
|
||||
|
@ -49,8 +49,8 @@ object NextTurnAutomation {
|
||||
adoptPolicy(civInfo) // todo can take a second - why?
|
||||
freeUpSpaceResources(civInfo)
|
||||
} else {
|
||||
civInfo.getFreeTechForCityState()
|
||||
civInfo.updateDiplomaticRelationshipForCityState()
|
||||
civInfo.cityStateFunctions.getFreeTechForCityState()
|
||||
civInfo.cityStateFunctions.updateDiplomaticRelationshipForCityState()
|
||||
}
|
||||
|
||||
chooseTechToResearch(civInfo)
|
||||
@ -237,8 +237,8 @@ object NextTurnAutomation {
|
||||
private fun useGold(civInfo: CivilizationInfo) {
|
||||
if (civInfo.getHappiness() > 0 && civInfo.hasUnique(UniqueType.CityStateCanBeBoughtForGold)) {
|
||||
for (cityState in civInfo.getKnownCivs().filter { it.isCityState() } ) {
|
||||
if (cityState.canBeMarriedBy(civInfo))
|
||||
cityState.diplomaticMarriage(civInfo)
|
||||
if (cityState.cityStateFunctions.canBeMarriedBy(civInfo))
|
||||
cityState.cityStateFunctions.diplomaticMarriage(civInfo)
|
||||
if (civInfo.getHappiness() <= 0) break // Stop marrying if happiness is getting too low
|
||||
}
|
||||
}
|
||||
@ -344,9 +344,9 @@ object NextTurnAutomation {
|
||||
&& valueCityStateAlliance(civInfo, state) <= 0
|
||||
&& state.getTributeWillingness(civInfo) >= 0) {
|
||||
if (state.getTributeWillingness(civInfo, demandingWorker = true) > 0)
|
||||
state.tributeWorker(civInfo)
|
||||
state.cityStateFunctions.tributeWorker(civInfo)
|
||||
else
|
||||
state.tributeGold(civInfo)
|
||||
state.cityStateFunctions.tributeGold(civInfo)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -172,7 +172,7 @@ object Battle {
|
||||
if (defeatedUnit.matchesCategory("Barbarian") && defeatedUnit.matchesCategory("Military") && civUnit.getCivInfo().isMajorCiv()) {
|
||||
for (cityState in UncivGame.Current.gameInfo.getAliveCityStates()) {
|
||||
if (civUnit.getCivInfo().knows(cityState) && defeatedUnit.unit.threatensCiv(cityState)) {
|
||||
cityState.threateningBarbarianKilledBy(civUnit.getCivInfo())
|
||||
cityState.cityStateFunctions.threateningBarbarianKilledBy(civUnit.getCivInfo())
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -540,7 +540,7 @@ object Battle {
|
||||
fun destroyIfDefeated(attackedCiv: CivilizationInfo, attacker: CivilizationInfo) {
|
||||
if (attackedCiv.isDefeated()) {
|
||||
if (attackedCiv.isCityState())
|
||||
attackedCiv.cityStateDestroyed(attacker)
|
||||
attackedCiv.cityStateFunctions.cityStateDestroyed(attacker)
|
||||
attackedCiv.destroy()
|
||||
attacker.popupAlerts.add(PopupAlert(AlertType.Defeated, attackedCiv.civName))
|
||||
}
|
||||
|
@ -778,6 +778,8 @@ class CivilizationInfo {
|
||||
for (unit in getCivUnits()) unit.startTurn()
|
||||
hasMovedAutomatedUnits = false
|
||||
|
||||
updateDetailedCivResources() // If you offered a trade last turn, this turn it will have been accepted/declined
|
||||
|
||||
for (tradeRequest in tradeRequests.toList()) { // remove trade requests where one of the sides can no longer supply
|
||||
val offeringCiv = gameInfo.getCivilization(tradeRequest.requestingCiv)
|
||||
if (offeringCiv.isDefeated() || !TradeEvaluation().isTradeValid(tradeRequest.trade, this, offeringCiv)) {
|
||||
@ -786,7 +788,6 @@ class CivilizationInfo {
|
||||
offeringCiv.addNotification("Our proposed trade is no longer relevant!", NotificationIcon.Trade)
|
||||
}
|
||||
}
|
||||
updateDetailedCivResources() // If you offered a trade last turn, this turn it will have been accepted/declined
|
||||
}
|
||||
|
||||
fun endTurn() {
|
||||
@ -856,7 +857,7 @@ class CivilizationInfo {
|
||||
&& cityStateAllies.any { it.cities.isNotEmpty() }
|
||||
) {
|
||||
val givingCityState = getKnownCivs().filter { it.isCityState() && it.getAllyCiv() == civName && it.cities.isNotEmpty()}.random()
|
||||
givingCityState.giveGreatPersonToPatron(this)
|
||||
givingCityState.cityStateFunctions.giveGreatPersonToPatron(this)
|
||||
flagsCountdown[flag] = turnsForGreatPersonFromCityState()
|
||||
}
|
||||
|
||||
@ -1116,17 +1117,15 @@ class CivilizationInfo {
|
||||
}
|
||||
|
||||
// Check if different continents (unless already max distance, or water map)
|
||||
if (connections > 0 && proximity != Proximity.Distant
|
||||
&& !gameInfo.tileMap.isWaterMap()) {
|
||||
|
||||
if (getCapital().getCenterTile().getContinent() != otherCiv.getCapital().getCenterTile().getContinent()) {
|
||||
// Different continents - increase separation by one step
|
||||
proximity = when (proximity) {
|
||||
Proximity.Far -> Proximity.Distant
|
||||
Proximity.Close -> Proximity.Far
|
||||
Proximity.Neighbors -> Proximity.Close
|
||||
else -> proximity
|
||||
}
|
||||
if (connections > 0 && proximity != Proximity.Distant && !gameInfo.tileMap.isWaterMap()
|
||||
&& getCapital().getCenterTile().getContinent() != otherCiv.getCapital().getCenterTile().getContinent()
|
||||
) {
|
||||
// Different continents - increase separation by one step
|
||||
proximity = when (proximity) {
|
||||
Proximity.Far -> Proximity.Distant
|
||||
Proximity.Close -> Proximity.Far
|
||||
Proximity.Neighbors -> Proximity.Close
|
||||
else -> proximity
|
||||
}
|
||||
}
|
||||
|
||||
@ -1144,71 +1143,26 @@ class CivilizationInfo {
|
||||
|
||||
//////////////////////// City State wrapper functions ////////////////////////
|
||||
|
||||
fun initCityState(ruleset: Ruleset, startingEra: String, unusedMajorCivs: Collection<String>)
|
||||
= cityStateFunctions.initCityState(ruleset, startingEra, unusedMajorCivs)
|
||||
/** Gain a random great person from the city state */
|
||||
private fun giveGreatPersonToPatron(receivingCiv: CivilizationInfo) {
|
||||
cityStateFunctions.giveGreatPersonToPatron(receivingCiv)
|
||||
}
|
||||
fun giveMilitaryUnitToPatron(receivingCiv: CivilizationInfo) {
|
||||
cityStateFunctions.giveMilitaryUnitToPatron(receivingCiv)
|
||||
}
|
||||
fun influenceGainedByGift(donorCiv: CivilizationInfo, giftAmount: Int)
|
||||
= cityStateFunctions.influenceGainedByGift(donorCiv, giftAmount)
|
||||
fun receiveGoldGift(donorCiv: CivilizationInfo, giftAmount: Int) {
|
||||
fun receiveGoldGift(donorCiv: CivilizationInfo, giftAmount: Int) =
|
||||
cityStateFunctions.receiveGoldGift(donorCiv, giftAmount)
|
||||
}
|
||||
fun turnsForGreatPersonFromCityState(): Int = ((37 + Random().nextInt(7)) * gameInfo.gameParameters.gameSpeed.modifier).toInt()
|
||||
fun turnsForGreatPersonFromCityState(): Int = ((37 + Random().nextInt(7)) * gameInfo.gameParameters.gameSpeed.modifier).toInt()
|
||||
|
||||
fun getProtectorCivs() = cityStateFunctions.getProtectorCivs()
|
||||
fun addProtectorCiv(otherCiv: CivilizationInfo) {
|
||||
cityStateFunctions.addProtectorCiv(otherCiv)
|
||||
}
|
||||
fun removeProtectorCiv(otherCiv: CivilizationInfo, forced: Boolean = false) {
|
||||
fun addProtectorCiv(otherCiv: CivilizationInfo) = cityStateFunctions.addProtectorCiv(otherCiv)
|
||||
fun removeProtectorCiv(otherCiv: CivilizationInfo, forced: Boolean = false) =
|
||||
cityStateFunctions.removeProtectorCiv(otherCiv, forced)
|
||||
}
|
||||
fun otherCivCanPledgeProtection(otherCiv: CivilizationInfo) = cityStateFunctions.otherCivCanPledgeProtection(otherCiv)
|
||||
fun otherCivCanWithdrawProtection(otherCiv: CivilizationInfo) = cityStateFunctions.otherCivCanWithdrawProtection(otherCiv)
|
||||
fun updateAllyCivForCityState() {
|
||||
cityStateFunctions.updateAllyCivForCityState()
|
||||
}
|
||||
fun getDiplomaticMarriageCost() = cityStateFunctions.getDiplomaticMarriageCost()
|
||||
fun canBeMarriedBy(otherCiv: CivilizationInfo) = cityStateFunctions.canBeMarriedBy(otherCiv)
|
||||
fun diplomaticMarriage(otherCiv: CivilizationInfo) {
|
||||
cityStateFunctions.diplomaticMarriage(otherCiv)
|
||||
}
|
||||
|
||||
fun updateAllyCivForCityState() = cityStateFunctions.updateAllyCivForCityState()
|
||||
fun getTributeWillingness(demandingCiv: CivilizationInfo, demandingWorker: Boolean = false)
|
||||
= cityStateFunctions.getTributeWillingness(demandingCiv, demandingWorker)
|
||||
fun getTributeModifiers(demandingCiv: CivilizationInfo, demandingWorker: Boolean = false, requireWholeList: Boolean = false)
|
||||
= cityStateFunctions.getTributeModifiers(demandingCiv, demandingWorker, requireWholeList)
|
||||
fun goldGainedByTribute() = cityStateFunctions.goldGainedByTribute()
|
||||
fun tributeGold(demandingCiv: CivilizationInfo) {
|
||||
cityStateFunctions.tributeGold(demandingCiv)
|
||||
}
|
||||
fun tributeWorker(demandingCiv: CivilizationInfo) {
|
||||
cityStateFunctions.tributeWorker(demandingCiv)
|
||||
}
|
||||
fun canGiveStat(statType: Stat) = cityStateFunctions.canGiveStat(statType)
|
||||
fun updateDiplomaticRelationshipForCityState() {
|
||||
cityStateFunctions.updateDiplomaticRelationshipForCityState()
|
||||
}
|
||||
fun getFreeTechForCityState() {
|
||||
cityStateFunctions.getFreeTechForCityState()
|
||||
}
|
||||
fun getNumThreateningBarbarians() = cityStateFunctions.getNumThreateningBarbarians()
|
||||
fun threateningBarbarianKilledBy(otherCiv: CivilizationInfo) {
|
||||
cityStateFunctions.threateningBarbarianKilledBy(otherCiv)
|
||||
}
|
||||
|
||||
fun getAllyCiv() = allyCivName
|
||||
fun setAllyCiv(newAllyName: String?) { allyCivName = newAllyName }
|
||||
|
||||
fun cityStateAttacked(attacker: CivilizationInfo) {
|
||||
cityStateFunctions.cityStateAttacked(attacker)
|
||||
}
|
||||
fun cityStateDestroyed(attacker: CivilizationInfo) {
|
||||
cityStateFunctions.cityStateDestroyed(attacker)
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
fun asPreview() = CivilizationInfoPreview(this)
|
||||
|
@ -218,7 +218,7 @@ class QuestManager {
|
||||
|
||||
private fun tryBarbarianInvasion() {
|
||||
if ((civInfo.getTurnsTillCallForBarbHelp() == null || civInfo.getTurnsTillCallForBarbHelp() == 0)
|
||||
&& civInfo.getNumThreateningBarbarians() >= 2) {
|
||||
&& civInfo.cityStateFunctions.getNumThreateningBarbarians() >= 2) {
|
||||
|
||||
for (otherCiv in civInfo.getKnownCivs().filter {
|
||||
it.isMajorCiv()
|
||||
|
@ -524,7 +524,7 @@ class DiplomacyManager() {
|
||||
if (civInfo.cities.isEmpty() || otherCiv().cities.isEmpty())
|
||||
continue@loop
|
||||
else
|
||||
otherCiv().giveMilitaryUnitToPatron(civInfo)
|
||||
otherCiv().cityStateFunctions.giveMilitaryUnitToPatron(civInfo)
|
||||
}
|
||||
DiplomacyFlags.AgreedToNotSettleNearUs.name -> {
|
||||
addModifier(DiplomaticModifiers.FulfilledPromiseToNotSettleCitiesNearUs, 10f)
|
||||
@ -674,7 +674,7 @@ class DiplomacyManager() {
|
||||
if (otherCiv.isCityState()) {
|
||||
otherCivDiplomacy.setInfluence(-60f)
|
||||
civInfo.changeMinorCivsAttacked(1)
|
||||
otherCiv.cityStateAttacked(civInfo)
|
||||
otherCiv.cityStateFunctions.cityStateAttacked(civInfo)
|
||||
}
|
||||
|
||||
for (thirdCiv in civInfo.getKnownCivs()) {
|
||||
|
@ -418,15 +418,15 @@ class DiplomacyScreen(val viewingCiv:CivilizationInfo): BaseScreen() {
|
||||
return null
|
||||
|
||||
val diplomaticMarriageButton =
|
||||
"Diplomatic Marriage ([${otherCiv.getDiplomaticMarriageCost()}] Gold)".toTextButton()
|
||||
"Diplomatic Marriage ([${otherCiv.cityStateFunctions.getDiplomaticMarriageCost()}] Gold)".toTextButton()
|
||||
diplomaticMarriageButton.onClick {
|
||||
val newCities = otherCiv.cities
|
||||
otherCiv.diplomaticMarriage(viewingCiv)
|
||||
otherCiv.cityStateFunctions.diplomaticMarriage(viewingCiv)
|
||||
UncivGame.Current.setWorldScreen() // The other civ will no longer exist
|
||||
for (city in newCities)
|
||||
viewingCiv.popupAlerts.add(PopupAlert(AlertType.DiplomaticMarriage, city.id)) // Player gets to choose between annex and puppet
|
||||
}
|
||||
if (isNotPlayersTurn() || !otherCiv.canBeMarriedBy(viewingCiv)) diplomaticMarriageButton.disable()
|
||||
if (isNotPlayersTurn() || !otherCiv.cityStateFunctions.canBeMarriedBy(viewingCiv)) diplomaticMarriageButton.disable()
|
||||
return diplomaticMarriageButton
|
||||
}
|
||||
|
||||
@ -435,7 +435,7 @@ class DiplomacyScreen(val viewingCiv:CivilizationInfo): BaseScreen() {
|
||||
diplomacyTable.addSeparator()
|
||||
|
||||
for (giftAmount in listOf(250, 500, 1000)) {
|
||||
val influenceAmount = otherCiv.influenceGainedByGift(viewingCiv, giftAmount)
|
||||
val influenceAmount = otherCiv.cityStateFunctions.influenceGainedByGift(viewingCiv, giftAmount)
|
||||
val giftButton =
|
||||
"Gift [$giftAmount] gold (+[$influenceAmount] influence)".toTextButton()
|
||||
giftButton.onClick {
|
||||
@ -505,7 +505,7 @@ class DiplomacyScreen(val viewingCiv:CivilizationInfo): BaseScreen() {
|
||||
diplomacyTable.addSeparator()
|
||||
diplomacyTable.add("Tribute Willingness".toLabel()).row()
|
||||
val modifierTable = Table()
|
||||
val tributeModifiers = otherCiv.getTributeModifiers(viewingCiv, requireWholeList = true)
|
||||
val tributeModifiers = otherCiv.cityStateFunctions.getTributeModifiers(viewingCiv, requireWholeList = true)
|
||||
for (item in tributeModifiers) {
|
||||
val color = if (item.value >= 0) Color.GREEN else Color.RED
|
||||
modifierTable.add(item.key.toLabel(color))
|
||||
@ -517,9 +517,9 @@ class DiplomacyScreen(val viewingCiv:CivilizationInfo): BaseScreen() {
|
||||
diplomacyTable.add("At least 0 to take gold, at least 30 and size 4 city for worker".toLabel()).row()
|
||||
diplomacyTable.addSeparator()
|
||||
|
||||
val demandGoldButton = "Take [${otherCiv.goldGainedByTribute()}] gold (-15 Influence)".toTextButton()
|
||||
val demandGoldButton = "Take [${otherCiv.cityStateFunctions.goldGainedByTribute()}] gold (-15 Influence)".toTextButton()
|
||||
demandGoldButton.onClick {
|
||||
otherCiv.tributeGold(viewingCiv)
|
||||
otherCiv.cityStateFunctions.tributeGold(viewingCiv)
|
||||
rightSideTable.clear()
|
||||
rightSideTable.add(ScrollPane(getCityStateDiplomacyTable(otherCiv)))
|
||||
}
|
||||
@ -528,7 +528,7 @@ class DiplomacyScreen(val viewingCiv:CivilizationInfo): BaseScreen() {
|
||||
|
||||
val demandWorkerButton = "Take worker (-50 Influence)".toTextButton()
|
||||
demandWorkerButton.onClick {
|
||||
otherCiv.tributeWorker(viewingCiv)
|
||||
otherCiv.cityStateFunctions.tributeWorker(viewingCiv)
|
||||
rightSideTable.clear()
|
||||
rightSideTable.add(ScrollPane(getCityStateDiplomacyTable(otherCiv)))
|
||||
}
|
||||
|
@ -963,26 +963,15 @@ Example: "Heal this unit by [20] HP"
|
||||
Applicable to: Promotion
|
||||
|
||||
## Deprecated uniques
|
||||
- "[stats] if this city has at least [amount] specialists" - Deprecated As of 3.16.16 - removed 3.17.11, replace with "[stats] <if this city has at least [amount] specialists>"
|
||||
- "[stats] from every specialist" - Deprecated As of 3.16.16 - removed 3.17.11, replace with "[stats] from every specialist [in all cities]"
|
||||
- "+[amount]% [stat] [cityFilter]" - Deprecated As of 3.17.10, replace with "[+amount]% [stat] [cityFilter]"
|
||||
- "+[amount]% [stat] in all cities" - Deprecated As of 3.17.10, replace with "[+amount]% [stat] [in all cities]"
|
||||
- "[amount]% [stat] while the empire is happy" - Deprecated As of 3.17.1, replace with "[amount]% [stat] [in all cities] <while the empire is happy>"
|
||||
- "+[amount]% Production when constructing [stat] buildings" - Deprecated As of 3.17.10 - removed 3.18.5, replace with "[amount]% Production when constructing [buildingFilter] buildings [cityFilter]"
|
||||
- "+[amount]% Production when constructing [constructionFilter]" - Deprecated As of 3.17.10 - removed 3.18.5, replace with "[amount]% Production when constructing [buildingFilter] buildings [cityFilter]"
|
||||
- "+[amount]% Production when constructing a [buildingName]" - Deprecated As of 3.17.10 - removed 3.18.5, replace with "[amount]% Production when constructing [buildingFilter] buildings [cityFilter]"
|
||||
- "+[amount]% Production when constructing [constructionFilter] [cityFilter]" - Deprecated As of 3.17.10 - removed 3.18.5, replace with "[amount]% Production when constructing [buildingFilter] buildings [cityFilter]"
|
||||
- "+[amount]% Production when constructing [baseUnitFilter] units [cityFilter]" - Deprecated As of 3.17.10 - removed 3.18.5, replace with "[+amount]% Production when constructing [baseUnitFilter] units [cityFilter]"
|
||||
- "Unhappiness from population decreased by [amount]%" - Deprecated As of 3.16.11 - removed 3.17.11, replace with "[amount]% unhappiness from population [cityFilter]"
|
||||
- "Unhappiness from population decreased by [amount]% [cityFilter]" - Deprecated As of 3.16.11 - removed 3.17.11, replace with "[amount]% unhappiness from population [cityFilter]"
|
||||
- "-[amount]% [mapUnitFilter] unit maintenance costs" - Deprecated As of 3.16.16 - removed as of 3.17.11, replace with "[amount]% maintenance costs for [mapUnitFilter] units"
|
||||
- "-[amount]% unit upkeep costs" - Deprecated As of 3.16.16 - removed 3.17.11, replace with "[amount]% maintenance costs for [mapUnitFilter] units"
|
||||
- "+[amount]% growth [cityFilter]" - Deprecated As of 3.16.14 - removed 3.17.11, replace with "[amount]% growth [cityFilter]"
|
||||
- "+[amount]% growth [cityFilter] when not at war" - Deprecated As of 3.16.14 - removed 3.17.11, replace with "[amount]% growth [cityFilter] <when not at war>"
|
||||
- "Provides a free [buildingName] [cityFilter]" - Deprecated As of 3.17.7, replace with "Gain a free [buildingName] [cityFilter]"
|
||||
- "-[amount]% food consumption by specialists [cityFilter]" - Deprecated As of 3.18.2, replace with "[-amount]% food consumption by specialists [cityFilter]"
|
||||
- "50% of excess happiness added to culture towards policies" - Deprecated As of 3.18.2, replace with "[50]% of excess happiness converted to [Culture]"
|
||||
- "May buy [baseUnitFilter] units for [amount] [stat] [cityFilter] starting from the [era] at an increasing price ([amount])" - Deprecated As of 3.17.9, replace with "May buy [baseUnitFilter] units for [amount] [stat] [cityFilter] at an increasing price ([amount]) <starting from the [era]>"
|
||||
- "Immediately creates the cheapest available cultural building in each of your first [amount] cities for free" - Deprecated As of 3.16.15 - removed 3.18.4, replace with "Provides the cheapest [stat] building in your first [amount] cities for free"
|
||||
- "Immediately creates a [buildingName] in each of your first [amount] cities for free" - Deprecated As of 3.16.15 - removed 3.18.4, replace with "Provides a [buildingName] in your first [amount] cities for free"
|
||||
- "[mapUnitFilter] units deal +[amount]% damage" - Deprecated As of 3.17.5 - removed 3.18.5, replace with "[amount]% Strength <for [mapUnitFilter] units>"
|
||||
- "+10% Strength for all units during Golden Age" - Deprecated As of 3.17.5 - removed 3.18.5, replace with "[+10]% Strength <for [All] units> <during a Golden Age>"
|
||||
- "[amount]% Strength for [mapUnitFilter] units in [tileFilter]" - Deprecated As of 3.17.5 - removed 3.18.5, replace with "[amount]% Strength <for [mapUnitFilter] units> <when fighting in [tileFilter] tiles>"
|
||||
@ -993,10 +982,24 @@ Applicable to: Promotion
|
||||
- "+1 Movement for all units during Golden Age" - Deprecated As of 3.17.5 - removed 3.18.5, replace with "[amount] Movement <for [All] units> <during a Golden Age>"
|
||||
- "[amount] Sight for all [mapUnitFilter] units" - Deprecated As of 3.17.5 - removed 3.18.5, replace with "[amount] Sight <for [mapUnitFilter] units>"
|
||||
- "[amount]% Spread Religion Strength for [mapUnitFilter] units" - Deprecated As of 3.17.5 - removed 3.18.5, replace with "[amount]% Spread Religion Strength <for [mapUnitFilter] units>"
|
||||
- "Immediately creates the cheapest available cultural building in each of your first [amount] cities for free" - Deprecated As of 3.16.15 - removed 3.18.4, replace with "Provides the cheapest [stat] building in your first [amount] cities for free"
|
||||
- "Immediately creates a [buildingName] in each of your first [amount] cities for free" - Deprecated As of 3.16.15 - removed 3.18.4, replace with "Provides a [buildingName] in your first [amount] cities for free"
|
||||
- "Unhappiness from population decreased by [amount]%" - Deprecated As of 3.16.11 - removed 3.17.11, replace with "[amount]% unhappiness from population [cityFilter]"
|
||||
- "Unhappiness from population decreased by [amount]% [cityFilter]" - Deprecated As of 3.16.11 - removed 3.17.11, replace with "[amount]% unhappiness from population [cityFilter]"
|
||||
- "+[amount]% Production when constructing [baseUnitFilter] units [cityFilter]" - Deprecated As of 3.17.10 - removed 3.18.5, replace with "[+amount]% Production when constructing [baseUnitFilter] units [cityFilter]"
|
||||
- "+[amount]% growth [cityFilter]" - Deprecated As of 3.16.14 - removed 3.17.11, replace with "[amount]% growth [cityFilter]"
|
||||
- "+[amount]% growth [cityFilter] when not at war" - Deprecated As of 3.16.14 - removed 3.17.11, replace with "[amount]% growth [cityFilter] <when not at war>"
|
||||
- "-[amount]% [mapUnitFilter] unit maintenance costs" - Deprecated As of 3.16.16 - removed as of 3.17.11, replace with "[amount]% maintenance costs for [mapUnitFilter] units"
|
||||
- "-[amount]% unit upkeep costs" - Deprecated As of 3.16.16 - removed 3.17.11, replace with "[amount]% maintenance costs for [mapUnitFilter] units"
|
||||
- "+[amount]% Production when constructing [stat] buildings" - Deprecated As of 3.17.10 - removed 3.18.5, replace with "[amount]% Production when constructing [buildingFilter] buildings [cityFilter]"
|
||||
- "+[amount]% Production when constructing [constructionFilter]" - Deprecated As of 3.17.10 - removed 3.18.5, replace with "[amount]% Production when constructing [buildingFilter] buildings [cityFilter]"
|
||||
- "+[amount]% Production when constructing a [buildingName]" - Deprecated As of 3.17.10 - removed 3.18.5, replace with "[amount]% Production when constructing [buildingFilter] buildings [cityFilter]"
|
||||
- "+[amount]% Production when constructing [constructionFilter] [cityFilter]" - Deprecated As of 3.17.10 - removed 3.18.5, replace with "[amount]% Production when constructing [buildingFilter] buildings [cityFilter]"
|
||||
- "[stats] from every specialist" - Deprecated As of 3.16.16 - removed 3.17.11, replace with "[stats] from every specialist [in all cities]"
|
||||
- "[stats] if this city has at least [amount] specialists" - Deprecated As of 3.16.16 - removed 3.17.11, replace with "[stats] <if this city has at least [amount] specialists>"
|
||||
- "Not displayed as an available construction unless [buildingName] is built" - Deprecated As of 3.16.11, replace with "Not displayed as an available construction without [buildingName]"
|
||||
- "[stats] once [tech] is discovered" - Deprecated As of 3.17.10, replace with "[stats] <after discovering [tech]>"
|
||||
- "Double movement in coast" - Deprecated As of 3.17.1 - removed 3.17.13, replace with "Double movement in [terrainFilter]"
|
||||
- "Double movement rate through Forest and Jungle" - Deprecated As of 3.17.1 - removed 3.17.13, replace with "Double movement in [terrainFilter]"
|
||||
- "Double movement in Snow, Tundra and Hills" - Deprecated As of 3.17.1 - removed 3.17.13, replace with "Double movement in [terrainFilter]"
|
||||
- "+[amount]% Strength" - Deprecated As of 3.17.3 - removed 3.17.13, replace with "[amount]% Strength"
|
||||
- "-[amount]% Strength" - Deprecated As of 3.17.3 - removed 3.17.13, replace with "[amount]% Strength"
|
||||
- "+[amount]% Strength vs [combatantFilter]" - Deprecated As of 3.17.3 - removed 3.17.13, replace with "[amount]% Strength <vs [mapUnitFilter] units>/<vs cities>"
|
||||
@ -1009,8 +1012,5 @@ Applicable to: Promotion
|
||||
- "+[amount]% Strength in [tileFilter]" - Deprecated As of 3.17.5 - removed 3.18.5, replace with "[amount]% Strength <when fighting in [tileFilter] tiles>"
|
||||
- "[amount] Visibility Range" - Deprecated As of 3.17.5 - removed 3.18.5, replace with "[amount] Sight"
|
||||
- "Limited Visibility" - Deprecated As of 3.17.5 - removed 3.18.5, replace with "[-1] Sight"
|
||||
- "Double movement in coast" - Deprecated As of 3.17.1 - removed 3.17.13, replace with "Double movement in [terrainFilter]"
|
||||
- "Double movement rate through Forest and Jungle" - Deprecated As of 3.17.1 - removed 3.17.13, replace with "Double movement in [terrainFilter]"
|
||||
- "Double movement in Snow, Tundra and Hills" - Deprecated As of 3.17.1 - removed 3.17.13, replace with "Double movement in [terrainFilter]"
|
||||
- "[stats] on [tileFilter] tiles once [tech] is discovered" - Deprecated As of 3.17.10, replace with "[stats] from [tileFilter] tiles <after discovering [tech]>"
|
||||
- "Deal 30 damage to adjacent enemy units" - Deprecated As of 3.17.10, replace with "Adjacent enemy units ending their turn take [30] damage"
|
Loading…
x
Reference in New Issue
Block a user