Difference between revisions of "UsefulWMLFragments"

From The Battle for Wesnoth Wiki
m (Added a warning about potentially obsolete code)
(Cleanup)
Line 13: Line 13:
  
 
=== Logic Structure Macros ===
 
=== Logic Structure Macros ===
*[[WML Utilities]]: Macros to assist other macros. Filter by Terrain. Iterate. Overlay with Filter. Determine Opposite Coordinates. Find nearest hex(es)
+
*[[WML Utilities]]: Macros to assist other macros. Overlay with Filter. Determine Opposite Coordinates. Find nearest hex(es)
  
 
=== Campaign Tools ===
 
=== Campaign Tools ===
*[[Victory Conditions]]: Number of Villages, Amount of Gold. Suitable for multiplayer scenarios.
 
 
*[[AlternateToDWML]]: Macros for alternate time-of-day schemes, including per-hour time-of-day.
 
*[[AlternateToDWML]]: Macros for alternate time-of-day schemes, including per-hour time-of-day.
  
Line 28: Line 27:
 
==== Unit Tools ====
 
==== Unit Tools ====
 
*[[WML Abilities]]: Knockback. Charm. Bloodlust.
 
*[[WML Abilities]]: Knockback. Charm. Bloodlust.
*[[WML Buildings]]: Generic Buildings, Light House/Dark Tower, Wishing Well #1, Wishing Well #2.
 
  
 
==== Item Tools ====
 
==== Item Tools ====
Line 34: Line 32:
  
 
=== Advanced WML ===
 
=== Advanced WML ===
*[[Advanced WML]]: Branch on Village Type. Recruit from a Ship. Point Rotation Scheme. Store Reachable Locations.
+
*[[Advanced WML]]: Store Reachable Locations.
  
 
=== Templates ===
 
=== Templates ===
*[[WML Templates]]: Generic campaign, scenario and unit templates. (updated)
+
*[[WML Templates]]: Generic campaign, scenario and unit templates. <b>Obsolete; most of these won't work right.</b>
  
 
== See Also ==
 
== See Also ==

Revision as of 21:37, 31 May 2010

Useful WML Fragments

Most of the things found here are macros (see PreprocessorRef) that must be copied into a scenario file or another file included first by the campaign, and then used in the scenario (or multiplayer map). Remember that a macro cannot be used at a point before it is defined.

Note: some of the code here is outdated or otherwise poor. It's not advisable to blindly copy-paste code from here and expect it to work on recent Wesnoth versions or assume that the recent versions don't support a simpler and less hacky way of doing the same thing.

Some things not to do here:

  • Don't add macros that duplicate things in the core macro library.
  • Don't add macros that are trivial syntax shortcuts.
  • Don't add macros that generate unbalanced syntax fragments.

Try to avoid adding pages here. It is better to find a category in which your code fits and add it to that page.

Logic Structure Macros

  • WML Utilities: Macros to assist other macros. Overlay with Filter. Determine Opposite Coordinates. Find nearest hex(es)

Campaign Tools

  • AlternateToDWML: Macros for alternate time-of-day schemes, including per-hour time-of-day.

RPG Tools

  • A Shop Like Thing: How to add even more RPG elements to your scenarios.
  • CutsceneWML: Fixed MOVE_TO event (uses FIND_NEARBY from WML Utilities), move + exit to recall list, define character dialogue and a "main character", grant unlimited moves.

Music Tools

  • WML Musical Moods: Groups the Wesnoth music (as of 1.7.x) into "moods" and defines macros for playing randomly songs from these pools and for quickly switching music.

Unit Tools

Item Tools

  • DroppableItem: Macros to drop items. Currently only macros for dropping items on unit death including a permenant item that can be picked up, and dropped, multiple times by different units.

Advanced WML

Templates

  • WML Templates: Generic campaign, scenario and unit templates. Obsolete; most of these won't work right.

See Also