/* Scenario: RgrAttk2 : "Rescue the President..." * ==================================== Notes: - We need the president in the shelter first. To do this place a shelter and place the president near the shelter (using MisisonPlaceItems->Place President) and go into emergency mode. The president should go into the shelter. - There is no way of working out which visitor is the president... Make sure that all other visitors are dead as the game starts (or don't put any other visitors in the park) Briefing: "The President of Dregovia and his entourage have arrived in Jurassic Park just as a heavy storm has struck the island, plunging everything into chaos and releasing many dangerous specimens. Most of the entourage has been killed, but the president himself is still alive, although seriously injured, and taking refuge in the visitor shelter. We need you to retire all of the rampaging dinosaurs in the park and rescue the president. His life depends on it!" o Carnivores in this park: - 1 x Spinosaurus (Chenini) - 2 x Carcharadontosaurus (Chenini) - 15 x Velociraptors (Flaming Cliffs) o Herbivores in this park: - 4 x Triceratops (Hell Creek B) (CUT) - 3 x Pachycephalosaurus (Hell Creek B) (CUT) - 8 x Gallimimus (Flaming Cliffs) o Structures available in the Park: - Park Entrance - 1 x Ranger Station - 3 x Avoidance Beacons - 1 x Visitor shelter - 2 x Sentry Turrets - 2 x Auto Lures o Visitors trapped in the Park. - 1 x "President" looking visitor (see notes at top) o Victory conditions: Player rescues the President o Failure conditions: Player fails to rescue the President. */ mission RgrAttk2 { ;// mission info .info "budget" 0 .info "objectives" 2 .info "savestate" "RgrAttk2" .info "giveresearch" 1 ;// systems to activate/de-activate .systemactive "Economy" false .systemactive "Mail" false .systemactive "Visitor Pool" false .systemactive "Corporate System" false .systemactive "Build Menu" false .systemactive "Enclosure Analyser" false .systemactive "Weather System" false ;// features to disable .featuredisable "AParkGuestbookDialog" .featuredisable "AParkSafetyDialog" .featuredisable "AStructureSummaryDialog" .featuredisable "AParkFinanceDialog" .featuredisable "ADinoSummaryDialog" .featuredisable "GotoParkEntrance" .featuredisable "EmergencyOn" .featuredisable "GotoSafari" .featuredisable "AResearchDialog" .featuredisable "Manager" .featuredisable "SaveGame" ;// Disable all save game menu .featuredisable "LoadGame" ;// Disable all load game menu .featuredisable "ParkManager_Dinosaurs" ;// Disable all "dinosaurs" submenu .featuredisable "ParkManager_Build" ;// Disable the build menu .featuredisable "Command_Orders" ;// Disables ALL "order" commands .featuredisable "AutoRescue" ;// Disables automatic rescues .featuredisable "BuildParkEntrance" ;// Disable build park entrace from manager ;// fossil maps to enable .fossilsenable "Chenini" .fossilsenable "FlamingCliffs" ;// .fossilsenable "HellCreekB" .misparam .objparam 1 0 ;// Number of dinosaurs left to retire .objparam 2 0 ;// N/A ;// variable declarations .var iDinosLeft .var iPresidentUid .var bPresidentRescued .var bKilledDinos ;// Set up hint messages .objhint 1 1 tip .hint 2 "Mission_RgrAttk2_OD2" .hint 2 "Mission_RgrAttk2_Hint5" ;// mission states state MissionInit { ;// Force stormy weather action SetWeatherFrequency(0, 0) action SetWeatherFrequency(1, 0) action SetWeatherFrequency(2, 100) action SetWeatherFrequency(3, 0) action SetWeatherFrequency(4, 0) action LockCurrentWeather(false) action SendWeather(2) action LockCurrentWeather(true) action SetAllSpeciesDinoDNA(100); action VaccinateAllDinosaurs() action RemoveAllMailMessages() ;// Emergency mode forces the visitors to find a secure place to stay (or the exit), ;// but also ensures that they don't go into buildings (so they can still be rescued) ;// Make sure that the park entrance isn't connected to the road network so that the visitors ;// cannot find it and exit the park. action SetEmergencyMode(true) ;// Set up minigame action SetCurrentMiniGameParamList(0) ;// This is param list AddMiniGameParam() will add Params to action AddMiniGameParam("IsScenario", true) ;// Make it so that the user can't exit the minigame action AddMiniGameParam("SetMiniGameExitEnable", false) ;// **** Allow/Disallow different ranger "modes" ;// Enable Retire action AddMiniGameParam("SetModeEnable", 4, true) ;// Enable Rescue action AddMiniGameParam("SetModeEnable", 7, true) ;// **** Allow/Disallow components ;// Target all dinosaurs action AddMiniGameParam("SetRetireFlags", 3) ;// Initialises bullet limitations action AddMiniGameParam("InitBulletLimit", 40); ;// The user can freely enter and leave minigames within the mission. ;// Whenever a new minigame is created, it will use this parameter list action SetDefaultMiniGameParamList(0) ;// No need to start the minigame upon loading... The helicopter isn't there yet. iPresidentUid = FindSpecialVisitor() ;// Start the minigame - RgrAttack(0), Game #2 ;// action StartMiniGame(0, 1) ;// This is now performed by the PlayTransition call while the screen is black! action SetDinoTypeToMissionMode(6) transition { direct goto PlayFlyOver } } state PlayFlyOver { transition PlayTransition(0,false,0) { goto StartMission } } state StartMission { transition ShowMissionIntro("facebuttonHammond") { ;// Start timer action EnableMissionTimer(true) action StartMissionTimer(390.0) action StartTimer(6, 6) action SetHintFlag(1) ;// Enable "Kill dino" hints action ShowNextHint() ;// Show first hint bKilledDinos = false action StartTimer(2, 5) goto MiniGameCheck } } ;// Check to see if the minigame has been completed state MiniGameCheck { ;// Keep carnivores enraged action SetDinoStress(4, 1.0) iDinosLeft = GetDinoCount() action SetObjectiveParametersFromVars(1, iDinosLeft) transition HasTimerElapsed(6) { ;// Show next hint action ShowNextHint() action StartTimer(6, 6) goto MiniGameCheck } transition HasMissionTimerElapsed() { goto MissionFailureOuttaTime } transition IsUnitBeingRescued(iPresidentUid) { ;// The president is being rescued action ClearHintFlag(2) ;// Disable "Rescue president" hints goto WaitForExit } transition IsUnitDead(iPresidentUid) { ;// The president has died without being rescued goto MissionFailurePresDead } transition HasTimerElapsed(2) { action StartTimer(2, 20) action SetDinoTypeToMissionMode(6) goto MiniGameCheck } transition bKilledDinos == false { goto CheckDinos } } state CheckDinos { transition iDinosLeft == 0 { ;// Turn off emergency mode and allow the president to exit the shelter building action SetEmergencyMode(false) action SetParkOpen(false) ;// Make sure the visitor doesn't enter any buildings (except the park entrance) action SetVisitorFlag(iPresidentUid, 4096, true) action SetObjectiveStatus(1, true) ;// Wait 2 seconds before displaying message action StartTimer(1, 2) bKilledDinos = true goto WaitRescuePresidentMsg } transition { goto MiniGameCheck } } state WaitRescuePresidentMsg { transition IsUnitBeingRescued(iPresidentUid) { ;// The president is being rescued (ALREADY?!) action ClearHintFlag(2) ;// Disable "Rescue president" hints goto WaitForExit } transition HasTimerElapsed(1) { ;// Display message to tell the user to rescue the president! goto ShowNowRescuePresidentDialog } } state ShowNowRescuePresidentDialog { transition ShowMessageConcat("Mission_RgrAttk2_Hint2" ,"Mission_RgrAttk2_Hint1", "Mission_RgrAttk2_Hint2a") { action ClearHintFlag(1) ;// Disable "Kill dino" hints action SetHintFlag(2) ;// Enable "Rescue president" hints goto MiniGameCheck } } ;// Wait until the president has exited the park (ie. the rescue is complete) state WaitForExit { transition IsUnitRescued(iPresidentUid) { goto MissionVictory } } ;// Mission failed because the gallis weren't mustered within the given time state MissionFailureOuttaTime { transition ShowMissionFailure("facebuttonHammond", "Mission_RgrAttk1_Failure_OuttaTime") { goto MissionComplete } } ;// Success state MissionVictory { transition ShowMissionVictory("facebuttonHammond") { action SetObjectiveStatus(2, true) action SetMissionWon() action UnlockMission("Safari3") action SaveOptions() goto SaveOptions } } state SaveOptions { transition NotCurrentGameState("AOptionsSaveState") { goto MissionComplete } } ;// Mission failed because the president was killed state MissionFailurePresDead { transition ShowMissionFailure("facebuttonHammond", "Mission_RgrAttk2_Failure_PresDead") { goto MissionComplete } } ;// Go back to the front screen final state MissionComplete { } }