Ich kapiere das Makro nicht und bei mir funktioniert es auch nicht. Wenn ich es drücke, wenn ich meine richtige Waffe trage, passiert gar nichts. Wenn ich es drücke, wenn ich Drachenzorn trage, dann verwandel ich mich in den Drachen, aber auch nicht mehr. Es wird keine Waffe getauscht.
Wenn ich versuche, das Makro zu verstehen, dann scheitere ich im Prinzip an der Reihenfolge.
Zuerst wird die Waffe benutzt. Im Standardfall trage ich meine richtige Waffe, dann passiert gar nichts. Ich hätte jetzt erwartet, dass man zuerst die Waffe tauscht.
Der Waffentausch soll in der zweiten Zeile passieren. Die Variable a ist wahlweise Drachenzorn oder die eigenen Waffe. Wenn Drachenzorn angelegt ist oder man im Kampf ist, dann wir die Variable a durch deine eigenen Waffe ersetzt. UnitCastingInfo sagt mir jetzt nicht, auf jeden Fall sollte danach a angezogen werden, sofern man nicht aufgemountet ist. Tja, das hat bei mir also nicht funktioniert, er hat mir weder Darchenzorn angelegt, als ich ihn nicht trug, noch die normale Waffe, als ich Darchzorn angelegt hatte.
In der letzte Zeile wird man abgemountet.
Also, ich würde es andersrum programmieren, ich würde die zweite Zeite vor die erste schreiben. Außerdem würde ich die Bedinung härter programmieren, ich würde in der ersten Zeile Drachenzorn anlegen, sofern er nicht angelegt ist. Dann würde ich ihn benutzten, dann die richtige Waffe anlegen. Und dismount, hm, ich denke, das würde ich weglassen.
tl&dr
Etuniel sagt, dass Makro funktioniert. Ok. kann mir jemand erklären, warum? Und warum diese Reihenfolge gewählt wurde?