Difference between revisions of "UnitTypeWML"

From The Battle for Wesnoth Wiki
(The [unit] tag)
(reformat and clarify name/description/icon attribute of [attack])
Line 6: Line 6:
  
 
The following key/tags are recognized:
 
The following key/tags are recognized:
* ''id'' the value of the ''type'' key for units of this type.
+
* ''id'' the value of the ''type'' key for units of this type. ''type'' keys are found in [[SingleUnitWML]] and [[FilterWML]].
  ''type'' keys are found in [[SingleUnitWML]] and [[FilterWML]].
+
* ''name'' (translatable) displayed in the Status Table for units of this type.
* ''name'' (translatable) displayed in the Status Table
+
* ''race'' See '''[race]''', [[UnitsWML]]. Also used in standard unit filter (see [[FilterWML]]).
  for units of this type.
+
* ''num_traits'' the number of traits that units of this type should receive when they are recruited, overriding the value set in the [race] tag.
* ''race'' See '''[race]''', [[UnitsWML]].
+
* ''gender'' has a value of either ''male'' or ''female'', and determines which of the keys ''male_names'' and ''female_names'' should be read. When a unit of this type is recruited, it will be randomly assigned a name by the random name generator, which will use these names as a base.
  Also used in standard unit filter (see [[FilterWML]]).
+
* ''ability'' a list of the unit's abilities. See [[AbilitiesWML]] for a description of abilities.
* ''num_traits'' the number of traits that units of this
+
* ''hitpoints'' the maximum HP that the unit has, and the HP it has when it is created.
  type should receive when they are recruited,
 
  overriding the value set in the [race] tag.
 
* ''gender'' has a value of either ''male'' or ''female'',
 
  and determines which of the keys ''male_names'' and ''female_names''
 
  should be read. When a unit of this type is recruited,
 
  it will be randomly assigned a name by the random name generator,
 
  which will use these names as a base.
 
* ''ability'' a list of the unit's abilities.
 
  See [[AbilitiesWML]] for a description of abilities.
 
* ''hitpoints'' the maximum HP that the unit has, and the HP it has
 
  when it is created.
 
 
* ''movement'' the number of move points that this unit recieves each turn.
 
* ''movement'' the number of move points that this unit recieves each turn.
* ''experience//, ''advanceto'' When this unit has experience greater than or equal to
+
* ''experience'', ''advanceto'' When this unit has experience greater than or equal to ''experience'', it is replaced by a unit with 0 experience of the type that the value of ''advanceto'' refers to. All modifications that have been done to the unit are applied to the unit it is replaced by.
  ''experience'', it is replaced by a unit with 0 experience of the type that the value of
+
* '''[advancefrom]''' allows a campaign-specific unit to be spliced into an already existing advancement tree. It should generally be used only inside a campaign ifdef, to prevent changes to other campaigns. This tag makes changes to the ''advanceto'' and ''experience'' keys of a base unit to make it advance into this unit.  It takes these keys:
  ''advanceto'' refers to. All modifications that have been done to the
+
** ''unit'' the id of the base unit from which this unit advances. This adds the unit into the list of units which ''unit'' can advance into.
  unit are applied to the unit it is replaced by.
+
** ''experience'' is optional. If present and lower than the experience already required for the base unit to advance, then the experience to advance is lowered. Note: this will also lower the experience required to advance to other units which the base unit can advance into.
* '''[advancefrom]''' allows a campaign-specific unit to be spliced into an already existing advancement tree.
+
* ''cost'' when a player recruits a unit of this type, the player loses ''cost'' gold. If this would cause gold to drop below 0, the unit cannot be recruited.
  It should generally be used only inside a campaign ifdef, to prevent changes to other campaigns.
+
* ''level'' the amount of upkeep the unit costs. After this unit fights, its opponent gains ''level'' experience. See also kill_experience ([[GameConfigWML]]), and leadership ([[AbilitiesWML]]).
  This tag makes changes to the ''advanceto'' and ''experience'' keys
+
* ''alignment'' how the unit's damage should be affected by its lawful bonus (See [[TimeWML]]).
  of a base unit to make it advance into this unit.  It takes these keys:
+
* ''usage'' the way that the AI should recruit this unit, as determined by the scenario designer. (See ''recruitment_pattern'', [[AiWML]]). The following are conventions on usage:
** ''unit'' the id of the base unit from which this unit advances.
 
  This adds the unit into the list of units which ''unit'' can advance into.
 
** ''experience'' is optional.
 
  If present and lower than the experience already required for the base unit to advance,
 
  then the experience to advance is lowered.
 
  Note: this will also lower the experience required to advance to other units which the base unit can advance into.
 
* ''cost'' when a player recruits a unit of this type, the player
 
  loses ''cost'' gold. If this would cause gold to drop below 0,
 
  the unit cannot be recruited.
 
* ''level'' the amount of upkeep the unit costs.
 
  After this unit fights, its opponent gains ''level'' experience.
 
  See also kill_experience ([[GameConfigWML]]), and leadership ([[AbilitiesWML]]).
 
* ''alignment'' how the unit's damage should be affected by its lawful bonus
 
  (See [[TimeWML]]).
 
* ''usage'' the way that the AI should recruit this unit, as determined
 
  by the scenario designer. (See ''recruitment_pattern'', [[AiWML]]).
 
  The following are conventions on usage:
 
 
** 'scout' Fast,
 
** 'scout' Fast,
 
** 'fighter' Melee fighter,
 
** 'fighter' Melee fighter,
Line 55: Line 27:
 
** 'mixed fighter' Melee and ranged fighter, and
 
** 'mixed fighter' Melee and ranged fighter, and
 
** 'healer' Specialty 'heals' or 'cures'.
 
** 'healer' Specialty 'heals' or 'cures'.
* ''unit_description'' (translatable) the text displayed in the
+
* ''unit_description'' (translatable) the text displayed in the unit descriptor box for this unit. Default 'No description available...'.
  unit descriptor box for this unit. Default 'No description available...'.
 
 
* ''movetype'' See '''[movetype]''', [[UnitsWML]].
 
* ''movetype'' See '''[movetype]''', [[UnitsWML]].
Note that the tags '''[movement_costs]||, ||[defense]||, and ||[resistance]'''
+
Note that the tags '''[movement_costs]''', '''[defense]''', and '''[resistance]''' can be used to modify this movetype.
can be used to modify this movetype.
+
After max level advancement support is not used in standard Wesnoth, but you can add this tag into standard Wesnoth units:
After max level advancement support is not used in standard Wesnoth,
+
* '''[advancement]''' describes what happens to a unit when it reaches the XP required for advancement. It is considered as an advancement in the same way as advancement described by ''advanceto''; however, if the player chooses this advancement, the unit will have one or more effects applied to it instead of advancing. After max level advancement is not used in standard Wesnoth, but can be added to standard Wesnoth units.
but you can add this tag into standard Wesnoth units:
 
* '''[advancement]''' describes what happens to a unit when it reaches the XP required for advancement.
 
  It is considered as an advancement in the same way as advancement described by ''advanceto'';
 
  however, if the player chooses this advancement,
 
  the unit will have one or more effects applied to it instead of advancing.
 
  After max level advancement is not used in standard Wesnoth,
 
  but can be added to standard Wesnoth units.
 
 
** ''id'' normal internationalization id.
 
** ''id'' normal internationalization id.
** ''description'' a description (see [[DescriptionWML]]) displayed as the option for this advancement
+
** ''description'' a description (see [[DescriptionWML]]) displayed as the option for this advancement if there is another advancement option that the player must choose from; otherwise, the advancement is chosen automatically and this key is irrelevant.
if there is another advancement option that the player must choose from;
+
** ''max_times'' default 1. The maximum times the unit can be awarded this advancement.
otherwise, the advancement is chosen automatically and this key is irrelevant.
+
** '''[effect]''' A modification applied to the unit whenever this advancement is chosen. See [[EffectWML]]
** ''max_times'' default 1.
 
  The maximum times the unit can be awarded this advancement.
 
** '''[effect]''' A modification applied to the unit whenever this advancement is chosen.
 
  See [[EffectWML]]
 
 
* '''[attack]''' one of the unit's attacks.
 
* '''[attack]''' one of the unit's attacks.
 
** ''description'' a translatable text for name of the attack, to be displayed to the user.
 
** ''description'' a translatable text for name of the attack, to be displayed to the user.
** ''name'' the name of the attack; used as a default description (if "description" is not present)
+
** ''name'' the name of the attack. Used as a default description, if ''description'' is not present, and to determine the default icon, if ''icon'' is not present. Non-translatable. Used for the ''has_weapon'' key; see [[FilterWML]]
::Non-translatable.
+
** ''type'' the damage type of the attack. Used in determining resistance to this attack (see '''[resistances]''', [[UnitWML]]). Possible values are 'blade', 'pierce', 'impact', 'fire', 'cold', and 'holy'.
::Used for the ''has_weapon'' key; see [[FilterWML]]
+
** ''special'' the special ability of the attack. Currently having more than 1 ability is not supported. See [[AbilitiesWML]] for a list of possible values.
** ''type'' the damage type of the attack.
+
** ''icon'' the image to use as an icon for the attack in the attack choice menu, as a path relative to the images directory.
Used in determining resistance to this attack (see '''[resistances]''', [[UnitWML]]).
+
** ''range'' the range of the attack. Used to determine the enemy's retaliation, which will be of the same type. Also displayed on the status table in parentheses; 'short'(default) displays "melee", while 'long' displays "ranged".
Possible values are 'blade', 'pierce', 'impact', 'fire', 'cold', and 'holy'.
 
** ''special'' the special ability of the attack.
 
Currently having more than 1 ability is not supported.
 
See [[AbilitiesWML]] for a list of possible values
 
** ''icon'' the image to use as an icon for the attack in the attack choice menu
 
** ''range'' the range of the attack.
 
Used to determine the enemy's retaliation, which will be of the same type.
 
Also displayed on the status table in parentheses;
 
'short'(default) displays "melee", while 'long' displays "ranged".
 
 
** ''damage'' the damage of this attack
 
** ''damage'' the damage of this attack
 
** ''number'' the number of strikes per attack this weapon has
 
** ''number'' the number of strikes per attack this weapon has
** ''attack_weight'' helps the AI to choose which attack to use when attacking;
+
** ''attack_weight'' helps the AI to choose which attack to use when attacking; highly weighted attacks are more likely to be used.
highly weighted attacks are more likely to be used.
+
** ''defense_weight'' used to determine which attack is used for retaliation. This affects gameplay, as the player is not allowed to determine his unit's retaliation weapon.
** ''defense_weight'' used to determine which attack is used for retaliation.
 
This affects gameplay, as the player is not allowed to determine his unit's retaliation weapon.
 
  
 
== See Also ==
 
== See Also ==

Revision as of 18:06, 21 August 2005

The [unit] tag

Each [unit] tag defines one unit type.

Unit animation syntax is described in AnimationWML.

The following key/tags are recognized:

  • id the value of the type key for units of this type. type keys are found in SingleUnitWML and FilterWML.
  • name (translatable) displayed in the Status Table for units of this type.
  • race See [race], UnitsWML. Also used in standard unit filter (see FilterWML).
  • num_traits the number of traits that units of this type should receive when they are recruited, overriding the value set in the [race] tag.
  • gender has a value of either male or female, and determines which of the keys male_names and female_names should be read. When a unit of this type is recruited, it will be randomly assigned a name by the random name generator, which will use these names as a base.
  • ability a list of the unit's abilities. See AbilitiesWML for a description of abilities.
  • hitpoints the maximum HP that the unit has, and the HP it has when it is created.
  • movement the number of move points that this unit recieves each turn.
  • experience, advanceto When this unit has experience greater than or equal to experience, it is replaced by a unit with 0 experience of the type that the value of advanceto refers to. All modifications that have been done to the unit are applied to the unit it is replaced by.
  • [advancefrom] allows a campaign-specific unit to be spliced into an already existing advancement tree. It should generally be used only inside a campaign ifdef, to prevent changes to other campaigns. This tag makes changes to the advanceto and experience keys of a base unit to make it advance into this unit. It takes these keys:
    • unit the id of the base unit from which this unit advances. This adds the unit into the list of units which unit can advance into.
    • experience is optional. If present and lower than the experience already required for the base unit to advance, then the experience to advance is lowered. Note: this will also lower the experience required to advance to other units which the base unit can advance into.
  • cost when a player recruits a unit of this type, the player loses cost gold. If this would cause gold to drop below 0, the unit cannot be recruited.
  • level the amount of upkeep the unit costs. After this unit fights, its opponent gains level experience. See also kill_experience (GameConfigWML), and leadership (AbilitiesWML).
  • alignment how the unit's damage should be affected by its lawful bonus (See TimeWML).
  • usage the way that the AI should recruit this unit, as determined by the scenario designer. (See recruitment_pattern, AiWML). The following are conventions on usage:
    • 'scout' Fast,
    • 'fighter' Melee fighter,
    • 'archer' Ranged fighter,
    • 'mixed fighter' Melee and ranged fighter, and
    • 'healer' Specialty 'heals' or 'cures'.
  • unit_description (translatable) the text displayed in the unit descriptor box for this unit. Default 'No description available...'.
  • movetype See [movetype], UnitsWML.

Note that the tags [movement_costs], [defense], and [resistance] can be used to modify this movetype. After max level advancement support is not used in standard Wesnoth, but you can add this tag into standard Wesnoth units:

  • [advancement] describes what happens to a unit when it reaches the XP required for advancement. It is considered as an advancement in the same way as advancement described by advanceto; however, if the player chooses this advancement, the unit will have one or more effects applied to it instead of advancing. After max level advancement is not used in standard Wesnoth, but can be added to standard Wesnoth units.
    • id normal internationalization id.
    • description a description (see DescriptionWML) displayed as the option for this advancement if there is another advancement option that the player must choose from; otherwise, the advancement is chosen automatically and this key is irrelevant.
    • max_times default 1. The maximum times the unit can be awarded this advancement.
    • [effect] A modification applied to the unit whenever this advancement is chosen. See EffectWML
  • [attack] one of the unit's attacks.
    • description a translatable text for name of the attack, to be displayed to the user.
    • name the name of the attack. Used as a default description, if description is not present, and to determine the default icon, if icon is not present. Non-translatable. Used for the has_weapon key; see FilterWML
    • type the damage type of the attack. Used in determining resistance to this attack (see [resistances], UnitWML). Possible values are 'blade', 'pierce', 'impact', 'fire', 'cold', and 'holy'.
    • special the special ability of the attack. Currently having more than 1 ability is not supported. See AbilitiesWML for a list of possible values.
    • icon the image to use as an icon for the attack in the attack choice menu, as a path relative to the images directory.
    • range the range of the attack. Used to determine the enemy's retaliation, which will be of the same type. Also displayed on the status table in parentheses; 'short'(default) displays "melee", while 'long' displays "ranged".
    • damage the damage of this attack
    • number the number of strikes per attack this weapon has
    • attack_weight helps the AI to choose which attack to use when attacking; highly weighted attacks are more likely to be used.
    • defense_weight used to determine which attack is used for retaliation. This affects gameplay, as the player is not allowed to determine his unit's retaliation weapon.

See Also