#Event LoreItem "#*#You cannot loot this Lore Item. You already have one.#*#"
#Event ALCantLoot "#*#may not loot this corpse#*#"
#Event Cloot "#*#Use Move Packets - OFF#*#"
|--- General Declares
/declare StartZone int outer ${Zone.ID}
/declare gn int outer
|--- Loot Declares
/declare LOOT bool outer TRUE
/declare ALDontLoot int outer
/declare CorpseRotTimer timer outer
/declare bag int outer
/declare slot int outer
/declare CurrentItemID int outer
/declare i int outer
/declare b int outer
/declare TrashReport bool outer FALSE
/call ALLoadVar Settings LootMobs TRUE bool
/call ALLoadVar Settings CorpseRotTime 1440s string
|- INI Stuff
Sub ALLoadVar(IniSection,IniVar,IniValue,VarType)
/if (!${Defined[${IniVar}]} && ${Defined[VarType]}) /declare ${IniVar} ${VarType} outer
/declare IniString string local ${Ini[Loot.ini,${IniSection},${IniVar},NOTFOUND]}
/varset ${IniVar} ${IniString}
/if (${IniString.Equal["NOTFOUND"]}) {
/if (${IniString.Equal["NOTFOUND"]}) /varset ${IniVar} ${IniValue}
/ini "Loot.ini" "${IniSection}" "${IniVar}" "${${IniVar}}"
}
/return
/return
Sub LootUp
/if (${DEBUG}) /echo Start Looting
/alert clear 25
/keypress open_inv_bags
/doevents flush
/doevent LoreItem
/doevents flush
/call KeepOrDestroy
:Loot
/if (${SpawnCount[corpse noalert 25]} && ${Zone.ID}==${StartZone} && ${LOOT}) {
/squelch /target corpse noalert 25
/delay 1s ${Target.ID}
/if (${Target.ID} && ${Target.Deity.ID} && ${Target.Type.Equal[Corpse]}) {
/alert add 25 id ${Target.ID}
/squelch /target clear
/delay 2s !${Target.ID}
}
/if (${Target.ID} && !${Target.Deity.ID} && ${Target.Type.Equal[Corpse]}) {
/varset LastID ${Target.ID}
/cloot all
/doevents LoreItem
/doevents
/doevents flush
/if (${Target.ID}==${ALDontLoot} && ${Spawn[${ALDontLoot}].ID}) /alert add 25 id ${ALDontLoot}
}
/if (!${CorpseRotTimer}) /varset CorpseRotTimer ${CorpseRotTime}
/if (!${CorpseRotTimer}) /alert clear 25
/call KeepOrDestroy
}
/if (${SpawnCount[corpse noalert 25]} && ${Zone.ID}==${StartZone} && ${LOOT}) /goto :Loot
/call KeepOrDestroy
/keypress close_inv_bags
/if (${DEBUG}) /echo End Looting
/return
Sub KeepOrDestroy
/if (${DEBUG2}) /echo KeeporDestroy
/for bag 1 to 8
/for slot 1 to ${InvSlot[pack${bag}].Item.Container}
/if (${InvSlot[pack${bag}].Item.Item[${slot}].ID} && !${Select[${Ini[Loot.ini,"${InvSlot[pack${bag}].Item.Item[${slot}].Name.Left[1]}","${InvSlot[pack${bag}].Item.Item[${slot}]}"]},Ignore,Keep,Destroy,Lore]}) {
/if (${InvSlot[pack${bag}].Item.Item[${slot}].NoDrop}) /ini "loot.ini" "${InvSlot[pack${bag}].Item.Item[${slot}].Name.Left[1]}" "${InvSlot[pack${bag}].Item.Item[${slot}]}" Ignore
/if (!${InvSlot[pack${bag}].Item.Item[${slot}].NoDrop}) /ini "loot.ini" "${InvSlot[pack${bag}].Item.Item[${slot}].Name.Left[1]}" "${InvSlot[pack${bag}].Item.Item[${slot}]}" Keep
}
/if (${Ini[Loot.ini,"${InvSlot[pack${bag}].Item.Item[${slot}].Name.Left[1]}","${InvSlot[pack${bag}].Item.Item[${slot}]}"].Equal[Destroy]}) {
/varset CurrentItemID ${InvSlot[pack${bag}].Item.Item[${slot}].ID}
/delay 1
/if (${TrashReport}) /echo Destroying ${InvSlot[pack${bag}].Item.Item[${slot}]} from Bag pack${bag} slot ${slot}
/shift /itemnotify in pack${bag} ${slot} leftmouseup
/delay 3s (${Cursor.ID}==${CurrentItemID})
/if (${Cursor.ID}==${CurrentItemID}) /destroy
/delay 1s !${Cursor.ID}
}
/next slot
/next bag
/return
Sub Event_ALCantLoot
/if (${DEBUG}) /echo Event ALCantLoot
/varset ALDontLoot ${LastID}
/return
Sub Event_LoreItem
/if (${DEBUG}) /echo Event LoreItem
/alert add 25 id ${LastID}
/varset ALDontLoot ${LastID}
/return