Difference between revisions of "SideWML"

From The Battle for Wesnoth Wiki
m (the [side] tag: double "describe")
(the [side] tag: added the unit_description key that was missing)
Line 17: Line 17:
 
* ''type'' the unit type of the side's leader. This must be present if ''no_leader'' is not set to "yes." ''Description'', ''type'', ''x'', ''y'', ''profile'', and ''hitpoints'' are examples of keys from [[SingleUnitWML]] that will describe the leader if placed within the [side] tag.
 
* ''type'' the unit type of the side's leader. This must be present if ''no_leader'' is not set to "yes." ''Description'', ''type'', ''x'', ''y'', ''profile'', and ''hitpoints'' are examples of keys from [[SingleUnitWML]] that will describe the leader if placed within the [side] tag.
  
* ''description'' (translatable) the name of the side's leader. It is used in standard unit filter ([[FilterWML]]) and it is not affected by a player renaming a unit.
+
* ''description'' a unique identifier for the side's leader. This is not displayed to the player, but is to be used only for identifying and filtering for units. {{DevFeature}}
 +
 
 +
* ''user_description'' the name of the unit that is shown to the player. Note that the player may use the "rename unit" action to change this.
  
 
* ''unrenamable'' if "no" (default), the player can rename the unit. Renaming the unit alters the ''user_description'' key, so the ''description'' key can still be used for filtering. It is generally a good idea to set this to yes in campaigns since dialog will usually refer to the leader by name. It is technically possible to read ''user_description'' into a variable every time you want to call the leader by name, but this is a hassle.
 
* ''unrenamable'' if "no" (default), the player can rename the unit. Renaming the unit alters the ''user_description'' key, so the ''description'' key can still be used for filtering. It is generally a good idea to set this to yes in campaigns since dialog will usually refer to the leader by name. It is technically possible to read ''user_description'' into a variable every time you want to call the leader by name, but this is a hassle.

Revision as of 23:13, 2 February 2008

[edit]WML Tags

A:

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;

B:

base_unit, berserk, binary_path, break, brush;

C:

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

D:

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;

E:

editor_group, editor_music, editor_times, effect, else (action, animation), elseif, endlevel, end_turn (action, replay), enemy_of, engine, entry, era, event, 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_vision, filter_weapon, filter_wml, find_path, fire_event, firststrike, floating_text, for, foreach, frame, full_heal;

G:

game_config, get_global_variable, goal, gold, gold_carryover;

H:

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;

I:

idle_anim, if (action, animation), illuminates, image, 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, portrait, post_movement_anim, pre_movement_anim, primary_attack, primary_unit, print, 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_unit_overlay, repeat, replace_map, replace_schedule, replay, replay_start, reset_fog, resistance (ability, unit), resistance_defaults, resource, return, role, rule;

S:

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, 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_type, store_unit_type_ids, store_villages, story, swarm, switch, sync_variable;

T:

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;

U:

unhide_unit, unit, 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;

the [side] tag

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

The following keys are recognized:

  • side a digit. The leader of this side is placed on the tile represented by this digit (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.
  • 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) and if one is found it will be used instead of the one described in the [side] tag.
  • type the unit type of the side's leader. This must be present if no_leader is not set to "yes." Description, type, x, y, profile, and hitpoints are examples of keys from SingleUnitWML that will describe the leader if placed within the [side] tag.
  • description a unique identifier for the side's leader. This is not displayed to the player, but is to be used only for identifying and filtering for units. Template:DevFeature
  • user_description the name of the unit that is shown to the player. Note that the player may use the "rename unit" action to change this.
  • unrenamable if "no" (default), the player can rename the unit. Renaming the unit alters the user_description key, so the description key can still be used for filtering. It is generally a good idea to set this to yes in campaigns since dialog will usually refer to the leader by name. It is technically possible to read user_description into a variable every time you want to call the leader by name, but this is a hassle.
  • 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).
  • fog if 'yes', this side cannot see any tiles it is not within vision of, except at the start.
  • shroud if 'yes', this side cannot see any tiles it has not moved within sight of.
  • shroud_data describes the area which this team has de-shrouded. An example:
|
|00011111000

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 '1'(yes), then save_id(see below) becomes active for this side. Default '0'(no); when controller=human, this is always '1'.
  • save_id default description 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.
  • team_name a non translatable string representing the team's description. Sides with the same team_name are allied. Default side.
  • user_team_name a translatable string representing the team's description. This has no effect on alliances. Default team_name.
  • colour if you want side 4 to be the same colour as side 2 normally is, put colour=2.
    • The default list of numbers and corresponding colours can be found in data/team_colors.cfg.
    • Note that in Wesnoth 1.3.4 and later releases, the IDs of the color ranges shipped with Wesnoth are descriptive names (e.g. 'teal', 'orange', etc.), declared in data data/core/team_colors.cfg. Old numeric IDs are kept for backwards compatibility.
  • flag a custom flag animation to use instead of the default one to mark captured villages. Template:DevFeature 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 Template:DevFeature 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).
  • 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).
  • disallow_observers Template:DevFeature prevents observers from seeing this side turn. (default: no)
  • name, id, leader not used; see EraWML.
  • music music to play for this player. Default specified in [scenario] (see ScenarioWML).
  • [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.
  • [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.
  • team_lock if true then this side's team is not allowed to be modified.
  • colour_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.

See Also