Difference between revisions of "ActionWML"

From The Battle for Wesnoth Wiki
m (+ category WML Reference ... but now I really finish.)
(Where ActionWML can be used: Acknowledge other types of loops)
 
(6 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
{{WML Tags}}
 
'''ActionWML''' is a summarizing term for all '''WML actions''' which can be used in events and some other places.
 
'''ActionWML''' is a summarizing term for all '''WML actions''' which can be used in events and some other places.
  
Line 12: Line 13:
 
** note: [event] can also be a subtag of [unit], [era] and [scenario], where it would not be counted as ActionWML (but has nearly the same syntax).
 
** note: [event] can also be a subtag of [unit], [era] and [scenario], where it would not be counted as ActionWML (but has nearly the same syntax).
 
* [lua] ([[LuaWML]]) which contains Lua code to be executed, and
 
* [lua] ([[LuaWML]]) which contains Lua code to be executed, and
* all tags created from lua with [[LuaWML:Events#wesnoth.register_wml_action|wesnoth.register_wml_action]] (if they don't fit in one of the categories above)
+
* all tags created from lua in [[LuaWML:Events#wesnoth.wml_actions|wesnoth.wml_actions]] (if they don't fit in one of the categories above)
  
 
When the ActionWML is executed, all its action tags are executed in order.
 
When the ActionWML is executed, all its action tags are executed in order.
Line 21: Line 22:
 
* inside an [event], to define a event handler (see [[EventWML]]),
 
* inside an [event], to define a event handler (see [[EventWML]]),
 
* inside a [then] or [else] of an [if] tag (see [[ConditionalActionsWML]]),
 
* inside a [then] or [else] of an [if] tag (see [[ConditionalActionsWML]]),
* inside a [case] or [else} of a [switch] tag  (see [[ConditionalActionsWML]]),
+
* inside a [case] or [else] of a [switch] tag  (see [[ConditionalActionsWML]]),
* inside the [do] of a [while] tag  (see [[ConditionalActionsWML]]),
+
* inside the [do] of a [while] or other loop tag  (see [[ConditionalActionsWML]]),
 
* inside a [command] tag (in [option] or [set_menu_item] or directly as ActionWML) (see [[InterfaceActionsWML]]),
 
* inside a [command] tag (in [option] or [set_menu_item] or directly as ActionWML) (see [[InterfaceActionsWML]]),
 
* in certain Lua-created tags (if the registered WML action handler interprets the content as ActionWML).
 
* in certain Lua-created tags (if the registered WML action handler interprets the content as ActionWML).
  
  
On most other places ActionWML code will either be ignored, give error messages or interpreted differently (there may be some tags which are both ActionWML and have similar or different meanings in other places, like [event]).
+
In most other places, ActionWML code may be ignored or give error messages. In some cases it will be interpreted differently there are some tags which are ActionWML and also have similar or different meanings in other places, like [event], [item], or [object].
  
  
 
[[Category:ActionsWML]]
 
[[Category:ActionsWML]]
 
[[Category:WML Reference]]
 
[[Category:WML Reference]]

Latest revision as of 09:22, 5 December 2022

[edit]WML Tags

A:

abilities, about, achievement, achievement_group, add_ai_behavior, advanced_preference, advancefrom, advancement, advances, affect_adjacent, ai, allied_with, allow_end_turn, allow_extra_recruit, allow_recruit, allow_undo, and, animate, animate_unit, animation, aspect, attack (replay, weapon), attack_anim, attacks (special, stats), avoid;

B:

base_unit, background_layer, berserk, binary_path, break, brush;

C:

campaign, cancel_action, candidate_action, capture_village, case, chance_to_hit, change_theme, chat, checkbox, choice, choose, clear_global_variable, clear_menu_item, clear_variable, color_adjust, color_palette, color_range, command (action, replay), continue, core, credits_group, criteria;

D:

damage, damage_type, death, deaths, default, defend, defends, defense, delay, deprecated_message, destination, difficulty, disable, disallow_end_turn, disallow_extra_recruit, disallow_recruit, do, do_command, drains, draw_weapon_anim;

E:

editor_group, editor_music, editor_times, effect, else (action, animation), elseif, endlevel, end_turn (action, replay), enemy_of, engine, entry (credits, options), era, event, experimental_filter_ability, experimental_filter_ability_active, experimental_filter_specials, extra_anim;

F:

facet, facing, fake_unit, false, feedback, female, filter (concept, event), filter_adjacent, filter_adjacent_location, filter_attack, filter_attacker, filter_base_value, filter_condition, filter_defender, filter_enemy, filter_location, filter_opponent, filter_own, filter_owner, filter_radius, filter_recall, filter_second, filter_second_attack, filter_self, filter_side, filter_student, filter_vision, filter_weapon, filter_wml, find_path, fire_event, firststrike, floating_text, fonts, for, foreach, found_item, frame;

G:

game_config, get_global_variable, goal, gold, gold_carryover;

H:

harm_unit, has_ally, has_attack, has_unit, has_achievement, have_location, have_unit, heal_on_hit, heal_unit, healed_anim, healing_anim, heals, hide_help, hide_unit, hides;

I:

idle_anim, if (action, animation, intro), illuminates, image (intro, terrain), init_side, insert_tag, inspect, item, item_group;

J:

jamming_costs, join;

K:

kill, killed;

L:

label, language, leader, leader_goal, leadership, leading_anim, levelin_anim, levelout_anim, lift_fog, limit, literal, load_resource, locale, lock_view, lua;

M:

male, menu_item, message, micro_ai, missile_frame, modification, modifications, modify_ai, modify_side, modify_turns, modify_unit, modify_unit_type, move, move_unit, move_unit_fake, move_units_fake, movement_anim, movement costs, movetype, multiplayer, multiplayer_side, music;

N:

not, note;

O:

object, objective, objectives, on_undo, open_help, option, options, or;

P:

part, petrifies, petrify, place_shroud, plague, poison, post_movement_anim, pre_movement_anim, primary_attack, primary_unit, print, progress_achievement, put_to_recall_list;

R:

race, random_placement, recall (action, replay), recalls, recruit, recruit_anim, recruiting_anim, recruits, redraw, regenerate, remove_event, remove_item, remove_object, remove_shroud, remove_sound_source, remove_time_area, remove_trait, remove_unit_overlay, repeat, replace_map, replace_schedule, replay, replay_start, reset_fog, resistance (ability, unit), resistance_defaults, resolution, resource, return, role, rule;

S:

save, scenario, screen_fade, scroll, scroll_to, scroll_to_unit, secondary_attack, secondary_unit, section, select_unit, sequence, set_achievement, set_extra_recruit, set_global_variable, set_menu_item, set_recruit, set_specials, set_variable, set_variables, sheath_weapon_anim, show_if (message, objective, set_menu_item), show_objectives, side, skirmisher, slider, slow, snapshot, sound, sound_source, source (replay, teleport), special_note, specials, split, stage, standing_anim, statistics, status, store_gold, store_items, store_locations, store_map_dimensions, store_reachable_locations, store_relative_direction, store_side, store_starting_location, store_time_of_day, store_turns, store_unit, store_unit_defense, store_unit_defense_on, store_unit_type, store_unit_type_ids, store_villages, story, swarm, sub_achievement, switch, sync_variable;

T:

target, team, teleport (ability, action), teleport_anim, terrain, terrain_defaults, terrain_graphics, terrain_mask, terrain_type, test, test_condition, test_do_attack_by_id, text_input, textdomain, theme, then, tile, time, time_area, topic, toplevel, trait, transform_unit, traveler, true, tunnel;

U:

unhide_unit, unit (action, scenario), unit_overlay, unit_type, unit_worth, units, unlock_view, unpetrify, unstore_unit, unsynced;

V:

value, variable, variables, variant, variation, victory_anim, village, vision_costs, volume;

W:

while, wml_message, wml_schema;

Z:

zoom;

ActionWML is a summarizing term for all WML actions which can be used in events and some other places.

Types of ActionWML

When a tag permits ActionWML as content, this means that it permits a sequence of any of the following tags:

  • direct actions (DirectActionsWML) which have a direct effect on gameplay
  • display actions (InterfaceActionsWML) which show something to the user
  • internal actions (InternalActionsWML) which are used by WML internally
  • conditional actions (ConditionalActionsWML) which contain other actions, which then are (maybe) executed ([if], [switch], [while], [command])
  • [event] (see EventWML) which creates a new event handler
    • note: [event] can also be a subtag of [unit], [era] and [scenario], where it would not be counted as ActionWML (but has nearly the same syntax).
  • [lua] (LuaWML) which contains Lua code to be executed, and
  • all tags created from lua in wesnoth.wml_actions (if they don't fit in one of the categories above)

When the ActionWML is executed, all its action tags are executed in order.

Where ActionWML can be used

ActionWML can be used:

  • inside an [event], to define a event handler (see EventWML),
  • inside a [then] or [else] of an [if] tag (see ConditionalActionsWML),
  • inside a [case] or [else] of a [switch] tag (see ConditionalActionsWML),
  • inside the [do] of a [while] or other loop tag (see ConditionalActionsWML),
  • inside a [command] tag (in [option] or [set_menu_item] or directly as ActionWML) (see InterfaceActionsWML),
  • in certain Lua-created tags (if the registered WML action handler interprets the content as ActionWML).


In most other places, ActionWML code may be ignored or give error messages. In some cases it will be interpreted differently – there are some tags which are ActionWML and also have similar or different meanings in other places, like [event], [item], or [object].

This page was last edited on 5 December 2022, at 09:22.