Unique autodocs ++

This commit is contained in:
yairm210 2021-11-22 21:59:35 +02:00
parent 92fd72d895
commit 1b0eaa8a71
2 changed files with 223 additions and 1 deletions

View File

@ -6,13 +6,27 @@ import java.io.File
class UniqueDocsWriter {
fun toLink(string: String): String {
return "#" + string.split(' ').map { it.lowercase() }.joinToString("-")
return "#" + string.split(' ').joinToString("-") { it.lowercase() }
}
fun write() {
val lines = ArrayList<String>()
val targetTypesToUniques = UniqueType.values().groupBy { it.targetTypes.first() }
fun replaceExamples(text:String):String {
return text.replace("[amount]", "[20]")
.replace("[stat]", "[Culture]")
.replace("[stats]", "[+1 Gold, +2 Production]")
.replace("[cityFilter]", "[in all cities]")
.replace("[buildingName]", "[Library]")
.replace("[tileFilter]", "[Farm]")
.replace("[terrainFilter]", "[Grassland]")
.replace("[baseUnitFilter]", "[Melee]")
.replace("[mapUnitFilter]", "[Wounded]")
.replace("[resource]", "[Iron]")
.replace("[beliefType]", "[Follower]")
}
lines += "## Table of Contents\n"
for (targetType in targetTypesToUniques) {
val sectionName = targetType.key.name + " uniques"
@ -22,6 +36,7 @@ class UniqueDocsWriter {
lines += ""
val deprecatedUniques = ArrayList<UniqueType>()
for (targetType in targetTypesToUniques) {
lines += "## " + targetType.key.name + " uniques"
@ -35,6 +50,7 @@ class UniqueDocsWriter {
}
lines += "#### " + uniqueType.text
lines += "Example: \"${replaceExamples(uniqueType.text)}\""
lines += "Applicable to: " + uniqueType.targetTypes.joinToString()
lines += ""
}

View File

@ -15,631 +15,837 @@
## Global uniques
#### [stats]
Example: "[+1 Gold, +2 Production]"
Applicable to: Global, FollowerBelief, Improvement
#### [stats] [cityFilter]
Example: "[+1 Gold, +2 Production] [in all cities]"
Applicable to: Global
#### [stats] from every specialist [cityFilter]
Example: "[+1 Gold, +2 Production] from every specialist [in all cities]"
Applicable to: Global
#### [stats] per [amount] population [cityFilter]
Example: "[+1 Gold, +2 Production] per [20] population [in all cities]"
Applicable to: Global
#### [stats] in cities with [amount] or more population
Example: "[+1 Gold, +2 Production] in cities with [20] or more population"
Applicable to: Global, FollowerBelief
#### [stats] in cities on [terrainFilter] tiles
Example: "[+1 Gold, +2 Production] in cities on [Grassland] tiles"
Applicable to: Global, FollowerBelief
#### [stats] per turn from cities before [tech/policy]
Example: "[+1 Gold, +2 Production] per turn from cities before [tech/policy]"
Applicable to: Global
#### [stats] whenever a Great Person is expended
Example: "[+1 Gold, +2 Production] whenever a Great Person is expended"
Applicable to: Global
#### [stats] from [tileFilter] tiles [cityFilter]
Example: "[+1 Gold, +2 Production] from [Farm] tiles [in all cities]"
Applicable to: Global
#### [stats] from [tileFilter] tiles without [tileFilter] [cityFilter]
Example: "[+1 Gold, +2 Production] from [Farm] tiles without [Farm] [in all cities]"
Applicable to: Global, FollowerBelief
#### [stats] from every [tileFilter/specialist/buildingName]
Example: "[+1 Gold, +2 Production] from every [tileFilter/specialist/buildingName]"
Applicable to: Global, FollowerBelief
#### [amount]% [stat]
Example: "[20]% [Culture]"
Applicable to: Global
#### [amount]% [stat] from City-States
Example: "[20]% [Culture] from City-States"
Applicable to: Global
#### [amount]% [stat] [cityFilter]
Example: "[20]% [Culture] [in all cities]"
Applicable to: Global
#### [amount]% [stat] from every follower, up to [amount]%
Example: "[20]% [Culture] from every follower, up to [20]%"
Applicable to: Global, FollowerBelief
#### [amount]% Production when constructing [buildingFilter] wonders [cityFilter]
Example: "[20]% Production when constructing [buildingFilter] wonders [in all cities]"
Applicable to: Global, Resource, FollowerBelief
#### [amount]% Production when constructing [buildingFilter] buildings [cityFilter]
Example: "[20]% Production when constructing [buildingFilter] buildings [in all cities]"
Applicable to: Global
#### [amount]% Production when constructing [baseUnitFilter] units [cityFilter]
Example: "[20]% Production when constructing [Melee] units [in all cities]"
Applicable to: Global
#### [amount]% unhappiness from population [cityFilter]
Example: "[20]% unhappiness from population [in all cities]"
Applicable to: Global
#### Military Units gifted from City-States start with [amount] XP
Example: "Military Units gifted from City-States start with [20] XP"
Applicable to: Global
#### Gifts of Gold to City-States generate [amount]% more Influence
Example: "Gifts of Gold to City-States generate [20]% more Influence"
Applicable to: Global
#### Can spend Gold to annex or puppet a City-State that has been your ally for [amount] turns.
Example: "Can spend Gold to annex or puppet a City-State that has been your ally for [20] turns."
Applicable to: Global
#### City-State territory always counts as friendly territory
Example: "City-State territory always counts as friendly territory"
Applicable to: Global
#### Allied City-States will occasionally gift Great People
Example: "Allied City-States will occasionally gift Great People"
Applicable to: Global
#### [amount] units cost no maintenance
Example: "[20] units cost no maintenance"
Applicable to: Global
#### [amount]% maintenance costs for [mapUnitFilter] units
Example: "[20]% maintenance costs for [Wounded] units"
Applicable to: Global
#### [amount]% growth [cityFilter]
Example: "[20]% growth [in all cities]"
Applicable to: Global, FollowerBelief
#### Gain a free [buildingName] [cityFilter]
Example: "Gain a free [Library] [in all cities]"
Applicable to: Global
#### May choose [amount] additional [beliefType] beliefs when [foundingOrEnhancing] a religion
Example: "May choose [20] additional [Follower] beliefs when [foundingOrEnhancing] a religion"
Applicable to: Global
#### May choose [amount] additional belief(s) of any type when [foundingOrEnhancing] a religion
Example: "May choose [20] additional belief(s) of any type when [foundingOrEnhancing] a religion"
Applicable to: Global
#### [amount]% food consumption by specialists [cityFilter]
Example: "[20]% food consumption by specialists [in all cities]"
Applicable to: Global
#### [amount]% of excess happiness converted to [stat]
Example: "[20]% of excess happiness converted to [Culture]"
Applicable to: Global
#### May buy [baseUnitFilter] units for [amount] [stat] [cityFilter] at an increasing price ([amount])
Example: "May buy [Melee] units for [20] [Culture] [in all cities] at an increasing price ([20])"
Applicable to: Global
#### May buy [buildingFilter] buildings for [amount] [stat] [cityFilter] at an increasing price ([amount])
Example: "May buy [buildingFilter] buildings for [20] [Culture] [in all cities] at an increasing price ([20])"
Applicable to: Global
#### May buy [baseUnitFilter] units for [amount] [stat] [cityFilter]
Example: "May buy [Melee] units for [20] [Culture] [in all cities]"
Applicable to: Global, FollowerBelief
#### May buy [buildingFilter] buildings for [amount] [stat] [cityFilter]
Example: "May buy [buildingFilter] buildings for [20] [Culture] [in all cities]"
Applicable to: Global, FollowerBelief
#### May buy [baseUnitFilter] units with [stat] [cityFilter]
Example: "May buy [Melee] units with [Culture] [in all cities]"
Applicable to: Global, FollowerBelief
#### May buy [buildingFilter] buildings with [stat] [cityFilter]
Example: "May buy [buildingFilter] buildings with [Culture] [in all cities]"
Applicable to: Global, FollowerBelief
#### May buy [baseUnitFilter] units with [stat] for [amount] times their normal Production cost
Example: "May buy [Melee] units with [Culture] for [20] times their normal Production cost"
Applicable to: Global, FollowerBelief
#### May buy [buildingFilter] buildings with [stat] for [amount] times their normal Production cost
Example: "May buy [buildingFilter] buildings with [Culture] for [20] times their normal Production cost"
Applicable to: Global, FollowerBelief
#### [amount]% Strength
Example: "[20]% Strength"
Applicable to: Global, Unit
#### [amount] Movement
Example: "[20] Movement"
Applicable to: Global, Unit
#### [amount] Sight
Example: "[20] Sight"
Applicable to: Global, Unit
#### [amount]% Spread Religion Strength
Example: "[20]% Spread Religion Strength"
Applicable to: Global, Unit
#### Normal vision when embarked
Example: "Normal vision when embarked"
Applicable to: Global, Unit
#### Free [baseUnitFilter] appears
Example: "Free [Melee] appears"
Applicable to: Global
#### [amount] free [baseUnitFilter] units appear
Example: "[20] free [Melee] units appear"
Applicable to: Global
#### Free Social Policy
Example: "Free Social Policy"
Applicable to: Global
#### [amount] Free Social Policies
Example: "[20] Free Social Policies"
Applicable to: Global
#### Empire enters golden age
Example: "Empire enters golden age"
Applicable to: Global
#### Free Great Person
Example: "Free Great Person"
Applicable to: Global
#### [amount] population [cityFilter]
Example: "[20] population [in all cities]"
Applicable to: Global
#### Free Technology
Example: "Free Technology"
Applicable to: Global
#### [amount] Free Technologies
Example: "[20] Free Technologies"
Applicable to: Global
#### Reveals the entire map
Example: "Reveals the entire map"
Applicable to: Global
#### Triggers voting for the Diplomatic Victory
Example: "Triggers voting for the Diplomatic Victory"
Applicable to: Global
#### This Unit upgrades for free
Example: "This Unit upgrades for free"
Applicable to: Global
#### This Unit gains the [promotion] promotion
Example: "This Unit gains the [promotion] promotion"
Applicable to: Global
#### [mapUnitFilter] units gain the [promotion] promotion
Example: "[Wounded] units gain the [promotion] promotion"
Applicable to: Global
#### Quantity of strategic resources produced by the empire +[amount]%
Example: "Quantity of strategic resources produced by the empire +[20]%"
Applicable to: Global
#### +[amount]% attack strength to all [mapUnitFilter] Units for [amount] turns
Example: "+[20]% attack strength to all [Wounded] Units for [20] turns"
Applicable to: Global
#### Provides the cheapest [stat] building in your first [amount] cities for free
Example: "Provides the cheapest [Culture] building in your first [20] cities for free"
Applicable to: Global
#### Provides a [buildingName] in your first [amount] cities for free
Example: "Provides a [Library] in your first [20] cities for free"
Applicable to: Global
## Building uniques
#### Remove extra unhappiness from annexed cities
Example: "Remove extra unhappiness from annexed cities"
Applicable to: Building
#### Consumes [amount] [resource]
Example: "Consumes [20] [Iron]"
Applicable to: Building, Unit, Improvement
#### Provides [amount] [resource]
Example: "Provides [20] [Iron]"
Applicable to: Building, Improvement
#### Unbuildable
Example: "Unbuildable"
Applicable to: Building, Unit
#### Cannot be purchased
Example: "Cannot be purchased"
Applicable to: Building, Unit
#### Can be purchased with [stat] [cityFilter]
Example: "Can be purchased with [Culture] [in all cities]"
Applicable to: Building, Unit
#### Can be purchased for [amount] [stat] [cityFilter]
Example: "Can be purchased for [20] [Culture] [in all cities]"
Applicable to: Building, Unit
#### Cost increases by [amount] per owned city
Example: "Cost increases by [20] per owned city"
Applicable to: Building
#### Cannot be built with [buildingName]
Example: "Cannot be built with [Library]"
Applicable to: Building
#### Requires a [buildingName] in this city
Example: "Requires a [Library] in this city"
Applicable to: Building
#### Not displayed as an available construction without [buildingName/tech/resource/policy]
Example: "Not displayed as an available construction without [buildingName/tech/resource/policy]"
Applicable to: Building, Unit
#### Must be on [terrainFilter]
Example: "Must be on [Grassland]"
Applicable to: Building
#### Must not be on [terrainFilter]
Example: "Must not be on [Grassland]"
Applicable to: Building
#### Must be next to [terrainFilter]
Example: "Must be next to [Grassland]"
Applicable to: Building
#### Must not be next to [terrainFilter]
Example: "Must not be next to [Grassland]"
Applicable to: Building
## CityState uniques
#### Provides [stats] per turn
Example: "Provides [+1 Gold, +2 Production] per turn"
Applicable to: CityState
#### Provides [stats] [cityFilter] per turn
Example: "Provides [+1 Gold, +2 Production] [in all cities] per turn"
Applicable to: CityState
#### Provides [amount] Happiness
Example: "Provides [20] Happiness"
Applicable to: CityState
#### Provides military units every ≈[amount] turns
Example: "Provides military units every ≈[20] turns"
Applicable to: CityState
#### Provides a unique luxury
Example: "Provides a unique luxury"
Applicable to: CityState
## Nation uniques
#### Will not be chosen for new games
Example: "Will not be chosen for new games"
Applicable to: Nation
#### Receive a free Great Person at the end of every [comment] (every 394 years), after researching [tech]. Each bonus person can only be chosen once.
Example: "Receive a free Great Person at the end of every [comment] (every 394 years), after researching [tech]. Each bonus person can only be chosen once."
Applicable to: Nation
#### Once The Long Count activates, the year on the world screen displays as the traditional Mayan Long Count.
Example: "Once The Long Count activates, the year on the world screen displays as the traditional Mayan Long Count."
Applicable to: Nation
## Unit uniques
#### Founds a new city
Example: "Founds a new city"
Applicable to: Unit
#### Can build [improvementFilter/terrainFilter] improvements on tiles
Example: "Can build [improvementFilter/terrainFilter] improvements on tiles"
Applicable to: Unit
#### May create improvements on water resources
Example: "May create improvements on water resources"
Applicable to: Unit
#### Can see invisible [mapUnitFilter] units
Example: "Can see invisible [Wounded] units"
Applicable to: Unit
#### [amount]% Strength decreasing with distance from the capital
Example: "[20]% Strength decreasing with distance from the capital"
Applicable to: Unit
#### May found a religion
Example: "May found a religion"
Applicable to: Unit
#### May enhance a religion
Example: "May enhance a religion"
Applicable to: Unit
#### Cannot attack
Example: "Cannot attack"
Applicable to: Unit
#### Must set up to ranged attack
Example: "Must set up to ranged attack"
Applicable to: Unit
#### Blast radius [amount]
Example: "Blast radius [20]"
Applicable to: Unit
#### Can carry [amount] [mapUnitFilter] units
Example: "Can carry [20] [Wounded] units"
Applicable to: Unit
#### Can carry [amount] extra [mapUnitFilter] units
Example: "Can carry [20] extra [Wounded] units"
Applicable to: Unit
#### Cannot be carried by [mapUnitFilter] units
Example: "Cannot be carried by [Wounded] units"
Applicable to: Unit
#### [amount]% maintenance costs
Example: "[20]% maintenance costs"
Applicable to: Unit
#### Double movement in [terrainFilter]
Example: "Double movement in [Grassland]"
Applicable to: Unit
#### All tiles cost 1 movement
Example: "All tiles cost 1 movement"
Applicable to: Unit
#### Can pass through impassable tiles
Example: "Can pass through impassable tiles"
Applicable to: Unit
#### Ignores terrain cost
Example: "Ignores terrain cost"
Applicable to: Unit
#### Ignores Zone of Control
Example: "Ignores Zone of Control"
Applicable to: Unit
#### Rough terrain penalty
Example: "Rough terrain penalty"
Applicable to: Unit
#### Can enter ice tiles
Example: "Can enter ice tiles"
Applicable to: Unit
#### Cannot enter ocean tiles
Example: "Cannot enter ocean tiles"
Applicable to: Unit
#### Cannot enter ocean tiles until Astronomy
Example: "Cannot enter ocean tiles until Astronomy"
Applicable to: Unit
#### Never appears as a Barbarian unit
Example: "Never appears as a Barbarian unit"
Applicable to: Unit
## Terrain uniques
#### Must be adjacent to [amount] [simpleTerrain] tiles
Example: "Must be adjacent to [20] [simpleTerrain] tiles"
Applicable to: Terrain
#### Must be adjacent to [amount] to [amount] [simpleTerrain] tiles
Example: "Must be adjacent to [20] to [20] [simpleTerrain] tiles"
Applicable to: Terrain
#### Must not be on [amount] largest landmasses
Example: "Must not be on [20] largest landmasses"
Applicable to: Terrain
#### Must be on [amount] largest landmasses
Example: "Must be on [20] largest landmasses"
Applicable to: Terrain
#### Occurs on latitudes from [amount] to [amount] percent of distance equator to pole
Example: "Occurs on latitudes from [20] to [20] percent of distance equator to pole"
Applicable to: Terrain
#### Occurs in groups of [amount] to [amount] tiles
Example: "Occurs in groups of [20] to [20] tiles"
Applicable to: Terrain
#### Neighboring tiles will convert to [baseTerrain]
Example: "Neighboring tiles will convert to [baseTerrain]"
Applicable to: Terrain
#### Neighboring tiles except [baseTerrain] will convert to [baseTerrain]
Example: "Neighboring tiles except [baseTerrain] will convert to [baseTerrain]"
Applicable to: Terrain
#### Units ending their turn on this terrain take [amount] damage
Example: "Units ending their turn on this terrain take [20] damage"
Applicable to: Terrain
#### Grants [promotion] ([comment]) to adjacent [mapUnitFilter] units for the rest of the game
Example: "Grants [promotion] ([comment]) to adjacent [Wounded] units for the rest of the game"
Applicable to: Terrain
#### [amount] Strength for cities built on this terrain
Example: "[20] Strength for cities built on this terrain"
Applicable to: Terrain
#### Provides a one-time Production bonus to the closest city when cut down
Example: "Provides a one-time Production bonus to the closest city when cut down"
Applicable to: Terrain
#### Tile provides yield without assigned population
Example: "Tile provides yield without assigned population"
Applicable to: Terrain, Improvement
#### Nullifies all other stats this tile provides
Example: "Nullifies all other stats this tile provides"
Applicable to: Terrain
#### Only [improvementFilter] improvements may be built on this tile
Example: "Only [improvementFilter] improvements may be built on this tile"
Applicable to: Terrain
#### Blocks line-of-sight from tiles at same elevation
Example: "Blocks line-of-sight from tiles at same elevation"
Applicable to: Terrain
#### Has an elevation of [amount] for visibility calculations
Example: "Has an elevation of [20] for visibility calculations"
Applicable to: Terrain
#### Always Fertility [amount] for Map Generation
Example: "Always Fertility [20] for Map Generation"
Applicable to: Terrain
#### [amount] to Fertility for Map Generation
Example: "[20] to Fertility for Map Generation"
Applicable to: Terrain
#### A Region is formed with at least [amount]% [simpleTerrain] tiles, with priority [amount]
Example: "A Region is formed with at least [20]% [simpleTerrain] tiles, with priority [20]"
Applicable to: Terrain
#### A Region is formed with at least [amount]% [simpleTerrain] tiles and [simpleTerrain] tiles, with priority [amount]
Example: "A Region is formed with at least [20]% [simpleTerrain] tiles and [simpleTerrain] tiles, with priority [20]"
Applicable to: Terrain
#### A Region can not contain more [simpleTerrain] tiles than [simpleTerrain] tiles
Example: "A Region can not contain more [simpleTerrain] tiles than [simpleTerrain] tiles"
Applicable to: Terrain
#### Base Terrain on this tile is not counted for Region determination
Example: "Base Terrain on this tile is not counted for Region determination"
Applicable to: Terrain
#### Considered [terrainQuality] when determining start locations
Example: "Considered [terrainQuality] when determining start locations"
Applicable to: Terrain
#### Doesn't generate naturally
Example: "Doesn't generate naturally"
Applicable to: Terrain
#### Occurs at temperature between [amount] and [amount] and humidity between [amount] and [amount]
Example: "Occurs at temperature between [20] and [20] and humidity between [20] and [20]"
Applicable to: Terrain
#### Occurs in chains at high elevations
Example: "Occurs in chains at high elevations"
Applicable to: Terrain
#### Occurs in groups around high elevations
Example: "Occurs in groups around high elevations"
Applicable to: Terrain
#### Rare feature
Example: "Rare feature"
Applicable to: Terrain
#### Resistant to nukes
Example: "Resistant to nukes"
Applicable to: Terrain
#### Can be destroyed by nukes
Example: "Can be destroyed by nukes"
Applicable to: Terrain
#### Fresh water
Example: "Fresh water"
Applicable to: Terrain
#### Rough terrain
Example: "Rough terrain"
Applicable to: Terrain
## Resource uniques
#### Appears in [regionType] regions with weight [amount]
Example: "Appears in [regionType] regions with weight [20]"
Applicable to: Resource
#### Appears near City States with weight [amount]
Example: "Appears near City States with weight [20]"
Applicable to: Resource
#### Special placement during map generation
Example: "Special placement during map generation"
Applicable to: Resource
#### Deposits in [tileFilter] tiles always provide [amount] resources
Example: "Deposits in [Farm] tiles always provide [20] resources"
Applicable to: Resource
#### Deposits in [tileFilter] tiles always provide [amount] resources
Example: "Deposits in [Farm] tiles always provide [20] resources"
Applicable to: Resource
#### Can only be created by Mercantile City-States
Example: "Can only be created by Mercantile City-States"
Applicable to: Resource
## Improvement uniques
#### Can also be built on tiles adjacent to fresh water
Example: "Can also be built on tiles adjacent to fresh water"
Applicable to: Improvement
#### [stats] from [tileFilter] tiles
Example: "[+1 Gold, +2 Production] from [Farm] tiles"
Applicable to: Improvement
#### [stats] for each adjacent [tileFilter]
Example: "[+1 Gold, +2 Production] for each adjacent [Farm]"
Applicable to: Improvement
#### Can be built outside your borders
Example: "Can be built outside your borders"
Applicable to: Improvement
#### Can be built just outside your borders
Example: "Can be built just outside your borders"
Applicable to: Improvement
#### Cannot be built on [tileFilter] tiles until [tech] is discovered
Example: "Cannot be built on [Farm] tiles until [tech] is discovered"
Applicable to: Improvement
#### Cannot be built on [tileFilter] tiles
Example: "Cannot be built on [Farm] tiles"
Applicable to: Improvement
#### Does not need removal of [tileFilter]
Example: "Does not need removal of [Farm]"
Applicable to: Improvement
#### Gives a defensive bonus of [amount]%
Example: "Gives a defensive bonus of [20]%"
Applicable to: Improvement
#### Costs [amount] gold per turn when in your territory
Example: "Costs [20] gold per turn when in your territory"
Applicable to: Improvement
#### Deal [amount] damage to adjacent enemy units
Example: "Deal [20] damage to adjacent enemy units"
Applicable to: Improvement
#### Great Improvement
Example: "Great Improvement"
Applicable to: Improvement
#### Provides a random bonus when entered
Example: "Provides a random bonus when entered"
Applicable to: Improvement
#### Unpillagable
Example: "Unpillagable"
Applicable to: Improvement
#### Indestructible
Example: "Indestructible"
Applicable to: Improvement
## Conditional uniques
#### when at war
Example: "when at war"
Applicable to: Conditional
#### when not at war
Example: "when not at war"
Applicable to: Conditional
#### while the empire is happy
Example: "while the empire is happy"
Applicable to: Conditional
#### during a Golden Age
Example: "during a Golden Age"
Applicable to: Conditional
#### during the [era]
Example: "during the [era]"
Applicable to: Conditional
#### before the [era]
Example: "before the [era]"
Applicable to: Conditional
#### starting from the [era]
Example: "starting from the [era]"
Applicable to: Conditional
#### after discovering [tech]
Example: "after discovering [tech]"
Applicable to: Conditional
#### before discovering [tech]
Example: "before discovering [tech]"
Applicable to: Conditional
#### after adopting [policy]
Example: "after adopting [policy]"
Applicable to: Conditional
#### before adopting [policy]
Example: "before adopting [policy]"
Applicable to: Conditional
#### if this city has at least [amount] specialists
Example: "if this city has at least [20] specialists"
Applicable to: Conditional
#### for [mapUnitFilter] units
Example: "for [Wounded] units"
Applicable to: Conditional
#### vs cities
Example: "vs cities"
Applicable to: Conditional
#### vs [mapUnitFilter] units
Example: "vs [Wounded] units"
Applicable to: Conditional
#### when fighting units from a Civilization with more Cities than you
Example: "when fighting units from a Civilization with more Cities than you"
Applicable to: Conditional
#### when attacking
Example: "when attacking"
Applicable to: Conditional
#### when defending
Example: "when defending"
Applicable to: Conditional
#### when fighting in [tileFilter] tiles
Example: "when fighting in [Farm] tiles"
Applicable to: Conditional
#### on foreign continents
Example: "on foreign continents"
Applicable to: Conditional
#### with [amount] to [amount] neighboring [tileFilter] tiles
Example: "with [20] to [20] neighboring [Farm] tiles"
Applicable to: Conditional
#### with [amount] to [amount] neighboring [tileFilter] [tileFilter] tiles
Example: "with [20] to [20] neighboring [Farm] [Farm] tiles"
Applicable to: Conditional
#### on water maps
Example: "on water maps"
Applicable to: Conditional
#### in [regionType] Regions
Example: "in [regionType] Regions"
Applicable to: Conditional
#### in all except [regionType] Regions
Example: "in all except [regionType] Regions"
Applicable to: Conditional
## Ruins uniques
#### Free [baseUnitFilter] found in the ruins
Example: "Free [Melee] found in the ruins"
Applicable to: Ruins
#### [amount] population in a random city
Example: "[20] population in a random city"
Applicable to: Ruins
#### [amount] free random researchable Tech(s) from the [era]
Example: "[20] free random researchable Tech(s) from the [era]"
Applicable to: Ruins
#### Gain [amount] [stat]
Example: "Gain [20] [Culture]"
Applicable to: Ruins
#### Gain [amount]-[amount] [stat]
Example: "Gain [20]-[20] [Culture]"
Applicable to: Ruins
#### Gain enough Faith for a Pantheon
Example: "Gain enough Faith for a Pantheon"
Applicable to: Ruins
#### Gain enough Faith for [amount]% of a Great Prophet
Example: "Gain enough Faith for [20]% of a Great Prophet"
Applicable to: Ruins
#### Reveal up to [amount/'all'] [tileFilter] within a [amount] tile radius
Example: "Reveal up to [amount/'all'] [Farm] within a [20] tile radius"
Applicable to: Ruins
#### From a randomly chosen tile [amount] tiles away from the ruins, reveal tiles up to [amount] tiles away with [amount]% chance
Example: "From a randomly chosen tile [20] tiles away from the ruins, reveal tiles up to [20] tiles away with [20]% chance"
Applicable to: Ruins
#### This Unit gains [amount] XP
Example: "This Unit gains [20] XP"
Applicable to: Ruins
#### This Unit upgrades for free including special upgrades
Example: "This Unit upgrades for free including special upgrades"
Applicable to: Ruins
#### Hidden when religion is disabled
Example: "Hidden when religion is disabled"
Applicable to: Ruins, Building, Unit
#### Hidden before founding a Pantheon
Example: "Hidden before founding a Pantheon"
Applicable to: Ruins
#### Hidden after founding a Pantheon
Example: "Hidden after founding a Pantheon"
Applicable to: Ruins
#### Hidden after generating a Great Prophet
Example: "Hidden after generating a Great Prophet"
Applicable to: Ruins
#### Only available after [amount] turns
Example: "Only available after [20] turns"
Applicable to: Ruins
## Promotion uniques
#### Heal this unit by [amount] HP
Example: "Heal this unit by [20] HP"
Applicable to: Promotion
## Deprecated uniques