function CinematicModeExBJl takes boolean cineMode, force forForce, real interfaceFadeTime returns nothing
// If the game hasn't started yet, perform interface fades immediately
if (not bj_gameStarted) then
set interfaceFadeTime = 0
endif
if (cineMode) then
// Save the UI state so that we can restore it later.
if (not bj_cineModeAlreadyIn) then
set bj_cineModeAlreadyIn = true
set bj_cineModePriorSpeed = GetGameSpeed()
set bj_cineModeSavedSeed = GetRandomInt(0, 1000000)
endif
// Perform local changes
if (IsPlayerInForce(GetLocalPlayer(), forForce)) then
// Use only local code (no net traffic) within this block to avoid desyncs.
call ShowInterface(false, interfaceFadeTime)
call EnableOcclusion(false)
call EnableUserControl(true)
endif
// Perform global changes
call SetGameSpeed(bj_CINEMODE_GAMESPEED)
call SetMapFlag(MAP_LOCK_SPEED, true)
// Use a fixed random seed, so that cinematics play consistently.
call SetRandomSeed(0)
else
set bj_cineModeAlreadyIn = false
// Perform local changes
if (IsPlayerInForce(GetLocalPlayer(), forForce)) then
// Use only local code (no net traffic) within this block to avoid desyncs.
call ShowInterface(true, interfaceFadeTime)
call EnableOcclusion(true)
endif
// Perform global changes
call SetMapFlag(MAP_LOCK_SPEED, false)
call SetGameSpeed(bj_cineModePriorSpeed)
call SetRandomSeed(bj_cineModeSavedSeed)
endif
endfunction
function CinematicModeBJl takes boolean cineMode, force forForce returns nothing
call CinematicModeExBJl(cineMode, forForce, bj_CINEMODE_INTERFACEFADE)
endfunction
function init takes nothing returns nothing
set udg_Pos2 = Location(udg_ItemSafeX,udg_ItemSafeY)
set udg_In = CreateItemLoc('ward',udg_Pos2)
call SetItemInvulnerable(udg_In,true)
call SetItemVisible( udg_In,false )
call RemoveLocation(udg_Pos2)
endfunction
function IsPositionPathable takes real x, real y returns boolean
local boolean b
call SetItemVisible( udg_In,true )
set udg_Pos = Location(x,y)
call SetItemPositionLoc(udg_In,udg_Pos)
set b = GetItemX(udg_In)==x and GetItemY(udg_In)==y
set udg_Pos2 = Location(udg_ItemSafeX,udg_ItemSafeY)
call SetItemPositionLoc(udg_In,udg_Pos2)
call SetItemVisible( udg_In,false )
call RemoveLocation(udg_Pos)
call RemoveLocation(udg_Pos2)
return b
endfunction
function MoveUnit takes unit u, real a, real s returns nothing
local real x = GetUnitX(u)+s*Cos(a*bj_DEGTORAD)
local real y = GetUnitY(u)+s*Sin(a*bj_DEGTORAD)
call SetUnitX(u,x)
call SetUnitY(u,y)
endfunction
function MoveVar takes real x, real y, real a, real s returns location
local real x1 = x + s*Cos(a*bj_DEGTORAD)
local real y1 = y + s*Sin(a*bj_DEGTORAD)
return Location(x1, y1)
endfunction
function RotateCamera takes integer I, integer P returns nothing
set udg_Angleofattack[P] = udg_Angleofattack[P] + (udg_Hero_Turn_Rate[P] * I*.25)
set udg_Reticleheight[P] = udg_Reticleheight[P] + (15 * I)
endfunction
function CameraRotate takes integer P returns nothing
call DisableTrigger( udg_ScopeKeysDown[P] )
set udg_Arrowsdownon[P] = 0
call EnableTrigger( udg_ScopeKeysUp[P] )
set udg_Arrowsupon[P] = 1
endfunction
function CameraRotate2 takes integer P returns nothing
call DisableTrigger( udg_ScopeKeysUp[P] )
set udg_Arrowsupon[P] = 0
call EnableTrigger( udg_ScopeKeysDown[P] )
set udg_Arrowsdownon[P] = 1
endfunction
function Range takes location R returns boolean
if (GetLocationX(R) > 6144) then
return false
endif
if (GetLocationY(R) > 6144) then
return false
endif
if (GetLocationX(R) < -6144) then
return false
endif
if (GetLocationY(R) < -6144) then
return false
endif
return true
endfunction
function LeftPress takes integer P returns nothing
call DisableTrigger( udg_ArrowKeysRight[P])
set udg_Arrowsrighton[P] = 0
call EnableTrigger( udg_ArrowKeysLeft[P] )
set udg_Arrowslefton[P] = 1
endfunction
function RightPress takes integer P returns nothing
call DisableTrigger( udg_ArrowKeysLeft[P])
set udg_Arrowslefton[P] = 0
call EnableTrigger( udg_ArrowKeysRight[P] )
set udg_Arrowsrighton[P] = 1
endfunction
function Up_Key_Press takes integer P returns boolean
if ( not ( GetUnitTypeId(udg_Hero[P]) == 'H002' ) ) then
return false
endif
return true
endfunction
function UpPress takes integer P returns nothing
call DisableTrigger( udg_ArrowKeysDown[P] )
set udg_Arrowsdownon[P] = 0
call EnableTrigger( udg_ArrowkeysUp[P] )
call SetUnitAnimation( udg_Hero[P], "walk" )
set udg_Arrowsupon[P] = 1
if ( Up_Key_Press(P) ) then
call UnitRemoveBuffBJ( 'BOwk', udg_Hero[P] )
else
endif
endfunction
function DownPress takes integer P returns nothing
call DisableTrigger( udg_ArrowkeysUp[P] )
set udg_Arrowsupon[P] = 0
call EnableTrigger( udg_ArrowKeysDown[P] )
call SetUnitAnimation( udg_Hero[P], "walk" )
set udg_Arrowsdownon[P] = 1
if ( Up_Key_Press(P) ) then
call UnitRemoveBuffBJ( 'BOwk', udg_Hero[P] )
else
endif
endfunction
function Left takes integer P returns nothing
set udg_Tempface[P] = ( udg_Facing[P] - udg_Hero_Turn_Rate[P] )
set udg_TempPos[P] = Location(GetUnitX(udg_Hero[P]), GetUnitY(udg_Hero[P]))
set udg_Facing[P] = udg_Tempface[P]
call SetUnitFacing(udg_Hero[P], udg_Facing[P])
if ( udg_Facing[P] > udg_Threesixty ) then
set udg_Facing[P] = ( udg_Facing[P] - udg_Threesixty )
else
call DoNothing( )
endif
if ( udg_Facing[P] < udg_negone ) then
set udg_Facing[P] = ( udg_Facing[P] + udg_Threesixty )
else
call DoNothing( )
endif
call RemoveLocation (udg_TempPos[P])
endfunction
function Right takes integer P returns nothing
set udg_Tempface[P] = ( udg_Facing[P] + (udg_Hero_Turn_Rate[P] ) )
set udg_TempPos[P] = Location(GetUnitX(udg_Hero[P]), GetUnitY(udg_Hero[P]))
set udg_Facing[P] = udg_Tempface[P]
call SetUnitFacing(udg_Hero[P], udg_Facing[P])
if ( udg_Facing[P] > udg_Threesixty ) then
set udg_Facing[P] = ( udg_Facing[P] - udg_Threesixty)
else
call DoNothing( )
endif
if ( udg_Facing[P] < udg_negone ) then
set udg_Facing[P] = ( udg_Facing[P] + udg_Threesixty )
else
call DoNothing( )
endif
call RemoveLocation (udg_TempPos[P])
endfunction
function Up takes integer P returns nothing
set udg_TempPos[P] = Location(GetUnitX(udg_Hero[P]), GetUnitY(udg_Hero[P]))
set udg_TempPos2[P] = MoveVar(GetLocationX(udg_TempPos[P]), GetLocationY(udg_TempPos[P]), udg_Facing[P], udg_Hero_Movement_Speed[P])
if (Range(udg_TempPos2[P])) then
if (udg_FlyH[P] == 0) then
if ( IsPositionPathable(GetLocationX(udg_TempPos2[P]), GetLocationY(udg_TempPos2[P])) ) then
call MoveUnit( udg_Hero[P], udg_Facing[P], udg_Hero_Movement_Speed[P] )
else
call DoNothing( )
endif
else
call MoveUnit( udg_Hero[P], udg_Facing[P], udg_Hero_Movement_Speed[P] )
endif
endif
call RemoveLocation (udg_TempPos[P])
call RemoveLocation (udg_TempPos2[P])
if (udg_Animation[P] == 0) then
call SetUnitAnimationByIndex(udg_Hero[P], udg_Walk[P])
endif
endfunction
function Down takes integer P returns nothing
set udg_TempPos[P] = Location(GetUnitX(udg_Hero[P]), GetUnitY(udg_Hero[P]))
set udg_TempPos2[P] = MoveVar(GetLocationX(udg_TempPos[P]), GetLocationY(udg_TempPos[P]), udg_Facing[P] - 180.0000000, udg_Hero_Movement_Speed[P])
set udg_Facing2[P] = udg_Facing[P] - udg_oneeight
if (Range(udg_TempPos2[P])) then
if (udg_FlyH[P] == 0) then
if ( IsPositionPathable(GetLocationX(udg_TempPos2[P]), GetLocationY(udg_TempPos2[P])) ) then
call MoveUnit( udg_Hero[P], udg_Facing2[P], udg_Hero_Movement_Speed[P] )
else
call DoNothing( )
endif
else
call MoveUnit( udg_Hero[P], udg_Facing2[P], udg_Hero_Movement_Speed[P] )
endif
endif
call RemoveLocation (udg_TempPos[P])
call RemoveLocation (udg_TempPos2[P])
if (udg_Animation[P] == 0) then
call SetUnitAnimationByIndex(udg_Hero[P], udg_Walk[P])
endif
endfunction
Name | Type | is_array | initial_value |
A | integer | No | |
Ai | dialog | No | |
AiDialog | button | Yes | |
AiMode | integer | No | |
AiMulti | integer | No | |
AiPos | location | Yes | |
AirRaid1 | effect | Yes | |
AirRaid2 | effect | Yes | |
AirRaid3 | effect | Yes | |
AirRaid4 | effect | Yes | |
AirRaid5 | effect | Yes | |
AK47 | real | Yes | 11.00 |
Angle | integer | Yes | 1 |
Angleofattack | real | Yes | 351.00 |
Animation | integer | Yes | |
ArcticBoolean | integer | Yes | |
ArcticHero | integer | Yes | |
ArcticInteger | integer | No | |
ArcticParticle | integer | Yes | |
ArcticShower | trigger | Yes | |
ArcticSpecialEffect1 | effect | Yes | |
ArcticSpecialEffect10 | effect | Yes | |
ArcticSpecialEffect11 | effect | Yes | |
ArcticSpecialEffect12 | effect | Yes | |
ArcticSpecialEffect2 | effect | Yes | |
ArcticSpecialEffect3 | effect | Yes | |
ArcticSpecialEffect4 | effect | Yes | |
ArcticSpecialEffect5 | effect | Yes | |
ArcticSpecialEffect6 | effect | Yes | |
ArcticSpecialEffect7 | effect | Yes | |
ArcticSpecialEffect8 | effect | Yes | |
ArcticSpecialEffect9 | effect | Yes | |
Arrow | integer | Yes | 1 |
ArrowKeysDown | trigger | Yes | |
ArrowKeysLeft | trigger | Yes | |
ArrowKeysRight | trigger | Yes | |
ArrowkeysUp | trigger | Yes | |
Arrows1 | effect | Yes | |
Arrows10 | effect | Yes | |
Arrows11 | effect | Yes | |
Arrows12 | effect | Yes | |
Arrows2 | effect | Yes | |
Arrows3 | effect | Yes | |
Arrows4 | effect | Yes | |
Arrows5 | effect | Yes | |
Arrows6 | effect | Yes | |
Arrows7 | effect | Yes | |
Arrows8 | effect | Yes | |
Arrows9 | effect | Yes | |
Arrowsdownon | integer | Yes | |
Arrowslefton | integer | Yes | |
Arrowsrighton | integer | Yes | |
Arrowsupon | integer | Yes | |
AwesomeSpecial | effect | Yes | |
B | integer | No | |
Barley | unitcode | Yes | |
BarleyAnim | unit | Yes | |
base | location | Yes | |
BlackMagicEffect | effect | Yes | |
BlinkEffect | effect | Yes | |
Boom | integer | Yes | |
Boomerang | unit | Yes | |
BoomerangT | trigger | Yes | |
BoomerangTrigger | integer | Yes | |
Boost | real | Yes | 5.00 |
bregion | location | Yes | |
BurnEffect | effect | Yes | |
C | integer | No | |
CameraDifferential | real | Yes | |
camty | real | No | |
ChatRandom | integer | No | |
Cine_jump | integer | Yes | |
CinematicVis | fogmodifier | Yes | |
CineSkip | integer | No | |
ClapBoolean | integer | Yes | |
Cloud | effect | Yes | |
CloudLoop | integer | No | |
CloudPosition | location | Yes | |
coinnone | item | No | |
CoinsCollected | integer | Yes | |
CreepP | rect | Yes | |
Crystal | effect | Yes | |
Customsky | unit | No | |
Cyclone | unit | Yes | |
CycloneEffect | effect | Yes | |
CycloneOn | integer | Yes | |
D | integer | No | |
DeathArrow | integer | Yes | 1 |
DeathEffect1 | effect | Yes | |
DeathEffect10 | effect | Yes | |
DeathEffect11 | effect | Yes | |
DeathEffect12 | effect | Yes | |
DeathEffect2 | effect | Yes | |
DeathEffect3 | effect | Yes | |
DeathEffect4 | effect | Yes | |
DeathEffect5 | effect | Yes | |
DeathEffect6 | effect | Yes | |
DeathEffect7 | effect | Yes | |
DeathEffect8 | effect | Yes | |
DeathEffect9 | effect | Yes | |
DeathWarp | integer | Yes | |
Deform | terraindeformation | Yes | |
Dialog | dialog | Yes | |
Dialog2 | dialog | No | |
Dialogbutton | button | Yes | |
Dialogbutton2 | button | Yes | |
difficulty | integer | No | |
DropHeight | integer | Yes | |
Dummy | unit | Yes | |
DummyUnit | unit | Yes | |
DummyUnitFire | unit | Yes | |
DummyUnitIce | unit | Yes | |
E | integer | No | |
EastSide | group | No | |
Enemypos | location | No | |
Energy | unit | Yes | |
EnergySap | integer | Yes | |
F | integer | No | |
Facing | real | Yes | |
Facing2 | real | Yes | |
Fade | integer | Yes | |
FadeTransition | integer | Yes | |
Ferpos | location | Yes | |
fire | effect | Yes | |
fire2 | effect | Yes | |
Flamebn | unit | Yes | |
FlamebTrigger | integer | Yes | |
FlareEffect | effect | Yes | |
Flashbang | effect | Yes | |
Flashbang2 | effect | Yes | |
FlashbangSpec | effect | Yes | |
FloatingBoolean | integer | Yes | 0 |
FloatingText | texttag | Yes | |
Fly | effect | Yes | |
FlyH | integer | Yes | |
FlyingHeight | real | Yes | 75.00 |
FLyOn | integer | Yes | |
Freeview | integer | Yes | |
FreezeVisibility | fogmodifier | Yes | |
FrostEffect1 | effect | Yes | |
FrostEffect10 | effect | Yes | |
FrostEffect11 | effect | Yes | |
FrostEffect12 | effect | Yes | |
FrostEffect2 | effect | Yes | |
FrostEffect3 | effect | Yes | |
FrostEffect4 | effect | Yes | |
FrostEffect5 | effect | Yes | |
FrostEffect6 | effect | Yes | |
FrostEffect7 | effect | Yes | |
FrostEffect8 | effect | Yes | |
FrostEffect9 | effect | Yes | |
FrostEffectBoolean | integer | Yes | |
G | integer | No | |
GainHeight | integer | Yes | 0 |
Game | rect | No | |
H | integer | No | |
HammerBlow2T | trigger | Yes | |
HammerTime | integer | Yes | |
HammerWeath | weathereffect | Yes | |
Haste | effect | Yes | |
Headbuttdmg | real | Yes | 12.00 |
Heald | unit | Yes | |
Heightoffset | real | Yes | 0.00 |
Hero | unit | Yes | |
Hero_Movement_Speed | real | Yes | 5.27 |
Hero_Turn_Rate | real | Yes | 0.04 |
HeroDG | unit | Yes | |
HeroFalse | integer | Yes | |
HeroHP | real | Yes | |
HeroOwn | integer | Yes | |
HeroPos | location | No | |
Holycross | location | No | |
Hostage_pos | location | Yes | |
hostageowner | integer | Yes | |
HostagesRescued | integer | Yes | |
I | integer | No | |
IceVisibility | fogmodifier | Yes | |
Impaledummy | unit | Yes | |
In | item | No | |
ItemSafeX | real | No | |
ItemSafeY | real | No | |
J | integer | No | |
Jump | effect | Yes | |
K | integer | No | |
K2 | integer | No | |
L | integer | No | |
Leaderboard | leaderboard | Yes | |
LeaderInt | integer | Yes | |
LifeCount | integer | Yes | |
LifeDrain | unit | Yes | |
Lifeinteger | integer | Yes | |
Lockcamera | integer | Yes | 1 |
M | integer | No | |
Mana | integer | Yes | |
MetaDummy | unit | Yes | |
Mine | unit | Yes | |
MineCount | integer | Yes | |
MoveDown | trigger | Yes | |
MoveLeft | trigger | Yes | |
MovementChange | real | Yes | |
MoveRight | trigger | Yes | |
MoveUp | trigger | Yes | |
N | integer | No | |
negone | real | No | -1.00 |
NetEffect | effect | Yes | |
NetEffectBoolean | integer | Yes | |
NetVisibility | fogmodifier | Yes | |
NeutralDummy | unit | Yes | |
ninety | real | No | |
O | integer | No | |
oneeight | real | No | 180.00 |
onesev | real | No | |
OrientP | location | Yes | |
P | integer | No | |
p | player | No | |
P2 | integer | No | |
PaladinBut | button | Yes | |
PlayC | integer | Yes | 1 |
Player | player | Yes | |
PlayerChat | integer | Yes | |
PlayerColors | string | Yes | |
PlayerCount | integer | Yes | |
PlayerDeaths | integer | Yes | |
PlayerInt | integer | No | |
PlayerKills | integer | Yes | |
PlayerSlot | integer | Yes | 0 |
PMultiboard | integer | Yes | 3 |
Portal | effect | Yes | |
Portal2 | effect | Yes | |
Pos | location | No | |
Pos2 | location | No | |
Pos3 | location | Yes | |
Pos42 | location | Yes | |
Pos43 | location | No | |
prisonerowner | player | No | PlayerNP |
Q | integer | No | |
Q2 | integer | No | |
Quests | integer | Yes | 1 |
R2 | integer | No | |
Random | integer | No | |
RandX | real | No | |
RandY | real | No | |
Regionint | integer | Yes | |
Reticleheight | real | Yes | 0.00 |
Reveal | unit | Yes | |
ReviveEffect | effect | Yes | |
rotationfirstperson | integer | Yes | 0 |
RuneRegion | rect | Yes | |
Runes | item | Yes | |
RunesInt | integer | No | 1 |
S | integer | No | |
S2 | integer | No | |
Scope | trigger | Yes | |
ScopeKeysDown | trigger | Yes | |
ScopeKeysPressDown | trigger | Yes | |
ScopeKeysPressUp | trigger | Yes | |
ScopeKeysUp | trigger | Yes | |
Scopeon | integer | Yes | |
Seed | timer | Yes | |
SeedsPlanted | integer | Yes | |
Seedtype | integer | Yes | |
Shade | unit | Yes | |
ShadeTrigger | integer | Yes | |
Shieldup | integer | Yes | 0 |
shimmering | integer | Yes | |
ShotgunSlow | integer | Yes | |
Silencedummy | unit | Yes | |
Slash | timer | Yes | |
slasher | integer | Yes | |
Slashon | integer | Yes | |
Slashplayer | integer | Yes | |
SlashTrig | trigger | Yes | |
Slowed | effect | Yes | |
SoulSteal | integer | Yes | |
SoulStealEffect | effect | Yes | |
SoulStealEffect10 | effect | Yes | |
SoulStealEffect11 | effect | Yes | |
SoulStealEffect12 | effect | Yes | |
SoulStealEffect2 | effect | Yes | |
SoulStealEffect3 | effect | Yes | |
SoulStealEffect4 | effect | Yes | |
SoulStealEffect5 | effect | Yes | |
SoulStealEffect6 | effect | Yes | |
SoulStealEffect7 | effect | Yes | |
SoulStealEffect8 | effect | Yes | |
SoulStealEffect9 | effect | Yes | |
SpeedEx | integer | Yes | |
Spell | timer | Yes | |
Spellcd | timer | Yes | |
Stand | trigger | Yes | |
Standcd | timer | Yes | |
static | real | Yes | 114.00 |
StepInteger | integer | No | |
StepLeftC | timer | Yes | |
StepRightC | timer | Yes | |
StormStun | integer | Yes | |
Stunned | integer | Yes | |
swheight | real | Yes | |
Sword1 | effect | Yes | |
Swordanim | unit | Yes | |
swpos | location | Yes | |
TantrumMov | integer | Yes | |
Team1Deaths | integer | No | |
Team1Kills | integer | No | |
Team2Deaths | integer | No | |
Team2Kills | integer | No | |
TeleportEffect | effect | Yes | |
Temp | unit | Yes | |
Temp2 | unit | Yes | |
Temp_group | group | No | |
Tempface | real | Yes | |
TempInt | integer | No | |
TempPos | location | Yes | |
TempPos2 | location | Yes | |
TempPos3 | location | Yes | |
TempPos4 | location | Yes | |
TempPSlash | location | Yes | |
TempRect | rect | No | |
TempRegP | location | Yes | |
Test | real | No | |
Test2 | real | No | |
thirt | real | No | |
ThisS | integer | Yes | |
Threesixty | real | No | 360.00 |
ThunderClap | effect | Yes | |
Timer | timer | Yes | |
Timerattack | timer | Yes | |
TransmissionReg | rect | No | |
TreeDummy | unit | Yes | |
TurnTime | real | Yes | 0.01 |
V | integer | No | |
viccd | timer | Yes | |
victimowner | player | No | PlayerNP |
VictimPolar | location | Yes | |
VictimPos | location | Yes | |
VictoryCoins | integer | No | |
Villager1 | dialog | Yes | |
Villager2 | dialog | Yes | |
VillagerButton | button | Yes | |
VillagerButton2 | button | Yes | |
VillagerButton3 | button | Yes | |
VillagerButton5 | button | Yes | |
VillagerButton6 | button | Yes | |
VillagerButton7 | button | Yes | |
VillagerButton8 | button | Yes | |
VillagerF1 | dialog | Yes | |
Walk | integer | Yes | 8 |
Warp | unit | Yes | |
WayGate1 | integer | Yes | |
WayGate1Unit | unit | Yes | |
WayGate2 | integer | Yes | |
WayGate2Unit | unit | Yes | |
Weapon | integer | Yes | |
WeaponN | integer | Yes | 1 |
Weather | weathereffect | Yes | |
Weatheroff | integer | Yes | |
WestSide | group | No | |
Wisp | unit | Yes | |
Y0 | integer | No | |
Y2 | integer | No | |
zero | real | No | |
zloc | real | Yes |
function Trig_Melee_Initialization_Actions takes nothing returns nothing
call SetSkyModel( "Environment\\Sky\\LordaeronSummerSky\\LordaeronSummerSky.mdl" )
call init()
call SetTimeOfDay( 6.00 )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 12
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetPlayerStateBJ( udg_Player[GetForLoopIndexA()], PLAYER_STATE_RESOURCE_GOLD, 0 )
call SetCameraFieldForPlayer( udg_Player[GetForLoopIndexA()], CAMERA_FIELD_ZOFFSET, 250.00, 0 )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set udg_negone = -1.000000000
set udg_Threesixty = 360.000000000
set udg_oneeight = 180.000000000
set udg_ninety = 90.000000000
set udg_camty = -0.000009101025374
set udg_zero = 0.000000000
set udg_onesev = 117.000000000
set udg_thirt = 13.3133001
set udg_Player[1] = Player(0)
set udg_Player[2] = Player(1)
set udg_Player[3] = Player(2)
set udg_Player[4] = Player(3)
set udg_Player[5] = Player(4)
set udg_Player[6] = Player(5)
set udg_Player[7] = Player(6)
set udg_Player[8] = Player(7)
set udg_Player[9] = Player(8)
set udg_Player[10] = Player(9)
set udg_Player[11] = Player(10)
set udg_Player[12] = Player(11)
set udg_Stand[1] = gg_trg_Stand
set udg_Stand[2] = gg_trg_Stand_2
set udg_Stand[3] = gg_trg_Stand_3
set udg_Stand[4] = gg_trg_Stand_4
set udg_Stand[5] = gg_trg_Stand_5
set udg_Stand[6] = gg_trg_Stand_6
set udg_Stand[7] = gg_trg_Stand_7
set udg_Stand[8] = gg_trg_Stand_8
set udg_Stand[9] = gg_trg_Stand_9
set udg_Stand[10] = gg_trg_Stand_10
set udg_Stand[11] = gg_trg_Stand_11
set udg_Stand[12] = gg_trg_Stand_12
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 12
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetCameraFieldForPlayer( udg_Player[GetForLoopIndexA()], CAMERA_FIELD_ANGLE_OF_ATTACK, 300.00, 0.00 )
call SetCameraFieldForPlayer( udg_Player[GetForLoopIndexA()], CAMERA_FIELD_ZOFFSET, 600.00, 0.00 )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call PolledWait( 0.01 )
set bj_forLoopBIndex = 1
set bj_forLoopBIndexEnd = 12
loop
exitwhen bj_forLoopBIndex > bj_forLoopBIndexEnd
call SetPlayerStateBJ( udg_Player[GetForLoopIndexB()], PLAYER_STATE_RESOURCE_LUMBER, 100 )
set bj_forLoopBIndex = bj_forLoopBIndex + 1
endloop
set udg_A = 1
loop
exitwhen udg_A > 12
set udg_Hero_Turn_Rate[udg_A] = 3.336054556
set udg_Hero_Movement_Speed[udg_A] = 6.498249962
set udg_Facing[udg_A] = 90.0000000
set udg_A = udg_A + 1
endloop
call SetUnitInvulnerable( gg_unit_hcas_0017, true )
call SetUnitInvulnerable( gg_unit_hcas_0014, true )
call SetUnitInvulnerable( gg_unit_n00M_0145, true )
call SetUnitInvulnerable( gg_unit_n00M_0146, true )
call SetUnitInvulnerable( gg_unit_n00N_0143, true )
call SetUnitInvulnerable( gg_unit_n00N_0144, true )
call SetUnitInvulnerable( gg_unit_hvlt_0019, true )
call SetUnitInvulnerable( gg_unit_hbar_0018, true )
call SetUnitInvulnerable( gg_unit_hvlt_0016, true )
call SetUnitInvulnerable( gg_unit_hbar_0015, true )
call SetUnitInvulnerable( gg_unit_h01B_0037, true )
call SetUnitInvulnerable( gg_unit_h01F_0039, true )
call SetUnitInvulnerable( gg_unit_h01H_0041, true )
call SetUnitInvulnerable( gg_unit_h01M_0042, true )
call SetUnitInvulnerable( gg_unit_h01B_0020, true )
call SetUnitInvulnerable( gg_unit_h01H_0048, true )
call SetUnitInvulnerable( gg_unit_h01B_0038, true )
call SetUnitInvulnerable( gg_unit_ngme_0147, true )
call SetUnitInvulnerable( gg_unit_h01P_0040, true )
call SetUnitInvulnerable( gg_unit_h01H_0049, true )
call SetUnitInvulnerable( gg_unit_h01N_0050, true )
call SetUnitInvulnerable( gg_unit_h01L_0086, true )
call SetUnitInvulnerable( gg_unit_h01L_0085, true )
call SetUnitInvulnerable( gg_unit_h01M_0078, true )
call SetUnitInvulnerable( gg_unit_h01E_0076, true )
call SetUnitInvulnerable( gg_unit_h01Q_0077, true )
call SetUnitInvulnerable( gg_unit_h01M_0075, true )
call SetUnitInvulnerable( gg_unit_h01M_0065, true )
call SetUnitInvulnerable( gg_unit_h01B_0064, true )
call SetUnitInvulnerable( gg_unit_h01M_0066, true )
call SetUnitInvulnerable( gg_unit_h01F_0068, true )
call SetUnitInvulnerable( gg_unit_h01K_0069, true )
call SetUnitInvulnerable( gg_unit_h01H_0071, true )
call SetUnitInvulnerable( gg_unit_h01I_0070, true )
call SetUnitInvulnerable( gg_unit_h01R_0055, true )
call SetUnitInvulnerable( gg_unit_h01C_0081, true )
call SetUnitInvulnerable( gg_unit_h01J_0080, true )
call SetUnitInvulnerable( gg_unit_h01N_0079, true )
endfunction
//===========================================================================
function InitTrig_Melee_Initialization takes nothing returns nothing
set gg_trg_Melee_Initialization = CreateTrigger( )
call TriggerAddAction( gg_trg_Melee_Initialization, function Trig_Melee_Initialization_Actions )
endfunction
function Trig_Hammer_Throw_1_Func005Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_G]) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[1]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(udg_Hero[udg_G]) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_1_Func007Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[1]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(GetEnumUnit()) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_1_Func007A takes nothing returns nothing
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(GetEnumUnit())
if ( Trig_Hammer_Throw_1_Func007Func003C() ) then
call UnitAddAbilityBJ( 'A03Q', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', GetEnumUnit() )
call PauseUnitBJ( true, GetEnumUnit() )
call SaveBooleanBJ( true, GetHandleIdBJ(GetEnumUnit()), 23, GetLastCreatedHashtableBJ() )
call UnitDamageTargetBJ( udg_Hero[1], GetEnumUnit(), 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", GetEnumUnit(), "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[1] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
endfunction
function Trig_Hammer_Throw_1_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Shade[1])
set udg_Pos = PolarProjectionBJ(udg_Pos2, 96.00, GetUnitFacing(udg_Shade[1]))
if (RectContainsLoc(udg_Game, udg_Pos)) then
call SetUnitFlyHeightBJ( udg_Shade[1], ( 75.00 - GetLocationZ(udg_Pos) ), 1200.00 )
call SetUnitPositionLocFacingBJ( udg_Shade[1], udg_Pos, GetUnitFacing(udg_Shade[1]) )
set udg_G = 7
loop
exitwhen udg_G > 12
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(udg_Hero[udg_G])
if ( Trig_Hammer_Throw_1_Func005Func003C() ) then
set udg_StormStun[udg_G] = 1
call DisableTrigger( udg_ArrowKeysDown[udg_G] )
call DisableTrigger( udg_ArrowkeysUp[udg_G] )
call DisableTrigger( udg_ArrowKeysLeft[udg_G] )
call DisableTrigger( udg_ArrowKeysRight[udg_G] )
call DisableTrigger( udg_MoveDown[udg_G] )
call DisableTrigger( udg_MoveUp[udg_G] )
call DisableTrigger( udg_MoveRight[udg_G] )
call DisableTrigger( udg_MoveLeft[udg_G] )
call UnitAddAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call IssueImmediateOrderBJ( udg_Hero[udg_G], "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call PauseUnitBJ( true, udg_Hero[udg_G] )
call UnitDamageTargetBJ( udg_Hero[1], udg_Hero[udg_G], 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_G], "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[1] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
set udg_G = udg_G + 1
endloop
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Hammer_Throw_1_Func007A )
call DestroyGroup (udg_Temp_group)
else
endif
call RemoveLocation(udg_Pos)
call RemoveLocation(udg_Pos2)
endfunction
//===========================================================================
function InitTrig_Hammer_Throw_1 takes nothing returns nothing
set gg_trg_Hammer_Throw_1 = CreateTrigger( )
call DisableTrigger( gg_trg_Hammer_Throw_1 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Hammer_Throw_1, 0.03 )
call TriggerAddAction( gg_trg_Hammer_Throw_1, function Trig_Hammer_Throw_1_Actions )
endfunction
function Trig_Hammer_Throw_2_Func005Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_G]) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[2]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(udg_Hero[udg_G]) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_2_Func007Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[2]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(GetEnumUnit()) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_2_Func007A takes nothing returns nothing
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(GetEnumUnit())
if ( Trig_Hammer_Throw_2_Func007Func003C() ) then
call UnitAddAbilityBJ( 'A03Q', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', GetEnumUnit() )
call PauseUnitBJ( true, GetEnumUnit() )
call SaveBooleanBJ( true, GetHandleIdBJ(GetEnumUnit()), 23, GetLastCreatedHashtableBJ() )
call UnitDamageTargetBJ( udg_Hero[2], GetEnumUnit(), 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", GetEnumUnit(), "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[2] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
endfunction
function Trig_Hammer_Throw_2_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Shade[2])
set udg_Pos = PolarProjectionBJ(udg_Pos2, 96.00, GetUnitFacing(udg_Shade[2]))
if (RectContainsLoc(udg_Game, udg_Pos)) then
call SetUnitFlyHeightBJ( udg_Shade[2], ( 75.00 - GetLocationZ(udg_Pos) ), 1200.00 )
call SetUnitPositionLocFacingBJ( udg_Shade[2], udg_Pos, GetUnitFacing(udg_Shade[2]) )
set udg_G = 7
loop
exitwhen udg_G > 12
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(udg_Hero[udg_G])
if ( Trig_Hammer_Throw_2_Func005Func003C() ) then
set udg_StormStun[udg_G] = 1
call DisableTrigger( udg_ArrowKeysDown[udg_G] )
call DisableTrigger( udg_ArrowkeysUp[udg_G] )
call DisableTrigger( udg_ArrowKeysLeft[udg_G] )
call DisableTrigger( udg_ArrowKeysRight[udg_G] )
call DisableTrigger( udg_MoveDown[udg_G] )
call DisableTrigger( udg_MoveUp[udg_G] )
call DisableTrigger( udg_MoveRight[udg_G] )
call DisableTrigger( udg_MoveLeft[udg_G] )
call UnitAddAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call IssueImmediateOrderBJ( udg_Hero[udg_G], "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call PauseUnitBJ( true, udg_Hero[udg_G] )
call UnitDamageTargetBJ( udg_Hero[2], udg_Hero[udg_G], 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_G], "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[2] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
set udg_G = udg_G + 1
endloop
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Hammer_Throw_2_Func007A )
call DestroyGroup (udg_Temp_group)
else
endif
call RemoveLocation(udg_Pos)
call RemoveLocation(udg_Pos2)
endfunction
//===========================================================================
function InitTrig_Hammer_Throw_2 takes nothing returns nothing
set gg_trg_Hammer_Throw_2 = CreateTrigger( )
call DisableTrigger( gg_trg_Hammer_Throw_2 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Hammer_Throw_2, 0.03 )
call TriggerAddAction( gg_trg_Hammer_Throw_2, function Trig_Hammer_Throw_2_Actions )
endfunction
function Trig_Hammer_Throw_3_Func005Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_G]) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[3]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(udg_Hero[udg_G]) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_3_Func007Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[3]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(GetEnumUnit()) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_3_Func007A takes nothing returns nothing
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(GetEnumUnit())
if ( Trig_Hammer_Throw_3_Func007Func003C() ) then
call UnitAddAbilityBJ( 'A03Q', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', GetEnumUnit() )
call PauseUnitBJ( true, GetEnumUnit() )
call SaveBooleanBJ( true, GetHandleIdBJ(GetEnumUnit()), 23, GetLastCreatedHashtableBJ() )
call UnitDamageTargetBJ( udg_Hero[3], GetEnumUnit(), 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", GetEnumUnit(), "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[3] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
endfunction
function Trig_Hammer_Throw_3_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Shade[3])
set udg_Pos = PolarProjectionBJ(udg_Pos2, 96.00, GetUnitFacing(udg_Shade[3]))
if (RectContainsLoc(udg_Game, udg_Pos)) then
call SetUnitFlyHeightBJ( udg_Shade[3], ( 75.00 - GetLocationZ(udg_Pos) ), 1200.00 )
call SetUnitPositionLocFacingBJ( udg_Shade[3], udg_Pos, GetUnitFacing(udg_Shade[3]) )
set udg_G = 7
loop
exitwhen udg_G > 12
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(udg_Hero[udg_G])
if ( Trig_Hammer_Throw_3_Func005Func003C() ) then
set udg_StormStun[udg_G] = 1
call DisableTrigger( udg_ArrowKeysDown[udg_G] )
call DisableTrigger( udg_ArrowkeysUp[udg_G] )
call DisableTrigger( udg_ArrowKeysLeft[udg_G] )
call DisableTrigger( udg_ArrowKeysRight[udg_G] )
call DisableTrigger( udg_MoveDown[udg_G] )
call DisableTrigger( udg_MoveUp[udg_G] )
call DisableTrigger( udg_MoveRight[udg_G] )
call DisableTrigger( udg_MoveLeft[udg_G] )
call UnitAddAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call IssueImmediateOrderBJ( udg_Hero[udg_G], "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call PauseUnitBJ( true, udg_Hero[udg_G] )
call UnitDamageTargetBJ( udg_Hero[3], udg_Hero[udg_G], 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_G], "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[3] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
set udg_G = udg_G + 1
endloop
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Hammer_Throw_3_Func007A )
call DestroyGroup (udg_Temp_group)
else
endif
call RemoveLocation(udg_Pos)
call RemoveLocation(udg_Pos2)
endfunction
//===========================================================================
function InitTrig_Hammer_Throw_3 takes nothing returns nothing
set gg_trg_Hammer_Throw_3 = CreateTrigger( )
call DisableTrigger( gg_trg_Hammer_Throw_3 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Hammer_Throw_3, 0.03 )
call TriggerAddAction( gg_trg_Hammer_Throw_3, function Trig_Hammer_Throw_3_Actions )
endfunction
function Trig_Hammer_Throw_4_Func005Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_G]) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[4]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(udg_Hero[udg_G]) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_4_Func007Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[4]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(GetEnumUnit()) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_4_Func007A takes nothing returns nothing
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(GetEnumUnit())
if ( Trig_Hammer_Throw_4_Func007Func003C() ) then
call UnitAddAbilityBJ( 'A03Q', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', GetEnumUnit() )
call PauseUnitBJ( true, GetEnumUnit() )
call SaveBooleanBJ( true, GetHandleIdBJ(GetEnumUnit()), 23, GetLastCreatedHashtableBJ() )
call UnitDamageTargetBJ( udg_Hero[4], GetEnumUnit(), 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", GetEnumUnit(), "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[4] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
endfunction
function Trig_Hammer_Throw_4_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Shade[4])
set udg_Pos = PolarProjectionBJ(udg_Pos2, 96.00, GetUnitFacing(udg_Shade[4]))
if (RectContainsLoc(udg_Game, udg_Pos)) then
call SetUnitFlyHeightBJ( udg_Shade[4], ( 75.00 - GetLocationZ(udg_Pos) ), 1200.00 )
call SetUnitPositionLocFacingBJ( udg_Shade[4], udg_Pos, GetUnitFacing(udg_Shade[4]) )
set udg_G = 7
loop
exitwhen udg_G > 12
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(udg_Hero[udg_G])
if ( Trig_Hammer_Throw_4_Func005Func003C() ) then
set udg_StormStun[udg_G] = 1
call DisableTrigger( udg_ArrowKeysDown[udg_G] )
call DisableTrigger( udg_ArrowkeysUp[udg_G] )
call DisableTrigger( udg_ArrowKeysLeft[udg_G] )
call DisableTrigger( udg_ArrowKeysRight[udg_G] )
call DisableTrigger( udg_MoveDown[udg_G] )
call DisableTrigger( udg_MoveUp[udg_G] )
call DisableTrigger( udg_MoveRight[udg_G] )
call DisableTrigger( udg_MoveLeft[udg_G] )
call UnitAddAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call IssueImmediateOrderBJ( udg_Hero[udg_G], "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call PauseUnitBJ( true, udg_Hero[udg_G] )
call UnitDamageTargetBJ( udg_Hero[4], udg_Hero[udg_G], 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_G], "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[4] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
set udg_G = udg_G + 1
endloop
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Hammer_Throw_4_Func007A )
call DestroyGroup (udg_Temp_group)
else
endif
call RemoveLocation(udg_Pos)
call RemoveLocation(udg_Pos2)
endfunction
//===========================================================================
function InitTrig_Hammer_Throw_4 takes nothing returns nothing
set gg_trg_Hammer_Throw_4 = CreateTrigger( )
call DisableTrigger( gg_trg_Hammer_Throw_4 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Hammer_Throw_4, 0.03 )
call TriggerAddAction( gg_trg_Hammer_Throw_4, function Trig_Hammer_Throw_4_Actions )
endfunction
function Trig_Hammer_Throw_5_Func005Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_G]) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[5]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(udg_Hero[udg_G]) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_5_Func007Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[5]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(GetEnumUnit()) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_5_Func007A takes nothing returns nothing
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(GetEnumUnit())
if ( Trig_Hammer_Throw_5_Func007Func003C() ) then
call UnitAddAbilityBJ( 'A03Q', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', GetEnumUnit() )
call PauseUnitBJ( true, GetEnumUnit() )
call SaveBooleanBJ( true, GetHandleIdBJ(GetEnumUnit()), 23, GetLastCreatedHashtableBJ() )
call UnitDamageTargetBJ( udg_Hero[5], GetEnumUnit(), 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", GetEnumUnit(), "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[5] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
endfunction
function Trig_Hammer_Throw_5_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Shade[5])
set udg_Pos = PolarProjectionBJ(udg_Pos2, 96.00, GetUnitFacing(udg_Shade[5]))
if (RectContainsLoc(udg_Game, udg_Pos)) then
call SetUnitFlyHeightBJ( udg_Shade[5], ( 75.00 - GetLocationZ(udg_Pos) ), 1200.00 )
call SetUnitPositionLocFacingBJ( udg_Shade[5], udg_Pos, GetUnitFacing(udg_Shade[5]) )
set udg_G = 7
loop
exitwhen udg_G > 12
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(udg_Hero[udg_G])
if ( Trig_Hammer_Throw_5_Func005Func003C() ) then
set udg_StormStun[udg_G] = 1
call DisableTrigger( udg_ArrowKeysDown[udg_G] )
call DisableTrigger( udg_ArrowkeysUp[udg_G] )
call DisableTrigger( udg_ArrowKeysLeft[udg_G] )
call DisableTrigger( udg_ArrowKeysRight[udg_G] )
call DisableTrigger( udg_MoveDown[udg_G] )
call DisableTrigger( udg_MoveUp[udg_G] )
call DisableTrigger( udg_MoveRight[udg_G] )
call DisableTrigger( udg_MoveLeft[udg_G] )
call UnitAddAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call IssueImmediateOrderBJ( udg_Hero[udg_G], "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call PauseUnitBJ( true, udg_Hero[udg_G] )
call UnitDamageTargetBJ( udg_Hero[5], udg_Hero[udg_G], 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_G], "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[5] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
set udg_G = udg_G + 1
endloop
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Hammer_Throw_5_Func007A )
call DestroyGroup (udg_Temp_group)
else
endif
call RemoveLocation(udg_Pos)
call RemoveLocation(udg_Pos2)
endfunction
//===========================================================================
function InitTrig_Hammer_Throw_5 takes nothing returns nothing
set gg_trg_Hammer_Throw_5 = CreateTrigger( )
call DisableTrigger( gg_trg_Hammer_Throw_5 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Hammer_Throw_5, 0.03 )
call TriggerAddAction( gg_trg_Hammer_Throw_5, function Trig_Hammer_Throw_5_Actions )
endfunction
function Trig_Hammer_Throw_6_Func005Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_G]) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[6]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(udg_Hero[udg_G]) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_6_Func007Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[6]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(GetEnumUnit()) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_6_Func007A takes nothing returns nothing
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(GetEnumUnit())
if ( Trig_Hammer_Throw_6_Func007Func003C() ) then
call UnitAddAbilityBJ( 'A03Q', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', GetEnumUnit() )
call PauseUnitBJ( true, GetEnumUnit() )
call SaveBooleanBJ( true, GetHandleIdBJ(GetEnumUnit()), 23, GetLastCreatedHashtableBJ() )
call UnitDamageTargetBJ( udg_Hero[6], GetEnumUnit(), 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", GetEnumUnit(), "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[6] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
endfunction
function Trig_Hammer_Throw_6_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Shade[6])
set udg_Pos = PolarProjectionBJ(udg_Pos2, 96.00, GetUnitFacing(udg_Shade[6]))
if (RectContainsLoc(udg_Game, udg_Pos)) then
call SetUnitFlyHeightBJ( udg_Shade[6], ( 75.00 - GetLocationZ(udg_Pos) ), 1200.00 )
call SetUnitPositionLocFacingBJ( udg_Shade[6], udg_Pos, GetUnitFacing(udg_Shade[6]) )
set udg_G = 7
loop
exitwhen udg_G > 12
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(udg_Hero[udg_G])
if ( Trig_Hammer_Throw_6_Func005Func003C() ) then
set udg_StormStun[udg_G] = 1
call DisableTrigger( udg_ArrowKeysDown[udg_G] )
call DisableTrigger( udg_ArrowkeysUp[udg_G] )
call DisableTrigger( udg_ArrowKeysLeft[udg_G] )
call DisableTrigger( udg_ArrowKeysRight[udg_G] )
call DisableTrigger( udg_MoveDown[udg_G] )
call DisableTrigger( udg_MoveUp[udg_G] )
call DisableTrigger( udg_MoveRight[udg_G] )
call DisableTrigger( udg_MoveLeft[udg_G] )
call UnitAddAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call IssueImmediateOrderBJ( udg_Hero[udg_G], "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call PauseUnitBJ( true, udg_Hero[udg_G] )
call UnitDamageTargetBJ( udg_Hero[6], udg_Hero[udg_G], 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_G], "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[6] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
set udg_G = udg_G + 1
endloop
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Hammer_Throw_6_Func007A )
call DestroyGroup (udg_Temp_group)
else
endif
call RemoveLocation(udg_Pos)
call RemoveLocation(udg_Pos2)
endfunction
//===========================================================================
function InitTrig_Hammer_Throw_6 takes nothing returns nothing
set gg_trg_Hammer_Throw_6 = CreateTrigger( )
call DisableTrigger( gg_trg_Hammer_Throw_6 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Hammer_Throw_6, 0.03 )
call TriggerAddAction( gg_trg_Hammer_Throw_6, function Trig_Hammer_Throw_6_Actions )
endfunction
function Trig_Hammer_Throw_7_Func005Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_G]) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[7]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(udg_Hero[udg_G]) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_7_Func007Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[7]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(GetEnumUnit()) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_7_Func007A takes nothing returns nothing
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(GetEnumUnit())
if ( Trig_Hammer_Throw_7_Func007Func003C() ) then
call UnitAddAbilityBJ( 'A03Q', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', GetEnumUnit() )
call PauseUnitBJ( true, GetEnumUnit() )
call SaveBooleanBJ( true, GetHandleIdBJ(GetEnumUnit()), 23, GetLastCreatedHashtableBJ() )
call UnitDamageTargetBJ( udg_Hero[7], GetEnumUnit(), 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", GetEnumUnit(), "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[7] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
endfunction
function Trig_Hammer_Throw_7_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Shade[7])
set udg_Pos = PolarProjectionBJ(udg_Pos2, 96.00, GetUnitFacing(udg_Shade[7]))
if (RectContainsLoc(udg_Game, udg_Pos)) then
call SetUnitFlyHeightBJ( udg_Shade[7], ( 75.00 - GetLocationZ(udg_Pos) ), 1200.00 )
call SetUnitPositionLocFacingBJ( udg_Shade[7], udg_Pos, GetUnitFacing(udg_Shade[7]) )
set udg_G = 1
loop
exitwhen udg_G > 6
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(udg_Hero[udg_G])
if ( Trig_Hammer_Throw_7_Func005Func003C() ) then
set udg_StormStun[udg_G] = 1
call DisableTrigger( udg_ArrowKeysDown[udg_G] )
call DisableTrigger( udg_ArrowkeysUp[udg_G] )
call DisableTrigger( udg_ArrowKeysLeft[udg_G] )
call DisableTrigger( udg_ArrowKeysRight[udg_G] )
call DisableTrigger( udg_MoveDown[udg_G] )
call DisableTrigger( udg_MoveUp[udg_G] )
call DisableTrigger( udg_MoveRight[udg_G] )
call DisableTrigger( udg_MoveLeft[udg_G] )
call UnitAddAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call IssueImmediateOrderBJ( udg_Hero[udg_G], "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call PauseUnitBJ( true, udg_Hero[udg_G] )
call UnitDamageTargetBJ( udg_Hero[7], udg_Hero[udg_G], 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_G], "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[7] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
set udg_G = udg_G + 1
endloop
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Hammer_Throw_7_Func007A )
call DestroyGroup (udg_Temp_group)
else
endif
call RemoveLocation(udg_Pos)
call RemoveLocation(udg_Pos2)
endfunction
//===========================================================================
function InitTrig_Hammer_Throw_7 takes nothing returns nothing
set gg_trg_Hammer_Throw_7 = CreateTrigger( )
call DisableTrigger( gg_trg_Hammer_Throw_7 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Hammer_Throw_7, 0.03 )
call TriggerAddAction( gg_trg_Hammer_Throw_7, function Trig_Hammer_Throw_7_Actions )
endfunction
function Trig_Hammer_Throw_8_Func005Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_G]) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[8]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(udg_Hero[udg_G]) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_8_Func007Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[8]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(GetEnumUnit()) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_8_Func007A takes nothing returns nothing
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(GetEnumUnit())
if ( Trig_Hammer_Throw_8_Func007Func003C() ) then
call UnitAddAbilityBJ( 'A03Q', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', GetEnumUnit() )
call PauseUnitBJ( true, GetEnumUnit() )
call SaveBooleanBJ( true, GetHandleIdBJ(GetEnumUnit()), 23, GetLastCreatedHashtableBJ() )
call UnitDamageTargetBJ( udg_Hero[8], GetEnumUnit(), 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", GetEnumUnit(), "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[8] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
endfunction
function Trig_Hammer_Throw_8_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Shade[8])
set udg_Pos = PolarProjectionBJ(udg_Pos2, 96.00, GetUnitFacing(udg_Shade[8]))
if (RectContainsLoc(udg_Game, udg_Pos)) then
call SetUnitFlyHeightBJ( udg_Shade[8], ( 75.00 - GetLocationZ(udg_Pos) ), 1200.00 )
call SetUnitPositionLocFacingBJ( udg_Shade[8], udg_Pos, GetUnitFacing(udg_Shade[8]) )
set udg_G = 1
loop
exitwhen udg_G > 6
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(udg_Hero[udg_G])
if ( Trig_Hammer_Throw_8_Func005Func003C() ) then
set udg_StormStun[udg_G] = 1
call DisableTrigger( udg_ArrowKeysDown[udg_G] )
call DisableTrigger( udg_ArrowkeysUp[udg_G] )
call DisableTrigger( udg_ArrowKeysLeft[udg_G] )
call DisableTrigger( udg_ArrowKeysRight[udg_G] )
call DisableTrigger( udg_MoveDown[udg_G] )
call DisableTrigger( udg_MoveUp[udg_G] )
call DisableTrigger( udg_MoveRight[udg_G] )
call DisableTrigger( udg_MoveLeft[udg_G] )
call UnitAddAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call IssueImmediateOrderBJ( udg_Hero[udg_G], "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call PauseUnitBJ( true, udg_Hero[udg_G] )
call UnitDamageTargetBJ( udg_Hero[8], udg_Hero[udg_G], 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_G], "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[8] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
set udg_G = udg_G + 1
endloop
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Hammer_Throw_8_Func007A )
call DestroyGroup (udg_Temp_group)
else
endif
call RemoveLocation(udg_Pos)
call RemoveLocation(udg_Pos2)
endfunction
//===========================================================================
function InitTrig_Hammer_Throw_8 takes nothing returns nothing
set gg_trg_Hammer_Throw_8 = CreateTrigger( )
call DisableTrigger( gg_trg_Hammer_Throw_8 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Hammer_Throw_8, 0.03 )
call TriggerAddAction( gg_trg_Hammer_Throw_8, function Trig_Hammer_Throw_8_Actions )
endfunction
function Trig_Hammer_Throw_9_Func005Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_G]) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[9]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(udg_Hero[udg_G]) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_9_Func007Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[9]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(GetEnumUnit()) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_9_Func007A takes nothing returns nothing
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(GetEnumUnit())
if ( Trig_Hammer_Throw_9_Func007Func003C() ) then
call UnitAddAbilityBJ( 'A03Q', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', GetEnumUnit() )
call PauseUnitBJ( true, GetEnumUnit() )
call SaveBooleanBJ( true, GetHandleIdBJ(GetEnumUnit()), 23, GetLastCreatedHashtableBJ() )
call UnitDamageTargetBJ( udg_Hero[9], GetEnumUnit(), 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", GetEnumUnit(), "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[9] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
endfunction
function Trig_Hammer_Throw_9_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Shade[9])
set udg_Pos = PolarProjectionBJ(udg_Pos2, 96.00, GetUnitFacing(udg_Shade[9]))
if (RectContainsLoc(udg_Game, udg_Pos)) then
call SetUnitFlyHeightBJ( udg_Shade[9], ( 75.00 - GetLocationZ(udg_Pos) ), 1200.00 )
call SetUnitPositionLocFacingBJ( udg_Shade[9], udg_Pos, GetUnitFacing(udg_Shade[9]) )
set udg_G = 1
loop
exitwhen udg_G > 6
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(udg_Hero[udg_G])
if ( Trig_Hammer_Throw_9_Func005Func003C() ) then
set udg_StormStun[udg_G] = 1
call DisableTrigger( udg_ArrowKeysDown[udg_G] )
call DisableTrigger( udg_ArrowkeysUp[udg_G] )
call DisableTrigger( udg_ArrowKeysLeft[udg_G] )
call DisableTrigger( udg_ArrowKeysRight[udg_G] )
call DisableTrigger( udg_MoveDown[udg_G] )
call DisableTrigger( udg_MoveUp[udg_G] )
call DisableTrigger( udg_MoveRight[udg_G] )
call DisableTrigger( udg_MoveLeft[udg_G] )
call UnitAddAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call IssueImmediateOrderBJ( udg_Hero[udg_G], "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call PauseUnitBJ( true, udg_Hero[udg_G] )
call UnitDamageTargetBJ( udg_Hero[9], udg_Hero[udg_G], 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_G], "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[9] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
set udg_G = udg_G + 1
endloop
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Hammer_Throw_9_Func007A )
call DestroyGroup (udg_Temp_group)
else
endif
call RemoveLocation(udg_Pos)
call RemoveLocation(udg_Pos2)
endfunction
//===========================================================================
function InitTrig_Hammer_Throw_9 takes nothing returns nothing
set gg_trg_Hammer_Throw_9 = CreateTrigger( )
call DisableTrigger( gg_trg_Hammer_Throw_9 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Hammer_Throw_9, 0.03 )
call TriggerAddAction( gg_trg_Hammer_Throw_9, function Trig_Hammer_Throw_9_Actions )
endfunction
function Trig_Hammer_Throw_10_Func005Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_G]) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[10]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(udg_Hero[udg_G]) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_10_Func007Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[10]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(GetEnumUnit()) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_10_Func007A takes nothing returns nothing
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(GetEnumUnit())
if ( Trig_Hammer_Throw_10_Func007Func003C() ) then
call UnitAddAbilityBJ( 'A03Q', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', GetEnumUnit() )
call PauseUnitBJ( true, GetEnumUnit() )
call SaveBooleanBJ( true, GetHandleIdBJ(GetEnumUnit()), 23, GetLastCreatedHashtableBJ() )
call UnitDamageTargetBJ( udg_Hero[10], GetEnumUnit(), 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", GetEnumUnit(), "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[10] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
endfunction
function Trig_Hammer_Throw_10_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Shade[10])
set udg_Pos = PolarProjectionBJ(udg_Pos2, 96.00, GetUnitFacing(udg_Shade[10]))
if (RectContainsLoc(udg_Game, udg_Pos)) then
call SetUnitFlyHeightBJ( udg_Shade[10], ( 75.00 - GetLocationZ(udg_Pos) ), 1200.00 )
call SetUnitPositionLocFacingBJ( udg_Shade[10], udg_Pos, GetUnitFacing(udg_Shade[10]) )
set udg_G = 1
loop
exitwhen udg_G > 6
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(udg_Hero[udg_G])
if ( Trig_Hammer_Throw_10_Func005Func003C() ) then
set udg_StormStun[udg_G] = 1
call DisableTrigger( udg_ArrowKeysDown[udg_G] )
call DisableTrigger( udg_ArrowkeysUp[udg_G] )
call DisableTrigger( udg_ArrowKeysLeft[udg_G] )
call DisableTrigger( udg_ArrowKeysRight[udg_G] )
call DisableTrigger( udg_MoveDown[udg_G] )
call DisableTrigger( udg_MoveUp[udg_G] )
call DisableTrigger( udg_MoveRight[udg_G] )
call DisableTrigger( udg_MoveLeft[udg_G] )
call UnitAddAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call IssueImmediateOrderBJ( udg_Hero[udg_G], "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call PauseUnitBJ( true, udg_Hero[udg_G] )
call UnitDamageTargetBJ( udg_Hero[10], udg_Hero[udg_G], 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_G], "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[10] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
set udg_G = udg_G + 1
endloop
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Hammer_Throw_10_Func007A )
call DestroyGroup (udg_Temp_group)
else
endif
call RemoveLocation(udg_Pos)
call RemoveLocation(udg_Pos2)
endfunction
//===========================================================================
function InitTrig_Hammer_Throw_10 takes nothing returns nothing
set gg_trg_Hammer_Throw_10 = CreateTrigger( )
call DisableTrigger( gg_trg_Hammer_Throw_10 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Hammer_Throw_10, 0.03 )
call TriggerAddAction( gg_trg_Hammer_Throw_10, function Trig_Hammer_Throw_10_Actions )
endfunction
function Trig_Hammer_Throw_11_Func005Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_G]) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[11]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(udg_Hero[udg_G]) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_11_Func007Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[11]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(GetEnumUnit()) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_11_Func007A takes nothing returns nothing
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(GetEnumUnit())
if ( Trig_Hammer_Throw_11_Func007Func003C() ) then
call UnitAddAbilityBJ( 'A03Q', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', GetEnumUnit() )
call PauseUnitBJ( true, GetEnumUnit() )
call SaveBooleanBJ( true, GetHandleIdBJ(GetEnumUnit()), 23, GetLastCreatedHashtableBJ() )
call UnitDamageTargetBJ( udg_Hero[11], GetEnumUnit(), 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", GetEnumUnit(), "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[11] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
endfunction
function Trig_Hammer_Throw_11_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Shade[11])
set udg_Pos = PolarProjectionBJ(udg_Pos2, 96.00, GetUnitFacing(udg_Shade[11]))
if (RectContainsLoc(udg_Game, udg_Pos)) then
call SetUnitFlyHeightBJ( udg_Shade[11], ( 75.00 - GetLocationZ(udg_Pos) ), 1200.00 )
call SetUnitPositionLocFacingBJ( udg_Shade[11], udg_Pos, GetUnitFacing(udg_Shade[11]) )
set udg_G = 1
loop
exitwhen udg_G > 6
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(udg_Hero[udg_G])
if ( Trig_Hammer_Throw_11_Func005Func003C() ) then
set udg_StormStun[udg_G] = 1
call DisableTrigger( udg_ArrowKeysDown[udg_G] )
call DisableTrigger( udg_ArrowkeysUp[udg_G] )
call DisableTrigger( udg_ArrowKeysLeft[udg_G] )
call DisableTrigger( udg_ArrowKeysRight[udg_G] )
call DisableTrigger( udg_MoveDown[udg_G] )
call DisableTrigger( udg_MoveUp[udg_G] )
call DisableTrigger( udg_MoveRight[udg_G] )
call DisableTrigger( udg_MoveLeft[udg_G] )
call UnitAddAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call IssueImmediateOrderBJ( udg_Hero[udg_G], "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call PauseUnitBJ( true, udg_Hero[udg_G] )
call UnitDamageTargetBJ( udg_Hero[11], udg_Hero[udg_G], 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_G], "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[11] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
set udg_G = udg_G + 1
endloop
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Hammer_Throw_11_Func007A )
call DestroyGroup (udg_Temp_group)
else
endif
call RemoveLocation(udg_Pos)
call RemoveLocation(udg_Pos2)
endfunction
//===========================================================================
function InitTrig_Hammer_Throw_11 takes nothing returns nothing
set gg_trg_Hammer_Throw_11 = CreateTrigger( )
call DisableTrigger( gg_trg_Hammer_Throw_11 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Hammer_Throw_11, 0.03 )
call TriggerAddAction( gg_trg_Hammer_Throw_11, function Trig_Hammer_Throw_11_Actions )
endfunction
function Trig_Hammer_Throw_12_Func005Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_G]) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[12]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(udg_Hero[udg_G]) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_12_Func007Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ( GetUnitFlyHeight(udg_Shade[12]) + GetLocationZ(udg_Pos) ) - ( GetUnitFlyHeight(GetEnumUnit()) + GetLocationZ(udg_Pos43) ) )) <= 50.00 ) ) then
return false
endif
return true
endfunction
function Trig_Hammer_Throw_12_Func007A takes nothing returns nothing
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(GetEnumUnit())
if ( Trig_Hammer_Throw_12_Func007Func003C() ) then
call UnitAddAbilityBJ( 'A03Q', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', GetEnumUnit() )
call PauseUnitBJ( true, GetEnumUnit() )
call SaveBooleanBJ( true, GetHandleIdBJ(GetEnumUnit()), 23, GetLastCreatedHashtableBJ() )
call UnitDamageTargetBJ( udg_Hero[12], GetEnumUnit(), 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", GetEnumUnit(), "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[12] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
endfunction
function Trig_Hammer_Throw_12_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Shade[12])
set udg_Pos = PolarProjectionBJ(udg_Pos2, 96.00, GetUnitFacing(udg_Shade[12]))
if (RectContainsLoc(udg_Game, udg_Pos)) then
call SetUnitFlyHeightBJ( udg_Shade[12], ( 75.00 - GetLocationZ(udg_Pos) ), 1200.00 )
call SetUnitPositionLocFacingBJ( udg_Shade[12], udg_Pos, GetUnitFacing(udg_Shade[12]) )
set udg_G = 1
loop
exitwhen udg_G > 6
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 200.00, 200.00)
set udg_Pos43 = GetUnitLoc(udg_Hero[udg_G])
if ( Trig_Hammer_Throw_12_Func005Func003C() ) then
set udg_StormStun[udg_G] = 1
call DisableTrigger( udg_ArrowKeysDown[udg_G] )
call DisableTrigger( udg_ArrowkeysUp[udg_G] )
call DisableTrigger( udg_ArrowKeysLeft[udg_G] )
call DisableTrigger( udg_ArrowKeysRight[udg_G] )
call DisableTrigger( udg_MoveDown[udg_G] )
call DisableTrigger( udg_MoveUp[udg_G] )
call DisableTrigger( udg_MoveRight[udg_G] )
call DisableTrigger( udg_MoveLeft[udg_G] )
call UnitAddAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call IssueImmediateOrderBJ( udg_Hero[udg_G], "berserk" )
call UnitRemoveAbilityBJ( 'A03Q', udg_Hero[udg_G] )
call PauseUnitBJ( true, udg_Hero[udg_G] )
call UnitDamageTargetBJ( udg_Hero[12], udg_Hero[udg_G], 40.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_G], "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call KillUnit( udg_Shade[12] )
call DisableTrigger( GetTriggeringTrigger() )
else
endif
call RemoveLocation(udg_Pos43)
call RemoveRect(udg_TempRect)
set udg_G = udg_G + 1
endloop
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Hammer_Throw_12_Func007A )
call DestroyGroup (udg_Temp_group)
else
endif
call RemoveLocation(udg_Pos)
call RemoveLocation(udg_Pos2)
endfunction
//===========================================================================
function InitTrig_Hammer_Throw_12 takes nothing returns nothing
set gg_trg_Hammer_Throw_12 = CreateTrigger( )
call DisableTrigger( gg_trg_Hammer_Throw_12 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Hammer_Throw_12, 0.03 )
call TriggerAddAction( gg_trg_Hammer_Throw_12, function Trig_Hammer_Throw_12_Actions )
endfunction
function Trig_Tantrum_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A03M' ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func005C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'H00Q' ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017Func001Func001Func001Func003Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetForLoopIndexA()] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017Func001Func001Func001Func003Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetForLoopIndexA()] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017Func001Func001Func001Func003C takes nothing returns boolean
if ( not ( udg_SpeedEx[GetForLoopIndexA()] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017Func001Func001Func001C takes nothing returns boolean
if ( not ( IsUnitInGroup(udg_Hero[GetForLoopIndexA()], GetUnitsInRangeOfLocAll(1800.00, udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])) == true ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017Func001Func002Func001Func003Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetForLoopIndexA()] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017Func001Func002Func001Func003Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetForLoopIndexA()] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017Func001Func002Func001Func003C takes nothing returns boolean
if ( not ( udg_SpeedEx[GetForLoopIndexA()] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017Func001Func002Func001C takes nothing returns boolean
if ( not ( IsUnitInGroup(udg_Hero[GetForLoopIndexA()], GetUnitsInRangeOfLocAll(1800.00, udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])) == true ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017Func001C takes nothing returns boolean
if ( not ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) <= 12 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017Func002Func001Func003Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetForLoopIndexA()] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017Func002Func001Func003Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetForLoopIndexA()] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017Func002Func001Func003C takes nothing returns boolean
if ( not ( udg_SpeedEx[GetForLoopIndexA()] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017Func002Func001C takes nothing returns boolean
if ( not ( IsUnitInGroup(udg_Hero[GetForLoopIndexA()], GetUnitsInRangeOfLocAll(1800.00, udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])) == true ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func017C takes nothing returns boolean
if ( not ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) <= 6 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func019Func001C takes nothing returns boolean
if ( not ( IsUnitInGroup(GetEnumUnit(), GetUnitsInRangeOfLocAll(1800.00, udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])) == true ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func019A takes nothing returns nothing
if ( Trig_Tantrum_Func019Func001C() ) then
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), 13.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call SetUnitMoveSpeed( GetEnumUnit(), ( GetUnitMoveSpeed(GetEnumUnit()) - 125.00 ) )
else
endif
endfunction
function Trig_Tantrum_Func021Func002Func001Func001Func001C takes nothing returns boolean
if ( not ( IsUnitInGroup(udg_Hero[GetForLoopIndexA()], GetUnitsInRangeOfLocAll(1800.00, udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])) == true ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func021Func002Func001Func002Func001C takes nothing returns boolean
if ( not ( IsUnitInGroup(udg_Hero[GetForLoopIndexA()], GetUnitsInRangeOfLocAll(1800.00, udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])) == true ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func021Func002Func001C takes nothing returns boolean
if ( not ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) <= 12 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func021Func002Func002Func001C takes nothing returns boolean
if ( not ( IsUnitInGroup(udg_Hero[GetForLoopIndexA()], GetUnitsInRangeOfLocAll(1800.00, udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])) == true ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func021Func002C takes nothing returns boolean
if ( not ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) <= 6 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func021Func004Func001C takes nothing returns boolean
if ( not ( IsUnitInGroup(GetEnumUnit(), GetUnitsInRangeOfLocAll(1800.00, udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])) == true ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func021Func004A takes nothing returns nothing
if ( Trig_Tantrum_Func021Func004Func001C() ) then
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), 13.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
else
endif
endfunction
function Trig_Tantrum_Func022Func001Func001Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetForLoopIndexA()] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func022Func001Func001Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetForLoopIndexA()] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func022Func001Func001C takes nothing returns boolean
if ( not ( udg_SpeedEx[GetForLoopIndexA()] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Func022Func001C takes nothing returns boolean
if ( not ( udg_TantrumMov[GetForLoopIndexA()] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Tantrum_Actions takes nothing returns nothing
set udg_Facing[GetConvertedPlayerId(GetTriggerPlayer())] = GetUnitFacing(udg_Hero[GetConvertedPlayerId(GetTriggerPlayer())])
call DisplayTextToForce( GetPlayersAll(), I2S(udg_SpeedEx[1]) )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 36
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call DestroyEffectBJ( LoadEffectHandleBJ(GetHandleIdBJ(GetSpellAbilityUnit()), ( GetForLoopIndexA() + 75 ), GetLastCreatedHashtableBJ()) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call DestroyEffectBJ( LoadEffectHandleBJ(GetHandleIdBJ(GetSpellAbilityUnit()), 125, GetLastCreatedHashtableBJ()) )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 12
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call DestroyEffectBJ( LoadEffectHandleBJ(GetHandleIdBJ(GetSpellAbilityUnit()), ( GetForLoopIndexA() + 112 ), GetLastCreatedHashtableBJ()) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
if ( Trig_Tantrum_Func005C() ) then
call PlaySoundOnUnitBJ( gg_snd_HeroPaladinWhat1, 100, GetSpellAbilityUnit() )
else
call PlaySoundOnUnitBJ( gg_snd_RockGolemPissed2, 100, GetSpellAbilityUnit() )
endif
call SetUnitAnimation( GetSpellAbilityUnit(), "attack" )
call AddSpecialEffectTargetUnitBJ( "chest", GetTriggerUnit(), "Abilities\\Weapons\\RedDragonBreath\\RedDragonMissile.mdl" )
call SaveEffectHandleBJ( GetLastCreatedEffectBJ(), GetHandleIdBJ(GetSpellAbilityUnit()), 125, GetLastCreatedHashtableBJ() )
set udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] = GetUnitLoc(GetSpellAbilityUnit())
call PlaySoundAtPointBJ( gg_snd_Earthquake, 100, udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], 0 )
call AddWeatherEffectSaveLast( RectFromLoc(Location(( GetLocationX(udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]) - 800.00 ), ( GetLocationY(udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]) - 800.00 )), Location(( GetLocationX(udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))]) + 800.00 ), ( GetLocationY(udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]) + 800.00 ))), 'RLhr' )
set udg_HammerWeath[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] = GetLastCreatedWeatherEffect()
call EnableWeatherEffect( GetLastCreatedWeatherEffect(), true )
call CameraSetEQNoiseForPlayer( GetOwningPlayer(GetTriggerUnit()), 3.00 )
call TerrainDeformationRippleBJ( 5.00, false, udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], 1600.00, 1600.00, 56.00, 0.50, 265.00 )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 36
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Pos43 = PolarProjectionBJ(udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], 1700.00, ( udg_Facing[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + ( 10.00 * I2R(GetForLoopIndexA()) ) ))
call AddSpecialEffectLocBJ( udg_Pos43, "Environment\\NightElfBuildingFire\\ElfLargeBuildingFire1.mdl" )
call RemoveLocation(udg_Pos43)
call SaveEffectHandleBJ( GetLastCreatedEffectBJ(), GetHandleIdBJ(GetSpellAbilityUnit()), ( GetForLoopIndexA() + 75 ), GetLastCreatedHashtableBJ() )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
if ( Trig_Tantrum_Func017C() ) then
set bj_forLoopAIndex = 7
set bj_forLoopAIndexEnd = 12
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Tantrum_Func017Func002Func001C() ) then
call UnitDamageTargetBJ( GetTriggerUnit(), udg_Hero[GetForLoopIndexA()], 13.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
set udg_TantrumMov[GetForLoopIndexA()] = 1
if ( Trig_Tantrum_Func017Func002Func001Func003C() ) then
if ( Trig_Tantrum_Func017Func002Func001Func003Func002C() ) then
set udg_SpeedEx[GetForLoopIndexA()] = ( udg_SpeedEx[GetForLoopIndexA()] - 1 )
else
endif
if ( Trig_Tantrum_Func017Func002Func001Func003Func003C() ) then
set udg_Hero_Movement_Speed[GetForLoopIndexA()] = .32491250
else
set udg_Hero_Movement_Speed[GetForLoopIndexA()] = .23826917
endif
else
set udg_SpeedEx[GetForLoopIndexA()] = ( udg_SpeedEx[GetForLoopIndexA()] - 1 )
endif
call AddSpecialEffectTargetUnitBJ( "overhead", udg_Hero[GetForLoopIndexA()], "Abilities\\Spells\\Orc\\StasisTrap\\StasisTotemTarget.mdl" )
call SaveEffectHandleBJ( GetLastCreatedEffectBJ(), GetHandleIdBJ(GetSpellAbilityUnit()), ( 112 + GetForLoopIndexA() ), GetLastCreatedHashtableBJ() )
else
endif
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
else
if ( Trig_Tantrum_Func017Func001C() ) then
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 6
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Tantrum_Func017Func001Func002Func001C() ) then
call UnitDamageTargetBJ( GetTriggerUnit(), udg_Hero[GetForLoopIndexA()], 13.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
set udg_TantrumMov[GetForLoopIndexA()] = 1
if ( Trig_Tantrum_Func017Func001Func002Func001Func003C() ) then
if ( Trig_Tantrum_Func017Func001Func002Func001Func003Func002C() ) then
set udg_SpeedEx[GetForLoopIndexA()] = ( udg_SpeedEx[GetForLoopIndexA()] - 1 )
else
endif
if ( Trig_Tantrum_Func017Func001Func002Func001Func003Func003C() ) then
set udg_Hero_Movement_Speed[GetForLoopIndexA()] = .32491250
else
set udg_Hero_Movement_Speed[GetForLoopIndexA()] = .23826917
endif
else
set udg_SpeedEx[GetForLoopIndexA()] = ( udg_SpeedEx[GetForLoopIndexA()] - 1 )
endif
call AddSpecialEffectTargetUnitBJ( "overhead", udg_Hero[GetForLoopIndexA()], "Abilities\\Spells\\Orc\\StasisTrap\\StasisTotemTarget.mdl" )
call SaveEffectHandleBJ( GetLastCreatedEffectBJ(), GetHandleIdBJ(GetSpellAbilityUnit()), ( 112 + GetForLoopIndexA() ), GetLastCreatedHashtableBJ() )
else
endif
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
else
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 12
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Tantrum_Func017Func001Func001Func001C() ) then
call UnitDamageTargetBJ( GetTriggerUnit(), udg_Hero[GetForLoopIndexA()], 13.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
set udg_TantrumMov[GetForLoopIndexA()] = 1
if ( Trig_Tantrum_Func017Func001Func001Func001Func003C() ) then
if ( Trig_Tantrum_Func017Func001Func001Func001Func003Func002C() ) then
set udg_SpeedEx[GetForLoopIndexA()] = ( udg_SpeedEx[GetForLoopIndexA()] - 1 )
else
endif
if ( Trig_Tantrum_Func017Func001Func001Func001Func003Func003C() ) then
set udg_Hero_Movement_Speed[GetForLoopIndexA()] = .32491250
else
set udg_Hero_Movement_Speed[GetForLoopIndexA()] = .23826917
endif
else
set udg_SpeedEx[GetForLoopIndexA()] = ( udg_SpeedEx[GetForLoopIndexA()] - 1 )
endif
call AddSpecialEffectTargetUnitBJ( "overhead", udg_Hero[GetForLoopIndexA()], "Abilities\\Spells\\Orc\\StasisTrap\\StasisTotemTarget.mdl" )
call SaveEffectHandleBJ( GetLastCreatedEffectBJ(), GetHandleIdBJ(GetSpellAbilityUnit()), ( 112 + GetForLoopIndexA() ), GetLastCreatedHashtableBJ() )
else
endif
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endif
endif
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Tantrum_Func019A )
call DestroyGroup(udg_Temp_group)
set bj_forLoopBIndex = 1
set bj_forLoopBIndexEnd = 4
loop
exitwhen bj_forLoopBIndex > bj_forLoopBIndexEnd
call PolledWait( 1.00 )
if ( Trig_Tantrum_Func021Func002C() ) then
set bj_forLoopAIndex = 7
set bj_forLoopAIndexEnd = 12
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Tantrum_Func021Func002Func002Func001C() ) then
call UnitDamageTargetBJ( GetTriggerUnit(), udg_Hero[GetForLoopIndexA()], 13.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
else
endif
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
else
if ( Trig_Tantrum_Func021Func002Func001C() ) then
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 6
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Tantrum_Func021Func002Func001Func002Func001C() ) then
call UnitDamageTargetBJ( GetTriggerUnit(), udg_Hero[GetForLoopIndexA()], 13.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
else
endif
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
else
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 12
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Tantrum_Func021Func002Func001Func001Func001C() ) then
call UnitDamageTargetBJ( GetTriggerUnit(), udg_Hero[GetForLoopIndexA()], 13.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
else
endif
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endif
endif
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Tantrum_Func021Func004A )
call DestroyGroup(udg_Temp_group)
set bj_forLoopBIndex = bj_forLoopBIndex + 1
endloop
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 12
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Tantrum_Func022Func001C() ) then
if ( Trig_Tantrum_Func022Func001Func001C() ) then
if ( Trig_Tantrum_Func022Func001Func001Func002C() ) then
set udg_SpeedEx[GetForLoopIndexA()] = ( udg_SpeedEx[GetForLoopIndexA()] + 1 )
else
endif
if ( Trig_Tantrum_Func022Func001Func001Func003C() ) then
set udg_Hero_Movement_Speed[GetForLoopIndexA()] = .41155583
else
set udg_Hero_Movement_Speed[GetForLoopIndexA()] = .32491250
endif
else
set udg_SpeedEx[GetForLoopIndexA()] = ( udg_SpeedEx[GetForLoopIndexA()] + 1 )
endif
call DestroyEffectBJ( LoadEffectHandleBJ(GetHandleIdBJ(GetSpellAbilityUnit()), ( GetForLoopIndexA() + 112 ), GetLastCreatedHashtableBJ()) )
set udg_TantrumMov[GetForLoopIndexA()] = 0
else
endif
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 36
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call DestroyEffectBJ( LoadEffectHandleBJ(GetHandleIdBJ(GetSpellAbilityUnit()), ( GetForLoopIndexA() + 75 ), GetLastCreatedHashtableBJ()) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call DestroyEffectBJ( LoadEffectHandleBJ(GetHandleIdBJ(GetSpellAbilityUnit()), 125, GetLastCreatedHashtableBJ()) )
call PlaySoundAtPointBJ( gg_snd_Seagull1, 100, udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], 0 )
call EnableWeatherEffect( udg_HammerWeath[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], false )
call RemoveWeatherEffectBJ( udg_HammerWeath[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call CameraClearNoiseForPlayer( GetOwningPlayer(GetTriggerUnit()) )
call TriggerExecute( gg_trg_View_Reset )
call RemoveLocation(udg_Pos42[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])
endfunction
//===========================================================================
function InitTrig_Tantrum takes nothing returns nothing
set gg_trg_Tantrum = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Tantrum, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Tantrum, Condition( function Trig_Tantrum_Conditions ) )
call TriggerAddAction( gg_trg_Tantrum, function Trig_Tantrum_Actions )
endfunction
function Trig_Thunder_Clap_Effect_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A00L' ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func009Func001C takes nothing returns boolean
if ( not ( RectContainsUnit(RectFromLoc(Location(( GetLocationX(GetUnitLoc(GetTriggerUnit())) - 200.00 ), ( GetLocationY(GetUnitLoc(GetTriggerUnit())) - 200.00 )), Location(( GetLocationX(GetUnitLoc(GetTriggerUnit())) + 200.00 ), ( GetLocationY(GetUnitLoc(GetTriggerUnit())) + 200.00 ))), GetEnumUnit()) == true ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func009A takes nothing returns nothing
if ( Trig_Thunder_Clap_Effect_Func009Func001C() ) then
call SetUnitMoveSpeed( GetEnumUnit(), ( GetUnitMoveSpeed(GetEnumUnit()) - 100.00 ) )
call AddSpecialEffectTargetUnitBJ( "head", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\BloodElfSpellThiefBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), 55.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call UnitAddAbilityBJ( 'A02Y', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A02Y', GetEnumUnit() )
else
endif
endfunction
function Trig_Thunder_Clap_Effect_Func011Func001Func001Func001Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_D] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func001Func001Func001Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_D] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_D] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func001Func001C takes nothing returns boolean
if ( not ( RectContainsUnit(RectFromLoc(Location(( GetLocationX(GetUnitLoc(GetTriggerUnit())) - 200.00 ), ( GetLocationY(GetUnitLoc(GetTriggerUnit())) - 200.00 )), Location(( GetLocationX(GetUnitLoc(GetTriggerUnit())) + 200.00 ), ( GetLocationY(GetUnitLoc(GetTriggerUnit())) + 200.00 ))), udg_Hero[udg_D]) == true ) ) then
return false
endif
if ( not ( udg_ClapBoolean[udg_D] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func003Func001Func003Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_D] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func003Func001Func003Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_D] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func003Func001Func003C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_D] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func003Func001C takes nothing returns boolean
if ( not ( udg_ClapBoolean[udg_D] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func004Func001Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_D] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func004Func001Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_D] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func004Func001Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_D] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func004Func001C takes nothing returns boolean
if ( not ( RectContainsUnit(RectFromLoc(Location(( GetLocationX(GetUnitLoc(GetTriggerUnit())) - 200.00 ), ( GetLocationY(GetUnitLoc(GetTriggerUnit())) - 200.00 )), Location(( GetLocationX(GetUnitLoc(GetTriggerUnit())) + 200.00 ), ( GetLocationY(GetUnitLoc(GetTriggerUnit())) + 200.00 ))), udg_Hero[udg_D]) == true ) ) then
return false
endif
if ( not ( udg_ClapBoolean[udg_D] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func006Func001Func003Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_D] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func006Func001Func003Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_D] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func006Func001Func003C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_D] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011Func006Func001C takes nothing returns boolean
if ( not ( udg_ClapBoolean[udg_D] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Func011C takes nothing returns boolean
if ( not ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) <= 6 ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Clap_Effect_Actions takes nothing returns nothing
set udg_Facing[GetConvertedPlayerId(GetTriggerPlayer())] = GetUnitFacing(udg_Hero[GetConvertedPlayerId(GetTriggerPlayer())])
call PlaySoundOnUnitBJ( gg_snd_KnightYesAttack1, 100, GetTriggerUnit() )
call PlaySoundOnUnitBJ( gg_snd_ThunderClapCaster, 100, GetTriggerUnit() )
call DestroyEffectBJ( udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] )
call AddSpecialEffectTargetUnitBJ( "hand,left", GetSpellAbilityUnit(), "Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissile.mdl" )
set udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] = GetLastCreatedEffectBJ()
call AddSpecialEffectLocBJ( GetUnitLoc(GetTriggerUnit()), "Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl" )
set udg_ThunderClap[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedEffectBJ()
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Thunder_Clap_Effect_Func009A )
call DestroyGroup (udg_Temp_group)
if ( Trig_Thunder_Clap_Effect_Func011C() ) then
set udg_D = 7
loop
exitwhen udg_D > 12
if ( Trig_Thunder_Clap_Effect_Func011Func001Func001C() ) then
if ( Trig_Thunder_Clap_Effect_Func011Func001Func001Func001C() ) then
if ( Trig_Thunder_Clap_Effect_Func011Func001Func001Func001Func002C() ) then
set udg_SpeedEx[udg_D] = ( udg_SpeedEx[udg_D] - 1 )
else
endif
if ( Trig_Thunder_Clap_Effect_Func011Func001Func001Func001Func003C() ) then
set udg_Hero_Movement_Speed[udg_D] = .32491250
else
set udg_Hero_Movement_Speed[udg_D] = .23826917
endif
else
set udg_SpeedEx[udg_D] = ( udg_SpeedEx[udg_D] - 1 )
endif
call AddSpecialEffectTargetUnitBJ( "overhead", udg_Hero[udg_D], "Abilities\\Spells\\Human\\Thunderclap\\ThunderclapTarget.mdl" )
set udg_Slowed[udg_D] = GetLastCreatedEffectBJ()
call AddSpecialEffectTargetUnitBJ( "head", udg_Hero[udg_D], "Objects\\Spawnmodels\\Human\\HumanBlood\\BloodElfSpellThiefBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call UnitDamageTargetBJ( GetTriggerUnit(), udg_Hero[udg_D], 55.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
set udg_ClapBoolean[udg_D] = 1
call UnitAddAbilityBJ( 'A02Y', udg_Hero[udg_D] )
call IssueImmediateOrderBJ( udg_Hero[udg_D], "berserk" )
call UnitRemoveAbilityBJ( 'A02Y', udg_Hero[udg_D] )
else
endif
set udg_D = udg_D + 1
endloop
call PolledWait( 5.00 )
set udg_D = 7
loop
exitwhen udg_D > 12
if ( Trig_Thunder_Clap_Effect_Func011Func003Func001C() ) then
call DestroyEffectBJ( udg_Slowed[udg_D] )
set udg_ClapBoolean[udg_D] = 0
if ( Trig_Thunder_Clap_Effect_Func011Func003Func001Func003C() ) then
if ( Trig_Thunder_Clap_Effect_Func011Func003Func001Func003Func002C() ) then
set udg_SpeedEx[udg_D] = ( udg_SpeedEx[udg_D] + 1 )
else
endif
if ( Trig_Thunder_Clap_Effect_Func011Func003Func001Func003Func003C() ) then
set udg_Hero_Movement_Speed[udg_D] = .41155583
else
set udg_Hero_Movement_Speed[udg_D] = .32491250
endif
else
set udg_SpeedEx[udg_D] = ( udg_SpeedEx[udg_D] + 1 )
endif
else
endif
set udg_D = udg_D + 1
endloop
else
set udg_D = 1
loop
exitwhen udg_D > 6
if ( Trig_Thunder_Clap_Effect_Func011Func004Func001C() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", udg_Hero[udg_D], "Abilities\\Spells\\Human\\Thunderclap\\ThunderclapTarget.mdl" )
set udg_Slowed[udg_D] = GetLastCreatedEffectBJ()
call AddSpecialEffectTargetUnitBJ( "head", udg_Hero[udg_D], "Objects\\Spawnmodels\\Human\\HumanBlood\\BloodElfSpellThiefBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
if ( Trig_Thunder_Clap_Effect_Func011Func004Func001Func005C() ) then
if ( Trig_Thunder_Clap_Effect_Func011Func004Func001Func005Func002C() ) then
set udg_SpeedEx[udg_D] = ( udg_SpeedEx[udg_D] - 1 )
else
endif
if ( Trig_Thunder_Clap_Effect_Func011Func004Func001Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_D] = .32491250
else
set udg_Hero_Movement_Speed[udg_D] = .23826917
endif
else
set udg_SpeedEx[udg_D] = ( udg_SpeedEx[udg_D] - 1 )
endif
call UnitDamageTargetBJ( GetTriggerUnit(), udg_Hero[udg_D], 55.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
set udg_ClapBoolean[udg_D] = 1
call UnitAddAbilityBJ( 'A02Y', udg_Hero[udg_D] )
call IssueImmediateOrderBJ( udg_Hero[udg_D], "berserk" )
call UnitRemoveAbilityBJ( 'A02Y', udg_Hero[udg_D] )
else
endif
set udg_D = udg_D + 1
endloop
call PolledWait( 5.00 )
set udg_D = 1
loop
exitwhen udg_D > 6
if ( Trig_Thunder_Clap_Effect_Func011Func006Func001C() ) then
call DestroyEffectBJ( udg_Slowed[udg_D] )
set udg_ClapBoolean[udg_D] = 0
if ( Trig_Thunder_Clap_Effect_Func011Func006Func001Func003C() ) then
if ( Trig_Thunder_Clap_Effect_Func011Func006Func001Func003Func002C() ) then
set udg_SpeedEx[udg_D] = ( udg_SpeedEx[udg_D] + 1 )
else
endif
if ( Trig_Thunder_Clap_Effect_Func011Func006Func001Func003Func003C() ) then
set udg_Hero_Movement_Speed[udg_D] = .41155583
else
set udg_Hero_Movement_Speed[udg_D] = .32491250
endif
else
set udg_SpeedEx[udg_D] = ( udg_SpeedEx[udg_D] + 1 )
endif
else
endif
set udg_D = udg_D + 1
endloop
endif
call PolledWait( 5.00 )
call DestroyEffectBJ( udg_ThunderClap[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call DestroyEffectBJ( udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] )
endfunction
//===========================================================================
function InitTrig_Thunder_Clap_Effect takes nothing returns nothing
set gg_trg_Thunder_Clap_Effect = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Thunder_Clap_Effect, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Thunder_Clap_Effect, Condition( function Trig_Thunder_Clap_Effect_Conditions ) )
call TriggerAddAction( gg_trg_Thunder_Clap_Effect, function Trig_Thunder_Clap_Effect_Actions )
endfunction
function Trig_Shotgun_Conditions takes nothing returns boolean
if ( not ( GetPlayerState(GetOwningPlayer(GetSpellAbilityUnit()), PLAYER_STATE_RESOURCE_LUMBER) >= 1 ) ) then
return false
endif
if ( not ( GetSpellAbilityId() == 'A001' ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func001Func001Func003Func006Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_N] <=.23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func001Func001Func003Func006Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_N] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func001Func001Func003Func006C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_N] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func001Func001Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_N]) == true ) ) then
return false
endif
if ( not ( udg_ShotgunSlow[udg_N] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func001Func002Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_N]) == true ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func002Func001Func003Func006Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_N] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func002Func001Func003Func006Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_N] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func002Func001Func003Func006C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_N] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func002Func001Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_N]) == true ) ) then
return false
endif
if ( not ( udg_ShotgunSlow[udg_N] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func002Func002Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_N]) == true ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func005Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_N] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func005Func001Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_N] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func005Func001Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_N] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func005Func001C takes nothing returns boolean
if ( not ( udg_ShotgunSlow[udg_N] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func008Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_N] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func008Func001Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_N] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func008Func001Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_N] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012Func008Func001C takes nothing returns boolean
if ( not ( udg_ShotgunSlow[udg_N] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func012C takes nothing returns boolean
if ( not ( GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit())) <= 6 ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func014Func001Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func014Func002Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true ) ) then
return false
endif
return true
endfunction
function Trig_Shotgun_Func014A takes nothing returns nothing
set udg_A = 0
loop
exitwhen udg_A > 7
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 100.00 + ( 195.00 * I2R(udg_A) ) ), udg_Facing[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 200.00)
if ( Trig_Shotgun_Func014Func001Func003C() ) then
call UnitAddAbilityBJ( 'A02Z', GetEnumUnit() )
call IssueImmediateOrderBJ( GetEnumUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A02Z', GetEnumUnit() )
call UnitDamageTargetBJ( GetSpellAbilityUnit(), GetEnumUnit(), 20.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call SetUnitMoveSpeed( GetEnumUnit(), ( GetUnitMoveSpeed(GetEnumUnit()) - 100.00 ) )
call AddSpecialEffectTargetUnitBJ( "head", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\BloodElfSpellThiefBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
else
endif
call RemoveLocation(udg_Pos)
call RemoveRect(udg_TempRect)
set udg_A = udg_A + 1
endloop
set udg_A = 0
loop
exitwhen udg_A > 4
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 900.00 + ( 195.00 * I2R(udg_A) ) ), udg_Facing[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 32.00, 200.00)
if ( Trig_Shotgun_Func014Func002Func003C() ) then
call PlaySoundOnUnitBJ( gg_snd_headshot, 100, GetSpellAbilityUnit() )
call UnitDamageTargetBJ( GetSpellAbilityUnit(), GetEnumUnit(), 9999.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call PlaySoundAtPointBJ( gg_snd_MetalHeavyBashMetal3, 100, udg_Pos2, 10.00 )
call CreateTextTagUnitBJ( ( "Headshot" + "!" ), GetSpellAbilityUnit(), 10.00, 20.00, 100, 0.00, 0.00, 0 )
call SetTextTagVelocityBJ( GetLastCreatedTextTag(), 64, 90 )
call SetTextTagPermanentBJ( GetLastCreatedTextTag(), false )
call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 5 )
call SetTextTagFadepointBJ( GetLastCreatedTextTag(), 3.00 )
else
endif
call RemoveLocation(udg_Pos)
call RemoveRect(udg_TempRect)
set udg_A = udg_A + 1
endloop
endfunction
function Trig_Shotgun_Actions takes nothing returns nothing
set udg_Facing[GetConvertedPlayerId(GetTriggerPlayer())] = GetUnitFacing(udg_Hero[GetConvertedPlayerId(GetTriggerPlayer())])
call PlaySoundOnUnitBJ( gg_snd_RiflemanReady1, 100, GetTriggerUnit() )
call SetPlayerStateBJ( GetOwningPlayer(GetSpellAbilityUnit()), PLAYER_STATE_RESOURCE_LUMBER, ( GetPlayerState(Player(0), PLAYER_STATE_RESOURCE_LUMBER) - 1 ) )
call StartTimerBJ( udg_Timerattack[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))], false, 0.02 )
call DestroyEffectBJ( udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] )
call AddSpecialEffectTargetUnitBJ( "head", GetSpellAbilityUnit(), "Abilities\\Weapons\\GyroCopter\\GyroCopterImpact.mdl" )
set udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] = GetLastCreatedEffectBJ()
set udg_Pos2 = GetUnitLoc(GetSpellAbilityUnit())
set udg_A = 0
loop
exitwhen udg_A > 2
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 100.00 + ( 550.00 * I2R(udg_A) ) ), udg_Facing[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))])
call AddSpecialEffectLocBJ( udg_Pos, "Abilities\\Weapons\\Rifle\\RifleImpact.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveLocation(udg_Pos)
set udg_A = udg_A + 1
endloop
call PlaySoundAtPointBJ( gg_snd_MetalHeavyBashMetal2, 100, udg_Pos2, 10.00 )
call SetPlayerAbilityAvailableBJ( false, 'A001', GetOwningPlayer(GetSpellAbilityUnit()) )
if ( Trig_Shotgun_Func012C() ) then
set udg_N = 7
loop
exitwhen udg_N > 12
set udg_A = 0
loop
exitwhen udg_A > 7
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 100.00 + ( 195.00 * I2R(udg_A) ) ), udg_Facing[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 200.00)
if ( Trig_Shotgun_Func012Func001Func001Func003C() ) then
call UnitAddAbilityBJ( 'A02Z', udg_Hero[udg_N] )
call IssueImmediateOrderBJ( udg_Hero[udg_N], "berserk" )
call UnitRemoveAbilityBJ( 'A02Z', udg_Hero[udg_N] )
call UnitDamageTargetBJ( GetSpellAbilityUnit(), udg_Hero[udg_N], 20.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
set udg_ShotgunSlow[udg_N] = 1
if ( Trig_Shotgun_Func012Func001Func001Func003Func006C() ) then
if ( Trig_Shotgun_Func012Func001Func001Func003Func006Func002C() ) then
set udg_SpeedEx[udg_N] = ( udg_SpeedEx[udg_N] - 1 )
else
endif
if ( Trig_Shotgun_Func012Func001Func001Func003Func006Func003C() ) then
set udg_Hero_Movement_Speed[udg_N] = .32491250
else
set udg_Hero_Movement_Speed[udg_N] = .23826917
endif
else
set udg_SpeedEx[udg_N] = ( udg_SpeedEx[udg_N] - 1 )
endif
call AddSpecialEffectTargetUnitBJ( "head", udg_Hero[udg_N], "Objects\\Spawnmodels\\Human\\HumanBlood\\BloodElfSpellThiefBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
else
endif
call RemoveLocation(udg_Pos)
call RemoveRect(udg_TempRect)
set udg_A = udg_A + 1
endloop
set udg_A = 0
loop
exitwhen udg_A > 4
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 900.00 + ( 195.00 * I2R(udg_A) ) ), udg_Facing[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 19.00, 200.00)
if ( Trig_Shotgun_Func012Func001Func002Func003C() ) then
call PlaySoundOnUnitBJ( gg_snd_headshot, 100, GetSpellAbilityUnit() )
call UnitDamageTargetBJ( GetSpellAbilityUnit(), udg_Hero[udg_N], 9999.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call PlaySoundAtPointBJ( gg_snd_MetalHeavyBashMetal3, 100, udg_Pos2, 10.00 )
call CreateTextTagUnitBJ( ( "Headshot" + "!" ), GetSpellAbilityUnit(), 10.00, 20.00, 100, 0.00, 0.00, 0 )
call SetTextTagVelocityBJ( GetLastCreatedTextTag(), 64, 90 )
call SetTextTagPermanentBJ( GetLastCreatedTextTag(), false )
call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 5 )
call SetTextTagFadepointBJ( GetLastCreatedTextTag(), 3.00 )
else
endif
call RemoveLocation(udg_Pos)
call RemoveRect(udg_TempRect)
set udg_A = udg_A + 1
endloop
set udg_N = udg_N + 1
endloop
call PolledWait( 2.20 )
call SetPlayerAbilityAvailableBJ( true, 'A001', GetOwningPlayer(GetSpellAbilityUnit()) )
set udg_N = 7
loop
exitwhen udg_N > 12
if ( Trig_Shotgun_Func012Func008Func001C() ) then
set udg_ShotgunSlow[udg_N] = 0
if ( Trig_Shotgun_Func012Func008Func001Func002C() ) then
if ( Trig_Shotgun_Func012Func008Func001Func002Func002C() ) then
set udg_SpeedEx[udg_N] = ( udg_SpeedEx[udg_N] + 1 )
else
endif
if ( Trig_Shotgun_Func012Func008Func001Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_N] = .41155583
else
set udg_Hero_Movement_Speed[udg_N] = .32491250
endif
else
set udg_SpeedEx[udg_N] = ( udg_SpeedEx[udg_N] + 1 )
endif
else
endif
set udg_N = udg_N + 1
endloop
else
set udg_N = 1
loop
exitwhen udg_N > 6
set udg_A = 0
loop
exitwhen udg_A > 7
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 100.00 + ( 195.00 * I2R(udg_A) ) ), udg_Facing[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 200.00)
if ( Trig_Shotgun_Func012Func002Func001Func003C() ) then
call UnitAddAbilityBJ( 'A02Z', udg_Hero[udg_N] )
call IssueImmediateOrderBJ( udg_Hero[udg_N], "berserk" )
call UnitRemoveAbilityBJ( 'A02Z', udg_Hero[udg_N] )
call UnitDamageTargetBJ( GetSpellAbilityUnit(), udg_Hero[udg_N], 20.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
set udg_ShotgunSlow[udg_N] = 1
if ( Trig_Shotgun_Func012Func002Func001Func003Func006C() ) then
if ( Trig_Shotgun_Func012Func002Func001Func003Func006Func002C() ) then
set udg_SpeedEx[udg_N] = ( udg_SpeedEx[udg_N] - 1 )
else
endif
if ( Trig_Shotgun_Func012Func002Func001Func003Func006Func003C() ) then
set udg_Hero_Movement_Speed[udg_N] = .32491250
else
set udg_Hero_Movement_Speed[udg_N] = .23826917
endif
else
set udg_SpeedEx[udg_N] = ( udg_SpeedEx[udg_N] - 1 )
endif
call AddSpecialEffectTargetUnitBJ( "head", udg_Hero[udg_N], "Objects\\Spawnmodels\\Human\\HumanBlood\\BloodElfSpellThiefBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
else
endif
call RemoveLocation(udg_Pos)
call RemoveRect(udg_TempRect)
set udg_A = udg_A + 1
endloop
set udg_A = 0
loop
exitwhen udg_A > 4
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 900.00 + ( 195.00 * I2R(udg_A) ) ), udg_Facing[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 19.00, 200.00)
if ( Trig_Shotgun_Func012Func002Func002Func003C() ) then
call PlaySoundOnUnitBJ( gg_snd_headshot, 100, GetSpellAbilityUnit() )
call UnitDamageTargetBJ( GetSpellAbilityUnit(), udg_Hero[udg_N], 9999.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call PlaySoundAtPointBJ( gg_snd_MetalHeavyBashMetal3, 100, udg_Pos2, 10.00 )
call CreateTextTagUnitBJ( ( "Headshot" + "!" ), GetSpellAbilityUnit(), 10.00, 20.00, 100, 0.00, 0.00, 0 )
call SetTextTagVelocityBJ( GetLastCreatedTextTag(), 64, 90 )
call SetTextTagPermanentBJ( GetLastCreatedTextTag(), false )
call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 5 )
call SetTextTagFadepointBJ( GetLastCreatedTextTag(), 3.00 )
else
endif
call RemoveLocation(udg_Pos)
call RemoveRect(udg_TempRect)
set udg_A = udg_A + 1
endloop
set udg_N = udg_N + 1
endloop
call PolledWait( 2.20 )
call SetPlayerAbilityAvailableBJ( true, 'A001', GetOwningPlayer(GetSpellAbilityUnit()) )
set udg_N = 1
loop
exitwhen udg_N > 6
if ( Trig_Shotgun_Func012Func005Func001C() ) then
set udg_ShotgunSlow[udg_N] = 0
if ( Trig_Shotgun_Func012Func005Func001Func002C() ) then
if ( Trig_Shotgun_Func012Func005Func001Func002Func002C() ) then
set udg_SpeedEx[udg_N] = ( udg_SpeedEx[udg_N] + 1 )
else
endif
if ( Trig_Shotgun_Func012Func005Func001Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_N] = .41155583
else
set udg_Hero_Movement_Speed[udg_N] = .32491250
endif
else
set udg_SpeedEx[udg_N] = ( udg_SpeedEx[udg_N] + 1 )
endif
else
endif
set udg_N = udg_N + 1
endloop
endif
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Shotgun_Func014A )
call DestroyGroup (udg_Temp_group)
call RemoveLocation(udg_Pos2)
call DestroyEffectBJ( udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] )
endfunction
//===========================================================================
function InitTrig_Shotgun takes nothing returns nothing
set gg_trg_Shotgun = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Shotgun, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Shotgun, Condition( function Trig_Shotgun_Conditions ) )
call TriggerAddAction( gg_trg_Shotgun, function Trig_Shotgun_Actions )
endfunction
function Trig_Frost_Arrows_Loop_Func006Func003Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_Func006Func003Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_Func006Func003Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_Func006Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_Func006Func008Func004Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_Func006Func008Func004Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_Func006Func008Func004C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_Func006Func008C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_Func012Func003001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_Func012Func004001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_Func012Func010001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_Func012Func011001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_Func012A takes nothing returns nothing
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[1]) - 1 ) ) ), udg_Facing[1])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_Func012Func003001() ) then
call UnitDamageTargetBJ( udg_Hero[1], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_Func012Func004001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[1]) - 1 ) ) ), udg_Facing[1])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_Func012Func010001() ) then
call UnitDamageTargetBJ( udg_Hero[1], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_Func012Func011001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
endfunction
function Trig_Frost_Arrows_Loop_Func016Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_Func016Func001Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_Func016Func001Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_Func016Func001C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Hero[1])
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 464.00 * I2R(udg_Arrow[1]) ), udg_Facing[1])
call AddSpecialEffectLocBJ( udg_Pos, "Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissileTarget.mdl" )
set udg_FrostEffect1[udg_Arrow[1]] = GetLastCreatedEffectBJ()
call RemoveLocation(udg_Pos)
set udg_M = 7
loop
exitwhen udg_M > 12
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[1]) - 1 ) ) ), udg_Facing[1])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_Func006Func003C() ) then
call UnitDamageTargetBJ( udg_Hero[1], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_Func006Func003Func005C() ) then
if ( Trig_Frost_Arrows_Loop_Func006Func003Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_Func006Func003Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[1]) - 1 ) ) ), udg_Facing[1])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_Func006Func008C() ) then
call UnitDamageTargetBJ( udg_Hero[1], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
if ( Trig_Frost_Arrows_Loop_Func006Func008Func004C() ) then
if ( Trig_Frost_Arrows_Loop_Func006Func008Func004Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_Func006Func008Func004Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
set udg_FrostEffectBoolean[udg_M] = 1
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( GetTriggerUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_M = udg_M + 1
endloop
call DestroyEffectBJ( udg_FrostEffect1[( udg_Arrow[1] - 2 )] )
call DestroyEffectBJ( udg_FrostEffect1[( udg_Arrow[1] - 1 )] )
call DestroyEffectBJ( udg_FrostEffect1[udg_Arrow[1]] )
set udg_Arrow[1] = ( udg_Arrow[1] + 1 )
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Frost_Arrows_Loop_Func012A )
call DestroyGroup (udg_Temp_group)
call RemoveLocation(udg_Pos2)
call PolledWait( 2.25 )
set udg_M = 7
loop
exitwhen udg_M > 12
if ( Trig_Frost_Arrows_Loop_Func016Func001C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_Func016Func001Func002C() ) then
if ( Trig_Frost_Arrows_Loop_Func016Func001Func002Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_Func016Func001Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .41155583
else
set udg_Hero_Movement_Speed[udg_M] = .32491250
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
endif
else
endif
set udg_M = udg_M + 1
endloop
endfunction
//===========================================================================
function InitTrig_Frost_Arrows_Loop takes nothing returns nothing
set gg_trg_Frost_Arrows_Loop = CreateTrigger( )
call DisableTrigger( gg_trg_Frost_Arrows_Loop )
call TriggerRegisterTimerEventPeriodic( gg_trg_Frost_Arrows_Loop, 0.20 )
call TriggerAddAction( gg_trg_Frost_Arrows_Loop, function Trig_Frost_Arrows_Loop_Actions )
endfunction
function Trig_Frost_Arrows_Loop_2_Func006Func003Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_2_Func006Func003Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_2_Func006Func003Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_2_Func006Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_2_Func006Func008Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_2_Func006Func008Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_2_Func006Func008Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_2_Func006Func008C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_2_Func012Func003001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_2_Func012Func004001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_2_Func012Func010001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_2_Func012Func011001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_2_Func012A takes nothing returns nothing
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[2]) - 1 ) ) ), udg_Facing[2])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_2_Func012Func003001() ) then
call UnitDamageTargetBJ( udg_Hero[2], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_2_Func012Func004001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[2]) - 1 ) ) ), udg_Facing[2])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_2_Func012Func010001() ) then
call UnitDamageTargetBJ( udg_Hero[2], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_2_Func012Func011001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
endfunction
function Trig_Frost_Arrows_Loop_2_Func016Func001Func002Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_2_Func016Func001Func002Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .32491250) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_2_Func016Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_2_Func016Func001Func002C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_2_Func016Func001C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_2_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Hero[2])
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 464.00 * I2R(udg_Arrow[2]) ), udg_Facing[2])
call AddSpecialEffectLocBJ( udg_Pos, "Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissileTarget.mdl" )
set udg_FrostEffect2[udg_Arrow[2]] = GetLastCreatedEffectBJ()
call RemoveLocation(udg_Pos)
set udg_M = 7
loop
exitwhen udg_M > 12
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[2]) - 1 ) ) ), udg_Facing[2])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_2_Func006Func003C() ) then
call UnitDamageTargetBJ( udg_Hero[2], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_2_Func006Func003Func005C() ) then
if ( Trig_Frost_Arrows_Loop_2_Func006Func003Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_2_Func006Func003Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[2]) - 1 ) ) ), udg_Facing[2])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_2_Func006Func008C() ) then
call UnitDamageTargetBJ( udg_Hero[2], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_2_Func006Func008Func005C() ) then
if ( Trig_Frost_Arrows_Loop_2_Func006Func008Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_2_Func006Func008Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_M = udg_M + 1
endloop
call DestroyEffectBJ( udg_FrostEffect2[( udg_Arrow[2] - 2 )] )
call DestroyEffectBJ( udg_FrostEffect2[( udg_Arrow[2] - 1 )] )
call DestroyEffectBJ( udg_FrostEffect2[udg_Arrow[2]] )
set udg_Arrow[2] = ( udg_Arrow[2] + 1 )
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Frost_Arrows_Loop_2_Func012A )
call DestroyGroup (udg_Temp_group)
call RemoveLocation(udg_Pos2)
call PolledWait( 2.25 )
set udg_M = 7
loop
exitwhen udg_M > 12
if ( Trig_Frost_Arrows_Loop_2_Func016Func001C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_2_Func016Func001Func002C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_2_Func016Func001Func002Func002C() ) then
if ( Trig_Frost_Arrows_Loop_2_Func016Func001Func002Func002Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_2_Func016Func001Func002Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .41155583
else
set udg_Hero_Movement_Speed[udg_M] = .32491250
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
endif
else
endif
else
endif
set udg_M = udg_M + 1
endloop
endfunction
//===========================================================================
function InitTrig_Frost_Arrows_Loop_2 takes nothing returns nothing
set gg_trg_Frost_Arrows_Loop_2 = CreateTrigger( )
call DisableTrigger( gg_trg_Frost_Arrows_Loop_2 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Frost_Arrows_Loop_2, 0.20 )
call TriggerAddAction( gg_trg_Frost_Arrows_Loop_2, function Trig_Frost_Arrows_Loop_2_Actions )
endfunction
function Trig_Frost_Arrows_Loop_3_Func006Func003Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_3_Func006Func003Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_3_Func006Func003Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_3_Func006Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_3_Func006Func008Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <=.23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_3_Func006Func008Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .411555830 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_3_Func006Func008Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_3_Func006Func008C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_3_Func012Func003001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_3_Func012Func004001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_3_Func012Func010001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_3_Func012Func011001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_3_Func012A takes nothing returns nothing
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[3]) - 1 ) ) ), udg_Facing[3])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_3_Func012Func003001() ) then
call UnitDamageTargetBJ( udg_Hero[3], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_3_Func012Func004001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[3]) - 1 ) ) ), udg_Facing[3])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_3_Func012Func010001() ) then
call UnitDamageTargetBJ( udg_Hero[3], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_3_Func012Func011001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
endfunction
function Trig_Frost_Arrows_Loop_3_Func016Func001Func002Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_3_Func016Func001Func002Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_3_Func016Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_3_Func016Func001Func002C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_3_Func016Func001C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_3_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Hero[3])
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 464.00 * I2R(udg_Arrow[3]) ), udg_Facing[3])
call AddSpecialEffectLocBJ( udg_Pos, "Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissileTarget.mdl" )
set udg_FrostEffect3[udg_Arrow[3]] = GetLastCreatedEffectBJ()
call RemoveLocation(udg_Pos)
set udg_M = 7
loop
exitwhen udg_M > 12
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[3]) - 1 ) ) ), udg_Facing[3])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_3_Func006Func003C() ) then
call UnitDamageTargetBJ( udg_Hero[3], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_3_Func006Func003Func005C() ) then
if ( Trig_Frost_Arrows_Loop_3_Func006Func003Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_3_Func006Func003Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[3]) - 1 ) ) ), udg_Facing[3])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_3_Func006Func008C() ) then
call UnitDamageTargetBJ( udg_Hero[3], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_3_Func006Func008Func005C() ) then
if ( Trig_Frost_Arrows_Loop_3_Func006Func008Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_3_Func006Func008Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_M = udg_M + 1
endloop
call DestroyEffectBJ( udg_FrostEffect3[( udg_Arrow[3] - 2 )] )
call DestroyEffectBJ( udg_FrostEffect3[( udg_Arrow[3] - 1 )] )
call DestroyEffectBJ( udg_FrostEffect3[udg_Arrow[3]] )
set udg_Arrow[3] = ( udg_Arrow[3] + 1 )
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Frost_Arrows_Loop_3_Func012A )
call DestroyGroup (udg_Temp_group)
call RemoveLocation(udg_Pos2)
call PolledWait( 2.25 )
set udg_M = 7
loop
exitwhen udg_M > 12
if ( Trig_Frost_Arrows_Loop_3_Func016Func001C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_3_Func016Func001Func002C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_3_Func016Func001Func002Func002C() ) then
if ( Trig_Frost_Arrows_Loop_3_Func016Func001Func002Func002Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_3_Func016Func001Func002Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .41155583
else
set udg_Hero_Movement_Speed[udg_M] = .32491250
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
endif
else
endif
else
endif
set udg_M = udg_M + 1
endloop
endfunction
//===========================================================================
function InitTrig_Frost_Arrows_Loop_3 takes nothing returns nothing
set gg_trg_Frost_Arrows_Loop_3 = CreateTrigger( )
call DisableTrigger( gg_trg_Frost_Arrows_Loop_3 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Frost_Arrows_Loop_3, 0.20 )
call TriggerAddAction( gg_trg_Frost_Arrows_Loop_3, function Trig_Frost_Arrows_Loop_3_Actions )
endfunction
function Trig_Frost_Arrows_Loop_4_Func006Func003Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_4_Func006Func003Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_4_Func006Func003Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_4_Func006Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_4_Func006Func008Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_4_Func006Func008Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_4_Func006Func008Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_4_Func006Func008C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_4_Func012Func003001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_4_Func012Func004001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_4_Func012Func010001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_4_Func012Func011001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_4_Func012A takes nothing returns nothing
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[4]) - 1 ) ) ), udg_Facing[4])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_4_Func012Func003001() ) then
call UnitDamageTargetBJ( udg_Hero[4], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_4_Func012Func004001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[4]) - 1 ) ) ), udg_Facing[4])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_4_Func012Func010001() ) then
call UnitDamageTargetBJ( udg_Hero[4], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_4_Func012Func011001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
endfunction
function Trig_Frost_Arrows_Loop_4_Func016Func001Func002Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_4_Func016Func001Func002Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_4_Func016Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_4_Func016Func001Func002C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_4_Func016Func001C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_4_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Hero[4])
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 464.00 * I2R(udg_Arrow[4]) ), udg_Facing[4])
call AddSpecialEffectLocBJ( udg_Pos, "Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissileTarget.mdl" )
set udg_FrostEffect4[udg_Arrow[4]] = GetLastCreatedEffectBJ()
call RemoveLocation(udg_Pos)
set udg_M = 7
loop
exitwhen udg_M > 12
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[4]) - 1 ) ) ), udg_Facing[4])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_4_Func006Func003C() ) then
call UnitDamageTargetBJ( udg_Hero[4], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_4_Func006Func003Func005C() ) then
if ( Trig_Frost_Arrows_Loop_4_Func006Func003Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_4_Func006Func003Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[4]) - 1 ) ) ), udg_Facing[4])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_4_Func006Func008C() ) then
call UnitDamageTargetBJ( udg_Hero[4], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_4_Func006Func008Func005C() ) then
if ( Trig_Frost_Arrows_Loop_4_Func006Func008Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_4_Func006Func008Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_M = udg_M + 1
endloop
call DestroyEffectBJ( udg_FrostEffect4[( udg_Arrow[4] - 2 )] )
call DestroyEffectBJ( udg_FrostEffect4[( udg_Arrow[4] - 1 )] )
call DestroyEffectBJ( udg_FrostEffect4[udg_Arrow[4]] )
set udg_Arrow[4] = ( udg_Arrow[4] + 1 )
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Frost_Arrows_Loop_4_Func012A )
call DestroyGroup (udg_Temp_group)
call RemoveLocation(udg_Pos2)
call PolledWait( 2.25 )
set udg_M = 7
loop
exitwhen udg_M > 12
if ( Trig_Frost_Arrows_Loop_4_Func016Func001C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_4_Func016Func001Func002C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_4_Func016Func001Func002Func002C() ) then
if ( Trig_Frost_Arrows_Loop_4_Func016Func001Func002Func002Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_4_Func016Func001Func002Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .41155583
else
set udg_Hero_Movement_Speed[udg_M] = .32491250
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
endif
else
endif
else
endif
set udg_M = udg_M + 1
endloop
endfunction
//===========================================================================
function InitTrig_Frost_Arrows_Loop_4 takes nothing returns nothing
set gg_trg_Frost_Arrows_Loop_4 = CreateTrigger( )
call DisableTrigger( gg_trg_Frost_Arrows_Loop_4 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Frost_Arrows_Loop_4, 0.20 )
call TriggerAddAction( gg_trg_Frost_Arrows_Loop_4, function Trig_Frost_Arrows_Loop_4_Actions )
endfunction
function Trig_Frost_Arrows_Loop_5_Func006Func003Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_5_Func006Func003Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_5_Func006Func003Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_5_Func006Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_5_Func006Func008Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_5_Func006Func008Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_5_Func006Func008Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_5_Func006Func008C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_5_Func012Func003001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_5_Func012Func004001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_5_Func012Func010001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_5_Func012Func011001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_5_Func012A takes nothing returns nothing
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[5]) - 1 ) ) ), udg_Facing[5])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_5_Func012Func003001() ) then
call UnitDamageTargetBJ( udg_Hero[5], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_5_Func012Func004001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[5]) - 1 ) ) ), udg_Facing[5])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_5_Func012Func010001() ) then
call UnitDamageTargetBJ( udg_Hero[5], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_5_Func012Func011001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
endfunction
function Trig_Frost_Arrows_Loop_5_Func016Func001Func002Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_5_Func016Func001Func002Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_5_Func016Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_5_Func016Func001Func002C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_5_Func016Func001C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_5_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Hero[5])
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 464.00 * I2R(udg_Arrow[5]) ), udg_Facing[5])
call AddSpecialEffectLocBJ( udg_Pos, "Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissileTarget.mdl" )
set udg_FrostEffect5[udg_Arrow[5]] = GetLastCreatedEffectBJ()
call RemoveLocation(udg_Pos)
set udg_M = 7
loop
exitwhen udg_M > 12
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[5]) - 1 ) ) ), udg_Facing[5])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_5_Func006Func003C() ) then
call UnitDamageTargetBJ( udg_Hero[5], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_5_Func006Func003Func005C() ) then
if ( Trig_Frost_Arrows_Loop_5_Func006Func003Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_5_Func006Func003Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[5]) - 1 ) ) ), udg_Facing[5])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_5_Func006Func008C() ) then
call UnitDamageTargetBJ( udg_Hero[5], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_5_Func006Func008Func005C() ) then
if ( Trig_Frost_Arrows_Loop_5_Func006Func008Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_5_Func006Func008Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_M = udg_M + 1
endloop
call DestroyEffectBJ( udg_FrostEffect5[( udg_Arrow[5] - 2 )] )
call DestroyEffectBJ( udg_FrostEffect5[( udg_Arrow[5] - 1 )] )
call DestroyEffectBJ( udg_FrostEffect5[udg_Arrow[5]] )
set udg_Arrow[5] = ( udg_Arrow[5] + 1 )
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Frost_Arrows_Loop_5_Func012A )
call DestroyGroup (udg_Temp_group)
call RemoveLocation(udg_Pos2)
call PolledWait( 2.25 )
set udg_M = 7
loop
exitwhen udg_M > 12
if ( Trig_Frost_Arrows_Loop_5_Func016Func001C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_5_Func016Func001Func002C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_5_Func016Func001Func002Func002C() ) then
if ( Trig_Frost_Arrows_Loop_5_Func016Func001Func002Func002Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_5_Func016Func001Func002Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .41155583
else
set udg_Hero_Movement_Speed[udg_M] = .32491250
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
endif
else
endif
else
endif
set udg_M = udg_M + 1
endloop
endfunction
//===========================================================================
function InitTrig_Frost_Arrows_Loop_5 takes nothing returns nothing
set gg_trg_Frost_Arrows_Loop_5 = CreateTrigger( )
call DisableTrigger( gg_trg_Frost_Arrows_Loop_5 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Frost_Arrows_Loop_5, 0.20 )
call TriggerAddAction( gg_trg_Frost_Arrows_Loop_5, function Trig_Frost_Arrows_Loop_5_Actions )
endfunction
function Trig_Frost_Arrows_Loop_6_Func006Func003Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_6_Func006Func003Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_6_Func006Func003Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_6_Func006Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_6_Func006Func008Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_6_Func006Func008Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_6_Func006Func008Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_6_Func006Func008C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_6_Func012Func003001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_6_Func012Func004001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_6_Func012Func010001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_6_Func012Func011001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_6_Func012A takes nothing returns nothing
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[6]) - 1 ) ) ), udg_Facing[6])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_6_Func012Func003001() ) then
call UnitDamageTargetBJ( udg_Hero[6], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_6_Func012Func004001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[6]) - 1 ) ) ), udg_Facing[6])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_6_Func012Func010001() ) then
call UnitDamageTargetBJ( udg_Hero[6], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_6_Func012Func011001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
endfunction
function Trig_Frost_Arrows_Loop_6_Func016Func001Func002Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_6_Func016Func001Func002Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_6_Func016Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_6_Func016Func001Func002C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_6_Func016Func001C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_6_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Hero[6])
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 464.00 * I2R(udg_Arrow[6]) ), udg_Facing[6])
call AddSpecialEffectLocBJ( udg_Pos, "Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissileTarget.mdl" )
set udg_FrostEffect6[udg_Arrow[6]] = GetLastCreatedEffectBJ()
call RemoveLocation(udg_Pos)
set udg_M = 7
loop
exitwhen udg_M > 12
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[6]) - 1 ) ) ), udg_Facing[6])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_6_Func006Func003C() ) then
call UnitDamageTargetBJ( udg_Hero[6], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_6_Func006Func003Func005C() ) then
if ( Trig_Frost_Arrows_Loop_6_Func006Func003Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_6_Func006Func003Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[6]) - 1 ) ) ), udg_Facing[6])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_6_Func006Func008C() ) then
call UnitDamageTargetBJ( udg_Hero[6], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_6_Func006Func008Func005C() ) then
if ( Trig_Frost_Arrows_Loop_6_Func006Func008Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_6_Func006Func008Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_M = udg_M + 1
endloop
call DestroyEffectBJ( udg_FrostEffect6[( udg_Arrow[6] - 2 )] )
call DestroyEffectBJ( udg_FrostEffect6[( udg_Arrow[6] - 1 )] )
call DestroyEffectBJ( udg_FrostEffect6[udg_Arrow[6]] )
set udg_Arrow[6] = ( udg_Arrow[6] + 1 )
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Frost_Arrows_Loop_6_Func012A )
call DestroyGroup (udg_Temp_group)
call RemoveLocation(udg_Pos2)
call PolledWait( 2.25 )
set udg_M = 7
loop
exitwhen udg_M > 12
if ( Trig_Frost_Arrows_Loop_6_Func016Func001C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_6_Func016Func001Func002C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_6_Func016Func001Func002Func002C() ) then
if ( Trig_Frost_Arrows_Loop_6_Func016Func001Func002Func002Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_6_Func016Func001Func002Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .41155583
else
set udg_Hero_Movement_Speed[udg_M] = .32491250
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
endif
else
endif
else
endif
set udg_M = udg_M + 1
endloop
endfunction
//===========================================================================
function InitTrig_Frost_Arrows_Loop_6 takes nothing returns nothing
set gg_trg_Frost_Arrows_Loop_6 = CreateTrigger( )
call DisableTrigger( gg_trg_Frost_Arrows_Loop_6 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Frost_Arrows_Loop_6, 0.20 )
call TriggerAddAction( gg_trg_Frost_Arrows_Loop_6, function Trig_Frost_Arrows_Loop_6_Actions )
endfunction
function Trig_Frost_Arrows_Loop_7_Func006Func003Func006Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_7_Func006Func003Func006Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_7_Func006Func003Func006C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_7_Func006Func003C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_7_Func006Func008Func006Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_7_Func006Func008Func006Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_7_Func006Func008Func006C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_7_Func006Func008C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_7_Func012Func003001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_7_Func012Func004001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_7_Func012Func010001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_7_Func012Func011001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_7_Func012A takes nothing returns nothing
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[7]) - 1 ) ) ), udg_Facing[7])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_7_Func012Func003001() ) then
call UnitDamageTargetBJ( udg_Hero[7], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_7_Func012Func004001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[7]) - 1 ) ) ), udg_Facing[7])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_7_Func012Func010001() ) then
call UnitDamageTargetBJ( udg_Hero[7], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_7_Func012Func011001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
endfunction
function Trig_Frost_Arrows_Loop_7_Func016Func001Func002Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_7_Func016Func001Func002Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_7_Func016Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_7_Func016Func001Func002C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_7_Func016Func001C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_7_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Hero[7])
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 464.00 * I2R(udg_Arrow[7]) ), udg_Facing[7])
call AddSpecialEffectLocBJ( udg_Pos, "Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissileTarget.mdl" )
set udg_FrostEffect7[udg_Arrow[7]] = GetLastCreatedEffectBJ()
call RemoveLocation(udg_Pos)
set udg_M = 1
loop
exitwhen udg_M > 6
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[7]) - 1 ) ) ), udg_Facing[7])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_7_Func006Func003C() ) then
call UnitDamageTargetBJ( udg_Hero[7], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_7_Func006Func003Func006C() ) then
if ( Trig_Frost_Arrows_Loop_7_Func006Func003Func006Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_7_Func006Func003Func006Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[7]) - 1 ) ) ), udg_Facing[7])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_7_Func006Func008C() ) then
call UnitDamageTargetBJ( udg_Hero[7], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_7_Func006Func008Func006C() ) then
if ( Trig_Frost_Arrows_Loop_7_Func006Func008Func006Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_7_Func006Func008Func006Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_M = udg_M + 1
endloop
call DestroyEffectBJ( udg_FrostEffect7[( udg_Arrow[7] - 2 )] )
call DestroyEffectBJ( udg_FrostEffect7[( udg_Arrow[7] - 1 )] )
call DestroyEffectBJ( udg_FrostEffect7[udg_Arrow[7]] )
set udg_Arrow[7] = ( udg_Arrow[7] + 1 )
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Frost_Arrows_Loop_7_Func012A )
call DestroyGroup (udg_Temp_group)
call RemoveLocation(udg_Pos2)
call PolledWait( 2.25 )
set udg_M = 1
loop
exitwhen udg_M > 6
if ( Trig_Frost_Arrows_Loop_7_Func016Func001C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_7_Func016Func001Func002C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_7_Func016Func001Func002Func002C() ) then
if ( Trig_Frost_Arrows_Loop_7_Func016Func001Func002Func002Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_7_Func016Func001Func002Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .41155583
else
set udg_Hero_Movement_Speed[udg_M] = .32491250
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
endif
else
endif
else
endif
set udg_M = udg_M + 1
endloop
endfunction
//===========================================================================
function InitTrig_Frost_Arrows_Loop_7 takes nothing returns nothing
set gg_trg_Frost_Arrows_Loop_7 = CreateTrigger( )
call DisableTrigger( gg_trg_Frost_Arrows_Loop_7 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Frost_Arrows_Loop_7, 0.20 )
call TriggerAddAction( gg_trg_Frost_Arrows_Loop_7, function Trig_Frost_Arrows_Loop_7_Actions )
endfunction
function Trig_Frost_Arrows_Loop_8_Func006Func003Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_8_Func006Func003Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_8_Func006Func003Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_8_Func006Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_8_Func006Func008Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_8_Func006Func008Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_8_Func006Func008Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_8_Func006Func008C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_8_Func012Func003001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_8_Func012Func004001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_8_Func012Func010001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_8_Func012Func011001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_8_Func012A takes nothing returns nothing
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[8]) - 1 ) ) ), udg_Facing[8])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_8_Func012Func003001() ) then
call UnitDamageTargetBJ( udg_Hero[8], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_8_Func012Func004001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[8]) - 1 ) ) ), udg_Facing[8])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_8_Func012Func010001() ) then
call UnitDamageTargetBJ( udg_Hero[8], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_8_Func012Func011001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
endfunction
function Trig_Frost_Arrows_Loop_8_Func016Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_8_Func016Func001Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_8_Func016Func001Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_8_Func016Func001C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_8_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Hero[8])
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 464.00 * I2R(udg_Arrow[8]) ), udg_Facing[8])
call AddSpecialEffectLocBJ( udg_Pos, "Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissileTarget.mdl" )
set udg_FrostEffect8[udg_Arrow[8]] = GetLastCreatedEffectBJ()
call RemoveLocation(udg_Pos)
set udg_M = 1
loop
exitwhen udg_M > 6
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[8]) - 1 ) ) ), udg_Facing[8])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_8_Func006Func003C() ) then
call UnitDamageTargetBJ( udg_Hero[8], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_8_Func006Func003Func005C() ) then
if ( Trig_Frost_Arrows_Loop_8_Func006Func003Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_8_Func006Func003Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[8]) - 1 ) ) ), udg_Facing[8])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_8_Func006Func008C() ) then
call UnitDamageTargetBJ( udg_Hero[8], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_8_Func006Func008Func005C() ) then
if ( Trig_Frost_Arrows_Loop_8_Func006Func008Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_8_Func006Func008Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_M = udg_M + 1
endloop
call DestroyEffectBJ( udg_FrostEffect8[( udg_Arrow[8] - 2 )] )
call DestroyEffectBJ( udg_FrostEffect8[( udg_Arrow[8] - 1 )] )
call DestroyEffectBJ( udg_FrostEffect8[udg_Arrow[8]] )
set udg_Arrow[8] = ( udg_Arrow[8] + 1 )
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Frost_Arrows_Loop_8_Func012A )
call DestroyGroup (udg_Temp_group)
call RemoveLocation(udg_Pos2)
call PolledWait( 2.25 )
set udg_M = 1
loop
exitwhen udg_M > 6
if ( Trig_Frost_Arrows_Loop_8_Func016Func001C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_8_Func016Func001Func002C() ) then
if ( Trig_Frost_Arrows_Loop_8_Func016Func001Func002Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_8_Func016Func001Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .41155583
else
set udg_Hero_Movement_Speed[udg_M] = .32491250
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
endif
else
endif
set udg_M = udg_M + 1
endloop
endfunction
//===========================================================================
function InitTrig_Frost_Arrows_Loop_8 takes nothing returns nothing
set gg_trg_Frost_Arrows_Loop_8 = CreateTrigger( )
call DisableTrigger( gg_trg_Frost_Arrows_Loop_8 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Frost_Arrows_Loop_8, 0.20 )
call TriggerAddAction( gg_trg_Frost_Arrows_Loop_8, function Trig_Frost_Arrows_Loop_8_Actions )
endfunction
function Trig_Frost_Arrows_Loop_9_Func006Func003Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_9_Func006Func003Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 )) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_9_Func006Func003Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_9_Func006Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_9_Func006Func008Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_9_Func006Func008Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_9_Func006Func008Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_9_Func006Func008C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_9_Func012Func003001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_9_Func012Func004001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_9_Func012Func010001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_9_Func012Func011001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_9_Func012A takes nothing returns nothing
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[9]) - 1 ) ) ), udg_Facing[9])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_9_Func012Func003001() ) then
call UnitDamageTargetBJ( udg_Hero[9], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_9_Func012Func004001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[9]) - 1 ) ) ), udg_Facing[9])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_9_Func012Func010001() ) then
call UnitDamageTargetBJ( udg_Hero[9], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_9_Func012Func011001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
endfunction
function Trig_Frost_Arrows_Loop_9_Func016Func001Func002Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_9_Func016Func001Func002Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .32491250) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_9_Func016Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_9_Func016Func001Func002C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_9_Func016Func001C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_9_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Hero[9])
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 464.00 * I2R(udg_Arrow[9]) ), udg_Facing[9])
call AddSpecialEffectLocBJ( udg_Pos, "Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissileTarget.mdl" )
set udg_FrostEffect9[udg_Arrow[9]] = GetLastCreatedEffectBJ()
call RemoveLocation(udg_Pos)
set udg_M = 1
loop
exitwhen udg_M > 6
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[9]) - 1 ) ) ), udg_Facing[9])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_9_Func006Func003C() ) then
call UnitDamageTargetBJ( udg_Hero[9], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_9_Func006Func003Func005C() ) then
if ( Trig_Frost_Arrows_Loop_9_Func006Func003Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_9_Func006Func003Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[9]) - 1 ) ) ), udg_Facing[9])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_9_Func006Func008C() ) then
call UnitDamageTargetBJ( udg_Hero[9], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_9_Func006Func008Func005C() ) then
if ( Trig_Frost_Arrows_Loop_9_Func006Func008Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_9_Func006Func008Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_M = udg_M + 1
endloop
call DestroyEffectBJ( udg_FrostEffect9[( udg_Arrow[9] - 2 )] )
call DestroyEffectBJ( udg_FrostEffect9[( udg_Arrow[9] - 1 )] )
call DestroyEffectBJ( udg_FrostEffect9[udg_Arrow[9]] )
set udg_Arrow[9] = ( udg_Arrow[9] + 1 )
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Frost_Arrows_Loop_9_Func012A )
call DestroyGroup (udg_Temp_group)
call RemoveLocation(udg_Pos2)
call PolledWait( 2.25 )
set udg_M = 1
loop
exitwhen udg_M > 6
if ( Trig_Frost_Arrows_Loop_9_Func016Func001C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_9_Func016Func001Func002C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_9_Func016Func001Func002Func002C() ) then
if ( Trig_Frost_Arrows_Loop_9_Func016Func001Func002Func002Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_9_Func016Func001Func002Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .41155583
else
set udg_Hero_Movement_Speed[udg_M] = .32491250
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
endif
else
endif
else
endif
set udg_M = udg_M + 1
endloop
endfunction
//===========================================================================
function InitTrig_Frost_Arrows_Loop_9 takes nothing returns nothing
set gg_trg_Frost_Arrows_Loop_9 = CreateTrigger( )
call DisableTrigger( gg_trg_Frost_Arrows_Loop_9 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Frost_Arrows_Loop_9, 0.20 )
call TriggerAddAction( gg_trg_Frost_Arrows_Loop_9, function Trig_Frost_Arrows_Loop_9_Actions )
endfunction
function Trig_Frost_Arrows_Loop_10_Func006Func003Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_10_Func006Func003Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_10_Func006Func003Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_10_Func006Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_10_Func006Func008Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_10_Func006Func008Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_10_Func006Func008Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_10_Func006Func008C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_10_Func012Func003001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_10_Func012Func004001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_10_Func012Func010001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_10_Func012Func011001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_10_Func012A takes nothing returns nothing
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[10]) - 1 ) ) ), udg_Facing[10])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_10_Func012Func003001() ) then
call UnitDamageTargetBJ( udg_Hero[10], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_10_Func012Func004001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[10]) - 1 ) ) ), udg_Facing[10])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_10_Func012Func010001() ) then
call UnitDamageTargetBJ( udg_Hero[10], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_10_Func012Func011001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
endfunction
function Trig_Frost_Arrows_Loop_10_Func016Func001Func002Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_10_Func016Func001Func002Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_10_Func016Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_10_Func016Func001Func002C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_10_Func016Func001C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_10_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Hero[10])
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 464.00 * I2R(udg_Arrow[10]) ), udg_Facing[10])
call AddSpecialEffectLocBJ( udg_Pos, "Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissileTarget.mdl" )
set udg_FrostEffect10[udg_Arrow[10]] = GetLastCreatedEffectBJ()
call RemoveLocation(udg_Pos)
set udg_M = 1
loop
exitwhen udg_M > 6
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[10]) - 1 ) ) ), udg_Facing[10])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_10_Func006Func003C() ) then
call UnitDamageTargetBJ( udg_Hero[10], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_10_Func006Func003Func005C() ) then
if ( Trig_Frost_Arrows_Loop_10_Func006Func003Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_10_Func006Func003Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[10]) - 1 ) ) ), udg_Facing[10])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_10_Func006Func008C() ) then
call UnitDamageTargetBJ( udg_Hero[10], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_10_Func006Func008Func005C() ) then
if ( Trig_Frost_Arrows_Loop_10_Func006Func008Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_10_Func006Func008Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_M = udg_M + 1
endloop
call DestroyEffectBJ( udg_FrostEffect10[( udg_Arrow[10] - 2 )] )
call DestroyEffectBJ( udg_FrostEffect10[( udg_Arrow[10] - 1 )] )
call DestroyEffectBJ( udg_FrostEffect10[udg_Arrow[10]] )
set udg_Arrow[10] = ( udg_Arrow[10] + 1 )
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Frost_Arrows_Loop_10_Func012A )
call DestroyGroup (udg_Temp_group)
call RemoveLocation(udg_Pos2)
call PolledWait( 2.25 )
set udg_M = 1
loop
exitwhen udg_M > 6
if ( Trig_Frost_Arrows_Loop_10_Func016Func001C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_10_Func016Func001Func002C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_10_Func016Func001Func002Func002C() ) then
if ( Trig_Frost_Arrows_Loop_10_Func016Func001Func002Func002Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_10_Func016Func001Func002Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .41155583
else
set udg_Hero_Movement_Speed[udg_M] = .32491250
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
endif
else
endif
else
endif
set udg_M = udg_M + 1
endloop
endfunction
//===========================================================================
function InitTrig_Frost_Arrows_Loop_10 takes nothing returns nothing
set gg_trg_Frost_Arrows_Loop_10 = CreateTrigger( )
call DisableTrigger( gg_trg_Frost_Arrows_Loop_10 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Frost_Arrows_Loop_10, 0.20 )
call TriggerAddAction( gg_trg_Frost_Arrows_Loop_10, function Trig_Frost_Arrows_Loop_10_Actions )
endfunction
function Trig_Frost_Arrows_Loop_11_Func006Func003Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_11_Func006Func003Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_11_Func006Func003Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_11_Func006Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_11_Func006Func008Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_11_Func006Func008Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_11_Func006Func008Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_11_Func006Func008C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_11_Func012Func003001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_11_Func012Func004001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_11_Func012Func010001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_11_Func012Func011001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_11_Func012A takes nothing returns nothing
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[11]) - 1 ) ) ), udg_Facing[11])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_11_Func012Func003001() ) then
call UnitDamageTargetBJ( udg_Hero[11], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_11_Func012Func004001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[11]) - 1 ) ) ), udg_Facing[11])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_11_Func012Func010001() ) then
call UnitDamageTargetBJ( udg_Hero[11], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_11_Func012Func011001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
endfunction
function Trig_Frost_Arrows_Loop_11_Func016Func001Func002Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_11_Func016Func001Func002Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_11_Func016Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_11_Func016Func001Func002C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_11_Func016Func001C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_11_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Hero[11])
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 464.00 * I2R(udg_Arrow[11]) ), udg_Facing[11])
call AddSpecialEffectLocBJ( udg_Pos, "Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissileTarget.mdl" )
set udg_FrostEffect11[udg_Arrow[11]] = GetLastCreatedEffectBJ()
call RemoveLocation(udg_Pos)
set udg_M = 1
loop
exitwhen udg_M > 6
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[11]) - 1 ) ) ), udg_Facing[11])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_11_Func006Func003C() ) then
call UnitDamageTargetBJ( udg_Hero[11], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_11_Func006Func003Func005C() ) then
if ( Trig_Frost_Arrows_Loop_11_Func006Func003Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_11_Func006Func003Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[11]) - 1 ) ) ), udg_Facing[11])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_11_Func006Func008C() ) then
call UnitDamageTargetBJ( udg_Hero[11], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_11_Func006Func008Func005C() ) then
if ( Trig_Frost_Arrows_Loop_11_Func006Func008Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_11_Func006Func008Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_M = udg_M + 1
endloop
call DestroyEffectBJ( udg_FrostEffect11[( udg_Arrow[11] - 2 )] )
call DestroyEffectBJ( udg_FrostEffect11[( udg_Arrow[11] - 1 )] )
call DestroyEffectBJ( udg_FrostEffect11[udg_Arrow[11]] )
set udg_Arrow[11] = ( udg_Arrow[11] + 1 )
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Frost_Arrows_Loop_11_Func012A )
call DestroyGroup (udg_Temp_group)
call RemoveLocation(udg_Pos2)
call PolledWait( 2.25 )
set udg_M = 1
loop
exitwhen udg_M > 6
if ( Trig_Frost_Arrows_Loop_11_Func016Func001C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_11_Func016Func001Func002C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_11_Func016Func001Func002Func002C() ) then
if ( Trig_Frost_Arrows_Loop_11_Func016Func001Func002Func002Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_11_Func016Func001Func002Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .41155583
else
set udg_Hero_Movement_Speed[udg_M] = .32491250
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
endif
else
endif
else
endif
set udg_M = udg_M + 1
endloop
endfunction
//===========================================================================
function InitTrig_Frost_Arrows_Loop_11 takes nothing returns nothing
set gg_trg_Frost_Arrows_Loop_11 = CreateTrigger( )
call DisableTrigger( gg_trg_Frost_Arrows_Loop_11 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Frost_Arrows_Loop_11, 0.20 )
call TriggerAddAction( gg_trg_Frost_Arrows_Loop_11, function Trig_Frost_Arrows_Loop_11_Actions )
endfunction
function Trig_Frost_Arrows_Loop_12_Func006Func003Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_12_Func006Func003Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_12_Func006Func003Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_12_Func006Func003C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_12_Func006Func008Func005Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] <= .23826917 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_12_Func006Func008Func005Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_12_Func006Func008Func005C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_12_Func006Func008C takes nothing returns boolean
if ( not ( RectContainsUnit(udg_TempRect, udg_Hero[udg_M]) == true ) ) then
return false
endif
if ( not ( udg_FrostEffectBoolean[udg_M] != 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_12_Func012Func003001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_12_Func012Func004001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_12_Func012Func010001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_12_Func012Func011001 takes nothing returns boolean
return ( RectContainsUnit(udg_TempRect, GetEnumUnit()) == true )
endfunction
function Trig_Frost_Arrows_Loop_12_Func012A takes nothing returns nothing
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[12]) - 1 ) ) ), udg_Facing[12])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_12_Func012Func003001() ) then
call UnitDamageTargetBJ( udg_Hero[12], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_12_Func012Func004001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[12]) - 1 ) ) ), udg_Facing[12])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_12_Func012Func010001() ) then
call UnitDamageTargetBJ( udg_Hero[12], GetEnumUnit(), 12.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
else
call DoNothing( )
endif
if ( Trig_Frost_Arrows_Loop_12_Func012Func011001() ) then
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodPriest.mdl" )
else
call DoNothing( )
endif
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
endfunction
function Trig_Frost_Arrows_Loop_12_Func016Func001Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .41155583 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_12_Func016Func001Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[udg_M] >= .32491250 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_12_Func016Func001Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[udg_M] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_12_Func016Func001C takes nothing returns boolean
if ( not ( udg_FrostEffectBoolean[udg_M] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Frost_Arrows_Loop_12_Actions takes nothing returns nothing
set udg_Pos2 = GetUnitLoc(udg_Hero[12])
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 464.00 * I2R(udg_Arrow[12]) ), udg_Facing[12])
call AddSpecialEffectLocBJ( udg_Pos, "Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissileTarget.mdl" )
set udg_FrostEffect12[udg_Arrow[12]] = GetLastCreatedEffectBJ()
call RemoveLocation(udg_Pos)
set udg_M = 1
loop
exitwhen udg_M > 6
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 120.84 + ( 483.33 * ( I2R(udg_Arrow[12]) - 1 ) ) ), udg_Facing[12])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_12_Func006Func003C() ) then
call UnitDamageTargetBJ( udg_Hero[12], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_12_Func006Func003Func005C() ) then
if ( Trig_Frost_Arrows_Loop_12_Func006Func003Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_12_Func006Func003Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_Pos = PolarProjectionBJ(udg_Pos2, ( 362.51 + ( 483.33 * ( I2R(udg_Arrow[12]) - 1 ) ) ), udg_Facing[12])
set udg_TempRect = RectFromCenterSizeBJ(udg_Pos, 300.00, 120.84)
if ( Trig_Frost_Arrows_Loop_12_Func006Func008C() ) then
call UnitDamageTargetBJ( udg_Hero[12], udg_Hero[udg_M], 9.00, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "chest", udg_Hero[udg_M], "Objects\\Spawnmodels\\Orc\\Orcblood\\BattrollBlood.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_FrostEffectBoolean[udg_M] = 1
if ( Trig_Frost_Arrows_Loop_12_Func006Func008Func005C() ) then
if ( Trig_Frost_Arrows_Loop_12_Func006Func008Func005Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_12_Func006Func008Func005Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .32491250
else
set udg_Hero_Movement_Speed[udg_M] = .23826917
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] - 1 )
endif
call UnitAddAbilityBJ( 'A02V', udg_Hero[udg_M] )
call IssueImmediateOrderBJ( udg_Hero[udg_M], "berserk" )
call UnitRemoveAbilityBJ( 'A02V', udg_Hero[udg_M] )
else
endif
call RemoveRect(udg_TempRect)
call RemoveLocation(udg_Pos)
set udg_M = udg_M + 1
endloop
call DestroyEffectBJ( udg_FrostEffect12[( udg_Arrow[12] - 2 )] )
call DestroyEffectBJ( udg_FrostEffect12[( udg_Arrow[12] - 1 )] )
call DestroyEffectBJ( udg_FrostEffect12[udg_Arrow[12]] )
set udg_Arrow[12] = ( udg_Arrow[12] + 1 )
set udg_Temp_group = GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE))
call ForGroupBJ( udg_Temp_group, function Trig_Frost_Arrows_Loop_12_Func012A )
call DestroyGroup (udg_Temp_group)
call RemoveLocation(udg_Pos2)
call PolledWait( 2.25 )
set udg_M = 1
loop
exitwhen udg_M > 6
if ( Trig_Frost_Arrows_Loop_12_Func016Func001C() ) then
set udg_FrostEffectBoolean[udg_M] = 0
if ( Trig_Frost_Arrows_Loop_12_Func016Func001Func002C() ) then
if ( Trig_Frost_Arrows_Loop_12_Func016Func001Func002Func002C() ) then
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
else
endif
if ( Trig_Frost_Arrows_Loop_12_Func016Func001Func002Func003C() ) then
set udg_Hero_Movement_Speed[udg_M] = .41155583
else
set udg_Hero_Movement_Speed[udg_M] = .32491250
endif
else
set udg_SpeedEx[udg_M] = ( udg_SpeedEx[udg_M] + 1 )
endif
else
endif
set udg_M = udg_M + 1
endloop
endfunction
//===========================================================================
function InitTrig_Frost_Arrows_Loop_12 takes nothing returns nothing
set gg_trg_Frost_Arrows_Loop_12 = CreateTrigger( )
call DisableTrigger( gg_trg_Frost_Arrows_Loop_12 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Frost_Arrows_Loop_12, 0.20 )
call TriggerAddAction( gg_trg_Frost_Arrows_Loop_12, function Trig_Frost_Arrows_Loop_12_Actions )
endfunction
function Trig_Flying_Height_1_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A01C' ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_1_Func002Func017Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] <= 3.27 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_1_Func002Func017Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] >= 5.27 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_1_Func002Func017C takes nothing returns boolean
if ( not ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_1_Func002C takes nothing returns boolean
if ( not ( GetUnitFlyHeight(GetTriggerUnit()) == 175.00 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_1_Actions takes nothing returns nothing
call PlaySoundOnUnitBJ( gg_snd_DragonWhat1, 100, GetTriggerUnit() )
if ( Trig_Flying_Height_1_Func002C() ) then
call DestroyEffectBJ( udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] )
call AddSpecialEffectTargetUnitBJ( "hand,right", GetSpellAbilityUnit(), "Abilities\\Weapons\\DruidoftheTalonMissile\\DruidoftheTalonMissile.mdl" )
set udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] = GetLastCreatedEffectBJ()
set udg_GainHeight[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 0
set udg_DropHeight[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 0
call SetPlayerAbilityAvailableBJ( false, 'A01D', GetOwningPlayer(GetTriggerUnit()) )
call SetPlayerAbilityAvailableBJ( false, 'A01R', GetOwningPlayer(GetTriggerUnit()) )
call UnitAddAbilityBJ( 'A00A', GetTriggerUnit() )
call UnitRemoveAbilityBJ( 'A00A', GetTriggerUnit() )
call SetPlayerAbilityAvailableBJ( false, 'A01E', GetOwningPlayer(GetTriggerUnit()) )
call SetUnitFlyHeightBJ( GetTriggerUnit(), 75.00, 100.00 )
call PolledWait( 1.00 )
call SetPlayerAbilityAvailableBJ( true, 'A01E', GetOwningPlayer(GetTriggerUnit()) )
call SetPlayerAbilityAvailableBJ( true, 'A01R', GetOwningPlayer(GetTriggerUnit()) )
call UnitAddAbilityBJ( 'AHad', GetTriggerUnit() )
set udg_Headbuttdmg[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_Headbuttdmg[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] * 1.25 )
if ( Trig_Flying_Height_1_Func002Func017C() ) then
if ( Trig_Flying_Height_1_Func002Func017Func002C() ) then
set udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] - 1 )
else
endif
if ( Trig_Flying_Height_1_Func002Func017Func003C() ) then
set udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 5.27
else
set udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 3.27
endif
else
set udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] - 1 )
endif
set udg_Pos = GetUnitLoc(GetTriggerUnit())
call SetUnitPositionLoc( GetTriggerUnit(), udg_Pos )
call RemoveLocation(udg_Pos)
call DestroyEffectBJ( udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] )
else
endif
endfunction
//===========================================================================
function InitTrig_Flying_Height_1 takes nothing returns nothing
set gg_trg_Flying_Height_1 = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Flying_Height_1, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Flying_Height_1, Condition( function Trig_Flying_Height_1_Conditions ) )
call TriggerAddAction( gg_trg_Flying_Height_1, function Trig_Flying_Height_1_Actions )
endfunction
function Trig_Flying_Height_2_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A01B' ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_2_Func002Func017Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] >= 7.27 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_2_Func002Func017Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] >= 5.27 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_2_Func002Func017C takes nothing returns boolean
if ( not ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_2_Func002C takes nothing returns boolean
if ( not ( GetUnitFlyHeight(GetTriggerUnit()) == 75.00 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_2_Func003C takes nothing returns boolean
if ( not ( GetUnitFlyHeight(GetTriggerUnit()) == 175.00 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_2_Func004Func017Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] <= 3.27 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_2_Func004Func017Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] >= 7.27 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_2_Func004Func017C takes nothing returns boolean
if ( not ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_2_Func004C takes nothing returns boolean
if ( not ( GetUnitFlyHeight(GetTriggerUnit()) == 275.00 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_2_Actions takes nothing returns nothing
call PlaySoundOnUnitBJ( gg_snd_DragonWhat2, 100, GetTriggerUnit() )
if ( Trig_Flying_Height_2_Func002C() ) then
call DestroyEffectBJ( udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] )
call AddSpecialEffectTargetUnitBJ( "hand,right", GetSpellAbilityUnit(), "Abilities\\Weapons\\DruidoftheTalonMissile\\DruidoftheTalonMissile.mdl" )
set udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] = GetLastCreatedEffectBJ()
set udg_GainHeight[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 0
set udg_DropHeight[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 0
call UnitAddAbilityBJ( 'A00A', GetTriggerUnit() )
call UnitRemoveAbilityBJ( 'A00A', GetTriggerUnit() )
call SetPlayerAbilityAvailableBJ( false, 'A01E', GetOwningPlayer(GetTriggerUnit()) )
call SetPlayerAbilityAvailableBJ( false, 'A01R', GetOwningPlayer(GetTriggerUnit()) )
call SetUnitFlyHeightBJ( GetTriggerUnit(), 175.00, 100.00 )
call PolledWait( 1.00 )
call SetPlayerAbilityAvailableBJ( true, 'A01E', GetOwningPlayer(GetTriggerUnit()) )
call SetPlayerAbilityAvailableBJ( true, 'A01D', GetOwningPlayer(GetTriggerUnit()) )
call SetPlayerAbilityAvailableBJ( true, 'A01R', GetOwningPlayer(GetTriggerUnit()) )
call UnitRemoveAbilityBJ( 'AHad', GetTriggerUnit() )
set udg_Headbuttdmg[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_Headbuttdmg[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] * 0.80 )
if ( Trig_Flying_Height_2_Func002Func017C() ) then
if ( Trig_Flying_Height_2_Func002Func017Func002C() ) then
set udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + 1 )
else
endif
if ( Trig_Flying_Height_2_Func002Func017Func003C() ) then
set udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 7.27
else
set udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 5.27
endif
else
set udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + 1 )
endif
call DestroyEffectBJ( udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] )
else
endif
if ( Trig_Flying_Height_2_Func003C() ) then
call SetPlayerAbilityAvailableBJ( true, 'A01D', GetOwningPlayer(GetTriggerUnit()) )
call SetPlayerAbilityAvailableBJ( true, 'A01C', GetOwningPlayer(GetTriggerUnit()) )
else
endif
if ( Trig_Flying_Height_2_Func004C() ) then
call DestroyEffectBJ( udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] )
call AddSpecialEffectTargetUnitBJ( "hand,right", GetSpellAbilityUnit(), "Abilities\\Weapons\\DruidoftheTalonMissile\\DruidoftheTalonMissile.mdl" )
set udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] = GetLastCreatedEffectBJ()
set udg_GainHeight[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 0
set udg_DropHeight[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 0
call UnitAddAbilityBJ( 'A00A', GetTriggerUnit() )
call UnitRemoveAbilityBJ( 'A00A', GetTriggerUnit() )
call SetPlayerAbilityAvailableBJ( false, 'A01E', GetOwningPlayer(GetTriggerUnit()) )
call SetPlayerAbilityAvailableBJ( false, 'A01R', GetOwningPlayer(GetTriggerUnit()) )
call SetUnitFlyHeightBJ( GetTriggerUnit(), 175.00, 100.00 )
call PolledWait( 1.00 )
call SetPlayerAbilityAvailableBJ( true, 'A01E', GetOwningPlayer(GetTriggerUnit()) )
call SetPlayerAbilityAvailableBJ( true, 'A01C', GetOwningPlayer(GetTriggerUnit()) )
call SetPlayerAbilityAvailableBJ( true, 'A01R', GetOwningPlayer(GetTriggerUnit()) )
call UnitRemoveAbilityBJ( 'A01F', GetTriggerUnit() )
set udg_Headbuttdmg[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_Headbuttdmg[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] * ( 4.00 / 3.00 ) )
if ( Trig_Flying_Height_2_Func004Func017C() ) then
if ( Trig_Flying_Height_2_Func004Func017Func002C() ) then
set udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] - 1 )
else
endif
if ( Trig_Flying_Height_2_Func004Func017Func003C() ) then
set udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 5.27
else
set udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 3.27
endif
else
set udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] - 1 )
endif
set udg_Pos = GetUnitLoc(GetTriggerUnit())
call SetUnitPositionLoc( GetTriggerUnit(), udg_Pos )
call RemoveLocation(udg_Pos)
call DestroyEffectBJ( udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] )
else
endif
endfunction
//===========================================================================
function InitTrig_Flying_Height_2 takes nothing returns nothing
set gg_trg_Flying_Height_2 = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Flying_Height_2, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Flying_Height_2, Condition( function Trig_Flying_Height_2_Conditions ) )
call TriggerAddAction( gg_trg_Flying_Height_2, function Trig_Flying_Height_2_Actions )
endfunction
function Trig_Flying_Height_3_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A01D' ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_3_Func002Func017Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] >= 7.27 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_3_Func002Func017Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] >= 5.27) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_3_Func002Func017C takes nothing returns boolean
if ( not ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_3_Func002C takes nothing returns boolean
if ( not ( GetUnitFlyHeight(GetTriggerUnit()) == 175.00 ) ) then
return false
endif
return true
endfunction
function Trig_Flying_Height_3_Actions takes nothing returns nothing
call PlaySoundOnUnitBJ( gg_snd_DragonWhat3, 100, GetTriggerUnit() )
if ( Trig_Flying_Height_3_Func002C() ) then
call DestroyEffectBJ( udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] )
call AddSpecialEffectTargetUnitBJ( "hand,right", GetSpellAbilityUnit(), "Abilities\\Weapons\\DruidoftheTalonMissile\\DruidoftheTalonMissile.mdl" )
set udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] = GetLastCreatedEffectBJ()
set udg_GainHeight[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 0
set udg_DropHeight[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 0
call SetPlayerAbilityAvailableBJ( false, 'A01C', GetOwningPlayer(GetTriggerUnit()) )
call SetPlayerAbilityAvailableBJ( false, 'A01R', GetOwningPlayer(GetTriggerUnit()) )
call UnitAddAbilityBJ( 'A00A', GetTriggerUnit() )
call UnitRemoveAbilityBJ( 'A00A', GetTriggerUnit() )
call SetPlayerAbilityAvailableBJ( false, 'A01E', GetOwningPlayer(GetTriggerUnit()) )
call SetUnitFlyHeightBJ( GetTriggerUnit(), 275.00, 100.00 )
call PolledWait( 1.00 )
call SetPlayerAbilityAvailableBJ( true, 'A01E', GetOwningPlayer(GetTriggerUnit()) )
call SetPlayerAbilityAvailableBJ( true, 'A01R', GetOwningPlayer(GetTriggerUnit()) )
call UnitAddAbilityBJ( 'A01F', GetTriggerUnit() )
set udg_Headbuttdmg[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_Headbuttdmg[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] * 0.75 )
if ( Trig_Flying_Height_3_Func002Func017C() ) then
if ( Trig_Flying_Height_3_Func002Func017Func002C() ) then
set udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + 1 )
else
endif
if ( Trig_Flying_Height_3_Func002Func017Func003C() ) then
set udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 7.27
else
set udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 5.27
endif
else
set udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + 1 )
endif
set udg_Pos = GetUnitLoc(GetTriggerUnit())
call SetUnitPositionLoc( GetTriggerUnit(), udg_Pos )
call RemoveLocation(udg_Pos)
call DestroyEffectBJ( udg_AwesomeSpecial[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] )
else
endif
endfunction
//===========================================================================
function InitTrig_Flying_Height_3 takes nothing returns nothing
set gg_trg_Flying_Height_3 = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Flying_Height_3, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Flying_Height_3, Condition( function Trig_Flying_Height_3_Conditions ) )
call TriggerAddAction( gg_trg_Flying_Height_3, function Trig_Flying_Height_3_Actions )
endfunction
function Trig_Haste_Effect_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A03J' ) ) then
return false
endif
return true
endfunction
function Trig_Haste_Effect_Func002Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] >= 6.27 ) ) then
return false
endif
return true
endfunction
function Trig_Haste_Effect_Func002Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] >= 5.27) ) then
return false
endif
return true
endfunction
function Trig_Haste_Effect_Func002C takes nothing returns boolean
if ( not ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Haste_Effect_Func011Func002C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] <= 4.27 ) ) then
return false
endif
return true
endfunction
function Trig_Haste_Effect_Func011Func003C takes nothing returns boolean
if ( not ( udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] >= 6.27 ) ) then
return false
endif
return true
endfunction
function Trig_Haste_Effect_Func011C takes nothing returns boolean
if ( not ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Haste_Effect_Actions takes nothing returns nothing
call PlaySoundOnUnitBJ( gg_snd_SylvanasWhat2, 100, GetTriggerUnit() )
if ( Trig_Haste_Effect_Func002C() ) then
if ( Trig_Haste_Effect_Func002Func002C() ) then
set udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + 1 )
else
endif
if ( Trig_Haste_Effect_Func002Func003C() ) then
set udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 6.27
else
set udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 5.27
endif
else
set udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + 1 )
endif
call AddSpecialEffectTargetUnitBJ( "overhead", GetTriggerUnit(), "Abilities\\Spells\\Items\\AIsp\\SpeedTarget.mdl" )
set udg_Haste[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedEffectBJ()
call AddSpecialEffectTargetUnitBJ( "origin", GetTriggerUnit(), "Abilities\\Spells\\Items\\AIim\\AIimTarget.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call UnitAddAbilityBJ( 'A02S', GetTriggerUnit() )
call IssueImmediateOrderBJ( GetTriggerUnit(), "berserk" )
call UnitRemoveAbilityBJ( 'A02S', GetTriggerUnit() )
call PolledWait( 10.00 )
if ( Trig_Haste_Effect_Func011C() ) then
if ( Trig_Haste_Effect_Func011Func002C() ) then
set udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] - 1 )
else
endif
if ( Trig_Haste_Effect_Func011Func003C() ) then
set udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 5.27
else
set udg_Hero_Movement_Speed[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = 4.27
endif
else
set udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_SpeedEx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] - 1 )
endif
call DestroyEffectBJ( udg_Haste[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
endfunction
//===========================================================================
function InitTrig_Haste_Effect takes nothing returns nothing
set gg_trg_Haste_Effect = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Haste_Effect, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Haste_Effect, Condition( function Trig_Haste_Effect_Conditions ) )
call TriggerAddAction( gg_trg_Haste_Effect, function Trig_Haste_Effect_Actions )
endfunction
function Trig_Fertilizer_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'AIfr' ) ) then
return false
endif
return true
endfunction
function Trig_Fertilizer_Func002C takes nothing returns boolean
if ( GetLocationZ(udg_Ferpos[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))]) >= 38.50 ) then
return true
endif
return false
endfunction
function Trig_Fertilizer_Actions takes nothing returns nothing
call PlaySoundOnUnitBJ( gg_snd_TreeOfLifeGoldMineDeath1, 100, GetSpellAbilityUnit() )
set udg_Ferpos[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] = GetUnitLoc(GetSpellAbilityUnit())
if ( Trig_Fertilizer_Func002C() ) then
call StartTimerBJ( udg_Spell[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))], false, 0.02 )
call PolledWait( 2 )
call PlaySoundOnUnitBJ( gg_snd_TreeOfLifeGoldMineDeath1, 100, GetSpellAbilityUnit() )
call SetTerrainTypeBJ( udg_Ferpos[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))], 'Qcrp', 1, 1, 0 )
else
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), "TRIGSTR_1369" )
call PlaySoundOnUnitBJ( gg_snd_MapPing, 100, GetSpellAbilityUnit() )
call CreateItemLoc( 'I003', OffsetLocation(udg_Ferpos[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))], 200.00, 200.00) )
endif
call RemoveLocation(udg_Ferpos[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))])
endfunction
//===========================================================================
function InitTrig_Fertilizer takes nothing returns nothing
set gg_trg_Fertilizer = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Fertilizer, EVENT_PLAYER_UNIT_SPELL_FINISH )
call TriggerAddCondition( gg_trg_Fertilizer, Condition( function Trig_Fertilizer_Conditions ) )
call TriggerAddAction( gg_trg_Fertilizer, function Trig_Fertilizer_Actions )
endfunction
function Trig_Reticle_2_Func001001001 takes nothing returns boolean
return ( udg_FloatingBoolean[1] == 1 )
endfunction
function Trig_Reticle_2_Func001001002001 takes nothing returns boolean
return ( udg_FloatingBoolean[8] == 1 )
endfunction
function Trig_Reticle_2_Func001001002002001 takes nothing returns boolean
return ( udg_FloatingBoolean[9] == 1 )
endfunction
function Trig_Reticle_2_Func001001002002002001 takes nothing returns boolean
return ( udg_FloatingBoolean[10] == 1 )
endfunction
function Trig_Reticle_2_Func001001002002002002001 takes nothing returns boolean
return ( udg_FloatingBoolean[11] == 1 )
endfunction
function Trig_Reticle_2_Func001001002002002002002 takes nothing returns boolean
return ( udg_FloatingBoolean[12] == 1 )
endfunction
function Trig_Reticle_2_Func001001002002002002 takes nothing returns boolean
return GetBooleanOr( Trig_Reticle_2_Func001001002002002002001(), Trig_Reticle_2_Func001001002002002002002() )
endfunction
function Trig_Reticle_2_Func001001002002002 takes nothing returns boolean
return GetBooleanOr( Trig_Reticle_2_Func001001002002002001(), Trig_Reticle_2_Func001001002002002002() )
endfunction
function Trig_Reticle_2_Func001001002002 takes nothing returns boolean
return GetBooleanOr( Trig_Reticle_2_Func001001002002001(), Trig_Reticle_2_Func001001002002002() )
endfunction
function Trig_Reticle_2_Func001001002 takes nothing returns boolean
return GetBooleanOr( Trig_Reticle_2_Func001001002001(), Trig_Reticle_2_Func001001002002() )
endfunction
function Trig_Reticle_2_Func001001 takes nothing returns boolean
return GetBooleanOr( Trig_Reticle_2_Func001001001(), Trig_Reticle_2_Func001001002() )
endfunction
function Trig_Reticle_2_Func001002001 takes nothing returns boolean
return ( udg_FloatingBoolean[2] == 1 )
endfunction
function Trig_Reticle_2_Func001002002001 takes nothing returns boolean
return ( udg_FloatingBoolean[3] == 1 )
endfunction
function Trig_Reticle_2_Func001002002002001 takes nothing returns boolean
return ( udg_FloatingBoolean[4] == 1 )
endfunction
function Trig_Reticle_2_Func001002002002002001 takes nothing returns boolean
return ( udg_FloatingBoolean[5] == 1 )
endfunction
function Trig_Reticle_2_Func001002002002002002001 takes nothing returns boolean
return ( udg_FloatingBoolean[6] == 1 )
endfunction
function Trig_Reticle_2_Func001002002002002002002 takes nothing returns boolean
return ( udg_FloatingBoolean[7] == 1 )
endfunction
function Trig_Reticle_2_Func001002002002002002 takes nothing returns boolean
return GetBooleanOr( Trig_Reticle_2_Func001002002002002002001(), Trig_Reticle_2_Func001002002002002002002() )
endfunction
function Trig_Reticle_2_Func001002002002002 takes nothing returns boolean
return GetBooleanOr( Trig_Reticle_2_Func001002002002002001(), Trig_Reticle_2_Func001002002002002002() )
endfunction
function Trig_Reticle_2_Func001002002002 takes nothing returns boolean
return GetBooleanOr( Trig_Reticle_2_Func001002002002001(), Trig_Reticle_2_Func001002002002002() )
endfunction
function Trig_Reticle_2_Func001002002 takes nothing returns boolean
return GetBooleanOr( Trig_Reticle_2_Func001002002001(), Trig_Reticle_2_Func001002002002() )
endfunction
function Trig_Reticle_2_Func001002 takes nothing returns boolean
return GetBooleanOr( Trig_Reticle_2_Func001002001(), Trig_Reticle_2_Func001002002() )
endfunction
function Trig_Reticle_2_Conditions takes nothing returns boolean
if ( not GetBooleanOr( Trig_Reticle_2_Func001001(), Trig_Reticle_2_Func001002() ) ) then
return false
endif
return true
endfunction
function Trig_Reticle_2_Func002Func002C takes nothing returns boolean
if ( not ( udg_FloatingBoolean[udg_S2] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Reticle_2_Actions takes nothing returns nothing
set udg_S2 = 1
loop
exitwhen udg_S2 > 12
call DestroyTextTagBJ( udg_FloatingText[udg_S2] )
if ( Trig_Reticle_2_Func002Func002C() ) then
set udg_Pos2 = GetUnitLoc(udg_Hero[udg_S2])
set udg_Pos = PolarProjectionBJ(udg_Pos2, 256, udg_Facing[udg_S2])
call CreateTextTagLocBJ( "TRIGSTR_837", udg_Pos, udg_Reticleheight[udg_S2], 17.00, 100, 50.00, 50.00, 50.00 )
set udg_FloatingText[udg_S2] = GetLastCreatedTextTag()
call RemoveLocation(udg_Pos2)
call RemoveLocation(udg_Pos)
else
endif
set udg_S2 = udg_S2 + 1
endloop
endfunction
//===========================================================================
function InitTrig_Reticle_2 takes nothing returns nothing
set gg_trg_Reticle_2 = CreateTrigger( )
call DisableTrigger( gg_trg_Reticle_2 )
call TriggerRegisterTimerEventPeriodic( gg_trg_Reticle_2, 0.0404250)
call TriggerAddCondition( gg_trg_Reticle_2, Condition( function Trig_Reticle_2_Conditions ) )
call TriggerAddAction( gg_trg_Reticle_2, function Trig_Reticle_2_Actions )
endfunction