MagePet maker.

great i have pl my mage this night to go to 88 thanks for the macro
 
For the mother of life i can not get it to equip all the gear onto the Pet any thoughts
 
For the mother of life i can not get it to equip all the gear onto the Pet any thoughts

Hi,

I received a PM from someone last week asking for help on the magepet.mac, not sure if it was you.. or if my suggestions to the reply PM ersolved the issue.. since i never got a reply back.

If you are still having issues... let me try and help you.

1) What level is your mage ? the Magepet90.mac is intended for a mage who is level 90, with the armor, weapon and haste item spells that are from HOT expansion. If he is not level 90, or does not have all 3 of the newest item spells for the pet .... this will cause a failure.

2) The macro requires that you have your last inventory slot free, this is to be able to place the summoned folded bag in that inventory slot.. to be able to click it.. and produce the satchel containing the items to equip. It is set to check if pack10 (${InvSlot[32]}) is free ... but it you have a completely free inventory slot besides pack10 available.. this might cause an issue... I think i accounted for this in the code.. but i have no way to check it atm.

3) Are you getting any specific error messages in the MQ2chat window.. if so.. please reply with the exact error message...

4) Make sure you are using the correct macro syntax for the magepet90.mac ... as i listed above.

5) I've rechecked the code.. and I am right clicking the folded packs for the weapons and armor in order to create the phantom satchel and pouch of quelios... so if it is failing at this part.. i need to know.

6) Make sure you are using the MQUI_BagWnd.xml file. It should be in your MacroQuest2\UIFiles\Default folder. This is used to properly account for bag positions since the SOE change of bag slot handling.

I'll help you get this fixed as long as you help me with detailing the error or the situation you are having.
 
Last edited:
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
 
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


You can change the gem slot numbers for any of the buffs with the exception of Aegis of Kildrukaun Rk. ???.... ( it is set for gem7 ... it will use your AA if you have it first though... )
 
it doesnt seem to pull the aa i have it and still loads the spell gem
 
it doesnt seem to pull the aa i have it and still loads the spell gem

I believe I have the code section right for that....

Code:
	   |-- 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
	   }

If you have the aa ability "Aegis of Kildrakun" and it is ready to use .... cast it .. and only do 6 buffs and not the 7th buff of the spell version of "Aegis of Kildrakun"

If you do not have this code.. or it is not correct... I need to know.
 
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.

:)
 
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.

:)

Here is the changes you asked for.

Please test it and let me know the results.

All syntax is the same as the MagePet90.mac for selecting weapon combinations. This one is called MagePet90H.mac to distinguish it as the heirloom included macro.
 
Last edited:
Thanks Alot TreeHuginDruid that works fantasticly. Once again thank you for your time and effort and a great little utility.

Regards :)
 
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
 
feedback requested

Hey all. Recently came back to eq and been playing/leveling my mage again. I remember when I first put out this gem I received and endless barrage of pm's from members asking how to update it for this new (pet/weapon set/mask/armor set/heirloom pack).

I got sick of telling peeps to just edit the declares or adding special functions for them by request.

Well since I came back I decided to make a one stop shop version of magepet.mac. This one will support mages lvl 80 to 100. It will auto-detect your level, autoset best pet to use/weapons to give/mask to give/armor to give/buffs to cast --- based on your level and what parameters you pass to it.

It will also check for the best spells to use for ALL these things based on your level/what is the highest rank (initial/rk. II/rk. III) you have in your spellbook. It will also warn you if it is using a lower tier of pet/items/buffs because you do not have the best availabe tier version in your spellbook. (Really only useful for buff spells, since there is NO excuse not to have the newest pet/item spells since they are all purchased!).

I am about 75% done with it. Working out conditional kinks atm. Then need to test some functions ( I am asking for volunteers to beta test it for me b4 I release an official version).

If you want to be a beta tester you need to be willing to communicate via pm's to me any and all issues you encounter.

I am accepting no more than 10 testers ( 2 lvl range 81 to 85, 2 lvl range 86 to 90, 2 lvl range 91 to 95, and finally 2 lvl range 96 to 100).

If you want to be beta tester, are in given ranges, and willing to provide pm feedback of issues... Pm me with a request, and PLEASE list your mages lvl.
First come first serve, once I get 2 testers for each range the signups end. DO NOT reply a request to this posting, they will all be ignored and requested to be removed by moderator.

Pm requests only please. I will announce beta testing recruitment has ended in a followup post as soon as I get my 10 testers.

When beta testing ends I will post the alpha release on this thread, with full compiled instructions/required parameters/optional parameters.

Hope to get all testers sighned up by end of week --- Friday, 12-13-2013. (Friday the 13th ...lol)
 
Well ... no PM's yet with anyone wishing to beta test it.... (sigh)

Let's hope I get some peeps by end of week... kinda need peeps of diff level range to beta test it.
 
Ok I made some fixes to the level 90 version of the macro. A lot of necessary lines were commented out. I also reduced the number of buffs. It wasn't giving the heirlooms properly but since my pet is 92, he has them already, so I removed the code.

I wanted the mac to use the shrink earring twice but it won't do it. It only does it once. No idea why.

Code:
#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
|--------------------------------------------------------------------------------
 
Last edited:
Artemus,
For pet shrink, you can just do something like:

Code:
/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
  }