Difference between revisions of "ReplayWML"
From The Battle for Wesnoth Wiki
(→The [command] tag) |
(→The [command] tag: Add another anchor) |
||
(24 intermediate revisions by 14 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{WML Tags}} | ||
== The [command] tag == | == The [command] tag == | ||
− | The '''[command]''' tag is used to specify an action in a replay. | + | The '''[command]''' tag is used to specify an action in a replay. It has the following attributes: |
− | The following tags are recognized: | + | * '''dependent''' if true, this command is not a lone-standing command and instead belongs to an earlier command, for example an advancement choice for an earlier attack command which issued an advancement. |
− | * '''[start]''' is used to initialize the replay so that generated random numbers can be saved. | + | * '''from_side''' the side which issued the command. Only present for dependent commands. |
− | * '''[move]''' the player moved a unit. | + | * '''sent''' used internally in networked mp, to know which commands were already sent to the other clients. |
− | ** ''' | + | The following tags are recognized for dependent=no(default): |
− | ** ''' | + | * {{anchor|start|'''[start]'''}}: is used to initialize the replay so that generated random numbers can be saved. |
− | * '''[recruit]''' the player recruited a unit. | + | * {{anchor|move|'''[move]'''}}: the player moved a unit. |
− | ** '' | + | ** '''x,y''': the path the unit walks. |
− | ** ''x'' and ''y'' the | + | ** '''skip_sighted''': whether the unit doesn't stop when discovering another unit, possible values are 'only_ally', 'all' or no, (default no). |
− | * '''[recall]''' the player recalled a unit. Same keys as [recruit], except that the | + | * {{anchor|recruit|'''[recruit]'''}}: the player recruited a unit. |
− | * '''[attack]''' the player attacked. | + | ** '''type''': the id of the type of unit recruited. |
− | ** ''weapon'' the index number of the weapon. Weapons are indexed by the unit designer. | + | ** '''x''' and '''y''': the castle tile the unit is recruited on. |
− | ** '''[source]''' the location of the attacking unit. | + | ** '''[from]''' |
− | ** '''[destination]''' the location of the defending unit. | + | *** '''x''' and '''y''': the keep tile the unit is recruited from. |
− | * '''[ | + | * {{anchor|recall|'''[recall]'''}}: the player recalled a unit. Same keys as [recruit], except that '''value''' is the id of the unit being recalled. |
− | * ''' | + | * {{anchor|attack|'''[attack]'''}}: the player attacked. |
− | * | + | ** '''weapon''': the index number of the weapon. Weapons are indexed by the unit designer. |
− | * '''[ | + | ** '''defender_weapon''': the index number of the defenders weapon. Weapons are indexed by the unit designer, '-1' to choose the best weapon locally. The '-1' option is deprecated because it can cause OOS. |
− | * '''[ | + | ** '''[source]''': the location of the attacking unit. |
− | ** '' | + | ** '''[destination]''': the location of the defending unit. |
− | * | + | * {{anchor|disband|'''[disband]'''}}: the player removes a unit from his recall list. |
− | ** | + | ** '''value''' the id of the removed unit. |
− | ** | + | * {{anchor|end_turn|'''[end_turn]'''}}: the player ended his turn. |
− | *** ''dies'' whether the defender dies from the hit. | + | * {{anchor|init_side|'''[init_side]'''}}: new turn is starting for a side. This fires begin of turn events. |
− | * | + | * {{anchor|fire_event|'''[fire_event]'''}}: a specific event was raised. This is mainly used for right-click menu items. ([set_menu_item]) |
− | ** ''' | + | ** '''raise''': the name of the event |
+ | ** '''[source]''': the location of the event | ||
+ | ** '''[set_variable]''' (deprecated): set WML variable(s) before firing. | ||
+ | *** '''name''': the name of the variable | ||
+ | *** '''value''': a string value (literal) | ||
+ | * {{anchor|lua_ai|'''[lua_ai]'''}}: {{DevFeature1.13|12}} This has been removed. | ||
+ | ** '''code''' the lua code that is executed. | ||
+ | * {{anchor|custom_command|'''[custom_command]'''}}: {{DevFeature1.13|12}} Executes a custom command registered by Lua code | ||
+ | ** '''name''': The name of the custom command to run. | ||
+ | ** '''[data]''': Arbitrary data to be passed to the custom command. | ||
+ | * {{anchor|auto_shroud|'''[auto_shroud]'''}}: a player toggled delayed shroud update | ||
+ | ** '''active''' whether automatic shroud updates will be active. | ||
+ | * {{anchor|update_shroud|'''[update_shroud]'''}}: a player manually updated shroud. | ||
+ | |||
+ | Non dependent commands can have a [checkup] tag which is used to check whether the data generated in the replay matches the data generated during the original game, The [checkup] tag can contain different [result] tags whose content is different for the different actions. | ||
+ | For [attack] commands the [result]s give information about the single hits and can have the following attributes: | ||
+ | ** '''chance''': the percent chance that the attack had to hit. | ||
+ | ** '''damage''': the amount of damage that the attack would do if it hits. | ||
+ | ** '''hits''': whether the attack hits. | ||
+ | ** '''dies''': whether the defender dies from the hit. | ||
+ | |||
+ | The following tags are recognized for dependent=true: | ||
+ | * {{anchor|choose|'''[choose]'''}}: the player was given an option by the scenario or for an advancement path. | ||
+ | ** '''value''': the index number of the option chosen. Index numbers are given by the scenario designer. | ||
+ | * {{anchor|input|'''[input]'''}}: if a lua code used [[LuaWML:Misc#wesnoth.synchronize_choice]] this tag contains the returned table. | ||
+ | * {{anchor|global_variable|'''[global_variable]'''}}: a WML code used with [get_global_variable] | ||
+ | * {{anchor|random_seed|'''[random_seed]'''}}: A user actions uses the rng and thus new random seed is needed. | ||
== See Also == | == See Also == | ||
* [[SavefileWML]] | * [[SavefileWML]] | ||
* [[ReferenceWML]] | * [[ReferenceWML]] | ||
+ | |||
+ | |||
+ | [[Category: WML Reference]] |
Latest revision as of 05:41, 27 February 2024
The [command] tag
The [command] tag is used to specify an action in a replay. It has the following attributes:
- dependent if true, this command is not a lone-standing command and instead belongs to an earlier command, for example an advancement choice for an earlier attack command which issued an advancement.
- from_side the side which issued the command. Only present for dependent commands.
- sent used internally in networked mp, to know which commands were already sent to the other clients.
The following tags are recognized for dependent=no(default):
- [start]: is used to initialize the replay so that generated random numbers can be saved.
- [move]: the player moved a unit.
- x,y: the path the unit walks.
- skip_sighted: whether the unit doesn't stop when discovering another unit, possible values are 'only_ally', 'all' or no, (default no).
- [recruit]: the player recruited a unit.
- type: the id of the type of unit recruited.
- x and y: the castle tile the unit is recruited on.
- [from]
- x and y: the keep tile the unit is recruited from.
- [recall]: the player recalled a unit. Same keys as [recruit], except that value is the id of the unit being recalled.
- [attack]: the player attacked.
- weapon: the index number of the weapon. Weapons are indexed by the unit designer.
- defender_weapon: the index number of the defenders weapon. Weapons are indexed by the unit designer, '-1' to choose the best weapon locally. The '-1' option is deprecated because it can cause OOS.
- [source]: the location of the attacking unit.
- [destination]: the location of the defending unit.
- [disband]: the player removes a unit from his recall list.
- value the id of the removed unit.
- [end_turn]: the player ended his turn.
- [init_side]: new turn is starting for a side. This fires begin of turn events.
- [fire_event]: a specific event was raised. This is mainly used for right-click menu items. ([set_menu_item])
- raise: the name of the event
- [source]: the location of the event
- [set_variable] (deprecated): set WML variable(s) before firing.
- name: the name of the variable
- value: a string value (literal)
- [lua_ai]: (Version 1.13.12 and later only) This has been removed.
- code the lua code that is executed.
- [custom_command]: (Version 1.13.12 and later only) Executes a custom command registered by Lua code
- name: The name of the custom command to run.
- [data]: Arbitrary data to be passed to the custom command.
- [auto_shroud]: a player toggled delayed shroud update
- active whether automatic shroud updates will be active.
- [update_shroud]: a player manually updated shroud.
Non dependent commands can have a [checkup] tag which is used to check whether the data generated in the replay matches the data generated during the original game, The [checkup] tag can contain different [result] tags whose content is different for the different actions. For [attack] commands the [result]s give information about the single hits and can have the following attributes:
- chance: the percent chance that the attack had to hit.
- damage: the amount of damage that the attack would do if it hits.
- hits: whether the attack hits.
- dies: whether the defender dies from the hit.
The following tags are recognized for dependent=true:
- [choose]: the player was given an option by the scenario or for an advancement path.
- value: the index number of the option chosen. Index numbers are given by the scenario designer.
- [input]: if a lua code used LuaWML:Misc#wesnoth.synchronize_choice this tag contains the returned table.
- [global_variable]: a WML code used with [get_global_variable]
- [random_seed]: A user actions uses the rng and thus new random seed is needed.
See Also
This page was last edited on 27 February 2024, at 05:41.