Im Interface-Bereich haben wir einen umfangreichen Makro-Guide, der noch aus dem alten Forum übernommen wurde und daher leider nicht mehr als Sticky ganz oben hängt. Der Guide wurde zwar auch seit einiger Zeit nicht mehr aktualisiert, aber es gab in den letzten Jahren nur einige minimale Änderungen am Makro-System.
Man kann einem Zauber einfach mehrere, verschiedene Zielvorgaben und Bedingungen zuweisen, die einzeln abgearbeitet werden sollen, indem man diese jeweils in eigene eckige Klammern setzt. Möchte man Bedingungen verknüpfen, dann müssen diese in die gleiche eckige Klammer gesetzt werden. Zusätzlich kann man einen Zauber auch mehrfach innerhalb eines Befehls angeben, da es bei einem derartigen Makro dann wichtig wird, die Reihenfolge zu beachten.
Ein Makro wird immer von links nach rechts abgearbeitet und die erste zutreffende Aktion wird ausgeführt.
Durch die Kombination von Mouseover und Ziel wird das Makro ein wenig komplexer und unübersichtlicher, da die Reihenfolge dann wichtiger wird. Eine funktionierende Version könnte bspw. so aussehen:
#showtooltip
/cast [@mouseover,harm] Flammenschock; [@mouseover,help] Springflut; [harm] Flammenschock; Springflut
→ Wenn das Mouseover feindlich ist, wirke Flammenschock auf dieses.
→ Ansonsten, wenn das Mouseover freundlich ist, wirke Springflut auf dieses.
→ Ansonsten, wenn das Ziel feindlich ist, wirke Flammenschock auf dieses.
→ Ansonsten, nutze das Standardverhalten von Springflut.
Beim Arbeiten mit Zielvorgaben gibt es aber einen Punkt, den man unbedingt beachten muss: Zielvorgaben an sich sind nicht intelligent, d.h. es findet keine Prüfung des Ziels statt. Würde man bspw. einfach [@mouseover]
im Makro angeben, dann würde das Makro immer auf das Mouseover wirken wollen, egal ob überhaupt eines existiert!
Dafür gibt es die Bedingung exists
, wodurch man prüfen kann, ob das Ziel auch wirklich existiert. Im obigen Makro ist es aber nicht nötig, diese spezifisch anzugeben, da diese in der Abfrage der Reaktion (über harm
bzw. help
) schon integriert ist - klingt ja logisch, um freundlich oder feindlich sein zu können, muss ein Ziel überhaupt existieren.