/
addons.cfg
474 lines (466 loc) · 11.1 KB
/
addons.cfg
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
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
#define ADDON_DESCRIPTION
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
#enddef
#define BASE_COMPATIBILITY_KEYS
{DEFAULT_KEY allow_new_game bool yes}
{SIMPLE_KEY allow_era string_list}
{SIMPLE_KEY disallow_era string_list}
{SIMPLE_KEY ignore_incompatible_era string_list}
{SIMPLE_KEY allow_modification string_list}
{SIMPLE_KEY disallow_modification string_list}
{SIMPLE_KEY ignore_incompatible_modification string_list}
#enddef
[tag]
name="$side"
max=0
[if]
[not]
no_leader=yes
[/not]
[then]
super="units/$unit"
[/then]
[/if]
{DEFAULT_KEY no_leader bool no}
{SIMPLE_KEY recruit string}
{DEFAULT_KEY gold int 100}
{DEFAULT_KEY income int 0}
{DEFAULT_KEY hidden bool no}
{SIMPLE_KEY fog bool}
{SIMPLE_KEY shroud bool}
{SIMPLE_KEY fog_data string}
{SIMPLE_KEY shroud_data string}
{SIMPLE_KEY persistent bool}
{SIMPLE_KEY save_id string}
{SIMPLE_KEY previous_save_id string}
{SIMPLE_KEY team_name string}
{SIMPLE_KEY user_team_name t_string}
{SIMPLE_KEY current_player string}
{SIMPLE_KEY side_name t_string}
{SIMPLE_KEY color string}
{SIMPLE_KEY flag string}
{SIMPLE_KEY flag_icon string}
{SIMPLE_KEY village_gold int}
{SIMPLE_KEY village_support int}
{SIMPLE_KEY recall_cost int}
{DEPRECATED_KEY share_maps string}
{DEPRECATED_KEY share_view string}
{SIMPLE_KEY share_vision share_vision}
{DEFAULT_KEY scroll_to_leader bool yes}
{DEFAULT_KEY suppress_end_turn_confirmation bool no}
{DEFAULT_KEY defeat_condition defeat_condition no_leader_left}
[tag]
name="unit"
max=infinite
super="units/$unit"
[/tag]
[tag]
name="leader"
max=infinite
super="units/$unit"
[/tag]
[tag]
name="village"
max=infinite
{SIMPLE_KEY x int}
{SIMPLE_KEY y int}
[/tag]
[tag]
name="fog_override"
max=infinite
{SIMPLE_KEY x int_list}
{SIMPLE_KEY y int_list}
[/tag]
[tag]
name="ai"
max=infinite
super="$ai"
[/tag]
{DEFAULT_KEY allow_player bool yes}
{DEFAULT_KEY disallow_observers bool no}
{DEFAULT_KEY disallow_shuffle bool no}
{SIMPLE_KEY chose_random bool}
{DEFAULT_KEY controller_lock bool no}
{DEFAULT_KEY team_lock bool no}
{DEFAULT_KEY color_lock bool no}
{DEFAULT_KEY gold_lock bool no}
{DEFAULT_KEY income_lock bool no}
{DEFAULT_KEY faction_lock bool no}
{DEFAULT_KEY leader_lock bool no}
{SIMPLE_KEY faction string}
{SIMPLE_KEY faction_from_recruit bool}
[/tag]
[tag]
name="multiplayer_side"
max=infinite
super="$side"
{REQUIRED_KEY id string}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
{SIMPLE_KEY image string}
{SIMPLE_KEY leader string}
{SIMPLE_KEY random_leader string}
{DEFAULT_KEY random_faction bool no}
# TODO: below two keys only valid if above key is yes
{SIMPLE_KEY choices string_list}
{SIMPLE_KEY except string_list}
{SIMPLE_KEY terrain_liked terrain_list}
[/tag]
# TODO: Is [event] really allowed at toplevel, outside a [scenario] or [era]?
[tag]
name="event"
max=infinite
super="$action_wml"
{REQUIRED_KEY name string}
{SIMPLE_KEY id string}
{DEFAULT_KEY first_time_only bool yes}
{DEFAULT_KEY delayed_variable_substitution bool no}
{FILTER_TAG "filter" unit ()}
{FILTER_TAG "filter_second" unit ()}
{FILTER_TAG "filter_attack" weapon ()}
{FILTER_TAG "filter_second_attack" weapon ()}
{FILTER_TAG "filter_side" side ()}
[tag]
name="filter_condition"
super="$conditional_wml"
[/tag]
[/tag]
[tag]
name="$addon"
max=0
{REQUIRED_KEY id string}
# Not sure if this key is allowed in all addons, but it should be...
{SIMPLE_KEY addon_min_version version}
[tag]
name="load_resource"
max=infinite
{REQUIRED_KEY id string}
[/tag]
[link]
name="event"
[/link]
[link]
name="lua"
[/link]
[link]
name="ais/ai"
[/link]
[/tag]
[tag]
name="campaign"
max=infinite
super="$addon"
{ADDON_DESCRIPTION}
{SIMPLE_KEY icon string}
{SIMPLE_KEY abbrev t_string}
{SIMPLE_KEY image string}
{DEFAULT_KEY description_alignment text_alignment left}
{DEFAULT_KEY type addon_type sp}
{SIMPLE_KEY define string}
{SIMPLE_KEY extra_defines string_list}
{DEPRECATED_KEY difficulties string_list}
{DEPRECATED_KEY difficulty_descriptions string}
{DEFAULT_KEY allow_difficulty_change bool yes}
{REQUIRED_KEY first_scenario string}
{SIMPLE_KEY rank int}
{DEFAULT_KEY end_credits bool yes}
{SIMPLE_KEY end_text t_string}
{DEFAULT_KEY end_text_duration int 3500}
{SIMPLE_KEY start_year irdya_date}
{SIMPLE_KEY end_year irdya_date}
{SIMPLE_KEY year irdya_date}
[link]
name="era/options"
[/link]
[link]
name="about"
[/link]
[tag]
name="difficulty"
max=infinite
{REQUIRED_KEY define string}
{SIMPLE_KEY image string}
{SIMPLE_KEY label t_string}
{SIMPLE_KEY description t_string}
{SIMPLE_KEY default bool}
[/tag]
# Multiplayer specific
# TODO: These are probably only allowed if type is mp or hybrid?
{DEFAULT_KEY min_players int 2}
{SIMPLE_KEY max_players int}
{DEFAULT_KEY allow_era_choice bool yes}
{DEFAULT_KEY require_campaign bool yes}
[/tag]
[tag]
name="era"
max=infinite
super="$addon"
{ADDON_DESCRIPTION}
{BASE_COMPATIBILITY_KEYS}
{SIMPLE_KEY force_modification string_list}
{SIMPLE_KEY require_era bool}
{DEFAULT_KEY hide_help bool no}
{DEFAULT_KEY type addon_type sp}
[link]
name="multiplayer_side"
[/link]
[tag]
name="options"
[tag]
name="checkbox"
max=infinite
{REQUIRED_KEY id string}
{DEFAULT_KEY default bool no}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
[/tag]
[tag]
name="choice"
max=infinite
{REQUIRED_KEY id string}
{SIMPLE_KEY default string}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
[tag]
name="item"
max=infinite
{REQUIRED_KEY value string}
{SIMPLE_KEY name t_string}
[/tag]
[/tag]
[tag]
name="entry"
max=infinite
{REQUIRED_KEY id string}
{SIMPLE_KEY default string}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
[/tag]
[tag]
name="slider"
max=infinite
{REQUIRED_KEY id string}
{SIMPLE_KEY default int}
{SIMPLE_KEY min int}
{SIMPLE_KEY max int}
{SIMPLE_KEY step int}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
[/tag]
[tag]
name="combo"
max=infinite
super="era/options/choice"
deprecated=yes
[/tag]
[/tag]
[/tag]
[tag]
name="modification"
max=infinite
super="$addon"
{ADDON_DESCRIPTION}
{SIMPLE_KEY type addon_type}
{BASE_COMPATIBILITY_KEYS}
{SIMPLE_KEY ignore_incompatible_scenario string_list}
{DEFAULT_KEY require_modification bool no}
[link]
name="era/options"
[/link]
[/tag]
[tag]
name="resource"
max=infinite
super="$addon"
[/tag]
[tag]
name="scenario"
max=infinite
super="$addon"
{ADDON_DESCRIPTION}
{SIMPLE_KEY next_scenario string}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY map_data string}
{DEFAULT_KEY turns int -1}
{DEFAULT_KEY turn_at int 1}
{DEFAULT_KEY random_start_time bool,int_list no} # Note: Is it random_start_time or random_starting_time? (There's some uses of the latter)
{DEPRECATED_KEY music string}
{SIMPLE_KEY defeat_music string}
{SIMPLE_KEY victory_music string}
{SIMPLE_KEY theme string_list}
{DEFAULT_KEY victory_when_enemies_defeated bool yes}
# TODO: The following two keys are only valid if the above key is yes (or omitted)
{SIMPLE_KEY carryover_percentage int}
{SIMPLE_KEY carryover_add bool}
{DEFAULT_KEY remove_from_carryover_on_defeat bool yes}
{DEFAULT_KEY disallow_recall bool no}
{DEFAULT_KEY experience_modifier int_percent 100}
{DEFAULT_KEY current_time int 0}
{SIMPLE_KEY map_generation string}
{SIMPLE_KEY scenario_generation string}
{SIMPLE_KEY force_lock_settings bool}
[tag]
name="story"
# TODO: Remove this once the actual supported tags are properly documented (basically messages, insert_tag, if/then/else, switch/case)
any_tag=yes
# TODO: Is this really recognized at story toplevel? Wiki claims it is.
[tag]
name="image"
max=infinite
{SIMPLE_KEY x int}
{SIMPLE_KEY y int}
{SIMPLE_KEY centered bool}
{SIMPLE_KEY file string}
{SIMPLE_KEY delay int}
# These keys possibly not documented?
{SIMPLE_KEY scale_vertically bool}
{SIMPLE_KEY scale_horizontally bool}
{SIMPLE_KEY scale bool}
{SIMPLE_KEY tile_vertically bool}
{SIMPLE_KEY tile_horizontally bool}
{SIMPLE_KEY tile bool}
[/tag]
[tag]
name="part"
max=infinite
{SIMPLE_KEY background string}
{DEFAULT_KEY scale_background bool yes}
{SIMPLE_KEY story t_string}
{SIMPLE_KEY show_title bool}
{SIMPLE_KEY title t_string}
{SIMPLE_KEY music string}
{SIMPLE_KEY sound string_list}
{DEFAULT_KEY text_layout string bottom}
{DEFAULT_KEY title_alignment text_alignment left}
{SIMPLE_KEY delay int} # Not documented?
[tag]
name="background_layer"
max=infinite
{SIMPLE_KEY image string}
{SIMPLE_KEY scale_vertically bool}
{SIMPLE_KEY scale_horizontally bool}
{SIMPLE_KEY scale bool}
{SIMPLE_KEY keep_aspect_ratio bool}
{SIMPLE_KEY tile_vertically bool}
{SIMPLE_KEY tile_horizontally bool}
{SIMPLE_KEY tile bool}
{SIMPLE_KEY base_layer bool}
[/tag]
[tag]
name="if"
max=infinite
super="$conditional_wml"
[tag]
name="then"
super="scenario/story/part"
[/tag]
[tag]
name="else"
super="scenario/story/part"
[/tag]
[/tag]
# TODO: Switch/case
[link]
name="scenario/story/image"
[/link]
[/tag]
[/tag]
[tag]
name="label"
max=infinite
{SIMPLE_KEY x int}
{SIMPLE_KEY y int}
{SIMPLE_KEY text t_string}
{SIMPLE_KEY tooltip t_string} # Is this documented?
{SIMPLE_KEY immutable bool}
{SIMPLE_KEY visible_in_fog bool}
{SIMPLE_KEY visible_in_shroud bool}
{SIMPLE_KEY team_name string}
[/tag]
[tag]
name="item"
max="infinite"
{SIMPLE_KEY x range_list}
{SIMPLE_KEY y range_list}
{SIMPLE_KEY image string}
{SIMPLE_KEY halo string}
[/tag]
[tag]
name="time"
max=infinite
{REQUIRED_KEY id string}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY image string}
{SIMPLE_KEY mask string}
{SIMPLE_KEY lawful_bonus int}
{SIMPLE_KEY red int}
{SIMPLE_KEY green int}
{SIMPLE_KEY blue int}
{SIMPLE_KEY sound string}
[/tag]
[tag]
name="time_area"
max=infinite
{SIMPLE_KEY x range_list}
{SIMPLE_KEY y range_list}
[link]
name="scenario/time"
[/link]
[/tag]
[tag]
name="side"
min=1
max=infinite
super="$side"
{REQUIRED_KEY side int}
{SIMPLE_KEY controller controller}
{SIMPLE_KEY allow_player bool}
{SIMPLE_KEY disallow_observers bool}
{SIMPLE_KEY faction_lock bool}
{SIMPLE_KEY leader_lock bool}
{SIMPLE_KEY team_lock bool}
{SIMPLE_KEY gold_lock bool}
{SIMPLE_KEY income_lock bool}
{SIMPLE_KEY controller_lock bool}
{SIMPLE_KEY color_lock bool}
[/tag]
[link]
name="titlescreen_music/music"
[/link]
[link]
name="terrain_graphics"
[/link]
# TODO: Map generation
{DATA_TAG generator 0 1}
[/tag]
[tag]
name="test"
max=infinite
super="scenario"
{SIMPLE_KEY is_unit_test bool}
[/tag]
[tag]
name="tutorial"
max=infinite
super="scenario"
[/tag]
[tag]
name="multiplayer"
max=infinite
super="scenario"
{SIMPLE_KEY new_game_title t_string}
{BASE_COMPATIBILITY_KEYS}
{SIMPLE_KEY force_modification string_list}
{SIMPLE_KEY require_scenario bool}
{SIMPLE_KEY mp_village_gold int}
{SIMPLE_KEY define string}
[link]
name="era/options"
[/link]
[/tag]
[tag]
name="generic_multiplayer"
max=infinite
super="multiplayer"
[/tag]