Difference between revisions of "TerrainCodesWML"

From The Battle for Wesnoth Wiki
(Terrain strings '''''(SVN terrain only)''''': - updated terrain table, added ^ to terrain strings description)
Line 91: Line 91:
 
* terrain strings are between 2 and 4 characters
 
* terrain strings are between 2 and 4 characters
 
* terrain strings start with a capital letter and the following letters are lower case
 
* terrain strings start with a capital letter and the following letters are lower case
* terrain strings can only contain letters and the symbols /|\ which are meant for directional items like bridges.
+
* terrain strings can only contain letters, the symbols /|\ which are meant for directional items like bridges and the symbol ^
 
* the underscore is used for internal terrains
 
* the underscore is used for internal terrains
 
* the star '*' can be used for wildcards in some parts  
 
* the star '*' can be used for wildcards in some parts  
 +
* the symbol ^ usually points out that a terrain is created with layers, for example Gs^Fp means Forest(Fp) overlayer on Savanna(Gs).
  
 
Starting positions are defined by a number followed by 1 space and then the terrain string; this means that a starting position is no longer automatically a keep.
 
Starting positions are defined by a number followed by 1 space and then the terrain string; this means that a starting position is no longer automatically a keep.
Line 118: Line 119:
  
 
=== Terrain Table ===
 
=== Terrain Table ===
This is a list of the terrains, the strings used for them in the new map format, the letters used for them in the old map format, their id and the terrains they take their stats from.
+
This is a list of the terrains, the strings used for them in the new map format, the letters used for them in the old map format, their id and the terrains they take their stats from. Generated from terrain.cfg using terrain2wiki.
 +
 
 +
 
  
 
<table border="1"><tr>
 
<table border="1"><tr>
<th>ID</th>
 
 
<th>String</th>
 
<th>String</th>
 
<th>Old letter</th>
 
<th>Old letter</th>
Line 128: Line 130:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>off_map</td>
 
 
<td>_off^_usr</td>
 
<td>_off^_usr</td>
 
<td></td>
 
<td></td>
Line 135: Line 136:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>shroud</td>
 
 
<td>_s</td>
 
<td>_s</td>
 
<td></td>
 
<td></td>
Line 142: Line 142:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>fog</td>
 
 
<td>_f</td>
 
<td>_f</td>
 
<td>~</td>
 
<td>~</td>
Line 149: Line 148:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>ice</td>
 
 
<td>Ai</td>
 
<td>Ai</td>
 
<td>i</td>
 
<td>i</td>
Line 156: Line 154:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>tundra</td>
 
 
<td>Aa</td>
 
<td>Aa</td>
 
<td>S</td>
 
<td>S</td>
Line 163: Line 160:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>bridge</td>
 
 
<td>Ww^Bw|</td>
 
<td>Ww^Bw|</td>
 
<td>|</td>
 
<td>|</td>
Line 170: Line 166:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>bridgediag1</td>
 
 
<td>Ww^Bw/</td>
 
<td>Ww^Bw/</td>
 
<td>/</td>
 
<td>/</td>
Line 177: Line 172:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>bridgediag2</td>
 
 
<td>Ww^Bw\</td>
 
<td>Ww^Bw\</td>
 
<td>\</td>
 
<td>\</td>
Line 184: Line 178:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>bridgedeep</td>
 
 
<td>Wo^Bw|</td>
 
<td>Wo^Bw|</td>
 
<td></td>
 
<td></td>
Line 191: Line 184:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>bridgedeepdiag1</td>
 
 
<td>Wo^Bw/</td>
 
<td>Wo^Bw/</td>
 
<td></td>
 
<td></td>
Line 198: Line 190:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>bridgedeepdiag2</td>
 
 
<td>Wo^Bw\</td>
 
<td>Wo^Bw\</td>
 
<td></td>
 
<td></td>
Line 205: Line 196:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>bridgeswamp</td>
 
 
<td>Ss^Bw|</td>
 
<td>Ss^Bw|</td>
 
<td></td>
 
<td></td>
Line 212: Line 202:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>bridgeswampdiag1</td>
 
 
<td>Ss^Bw/</td>
 
<td>Ss^Bw/</td>
 
<td></td>
 
<td></td>
Line 219: Line 208:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>bridgeswampdiag2</td>
 
 
<td>Ss^Bw\</td>
 
<td>Ss^Bw\</td>
 
<td></td>
 
<td></td>
Line 226: Line 214:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>encampment</td>
 
 
<td>Ce</td>
 
<td>Ce</td>
 
<td>n</td>
 
<td>n</td>
Line 233: Line 220:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>castle</td>
 
 
<td>Ch</td>
 
<td>Ch</td>
 
<td>y</td>
 
<td>y</td>
Line 240: Line 226:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>castle</td>
 
 
<td>Cv</td>
 
<td>Cv</td>
 
<td>y</td>
 
<td>y</td>
Line 247: Line 232:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>dwarven_castle</td>
 
 
<td>Cud</td>
 
<td>Cud</td>
 
<td>o</td>
 
<td>o</td>
Line 254: Line 238:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>ruin</td>
 
 
<td>Chr</td>
 
<td>Chr</td>
 
<td>N</td>
 
<td>N</td>
Line 261: Line 244:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>sunkenruin</td>
 
 
<td>Chw</td>
 
<td>Chw</td>
 
<td>Q</td>
 
<td>Q</td>
Line 268: Line 250:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>swampruin</td>
 
 
<td>Chs</td>
 
<td>Chs</td>
 
<td>q</td>
 
<td>q</td>
Line 275: Line 256:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>encampment_keep</td>
 
 
<td>Ke</td>
 
<td>Ke</td>
 
<td></td>
 
<td></td>
Line 282: Line 262:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>human_keep</td>
 
 
<td>Kh</td>
 
<td>Kh</td>
 
<td></td>
 
<td></td>
Line 289: Line 268:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>elven_keep</td>
 
 
<td>Kv</td>
 
<td>Kv</td>
 
<td></td>
 
<td></td>
Line 296: Line 274:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>dwarven_keep</td>
 
 
<td>Kud</td>
 
<td>Kud</td>
 
<td></td>
 
<td></td>
Line 303: Line 280:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>ruined_keep</td>
 
 
<td>Khr</td>
 
<td>Khr</td>
 
<td></td>
 
<td></td>
Line 310: Line 286:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>sunken_keep</td>
 
 
<td>Khw</td>
 
<td>Khw</td>
 
<td></td>
 
<td></td>
Line 317: Line 292:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>swamp_keep</td>
 
 
<td>Khs</td>
 
<td>Khs</td>
 
<td></td>
 
<td></td>
Line 324: Line 298:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>crater</td>
 
 
<td>Dd^Dc</td>
 
<td>Dd^Dc</td>
 
<td></td>
 
<td></td>
Line 331: Line 304:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>desert</td>
 
 
<td>Dd</td>
 
<td>Dd</td>
 
<td>I</td>
 
<td>I</td>
Line 338: Line 310:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>sand_rubble</td>
 
 
<td>Dd^Dr</td>
 
<td>Dd^Dr</td>
 
<td></td>
 
<td></td>
Line 345: Line 316:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>sand</td>
 
 
<td>Ds</td>
 
<td>Ds</td>
 
<td>d</td>
 
<td>d</td>
Line 352: Line 322:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>oasis</td>
 
 
<td>Dd^Do</td>
 
<td>Dd^Do</td>
 
<td>P</td>
 
<td>P</td>
Line 359: Line 328:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>snow_forest</td>
 
 
<td>Aa^Fpa</td>
 
<td>Aa^Fpa</td>
 
<td>F</td>
 
<td>F</td>
Line 366: Line 334:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>great_tree</td>
 
 
<td>Gg^Fet</td>
 
<td>Gg^Fet</td>
 
<td>?</td>
 
<td>?</td>
Line 373: Line 340:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>forest</td>
 
 
<td>Gs^Fp</td>
 
<td>Gs^Fp</td>
 
<td>f</td>
 
<td>f</td>
Line 380: Line 346:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>tropical_forest</td>
 
 
<td>Gs^Ft</td>
 
<td>Gs^Ft</td>
 
<td>T</td>
 
<td>T</td>
Line 387: Line 352:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>grassland</td>
 
 
<td>Gg</td>
 
<td>Gg</td>
 
<td>g</td>
 
<td>g</td>
Line 394: Line 358:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>grassland_flowers</td>
 
 
<td>Ggf</td>
 
<td>Ggf</td>
 
<td></td>
 
<td></td>
Line 401: Line 364:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>savanna</td>
 
 
<td>Gs</td>
 
<td>Gs</td>
 
<td>G</td>
 
<td>G</td>
Line 408: Line 370:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>snow_hills</td>
 
 
<td>Ha</td>
 
<td>Ha</td>
 
<td>H</td>
 
<td>H</td>
Line 415: Line 376:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>desert_hills</td>
 
 
<td>Hd</td>
 
<td>Hd</td>
 
<td>J</td>
 
<td>J</td>
Line 422: Line 382:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>hills</td>
 
 
<td>Hh</td>
 
<td>Hh</td>
 
<td>h</td>
 
<td>h</td>
Line 429: Line 388:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>desert_mountains</td>
 
 
<td>Md</td>
 
<td>Md</td>
 
<td>M</td>
 
<td>M</td>
Line 436: Line 394:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>mountains</td>
 
 
<td>Mm</td>
 
<td>Mm</td>
 
<td>m</td>
 
<td>m</td>
Line 443: Line 400:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>canyon</td>
 
 
<td>Qxu</td>
 
<td>Qxu</td>
 
<td>X</td>
 
<td>X</td>
Line 450: Line 406:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>lava</td>
 
 
<td>Ql</td>
 
<td>Ql</td>
 
<td>l</td>
 
<td>l</td>
Line 457: Line 412:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>road</td>
 
 
<td>Rd</td>
 
<td>Rd</td>
 
<td>E</td>
 
<td>E</td>
Line 464: Line 418:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>dirt</td>
 
 
<td>Re</td>
 
<td>Re</td>
 
<td>r</td>
 
<td>r</td>
Line 471: Line 424:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>road</td>
 
 
<td>Rr</td>
 
<td>Rr</td>
 
<td>E</td>
 
<td>E</td>
Line 478: Line 430:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>farm</td>
 
 
<td>Re^Gvs</td>
 
<td>Re^Gvs</td>
 
<td></td>
 
<td></td>
Line 485: Line 436:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>swamp_water</td>
 
 
<td>Ss</td>
 
<td>Ss</td>
 
<td>w</td>
 
<td>w</td>
Line 492: Line 442:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>cave</td>
 
 
<td>Uu</td>
 
<td>Uu</td>
 
<td>u</td>
 
<td>u</td>
Line 499: Line 448:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>cave_beam</td>
 
 
<td>Uu^Ii</td>
 
<td>Uu^Ii</td>
 
<td>'</td>
 
<td>'</td>
Line 506: Line 454:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>fungus</td>
 
 
<td>Uu^Uf</td>
 
<td>Uu^Uf</td>
 
<td>]</td>
 
<td>]</td>
Line 513: Line 460:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>fungusabove</td>
 
 
<td>Re^Uf</td>
 
<td>Re^Uf</td>
 
<td></td>
 
<td></td>
Line 520: Line 466:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>rocky_cave</td>
 
 
<td>Uh</td>
 
<td>Uh</td>
 
<td>[</td>
 
<td>[</td>
Line 527: Line 472:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>rocky_cave_beam</td>
 
 
<td>Uh^Ii</td>
 
<td>Uh^Ii</td>
 
<td></td>
 
<td></td>
Line 534: Line 478:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>desert_village</td>
 
 
<td>Dd^Vda</td>
 
<td>Dd^Vda</td>
 
<td>U</td>
 
<td>U</td>
Line 541: Line 484:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>desert_village</td>
 
 
<td>Dd^Vdt</td>
 
<td>Dd^Vdt</td>
 
<td>U</td>
 
<td>U</td>
Line 548: Line 490:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>elven_snow_village</td>
 
 
<td>Aa^Vea</td>
 
<td>Aa^Vea</td>
 
<td>e</td>
 
<td>e</td>
Line 555: Line 496:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>village</td>
 
 
<td>Gg^Ve</td>
 
<td>Gg^Ve</td>
 
<td>t</td>
 
<td>t</td>
Line 562: Line 502:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>snow_village</td>
 
 
<td>Aa^Vha</td>
 
<td>Aa^Vha</td>
 
<td>V</td>
 
<td>V</td>
Line 569: Line 508:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>village</td>
 
 
<td>Gg^Vh</td>
 
<td>Gg^Vh</td>
 
<td>t</td>
 
<td>t</td>
Line 576: Line 514:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>hill_village</td>
 
 
<td>Hh^Vhh</td>
 
<td>Hh^Vhh</td>
 
<td>a</td>
 
<td>a</td>
Line 583: Line 520:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>snow-hill_village</td>
 
 
<td>Ha^Vhha</td>
 
<td>Ha^Vhha</td>
 
<td>A</td>
 
<td>A</td>
Line 590: Line 526:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>mountain_village</td>
 
 
<td>Mm^Vhh</td>
 
<td>Mm^Vhh</td>
 
<td>b</td>
 
<td>b</td>
Line 597: Line 532:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>tropical_forest_village</td>
 
 
<td>Gs^Vht</td>
 
<td>Gs^Vht</td>
 
<td>L</td>
 
<td>L</td>
Line 604: Line 538:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>underground_village</td>
 
 
<td>Uu^Vu</td>
 
<td>Uu^Vu</td>
 
<td>D</td>
 
<td>D</td>
Line 611: Line 544:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>dwarven_village</td>
 
 
<td>Uu^Vud</td>
 
<td>Uu^Vud</td>
 
<td>p</td>
 
<td>p</td>
Line 618: Line 550:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>mermen_village</td>
 
 
<td>Ww^Vm</td>
 
<td>Ww^Vm</td>
 
<td>Z</td>
 
<td>Z</td>
Line 625: Line 556:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>swamp_village</td>
 
 
<td>Ss^Vhs</td>
 
<td>Ss^Vhs</td>
 
<td>Y</td>
 
<td>Y</td>
Line 632: Line 562:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>swamp_merfolk-village</td>
 
 
<td>Ss^Vm</td>
 
<td>Ss^Vm</td>
 
<td></td>
 
<td></td>
Line 639: Line 568:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>deep_water</td>
 
 
<td>Wo</td>
 
<td>Wo</td>
 
<td>s</td>
 
<td>s</td>
Line 646: Line 574:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>shallow_water</td>
 
 
<td>Ww</td>
 
<td>Ww</td>
 
<td>c</td>
 
<td>c</td>
Line 653: Line 580:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>ford</td>
 
 
<td>Wwf</td>
 
<td>Wwf</td>
 
<td>k</td>
 
<td>k</td>
Line 660: Line 586:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>cloud</td>
 
 
<td>Mm^Xm</td>
 
<td>Mm^Xm</td>
 
<td>&</td>
 
<td>&</td>
Line 667: Line 592:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>clouddesert</td>
 
 
<td>Md^Xm</td>
 
<td>Md^Xm</td>
 
<td></td>
 
<td></td>
Line 674: Line 598:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>cavewall</td>
 
 
<td>Xu</td>
 
<td>Xu</td>
 
<td>W</td>
 
<td>W</td>
 
<td>Cave Wall</td>
 
<td>Cave Wall</td>
 
<td></td>
 
<td></td>
</tr>
 
 
</table>
 
 
==== Specials ====
 
These terrains are hardcoded in the game and translated
 
automatically. The old UMC terrains are here for backwards
 
compability this compability will only be guaranteed till
 
the next major release after 1.2.(That would be 1.4 or 2.0.)
 
As stated before the * will no longer be supported.
 
 
<table border="1"><tr>
 
<th>String</th>
 
<th>Old letter</th>
 
<th>Description</th>
 
<th>Theme</th>
 
</tr>
 
 
<tr>
 
<td>_f</td>
 
<td>~</td>
 
<td>fog</td>
 
<td>misc</td>
 
</tr>
 
 
<tr>
 
<td>_s</td>
 
<td> (space character)</td>
 
<td>void/shroud</td>
 
<td>misc</td>
 
 
</tr>
 
</tr>
  

Revision as of 13:22, 31 August 2007

[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, credits_group, 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 (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, found_item, for, foreach, 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, 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, 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;

Values of terrain letters

What each letter represents in Wesnoth maps, and the possible values of the letter key.

See TerrainWML for information on how to define a terrain.

  • A human (snow) hill village
  • a human hill village
  • B desert village (adobe)
  • b human mountain village
  • C castle
  • c shallow water, "coast"
  • D underground village (cave, village), "dungeon village"
  • d sand, (old desert)
  • E desert road
  • e elven (snow) village
  • F forest (snow)
  • f forest
  • G savanna (grass)
  • g grass
  • H hills (snow)
  • h hills
  • I desert
  • i ice (tundra)
  • J desert hills
  • j -nothing- (will be snowy mountains)
  • K keep (castle)
  • k river ford (grass, shallow water)
  • L tropical forest village (savanna, village)
  • l lava (canyon)
  • M desert mountains
  • m mountain
  • N ruined castle
  • n encampment (castle)
  • O -nothing- (will probably be an Orc Castle one day)
  • o dwarven castle (castle)
  • P desert oasis
  • p dwarven village
  • Q sunken ruin
  • q ruin (swamp)
  • R road (grass)
  • r dirt (grass)
  • S tundra
  • s deep water
  • T forest (tropical)
  • t village
  • U desert village (tent)
  • u cave
  • V snow village (tundra, village)
  • v human village (village)
  • W cavewall
  • w swamp
  • X canyon (replaced by chasm in trunk)
  • x reserved for UMCs
  • Y swamp village (swamp, village)
  • y reserved for UMCs
  • Z mermen village (shallow water)
  • z reserved for UMCs
  • /,|,\ bridge (grass, shallow water)
  • ~ fog
  • ' ' void/shroud (it uses the "space" character)
  • * reserved for UMCs
  • ^ reserved for UMCs
  • % reserved for UMCs
  • @ reserved for UMCs
  • [ rockbound cave
  • ] mushroom grove
  • ' illuminated cave
  •  ? great Elven tree
  • & impassable mountains
  • "  ???
  • $  ???
  • .  ???
  •  ;  ???
  •  :  ???
  • <  ???
  • >  ???
  • _  ???
  • `  ???

Reserved letters and non-letter Characters

Reserved letters are for custom terrains in user-made campaigns. In addition to these it is currently also possible to use other characters not on the above list to represent custom terrain, such as ½ § @ % etc., but new "official" terrain may be assigned for these characters in the future. So when creating custom terrain, the letters marked as reserved on the above list should be used first. Use campaign definitions (see CampaignWML) to prevent your custom terrains from interfering with other campaigns.

Terrain strings (SVN terrain only)

The terrains will be changed from a single letter to a multi letter system. There will be a compability layer for a short while. This layer doesn't work for campaigns with custom terrains, these campaigns have to be changed to use the new system.

The following rules are stated for the new terrain letters, note most of these rules are not validated since it would slow down Wesnoth; not following these rules might break Wesnoth.

  • terrain strings are between 2 and 4 characters
  • terrain strings start with a capital letter and the following letters are lower case
  • terrain strings can only contain letters, the symbols /|\ which are meant for directional items like bridges and the symbol ^
  • the underscore is used for internal terrains
  • the star '*' can be used for wildcards in some parts
  • the symbol ^ usually points out that a terrain is created with layers, for example Gs^Fp means Forest(Fp) overlayer on Savanna(Gs).

Starting positions are defined by a number followed by 1 space and then the terrain string; this means that a starting position is no longer automatically a keep.

The letters Y,y,Z,z are reserved for UMC so any string containing any of these letters is a custom terrain. Other undefined terrain strings are reserved for future expansion within Wesnoth.

Conversion form old to new

Map conversion logic is included in the upconvert tool (in newer versions, wmllint). This script will, among other things, convert a map with the old letters to the new strings. Here is a lookup table with the letters.

char= a    b    c    d    e    f    g    h    i    j    k    l    m      
str=  Vhh  Vhm  Ww   Ds   Vea  Ff   Gg   Hh   Ai        Wwf  Ql   Mm   
char= n    o    p    q    r    s    t    u    v    w    x    y    z
str=  Ce   Cud  Vud  Chs  Re   Wo   Veg  Uu   Vhg  Ss 
char= A    B    C    D    E    F    G    H    I    J    K    L    M      
str=  Vhha Vda  Ch   Vu   Rd   Fa   Gs   Ha   Dd   Hd   _K   Vht  Md
char= N    O    P    Q    R    S    T    U    V    W    X    Y    Z
str=  Chr       Do   Chw  Rr   Aa   Ft   Vdt  Vha  Xu   Qxu  Vs   Vwm
char= /    |    \    &    _    ~    ?    ]    [    '
str=  Bww/ Bww| Bww\ Xm   _s   _f   Fet  Uf   Uh   Uui

Terrain Table

This is a list of the terrains, the strings used for them in the new map format, the letters used for them in the old map format, their id and the terrains they take their stats from. Generated from terrain.cfg using terrain2wiki.


String Old letter Name Stats from
_off^_usr None
_s Shroud
_f ~ Fog
Ai i Ice Snow
Aa S Snow
Ww^Bw| | Bridge Grassland,Shallow Water
Ww^Bw/ / Bridge Grassland,Shallow Water
Ww^Bw\ \ Bridge Grassland,Shallow Water
Wo^Bw| Bridge Grassland,Deep Water
Wo^Bw/ Bridge Grassland,Deep Water
Wo^Bw\ Bridge Grassland,Deep Water
Ss^Bw| Bridge Grassland,Swamp
Ss^Bw/ Bridge Grassland,Swamp
Ss^Bw\ Bridge Grassland,Swamp
Ce n Encampment Castle
Ch y Castle
Cv y Elven Castle Castle
Cud o Dwarven Castle Castle
Chr N Ruin Castle
Chw Q Sunken Ruin Castle,Shallow Water
Chs q Swamp Ruin Castle,Swamp
Ke Encampment keep Castle
Kh Keep Castle
Kv Elven Keep Castle
Kud Dwarven keep Castle
Khr Ruined keep Castle
Khw Sunken keep Castle,Shallow Water
Khs Swamp keep Castle,Swamp
Dd^Dc Crater Sand
Dd I Desert Sand
Dd^Dr Rubble Hills
Ds d Sand
Dd^Do P Oasis Sand
Aa^Fpa F Snow Forest Snow,Forest
Gg^Fet ? Great Tree Forest
Gs^Fp f Forest
Gs^Ft T Tropical Forest Forest
Gg g Grassland
Ggf Grassland Grassland
Gs G Savanna Grassland
Ha H Snow Hills Snow,Hills
Hd J Dunes Sand,Hills
Hh h Hills
Md M Mountains Mountains
Mm m Mountains
Qxu X Chasm
Ql l Lava Chasm
Rd E Desert road Grassland
Re r Dirt Grassland
Rr E Road Grassland
Re^Gvs Farmland Grassland
Ss w Swamp
Uu u Cave
Uu^Ii ' Cave Lit Cave
Uu^Uf ] Mushroom Grove
Re^Uf Mushroom Grove Mushroom Grove
Uh [ Rockbound Cave Cave,Hills
Uh^Ii Rockbound Cave Lit Cave,Hills
Dd^Vda U Village Village,Sand
Dd^Vdt U Village Village,Sand
Aa^Vea e Village Village
Gg^Ve t Village Village
Aa^Vha V Village Village
Gg^Vh t Village
Hh^Vhh a Village Village,Hills
Ha^Vhha A Village Village,Hills
Mm^Vhh b Village Village,Mountains
Gs^Vht L Village Village
Uu^Vu D Village Village,Cave
Uu^Vud p Village Village,Cave
Ww^Vm Z Village Shallow Water
Ss^Vhs Y Village Village,Swamp
Ss^Vm Village Swamp
Wo s Deep Water
Ww c Shallow Water
Wwf k River Ford Grassland,Shallow Water
Mm^Xm & Impassable Mountains Cave Wall
Md^Xm Impassable Desert Mountains Cave Wall
Xu W Cave Wall

Adding terrains

When adding terrains make sure the following files are also checked:

data/faction/* contains favorite positions for the different factions, this is only used for the random map generator at the moment so it is not very important.

data/abilities.cfg contains the definition of submerge and ambush so depending on the change these need to be updated.

data/utils/utils.cfg contains the macro STARTING_VILLAGES which contains a list of village strings. This list doesn't support wildcards (yet).

See Also