Sonntag, 11. August 2019

Pet Battle Script Befehle

Das Script wird in jeder Runde von oben nach unten abgearbeitet. Es stoppt, sobald eine Zeile passt und diese wird dann ausgeführt. Daher gibt es so viele Nebenbedingungen.

Ability und use scheinen die gleichen Befehle zu sein.

Bedingungen kann man mit if-endif Klammern oder in eckigen Klammern hinter den Befehl schreiben, wenn es nur eine Aktion ist.

Die Nummer der Fähigkeit kann man sich aus der Datenbank bei wowhead holen:
https://de.wowhead.com/battle-pet-abilities oder mit Addons direkt im Tooltipp der Fähigkeit.

Der Name davor scheint nur für die bessere Lesbarkeit zu sein. Es ist auch egal, ob da die Fähigkeit in deutsch oder englisch steht.

ability(Rain Dance:1062)
ability(1062)
ability(#1)
use(Spirit Claws:974)
use(#1)

Wechsel der Pets:
change(next)
change(#1)
change(#2)
change(#3)

if [ enemy(#2).active ]
<Anweisung>
endif

if [enemy(#3).dead]
<Anweisung>
endif

if [ self(Iron Starlette:1387).active ]
<Anweisung>
endif

Bedingungen können auch direkt hinter den Befehl geschrieben werden:
ability(#1) [ enemy.hp <= 222 ]

[ enemy.hp <= 222 ]
[ enemy(#2).hp < 452 ]
[ enemy(#3).active ]
[ enemy(#3).dead ]
[ enemy(#2).hp<1043 ]
[ enemy(#3).dead & enemy.round=1 ]
[ enemy(#3).dead & !self(#2).played ]
[ enemy.ability(Amplify Magic:488).usable ]
[ !self(#2).played & enemy(#1).dead ]
[ self.hp.full ]
[ !self.aura(Shell Shield:309).exists ]
[ self.aura(Shell Shield:309).duration~1 ]
[ self.speed.fast ] -- Schneller als der Gegner
[ enemy.aura(Undead:242).exists]
[ self.round~1,3] -- In der eigenen Runde 1 und 3
[ round~10 ] (?)
[ round=5 ]
[self.ability(dive:564).usable]

Immer in Runde 1 und 3 bei jedem Pet:
ability(#1) [self.round~1,3]

Nichts tun in der Wiederbelebungsrunde der Untoten
standby [enemy.aura(Undead:242).exists]

Wettereffekte nur, wenn sie abgelaufen sind:
ability(Moodfeuer:595) [!weather(Mondlicht:596)]
ability(Arkaner Sturm:589) [!weather(Arkane Winde:590)]

Nichts tun:
standby

Benutzt das Schild immer, wenn es sinnvoll ist. Wenn man kein Schild hat, die Laufzeit vom Schild in einer Runde abläuft oder wenn der Gegener in der Untot-Wiederauferstehungs-Phase ist.

use(Shell Shield:310) [!self.aura(Shell Shield:309).exists]
use(Shell Shield:310) [self.aura(Shell Shield:309).duration~1]
use(Shell Shield:310) [enemy.aura(Undead:242).exists]

TODO: Was ist enemy.type?

change(#2) [enemy.type=2]
change(#2) [enemy.type=4]
change(#3) [enemy.type=6]

Anleitung auf reddit

tdbattlepetscript, battlepetscript, petbattlescript, scripts

Keine Kommentare: