При вызове пробует собрать из <count> предметов типа <oldItemType> новый предмет типа <newItemType>
В случае успеха возвращает true.
Автор - Shadow Daemon
В случае успеха возвращает true.
Автор - Shadow Daemon
function UnitUpgradeItem takes unit u, integer oldItemType, integer count, integer newItemType returns boolean
local integer i = 0
local integer j = 0
local integer k = 0
loop
exitwhen i > 5 or j >= count
if GetItemTypeId(UnitItemInSlot(u, i)) == oldItemType then
set j = j + 1
set k = k * 16 + i + 1
endif
set i = i + 1
endloop
if j < count then
return false
endif
loop
exitwhen k <= 0
call RemoveItem(UnitItemInSlot(u, k - (k / 16) * 16 - 1))
set k = k / 16
endloop
call UnitAddItemById(u, newItemType)
return true
endfunction