Unify unit and civ triggers (#11011)

* Unify unit and civ triggers

* Update conditionalsApply check

* add tile in the city override

* Add StateForConditionals for unit uniques when founding a city

* Accidentally removed unit triggers from uponBuildingImprovement

* Accidentally removed parenthesis

* add "tile = tile" to improvement trigger's StateForContitionals

* Add unit's tile to default tile

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>

* Accidentally did getMatchingUniques instead of getTriggeredUniqued

* Merge triggerUnitWideUniques into TrigerUniques

* checkOnGameInfo Helper to shorten line length

* StateForConditionals secondary constructors

* accidentally deleted

* also accidentally deleted

---------

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
This commit is contained in:
SeventhM
2024-01-28 01:06:43 -08:00
committed by GitHub
parent 819541838c
commit d53766b7d7
25 changed files with 249 additions and 207 deletions

View File

@ -31,7 +31,7 @@ class UpgradeTests {
val civ = testGame.addCiv()
var unit1 = testGame.addUnit(testUnit.name, civ, testGame.getTile(Vector2.Zero))
val triggerUnique = Unique("This Unit upgrades for free including special upgrades")
UniqueTriggerActivation.triggerUnitwideUnique(triggerUnique, unit1)
UniqueTriggerActivation.triggerUnique(triggerUnique, unit1)
unit1 = testGame.getTile(Vector2.Zero).getFirstUnit()!!
Assert.assertTrue("Unit should upgrade to special unit, not warrior", unit1.baseUnit == unitToUpgradeTo)
@ -46,7 +46,7 @@ class UpgradeTests {
val civ = testGame.addCiv()
var unit1 = testGame.addUnit(testUnit.name, civ, testGame.getTile(Vector2.Zero))
val triggerUnique = Unique("This Unit upgrades for free including special upgrades")
UniqueTriggerActivation.triggerUnitwideUnique(triggerUnique, unit1)
UniqueTriggerActivation.triggerUnique(triggerUnique, unit1)
unit1 = testGame.getTile(Vector2.Zero).getFirstUnit()!!
Assert.assertTrue("Unit should upgrade to Warrior without unique", unit1.baseUnit.name == "Warrior")
@ -67,7 +67,7 @@ class UpgradeTests {
upgradeActions.any { (it as UpgradeUnitAction).unitToUpgradeTo == unitToUpgradeTo })
val triggerUnique = Unique("This Unit upgrades for free")
UniqueTriggerActivation.triggerUnitwideUnique(triggerUnique, unit1)
UniqueTriggerActivation.triggerUnique(triggerUnique, unit1)
unit1 = testGame.getTile(Vector2.Zero).getFirstUnit()!!
Assert.assertTrue(unit1.baseUnit.name == "Warrior")
@ -88,7 +88,7 @@ class UpgradeTests {
Assert.assertTrue(upgradeActions.count() == 2)
val triggerUnique = Unique("This Unit upgrades for free")
UniqueTriggerActivation.triggerUnitwideUnique(triggerUnique, unit1)
UniqueTriggerActivation.triggerUnique(triggerUnique, unit1)
unit1 = testGame.getTile(Vector2.Zero).getFirstUnit()!!
Assert.assertFalse(unit1.baseUnit == testUnit)