Initiation aux macros

Une macro est un petit code qui permet au joueur de définir des commandes personnalisées, ou de créer des ensembles de commandes. Concrètement dans WoW, cela pourra nous permettre d’enregistrer des associations de sorts, de ne lancer un sort que sous certaines conditions, de prévenir nos compagnons lors d’une technique particulière ou encore d’enregistrer un message qu’on envoie souvent (par exemple, une annonce sur le canal commerce).

Les macros sont enregistrées sur les serveurs de Blizzard : ainsi, si vous changez d’ordinateur, pas de réglages à refaire ! Vous pouvez cependant accéder à vos macros via le fichier WTF/Account/NOM_DE_COMPTE/macro_cache.txt.

Les macros, un truc pour assistés ?

Non, ça n’a rien à voir. Quand je parle d’association de sorts, je ne parle pas de définir un cycle et de laisser notre personnage jouer tout seul : d’une part ce n’est pas possible (sinon les bots ne seraient pas hors charte :roll:), d’autre part, certains confondent souvent les joueurs « assistés » avec les joueurs « optimisés » (cf. les pseudos-débats concernant l’utilisation d’addons, sur lequel je reviendrai dans un article futur).

Ce qu’on ne peut pas faire avec une macro

Cela parait un peu illogique de commencer par là, mais je pense qu’il est bon de définir les limites tout de suite. Je vais reprendre les explications de Washkyrie, qui avait écrit un excellent guide en français sur le sujet, malheureusement perdu lors de la transitions des forums Wow-europe vers Battle.net :(.

Tout d’abord, un point essentiel à retenir :
Une macro n’est exécutée que lors d’un événement matériel, à savoir clic de souris ou touche du clavier.
Une macro ne peut donc pas réagir à un événement. C’est à vous de surveiller si l’événement s’est produit ou non.

Limitations concernant une unité et/ou cible
Les seuls tests qu’on peut effectuer sur une unité sont :
– si elle est amicale ou hostile
– si elle existe ou non
– si elle est morte ou non
– si elle est dans votre groupe ou raid

On ne peut donc pas lancer un sort ou utiliser un objet en fonction :
– des buffs/debuffs d’une unité
– des points de vie/de mana/de rage/d’énergie d’une unité
– des points de combo
– de l’icône de raid
– de la distance de la cible

Autres limitations
– On ne peut pas utiliser de timer pour retarder des actions
– On ne peut pas tester si un sort a échoué ou non
– On ne peut pas tester si une unité est train d’incanter (sauf un sort canalisé par le joueur)

J’ajoute à cette liste la limite évidente que présente le Global CoolDown : on ne peut pas lancer deux sorts à la fois (sauf quelques rares exceptions qui ne déclenchent pas le GCD) !

C’est donc tout cela qui empêche les macros de s’apparenter à des bots. Désolée de vous décevoir, la macro comprenant tout votre cycle n’est pas prête d’arriver ! 😉

Créer une macro

/macro

Commençons par ouvrir notre menu macro, en tapant dans le jeu la commande /macro. Deux sous-menus se présentent alors : « Macros générales » (1) et « Macro de votre personnage » (2).

Interface des macros

Les macros générales sont communes à tous les personnages présents sur votre compte, tandis que les autres, vous l’aurez compris, ne sont accessibles que sur le personnage où elles ont été créées. Attention, le nombre de macro est limité à 36 macros générales et 18 par personnage !

Revenons à nos moutons. Vous avez donc ouvert votre menu, choisi le type de macro à faire (pour tous les personnages ou uniquement celui sur lequel vous êtes connecté ?).

Il faut maintenant donner un nom à votre macro (3). Ce nom n’a pas d’importance mais il doit être court (limité à 16 caractères).

Juste en dessous, vous pouvez choisir une icône pour votre macro. Si vous gardez la première (point d’interrogation rouge), l’icône du sort appelé par votre macro s’affichera automatiquement.

Enfin, il ne vous reste plus qu’à écrire votre macro dans le champ de texte correspondant (4).

Les commandes

Les commandes à mettre dans les macros commencent toujours par un /, exactement comme lorsque vous utilisez le canal de discussion : d’ailleurs, si vous entrez manuellement dans le canal les commandes macros, le résultat sera le même !

Ainsi, vous pouvez :

  • écrire un message : /2 Enchanteur disponible !
  • faire une émote : /hello
  • lancer un sort : /cast [spell]2050[/spell]
  • utiliser un objet : /use [item]40477[/item]
  • équiper un objet : /equip [item]38506[/item]
  • etc. !

Vous pouvez trouver une liste exhaustive des commandes sur WoWWiki (en). Pour ma part, je ne vais en lister qu’une partie, qui devrait suffire à la plupart de vos besoins 😉

Chat

  • guild – /guild,/g,/gc – Envoie un message sur le canal guilde.
  • officer – /officer,/o,/osay – Envoie un message sur le canal des officiers de la guilde.
  • party – /party,/p,/gr – Envoie un message sur le canal groupe.
  • raid – /raid,/rsay,/ra – Envoie un message sur le canal raid.
  • raidwarning – /raidwarning,/rw,/ar – Envoie un avertissement raid (message affiché au milieu de l’écran). Vous devez être chef de raid ou assistant.
  • reply – /r,/reply – Répond à la dernière personne qui vous a envoyé un message privé (chuchotement).
  • say – /say,/s,/d – Envoie un message aux joueurs proches (dire).
  • whisper – /whisper,/w,/tell,/t,/send – Envoie un message privé à un joueur (chuchotement).
  • yell – /yell,/y,/sh,/shout,/cri – Envoie un message à tous les joueurs de la zone (cri).
  • général – /1
  • commerce – /2

NB : Utiliser %t dans un message indique le nom de votre cible, et %f le nom de votre focus.

Général

  • dismount – Fait descendre de monture votre personnage.
  • equip – /equip, /eq – Équipe un objet dans son emplacement par défaut.
  • equipset – /equipset – Équipe un ensemble d’objet enregistré dans le gestionnaire de sets.
  • equipslot – Équipe un objet dans un emplacement spécifique.
  • usetalents – Change de spécialisation.

Les emplacements sont définis par les numéros suivants :

  • 1 = tête
  • 2 = cou
  • 3 = épaules
  • 4 = chemise
  • 5 = torse (plastron)
  • 6 = ceinture
  • 7 = jambes
  • 8 = pieds
  • 9 = poignets
  • 10 = mains
  • 11 = doigt 1
  • 12 = doigt 2
  • 13 = bijou 1
  • 14 = bijou 2
  • 15 = dos
  • 16 = main droite
  • 17 = main gauche
  • 18 = à distance/idole
  • 19 = tabard

Exemple d’utilisation :

/equipslot14 Insigne de la horde

Cette macro équipe le bijou [item]40477[/item] dans le second emplacement de bijou. Si on avait écrit :

/equip Insigne de la horde

l’objet serait équipé dans le premier emplacement de bijou (emplacement par défaut).

Ciblage

  • assist – /assist,/a – Sélectionne la cible d’un joueur.
  • clearfocus – Efface la focalisation actuelle.
  • cleartarget – Efface la cible actuelle.
  • focus – Met une cible en focalisation.
  • target – /target,/tar – Sélectionne une cible grâce au nom.
  • targetlastenemy – Sélectionne la dernière unité attaquable que vous avez ciblée.
  • targetlastfriend – Sélectionne la dernière unité amicale que vous avez ciblée.
  • targetlasttarget – Sélectionne la cible de la dernière unité que vous avez ciblée.

Exemple d’utilisation :

/target Engeance de lave

Cette macro est bien connue des « vieux de la vieille » ;). Elle permet de prendre en cible un monstre qui était invoqué dans le raid MC, et qu’il fallait DPS le plus vite possible. Il suffisait alors d’activer cette macro tout en continuant le cycle DPS.

Combat

  • cancelaura – Annule un buff que vous avez.
  • cancelform – (Druide) Annule votre changeforme actuel.
  • cast – /cast,/spell,/use – Lance un sort (/cast) ou utilise un objet (/use).
  • castrandom – /castrandom,/userandom – Lance un sort ou utilise un objet aléatoire parmi la liste indiquée (séparez les sorts/objets par une virgule).
  • castsequence – Lance les sorts indiqués (séparez-les par une virgule) dans l’ordre donné (il vous faudra activer la macro une fois par sort !).
  • stopcasting – Interrompt votre incantation ou votre canalisation.

Exemple d’utilisation :

/stopcasting
/castrandom Métamorphose, Métamorphose(Cochon), Métamorphose(Lapin)
/gr Métamorphose sur %t !

Une petite macro à la fois pratique et marrante pour un mage : elle interrompt le sort en cours et lance une métamorphose aléatoire parmi vos préférées (ici mouton, cochon et lapin). De plus, elle annonce sur le canal groupe la cible transformée, afin que vos camarades n’y touchent pas.

Métacommandes

J’ai parlé plus haut de garder l’icône par défaut de la macro (le point d’interrogation rouge) pour afficher l’icône du sort par défaut. En fait, en gardant ce point d’interrogation on peut aller plus loin grâce aux métacommandes qui se placent toujours sur la première ligne de votre macro, précédées non pas d’un slash (/) mais d’un dièse (#).

  • show – Affiche l’icône du sort dans la barre d’action.
  • showcooldown – Affiche l’icône du sort ainsi que le temps de recharge dans la barre d’action.
  • showtooltip – tooltip – Affiche l’icône du sort, le temps de recharge et le tooltip (description du sort) dans la barre d’action.

Exemple d’utilisation :

#showtooltip
/cast Soins

NB : Vous pouvez préciser le nom d’un sort après la métacommande (par exemple, « #show Soins »), mais laisser vide indiquera le sort que la macro utilisera, utile lorsque vous avez plusieurs sorts comme on va le voir juste après avec les conditions – en revanche, ça n’affiche pas le sort qui sera choisi par un castrandom !

Les conditions

Les commandes sont bien belles, mais s’il n’y avait que ça, l’intérêt d’une macro serait limité hein :roll:. Le véritable intérêt d’une macro, c’est les conditions. Voici la syntaxe :

/cast [condition1]Sort1; [condition2]Sort2; Sort3

Voici la « traduction » de ma macro :

Si la condition1 est remplie, lancer le Sort1,
Sinon et si la condition2 est remplie, lancer le Sort2
Si aucune des conditions ne sont remplies, lancer le Sort3

Comme vous pouvez le constater par l’emploi de « Sinon et si », les conditions sont hiérarchisées : une condition placée en premier est toujours prioritaire sur les autres !

Vous pouvez également indiquer plusieurs conditions, en les séparant par une virgule comme ceci :

/cast [condition1,condition2]Sort1; [condition2]Sort2; Sort3

On peut « traduire » la macro de la manière suivante :

Si la condition1 et la condition2 sont remplies ensembles, lancer le Sort1,
Sinon et si la condition2 seulement est remplie, lancer le Sort2
Si aucune des conditions ne sont remplies, lancer le Sort3

Modificateurs

Dans mon article sur le jeu au clavier, je vous avais parlé des modificateurs. Ils sont au nombre de trois : Shift (Maj), Ctrl, Alt, et permettent de créer des combinaisons de touches (par exemple, « 1 », « Shift+1 » et « Ctrl+1 » seront trois commandes différentes). On les défini avec [mod=].

/cast [mod:shift]Soins supérieur; Soins

Cette macro lancera par défaut [spell]2050[/spell], et [spell]2060[/spell] si vous appuyez en même temps sur Shift.

Ciblage

On peut définir la cible d’un sort avec [target=] ou [@] (à titre personnel, je préfère le dernier, car les macros ont une limite de caractères qui peut être très vite atteinte !).

Voici une liste non exhaustive des conditions de ciblage :

  • @nom – unité portant le nom indiqué
  • @player – votre personnage
  • @pet – votre familier
  • @target – votre cible
  • @targettarget – cible de votre cible
  • @focus – votre focus
  • @focustarget – cible de votre focus
  • @partyN – Nème membre du groupe
  • @arenaN – Nème compagnon d’arène
  • @mouseover – unité survolée par votre curseur de souris

En complément, on peut faire quelques vérifications sur les cibles :

  • exists – renvoie vrai si l’unité existe
  • help – renvoie vrai si l’unité est amicale
  • harm – renvoie vrai si l’unité est hostile
  • nodead – renvoie vrai si l’unité est en vie

NB : il est inutile d’utiliser exists en plus de help ou harm, car une cible amicale ou hostile existe forcément !

Exemple d’utilisation :

/cast [@target,harm][@targettarget,harm]Eclair

Cette macro va tester en premier lieu si votre cible est hostile : si oui, elle autorisera l’incantation de votre [spell]403[/spell]. Sinon, elle va regarder si la cible de votre cible est hostile, et si le test est concluant, [spell]403[/spell] sera lancé sur cette dernière. Cette macro est bien utile pour les soigneurs : ils peuvent garder leur tank en cible, tout en envoyant des sorts offensifs sur la cible du tank !

Autres (liste non exhaustive)

Il existe d’autres conditions (vous pouvez utiliser la condition contraire en ajoutant no en préfixe) :

  • channeling – renvoie vrai si votre personnage est en train de canaliser un sort
  • combat – renvoie vrai si votre personnage est en combat
  • stealth – renvoie vrai si votre personnage est camouflé (voleur, druide)
  • stance:1 – renvoie vrai si votre personnage est dans sa première posture (combat pour les guerriers, ours pour les druides, forme d’ombre pour les prêtres…). Vous pouvez adapter selon la posture en indiquant le chiffre qui s’y rapporte
  • stance:0 ou nostance – renvoie vrai si votre personnage n’est dans aucune posture
  • equipped:Objet – renvoie vrai si l’objet (ou le type d’objet) est équipé
  • outdoors – renvoie vrai si votre personnage est en extérieur
  • mounted – renvoie vrai si votre personnage est sur une monture
  • flyable – renvoie vrai s’il est possible de voler dans la zone (attention, cette condition ne prend pas en compte des interdictions temporaires (par exemple, pendant une bataille au Joug d’Hiver) ni la compétence de votre personnage !)
  • flying – renvoie vrai si votre personnage est en train de voler
  • swimming – renvoie vrai si votre personnage est en train de nager
  • spec:1 – renvoie vrai si votre spécialisation primaire est active (contraire : spec:2)

Exemple d’utilisation :

/cast [nochanneling]Fouet mental

Bien connue des prêtres ombres, cette macro permet de ne pas perdre de tics en « cassant » par inadvertance notre [spell]15407[/spell] avec le lag.

Exemples de macros usuelles

Utiliser les bijoux actuellement équipés

#showtooltip
/use [mod:shift]14; 13

Devoir replacer les bijoux sur la barre des sorts à chaque fois que vous en changez, c’est lassant à la longue ! Cette petite macro vous permet d’utiliser votre premier bijou par défaut, ou votre second bijou si vous appuyez sur Shift.

Interrompre un sort

#showtooltip
/stopcasting
/cast Cisaille de vent

Cette macro permet d’être très réactif, car elle interrompt le sort en cours d’incantation, pour que vous lanciez votre contresort immédiatement ! Si vous n’êtes pas chaman, remplacez [spell]57994[/spell] par le nom de votre contresort/silence.

Ressusciter un allié et annoncer son nom (pour éviter les doubles rez)

#showtooltip
/cry
/d Hé %t, réveille-toi !
/cast Résurrection

Si vous n’êtes pas prêtre, remplacez [spell]2006[/spell] par : [spell]50769[/spell] (druide), [spell]2008[/spell] (chaman) ou [spell]7328[/spell] (paladin).

Invoquer une monture aléatoire

/userandom [nomounted,flyable]Monture volante1,Monture volante2,Monture volante3; [nomounted]Monture terrestre1,Monture terrestre2,Monture terrestre 3
/dismount [mounted]

Remplacez « Monture volante N » et « Monture terrestre N » par les noms de vos montures ;). Cette macro adapte le type de monture (volante ou terrestre) selon l’endroit où vous vous trouvez.

Le mot de la fin

J’espère que ce petit guide est suffisamment clair pour vous aider à débuter avec les macros ! Si vous voulez aller plus loin, je vous recommande la lecture de la catégorie « Macro » de WoWWiki (en anglais), ou, si vous êtes anglophobe, le guide écrit par Néadhorá sur le forum francophone de Battle.net.

Si vous avez des questions ou des remarques concernant l’article, n’hésitez pas à laisser un commentaire ou à me contacter ;).

3 commentaires


  1. Fatal error: Uncaught Error: Call to undefined function ereg() in /homepages/37/d355510434/htdocs/eirwen/manapotion/wp-content/themes/sandbox/functions.php:278 Stack trace: #0 /homepages/37/d355510434/htdocs/eirwen/manapotion/wp-content/themes/sandbox/comments.php(35): sandbox_commenter_link() #1 /homepages/37/d355510434/htdocs/eirwen/manapotion/wp-includes/comment-template.php(1471): require('/homepages/37/d...') #2 /homepages/37/d355510434/htdocs/eirwen/manapotion/wp-content/themes/sandbox/single.php(38): comments_template() #3 /homepages/37/d355510434/htdocs/eirwen/manapotion/wp-includes/template-loader.php(74): include('/homepages/37/d...') #4 /homepages/37/d355510434/htdocs/eirwen/manapotion/wp-blog-header.php(19): require_once('/homepages/37/d...') #5 /homepages/37/d355510434/htdocs/eirwen/manapotion/index.php(17): require('/homepages/37/d...') #6 {main} thrown in /homepages/37/d355510434/htdocs/eirwen/manapotion/wp-content/themes/sandbox/functions.php on line 278