/* Scenario: Dinosaur Origins * ==================================== * */ mission DinosaurOrigins { ;// mission info .info "objectives" 18 .info "savestate" "DinoOri" .info "budget" 250000 ;// systems to activate/de-activate .systemactive "Economy" true .systemactive "Visitor Pool" true .systemactive "Corporate System" true .systemactive "Build Menu" true .systemactive "Enclosure Analyser" true .systemactive "Weather System" true ;// features to disable (Example) ;.featuredisable "AFossilHuntDialog" ;.featuredisable "ADNAInventoryDialog" ;.featuredisable "AFossilMarketDialog" .featuredisable "ADNAModificationDialog" ;.featuredisable "ADinoSummaryDialog" .featuredisable "EmergencyOn" .featuredisable "GotoSafari" .featuredisable "GotoChopper" ;.featuredisable "AResearchDialog" .featuredisable "maintdep" .featuredisable "fountn" .featuredisable "bin" .featuredisable "bench" .featuredisable "kiosk" .featuredisable "toilet" .featuredisable "picnic" .featuredisable "shop" .featuredisable "vent" .featuredisable "viewplat" .featuredisable "hventry" .featuredisable "bllnride" .featuredisable "safari" .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" ;// research to disable ;.researchcomplete "JPISuperSequencer" ;.researchcomplete "JPIGrowthAccelerator" ;.researchcomplete "HatcheryLethalGene" ;.researchcomplete "HatcheryVaccination" ;.researchcomplete "ParkEntranceATM" ;.researchcomplete "ParkEntranceUmbrellas" ;.researchcomplete "RangerGyroStabiliser" ;.researchcomplete "RangerHeavyDutyBattery" ;.researchcomplete "RangerRetire" ;.researchcomplete "SuperHealingCompound" ;.researchcomplete "AutoLure" .researchcomplete "FenceType2" ;.researchcomplete "FenceType3" .researchcomplete "VisitorShelter" ;.researchcomplete "ViewPlatBinoculars" ;.researchcomplete "Fountain" .researchcomplete "SouvenirShop" .researchcomplete "RestArea" .researchcomplete "SecurityCamera" ;.researchcomplete "SentryTurret" ;.researchcomplete "BalloonRide" .researchcomplete "ViewingDome" ;.researchcomplete "ViewDomeFeedingSystem" ;.researchcomplete "SafariTour" ;.researchcomplete "AvoidanceBeacon" .researchcomplete "DinoBelly" .researchcomplete "TickInfestation" .researchcomplete "DinoFlu" .researchcomplete "Rabies" .researchcomplete "BumbleFoot" .researchcomplete "GastricPoison" ;// mail to disable ;// fossil maps to enable .fossilsenable "HellCreekA" .fossilsenable "FlamingCliffs" ;// These to go once new scheme comes in .fossilsenable "Morrisson1" ;// mission parameters .misparam ;// objective parameters .objparam 1 .objparam 2 .objparam 3 .objparam 4 .objparam 5 .objparam 6 .objparam 7 .objparam 8 2 .objparam 9 5 .objparam 10 .objparam 11 .objparam 12 1 .objparam 13 .objparam 14 .objparam 15 50 .objparam 16 50 .objparam 17 1 .objparam 18 ;// variable declarations (Example) .var iStartDNA .var iCurDNA ;// ********** 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("acro", 30) action SetDinoDNA("toro", 100) ;// The DNA value passed in is not exactly what it will be set to, so grab it here iStartDNA = GetDinoDNA("acro") action VaccinateAllDinosaurs() action RemoveAllMailMessages() transition { direct goto PlayIntroFlyover } } state PlayIntroFlyover { transition PlayTransition(0, false) { direct goto ShowMissionIntro } } state ShowMissionIntro { transition ShowMissionIntro() { goto ManagerMessage1 } } ;// ********** Objective One ********** state ManagerMessage1 { transition ShowTutorialMessage(1, 1, "facebuttonHammond") { action ShowObjectiveTip(1, true) goto WaitForManagerOpen } } state WaitForManagerOpen { transition IsCurrentGameState("AGameMenuState") { goto WaitForManagerClose } savestate ManagerMessage1 } state WaitForManagerClose { transition NotCurrentGameState("AGameMenuState") { action SetObjectiveStatus(1, true) action ShowObjectiveTip(1, false) goto ManagerMessage2 } savestate ManagerMessage1 } state ManagerMessage2 { transition ShowTutorialMessage(1, 2, "facebuttonHammond") { action StartTimer(1, 5) goto ManagerWait } } state ManagerWait { transition HasTimerElapsed(1) { goto MailMessage1 } } ;// ********** Objective Two ********** state MailMessage1 { transition ShowTutorialMessage(2, 1, "facebuttonHammond") { action ShowObjectiveTip(2, true) action SendMail("DinoOriginsIntro") goto WaitForMailOpen } } state WaitForMailOpen { transition IsCurrentGameState("AMailReadingState") { goto WaitForMailClose } savestate MailMessage1 } state WaitForMailClose { transition NotCurrentGameState("AMailReadingState") { action SetObjectiveStatus(2, true) action ShowObjectiveTip(2, false) goto MailMessage2 } savestate MailMessage1 } state MailMessage2 { ;// Yes the third sub message here, as the second one was for the mail message transition ShowTutorialMessage(2, 3, "facebuttonHammond") { action StartTimer(1, 5) goto HuntMessage1 } } ;// ********** Objective Three ********** state HuntMessage1 { transition ShowTutorialMessage(3, 1, "facebuttonGrant") { goto HuntMessage2 } } state HuntMessage2 { transition ShowTutorialMessage(3, 2, "facebuttonWu") { goto HuntMessage3 } } state HuntMessage3 { transition ShowTutorialMessage(3, 3, "facebuttonSattler") { goto HuntMessage4 } } state HuntMessage4 { transition ShowTutorialMessage(3, 4, "facebuttonGrant") { goto HuntMessage5 } } state HuntMessage5 { transition ShowTutorialMessage(3, 5, "facebuttonGrant") { action ShowObjectiveTip(3, true) action StartMenuFlash("AFossilHuntDialog"); goto WaitForHuntOpen } } state WaitForHuntOpen { transition IsCurrentGameState("AParkManagerDialogState", "AFossilHuntDialog") { action SetObjectiveStatus(3, true) action ShowObjectiveTip(3, false) action StopMenuFlash("AFossilHuntDialog"); action StartTimer(1,1) goto HuntTimer } transition IsCurrentGameState("AModalDialogState", "AFossilHuntDialog") { action SetObjectiveStatus(3, true) action ShowObjectiveTip(3, false) action StopMenuFlash("AFossilHuntDialog"); action StartTimer(1,1) goto HuntTimer } savestate HuntMessage5 } state HuntTimer { transition HasTimerElapsed(1) { goto HellCreekMessage1 } } ;// ********** Objective Four ********** state HellCreekMessage1 { transition ShowTutorialMessageNow(4, 1, "facebuttonGrant") { goto HellCreekMessage2 } } state HellCreekMessage2 { transition ShowTutorialMessageNow(4, 2, "facebuttonGrant") { action ShowObjectiveTip(4, true) goto WaitForHellCreek } } state WaitForHellCreek { transition IsCurrentHunt("HellCreekA") { action SetObjectiveStatus(4, true) action ShowObjectiveTip(4, false) goto PlaceTeamsMessage } savestate HellCreekMessage2 } ;// ********** Objective Five ********** state PlaceTeamsMessage { transition ShowTutorialMessageNow(5, 1, "facebuttonGrant") { action ShowObjectiveTip(5, true) goto WaitForTeams } } state WaitForTeams { transition GetAllocatedFossilTeams("HellCreekA") > 0 { action SetObjectiveStatus(5, true) action ShowObjectiveTip(5, false) goto WaitForHuntClose } savestate PlaceTeamsMessage } state WaitForHuntClose { transition NotCurrentGameState("AParkManagerDialogState") { action StartTimer(1, 5) goto HuntLeaveTimer } } state HuntLeaveTimer { transition HasTimerElapsed(1) { goto SummaryMessage1 } } ;// ********** Objective Six ********** state SummaryMessage1 { transition ShowTutorialMessage(6, 1, "facebuttonGrant") { goto SummaryMessage2 } } state SummaryMessage2 { transition ShowTutorialMessage(6, 2, "facebuttonSattler") { goto SummaryMessage3 } } state SummaryMessage3 { transition ShowTutorialMessage(6, 3, "facebuttonSattler") { goto SummaryMessage4 } } state SummaryMessage4 { transition ShowTutorialMessage(6, 4, "facebuttonSattler") { action ShowObjectiveTip(6, true) action StartMenuFlash("ADinoSummaryDialog"); goto WaitForSummary } } state WaitForSummary { transition IsCurrentGameState("AParkManagerDialogState", "ADinoSummaryDialog") { action SetObjectiveStatus(6, true) action ShowObjectiveTip(6, false) action StopMenuFlash("ADinoSummaryDialog"); action StartTimer(1,1) goto SummaryLeaveTimer } savestate SummaryMessage4 } state SummaryLeaveTimer { transition HasTimerElapsed(1) { goto ToroMessage1 } } ;// ********** Objective Seven ********** state ToroMessage1 { transition ShowTutorialMessageNow(7, 1, "facebuttonSattler") { goto ToroMessage2 } } state ToroMessage2 { transition ShowTutorialMessageNow(7, 2, "facebuttonSattler") { action ShowObjectiveTip(7, true) goto WaitForToro } } state WaitForToro { transition IsCurrentGameState("ADinopediaState") { action SetObjectiveStatus(7, true) action ShowObjectiveTip(7, false) goto DinopediaLeave } savestate ToroMessage2 } state DinopediaLeave { transition NotCurrentGameState("ADinopediaState") { goto HatcheryMessage1 } } ;// ********** Objective Eight ********** state HatcheryMessage1 { transition ShowTutorialMessage(8, 1, "facebuttonSattler") { goto HatcheryMessage2 } } state HatcheryMessage2 { transition ShowTutorialMessage(8, 2, "facebuttonSattler") { goto HatcheryMessage3 } } state HatcheryMessage3 { transition ShowTutorialMessage(8, 3, "facebuttonSattler") { goto HatcheryMessage4 } } state HatcheryMessage4 { transition ShowTutorialMessage(8, 4, "facebuttonSattler") { action ShowObjectiveTip(8, true) action StartMenuFlash("hatchery") goto WaitForHatchery } } state WaitForHatchery { transition GetBuildingCount("hatchery") > 1 { action SetObjectiveStatus(8, true) action ShowObjectiveTip(8, false) action StopMenuFlash("hatchery") action StartTimer(1, 5) goto HatcheryLeaveTimer } savestate HatcheryMessage4 } state HatcheryLeaveTimer { transition HasTimerElapsed(1) { goto HatchToroMessage } } ;// ********** Objective Nine ********** state HatchToroMessage { transition ShowTutorialMessage(9, 1, "facebuttonSattler") { action ShowObjectiveTip(9, true) goto WaitForHatching } } state WaitForHatching { transition CurrentHatching("toro") > 4 { action SetObjectiveStatus(9, true) action ShowObjectiveTip(9, false) action StartTimer(1, 5) goto HatchToroLeaveTimer } transition GetSpeciesCount("toro") > 4 { action SetObjectiveStatus(9, true) action ShowObjectiveTip(9, false) action StartTimer(1, 5) goto HatchToroLeaveTimer } savestate HatchToroMessage } state HatchToroLeaveTimer { transition HasTimerElapsed(1) { goto WaitTeamsMessage } } ;// ********** Objective Ten ********** state WaitTeamsMessage { transition ShowTutorialMessage(10, 1, "facebuttonSattler") { goto WaitForFind } } state WaitForFind { iCurDNA = GetDinoDNA("acro") transition iCurDNA > iStartDNA { action SetObjectiveStatus(10, true) action SetObjectiveStatus(11, true) goto HerbFoodMessage1 } transition FossilsFound("acro") { action ShowObjectiveTip(10, true) action StartMenuFlash("ADNAInventoryDialog") goto WaitGenetics } savestate WaitTeamsMessage } state WaitGenetics { transition IsCurrentGameState("AParkManagerDialogState", "ADNAInventoryDialog") { action ShowObjectiveTip(10, false) action SetObjectiveStatus(10, true) action StopMenuFlash("ADNAInventoryDialog") goto SequenceMessage } transition IsCurrentGameState("AModalDialogState", "ADNAInventoryDialog") { action ShowObjectiveTip(10, false) action SetObjectiveStatus(10, true) action StopMenuFlash("ADNAInventoryDialog") goto SequenceMessage } savestate WaitTeamsMessage } ;// ********** Objective Eleven ********** state SequenceMessage { transition ShowTutorialMessageNow(11, 1, "facebuttonWu") { action ShowObjectiveTip(11, true) goto WaitSequence } } state WaitSequence { transition IsCurrentSequence("acro") { action ShowObjectiveTip(11, false) action SetObjectiveStatus(11, true) goto HerbFoodMessage1 } savestate SequenceMessage } ;// ********** Objective Twelve ********** state HerbFoodMessage1 { transition ShowTutorialMessage(12, 1, "facebuttonSattler") { goto HerbFoodMessage2 } } state HerbFoodMessage2 { transition ShowTutorialMessage(12, 2, "facebuttonSattler") { action ShowObjectiveTip(12, true) action StartMenuFlash("herbfdsp") goto WaitHerbFood } } state WaitHerbFood { transition GetBuildingCount("herbfdsp") > 0 { action ShowObjectiveTip(12, false) action SetObjectiveStatus(12, true) action StopMenuFlash("herbfdsp") action StartTimer(1, 5) goto HerbLeaveTimer } savestate HerbFoodMessage2 } state HerbLeaveTimer { transition HasTimerElapsed(1) { goto HerbFoodMessage3 } } state HerbFoodMessage3 { transition ShowTutorialMessage(12, 3, "facebuttonSattler") { goto TreeMessage1 } } ;// ********** Objective Thirteen ********** state TreeMessage1 { transition ShowTutorialMessage(13, 1, "facebuttonSattler") { goto TreeMessage2 } } state TreeMessage2 { transition ShowTutorialMessage(13, 2, "facebuttonSattler") { goto TreeMessage3 } } state TreeMessage3 { transition ShowTutorialMessage(13, 3, "facebuttonSattler") { action ShowObjectiveTip(13, true) action StartMenuFlash("PaleoFlora") goto WaitTrees } } state WaitTrees { transition TreesPlanted() { action ShowObjectiveTip(13, false) action SetObjectiveStatus(13, true) action StopMenuFlash("PaleoFlora") action StartTimer(1, 5) goto TreesLeaveTimer } savestate TreeMessage3 } state TreesLeaveTimer { transition HasTimerElapsed(1) { goto UpgradeFencesMessage } } ;// ********** Objective Fourteen ********** state UpgradeFencesMessage { transition ShowTutorialMessage(14, 1, "facebuttonSattler") { action ShowObjectiveTip(14, true) goto UpgradeFencesWait } } state UpgradeFencesWait { transition FencesUpgraded("wt2sct90") { action SetObjectiveStatus(14, true) action ShowObjectiveTip(14, false) action StartTimer(1, 5) goto FencesLeaveTimer } savestate UpgradeFencesMessage } state FencesLeaveTimer { transition HasTimerElapsed(1) { goto AcroWaitMessage } } ;// ********** Objective Fifteen ********** state AcroWaitMessage { transition ShowTutorialMessage(15, 1, "facebuttonSattler") { action ShowObjectiveTip(15, true) goto AcroWait } } state AcroWait { transition GetDinoDNA("acro") > 49 { action SetObjectiveStatus(15, true) action ShowObjectiveTip(15, false) action StartTimer(1, 5) goto AcroLeaveTimer } savestate AcroWaitMessage } state AcroLeaveTimer { transition HasTimerElapsed(1) { goto HatchAcroMessage } } ;// ********** Objective Sixteen ********** state HatchAcroMessage { transition ShowTutorialMessage(16, 1, "facebuttonSattler") { action ShowObjectiveTip(16, true) goto HatchAcroWait } } state HatchAcroWait { transition GetSpeciesCount("acro") > 0 { action SetObjectiveStatus(16, true) action ShowObjectiveTip(16, false) action StartTimer(1, 5) goto HatchAcroLeaveTimer } savestate HatchAcroMessage } state HatchAcroLeaveTimer { transition HasTimerElapsed(1) { goto CarnFoodMessage1 } } ;// ********** Objective Seventeen ********** state CarnFoodMessage1 { transition ShowTutorialMessage(17, 1, "facebuttonSattler") { action ShowObjectiveTip(17, true) action StartMenuFlash("carnfdsp") goto CarnFoodWait } } state CarnFoodWait { transition GetBuildingCount("carnfdsp") > 0 { action SetObjectiveStatus(17, true) action ShowObjectiveTip(17, false) action StopMenuFlash("carnfdsp") action StartTimer(1, 5) goto CarnFoodLeaveTimer } savestate CarnFoodWait } state CarnFoodLeaveTimer { transition HasTimerElapsed(1) { goto CowMessage } } ;// ********** Objective Eighteen ********** state CowMessage { transition ShowTutorialMessage(18, 1, "facebuttonSattler") { action ShowObjectiveTip(18, true) goto CowWait } } state CowWait { transition UnitExists("cow") { action SetObjectiveStatus(18, true) action ShowObjectiveTip(18, false) goto FinalWait } savestate CowMessage } ;// ********** Mission Finished ********** state FinalWait { transition HasTimerElapsed(1) { goto MissionVictory } } state MissionVictory { transition { action StartTimer(1,15) goto WaitCowEat } } state WaitCowEat { transition HasTimerElapsed(1) { goto MissionVictoryMsg } transition UnitExists("cow") == false { goto MissionVictoryMsg } } state MissionVictoryMsg { transition ShowMissionVictory() { action SetMissionWon() action UnlockMission("WhatVis") action SaveOptions() goto SaveOptions } } state SaveOptions { transition NotCurrentGameState("AOptionsSaveState") { goto MissionComplete } } final state MissionComplete { } }