Macro - harm + targettarget Probleme

Hey,
es geht um folgendes Macro:

#showtooltip Power Word: Shield
/cast [harm, nomod] [@targettarget, help] Power Word: Shield
/cast [help, nomod] Power Word: Shield
/cast [mod: shift, target=player] Power Word: Shield
/cast [mod: ctrl, target=focus] Power Word: Shield


1. wenn Gegner im Target, dann cast auf targettarget
2. normaler cast wenn ally im target
3. shift = selfcast
4. strg = @focus

Alles bis auf die targettarget - Line funktioniert zusammen. Die Line an sich:
/cast [@targettarget, help] Power Word: Shield
funktioniert, jedoch bekomme ich es nicht mit anderen modifiern zusammen hin.
Wenn ich das Macro so wie oben benutze, caste ich pws auf mich selber, wenn ich ein enemy im target habe und nicht aufs targettarget.

Was mache ich hier falsch?
29.10.2018 00:53Beitrag von Hött
1. wenn Gegner im Target, dann cast auf targettarget
Dein Denkfehler beim Makro liegt bereits hier - das geht so nicht. Man kann innerhalb der Bedingungen das Ziel eines Zaubers nicht einfach hin und her wechseln.
Jede Klammer ist eine komplett eigenständige Bedingung, auf die das Makro reagiert. Dabei ist egal, ob die Klammern innerhalb des gleichen Cast-Befehls stehen oder in unterschiedlichen Zeilen.

Du kannst entweder prüfen, ob dein Ziel feindlich ist, oder, ob dein Targettarget freundlich ist - beides gleichzeitig ist aber nicht möglich. Die erste Zeile in deinem Makro versucht aktuell, Power Word: Shield auf ein feindliches Ziel zu wirken (erste eckige Klammer, geht dank Auto-Selfcast dann auf dich) und wenn du kein feindliches Ziel hast, auf ein freundliches Targettarget (zweite eckige Klammer, d.h. logischerweise dann auf das Ziel eines freundlichen Targets).
Nur wenn beides nicht zutrifft, kommt das Makro überhaupt in der zweiten Zeile an. Damit kann das natürlich nicht funktionieren.

Um die gewünschte Funktionalität hinzukriegen, musst du die Bedingungen andersrum aufziehen: Erst prüfen, ob ein freundliches Ziel existiert und wenn nicht, dann das Ziel des Ziels betrachten.
Die nomod-Bedingungen kannst du auch weglassen, indem du die mod-Bedingungen nach vorne ziehst.

Funktionierend könnte das (in einer Zeile optimiert) bspw. so aussehen:#showtooltip
/cast [mod:ctrl,@focus] [mod:shift,@player] [help] [@targettarget,help] [] Power Word: Shield
Die 5 Klammer machen dann folgendes - jede Klammer wird nur dann abgearbeitet, wenn alle vorherigen Klammern nicht zutreffen:
  • Wirke auf das Focus, wenn Strg gedürckt ist
  • Wirke auf dich selbst, wenn Umschalt gedrückt ist
  • Wirke auf ein freundliches Ziel
  • Wirke auf ein freundliches Targettarget
  • Nutze das Standardverhalten der Fähigkeit (d.h. bei feindlichem Ziel ohne freundliches Targettarget auf dich selbst)
Die letzte (leere) Klammer kannst du weg lassen, wenn du das Standardverhalten nicht möchtest (dann passiert bspw. nichts, wenn du überhaupt kein Ziel hast), dann musst du aber beim showtooltip noch den Zauber einfügen, damit du in diesen Fällen das Symbol vom Power Word: Shield angezeigt bekommst.
In der aktuellen Form wird das automatisch anhand der zutreffenden Bedingung gewählt.
Vielen Dank für deine detaillierte und aufschlussreiche Antwort.

Macro funktioniert perfekt und ist schön kurz.
Jetzt ist mir das um Einiges verständlicher und dass man das so zusammenfassen kann wusste ich nicht.

Danke für Deinen Post.

Hallo, ich suche was ähnliches.
Ich würde gerne als Heiler immer mal Schaden auf das Ziel des Tanks machen ohne das Ziel zu wechseln.
Ich stelle mir vor das Macro checkt:
Ziel feindlich - Schaden drauf,
Ziel nicht feindlich - dann Schaden auf das Ziel vom Ziel.

Danke schonmal im Voraus!

/cast [harm,nodead][@targettarget,harm,nodead] ZAUBER

Ein Lob dafür, dass du die Suche benutzt hast.
Allerdings hättest du in diesem Fall auch ein neues Thema erstellen dürfen. :wink:

1 Like