member ShouldEquip(string ItemGUID) { if ${This.NewItemWeight[${ItemGUID}]} > ${This.CurrentItemWeight[${Item[${ItemGUID}].EquipSlot}]} { return TRUE } return FALSE } member CurrentItemWeight(string MyEquipSlot) { return ${Math.Calc[${Me.Equip[${MyEquipSlot}].${PrimStat}} + (${Me.Equip[${MyEquipSlot}].${SecStat}}*.9) + (${Me.Equip[${MyEquipSlot}].Armor}*${This.ClassArmorWeight})]} } member NewItemWeight(string NewItemGUID) { return ${Math.Calc[${Item[${NewItemGUID}].${PrimStat}} + (${Item[${NewItemGUID}].${SecStat}}*.9) + (${Item[${NewItemGUID}].Armor}*${This.ClassArmorweight})]} } member ClassArmorWeight() { if ${Me.Class.Equal[Warrior]} || ${Me.Class.Equal[Paladin]} { return .75 } if ${Me.Class.Equal[Rogue]} || ${Me.Class.Equal[Shaman]} || ${Me.Class.Equal[Hunter]} { return .4 } if ${Me.Class.Equal[Warlock]} || ${Me.Class.Equal[Priest]} || ${Me.Class.Equal[Mage]} { return .25 } } method AutoEquip() { variable int counter = 1 variable guidlist ItemSearch ;For now, using PrimStat and SecStat as the stat vars This:SetArmorType() ItemSearch:Search[-items,-inventory] echo "AutoEquip: ItemSearch Count - ${ItemSearch.Count}, ItemSearch[${Math.Calc[${ItemSearch.Count}-1]}] - ${ItemSearch[${Math.Calc[${ItemSearch.Count}-1]}]}" do { if ${ItemSearch[${counter}].SubType.Equal[${ArmorType}]} { if ${This.ShouldEquip[${ItemSearch[${counter}].GUID}] { ItemSearch[${counter}]:Use WoWScript EquipPendingItem(0) } } counter:Inc } while ${ItemSearch[${counter}](exists)} }