From The Battle for Wesnoth Wiki
Revision as of 19:56, 19 November 2005 by Bruno (talk | contribs) (Other)

The Wesnoth Markup Language

The Wesnoth Markup Language (WML) is used to code almost everything in Wesnoth, including scenarios, units, savefiles, and the user interface layout.

This page is a collection of pointers to different common WML structures. See AlphabeticalWML for a quick listing of all WML tags. The more comprehensive BuildingScenariosIndex lists tags and keys.

See BuildingScenarios, BuildingCampaigns, BuildingUnitsand CreatingNewUnits for a tutorial style overview.

How WML works

WML toplevel tags

Other WML tags

  • EventWML how to describe an event
    • FilterWML the construct to filter on units, locations, and weapons
    • DirectActionsWML actions that directly affect gameplay: for example creating a unit
    • InternalActionsWML actions that WML uses internally: for example storing a variable
    • InterfaceActionsWML actions that do not affect gameplay: for example displaying a message
  • SingleUnitWML how to describe a unit
  • AiWML how to describe parameters for AI
  • EffectWML the construct to modify a unit
  • AbilitiesWML a list of the different abilities a unit or weapon can have
  • DescriptionWML the structure of WML coded menus like the difficulty chooser of campaigns


  • ReferenceWMLSyntax how this wiki and the pages it links to should be formatted
  • ConventionsWML how to make your WML more readable
  • UsefulWMLFragments Various pieces of WML for various purposes. If you have some WML you're proud of that you think others can use, add it here.
  • CommandMode commands are not strictly speaking part of WML, these could be a little hard to find so there's a link here.
  • CampaignServerWML is used when managing contributed campaigns on the campaign server.

See Also