public MyTimedObjective(StringBuilder name, MyMissionID id, StringBuilder description, MyTexture2D icon, MyMission parentMission, MyMissionID[] requiredMissions, TimeSpan submissionDuration, bool isOn) : this(name, id, description, icon, parentMission, requiredMissions, submissionDuration) { m_isOn = isOn; m_defaultState = m_isOn; DisplayCounter = true; }
public MyMultipleUseObjective( MyTextsWrapperEnum name, MyMissionID id, MyTextsWrapperEnum description, MyTexture2D icon, MyMission parentMission, MyMissionID[] requiredMissions, MyTextsWrapperEnum notificationText, MyTextsWrapperEnum useCaption, MyTextsWrapperEnum useText, int requiredTime, List<uint> MissionEntityIDs, MyUseObjectiveType objectiveType = MyUseObjectiveType.Hacking, MyDialogueEnum? startDialogId = null) : base(name, id, description, icon, parentMission, requiredMissions, null, MissionEntityIDs, startDialogId: startDialogId) { m_notificationText = notificationText; m_useText = useText; m_useCaption = useCaption; m_requiredTime = requiredTime; m_objectiveType = objectiveType; }
public MyStealthPlayground() { ID = MyMissionID.STEALTH_PLAYGROUND; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Stealth playground"); Name = Localization.MyTextsWrapperEnum.EmptyDescription; Description = Localization.MyTextsWrapperEnum.EmptyDescription; MyMwcVector3Int baseSector = new MyMwcVector3Int(-2, 0, 0); Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); RequiredMissions = new MyMissionID[] { MyMissionID.STEALTH_PLAYGROUND }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN }; m_objectives = new List<MyObjective>(); //var playgroundSubmission = new MySubmission( // new StringBuilder("Move like a ninja!"), // MyMissionID.PLAYGROUND_SUBMISSION_01, // new StringBuilder(""), // null, // this, // new MyMissionID[] { }, // new MyMissionLocation(baseSector, 831) //); //playgroundSubmission.OnMissionSuccess += PlaygroundSubmissionSubmissionSuccess; //m_submissions.Add(playgroundSubmission); }
public MyUseObjective( MyTextsWrapperEnum name, MyMissionID id, MyTextsWrapperEnum description, MyTexture2D icon, MyMission parentMission, MyMissionID[] requiredMissions, MyMissionLocation location, MyTextsWrapperEnum notificationText, MyTextsWrapperEnum useCaption, MyTextsWrapperEnum useText, int requiredTime, MyUseObjectiveType objectiveType = MyUseObjectiveType.Hacking, MyDialogueEnum? successDialogId = null, MyDialogueEnum? startDialogId = null, float? radiusOverride = null, List<uint> fakeMissionIds = null, uint? realMissionId = null) : base(name, id, description, icon, parentMission, requiredMissions, location, fakeMissionIds, successDialogId, startDialogId, radiusOverride: radiusOverride) { m_notificationText = notificationText; m_useText = useText; m_useCaption = useCaption; m_requiredTime = requiredTime; m_realMissionEntityId = realMissionId; InitSounds(objectiveType); if (location != null) { if (location.LocationEntityIdentifier.LocationEntityId != null) { RequiredEntityIDs.Add(location.LocationEntityIdentifier.LocationEntityId.Value); } } }
//BLOCK FOR CLASS MEMBERS //END OF BLOCK public MyMedina622Mission() { ID = MyMissionID.TRADE_STATION_ARABS; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Medina 622 mission"); // Name of mission Name = Localization.MyTextsWrapperEnum.MEDINA_622; Description = Localization.MyTextsWrapperEnum.MEDINA_622_Description; // Description of mission - do not forget to \n at the end of each line //Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(4027778, 0, 861110); // 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.ALIEN_GATE*/ }; // IDs of missions required to make this mission available RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN }; m_objectives = new List<MyObjective>(); // Creating of list of submissions //// START OF REACH OBJECTIVE SUBMISSION DEFINITION //var flyInside = 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("Fly over there"), // Name of the submission // MyMissionID.TRADE_STATION_ARABS_FLY_TARGET, // 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.FlyTarget) // ID of dummy point of checkpoint //) { SaveOnSuccess = false }; // False means do not save game in that checkpoint //m_objectives.Add(flyInside); // Adding this submission to the list of submissions of current mission //// END OF REACH OBJECTIVE SUBMISSION DEFINITION }
public static void SetupActors(MyMissionID missionID) { int missionNumber = MyMissions.GetMissionNumber(missionID); if (missionNumber < 0) { return; } MyEntity entity; if (MyEntities.TryGetEntityByName("Marcus", out entity)) { var marcus = entity as MySmallShipBot; SetupMarcus(missionNumber, marcus); } if (MyEntities.TryGetEntityByName("RavenGirl", out entity)) { var tarja = entity as MySmallShipBot; SetupTarja(missionNumber, tarja); } if (MyEntities.TryGetEntityByName("RavenGuy", out entity)) { var valentin = entity as MySmallShipBot; SetupValentin(missionNumber, valentin); } }
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 MyHarvestOreSubmission(MyTextsWrapperEnum name, MyMissionID id, MyTextsWrapperEnum description, MyTexture2D icon, MyMission parentMission, MyMissionID[] requiredMissions, MyMissionLocation location, MyMwcObjectBuilder_Ore_TypesEnum ore, float amount, MyDialogueEnum successDialogId) : base(name, id, description, icon, parentMission, requiredMissions, null, successDialogId: successDialogId) { Location = location; m_amount = amount; m_ore = ore; }
public MyObjectiveGetToLocations(StringBuilder Name, MyMissionID ID, StringBuilder Description, MyTexture2D Icon, MyMission ParentMission, MyMissionID[] RequiredMissions, List<MyMissionLocation> DummiesToVisit, Audio.Dialogues.MyDialogueEnum? successDialogId = null, Audio.Dialogues.MyDialogueEnum? startDialogId = null, bool displayObjectivesCount = true) : base(Name, ID, Description, Icon, ParentMission, RequiredMissions, null, null, successDialogId, startDialogId, displayObjectivesCount) { Debug.Assert(DummiesToVisit != null); Debug.Assert(DummiesToVisit.Count > 0); m_dummiesToVisit = DummiesToVisit; m_dummiesVisited = new List<MyMissionLocation>(); }
public MyObjectiveDestroy(MyTextsWrapperEnum name, MyMissionID id, MyTextsWrapperEnum description, MyTexture2D icon, MyMission parentMission, MyMissionID[] requiredMissions, List<uint> toKill, List<uint> toKillSpawnpoints, bool showMarks = true, bool displayObjectivesCount = true, MyDialogueEnum? successDialogID = null, MyDialogueEnum? startDialogID = null) : base(name, id, description, icon, parentMission, requiredMissions, null, displayObjectivesCount: displayObjectivesCount, successDialogId: successDialogID, startDialogId: startDialogID) { m_toKill = toKill; m_toKillSpawnpoints = toKillSpawnpoints; m_showMarks = showMarks; FailIfEntityDestroyed = false; MakeEntityIndestructible = false; }
public MyObjectiveDisablePrefabs(MyTextsWrapperEnum name, MyMissionID id, MyTextsWrapperEnum description, MyTexture2D icon, MyMission parentMission, MyMissionID[] requiredMissions, List<uint> toDisable, List<uint> disableBy, bool displayObjectivesCount = true, bool markObjectsToDisable = true, MyDialogueEnum? successDialogId = null, MyDialogueEnum? startDialogId = null) : base(name, id, description, icon, parentMission, requiredMissions, null, disableBy, successDialogId, startDialogId, displayObjectivesCount: displayObjectivesCount) { m_toDisable = toDisable; m_markObjectsToDisable = markObjectsToDisable; RequiredEntityIDs.AddRange(toDisable); }
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 MyBarthsMoonSubmissionTalkWithThomasBarth(MyTextsWrapperEnum Name, MyMissionID ID, MyTextsWrapperEnum Description, MyMission ParentMission, MyMissionID[] RequiredMissions, MyDialogueEnum? dialogue, bool restartPatrol = true, MyDialogueEnum? startDialogue = null, string pathName = "interior2") : base(Name, ID, Description, null, ParentMission, RequiredMissions, null, null, dialogue) { m_botToTalkId = (uint)EntityID.ThomasBartId; m_botDetectorId = (uint)EntityID.ThomasBartDetectorId; m_distanceToTalk = 100; m_restartPatrol = restartPatrol; m_pathName = pathName; MissionEntityIDs.Add(m_botToTalkId); }
public MySabotageSubmission( StringBuilder name, MyMissionID id, StringBuilder description, MyTexture2D icon, MyMission parentMission, MyMissionID[] requiredMissions, MyMissionLocation location) : this(name, id, description, icon, parentMission, requiredMissions, location, MyTextsWrapperEnum.NotificationSabotageSubmission) { }
public MyMeetObjective(MyTextsWrapperEnum Name, MyMissionID ID, MyTextsWrapperEnum Description, MyMission ParentMission, MyMissionID[] RequiredMissions, uint? detectorId, uint? botId, float distanceToTalk = 50, float slowdown = 0.25f, MyDialogueEnum? successDialogueId = null, MyDialogueEnum? startDialogueId = null, bool stopFollow = true) : base(Name, ID, Description, null, ParentMission, RequiredMissions, null, null, successDialogueId, startDialogueId) { m_botToTalkId = botId; m_botDetectorId = detectorId; m_distanceToTalk = distanceToTalk; m_slowdown = slowdown; //m_detectorDialog = detectorDialogId; m_stopFollow = stopFollow; FollowMe = true; }
public MyMeetObjective(StringBuilder Name, MyMissionID ID, StringBuilder Description, MyMission ParentMission, MyMissionID[] RequiredMissions, uint? detectorId, string botName, float distanceToTalk = 50, float slowdown = 0.25f, MyDialogueEnum? successDialogueId = null, MyDialogueEnum? startDialogueId = null, bool stopFollow = true) : base(Name, ID, Description, null, ParentMission, RequiredMissions, null, null, successDialogueId, startDialogueId) { m_botDetectorId = detectorId; m_distanceToTalk = distanceToTalk; m_slowdown = slowdown; //m_detectorDialog = detectorDialogId; m_stopFollow = stopFollow; m_constructorFromName = true; m_botName = botName; FollowMe = true; }
//BLOCK FOR CLASS MEMBERS //END OF BLOCK public MyChineseSolarArrayAttackMission() { ID = MyMissionID.SOLAR_PLANT_CHINA; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Destroy the Chinese solar plant"); // Name of mission Name = MyTextsWrapperEnum.SOLAR_PLANT_CHINA; Description = MyTextsWrapperEnum.SOLAR_PLANT_CHINA_Description; //Flags = MyMissionFlags.Story; MyMwcVector3Int baseSector = new MyMwcVector3Int(-1185103, 0, 3822834); // 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.ALIEN_GATE*/ }; // IDs of missions required to make this mission available RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.SOLAR_PLANT_CHINA_FLY_TARGET }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN }; m_objectives = new List<MyObjective>(); // Creating of list of submissions //var destroy1 = new MyObjectiveDestroy( // new StringBuilder("Destroy the comm station"), // MyMissionID.SOLAR_PLANT_CHINA_DESTROY_TARGET_1, // new StringBuilder("Destroy the satellite communication station to prevent the Chinese from calling reinforcements.\n"), // null, // this, // new MyMissionID[] { }, // new List<uint>() { (uint)EntityID.DestroyPrefab1Id } //) { SaveOnSuccess = false }; //m_objectives.Add(destroy1); //var destroy2 = new MyObjectiveDestroy( // new StringBuilder("Destroy the accumulators"), // MyMissionID.SOLAR_PLANT_CHINA_DESTROY_TARGET_2, // new StringBuilder("Destroying three accumulators will seriously disrupt the energy supply of the Chinese.\n"), // null, // this, // new MyMissionID[] { MyMissionID.SOLAR_PLANT_CHINA_DESTROY_TARGET_1 }, // new List<uint>() { (uint)EntityID.DestroyPrefab2Id, (uint)EntityID.DestroyPrefab3Id, (uint)EntityID.DestroyPrefab4Id } //) { SaveOnSuccess = false }; //m_objectives.Add(destroy2); //// START OF REACH OBJECTIVE SUBMISSION DEFINITION //var flyInside = 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 Madelyn"), // Name of the submission // MyMissionID.SOLAR_PLANT_CHINA_FLY_TARGET, // ID of the submission - must be added to MyMissions.cs // new StringBuilder("Fly to your mothership to get away.\n"), // Description of the submission // null, // this, // new MyMissionID[] { MyMissionID.SOLAR_PLANT_CHINA_DESTROY_TARGET_2 }, // ID of submissions required to make this submission available - it is clear so this submission is the starting submission // new MyMissionLocation(baseSector, (uint)EntityID.FlyTarget) // ID of dummy point of checkpoint //) { SaveOnSuccess = false }; // False means do not save game in that checkpoint //m_objectives.Add(flyInside); // Adding this submission to the list of submissions of current mission //// END OF REACH OBJECTIVE SUBMISSION DEFINITION }
public MySabotageSubmission( StringBuilder name, MyMissionID id, StringBuilder description, MyTexture2D icon, MyMission parentMission, MyMissionID[] requiredMissions, MyMissionLocation location, MyTextsWrapperEnum notificationText) : base(name, id, description, icon, parentMission, requiredMissions, location, null) { m_notificationText = notificationText; }
public MyNewNanjingMission() { ID = MyMissionID.NEW_NANJING; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("New Nanjing"); // Name of mission Name = MyTextsWrapperEnum.NEW_NANJING; Description = MyTextsWrapperEnum.NEW_NANJING_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(719329, 0, 3942993); // 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 }
public MyArabianBorderMission() { ID = MyMissionID.ARABIAN_BORDER; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Arabian border"); // Name of mission Name = MyTextsWrapperEnum.ARABIAN_BORDER; Description = MyTextsWrapperEnum.ARABIAN_BORDER_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(6477920, 0, -2331108); // 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 }
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 MyMilitaryOutpostMission() { ID = MyMissionID.MILITARY_OUTPOST; /* ID must be added to MyMissions.cs */ Name = new StringBuilder("Military outpost"); // Name of mission Description = new StringBuilder("Conquer the outposts.\n "); MyMwcVector3Int baseSector = new MyMwcVector3Int(-3210402, 0, 2812826); // 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 }
public MyMothershipCrashMission() { ID = MyMissionID.MOTHERSHIP_CRASH; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Mothership Crash"); // Name of mission Name = MyTextsWrapperEnum.MOTHERSHIP_CRASH; Description = MyTextsWrapperEnum.MOTHERSHIP_CRASHL_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(-6450733, 0, -5060566); // 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 }
public MyAsteroidComplexMission() { ID = MyMissionID.ASTEROID_COMPLEX; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Asteroid complex"); // Name of mission Name = MyTextsWrapperEnum.ASTEROID_COMPLEX; Description = MyTextsWrapperEnum.ASTEROID_COMPLEX_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(2066666, 0, -7666666); // 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 }
public MyConvoyMission() { ID = MyMissionID.CONVOY; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Convoy"); // Name of mission Name = MyTextsWrapperEnum.CONVOY; Description = MyTextsWrapperEnum.CONVOY_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(-1179792, 0, -5253184); // 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 }
public MyObjectiveEnablePrefabs( StringBuilder name, MyMissionID id, StringBuilder description, MyTexture2D icon, MyMission parentMission, MyMissionID[] requiredMissions, MyMissionLocation location, List<uint> missionEntityIDs, List<uint> toEnablePrefabs, MyDialogueEnum? successDialogId = null, MyDialogueEnum? startDialogId = null) : base(name, id, description, icon, parentMission, requiredMissions, location, missionEntityIDs, successDialogId, startDialogId) { m_toEnablePrefabs = toEnablePrefabs; }
public MyGatesOfHellMission() { ID = MyMissionID.GATES_OF_HELL; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Gates of Hell"); // Name of mission Name = MyTextsWrapperEnum.GATES_OF_HELL; Description = MyTextsWrapperEnum.GATES_OF_HELL_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(-3852627, 0, -2074149); // 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 }
public MyFactoryAmbushMission() { ID = MyMissionID.FACTORY_AMBUSH; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Factory Ambush"); // Name of mission Name = MyTextsWrapperEnum.FACTORY_AMBUSH; Description = MyTextsWrapperEnum.FACTORY_AMBUSH_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(-1120106, 0, -11892620); // 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 }
public MyEACCapitalMission() { ID = MyMissionID.EAC_CAPITAL; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("New NYC - EAC Capital"); // Name of mission Name = MyTextsWrapperEnum.EAC_CAPITAL; Description = MyTextsWrapperEnum.EAC_CAPITAL_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(6494595, 0, -4998184); // 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 }
public IntergalacticHighway() { ID = MyMissionID.INTERGALACTIC_HIGHWAY; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Intergalatic highway"); // Name of mission Name = MyTextsWrapperEnum.INTERGALACTIC_HIGHWAY; Description = MyTextsWrapperEnum.INTERGALACTIC_HIGHWAY_Description; MyMwcVector3Int baseSector = new MyMwcVector3Int(4546561, 0, -6059286); // 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 }
public MyIntroMission() { ID = MyMissionID.M01_Intro; DebugName = new StringBuilder("Intro mission"); Name = MyTextsWrapperEnum.M01_Intro; Description = MyTextsWrapperEnum.M01_Intro_Description; //Location = new Vector3(100, -300, 0); RequiredMissions = new MyMissionID[] { }; //RequiredTime = new DateTime(1, 1, 1, 0, 0, 15); // use MyFirstMission //m_submissions = new List<MySubmission> // { // new MySubmission( // ID: MyMissionID.M01_Intro_Mining, // Name: new StringBuilder("Mine 50 ore"), // Description: new StringBuilder(""), // Icon: null, // ParentMission: this, // RequiredMissions: new MyMissionID[] {}, // Location: new Vector3(250, 250, 250) // ), // new MySubmission( // ID: MyMissionID.M01_Intro_Sell, // Name: new StringBuilder("Sell the ore"), // Description: new StringBuilder(""), // Icon: null, // ParentMission: this, // RequiredMissions: new MyMissionID[] { MyMissionID.M01_Intro_Mining }, // Location: new Vector3(100, 500, 500) // ), // new MySubmission( // ID: MyMissionID.M01_Intro_Buy, // Name: new StringBuilder("Buy a weapon"), // Description: new StringBuilder(""), // Icon: null, // ParentMission: this, // RequiredMissions: new MyMissionID[] { MyMissionID.M01_Intro_Sell }, // Location: new Vector3(500, 100, 500) // ), // new MySubmission( // ID: MyMissionID.M01_Intro_Kill, // Name: new StringBuilder("Kill the enemy"), // Description: new StringBuilder("He may not survive."), // Icon: null, // ParentMission: this, // RequiredMissions: new MyMissionID[] { MyMissionID.M01_Intro_Buy }, // Location: new Vector3(500, 500, 100) // ) // }; //MyMissions.AddMission(new MySubmission( // ID: MyMissionID.M01_Intro_Mining, // Name: new StringBuilder("Mine"), // Description: new StringBuilder(""), // Icon: null, // ParentMission: this, // RequiredMissions: new MyMissionID[] { MyMissionID.M01_Intro }, // Location: new Vector3(500, 500, 500) // )); //MyMissions.AddMission(new MySubmission( // ID: MyMissionID.M01_Intro_Sell, // Name: new StringBuilder("Sell the ore"), // Description: new StringBuilder(""), // Icon: null, // ParentMission: this, // RequiredMissions: new MyMissionID[] { MyMissionID.M01_Intro_Mining }, // Location: new Vector3(100, 500, 500) // )); //MyMissions.AddMission(new MySubmission( // ID: MyMissionID.M01_Intro_Buy, // Name: new StringBuilder("Buy a weapon"), // Description: new StringBuilder(""), // Icon: null, // ParentMission: this, // RequiredMissions: new MyMissionID[] { MyMissionID.M01_Intro_Sell }, // Location: new Vector3(500, 100, 500) // )); //MyMissions.AddMission(new MySubmission( // ID: MyMissionID.M01_Intro_Kill, // Name: new StringBuilder("Kill the enemy"), // Description: new StringBuilder("He may not survive."), // Icon: null, // ParentMission: this, // RequiredMissions: new MyMissionID[] { MyMissionID.M01_Intro_Buy }, // Location: new Vector3(500, 500, 100) // )); }
public MyObjectiveDestroy(MyTextsWrapperEnum name, MyMissionID id, MyTextsWrapperEnum description, MyTexture2D icon, MyMission parentMission, MyMissionID[] requiredMissions, List <uint> toKill, bool displayObjectivesCount = true, MyDialogueEnum?successDialogID = null, MyDialogueEnum?startDialogID = null) : this(name, id, description, icon, parentMission, requiredMissions, toKill, new List <uint>(), true, displayObjectivesCount, successDialogID, startDialogID) { }
public MyBarthsMoonSubmissionTalkWithThomasBarth(MyTextsWrapperEnum Name, MyMissionID ID, MyTextsWrapperEnum Description, MyMission ParentMission, MyMissionID[] RequiredMissions, MyDialogueEnum?dialogue, bool restartPatrol = true, MyDialogueEnum?startDialogue = null, string pathName = "interior2") : base(Name, ID, Description, null, ParentMission, RequiredMissions, null, null, dialogue) { m_botToTalkId = (uint)EntityID.ThomasBartId; m_botDetectorId = (uint)EntityID.ThomasBartDetectorId; m_distanceToTalk = 100; m_restartPatrol = restartPatrol; m_pathName = pathName; MissionEntityIDs.Add(m_botToTalkId); }
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 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 MyObjectiveDefend(StringBuilder name, MyMissionID id, StringBuilder description, MyTexture2D icon, MyMission parentMission, MyMissionID[] requiredMissions, List <uint> toKill, List <uint> toDefend, bool displayObjectivesCount = true) : this(name, id, description, icon, parentMission, requiredMissions, toKill, new List <uint>(), toDefend, true, displayObjectivesCount) { }
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 MyServerAction LoadSandboxMission(MyMissionID startMission) { var startSector = MyMissions.GetMissionByID(startMission).Location.Sector; return(LoadSandbox(startSector, null, startMission)); }
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 static MyServerAction StartSandboxMission(MyMissionID startMission) { MySession.Static = new MySinglePlayerSession(MyGameplayDifficultyEnum.NORMAL); MySession.Static.Init(); return(MySession.Static.LoadSandboxMission(startMission)); }
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); }
private void ReloadGameplayNewGame(MyMwcObjectBuilder_Checkpoint checkpoint, MyMissionID missionId) { MyGuiScreenGamePlay.ReloadGameplayScreen(checkpoint, MyMwcStartSessionRequestTypeEnum.NEW_STORY, MyGuiScreenGamePlayType.GAME_STORY, missionId, MyMwcTravelTypeEnum.SOLAR); }
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 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 }
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 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 MyTimedMeetObjective(MyTextsWrapperEnum Name, MyMissionID ID, MyTextsWrapperEnum Description, MyMission ParentMission, MyMissionID[] RequiredMissions, uint?detectorId, uint botId, float distanceToTalk, float slowdown, TimeSpan submissionDuration, MyDialogueEnum?successDialogueId = null, MyDialogueEnum?startDialogueId = null, bool stopFollow = true) : base(Name, ID, Description, ParentMission, RequiredMissions, detectorId, botId, distanceToTalk, slowdown, successDialogueId, startDialogueId, stopFollow) { m_submissionDuration = submissionDuration; m_remainingTime = submissionDuration; }
private void NewGameSectorLoaded(MyMwcObjectBuilder_Checkpoint checkpoint, byte[] sectorData, MyMissionID missionId) { checkpoint.SectorObjectBuilder = MyMwcObjectBuilder_Base.FromBytes <MyMwcObjectBuilder_Sector>(sectorData); // Save sector to cache MyLocalCache.Save(null, checkpoint.SectorObjectBuilder, checkpoint.CurrentSector); checkpoint.CurrentSector.UserId = MyClientServer.LoggedPlayer.GetUserId(); //TODO: should this be send by server? ReloadGameplayNewGame(checkpoint, missionId); }
public MyPlaygroundMission() { ID = MyMissionID.PLAYGROUND; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("Playground"); Name = MyTextsWrapperEnum.PLAYGROUND; Description = MyTextsWrapperEnum.EmptyDescription; Flags = MyMissionFlags.HiddenInSolarMap; MyMwcVector3Int baseSector = new MyMwcVector3Int(-85381496, 0, -85381496); Location = new MyMissionLocation(baseSector, 315); RequiredMissions = new MyMissionID[] { }; m_objectives = new List <MyObjective>(); var placeRadarMission = new MyUseObjective( new StringBuilder("Find a place for the alien radar"), MyMissionID.PLAYGROUND_SUBMISSION_01, new StringBuilder(""), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)1889), MyTextsWrapperEnum.PressToTakeTransmitter, MyTextsWrapperEnum.Transmitter, MyTextsWrapperEnum.TransferInProgress, 10 ) { SaveOnSuccess = false }; placeRadarMission.OnMissionSuccess += PlaceRadarSucces; m_objectives.Add(placeRadarMission); /* * var playgroundSubmission = new MySubmission( * new StringBuilder("Play around a little"), * MyMissionID.PLAYGROUND_SUBMISSION_02, * new StringBuilder(""), * null, * this, * new MyMissionID[] { }, * new MyMissionLocation(baseSector, 831) * ); * playgroundSubmission.OnMissionSuccess += PlaygroundSubmissionSubmissionSuccess; * m_submissions.Add(playgroundSubmission); */ /* * m_cubeSubmission = new MySubmission( * new StringBuilder("3D cubes"), * MyMissionID.PLAYGROUND_SUBMISSION_02, * new StringBuilder("Reach the exit. Enter every cube exactly once."), * null, * this, * new MyMissionID[] { MyMissionID.PLAYGROUND_SUBMISSION_01 }, * null * ); * m_submissions.Add(m_cubeSubmission); */ m_subShakeAction = new MyTimerActionDelegate(SubShake); m_shakeAction = new MyTimerActionDelegate(FarExplosion); }
public MyObjectiveWatchSigns(StringBuilder Name, MyMissionID ID, StringBuilder Description, MyTexture2D Icon, MyMission ParentMission, MyMissionID[] RequiredMissions, uint target, Audio.Dialogues.MyDialogueEnum?dialogId = null) : base(Name, ID, Description, Icon, ParentMission, RequiredMissions, null, null, null, dialogId) { m_targetId = target; }
public MyObjectiveGetItems(MyTextsWrapperEnum name, MyMissionID id, MyTextsWrapperEnum description, MyTexture2D icon, MyMission parentMission, MyMissionID[] requiredMissions, List <MyItemToGetDefinition> itemsToGet, List <uint> getFrom) : base(name, id, description, icon, parentMission, requiredMissions, null, getFrom) { m_itemsToGet = itemsToGet; }
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 MyMultipleObjectives(StringBuilder Name, MyMissionID ID, StringBuilder Description, MyTexture2D Icon, MyMission ParentMission, MyMissionID[] RequiredMissions, MyMissionLocation Location, List <uint> MissionEntityIDs = null, Audio.Dialogues.MyDialogueEnum?successDialogId = null, Audio.Dialogues.MyDialogueEnum?startDialogId = null, bool displayObjectivesCount = true) : base(Name, ID, Description, Icon, ParentMission, RequiredMissions, Location, MissionEntityIDs, successDialogId, startDialogId) { m_displayObjectivesCount = displayObjectivesCount; AdditionalHudInformation = new StringBuilder(); }
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); }
private MyServerAction NewGameStarted(MyMwcObjectBuilder_Checkpoint checkpoint, MyMissionID missionId) { MyLocalCache.ClearCurrentSave(); MyClientServer.LoggedPlayer.HasAnyCheckpoints = false; Debug.Assert(checkpoint.CurrentSector.UserId == null, "New game checkpoint.CurrentSector must be story sector"); var cachedSector = MyLocalCache.LoadSector(checkpoint.CurrentSector); if (cachedSector != null) { checkpoint.SectorObjectBuilder = cachedSector; checkpoint.CurrentSector.UserId = MyClientServer.LoggedPlayer.GetUserId(); ReloadGameplayNewGame(checkpoint, missionId); return(null); } throw new MyDataCorruptedException("New game story checkpoint does not contain first sector!"); }
///////////////////// NEW STUFF ////////////////////////// #region NEW_GAME /// <summary> /// Initializes a new single player session and start new game /// </summary> public static MyServerAction StartNewGame(MyGameplayDifficultyEnum difficulty, MyMissionID startMission = MyMissionID.EAC_SURVEY_SITE) { MySession.Static = new MySinglePlayerSession(difficulty); MySession.Static.Init(); return(MySession.Static.NewGame(startMission)); }
public MyObjectiveDefend(StringBuilder name, MyMissionID id, StringBuilder description, MyTexture2D icon, MyMission parentMission, MyMissionID[] requiredMissions, List <uint> toKill, List <uint> toKillSpawnpoints, List <uint> toDefend, bool showMarks = true, bool displayObjectivesCount = true) : base(name, id, description, icon, parentMission, requiredMissions, toKill, toKillSpawnpoints, showMarks, displayObjectivesCount) { m_toDefend = toDefend; }
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); }