mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-14 01:39:40 +07:00
Added uniques and deprecations for "Requires" and "Unlocked by" uniques - #6165
This commit is contained in:
@ -538,7 +538,7 @@ class Building : RulesetStatsObject(), INonPerpetualConstruction {
|
||||
rejectionReasons.add(RejectionReason.RequiresTech.apply { "$requiredTech not researched!"})
|
||||
|
||||
for (unique in uniqueObjects) {
|
||||
if (unique.placeholderText != "Unlocked with []" && unique.placeholderText != "Requires []") continue
|
||||
if (unique.type != UniqueType.UnlockedWith && unique.type != UniqueType.Requires) continue
|
||||
val filter = unique.params[0]
|
||||
when {
|
||||
ruleSet.technologies.contains(filter) ->
|
||||
|
@ -317,6 +317,20 @@ enum class UniqueType(val text: String, vararg targets: UniqueTarget, val flags:
|
||||
" OR \"Only available <if [buildingName/tech/resource/policy] is constructed>\"" +
|
||||
" OR \"Only available <after discovering [buildingName/tech/resource/policy]>"))
|
||||
NotDisplayedWithout("Not displayed as an available construction without [buildingName/tech/resource/policy]", UniqueTarget.Building, UniqueTarget.Unit),
|
||||
|
||||
@Deprecated("as of 3.19.12", ReplaceWith("Only available <after adopting [buildingName/tech/era/policy]>\"" +
|
||||
" OR \"Only available <if [buildingName/tech/era/policy] is constructed>\"" +
|
||||
" OR \"Only available <starting from the [buildingName/tech/era/policy]>\"" +
|
||||
" OR \"Only available <after discovering [buildingName/tech/era/policy]>"))
|
||||
UnlockedWith("Unlocked with [buildingName/tech/era/policy]", UniqueTarget.Building, UniqueTarget.Unit),
|
||||
|
||||
|
||||
@Deprecated("as of 3.19.12", ReplaceWith("Only available <after adopting [buildingName/tech/era/policy]>\"" +
|
||||
" OR \"Only available <if [buildingName/tech/era/policy] is constructed>\"" +
|
||||
" OR \"Only available <starting from the [buildingName/tech/era/policy]>\"" +
|
||||
" OR \"Only available <after discovering [buildingName/tech/era/policy]>"))
|
||||
Requires("Requires [buildingName/tech/era/policy]", UniqueTarget.Building, UniqueTarget.Unit),
|
||||
|
||||
ConvertFoodToProductionWhenConstructed("Excess Food converted to Production when under construction", UniqueTarget.Building, UniqueTarget.Unit),
|
||||
RequiresPopulation("Requires at least [amount] population", UniqueTarget.Building, UniqueTarget.Unit),
|
||||
|
||||
|
@ -393,7 +393,8 @@ class BaseUnit : RulesetObject(), INonPerpetualConstruction {
|
||||
if (!civInfo.gameInfo.gameParameters.nuclearWeaponsEnabled && isNuclearWeapon())
|
||||
rejectionReasons.add(RejectionReason.DisabledBySetting)
|
||||
|
||||
for (unique in getMatchingUniques("Unlocked with []") + getMatchingUniques("Requires []")) {
|
||||
// This should be deprecated and replaced with the already-existing "only available when" unique, see above
|
||||
for (unique in getMatchingUniques(UniqueType.UnlockedWith) + getMatchingUniques(UniqueType.Requires)) {
|
||||
val filter = unique.params[0]
|
||||
when {
|
||||
ruleSet.technologies.contains(filter) ->
|
||||
|
Reference in New Issue
Block a user