mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-25 21:03:15 -04:00
Added uniques and deprecations for "Requires" and "Unlocked by" uniques - #6165
This commit is contained in:
parent
4ad9d58850
commit
09089cb60d
@ -1435,7 +1435,7 @@
|
||||
"requiredTech": "Nuclear Fission",
|
||||
"requiredResource": "Uranium",
|
||||
"promotions" : ["Evasion"],
|
||||
"uniques": ["Nuclear weapon of Strength [1]", "Requires [Manhattan Project]", "Self-destructs when attacking",
|
||||
"uniques": ["Nuclear weapon of Strength [1]", "Only available <if [Manhattan Project] is constructed>", "Self-destructs when attacking",
|
||||
"Blast radius [2]"],
|
||||
"attackSound": "nuke"
|
||||
// Plane rather than a missile - can be based in city or Carrier only.
|
||||
@ -1489,7 +1489,7 @@
|
||||
"range": 12,
|
||||
"cost": 1000,
|
||||
"requiredTech": "Advanced Ballistics",
|
||||
"uniques": ["Nuclear weapon of Strength [2]", "Requires [Manhattan Project]",
|
||||
"uniques": ["Nuclear weapon of Strength [2]", "Only available <if [Manhattan Project] is constructed>",
|
||||
"Blast radius [2]", "Consumes [2] [Uranium]"],
|
||||
"attackSound": "nuke"
|
||||
},
|
||||
@ -1685,7 +1685,7 @@
|
||||
"cost": 750,
|
||||
"requiredTech": "Advanced Ballistics",
|
||||
"requiredResource": "Aluminum",
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Requires [Apollo Program]", "Uncapturable", "Can be added to [The Spaceship] in the Capital", "Limited to [3] per Civilization"]
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Only available <if [Apollo Program] is constructed>", "Uncapturable", "Can be added to [The Spaceship] in the Capital", "Limited to [3] per Civilization"]
|
||||
// costs 1500 in BNW
|
||||
},
|
||||
{
|
||||
@ -1695,7 +1695,7 @@
|
||||
"cost": 750,
|
||||
"requiredTech": "Satellites",
|
||||
"requiredResource": "Aluminum",
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Requires [Apollo Program]", "Uncapturable", "Can be added to [The Spaceship] in the Capital", "Limited to [1] per Civilization"]
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Only available <if [Apollo Program] is constructed>", "Uncapturable", "Can be added to [The Spaceship] in the Capital", "Limited to [1] per Civilization"]
|
||||
// costs 1500 in BNW
|
||||
},
|
||||
{
|
||||
@ -1705,7 +1705,7 @@
|
||||
"cost": 750,
|
||||
"requiredTech": "Particle Physics",
|
||||
"requiredResource": "Aluminum",
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Requires [Apollo Program]", "Uncapturable", "Can be added to [The Spaceship] in the Capital", "Limited to [1] per Civilization"]
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Only available <if [Apollo Program] is constructed>", "Uncapturable", "Can be added to [The Spaceship] in the Capital", "Limited to [1] per Civilization"]
|
||||
// costs 1500 in BNW
|
||||
},
|
||||
{
|
||||
@ -1715,7 +1715,7 @@
|
||||
"cost": 750,
|
||||
"requiredTech": "Nanotechnology",
|
||||
"requiredResource": "Aluminum",
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Requires [Apollo Program]", "Uncapturable", "Can be added to [The Spaceship] in the Capital", "Limited to [1] per Civilization"]
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Only available <if [Apollo Program] is constructed>", "Uncapturable", "Can be added to [The Spaceship] in the Capital", "Limited to [1] per Civilization"]
|
||||
// costs 1500 in BNW
|
||||
}
|
||||
]
|
||||
|
@ -1111,7 +1111,7 @@
|
||||
"requiredTech": "Nuclear Fission",
|
||||
"requiredResource": "Uranium",
|
||||
"promotions" : ["Evasion"],
|
||||
"uniques": ["Nuclear weapon of Strength [1]", "Requires [Manhattan Project]", "Self-destructs when attacking",
|
||||
"uniques": ["Nuclear weapon of Strength [1]", "Only available <if [Manhattan Project] is constructed>", "Self-destructs when attacking",
|
||||
"Blast radius [2]"],
|
||||
"attackSound": "nuke"
|
||||
// Plane rather than a missile - can be based in city or Carrier only.
|
||||
@ -1165,7 +1165,7 @@
|
||||
"range": 12,
|
||||
"cost": 1000,
|
||||
"requiredTech": "Advanced Ballistics",
|
||||
"uniques": ["Nuclear weapon of Strength [2]", "Requires [Manhattan Project]",
|
||||
"uniques": ["Nuclear weapon of Strength [2]", "Only available <if [Manhattan Project] is constructed>",
|
||||
"Blast radius [2]", "Consumes [2] [Uranium]"],
|
||||
"attackSound": "nuke"
|
||||
},
|
||||
@ -1360,7 +1360,7 @@
|
||||
"cost": 500,
|
||||
"requiredTech": "Robotics",
|
||||
"requiredResource": "Aluminum",
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Requires [Apollo Program]", "Uncapturable", "Can be added to [The Spaceship] in the Capital"]
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Only available <if [Apollo Program] is constructed>", "Uncapturable", "Can be added to [The Spaceship] in the Capital"]
|
||||
// costs 1500 in BNW
|
||||
},
|
||||
{
|
||||
@ -1370,7 +1370,7 @@
|
||||
"cost": 750,
|
||||
"requiredTech": "Satellites",
|
||||
"requiredResource": "Aluminum",
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Requires [Apollo Program]", "Uncapturable", "Can be added to [The Spaceship] in the Capital"]
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Only available <if [Apollo Program] is constructed>", "Uncapturable", "Can be added to [The Spaceship] in the Capital"]
|
||||
// costs 1500 in BNW
|
||||
},
|
||||
{
|
||||
@ -1380,7 +1380,7 @@
|
||||
"cost": 750,
|
||||
"requiredTech": "Particle Physics",
|
||||
"requiredResource": "Aluminum",
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Requires [Apollo Program]", "Uncapturable", "Can be added to [The Spaceship] in the Capital"]
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Only available <if [Apollo Program] is constructed>", "Uncapturable", "Can be added to [The Spaceship] in the Capital"]
|
||||
// costs 1500 in BNW
|
||||
},
|
||||
{
|
||||
@ -1390,7 +1390,7 @@
|
||||
"cost": 750,
|
||||
"requiredTech": "Nanotechnology",
|
||||
"requiredResource": "Aluminum",
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Requires [Apollo Program]", "Uncapturable", "Can be added to [The Spaceship] in the Capital"]
|
||||
"uniques": ["Spaceship part", "Cannot be purchased", "Only available <if [Apollo Program] is constructed>", "Uncapturable", "Can be added to [The Spaceship] in the Capital"]
|
||||
// costs 1500 in BNW
|
||||
}
|
||||
]
|
||||
|
@ -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) ->
|
||||
|
@ -837,6 +837,21 @@ Example: "Obsolete with [Agriculture]"
|
||||
|
||||
Applicable to: Building, Improvement, Resource
|
||||
|
||||
#### Indicates the capital city
|
||||
Applicable to: Building
|
||||
|
||||
#### Provides 1 extra copy of each improved luxury resource near this City
|
||||
Applicable to: Building
|
||||
|
||||
#### Destroyed when the city is captured
|
||||
Applicable to: Building
|
||||
|
||||
#### Never destroyed when the city is captured
|
||||
Applicable to: Building
|
||||
|
||||
#### Doubles Gold given to enemy if city is captured
|
||||
Applicable to: Building
|
||||
|
||||
#### Remove extra unhappiness from annexed cities
|
||||
Applicable to: Building
|
||||
|
||||
@ -1237,6 +1252,9 @@ Applicable to: Improvement
|
||||
#### Indestructible
|
||||
Applicable to: Improvement
|
||||
|
||||
#### Irremovable
|
||||
Applicable to: Improvement
|
||||
|
||||
## Resource uniques
|
||||
#### Generated with weight [amount]
|
||||
Example: "Generated with weight [20]"
|
||||
@ -1634,6 +1652,8 @@ Applicable to: Conditional
|
||||
- "+50% attacking strength for cities with garrisoned units" - Deprecated Extremely old - used for auto-updates only, replace with "[+50]% Strength for cities <with a garrison> <when attacking>"
|
||||
- "Incompatible with [policy/tech/promotion]" - Deprecated as of 3.19.8, replace with "Only available <before adopting [policy/tech/promotion]>" OR "Only available <before discovering [policy/tech/promotion]>" OR "Only available <for units without [policy/tech/promotion]>"
|
||||
- "Not displayed as an available construction without [buildingName/tech/resource/policy]" - Deprecated as of 3.19.8, replace with "Only available <after adopting [buildingName/tech/resource/policy]>" OR "Only available <with [buildingName/tech/resource/policy]>" OR "Only available <if [buildingName/tech/resource/policy] is constructed>" OR "Only available <after discovering [buildingName/tech/resource/policy]>"
|
||||
- "Unlocked with [buildingName/tech/era/policy]" - Deprecated as of 3.19.12, replace with "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 [buildingName/tech/era/policy]" - Deprecated as of 3.19.12, replace with "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]>"
|
||||
- "Cannot be built with [buildingName]" - Deprecated as of 3.19.9, replace with "Only available <in cities without a [buildingName]>"
|
||||
- "Requires a [buildingName] in this city" - Deprecated as of 3.19.9, replace with "Only available <in cities with a [buildingName]>"
|
||||
- "[stats] with [resource]" - Deprecated as of 3.19.7, replace with "[stats] <with [resource]>"
|
||||
|
Loading…
x
Reference in New Issue
Block a user