Added trigger conditional for capturing city

This commit is contained in:
Yair Morgenstern
2023-01-16 22:39:52 +02:00
parent a045114dc6
commit 7c52e25a1d
3 changed files with 10 additions and 2 deletions

View File

@ -92,7 +92,8 @@
"favouredReligion": "Taoism",
"uniqueName": "Art of War",
"uniques": ["Great General provides double combat bonus", "[Great General] is earned [50]% faster"],
"uniques": ["Great General provides double combat bonus", "[Great General] is earned [50]% faster",
"Gain [1000] [Faith] <upon entering the [Classical era]>"],
"cities": ["Beijing","Shanghai","Guangzhou","Nanjing","Xian","Chengdu","Hangzhou","Tianjin","Macau","Shandong",
"Kaifeng","Ningbo","Baoding","Yangzhou","Harbin","Chongqing","Luoyang","Kunming","Taipei","Shenyang",
"Taiyuan","Tainan","Dalian","Lijiang","Wuxi","Suzhou","Maoming","Shaoguan","Yangjiang","Heyuan","Huangshi",

View File

@ -22,6 +22,7 @@ import com.unciv.models.UnitActionType
import com.unciv.models.helpers.UnitMovementMemoryType
import com.unciv.models.ruleset.unique.StateForConditionals
import com.unciv.models.ruleset.unique.Unique
import com.unciv.models.ruleset.unique.UniqueTriggerActivation
import com.unciv.models.ruleset.unique.UniqueType
import com.unciv.models.stats.Stat
import com.unciv.models.stats.Stats
@ -523,7 +524,6 @@ object Battle {
private fun conquerCity(city: CityInfo, attacker: MapUnitCombatant) {
val attackerCiv = attacker.getCivInfo()
attackerCiv.addNotification("We have conquered the city of [${city.name}]!", city.location, NotificationCategory.War, NotificationIcon.War)
city.hasJustBeenConquered = true
@ -559,6 +559,11 @@ object Battle {
if (attackerCiv.isCurrentPlayer())
UncivGame.Current.settings.addCompletedTutorialTask("Conquer a city")
for (unique in attackerCiv.getTriggeredUniques(UniqueType.TriggerUponConqueringCity,
StateForConditionals(attackerCiv, city, attacker.unit, attackedTile = city.getCenterTile() )
))
UniqueTriggerActivation.triggerCivwideUnique(unique, attackerCiv)
}
fun getMapCombatantOfTile(tile: TileInfo): ICombatant? {

View File

@ -704,6 +704,8 @@ enum class UniqueType(val text: String, vararg targets: UniqueTarget, val flags:
TriggerUponAdoptingPolicy("upon adopting [policy]", UniqueTarget.TriggerCondition),
TriggerUponDeclaringWar("upon declaring war", UniqueTarget.TriggerCondition),
TriggerUponEnteringGoldenAge("upon entering a Golden Age", UniqueTarget.TriggerCondition),
TriggerUponConqueringCity("upon conquering a city", UniqueTarget.TriggerCondition),
//endregion
///////////////////////////////////////////// region META /////////////////////////////////////////////