예제 #1
0
 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);

        }
예제 #4
0
        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);
                }
            }
        }
예제 #5
0
        //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
        }
예제 #6
0
        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>();
 }
예제 #10
0
 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);
 }
예제 #12
0
        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);
            }
예제 #14
0
 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)
 {
 
 }
예제 #15
0
        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;
        }
예제 #16
0
 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
        }
예제 #18
0
 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;
 }
예제 #19
0
        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


        }
예제 #25
0
        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;
 }
예제 #27
0
        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


        }
예제 #29
0
        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


        }
예제 #31
0
        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)
            //        ));
        }
예제 #32
0
 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)
 {
 }
예제 #33
0
            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);
            }
예제 #34
0
        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);
        }
예제 #35
0
        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;
        }
예제 #36
0
 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
        }
예제 #38
0
        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);
             */
        }
예제 #40
0
 public static MyServerAction StartSandboxMission(MyMissionID startMission)
 {
     MySession.Static = new MySinglePlayerSession(MyGameplayDifficultyEnum.NORMAL);
     MySession.Static.Init();
     return(MySession.Static.LoadSandboxMission(startMission));
 }
예제 #41
0
        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);
        }
예제 #42
0
 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
        }
예제 #45
0
        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
            },
예제 #46
0
        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;
 }
예제 #50
0
        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);
        }
예제 #51
0
        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;
 }
예제 #53
0
 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
        }
예제 #55
0
 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);
        }
예제 #57
0
        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!");
        }
예제 #58
0
        ///////////////////// 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));
        }
예제 #59
0
 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;
 }
예제 #60
0
        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);
        }