modding: Added "on [difficulty] difficulty" conditional

This commit is contained in:
yairm210
2024-11-04 14:55:36 +02:00
parent ab15058008
commit 34c3abe74b
4 changed files with 6 additions and 0 deletions

View File

@ -138,6 +138,7 @@ object Conditionals {
UniqueType.ConditionalDuringEra -> compareEra(conditional.params[0]) { current, param -> current == param }
UniqueType.ConditionalIfStartingInEra -> checkOnGameInfo { gameParameters.startingEra == conditional.params[0] }
UniqueType.ConditionalSpeed -> checkOnGameInfo { gameParameters.speed == conditional.params[0] }
UniqueType.ConditionalDifficulty -> checkOnGameInfo { gameParameters.difficulty == conditional.params[0] }
UniqueType.ConditionalVictoryEnabled -> checkOnGameInfo { gameParameters.victoryTypes.contains(conditional.params[0]) }
UniqueType.ConditionalVictoryDisabled -> checkOnGameInfo { !gameParameters.victoryTypes.contains(conditional.params[0]) }
UniqueType.ConditionalReligionEnabled -> checkOnGameInfo { isReligionEnabled() }

View File

@ -100,6 +100,7 @@ interface IHasUniques : INamed {
UniqueType.ConditionalVictoryDisabled,
UniqueType.ConditionalVictoryEnabled,
UniqueType.ConditionalSpeed,
UniqueType.ConditionalDifficulty,
UniqueType.ConditionalReligionEnabled,
UniqueType.ConditionalReligionDisabled,
UniqueType.ConditionalEspionageEnabled,

View File

@ -426,6 +426,9 @@ enum class UniqueParameterType(
Speed("speed", "Quick", "The name of any speed") {
override fun getKnownValuesForAutocomplete(ruleset: Ruleset) = ruleset.speeds.keys
},
Difficulty("difficulty", "Prince", "The name of any difficulty") {
override fun getKnownValuesForAutocomplete(ruleset: Ruleset) = ruleset.difficulties.keys
},
/** For [UniqueType.CreatesOneImprovement] */
ImprovementName("improvementName", "Trading Post", "The name of any improvement excluding 'Cancel improvement order'") {

View File

@ -655,6 +655,7 @@ enum class UniqueType(
ConditionalBeforeTurns("before turn number [amount]", UniqueTarget.Conditional),
ConditionalAfterTurns("after turn number [amount]", UniqueTarget.Conditional),
ConditionalSpeed("on [speed] game speed", UniqueTarget.Conditional),
ConditionalDifficulty("on [difficulty] difficulty", UniqueTarget.Conditional),
ConditionalVictoryEnabled("when [victoryType] Victory is enabled", UniqueTarget.Conditional),
ConditionalVictoryDisabled("when [victoryType] Victory is disabled", UniqueTarget.Conditional),
ConditionalReligionEnabled("when religion is enabled", UniqueTarget.Conditional),