Name | Type | is_array | initial_value |
a | integer | No | |
aa | integer | No | |
alive_units | group | No | |
always | integer | Yes | |
always_down | boolean | Yes | |
always_left | boolean | Yes | |
always_right | boolean | Yes | |
always_up | boolean | Yes | |
am_i_dead | boolean | Yes | |
area_size | real | No | 13.00 |
arena_num | integer | No | 0 |
arena_triggers | trigger | Yes | |
arenaMAX | integer | No | 6 |
bhead_group | group | No | |
bomb_damage | integer | Yes | 1 |
bomb_units | unit | Yes | |
Bombkick | group | No | |
bombs_layed | integer | Yes | |
boom_group | group | No | |
Boom_tester | unit | No | |
boxes | integer | No | |
boxrand | integer | No | |
cam_unit | unit | Yes | |
can_i_kick | boolean | Yes | |
colorcodes | string | Yes | |
current_space | real | No | |
current_x | real | Yes | |
current_y | real | Yes | |
D_Buttons | button | Yes | |
d_COORDS | integer | Yes | |
d_ENDS | integer | Yes | |
d_OFFS | integer | Yes | |
d_OFFSETS | integer | Yes | |
d_TEST | integer | No | |
d_XS | integer | Yes | |
d_XSETS | integer | Yes | |
d_YS | integer | Yes | |
d_YSETS | integer | Yes | |
death_round | boolean | No | |
death_strings | string | Yes | |
Dialog | dialog | No | |
distance | real | Yes | |
doodads_crates | destructable | Yes | |
double_points | boolean | No | |
down | boolean | Yes | |
EXPLODE_STOPS | boolean | Yes | |
fire_effect | effect | Yes | |
first_time | boolean | No | true |
Hash | hashtable | No | |
keys_pressed | integer | Yes | |
lastx | real | Yes | |
lasty | real | Yes | |
left | boolean | Yes | |
MATH_r2 | real | No | |
MATH_r3 | integer | No | |
MATH_r4 | real | No | |
MATH_r5 | real | No | |
MATH_r6 | real | No | |
MATH_r7 | real | No | |
MATH_r8 | real | No | |
MATH_r9 | real | No | |
max_bombs | integer | Yes | |
points | integer | Yes | |
pointstowin | integer | No | |
powerrand2 | integer | No | |
powerup_group | group | No | |
powerups | unit | Yes | |
realx | real | No | |
realy | real | No | |
right | boolean | Yes | |
round | integer | No | 1 |
round_active | boolean | No | |
save_keys | boolean | Yes | |
score_to_win | integer | No | |
sdown | boolean | Yes | |
shield_effects | effect | Yes | |
sleft | boolean | Yes | |
slow_mode | boolean | No | |
spin_group | group | No | |
sright | boolean | Yes | |
sup | boolean | Yes | |
Terrain_Sets | integer | No | |
Terrain_walk | terraintype | No | |
Terrain_wall | terraintype | No | |
test | location | No | |
Timer1 | timer | No | |
Timer2 | timer | No | |
total_players | integer | No | |
total_spaces | real | No | |
unit_places | integer | Yes | |
unit_speed | real | Yes | |
units | unit | Yes | |
up | boolean | Yes | |
warp_number | integer | No | |
warp_reference | integer | Yes | |
warp_targetx | integer | Yes | |
warp_targety | integer | Yes | |
warps | unit | Yes | |
WindowHide | timerdialog | No | |
WindowShow | timerdialog | No | |
x_spot | real | Yes | -1200.00 |
y_spot | real | Yes | 1000.00 |
//TESH.scrollpos=250
//TESH.alwaysfold=0
library Press
public function Renew takes integer atemp returns nothing
set udg_left[atemp] = false
set udg_right[atemp] = false
set udg_down[atemp] = false
set udg_up[atemp] = false
set udg_sup[atemp] = false
set udg_sdown[atemp] = false
set udg_sleft[atemp] = false
set udg_sright[atemp] = false
set udg_save_keys[atemp] = false
set udg_keys_pressed[atemp] = 0
endfunction
public function Conditions2 takes integer c, real x11, real y11 returns boolean
local boolean returner = true
local integer a = 1
if (udg_doodads_crates[c] != null) then
set returner = false
endif
if (udg_powerups[c] != null) then
set returner = false
endif
if (GetTerrainType(x11,y11) != udg_Terrain_walk ) then
set returner = false
endif
if (udg_bomb_units[c] != null) then
set returner = false
endif
loop
exitwhen a > 8
if (udg_unit_places[a] == c)then
set returner = false
endif
set a = a+1
endloop
return returner
endfunction
private function Conditions takes real a, real b, integer atemp, real angle, string s returns boolean
local integer c = Bomb_convert(a,b)
local location loc
local location loc2
local location loc3 = Location(a,b)
local location loc4
local integer c2
local real targetx
local real targety
local effect e
local real xx = 0
local real yy = 0
if (udg_doodads_crates[c] != null) then
call RemoveLocation(loc3)
set loc3 = null
return false
endif
if (GetTerrainTypeBJ(loc3) != udg_Terrain_walk ) then
call RemoveLocation(loc3)
set loc3 = null
return false
endif
if (udg_bomb_units[c] != null) then
if (udg_can_i_kick[atemp] == true and IsUnitInGroup(udg_bomb_units[c], udg_Bombkick) == false)then
if (s != "up" and s != "left")then
if (angle==0)then
set xx = 128
endif
if (angle==90)then
set yy = 128
endif
if (angle==180)then
set xx = -128
endif
if (angle==270)then
set yy = -128
endif
set loc4 = Location(a+xx,b+yy)
set c2 = Bomb_convert(GetLocationX(loc4),GetLocationY(loc4))
if (udg_warps[udg_warp_reference[c2]] != null)then
set targetx = udg_warp_targetx[udg_warp_reference[c2]]
set targety = udg_warp_targety[udg_warp_reference[c2]]
call SetUnitPosition(udg_bomb_units[c],targetx,targety)
set loc4 = Location(targetx+xx, targety+yy)
set c2 = Bomb_convert(GetLocationX(loc4),GetLocationY(loc4))
set e = AddSpecialEffect("Abilities\\Spells\\Human\\Polymorph\\PolyMorphTarget.mdl",targetx,targety)
call DestroyEffect( e )
set e = null
endif
if (Conditions2(c2,GetLocationX(loc4),GetLocationY(loc4)) == true)then
set udg_bomb_units[c2] = udg_bomb_units[c]
set udg_bomb_units[c] = null
call SetUnitUserData(udg_bomb_units[c2],c2)
call SaveRealBJ( angle, 0, c2, udg_Hash )
call SaveRealBJ( GetLocationX(loc4), 1, c2, udg_Hash )
call SaveRealBJ( GetLocationY(loc4), 2, c2, udg_Hash )
call SaveRealBJ( udg_unit_speed[atemp]*3, 3, c2, udg_Hash )
call GroupAddUnit(udg_Bombkick,udg_bomb_units[c2])
call RemoveLocation(loc4)
set loc4 = null
else
call RemoveLocation(loc4)
call RemoveLocation(loc3)
set loc3 = null
set loc4 = null
return false
endif
endif
else
call RemoveLocation(loc3)
set loc3 = null
return false
endif
endif
call RemoveLocation(loc3)
set loc3 = null
if (s != "none")then
set udg_sleft[atemp] = udg_left[atemp]
set udg_sright[atemp] = udg_right[atemp]
set udg_sup[atemp] = udg_up[atemp]
set udg_sdown[atemp] = udg_down[atemp]
set udg_save_keys[atemp] = true
set udg_left[atemp] = false
set udg_up[atemp] = false
set udg_down[atemp] = false
set udg_right[atemp] = false
if (s == "left")then
set udg_left[atemp] = true
set b = udg_y_spot[atemp]
else
set udg_up[atemp] = true
set a = udg_x_spot[atemp]
endif
set loc = Location(udg_current_x[atemp],udg_current_y[atemp])
set loc2 = Location(a,b)
set angle = AngleBetweenPoints(loc,loc2)
call RemoveLocation(loc)
call RemoveLocation(loc2)
set loc = null
set loc2 = null
endif
set udg_unit_places[atemp] = c
set udg_x_spot[atemp] = a
set udg_y_spot[atemp] = b
call SetUnitAnimation( udg_units[atemp], "walk" )
call SetUnitFacingTimed( udg_units[atemp], angle, 0 )
call TriggerExecute( gg_trg_moving )
return true
endfunction
//ACTIONS
public function Actions takes integer atemp, real xoff, real yoff, real angle returns nothing
local real xspot = udg_x_spot[atemp]
local real xcurrent = udg_current_x[atemp]
local real xlast = udg_lastx[atemp]
local real yspot = udg_y_spot[atemp]
local real ycurrent = udg_current_y[atemp]
local real ylast = udg_lasty[atemp]
//going up or down
if ( xoff == 0 )then
set yspot = ylast + yoff
//locked to grid
if ( ModuloReal(xcurrent,128) == 0 ) then
if ( ModuloReal(ycurrent,128) == 0 ) then
call Conditions(xspot,yspot,atemp,angle,"none")
return
else
if (ycurrent < ylast)then
if (yoff == 128)then
set udg_y_spot[atemp] = ylast
else
set udg_y_spot[atemp] = yspot
endif
else
if (yoff == -128)then
set udg_y_spot[atemp] = ylast
else
set udg_y_spot[atemp] = yspot
endif
endif
call Conditions(udg_x_spot[atemp],udg_y_spot[atemp],atemp,angle,"none")
return
endif
else
//not locked to grid
if ( RAbsBJ(xcurrent - xspot) < RAbsBJ(xcurrent - xlast) )then
if (Conditions(xspot,yspot,atemp,angle,"left") == false)then
call Conditions(xlast,yspot,atemp,angle,"left")
return
endif
else
if (Conditions(xlast,yspot,atemp,angle,"left") == false)then
call Conditions(xspot,yspot,atemp,angle,"left")
return
endif
endif
endif
endif
//going left or right
if ( yoff == 0 )then
set xspot = xlast + xoff
//locked to grid
if ( ModuloReal(ycurrent,128) == 0 ) then
if ( ModuloReal(xcurrent,128) == 0 ) then
call Conditions(xspot,yspot,atemp,angle,"none")
return
else
if (xcurrent < xlast)then
if (xoff == 128)then
set udg_x_spot[atemp] = xlast
else
set udg_x_spot[atemp] = xspot
endif
else
if (xoff == -128)then
set udg_x_spot[atemp] = xlast
else
set udg_x_spot[atemp] = xspot
endif
endif
call Conditions(udg_x_spot[atemp],udg_y_spot[atemp],atemp,angle,"none")
return
endif
else
//not locked to grid
if ( RAbsBJ(ycurrent - yspot) < RAbsBJ(ycurrent - ylast) )then
if (Conditions(xspot,yspot,atemp,angle,"up") == false)then
call Conditions(xspot,ylast,atemp,angle,"up")
return
endif
else
if (Conditions(xspot,ylast,atemp,angle,"up") == false)then
call Conditions(xspot,yspot,atemp,angle,"up")
return
endif
endif
endif
endif
endfunction
//left and right
public function Event takes integer id, real xoff, real yoff, real angle returns nothing
set udg_keys_pressed[id] = udg_keys_pressed[id]+1
if (xoff==-128)then
if (udg_y_spot[id] == udg_current_y[id] and udg_x_spot[id] < udg_current_x[id])then
return
endif
else
if (udg_y_spot[id] == udg_current_y[id] and udg_x_spot[id] > udg_current_x[id])then
return
endif
endif
call Actions(id, xoff, yoff, angle)
endfunction
//up and down
public function Event2 takes integer id, real xoff, real yoff, real angle returns nothing
set udg_keys_pressed[id] = udg_keys_pressed[id]+1
if (yoff==128)then
if (udg_x_spot[id] == udg_current_x[id] and udg_y_spot[id] > udg_current_y[id])then
return
endif
else
if (udg_x_spot[id] == udg_current_x[id] and udg_y_spot[id] < udg_current_y[id])then
return
endif
endif
call Actions(id, xoff, yoff, angle)
endfunction
endlibrary
//TESH.scrollpos=48
//TESH.alwaysfold=0
function Trig_moving_Actions takes nothing returns nothing
local integer a = 1
if (udg_round_active == false)then
return
endif
loop
exitwhen a > 8
//am i dead
if (udg_am_i_dead[a] == false and udg_keys_pressed[a] != 0)then
//should i move
if (udg_current_x[a] != udg_x_spot[a] or udg_current_y[a] != udg_y_spot[a])then
if (udg_left[a] == true or udg_right[a] == true)then
//left or right
if (udg_current_x[a] > udg_x_spot[a])then
set udg_current_x[a] = udg_current_x[a] - udg_unit_speed[a]
if (udg_current_x[a] < udg_x_spot[a])then
set udg_current_x[a] = udg_x_spot[a]
endif
else
set udg_current_x[a] = udg_current_x[a] + udg_unit_speed[a]
if (udg_current_x[a] > udg_x_spot[a])then
set udg_current_x[a] = udg_x_spot[a]
endif
endif
else
//up or down
if (udg_current_y[a] > udg_y_spot[a])then
set udg_current_y[a] = udg_current_y[a] - udg_unit_speed[a]
if (udg_current_y[a] < udg_y_spot[a])then
set udg_current_y[a] = udg_y_spot[a]
endif
else
set udg_current_y[a] = udg_current_y[a] + udg_unit_speed[a]
if (udg_current_y[a] > udg_y_spot[a])then
set udg_current_y[a] = udg_y_spot[a]
endif
endif
endif
call SetUnitPosition( udg_units[a], udg_current_x[a],udg_current_y[a])
//you made it
if (udg_current_x[a] == udg_x_spot[a] and udg_current_y[a] == udg_y_spot[a])then
set udg_lastx[a] = udg_x_spot[a]
set udg_lasty[a] = udg_y_spot[a]
set udg_keys_pressed[a] = 0
if (udg_save_keys[a] == true)then
set udg_save_keys[a] = false
set udg_up[a] = udg_sup[a]
set udg_down[a] = udg_sdown[a]
set udg_left[a] = udg_sleft[a]
set udg_right[a] = udg_sright[a]
set udg_sup[a] = false
set udg_sdown[a] = false
set udg_sleft[a] = false
set udg_sright[a] = false
endif
if (udg_up[a] == true)then
call Press_Event2(a,0,128,90)
endif
if (udg_down[a] == true)then
call Press_Event2(a,0,-128,270)
endif
if (udg_left[a] == true)then
call Press_Event(a,-128,0,180)
endif
if (udg_right[a] == true)then
call Press_Event(a,128,0,0)
endif
endif
endif
endif
set a = a+1
endloop
endfunction
//===========================================================================
function InitTrig_moving takes nothing returns nothing
set gg_trg_moving = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_moving, 0.02 )
call TriggerAddAction( gg_trg_moving, function Trig_moving_Actions )
endfunction
//TESH.scrollpos=57
//TESH.alwaysfold=0
function Trig_collisionwarp_Actions takes nothing returns nothing
local integer i
local integer i2
local real xx
local real yy
local real xxx
local real yyy
local unit u = GetTriggerUnit()
local integer data
local real angle
local real targetx
local real targety
local location loc2
local effect e
if ( GetUnitTypeId(u) == 'hpea' and udg_round_active == true) then
set i = GetPlayerId(GetOwningPlayer(u))+1
set i2 = Bomb_convert(udg_x_spot[i],udg_y_spot[i])
set xx = udg_warp_targetx[udg_warp_reference[i2]]
set yy = udg_warp_targety[udg_warp_reference[i2]]
if (GetTerrainType(xx,yy)==udg_Terrain_wall)then
call RemoveUnit(udg_warps[udg_warp_reference[i2]])
set udg_warps[udg_warp_reference[i2]] = null
call Powerup_floatingtext(i,"Blocked",14)
return
endif
call SetUnitPosition(u,xx,yy)
set e=AddSpecialEffect("Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl",xx,yy)
call DestroyEffect(e)
set udg_x_spot[i] = xx
set udg_y_spot[i] = yy
set udg_lastx[i] = xx
set udg_lasty[i] = yy
set udg_current_x[i] = xx
set udg_current_y[i] = yy
set udg_keys_pressed[i] = 0
if (udg_save_keys[i] == true)then
set udg_save_keys[i] = false
set udg_up[i] = udg_sup[i]
set udg_down[i] = udg_sdown[i]
set udg_left[i] = udg_sleft[i]
set udg_right[i] = udg_sright[i]
set udg_sup[i] = false
set udg_sdown[i] = false
set udg_sleft[i] = false
set udg_sright[i] = false
endif
if (udg_up[i] == true)then
call Press_Event2(i,0,128,90)
endif
if (udg_down[i] == true)then
call Press_Event2(i,0,-128,270)
endif
if (udg_left[i] == true)then
call Press_Event(i,-128,0,180)
endif
if (udg_right[i] == true)then
call Press_Event(i,128,0,0)
endif
set e = AddSpecialEffect("Abilities\\Spells\\Human\\Polymorph\\PolyMorphTarget.mdl",xx,yy)
call DestroyEffect(e)
set e = null
endif
set u = null
endfunction
//===========================================================================
function InitTrig_collisionwarp takes nothing returns nothing
set gg_trg_collisionwarp = CreateTrigger( )
call TriggerAddAction( gg_trg_collisionwarp, function Trig_collisionwarp_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_left_press_Actions takes nothing returns nothing
local integer id
if (udg_round_active == false)then
return
endif
set id = GetPlayerId(GetTriggerPlayer())+1
set udg_always[id]=udg_always[id]+1
set udg_always_left[id] = true
if (udg_keys_pressed[id] == 0)then
set udg_left[id] = true
set udg_keys_pressed[id] = udg_keys_pressed[id]+1
if (udg_y_spot[id] == udg_current_y[id] and udg_x_spot[id] < udg_current_x[id])then
return
endif
call Press_Actions(id, -128, 0, 180)
endif
endfunction
//===========================================================================
function InitTrig_left takes nothing returns nothing
set gg_trg_left = CreateTrigger( )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_left, Player(0), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_left, Player(1), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_left, Player(2), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_left, Player(3), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_left, Player(4), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_left, Player(5), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_left, Player(6), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_left, Player(7), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_LEFT )
call TriggerAddAction( gg_trg_left, function Trig_left_press_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_right_press_Actions takes nothing returns nothing
local integer id
if (udg_round_active == false)then
return
endif
set id = GetPlayerId(GetTriggerPlayer())+1
set udg_always[id]=udg_always[id]+1
set udg_always_right[id] = true
if (udg_keys_pressed[id] == 0)then
set udg_right[id] = true
set udg_keys_pressed[id] = udg_keys_pressed[id]+1
if (udg_y_spot[id] == udg_current_y[id] and udg_x_spot[id] > udg_current_x[id])then
return
endif
call Press_Actions(id, 128, 0, 0)
endif
endfunction
//===========================================================================
function InitTrig_right takes nothing returns nothing
set gg_trg_right = CreateTrigger( )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_right, Player(0), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_right, Player(1), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_right, Player(2), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_right, Player(3), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_right, Player(4), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_right, Player(5), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_right, Player(6), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_right, Player(7), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_RIGHT )
call TriggerAddAction( gg_trg_right, function Trig_right_press_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_up_press_Actions takes nothing returns nothing
local integer id
if (udg_round_active == false)then
return
endif
set id = GetPlayerId(GetTriggerPlayer())+1
set udg_always[id]=udg_always[id]+1
set udg_always_up[id] = true
if (udg_keys_pressed[id] == 0)then
set udg_up[id] = true
set udg_keys_pressed[id] = udg_keys_pressed[id]+1
if (udg_x_spot[id] == udg_current_x[id] and udg_y_spot[id] > udg_current_y[id])then
return
endif
call Press_Actions(id, 0, 128, 90)
endif
endfunction
//===========================================================================
function InitTrig_up takes nothing returns nothing
set gg_trg_up = CreateTrigger( )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_up, Player(0), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_up, Player(1), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_up, Player(2), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_up, Player(3), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_up, Player(4), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_up, Player(5), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_up, Player(6), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_up, Player(7), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_UP )
call TriggerAddAction( gg_trg_up, function Trig_up_press_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_down_press_Actions takes nothing returns nothing
local integer id
if (udg_round_active == false)then
return
endif
set id = GetPlayerId(GetTriggerPlayer())+1
set udg_always[id]=udg_always[id]+1
set udg_always_down[id] = true
if (udg_keys_pressed[id] == 0)then
set udg_down[id] = true
set udg_keys_pressed[id] = udg_keys_pressed[id]+1
if (udg_x_spot[id] == udg_current_x[id] and udg_y_spot[id] < udg_current_y[id])then
return
endif
call Press_Actions(id, 0, -128, 270)
endif
endfunction
//===========================================================================
function InitTrig_down takes nothing returns nothing
set gg_trg_down = CreateTrigger( )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_down, Player(0), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_down, Player(1), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_down, Player(2), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_down, Player(3), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_down, Player(4), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_down, Player(5), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_down, Player(6), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_down, Player(7), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_DOWN )
call TriggerAddAction( gg_trg_down, function Trig_down_press_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_release_left_Actions takes nothing returns nothing
local integer id
if (udg_round_active == false)then
return
endif
set id = GetConvertedPlayerId(GetTriggerPlayer())
call SetUnitAnimation( udg_units[id], "stand" )
set udg_always_left[id] = false
set udg_always[id]=udg_always[id]-1
if ( udg_left[id] == true or udg_sleft[id]) then
call Press_Renew(id)
endif
if (udg_always[id]==1)then
if (udg_always_left[id]==true) then
set udg_left[id] = true
call Press_Event(id,-128,0,180)
return
endif
if (udg_always_right[id]==true) then
set udg_right[id] = true
call Press_Event(id,128,0,0)
return
endif
if (udg_always_up[id]==true) then
set udg_up[id] = true
call Press_Event2(id,0,128,90)
return
endif
if (udg_always_down[id]==true) then
set udg_down[id] = true
call Press_Event2(id,0,-128,270)
return
endif
endif
endfunction
//===========================================================================
function InitTrig_release_left takes nothing returns nothing
set gg_trg_release_left = CreateTrigger( )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_left, Player(0), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_left, Player(1), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_left, Player(2), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_left, Player(3), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_left, Player(4), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_left, Player(5), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_left, Player(6), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_LEFT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_left, Player(7), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_LEFT )
call TriggerAddAction( gg_trg_release_left, function Trig_release_left_Actions )
endfunction
//TESH.scrollpos=6
//TESH.alwaysfold=0
function Trig_release_right_Actions takes nothing returns nothing
local integer id
if (udg_round_active == false)then
return
endif
set id = GetConvertedPlayerId(GetTriggerPlayer())
call SetUnitAnimation( udg_units[id], "stand" )
set udg_always_right[id] = false
set udg_always[id]=udg_always[id]-1
if ( udg_right[id] == true or udg_sright[id]) then
call Press_Renew(id)
endif
if (udg_always[id]==1)then
if (udg_always_left[id]==true) then
set udg_left[id] = true
call Press_Event(id,-128,0,180)
return
endif
if (udg_always_right[id]==true) then
set udg_right[id] = true
call Press_Event(id,128,0,0)
return
endif
if (udg_always_up[id]==true) then
set udg_up[id] = true
call Press_Event2(id,0,128,90)
return
endif
if (udg_always_down[id]==true) then
set udg_down[id] = true
call Press_Event2(id,0,-128,270)
return
endif
endif
endfunction
//===========================================================================
function InitTrig_release_right takes nothing returns nothing
set gg_trg_release_right = CreateTrigger( )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_right, Player(0), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_right, Player(1), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_right, Player(2), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_right, Player(3), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_right, Player(4), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_right, Player(5), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_right, Player(6), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_RIGHT )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_right, Player(7), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_RIGHT )
call TriggerAddAction( gg_trg_release_right, function Trig_release_right_Actions )
endfunction
//TESH.scrollpos=6
//TESH.alwaysfold=0
function Trig_release_up_Actions takes nothing returns nothing
local integer id
if (udg_round_active == false)then
return
endif
set id = GetConvertedPlayerId(GetTriggerPlayer())
call SetUnitAnimation( udg_units[id], "stand" )
set udg_always_up[id] = false
set udg_always[id]=udg_always[id]-1
if ( udg_up[id] == true or udg_sup[id]) then
call Press_Renew(id)
endif
if (udg_always[id]==1)then
if (udg_always_left[id]==true) then
set udg_left[id] = true
call Press_Event(id,-128,0,180)
return
endif
if (udg_always_right[id]==true) then
set udg_right[id] = true
call Press_Event(id,128,0,0)
return
endif
if (udg_always_up[id]==true) then
set udg_up[id] = true
call Press_Event2(id,0,128,90)
return
endif
if (udg_always_down[id]==true) then
set udg_down[id] = true
call Press_Event2(id,0,-128,270)
return
endif
endif
endfunction
//===========================================================================
function InitTrig_release_up takes nothing returns nothing
set gg_trg_release_up = CreateTrigger( )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_up, Player(0), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_up, Player(1), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_up, Player(2), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_up, Player(3), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_up, Player(4), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_up, Player(5), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_up, Player(6), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_UP )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_up, Player(7), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_UP )
call TriggerAddAction( gg_trg_release_up, function Trig_release_up_Actions )
endfunction
//TESH.scrollpos=6
//TESH.alwaysfold=0
function Trig_release_down_Actions takes nothing returns nothing
local integer id
if (udg_round_active == false)then
return
endif
set id = GetConvertedPlayerId(GetTriggerPlayer())
call SetUnitAnimation( udg_units[id], "stand" )
set udg_always_down[id] = false
set udg_always[id]=udg_always[id]-1
if ( udg_down[id] == true or udg_sdown[id] ) then
call Press_Renew(id)
endif
if (udg_always[id]==1)then
if (udg_always_left[id]==true) then
set udg_left[id] = true
call Press_Event(id,-128,0,180)
return
endif
if (udg_always_right[id]==true) then
set udg_right[id] = true
call Press_Event(id,128,0,0)
return
endif
if (udg_always_up[id]==true) then
set udg_up[id] = true
call Press_Event2(id,0,128,90)
return
endif
if (udg_always_down[id]==true) then
set udg_down[id] = true
call Press_Event2(id,0,-128,270)
return
endif
endif
endfunction
//===========================================================================
function InitTrig_release_down takes nothing returns nothing
set gg_trg_release_down = CreateTrigger( )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_down, Player(0), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_down, Player(1), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_down, Player(2), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_down, Player(3), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_down, Player(4), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_down, Player(5), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_down, Player(6), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_DOWN )
call TriggerRegisterPlayerKeyEventBJ( gg_trg_release_down, Player(7), bj_KEYEVENTTYPE_RELEASE, bj_KEYEVENTKEY_DOWN )
call TriggerAddAction( gg_trg_release_down, function Trig_release_down_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_camera_Actions takes nothing returns nothing
local integer a = 1
loop
exitwhen a > 8
if (GetLocalPlayer() == Player(a-1))then
call CameraSetupApplyForceDuration(gg_cam_Camera_001, true, 0)
call SetCameraTargetController(udg_cam_unit[a], 0, 0, false)
call SetCameraField(CAMERA_FIELD_TARGET_DISTANCE,udg_distance[a],0)
endif
set a = a + 1
endloop
endfunction
//===========================================================================
function InitTrig_camera takes nothing returns nothing
set gg_trg_camera = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_camera, .1 )
call TriggerAddAction( gg_trg_camera, function Trig_camera_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_switch_Actions takes nothing returns nothing
local player p = GetTriggerPlayer()
local integer i = GetPlayerId(p)+1
if ( udg_cam_unit[i] == gg_unit_hpea_0015 ) then
set udg_cam_unit[i] = udg_units[i]
else
set udg_cam_unit[i] = gg_unit_hpea_0015
endif
set p = null
endfunction
//===========================================================================
function InitTrig_switch takes nothing returns nothing
set gg_trg_switch = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_switch, Player(0), "-switch", true )
call TriggerRegisterPlayerChatEvent( gg_trg_switch, Player(1), "-switch", true )
call TriggerRegisterPlayerChatEvent( gg_trg_switch, Player(2), "-switch", true )
call TriggerRegisterPlayerChatEvent( gg_trg_switch, Player(3), "-switch", true )
call TriggerRegisterPlayerChatEvent( gg_trg_switch, Player(4), "-switch", true )
call TriggerRegisterPlayerChatEvent( gg_trg_switch, Player(5), "-switch", true )
call TriggerRegisterPlayerChatEvent( gg_trg_switch, Player(6), "-switch", true )
call TriggerRegisterPlayerChatEvent( gg_trg_switch, Player(7), "-switch", true )
call TriggerAddAction( gg_trg_switch, function Trig_switch_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_distance_Func001C takes nothing returns boolean
if ( not ( S2R(SubStringBJ(GetEventPlayerChatString(), 11, 15)) >= 1000.00 ) ) then
return false
endif
if ( not ( S2R(SubStringBJ(GetEventPlayerChatString(), 11, 15)) <= 4000.00 ) ) then
return false
endif
return true
endfunction
function Trig_distance_Actions takes nothing returns nothing
if ( Trig_distance_Func001C() ) then
set udg_distance[GetConvertedPlayerId(GetTriggerPlayer())] = S2R(SubStringBJ(GetEventPlayerChatString(), 11, 15))
endif
endfunction
//===========================================================================
function InitTrig_distance takes nothing returns nothing
set gg_trg_distance = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_distance, Player(0), "-distance", false )
call TriggerRegisterPlayerChatEvent( gg_trg_distance, Player(1), "-distance", false )
call TriggerRegisterPlayerChatEvent( gg_trg_distance, Player(2), "-distance", false )
call TriggerRegisterPlayerChatEvent( gg_trg_distance, Player(3), "-distance", false )
call TriggerRegisterPlayerChatEvent( gg_trg_distance, Player(4), "-distance", false )
call TriggerRegisterPlayerChatEvent( gg_trg_distance, Player(5), "-distance", false )
call TriggerRegisterPlayerChatEvent( gg_trg_distance, Player(6), "-distance", false )
call TriggerRegisterPlayerChatEvent( gg_trg_distance, Player(7), "-distance", false )
call TriggerAddAction( gg_trg_distance, function Trig_distance_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_i_left_Actions takes nothing returns nothing
local integer i = GetConvertedPlayerId(GetTriggerPlayer())
call GroupRemoveUnitSimple( udg_units[i], udg_alive_units )
set udg_unit_places[i] = -1
call RemoveUnit( udg_units[i] )
set udg_units[i] = null
call DisplayTextToForce( GetPlayersAll(), udg_colorcodes[i]+GetPlayerName(GetTriggerPlayer()) + " has left the game." )
set udg_total_players = udg_total_players-1
set udg_am_i_dead[i] = true
call LeaderboardRemovePlayerItemBJ( GetTriggerPlayer(), GetLastCreatedLeaderboard() )
endfunction
//===========================================================================
function InitTrig_i_left takes nothing returns nothing
set gg_trg_i_left = CreateTrigger( )
call TriggerRegisterPlayerEventLeave( gg_trg_i_left, Player(0) )
call TriggerRegisterPlayerEventLeave( gg_trg_i_left, Player(1) )
call TriggerRegisterPlayerEventLeave( gg_trg_i_left, Player(2) )
call TriggerRegisterPlayerEventLeave( gg_trg_i_left, Player(3) )
call TriggerRegisterPlayerEventLeave( gg_trg_i_left, Player(4) )
call TriggerRegisterPlayerEventLeave( gg_trg_i_left, Player(5) )
call TriggerRegisterPlayerEventLeave( gg_trg_i_left, Player(6) )
call TriggerRegisterPlayerEventLeave( gg_trg_i_left, Player(7) )
call TriggerAddAction( gg_trg_i_left, function Trig_i_left_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
library Bomb
public function convert takes real xx2, real yy2 returns integer
local real MATH_r1
local real MATH_r2
local real MATH_r5
local real MATH_r6
local real MATH_r7
local real MATH_r8
set MATH_r1 = -1024-xx2
if ( MATH_r1 == 0 ) then
set MATH_r2 = 0
else
set MATH_r2 = RAbsBJ(MATH_r1)/128
endif
set MATH_r5 = 768-yy2
if ( MATH_r5 == 0 ) then
set MATH_r6 = 0
else
set MATH_r6 = RAbsBJ(MATH_r5/128)
endif
set MATH_r7 = MATH_r6*udg_area_size
set MATH_r8 = MATH_r7+MATH_r2
return R2I(MATH_r8)
endfunction
private function CreatePower takes real x, real y, integer i, integer id, boolean bomb returns nothing
local unit u = CreateUnit(Player(11), id, x,y, 270 )
local effect e
call SetUnitUserData( u, i )
set e = AddSpecialEffect("Abilities\\Spells\\Human\\Polymorph\\PolyMorphDoneGround.mdl",x,y)
call DestroyEffect( e )
if (bomb==false)then
call GroupAddUnit(udg_powerup_group,u)
set udg_powerups[i] = u
else
set udg_bomb_units[i] = u
endif
set e = null
set u=null
endfunction
public function PowerupChance takes real dx, real dy, integer i returns nothing
local integer i2 = GetRandomInt(1, 10)
local integer r
local integer r2 = GetRandomInt(1,3)
if (r2 > 1)then
//normal powerups
set r = GetRandomInt(1,3)
if ( r == 1 and i2>4 ) then
call CreatePower(dx,dy,i,'hrif',false)
endif
if ( r == 2 and i2>4 ) then
call CreatePower(dx,dy,i,'hfoo',false)
endif
if ( r == 3 and i2>4 ) then
call CreatePower(dx,dy,i,'hkni',false)
endif
else
//special powerups
if (udg_death_round==false)then
set r = GetRandomInt(1,4)
else
set r=5
endif
if ( r == 1 and i2>4) then
call CreatePower(dx,dy,i,'hmtm',false)
endif
if ( r == 2 and i2>4) then
call CreatePower(dx,dy,i,'hmpr',false)
endif
if ( r == 3 and i2>5) then
call CreatePower(dx,dy,i,'hsor',false)
endif
if ( r == 4 and i2>5) then
call CreatePower(dx,dy,i,'opeo',false)
endif
if ( r == 5 and i2>2) then
call CreatePower(dx,dy,i,'orai',true)
endif
endif
endfunction
public function spots takes integer xx1, integer yy1, integer atemp returns nothing
local integer xoff1
local integer yoff1
local integer i
if (GetPlayerSlotState(Player(atemp-1)) != PLAYER_SLOT_STATE_PLAYING)then
return
endif
set xx1 = xx1 * 128
set yy1 = yy1 * 128
set xoff1 = -1024 + xx1
set yoff1 = 768 - yy1
set udg_x_spot[atemp] = xoff1
set udg_y_spot[atemp] = yoff1
set i = convert(xoff1,yoff1)
set udg_unit_places[atemp] = i
endfunction
public function warp takes integer xx, integer yy, integer id, integer targetx, integer targety returns nothing
local unit u
local integer xoff
local integer yoff
local integer i
set xx = xx * 128
set yy = yy * 128
set xoff = -1024 + xx
set yoff = 768 - yy
set u = CreateUnit(Player(11),'ogru',xoff,yoff,270)
call GroupAddUnit(udg_spin_group,u)
set i = convert(xoff,yoff)
call SetUnitUserData(u,i)
set udg_warp_reference[i] = id
set udg_warps[id] = u
call TriggerRegisterUnitInRangeSimple(gg_trg_collisionwarp,75,u)
set xx = targetx * 128
set yy = targety * 128
set xoff = -1024 + xx
set yoff = 768 - yy
set udg_warp_targetx[id] = xoff
set udg_warp_targety[id] = yoff
set u = null
endfunction
public function terrain takes integer xx, integer yy, integer area, integer square, integer typee returns nothing
local integer xoff
local integer yoff
set xx = xx * 128
set yy = yy * 128
set xoff = -1024 + xx
set yoff = 768 - yy
call SetTerrainType(xoff,yoff,typee,-1,area+1,square )
endfunction
public function explode takes unit u, integer f returns nothing
local boolean array EXPLODE_STOPS
local location bomb_point
local integer c = 1
local integer atemp = GetConvertedPlayerId(GetOwningPlayer(u))
local unit other_unit
local integer MATH
local unit u2
local integer b
local integer i = GetUnitUserData(u)
if (IsUnitInGroup(u,udg_Bombkick) == true)then
set bomb_point = Location(LoadRealBJ(1, i, udg_Hash),LoadRealBJ(2, i, udg_Hash))
else
set bomb_point = GetUnitLoc(u)
endif
set udg_bomb_units[i] = null
call RemoveUnit(u)
set u = null
call AddSpecialEffectLocBJ( bomb_point, "FragBoomSpawn2.mdx" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set b = udg_bomb_damage[atemp]
loop
exitwhen c > 4
if (c != f)then
set u2 = CreateUnitAtLoc(Player(atemp-1), 'e000', bomb_point, 90*c)
call SetUnitUserData(u2,b)
call GroupAddUnit(udg_boom_group,u2)
endif
set c = c + 1
endloop
call PlaySoundBJ( gg_snd_boom5 )
set udg_bombs_layed[atemp] = udg_bombs_layed[atemp] - 1
call RemoveLocation(bomb_point)
set bomb_point = null
set u = null
set u2 = null
endfunction
endlibrary
//TESH.scrollpos=24
//TESH.alwaysfold=0
function Box_kill takes integer i returns nothing
local effect e
local real x = GetDestructableX(udg_doodads_crates[i])
local real y = GetDestructableY(udg_doodads_crates[i])
set e = AddSpecialEffect("Abilities\\Spells\\Human\\Polymorph\\PolyMorphTarget.mdl",x,y)
call DestroyEffect( e )
set udg_boxes = udg_boxes-1
call RemoveDestructable( udg_doodads_crates[i] )
set udg_doodads_crates[i] = null
set e = null
endfunction
function Trig_box_spawns_Actions takes nothing returns nothing
local integer a = 1
local integer MATH
local real MATH2
local integer MATH3
local real MATH4
local real MATH5
local real MATH6
local real MATH7
local real MATH8
local real MATH9
local location loc
local integer i
local integer i2
local integer i3
set udg_current_space = udg_current_space + 1
set MATH2 = udg_current_space / udg_area_size
set MATH3 = R2I(MATH2)
set MATH4 = I2R(MATH3) * udg_area_size
set MATH5 = udg_current_space - MATH4
set MATH6 = MATH5 * 128
set MATH7 = I2R(MATH3) * 128
set MATH8 = MATH6 + -1024
set MATH9 = 768 - MATH7
set loc = Location(MATH8,MATH9)
if ( GetTerrainTypeBJ(loc) == udg_Terrain_walk ) then
set udg_boxrand = GetRandomInt(1, 4)
if ( udg_boxrand > 1 ) then
set i2=GetRandomInt(1,20)
if (i2>1)then
set i3='LOcg'
else
set i3='B000'
endif
set udg_boxes = udg_boxes + 1
call CreateDestructableLoc( i3, loc, 270, 3, 0 )
set udg_doodads_crates[R2I(udg_current_space)] = GetLastCreatedDestructable()
endif
endif
call RemoveLocation(loc)
set loc = null
if ( udg_current_space != udg_total_spaces ) then
if ( ModuloReal(udg_current_space, udg_area_size) == 0 ) then
call TriggerSleepAction( .1 )
endif
call TriggerExecute( GetTriggeringTrigger() )
else
loop
exitwhen a > 8
if ( GetPlayerSlotState(ConvertedPlayer(a)) == PLAYER_SLOT_STATE_PLAYING ) then
set MATH = Bomb_convert(udg_x_spot[a],udg_y_spot[a])
if ( udg_doodads_crates[MATH] != null ) then
call Box_kill(MATH)
endif
set MATH = Bomb_convert(udg_x_spot[a]+128,udg_y_spot[a])
if ( udg_doodads_crates[MATH] != null ) then
call Box_kill(MATH)
endif
set MATH = Bomb_convert(udg_x_spot[a]-128,udg_y_spot[a])
if ( udg_doodads_crates[MATH] != null ) then
call Box_kill(MATH)
endif
set MATH = Bomb_convert(udg_x_spot[a],udg_y_spot[a]+128)
if ( udg_doodads_crates[MATH] != null ) then
call Box_kill(MATH)
endif
set MATH = Bomb_convert(udg_x_spot[a],udg_y_spot[a]-128)
if ( udg_doodads_crates[MATH] != null ) then
call Box_kill(MATH)
endif
endif
set a = a + 1
endloop
set a = 1
loop
exitwhen a > udg_warp_number
set MATH = Bomb_convert(udg_warp_targetx[a],udg_warp_targety[a])
if ( udg_doodads_crates[MATH] != null ) then
call Box_kill(MATH)
endif
set MATH = Bomb_convert(udg_warp_targetx[a]+128,udg_warp_targety[a])
if ( udg_doodads_crates[MATH] != null ) then
call Box_kill(MATH)
endif
set MATH = Bomb_convert(udg_warp_targetx[a]-128,udg_warp_targety[a])
if ( udg_doodads_crates[MATH] != null ) then
call Box_kill(MATH)
endif
set MATH = Bomb_convert(udg_warp_targetx[a],udg_warp_targety[a]+128)
if ( udg_doodads_crates[MATH] != null ) then
call Box_kill(MATH)
endif
set MATH = Bomb_convert(udg_warp_targetx[a],udg_warp_targety[a]-128)
if ( udg_doodads_crates[MATH] != null ) then
call Box_kill(MATH)
endif
set MATH = Bomb_convert(GetUnitX(udg_warps[a]),GetUnitY(udg_warps[a]))
if ( udg_doodads_crates[MATH] != null ) then
call Box_kill(MATH)
endif
set a =a+1
endloop
call StartTimerBJ( udg_Timer1, false, 165 )
call StartTimerBJ( udg_Timer2, false, 75)
call CreateTimerDialogBJ( udg_Timer1, "Round" )
set udg_WindowShow = GetLastCreatedTimerDialogBJ()
call CreateTimerDialogBJ( udg_Timer2, "" )
set udg_WindowHide = GetLastCreatedTimerDialogBJ()
call TimerDialogDisplayBJ( false, udg_WindowHide )
set udg_round_active = true
call Powerup_announce("START!",20)
if (udg_first_time==true)then
set udg_first_time=false
call TriggerSleepAction(2)
call Powerup_announce("Arrow keys to move",18)
call TriggerSleepAction(2)
call Powerup_announce("ESC to set bomb",18)
endif
endif
endfunction
//===========================================================================
function InitTrig_box_spawns takes nothing returns nothing
set gg_trg_box_spawns = CreateTrigger( )
call TriggerAddAction( gg_trg_box_spawns, function Trig_box_spawns_Actions )
endfunction
//TESH.scrollpos=137
//TESH.alwaysfold=0
function Trig_round_end_Conditions takes nothing returns boolean
if ( not ( udg_round_active == true ) ) then
return false
endif
if ( not ( CountUnitsInGroup(udg_alive_units) <= 1 ) ) then
return false
endif
return true
endfunction
function removepowerups takes nothing returns nothing
local unit u = GetEnumUnit()
set udg_powerups[GetUnitUserData(u)] = null
call RemoveUnit( u )
set u = null
endfunction
function Trig_round_end_Actions takes nothing returns nothing
local integer a
local integer b = 1
local integer multiply = 1
set udg_death_round = false
if (udg_round_active == true)then
if (CountUnitsInGroup(udg_alive_units) != 1)then
call Powerup_floatingtext2("Draw",100,100,100,270)
endif
set udg_round_active = false
call PauseTimerBJ( true, udg_Timer1 )
call PauseTimerBJ( true, udg_Timer2 )
call DestroyTimerDialogBJ( udg_WindowShow )
call DestroyTimerDialogBJ( udg_WindowHide )
endif
if (udg_double_points == true)then
set multiply = 2
endif
if (udg_warp_number!=0)then
set a=1
loop
exitwhen a>udg_warp_number
set udg_warp_reference[GetUnitUserData(udg_warps[a])] = 0
call RemoveUnit(udg_warps[a])
set udg_warps[a] = null
set a=a+1
endloop
set udg_warp_number = 0
endif
set udg_round = udg_round + 1
set a = 1
loop
exitwhen a > 8
set udg_cam_unit[a] = gg_unit_hpea_0015
if (udg_shield_effects[a] != null)then
call DestroyEffect(udg_shield_effects[a])
set udg_shield_effects[a] = null
endif
if (udg_fire_effect[a] != null)then
call DestroyEffect(udg_fire_effect[a])
set udg_fire_effect[a] = null
endif
if ( IsUnitInGroup(udg_units[a], udg_alive_units) == true and CountUnitsInGroup(udg_alive_units) <= 1 ) then
call Powerup_floatingtext2(udg_colorcodes[a]+GetPlayerName(ConvertedPlayer(a))+" wins the round!",100,100,100,270)
set udg_points[a] = udg_points[a] + multiply
call LeaderboardSetPlayerItemValueBJ( ConvertedPlayer(a), GetLastCreatedLeaderboard(), udg_points[a] )
endif
set a = a + 1
endloop
call GroupClear( udg_alive_units )
call TriggerSleepAction( 2 )
set a = 1
loop
exitwhen a > 8
if ( udg_points[a] >= udg_pointstowin ) then
loop
exitwhen b > 8
if ( udg_points[b] >= udg_pointstowin ) then
call CustomVictoryBJ( Player(b-1), true, false )
else
call CustomDefeatBJ( Player(b-1), "Defeat!" )
endif
set b = b + 1
endloop
return
endif
set a = a + 1
endloop
call TriggerSleepAction( 2 )
call GroupClear( udg_alive_units )
set udg_current_space = 0.00
set a = 1
loop
exitwhen a > udg_total_spaces
call RemoveDestructable( udg_doodads_crates[a] )
set udg_doodads_crates[a] = null
set a = a + 1
endloop
call ForGroup( udg_powerup_group, function removepowerups )
set udg_boxes = 0
set udg_arena_num = udg_arena_num + 1
if ( udg_arena_num > udg_arenaMAX ) then
set udg_arena_num = 1
if (udg_double_points == false)then
set udg_double_points = true
call StopSound( gg_snd_mainsong,false, false)
call Powerup_floatingtext2("Double Points!",100,0,0,45)
call Powerup_floatingtext2("Double Points!",100,0,0,225)
call TriggerSleepAction( .5 )
call Powerup_floatingtext2("Double Points!",0,100,0,90)
call Powerup_floatingtext2("Double Points!",0,100,0,270)
call TriggerSleepAction( .5 )
call Powerup_floatingtext2("Double Points!",0,0,100,135)
call Powerup_floatingtext2("Double Points!",0,0,100,315)
call SetSoundPitch( gg_snd_mainsong, 1.2 )
call PlaySoundBJ(gg_snd_mainsong)
call TriggerSleepAction( 3 )
endif
endif
call TriggerExecute( udg_arena_triggers[udg_arena_num] )
call TriggerSleepAction( 2 )
set a = 1
loop
exitwhen a > 8
if (udg_total_players > 4)then
set udg_cam_unit[a] = udg_units[a]
endif
call Press_Renew(a)
set udg_can_i_kick[a] = false
set udg_always_down[a] = false
set udg_always_left[a] = false
set udg_always_right[a] = false
set udg_always_up[a] = false
set udg_always[a] = 0
set udg_unit_speed[a] = 7
set udg_max_bombs[a] = 1
set udg_bomb_damage[a] = 2
if ( GetPlayerSlotState(Player(a-1)) != PLAYER_SLOT_STATE_PLAYING ) then
call RemoveUnit( udg_units[a] )
set udg_am_i_dead[a] = true
else
call SetUnitAnimation( udg_units[a], "stand" )
set udg_am_i_dead[a] = false
call GroupAddUnit(udg_alive_units,udg_units[a])
set udg_lastx[a] = udg_x_spot[a]
set udg_lasty[a] = udg_y_spot[a]
set udg_current_x[a] = udg_x_spot[a]
set udg_current_y[a] = udg_y_spot[a]
call SetUnitPositionLoc( udg_units[a], Location(udg_x_spot[a], udg_y_spot[a]) )
endif
set a = a + 1
endloop
call TriggerSleepAction( .1 )
call TriggerExecute( gg_trg_box_spawns )
endfunction
//===========================================================================
function InitTrig_round_end takes nothing returns nothing
set gg_trg_round_end = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_round_end, 2 )
call TriggerAddCondition( gg_trg_round_end, Condition( function Trig_round_end_Conditions ) )
call TriggerAddAction( gg_trg_round_end, function Trig_round_end_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_round_timer_end_Actions takes nothing returns nothing
call TriggerExecute( gg_trg_round_end )
endfunction
//===========================================================================
function InitTrig_round_timer_end takes nothing returns nothing
set gg_trg_round_timer_end = CreateTrigger( )
call TriggerRegisterTimerExpireEventBJ( gg_trg_round_timer_end, udg_Timer1 )
call TriggerAddAction( gg_trg_round_timer_end, function Trig_round_timer_end_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_death_round_Actions takes nothing returns nothing
set udg_death_round = true
set udg_d_COORDS[0] = 0
set udg_d_COORDS[1] = 0
set udg_d_OFFSETS[0] = 1
set udg_d_OFFSETS[1] = 0
set udg_d_ENDS[0] = R2I(udg_area_size)-1
set udg_d_ENDS[1] = R2I(udg_area_size)-1
set udg_d_OFFS[0] = 0
set udg_d_OFFS[1] = 0
call Powerup_floatingtext2("Hurry Up!",100,100,100,90)
set udg_d_XS[0] = -1
set udg_d_XS[1] = R2I(udg_area_size)-1
set udg_d_YS[0] = 0
set udg_d_YS[1] = R2I(udg_area_size)
set udg_aa = 0
if (udg_area_size == 13)then
set udg_d_TEST = 8
else
set udg_d_TEST = 10
endif
endfunction
//===========================================================================
function InitTrig_death_round takes nothing returns nothing
set gg_trg_death_round = CreateTrigger( )
call TriggerRegisterTimerExpireEventBJ( gg_trg_death_round, udg_Timer2 )
call TriggerAddAction( gg_trg_death_round, function Trig_death_round_Actions )
endfunction
//TESH.scrollpos=30
//TESH.alwaysfold=0
function Trig_death_round_goo_Conditions takes nothing returns boolean
if ( not ( udg_death_round == true ) ) then
return false
endif
return true
endfunction
function Checkem2 takes nothing returns nothing
local unit u = GetEnumUnit()
local location loc = GetUnitLoc(u)
local location loc2 = Location(udg_realx,udg_realy)
local real r = DistanceBetweenPoints(loc,loc2)
local integer i = GetConvertedPlayerId(GetOwningPlayer(u))
if (r <= 90)then
set udg_am_i_dead[i] = true
set udg_unit_places[i] = -1
call SetUnitPositionLoc( u, GetRandomLocInRect(gg_rct_Region_000) )
call GroupRemoveUnitSimple( u, udg_alive_units )
if ( udg_cam_unit[i] != gg_unit_hpea_0015 ) then
set udg_cam_unit[i] = gg_unit_hpea_0015
endif
endif
call RemoveLocation(loc)
call RemoveLocation(loc2)
set loc = null
set loc2 = null
set u = null
endfunction
function Trig_death_round_goo_Actions takes nothing returns nothing
local real x = -1024+(128*udg_d_COORDS[0])
local real y = 768+(128*udg_d_COORDS[1])
local integer i = Bomb_convert(x,y)
local effect e
set udg_realx = x
set udg_realy = y
call ForGroupBJ( udg_alive_units, function Checkem2 )
if (udg_powerups[i] != null)then
call GroupRemoveUnit(udg_powerup_group,udg_powerups[i])
call RemoveUnit( udg_powerups[i] )
set udg_powerups[i] = null
endif
if (udg_doodads_crates[i] != null)then
call RemoveDestructable( udg_doodads_crates[i] )
set udg_boxes = udg_boxes - 1
set udg_doodads_crates[i] = null
endif
if (udg_warps[udg_warp_reference[i]] != null)then
call RemoveUnit( udg_warps[udg_warp_reference[i]] )
set udg_warps[udg_warp_reference[i]] = null
endif
call SetTerrainType(x,y, udg_Terrain_wall, -1, 1, 0 )
set e = AddSpecialEffect("Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl",x,y)
call DestroyEffect( e )
set e = null
if (udg_d_XS[1] == udg_d_TEST)then
set udg_death_round = false
endif
if (udg_d_OFFSETS[0] != 0)then
set udg_d_COORDS[0] = ( udg_d_COORDS[0] + udg_d_OFFSETS[0] )
if (IAbsBJ(udg_d_COORDS[0]) == udg_d_ENDS[0])then
set udg_aa = udg_aa+1
if (udg_aa>3)then
set udg_aa=0
endif
set udg_d_OFFSETS[0] = udg_d_XSETS[udg_aa]
set udg_d_OFFSETS[1] = udg_d_YSETS[udg_aa]
if (udg_d_OFFSETS[1] == 1)then
set udg_d_YS[0] = udg_d_YS[0] + 1
set udg_d_ENDS[1] = udg_d_YS[0]
else
set udg_d_YS[1] = udg_d_YS[1] - 1
set udg_d_ENDS[1] = udg_d_YS[1]
endif
endif
else
set udg_d_COORDS[1] = ( udg_d_COORDS[1] + udg_d_OFFSETS[1] )
if (IAbsBJ(udg_d_COORDS[1]) == udg_d_ENDS[1])then
set udg_aa = udg_aa+1
if (udg_aa>3)then
set udg_aa=0
endif
set udg_d_OFFSETS[0] = udg_d_XSETS[udg_aa]
set udg_d_OFFSETS[1] = udg_d_YSETS[udg_aa]
if (udg_d_OFFSETS[0] == -1)then
set udg_d_XS[0] = udg_d_XS[0] + 1
set udg_d_ENDS[0] = udg_d_XS[0]
else
set udg_d_XS[1] = udg_d_XS[1] - 1
set udg_d_ENDS[0] = udg_d_XS[1]
endif
endif
endif
endfunction
//===========================================================================
function InitTrig_death_round_goo takes nothing returns nothing
set gg_trg_death_round_goo = CreateTrigger( )
call TriggerAddCondition( gg_trg_death_round_goo, Condition( function Trig_death_round_goo_Conditions ) )
call TriggerAddAction( gg_trg_death_round_goo, function Trig_death_round_goo_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_no_player_fail_Conditions takes nothing returns boolean
if ( not ( udg_total_players <= 1 ) ) then
return false
endif
return true
endfunction
function Trig_no_player_fail_Func001002 takes nothing returns nothing
call CustomVictoryBJ( GetEnumPlayer(), true, false )
endfunction
function Trig_no_player_fail_Actions takes nothing returns nothing
call ForForce( GetPlayersAll(), function Trig_no_player_fail_Func001002 )
endfunction
//===========================================================================
function InitTrig_no_player_fail takes nothing returns nothing
set gg_trg_no_player_fail = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_round_end, 2 )
call TriggerAddCondition( gg_trg_no_player_fail, Condition( function Trig_no_player_fail_Conditions ) )
call TriggerAddAction( gg_trg_no_player_fail, function Trig_no_player_fail_Actions )
endfunction
//TESH.scrollpos=84
//TESH.alwaysfold=0
function Trig_BoomGroup_Conditions takes nothing returns boolean
if ( not ( IsUnitGroupEmptyBJ(udg_boom_group) == false ) ) then
return false
endif
return true
endfunction
function Checkem takes nothing returns nothing
local unit u = GetEnumUnit()
local location loc = GetUnitLoc(u)
local location loc2 = GetUnitLoc(udg_Boom_tester)
local real r = DistanceBetweenPoints(loc,loc2)
local integer i = GetConvertedPlayerId(GetOwningPlayer(u))
local effect e
if (r <= 80 and GetUnitUserData(u) != 1)then
if (udg_shield_effects[i] != null)then
//shield remove
call DestroyEffect(udg_shield_effects[i])
set udg_shield_effects[i] = null
call Powerup_floatingtext(i,"-Shield",14)
else
//death
call Powerup_floatingtext(i,udg_death_strings[GetRandomInt(1,7)],14)
set e = AddSpecialEffect("Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl",GetUnitX(u),GetUnitY(u))
call DestroyEffect(e)
set e = null
set udg_am_i_dead[i] = true
set udg_unit_places[i] = -1
call SetUnitPositionLoc( u, GetRandomLocInRect(gg_rct_Region_000) )
call GroupRemoveUnitSimple( u, udg_alive_units )
if ( udg_cam_unit[i] != gg_unit_hpea_0015 ) then
set udg_cam_unit[i] = gg_unit_hpea_0015
endif
endif
endif
call RemoveLocation(loc)
call RemoveLocation(loc2)
set loc = null
set loc2 = null
set u = null
endfunction
function Trig_BoomGroup_Func001A takes nothing returns nothing
local unit u = GetEnumUnit()
local unit u2
local location loc = GetUnitLoc(u)
local real r = GetUnitFacing(u)
local integer i
local real dx
local real dy
local real x1 = 0
local real y1 = 0
local real facing
local effect e
if (r==360)then
set x1 = 128
endif
if (r==90)then
set y1 = 128
endif
if (r==180)then
set x1 = -128
endif
if (r==270)then
set y1 = -128
endif
set loc = Location(GetLocationX(loc)+x1,GetLocationY(loc)+y1)
call SetUnitUserData(u,GetUnitUserData(u)-1)
set udg_Boom_tester = GetEnumUnit()
call ForGroup( udg_alive_units, function Checkem )
if (GetUnitUserData(u) < 0)then
call GroupRemoveUnit(udg_boom_group,u)
call RemoveUnit(u)
else
if ( GetTerrainType(GetLocationX(loc),GetLocationY(loc)) == udg_Terrain_walk ) then
call SetUnitPositionLoc( u, loc )
set e = AddSpecialEffectLoc("FragBoomSpawn2.mdx",loc)
call DestroyEffect(e)
set e = null
set i = Bomb_convert(GetUnitX(u),GetUnitY(u))
if (udg_powerups[i] != null)then
set dx = GetUnitX(udg_powerups[i])
set dy = GetUnitY(udg_powerups[i])
call GroupRemoveUnit(udg_powerup_group,udg_powerups[i])
call RemoveUnit( udg_powerups[i] )
set udg_powerups[i] = null
call GroupRemoveUnit(udg_boom_group,u)
call RemoveUnit(u)
endif
if (udg_doodads_crates[i] != null)then
set dx = GetDestructableX(udg_doodads_crates[i])
set dy = GetDestructableY(udg_doodads_crates[i])
set udg_boxes = udg_boxes - 1
if ( GetDestructableTypeId(udg_doodads_crates[i]) == 'LOcg' )then
call Bomb_PowerupChance(dx, dy, i)
else
set u2 = CreateUnit(Player(11), 'orai', dx,dy, 270 )
call SetUnitUserData( u2, i )
set udg_bomb_units[i] = u2
set e = AddSpecialEffect("Abilities\\Spells\\Human\\Polymorph\\PolyMorphDoneGround.mdl",dx,dy)
call DestroyEffect( e )
set e=null
set u2=null
endif
call RemoveDestructable( udg_doodads_crates[i] )
set udg_doodads_crates[i] = null
call GroupRemoveUnit(udg_boom_group,u)
call RemoveUnit(u)
endif
if (udg_bomb_units[i] != null and GetUnitTypeId(udg_bomb_units[i]) != 'orai')then
set facing = GetUnitFacing(u)
if(facing == 90)then
set facing = 3
endif
if(facing == 180)then
set facing = 4
endif
if(facing == 270)then
set facing = 1
endif
if(facing == 360)then
set facing = 2
endif
set dx = GetUnitX(udg_bomb_units[i])
set dy = GetUnitY(udg_bomb_units[i])
call Bomb_explode(udg_bomb_units[i],R2I(facing))
call GroupRemoveUnit(udg_boom_group,u)
call RemoveUnit(u)
endif
else
call GroupRemoveUnit(udg_boom_group,u)
call RemoveUnit(u)
endif
endif
call RemoveLocation(loc)
set loc = null
set u = null
endfunction
function Trig_BoomGroup_Actions takes nothing returns nothing
call ForGroup( udg_boom_group, function Trig_BoomGroup_Func001A )
endfunction
//===========================================================================
function InitTrig_BoomGroup takes nothing returns nothing
set gg_trg_BoomGroup = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_BoomGroup, 0.05 )
call TriggerAddCondition( gg_trg_BoomGroup, Condition( function Trig_BoomGroup_Conditions ) )
call TriggerAddAction( gg_trg_BoomGroup, function Trig_BoomGroup_Actions )
endfunction
//TESH.scrollpos=16
//TESH.alwaysfold=0
function Trig_bigbomb_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'orai' ) ) then
return false
endif
return true
endfunction
function shake2 takes nothing returns nothing
call CameraSetEQNoiseForPlayer( GetEnumPlayer(), 100 )
endfunction
function reset2 takes nothing returns nothing
call CameraClearNoiseForPlayer( GetEnumPlayer() )
endfunction
function Trig_bigbomb_Actions takes nothing returns nothing
local unit u=GetTriggerUnit()
local integer a=1
local integer b=1
local effect e
local location l
local location l2
local location off
call TriggerSleepAction(3)
set udg_bomb_units[GetUnitUserData(u)] = null
set l=GetUnitLoc(u)
call PlaySoundBJ( gg_snd_bomb )
call ForForce( GetPlayersAll(), function shake2 )
set e= AddSpecialEffectLoc("FragBoomSpawn.mdx",l)
call DestroyEffect(e)
call RemoveLocation(l)
loop
exitwhen a > 16
set b=1
loop
exitwhen b > 4
set l=GetUnitLoc(u)
set off=PolarProjectionBJ(l,I2R(b)*100,I2R(a)*22.5)
set e=AddSpecialEffectLoc("FragBoomSpawn.mdx",off)
call DestroyEffect(e)
call RemoveLocation(l)
call RemoveLocation(off)
set b = b + 1
endloop
set a = a + 1
endloop
set a=1
loop
exitwhen a > 8
set l=GetUnitLoc(udg_units[a])
set off=GetUnitLoc(u)
if (udg_round_active == true and udg_am_i_dead[a] == false and DistanceBetweenPoints(off, l) <= 390 ) then
set l2=GetRandomLocInRect(gg_rct_Region_000)
set e=AddSpecialEffectLoc("Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl",l)
call DestroyEffect(e)
set udg_am_i_dead[a] = true
set udg_unit_places[a] = -1
call SetUnitPositionLoc(udg_units[a],l2)
call GroupRemoveUnit(udg_alive_units,udg_units[a])
call RemoveLocation(l2)
endif
call RemoveLocation(l)
call RemoveLocation(off)
set a = a + 1
endloop
call RemoveUnit( u )
set l=null
set l2=null
set off=null
set u=null
set e=null
call TriggerSleepAction(.5)
call ForForce( GetPlayersAll(), function reset2 )
endfunction
//===========================================================================
function InitTrig_bigbomb takes nothing returns nothing
set gg_trg_bigbomb = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_bigbomb, GetPlayableMapRect() )
call TriggerAddCondition( gg_trg_bigbomb, Condition( function Trig_bigbomb_Conditions ) )
call TriggerAddAction( gg_trg_bigbomb, function Trig_bigbomb_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
library Powerup
private function shake takes nothing returns nothing
call CameraSetEQNoiseForPlayer( GetEnumPlayer(), 100 )
endfunction
private function stop takes nothing returns nothing
call CameraClearNoiseForPlayer( GetEnumPlayer() )
endfunction
public function floatingtext takes integer int, string str, integer size returns nothing
call CreateTextTagLocBJ(udg_colorcodes[int]+str, GetUnitLoc(udg_units[int]), 0, size, 100, 100, 100, 0 )
call SetTextTagVelocityBJ( GetLastCreatedTextTag(), 64, 90 )
call SetTextTagPermanentBJ( GetLastCreatedTextTag(), false )
call SetTextTagFadepointBJ( GetLastCreatedTextTag(), 1 )
call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 2 )
endfunction
public function floatingtext2 takes string str, real r, real g, real b, real d returns nothing
call CreateTextTagLocBJ( str, GetUnitLoc(udg_units[9]), 0, 20, r, g, b, 0 )
call SetTextTagVelocityBJ( GetLastCreatedTextTag(), 128, d )
call SetTextTagPermanentBJ( GetLastCreatedTextTag(), false )
call SetTextTagFadepointBJ( GetLastCreatedTextTag(), 4 )
call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 5 )
call CreateTextTagLocBJ( str, GetUnitLoc(udg_units[9]), 0, 20, r, g, b, 0 )
call SetTextTagVelocityBJ( GetLastCreatedTextTag(), 128, d+180 )
call SetTextTagPermanentBJ( GetLastCreatedTextTag(), false )
call SetTextTagFadepointBJ( GetLastCreatedTextTag(), 4 )
call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 5 )
endfunction
//local
public function floatingtext3 takes integer int, string str, integer size returns nothing
call CreateTextTagLocBJ(udg_colorcodes[int]+str, GetUnitLoc(udg_units[int]), 0, size, 100, 70, 70, 0 )
call ShowTextTagForceBJ( false, GetLastCreatedTextTag(), GetPlayersAll() )
if (GetLocalPlayer() == Player(int-1))then
call ShowTextTagForceBJ( true, GetLastCreatedTextTag(), bj_FORCE_PLAYER[int-1] )
endif
call SetTextTagVelocityBJ( GetLastCreatedTextTag(), 64, 90 )
call SetTextTagPermanentBJ( GetLastCreatedTextTag(), false )
call SetTextTagFadepointBJ( GetLastCreatedTextTag(), 1.5 )
call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 2.5 )
endfunction
public function announce takes string str, integer size returns nothing
local integer a = 1
loop
exitwhen a>8
if(GetPlayerSlotState(Player(a-1)) == PLAYER_SLOT_STATE_PLAYING)then
call Powerup_floatingtext3(a,str,size)
endif
set a=a+1
endloop
endfunction
private function getloc takes integer i returns location
local location loc = Location(udg_current_x[i],udg_current_y[i])
local location loc2 = Location(udg_lastx[i],udg_lasty[i])
local location loc3 = Location(udg_x_spot[i],udg_y_spot[i])
local real dis1 = DistanceBetweenPoints(loc,loc2)
local real dis2 = DistanceBetweenPoints(loc,loc3)
local boolean b = false
if (dis1>dis2)then
set b = true
endif
call RemoveLocation(loc)
call RemoveLocation(loc2)
call RemoveLocation(loc3)
set loc = null
set loc2 = null
set loc3 = null
if (b==true)then
return Location(udg_x_spot[i],udg_y_spot[i])
else
return Location(udg_lastx[i],udg_lasty[i])
endif
endfunction
public function main takes integer int, unit u returns nothing
local integer a = 1
local effect e
local boolean b = false
local integer c = 1
local integer atemp = GetConvertedPlayerId(GetOwningPlayer(udg_units[int]))
local unit u2
local location loc
if ( GetUnitTypeId(u) == 'hrif' ) then
set udg_max_bombs[int] = ( udg_max_bombs[int] + 1 )
call floatingtext3(int,"+Bombs",14)
endif
if ( GetUnitTypeId(u) == 'hfoo' ) then
set udg_bomb_damage[int] = ( udg_bomb_damage[int] + 1 )
call floatingtext3(int,"+Range",14)
endif
if ( GetUnitTypeId(u) == 'hkni' ) then
set udg_unit_speed[int] = ( udg_unit_speed[int] + 1.00 )
call floatingtext3(int,"+Speed",14)
endif
if ( GetUnitTypeId(u) == 'hmtm' ) then
set udg_can_i_kick[int] = true
call floatingtext3(int,"Kick Bomb",14)
endif
if ( GetUnitTypeId(u) == 'hmpr' ) then
call floatingtext3(int,"Powerless",14)
set udg_can_i_kick[int] = false
set udg_max_bombs[int] = 1
set udg_bomb_damage[int] = 2
set udg_unit_speed[int] = 7
if (udg_shield_effects[int] != null)then
call DestroyEffect(udg_shield_effects[int])
set udg_shield_effects[int] = null
endif
endif
if ( GetUnitTypeId(u) == 'hsor' ) then
if (udg_shield_effects[int] == null)then
call floatingtext(int,"+Shield",14)
call AddSpecialEffectTargetUnitBJ( "origin", udg_units[int], "Abilities\\Spells\\Human\\DevotionAura\\DevotionAura.mdl" )
set udg_shield_effects[int] = GetLastCreatedEffectBJ()
endif
endif
if ( GetUnitTypeId(u) == 'opeo' ) then
if (IsUnitInGroup(udg_units[int],udg_bhead_group) == false)then
set b = true
call floatingtext3(int,"Self Bomb",14)
call GroupAddUnit(udg_bhead_group,udg_units[int])
endif
endif
set e = AddSpecialEffect("Abilities\\Spells\\Human\\Polymorph\\PolyMorphDoneGround.mdl",GetUnitX(u),GetUnitY(u))
call DestroyEffect( e )
set udg_powerups[GetUnitUserData(u)] = null
call RemoveUnit(u)
if (b==true)then
call AddSpecialEffectTargetUnitBJ( "origin", udg_units[int], "Environment\\LargeBuildingFire\\LargeBuildingFire1.mdl" )
set udg_fire_effect[int] = GetLastCreatedEffectBJ()
call TriggerSleepAction(1)
call SetUnitScalePercent( udg_units[int], 150, 150, 150 )
call PlaySoundBJ( gg_snd_beep )
call floatingtext(int,"5",14)
call TriggerSleepAction(1)
call SetUnitScalePercent( udg_units[int], 170, 170, 170 )
call floatingtext(int,"4",16)
call PlaySoundBJ( gg_snd_beep )
call TriggerSleepAction(1)
call SetUnitScalePercent( udg_units[int], 190, 190, 190 )
call floatingtext(int,"3",18)
call PlaySoundBJ( gg_snd_beep )
call TriggerSleepAction(1)
call SetUnitScalePercent( udg_units[int], 220, 220, 220 )
call floatingtext(int,"2",20)
call PlaySoundBJ( gg_snd_beep )
call TriggerSleepAction(1)
call SetUnitScalePercent( udg_units[int], 250, 250, 250 )
call floatingtext(int,"1",22)
call PlaySoundBJ( gg_snd_beep )
call TriggerSleepAction(1)
call DestroyEffect(udg_fire_effect[int])
set udg_fire_effect[int] = null
call SetUnitScalePercent( udg_units[int], 130, 130, 130 )
if (IsUnitInGroup(udg_units[int],udg_bhead_group) == true)then
call GroupRemoveUnit(udg_bhead_group,udg_units[int])
set loc = getloc(int)
call PlaySoundBJ( gg_snd_bomb )
call ForForce( GetPlayersAll(), function shake )
loop
exitwhen c > 4
set u2 = CreateUnitAtLoc(Player(atemp-1), 'e000', loc, 90*c)
call SetUnitUserData(u2,10)
call GroupAddUnit(udg_boom_group,u2)
set c = c + 1
endloop
set e = AddSpecialEffectLoc("Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl",loc)
call RemoveLocation(loc)
call SetUnitUserData(udg_units[int], 1)
call TriggerSleepAction(.5)
call ForForce( GetPlayersAll(), function stop )
call DestroyEffect(e)
call SetUnitVertexColorBJ(udg_units[int], 100, 100, 100, 0 )
call SetUnitUserData(udg_units[int], 0)
set u2 = null
set loc = null
endif
endif
set u = null
set e = null
endfunction
endlibrary
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_BombKick_Conditions takes nothing returns boolean
if ( not ( IsUnitGroupEmptyBJ(udg_Bombkick) == false ) ) then
return false
endif
return true
endfunction
function Trig_BombKick_Func001A takes nothing returns nothing
local unit u = GetEnumUnit()
local integer i = GetUnitUserData(u)
local real angle = LoadRealBJ(0, i, udg_Hash)
local real targetx = LoadRealBJ(1, i, udg_Hash)
local real targety = LoadRealBJ(2, i, udg_Hash)
local real xx = GetUnitX(u)
local real yy = GetUnitY(u)
local location loc2
local integer c
local real speed = LoadRealBJ(3, i, udg_Hash)
local integer xxx = 0
local integer yyy = 0
local effect e
if (xx != targetx)then
if (xx < targetx)then
set xx = xx+speed
if (xx > targetx)then
set xx = targetx
endif
else
set xx = xx-speed
if (xx < targetx)then
set xx = targetx
endif
endif
else
if (yy < targety)then
set yy = yy+speed
if (yy > targety)then
set yy = targety
endif
else
set yy = yy-speed
if (yy < targety)then
set yy = targety
endif
endif
endif
call SetUnitPosition(u,xx,yy)
if (xx == targetx and yy == targety)then
if (angle==0)then
set xxx = 128
endif
if (angle==90)then
set yyy = 128
endif
if (angle==180)then
set xxx = -128
endif
if (angle==270)then
set yyy = -128
endif
set loc2 = Location(targetx + xxx, targety + yyy)
set c = Bomb_convert(GetLocationX(loc2),GetLocationY(loc2))
if (udg_warps[udg_warp_reference[c]] != null)then
set targetx = udg_warp_targetx[udg_warp_reference[c]]
set targety = udg_warp_targety[udg_warp_reference[c]]
call SetUnitPosition(u,targetx,targety)
set loc2 = Location(targetx+xxx, targety+yyy)
set c = Bomb_convert(GetLocationX(loc2),GetLocationY(loc2))
set e = AddSpecialEffect("Abilities\\Spells\\Human\\Polymorph\\PolyMorphTarget.mdl",targetx,targety)
call DestroyEffect( e )
set e = null
endif
if (Press_Conditions2(c,GetLocationX(loc2),GetLocationY(loc2)) == true)then
set udg_bomb_units[c] = udg_bomb_units[i]
set udg_bomb_units[i] = null
call SetUnitUserData(udg_bomb_units[c],c)
call SaveRealBJ( angle, 0, c, udg_Hash )
call SaveRealBJ( GetLocationX(loc2), 1, c, udg_Hash )
call SaveRealBJ( GetLocationY(loc2), 2, c, udg_Hash )
call SaveRealBJ( speed, 3, c, udg_Hash )
else
call GroupRemoveUnit(udg_Bombkick,udg_bomb_units[i])
endif
call RemoveLocation(loc2)
set loc2 = null
endif
set u = null
endfunction
function Trig_BombKick_Actions takes nothing returns nothing
call ForGroupBJ( udg_Bombkick, function Trig_BombKick_Func001A )
endfunction
//===========================================================================
function InitTrig_BombKick takes nothing returns nothing
set gg_trg_BombKick = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_BombKick, 0.05 )
call TriggerAddCondition( gg_trg_BombKick, Condition( function Trig_BombKick_Conditions ) )
call TriggerAddAction( gg_trg_BombKick, function Trig_BombKick_Actions )
endfunction
//TESH.scrollpos=38
//TESH.alwaysfold=0
function Trig_bombset_Actions takes nothing returns nothing
local integer MATH
local integer atemp_int
local real xx
local real yy
local location dis
local location dis2
local location dis3
local real r
local real r2
local unit u
if (udg_round_active == false)then
return
endif
set atemp_int = GetConvertedPlayerId(GetTriggerPlayer())
if (udg_bombs_layed[atemp_int] < udg_max_bombs[atemp_int] and udg_am_i_dead[atemp_int] == false)then
set dis = Location(udg_current_x[atemp_int], udg_current_y[atemp_int])
set dis2 = Location(udg_x_spot[atemp_int], udg_y_spot[atemp_int])
set dis3 = Location(udg_lastx[atemp_int], udg_lasty[atemp_int])
set r = DistanceBetweenPoints(dis, dis2)
set r2 = DistanceBetweenPoints(dis, dis3)
if ( r < r2 ) then
set xx = udg_x_spot[atemp_int]
set yy = udg_y_spot[atemp_int]
else
set xx = udg_lastx[atemp_int]
set yy = udg_lasty[atemp_int]
endif
set MATH = Bomb_convert(xx,yy)
if (udg_bomb_units[MATH] != null)then
return
else
set udg_bomb_units[MATH] = CreateUnit(Player(atemp_int-1),'ewsp', xx, yy, 270)
set udg_bombs_layed[atemp_int] = udg_bombs_layed[atemp_int]+1
call SetUnitUserData( udg_bomb_units[MATH], MATH )
endif
call RemoveLocation(dis)
call RemoveLocation(dis2)
call RemoveLocation(dis3)
set dis = null
set dis2 = null
set dis3 = null
endif
endfunction
//===========================================================================
function InitTrig_bombset takes nothing returns nothing
set gg_trg_bombset = CreateTrigger( )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_bombset, Player(0) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_bombset, Player(1) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_bombset, Player(2) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_bombset, Player(3) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_bombset, Player(4) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_bombset, Player(5) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_bombset, Player(6) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_bombset, Player(7) )
call TriggerAddAction( gg_trg_bombset, function Trig_bombset_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_bombenter_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'ewsp' ) ) then
return false
endif
return true
endfunction
function Trig_bombenter_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
call TriggerSleepAction( 2.5 )
if (IsUnitAliveBJ(u) == true)then
call Bomb_explode(u,0)
endif
set u = null
endfunction
//===========================================================================
function InitTrig_bombenter takes nothing returns nothing
set gg_trg_bombenter = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_bombenter, GetPlayableMapRect() )
call TriggerAddCondition( gg_trg_bombenter, Condition( function Trig_bombenter_Conditions ) )
call TriggerAddAction( gg_trg_bombenter, function Trig_bombenter_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Text_DEAD_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'hpea' ) ) then
return false
endif
return true
endfunction
function Trig_Text_DEAD_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local integer i = GetConvertedPlayerId(GetOwningPlayer(u))
call DisplayTextToForce( bj_FORCE_ALL_PLAYERS, udg_colorcodes[i]+GetPlayerName(GetOwningPlayer(u)) + " has died!" )
set udg_cam_unit[i] = gg_unit_hpea_0015
if (udg_fire_effect[i] != null)then
call DestroyEffect(udg_fire_effect[i])
set udg_fire_effect[i] = null
endif
if (IsUnitInGroup(u,udg_bhead_group)==true)then
call GroupRemoveUnit(udg_bhead_group,u)
endif
set u = null
endfunction
//===========================================================================
function InitTrig_Text_DEAD takes nothing returns nothing
set gg_trg_Text_DEAD = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Text_DEAD, gg_rct_Region_000 )
call TriggerAddCondition( gg_trg_Text_DEAD, Condition( function Trig_Text_DEAD_Conditions ) )
call TriggerAddAction( gg_trg_Text_DEAD, function Trig_Text_DEAD_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Powerup_spawns_Conditions takes nothing returns boolean
if ( not ( udg_boxes == 0 ) ) then
return false
endif
if ( not ( udg_round_active == true ) ) then
return false
endif
return true
endfunction
function Trig_Powerup_spawns_Actions takes nothing returns nothing
local integer int1 = GetRandomInt(0,R2I(udg_area_size)-1)
local integer int2 = GetRandomInt(0,R2I(udg_area_size)-1)
local real real1 = -1024 + int1 * 128
local real real2 = 768 - int2 * 128
local integer i = Bomb_convert(real1,real2)
if (GetTerrainType(real1,real2) == udg_Terrain_walk and udg_powerups[i] == null)then
call Bomb_PowerupChance(real1, real2, i)
endif
endfunction
//===========================================================================
function InitTrig_Powerup_spawns takes nothing returns nothing
set gg_trg_Powerup_spawns = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Powerup_spawns, 1.00 )
call TriggerAddCondition( gg_trg_Powerup_spawns, Condition( function Trig_Powerup_spawns_Conditions ) )
call TriggerAddAction( gg_trg_Powerup_spawns, function Trig_Powerup_spawns_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_collisionPowerup_Conditions takes nothing returns boolean
if ( not ( IsUnitInGroup(GetTriggerUnit(), udg_powerup_group) == true ) ) then
return false
endif
return true
endfunction
function Trig_collisionPowerup_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
call Powerup_main(1,u)
set u = null
endfunction
//===========================================================================
function InitTrig_collisionPowerup takes nothing returns nothing
set gg_trg_collisionPowerup = CreateTrigger( )
call TriggerRegisterUnitInRangeSimple( gg_trg_collisionPowerup, 75.00, gg_unit_hpea_0011 )
call TriggerAddCondition( gg_trg_collisionPowerup, Condition( function Trig_collisionPowerup_Conditions ) )
call TriggerAddAction( gg_trg_collisionPowerup, function Trig_collisionPowerup_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_collisionPowerup2_Conditions takes nothing returns boolean
if ( not ( IsUnitInGroup(GetTriggerUnit(), udg_powerup_group) == true ) ) then
return false
endif
return true
endfunction
function Trig_collisionPowerup2_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
call Powerup_main(2, u)
set u = null
endfunction
//===========================================================================
function InitTrig_collisionPowerup2 takes nothing returns nothing
set gg_trg_collisionPowerup2 = CreateTrigger( )
call TriggerRegisterUnitInRangeSimple( gg_trg_collisionPowerup2, 75.00, gg_unit_hpea_0012 )
call TriggerAddCondition( gg_trg_collisionPowerup2, Condition( function Trig_collisionPowerup2_Conditions ) )
call TriggerAddAction( gg_trg_collisionPowerup2, function Trig_collisionPowerup2_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_collisionPowerup3_Conditions takes nothing returns boolean
if ( not ( IsUnitInGroup(GetTriggerUnit(), udg_powerup_group) == true ) ) then
return false
endif
return true
endfunction
function Trig_collisionPowerup3_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
call Powerup_main(3, u)
set u = null
endfunction
//===========================================================================
function InitTrig_collisionPowerup3 takes nothing returns nothing
set gg_trg_collisionPowerup3 = CreateTrigger( )
call TriggerRegisterUnitInRangeSimple( gg_trg_collisionPowerup3, 75.00, gg_unit_hpea_0013 )
call TriggerAddCondition( gg_trg_collisionPowerup3, Condition( function Trig_collisionPowerup3_Conditions ) )
call TriggerAddAction( gg_trg_collisionPowerup3, function Trig_collisionPowerup3_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_collisionPowerup4_Conditions takes nothing returns boolean
if ( not ( IsUnitInGroup(GetTriggerUnit(), udg_powerup_group) == true ) ) then
return false
endif
return true
endfunction
function Trig_collisionPowerup4_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
call Powerup_main(4, u)
set u = null
endfunction
//===========================================================================
function InitTrig_collisionPowerup4 takes nothing returns nothing
set gg_trg_collisionPowerup4 = CreateTrigger( )
call TriggerRegisterUnitInRangeSimple( gg_trg_collisionPowerup4, 75.00, gg_unit_hpea_0014 )
call TriggerAddCondition( gg_trg_collisionPowerup4, Condition( function Trig_collisionPowerup4_Conditions ) )
call TriggerAddAction( gg_trg_collisionPowerup4, function Trig_collisionPowerup4_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_collisionPowerup5_Conditions takes nothing returns boolean
if ( not ( IsUnitInGroup(GetTriggerUnit(), udg_powerup_group) == true ) ) then
return false
endif
return true
endfunction
function Trig_collisionPowerup5_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
call Powerup_main(5, u)
set u = null
endfunction
//===========================================================================
function InitTrig_collisionPowerup5 takes nothing returns nothing
set gg_trg_collisionPowerup5 = CreateTrigger( )
call TriggerRegisterUnitInRangeSimple( gg_trg_collisionPowerup5, 75.00, gg_unit_hpea_0016 )
call TriggerAddCondition( gg_trg_collisionPowerup5, Condition( function Trig_collisionPowerup5_Conditions ) )
call TriggerAddAction( gg_trg_collisionPowerup5, function Trig_collisionPowerup5_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_collisionPowerup6_Conditions takes nothing returns boolean
if ( not ( IsUnitInGroup(GetTriggerUnit(), udg_powerup_group) == true ) ) then
return false
endif
return true
endfunction
function Trig_collisionPowerup6_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
call Powerup_main(6, u)
set u = null
endfunction
//===========================================================================
function InitTrig_collisionPowerup6 takes nothing returns nothing
set gg_trg_collisionPowerup6 = CreateTrigger( )
call TriggerRegisterUnitInRangeSimple( gg_trg_collisionPowerup6, 75.00, gg_unit_hpea_0017 )
call TriggerAddCondition( gg_trg_collisionPowerup6, Condition( function Trig_collisionPowerup6_Conditions ) )
call TriggerAddAction( gg_trg_collisionPowerup6, function Trig_collisionPowerup6_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_collisionPowerup7_Conditions takes nothing returns boolean
if ( not ( IsUnitInGroup(GetTriggerUnit(), udg_powerup_group) == true ) ) then
return false
endif
return true
endfunction
function Trig_collisionPowerup7_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
call Powerup_main(7, u)
set u = null
endfunction
//===========================================================================
function InitTrig_collisionPowerup7 takes nothing returns nothing
set gg_trg_collisionPowerup7 = CreateTrigger( )
call TriggerRegisterUnitInRangeSimple( gg_trg_collisionPowerup7, 75.00, gg_unit_hpea_0018 )
call TriggerAddCondition( gg_trg_collisionPowerup7, Condition( function Trig_collisionPowerup7_Conditions ) )
call TriggerAddAction( gg_trg_collisionPowerup7, function Trig_collisionPowerup7_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_collisionPowerup8_Conditions takes nothing returns boolean
if ( not ( IsUnitInGroup(GetTriggerUnit(), udg_powerup_group) == true ) ) then
return false
endif
return true
endfunction
function Trig_collisionPowerup8_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
call Powerup_main(8, u)
set u = null
endfunction
//===========================================================================
function InitTrig_collisionPowerup8 takes nothing returns nothing
set gg_trg_collisionPowerup8 = CreateTrigger( )
call TriggerRegisterUnitInRangeSimple( gg_trg_collisionPowerup8, 75.00, gg_unit_hpea_0019 )
call TriggerAddCondition( gg_trg_collisionPowerup8, Condition( function Trig_collisionPowerup8_Conditions ) )
call TriggerAddAction( gg_trg_collisionPowerup8, function Trig_collisionPowerup8_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_spingroup_Conditions takes nothing returns boolean
if ( not ( IsUnitGroupEmptyBJ(udg_spin_group) == false ) ) then
return false
endif
return true
endfunction
function Trig_spin takes nothing returns nothing
local unit u = GetEnumUnit()
call SetUnitFacingTimed(u,GetUnitFacing(u)+180,1)
set u = null
endfunction
function Trig_spingroup_Actions takes nothing returns nothing
call ForGroup(udg_spin_group,function Trig_spin)
endfunction
//===========================================================================
function InitTrig_spingroup takes nothing returns nothing
set gg_trg_spingroup = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_spingroup, 0.90 )
call TriggerAddCondition( gg_trg_spingroup, Condition( function Trig_spingroup_Conditions ) )
call TriggerAddAction( gg_trg_spingroup, function Trig_spingroup_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_bigarena1_Actions takes nothing returns nothing
local integer a = 1
set udg_Terrain_walk = 'Ydrt'
set udg_Terrain_wall = 'Ygsb'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(8,8,8,1,udg_Terrain_walk)
call TriggerSleepAction( 0.1 )
loop
exitwhen a > 8
call Bomb_terrain(1,1+2*(a-1),0,1,udg_Terrain_wall)
call Bomb_terrain(3,1+2*(a-1),0,1,udg_Terrain_wall)
call Bomb_terrain(5,1+2*(a-1),0,1,udg_Terrain_wall)
call Bomb_terrain(7,1+2*(a-1),0,1,udg_Terrain_wall)
call Bomb_terrain(9,1+2*(a-1),0,1,udg_Terrain_wall)
call Bomb_terrain(11,1+2*(a-1),0,1,udg_Terrain_wall)
call Bomb_terrain(13,1+2*(a-1),0,1,udg_Terrain_wall)
call Bomb_terrain(15,1+2*(a-1),0,1,udg_Terrain_wall)
set a = a+1
endloop
call Bomb_spots(2,2,1)
call Bomb_spots(14,2,2)
call Bomb_spots(14,14,3)
call Bomb_spots(2,14,4)
call Bomb_spots(8,4,5)
call Bomb_spots(8,12,6)
call Bomb_spots(4,8,7)
call Bomb_spots(12,8,8)
endfunction
//===========================================================================
function InitTrig_bigarena1 takes nothing returns nothing
set gg_trg_bigarena1 = CreateTrigger( )
call TriggerAddAction( gg_trg_bigarena1, function Trig_bigarena1_Actions )
endfunction
//TESH.scrollpos=23
//TESH.alwaysfold=0
function Trig_bigarena2_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Yhdg'
set udg_Terrain_wall = 'Ydtr'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(8,8,7,0,udg_Terrain_walk)
call Bomb_terrain(5,7,0,0,udg_Terrain_wall)
call Bomb_terrain(6,6,0,0,udg_Terrain_wall)
call Bomb_terrain(7,5,0,0,udg_Terrain_wall)
call Bomb_terrain(9,5,0,0,udg_Terrain_wall)
call Bomb_terrain(10,6,0,0,udg_Terrain_wall)
call Bomb_terrain(11,7,0,0,udg_Terrain_wall)
call Bomb_terrain(11,9,0,0,udg_Terrain_wall)
call Bomb_terrain(10,10,0,0,udg_Terrain_wall)
call Bomb_terrain(9,11,0,0,udg_Terrain_wall)
call Bomb_terrain(7,11,0,0,udg_Terrain_wall)
call Bomb_terrain(6,10,0,0,udg_Terrain_wall)
call Bomb_terrain(5,9,0,0,udg_Terrain_wall)
set udg_warp_number = 8
call Bomb_warp(1,8,1,7,8)
call Bomb_warp(4,4,2,7,7)
call Bomb_warp(8,1,3,8,7)
call Bomb_warp(12,4,4,9,7)
call Bomb_warp(15,8,5,9,8)
call Bomb_warp(12,12,6,9,9)
call Bomb_warp(8,15,7,8,9)
call Bomb_warp(4,12,8,7,9)
call Bomb_spots(8,3,1)
call Bomb_spots(13,8,2)
call Bomb_spots(8,13,3)
call Bomb_spots(3,8,4)
call Bomb_spots(5,5,5)
call Bomb_spots(11,5,6)
call Bomb_spots(11,11,7)
call Bomb_spots(5,11,8)
endfunction
//===========================================================================
function InitTrig_bigarena2 takes nothing returns nothing
set gg_trg_bigarena2 = CreateTrigger( )
call TriggerAddAction( gg_trg_bigarena2, function Trig_bigarena2_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_bigarena3_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Adrt'
set udg_Terrain_wall = 'Adrd'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(8,8,4,1,udg_Terrain_walk)
set udg_warp_number = 9
call Bomb_warp(4,4,1,12,4)
call Bomb_warp(4,5,2,12,5)
call Bomb_warp(4,6,3,12,6)
call Bomb_warp(12,7,4,4,7)
call Bomb_warp(12,8,5,4,8)
call Bomb_warp(12,9,6,4,9)
call Bomb_warp(4,10,7,12,10)
call Bomb_warp(4,11,8,12,11)
call Bomb_warp(4,12,9,12,12)
call Bomb_spots(5,5,1)
call Bomb_spots(11,5,2)
call Bomb_spots(11,11,3)
call Bomb_spots(5,11,4)
call Bomb_spots(8,5,5)
call Bomb_spots(11,8,6)
call Bomb_spots(8,11,7)
call Bomb_spots(5,8,8)
endfunction
//===========================================================================
function InitTrig_bigarena3 takes nothing returns nothing
set gg_trg_bigarena3 = CreateTrigger( )
call TriggerAddAction( gg_trg_bigarena3, function Trig_bigarena3_Actions )
endfunction
//TESH.scrollpos=21
//TESH.alwaysfold=0
function Trig_bigarena4_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Ywmb'
set udg_Terrain_wall = 'Yblm'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(8,8,2,1,udg_Terrain_walk)
call Bomb_terrain(5,7,0,1,udg_Terrain_walk)
call Bomb_terrain(5,8,0,1,udg_Terrain_walk)
call Bomb_terrain(5,9,0,1,udg_Terrain_walk)
call Bomb_terrain(11,7,0,1,udg_Terrain_walk)
call Bomb_terrain(11,8,0,1,udg_Terrain_walk)
call Bomb_terrain(11,9,0,1,udg_Terrain_walk)
call Bomb_terrain(8,2,1,1,udg_Terrain_walk)
call Bomb_terrain(5,2,1,1,udg_Terrain_walk)
call Bomb_terrain(2,2,1,1,udg_Terrain_walk)
call Bomb_terrain(2,5,1,1,udg_Terrain_walk)
call Bomb_terrain(2,8,1,1,udg_Terrain_walk)
call Bomb_terrain(2,11,1,1,udg_Terrain_walk)
call Bomb_terrain(2,14,1,1,udg_Terrain_walk)
call Bomb_terrain(5,14,1,1,udg_Terrain_walk)
call Bomb_terrain(8,14,1,1,udg_Terrain_walk)
call Bomb_terrain(10,2,0,1,udg_Terrain_walk)
call Bomb_terrain(10,14,0,1,udg_Terrain_walk)
set udg_warp_number = 6
call Bomb_warp(1,8,1,11,9)
call Bomb_warp(2,8,2,11,8)
call Bomb_warp(3,8,3,11,7)
call Bomb_warp(5,7,4,10,2)
call Bomb_warp(5,8,5,11,8)
call Bomb_warp(5,9,6,10,14)
call Bomb_spots(10,8,1)
call Bomb_spots(6,8,2)
call Bomb_spots(8,2,3)
call Bomb_spots(4,2,4)
call Bomb_spots(2,5,5)
call Bomb_spots(2,11,6)
call Bomb_spots(4,14,7)
call Bomb_spots(8,14,8)
endfunction
//===========================================================================
function InitTrig_bigarena4 takes nothing returns nothing
set gg_trg_bigarena4 = CreateTrigger( )
call TriggerAddAction( gg_trg_bigarena4, function Trig_bigarena4_Actions )
endfunction
//TESH.scrollpos=12
//TESH.alwaysfold=0
function Trig_bigarena5_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Ydrt'
set udg_Terrain_wall = 'Ygsb'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(4,4,3,1,udg_Terrain_walk)
call Bomb_terrain(12,4,3,1,udg_Terrain_walk)
call Bomb_terrain(4,12,3,1,udg_Terrain_walk)
call Bomb_terrain(12,12,3,1,udg_Terrain_walk)
call Bomb_terrain(1,1,1,1,udg_Terrain_wall)
call Bomb_terrain(1,15,1,1,udg_Terrain_wall)
call Bomb_terrain(15,15,1,1,udg_Terrain_wall)
call Bomb_terrain(15,1,1,1,udg_Terrain_wall)
call Bomb_terrain(8,3,1,1,udg_Terrain_walk)
call Bomb_terrain(13,8,1,1,udg_Terrain_walk)
call Bomb_terrain(8,13,1,1,udg_Terrain_walk)
call Bomb_terrain(3,8,1,1,udg_Terrain_walk)
call Bomb_terrain(8,8,1,1,udg_Terrain_walk)
set udg_warp_number = 0
call Bomb_spots(8,2,1)
call Bomb_spots(14,8,2)
call Bomb_spots(8,14,3)
call Bomb_spots(2,8,4)
call Bomb_spots(3,3,5)
call Bomb_spots(13,3,6)
call Bomb_spots(13,13,7)
call Bomb_spots(3,13,8)
endfunction
//===========================================================================
function InitTrig_bigarena5 takes nothing returns nothing
set gg_trg_bigarena5 = CreateTrigger( )
call TriggerAddAction( gg_trg_bigarena5, function Trig_bigarena5_Actions )
endfunction
//TESH.scrollpos=65
//TESH.alwaysfold=0
function Trig_bigarena6_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Yhdg'
set udg_Terrain_wall = 'Ydtr'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(8,8,7,1,udg_Terrain_walk)
call Bomb_terrain(2,2,0,1,udg_Terrain_wall)
call Bomb_terrain(3,2,0,1,udg_Terrain_wall)
call Bomb_terrain(6,1,0,1,udg_Terrain_wall)
call Bomb_terrain(10,1,0,1,udg_Terrain_wall)
call Bomb_terrain(13,2,0,1,udg_Terrain_wall)
call Bomb_terrain(14,2,0,1,udg_Terrain_wall)
call Bomb_terrain(14,3,0,1,udg_Terrain_wall)
call Bomb_terrain(5,3,0,1,udg_Terrain_wall)
call Bomb_terrain(6,3,0,1,udg_Terrain_wall)
call Bomb_terrain(7,3,0,1,udg_Terrain_wall)
call Bomb_terrain(9,3,0,1,udg_Terrain_wall)
call Bomb_terrain(11,3,0,1,udg_Terrain_wall)
call Bomb_terrain(3,5,0,1,udg_Terrain_wall)
call Bomb_terrain(3,6,0,1,udg_Terrain_wall)
call Bomb_terrain(3,7,0,1,udg_Terrain_wall)
call Bomb_terrain(5,5,0,1,udg_Terrain_wall)
call Bomb_terrain(10,3,0,1,udg_Terrain_wall)
call Bomb_terrain(7,5,0,1,udg_Terrain_wall)
call Bomb_terrain(8,5,0,1,udg_Terrain_wall)
call Bomb_terrain(9,5,0,1,udg_Terrain_wall)
call Bomb_terrain(11,5,0,1,udg_Terrain_wall)
call Bomb_terrain(13,5,0,1,udg_Terrain_wall)
call Bomb_terrain(13,6,0,1,udg_Terrain_wall)
call Bomb_terrain(13,7,0,1,udg_Terrain_wall)
call Bomb_terrain(1,6,0,1,udg_Terrain_wall)
call Bomb_terrain(15,6,0,1,udg_Terrain_wall)
call Bomb_terrain(5,7,0,1,udg_Terrain_wall)
call Bomb_terrain(5,8,0,1,udg_Terrain_wall)
call Bomb_terrain(5,9,0,1,udg_Terrain_wall)
call Bomb_terrain(7,7,0,1,udg_Terrain_wall)
call Bomb_terrain(9,7,0,1,udg_Terrain_wall)
call Bomb_terrain(11,7,0,1,udg_Terrain_wall)
call Bomb_terrain(11,8,0,1,udg_Terrain_wall)
call Bomb_terrain(11,9,0,1,udg_Terrain_wall)
call Bomb_terrain(7,9,0,1,udg_Terrain_wall)
call Bomb_terrain(9,9,0,1,udg_Terrain_wall)
call Bomb_terrain(1,10,0,1,udg_Terrain_wall)
call Bomb_terrain(3,9,0,1,udg_Terrain_wall)
call Bomb_terrain(2,3,0,1,udg_Terrain_wall)
call Bomb_terrain(3,10,0,1,udg_Terrain_wall)
call Bomb_terrain(3,11,0,1,udg_Terrain_wall)
call Bomb_terrain(5,11,0,1,udg_Terrain_wall)
call Bomb_terrain(7,11,0,1,udg_Terrain_wall)
call Bomb_terrain(8,11,0,1,udg_Terrain_wall)
call Bomb_terrain(9,11,0,1,udg_Terrain_wall)
call Bomb_terrain(11,11,0,1,udg_Terrain_wall)
call Bomb_terrain(13,9,0,1,udg_Terrain_wall)
call Bomb_terrain(13,10,0,1,udg_Terrain_wall)
call Bomb_terrain(13,11,0,1,udg_Terrain_wall)
call Bomb_terrain(15,10,0,1,udg_Terrain_wall)
call Bomb_terrain(2,13,0,1,udg_Terrain_wall)
call Bomb_terrain(2,14,0,1,udg_Terrain_wall)
call Bomb_terrain(3,14,0,1,udg_Terrain_wall)
call Bomb_terrain(5,13,0,1,udg_Terrain_wall)
call Bomb_terrain(6,13,0,1,udg_Terrain_wall)
call Bomb_terrain(7,13,0,1,udg_Terrain_wall)
call Bomb_terrain(9,13,0,1,udg_Terrain_wall)
call Bomb_terrain(10,13,0,1,udg_Terrain_wall)
call Bomb_terrain(11,13,0,1,udg_Terrain_wall)
call Bomb_terrain(13,14,0,1,udg_Terrain_wall)
call Bomb_terrain(14,14,0,1,udg_Terrain_wall)
call Bomb_terrain(14,13,0,1,udg_Terrain_wall)
call Bomb_terrain(6,15,0,1,udg_Terrain_wall)
call Bomb_terrain(10,15,0,1,udg_Terrain_wall)
set udg_warp_number = 0
call Bomb_spots(8,2,1)
call Bomb_spots(14,8,2)
call Bomb_spots(8,14,3)
call Bomb_spots(2,8,4)
call Bomb_spots(6,6,5)
call Bomb_spots(10,6,6)
call Bomb_spots(10,10,7)
call Bomb_spots(6,10,8)
endfunction
//===========================================================================
function InitTrig_bigarena6 takes nothing returns nothing
set gg_trg_bigarena6 = CreateTrigger( )
call TriggerAddAction( gg_trg_bigarena6, function Trig_bigarena6_Actions )
endfunction
//TESH.scrollpos=27
//TESH.alwaysfold=0
function Trig_bigarena7_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Adrt'
set udg_Terrain_wall = 'Adrd'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(8,5,4,1,udg_Terrain_walk)
call Bomb_terrain(8,11,4,1,udg_Terrain_walk)
call Bomb_terrain(13,13,0,1,udg_Terrain_walk)
call Bomb_terrain(3,3,0,1,udg_Terrain_walk)
call Bomb_terrain(8,16,0,1,udg_Terrain_walk)
call Bomb_terrain(8,0,0,1,udg_Terrain_walk)
set udg_warp_number = 20
call Bomb_warp(8,0,1,13,13)
call Bomb_warp(8,16,2,3,3)
call Bomb_warp(4,10,3,12,1)
call Bomb_warp(12,10,4,5,1)
call Bomb_warp(5,5,5,11,1)
call Bomb_warp(11,5,6,6,1)
call Bomb_warp(6,9,7,10,1)
call Bomb_warp(10,9,8,7,1)
call Bomb_warp(7,6,9,9,1)
call Bomb_warp(9,6,10,8,1)
call Bomb_warp(8,9,11,4,1)
call Bomb_warp(4,11,12,12,15)
call Bomb_warp(12,11,13,5,15)
call Bomb_warp(5,6,14,11,15)
call Bomb_warp(11,6,15,6,15)
call Bomb_warp(6,10,16,10,15)
call Bomb_warp(10,10,17,7,15)
call Bomb_warp(7,7,18,9,15)
call Bomb_warp(9,7,19,8,15)
call Bomb_warp(8,10,20,4,15)
call Bomb_spots(4,8,1)
call Bomb_spots(5,8,2)
call Bomb_spots(6,8,3)
call Bomb_spots(7,8,4)
call Bomb_spots(9,8,5)
call Bomb_spots(10,8,6)
call Bomb_spots(11,8,7)
call Bomb_spots(12,8,8)
endfunction
//===========================================================================
function InitTrig_bigarena7 takes nothing returns nothing
set gg_trg_bigarena7 = CreateTrigger( )
call TriggerAddAction( gg_trg_bigarena7, function Trig_bigarena7_Actions )
endfunction
//TESH.scrollpos=15
//TESH.alwaysfold=0
function Trig_bigarena8_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Ywmb'
set udg_Terrain_wall = 'Yblm'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(8,8,3,1,udg_Terrain_walk)
call Bomb_terrain(3,8,1,1,udg_Terrain_walk)
call Bomb_terrain(8,3,1,1,udg_Terrain_walk)
call Bomb_terrain(13,8,1,1,udg_Terrain_walk)
call Bomb_terrain(8,13,1,1,udg_Terrain_walk)
call Bomb_terrain(3,3,2,1,udg_Terrain_walk)
call Bomb_terrain(13,3,2,1,udg_Terrain_walk)
call Bomb_terrain(13,13,2,1,udg_Terrain_walk)
call Bomb_terrain(3,13,2,1,udg_Terrain_walk)
call Bomb_terrain(6,6,0,1,udg_Terrain_wall)
call Bomb_terrain(8,6,0,1,udg_Terrain_wall)
call Bomb_terrain(10,6,0,1,udg_Terrain_wall)
call Bomb_terrain(10,8,0,1,udg_Terrain_wall)
call Bomb_terrain(10,10,0,1,udg_Terrain_wall)
call Bomb_terrain(8,10,0,1,udg_Terrain_wall)
call Bomb_terrain(6,10,0,1,udg_Terrain_wall)
call Bomb_terrain(6,8,0,1,udg_Terrain_wall)
set udg_warp_number = 0
call Bomb_spots(3,8,1)
call Bomb_spots(8,3,2)
call Bomb_spots(13,8,3)
call Bomb_spots(8,13,4)
call Bomb_spots(3,3,5)
call Bomb_spots(13,3,6)
call Bomb_spots(13,13,7)
call Bomb_spots(3,13,8)
endfunction
//===========================================================================
function InitTrig_bigarena8 takes nothing returns nothing
set gg_trg_bigarena8 = CreateTrigger( )
call TriggerAddAction( gg_trg_bigarena8, function Trig_bigarena8_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_arena1_Actions takes nothing returns nothing
local integer a = 1
set udg_Terrain_walk = 'Ydrt'
set udg_Terrain_wall = 'Ygsb'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(6,6,6,1,udg_Terrain_walk)
call TriggerSleepAction( 0.1 )
set udg_warp_number = 0
loop
exitwhen a > 6
call Bomb_terrain(1,1+2*(a-1),0,1,udg_Terrain_wall)
call Bomb_terrain(3,1+2*(a-1),0,1,udg_Terrain_wall)
call Bomb_terrain(5,1+2*(a-1),0,1,udg_Terrain_wall)
call Bomb_terrain(7,1+2*(a-1),0,1,udg_Terrain_wall)
call Bomb_terrain(9,1+2*(a-1),0,1,udg_Terrain_wall)
call Bomb_terrain(11,1+2*(a-1),0,1,udg_Terrain_wall)
set a = a+1
endloop
call Bomb_spots(2,2,1)
call Bomb_spots(10,2,2)
call Bomb_spots(10,10,3)
call Bomb_spots(2,10,4)
call Bomb_spots(4,4,5)
call Bomb_spots(8,4,6)
call Bomb_spots(8,8,7)
call Bomb_spots(4,8,8)
endfunction
//===========================================================================
function InitTrig_arena1 takes nothing returns nothing
set gg_trg_arena1 = CreateTrigger( )
call TriggerAddAction( gg_trg_arena1, function Trig_arena1_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_arena2_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Yhdg'
set udg_Terrain_wall = 'Ydtr'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(6,6,6,1,udg_Terrain_walk)
call TriggerSleepAction( 0.1 )
set udg_warp_number = 0
call Bomb_terrain(0,0,1,1,udg_Terrain_wall)
call Bomb_terrain(12,0,1,1,udg_Terrain_wall)
call Bomb_terrain(0,12,1,1,udg_Terrain_wall)
call Bomb_terrain(12,12,1,1,udg_Terrain_wall)
call Bomb_terrain(5,5,0,1,udg_Terrain_wall)
call Bomb_terrain(7,5,0,1,udg_Terrain_wall)
call Bomb_terrain(5,7,0,1,udg_Terrain_wall)
call Bomb_terrain(7,7,0,1,udg_Terrain_wall)
call Bomb_terrain(3,3,0,1,udg_Terrain_wall)
call Bomb_terrain(9,3,0,1,udg_Terrain_wall)
call Bomb_terrain(9,9,0,1,udg_Terrain_wall)
call Bomb_terrain(3,9,0,1,udg_Terrain_wall)
call Bomb_spots(1,6,1)
call Bomb_spots(6,1,2)
call Bomb_spots(11,6,3)
call Bomb_spots(6,11,4)
call Bomb_spots(4,4,5)
call Bomb_spots(8,4,6)
call Bomb_spots(8,8,7)
call Bomb_spots(4,8,8)
endfunction
//===========================================================================
function InitTrig_arena2 takes nothing returns nothing
set gg_trg_arena2 = CreateTrigger( )
call TriggerAddAction( gg_trg_arena2, function Trig_arena2_Actions )
endfunction
//TESH.scrollpos=6
//TESH.alwaysfold=0
function Trig_arena3_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Adrt'
set udg_Terrain_wall = 'Adrd'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1.0 )
set udg_warp_number = 4
call Bomb_terrain(6,6,3,1,udg_Terrain_walk)
call Bomb_terrain(6,1,0,1,udg_Terrain_walk)
call Bomb_terrain(6,2,0,1,udg_Terrain_walk)
call Bomb_terrain(6,10,0,1,udg_Terrain_walk)
call Bomb_terrain(6,11,0,1,udg_Terrain_walk)
call Bomb_terrain(1,6,0,1,udg_Terrain_walk)
call Bomb_terrain(2,6,0,1,udg_Terrain_walk)
call Bomb_terrain(10,6,0,1,udg_Terrain_walk)
call Bomb_terrain(11,6,0,1,udg_Terrain_walk)
call Bomb_warp(6,1,1,3,9)
call Bomb_warp(6,11,2,9,3)
call Bomb_warp(1,6,3,9,9)
//call Bomb_warp(11,6,4,3,3)
call Bomb_warp(11,6,4,6,6)
call Bomb_spots(6,3,1)
call Bomb_spots(8,4,2)
call Bomb_spots(9,6,3)
call Bomb_spots(8,8,4)
call Bomb_spots(6,9,5)
call Bomb_spots(4,8,6)
call Bomb_spots(3,6,7)
call Bomb_spots(4,4,8)
endfunction
//===========================================================================
function InitTrig_arena3 takes nothing returns nothing
set gg_trg_arena3 = CreateTrigger( )
call TriggerAddAction( gg_trg_arena3, function Trig_arena3_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_arena4_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Ywmb'
set udg_Terrain_wall = 'Yblm'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(6,6,6,1,udg_Terrain_walk)
call TriggerSleepAction( 0.3 )
call Bomb_terrain(1,1,1,1,udg_Terrain_wall)
call Bomb_terrain(11,1,1,1,udg_Terrain_wall)
call Bomb_terrain(1,11,1,1,udg_Terrain_wall)
call Bomb_terrain(11,11,1,1,udg_Terrain_wall)
call Bomb_terrain(3,3,0,1,udg_Terrain_wall)
call Bomb_terrain(5,3,0,1,udg_Terrain_wall)
call Bomb_terrain(7,3,0,1,udg_Terrain_wall)
call Bomb_terrain(9,3,0,1,udg_Terrain_wall)
call Bomb_terrain(3,5,0,1,udg_Terrain_wall)
call Bomb_terrain(3,7,0,1,udg_Terrain_wall)
call Bomb_terrain(3,9,0,1,udg_Terrain_wall)
call Bomb_terrain(5,9,0,1,udg_Terrain_wall)
call Bomb_terrain(7,9,0,1,udg_Terrain_wall)
call Bomb_terrain(9,5,0,1,udg_Terrain_wall)
call Bomb_terrain(9,7,0,1,udg_Terrain_wall)
call Bomb_terrain(9,9,0,1,udg_Terrain_wall)
call Bomb_terrain(5,5,0,1,udg_Terrain_wall)
call Bomb_terrain(7,5,0,1,udg_Terrain_wall)
call Bomb_terrain(7,7,0,1,udg_Terrain_wall)
call Bomb_terrain(5,7,0,1,udg_Terrain_wall)
call Bomb_spots(1,6,1)
call Bomb_spots(6,1,2)
call Bomb_spots(11,6,3)
call Bomb_spots(6,11,4)
call Bomb_spots(6,3,5)
call Bomb_spots(9,6,6)
call Bomb_spots(6,9,7)
call Bomb_spots(3,6,8)
endfunction
//===========================================================================
function InitTrig_arena4 takes nothing returns nothing
set gg_trg_arena4 = CreateTrigger( )
call TriggerAddAction( gg_trg_arena4, function Trig_arena4_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_arena5_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Ydrt'
set udg_Terrain_wall = 'Ygsb'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(6,6,2,1,udg_Terrain_walk)
call Bomb_terrain(2,6,2,1,udg_Terrain_walk)
call Bomb_terrain(10,6,2,1,udg_Terrain_walk)
set udg_warp_number = 2
call Bomb_warp(2,6,1,6,6)
call Bomb_warp(10,6,2,6,6)
call Bomb_spots(1,6,1)
call Bomb_spots(6,6,2)
call Bomb_spots(4,6,3)
call Bomb_spots(8,6,4)
call Bomb_spots(4,4,5)
call Bomb_spots(8,4,6)
call Bomb_spots(8,8,7)
call Bomb_spots(4,8,8)
endfunction
//===========================================================================
function InitTrig_arena5 takes nothing returns nothing
set gg_trg_arena5 = CreateTrigger( )
call TriggerAddAction( gg_trg_arena5, function Trig_arena5_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_arena6_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Yhdg'
set udg_Terrain_wall = 'Ydtr'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(2,10,2,1,udg_Terrain_walk)
call Bomb_terrain(3,9,1,1,udg_Terrain_walk)
call Bomb_terrain(4,8,1,1,udg_Terrain_walk)
call Bomb_terrain(5,7,1,1,udg_Terrain_walk)
call Bomb_terrain(6,6,1,1,udg_Terrain_walk)
call Bomb_terrain(7,5,1,1,udg_Terrain_walk)
call Bomb_terrain(8,4,1,1,udg_Terrain_walk)
call Bomb_terrain(9,3,1,1,udg_Terrain_walk)
call Bomb_terrain(10,2,2,1,udg_Terrain_walk)
set udg_warp_number = 2
call Bomb_warp(0,12,1,6,6)
call Bomb_warp(12,0,2,6,6)
call Bomb_spots(2,10,1)
call Bomb_spots(10,2,2)
call Bomb_spots(5,7,3)
call Bomb_spots(7,5,4)
call Bomb_spots(4,6,5)
call Bomb_spots(4,7,6)
call Bomb_spots(4,8,7)
call Bomb_spots(4,9,8)
endfunction
//===========================================================================
function InitTrig_arena6 takes nothing returns nothing
set gg_trg_arena6 = CreateTrigger( )
call TriggerAddAction( gg_trg_arena6, function Trig_arena6_Actions )
endfunction
//TESH.scrollpos=3
//TESH.alwaysfold=0
function Trig_arena7_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Adrt'
set udg_Terrain_wall = 'Adrd'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(6,6,4,1,udg_Terrain_walk)
call Bomb_terrain(6,2,0,1,udg_Terrain_wall)
call Bomb_terrain(6,10,0,1,udg_Terrain_wall)
call Bomb_terrain(6,6,0,1,udg_Terrain_wall)
set udg_warp_number = 8
call Bomb_warp(2,2,1,2,10)
call Bomb_warp(3,2,2,3,10)
call Bomb_warp(4,2,3,4,10)
call Bomb_warp(5,2,4,5,10)
call Bomb_warp(7,10,5,7,2)
call Bomb_warp(8,10,6,8,2)
call Bomb_warp(9,10,7,9,2)
call Bomb_warp(10,10,8,10,2)
call Bomb_spots(2,4,1)
call Bomb_spots(10,4,2)
call Bomb_spots(2,8,3)
call Bomb_spots(10,8,4)
call Bomb_spots(5,4,5)
call Bomb_spots(7,4,6)
call Bomb_spots(5,8,7)
call Bomb_spots(7,8,8)
endfunction
//===========================================================================
function InitTrig_arena7 takes nothing returns nothing
set gg_trg_arena7 = CreateTrigger( )
call TriggerAddAction( gg_trg_arena7, function Trig_arena7_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_arena8_Actions takes nothing returns nothing
set udg_Terrain_walk = 'Ywmb'
set udg_Terrain_wall = 'Yblm'
call Bomb_terrain(8,8,12,1,udg_Terrain_wall)
call TriggerSleepAction( 1 )
call Bomb_terrain(6,6,5,1,udg_Terrain_walk)
call Bomb_terrain(1,1,1,1,udg_Terrain_wall)
call Bomb_terrain(11,1,1,1,udg_Terrain_wall)
call Bomb_terrain(1,11,1,1,udg_Terrain_wall)
call Bomb_terrain(11,11,1,1,udg_Terrain_wall)
call Bomb_terrain(6,1,0,1,udg_Terrain_wall)
call Bomb_terrain(6,2,0,1,udg_Terrain_wall)
call Bomb_terrain(6,11,0,1,udg_Terrain_wall)
call Bomb_terrain(6,10,0,1,udg_Terrain_wall)
call Bomb_terrain(1,6,0,1,udg_Terrain_wall)
call Bomb_terrain(2,6,0,1,udg_Terrain_wall)
call Bomb_terrain(11,6,0,1,udg_Terrain_wall)
call Bomb_terrain(10,6,0,1,udg_Terrain_wall)
call Bomb_terrain(4,2,0,1,udg_Terrain_wall)
call Bomb_terrain(2,4,0,1,udg_Terrain_wall)
call Bomb_terrain(10,4,0,1,udg_Terrain_wall)
call Bomb_terrain(8,2,0,1,udg_Terrain_wall)
call Bomb_terrain(8,10,0,1,udg_Terrain_wall)
call Bomb_terrain(10,8,0,1,udg_Terrain_wall)
call Bomb_terrain(2,8,0,1,udg_Terrain_wall)
call Bomb_terrain(4,10,0,1,udg_Terrain_wall)
call Bomb_terrain(5,5,0,1,udg_Terrain_wall)
call Bomb_terrain(7,5,0,1,udg_Terrain_wall)
call Bomb_terrain(5,7,0,1,udg_Terrain_wall)
call Bomb_terrain(7,7,0,1,udg_Terrain_wall)
set udg_warp_number = 2
call Bomb_warp(3,3,1,3,9)
call Bomb_warp(9,9,2,9,3)
call Bomb_spots(6,3,1)
call Bomb_spots(9,6,2)
call Bomb_spots(6,9,3)
call Bomb_spots(3,6,4)
call Bomb_spots(4,4,5)
call Bomb_spots(8,4,6)
call Bomb_spots(8,8,7)
call Bomb_spots(4,8,8)
endfunction
//===========================================================================
function InitTrig_arena8 takes nothing returns nothing
set gg_trg_arena8 = CreateTrigger( )
call TriggerAddAction( gg_trg_arena8, function Trig_arena8_Actions )
endfunction