public MySolarfactoryEACMission() { m_ValidateIDlists = new List <List <uint> >(); m_ValidateIDlists.Add(m_greenLights); m_ValidateIDlists.Add(m_redLights); ID = MyMissionID.SOLAR_PLANT_EAC; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Solar factory - EAC"); // Nazev mise Name = MyTextsWrapperEnum.SOLAR_PLANT_EAC; Description = MyTextsWrapperEnum.EmptyDescription; MyMwcVector3Int baseSector = new MyMwcVector3Int(2700837, 0, -1774663); // Story sector of the script Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Startmy point RequiredMissions = new MyMissionID[] { }; // mise ktere musi byt splneny pred prijetim teto mise RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.SOLAR_PLANT_EAC_RETURN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List <MyObjective>(); // Creating of list of submissions // START DEFINICE SUBMISE var DestroyTransformator = new MyObjectiveDestroy( // Var is used to call functions on that member new StringBuilder("Destroy the transformer"), MyMissionID.SOLAR_PLANT_EAC_DESTROY, new StringBuilder(""), null, this, new MyMissionID[] { }, Transformators, false ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudTransformer }; DestroyTransformator.OnMissionSuccess += new Missions.MissionHandler(DestroyedTransformator); m_objectives.Add(DestroyTransformator); // pridani do seznamu submisi var ReturnToMothership = new MyObjective( // One member of that list - je to MyObjective takze cilem je doletet do checkpointu new StringBuilder("Return to your mothership"), // nazev submise MyMissionID.SOLAR_PLANT_EAC_RETURN, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] { MyMissionID.SOLAR_PLANT_EAC_DESTROY, }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), // ID of dummy point of checkpoin //StartDialogId: MyDialogueEnum.SLAVERBASE_0900_NUKE_HACKED, radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; // nastaveni save na checkpointu nebo ne m_objectives.Add(ReturnToMothership); // }
public MySmallPirateBase2() { ID = MyMissionID.SMALL_PIRATE_BASE_2; /* ID must be added to MyMissions.cs */ Name = new StringBuilder("Small pirate base 2"); // Nazev mise Description = new StringBuilder( // popis mise "Destroy the station\n" ); MyMwcVector3Int baseSector = new MyMwcVector3Int(9708260,0,-2101810); // Story sector of the script Location = new MyMissionLocation(baseSector, 1749); // Starting dummy point RequiredMissions = new MyMissionID[] { }; // mise ktere musi byt splneny pred prijetim teto mise m_submissions = new List<MyObjective>(); // Creating of list of submissions // START DEFINICE SUBMISE DestroyEnemies = new MyObjectiveDestroy( // Var is used to call functions on that member new StringBuilder("Destroy the mothership"), MyMissionID.SMALL_PIRATE_BASE_2_DESTROY_ENEMIES, new StringBuilder(""), null, this, new MyMissionID[] { }, new List<uint> { 5293 }, new List<uint> { }, false ) { SaveOnSuccess = false }; m_submissions.Add(DestroyEnemies); // pridani do seznamu submisi DestroyGenerator = new MyObjectiveDestroy( // Var is used to call functions on that member new StringBuilder("Destroy the generator"), MyMissionID.SMALL_PIRATE_BASE_2_DESTROY_GENERATOR, new StringBuilder(""), null, this, new MyMissionID[] { }, new List<uint> { 812 }, new List<uint> { }, false ) { SaveOnSuccess = false }; m_submissions.Add(DestroyGenerator); // pridani do seznamu submisi var escape = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu new StringBuilder("Return to the mothership"), // nazev submise MyMissionID.PIRATE_BASE_1_ESCAPE, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] { MyMissionID.PIRATE_BASE_1_DESTROY_GENERATOR, }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, 2475) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // nastaveni save na checkpointu nebo ne m_submissions.Add(escape); // pridani do seznamu submisi }
public MyHippieOutpostMission() { ID = MyMissionID.HIPPIE_OUTPOST; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Hippie Outpost"); // Name of mission Name = MyTextsWrapperEnum.HIPPIE_OUTPOST; Description = MyTextsWrapperEnum.HIPPIE_OUTPOST_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(238307, 0, -2545498); // Story sector of the script - i.e. (-2465,0,6541) RequiredMissions = new MyMissionID[] { }; Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN }; m_objectives = new List <MyObjective>(); // Creating of list of submissions var reach_outpost = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it new StringBuilder("See what's wrong!"), // Name of the submission MyMissionID.REACH_OUTPOST, // ID of the submission - must be added to MyMissions.cs new StringBuilder("\n"), // Description of the submission null, this, new MyMissionID[] { }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.reach) // ID of dummy point of checkpoint ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.Nothing }; // False means do not save game in that checkpoint m_objectives.Add(reach_outpost); // START OF DESTROY SUBMISSION DEFINITION var KillKharmaSpoilers = new MyObjectiveDestroy( // MySubmissionDestroy means mission with objective to destroy something - here it is class member so you can call methods on it new StringBuilder("Place the karma spoilers"), //Name of the submission MyMissionID.KILL_ALL, // ID of the submission new StringBuilder("Don't let them spread negative energy!\n"), // Description of the submission null, this, new MyMissionID[] { MyMissionID.REACH_OUTPOST }, // ID of submissions required to make this submission available - these declares the sequence of submissions null, new List <uint> { (uint)EntityID.Spawn1, (uint)EntityID.Spawn2, (uint)EntityID.Spawn3, (uint)EntityID.Spawn4, (uint)EntityID.Spawn5, (uint)EntityID.Spawn6, (uint)EntityID.Spawn7 }, // ID of objects to be destroyed as a mission objective true ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(KillKharmaSpoilers); // END OF DESTROY SUBMISSION DEFINITION }
public MySmallPirateBaseMission() { ID = MyMissionID.PIRATE_BASE_1; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Small pirate base"); // Nazev mise Name = MyTextsWrapperEnum.PIRATE_BASE_1; Description = MyTextsWrapperEnum.PIRATE_BASE_1_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(14393995, 0, 2939339); // Story sector of the script Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point RequiredMissions = new MyMissionID[] { }; // mise ktere musi byt splneny pred prijetim teto mise RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.PIRATE_BASE_1_ESCAPE }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List <MyObjective>(); // Creating of list of submissions // START DEFINICE SUBMISE DestroyGenerator = new MyObjectiveDestroy( // Var is used to call functions on that member new StringBuilder("Destroy the generator"), MyMissionID.PIRATE_BASE_1_DESTROY_GENERATOR, new StringBuilder(""), null, this, new MyMissionID[] { }, generators, false ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudGenerator }; m_objectives.Add(DestroyGenerator); // pridani do seznamu submisi DestroyGenerator.OnMissionSuccess += new Missions.MissionHandler(DestroyMSSuccess); var escape = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu new StringBuilder("Escape"), // nazev submise MyMissionID.PIRATE_BASE_1_ESCAPE, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] { MyMissionID.PIRATE_BASE_1_DESTROY_GENERATOR, }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), // ID of dummy point of checkpoint radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; // nastaveni save na checkpointu nebo ne m_objectives.Add(escape); // pridani do seznamu submisi }
public MyTestAttackMission() { ID = MyMissionID.TEST_ATTACK_MISSION; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Test attack mission"); Name = Localization.MyTextsWrapperEnum.EmptyDescription; Description = Localization.MyTextsWrapperEnum.EmptyDescription; MyMwcVector3Int baseSector = new MyMwcVector3Int(-3, 0, 3); Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); RequiredMissions = new MyMissionID[] { MyMissionID.TEST_ATTACK_MISSION }; RequiredActors = new MyActorEnum[] { }; m_objectives = new List <MyObjective>(); var objective1 = new MyObjective( new StringBuilder("Objective1"), MyMissionID.TEST_ATTACK_MISSION_OBJECTIVE1, new StringBuilder(""), null, this, new MyMissionID[] { }, null ); objective1.SaveOnSuccess = true; m_objectives.Add(objective1); var objective2 = new MyObjective( new StringBuilder("Objective2"), MyMissionID.TEST_ATTACK_MISSION_OBJECTIVE2, new StringBuilder(""), null, this, new MyMissionID[] { MyMissionID.TEST_MISSION_OBJECTIVE1 }, null ); objective2.SaveOnSuccess = true; m_objectives.Add(objective2); }
public void SetObjectives(int?missionId /*, List<MyMissionID> optionalObjectives*/) { MyObjective objective = null; if (missionId.HasValue && (objective = MyMissions.GetMissionByID((MyMissionID)missionId.Value) as MyObjective) != null) { RequiredActors = objective.ParentMission.RequiredActors; MainObjective.RequiredActors = objective.RequiredActors; InsertRequiredActors(); objective.InsertRequiredActors(); Name = objective.ParentMission.Name; NameTemp = objective.ParentMission.NameTemp; Description = objective.ParentMission.Description; DescriptionTemp = objective.ParentMission.DescriptionTemp; } else { Name = MyTextsWrapperEnum.EmptyDescription; NameTemp = new StringBuilder(); Description = MyTextsWrapperEnum.EmptyDescription; DescriptionTemp = new StringBuilder(); } MainObjective.SetObjectives(objective); // Only one objective is active //m_objectives.Clear(); //m_objectives.Add(MainObjective); //foreach (var objective in optionalObjectives) //{ // var baseObjective = MyMissions.GetMissionByID(objective); // if (baseObjective != null) // { // var o = new MyFollowHostObjective(this); // o.SetObjectives(baseObjective); // m_objectives.Add(o); // } //} }
public MyChineseEscapeMission() { ID = MyMissionID.CHINESE_ESCAPE; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.CHINESE_ESCAPE; Description = MyTextsWrapperEnum.CHINESE_ESCAPE_Description; // "Defend Madelyn's mothership and escape with stolen cargo\n" DebugName = new StringBuilder("08d-Chinese escape"); Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-1919599, 0, 5268734); // Story sector of the script Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point RequiredMissions = new MyMissionID[] { MyMissionID.CHINESE_REFINERY }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.CHINESE_ESCAPE_SPEAK_WITH_MADELYN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN }; m_objectives = new List <MyObjective>(); // Creating of list of submissions m_objective01_flyTowardsMadelyn = new MyObjective( // One member of that list (MyTextsWrapperEnum.CHINESE_ESCAPE_GET_CLOSER_Name), MyMissionID.CHINESE_ESCAPE_GET_CLOSER, (MyTextsWrapperEnum.CHINESE_ESCAPE_GET_CLOSER_Description), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.O01DefendMadelyn), startDialogId: MyDialogueEnum.CHINESE_ESCAPE_0100_INTRODUCTION ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; m_objective01_flyTowardsMadelyn.OnMissionLoaded += O01FlyTowardsMadelynLoaded; m_objective01_flyTowardsMadelyn.OnMissionSuccess += O01FlyTowardsMadelynSuccess; m_objectives.Add(m_objective01_flyTowardsMadelyn); m_objective02_defendMadelyn = new MyObjectiveDestroy( (MyTextsWrapperEnum.CHINESE_ESCAPE_DEFEND_SHIP_Name), MyMissionID.CHINESE_ESCAPE_DEFEND_SHIP, (MyTextsWrapperEnum.CHINESE_ESCAPE_DEFEND_SHIP_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_ESCAPE_GET_CLOSER }, null, new List <uint> { (uint)EntityID.SpawnLastL, (uint)EntityID.SpawnLastR, (uint)EntityID.SpawnLastAsteroid }, true, true ) { SaveOnSuccess = true }; m_objectives.Add(m_objective02_defendMadelyn); m_objective02_defendMadelyn.OnMissionLoaded += new MissionHandler(m_objective02_defendMadelyn_OnMissionLoaded); m_objective02_defendMadelyn.OnMissionCleanUp += new MissionHandler(m_objective02_defendMadelyn_OnMissionCleanUp); var objective03_lastDialogue = new MyObjectiveDialog( MyTextsWrapperEnum.CHINESE_ESCAPE_SPEAK_WITH_MADELYN_Name, MyMissionID.CHINESE_ESCAPE_SPEAK_WITH_MADELYN, MyTextsWrapperEnum.CHINESE_ESCAPE_SPEAK_WITH_MADELYN_Description, null, this, new MyMissionID[] { MyMissionID.CHINESE_ESCAPE_DEFEND_SHIP }, dialogId: MyDialogueEnum.CHINESE_ESCAPE_1000_LAST_OF_THEM ) { SaveOnSuccess = false }; m_objectives.Add(objective03_lastDialogue); }
public MyLastHopeMission() { ID = MyMissionID.LAST_HOPE; Name = MyTextsWrapperEnum.LAST_HOPE; Description = MyTextsWrapperEnum.LAST_HOPE_Description; DebugName = new StringBuilder("07-Last Hope"); Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-190694, 0, -18204363); Location = new MyMissionLocation(baseSector, (uint)EntityId.ReachColonyDummy); RequiredMissions = new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.LAST_HOPE_LEAVE_UNDERGROUND }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN }; #region Objectives m_objectives = new List <MyObjective>(); var reachColony = new MyObjective( MyTextsWrapperEnum.LAST_HOPE_REACH_COLONY, MyMissionID.LAST_HOPE_REACH_COLONY, MyTextsWrapperEnum.LAST_HOPE_REACH_COLONY_DESCRIPTION, null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityId.ReachColonyDummy), startDialogId: MyDialogueEnum.LAST_HOPE_0100 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudLastHope }; reachColony.Components.Add(new MySpawnpointWaves((uint)EntityId.ReachColonyDialogDetector, 1, new List <uint[]>() { new uint[] { (uint)EntityId.ReachColonySpawn1 } })); var dialogComponent = new MyDetectorDialogue((uint)EntityId.ReachColonyDialogDetector, MyDialogueEnum.LAST_HOPE_0200); dialogComponent.OnDialogStarted += ReachColonyDialogComonentOnOnDialogStarted; dialogComponent.OnDialogFinished += ReachColonyDialogComonentOnOnDialogFinished; reachColony.Components.Add(dialogComponent); m_objectives.Add(reachColony); var destroySlaverRiders = new MyObjectiveDestroy( MyTextsWrapperEnum.LAST_HOPE_REACH_DESTROY_RIDERS, MyMissionID.LAST_HOPE_DESTROY_SLAVER_RIDERS, MyTextsWrapperEnum.LAST_HOPE_REACH_DESTROY_RIDERS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_REACH_COLONY }, new List <uint> { (uint)EntityId.DestroySlaverRidersGenerator1, (uint)EntityId.DestroySlaverRidersGenerator2 } ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.LAST_HOPE_0300, HudName = MyTextsWrapperEnum.Nothing }; destroySlaverRiders.Components.Add(new MySpawnpointWaves((uint)EntityId.DestroySlaverRidersDetector1, 1, new List <uint[]>() { new uint[] { (uint)EntityId.DestroySlaverRidersSpawn11 }, new uint[] { (uint)EntityId.DestroySlaverRidersSpawn12 } })); destroySlaverRiders.Components.Add(new MySpawnpointWaves((uint)EntityId.DestroySlaverRidersDetector1, 1, new List <uint[]>() { new uint[] { (uint)EntityId.DestroySlaverRidersSpawn21 }, new uint[] { (uint)EntityId.DestroySlaverRidersSpawn22 } })); destroySlaverRiders.Components.Add(new MySpawnpointWaves((uint)EntityId.DestroySlaverRidersDetector3, 1, new List <uint[]>() { new uint[] { (uint)EntityId.DestroySlaverRidersSpawn31 }, new uint[] { (uint)EntityId.DestroySlaverRidersSpawn32 } })); destroySlaverRiders.Components.Add(new MySpawnpointWaves((uint)EntityId.DestroySlaverRidersDetector3, 1, new List <uint[]>() { new uint[] { (uint)EntityId.DestroySlaverRidersSpawn41 }, new uint[] { (uint)EntityId.DestroySlaverRidersSpawn42 } })); destroySlaverRiders.OnMissionLoaded += DestroySlaverRiders_Loaded; m_objectives.Add(destroySlaverRiders); m_catchSlaverRiders = new MyObjective( MyTextsWrapperEnum.LAST_HOPE_REACH_CATCH_SHIPS, MyMissionID.LAST_HOPE_CATCH_SLAVER_RIDERS, MyTextsWrapperEnum.LAST_HOPE_REACH_CATCH_SHIPS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_DESTROY_SLAVER_RIDERS, }, new MyMissionLocation(baseSector, (uint)EntityId.CatchSlaverRidersDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.LAST_HOPE_0400 }; m_catchSlaverRiders.Components.Add(new MySpawnpointWaves((uint)EntityId.CatchSlaverRidersDetector1, 1, new List <uint[]>() { new uint[] { (uint)EntityId.CatchSlaverRidersSpawn1 }, })); m_catchSlaverRiders.Components.Add(new MySpawnpointWaves((uint)EntityId.CatchSlaverRidersDetector2, 1, new List <uint[]>() { new uint[] { (uint)EntityId.CatchSlaverRidersSpawn21 }, new uint[] { (uint)EntityId.CatchSlaverRidersSpawn22 } })); m_catchSlaverRiders.OnMissionLoaded += CatchSlaverRiders_Loaded; m_objectives.Add(m_catchSlaverRiders); m_stopSlaverTransport = new MyObjectiveDestroy( MyTextsWrapperEnum.LAST_HOPE_REACH_STOP_SHIPS, MyMissionID.LAST_HOPE_STOP_SLAVER_RIDERS, MyTextsWrapperEnum.LAST_HOPE_REACH_STOP_SHIPS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_CATCH_SLAVER_RIDERS }, new List <uint>() { (uint)EntityId.StopSlaverTransportGenerator1, (uint)EntityId.StopSlaverTransportGenerator2 } ) { SaveOnSuccess = false, StartDialogId = MyDialogueEnum.LAST_HOPE_0500 }; m_movingShip1 = new MyMovingEntity((uint)EntityId.StopSlaverTransportShip1, (uint)EntityId.StopSlaverTransportShip1Target, StopSlaversObjectiveTime, false); m_movingShip2 = new MyMovingEntity((uint)EntityId.StopSlaverTransportShip2, (uint)EntityId.StopSlaverTransportShip2Target, StopSlaversObjectiveTime, false); m_movingShip1Particle = new MyMovingEntity((uint)EntityId.StopSlaverTransportShip1Particle, (uint)EntityId.StopSlaverTransportShip1TargetParticle, StopSlaversObjectiveTime, false); m_movingShip2Particle = new MyMovingEntity((uint)EntityId.StopSlaverTransportShip2Particle, (uint)EntityId.StopSlaverTransportShip2TargetParticle, StopSlaversObjectiveTime, false); m_stopSlaverTransport.Components.Add(m_movingShip1); m_stopSlaverTransport.Components.Add(m_movingShip2); m_stopSlaverTransport.Components.Add(m_movingShip1Particle); m_stopSlaverTransport.Components.Add(m_movingShip2Particle); m_stopSlaverTransport.OnMissionLoaded += StopSlaverTransport_Loaded; m_stopSlaverTransport.Components.Add(new MySpawnpointWaves((uint)EntityId.CatchSlaverRidersDummy, 1, new List <uint[]>() { new uint[] { (uint)EntityId.StopSlaverTransportSpawn11, (uint)EntityId.StopSlaverTransportSpawn21, }, new uint[] { (uint)EntityId.StopSlaverTransportSpawn12, (uint)EntityId.StopSlaverTransportSpawn22, }, })); m_objectives.Add(m_stopSlaverTransport); var speakWithFathetTobias = new MyObjectiveDialog ( MyTextsWrapperEnum.LAST_HOPE_SPEAK_WITH_FATHER, MyMissionID.LAST_HOPE_SPEAK_WITH_FATHER, MyTextsWrapperEnum.LAST_HOPE_SPEAK_WITH_FATHER_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_STOP_SLAVER_RIDERS }, MyDialogueEnum.LAST_HOPE_0600 ) { SaveOnSuccess = true }; m_objectives.Add(speakWithFathetTobias); var reachCaves = new MyObjective( MyTextsWrapperEnum.LAST_HOPE_REACH_REACH_CAVE, MyMissionID.LAST_HOPE_REACH_UNDEGROUND_CAVES, MyTextsWrapperEnum.LAST_HOPE_REACH_REACH_CAVE_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_SPEAK_WITH_FATHER }, new MyMissionLocation(baseSector, (uint)EntityId.ReachCavesLocation) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.LAST_HOPE_0700, HudName = MyTextsWrapperEnum.HudCave }; m_objectives.Add(reachCaves); m_findTunnel = new MyObjective( MyTextsWrapperEnum.LAST_HOPE_REACH_TUNNEL, MyMissionID.LAST_HOPE_FIND_MAINTANCE_TUNELL, MyTextsWrapperEnum.LAST_HOPE_REACH_TUNNEL_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_REACH_UNDEGROUND_CAVES }, new MyMissionLocation(baseSector, (uint)EntityId.FindTunnelDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.LAST_HOPE_0800, HudName = MyTextsWrapperEnum.HudTunnel }; m_findTunnel.Components.Add(new MySpawnpointWaves((uint)EntityId.ReachCavesLocation, 1, new List <uint[]>() { new uint[] { (uint)EntityId.FindTunnelSpawn1 }, new uint[] { (uint)EntityId.FindTunnelSpawn2 }, new uint[] { (uint)EntityId.FindTunnelSpawn3 }, })); m_objectives.Add(m_findTunnel); var killSaboteurSquad = new MyDestroyWavesObjective ( MyTextsWrapperEnum.LAST_HOPE_KILL_SABOTERS, MyMissionID.LAST_HOPE_KILL_SQUAD, MyTextsWrapperEnum.LAST_HOPE_KILL_SABOTERS, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_FIND_MAINTANCE_TUNELL } ) { SaveOnSuccess = true }; killSaboteurSquad.AddWave(new List <uint>() { (uint)EntityId.KillSaboteursSpawn }); killSaboteurSquad.Components.Add(new MyDetectorDialogue((uint)EntityId.KillSabotersDetector, MyDialogueEnum.LAST_HOPE_1100)); m_objectives.Add(killSaboteurSquad); var deactivateBombs = new MyMultipleUseObjective (MyTextsWrapperEnum.LAST_HOPE_DEACTIVATE_BOMBS, MyMissionID.LAST_HOPE_DEACTIVATE_BOMB, MyTextsWrapperEnum.LAST_HOPE_DEACTIVATE_BOMBS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_KILL_SQUAD }, MyTextsWrapperEnum.PressToDeactivateNuclearHead, MyTextsWrapperEnum.NuclearHead, MyTextsWrapperEnum.DeactivatingInProgress, 5000, new List <uint>() { (uint)EntityId.DeactivateBombPrefab1, (uint)EntityId.DeactivateBombPrefab2 }, MyUseObjectiveType.Taking ) { RadiusOverride = 30, SaveOnSuccess = true, StartDialogId = MyDialogueEnum.LAST_HOPE_1200 }; deactivateBombs.OnMissionLoaded += DeactivateBombs_Loaded; deactivateBombs.OnObjectUsedSucces += DeactivateBombs_ObjectUsedSuccess; deactivateBombs.Components.Add(new MyDetectorDialogue((uint)EntityId.GasCloudsDetector, MyDialogueEnum.LAST_HOPE_1300)); m_objectives.Add(deactivateBombs); m_repairPipes = new MyMultipleUseObjective (MyTextsWrapperEnum.LAST_HOPE_STABILIZE_GAS, MyMissionID.LAST_HOPE_REPAIR_PIPES, MyTextsWrapperEnum.LAST_HOPE_STABILIZE_GAS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_DEACTIVATE_BOMB }, MyTextsWrapperEnum.PressToRepairGasPipe, MyTextsWrapperEnum.GasPipe, MyTextsWrapperEnum.ProgressRepairing, 5000, new List <uint>() { }, MyUseObjectiveType.Repairing ) { SaveOnSuccess = true, RadiusOverride = 30, StartDialogId = MyDialogueEnum.LAST_HOPE_1400, SuccessDialogId = MyDialogueEnum.LAST_HOPE_1600 }; foreach (var gasPipe in m_gasPipes) { m_repairPipes.MissionEntityIDs.Add(gasPipe.Key); } m_repairPipes.OnObjectUsedSucces += RepairPipes_ObjectUsedSuccess; m_objectives.Add(m_repairPipes); var stabilizeNuclearCore = new MyMultipleUseObjective ( MyTextsWrapperEnum.LAST_HOPE_STABILIZE_NUCLEAR_CORE, MyMissionID.LAST_HOPE_STABILIZE_NUCLEAR_CORE, MyTextsWrapperEnum.LAST_HOPE_STABILIZE_GAS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_REPAIR_PIPES }, MyTextsWrapperEnum.PressToRepairRadiation, MyTextsWrapperEnum.RadiationLeak, MyTextsWrapperEnum.Fixing, 5000, new List <uint>() { }, MyUseObjectiveType.Repairing ) { RadiusOverride = 40, SaveOnSuccess = true }; stabilizeNuclearCore.Components.Add(new MyDetectorDialogue((uint)EntityId.StabilizeCoreDialog1Dummy, MyDialogueEnum.LAST_HOPE_1700)); stabilizeNuclearCore.Components.Add(new MyDetectorDialogue((uint)EntityId.StabilizeCoreDialog2Dummy, MyDialogueEnum.LAST_HOPE_1800)); foreach (var core in m_nuclearCores) { stabilizeNuclearCore.MissionEntityIDs.Add(core.Key); } stabilizeNuclearCore.OnObjectUsedSucces += StabilizeNuclearCore_ObjectUsedSuccess; m_objectives.Add(stabilizeNuclearCore); var leaveUnderground = new MyObjective ( MyTextsWrapperEnum.LAST_HOPE_LEAVE_SHAFTS, MyMissionID.LAST_HOPE_LEAVE_UNDERGROUND, MyTextsWrapperEnum.LAST_HOPE_LEAVE_SHAFTS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_STABILIZE_NUCLEAR_CORE }, new MyMissionLocation(baseSector, (uint)EntityId.LaveUndergroundDummy)) { StartDialogId = MyDialogueEnum.LAST_HOPE_1900, HudName = MyTextsWrapperEnum.Nothing }; leaveUnderground.OnMissionSuccess += LeaveUnderground_Success; m_objectives.Add(leaveUnderground); #endregion }
public MyReichstagCMission() { ID = MyMissionID.REICHSTAG_C; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("18c-Reichstag C"); Name = MyTextsWrapperEnum.REICHSTAG_C; Description = MyTextsWrapperEnum.REICHSTAG_C_Description; Flags = MyMissionFlags.Story; AchievementName = MySteamAchievementNames.Mission27_Reichstag2; MyMwcVector3Int baseSector = new MyMwcVector3Int(-2325831, 0, -7186381); Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); RequiredMissions = new MyMissionID[] { MyMissionID.NAZI_BIO_LAB }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.REICHSTAG_C_MOTHERSHIP }; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List <MyObjective>(); var MeetSubmission = new MyMeetObjective( (MyTextsWrapperEnum.REICHSTAG_C_FOR_Name), MyMissionID.REICHSTAG_C_FOR, (MyTextsWrapperEnum.REICHSTAG_C_FOR_Description), this, new MyMissionID[] { }, null, (uint)EntityID.Bot_WaltherStauffenberg, 100, 0.25f, null ) { SaveOnSuccess = true, FollowMe = false }; /* MeetSubmission.OnMissionSuccess += MeetSubmissionSuccess; * MeetSubmission.OnMissionLoaded += MeetSubmissionLoaded;*/ m_objectives.Add(MeetSubmission); var colonelDialogue = new MyObjectiveDialog( MyMissionID.REICHSTAG_C_COLONEL_DIALOGUE, null, this, new MyMissionID[] { MyMissionID.REICHSTAG_C_FOR }, dialogId: MyDialogueEnum.REICHSTAG_C_0100_OFFICER_TALK ) { SaveOnSuccess = true }; m_objectives.Add(colonelDialogue); var goToShipyard = new MyMeetObjective( (MyTextsWrapperEnum.REICHSTAG_C_GO_TO_SHIPYARD_Name), MyMissionID.REICHSTAG_C_GO_TO_SHIPYARD, (MyTextsWrapperEnum.REICHSTAG_C_GO_TO_SHIPYARD_Description), this, new MyMissionID[] { MyMissionID.REICHSTAG_C_COLONEL_DIALOGUE }, null, (uint)EntityID.Bot_ShipyardOfficer, 100, 0.25f, null, startDialogueId: MyDialogueEnum.REICHSTAG_C_0200_ON_THE_WAY ) { SaveOnSuccess = true, FollowMe = false }; m_objectives.Add(goToShipyard); goToShipyard.OnMissionLoaded += GoToShipyardLoaded; var talkToSupplyOfficer = new MyObjectiveDialog( MyMissionID.REICHSTAG_C_TALK_TO_SUPPLY_OFFICER, null, this, new MyMissionID[] { MyMissionID.REICHSTAG_C_GO_TO_SHIPYARD }, dialogId: MyDialogueEnum.REICHSTAG_C_0400_SUPPLY_OFFICER ) { SaveOnSuccess = true }; m_objectives.Add(talkToSupplyOfficer); var ChangeShip = new MyUseObjective( (MyTextsWrapperEnum.REICHSTAG_C_CHANGESHIP_Name), MyMissionID.REICHSTAG_C_CHANGESHIP, (MyTextsWrapperEnum.REICHSTAG_C_CHANGESHIP_Description), null, this, new MyMissionID[] { MyMissionID.REICHSTAG_C_TALK_TO_SUPPLY_OFFICER }, new MyMissionLocation(baseSector, (uint)EntityID.Bot_Disabled_03), MyTextsWrapperEnum.PressToBoardShip, MyTextsWrapperEnum.Ship, MyTextsWrapperEnum.BoardingInProgress, 3000, radiusOverride: 30, startDialogId: MyDialogueEnum.REICHSTAG_C_0500_REACHING_SHIPS ); m_objectives.Add(ChangeShip); ChangeShip.OnMissionSuccess += ChangeShipOnOnMissionSuccess; var ShipChangedDialogue = new MyObjectiveDialog( MyMissionID.REICHSTAG_C_SHIP_CHANGED_DIALOGUE, null, this, new MyMissionID[] { MyMissionID.REICHSTAG_C_CHANGESHIP }, dialogId: MyDialogueEnum.REICHSTAG_C_0600_SHIPS_PICKUPED ) { SaveOnSuccess = true }; m_objectives.Add(ShipChangedDialogue); var GetArmed = new MyObjectiveEnterInventory( (MyTextsWrapperEnum.REICHSTAG_C_WEAPONS_Name), MyMissionID.REICHSTAG_C_WEAPONS, (MyTextsWrapperEnum.REICHSTAG_C_WEAPONS_Description), null, this, new MyMissionID[] { MyMissionID.REICHSTAG_C_SHIP_CHANGED_DIALOGUE }, (uint)EntityID.Objective_Shipchange, successDialogId: MyDialogueEnum.REICHSTAG_C_0800_SHOPPING_FINISHED ); m_objectives.Add(GetArmed); GetArmed.OnMissionLoaded += GetArmedLoaded; var MeetTransporterCaptain = new MyMeetObjective( (MyTextsWrapperEnum.REICHSTAG_C_GO_TO_HANGAR_Name), MyMissionID.REICHSTAG_C_GO_TO_HANGAR, (MyTextsWrapperEnum.REICHSTAG_C_GO_TO_HANGAR_Description), this, new MyMissionID[] { MyMissionID.REICHSTAG_C_WEAPONS }, null, (uint)EntityID.Bot_TransporterCaptain, 100, 0.25f, null ) { SaveOnSuccess = true, FollowMe = false }; m_objectives.Add(MeetTransporterCaptain); var TalkToTransporterCaptain = new MyObjectiveDialog( MyMissionID.REICHSTAG_C_TRANSPORTER_CAPTAIN_DIALOGUE, null, this, new MyMissionID[] { MyMissionID.REICHSTAG_C_GO_TO_HANGAR }, dialogId: MyDialogueEnum.REICHSTAG_C_0900_TRANSPORTER_REACHED ) { SaveOnSuccess = true }; m_objectives.Add(TalkToTransporterCaptain); var GetWWMothership = new MyObjective( (MyTextsWrapperEnum.REICHSTAG_C_MOTHERSHIP_Name), MyMissionID.REICHSTAG_C_MOTHERSHIP, (MyTextsWrapperEnum.REICHSTAG_C_MOTHERSHIP_Description), null, this, new MyMissionID[] { MyMissionID.REICHSTAG_C_TRANSPORTER_CAPTAIN_DIALOGUE }, new MyMissionLocation(baseSector, (uint)EntityID.Objective_Mothership), radiusOverride: 30 ) { HudName = MyTextsWrapperEnum.HudMothership }; m_objectives.Add(GetWWMothership); }
public MySmallPirateBase() { ID = MyMissionID.PIRATE_BASE_1; /* ID must be added to MyMissions.cs */ Name = new StringBuilder("Small pirate base"); // Nazev mise Description = new StringBuilder( // popis mise "Destroy the station\n" ); MyMwcVector3Int baseSector = new MyMwcVector3Int(14393995,0,2939339); // Story sector of the script Location = new MyMissionLocation(baseSector, 1649); // Starting dummy point RequiredMissions = new MyMissionID[] { }; // mise ktere musi byt splneny pred prijetim teto mise m_submissions = new List<MyObjective>(); // Creating of list of submissions // START DEFINICE SUBMISE /*DestroyPipes1 = new MySubmissionDestroy( // Var is used to call functions on that member new StringBuilder("Destroy pipes"), MyMissionID.NEW_STORY_M230_DESTROY_PIPES_1, new StringBuilder(""), null, this, new MyMissionID[] { }, new List<uint> { 563, 1859, 415 }, new List<uint> { }, false ) { SaveOnSuccess = false }; m_submissions.Add(DestroyPipes1); // pridani do seznamu submisi DestroyPipes1.OnMissionSuccess += new Missions.OnMissionSuccess(DestroyMSSuccess);*/ var findCIC = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu new StringBuilder("Find the generator"), // nazev submise MyMissionID.PIRATE_BASE_1_DESTROY_PIPES_1, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] { }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, 2271) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // nastaveni save na checkpointu nebo ne m_submissions.Add(findCIC); // pridani do seznamu submisi DestroyGenerator = new MyObjectiveDestroy( // Var is used to call functions on that member new StringBuilder("Destroy the generator"), MyMissionID.PIRATE_BASE_1_DESTROY_GENERATOR, new StringBuilder(""), null, this, new MyMissionID[] { }, new List<uint> { 328 }, new List<uint> { }, false ) { SaveOnSuccess = false }; m_submissions.Add(DestroyGenerator); // pridani do seznamu submisi DestroyGenerator.OnMissionSuccess += new MissionHandler(DestroyMSSuccess); var escape = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu new StringBuilder("Return to your mothership"), // nazev submise MyMissionID.SMALL_PIRATE_BASE_2_KILL_GENERAL, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] {MyMissionID.PIRATE_BASE_1_DESTROY_GENERATOR,MyMissionID.PIRATE_BASE_1_DESTROY_PIPES_1, }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, 18414) ) { SaveOnSuccess = false }; // nastaveni save na checkpointu nebo ne m_submissions.Add(escape); // pridani do seznamu submisi }
public MyRimeBlueprintsMission() { ID = MyMissionID.RIME_BLUEPRINTS; /* ID must be added to MyMissions.cs */ Name = new StringBuilder("11-Rime:Blueprints"); // Name of mission Description = new StringBuilder("Choose one of the entrances and sneak through the laboratory to steal the blueprints\n"); // Description of mission - do not forget to \n at the end of each line Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-1922856, 0, -2867519); // Story sector of the script - i.e. (-2465,0,6541) Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.RIME_CONVINCE }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.RIME_BLUEPRINTS_RETURN_TO_MOTHERSHIP }; m_objectives = new List <MyObjective>(); // Creating of list of submissions // START OF REACH OBJECTIVE SUBMISSION DEFINITION m_entranceL = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it new StringBuilder("Enter the quarter"), // Name of the submission MyMissionID.RIME_BLUEPRINTS_ENTRANCE1, // ID of the submission - must be added to MyMissions.cs new StringBuilder(""), // Description of the submission null, this, new MyMissionID[] { }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.EntranceL) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // False means do not save game in that checkpoint m_objectives.Add(m_entranceL); // Adding this submission to the list of submissions of current mission // END OF REACH OBJECTIVE SUBMISSION DEFINITION // START OF REACH OBJECTIVE SUBMISSION DEFINITION m_entranceR = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it new StringBuilder("Entry the quarter with the drone"), // Name of the submission MyMissionID.RIME_BLUEPRINTS_ENTRANCE2, // ID of the submission - must be added to MyMissions.cs new StringBuilder(""), // Description of the submission null, this, new MyMissionID[] { }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.EntranceR) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // False means do not save game in that checkpoint m_objectives.Add(m_entranceR); // Adding this submission to the list of submissions of current mission // END OF REACH OBJECTIVE SUBMISSION DEFINITION // START OF REACH OBJECTIVE SUBMISSION DEFINITION m_target = new MyObjectiveOptionalRequirements( new StringBuilder("Get the blueprints"), MyMissionID.RIME_BLUEPRINTS_TARGET, new StringBuilder("Sneak through the base and get the blueprints!\n"), null, this, new MyMissionID[] { }, null, new MyMissionID[] { MyMissionID.RIME_BLUEPRINTS_ENTRANCE1, MyMissionID.RIME_BLUEPRINTS_ENTRANCE2 }, 1, new List <uint>() { (uint)EntityID.HUB } ) { SaveOnSuccess = false }; // False means do not save game in that checkpoint m_objectives.Add(m_target); // END OF REACH OBJECTIVE SUBMISSION DEFINITION m_flyExit = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it new StringBuilder("Leave the laboratory"), // Name of the submission MyMissionID.RIME_BLUEPRINTS_EXIT, // ID of the submission - must be added to MyMissions.cs new StringBuilder("Use the emergency exit.\n"), // Description of the submission null, this, new MyMissionID[] { MyMissionID.RIME_BLUEPRINTS_TARGET }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.Exit) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // False means do not save game in that checkpoint m_objectives.Add(m_flyExit); var returnToFrancis = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it new StringBuilder("Get back to Francis"), // Name of the submission MyMissionID.RIME_BLUEPRINTS_RETURN_TO_FRANCIS, // ID of the submission - must be added to MyMissions.cs new StringBuilder("Bring the blueprints back to Francis Reef\n"), // Description of the submission null, this, new MyMissionID[] { MyMissionID.RIME_BLUEPRINTS_EXIT }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.Return) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // False means do not save game in that checkpoint m_objectives.Add(returnToFrancis); var returnToMothership = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it new StringBuilder("Return to your mothership"), // Name of the submission MyMissionID.RIME_BLUEPRINTS_RETURN_TO_MOTHERSHIP, // ID of the submission - must be added to MyMissions.cs new StringBuilder(""), // Description of the submission null, this, new MyMissionID[] { MyMissionID.RIME_BLUEPRINTS_RETURN_TO_FRANCIS }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.ReturnToMothership) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // False means do not save game in that checkpoint m_objectives.Add(returnToMothership); }
public MyBarthsMoonTransmitterMission() : base( MyMissionID.BARTHS_MOON_TRANSMITTER, new StringBuilder("06-Barth's moon transmitter"), MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER, MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_Description, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE }, new EntityID[] { }, EntityID.PlayerStartLocationTransmitter) { m_objectives = new List<MyObjective>(); RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_RETURN_BACK_TO_MADELYN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN }; RequiredMissions = new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE }; Components.Add(new MySpawnpointWaves((uint)EntityID.EnterMainLabDetector, 0, new List<uint[]> { new List<uint> { (uint)EntityID.SpawnPoint3 }.ToArray(), new List<uint> { (uint)EntityID.SpawnPoint4 }.ToArray() })); #region Objectives var meetThomasBarth = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_MEET_BARTH_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_MEET_BARTH, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_MEET_BARTH_Description), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.ThomasBartId), radiusOverride: 50 ) { SaveOnSuccess = false, StartDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_0100_INTRO, HudName = MyTextsWrapperEnum.HudBarth }; meetThomasBarth.OnMissionLoaded += MeetThomasBarthOnLoaded; m_objectives.Add(meetThomasBarth); m_talkWithThomasBarth = new MyBarthsMoonSubmissionTalkWithThomasBarth( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_TALK_TO_BARTH_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_TALK_TO_BARTH, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_TALK_TO_BARTH_Description), this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_MEET_BARTH }, null, true ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_0300 }; m_objectives.Add(m_talkWithThomasBarth); //02 m_findWayToMoon = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_FIND_WAY_TO_MOON_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_FIND_WAY_TO_MOON, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_FIND_WAY_TO_MOON_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_TALK_TO_BARTH }, new MyMissionLocation(baseSector, (uint)EntityID.BrokenMoonDummy), null, null, MyDialogueEnum.BARTHS_MOON_TRANSMITTER_0400 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudBrokenMoon }; m_objectives.Add(m_findWayToMoon); //03 var destroyLaboratories = new MyObjectiveDestroy( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DESTROY_LAB_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_DESTROY_LAB, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DESTROY_LAB_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_FIND_WAY_TO_MOON }, new List<uint> { }, // entities needed to kill new List<uint> { }, // spawnpoint from which bots must be killed true, false // dont count ) { SaveOnSuccess = true }; destroyLaboratories.OnMissionLoaded += destroyLaboratories_OnMissionLoaded; destroyLaboratories.Components.Add(new MyDetectorDialogue((uint)EntityID.Dialog5DetectorId, MyDialogueEnum.BARTHS_MOON_TRANSMITTER_0500)); destroyLaboratories.Components.Add(new MyDetectorDialogue((uint)EntityID.Dialog6DetectorId, MyDialogueEnum.BARTHS_MOON_TRANSMITTER_0600)); m_objectives.Add(destroyLaboratories); //04 var enableGenerator = new MyUseObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_ENABLE_GENERATOR_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_ENABLE_GENERATOR, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_ENABLE_GENERATOR_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_DESTROY_LAB }, new MyMissionLocation(baseSector, (uint)EntityID.SecurityHubDummy), MyTextsWrapperEnum.PressToStartGenerator, MyTextsWrapperEnum.Generator, MyTextsWrapperEnum.StartingProgress, 5000, MyUseObjectiveType.Activating ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudGenerator, ShowNavigationMark = true }; enableGenerator.OnMissionSuccess += EnableGeneratorOnOnMissionSuccess; m_objectives.Add(enableGenerator); //05 m_lookBothHubs = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_LOOK_HUBS_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_LOOK_HUBS, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_LOOK_HUBS_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_ENABLE_GENERATOR }, null, new List<uint> { (uint)EntityID.SecurityHubLook1 }, null ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudHub, MarkMissionEntities = true }; m_objectives.Add(m_lookBothHubs); //06 var getItemsFromCargoBoxes = new MyObjectiveGetItems( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_GET_ITEMS_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_GET_ITEMS, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_GET_ITEMS_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_LOOK_HUBS }, new List<MyItemToGetDefinition>() { new MyItemToGetDefinition(MyMwcObjectBuilderTypeEnum.Drone, (int)MyMwcObjectBuilder_Drone_TypesEnum.DroneUS), new MyItemToGetDefinition(MyMwcObjectBuilderTypeEnum.SmallShip_HackingTool, (int)MyMwcObjectBuilder_SmallShip_HackingTool_TypesEnum.Level_3)}, new List<uint>() { (uint)EntityID.Cargobox1, (uint)EntityID.Cargobox2 } ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_0700, MarkMissionEntities = true }; m_objectives.Add(getItemsFromCargoBoxes); var findFans = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_FAN_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_FAN, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_FAN_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_GET_ITEMS }, new MyMissionLocation(baseSector, (uint)EntityID.FanDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_0800, HudName = MyTextsWrapperEnum.HudEntrance }; m_objectives.Add(findFans); m_learnToUseDrones = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DRONES_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_DRONES, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DRONES_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_FAN }, null ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_0900 }; m_objectives.Add(m_learnToUseDrones); m_learnToUseDrones.OnMissionLoaded += LearnDronesOnOnMissionLoaded; m_learnToUseDrones.OnMissionSuccess += LearnDronesOnOnMissionSuccess; //07 m_enableGeneratorWithDrone1Mission = new MyUseObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_ENABLE_GENERATOR_DRONE1_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_ENABLE_GENERATOR_DRONE1, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_ENABLE_GENERATOR_DRONE1_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_DRONES }, new MyMissionLocation(baseSector, (uint)EntityID.DroneGeneratroHub1), MyTextsWrapperEnum.PressToStartGenerator, MyTextsWrapperEnum.Generator, MyTextsWrapperEnum.StartingProgress, 5000, radiusOverride: 50 ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_1100, HudName = MyTextsWrapperEnum.HudHub }; m_enableGeneratorWithDrone1Mission.RequiresDrone = true; m_enableGeneratorWithDrone1Mission.OnMissionSuccess += EnableGeneratorWithDrone1OnOnMissionSuccess; m_enableGeneratorWithDrone1Mission.OnMissionLoaded += EnsureDronesInShip; m_enableGeneratorWithDrone1Mission.Components.Add(new MyDetectorDialogue((uint)EntityID.Dialog10DetectorId, MyDialogueEnum.BARTHS_MOON_TRANSMITTER_1000)); m_objectives.Add(m_enableGeneratorWithDrone1Mission); m_enableGeneratorWithDrone2Mission = new MyUseObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_ENABLE_GENERATOR_DRONE2_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_ENABLE_GENERATOR_DRONE2, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_ENABLE_GENERATOR_DRONE2_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_ENABLE_GENERATOR_DRONE1 }, new MyMissionLocation(baseSector, (uint)EntityID.DroneGeneratroHub2), MyTextsWrapperEnum.PressToStartGenerator, MyTextsWrapperEnum.Generator, MyTextsWrapperEnum.StartingProgress, 5000, radiusOverride: 50 ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_1200, SuccessDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_1400, RequiresDrone = true, HudName = MyTextsWrapperEnum.HudHub }; m_enableGeneratorWithDrone2Mission.OnMissionSuccess += EnableGeneratorWithDrone2OnOnMissionSuccess; m_enableGeneratorWithDrone2Mission.OnMissionLoaded += EnsureDronesInShip; m_enableGeneratorWithDrone2Mission.Components.Add(new MyDetectorDialogue((uint)EntityID.Dialog13DetectorId, MyDialogueEnum.BARTHS_MOON_TRANSMITTER_1300)); m_objectives.Add(m_enableGeneratorWithDrone2Mission); //05 m_lookBothHubs2 = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_LOOK_HUBS2_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_LOOK_HUBS2, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_LOOK_HUBS2_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_ENABLE_GENERATOR_DRONE2 }, null, new List<uint> { (uint)EntityID.SecurityHubLook2 } ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_1500, HudName = MyTextsWrapperEnum.HudHub, ShowNavigationMark = true }; m_objectives.Add(m_lookBothHubs2); //08 var downloadData1 = new MyUseObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA1_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA1, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA1_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_LOOK_HUBS2 }, new MyMissionLocation(baseSector, (uint)EntityID.Hub1Dummy), MyTextsWrapperEnum.PressToDownloadData, MyTextsWrapperEnum.Console, MyTextsWrapperEnum.DownloadingData, 3000, MyUseObjectiveType.Activating, null) { HudName = MyTextsWrapperEnum.HudHub }; downloadData1.Components.Add(new MyDetectorDialogue((uint)EntityID.Dialog17DetectorId, MyDialogueEnum.BARTHS_MOON_TRANSMITTER_1700)); m_objectives.Add(downloadData1); var downloadData2 = new MyUseObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA2_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA2, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA2_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA1 }, new MyMissionLocation(baseSector, (uint)EntityID.Hub2Dummy), MyTextsWrapperEnum.PressToDownloadData, MyTextsWrapperEnum.Console, MyTextsWrapperEnum.DownloadingData, 3000, MyUseObjectiveType.Hacking, null) { SuccessDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_1800, HudName = MyTextsWrapperEnum.HudHub }; m_objectives.Add(downloadData2); var downloadData3 = new MyUseObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA3_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA3, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA3_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA2 }, new MyMissionLocation(baseSector, (uint)EntityID.Hub3Dummy), MyTextsWrapperEnum.PressToDownloadData, MyTextsWrapperEnum.Console, MyTextsWrapperEnum.DownloadingData, 3000, MyUseObjectiveType.Hacking, null) { SuccessDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_2000, HudName = MyTextsWrapperEnum.HudHub }; downloadData3.RequiresDrone = true; downloadData3.OnMissionLoaded += DownloadData3OnOnMissionLoaded; downloadData3.OnMissionSuccess += DownloadData3OnOnMissionSuccess; downloadData3.Components.Add(new MyDetectorDialogue((uint)EntityID.Dialog19DetectorId, MyDialogueEnum.BARTHS_MOON_TRANSMITTER_1900)); m_objectives.Add(downloadData3); var downloadData4 = new MyUseObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA4_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA4, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA4_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA3 }, new MyMissionLocation(baseSector, (uint)EntityID.Hub4Dummy), MyTextsWrapperEnum.PressToDownloadData, MyTextsWrapperEnum.Console, MyTextsWrapperEnum.DownloadingData, 3000) { HudName = MyTextsWrapperEnum.HudHub }; downloadData4.OnMissionLoaded += EnsureDronesInShip; m_objectives.Add(downloadData4); var entermainLab = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_ENTER_MAINLAB_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_ENTER_MAINLAB, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_ENTER_MAINLAB_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_DOWNLOAD_DATA4 }, new MyMissionLocation(baseSector, (uint)EntityID.EnterMainLabDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_2100, HudName = MyTextsWrapperEnum.HudLab }; entermainLab.OnMissionSuccess += EntermainLabOnOnMissionSuccess; m_objectives.Add(entermainLab); //10 m_destroyComputer = new MyObjectiveDestroy( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DESTROY_COMPUTER_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_DESTROY_COMPUTER, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_DESTROY_COMPUTER_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_ENTER_MAINLAB }, new List<uint> { (uint)EntityID.DestroyComputer }, // entities needed to kill new List<uint> { }, // spawnpoint from which bots must be killed true, false // dont count ) { SaveOnSuccess = false, StartDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_2200/*, SuccessDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_2400*/, HudName = MyTextsWrapperEnum.HudBlondi }; m_destroyComputer.OnMissionSuccess += DestroyComputerOnOnMissionSuccess; m_destroyComputer.OnMissionLoaded += DestroyComputerOnOnMissionLoaded; m_destroyComputer.Components.Add(new MySpawnpointWaves((uint)EntityID.EnterMainLabDummy, 0, new List<uint[]> { new List<uint> { (uint)EntityID.SpawnPoint5, (uint)EntityID.SpawnPoint6 }.ToArray(), new List<uint> { (uint)EntityID.SpawnPoint7, (uint)EntityID.SpawnPoint8 }.ToArray() })); m_objectives.Add(m_destroyComputer); m_needPart3 = new MyMultipleUseObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_FIND_PART3_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_FIND_PART3, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_FIND_PART3_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_DESTROY_COMPUTER }, MyTextsWrapperEnum.PressToTakeComponent, MyTextsWrapperEnum.Component, MyTextsWrapperEnum.TakingInProgress, 1000, new List<uint>() { (uint)EntityID.CollectPart1Dummy, (uint)EntityID.CollectPart2Dummy, (uint)EntityID.CollectPart3Dummy }, MyUseObjectiveType.Taking) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_2500, HudName = MyTextsWrapperEnum.HudPart }; m_needPart3.OnMissionSuccess += NeedPart3OnOnMissionSuccess; m_needPart3.OnObjectUsedSucces += OnObjectUsedSucces; m_needPart3.OnMissionLoaded += NeedPart1OnOnMissionLoaded; m_objectives.Add(m_needPart3); m_escape = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_FIND_WAY_OUT_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_FIND_WAY_OUT, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_FIND_WAY_OUT_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_FIND_PART3 }, new MyMissionLocation(baseSector, (uint)EntityID.EscapeDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_2600, SuccessDialogId = MyDialogueEnum.BARTHS_MOON_TRANSMITTER_3100, HudName = MyTextsWrapperEnum.Nothing }; m_escape.OnMissionSuccess += Escape_Success; m_escape.Components.Add(new MyDetectorDialogue((uint)EntityID.EscapeEventDummy, MyDialogueEnum.BARTHS_MOON_TRANSMITTER_2700)); m_escape.Components.Add(new MyDetectorDialogue((uint)EntityID.EscapeDummy, MyDialogueEnum.BARTHS_MOON_TRANSMITTER_2900)); m_escape.OnMissionLoaded += EscapeOnOnMissionLoaded; m_escape.OnMissionCleanUp += EscapeOnOnMissionCleanUp; m_objectives.Add(m_escape); var build = new MyUseObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_BUILD_TRANSMITTER_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_BUILD_TRANSMITTER, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_BUILD_TRANSMITTER_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_FIND_WAY_OUT }, new MyMissionLocation(baseSector, (uint)EntityID.BuildDetector4), MyTextsWrapperEnum.PressToBuildTransmitter, MyTextsWrapperEnum.Transmitter, MyTextsWrapperEnum.BuildingInProgress, 3000, MyUseObjectiveType.Building); build.OnMissionSuccess += Build_Success; build.OnMissionLoaded += Build_Loaded; build.Components.Add(new MySpawnpointWaves((uint)EntityID.EscapeDummy, 0, new List<uint[]> { new List<uint> {(uint) EntityID.SpawnPoint9}.ToArray(), new List<uint> { (uint) EntityID.SpawnPoint10, (uint) EntityID.SpawnPoint11, (uint) EntityID.SpawnPoint12 }.ToArray() })); build.Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorWayBack2, 0, new List<uint[]> { new List<uint> {(uint) EntityID.SpawnPoint13}.ToArray(), new List<uint> {(uint) EntityID.SpawnPoint14}.ToArray() })); m_objectives.Add(build); var backToMadelyn = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_RETURN_BACK_TO_MADELYN_Name), MyMissionID.BARTHS_MOON_TRANSMITTER_RETURN_BACK_TO_MADELYN, (MyTextsWrapperEnum.BARTHS_MOON_TRANSMITTER_RETURN_BACK_TO_MADELYN_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_BUILD_TRANSMITTER }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), startDialogId: MyDialogueEnum.BARTHS_MOON_TRANSMITTER_3200, radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; m_objectives.Add(backToMadelyn); //var talkWithThomasBarthEnd = new MyMeetObjective( // new StringBuilder("Talk with Thomas Barth"), // MyMissionID.BARTHS_MOON_TRANSMITTER_TALK_WITH_THOMAS_BARTH_END, // new StringBuilder(""), // this, // new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER_BUILD_TRANSMITTER }, // null, // (uint)EntityID.ThomasBartId, // 50, // 0.25f //) { SaveOnSuccess = true, FollowMe = false }; //talkWithThomasBarthEnd.OnMissionSuccess += TalkWithThomasBarthEnd_Success; //m_objectives.Add(talkWithThomasBarthEnd); #endregion }
public MyJunkyardEACAmbushMission() { ID = MyMissionID.JUNKYARD_EAC_AMBUSH; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("13-EAC ambush"); // Name of mission Name = MyTextsWrapperEnum.JUNKYARD_EAC_AMBUSH; Description = MyTextsWrapperEnum.JUNKYARD_EAC_AMBUSH_Description; Flags = MyMissionFlags.Story; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.MARCUS, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; MyMwcVector3Int baseSector = new MyMwcVector3Int(2567538, 0, -172727); // Story sector of the script - i.e. (-2465,0,6541) Location = new MyMissionLocation(baseSector, (uint)EntityID.PlayerStart); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.RESEARCH_VESSEL }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_DEFEND_MADELYN }; Components.Add(new MySpawnpointLimiter(m_spawns, 7)); #region Objectives m_objectives = new List <MyObjective>(); // Creating of list of submissions var flyToManjeet = new MyMeetObjective( MyTextsWrapperEnum.EAC_AMBUSH_FLY_TO_MANJEET, MyMissionID.JUNKYARD_EAC_AMBUSH_FLY_MANJEET, MyTextsWrapperEnum.EAC_AMBUSH_FLY_TO_MANJEET_DESC, this, new MyMissionID[] { }, null, (uint)EntityID.FlyToManjeet, 100, 0.25f, null, MyDialogueEnum.EAC_AMBUSH_0100_INTRO ) { SaveOnSuccess = false, FollowMe = false }; flyToManjeet.OnMissionLoaded += FlyToManjeet_Loaded; m_objectives.Add(flyToManjeet); var speakToManjeet = new MyObjectiveDialog( MyMissionID.JUNKYARD_EAC_AMBUSH_TALK_RANIJT, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_FLY_MANJEET }, MyDialogueEnum.EAC_AMBUSH_0200_MANJEET ) { SaveOnSuccess = false }; speakToManjeet.OnMissionLoaded += SpeakToManjeet_Loaded; m_objectives.Add(speakToManjeet); m_backToMadelyn = new MyObjective( MyTextsWrapperEnum.EAC_AMBUSH_GO_BACK_TO_MADELYN, MyMissionID.JUNKYARD_EAC_AMBUSH_GO_BACK_TO_MADELYN, MyTextsWrapperEnum.EAC_AMBUSH_GO_BACK_TO_MADELYN_DESC, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_TALK_RANIJT }, new MyMissionLocation(baseSector, (uint)EntityID.GoBackToMadelyn), startDialogId: MyDialogueEnum.EAC_AMBUSH_0300_GUYS_HURRY_UP ) { HudName = MyTextsWrapperEnum.Nothing }; m_backToMadelyn.OnMissionLoaded += BackToMadelyn_Loaded; m_objectives.Add(m_backToMadelyn); m_speakWithPolice = new MyObjective( MyTextsWrapperEnum.Null, MyMissionID.JUNKYARD_EAC_AMBUSH_SPEAK_POLICE, MyTextsWrapperEnum.Null, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_GO_BACK_TO_MADELYN }, null ); m_speakWithPolice.OnMissionLoaded += SpeakWithPolice_Loaded; m_objectives.Add(m_speakWithPolice); m_defendMadelyn = new MyObjectiveDialog( MyTextsWrapperEnum.EAC_AMBUSH_DEFEND_MADELYN1, MyMissionID.JUNKYARD_EAC_AMBUSH_DEFEND_MADELYN_1, MyTextsWrapperEnum.EAC_AMBUSH_DEFEND_MADELYN1_DESC, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_SPEAK_POLICE }, MyDialogueEnum.EAC_AMBUSH_0500_ONE_LITTLE_ISSUE ) { SaveOnSuccess = true }; m_defendMadelyn.OnMissionLoaded += DefendMadelyn_Loaded; m_objectives.Add(m_defendMadelyn); var destroyGenerator = new MyObjectiveDestroy( MyTextsWrapperEnum.EAC_AMBUSH_DESTROY_GENERATOR, MyMissionID.JUNKYARD_EAC_AMBUSH_DESTROY_GENERATOR, MyTextsWrapperEnum.EAC_AMBUSH_DESTROY_GENERATOR_DESC, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_DEFEND_MADELYN_1 }, new List <uint> { (uint)EntityID.DestroyGenerator } ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_AMBUSH_0700_SPLIT_TO_DESTROY_GENERATORS, HudName = MyTextsWrapperEnum.HudDisruptor }; destroyGenerator.OnMissionLoaded += DestroyGenerator_Loaded; destroyGenerator.OnMissionSuccess += DestroyGenerator_Success; m_objectives.Add(destroyGenerator); var returnToMadelyn = new MyTimedReachLocationObjective( MyTextsWrapperEnum.EAC_AMBUSH_RETURN_TO_MADELYN, MyMissionID.JUNKYARD_EAC_AMBUSH_RETUR_TO_MADELYN, MyTextsWrapperEnum.EAC_AMBUSH_RETURN_TO_MADELYN_DESC, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_DESTROY_GENERATOR }, new TimeSpan(0, 0, 45), new MyMissionLocation(baseSector, (uint)EntityID.ReturnToMadelyn) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_AMBUSH_1000, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; returnToMadelyn.OnMissionLoaded += ReturnToMadelyn_Loaded; m_objectives.Add(returnToMadelyn); m_defendMadelyn2 = new MyObjective( MyTextsWrapperEnum.EAC_AMBUSH_DEFEND_MADELYN2, MyMissionID.JUNKYARD_EAC_AMBUSH_DEFEND_MADELYN, MyTextsWrapperEnum.EAC_AMBUSH_DEFEND_MADELYN2_DESC, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_RETUR_TO_MADELYN }, null ) { StartDialogId = MyDialogueEnum.EAC_AMBUSH_1200_1300 }; m_defendMadelyn2.OnMissionLoaded += DefendMadelyn2_Loaded; m_defendMadelyn2.OnMissionUpdate += DefendMadelyn2_Update; m_objectives.Add(m_defendMadelyn2); #endregion }
public MyJunkyardReturnMission() { ID = MyMissionID.JUNKYARD_RETURN; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.JUNKYARD_RETURN; Description = MyTextsWrapperEnum.JUNKYARD_RETURN_Description; //"Return to Ranjit with stolen Cargoship\n" DebugName = new StringBuilder("08e-Junkyard racing"); // Name of mission Flags = MyMissionFlags.Story; AchievementName = MySteamAchievementNames.Mission12_JunkyardRacing; MyMwcVector3Int baseSector = new MyMwcVector3Int(2567538,0,-172727); // Story sector of the script - i.e. (-2465,0,6541) Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.CHINESE_ESCAPE }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_DIALOGUE_RETURN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; #region Objectives m_objectives = new List<MyObjective>(); // Creating of list of submissions var meetManjeet = new MyObjective( (MyTextsWrapperEnum.JUNKYARD_RETURN_MEET_SMUGGLER_Name), MyMissionID.JUNKYARD_RETURN_MEET_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_RETURN_MEET_SMUGGLER_Description), null, this, new MyMissionID[] {}, new MyMissionLocation(baseSector, (uint) EntityID.Manjeet), new List<uint> {(uint) EntityID.Manjeet}, radiusOverride: 50 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudManjeet }; m_objectives.Add(meetManjeet); meetManjeet.OnMissionLoaded += O01MeetSmugglerLoaded; var manjeetDialogue = new MyObjectiveDialog( MyMissionID.JUNKYARD_RETURN_SMUGGLER_DIALOGUE, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_MEET_SMUGGLER }, MyDialogueEnum.JUNKYARD_RETURN_0200 ) { SaveOnSuccess = true }; manjeetDialogue.OnMissionSuccess += new MissionHandler(manjeetDialogue_OnMissionSuccess); m_objectives.Add(manjeetDialogue); var speedsterDialogue = new MyObjective( MyTextsWrapperEnum.Null, MyMissionID.JUNKYARD_RETURN_SPEEDSTER_DIALOGUE, MyTextsWrapperEnum.Null, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_SMUGGLER_DIALOGUE }, null ) { SaveOnSuccess = true }; speedsterDialogue.OnMissionLoaded += O02SmugglerDialogueLoaded; m_objectives.Add(speedsterDialogue); m_objective03_FlyToStart = new MyObjective( (MyTextsWrapperEnum.JUNKYARD_RETURN_FLY_TO_START_Name), MyMissionID.JUNKYARD_RETURN_FLY_TO_START, (MyTextsWrapperEnum.JUNKYARD_RETURN_FLY_TO_START_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_SPEEDSTER_DIALOGUE }, null, startDialogId: MyDialogueEnum.JUNKYARD_RETURN_0300 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudStart }; m_objective03_FlyToStart.MissionEntityIDs.Add((uint)EntityID.DetectorStartRacePosition); m_objective03_FlyToStart.OnMissionLoaded += O03FlyToStartLoaded; m_objective03_FlyToStart.OnMissionCleanUp += O03FlyToStartCleanUp; m_objectives.Add(m_objective03_FlyToStart); m_objective04_Race = new MyObjectiveRace( (MyTextsWrapperEnum.JUNKYARD_RETURN_RACE_Name), (MyTextsWrapperEnum.JUNKYARD_RETURN_RACE_PrepareName), (MyTextsWrapperEnum.JUNKYARD_RETURN_RACE_GoBackName), MyMissionID.JUNKYARD_RETURN_RACE, (MyTextsWrapperEnum.JUNKYARD_RETURN_RACE_Description), null, this, new MyMissionID[]{ MyMissionID.JUNKYARD_RETURN_FLY_TO_START }, baseSector, m_raceCheckpoints, (uint)EntityID.DetectorStartRacePosition2 ) { SaveOnSuccess = true} ; m_objective04_Race.RacerNames = new List<string> { "Racer2", "Racer3", "Challenger" }; m_objective04_Race.BotLoaded += Race_BotLoaded; m_objective04_Race.OnMissionLoaded += O04RaceLoaded; m_objective04_Race.OnMissionFailed += RaceMissionFailed; m_objective04_Race.OnMissionSuccess += Objective04_RaceOnOnMissionSuccess; m_objective04_Race.CheckpointReached += RaceMissonOnCheckpointReached; m_objective04_Race.OnStartNumberChanged += RaceStartNumberChanged; m_objective04_Race.RaceStarted = RaceStarted; m_objectives.Add(m_objective04_Race); m_objective05_Win = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_RETURN_WIN_Name), MyMissionID.JUNKYARD_RETURN_WIN, (MyTextsWrapperEnum.JUNKYARD_RETURN_WIN_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_RACE }, MyDialogueEnum.JUNKYARD_RETURN_1300 ) { SaveOnSuccess = false }; m_objectives.Add(m_objective05_Win); m_objective05_Win.OnMissionLoaded += O05WinLoaded; m_objective06_GoToSmuggler = new MyMeetObjective( (MyTextsWrapperEnum.JUNKYARD_RETURN_GO_TO_SMUGGLER_name), MyMissionID.JUNKYARD_RETURN_GO_TO_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_RETURN_GO_TO_SMUGGLER_Description), this, new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_WIN }, null, (uint)EntityID.Manjeet, 100, 0.25f, null ) { SaveOnSuccess = true, FollowMe = false }; m_objectives.Add(m_objective06_GoToSmuggler); m_objective07_SmugglerDialogueReturn = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_RETURN_DIALOGUE_RETURN_Name), MyMissionID.JUNKYARD_RETURN_DIALOGUE_RETURN, (MyTextsWrapperEnum.JUNKYARD_RETURN_DIALOGUE_RETURN_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_GO_TO_SMUGGLER}, dialogId: MyDialogueEnum.JUNKYARD_RETURN_1400 ) { SaveOnSuccess = false }; m_objectives.Add(m_objective07_SmugglerDialogueReturn); m_objective07_SmugglerDialogueReturn.OnMissionLoaded += O07SmugglerDialogueReturnLoaded; #endregion }
public MyFortValiantMissionB() : base() { ID = MyMissionID.FORT_VALIANT_B; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("09c-Fort Valiant B"); // Name of mission Name = MyTextsWrapperEnum.FORT_VALIANT_B; Description = MyTextsWrapperEnum.FORT_VALIANT_B_Description; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.MARCUS, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; RequiredMissions = new MyMissionID[] { MyMissionID.SLAVER_BASE_1 }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.FORT_VALIANT_B_VISIT_VENDOR }; m_objectives = new List <MyObjective>(); // Creating of list of submissions var flyOne = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_B_FLY_ONE_Name), MyMissionID.FORT_VALIANT_B_FLY_ONE, (MyTextsWrapperEnum.FORT_VALIANT_B_FLY_ONE_Description), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.DetecorGateKeeper), null, null, MyDialogueEnum.FORT_VALIANT_B_0100) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudFortValiant }; m_objectives.Add(flyOne); /* * var speakGateKeeper = new MyMeetObjective( * new StringBuilder("Reach the gate of Fort Valiant"), * MyMissionID.FORT_VALIANT_B_SPEAK_GATE_KEEPER, * new StringBuilder(""), * this, * new MyMissionID[] { MyMissionID.FORT_VALIANT_FLY_ONE }, * (uint)EntityID.DetecorGateKeeper, * (uint)EntityID.GateKeeper, * 25, * 0.25f, * dialog3, * dialog2 * ) { SaveOnSuccess = true }; * m_objectives.Add(speakGateKeeper); * */ var speakCaptain = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_B_MEET_CAPTAIN_Name), MyMissionID.FORT_VALIANT_B_MEET_CAPTAIN, (MyTextsWrapperEnum.FORT_VALIANT_B_MEET_CAPTAIN_Description), this, new MyMissionID[] { MyMissionID.FORT_VALIANT_B_FLY_ONE }, (uint)EntityID.DetectorCaptain, (uint)EntityID.Captain, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_B_0200, null, false ) { SaveOnSuccess = true, FollowMe = false }; m_objectives.Add(speakCaptain); speakCaptain.OnMissionSuccess += SpeakCaptainOnOnMissionSuccess; m_visitVendor = new MyObjectiveEnterInventory( (MyTextsWrapperEnum.FORT_VALIANT_B_VISIT_VENDOR_Name), MyMissionID.FORT_VALIANT_B_VISIT_VENDOR, (MyTextsWrapperEnum.FORT_VALIANT_B_VISIT_VENDOR_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_B_MEET_CAPTAIN }, (uint)EntityID.VendorB, null, null ); m_objectives.Add(m_visitVendor); m_visitVendor.OnMissionLoaded += MVisitVendorOnOnMissionLoaded; /* * var flyToMadelyn = new MyObjective( * new StringBuilder("Meet your mothership close to the Templar cargo bay"), * MyMissionID.FORT_VALIANT_B_FLY_BACK_MADELYN, * new StringBuilder(""), * null, * this, * new MyMissionID[] { MyMissionID.FORT_VALIANT_B_VISIT_VENDOR }, * new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR) * ); * m_objectives.Add(flyToMadelyn); */ }
public MyEACPrisonMission() { ID = MyMissionID.EAC_PRISON; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("20-EAC prison"); Name = MyTextsWrapperEnum.EAC_PRISON; Description = MyTextsWrapperEnum.EAC_PRISON_Description; Flags = MyMissionFlags.Story; AchievementName = MySteamAchievementNames.Mission29_EacPrison; MyMwcVector3Int baseSector = new MyMwcVector3Int(5480055, 0, -5077310); /* sector where the mission is located */ Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); //posledne cislo - ID dummy pointu kde prijimam misiu RequiredMissions = new MyMissionID[] { MyMissionID.TWIN_TOWERS }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.EAC_PRISON_MEETINGPOINT }; RequiredActors = new MyActorEnum[] { MyActorEnum.TARJA, MyActorEnum.VALENTIN, MyActorEnum.MADELYN, MyActorEnum.MARCUS }; m_objectives = new List<MyObjective>(); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeStorage, 0, (uint)EntityID.SpawnpointAtStorage)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeIndustry, 0, (uint)EntityID.SpawnpointAtIndustry1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeIndustry, 0, (uint)EntityID.SpawnpointAtIndustry2)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeParking, 0, (uint)EntityID.SpawnpointAtParking)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeMines, 0, (uint)EntityID.SpawnpointAtMines)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeMinesEntrance, 0, (uint)EntityID.SpawnpointAtMinesEntrance)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeMarcusCell, 0, (uint)EntityID.SpawnpointAtMarcusCell)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck7, 0, (uint)EntityID.SpawnpointAtSecurityCheck7)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck6, 0, (uint)EntityID.SpawnpointAtSecurityCheck6)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck8, 0, (uint)EntityID.SpawnpointAtSecurityCheck8)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck4, 0, (uint)EntityID.SpawnpointAtSecurityCheck4)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCellAfterSecurityCheck4, 0, (uint)EntityID.SpawnpointAtCellAfterSecurityCheck4)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck5, 0, (uint)EntityID.SpawnpointAtSecurityCheck5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell1AfterSecurityCheck5, 0, (uint)EntityID.SpawnpointAtCell1AfterSecurityCheck5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell2AfterSecurityCheck5, 0, (uint)EntityID.SpawnpointAtCell2AfterSecurityCheck5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell3AfterSecurityCheck5, 0, (uint)EntityID.SpawnpointAtCell3AfterSecurityCheck5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck3, 0, (uint)EntityID.SpawnpointAtSecurityCheck3)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell1AfterSecurityCheck3, 0, (uint)EntityID.SpawnpointAtCell1AfterSecurityCheck3)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell2AfterSecurityCheck3, 0, (uint)EntityID.SpawnpointAtCell2AfterSecurityCheck3)); //Components.Add(new MySpawnpointWaves(detectorId, 3, new List<uint[]> { // new uint[] { spawnpointId1, spawnpointId2, spawnpointId3 }, // new uint[] { spawnpointId4, spawnpointId5 }})); //01 var mothershipBattle = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_THRUSWARM_Name), MyMissionID.EAC_PRISON_THRUSWARM, (MyTextsWrapperEnum.EAC_PRISON_THRUSWARM_Description), null, this, new MyMissionID[] {}, new MyMissionLocation(baseSector, (uint)EntityID.MotherShiBattleLocationDummy) ) {SaveOnSuccess = true,StartDialogId = MyDialogueEnum.EAC_PRISON_0100, SuccessDialogId = MyDialogueEnum.EAC_PRISON_0200}; m_objectives.Add(mothershipBattle); //mothershipBattle.Components.Add(new MySpawnpointWaves(77073, 0, 76625)); mothershipBattle.OnMissionLoaded += mothershipBattle_OnMissionLoaded; //02 var destroySolarDefence = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_PRISON_SOLARDEF_Name), MyMissionID.EAC_PRISON_SOLARDEF, (MyTextsWrapperEnum.EAC_PRISON_SOLARDEF_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_THRUSWARM }, m_02toKill ) { SaveOnSuccess = true,StartDialogId = MyDialogueEnum.EAC_PRISON_0300}; destroySolarDefence.OnMissionSuccess += DestroySolarDefenceOnOnMissionSuccess; m_objectives.Add(destroySolarDefence); destroySolarDefence.OnMissionLoaded += destroySolarDefence_OnMissionLoaded; //03 m_destroySolarPanelsFirst = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_SOLAROFF1_Name), MyMissionID.EAC_PRISON_SOLAROFF1, (MyTextsWrapperEnum.EAC_PRISON_SOLAROFF1_Description), null, this, new MyMissionID[] {MyMissionID.EAC_PRISON_SOLARDEF}, null ) {SaveOnSuccess = false}; m_destroySolarPanelsFirst.OnMissionLoaded += DestroySolarPanelsFirstSubmissionLoaded; m_destroySolarPanelsFirst.OnMissionSuccess += DestroySolarPanelsFirstSubmissionSuccess; m_objectives.Add(m_destroySolarPanelsFirst); m_destroySolarPanelsFirst.SaveOnSuccess = true; //04 var motherShipHelp = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_PRISON_MOTHERSHIPHELP_Name), MyMissionID.EAC_PRISON_MOTHERSHIPHELP, (MyTextsWrapperEnum.EAC_PRISON_MOTHERSHIPHELP_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_SOLAROFF1 }, m_04toKill ) { SaveOnSuccess = false, StartDialogId = MyDialogueEnum.EAC_PRISON_0400, SuccessDialogId = MyDialogueEnum.EAC_PRISON_0500}; m_objectives.Add(motherShipHelp); motherShipHelp.OnMissionLoaded += new MissionHandler(motherShipHelp_OnMissionLoaded); //05 m_destroySolarPanelsSecond = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_SOLAROFF2_Name), MyMissionID.EAC_PRISON_SOLAROFF2, (MyTextsWrapperEnum.EAC_PRISON_SOLAROFF2_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_MOTHERSHIPHELP }, null ) { SaveOnSuccess = true,}; m_destroySolarPanelsSecond.OnMissionLoaded += DestroySolarPanelsSecondSubmissionLoaded; m_destroySolarPanelsSecond.OnMissionSuccess += DestroySolarPanelsSecondSubmissionSuccess; m_objectives.Add(m_destroySolarPanelsSecond); //06 var breakInsideStation = new MyTimedReachLocationObjective( (MyTextsWrapperEnum.EAC_PRISON_BREAKIN_Name), MyMissionID.EAC_PRISON_BREAKIN, (MyTextsWrapperEnum.EAC_PRISON_BREAKIN_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_SOLAROFF2 }, new System.TimeSpan(0, 1, 0), new MyMissionLocation(baseSector,(uint) EntityID.BreakInsideStationLocationDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_0600, HudName = MyTextsWrapperEnum.HudCargoBay }; breakInsideStation.OnMissionSuccess += BreakInsideStationSubmissionSuccess; breakInsideStation.OnMissionLoaded += BreakInsideStationOnOnMissionLoaded; m_objectives.Add(breakInsideStation); //07 var marcusLocationIntel = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_LOCINTEL_Name), MyMissionID.EAC_PRISON_LOCINTEL, (MyTextsWrapperEnum.EAC_PRISON_LOCINTEL_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_BREAKIN }, new MyMissionLocation(baseSector, (uint)EntityID._MarcusIntelLocation), MyTextsWrapperEnum.PressToDownloadData, MyTextsWrapperEnum.Console, MyTextsWrapperEnum.DownloadingData, 5000, MyUseObjectiveType.Hacking ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_objectives.Add(marcusLocationIntel); marcusLocationIntel.OnMissionLoaded += new MissionHandler(marcusLocationIntel_OnMissionLoaded); marcusLocationIntel.OnMissionSuccess += MarcusLocationIntelOnOnMissionSuccess; marcusLocationIntel.Components.Add(new MySpawnpointLimiter(m_spawns, 6)); //08 m_findCircoutPart = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_ACQUIREIDCARD_Name), MyMissionID.EAC_PRISON_ACQUIREIDCARD, (MyTextsWrapperEnum.EAC_PRISON_ACQUIREIDCARD_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_LOCINTEL}, new MyMissionLocation(baseSector, (uint)EntityID.CargoIDCard), MyTextsWrapperEnum.PressToTakeCargo, MyTextsWrapperEnum.TakeAll, MyTextsWrapperEnum.TakeAll, 2000, MyUseObjectiveType.Taking, radiusOverride: 50 ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_0700, HudName = MyTextsWrapperEnum.HudIdCard }; m_findCircoutPart.OnMissionLoaded += OnFindCircuitLoaded; m_findCircoutPart.OnMissionSuccess += new MissionHandler(m_findCircoutPart_OnMissionSuccess); m_objectives.Add(m_findCircoutPart); var marcusLocationIntel2 = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_LOCINTEL2_Name), MyMissionID.EAC_PRISON_LOCINTEL2, (MyTextsWrapperEnum.EAC_PRISON_LOCINTEL2_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_ACQUIREIDCARD }, new MyMissionLocation(baseSector, (uint)EntityID._MarcusIntelLocation), MyTextsWrapperEnum.PressToDownloadData, MyTextsWrapperEnum.Console, MyTextsWrapperEnum.DownloadingData, 5000, MyUseObjectiveType.Hacking ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.EAC_PRISON_0900, StartDialogId = MyDialogueEnum.EAC_PRISON_0800, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_objectives.Add(marcusLocationIntel2); //09 var openDoors = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.EAC_PRISON_OPENACCESS_Name), MyMissionID.EAC_PRISON_OPENACCESS, (MyTextsWrapperEnum.EAC_PRISON_OPENACCESS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_LOCINTEL2 }, null, new List<uint> {(int)EntityID.SecurityHub}, m_09toEnablePrefabs ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_objectives.Add(openDoors); openDoors.OnMissionLoaded += OnOpenDoorsLoaded; //10 var takeOffSecurityCircuit = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.EAC_PRISON_SECURITYOFF_Name), MyMissionID.EAC_PRISON_SECURITYOFF, (MyTextsWrapperEnum.EAC_PRISON_SECURITYOFF_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_OPENACCESS }, new List<uint> { (uint)EntityID.HubHack }, new List<uint> { (uint)EntityID.HubHackGenerator }, false, false ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_1000, HudName = MyTextsWrapperEnum.HudHub }; takeOffSecurityCircuit.OnMissionLoaded += OntakeOffSecuritypartLoaded;//zapne svetlo m_objectives.Add(takeOffSecurityCircuit); //11 var approachMarcusCell = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_MARCUSCELL_Name), MyMissionID.EAC_PRISON_MARCUSCELL, (MyTextsWrapperEnum.EAC_PRISON_MARCUSCELL_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_SECURITYOFF }, new MyMissionLocation(baseSector, (uint)EntityID.MarcusCellLocation), MyTextsWrapperEnum.HoldToMoveMarcus, MyTextsWrapperEnum.Actor_Marcus, MyTextsWrapperEnum.Moving, 4000, MyUseObjectiveType.Taking ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudMarcus }; approachMarcusCell.OnMissionLoaded += OnapproachMarcusLoaded; m_objectives.Add(approachMarcusCell); var marcusLoaded = new MyObjectiveDialog( MyMissionID.EAC_PRISON_MARCUSDIALOG, null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_MARCUSCELL }, MyDialogueEnum.EAC_PRISON_1200 ) { SaveOnSuccess = true }; marcusLoaded.OnMissionLoaded += OnMarcusLoadedLoaded; m_objectives.Add(marcusLoaded); var weHaveCompany = new MyObjectiveDialog( MyMissionID.EAC_PRISON_WE_HAVE_COMPANY, null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_MARCUSDIALOG }, MyDialogueEnum.EAC_PRISON_1250 ) { SaveOnSuccess = false }; weHaveCompany.OnMissionLoaded += OnWeHaveCompanyLoaded; m_objectives.Add(weHaveCompany); //12 var findMarcusSmallShip = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_COVERMARCUS_Name), MyMissionID.EAC_PRISON_COVERMARCUS, (MyTextsWrapperEnum.EAC_PRISON_COVERMARCUS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_WE_HAVE_COMPANY }, new MyMissionLocation(baseSector, (uint)EntityID.MarcusShipDetector), MyTextsWrapperEnum.HoldToMoveMarcus, MyTextsWrapperEnum.Actor_Marcus, MyTextsWrapperEnum.Moving, 4000, MyUseObjectiveType.Putting ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudShip }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_objectives.Add(findMarcusSmallShip); findMarcusSmallShip.OnMissionSuccess += OnSuccesfindMarcusSmallShip; //13 var equipMarcus = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_GETARMS_Name), MyMissionID.EAC_PRISON_GETARMS, (MyTextsWrapperEnum.EAC_PRISON_GETARMS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_COVERMARCUS }, new MyMissionLocation(baseSector, (uint)EntityID.CargoForMarcus), MyTextsWrapperEnum.HoldToMoveWeapons, MyTextsWrapperEnum.Actor_Marcus, MyTextsWrapperEnum.Moving, 4000 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudEquipment }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_objectives.Add(equipMarcus); equipMarcus.OnMissionSuccess += OnEquipMarcussSucces; equipMarcus.OnMissionLoaded += EquipMarcusOnOnMissionLoaded; //14 var fightOutStation = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_FIGHTOUT_Name), MyMissionID.EAC_PRISON_FIGHTOUT, (MyTextsWrapperEnum.EAC_PRISON_FIGHTOUT_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_GETARMS }, new MyMissionLocation(baseSector, (uint)EntityID.StationDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_1300, SuccessDialogId = MyDialogueEnum.EAC_PRISON_1400, HudName = MyTextsWrapperEnum.Nothing }; fightOutStation.OnMissionLoaded += fightOutStation_OnMissionLoaded; fightOutStation.OnMissionSuccess += fightOutStation_OnMissionSuccess; m_objectives.Add(fightOutStation); //15 var CrushRemainingShips = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_PRISON_CRUSHREINFORCEMENTS_Name), MyMissionID.EAC_PRISON_CRUSHREINFORCEMENTS, (MyTextsWrapperEnum.EAC_PRISON_CRUSHREINFORCEMENTS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_FIGHTOUT }, new List<uint> { }, // entities needed to kill m_15toKillSpawnpoints, // spawnpoint from which bots must be killed false // don't show marks on entities (not from spawnpoint) ) { SaveOnSuccess = true, }; m_objectives.Add(CrushRemainingShips); //16 var GetToMeetingPoint = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_MEETINGPOINT_Name), MyMissionID.EAC_PRISON_MEETINGPOINT, (MyTextsWrapperEnum.EAC_PRISON_MEETINGPOINT_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_CRUSHREINFORCEMENTS }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_1500, SuccessDialogId = MyDialogueEnum.EAC_PRISON_1600, HudName = MyTextsWrapperEnum.HudMeetingPoint }; m_objectives.Add(GetToMeetingPoint); }
public MyLastHopeMission() { ID = MyMissionID.LAST_HOPE; Name = MyTextsWrapperEnum.LAST_HOPE; Description = MyTextsWrapperEnum.LAST_HOPE_Description; DebugName = new StringBuilder("07-Last Hope"); Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-190694, 0, -18204363); Location = new MyMissionLocation(baseSector, (uint)EntityId.ReachColonyDummy); RequiredMissions = new MyMissionID[] { MyMissionID.BARTHS_MOON_TRANSMITTER }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.LAST_HOPE_LEAVE_UNDERGROUND }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN }; #region Objectives m_objectives = new List<MyObjective>(); var reachColony = new MyObjective( MyTextsWrapperEnum.LAST_HOPE_REACH_COLONY, MyMissionID.LAST_HOPE_REACH_COLONY, MyTextsWrapperEnum.LAST_HOPE_REACH_COLONY_DESCRIPTION, null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityId.ReachColonyDummy), startDialogId: MyDialogueEnum.LAST_HOPE_0100 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudLastHope }; reachColony.Components.Add(new MySpawnpointWaves((uint)EntityId.ReachColonyDialogDetector, 1, new List<uint[]>() { new uint[]{(uint)EntityId.ReachColonySpawn1} })); var dialogComponent = new MyDetectorDialogue((uint)EntityId.ReachColonyDialogDetector, MyDialogueEnum.LAST_HOPE_0200); dialogComponent.OnDialogStarted += ReachColonyDialogComonentOnOnDialogStarted; dialogComponent.OnDialogFinished += ReachColonyDialogComonentOnOnDialogFinished; reachColony.Components.Add(dialogComponent); m_objectives.Add(reachColony); var destroySlaverRiders = new MyObjectiveDestroy( MyTextsWrapperEnum.LAST_HOPE_REACH_DESTROY_RIDERS, MyMissionID.LAST_HOPE_DESTROY_SLAVER_RIDERS, MyTextsWrapperEnum.LAST_HOPE_REACH_DESTROY_RIDERS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_REACH_COLONY }, new List<uint> { (uint)EntityId.DestroySlaverRidersGenerator1, (uint)EntityId.DestroySlaverRidersGenerator2 } ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.LAST_HOPE_0300, HudName = MyTextsWrapperEnum.Nothing }; destroySlaverRiders.Components.Add(new MySpawnpointWaves((uint)EntityId.DestroySlaverRidersDetector1, 1, new List<uint[]>() { new uint[]{(uint)EntityId.DestroySlaverRidersSpawn11}, new uint[]{(uint)EntityId.DestroySlaverRidersSpawn12} })); destroySlaverRiders.Components.Add(new MySpawnpointWaves((uint)EntityId.DestroySlaverRidersDetector1, 1, new List<uint[]>() { new uint[]{(uint)EntityId.DestroySlaverRidersSpawn21}, new uint[]{(uint)EntityId.DestroySlaverRidersSpawn22} })); destroySlaverRiders.Components.Add(new MySpawnpointWaves((uint)EntityId.DestroySlaverRidersDetector3, 1, new List<uint[]>() { new uint[]{(uint)EntityId.DestroySlaverRidersSpawn31}, new uint[]{(uint)EntityId.DestroySlaverRidersSpawn32} })); destroySlaverRiders.Components.Add(new MySpawnpointWaves((uint)EntityId.DestroySlaverRidersDetector3, 1, new List<uint[]>() { new uint[]{(uint)EntityId.DestroySlaverRidersSpawn41}, new uint[]{(uint)EntityId.DestroySlaverRidersSpawn42} })); destroySlaverRiders.OnMissionLoaded += DestroySlaverRiders_Loaded; m_objectives.Add(destroySlaverRiders); m_catchSlaverRiders = new MyObjective( MyTextsWrapperEnum.LAST_HOPE_REACH_CATCH_SHIPS, MyMissionID.LAST_HOPE_CATCH_SLAVER_RIDERS, MyTextsWrapperEnum.LAST_HOPE_REACH_CATCH_SHIPS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_DESTROY_SLAVER_RIDERS, }, new MyMissionLocation(baseSector, (uint)EntityId.CatchSlaverRidersDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.LAST_HOPE_0400 }; m_catchSlaverRiders.Components.Add(new MySpawnpointWaves((uint)EntityId.CatchSlaverRidersDetector1, 1, new List<uint[]>() { new uint[]{(uint)EntityId.CatchSlaverRidersSpawn1}, })); m_catchSlaverRiders.Components.Add(new MySpawnpointWaves((uint)EntityId.CatchSlaverRidersDetector2, 1, new List<uint[]>() { new uint[]{(uint)EntityId.CatchSlaverRidersSpawn21}, new uint[]{(uint)EntityId.CatchSlaverRidersSpawn22} })); m_catchSlaverRiders.OnMissionLoaded += CatchSlaverRiders_Loaded; m_objectives.Add(m_catchSlaverRiders); m_stopSlaverTransport = new MyObjectiveDestroy( MyTextsWrapperEnum.LAST_HOPE_REACH_STOP_SHIPS, MyMissionID.LAST_HOPE_STOP_SLAVER_RIDERS, MyTextsWrapperEnum.LAST_HOPE_REACH_STOP_SHIPS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_CATCH_SLAVER_RIDERS }, new List<uint>() { (uint)EntityId.StopSlaverTransportGenerator1, (uint)EntityId.StopSlaverTransportGenerator2 } ) { SaveOnSuccess = false, StartDialogId = MyDialogueEnum.LAST_HOPE_0500 }; m_movingShip1 = new MyMovingEntity((uint)EntityId.StopSlaverTransportShip1, (uint)EntityId.StopSlaverTransportShip1Target, StopSlaversObjectiveTime, false); m_movingShip2 = new MyMovingEntity((uint)EntityId.StopSlaverTransportShip2, (uint)EntityId.StopSlaverTransportShip2Target, StopSlaversObjectiveTime, false); m_movingShip1Particle = new MyMovingEntity((uint)EntityId.StopSlaverTransportShip1Particle, (uint)EntityId.StopSlaverTransportShip1TargetParticle, StopSlaversObjectiveTime, false); m_movingShip2Particle = new MyMovingEntity((uint)EntityId.StopSlaverTransportShip2Particle, (uint)EntityId.StopSlaverTransportShip2TargetParticle, StopSlaversObjectiveTime, false); m_stopSlaverTransport.Components.Add(m_movingShip1); m_stopSlaverTransport.Components.Add(m_movingShip2); m_stopSlaverTransport.Components.Add(m_movingShip1Particle); m_stopSlaverTransport.Components.Add(m_movingShip2Particle); m_stopSlaverTransport.OnMissionLoaded += StopSlaverTransport_Loaded; m_stopSlaverTransport.Components.Add(new MySpawnpointWaves((uint)EntityId.CatchSlaverRidersDummy, 1, new List<uint[]>() { new uint[]{(uint)EntityId.StopSlaverTransportSpawn11,(uint)EntityId.StopSlaverTransportSpawn21,}, new uint[]{(uint)EntityId.StopSlaverTransportSpawn12,(uint)EntityId.StopSlaverTransportSpawn22,}, })); m_objectives.Add(m_stopSlaverTransport); var speakWithFathetTobias = new MyObjectiveDialog ( MyTextsWrapperEnum.LAST_HOPE_SPEAK_WITH_FATHER, MyMissionID.LAST_HOPE_SPEAK_WITH_FATHER, MyTextsWrapperEnum.LAST_HOPE_SPEAK_WITH_FATHER_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_STOP_SLAVER_RIDERS }, MyDialogueEnum.LAST_HOPE_0600 ) { SaveOnSuccess = true }; m_objectives.Add(speakWithFathetTobias); var reachCaves = new MyObjective( MyTextsWrapperEnum.LAST_HOPE_REACH_REACH_CAVE, MyMissionID.LAST_HOPE_REACH_UNDEGROUND_CAVES, MyTextsWrapperEnum.LAST_HOPE_REACH_REACH_CAVE_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_SPEAK_WITH_FATHER }, new MyMissionLocation(baseSector, (uint)EntityId.ReachCavesLocation) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.LAST_HOPE_0700, HudName = MyTextsWrapperEnum.HudCave }; m_objectives.Add(reachCaves); m_findTunnel = new MyObjective( MyTextsWrapperEnum.LAST_HOPE_REACH_TUNNEL, MyMissionID.LAST_HOPE_FIND_MAINTANCE_TUNELL, MyTextsWrapperEnum.LAST_HOPE_REACH_TUNNEL_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_REACH_UNDEGROUND_CAVES }, new MyMissionLocation(baseSector, (uint)EntityId.FindTunnelDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.LAST_HOPE_0800, HudName = MyTextsWrapperEnum.HudTunnel }; m_findTunnel.Components.Add(new MySpawnpointWaves((uint)EntityId.ReachCavesLocation, 1, new List<uint[]>() { new uint[]{(uint)EntityId.FindTunnelSpawn1}, new uint[]{(uint)EntityId.FindTunnelSpawn2}, new uint[]{(uint)EntityId.FindTunnelSpawn3}, })); m_objectives.Add(m_findTunnel); var killSaboteurSquad = new MyDestroyWavesObjective ( MyTextsWrapperEnum.LAST_HOPE_KILL_SABOTERS, MyMissionID.LAST_HOPE_KILL_SQUAD, MyTextsWrapperEnum.LAST_HOPE_KILL_SABOTERS, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_FIND_MAINTANCE_TUNELL } ) { SaveOnSuccess = true }; killSaboteurSquad.AddWave(new List<uint>() { (uint)EntityId.KillSaboteursSpawn }); killSaboteurSquad.Components.Add(new MyDetectorDialogue((uint)EntityId.KillSabotersDetector, MyDialogueEnum.LAST_HOPE_1100)); m_objectives.Add(killSaboteurSquad); var deactivateBombs = new MyMultipleUseObjective (MyTextsWrapperEnum.LAST_HOPE_DEACTIVATE_BOMBS, MyMissionID.LAST_HOPE_DEACTIVATE_BOMB, MyTextsWrapperEnum.LAST_HOPE_DEACTIVATE_BOMBS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_KILL_SQUAD }, MyTextsWrapperEnum.PressToDeactivateNuclearHead, MyTextsWrapperEnum.NuclearHead, MyTextsWrapperEnum.DeactivatingInProgress, 5000, new List<uint>() { (uint)EntityId.DeactivateBombPrefab1, (uint)EntityId.DeactivateBombPrefab2 }, MyUseObjectiveType.Taking ) { RadiusOverride = 30, SaveOnSuccess = true, StartDialogId = MyDialogueEnum.LAST_HOPE_1200 }; deactivateBombs.OnMissionLoaded += DeactivateBombs_Loaded; deactivateBombs.OnObjectUsedSucces += DeactivateBombs_ObjectUsedSuccess; deactivateBombs.Components.Add(new MyDetectorDialogue((uint)EntityId.GasCloudsDetector, MyDialogueEnum.LAST_HOPE_1300)); m_objectives.Add(deactivateBombs); m_repairPipes = new MyMultipleUseObjective (MyTextsWrapperEnum.LAST_HOPE_STABILIZE_GAS, MyMissionID.LAST_HOPE_REPAIR_PIPES, MyTextsWrapperEnum.LAST_HOPE_STABILIZE_GAS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_DEACTIVATE_BOMB }, MyTextsWrapperEnum.PressToRepairGasPipe, MyTextsWrapperEnum.GasPipe, MyTextsWrapperEnum.ProgressRepairing, 5000, new List<uint>() { }, MyUseObjectiveType.Repairing ) { SaveOnSuccess = true, RadiusOverride = 30, StartDialogId = MyDialogueEnum.LAST_HOPE_1400, SuccessDialogId = MyDialogueEnum.LAST_HOPE_1600 }; foreach (var gasPipe in m_gasPipes) { m_repairPipes.MissionEntityIDs.Add(gasPipe.Key); } m_repairPipes.OnObjectUsedSucces += RepairPipes_ObjectUsedSuccess; m_objectives.Add(m_repairPipes); var stabilizeNuclearCore = new MyMultipleUseObjective ( MyTextsWrapperEnum.LAST_HOPE_STABILIZE_NUCLEAR_CORE, MyMissionID.LAST_HOPE_STABILIZE_NUCLEAR_CORE, MyTextsWrapperEnum.LAST_HOPE_STABILIZE_GAS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_REPAIR_PIPES }, MyTextsWrapperEnum.PressToRepairRadiation, MyTextsWrapperEnum.RadiationLeak, MyTextsWrapperEnum.Fixing, 5000, new List<uint>() { }, MyUseObjectiveType.Repairing ) { RadiusOverride = 40, SaveOnSuccess = true }; stabilizeNuclearCore.Components.Add(new MyDetectorDialogue((uint)EntityId.StabilizeCoreDialog1Dummy, MyDialogueEnum.LAST_HOPE_1700)); stabilizeNuclearCore.Components.Add(new MyDetectorDialogue((uint)EntityId.StabilizeCoreDialog2Dummy, MyDialogueEnum.LAST_HOPE_1800)); foreach (var core in m_nuclearCores) { stabilizeNuclearCore.MissionEntityIDs.Add(core.Key); } stabilizeNuclearCore.OnObjectUsedSucces += StabilizeNuclearCore_ObjectUsedSuccess; m_objectives.Add(stabilizeNuclearCore); var leaveUnderground = new MyObjective ( MyTextsWrapperEnum.LAST_HOPE_LEAVE_SHAFTS, MyMissionID.LAST_HOPE_LEAVE_UNDERGROUND, MyTextsWrapperEnum.LAST_HOPE_LEAVE_SHAFTS_DESC, null, this, new MyMissionID[] { MyMissionID.LAST_HOPE_STABILIZE_NUCLEAR_CORE }, new MyMissionLocation(baseSector, (uint)EntityId.LaveUndergroundDummy)) { StartDialogId = MyDialogueEnum.LAST_HOPE_1900, HudName = MyTextsWrapperEnum.Nothing }; leaveUnderground.OnMissionSuccess += LeaveUnderground_Success; m_objectives.Add(leaveUnderground); #endregion }
public MyRimeBlueprintsMission() { ID = MyMissionID.RIME_BLUEPRINTS; /* ID must be added to MyMissions.cs */ Name = new StringBuilder("11-Rime:Blueprints"); // Name of mission Description = new StringBuilder("Choose one of the entrances and sneak through the laboratory to steal the blueprints\n"); // Description of mission - do not forget to \n at the end of each line Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-1922856, 0, -2867519); // Story sector of the script - i.e. (-2465,0,6541) Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.RIME_CONVINCE }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.RIME_BLUEPRINTS_RETURN_TO_MOTHERSHIP }; m_objectives = new List<MyObjective>(); // Creating of list of submissions // START OF REACH OBJECTIVE SUBMISSION DEFINITION m_entranceL = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it new StringBuilder("Enter the quarter"), // Name of the submission MyMissionID.RIME_BLUEPRINTS_ENTRANCE1, // ID of the submission - must be added to MyMissions.cs new StringBuilder(""), // Description of the submission null, this, new MyMissionID[] { }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.EntranceL) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // False means do not save game in that checkpoint m_objectives.Add(m_entranceL); // Adding this submission to the list of submissions of current mission // END OF REACH OBJECTIVE SUBMISSION DEFINITION // START OF REACH OBJECTIVE SUBMISSION DEFINITION m_entranceR = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it new StringBuilder("Entry the quarter with the drone"), // Name of the submission MyMissionID.RIME_BLUEPRINTS_ENTRANCE2, // ID of the submission - must be added to MyMissions.cs new StringBuilder(""), // Description of the submission null, this, new MyMissionID[] { }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.EntranceR) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // False means do not save game in that checkpoint m_objectives.Add(m_entranceR); // Adding this submission to the list of submissions of current mission // END OF REACH OBJECTIVE SUBMISSION DEFINITION // START OF REACH OBJECTIVE SUBMISSION DEFINITION m_target = new MyObjectiveOptionalRequirements( new StringBuilder("Get the blueprints"), MyMissionID.RIME_BLUEPRINTS_TARGET, new StringBuilder("Sneak through the base and get the blueprints!\n"), null, this, new MyMissionID[] { }, null, new MyMissionID[] { MyMissionID.RIME_BLUEPRINTS_ENTRANCE1, MyMissionID.RIME_BLUEPRINTS_ENTRANCE2 }, 1, new List<uint>() {(uint)EntityID.HUB } ) { SaveOnSuccess = false }; // False means do not save game in that checkpoint m_objectives.Add(m_target); // END OF REACH OBJECTIVE SUBMISSION DEFINITION m_flyExit = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it new StringBuilder("Leave the laboratory"), // Name of the submission MyMissionID.RIME_BLUEPRINTS_EXIT, // ID of the submission - must be added to MyMissions.cs new StringBuilder("Use the emergency exit.\n"), // Description of the submission null, this, new MyMissionID[] { MyMissionID.RIME_BLUEPRINTS_TARGET }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.Exit) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // False means do not save game in that checkpoint m_objectives.Add(m_flyExit); var returnToFrancis = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it new StringBuilder("Get back to Francis"), // Name of the submission MyMissionID.RIME_BLUEPRINTS_RETURN_TO_FRANCIS, // ID of the submission - must be added to MyMissions.cs new StringBuilder("Bring the blueprints back to Francis Reef\n"), // Description of the submission null, this, new MyMissionID[] { MyMissionID.RIME_BLUEPRINTS_EXIT }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.Return) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // False means do not save game in that checkpoint m_objectives.Add(returnToFrancis); var returnToMothership = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it new StringBuilder("Return to your mothership"), // Name of the submission MyMissionID.RIME_BLUEPRINTS_RETURN_TO_MOTHERSHIP, // ID of the submission - must be added to MyMissions.cs new StringBuilder(""), // Description of the submission null, this, new MyMissionID[] { MyMissionID.RIME_BLUEPRINTS_RETURN_TO_FRANCIS }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.ReturnToMothership) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // False means do not save game in that checkpoint m_objectives.Add(returnToMothership); }
public MyChineseTransmitterMission() { ID = MyMissionID.CHINESE_TRANSMITTER; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.CHINESE_TRANSMITTER; Description = MyTextsWrapperEnum.CHINESE_TRANSMITTER_Description; DebugName = new StringBuilder("16-PRC transmitter"); // Nazev mise Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(2329559, 0, 4612446); // Story sector of the script Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point RequiredMissions = new MyMissionID[] { MyMissionID.BARTHS_MOON_PLANT }; // mise ktere musi byt splneny pred prijetim teto mise RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_ESCAPE3 }; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List <MyObjective>(); // Creating of list of submissions // START DEFINICE SUBMISE var lootCargo = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu (MyTextsWrapperEnum.CHINESE_TRANSMITTER_LOOT_CARGO_Name), // nazev submise MyMissionID.CHINESE_TRANSMITTER_LOOT_CARGO, // id submise (MyTextsWrapperEnum.CHINESE_TRANSMITTER_LOOT_CARGO_Description), // popis submise null, this, new MyMissionID[] { }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, (uint)EntityID.CargoDummy), startDialogId: MyDialogueEnum.CHINESE_TRANSMITTER_0100_INTRODUCE ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudCargo }; // nastaveni save na checkpointu nebo ne m_objectives.Add(lootCargo); lootCargo.OnMissionSuccess += LootSucces; //var spawnPointSmartWaves = // new MySpawnpointSmartWaves( // new[] { (uint) EntityID.Security_Spawn1, (uint) EntityID.Loot_Spawn }, null, 2); //Components.Add(spawnPointSmartWaves); var talkWith = new MyObjectiveDialog( MyTextsWrapperEnum.CHINESE_TRANSMITTER_DIALOGUE_1_Name, MyMissionID.CHINESE_TRANSMITTER_DIALOGUE_1, MyTextsWrapperEnum.CHINESE_TRANSMITTER_DIALOGUE_1_Description, null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_LOOT_CARGO }, dialogId: MyDialogueEnum.CHINESE_TRANSMITTER_0200_CARGO_BAY ) { SaveOnSuccess = false }; m_objectives.Add(talkWith); var checkpoint = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu (MyTextsWrapperEnum.CHINESE_TRANSMITTER_CHECKPOINT_Name), // nazev submise MyMissionID.CHINESE_TRANSMITTER_CHECKPOINT, // id submise (MyTextsWrapperEnum.CHINESE_TRANSMITTER_CHECKPOINT_Description), // popis submise null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_DIALOGUE_1 }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, (uint)EntityID.checkpoint) //successDialogId: MyDialogueEnum.CHINESE_TRANSMITTER_0300_CARGO_BAY_2// ID of dummy point of checkpoint ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudStation }; // nastaveni save na checkpointu nebo ne m_objectives.Add(checkpoint); // pridani do seznamu submisi var findSecurityControl = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu (MyTextsWrapperEnum.CHINESE_TRANSMITTER_FIND_SECURITY_CONTROL_Name), // nazev submise MyMissionID.CHINESE_TRANSMITTER_FIND_SECURITY_CONTROL, // id submise (MyTextsWrapperEnum.CHINESE_TRANSMITTER_FIND_SECURITY_CONTROL_Description), // popis submise null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_CHECKPOINT, }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, (uint)EntityID.SecurityDummy), // ID of dummy point of checkpoint startDialogId: MyDialogueEnum.CHINESE_TRANSMITTER_0300_CARGO_BAY_2 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudControlCenter }; // nastaveni save na checkpointu nebo ne m_objectives.Add(findSecurityControl); findSecurityControl.OnMissionSuccess += FindSecurityControl_OnMissionSuccess; var talkWith3 = new MyObjectiveDialog( MyTextsWrapperEnum.CHINESE_TRANSMITTER_DIALOGUE_3_Name, MyMissionID.CHINESE_TRANSMITTER_DIALOGUE_3, MyTextsWrapperEnum.CHINESE_TRANSMITTER_DIALOGUE_3_Description, null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_FIND_SECURITY_CONTROL }, dialogId: MyDialogueEnum.CHINESE_TRANSMITTER_0400_SECURITY_ROOM ) { SaveOnSuccess = false }; m_objectives.Add(talkWith3); var destroyGenerator = new MyObjectiveDestroy( // Var is used to call functions on that member (MyTextsWrapperEnum.CHINESE_TRANSMITTER_DESTROY_SECURITY_CONTROL_Name), MyMissionID.CHINESE_TRANSMITTER_DESTROY_SECURITY_CONTROL, (MyTextsWrapperEnum.CHINESE_TRANSMITTER_DESTROY_SECURITY_CONTROL_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_DIALOGUE_3, }, new List <uint> { (uint)EntityID.Generator }, new List <uint>(), true ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudGenerator }; destroyGenerator.MissionEntityIDs.Add((uint)EntityID.Generator); m_objectives.Add(destroyGenerator); // pridani do seznamu submisi destroyGenerator.OnMissionSuccess += DestroyMSSucces; /* var talkWith4 = new MyObjectiveDialog( * new StringBuilder("Find the comand center"), * MyMissionID.CHINESE_TRANSMITTER_DIALOGUE_4, * new StringBuilder(""), * null, * this, * new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_DESTROY_SECURITY_CONTROL, }, * dialogId: MyDialogueEnum.CHINESE_TRANSMITTER_0500_GENERATOR_DESTROYED * ) { SaveOnSuccess = false }; * m_objectives.Add(talkWith4);*/ var findCIC = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu (MyTextsWrapperEnum.CHINESE_TRANSMITTER_FIND_CIC_Name), // nazev submise MyMissionID.CHINESE_TRANSMITTER_FIND_CIC, // id submise (MyTextsWrapperEnum.CHINESE_TRANSMITTER_FIND_CIC_Description), // popis submise null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_DESTROY_SECURITY_CONTROL, }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, (uint)EntityID.FindCICDummy), // ID of dummy point of checkpoint startDialogId: MyDialogueEnum.CHINESE_TRANSMITTER_0500_GENERATOR_DESTROYED ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudCommandCenter }; // nastaveni save na checkpointu nebo ne m_objectives.Add(findCIC); // pridani do seznamu submisi findCIC.OnMissionSuccess += findCICSucces; m_talkWith5 = new MyObjectiveDialog( (MyTextsWrapperEnum.CHINESE_TRANSMITTER_DIALOGUE_5_Name), MyMissionID.CHINESE_TRANSMITTER_DIALOGUE_5, (MyTextsWrapperEnum.CHINESE_TRANSMITTER_DIALOGUE_5_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_FIND_CIC, }, dialogId: MyDialogueEnum.CHINESE_TRANSMITTER_0600_CIC_FOUND ) { SaveOnSuccess = false }; m_objectives.Add(m_talkWith5); m_hackCIC = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.CHINESE_TRANSMITTER_OPEN_CIC_Name), MyMissionID.CHINESE_TRANSMITTER_OPEN_CIC, (MyTextsWrapperEnum.CHINESE_TRANSMITTER_OPEN_CIC_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_DIALOGUE_5 }, null, new List <uint> { (uint)EntityID.HUB }, new List <uint> { (uint)EntityID.CICDoors_1, (uint)EntityID.CICDoors_2 } ) { HudName = MyTextsWrapperEnum.HudSecurityHub }; m_objectives.Add(m_hackCIC); var talkWith6 = new MyObjectiveDialog( (MyTextsWrapperEnum.CHINESE_TRANSMITTER_DIALOGUE_6_Name), MyMissionID.CHINESE_TRANSMITTER_DIALOGUE_6, (MyTextsWrapperEnum.CHINESE_TRANSMITTER_DIALOGUE_6_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_OPEN_CIC }, dialogId: MyDialogueEnum.CHINESE_TRANSMITTER_0700_HUB_HACKED ) { SaveOnSuccess = false }; talkWith6.MissionEntityIDs.Add((uint)EntityID.InsideCICDummy); m_objectives.Add(talkWith6); m_placeRadarMission = new MyUseObjective( (MyTextsWrapperEnum.CHINESE_TRANSMITTER_PLACE_DEVICE_Name), MyMissionID.CHINESE_TRANSMITTER_PLACE_DEVICE, (MyTextsWrapperEnum.CHINESE_TRANSMITTER_PLACE_DEVICE_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_DIALOGUE_6, }, new MyMissionLocation(baseSector, (uint)EntityID.InsideCICDummy), MyTextsWrapperEnum.PressToPlaceDetector, MyTextsWrapperEnum.DetectorPlacement, MyTextsWrapperEnum.DeployingInProgress, 5000 //StartDialogId: MyDialogueEnum.CHINESETRANSMITTER_0700_HUB_HACKED ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; m_placeRadarMission.OnMissionSuccess += PlaceRadarSucces; m_objectives.Add(m_placeRadarMission); /* talkWith7 = new MyObjectiveDialog( * new StringBuilder("Help Tarja and Valentin"), * MyMissionID.CHINESE_TRANSMITTER_DIALOGUE_7, * new StringBuilder(""), * null, * this, * new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_PLACE_DEVICE}, * dialogId: MyDialogueEnum.CHINESE_TRANSMITTER_1000_DETECTOR_PLACED * ) { SaveOnSuccess = false }; * m_objectives.Add(talkWith7);*/ m_escape = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu (MyTextsWrapperEnum.CHINESE_TRANSMITTER_ESCAPE_Name), // nazev submise MyMissionID.CHINESE_TRANSMITTER_ESCAPE, // id submise (MyTextsWrapperEnum.CHINESE_TRANSMITTER_ESCAPE_Description), // popis submise null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_PLACE_DEVICE }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, (uint)EntityID.EscapeDummy), startDialogId: MyDialogueEnum.CHINESE_TRANSMITTER_0800_TRANSMITTER_PLACED // ID of dummy point of checkpoint ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.Nothing }; // nastaveni save na checkpointu nebo ne m_objectives.Add(m_escape); // pridani do seznamu submisi m_escape.OnMissionSuccess += Escape2MSSuccess; /*var talkWith8 = new MyObjectiveDialog( * new StringBuilder("Help Tarja and Valentin"), * MyMissionID.CHINESE_TRANSMITTER_DIALOGUE_8, * new StringBuilder("Help Tarja and Valentin"), * null, * this, * new MyMissionID[] {MyMissionID.CHINESE_TRANSMITTER_ESCAPE}, * dialogId: MyDialogueEnum.CHINESE_TRANSMITTER_0800_ESCAPE_1 * ) { SaveOnSuccess = false }; * m_objectives.Add(talkWith8); * */ var escape3 = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu (MyTextsWrapperEnum.CHINESE_TRANSMITTER_ESCAPE3_Name), // nazev submise MyMissionID.CHINESE_TRANSMITTER_ESCAPE3, // id submise (MyTextsWrapperEnum.CHINESE_TRANSMITTER_ESCAPE3_Description), // popis submise null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER_ESCAPE }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), // ID of dummy point of checkpoint startDialogId: MyDialogueEnum.CHINESE_TRANSMITTER_0900_ESCAPE_2, successDialogId: MyDialogueEnum.CHINESE_TRANSMITTER_1000_MISSION_COMPLETE, radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; // nastaveni save na checkpointu nebo ne m_objectives.Add(escape3); // pridani do seznamu submisi m_talkWith5.OnMissionSuccess += TimeRush; }
public MyRussianWarehouseMission() { MyMwcVector3Int baseSector = new MyMwcVector3Int(-7420630, 0, 388170); ID = MyMissionID.RUSSIAN_WAREHOUSE; DebugName = new StringBuilder("05-Russian warehouse"); Name = MyTextsWrapperEnum.RUSSIAN_WAREHOUSE; Description = MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_Description; Flags = MyMissionFlags.Story; Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); RequiredMissions = new MyMissionID[] { MyMissionID.PIRATE_BASE }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_MEETINGPOINT }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN }; m_objectives = new List<MyObjective>(); m_sneakInsideMainBaseSubmission = new MyObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_SNEAKINMAINBASE_Name), MyMissionID.RUSSIAN_WAREHOUSE_SNEAKINMAINBASE, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_SNEAKINMAINBASE_Description), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.SneakInsideSubmissionLocation), startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0100 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudEntrance }; m_sneakInsideMainBaseSubmission.OnMissionLoaded += SneakInsideMainBaseSubmission_OnMissionLoaded; m_objectives.Add(m_sneakInsideMainBaseSubmission); var TurnOffSecurityCams = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_TURNOFFCAMS_Name), MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFCAMS, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_TURNOFFCAMS_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_SNEAKINMAINBASE }, new List<uint>() { (uint)EntityID.TurnOffCamera0, (uint)EntityID.TurnOffCamera1, (uint)EntityID.TurnOffCamera2 }, new List<uint>() { (uint)EntityID.TurnOffHUB }, markObjectsToDisable: false, startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0200 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_objectives.Add(TurnOffSecurityCams); TurnOffSecurityCams.OnMissionLoaded += TurnOffSecurityCams_OnMissionLoaded; var ControlTurret = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_CTRLTURRET_Name), MyMissionID.RUSSIAN_WAREHOUSE_CTRLTURRET, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_CTRLTURRET_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFCAMS }, new List<uint>() { (uint)EntityID.SecurityTower1, (uint)EntityID.SecurityTower2, (uint)EntityID.SecurityTower3, (uint)EntityID.SecurityTower4, (uint)EntityID.SecurityTower5 }, new List<uint>() { (uint)EntityID.SecurityTowersHUB }, markObjectsToDisable: false ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudSecurityHub }; ControlTurret.OnMissionLoaded += ControlTurretOnLoaded; ControlTurret.OnMissionSuccess += ControlTurretOnSuccess; m_objectives.Add(ControlTurret); var OpenDoor = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_OPEN_DOORS_Name), MyMissionID.RUSSIAN_WAREHOUSE_OPEN_DOORS, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_OPEN_DOORS_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_CTRLTURRET }, null, new List<uint> { (uint)EntityID.OpenDoorHUB}, new List<uint> { (uint)EntityID.GetOutsideDoors }, startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0300 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudHub }; m_objectives.Add(OpenDoor); var GetOutsideMainBase = new MyObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_GETOUTMAINBASE_Name), MyMissionID.RUSSIAN_WAREHOUSE_GETOUTMAINBASE, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_GETOUTMAINBASE_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_OPEN_DOORS }, new MyMissionLocation(baseSector, (uint)EntityID.GetOutsideSubmissionLocation), startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0400 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; GetOutsideMainBase.OnMissionLoaded += new MissionHandler(GetOutsideMainBase_OnMissionLoaded); m_objectives.Add(GetOutsideMainBase); var BreakThruOldEntrance = new MyObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_BREAKOLDENTRANCE_Name), MyMissionID.RUSSIAN_WAREHOUSE_BREAKOLDENTRANCE, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_BREAKOLDENTRANCE_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_GETOUTMAINBASE }, new MyMissionLocation(baseSector, (uint)EntityID.BreakThroughSubmissionLocation), startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_1100 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; BreakThruOldEntrance.OnMissionLoaded += BreakThruOldEntrance_OnMissionLoaded; BreakThruOldEntrance.OnMissionUpdate += UpdateRussianMothershipMovement; m_objectives.Add(BreakThruOldEntrance); var LocateWarehouse = new MyObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_LOCATEWAREHOUSE_Name), MyMissionID.RUSSIAN_WAREHOUSE_LOCATEWAREHOUSE, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_LOCATEWAREHOUSE_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_BREAKOLDENTRANCE }, new MyMissionLocation(baseSector, (uint)EntityID.LocateWarehouseSubmissionLocation), startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0500 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; LocateWarehouse.OnMissionUpdate += UpdateRussianMothershipMovement; LocateWarehouse.OnMissionLoaded += LocateWarehouse_OnMissionLoaded; LocateWarehouse.OnMissionCleanUp += LocateWarehouse_OnMissionUnload; m_objectives.Add(LocateWarehouse); var FindTransmitter = new MyUseObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_FINDTRANSMITTER_Name), MyMissionID.RUSSIAN_WAREHOUSE_FINDTRANSMITTER, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_FINDTRANSMITTER_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_LOCATEWAREHOUSE }, new MyMissionLocation(baseSector, (uint)EntityID.TransmitterCargoBox), Localization.MyTextsWrapperEnum.PressToTakeCargo, Localization.MyTextsWrapperEnum.TakeAll, Localization.MyTextsWrapperEnum.TakeAll, 1000, radiusOverride: 50, startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0700 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudTransmitter }; FindTransmitter.OnMissionUpdate += UpdateRussianMothershipMovement; FindTransmitter.OnMissionLoaded += new MissionHandler(FindTransmitter_OnMissionLoaded); FindTransmitter.OnMissionSuccess += new MissionHandler(FindTransmitter_OnMissionSuccess); m_objectives.Add(FindTransmitter); var downDataDlgSubmission = new MyObjectiveDialog( MyMissionID.RUSSIAN_WAREHOUSE_DOWNDATADIALOGUE, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_FINDTRANSMITTER }, MyDialogueEnum.RUSSIAN_WAREHOUSE_0800 ); downDataDlgSubmission.OnMissionUpdate += UpdateRussianMothershipMovement; m_objectives.Add(downDataDlgSubmission); var DownData = new MyUseObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_DOWNLOAD_DATA_Name), MyMissionID.RUSSIAN_WAREHOUSE_DOWNLOAD_DATA, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_DOWNLOAD_DATA_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_DOWNDATADIALOGUE }, new MyMissionLocation(baseSector, (uint)EntityID.DownloadDataDummy), Localization.MyTextsWrapperEnum.PressToDownloadData, Localization.MyTextsWrapperEnum.Console, Localization.MyTextsWrapperEnum.DownloadingData, 3000) { SaveOnSuccess = true }; DownData.OnMissionUpdate += UpdateRussianMothershipMovement; DownData.OnMissionLoaded += DownDataOnLoaded; m_objectives.Add(DownData); var TurnOffMainDefense1 = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART1_Name), MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART1, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART1_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_DOWNLOAD_DATA }, new List<uint>() { (uint)EntityID.CargoTurret0, (uint)EntityID.CargoTurret1, (uint)EntityID.CargoTurret2, (uint)EntityID.CargoTurret3, (uint)EntityID.CargoTurret4 }, new List<uint>() { (uint)EntityID.CargoTurretHUB0 }, markObjectsToDisable: false, startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0900 ) { HudName = MyTextsWrapperEnum.HudHubA }; TurnOffMainDefense1.OnMissionUpdate += UpdateRussianMothershipMovement; m_objectives.Add(TurnOffMainDefense1); var TurnOffMainDefense2 = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART2_Name), MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART2, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART2_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART1 }, new List<uint>() { (uint)EntityID.CargoTurret5, (uint)EntityID.CargoTurret6, (uint)EntityID.CargoTurret7, (uint)EntityID.CargoTurret8, (uint)EntityID.CargoTurret9 }, new List<uint>() { (uint)EntityID.CargoTurretHUB1 }, markObjectsToDisable: false ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudHubB }; TurnOffMainDefense2.OnMissionUpdate += UpdateRussianMothershipMovement; m_objectives.Add(TurnOffMainDefense2); var GetOutsideWarehouse = new MyObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_GETOUTWAREHOUSE_Name), MyMissionID.RUSSIAN_WAREHOUSE_GETOUTWAREHOUSE, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_GETOUTWAREHOUSE_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART1, MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART2 }, new MyMissionLocation(baseSector, (uint)EntityID.GetOutsideThruCargoSubmissionLocation) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; GetOutsideWarehouse.OnMissionUpdate += UpdateRussianMothershipMovement; GetOutsideWarehouse.OnMissionLoaded += GetOutsideWarehouseOnLoad; GetOutsideWarehouse.OnMissionCleanUp += GetOutsideWarehouseOnCleanUp; m_objectives.Add(GetOutsideWarehouse); var CrushRemainingShips = new MyObjectiveDestroy( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_CRUSHREMAINGSHIPS_Name), MyMissionID.RUSSIAN_WAREHOUSE_CRUSHREMAINGSHIPS, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_CRUSHREMAINGSHIPS_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_GETOUTWAREHOUSE }, new List<uint> { }, new List<uint> { (uint)EntityID.CrushRussiansSpawnpoint }, false ) { SaveOnSuccess = true }; CrushRemainingShips.OnMissionUpdate += UpdateRussianMothershipMovement; CrushRemainingShips.OnMissionLoaded += CrushRemainingShipsOnLoad; m_objectives.Add(CrushRemainingShips); m_returnToMeetingPointSubmission = new MyObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_MEETINGPOINT_Name), MyMissionID.RUSSIAN_WAREHOUSE_MEETINGPOINT, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_MEETINGPOINT_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_CRUSHREMAINGSHIPS }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), successDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_1000, radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; m_returnToMeetingPointSubmission.OnMissionUpdate += UpdateRussianMothershipMovement; m_returnToMeetingPointSubmission.OnMissionUpdate += new MissionHandler(ReturnToMeetingPointSubmissionOnUpdate); m_objectives.Add(m_returnToMeetingPointSubmission); Components.Add(new MySpawnpointWaves((uint)EntityID.RaidDetector, 0, (uint)EntityID.RaidSpawnpoint)); }
public MyBarthsMoonConvinceMission() : base( MyMissionID.BARTHS_MOON_CONVINCE, new StringBuilder("03-Barth's moon convince"), MyTextsWrapperEnum.BARTHS_MOON_CONVINCE, MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_Description, new MyMissionID[] { MyMissionID.LAIKA }, new EntityID[]{}, EntityID.PlayerStartLocationConvince ) { RequiredMissions = new MyMissionID[] { MyMissionID.LAIKA }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE_RETURN_BACK_TO_MADELYN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN }; AchievementName = MySteamAchievementNames.Mission03_Barths; m_objectives = new List<MyObjective>(); var meetThomasBarth = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_MEET_THOMAS_BART_Name), MyMissionID.BARTHS_MOON_CONVINCE_MEET_THOMAS_BART, (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_MEET_THOMAS_BART_Description), null, this, new MyMissionID[] {}, new MyMissionLocation(baseSector, (uint)EntityID.ThomasBartId), startDialogId: MyDialogueEnum.BARTHS_MOON_CONVINCE_0100, radiusOverride: 50 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudBarth }; meetThomasBarth.OnMissionLoaded += MeetThomasBarthOnLoaded; meetThomasBarth.OnMissionCleanUp += MeetThomasBarthOnUnload; m_objectives.Add(meetThomasBarth); var talkWithThomasBarth = new MyBarthsMoonSubmissionTalkWithThomasBarth( (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_TALK_WITH_THOMAS_BART_Name), MyMissionID.BARTHS_MOON_CONVINCE_TALK_WITH_THOMAS_BART, (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_TALK_WITH_THOMAS_BART_Description), this, new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE_MEET_THOMAS_BART }, MyDialogueEnum.BARTHS_MOON_CONVINCE_0300, true ) { SaveOnSuccess = false }; m_objectives.Add(talkWithThomasBarth); var flyToEnemyBase = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_FLY_TO_ENEMY_BASE_Name), MyMissionID.BARTHS_MOON_CONVINCE_FLY_TO_ENEMY_BASE, (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_FLY_TO_ENEMY_BASE_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE_TALK_WITH_THOMAS_BART }, new MyMissionLocation(baseSector, (uint)EntityID.FlyToEnemyBaseSubmissionLocation), null, successDialogId: MyDialogueEnum.BARTHS_MOON_CONVINCE_0500, startDialogId: MyDialogueEnum.BARTHS_MOON_CONVINCE_0400 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudEnemyBase }; flyToEnemyBase.OnMissionLoaded += FlyToEnemyBaseOnLoaded; flyToEnemyBase.OnMissionCleanUp += FlyToEnemyBaseOnCleanUp; m_objectives.Add(flyToEnemyBase); var destroyShipSubmission = new MyObjectiveDestroy( (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_DESTROY_SHIP_Name), MyMissionID.BARTHS_MOON_CONVINCE_DESTROY_SHIP, (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_DESTROY_SHIP_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE_FLY_TO_ENEMY_BASE }, new List<uint>() { (uint)EntityID.ShipGenerator }, new List<uint>() {}, startDialogID: MyDialogueEnum.BARTHS_MOON_CONVINCE_0600 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudGenerator }; destroyShipSubmission.OnMissionLoaded += DestroyShipSubmissionOnLoad; m_objectives.Add(destroyShipSubmission); var destroyGeneratorSubmission = new MyObjectiveDestroy( (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_DESTROY_GENERATOR_Name), MyMissionID.BARTHS_MOON_CONVINCE_DESTROY_GENERATOR, (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_DESTROY_GENERATOR_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE_DESTROY_SHIP }, new List<uint>() { /*(uint)EntityID.BaseGenerator,*/ (uint)EntityID.MainSmallShip }, new List<uint>() { /*(uint)EntityID.EngineSpawnpoint, (uint)EntityID.EngineSpawnpoint2, */(uint)EntityID.CaveSpawnpoint1, (uint)EntityID.CaveSpawnpoint2, (uint)EntityID.CaveSpawnpoint3, (uint)EntityID.CaveSpawnpoint4 }, showMarks: false ) { SaveOnSuccess = true }; destroyGeneratorSubmission.OnMissionLoaded += DestroyGeneratorSubmissionOnLoad; destroyGeneratorSubmission.OnMissionSuccess += new MissionHandler(destroyGeneratorSubmission_OnMissionSuccess); m_objectives.Add(destroyGeneratorSubmission); var findTransmitterSubmission = new MyUseObjective( (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_FIND_TRANSMITTER_Name), MyMissionID.BARTHS_MOON_CONVINCE_FIND_TRANSMITTER, (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_FIND_TRANSMITTER_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE_DESTROY_GENERATOR }, new MyMissionLocation(baseSector, (uint)EntityID.TakeTransmitterDummy), MyTextsWrapperEnum.PressToCollectReward, MyTextsWrapperEnum.Reward, MyTextsWrapperEnum.TransferInProgress, 3000 ) { SaveOnSuccess = true }; findTransmitterSubmission.OnMissionLoaded += FindTransmitterSubmissionOnMissionLoaded; findTransmitterSubmission.OnMissionSuccess += FindTransmitterSubmissionOnSuccess; m_objectives.Add(findTransmitterSubmission); /* var flyBackSubmission = new MyBarthsMoonSubmissionTalkWithThomasBarth( new StringBuilder("Fly back to Barth"), MyMissionID.BARTHS_MOON_CONVINCE_FLY_BACK_TO_BARTH, new StringBuilder(""), this, new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE_FIND_TRANSMITTER }, null, false ) { SaveOnSuccess = false }; flyBackSubmission.OnMissionLoaded += FlyBackSubmissionOnLoaded; flyBackSubmission.OnMissionCleanUp += FlyBackSubmissionOnCleanUp; m_objectives.Add(flyBackSubmission); */ var backToMadelyn = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_RETURN_BACK_TO_MADELYN_Name), MyMissionID.BARTHS_MOON_CONVINCE_RETURN_BACK_TO_MADELYN, (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_RETURN_BACK_TO_MADELYN_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE_FIND_TRANSMITTER }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), startDialogId: MyDialogueEnum.BARTHS_MOON_CONVINCE_0700, radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; m_objectives.Add(backToMadelyn); }
public MyRussianTransmitterMission() { ID = MyMissionID.RUSSIAN_TRANSMITTER; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("17-RUF transmitter"); Name = MyTextsWrapperEnum.RUSSIAN_TRANSMITTER; Description = MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_Description; Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-4988032, 0, -865747); // Story sector of the script - i.e. (-2465,0,6541) Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_BACK_TO_MADELYN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; #region Objectives m_objectives = new List<MyObjective>(); // Creating of list of submissions var introDialogue = new MyObjectiveDialog( MyMissionID.RUSSIAN_TRANSMITTER_INTRO_DIALOGUE, null, this, new MyMissionID[] { }, MyDialogueEnum.RUSSIAN_TRANSMITTER_0100_INTRO); m_objectives.Add(introDialogue); // START OF REACH OBJECTIVE SUBMISSION DEFINITION var reachSideEntrance = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_REACH_SIDE_ENTRANCE, // Name of the submission MyMissionID.RUSSIAN_TRANSMITTER_REACH_SIDE_ENTRANCE, // ID of the submission - must be added to MyMissions.cs MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_REACH_SIDE_ENTRANCE_Description, // Description of the submission null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_INTRO_DIALOGUE }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.OutpostSideEntrance) // ID of dummy point of checkpoint ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudEntrance }; // False means do not save game in that checkpoint m_objectives.Add(reachSideEntrance); // Adding this submission to the list of submissions of current mission // END OF REACH OBJECTIVE SUBMISSION DEFINITION var enterTheBase = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_ENTER_THE_BASE, MyMissionID.RUSSIAN_TRANSMITTER_ENTER_THE_BASE, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_ENTER_THE_BASE_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_REACH_SIDE_ENTRANCE }, new MyMissionLocation(baseSector, (uint)EntityID.EnterTheBase) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudEntrance }; enterTheBase.OnMissionLoaded += new MissionHandler(enterTheBase_OnMissionLoaded); enterTheBase.OnMissionSuccess += new MissionHandler(enterTheBase_OnMissionSuccess); m_objectives.Add(enterTheBase); var findFrequency = new MyUseObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_FIND_FREQUENCY, MyMissionID.RUSSIAN_TRANSMITTER_FIND_FREQUENCY, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_FIND_FREQUENCY_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_ENTER_THE_BASE }, new MyMissionLocation(baseSector, (uint)EntityID.SabotageTurrets_1), MyTextsWrapperEnum.PressToDownloadData, MyTextsWrapperEnum.SecurityControlHUB, MyTextsWrapperEnum.DownloadingData, 10000, MyUseObjectiveType.Hacking ) { SaveOnSuccess = false }; findFrequency.OnMissionLoaded += new MissionHandler(findFrequency_OnMissionLoaded); findFrequency.OnMissionSuccess += FindFrequency_Success; m_objectives.Add(findFrequency); m_strangerContact = new MyObjectiveDialog( MyTextsWrapperEnum.Null, MyMissionID.RUSSIAN_TRANSMITTER_STRANGER_CONTACT, MyTextsWrapperEnum.Null, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_FIND_FREQUENCY }, MyDialogueEnum.RUSSIAN_TRANSMITTER_0500_0600_HACKPROBLEM_STRANGERCALLS ); m_objectives.Add(m_strangerContact); var meetStranger = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_MEET_STRANGER, MyMissionID.RUSSIAN_TRANSMITTER_MEET_STRANGER, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_MEET_STRANGER_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_STRANGER_CONTACT }, new MyMissionLocation(baseSector, (uint)EntityID.ShipVolodia), radiusOverride: 90f ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudStranger }; meetStranger.OnMissionLoaded += MeetStranger_Loaded; meetStranger.OnMissionSuccess += MeetStranger_Success; m_objectives.Add(meetStranger); var reachWarehouse = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_REACH_WAREHOUSE, MyMissionID.RUSSIAN_TRANSMITTER_REACH_WAREHOUSE, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_REACH_WAREHOUSE_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_MEET_STRANGER }, new MyMissionLocation(baseSector, (uint)EntityID.ReachWarehouse) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudWarehouse }; reachWarehouse.OnMissionLoaded += new MissionHandler(ReachWarehouse_Loaded); m_objectives.Add(reachWarehouse); var stealMilitarySupply = new MyUseObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_STEAL_MILITARY_SUPPLY, MyMissionID.RUSSIAN_TRANSMITTER_STEAL_MILITARY_SUPPLY, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_STEAL_MILITARY_SUPPLY_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_REACH_WAREHOUSE }, new MyMissionLocation(baseSector, (uint)EntityID.StealMilitarySupply), MyTextsWrapperEnum.PressToTakeCargo, MyTextsWrapperEnum.CargoBox, MyTextsWrapperEnum.TakingInProgress, 1000, MyUseObjectiveType.Activating ) { SaveOnSuccess = false }; stealMilitarySupply.OnMissionSuccess += new MissionHandler(StealMilitarySupply_Success); m_objectives.Add(stealMilitarySupply); m_tradeWithVolodia = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_TRADE_WITH_VOLODIA, MyMissionID.RUSSIAN_TRANSMITTER_TRADE_WITH_VOLODIA, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_TRADE_WITH_VOLODIA_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_STEAL_MILITARY_SUPPLY }, new MyMissionLocation(baseSector, (uint)EntityID.ShipVolodia), radiusOverride: 90 ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.RUSSIAN_TRANSMITTER_1000_VOLODIA_FOUND, HudName = MyTextsWrapperEnum.Volodia }; m_tradeWithVolodia.OnMissionSuccess += TradeWithVolodia_Success; m_objectives.Add(m_tradeWithVolodia); m_fightRussianCommando = new MyObjectiveDestroy( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_FIGHT_RUSSIAN_COMMANDO, MyMissionID.RUSSIAN_TRANSMITTER_FIGHT_RUSSIAN_COMMANDO, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_FIGHT_RUSSIAN_COMMANDO_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_TRADE_WITH_VOLODIA }, //new List<uint> { (uint)EntityID.MothershipEntity }, new List<uint> { }, new List<uint> { (uint)EntityID.CommandoSpawnPoint }, false ) { SaveOnSuccess = false, SuccessDialogId = MyDialogueEnum.RUSSIAN_TRANSMITTER_1400_RETREAT, HudName = MyTextsWrapperEnum.Nothing }; m_fightRussianCommando.OnMissionLoaded += RussianCommandoLoaded; m_fightRussianCommando.OnMissionSuccess += new MissionHandler(FightRussianCommando_Success); m_objectives.Add(m_fightRussianCommando); var backToTransmitter = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_BACK_TO_TRANSMITTER, MyMissionID.RUSSIAN_TRANSMITTER_BACK_TO_TRANSMITTER, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_BACK_TO_TRANSMITTER_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_FIGHT_RUSSIAN_COMMANDO }, // prerekvizita - OPRAVIT na survive!!! new MyMissionLocation(baseSector, (uint)EntityID.BackToTransmitter) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudTransmitter }; backToTransmitter.OnMissionLoaded += new MissionHandler(BackToTransmitter_Loaded); m_objectives.Add(backToTransmitter); var decryptFrequency = new MyUseObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_DECRYPT_FREQUENCY, MyMissionID.RUSSIAN_TRANSMITTER_DECRYPT_FREQUENCY, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_DECRYPT_FREQUENCY_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_BACK_TO_TRANSMITTER }, new MyMissionLocation(baseSector, (uint)EntityID.SabotageTurrets_1), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.SecurityControlHUB, MyTextsWrapperEnum.HackingProgress, 5000, MyUseObjectiveType.Hacking ) { SaveOnSuccess = false, SuccessDialogId = MyDialogueEnum.RUSSIAN_TRANSMITTER_1600_ITSWORKING }; m_objectives.Add(decryptFrequency); var uploadData = new MyUseObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_UPLOAD_DATA, MyMissionID.RUSSIAN_TRANSMITTER_UPLOAD_DATA, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_UPLOAD_DATA_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_DECRYPT_FREQUENCY }, new MyMissionLocation(baseSector, (uint)EntityID.SabotageTurrets_3), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.SecurityControlHUB, MyTextsWrapperEnum.HackingProgress, 5000 ) { SaveOnSuccess = false, SuccessDialogId = MyDialogueEnum.RUSSIAN_TRANSMITTER_1700_UPLOADINGSIGNAL }; m_objectives.Add(uploadData); var findMainRoomEntrance = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_FIND_MAIN_ROOM_ENTRANCE, MyMissionID.RUSSIAN_TRANSMITTER_FIND_MAIN_ROOM_ENTRANCE, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_FIND_MAIN_ROOM_ENTRANCE_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_UPLOAD_DATA }, new MyMissionLocation(baseSector, (uint)EntityID.FindMainRoomEntrance) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudEntrance }; findMainRoomEntrance.OnMissionLoaded += new MissionHandler(findMainRoomEntrance_Loaded); m_objectives.Add(findMainRoomEntrance); var placeDeviceOnTransmitter = new MyUseObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_PLACE_DEVICE_ON_TRANSMITTER, MyMissionID.RUSSIAN_TRANSMITTER_PLACE_DEVICE_ON_TRANSMITTER, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_PLACE_DEVICE_ON_TRANSMITTER_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_FIND_MAIN_ROOM_ENTRANCE }, new MyMissionLocation(baseSector, (uint)EntityID.PlaceDeviceOnTransmitter), MyTextsWrapperEnum.PressToPlaceDevice, MyTextsWrapperEnum.Transmitter, MyTextsWrapperEnum.PlacementInProgress, 10000, MyUseObjectiveType.Building ) { SaveOnSuccess = false }; placeDeviceOnTransmitter.OnMissionSuccess += new MissionHandler(PlaceDeviceOnTransmitter_Success); m_objectives.Add(placeDeviceOnTransmitter); var openDoors = new MyObjectiveEnablePrefabs( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_OPEN_DOORS, MyMissionID.RUSSIAN_TRANSMITTER_OPEN_DOORS, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_OPEN_DOORS_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_PLACE_DEVICE_ON_TRANSMITTER }, null, new List<uint> { (uint)EntityID.Hub3 }, new List<uint> { (uint)EntityID.Door1, (uint)EntityID.Door2, (uint)EntityID.Door3, (uint)EntityID.Door4, } ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHub }; openDoors.OnMissionSuccess += new MissionHandler(OpenDoors_Success); m_objectives.Add(openDoors); var backToMadelyn = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_BACK_TO_MADELYN, MyMissionID.RUSSIAN_TRANSMITTER_BACK_TO_MADELYN, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_BACK_TO_MADELYN_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_OPEN_DOORS }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; backToMadelyn.OnMissionSuccess += new MissionHandler(BackToMadelyn_Success); m_objectives.Add(backToMadelyn); #endregion }
public MyBarthsMoonConvinceMission() : base( MyMissionID.BARTHS_MOON_CONVINCE, new StringBuilder("03-Barth's moon convince"), MyTextsWrapperEnum.BARTHS_MOON_CONVINCE, MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_Description, new MyMissionID[] { MyMissionID.LAIKA }, new EntityID[] {}, EntityID.PlayerStartLocationConvince ) { RequiredMissions = new MyMissionID[] { MyMissionID.LAIKA }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE_RETURN_BACK_TO_MADELYN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN }; AchievementName = MySteamAchievementNames.Mission03_Barths; m_objectives = new List <MyObjective>(); var meetThomasBarth = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_MEET_THOMAS_BART_Name), MyMissionID.BARTHS_MOON_CONVINCE_MEET_THOMAS_BART, (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_MEET_THOMAS_BART_Description), null, this, new MyMissionID[] {}, new MyMissionLocation(baseSector, (uint)EntityID.ThomasBartId), startDialogId: MyDialogueEnum.BARTHS_MOON_CONVINCE_0100, radiusOverride: 50 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudBarth }; meetThomasBarth.OnMissionLoaded += MeetThomasBarthOnLoaded; meetThomasBarth.OnMissionCleanUp += MeetThomasBarthOnUnload; m_objectives.Add(meetThomasBarth); var talkWithThomasBarth = new MyBarthsMoonSubmissionTalkWithThomasBarth( (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_TALK_WITH_THOMAS_BART_Name), MyMissionID.BARTHS_MOON_CONVINCE_TALK_WITH_THOMAS_BART, (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_TALK_WITH_THOMAS_BART_Description), this, new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE_MEET_THOMAS_BART }, MyDialogueEnum.BARTHS_MOON_CONVINCE_0300, true ) { SaveOnSuccess = false }; m_objectives.Add(talkWithThomasBarth); var flyToEnemyBase = new MyObjective( (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_FLY_TO_ENEMY_BASE_Name), MyMissionID.BARTHS_MOON_CONVINCE_FLY_TO_ENEMY_BASE, (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_FLY_TO_ENEMY_BASE_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE_TALK_WITH_THOMAS_BART }, new MyMissionLocation(baseSector, (uint)EntityID.FlyToEnemyBaseSubmissionLocation), null, successDialogId: MyDialogueEnum.BARTHS_MOON_CONVINCE_0500, startDialogId: MyDialogueEnum.BARTHS_MOON_CONVINCE_0400 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudEnemyBase }; flyToEnemyBase.OnMissionLoaded += FlyToEnemyBaseOnLoaded; flyToEnemyBase.OnMissionCleanUp += FlyToEnemyBaseOnCleanUp; m_objectives.Add(flyToEnemyBase); var destroyShipSubmission = new MyObjectiveDestroy( (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_DESTROY_SHIP_Name), MyMissionID.BARTHS_MOON_CONVINCE_DESTROY_SHIP, (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_DESTROY_SHIP_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE_FLY_TO_ENEMY_BASE }, new List <uint>() { (uint)EntityID.ShipGenerator }, new List <uint>() { }, startDialogID: MyDialogueEnum.BARTHS_MOON_CONVINCE_0600 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudGenerator }; destroyShipSubmission.OnMissionLoaded += DestroyShipSubmissionOnLoad; m_objectives.Add(destroyShipSubmission); var destroyGeneratorSubmission = new MyObjectiveDestroy( (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_DESTROY_GENERATOR_Name), MyMissionID.BARTHS_MOON_CONVINCE_DESTROY_GENERATOR, (MyTextsWrapperEnum.BARTHS_MOON_CONVINCE_DESTROY_GENERATOR_Description), null, this, new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE_DESTROY_SHIP }, new List <uint>() /*(uint)EntityID.BaseGenerator,*/ ( { uint)EntityID.MainSmallShip },
public MySmallPirateBase() { ID = MyMissionID.PIRATE_BASE_1; /* ID must be added to MyMissions.cs */ Name = new StringBuilder("Small pirate base"); // Nazev mise Description = new StringBuilder( // popis mise "Destroy the station\n" ); MyMwcVector3Int baseSector = new MyMwcVector3Int(14393995, 0, 2939339); // Story sector of the script Location = new MyMissionLocation(baseSector, 1649); // Starting dummy point RequiredMissions = new MyMissionID[] { }; // mise ktere musi byt splneny pred prijetim teto mise m_submissions = new List <MyObjective>(); // Creating of list of submissions // START DEFINICE SUBMISE /*DestroyPipes1 = new MySubmissionDestroy( // Var is used to call functions on that member * new StringBuilder("Destroy pipes"), * MyMissionID.NEW_STORY_M230_DESTROY_PIPES_1, * new StringBuilder(""), * null, * this, * new MyMissionID[] { }, * new List<uint> { 563, 1859, 415 }, * new List<uint> { }, * false * ) { SaveOnSuccess = false }; * m_submissions.Add(DestroyPipes1); // pridani do seznamu submisi * DestroyPipes1.OnMissionSuccess += new Missions.OnMissionSuccess(DestroyMSSuccess);*/ var findCIC = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu new StringBuilder("Find the generator"), // nazev submise MyMissionID.PIRATE_BASE_1_DESTROY_PIPES_1, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] { }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, 2271) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // nastaveni save na checkpointu nebo ne m_submissions.Add(findCIC); // pridani do seznamu submisi DestroyGenerator = new MyObjectiveDestroy( // Var is used to call functions on that member new StringBuilder("Destroy the generator"), MyMissionID.PIRATE_BASE_1_DESTROY_GENERATOR, new StringBuilder(""), null, this, new MyMissionID[] { }, new List <uint> { 328 }, new List <uint> { }, false ) { SaveOnSuccess = false }; m_submissions.Add(DestroyGenerator); // pridani do seznamu submisi DestroyGenerator.OnMissionSuccess += new MissionHandler(DestroyMSSuccess); var escape = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu new StringBuilder("Return to your mothership"), // nazev submise MyMissionID.SMALL_PIRATE_BASE_2_KILL_GENERAL, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] { MyMissionID.PIRATE_BASE_1_DESTROY_GENERATOR, MyMissionID.PIRATE_BASE_1_DESTROY_PIPES_1, }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, 18414) ) { SaveOnSuccess = false }; // nastaveni save na checkpointu nebo ne m_submissions.Add(escape); // pridani do seznamu submisi }
//private MySubmisisonDefend m_defendGenerator; #endregion public MySlaverBaseMission() { m_ValidateIDlists = new List<List<uint>>(); m_ValidateIDlists.Add(m_closeddoors); m_ValidateIDlists.Add(m_finalparticle); m_ValidateIDlists.Add(m_openedddoors); m_ValidateIDlists.Add(m_standbyparticle); m_ValidateIDlists.Add(m_pilotsSpawn); m_ValidateIDlists.Add(m_closeentiites); ID = MyMissionID.SLAVER_BASE_1; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.SLAVER_BASE_GRAND_BURROW; Description = MyTextsWrapperEnum.SLAVER_BASE_GRAND_BURROW_Description; DebugName = new StringBuilder("09b-Slaver base Grand Burrow"); // Nazev mise Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(2052452, 0, -10533886); // Story sector of the script Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point RequiredMissions = new MyMissionID[] { MyMissionID.FORT_VALIANT }; // mise ktere musi byt splneny pred prijetim teto mise RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DIALOG_10 }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List<MyObjective>(); // Creating of list of submissions // -------------- START DEFINICE SUBMISE --------------------- var talkWith = new MyObjectiveDialog( (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_1_Name), MyMissionID.SLAVER_BASE_1_DIALOG_1, (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_1_Description), null, this, new MyMissionID[] { }, dialogId: MyDialogueEnum.SLAVERBASE_0100_INTRODUCE ) { SaveOnSuccess = false }; m_objectives.Add(talkWith); var DestroyGenerators = new MyObjectiveDestroy( // Var is used to call functions on that member (MyTextsWrapperEnum.SLAVER_BASE_1_DESTROY_GENERATOR_Name), MyMissionID.SLAVER_BASE_1_DESTROY_GENERATOR, (MyTextsWrapperEnum.SLAVER_BASE_1_DESTROY_GENERATOR_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DIALOG_1 }, Generators, false ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudGenerator }; m_objectives.Add(DestroyGenerators); // pridani do seznamu submisi DestroyGenerators.OnMissionSuccess += DestroyGeneratorMSSuccess; var talkWith2 = new MyObjectiveDialog( (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_2_Name), MyMissionID.SLAVER_BASE_1_DIALOG_2, (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_2_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DESTROY_GENERATOR }, dialogId: MyDialogueEnum.SLAVERBASE_0200_GENERATORS_DESTROYED ) { SaveOnSuccess = false }; m_objectives.Add(talkWith2); var DestroyBatteries = new MyObjectiveDestroy( // Var is used to call functions on that member (MyTextsWrapperEnum.SLAVER_BASE_1_DESTROY_BATTERIES_Name), MyMissionID.SLAVER_BASE_1_DESTROY_BATTERIES, (MyTextsWrapperEnum.SLAVER_BASE_1_DESTROY_BATTERIES_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DIALOG_2 }, Batteries, false ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudBatteries }; m_objectives.Add(DestroyBatteries); // pridani do seznamu submisi DestroyBatteries.OnMissionSuccess += DestroyBatteriesMSSuccess; var FindPrison = new MyObjective( // One member of that list - je to MyObjective takze cilem je doletet do checkpointu (MyTextsWrapperEnum.SLAVER_BASE_1_FIND_PRISON_Name), // nazev submise MyMissionID.SLAVER_BASE_1_FIND_PRISON, // id submise (MyTextsWrapperEnum.SLAVER_BASE_1_FIND_PRISON_Description), // popis submise null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DESTROY_BATTERIES }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, (uint)EntityID.Prison_Dummy), startDialogId: MyDialogueEnum.SLAVERBASE_0300_BATTERIES_DESTROYED// ID of dummy point of checkpoint ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudPrison }; // nastaveni save na checkpointu nebo ne m_objectives.Add(FindPrison); // pridani do seznamu submisi FindPrison.OnMissionSuccess += FindPrisonMSSuccess; m_freeSlaves = new MyObjectiveDestroy( // Var is used to call functions on that member (MyTextsWrapperEnum.SLAVER_BASE_1_FREE_SLAVES_Name), MyMissionID.SLAVER_BASE_1_FREE_SLAVES, (MyTextsWrapperEnum.SLAVER_BASE_1_FREE_SLAVES_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_FIND_PRISON }, m_Bars, false ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudCage }; m_objectives.Add(m_freeSlaves); // pridani do seznamu submisi var talkWith4 = new MyObjectiveDialog( MyMissionID.SLAVER_BASE_1_DIALOG_4, null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_FREE_SLAVES }, dialogId: MyDialogueEnum.SLAVERBASE_0400_SLAVES_SAVED ) { SaveOnSuccess = true }; m_objectives.Add(talkWith4); m_hackHangar = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.SLAVER_BASE_1_HACK_HANGAR_Name), MyMissionID.SLAVER_BASE_1_HACK_HANGAR, (MyTextsWrapperEnum.SLAVER_BASE_1_HACK_HANGAR_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DIALOG_4 }, null, new List<uint> { (uint)EntityID.Hack_PC }, new List<uint> { (uint)EntityID.Hangar_Doors } ) { HudName = MyTextsWrapperEnum.HudHub }; m_objectives.Add(m_hackHangar); m_hackHangar.OnMissionSuccess += HangarOpen; m_freeSlavesMS = new MyObjectiveDestroy( // Var is used to call functions on that member (MyTextsWrapperEnum.SLAVER_BASE_1_FREE_SLAVES_2_Name), MyMissionID.SLAVER_BASE_1_FREE_SLAVES_2, (MyTextsWrapperEnum.SLAVER_BASE_1_FREE_SLAVES_2_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_HACK_HANGAR }, Mothership_Bars, false ) { SaveOnSuccess = false, ToDestroyCount = 1, HudName = MyTextsWrapperEnum.HudCage }; m_objectives.Add(m_freeSlavesMS); // pridani do seznamu submisi var talkWith6 = new MyObjectiveDialog( (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_6_Name), MyMissionID.SLAVER_BASE_1_DIALOG_6, (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_6_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_FREE_SLAVES_2, }, dialogId: MyDialogueEnum.SLAVERBASE_0600_MOTHERSHIP_EMPTY ) { SaveOnSuccess = false }; m_objectives.Add(talkWith6); var findSlaves = new MyObjectiveDestroy( // Var is used to call functions on that member (MyTextsWrapperEnum.SLAVER_BASE_1_FIND_SLAVES_Name), MyMissionID.SLAVER_BASE_1_FIND_SLAVES, (MyTextsWrapperEnum.SLAVER_BASE_1_FIND_SLAVES_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DIALOG_6 }, bar_pit, // ID of dummy point of checkpoint false ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudCage }; findSlaves.MissionEntityIDs.Add((uint)EntityID.Bar_pit); m_objectives.Add(findSlaves); // pridani do seznamu submisi var talkWith7 = new MyObjectiveDialog( (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_7_Name), MyMissionID.SLAVER_BASE_1_DIALOG_7, (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_7_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_FIND_SLAVES, }, dialogId: MyDialogueEnum.SLAVERBASE_0700_PIT_EMPTY ) { SaveOnSuccess = false }; m_objectives.Add(talkWith7); talkWith7.OnMissionLoaded += FreePilotsMSSuccess; var destroyEnemies = new MyDestroyWavesObjective( // Var is used to call functions on that member (MyTextsWrapperEnum.SLAVER_BASE_1_DESTROY_ENEMIES_Name), MyMissionID.SLAVER_BASE_1_DESTROY_ENEMIES, (MyTextsWrapperEnum.SLAVER_BASE_1_DESTROY_ENEMIES_Description), null, this, new[] { MyMissionID.SLAVER_BASE_1_DIALOG_7 } //new List<uint> // { // (uint) EntityID.Mothership_Spawn_1, // (uint) EntityID.Mothership_Spawn_2, // (uint) EntityID.Mothership_Spawn_3 // }, ) { SaveOnSuccess = false }; destroyEnemies.AddWave(new List<uint> { (uint)EntityID.Mothership_Spawn_1 }); destroyEnemies.AddWave(new List<uint> { (uint)EntityID.Mothership_Spawn_2 }); destroyEnemies.AddWave(new List<uint> { (uint)EntityID.Mothership_Spawn_3 }); destroyEnemies.OnMissionSuccess += EnemiesDestroyed; m_objectives.Add(destroyEnemies); // pridani do seznamu submisi var talkWith9 = new MyObjectiveDialog( (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_9_Name), MyMissionID.SLAVER_BASE_1_DIALOG_9, (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_9_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DESTROY_ENEMIES }, dialogId: MyDialogueEnum.SLAVERBASE_0800_ENEMIES_DESTROYED ) { SaveOnSuccess = false }; m_objectives.Add(talkWith9); m_openHangarDoors = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.SLAVER_BASE_1_HACK_NUKE_Name), MyMissionID.SLAVER_BASE_1_HACK_NUKE, (MyTextsWrapperEnum.SLAVER_BASE_1_HACK_NUKE_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DIALOG_9 }, null, new List<uint> { (uint)EntityID.HangarDoorsHub }, new List<uint> { (uint)EntityID.Cargo_Bay_Doors } ) { HudName = MyTextsWrapperEnum.HudHub }; m_objectives.Add(m_openHangarDoors); m_openHangarDoors.OnMissionSuccess += MSEscape; m_openHangarDoors.OnMissionSuccess += MoveFourthReichMSStart; var talkWith10 = new MyTimedObjective( (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_10_Name), MyMissionID.SLAVER_BASE_1_DIALOG_10, (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_10_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_HACK_NUKE }, TimeSpan.FromSeconds(50) ) { SaveOnSuccess = false, SuccessDialogId = MyDialogueEnum.SLAVERBASE_1100_FAKE_ESCAPED, DisplayCounter = false, }; talkWith10.MissionEntityIDs.Add((uint) EntityID.Escape_Dummy); m_objectives.Add(talkWith10); }
public MyRiftMission() { m_subShakeAction = new MyTimerActionDelegate(SubShake); m_farExplosionAction = new MyTimerActionDelegate(FarExplosion); ID = MyMissionID.RIFT; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("14-Rift"); Name = Localization.MyTextsWrapperEnum.RIFT; Description = Localization.MyTextsWrapperEnum.RIFT_Description; Flags = MyMissionFlags.Story; AchievementName = MySteamAchievementNames.Mission21_Rift; MyMwcVector3Int baseSector = new MyMwcVector3Int(-56700, 0, 4276); Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); RequiredMissions = new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.RIFT_GOTO_30 }; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List <MyObjective>(); MySpawnpointSmartWaves spawnPointSmartWaves = new MySpawnpointSmartWaves(null, null, 2); var intro = new MyObjectiveDialog( MyMissionID.RIFT_INTRO, null, this, new MyMissionID[] { }, MyDialogueEnum.RIFT_0050_INTRO ) { SaveOnSuccess = true, }; m_objectives.Add(intro); //Cannot see dialogues over inv.screen /* * var getSupplies = new MyObjectiveEnterInventroy( * new StringBuilder("Get supplies for the journey to the Rift"), * MyMissionID.RIFT_GOTO_GETSUPPLIES1, * new StringBuilder("Buy whatever useful."), * null, * this, * new MyMissionID[] { MyMissionID.RIFT_INTRO }, * new List<uint>() { (uint)EntityID.Objective_Vendor } * ) * { * SaveOnSuccess = true, * };*/ var getSupplies = new MyObjective( (MyTextsWrapperEnum.RIFT_GOTO_GETSUPPLIES1_Name), MyMissionID.RIFT_GOTO_GETSUPPLIES1, (MyTextsWrapperEnum.RIFT_GOTO_GETSUPPLIES1_Description), null, this, new MyMissionID[] { MyMissionID.RIFT_INTRO }, new MyMissionLocation(baseSector, (uint)EntityID.Objective_Vendor), radiusOverride: 30 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudSupplies }; getSupplies.OnMissionSuccess += GetSuppliesSubmissionSuccess; getSupplies.OnMissionLoaded += GetSuppliesSubmissionLoaded; m_objectives.Add(getSupplies); var reachTheRiftSubmission = new MyObjective( (MyTextsWrapperEnum.RIFT_GOTO_10_Name), MyMissionID.RIFT_GOTO_10, (MyTextsWrapperEnum.RIFT_GOTO_10_Description), null, this, new MyMissionID[] { MyMissionID.RIFT_GOTO_GETSUPPLIES1 }, new MyMissionLocation(baseSector, (uint)EntityID.Objective_RiftEntraceLocation) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudRift }; reachTheRiftSubmission.OnMissionLoaded += ReachTheRiftSubmissionLoaded; reachTheRiftSubmission.OnMissionSuccess += ReachTheRiftSubmissionSuccess; m_objectives.Add(reachTheRiftSubmission); var getOreSubmission = new MyHarvestOreSubmission( (MyTextsWrapperEnum.RIFT_URANITE_Name), MyMissionID.RIFT_URANITE, (MyTextsWrapperEnum.RIFT_URANITE_Description), null, this, new MyMissionID[] { MyMissionID.RIFT_GOTO_10 }, new MyMissionLocation(baseSector, (uint)EntityID.Objective_Uranite), MyMwcObjectBuilder_Ore_TypesEnum.URANITE, URANITE_TO_OBTAIN, successDialogId: MyDialogueEnum.RIFT_1000_MINING_DONE ) { SaveOnSuccess = true }; getOreSubmission.Components.Add(spawnPointSmartWaves); getOreSubmission.OnMissionLoaded += GetOreSubmissionLoaded; getOreSubmission.OnMissionSuccess += GetOreSubmissionSuccess; m_objectives.Add(getOreSubmission); var returnToMothershipSubmission = new MyObjective( (MyTextsWrapperEnum.RIFT_GOTO_30_Name), MyMissionID.RIFT_GOTO_30, (MyTextsWrapperEnum.RIFT_GOTO_30_Description), null, this, new MyMissionID[] { MyMissionID.RIFT_URANITE }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; returnToMothershipSubmission.OnMissionLoaded += ReturnSubmissionLoaded; returnToMothershipSubmission.OnMissionSuccess += ReturnSubmissionSuccess; m_objectives.Add(returnToMothershipSubmission); //m_subShakeAction = SubShake; //m_farExplosionAction = FarExplosion; }
public MyFortValiantMission():base() { ID = MyMissionID.FORT_VALIANT; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.FORT_VALIANT; Description = MyTextsWrapperEnum.FORT_VALIANT_Description; DebugName = new StringBuilder("09a-Fort Valiant A"); // Name of mission RequiredMissions = new MyMissionID[] { MyMissionID.JUNKYARD_RETURN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.MARCUS, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.FORT_VALIANT_VISIT_VENDOR }; #region Objectives m_objectives = new List<MyObjective>(); // Creating of list of submissions var flyOne = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_FLY_ONE_Name), MyMissionID.FORT_VALIANT_FLY_ONE, (MyTextsWrapperEnum.FORT_VALIANT_FLY_ONE_Description), null, this, new MyMissionID[] {}, new MyMissionLocation(baseSector, (uint) EntityID.VendorSpeakDetector1), null, null, MyDialogueEnum.FORT_VALIANT_A_0100 ){ SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudFortValiant }; m_objectives.Add(flyOne); var speakGateKeeper = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_SPEAK_GATE_KEEPER_Name), MyMissionID.FORT_VALIANT_SPEAK_GATE_KEEPER, (MyTextsWrapperEnum.FORT_VALIANT_SPEAK_GATE_KEEPER_Description), this, new MyMissionID[] {MyMissionID.FORT_VALIANT_FLY_ONE}, (uint) EntityID.DetecorGateKeeper, (uint) EntityID.GateKeeper, 25, 0.25f, MyDialogueEnum.FORT_VALIANT_A_0200, null, false ){SaveOnSuccess = true, FollowMe = false}; m_objectives.Add(speakGateKeeper); var speakCaptain = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_MEET_CAPTAIN_Name), MyMissionID.FORT_VALIANT_MEET_CAPTAIN, (MyTextsWrapperEnum.FORT_VALIANT_MEET_CAPTAIN_Description), this, new MyMissionID[] {MyMissionID.FORT_VALIANT_SPEAK_GATE_KEEPER}, (uint) EntityID.DetectorCaptain, (uint) EntityID.Captain, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_A_0300, null, false ){SaveOnSuccess = true, FollowMe = false}; speakCaptain.OnMissionLoaded += SpeakCaptainOnOnMissionLoaded; speakCaptain.OnMissionSuccess += SpeakCaptainOnOnMissionSuccess; m_objectives.Add(speakCaptain); m_visitVendor = new MyObjectiveEnterInventory( (MyTextsWrapperEnum.FORT_VALIANT_VISIT_VENDOR_Name), MyMissionID.FORT_VALIANT_VISIT_VENDOR, (MyTextsWrapperEnum.FORT_VALIANT_VISIT_VENDOR_Description), null, this, new MyMissionID[] {MyMissionID.FORT_VALIANT_MEET_CAPTAIN}, (uint)EntityID.Vendor ); m_visitVendor.OnMissionLoaded += MVisitVendorOnOnMissionLoaded; m_objectives.Add(m_visitVendor); #endregion }
public MyAlienGateMission() { ID = MyMissionID.ALIEN_GATE; DebugName = new StringBuilder("22-Alien artifact"); Name = MyTextsWrapperEnum.ALIEN_GATE; Description = MyTextsWrapperEnum.ALIEN_GATE_Description; Flags = MyMissionFlags.Story; AchievementName = MySteamAchievementNames.Mission31_AlienGate; MyMwcVector3Int baseSector = new MyMwcVector3Int(-1202900, 0, -112652); // Story sector of the script - i.e. (-2465,0,6541) Location = new MyMissionLocation(baseSector, (uint)EntityID.FollowCoordinatesDummy); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.EAC_TRANSMITTER }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.ALIEN_GATE_23 }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; #region Objectives m_objectives = new List<MyObjective>(); var keepFormation = new MyObjective( (MyTextsWrapperEnum.ALIEN_GATE_RIGHT_WING_Name), MyMissionID.ALIEN_GATE_RIGHT_WING, (MyTextsWrapperEnum.ALIEN_GATE_RIGHT_WING_Description), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.MadelynSRightWingPosition)) { HudName = MyTextsWrapperEnum.HudLeftWing }; m_objectives.Add(keepFormation); m_followCords = new MyDestroyWavesObjective( (MyTextsWrapperEnum.ALIEN_GATE_FOLLOW_COORDINATES_Name), MyMissionID.ALIEN_GATE_FOLLOW_COORDINATES, (MyTextsWrapperEnum.ALIEN_GATE_FOLLOW_COORDINATES_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_RIGHT_WING, }, new List<uint>() { }, new MyMissionLocation(baseSector, (uint)EntityID.FollowCoordinatesDummy), radiusOverride: 150) { StartDialogId = MyDialogueEnum.ALIEN_GATE_0100, SuccessDialogId = MyDialogueEnum.ALIEN_GATE_0300 }; m_followCords.AddWave(new List<uint>() { (uint)EntityID.FollowCoordinatesSpawnPoint }); m_followCords.OnMissionLoaded += M01FollowCordsOnOnMissionLoaded; m_followCords.OnMissionSuccess += M01FollowCordsOnOnMissionSuccess; m_followCords.Components.Add(new MyMovingEntity("Madelyn", (uint)EntityID.FollowCoordinatesDummy, FollowCoordinatesMadelynTime)); m_objectives.Add(m_followCords); var continueSearching = new MyObjective( (MyTextsWrapperEnum.ALIEN_GATE_CONTINUE_SEARCHING_Name), MyMissionID.ALIEN_GATE_CONTINUE_SEARCHING, (MyTextsWrapperEnum.ALIEN_GATE_CONTINUE_SEARCHING_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_FOLLOW_COORDINATES }, new MyMissionLocation(baseSector, (uint)EntityID.ContinueSearchingDummy) ) { SaveOnSuccess = false, SuccessDialogId = MyDialogueEnum.ALIEN_GATE_0400, HudName = MyTextsWrapperEnum.HudSearch }; continueSearching.Components.Add(new MyMovingEntity("Madelyn", (uint)EntityID.ContinueSearchingDummy, ContinueSearchingMadelynTime)); m_objectives.Add(continueSearching); var followDirection = new MyObjective( (MyTextsWrapperEnum.ALIEN_GATE_FOLLOW_DIRECTION_Name), MyMissionID.ALIEN_GATE_FOLLOW_DIRECTION, (MyTextsWrapperEnum.ALIEN_GATE_FOLLOW_DIRECTION_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_CONTINUE_SEARCHING }, new MyMissionLocation(baseSector, (uint)EntityID.FollowDirectionDummy)) { HudName = MyTextsWrapperEnum.HudFollow }; followDirection.OnMissionLoaded += M03FollowDirectionOnOnMissionLoaded; followDirection.OnMissionCleanUp += M03FollowDirectionOnOnMissionCleanUp; m_objectives.Add(followDirection); m_coughtInTrap = new MyObjectiveDialog (MyTextsWrapperEnum.ALIEN_GATE_COUGHT_IN_TRAP_Name, MyMissionID.ALIEN_GATE_COUGHT_IN_TRAP, MyTextsWrapperEnum.ALIEN_GATE_COUGHT_IN_TRAP_Description, null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_FOLLOW_DIRECTION }, MyDialogueEnum.ALIEN_GATE_0500 ) { Location = new MyMissionLocation(baseSector, (uint)EntityID.CoughtInTrapDummy), SaveOnSuccess = true }; m_coughtInTrap.OnMissionLoaded += M04CoughtInTrapOnOnMissionLoaded; m_coughtInTrap.Components.Add(new MyMovingEntity((uint)EntityID.CoughtInTrapShip1, (uint)EntityID.CoughtInTrapShip1Target, CoughtInTrapMoveTime)); m_coughtInTrap.Components.Add(new MyMovingEntity((uint)EntityID.CoughtInTrapShip2, (uint)EntityID.CoughtInTrapShip2Target, CoughtInTrapMoveTime)); m_coughtInTrap.Components.Add(new MyMovingEntity((uint)EntityID.CoughtInTrapShip3, (uint)EntityID.CoughtInTrapShip3Target, CoughtInTrapMoveTime)); m_objectives.Add(m_coughtInTrap); m_runForYourLife = new MyTimedObjective ((MyTextsWrapperEnum.ALIEN_GATE_RUN_FOR_LIFE_Name), MyMissionID.ALIEN_GATE_RUN_FOR_LIFE, (MyTextsWrapperEnum.ALIEN_GATE_RUN_FOR_LIFE_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_COUGHT_IN_TRAP }, TimeSpan.FromMilliseconds(RunForYourLifeObjectiveTime), startDialogId: MyDialogueEnum.ALIEN_GATE_0600 ) { DisplayCounter = false, Location = new MyMissionLocation(baseSector, (uint)EntityID.RunForYourLifeDummy), HudName = MyTextsWrapperEnum.HudRun }; m_runForYourLife.OnMissionLoaded += M05RunForYourLifeOnOnMissionLoaded; m_runForYourLife.Components.Add(new MyMovingEntity(MyActorConstants.GetActorName(MyActorEnum.MADELYN), (uint)EntityID.RunForYourLifeShipTarget, RunForYourLifeShipMoveTime)); m_objectives.Add(m_runForYourLife); m_regroupWithMadelyn = new MyTimedObjective( (MyTextsWrapperEnum.ALIEN_GATE_REGROUP_WITH_MADELYN_Name), MyMissionID.ALIEN_GATE_REGROUP_WITH_MADELYN, (MyTextsWrapperEnum.ALIEN_GATE_REGROUP_WITH_MADELYN_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_RUN_FOR_LIFE, }, TimeSpan.FromMilliseconds(RegroupWithMadelynMissionTime) ) { DisplayCounter = false, Location = new MyMissionLocation(baseSector, (uint)EntityID.RegroupWithMadelynShip1Target), HudName = MyTextsWrapperEnum.HudRegroup, SaveOnSuccess = true }; m_regroupWithMadelyn.OnMissionLoaded += M06RegroupWithMadelynOnOnMissionLoaded; m_regroupWithMadelyn.Components.Add(new MySpawnpointWaves((uint)EntityID.RegroupWithMadelynDetector, 1, new List<uint[]>() { new uint[]{(uint)EntityID.RegroupWithMadelynSpawn1}, new uint[]{(uint)EntityID.RegroupWithMadelynSpawn2} })); m_regroupWithMadelyn.Components.Add(new MySpawnpointWaves((uint)EntityID.RegroupWithMadelynDetector2, 1, new List<uint[]>() { new uint[]{(uint)EntityID.RegroupWithMadelynSpawn3, (uint)EntityID.RegroupWithMadelynSpawn4} })); m_regroupWithMadelyn.Components.Add(new MyMovingEntity(MyActorConstants.GetActorName(MyActorEnum.MADELYN), (uint)EntityID.RegroupWithMadelynShip1Target, RegroupWithMadelynMissionTime)); m_regroupWithMadelyn.Components.Add(new MyMovingEntity((uint)EntityID.CoughtInTrapShip1, (uint)EntityID.RegroupWithMadelynShip2Target, RegroupWithMadelynMissionTime)); m_regroupWithMadelyn.Components.Add(new MyMovingEntity((uint)EntityID.CoughtInTrapShip2, (uint)EntityID.RegroupWithMadelynShip3Target, RegroupWithMadelynMissionTime)); m_regroupWithMadelyn.Components.Add(new MyMovingEntity((uint)EntityID.CoughtInTrapShip3, (uint)EntityID.RegroupWithMadelynShip4Target, RegroupWithMadelynMissionTime)); m_regroupWithMadelyn.Components.Add(new MyTimedDialogue(new TimeSpan(0, 0, 50), MyDialogueEnum.ALIEN_GATE_0900)); m_regroupWithMadelyn.Components.Add(new MyDetectorDialogue((uint)EntityID.RegroupWithMadelynShip1Target, MyDialogueEnum.ALIEN_GATE_0800B)); m_objectives.Add(m_regroupWithMadelyn); m_boardMotherShip = new MyObjective ((MyTextsWrapperEnum.ALIEN_GATE_BOARD_MOTHER_SHIP_Name), MyMissionID.ALIEN_GATE_BOARD_MOTHER_SHIP, (MyTextsWrapperEnum.ALIEN_GATE_BOARD_MOTHER_SHIP_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_REGROUP_WITH_MADELYN, }, new MyMissionLocation(baseSector, (uint)EntityID.BoardmotherShipDummy) ) { SuccessDialogId = MyDialogueEnum.ALIEN_GATE_1100, HudName = MyTextsWrapperEnum.HudMothership }; m_boardMotherShip.Components.Add(new MySpawnpointWaves((uint)EntityID.BoardmotherShipDetector1, 1, (uint)EntityID.BoardmotherShipSpawn1)); m_boardMotherShip.Components.Add(new MySpawnpointWaves((uint)EntityID.BoardmotherShipDetector2, 1, (uint)EntityID.BoardmotherShipSpawn2)); m_boardMotherShip.Components.Add(new MySpawnpointWaves((uint)EntityID.BoardmotherShipDetector3, 1, (uint)EntityID.BoardmotherShipSpawn3)); m_boardMotherShip.Components.Add(new MyDetectorDialogue((uint)EntityID.RussianGeneralSpeak, MyDialogueEnum.ALIEN_GATE_1000)); m_boardMotherShip.OnMissionLoaded += BoardMotherShipOnOnMissionLoaded; m_objectives.Add(m_boardMotherShip); m_hackGenerator = new MyUseObjective ((MyTextsWrapperEnum.ALIEN_GATE_HACK_GENERATOR_Name), MyMissionID.ALIEN_GATE_HACK_GENERATOR, (MyTextsWrapperEnum.ALIEN_GATE_HACK_GENERATOR_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_BOARD_MOTHER_SHIP }, new MyMissionLocation(baseSector, (uint)EntityID.HackGeneratorDummy), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.Generator, MyTextsWrapperEnum.StartingProgress, 5000 ); m_hackGenerator.SaveOnSuccess = true; m_hackGenerator.OnMissionLoaded += M08HackGeneratorOnOnMissionLoaded; m_hackGenerator.Components.Add(new MyTimedDialogue(new TimeSpan(0, 0, 2), MyDialogueEnum.ALIEN_GATE_1200)); m_hackGenerator.Components.Add(new MySpawnpointWaves((uint)EntityID.HackGeneratorDetector1, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackGeneratorSpawn11}, new uint[]{(uint)EntityID.HackGeneratorSpawn12} })); m_hackGenerator.Components.Add(new MySpawnpointWaves((uint)EntityID.HackGeneratorDetector2, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackGeneratorSpawn21}, new uint[]{(uint)EntityID.HackGeneratorSpawn22} })); m_hackGenerator.Components.Add(new MySpawnpointWaves((uint)EntityID.HackGeneratorDetector3, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackGeneratorSpawn31,(uint)EntityID.HackGeneratorSpawn32,(uint)EntityID.HackGeneratorSpawn33}, })); m_hackGenerator.Components.Add(new MySpawnpointWaves((uint)EntityID.HackGeneratorDetector4, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackGeneratorSpawn41,(uint)EntityID.HackGeneratorSpawn42}, })); m_hackGenerator.Components.Add(new MySpawnpointWaves((uint)EntityID.HackGeneratorDetector5, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackGeneratorSpawn5}, })); m_objectives.Add(m_hackGenerator); m_hackEngine = new MyUseObjective ((MyTextsWrapperEnum.ALIEN_GATE_HACK_ENGINE_Name), MyMissionID.ALIEN_GATE_HACK_ENGINE, (MyTextsWrapperEnum.ALIEN_GATE_HACK_ENGINE_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_HACK_GENERATOR }, new MyMissionLocation(baseSector, (uint)EntityID.HackEngineDummy), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.Generator, MyTextsWrapperEnum.StartingProgress, 5000, MyUseObjectiveType.Hacking, startDialogId: MyDialogueEnum.ALIEN_GATE_1300 ) { SuccessDialogId = MyDialogueEnum.ALIEN_GATE_1500, SaveOnSuccess = true }; m_hackEngine.OnMissionLoaded += M09HackEngineOnOnMissionLoaded; m_hackEngine.Components.Add(new MyDetectorDialogue((uint)EntityID.HackEngineDummy, MyDialogueEnum.ALIEN_GATE_1400)); m_hackEngine.Components.Add(new MySpawnpointWaves((uint)EntityID.HackGeneratorDetector5, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackGeneratorSpawn5}, })); m_hackEngine.Components.Add(new MySpawnpointWaves((uint)EntityID.HackGeneratorDetector4, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackEngineSpawn2}, })); m_hackEngine.Components.Add(new MySpawnpointWaves((uint)EntityID.HackEngineDetector3, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackEngineSpawn3}, })); m_hackEngine.Components.Add(new MySpawnpointWaves((uint)EntityID.HackEngineDetector4, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackEngineSpawn4}, })); m_hackEngine.Components.Add(new MySpawnpointWaves((uint)EntityID.HackEngineDetector5, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackEngineSpawn51}, new uint[]{(uint)EntityID.HackEngineSpawn52}, })); m_hackEngine.Components.Add(new MySpawnpointWaves((uint)EntityID.HackEngineDetector6, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackEngineSpawn6}, })); m_objectives.Add(m_hackEngine); m_leaveShip1 = new MyTimedReachLocationObjective ((MyTextsWrapperEnum.ALIEN_GATE_LEAVE_SHIP_Name), MyMissionID.ALIEN_GATE_LEAVE_SHIP, (MyTextsWrapperEnum.ALIEN_GATE_LEAVE_SHIP_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_HACK_ENGINE, }, TimeSpan.FromMilliseconds((double)m_10ObjectiveTime), new MyMissionLocation(baseSector, (uint)EntityID._10Dummy) ) { HudName = MyTextsWrapperEnum.Nothing }; m_leaveShip1.OnMissionLoaded += M10LeaveShip1OnOnMissionLoaded; m_leaveShip1.OnMissionFailed += M10LeaveShip1OnOnMissionFailed; m_leaveShip1.Components.Add(new MySpawnpointWaves((uint)EntityID.HackEngineDetector4, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackEngineSpawn4}, })); m_leaveShip1.Components.Add(new MySpawnpointWaves((uint)EntityID.HackGeneratorDetector3, 1, new List<uint[]>() { new uint[]{(uint)EntityID._10Spawn2}, })); m_objectives.Add(m_leaveShip1); m_regroupWithMadelyn2 = new MyObjective( (MyTextsWrapperEnum.ALIEN_GATE_REGROPUP_WITH_MADELYN_Name), MyMissionID.ALIEN_GATE_REGROPUP_WITH_MADELYN, (MyTextsWrapperEnum.ALIEN_GATE_REGROPUP_WITH_MADELYN_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_LEAVE_SHIP, }, new MyMissionLocation(baseSector, (uint)EntityID.RegroupWithMadelynShip1Target), startDialogId: MyDialogueEnum.ALIEN_GATE_1700 ) { HudName = MyTextsWrapperEnum.HudRegroup, SaveOnSuccess = true }; m_regroupWithMadelyn2.OnMissionLoaded += M11RegroupWithMadelyn2OnOnMissionLoaded; m_objectives.Add(m_regroupWithMadelyn2); m_shipbBoard2 = new MyObjective( (MyTextsWrapperEnum.ALIEN_GATE_BOARD_SECOND_Name), MyMissionID.ALIEN_GATE_BOARD_SECOND, (MyTextsWrapperEnum.ALIEN_GATE_BOARD_SECOND_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_REGROPUP_WITH_MADELYN, }, new MyMissionLocation(baseSector, (uint)EntityID.BoardSecondShipbDummy) ) { StartDialogId = MyDialogueEnum.ALIEN_GATE_1900, HudName = MyTextsWrapperEnum.HudMothership }; m_shipbBoard2.Components.Add(new MySpawnpointWaves((uint)EntityID.RegroupWithMadelynDetector, 1, new List<uint[]>() { new uint[]{(uint)EntityID.BoardSecondShipbSpawn1, (uint)EntityID.BoardSecondShipbSpawn2}, })); m_shipbBoard2.OnMissionLoaded += M11BBoard2OnOnMissionLoaded; m_objectives.Add(m_shipbBoard2); m_hackGenerator2 = new MyUseObjective ((MyTextsWrapperEnum.ALIEN_GATE_HACK_GENERATOR2_Name), MyMissionID.ALIEN_GATE_HACK_GENERATOR2, (MyTextsWrapperEnum.ALIEN_GATE_HACK_GENERATOR2_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_BOARD_SECOND }, new MyMissionLocation(baseSector, (uint)EntityID.HackGenerator2Dummy), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.Generator, MyTextsWrapperEnum.StartingProgress, 5000, MyUseObjectiveType.Hacking ) { StartDialogId = MyDialogueEnum.ALIEN_GATE_2000, SaveOnSuccess = true }; m_hackGenerator2.OnMissionLoaded += M12HackGenerator2OnOnMissionLoaded; m_hackGenerator2.Components.Add(new MySpawnpointWaves((uint)EntityID.HackGenerator2Detector1, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackGenerator2Spawn11, (uint)EntityID.HackGenerator2Spawn12}, })); m_hackGenerator2.Components.Add(new MySpawnpointWaves((uint)EntityID.HackGenerator2Detector2, 1, new List<uint[]>() { new uint[]{(uint)EntityID.HackGenerator2Spawn2}, })); m_objectives.Add(m_hackGenerator2); m_hackEngine2 = new MyObjective( (MyTextsWrapperEnum.ALIEN_GATE_HACK_ENGINE_2_Name), MyMissionID.ALIEN_GATE_HACK_ENGINE_2, (MyTextsWrapperEnum.ALIEN_GATE_HACK_ENGINE_2_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_HACK_GENERATOR2 }, new MyMissionLocation(baseSector, (uint)EntityID._13Dummy)/*, startDialogId: MyDialogueEnum.ALIEN_GATE_2100*/ ); m_hackEngine2.OnMissionLoaded += M13HackEngine2OnOnMissionLoaded; m_hackEngine2.Components.Add(new MySpawnpointWaves((uint)EntityID._13Detector1, 1, new List<uint[]>() { new uint[]{(uint)EntityID._13Spawn11, (uint)EntityID._13Spawn12,(uint)EntityID._13Spawn13}, })); m_hackEngine2.Components.Add(new MySpawnpointWaves((uint)EntityID._13Detector2, 1, new List<uint[]>() { new uint[]{(uint)EntityID._13Spawn2} })); m_hackEngine2.Components.Add(new MySpawnpointWaves((uint)EntityID._13Detector3, 1, new List<uint[]>() { new uint[]{(uint)EntityID._13Spawn3} })); m_hackEngine2.Components.Add(new MySpawnpointWaves((uint)EntityID._13Detector4, 1, new List<uint[]>() { new uint[]{(uint)EntityID._13Spawn41}, new uint[]{(uint)EntityID._13Spawn42} })); m_hackEngine2.Components.Add(new MySpawnpointWaves((uint)EntityID._13Detector5, 1, new List<uint[]>() { new uint[]{(uint)EntityID._13Spawn51}, new uint[]{(uint)EntityID._13Spawn52} })); m_objectives.Add(m_hackEngine2); m_enableDoors = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.ALIEN_GATE_ENABLE_DOORS_Name), MyMissionID.ALIEN_GATE_ENABLE_DOORS, (MyTextsWrapperEnum.ALIEN_GATE_ENABLE_DOORS_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_HACK_ENGINE_2 }, null, new List<uint> { (uint)EntityID.EnableDoorsHUB }, new List<uint> { (uint)EntityID.EnableDoorsDoors, } ) { HudName = MyTextsWrapperEnum.HudHub }; m_enableDoors.Components.Add(new MySpawnpointWaves((uint)EntityID.EnableDoorsDetector, 1, new List<uint[]>() { new uint[]{(uint)EntityID.EnableDoorsSpawnPoint} })); m_enableDoors.Components.Add(new MyDetectorDialogue((uint)EntityID.DoorsDialogue, MyDialogueEnum.ALIEN_GATE_2200)); m_objectives.Add(m_enableDoors); m_enterlaboratory = new MyObjective( (MyTextsWrapperEnum.ALIEN_GATE_ENTER_LAB_Name), MyMissionID.ALIEN_GATE_ENTER_LAB, (MyTextsWrapperEnum.ALIEN_GATE_ENTER_LAB_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_ENABLE_DOORS }, new MyMissionLocation(baseSector, (uint)EntityID.EnterLaboratoryDummy) // startDialogId: m_dialog12 ) { StartDialogId = MyDialogueEnum.ALIEN_GATE_2300, HudName = MyTextsWrapperEnum.HudLab }; m_enterlaboratory.Components.Add(new MySpawnpointWaves((uint)EntityID.EnterLaboratoryDetector, 1, new List<uint[]>() { new uint[]{(uint)EntityID.EnterLaboratorySpawn} })); m_objectives.Add(m_enterlaboratory); m_downloadData = new MyUseObjective ((MyTextsWrapperEnum.ALIEN_GATE_16_Name), MyMissionID.ALIEN_GATE_16, (MyTextsWrapperEnum.ALIEN_GATE_16_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_ENTER_LAB }, new MyMissionLocation(baseSector, (uint)EntityID._16Dummy), MyTextsWrapperEnum.PressToDownloadData, MyTextsWrapperEnum.DataTransfer, MyTextsWrapperEnum.DownloadingData, 3000, MyUseObjectiveType.Taking ) { StartDialogId = MyDialogueEnum.ALIEN_GATE_2400, SaveOnSuccess = true }; m_objectives.Add(m_downloadData); m_hackGenerator3 = new MyUseObjective ((MyTextsWrapperEnum.ALIEN_GATE_17_Name), MyMissionID.ALIEN_GATE_17, (MyTextsWrapperEnum.ALIEN_GATE_17_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_16 }, new MyMissionLocation(baseSector, (uint)EntityID._17Dummy), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.Generator, MyTextsWrapperEnum.StartingProgress, 5000, MyUseObjectiveType.Hacking, startDialogId: MyDialogueEnum.ALIEN_GATE_2500 ); m_objectives.Add(m_hackGenerator3); m_hackGenerator3.OnMissionLoaded += M17HackGenerator3OnOnMissionLoaded; m_hackGenerator3.Components.Add(new MySpawnpointWaves((uint)EntityID._17Detector, 1, new List<uint[]>() { new uint[]{(uint)EntityID._17Spawn1,(uint)EntityID.EnterLaboratorySpawn} })); m_leaveShip = new MyTimedReachLocationObjective ((MyTextsWrapperEnum.ALIEN_GATE_18_Name), MyMissionID.ALIEN_GATE_18, (MyTextsWrapperEnum.ALIEN_GATE_18_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_17, }, TimeSpan.FromMilliseconds((double)m_18ObjectiveTime), new MyMissionLocation(baseSector, (uint)EntityID._18Dummy) ) { StartDialogId = MyDialogueEnum.ALIEN_GATE_2600, HudName = MyTextsWrapperEnum.Nothing, SaveOnSuccess = true }; m_leaveShip.OnMissionLoaded += M18LeaveShipOnOnMissionLoaded; m_leaveShip.OnMissionFailed += M18LeaveShipOnOnMissionFailed; m_leaveShip.Components.Add(new MySpawnpointWaves((uint)EntityID._13Detector5, 1, new List<uint[]>() { new uint[]{(uint)EntityID._18Spawn1} })); m_objectives.Add(m_leaveShip); m_killReef = new MyObjective( (MyTextsWrapperEnum.ALIEN_GATE_19_Name), MyMissionID.ALIEN_GATE_19, (MyTextsWrapperEnum.ALIEN_GATE_19_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_18 }, new MyMissionLocation(baseSector, (uint)EntityID._19Dummy) ) { StartDialogId = MyDialogueEnum.ALIEN_GATE_2800 }; m_killReef.OnMissionLoaded += M19KilReefOnOnMissionLoaded; m_objectives.Add(m_killReef); m_20ReefEscape = new MyTimedObjective ((MyTextsWrapperEnum.ALIEN_GATE_20_Name), MyMissionID.ALIEN_GATE_20, (MyTextsWrapperEnum.ALIEN_GATE_20_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_19, }, TimeSpan.FromMilliseconds(m_20ObjectiveTime) ) { HudName = MyTextsWrapperEnum.HudFrancisReef }; m_20ReefEscape.Location = new MyMissionLocation(baseSector, (uint)EntityID._20Prefab); m_20ReefEscape.Components.Add(new MyMovingEntity((uint)EntityID._19Ship, (uint)EntityID._20ShipTarget, m_20ObjectiveTime)); m_20ReefEscape.OnMissionLoaded += M20ReefEscapeOnOnMissionLoaded; m_20ReefEscape.OnMissionSuccess += ReefEscapeOnOnMissionSuccess; m_objectives.Add(m_20ReefEscape); m_21DestroyReef = new MyObjectiveDestroy( (MyTextsWrapperEnum.ALIEN_GATE_21_Name), MyMissionID.ALIEN_GATE_21, (MyTextsWrapperEnum.ALIEN_GATE_21_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_20 }, new List<uint>() { (uint)EntityID._21ToDesroy }) { StartDialogId = MyDialogueEnum.ALIEN_GATE_2900, HudName = MyTextsWrapperEnum.HudFrancisReef, SaveOnSuccess = true }; m_21DestroyReef.OnMissionLoaded += M21DestroyReefOnOnMissionLoaded; m_21DestroyReef.OnMissionSuccess += M21DestroyReefOnOnMissionSuccess; m_21DestroyReef.Components.Add(new MySpawnpointWaves((uint)EntityID._21Detector1, 1, new List<uint[]>() { new uint[]{(uint)EntityID._21SpawnPoint11}, new uint[]{(uint)EntityID._21SpawnPoint12} })); m_21DestroyReef.Components.Add(new MyMovingEntity((uint)EntityID._21Ship2, (uint)EntityID._21Ship2Target, m_21ObjectiveMovingTime)); m_21DestroyReef.Components.Add(new MyMovingEntity((uint)EntityID._21Particle1, (uint)EntityID._21Particle1Target, m_21ObjectiveMovingTime, false)); m_21DestroyReef.Components.Add(new MyMovingEntity((uint)EntityID._21Particle2, (uint)EntityID._21Particle2Target, m_21ObjectiveMovingTime, false)); //m_21DestroyReef.Components.Add(new MyTimedDialogue(TimeSpan.FromMilliseconds(m_21ObjectiveMovingTime), MyDialogueEnum.ALIEN_GATE_3100)); m_21DestroyReef.Components.Add(new MyTimedDialogue(TimeSpan.FromMilliseconds(5000), MyDialogueEnum.ALIEN_GATE_3000)); m_objectives.Add(m_21DestroyReef); m_22FlyBackTomadelyn = new MyObjective( (MyTextsWrapperEnum.ALIEN_GATE_22_Name), MyMissionID.ALIEN_GATE_22, (MyTextsWrapperEnum.ALIEN_GATE_22_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_21 }, new MyMissionLocation(baseSector, (uint)EntityID._22Dummy), startDialogId: MyDialogueEnum.ALIEN_GATE_3200 ) { HudName = MyTextsWrapperEnum.HudMeetingPoint }; m_22FlyBackTomadelyn.OnMissionLoaded += M22FlyBackTomadelynOnOnMissionLoaded; m_objectives.Add(m_22FlyBackTomadelyn); m_23ExploreAliengate = new MyObjective( (MyTextsWrapperEnum.ALIEN_GATE_23_Name), MyMissionID.ALIEN_GATE_23, (MyTextsWrapperEnum.ALIEN_GATE_23_Description), null, this, new MyMissionID[] { MyMissionID.ALIEN_GATE_22 }, new MyMissionLocation(baseSector, (uint)EntityID._23Dummy), startDialogId: MyDialogueEnum.ALIEN_GATE_3300 ) { HudName = MyTextsWrapperEnum.Nothing }; m_23ExploreAliengate.Components.Add(new MyMovingEntity(MyActorConstants.GetActorName(MyActorEnum.MADELYN), (uint)EntityID._23Shiptarget, 50000)); m_23ExploreAliengate.OnMissionLoaded += M23ExploreAliengateOnOnMissionLoaded; m_objectives.Add(m_23ExploreAliengate); #endregion }
public MySmallPirateBase2Mission() { ID = MyMissionID.SMALL_PIRATE_BASE_2; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Small pirate base 2"); // Nazev mise Name = MyTextsWrapperEnum.SMALL_PIRATE_BASE_2; Description = MyTextsWrapperEnum.SMALL_PIRATE_BASE_2_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(9708260, 0, -2101810); // Story sector of the script Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point RequiredMissions = new MyMissionID[] { }; // mise ktere musi byt splneny pred prijetim teto mise RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.SMALL_PIRATE_BASE_2_KILL_GENERAL }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List <MyObjective>(); // Creating of list of submissions // START DEFINICE SUBMISE /* DestroyEnemies = new MyObjectiveDestroy( // Var is used to call functions on that member * new StringBuilder("Destroy the mothership"), * MyMissionID.SMALL_PIRATE_BASE_2_DESTROY_MOTHERSHIP, * new StringBuilder(""), * null, * this, * new MyMissionID[] { }, * new List<uint> { (uint)EntityID.Mothership }, * new List<uint> { }, * false * ) { SaveOnSuccess = false }; * m_objectives.Add(DestroyEnemies); // pridani do seznamu submisi*/ DestroyGenerator = new MyObjectiveDestroy( // Var is used to call functions on that member new StringBuilder("Destroy the generators"), MyMissionID.SMALL_PIRATE_BASE_2_DESTROY_GENERATOR, new StringBuilder(""), null, this, new MyMissionID[] { }, generators, false ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudGenerator }; m_objectives.Add(DestroyGenerator); // pridani do seznamu submisi /*DestroyGenerator.MissionEntityIDs.Add((uint)EntityID.Generator_3); * DestroyGenerator.MissionEntityIDs.Add((uint)EntityID.Generator_2); * DestroyGenerator.MissionEntityIDs.Add((uint)EntityID.Generator);*/ var ReturnToMothership = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu new StringBuilder("Return to your mothership"), // nazev submise MyMissionID.SMALL_PIRATE_BASE_2_KILL_GENERAL, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] { MyMissionID.SMALL_PIRATE_BASE_2_DESTROY_GENERATOR, }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), // ID of dummy point of checkpoint radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; // nastaveni save na checkpointu nebo ne m_objectives.Add(ReturnToMothership); // pridani do seznamu submisi }
public MyRimeConvinceMission() { ID = MyMissionID.RIME_CONVINCE; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("10-Rime"); // Name of mission Name = MyTextsWrapperEnum.RIME_CONVINCE; Description = MyTextsWrapperEnum.RIME_CONVINCE_Description; Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-1922856, 0, -2867519); // Story sector of the script - i.e. (-2465,0,6541) Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.FORT_VALIANT_C }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.RIME_CONVINCE_TALK_TO_FRANCIS }; m_objectives = new List <MyObjective>(); // Creating of list of submissions RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.MARCUS, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; var introduction = new MyObjectiveDialog( MyMissionID.RIME_CONVINCE_INTRODUCTION, null, this, new MyMissionID[] { }, dialogId: MyDialogueEnum.RIME_0100_INTRODUCTION ) { SaveOnSuccess = true }; m_objectives.Add(introduction); m_01MeetReef = new MyMeetObjective( (MyTextsWrapperEnum.RIME_CONVINCE_GET_FRANCIS_REEF_Name), MyMissionID.RIME_CONVINCE_GET_FRANCIS_REEF, (MyTextsWrapperEnum.RIME_CONVINCE_GET_FRANCIS_REEF_Description), this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_INTRODUCTION }, null, (uint)EntityID.FrancisReef, distanceToTalk: 300, slowdown: 0.25f, startDialogueId: MyDialogueEnum.RIME_0150_HEAD_TO_REEF, successDialogueId: MyDialogueEnum.RIME_0200_REEF_REACHED ) { SaveOnSuccess = false, FollowMe = false }; m_objectives.Add(m_01MeetReef); m_01MeetReef.OnMissionLoaded += M01MeetReefOnOnMissionLoaded; m_02TalkToReef = new MyObjectiveDialog( MyTextsWrapperEnum.Null, MyMissionID.RIME_CONVINCE_TALK_FRANCIS_REEF, MyTextsWrapperEnum.Null, null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_GET_FRANCIS_REEF }, dialogId: MyDialogueEnum.RIME_0300_TALK_TO_REEF ) { SaveOnSuccess = true }; m_objectives.Add(m_02TalkToReef); m_02TalkToReef.OnMissionLoaded += M02TalkToReefOnOnMissionLoaded; m_02TalkToReef.OnMissionSuccess += M02TalkToReefOnOnMissionSuccess; m_05FlyToDuplex = new MyObjective( (MyTextsWrapperEnum.RIME_CONVINCE_GO_TO_DUPLEX_Name), MyMissionID.RIME_CONVINCE_GO_TO_DUPLEX, (MyTextsWrapperEnum.RIME_CONVINCE_GO_TO_DUPLEX_Description), null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_TALK_FRANCIS_REEF }, new MyMissionLocation(baseSector, (uint)EntityID.FlyToDummy), //startDialogId: MyDialogueEnum.RIME_0400_ON_THE_WAY, successDialogId: MyDialogueEnum.RIME_0500_LISTEN_TO_SUSPICIOUS ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudDuplex }; m_objectives.Add(m_05FlyToDuplex); MyObjectiveDialog clientsTalk = new MyObjectiveDialog( MyMissionID.RIME_CONVINCE_CLIENTS_TALK, null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_GO_TO_DUPLEX }, dialogId: MyDialogueEnum.RIME_0600_CLIENTS_TALK); clientsTalk.OnMissionLoaded += delegate { MyScriptWrapper.ActivateSpawnPoint((uint)EntityID.SpawnpointClient1); MyScriptWrapper.ActivateSpawnPoint((uint)EntityID.SpawnpointClient2); }; m_objectives.Add(clientsTalk); MyObjectiveDialog bouncerTalk = new MyObjectiveDialog( MyMissionID.RIME_CONVINCE_DUPLEX_BOUNCER, null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_CLIENTS_TALK }, dialogId: MyDialogueEnum.RIME_0700_DUPLEX_BOUNCER); bouncerTalk.OnMissionLoaded += delegate { MyScriptWrapper.ActivateSpawnPoint((uint)EntityID.SpawnpointBouncer); }; bouncerTalk.OnMissionSuccess += delegate { MySmallShipBot bouncer = MyScriptWrapper.TryGetEntity("Bouncer") as MySmallShipBot; if (bouncer != null) { bouncer.LookTarget = null; m_barkeeper.LookTarget = null; bouncer.SetWaypointPath("Client1"); bouncer.PatrolMode = MyPatrolMode.ONE_WAY; bouncer.Patrol(); } }; m_objectives.Add(bouncerTalk); var returnBack = new MyObjective( (MyTextsWrapperEnum.RIME_CONVINCE_RETURN_TO_POSITION_Name), MyMissionID.RIME_CONVINCE_RETURN_TO_POSITION, (MyTextsWrapperEnum.RIME_CONVINCE_RETURN_TO_POSITION_Description), null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_DUPLEX_BOUNCER }, new MyMissionLocation(baseSector, (uint)EntityID.FlyToDummy)) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; returnBack.OnMissionSuccess += ReturnBackOnMissionSuccess; m_objectives.Add(returnBack); MyObjectiveDialog contactAppears = new MyObjectiveDialog( MyTextsWrapperEnum.RIME_CONVINCE_CONTACT_APPEARS_Name, MyMissionID.RIME_CONVINCE_CONTACT_APPEARS, MyTextsWrapperEnum.RIME_CONVINCE_CONTACT_APPEARS_Description, null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_RETURN_TO_POSITION }, dialogId: MyDialogueEnum.RIME_0800_CONTACT_APPEARS); contactAppears.OnMissionSuccess += delegate { MySmallShipBot mitchel = (MySmallShipBot)MyScriptWrapper.GetEntity("Mitchel"); mitchel.SetWaypointPath("Follow1"); mitchel.PatrolMode = MyPatrolMode.ONE_WAY; mitchel.Patrol(); m_07followContact.TargetId = mitchel.EntityId.Value.NumericValue; }; m_objectives.Add(contactAppears); m_07followContact = new MyObjectiveFollowBot( (MyTextsWrapperEnum.RIME_CONVINCE_FOLLOW_CONTACT_Name), MyMissionID.RIME_CONVINCE_FOLLOW_CONTACT, (MyTextsWrapperEnum.RIME_CONVINCE_FOLLOW_CONTACT_Description), null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_CONTACT_APPEARS }, null, (uint)EntityID.FactoryFound, MyDialogueEnum.RIME_0900_FOLLOW_INSTRUCTION) { FarDialog = MyDialogueEnum.RIME_2100_HE_IS_GONE, ShortDialog = MyDialogueEnum.RIME_2200_HE_SPOTTED_US, SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudFollow }; m_objectives.Add(m_07followContact); var factoryFoundDialogue = new MyObjectiveDialog( (MyTextsWrapperEnum.RIME_CONVINCE_FACTORY_FOUND_DIALOGUE_Name), MyMissionID.RIME_CONVINCE_FACTORY_FOUND_DIALOGUE, (MyTextsWrapperEnum.RIME_CONVINCE_FACTORY_FOUND_DIALOGUE_Description), null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_FOLLOW_CONTACT }, dialogId: MyDialogueEnum.RIME_1000_FACTORY_FOUND ) { SaveOnSuccess = true }; m_objectives.Add(factoryFoundDialogue); var destroyFactoryBots = new MyObjectiveDestroy( (MyTextsWrapperEnum.RIME_CONVINCE_DESTROY_FACTORY_BOTS_Name), MyMissionID.RIME_CONVINCE_DESTROY_FACTORY_BOTS, (MyTextsWrapperEnum.RIME_CONVINCE_DESTROY_FACTORY_BOTS_Description), null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_FACTORY_FOUND_DIALOGUE }, null, m_factorySpawns //startDialogID: MyDialogueEnum.RIME_1100_WE_GOT_YOUR_BACK ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; destroyFactoryBots.OnMissionLoaded += DestroyFactoryBotsLoaded; m_objectives.Add(destroyFactoryBots); m_08CollectIllegalCargo = new MyMultipleUseObjective ((MyTextsWrapperEnum.RIME_CONVINCE_COLLECT_CARGO_Name), MyMissionID.RIME_CONVINCE_COLLECT_CARGO, (MyTextsWrapperEnum.RIME_CONVINCE_COLLECT_CARGO_Description), null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_DESTROY_FACTORY_BOTS }, MyTextsWrapperEnum.PressToCollectCargo, MyTextsWrapperEnum.IllegalCargo, MyTextsWrapperEnum.TakingInProgress, 2000, m_boxes, MyUseObjectiveType.Taking ) { RadiusOverride = 70f, SaveOnSuccess = true, StartDialogId = MyDialogueEnum.RIME_1100_GRAB_THE_ALCOHOL }; m_objectives.Add(m_08CollectIllegalCargo); m_08CollectIllegalCargo.OnMissionLoaded += M08CollectIllegalCargoOnOnMissionLoaded; m_08CollectIllegalCargo.OnObjectUsedSucces += M08CollectIllegalCargoOnOnObjectUsedSucces; m_08CollectIllegalCargo.OnMissionSuccess += M08CollectIllegalCargoOnOnMissionSuccess; var cargoCollectedDialogue = new MyObjectiveDialog( (MyTextsWrapperEnum.RIME_CONVINCE_CARGO_COLLECTED_DIALOG_Name), MyMissionID.RIME_CONVINCE_CARGO_COLLECTED_DIALOG, (MyTextsWrapperEnum.RIME_CONVINCE_CARGO_COLLECTED_DIALOG_Description), null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_COLLECT_CARGO }, dialogId: MyDialogueEnum.RIME_1200_GET_TO_THE_VESSEL ) { SaveOnSuccess = true }; m_objectives.Add(cargoCollectedDialogue); var flyToVessel = new MyObjective( (MyTextsWrapperEnum.RIME_CONVINCE_FLY_TO_VESSEL_Name), MyMissionID.RIME_CONVINCE_FLY_TO_VESSEL, (MyTextsWrapperEnum.RIME_CONVINCE_FLY_TO_VESSEL_Description), null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_CARGO_COLLECTED_DIALOG }, new MyMissionLocation(baseSector, (uint)EntityID.FlyToVessel), startDialogId: MyDialogueEnum.RIME_1300_ON_THE_WAY_TO_VESSEL ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudRaynoldsVessel }; m_objectives.Add(flyToVessel); flyToVessel.OnMissionLoaded += FlyToVesselLoaded; m_waitForTheMoment = new MyObjective( (MyTextsWrapperEnum.RIME_CONVINCE_WAIT_FOR_THE_MOMENT_Name), MyMissionID.RIME_CONVINCE_WAIT_FOR_THE_MOMENT, (MyTextsWrapperEnum.RIME_CONVINCE_WAIT_FOR_THE_MOMENT_Description), null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_FLY_TO_VESSEL }, null, startDialogId: MyDialogueEnum.RIME_1500_WAIT_FOR_THE_SIGNAL, successDialogId: MyDialogueEnum.RIME_1600_THIS_IS_OUR_CHANCE) { SaveOnSuccess = true }; m_objectives.Add(m_waitForTheMoment); m_waitForTheMoment.OnMissionLoaded += WaitForTheMomentLoaded; m_waitForTheMoment.OnMissionUpdate += WaitForTheMomentUpdate; m_waitForTheMoment.OnMissionCleanUp += new MissionHandler(m_waitForTheMoment_OnMissionCleanUp); m_09plantcargo = new MyMultipleUseObjective ((MyTextsWrapperEnum.RIME_CONVINCE_PLANT_CARGO_Name), MyMissionID.RIME_CONVINCE_PLANT_CARGO, (MyTextsWrapperEnum.RIME_CONVINCE_PLANT_CARGO_Description), null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_WAIT_FOR_THE_MOMENT }, MyTextsWrapperEnum.HoldToPlantCargo, MyTextsWrapperEnum.IllegalCargo, MyTextsWrapperEnum.PlantingInProgress, 2000, m_plantBoxes, MyUseObjectiveType.Taking, startDialogId: MyDialogueEnum.RIME_1650_PLACE ) { RadiusOverride = 60f, SaveOnSuccess = true }; m_objectives.Add(m_09plantcargo); m_09plantcargo.OnMissionLoaded += M09PlantcargoOnOnMissionLoaded; m_09plantcargo.OnMissionSuccess += M09PlantcargoOnOnMissionSuccess; m_09plantcargo.OnObjectUsedSucces += M09PlantcargoOnOnObjectUsedSucces; var getOutOfTheVessel = new MyObjective( (MyTextsWrapperEnum.RIME_CONVINCE_GET_OUT_OF_THE_VESSEL_Name), MyMissionID.RIME_CONVINCE_GET_OUT_OF_THE_VESSEL, (MyTextsWrapperEnum.RIME_CONVINCE_GET_OUT_OF_THE_VESSEL_Description), null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_PLANT_CARGO }, new MyMissionLocation(baseSector, (uint)EntityID.FlyToVessel) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(getOutOfTheVessel); getOutOfTheVessel.OnMissionLoaded += GetOutOfTheVesselLoaded; getOutOfTheVessel.OnMissionSuccess += GetOutOfTheVesselSuccess; /* * var cargoPlantedObjectiveDialogue = new MyObjectiveDialog( * new StringBuilder("Listen to the conversation"), * MyMissionID.RIME_CONVINCE_CARGO_PLANTED_OBJECTIVE_DIALOGUE, * new StringBuilder(""), * null, * this, * new MyMissionID[] { MyMissionID.RIME_CONVINCE_GET_OUT_OF_THE_VESSEL }, * dialogId: MyDialogueEnum.RIME_1800_CARGO_PLANTED * ) { SaveOnSuccess = true }; * m_objectives.Add(cargoPlantedObjectiveDialogue); */ m_10MeetReef = new MyMeetObjective( (MyTextsWrapperEnum.RIME_CONVINCE_GO_BACK_TO_FRANCIS_Name), MyMissionID.RIME_CONVINCE_GO_BACK_TO_FRANCIS, (MyTextsWrapperEnum.RIME_CONVINCE_GO_BACK_TO_FRANCIS_Description), this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_GET_OUT_OF_THE_VESSEL }, null, (uint)EntityID.FrancisReef, 100, 0.25f, null, startDialogueId: MyDialogueEnum.RIME_1800_CARGO_PLANTED ) { SaveOnSuccess = false, FollowMe = false }; m_objectives.Add(m_10MeetReef); //m_01MeetReef.OnMissionLoaded += M01MeetReefOnOnMissionLoaded; m_11TalkToReef = new MyObjectiveDialog( MyMissionID.RIME_CONVINCE_TALK_TO_FRANCIS, null, this, new MyMissionID[] { MyMissionID.RIME_CONVINCE_GO_BACK_TO_FRANCIS }, dialogId: MyDialogueEnum.RIME_2000_REEF_TALK ) { SaveOnSuccess = false }; m_objectives.Add(m_11TalkToReef); m_11TalkToReef.OnMissionLoaded += M11TalkToReefOnOnMissionLoaded; m_11TalkToReef.OnMissionSuccess += M11TalkToReefOnOnMissionSuccess; }
public MyEACTransmitterMission() { ID = MyMissionID.EAC_TRANSMITTER; DebugName = new StringBuilder("21-EAC transmitter"); Name = MyTextsWrapperEnum.EAC_TRANSMITTER; Description = MyTextsWrapperEnum.EAC_TRANSMITTER_Description; // "Set all 3 satellites to your needs.\n" Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(3818505, 0, -4273800); Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); RequiredMissions = new MyMissionID[] { MyMissionID.EAC_PRISON }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_MEETMS }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List <MyObjective>(); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringCargoWithRavens, 0, (uint)EntityID.SpawnpointAtInnerCargo)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringCargoWithRavens, 0, (uint)EntityID.SpawnpointAtOuterControlRoom1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringControlRoomFromOutside, 0, (uint)EntityID.SpawnpointAtControlRoom1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringControlRoomFromOutside, 0, (uint)EntityID.SpawnpointAtControlRoom2)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringSatelitteA, 0, (uint)EntityID.SpawnpointAtSatelitteA)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorWhenEscapingSatAThruDestroyedPanel, 0, (uint)EntityID.SpawnpointAtOuterSatelitteA)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorWhenEscapingSatAThruDestroyedPanel, 0, (uint)EntityID.SpawnpointAtControlRoom3)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorWhenEscapingSatAThruDestroyedPanel, 0, (uint)EntityID.SpawnpointAtControlRoom4)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeAgregat1, 0, (uint)EntityID.SpawnpointAtAgregat1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeAgregat2, 0, (uint)EntityID.SpawnpointAtAgregat2)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeAgregat3, 0, (uint)EntityID.SpawnpointAtAgregat3)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeHackingSatelitteBandC, 0, (uint)EntityID.SpawnpointAtSatelitteB)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeHackingSatelitteBandC, 0, (uint)EntityID.SpawnpointAtSatelitteC)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeStartingTransmission, 0, (uint)EntityID.SpawnpointAtControlRoom5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeStartingTransmission, 0, (uint)EntityID.SpawnpointAtControlRoom6)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeOpeningDoorToArm, 0, (uint)EntityID.SpawnpointAtArmEntrance)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringCargoThruArm, 0, (uint)EntityID.SpawnpointAtCargoInnerEntrance)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeFixingGenerator, 0, (uint)EntityID.SpawnpointAtGenerator)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeTurnBackOnSolars, 0, (uint)EntityID.SpawnpointAtSolarStarting)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeTurnBackOnSolars, 0, (uint)EntityID.SpawnpointAtControlRoom7)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeTurnBackOnSolars, 0, (uint)EntityID.SpawnpointAtControlRoom8)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeTurnBackOnSolars, 0, (uint)EntityID.SpawnpointAtOuterControlRoom2)); var openCargoDoor = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_OPEN_CARGO_DOOR), MyMissionID.EAC_TRANSMITTER_OPEN_CARGO, (MyTextsWrapperEnum.EAC_TRANSMITTER_OPEN_CARGO_DOOR_Description), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.DummyCargoBomb), MyTextsWrapperEnum.PressToPlaceBomb, MyTextsWrapperEnum.Blank, MyTextsWrapperEnum.PlacingBomb, 1000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_0100 ) { SaveOnSuccess = true }; m_objectives.Add(openCargoDoor); openCargoDoor.OnMissionLoaded += new MissionHandler(openCargoDoor_OnMissionLoaded); openCargoDoor.OnMissionSuccess += new MissionHandler(openCargoDoor_OnMissionSuccess); var enterControlRoom = new MyObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_CENTRAL_ROOM), MyMissionID.EAC_TRANSMITTER_CENTRAL_ROOM, (MyTextsWrapperEnum.EAC_TRANSMITTER_CENTRAL_ROOM_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_OPEN_CARGO }, new MyMissionLocation(baseSector, (uint)EntityID.DummyControlRoom), startDialogId: MyDialogueEnum.EAC_TRANSMITTER_0200 ) { HudName = MyTextsWrapperEnum.HudControlRoom, SaveOnSuccess = true }; enterControlRoom.OnMissionLoaded += new MissionHandler(enterControlRoom_OnMissionLoaded); enterControlRoom.OnMissionSuccess += new MissionHandler(enterControlRoom_OnMissionSuccess); m_objectives.Add(enterControlRoom); var unlockWayToSatelliteA = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITES), MyMissionID.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITE_A, (MyTextsWrapperEnum.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITES_Descrption), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_CENTRAL_ROOM }, null, new List <uint> { (int)EntityID.HubA }, new List <uint> { (int)EntityID.DoorHubA } ) { HudName = MyTextsWrapperEnum.HudHub, SaveOnSuccess = true }; m_objectives.Add(unlockWayToSatelliteA); var unlockWayToSatelliteB = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITES), MyMissionID.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITE_B, (MyTextsWrapperEnum.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITES_Descrption), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITE_A }, null, new List <uint> { (int)EntityID.HubB }, new List <uint> { (int)EntityID.DoorHubB1, (int)EntityID.DoorHubB2, (int)EntityID.DoorHubB3, (int)EntityID.DoorHubB4 } ) { HudName = MyTextsWrapperEnum.HudHub, SaveOnSuccess = true }; m_objectives.Add(unlockWayToSatelliteB); var unlockWayToSatelliteC = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITES), MyMissionID.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITE_C, (MyTextsWrapperEnum.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITES_Descrption), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITE_B }, null, new List <uint> { (int)EntityID.HubC }, new List <uint> { (int)EntityID.DoorHubC1, (int)EntityID.DoorHubC2, (int)EntityID.DoorHubC3, (int)EntityID.DoorHubC4 } ) { HudName = MyTextsWrapperEnum.HudHub, SaveOnSuccess = true }; m_objectives.Add(unlockWayToSatelliteC); var hackSatelliteA = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_HACK_SATELLITE_A), MyMissionID.EAC_TRANSMITTER_HACK_SATELLITE_A, (MyTextsWrapperEnum.EAC_TRANSMITTER_HACK_SATELLITE_A_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITE_C }, new MyMissionLocation(baseSector, (uint)EntityID.DummySatelliteA), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.HackingProgress, MyTextsWrapperEnum.Hacking, 2000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_0300 ); m_objectives.Add(hackSatelliteA); var autodestructEscape = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_ESCAPE), MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_ESCAPE, (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_ESCAPE_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_HACK_SATELLITE_A }, new List <uint> { (uint)EntityID.PanelAutodestruct }, startDialogID: MyDialogueEnum.EAC_TRANSMITTER_0400 ) { HudName = MyTextsWrapperEnum.HudPanel }; autodestructEscape.OnMissionLoaded += new MissionHandler(autodestructEscape_OnMissionLoaded); m_objectives.Add(autodestructEscape); var autodestructHack = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HACK), MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HACK, (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HACK_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_ESCAPE }, new MyMissionLocation(baseSector, (uint)EntityID.DummyAutodestructHack), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.Hacking, MyTextsWrapperEnum.HackingProgress, 2000 ); m_objectives.Add(autodestructHack); //Escape by destroying panel upon your head var autodestructDestroy = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_DESTROY), MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_DESTROY, (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_DESTROY_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HACK }, new List <uint> { (uint)EntityID.PrefabAutodestruct1, (uint)EntityID.PrefabAutodestruct2 }, startDialogID: MyDialogueEnum.EAC_TRANSMITTER_0500 ) { SaveOnSuccess = true }; autodestructDestroy.OnMissionLoaded += new MissionHandler(autodestructDestroy_OnMissionLoaded); autodestructDestroy.OnMissionSuccess += new MissionHandler(autodestructDestroy_OnMissionSuccess); m_objectives.Add(autodestructDestroy); var autodestructHelp = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HELP), MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HELP, (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HELP_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_DESTROY }, null, new List <uint> { (uint)EntityID.SpawnAutodestruct }, true, true, startDialogID: MyDialogueEnum.EAC_TRANSMITTER_0600, successDialogID: MyDialogueEnum.EAC_TRANSMITTER_0700 ) { SaveOnSuccess = true }; autodestructHelp.OnMissionSuccess += new MissionHandler(autodestructHelp_OnMissionSuccess); m_objectives.Add(autodestructHelp); var hackSatelliteB = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_HACK_SATELLITE_B), MyMissionID.EAC_TRANSMITTER_HACK_SATELLITE_B, (MyTextsWrapperEnum.EAC_TRANSMITTER_HACK_SATELLITE_B_Descrption), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HELP }, new MyMissionLocation(baseSector, (uint)EntityID.DummySatelliteB), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.HackingProgress, MyTextsWrapperEnum.Hacking, 2000 ) { SaveOnSuccess = true }; m_objectives.Add(hackSatelliteB); var hackSatelliteC = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_HACK_SATELLITE_C), MyMissionID.EAC_TRANSMITTER_HACK_SATELLITE_C, (MyTextsWrapperEnum.EAC_TRANSMITTER_HACK_SATELLITE_C_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_HACK_SATELLITE_B }, new MyMissionLocation(baseSector, (uint)EntityID.DummySatelliteC), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.HackingProgress, MyTextsWrapperEnum.Hacking, 2000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_0800 ) { SaveOnSuccess = true }; m_objectives.Add(hackSatelliteC); var startTransmittion = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_START_TRANSMISSION), MyMissionID.EAC_TRANSMITTER_START_TRANSMISSION, (MyTextsWrapperEnum.EAC_TRANSMITTER_START_TRANSMISSION_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_HACK_SATELLITE_C }, new MyMissionLocation(baseSector, (uint)EntityID.DummySatelliteD), MyTextsWrapperEnum.PressToStartTransmission, MyTextsWrapperEnum.StartingTransmission, MyTextsWrapperEnum.Transmission, 1000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_0900 ); m_objectives.Add(startTransmittion); var openSolarArm = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.EAC_TRANSMITTER_OPEN_SOLAR_ARM), MyMissionID.EAC_TRANSMITTER_OPEN_SOLAR_ARM, (MyTextsWrapperEnum.EAC_TRANSMITTER_OPEN_SOLAR_ARM_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_START_TRANSMISSION }, null, new List <uint> { (int)EntityID.HubSolarArm }, new List <uint> { (int)EntityID.DoorSolarArm }, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_1000 ) { HudName = MyTextsWrapperEnum.HudHub, SaveOnSuccess = true }; openSolarArm.OnMissionLoaded += new MissionHandler(openSolarArm_OnMissionLoaded); m_objectives.Add(openSolarArm); var findRepairKit = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_FIND_REPAIR), MyMissionID.EAC_TRANSMITTER_FIND_REPAIR, (MyTextsWrapperEnum.EAC_TRANSMITTER_FIND_REPAIR_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_OPEN_SOLAR_ARM }, new MyMissionLocation(baseSector, (uint)EntityID.CargoRepair), MyTextsWrapperEnum.PressToTakeCargo, MyTextsWrapperEnum.TakeAll, MyTextsWrapperEnum.TakingInProgress, 2000, radiusOverride: 50 ) { HudName = MyTextsWrapperEnum.HudGeneratorRepairKit, SaveOnSuccess = true }; findRepairKit.OnMissionLoaded += new MissionHandler(findRepairKit_OnMissionLoaded); findRepairKit.OnMissionSuccess += new MissionHandler(findRepairKit_OnMissionSuccess); m_objectives.Add(findRepairKit); var fixGenerator = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_FIX_GENERATOR), MyMissionID.EAC_TRANSMITTER_FIX_GENERATOR, (MyTextsWrapperEnum.EAC_TRANSMITTER_FIX_GENERATOR_Descrpition), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_FIND_REPAIR }, new MyMissionLocation(baseSector, (uint)EntityID.DummyGeneratorFix), MyTextsWrapperEnum.PressToStartGenerator, MyTextsWrapperEnum.StartingProgress, MyTextsWrapperEnum.StartingProgress, 2000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_1100 ) { SaveOnSuccess = true }; fixGenerator.OnMissionSuccess += new MissionHandler(fixGenerator_OnMissionSuccess); m_objectives.Add(fixGenerator); var activateSolarpanels = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_ACTIVATE_SOLARPANELS), MyMissionID.EAC_TRANSMITTER_ACTIVATE_SOLARPANELS, (MyTextsWrapperEnum.EAC_TRANSMITTER_ACTIVATE_SOLARPANELS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_FIX_GENERATOR }, new MyMissionLocation(baseSector, (uint)EntityID.DummySolarCircuit), MyTextsWrapperEnum.PressToRedirectEnergy, MyTextsWrapperEnum.RedirectEnergy, MyTextsWrapperEnum.RedirectionInProgress, 2000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_1200 ); m_objectives.Add(activateSolarpanels); var restartTransmition = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_RESTART_TRANSMISSION), MyMissionID.EAC_TRANSMITTER_RESTART_TRANSMISSION, (MyTextsWrapperEnum.EAC_TRANSMITTER_RESTART_TRANSMISSION_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_ACTIVATE_SOLARPANELS }, new MyMissionLocation(baseSector, (uint)EntityID.DummySatelliteD), MyTextsWrapperEnum.PressToStartTransmission, MyTextsWrapperEnum.StartingTransmission, MyTextsWrapperEnum.Transmission, 2000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_1300 ) { SaveOnSuccess = true }; m_objectives.Add(restartTransmition); var meetms = new MyObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_MEETMS), MyMissionID.EAC_TRANSMITTER_MEETMS, (MyTextsWrapperEnum.EAC_TRANSMITTER_MEETMS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_RESTART_TRANSMISSION }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), startDialogId: MyDialogueEnum.EAC_TRANSMITTER_1400, radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { HudName = MyTextsWrapperEnum.HudMadelynsSapho }; m_objectives.Add(meetms); }
public MyChineseTransportMission() { #region Validate IDs m_validateIDlists = new List<List<uint>>(); m_validateIDlists.Add(m_explosion1); m_validateIDlists.Add(m_explosion2); m_validateIDlists.Add(m_explosion3); m_validateIDlists.Add(m_explosion4); m_validateIDlists.Add(m_explosionFinal); m_validateIDlists.Add(m_transmitterPrefabs1); m_validateIDlists.Add(m_transmitterPrefabs2); m_validateIDlists.Add(m_spawnsStart); m_validateIDlists.Add(m_spawnsCenterAsteroid); m_validateIDlists.Add(m_spawnsTransmitter); m_validateIDlists.Add(m_spawnsCenterAsteroidOut); m_validateIDlists.Add(m_spawnsWave1); m_validateIDlists.Add(m_spawnsWave2); m_validateIDlists.Add(m_spawnsWave3); m_validateIDlists.Add(m_spawnsWave4); m_validateIDlists.Add(m_spawnsWave5); #endregion ID = MyMissionID.CHINESE_TRANSPORT; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.CHINESE_TRANSPORT; Description = MyTextsWrapperEnum.CHINESE_TRANSPORT_Description; // "Destroy the transmitter and steal the chinese transporter\n" DebugName = new StringBuilder("08b-Chinese mines of Changde"); Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-4274372, 0, 4874227); // Story sector of the script Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point RequiredMissions = new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_LAND_IN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.MARCUS, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List<MyObjective>(); // Creating of list of submissions m_mission01_getFirstKey = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it (MyTextsWrapperEnum.CHINESE_TRANSPORT_GET_SECURITY_KEY_Name), // Name of the submission MyMissionID.CHINESE_TRANSPORT_GET_SECURITY_KEY, // ID of the submission - must be added to MyMissions.cs (MyTextsWrapperEnum.CHINESE_TRANSPORT_GET_SECURITY_KEY_Description), // Description of the submission null, this, new MyMissionID[] { }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission null, startDialogId: MyDialogueEnum.CHINESE_TRANSPORT_0100_INTRODUCE ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHub }; m_mission01_getFirstKey.MissionEntityIDs.Add((uint)EntityID.HUBGetKey); m_objectives.Add(m_mission01_getFirstKey); m_mission02_reachTunnel_1 = new MyObjective( (MyTextsWrapperEnum.CHINESE_TRANSPORT_REACH_TUNNEL_1_Name), MyMissionID.CHINESE_TRANSPORT_REACH_TUNNEL_1, (MyTextsWrapperEnum.CHINESE_TRANSPORT_REACH_TUNNEL_1_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_GET_SECURITY_KEY }, new MyMissionLocation(baseSector, (uint) EntityID.ReachTunnel1), startDialogId: MyDialogueEnum.CHINESE_TRANSPORT_0200_FIRST_DEVICE_HACKED ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudTunnel }; m_objectives.Add(m_mission02_reachTunnel_1); m_mission03_reachTransmitter = new MyObjective( (MyTextsWrapperEnum.CHINESE_TRANSPORT_REACH_TRANSMITTER_Name), MyMissionID.CHINESE_TRANSPORT_REACH_TRANSMITTER, (MyTextsWrapperEnum.CHINESE_TRANSPORT_REACH_TRANSMITTER_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_REACH_TUNNEL_1 }, new MyMissionLocation(baseSector, (uint)EntityID.ReachTransmitter) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudTransmitter }; m_objectives.Add(m_mission03_reachTransmitter); m_mission04_killGuards = new MyObjectiveDestroy( // Var is used to call functions on that member (MyTextsWrapperEnum.CHINESE_TRANSPORT_KILL_GUARDS_Name), MyMissionID.CHINESE_TRANSPORT_KILL_GUARDS, (MyTextsWrapperEnum.CHINESE_TRANSPORT_KILL_GUARDS_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_REACH_TRANSMITTER }, null, m_spawnsTransmitter, true, startDialogID: MyDialogueEnum.CHINESE_TRANSPORT_0500_MARCUS_IS_HERE ) { SaveOnSuccess = true }; m_objectives.Add(m_mission04_killGuards); m_mission05HackTransmitters = new MyMultipleUseObjective( (MyTextsWrapperEnum.CHINESE_TRANSPORT_HACK_TRANSMITTER_Name), MyMissionID.CHINESE_TRANSPORT_HACK_TRANSMITTER, (MyTextsWrapperEnum.CHINESE_TRANSPORT_HACK_TRANSMITTER_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_KILL_GUARDS }, MyTextsWrapperEnum.HoldToUseSecurityKey, MyTextsWrapperEnum.Using, MyTextsWrapperEnum.DeactivatingInProgress, 2000, new List<uint> { (uint) EntityID.HUBHackTrans1, (uint) EntityID.HUBHackTrans2 } ) { StartDialogId = MyDialogueEnum.CHINESE_TRANSPORT_0600_DESTROY_THE_TRANSMITTER, SaveOnSuccess = false, RadiusOverride = 30, MakeEntityIndestructible = false, FailIfEntityDestroyed = true }; m_objectives.Add(m_mission05HackTransmitters); m_mission06_placeBomb = new MyUseObjective( (MyTextsWrapperEnum.CHINESE_TRANSPORT_PLACE_BOMB_Name), MyMissionID.CHINESE_TRANSPORT_PLACE_BOMB, (MyTextsWrapperEnum.CHINESE_TRANSPORT_PLACE_BOMB_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_HACK_TRANSMITTER }, new MyMissionLocation(baseSector, (uint)EntityID.PlaceBomb), MyTextsWrapperEnum.PressToPlaceBomb, MyTextsWrapperEnum.Bomb, MyTextsWrapperEnum.PlacementInProgress, 5000, MyUseObjectiveType.Activating, startDialogId: MyDialogueEnum.CHINESE_TRANSPORT_0670_disabling_the_terminals ) { SaveOnSuccess = false }; m_mission06_placeBomb.MissionEntityIDs.Add((uint) EntityID.Bomb); m_objectives.Add(m_mission06_placeBomb); m_mission07_runExplosion = new MyObjective( (MyTextsWrapperEnum.CHINESE_TRANSPORT_RUN_EXPLOSION_Name), MyMissionID.CHINESE_TRANSPORT_RUN_EXPLOSION, (MyTextsWrapperEnum.CHINESE_TRANSPORT_RUN_EXPLOSION_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_PLACE_BOMB }, new MyMissionLocation(baseSector, (uint)EntityID.RunExplosion), startDialogId: MyDialogueEnum.CHINESE_TRANSPORT_0700_RUN ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudSafeArea }; m_objectives.Add(m_mission07_runExplosion); m_mission08_lookOnExplosion = new MyObjective( (MyTextsWrapperEnum.CHINESE_TRANSPORT_LOOK_ON_EXPLOSION_Name), MyMissionID.CHINESE_TRANSPORT_LOOK_ON_EXPLOSION, (MyTextsWrapperEnum.CHINESE_TRANSPORT_LOOK_ON_EXPLOSION_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_RUN_EXPLOSION }, new MyMissionLocation(baseSector, (uint)EntityID.DestructionTransmitter) ) { SaveOnSuccess = true }; m_objectives.Add(m_mission08_lookOnExplosion); m_mission09_reachTunnel2 = new MyObjective( (MyTextsWrapperEnum.CHINESE_TRANSPORT_REACH_TUNNEL_2_Name), MyMissionID.CHINESE_TRANSPORT_REACH_TUNNEL_2, (MyTextsWrapperEnum.CHINESE_TRANSPORT_REACH_TUNNEL_2_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_LOOK_ON_EXPLOSION }, new MyMissionLocation(baseSector, (uint)EntityID.ReachTunnel2), startDialogId: MyDialogueEnum.CHINESE_TRANSPORT_0800_GO_TO_SECOND_BASE ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudTunnel }; m_objectives.Add(m_mission09_reachTunnel2); m_mission10_pastTunnel2 = new MyObjective( (MyTextsWrapperEnum.CHINESE_TRANSPORT_PAST_TUNNEL_2_Name), MyMissionID.CHINESE_TRANSPORT_PAST_TUNNEL_2, (MyTextsWrapperEnum.CHINESE_TRANSPORT_PAST_TUNNEL_2_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_REACH_TUNNEL_2 }, new MyMissionLocation(baseSector, (uint)EntityID.PastTunnel2), startDialogId: MyDialogueEnum.CHINESE_TRANSPORT_0850_INSIDE_TUNNEL, successDialogId: MyDialogueEnum.CHINESE_TRANSPORT_0900_SURRENDER ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudEnd }; m_objectives.Add(m_mission10_pastTunnel2); m_mission11_reachHangarHack = new MyObjective( (MyTextsWrapperEnum.CHINESE_TRANSPORT_REACH_HANGAR_HACK_Name), MyMissionID.CHINESE_TRANSPORT_REACH_HANGAR_HACK, (MyTextsWrapperEnum.CHINESE_TRANSPORT_REACH_HANGAR_HACK_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_PAST_TUNNEL_2 }, new MyMissionLocation(baseSector, (uint)EntityID.ReachHacking), successDialogId: MyDialogueEnum.CHINESE_TRANSPORT_1000_DOOR_BLOCKED ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudServiceRoom }; m_mission11_reachHangarHack.OnMissionLoaded += Mission11ReachHangarHackOnOnMissionLoaded; m_objectives.Add(m_mission11_reachHangarHack); m_mission12_hackHangarServicePC = new MyObjective( (MyTextsWrapperEnum.CHINESE_TRANSPORT_HACK_HANGAR_SERVICE_PC_Name), MyMissionID.CHINESE_TRANSPORT_HACK_HANGAR_SERVICE_PC, (MyTextsWrapperEnum.CHINESE_TRANSPORT_HACK_HANGAR_SERVICE_PC_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_REACH_HANGAR_HACK }, null //startDialogId: MyDialogueEnum.CHINESE_TRANSPORT_1400_DOORS_UNLOCKED ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudHub }; m_mission12_hackHangarServicePC.OnMissionLoaded += new MissionHandler(m_mission12_hackHangarServicePC_OnMissionLoaded); m_objectives.Add(m_mission12_hackHangarServicePC); m_mission12_hackHangarServicePC.MissionEntityIDs.Add((uint)EntityID.HUBHackHangar); m_mission13_defendMarcus = new MyDestroyWavesObjective( (MyTextsWrapperEnum.CHINESE_TRANSPORT_DEFEND_MARCUS_Name), MyMissionID.CHINESE_TRANSPORT_DEFEND_MARCUS, (MyTextsWrapperEnum.CHINESE_TRANSPORT_DEFEND_MARCUS_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_HACK_HANGAR_SERVICE_PC }, null, null, null, null, 4 ) { SaveOnSuccess = false, StartDialogId = MyDialogueEnum.CHINESE_TRANSPORT_1100_HELP_MARCUS }; m_mission13_defendMarcus.AddWave(m_spawnsWave1); m_mission13_defendMarcus.AddWave(m_spawnsWave2); m_mission13_defendMarcus.AddWave(m_spawnsWave3); m_mission13_defendMarcus.AddWave(m_spawnsWave4); m_mission13_defendMarcus.AddWave(m_spawnsWave5); m_mission13_defendMarcus.Components.Add(new MySpawnpointLimiter(m_spawns, 10)); m_objectives.Add(m_mission13_defendMarcus); m_mission14_killBoss = new MyObjectiveDestroy( // Var is used to call functions on that member (MyTextsWrapperEnum.CHINESE_TRANSPORT_KILL_BOSS_Name), MyMissionID.CHINESE_TRANSPORT_KILL_BOSS, (MyTextsWrapperEnum.CHINESE_TRANSPORT_KILL_BOSS_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_DEFEND_MARCUS }, null, new List<uint> { (uint)EntityID.SpawnBossCompanion1, (uint)EntityID.SpawnBossCompanion2, (uint)EntityID.SpawnBoss }, true, startDialogID: MyDialogueEnum.CHINESE_TRANSPORT_1200_GENERAL_ARRIVAL ) { SaveOnSuccess = true }; m_objectives.Add(m_mission14_killBoss); m_mission15_landIn = new MyObjective( (MyTextsWrapperEnum.CHINESE_TRANSPORT_LAND_IN_Name), MyMissionID.CHINESE_TRANSPORT_LAND_IN, (MyTextsWrapperEnum.CHINESE_TRANSPORT_LAND_IN_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT_KILL_BOSS }, new MyMissionLocation(baseSector, (uint)EntityID.Land), startDialogId: MyDialogueEnum.CHINESE_TRANSPORT_1300_LAND_IN ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudShip }; m_objectives.Add(m_mission15_landIn); m_mission01_getFirstKey.OnMissionLoaded += M01GetFirstKeyLoaded; m_mission02_reachTunnel_1.OnMissionLoaded += M02ReachTunnel1Loaded; m_mission03_reachTransmitter.OnMissionLoaded += M03ReachTransmitterLoaded; m_mission04_killGuards.OnMissionLoaded += M04KillGuardsLoaded; m_mission05HackTransmitters.OnMissionLoaded += M05HackTransmitterLoaded; m_mission06_placeBomb.OnMissionLoaded += M06PlaceBombLoaded; m_mission07_runExplosion.OnMissionLoaded += M07RunExplosionLoaded; m_mission08_lookOnExplosion.OnMissionLoaded += M08LookOnExplosionLoaded; m_mission09_reachTunnel2.OnMissionLoaded += M09ReachTunnel2Loaded; m_mission10_pastTunnel2.OnMissionLoaded += M10PastTunnel2Loaded; m_mission11_reachHangarHack.OnMissionLoaded += M11ReachHangarHackLoaded; m_mission12_hackHangarServicePC.OnMissionLoaded += M12HackHangarServicePCLoaded; m_mission13_defendMarcus.OnMissionLoaded += M13DefendMarcusLoaded; m_mission13_defendMarcus.OnMissionCleanUp += Mission13DefendMarcusOnOnMissionCleanUp; m_mission14_killBoss.OnMissionLoaded += M14KillBossLoaded; m_mission14_killBoss.OnMissionCleanUp += M14KillBossUnloaded; m_mission15_landIn.OnMissionLoaded += M15LandInLoaded; m_mission06_placeBomb.OnMissionSuccess += M06PlaceBombSuccess; m_mission05HackTransmitters.OnObjectUsedSucces += M05TransmittersSuccess; }
public MyJunkyardConvinceMission() { ID = MyMissionID.JUNKYARD_CONVINCE; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.JUNKYARD_CONVINCE; Description = MyTextsWrapperEnum.JUNKYARD_CONVINCE_Description; //"Convince the Smuggler to join you in your mission \n" DebugName = new StringBuilder("08a-Junkyard"); // Name of mission Flags = MyMissionFlags.Story; AchievementName = MySteamAchievementNames.Mission08_JunkyardDuncan; MyMwcVector3Int baseSector = new MyMwcVector3Int(2567538, 0, -172727); // Story sector of the script - i.e. (-2465,0,6541) Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.LAST_HOPE }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_RETURN_TO_MS }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, }; #region Objectives m_objectives = new List <MyObjective>(); // Creating of list of submissions // ----- objectives ----- m_objective01FindInformator = new MyMeetObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FIND_INFORMATOR_Name), // Name of the submission MyMissionID.JUNKYARD_CONVINCE_FIND_INFORMATOR, // ID of the submission - must be added to MyMissions.cs (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FIND_INFORMATOR_Description), // Description of the submission this, new MyMissionID[] { }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission null, "RavenGirl", 250, 1.00f, startDialogueId: MyDialogueEnum.JUNKYARD_CONVINCE_0100_INTRODUCE ) { // False means do not save game in that checkpoint SaveOnSuccess = false, FollowMe = false }; m_objective01FindInformator.OnMissionLoaded += O01FindInformatorLoaded; m_objectives.Add(m_objective01FindInformator); m_objective01BFindInformator = new MyObjectiveDialog( MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_FIND_INFORMATOR_Name, MyMissionID.JUNKYARD_CONVINCE_D_FIND_INFORMATOR, MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_FIND_INFORMATOR_Description, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_FIND_INFORMATOR }, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_0200_INFORMATOR ) { SaveOnSuccess = false, }; m_objective01BFindInformator.OnMissionLoaded += O01BFindInformatorLoaded; m_objective01BFindInformator.OnMissionSuccess += O01BFindInformatorSuccess; m_objectives.Add(m_objective01BFindInformator); m_objective02FindSmuggler = new MyObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FIND_SMUGGLER_Name), MyMissionID.JUNKYARD_CONVINCE_FIND_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FIND_SMUGGLER_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_D_FIND_INFORMATOR }, new MyMissionLocation(baseSector, (uint)EntityID.FindSmuggler) // ID of dummy point of checkpoint ) { SaveOnSuccess = false, SuccessDialogId = MyDialogueEnum.JUNKYARD_CONVINCE_0300_RUN, HudName = MyTextsWrapperEnum.HudManjeet }; m_objective02FindSmuggler.OnMissionLoaded += O02FindSmugglerLoaded; m_objective02FindSmuggler.OnMissionSuccess += O2FindSmugglerSuccess; m_objectives.Add(m_objective02FindSmuggler); m_objective04FollowSmuggler = new MyMeetObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FOLLOW_SMUGGLER_Name), MyMissionID.JUNKYARD_CONVINCE_FOLLOW_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FOLLOW_SMUGGLER_Description), this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_FIND_SMUGGLER }, null, (uint)EntityID.Smuggler, 300, 1.00f ) { SaveOnSuccess = false, FollowMe = false }; m_objective04FollowSmuggler.OnMissionLoaded += O04FollowSmugglerLoaded; m_objective04FollowSmuggler.OnMissionSuccess += O04FollowSmugglerSuccess; m_objectives.Add(m_objective04FollowSmuggler); m_objective04DFollowSmuggler = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_FOLLOW_SMUGGLER_Name), MyMissionID.JUNKYARD_CONVINCE_D_FOLLOW_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_FOLLOW_SMUGGLER_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_FOLLOW_SMUGGLER }, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_0500_CATCHED ) { SaveOnSuccess = false, }; m_objectives.Add(m_objective04DFollowSmuggler); m_objective04DFollowSmuggler.OnMissionLoaded += O04DFollowSmugglerLoaded; m_objective04DFollowSmuggler.OnMissionSuccess += O04DFollowSmugglerSuccess; m_objective05GetCloserToEnemy = new MyObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FLY_TO_ENEMY_Name), MyMissionID.JUNKYARD_CONVINCE_FLY_TO_ENEMY, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FLY_TO_ENEMY_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_D_FOLLOW_SMUGGLER }, new MyMissionLocation(baseSector, (uint)EntityID.FlyToEnemy), radiusOverride: 500f ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; m_objective05GetCloserToEnemy.OnMissionLoaded += O05GetCloserToEnemyLoaded; m_objectives.Add(m_objective05GetCloserToEnemy); m_objective05MetZappasFirstGangman = new MyObjectiveDialog( MyMissionID.JUNKYARD_CONVINCE_MEET_GANGMAN, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_FLY_TO_ENEMY }, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_0650_MET_ZAPPA_GUARD ); m_objectives.Add(m_objective05MetZappasFirstGangman); m_objective05MetZappasFirstGangman.OnMissionLoaded += O05MetZappasFirstGangmanLoaded; m_objective05MetZappasFirstGangman.OnMissionSuccess += O05MetZappasFirstGangmanSuccess; m_objective06KillWaves = new MyDestroyWavesObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_KILL_WAVES_Name), MyMissionID.JUNKYARD_CONVINCE_KILL_WAVES, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_KILL_WAVES_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_MEET_GANGMAN }, null, null, null, null, 4 ) { SaveOnSuccess = false }; m_objective06KillWaves.AddWave(new List <uint> { (uint)EntityID.SP1_1, (uint)EntityID.SP1_2, (uint)EntityID.SP1_3, (uint)EntityID.SP1_4 }); m_objective06KillWaves.AddWave(new List <uint> { (uint)EntityID.SP2_1, (uint)EntityID.SP2_2 }); m_objective06KillWaves.AddWave(new List <uint> { (uint)EntityID.SP3_1, (uint)EntityID.SP3_2, (uint)EntityID.SP3_3 }); m_objective06KillWaves.OnMissionLoaded += O06KillWavesLoaded; m_objective06KillWaves.OnMissionSuccess += O06KillWavesSuccess; m_objectives.Add(m_objective06KillWaves); m_objective07SpeakWithMomo = new MyMeetObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_SPEAK_WITH_MOMO_Name), MyMissionID.JUNKYARD_CONVINCE_SPEAK_WITH_MOMO, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_SPEAK_WITH_MOMO_Description), this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_KILL_WAVES }, null, (uint?)null, 500, 1.00f ) { SaveOnSuccess = false, FollowMe = false }; m_objectives.Add(m_objective07SpeakWithMomo); m_objective07DSpeakWithMomo = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_SPEAK_WITH_MOMO_Name), MyMissionID.JUNKYARD_CONVINCE_D_SPEAK_WITH_MOMO, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_SPEAK_WITH_MOMO_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_SPEAK_WITH_MOMO }, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_0900_THE_MOMO ) { SaveOnSuccess = false }; m_objectives.Add(m_objective07DSpeakWithMomo); m_objective07DSpeakWithMomo.OnMissionLoaded += O07DSpeakWithMomoLoaded; m_objective07DSpeakWithMomo.OnMissionSuccess += O07DSpeakWithMomoSuccess; m_objective08FightMomo = new MyObjectiveDestroy( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FIGHT_MOMO_Name), MyMissionID.JUNKYARD_CONVINCE_FIGHT_MOMO, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FIGHT_MOMO_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_D_SPEAK_WITH_MOMO }, null, new List <uint> { (uint)EntityID.SP4_1, (uint)EntityID.SP4_2, (uint)EntityID.MomoZappaSP }, true ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.Nothing }; m_objective08FightMomo.OnMissionLoaded += O08FightMomoLoaded; m_objectives.Add(m_objective08FightMomo); m_objective09ReturnToSmuggler = new MyMeetObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_RETURN_TO_SMUGGLER_Name), MyMissionID.JUNKYARD_CONVINCE_RETURN_TO_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_RETURN_TO_SMUGGLER_Description), this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_FIGHT_MOMO }, null, (uint)EntityID.Smuggler, 300, 1.00f //startDialogueId: MyDialogueEnum.JUNKYARD_CONVINCE_1000_LAST_OF_THEM ) { SaveOnSuccess = true, FollowMe = false }; m_objective09ReturnToSmuggler.OnMissionLoaded += O09ReturnToSmugglerLoaded; m_objectives.Add(m_objective09ReturnToSmuggler); m_objective09DReturnToSmuggler = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_RETURN_TO_SMUGGLER_Name), MyMissionID.JUNKYARD_CONVINCE_D_RETURN_TO_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_RETURN_TO_SMUGGLER_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_RETURN_TO_SMUGGLER }, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_1100_FIGHT_ENDS ) { SaveOnSuccess = false }; m_objectives.Add(m_objective09DReturnToSmuggler); m_objective09DReturnToSmuggler.OnMissionLoaded += O09DReturnToSmugglerLoaded; m_objective09DReturnToSmuggler.OnMissionSuccess += O09DReturnToSmugglerSuccess; m_objective10FindBombDealer = new MyMeetObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it (MyTextsWrapperEnum.JUNKYARD_CONVINCE_GO_TO_BOMB_DEALER_Name), // Name of the submission MyMissionID.JUNKYARD_CONVINCE_GO_TO_BOMB_DEALER, // ID of the submission - must be added to MyMissions.cs (MyTextsWrapperEnum.JUNKYARD_CONVINCE_GO_TO_BOMB_DEALER_Description), // Description of the submission this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_D_RETURN_TO_SMUGGLER }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission null, (uint)EntityID.BombDealer, 300, 1.00f ) { SaveOnSuccess = false, RequiredActors = new MyActorEnum[] { MyActorEnum.TARJA, MyActorEnum.VALENTIN }, FollowMe = false }; m_objective10FindBombDealer.OnMissionLoaded += O10FindBombDealerLoaded; m_objectives.Add(m_objective10FindBombDealer); m_objective10DFindBombDealer = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_GO_TO_BOMB_DEALER_Name), MyMissionID.JUNKYARD_CONVINCE_D_GO_TO_BOMB_DEALER, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_GO_TO_BOMB_DEALER_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_GO_TO_BOMB_DEALER }, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_1300_BOMB_DEALER ) { SaveOnSuccess = false }; m_objectives.Add(m_objective10DFindBombDealer); m_objective10DFindBombDealer.OnMissionLoaded += O10DFindBombDealerLoaded; m_objective10DFindBombDealer.OnMissionSuccess += O10DFindBombDealerSuccess; m_objective11GetToMarcus = new MyMeetObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_GO_TO_MARCUS_Name), MyMissionID.JUNKYARD_CONVINCE_GO_TO_MARCUS, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_GO_TO_MARCUS_Description), this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_D_GO_TO_BOMB_DEALER }, null, "Marcus", 300, 1.00f ) { SaveOnSuccess = true, FollowMe = false, }; m_objective11GetToMarcus.OnMissionLoaded += O11GetToMarcusLoaded; m_objective11GetToMarcus.OnMissionSuccess += O11GetToMarcusSuccess; m_objectives.Add(m_objective11GetToMarcus); var objective11DGetToMarcus = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_GO_TO_MARCUS_Name), MyMissionID.JUNKYARD_CONVINCE_D_GO_TO_MARCUS, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_GO_TO_MARCUS_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_GO_TO_MARCUS }, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_1400_ARRIVED_AT_MARCUS ) { SaveOnSuccess = false }; m_objectives.Add(objective11DGetToMarcus); m_objective12BrFight = new MyDestroyWavesObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_BR_FIGHT_Name), MyMissionID.JUNKYARD_CONVINCE_BR_FIGHT, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_BR_FIGHT_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_D_GO_TO_MARCUS }, new List <uint> { (uint)EntityID.BR_SP_1, (uint)EntityID.BR_SP_2, (uint)EntityID.BR_SP_3, (uint)EntityID.BR_SP_4, (uint)EntityID.BR_SP_Boss } ) { SaveOnSuccess = false, StartDialogId = MyDialogueEnum.JUNKYARD_CONVINCE_1500_GANGSTER_FIGHT_STARTED, SuccessDialogId = MyDialogueEnum.JUNKYARD_CONVINCE_1600_GO_TO_MS }; m_objective12BrFight.OnMissionLoaded += O12BRFightLoaded; m_objective12BrFight.OnMissionSuccess += O12BRFightSuccess; m_objective12BrFight.AddWave(m_killWavesSecond1); m_objective12BrFight.AddWave(m_killWavesSecond2); m_objective12BrFight.AddWave(m_killWavesSecond3); m_objective12BrFight.AddWave(m_killWavesSecond4); m_objectives.Add(m_objective12BrFight); m_objective13FlyToMS = new MyObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_RETURN_TO_MS_Name), MyMissionID.JUNKYARD_CONVINCE_RETURN_TO_MS, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_RETURN_TO_MS_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_BR_FIGHT }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), radiusOverride: 300f ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.JUNKYARD_CONVINCE_1700_FINALE, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; m_objectives.Add(m_objective13FlyToMS); #endregion m_spawns.AddRange(m_killWavesSecond1); m_spawns.AddRange(m_killWavesSecond2); m_spawns.AddRange(m_killWavesSecond3); m_spawns.AddRange(m_killWavesSecond4); }
public MyFortValiantMission() : base() { ID = MyMissionID.FORT_VALIANT; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.FORT_VALIANT; Description = MyTextsWrapperEnum.FORT_VALIANT_Description; DebugName = new StringBuilder("09a-Fort Valiant A"); // Name of mission RequiredMissions = new MyMissionID[] { MyMissionID.JUNKYARD_RETURN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.MARCUS, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.FORT_VALIANT_VISIT_VENDOR }; #region Objectives m_objectives = new List <MyObjective>(); // Creating of list of submissions var flyOne = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_FLY_ONE_Name), MyMissionID.FORT_VALIANT_FLY_ONE, (MyTextsWrapperEnum.FORT_VALIANT_FLY_ONE_Description), null, this, new MyMissionID[] {}, new MyMissionLocation(baseSector, (uint)EntityID.VendorSpeakDetector1), null, null, MyDialogueEnum.FORT_VALIANT_A_0100 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudFortValiant }; m_objectives.Add(flyOne); var speakGateKeeper = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_SPEAK_GATE_KEEPER_Name), MyMissionID.FORT_VALIANT_SPEAK_GATE_KEEPER, (MyTextsWrapperEnum.FORT_VALIANT_SPEAK_GATE_KEEPER_Description), this, new MyMissionID[] { MyMissionID.FORT_VALIANT_FLY_ONE }, (uint)EntityID.DetecorGateKeeper, (uint)EntityID.GateKeeper, 25, 0.25f, MyDialogueEnum.FORT_VALIANT_A_0200, null, false ) { SaveOnSuccess = true, FollowMe = false }; m_objectives.Add(speakGateKeeper); var speakCaptain = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_MEET_CAPTAIN_Name), MyMissionID.FORT_VALIANT_MEET_CAPTAIN, (MyTextsWrapperEnum.FORT_VALIANT_MEET_CAPTAIN_Description), this, new MyMissionID[] { MyMissionID.FORT_VALIANT_SPEAK_GATE_KEEPER }, (uint)EntityID.DetectorCaptain, (uint)EntityID.Captain, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_A_0300, null, false ) { SaveOnSuccess = true, FollowMe = false }; speakCaptain.OnMissionLoaded += SpeakCaptainOnOnMissionLoaded; speakCaptain.OnMissionSuccess += SpeakCaptainOnOnMissionSuccess; m_objectives.Add(speakCaptain); m_visitVendor = new MyObjectiveEnterInventory( (MyTextsWrapperEnum.FORT_VALIANT_VISIT_VENDOR_Name), MyMissionID.FORT_VALIANT_VISIT_VENDOR, (MyTextsWrapperEnum.FORT_VALIANT_VISIT_VENDOR_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_MEET_CAPTAIN }, (uint)EntityID.Vendor ); m_visitVendor.OnMissionLoaded += MVisitVendorOnOnMissionLoaded; m_objectives.Add(m_visitVendor); #endregion }
public MyWhiteWolvesResearchMission() { ID = MyMissionID.NAZI_BIO_LAB; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("18b-White Wolves bio research lab"); Name = MyTextsWrapperEnum.NAZI_BIO_LAB; Description = MyTextsWrapperEnum.NAZI_BIO_LAB_Description; Flags = MyMissionFlags.Story; AchievementName = MySteamAchievementNames.Mission26_BioResearch; /* sector where the mission is located */ Location = new MyMissionLocation(BaseSector, (uint)EntityID.TargetUse01); // Posledne cislo - ID dummy pointu kde prijimam misiu (v tomto pripade tiez 'player start') RequiredMissions = new MyMissionID[] { MyMissionID.REICHSTAG_A }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.NAZI_BIO_LAB_REACH_MEETING_POINT }; RequiredActors = new MyActorEnum[] { MyActorEnum.TARJA, MyActorEnum.VALENTIN, MyActorEnum.MADELYN }; m_objectives = new List<MyObjective>(); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeGetOut, 0, (uint)EntityID.SpawnpointAtGettingOut1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeGetOut, 0, (uint)EntityID.SpawnpointAtGettingOut2)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeGetOut, 0, (uint)EntityID.SpawnpointAtGettingOut3)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeGetOut, 0, (uint)EntityID.SpawnpointAtGettingOut4)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringWarehouseAtHigh, 0, (uint)EntityID.SpawnpointAtWarehouse1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringWarehouseAtHigh, 0, (uint)EntityID.SpawnpointAtWarehouse2)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringWarehouseAtLow, 0, (uint)EntityID.SpawnpointUponWarehouse)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringBlueprintLocation, 0, (uint)EntityID.SpawnpointAtBlueprintLocation)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringMainConnectionRoom, 0, (uint)EntityID.SpawnpointAtConnectionRoom1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringMainConnectionRoom, 0, (uint)EntityID.SpawnpointAtConnectionRoom2)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringBioBrainsCircularRoom, 0, (uint)EntityID.SpawnpointAtBrainsConnection)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeTakingBrainSample, 0, (uint)EntityID.SpawnpointAtBrains)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectroBeforeEnteringLowerPartOfBiomachine, 0, (uint)EntityID.SpawnpointAtLowerPartOfBiomach)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringHigherPartOfBiomachine, 0, (uint)EntityID.SpawnpointAtHigherPartOfBiomach1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringHigherPartOfBiomachine, 0, (uint)EntityID.SpawnpointAtHigherPartOfBiomach2)); var m_01GetBiomachSamples1 = new MyUseObjective( (MyTextsWrapperEnum.NAZI_BIO_LAB_SAMPLES_BIOMACH_1_Name), MyMissionID.NAZI_BIO_LAB_SAMPLES_BIOMACH_1, (MyTextsWrapperEnum.NAZI_BIO_LAB_SAMPLES_BIOMACH_1_Description), null, this, new MyMissionID[] {}, new MyMissionLocation(BaseSector, (uint)EntityID.TargetUse01), MyTextsWrapperEnum.PressToPickSamples, MyTextsWrapperEnum.Samples, MyTextsWrapperEnum.PickingInProgress, 3000, MyUseObjectiveType.Hacking, MyDialogueEnum.WHITEWOLVES_RESEARCH_0200_ENTER ) { SaveOnSuccess = true }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_objectives.Add(m_01GetBiomachSamples1); m_01GetBiomachSamples1.OnMissionLoaded += new MissionHandler(m_01GetBiomachSamples1_OnMissionLoaded); m_01GetBiomachSamples1.OnSuccessDialogueStarted += new MissionHandler(m_01GetBiomachSamples1_OnSuccessDialogueStarted); var m_02GetInsideBiomach = new MyObjective( (MyTextsWrapperEnum.NAZI_BIO_LAB_GET_INSIDE_Name), MyMissionID.NAZI_BIO_LAB_GET_INSIDE, (MyTextsWrapperEnum.NAZI_BIO_LAB_GET_INSIDE_Description), null, this, new MyMissionID[] {MyMissionID.NAZI_BIO_LAB_SAMPLES_BIOMACH_1}, new MyMissionLocation(BaseSector, (uint) EntityID.Target02) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudStation }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_objectives.Add(m_02GetInsideBiomach); var m_04GetOrganicSamples = new MyUseObjective( (MyTextsWrapperEnum.NAZI_BIO_LAB_SAMPLES_ORGANIC_Name), MyMissionID.NAZI_BIO_LAB_SAMPLES_ORGANIC, (MyTextsWrapperEnum.NAZI_BIO_LAB_SAMPLES_ORGANIC_Description), null, this, new MyMissionID[] { MyMissionID.NAZI_BIO_LAB_GET_INSIDE }, new MyMissionLocation(BaseSector, (uint) EntityID.TargetUse04), MyTextsWrapperEnum.PressToPickSamples, MyTextsWrapperEnum.Samples, MyTextsWrapperEnum.PickingInProgress, 3000, MyUseObjectiveType.Hacking, MyDialogueEnum.WHITEWOLVES_RESEARCH_0300_COLLECT2 ) { SaveOnSuccess = true }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_04GetOrganicSamples.OnMissionLoaded += new MissionHandler(m_04GetOrganicSamples_OnMissionLoaded); m_04GetOrganicSamples.OnSuccessDialogueStarted += new MissionHandler(m_04GetOrganicSamples_OnSuccessDialogueStarted); m_objectives.Add(m_04GetOrganicSamples); var m_05GetBiomachBlueprints = new MyUseObjective( (MyTextsWrapperEnum.NAZI_BIO_LAB_BLUEPRINTS_BIOMACH_Name), MyMissionID.NAZI_BIO_LAB_BLUEPRINTS_BIOMACH, (MyTextsWrapperEnum.NAZI_BIO_LAB_BLUEPRINTS_BIOMACH_Description), null, this, new MyMissionID[] {MyMissionID.NAZI_BIO_LAB_SAMPLES_ORGANIC}, new MyMissionLocation(BaseSector, (uint) EntityID.TargetUse05), MyTextsWrapperEnum.PressToDownloadBluePrints, MyTextsWrapperEnum.DataTransfer, MyTextsWrapperEnum.DownloadingData, 3000 ) { SaveOnSuccess = true }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_objectives.Add(m_05GetBiomachBlueprints); m_05GetBiomachBlueprints.OnMissionLoaded += new MissionHandler(m_05GetBiomachBlueprints_OnMissionLoaded); m_05GetBiomachBlueprints.OnSuccessDialogueStarted += new MissionHandler(m_05GetBiomachBlueprints_OnSuccessDialogueStarted); var m_07GetOut = new MyObjective( (MyTextsWrapperEnum.NAZI_BIO_LAB_GET_OUT_Name), MyMissionID.NAZI_BIO_LAB_GET_OUT, (MyTextsWrapperEnum.NAZI_BIO_LAB_GET_OUT_Description), null, this, new MyMissionID[] { MyMissionID.NAZI_BIO_LAB_BLUEPRINTS_BIOMACH }, new MyMissionLocation(BaseSector, (uint)EntityID.Target07) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_07GetOut.OnMissionLoaded += new MissionHandler(m_07GetOut_OnMissionLoaded); m_objectives.Add(m_07GetOut); var m_08Destroy = new MyObjectiveDestroy( (MyTextsWrapperEnum.NAZI_BIO_LAB_DESTROY_Name), MyMissionID.NAZI_BIO_LAB_DESTROY, (MyTextsWrapperEnum.NAZI_BIO_LAB_DESTROY_Description), null, this, new MyMissionID[] {MyMissionID.NAZI_BIO_LAB_GET_OUT,}, new List<uint>() {(uint) EntityID.Target08}, null, true, false ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(m_08Destroy); m_08Destroy.OnMissionLoaded += M08DestroyOnMissionLoaded; m_08Destroy.OnMissionSuccess += M08DestroyOnMissionSuccess; var returnToMothership = new MyObjective( (MyTextsWrapperEnum.NAZI_BIO_LAB_REACH_MEETING_POINT_Name), MyMissionID.NAZI_BIO_LAB_REACH_MEETING_POINT, (MyTextsWrapperEnum.NAZI_BIO_LAB_REACH_MEETING_POINT_Description), null, this, new MyMissionID[] { MyMissionID.NAZI_BIO_LAB_DESTROY }, //new MyMissionLocation(baseSector, (uint)EntityID.HangerEscapeLocation) new MyMissionLocation(BaseSector, MyMissionLocation.MADELYN_HANGAR), radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { HudName = MyTextsWrapperEnum.HudMadelynsSapho }; returnToMothership.OnMissionLoaded += new MissionHandler(returnToMothership_OnMissionLoaded); m_objectives.Add(returnToMothership); }
public MyResearchVesselMission() { ID = MyMissionID.RESEARCH_VESSEL; DebugName = new StringBuilder("12-Eurydice/Osaka"); Name = MyTextsWrapperEnum.RESEARCH_VESSEL; Description = MyTextsWrapperEnum.RESEARCH_VESSEL_Description; Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(4189723, 0, -2201402); Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); RequiredMissions = new MyMissionID[] { MyMissionID.RIME_CONVINCE }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_TAKE_FOURTH }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; #region Objectives m_objectives = new List <MyObjective>(); var introDialogue = new MyObjectiveDialog( MyMissionID.RESEARCH_VESSEL_INTRO, null, this, new MyMissionID[] { }, MyDialogueEnum.RESEARCH_VESSEL_0100_INTRO ) { SaveOnSuccess = true }; m_objectives.Add(introDialogue); var reachShip = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_REACH_SHIP, MyMissionID.RESEARCH_VESSEL_REACH_SHIP, MyTextsWrapperEnum.RESEARCH_VESSEL_REACH_SHIP_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_INTRO }, new MyMissionLocation(baseSector, (uint)EntityID.DummyReachShip) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudEurydice }; reachShip.OnMissionSuccess += new MissionHandler(ReachShip_Success); m_objectives.Add(reachShip); var checkCargo = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_CARGO, MyMissionID.RESEARCH_VESSEL_CHECK_CARGO, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_CARGO_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_REACH_SHIP }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_1) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudContainer }; m_objectives.Add(checkCargo); var checkCommandRoom = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_COMMAND_ROOM, MyMissionID.RESEARCH_VESSEL_CHECK_COMMAND_ROOM, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_COMMAND_ROOM_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_CARGO }, new MyMissionLocation(baseSector, (uint)EntityID.DummyNearHub1) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudCommandRoom }; checkCommandRoom.OnMissionLoaded += new MissionHandler(checkCommandRoom_OnMissionLoaded); m_objectives.Add(checkCommandRoom); var unlockFirstCargo = new MyObjectiveEnablePrefabs( MyTextsWrapperEnum.RESEARCH_VESSEL_USE_HUB_1, MyMissionID.RESEARCH_VESSEL_USE_HUB_1, MyTextsWrapperEnum.RESEARCH_VESSEL_USE_HUB_1_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_COMMAND_ROOM }, null, new List <uint> { (uint)EntityID.Hub1 }, new List <uint> { (uint)EntityID.Door1 } ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHub }; m_objectives.Add(unlockFirstCargo); var checkLaboratory = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_LABORATORY, MyMissionID.RESEARCH_VESSEL_CHECK_LABORATORY, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_LABORATORY_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_USE_HUB_1 }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_14) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudLab }; m_objectives.Add(checkLaboratory); var takeFirstParts = new MyUseObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_FIRST, MyMissionID.RESEARCH_VESSEL_TAKE_FIRST, MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_FIRST_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_LABORATORY }, new MyMissionLocation(baseSector, (uint)EntityID.Cargo3), MyTextsWrapperEnum.PressToTakeComponent, MyTextsWrapperEnum.Component, MyTextsWrapperEnum.TakingInProgress, 1000, MyUseObjectiveType.Activating, radiusOverride: 50 ) { SaveOnSuccess = true }; takeFirstParts.OnMissionSuccess += TakeFirstParts_Success; m_objectives.Add(takeFirstParts); var checkWarehouse = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_WAREHOUSE, MyMissionID.RESEARCH_VESSEL_CHECK_WAREHOUSE, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_WAREHOUSE_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_TAKE_FIRST }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_4) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudWarehouse }; m_objectives.Add(checkWarehouse); var checkDrillMachineRoom = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_DRILL_ROOM, MyMissionID.RESEARCH_VESSEL_CHECK_DRILL_ROOM, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_DRILL_ROOM_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_WAREHOUSE }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_5) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudDrillRoom }; checkDrillMachineRoom.OnMissionSuccess += new MissionHandler(checkDrillMachineRoom_OnMissionSuccess); m_objectives.Add(checkDrillMachineRoom); var checkFirstHangar = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_FIRST_HANGAR, MyMissionID.RESEARCH_VESSEL_CHECK_FIRST_HANGAR, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_FIRST_HANGAR_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_DRILL_ROOM }, new MyMissionLocation(baseSector, (uint)EntityID.DummyNearHub2) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHangar }; m_objectives.Add(checkFirstHangar); var takeSecondParts = new MyUseObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_SECOND, MyMissionID.RESEARCH_VESSEL_TAKE_SECOND, MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_SECOND_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_FIRST_HANGAR }, new MyMissionLocation(baseSector, (uint)EntityID.Cargo4), MyTextsWrapperEnum.PressToTakeComponent, MyTextsWrapperEnum.Component, MyTextsWrapperEnum.TakingInProgress, 1000, MyUseObjectiveType.Activating, radiusOverride: 50 ) { SaveOnSuccess = true }; takeSecondParts.OnMissionSuccess += TakeSecondParts_Success; m_objectives.Add(takeSecondParts); var useHub2 = new MyObjectiveEnablePrefabs( MyTextsWrapperEnum.RESEARCH_VESSEL_USE_HUB_2, MyMissionID.RESEARCH_VESSEL_USE_HUB_2, MyTextsWrapperEnum.RESEARCH_VESSEL_USE_HUB_2_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_TAKE_SECOND }, null, new List <uint> { (uint)EntityID.Hub2 }, new List <uint> { (uint)EntityID.Door2 } ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHub }; m_objectives.Add(useHub2); var checkSecondHangar = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_SECOND_HANGAR, MyMissionID.RESEARCH_VESSEL_CHECK_SECOND_HANGAR, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_SECOND_HANGAR_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_USE_HUB_2 }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_7) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHangar }; m_objectives.Add(checkSecondHangar); var checkThirdHangar = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_THIRD_HANGAR, MyMissionID.RESEARCH_VESSEL_CHECK_THIRD_HANGAR, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_THIRD_HANGAR_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_SECOND_HANGAR }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_8) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHangar }; m_objectives.Add(checkThirdHangar); var checkSecondWarehouse = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_SECOND_WAREHOUSE, MyMissionID.RESEARCH_VESSEL_CHECK_SECOND_WAREHOUSE, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_SECOND_WAREHOUSE_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_THIRD_HANGAR }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_9) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudWarehouse }; m_objectives.Add(checkSecondWarehouse); var checkGenerator = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_GENERATOR, MyMissionID.RESEARCH_VESSEL_CHECK_GENERATOR, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_GENERATOR_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_SECOND_WAREHOUSE }, new MyMissionLocation(baseSector, (uint)EntityID.DummyNearHub3) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudGeneratorRoom }; m_objectives.Add(checkGenerator); var useHub3 = new MyObjectiveEnablePrefabs( MyTextsWrapperEnum.RESEARCH_VESSEL_USE_HUB_3, MyMissionID.RESEARCH_VESSEL_USE_HUB_3, MyTextsWrapperEnum.RESEARCH_VESSEL_USE_HUB_3_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_GENERATOR }, null, new List <uint> { (uint)EntityID.Hub3 }, new List <uint> { (uint)EntityID.Door3 } ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHub }; useHub3.OnMissionSuccess += new MissionHandler(UseHub3_Success); m_objectives.Add(useHub3); var takeThridProbe = new MyUseObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_THIRD, MyMissionID.RESEARCH_VESSEL_TAKE_THIRD, MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_THIRD_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_USE_HUB_3 }, new MyMissionLocation(baseSector, (uint)EntityID.Cargo2), MyTextsWrapperEnum.PressToTakeComponent, MyTextsWrapperEnum.Component, MyTextsWrapperEnum.TakingInProgress, 1000, MyUseObjectiveType.Activating, radiusOverride: 50 ) { SaveOnSuccess = true }; takeThridProbe.OnMissionSuccess += TakeThirdParts_Success; m_objectives.Add(takeThridProbe); var takeThridProbeDialogue = new MyObjectiveDialog( MyTextsWrapperEnum.Null, MyMissionID.RESEARCH_VESSEL_TAKE_THIRD_DIALOGUE, MyTextsWrapperEnum.Null, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_TAKE_THIRD }, MyDialogueEnum.RESEARCH_VESSEL_0700_THIRDPARTS); m_objectives.Add(takeThridProbeDialogue); var checkCargoAgain = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_CARGO_AGAIN, MyMissionID.RESEARCH_VESSEL_CHECK_CARGO_AGAIN, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_CARGO_AGAIN_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_TAKE_THIRD_DIALOGUE }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_1) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudContainer }; checkCargoAgain.OnMissionSuccess += new MissionHandler(CheckCargoAgain_Success); m_objectives.Add(checkCargoAgain); var takeFourthParts = new MyUseObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_FOURTH, MyMissionID.RESEARCH_VESSEL_TAKE_FOURTH, MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_FOURTH_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_CARGO_AGAIN }, new MyMissionLocation(baseSector, (uint)EntityID.Cargo1), MyTextsWrapperEnum.PressToTakeComponent, MyTextsWrapperEnum.Component, MyTextsWrapperEnum.TakingInProgress, 1000, MyUseObjectiveType.Activating, radiusOverride: 50 ) { SaveOnSuccess = false }; takeFourthParts.OnMissionSuccess += TakeFourthParts_Success; m_objectives.Add(takeFourthParts); #endregion }
public MyFortValiantMissionC() : base() { ID = MyMissionID.FORT_VALIANT_C; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("09e-Fort Valiant C"); // Name of mission Name = MyTextsWrapperEnum.FORT_VALIANT_C; Description = MyTextsWrapperEnum.FORT_VALIANT_C_Description; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.MARCUS, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocationC); //StartLocationC Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.SLAVER_BASE_2 }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.FORT_VALIANT_C_PICK_UP_EQUIP }; AchievementName = MySteamAchievementNames.Mission17_FortValiantDungeons; #region Objectives m_objectives = new List<MyObjective>(); var speakCaptain = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_CAPTAIN_Name), MyMissionID.FORT_VALIANT_C_CAPTAIN, (MyTextsWrapperEnum.FORT_VALIANT_C_CAPTAIN_Description), this, new MyMissionID[] { }, (uint)EntityID.CaptainDummy, (uint)EntityID.Captain, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_C_0100, null, false ) { SaveOnSuccess = true, FollowMe = false, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0100_BEGIN, HudName = MyTextsWrapperEnum.HudCaptainCedric }; speakCaptain.OnMissionSuccess += SpeakCaptainOnOnMissionSuccess; m_objectives.Add(speakCaptain); var reachUpperFloor = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_UPPER_FLOOR_Name), MyMissionID.FORT_VALIANT_C_UPPER_FLOOR, (MyTextsWrapperEnum.FORT_VALIANT_C_UPPER_FLOOR_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_CAPTAIN }, new MyMissionLocation(baseSector, (uint)EntityID.UpperFloorDummy) ) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(reachUpperFloor); var meetRoyal = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_TALK_Name), MyMissionID.FORT_VALIANT_C_EQUIP_TALK, (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_TALK_Description), this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_UPPER_FLOOR }, (uint)EntityID.RoyalDummy, (uint)EntityID.BotRoyal, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_C_0200, null, false ) { SaveOnSuccess = true, FollowMe = false }; m_objectives.Add(meetRoyal); var giveoutEquipment = new MyUseObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_Name), MyMissionID.FORT_VALIANT_C_EQUIP, (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_EQUIP_TALK }, new MyMissionLocation(baseSector, (uint)EntityID.RoyalCargoBoxDetector), MyTextsWrapperEnum.PressToGiveEquipment, MyTextsWrapperEnum.CargoBox, MyTextsWrapperEnum.TransferInProgress, 3000, MyUseObjectiveType.Activating ) { SaveOnSuccess = true }; giveoutEquipment.OnMissionSuccess += GiveoutEquipmentOnOnMissionSuccess; m_objectives.Add(giveoutEquipment); var meetOfficers = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_MEET_OFFICIALS_Name), MyMissionID.FORT_VALIANT_C_MEET_OFFICIALS, (MyTextsWrapperEnum.FORT_VALIANT_C_MEET_OFFICIALS_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_EQUIP }, new MyMissionLocation(baseSector, (uint)EntityID.OfficalsDetector), null ) { StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0300, SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_0400, HudName = MyTextsWrapperEnum.HudChamber }; m_objectives.Add(meetOfficers); var leaveOfficers = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_OFFICIALS_Name), MyMissionID.FORT_VALIANT_C_LEAVE_OFFICIALS, (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_OFFICIALS_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_MEET_OFFICIALS }, new MyMissionLocation(baseSector, (uint)EntityID.OfficalsleaveDetector), null ) { SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_0500, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(leaveOfficers); var followPath = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_FOLLOW_Name), MyMissionID.FORT_VALIANT_C_LEAVE_FOLLOW, (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_FOLLOW_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_LEAVE_OFFICIALS }, new MyMissionLocation(baseSector, (uint)EntityID.FollowPathDetector), null, null) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(followPath); var speakWithSir = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SPEAK_SIR_Name), MyMissionID.FORT_VALIANT_C_SPEAK_SIR, (MyTextsWrapperEnum.FORT_VALIANT_C_SPEAK_SIR_Description), this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_LEAVE_FOLLOW }, (uint)EntityID.SirBendivereDummy, (uint)EntityID.BotTemplar, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_C_0600, null, false ) { SaveOnSuccess = true, FollowMe = false, HudName = MyTextsWrapperEnum.HudSirGeraint }; m_objectives.Add(speakWithSir); var getItemsFromCargoBoxes = new MyObjectiveGetItems( (MyTextsWrapperEnum.FORT_VALIANT_C_GET_EQUP_CARGO_Name), MyMissionID.FORT_VALIANT_C_GET_EQUP_CARGO, (MyTextsWrapperEnum.FORT_VALIANT_C_GET_EQUP_CARGO_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SPEAK_SIR }, new List<MyItemToGetDefinition>() { new MyItemToGetDefinition(MyMwcObjectBuilderTypeEnum.SmallShip_HackingTool, (int)MyMwcObjectBuilder_SmallShip_HackingTool_TypesEnum.Level_1)}, new List<uint>() { (uint)EntityID.CargoBox } ) { SaveOnSuccess = true }; m_objectives.Add(getItemsFromCargoBoxes); var findEntrance = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION_Name), MyMissionID.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION, (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_GET_EQUP_CARGO }, new MyMissionLocation(baseSector, (uint)EntityID.Ventilation), null, null) { StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0700, HudName = MyTextsWrapperEnum.HudEntrance }; findEntrance.OnMissionLoaded += FindEntranceOnOnMissionLoaded; m_objectives.Add(findEntrance); var disableScanner = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE_Name), MyMissionID.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE, (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION }, new List<uint> { (uint)EntityID.DisableScanner }, new List<uint> { (uint)EntityID.DisableScannerHub }, false, false ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0800, HudName = MyTextsWrapperEnum.HudSecurityHub }; disableScanner.OnMissionLoaded += DisableScannerOnOnMissionLoaded; m_objectives.Add(disableScanner); var scanners1 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS1_Name), MyMissionID.FORT_VALIANT_C_SCANNERS1, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS1_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation1)) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_1000, HudName = MyTextsWrapperEnum.Nothing }; //scanners1.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorGuardsDialogue, MyDialogueEnum.FORT_VALIANT_C_1100)); scanners1.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorSensorsDialogue, MyDialogueEnum.FORT_VALIANT_C_1200)); m_objectives.Add(scanners1); var scanners2 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS2_Name), MyMissionID.FORT_VALIANT_C_SCANNERS2, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS2_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS1 }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation2)) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; scanners2.OnMissionSuccess += Scanners2OnOnMissionSuccess; m_objectives.Add(scanners2); var scanners23 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS23_Name), MyMissionID.FORT_VALIANT_C_SCANNERS23, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS23_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS2 }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation23)) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(scanners23); m_findArtifact = new MyUseObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_TAKE_ARTEFACT_Name), MyMissionID.FORT_VALIANT_C_TAKE_ARTEFACT, (MyTextsWrapperEnum.FORT_VALIANT_C_TAKE_ARTEFACT_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS23 }, null, MyTextsWrapperEnum.NotificationTakeArtifact, MyTextsWrapperEnum.Artifact, MyTextsWrapperEnum.TakingInProgress, 3000, MyUseObjectiveType.Taking, null, null, null, new List<uint>() { (uint)EntityID.Box1Marker, (uint)EntityID.Box2Marker, (uint)EntityID.Box3Marker, (uint)EntityID.Box4Marker }, (uint)EntityID.ArtifactDummy ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_1400 }; m_findArtifact.OnMissionLoaded += FindArtifactOnOnMissionLoaded; m_findArtifact.OnMissionSuccess += FindArtifactOnOnMissionSuccess; m_findArtifact.Components.Add(new MyTimedDialogue(new TimeSpan(0,0,10),MyDialogueEnum.FORT_VALIANT_C_1500 )); m_objectives.Add(m_findArtifact); var vault = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_VALUT_Name), MyMissionID.FORT_VALIANT_C_VALUT, (MyTextsWrapperEnum.FORT_VALIANT_C_VALUT_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_TAKE_ARTEFACT }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation2)) { HudName = MyTextsWrapperEnum.Nothing }; vault.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorSecurityFields, MyDialogueEnum.FORT_VALIANT_C_1700)); vault.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorOpenDoors, MyDialogueEnum.FORT_VALIANT_C_1800)); vault.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorComputer, MyDialogueEnum.FORT_VALIANT_C_1900)); m_objectives.Add(vault); m_disableScanner2 = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.FORT_VALIANT_C_TURN_OFF_SCANNER_Name), MyMissionID.FORT_VALIANT_C_TURN_OFF_SCANNER, (MyTextsWrapperEnum.FORT_VALIANT_C_TURN_OFF_SCANNER_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_VALUT }, new List<uint> { (uint)EntityID.DisableSnanners2 }, new List<uint> { (uint)EntityID.DisableScanner2Hub }, false ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_2100, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_disableScanner2.OnMissionSuccess += DisableScanner2_Success; m_objectives.Add(m_disableScanner2); var scanners4 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS4_Name), MyMissionID.FORT_VALIANT_C_SCANNERS4, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS4_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_TURN_OFF_SCANNER }, new MyMissionLocation(baseSector, (uint)EntityID.HigherFloors)) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(scanners4); var elevator = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_TOP_ELEVATOR_Name), MyMissionID.FORT_VALIANT_C_TOP_ELEVATOR, (MyTextsWrapperEnum.FORT_VALIANT_C_TOP_ELEVATOR_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS4 }, new MyMissionLocation(baseSector, (uint)EntityID.ElevatorDummy)) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(elevator); var escape = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_VENT_SYSTEM_Name), MyMissionID.FORT_VALIANT_C_VENT_SYSTEM, (MyTextsWrapperEnum.FORT_VALIANT_C_VENT_SYSTEM_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_TOP_ELEVATOR }, new MyMissionLocation(baseSector, (uint)EntityID.EscapeVentSystemDummy)) { SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_2300, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(escape); var useCatacombs = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_CATACOMBS_Name), MyMissionID.FORT_VALIANT_C_CATACOMBS, (MyTextsWrapperEnum.FORT_VALIANT_C_CATACOMBS_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_VENT_SYSTEM }, new MyMissionLocation(baseSector, (uint)EntityID.EscapeCatacombsDummy) //startDialogId: dialog9 ) { HudName = MyTextsWrapperEnum.Nothing }; useCatacombs.OnMissionSuccess += UseCatacombsOnOnMissionSuccess; m_objectives.Add(useCatacombs); var getItemsFromCargoBoxes2 = new MyUseObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_PICK_UP_EQUIP_Name), MyMissionID.FORT_VALIANT_C_PICK_UP_EQUIP, (MyTextsWrapperEnum.FORT_VALIANT_C_PICK_UP_EQUIP_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_CATACOMBS }, new MyMissionLocation(baseSector, (uint)EntityID.RoyalCargoBoxDetector), MyTextsWrapperEnum.PressToTakeCargo, MyTextsWrapperEnum.CargoBox, MyTextsWrapperEnum.TakingInProgress, 3000, MyUseObjectiveType.Taking //startDialogId: dialog10 ) { SaveOnSuccess = true,StartDialogId = MyDialogueEnum.FORT_VALIANT_C_2400}; getItemsFromCargoBoxes2.Components.Add(new MyDetectorDialogue((uint)EntityID.GetItemsWayBackDialogue, MyDialogueEnum.FORT_VALIANT_C_2500)); getItemsFromCargoBoxes2.OnMissionSuccess += GetItemsFromCargoBoxesOnOnMissionSuccess; m_objectives.Add(getItemsFromCargoBoxes2); #endregion }
public MyEACPrisonMission() { ID = MyMissionID.EAC_PRISON; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("20-EAC prison"); Name = MyTextsWrapperEnum.EAC_PRISON; Description = MyTextsWrapperEnum.EAC_PRISON_Description; Flags = MyMissionFlags.Story; AchievementName = MySteamAchievementNames.Mission29_EacPrison; MyMwcVector3Int baseSector = new MyMwcVector3Int(5480055, 0, -5077310); /* sector where the mission is located */ Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); //posledne cislo - ID dummy pointu kde prijimam misiu RequiredMissions = new MyMissionID[] { MyMissionID.TWIN_TOWERS }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.EAC_PRISON_MEETINGPOINT }; RequiredActors = new MyActorEnum[] { MyActorEnum.TARJA, MyActorEnum.VALENTIN, MyActorEnum.MADELYN, MyActorEnum.MARCUS }; m_objectives = new List <MyObjective>(); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeStorage, 0, (uint)EntityID.SpawnpointAtStorage)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeIndustry, 0, (uint)EntityID.SpawnpointAtIndustry1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeIndustry, 0, (uint)EntityID.SpawnpointAtIndustry2)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeParking, 0, (uint)EntityID.SpawnpointAtParking)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeMines, 0, (uint)EntityID.SpawnpointAtMines)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeMinesEntrance, 0, (uint)EntityID.SpawnpointAtMinesEntrance)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeMarcusCell, 0, (uint)EntityID.SpawnpointAtMarcusCell)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck7, 0, (uint)EntityID.SpawnpointAtSecurityCheck7)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck6, 0, (uint)EntityID.SpawnpointAtSecurityCheck6)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck8, 0, (uint)EntityID.SpawnpointAtSecurityCheck8)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck4, 0, (uint)EntityID.SpawnpointAtSecurityCheck4)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCellAfterSecurityCheck4, 0, (uint)EntityID.SpawnpointAtCellAfterSecurityCheck4)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck5, 0, (uint)EntityID.SpawnpointAtSecurityCheck5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell1AfterSecurityCheck5, 0, (uint)EntityID.SpawnpointAtCell1AfterSecurityCheck5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell2AfterSecurityCheck5, 0, (uint)EntityID.SpawnpointAtCell2AfterSecurityCheck5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell3AfterSecurityCheck5, 0, (uint)EntityID.SpawnpointAtCell3AfterSecurityCheck5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck3, 0, (uint)EntityID.SpawnpointAtSecurityCheck3)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell1AfterSecurityCheck3, 0, (uint)EntityID.SpawnpointAtCell1AfterSecurityCheck3)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell2AfterSecurityCheck3, 0, (uint)EntityID.SpawnpointAtCell2AfterSecurityCheck3)); //Components.Add(new MySpawnpointWaves(detectorId, 3, new List<uint[]> { // new uint[] { spawnpointId1, spawnpointId2, spawnpointId3 }, // new uint[] { spawnpointId4, spawnpointId5 }})); //01 var mothershipBattle = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_THRUSWARM_Name), MyMissionID.EAC_PRISON_THRUSWARM, (MyTextsWrapperEnum.EAC_PRISON_THRUSWARM_Description), null, this, new MyMissionID[] {}, new MyMissionLocation(baseSector, (uint)EntityID.MotherShiBattleLocationDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_0100, SuccessDialogId = MyDialogueEnum.EAC_PRISON_0200 }; m_objectives.Add(mothershipBattle); //mothershipBattle.Components.Add(new MySpawnpointWaves(77073, 0, 76625)); mothershipBattle.OnMissionLoaded += mothershipBattle_OnMissionLoaded; //02 var destroySolarDefence = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_PRISON_SOLARDEF_Name), MyMissionID.EAC_PRISON_SOLARDEF, (MyTextsWrapperEnum.EAC_PRISON_SOLARDEF_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_THRUSWARM }, m_02toKill ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_0300 }; destroySolarDefence.OnMissionSuccess += DestroySolarDefenceOnOnMissionSuccess; m_objectives.Add(destroySolarDefence); destroySolarDefence.OnMissionLoaded += destroySolarDefence_OnMissionLoaded; //03 m_destroySolarPanelsFirst = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_SOLAROFF1_Name), MyMissionID.EAC_PRISON_SOLAROFF1, (MyTextsWrapperEnum.EAC_PRISON_SOLAROFF1_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_SOLARDEF }, null ) { SaveOnSuccess = false }; m_destroySolarPanelsFirst.OnMissionLoaded += DestroySolarPanelsFirstSubmissionLoaded; m_destroySolarPanelsFirst.OnMissionSuccess += DestroySolarPanelsFirstSubmissionSuccess; m_objectives.Add(m_destroySolarPanelsFirst); m_destroySolarPanelsFirst.SaveOnSuccess = true; //04 var motherShipHelp = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_PRISON_MOTHERSHIPHELP_Name), MyMissionID.EAC_PRISON_MOTHERSHIPHELP, (MyTextsWrapperEnum.EAC_PRISON_MOTHERSHIPHELP_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_SOLAROFF1 }, m_04toKill ) { SaveOnSuccess = false, StartDialogId = MyDialogueEnum.EAC_PRISON_0400, SuccessDialogId = MyDialogueEnum.EAC_PRISON_0500 }; m_objectives.Add(motherShipHelp); motherShipHelp.OnMissionLoaded += new MissionHandler(motherShipHelp_OnMissionLoaded); //05 m_destroySolarPanelsSecond = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_SOLAROFF2_Name), MyMissionID.EAC_PRISON_SOLAROFF2, (MyTextsWrapperEnum.EAC_PRISON_SOLAROFF2_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_MOTHERSHIPHELP }, null ) { SaveOnSuccess = true, }; m_destroySolarPanelsSecond.OnMissionLoaded += DestroySolarPanelsSecondSubmissionLoaded; m_destroySolarPanelsSecond.OnMissionSuccess += DestroySolarPanelsSecondSubmissionSuccess; m_objectives.Add(m_destroySolarPanelsSecond); //06 var breakInsideStation = new MyTimedReachLocationObjective( (MyTextsWrapperEnum.EAC_PRISON_BREAKIN_Name), MyMissionID.EAC_PRISON_BREAKIN, (MyTextsWrapperEnum.EAC_PRISON_BREAKIN_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_SOLAROFF2 }, new System.TimeSpan(0, 1, 0), new MyMissionLocation(baseSector, (uint)EntityID.BreakInsideStationLocationDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_0600, HudName = MyTextsWrapperEnum.HudCargoBay }; breakInsideStation.OnMissionSuccess += BreakInsideStationSubmissionSuccess; breakInsideStation.OnMissionLoaded += BreakInsideStationOnOnMissionLoaded; m_objectives.Add(breakInsideStation); //07 var marcusLocationIntel = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_LOCINTEL_Name), MyMissionID.EAC_PRISON_LOCINTEL, (MyTextsWrapperEnum.EAC_PRISON_LOCINTEL_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_BREAKIN }, new MyMissionLocation(baseSector, (uint)EntityID._MarcusIntelLocation), MyTextsWrapperEnum.PressToDownloadData, MyTextsWrapperEnum.Console, MyTextsWrapperEnum.DownloadingData, 5000, MyUseObjectiveType.Hacking ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_objectives.Add(marcusLocationIntel); marcusLocationIntel.OnMissionLoaded += new MissionHandler(marcusLocationIntel_OnMissionLoaded); marcusLocationIntel.OnMissionSuccess += MarcusLocationIntelOnOnMissionSuccess; marcusLocationIntel.Components.Add(new MySpawnpointLimiter(m_spawns, 6)); //08 m_findCircoutPart = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_ACQUIREIDCARD_Name), MyMissionID.EAC_PRISON_ACQUIREIDCARD, (MyTextsWrapperEnum.EAC_PRISON_ACQUIREIDCARD_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_LOCINTEL }, new MyMissionLocation(baseSector, (uint)EntityID.CargoIDCard), MyTextsWrapperEnum.PressToTakeCargo, MyTextsWrapperEnum.TakeAll, MyTextsWrapperEnum.TakeAll, 2000, MyUseObjectiveType.Taking, radiusOverride: 50 ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_0700, HudName = MyTextsWrapperEnum.HudIdCard }; m_findCircoutPart.OnMissionLoaded += OnFindCircuitLoaded; m_findCircoutPart.OnMissionSuccess += new MissionHandler(m_findCircoutPart_OnMissionSuccess); m_objectives.Add(m_findCircoutPart); var marcusLocationIntel2 = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_LOCINTEL2_Name), MyMissionID.EAC_PRISON_LOCINTEL2, (MyTextsWrapperEnum.EAC_PRISON_LOCINTEL2_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_ACQUIREIDCARD }, new MyMissionLocation(baseSector, (uint)EntityID._MarcusIntelLocation), MyTextsWrapperEnum.PressToDownloadData, MyTextsWrapperEnum.Console, MyTextsWrapperEnum.DownloadingData, 5000, MyUseObjectiveType.Hacking ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.EAC_PRISON_0900, StartDialogId = MyDialogueEnum.EAC_PRISON_0800, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_objectives.Add(marcusLocationIntel2); //09 var openDoors = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.EAC_PRISON_OPENACCESS_Name), MyMissionID.EAC_PRISON_OPENACCESS, (MyTextsWrapperEnum.EAC_PRISON_OPENACCESS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_LOCINTEL2 }, null, new List <uint> { (int)EntityID.SecurityHub }, m_09toEnablePrefabs ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_objectives.Add(openDoors); openDoors.OnMissionLoaded += OnOpenDoorsLoaded; //10 var takeOffSecurityCircuit = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.EAC_PRISON_SECURITYOFF_Name), MyMissionID.EAC_PRISON_SECURITYOFF, (MyTextsWrapperEnum.EAC_PRISON_SECURITYOFF_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_OPENACCESS }, new List <uint> { (uint)EntityID.HubHack }, new List <uint> { (uint)EntityID.HubHackGenerator }, false, false ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_1000, HudName = MyTextsWrapperEnum.HudHub }; takeOffSecurityCircuit.OnMissionLoaded += OntakeOffSecuritypartLoaded;//zapne svetlo m_objectives.Add(takeOffSecurityCircuit); //11 var approachMarcusCell = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_MARCUSCELL_Name), MyMissionID.EAC_PRISON_MARCUSCELL, (MyTextsWrapperEnum.EAC_PRISON_MARCUSCELL_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_SECURITYOFF }, new MyMissionLocation(baseSector, (uint)EntityID.MarcusCellLocation), MyTextsWrapperEnum.HoldToMoveMarcus, MyTextsWrapperEnum.Actor_Marcus, MyTextsWrapperEnum.Moving, 4000, MyUseObjectiveType.Taking ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudMarcus }; approachMarcusCell.OnMissionLoaded += OnapproachMarcusLoaded; m_objectives.Add(approachMarcusCell); var marcusLoaded = new MyObjectiveDialog( MyMissionID.EAC_PRISON_MARCUSDIALOG, null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_MARCUSCELL }, MyDialogueEnum.EAC_PRISON_1200 ) { SaveOnSuccess = true }; marcusLoaded.OnMissionLoaded += OnMarcusLoadedLoaded; m_objectives.Add(marcusLoaded); var weHaveCompany = new MyObjectiveDialog( MyMissionID.EAC_PRISON_WE_HAVE_COMPANY, null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_MARCUSDIALOG }, MyDialogueEnum.EAC_PRISON_1250 ) { SaveOnSuccess = false }; weHaveCompany.OnMissionLoaded += OnWeHaveCompanyLoaded; m_objectives.Add(weHaveCompany); //12 var findMarcusSmallShip = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_COVERMARCUS_Name), MyMissionID.EAC_PRISON_COVERMARCUS, (MyTextsWrapperEnum.EAC_PRISON_COVERMARCUS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_WE_HAVE_COMPANY }, new MyMissionLocation(baseSector, (uint)EntityID.MarcusShipDetector), MyTextsWrapperEnum.HoldToMoveMarcus, MyTextsWrapperEnum.Actor_Marcus, MyTextsWrapperEnum.Moving, 4000, MyUseObjectiveType.Putting ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudShip }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_objectives.Add(findMarcusSmallShip); findMarcusSmallShip.OnMissionSuccess += OnSuccesfindMarcusSmallShip; //13 var equipMarcus = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_GETARMS_Name), MyMissionID.EAC_PRISON_GETARMS, (MyTextsWrapperEnum.EAC_PRISON_GETARMS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_COVERMARCUS }, new MyMissionLocation(baseSector, (uint)EntityID.CargoForMarcus), MyTextsWrapperEnum.HoldToMoveWeapons, MyTextsWrapperEnum.Actor_Marcus, MyTextsWrapperEnum.Moving, 4000 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudEquipment }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_objectives.Add(equipMarcus); equipMarcus.OnMissionSuccess += OnEquipMarcussSucces; equipMarcus.OnMissionLoaded += EquipMarcusOnOnMissionLoaded; //14 var fightOutStation = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_FIGHTOUT_Name), MyMissionID.EAC_PRISON_FIGHTOUT, (MyTextsWrapperEnum.EAC_PRISON_FIGHTOUT_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_GETARMS }, new MyMissionLocation(baseSector, (uint)EntityID.StationDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_1300, SuccessDialogId = MyDialogueEnum.EAC_PRISON_1400, HudName = MyTextsWrapperEnum.Nothing }; fightOutStation.OnMissionLoaded += fightOutStation_OnMissionLoaded; fightOutStation.OnMissionSuccess += fightOutStation_OnMissionSuccess; m_objectives.Add(fightOutStation); //15 var CrushRemainingShips = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_PRISON_CRUSHREINFORCEMENTS_Name), MyMissionID.EAC_PRISON_CRUSHREINFORCEMENTS, (MyTextsWrapperEnum.EAC_PRISON_CRUSHREINFORCEMENTS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_FIGHTOUT }, new List <uint> { }, // entities needed to kill m_15toKillSpawnpoints, // spawnpoint from which bots must be killed false // don't show marks on entities (not from spawnpoint) ) { SaveOnSuccess = true, }; m_objectives.Add(CrushRemainingShips); //16 var GetToMeetingPoint = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_MEETINGPOINT_Name), MyMissionID.EAC_PRISON_MEETINGPOINT, (MyTextsWrapperEnum.EAC_PRISON_MEETINGPOINT_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_CRUSHREINFORCEMENTS }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_1500, SuccessDialogId = MyDialogueEnum.EAC_PRISON_1600, HudName = MyTextsWrapperEnum.HudMeetingPoint }; m_objectives.Add(GetToMeetingPoint); }
public MySmallPirateBase2Mission() { ID = MyMissionID.SMALL_PIRATE_BASE_2; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Small pirate base 2"); // Nazev mise Name = MyTextsWrapperEnum.SMALL_PIRATE_BASE_2; Description = MyTextsWrapperEnum.SMALL_PIRATE_BASE_2_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(9708260,0,-2101810); // Story sector of the script Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point RequiredMissions = new MyMissionID[] { }; // mise ktere musi byt splneny pred prijetim teto mise RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.SMALL_PIRATE_BASE_2_KILL_GENERAL }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List<MyObjective>(); // Creating of list of submissions // START DEFINICE SUBMISE /* DestroyEnemies = new MyObjectiveDestroy( // Var is used to call functions on that member new StringBuilder("Destroy the mothership"), MyMissionID.SMALL_PIRATE_BASE_2_DESTROY_MOTHERSHIP, new StringBuilder(""), null, this, new MyMissionID[] { }, new List<uint> { (uint)EntityID.Mothership }, new List<uint> { }, false ) { SaveOnSuccess = false }; m_objectives.Add(DestroyEnemies); // pridani do seznamu submisi*/ DestroyGenerator = new MyObjectiveDestroy( // Var is used to call functions on that member new StringBuilder("Destroy the generators"), MyMissionID.SMALL_PIRATE_BASE_2_DESTROY_GENERATOR, new StringBuilder(""), null, this, new MyMissionID[] { }, generators, false ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudGenerator }; m_objectives.Add(DestroyGenerator); // pridani do seznamu submisi /*DestroyGenerator.MissionEntityIDs.Add((uint)EntityID.Generator_3); DestroyGenerator.MissionEntityIDs.Add((uint)EntityID.Generator_2); DestroyGenerator.MissionEntityIDs.Add((uint)EntityID.Generator);*/ var ReturnToMothership = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu new StringBuilder("Return to your mothership"), // nazev submise MyMissionID.SMALL_PIRATE_BASE_2_KILL_GENERAL, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] { MyMissionID.SMALL_PIRATE_BASE_2_DESTROY_GENERATOR, }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), // ID of dummy point of checkpoint radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; // nastaveni save na checkpointu nebo ne m_objectives.Add(ReturnToMothership); // pridani do seznamu submisi }
public MyTradeStationEACMission() { ID = MyMissionID.TRADE_STATION_EAC; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Trade station - EAC"); // Nazev mise Name = MyTextsWrapperEnum.TRADE_STATION_EAC; Description = MyTextsWrapperEnum.EmptyDescription; MyMwcVector3Int baseSector = new MyMwcVector3Int(5944222, 0, -3414281); // Story sector of the script Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Startmy point129158 RequiredMissions = new MyMissionID[] { }; // mise ktere musi byt splneny pred prijetim teto mise RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.TRADE_STATION_EAC_RETURN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List <MyObjective>(); // Creating of list of submissions // START DEFINICE SUBMISE m_casino = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu new StringBuilder("Get into the station"), // nazev submise MyMissionID.TRADE_STATION_EAC_CASINO, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] { }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, (uint)EntityID.Casino_Dummy) // ID of dummy point of checkpoint ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudStation }; // nastaveni save na checkpointu nebo ne m_objectives.Add(m_casino); // pridani do seznamu submisi var talkWith = new MyObjectiveDialog( (MyTextsWrapperEnum.TRADE_STATION_EAC_DIALOGUE_Name), MyMissionID.TRADE_STATION_EAC_DIALOGUE, (MyTextsWrapperEnum.TRADE_STATION_EAC_DIALOGUE_Description), null, this, new MyMissionID[] { MyMissionID.TRADE_STATION_EAC_CASINO } ) { SaveOnSuccess = false }; m_objectives.Add(talkWith); m_hospital = new MyObjectiveEnablePrefabs( new StringBuilder("Activate the central defense system"), MyMissionID.TRADE_STATION_EAC_HOSPITAL, new StringBuilder(""), null, this, new MyMissionID[] { MyMissionID.TRADE_STATION_EAC_DIALOGUE }, null, new List <uint> { (uint)EntityID.PC_Red }, new List <uint> { (uint)EntityID.Central_Defense_System } ) { HudName = MyTextsWrapperEnum.HudSecurityHub }; m_objectives.Add(m_hospital); /* m_hospital = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu * new StringBuilder("Reset station central defense system"), // nazev submise * MyMissionID.TRADE_STATION_EAC_HOSPITAL, // id submise * new StringBuilder("Reset station central defense system"), // popis submise * null, * this, * new MyMissionID[] { MyMissionID.TRADE_STATION_EAC_DIALOGUE }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise * new MyMissionLocation(baseSector, (uint)EntityID.PC_Red) // ID of dummy point of checkpoint * ) { SaveOnSuccess = false }; // nastaveni save na checkpointu nebo ne * m_objectives.Add(m_hospital); // pridani do seznamu submisi*/ var Return = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu new StringBuilder("Return to Madelyn"), // nazev submise MyMissionID.TRADE_STATION_EAC_RETURN, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] { MyMissionID.TRADE_STATION_EAC_HOSPITAL }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), // ID of dummy point of checkpoint radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; // nastaveni save na checkpointu nebo ne m_objectives.Add(Return); // pridani do seznamu submisi m_hospital.OnMissionSuccess += DefenseON; m_casino.OnMissionSuccess += AttackBegin; }
public MyPirateBaseMission() { ID = MyMissionID.PIRATE_BASE; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("04-Pirate base"); Name = MyTextsWrapperEnum.PIRATE_BASE; Description = MyTextsWrapperEnum.PIRATE_BASE_Description; Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(190921, 0, 2152692); /* sector where the mission is located */ Location = new MyMissionLocation(baseSector, 228782); RequiredMissions = new MyMissionID[] { MyMissionID.BARTHS_MOON_CONVINCE }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.PIRATE_BASE_ALLY_ARRIVED }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN }; m_objectives = new List<MyObjective>(); // == Objective 01 == var travel = new MyObjective( (MyTextsWrapperEnum.PIRATE_BASE_TRAVEL_TO_BASE_Name), MyMissionID.PIRATE_BASE_TRAVEL_TO_BASE, (MyTextsWrapperEnum.PIRATE_BASE_TRAVEL_TO_BASE_Description), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.FIND_PIRATE_BASE_LOCATION) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; travel.Components.Add(new MySpawnpointWaves((uint)EntityID.AMBUSH_1_DETECTOR, 0, new List<uint[]> { new uint[] { (uint)EntityID.AMBUSH_1_SPAWNPOINT_A }, new uint[] { (uint)EntityID.AMBUSH_1_SPAWNPOINT_B } })); travel.Components.Add(new MySpawnpointWaves((uint)EntityID.AMBUSH_2_DETECTOR, 0, new List<uint[]> { new uint[] { (uint)EntityID.AMBUSH_2_SPAWNPOINT_A }, new uint[] { (uint)EntityID.AMBUSH_2_SPAWNPOINT_B } })); travel.Components.Add(new MySpawnpointWaves((uint)EntityID.AMBUSH_3_DETECTOR, 0, new List<uint[]> { new uint[] { (uint)EntityID.AMBUSH_3_SPAWNPOINT_A }, new uint[] { (uint)EntityID.AMBUSH_3_SPAWNPOINT_B } })); travel.Components.Add(new MySpawnpointWaves((uint)EntityID.AMBUSH_4_DETECTOR, 0, new List<uint[]> { new uint[] { (uint)EntityID.AMBUSH_4_SPAWNPOINT_A }, new uint[] { (uint)EntityID.AMBUSH_4_SPAWNPOINT_B } })); travel.Components.Add(new MySpawnpointWaves((uint)EntityID.AMBUSH_5_DETECTOR, 0, new List<uint[]> { new uint[] { (uint)EntityID.AMBUSH_5_SPAWNPOINT_A }, new uint[] { (uint)EntityID.AMBUSH_5_SPAWNPOINT_B } })); travel.Components.Add(new MySpawnpointWaves((uint)EntityID.AMBUSH_6_DETECTOR, 0, new List<uint[]> { new uint[] { (uint)EntityID.AMBUSH_6_SPAWNPOINT_A }, new uint[] { (uint)EntityID.AMBUSH_6_SPAWNPOINT_B } })); //travel.OnMissionSuccess += ArrivedToBase; travel.OnMissionLoaded += Travel_OnMissionLoaded; travel.OnMissionCleanUp += Travel_OnMissionUnload; m_objectives.Add(travel); // == Objective 02 == var speakWithPirates = new MyMeetObjective( (MyTextsWrapperEnum.PIRATE_BASE_SPEAK_WITH_PIRATES_Name), MyMissionID.PIRATE_BASE_SPEAK_WITH_PIRATES, (MyTextsWrapperEnum.PIRATE_BASE_SPEAK_WITH_PIRATES_Description), this, new MyMissionID[] { MyMissionID.PIRATE_BASE_TRAVEL_TO_BASE }, null, (uint)EntityID.PIRATE_LEADER, 300) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudPirateCaptain }; speakWithPirates.OnMissionLoaded += SpeakWithPirates_OnMissionLoaded; m_objectives.Add(speakWithPirates); // == Objective 03 == var listenToCaptain = new MyObjectiveDialog( MyMissionID.PIRATE_BASE_LISTEN_TO_CAPTAIN, null, this, new MyMissionID[] { MyMissionID.PIRATE_BASE_SPEAK_WITH_PIRATES }, MyDialogueEnum.PIRATE_BASE_0600); listenToCaptain.OnMissionLoaded += ListenToCaptain_OnMissionLoaded; listenToCaptain.OnMissionCleanUp += ListenToCaptain_OnMissionUnload; m_objectives.Add(listenToCaptain); // == Objective 04 == var prepareForDefense = new MyObjective( (MyTextsWrapperEnum.PIRATE_BASE_PREPARE_FOR_DEFENSE_Name), MyMissionID.PIRATE_BASE_PREPARE_FOR_DEFENSE, (MyTextsWrapperEnum.PIRATE_BASE_PREPARE_FOR_DEFENSE_Description), null, this, new MyMissionID[] { MyMissionID.PIRATE_BASE_LISTEN_TO_CAPTAIN }, new MyMissionLocation(baseSector, (uint)EntityID.PREPARE_FOR_DEFENSE_LOCATION), startDialogId: MyDialogueEnum.PIRATE_BASE_0800) { SaveOnSuccess = true }; prepareForDefense.Components.Add(new MySpawnpointWaves((uint)EntityID.PREPARE_DETECTOR, 0, new List<uint[]> { new uint[] { (uint)EntityID.PREPARE_SPAWNPOINT0, (uint)EntityID.PREPARE_SPAWNPOINT1, (uint)EntityID.PREPARE_SPAWNPOINT2 } })); prepareForDefense.OnMissionLoaded += PrepareForDefense_OnMissionLoaded; m_objectives.Add(prepareForDefense); // == Objective 05 == m_getTurrets = new MyUseObjective( (MyTextsWrapperEnum.PIRATE_BASE_GET_TURRETS_Name), MyMissionID.PIRATE_BASE_GET_TURRETS, (MyTextsWrapperEnum.PIRATE_BASE_GET_TURRETS_Description), null, this, new MyMissionID[] { MyMissionID.PIRATE_BASE_PREPARE_FOR_DEFENSE }, new MyMissionLocation(baseSector, (uint)EntityID.TURRET_PREFABS_DUMMY), MyTextsWrapperEnum.PressToTakeTurrets, MyTextsWrapperEnum.Turrets, MyTextsWrapperEnum.TransferInProgress, 3000, objectiveType: MyUseObjectiveType.Taking) { SaveOnSuccess = true }; m_getTurrets.OnMissionLoaded += GetTurrets_OnMissionLoaded; m_getTurrets.OnMissionSuccess += GetTurrets_OnMissionSuccess; m_objectives.Add(m_getTurrets); // == Objective 06 == m_buildDefensesObjective = new MyTimedObjective( (MyTextsWrapperEnum.PIRATE_BASE_DEFENSE_SETUP_Name), MyMissionID.PIRATE_BASE_DEFENSE_SETUP, (MyTextsWrapperEnum.PIRATE_BASE_DEFENSE_SETUP_Description), null, this, new MyMissionID[] { MyMissionID.PIRATE_BASE_GET_TURRETS }, new TimeSpan(0, 0, minutes: 5, seconds: 0) ) { SaveOnSuccess = true }; m_buildDefensesObjective.OnMissionLoaded += BuildDefenses_OnMissionLoaded; m_buildDefensesObjective.OnMissionUpdate += BuildDefenses_OnMissionUpdate; m_buildDefensesObjective.OnMissionCleanUp += BuildDefenses_OnMissionUnloaded; m_buildDefensesObjective.OnMissionSuccess += BuildDefenses_OnMissionSuccess; m_objectives.Add(m_buildDefensesObjective); // == Objective 07 == m_defendObjective = new MyTimedObjective( (MyTextsWrapperEnum.PIRATE_BASE_DEFEND_Name), MyMissionID.PIRATE_BASE_DEFEND, (MyTextsWrapperEnum.PIRATE_BASE_DEFEND_Description), null, this, new MyMissionID[] { MyMissionID.PIRATE_BASE_DEFENSE_SETUP }, new TimeSpan(0, 0, minutes: 5, seconds: 0), startDialogId: MyDialogueEnum.PIRATE_BASE_0900 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudGenerator }; m_defendObjective.OnMissionLoaded += Defend_OnMissionLoaded; m_defendObjective.OnMissionCleanUp += Defend_OnMissionUnloaded; m_defendObjective.OnMissionUpdate += Defend_OnMissionUpdate; m_defendObjective.OnMissionSuccess += Defend_OnMissionSuccess; m_defendObjective.Components.Add(new MyHeadshake((3*60)*1000, MyHeadshake.DefaultShaking)); m_defendObjective.Components.Add(new MyHeadshake((6*60)*1000, MyHeadshake.DefaultShaking)); m_defendObjective.Components.Add(new MyHeadshake((9*60)*1000, MyHeadshake.DefaultShaking)); m_objectives.Add(m_defendObjective); // == Objective 08 == m_allyArrivedObjective = new MyObjective( (MyTextsWrapperEnum.PIRATE_BASE_ALLY_ARRIVED_Name), MyMissionID.PIRATE_BASE_ALLY_ARRIVED, (MyTextsWrapperEnum.PIRATE_BASE_ALLY_ARRIVED_Description), null, this, new MyMissionID[] { MyMissionID.PIRATE_BASE_DEFEND }, null, startDialogId: MyDialogueEnum.PIRATE_BASE_1100) { SaveOnSuccess = true }; m_allyArrivedObjective.OnMissionLoaded += AllyArrived_OnMissionLoaded; m_allyArrivedObjective.OnMissionCleanUp += AllyArrived_OnMissionUnload; m_allyArrivedObjective.OnMissionUpdate += AllyArrived_OnMissionUpdate; m_allyArrivedObjective.OnMissionSuccess += AllyArrived_OnMissionSuccess; m_objectives.Add(m_allyArrivedObjective); /* var returnBackToMotherShip = new MyObjective( new StringBuilder("Return to your mothership"), MyMissionID.PIRATE_BASE_RETURN_BACK_TO_MOTHERSHIP, new StringBuilder(""), null, this, new MyMissionID[] { MyMissionID.PIRATE_BASE_ALLY_ARRIVED }, new MyMissionLocation(baseSector, (uint)EntityID.MADELYN_DUMMY) ) { SaveOnSuccess = true }; m_objectives.Add(returnBackToMotherShip); */ }
public MySolarfactoryEACMission() { m_ValidateIDlists = new List<List<uint>>(); m_ValidateIDlists.Add(m_greenLights); m_ValidateIDlists.Add(m_redLights); ID = MyMissionID.SOLAR_PLANT_EAC; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Solar factory - EAC"); // Nazev mise Name = MyTextsWrapperEnum.SOLAR_PLANT_EAC; Description = MyTextsWrapperEnum.EmptyDescription; MyMwcVector3Int baseSector = new MyMwcVector3Int(2700837, 0, -1774663); // Story sector of the script Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Startmy point RequiredMissions = new MyMissionID[] { }; // mise ktere musi byt splneny pred prijetim teto mise RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.SOLAR_PLANT_EAC_RETURN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List<MyObjective>(); // Creating of list of submissions // START DEFINICE SUBMISE var DestroyTransformator = new MyObjectiveDestroy( // Var is used to call functions on that member new StringBuilder("Destroy the transformer"), MyMissionID.SOLAR_PLANT_EAC_DESTROY, new StringBuilder(""), null, this, new MyMissionID[] { }, Transformators, false ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudTransformer }; DestroyTransformator.OnMissionSuccess += new Missions.MissionHandler(DestroyedTransformator); m_objectives.Add(DestroyTransformator); // pridani do seznamu submisi var ReturnToMothership = new MyObjective( // One member of that list - je to MyObjective takze cilem je doletet do checkpointu new StringBuilder("Return to your mothership"), // nazev submise MyMissionID.SOLAR_PLANT_EAC_RETURN, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] { MyMissionID.SOLAR_PLANT_EAC_DESTROY, }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), // ID of dummy point of checkpoin //StartDialogId: MyDialogueEnum.SLAVERBASE_0900_NUKE_HACKED, radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; // nastaveni save na checkpointu nebo ne m_objectives.Add(ReturnToMothership); // }
public MyTwinTowersMission() { ID = MyMissionID.TWIN_TOWERS; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.TWIN_TOWERS; Description = MyTextsWrapperEnum.TWIN_TOWERS_Description; DebugName = new StringBuilder("19-Doppelburg"); Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-2809328, 0, -4609055); /* sector where the mission is located */ Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); RequiredMissions = new MyMissionID[] { MyMissionID.REICHSTAG_C }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.TWIN_TOWERS_MOTHERSHIP1_V2 }; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; MovePlayerToMadelynHangar = false; m_objectives = new List<MyObjective>(); m_introTalk = new MyObjective( MyTextsWrapperEnum.Blank, MyMissionID.TWIN_TOWERS_INTRO, MyTextsWrapperEnum.Blank, null, this, new MyMissionID[] { }, null ) { StartDialogId = MyDialogueEnum.TWIN_TOWERS_0100_INTRO }; m_objectives.Add(m_introTalk); var multipleSabotage = new MyMultipleUseObjective( (MyTextsWrapperEnum.TWIN_TOWERS_SABOTAGE_Name), MyMissionID.TWIN_TOWERS_SABOTAGE, (MyTextsWrapperEnum.TWIN_TOWERS_SABOTAGE_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_INTRO }, MyTextsWrapperEnum.PressToPlaceExplosive, MyTextsWrapperEnum.Blank, MyTextsWrapperEnum.PlacingExplosives, 1000, new List<uint> { (uint)EntityID.Explosives2, (uint)EntityID.Explosives3, (uint)EntityID.Explosives1 }, MyUseObjectiveType.Putting ) { StartDialogId = MyDialogueEnum.TWIN_TOWERS_0200_PLACE_EXPLOSIVES }; multipleSabotage.OnObjectUsedSucces += MultipleSabotageOnOnObjectUsedSucces; multipleSabotage.RequiredUncompletedMissions = new MyMissionID[] { MyMissionID.TWIN_TOWERS_RANDEVOUZ }; multipleSabotage.Components.Add( new MyDetectorDialogue( (uint) EntityID.Sabotage1, MyDialogueEnum.TWIN_TOWERS_0300_player_reaching_the_main_electricity_supply)); multipleSabotage.Components.Add( new MyDetectorDialogue( (uint) EntityID.Sabotage2, MyDialogueEnum.TWIN_TOWERS_0400_reaching_a_hangar_with_unmanned_enemy_small_ships)); multipleSabotage.Components.Add( new MyDetectorDialogue( (uint) EntityID.Sabotage3, MyDialogueEnum.TWIN_TOWERS_0500_reaching_electricity_distribution_HUB)); m_objectives.Add(multipleSabotage); /* var sabotageSubmission04 = new MySabotageSubmission( new StringBuilder("Industrial section control room"), MyMissionID.TWIN_TOWERS_SABOTAGE04, new StringBuilder(""), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.Sabotage4) ); sabotageSubmission04.RequiredUncompletedMissions = new MyMissionID[] { MyMissionID.TWIN_TOWERS_RANDEVOUZ }; sabotageSubmission04.OnMissionSuccess += Sabotage04SubmissionSuccess; m_objectives.Add(sabotageSubmission04); */ var randevouzSubmission = new MyObjective( (MyTextsWrapperEnum.TWIN_TOWERS_RANDEVOUZ_Name), MyMissionID.TWIN_TOWERS_RANDEVOUZ, (MyTextsWrapperEnum.TWIN_TOWERS_RANDEVOUZ_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_SABOTAGE }, new MyMissionLocation(baseSector, (uint)EntityID.Objective_randevouz) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.TWIN_TOWERS_0600_after_all_the_sabotages_are_done, HudName = MyTextsWrapperEnum.HudMeetingPoint }; randevouzSubmission.OnMissionLoaded += RandevouzSubmissionLoaded; randevouzSubmission.OnMissionSuccess += RandevouzSubmissionSuccess; m_objectives.Add(randevouzSubmission); m_assaultSubmission = new MyObjectiveDestroy( (MyTextsWrapperEnum.TWIN_TOWERS_ASSAULT_Name), MyMissionID.TWIN_TOWERS_ASSAULT, (MyTextsWrapperEnum.TWIN_TOWERS_ASSAULT_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_RANDEVOUZ }, null, new List<uint> { (uint) EntityID.Spawnpoint_Command } ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.TWIN_TOWERS_0700_Meeting_point, SuccessDialogId = MyDialogueEnum.TWIN_TOWERS_0800_command_center_cleared }; m_assaultSubmission.OnMissionSuccess += AssaultSubmissionSuccess; m_assaultSubmission.OnMissionLoaded += AssaultSubmissionLoaded; m_objectives.Add(m_assaultSubmission); m_hackerSubmission = new MyTimedObjective( (MyTextsWrapperEnum.TWIN_TOWERS_HACKING_Name), MyMissionID.TWIN_TOWERS_HACKING, (MyTextsWrapperEnum.TWIN_TOWERS_HACKING_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_ASSAULT }, new TimeSpan(0, 3, 0), false ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.TWIN_TOWERS_0900_hacker_reaches_computer, SuccessDialogId = MyDialogueEnum.TWIN_TOWERS_1100_hacking_gets_jammed, HudName = MyTextsWrapperEnum.HudHacker }; m_hackerSubmission.OnMissionSuccess += HackerSubmissionSuccess; m_hackerSubmission.OnMissionLoaded += HackerSubmissionLoaded; m_hackerSubmission.NotificationText = MyTextsWrapperEnum.CountdownHacker; m_hackerSubmission.Components.Add(new MyTimedDialogue(TimeSpan.FromSeconds(90), MyDialogueEnum.TWIN_TOWERS_1000_through_the_fight)); m_objectives.Add(m_hackerSubmission); m_jammerSubmission = new MyObjectiveDestroy( (MyTextsWrapperEnum.TWIN_TOWERS_JAMMER_Name), MyMissionID.TWIN_TOWERS_JAMMER, (MyTextsWrapperEnum.TWIN_TOWERS_JAMMER_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_HACKING }, null, new List<uint> { (uint) EntityID.Spawnpoint_Jammer } ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.TWIN_TOWERS_1200_killing_jammer, HudName = MyTextsWrapperEnum.HudJammer }; m_jammerSubmission.OnMissionSuccess += JammerSubmissionSuccess; m_jammerSubmission.OnMissionLoaded += JammerSubmissionLoaded; m_objectives.Add(m_jammerSubmission); m_hackerSubmission2 = new MyTimedObjective( (MyTextsWrapperEnum.TWIN_TOWERS_HACKING_CONTINUE_Name), MyMissionID.TWIN_TOWERS_HACKING_CONTINUE, (MyTextsWrapperEnum.TWIN_TOWERS_HACKING_CONTINUE_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_JAMMER }, new TimeSpan(0, 1, 7) ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.TWIN_TOWERS_1300_hacking_done, HudName = MyTextsWrapperEnum.HudHacker }; m_hackerSubmission2.OnMissionSuccess += Hacker2SubmissionSuccess; m_hackerSubmission2.OnMissionLoaded += Hacker2SubmissionLoaded; m_hackerSubmission2.NotificationText = MyTextsWrapperEnum.CountdownHacker; m_objectives.Add(m_hackerSubmission2); var railgun01Submission = new MyObjectiveDestroy( (MyTextsWrapperEnum.TWIN_TOWERS_RAILGUN1_Name), MyMissionID.TWIN_TOWERS_RAILGUN1, (MyTextsWrapperEnum.TWIN_TOWERS_RAILGUN1_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_HACKING_CONTINUE }, new List<uint> { (uint) EntityID.Objective_Railgun1_Controls_01, (uint) EntityID.Objective_Railgun1_Controls_02 } ) { SuccessDialogId = MyDialogueEnum.TWIN_TOWERS_1400_clearing_first_control_room }; railgun01Submission.OnMissionSuccess += Railgun01SubmissionSuccess; m_objectives.Add(railgun01Submission); var railgun02Submission = new MyObjectiveDestroy( (MyTextsWrapperEnum.TWIN_TOWERS_RAILGUN2_Name), MyMissionID.TWIN_TOWERS_RAILGUN2, (MyTextsWrapperEnum.TWIN_TOWERS_RAILGUN2_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_RAILGUN1 }, new List<uint> { (uint) EntityID.Objective_Railgun2_Controls_01, (uint) EntityID.Objective_Railgun2_Controls_02, (uint) EntityID.Objective_Railgun2_Controls_03, (uint) EntityID.Objective_Railgun2_Controls_04 } ) { SaveOnSuccess = true }; railgun02Submission.OnMissionLoaded += Railgun02SubmissionLoaded; railgun02Submission.OnMissionSuccess += Railgun02SubmissionSuccess; m_objectives.Add(railgun02Submission); var rightBaseGoToSubmission = new MyObjective( (MyTextsWrapperEnum.TWIN_TOWERS_GOTO_RIGHT_Name), MyMissionID.TWIN_TOWERS_GOTO_RIGHT, (MyTextsWrapperEnum.TWIN_TOWERS_GOTO_RIGHT_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_RAILGUN2 }, new MyMissionLocation(baseSector, (uint) EntityID.Objective_RightBase) ) { StartDialogId = MyDialogueEnum.TWIN_TOWERS_1500_clearing_second_control_room, HudName = MyTextsWrapperEnum.HudTowerB }; rightBaseGoToSubmission.OnMissionSuccess += RightBaseGoToSubmissionSuccess; m_objectives.Add(rightBaseGoToSubmission); var rightBaseGeneratorSubmission = new MyObjectiveDestroy( (MyTextsWrapperEnum.TWIN_TOWERS_GENERATOR_Name), MyMissionID.TWIN_TOWERS_GENERATOR, (MyTextsWrapperEnum.TWIN_TOWERS_GENERATOR_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_GOTO_RIGHT }, new List<uint> { (uint) EntityID.Objective_Generator_Pipe1, (uint) EntityID.Objective_Generator_Pipe2 } ) { StartDialogId = MyDialogueEnum.TWIN_TOWERS_1600_in_tower_B, HudName = MyTextsWrapperEnum.HudGenerator }; rightBaseGeneratorSubmission.SaveOnSuccess = true; rightBaseGeneratorSubmission.OnMissionLoaded += RightBaseGeneratorSubmissionLoaded; rightBaseGeneratorSubmission.OnMissionSuccess += RightBaseGeneratorSubmissionSuccess; m_objectives.Add(rightBaseGeneratorSubmission); m_rightBaseCommandSubmission = new MyObjective( (MyTextsWrapperEnum.TWIN_TOWERS_COMMAND_Name), MyMissionID.TWIN_TOWERS_COMMAND, (MyTextsWrapperEnum.TWIN_TOWERS_COMMAND_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_GENERATOR }, null, new List<uint> { (uint) EntityID.Objective_Command_HUB } ) { StartDialogId = MyDialogueEnum.TWIN_TOWERS_1700_reactor_shut_down, SuccessDialogId = MyDialogueEnum.TWIN_TOWERS_1800_computer_hacked, HudName = MyTextsWrapperEnum.HudCommandCenter }; m_rightBaseCommandSubmission.OnMissionLoaded += RightBaseCommandSubmissionLoaded; m_rightBaseCommandSubmission.OnMissionSuccess += RightBaseCommandSubmissionSuccess; m_objectives.Add(m_rightBaseCommandSubmission); m_waitSubmission = new MyObjective( (MyTextsWrapperEnum.TWIN_TOWERS_WAIT_Name), MyMissionID.TWIN_TOWERS_WAIT, (MyTextsWrapperEnum.TWIN_TOWERS_WAIT_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_COMMAND }, null ) { SuccessDialogId = MyDialogueEnum.TWIN_TOWERS_1900_motherships_arrived }; m_waitSubmission.SaveOnSuccess = true; m_waitSubmission.OnMissionLoaded += WaitSubmissionLoaded; m_waitSubmission.OnMissionSuccess += WaitSubmissionSuccess; m_objectives.Add(m_waitSubmission); m_mothership1Submission = new MyObjectiveDestroy( (MyTextsWrapperEnum.TWIN_TOWERS_MOTHERSHIP1_Name), MyMissionID.TWIN_TOWERS_MOTHERSHIP1, (MyTextsWrapperEnum.TWIN_TOWERS_MOTHERSHIP1_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_WAIT }, new List<uint> { (uint)EntityID.Objective_Zeppelin1_Generator } ) { HudName = MyTextsWrapperEnum.HudGenerator }; m_mothership1Submission.SaveOnSuccess = true; m_mothership1Submission.Components.Add(new MySpawnpointWaves((uint)EntityID.Detector_Zeppelin_WW1_Hounds, 0, (uint)EntityID.Spawnpoint_Zeppelin_WW1_03_Hounds)); m_mothership1Submission.OnMissionLoaded += Mothership1SubmissionLoaded; m_mothership1Submission.OnMissionSuccess += Mothership1SubmissionSuccess; m_mothership1Submission.Components.Add(new MySpawnpointLimiter(m_WWZeppelinSpawns, 10)); m_objectives.Add(m_mothership1Submission); m_mothership1Submission2 = new MyObjectiveDestroy( (MyTextsWrapperEnum.TWIN_TOWERS_MOTHERSHIP1_V2_Name), MyMissionID.TWIN_TOWERS_MOTHERSHIP1_V2, (MyTextsWrapperEnum.TWIN_TOWERS_MOTHERSHIP1_V2_Description), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_MOTHERSHIP1 }, new List<uint> { (uint) EntityID.Objective_Zeppelin1_Battery1, (uint) EntityID.Objective_Zeppelin1_Battery2 } ) { StartDialogId = MyDialogueEnum.TWIN_TOWERS_2000_destroying_the_generator, SuccessDialogId = MyDialogueEnum.TWIN_TOWERS_2100_destroying_batteries, HudName = MyTextsWrapperEnum.HudBatteries }; m_mothership1Submission2.Components.Add(new MySpawnpointWaves((uint)EntityID.Detector_Zeppelin_WW1_Hounds, 0, (uint)EntityID.Spawnpoint_Zeppelin_WW1_03_Hounds)); m_mothership1Submission2.OnMissionLoaded += Mothership1Submission2Loaded; m_mothership1Submission2.OnMissionSuccess += Mothership1Submission2Success; m_mothership1Submission2.Components.Add(new MySpawnpointLimiter(m_WWZeppelinSpawns, 10)); m_objectives.Add(m_mothership1Submission2); /* var mothership2Submission = new MyObjective( new StringBuilder("Destroy the second mothership"), MyMissionID.TWIN_TOWERS_MOTHERSHIP2, new StringBuilder(""), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_MOTHERSHIP1_V2 }, new MyMissionLocation(baseSector, (uint)EntityID.Objective_Zeppelin2_Command) ); mothership2Submission.OnMissionLoaded += Mothership2SubmissionLoaded; mothership2Submission.OnMissionSuccess += Mothership2SubmissionSuccess; m_objectives.Add(mothership2Submission); */ /* var returnSubmission = new MyObjective( new StringBuilder("Return to Madelyn"), MyMissionID.TWIN_TOWERS_GOTO_MADELYN, new StringBuilder(""), null, this, new MyMissionID[] { MyMissionID.TWIN_TOWERS_MOTHERSHIP1_V2 }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR) ); m_objectives.Add(returnSubmission);*/ }
public MyEACTransmitterMission() { ID = MyMissionID.EAC_TRANSMITTER; DebugName = new StringBuilder("21-EAC transmitter"); Name = MyTextsWrapperEnum.EAC_TRANSMITTER; Description = MyTextsWrapperEnum.EAC_TRANSMITTER_Description; // "Set all 3 satellites to your needs.\n" Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(3818505, 0, -4273800); Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); RequiredMissions = new MyMissionID[] { MyMissionID.EAC_PRISON }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_MEETMS }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List<MyObjective>(); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringCargoWithRavens, 0, (uint)EntityID.SpawnpointAtInnerCargo)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringCargoWithRavens, 0, (uint)EntityID.SpawnpointAtOuterControlRoom1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringControlRoomFromOutside, 0, (uint)EntityID.SpawnpointAtControlRoom1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringControlRoomFromOutside, 0, (uint)EntityID.SpawnpointAtControlRoom2)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringSatelitteA, 0, (uint)EntityID.SpawnpointAtSatelitteA)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorWhenEscapingSatAThruDestroyedPanel, 0, (uint)EntityID.SpawnpointAtOuterSatelitteA)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorWhenEscapingSatAThruDestroyedPanel, 0, (uint)EntityID.SpawnpointAtControlRoom3)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorWhenEscapingSatAThruDestroyedPanel, 0, (uint)EntityID.SpawnpointAtControlRoom4)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeAgregat1, 0, (uint)EntityID.SpawnpointAtAgregat1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeAgregat2, 0, (uint)EntityID.SpawnpointAtAgregat2)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeAgregat3, 0, (uint)EntityID.SpawnpointAtAgregat3)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeHackingSatelitteBandC, 0, (uint)EntityID.SpawnpointAtSatelitteB)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeHackingSatelitteBandC, 0, (uint)EntityID.SpawnpointAtSatelitteC)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeStartingTransmission, 0, (uint)EntityID.SpawnpointAtControlRoom5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeStartingTransmission, 0, (uint)EntityID.SpawnpointAtControlRoom6)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeOpeningDoorToArm, 0, (uint)EntityID.SpawnpointAtArmEntrance)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringCargoThruArm, 0, (uint)EntityID.SpawnpointAtCargoInnerEntrance)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeFixingGenerator, 0, (uint)EntityID.SpawnpointAtGenerator)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeTurnBackOnSolars, 0, (uint)EntityID.SpawnpointAtSolarStarting)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeTurnBackOnSolars, 0, (uint)EntityID.SpawnpointAtControlRoom7)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeTurnBackOnSolars, 0, (uint)EntityID.SpawnpointAtControlRoom8)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeTurnBackOnSolars, 0, (uint)EntityID.SpawnpointAtOuterControlRoom2)); var openCargoDoor = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_OPEN_CARGO_DOOR), MyMissionID.EAC_TRANSMITTER_OPEN_CARGO, (MyTextsWrapperEnum.EAC_TRANSMITTER_OPEN_CARGO_DOOR_Description), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.DummyCargoBomb), MyTextsWrapperEnum.PressToPlaceBomb, MyTextsWrapperEnum.Blank, MyTextsWrapperEnum.PlacingBomb, 1000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_0100 ) { SaveOnSuccess = true }; m_objectives.Add(openCargoDoor); openCargoDoor.OnMissionLoaded += new MissionHandler(openCargoDoor_OnMissionLoaded); openCargoDoor.OnMissionSuccess += new MissionHandler(openCargoDoor_OnMissionSuccess); var enterControlRoom = new MyObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_CENTRAL_ROOM), MyMissionID.EAC_TRANSMITTER_CENTRAL_ROOM, (MyTextsWrapperEnum.EAC_TRANSMITTER_CENTRAL_ROOM_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_OPEN_CARGO }, new MyMissionLocation(baseSector, (uint)EntityID.DummyControlRoom), startDialogId: MyDialogueEnum.EAC_TRANSMITTER_0200 ) { HudName = MyTextsWrapperEnum.HudControlRoom, SaveOnSuccess = true }; enterControlRoom.OnMissionLoaded += new MissionHandler(enterControlRoom_OnMissionLoaded); enterControlRoom.OnMissionSuccess += new MissionHandler(enterControlRoom_OnMissionSuccess); m_objectives.Add(enterControlRoom); var unlockWayToSatelliteA = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITES), MyMissionID.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITE_A, (MyTextsWrapperEnum.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITES_Descrption), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_CENTRAL_ROOM }, null, new List<uint> { (int)EntityID.HubA }, new List<uint> { (int)EntityID.DoorHubA } ) { HudName = MyTextsWrapperEnum.HudHub, SaveOnSuccess = true }; m_objectives.Add(unlockWayToSatelliteA); var unlockWayToSatelliteB = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITES), MyMissionID.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITE_B, (MyTextsWrapperEnum.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITES_Descrption), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITE_A }, null, new List<uint> { (int)EntityID.HubB }, new List<uint> { (int)EntityID.DoorHubB1, (int)EntityID.DoorHubB2, (int)EntityID.DoorHubB3, (int)EntityID.DoorHubB4} ) { HudName = MyTextsWrapperEnum.HudHub, SaveOnSuccess = true }; m_objectives.Add(unlockWayToSatelliteB); var unlockWayToSatelliteC = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITES), MyMissionID.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITE_C, (MyTextsWrapperEnum.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITES_Descrption), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITE_B }, null, new List<uint> { (int)EntityID.HubC }, new List<uint> { (int)EntityID.DoorHubC1, (int)EntityID.DoorHubC2, (int)EntityID.DoorHubC3, (int)EntityID.DoorHubC4} ) { HudName = MyTextsWrapperEnum.HudHub, SaveOnSuccess = true }; m_objectives.Add(unlockWayToSatelliteC); var hackSatelliteA = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_HACK_SATELLITE_A), MyMissionID.EAC_TRANSMITTER_HACK_SATELLITE_A, (MyTextsWrapperEnum.EAC_TRANSMITTER_HACK_SATELLITE_A_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_UNLOCK_WAY_TO_SATELLITE_C }, new MyMissionLocation(baseSector, (uint)EntityID.DummySatelliteA), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.HackingProgress, MyTextsWrapperEnum.Hacking, 2000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_0300 ); m_objectives.Add(hackSatelliteA); var autodestructEscape = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_ESCAPE), MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_ESCAPE, (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_ESCAPE_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_HACK_SATELLITE_A }, new List<uint> { (uint)EntityID.PanelAutodestruct }, startDialogID: MyDialogueEnum.EAC_TRANSMITTER_0400 ) { HudName = MyTextsWrapperEnum.HudPanel}; autodestructEscape.OnMissionLoaded += new MissionHandler(autodestructEscape_OnMissionLoaded); m_objectives.Add(autodestructEscape); var autodestructHack = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HACK), MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HACK, (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HACK_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_ESCAPE }, new MyMissionLocation(baseSector, (uint)EntityID.DummyAutodestructHack), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.Hacking, MyTextsWrapperEnum.HackingProgress, 2000 ); m_objectives.Add(autodestructHack); //Escape by destroying panel upon your head var autodestructDestroy = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_DESTROY), MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_DESTROY, (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_DESTROY_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HACK }, new List<uint> { (uint)EntityID.PrefabAutodestruct1, (uint)EntityID.PrefabAutodestruct2 }, startDialogID: MyDialogueEnum.EAC_TRANSMITTER_0500 ) { SaveOnSuccess = true }; autodestructDestroy.OnMissionLoaded += new MissionHandler(autodestructDestroy_OnMissionLoaded); autodestructDestroy.OnMissionSuccess += new MissionHandler(autodestructDestroy_OnMissionSuccess); m_objectives.Add(autodestructDestroy); var autodestructHelp = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HELP), MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HELP, (MyTextsWrapperEnum.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HELP_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_DESTROY }, null, new List<uint> { (uint)EntityID.SpawnAutodestruct }, true, true, startDialogID: MyDialogueEnum.EAC_TRANSMITTER_0600, successDialogID: MyDialogueEnum.EAC_TRANSMITTER_0700 ) { SaveOnSuccess = true }; autodestructHelp.OnMissionSuccess += new MissionHandler(autodestructHelp_OnMissionSuccess); m_objectives.Add(autodestructHelp); var hackSatelliteB = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_HACK_SATELLITE_B), MyMissionID.EAC_TRANSMITTER_HACK_SATELLITE_B, (MyTextsWrapperEnum.EAC_TRANSMITTER_HACK_SATELLITE_B_Descrption), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_BLOCK_AUTODESTRUCT_HELP }, new MyMissionLocation(baseSector, (uint)EntityID.DummySatelliteB), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.HackingProgress, MyTextsWrapperEnum.Hacking, 2000 ) { SaveOnSuccess = true }; m_objectives.Add(hackSatelliteB); var hackSatelliteC = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_HACK_SATELLITE_C), MyMissionID.EAC_TRANSMITTER_HACK_SATELLITE_C, (MyTextsWrapperEnum.EAC_TRANSMITTER_HACK_SATELLITE_C_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_HACK_SATELLITE_B }, new MyMissionLocation(baseSector, (uint)EntityID.DummySatelliteC), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.HackingProgress, MyTextsWrapperEnum.Hacking, 2000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_0800 ) { SaveOnSuccess = true }; m_objectives.Add(hackSatelliteC); var startTransmittion = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_START_TRANSMISSION), MyMissionID.EAC_TRANSMITTER_START_TRANSMISSION, (MyTextsWrapperEnum.EAC_TRANSMITTER_START_TRANSMISSION_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_HACK_SATELLITE_C }, new MyMissionLocation(baseSector, (uint)EntityID.DummySatelliteD), MyTextsWrapperEnum.PressToStartTransmission, MyTextsWrapperEnum.StartingTransmission, MyTextsWrapperEnum.Transmission, 1000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_0900 ); m_objectives.Add(startTransmittion); var openSolarArm = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.EAC_TRANSMITTER_OPEN_SOLAR_ARM), MyMissionID.EAC_TRANSMITTER_OPEN_SOLAR_ARM, (MyTextsWrapperEnum.EAC_TRANSMITTER_OPEN_SOLAR_ARM_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_START_TRANSMISSION }, null, new List<uint> { (int)EntityID.HubSolarArm }, new List<uint> { (int)EntityID.DoorSolarArm }, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_1000 ) { HudName = MyTextsWrapperEnum.HudHub, SaveOnSuccess = true }; openSolarArm.OnMissionLoaded += new MissionHandler(openSolarArm_OnMissionLoaded); m_objectives.Add(openSolarArm); var findRepairKit = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_FIND_REPAIR), MyMissionID.EAC_TRANSMITTER_FIND_REPAIR, (MyTextsWrapperEnum.EAC_TRANSMITTER_FIND_REPAIR_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_OPEN_SOLAR_ARM }, new MyMissionLocation(baseSector, (uint)EntityID.CargoRepair), MyTextsWrapperEnum.PressToTakeCargo, MyTextsWrapperEnum.TakeAll, MyTextsWrapperEnum.TakingInProgress, 2000, radiusOverride: 50 ) { HudName = MyTextsWrapperEnum.HudGeneratorRepairKit, SaveOnSuccess = true }; findRepairKit.OnMissionLoaded += new MissionHandler(findRepairKit_OnMissionLoaded); findRepairKit.OnMissionSuccess += new MissionHandler(findRepairKit_OnMissionSuccess); m_objectives.Add(findRepairKit); var fixGenerator = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_FIX_GENERATOR), MyMissionID.EAC_TRANSMITTER_FIX_GENERATOR, (MyTextsWrapperEnum.EAC_TRANSMITTER_FIX_GENERATOR_Descrpition), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_FIND_REPAIR }, new MyMissionLocation(baseSector, (uint)EntityID.DummyGeneratorFix), MyTextsWrapperEnum.PressToStartGenerator, MyTextsWrapperEnum.StartingProgress, MyTextsWrapperEnum.StartingProgress, 2000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_1100 ) { SaveOnSuccess = true }; fixGenerator.OnMissionSuccess += new MissionHandler(fixGenerator_OnMissionSuccess); m_objectives.Add(fixGenerator); var activateSolarpanels = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_ACTIVATE_SOLARPANELS), MyMissionID.EAC_TRANSMITTER_ACTIVATE_SOLARPANELS, (MyTextsWrapperEnum.EAC_TRANSMITTER_ACTIVATE_SOLARPANELS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_FIX_GENERATOR }, new MyMissionLocation(baseSector, (uint)EntityID.DummySolarCircuit), MyTextsWrapperEnum.PressToRedirectEnergy, MyTextsWrapperEnum.RedirectEnergy, MyTextsWrapperEnum.RedirectionInProgress, 2000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_1200 ); m_objectives.Add(activateSolarpanels); var restartTransmition = new MyUseObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_RESTART_TRANSMISSION), MyMissionID.EAC_TRANSMITTER_RESTART_TRANSMISSION, (MyTextsWrapperEnum.EAC_TRANSMITTER_RESTART_TRANSMISSION_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_ACTIVATE_SOLARPANELS }, new MyMissionLocation(baseSector, (uint)EntityID.DummySatelliteD), MyTextsWrapperEnum.PressToStartTransmission, MyTextsWrapperEnum.StartingTransmission, MyTextsWrapperEnum.Transmission, 2000, startDialogId: MyDialogueEnum.EAC_TRANSMITTER_1300 ) { SaveOnSuccess = true }; m_objectives.Add(restartTransmition); var meetms = new MyObjective( (MyTextsWrapperEnum.EAC_TRANSMITTER_MEETMS), MyMissionID.EAC_TRANSMITTER_MEETMS, (MyTextsWrapperEnum.EAC_TRANSMITTER_MEETMS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_TRANSMITTER_RESTART_TRANSMISSION }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), startDialogId: MyDialogueEnum.EAC_TRANSMITTER_1400, radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { HudName = MyTextsWrapperEnum.HudMadelynsSapho }; m_objectives.Add(meetms); }
public MyResearchVesselMission() { ID = MyMissionID.RESEARCH_VESSEL; DebugName = new StringBuilder("12-Eurydice/Osaka"); Name = MyTextsWrapperEnum.RESEARCH_VESSEL; Description = MyTextsWrapperEnum.RESEARCH_VESSEL_Description; Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(4189723, 0, -2201402); Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); RequiredMissions = new MyMissionID[] { MyMissionID.RIME_CONVINCE }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_TAKE_FOURTH }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; #region Objectives m_objectives = new List<MyObjective>(); var introDialogue = new MyObjectiveDialog( MyMissionID.RESEARCH_VESSEL_INTRO, null, this, new MyMissionID[] { }, MyDialogueEnum.RESEARCH_VESSEL_0100_INTRO ) { SaveOnSuccess = true }; m_objectives.Add(introDialogue); var reachShip = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_REACH_SHIP, MyMissionID.RESEARCH_VESSEL_REACH_SHIP, MyTextsWrapperEnum.RESEARCH_VESSEL_REACH_SHIP_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_INTRO }, new MyMissionLocation(baseSector, (uint)EntityID.DummyReachShip) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudEurydice }; reachShip.OnMissionSuccess += new MissionHandler(ReachShip_Success); m_objectives.Add(reachShip); var checkCargo = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_CARGO, MyMissionID.RESEARCH_VESSEL_CHECK_CARGO, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_CARGO_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_REACH_SHIP }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_1) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudContainer }; m_objectives.Add(checkCargo); var checkCommandRoom = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_COMMAND_ROOM, MyMissionID.RESEARCH_VESSEL_CHECK_COMMAND_ROOM, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_COMMAND_ROOM_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_CARGO }, new MyMissionLocation(baseSector, (uint)EntityID.DummyNearHub1) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudCommandRoom }; checkCommandRoom.OnMissionLoaded += new MissionHandler(checkCommandRoom_OnMissionLoaded); m_objectives.Add(checkCommandRoom); var unlockFirstCargo = new MyObjectiveEnablePrefabs( MyTextsWrapperEnum.RESEARCH_VESSEL_USE_HUB_1, MyMissionID.RESEARCH_VESSEL_USE_HUB_1, MyTextsWrapperEnum.RESEARCH_VESSEL_USE_HUB_1_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_COMMAND_ROOM }, null, new List<uint> { (uint)EntityID.Hub1 }, new List<uint> { (uint)EntityID.Door1 } ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHub }; m_objectives.Add(unlockFirstCargo); var checkLaboratory = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_LABORATORY, MyMissionID.RESEARCH_VESSEL_CHECK_LABORATORY, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_LABORATORY_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_USE_HUB_1 }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_14) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudLab }; m_objectives.Add(checkLaboratory); var takeFirstParts = new MyUseObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_FIRST, MyMissionID.RESEARCH_VESSEL_TAKE_FIRST, MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_FIRST_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_LABORATORY }, new MyMissionLocation(baseSector, (uint)EntityID.Cargo3), MyTextsWrapperEnum.PressToTakeComponent, MyTextsWrapperEnum.Component, MyTextsWrapperEnum.TakingInProgress, 1000, MyUseObjectiveType.Activating, radiusOverride: 50 ) { SaveOnSuccess = true }; takeFirstParts.OnMissionSuccess += TakeFirstParts_Success; m_objectives.Add(takeFirstParts); var checkWarehouse = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_WAREHOUSE, MyMissionID.RESEARCH_VESSEL_CHECK_WAREHOUSE, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_WAREHOUSE_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_TAKE_FIRST }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_4) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudWarehouse }; m_objectives.Add(checkWarehouse); var checkDrillMachineRoom = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_DRILL_ROOM, MyMissionID.RESEARCH_VESSEL_CHECK_DRILL_ROOM, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_DRILL_ROOM_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_WAREHOUSE }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_5) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudDrillRoom }; checkDrillMachineRoom.OnMissionSuccess += new MissionHandler(checkDrillMachineRoom_OnMissionSuccess); m_objectives.Add(checkDrillMachineRoom); var checkFirstHangar = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_FIRST_HANGAR, MyMissionID.RESEARCH_VESSEL_CHECK_FIRST_HANGAR, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_FIRST_HANGAR_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_DRILL_ROOM }, new MyMissionLocation(baseSector, (uint)EntityID.DummyNearHub2) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHangar }; m_objectives.Add(checkFirstHangar); var takeSecondParts = new MyUseObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_SECOND, MyMissionID.RESEARCH_VESSEL_TAKE_SECOND, MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_SECOND_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_FIRST_HANGAR }, new MyMissionLocation(baseSector, (uint)EntityID.Cargo4), MyTextsWrapperEnum.PressToTakeComponent, MyTextsWrapperEnum.Component, MyTextsWrapperEnum.TakingInProgress, 1000, MyUseObjectiveType.Activating, radiusOverride: 50 ) { SaveOnSuccess = true }; takeSecondParts.OnMissionSuccess += TakeSecondParts_Success; m_objectives.Add(takeSecondParts); var useHub2 = new MyObjectiveEnablePrefabs( MyTextsWrapperEnum.RESEARCH_VESSEL_USE_HUB_2, MyMissionID.RESEARCH_VESSEL_USE_HUB_2, MyTextsWrapperEnum.RESEARCH_VESSEL_USE_HUB_2_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_TAKE_SECOND }, null, new List<uint> { (uint)EntityID.Hub2 }, new List<uint> { (uint)EntityID.Door2 } ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHub }; m_objectives.Add(useHub2); var checkSecondHangar = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_SECOND_HANGAR, MyMissionID.RESEARCH_VESSEL_CHECK_SECOND_HANGAR, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_SECOND_HANGAR_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_USE_HUB_2 }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_7) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHangar }; m_objectives.Add(checkSecondHangar); var checkThirdHangar = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_THIRD_HANGAR, MyMissionID.RESEARCH_VESSEL_CHECK_THIRD_HANGAR, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_THIRD_HANGAR_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_SECOND_HANGAR }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_8) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHangar }; m_objectives.Add(checkThirdHangar); var checkSecondWarehouse = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_SECOND_WAREHOUSE, MyMissionID.RESEARCH_VESSEL_CHECK_SECOND_WAREHOUSE, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_SECOND_WAREHOUSE_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_THIRD_HANGAR }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_9) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudWarehouse }; m_objectives.Add(checkSecondWarehouse); var checkGenerator = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_GENERATOR, MyMissionID.RESEARCH_VESSEL_CHECK_GENERATOR, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_GENERATOR_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_SECOND_WAREHOUSE }, new MyMissionLocation(baseSector, (uint)EntityID.DummyNearHub3) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudGeneratorRoom }; m_objectives.Add(checkGenerator); var useHub3 = new MyObjectiveEnablePrefabs( MyTextsWrapperEnum.RESEARCH_VESSEL_USE_HUB_3, MyMissionID.RESEARCH_VESSEL_USE_HUB_3, MyTextsWrapperEnum.RESEARCH_VESSEL_USE_HUB_3_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_GENERATOR }, null, new List<uint> { (uint)EntityID.Hub3 }, new List<uint> { (uint)EntityID.Door3 } ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHub }; useHub3.OnMissionSuccess += new MissionHandler(UseHub3_Success); m_objectives.Add(useHub3); var takeThridProbe = new MyUseObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_THIRD, MyMissionID.RESEARCH_VESSEL_TAKE_THIRD, MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_THIRD_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_USE_HUB_3 }, new MyMissionLocation(baseSector, (uint)EntityID.Cargo2), MyTextsWrapperEnum.PressToTakeComponent, MyTextsWrapperEnum.Component, MyTextsWrapperEnum.TakingInProgress, 1000, MyUseObjectiveType.Activating, radiusOverride: 50 ) { SaveOnSuccess = true }; takeThridProbe.OnMissionSuccess += TakeThirdParts_Success; m_objectives.Add(takeThridProbe); var takeThridProbeDialogue = new MyObjectiveDialog( MyTextsWrapperEnum.Null, MyMissionID.RESEARCH_VESSEL_TAKE_THIRD_DIALOGUE, MyTextsWrapperEnum.Null, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_TAKE_THIRD }, MyDialogueEnum.RESEARCH_VESSEL_0700_THIRDPARTS); m_objectives.Add(takeThridProbeDialogue); var checkCargoAgain = new MyObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_CARGO_AGAIN, MyMissionID.RESEARCH_VESSEL_CHECK_CARGO_AGAIN, MyTextsWrapperEnum.RESEARCH_VESSEL_CHECK_CARGO_AGAIN_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_TAKE_THIRD_DIALOGUE }, new MyMissionLocation(baseSector, (uint)EntityID.checkpoint_1) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudContainer }; checkCargoAgain.OnMissionSuccess += new MissionHandler(CheckCargoAgain_Success); m_objectives.Add(checkCargoAgain); var takeFourthParts = new MyUseObjective( MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_FOURTH, MyMissionID.RESEARCH_VESSEL_TAKE_FOURTH, MyTextsWrapperEnum.RESEARCH_VESSEL_TAKE_FOURTH_Description, null, this, new MyMissionID[] { MyMissionID.RESEARCH_VESSEL_CHECK_CARGO_AGAIN }, new MyMissionLocation(baseSector, (uint)EntityID.Cargo1), MyTextsWrapperEnum.PressToTakeComponent, MyTextsWrapperEnum.Component, MyTextsWrapperEnum.TakingInProgress, 1000, MyUseObjectiveType.Activating, radiusOverride: 50 ) { SaveOnSuccess = false }; takeFourthParts.OnMissionSuccess += TakeFourthParts_Success; m_objectives.Add(takeFourthParts); #endregion }
public MyJunkyardEACAmbushMission() { ID = MyMissionID.JUNKYARD_EAC_AMBUSH; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("13-EAC ambush"); // Name of mission Name = MyTextsWrapperEnum.JUNKYARD_EAC_AMBUSH; Description = MyTextsWrapperEnum.JUNKYARD_EAC_AMBUSH_Description; Flags = MyMissionFlags.Story; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.MARCUS, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; MyMwcVector3Int baseSector = new MyMwcVector3Int(2567538, 0, -172727); // Story sector of the script - i.e. (-2465,0,6541) Location = new MyMissionLocation(baseSector, (uint)EntityID.PlayerStart); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.RESEARCH_VESSEL }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_DEFEND_MADELYN }; Components.Add(new MySpawnpointLimiter(m_spawns, 7)); #region Objectives m_objectives = new List<MyObjective>(); // Creating of list of submissions var flyToManjeet = new MyMeetObjective( MyTextsWrapperEnum.EAC_AMBUSH_FLY_TO_MANJEET, MyMissionID.JUNKYARD_EAC_AMBUSH_FLY_MANJEET, MyTextsWrapperEnum.EAC_AMBUSH_FLY_TO_MANJEET_DESC, this, new MyMissionID[] { }, null, (uint)EntityID.FlyToManjeet, 100, 0.25f, null, MyDialogueEnum.EAC_AMBUSH_0100_INTRO ) { SaveOnSuccess = false, FollowMe = false }; flyToManjeet.OnMissionLoaded += FlyToManjeet_Loaded; m_objectives.Add(flyToManjeet); var speakToManjeet = new MyObjectiveDialog( MyMissionID.JUNKYARD_EAC_AMBUSH_TALK_RANIJT, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_FLY_MANJEET }, MyDialogueEnum.EAC_AMBUSH_0200_MANJEET ) { SaveOnSuccess = false }; speakToManjeet.OnMissionLoaded += SpeakToManjeet_Loaded; m_objectives.Add(speakToManjeet); m_backToMadelyn = new MyObjective( MyTextsWrapperEnum.EAC_AMBUSH_GO_BACK_TO_MADELYN, MyMissionID.JUNKYARD_EAC_AMBUSH_GO_BACK_TO_MADELYN, MyTextsWrapperEnum.EAC_AMBUSH_GO_BACK_TO_MADELYN_DESC, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_TALK_RANIJT }, new MyMissionLocation(baseSector, (uint)EntityID.GoBackToMadelyn), startDialogId: MyDialogueEnum.EAC_AMBUSH_0300_GUYS_HURRY_UP ) { HudName = MyTextsWrapperEnum.Nothing }; m_backToMadelyn.OnMissionLoaded += BackToMadelyn_Loaded; m_objectives.Add(m_backToMadelyn); m_speakWithPolice = new MyObjective( MyTextsWrapperEnum.Null, MyMissionID.JUNKYARD_EAC_AMBUSH_SPEAK_POLICE, MyTextsWrapperEnum.Null, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_GO_BACK_TO_MADELYN }, null ); m_speakWithPolice.OnMissionLoaded += SpeakWithPolice_Loaded; m_objectives.Add(m_speakWithPolice); m_defendMadelyn = new MyObjectiveDialog( MyTextsWrapperEnum.EAC_AMBUSH_DEFEND_MADELYN1, MyMissionID.JUNKYARD_EAC_AMBUSH_DEFEND_MADELYN_1, MyTextsWrapperEnum.EAC_AMBUSH_DEFEND_MADELYN1_DESC, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_SPEAK_POLICE }, MyDialogueEnum.EAC_AMBUSH_0500_ONE_LITTLE_ISSUE ) { SaveOnSuccess = true }; m_defendMadelyn.OnMissionLoaded += DefendMadelyn_Loaded; m_objectives.Add(m_defendMadelyn); var destroyGenerator = new MyObjectiveDestroy( MyTextsWrapperEnum.EAC_AMBUSH_DESTROY_GENERATOR, MyMissionID.JUNKYARD_EAC_AMBUSH_DESTROY_GENERATOR, MyTextsWrapperEnum.EAC_AMBUSH_DESTROY_GENERATOR_DESC, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_DEFEND_MADELYN_1 }, new List<uint> { (uint)EntityID.DestroyGenerator} ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_AMBUSH_0700_SPLIT_TO_DESTROY_GENERATORS, HudName = MyTextsWrapperEnum.HudDisruptor }; destroyGenerator.OnMissionLoaded += DestroyGenerator_Loaded; destroyGenerator.OnMissionSuccess += DestroyGenerator_Success; m_objectives.Add(destroyGenerator); var returnToMadelyn = new MyTimedReachLocationObjective( MyTextsWrapperEnum.EAC_AMBUSH_RETURN_TO_MADELYN, MyMissionID.JUNKYARD_EAC_AMBUSH_RETUR_TO_MADELYN, MyTextsWrapperEnum.EAC_AMBUSH_RETURN_TO_MADELYN_DESC, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_DESTROY_GENERATOR }, new TimeSpan(0, 0, 45), new MyMissionLocation(baseSector, (uint)EntityID.ReturnToMadelyn) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_AMBUSH_1000, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; returnToMadelyn.OnMissionLoaded += ReturnToMadelyn_Loaded; m_objectives.Add(returnToMadelyn); m_defendMadelyn2 = new MyObjective( MyTextsWrapperEnum.EAC_AMBUSH_DEFEND_MADELYN2, MyMissionID.JUNKYARD_EAC_AMBUSH_DEFEND_MADELYN, MyTextsWrapperEnum.EAC_AMBUSH_DEFEND_MADELYN2_DESC, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_EAC_AMBUSH_RETUR_TO_MADELYN }, null ) { StartDialogId = MyDialogueEnum.EAC_AMBUSH_1200_1300 }; m_defendMadelyn2.OnMissionLoaded += DefendMadelyn2_Loaded; m_defendMadelyn2.OnMissionUpdate += DefendMadelyn2_Update; m_objectives.Add(m_defendMadelyn2); #endregion }
public MyRussianTransmitterMission() { ID = MyMissionID.RUSSIAN_TRANSMITTER; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("17-RUF transmitter"); Name = MyTextsWrapperEnum.RUSSIAN_TRANSMITTER; Description = MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_Description; Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-4988032, 0, -865747); // Story sector of the script - i.e. (-2465,0,6541) Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.CHINESE_TRANSMITTER }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_BACK_TO_MADELYN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; #region Objectives m_objectives = new List <MyObjective>(); // Creating of list of submissions var introDialogue = new MyObjectiveDialog( MyMissionID.RUSSIAN_TRANSMITTER_INTRO_DIALOGUE, null, this, new MyMissionID[] { }, MyDialogueEnum.RUSSIAN_TRANSMITTER_0100_INTRO); m_objectives.Add(introDialogue); // START OF REACH OBJECTIVE SUBMISSION DEFINITION var reachSideEntrance = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_REACH_SIDE_ENTRANCE, // Name of the submission MyMissionID.RUSSIAN_TRANSMITTER_REACH_SIDE_ENTRANCE, // ID of the submission - must be added to MyMissions.cs MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_REACH_SIDE_ENTRANCE_Description, // Description of the submission null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_INTRO_DIALOGUE }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.OutpostSideEntrance) // ID of dummy point of checkpoint ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudEntrance }; // False means do not save game in that checkpoint m_objectives.Add(reachSideEntrance); // Adding this submission to the list of submissions of current mission // END OF REACH OBJECTIVE SUBMISSION DEFINITION var enterTheBase = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_ENTER_THE_BASE, MyMissionID.RUSSIAN_TRANSMITTER_ENTER_THE_BASE, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_ENTER_THE_BASE_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_REACH_SIDE_ENTRANCE }, new MyMissionLocation(baseSector, (uint)EntityID.EnterTheBase) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudEntrance }; enterTheBase.OnMissionLoaded += new MissionHandler(enterTheBase_OnMissionLoaded); enterTheBase.OnMissionSuccess += new MissionHandler(enterTheBase_OnMissionSuccess); m_objectives.Add(enterTheBase); var findFrequency = new MyUseObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_FIND_FREQUENCY, MyMissionID.RUSSIAN_TRANSMITTER_FIND_FREQUENCY, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_FIND_FREQUENCY_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_ENTER_THE_BASE }, new MyMissionLocation(baseSector, (uint)EntityID.SabotageTurrets_1), MyTextsWrapperEnum.PressToDownloadData, MyTextsWrapperEnum.SecurityControlHUB, MyTextsWrapperEnum.DownloadingData, 10000, MyUseObjectiveType.Hacking ) { SaveOnSuccess = false }; findFrequency.OnMissionLoaded += new MissionHandler(findFrequency_OnMissionLoaded); findFrequency.OnMissionSuccess += FindFrequency_Success; m_objectives.Add(findFrequency); m_strangerContact = new MyObjectiveDialog( MyTextsWrapperEnum.Null, MyMissionID.RUSSIAN_TRANSMITTER_STRANGER_CONTACT, MyTextsWrapperEnum.Null, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_FIND_FREQUENCY }, MyDialogueEnum.RUSSIAN_TRANSMITTER_0500_0600_HACKPROBLEM_STRANGERCALLS ); m_objectives.Add(m_strangerContact); var meetStranger = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_MEET_STRANGER, MyMissionID.RUSSIAN_TRANSMITTER_MEET_STRANGER, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_MEET_STRANGER_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_STRANGER_CONTACT }, new MyMissionLocation(baseSector, (uint)EntityID.ShipVolodia), radiusOverride: 90f ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudStranger }; meetStranger.OnMissionLoaded += MeetStranger_Loaded; meetStranger.OnMissionSuccess += MeetStranger_Success; m_objectives.Add(meetStranger); var reachWarehouse = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_REACH_WAREHOUSE, MyMissionID.RUSSIAN_TRANSMITTER_REACH_WAREHOUSE, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_REACH_WAREHOUSE_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_MEET_STRANGER }, new MyMissionLocation(baseSector, (uint)EntityID.ReachWarehouse) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudWarehouse }; reachWarehouse.OnMissionLoaded += new MissionHandler(ReachWarehouse_Loaded); m_objectives.Add(reachWarehouse); var stealMilitarySupply = new MyUseObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_STEAL_MILITARY_SUPPLY, MyMissionID.RUSSIAN_TRANSMITTER_STEAL_MILITARY_SUPPLY, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_STEAL_MILITARY_SUPPLY_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_REACH_WAREHOUSE }, new MyMissionLocation(baseSector, (uint)EntityID.StealMilitarySupply), MyTextsWrapperEnum.PressToTakeCargo, MyTextsWrapperEnum.CargoBox, MyTextsWrapperEnum.TakingInProgress, 1000, MyUseObjectiveType.Activating ) { SaveOnSuccess = false }; stealMilitarySupply.OnMissionSuccess += new MissionHandler(StealMilitarySupply_Success); m_objectives.Add(stealMilitarySupply); m_tradeWithVolodia = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_TRADE_WITH_VOLODIA, MyMissionID.RUSSIAN_TRANSMITTER_TRADE_WITH_VOLODIA, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_TRADE_WITH_VOLODIA_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_STEAL_MILITARY_SUPPLY }, new MyMissionLocation(baseSector, (uint)EntityID.ShipVolodia), radiusOverride: 90 ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.RUSSIAN_TRANSMITTER_1000_VOLODIA_FOUND, HudName = MyTextsWrapperEnum.Volodia }; m_tradeWithVolodia.OnMissionSuccess += TradeWithVolodia_Success; m_objectives.Add(m_tradeWithVolodia); m_fightRussianCommando = new MyObjectiveDestroy( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_FIGHT_RUSSIAN_COMMANDO, MyMissionID.RUSSIAN_TRANSMITTER_FIGHT_RUSSIAN_COMMANDO, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_FIGHT_RUSSIAN_COMMANDO_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_TRADE_WITH_VOLODIA }, //new List<uint> { (uint)EntityID.MothershipEntity }, new List <uint> { }, new List <uint> { (uint)EntityID.CommandoSpawnPoint }, false ) { SaveOnSuccess = false, SuccessDialogId = MyDialogueEnum.RUSSIAN_TRANSMITTER_1400_RETREAT, HudName = MyTextsWrapperEnum.Nothing }; m_fightRussianCommando.OnMissionLoaded += RussianCommandoLoaded; m_fightRussianCommando.OnMissionSuccess += new MissionHandler(FightRussianCommando_Success); m_objectives.Add(m_fightRussianCommando); var backToTransmitter = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_BACK_TO_TRANSMITTER, MyMissionID.RUSSIAN_TRANSMITTER_BACK_TO_TRANSMITTER, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_BACK_TO_TRANSMITTER_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_FIGHT_RUSSIAN_COMMANDO }, // prerekvizita - OPRAVIT na survive!!! new MyMissionLocation(baseSector, (uint)EntityID.BackToTransmitter) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudTransmitter }; backToTransmitter.OnMissionLoaded += new MissionHandler(BackToTransmitter_Loaded); m_objectives.Add(backToTransmitter); var decryptFrequency = new MyUseObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_DECRYPT_FREQUENCY, MyMissionID.RUSSIAN_TRANSMITTER_DECRYPT_FREQUENCY, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_DECRYPT_FREQUENCY_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_BACK_TO_TRANSMITTER }, new MyMissionLocation(baseSector, (uint)EntityID.SabotageTurrets_1), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.SecurityControlHUB, MyTextsWrapperEnum.HackingProgress, 5000, MyUseObjectiveType.Hacking ) { SaveOnSuccess = false, SuccessDialogId = MyDialogueEnum.RUSSIAN_TRANSMITTER_1600_ITSWORKING }; m_objectives.Add(decryptFrequency); var uploadData = new MyUseObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_UPLOAD_DATA, MyMissionID.RUSSIAN_TRANSMITTER_UPLOAD_DATA, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_UPLOAD_DATA_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_DECRYPT_FREQUENCY }, new MyMissionLocation(baseSector, (uint)EntityID.SabotageTurrets_3), MyTextsWrapperEnum.PressToHack, MyTextsWrapperEnum.SecurityControlHUB, MyTextsWrapperEnum.HackingProgress, 5000 ) { SaveOnSuccess = false, SuccessDialogId = MyDialogueEnum.RUSSIAN_TRANSMITTER_1700_UPLOADINGSIGNAL }; m_objectives.Add(uploadData); var findMainRoomEntrance = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_FIND_MAIN_ROOM_ENTRANCE, MyMissionID.RUSSIAN_TRANSMITTER_FIND_MAIN_ROOM_ENTRANCE, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_FIND_MAIN_ROOM_ENTRANCE_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_UPLOAD_DATA }, new MyMissionLocation(baseSector, (uint)EntityID.FindMainRoomEntrance) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudEntrance }; findMainRoomEntrance.OnMissionLoaded += new MissionHandler(findMainRoomEntrance_Loaded); m_objectives.Add(findMainRoomEntrance); var placeDeviceOnTransmitter = new MyUseObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_PLACE_DEVICE_ON_TRANSMITTER, MyMissionID.RUSSIAN_TRANSMITTER_PLACE_DEVICE_ON_TRANSMITTER, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_PLACE_DEVICE_ON_TRANSMITTER_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_FIND_MAIN_ROOM_ENTRANCE }, new MyMissionLocation(baseSector, (uint)EntityID.PlaceDeviceOnTransmitter), MyTextsWrapperEnum.PressToPlaceDevice, MyTextsWrapperEnum.Transmitter, MyTextsWrapperEnum.PlacementInProgress, 10000, MyUseObjectiveType.Building ) { SaveOnSuccess = false }; placeDeviceOnTransmitter.OnMissionSuccess += new MissionHandler(PlaceDeviceOnTransmitter_Success); m_objectives.Add(placeDeviceOnTransmitter); var openDoors = new MyObjectiveEnablePrefabs( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_OPEN_DOORS, MyMissionID.RUSSIAN_TRANSMITTER_OPEN_DOORS, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_OPEN_DOORS_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_PLACE_DEVICE_ON_TRANSMITTER }, null, new List <uint> { (uint)EntityID.Hub3 }, new List <uint> { (uint)EntityID.Door1, (uint)EntityID.Door2, (uint)EntityID.Door3, (uint)EntityID.Door4, } ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHub }; openDoors.OnMissionSuccess += new MissionHandler(OpenDoors_Success); m_objectives.Add(openDoors); var backToMadelyn = new MyObjective( MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_BACK_TO_MADELYN, MyMissionID.RUSSIAN_TRANSMITTER_BACK_TO_MADELYN, MyTextsWrapperEnum.RUSSIAN_TRANSMITTER_BACK_TO_MADELYN_Description, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER_OPEN_DOORS }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; backToMadelyn.OnMissionSuccess += new MissionHandler(BackToMadelyn_Success); m_objectives.Add(backToMadelyn); #endregion }
public MyFortValiantMissionB() : base() { ID = MyMissionID.FORT_VALIANT_B; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("09c-Fort Valiant B"); // Name of mission Name = MyTextsWrapperEnum.FORT_VALIANT_B; Description = MyTextsWrapperEnum.FORT_VALIANT_B_Description; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.MARCUS, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; RequiredMissions = new MyMissionID[] { MyMissionID.SLAVER_BASE_1 }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.FORT_VALIANT_B_VISIT_VENDOR }; m_objectives = new List<MyObjective>(); // Creating of list of submissions var flyOne = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_B_FLY_ONE_Name), MyMissionID.FORT_VALIANT_B_FLY_ONE, (MyTextsWrapperEnum.FORT_VALIANT_B_FLY_ONE_Description), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.DetecorGateKeeper), null, null, MyDialogueEnum.FORT_VALIANT_B_0100) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudFortValiant }; m_objectives.Add(flyOne); /* var speakGateKeeper = new MyMeetObjective( new StringBuilder("Reach the gate of Fort Valiant"), MyMissionID.FORT_VALIANT_B_SPEAK_GATE_KEEPER, new StringBuilder(""), this, new MyMissionID[] { MyMissionID.FORT_VALIANT_FLY_ONE }, (uint)EntityID.DetecorGateKeeper, (uint)EntityID.GateKeeper, 25, 0.25f, dialog3, dialog2 ) { SaveOnSuccess = true }; m_objectives.Add(speakGateKeeper); */ var speakCaptain = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_B_MEET_CAPTAIN_Name), MyMissionID.FORT_VALIANT_B_MEET_CAPTAIN, (MyTextsWrapperEnum.FORT_VALIANT_B_MEET_CAPTAIN_Description), this, new MyMissionID[] { MyMissionID.FORT_VALIANT_B_FLY_ONE }, (uint)EntityID.DetectorCaptain, (uint)EntityID.Captain, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_B_0200, null, false ) { SaveOnSuccess = true, FollowMe = false}; m_objectives.Add(speakCaptain); speakCaptain.OnMissionSuccess += SpeakCaptainOnOnMissionSuccess; m_visitVendor = new MyObjectiveEnterInventory( (MyTextsWrapperEnum.FORT_VALIANT_B_VISIT_VENDOR_Name), MyMissionID.FORT_VALIANT_B_VISIT_VENDOR, (MyTextsWrapperEnum.FORT_VALIANT_B_VISIT_VENDOR_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_B_MEET_CAPTAIN }, (uint)EntityID.VendorB, null, null ); m_objectives.Add(m_visitVendor); m_visitVendor.OnMissionLoaded += MVisitVendorOnOnMissionLoaded; /* var flyToMadelyn = new MyObjective( new StringBuilder("Meet your mothership close to the Templar cargo bay"), MyMissionID.FORT_VALIANT_B_FLY_BACK_MADELYN, new StringBuilder(""), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_B_VISIT_VENDOR }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR) ); m_objectives.Add(flyToMadelyn); */ }
public MyWhiteWolvesResearchMission() { ID = MyMissionID.NAZI_BIO_LAB; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("18b-White Wolves bio research lab"); Name = MyTextsWrapperEnum.NAZI_BIO_LAB; Description = MyTextsWrapperEnum.NAZI_BIO_LAB_Description; Flags = MyMissionFlags.Story; AchievementName = MySteamAchievementNames.Mission26_BioResearch; /* sector where the mission is located */ Location = new MyMissionLocation(BaseSector, (uint)EntityID.TargetUse01); // Posledne cislo - ID dummy pointu kde prijimam misiu (v tomto pripade tiez 'player start') RequiredMissions = new MyMissionID[] { MyMissionID.REICHSTAG_A }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.NAZI_BIO_LAB_REACH_MEETING_POINT }; RequiredActors = new MyActorEnum[] { MyActorEnum.TARJA, MyActorEnum.VALENTIN, MyActorEnum.MADELYN }; m_objectives = new List <MyObjective>(); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeGetOut, 0, (uint)EntityID.SpawnpointAtGettingOut1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeGetOut, 0, (uint)EntityID.SpawnpointAtGettingOut2)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeGetOut, 0, (uint)EntityID.SpawnpointAtGettingOut3)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeGetOut, 0, (uint)EntityID.SpawnpointAtGettingOut4)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringWarehouseAtHigh, 0, (uint)EntityID.SpawnpointAtWarehouse1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringWarehouseAtHigh, 0, (uint)EntityID.SpawnpointAtWarehouse2)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringWarehouseAtLow, 0, (uint)EntityID.SpawnpointUponWarehouse)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringBlueprintLocation, 0, (uint)EntityID.SpawnpointAtBlueprintLocation)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringMainConnectionRoom, 0, (uint)EntityID.SpawnpointAtConnectionRoom1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringMainConnectionRoom, 0, (uint)EntityID.SpawnpointAtConnectionRoom2)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringBioBrainsCircularRoom, 0, (uint)EntityID.SpawnpointAtBrainsConnection)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeTakingBrainSample, 0, (uint)EntityID.SpawnpointAtBrains)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectroBeforeEnteringLowerPartOfBiomachine, 0, (uint)EntityID.SpawnpointAtLowerPartOfBiomach)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringHigherPartOfBiomachine, 0, (uint)EntityID.SpawnpointAtHigherPartOfBiomach1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeEnteringHigherPartOfBiomachine, 0, (uint)EntityID.SpawnpointAtHigherPartOfBiomach2)); var m_01GetBiomachSamples1 = new MyUseObjective( (MyTextsWrapperEnum.NAZI_BIO_LAB_SAMPLES_BIOMACH_1_Name), MyMissionID.NAZI_BIO_LAB_SAMPLES_BIOMACH_1, (MyTextsWrapperEnum.NAZI_BIO_LAB_SAMPLES_BIOMACH_1_Description), null, this, new MyMissionID[] {}, new MyMissionLocation(BaseSector, (uint)EntityID.TargetUse01), MyTextsWrapperEnum.PressToPickSamples, MyTextsWrapperEnum.Samples, MyTextsWrapperEnum.PickingInProgress, 3000, MyUseObjectiveType.Hacking, MyDialogueEnum.WHITEWOLVES_RESEARCH_0200_ENTER ) { SaveOnSuccess = true }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_objectives.Add(m_01GetBiomachSamples1); m_01GetBiomachSamples1.OnMissionLoaded += new MissionHandler(m_01GetBiomachSamples1_OnMissionLoaded); m_01GetBiomachSamples1.OnSuccessDialogueStarted += new MissionHandler(m_01GetBiomachSamples1_OnSuccessDialogueStarted); var m_02GetInsideBiomach = new MyObjective( (MyTextsWrapperEnum.NAZI_BIO_LAB_GET_INSIDE_Name), MyMissionID.NAZI_BIO_LAB_GET_INSIDE, (MyTextsWrapperEnum.NAZI_BIO_LAB_GET_INSIDE_Description), null, this, new MyMissionID[] { MyMissionID.NAZI_BIO_LAB_SAMPLES_BIOMACH_1 }, new MyMissionLocation(BaseSector, (uint)EntityID.Target02) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudStation }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_objectives.Add(m_02GetInsideBiomach); var m_04GetOrganicSamples = new MyUseObjective( (MyTextsWrapperEnum.NAZI_BIO_LAB_SAMPLES_ORGANIC_Name), MyMissionID.NAZI_BIO_LAB_SAMPLES_ORGANIC, (MyTextsWrapperEnum.NAZI_BIO_LAB_SAMPLES_ORGANIC_Description), null, this, new MyMissionID[] { MyMissionID.NAZI_BIO_LAB_GET_INSIDE }, new MyMissionLocation(BaseSector, (uint)EntityID.TargetUse04), MyTextsWrapperEnum.PressToPickSamples, MyTextsWrapperEnum.Samples, MyTextsWrapperEnum.PickingInProgress, 3000, MyUseObjectiveType.Hacking, MyDialogueEnum.WHITEWOLVES_RESEARCH_0300_COLLECT2 ) { SaveOnSuccess = true }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_04GetOrganicSamples.OnMissionLoaded += new MissionHandler(m_04GetOrganicSamples_OnMissionLoaded); m_04GetOrganicSamples.OnSuccessDialogueStarted += new MissionHandler(m_04GetOrganicSamples_OnSuccessDialogueStarted); m_objectives.Add(m_04GetOrganicSamples); var m_05GetBiomachBlueprints = new MyUseObjective( (MyTextsWrapperEnum.NAZI_BIO_LAB_BLUEPRINTS_BIOMACH_Name), MyMissionID.NAZI_BIO_LAB_BLUEPRINTS_BIOMACH, (MyTextsWrapperEnum.NAZI_BIO_LAB_BLUEPRINTS_BIOMACH_Description), null, this, new MyMissionID[] { MyMissionID.NAZI_BIO_LAB_SAMPLES_ORGANIC }, new MyMissionLocation(BaseSector, (uint)EntityID.TargetUse05), MyTextsWrapperEnum.PressToDownloadBluePrints, MyTextsWrapperEnum.DataTransfer, MyTextsWrapperEnum.DownloadingData, 3000 ) { SaveOnSuccess = true }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_objectives.Add(m_05GetBiomachBlueprints); m_05GetBiomachBlueprints.OnMissionLoaded += new MissionHandler(m_05GetBiomachBlueprints_OnMissionLoaded); m_05GetBiomachBlueprints.OnSuccessDialogueStarted += new MissionHandler(m_05GetBiomachBlueprints_OnSuccessDialogueStarted); var m_07GetOut = new MyObjective( (MyTextsWrapperEnum.NAZI_BIO_LAB_GET_OUT_Name), MyMissionID.NAZI_BIO_LAB_GET_OUT, (MyTextsWrapperEnum.NAZI_BIO_LAB_GET_OUT_Description), null, this, new MyMissionID[] { MyMissionID.NAZI_BIO_LAB_BLUEPRINTS_BIOMACH }, new MyMissionLocation(BaseSector, (uint)EntityID.Target07) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_07GetOut.OnMissionLoaded += new MissionHandler(m_07GetOut_OnMissionLoaded); m_objectives.Add(m_07GetOut); var m_08Destroy = new MyObjectiveDestroy( (MyTextsWrapperEnum.NAZI_BIO_LAB_DESTROY_Name), MyMissionID.NAZI_BIO_LAB_DESTROY, (MyTextsWrapperEnum.NAZI_BIO_LAB_DESTROY_Description), null, this, new MyMissionID[] { MyMissionID.NAZI_BIO_LAB_GET_OUT, }, new List <uint>() { (uint)EntityID.Target08 }, null, true, false ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(m_08Destroy); m_08Destroy.OnMissionLoaded += M08DestroyOnMissionLoaded; m_08Destroy.OnMissionSuccess += M08DestroyOnMissionSuccess; var returnToMothership = new MyObjective( (MyTextsWrapperEnum.NAZI_BIO_LAB_REACH_MEETING_POINT_Name), MyMissionID.NAZI_BIO_LAB_REACH_MEETING_POINT, (MyTextsWrapperEnum.NAZI_BIO_LAB_REACH_MEETING_POINT_Description), null, this, new MyMissionID[] { MyMissionID.NAZI_BIO_LAB_DESTROY }, //new MyMissionLocation(baseSector, (uint)EntityID.HangerEscapeLocation) new MyMissionLocation(BaseSector, MyMissionLocation.MADELYN_HANGAR), radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { HudName = MyTextsWrapperEnum.HudMadelynsSapho }; returnToMothership.OnMissionLoaded += new MissionHandler(returnToMothership_OnMissionLoaded); m_objectives.Add(returnToMothership); }
public MySmallPirateBase2() { ID = MyMissionID.SMALL_PIRATE_BASE_2; /* ID must be added to MyMissions.cs */ Name = new StringBuilder("Small pirate base 2"); // Nazev mise Description = new StringBuilder( // popis mise "Destroy the station\n" ); MyMwcVector3Int baseSector = new MyMwcVector3Int(9708260, 0, -2101810); // Story sector of the script Location = new MyMissionLocation(baseSector, 1749); // Starting dummy point RequiredMissions = new MyMissionID[] { }; // mise ktere musi byt splneny pred prijetim teto mise m_submissions = new List <MyObjective>(); // Creating of list of submissions // START DEFINICE SUBMISE DestroyEnemies = new MyObjectiveDestroy( // Var is used to call functions on that member new StringBuilder("Destroy the mothership"), MyMissionID.SMALL_PIRATE_BASE_2_DESTROY_ENEMIES, new StringBuilder(""), null, this, new MyMissionID[] { }, new List <uint> { 5293 }, new List <uint> { }, false ) { SaveOnSuccess = false }; m_submissions.Add(DestroyEnemies); // pridani do seznamu submisi DestroyGenerator = new MyObjectiveDestroy( // Var is used to call functions on that member new StringBuilder("Destroy the generator"), MyMissionID.SMALL_PIRATE_BASE_2_DESTROY_GENERATOR, new StringBuilder(""), null, this, new MyMissionID[] { }, new List <uint> { 812 }, new List <uint> { }, false ) { SaveOnSuccess = false }; m_submissions.Add(DestroyGenerator); // pridani do seznamu submisi var escape = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu new StringBuilder("Return to the mothership"), // nazev submise MyMissionID.PIRATE_BASE_1_ESCAPE, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] { MyMissionID.PIRATE_BASE_1_DESTROY_GENERATOR, }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, 2475) // ID of dummy point of checkpoint ) { SaveOnSuccess = false }; // nastaveni save na checkpointu nebo ne m_submissions.Add(escape); // pridani do seznamu submisi }
public MyChineseEscapeMission() { ID = MyMissionID.CHINESE_ESCAPE; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.CHINESE_ESCAPE; Description = MyTextsWrapperEnum.CHINESE_ESCAPE_Description; // "Defend Madelyn's mothership and escape with stolen cargo\n" DebugName = new StringBuilder("08d-Chinese escape"); Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-1919599, 0, 5268734); // Story sector of the script Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point RequiredMissions = new MyMissionID[] { MyMissionID.CHINESE_REFINERY }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.CHINESE_ESCAPE_SPEAK_WITH_MADELYN }; RequiredActors = new MyActorEnum[] {MyActorEnum.MADELYN}; m_objectives = new List<MyObjective>(); // Creating of list of submissions m_objective01_flyTowardsMadelyn = new MyObjective( // One member of that list (MyTextsWrapperEnum.CHINESE_ESCAPE_GET_CLOSER_Name), MyMissionID.CHINESE_ESCAPE_GET_CLOSER, (MyTextsWrapperEnum.CHINESE_ESCAPE_GET_CLOSER_Description), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.O01DefendMadelyn), startDialogId: MyDialogueEnum.CHINESE_ESCAPE_0100_INTRODUCTION ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; m_objective01_flyTowardsMadelyn.OnMissionLoaded += O01FlyTowardsMadelynLoaded; m_objective01_flyTowardsMadelyn.OnMissionSuccess += O01FlyTowardsMadelynSuccess; m_objectives.Add(m_objective01_flyTowardsMadelyn); m_objective02_defendMadelyn = new MyObjectiveDestroy( (MyTextsWrapperEnum.CHINESE_ESCAPE_DEFEND_SHIP_Name), MyMissionID.CHINESE_ESCAPE_DEFEND_SHIP, (MyTextsWrapperEnum.CHINESE_ESCAPE_DEFEND_SHIP_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_ESCAPE_GET_CLOSER }, null, new List<uint> { (uint)EntityID.SpawnLastL, (uint)EntityID.SpawnLastR, (uint)EntityID.SpawnLastAsteroid}, true, true ) { SaveOnSuccess = true }; m_objectives.Add(m_objective02_defendMadelyn); m_objective02_defendMadelyn.OnMissionLoaded += new MissionHandler(m_objective02_defendMadelyn_OnMissionLoaded); m_objective02_defendMadelyn.OnMissionCleanUp += new MissionHandler(m_objective02_defendMadelyn_OnMissionCleanUp); var objective03_lastDialogue = new MyObjectiveDialog( MyTextsWrapperEnum.CHINESE_ESCAPE_SPEAK_WITH_MADELYN_Name, MyMissionID.CHINESE_ESCAPE_SPEAK_WITH_MADELYN, MyTextsWrapperEnum.CHINESE_ESCAPE_SPEAK_WITH_MADELYN_Description, null, this, new MyMissionID[] { MyMissionID.CHINESE_ESCAPE_DEFEND_SHIP }, dialogId: MyDialogueEnum.CHINESE_ESCAPE_1000_LAST_OF_THEM ) { SaveOnSuccess = false }; m_objectives.Add(objective03_lastDialogue); }
public MyFortValiantMissionC() : base() { ID = MyMissionID.FORT_VALIANT_C; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("09e-Fort Valiant C"); // Name of mission Name = MyTextsWrapperEnum.FORT_VALIANT_C; Description = MyTextsWrapperEnum.FORT_VALIANT_C_Description; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.MARCUS, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocationC); //StartLocationC Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.SLAVER_BASE_2 }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.FORT_VALIANT_C_PICK_UP_EQUIP }; AchievementName = MySteamAchievementNames.Mission17_FortValiantDungeons; #region Objectives m_objectives = new List <MyObjective>(); var speakCaptain = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_CAPTAIN_Name), MyMissionID.FORT_VALIANT_C_CAPTAIN, (MyTextsWrapperEnum.FORT_VALIANT_C_CAPTAIN_Description), this, new MyMissionID[] { }, (uint)EntityID.CaptainDummy, (uint)EntityID.Captain, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_C_0100, null, false ) { SaveOnSuccess = true, FollowMe = false, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0100_BEGIN, HudName = MyTextsWrapperEnum.HudCaptainCedric }; speakCaptain.OnMissionSuccess += SpeakCaptainOnOnMissionSuccess; m_objectives.Add(speakCaptain); var reachUpperFloor = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_UPPER_FLOOR_Name), MyMissionID.FORT_VALIANT_C_UPPER_FLOOR, (MyTextsWrapperEnum.FORT_VALIANT_C_UPPER_FLOOR_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_CAPTAIN }, new MyMissionLocation(baseSector, (uint)EntityID.UpperFloorDummy) ) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(reachUpperFloor); var meetRoyal = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_TALK_Name), MyMissionID.FORT_VALIANT_C_EQUIP_TALK, (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_TALK_Description), this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_UPPER_FLOOR }, (uint)EntityID.RoyalDummy, (uint)EntityID.BotRoyal, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_C_0200, null, false ) { SaveOnSuccess = true, FollowMe = false }; m_objectives.Add(meetRoyal); var giveoutEquipment = new MyUseObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_Name), MyMissionID.FORT_VALIANT_C_EQUIP, (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_EQUIP_TALK }, new MyMissionLocation(baseSector, (uint)EntityID.RoyalCargoBoxDetector), MyTextsWrapperEnum.PressToGiveEquipment, MyTextsWrapperEnum.CargoBox, MyTextsWrapperEnum.TransferInProgress, 3000, MyUseObjectiveType.Activating ) { SaveOnSuccess = true }; giveoutEquipment.OnMissionSuccess += GiveoutEquipmentOnOnMissionSuccess; m_objectives.Add(giveoutEquipment); var meetOfficers = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_MEET_OFFICIALS_Name), MyMissionID.FORT_VALIANT_C_MEET_OFFICIALS, (MyTextsWrapperEnum.FORT_VALIANT_C_MEET_OFFICIALS_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_EQUIP }, new MyMissionLocation(baseSector, (uint)EntityID.OfficalsDetector), null ) { StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0300, SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_0400, HudName = MyTextsWrapperEnum.HudChamber }; m_objectives.Add(meetOfficers); var leaveOfficers = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_OFFICIALS_Name), MyMissionID.FORT_VALIANT_C_LEAVE_OFFICIALS, (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_OFFICIALS_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_MEET_OFFICIALS }, new MyMissionLocation(baseSector, (uint)EntityID.OfficalsleaveDetector), null ) { SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_0500, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(leaveOfficers); var followPath = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_FOLLOW_Name), MyMissionID.FORT_VALIANT_C_LEAVE_FOLLOW, (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_FOLLOW_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_LEAVE_OFFICIALS }, new MyMissionLocation(baseSector, (uint)EntityID.FollowPathDetector), null, null) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(followPath); var speakWithSir = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SPEAK_SIR_Name), MyMissionID.FORT_VALIANT_C_SPEAK_SIR, (MyTextsWrapperEnum.FORT_VALIANT_C_SPEAK_SIR_Description), this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_LEAVE_FOLLOW }, (uint)EntityID.SirBendivereDummy, (uint)EntityID.BotTemplar, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_C_0600, null, false ) { SaveOnSuccess = true, FollowMe = false, HudName = MyTextsWrapperEnum.HudSirGeraint }; m_objectives.Add(speakWithSir); var getItemsFromCargoBoxes = new MyObjectiveGetItems( (MyTextsWrapperEnum.FORT_VALIANT_C_GET_EQUP_CARGO_Name), MyMissionID.FORT_VALIANT_C_GET_EQUP_CARGO, (MyTextsWrapperEnum.FORT_VALIANT_C_GET_EQUP_CARGO_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SPEAK_SIR }, new List <MyItemToGetDefinition>() { new MyItemToGetDefinition(MyMwcObjectBuilderTypeEnum.SmallShip_HackingTool, (int)MyMwcObjectBuilder_SmallShip_HackingTool_TypesEnum.Level_1) }, new List <uint>() { (uint)EntityID.CargoBox } ) { SaveOnSuccess = true }; m_objectives.Add(getItemsFromCargoBoxes); var findEntrance = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION_Name), MyMissionID.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION, (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_GET_EQUP_CARGO }, new MyMissionLocation(baseSector, (uint)EntityID.Ventilation), null, null) { StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0700, HudName = MyTextsWrapperEnum.HudEntrance }; findEntrance.OnMissionLoaded += FindEntranceOnOnMissionLoaded; m_objectives.Add(findEntrance); var disableScanner = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE_Name), MyMissionID.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE, (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION }, new List <uint> { (uint)EntityID.DisableScanner }, new List <uint> { (uint)EntityID.DisableScannerHub }, false, false ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0800, HudName = MyTextsWrapperEnum.HudSecurityHub }; disableScanner.OnMissionLoaded += DisableScannerOnOnMissionLoaded; m_objectives.Add(disableScanner); var scanners1 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS1_Name), MyMissionID.FORT_VALIANT_C_SCANNERS1, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS1_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation1)) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_1000, HudName = MyTextsWrapperEnum.Nothing }; //scanners1.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorGuardsDialogue, MyDialogueEnum.FORT_VALIANT_C_1100)); scanners1.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorSensorsDialogue, MyDialogueEnum.FORT_VALIANT_C_1200)); m_objectives.Add(scanners1); var scanners2 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS2_Name), MyMissionID.FORT_VALIANT_C_SCANNERS2, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS2_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS1 }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation2)) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; scanners2.OnMissionSuccess += Scanners2OnOnMissionSuccess; m_objectives.Add(scanners2); var scanners23 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS23_Name), MyMissionID.FORT_VALIANT_C_SCANNERS23, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS23_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS2 }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation23)) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(scanners23); m_findArtifact = new MyUseObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_TAKE_ARTEFACT_Name), MyMissionID.FORT_VALIANT_C_TAKE_ARTEFACT, (MyTextsWrapperEnum.FORT_VALIANT_C_TAKE_ARTEFACT_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS23 }, null, MyTextsWrapperEnum.NotificationTakeArtifact, MyTextsWrapperEnum.Artifact, MyTextsWrapperEnum.TakingInProgress, 3000, MyUseObjectiveType.Taking, null, null, null, new List <uint>() { (uint)EntityID.Box1Marker, (uint)EntityID.Box2Marker, (uint)EntityID.Box3Marker, (uint)EntityID.Box4Marker }, (uint)EntityID.ArtifactDummy ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_1400 }; m_findArtifact.OnMissionLoaded += FindArtifactOnOnMissionLoaded; m_findArtifact.OnMissionSuccess += FindArtifactOnOnMissionSuccess; m_findArtifact.Components.Add(new MyTimedDialogue(new TimeSpan(0, 0, 10), MyDialogueEnum.FORT_VALIANT_C_1500)); m_objectives.Add(m_findArtifact); var vault = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_VALUT_Name), MyMissionID.FORT_VALIANT_C_VALUT, (MyTextsWrapperEnum.FORT_VALIANT_C_VALUT_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_TAKE_ARTEFACT }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation2)) { HudName = MyTextsWrapperEnum.Nothing }; vault.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorSecurityFields, MyDialogueEnum.FORT_VALIANT_C_1700)); vault.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorOpenDoors, MyDialogueEnum.FORT_VALIANT_C_1800)); vault.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorComputer, MyDialogueEnum.FORT_VALIANT_C_1900)); m_objectives.Add(vault); m_disableScanner2 = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.FORT_VALIANT_C_TURN_OFF_SCANNER_Name), MyMissionID.FORT_VALIANT_C_TURN_OFF_SCANNER, (MyTextsWrapperEnum.FORT_VALIANT_C_TURN_OFF_SCANNER_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_VALUT }, new List <uint> { (uint)EntityID.DisableSnanners2 }, new List <uint> { (uint)EntityID.DisableScanner2Hub }, false ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_2100, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_disableScanner2.OnMissionSuccess += DisableScanner2_Success; m_objectives.Add(m_disableScanner2); var scanners4 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS4_Name), MyMissionID.FORT_VALIANT_C_SCANNERS4, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS4_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_TURN_OFF_SCANNER }, new MyMissionLocation(baseSector, (uint)EntityID.HigherFloors)) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(scanners4); var elevator = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_TOP_ELEVATOR_Name), MyMissionID.FORT_VALIANT_C_TOP_ELEVATOR, (MyTextsWrapperEnum.FORT_VALIANT_C_TOP_ELEVATOR_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS4 }, new MyMissionLocation(baseSector, (uint)EntityID.ElevatorDummy)) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(elevator); var escape = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_VENT_SYSTEM_Name), MyMissionID.FORT_VALIANT_C_VENT_SYSTEM, (MyTextsWrapperEnum.FORT_VALIANT_C_VENT_SYSTEM_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_TOP_ELEVATOR }, new MyMissionLocation(baseSector, (uint)EntityID.EscapeVentSystemDummy)) { SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_2300, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(escape); var useCatacombs = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_CATACOMBS_Name), MyMissionID.FORT_VALIANT_C_CATACOMBS, (MyTextsWrapperEnum.FORT_VALIANT_C_CATACOMBS_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_VENT_SYSTEM }, new MyMissionLocation(baseSector, (uint)EntityID.EscapeCatacombsDummy) //startDialogId: dialog9 ) { HudName = MyTextsWrapperEnum.Nothing }; useCatacombs.OnMissionSuccess += UseCatacombsOnOnMissionSuccess; m_objectives.Add(useCatacombs); var getItemsFromCargoBoxes2 = new MyUseObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_PICK_UP_EQUIP_Name), MyMissionID.FORT_VALIANT_C_PICK_UP_EQUIP, (MyTextsWrapperEnum.FORT_VALIANT_C_PICK_UP_EQUIP_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_CATACOMBS }, new MyMissionLocation(baseSector, (uint)EntityID.RoyalCargoBoxDetector), MyTextsWrapperEnum.PressToTakeCargo, MyTextsWrapperEnum.CargoBox, MyTextsWrapperEnum.TakingInProgress, 3000, MyUseObjectiveType.Taking //startDialogId: dialog10 ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_2400 }; getItemsFromCargoBoxes2.Components.Add(new MyDetectorDialogue((uint)EntityID.GetItemsWayBackDialogue, MyDialogueEnum.FORT_VALIANT_C_2500)); getItemsFromCargoBoxes2.OnMissionSuccess += GetItemsFromCargoBoxesOnOnMissionSuccess; m_objectives.Add(getItemsFromCargoBoxes2); #endregion }
public MySmallPirateBaseMission() { ID = MyMissionID.PIRATE_BASE_1; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Small pirate base"); // Nazev mise Name = MyTextsWrapperEnum.PIRATE_BASE_1; Description = MyTextsWrapperEnum.PIRATE_BASE_1_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(14393995,0,2939339); // Story sector of the script Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point RequiredMissions = new MyMissionID[] { }; // mise ktere musi byt splneny pred prijetim teto mise RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.PIRATE_BASE_1_ESCAPE }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List<MyObjective>(); // Creating of list of submissions // START DEFINICE SUBMISE DestroyGenerator = new MyObjectiveDestroy( // Var is used to call functions on that member new StringBuilder("Destroy the generator"), MyMissionID.PIRATE_BASE_1_DESTROY_GENERATOR, new StringBuilder(""), null, this, new MyMissionID[] { }, generators, false ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudGenerator }; m_objectives.Add(DestroyGenerator); // pridani do seznamu submisi DestroyGenerator.OnMissionSuccess += new Missions.MissionHandler(DestroyMSSuccess); var escape = new MyObjective( // One member of that list - je to MySubmission takze cilem je doletet do checkpointu new StringBuilder("Escape"), // nazev submise MyMissionID.PIRATE_BASE_1_ESCAPE, // id submise new StringBuilder(""), // popis submise null, this, new MyMissionID[] { MyMissionID.PIRATE_BASE_1_DESTROY_GENERATOR, }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), // ID of dummy point of checkpoint radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; // nastaveni save na checkpointu nebo ne m_objectives.Add(escape); // pridani do seznamu submisi }
//private MySubmisisonDefend m_defendGenerator; #endregion public MySlaverBaseMission() { m_ValidateIDlists = new List <List <uint> >(); m_ValidateIDlists.Add(m_closeddoors); m_ValidateIDlists.Add(m_finalparticle); m_ValidateIDlists.Add(m_openedddoors); m_ValidateIDlists.Add(m_standbyparticle); m_ValidateIDlists.Add(m_pilotsSpawn); m_ValidateIDlists.Add(m_closeentiites); ID = MyMissionID.SLAVER_BASE_1; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.SLAVER_BASE_GRAND_BURROW; Description = MyTextsWrapperEnum.SLAVER_BASE_GRAND_BURROW_Description; DebugName = new StringBuilder("09b-Slaver base Grand Burrow"); // Nazev mise Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(2052452, 0, -10533886); // Story sector of the script Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point RequiredMissions = new MyMissionID[] { MyMissionID.FORT_VALIANT }; // mise ktere musi byt splneny pred prijetim teto mise RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DIALOG_10 }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List <MyObjective>(); // Creating of list of submissions // -------------- START DEFINICE SUBMISE --------------------- var talkWith = new MyObjectiveDialog( (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_1_Name), MyMissionID.SLAVER_BASE_1_DIALOG_1, (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_1_Description), null, this, new MyMissionID[] { }, dialogId: MyDialogueEnum.SLAVERBASE_0100_INTRODUCE ) { SaveOnSuccess = false }; m_objectives.Add(talkWith); var DestroyGenerators = new MyObjectiveDestroy( // Var is used to call functions on that member (MyTextsWrapperEnum.SLAVER_BASE_1_DESTROY_GENERATOR_Name), MyMissionID.SLAVER_BASE_1_DESTROY_GENERATOR, (MyTextsWrapperEnum.SLAVER_BASE_1_DESTROY_GENERATOR_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DIALOG_1 }, Generators, false ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudGenerator }; m_objectives.Add(DestroyGenerators); // pridani do seznamu submisi DestroyGenerators.OnMissionSuccess += DestroyGeneratorMSSuccess; var talkWith2 = new MyObjectiveDialog( (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_2_Name), MyMissionID.SLAVER_BASE_1_DIALOG_2, (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_2_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DESTROY_GENERATOR }, dialogId: MyDialogueEnum.SLAVERBASE_0200_GENERATORS_DESTROYED ) { SaveOnSuccess = false }; m_objectives.Add(talkWith2); var DestroyBatteries = new MyObjectiveDestroy( // Var is used to call functions on that member (MyTextsWrapperEnum.SLAVER_BASE_1_DESTROY_BATTERIES_Name), MyMissionID.SLAVER_BASE_1_DESTROY_BATTERIES, (MyTextsWrapperEnum.SLAVER_BASE_1_DESTROY_BATTERIES_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DIALOG_2 }, Batteries, false ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudBatteries }; m_objectives.Add(DestroyBatteries); // pridani do seznamu submisi DestroyBatteries.OnMissionSuccess += DestroyBatteriesMSSuccess; var FindPrison = new MyObjective( // One member of that list - je to MyObjective takze cilem je doletet do checkpointu (MyTextsWrapperEnum.SLAVER_BASE_1_FIND_PRISON_Name), // nazev submise MyMissionID.SLAVER_BASE_1_FIND_PRISON, // id submise (MyTextsWrapperEnum.SLAVER_BASE_1_FIND_PRISON_Description), // popis submise null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DESTROY_BATTERIES }, // ID submisi ktere musi byt splneny - je to prazdne takze je to prvni submise new MyMissionLocation(baseSector, (uint)EntityID.Prison_Dummy), startDialogId: MyDialogueEnum.SLAVERBASE_0300_BATTERIES_DESTROYED // ID of dummy point of checkpoint ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudPrison }; // nastaveni save na checkpointu nebo ne m_objectives.Add(FindPrison); // pridani do seznamu submisi FindPrison.OnMissionSuccess += FindPrisonMSSuccess; m_freeSlaves = new MyObjectiveDestroy( // Var is used to call functions on that member (MyTextsWrapperEnum.SLAVER_BASE_1_FREE_SLAVES_Name), MyMissionID.SLAVER_BASE_1_FREE_SLAVES, (MyTextsWrapperEnum.SLAVER_BASE_1_FREE_SLAVES_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_FIND_PRISON }, m_Bars, false ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudCage }; m_objectives.Add(m_freeSlaves); // pridani do seznamu submisi var talkWith4 = new MyObjectiveDialog( MyMissionID.SLAVER_BASE_1_DIALOG_4, null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_FREE_SLAVES }, dialogId: MyDialogueEnum.SLAVERBASE_0400_SLAVES_SAVED ) { SaveOnSuccess = true }; m_objectives.Add(talkWith4); m_hackHangar = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.SLAVER_BASE_1_HACK_HANGAR_Name), MyMissionID.SLAVER_BASE_1_HACK_HANGAR, (MyTextsWrapperEnum.SLAVER_BASE_1_HACK_HANGAR_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DIALOG_4 }, null, new List <uint> { (uint)EntityID.Hack_PC }, new List <uint> { (uint)EntityID.Hangar_Doors } ) { HudName = MyTextsWrapperEnum.HudHub }; m_objectives.Add(m_hackHangar); m_hackHangar.OnMissionSuccess += HangarOpen; m_freeSlavesMS = new MyObjectiveDestroy( // Var is used to call functions on that member (MyTextsWrapperEnum.SLAVER_BASE_1_FREE_SLAVES_2_Name), MyMissionID.SLAVER_BASE_1_FREE_SLAVES_2, (MyTextsWrapperEnum.SLAVER_BASE_1_FREE_SLAVES_2_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_HACK_HANGAR }, Mothership_Bars, false ) { SaveOnSuccess = false, ToDestroyCount = 1, HudName = MyTextsWrapperEnum.HudCage }; m_objectives.Add(m_freeSlavesMS); // pridani do seznamu submisi var talkWith6 = new MyObjectiveDialog( (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_6_Name), MyMissionID.SLAVER_BASE_1_DIALOG_6, (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_6_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_FREE_SLAVES_2, }, dialogId: MyDialogueEnum.SLAVERBASE_0600_MOTHERSHIP_EMPTY ) { SaveOnSuccess = false }; m_objectives.Add(talkWith6); var findSlaves = new MyObjectiveDestroy( // Var is used to call functions on that member (MyTextsWrapperEnum.SLAVER_BASE_1_FIND_SLAVES_Name), MyMissionID.SLAVER_BASE_1_FIND_SLAVES, (MyTextsWrapperEnum.SLAVER_BASE_1_FIND_SLAVES_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DIALOG_6 }, bar_pit, // ID of dummy point of checkpoint false ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudCage }; findSlaves.MissionEntityIDs.Add((uint)EntityID.Bar_pit); m_objectives.Add(findSlaves); // pridani do seznamu submisi var talkWith7 = new MyObjectiveDialog( (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_7_Name), MyMissionID.SLAVER_BASE_1_DIALOG_7, (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_7_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_FIND_SLAVES, }, dialogId: MyDialogueEnum.SLAVERBASE_0700_PIT_EMPTY ) { SaveOnSuccess = false }; m_objectives.Add(talkWith7); talkWith7.OnMissionLoaded += FreePilotsMSSuccess; var destroyEnemies = new MyDestroyWavesObjective( // Var is used to call functions on that member (MyTextsWrapperEnum.SLAVER_BASE_1_DESTROY_ENEMIES_Name), MyMissionID.SLAVER_BASE_1_DESTROY_ENEMIES, (MyTextsWrapperEnum.SLAVER_BASE_1_DESTROY_ENEMIES_Description), null, this, new[] { MyMissionID.SLAVER_BASE_1_DIALOG_7 } //new List<uint> // { // (uint) EntityID.Mothership_Spawn_1, // (uint) EntityID.Mothership_Spawn_2, // (uint) EntityID.Mothership_Spawn_3 // }, ) { SaveOnSuccess = false }; destroyEnemies.AddWave(new List <uint> { (uint)EntityID.Mothership_Spawn_1 }); destroyEnemies.AddWave(new List <uint> { (uint)EntityID.Mothership_Spawn_2 }); destroyEnemies.AddWave(new List <uint> { (uint)EntityID.Mothership_Spawn_3 }); destroyEnemies.OnMissionSuccess += EnemiesDestroyed; m_objectives.Add(destroyEnemies); // pridani do seznamu submisi var talkWith9 = new MyObjectiveDialog( (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_9_Name), MyMissionID.SLAVER_BASE_1_DIALOG_9, (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_9_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DESTROY_ENEMIES }, dialogId: MyDialogueEnum.SLAVERBASE_0800_ENEMIES_DESTROYED ) { SaveOnSuccess = false }; m_objectives.Add(talkWith9); m_openHangarDoors = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.SLAVER_BASE_1_HACK_NUKE_Name), MyMissionID.SLAVER_BASE_1_HACK_NUKE, (MyTextsWrapperEnum.SLAVER_BASE_1_HACK_NUKE_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_DIALOG_9 }, null, new List <uint> { (uint)EntityID.HangarDoorsHub }, new List <uint> { (uint)EntityID.Cargo_Bay_Doors } ) { HudName = MyTextsWrapperEnum.HudHub }; m_objectives.Add(m_openHangarDoors); m_openHangarDoors.OnMissionSuccess += MSEscape; m_openHangarDoors.OnMissionSuccess += MoveFourthReichMSStart; var talkWith10 = new MyTimedObjective( (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_10_Name), MyMissionID.SLAVER_BASE_1_DIALOG_10, (MyTextsWrapperEnum.SLAVER_BASE_1_DIALOG_10_Description), null, this, new MyMissionID[] { MyMissionID.SLAVER_BASE_1_HACK_NUKE }, TimeSpan.FromSeconds(50) ) { SaveOnSuccess = false, SuccessDialogId = MyDialogueEnum.SLAVERBASE_1100_FAKE_ESCAPED, DisplayCounter = false, }; talkWith10.MissionEntityIDs.Add((uint)EntityID.Escape_Dummy); m_objectives.Add(talkWith10); }
public MyLaikaMission() { ID = MyMissionID.LAIKA; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.LAIKA; Description = MyTextsWrapperEnum.LAIKA_Description; DebugName = new StringBuilder("02-Laika"); Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-3851812, 0, -2054500); /* sector where the mission is located */ Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); RequiredMissions = new MyMissionID[] { MyMissionID.EAC_SURVEY_SITE }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.LAIKA_LASTSTAND }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN }; m_objectives = new List<MyObjective>(); var toHangarSubmission = new MyObjective( (MyTextsWrapperEnum.LAIKA_GOTO_10_Name), MyMissionID.LAIKA_GOTO_10, (MyTextsWrapperEnum.LAIKA_GOTO_10_Description), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.Objective01_Hangar) ) { HudName = MyTextsWrapperEnum.HudHangar }; //{ SaveOnSuccess = true }; toHangarSubmission.OnMissionUpdate += new MissionHandler(toHangarSubmission_OnMissionUpdate); //toHangarSubmission.OnMissionSuccess += ToHangarSubmissionSuccess; toHangarSubmission.OnMissionLoaded += ToHangarSubmissionLoaded; m_objectives.Add(toHangarSubmission); var inHangarSubmission = new MyTimedObjective( MyTextsWrapperEnum.Null, MyMissionID.LAIKA_GOTO_11, MyTextsWrapperEnum.Null, null, this, new MyMissionID[] { MyMissionID.LAIKA_GOTO_10 }, TimeSpan.FromSeconds(0.2f), successDialogId: MyDialogueEnum.LAIKA_0275_INSIDEHANGAR ) { DisplayCounter = false }; inHangarSubmission.OnMissionSuccess += InHangarSubmissionSuccess; m_objectives.Add(inHangarSubmission); var inHangarSubmission2 = new MyTimedObjective( MyTextsWrapperEnum.Null, MyMissionID.LAIKA_GOTO_12, MyTextsWrapperEnum.Null, null, this, new MyMissionID[] { MyMissionID.LAIKA_GOTO_11 }, TimeSpan.FromSeconds(5) ) { DisplayCounter = false }; m_objectives.Add(inHangarSubmission2); m_generatorSubmission = new MyObjectiveDestroy( (MyTextsWrapperEnum.LAIKA_GOTO_GENERATOR_Name), MyMissionID.LAIKA_GOTO_GENERATOR, (MyTextsWrapperEnum.LAIKA_GOTO_GENERATOR_Description), null, this, new MyMissionID[] { MyMissionID.LAIKA_GOTO_12, }, new List<uint> { (uint)EntityID.Objective01_Generator }, successDialogID: MyDialogueEnum.LAIKA_0300_AFTERHANGAR, startDialogID: MyDialogueEnum.LAIKA_0277_DESTROYGENERATOR ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudGenerator }; m_generatorSubmission.OnMissionSuccess += GeneratorSubmissionSuccess; m_generatorSubmission.OnMissionLoaded += GeneratorSubmissionLoaded; m_objectives.Add(m_generatorSubmission); m_toCommandCentreSubmission = new MyObjective( (MyTextsWrapperEnum.LAIKA_GOTO_COMMAND_Name), MyMissionID.LAIKA_GOTO_COMMAND, (MyTextsWrapperEnum.LAIKA_GOTO_COMMAND_Description), null, this, new MyMissionID[] { MyMissionID.LAIKA_GOTO_GENERATOR }, null, new List<uint>() { (uint)EntityID.Objective02_CommandHub }, successDialogId: MyDialogueEnum.LAIKA_0500_COMMAND, startDialogId: MyDialogueEnum.LAIKA_0350_GPS ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudCommandCenter }; m_toCommandCentreSubmission.OnMissionSuccess += ToCommandCentreSubmissionSuccess; m_toCommandCentreSubmission.OnMissionLoaded += ToCommandCentreSubmissionLoaded; m_objectives.Add(m_toCommandCentreSubmission); m_communication01Submission = new MyObjective( (MyTextsWrapperEnum.LAIKA_GOTO_COMMUNICATION_01_Name), MyMissionID.LAIKA_GOTO_COMMUNICATION_01, (MyTextsWrapperEnum.LAIKA_GOTO_COMMUNICATION_01_Description), null, this, new MyMissionID[] { MyMissionID.LAIKA_GOTO_COMMAND }, null, new List<uint>() { (uint)EntityID.Objective03_Transmitter1Hub }, successDialogId: MyDialogueEnum.LAIKA_0700_LEFTHUB ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudCommunicationHub }; m_communication01Submission.OnMissionSuccess += Communication01SubmissionSuccess; m_communication01Submission.OnMissionLoaded += Communication01SubmissionLoaded; m_objectives.Add(m_communication01Submission); m_communication02Submission = new MyObjective( (MyTextsWrapperEnum.LAIKA_GOTO_COMMUNICATION_02_Name), MyMissionID.LAIKA_GOTO_COMMUNICATION_02, (MyTextsWrapperEnum.LAIKA_GOTO_COMMUNICATION_02_Description), null, this, new MyMissionID[] { MyMissionID.LAIKA_GOTO_COMMUNICATION_01 }, null, new List<uint>() { (uint)EntityID.Objective04_Transmitter2Hub }, successDialogId: MyDialogueEnum.LAIKA_0800_RIGHTHUB, startDialogId: MyDialogueEnum.LAIKA_0700_LEFTHUB2 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudCommunicationHub }; m_communication02Submission.OnMissionSuccess += Communication02SubmissionSuccess; m_communication02Submission.OnMissionLoaded += Communication02SubmissionLoaded; m_objectives.Add(m_communication02Submission); m_warheadSubmission = new MyObjective( (MyTextsWrapperEnum.LAIKA_WARHEAD_Name), MyMissionID.LAIKA_WARHEAD, (MyTextsWrapperEnum.LAIKA_WARHEAD_Description), null, this, new MyMissionID[] { MyMissionID.LAIKA_GOTO_COMMUNICATION_02 }, null, new List<uint>() { (uint)EntityID.Objective05_Warhead }, successDialogId: MyDialogueEnum.LAIKA_1800_WARHEAD_DONE ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudWarhead }; m_warheadSubmission.OnMissionSuccess += WarheadSubmissionSuccess; m_warheadSubmission.OnMissionLoaded += WarheadSubmissionLoaded; m_objectives.Add(m_warheadSubmission); m_escapeSubmission = new MyObjective( (MyTextsWrapperEnum.LAIKA_RETURN_Name), MyMissionID.LAIKA_RETURN, (MyTextsWrapperEnum.LAIKA_RETURN_Description), null, this, new MyMissionID[] { MyMissionID.LAIKA_WARHEAD }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), radiusOverride: 1000 ) { HudName = MyTextsWrapperEnum.HudMadelynsSapho }; m_escapeSubmission.OnMissionLoaded += EscapeSubmissionLoaded; m_escapeSubmission.OnMissionSuccess += EscapeSubmissionSuccess; m_escapeSubmission.OnMissionUpdate += EscapeSubmissionUpdate; m_escapeSubmission.OnMissionCleanUp += EscapeSubmissionUnload; m_objectives.Add(m_escapeSubmission); var hideSubmission = new MyTimedObjective( (MyTextsWrapperEnum.LAIKA_LASTSTAND_Name), MyMissionID.LAIKA_LASTSTAND, (MyTextsWrapperEnum.LAIKA_LASTSTAND_Description), null, this, new MyMissionID[] { MyMissionID.LAIKA_RETURN }, TimeSpan.FromSeconds(15), true ) { SaveOnSuccess = false, DisplayCounter = false, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(hideSubmission); hideSubmission.OnMissionLoaded += new MissionHandler(hideSubmission_OnMissionLoaded); }
public MyReichstagAMission() { ID = MyMissionID.REICHSTAG_A; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("18a-Reichstag A"); Name = MyTextsWrapperEnum.REICHSTAG_A; Description = MyTextsWrapperEnum.REICHSTAG_A_Description; Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-2325831, 0, -7186381); Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); RequiredMissions = new MyMissionID[] { MyMissionID.RUSSIAN_TRANSMITTER }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.REICHSTAG_A_COLONEL_DIALOGUE }; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; m_objectives = new List <MyObjective>(); var introduction = new MyObjectiveDialog( MyMissionID.REICHSTAG_A_INTRODUCTION, null, this, new MyMissionID[] { }, dialogId: MyDialogueEnum.REICHSTAG_A_0100_INTRODUCTION ) { SaveOnSuccess = true }; m_objectives.Add(introduction); var getCloserToStation = new MyObjective( (MyTextsWrapperEnum.REICHSTAG_A_GET_TO_MAIN_BUILDING_Name), MyMissionID.REICHSTAG_A_GET_TO_MAIN_BUILDING, (MyTextsWrapperEnum.REICHSTAG_A_GET_TO_MAIN_BUILDING_Description), null, this, new MyMissionID[] { MyMissionID.REICHSTAG_A_INTRODUCTION }, new MyMissionLocation(baseSector, (uint)EntityID.MainBuilding) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudMainBuilding }; getCloserToStation.OnMissionLoaded += GetCloserToStationLoaded; m_objectives.Add(getCloserToStation); var meetColonel = new MyMeetObjective( (MyTextsWrapperEnum.REICHSTAG_A_MEET_COLONEL_Name), MyMissionID.REICHSTAG_A_MEET_COLONEL, (MyTextsWrapperEnum.REICHSTAG_A_MEET_COLONEL_Description), this, new MyMissionID[] { MyMissionID.REICHSTAG_A_GET_TO_MAIN_BUILDING }, null, (uint)EntityID.Bot_WaltherStauffenberg, 100, 0.25f, null, startDialogueId: MyDialogueEnum.REICHSTAG_A_0300_REACHING_REICHSTAG ) { SaveOnSuccess = false, FollowMe = false, HudName = MyTextsWrapperEnum.HudColonelVonStauffenberg }; m_objectives.Add(meetColonel); var colonelDialogue = new MyObjectiveDialog( MyMissionID.REICHSTAG_A_COLONEL_DIALOGUE, null, this, new MyMissionID[] { MyMissionID.REICHSTAG_A_MEET_COLONEL }, dialogId: MyDialogueEnum.REICHSTAG_A_0400_OFFICER_DIALOGUE ) { SaveOnSuccess = true }; m_objectives.Add(colonelDialogue); colonelDialogue.OnMissionSuccess += ColonelDialogueSuccess; }
public MyJunkyardReturnMission() { ID = MyMissionID.JUNKYARD_RETURN; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.JUNKYARD_RETURN; Description = MyTextsWrapperEnum.JUNKYARD_RETURN_Description; //"Return to Ranjit with stolen Cargoship\n" DebugName = new StringBuilder("08e-Junkyard racing"); // Name of mission Flags = MyMissionFlags.Story; AchievementName = MySteamAchievementNames.Mission12_JunkyardRacing; MyMwcVector3Int baseSector = new MyMwcVector3Int(2567538, 0, -172727); // Story sector of the script - i.e. (-2465,0,6541) Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.CHINESE_ESCAPE }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_DIALOGUE_RETURN }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; #region Objectives m_objectives = new List <MyObjective>(); // Creating of list of submissions var meetManjeet = new MyObjective( (MyTextsWrapperEnum.JUNKYARD_RETURN_MEET_SMUGGLER_Name), MyMissionID.JUNKYARD_RETURN_MEET_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_RETURN_MEET_SMUGGLER_Description), null, this, new MyMissionID[] {}, new MyMissionLocation(baseSector, (uint)EntityID.Manjeet), new List <uint> { (uint)EntityID.Manjeet }, radiusOverride: 50 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudManjeet }; m_objectives.Add(meetManjeet); meetManjeet.OnMissionLoaded += O01MeetSmugglerLoaded; var manjeetDialogue = new MyObjectiveDialog( MyMissionID.JUNKYARD_RETURN_SMUGGLER_DIALOGUE, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_MEET_SMUGGLER }, MyDialogueEnum.JUNKYARD_RETURN_0200 ) { SaveOnSuccess = true }; manjeetDialogue.OnMissionSuccess += new MissionHandler(manjeetDialogue_OnMissionSuccess); m_objectives.Add(manjeetDialogue); var speedsterDialogue = new MyObjective( MyTextsWrapperEnum.Null, MyMissionID.JUNKYARD_RETURN_SPEEDSTER_DIALOGUE, MyTextsWrapperEnum.Null, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_SMUGGLER_DIALOGUE }, null ) { SaveOnSuccess = true }; speedsterDialogue.OnMissionLoaded += O02SmugglerDialogueLoaded; m_objectives.Add(speedsterDialogue); m_objective03_FlyToStart = new MyObjective( (MyTextsWrapperEnum.JUNKYARD_RETURN_FLY_TO_START_Name), MyMissionID.JUNKYARD_RETURN_FLY_TO_START, (MyTextsWrapperEnum.JUNKYARD_RETURN_FLY_TO_START_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_SPEEDSTER_DIALOGUE }, null, startDialogId: MyDialogueEnum.JUNKYARD_RETURN_0300 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudStart }; m_objective03_FlyToStart.MissionEntityIDs.Add((uint)EntityID.DetectorStartRacePosition); m_objective03_FlyToStart.OnMissionLoaded += O03FlyToStartLoaded; m_objective03_FlyToStart.OnMissionCleanUp += O03FlyToStartCleanUp; m_objectives.Add(m_objective03_FlyToStart); m_objective04_Race = new MyObjectiveRace( (MyTextsWrapperEnum.JUNKYARD_RETURN_RACE_Name), (MyTextsWrapperEnum.JUNKYARD_RETURN_RACE_PrepareName), (MyTextsWrapperEnum.JUNKYARD_RETURN_RACE_GoBackName), MyMissionID.JUNKYARD_RETURN_RACE, (MyTextsWrapperEnum.JUNKYARD_RETURN_RACE_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_FLY_TO_START }, baseSector, m_raceCheckpoints, (uint)EntityID.DetectorStartRacePosition2 ) { SaveOnSuccess = true }; m_objective04_Race.RacerNames = new List <string> { "Racer2", "Racer3", "Challenger" }; m_objective04_Race.BotLoaded += Race_BotLoaded; m_objective04_Race.OnMissionLoaded += O04RaceLoaded; m_objective04_Race.OnMissionFailed += RaceMissionFailed; m_objective04_Race.OnMissionSuccess += Objective04_RaceOnOnMissionSuccess; m_objective04_Race.CheckpointReached += RaceMissonOnCheckpointReached; m_objective04_Race.OnStartNumberChanged += RaceStartNumberChanged; m_objective04_Race.RaceStarted = RaceStarted; m_objectives.Add(m_objective04_Race); m_objective05_Win = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_RETURN_WIN_Name), MyMissionID.JUNKYARD_RETURN_WIN, (MyTextsWrapperEnum.JUNKYARD_RETURN_WIN_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_RACE }, MyDialogueEnum.JUNKYARD_RETURN_1300 ) { SaveOnSuccess = false }; m_objectives.Add(m_objective05_Win); m_objective05_Win.OnMissionLoaded += O05WinLoaded; m_objective06_GoToSmuggler = new MyMeetObjective( (MyTextsWrapperEnum.JUNKYARD_RETURN_GO_TO_SMUGGLER_name), MyMissionID.JUNKYARD_RETURN_GO_TO_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_RETURN_GO_TO_SMUGGLER_Description), this, new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_WIN }, null, (uint)EntityID.Manjeet, 100, 0.25f, null ) { SaveOnSuccess = true, FollowMe = false }; m_objectives.Add(m_objective06_GoToSmuggler); m_objective07_SmugglerDialogueReturn = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_RETURN_DIALOGUE_RETURN_Name), MyMissionID.JUNKYARD_RETURN_DIALOGUE_RETURN, (MyTextsWrapperEnum.JUNKYARD_RETURN_DIALOGUE_RETURN_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_RETURN_GO_TO_SMUGGLER }, dialogId: MyDialogueEnum.JUNKYARD_RETURN_1400 ) { SaveOnSuccess = false }; m_objectives.Add(m_objective07_SmugglerDialogueReturn); m_objective07_SmugglerDialogueReturn.OnMissionLoaded += O07SmugglerDialogueReturnLoaded; #endregion }
public MyChineseRefineryMission() { ID = MyMissionID.CHINESE_REFINERY; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.CHINESE_REFINERY; Description = MyTextsWrapperEnum.CHINESE_REFINERY_Description; // "Sneak throught the Chinese Refinery station and hack their system\n" DebugName = new StringBuilder("08c-Chinese refinery of Jingzhou"); // Name of mission Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-2716080, 0, 4951053); // Story sector of the script - i.e. (-2465,0,6541) Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.CHINESE_TRANSPORT }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.CHINESE_REFINERY_15_LAND_INSIDE_THE_TRANSPORTER }; RequiredActors = new MyActorEnum[] { MyActorEnum.TARJA }; m_objectives = new List<MyObjective>(); // Creating of list of submissions m_objective01_GetCloserToAsteroid = new MyObjective( (MyTextsWrapperEnum.CHINESE_REFINERY_01_GET_CLOSER_Name), MyMissionID.CHINESE_REFINERY_01_GET_CLOSER, (MyTextsWrapperEnum.CHINESE_REFINERY_01_GET_CLOSER_Description), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.O01GetCloserToAsterid), startDialogId: MyDialogueEnum.CHINESE_REFINERY_0100_GO_CLOSER ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudBackDoor }; m_objectives.Add(m_objective01_GetCloserToAsteroid); m_objective02_GetInside = new MyObjective( (MyTextsWrapperEnum.CHINESE_REFINERY_02_GET_IN_Name), MyMissionID.CHINESE_REFINERY_02_GET_IN, (MyTextsWrapperEnum.CHINESE_REFINERY_02_GET_IN_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_01_GET_CLOSER }, new MyMissionLocation(baseSector, (uint)EntityID.O02GetInside), startDialogId: MyDialogueEnum.CHINESE_REFINERY_0150_GET_INSIDE ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(m_objective02_GetInside); m_objective03_FindSecretRoom = new MyObjective( (MyTextsWrapperEnum.CHINESE_REFINERY_03_FIND_SECRET_ROOM_Name), MyMissionID.CHINESE_REFINERY_03_FIND_SECRET_ROOM, (MyTextsWrapperEnum.CHINESE_REFINERY_03_FIND_SECRET_ROOM_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_02_GET_IN }, new MyMissionLocation(baseSector, (uint)EntityID.O03FindSecretRoom) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudResearchRoom }; m_objectives.Add(m_objective03_FindSecretRoom); m_objective03_D_FindSecterRoom = new MyObjectiveDialog( (MyTextsWrapperEnum.CHINESE_REFINERY_03_D_FIND_SECRET_ROOM_Name), MyMissionID.CHINESE_REFINERY_03_D_FIND_SECRET_ROOM, (MyTextsWrapperEnum.CHINESE_REFINERY_03_D_FIND_SECRET_ROOM_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_03_FIND_SECRET_ROOM }, dialogId: MyDialogueEnum.CHINESE_REFINERY_0200_LABORATORY ) { SaveOnSuccess = false }; m_objectives.Add(m_objective03_D_FindSecterRoom); m_objective04_SetVirus = new MyObjective( (MyTextsWrapperEnum.CHINESE_REFINERY_04_SET_VIRUS_Name), MyMissionID.CHINESE_REFINERY_04_SET_VIRUS, (MyTextsWrapperEnum.CHINESE_REFINERY_04_SET_VIRUS_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_03_D_FIND_SECRET_ROOM }, null, startDialogId: MyDialogueEnum.CHINESE_REFINERY_0300_DEACTIVATE_BOMB ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHub }; m_objective04_SetVirus.MissionEntityIDs.Add((uint)EntityID.HUBSecretRoomComputer); m_objectives.Add(m_objective04_SetVirus); m_objective05_DeactivateBomb = new MyUseObjective( (MyTextsWrapperEnum.CHINESE_REFINERY_05_DEACTIVATE_BOMB_Name), MyMissionID.CHINESE_REFINERY_05_DEACTIVATE_BOMB, (MyTextsWrapperEnum.CHINESE_REFINERY_05_DEACTIVATE_BOMB_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_04_SET_VIRUS }, new MyMissionLocation(baseSector, (uint)EntityID.NuclearHeadDummy), MyTextsWrapperEnum.PressToDeactivateNuclearHead, MyTextsWrapperEnum.NuclearHead, MyTextsWrapperEnum.DeactivatingInProgress, 5000, MyUseObjectiveType.Repairing ) { SaveOnSuccess = false }; m_objectives.Add(m_objective05_DeactivateBomb); m_objective06_GetToFirstTunnel = new MyObjective( (MyTextsWrapperEnum.CHINESE_REFINERY_06_GET_TO_FIRST_TUNNEL_Name), MyMissionID.CHINESE_REFINERY_06_GET_TO_FIRST_TUNNEL, (MyTextsWrapperEnum.CHINESE_REFINERY_06_GET_TO_FIRST_TUNNEL_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_05_DEACTIVATE_BOMB }, new MyMissionLocation(baseSector, (uint)EntityID.O06GetToFirstTunnel), startDialogId: MyDialogueEnum.CHINESE_REFINERY_0400_GO_TO_SECOND_ASTEROID ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudTunnel }; m_objectives.Add(m_objective06_GetToFirstTunnel); m_objective07_PastFirstTunnel = new MyObjective( (MyTextsWrapperEnum.CHINESE_REFINERY_07_PAST_FIRST_TUNNEL_Name), MyMissionID.CHINESE_REFINERY_07_PAST_FIRST_TUNNEL, (MyTextsWrapperEnum.CHINESE_REFINERY_07_PAST_FIRST_TUNNEL_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_06_GET_TO_FIRST_TUNNEL }, new MyMissionLocation(baseSector, (uint)EntityID.O07PastFirstTunnel) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudEnd }; m_objectives.Add(m_objective07_PastFirstTunnel); m_objective08_SetBugInComputer = new MyObjective( (MyTextsWrapperEnum.CHINESE_REFINERY_08_SET_BUG_IN_COMPUTER_Name), MyMissionID.CHINESE_REFINERY_08_SET_BUG_IN_COMPUTER, (MyTextsWrapperEnum.CHINESE_REFINERY_08_SET_BUG_IN_COMPUTER_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_07_PAST_FIRST_TUNNEL }, null, startDialogId: MyDialogueEnum.CHINESE_REFINERY_0500_FIND_THE_COMPUTER ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudHub }; m_objective08_SetBugInComputer.MissionEntityIDs.Add((uint)EntityID.HUBSetBugComputer); m_objectives.Add(m_objective08_SetBugInComputer); m_objective09_GetToSecondTunnel = new MyObjective( (MyTextsWrapperEnum.CHINESE_REFINERY_09_GET_TO_SECOND_TUNNEL_Name), MyMissionID.CHINESE_REFINERY_09_GET_TO_SECOND_TUNNEL, (MyTextsWrapperEnum.CHINESE_REFINERY_09_GET_TO_SECOND_TUNNEL_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_08_SET_BUG_IN_COMPUTER }, new MyMissionLocation(baseSector, (uint)EntityID.O09GetToSecondTunnel), startDialogId: MyDialogueEnum.CHINESE_REFINERY_0600_GO_TO_THIRD_ASTEROID ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudTunnel }; m_objectives.Add(m_objective09_GetToSecondTunnel); m_objective10_PastSecondTunnel = new MyObjective( (MyTextsWrapperEnum.CHINESE_REFINERY_10_PAST_SECOND_TUNNEL_Name), MyMissionID.CHINESE_REFINERY_10_PAST_SECOND_TUNNEL, (MyTextsWrapperEnum.CHINESE_REFINERY_10_PAST_SECOND_TUNNEL_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_09_GET_TO_SECOND_TUNNEL }, new MyMissionLocation(baseSector, (uint)EntityID.O10PastSecondTunnel) ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudEnd }; m_objectives.Add(m_objective10_PastSecondTunnel); m_objective11_SneakInsideTheStation = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it (MyTextsWrapperEnum.CHINESE_REFINERY_11_SNEAK_INSIDE_THE_STATION_Name), // Name of the submission MyMissionID.CHINESE_REFINERY_11_SNEAK_INSIDE_THE_STATION, // ID of the submission - must be added to MyMissions.cs (MyTextsWrapperEnum.CHINESE_REFINERY_11_SNEAK_INSIDE_THE_STATION_Description), // Description of the submission null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_10_PAST_SECOND_TUNNEL }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.O11SneakToStation), startDialogId: MyDialogueEnum.CHINESE_REFINERY_0700_SNEAK_INSIDE_THE_STATION ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudBackDoor }; // False means do not save game in that checkpoint m_objectives.Add(m_objective11_SneakInsideTheStation); // Adding this submission to the list of submissions of current mission m_objective12_GetToOldPath = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it (MyTextsWrapperEnum.CHINESE_REFINERY_12_GET_TO_OLD_PATH_Name), // Name of the submission MyMissionID.CHINESE_REFINERY_12_GET_TO_OLD_PATH, // ID of the submission - must be added to MyMissions.cs (MyTextsWrapperEnum.CHINESE_REFINERY_12_GET_TO_OLD_PATH_Description), // Description of the submission null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_11_SNEAK_INSIDE_THE_STATION }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.O12GetOldPath), startDialogId: MyDialogueEnum.CHINESE_REFINERY_0800_FIND_THE_OLD_PATH ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.Nothing }; // False means do not save game in that checkpoint m_objectives.Add(m_objective12_GetToOldPath); // Adding this submission to the list of submissions of current mission m_objective13_HackRefineryComputer = new MyObjective( // Var is used to call functions on that member (MyTextsWrapperEnum.CHINESE_REFINERY_13_HACK_REFINARY_COMPUTER_Name), MyMissionID.CHINESE_REFINERY_13_HACK_REFINARY_COMPUTER, (MyTextsWrapperEnum.CHINESE_REFINERY_13_HACK_REFINARY_COMPUTER_Description), null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_12_GET_TO_OLD_PATH }, null, startDialogId:MyDialogueEnum.CHINESE_REFINERY_0900_HACK_THE_COMPUTER ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudHub }; m_objective13_HackRefineryComputer.MissionEntityIDs.Add((uint)EntityID.HUBRefineryComputer); m_objectives.Add(m_objective13_HackRefineryComputer); m_objective14_GetOutOfTheStation = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it (MyTextsWrapperEnum.CHINESE_REFINERY_14_GET_OUT_OF_THE_STATION_Name), // Name of the submission MyMissionID.CHINESE_REFINERY_14_GET_OUT_OF_THE_STATION, // ID of the submission - must be added to MyMissions.cs (MyTextsWrapperEnum.CHINESE_REFINERY_14_GET_OUT_OF_THE_STATION_Description), // Description of the submission null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_13_HACK_REFINARY_COMPUTER }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.O14GetOutOfTheStation), startDialogId: MyDialogueEnum.CHINESE_REFINERY_1000_GET_OUT ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.Nothing }; // False means do not save game in that checkpoint m_objectives.Add(m_objective14_GetOutOfTheStation); // Adding this submission to the list of submissions of current mission m_objective15_LandInsideTheTransporter = new MyObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it (MyTextsWrapperEnum.CHINESE_REFINERY_15_LAND_INSIDE_THE_TRANSPORTER_Name), // Name of the submission MyMissionID.CHINESE_REFINERY_15_LAND_INSIDE_THE_TRANSPORTER, // ID of the submission - must be added to MyMissions.cs (MyTextsWrapperEnum.CHINESE_REFINERY_15_LAND_INSIDE_THE_TRANSPORTER_Description), // Description of the submission null, this, new MyMissionID[] { MyMissionID.CHINESE_REFINERY_14_GET_OUT_OF_THE_STATION }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission new MyMissionLocation(baseSector, (uint)EntityID.O15LandIn) // ID of dummy point of checkpoint ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.HudTransport }; // False means do not save game in that checkpoint m_objectives.Add(m_objective15_LandInsideTheTransporter); // Adding this submission to the list of submissions of current mission m_objective05_DeactivateBomb.OnMissionSuccess += O05DeactivateBombSuccess; m_objective04_SetVirus.OnMissionSuccess += O04SetVirusSuccess; m_objective08_SetBugInComputer.OnMissionSuccess += O08SetBugInComputerSuccess; m_objective13_HackRefineryComputer.OnMissionSuccess += O13HackRefinerySuccess; m_objective01_GetCloserToAsteroid.OnMissionLoaded += M01GetCloserToAsteroidLoaded; m_objective03_FindSecretRoom.OnMissionLoaded += M03FindSecretRoomLoaded; m_objective04_SetVirus.OnMissionLoaded += M04SetVirusLoaded; m_objective05_DeactivateBomb.OnMissionLoaded += M05DeactivateBombLoaded; m_objective06_GetToFirstTunnel.OnMissionLoaded += M06GetToFirstTunnelLoaded; m_objective07_PastFirstTunnel.OnMissionLoaded += M07PastFirstTunnelLoaded; m_objective08_SetBugInComputer.OnMissionLoaded += M08SetBugInComputerLoaded; m_objective10_PastSecondTunnel.OnMissionLoaded += M10PastSecondTunnelLoaded; m_objective11_SneakInsideTheStation.OnMissionLoaded += M11SneakInsideTheStationLoaded; m_objective13_HackRefineryComputer.OnMissionLoaded += M13HackRefineryComputerLoaded; m_objective14_GetOutOfTheStation.OnMissionLoaded += M14GetOutOfTheStationLoaded; }
public MyJunkyardConvinceMission() { ID = MyMissionID.JUNKYARD_CONVINCE; /* ID must be added to MyMissions.cs */ Name = MyTextsWrapperEnum.JUNKYARD_CONVINCE; Description = MyTextsWrapperEnum.JUNKYARD_CONVINCE_Description; //"Convince the Smuggler to join you in your mission \n" DebugName = new StringBuilder("08a-Junkyard"); // Name of mission Flags = MyMissionFlags.Story; AchievementName = MySteamAchievementNames.Mission08_JunkyardDuncan; MyMwcVector3Int baseSector = new MyMwcVector3Int(2567538,0,-172727); // Story sector of the script - i.e. (-2465,0,6541) Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); // Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.LAST_HOPE }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_RETURN_TO_MS }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN, }; #region Objectives m_objectives = new List<MyObjective>(); // Creating of list of submissions // ----- objectives ----- m_objective01FindInformator = new MyMeetObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FIND_INFORMATOR_Name), // Name of the submission MyMissionID.JUNKYARD_CONVINCE_FIND_INFORMATOR, // ID of the submission - must be added to MyMissions.cs (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FIND_INFORMATOR_Description), // Description of the submission this, new MyMissionID[] { }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission null, "RavenGirl", 250, 1.00f, startDialogueId:MyDialogueEnum.JUNKYARD_CONVINCE_0100_INTRODUCE ) { // False means do not save game in that checkpoint SaveOnSuccess = false, FollowMe = false }; m_objective01FindInformator.OnMissionLoaded += O01FindInformatorLoaded; m_objectives.Add(m_objective01FindInformator); m_objective01BFindInformator = new MyObjectiveDialog( MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_FIND_INFORMATOR_Name, MyMissionID.JUNKYARD_CONVINCE_D_FIND_INFORMATOR, MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_FIND_INFORMATOR_Description, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_FIND_INFORMATOR }, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_0200_INFORMATOR ) { SaveOnSuccess = false, }; m_objective01BFindInformator.OnMissionLoaded += O01BFindInformatorLoaded; m_objective01BFindInformator.OnMissionSuccess += O01BFindInformatorSuccess; m_objectives.Add(m_objective01BFindInformator); m_objective02FindSmuggler = new MyObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FIND_SMUGGLER_Name), MyMissionID.JUNKYARD_CONVINCE_FIND_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FIND_SMUGGLER_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_D_FIND_INFORMATOR }, new MyMissionLocation(baseSector, (uint) EntityID.FindSmuggler) // ID of dummy point of checkpoint ) { SaveOnSuccess = false, SuccessDialogId = MyDialogueEnum.JUNKYARD_CONVINCE_0300_RUN, HudName = MyTextsWrapperEnum.HudManjeet }; m_objective02FindSmuggler.OnMissionLoaded += O02FindSmugglerLoaded; m_objective02FindSmuggler.OnMissionSuccess += O2FindSmugglerSuccess; m_objectives.Add(m_objective02FindSmuggler); m_objective04FollowSmuggler = new MyMeetObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FOLLOW_SMUGGLER_Name), MyMissionID.JUNKYARD_CONVINCE_FOLLOW_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FOLLOW_SMUGGLER_Description), this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_FIND_SMUGGLER }, null, (uint) EntityID.Smuggler, 300, 1.00f ) { SaveOnSuccess = false, FollowMe = false }; m_objective04FollowSmuggler.OnMissionLoaded += O04FollowSmugglerLoaded; m_objective04FollowSmuggler.OnMissionSuccess += O04FollowSmugglerSuccess; m_objectives.Add(m_objective04FollowSmuggler); m_objective04DFollowSmuggler = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_FOLLOW_SMUGGLER_Name), MyMissionID.JUNKYARD_CONVINCE_D_FOLLOW_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_FOLLOW_SMUGGLER_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_FOLLOW_SMUGGLER }, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_0500_CATCHED ) { SaveOnSuccess = false, }; m_objectives.Add(m_objective04DFollowSmuggler); m_objective04DFollowSmuggler.OnMissionLoaded += O04DFollowSmugglerLoaded; m_objective04DFollowSmuggler.OnMissionSuccess += O04DFollowSmugglerSuccess; m_objective05GetCloserToEnemy = new MyObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FLY_TO_ENEMY_Name), MyMissionID.JUNKYARD_CONVINCE_FLY_TO_ENEMY, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FLY_TO_ENEMY_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_D_FOLLOW_SMUGGLER }, new MyMissionLocation(baseSector, (uint) EntityID.FlyToEnemy), radiusOverride: 500f ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; m_objective05GetCloserToEnemy.OnMissionLoaded += O05GetCloserToEnemyLoaded; m_objectives.Add(m_objective05GetCloserToEnemy); m_objective05MetZappasFirstGangman = new MyObjectiveDialog( MyMissionID.JUNKYARD_CONVINCE_MEET_GANGMAN, null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_FLY_TO_ENEMY }, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_0650_MET_ZAPPA_GUARD ); m_objectives.Add(m_objective05MetZappasFirstGangman); m_objective05MetZappasFirstGangman.OnMissionLoaded += O05MetZappasFirstGangmanLoaded; m_objective05MetZappasFirstGangman.OnMissionSuccess += O05MetZappasFirstGangmanSuccess; m_objective06KillWaves = new MyDestroyWavesObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_KILL_WAVES_Name), MyMissionID.JUNKYARD_CONVINCE_KILL_WAVES, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_KILL_WAVES_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_MEET_GANGMAN }, null, null, null, null, 4 ) { SaveOnSuccess = false }; m_objective06KillWaves.AddWave(new List<uint> {(uint)EntityID.SP1_1, (uint)EntityID.SP1_2, (uint)EntityID.SP1_3, (uint)EntityID.SP1_4}); m_objective06KillWaves.AddWave(new List<uint> {(uint)EntityID.SP2_1, (uint)EntityID.SP2_2}); m_objective06KillWaves.AddWave(new List<uint> { (uint)EntityID.SP3_1, (uint)EntityID.SP3_2, (uint)EntityID.SP3_3 }); m_objective06KillWaves.OnMissionLoaded += O06KillWavesLoaded; m_objective06KillWaves.OnMissionSuccess += O06KillWavesSuccess; m_objectives.Add(m_objective06KillWaves); m_objective07SpeakWithMomo = new MyMeetObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_SPEAK_WITH_MOMO_Name), MyMissionID.JUNKYARD_CONVINCE_SPEAK_WITH_MOMO, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_SPEAK_WITH_MOMO_Description), this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_KILL_WAVES }, null, (uint?) null, 500, 1.00f ) { SaveOnSuccess = false, FollowMe = false }; m_objectives.Add(m_objective07SpeakWithMomo); m_objective07DSpeakWithMomo = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_SPEAK_WITH_MOMO_Name), MyMissionID.JUNKYARD_CONVINCE_D_SPEAK_WITH_MOMO, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_SPEAK_WITH_MOMO_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_SPEAK_WITH_MOMO }, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_0900_THE_MOMO ) { SaveOnSuccess = false }; m_objectives.Add(m_objective07DSpeakWithMomo); m_objective07DSpeakWithMomo.OnMissionLoaded += O07DSpeakWithMomoLoaded; m_objective07DSpeakWithMomo.OnMissionSuccess += O07DSpeakWithMomoSuccess; m_objective08FightMomo = new MyObjectiveDestroy( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FIGHT_MOMO_Name), MyMissionID.JUNKYARD_CONVINCE_FIGHT_MOMO, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_FIGHT_MOMO_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_D_SPEAK_WITH_MOMO }, null, new List<uint> { (uint) EntityID.SP4_1, (uint) EntityID.SP4_2, (uint) EntityID.MomoZappaSP }, true ) { SaveOnSuccess = false, HudName = MyTextsWrapperEnum.Nothing }; m_objective08FightMomo.OnMissionLoaded += O08FightMomoLoaded; m_objectives.Add(m_objective08FightMomo); m_objective09ReturnToSmuggler = new MyMeetObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_RETURN_TO_SMUGGLER_Name), MyMissionID.JUNKYARD_CONVINCE_RETURN_TO_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_RETURN_TO_SMUGGLER_Description), this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_FIGHT_MOMO }, null, (uint) EntityID.Smuggler, 300, 1.00f //startDialogueId: MyDialogueEnum.JUNKYARD_CONVINCE_1000_LAST_OF_THEM ) { SaveOnSuccess = true, FollowMe = false }; m_objective09ReturnToSmuggler.OnMissionLoaded += O09ReturnToSmugglerLoaded; m_objectives.Add(m_objective09ReturnToSmuggler); m_objective09DReturnToSmuggler = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_RETURN_TO_SMUGGLER_Name), MyMissionID.JUNKYARD_CONVINCE_D_RETURN_TO_SMUGGLER, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_RETURN_TO_SMUGGLER_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_RETURN_TO_SMUGGLER }, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_1100_FIGHT_ENDS ) { SaveOnSuccess = false }; m_objectives.Add(m_objective09DReturnToSmuggler); m_objective09DReturnToSmuggler.OnMissionLoaded += O09DReturnToSmugglerLoaded; m_objective09DReturnToSmuggler.OnMissionSuccess += O09DReturnToSmugglerSuccess; m_objective10FindBombDealer = new MyMeetObjective( // One member of that list - its type defines the type of submission - MySubmission means fly to the dummypoint to success. Here it is var so you cannot call methods on it (MyTextsWrapperEnum.JUNKYARD_CONVINCE_GO_TO_BOMB_DEALER_Name), // Name of the submission MyMissionID.JUNKYARD_CONVINCE_GO_TO_BOMB_DEALER, // ID of the submission - must be added to MyMissions.cs (MyTextsWrapperEnum.JUNKYARD_CONVINCE_GO_TO_BOMB_DEALER_Description), // Description of the submission this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_D_RETURN_TO_SMUGGLER }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission null, (uint) EntityID.BombDealer, 300, 1.00f ) { SaveOnSuccess = false, RequiredActors = new MyActorEnum[] { MyActorEnum.TARJA, MyActorEnum.VALENTIN }, FollowMe = false }; m_objective10FindBombDealer.OnMissionLoaded += O10FindBombDealerLoaded; m_objectives.Add(m_objective10FindBombDealer); m_objective10DFindBombDealer = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_GO_TO_BOMB_DEALER_Name), MyMissionID.JUNKYARD_CONVINCE_D_GO_TO_BOMB_DEALER, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_GO_TO_BOMB_DEALER_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_GO_TO_BOMB_DEALER}, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_1300_BOMB_DEALER ) { SaveOnSuccess = false }; m_objectives.Add(m_objective10DFindBombDealer); m_objective10DFindBombDealer.OnMissionLoaded += O10DFindBombDealerLoaded; m_objective10DFindBombDealer.OnMissionSuccess += O10DFindBombDealerSuccess; m_objective11GetToMarcus = new MyMeetObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_GO_TO_MARCUS_Name), MyMissionID.JUNKYARD_CONVINCE_GO_TO_MARCUS, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_GO_TO_MARCUS_Description), this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_D_GO_TO_BOMB_DEALER }, null, "Marcus", 300, 1.00f ) { SaveOnSuccess = true, FollowMe = false, }; m_objective11GetToMarcus.OnMissionLoaded += O11GetToMarcusLoaded; m_objective11GetToMarcus.OnMissionSuccess += O11GetToMarcusSuccess; m_objectives.Add(m_objective11GetToMarcus); var objective11DGetToMarcus = new MyObjectiveDialog( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_GO_TO_MARCUS_Name), MyMissionID.JUNKYARD_CONVINCE_D_GO_TO_MARCUS, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_D_GO_TO_MARCUS_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_GO_TO_MARCUS }, dialogId: MyDialogueEnum.JUNKYARD_CONVINCE_1400_ARRIVED_AT_MARCUS ) { SaveOnSuccess = false }; m_objectives.Add(objective11DGetToMarcus); m_objective12BrFight = new MyDestroyWavesObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_BR_FIGHT_Name), MyMissionID.JUNKYARD_CONVINCE_BR_FIGHT, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_BR_FIGHT_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_D_GO_TO_MARCUS }, new List<uint> { (uint) EntityID.BR_SP_1, (uint) EntityID.BR_SP_2, (uint) EntityID.BR_SP_3, (uint) EntityID.BR_SP_4, (uint) EntityID.BR_SP_Boss } ) { SaveOnSuccess = false, StartDialogId = MyDialogueEnum.JUNKYARD_CONVINCE_1500_GANGSTER_FIGHT_STARTED, SuccessDialogId = MyDialogueEnum.JUNKYARD_CONVINCE_1600_GO_TO_MS }; m_objective12BrFight.OnMissionLoaded += O12BRFightLoaded; m_objective12BrFight.OnMissionSuccess += O12BRFightSuccess; m_objective12BrFight.AddWave(m_killWavesSecond1); m_objective12BrFight.AddWave(m_killWavesSecond2); m_objective12BrFight.AddWave(m_killWavesSecond3); m_objective12BrFight.AddWave(m_killWavesSecond4); m_objectives.Add(m_objective12BrFight); m_objective13FlyToMS = new MyObjective( (MyTextsWrapperEnum.JUNKYARD_CONVINCE_RETURN_TO_MS_Name), MyMissionID.JUNKYARD_CONVINCE_RETURN_TO_MS, (MyTextsWrapperEnum.JUNKYARD_CONVINCE_RETURN_TO_MS_Description), null, this, new MyMissionID[] { MyMissionID.JUNKYARD_CONVINCE_BR_FIGHT }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), radiusOverride: 300f ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.JUNKYARD_CONVINCE_1700_FINALE, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; m_objectives.Add(m_objective13FlyToMS); #endregion m_spawns.AddRange(m_killWavesSecond1); m_spawns.AddRange(m_killWavesSecond2); m_spawns.AddRange(m_killWavesSecond3); m_spawns.AddRange(m_killWavesSecond4); }