====== Principe ======
Les masques permettent de générer automatiquement le rapport de tour en fonction de la réussite (ou de l'échec) des ordres. L'[[http://map.muad.com/mask_maker.php|éditeur de masque]] permet d'augmenter les possibilités de ce retour d'informations pour les différents ordres. Des mots-clés sont nécessaires à la contextualisation :
A un ordre peut correspondre plusieurs masques suivant les possibilités de cas de figures que cet ordre peut entraîner. Pour les ordres automatiques (réussite garantie), un seul ; pour le kidnapping (#620), 5 masques sont nécessaires:
- 620 : kidnapping réussi
- 620.1 : kidnapping manqué
- 620.2 : kidnapping impossible (cible non présente)
- 620.5 : masque pour le joueur de l'otage -> son héros a réussi à s'échapper
- 620.6 : masque pour le joueur du kidnappeur -> l'otage s'est enfui
====== Visibilité ======
A chaque ordre est associé un paramètre dit de visibilité, par exemple
Visibility = 0003000000001000000000000
Ici, le résultat de l'ordre à retourner peut donc concerner potentiellement 25 nations. Suivant le rôle de chaque nation dans l'ordre initié, 7 qualités différentes d'implications sont énoncées :
- auteur
- cible ou allié
- témoin
- allié du témoin
- témoin indirect, infos limitées
- allié du témoin indirect
- rumeur
Suivant toujours l'exemple, on constate que seulement 2 nations ont une valeur différente de 0 (3 pour la 4ème et 1 pour la 13ème). En suivant les correspondances ci-dessus, on voit alors que la nation 4 est témoin de cette action alors que la nation 13 est celle du héros qui l'a initiée.
====== Structure de contrôle : if ======
Le test principal permettant d'adapter le texte de magazine à une condition particulière est le //if//. A utiliser entre @...@ tel que :
@if@mot-clé@condition@\\
instructions\\
@endif@
Il est possible d'utiliser des boucles imbriquées en indexant chaque boucle :
@if1@mot-clé@condition@\\
instructions si la condition de if1 est satisfaite\\
@if2@mot-clé@condition@\\
instructions si les conditions de if1 et if2 sont satisfaites\\
@endif2@\\
@endif1@
===== Les conditions particulières =====
On peut tester si le paramètre suivant le //if// existe ainsi :
@if@paramètre-testé@exists@
blabla
@endif@
Puisque le //else// n'est pas (encore?) implémenté, on a aussi le test réciproque pour savoir si le paramètre est vide :
@if@paramètre_testé@empty@
blabla
@endif@
====== Mots-clés ======
Les mots-clés disponibles, à utiliser entre #...# :
* player : numéro de nation du joueur ([[troisieme_age_-_1650|module 1650]] : de 1 à 25)
* player_as__nation_name : nation of the player
* aera_name
* previous_area_name
* hero_nation : nation of the hero, from 1 to 25
* hero_nation_name : nation of the hero
* hero_name : hero full name
* hero_allegiance : hero's allegiance number
* hero_allegiance_name : hero's allegiance full name
* hero_status : current hero status, in this list = general, hero, captain, leader, fellow, hostage, dismissed, dead
* previous_hero_status : last turn hero status
* hero_health : current health, up to 100, can be negative
* target_nation : target nation
* target_hero : target hero full name
* target_town : target town full name
* town_nation : nation of the town, from 1 to 25
* town_nation_name : nation of the town
* town_name : current town full name
* town_allegiance : town's allegiance number
* town_allegiance_name : town's allegiance full name
* previous_town_name : last turn town full name
* town_loyalty : current town loyalty level
* previous_town_loyalty : last turn town loyalty level
* pos_x : current position X from 1 to 44
* pos_y : current position Y from 1 to 39
* previous_pos_x : last turn position X from 1 to 44
* previous_pos_y : last turn position Y from 1 to 39
* hex_terrain : current hexagon terrain type from 1 to 9
* previous_hex_terrain : last turn hexagon terrain type from 1 to 9
* is_hero_general : returns yes, if the hero generating the news is general of the army, otherwise returns no (meaning he would be a captain in the army)
* army_general_name : returns the name of the hero leading the army
* fellowship_leader_name : returns the name of the hero leading the fellowship
* parameters are numbered from parameter1 to parameter3
* parameter1_value : returns the raw value of the parameter
next are possibly useful translation of the parameters value
* parameter1_as_nation_name : returns the nation based on the parameter value
* parameter1_as_resource_name : returns the resource based on the parameter value
* parameter1_as_wagon_name : returns the wagon item based on the parameter value
* parameter1_as_relation : returns the relation level based on the parameter value
* parameter1_as_hero_bonus : returns the hero bonus based on the parameter value
* parameter1_as_nation_bonus : returns the nation bonus based on the parameter value
les mots clés liés à la visibilité
* is_mine : returns yes, if reader is owner of hero/town, otherwise returns no
* is_allied : returns yes, if reader considers hero/town to be a friend, otherwise returns no
* is_enemy : returns yes, if reader considers hero/town to be an enemy, otherwise returns no
* is_target_me : returns yes, if the action is targeted at the reader, otherwise returns no
* is_witness : pour les témoins de l'action (visibilité à 5 ou 6)
Pour les ordres les plus complexes (avec beaucoup d'entrées), il existe le mot-clé #long_parameter#. Pour un ordre de division d'armée, on aurait la possibilités de rendre compte du transfert des différentes troupes par ces instructions :
~#long_parameter-1# Cavaliers Lourds, ~#long_parameter-2# Cavaliers Légers, ~#long_parameter-3# Fantassins lourds, ~#long_parameter-4# Fantassins légers, ~#long_parameter-5# archers,
~#long_parameter-6# Mercenaires~
ici, le ~ permet de supprimer le type de troupe si aucune unité n'est présente.
===== Listes =====
==== Nation ====
1: Woodmen, 2: Northmen, 3: Eothraim, 4: Arthedain, 5: Cardolan, 6: North Gondor, 7: South Gondor, 8: Dwarves, 9: Sinda Elves, 10: Noldo Elves, 11: Witch King, 12: Dragon Lord, 13: Dog Lord, 14: Cloud Lord, 15: Blind Sorcerer, 16: Ice King, 17: Quiet Avenger, 18: Fire King, 19: Long Rider, 20: Dark Lieutenants, 21: Corsairs, 22: Dunlendings, 23: Haradwaith, 24: Rhudaur, 25: Easterlings,
==== Statuts ====
general: Leading an army, hero: Hero alone, captain: Following an army, leader: Leading a fellowship, fellow: Following a fellowship, leech: Spying, hostage: Held hostage, dismissed: Has been dismissed,
==== Terrain ====
1: Plain, 2: Coast, 3: Forest, 4: Marsh, 5: Hill, 6: Mountain, 7: Desert, 8: Coastal sea, 9: Open sea,
=== Resource ===
1: Leather, 2: Bronze, 3: Steel, 4: Mithril, 5: Food, 6: Timber, 7: Stone, 8: Mounts, 9: Gold,
==== Wagon ====
1: none, 2: bronze weapons, 3: steel weapons, 4: mithril weapons, 5: leather armors, 6: bronze armors, 7: steel armors, 8: mithril armors, 9: food rations, 10: war machines,