SwedishChef
New Member
- Reaction score
- 32
Seems like it works. Thanks!
scope PreloadStuff initializer Init
private function ItemsFilterOne takes nothing returns boolean
return ( GetItemType(GetFilterItem()) == ITEM_TYPE_PERMANENT )
endfunction
private function ItemsFilterTwo takes nothing returns boolean
return ( GetItemType(GetFilterItem()) == ITEM_TYPE_PERMANENT )
endfunction
private function ItemsFilterThree takes nothing returns boolean
return ( GetItemType(GetFilterItem()) == ITEM_TYPE_PERMANENT )
endfunction
private function ItemsFilterFour takes nothing returns boolean
return ( GetItemType(GetFilterItem()) == ITEM_TYPE_CHARGED )
endfunction
private function EnumItems takes nothing returns nothing
local item i = GetEnumItem()
set bj_itemRandomConsidered = bj_itemRandomConsidered + 1
if GetRandomInt( 1, bj_itemRandomConsidered ) == 1 then
set bj_itemRandomCurrentPick = i
endif
set i = null
endfunction
private function Actions takes nothing returns boolean
local integer i = 0
local player p = Player( PLAYER_NEUTRAL_PASSIVE )
local real x = GetRectCenterX( bj_mapInitialPlayableArea )
local real y = GetRectCenterY( bj_mapInitialPlayableArea )
local unit u = CreateUnit( p, 039;Hpal039;, x, y, bj_UNIT_FACING )
local trigger t = GetTriggeringTrigger()
set bj_itemRandomConsidered = 0
call EnumItemsInRect( gg_rct_Item_Region, Condition( function ItemsFilterOne ), function EnumItems )
call UnitAddItem( u, bj_itemRandomCurrentPick )
set bj_itemRandomConsidered = 0
call EnumItemsInRect( gg_rct_Item_Region, Condition( function ItemsFilterOne ), function EnumItems )
call UnitAddItem( u, bj_itemRandomCurrentPick )
set bj_itemRandomConsidered = 0
call EnumItemsInRect( gg_rct_Item_Region, Condition( function ItemsFilterOne ), function EnumItems )
call UnitAddItem( u, bj_itemRandomCurrentPick )
set bj_itemRandomConsidered = 0
call EnumItemsInRect( gg_rct_Item_Region, Condition( function ItemsFilterOne ), function EnumItems )
call UnitAddItem( u, bj_itemRandomCurrentPick )
if udg_PreloadCount == 0 then
loop
exitwhen i >= 12
set p = Player( i )
call DisplayTextToPlayer( p, 0., 0., "Preloading abilities, please wait" )
set i = i + 1
endloop
call TriggerSleepAction( 1.00 )
endif
set udg_PreloadCount = udg_PreloadCount + 1
call RemoveUnit( u )
if udg_PreloadCount >= 27 then
if TriggerEvaluate( gg_trg_Game_Mode_Create ) then
call TriggerExecute( gg_trg_Game_Mode_Create )
endif
else
call TriggerEvaluate( t )
endif
set u = null
set p = null
return false
endfunction
//===========================================================================
private function Init takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterTimerEvent( t, 0.01, false )
call TriggerAddCondition( t, Condition( function Actions ) )
endfunction
endscope