mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-24 03:53:12 -04:00
Modding: before/after/while researching tech uniques accept techFilter
This commit is contained in:
parent
cb6d99ae20
commit
4919368c17
@ -146,9 +146,17 @@ object Conditionals {
|
|||||||
UniqueType.ConditionalReligionDisabled -> checkOnGameInfo { !isReligionEnabled() }
|
UniqueType.ConditionalReligionDisabled -> checkOnGameInfo { !isReligionEnabled() }
|
||||||
UniqueType.ConditionalEspionageEnabled -> checkOnGameInfo { isEspionageEnabled() }
|
UniqueType.ConditionalEspionageEnabled -> checkOnGameInfo { isEspionageEnabled() }
|
||||||
UniqueType.ConditionalEspionageDisabled -> checkOnGameInfo { !isEspionageEnabled() }
|
UniqueType.ConditionalEspionageDisabled -> checkOnGameInfo { !isEspionageEnabled() }
|
||||||
UniqueType.ConditionalTech -> checkOnCiv { tech.isResearched(conditional.params[0]) }
|
UniqueType.ConditionalTech -> checkOnCiv {
|
||||||
UniqueType.ConditionalNoTech -> checkOnCiv { !tech.isResearched(conditional.params[0]) }
|
val filter = conditional.params[0]
|
||||||
UniqueType.ConditionalWhileResearching -> checkOnCiv { tech.currentTechnologyName() == conditional.params[0] }
|
if (filter in gameInfo.ruleset.technologies) tech.isResearched(conditional.params[0]) // fast common case
|
||||||
|
else tech.researchedTechnologies.any { it.matchesFilter(filter) }
|
||||||
|
}
|
||||||
|
UniqueType.ConditionalNoTech -> checkOnCiv {
|
||||||
|
val filter = conditional.params[0]
|
||||||
|
if (filter in gameInfo.ruleset.technologies) !tech.isResearched(conditional.params[0]) // fast common case
|
||||||
|
else tech.researchedTechnologies.none { it.matchesFilter(filter) }
|
||||||
|
}
|
||||||
|
UniqueType.ConditionalWhileResearching -> checkOnCiv { tech.currentTechnology()?.matchesFilter(conditional.params[0]) == true }
|
||||||
|
|
||||||
UniqueType.ConditionalAfterPolicyOrBelief ->
|
UniqueType.ConditionalAfterPolicyOrBelief ->
|
||||||
checkOnCiv { policies.isAdopted(conditional.params[0]) || religionManager.religion?.hasBelief(conditional.params[0]) == true }
|
checkOnCiv { policies.isAdopted(conditional.params[0]) || religionManager.religion?.hasBelief(conditional.params[0]) == true }
|
||||||
|
@ -698,9 +698,9 @@ enum class UniqueType(
|
|||||||
ConditionalIfStartingInEra("if starting in the [era]", UniqueTarget.Conditional),
|
ConditionalIfStartingInEra("if starting in the [era]", UniqueTarget.Conditional),
|
||||||
|
|
||||||
ConditionalFirstCivToResearch("if no other Civilization has researched this", UniqueTarget.Conditional),
|
ConditionalFirstCivToResearch("if no other Civilization has researched this", UniqueTarget.Conditional),
|
||||||
ConditionalTech("after discovering [tech]", UniqueTarget.Conditional),
|
ConditionalTech("after discovering [techFilter]", UniqueTarget.Conditional),
|
||||||
ConditionalNoTech("before discovering [tech]", UniqueTarget.Conditional),
|
ConditionalNoTech("before discovering [techFilter]", UniqueTarget.Conditional),
|
||||||
ConditionalWhileResearching("while researching [tech]", UniqueTarget.Conditional,
|
ConditionalWhileResearching("while researching [techFilter]", UniqueTarget.Conditional,
|
||||||
docDescription = "This condition is fulfilled while the technology is actively being researched (it is the one research points are added to)"),
|
docDescription = "This condition is fulfilled while the technology is actively being researched (it is the one research points are added to)"),
|
||||||
|
|
||||||
ConditionalFirstCivToAdopt("if no other Civilization has adopted this", UniqueTarget.Conditional),
|
ConditionalFirstCivToAdopt("if no other Civilization has adopted this", UniqueTarget.Conditional),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user