1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451{
"$id": "https://raw.githubusercontent.com/yairm210/Unciv/refs/heads/master/docs/Modders/schemas/refs/Uniques.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Uniques",
"type": "array",
"description": "A list of uniques to apply to the object. See https://yairm210.github.io/Unciv/Modders/uniques/",
"items": {
"type": "string",
"title": "Unique",
"description": "A unique that is applied to the object. See https://yairm210.github.io/Unciv/Modders/uniques/",
"$comment": "TODO: Add validation with `allOf` conditions. TODO: Find a way to automate bringing in the examples.",
"examples": [
"[stats]",
"[stats] [cityFilter]",
"[stats] from every specialist [cityFilter]",
"[stats] per [positiveAmount] population [cityFilter]",
"[stats] per [positiveAmount] social policies adopted",
"[stats] per every [positiveAmount] [civWideStat]",
"[stats] in cities on [terrainFilter] tiles",
"[stats] from all [buildingFilter] buildings",
"[stats] from [tileFilter] tiles [cityFilter]",
"[stats] from [tileFilter] tiles without [tileFilter] [cityFilter]",
"[stats] from every [tileFilter/specialist/buildingFilter]",
"[stats] from each Trade Route",
"[stats] for each global city following this religion",
"[stats] from every [positiveAmount] global followers [cityFilter]",
"[relativeAmount]% [stat]",
"[relativeAmount]% [stat] [cityFilter]",
"[relativeAmount]% [stat] from every [tileFilter/buildingFilter]",
"[positiveAmount]% of [stat] from every [improvementFilter/buildingFilter] in the city added to [resource]",
"[relativeAmount]% Yield from every [tileFilter/buildingFilter]",
"[relativeAmount]% [stat] from every follower, up to [relativeAmount]%",
"[relativeAmount]% [stat] from City-States",
"[relativeAmount]% [stat] from Trade Routes",
"Nullifies [stat] [cityFilter]",
"Nullifies Growth [cityFilter]",
"[relativeAmount]% Production when constructing [buildingFilter] buildings [cityFilter]",
"[relativeAmount]% Production when constructing [baseUnitFilter] units [cityFilter]",
"[relativeAmount]% Production when constructing [buildingFilter] wonders [cityFilter]",
"[relativeAmount]% Production towards any buildings that already exist in the Capital",
"[relativeAmount]% Yield from pillaging tiles",
"[relativeAmount]% Health from pillaging tiles",
"Provides military units every โ[positiveAmount] turns",
"Provides a unique luxury",
"Military Units gifted from City-States start with [positiveAmount] XP",
"Militaristic City-States grant units [positiveAmount] times as fast when you are at war with a common nation",
"Gifts of Gold to City-States generate [relativeAmount]% more Influence",
"Can spend Gold to annex or puppet a City-State that has been your Ally for [nonNegativeAmount] turns",
"City-State territory always counts as friendly territory",
"Allied City-States will occasionally gift Great People",
"[relativeAmount]% City-State Influence degradation",
"Resting point for Influence with City-States is increased by [amount]",
"Allied City-States provide [stat] equal to [relativeAmount]% of what they produce for themselves",
"[relativeAmount]% resources gifted by City-States",
"[relativeAmount]% Happiness from luxury resources gifted by City-States",
"City-State Influence recovers at twice the normal rate",
"[relativeAmount]% growth [cityFilter]",
"[amount]% Food is carried over after population increases [cityFilter]",
"[relativeAmount]% Food consumption by specialists [cityFilter]",
"[relativeAmount]% unhappiness from the number of cities",
"[relativeAmount]% Unhappiness from [populationFilter] [cityFilter]",
"[amount] Happiness from each type of luxury resource",
"Retain [relativeAmount]% of the happiness from a luxury after the last copy has been traded away",
"[relativeAmount]% of excess happiness converted to [stat]",
"Cannot build [baseUnitFilter] units",
"Enables construction of Spaceship parts",
"May buy [baseUnitFilter] units for [nonNegativeAmount] [stat] [cityFilter] at an increasing price ([amount])",
"May buy [buildingFilter] buildings for [nonNegativeAmount] [stat] [cityFilter] at an increasing price ([amount])",
"May buy [baseUnitFilter] units for [nonNegativeAmount] [stat] [cityFilter]",
"May buy [buildingFilter] buildings for [nonNegativeAmount] [stat] [cityFilter]",
"May buy [baseUnitFilter] units with [stat] [cityFilter]",
"May buy [buildingFilter] buildings with [stat] [cityFilter]",
"May buy [baseUnitFilter] units with [stat] for [nonNegativeAmount] times their normal Production cost",
"May buy [buildingFilter] buildings with [stat] for [nonNegativeAmount] times their normal Production cost",
"[stat] cost of purchasing items in cities [relativeAmount]%",
"[stat] cost of purchasing [buildingFilter] buildings [relativeAmount]%",
"[stat] cost of purchasing [baseUnitFilter] units [relativeAmount]%",
"Enables conversion of city production to [civWideStat]",
"Production to [civWideStat] conversion in cities changed by [relativeAmount]%",
"Improves movement speed on roads",
"Roads connect tiles across rivers",
"[relativeAmount]% maintenance on road & railroads",
"No Maintenance costs for improvements in [tileFilter] tiles",
"[relativeAmount]% construction time for [improvementFilter] improvements",
"Can build [improvementFilter] improvements at a [relativeAmount]% rate",
"Gain a free [buildingName] [cityFilter]",
"[relativeAmount]% maintenance cost for [buildingFilter] buildings [cityFilter]",
"Remove [buildingFilter] [cityFilter]",
"Sell [buildingFilter] buildings [cityFilter]",
"[relativeAmount]% Culture cost of natural border growth [cityFilter]",
"[relativeAmount]% Gold cost of acquiring tiles [cityFilter]",
"Each city founded increases culture cost of policies [relativeAmount]% less than normal",
"[relativeAmount]% Culture cost of adopting new Policies",
"Each city founded increases Science cost of Technologies [relativeAmount]% less than normal",
"[relativeAmount]% Science cost of researching new Technologies",
"[stats] for every known Natural Wonder",
"[stats] for discovering a Natural Wonder (bonus enhanced to [stats] if first to discover it)",
"[relativeAmount]% Great Person generation [cityFilter]",
"[relativeAmount]% Gold from Great Merchant trade missions",
"Great General provides double combat bonus",
"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.",
"Once The Long Count activates, the year on the world screen displays as the traditional Mayan Long Count.",
"[amount] Unit Supply",
"[amount] Unit Supply per [positiveAmount] population [cityFilter]",
"[amount] Unit Supply per city",
"[amount] units cost no maintenance",
"Units in cities cost no Maintenance",
"Enables embarkation for land units",
"Enables [mapUnitFilter] units to enter ocean tiles",
"Land units may cross [terrainName] tiles after the first [baseUnitFilter] is earned",
"Enemy [mapUnitFilter] units must spend [positiveAmount] extra movement points when inside your territory",
"New [baseUnitFilter] units start with [amount] XP [cityFilter]",
"All newly-trained [baseUnitFilter] units [cityFilter] receive the [promotion] promotion",
"[mapUnitFilter] Units adjacent to this city heal [amount] HP per turn when healing",
"[relativeAmount]% XP required for promotions",
"[relativeAmount]% City Strength from defensive buildings",
"[relativeAmount]% Strength for cities",
"Consumes [amount] [resource]",
"Provides [amount] [resource]",
"Costs [amount] [stockpiledResource]",
"[relativeAmount]% [resourceFilter] resource production",
"Enables establishment of embassies",
"Requires establishing embassies to conduct advanced diplomacy",
"Enables Open Borders agreements",
"Enables Research agreements",
"Science gained from research agreements [relativeAmount]%",
"Enables Defensive Pacts",
"When declaring friendship, both parties gain a [relativeAmount]% boost to great person generation",
"Influence of all other civilizations with all city-states degrades [relativeAmount]% faster",
"Gain [amount] Influence with a [baseUnitFilter] gift to a City-State",
"Resting point for Influence with City-States following religion change [amount]",
"Notified of new Barbarian encampments",
"Receive [relativeAmount]% Gold from Barbarian encampments and pillaging Cities",
"Receive triple Gold from Barbarian encampments and pillaging Cities",
"When conquering an encampment, earn [amount] Gold and recruit a Barbarian unit",
"When defeating a [mapUnitFilter] unit, earn [amount] Gold and recruit it",
"Starting in this era disables religion",
"May choose [amount] additional [beliefType] beliefs when [foundingOrEnhancing] a religion",
"May choose [amount] additional belief(s) of any type when [foundingOrEnhancing] a religion",
"[stats] when a city adopts this religion for the first time",
"[relativeAmount]% Natural religion spread [cityFilter]",
"Religion naturally spreads to cities [amount] tiles away",
"May not generate great prophet equivalents naturally",
"[relativeAmount]% Faith cost of generating Great Prophet equivalents",
"[relativeAmount]% spy effectiveness [cityFilter]",
"[relativeAmount]% enemy spy effectiveness [cityFilter]",
"New spies start with [amount] level(s)",
"Starting tech",
"Starts with [tech]",
"Starts with [policy] adopted",
"Triggers victory",
"Triggers a Cultural Victory upon completion",
"May buy items in puppet cities",
"May not annex cities",
"\"Borrows\" city names from other civilizations in the game",
"Cities are razed [amount] times as fast",
"Receive a tech boost when scientific buildings/wonders are built in capital",
"Can be continually researched",
"[relativeAmount]% Golden Age length",
"Population loss from nuclear attacks [relativeAmount]% [cityFilter]",
"Damage to garrison from nuclear attacks [relativeAmount]% [cityFilter]",
"Rebel units may spawn",
"Unbuildable",
"Cannot be purchased",
"Can be purchased with [stat] [cityFilter]",
"Can be purchased for [amount] [stat] [cityFilter]",
"Limited to [amount] per Civilization",
"Only available",
"Unavailable",
"Excess Food converted to Production when under construction",
"Requires at least [amount] population",
"Triggers a global alert upon build start",
"Triggers a global alert upon completion",
"Cost increases by [amount] per owned city",
"Cost increases by [amount] when built",
"[amount]% production cost",
"Can only be built",
"Must have an owned [tileFilter] within [amount] tiles",
"Enables nuclear weapon",
"Must be on [tileFilter]",
"Must not be on [tileFilter]",
"Must be next to [tileFilter]",
"Must not be next to [tileFilter]",
"Unsellable",
"Obsolete with [tech]",
"Indicates the capital city",
"Moves to new capital when capital changes",
"Provides 1 extra copy of each improved luxury resource near this City",
"Destroyed when the city is captured",
"Never destroyed when the city is captured",
"[relativeAmount]% Gold given to enemy if city is captured",
"Doubles Gold given to enemy if city is captured",
"Removes extra unhappiness from annexed cities",
"Connects trade routes over water",
"Automatically built in all cities where it is buildable",
"Creates a [improvementName] improvement on a specific tile",
"Founds a new city",
"Founds a new puppet city",
"Can instantly construct a [improvementFilter] improvement",
"May create improvements on water resources",
"Can build [improvementFilter/terrainFilter] improvements on tiles",
"Can Spread Religion",
"Can remove other religions from cities",
"May found a religion",
"May enhance a religion",
"Can be added to [comment] in the Capital",
"Prevents spreading of religion to the city it is next to",
"Removes other religions when spreading religion",
"May Paradrop to [tileFilter] tiles up to [positiveAmount] tiles away",
"Can perform Air Sweep",
"Can speed up construction of a building",
"Can speed up the construction of a wonder",
"Can hurry technology research",
"Can generate a large amount of culture",
"Can undertake a trade mission with City-State, giving a large sum of gold and [amount] Influence",
"Can transform to [unit]",
"Automation is a primary action",
"[relativeAmount]% Strength",
"[relativeAmount] Strength",
"[relativeAmount]% Strength decreasing with distance from the capital",
"[relativeAmount]% to Flank Attack bonuses",
"[relativeAmount]% Strength for enemy [mapUnitFilter] units in adjacent [tileFilter] tiles",
"[relativeAmount]% Strength bonus for [mapUnitFilter] units within [amount] tiles",
"[amount] additional attacks per turn",
"[amount] Movement",
"[amount] Sight",
"[amount] Range",
"[relativeAmount] Air Interception Range",
"[amount] HP when healing",
"[relativeAmount]% Spread Religion Strength",
"When spreading religion to a city, gain [amount] times the amount of followers of other religions as [stat]",
"Can only attack [combatantFilter] units",
"Can only attack [tileFilter] tiles",
"Cannot attack",
"Must set up to ranged attack",
"Self-destructs when attacking",
"Eliminates combat penalty for attacking across a coast",
"May attack when embarked",
"Eliminates combat penalty for attacking over a river",
"Blast radius [amount]",
"Ranged attacks may be performed over obstacles",
"Nuclear weapon of Strength [amount]",
"No defensive terrain bonus",
"No defensive terrain penalty",
"No damage penalty for wounded units",
"Uncapturable",
"Withdraws before melee combat",
"Unable to capture cities",
"Unable to pillage tiles",
"Destroys [cityFilter] cities instead of capturing",
"No movement cost to pillage",
"Can move after attacking",
"Transfer Movement to [mapUnitFilter]",
"Can move immediately once bought",
"May heal outside of friendly territory",
"All healing effects doubled",
"Heals [amount] damage if it kills a unit",
"Can only heal by pillaging",
"Unit will heal every turn, even if it performs an action",
"All adjacent units heal [amount] HP when healing",
"No Sight",
"Can see over obstacles",
"Can carry [amount] [mapUnitFilter] units",
"Can carry [amount] extra [mapUnitFilter] units",
"Cannot be carried by [mapUnitFilter] units",
"[relativeAmount]% chance to intercept air attacks",
"Damage taken from interception reduced by [relativeAmount]%",
"[relativeAmount]% Damage when intercepting",
"[amount] extra interceptions may be made per turn",
"Cannot be intercepted",
"Cannot intercept [mapUnitFilter] units",
"Strength when performing Air Sweep",
"[relativeAmount]% maintenance costs",
"[relativeAmount]% Gold cost of upgrading",
"Earn [amount]% of the damage done to [combatantFilter] units as [stockpile]",
"Upon capturing a city, receive [amount] times its [stat] production as [stockpile] immediately",
"Earn [amount]% of killed [mapUnitFilter] unit's [costOrStrength] as [stockpile]",
"Earn [amount]% of [mapUnitFilter] unit's [costOrStrength] as [stockpile] when killed within 4 tiles of a city following this religion",
"May capture killed [mapUnitFilter] units",
"[amount] XP gained from combat",
"[relativeAmount]% XP gained from combat",
"Can be earned through combat",
"[greatPerson] is earned [relativeAmount]% faster",
"Invisible to others",
"Invisible to non-adjacent units",
"Can see invisible [mapUnitFilter] units",
"May upgrade to [unit] through ruins-like effects",
"Can upgrade to [unit]",
"Destroys tile improvements when attacking",
"Cannot move",
"Double movement in [terrainFilter]",
"All tiles cost 1 movement",
"May travel on Water tiles without embarking",
"Can pass through impassable tiles",
"Ignores terrain cost",
"Ignores Zone of Control",
"Rough terrain penalty",
"Can enter ice tiles",
"Cannot embark",
"Cannot enter ocean tiles",
"May enter foreign tiles without open borders",
"May enter foreign tiles without open borders, but loses [amount] religious strength each turn it ends there",
"[nonNegativeAmount] Movement point cost to disembark",
"[nonNegativeAmount] Movement point cost to embark",
"All units move through Forest and Jungle Tiles in friendly territory as if they have roads. These tiles can be used to establish City Connections upon researching the Wheel.",
"Units ignore terrain costs when moving into any tile with Hills",
"Never appears as a Barbarian unit",
"Religious Unit",
"Spaceship part",
"Takes your religion over the one in their birth city",
"Cannot be hurried",
"Great Person - [comment]",
"Is part of Great Person group [comment]",
"Must be adjacent to [amount] [simpleTerrain] tiles",
"Must be adjacent to [amount] to [amount] [simpleTerrain] tiles",
"Must not be on [amount] largest landmasses",
"Must be on [amount] largest landmasses",
"Occurs on latitudes from [amount] to [amount] percent of distance equator to pole",
"Occurs in groups of [amount] to [amount] tiles",
"Neighboring tiles will convert to [baseTerrain/terrainFeature]",
"Grants [stats] to the first civilization to discover it",
"Units ending their turn on this terrain take [amount] damage",
"Grants [promotion] ([comment]) to adjacent [mapUnitFilter] units for the rest of the game",
"Grants [amount] Strength for cities built on this terrain",
"Provides a one-time bonus of [stats] to the closest city when cut down",
"Vegetation",
"Tile provides yield without assigned population",
"Nullifies all other stats this tile provides",
"Only [improvementFilter] improvements may be built on this tile",
"Blocks line-of-sight from tiles at same elevation",
"Has an elevation of [amount] for visibility calculations",
"Always Fertility [amount] for Map Generation",
"Add Fertility [amount] to Fertility for Map Generation",
"A Region is formed with at least [amount]% [simpleTerrain] tiles, with priority [amount]",
"A Region is formed with at least [amount]% [simpleTerrain] tiles and [simpleTerrain] tiles, with priority [amount]",
"A Region can not contain more [simpleTerrain] tiles than [simpleTerrain] tiles",
"Base Terrain on this tile is not counted for Region determination",
"Starts in regions of this type receive an extra [resource]",
"Never receives any resources",
"Becomes [terrainName] when adjacent to [terrainFilter]",
"Considered [terrainQuality] when determining start locations",
"Doesn't generate naturally",
"Occurs at temperature between [fraction] and [fraction] and humidity between [fraction] and [fraction]",
"Occurs in chains at high elevations",
"Occurs in groups around high elevations",
"Every [amount] tiles with this terrain will receive a major deposit of a strategic resource.",
"Destroyed by nukes [amount]% Chance",
"Excluded from map editor",
"Deposits in [tileFilter] tiles always provide [amount] resources",
"Can only be created by Mercantile City-States",
"Stockpiled",
"City-level resource",
"Cannot be traded",
"Not shown on world screen",
"Generated with weight [amount]",
"Minor deposits generated with weight [amount]",
"Generated near City States with weight [amount]",
"Special placement during map generation",
"Generated on every [amount] tiles",
"Guaranteed with Strategic Balance resource option",
"AI will sell at [amount] Gold",
"AI will buy at [amount] Gold",
"Can also be built on tiles adjacent to fresh water",
"[stats] from [tileFilter] tiles",
"[stats] for each adjacent [tileFilter]",
"Ensures a minimum tile yield of [stats]",
"Can be built outside your borders",
"Can be built just outside your borders",
"Can only be built on [tileFilter] tiles",
"Cannot be built on [tileFilter] tiles",
"Can only be built to improve a resource",
"Does not need removal of [tileFilter]",
"Removes removable features when built",
"Gives a defensive bonus of [relativeAmount]%",
"Costs [amount] [stat] per turn when in your territory",
"Costs [amount] [stat] per turn",
"Adjacent enemy units ending their turn take [amount] damage",
"Great Improvement",
"Provides a random bonus when entered",
"Unpillagable",
"Pillaging this improvement yields approximately [stats]",
"Pillaging this improvement yields [stats]",
"Destroyed when pillaged",
"Irremovable",
"Will not be replaced by automated units",
"Improves [resourceFilter] resource in this tile",
"Free [unit] appears",
"[positiveAmount] free [unit] units appear",
"Free [unit] found in the ruins",
"Free Social Policy",
"[positiveAmount] Free Social Policies",
"Empire enters golden age",
"Empire enters a [positiveAmount]-turn Golden Age",
"Free Great Person",
"[amount] population [cityFilter]",
"[amount] population in a random city",
"Discover [tech]",
"Adopt [policy/belief]",
"Remove [policy]",
"Remove [policy] and refund [amount]% of its cost",
"Free Technology",
"[positiveAmount] Free Technologies",
"[positiveAmount] free random researchable Tech(s) from the [eraFilter]",
"Reveals the entire map",
"Gain a free [beliefType] belief",
"Triggers voting for the Diplomatic Victory",
"Instantly consumes [positiveAmount] [stockpiledResource]",
"Instantly provides [positiveAmount] [stockpiledResource]",
"Instantly gain [amount] [stockpile]",
"Gain [amount] [stat]",
"Gain [amount]-[amount] [stat]",
"Gain enough Faith for a Pantheon",
"Gain enough Faith for [positiveAmount]% of a Great Prophet",
"Research [relativeAmount]% of [tech]",
"Gain control over [tileFilter] tiles in a [nonNegativeAmount]-tile radius",
"Gain control over [positiveAmount] tiles [cityFilter]",
"Reveal up to [positiveAmount/'all'] [tileFilter] within a [positiveAmount] tile radius",
"From a randomly chosen tile [positiveAmount] tiles away from the ruins, reveal tiles up to [positiveAmount] tiles away with [positiveAmount]% chance",
"Triggers the following global alert: [comment]",
"Every major Civilization gains a spy once a civilization enters this era",
"Promotes all spies [positiveAmount] time(s)",
"Gain an extra spy",
"Doing so will consume this opportunity to choose a Promotion",
"This Promotion is free",
"Turn this tile into a [terrainName] tile",
"Remove [resourceFilter] resources from this tile",
"Remove [improvementFilter] improvements from this tile",
"[mapUnitFilter] units gain the [promotion] promotion",
"Provides the cheapest [stat] building in your first [positiveAmount] cities for free",
"Provides a [buildingName] in your first [positiveAmount] cities for free",
"Triggers a [event] event",
"Mark tutorial [comment] complete",
"Play [comment] sound",
"Get the leader title of [leaderTitle]",
"[unitTriggerTarget] heals [positiveAmount] HP",
"[unitTriggerTarget] takes [positiveAmount] damage",
"[unitTriggerTarget] gains [amount] XP",
"[unitTriggerTarget] upgrades for free",
"[unitTriggerTarget] upgrades for free including special upgrades",
"[unitTriggerTarget] gains the [promotion] promotion",
"[unitTriggerTarget] loses the [promotion] promotion",
"[unitTriggerTarget] gains [positiveAmount] movement",
"[unitTriggerTarget] loses [positiveAmount] movement",
"[unitTriggerTarget] gains the [promotion] status for [positiveAmount] turn(s)",
"[unitTriggerTarget] loses the [promotion] status",
"[unitTriggerTarget] is destroyed",
"[unitTriggerTarget] gets a name from the [unitNameGroup] group"
]
}
}