/* Scenario: Park Emergency * ==================================== * * Simple tutorial mission to familiarise the player with the controls * TODO: would be good to take away user input and demonstrate the actions rather than just * a textual description of how to perform the action. */ mission ParkEmgy { ;// mission info .info "objectives" 10 .info "savestate" "ParkEmgy" .info "budget" 25000 ;// systems to activate/de-activate .systemactive "Economy" false .systemactive "Visitor Pool" false .systemactive "Corporate System" false .systemactive "Build Menu" false .systemactive "Enclosure Analyser" false .systemactive "Weather System" false .systemactive "Mail" false ;// Features to disable in the mission .featuredisable "Demolish" .featuredisable "Build" .featuredisable "Dinosaurs" .featuredisable "Manager" .featuredisable "Attractions" .featuredisable "Paths" .featuredisable "Amenities" .featuredisable "Security" .featuredisable "Environment" .featuredisable "PaleoFlora" .featuredisable "ModernFlora" .featuredisable "Flatten" .featuredisable "Mountain" .featuredisable "Lake" .featuredisable "GotoParkEntrance" .featuredisable "BuildParkEntrance" .featuredisable "AFossilHuntDialog" .featuredisable "ADNAInventoryDialog" .featuredisable "AFossilMarketDialog" .featuredisable "ADNAModificationDialog" .featuredisable "ADinoSummaryDialog" .featuredisable "AParkSafetyDialog" .featuredisable "AParkFinanceDialog" .featuredisable "AStructureSummaryDialog" .featuredisable "AEntertainmentSummaryDialog" .featuredisable "AParkGuestbookDialog" .featuredisable "AHeadOfficePerformanceDialog" .featuredisable "Order_SpeciesInfo" .featuredisable "Order_StructureSummary" .featuredisable "Order_Guestbook" .featuredisable "Order_Subdue" .featuredisable "Order_Retire" .featuredisable "Order_Vaccinate" .featuredisable "Order_LethalGene" .featuredisable "EmergencyOn" .featuredisable "GotoSafari" .featuredisable "GotoChopper" .featuredisable "AResearchDialog" .featuredisable "maintdep" .featuredisable "fountn" .featuredisable "bin" .featuredisable "bench" .featuredisable "road" .featuredisable "kiosk" .featuredisable "toilet" .featuredisable "picnic" .featuredisable "shop" .featuredisable "vent" .featuredisable "viewplat" .featuredisable "hventry" .featuredisable "bllnride" .featuredisable "safari" .featuredisable "welccntr" .featuredisable "huntplat" .featuredisable "rangerdp" .featuredisable "scamera" .featuredisable "abeacbld" .featuredisable "turret" .featuredisable "shelter" .featuredisable "hatchery" .featuredisable "carnfdsp" .featuredisable "herbfdsp" .featuredisable "lurebld" .featuredisable "wt1sct90" .featuredisable "wt2sct90" .featuredisable "wt3sct90" ;// Features to enable in the mission ;// Research to complete in the mission .researchcomplete "DinoBelly" .researchcomplete "TickInfestation" .researchcomplete "DinoFlu" .researchcomplete "Rabies" .researchcomplete "BumbleFoot" .researchcomplete "GastricPoison" ;// Mail to disable in the mission ;// fossil maps to enable .fossilsenable "MorrisonA" .fossilsenable "HellCreekB" .fossilsenable "JudithRiverB" ;// mission parameters .misparam ;// objective parameters .objparam 1 .objparam 2 .objparam 3 .objparam 4 .objparam 5 .objparam 6 .objparam 7 .objparam 8 .objparam 9 .objparam 10 ;// variable decalrations .var vCameraMin .var vCameraMax ;// ********** INTRO SECTION ********** state MissionInit { action SetWeatherFrequency(0, 100) action SetWeatherFrequency(1, 0) action SetWeatherFrequency(2, 0) action SetWeatherFrequency(3, 0) action SetWeatherFrequency(4, 0) action SetDinoDNA("tricera", 100) action SetDinoDNA("trex", 100) action SetDinoDNA("dryo", 100) action VaccinateAllDinosaurs() action RemoveAllMailMessages() transition { direct goto PlayIntroFlyover } } state PlayIntroFlyover { transition PlayTransition(0, false) { direct goto ShowMissionIntro } } state ShowMissionIntro { transition ShowMissionIntro() { goto TranslationMessage1 } } ;// ********** Objective One ********** state TranslationMessage1 { transition ShowTutorialMessage(1, 1, "facebuttonHammond") { goto ShowTranslation } } state ShowTranslation { transition DemoCamera(0) { goto TranslationMessage2 } } state TranslationMessage2 { transition ShowTutorialMessage(1, 2, "facebuttonHammond") { vCameraMin = GetCamera("Pos") vCameraMax = vCameraMin action ShowObjectiveTip(1, true) goto DoTranslation } } state DoTranslation { transition CameraUpdated("Pos", vCameraMin, vCameraMax, 50.0) { action ShowObjectiveTip(1, false) action SetObjectiveStatus(1, true) goto RotationMessage1 } savestate TranslationMessage2 } ;// ********** Objective Two ********** state RotationMessage1 { transition ShowTutorialMessage(2, 1, "facebuttonHammond") { goto ShowRotation } } state ShowRotation { transition DemoCamera(1) { goto RotationMessage2 } } state RotationMessage2 { transition ShowTutorialMessage(2, 2, "facebuttonHammond") { vCameraMin = GetCamera("Rot") vCameraMax = vCameraMin action ShowObjectiveTip(2, true) goto DoRotation } } state DoRotation { transition CameraUpdated("Rot", vCameraMin, vCameraMax, 140.0) { action ShowObjectiveTip(2, false) action SetObjectiveStatus(2, true) goto ZoomMessage1 } savestate RotationMessage2 } ;// ********** Objective Three ********** state ZoomMessage1 { transition ShowTutorialMessage(3, 1, "facebuttonHammond") { goto ShowZoom } } state ShowZoom { transition DemoCamera(2) { goto ZoomMessage2 } } state ZoomMessage2 { transition ShowTutorialMessage(3, 2, "facebuttonHammond") { vCameraMin = GetCamera("Pos") vCameraMax = vCameraMin action ShowObjectiveTip(3, true) goto DoZoom } } state DoZoom { transition CameraUpdated("Zoom", vCameraMin, vCameraMax, 40.0) { action ShowObjectiveTip(3, false) action SetObjectiveStatus(3, true) goto MapMessage1 } savestate ZoomMessage2 } ;// ********** Objective Four ********** state MapMessage1 { transition ShowTutorialMessage(4, 1, "facebuttonHammond") { goto MapMessage2 } } state MapMessage2 { transition ShowTutorialMessage(4, 2, "facebuttonArnold") { goto MapMessage3 } } state MapMessage3 { transition ShowTutorialMessage(4, 3, "facebuttonArnold") { action ShowObjectiveTip(4,true) goto WaitForMapOpen } } state WaitForMapOpen { transition IsCurrentGameState("ATacMapState") { action ShowObjectiveTip(4,false) action SetObjectiveStatus(4, true) goto WaitForMapClose } savestate MapMessage3 } state WaitForMapClose { transition NotCurrentGameState("ATacMapState") { goto FindTriceraMessage1 } savestate MapMessage3 } ;// ********** Objective Five ********** state FindTriceraMessage1 { transition ShowTutorialMessage(5, 1, "facebuttonArnold") { action ClearUnitSelections() action ShowObjectiveTip(5,true) goto FindTricera } } state FindTricera { transition GetSpeciesCount("tricera") == 0 { action ShowObjectiveTip(5, false) action SetObjectiveStatus(5, false) goto MissionFail } transition UnitSelected("tricera") { action ShowObjectiveTip(5, false) action SetObjectiveStatus(5, true) goto FindTRexMessage1 } savestate FindTriceraMessage1 } ;// ********** Objective Six ********** state FindTRexMessage1 { transition ShowTutorialMessage(6, 1, "facebuttonArnold") { action ClearUnitSelections() action ShowObjectiveTip(6,true) goto FindTRex } } state FindTRex { transition GetSpeciesCount("trex") == 0 { action ShowObjectiveTip(6, false) action SetObjectiveStatus(6, false) goto MissionFail } transition UnitSelected("TRex") { action ShowObjectiveTip(6, false) action SetObjectiveStatus(6, true) action SetDinoStress(3, 1.0) goto FindRangerMessage1 } savestate FindTRexMessage1 } ;// ********** Objective Seven ********** state FindRangerMessage1 { transition ShowTutorialMessage(7, 1, "facebuttonArnold") { goto FindRangerMessage2 } } state FindRangerMessage2 { transition ShowTutorialMessage(7, 2, "facebuttonMuldoon") { goto FindRangerMessage3 } } state FindRangerMessage3 { transition ShowTutorialMessage(7, 3, "facebuttonMuldoon") { action ShowObjectiveTip(7, true) action ClearUnitSelections() goto FindRanger } } state FindRanger { transition GetSpeciesCount("trex") == 0 { action ShowObjectiveTip(7, false) action SetObjectiveStatus(7, false) goto MissionFail } transition UnitSelected("rangerdp") { action ShowObjectiveTip(7, false) action SetObjectiveStatus(7, true); goto StartChopperMessage1 } savestate FindRangerMessage3 } ;// ********** Objective Eight ********** state StartChopperMessage1 { transition ShowTutorialMessage(8, 1, "facebuttonMuldoon") { goto StartChopperMessage2 } } state StartChopperMessage2 { transition ShowTutorialMessage(8, 2, "facebuttonMuldoon") { goto StartChopperMessage3 } } state StartChopperMessage3 { transition ShowTutorialMessage(8, 3, "facebuttonMuldoon") { action ShowObjectiveTip(8, true) goto StartChopper } } state StartChopper { action SetEmergencyMode(true) transition GetSpeciesCount("trex") == 0 { action ShowObjectiveTip(8, false) goto MissionFail } transition { ;// Set up minigame action SetCurrentMiniGameParamList(0) ; This is param list AddMiniGameParam() will add Params to action AddMiniGameParam("IsScenario", true) action AddMiniGameParam("SetMiniGameExitEnable", false) ;// **** Allow/Disallow different ranger "modes" ;// Enable Sedate action AddMiniGameParam("SetModeEnable", 3, true) ;// **** Allow/Disallow components ;// Only allow carnivores to be sedated action AddMiniGameParam("SetSedateFlags", 1) ;// Forces the ranger minigame to NOT lock the hint message (allows this script to set and lock the hints) action AddMiniGameParam("LockHintMessage", false) ;// 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) ;// Start the minigame - RgrAttack(0), Game #0 (Generic) action StartMiniGame(0, 0) action StartTimer(1, 15) goto FlyWait } savestate StartChopperMessage3 } state FlyWait { transition HasTimerElapsed(1) { action ShowObjectiveTip(8, false) action SetObjectiveStatus(8, true); goto FlyTRexMessage } transition GetSpeciesCount("trex") == 0 { action ShowObjectiveTip(8, false) action SetObjectiveStatus(8, false) goto MissionFail } savestate StartChopperMessage3 } ;// ********** Objective Nine ********** state FlyTRexMessage { transition ShowTutorialMessage(9, 1, "facebuttonMuldoon") { action ShowObjectiveTip(9, true) goto FlyTRex } savestate StartChopperMessage3 } state FlyTRex { transition IsCurrentTarget("trex", 22500.0) { action ShowObjectiveTip(9, false) action SetObjectiveStatus(9, true); goto SedateTRexMessage } transition GetSpeciesCount("trex") == 0 { action ShowObjectiveTip(9, false) action SetObjectiveStatus(9, false) goto MissionFail } savestate StartChopperMessage3 } ;// ********** Objective Ten ********** state SedateTRexMessage { transition ShowTutorialMessage(10, 1, "facebuttonMuldoon") { action ShowObjectiveTip(10, true) goto SedateTRex } savestate StartChopperMessage3 } state SedateTRex { transition IsSedated("trex") { action ShowObjectiveTip(10, false) action SetObjectiveStatus(10, true); action StartTimer(1, 5) goto EndWait } transition GetSpeciesCount("trex") == 0 { action ShowObjectiveTip(10, false) action SetObjectiveStatus(10, false) goto MissionFail } savestate StartChopperMessage3 } ;// ********** Mission Finished ********** state EndWait { transition HasTimerElapsed(1) { goto MissionVictory } } state MissionVictory { action SetEmergencyMode(false) transition { goto MissionVictoryMsg1 } } state MissionVictoryMsg1 { transition ShowTutorialMessage(10, 2, "facebuttonMuldoon") { goto MissionVictoryMsg2 } } state MissionVictoryMsg2 { transition ShowMissionVictory() { action SetMissionWon() action UnlockMission("DinoOri") action SaveOptions() goto SaveOptions } } state SaveOptions { transition NotCurrentGameState("AOptionsSaveState") { goto MissionComplete } } state MissionFail { transition ShowMissionFailure() { goto MissionComplete } } ;// victory state final state MissionComplete { } }