Code:
<var name="StopTrigger">False</var>
<if Spell="Fight|Heel" PetIsValid="True">
<var cmd="set PetStatus PetEngaged"/>
<var cmd="set StopTrigger True"/>
<if Spell="Fight">
<command>wait 10; var set StopTrigger False; blizzaga V <pet></command>
</if>
<else>
<command>wait 30; var set StopTrigger True; blizzaga V <pet></command>
</else>
</if>
<elseif Spell="Leave|Stay">
<var cmd="set PetStatus PetIdle"/>
<var cmd="set StopTrigger True"/>
</elseif>
<elseif Spell="Sic|$ReadyTPmoves" Advanced="%PetTP > 100">
<castdelay delay=".5"/>
<equip When="precast" Set="SicReady"/>
<aftercastdelay delay="1.5"/>
</elseif>
<elseif Spell="Call Beast">
<castdelay delay=".5"/>
<equip When="precast" Set="CallBeast"/>
<var cmd="set PetStatus PetIdle"/>
</elseif>
<elseif Spell="Charm|Tame|Spur|Reward">
<castdelay delay=".5"/>
<equip When="precast" Set="%Spell"/>
<if Spell="Charm">
<equip When="precast"> <main>Apollo's Staff</main> </equip>
<var cmd="set PetStatus PetIdle"/>
</if>
<elseif Spell="Spur" advanced='"$Spur"=="up"' PetIsValid="True">
<var cmd="set Spur down"/>
<command>wait 180; sc var set Spur up; input /ja Spur <me></command>
</elseif>
</elseif>
<if Spell="Blizzaga V">
<if Advanced='"%StopTrigger"="False"'>
<if PetIsValid="True" Advanced='"%IsInCombat"=1'>
<var cmd="set PetStatus PetEngaged"/>
<command>wait 5; blizzaga V <pet></command>
</if>
<else>
<var cmd="set PetStatus PetIdle"/>
</else>
</if>
<cancelspell />
</if>
<if Status="engaged">
<equip When="precast|engaged|aftercast" Set="Engaged"/>
</if>
<elseif Status="Idle">
<if PetIsValid="True" Advanced='"%IsInCombat"="1"'>
<var cmd="set PetStatus PetEngaged"/>
</if>
<else> <var cmd="set PetStatus PetIdle"/> </else>
<equip When="Idle|aftercast" Set="Idle$PetStatus"/>
</elseif>
<elseif Status="Resting">
<equip When="Resting" Set="Resting"/>
</elseif>
Here I've done a few things:
- Removed the autoset rule (you don't need it now)
- Included the PetFighting TriggerSpell from before
- Made "Fight" call the trigger 10 seconds after you use it (allows 10 seconds for pet to engage mob - change to suit your needs)
- Made "Heel" call the trigger 30 seconds after you use it (allows 30 seconds of your pet getting beaten on in your IdlePetEngaged gear when Heel'd - change to suit your needs)
The Trigger does the following:
-
Fires up SpellCast (so your gear rules will be called)
- If you've
got a pet out and your pet (if %IsInCombat works for pet, otherwise yourself) is flagged as
InCombat, your idle gear is set to
PetEngaged
- If your pet it
NotInCombat, your idle gear is set to
PetIdle
- Further to the above, the
trigger calls itself 5 seconds later only if your pet and/or you are InCombat
Summary:
- "Fight", "Heel", "Leave" and "Stay" all immediately stop the trigger from acting to ensure their rules work.
- "Fight" and "Heel" re-enable the trigger and start a Trigger-Cycle 10 seconds and 30 seconds after use respectively.
This all means you'll get the outcomes you desire, your equip will change a maximum of 5 seconds after your pet kills its mob and the trigger only calls itself if your pet is currently fighting - as soon as the fight is over it'll stop self-calling.