/* Scenario: Safari mission 1 : A photo is worth 100 points * ==================================== * Author : Alister Hatt */ /* 5 x Raptors - Flaming Cliffs 5 x Homalo - Flaming Cliffs 2 x Brach - Morrison B 5 x Camara - Morrison B 5 x Anky - Judith River A 5 x Pachy - Judith River A */ mission Safari1 { ;// mission info ;// --------------------------------------------------------------- .info "budget" 100000 ; Enough to buy a few jeeps .info "objectives" 1 .info "savestate" "Safari1" ;// 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 "SaveGame" .featuredisable "LoadGame" .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 "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" .fossilsenable "MorrisonA" .fossilsenable "MorrisonB" .fossilsenable "TendaguruBeds" ;// mission parameters .misparam ;// objective parameters .objparam 1 100 ;// variable declarations ;// --------------------------------------------------------------- .var iJeepsRemaining .var bDisplayedNoPhotosMessage .var iPhotoGoal .var iTemp .var iTemp2 .var iTip ; **************************************** ; * mission states * ; **************************************** ;// --------------------------------------------------------------- state MissionInit { ; //Jeeps for this mission iJeepsRemaining = 3 iPhotoGoal = 100 iTip = 1 bDisplayedNoPhotosMessage = false action SetAllSafariDepotsAutoSpawn() action VaccinateAllDinosaurs() action RemoveAllMailMessages() action SetObjectiveScore(iPhotoGoal) ; // Enable and start mission timer ;action EnableMissionTimer(true) ;action StartMissionTimer(600) ; // Set mini-game flags action ClearAllMiniGameParams() action SetCurrentMiniGameParamList(0) ; //This is param list AddMiniGameParam() will add Params to action AddMiniGameParam("SafariFlag", 163) ; //"Unlimited fuel" + "show scores" + "show jeeps remaining" + "locked in drive state" action AddMiniGameParam("IsScenario", true) action SetJeepsAvailable(iJeepsRemaining) action SetJeepsRemaining(iJeepsRemaining) action SetDefaultMiniGameParamList(0) ; //Setup photo album action SetMaximumPhotos(10) action ResetPhotoAlbum() ; //Setup analyser ; //Set low weights for this mission to make it harder to get 100 points action SetPhotoAnalyserParam("Weights", 0.0, 1.0, 0.0, 0.0) ; //Terrain, dinos, trees, wildlife action SetPhotoAnalyserParam("Multiplier", 16.0) ; //Score multiplier ; //Setup objective values iTemp = 0 action SetObjectiveParametersFromVars(1, iPhotoGoal, iTemp, iPhotoGoal) ; //Goal, total, remaing action StartTimer(2, 1) action SetUnitTypeSelectable("rgrcopt", true) action SetUnitTypeSelectable("rangerdp", true) action SetUnitTypeSelectable("welccntr", true) action LockCurrentWeather(false) ; Activate normal weather action SendWeather(0) action LockCurrentWeather(true) ; // Intro transition { direct goto PlayFlyOver } } ;// --------------------------------------------------------------- state PlayFlyOver { transition PlayTransition(0, false, 1) { direct goto StartMission } } ;// --------------------------------------------------------------- state StartMission { transition ShowMissionIntro("facebuttonHammond") { direct goto DisplayObjectives } } ;// --------------------------------------------------------------- state DisplayObjectives { transition ShowObjectiveMessage(1) { goto DisplayHint } } ;// --------------------------------------------------------------- state DisplayHint { transition { action ShowMiniGameLocaleMessageHint("Hint_Safari_H3", true) action StartTimer(2, 10) goto StartGame } } ;// --------------------------------------------------------------- state StartGame { transition ;// StartMiniGame(1,1) ;// This is now performed by the PlayTransition call while the screen is black! { action StartTimer(3, 5) action StartTimer(5, 1) goto MissionLoop } } ;// mission loop ;// --------------------------------------------------------------- state MissionLoop { ; // Player has returned to the safari depot with their photos transition HasSafariJeepReturned() { goto UserReturnedToDepot } ; // Mini-game unit destroyed transition IsMiniGameUnitDestroyed() { goto JeepDestroyed } ; // User has reached taget points transition GetTotalPhotoScore() >= 100 { goto DecideMissionOutcome } ; // Switch objective tips transition HasTimerElapsed(2) { action StartTimer(2, 10) goto SwitchTips } ; // Reset any dead jeeps back to their safari depot transition HasTimerElapsed(3) { action ResetDeadJeeps() action StartTimer(3, 5) goto MissionLoop } transition HasTimerElapsed(5) { action StartTimer(5, 1) goto UpdateTips } transition GetPhotosAvailable() == 0 { goto NoPhotosLeft } } ;// --------------------------------------------------------------- state NoPhotosLeft { transition { goto DecideMissionOutcome } } ;// --------------------------------------------------------------- state UserReturnedToDepot { transition { goto MissionFailed } } ;// --------------------------------------------------------------- state JeepDestroyed { transition { action SubImm(iJeepsRemaining, 1) action SetJeepsRemaining(iJeepsRemaining) goto HasJeepsLeft } } ;// --------------------------------------------------------------- state HasJeepsLeft { ; Take the user from the jeep transition iJeepsRemaining >= 1 { goto DisplayJeepsLeft } ; No jeeps left, end mission transition { goto DecideMissionOutcome } } ;// --------------------------------------------------------------- state WaitThenRestartMiniGame { transition HasTimerElapsed(1) { goto FadeOutNow } } ;// --------------------------------------------------------------- state FadeOutNow { transition FadeOutAndRespawnJeep() { goto MissionLoop } } ;// --------------------------------------------------------------- state DisplayJeepsLeft { ; You have blah jeeps left, go and purchase another. transition SetMessageLocale("Mission_Safari1_JeepDestroyed_H", "Mission_Safari1_JeepsLeft", "facebuttonHammond") { action StartTimer(1,5) goto WaitThenRestartMiniGame } } ;// --------------------------------------------------------------- state DisplayAnalyserScores { ; // Remove mini game state and all it's HUD stuff action EndMiniGame() transition ShowPhotoAnalyserDialog() { goto DecideMissionOutcome } } ;// --------------------------------------------------------------- state DecideMissionOutcome { ; // Achieved photo score, horray! transition GetTotalPhotoScore() >= 100 { action StartTimer(1,6) goto WaitForVictory } ; // User has no jeeps left, so they failed because of this transition iJeepsRemaining < 1 { goto MissionFailed_NoJeepsLeft } ; // Else you failed transition { goto MissionFailed } } ;// --------------------------------------------------------------- state WaitForVictory { transition HasTimerElapsed(1) { goto MissionVictory } } ; // Victory message ;// --------------------------------------------------------------- state MissionVictory { transition ShowMissionVictory("facebuttonHammond") { action SetMissionWon() action UnlockMission("RgrAttk1") action SaveOptions() goto SaveOptions } } ;// --------------------------------------------------------------- state SaveOptions { transition NotCurrentGameState("AOptionsSaveState") { goto VictoryShowPhotos } } ;// --------------------------------------------------------------- state VictoryShowPhotos { transition ShowPhotoAnalyserDialog() { goto MissionComplete } } ; // Failure message ;// --------------------------------------------------------------- state MissionFailed { transition ShowMissionFailure("facebuttonHammond") { goto ShowScoresFailure } } ;// --------------------------------------------------------------- state MissionFailed_NoJeepsLeft { transition ShowMissionFailure("facebuttonHammond", "Mission_Safari1_NoJeepsLeft") { action StartTimer(1, 5) goto ShowScoresFailure } } ;// --------------------------------------------------------------- state ShowScoresFailure { transition ShowPhotoAnalyserDialog() { goto MissionComplete } } ; // Will return to front end ;// --------------------------------------------------------------- final state MissionComplete { } ;; //**************** ;; //TIPS ;; //**************** ;// --------------------------------------------------------------- state UpdateTips { transition iTip == 1 { iTemp = 100 iTemp2 = GetTotalPhotoScore() action SubVarFromVar(iTemp, iTemp2) action Clip(iTemp, 0, 100) action ShowMiniGameLocaleMessageHint("Hint_Safari_H1", true, iTemp) goto MissionLoop } transition iTip == 2 { action ShowMiniGameLocaleMessageHint("Hint_Safari_H2", true, iJeepsRemaining) goto MissionLoop } transition iTip == 3 { action ShowMiniGameLocaleMessageHint("Hint_Safari_H3", true) goto MissionLoop } transition iTip == 4 { ; action ShowMiniGameLocaleMessageHint("Hint_Safari_H4", true) ; Skip this one iTip = 5 action ShowMiniGameLocaleMessageHint("Hint_Safari_H5", true) goto MissionLoop } transition iTip == 5 { action ShowMiniGameLocaleMessageHint("Hint_Safari_H5", true) goto MissionLoop } transition iTip == 6 { action ShowMiniGameLocaleMessageHint("Hint_Safari_H6", true) goto MissionLoop } transition iTip == 7 { action ShowMiniGameLocaleMessageHint("Hint_Safari_H7", true) goto MissionLoop } transition iTip == 8 { action ShowMiniGameLocaleMessageHint("Hint_Safari_H15", true) goto MissionLoop } transition iTip == 99 { action ShowMiniGameLocaleMessageHint("Hint_Safari_H4", true) goto MissionLoop } } ;// --------------------------------------------------------------- state SwitchTips { ; //Don't show tips once we've reached the score transition GetTotalPhotoScore() >= 100 { iTip = 99 goto UpdateTips } action AddImm(iTip, 1) transition iTip > 8 { iTip = 1 goto UpdateTips } transition { goto UpdateTips } } }