StackItem
not ratedAllows for stackng of items that have charges.
function HasItemtype takes unit whichUnit, item this returns item
local integer i = 0
local item whichItem = null
local integer itemType = GetItemTypeId(this)
if whichUnit != null then
loop
exitwhen i > 6
set whichItem = UnitItemInSlot(whichUnit, i)
if GetItemTypeId(whichItem) == itemType and whichItem != this then
return whichItem
endif
set i = i + 1
endloop
endif
return null
endfunction
function StackItem takes unit whichHero, item whichItem returns nothing
local item stack = HasItemtype(whichHero,whichItem)
local integer itemCharges = GetItemCharges(stack)
if stack != null and stack != whichItem and itemCharges > 0 then
call SetItemCharges( stack, itemCharges+ GetItemCharges(whichItem))
call RemoveItem( whichItem)
endif
endfunctionNo comments.