/* Scenario: RgrMust1 "Time to get moving..." * ==================================== NOTE: Make sure that we have 100% DNA dinosaurs before placing dinosaurs! Briefing: "Somehow our herbivores have escaped and we need them back in their enclosures. You must muster at least 5 Edmontmimus and 5 Parathosaurus to the holding pen within the time period. There are rogue Tyrannosaurs stalking the island. Use your rifle to control these predators." This mission requires the player to get 2 herds of herbivores to specific muster destinations within the time limit. For victory conditions a herd is defined as 10+ Edmontmimus and 5+ Parathosaurus. The only problems that the player will face is the time limit and the four carnivores that are stalking the island. The player can only tranquillise these carnivores. Carnivores should kill members of the herds as well as cause the herd to scatter in fright. o Time Limit: 15 minutes o Herbivores in this park: - 10 x Edmontosaurus (Hell Creek B) - 10 x Parasaurolophus (Hell Creek A) o Carnivores in the park: - 4 x Tyrannosaurus (Judith River B) o Park conditions: - The park is very "open plan" and should have two open ended enclosure which will be the destinations for the herbivores. The carnivores should be stalking the island, in a rampage state, looking for herbivores to kill. o Victory conditions: - 5+ Edmontosaurus must be mustered to a point in the park. - 5+ Parasaurolophus must be mustered to a specific point in the park */ mission RgrMust1 { ;// mission info .info "budget" 0 .info "objectives" 3 .info "savestate" "RgrMust1" ;// 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 "HellCreekA" .fossilsenable "HellCreekB" .fossilsenable "JudithRiverB" .misparam 5 5 ;// (Number of edmonts needed) (Number of paras needed) .objparam 1 5 5 ;// Number of edmonts needed, (Curr number of edmonts needed) .objparam 2 5 5 ;// Number of paras needed, (Curr number of paras needed) ;// variable declarations .var iTmp .var iCarnivoreCount .var iEdmontCount .var iParaCount .var iNeededEdmont .var iNeededPara .var iCurrStep ;// Set up hint messages .objhint 1 1 tip ;// Number of trex left .objhint 2 2 tip ;// Number Edmont needed in muster area .objhint 4 3 tip ;// Number Para needed in muster area .hint 8 "Mission_RgrMust1_Hint5" ;// Enough Edmont in muster area .hint 16 "Mission_RgrMust1_Hint4" ;// Enough Para in muster area .hint 32 "Mission_RgrMust1_Hint6" ;// Use radar and map to find muster area ;// mission states state MissionInit { action SetWeatherFrequency(0, 100) action SetWeatherFrequency(1, 0) action SetWeatherFrequency(2, 0) action SetWeatherFrequency(3, 0) action SetWeatherFrequency(4, 0) action SendWeather(0) action LockCurrentWeather(true) action SetAllSpeciesDinoDNA(100); action VaccinateAllDinosaurs() action RemoveAllMailMessages() ;// Set up the number of dinos needed alive for the mission to continue iNeededEdmont = 5 iNeededPara = 5 ;// 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 Muster action AddMiniGameParam("SetModeEnable", 8, true) ;// Point the arrow at the centre of the muster area when in muster mode action SetMusterTarget(0); ;// **** Allow/Disallow components ;// Allow retire of all dinosaurs, but don't count herbivores as targets action AddMiniGameParam("SetRetireFlags", 17) ;// Don't allow anything to be sedated action AddMiniGameParam("SetSedateFlags", 0) ;// Initialises bullet limitation action AddMiniGameParam("InitBulletLimit", -1); ;// 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 - RgrMust(2), Game #1 ;// action StartMiniGame(2, 1) ;// This is now performed by the PlayTransition call while the screen is black! transition { direct goto PlayFlyOver } } state PlayFlyOver { transition PlayTransition(0, false, 0) { goto StartMission } } state StartMission { transition ShowMissionIntro("facebuttonSattler") { iCurrStep = 1 action StartTimer(1, 10) action StartTimer(2, 5) ;// Start hints action StartTimer(6, 6) action SetHintFlag(1) ;// Enable "Trex left" hint action SetHintFlag(2) ;// Enable "Edmont left" hint action SetHintFlag(4) ;// Enable "Para left" hint action SetHintFlag(32) ;// Use radar and map to find muster area action ShowNextHint() ;// Show first hint ;// Start timer action EnableMissionTimer(true) action StartMissionTimer(540.0) goto MainLoop } } ;// Check to see if the minigame has been completed state MainLoop { ;// Keep carnivores enraged transition iCurrStep == 1 { action SetDinoStress(4, 1.0) goto CheckCarnivores } transition iCurrStep == 2 { goto CheckEdmont } transition iCurrStep == 3 { goto CheckPara } transition HasMissionTimerElapsed() { goto MissionFailureOuttaTime } transition iCurrStep == 4 { goto CheckVictory } transition iCurrStep == 5 { goto CheckTimers } transition iCurrStep == 6 { iCurrStep = 1 goto MainLoop } } state NextStep { action AddImm(iCurrStep, 1) transition { goto MainLoop } } state CheckVictory { transition GetObjectiveStatus(2) == false { ;// Don't have necessary edmonts goto NextStep } transition GetObjectiveStatus(3) == false { ;// Don't have necessary para goto NextStep } transition { goto MissionVictory } } state CheckTimers { transition HasTimerElapsed(1) { ;// Keep dinos on the muster area (all herbivores) action SedateDinosOnTriggerArea(0, 5) action StartTimer(1, 10) goto NextStep } transition HasTimerElapsed(2) { ;// Keep all herbivores in the active state action StartTimer(2, 20) action SetDinoTypeToMissionMode(6) goto NextStep } transition HasTimerElapsed(6) { ;// Show the next hint action ShowNextHint() action StartTimer(6, 6) goto NextStep } transition { goto NextStep } } state CheckCarnivores { action SetObjectiveStatus(1, false) iCarnivoreCount = GetDinoTypeCount(4) action SetObjectiveParametersFromVars(1, iCarnivoreCount) transition iCarnivoreCount == 0 { action SetObjectiveStatus(1, true) action ClearHintFlag(1) ;// Disable "Trex left" hint goto NextStep } transition { goto NextStep } } state CheckEdmont { action SetObjectiveStatus(2, false) transition GetSpeciesCount("edmont") < iNeededEdmont { ;// Too many edmonts have died - we can't win now goto MissionFailureEdmont } iEdmontCount = GetDinoTypeCountInArea(0, "edmont") transition iEdmontCount >= 5 { ;// We've got enough edmonts in the edmont trigger area iTmp = 0 action SetObjectiveParametersFromVars(2, iNeededEdmont, iTmp) action SetObjectiveStatus(2, true) action ClearHintFlag(2) ;// Disable "Edmont left" hint action SetHintFlag(8) ;// Enable "enough Edmont" hint goto NextStep } iTmp = iNeededEdmont action SubVarFromVar(iTmp, iEdmontCount) action SetObjectiveParametersFromVars(2, iNeededEdmont, iTmp) transition { goto NextStep } } state CheckPara { action SetObjectiveStatus(3, false) transition GetSpeciesCount("para") < iNeededPara { ;// Too many para have died - we can't win now goto MissionFailurePara } iParaCount = GetDinoTypeCountInArea(0, "para") transition iParaCount >= 5 { ;// We've got enough paras in the para trigger area iTmp = 0 action SetObjectiveParametersFromVars(3, iNeededPara, iTmp) action SetObjectiveStatus(3, true) action ClearHintFlag(4) ;// Disable "Para left" hint action SetHintFlag(16) ;// Enable "enough Para" hint goto NextStep } iTmp = iNeededPara action SubVarFromVar(iTmp, iParaCount) action SetObjectiveParametersFromVars(3, iNeededPara, iTmp) transition { goto NextStep } } ;// Success state MissionVictory { action StartTimer(1, 3) transition { goto MissionVictoryWait } } state MissionVictoryWait { transition HasTimerElapsed(1) { goto MissionVictoryShow } } state MissionVictoryShow { transition ShowMissionVictory("facebuttonSattler") { action SetMissionWon() action UnlockMission("Safari2") action SaveOptions() goto SaveOptions } } state SaveOptions { transition NotCurrentGameState("AOptionsSaveState") { goto MissionComplete } } ;// Mission failed because too many edmonts were killed state MissionFailureEdmont { transition ShowMissionFailure("facebuttonSattler", "Mission_RgrMust1_Failure_Edmont") { goto MissionComplete } } ;// Mission failed because too many paras were killed state MissionFailurePara { transition ShowMissionFailure("facebuttonSattler", "Mission_RgrMust1_Failure_Para") { goto MissionComplete } } ;// Mission failed because the edmonts weren't mustered within the given time state MissionFailureOuttaTime { transition ShowMissionFailure("facebuttonSattler", "Mission_RgrMust1_Failure_OuttaTime") { goto MissionComplete } } ;// Go back to the front screen final state MissionComplete { } }