function MagicBottleActivated takes nothing returns nothing
local integer i = 0
local unit u = GetTriggerUnit()
local item bottle = GetManipulatedItem()
loop
exitwhen i > 5
if (UnitItemInSlot(u, i) == bottle) then
if (GetItemTypeId(bottle) == 'I01L') then // 3/3
call RemoveItem(bottle)
call UnitAddItemById(u, 'I01M')
elseif (GetItemTypeId(bottle) == 'I02R') then // 3/3 shared
call RemoveItem(bottle)
call UnitAddItemById(u, 'I02Q')
elseif (GetItemTypeId(bottle) == 'I01M') then // 2/3
call RemoveItem(bottle)
call UnitAddItemById(u, 'I01K')
elseif (GetItemTypeId(bottle) == 'I02Q') then // 2/3 shared
call RemoveItem(bottle)
call UnitAddItemById(u, 'I02P')
elseif (GetItemTypeId(bottle) == 'I01K') then // 1/3
call RemoveItem(bottle)
call UnitAddItemById(u, 'I01J')
call SetItemUserData(UnitItemInSlot(u, i), iN)
elseif (GetItemTypeId(bottle) == 'I02P') then // 1/3 shared
call RemoveItem(bottle)
call UnitAddItemById(u, 'I02N')
endif
set i = 5
elseif (UnitItemInSlot(u, i) == null) then
call UnitAddItemById(u, 'I01H')
endif
set i= i + 1
endloop
//Remove Space Takers Dummy item
set i = 0
loop
exitwhen i > 5
if (GetItemTypeId(UnitItemInSlot(u, i)) == 'I01H') then
call RemoveItem(UnitItemInSlot(u, i))
endif
set i = i + 1
endloop
set u = null
set bottle = null
endfunction