"for every [countable]" unique modifier (#11641)

* "for every [countable]" unique modifier

* detekt fix

* Test city-unique edge cases
This commit is contained in:
Yair Morgenstern
2024-05-27 12:32:12 +03:00
committed by GitHub
parent ba56374ee2
commit 11cee77fb9
10 changed files with 174 additions and 114 deletions

View File

@ -1,5 +1,7 @@
package com.unciv.uniques
import com.unciv.models.ruleset.unique.Unique
import com.unciv.models.ruleset.unique.UniqueTriggerActivation
import com.unciv.testing.GdxTestRunner
import com.unciv.testing.TestGame
import org.junit.Assert
@ -121,4 +123,16 @@ class ResourceTests {
city.cityConstructions.addBuilding(doubleStrategic)
Assert.assertTrue(civInfo.getCivResourcesByName()["Coal"] == 4)
}
@Test
fun testPerCountableForGlobalAndLocalResources() {
// one coal provided locally
val consumesCoal = game.createBuilding("Provides [1] [Coal]")
city.cityConstructions.addBuilding(consumesCoal)
// one globally
UniqueTriggerActivation.triggerUnique(Unique("Provides [1] [Coal] <for [2] turns>"), civInfo)
val providesFaithPerCoal = game.createBuilding("[+1 Faith] [in this city] <for every [Coal]>")
city.cityConstructions.addBuilding(providesFaithPerCoal)
Assert.assertEquals(2f, city.cityStats.currentCityStats.faith)
}
}