Difference between revisions of "TerrainWML"

From The Battle for Wesnoth Wiki
(cleaned up image, symbol_image and added editor_image)
(Remove DevFeature, highlight tags and attributes)
Line 2: Line 2:
 
== the toplevel [terrain] tag ==
 
== the toplevel [terrain] tag ==
  
the [terrain] tag describes a terrain in WML.
+
The [terrain] tag describes a terrain in WML.
 
Terrains are usually described in the terrain.cfg file
 
Terrains are usually described in the terrain.cfg file
  
 
the [terrain] tag has the following keys and subtags
 
the [terrain] tag has the following keys and subtags
* ''symbol_image'' an image used for this terrain in the minimap
+
* '''symbol_image''': an image used for this terrain in the minimap
* ''editor_image'' an image used for this terrain in the map editor if not defined uses symbol_image {{DevFeature}}
+
* '''editor_image''': an image used for this terrain in the map editor if not defined uses symbol_image
* ''adjacent_image'' a prefix for adjacent terrain images. they will be postfixed with the orientation of the border to give the image name that will be used for the border terrain
+
* '''adjacent_image''': a prefix for adjacent terrain images. they will be postfixed with the orientation of the border to give the image name that will be used for the border terrain
* ''name'' the name of the terrain
+
* '''name''': the name of the terrain
* ''char'' the character used to represent this terrain in maps and scenarios
+
* '''string''': this is the string that represents the terrain in maps and scenarions
* ''aliasof'' characters representing terrains that this terrain will be an alias of. This is a list of characters, with the + and - signs having special meanings. the string is read left to right taking the best value. when a minus sign is encountered, it starts taking the worst instead. the plus sign reverts it back to the best
+
* '''unit_height_adjust''': how much the unit graphic should be moved up or down when on that terrain
* ''def_alias'' like ''aliasof'' but overides it for defense calculation only
+
* '''submerge''': float, between 0 and 1: stems how much of the unit graphic should be submerged by the terrain
* ''mvt_alias'' like ''aliasof'' but overides it for movement calculation only
+
* '''no_overlay''': whether this terrain should be overwritten by other terrain's borders; 'no_overlay=true' terrains are not overwritten.
* ''unit_height_adjust'' how much the unit graphic should be moved up or down when on that terrain
+
* '''light''': signed value: this will modified local light level on that hex by that amount for gameplay
* ''submerge'' float, between 0 and 1: stems how much of the unit graphic should be submerged by the terrain
+
* '''heals''': signed value: this value is the amount of HP an unit will be healed at the start of every turn. (If set to true a unit on that terrain will be healed 8 HP at the start of every turn, this notation is deappriciated and support might stop at some point.)
* ''no_overlay'' whether this terrain should be overwritten by other terrain's borders; 'no_overlay=true' terrains are not overwritten.
+
* '''gives_income''': if set to true, this terrain will give income every turn when flagged as if it were a village
* ''light'' signed value: this will modified local light level on that hex by that amount for gameplay
+
* '''recruit_onto''': if set to true, it is possible to recruit or recall on that terrain
* ''heals'' signed value: this value is the amount of HP an unit will be healed at the start of every turn. (If set to true a unit on that terrain will be healed 8 HP at the start of every turn, this notation is deappriciated and support might stop at some point.)
+
* '''recruit_from''': if set to true it is possible to recruit when a unit that can recruit is on that terrain
* ''gives_income'' if set to true, this terrain will give income every turn when flagged as if it were a village
+
* '''aliasof''': comma separated string representing terrains that this terrain will be an alias of. This is a list of characters, with the + and - signs having special meanings. the string is read left to right taking the best value. when a minus sign is encountered, it starts taking the worst instead. the plus sign reverts it back to the best (note after a + or - a comma is also required. In order to include a + sign the entire line must be placed between double quotes.)
* ''recruit_onto'' if set to true, it is possible to recruit or recall on that terrain
+
* '''def_alias''': like ''aliasof'' but overides it for defense calculation only
* ''recruit_from'' if set to true it is possible to recruit when a unit that can recruit is on that terrain
+
* '''mvt_alias''': like ''aliasof'' but overides it for movement calculation only
 +
* '''income_description''': for terrains with ''gives_income'' and owned by nobody this text is shown in the terrain description in the top bar before the brackets. This tag is optional, if not supplied Wesnoth will assume the terrain is a village and sets an appropriate message.
 +
* '''income_description_ally''': like ''income_description'' but if owned by an ally
 +
* '''income_description_enemy''': like ''income_description'' but if owned by an enemy
 +
* '''income_description_own''': like ''income_description'' but if owned by yourself
 +
* '''editor_group''': a comma separated list of editor_group ids to which this terrain belongs.
  
'''''[[User:SkeletonCrew#Branch_terrain|(SVN terrain only)]]'''''
 
In this version some things have changed including some existing tags, modifications are listed here
 
* ''char'' this is only used for backwards compability to read old map files, once the compability layer is removed from the code using this field is deapreciated
 
* ''string'' this is the new string to represent the terrain in maps and scenarions
 
* ''aliasof'' comma seperated string representing terrains that this terrain will be an alias of. This is a list of characters, with the + and - signs having special meanings. the string is read left to right taking the best value. when a minus sign is encountered, it starts taking the worst instead. the plus sign reverts it back to the best (note after a + or - a comma is also required. In order to include a + sign the entire line must be placed between double quotes.)
 
* ''def_alias'' like ''aliasof'' but overides it for defense calculation only
 
* ''mvt_alias'' like ''aliasof'' but overides it for movement calculation only
 
* ''income_description'' for terrains with ''gives_income'' and owned by nobody this text is shown in the terrain description in the top bar before the brackets. This tag is optional, if not supplied Wesnoth will assume the terrain is a village and sets an appropriate message.
 
* ''income_description_ally'' like ''income_description'' but if owned by an ally
 
* ''income_description_enemy'' like ''income_description'' but if owned by an enemy
 
* ''income_description_own'' like ''income_description'' but if owned by yourself
 
* ''editor_group'' a comma separated list of editor_group id's
 
  
 
== See Also ==
 
== See Also ==

Revision as of 16:06, 19 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, variation, victory_anim, village, vision_costs, volume;

W:

while, wml_message, wml_schema;

Z:

zoom;

the toplevel [terrain] tag

The [terrain] tag describes a terrain in WML. Terrains are usually described in the terrain.cfg file

the [terrain] tag has the following keys and subtags

  • symbol_image: an image used for this terrain in the minimap
  • editor_image: an image used for this terrain in the map editor if not defined uses symbol_image
  • adjacent_image: a prefix for adjacent terrain images. they will be postfixed with the orientation of the border to give the image name that will be used for the border terrain
  • name: the name of the terrain
  • string: this is the string that represents the terrain in maps and scenarions
  • unit_height_adjust: how much the unit graphic should be moved up or down when on that terrain
  • submerge: float, between 0 and 1: stems how much of the unit graphic should be submerged by the terrain
  • no_overlay: whether this terrain should be overwritten by other terrain's borders; 'no_overlay=true' terrains are not overwritten.
  • light: signed value: this will modified local light level on that hex by that amount for gameplay
  • heals: signed value: this value is the amount of HP an unit will be healed at the start of every turn. (If set to true a unit on that terrain will be healed 8 HP at the start of every turn, this notation is deappriciated and support might stop at some point.)
  • gives_income: if set to true, this terrain will give income every turn when flagged as if it were a village
  • recruit_onto: if set to true, it is possible to recruit or recall on that terrain
  • recruit_from: if set to true it is possible to recruit when a unit that can recruit is on that terrain
  • aliasof: comma separated string representing terrains that this terrain will be an alias of. This is a list of characters, with the + and - signs having special meanings. the string is read left to right taking the best value. when a minus sign is encountered, it starts taking the worst instead. the plus sign reverts it back to the best (note after a + or - a comma is also required. In order to include a + sign the entire line must be placed between double quotes.)
  • def_alias: like aliasof but overides it for defense calculation only
  • mvt_alias: like aliasof but overides it for movement calculation only
  • income_description: for terrains with gives_income and owned by nobody this text is shown in the terrain description in the top bar before the brackets. This tag is optional, if not supplied Wesnoth will assume the terrain is a village and sets an appropriate message.
  • income_description_ally: like income_description but if owned by an ally
  • income_description_enemy: like income_description but if owned by an enemy
  • income_description_own: like income_description but if owned by yourself
  • editor_group: a comma separated list of editor_group ids to which this terrain belongs.


See Also