Notice: Undefined index: HTTP_ACCEPT_LANGUAGE in /home/eartdfr/www_ile-avalon/_private/tracking.php on line 8
L'île Avalon [Tutorial : Macros "universelles"]
  • L
  • M
  • M
  • J
  • V
  • S
  • D
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Tutorial : Macros "universelles"

Le problème du Multiboxeur est de pouvoir utiliser son Avatar aussi bien en mode solo, qu'en mode multiboxing. Or d'un mode de jeu à l'autre les macros diffèrent.

J'ai donc décidé de créer des macros qui rendent mon Avatar compatible en toutes situations, que ce soit en solo, multi, instance pve, pvp arène, pvp champ de bataille, etc. Cela va même plus loin, puisqu'à terme n'importe qu'elle membre de mon groupe pourra être utilisé aussi bien comme étant un Assist ou le main.

Pour ces macros, mes objectifs sont les suivants :

  • Donner la possibilité à mes Assist d'avoir deux cibles, une dite "principale" qui est désignée par le main et une dite "secondaire" qui est désignée par le focus de chacun des alts.
    Cette décision est en prévision du sort "Maléfice" qui me permettra à terme d'avoir un Sheep au sein du groupe.

    J'ai donc décidé que mes Assist accéderait au main via la notion de party1. Puisque qu'après tout mon main est chef de groupe, il est donc facile pour mes assist de le retrouver sans passer par la notion de focus ni même de devoir l'identifier par son nom.

    La notion de focus elle me permettra de définir les cibles à moutonner.

  • Le problème est que la notion de party1 n'est fiable qu'en groupe à 5, c'est à dire exclusivement en arène et instances, et éventuellement en raid si le chef de raid veut bien regrouper toute ma team dans un même groupe (Bien que ce dernier cas suppose que le main soit à l'emplacement N°1 du groupe sans pour autant être chef de groupe. Pour cela, cela impose que le main soit le premier du groupe si on trie leurs noms par ordre alphabétique).
    Une fois dans un champ de bataille cela se complique. Car rien ne garanti que mes cinq chaman soient regroupées, du coup faire référence au party1 ne peut plus marcher. Vu qu'en champ de bataille il me sera difficile de gérer des cibles secondaires pour mes Assists, je décide de faire en sorte que le focus puisse aussi désigner le main. Résultat, mes macros devront prendre en compte que le focus peut être soit mon main, soit une cible secondaire à moutonner...

  • Enfin, à tous moments je veux pouvoir jouer mes chamans en solo sans devoir créer des barres d'action pour le mode solo (Par mode solo j'entends jouer un seul Chaman à la fois, mais je peux très bien être groupé avec d'autres joueurs).
    De plus, même en multiboxing je veux pouvoir désigner n'importe quel membre de mon groupe comme étant le "main".

    Au final, mes macros devront être compatibles pour le "mode solo", "main d'un groupe multiboxing" et "Assist dans un groupe multiboxing".

  • En plus de toutes ces contraintes d'utilisation, je garde à l'idée que mon main doit à tout moment pouvoir désigner une cible via la notion de Mouseover. Soit une dernière contraire qui vient se rajouter au autres.

Joli projet, reste à le mettre en place...

La part d'AutoHotKey

Au début, je ne voulais pas toucher mon script AHK et ne travailler qu'au niveau des macros de WoW. Sauf qu'une macro est limitée à 255 caractères et qu'on est très vite limité quand il s'agit de gérer toutes les conditions possibles.

J'ai finit par décider que c'est AHK qui allait se charger d'informer WoW que l'ordre à exécuter concerne soit le main, soit un assist.

Pour cela, il suffit de passer par la condition "mod" ou "modifier" des macros de WoW.
De ce fait, toutes mes touches de combat correspondant aux touches "&", "é",... à "=" du clavier seront associées à des macros comportant un test du "modifier".

Si WoW reçoit juste "é" cela correspond à un ordre solo ou destiné au main. Si par contre il reçoit "SHIFT+é" cela concerne un Assist.

C'est donc AHK qui va se charger de rajouter le SHIFT et mon script AHK sera du type :

~é::
KeyWait, é, D
{
 ControlSend,, {SHIFT down}{é}{SHIFT up}, ahk_id %idAlt1%
 ControlSend,, {SHIFT down}{é}{SHIFT up}, ahk_id %idAlt2%
 ControlSend,, {SHIFT down}{é}{SHIFT up}, ahk_id %idAlt3%
 ControlSend,, {SHIFT down}{é}{SHIFT up}, ahk_id %idAlt4%
}
Return

Et du côté de WoW, il me faudra ajouter les conditions "nomod" et "mod:shift" si je veux qu'un ordre ne concerne que le main ou un assist.

Mon Focus, amis ou ennemi ?

Comme expliqué précédemment, mais mon focus pourra désigner soit une cible à moutonner, soit la personne que je devrai assister.
Alors, comment dans une macro je pourrai différencier le type de focus que j'utilise ?

Et bien ce sont les conditions "harm" et "help" qui vont me le dire.

  • Si mon focus est amical (condition "help"), alors c'est quelqu'un que je dois assister, généralement mon main. Mais cela peut être n'importe qui dans le groupe, se qui me permet d'avoir plusieurs "mains" ou d'utiliser la notion de focus pour désigner mon main lorsque ce dernier n'est pas chef de groupe.

    Par exemple dans un raid PVE, je pourra très bien via le focus dire à deux de mes chamans d'assister le MT1 et à deux autres de mes chamans d'assister mon propre main. Ce qui permet à mon groupe d'être sur plusieurs fronts en même temps.

  • Si mon focus est hostile (condition "harm"), alors c'est quelqu'un que je dois moutonner. Il est alors judicieux d'y ajouter la condition "nodead" pour éviter de lancer un mouton sur un mort...

Macros de DPS-casters

Je commence par le plus simple, la macro de DPS...

Première étape, désigner la cible à DPS. Comme prévu, c'est le chef de groupe qui me la désigne. L'instruction la plus évidente est donc d'ajouter :

/assist party1

Sauf qu'en certaines circonstances il se peut que je ne veuille pas utiliser la cible du chef de groupe ou n'assister personne si je suis en solo ou même groupe standard. L'assist est donc plus compliqué et devient :

/assist [target=focus,exists,help] [target=party1,exists,help,mod:shift]

Avec cette instruction, je peux soit assister mon focus s'il existe et s'il est amicale, soit mon chef de groupe s'il existe et si je suis un Clone dans un groupe de multiboxing (Le moficateur est SHIFT). Sinon l'instruction d'assist ne sera pas prise en compte pour tout autre cas (Solo par exemple).

Vient ensuite à DPS la cible, un simple /cast Eclair suffit.
Sauf que je dois pouvoir désigner à tout moment une autre cible via la souris et lancer un soin dessus. La macro devient donc :

/cast [target=mouseover,exists,nodead,help] Vague de soins inférieurs ; Eclair

Mais cette dernier pose problème à mes assists qui peuvent se retrouver à cibler n'importe qui dans le groupe et à lancer des soins alors qu'ils doivent DPS. Pour y remédier, un "nomod" sauve la situation :

/cast [target=mouseover,exists,nodead,help,nomod] Vague de soins inférieurs ; Eclair

Je vais même plus loin, après tout mon main pourrait très bien DPS une cible différente de celle de mes Assist. Jusqu'à présent, j'avais utilisé la notion de mouseover pour désigner une personne à soigner, mais je peux en faire autant pour désigner une personne à DPS. Ce qui donne :

/cast [target=mouseover,exists,nodead,help,nomod] Vague de soins inférieurs ;
[target=mouseover,exists,nodead,harm,nomod] [] Eclair

Attention à la condition vide ([]), qui est importante si l'on veut que la macro fonctionne sans devoir passer par la souris...

La macro de DPS-caster terminée :

#showtooltip
/assist [target=focus,exists,help] [target=party1,exists,help,mod:shift]
/cast [target=mouseover,exists,nodead,help,nomod] Vague de soins inférieurs ;
[target=mouseover,exists,nodead,harm,nomod] [] Eclair

Suffit ensuite de répéter la même macro avec les différents sorts de DPS.
Puis de s'inspirer de cette macro pour faire celles de soins...

Macro de soigneur

Celon le même principe que la macro de DPS-caster, je veux pouvoir soigner aussi bien la personne qui à l'aggro, qu'une personne désignée à la souris ou tout simplement celle que je cible. La macro devient :

#showtooltip
/assist [target=focus,exists,help] [target=party1,exists,help,mod:shift]
/cast [target=mouseover,exists,nodead,help,nomod] [target=targettarget,exists,nodead,help] [help] Salve de guérison

A noter que la macro ci-dessus lance un soins sur la personne qui a l'aggro. Mais si le mob/boss n'a pas d'aggro sur qui que se soit la macro ne sert pas. Voici une autre version qui permet de DPS s'il n'y a rien à soigner :

#showtooltip
/assist [target=focus,exists,help] [target=party1,exists,help,mod:shift]
/cast [target=mouseover,exists,nodead,help,nomod] [target=targettarget,exists,nodead,help] [help] Salve de guérison ;
[harm] Eclair

Là encore, suffit ensuite de reprendre la macro pour chaque sort de soins...

La macro de Shepp

Même sans avoir le sort, on peut déjà concevoir la macro de moutonnage de nos futur chamans lvl 80. Et après tout, elle marche très bien pour le mouton mage.

Cette dernière est plus simple que les macros précédentes. Soit je moutonne mon focus si ce dernier est vivant et hostile (Important la notion d'hostile, n'oublions pas que le focus peut désigner le main), soit je moutonne ma cible actuelle, soit je moutonne une cible désignée à la souris.
Ce qui donne :

#showtooltip
/cast [target=mouseover,exists,nodead,harm,nomod] [target=focus,exists,nodead,harm] [nodead,harm] Maléfice

Une séquence de sorts pour optimiser Explosion de Lave

Celon le même principe que la macro de DPS-caster mais sans la gestion du mouseover puisqu'il est question d'enchaîner l'horion de flammes et l'explosion de lave sur la même cible.

#showtooltip
/assist [target=focus,exists,help] [target=party1,exists,help,mod:shift]
/castsequence [target=mouseover,exists,nodead,harm,nomod] [] reset=6/combat Horion de flammes, Explosion de lave

Macros pour chaman restauration

Même si deux de mes chamys n'ont été spé-restau qu'une demi journée, elles ont quand même eu quelques macros spécifiques à leur template...

Macro "Bouclier de Terre"

Une macro qui permet de lancer un bouclier de terre sur le main ou un bouclier d'eau sur soi-même :

#showtooltip
/cast [target=mouseover,exists,nodead,help,nomod] [target=focus,exists,nodead,help] [target=party1,exists,help,mod:shift] Bouclier de terre ; Bouclier d'eau

Une macro pour optimiser le "Remous"

Une séquence de sort qui va combiner Remous, Salve de guérison et Vague de Soins. Cette combinaison étant volontaire pour exploiter au mieux chaque talent.

#showtooltip
/assist [target=focus,exists,help] [target=party1,exists,help,mod:shift]
/castsequence [target=mouseover,exists,nodead,help,nomod] [target=targettarget,exists,nodead,help] [] reset=combat Remous, Salve de guérison, Vague de soins