• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Problem - Warder's Unity not being buffed on BST pet

Joined
Mar 19, 2019
RedCents
1,926¢
Version of KissAssist.mac?
11.004
When did your problem start?
Always
Character Role?
  1. Assist
What class is having this issue?
  1. Beastlord
How often does this issue occur?
Always
My Beastlord is not buffing it's pet with Warder's Unity, it skips straight to Sekmoset's Aggression. BST is currently 102. and does have the spell scribed.

Code:
[Pet]
PetOn=1
PetSpell=Spirit of Lachemit 
PetFocus=NULL
PetShrinkOn=1
PetShrinkSpell=Shards of the Jungle Sentinel
PetBuffsSize=2
PetBuffsOn=1
PetBuffs1=Warder's Unity|Dual|Extraordinary Velocity    
PetBuffs2=Sekmoset's Aggression
PetCombatOn=1
PetAssistAt=98
PetAttackDistance=115
PetToysSize=1
PetBreakMezSpell=NULL
PetRampPullWait=0 
PetSuspend=0
MoveWhenHit=0
PetHoldOn=1
PetForceHealOnMed=0
PetToysGave=

Can anyone spot what I'm doing wrong?
 
I had the same issue on my BL. I ended up having to have the 2 buffs listed separately as the individual buffs (which worked fine), instead of the combination buff.
 
Going off memory that Extraordinary Velocity is overwritten by shaman/enchanter haste. If so perhaps kissassist detects that velocity is being blocked by shaman./enchanter haste and so drops this buff fine from the list. Rather have the dual check Spirit of Nak
 
Going off memory that Extraordinary Velocity is overwritten by shaman/enchanter haste. If so perhaps kissassist detects that velocity is being blocked by shaman./enchanter haste and so drops this buff fine from the list. Rather have the dual check Spirit of Nak

Thought about that, so stripped off all buffs before retrying and no go (although tbh I don't think I had chanter/shaman haste anyway).
 
Warder's Unity|Dual|Extraordinary Velocity
you can't do that in petbuffs my friend do it in the buff section and let the dual be the speed buff that lands on you. or song, i forget
 
Confirmed. Just tried your code on a quick pettank BST. KA doesn't try to cast the Dual entry. KA also doesn't report any error for the Unity entry during the petbuff section check at start up.

Tried these two versions for lvl 99 or lvl 109 buffs:
Code:
PetBuffs8=Warder's Unity|Dual|Extraordinary Velocity

PetBuffs8=Companion's Unity|Dual|Tremendous Velocity

If anybody's debugging, these Bst combo buffs cast two buffs on your pet. The pet haste then kicks back a group haste buff for the whole party. So you could in theory check for either of two buffs on the pet, or do it in [Buffs] and check yourself. But the lvl 99 is a weaker haste and can get overwritten if I recall from tests awhile back.

I skimmed the KA code and there is a section to handle Dual pet buffs, but I think it only checks |Duel for items that cast a different named buff. Maybe not for spells.
Code:
                |--- START: DUAL Handle for different Effect names versus their Item name
                DEBUGN CheckPetBuffs - Dual - ${1stPart} - ${3rdPart}
                /if (${PetBuffs[${i}].Arg[2,|].Equal[Dual]}) {
                    /if (${FindItem[=${1stPart}].ID}) {
                        /for j 1 to 50
                            /if (${Me.PetBuff[${j}].Name.Find[${PTempBuff}]}) /varset FoundPetBuff 1
                        /next j
                        /if (!${FoundPetBuff}) {
                            |Vebrose
                            /call CastWhat "${1stPart}" ${Me.Pet.ID} Pet ${CondNo}
                            /delay 20
                            /if (${Macro.Return.Equal[CAST_SUCCESS]}) /echo Buffing ${Me.Pet.CleanName}, my pet, with (${3rdPart})
                            /varset FoundPetBuff 0    
                            /continue
                        }
                    }
                }
                |--- END: DUAL Handle for different Effect names versus their Item name
 
Last edited:
Use this code and just replace the whole CheckPetBuffs routine:

Be Warned, I have not had a chance to test this, so there may be a syntax error or something, but this change checks for dual for spells in your book, altabilities you have and items.

Code:
    Sub CheckPetBuffs
        /if (!${Me.Pet.ID}) /return
        /if (!${PetOn}) /return
        /if (!${PetBuffsOn}) /return
        /if (${CombatStart}) /return
        /if (${Pulling}) /return
        /if (${PetBuffCheck}) /return
        /if (${Me.Invis}) /return
        DEBUGN CheckPetBuffs Enter
        /declare PTempBuff string local
        /declare PTempSpell string local
        /declare i int local
        /declare j int local
        /declare 1stPart string local 0
        /declare 2ndPart string local 0
        /declare 3rdPart string local 0               
        /declare FoundPetBuff int local 0
        /declare CondNo int local 0
        /varset PetBuffCheck 60s
        /for i 1 to ${PetBuffs.Size}
            /doevents
            | Stop pet buffing if aggro detected
            /if (${AggroTargetID}) /return
            /if (${PetBuffs[${i}].Equal[Null]}) /continue
            /varset 1stPart ${PetBuffs[${i}].Arg[1]}
            /varset 2ndPart ${PetBuffs[${i}].Arg[2]}
            /varset 3rdPart ${PetBuffs[${i}].Arg[3]}

            /if (${2ndPart.NotEqual[dual]}) /varset 3rdPart ${1stPart}

            /if (${ConOn} && ${PetBuffs[${i}].Find[|cond]}) {
                /varset CondNo ${PetBuffs[${i}].Mid[${Math.Calc[${PetBuffs[${i}].Find[|cond]}+5]},3]}
            } else {
                /varset CondNo 0
            }
            | Check for pet spells in book to prevent double casting of items
            /if (${Me.Book[${1stPart}]} || ${Me.AltAbility[${1stPart}]}) {
                /if (${1stPart.Find[ Rk.]}) {
                    /varset PTempSpell ${1stPart.Left[${Math.Calc[${1stPart.Find[ Rk.]}-1]}]}
                } else {
                    /varset PTempSpell ${1stPart}
                }
                /if (${3rdPart.Find[ Rk.]}) {
                    /varset PTempBuff ${3rdPart.Left[${Math.Calc[${3rdPart.Find[ Rk.]}-1]}]}
                } else {
                    /varset PTempBuff ${3rdPart}
                }
                DEBUGN CheckPetBuffs ${i} ${Me.PetBuff[${PTempBuff}]} ${PetBuffs[${i}]} ${PTempBuff}
                /for j 1 to 50
                    /if (${Me.PetBuff[${j}].Name.Find[${PTempBuff}]}) /varset FoundPetBuff 1
                /next j
                /if (!${FoundPetBuff}) {
                    | Vebrose
                    /call CastWhat "${1stPart}" ${Me.Pet.ID} Pet-nomem ${CondNo}
                    /delay 20
                    /if (${Macro.Return.Equal[CAST_SUCCESS]}) /echo Buffing ${Me.Pet.CleanName}, my pet, with ${1stPart}
                    /varset FoundPetBuff 0
                    /continue
                }
            } else /if (${FindItem[=${1stPart}].ID}) {
                /varset PTempSpell ${1stPart}
                /varset PTempBuff ${3rdPart}
                DEBUGN CheckPetBuffs ${FindItem[=${1stPart}].Spell} ${Me.PetBuff[${FindItem[=${1stPart}].Spell}]} ${Me.PetBuff[${3rdPart}]}
                /if (${Me.PetBuff[${FindItem[=${PTempSpell}].Spell}]}>0) /continue
                /if (${Me.PetBuff[${PTempBuff}]}>0) /continue
                DEBUGN CheckPetBuffs - Dual - ${1stPart} - ${3rdPart}
                /for j 1 to 50
                    /if (${Me.PetBuff[${j}].Name.Find[${PTempBuff}]}) /varset FoundPetBuff 1
                /next j
                /if (!${FoundPetBuff}) {
                    |Vebrose
                    /call CastWhat "${1stPart}" ${Me.Pet.ID} Pet ${CondNo}
                    /delay 20
                    /if (${Macro.Return.Equal[CAST_SUCCESS]}) /echo Buffing ${Me.Pet.CleanName}, my pet, with (${3rdPart})
                    /varset FoundPetBuff 0       
                    /continue
                }
            }
            |- Cast item clicky buff (ItemName and PetBuff = SAME)
            |/if (${FindItem[=${1stPart}].ID}) {
            |    /call CastWhat "${1stPart}" ${Me.Pet.ID} Pet ${CondNo}
            |}
            /varset FoundPetBuff 0
        /next i
        DEBUGN CheckPetBuffs Pet Height: ${Me.Pet.Height}
        /if (${Me.Pet.Height}>1.35 && ${PetShrinkOn}) {
            /call CastWhat "${PetShrinkSpell}" ${Me.Pet.ID} Pet 0
            /delay 20
        }
        /if (${Target.ID}==${Me.Pet.ID}) /squelch /target clear
        DEBUGN CheckPetBuffs Leave
    /return
 
Seeing similar behavior on my Beast and mage. Will not buff the pets at all.

[Pet]
PetOn=1
PetSpell=Spirit of Uluanes
PetFocus=NULL
PetShrinkOn=1
PetShrinkSpell=Tiny Companion
PetBuffsOn=1
PetBuffsSize=8
PetBuffs1=Spiritcaller Totem of the Feral|Dual|Might of the Wild
PetBuffs2=Steeltrap jaws Rk. II
PetBuffs3=NULL
PetBuffs4=NULL
PetBuffs5=NULL
PetBuffs6=NULL
PetBuffs7=NULL
PetBuffs8=NULL
PetCombatOn=1
PetAssistAt=95
PetToysSize=6
PetBreakMezSpell=NULL
PetRampPullWait=0
PetSuspend=0
MoveWhenHit=0
PetHoldOn=1
PetForceHealOnMed=0
PetToysGave=
PetAttackDistance=115


Was originally:
[Pet]
PetOn=1
PetSpell=Spirit of Uluanes
PetFocus=NULL
PetShrinkOn=1
PetShrinkSpell=Tiny Companion
PetBuffsOn=1
PetBuffsSize=8
PetBuffs1=Spiritcaller Totem of the Feral
PetBuffs2=Steeltrap jaws Rk. II
PetBuffs3=NULL
PetBuffs4=NULL
PetBuffs5=NULL
PetBuffs6=NULL
PetBuffs7=NULL
PetBuffs8=NULL
PetCombatOn=1
PetAssistAt=95
PetToysSize=6
PetBreakMezSpell=NULL
PetRampPullWait=0
PetSuspend=0
MoveWhenHit=0
PetHoldOn=1
PetForceHealOnMed=0
PetToysGave=
PetAttackDistance=115

Neither works.

And on the mage:
[Pet]
PetOn=1
PetSpell=Essence of Air
PetFocus=NULL
PetShrinkOn=1
PetShrinkSpell=Tiny Companion
PetBuffsOn=1
PetBuffsSize=8
PetBuffs1=Elemental Fury
PetBuffs2=Bulwark of Calliav
PetBuffs3=NULL
PetBuffs4=NULL
PetBuffs5=NULL
PetBuffs6=NULL
PetBuffs7=NULL
PetBuffs8=NULL
PetCombatOn=1
PetAssistAt=95
PetToysSize=6
PetToysOn=0
PetToys1=NULL
PetToys2=NULL
PetToys3=NULL
PetToys4=NULL
PetToys5=NULL
PetToys6=NULL
PetToysGave=NULL
PetBreakMezSpell=NULL
PetRampPullWait=0
PetSuspend=0
MoveWhenHit=0
PetHoldOn=1
PetForceHealOnMed=0
PetAttackDistance=115
 
On KA 11.005 I saw the same thing, the mage was completely skipping over pet buffs (not an issue with trying to use dual like the original post talks about, but just any pet buffing at all like the last comment states).
The macro has both CheckPetBuffs (new version) and CheckPetBuffs1 (old version) defined. Swapping them with each other seemed to fix the issue and the mage started buffing properly again, so something is wrong in the new CheckPetBuffs
 
Problem - Warder's Unity not being buffed on BST pet

Users who are viewing this thread

Back
Top
Cart