<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.wesnoth.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Opensourcejunkie</id>
	<title>The Battle for Wesnoth Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wesnoth.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Opensourcejunkie"/>
	<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/Special:Contributions/Opensourcejunkie"/>
	<updated>2026-06-06T01:27:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingScenariosSimple&amp;diff=28649</id>
		<title>BuildingScenariosSimple</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingScenariosSimple&amp;diff=28649"/>
		<updated>2009-03-13T22:30:25Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: /* Making it all work */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BuildingScenariosNav}}&lt;br /&gt;
&lt;br /&gt;
= Learning things step by step =&lt;br /&gt;
&lt;br /&gt;
Here we will show you a very simple scenario file and explain each line of it.&lt;br /&gt;
The file is not fully functional, but it will show the basics needed to describe what a scenario is all about.&lt;br /&gt;
&lt;br /&gt;
'''Before reading this, it might prove useful to read something about the syntax of the Wesnoth Markup Language: [[SyntaxWML]]'''&lt;br /&gt;
&lt;br /&gt;
== First part ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[scenario]&lt;br /&gt;
&lt;br /&gt;
  id=01_test-1&lt;br /&gt;
  next_scenario=02_test-more&lt;br /&gt;
 &lt;br /&gt;
  name=A Simple Test Scenario&lt;br /&gt;
  map_data=&amp;quot;{@campaigns/Test_Campaign/maps/testmap}&amp;quot;&lt;br /&gt;
  turns=20&lt;br /&gt;
 &lt;br /&gt;
  {DAWN}&lt;br /&gt;
  {MORNING}&lt;br /&gt;
  {AFTERNOON}&lt;br /&gt;
  {DUSK}&lt;br /&gt;
  {FIRST_WATCH}&lt;br /&gt;
  {SECOND_WATCH}&lt;br /&gt;
 &lt;br /&gt;
  music=wesnoth-1.ogg&lt;br /&gt;
 &lt;br /&gt;
  [event]&lt;br /&gt;
    name=prestart&lt;br /&gt;
    [objectives]&lt;br /&gt;
      side=1&lt;br /&gt;
      [objective]&lt;br /&gt;
        description= _ &amp;quot;Defeat Enemy Leader&amp;quot;&lt;br /&gt;
        condition=win&lt;br /&gt;
      [/objective]&lt;br /&gt;
      [objective]&lt;br /&gt;
        description= _ &amp;quot;Death of Konrad&amp;quot;&lt;br /&gt;
        condition=lose&lt;br /&gt;
      [/objective]&lt;br /&gt;
      [objective]&lt;br /&gt;
        description= _ &amp;quot;Turns run out&amp;quot;&lt;br /&gt;
        condition=lose&lt;br /&gt;
      [/objective]&lt;br /&gt;
    [/objectives]&lt;br /&gt;
  [/event]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''continued below''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;font size=5&amp;gt;↓ ↓ ↓&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Every scenario must be enclosed in a tag; the &amp;lt;code&amp;gt;[scenario]&amp;lt;/code&amp;gt; tag is used for campaign scenarios. The first set of attributes in the scenario tag describe the very basics of this scenario:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; (short for ''identifier'') is the computer's name for your scenario and is not displayed during the game. However, it will be used to display game statistics (they will be graphed at http://stats.wesnoth.org in numerical order, so it's also a good idea to give the &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;'s a number). This name is also referenced in other tags and files, ''e.g.,'' inside a &amp;lt;code&amp;gt;[campaign]&amp;lt;/code&amp;gt; tag using the &amp;lt;code&amp;gt;first_scenario&amp;lt;/code&amp;gt; attribute (see [[BuildingCampaignsTheCampaignFile]]) or inside a &amp;lt;code&amp;gt;[scenario]&amp;lt;/code&amp;gt; tag using the &amp;lt;code&amp;gt;next_scenario&amp;lt;/code&amp;gt; attribute (see below).&lt;br /&gt;
&lt;br /&gt;
* The value of the &amp;lt;code&amp;gt;next_scenario&amp;lt;/code&amp;gt; attribute is the &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; (see above) of the scenario that is played after this one is won. Units from this scenario will be available for recall (unless you modify the recall list, but that's stuff for later). If your scenario is not part of a campaign, or if this is the last scenario you should either skip this line or put &amp;lt;code&amp;gt;next_scenario=null&amp;lt;/code&amp;gt; inside the file. This will tell the game to display the ''End'' screen when this scenario is won.&lt;br /&gt;
&lt;br /&gt;
* The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is shown on the introduction screen before each scenario is played (this may contain a picture of a map or anything else you fancy. See [[BuildingScenariosIntermediate]] for an explanation on how to do that). It's also used to generate the default names of saved files for the level.&lt;br /&gt;
&lt;br /&gt;
* The next attribute, &amp;lt;code&amp;gt;map_data&amp;lt;/code&amp;gt; is a little tricky.  Normally, the map data (the text that is used to generate a map) goes directly inside of the quotation marks.  However, it is often useful to keep that map data in a separate file, and then include that file (still inside the quotation marks) using a [[PreprocessorRef|preprocesser]] command.  The code &amp;lt;code&amp;gt;{@campaigns/Test_Campaign/maps/testmap}&amp;lt;/code&amp;gt; does just that, telling the wesnoth engine to look in the file &amp;lt;code&amp;gt;campaigns/Test_Campaign/maps/testmap&amp;lt;/code&amp;gt; for the map data.  The &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt; symbol tells wesnoth to search for the map file in both the ''userdata'' directory and the ''gamedata'' directory (see [[EditingWesnoth]] and [[PreprocessorRef]] for more information).  You can create and edit map files using wesnoth's built-in [[Editor2|map editor]] (see [[BuildingMaps]] for more information).&lt;br /&gt;
&lt;br /&gt;
* Finally, the last attribute in the top set of keys is &amp;lt;code&amp;gt;turns&amp;lt;/code&amp;gt;. This is the number of turns a player is given to finish the scenario (it can be changed during the game, but again, that is stuff for later). If the player fails to finish the scenario in the given time, he has lost (''i.e.,'' the ''defeat'' event is triggered. See [[EventWML]] for more.)&lt;br /&gt;
&lt;br /&gt;
The next section is a group of macros which will be processed by Wesnoth's [[PreprocessorRef|preprocesser]]. Macros are essentially [[WML]] shortcuts. They allow you to define certain pieces of code which can be re-used whenever they are needed. Wesnoth provides you with a whole series of standard, pre-written macros to make life easier, but you yourself can write them too (again, stuff for later). &lt;br /&gt;
Let's get back to this example! The macros listed above describe how a day in this scenario will progress. The list of macros above is the normal day used throughout Wesnoth. If you want the entire scenario to take place at night, remove all the macros except for &amp;lt;code&amp;gt;{SECOND_WATCH}&amp;lt;/code&amp;gt;. Doing this might, for example, be useful if you've set Konrad to fight the Undead and also want the Undead to have the upper hand throughout the scenario. Remember, though, by setting this to a single time of day rather than the normal diurnal progression shown above, your scenario will effectively take place during one day (or night) rather than across many days as most scenarios do.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;music&amp;lt;/code&amp;gt; attribute takes for its value the name of a music file (see [[MusicListWML]] for more). This file must be in the &amp;lt;code&amp;gt;music/&amp;lt;/code&amp;gt; directory and &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be in [http://en.wikipedia.org/wiki/Ogg Ogg] format.&lt;br /&gt;
&lt;br /&gt;
A tag you'll get to know very well when making scenarios is &amp;lt;code&amp;gt;[event]...[/event]&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; tags are used to describe what should be done when various sorts of ''events'' take place. The specific type of event is stated in the &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;'s &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute. In this case we're describing the so-called &amp;lt;code&amp;gt;prestart&amp;lt;/code&amp;gt; event. This event occurs just ''after'' all the introduction screens for the scenario have been shown but just ''before'' the map itself is displayed. This prestart event is used to set the scenario's objectives, i.e. the contents of the ''Scenario Objectives Dialog'' that will appear once the scenario begins. The purpose of the Scenario Objectives Dialog is to inform the player what must be accomplished to win the scenario and what circumstances bring about defeat. These winning and losing circumstances are defined using the &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; tag (N.B. that &amp;lt;code&amp;gt;objectives&amp;lt;/code&amp;gt; is plural). Further, each circumstance is defined in its own &amp;lt;code&amp;gt;[objective]&amp;lt;/code&amp;gt; (N.B. the singular here) tag with winning circumstances setting &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;win&amp;lt;/code&amp;gt;, and with losing circumstances setting it to &amp;lt;code&amp;gt;lose&amp;lt;/code&amp;gt;. In the example above, &amp;lt;code&amp;gt;objectives&amp;lt;/code&amp;gt; states victory to be &amp;quot;Defeat Enemy Leader&amp;quot;. For defeat, however, &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; gives the player ''two'' possibilities: either &amp;quot;Death of Konrad&amp;quot; or &amp;quot;Turns run out&amp;quot; (any number of either winning or losing &amp;lt;code&amp;gt;[objective]&amp;lt;/code&amp;gt; tags may be given). Accordingly, the Scenario Objectives Dialog will look vaguely like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
'''&amp;lt;font size=e&amp;gt;A Simple Test Scenario&amp;lt;/font&amp;gt;'''&lt;br /&gt;
&amp;lt;br&amp;gt;'''Victory:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;font color=green&amp;gt;Defeat Enemy Leader&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;'''Defeat:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;font color=red&amp;gt;Death of Konrad&lt;br /&gt;
&amp;lt;br&amp;gt;Turns run out&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;[ OK ]&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; tag doesn't define the circumstances of victory or defeat to the game engine. It merely tells the player what they are.  Special victory or defeat conditions will have to be coded into the scenario using various [event]s.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;side&amp;lt;/code&amp;gt; attribute in &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; indicates that the conditions defined here by the &amp;lt;code&amp;gt;[objective]&amp;lt;/code&amp;gt; tags are for the faction or alliance ''side 1'' alone (see below). In a single-player game, side 1 would usually indicate the player's faction or alliance). The underscore (&amp;quot;_&amp;quot;) facilitates translation using [[GetText|Gettext]].&lt;br /&gt;
&lt;br /&gt;
== Second part ==&lt;br /&gt;
So far so good! The last necessary part describes what the players (both human and&lt;br /&gt;
computer) start with, what they can do, and what they can't do. Each of the players is described in a &amp;lt;code&amp;gt;[side]&amp;lt;/code&amp;gt; tag with the word ''side'' referring to a player's faction, band, or horde.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;font size=5&amp;gt;↑ ↑ ↑&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;''continued from above''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
  [side]&lt;br /&gt;
    side=1&lt;br /&gt;
    controller=human&lt;br /&gt;
    team_name=2&lt;br /&gt;
    user_team_name= _ &amp;quot;Konrad's forces&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    type=Commander&lt;br /&gt;
    id=Konrad&lt;br /&gt;
    canrecruit=yes&lt;br /&gt;
&lt;br /&gt;
    recruit=Elvish Fighter,Elvish Archer,Horseman,Mage,Elvish Shaman&lt;br /&gt;
&lt;br /&gt;
    {GOLD 100 50 0}&lt;br /&gt;
    {INCOME 10 5 0}&lt;br /&gt;
  [/side] &lt;br /&gt;
[/scenario]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above you can see a sample &amp;lt;code&amp;gt;[side]&amp;lt;/code&amp;gt; for the human player, Konrad. The first group of attributes in the &amp;lt;code&amp;gt;[side]&amp;lt;/code&amp;gt; tag pertains to the side generally:&lt;br /&gt;
* &amp;lt;code&amp;gt;side&amp;lt;/code&amp;gt;: the leader of this side is placed on the tile represented by this digit (see [[BuildingMaps]]). It's a number from 1 to 9.&lt;br /&gt;
* &amp;lt;code&amp;gt;controller&amp;lt;/code&amp;gt; takes either of two possible values: &amp;lt;code&amp;gt;human&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ai&amp;lt;/code&amp;gt; (''i.e.,'' ''artificial intelligence'', meaning your computer). If you don't specify this attribute, &amp;lt;code&amp;gt;ai&amp;lt;/code&amp;gt; is the default.&lt;br /&gt;
* &amp;lt;code&amp;gt;team_name&amp;lt;/code&amp;gt; describes which team the side is on. It defaults to the same number as &amp;lt;code&amp;gt;side&amp;lt;/code&amp;gt;, but setting it to &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; allies this side with side 2 (if you haven't changed the &amp;lt;code&amp;gt;team_name&amp;lt;/code&amp;gt; of side 2).&lt;br /&gt;
* &amp;lt;code&amp;gt;user_team_name&amp;lt;/code&amp;gt; is the name displayed when you view the side stats (by pressing &amp;lt;tt&amp;gt;alt+s&amp;lt;/tt&amp;gt; during gameplay). The underscore (&amp;quot;_&amp;quot;) facilitates translation using [[GetText|Gettext]].&lt;br /&gt;
&lt;br /&gt;
The next group of attributes describe the leader of this side:&lt;br /&gt;
* &amp;lt;code&amp;gt;canrecruit&amp;lt;/code&amp;gt;: This attribute can be set to &amp;lt;code&amp;gt;yes&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;no&amp;lt;/code&amp;gt; (the boolean equivalents &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; also work). If this is set to &amp;lt;code&amp;gt;no&amp;lt;/code&amp;gt;, the leader won't be able to recruit (not much of a leader then, is he?). Any side without a &amp;lt;code&amp;gt;canrecruit=yes&amp;lt;/code&amp;gt; attribute statement automatically loses, so be sure to include this attribute.&lt;br /&gt;
* &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; describes what type of unit the leader will be. The possible  values are listed in [http://units.wesnoth.org the Wesnoth unit tables].&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; is the name and identifier of the leader.&lt;br /&gt;
&lt;br /&gt;
In a campaign, all of these &amp;quot;leader-describing&amp;quot; attributes are ignored for human players (except &amp;lt;code&amp;gt;canrecruit&amp;lt;/code&amp;gt;), since the leader from the previous scenario is carried over into the current one.  The exception to this is, of course, the first scenario, because there is no leader from previous scenarios.  However, the &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute is still necessary to prevent the scenario from crashing, so be sure to include it.&lt;br /&gt;
&lt;br /&gt;
The last attribute, &amp;lt;code&amp;gt;recruit&amp;lt;/code&amp;gt;, is a comma-separated list of [http://units.wesnoth.org unit types].  These types will become the side's recruitment list.  This too is only necessary in a human player's first scenario, because the recruit list is carried over from one scenario to the next.&lt;br /&gt;
&lt;br /&gt;
Finally, two macros are called. The first, &amp;lt;code&amp;gt;GOLD&amp;lt;/code&amp;gt; takes three positive numbers. These indicate the amount of money the player will start with on the &amp;lt;var&amp;gt;easy&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;normal&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;hard&amp;lt;/var&amp;gt; difficulty levels, respectively. For a human-controlled side (&amp;lt;code&amp;gt;controller=human&amp;lt;/code&amp;gt;), this specifies only the &amp;lt;i&amp;gt;minimum&amp;lt;/i&amp;gt; amount of gold.  The actual amount the player starts with can be larger if the player has retained gold from previous scenarios. The second macro, &amp;lt;code&amp;gt;INCOME&amp;lt;/code&amp;gt;, is analogous to &amp;lt;code&amp;gt;GOLD&amp;lt;/code&amp;gt; but for the base income. The defaults values for &amp;lt;code&amp;gt;GOLD&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;INCOME&amp;lt;/code&amp;gt; are 100 gold and 2 base income, respectively.&lt;br /&gt;
&lt;br /&gt;
== Making it all work ==&lt;br /&gt;
To make this scenario playable, we need to make a campaign for it (see [[BuildingCampaignsTheCampaignFile]]).&lt;br /&gt;
This should '''not''' be stored in the main directory &amp;lt;tt&amp;gt;data/campaigns&amp;lt;/tt&amp;gt; but rather inside &amp;lt;tt&amp;gt;userdata/data/campaigns&amp;lt;/tt&amp;gt;. This prevents the breaking of mainline campaigns or, even worse, the entire game (see [[BuildingCampaignsDirectoryStructure]]).&lt;br /&gt;
Please note that all files (''i.e.'', the campaign file and the scenario files for each level) must be saved with the file extension &amp;lt;tt&amp;gt;.cfg&amp;lt;/tt&amp;gt; (''e.g.'', &amp;lt;tt&amp;gt;testcampaign.cfg&amp;lt;/tt&amp;gt;).&lt;br /&gt;
The following is a short, example campaign file:&lt;br /&gt;
&lt;br /&gt;
 [campaign]&lt;br /&gt;
   name= _ &amp;quot;Test Campaign&amp;quot;&lt;br /&gt;
   first_scenario=test-1&lt;br /&gt;
   difficulties=EASY,NORMAL,HARD&lt;br /&gt;
 &lt;br /&gt;
   difficulty_descriptions= _ &amp;quot;&amp;amp;elvish-fighter.png=Easy;*&amp;amp;elvish-hero.png=Medium;&amp;amp;elvish-champion.png=Hard&amp;quot;&lt;br /&gt;
   icon=elvish-fighter.png&lt;br /&gt;
 [/campaign]&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[campaign]&amp;lt;/code&amp;gt; tag describes the campaign. The first attribute, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, is displayed in the campaign selector box during gameplay. The second, &amp;lt;code&amp;gt;first_scenario&amp;lt;/code&amp;gt;, is set to the ID number of the first scenario of the campaign. Subsequent scenarios are referenced by the &amp;lt;code&amp;gt;next_scenario&amp;lt;/code&amp;gt; attribute of their immediately preceding scenarios (see above in the first part of this tutorial). Since the first scenario, obviously, doesn't have a predecessor, it is referenced here in the &amp;lt;code&amp;gt;campaign&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
The attribute &amp;lt;code&amp;gt;difficulties=EASY,NORMAL,HARD&amp;lt;/code&amp;gt; tells Wesnoth to use the value &amp;lt;code&amp;gt;EASY&amp;lt;/code&amp;gt; if the first difficulty choice is chosen during gameplay, &amp;lt;code&amp;gt;NORMAL&amp;lt;/code&amp;gt; if the second is chosen, and &amp;lt;code&amp;gt;HARD&amp;lt;/code&amp;gt; if the third is chosen.&lt;br /&gt;
The expression &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt; can be used later to test the value of this attribute (see [[PreprocessorRef]]).&lt;br /&gt;
It is recommended that you do not use any names other than &amp;lt;code&amp;gt;EASY&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NORMAL&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;HARD&amp;lt;/code&amp;gt; for your macros because doing so will cause some standard macros, such as &amp;lt;code&amp;gt;{GOLD}&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;{INCOME}&amp;lt;/code&amp;gt;, to not work properly.&lt;br /&gt;
&lt;br /&gt;
Two optional attributes are &amp;lt;code&amp;gt;difficulty_descriptions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;icon&amp;lt;/code&amp;gt;.&lt;br /&gt;
As its value, &amp;lt;code&amp;gt;icon&amp;lt;/code&amp;gt; holds the filename of an image to represent this campaign which will be displayed in the campaign list during gameplay.&lt;br /&gt;
The &amp;lt;code&amp;gt;difficulty_descriptions&amp;lt;/code&amp;gt; attribute must have in its value the same number of (quote-enclosed) list items as  &amp;lt;code&amp;gt;difficulties&amp;lt;/code&amp;gt; has in its (not quote-enclosed) list items. This list length for both attributes is most commonly three. Also note that the list for &amp;lt;code&amp;gt;difficulty_desciptions&amp;lt;/code&amp;gt; is not only quote-enclosed, but its items are separated by semicolons rather than commas. Unsurprising, in our example during gameplay &amp;lt;tt&amp;gt;elvish-fighter.png&amp;lt;/tt&amp;gt; would display associated with the &amp;lt;i&amp;gt;easy&amp;lt;/i&amp;gt; level, &amp;lt;tt&amp;gt;elvish-hero.png&amp;lt;/tt&amp;gt; with &amp;lt;i&amp;gt;normal&amp;lt;/i&amp;gt;, and &amp;lt;tt&amp;gt;elvish-champion.png&amp;lt;/tt&amp;gt; with &amp;lt;i&amp;gt;hard&amp;lt;/i&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each list item in &amp;lt;code&amp;gt;difficulty_description&amp;lt;/code&amp;gt; begins with an ampersand (&amp;quot;&amp;amp;&amp;quot;). This is followed by the filename of the image, then an equal sign (&amp;quot;=&amp;quot;), and finally the text to display (&amp;lt;i&amp;gt;i.e.&amp;lt;/i&amp;gt;, &amp;quot;Easy&amp;quot;. Take note that text displayed for the easy level is not &amp;quot;EASY&amp;quot;: the text used is that in &amp;lt;code&amp;gt;difficulty_descriptions&amp;lt;/code&amp;gt;, not &amp;lt;code&amp;gt;difficulties&amp;lt;/code&amp;gt;. Similary, the normal level's text is &amp;quot;Medium&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
Optionally you may place an asterisk (&amp;quot;*&amp;quot;) before one of list items of &amp;lt;code&amp;gt;difficulty_desciptions&amp;lt;/code&amp;gt; which will cause that corresponding difficulty level to be selected as the default during gameplay. In the example above, the normal level (along with its elvish hero) is selected as the default.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[BuildingMaps]] &amp;amp; [[WesnothMapEditor]]&lt;br /&gt;
* [[ScenarioWML]] &amp;amp; [[SyntaxWML]]&lt;br /&gt;
* [[BuildingScenarios]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Create]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingScenariosSimple&amp;diff=28648</id>
		<title>BuildingScenariosSimple</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingScenariosSimple&amp;diff=28648"/>
		<updated>2009-03-13T22:19:47Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: /* Second part */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BuildingScenariosNav}}&lt;br /&gt;
&lt;br /&gt;
= Learning things step by step =&lt;br /&gt;
&lt;br /&gt;
Here we will show you a very simple scenario file and explain each line of it.&lt;br /&gt;
The file is not fully functional, but it will show the basics needed to describe what a scenario is all about.&lt;br /&gt;
&lt;br /&gt;
'''Before reading this, it might prove useful to read something about the syntax of the Wesnoth Markup Language: [[SyntaxWML]]'''&lt;br /&gt;
&lt;br /&gt;
== First part ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[scenario]&lt;br /&gt;
&lt;br /&gt;
  id=01_test-1&lt;br /&gt;
  next_scenario=02_test-more&lt;br /&gt;
 &lt;br /&gt;
  name=A Simple Test Scenario&lt;br /&gt;
  map_data=&amp;quot;{@campaigns/Test_Campaign/maps/testmap}&amp;quot;&lt;br /&gt;
  turns=20&lt;br /&gt;
 &lt;br /&gt;
  {DAWN}&lt;br /&gt;
  {MORNING}&lt;br /&gt;
  {AFTERNOON}&lt;br /&gt;
  {DUSK}&lt;br /&gt;
  {FIRST_WATCH}&lt;br /&gt;
  {SECOND_WATCH}&lt;br /&gt;
 &lt;br /&gt;
  music=wesnoth-1.ogg&lt;br /&gt;
 &lt;br /&gt;
  [event]&lt;br /&gt;
    name=prestart&lt;br /&gt;
    [objectives]&lt;br /&gt;
      side=1&lt;br /&gt;
      [objective]&lt;br /&gt;
        description= _ &amp;quot;Defeat Enemy Leader&amp;quot;&lt;br /&gt;
        condition=win&lt;br /&gt;
      [/objective]&lt;br /&gt;
      [objective]&lt;br /&gt;
        description= _ &amp;quot;Death of Konrad&amp;quot;&lt;br /&gt;
        condition=lose&lt;br /&gt;
      [/objective]&lt;br /&gt;
      [objective]&lt;br /&gt;
        description= _ &amp;quot;Turns run out&amp;quot;&lt;br /&gt;
        condition=lose&lt;br /&gt;
      [/objective]&lt;br /&gt;
    [/objectives]&lt;br /&gt;
  [/event]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''continued below''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;font size=5&amp;gt;↓ ↓ ↓&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Every scenario must be enclosed in a tag; the &amp;lt;code&amp;gt;[scenario]&amp;lt;/code&amp;gt; tag is used for campaign scenarios. The first set of attributes in the scenario tag describe the very basics of this scenario:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; (short for ''identifier'') is the computer's name for your scenario and is not displayed during the game. However, it will be used to display game statistics (they will be graphed at http://stats.wesnoth.org in numerical order, so it's also a good idea to give the &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;'s a number). This name is also referenced in other tags and files, ''e.g.,'' inside a &amp;lt;code&amp;gt;[campaign]&amp;lt;/code&amp;gt; tag using the &amp;lt;code&amp;gt;first_scenario&amp;lt;/code&amp;gt; attribute (see [[BuildingCampaignsTheCampaignFile]]) or inside a &amp;lt;code&amp;gt;[scenario]&amp;lt;/code&amp;gt; tag using the &amp;lt;code&amp;gt;next_scenario&amp;lt;/code&amp;gt; attribute (see below).&lt;br /&gt;
&lt;br /&gt;
* The value of the &amp;lt;code&amp;gt;next_scenario&amp;lt;/code&amp;gt; attribute is the &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; (see above) of the scenario that is played after this one is won. Units from this scenario will be available for recall (unless you modify the recall list, but that's stuff for later). If your scenario is not part of a campaign, or if this is the last scenario you should either skip this line or put &amp;lt;code&amp;gt;next_scenario=null&amp;lt;/code&amp;gt; inside the file. This will tell the game to display the ''End'' screen when this scenario is won.&lt;br /&gt;
&lt;br /&gt;
* The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is shown on the introduction screen before each scenario is played (this may contain a picture of a map or anything else you fancy. See [[BuildingScenariosIntermediate]] for an explanation on how to do that). It's also used to generate the default names of saved files for the level.&lt;br /&gt;
&lt;br /&gt;
* The next attribute, &amp;lt;code&amp;gt;map_data&amp;lt;/code&amp;gt; is a little tricky.  Normally, the map data (the text that is used to generate a map) goes directly inside of the quotation marks.  However, it is often useful to keep that map data in a separate file, and then include that file (still inside the quotation marks) using a [[PreprocessorRef|preprocesser]] command.  The code &amp;lt;code&amp;gt;{@campaigns/Test_Campaign/maps/testmap}&amp;lt;/code&amp;gt; does just that, telling the wesnoth engine to look in the file &amp;lt;code&amp;gt;campaigns/Test_Campaign/maps/testmap&amp;lt;/code&amp;gt; for the map data.  The &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt; symbol tells wesnoth to search for the map file in both the ''userdata'' directory and the ''gamedata'' directory (see [[EditingWesnoth]] and [[PreprocessorRef]] for more information).  You can create and edit map files using wesnoth's built-in [[Editor2|map editor]] (see [[BuildingMaps]] for more information).&lt;br /&gt;
&lt;br /&gt;
* Finally, the last attribute in the top set of keys is &amp;lt;code&amp;gt;turns&amp;lt;/code&amp;gt;. This is the number of turns a player is given to finish the scenario (it can be changed during the game, but again, that is stuff for later). If the player fails to finish the scenario in the given time, he has lost (''i.e.,'' the ''defeat'' event is triggered. See [[EventWML]] for more.)&lt;br /&gt;
&lt;br /&gt;
The next section is a group of macros which will be processed by Wesnoth's [[PreprocessorRef|preprocesser]]. Macros are essentially [[WML]] shortcuts. They allow you to define certain pieces of code which can be re-used whenever they are needed. Wesnoth provides you with a whole series of standard, pre-written macros to make life easier, but you yourself can write them too (again, stuff for later). &lt;br /&gt;
Let's get back to this example! The macros listed above describe how a day in this scenario will progress. The list of macros above is the normal day used throughout Wesnoth. If you want the entire scenario to take place at night, remove all the macros except for &amp;lt;code&amp;gt;{SECOND_WATCH}&amp;lt;/code&amp;gt;. Doing this might, for example, be useful if you've set Konrad to fight the Undead and also want the Undead to have the upper hand throughout the scenario. Remember, though, by setting this to a single time of day rather than the normal diurnal progression shown above, your scenario will effectively take place during one day (or night) rather than across many days as most scenarios do.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;music&amp;lt;/code&amp;gt; attribute takes for its value the name of a music file (see [[MusicListWML]] for more). This file must be in the &amp;lt;code&amp;gt;music/&amp;lt;/code&amp;gt; directory and &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be in [http://en.wikipedia.org/wiki/Ogg Ogg] format.&lt;br /&gt;
&lt;br /&gt;
A tag you'll get to know very well when making scenarios is &amp;lt;code&amp;gt;[event]...[/event]&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; tags are used to describe what should be done when various sorts of ''events'' take place. The specific type of event is stated in the &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;'s &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute. In this case we're describing the so-called &amp;lt;code&amp;gt;prestart&amp;lt;/code&amp;gt; event. This event occurs just ''after'' all the introduction screens for the scenario have been shown but just ''before'' the map itself is displayed. This prestart event is used to set the scenario's objectives, i.e. the contents of the ''Scenario Objectives Dialog'' that will appear once the scenario begins. The purpose of the Scenario Objectives Dialog is to inform the player what must be accomplished to win the scenario and what circumstances bring about defeat. These winning and losing circumstances are defined using the &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; tag (N.B. that &amp;lt;code&amp;gt;objectives&amp;lt;/code&amp;gt; is plural). Further, each circumstance is defined in its own &amp;lt;code&amp;gt;[objective]&amp;lt;/code&amp;gt; (N.B. the singular here) tag with winning circumstances setting &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;win&amp;lt;/code&amp;gt;, and with losing circumstances setting it to &amp;lt;code&amp;gt;lose&amp;lt;/code&amp;gt;. In the example above, &amp;lt;code&amp;gt;objectives&amp;lt;/code&amp;gt; states victory to be &amp;quot;Defeat Enemy Leader&amp;quot;. For defeat, however, &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; gives the player ''two'' possibilities: either &amp;quot;Death of Konrad&amp;quot; or &amp;quot;Turns run out&amp;quot; (any number of either winning or losing &amp;lt;code&amp;gt;[objective]&amp;lt;/code&amp;gt; tags may be given). Accordingly, the Scenario Objectives Dialog will look vaguely like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
'''&amp;lt;font size=e&amp;gt;A Simple Test Scenario&amp;lt;/font&amp;gt;'''&lt;br /&gt;
&amp;lt;br&amp;gt;'''Victory:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;font color=green&amp;gt;Defeat Enemy Leader&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;'''Defeat:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;font color=red&amp;gt;Death of Konrad&lt;br /&gt;
&amp;lt;br&amp;gt;Turns run out&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;[ OK ]&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; tag doesn't define the circumstances of victory or defeat to the game engine. It merely tells the player what they are.  Special victory or defeat conditions will have to be coded into the scenario using various [event]s.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;side&amp;lt;/code&amp;gt; attribute in &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; indicates that the conditions defined here by the &amp;lt;code&amp;gt;[objective]&amp;lt;/code&amp;gt; tags are for the faction or alliance ''side 1'' alone (see below). In a single-player game, side 1 would usually indicate the player's faction or alliance). The underscore (&amp;quot;_&amp;quot;) facilitates translation using [[GetText|Gettext]].&lt;br /&gt;
&lt;br /&gt;
== Second part ==&lt;br /&gt;
So far so good! The last necessary part describes what the players (both human and&lt;br /&gt;
computer) start with, what they can do, and what they can't do. Each of the players is described in a &amp;lt;code&amp;gt;[side]&amp;lt;/code&amp;gt; tag with the word ''side'' referring to a player's faction, band, or horde.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;font size=5&amp;gt;↑ ↑ ↑&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;''continued from above''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
  [side]&lt;br /&gt;
    side=1&lt;br /&gt;
    controller=human&lt;br /&gt;
    team_name=2&lt;br /&gt;
    user_team_name= _ &amp;quot;Konrad's forces&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    type=Commander&lt;br /&gt;
    id=Konrad&lt;br /&gt;
    canrecruit=yes&lt;br /&gt;
&lt;br /&gt;
    recruit=Elvish Fighter,Elvish Archer,Horseman,Mage,Elvish Shaman&lt;br /&gt;
&lt;br /&gt;
    {GOLD 100 50 0}&lt;br /&gt;
    {INCOME 10 5 0}&lt;br /&gt;
  [/side] &lt;br /&gt;
[/scenario]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above you can see a sample &amp;lt;code&amp;gt;[side]&amp;lt;/code&amp;gt; for the human player, Konrad. The first group of attributes in the &amp;lt;code&amp;gt;[side]&amp;lt;/code&amp;gt; tag pertains to the side generally:&lt;br /&gt;
* &amp;lt;code&amp;gt;side&amp;lt;/code&amp;gt;: the leader of this side is placed on the tile represented by this digit (see [[BuildingMaps]]). It's a number from 1 to 9.&lt;br /&gt;
* &amp;lt;code&amp;gt;controller&amp;lt;/code&amp;gt; takes either of two possible values: &amp;lt;code&amp;gt;human&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ai&amp;lt;/code&amp;gt; (''i.e.,'' ''artificial intelligence'', meaning your computer). If you don't specify this attribute, &amp;lt;code&amp;gt;ai&amp;lt;/code&amp;gt; is the default.&lt;br /&gt;
* &amp;lt;code&amp;gt;team_name&amp;lt;/code&amp;gt; describes which team the side is on. It defaults to the same number as &amp;lt;code&amp;gt;side&amp;lt;/code&amp;gt;, but setting it to &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; allies this side with side 2 (if you haven't changed the &amp;lt;code&amp;gt;team_name&amp;lt;/code&amp;gt; of side 2).&lt;br /&gt;
* &amp;lt;code&amp;gt;user_team_name&amp;lt;/code&amp;gt; is the name displayed when you view the side stats (by pressing &amp;lt;tt&amp;gt;alt+s&amp;lt;/tt&amp;gt; during gameplay). The underscore (&amp;quot;_&amp;quot;) facilitates translation using [[GetText|Gettext]].&lt;br /&gt;
&lt;br /&gt;
The next group of attributes describe the leader of this side:&lt;br /&gt;
* &amp;lt;code&amp;gt;canrecruit&amp;lt;/code&amp;gt;: This attribute can be set to &amp;lt;code&amp;gt;yes&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;no&amp;lt;/code&amp;gt; (the boolean equivalents &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; also work). If this is set to &amp;lt;code&amp;gt;no&amp;lt;/code&amp;gt;, the leader won't be able to recruit (not much of a leader then, is he?). Any side without a &amp;lt;code&amp;gt;canrecruit=yes&amp;lt;/code&amp;gt; attribute statement automatically loses, so be sure to include this attribute.&lt;br /&gt;
* &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; describes what type of unit the leader will be. The possible  values are listed in [http://units.wesnoth.org the Wesnoth unit tables].&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; is the name and identifier of the leader.&lt;br /&gt;
&lt;br /&gt;
In a campaign, all of these &amp;quot;leader-describing&amp;quot; attributes are ignored for human players (except &amp;lt;code&amp;gt;canrecruit&amp;lt;/code&amp;gt;), since the leader from the previous scenario is carried over into the current one.  The exception to this is, of course, the first scenario, because there is no leader from previous scenarios.  However, the &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute is still necessary to prevent the scenario from crashing, so be sure to include it.&lt;br /&gt;
&lt;br /&gt;
The last attribute, &amp;lt;code&amp;gt;recruit&amp;lt;/code&amp;gt;, is a comma-separated list of [http://units.wesnoth.org unit types].  These types will become the side's recruitment list.  This too is only necessary in a human player's first scenario, because the recruit list is carried over from one scenario to the next.&lt;br /&gt;
&lt;br /&gt;
Finally, two macros are called. The first, &amp;lt;code&amp;gt;GOLD&amp;lt;/code&amp;gt; takes three positive numbers. These indicate the amount of money the player will start with on the &amp;lt;var&amp;gt;easy&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;normal&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;hard&amp;lt;/var&amp;gt; difficulty levels, respectively. For a human-controlled side (&amp;lt;code&amp;gt;controller=human&amp;lt;/code&amp;gt;), this specifies only the &amp;lt;i&amp;gt;minimum&amp;lt;/i&amp;gt; amount of gold.  The actual amount the player starts with can be larger if the player has retained gold from previous scenarios. The second macro, &amp;lt;code&amp;gt;INCOME&amp;lt;/code&amp;gt;, is analogous to &amp;lt;code&amp;gt;GOLD&amp;lt;/code&amp;gt; but for the base income. The defaults values for &amp;lt;code&amp;gt;GOLD&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;INCOME&amp;lt;/code&amp;gt; are 100 gold and 2 base income, respectively.&lt;br /&gt;
&lt;br /&gt;
== Making it all work ==&lt;br /&gt;
To make this scenario playable, we need to make a campaign for it (see [[BuildingCampaignsTheCampaignFile]]).&lt;br /&gt;
This should '''not''' be stored in the main directory &amp;lt;tt&amp;gt;data/campaigns&amp;lt;/tt&amp;gt; but rather inside &amp;lt;tt&amp;gt;userdata/data/campaigns&amp;lt;/tt&amp;gt;. This prevents the breaking of mainline campaigns or, even worse, the entire game (see [[BuildingCampaignsDirectoryStructure]]).&lt;br /&gt;
Please note that all files (''i.e.'', the campaign file and the scenario files for each level) must be saved with the file extension &amp;lt;tt&amp;gt;.cfg&amp;lt;/tt&amp;gt; (''e.g.'', &amp;lt;tt&amp;gt;testcampaign.cfg&amp;lt;/tt&amp;gt;).&lt;br /&gt;
The following is a short, example campaign file:&lt;br /&gt;
&lt;br /&gt;
 [campaign]&lt;br /&gt;
   name= _ &amp;quot;Test Campaign&amp;quot;&lt;br /&gt;
   first_scenario=test-1&lt;br /&gt;
   difficulties=EASY,NORMAL,HARD&lt;br /&gt;
 &lt;br /&gt;
   difficulty_descriptions= _ &amp;quot;&amp;amp;elvish-fighter.png=Easy;*&amp;amp;elvish-hero.png=Medium;&amp;amp;elvish-champion.png=Hard&amp;quot;&lt;br /&gt;
   icon=elvish-fighter.png&lt;br /&gt;
 [/campaign]&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[campaign]&amp;lt;/code&amp;gt; tag describes the campaign. The first attribute, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, is displayed in the campaign selector box during gameplay. The second, &amp;lt;code&amp;gt;first_scenario&amp;lt;/code&amp;gt;, is set to the ID number of the first scenario of the campaign. Subsequent scenarios are referenced by the &amp;lt;code&amp;gt;next_scenario&amp;lt;/code&amp;gt; attribute of their immediately preceding scenarios (see above in the first part of this tutorial). Since the first scenario, obviously, doesn't have a predecessor, it is referenced here in the &amp;lt;code&amp;gt;campaign&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
The attribute &amp;lt;code&amp;gt;difficulties=EASY,NORMAL,HARD&amp;lt;/code&amp;gt; tells Wesnoth to use the value &amp;lt;code&amp;gt;EASY&amp;lt;/code&amp;gt; if the first difficulty choice is chosen during gameplay, &amp;lt;code&amp;gt;NORMAL&amp;lt;/code&amp;gt; if the second is chosen, and &amp;lt;code&amp;gt;HARD&amp;lt;/code&amp;gt; if the third is chosen.&lt;br /&gt;
The expression &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt; can be used later to test the value of this attribute (see [[PreprocessorRef]]).&lt;br /&gt;
It is recommended that you do not use any names other than &amp;lt;code&amp;gt;EASY&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NORMAL&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;HARD&amp;lt;/code&amp;gt; for your macros because doing so will cause some standard macros, such as &amp;lt;code&amp;gt;{GOLD}&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;{INCOME}&amp;lt;/code&amp;gt;, to not work properly.&lt;br /&gt;
&lt;br /&gt;
Two optional attributes are &amp;lt;code&amp;gt;difficulty_descriptions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;icon&amp;lt;/code&amp;gt;.&lt;br /&gt;
As its value, &amp;lt;code&amp;gt;icon&amp;lt;/code&amp;gt; holds the filename of an image to represent this campaign which will be displayed in the campaign list during gameplay.&lt;br /&gt;
The &amp;lt;code&amp;gt;difficulty_descriptions&amp;lt;/code&amp;gt; attribute must have in its value the same number of (string-enclosed) list items as  &amp;lt;code&amp;gt;difficulties&amp;lt;/code&amp;gt; has in its (not string-enclosed) list items. This list length for both attributes is most commonly three. Also note that the list for &amp;lt;code&amp;gt;difficulty_desciptions&amp;lt;/code&amp;gt; is not only string enclosed, but its items are separated by semicolons rather than commas. Unsurprising, in our example during gameplay &amp;lt;tt&amp;gt;elvish-fighter.png&amp;lt;/tt&amp;gt; would display associated with the &amp;lt;i&amp;gt;easy&amp;lt;/i&amp;gt; level, &amp;lt;tt&amp;gt;elvish-hero.png&amp;lt;/tt&amp;gt; with &amp;lt;i&amp;gt;normal&amp;lt;/i&amp;gt;, and &amp;lt;tt&amp;gt;elvish-champion.png&amp;lt;/tt&amp;gt; with &amp;lt;i&amp;gt;hard&amp;lt;/i&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each list item in &amp;lt;code&amp;gt;difficulty_description&amp;lt;/code&amp;gt; begins with an ampersand (&amp;quot;&amp;amp;&amp;quot;). This is followed by the filename of the image, then an equal sign (&amp;quot;=&amp;quot;), and finally the text to display (&amp;lt;i&amp;gt;i.e.&amp;lt;/i&amp;gt;, &amp;quot;Easy&amp;quot;. Take note that text displayed for the easy level is not &amp;quot;EASY&amp;quot;: the text used is that in &amp;lt;code&amp;gt;difficulty_descriptions&amp;lt;/code&amp;gt;, not &amp;lt;code&amp;gt;difficulties&amp;lt;/code&amp;gt;. Similary, the normal level's text is &amp;quot;Medium&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
Optionally you may place an asterisk (&amp;quot;*&amp;quot;) before one of list items of &amp;lt;code&amp;gt;difficulty_desciptions&amp;lt;/code&amp;gt; which will cause that corresponding difficulty level to be selected as the default during gameplay. In the example above, the normal level (along with its elvish hero) is selected as the default.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[BuildingMaps]] &amp;amp; [[WesnothMapEditor]]&lt;br /&gt;
* [[ScenarioWML]] &amp;amp; [[SyntaxWML]]&lt;br /&gt;
* [[BuildingScenarios]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Create]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingScenariosSimple&amp;diff=28646</id>
		<title>BuildingScenariosSimple</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingScenariosSimple&amp;diff=28646"/>
		<updated>2009-03-13T22:10:40Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: /* Second part */  updating code &amp;amp;&amp;amp; clarifying some things &amp;amp;&amp;amp; fixing some misconceptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BuildingScenariosNav}}&lt;br /&gt;
&lt;br /&gt;
= Learning things step by step =&lt;br /&gt;
&lt;br /&gt;
Here we will show you a very simple scenario file and explain each line of it.&lt;br /&gt;
The file is not fully functional, but it will show the basics needed to describe what a scenario is all about.&lt;br /&gt;
&lt;br /&gt;
'''Before reading this, it might prove useful to read something about the syntax of the Wesnoth Markup Language: [[SyntaxWML]]'''&lt;br /&gt;
&lt;br /&gt;
== First part ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[scenario]&lt;br /&gt;
&lt;br /&gt;
  id=01_test-1&lt;br /&gt;
  next_scenario=02_test-more&lt;br /&gt;
 &lt;br /&gt;
  name=A Simple Test Scenario&lt;br /&gt;
  map_data=&amp;quot;{@campaigns/Test_Campaign/maps/testmap}&amp;quot;&lt;br /&gt;
  turns=20&lt;br /&gt;
 &lt;br /&gt;
  {DAWN}&lt;br /&gt;
  {MORNING}&lt;br /&gt;
  {AFTERNOON}&lt;br /&gt;
  {DUSK}&lt;br /&gt;
  {FIRST_WATCH}&lt;br /&gt;
  {SECOND_WATCH}&lt;br /&gt;
 &lt;br /&gt;
  music=wesnoth-1.ogg&lt;br /&gt;
 &lt;br /&gt;
  [event]&lt;br /&gt;
    name=prestart&lt;br /&gt;
    [objectives]&lt;br /&gt;
      side=1&lt;br /&gt;
      [objective]&lt;br /&gt;
        description= _ &amp;quot;Defeat Enemy Leader&amp;quot;&lt;br /&gt;
        condition=win&lt;br /&gt;
      [/objective]&lt;br /&gt;
      [objective]&lt;br /&gt;
        description= _ &amp;quot;Death of Konrad&amp;quot;&lt;br /&gt;
        condition=lose&lt;br /&gt;
      [/objective]&lt;br /&gt;
      [objective]&lt;br /&gt;
        description= _ &amp;quot;Turns run out&amp;quot;&lt;br /&gt;
        condition=lose&lt;br /&gt;
      [/objective]&lt;br /&gt;
    [/objectives]&lt;br /&gt;
  [/event]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''continued below''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;font size=5&amp;gt;↓ ↓ ↓&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Every scenario must be enclosed in a tag; the &amp;lt;code&amp;gt;[scenario]&amp;lt;/code&amp;gt; tag is used for campaign scenarios. The first set of attributes in the scenario tag describe the very basics of this scenario:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; (short for ''identifier'') is the computer's name for your scenario and is not displayed during the game. However, it will be used to display game statistics (they will be graphed at http://stats.wesnoth.org in numerical order, so it's also a good idea to give the &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;'s a number). This name is also referenced in other tags and files, ''e.g.,'' inside a &amp;lt;code&amp;gt;[campaign]&amp;lt;/code&amp;gt; tag using the &amp;lt;code&amp;gt;first_scenario&amp;lt;/code&amp;gt; attribute (see [[BuildingCampaignsTheCampaignFile]]) or inside a &amp;lt;code&amp;gt;[scenario]&amp;lt;/code&amp;gt; tag using the &amp;lt;code&amp;gt;next_scenario&amp;lt;/code&amp;gt; attribute (see below).&lt;br /&gt;
&lt;br /&gt;
* The value of the &amp;lt;code&amp;gt;next_scenario&amp;lt;/code&amp;gt; attribute is the &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; (see above) of the scenario that is played after this one is won. Units from this scenario will be available for recall (unless you modify the recall list, but that's stuff for later). If your scenario is not part of a campaign, or if this is the last scenario you should either skip this line or put &amp;lt;code&amp;gt;next_scenario=null&amp;lt;/code&amp;gt; inside the file. This will tell the game to display the ''End'' screen when this scenario is won.&lt;br /&gt;
&lt;br /&gt;
* The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is shown on the introduction screen before each scenario is played (this may contain a picture of a map or anything else you fancy. See [[BuildingScenariosIntermediate]] for an explanation on how to do that). It's also used to generate the default names of saved files for the level.&lt;br /&gt;
&lt;br /&gt;
* The next attribute, &amp;lt;code&amp;gt;map_data&amp;lt;/code&amp;gt; is a little tricky.  Normally, the map data (the text that is used to generate a map) goes directly inside of the quotation marks.  However, it is often useful to keep that map data in a separate file, and then include that file (still inside the quotation marks) using a [[PreprocessorRef|preprocesser]] command.  The code &amp;lt;code&amp;gt;{@campaigns/Test_Campaign/maps/testmap}&amp;lt;/code&amp;gt; does just that, telling the wesnoth engine to look in the file &amp;lt;code&amp;gt;campaigns/Test_Campaign/maps/testmap&amp;lt;/code&amp;gt; for the map data.  The &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt; symbol tells wesnoth to search for the map file in both the ''userdata'' directory and the ''gamedata'' directory (see [[EditingWesnoth]] and [[PreprocessorRef]] for more information).  You can create and edit map files using wesnoth's built-in [[Editor2|map editor]] (see [[BuildingMaps]] for more information).&lt;br /&gt;
&lt;br /&gt;
* Finally, the last attribute in the top set of keys is &amp;lt;code&amp;gt;turns&amp;lt;/code&amp;gt;. This is the number of turns a player is given to finish the scenario (it can be changed during the game, but again, that is stuff for later). If the player fails to finish the scenario in the given time, he has lost (''i.e.,'' the ''defeat'' event is triggered. See [[EventWML]] for more.)&lt;br /&gt;
&lt;br /&gt;
The next section is a group of macros which will be processed by Wesnoth's [[PreprocessorRef|preprocesser]]. Macros are essentially [[WML]] shortcuts. They allow you to define certain pieces of code which can be re-used whenever they are needed. Wesnoth provides you with a whole series of standard, pre-written macros to make life easier, but you yourself can write them too (again, stuff for later). &lt;br /&gt;
Let's get back to this example! The macros listed above describe how a day in this scenario will progress. The list of macros above is the normal day used throughout Wesnoth. If you want the entire scenario to take place at night, remove all the macros except for &amp;lt;code&amp;gt;{SECOND_WATCH}&amp;lt;/code&amp;gt;. Doing this might, for example, be useful if you've set Konrad to fight the Undead and also want the Undead to have the upper hand throughout the scenario. Remember, though, by setting this to a single time of day rather than the normal diurnal progression shown above, your scenario will effectively take place during one day (or night) rather than across many days as most scenarios do.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;music&amp;lt;/code&amp;gt; attribute takes for its value the name of a music file (see [[MusicListWML]] for more). This file must be in the &amp;lt;code&amp;gt;music/&amp;lt;/code&amp;gt; directory and &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be in [http://en.wikipedia.org/wiki/Ogg Ogg] format.&lt;br /&gt;
&lt;br /&gt;
A tag you'll get to know very well when making scenarios is &amp;lt;code&amp;gt;[event]...[/event]&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; tags are used to describe what should be done when various sorts of ''events'' take place. The specific type of event is stated in the &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;'s &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute. In this case we're describing the so-called &amp;lt;code&amp;gt;prestart&amp;lt;/code&amp;gt; event. This event occurs just ''after'' all the introduction screens for the scenario have been shown but just ''before'' the map itself is displayed. This prestart event is used to set the scenario's objectives, i.e. the contents of the ''Scenario Objectives Dialog'' that will appear once the scenario begins. The purpose of the Scenario Objectives Dialog is to inform the player what must be accomplished to win the scenario and what circumstances bring about defeat. These winning and losing circumstances are defined using the &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; tag (N.B. that &amp;lt;code&amp;gt;objectives&amp;lt;/code&amp;gt; is plural). Further, each circumstance is defined in its own &amp;lt;code&amp;gt;[objective]&amp;lt;/code&amp;gt; (N.B. the singular here) tag with winning circumstances setting &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;win&amp;lt;/code&amp;gt;, and with losing circumstances setting it to &amp;lt;code&amp;gt;lose&amp;lt;/code&amp;gt;. In the example above, &amp;lt;code&amp;gt;objectives&amp;lt;/code&amp;gt; states victory to be &amp;quot;Defeat Enemy Leader&amp;quot;. For defeat, however, &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; gives the player ''two'' possibilities: either &amp;quot;Death of Konrad&amp;quot; or &amp;quot;Turns run out&amp;quot; (any number of either winning or losing &amp;lt;code&amp;gt;[objective]&amp;lt;/code&amp;gt; tags may be given). Accordingly, the Scenario Objectives Dialog will look vaguely like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
'''&amp;lt;font size=e&amp;gt;A Simple Test Scenario&amp;lt;/font&amp;gt;'''&lt;br /&gt;
&amp;lt;br&amp;gt;'''Victory:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;font color=green&amp;gt;Defeat Enemy Leader&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;'''Defeat:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;font color=red&amp;gt;Death of Konrad&lt;br /&gt;
&amp;lt;br&amp;gt;Turns run out&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;[ OK ]&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; tag doesn't define the circumstances of victory or defeat to the game engine. It merely tells the player what they are.  Special victory or defeat conditions will have to be coded into the scenario using various [event]s.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;side&amp;lt;/code&amp;gt; attribute in &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; indicates that the conditions defined here by the &amp;lt;code&amp;gt;[objective]&amp;lt;/code&amp;gt; tags are for the faction or alliance ''side 1'' alone (see below). In a single-player game, side 1 would usually indicate the player's faction or alliance). The underscore (&amp;quot;_&amp;quot;) facilitates translation using [[GetText|Gettext]].&lt;br /&gt;
&lt;br /&gt;
== Second part ==&lt;br /&gt;
So far so good! The last necessary part describes what the players (both human and&lt;br /&gt;
computer) start with, what they can do, and what they can't do. Each of the players is described in a &amp;lt;code&amp;gt;[side]&amp;lt;/code&amp;gt; tag with the word ''side'' referring to a player's faction, band, or horde.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;font size=5&amp;gt;↑ ↑ ↑&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;''continued from above''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
  [side]&lt;br /&gt;
    side=1&lt;br /&gt;
    controller=human&lt;br /&gt;
    team_name=2&lt;br /&gt;
    user_team_name= _ &amp;quot;Konrad's forces&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    type=Commander&lt;br /&gt;
    id=Konrad&lt;br /&gt;
    canrecruit=yes&lt;br /&gt;
&lt;br /&gt;
    recruit=Elvish Fighter,Elvish Archer,Horseman,Mage,Elvish Shaman&lt;br /&gt;
&lt;br /&gt;
    {GOLD 100 50 0}&lt;br /&gt;
    {INCOME 10 5 0}&lt;br /&gt;
  [/side] &lt;br /&gt;
[/scenario]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above you can see a sample &amp;lt;code&amp;gt;[side]&amp;lt;/code&amp;gt; for the human player, Konrad. The first group of attributes in the &amp;lt;code&amp;gt;[side]&amp;lt;/code&amp;gt; tag pertains to the side generally:&lt;br /&gt;
* &amp;lt;code&amp;gt;side&amp;lt;/code&amp;gt;: the leader of this side is placed on the tile represented by this digit (see [[BuildingMaps]]). It's a number from 1 to 9.&lt;br /&gt;
* &amp;lt;code&amp;gt;controller&amp;lt;/code&amp;gt; takes either of two possible values: &amp;lt;code&amp;gt;human&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ai&amp;lt;/code&amp;gt; (''i.e.,'' ''artificial intelligence'', meaning your computer). If you don't specify this attribute, &amp;lt;code&amp;gt;ai&amp;lt;/code&amp;gt; is the default.&lt;br /&gt;
* &amp;lt;code&amp;gt;team_name&amp;lt;/code&amp;gt; describes which team the side is on. It defaults to the same number as &amp;lt;code&amp;gt;side&amp;lt;/code&amp;gt;, but setting it to &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; allies this side with side 2 (if you haven't changed the &amp;lt;code&amp;gt;team_name&amp;lt;/code&amp;gt; of side 2).&lt;br /&gt;
* &amp;lt;code&amp;gt;user_team_name&amp;lt;/code&amp;gt; is the name displayed when you view the side stats (by pressing &amp;lt;tt&amp;gt;alt+s&amp;lt;/tt&amp;gt; during gameplay). The underscore (&amp;quot;_&amp;quot;) facilitates translation using [[GetText|Gettext]].&lt;br /&gt;
&lt;br /&gt;
The next group of attributes describe the leader of this side:&lt;br /&gt;
* &amp;lt;code&amp;gt;canrecruit&amp;lt;/code&amp;gt;: This attribute can be set to &amp;lt;code&amp;gt;yes&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;no&amp;lt;/code&amp;gt; (the boolean equivalents &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; also work). If this is set to &amp;lt;code&amp;gt;no&amp;lt;/code&amp;gt;, the leader won't be able to recruit (not much of a leader then, is he?). Any side without a &amp;lt;code&amp;gt;canrecruit=yes&amp;lt;/code&amp;gt; attribute statement automatically loses, so be sure to include this attribute.&lt;br /&gt;
* &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; describes what type of unit the leader will be. The possible  values are listed in [http://units.wesnoth.org the Wesnoth unit tables].&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; is the name and identifier of the leader.&lt;br /&gt;
&lt;br /&gt;
In a campaign, all of these &amp;quot;leader-describing&amp;quot; attributes are ignored for human players (except &amp;lt;code&amp;gt;canrecruit&amp;lt;/code&amp;gt;), since the leader from the previous scenario is carried over into the current one.  The exception to this is, of course, the first scenario, because there is no leader from previous scenarios.  However, the &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute is still necessary to prevent the scenario from crashing, so be sure to include it.&lt;br /&gt;
&lt;br /&gt;
The last attribute, &amp;lt;code&amp;gt;recruit&amp;lt;/code&amp;gt;, is a comma-separated list of [http://units.wesnoth.org unit types].  These types will become the side's recruitment list.  This too is only necessary in a human player's first scenario, because the recruit list is carried over from one scenario to the next.&lt;br /&gt;
&lt;br /&gt;
Finally, two macros are called. The first, {{LinkMacroP|GOLD|easy normal hard}} takes three positive numbers. These indicate the amount of money the player will start with on the &amp;lt;var&amp;gt;easy&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;normal&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;hard&amp;lt;/var&amp;gt; difficulty levels. For a human-controlled side (&amp;lt;code&amp;gt;controller=human&amp;lt;/code&amp;gt;), this specifies only the &amp;lt;i&amp;gt;minimum&amp;lt;/i&amp;gt; amount of gold.  The actual amount the player starts with can be larger if the player has retained gold from previous scenarios. The second macro, {{LinkMacroP|INCOME|easy normal hard}}, is analogous to &amp;lt;code&amp;gt;GOLD&amp;lt;/code&amp;gt; but for the base income. The defaults values for &amp;lt;code&amp;gt;GOLD&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;INCOME&amp;lt;/code&amp;gt; are 100 gold and 2 base income, respectively.&lt;br /&gt;
&lt;br /&gt;
== Making it all work ==&lt;br /&gt;
To make this scenario playable, we need to make a campaign for it (see [[BuildingCampaignsTheCampaignFile]]).&lt;br /&gt;
This should '''not''' be stored in the main directory &amp;lt;tt&amp;gt;data/campaigns&amp;lt;/tt&amp;gt; but rather inside &amp;lt;tt&amp;gt;userdata/data/campaigns&amp;lt;/tt&amp;gt;. This prevents the breaking of mainline campaigns or, even worse, the entire game (see [[BuildingCampaignsDirectoryStructure]]).&lt;br /&gt;
Please note that all files (''i.e.'', the campaign file and the scenario files for each level) must be saved with the file extension &amp;lt;tt&amp;gt;.cfg&amp;lt;/tt&amp;gt; (''e.g.'', &amp;lt;tt&amp;gt;testcampaign.cfg&amp;lt;/tt&amp;gt;).&lt;br /&gt;
The following is a short, example campaign file:&lt;br /&gt;
&lt;br /&gt;
 [campaign]&lt;br /&gt;
   name= _ &amp;quot;Test Campaign&amp;quot;&lt;br /&gt;
   first_scenario=test-1&lt;br /&gt;
   difficulties=EASY,NORMAL,HARD&lt;br /&gt;
 &lt;br /&gt;
   difficulty_descriptions= _ &amp;quot;&amp;amp;elvish-fighter.png=Easy;*&amp;amp;elvish-hero.png=Medium;&amp;amp;elvish-champion.png=Hard&amp;quot;&lt;br /&gt;
   icon=elvish-fighter.png&lt;br /&gt;
 [/campaign]&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[campaign]&amp;lt;/code&amp;gt; tag describes the campaign. The first attribute, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, is displayed in the campaign selector box during gameplay. The second, &amp;lt;code&amp;gt;first_scenario&amp;lt;/code&amp;gt;, is set to the ID number of the first scenario of the campaign. Subsequent scenarios are referenced by the &amp;lt;code&amp;gt;next_scenario&amp;lt;/code&amp;gt; attribute of their immediately preceding scenarios (see above in the first part of this tutorial). Since the first scenario, obviously, doesn't have a predecessor, it is referenced here in the &amp;lt;code&amp;gt;campaign&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
The attribute &amp;lt;code&amp;gt;difficulties=EASY,NORMAL,HARD&amp;lt;/code&amp;gt; tells Wesnoth to use the value &amp;lt;code&amp;gt;EASY&amp;lt;/code&amp;gt; if the first difficulty choice is chosen during gameplay, &amp;lt;code&amp;gt;NORMAL&amp;lt;/code&amp;gt; if the second is chosen, and &amp;lt;code&amp;gt;HARD&amp;lt;/code&amp;gt; if the third is chosen.&lt;br /&gt;
The expression &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt; can be used later to test the value of this attribute (see [[PreprocessorRef]]).&lt;br /&gt;
It is recommended that you do not use any names other than &amp;lt;code&amp;gt;EASY&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NORMAL&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;HARD&amp;lt;/code&amp;gt; for your macros because doing so will cause some standard macros, such as &amp;lt;code&amp;gt;{GOLD}&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;{INCOME}&amp;lt;/code&amp;gt;, to not work properly.&lt;br /&gt;
&lt;br /&gt;
Two optional attributes are &amp;lt;code&amp;gt;difficulty_descriptions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;icon&amp;lt;/code&amp;gt;.&lt;br /&gt;
As its value, &amp;lt;code&amp;gt;icon&amp;lt;/code&amp;gt; holds the filename of an image to represent this campaign which will be displayed in the campaign list during gameplay.&lt;br /&gt;
The &amp;lt;code&amp;gt;difficulty_descriptions&amp;lt;/code&amp;gt; attribute must have in its value the same number of (string-enclosed) list items as  &amp;lt;code&amp;gt;difficulties&amp;lt;/code&amp;gt; has in its (not string-enclosed) list items. This list length for both attributes is most commonly three. Also note that the list for &amp;lt;code&amp;gt;difficulty_desciptions&amp;lt;/code&amp;gt; is not only string enclosed, but its items are separated by semicolons rather than commas. Unsurprising, in our example during gameplay &amp;lt;tt&amp;gt;elvish-fighter.png&amp;lt;/tt&amp;gt; would display associated with the &amp;lt;i&amp;gt;easy&amp;lt;/i&amp;gt; level, &amp;lt;tt&amp;gt;elvish-hero.png&amp;lt;/tt&amp;gt; with &amp;lt;i&amp;gt;normal&amp;lt;/i&amp;gt;, and &amp;lt;tt&amp;gt;elvish-champion.png&amp;lt;/tt&amp;gt; with &amp;lt;i&amp;gt;hard&amp;lt;/i&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each list item in &amp;lt;code&amp;gt;difficulty_description&amp;lt;/code&amp;gt; begins with an ampersand (&amp;quot;&amp;amp;&amp;quot;). This is followed by the filename of the image, then an equal sign (&amp;quot;=&amp;quot;), and finally the text to display (&amp;lt;i&amp;gt;i.e.&amp;lt;/i&amp;gt;, &amp;quot;Easy&amp;quot;. Take note that text displayed for the easy level is not &amp;quot;EASY&amp;quot;: the text used is that in &amp;lt;code&amp;gt;difficulty_descriptions&amp;lt;/code&amp;gt;, not &amp;lt;code&amp;gt;difficulties&amp;lt;/code&amp;gt;. Similary, the normal level's text is &amp;quot;Medium&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
Optionally you may place an asterisk (&amp;quot;*&amp;quot;) before one of list items of &amp;lt;code&amp;gt;difficulty_desciptions&amp;lt;/code&amp;gt; which will cause that corresponding difficulty level to be selected as the default during gameplay. In the example above, the normal level (along with its elvish hero) is selected as the default.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[BuildingMaps]] &amp;amp; [[WesnothMapEditor]]&lt;br /&gt;
* [[ScenarioWML]] &amp;amp; [[SyntaxWML]]&lt;br /&gt;
* [[BuildingScenarios]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Create]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingScenariosSimple&amp;diff=28645</id>
		<title>BuildingScenariosSimple</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingScenariosSimple&amp;diff=28645"/>
		<updated>2009-03-13T22:02:51Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: /* First part */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BuildingScenariosNav}}&lt;br /&gt;
&lt;br /&gt;
= Learning things step by step =&lt;br /&gt;
&lt;br /&gt;
Here we will show you a very simple scenario file and explain each line of it.&lt;br /&gt;
The file is not fully functional, but it will show the basics needed to describe what a scenario is all about.&lt;br /&gt;
&lt;br /&gt;
'''Before reading this, it might prove useful to read something about the syntax of the Wesnoth Markup Language: [[SyntaxWML]]'''&lt;br /&gt;
&lt;br /&gt;
== First part ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[scenario]&lt;br /&gt;
&lt;br /&gt;
  id=01_test-1&lt;br /&gt;
  next_scenario=02_test-more&lt;br /&gt;
 &lt;br /&gt;
  name=A Simple Test Scenario&lt;br /&gt;
  map_data=&amp;quot;{@campaigns/Test_Campaign/maps/testmap}&amp;quot;&lt;br /&gt;
  turns=20&lt;br /&gt;
 &lt;br /&gt;
  {DAWN}&lt;br /&gt;
  {MORNING}&lt;br /&gt;
  {AFTERNOON}&lt;br /&gt;
  {DUSK}&lt;br /&gt;
  {FIRST_WATCH}&lt;br /&gt;
  {SECOND_WATCH}&lt;br /&gt;
 &lt;br /&gt;
  music=wesnoth-1.ogg&lt;br /&gt;
 &lt;br /&gt;
  [event]&lt;br /&gt;
    name=prestart&lt;br /&gt;
    [objectives]&lt;br /&gt;
      side=1&lt;br /&gt;
      [objective]&lt;br /&gt;
        description= _ &amp;quot;Defeat Enemy Leader&amp;quot;&lt;br /&gt;
        condition=win&lt;br /&gt;
      [/objective]&lt;br /&gt;
      [objective]&lt;br /&gt;
        description= _ &amp;quot;Death of Konrad&amp;quot;&lt;br /&gt;
        condition=lose&lt;br /&gt;
      [/objective]&lt;br /&gt;
      [objective]&lt;br /&gt;
        description= _ &amp;quot;Turns run out&amp;quot;&lt;br /&gt;
        condition=lose&lt;br /&gt;
      [/objective]&lt;br /&gt;
    [/objectives]&lt;br /&gt;
  [/event]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''continued below''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;font size=5&amp;gt;↓ ↓ ↓&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Every scenario must be enclosed in a tag; the &amp;lt;code&amp;gt;[scenario]&amp;lt;/code&amp;gt; tag is used for campaign scenarios. The first set of attributes in the scenario tag describe the very basics of this scenario:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; (short for ''identifier'') is the computer's name for your scenario and is not displayed during the game. However, it will be used to display game statistics (they will be graphed at http://stats.wesnoth.org in numerical order, so it's also a good idea to give the &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;'s a number). This name is also referenced in other tags and files, ''e.g.,'' inside a &amp;lt;code&amp;gt;[campaign]&amp;lt;/code&amp;gt; tag using the &amp;lt;code&amp;gt;first_scenario&amp;lt;/code&amp;gt; attribute (see [[BuildingCampaignsTheCampaignFile]]) or inside a &amp;lt;code&amp;gt;[scenario]&amp;lt;/code&amp;gt; tag using the &amp;lt;code&amp;gt;next_scenario&amp;lt;/code&amp;gt; attribute (see below).&lt;br /&gt;
&lt;br /&gt;
* The value of the &amp;lt;code&amp;gt;next_scenario&amp;lt;/code&amp;gt; attribute is the &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; (see above) of the scenario that is played after this one is won. Units from this scenario will be available for recall (unless you modify the recall list, but that's stuff for later). If your scenario is not part of a campaign, or if this is the last scenario you should either skip this line or put &amp;lt;code&amp;gt;next_scenario=null&amp;lt;/code&amp;gt; inside the file. This will tell the game to display the ''End'' screen when this scenario is won.&lt;br /&gt;
&lt;br /&gt;
* The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is shown on the introduction screen before each scenario is played (this may contain a picture of a map or anything else you fancy. See [[BuildingScenariosIntermediate]] for an explanation on how to do that). It's also used to generate the default names of saved files for the level.&lt;br /&gt;
&lt;br /&gt;
* The next attribute, &amp;lt;code&amp;gt;map_data&amp;lt;/code&amp;gt; is a little tricky.  Normally, the map data (the text that is used to generate a map) goes directly inside of the quotation marks.  However, it is often useful to keep that map data in a separate file, and then include that file (still inside the quotation marks) using a [[PreprocessorRef|preprocesser]] command.  The code &amp;lt;code&amp;gt;{@campaigns/Test_Campaign/maps/testmap}&amp;lt;/code&amp;gt; does just that, telling the wesnoth engine to look in the file &amp;lt;code&amp;gt;campaigns/Test_Campaign/maps/testmap&amp;lt;/code&amp;gt; for the map data.  The &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt; symbol tells wesnoth to search for the map file in both the ''userdata'' directory and the ''gamedata'' directory (see [[EditingWesnoth]] and [[PreprocessorRef]] for more information).  You can create and edit map files using wesnoth's built-in [[Editor2|map editor]] (see [[BuildingMaps]] for more information).&lt;br /&gt;
&lt;br /&gt;
* Finally, the last attribute in the top set of keys is &amp;lt;code&amp;gt;turns&amp;lt;/code&amp;gt;. This is the number of turns a player is given to finish the scenario (it can be changed during the game, but again, that is stuff for later). If the player fails to finish the scenario in the given time, he has lost (''i.e.,'' the ''defeat'' event is triggered. See [[EventWML]] for more.)&lt;br /&gt;
&lt;br /&gt;
The next section is a group of macros which will be processed by Wesnoth's [[PreprocessorRef|preprocesser]]. Macros are essentially [[WML]] shortcuts. They allow you to define certain pieces of code which can be re-used whenever they are needed. Wesnoth provides you with a whole series of standard, pre-written macros to make life easier, but you yourself can write them too (again, stuff for later). &lt;br /&gt;
Let's get back to this example! The macros listed above describe how a day in this scenario will progress. The list of macros above is the normal day used throughout Wesnoth. If you want the entire scenario to take place at night, remove all the macros except for &amp;lt;code&amp;gt;{SECOND_WATCH}&amp;lt;/code&amp;gt;. Doing this might, for example, be useful if you've set Konrad to fight the Undead and also want the Undead to have the upper hand throughout the scenario. Remember, though, by setting this to a single time of day rather than the normal diurnal progression shown above, your scenario will effectively take place during one day (or night) rather than across many days as most scenarios do.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;music&amp;lt;/code&amp;gt; attribute takes for its value the name of a music file (see [[MusicListWML]] for more). This file must be in the &amp;lt;code&amp;gt;music/&amp;lt;/code&amp;gt; directory and &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be in [http://en.wikipedia.org/wiki/Ogg Ogg] format.&lt;br /&gt;
&lt;br /&gt;
A tag you'll get to know very well when making scenarios is &amp;lt;code&amp;gt;[event]...[/event]&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; tags are used to describe what should be done when various sorts of ''events'' take place. The specific type of event is stated in the &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;'s &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute. In this case we're describing the so-called &amp;lt;code&amp;gt;prestart&amp;lt;/code&amp;gt; event. This event occurs just ''after'' all the introduction screens for the scenario have been shown but just ''before'' the map itself is displayed. This prestart event is used to set the scenario's objectives, i.e. the contents of the ''Scenario Objectives Dialog'' that will appear once the scenario begins. The purpose of the Scenario Objectives Dialog is to inform the player what must be accomplished to win the scenario and what circumstances bring about defeat. These winning and losing circumstances are defined using the &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; tag (N.B. that &amp;lt;code&amp;gt;objectives&amp;lt;/code&amp;gt; is plural). Further, each circumstance is defined in its own &amp;lt;code&amp;gt;[objective]&amp;lt;/code&amp;gt; (N.B. the singular here) tag with winning circumstances setting &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;win&amp;lt;/code&amp;gt;, and with losing circumstances setting it to &amp;lt;code&amp;gt;lose&amp;lt;/code&amp;gt;. In the example above, &amp;lt;code&amp;gt;objectives&amp;lt;/code&amp;gt; states victory to be &amp;quot;Defeat Enemy Leader&amp;quot;. For defeat, however, &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; gives the player ''two'' possibilities: either &amp;quot;Death of Konrad&amp;quot; or &amp;quot;Turns run out&amp;quot; (any number of either winning or losing &amp;lt;code&amp;gt;[objective]&amp;lt;/code&amp;gt; tags may be given). Accordingly, the Scenario Objectives Dialog will look vaguely like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
'''&amp;lt;font size=e&amp;gt;A Simple Test Scenario&amp;lt;/font&amp;gt;'''&lt;br /&gt;
&amp;lt;br&amp;gt;'''Victory:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;font color=green&amp;gt;Defeat Enemy Leader&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;'''Defeat:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;font color=red&amp;gt;Death of Konrad&lt;br /&gt;
&amp;lt;br&amp;gt;Turns run out&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;[ OK ]&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; tag doesn't define the circumstances of victory or defeat to the game engine. It merely tells the player what they are.  Special victory or defeat conditions will have to be coded into the scenario using various [event]s.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;side&amp;lt;/code&amp;gt; attribute in &amp;lt;code&amp;gt;[objectives]&amp;lt;/code&amp;gt; indicates that the conditions defined here by the &amp;lt;code&amp;gt;[objective]&amp;lt;/code&amp;gt; tags are for the faction or alliance ''side 1'' alone (see below). In a single-player game, side 1 would usually indicate the player's faction or alliance). The underscore (&amp;quot;_&amp;quot;) facilitates translation using [[GetText|Gettext]].&lt;br /&gt;
&lt;br /&gt;
== Second part ==&lt;br /&gt;
So far so good! The last necessary part describes what the players (both human and&lt;br /&gt;
computer) start with, what they can do, and what they can't do. Each of the players is described in a &amp;lt;code&amp;gt;[side]&amp;lt;/code&amp;gt; tag with the word ''side'' referring to a player's faction, band, or horde.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;font size=5&amp;gt;↑ ↑ ↑&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;''continued from above''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
  [side]&lt;br /&gt;
    side=1&lt;br /&gt;
    controller=human&lt;br /&gt;
    team_name=2&lt;br /&gt;
    user_team_name= _ &amp;quot;Konrad's forces&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    type=Commander&lt;br /&gt;
    description=Konrad&lt;br /&gt;
    canrecruit=yes&lt;br /&gt;
&lt;br /&gt;
    recruit=Elvish Fighter,Elvish Archer,Horseman,Mage,Elvish Shaman&lt;br /&gt;
&lt;br /&gt;
    {GOLD 100 50 0}&lt;br /&gt;
    {INCOME 10 5 0}&lt;br /&gt;
  [/side] &lt;br /&gt;
[/scenario]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above you can see a sample &amp;lt;code&amp;gt;[side]&amp;lt;/code&amp;gt; for the human player, Konrad. The first group of attributes in the &amp;lt;code&amp;gt;[side]&amp;lt;/code&amp;gt; tag pertains to the side generally:&lt;br /&gt;
* &amp;lt;code&amp;gt;side&amp;lt;/code&amp;gt;: the leader of this side is placed on the tile represented by this digit (see [[BuildingMaps]]). It's a number from 1 to 9.&lt;br /&gt;
* &amp;lt;code&amp;gt;controller&amp;lt;/code&amp;gt; takes either of two possible values: &amp;lt;code&amp;gt;human&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ai&amp;lt;/code&amp;gt; (''i.e.,'' ''artificial intelligence'', meaning your computer). If you don't specify this attribute, &amp;lt;code&amp;gt;ai&amp;lt;/code&amp;gt; is the default.&lt;br /&gt;
* &amp;lt;code&amp;gt;team_name&amp;lt;/code&amp;gt; describes which team the side is on. It defaults to the same number as &amp;lt;code&amp;gt;side&amp;lt;/code&amp;gt;, but setting it to &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; allies this side with side 2 (if you haven't changed the &amp;lt;code&amp;gt;team_name&amp;lt;/code&amp;gt; of side 2).&lt;br /&gt;
* &amp;lt;code&amp;gt;user_team_name&amp;lt;/code&amp;gt; is the name displayed when you view the side stats (by pressing &amp;lt;tt&amp;gt;alt+s&amp;lt;/tt&amp;gt; during gameplay). The underscore (&amp;quot;_&amp;quot;) facilitates translation using [[GetText|Gettext]].&lt;br /&gt;
&lt;br /&gt;
The next group of attributes describe the leader of this side:&lt;br /&gt;
* &amp;lt;code&amp;gt;canrecruit&amp;lt;/code&amp;gt;: This attribute can be set to &amp;lt;code&amp;gt;yes&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;no&amp;lt;/code&amp;gt; (the boolean equivalents &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; also work). If this is set to &amp;lt;code&amp;gt;no&amp;lt;/code&amp;gt;, the leader won't be able to recruit (not much of a leader then, is he?). Any team without a &amp;lt;code&amp;gt;canrecruit=yes&amp;lt;/code&amp;gt; attribute statement automatically loses, so be sure to include this attribute.&lt;br /&gt;
* &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; describes what type of unit the leader will be. The possible  values are listed in [http://units.wesnoth.org the Wesnoth unit tables].&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; is the name and description of the leader.&lt;br /&gt;
&lt;br /&gt;
In a campaign, all of these &amp;quot;leader-describing&amp;quot; attributes are ignored for human players (except &amp;lt;code&amp;gt;canrecruit&amp;lt;/code&amp;gt;), since the leader from the previous scenario is carried over into the current one. However, &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; is still neccesary to prevent the scenario from crashing, so be sure to include it.&lt;br /&gt;
&lt;br /&gt;
The last attribute, &amp;lt;code&amp;gt;recruit&amp;lt;/code&amp;gt;, is a comma-separated list of [http://units.wesnoth.org unit types].&lt;br /&gt;
&lt;br /&gt;
Finally, two macros are called. The first, {{LinkMacroP|GOLD|easy normal hard}} takes three positive numbers. These indicate the amount of money the player will start with on the &amp;lt;var&amp;gt;easy&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;normal&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;hard&amp;lt;/var&amp;gt; difficulty levels. For a human-controlled side (&amp;lt;code&amp;gt;controller=human&amp;lt;/code&amp;gt;), this specifies only the &amp;lt;i&amp;gt;minimum&amp;lt;/i&amp;gt; amount of gold.  The actual amount the player starts with can be larger if the player has retained gold from previous scenarios. The second macro, {{LinkMacroP|INCOME|easy normal hard}}, is analogous to &amp;lt;code&amp;gt;GOLD&amp;lt;/code&amp;gt; but for the base income. The defaults values for &amp;lt;code&amp;gt;GOLD&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;INCOME&amp;lt;/code&amp;gt; are 100 gold and 2 base income, respectively.&lt;br /&gt;
&lt;br /&gt;
== Making it all work ==&lt;br /&gt;
To make this scenario playable, we need to make a campaign for it (see [[BuildingCampaignsTheCampaignFile]]).&lt;br /&gt;
This should '''not''' be stored in the main directory &amp;lt;tt&amp;gt;data/campaigns&amp;lt;/tt&amp;gt; but rather inside &amp;lt;tt&amp;gt;userdata/data/campaigns&amp;lt;/tt&amp;gt;. This prevents the breaking of mainline campaigns or, even worse, the entire game (see [[BuildingCampaignsDirectoryStructure]]).&lt;br /&gt;
Please note that all files (''i.e.'', the campaign file and the scenario files for each level) must be saved with the file extension &amp;lt;tt&amp;gt;.cfg&amp;lt;/tt&amp;gt; (''e.g.'', &amp;lt;tt&amp;gt;testcampaign.cfg&amp;lt;/tt&amp;gt;).&lt;br /&gt;
The following is a short, example campaign file:&lt;br /&gt;
&lt;br /&gt;
 [campaign]&lt;br /&gt;
   name= _ &amp;quot;Test Campaign&amp;quot;&lt;br /&gt;
   first_scenario=test-1&lt;br /&gt;
   difficulties=EASY,NORMAL,HARD&lt;br /&gt;
 &lt;br /&gt;
   difficulty_descriptions= _ &amp;quot;&amp;amp;elvish-fighter.png=Easy;*&amp;amp;elvish-hero.png=Medium;&amp;amp;elvish-champion.png=Hard&amp;quot;&lt;br /&gt;
   icon=elvish-fighter.png&lt;br /&gt;
 [/campaign]&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[campaign]&amp;lt;/code&amp;gt; tag describes the campaign. The first attribute, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, is displayed in the campaign selector box during gameplay. The second, &amp;lt;code&amp;gt;first_scenario&amp;lt;/code&amp;gt;, is set to the ID number of the first scenario of the campaign. Subsequent scenarios are referenced by the &amp;lt;code&amp;gt;next_scenario&amp;lt;/code&amp;gt; attribute of their immediately preceding scenarios (see above in the first part of this tutorial). Since the first scenario, obviously, doesn't have a predecessor, it is referenced here in the &amp;lt;code&amp;gt;campaign&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
The attribute &amp;lt;code&amp;gt;difficulties=EASY,NORMAL,HARD&amp;lt;/code&amp;gt; tells Wesnoth to use the value &amp;lt;code&amp;gt;EASY&amp;lt;/code&amp;gt; if the first difficulty choice is chosen during gameplay, &amp;lt;code&amp;gt;NORMAL&amp;lt;/code&amp;gt; if the second is chosen, and &amp;lt;code&amp;gt;HARD&amp;lt;/code&amp;gt; if the third is chosen.&lt;br /&gt;
The expression &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt; can be used later to test the value of this attribute (see [[PreprocessorRef]]).&lt;br /&gt;
It is recommended that you do not use any names other than &amp;lt;code&amp;gt;EASY&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NORMAL&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;HARD&amp;lt;/code&amp;gt; for your macros because doing so will cause some standard macros, such as &amp;lt;code&amp;gt;{GOLD}&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;{INCOME}&amp;lt;/code&amp;gt;, to not work properly.&lt;br /&gt;
&lt;br /&gt;
Two optional attributes are &amp;lt;code&amp;gt;difficulty_descriptions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;icon&amp;lt;/code&amp;gt;.&lt;br /&gt;
As its value, &amp;lt;code&amp;gt;icon&amp;lt;/code&amp;gt; holds the filename of an image to represent this campaign which will be displayed in the campaign list during gameplay.&lt;br /&gt;
The &amp;lt;code&amp;gt;difficulty_descriptions&amp;lt;/code&amp;gt; attribute must have in its value the same number of (string-enclosed) list items as  &amp;lt;code&amp;gt;difficulties&amp;lt;/code&amp;gt; has in its (not string-enclosed) list items. This list length for both attributes is most commonly three. Also note that the list for &amp;lt;code&amp;gt;difficulty_desciptions&amp;lt;/code&amp;gt; is not only string enclosed, but its items are separated by semicolons rather than commas. Unsurprising, in our example during gameplay &amp;lt;tt&amp;gt;elvish-fighter.png&amp;lt;/tt&amp;gt; would display associated with the &amp;lt;i&amp;gt;easy&amp;lt;/i&amp;gt; level, &amp;lt;tt&amp;gt;elvish-hero.png&amp;lt;/tt&amp;gt; with &amp;lt;i&amp;gt;normal&amp;lt;/i&amp;gt;, and &amp;lt;tt&amp;gt;elvish-champion.png&amp;lt;/tt&amp;gt; with &amp;lt;i&amp;gt;hard&amp;lt;/i&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each list item in &amp;lt;code&amp;gt;difficulty_description&amp;lt;/code&amp;gt; begins with an ampersand (&amp;quot;&amp;amp;&amp;quot;). This is followed by the filename of the image, then an equal sign (&amp;quot;=&amp;quot;), and finally the text to display (&amp;lt;i&amp;gt;i.e.&amp;lt;/i&amp;gt;, &amp;quot;Easy&amp;quot;. Take note that text displayed for the easy level is not &amp;quot;EASY&amp;quot;: the text used is that in &amp;lt;code&amp;gt;difficulty_descriptions&amp;lt;/code&amp;gt;, not &amp;lt;code&amp;gt;difficulties&amp;lt;/code&amp;gt;. Similary, the normal level's text is &amp;quot;Medium&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
Optionally you may place an asterisk (&amp;quot;*&amp;quot;) before one of list items of &amp;lt;code&amp;gt;difficulty_desciptions&amp;lt;/code&amp;gt; which will cause that corresponding difficulty level to be selected as the default during gameplay. In the example above, the normal level (along with its elvish hero) is selected as the default.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[BuildingMaps]] &amp;amp; [[WesnothMapEditor]]&lt;br /&gt;
* [[ScenarioWML]] &amp;amp; [[SyntaxWML]]&lt;br /&gt;
* [[BuildingScenarios]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Create]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=List_of_Campaigns&amp;diff=28447</id>
		<title>List of Campaigns</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=List_of_Campaigns&amp;diff=28447"/>
		<updated>2009-03-02T16:43:32Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: /* 1.5 Campaign List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Created and maintained by Turuk.  For any changes/updates to your campaign that have not been noted here, please contact me in the forum.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Key'''==&lt;br /&gt;
Broken = Does not work at all&lt;br /&gt;
&amp;lt;br&amp;gt;Incomplete = Partially written, no progress&lt;br /&gt;
&amp;lt;br&amp;gt;WIP = Partially written, progress&lt;br /&gt;
&amp;lt;br&amp;gt;Complete = Completely written, but buggy as well as potential balance issues.&lt;br /&gt;
&amp;lt;br&amp;gt;Finished = Completely written, minimal to no bugs, slight balance issues possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''1.4 Campaign List''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A New Order'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''The old kingdom of Wesnoth lies in ruins, while barbarians are ruling over the people dreaming about old legends. Can Gawen Hagarthen unite them all against the common danger?''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Szopen&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Rhishisikk&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.1.6 (45 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21827]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''A Rough Life'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''You are a young thief dreaming of greatness.  Will it befall you, or will you fall looking for it?''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Jacques_Fol&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Turuk&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.9.3 (9 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21718]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''A Vision Blinded'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Defend the northern forest against what appeared like a routine orcish raid, and unravel the greater conspiracies that lie below its waves.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: LemonTea&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: LemonTea&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.4.4 (15 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23463]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Alfhem the Wise'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''This is the tale of Alfhelm, called by some the Wise, son of Alfric Conqueror. This is the tale of his victories over his enemies, and his rise to power in the clans of Marauderdom. This is the tale of his journey south and his destruction of the Lavinian Empire. And this is the tale of his demise in the dark forests far to the east of his homeland.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Oreb&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Turin&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.3.2 (18 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=17144]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Attack of the Undead'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Play as a mage to protect your city from the undead.'' &lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Wsultzbach&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Wsultzbach&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Finished&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.2.8 (5 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?t=14570]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Autumn Kingdoms – Prologue'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''All kingdoms fall. Join Captain Aldehar as he witnesses the rise of a revolution, and the changing of an era.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Devrailis Colandore&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: None&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Incomplete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.1.4 (9 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=20549]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Bad Moon Rising'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''A soldier of Weldyn is captured by a necromancer.  His attempt to escape sets events in motion that could have consequences for all life on the planet.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Doofus-01&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Doofus-01&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.4.5 (20 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=19299]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Battle for Orbivm?'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Capturing Mar’Than'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Play the role of Denring III as he recaptures the mysterious land of Mar'Than from usurpers.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: SLJ&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: SLJ&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.9.25 (11 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=11495]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Children of Dragons'''&lt;br /&gt;
&amp;lt;br&amp;gt;''Once the most feared creatures in the land of the living, the dragons are all but extinct. But their descendants are just about to make their mark on the world...''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: MarkP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: MarkP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.8 (13 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=14241]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Count Kromire'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''You are the blood son of a vampire lord, however when the might of the celestial crusades comes knocking, and your father is slain, you flee your lands. However you intend to return, to restore the lands of Kromire to the Kromires, to avenge your father, and most importantly, to make sure that no celestial ever dares come into your mountains again.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Velensk&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Velensk&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Finished&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: Beta.1 (9 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21560]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Death Is A Circle'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Immortality is the path of an undead. Death is seen as the perfect path. But Death itself is not Immortal. This story is about a Lich that conquered Death. ''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Orcish_Orc, Y0urb0ss&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Orcish_Orc, Y0urb0ss&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.2.0 (6 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=22806]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Elvish Legacy'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''As Eltharion, Lord of the Wesmere Elves, you must defend your people from orcish raids, a task that will entwine your future with that of the whole kingdom.&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Longbow&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Longbow&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.0.9 (8 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23805]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Epic of Vaniyera'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''The expansionist Lavinian Legion, led by the Imperator himself, has invaded the northern forests of the Sidhe. It is up to the young Vaniyera to push its armies back from the border...&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Oreb&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Turin&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.0.1 (8 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=19490]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Fool's Errand'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Tired of life in a hamlet, young Will leaves home to seek fame and fortune. Does he even stand a chance?''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Orcish Shyde&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Orcish Shyde&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.0.1 (1 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23926]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Forgotten Kingdom'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Help Orlog, a troll chieftan, lead his people to safety in the underground and discover an ancient power long forgotten.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Limabean&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Limabean&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.5 (7 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23483]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Flight to Freedom'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Lead Malakar and his Drake tribe to freedom from the humans!''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: MadMax&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: MadMax&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 4.6 (24 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=1887]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Guardian Order'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''950 YSW. After a drought which wrecked the little achievements the Human Earldoms have manage to scrape, the country was plagued with rebellions and uprisings of pillagers and marauders. As an officer of the guardian order, you will guard the safety of Wesnoth and Elensefar from infighting as well as threats from beyond.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Octavius, xbrianll&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: None&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Incomplete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.0.2 (2 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21609]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Hallowed Glade?'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Invasion From the Unknown'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Long after the Fall, the last forest elves are forced to abandon their safe valley, and find themselves resorting to the dark means of necromancy in order to survive the perils and challenges of this new harsh world. May they finally free the Great Continent from its chaos, or perish in the foolish attempt of restoring peace and life to the lands.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Shadow_Master&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Shadow_Master&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.9.4 (24 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=17827]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Invasion of Eliador'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''A peaceful island is about to be invaded by unknown foes travelling towards the eastern shore. It is up to a family of outlaws to warn the island's inhabitants before it's too late.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Genosuke&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Genosuke&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.3.6 (12 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=6556]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Love to Death'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Follow the story of the deathly passion of Aleva, the mage apprentice who crossed all the boundaries of magic to reach what she desired most.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Geos&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Geos&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Incomplete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.1.2 (8 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21277]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Necromancer'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''There was a death-magicker, Leanna they called her, on the southern border of Wesnoth. She used her dark powers to help and protect the people, and the people harboured and trusted her in return, even at the risk of the Crown's retribution...''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Orcish Shyde&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Orcish Shyde&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.0.2 (14 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23489]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Northern Cross'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''As the Northern Alliance strengthens, Weldyn's attempts to maintain hegemony in the area brings many groups into conflict.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Glowing Fish&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Glowing Fish&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.0.5 (2 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=24255]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''On Crimson Wings'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Regar, king of the Crimsonwing Drakes, is dead.  Feralon, his son and heir, seeks to secure his throne and exact vengeance on those who have wronged his people.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Cheradenine&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Cheradenine&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.4.2 (5 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23732&amp;amp;p=333281]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Ooze Mini Campaign'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''You are an ooze, and you are hungry. Devour the foolish intruders that have entered your domain!''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: SpenceLack&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Mica&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.2.3 (4 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=17044]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Raajal'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''An Arch Mage with the power of resurrection seeks a new apprentice.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Genosuke&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Genosuke&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.2.0 (15 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=20607]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Saving Elensefar'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Meneldur, elvish mariner of Elensefar, is driven to sea by the same orcs who attacked the city. He must gather an army willing to fight for him to regain Elensefar, his adopted homeland.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Turin&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Friar Tuck&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Completed&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.2.1 (12 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=3072]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Sceptre of Life'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''As orcs invade northern Wesnoth, Aeryn, a small town's doctor, is caught in the conflict.  Through a series of chance meetings, Aeryn stumbles upon an artifact that could solve the orcish problem forever, or provide the horde with unbridled power.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Auther: Opensourcejunkie&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Opensourcejunkie&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.7.1 (7 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21640]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Shameless Crossover Excuse'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Fugitive dark sorcerer Gwiti Ha'atel discovers he has the power to mess with Wesnoth's continuity. His quest for revenge on the NPCs who have used his portraits will lead him through perils untold and in-jokes unnumbered, but shall pale before the horror he finds at his quest's end.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Auther: Orcish Shyde&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Orcish Shyde&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.3.0 (6 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23096]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Stories of Tarlyn (Two Campaigns in One)'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Ensure the survival of your home town as a member of it's small militia (Tarlyn's Heros).''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Protect your clan, as the younger brother to its leader (The Irna Chronicles).''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: AI&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: AI&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.1.1 (6 Scenarios for Tarlyn's Heros; 3 Scenarios for Irna Chronicles)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=19703]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Story of the Wose'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''The trees are not always what they seem...''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Joshudson&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Joshudson&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Finished&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.5.4 (6 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=10819]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Struggle For Freedom'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Follow the Eastern Elves in the time of Asheviere. Will they succeed in their struggle for freedom, or will a betrayal at their heart strike them at the brink of victory?''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Wyrmy&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Wyrmy&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.4.0 (10 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21615]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Conquest of a Dark Queen'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Those who save you do not always do so out of concern for you...''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Mica&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Mica, Turuk&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.4.0 (10 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21638]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Dark Hordes'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Lead fugitive dark sorcerer Gwiti Ha'atel to mastery of the undead hordes.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: SvH&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: AI&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.4.4 (8 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=16576]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Eight of Cembulad'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Discover the story of Sel Iminar and the Eight of Cembulad.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Lintana, Wyrmy&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Wyrmy&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status:&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.0.1 (27 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: ?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Fall of Silvium'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''You are Caius Regilius, a Tribune, of the province Silvia, located in the northmost reaches of the Lavinian Empire. You reside in the city of Silvium, capital of the province, on the border with the northern barbarians. This is the height of the Lavinian Empire - but the Empire has overextended itself. The city of Silvia lies north of the mountains of Arendia, and is sandwiched between the Marauders and the Sidhe... war is inevitable, and the province of Silvia will almost certainly fall.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Turin&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Turin&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.4.2 (8 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=11536]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Final Exam'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''A young mage Erika must find a magic book to become a true mage.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Elven&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Elven&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.2 (2 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23398]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Forgotten Legacy'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''The Saurians of the Salty Swamp have been enslaved for far too long from the cruel Blackblood clan of the Orcs. In these bitter times S'Saskin, a bloodborn, rises to lead his people to their forgotten legacy and their destiny...''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Db0&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Db0&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Incomplete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.5.5 (5 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=9187]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Griffoon Lads'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Follow the adventures of the lost warrior Jaghuar Gorgone in the street wars of the Far North.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Gotrek380&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Gotrek380&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Incomplete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.9.2.2 (16 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=19542]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Heist'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''A plot to steal a king's treasure goes awry.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Genosuke&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Genosuke&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Finished&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.3.6 (17 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=16819]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The History of Burin'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''The history how Burin the Lost traveled into the Green Isle.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Uzytkownik&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Uzytkownik&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.0.0 (7 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21771]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Tale of  Mage (Life of a Mage)'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''The young boy Dillon only wanted to live his life in peace. After his village is destroyed by bandits however, he is forced to throw his lot with the magi. It is a difficult life, and little does he know that his destiny may lie along side that of Prince Arand II himself.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: SkeleRanger&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: SkeleRanger&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.5.1 (25 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21657]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Rebirth of Magic'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Anbordin, the continent in the Distant West, has been tyrannized ever since the necromancers and mages, the only persons strong enough to defy a king, had either been executed, or in the case of the necromancers, fled to the East Sea.  Fyrus, a humble stablehand, is about to rediscover the lost power.  Will it be enough to end King Radgeon's oppression?''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Armageddon&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Armageddon&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Incomplete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.2.1 (3 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21648]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Three Elves'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Three elves begun their adventure in the northern swamplands. Will they become heroes, or they will start another undead expansion?''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Elven&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Elven&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.6.2 (6 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23395]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Unstoppable Legion'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''The legendary legions of Zharagorn, dormant for centuries, have risen again and city after city is falling in their presence. Only Viktor, a patrol guard, stands between them and domination of the known world.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Chris NS&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Chris NS&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Incomplete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.7.1 (16 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=20669]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Trolls!'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''You are Eag, the leader of a troll tribe, who lives in a peaceful cave farming mushrooms for food. But a scout brings bad news: dwarves are attempting to mine gold and other valuable minerals in the cave. They have all ready attacked another tribe near you and you have to lead your fighters to help.'' &lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Jequ&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Jequ&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.0.7 (4 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23469]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''War of the Dragon'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''The Age of the Dragon has begun, and the first event is the War of the Dragon. The Dark Dragon Kzardizin (Kzar-diz-in) has awoken from his millennium sleep, and intends to conquer the world before he must sleep again. The prophecy of Mirriam says that either he will succeed, or he will be forced back into sleep by three champions, on from the west, one from the north, and one from the east. Now the world has been ignited in war on many fronts, and the windsong prepare to face the on-coming war.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Velensk&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Velensk&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: Part I (8 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=22652]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''When Came Out the Shadows'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''In the year 612 YW, the Prince Konrad, second of the name, son of King Haldric VII, leaves with the army of Wesnoth at the conquest of an archipelago emerged from the waves. His army mysteriously disappears while hordes of orcs invade the islands. Will you be able to clarify this mystery?''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Domingo&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Domingo&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.2.5 (20 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21994]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Winds of Foerroen'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Lord Daelyn, leader of the elvish kingdom of Aesh Aelon, returns from a lengthy expidition to the far eastern lands, only to discover that his kingdom is under siege by an orcish war lord and his minions ...''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: SaintCredence&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: SaintCredence&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Incomplete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.0.1 (3 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=20958]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== '''1.5 Campaign List''' ==&lt;br /&gt;
&lt;br /&gt;
'''After the Storm'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''When the Emperor of Chaos was defeated, the people of the Great Continent thought that peace would finally return to the world. However, the many survivors still loyal to the Emperor would try even the impossible to avenge his death.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Shadow Master&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Shadow Master&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.1.2 (4 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23984]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Alfhem the Wise'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''This is the tale of Alfhelm, called by some the Wise, son of Alfric Conqueror. This is the tale of his victories over his enemies, and his rise to power in the clans of Marauderdom. This is the tale of his journey south and his destruction of the Lavinian Empire. And this is the tale of his demise in the dark forests far to the east of his homeland.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Turin&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Turin&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.3.2 (18 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=17144&amp;amp;hilit=Alfhelm+the+Wise]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Bad Moon Rising'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''A soldier of Weldyn is captured by a necromancer.  His attempt to escape sets events in motion that could have consequences for all life on the planet.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Doofus-01&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Doofus-01&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.5.7 (20 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23397]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Coming of the Storm'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''A new recruit in the Imperial Army jumps on the first opportunity to transfer to the borders to fight bandits.  Little does he know just how much action he will get.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: TrashMan&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: TrashMan&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.11 (21 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23361]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Dead Water'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''You are Kai Krellis, a merman king, but only a child. A necromancer has arrived and is turning your subjects into undead slaves! Lead your people on a mission to convince a powerful mermaid to help you repel the invasion. The oceans near the Northern Lands are perilous, so you will need cunning and bravery to be survive, but first you need to gain the respect of your troops!''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Beetlenaut&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Beetlenaut&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Finished&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.9.11 (13 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21836]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Delfador's Memoirs'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Wesnoth seems to be slipping inexorably into chaos, as marauding orcs pour south across the Great River, and mysterious and deadly creatures roam the night. Who is the shadowy Iliah-Malal? Can you defeat him before he destroys all life in Wesnoth?''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: JP30&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Santi&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Finished&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.10.0 (24 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=13005&amp;amp;start=0]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Epic of Vaniyera'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''The expansionist Lavinian Legion, led by the Imperator himself, has invaded the northern forests of the Sidhe. It is up to the young Vaniyera to push its armies back from the border...&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Oreb&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Turin&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.0.1 (8 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=19490&amp;amp;start=0&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a&amp;amp;hilit=epic+of]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Fiery Menace'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Stop them! They are coming! Experience this adventure-style campaign centering on Drakes and Humans.&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Derekkk&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Derekkk&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Incomplete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.1.0 (1 Scenario)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21914&amp;amp;start=15&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Fly From Fighting'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''The year is...   Well, the orcs don't know exactly what year it is. They are captives in the imperial city of Lavinium, gladiators performing for the emperor Optus Maximus. All it will take, however, is one orc to lead his people to freedom. The Samnis called Sparxus may be that orc.&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Turin, Brutorix&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Turin&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.1 (7 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21564&amp;amp;start=0]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Invasion From the Unknown'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Long after the Fall, the last forest elves are forced to abandon their safe valley, and find themselves resorting to the dark means of necromancy in order to survive the perils and challenges of this new harsh world. Later, as the shadow of Chaos covers the entire continent, they prepare a counter-attack to the Empire, with one unique goal in their minds: defeat the evil Emperor, whoever it is. Lead these courageous living and non-living warriors to the victory, and rediscover lost secrets of the history.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Shadow_Master&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Shadow_Master&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 1.10.2 (26 Scenarios; Two Chapters of 13 each)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=17827&amp;amp;hilit=Invasion+From+the+Unknown]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Of Memories Past'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Follow the story of a mage through friends, memories, and dreams.&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Telmo&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Telmo&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.0.5 (15 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23272]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Sceptre of Life'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''As orcs invade northern Wesnoth, Aeryn, a small town's doctor, is caught in the conflict.  Through a series of chance meetings, Aeryn stumbles upon an artifact that could solve the orcish problem forever, or provide the horde with unbridled power.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Auther: Opensourcejunkie&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Opensourcejunkie&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.10.2 (10 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21640]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Tale of a Mage'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''The young boy Dillon only wanted to live his life in peace. After his village is destroyed by bandits however, he is forced to throw his lot with the magi. It is a difficult life, and little does he know that his destiny may lie along side that of Prince Arand II himself.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: SkeleRanger&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: SkeleRanger&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.7.5 (28 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=21657&amp;amp;start=0&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a&amp;amp;hilit=tale+of+a+mage]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Dark Hordes'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''Lead fugitive dark sorcerer Gwiti Ha'atel to mastery of the undead hordes.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: SvH&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: AI&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.6.0 (9 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=16576&amp;amp;start=0&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a&amp;amp;hilit=the+dark+hordes]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Fall of Silvium'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''You are Caius Regilius, a Tribune, of the province Silvia, located in the northmost reaches of the Lavinian Empire. You reside in the city of Silvium, capital of the province, on the border with the northern barbarians. This is the height of the Lavinian Empire - but the Empire has overextended itself. The city of Silvia lies north of the mountains of Arendia, and is sandwiched between the Marauders and the Sidhe... war is inevitable, and the province of Silvia will almost certainly fall.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Turin&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Turin&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: Complete&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.4.2 (8 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=11536]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''The Knights of the Silver Spire'''&lt;br /&gt;
&amp;lt;br&amp;gt; ''This is the story of the Knights of the Silver Spire, and of the Crimson Duke. It chronicles the adventures of the mage Awyn Serransdotter, her knight Karen Strathmore, and her apprentice Alain Brightly at the end of the Golden Age of Wesnoth, in the year 348 YW. It also tells of the mermaid Lenara and how she saved the city of Aethenport from a great darkness.''&lt;br /&gt;
&amp;lt;br&amp;gt;•	Author: Solsword&lt;br /&gt;
&amp;lt;br&amp;gt;•	Maintainer: Solsword&lt;br /&gt;
&amp;lt;br&amp;gt;•	Status: WIP&lt;br /&gt;
&amp;lt;br&amp;gt;•	Version: 0.1 (2 Scenarios)&lt;br /&gt;
&amp;lt;br&amp;gt;•	Forum Thread: [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=23754]&lt;br /&gt;
&lt;br /&gt;
== Add-On Servers ==&lt;br /&gt;
Autogenerated lists of addons:&lt;br /&gt;
* http://1.2-addonlist.wesnoth.org/&lt;br /&gt;
* http://1.4-addonlist.wesnoth.org/&lt;br /&gt;
* http://dev-addonlist.wesnoth.org/&lt;br /&gt;
&lt;br /&gt;
[[Category:Campaigns|*]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=ImagePathFunctions&amp;diff=27478</id>
		<title>ImagePathFunctions</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=ImagePathFunctions&amp;diff=27478"/>
		<updated>2008-11-22T08:29:45Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Image Path Functions provide a simple method for WML coders to alter the way their specified images will be displayed in the game. All of the function parameters are included at the end of an image path and should not contain any spaces or special characters (other than those specified here).&lt;br /&gt;
&lt;br /&gt;
== Team-Color Function ==&lt;br /&gt;
In Wesnoth version 1.2, the only Image Path Function was '''~TC()''', which took two comma-separated parameters: the team number and the source color palette. The valid values for both of these parameters are defined in the file ''data/team-colors.cfg''&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
'''~TC(''' ''team number'' ''',''' ''source color palette'' ''')'''&lt;br /&gt;
*''team number'' - this is the first parameter, a number 1-9 signifying the team number of a unit. Number 1 typically means the red team, 2 typically means the blue team, and so on (unless the scenario color settings for any side have been altered).&lt;br /&gt;
*''source color palette'' - the second parameter is a source color palette, usually magenta. Do not surround this parameter with quotes.&lt;br /&gt;
&lt;br /&gt;
== Re-Color Function ==&lt;br /&gt;
May be used to change some colors in an image.&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
'''~RC(''' ''source color palette'' '''&amp;gt;''' ''color range ID'' ''')'''&lt;br /&gt;
*''source color palette'' - the first parameter is a source color palette, usually magenta. Do not surround this parameter with quotes.&lt;br /&gt;
*''color range ID'' - this is the second parameter, signifying the ID of a color range defined in the file ''data/core/team-colors.cfg'' (or it may be a custom ID for a color range defined locally).  &lt;br /&gt;
&lt;br /&gt;
{{DevFeature}} In the development version, the following syntax changes the RC function behavior for simply replacing colors matching the source color palette with colors of the target color palette:&lt;br /&gt;
&lt;br /&gt;
'''~RC(''' ''source color palette'' '''=''' ''target color palette'' ''')'''&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
In the following example, the magenta regions in an elvish captain's image are turned  a healthy shade of green:&lt;br /&gt;
&lt;br /&gt;
      [message]&lt;br /&gt;
            speaker=narrator&lt;br /&gt;
            image=units/elves-wood/captain.png~RC(magenta&amp;gt;green)&lt;br /&gt;
            message=_ &amp;quot;Now I am on the green team.&amp;quot;&lt;br /&gt;
      [/message]&lt;br /&gt;
&lt;br /&gt;
The IDs of the color ranges may be the lowercased English name of the palette's base color (e.g. 'red', 'brown', etc.). They may also be numeric color indices from the palette WML included with the game, but this is not recommended&lt;br /&gt;
&lt;br /&gt;
== Flip Function ==&lt;br /&gt;
May be used to flip an image horizontally and/or vertically&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
'''~FL(''' ''optional argument list'' ''')'''&lt;br /&gt;
*''vertical'' - if the string &amp;quot;vert&amp;quot; is found anywhere in the argument list, the image will be flipped vertically.&lt;br /&gt;
*''horizontal'' - if the string &amp;quot;horiz&amp;quot; is found anywhere in the argument list, the image will be flipped horizantally.&lt;br /&gt;
*if the argument list is empty, the image will only be flipped horizantally.&lt;br /&gt;
&lt;br /&gt;
== Greyscale Function ==&lt;br /&gt;
May be used to greyscale the image (turn to black and white)&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
'''~GS( )'''&lt;br /&gt;
&lt;br /&gt;
== Crop Function {{DevFeature}} ==&lt;br /&gt;
Extracts a rectangular section of an image file.&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
'''~CROP(x,y,width,height)'''&lt;br /&gt;
* ''x'',''y'': top-left corner coordinates for the rectangular section extracted. Must be greater or equal than zero, and inside the image's bounds.&lt;br /&gt;
* ''width'': width of the selected region. Must be less than or equal to the original image's width.&lt;br /&gt;
* ''height'': height of the selected region. Must be less than or equal to the original image's height.&lt;br /&gt;
&lt;br /&gt;
[[Category:WML Reference]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=InterfaceActionsWML&amp;diff=27469</id>
		<title>InterfaceActionsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=InterfaceActionsWML&amp;diff=27469"/>
		<updated>2008-11-21T11:22:34Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: /* Other interface tags */  linked to utility macro reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== Interface actions ==&lt;br /&gt;
&lt;br /&gt;
Interface actions are actions that do not have an effect on gameplay;&lt;br /&gt;
instead, they show something to the player.  The main interface tags&lt;br /&gt;
are '''[message]''' and '''[objectives]''', but several other tags affect&lt;br /&gt;
the interface also.&lt;br /&gt;
&lt;br /&gt;
== [message] ==&lt;br /&gt;
The most commonly used interface action is [message], which displays a message to the user in a dialog box. It can also be used to take input from the user.&lt;br /&gt;
&lt;br /&gt;
The following key/tags are accepted for [message]:&lt;br /&gt;
* [[StandardUnitFilter]]: the unit whose profile and name are displayed. If no unit matching this filter is found, the message is not displayed (The unit has probably been killed).&amp;lt;br&amp;gt;'''[message]''' elements should be constructed so that it is either guaranteed that a certain unit is alive, or so that dialog flows smoothly even if the message isn't displayed.&lt;br /&gt;
&lt;br /&gt;
* '''speaker''': an alternative to standard unit filter. You may specify as the value of the speaker attribute a unit description or any of the following special values:&lt;br /&gt;
** '''narrator''': the dialog box is displayed without a caption for the unit speaking or a unit image&lt;br /&gt;
** '''unit''': the primary unit for the event is speaking&lt;br /&gt;
** '''second_unit''': the secondary unit for the event is speaking&lt;br /&gt;
&lt;br /&gt;
* '''message''': (translatable) the text to display to the right of the image. ''message'' is sometimes multiple lines; if it is, be sure to use quotes(''' ' ''' or ''' &amp;quot; ''')&lt;br /&gt;
* '''side_for''': (default: all sides) comma-separated list of sides for who message is shown.&lt;br /&gt;
* '''image''': (default: profile image of speaker) the image to display next to the message.&lt;br /&gt;
* '''caption''': (default: name of speaker) the caption to display beside the image. Name to be displayed.&lt;br /&gt;
* '''duration''': (default: 10) the minimum number of frames for this message to be displayed. (A frame lasts about 30 milliseconds.) During this time any dialog decisions will be disregarded.&lt;br /&gt;
* '''sound''': a sound effect (wav file) to play as the message is displayed. This can be a comma-separated list, from which one will be randomly chosen.&lt;br /&gt;
* '''[option]''': zero or more '''[option]''' elements may be present. If '''[option]''' elements are present, then each option will be displayed in a menu for the user to select one option.&lt;br /&gt;
** ''message'' (translatable) the text displayed for the option (see [[DescriptionWML]])&lt;br /&gt;
** '''[show_if]''': if present then this option will only be displayed if the conditional statement in this tag is passed (see [[InternalActionsWML]])&lt;br /&gt;
** '''[command]''': an element containing actions which are executed if the option is selected.&lt;br /&gt;
* '''[text_input]''': there can be only one [text_input] tag. this adds a text input field to the message.&lt;br /&gt;
** '''variable''': the variable that the user's input will be written to&lt;br /&gt;
** '''label''': a text label to the left of the input field&lt;br /&gt;
** '''max_chars''': the maximum number of characters that may be typed into the field&lt;br /&gt;
** '''text''': text that is written into the field in the beginning&lt;br /&gt;
* note that '''[option]''' and '''[text_input]''' can only be used in moveto events in MP, otherwise they cause OOS&lt;br /&gt;
&lt;br /&gt;
Text formatting options for '''[message]'''. These can also be used in unit names (user_description), objectives, and such.&lt;br /&gt;
* A tilde (~) as the first character causes the line to be boldfaced.&lt;br /&gt;
* An at symbol (@) as the first character causes the line to be green, as done with victory conditions.&lt;br /&gt;
* A pound symbol (#) as the first character causes the line to be red, as done with defeat conditions.&lt;br /&gt;
* An asterisk (*) as the first character causes the line to be bigger.&lt;br /&gt;
* A backquote (`) as the first character causes the line to be smaller.&lt;br /&gt;
* If used, the caption key text is boldfaced.&lt;br /&gt;
* An RGB colour code in the beginning causes the line to be the given colour. This can still be preceded by the above characters. Example: ''message=_&amp;quot;&amp;lt;255,0,0&amp;gt;Red!&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
== [objectives] ==&lt;br /&gt;
The other tag used for plot development is '''[objectives]'''.&lt;br /&gt;
The '''[objectives]''' tag overwrites any previously set objectives,&lt;br /&gt;
and displays text which should describe the objectives of the scenario.&lt;br /&gt;
Scenario objectives are displayed on the player's first turn after the tag is used,&lt;br /&gt;
or as part of the event if it triggers during that player's turn.&lt;br /&gt;
Objectives can also be accessed at any time in a scenario using the&lt;br /&gt;
&amp;quot;Scenario Objectives&amp;quot; game menu option, making this tag useful for&lt;br /&gt;
scenario-specific information that the player may need to refer to during play.&lt;br /&gt;
&lt;br /&gt;
This tag renders the ''objectives'' attribute of [scenario] obsolete (see ''objectives'', [[ScenarioWML]]).&lt;br /&gt;
Instead of using ''objectives'', use '''[objectives]''' to set scenario objectives inside a prestart event.&lt;br /&gt;
It can also be used to overwrite the starting objectives mid-scenario.&lt;br /&gt;
&lt;br /&gt;
Attributes of '''[objectives]''':&lt;br /&gt;
* '''side''': Default '0'. The side to set the objectives for. A value of 0 sets objectives for all sides.&lt;br /&gt;
* '''summary''': Displayed first in the objectives text, this should describe the basic objective for the overall scenario.  Can be omitted.&lt;br /&gt;
* '''note''': Displayed last in the objectives text, this is sometimes used for hints or additional information.  Can be omitted.&lt;br /&gt;
* '''victory_string''': Default ' _ &amp;quot;Victory:&amp;quot;', this text precedes the victory objectives.&lt;br /&gt;
* '''defeat_string''': Default ' _ &amp;quot;Defeat:&amp;quot;', this text precedes the defeat objectives.&lt;br /&gt;
* '''silent''': Default: not present. If set to &amp;quot;yes&amp;quot;, the objectives are silently changed. Else, they will be shown to the user when appropriate.&lt;br /&gt;
&lt;br /&gt;
Tags of '''[objectives]''':&lt;br /&gt;
* '''[objective]''': describes a win or loss condition. Most scenarios have multiple win or loss conditions, so use a separate [objective] subtag for each line; this helps with translations.&lt;br /&gt;
** '''description''': text for the specific win or loss condition.&lt;br /&gt;
** '''condition''': The color and placement of the text. Values are 'win'(colored green, placed after ''victory_string'') and 'lose'(colored red, placed after ''defeat_string'')&lt;br /&gt;
&lt;br /&gt;
=== Macros ===&lt;br /&gt;
There are a few predefined macros for Objectives that you can use to shorten the code. '''{SET_OBJECTIVES}''', '''{VICTORY_CONDITION}''' and '''{DEFEAT_CONDITION}'''. There are all used together. For more information look [http://www.wesnoth.org/misc/macro-reference.xhtml here]&lt;br /&gt;
&lt;br /&gt;
== [set_menu_item] ==&lt;br /&gt;
This tag is used to add a custom option in the right-click context menu which can then be used to trigger arbitrary WML commands.&lt;br /&gt;
&lt;br /&gt;
* '''id''': the unique id for this menu item. If a menu item with this id already exists, it allows you to set specific changes to that item.&lt;br /&gt;
* '''description''': the in-game text that will appear for this item in the menu.&lt;br /&gt;
* '''image''': the image to display next to this item.&lt;br /&gt;
* '''needs_select''': if ''yes'' (default ''no''), then the latest select event (see [[EventWML]]) that triggered before this menu item was chosen will be transmitted over the network before this menu item action will be. This only has any effect in networked multiplayer, and is intended to allow more elaborate menu item behaviour there without causing out of sync errors. If you don't know what this means, just leave it false.&lt;br /&gt;
* '''[show_if]''': If present, the menu item will only be available if the conditional statement (see [[InternalActionsWML]]) within evaluates to true. When this is evaluated, the WML variables ''$x1'' and ''$y1'' will point to the location on which the context menu was invoked, so it's possible to for example only enable the option on empty hexes or on a particular unit.&lt;br /&gt;
* '''[filter_location]''': contains a location filter similar to the one found inside Single Unit Filters (see [[FilterWML]]). The menu item will only be available on matching locations.&lt;br /&gt;
* '''[command]''': contains the WML actions to be executed when the menu item is selected. Again, the WML variables ''$x1'' and ''$y1'' will point to the location on which the context menu was invoked on.&lt;br /&gt;
&lt;br /&gt;
== Other interface tags ==&lt;br /&gt;
&lt;br /&gt;
The following tags are also action tags:&lt;br /&gt;
* '''[item]''': makes a graphical item appear on a certain hex. Note this only places the graphics for an item. It does not make the item do anything. Use a moveto event to make moving onto the item do something. &amp;lt;tt&amp;gt;''('''Hint:''' There are a number of predefined items that are used in various campaigns that you can make use of. You can find [http://www.wesnoth.org/macro-reference.xhtml#file:items.cfg a list of them] if you look into the items.cfg file in the wesnoth install directory (under /data/core/macros))''&amp;lt;/tt&amp;gt;&lt;br /&gt;
** '''x''', '''y''': the location to place the item.&lt;br /&gt;
** '''image''': the image (in ''images/'' as .png) to place on the hex.&lt;br /&gt;
** '''halo''': an image to place centered on the hex. Use this instead of ''image'' if the image is bigger than the hex.&lt;br /&gt;
** '''team_name''': name of the team for which the item is to be displayed (hidden for others). For multiple teams just put all the names in one string, for example separated by commas. {{DevFeature}}&lt;br /&gt;
** '''fogged'''(yes/no): controls if the item is to be hidden under fog. By default all items are hidden under fog. {{DevFeature}}&lt;br /&gt;
* '''[removeitem]''': removes any graphical items on a given hex&lt;br /&gt;
** '''x''', '''y''': the hex to remove items off&lt;br /&gt;
** '''image''' {{DevFeature}} if specified, only removes the given image item&lt;br /&gt;
* '''[print]''': displays a message across the screen. The message will disappear after a certain time.&lt;br /&gt;
** '''text''': (translatable) the text to display.&lt;br /&gt;
** '''size''': (default=12) the pointsize of the font to use&lt;br /&gt;
** '''duration''': (default=50) the length of time to display the text for. This is measured in the number of 'frames'. A frame in Wesnoth is usually displayed for around 30ms.&lt;br /&gt;
** '''red''', '''green''', '''blue''': (default=0,0,0) the color to display the text in. Values vary from 0-255.&lt;br /&gt;
* '''[move_unit_fake]''': moves an image of a unit along a certain path on the map. The path does not need to be a continuous list of adjacent hexes, so for example only the start and end points can be given, in which case the straightest line between those points will be calculated and used.&lt;br /&gt;
** '''type''': the type of the unit whose image to use&lt;br /&gt;
** '''x''': a comma-separated list of x locations to move along&lt;br /&gt;
** '''y''': a comma-separated list of y locations to move along (x and y values are matched pairs)&lt;br /&gt;
** '''side''': the side of the fake unit, used for team-coloring the fake unit&lt;br /&gt;
* '''[hide_unit]''': makes the given unit become invisible. Useful in conjunction with '''[move_unit_fake]''': to move a leader unit into position on-screen. Only one unit may be hidden at a time.&lt;br /&gt;
** '''x''', '''y''': location of the unit to be hidden. (NOT a standard unit filter! Just x and y.)&lt;br /&gt;
* '''[unhide_unit]''': stops the currently hidden unit from being hidden.&lt;br /&gt;
* '''[scroll]''': Scroll a certain number of pixels in a given direction. Useful for earthquake/shaking effects.&lt;br /&gt;
** '''x''', '''y''': the number of pixels to scroll along the x and y axis&lt;br /&gt;
* '''[scroll_to]''': Scroll to a given hex&lt;br /&gt;
** '''x''', '''y''': the hex to scroll to&lt;br /&gt;
** '''check_fogged''': whether to scroll even to locations covered in fog or shroud. Possible values ''true'' (don't scroll to fog) and ''false'' (scroll even to fog), with ''false'' as the default.&lt;br /&gt;
* '''[scroll_to_unit]''' Scroll to a given unit&lt;br /&gt;
** [[StandardUnitFilter]]&lt;br /&gt;
** '''check_fogged''': whether to scroll even to locations covered in fog or shroud. Possible values ''true'' (don't scroll to fog) and ''false'' (scroll even to fog), with ''false'' as the default.&lt;br /&gt;
* '''[sound]''': Plays a sound&lt;br /&gt;
** '''name''': the filename of the sound to play (in ''sounds/'' as .wav or .ogg)&lt;br /&gt;
** '''repeat''': repeats the sound for a specified additional number of times (default=0)&lt;br /&gt;
* '''[sound_source]''': Creates a sound source. &amp;quot;Sound sources&amp;quot; is a general name for a mechanism which makes possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain types. For now, only sound sources tied to locations are supported.&lt;br /&gt;
** '''id''': a unique identification key of the sound source&lt;br /&gt;
** '''sounds''': a list of comma separated, randomly played sounds associated with the sound source&lt;br /&gt;
** '''delay''': a numerical value (in milliseconds) of the minimal delay between two playbacks of the source's sound if the source remains visible on the screen; if one scrolls out and back in, the source will be considered as ready to play&lt;br /&gt;
** '''chance''': a percentage (a value from 0 to 100) describing the chance of the source being activated every second after the delay has passed or when the source's location appears on the screen (note that it cannot play more than one file at the same time)&lt;br /&gt;
** '''check_fogged''': possible values &amp;quot;true&amp;quot; and &amp;quot;false&amp;quot; - if true the source will not play if its locations are fogged/shrouded&lt;br /&gt;
** '''loop''': number of times a sound sample should be looped if it stays visible. -1 means infinite (~65000) {{DevFeature}}&lt;br /&gt;
** '''full_range''': distance in hexes that determines a &amp;quot;circular&amp;quot; area where source plays with full volume, relative to screen center {{DevFeature}}&lt;br /&gt;
** '''fade_range''': distance in hexes that determines a &amp;quot;circular&amp;quot; area around the one specified by '''full_range''' where sound volume fades out linearly; by default equals to '''full_range''' {{DevFeature}}&lt;br /&gt;
** '''x,y''': a [[StandardLocationFilter]] for the locations associated with the sound source&lt;br /&gt;
* '''[remove_sound_source]''': Removes a previously defined sound source.&lt;br /&gt;
** '''id''': the identification key of the sound source to remove&lt;br /&gt;
* '''[music]''': Switches to playing different music&lt;br /&gt;
** '''name''': the filename of the music to play (in ''music/'' as .ogg)&lt;br /&gt;
** see [[MusicListWML]] for the correct syntax&lt;br /&gt;
* '''[colour_adjust]''': tints the colour of the screen.&lt;br /&gt;
** '''red''', '''green''', '''blue''': values from -255 to 255, the amount to tint by for each colour&lt;br /&gt;
* '''[delay]''': pauses the game&lt;br /&gt;
** '''time''': the time to pause in milliseconds&lt;br /&gt;
* '''[redraw]''': redraws the screen (this normally isn't done during events, although some of the other interface actions cause the screen or parts of it to be redrawn).&lt;br /&gt;
** '''side''': if used, recalculates fog and shroud for that side. Useful if you for example spawn friendly units in the middle of an event and want the shroud to update accordingly (otherwise units that spawn inside fog would remain invisible for the duration of the event, since the fog would not automatically get cleared around them).&lt;br /&gt;
* '''[unit_overlay]''': sets an image that will be drawn over a particular unit, and follow it around&lt;br /&gt;
** '''x''', '''y''': the location of the unit to overlay on&lt;br /&gt;
** '''image''': the image to place on the unit&lt;br /&gt;
* '''[remove_unit_overlay]''': removes a particular overlayed image from a unit&lt;br /&gt;
** '''x''', '''y''': the location of the unit to remove an overlay from&lt;br /&gt;
** '''image''': the image to remove from the unit&lt;br /&gt;
* '''[animate_unit]''': uses the custom animation of a unit to animate it on screen (if the unit has the corresponding animation)&lt;br /&gt;
** '''flag''': the key to find the good custom animation in the unit description see the '''[extra_anim]''' description in [[AnimationWML]] Standar anims can be triggered with the following keywors ''leading recruited standing idling levelin levelout healing healed poisoned movement defend attack death victory pre_teleport post_teleport''&lt;br /&gt;
** '''[filter]''': a [[StandardUnitFilter]] see [[FilterWML]] by default, the unit at the event location will be animated. You can use this tag to choose any other unit to animate&lt;br /&gt;
** '''[primary_attack]''': if this tag is not present, the filter for animation will be triggered with no attack. If it is here, all attacks from the unit will be filtered, and a matching one will be used to filter the animation&lt;br /&gt;
** '''[secondary_attack]''': same for the second attack&lt;br /&gt;
** '''hit''': the hit type to filter unit on&lt;br /&gt;
** '''text''': a text to hover during the animation&lt;br /&gt;
** '''text_color''': red,green,blue (displayed r,g,b) value for the text color&lt;br /&gt;
** '''with_bars''': whether to display the status bars or not.&lt;br /&gt;
* '''[label]''' places a label on the map.&lt;br /&gt;
** '''x''', '''y''': the location of the label&lt;br /&gt;
** '''text''': what the label should say&lt;br /&gt;
** '''team_name''': if specified, the label will only be visible to the given team.&lt;br /&gt;
* '''[deprecated_message]''' shows a deprecated message in the message area, this feature is only intended to be used to warn about deprecated macros in mainline. The message is not translatable.&lt;br /&gt;
** '''message''': the message to show.&lt;br /&gt;
* '''[debug_message]''': outputs a message to Wesnoth's console output. Intended for campaign designers to output silent text to the console, without annoying the player; then, that text might contain information useful for later bug-reporting.&lt;br /&gt;
** '''message''': the message to show&lt;br /&gt;
** '''logger''': the Wesnoth engine output logger that should catch the text; this might be 'err' (the errors log level), 'warn'/'wrn' (the warnings log level) or anything else (the information log level). Not all information will be displayed depending on the log level chosen when starting Wesnoth.&lt;br /&gt;
&lt;br /&gt;
== Useful Macros ==&lt;br /&gt;
There are some predefined macros that you find useful for interface actions. You can find a complete list along with a detailed explanation of how they work [http://www.wesnoth.org/macro-reference.xhtml here].&lt;br /&gt;
* '''{FLOATING_TEXT}''' Float some text over a unit similar to the damage numbers.&lt;br /&gt;
* '''{HIGHLIGHT_UNIT}''' Highlight a unit on the map. Use this to show important units&lt;br /&gt;
* '''{HIGHLIGHT_IMAGE}''' Places and highlights an image on the map. Use this to show important items or locations&lt;br /&gt;
* '''{SET_IMAGE}''' Places an image on the map which has no other function.&lt;br /&gt;
* '''{TREMOR}''' Creates a tremor like screenshake&lt;br /&gt;
* '''{FLASH_WHITE}''' Flash the screen white momentarily. You can also replace WHITE with RED, BLUE or GREEN for a different colour.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[DirectActionsWML]]&lt;br /&gt;
* [[InternalActionsWML]]&lt;br /&gt;
* [[EventWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial/FirstCampaign&amp;diff=27196</id>
		<title>BuildingCampaignsTutorial/FirstCampaign</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial/FirstCampaign&amp;diff=27196"/>
		<updated>2008-10-22T17:15:42Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[BuildingCampaignsTutorial|Building Campaigns Tutorial]] =&amp;gt; First Campaign&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This section of the tutorial will help you install the skeleton campaign, and customize it to make it your own.&lt;br /&gt;
&lt;br /&gt;
== Installing The Campaign ==&lt;br /&gt;
To install the skeleton campaign, follow the following instructions:&lt;br /&gt;
# Download the campaign ([http://www.wesnoth.org/forum/download/file.php?id=25059 link]).&lt;br /&gt;
# Unzip the downloaded file.&lt;br /&gt;
# Move the newly unzipped folder (entitled &amp;quot;A_Simple_Campaign&amp;quot;) into the following directory: &amp;quot;([[EditingWesnoth#Where_is_my_user_data_directory.3F|userdata]])/data/campaigns&amp;quot;.  Once it's moved, the campaign directory should be located at &amp;quot;([[EditingWesnoth#Where_is_my_user_data_directory.3F|userdata]])/data/campaigns/A_Simple_Campaign&amp;quot;.&lt;br /&gt;
# Run Wesnoth&lt;br /&gt;
# From the main screen, click &amp;quot;Campaign&amp;quot;.  Scroll down until you find a campaign called &amp;quot;A Simple Campaign&amp;quot;.  Select it, select a difficulty, and make sure that the first scenario loads.  If everything works correctly, then move on to the next section.  If at any point you get an error message, or the campaign doesn't appear in the list at all, then make sure that you performed each of the steps above correctly.  If you did, and the problem persists, leave a comment on the [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=22618&amp;amp;p=316262#p316262 forum post].&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial/FirstCampaign&amp;diff=27195</id>
		<title>BuildingCampaignsTutorial/FirstCampaign</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial/FirstCampaign&amp;diff=27195"/>
		<updated>2008-10-22T17:15:17Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[BuildingCampaignsTutorial|Building Campaigns Tutorial]] =&amp;gt; First Campaign&lt;br /&gt;
&lt;br /&gt;
This section of the tutorial will help you install the skeleton campaign, and customize it to make it your own.&lt;br /&gt;
&lt;br /&gt;
== Installing The Campaign ==&lt;br /&gt;
To install the skeleton campaign, follow the following instructions:&lt;br /&gt;
# Download the campaign ([http://www.wesnoth.org/forum/download/file.php?id=25059 link]).&lt;br /&gt;
# Unzip the downloaded file.&lt;br /&gt;
# Move the newly unzipped folder (entitled &amp;quot;A_Simple_Campaign&amp;quot;) into the following directory: &amp;quot;([[EditingWesnoth#Where_is_my_user_data_directory.3F|userdata]])/data/campaigns&amp;quot;.  Once it's moved, the campaign directory should be located at &amp;quot;([[EditingWesnoth#Where_is_my_user_data_directory.3F|userdata]])/data/campaigns/A_Simple_Campaign&amp;quot;.&lt;br /&gt;
# Run Wesnoth&lt;br /&gt;
# From the main screen, click &amp;quot;Campaign&amp;quot;.  Scroll down until you find a campaign called &amp;quot;A Simple Campaign&amp;quot;.  Select it, select a difficulty, and make sure that the first scenario loads.  If everything works correctly, then move on to the next section.  If at any point you get an error message, or the campaign doesn't appear in the list at all, then make sure that you performed each of the steps above correctly.  If you did, and the problem persists, leave a comment on the [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=22618&amp;amp;p=316262#p316262 forum post].&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial/FirstCampaign&amp;diff=27194</id>
		<title>BuildingCampaignsTutorial/FirstCampaign</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial/FirstCampaign&amp;diff=27194"/>
		<updated>2008-10-22T17:11:43Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: /* Installing The Campaign */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This section of the tutorial will help you install the skeleton campaign, and customize it to make it your own.&lt;br /&gt;
&lt;br /&gt;
== Installing The Campaign ==&lt;br /&gt;
To install the skeleton campaign, follow the following instructions:&lt;br /&gt;
# Download the campaign ([http://www.wesnoth.org/forum/download/file.php?id=25059 link]).&lt;br /&gt;
# Unzip the downloaded file.&lt;br /&gt;
# Move the newly unzipped folder (entitled &amp;quot;A_Simple_Campaign&amp;quot;) into the following directory: &amp;quot;([[EditingWesnoth#Where_is_my_user_data_directory.3F|userdata]])/data/campaigns&amp;quot;.  Once it's moved, the campaign directory should be located at &amp;quot;([[EditingWesnoth#Where_is_my_user_data_directory.3F|userdata]])/data/campaigns/A_Simple_Campaign&amp;quot;.&lt;br /&gt;
# Run Wesnoth&lt;br /&gt;
# From the main screen, click &amp;quot;Campaign&amp;quot;.  Scroll down until you find a campaign called &amp;quot;A Simple Campaign&amp;quot;.  Select it, select a difficulty, and make sure that the first scenario loads.  If everything works correctly, then move on to the next section.  If at any point you get an error message, or the campaign doesn't appear in the list at all, then make sure that you performed each of the steps above correctly.  If you did, and the problem persists, leave a comment on the [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=22618&amp;amp;p=316262#p316262 forum post].&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial/FirstCampaign&amp;diff=27193</id>
		<title>BuildingCampaignsTutorial/FirstCampaign</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial/FirstCampaign&amp;diff=27193"/>
		<updated>2008-10-22T17:04:57Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: /* Installing The Campaign */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This section of the tutorial will help you install the skeleton campaign, and customize it to make it your own.&lt;br /&gt;
&lt;br /&gt;
== Installing The Campaign ==&lt;br /&gt;
To install the skeleton campaign, follow the following instructions:&lt;br /&gt;
# Download the campaign ([http://www.wesnoth.org/forum/download/file.php?id=25059 link])&lt;br /&gt;
# Unzip the downloaded file&lt;br /&gt;
# Move the newly unzipped folder (entitled &amp;quot;A_Simple_Campaign&amp;quot;) into the following directory: &amp;quot;([[EditingWesnoth#Where_is_my_user_data_directory.3F|userdata]])/data/campaigns&amp;quot;.  Once it's moved, the campaign directory should be as follows: &amp;quot;([[EditingWesnoth#Where_is_my_user_data_directory.3F|userdata]])/data/campaigns/A_Simple_Campaign&amp;quot;&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial/FirstCampaign&amp;diff=27192</id>
		<title>BuildingCampaignsTutorial/FirstCampaign</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial/FirstCampaign&amp;diff=27192"/>
		<updated>2008-10-22T17:03:39Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This section of the tutorial will help you install the skeleton campaign, and customize it to make it your own.&lt;br /&gt;
&lt;br /&gt;
== Installing The Campaign ==&lt;br /&gt;
To install the skeleton campaign, follow the following instructions:&lt;br /&gt;
# Download the campaign ([http://www.wesnoth.org/forum/download/file.php?id=25059 link])&lt;br /&gt;
# Unzip the downloaded file&lt;br /&gt;
# Move the newly unzipped folder (entitled &amp;quot;A_Simple_Campaign&amp;quot;) into the following directory: &amp;quot;([[http://www.wesnoth.org/wiki/EditingWesnoth#Where_is_my_user_data_directory.3F|userdata]])/data/campaigns&amp;quot;.  Once it's moved, the campaign directory should be as follows: &amp;quot;([[http://www.wesnoth.org/wiki/EditingWesnoth#Where_is_my_user_data_directory.3F|userdata]])/data/campaigns/A_Simple_Campaign&amp;quot;&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27191</id>
		<title>BuildingCampaignsTutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27191"/>
		<updated>2008-10-22T16:42:04Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Often, it seems, the hardest thing for a new campaign developer to accomplish is getting his campaign to work.  He creates all of the necessary files, types everything up, and when he tries to run it, an obscure error appears, stopping him from even entering his first scenario.  Such errors are often difficult to debug, leaving the aspiring coder with nothing but frustration.&lt;br /&gt;
&lt;br /&gt;
Because of this, an often-recommended approach is to take another campaign, already written, and use it as a code base to build your own.  This tutorial takes that approach, providing a simple campaign that can be (relatively) easily altered to fit your needs.&lt;br /&gt;
&lt;br /&gt;
The following links will guide you through the different sections of the tutorial.  To get started, select the first link (First Campaign), and follow the instructions&lt;br /&gt;
&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstCampaign|First Campaign]]&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstScenario|First Scenario]]&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstCustomUnit|First Custom Unit]]&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
The following is a list of all the files used by this tutorial:&lt;br /&gt;
* [http://www.wesnoth.org/forum/download/file.php?id=25059 A Simple Campaign] - a working skeleton campaign that can be built into a real campaign&lt;br /&gt;
&lt;br /&gt;
== Feedback ==&lt;br /&gt;
Feedback on this developing tutorial is much appreciated.  You can offer your recommendations on the [http://www.wesnoth.org/forum/viewtopic.php?f=8&amp;amp;t=22618&amp;amp;p=316262#p316262 forum post] dedicated to this tutorial and its corresponding skeleton campaign.  Thank you for helping to improve this!&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27190</id>
		<title>BuildingCampaignsTutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27190"/>
		<updated>2008-10-22T16:33:29Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: /* Downloads */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Often, it seems, the hardest thing for a new campaign developer to accomplish is getting his campaign to work.  He creates all of the necessary files, types everything up, and when he tries to run it, an obscure error appears, stopping him from even entering his first scenario.  Such errors are often difficult to debug, leaving the aspiring coder with nothing but frustration.&lt;br /&gt;
&lt;br /&gt;
Because of this, an often-recommended approach is to take another campaign, already written, and use it as a code base to build your own.  This tutorial takes that approach, providing a simple campaign that can be (relatively) easily altered to fit your needs.&lt;br /&gt;
&lt;br /&gt;
The following links will guide you through the different sections of the tutorial.  To get started, select the first link (First Campaign), and follow the instructions&lt;br /&gt;
&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstCampaign|First Campaign]]&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstScenario|First Scenario]]&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstCustomUnit|First Custom Unit]]&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
The following is a list of all the files used by this tutorial:&lt;br /&gt;
* [http://www.wesnoth.org/forum/download/file.php?id=25059 A Simple Campaign] - a working skeleton campaign that can be built into a real campaign&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27189</id>
		<title>BuildingCampaignsTutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27189"/>
		<updated>2008-10-22T16:31:06Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Often, it seems, the hardest thing for a new campaign developer to accomplish is getting his campaign to work.  He creates all of the necessary files, types everything up, and when he tries to run it, an obscure error appears, stopping him from even entering his first scenario.  Such errors are often difficult to debug, leaving the aspiring coder with nothing but frustration.&lt;br /&gt;
&lt;br /&gt;
Because of this, an often-recommended approach is to take another campaign, already written, and use it as a code base to build your own.  This tutorial takes that approach, providing a simple campaign that can be (relatively) easily altered to fit your needs.&lt;br /&gt;
&lt;br /&gt;
The following links will guide you through the different sections of the tutorial.  To get started, select the first link (First Campaign), and follow the instructions&lt;br /&gt;
&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstCampaign|First Campaign]]&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstScenario|First Scenario]]&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstCustomUnit|First Custom Unit]]&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
The following is a list of all the files used by this tutorial:&lt;br /&gt;
* [http://www.wesnoth.org/forum/download/file.php?id=25059 A Simple Campaign]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27188</id>
		<title>BuildingCampaignsTutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27188"/>
		<updated>2008-10-22T16:27:50Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Often, it seems, the hardest thing for a new campaign developer to accomplish is getting his campaign to work.  He types creates all of the necessary files, types everything up, and when he tries to run it, an obscure error appears, stopping him from even entering his first scenario.  Such errors are often difficult to debug, leaving the aspiring coder with nothing but frustration.&lt;br /&gt;
&lt;br /&gt;
Because of this, an often-recommended approach is to take another campaign, already written, and use it as a code base to build your own.  This tutorial takes that approach, providing a simple campaign that can be (relatively) easily altered to fit your needs.&lt;br /&gt;
&lt;br /&gt;
The following links will guide you through the different sections of the tutorial.  To get started, select the first link (First Campaign), and follow the instructions&lt;br /&gt;
&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstCampaign|First Campaign]]&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstScenario|First Scenario]]&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstCustomUnit|First Custom Unit]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27187</id>
		<title>BuildingCampaignsTutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27187"/>
		<updated>2008-10-22T16:27:14Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Often, it seems, the hardest thing for a new campaign developer to accomplish is getting his campaign to work.  He types creates all of the necessary files, types everything up, and when he tries to run it, an obscure error appears, stopping him from even entering his first scenario.  Such errors are often difficult to debug, leaving the aspiring coder with nothing but frustration.&lt;br /&gt;
&lt;br /&gt;
Because of this, an often-recommended approach is to take another campaign, already written, and use it as a code base to build your own.  This tutorial takes that approach, providing a simple campaign that can be (relatively) easily altered to fit your needs.&lt;br /&gt;
&lt;br /&gt;
The following links refer to different sections of the tutorial.  To get started, select the first link (First Campaign), and follow the instructions&lt;br /&gt;
&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstCampaign|First Campaign]]&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstScenario|First Scenario]]&lt;br /&gt;
# [[BuildingCampaignsTutorial/FirstCustomUnit|First Custom Unit]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27186</id>
		<title>BuildingCampaignsTutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27186"/>
		<updated>2008-10-22T16:23:17Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Often, it seems, the hardest thing for a new campaign developer to accomplish is getting his campaign to work.  He types creates all of the necessary files, types everything up, and when he tries to run it, an obscure error appears, stopping him from even entering his first scenario.  Such errors are often difficult to debug, leaving the aspiring coder with nothing but frustration.&lt;br /&gt;
&lt;br /&gt;
Because of this, an often-recommended approach is to take another campaign, already written, and use it as a code base to build your own.  This tutorial uses that approach&lt;br /&gt;
&lt;br /&gt;
* [[BuildingCampaignsTutorial/FirstCampaign|First Campaign]]&lt;br /&gt;
* [[BuildingCampaignsTutorial/FirstScenario|First Scenario]]&lt;br /&gt;
* [[BuildingCampaignsTutorial/FirstCustomUnit|First Custom Unit]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial/FirstCampaign&amp;diff=27185</id>
		<title>BuildingCampaignsTutorial/FirstCampaign</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial/FirstCampaign&amp;diff=27185"/>
		<updated>2008-10-22T16:13:08Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: New page: temp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;temp&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27184</id>
		<title>BuildingCampaignsTutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaignsTutorial&amp;diff=27184"/>
		<updated>2008-10-22T16:12:57Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: New page: * First Campaign * First Scenario * First Custom Unit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[BuildingCampaignsTutorial/FirstCampaign|First Campaign]]&lt;br /&gt;
* [[BuildingCampaignsTutorial/FirstScenario|First Scenario]]&lt;br /&gt;
* [[BuildingCampaignsTutorial/FirstCustomUnit|First Custom Unit]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaigns&amp;diff=27183</id>
		<title>BuildingCampaigns</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaigns&amp;diff=27183"/>
		<updated>2008-10-22T16:08:20Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: added a link to the (upcoming campaign tutorial&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right; margin-left:1em;&amp;quot;&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This page describes how to make your own user campaign for use with Battle for Wesnoth.  Please note that this document is not normative - its author is not a Wesnoth developer.  I'm simply reporting on what works for me, and on what developers have prescribed elsewhere.&lt;br /&gt;
If you see any errors, please fix them.&lt;br /&gt;
&lt;br /&gt;
See also [[DebuggingCampaigns]] if your scenario doesn't load.&lt;br /&gt;
&lt;br /&gt;
There are several steps to building a single player campaign in Wesnoth.  The mechanics are covered in the sections below:&lt;br /&gt;
&lt;br /&gt;
* [[BuildingCampaignsDirectoryStructure]]&lt;br /&gt;
* [[BuildingCampaignsTheCampaignFile]]&lt;br /&gt;
* [[BuildingCampaignsThePBLFile]]&lt;br /&gt;
* [[BuildingCampaignsDistribution]]&lt;br /&gt;
* [[WesCamp]] (How to make your campaign translatable, and get in touch with translators)&lt;br /&gt;
* [[UMCSandbox]] (Where you can collaborate on UMC projects)&lt;br /&gt;
&lt;br /&gt;
Because many aspiring campaign developers find the initial creation of a working campaign to be difficult (if not exasperating) a [[BuildingCampaignsTutorial|step-by-step tutorial]] covering the initial phase of campaign development (getting it to work) is under construction.  It includes a working campaign that you can install, and then alter to fit your own needs&lt;br /&gt;
&lt;br /&gt;
Xer has also created a campaign skeleton which is the barebones of a campaign: [http://www.wesnoth.org/forum/download/file.php?id=24587 here]&lt;br /&gt;
&lt;br /&gt;
What follows is a collection of advice to aspiring campaign designers extracted from the Wesnoth fora.  For a more in-depth treatment including heuristics for scenario and campaign balancing, see the [http://catb.org/~esr/wesnoth/campaign-design-howto.html Campaign Design How-To].&lt;br /&gt;
&lt;br /&gt;
== Start with Something Manageable ==&lt;br /&gt;
&lt;br /&gt;
If you set out to make an epic campaign spanning the whole history of Wesnoth, you'll likely (not necessarily, though)&lt;br /&gt;
become bored or frustrated along the&lt;br /&gt;
way somewhere and give up.  It's much easier to start with a small story and add elements to it than it is to cut an&lt;br /&gt;
epic down to the length of a haiku.&lt;br /&gt;
&lt;br /&gt;
;Shade (author of The Rise of Wesnoth) wrote&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: I started TRoW last April, even after it was scenario complete it was still eating all of my free time (Time not spent sleeping, at school / work, or with loved ones / friends) until mid-November... Even now there is still bugfixing and a couple of things I'd like to add... and keeping it up to date with the game engine and any new happenings on the WML front... so there is still quite a lot to keep you busy after you are done... The forums are littered with half finished epics... Before you commit to an epic think long and hard. I don't want to discourage you too much... But it is a lot of 'work' (&amp;amp; fun)&lt;br /&gt;
&lt;br /&gt;
== Story First ==&lt;br /&gt;
&lt;br /&gt;
What separates a campaign from a single scenario is the ability to tell a story.  Consequently, what keeps people coming back for more is a good, interesting story mixed with good, interesting game play.  If you have a good idea of where the story of your campaign is going when you start, the little&lt;br /&gt;
pieces will fall into place much more easily.  After all, it worked for Pixar!&lt;br /&gt;
&lt;br /&gt;
;Scott (author of Liberty, the outlaw campaign) wrote&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: Here is how I wrote Liberty.&lt;br /&gt;
:# Write a rough story and plot&lt;br /&gt;
:# Decide how many scenarios you want to have&lt;br /&gt;
:# Divide the story between the scenarios so you can decide what will happen in each scenario&lt;br /&gt;
:#* where are you?&lt;br /&gt;
:#* who are you fighting and why?&lt;br /&gt;
:#* what do you have to do in this scenario?&lt;br /&gt;
:#* where does the hero want to go next?&lt;br /&gt;
:# Decide on the &amp;quot;hook&amp;quot; for each scenario. There are a lot of different possible setups for scenarios, and if you want to avoid the boring repetition of &amp;quot;Kill the 2 enemy leaders&amp;quot; you can list interesting combinations of enemies, allies, shroud/fog, day/night effects, recruiting and terrain situations, etc. and pick a good mix to keep the combat interesting and fun.    &lt;br /&gt;
: All of this has happened without doing any WML, but now you have enough to start coding.&lt;br /&gt;
&lt;br /&gt;
The [http://catb.org/~esr/wesnoth/campaign-design-howto.html Campaign Design How-To] has much more to say about this storyboarding phase of the process.&lt;br /&gt;
&lt;br /&gt;
== Share Early ==&lt;br /&gt;
&lt;br /&gt;
Don't be shy to post whatever you've created for others to look at.  We all had to learn too, and there are many people on the Scenario and Campaign Development forum (http://www.wesnoth.org/forum/viewforum.php?f=8) who are eager to help people learn.&lt;br /&gt;
&lt;br /&gt;
;Turin (author of Eastern Invasion) wrote&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;    &lt;br /&gt;
: I'm working on a loyalist campaign now. I already have the basic plot. I am wondering if anyone wants to playtest my completed levels (i am done with two).  Thus i want to know if i should just post the new files as attachments, or what. There are two map files, two scenario files, an image file, a unit file, and you have to change the game file to access the campaign from the 'campaign menu. So tell me how i should make them accessable.&lt;br /&gt;
&lt;br /&gt;
== Steal Often ==&lt;br /&gt;
&lt;br /&gt;
There are too many quotations to pick one for this maxim.  The best way to learn how to do something is to copy it from someone else's campaign.  It's polite to ask first, and most Campaign designers are happy to see small bits of their WML living in other campaigns.&lt;br /&gt;
It's generally poor form to copy whole scenarios, maps, and campaigns, though.  And especially poor form to do so without permission.&lt;br /&gt;
&lt;br /&gt;
== Next: ==&lt;br /&gt;
* [[BuildingCampaignsTheCampaignFile]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Create]]&lt;br /&gt;
* [[BuildingScenarios]]&lt;br /&gt;
* [[Using custom themes in campaigns]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
* [[UserScenarios]]&lt;br /&gt;
* [[ExternalUtilities]]&lt;br /&gt;
* [http://www.catb.org/~esr/wesnoth/campaign-design-howto.html Campaign Design How To]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Create}}&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=CampaignWML&amp;diff=26868</id>
		<title>CampaignWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=CampaignWML&amp;diff=26868"/>
		<updated>2008-09-23T16:47:22Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== the [campaign] tag ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Dacyn and/or Invisible Philosopher -- please be careful&lt;br /&gt;
you don't reduce the signal-to-noise ratio on the WML pages&lt;br /&gt;
when editing!  Eg. knowing that a tag is translatable is _important_&lt;br /&gt;
for the 29 translations we have in progress. -- ott&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This tag describes a campaign, and is used for the &amp;quot;Campaign&amp;quot; menu&lt;br /&gt;
in the title screen.&lt;br /&gt;
&lt;br /&gt;
The '''[campaign]''' tag has the following attibutes:&lt;br /&gt;
* '''id''': the internal campaign identifier used to classify saved games&lt;br /&gt;
* '''icon''': the image displayed in the campaign selection menu&lt;br /&gt;
* '''name''': (translatable) name displayed in the campaign selection menu&lt;br /&gt;
* '''abbrev''': (translatable) abbreviation used as a prefix for savefile names made from this campaign&lt;br /&gt;
* '''image''': the image shown in the information pane when this campaign is selected in the campaign selection menu&lt;br /&gt;
* '''description''': (translatable) text shown in the information pane when this campaign is selected in the campaign selection menu&lt;br /&gt;
* '''define'''='''''CAMPAIGN_SYMBOL''''' when this campaign is started, the preprocessor symbol '''''CAMPAIGN_SYMBOL''''' will be defined. See '''#ifdef''' in [[PreprocessorRef]] for how this can be used to isolate parts of the campaign file from other campaigns. Only the tags '''[campaign]''' and '''[binary_path]''' (see [[BinaryPathWML]]) should go outside of '''#ifdef ''CAMPAIGN_SYMBOL'''''. This symbol will be defined ''before'' any .cfg is preprocessed.&lt;br /&gt;
* '''extra_defines''': a comma(''',''') separated list of preprocessor symbols. Those symbols will be defined ''before'' any .cfg is preprocessed.&lt;br /&gt;
* '''difficulties''': a comma(''',''') separated list of preprocessor symbols, exactly one of which will be stored depending on the difficulty setting chosen when the campaign is started. The symbols '''EASY''', '''NORMAL''', and '''HARD''' are usually used, and there are several macros in utils.cfg (see [[UtilWML]]) which check for these values to set WML keys to different values depending on difficulty.  If you use different difficulty symbols, you may need to define your own versions of these macros.&lt;br /&gt;
* '''difficulty_descriptions''': the menu of difficulties; this is a list of descriptions (see [[DescriptionWML]]) that correspond to different difficulty levels. Since each description is a menu option for a difficulty level, this must provide the same number of descriptions as there are levels in the ''difficulties'' list.&lt;br /&gt;
* '''first_scenario''': the ID of the first scenario in the campaign; see ''id'' in [[ScenarioWML]]&lt;br /&gt;
* '''rank''': a number that determines the order of campaigns in the campaign selection menu.  Lower ''rank'' campaigns appear earlier, with unranked campaigns at the end. Currently the mainline campaigns use multiples of 10 from 0 to 399, with 0-99 for Novice campaigns, 100-199 for Intermediate campaigns, and 200-399 for Expert campaigns; if you specify this, it should not be less than 400.  (Note: This replaces an older convention that topped out at 50.)&lt;br /&gt;
* '''[about]''': inserts your own credits into the game's list of credits. The campaign's name automatically is inserted at the top of the rolling credits followed by title/text key pairs.  There can be any number of '''[about]''' tags inside a '''[campaign]''' tag, but none of them will display credits if there is no &amp;quot;id&amp;quot; key present inside [campaign] (see above). The '''[about]''' tag has the following keys:&lt;br /&gt;
** '''title''': (translatable) large text used to start a new subsection (writers, artists, units, balancing) in the rolling credits&lt;br /&gt;
** '''text''': (translatable, but you probably won't want to make it such) smaller text which is displayed before the contributor names&lt;br /&gt;
** '''[entry]''': Contains information about a single contributor. Only the ''name'' key will be used in-game, the other three keys are for display on the Credits website.&lt;br /&gt;
*** '''name''': The name of the contributor&lt;br /&gt;
*** '''comment''': Optional short note about what that person did&lt;br /&gt;
*** '''email''': Optional email address&lt;br /&gt;
*** '''wikiuser''': Optional, the user name on the wiki&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[PreprocessorRef]]&lt;br /&gt;
* [[ScenarioWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
* [[PblWML]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=MusicListWML&amp;diff=26606</id>
		<title>MusicListWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=MusicListWML&amp;diff=26606"/>
		<updated>2008-09-06T15:18:09Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: /* the [music] tag */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== the [music] tag ==&lt;br /&gt;
&lt;br /&gt;
This tag is a subtag of [scenario] and [event] which is used to describe a music track to play.  You can repeat this tag as many times as you like; if you set the ''append'' tag to ''yes'' they will form a playlist from which tracks will be selected at random.&lt;br /&gt;
&lt;br /&gt;
Tags describe the music track:&lt;br /&gt;
* ''name'' specifies the music file, relative to '&amp;quot;music/&amp;quot;'.  This is compulsory.&lt;br /&gt;
* ''append=yes'' specifies this is to be added to the current playlist.  Without this, the current playlist is replaced by this track.  (Note: if the same track is appended multiple times in a row, it will only play once before moving on to the next (different) track)&lt;br /&gt;
* ''play_once=yes'' immediately switch to playing this track, but then return to the play list, which is unchanged.&lt;br /&gt;
* ''immediate=yes'' immediately switch to playing this track.  Without this, the song will play when the entire [event] is over or the current song ends.  This exists to force music changes '''during''' dialog exchange or other [event] which take significant time.&lt;br /&gt;
* ''ms_before'' (optional) specifies how many milliseconds to delay before playing this track.  Currently this does not apply when the scenario first starts, or with ''play_once'' or ''immediate''.&lt;br /&gt;
* ''ms_after'' (optional) specifies how many milliseconds to delay after playing this track.&lt;br /&gt;
&lt;br /&gt;
For a list of music tracks you can use in your scenario, see [[Available Music]].&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
This creates a new playlist with three entries in it.  The second track is always preceeded by 1/2 a second of silence.&lt;br /&gt;
  [music]&lt;br /&gt;
     name=background-music-1.ogg&lt;br /&gt;
  [/music]&lt;br /&gt;
  [music]&lt;br /&gt;
     name=background-music-2.ogg&lt;br /&gt;
     ms_before=500&lt;br /&gt;
     append=yes&lt;br /&gt;
  [/music]&lt;br /&gt;
  [music]&lt;br /&gt;
     name=background-music-3.ogg&lt;br /&gt;
     append=yes&lt;br /&gt;
  [/music]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Opensourcejunkie&amp;diff=26402</id>
		<title>User:Opensourcejunkie</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Opensourcejunkie&amp;diff=26402"/>
		<updated>2008-08-12T01:46:24Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: create page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;hey all!  maybe I should add some text here...&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SideWML&amp;diff=26394</id>
		<title>SideWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SideWML&amp;diff=26394"/>
		<updated>2008-08-12T00:58:24Z</updated>

		<summary type="html">&lt;p&gt;Opensourcejunkie: added link to SideSwitchingWML (not yet created)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== the [side] tag ==&lt;br /&gt;
&lt;br /&gt;
The [side] tag is used to describe a side in a particular scenario.&lt;br /&gt;
&lt;br /&gt;
The following keys are recognized:&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
* '''controller''': how moves for this side should be inputted.&lt;br /&gt;
** '''ai''': the Wesnoth AI makes this side's moves. This is the default setting.&lt;br /&gt;
** '''human''': a player controls this side's moves.&lt;br /&gt;
** '''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.)&lt;br /&gt;
&lt;br /&gt;
* '''no_leader''': if &amp;quot;no&amp;quot; (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=yes''') and if one is found it will be used instead of the one described in the '''[side]''' tag. Typical keys used for defining the leader unit are '''type''' (mandatory), '''description''', '''id''' {{DevFeature}}, '''user_description''', '''name''' {{DevFeature}} and '''unrenamable=yes''', see [[UnitWML]].&lt;br /&gt;
&lt;br /&gt;
* '''recruit''': a list of unit types. At the beginning of the scenario, the side gains recruitment of these units.&lt;br /&gt;
&lt;br /&gt;
* '''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.)&lt;br /&gt;
&lt;br /&gt;
* '''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]]).&lt;br /&gt;
&lt;br /&gt;
* '''fog''': if 'yes', this side cannot see any tiles it is not within vision of, except at the start.&lt;br /&gt;
&lt;br /&gt;
* '''shroud''': if 'yes', this side cannot see any tiles it has not moved within sight of.&lt;br /&gt;
&lt;br /&gt;
* '''shroud_data''': describes the area which this team has de-shrouded. An example:&lt;br /&gt;
 |&lt;br /&gt;
 |00011111000&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* '''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'.&lt;br /&gt;
&lt;br /&gt;
* '''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.  See [[SideSwitchingWML]].&lt;br /&gt;
&lt;br /&gt;
* '''team_name''': a non translatable string representing the team's description. Sides with the same team_name are allied. Default ''side''.&lt;br /&gt;
&lt;br /&gt;
* '''user_team_name''': a translatable string representing the team's description. This has no effect on alliances. Default ''team_name''.&lt;br /&gt;
&lt;br /&gt;
* '''colour''': May be either a numeric color index or a color name (e.g. 'blue', 'purple', 'orange', etc.).  The numeric form is deprecated. The default list of numbers and corresponding colours can be found in data/core/team_colors.cfg.&lt;br /&gt;
&lt;br /&gt;
* '''flag''': a custom flag animation to use instead of the default one to mark captured villages. An automatic side-coloring is applied.&lt;br /&gt;
** 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''&lt;br /&gt;
&lt;br /&gt;
* '''flag_icon''': a custom flag icon to indicate the side playing in the statusbar (a size of 24x16 is recommended). An automatic side-coloring is applied.&lt;br /&gt;
&lt;br /&gt;
* '''village_gold''': the amount of gold given to this side per village it controls per turn. Default specified in ''village_income'', '''[game_config]''' ([[GameConfigWML]]). '''Note:''' If you need village gold to be 0. Set the variable to -1.&lt;br /&gt;
&lt;br /&gt;
* '''share_maps''': whether sides allied with this side see all terrains that this side sees, if they are on shroud.&lt;br /&gt;
&lt;br /&gt;
* '''share_view''': whether sides allied with this side see the units that this side sees, if they are on FoW (fog).&lt;br /&gt;
&lt;br /&gt;
* '''disallow_observers''': prevents observers from seeing this side turn. (default: no)&lt;br /&gt;
&lt;br /&gt;
* '''[ai]''' if '''controller=ai''', gives parameters to the AI. See [[AiWML]].&lt;br /&gt;
&lt;br /&gt;
* '''[village]''' describes a village the side begins in control of.&lt;br /&gt;
** ''x'', ''y'' the location of the village.&lt;br /&gt;
&lt;br /&gt;
* '''[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]'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following keys are multiplayer only:&lt;br /&gt;
&lt;br /&gt;
* '''allow_player''': if false then this side will not be allowed to be modified and will be hidden during game creation.&lt;br /&gt;
&lt;br /&gt;
* '''team_lock''': if true then this side's team is not allowed to be modified.&lt;br /&gt;
&lt;br /&gt;
* '''colour_lock''': if true then this side's color is not allowed to be modified.&lt;br /&gt;
&lt;br /&gt;
* '''gold_lock''': if true then this side's gold is not allowed to be modified. &lt;br /&gt;
&lt;br /&gt;
* '''income_lock''': if true then this side's income is not allowed to be modified.&lt;br /&gt;
&lt;br /&gt;
* '''faction''': this lock this side to this faction.&lt;br /&gt;
&lt;br /&gt;
* '''faction_from_recruit''' {{DevFeature}}: if true then this side will be locked to the faction that matches the recruits better. (this was enabled by default in 1.4)&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[EraWML]]&lt;br /&gt;
* [[ScenarioWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Opensourcejunkie</name></author>
		
	</entry>
</feed>