Name | Type | is_array | initial_value |
AngerShop | integer | No | |
AnniRegion | rect | No | |
ARHCIMONDE | unit | No | |
Arrow | effect | Yes | |
ArrowBoolean | boolean | Yes | |
BattleSpear | effect | No | |
Blood | integer | No | |
CHOOSE | unit | Yes | |
Choose1stDes | integer | No | |
Choose1stHou | integer | No | |
Choose1stWar | integer | No | |
CHooseSide | integer | No | |
CHooseSide2 | integer | No | |
CHooseSide3 | integer | No | |
DemonsLeft | integer | No | |
Dialog1 | dialog | No | |
DialogButon | button | Yes | |
DieUnit | unit | No | |
Dragon | effect | No | |
DragonStructure | effect | No | |
Experience | real | Yes | |
ExperienceGain | real | Yes | 100.00 |
FelBlood | integer | Yes | |
Felguard100 | integer | Yes | |
FMSlow | group | No | |
Frostmourne | effect | Yes | |
FrostNovaR | effect | Yes | |
FrostNovaRNro | integer | No | |
FrostSpecialRemove | effect | Yes | |
Frozen | rect | No | |
GroupAll | force | No | |
Hero | unit | Yes | |
HeroNumber | integer | Yes | |
Infernal | unit | Yes | |
IonRegion | rect | No | |
KILJA | unit | No | |
KILLEDDEFEND | integer | No | |
KILLS | leaderboard | No | |
KILLSINTEGER | integer | Yes | |
Ovelord100 | integer | Yes | |
PlayerLevelSkill | integer | No | |
Playername | string | Yes | |
PointKelli | location | No | |
PositionOfeffect | real | No | 420.00 |
Quest1 | quest | No | |
Quest2 | quest | No | |
Quest3 | quest | No | |
Quest4 | quest | No | |
Quest5 | quest | No | |
Quest6 | quest | No | |
RANDOM | integer | No | |
RandomSound | integer | No | |
RANDOMTURN1 | integer | No | |
RANDOMTURN2 | integer | No | |
RingofDeath | integer | No | |
RingofLight | integer | No | |
ShadowBeast | unit | No | |
ShieldOfDeath | integer | No | |
SoulRemove | effect | No | |
Spinofeffect | real | No | -10.00 |
StormON | weathereffect | No | |
TIMED20 | integer | Yes | |
Timer | timer | No | |
TIMERS | timer | Yes | |
TimerWindow | timerdialog | No | |
TOTALDEFEND | leaderboard | No | |
UMP1 | effect | No | |
UMP2 | effect | No | |
UMP3 | effect | No | |
UMP4 | effect | No | |
UMP5 | effect | No | |
UMP6 | effect | No | |
UMP7 | effect | No | |
UMP8 | effect | No | |
UNIT | unit | Yes | |
VILLAGEDEAD | integer | No | |
Wind | weathereffect | No | |
WINDOWFORTIMERS | timerdialog | Yes | |
ZelThazad | trigger | Yes | |
ZelThazadBattle | unit | No | |
ZelThazadUnit | unit | No | |
ZelThuzadType | unitcode | No |
function Trig_Combine_Items_Conditions takes nothing returns boolean
if ( not ( GetItemCharges(GetManipulatedItem()) > 0 ) ) then
return false
endif
return true
endfunction
function Trig_Combine_Items_Actions takes nothing returns nothing
local integer ITEMCOUNT
local integer ITEMLOOP
local integer CHARGES
local integer MAXIMUM
local item NEWITEM
local unit OURUNIT
set MAXIMUM = 10
set ITEMCOUNT = 0
set ITEMLOOP = 0
set CHARGES = 0
set NEWITEM = GetManipulatedItem()
set OURUNIT = GetManipulatingUnit()
loop
exitwhen ITEMLOOP > 6
if ((GetItemTypeId(NEWITEM)) == (GetItemTypeId(UnitItemInSlotBJ(OURUNIT, ITEMLOOP)))) then
if ((GetItemCharges(UnitItemInSlotBJ(OURUNIT, ITEMLOOP)) + GetItemCharges(NEWITEM)) <= MAXIMUM) then
if not ( (UnitItemInSlotBJ(OURUNIT, ITEMLOOP)) == (NEWITEM)) then
set CHARGES = (GetItemCharges(UnitItemInSlotBJ(OURUNIT, ITEMLOOP))) + GetItemCharges(NEWITEM)
call SetItemCharges( UnitItemInSlotBJ(OURUNIT, ITEMLOOP), CHARGES )
call RemoveItem( NEWITEM )
set ITEMLOOP=7
endif
endif
endif
if ( ITEMLOOP < 7 ) then
set ITEMLOOP = ITEMLOOP + 1
endif
endloop
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 Trig_Combine_Items_Conditions ) )
call TriggerAddAction( gg_trg_Combine_Items, function Trig_Combine_Items_Actions )
endfunction