globals
rect gg_rct_Region_033
rect gg_rct_Region_034
rect gg_rct_Region_035
rect gg_rct_Region_036
rect gg_rct_Region_037
rect gg_rct_Region_038
rect gg_rct_Region_039
group array udg_UT
endglobals
//====================================================
function army_acts takes nothing returns nothing
local player P1 = Player(0)
local player P6 = Player(5)
local unit gate
local rect g = gg_rct_Region_033
local rect u1 = gg_rct_Region_034
local rect u2 = gg_rct_Region_035
local rect u3 = gg_rct_Region_036
local rect u4 = gg_rct_Region_037
local rect uh1 = gg_rct_Region_038
local rect d1 = gg_rct_Region_039
local unit ef1
local unit ef2
local unit ef3
local unit ef4
local unit ef5
local unit ef6
local unit ef7
local unit ef8
local unit ef9
local unit m1
local unit m2
local unit m3
local unit m4
local unit r1
local unit r2
local unit r3
local unit r4
local unit h1
local unit t = GetTrainedUnit()
call GroupAddUnit(udg_UT[0], t)
set t = null
if CountUnitsInGroup(udg_UT[0]) == 20 then
// Here i create the gate
set gate = CreateUnit( P6, 'hprt', GetRectCenterX(g), GetRectCenterY(g), 270.0)
call TriggerSleepAction(2.00)
// I wait 2 secs and start shacking the camera and display the text
call DisplayTextToForce (bj_FORCE_ALL_PLAYERS, ( "The First Northrend Army arrived to aid |cffff0000" + ( GetPlayerName(P1) + "|r and his alliance !!!!! " ) ) )
call CameraSetTargetNoiseEx(10, 500000, true)
call CameraSetSourceNoiseEx(10, 500000, true)
//============================================ the hero (h1)
set h1 = CreateUnit(P6, 'H015', GetRectCenterX(uh1), GetRectCenterY(uh1), 270.00)
set ef1 = CreateUnit(P6, 'h01B', GetRectCenterX(uh1), GetRectCenterY(uh1), 0.00)
call UnitApplyTimedLife(ef1, 'BTLF', 1.00)
call SetUnitMoveSpeed( h1, ( GetUnitDefaultMoveSpeed(h1)/2))
call IssuePointOrder(h1, "attack", GetUnitX(h1),GetUnitY(h1)+100)
call TriggerSleepAction (1.00)
// end of orders for now.
// Here i create the hero in a region. the ef1 is a dummy unit
// the dummy unit is the scroll of town portal effect which lasts
// 1-2 seconds. It must be a unit to be bigger than the effect.
//After that i change the hero's movement speed
// And after i give the order to the lLocation(problem here)
//I wait 1 second, for eye candy =)
//===============================================================
// Here i create the rest of the army (m[i] = melle units; r[i] ranged units)
// this section will be totally completed once i found all problems
set m1 = CreateUnit(P6, 'h00B', GetRectCenterX(u1), GetRectCenterY(u1), 270.00)
set ef2 = CreateUnit(P6, 'h01B', GetRectCenterX(u1), GetRectCenterY(u1), 0.00)
call UnitApplyTimedLife(ef2, 'BTLF', 1.00)
call SetUnitMoveSpeed( m1, ( GetUnitDefaultMoveSpeed(m1) - (GetUnitDefaultMoveSpeed(m1)*0.5 )))
set m2 = CreateUnit(P6, 'h00B', GetRectCenterX(u2), GetRectCenterY(u2), 270.00)
set ef3 = CreateUnit(P6, 'h01B', GetRectCenterX(u2), GetRectCenterY(u2), 0.00)
call UnitApplyTimedLife(ef3, 'BTLF', 1.00)
call SetUnitMoveSpeed( m2, ( GetUnitDefaultMoveSpeed(m2) - (GetUnitDefaultMoveSpeed(m2)*0.5 )))
set m3 = CreateUnit(P6, 'h00B', GetRectCenterX(u3), GetRectCenterY(u3), 270.00)
set ef4 = CreateUnit(P6, 'h01B', GetRectCenterX(u3), GetRectCenterY(u3), 0.00)
call UnitApplyTimedLife(ef4, 'BTLF', 1.00)
call SetUnitMoveSpeed( m3, ( GetUnitDefaultMoveSpeed(m3) - (GetUnitDefaultMoveSpeed(m3)*0.5 )))
set m4 = CreateUnit(P6, 'h00B', GetRectCenterX(u4), GetRectCenterY(u4), 270.00)
set ef5 = CreateUnit(P6, 'h01B', GetRectCenterX(u4), GetRectCenterY(u4), 0.00)
call UnitApplyTimedLife(ef5, 'BTLF', 1.00)
call SetUnitMoveSpeed( m4, ( GetUnitDefaultMoveSpeed(m4) - (GetUnitDefaultMoveSpeed(m4)*0.5 )))
call IssuePointOrder(m1, "attack", GetRectCenterX(d1), GetRectCenterY(d1))
call IssuePointOrder(m2, "attack", GetRectCenterX(d1), GetRectCenterY(d1))
call IssuePointOrder(m3, "attack", GetRectCenterX(d1), GetRectCenterY(d1))
call IssuePointOrder(m4, "attack", GetRectCenterX(d1), GetRectCenterY(d1))
call TriggerSleepAction(1.00)
set r1 = CreateUnit(P6, 'hrif', GetRectCenterX(u1), GetRectCenterY(u1), 270.00)
set ef6 = CreateUnit(P6, 'h01B', GetRectCenterX(u1), GetRectCenterY(u1), 0.00)
call UnitApplyTimedLife(ef6, 'BTLF', 1.00)
call SetUnitMoveSpeed( r1, ( GetUnitDefaultMoveSpeed(r1) - (GetUnitDefaultMoveSpeed(r1)*0.5 )))
set r2 = CreateUnit(P6, 'hrif', GetRectCenterX(u2), GetRectCenterY(u2), 270.00)
set ef7 = CreateUnit(P6, 'h01B', GetRectCenterX(u2), GetRectCenterY(u2), 0.00)
call UnitApplyTimedLife(ef7, 'BTLF', 1.00)
call SetUnitMoveSpeed( r2, ( GetUnitDefaultMoveSpeed(r2) - (GetUnitDefaultMoveSpeed(r2)*0.5 )))
set r3 = CreateUnit(P6, 'hrif', GetRectCenterX(u3), GetRectCenterY(u3), 270.00)
set ef8 = CreateUnit(P6, 'h01B', GetRectCenterX(u3), GetRectCenterY(u3), 0.00)
call UnitApplyTimedLife(ef8, 'BTLF', 1.00)
call SetUnitMoveSpeed( r3, ( GetUnitDefaultMoveSpeed(r3) - (GetUnitDefaultMoveSpeed(r3)*0.5 )))
set r4 = CreateUnit(P6, 'hrif', GetRectCenterX(u4), GetRectCenterY(u4), 270.00)
set ef9 = CreateUnit(P6, 'h01B', GetRectCenterX(u4), GetRectCenterY(u4), 0.00)
call UnitApplyTimedLife(ef9, 'BTLF', 1.00)
call SetUnitMoveSpeed( r4, ( GetUnitDefaultMoveSpeed(r4) - (GetUnitDefaultMoveSpeed(r4)*0.5 )))
call IssuePointOrder(r1, "attack", GetRectCenterX(d1), GetRectCenterY(d1))
call IssuePointOrder(r2, "attack", GetRectCenterX(d1), GetRectCenterY(d1))
call IssuePointOrder(r3, "attack", GetRectCenterX(d1), GetRectCenterY(d1))
call IssuePointOrder(r4, "attack", GetRectCenterX(d1), GetRectCenterY(d1))
call TriggerSleepAction(7.00)
call SetUnitOwner(m1, P1, true)
call SetUnitOwner(m2, P1, true)
call SetUnitOwner(m3, P1, true)
call SetUnitOwner(m4, P1, true)
call SetUnitOwner(r1, P1, true)
call SetUnitOwner(r2, P1, true)
call SetUnitOwner(r3, P1, true)
call SetUnitOwner(r4, 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( r1, ( GetUnitDefaultMoveSpeed(r1) ))
call SetUnitMoveSpeed( r2, ( GetUnitDefaultMoveSpeed(r2) ))
call SetUnitMoveSpeed( r3, ( GetUnitDefaultMoveSpeed(r3) ))
call SetUnitMoveSpeed( r4, ( GetUnitDefaultMoveSpeed(r4) ))
call KillUnit(gate)
call CameraSetTargetNoiseEx(0, 0, true)
call CameraSetSourceNoiseEx(0, 0, true)
set gate = null
set ef1 = null
set ef2 = null
set ef3 = null
set ef4 = null
set ef5 = null
set ef6 = null
set ef7 = null
set ef8 = null
set ef9 = null
set m1 = null
set m2 = null
set m3 = null
set m4 = null
set r1 = null
set r2 = null
set r3 = null
set r4 = null
set h1 = 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