Name | Type | is_array | initial_value |
BonusSpawn | integer | Yes | 0 |
Capper | player | No | |
Combine_Charged_Items | boolean | No | |
Combine_Charges_Max | integer | No | |
ComputerPlayers | force | No | |
CreepItems | itemcode | Yes | |
CreepItemsCount | integer | No | |
CurrentHero | unit | No | |
DisperseLoc | rect | No | |
DisperseRoll | integer | No | |
End_Game_If_All_Gone | boolean | No | |
ExperienceHandicap | real | No | 100.00 |
ExperienceHandicap2 | real | No | 100.00 |
Game_Minutes | integer | No | |
Game_Seconds | integer | No | |
Game_Time | timer | No | |
GreenBaseDefense | integer | No | 0 |
GreenUnit | unitcode | Yes | |
HasArmourOn | boolean | Yes | false |
HasBootsOn | boolean | Yes | false |
HasHelmetOn | boolean | Yes | false |
HasLeftOn | boolean | Yes | false |
HasLensOn | boolean | Yes | false |
HasRightOn | boolean | Yes | false |
Hero_Revive_Time_Factor | real | No | |
HeroBonus | integer | Yes | |
HeroChoice | unitcode | Yes | |
HeroChoiceB | unitcode | Yes | |
HeroFeatCount | integer | Yes | 0 |
HeroLevel | integer | No | |
HeroPresence | integer | Yes | 0 |
Hostile_Revive_Time | real | No | |
ItemDrop | integer | Yes | |
ItemDropCount | integer | No | |
LastHeroStanding | force | No | |
LeadByKills | boolean | No | true |
LeaderboardDeaths | leaderboard | No | |
LeaderboardKills | leaderboard | No | |
LevellingAbility | abilcode | Yes | |
LevellingAbility2 | abilcode | Yes | |
Lifehandicap | real | No | 100.00 |
Lifehandicap2 | real | No | 100.00 |
Merc_Creep | unitcode | Yes | |
MercSpawnRoll | integer | No | |
MinionBonusG | real | No | 0.00 |
MinionBonusR | real | No | 0.00 |
Multiboard_Clock | integer | No | |
Multiboard_ShowDeaths | boolean | No | true |
Multiboard_Spots | integer | Yes | |
Player_Starting_Gold | integer | No | |
PlayerColours | string | Yes | FEFEFE |
PlayerInteger | integer | No | |
PlayerNames | string | Yes | |
Players | force | No | |
PlayersCount | integer | No | |
PlayersGreen | force | No | |
PlayersGreenCount | integer | No | |
PlayersGreenPlaying | force | No | |
PlayersRed | force | No | |
PlayersRedCount | integer | No | |
PlayersRedPlaying | force | No | |
RedBaseDefense | integer | No | 0 |
RedUnit | unitcode | Yes | |
Repick_Cost_Ammount | integer | No | |
RevivableHeroes | group | No | |
RevivableTimersWindows | timerdialog | Yes | |
ReviveTimers | timer | Yes | |
RiverItems | itemcode | Yes | |
RiverItemsCount | integer | No | |
RiverItemsRegions | location | Yes | |
RiverItemsRegionsCount | integer | No | |
RiverItemsTaken | boolean | Yes | |
RoninDefenses | integer | No | 1 |
Score_Deaths | integer | Yes | |
Score_Kills | integer | Yes | |
SelectedHero | unit | Yes | |
SkeletalDefenses | integer | No | 1 |
SkillProtection | boolean | No | false |
Sort_Board_By_Kills | boolean | No | |
Super_Chances | integer | Yes | 10 |
Super_Creeps | unitcode | Yes | |
Super_Names | string | Yes | |
Super_Regions | rect | Yes | |
TargetPlayer | player | No | |
TeamSpectator | player | No | |
TempInteger | integer | No | |
TempReal | real | No | |
TSCountGreen | integer | No | 0 |
TSCountRed | integer | No | 0 |
TSLives | integer | Yes | 9 |
function Trig_Combine_Items_Conditions takes nothing returns boolean
if ( not ( GetItemCharges(GetManipulatedItem()) > 0 ) ) then
return false
endif
if ( not ( udg_Combine_Charged_Items == true ) ) 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 = udg_Combine_Charges_Max
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_Charged_Items takes nothing returns nothing
set gg_trg_Combine_Charged_Items = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Combine_Charged_Items, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_Combine_Charged_Items, Condition( function Trig_Combine_Items_Conditions ) )
call TriggerAddAction( gg_trg_Combine_Charged_Items, function Trig_Combine_Items_Actions )
endfunction