Difference between revisions of "EffectWML"
From The Battle for Wesnoth Wiki
m (Added the wml-menu) |
|||
Line 16: | Line 16: | ||
** ''set_name'' change the attack's name. | ** ''set_name'' change the attack's name. | ||
** ''set_type'' change the attack type. Values are 'blade', 'pierce', 'impact', 'fire', 'cold', and 'holy'. | ** ''set_type'' change the attack type. Values are 'blade', 'pierce', 'impact', 'fire', 'cold', and 'holy'. | ||
− | + | ** ''[set_specials]'' change the attack's specials. The specials to add are given exactly as in the [specials] tag. | |
− | ** ''[set_specials]'' | ||
*** ''mode'' if ''append'', adds the given specials to the attack. If ''replace'', replaces the existing specials with the given ones. Default ''replace''. | *** ''mode'' if ''append'', adds the given specials to the attack. If ''replace'', replaces the existing specials with the given ones. Default ''replace''. | ||
− | ** ''remove_specials'' | + | ** ''remove_specials'' remove the listed specials. The value of this key is the coma-separated list of the id of the specials to remove. This key is always evaluated before a [set_specials] tags in the same [effect] |
** ''increase_damage'' increases the attack's damage. This can be positive or negative, so you can use it to decrease damage as well. If it ends in a percent(''''%''''), the change in damage will be a percentage ratio of the attack's original damage. | ** ''increase_damage'' increases the attack's damage. This can be positive or negative, so you can use it to decrease damage as well. If it ends in a percent(''''%''''), the change in damage will be a percentage ratio of the attack's original damage. | ||
** ''increase_attacks'' increases the number of attack strikes. Like ''increase_damage'', it can be positive or negative, or a percentage. | ** ''increase_attacks'' increases the number of attack strikes. Like ''increase_damage'', it can be positive or negative, or a percentage. | ||
− | ** ''attack_weight'' | + | ** ''attack_weight'' change the attack's attack_weight. See [[AttackWML]] for explainations about attack_weight. |
− | ** ''defense_weight'' | + | ** ''defense_weight'' change the attack's defense_weight. See [[AttackWML]] for explainations about defense_weight. |
* "hitpoints" modifies the unit's HP and/or max HP. | * "hitpoints" modifies the unit's HP and/or max HP. | ||
** ''increase'' the amount to increase the unit's HP. | ** ''increase'' the amount to increase the unit's HP. | ||
Line 35: | Line 34: | ||
** ''increase'' how to change the xp; again it can be negative, positive or a percentage. | ** ''increase'' how to change the xp; again it can be negative, positive or a percentage. | ||
* "loyal" no keys associated. The affected unit will be loyal i.e have an upkeep of 0. | * "loyal" no keys associated. The affected unit will be loyal i.e have an upkeep of 0. | ||
− | * "movement_costs" | + | * "movement_costs" speed through specific terrain is modified |
** ''replace'' If set to "true", any new values replace the old ones. Otherwise, new values are added to old values (negative values allowed). | ** ''replace'' If set to "true", any new values replace the old ones. Otherwise, new values are added to old values (negative values allowed). | ||
** [set_specials] | ** [set_specials] | ||
** [movement_costs] a subtag that describes the new movement costs just like in [[UnitWML]] for describing a unit type | ** [movement_costs] a subtag that describes the new movement costs just like in [[UnitWML]] for describing a unit type | ||
− | * "defense" | + | * "defense" Sets unit chance to be hit in specific terrain (100 - defense value) |
** ''replace'' If set to "true", any new values replace the old ones. Otherwise, new values are added to old values (negative values allowed). | ** ''replace'' If set to "true", any new values replace the old ones. Otherwise, new values are added to old values (negative values allowed). | ||
** [defense] a subtag that describes the new defense just like in [[UnitWML]] for describing a unit type | ** [defense] a subtag that describes the new defense just like in [[UnitWML]] for describing a unit type | ||
− | * "resistance" | + | * "resistance" Sets percent damage taken from combat |
** ''replace'' If set to "true", any new values replace the old ones. Otherwise, new values are added to old values (negative values allowed). | ** ''replace'' If set to "true", any new values replace the old ones. Otherwise, new values are added to old values (negative values allowed). | ||
** [resistance] a subtag that describes the new resistance just like in [[UnitWML]] for describing a unit type | ** [resistance] a subtag that describes the new resistance just like in [[UnitWML]] for describing a unit type |
Revision as of 10:44, 3 September 2006
the [effect] tag
The tag [effect] is used to describe one modification to a unit. Any number of [effect] tags can be used to describe a complete modification. Modifications are permanent changes to a unit; currently there is no way of removing a modification.
The following keys are always recognized for [effect]:
- unit_type only apply this effect if the affected unit's type name matches unit_type (can be a list of types).
- apply_to describes what the effect actually affects.
[effect] uses different keys depending on the value of apply_to. apply_to can take the following values:
- "new_attack" will use all other keys and tags as the description of an attack that will be added to the unit. See AttackWML.
- "attack" find an attack and modify it. All tags from the attack filter construct will be used to match the attack; see FilterWML. After that, the following keys and tags can be used to modify the attack. Note: do not use a [filter] tag. Just put the keys you want to filter on inside the [effect] tag.
- set_name change the attack's name.
- set_type change the attack type. Values are 'blade', 'pierce', 'impact', 'fire', 'cold', and 'holy'.
- [set_specials] change the attack's specials. The specials to add are given exactly as in the [specials] tag.
- mode if append, adds the given specials to the attack. If replace, replaces the existing specials with the given ones. Default replace.
- remove_specials remove the listed specials. The value of this key is the coma-separated list of the id of the specials to remove. This key is always evaluated before a [set_specials] tags in the same [effect]
- increase_damage increases the attack's damage. This can be positive or negative, so you can use it to decrease damage as well. If it ends in a percent('%'), the change in damage will be a percentage ratio of the attack's original damage.
- increase_attacks increases the number of attack strikes. Like increase_damage, it can be positive or negative, or a percentage.
- attack_weight change the attack's attack_weight. See AttackWML for explainations about attack_weight.
- defense_weight change the attack's defense_weight. See AttackWML for explainations about defense_weight.
- "hitpoints" modifies the unit's HP and/or max HP.
- increase the amount to increase the unit's HP.
- heal_full if present and not set to "no" the unit will be put back to full HP.
- increase_total will increase the total HP of the unit. Can be specified either as a negative or a positive value. It can also be specified as a percentage of the current total; i.e. "-50%" will cut max HP in half.
- violate_max it the unit ends up with more than its max HP after these modifications, and this key is present, the unit's HP won't be lowered to its max HP.
- "movement" modifies the unit's movement points.
- increase maximum movement is increased by this amount. It can be positive, negative, or specified as a percentage.
- set maximum movement is set to a specific value.
- "max_experience" affects the amount of XP the unit needs for the next level.
- increase how to change the xp; again it can be negative, positive or a percentage.
- "loyal" no keys associated. The affected unit will be loyal i.e have an upkeep of 0.
- "movement_costs" speed through specific terrain is modified
- replace If set to "true", any new values replace the old ones. Otherwise, new values are added to old values (negative values allowed).
- [set_specials]
- [movement_costs] a subtag that describes the new movement costs just like in UnitWML for describing a unit type
- "defense" Sets unit chance to be hit in specific terrain (100 - defense value)
- replace If set to "true", any new values replace the old ones. Otherwise, new values are added to old values (negative values allowed).
- [defense] a subtag that describes the new defense just like in UnitWML for describing a unit type
- "resistance" Sets percent damage taken from combat
- replace If set to "true", any new values replace the old ones. Otherwise, new values are added to old values (negative values allowed).
- [resistance] a subtag that describes the new resistance just like in UnitWML for describing a unit type
- "variation" switches the unit into one of its variations.
- name the name of the variation to invoke.
- "status" modifies the status affecting the unit.
- add a list of status modifications to add. Beware, these may be reapplied later, such as when the unit is recalled or levels up; if in an event, you can use [store_unit] and [unstore_unit], modifying unit.status.name directly, to avoid this, or if you are creating the unit, you can just add it to the unit's [status] tag in the [unit] tag. These are listed in [status], SingleUnitWML.
- remove a list of status modifications to remove.