beginscript; label IsDrg1_Dead: if (GetGlobalVar(1) != 1) { EndFrame(); goto IsDrg1_Dead; } SetVar(1,0); SetVar(2,0); SetVar(3,0); SetVar(4,0); SetVar(5,0); SetVar(6,0); SpawnOtherUnit (FSpit1); SpawnOtherUnit (FSpit2); TriggerUnit(Ftk_Gr1_01_scr); SetGlobalVar(5,0); label Start: // Spawn first group SpawnOtherUnit (Jkl_Gr4_01_Scr); SpawnOtherUnit (Jkl_Gr4_02_Scr); SpawnOtherUnit (Jkl_Gr4_03_Scr); SpawnOtherUnit (Jkl_Gr4_04_Scr); //SpawnOtherUnit (Jkl_Gr4_05_Scr); //SpawnOtherUnit (Jkl_Gr4_06_Scr); SpawnOtherUnit (Drg_Gr4_01_Scr); SpawnOtherUnit (Drg_Gr4_02_Scr); SpawnOtherUnit (Drg_Gr4_03_Scr); SpawnOtherUnit (Drg_Gr4_04_Scr); SpawnOtherUnit (Drg_Gr4_05_Scr); SpawnOtherUnit (Drg_Gr4_06_Scr); //SpawnOtherUnit (Drg_Gr4_07_Scr); //SpawnOtherUnit (Drg_Gr4_08_Scr); SpawnOtherUnit (CamTgt1_Scr); SetOtherTargetHag (CamTgt1_Scr, 400); // Start East Attack //SpawnOtherUnit (Jkl_Gr5_01_Scr); //SpawnOtherUnit (Jkl_Gr5_02_Scr); //SpawnOtherUnit (Jkl_Gr5_03_Scr); // Start Cut WaitForTime(80); PausePlayer(); ToggleArmor (Bfg_Grp2_01_Scr); ToggleArmor (Drg_Gr4_01_Scr); SpawnOtherUnit (Jkl_Gr5_04_Scr); SpawnOtherUnit (Jkl_Gr5_05_Scr); SpawnOtherUnit (Jkl_Gr5_06_Scr); SpawnOtherUnit (Jkl_Gr5_07_Scr); SetHUDTarget (Pickup_Scr); SpawnPickup(0x2801); SpawnOtherUnit(PickUpTgt); ChangeCamera(0x804,30,50); // start cut scene SetVar(4,0); // var 4 will hold our skippitude SetVar(6,10); gosub InterWait; //WaitForTime(10); if (!GetVar(4)) TriggerMessage(52,h52,0x785f); // Set timer for next group SetVar(6,20); gosub InterWait; //WaitForTime(20); KillOtherUnit(Bfg_Grp2_04_Scr); SetVar(6,80); gosub InterWait; //WaitForTime(80); // Show Pickup ChangeCamera(0x802,30,50); SetVar(4,0); TriggerMessage(3,h3,0x783b); SetVar(6,20); gosub InterWait; //WaitForTime(20); TriggerUnit(PickUpTgt); //PlaySound(0x7401, h1vzpickupsnap,0); // Set timer for next group SetVar(6,30); gosub InterWait; //WaitForTime(30); ToggleArmor (Bfg_Grp2_01_Scr); ToggleArmor (Drg_Gr4_01_Scr); ResumePlayer(); ChangeCamera(0x801,30,50); //SpawnOtherUnit(Ftk_Gr2_01_scr); SpawnOtherUnit(Ftk_Gr2_02_scr); SpawnOtherUnit (Jkl_Gr5_08_Scr); SpawnOtherUnit (Jkl_Gr5_09_Scr); SpawnOtherUnit (Jkl_Gr5_10_Scr); //AddRadarEdgeObj(Drg_Gr4_01_Scr, 155, 155, 0); //AddRadarEdgeObj(Drg_Gr4_02_Scr, 155,155,0); //AddRadarEdgeObj(Drg_Gr4_03_Scr, 155,155,0); //AddRadarEdgeObj(Drg_Gr4_04_Scr, 155,155,0); //AddRadarEdgeObj(Drg_Gr4_05_Scr, 155,155,0); //AddRadarEdgeObj(Drg_Gr4_06_Scr, 155,155,0); label Wait: if (OtherUnitInRange(Jep_Gr1_02_Scr,200)) { SetVar(7, GetTime()+300); EndFrame(); goto WaitForClear; } EndFrame(); goto Wait; label WaitForClear: if (GetPlayerAmmo(1) <= 2 && GetVar(2) == 0) { SpawnPickup(0x2802); TriggerMessage(41,h41,0x783b); SetHUDTarget (Pickup_Scr); SetVar(2,1); } else if (GetPlayerAmmo(1) <= 2 && GetVar(2) == 2) { SpawnPickup(0x2804); SetVar(2,3); } else if (GetPlayerAmmo(1) > 6 && GetVar(2) == 1) { SetVar(2,2); } if (PlayerInRange(500) && GetVar(3) != 1) { TriggerUnit(FSpit2); SetVar(3,1); } if ((OtherUnitDead(Drg_Gr4_01_Scr) && OtherUnitDead(Drg_Gr4_02_Scr) && OtherUnitDead(Drg_Gr4_03_Scr) && OtherUnitDead(Drg_Gr4_04_Scr) && OtherUnitDead(Drg_Gr4_05_Scr) && OtherUnitDead(Drg_Gr4_06_Scr)) || GetVar(7) < GetTime()) { if (GetVar(5) == 0) { if (OtherUnitDead(Drg_Gr4_01_Scr) != 1) KillOtherUnit(Drg_Gr4_01_Scr); if (OtherUnitDead(Drg_Gr4_02_Scr) != 1) KillOtherUnit(Drg_Gr4_02_Scr); if (OtherUnitDead(Drg_Gr4_03_Scr) != 1) KillOtherUnit(Drg_Gr4_03_Scr); if (OtherUnitDead(Drg_Gr4_04_Scr) != 1) KillOtherUnit(Drg_Gr4_04_Scr); if (OtherUnitDead(Drg_Gr4_05_Scr) != 1) KillOtherUnit(Drg_Gr4_05_Scr); if (OtherUnitDead(Drg_Gr4_06_Scr) != 1) KillOtherUnit(Drg_Gr4_06_Scr); SetVar(7, GetTime()+500); SetVar(5,1); IncGlobalVar(5); } } else if (OtherUnitDead(Drg_Gr4_01_Scr) != 1 && OtherUnitDead(Drg_Gr4_02_Scr) != 1 && OtherUnitDead(Drg_Gr4_03_Scr) != 1 && OtherUnitDead(Drg_Gr4_04_Scr) != 1 && OtherUnitDead(Drg_Gr4_05_Scr) != 1 && OtherUnitDead(Drg_Gr4_06_Scr) != 1) { SetVar(5,0); } if (GetGlobalVar(5) == 2 && GetVar(1) == 0) { ToggleArmor (Bfg_Gr1_02_Scr); SpawnOtherUnit(Drg_Gr0_01_Scr); WaitForTime(70); PausePlayer(); ChangeCamera(0x80f,30,20); SetVar(4,0); SetVar(6,20); gosub InterWait; //WaitForTime(20); TriggerMessage(38,h38,0x783b); SetVar(6,40); gosub InterWait; //WaitForTime(40); ChangeCamera(0x801,30,20); ResumePlayer(); SetVar(1,1); SetVar(7, GetTime()+500); ToggleArmor (Bfg_Gr1_02_Scr); } if (GetGlobalVar(5) == 3) { SetGlobalVar(1,2); SetGlobalVar(4,3); RemoveRadarEdgeObj(Drg_Gr4_01_Scr); RemoveRadarEdgeObj(Drg_Gr4_02_Scr); RemoveRadarEdgeObj(Drg_Gr4_03_Scr); RemoveRadarEdgeObj(Drg_Gr4_04_Scr); RemoveRadarEdgeObj(Drg_Gr4_05_Scr); RemoveRadarEdgeObj(Drg_Gr4_06_Scr); AddRadarEdgeObj(Eng_G1, 155, 155, 0); SetHUDTarget (Eng_G1); SpawnPickup(0x2803); EndFrame(); goto End; } EndFrame(); goto WaitForClear; label End: EndFrame(); goto End; endscript; beginsub InterWait; if (GetVar(4)) return; SetButtonJump(); if (HasJumped()) { SetVar(4,1); return; } WaitForTime(GetVar(6)); JumpOnButton(false); endsub; $