Name | Type | is_array | initial_value |
AllPlayers | force | No | |
Area | group | Yes | |
BarbarianRageDrainTimer | integer | Yes | |
Button | button | Yes | |
chance | integer | Yes | |
Class | dialog | No | |
Dificult | dialog | No | |
Fury_Integer | integer | No | |
GroundStompDamage | real | Yes | |
Hero_Array | unitcode | Yes | |
MonkRageDrainTimer | integer | Yes | |
ponto | location | Yes | |
Quest | quest | Yes | |
Random_Count | integer | No | |
Random_Data | integer | Yes | |
Random_Hero | integer | No | |
Sample_Group | group | No | |
Sample_Point | location | No | |
TempUnitGroup | group | No | |
Total_Heroes | integer | No | |
unit | unit | Yes |
function Combine_Items_Conditions takes nothing returns boolean
return GetItemCharges(GetManipulatedItem()) > 0
endfunction
function Combine_Items_Actions takes nothing returns nothing
local item NEWITEM = GetManipulatedItem()
local unit OURUNIT = GetManipulatingUnit()
local integer MAXIMUM = 50 //The max no. of charges allowed
local integer ITEMCOUNT = 0
local integer ITEMLOOP = 0
local integer CHARGES = 0
loop
exitwhen ITEMLOOP > 6
if GetItemTypeId(NEWITEM) == GetItemTypeId(UnitItemInSlot(OURUNIT, ITEMLOOP)) then
if GetItemCharges(UnitItemInSlot(OURUNIT, ITEMLOOP)) + GetItemCharges(NEWITEM) <= MAXIMUM then
if not (UnitItemInSlot(OURUNIT, ITEMLOOP) == NEWITEM) then
set CHARGES = GetItemCharges(UnitItemInSlot(OURUNIT, ITEMLOOP)) + GetItemCharges(NEWITEM)
call SetItemCharges(UnitItemInSlot(OURUNIT, ITEMLOOP), CHARGES)
call RemoveItem(NEWITEM)
set ITEMLOOP = 7
endif
endif
endif
if (ITEMLOOP < 7) then
set ITEMLOOP = ITEMLOOP + 1
endif
endloop
set NEWITEM = null
set OURUNIT = null
endfunction
function InitTrig_Combine_Items takes nothing returns nothing
set gg_trg_Combine_Items = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Combine_Items, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_Combine_Items, Condition( function Combine_Items_Conditions ) )
call TriggerAddAction( gg_trg_Combine_Items, function Combine_Items_Actions )
endfunction