beginscript; label IsDrg3_Dead: if (GetGlobalVar(3) != 1) { EndFrame(); goto IsDrg3_Dead; } RemoveRadarEdgeObj(Eng_G1); WaitForTime(100); label CutScene: // Change to Cam looking at the Soldiers SpawnOtherUnit (Sld_Gr4_01_Scr); SpawnOtherUnit (Sld_Gr4_02_Scr); PausePlayer(); ChangeCamera(0x806,30,50); SetVar(4,0); //FreezeOtherUnit(Jep_Gr1_02_Scr); //FreezeOtherUnit(Eng_G1); SetVar(6,30); gosub InterWait; //WaitForTime(30); label CutScene2: // Change to Cam looking at the wall SpawnOtherUnit (Drg_Gr6_01_Scr); SetOtherTargetHag (Drg_Gr6_01_Scr, 250); ChangeCamera(0x807,30,50); SetVar(4,0); TriggerMessage(53,h53,0x7843); SpawnOtherUnit (CsJaks1_Scr); SpawnOtherUnit (CsJaks2_Scr); SetVar(6,50); gosub InterWait; //WaitForTime(50); ChangeCamera(0x808,10,10); SetVar(4,0); label ActionBlowup: WaitForTime(10); // BlowUp the wall ShakeCamera(Fule_Trk_Scr, 3000); KillOtherUnit(Fule_Trk_Scr); DestroyObject(0x46e); DestroyObject(0x46f); //KillOtherUnit(target2_Scr); //KillOtherUnit(target3_Scr); //KillOtherUnit(target4_Scr); //KillOtherUnit(target5_Scr); //KillOtherUnit(target6_Scr); KillOtherUnit(Sld_Gr4_01_Scr); KillOtherUnit(Sld_Gr4_02_Scr); SetHUDTarget (timer4_Scr); SetVar(6,65); gosub InterWait; //WaitForTime(65); PlaySound(Timer_DD_Scr, scream1,0); SetVar(6,5); gosub InterWait; //WaitForTime(5); PlaySound(Timer_DD_Scr, scream2,0); SetVar(6,5); gosub InterWait; //WaitForTime(5); KillOtherUnit(CsJaks1_Scr); KillOtherUnit(CsJaks2_Scr); //ResumeOtherUnit(Jep_Gr1_02_Scr); //ResumeOtherUnit(Eng_G1); ResumePlayer(); ChangeCamera(0x801,30,50); SetOtherTargetHag (Drg_Gr6_01_Scr, 400); TriggerMessage(6,h6,0x783b); //PlaySound(0x7401, h1vztankercut,0); TeleportOtherUnit(Jkl_Gr2_01_Scr,AiTele5,0,0); TeleportOtherUnit(Jkl_Gr2_02_Scr,AiTele5,0,0); TeleportOtherUnit(Jkl_Gr2_03_Scr,AiTele5,0,0); TeleportOtherUnit(Jkl_Gr2_04_Scr,AiTele5,0,0); SpawnOtherUnit (Sld_Gr3_01_Scr); SpawnOtherUnit (Sld_Gr3_02_Scr); SpawnOtherUnit (Sld_Gr3_03_Scr); SpawnOtherUnit (Sld_Gr3_04_Scr); label Wave1: if (PlayerInRange(1200)) { SpawnOtherUnit (Jkl_Gr2_01_Scr); SpawnOtherUnit (Jkl_Gr2_02_Scr); //AddRadarEdgeObj(Jkl_Gr2_01_Scr, 155, 155, 0); //AddRadarEdgeObj(Jkl_Gr2_02_Scr, 155, 155, 0); EndFrame(); goto Wave2; } EndFrame(); goto Wave1; label Wave2: if (PlayerInRange(500)) { SpawnOtherUnit (Jkl_Gr6_01_Scr); SpawnOtherUnit (Jkl_Gr6_02_Scr); SpawnOtherUnit (Jkl_Gr6_03_Scr); SpawnOtherUnit (Jkl_Gr6_04_Scr); WaitForTime(150); SpawnOtherUnit (Drg_Gr5_01_Scr); EndFrame(); goto Wave3; } EndFrame(); goto Wave2; label Wave3: gosub NumberCheck; if (GetVar(1) >= 4) { if (OtherUnitDead(Jkl_Gr2_01_Scr)) SpawnOtherUnit (Jkl_Gr2_01_Scr); if (OtherUnitDead(Jkl_Gr2_02_Scr)) SpawnOtherUnit (Jkl_Gr2_02_Scr); if (OtherUnitDead(Jkl_Gr6_01_Scr)) SpawnOtherUnit (Jkl_Gr6_01_Scr); if (OtherUnitDead(Jkl_Gr6_02_Scr)) SpawnOtherUnit (Jkl_Gr6_02_Scr); if (OtherUnitDead(Jkl_Gr6_03_Scr)) SpawnOtherUnit (Jkl_Gr6_03_Scr); if (OtherUnitDead(Jkl_Gr6_04_Scr)) SpawnOtherUnit (Jkl_Gr6_04_Scr); WaitForTime(50); SpawnOtherUnit (Drg_Gr5_02_Scr); SetGlobalVar(3, 8); SetVar(1,0); EndFrame(); goto Wave3_1; } SetVar(1,0); EndFrame(); goto Wave3; label Wave3_1: gosub NumberCheck; if (GetVar(1) >= 4) { if (OtherUnitDead(Jkl_Gr2_01_Scr)) SpawnOtherUnit (Jkl_Gr2_01_Scr); if (OtherUnitDead(Jkl_Gr2_02_Scr)) SpawnOtherUnit (Jkl_Gr2_02_Scr); if (OtherUnitDead(Jkl_Gr6_01_Scr)) SpawnOtherUnit (Jkl_Gr6_01_Scr); if (OtherUnitDead(Jkl_Gr6_02_Scr)) SpawnOtherUnit (Jkl_Gr6_02_Scr); if (OtherUnitDead(Jkl_Gr6_03_Scr)) SpawnOtherUnit (Jkl_Gr6_03_Scr); if (OtherUnitDead(Jkl_Gr6_04_Scr)) SpawnOtherUnit (Jkl_Gr6_04_Scr); SetGlobalVar(3, 9); SetVar(1,0); EndFrame(); goto Wave4; } SetVar(1,0); EndFrame(); goto Wave3_1; label Wave4: gosub NumberCheck; if (GetVar(1) >= 4) { if (OtherUnitDead(Jkl_Gr2_01_Scr)) SpawnOtherUnit (Jkl_Gr2_01_Scr); if (OtherUnitDead(Jkl_Gr2_02_Scr)) SpawnOtherUnit (Jkl_Gr2_02_Scr); if (OtherUnitDead(Jkl_Gr6_01_Scr)) SpawnOtherUnit (Jkl_Gr6_01_Scr); if (OtherUnitDead(Jkl_Gr6_02_Scr)) SpawnOtherUnit (Jkl_Gr6_02_Scr); if (OtherUnitDead(Jkl_Gr6_03_Scr)) SpawnOtherUnit (Jkl_Gr6_03_Scr); if (OtherUnitDead(Jkl_Gr6_04_Scr)) SpawnOtherUnit (Jkl_Gr6_04_Scr); SetVar(1,0); SetVar (0, GetTime()+600); EndFrame(); goto Wave5; } SetVar(1,0); EndFrame(); goto Wave4; label Wave5: if (OtherUnitInRange(Mis_Grp2_01_Scr,450)) { if (OtherUnitDead(Jkl_Gr2_01_Scr)) SpawnOtherUnit (Jkl_Gr2_01_Scr); if (OtherUnitDead(Jkl_Gr2_02_Scr)) SpawnOtherUnit (Jkl_Gr2_02_Scr); if (OtherUnitDead(Jkl_Gr6_01_Scr)) SpawnOtherUnit (Jkl_Gr6_01_Scr); if (OtherUnitDead(Jkl_Gr6_02_Scr)) SpawnOtherUnit (Jkl_Gr6_02_Scr); if (OtherUnitDead(Jkl_Gr6_03_Scr)) SpawnOtherUnit (Jkl_Gr6_03_Scr); if (OtherUnitDead(Jkl_Gr6_04_Scr)) SpawnOtherUnit (Jkl_Gr6_04_Scr); EndFrame(); goto End; } else if (GetVar(0) < GetTime()) { if (OtherUnitDead(Jkl_Gr2_01_Scr)) SpawnOtherUnit (Jkl_Gr2_01_Scr); if (OtherUnitDead(Jkl_Gr2_02_Scr)) SpawnOtherUnit (Jkl_Gr2_02_Scr); if (OtherUnitDead(Jkl_Gr6_01_Scr)) SpawnOtherUnit (Jkl_Gr6_01_Scr); if (OtherUnitDead(Jkl_Gr6_02_Scr)) SpawnOtherUnit (Jkl_Gr6_02_Scr); if (OtherUnitDead(Jkl_Gr6_03_Scr)) SpawnOtherUnit (Jkl_Gr6_03_Scr); if (OtherUnitDead(Jkl_Gr6_04_Scr)) SpawnOtherUnit (Jkl_Gr6_04_Scr); WaitForTime(150); SetGlobalVar(3, 10); EndFrame(); goto End; } EndFrame(); goto Wave5; label End: EndFrame(); goto End; endscript; beginsub NumberCheck; if (OtherUnitDead(Jkl_Gr2_01_Scr) || GetOtherState(Jkl_Gr2_01_Scr) == 0) { IncVar(1); } if (OtherUnitDead(Jkl_Gr2_02_Scr) || GetOtherState(Jkl_Gr2_02_Scr) == 0) { IncVar(1); } if (OtherUnitDead(Jkl_Gr6_01_Scr) || GetOtherState(Jkl_Gr6_01_Scr) == 0) { IncVar(1); } if (OtherUnitDead(Jkl_Gr6_02_Scr) || GetOtherState(Jkl_Gr6_02_Scr) == 0) { IncVar(1); } if (OtherUnitDead(Jkl_Gr6_03_Scr) || GetOtherState(Jkl_Gr6_03_Scr) == 0) { IncVar(1); } if (OtherUnitDead(Jkl_Gr6_04_Scr) || GetOtherState(Jkl_Gr6_04_Scr) == 0) { IncVar(1); } endsub; beginsub InterWait; if (GetVar(4)) return; SetButtonJump(); if (HasJumped()) { SetVar(4,1); return; } WaitForTime(GetVar(6)); JumpOnButton(false); endsub; $