From The Battle for Wesnoth Wiki

[edit]WML Tags


abilities, about, add_ai_behavior, advance, 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, attack_anim, attacks, avoid;


base_unit, berserk, binary_path, break, brush;


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_range, command (action, replay), continue, criteria;


damage, 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;


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


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_vision, filter_weapon, filter_wml, find_path, fire_event, firststrike, floating_text, found_item, for, foreach, frame;


game_config, get_global_variable, goal, gold, gold_carryover;


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


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


jamming_costs, join;


kill, killed;


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


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;


not, note;


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


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


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_unit_overlay, repeat, replace_map, replace_schedule, replay, replay_start, reset_fog, resistance (ability, unit), resistance_defaults, resource, return, role, rule;


save, scenario, scroll, scroll_to, scroll_to_unit, secondary_attack, secondary_unit, section, select_unit, sequence, set_extra_recruit, set_global_variable, set_menu_item, set_recruit, set_specials, set_variable, set_variables, sheath_weapon_anim, show_if (message, 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, switch, sync_variable;


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


unhide_unit, unit, unit_overlay, unit_type, unit_worth, units, unlock_view, unpetrify, unstore_unit, unsynced;


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


while, wml_message, wml_schema;



the [side] tag

The [side] tag is used to describe a side in a particular scenario.

The following keys are recognized:

  • side: a number. The leader of this side is placed on the tile represented by this number (see BuildingMaps). When defining sides, they must be defined in order since the side number is checked against the number of sides seen so far. Currently, the Multiplayer server rejects entering a scenario with more than 9 sides, even if those extra sides are AI sides.
  • controller: how moves for this side should be inputted.
    • ai: the Wesnoth AI makes this side's moves. This is the default setting.
    • human: a player controls this side's moves.
    • null: the side doesn't get a turn to move and doesn't have a leader generated from the contents of the [side] tag. (It still can get units from [unit] tags in the [side] tag.)
  • no_leader: if "no" (default), then keys describing a unit which will begin on the side's keep will be the remainder of the [side] tag, See SingleUnitWML. Note that if the keys x, y are included, the leader will begin there regardless of keep location. If this side has a recall list from a previous level, then the recall list will be searched for a leader (using canrecruit=yes) and if one is found it will be used instead of the one described in the [side] tag. Typical keys used for defining the leader unit are type (mandatory), id, name and unrenamable=yes, see SingleUnitWML.
  • recruit: a list of unit types. At the beginning of the scenario, the side gains recruitment of these units.
  • gold: the starting gold for this side. Default 100. (If gold is carried over from a previous scenario, this value is the minimum starting gold.)
  • income: the base income for this side, default 0. This is added to base_income, [game_config] to determine the side's base income. (see GameConfigWML).
  • hidden: if 'yes', side is not shown in status table.
  • fog: if 'yes', this side cannot see any tiles it is not within vision of, except at the start. Please note that the AI currently ignores the fog.
  • fog_data: describes the area which this team has de-fogged, using the same format as shroud_data. (This is not particularly useful when defining a side, though, as the game will recalculate fog as turns begin and end. Template:DevFeature1.11It is used in saved games.)
  • shroud: if 'yes', this side cannot see any tiles it has not moved within sight of. Please note that the AI currently ignores the shroud. NOTE: with shroud=no, this team *ignores* shroud, so it is not possible to modify it using place_shroud and remove_shroud tags. If you want to do so, use "shroud=yes" and place_shroud/remove_shroud tags.
  • shroud_data: describes the area which this team has de-shrouded. An example:
This would leave the first column on the map unaltered and would change the second column for 11 tiles. A '0' means: shrouded, '1' means unshrouded. You can either call an external file using {@filename} (see PreprocessorRef) or place the data in quotes. For making an external file see BuildingScenariosShroudData.
  • persistent: whether the side exists in any other scenarios. If yes, then save_id (see below) is used to identify the side in other scenarios. Defaults to yes for sides with a human controller, and no for ai controlled sides.
  • save_id: defaults to the leader's id if available, 'Unknown' otherwise. The ID of the side with respect to the previous and next scenarios. Used to carry over the side's recall list (including the side's leader), recruitment list, and starting gold from scenario to scenario. Also used for the side's displayed name in the victory gold-calculation dialog. (For versions prior to 1.7.3, some extra effort to retrieve carryover information may be needed. See SideSwitchingWML)
  • team_name: a non translatable string representing the team's description. Sides with the same team_name are allied. Default side. team_name is now a comma-separated list of teams that the side is on.
  • user_team_name: a translatable string representing the team's description. This has no effect on alliances. Default team_name.
  • current_player: a translatable string representing the player's or leader's name. Defaults to the leader's id; if the side's leader is a human player in multiplayer, the default is the player's username.
  • color: May be either a numeric color index or a color name (e.g. 'blue', 'purple', 'orange', etc.). The numeric form is deprecated. The default list of numbers and corresponding colors can be found in data/core/team_colors.cfg.
  • flag: a custom flag animation to use instead of the default one to mark captured villages. An automatic side-coloring is applied.
    • Example animation that has three frames and loops every 750ms: flag=misc/myflag-1.png:250,misc/myflag-2.png:250,misc/myflag-3.png:250
  • flag_icon: a custom flag icon to indicate the side playing in the statusbar (a size of 24x16 is recommended). An automatic side-coloring is applied.
  • village_gold: the amount of gold given to this side per village it controls per turn. Default specified in village_income, [game_config] (GameConfigWML).
  • village_support: Template:DevFeature1.11 the number of unit levels this side is able to support (does not pay upkeep on) per village it controls. Default specified in village_support, [game_config] (GameConfigWML).
  • recall_cost: the amount of gold it costs to recall a unit. Default specified in recall_cost, [game_config] (GameConfigWML).
  • share_maps: whether sides allied with this side see all terrains that this side sees, if they are on shroud.
  • share_view: whether sides allied with this side see the units that this side sees, if they are on FoW (fog).
  • scroll_to_leader: optional. If 'no', scroll to the leader is not performed on the start of each turn. (default: yes)
  • suppress_end_turn_confirmation: Template:DevFeature1.11 If "yes", then the player will not be asked to confirm ending their turn even if they have not done anything. This is provided for some (probably few) user-made scenarios in which players often skip their turns. (default: no)
  • [ai] if controller=ai, gives parameters to the AI. See AiWML.
  • [village] describes a village the side begins in control of.
    • x, y the location of the village. If the pair of coordinates is not a village or is duplicated in another [village] tag, behaviour is undefined. Recent game engine or wmllint should warn about these.
  • [unit] describes a unit which begins on the side. See SingleUnitWML. If the side has a recall list and the unit is not given a location, it will start on the recall list. Note that the side attribute under [unit] will be ignored, as the side will come from the side attribute of [side].

The following keys are multiplayer only:

  • allow_player: if false then this side will not be allowed to be modified and will be hidden during game creation. (default: no if controller is ai, otherwise yes)
  • disallow_observers: prevents observers from seeing this side turn. (default: no)
  • team_lock: if true then this side's team is not allowed to be modified.
  • color_lock: if true then this side's color is not allowed to be modified.
  • gold_lock: if true then this side's gold is not allowed to be modified.
  • income_lock: if true then this side's income is not allowed to be modified.
  • faction: this lock this side to this faction.
  • faction_from_recruit: if true then this side will be locked to the faction that matches the recruits better.

See Also