Difference between revisions of "ReplayWML"
From The Battle for Wesnoth Wiki
(→The [command] tag) |
(→The [command] tag: Add another anchor) |
||
(9 intermediate revisions by 5 users not shown) | |||
Line 2: | Line 2: | ||
== 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: |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* '''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. | * '''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. | * '''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. | * '''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): | The following tags are recognized for dependent=no(default): | ||
− | * '''[start]''': is used to initialize the replay so that generated random numbers can be saved. | + | * {{anchor|start|'''[start]'''}}: is used to initialize the replay so that generated random numbers can be saved. |
− | * '''[move]''': the player moved a unit. | + | * {{anchor|move|'''[move]'''}}: the player moved a unit. |
** '''x,y''': the path the unit walks. | ** '''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). | ** '''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. | + | * {{anchor|recruit|'''[recruit]'''}}: the player recruited a unit. |
** '''type''': the id of the type of unit recruited. | ** '''type''': the id of the type of unit recruited. | ||
** '''x''' and '''y''': the castle tile the unit is recruited on. | ** '''x''' and '''y''': the castle tile the unit is recruited on. | ||
** '''[from]''' | ** '''[from]''' | ||
*** '''x''' and '''y''': the keep tile the unit is recruited 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. | + | * {{anchor|recall|'''[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. | + | * {{anchor|attack|'''[attack]'''}}: the player attacked. |
** '''weapon''': the index number of the weapon. Weapons are indexed by the unit designer. | ** '''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. | + | ** '''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. | ** '''[source]''': the location of the attacking unit. | ||
** '''[destination]''': the location of the defending unit. | ** '''[destination]''': the location of the defending unit. | ||
− | * '''[disband]''': the player removes a unit from his recall list. | + | * {{anchor|disband|'''[disband]'''}}: the player removes a unit from his recall list. |
** '''value''' the id of the removed unit. | ** '''value''' the id of the removed unit. | ||
− | * '''[end_turn]''': the player ended his turn. | + | * {{anchor|end_turn|'''[end_turn]'''}}: the player ended his turn. |
− | * '''[init_side]''': new turn is starting for a side. This fires begin of turn events. | + | * {{anchor|init_side|'''[init_side]'''}}: new turn is starting for a side. This fires begin of turn events. |
− | * '''[fire_event]''': a specific event was raised | + | * {{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 | ** '''raise''': the name of the event | ||
** '''[source]''': the location of the event | ** '''[source]''': the location of the event | ||
− | ** '''[set_variable]''': set WML variable(s) before firing | + | ** '''[set_variable]''' (deprecated): set WML variable(s) before firing. |
*** '''name''': the name of the variable | *** '''name''': the name of the variable | ||
*** '''value''': a string value (literal) | *** '''value''': a string value (literal) | ||
− | * '''[lua_ai]''' | + | * {{anchor|lua_ai|'''[lua_ai]'''}}: {{DevFeature1.13|12}} This has been removed. |
** '''code''' the lua code that is executed. | ** '''code''' the lua code that is executed. | ||
− | * '''[auto_shroud]''' a player toggled delayed shroud | + | * {{anchor|custom_command|'''[custom_command]'''}}: {{DevFeature1.13|12}} Executes a custom command registered by Lua code |
− | ** '''active''' whether automatic | + | ** '''name''': The name of the custom command to run. |
− | * '''[update_shroud]''' a player manually updated | + | ** '''[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. | 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: | For [attack] commands the [result]s give information about the single hits and can have the following attributes: | ||
Line 84: | Line 47: | ||
** '''damage''': the amount of damage that the attack would do if it hits. | ** '''damage''': the amount of damage that the attack would do if it hits. | ||
** '''hits''': whether the attack hits. | ** '''hits''': whether the attack hits. | ||
− | |||
** '''dies''': whether the defender dies from the hit. | ** '''dies''': whether the defender dies from the hit. | ||
The following tags are recognized for dependent=true: | The following tags are recognized for dependent=true: | ||
− | * '''[choose]''': the player was given an option by the scenario or for an advancement path. | + | * {{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. | ** '''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. | + | * {{anchor|input|'''[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] | + | * {{anchor|global_variable|'''[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. | + | * {{anchor|random_seed|'''[random_seed]'''}}: A user actions uses the rng and thus new random seed is needed. |
== See Also == | == See Also == |
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.