https://wiki.wesnoth.org/api.php?action=feedcontributions&user=Lord+Vile&feedformat=atomThe Battle for Wesnoth Wiki - User contributions [en]2024-03-28T22:19:55ZUser contributionsMediaWiki 1.31.16https://wiki.wesnoth.org/index.php?title=WhatArePlayersSaying&diff=39241WhatArePlayersSaying2010-12-01T18:34:20Z<p>Lord Vile: /* Wesnoth appears in several blogs */</p>
<hr />
<div>== What this page is about ==<br />
It looks like Wesnoth is a major reason that several Linux projects are improving only slowly. We sincerely apologize to all the developers on Debian and elsewhere out there who have ceased being productive because our game has eaten their brains. Here is the dreadful proof...<br />
<br />
== Wesnoth appears in several blogs ==<br />
<br />
* Games are bad for Debian. Especially time-killers like wesnoth. They make me very unproductive, even though I'm not playing any of the higher difficulties, I cannot resist the urge to play through all campaigns [...]<br />
found in this [http://blog.drinsama.de/erich/en/2005062801-wesnoth blog] <br />
<br />
* If you want to stay productive don't ever run the following command:<br />
sudo apt-get install wesnoth<br />
Is "Kills all my time" a good reason for a RC-Bug? I mean, if you install it, you can hardly stop playing, therefore it renders all other installed software useless. I think wesnoth should be removed ASAP from the archive...<br />
<br />
found in the [http://blog.schmehl.info//2005/09/30#wesnoth blog] of Alexander Tolimar Schmehl<br />
<br />
* [...] My opinion: It makes addicted! Check it out!<br />
<br />
found in this [http://sven.formvision.de/blog/archives/55-Rundenbasierte-Strategie-The-Battle-for-Wesnoth.html blog] (only in german)<br />
<br />
* Battle for Wesnoth seems to become a real threat for the Debian project. More and more Debian developers get sucked into the world of elves, dwaves, orcs, zombies and mages — and only few return...<br />
<br />
found in this [http://www.hermann-uwe.de/blog/my-wesnoth-replays-online blog]<br />
<br />
*Do not under any circumstances apt-get install wesnoth! It’s quite addictive and very good. Currently worried about getting anything done for the next… errrr… year? It’s been ages since I’ve really gotten into a game. I think this may actually be one I’ll get pretty into. Rock on Wesnoth developers! <br />
<br />
found in this [http://www.flamingspork.com/blog/?p=418 blog]<br />
<br />
*The game is engaging and you will soon find yourself immersed in it. However, steer clear if you are looking for something mindless, because in order to win you will need good logic skills and you will be required to think.<br />
<br />
found in this [http://open-soft.org/games/turn-based-strategy-battle-for-wesnoth blog]<br />
<br />
== Players comment about Wesnoth ==<br />
<br />
* Stable, beautiful (graphics, sounds and music), neither too easy nor too hard, cool story and characters, usable interface, great tutorial... This is one of the best games I've ever played.<br />
A comment at The Linux Game Tome submitted by blop<br />
<br />
* Wow, this game is amazing! I wish I'd gotten it earlier !! It has a really professional look and feel.<br />
A comment at The Linux Game Tome submitted by bigfatdude<br />
<br />
* found the game in the net: played it for hours (and still playing it). showed it to my kids: they still play and always want the newest version (they know most units stats... like they knew all the pokemons). showed it to my friends: lots of ’em like and play it (the ’over 30’ fraction). kids showed it to their friends: guess what happend... (the ’under 15’ fraction).<br />
Taken out of the [http://www.wesnoth.org/forum/viewtopic.php?t=7770&start=23 Wesnoth Forum], written by Xytan<br />
<br />
* It's been fantastic watching this come together. Talented programmers, artists, musicians, campaign/story developers - Wesnoth is a really special example of how open source can accomplish great things. Thanks to Dave and all the others who have worked hard to create this game!<br />
Taken out of the [http://www.wesnoth.org/forum/viewtopic.php?t=7770&start=26 Wesnoth Forum], written by Nothsa<br />
<br />
* Just started playing Battle of Wesnoth three days ago. I am seriously hooked! This is the most outstanding game I have seen in years. Your team is seriously talented. Thank you. Written by RodneyMillerPCA<br />
<br />
Just and everyday user<br />
<br />
* This is a pretty neat game esp. from the fact its so customizable. It's kindof an advanced<br />
version of Warlords II, with none of the bad and all of the good. written by Sid6.7<br />
<br />
== See Also ==<br />
* [[WesnothReviews]] - A list of reviews done by various magazines and websites<br />
* [[WhatArePlayersSaying_Old| Some older Comments]]<br />
* [[Play]]<br />
<br />
[[Category:Showcase]]</div>Lord Vilehttps://wiki.wesnoth.org/index.php?title=WhatArePlayersSaying&diff=39240WhatArePlayersSaying2010-12-01T18:31:10Z<p>Lord Vile: /* Wesnoth appears in several blogs */</p>
<hr />
<div>== What this page is about ==<br />
It looks like Wesnoth is a major reason that several Linux projects are improving only slowly. We sincerely apologize to all the developers on Debian and elsewhere out there who have ceased being productive because our game has eaten their brains. Here is the dreadful proof...<br />
<br />
== Wesnoth appears in several blogs ==<br />
<br />
* Games are bad for Debian. Especially time-killers like wesnoth. They make me very unproductive, even though I'm not playing any of the higher difficulties, I cannot resist the urge to play through all campaigns [...]<br />
found in this [http://blog.drinsama.de/erich/en/2005062801-wesnoth blog] <br />
<br />
* If you want to stay productive don't ever run the following command:<br />
sudo apt-get wesnoth<br />
Is "Kills all my time" a good reason for a RC-Bug? I mean, if you install it, you can hardly stop playing, therefore it renders all other installed software useless. I think wesnoth should be removed ASAP from the archive...<br />
<br />
found in the [http://blog.schmehl.info//2005/09/30#wesnoth blog] of Alexander Tolimar Schmehl<br />
<br />
* [...] My opinion: It makes addicted! Check it out!<br />
<br />
found in this [http://sven.formvision.de/blog/archives/55-Rundenbasierte-Strategie-The-Battle-for-Wesnoth.html blog] (only in german)<br />
<br />
* Battle for Wesnoth seems to become a real threat for the Debian project. More and more Debian developers get sucked into the world of elves, dwaves, orcs, zombies and mages — and only few return...<br />
<br />
found in this [http://www.hermann-uwe.de/blog/my-wesnoth-replays-online blog]<br />
<br />
*Do not under any circumstances apt-get install wesnoth! It’s quite addictive and very good. Currently worried about getting anything done for the next… errrr… year? It’s been ages since I’ve really gotten into a game. I think this may actually be one I’ll get pretty into. Rock on Wesnoth developers! <br />
<br />
found in this [http://www.flamingspork.com/blog/?p=418 blog]<br />
<br />
*The game is engaging and you will soon find yourself immersed in it. However, steer clear if you are looking for something mindless, because in order to win you will need good logic skills and you will be required to think.<br />
<br />
found in this [http://open-soft.org/games/turn-based-strategy-battle-for-wesnoth blog]<br />
<br />
== Players comment about Wesnoth ==<br />
<br />
* Stable, beautiful (graphics, sounds and music), neither too easy nor too hard, cool story and characters, usable interface, great tutorial... This is one of the best games I've ever played.<br />
A comment at The Linux Game Tome submitted by blop<br />
<br />
* Wow, this game is amazing! I wish I'd gotten it earlier !! It has a really professional look and feel.<br />
A comment at The Linux Game Tome submitted by bigfatdude<br />
<br />
* found the game in the net: played it for hours (and still playing it). showed it to my kids: they still play and always want the newest version (they know most units stats... like they knew all the pokemons). showed it to my friends: lots of ’em like and play it (the ’over 30’ fraction). kids showed it to their friends: guess what happend... (the ’under 15’ fraction).<br />
Taken out of the [http://www.wesnoth.org/forum/viewtopic.php?t=7770&start=23 Wesnoth Forum], written by Xytan<br />
<br />
* It's been fantastic watching this come together. Talented programmers, artists, musicians, campaign/story developers - Wesnoth is a really special example of how open source can accomplish great things. Thanks to Dave and all the others who have worked hard to create this game!<br />
Taken out of the [http://www.wesnoth.org/forum/viewtopic.php?t=7770&start=26 Wesnoth Forum], written by Nothsa<br />
<br />
* Just started playing Battle of Wesnoth three days ago. I am seriously hooked! This is the most outstanding game I have seen in years. Your team is seriously talented. Thank you. Written by RodneyMillerPCA<br />
<br />
Just and everyday user<br />
<br />
* This is a pretty neat game esp. from the fact its so customizable. It's kindof an advanced<br />
version of Warlords II, with none of the bad and all of the good. written by Sid6.7<br />
<br />
== See Also ==<br />
* [[WesnothReviews]] - A list of reviews done by various magazines and websites<br />
* [[WhatArePlayersSaying_Old| Some older Comments]]<br />
* [[Play]]<br />
<br />
[[Category:Showcase]]</div>Lord Vilehttps://wiki.wesnoth.org/index.php?title=Description&diff=39239Description2010-12-01T18:28:55Z<p>Lord Vile: /* What is Battle for Wesnoth? */</p>
<hr />
<div>== What is Battle for Wesnoth? ==<br />
<br />
The Battle for Wesnoth is a turn-based tactical strategy game with a high fantasy theme.<br />
<br />
<div class="thumb tright"><div><br />
[http://www.wesnoth.org/images/sshots/wesnoth-1.6-4.jpg http://www.wesnoth.org/images/sshots/wesnoth-1.6-4-175.jpg]<br />
<div class="thumbcaption">Delfador's magical lightning strike</div></div><br />
</div><br />
<br />
<div class="thumb tright"><div><br />
[http://www.wesnoth.org/images/sshots/wesnoth-1.6-5.jpg http://www.wesnoth.org/images/sshots/wesnoth-1.6-5-175.jpg]<br />
<div class="thumbcaption">An ambush in a campaign</div></div><br />
</div><br />
<br />
Build up a great army, gradually turning raw recruits into hardened veterans. In later games, recall your toughest warriors and form a deadly host against whom none can stand! Choose units from a large pool of specialists, and hand-pick a force with the right strengths to fight well on different terrains against all manner of opposition.<br />
<br />
Wesnoth has many different sagas waiting to be played out. Fight to regain the throne of Wesnoth, of which you are the legitimate heir... step into the boots of a young officer sent to guard a not-so-sleepy frontier outpost... lead a brutal quest to unite the orcish tribes... vanquish a horde of undead warriors unleashed by a foul necromancer, who also happens to have taken your brother hostage... guide a band of elvish survivors in an epic quest to find a new home... get revenge on the orcs by utilising the foul art or necromancy... <br />
<br />
200+ unit types. 16 races. 6 major factions. Hundreds of years of history. The world of Wesnoth is absolutely huge and limited only by your creativity - make your own custom units, compose your own maps, and write your own scenarios or even full-blown campaigns. You can also challenge up to 8 friends - or strangers - and fight in epic ''multi-player'' fantasy battles.<br />
<br />
== Features ==<br />
<br />
<div class="thumb tright"><div><br />
[http://www.wesnoth.org/images/sshots/wesnoth-1.6-2.jpg http://www.wesnoth.org/images/sshots/wesnoth-1.6-2-175.jpg]<br />
<div class="thumbcaption">The map editor</div></div><br />
</div><br />
<br />
* Build up a formidable fighting force, starting from a single leader and a small amount of gold.<br />
* Over 200 unit types in six major factions, all with distinctive abilities, weapons and spells.<br />
* Experienced units gain powerful new abilities as they advance.<br />
* Several multi-player options available, including internet play.<br />
* Scores of different custom-designed maps, and unlimited random maps.<br />
* Hundreds of campaign scenarios available for download via a simple in-game procedure.<br />
* 'Fog of war' feature available for a true test of generalship.<br />
* Sophisticated mark-up language lets advanced users make their own maps, factions or campaigns.<br />
* Excellent language support &ndash; 35 different languages currently available.<br />
* Windows, Mac OS X, GNU/Linux, RISC OS, BeOS, Solaris, FreeBSD, OpenBSD, NetBSD, DragonFly BSD, AmigaOS4, OS/2 & eComStation compatible.<br />
<br />
<br />
{{Play}}</div>Lord Vilehttps://wiki.wesnoth.org/index.php?title=ReferenceWML&diff=39238ReferenceWML2010-12-01T18:18:32Z<p>Lord Vile: /* Other WML tags */</p>
<hr />
<div>{{WML Tags}}<br />
== The Wesnoth Markup Language ==<br />
<br />
The Wesnoth Markup Language (WML) is used to code almost everything in Wesnoth, including scenarios, units, savefiles, and the user interface layout. WML files are simple, human-readable text files, usually with the .cfg extension, with similarities to INI files and XML. A major feature in WML are macros, which are alike those found in the C language and similarily are handled by a preprocessor. Implementation-wise, WML files are handled mainly by the ''config'' class (and ''simple_wml'' in [[wesnothd]]).<br />
<br />
This page is a collection of pointers to different common WML structures. See [[AlphabeticalWML]] for a quick listing of all WML tags. The more comprehensive [[BuildingScenariosIndex]] lists tags and keys.<br />
<br />
See [[BuildingScenarios]], [[BuildingCampaigns]] and [[BuildingUnits]]<br />
for a tutorial style overview.<br />
<br />
<br />
<br />
''Note: this reference may contain slight inaccuracies, might not list all existing keys and tags or might contain some deprecated syntax. If you find that this reference doesn't give you the answer to how to implement some feature in WML, the most reliable way is to look at the WML code of existing units and campaigns that have done so.''<br />
<br />
== How WML works ==<br />
<br />
* [[SyntaxWML]] the language syntax.<br />
** [[VariablesWML]] how to use WML variables<br />
* [[PreprocessorRef]] the WML preprocessor syntax<br />
** [[UtilWML]] utility macros defined in utils.cfg<br />
<br />
== WML toplevel tags ==<br />
<br />
* [[GameConfigWML]] the top level '''[game_config]''' tag<br />
* [[UnitsWML]] the top level '''[units]''' tag<br />
** [[UnitTypeWML]] how to describe a unit type<br />
** [[AnimationWML]] how to animate units<br />
* [[CampaignWML]] the top level '''[campaign]''' tag<br />
* [[ScenarioWML]] the top level tags '''[scenario]''', '''[multiplayer]''', '''[test]''', and '''[tutorial]'''<br />
** [[EventWML]] how to describe an event<br />
** [[SideWML]] how to describe a side<br />
** [[MapGeneratorWML]] the random map generator<br />
** [[TimeWML]] how to describe a day<br />
** [[IntroWML]] how to describe the intro screen<br />
* [[SavefileWML]] a description of the format of savegames<br />
** [[ReplayWML]] a description of the format of player actions such as moving a unit<br />
** [[StatisticalScenarioWML]] used to generate statistics of a savegame<br />
* [[PblWML]] a description of the format of server-uploadable campaigns<br />
* [[EraWML]] the top level '''[era]''' tag<br />
* [[TerrainWML]] the top level '''[terrain]''' tag<br />
* [[TerrainGraphicsWML]], the top level '''[terrain_graphics]''' tag<br />
* [[ThemeWML]] the top level '''[theme]''' tag<br />
* [[LanguageWML]] the top level '''[language]''' tag<br />
* [[HelpWML]] the top level '''[help]''' tag<br />
* [[BinaryPathWML]] the top level '''[binary_path]''' tag<br />
* [[FontsWML]] the top level '''[fonts]''' tag<br />
<br />
== Other WML tags ==<br />
<br />
* [[EventWML]] how to describe an event<br />
** [[FilterWML]] the construct to filter on units, locations, and weapons<br />
** [[ConditionalActionsWML]] actions that encapsulate conditional filters and the actions to execute if the conditions are met<br />
** [[DirectActionsWML]] actions that directly affect gameplay: for example creating a unit<br />
** [[InternalActionsWML]] actions that WML uses internally: for example storing a variable<br />
** [[InterfaceActionsWML]] actions that do not affect gameplay: for example displaying a message<br />
* [[LuaWML]] how to code actions with the Lua language<br />
* [[SingleUnitWML]] how to describe a unit<br />
* [[AiWML]] how to describe parameters for AI<br />
* [[EffectWML]] the construct to modify a unit<br />
* [[AbilitiesWML]] a list of the different abilities a unit or weapon can have<br />
* [[DescriptionWML]] the structure of WML coded menus like the difficulty chooser of campaigns<br />
* [[EditorWML]] tags controllin the post-1.4 editor's behavior<br />
<br />
== Predefined macros == <br />
<br />
Wesnoth ships with a library of predefined macros you should find useful in writing your own WML. You can find a description of all such macros [http://www.wesnoth.org/macro-reference.html here].<br />
<br />
== Other ==<br />
<br />
* [[ReferenceWMLSyntax]] how this wiki and the pages it links to should be formatted<br />
* [[ConventionsWML]] how to make your WML more readable<br />
* [[UsefulWMLFragments]] Various pieces of WML for various purposes. If you have some WML you're proud of that you think others can use, add it here.<br />
* [[CommandMode]] commands are not strictly speaking part of WML, these could be a little hard to find so there's a link here.<br />
* [[MultiplayerServerWML]] is used when communicating with the multiplayer server.<br />
* [[CampaignServerWML]] is used when managing contributed campaigns on the campaign server.<br />
* [[ImagePathFunctionWML]] is used when applying the team-color function to images.<br />
* [[BinaryWML]] how WML is sent over the network<br />
<br />
== See Also ==<br />
<br />
* [[BuildingMaps]] the text-based format for Wesnoth maps<br />
* [[TerrainCodesWML]] a list of all terrains<br />
* [[MultiHexTutorial]] a description of the multi-hex tiling system<br />
* [[IGNFileFormat]] a description of the ignore file format<br />
<br />
<br />
[[Category: WML Reference]]</div>Lord Vilehttps://wiki.wesnoth.org/index.php?title=AbilitiesWML&diff=39140AbilitiesWML2010-11-28T21:47:13Z<p>Lord Vile: /* Extra tags used by the [teleport] ability */</p>
<hr />
<div>{{WML Tags}}<br />
== Abilities and their effects ==<br />
<br />
There are two types of abilities: ones that apply to units (called ''abilities'') and ones that only apply when using a particular attack (called ''specials'' or ''weapon specials''). A unit may have multiple abilities and an attack can have multiple specials, but by convention only one weapon special should be assigned to any given attack.<br />
<br />
== The ''[abilities]'' tag ==<br />
<br />
The following tags are used to describe an ability in WML:<br />
<br />
* '''[heals]''': modifies the hitpoints of a unit at the beginning of the healer's turn<br />
* '''[regenerate]''': modifies the hitpoints of a unit at the beginning of the unit's turn<br />
* '''[resistance]''': modifies the resistance of a unit to damage<br />
* '''[leadership]''': modifies the damage of a unit<br />
* '''[skirmisher]''': negates enemy zones of control<br />
* '''[illuminates]''': modifies the time of day adjacent to the affected units<br />
* '''[teleport]''': allows the unit to teleport<br />
* '''[hides]''': renders the unit invisible to enemies<br />
Any other name is valid (for example '''[dummy]'''), but will result in an ability that does nothing but report it's there. These tags still use the same common keys and tags as every other ability. '''Note:''' a dummy ability must have an id for the name and description to display.<br />
<br />
=== Common keys and tags for every ability ===<br />
<br />
* '''name''': the name of the ability.<br />
* '''name_inactive''': the name of the ability when inactive.<br />
* '''description''': the description of the ability.<br />
* '''description_inactive''': the description of the ability when inactive.<br />
* '''affect_self''': if equal to 'yes', the ability will affect the unit that has it.<br />
* '''affect_allies''': if equal to 'yes', the ability will affect allies in the specified adjacent hexes.<br />
* '''affect_enemies''': if equal to 'yes', the ability will affect enemies in the specified adjacent hexes.<br />
* '''cumulative''': if set to 'yes', this ability will be cumulative with the base value for this ability.<br />
* '''id''': this ability will not be cumulative with other abilities using this id. Must be present if cumulative is anything other than 'yes'.<br />
* '''[adjacent_description]''': contains all four of the above keys, which are used when an adjacent unit receives the ability.<br />
* '''[filter]''': [[StandardUnitFilter]] If the unit owning the ability does not match this filter, the ability will be inactive.<br />
* '''[affect_adjacent]''': each adjacent unit that does not match this filter will not receive its effects.<br />
** '''adjacent''': a comma seperated list of any combination of these directions: '''n''','''ne''','''se''','''s''','''sw''','''nw'''.<br />
** '''[filter]''': a [[StandardUnitFilter]].<br />
* '''[filter_self]''': if the owner of the ability does not match this filter, it will not receive the effects of the ability. [filter_self] takes a [[StandardUnitFilter]] as argument.<br />
* '''[filter_base_value]''': filters on the value before any modifications; uses the keys '''equals''', '''not_equals''', etc. If several keys are used all have to match.<br />
<br />
=== Extra keys used by the ''[heals]'' ability ===<br />
<br />
* '''value''': the amount healed.<br />
* '''poison''': can be one of ''slowed'',''cured''.<br />
<br />
=== Extra keys used by the ''[regenerate]'' ability ===<br />
<br />
* '''value''': the amount healed.<br />
* '''poison''': can be one of ''slowed'',''cured''.<br />
<br />
=== Extra keys and tags used by the ''[resistance]'' ability ===<br />
<br />
* '''value''': set resistance to this value.<br />
* '''max_value''': maximum resistance value. This value '''must''' be set in order for [resistance] to function.<br />
* '''add''': adds to resistance.<br />
* '''multiply''': multiplies resistance value. <br />
* '''apply_to''': a list of damage types; if left out, the ability applies to all types.<br />
* '''active_on''': one of 'defense' or 'offense'; if left out, the ability is active on both.<br />
<br />
=== Extra keys used by the ''[leadership]'' ability ===<br />
<br />
* '''value''': the percentage bonus to damage.<br />
<br />
=== Extra keys used by the ''[illuminates]'' ability ===<br />
<br />
* '''value''': the percentage bonus to lawful units.<br />
* '''max_value''': the maximum percentage bonus given.<br />
* '''min_value''': the minimum percentage bonus given. {{DevFeature1.9}}<br />
<br />
=== Extra keys used by the ''[hides]'' ability ===<br />
<br />
* '''alert''': the displayed text when the unit is discovered. Default "Ambushed!".<br />
<br />
=== Extra tags used by the ''[teleport]'' ability ===<br />
<br />
{{DevFeature1.9}} - before teleport applied simply always to villages owned by the side of the unit.<br />
<br />
* '''[tunnel]''' - a tunnel tag (see [[DirectActionsWML]]) (without the remove key) defining the tunneling source and target hexes, and maybe other conditions. (It automatically applies only to the unit with the ability.) You may use $teleport_unit inside the tunnel tag for filtering purposes.<br />
<br />
Note that this feature has not yet been implemented (even in 1.9) but is a planned release for the future.<br />
<br />
=== Macros for common abilities ===<br />
<br />
* ABILITY_AMBUSH<br />
* ABILITY_CURES<br />
* ABILITY_HEALS<br />
* ABILITY_ILLUMINATES<br />
* ABILITY_LEADERSHIP_LEVEL_1 to ABILITY_LEADERSHIP_LEVEL_5<br />
* ABILITY_NIGHTSTALK<br />
* ABILITY_REGENERATES<br />
* ABILITY_SKIRMISHER<br />
* ABILITY_STEADFAST<br />
* ABILITY_SUBMERGE<br />
* ABILITY_TELEPORT<br />
<br />
== The ''[specials]'' tag ==<br />
<br />
The '''[specials]''' tag goes inside the '''[attack]''' tag. It can contain the following tags:<br />
<br />
* '''[damage]''': modifies the damage of a weapon<br />
* '''[attacks]''': modifies the number of attacks of a weapon<br />
* '''[chance_to_hit]''': modifies the chance to hit of a weapon<br />
* '''[slow]'''<br />
* '''[poison]'''<br />
* '''[stones]''' ('''[petrifies]''' in recent versions.)<br />
* '''[berserk]'''<br />
* '''[firststrike]'''<br />
* '''[drains]'''<br />
* '''[plague]'''<br />
Any other name is valid, but will result in an special that does nothing but report it's there.<br />
<br />
=== Common keys and tags for every weapon special ===<br />
<br />
* '''name''': the name of the special.<br />
* '''name_inactive''': the name of the special when inactive.<br />
* '''description''': the description of the special.<br />
* '''description_inactive''': the description of the special when inactive.<br />
* '''value''': the value to be used. Applies to '''[damage]''', '''[attacks]''', '''[chance_to_hit]''' and '''[berserk]''' (the maximum number of combat rounds).<br />
* '''add''' the number to add to the base value.<br />
* '''multiply''': same as '''value''', except that this multiplies the base value.<br />
* '''cumulative''': if set to 'yes', this special will be cumulative with the base value.<br />
* '''type''': only usable in '''[plague]''', where it defines the unit type to be spawned on kill.<br />
* '''id''': this ability will not be cumulative with other specials using this id.<br />
* '''active_on''': one of '''defense''' or '''offense'''; if left out, the special is active on both.<br />
* '''apply_to''': one of '''self''','''opponent''','''attacker''','''defender''','''both'''. Determines who the effects of this special are applied to.<br />
* '''[filter_adjacent]''': [[StandardUnitFilter]], which takes an extra key '''adjacent''', which is used to specify which adjacent hexes to filter on. '''adjacent''' is a comma seperated list of any combination of these directions: '''n''','''ne''','''se''','''s''','''sw''','''nw'''.<br />
* '''[filter_adjacent_location]''': like [filter_adjacent], except that it filters on the locations rather than the units.<br />
* '''[filter_self]''': the special will only be active if the owner matches this filter.<br />
** '''[filter_weapon]''': a standard weapon filter.<br />
* '''[filter_opponent]''': the special will only be active if the opponent matches this [[StandardUnitFilter]].<br />
** '''[filter_weapon]''': a standard weapon filter.<br />
* '''[filter_attacker]''': the special will only be active if the attacker matches this filter.<br />
** '''[filter_weapon]''': a standard weapon filter.<br />
* '''[filter_defender]''' the special will only be active if the defender matches this filter.<br />
** '''[filter_weapon]''': a standard weapon filter.<br />
* '''[filter_base_value]''': filters on the value before any modifications; uses the keys '''equals''', '''not_equals''', etc.<br />
<br />
=== Macros for common weapon specials ===<br />
<br />
* WEAPON_SPECIAL_BACKSTAB<br />
* WEAPON_SPECIAL_BERSERK<br />
* WEAPON_SPECIAL_CHARGE<br />
* WEAPON_SPECIAL_DRAIN<br />
* WEAPON_SPECIAL_FIRSTSTRIKE<br />
* WEAPON_SPECIAL_MAGICAL<br />
* WEAPON_SPECIAL_MARKSMAN<br />
* WEAPON_SPECIAL_PLAGUE<br />
* WEAPON_SPECIAL_PLAGUE_TYPE TYPE<br />
* WEAPON_SPECIAL_POISON<br />
* WEAPON_SPECIAL_SLOW<br />
* WEAPON_SPECIAL_STONE<br />
* WEAPON_SPECIAL_SWARM<br />
<br />
== See Also ==<br />
<br />
* [[UnitTypeWML]]<br />
* [[SingleUnitWML]]<br />
* [[ReferenceWML]]<br />
<br />
[[Category:WML Reference]]</div>Lord Vilehttps://wiki.wesnoth.org/index.php?title=Template:WML_Tags&diff=39115Template:WML Tags2010-11-27T20:34:10Z<p>Lord Vile: </p>
<hr />
<div>{| class="gallery" style="width:225px;float: right;border: 1px solid #B48648; color:#B48648; font-size: 7pt;margin-left;10px;"<br />
|-<br />
|<br />
<span style="float: right;"><small class="editlink noprint plainlinksneverexpand">[{{SERVER}}{{localurl:Template:WML Tags|action=edit}} edit ]</small></span><br />
'''WML Tags'''<br />
<br />
|-<br />
|''A:'' <br />
[[AbilitiesWML|abilities]],<br />
[[CampaignWML|about]],<br />
[[AdvancedPreferenceWML|advanced_preference]],<br />
[[UnitTypeWML|advancefrom]],<br />
[[UnitTypeWML|advancement]],<br />
[[StatisticalScenarioWML|advances]],<br />
[[AiWML|ai]],<br />
[[DirectActionsWML#.5Ballow_recruit.5D|allow_recruit]],<br />
[[DirectActionsWML#.5Ballow_undo.5D|allow_undo]],<br />
[[ConditionalActionsWML#Meta_Condition_Tags|and]],<br />
[[InterfaceActionsWML|animate_unit]],<br />
[[AnimationWML|animation]],<br />
[[VariablesWML|array]],<br />
[[UnitTypeWML|attack]],<br />
[[AnimationWML|attack_filter]], <br />
[[StatisticalScenarioWML|attacks]],<br />
[[AiWML|avoid]];<br />
|-<br />
|''B:'' <br />
[[UnitTypeWML|base_unit]], [[BinaryPathWML|binary_path]], [[HelpWML|bold]], [[EditorWML|brush]];<br />
|-<br />
|''C:'' <br />
[[CampaignWML#The_.5Bcampaign.5D_tag|campaign]],<br />
[[DirectActionsWML#.5Bcapture_village.5D|capture_village]],<br />
[[ConditionalActionsWML#.5Bswitch.5D|case]],<br />
[[InterfaceActionsWML|chat]],<br />
[[ReplayWML|choose]],<br />
[[PersistenceWML|clear_global_variable]],<br />
[[InternalActionsWML|clear_variable]],<br />
[[InterfaceActionsWML|colour_adjust]],<br />
command([[InterfaceActionsWML|action]], [[ReplayWML|replay]]);<br />
|-<br />
|''D:'' <br />
[[AbilitiesWML|damage]],<br />
[[StatisticalScenarioWML|deaths]],<br />
[[AnimationWML|defend]],<br />
[[StatisticalScenarioWML|defends]],<br />
[[UnitTypeWML|defense]],<br />
[[InterfaceActionsWML|delay]],<br />
[[ReplayWML|destination]],<br />
[[DirectActionsWML#.5Bdisallow_recruit.5D|disallow_recruit]],<br />
[[ConditionalActionsWML#.5Bwhile.5D|do]];<br />
|-<br />
|''E:'' <br />
[[EditorWML|editor_group]],<br />
[[EditorWML|editor_music]], <br />
[[EditorWML|editor_times]],<br />
[[EditorWML|editor_tool_hint]],<br />
[[EffectWML|effect]],<br />
[[ConditionalActionsWML#Conditional_Actions|else]],<br />
[[DirectActionsWML#.5Bendlevel.5D|endlevel]],<br />
end_turn&nbsp;([[DirectActionsWML#.5Bend_turn.5D|action]], [[ReplayWML|replay]]),<br />
[[EraWML|era]],<br />
[[EventWML|event]],<br />
[[ThemeWML|expenses]];<br />
|-<br />
|''F:'' <br />
[[EventWML#.5Bfilter.5D|filter]],<br />
[[FilterWML|filter]],<br />
[[AnimationWML|filter_attack]],<br />
[[EventWML#.5Bfilter_attack.5D|filter_attack]],<br />
[[EventWML#.5Bfilter_condition.5D|filter_condition]],<br />
[[FilterWML|filter_location]],<br />
[[EventWML#.5Bfilter_second.5D|filter_second]],<br />
[[FilterWML|filter_second]],<br />
[[AnimationWML|filter_second_attack]],<br />
[[EventWML#.5Bfilter_second_attack.5D|filter_second_attack]],<br />
[[FilterWML#Filtering_Vision|filter_vision]],<br />
[[StandardUnitFilter|filter_wml]],<br />
[[InternalActionsWML|fire_event]],<br />
[[InterfaceActionsWML|floating_text]],<br />
[[HelpWML|format]],<br />
[[AnimationWML|frame]];<br />
|-<br />
|''G:'' <br />
[[GameConfigWML|game_config]],<br />
[[ScenarioWML|generator]],<br />
[[PersistenceWML|get_global_variable]],<br />
[[DirectActionsWML|gold]],<br />
[[ThemeWML|gold]];<br />
|-<br />
|''H:'' <br />
[[ConditionalActionsWML#Condition_Tags|have_location]],<br />
[[ConditionalActionsWML#Condition_Tags|have_unit]],<br />
[[HelpWML|header]],<br />
[[DirectActionsWML#.5Bheal_unit.5D|heal_unit]],<br />
[[UnitsWML|hide_help]],<br />
[[InterfaceActionsWML|hide_unit]];<br />
|-<br />
|''I:'' <br />
[[ConditionalActionsWML#.5Bif.5D|if]],<br />
[[TimeWML|illuminated_time]],<br />
[[TerrainGraphicsWML|image]],<br />
[[HelpWML|img]],<br />
[[ThemeWML|income]],<br />
[[ReplayWML|init_side]],<br />
[[InternalActionsWML|insert_tag]],<br />
[[InterfaceActionsWML#.5Binspect.5D|inspect]],<br />
[[HelpWML|italic]],<br />
[[InterfaceActionsWML|item]];<br />
|-<br />
|''J:''<br />
[[HelpWML|jump]],<br />
[[InternalActionsWML|join]];<br />
|-<br />
|''K:'' <br />
[[DirectActionsWML#.5Bkill.5D|kill]],<br />
[[StatisticalScenarioWML|killed]];<br />
|-<br />
|''L:'' <br />
label&nbsp;([[InterfaceActionsWML|map]], [[ThemeWML|theme]]),<br />
[[LanguageWML|language]],<br />
[[AiWML|leader_goal]],<br />
[[LuaWML|lua]];<br />
|-<br />
|''M:'' <br />
[[ThemeWML|main_map]],<br />
[[ThemeWML|menu]],<br />
[[InterfaceActionsWML|message]],<br />
[[ThemeWML|mini_map]],<br />
[[AnimationWML|missile_frame]],<br />
[[SingleUnitWML|modifications]],<br />
[[DirectActionsWML#.5Bmodify_side.5D|modify_side]],<br />
[[DirectActionsWML#.5Bmodify_turns.5D|modify_turns]],<br />
[[ReplayWML|move]],<br />
[[DirectActionsWML#.5Bmove_unit.5D|move_unit]],<br />
[[DirectActionsWML#.5Bmodify_ai.5D|modify_ai]],<br />
[[DirectActionsWML#.5Bmodify_unit.5D|modify_unit]],<br />
[[InterfaceActionsWML|move_unit_fake]],<br />
[[UnitTypeWML|movement costs]],<br />
[[UnitsWML|movetype]],<br />
[[ScenarioWML|multiplayer]],<br />
[[EraWML|multiplayer_side]],<br />
[[MusicListWML|music]];<br />
|-<br />
|''N:'' <br />
[[ConditionalActionsWML#Meta_Condition_Tags|not]],<br />
[[FilterWML|not]],<br />
[[ThemeWML|num_units]];<br />
|-<br />
|''O:'' <br />
[[DirectActionsWML#.5Bobject.5D|object]],<br />
[[InterfaceActionsWML|objectives]],<br />
[[InterfaceActionsWML|objective]],<br />
[[ThemeWML|observers]],<br />
[[InterfaceActionsWML|open_help]],<br />
[[InterfaceActionsWML|option]],<br />
[[ConditionalActionsWML#Meta_Condition_Tags|or]];<br />
|-<br />
|''P:'' <br />
[[ThemeWML|panel]], [[IntroWML|part]], [[DirectActionsWML#.5Bpetrify.5D|petrify]], [[DirectActionsWML#.5Bplace_shroud.5D|place_shroud]], [[ThemeWML|position]],<br />
[[InterfaceActionsWML|print]], [[AiWML|protect_location]], [[AiWML|protect_unit]];<br />
|-<br />
|''R:'' <br />
[[UnitsWML|race]], [[ReplayWML|random]], recall&nbsp;([[DirectActionsWML#.5Brecall.5D|action]], <br />
[[ReplayWML|replay]]), [[StatisticalScenarioWML|recalls]],<br />
[[ReplayWML|recruit]], [[StatisticalScenarioWML|recruits]], [[InterfaceActionsWML|redraw]],<br />
[[HelpWML|ref]], [[DirectActionsWML|remove_shroud]], [[InterfaceActionsWML|remove_unit_overlay]],<br />
[[InterfaceActionsWML|removeitem]], [[InterfaceActionsWML|remove_sound_source]], <br />
[[DirectActionsWML#.5Breplace_map.5D|replace_map]], [[DirectActionsWML#.5Breplace_schedule.5D|replace_schedule]], [[SavefileWML|replay]], [[SavefileWML|replay_start]],<br />
[[UnitTypeWML|resistance]], [[ThemeWML|resolution]], [[ReplayWML|results]], [[InternalActionsWML|role]];<br />
|-<br />
|''S:'' <br />
[[SavefileWML|save]], [[ScenarioWML|scenario]],<br />
[[InterfaceActionsWML|scroll]], [[InterfaceActionsWML|scroll_to]],<br />
[[InterfaceActionsWML|scroll_to_unit]], [[AnimationWML|secondary_attack_filter]], [[AnimationWML|secondary_unit_filter]], [[HelpWML|section]], [[InterfaceActionsWML|select_unit]], [[PersistenceWML|set_global_variable]],<br />
[[InterfaceActionsWML#.5Bset_menu_item.5D_.28SVN_trunk_only.29|set_menu_item]], [[DirectActionsWML#.5Bset_recruit.5D|set_recruit]],<br />
[[InternalActionsWML|set_variable]], [[InternalActionsWML|set_variables]], [[InterfaceActionsWML|show_objectives]],<br />
[[SideWML|side]], [[ThemeWML|side_playing]], [[SavefileWML|snapshot]],<br />
[[InterfaceActionsWML|sound]], [[InterfaceActionsWML|sound_source]], [[ReplayWML|source]], [[EventWML|special_filter]], [[EventWML|special_filter_second]],<br />
[[InternalActionsWML|split]],<br />
[[StatisticalScenarioWML#The_.5Bstatistics.5D_tag|statistics]],<br />
status([[SingleUnitWML|single unit]], [[ThemeWML|theme]]), [[InternalActionsWML#.5Bstore_gold.5D|store_gold]], [[InternalActionsWML#.5Bstore_locations.5D|store_locations]],<br />
[[InternalActionsWML#.5Bstore_map_dimensions.5D|store_map_dimensions]],<br />
[[InternalActionsWML#.5Bstore_side.5D|store_side]], [[InternalActionsWML#.5Bstore_starting_location.5D|store_starting_location]], [[InternalActionsWML#.5Bstore_time_of_day.5D|store_time_of_day]], [[InternalActionsWML#.5Bstore_unit.5D|store_unit]], [[InternalActionsWML#.5Bstore_villages.5D|store_villages]],[[IntroWML|story]],<br />
[[ConditionalActionsWML#.5Bswitch.5D|switch]];<br />
|-<br />
|''T:'' <br />
[[AiWML|target]],<br />
[[StatisticalScenarioWML#The_.5Bteam.5D_tag|team]],<br />
teleport ([[DirectActionsWML#.5Bteleport.5D|action]], [[AbilitiesWML|ability]]), [[AnimationWML|teleport_anim]],<br />
terrain([[TerrainWML|define]], [[DirectActionsWML#.5Bterrain.5D|create]]), [[TerrainGraphicsWML|terrain_graphics]], [[TerrainMaskWML|terrain_mask]], [[ScenarioWML#Test_scenario|test]],<br />
[[WesCamp|textdomain]], [[InterfaceActionsWML|text_input]], [[ThemeWML|theme]], [[ConditionalActionsWML#.5Bif.5D|then]],<br />
[[TerrainGraphicsWML|tile]], [[TimeWML|time]], time_area&nbsp;([[DirectActionsWML#.5Btime_area.5D|action]], [[ScenarioWML|scenario]]), <br />
[[ThemeWML|time_of_day]],<br />
[[HelpWML|topic]], [[HelpWML|toplevel]], [[SingleUnitWML|trait]], [[DirectActionsWML#.5Btunnel.5D|tunnel]] [[ThemeWML|turn]], [[ScenarioWML|tutorial]];<br />
|-<br />
|''U:'' <br />
[[InterfaceActionsWML|unhide_unit]], [[SingleUnitWML|unit]],<br />
[[ThemeWML|unit_abilities]], [[ThemeWML|unit_alignment]], [[ThemeWML|unit_description]], [[AnimationWML|unit_filter]], [[ThemeWML|unit_hp]], [[ThemeWML|unit_image]], [[ThemeWML|unit_level]], [[ThemeWML|unit_moves]],<br />
[[InterfaceActionsWML|unit_overlay]], [[ThemeWML|unit_profile]], [[ThemeWML|unit_status]],<br />
[[ThemeWML|unit_traits]], [[UnitTypeWML|unit_type]], [[ThemeWML|unit_weapons]], [[ThemeWML|unit_xp]],<br />
[[UnitsWML|units]], [[DirectActionsWML#.5Bunpetrify.5D|unpetrify]], [[DirectActionsWML#.5Bunstore_unit.5D|unstore_unit]], [[ThemeWML|upkeep]];<br />
|-<br />
| ''V:'' <br />
[[ConditionalActionsWML#Condition_Tags|variable]],<br />
[[VariablesWML|variables]],<br />
[[SideWML|village]],<br />
[[ThemeWML|villages]];<br />
|-<br />
| ''W:'' <br />
[[ConditionalActionsWML#.5Bwhile.5D|while]],<br />
[[InterfaceActionsWML|wml_message]];<br />
|}<br />
<br />
<noinclude>An box with all the WML tags, each linking to the page they are described in. This box should be included in each of the WML reference pages.</noinclude></div>Lord Vilehttps://wiki.wesnoth.org/index.php?title=Template:WML_Tags&diff=39114Template:WML Tags2010-11-27T20:33:42Z<p>Lord Vile: </p>
<hr />
<div>{| class="gallery" style="width:225px;float: right;border: 1px solid #B48648; color:#B48648; font-size: 7pt;margin-left;10px;"<br />
|-<br />
|<br />
<span style="float: right;"><small class="editlink noprint plainlinksneverexpand">[{{SERVER}}{{localurl:Template:WML Tags|action=edit}} edit ]</small></span><br />
'''WML Tags'''<br />
<br />
|-<br />
|''A:'' <br />
[[AbilitiesWML|abilities]],<br />
[[CampaignWML|about]],<br />
[[AdvancedPreferenceWML|advanced_preference]],<br />
[[UnitTypeWML|advancefrom]],<br />
[[UnitTypeWML|advancement]],<br />
[[StatisticalScenarioWML|advances]],<br />
[[AiWML|ai]],<br />
[[DirectActionsWML#.5Ballow_recruit.5D|allow_recruit]],<br />
[[DirectActionsWML#.5Ballow_undo.5D|allow_undo]],<br />
[[ConditionalActionsWML#Meta_Condition_Tags|and]],<br />
[[InterfaceActionsWML|animate_unit]],<br />
[[AnimationWML|animation]],<br />
[[VariablesWML|array]],<br />
[[UnitTypeWML|attack]],<br />
[[AnimationWML|attack_filter]], <br />
[[StatisticalScenarioWML|attacks]],<br />
[[AiWML|avoid]];<br />
|-<br />
|''B:'' <br />
[[UnitTypeWML|base_unit]], [[BinaryPathWML|binary_path]], [[HelpWML|bold]], [[EditorWML|brush]];<br />
|-<br />
|''C:'' <br />
[[CampaignWML#The_.5Bcampaign.5D_tag|campaign]],<br />
[[DirectActionsWML#.5Bcapture_village.5D|capture_village]],<br />
[[ConditionalActionsWML#.5Bswitch.5D|case]],<br />
[[InterfaceActionsWML|chat]],<br />
[[ReplayWML|choose]],<br />
[[PersistenceWML|clear_global_variable]],<br />
[[InternalActionsWML|clear_variable]],<br />
[[InterfaceActionsWML|colour_adjust]],<br />
command([[InterfaceActionsWML|action]], [[ReplayWML|replay]]);<br />
|-<br />
|''D:'' <br />
[[AbilitiesWML|damage]],<br />
[[StatisticalScenarioWML|deaths]],<br />
[[AnimationWML|defend]],<br />
[[StatisticalScenarioWML|defends]],<br />
[[UnitTypeWML|defense]],<br />
[[InterfaceActionsWML|delay]],<br />
[[ReplayWML|destination]],<br />
[[DirectActionsWML#.5Bdisallow_recruit.5D|disallow_recruit]],<br />
[[ConditionalActionsWML#.5Bwhile.5D|do]];<br />
|-<br />
|''E:'' <br />
[[EditorWML|editor_group]],<br />
[[EditorWML|editor_music]], <br />
[[EditorWML|editor_times]],<br />
[[EditorWML|editor_tool_hint]],<br />
[[EffectWML|effect]],<br />
[[ConditionalActionsWML#Conditional_Actions|else]],<br />
[[DirectActionsWML#.5Bendlevel.5D|endlevel]],<br />
end_turn&nbsp;([[DirectActionsWML#.5Bend_turn.5D|action]], [[ReplayWML|replay]]),<br />
[[EraWML|era]],<br />
[[EventWML|event]],<br />
[[ThemeWML|expenses]];<br />
|-<br />
|''F:'' <br />
[[EventWML#.5Bfilter.5D|filter]],<br />
[[FilterWML|filter]],<br />
[[AnimationWML|filter_attack]],<br />
[[EventWML#.5Bfilter_attack.5D|filter_attack]],<br />
[[EventWML#.5Bfilter_condition.5D|filter_condition]],<br />
[[FilterWML|filter_location]],<br />
[[EventWML#.5Bfilter_second.5D|filter_second]],<br />
[[FilterWML|filter_second]],<br />
[[AnimationWML|filter_second_attack]],<br />
[[EventWML#.5Bfilter_second_attack.5D|filter_second_attack]],<br />
[[FilterWML#Filtering_Vision|filter_vision]],<br />
[[StandardUnitFilter|filter_wml]],<br />
[[InternalActionsWML|fire_event]],<br />
[[InterfaceActionsWML|floating_text]],<br />
[[HelpWML|format]],<br />
[[AnimationWML|frame]];<br />
|-<br />
|''G:'' <br />
[[GameConfigWML|game_config]],<br />
[[ScenarioWML|generator]],<br />
[[PersistenceWML|get_global_variable]],<br />
[[DirectActionsWML|gold]],<br />
[[ThemeWML|gold]];<br />
|-<br />
|''H:'' <br />
[[ConditionalActionsWML#Condition_Tags|have_location]],<br />
[[ConditionalActionsWML#Condition_Tags|have_unit]],<br />
[[HelpWML|header]],<br />
[[DirectActionsWML#.5Bheal_unit.5D|heal_unit]],<br />
[[UnitsWML|hide_help]],<br />
[[InterfaceActionsWML|hide_unit]];<br />
|-<br />
|''I:'' <br />
[[ConditionalActionsWML#.5Bif.5D|if]],<br />
[[TimeWML|illuminated_time]],<br />
[[TerrainGraphicsWML|image]],<br />
[[HelpWML|img]],<br />
[[ThemeWML|income]],<br />
[[ReplayWML|init_side]],<br />
[[InternalActionsWML|insert_tag]],<br />
[[InterfaceActionsWML#.5Binspect.5D|inspect]],<br />
[[HelpWML|italic]],<br />
[[InterfaceActionsWML|item]];<br />
|-<br />
|''J:''<br />
[[HelpWML|jump]],<br />
[[InternalActionsWML|join]];<br />
|-<br />
|''K:'' <br />
[[DirectActionsWML#.5Bkill.5D|kill]],<br />
[[StatisticalScenarioWML|killed]];<br />
|-<br />
|''L:'' <br />
label&nbsp;([[InterfaceActionsWML|map]], [[ThemeWML|theme]]),<br />
[[LanguageWML|language]],<br />
[[AiWML|leader_goal]],<br />
[[LuaWML|lua]];<br />
|-<br />
|''M:'' <br />
[[ThemeWML|main_map]],<br />
[[ThemeWML|menu]],<br />
[[InterfaceActionsWML|message]],<br />
[[ThemeWML|mini_map]],<br />
[[AnimationWML|missile_frame]],<br />
[[SingleUnitWML|modifications]],<br />
[[DirectActionsWML#.5Bmodify_side.5D|modify_side]],<br />
[[DirectActionsWML#.5Bmodify_turns.5D|modify_turns]],<br />
[[ReplayWML|move]],<br />
[[DirectActionsWML#.5Bmove_unit.5D|move_unit]],<br />
[[DirectActionsWML#.5Bmodify_ai.5D|modify_ai]],<br />
[[DirectActionsWML#.5Bmodify_unit.5D|modify_unit]],<br />
[[InterfaceActionsWML|move_unit_fake]],<br />
[[UnitTypeWML|movement costs]],<br />
[[UnitsWML|movetype]],<br />
[[ScenarioWML|multiplayer]],<br />
[[EraWML|multiplayer_side]],<br />
[[MusicListWML|music]];<br />
|-<br />
|''N:'' <br />
[[ConditionalActionsWML#Meta_Condition_Tags|not]],<br />
[[FilterWML|not]],<br />
[[ThemeWML|num_units]];<br />
|-<br />
|''O:'' <br />
[[DirectActionsWML#.5Bobject.5D|object]],<br />
[[InterfaceActionsWML|objectives]],<br />
[[InterfaceActionsWML|objective]],<br />
[[ThemeWML|observers]],<br />
[[InterfaceActionsWML|open_help]],<br />
[[InterfaceActionsWML|option]],<br />
[[ConditionalActionsWML#Meta_Condition_Tags|or]];<br />
|-<br />
|''P:'' <br />
[[ThemeWML|panel]], [[IntroWML|part]], [[DirectActionsWML#.5Bpetrify.5D|petrify]], [[DirectActionsWML#.5Bplace_shroud.5D|place_shroud]], [[ThemeWML|position]],<br />
[[InterfaceActionsWML|print]], [[AiWML|protect_location]], [[AiWML|protect_unit]];<br />
|-<br />
|''R:'' <br />
[[UnitsWML|race]], [[ReplayWML|random]], recall&nbsp;([[DirectActionsWML#.5Brecall.5D|action]], <br />
[[ReplayWML|replay]]), [[StatisticalScenarioWML|recalls]],<br />
[[ReplayWML|recruit]], [[StatisticalScenarioWML|recruits]], [[InterfaceActionsWML|redraw]],<br />
[[HelpWML|ref]], [[DirectActionsWML|remove_shroud]], [[InterfaceActionsWML|remove_unit_overlay]],<br />
[[InterfaceActionsWML|removeitem]], [[InterfaceActionsWML|remove_sound_source]], <br />
[[DirectActionsWML#.5Breplace_map.5D|replace_map]], [[DirectActionsWML#.5Breplace_schedule.5D|replace_schedule]], [[SavefileWML|replay]], [[SavefileWML|replay_start]],<br />
[[UnitTypeWML|resistance]], [[ThemeWML|resolution]], [[ReplayWML|results]], [[InternalActionsWML|role]];<br />
|-<br />
|''S:'' <br />
[[SavefileWML|save]], [[ScenarioWML|scenario]],<br />
[[InterfaceActionsWML|scroll]], [[InterfaceActionsWML|scroll_to]],<br />
[[InterfaceActionsWML|scroll_to_unit]], [[AnimationWML|secondary_attack_filter]], [[AnimationWML|secondary_unit_filter]], [[HelpWML|section]], [[InterfaceActionsWML|select_unit]], [[PersistenceWML|set_global_variable]],<br />
[[InterfaceActionsWML#.5Bset_menu_item.5D_.28SVN_trunk_only.29|set_menu_item]], [[DirectActionsWML#.5Bset_recruit.5D|set_recruit]],<br />
[[InternalActionsWML|set_variable]], [[InternalActionsWML|set_variables]], [[InterfaceActionsWML|show_objectives]],<br />
[[SideWML|side]], [[ThemeWML|side_playing]], [[SavefileWML|snapshot]],<br />
[[InterfaceActionsWML|sound]], [[InterfaceActionsWML|sound_source]], [[ReplayWML|source]], [[EventWML|special_filter]], [[EventWML|special_filter_second]],<br />
[[InternalActionsWML|split]],<br />
[[StatisticalScenarioWML#The_.5Bstatistics.5D_tag|statistics]],<br />
status([[SingleUnitWML|single unit]], [[ThemeWML|theme]]), [[InternalActionsWML#.5Bstore_gold.5D|store_gold]], [[InternalActionsWML#.5Bstore_locations.5D|store_locations]],<br />
[[InternalActionsWML#.5Bstore_map_dimensions.5D|store_map_dimensions]],<br />
[[InternalActionsWML#.5Bstore_side.5D|store_side]], [[InternalActionsWML#.5Bstore_starting_location.5D|store_starting_location]], [[InternalActionsWML#.5Bstore_time_of_day.5D|store_time_of_day]], [[InternalActionsWML#.5Bstore_unit.5D|store_unit]], [[InternalActionsWML#.5Bstore_villages.5D|store_villages]];[[IntroWML|story]],<br />
[[ConditionalActionsWML#.5Bswitch.5D|switch]];<br />
|-<br />
|''T:'' <br />
[[AiWML|target]],<br />
[[StatisticalScenarioWML#The_.5Bteam.5D_tag|team]],<br />
teleport ([[DirectActionsWML#.5Bteleport.5D|action]], [[AbilitiesWML|ability]]), [[AnimationWML|teleport_anim]],<br />
terrain([[TerrainWML|define]], [[DirectActionsWML#.5Bterrain.5D|create]]), [[TerrainGraphicsWML|terrain_graphics]], [[TerrainMaskWML|terrain_mask]], [[ScenarioWML#Test_scenario|test]],<br />
[[WesCamp|textdomain]], [[InterfaceActionsWML|text_input]], [[ThemeWML|theme]], [[ConditionalActionsWML#.5Bif.5D|then]],<br />
[[TerrainGraphicsWML|tile]], [[TimeWML|time]], time_area&nbsp;([[DirectActionsWML#.5Btime_area.5D|action]], [[ScenarioWML|scenario]]), <br />
[[ThemeWML|time_of_day]],<br />
[[HelpWML|topic]], [[HelpWML|toplevel]], [[SingleUnitWML|trait]], [[DirectActionsWML#.5Btunnel.5D|tunnel]] [[ThemeWML|turn]], [[ScenarioWML|tutorial]];<br />
|-<br />
|''U:'' <br />
[[InterfaceActionsWML|unhide_unit]], [[SingleUnitWML|unit]],<br />
[[ThemeWML|unit_abilities]], [[ThemeWML|unit_alignment]], [[ThemeWML|unit_description]], [[AnimationWML|unit_filter]], [[ThemeWML|unit_hp]], [[ThemeWML|unit_image]], [[ThemeWML|unit_level]], [[ThemeWML|unit_moves]],<br />
[[InterfaceActionsWML|unit_overlay]], [[ThemeWML|unit_profile]], [[ThemeWML|unit_status]],<br />
[[ThemeWML|unit_traits]], [[UnitTypeWML|unit_type]], [[ThemeWML|unit_weapons]], [[ThemeWML|unit_xp]],<br />
[[UnitsWML|units]], [[DirectActionsWML#.5Bunpetrify.5D|unpetrify]], [[DirectActionsWML#.5Bunstore_unit.5D|unstore_unit]], [[ThemeWML|upkeep]];<br />
|-<br />
| ''V:'' <br />
[[ConditionalActionsWML#Condition_Tags|variable]],<br />
[[VariablesWML|variables]],<br />
[[SideWML|village]],<br />
[[ThemeWML|villages]];<br />
|-<br />
| ''W:'' <br />
[[ConditionalActionsWML#.5Bwhile.5D|while]],<br />
[[InterfaceActionsWML|wml_message]];<br />
|}<br />
<br />
<noinclude>An box with all the WML tags, each linking to the page they are described in. This box should be included in each of the WML reference pages.</noinclude></div>Lord Vilehttps://wiki.wesnoth.org/index.php?title=InterfaceActionsWML&diff=38734InterfaceActionsWML2010-10-23T14:22:52Z<p>Lord Vile: /* [message] */</p>
<hr />
<div>{{WML Tags}}<br />
== Interface actions ==<br />
<br />
Interface actions are actions that do not have an effect on gameplay;<br />
instead, they show something to the player. The main interface tags<br />
are '''[message]''' and '''[objectives]''', but several other tags affect<br />
the interface also.<br />
<br />
== [inspect] ==<br />
This user interface action only works in debug mode. It displays the gamestate inspector dialog (the same one which can be brought up with '':inspect'' ), which can be used to inspect the values of WML variables, AI configuration, recall lists, and more.<br />
<br />
* '''name''': optional attribute to specify the name of this gamestate inspector dialog. It is just a label to help differentiate between different invocations of gamestate inspector dialog.<br />
<br />
== [message] ==<br />
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.<br />
<br />
The following key/tags are accepted for [message]:<br />
* [[StandardUnitFilter]]: The unit whose profile and name are displayed. Do not use a [filter] tag. If no unit matching this filter is found, the message is not displayed (The unit has probably been killed).<br>'''[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.<br />
<br />
* '''speaker''': an alternative to standard unit filter. You may specify as the value of the speaker attribute a unit id or any of the following special values:<br />
** '''narrator''': the dialog box is displayed without a caption for the unit speaking or a unit image<br />
** '''unit''': the primary unit for the event is speaking<br />
** '''second_unit''': the secondary unit for the event is speaking<br />
<br />
* '''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 ''' " ''')<br />
* '''[show_if]''': if present then this message will only be displayed if the conditional statement in this tag is passed (see [[ConditionalActionsWML#Condition_Tags|ConditionalActionsWML]])<br />
* '''side_for''': (default: all sides) comma-separated list of sides for who message is shown.<br />
* '''image''': (default: profile image of speaker) the image to display next to the message.<br />
* '''caption''': (default: name of speaker) the caption to display beside the image. Name to be displayed. Note: use a translation mark to avoid wmllint errors.<br />
* '''scroll''': {{DevFeature1.9}} Boolean specifying whether the game view should scroll to the speaking unit. Defaults to ''yes''.<br />
* '''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.<br />
* '''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.<br />
* '''[option]''': No '''[option]''' elements have to be used. If '''[option]''' elements are present, then each option will be displayed in a menu for the user to select one option.<br />
** '''message''': (translatable) the text displayed for the option (see [[DescriptionWML]])<br />
** '''[show_if]''': if present then this option will only be displayed if the conditional statement in this tag is passed (see [[InternalActionsWML]])<br />
** '''[command]''': an element containing actions which are executed if the option is selected.<br />
* '''[text_input]''': there can be only one [text_input] tag. this adds a text input field to the message.<br />
** '''variable''': the variable that the user's input will be written to<br />
** '''label''': a text label to the left of the input field<br />
** '''max_length''': the maximum number of characters that may be typed into the field<br />
** '''text''': text that is written into the field in the beginning<br />
* Check [[EventWML#Multiplayer_safety]] to find out in which events you can safely use '''[option]''' and '''[text_input]''' without causing OOS.<br />
<br />
=== Formatting ===<br />
In 1.8, [http://library.gnome.org/devel/pango/unstable/PangoMarkupFormat.html Pango markup formatting codes] have been adopted for '''[message]'''. These can also be used in unit names (user_description), objectives, and such. Note that you'll probably want to use a single quote ' instead of a double quote " as double quotes cannot be escaped, otherwise the string will appear fragmented and you may also encounter errors. Running wmllint on your campaign will up-convert it, warning you about unusual cases you must fix by hand.<br />
<br />
For example, if you wanted to write "You are victorious!" in large, italic, gold letters, you might write it this way:<br />
<br />
<nowiki><span color='#BCB088' size='large' font-style='italic'>You are victorious!</span></nowiki><br />
<br />
<br />
These are the codes taken from the Pango markup formatting guide:<br />
<br />
*'''font''', '''font_desc''': A font description string, such as "Sans Italic 12".<br />
*'''font_family''', '''face''': A font family name.<br />
*'''font_size''', '''size''': Font size in 1024ths of a point, or one of the absolute sizes 'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large', or one of the relative sizes 'smaller' or 'larger'.<br />
*'''font_style''', '''style''': One of 'normal', 'oblique', 'italic'.<br />
*'''font_weight''', '''weight''': One of 'ultralight', 'light', 'normal', 'bold', 'ultrabold', 'heavy', or a numeric weight.<br />
*'''font_variant''', '''variant''': One of 'normal' or 'smallcaps'.<br />
*'''font_stretch''', '''stretch''': One of 'ultracondensed', 'extracondensed', 'condensed', 'semicondensed', 'normal', 'semiexpanded', 'expanded', 'extraexpanded', 'ultraexpanded'.<br />
*'''foreground''', '''fgcolor''', '''color''': An RGB color specification such as '#00FF00' or a color name such as 'red'.<br />
*'''background, bgcolor''': An RGB color specification such as '#00FF00' or a color name such as 'red'.<br />
*'''underline''': One of 'none', 'single', 'double', 'low', 'error'.<br />
*'''underline_color''': The color of underlines; an RGB color specification such as '#00FF00' or a color name such as 'red'.<br />
*'''rise''': Vertical displacement, in 10000ths of an em. Can be negative for subscript, positive for superscript.<br />
*'''strikethrough''': 'true' or 'false' whether to strike through the text.<br />
*'''strikethrough_color''': The color of strikethrough lines; an RGB color specification such as '#00FF00' or a color name such as 'red'<br />
*'''fallback''': 'true' or 'false' whether to enable fallback. If disabled, then characters will only be used from the closest matching font on the system. No fallback will be done to other fonts on the system that might contain the characters in the text. Fallback is enabled by default. Most applications should not disable fallback.<br />
*'''letter_spacing''': Inter-letter spacing in 1024ths of a point.<br />
*'''gravity''': One of 'south', 'east', 'north', 'west', 'auto'.<br />
*'''gravity_hint''': One of 'natural', 'strong', 'line'.<br />
<br />
<br />
In 1.6, Wesnoth uses older text formatting options<br />
* A tilde (~) as the first character causes the line to be boldfaced.<br />
* An at symbol (@) as the first character causes the line to be green, as done with victory conditions.<br />
* A pound symbol (#) as the first character causes the line to be red, as done with defeat conditions.<br />
* An asterisk (*) as the first character causes the line to be bigger.<br />
* A backquote (`) as the first character causes the line to be smaller.<br />
* If used, the caption key text is boldfaced.<br />
* 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=_"<255,0,0>Red!"''<br />
<br />
== [objectives] ==<br />
The other tag used for plot development is '''[objectives]'''.<br />
The '''[objectives]''' tag overwrites any previously set objectives,<br />
and displays text which should describe the objectives of the scenario.<br />
Scenario objectives are displayed on the player's first turn after the tag is used,<br />
or as part of the event if it triggers during that player's turn.<br />
Objectives can also be accessed at any time in a scenario using the<br />
"Scenario Objectives" game menu option, making this tag useful for<br />
scenario-specific information that the player may need to refer to during play.<br />
<br />
This tag renders the ''objectives'' attribute of [scenario] obsolete (see ''objectives'', [[ScenarioWML]]).<br />
Instead of using ''objectives'', use '''[objectives]''' to set scenario objectives inside a prestart event.<br />
It can also be used to overwrite the starting objectives mid-scenario.<br />
<br />
Attributes of '''[objectives]''':<br />
* '''side''': Default '0'. The side to set the objectives for. A value of 0 sets objectives for all sides.<br />
* '''summary''': Displayed first in the objectives text, this should describe the basic objective for the overall scenario. Can be omitted.<br />
* '''note''': Displayed last in the objectives text, this is sometimes used for hints or additional information. Can be omitted.<br />
* '''victory_string''': Default ' _ "Victory:"', this text precedes the victory objectives.<br />
* '''defeat_string''': Default ' _ "Defeat:"', this text precedes the defeat objectives.<br />
* '''gold_carryover_string''' {{DevFeature1.9}}: Default ' _ "Gold carryover:"', this text precedes the gold carryover information.<br />
* '''notes_string''' {{DevFeature1.9}}: Default ' _ "Notes:"', this text precedes the notes.<br />
* '''silent''': Default: not present. If set to "yes", the objectives are silently changed. Else, they will be shown to the user when appropriate.<br />
<br />
Tags of '''[objectives]''':<br />
* '''[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.<br />
** '''description''': text for the specific win or loss condition.<br />
** '''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'')<br />
** '''[show_if]''': A condition that disables the objective if it doesn't hold. Conditional objectives are refreshed at '''[show_objectives]''' time only. {{DevFeature}}<br />
* '''[gold_carryover]''' {{DevFeature1.9}}: describes how the gold carryover works in this scenario. This is intended to be a more convenient way of displaying carryover information than using the note= key in [objectives].<br />
** '''bonus''' (boolean): whether an early finish bonus is granted. If omitted, early finish bonus is not mentioned.<br />
** '''carryover_percentage''': the amount of carryover gold. If omitted, the amount is not mentioned.<br />
* '''[note]''' {{DevFeature1.9}}: describes a note, usually used for hints or additional information. This is an easier way of adding several notes than concatenating them together into a single string to use with the ''note='' key.<br />
** '''description''': the text of the note.<br />
<br />
=== Macros ===<br />
There are a few predefined macros for Objectives that you can use to shorten the code: [http://www.wesnoth.org/macro-reference.xhtml#SET_OBJECTIVES SET_OBJECTIVES], [http://www.wesnoth.org/macro-reference.xhtml#VICTORY_CONDITION VICTORY_CONDITION], and [http://www.wesnoth.org/macro-reference.xhtml#DEFEAT_CONDITION DEFEAT_CONDITION]. Follow the links for each one to see complete syntax and example usage.<br />
<br />
== [set_menu_item] ==<br />
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.<br />
<br />
'''Note:''' Due to limitations in portable devices where there are no scroll bars for context menus, there is a hard-coded limit of 7 custom WML menu items. If you really need to have more than 7 menu items, try combining some of them in a submenu.<br />
<br />
* '''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.<br />
* '''description''': the in-game text that will appear for this item in the menu.<br />
* '''image''': the image to display next to this item.<br />
* '''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.<br />
* '''[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.<br />
* '''[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.<br />
* '''[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.<br />
<br />
== Other interface tags ==<br />
<br />
The following tags are also action tags:<br />
* '''[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. <tt>''('''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))''</tt><br />
** '''x''', '''y''': the location to place the item.<br />
** '''image''': the image (in ''images/'' as .png) to place on the hex.<br />
** '''halo''': an image to place centered on the hex. Use this instead of ''image'' if the image is bigger than the hex or if you want to animate an image. ''Example (where the integer after the colon is the duration of each frame): halo=scenery/fire1.png:100,scenery/fire2.png:100,scenery/fire3.png:100,scenery/fire4.png:100,scenery/fire5.png:100,scenery/fire6.png:100,scenery/fire7.png:100,scenery/fire8.png:100''<br />
** '''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.<br />
** '''visible_in_fog''': whether the item should be visible through fog or not. Default yes.<br />
* '''[removeitem]''': removes any graphical items on a given hex<br />
** '''x''', '''y''': the hex to remove items off<br />
** '''image''' if specified, only removes the given image item (This image name must include any [[ImagePathFunctionWML|image path functions]] appended to the original image name.)<br />
* '''[print]''': displays a message across the screen. The message will disappear after a certain time.<br />
** '''text''': (translatable) the text to display.<br />
** '''size''': (default=12) the pointsize of the font to use<br />
** '''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.<br />
** '''red''', '''green''', '''blue''': (default=0,0,0) the color to display the text in. Values vary from 0-255.<br />
* '''[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.<br />
** '''type''': the type of the unit whose image to use<br />
** '''x''': a comma-separated list of x locations to move along<br />
** '''y''': a comma-separated list of y locations to move along (x and y values are matched pairs)<br />
** '''side''': the side of the fake unit, used for team-coloring the fake unit<br />
** '''gender''': the gender of the fake unit. Example: gender=female<br />
** '''variation''': the variation of the fake unit. Example: variation=undead<br />
* '''[move_units_fake]''': {{DevFeature1.9}} moves multiple images of units along paths on the map. These units are moved in lockstep.<br />
** '''[fake_unit]''': A fake unit to move<br />
*** '''type''': the type of unit whose image to use<br />
*** '''x''': a comma-separated list of x locations to move along<br />
*** '''y''': a comma-separated list of y locations to move along (x and y values are matched pairs)<br />
*** '''side''': the side of the fake unit, used for team-coloring the fake unit<br />
*** '''skip_steps''': the number of steps to skip before this unit starts moving<br />
* '''[hide_unit]''': temporarily prevents the engine from displaying the given unit. The unit does not become invisible, as it would be with the '''[hides]''' ability; it is still the same plain unit, but without an image. Useful in conjunction with '''[move_unit_fake]''': to move a leader unit into position on-screen. Each '''[hide_unit]''' tag only hides one unit.<br />
** '''x''', '''y''': location of the unit to be hidden. (NOT a standard unit filter! Just x and y.)<br />
** {{DevFeature1.9}}: '''[hide_unit]''' accepts a [[StandardUnitFilter]] as argument and can disable several units at once.<br />
* '''[unhide_unit]''': stops the currently hidden units from being hidden.<br />
** {{DevFeature1.9}}: '''[unhide_unit]''' accepts a [[StandardUnitFilter]] as argument.<br />
* '''[scroll]''': Scroll a certain number of pixels in a given direction. Useful for earthquake/shaking effects.<br />
** '''x''', '''y''': the number of pixels to scroll along the x and y axis<br />
* '''[scroll_to]''': Scroll to a given hex<br />
** '''x''', '''y''': the hex to scroll to<br />
** '''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.<br />
* '''[scroll_to_unit]''' Scroll to a given unit<br />
** [[StandardUnitFilter]]<br />
** '''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.<br />
* '''[select_unit]''': {{DevFeature1.9}} Selects a given unit<br />
** [[StandardUnitFilter]]<br />
** '''fire_event''': whether a ''select'' event should be triggered or not (def. ''no'').<br />
** '''hilight_hex''': whether the unit's current hex should be highlighted (def. ''yes'').<br />
* '''[sound]''': Plays a sound<br />
** '''name''': the filename of the sound to play (in ''sounds/'' as .wav or .ogg)<br />
** '''repeat''': repeats the sound for a specified additional number of times (default=0)<br />
* '''[sound_source]''': Creates a sound source. "Sound sources" is a general name for a mechanism which makes possible for map elements to emit sounds according to some rules, where "map elements" can be specific locations or terrain types. For now, only sound sources tied to locations are supported.<br />
** '''id''': a unique identification key of the sound source<br />
** '''sounds''': a list of comma separated, randomly played sounds associated with the sound source<br />
** '''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<br />
** '''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)<br />
** '''check_fogged''': possible values "true" and "false" - if true the source will not play if its locations are fogged<br />
** '''check_shrouded''': {{DevFeature}} possible values "true" and "false" - if true the source will not play if its locations are shrouded<br />
** '''x,y''': similar to x,y as found in a [[StandardLocationFilter]], these are the locations associated with the sound source<br />
** '''fade_range''' (default = 3): distance in hexes that determines a "circular" area around the one specified by '''full_range''' where sound volume fades out linearly<br />
** '''full_range''' (default = 14): distance in hexes that determines a "circular" area where source plays with full volume, relative to screen center<br />
** '''loop''': number of times a sound sample should be looped if it stays visible. -1 means infinite (~65000)<br />
* '''[remove_sound_source]''': Removes a previously defined sound source.<br />
** '''id''': the identification key of the sound source to remove<br />
* '''[music]''': Switches to playing different music<br />
** '''name''': the filename of the music to play (in ''music/'' as .ogg)<br />
** see [[MusicListWML]] for the correct syntax<br />
* '''[volume]''': {{DevFeature1.9}} Changes the game volume to a percent of the preferences volume for the game being played. Values can go from 0 to 100: <br />
** '''music''': Changes the music volume.<br />
** '''sound''': Changes the sound volume.<br />
* '''[colour_adjust]''': tints the color of the screen. {{DevFeature1.9}}: now named '''[color_adjust]'''.<br />
** '''red''', '''green''', '''blue''': values from -255 to 255, the amount to tint by for each color<br />
* '''[delay]''': pauses the game<br />
** '''time''': the time to pause in milliseconds<br />
* '''[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).<br />
** '''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).<br />
* '''[unit_overlay]''': sets an image that will be drawn over a particular unit, and follow it around<br />
** '''x''', '''y''': the location of the unit to overlay on<br />
** '''image''': the image to place on the unit<br />
** {{DevFeature1.9}}: '''[unit_overlay]''' accepts a [[StandardUnitFilter]] as argument<br />
* '''[remove_unit_overlay]''': removes a particular overlayed image from a unit<br />
** '''x''', '''y''': the location of the unit to remove an overlay from<br />
** '''image''': the image to remove from the unit<br />
** {{DevFeature1.9}}: '''[remove_unit_overlay]''' accepts a [[StandardUnitFilter]] as argument<br />
* '''[animate_unit]''': Uses an animation of a unit to animate it on screen (if the unit has the corresponding animation).<br />
** '''flag''': The key to find the custom animation in the unit description (see the '''[extra_anim]''' description in [[AnimationWML]]). Standard animations can be triggered with the following keywords: ''leading recruited standing idling levelin levelout healing healed poisoned movement defend attack death victory pre_teleport post_teleport''<br />
** '''[filter]''' with a [[StandardUnitFilter]] as argument, 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.<br />
** '''[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. Takes a weapon filter as argument, see [[FilterWML]].<br />
** '''[secondary_attack]''': Similar to '''[primary_attack]'''. May be needed to trigger a defense animation correctly, if there are more than one animations available for the defending unit.<br />
** '''hits''': yes/no: which according variation of a attack/defense animation shall be chosen (required)<br />
** '''text''': a text to hover during the animation <br />
** '''red''': red value for the text color (0-255)<br />
** '''green''': green value for the text color<br />
** '''blue''': blue value for the text color<br />
** '''with_bars''': yes/no: whether to display the status bars during the animation (e.g. the hitpoint bar)<br />
** '''[animate]''': a sub block with the same syntax as '''[animate_unit]''' except that the '''[filter]''' block is mandatory to find the unit. This block will find and animate another unit simultaneously.<br />
** '''[facing]''': a [[StandardLocationFilter]] specifying what direction the unit should be facing when animated<br />
* '''[label]''' places a label on the map.<br />
** '''x''', '''y''': the location of the label<br />
** '''text''': what the label should say<br />
** '''team_name''': if specified, the label will only be visible to the given team.<br />
** '''colour''': color of the label. The format is r,g,b; r, g and b are numbers between 0 and 255. {{DevFeature1.9}}: now named '''color'''.<br />
** '''visible_in_fog''': whether the label should be visible through fog or not. Default yes.<br />
** '''visible_in_shroud''': whether the label should be visible through shroud or not. Default no.<br />
** '''immutable''': whether this label is protected from being removed or changed by players. Default yes. {{DevFeature1.9}}<br />
* '''[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.<br />
** '''message''': the message to show.<br />
* '''[wml_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. The log domain for it is '''wml''', and the '''debug/dbg''' log level is available for use with the '''logger''' attribute. Depending on the current log level ('''error''' by default), which may be changed with the in-game :log command, or the --log-<level>=wml command line switch, the messages are echoed to the in-game chat.<br />
** '''message''': the message to show.<br />
** '''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.<br />
* '''[open_help]''' opens the in-game help.<br />
** '''topic''': the id of the topic to open<br />
* '''[show_objectives]''': {{DevFeature}} refreshes the objectives defined by [objectives] and its [show_if] tags, and displays them. (It is also called whenever the user explicitly asks for the objectives; this matters only if the tag was overridden by a [[LuaWML#register_wml_action|Lua]] script.)<br />
** '''side''': the side to show the objectives. If not set, all sides are used.<br />
* '''[chat]''' displays a message in the chat area. {{DevFeature1.9}}<br />
** '''speaker''': The sender of the message. Normally this is a string. However if you enter the name of a variable in which a unit is stored (such as ''second_unit'') it will display that unit's name instead.<br />
** '''message''': The message that should be displayed<br />
** '''side''': A comma separated list of sides to show the message to. If the same machine controls multiple sides that are in this list, then the message will only be displayed once. If left blank the message will be send to all sides.<br />
<br />
== Useful Macros ==<br />
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].<br />
* '''{FLOATING_TEXT}''' Float some text over a unit similar to the damage numbers.<br />
* '''{HIGHLIGHT_UNIT}''' Highlight a unit on the map. Use this to show important units<br />
* '''{HIGHLIGHT_IMAGE}''' Places and highlights an image on the map. Use this to show important items or locations<br />
* '''{SET_IMAGE}''' Places an image on the map which has no other function.<br />
* '''{QUAKE <soundfile>}''' Creates a tremor like screenshake and plays <soundfile>. ('''{TREMOR}''' is a deprecated version, equivalent to '''{QUAKE (rumble.ogg)}''')<br />
* '''{FLASH_WHITE}''' Flash the screen white momentarily. You can also replace WHITE with RED, BLUE or GREEN for a different colour.<br />
<br />
== See Also ==<br />
* [[DirectActionsWML]]<br />
* [[InternalActionsWML]]<br />
* [[EventWML]]<br />
* [[ReferenceWML]]<br />
<br />
<br />
[[Category: WML Reference]]<br />
[[Category: ActionsWML]]</div>Lord Vile