For the mother of life i can not get it to equip all the gear onto the Pet any thoughts
This Thing works wonders i will use it only draw back that i have is i raid and some of those spells gems like slot 1 and 2 i use for gather potential and Twincast and those are long reloaders but other then that this thing is awesome thanks man
it doesnt seem to pull the aa i have it and still loads the spell gem
|-- If i have the aa, cast it and skip last buff (Aegis of Kildrakun)
/if (${Me.AltAbilityReady[Aegis of Kildrakun]}) {
/call Cast "Aegis of Kildrakun" alt
/for ival 1 to 6
} else {
/for ival 1 to 7
}
Hey Druid, Thank you so much for this fantastic pet setup macro. I have been trying to get it all working for myself and found a few spelling errors in the code for the Aegis of Kildrukaun spell, that i corrected and got the AA useage side of things working. I have found that even though i have the AA buff up the macro still tries to Mem and Cast the spell form of Aegis of Kildrukaun which isnt a real problem as the spell just bounces because the AA is better.
If you are still doing mods to this Macro any chance you could include in the code the casting and equiping of "Grant Enibik's Heirlooms" which are lvl 86 Focus items.
Thank you for your fantastic work.
Level 58 mag spell, pet buff: sow.Great Macro,
However, the first spell buff says "Velocity"
I've looked everywhere, what spell is that? My mage is 90 and I don't have any spell like that, can't find it on alla either.
the 86+ pets dont already come with the heirloom items?
Thought they came with all but weapons
#include spell_routines.inc
|--------------------------------------------------------------------------------
|SUB: Main
|--------------------------------------------------------------------------------
Sub Main
/declare ival int outer
/declare bag string outer
/declare slot string outer
/declare invSlotName string outer
/declare CastDelay int outer
/declare CastRetryTime int outer 6
/declare NormalSpellSet string outer main
/declare PetSpellSet string outer Pet
/declare oldPrimary string outer
/declare PetSummonSpell string outer "Facet of Air"
/declare PetSummonSpellGem int outer 1
/declare SpellPetHasteItem string outer "Grant Visor of Vabtik"
/declare SpellPetHasteItemGem int outer 3
/declare PetHasteItem string outer "Summoned: Visor of Vabtik"
/declare SpellPetWep string outer "Grant Manaforged Armaments"
/declare SpellPetWepGem int outer 2
/declare PetWeaponPack string outer "Folded Pack of Manaforged Armaments"
/declare PetWep1 string outer "Summoned: Manaforged Mindblade"
/declare PetWep2 string outer "Summoned: Manaforged Mindblade"
/declare SpellPetArmor string outer "Grant Manaforged Plate"
/declare SpellPetArmorGem int outer 4
/declare PetArmorPack string outer "Folded Pack of Manaforged Plate"
/declare PetArmor1 string outer "Manaforged Plate Helm"
/declare PetArmor2 string outer "Manaforged Plate Vambraces"
/declare PetArmor3 string outer "Manaforged Plate Gauntlets"
/declare PetArmor4 string outer "Manaforged Plate Boots"
/declare PetArmor5 string outer "Manaforged Plate Bracers"
/declare PetArmor6 string outer "Manaforged Plate Breastplate"
/declare PetArmor7 string outer "Manaforged Plate Greaves"
/declare PetArmor8 string outer "Summoned: Manaforged Belt"
/declare SpellHeirloom string outer "Grant Enibik's Heirlooms"
/declare SpellHeirloomGem string outer 5
/declare HeirloomPack string outer "Folded Pack of Enibik's Heirlooms"
/declare Heirloom1 string outer "Enibik's Satin Choker"
/declare Heirloom2 string outer "Enibik's Woven Shawl"
/declare Heirloom3 string outer "Enibik's Linked Bracelet"
/declare Heirloom4 string outer "Enibik's Gold Ring"
/declare Heirloom5 string outer "Enibik's Ridged Earhoop"
/declare Heirloom6 string outer "Enibik's Jade Bracelet"
/declare SpellPetBuff1 string outer "Velocity"
/declare SpellPetBuff1Gem int outer 6
/declare SpellPetBuff2 string outer "Burnout X"
/declare SpellPetBuff2Gem int outer 7
/declare SpellPetBuff3 string outer "Spectral Symbiosis Rk. II"
/declare SpellPetBuff3Gem int outer 8
/declare SpellPetBuff4 string outer "Aegis of Kildrukaun"
/declare SpellPetBuff4Gem int outer 9
|------------------------------------------------------------------------
| --- Bypass all settings and config pet type. ---
/if (${Defined[Param0]}) {
/if (${Param0.Equal[air]}) {
/varset PetSummonSpell "Construct of Air"
} else /if (${Param0.Equal[water]}) {
/varset PetSummonSpell "Construct of Water"
} else /if (${Param0.Equal[fire]}) {
/varset PetSummonSpell "Construct of Fire"
} else /if (${Param0.Equal[earth]}) {
/varset PetSummonSpell "Construct of Earth"
}
}
/if (${Defined[Param1]}) {
/if (${Param1.Equal[wind]}) {
/varset PetWep1 "Summoned: Manaforged Shortsword"
} else /if (${Param1.Equal[fire]}) {
/varset PetWep1 "Summoned: Manaforged Fireblade"
} else /if (${Param1.Equal[ice]}) {
/varset PetWep1 "Summoned: Manaforged Iceblade"
} else /if (${Param1.Equal[taunt]}) {
/varset PetWep1 "Summoned: Manaforged Ragesword"
} else /if (${Param1.Equal[detaunt]}) {
/varset PetWep1 "Summoned: Jolting Mindblade"
}
}
/if (${Defined[Param2]}) {
/if (${Param2.Equal[wind]}) {
/varset PetWep2 "Summoned: Manaforged Shortsword"
} else /if (${Param2.Equal[fire]}) {
/varset PetWep2 "Summoned: Manaforged Fireblade"
} else /if (${Param2.Equal[ice]}) {
/varset PetWep2 "Summoned: Manaforged Iceblade"
} else /if (${Param2.Equal[taunt]}) {
/varset PetWep2 "Summoned: Manaforged Ragesword"
} else /if (${Param2.Equal[detaunt]}) {
/varset PetWep2 "Summoned: Jolting Mindblade"
}
}
|------------------------------------------------------------------------
|--- pack8=30 - pack9=31 - pack10-32
/if (${String[${FindItem[${InvSlot[32].Item}]}].NotEqual[NULL]}) {
/beep
/echo Item is in pack10 (${InvSlot[32].Item}), quitting.
/end
}
/call SummonPet
/return
|--------------------------------------------------------------------------------
|--------------------------------------------------------------------------------
|SUB: Summon Pet
|--------------------------------------------------------------------------------
Sub SummonPet
/memspellset ${PetSpellSet}
|-------------------------------------------------
/if (!${Me.Pet.ID} ) {
:SummonMyPet
/if (!${Me.Gem[${PetSummonSpell}]}) {
/echo Attempting to load ${PetSummonSpell} in slot ${PetSummonSpellGem}.
/memspell ${PetSummonSpellGem} ${PetSummonSpell}
}
:PetSummonWait
/delay 1s
/if (!${Me.SpellReady[${PetSummonSpell}]}) /goto :PetSummonWait
/echo Summoning my pet.
/varcalc CastDelay 2*${Spell[${PetSummonSpell}].RecoveryTime}
/call Cast ${PetSummonSpell} ${CastRetryTime}
/delay ${CastDelay}s
/doevents
/if (!${Me.Pet.ID}) /goto :SummonMyPet
}
|-------------------------------------------------
/if (${Me.Pet.ID}) {
/target ${Me.Pet.CleanName}
/delay 1s
/keypress back hold
/delay 3
/keypress back
/delay 1s
|--------------------------------------------------
|-- Load Pet Weapon spell and give it x2
|--------------------------------------------------
/if (!${Me.Gem[${SpellPetWep}]}) {
/echo Attempting to load ${SpellPetWep} spell in slot ${SpellPetWepGem}.
/memspell ${SpellPetWepGem} ${SpellPetWep}
:PetWepSpellWait
/delay 1s
/if (!${Me.SpellReady[${SpellPetWep}]}) /goto :PetWepSpellWait
}
/varcalc CastDelay 2*${Spell[${SpellPetWep}].RecoveryTime}
/echo + Summoning pet weapons for ${Me.Pet.CleanName}.
/target ${Me.CleanName}
/delay 10
/call Cast ${SpellPetWep} ${CastRetryTime}
/delay ${CastDelay}s
/doevents
/if (${Cursor.ID}) /autoinventory
/delay 5
|--- Click the "Folded Pack of Manaforged Armaments"
/varset slot ${FindItem[${PetWeaponPack}].InvSlot}
/itemnotify ${InvSlot[${slot}]} rightmouseup
/delay 4s
/if (${Cursor.ID}) /autoinventory
/delay 5
/if (!${Window[InventoryWindow].Open}) /keypress Inventory
/delay 5 ${Window[InventoryWindow].Open}
/call GetInvSlotID "Pouch of Quellious"
/varset bag ${invSlotName}
/itemnotify ${Me.Inventory[${bag}].InvSlot} rightmouseup
/delay 5
/target ${Me.Pet.CleanName}
/delay 10
/for ival 1 to 2
/varset slot ${FindItem[${PetWep${ival}}].InvSlot}
/itemnotify ${InvSlot[${slot}]} leftmouseup
/delay 5
:OpenGiveWindowA
/echo - Giving (${Cursor.Name}) to (${Target.CleanName}).
/nomodkey /click left target
/delay 3s ${Window[GiveWnd].Open}
/if (!${Window[GiveWnd].Open}) /goto :OpenGiveWindowA
/next ival
/notify GiveWnd GVW_Give_Button leftmouseup
/delay 5
/itemnotify ${Me.Inventory[${bag}].InvSlot} leftmouseup
/delay 5
/if (${Cursor.ID}) /destroy
/echo Closing inventory.
/keypress I
/delay 5
|--------------------------------------------------
|--------------------------------------------------
|-- Load Pet haste item spell and give it x1
|--------------------------------------------------
/if (!${Me.Gem[${SpellPetHasteItem}]}) {
/echo Attempting to load ${SpellPetHasteItem} spell in slot ${SpellPetHasteItemGem}.
/memspell ${SpellPetHasteItemGem} ${SpellPetHasteItem}
:PetItem1Wait
/delay 1s
/if (!${Me.SpellReady[${SpellPetHasteItem}]}) /goto :PetItem1Wait
}
/varcalc CastDelay 2*${Spell[${SpellPetHasteItem}].RecoveryTime}
/echo + Summoning ${PetHasteItem} for ${Me.Pet.CleanName}.
/target ${Me.CleanName}
/delay 10
/call Cast ${SpellPetHasteItem} ${CastRetryTime}
/delay ${CastDelay}s
/doevents
/target ${Me.Pet.CleanName}
/delay 10
:OpenGiveWindowB
/echo - Giving (${Cursor.Name}) to (${Target.CleanName}).
/nomodkey /click left target
/delay 3s ${Window[GiveWnd].Open}
/if (!${Window[GiveWnd].Open}) /goto :OpenGiveWindowB
/notify GiveWnd GVW_Give_Button leftmouseup
/delay 5
/echo Closing inventory.
/keypress I
/delay 5
|--------------------------------------------------
|--------------------------------------------------
|-- Load Pet Armor spell and give it x8
|--------------------------------------------------
/if (!${Me.Gem[${SpellPetArmor}]}) {
/echo Attempting to load ${SpellPetArmor} spell in slot ${SpellPetArmorGem}.
/memspell ${SpellPetArmorGem} ${SpellPetArmor}
:PetArmorSpellWait
/delay 1s
/if (!${Me.SpellReady[${SpellPetArmor}]}) /goto :PetArmorSpellWait
}
/varcalc CastDelay 2*${Spell[${SpellPetArmor}].RecoveryTime}
/echo + Summoning pet armor for ${Me.Pet.CleanName}.
/target ${Me.CleanName}
/delay 10
/call Cast ${SpellPetArmor} ${CastRetryTime}
/delay ${CastDelay}s
/doevents
/if (${Cursor.ID}) /autoinventory
/delay 5
|--- Click the "Folded Pack of Manaforged Plate"
/varset slot ${FindItem[${PetArmorPack}].InvSlot}
/itemnotify ${InvSlot[${slot}]} rightmouseup
/delay 4s
/if (${Cursor.ID}) /autoinventory
/delay 5
/if (!${Window[InventoryWindow].Open}) /keypress Inventory
/delay 5 ${Window[InventoryWindow].Open}
/call GetInvSlotID "Phantom Satchel"
/varset bag ${invSlotName}
/itemnotify ${Me.Inventory[${bag}].InvSlot} rightmouseup
/delay 5
/target ${Me.Pet.CleanName}
/delay 10
/for ival 1 to 4
/varset slot ${FindItem[${PetArmor${ival}}].InvSlot}
/itemnotify ${InvSlot[${slot}]} leftmouseup
/delay 5
:OpenGiveWindowC
/echo - Giving (${Cursor.Name}) to (${Target.CleanName}).
/nomodkey /click left target
/delay 3s ${Window[GiveWnd].Open}
/if (!${Window[GiveWnd].Open}) /goto :OpenGiveWindowC
/next ival
/notify GiveWnd GVW_Give_Button leftmouseup
/delay 5
/for ival 5 to 8
/varset slot ${FindItem[${PetArmor${ival}}].InvSlot}
/itemnotify ${InvSlot[${slot}]} leftmouseup
/delay 5
:OpenGiveWindowD
/echo - Giving (${Cursor.Name}) to (${Target.CleanName}).
/nomodkey /click left target
/delay 3s ${Window[GiveWnd].Open}
/if (!${Window[GiveWnd].Open}) /goto :OpenGiveWindowD
/next ival
/notify GiveWnd GVW_Give_Button leftmouseup
/delay 5
/itemnotify ${Me.Inventory[${bag}].InvSlot} leftmouseup
/delay 5
/if (${Cursor.ID}) /destroy
/echo Closing inventory.
/keypress I
/delay 5
|--------------------------------------------------
|--------------------------------------------------
|-- Buff Pet Fully
|--------------------------------------------------
|-- If i have the aa, cast it and skip last buff (Aegis of Kildrukaun)
/if (${Me.AltAbilityReady[Aegis of Kildrukaun]}) {
/call Cast "Aegis of Kildrukaun" alt
/for ival 1 to 3
} else {
/for ival 1 to 4
}
/if (!${Me.Gem[${SpellPetBuff${ival}}]}) {
/echo Attempting to load ${SpellPetBuff${ival}} spell in slot ${SpellPetBuff${ival}Gem}.
/memspell ${SpellPetBuff${ival}Gem} ${SpellPetBuff${ival}}
:BuffPetWait
/delay 1s
/if (!${Me.SpellReady[${SpellPetBuff${ival}}]}) /goto :BuffPetWait
}
/varcalc CastDelay 2*${Spell[${SpellPetBuff${ival}}].RecoveryTime}
/echo +++ Casting ${SpellPetBuff${ival}} on ${Me.Pet.CleanName}.
/call Cast ${SpellPetBuff${ival}} ${CastRetryTime}
/delay ${CastDelay}s
/doevents
/next ival
|--------------------------------------------------
|--------------------------------------------------
|-- Check for epic 2.0/1.5 buff on pet.
|--------------------------------------------------
|-- Check for epic 2.0 and cast.
/if (${FindItem[Focus of Primal Elements].ID} && !${Target.Buff[Primal Fusion].ID}) {
/echo ++ Found epic 2.0 !
|/call EquipItem "Focus of Primal Elements"
/varset oldPrimary ${Macro.Return}
/call Cast "Focus of Primal Elements" item
|/call EquipItem ${oldPrimary}
|-- Check for epic 1.5 and cast.
} else /if (${FindItem[Staff of Elemental Essence].ID} && !${Target.Buff[Elemental Conjunction].ID}) {
/echo ++ Found epic 1.5 !
/call EquipItem "Staff of Elemental Essence"
/varset oldPrimary ${Macro.Return}
/call Cast "Staff of Elemental Essence" item
/call EquipItem ${oldPrimary}
}
|--------------------------------------------------
/if (${FindItem[Spectral Skull of the Fear].ID}) {
/call Cast "Spectral Skull of the Fear" item
/delay 8s
/call Cast "Spectral Skull of the Fear" item
/delay 2s
}
/echo --------------------------------------------------
/echo OK, *>>> ${Me.Pet.CleanName} <<<* is ready to rock !
/echo --------------------------------------------------
/memspellset ${NormalSpellSet}
/delay 5
/pet follow
/delay 5
/pet focus on
/delay 5
/pet ghold on
} |-- if Me.Pet.ID END
/return
|--------------------------------------------------------------------------------
|--------------------------------------------------------------------------------
|SUB: GetInvSlotID
|--------------------------------------------------------------------------------
Sub GetInvSlotID(itemName)
/declare eqLoop int local 0
/declare equippedArray[33] string local
/varset equippedArray[1] head
/varset equippedArray[2] face
/varset equippedArray[3] neck
/varset equippedArray[4] rightear
/varset equippedArray[5] leftear
/varset equippedArray[6] arms
/varset equippedArray[7] hands
/varset equippedArray[8] rightwrist
/varset equippedArray[9] leftwrist
/varset equippedArray[10] rightfinger
/varset equippedArray[11] leftfinger
/varset equippedArray[12] shoulder
/varset equippedArray[13] back
/varset equippedArray[14] chest
/varset equippedArray[15] waist
/varset equippedArray[16] legs
/varset equippedArray[17] feet
/varset equippedArray[18] mainhand
/varset equippedArray[19] offhand
/varset equippedArray[20] ranged
/varset equippedArray[21] ammo
/varset equippedArray[22] charm
/varset equippedArray[23] powersource
/varset equippedArray[24] pack1
/varset equippedArray[25] pack2
/varset equippedArray[26] pack3
/varset equippedArray[27] pack4
/varset equippedArray[28] pack5
/varset equippedArray[29] pack6
/varset equippedArray[30] pack7
/varset equippedArray[31] pack8
/varset equippedArray[32] pack9
/varset equippedArray[33] pack10
/for eqLoop 1 to 33
/if (${Me.Inventory[${equippedArray[${eqLoop}]}].ID}==${FindItem[${itemName}].ID}) {
/varset invSlotName ${equippedArray[${eqLoop}]}
}
/next eqLoop
/return
|--------------------------------------------------------------------------------
/declare ShrinkItem string outer Spectral Skull of the Fear
/if (${Me.Pet.ID} && ${Me.Pet.Height}>1.5 && ${FindItem[=${ShrinkItem}].InvSlot} && !${FindItem[=${ShrinkItem}].Timer}) {
/call Cast "${ShrinkItem}" item
}