wesnoth/data/core/macros/abilities.cfg
Dalas121 c67d447901
Change Human Ranger and Huntsman (#9582)
* Huntsman:
  - HP 57 > 53, bow 9-4(marksman) > 10-4(marksman), cost 43g > 50g
  - new ability: Swamp Lurk (invisibility in swamps)
* Ranger:
  - HP 60 > 64, bow 7-4 > 8-4, cost 43g > 50g
  - Defense: castle 60% > 50%, frozen 20% > 30%, reef 30% > 50%, sand 30% > 40%
2024-11-16 15:55:38 -06:00

414 lines
14 KiB
INI
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#textdomain wesnoth-help
# Ability macros to be included in the SingleWML description of a unit.
#define INTERNAL:ABILITY_HEALS_NO_NOTES
[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_HEALS
# Canned definition of the heal+4 ability to be included in an [abilities] clause.
{INTERNAL:ABILITY_HEALS_NO_NOTES}
[+heals]
special_note={INTERNAL:SPECIAL_NOTES_HEALS}
[/heals]
#enddef
#define INTERNAL:ABILITY_EXTRA_HEAL_NO_NOTES
[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_EXTRA_HEAL
{INTERNAL:ABILITY_EXTRA_HEAL_NO_NOTES}
[+heals]
special_note={INTERNAL:SPECIAL_NOTES_EXTRA_HEAL}
[/heals]
#enddef
#define INTERNAL:ABILITY_UNPOISON_NO_NOTES
# 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_UNPOISON
{INTERNAL:ABILITY_UNPOISON_NO_NOTES}
[+heals]
special_note={INTERNAL:SPECIAL_NOTES_UNPOISON}
[/heals]
#enddef
#define ABILITY_CURES
# Canned definition of the cure ability (which entails heal+8) to be
# included in an [abilities] clause..
{INTERNAL:ABILITY_UNPOISON_NO_NOTES}
{INTERNAL:ABILITY_EXTRA_HEAL_NO_NOTES}
[+heals]
special_note={INTERNAL:SPECIAL_NOTES_CURES}
[/heals]
#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."
special_note={INTERNAL:SPECIAL_NOTES_REGENERATES}
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."
special_note=_"This unit heals itself each turn, though not as much as if stationed in a village."
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 units resistances are doubled, up to a maximum of 50%, when defending. Vulnerabilities are not affected."
special_note={INTERNAL:SPECIAL_NOTES_STEADFAST}
affect_self=yes
active_on=defense
[/resistance]
#enddef
#define ABILITY_DIVERSION
# Canned definition of the Distraction ability to be included in an [abilities]
# clause.
[chance_to_hit] # this is a weapon special, but as of 1.15.0, it is possible to use it this way in [abilities]
id=diversion
sub=20
name= _ "diversion"
female_name= _ "female^diversion"
description= _ "If there is an enemy of the target on the opposite side of the target, this unit diverts the targets attention and reduces its chance to hit by 20%."
special_note=_"If there is an enemy of the target on the opposite side of the target while attacking it, this unit diverts the targets attention and reduces its chance to hit."
affect_self=no
affect_allies=no
affect_enemies=yes
cumulative=yes
[filter]
[filter_adjacent]
is_enemy=yes
[/filter_adjacent]
[/filter]
# three of these tags, for (hex faces)/2, as we try for similar conditions to backstab
[affect_adjacent]
adjacent=n,s
[filter]
[filter_adjacent]
is_enemy=yes
count=2-6
adjacent=n,s
[/filter_adjacent]
[/filter]
[/affect_adjacent]
[affect_adjacent]
adjacent=se,nw
[filter]
[filter_adjacent]
is_enemy=yes
count=2-6
adjacent=se,nw
[/filter_adjacent]
[/filter]
[/affect_adjacent]
[affect_adjacent]
adjacent=ne,sw
[filter]
[filter_adjacent]
is_enemy=yes
count=2-6
adjacent=ne,sw
[/filter_adjacent]
[/filter]
[/affect_adjacent]
[/chance_to_hit]
#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 other troops in battle.
All adjacent lower-level units from the same side deal 25% more damage for each difference in level."
special_note={INTERNAL:SPECIAL_NOTES_LEADERSHIP}
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."
special_note={INTERNAL:SPECIAL_NOTES_SKIRMISHER}
affect_self=yes
[/skirmisher]
#enddef
#define ABILITY_ILLUMINATES
# Canned definition of the Illuminates ability to be included in an
# [abilities] clause.
#arg HALO
""#endarg
[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."
special_note={INTERNAL:SPECIAL_NOTES_ILLUMINATES}
affect_self=yes
halo_image={HALO}
[/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."
special_note={INTERNAL:SPECIAL_NOTES_TELEPORT}
[tunnel]
id=village_teleport
[source]
gives_income=true
formula="
owner_side = teleport_unit.side_number and (unit = teleport_unit or not unit)
where
unit = unit_at(loc)
"
[/source]
[target]
gives_income=true
formula="owner_side = teleport_unit.side_number 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."
special_note={INTERNAL:SPECIAL_NOTES_AMBUSH}
affect_self=yes
# ^Qhh* and ^Qhu* are the bluff and glutch terrains, like are already overlay the variant forest must be include in filter with 'traditionnals' forests terrains
[filter]
[filter_location]
terrain=*^F*,*^Qhhf,*^Qhuf
[/filter_location]
[/filter]
[/hides]
#enddef
#define ABILITY_BURROW
# Canned definition of the Burrow ability to be included in an
# [abilities] clause.
[hides]
id=burrow
name= _ "burrow"
female_name= _ "female^burrow"
description= _ "This unit can hide in forest or sand if it is resting (has not moved for a turn), and remain undetected by its enemies.
Enemy units cannot see this unit while it is resting in forest or sand, 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
# ^Qhh* and ^Qhu* are the bluff and glutch terrains, like are already overlay the variant forest must be include in filter with 'traditionnals' forests terrains
[filter]
[filter_location]
terrain=*^F*,*^Qhhf,*^Qhuf,D*^*
[/filter_location]
# could not get resting filter to work, maybe this is better, maybe not
formula="if(self.moves = self.max_moves, 1, 0)"
[/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."
special_note={INTERNAL:SPECIAL_NOTES_NIGHTSTALK}
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, 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."
special_note={INTERNAL:SPECIAL_NOTES_CONCEALMENT}
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."
special_note={INTERNAL:SPECIAL_NOTES_SUBMERGE}
affect_self=yes
[filter]
[filter_location]
terrain=Wo*^*
[/filter_location]
[/filter]
[/hides]
#enddef
#define ABILITY_SWAMP_LURK
# Canned definition of the Swamp Lurk ability to be included in an
# [abilities] clause.
[hides]
id=swamp_lurk
name= _ "swamp lurk"
female_name= _ "female^swamp lurk"
description= _ "This unit can hide in swamp, and remain undetected by its enemies.
Enemy units cannot see this unit while it is in swamp, 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=S*^*
[/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."
special_note={INTERNAL:SPECIAL_NOTES_FEEDING}
[/dummy]
#enddef