Fix conditionals for trigger upon declaring friendship running twice (#9601)

This commit is contained in:
SomeTroglodyte 2023-06-18 17:15:40 +02:00 committed by GitHub
parent 123a51a6ef
commit fa68b8746e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -12,6 +12,7 @@ import com.unciv.logic.trade.Trade
import com.unciv.logic.trade.TradeOffer
import com.unciv.logic.trade.TradeType
import com.unciv.models.ruleset.tile.ResourceSupplyList
import com.unciv.models.ruleset.unique.StateForConditionals
import com.unciv.models.ruleset.unique.UniqueTriggerActivation
import com.unciv.models.ruleset.unique.UniqueType
import com.unciv.ui.components.extensions.toPercent
@ -905,9 +906,11 @@ class DiplomacyManager() : IsPartOfGameInfoSerialization {
thirdCiv.getDiplomacyManager(civInfo).setFriendshipBasedModifier()
}
for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponDeclaringFriendship))
// Ignore contitionals as triggerCivwideUnique will check again, and that would break
// UniqueType.ConditionalChance - 25% declared chance would work as 6% actual chance
for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponDeclaringFriendship, StateForConditionals.IgnoreConditionals))
UniqueTriggerActivation.triggerCivwideUnique(unique, civInfo)
for (unique in otherCiv().getTriggeredUniques(UniqueType.TriggerUponDeclaringFriendship))
for (unique in otherCiv().getTriggeredUniques(UniqueType.TriggerUponDeclaringFriendship, StateForConditionals.IgnoreConditionals))
UniqueTriggerActivation.triggerCivwideUnique(unique, otherCiv())
}