globals
group array udg_UT
endglobals
//====================================================
function First_Seq_Effects takes nothing returns nothing
local effect ef1
local effect ef2
set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 5335.5)
set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 5335.5)
call TriggerSleepAction(1.3)
call DestroyEffect(ef1)
call DestroyEffect(ef2)
set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 5185.5)
set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 5185.5)
call TriggerSleepAction(1.3)
call DestroyEffect(ef1)
call DestroyEffect(ef2)
set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 5035.5)
set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 5035.5)
call TriggerSleepAction(1.3)
call DestroyEffect(ef1)
call DestroyEffect(ef2)
set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 4885.5)
set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 4885.5)
call TriggerSleepAction(1.3)
call DestroyEffect(ef1)
call DestroyEffect(ef2)
set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 4735.5)
set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 4735.5)
call TriggerSleepAction(1.3)
call DestroyEffect(ef1)
call DestroyEffect(ef2)
set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 4585.5)
set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 4585.5)
call TriggerSleepAction(1.3)
call DestroyEffect(ef1)
call DestroyEffect(ef2)
set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 4435.5)
set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 4435.5)
call TriggerSleepAction(2.0)
call DestroyEffect(ef1)
call DestroyEffect(ef2)
set ef1 = null
set ef2 = null
call TriggerSleepAction(0.5)
call ExecuteFunc("Second_Seq_Effects")
endfunction
//====================================================
function Second_Seq_Effects takes nothing returns nothing
local unit eff1
local unit eff2
local unit eff3
local unit eff4
local unit eff5
local unit eff6
local unit eff7
local unit eff8
local unit eff9
local unit eff10
local unit eff11
local unit eff12
set eff1 = CreateUnit(Player(5),'h01N', -6260.0, 5335.5, 0.00)
call SetUnitAnimation(eff1, "stand second")
set eff2 = CreateUnit(Player(5),'h01N', -5775.5, 5335.5, 0.00)
call SetUnitAnimation(eff2, "stand second")
set eff3 = CreateUnit(Player(5),'h01N', -6260.0, 5185.5, 0.00)
call SetUnitAnimation(eff3, "stand second")
set eff4 = CreateUnit(Player(5),'h01N', -5775.5, 5185.5, 0.00)
call SetUnitAnimation(eff4, "stand second")
set eff5 = CreateUnit(Player(5),'h01N', -6260.0, 5035.5, 0.00)
call SetUnitAnimation(eff5, "stand second")
set eff6 = CreateUnit(Player(5),'h01N', -5775.5, 5035.5, 0.00)
call SetUnitAnimation(eff6, "stand second")
set eff7 = CreateUnit(Player(5),'h01N', -6260.0, 4885.5, 0.00)
call SetUnitAnimation(eff7, "stand second")
set eff8 = CreateUnit(Player(5),'h01N', -5775.5, 4885.5, 0.00)
call SetUnitAnimation(eff8, "stand second")
set eff9 = CreateUnit(Player(5),'h01N', -6260.0, 4735.5, 0.00)
call SetUnitAnimation(eff9, "stand second")
set eff10 = CreateUnit(Player(5),'h01N', -5775.5, 4735.5, 0.00)
call SetUnitAnimation(eff10, "stand second")
set eff11 = CreateUnit(Player(5),'h01N', -6260.0, 4585.5, 0.00)
call SetUnitAnimation(eff11, "stand second")
set eff12 = CreateUnit(Player(5),'h01N', -5775.5, 4585.5, 0.00)
call SetUnitAnimation(eff12, "stand second")
call TriggerSleepAction(7.0)
call KillUnit(eff1)
call KillUnit(eff2)
call KillUnit(eff3)
call KillUnit(eff4)
call KillUnit(eff5)
call KillUnit(eff6)
call KillUnit(eff7)
call KillUnit(eff8)
call KillUnit(eff9)
call KillUnit(eff10)
call KillUnit(eff11)
call KillUnit(eff12)
set eff1 = null
set eff2 = null
set eff3 = null
set eff4 = null
set eff5 = null
set eff6 = null
set eff7 = null
set eff8 = null
set eff9 = null
set eff10 = null
set eff11 = null
set eff12 = null
endfunction
//====================================================
function army_acts takes nothing returns nothing
local player P1 = Player(0)
local player P6 = Player(5)
local unit gate
local unit m1
local unit m2
local unit m3
local unit m4
local unit m5
local unit m6
local unit m7
local unit m8
local unit r1
local unit r2
local unit r3
local unit r4
local unit r5
local unit r6
local unit r7
local unit r8
local unit h1
local unit t = GetTrainedUnit()
local effect ef
call GroupAddUnit(udg_UT[0], t)
if CountUnitsInGroup(udg_UT[0]) == 2 then
call CameraSetTargetNoiseEx(10, 500000, true)
call CameraSetSourceNoiseEx(10, 500000, true)
set ef = AddSpecialEffect("Abilities\\Spells\\Human\\FlameStrike\\FlameStrikeTarget.mdl",-6030.5, 5450.5)
call TriggerSleepAction(1.0)
set gate = CreateUnit( P6, 'hprt', -6030.5, 5450.5, 270.0)
call SetUnitAnimation(gate, "birth")
call SetUnitTimeScale(gate, 85.00 * 0.01)
call TerrainDeformationRippleBJ( 7.50, false, Location(-6030.50, 5450.50), 100.00, 800.00, -150.00, 0.35, 1.00 )
call DestroyEffect(ef)
call DisplayTextToForce (bj_FORCE_ALL_PLAYERS, ( "The First Northrend Army arrived to aid |cffff0000" + ( GetPlayerName(P1) + "|r and his alliance !!!!! " ) ) )
call TriggerSleepAction(8.25)
call ExecuteFunc("First_Seq_Effects")
set h1 = CreateUnit(P6, 'H015', -6040.5, 5235.0, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -6040.5, 5235.0, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(h1, true)
call SetUnitMoveSpeed( h1, ( GetUnitDefaultMoveSpeed(h1)/2))
call IssuePointOrder(h1, "move", -6040.5, 4450.0)
call TriggerSleepAction (0.75)
set m1 = CreateUnit(P6, 'h00B', -6160.0, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -6161.0, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(m1, true)
call SetUnitMoveSpeed( m1, ( GetUnitDefaultMoveSpeed(m1)/2))
set m2 = CreateUnit(P6, 'h00B', -6065.3, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -6065.3, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(m2, true)
call SetUnitMoveSpeed( m2, ( GetUnitDefaultMoveSpeed(m2)/2 ))
set m3 = CreateUnit(P6, 'h00B', -5970.5, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -5973.5, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(m3, true)
call SetUnitMoveSpeed( m3, ( GetUnitDefaultMoveSpeed(m3) /2 ))
set m4 = CreateUnit(P6, 'h00B', -5875.5, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -5874.2, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(m4, true)
call SetUnitMoveSpeed( m4, ( GetUnitDefaultMoveSpeed(m4) /2))
call IssuePointOrder(m1, "move", -6160.0,4545.0)
call IssuePointOrder(m2, "move", -6065.3,4545.0)
call IssuePointOrder(m3, "move", -5970.5,4545.0)
call IssuePointOrder(m4, "move", -5875.2,4545.0)
call TriggerSleepAction(0.75)
set m5 = CreateUnit(P6, 'h00B', -6160.0, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -6161.0, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(m5, true)
call SetUnitMoveSpeed( m5, ( GetUnitDefaultMoveSpeed(m5)/2))
set m6 = CreateUnit(P6, 'h00B', -6065.0, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -6065.0, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(m6, true)
call SetUnitMoveSpeed( m6, ( GetUnitDefaultMoveSpeed(m6)/2 ))
set m7 = CreateUnit(P6, 'h00B', -5970.5, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -5970.5, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(m7, true)
call SetUnitMoveSpeed( m7, ( GetUnitDefaultMoveSpeed(m7) /2 ))
set m8 = CreateUnit(P6, 'h00B', -5875.0, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -5875.0, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(m8, true)
call SetUnitMoveSpeed( m8, ( GetUnitDefaultMoveSpeed(m8) /2))
call IssuePointOrder(m5, "move", -6161.0,4635.0)
call IssuePointOrder(m6, "move", -6065.3,4635.0)
call IssuePointOrder(m7, "move", -5973.5,4635.0)
call IssuePointOrder(m8, "move", -5874.2,4635.0)
call TriggerSleepAction(0.75)
set r1 = CreateUnit(P6, 'hrif', -6160.0, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -6160.0, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(r1, true)
call SetUnitMoveSpeed( r1, ( GetUnitDefaultMoveSpeed(r1)/2 ))
set r2 = CreateUnit(P6, 'hrif', -6065.0, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -6065.0, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(r2, true)
call SetUnitMoveSpeed( r2, ( GetUnitDefaultMoveSpeed(r2)/2 ))
set r3 = CreateUnit(P6, 'hrif', -5970.5, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -5970.5, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(r3, true)
call SetUnitMoveSpeed( r3, ( GetUnitDefaultMoveSpeed(r3)/2 ))
set r4 = CreateUnit(P6, 'hrif', -5875.0, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -5875.0, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(r4, true)
call SetUnitMoveSpeed( r4, ( GetUnitDefaultMoveSpeed(r4)/2))
call IssuePointOrder(r1, "move", -6160.0,4735.0)
call IssuePointOrder(r2, "move", -6065.0,4735.0)
call IssuePointOrder(r3, "move", -5970.5,4735.0)
call IssuePointOrder(r4, "move", -5875.0,4735.0)
call TriggerSleepAction(0.75)
set r5 = CreateUnit(P6, 'hrif', -6160.0, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -6160.0, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(r5, true)
call SetUnitMoveSpeed( r5, ( GetUnitDefaultMoveSpeed(r5)/2 ))
set r6 = CreateUnit(P6, 'hrif', -6065.0, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -6065.0, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(r6, true)
call SetUnitMoveSpeed( r6, ( GetUnitDefaultMoveSpeed(r6)/2 ))
set r7 = CreateUnit(P6, 'hrif', -5970.5, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -5970.5, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(r7, true)
call SetUnitMoveSpeed( r7, ( GetUnitDefaultMoveSpeed(r7)/2 ))
set r8 = CreateUnit(P6, 'hrif', -5875.0, 5335.5, 270.00)
call UnitApplyTimedLife(CreateUnit(P6, 'h01B', -5875.0, 5335.5, 0.00),'BTLF',1.00)
call SetUnitInvulnerable(r8, true)
call SetUnitMoveSpeed( r8, ( GetUnitDefaultMoveSpeed(r8)/2))
call IssuePointOrder(r5, "move", -6160.0,4840.0)
call IssuePointOrder(r6, "move", -6065.0,4840.0)
call IssuePointOrder(r7, "move", -5970.5,4840.0)
call IssuePointOrder(r8, "move", -5875.0,4840.0)
call TriggerSleepAction(5.00)
call SetUnitInvulnerable(h1, false)
call SetUnitInvulnerable(m1, false)
call SetUnitInvulnerable(m2, false)
call SetUnitInvulnerable(m3, false)
call SetUnitInvulnerable(m4, false)
call SetUnitInvulnerable(m5, false)
call SetUnitInvulnerable(m6, false)
call SetUnitInvulnerable(m7, false)
call SetUnitInvulnerable(m8, false)
call SetUnitInvulnerable(r1, false)
call SetUnitInvulnerable(r2, false)
call SetUnitInvulnerable(r3, false)
call SetUnitInvulnerable(r4, false)
call SetUnitInvulnerable(r5, false)
call SetUnitInvulnerable(r6, false)
call SetUnitInvulnerable(r7, false)
call SetUnitInvulnerable(r8, false)
call SetUnitOwner(m1, P1, true)
call SetUnitOwner(m2, P1, true)
call SetUnitOwner(m3, P1, true)
call SetUnitOwner(m4, P1, true)
call SetUnitOwner(m5, P1, true)
call SetUnitOwner(m6, P1, true)
call SetUnitOwner(m7, P1, true)
call SetUnitOwner(m8, P1, true)
call SetUnitOwner(r1, P1, true)
call SetUnitOwner(r2, P1, true)
call SetUnitOwner(r3, P1, true)
call SetUnitOwner(r4, P1, true)
call SetUnitOwner(r5, P1, true)
call SetUnitOwner(r6, P1, true)
call SetUnitOwner(r7, P1, true)
call SetUnitOwner(r8, P1, true)
call SetUnitOwner(h1, P1, true)
call SetUnitMoveSpeed( h1, ( GetUnitDefaultMoveSpeed(h1)))
call SetUnitMoveSpeed( m1, ( GetUnitDefaultMoveSpeed(m1) ))
call SetUnitMoveSpeed( m2, ( GetUnitDefaultMoveSpeed(m2) ))
call SetUnitMoveSpeed( m3, ( GetUnitDefaultMoveSpeed(m3) ))
call SetUnitMoveSpeed( m4, ( GetUnitDefaultMoveSpeed(m4) ))
call SetUnitMoveSpeed( m5, ( GetUnitDefaultMoveSpeed(m1) ))
call SetUnitMoveSpeed( m6, ( GetUnitDefaultMoveSpeed(m2) ))
call SetUnitMoveSpeed( m7, ( GetUnitDefaultMoveSpeed(m3) ))
call SetUnitMoveSpeed( m8, ( GetUnitDefaultMoveSpeed(m4) ))
call SetUnitMoveSpeed( r1, ( GetUnitDefaultMoveSpeed(r1) ))
call SetUnitMoveSpeed( r2, ( GetUnitDefaultMoveSpeed(r2) ))
call SetUnitMoveSpeed( r3, ( GetUnitDefaultMoveSpeed(r3) ))
call SetUnitMoveSpeed( r4, ( GetUnitDefaultMoveSpeed(r4) ))
call SetUnitMoveSpeed( r5, ( GetUnitDefaultMoveSpeed(r1) ))
call SetUnitMoveSpeed( r6, ( GetUnitDefaultMoveSpeed(r2) ))
call SetUnitMoveSpeed( r7, ( GetUnitDefaultMoveSpeed(r3) ))
call SetUnitMoveSpeed( r8, ( GetUnitDefaultMoveSpeed(r4) ))
call KillUnit(gate)
call CameraClearNoiseForPlayer( Player(0) )
set gate = null
set m1 = null
set m2 = null
set m3 = null
set m4 = null
set m5 = null
set m6 = null
set m7 = null
set m8 = null
set r1 = null
set r2 = null
set r3 = null
set r4 = null
set h1 = null
set ef = null
set P1 = null
set P6 = null
endif
endfunction
//===============================================================
function InitTrig_Army_P1 takes nothing returns nothing
local trigger army = CreateTrigger()
call TriggerRegisterPlayerUnitEvent(army, Player(0), EVENT_PLAYER_UNIT_TRAIN_FINISH, null)
call TriggerAddAction( army, function army_acts )
set army = null
endfunction