-
-
Notifications
You must be signed in to change notification settings - Fork 991
/
abilities.cfg
431 lines (391 loc) · 14.9 KB
/
abilities.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
#textdomain wesnoth-help
# Ability macros to be included in the SingleWML description of a unit.
#define ABILITY_HEALS
# Canned definition of the heal+4 ability to be included in an [abilities] clause.
[heals]
value=4
id=healing
affect_allies=yes
name= _ "heals +4"
female_name= _ "female^heals +4"
description= _ "Allows the unit to heal adjacent allied units at the beginning of our turn.
A unit cared for by this healer may heal up to 4 HP per turn, or stop poison from taking effect for that turn.
This ability will not cure an affected unit of poison, however, only delay its effect."
affect_self=no
poison=slowed
[affect_adjacent]
[/affect_adjacent]
[/heals]
#enddef
#define ABILITY_EXTRA_HEAL
[heals]
value=8
id=healing
affect_allies=yes
name= _ "heals +8"
female_name= _ "female^heals +8"
description= _ "This unit combines herbal remedies with magic to heal units more quickly than is normally possible on the battlefield.
A unit cared for by this healer may heal up to 8 HP per turn, or stop poison from taking effect for that turn.
This ability will not cure an affected unit of poison, however, only delay its effect."
affect_self=no
poison=slowed
[affect_adjacent]
[/affect_adjacent]
[/heals]
#enddef
#define ABILITY_UNPOISON
# Canned definition of the cure-poison ability to be included
# in an [abilities] clause.
[heals]
affect_allies=yes
id=curing
name= _ "cures"
female_name= _ "female^cures"
description= _ "A curer can cure a unit of poison, although that unit will receive no additional healing on the turn it is cured of the poison."
affect_self=no
poison=cured
[affect_adjacent]
[/affect_adjacent]
[/heals]
#enddef
#define ABILITY_CURES
# Canned definition of the cure ability (which entails heal+8) to be
# included in an [abilities] clause..
{ABILITY_UNPOISON}
{ABILITY_EXTRA_HEAL}
#enddef
#define ABILITY_REGENERATES
# Canned definition of the Regenerate ability to be included in an [abilities]
# clause.
[regenerate]
value=8
id=regenerates
name= _ "regenerates"
female_name= _ "female^regenerates"
description= _ "The unit will heal itself 8 HP per turn. If it is poisoned, it will remove the poison instead of healing."
affect_self=yes
poison=cured
[/regenerate]
#enddef
#define ABILITY_SELF_HEAL
# Canned definition of the regenerate 4 hp ability, to be included in an [abilities] clause.
[regenerate]
value=4
id=regenerates
name= _ "regenerates +4"
female_name= _ "female^regenerates +4"
description= _ "The unit will heal itself 4 HP per turn. If it is poisoned, it will remove the poison instead of healing."
affect_self=yes
poison=cured
[/regenerate]
#enddef
#define ABILITY_STEADFAST
# Canned definition of the Steadfast ability to be included in an [abilities]
# clause.
[resistance]
id=steadfast
multiply=2
max_value=50
# applies to any type if we leave it out
#apply_to=blade,pierce,impact,fire,cold,arcane
[filter_base_value]
greater_than=0
less_than=50
[/filter_base_value]
name= _ "steadfast"
female_name= _ "female^steadfast"
description= _ "This unit’s resistances are doubled, up to a maximum of 50%, when defending. Vulnerabilities are not affected."
affect_self=yes
active_on=defense
[/resistance]
#enddef
#define ABILITY_LEADERSHIP
# Canned definition of the Leadership ability to be included in an
# [abilities] clause.
[leadership]
id=leadership
value="(25 * (level - other.level))"
cumulative=no
name= _ "leadership"
female_name= _ "female^leadership"
description= _ "This unit can lead your own units that are next to it, making them fight better.
Adjacent own units of lower level will do more damage in battle. When a unit adjacent to, of a lower level than, and on the same side as a unit with Leadership engages in combat, its attacks do 25% more damage times the difference in their levels."
affect_self=no
[affect_adjacent]
[filter]
formula="level < other.level"
[/filter]
[/affect_adjacent]
[/leadership]
#enddef
#define ABILITY_SKIRMISHER
# Canned definition of the Skirmisher ability to be included in an [abilities]
# clause.
[skirmisher]
id=skirmisher
name= _ "skirmisher"
female_name= _ "female^skirmisher"
description= _ "This unit is skilled in moving past enemies quickly, and ignores all enemy Zones of Control."
affect_self=yes
[/skirmisher]
#enddef
#define ABILITY_ILLUMINATES
# Canned definition of the Illuminates ability to be included in an
# [abilities] clause.
[illuminates]
id=illumination
value=25
max_value=25
cumulative=no
name= _ "illuminates"
female_name= _ "female^illuminates"
description= _ "This unit illuminates the surrounding area, making lawful units fight better, and chaotic units fight worse.
Any units adjacent to this unit will fight as if it were dusk when it is night, and as if it were day when it is dusk."
affect_self=yes
[/illuminates]
#enddef
#define ABILITY_TELEPORT
# Canned definition of the TELEPORT ability to be included in an
# [abilities] clause.
[teleport]
id=teleport
name= _ "teleport"
female_name= _ "female^teleport"
description= _ "This unit may teleport between any two empty villages owned by its side using one of its moves."
[tunnel]
id=village_teleport
[source]
terrain=*^V*
formula="
owner = teleport_unit.side and (unit = teleport_unit or not unit)
where
unit = unit_at(loc)
"
[/source]
[target]
terrain=*^V*
formula="owner = teleport_unit.side and not unit_at(loc)"
[/target]
[filter]
ability=teleport
[/filter]
[/tunnel]
[/teleport]
#enddef
#define ABILITY_AMBUSH
# Canned definition of the Ambush ability to be included in an
# [abilities] clause.
[hides]
id=ambush
name= _ "ambush"
female_name= _ "female^ambush"
description= _ "This unit can hide in forest, and remain undetected by its enemies.
Enemy units cannot see this unit while it is in forest, except if they have units next to it. Any enemy unit that first discovers this unit immediately loses all its remaining movement."
affect_self=yes
[filter]
[filter_location]
terrain=*^F*
[/filter_location]
[/filter]
[/hides]
#enddef
#define ABILITY_NIGHTSTALK
# Canned definition of the Nightstalk ability to be included in an
# [abilities] clause.
[hides]
id=nightstalk
name= _ "nightstalk"
female_name= _ "nightstalk"
description= _ "The unit becomes invisible during night.
Enemy units cannot see this unit at night, except if they have units next to it. Any enemy unit that first discovers this unit immediately loses all its remaining movement."
affect_self=yes
[filter]
[filter_location]
time_of_day=chaotic
[/filter_location]
[/filter]
[/hides]
#enddef
#define ABILITY_CONCEALMENT
# Canned definition of the Concealment ability to be included in an
# [abilities] clause.
[hides]
id=concealment
name= _ "concealment"
female_name= _ "female^concealment"
description= _ "This unit can hide in villages (with the exception of water villages), and remain undetected by its enemies, except by those standing next to it.
Enemy units cannot see this unit while it is in a village, except if they have units next to it. Any enemy unit that first discovers this unit immediately loses all its remaining movement."
affect_self=yes
[filter]
[filter_location]
terrain=*^V*
[/filter_location]
[/filter]
[/hides]
#enddef
#define ABILITY_SUBMERGE
# Canned definition of the Submerge ability to be included in an
# [abilities] clause.
[hides]
id=submerge
name= _ "submerge"
female_name= _ "female^submerge"
description= _ "This unit can hide in deep water, and remain undetected by its enemies.
Enemy units cannot see this unit while it is in deep water, except if they have units next to it. Any enemy unit that first discovers this unit immediately loses all its remaining movement."
affect_self=yes
[filter]
[filter_location]
terrain=Wo*^*
[/filter_location]
[/filter]
[/hides]
#enddef
#define ABILITY_FEEDING
# Canned definition of the Feeding ability to be included in an
# [abilities] clause.
# This works because of data/lua/feeding.lua
[dummy]
id=feeding
name= _ "feeding"
female_name= _ "female^feeding"
description=_ "This unit gains 1 hitpoint added to its maximum whenever it kills a unit, except units that are immune to plague."
[/dummy]
#enddef
#weapons specials
#define WEAPON_SPECIAL_BERSERK
# Canned definition of the Berserk ability to be included in a
# [specials] clause.
[berserk]
id=berserk
name= _ "berserk"
description= _ "Whether used offensively or defensively, this attack presses the engagement until one of the combatants is slain, or 30 rounds of attacks have occurred."
value=30
[/berserk]
#enddef
#define WEAPON_SPECIAL_BACKSTAB
# Canned definition of the Backstab ability to be included in a
# [specials] clause.
[damage]
id=backstab
name= _ "backstab"
description= _ "When used offensively, this attack deals double damage if there is an enemy of the target on the opposite side of the target, and that unit is not incapacitated (turned to stone or otherwise paralyzed)."
multiply=2
active_on=offense
[filter_opponent]
formula="
enemy_of(self, flanker) and not flanker.petrified
where
flanker = unit_at(direction_from(loc, other.facing))
"
[/filter_opponent]
[/damage]
#enddef
#define WEAPON_SPECIAL_PLAGUE_TYPE TYPE
# Canned definition of the Plague ability to be included in a
# [specials] clause (with type specifier).
[plague]
id=plague({TYPE})
name= _ "plague"
description= _ "When a unit is killed by a Plague attack, that unit is replaced with a unit on the same side as the unit with the Plague attack. This doesn’t work on Undead or units in villages."
type={TYPE}
[/plague]
#enddef
#define WEAPON_SPECIAL_PLAGUE
# Canned definition of the Plague ability to be included in a
# [specials] clause.
[plague]
id=plague
name= _ "plague"
description= _ "When a unit is killed by a Plague attack, that unit is replaced with a Walking Corpse on the same side as the unit with the Plague attack. This doesn’t work on Undead or units in villages."
type=Walking Corpse
[/plague]
#enddef
#define WEAPON_SPECIAL_SLOW
# Canned definition of the Slow ability to be included in a
# [specials] clause.
[slow]
id=slow
name= _ "slows"
description= _ "This attack slows the target until it ends a turn. Slow halves the damage caused by attacks and the movement cost for a slowed unit is doubled. A unit that is slowed will feature a snail icon in its sidebar information when it is selected."
[/slow]
#enddef
#define WEAPON_SPECIAL_PETRIFY
# Canned definition of the Petrify ability to be included in a
# [specials] clause.
[petrifies]
id=petrifies
name= _ "petrifies"
description= _ "This attack petrifies the target, turning it to stone. Units that have been petrified may not move or attack."
[/petrifies]
#enddef
#define WEAPON_SPECIAL_MARKSMAN
# Canned definition of the Marksman ability to be included in a
# [specials] clause.
[chance_to_hit]
id=marksman
name= _ "marksman"
description= _ "When used offensively, this attack always has at least a 60% chance to hit."
value=60
cumulative=yes
active_on=offense
[/chance_to_hit]
#enddef
#define WEAPON_SPECIAL_MAGICAL
# Canned definition of the Magical (targeting) ability to be included in a
# [specials] clause.
[chance_to_hit]
id=magical
name= _ "magical"
description= _ "This attack always has a 70% chance to hit regardless of the defensive ability of the unit being attacked."
value=70
cumulative=no
[/chance_to_hit]
#enddef
#define WEAPON_SPECIAL_SWARM
# Canned definition of the Swarm ability to be included in a
# [specials] clause.
[swarm]
id=swarm
name= _ "swarm"
description= _ "The number of strikes of this attack decreases when the unit is wounded. The number of strikes is proportional to the percentage of its of maximum HP the unit has. For example a unit with 3/4 of its maximum HP will get 3/4 of the number of strikes."
[/swarm]
#enddef
#define WEAPON_SPECIAL_CHARGE
# Canned definition of the Charge ability to be included in a
# [specials] clause.
[damage]
id=charge
name= _ "charge"
description= _ "When used offensively, this attack deals double damage to the target. It also causes this unit to take double damage from the target’s counterattack."
multiply=2
apply_to=both
active_on=offense
[/damage]
#enddef
#define WEAPON_SPECIAL_DRAIN
# Canned definition of the Drain ability to be included in a
# [specials] clause.
[drains]
id=drains
name= _ "drains"
description= _ "This unit drains health from living units, healing itself for half the amount of damage it deals (rounded down)."
[/drains]
#enddef
#define WEAPON_SPECIAL_FIRSTSTRIKE
# Canned definition of the First-strike ability to be included in a
# [specials] clause.
[firststrike]
id=firststrike
name= _ "first strike"
description= _ "This unit always strikes first with this attack, even if they are defending."
[/firststrike]
#enddef
#define WEAPON_SPECIAL_POISON
# Canned definition of the Poison ability to be included in a
# [specials] clause.
[poison]
id=poison
name= _ "poison"
description= _ "This attack poisons living targets. Poisoned units lose 8 HP every turn until they are cured or are reduced to 1 HP. Poison cannot, of itself, kill a unit."
[/poison]
#enddef