Name | Type | is_array | initial_value |
BestDeaths | player | No | |
BestKills | player | No | |
BestPoints | player | No | |
BotName | string | No | [|ca000ff00BOT|r] |
C | integer | No | |
D | integer | No | |
DropChance | integer | No | 500 |
FadingTime | real | No | 1.00 |
Host | player | No | |
LifespanTime | real | No | 2.00 |
metamorphosis | group | No | |
R | integer | No | |
Rune | item | No | ItemNull |
TColoredName | string | Yes | |
TDeaths | integer | Yes | |
TExperience | real | Yes | 80.00 |
THero | unit | Yes | |
THeroes | unitcode | Yes | |
THeroes_Check | boolean | Yes | true |
Timer | timer | No | |
TItemFake | itemcode | Yes | |
TItemTrue | itemcode | Yes | |
TKills | integer | Yes | |
tmp | string | No | |
TMvp | integer | Yes | |
TPoints | integer | Yes | |
Win | integer | No | |
Winer | player | No |
function Trig_Random_hero_Conditions takes nothing returns boolean
return udg_THero[GetPlayerId(GetTriggerPlayer()) + 1] == null
endfunction
function Trig_Random_hero_Actions takes nothing returns nothing
local integer p = GetPlayerId(GetTriggerPlayer()) + 1
local integer min = 1
local integer max = 16
local integer r
local integer f2 = 0
local integer c = 1
local integer i = min
local integer count = 0
local integer array id
local integer pos = 2
local real array x
local real array y
set x[1] = GetRandomReal(GetRectMinX(gg_rct_RedBase), GetRectMaxX(gg_rct_RedBase))
set x[2] = GetRandomReal(GetRectMinX(gg_rct_GreenBase), GetRectMaxX(gg_rct_GreenBase))
set y[1] = GetRandomReal(GetRectMinY(gg_rct_RedBase), GetRectMaxY(gg_rct_RedBase))
set y[2] = GetRandomReal(GetRectMinY(gg_rct_GreenBase), GetRectMaxY(gg_rct_GreenBase))
// check all hero if its picked or no, if not picked then put the his index to id integer array
loop
exitwhen i > max
set c = 1
loop
exitwhen c > 12
if udg_THero[c] != null then
if udg_THeroes[i] == GetUnitTypeId(udg_THero[c]) then
set f2 = 1
endif
endif
set c = c + 1
endloop
if f2 == 0 then
//if dont have nobody this hero then add to random group
set count = count + 1
set id[count] = i
endif
set i = i + 1
endloop
//random pick from avalaible heroes
set r = id[GetRandomInt(0, count)]
//set the respawn location
if IsPlayerAlly(GetTriggerPlayer(), Player(0)) then
set pos = 1
endif
set udg_THero[p] = CreateUnit(GetTriggerPlayer(), udg_THeroes[r], x[pos], y[pos], 0)
endfunction
//===========================================================================
function InitTrig_Random_hero takes nothing returns nothing
set gg_trg_Random_hero = CreateTrigger( )
call TriggerAddCondition( gg_trg_Random_hero, Condition( function Trig_Random_hero_Conditions ) )
call TriggerAddAction( gg_trg_Random_hero, function Trig_Random_hero_Actions )
endfunction
function Trig_FAKE_Actions takes nothing returns nothing
local integer i
local integer array ItemFake
local integer array ItemTrue
set ItemFake[1] = 'I029'
set ItemTrue[1] = 'I01O'
set ItemFake[2] = 'I02A'
set ItemTrue[2] = 'I01V'
set ItemFake[3] = 'I02B'
set ItemTrue[3] = 'I00T'
set ItemFake[4] = 'I02C'
set ItemTrue[4] = 'I01Q'
set ItemFake[5] = 'I02D'
set ItemTrue[5] = 'I01C'
set ItemFake[6] = 'I02E'
set ItemTrue[6] = 'I017'
set ItemFake[7] = 'I02F'
set ItemTrue[7] = 'I01X'
set ItemFake[8] = 'I02G'
set ItemTrue[8] = 'I00A'
set ItemFake[9] = 'I02H'
set ItemTrue[9] = 'I00H'
set ItemFake[10] = 'I02I'
set ItemTrue[10] = 'I01H'
set ItemFake[11] = 'I02J'
set ItemTrue[11] = 'I010'
set ItemFake[12] = 'I02K'
set ItemTrue[12] = 'I00W'
set ItemFake[13] = 'I02L'
set ItemTrue[13] = 'I028'
set ItemFake[14] = 'I02M'
set ItemTrue[14] = 'I026'
set ItemFake[15] = 'I02N'
set ItemTrue[15] = 'I007'
set ItemFake[16] = 'I02O'
set ItemTrue[16] = 'I024'
set ItemFake[17] = 'I02P'
set ItemTrue[17] = 'I00O'
set ItemFake[18] = 'I02Q'
set ItemTrue[18] = 'I019'
set ItemFake[19] = 'I02R'
set ItemTrue[19] = 'I015'
set ItemFake[20] = 'I02S'
set ItemTrue[20] = 'I012'
set ItemFake[21] = 'I02T'
set ItemTrue[21] = 'I01E'
set ItemFake[22] = 'I02U'
set ItemTrue[22] = 'I01L'
set ItemFake[23] = 'I02V'
set ItemTrue[23] = 'I00F'
set ItemFake[24] = 'I02W'
set ItemTrue[24] = 'I020'
set ItemFake[25] = 'I02X'
set ItemTrue[25] = 'I022'
set ItemFake[26] = 'I02Y'
set ItemTrue[26] = 'I01M'
set ItemFake[27] = 'I02Z'
set ItemTrue[27] = 'I00R'
set i = 1
loop
exitwhen i > 27
if ( GetItemTypeId(GetManipulatedItem()) == ItemFake[i] ) then
call RemoveItem( GetManipulatedItem() )
call UnitAddItemById( GetTriggerUnit(), ItemTrue[i] )
endif
set i = i + 1
endloop
endfunction
//===========================================================================
function InitTrig_FAKE takes nothing returns nothing
local trigger t = CreateTrigger()
local integer i = 0
loop
call TriggerRegisterPlayerUnitEvent( t, Player(i), EVENT_PLAYER_UNIT_PICKUP_ITEM, null )
set i = i + 1
exitwhen i == bj_MAX_PLAYER_SLOTS
endloop
call TriggerAddAction( t, function Trig_FAKE_Actions )
set t = null
endfunction