public MyFortValiantMissionC() : base() { ID = MyMissionID.FORT_VALIANT_C; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("09e-Fort Valiant C"); // Name of mission Name = MyTextsWrapperEnum.FORT_VALIANT_C; Description = MyTextsWrapperEnum.FORT_VALIANT_C_Description; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.MARCUS, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocationC); //StartLocationC Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.SLAVER_BASE_2 }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.FORT_VALIANT_C_PICK_UP_EQUIP }; AchievementName = MySteamAchievementNames.Mission17_FortValiantDungeons; #region Objectives m_objectives = new List <MyObjective>(); var speakCaptain = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_CAPTAIN_Name), MyMissionID.FORT_VALIANT_C_CAPTAIN, (MyTextsWrapperEnum.FORT_VALIANT_C_CAPTAIN_Description), this, new MyMissionID[] { }, (uint)EntityID.CaptainDummy, (uint)EntityID.Captain, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_C_0100, null, false ) { SaveOnSuccess = true, FollowMe = false, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0100_BEGIN, HudName = MyTextsWrapperEnum.HudCaptainCedric }; speakCaptain.OnMissionSuccess += SpeakCaptainOnOnMissionSuccess; m_objectives.Add(speakCaptain); var reachUpperFloor = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_UPPER_FLOOR_Name), MyMissionID.FORT_VALIANT_C_UPPER_FLOOR, (MyTextsWrapperEnum.FORT_VALIANT_C_UPPER_FLOOR_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_CAPTAIN }, new MyMissionLocation(baseSector, (uint)EntityID.UpperFloorDummy) ) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(reachUpperFloor); var meetRoyal = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_TALK_Name), MyMissionID.FORT_VALIANT_C_EQUIP_TALK, (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_TALK_Description), this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_UPPER_FLOOR }, (uint)EntityID.RoyalDummy, (uint)EntityID.BotRoyal, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_C_0200, null, false ) { SaveOnSuccess = true, FollowMe = false }; m_objectives.Add(meetRoyal); var giveoutEquipment = new MyUseObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_Name), MyMissionID.FORT_VALIANT_C_EQUIP, (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_EQUIP_TALK }, new MyMissionLocation(baseSector, (uint)EntityID.RoyalCargoBoxDetector), MyTextsWrapperEnum.PressToGiveEquipment, MyTextsWrapperEnum.CargoBox, MyTextsWrapperEnum.TransferInProgress, 3000, MyUseObjectiveType.Activating ) { SaveOnSuccess = true }; giveoutEquipment.OnMissionSuccess += GiveoutEquipmentOnOnMissionSuccess; m_objectives.Add(giveoutEquipment); var meetOfficers = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_MEET_OFFICIALS_Name), MyMissionID.FORT_VALIANT_C_MEET_OFFICIALS, (MyTextsWrapperEnum.FORT_VALIANT_C_MEET_OFFICIALS_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_EQUIP }, new MyMissionLocation(baseSector, (uint)EntityID.OfficalsDetector), null ) { StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0300, SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_0400, HudName = MyTextsWrapperEnum.HudChamber }; m_objectives.Add(meetOfficers); var leaveOfficers = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_OFFICIALS_Name), MyMissionID.FORT_VALIANT_C_LEAVE_OFFICIALS, (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_OFFICIALS_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_MEET_OFFICIALS }, new MyMissionLocation(baseSector, (uint)EntityID.OfficalsleaveDetector), null ) { SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_0500, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(leaveOfficers); var followPath = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_FOLLOW_Name), MyMissionID.FORT_VALIANT_C_LEAVE_FOLLOW, (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_FOLLOW_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_LEAVE_OFFICIALS }, new MyMissionLocation(baseSector, (uint)EntityID.FollowPathDetector), null, null) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(followPath); var speakWithSir = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SPEAK_SIR_Name), MyMissionID.FORT_VALIANT_C_SPEAK_SIR, (MyTextsWrapperEnum.FORT_VALIANT_C_SPEAK_SIR_Description), this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_LEAVE_FOLLOW }, (uint)EntityID.SirBendivereDummy, (uint)EntityID.BotTemplar, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_C_0600, null, false ) { SaveOnSuccess = true, FollowMe = false, HudName = MyTextsWrapperEnum.HudSirGeraint }; m_objectives.Add(speakWithSir); var getItemsFromCargoBoxes = new MyObjectiveGetItems( (MyTextsWrapperEnum.FORT_VALIANT_C_GET_EQUP_CARGO_Name), MyMissionID.FORT_VALIANT_C_GET_EQUP_CARGO, (MyTextsWrapperEnum.FORT_VALIANT_C_GET_EQUP_CARGO_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SPEAK_SIR }, new List <MyItemToGetDefinition>() { new MyItemToGetDefinition(MyMwcObjectBuilderTypeEnum.SmallShip_HackingTool, (int)MyMwcObjectBuilder_SmallShip_HackingTool_TypesEnum.Level_1) }, new List <uint>() { (uint)EntityID.CargoBox } ) { SaveOnSuccess = true }; m_objectives.Add(getItemsFromCargoBoxes); var findEntrance = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION_Name), MyMissionID.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION, (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_GET_EQUP_CARGO }, new MyMissionLocation(baseSector, (uint)EntityID.Ventilation), null, null) { StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0700, HudName = MyTextsWrapperEnum.HudEntrance }; findEntrance.OnMissionLoaded += FindEntranceOnOnMissionLoaded; m_objectives.Add(findEntrance); var disableScanner = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE_Name), MyMissionID.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE, (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION }, new List <uint> { (uint)EntityID.DisableScanner }, new List <uint> { (uint)EntityID.DisableScannerHub }, false, false ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0800, HudName = MyTextsWrapperEnum.HudSecurityHub }; disableScanner.OnMissionLoaded += DisableScannerOnOnMissionLoaded; m_objectives.Add(disableScanner); var scanners1 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS1_Name), MyMissionID.FORT_VALIANT_C_SCANNERS1, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS1_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation1)) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_1000, HudName = MyTextsWrapperEnum.Nothing }; //scanners1.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorGuardsDialogue, MyDialogueEnum.FORT_VALIANT_C_1100)); scanners1.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorSensorsDialogue, MyDialogueEnum.FORT_VALIANT_C_1200)); m_objectives.Add(scanners1); var scanners2 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS2_Name), MyMissionID.FORT_VALIANT_C_SCANNERS2, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS2_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS1 }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation2)) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; scanners2.OnMissionSuccess += Scanners2OnOnMissionSuccess; m_objectives.Add(scanners2); var scanners23 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS23_Name), MyMissionID.FORT_VALIANT_C_SCANNERS23, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS23_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS2 }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation23)) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(scanners23); m_findArtifact = new MyUseObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_TAKE_ARTEFACT_Name), MyMissionID.FORT_VALIANT_C_TAKE_ARTEFACT, (MyTextsWrapperEnum.FORT_VALIANT_C_TAKE_ARTEFACT_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS23 }, null, MyTextsWrapperEnum.NotificationTakeArtifact, MyTextsWrapperEnum.Artifact, MyTextsWrapperEnum.TakingInProgress, 3000, MyUseObjectiveType.Taking, null, null, null, new List <uint>() { (uint)EntityID.Box1Marker, (uint)EntityID.Box2Marker, (uint)EntityID.Box3Marker, (uint)EntityID.Box4Marker }, (uint)EntityID.ArtifactDummy ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_1400 }; m_findArtifact.OnMissionLoaded += FindArtifactOnOnMissionLoaded; m_findArtifact.OnMissionSuccess += FindArtifactOnOnMissionSuccess; m_findArtifact.Components.Add(new MyTimedDialogue(new TimeSpan(0, 0, 10), MyDialogueEnum.FORT_VALIANT_C_1500)); m_objectives.Add(m_findArtifact); var vault = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_VALUT_Name), MyMissionID.FORT_VALIANT_C_VALUT, (MyTextsWrapperEnum.FORT_VALIANT_C_VALUT_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_TAKE_ARTEFACT }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation2)) { HudName = MyTextsWrapperEnum.Nothing }; vault.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorSecurityFields, MyDialogueEnum.FORT_VALIANT_C_1700)); vault.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorOpenDoors, MyDialogueEnum.FORT_VALIANT_C_1800)); vault.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorComputer, MyDialogueEnum.FORT_VALIANT_C_1900)); m_objectives.Add(vault); m_disableScanner2 = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.FORT_VALIANT_C_TURN_OFF_SCANNER_Name), MyMissionID.FORT_VALIANT_C_TURN_OFF_SCANNER, (MyTextsWrapperEnum.FORT_VALIANT_C_TURN_OFF_SCANNER_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_VALUT }, new List <uint> { (uint)EntityID.DisableSnanners2 }, new List <uint> { (uint)EntityID.DisableScanner2Hub }, false ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_2100, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_disableScanner2.OnMissionSuccess += DisableScanner2_Success; m_objectives.Add(m_disableScanner2); var scanners4 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS4_Name), MyMissionID.FORT_VALIANT_C_SCANNERS4, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS4_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_TURN_OFF_SCANNER }, new MyMissionLocation(baseSector, (uint)EntityID.HigherFloors)) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(scanners4); var elevator = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_TOP_ELEVATOR_Name), MyMissionID.FORT_VALIANT_C_TOP_ELEVATOR, (MyTextsWrapperEnum.FORT_VALIANT_C_TOP_ELEVATOR_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS4 }, new MyMissionLocation(baseSector, (uint)EntityID.ElevatorDummy)) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(elevator); var escape = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_VENT_SYSTEM_Name), MyMissionID.FORT_VALIANT_C_VENT_SYSTEM, (MyTextsWrapperEnum.FORT_VALIANT_C_VENT_SYSTEM_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_TOP_ELEVATOR }, new MyMissionLocation(baseSector, (uint)EntityID.EscapeVentSystemDummy)) { SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_2300, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(escape); var useCatacombs = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_CATACOMBS_Name), MyMissionID.FORT_VALIANT_C_CATACOMBS, (MyTextsWrapperEnum.FORT_VALIANT_C_CATACOMBS_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_VENT_SYSTEM }, new MyMissionLocation(baseSector, (uint)EntityID.EscapeCatacombsDummy) //startDialogId: dialog9 ) { HudName = MyTextsWrapperEnum.Nothing }; useCatacombs.OnMissionSuccess += UseCatacombsOnOnMissionSuccess; m_objectives.Add(useCatacombs); var getItemsFromCargoBoxes2 = new MyUseObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_PICK_UP_EQUIP_Name), MyMissionID.FORT_VALIANT_C_PICK_UP_EQUIP, (MyTextsWrapperEnum.FORT_VALIANT_C_PICK_UP_EQUIP_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_CATACOMBS }, new MyMissionLocation(baseSector, (uint)EntityID.RoyalCargoBoxDetector), MyTextsWrapperEnum.PressToTakeCargo, MyTextsWrapperEnum.CargoBox, MyTextsWrapperEnum.TakingInProgress, 3000, MyUseObjectiveType.Taking //startDialogId: dialog10 ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_2400 }; getItemsFromCargoBoxes2.Components.Add(new MyDetectorDialogue((uint)EntityID.GetItemsWayBackDialogue, MyDialogueEnum.FORT_VALIANT_C_2500)); getItemsFromCargoBoxes2.OnMissionSuccess += GetItemsFromCargoBoxesOnOnMissionSuccess; m_objectives.Add(getItemsFromCargoBoxes2); #endregion }
public MyEACPrisonMission() { ID = MyMissionID.EAC_PRISON; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("20-EAC prison"); Name = MyTextsWrapperEnum.EAC_PRISON; Description = MyTextsWrapperEnum.EAC_PRISON_Description; Flags = MyMissionFlags.Story; AchievementName = MySteamAchievementNames.Mission29_EacPrison; MyMwcVector3Int baseSector = new MyMwcVector3Int(5480055, 0, -5077310); /* sector where the mission is located */ Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); //posledne cislo - ID dummy pointu kde prijimam misiu RequiredMissions = new MyMissionID[] { MyMissionID.TWIN_TOWERS }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.EAC_PRISON_MEETINGPOINT }; RequiredActors = new MyActorEnum[] { MyActorEnum.TARJA, MyActorEnum.VALENTIN, MyActorEnum.MADELYN, MyActorEnum.MARCUS }; m_objectives = new List <MyObjective>(); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeStorage, 0, (uint)EntityID.SpawnpointAtStorage)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeIndustry, 0, (uint)EntityID.SpawnpointAtIndustry1)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeIndustry, 0, (uint)EntityID.SpawnpointAtIndustry2)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeParking, 0, (uint)EntityID.SpawnpointAtParking)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeMines, 0, (uint)EntityID.SpawnpointAtMines)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeMinesEntrance, 0, (uint)EntityID.SpawnpointAtMinesEntrance)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeMarcusCell, 0, (uint)EntityID.SpawnpointAtMarcusCell)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck7, 0, (uint)EntityID.SpawnpointAtSecurityCheck7)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck6, 0, (uint)EntityID.SpawnpointAtSecurityCheck6)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck8, 0, (uint)EntityID.SpawnpointAtSecurityCheck8)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck4, 0, (uint)EntityID.SpawnpointAtSecurityCheck4)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCellAfterSecurityCheck4, 0, (uint)EntityID.SpawnpointAtCellAfterSecurityCheck4)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck5, 0, (uint)EntityID.SpawnpointAtSecurityCheck5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell1AfterSecurityCheck5, 0, (uint)EntityID.SpawnpointAtCell1AfterSecurityCheck5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell2AfterSecurityCheck5, 0, (uint)EntityID.SpawnpointAtCell2AfterSecurityCheck5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell3AfterSecurityCheck5, 0, (uint)EntityID.SpawnpointAtCell3AfterSecurityCheck5)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeSecurityCheck3, 0, (uint)EntityID.SpawnpointAtSecurityCheck3)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell1AfterSecurityCheck3, 0, (uint)EntityID.SpawnpointAtCell1AfterSecurityCheck3)); Components.Add(new MySpawnpointWaves((uint)EntityID.DetectorBeforeCell2AfterSecurityCheck3, 0, (uint)EntityID.SpawnpointAtCell2AfterSecurityCheck3)); //Components.Add(new MySpawnpointWaves(detectorId, 3, new List<uint[]> { // new uint[] { spawnpointId1, spawnpointId2, spawnpointId3 }, // new uint[] { spawnpointId4, spawnpointId5 }})); //01 var mothershipBattle = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_THRUSWARM_Name), MyMissionID.EAC_PRISON_THRUSWARM, (MyTextsWrapperEnum.EAC_PRISON_THRUSWARM_Description), null, this, new MyMissionID[] {}, new MyMissionLocation(baseSector, (uint)EntityID.MotherShiBattleLocationDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_0100, SuccessDialogId = MyDialogueEnum.EAC_PRISON_0200 }; m_objectives.Add(mothershipBattle); //mothershipBattle.Components.Add(new MySpawnpointWaves(77073, 0, 76625)); mothershipBattle.OnMissionLoaded += mothershipBattle_OnMissionLoaded; //02 var destroySolarDefence = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_PRISON_SOLARDEF_Name), MyMissionID.EAC_PRISON_SOLARDEF, (MyTextsWrapperEnum.EAC_PRISON_SOLARDEF_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_THRUSWARM }, m_02toKill ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_0300 }; destroySolarDefence.OnMissionSuccess += DestroySolarDefenceOnOnMissionSuccess; m_objectives.Add(destroySolarDefence); destroySolarDefence.OnMissionLoaded += destroySolarDefence_OnMissionLoaded; //03 m_destroySolarPanelsFirst = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_SOLAROFF1_Name), MyMissionID.EAC_PRISON_SOLAROFF1, (MyTextsWrapperEnum.EAC_PRISON_SOLAROFF1_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_SOLARDEF }, null ) { SaveOnSuccess = false }; m_destroySolarPanelsFirst.OnMissionLoaded += DestroySolarPanelsFirstSubmissionLoaded; m_destroySolarPanelsFirst.OnMissionSuccess += DestroySolarPanelsFirstSubmissionSuccess; m_objectives.Add(m_destroySolarPanelsFirst); m_destroySolarPanelsFirst.SaveOnSuccess = true; //04 var motherShipHelp = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_PRISON_MOTHERSHIPHELP_Name), MyMissionID.EAC_PRISON_MOTHERSHIPHELP, (MyTextsWrapperEnum.EAC_PRISON_MOTHERSHIPHELP_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_SOLAROFF1 }, m_04toKill ) { SaveOnSuccess = false, StartDialogId = MyDialogueEnum.EAC_PRISON_0400, SuccessDialogId = MyDialogueEnum.EAC_PRISON_0500 }; m_objectives.Add(motherShipHelp); motherShipHelp.OnMissionLoaded += new MissionHandler(motherShipHelp_OnMissionLoaded); //05 m_destroySolarPanelsSecond = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_SOLAROFF2_Name), MyMissionID.EAC_PRISON_SOLAROFF2, (MyTextsWrapperEnum.EAC_PRISON_SOLAROFF2_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_MOTHERSHIPHELP }, null ) { SaveOnSuccess = true, }; m_destroySolarPanelsSecond.OnMissionLoaded += DestroySolarPanelsSecondSubmissionLoaded; m_destroySolarPanelsSecond.OnMissionSuccess += DestroySolarPanelsSecondSubmissionSuccess; m_objectives.Add(m_destroySolarPanelsSecond); //06 var breakInsideStation = new MyTimedReachLocationObjective( (MyTextsWrapperEnum.EAC_PRISON_BREAKIN_Name), MyMissionID.EAC_PRISON_BREAKIN, (MyTextsWrapperEnum.EAC_PRISON_BREAKIN_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_SOLAROFF2 }, new System.TimeSpan(0, 1, 0), new MyMissionLocation(baseSector, (uint)EntityID.BreakInsideStationLocationDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_0600, HudName = MyTextsWrapperEnum.HudCargoBay }; breakInsideStation.OnMissionSuccess += BreakInsideStationSubmissionSuccess; breakInsideStation.OnMissionLoaded += BreakInsideStationOnOnMissionLoaded; m_objectives.Add(breakInsideStation); //07 var marcusLocationIntel = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_LOCINTEL_Name), MyMissionID.EAC_PRISON_LOCINTEL, (MyTextsWrapperEnum.EAC_PRISON_LOCINTEL_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_BREAKIN }, new MyMissionLocation(baseSector, (uint)EntityID._MarcusIntelLocation), MyTextsWrapperEnum.PressToDownloadData, MyTextsWrapperEnum.Console, MyTextsWrapperEnum.DownloadingData, 5000, MyUseObjectiveType.Hacking ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_objectives.Add(marcusLocationIntel); marcusLocationIntel.OnMissionLoaded += new MissionHandler(marcusLocationIntel_OnMissionLoaded); marcusLocationIntel.OnMissionSuccess += MarcusLocationIntelOnOnMissionSuccess; marcusLocationIntel.Components.Add(new MySpawnpointLimiter(m_spawns, 6)); //08 m_findCircoutPart = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_ACQUIREIDCARD_Name), MyMissionID.EAC_PRISON_ACQUIREIDCARD, (MyTextsWrapperEnum.EAC_PRISON_ACQUIREIDCARD_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_LOCINTEL }, new MyMissionLocation(baseSector, (uint)EntityID.CargoIDCard), MyTextsWrapperEnum.PressToTakeCargo, MyTextsWrapperEnum.TakeAll, MyTextsWrapperEnum.TakeAll, 2000, MyUseObjectiveType.Taking, radiusOverride: 50 ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_0700, HudName = MyTextsWrapperEnum.HudIdCard }; m_findCircoutPart.OnMissionLoaded += OnFindCircuitLoaded; m_findCircoutPart.OnMissionSuccess += new MissionHandler(m_findCircoutPart_OnMissionSuccess); m_objectives.Add(m_findCircoutPart); var marcusLocationIntel2 = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_LOCINTEL2_Name), MyMissionID.EAC_PRISON_LOCINTEL2, (MyTextsWrapperEnum.EAC_PRISON_LOCINTEL2_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_ACQUIREIDCARD }, new MyMissionLocation(baseSector, (uint)EntityID._MarcusIntelLocation), MyTextsWrapperEnum.PressToDownloadData, MyTextsWrapperEnum.Console, MyTextsWrapperEnum.DownloadingData, 5000, MyUseObjectiveType.Hacking ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.EAC_PRISON_0900, StartDialogId = MyDialogueEnum.EAC_PRISON_0800, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_objectives.Add(marcusLocationIntel2); //09 var openDoors = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.EAC_PRISON_OPENACCESS_Name), MyMissionID.EAC_PRISON_OPENACCESS, (MyTextsWrapperEnum.EAC_PRISON_OPENACCESS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_LOCINTEL2 }, null, new List <uint> { (int)EntityID.SecurityHub }, m_09toEnablePrefabs ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_objectives.Add(openDoors); openDoors.OnMissionLoaded += OnOpenDoorsLoaded; //10 var takeOffSecurityCircuit = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.EAC_PRISON_SECURITYOFF_Name), MyMissionID.EAC_PRISON_SECURITYOFF, (MyTextsWrapperEnum.EAC_PRISON_SECURITYOFF_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_OPENACCESS }, new List <uint> { (uint)EntityID.HubHack }, new List <uint> { (uint)EntityID.HubHackGenerator }, false, false ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_1000, HudName = MyTextsWrapperEnum.HudHub }; takeOffSecurityCircuit.OnMissionLoaded += OntakeOffSecuritypartLoaded;//zapne svetlo m_objectives.Add(takeOffSecurityCircuit); //11 var approachMarcusCell = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_MARCUSCELL_Name), MyMissionID.EAC_PRISON_MARCUSCELL, (MyTextsWrapperEnum.EAC_PRISON_MARCUSCELL_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_SECURITYOFF }, new MyMissionLocation(baseSector, (uint)EntityID.MarcusCellLocation), MyTextsWrapperEnum.HoldToMoveMarcus, MyTextsWrapperEnum.Actor_Marcus, MyTextsWrapperEnum.Moving, 4000, MyUseObjectiveType.Taking ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudMarcus }; approachMarcusCell.OnMissionLoaded += OnapproachMarcusLoaded; m_objectives.Add(approachMarcusCell); var marcusLoaded = new MyObjectiveDialog( MyMissionID.EAC_PRISON_MARCUSDIALOG, null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_MARCUSCELL }, MyDialogueEnum.EAC_PRISON_1200 ) { SaveOnSuccess = true }; marcusLoaded.OnMissionLoaded += OnMarcusLoadedLoaded; m_objectives.Add(marcusLoaded); var weHaveCompany = new MyObjectiveDialog( MyMissionID.EAC_PRISON_WE_HAVE_COMPANY, null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_MARCUSDIALOG }, MyDialogueEnum.EAC_PRISON_1250 ) { SaveOnSuccess = false }; weHaveCompany.OnMissionLoaded += OnWeHaveCompanyLoaded; m_objectives.Add(weHaveCompany); //12 var findMarcusSmallShip = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_COVERMARCUS_Name), MyMissionID.EAC_PRISON_COVERMARCUS, (MyTextsWrapperEnum.EAC_PRISON_COVERMARCUS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_WE_HAVE_COMPANY }, new MyMissionLocation(baseSector, (uint)EntityID.MarcusShipDetector), MyTextsWrapperEnum.HoldToMoveMarcus, MyTextsWrapperEnum.Actor_Marcus, MyTextsWrapperEnum.Moving, 4000, MyUseObjectiveType.Putting ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudShip }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_objectives.Add(findMarcusSmallShip); findMarcusSmallShip.OnMissionSuccess += OnSuccesfindMarcusSmallShip; //13 var equipMarcus = new MyUseObjective( (MyTextsWrapperEnum.EAC_PRISON_GETARMS_Name), MyMissionID.EAC_PRISON_GETARMS, (MyTextsWrapperEnum.EAC_PRISON_GETARMS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_COVERMARCUS }, new MyMissionLocation(baseSector, (uint)EntityID.CargoForMarcus), MyTextsWrapperEnum.HoldToMoveWeapons, MyTextsWrapperEnum.Actor_Marcus, MyTextsWrapperEnum.Moving, 4000 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudEquipment }; // destroySolarDefence.OnMissionSuccess += ToHangarSubmissionSuccess; m_objectives.Add(equipMarcus); equipMarcus.OnMissionSuccess += OnEquipMarcussSucces; equipMarcus.OnMissionLoaded += EquipMarcusOnOnMissionLoaded; //14 var fightOutStation = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_FIGHTOUT_Name), MyMissionID.EAC_PRISON_FIGHTOUT, (MyTextsWrapperEnum.EAC_PRISON_FIGHTOUT_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_GETARMS }, new MyMissionLocation(baseSector, (uint)EntityID.StationDummy) ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_1300, SuccessDialogId = MyDialogueEnum.EAC_PRISON_1400, HudName = MyTextsWrapperEnum.Nothing }; fightOutStation.OnMissionLoaded += fightOutStation_OnMissionLoaded; fightOutStation.OnMissionSuccess += fightOutStation_OnMissionSuccess; m_objectives.Add(fightOutStation); //15 var CrushRemainingShips = new MyObjectiveDestroy( (MyTextsWrapperEnum.EAC_PRISON_CRUSHREINFORCEMENTS_Name), MyMissionID.EAC_PRISON_CRUSHREINFORCEMENTS, (MyTextsWrapperEnum.EAC_PRISON_CRUSHREINFORCEMENTS_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_FIGHTOUT }, new List <uint> { }, // entities needed to kill m_15toKillSpawnpoints, // spawnpoint from which bots must be killed false // don't show marks on entities (not from spawnpoint) ) { SaveOnSuccess = true, }; m_objectives.Add(CrushRemainingShips); //16 var GetToMeetingPoint = new MyObjective( (MyTextsWrapperEnum.EAC_PRISON_MEETINGPOINT_Name), MyMissionID.EAC_PRISON_MEETINGPOINT, (MyTextsWrapperEnum.EAC_PRISON_MEETINGPOINT_Description), null, this, new MyMissionID[] { MyMissionID.EAC_PRISON_CRUSHREINFORCEMENTS }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.EAC_PRISON_1500, SuccessDialogId = MyDialogueEnum.EAC_PRISON_1600, HudName = MyTextsWrapperEnum.HudMeetingPoint }; m_objectives.Add(GetToMeetingPoint); }
public MyFortValiantMissionC() : base() { ID = MyMissionID.FORT_VALIANT_C; /* ID must be added to MyMissions.cs */ DebugName = new StringBuilder("09e-Fort Valiant C"); // Name of mission Name = MyTextsWrapperEnum.FORT_VALIANT_C; Description = MyTextsWrapperEnum.FORT_VALIANT_C_Description; RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.MARCUS, MyActorEnum.TARJA, MyActorEnum.VALENTIN }; Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocationC); //StartLocationC Starting dummy point - must by typecasted to uint and referenced from EntityID enum RequiredMissions = new MyMissionID[] { MyMissionID.SLAVER_BASE_2 }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.FORT_VALIANT_C_PICK_UP_EQUIP }; AchievementName = MySteamAchievementNames.Mission17_FortValiantDungeons; #region Objectives m_objectives = new List<MyObjective>(); var speakCaptain = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_CAPTAIN_Name), MyMissionID.FORT_VALIANT_C_CAPTAIN, (MyTextsWrapperEnum.FORT_VALIANT_C_CAPTAIN_Description), this, new MyMissionID[] { }, (uint)EntityID.CaptainDummy, (uint)EntityID.Captain, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_C_0100, null, false ) { SaveOnSuccess = true, FollowMe = false, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0100_BEGIN, HudName = MyTextsWrapperEnum.HudCaptainCedric }; speakCaptain.OnMissionSuccess += SpeakCaptainOnOnMissionSuccess; m_objectives.Add(speakCaptain); var reachUpperFloor = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_UPPER_FLOOR_Name), MyMissionID.FORT_VALIANT_C_UPPER_FLOOR, (MyTextsWrapperEnum.FORT_VALIANT_C_UPPER_FLOOR_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_CAPTAIN }, new MyMissionLocation(baseSector, (uint)EntityID.UpperFloorDummy) ) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(reachUpperFloor); var meetRoyal = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_TALK_Name), MyMissionID.FORT_VALIANT_C_EQUIP_TALK, (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_TALK_Description), this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_UPPER_FLOOR }, (uint)EntityID.RoyalDummy, (uint)EntityID.BotRoyal, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_C_0200, null, false ) { SaveOnSuccess = true, FollowMe = false }; m_objectives.Add(meetRoyal); var giveoutEquipment = new MyUseObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_Name), MyMissionID.FORT_VALIANT_C_EQUIP, (MyTextsWrapperEnum.FORT_VALIANT_C_EQUIP_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_EQUIP_TALK }, new MyMissionLocation(baseSector, (uint)EntityID.RoyalCargoBoxDetector), MyTextsWrapperEnum.PressToGiveEquipment, MyTextsWrapperEnum.CargoBox, MyTextsWrapperEnum.TransferInProgress, 3000, MyUseObjectiveType.Activating ) { SaveOnSuccess = true }; giveoutEquipment.OnMissionSuccess += GiveoutEquipmentOnOnMissionSuccess; m_objectives.Add(giveoutEquipment); var meetOfficers = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_MEET_OFFICIALS_Name), MyMissionID.FORT_VALIANT_C_MEET_OFFICIALS, (MyTextsWrapperEnum.FORT_VALIANT_C_MEET_OFFICIALS_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_EQUIP }, new MyMissionLocation(baseSector, (uint)EntityID.OfficalsDetector), null ) { StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0300, SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_0400, HudName = MyTextsWrapperEnum.HudChamber }; m_objectives.Add(meetOfficers); var leaveOfficers = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_OFFICIALS_Name), MyMissionID.FORT_VALIANT_C_LEAVE_OFFICIALS, (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_OFFICIALS_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_MEET_OFFICIALS }, new MyMissionLocation(baseSector, (uint)EntityID.OfficalsleaveDetector), null ) { SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_0500, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(leaveOfficers); var followPath = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_FOLLOW_Name), MyMissionID.FORT_VALIANT_C_LEAVE_FOLLOW, (MyTextsWrapperEnum.FORT_VALIANT_C_LEAVE_FOLLOW_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_LEAVE_OFFICIALS }, new MyMissionLocation(baseSector, (uint)EntityID.FollowPathDetector), null, null) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(followPath); var speakWithSir = new MyMeetObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SPEAK_SIR_Name), MyMissionID.FORT_VALIANT_C_SPEAK_SIR, (MyTextsWrapperEnum.FORT_VALIANT_C_SPEAK_SIR_Description), this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_LEAVE_FOLLOW }, (uint)EntityID.SirBendivereDummy, (uint)EntityID.BotTemplar, 50, 0.25f, MyDialogueEnum.FORT_VALIANT_C_0600, null, false ) { SaveOnSuccess = true, FollowMe = false, HudName = MyTextsWrapperEnum.HudSirGeraint }; m_objectives.Add(speakWithSir); var getItemsFromCargoBoxes = new MyObjectiveGetItems( (MyTextsWrapperEnum.FORT_VALIANT_C_GET_EQUP_CARGO_Name), MyMissionID.FORT_VALIANT_C_GET_EQUP_CARGO, (MyTextsWrapperEnum.FORT_VALIANT_C_GET_EQUP_CARGO_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SPEAK_SIR }, new List<MyItemToGetDefinition>() { new MyItemToGetDefinition(MyMwcObjectBuilderTypeEnum.SmallShip_HackingTool, (int)MyMwcObjectBuilder_SmallShip_HackingTool_TypesEnum.Level_1)}, new List<uint>() { (uint)EntityID.CargoBox } ) { SaveOnSuccess = true }; m_objectives.Add(getItemsFromCargoBoxes); var findEntrance = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION_Name), MyMissionID.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION, (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_GET_EQUP_CARGO }, new MyMissionLocation(baseSector, (uint)EntityID.Ventilation), null, null) { StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0700, HudName = MyTextsWrapperEnum.HudEntrance }; findEntrance.OnMissionLoaded += FindEntranceOnOnMissionLoaded; m_objectives.Add(findEntrance); var disableScanner = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE_Name), MyMissionID.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE, (MyTextsWrapperEnum.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_FOLLOW_FIND_VENTILATION }, new List<uint> { (uint)EntityID.DisableScanner }, new List<uint> { (uint)EntityID.DisableScannerHub }, false, false ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_0800, HudName = MyTextsWrapperEnum.HudSecurityHub }; disableScanner.OnMissionLoaded += DisableScannerOnOnMissionLoaded; m_objectives.Add(disableScanner); var scanners1 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS1_Name), MyMissionID.FORT_VALIANT_C_SCANNERS1, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS1_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_FOLLOW_TURN_OFF_GATE }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation1)) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_1000, HudName = MyTextsWrapperEnum.Nothing }; //scanners1.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorGuardsDialogue, MyDialogueEnum.FORT_VALIANT_C_1100)); scanners1.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorSensorsDialogue, MyDialogueEnum.FORT_VALIANT_C_1200)); m_objectives.Add(scanners1); var scanners2 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS2_Name), MyMissionID.FORT_VALIANT_C_SCANNERS2, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS2_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS1 }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation2)) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; scanners2.OnMissionSuccess += Scanners2OnOnMissionSuccess; m_objectives.Add(scanners2); var scanners23 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS23_Name), MyMissionID.FORT_VALIANT_C_SCANNERS23, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS23_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS2 }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation23)) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(scanners23); m_findArtifact = new MyUseObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_TAKE_ARTEFACT_Name), MyMissionID.FORT_VALIANT_C_TAKE_ARTEFACT, (MyTextsWrapperEnum.FORT_VALIANT_C_TAKE_ARTEFACT_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS23 }, null, MyTextsWrapperEnum.NotificationTakeArtifact, MyTextsWrapperEnum.Artifact, MyTextsWrapperEnum.TakingInProgress, 3000, MyUseObjectiveType.Taking, null, null, null, new List<uint>() { (uint)EntityID.Box1Marker, (uint)EntityID.Box2Marker, (uint)EntityID.Box3Marker, (uint)EntityID.Box4Marker }, (uint)EntityID.ArtifactDummy ) { SaveOnSuccess = true, StartDialogId = MyDialogueEnum.FORT_VALIANT_C_1400 }; m_findArtifact.OnMissionLoaded += FindArtifactOnOnMissionLoaded; m_findArtifact.OnMissionSuccess += FindArtifactOnOnMissionSuccess; m_findArtifact.Components.Add(new MyTimedDialogue(new TimeSpan(0,0,10),MyDialogueEnum.FORT_VALIANT_C_1500 )); m_objectives.Add(m_findArtifact); var vault = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_VALUT_Name), MyMissionID.FORT_VALIANT_C_VALUT, (MyTextsWrapperEnum.FORT_VALIANT_C_VALUT_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_TAKE_ARTEFACT }, new MyMissionLocation(baseSector, (uint)EntityID.ScannersLocation2)) { HudName = MyTextsWrapperEnum.Nothing }; vault.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorSecurityFields, MyDialogueEnum.FORT_VALIANT_C_1700)); vault.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorOpenDoors, MyDialogueEnum.FORT_VALIANT_C_1800)); vault.Components.Add(new MyDetectorDialogue((uint)EntityID.DetectorComputer, MyDialogueEnum.FORT_VALIANT_C_1900)); m_objectives.Add(vault); m_disableScanner2 = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.FORT_VALIANT_C_TURN_OFF_SCANNER_Name), MyMissionID.FORT_VALIANT_C_TURN_OFF_SCANNER, (MyTextsWrapperEnum.FORT_VALIANT_C_TURN_OFF_SCANNER_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_VALUT }, new List<uint> { (uint)EntityID.DisableSnanners2 }, new List<uint> { (uint)EntityID.DisableScanner2Hub }, false ) { SaveOnSuccess = true, SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_2100, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_disableScanner2.OnMissionSuccess += DisableScanner2_Success; m_objectives.Add(m_disableScanner2); var scanners4 = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS4_Name), MyMissionID.FORT_VALIANT_C_SCANNERS4, (MyTextsWrapperEnum.FORT_VALIANT_C_SCANNERS4_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_TURN_OFF_SCANNER }, new MyMissionLocation(baseSector, (uint)EntityID.HigherFloors)) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(scanners4); var elevator = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_TOP_ELEVATOR_Name), MyMissionID.FORT_VALIANT_C_TOP_ELEVATOR, (MyTextsWrapperEnum.FORT_VALIANT_C_TOP_ELEVATOR_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_SCANNERS4 }, new MyMissionLocation(baseSector, (uint)EntityID.ElevatorDummy)) { HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(elevator); var escape = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_VENT_SYSTEM_Name), MyMissionID.FORT_VALIANT_C_VENT_SYSTEM, (MyTextsWrapperEnum.FORT_VALIANT_C_VENT_SYSTEM_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_TOP_ELEVATOR }, new MyMissionLocation(baseSector, (uint)EntityID.EscapeVentSystemDummy)) { SuccessDialogId = MyDialogueEnum.FORT_VALIANT_C_2300, HudName = MyTextsWrapperEnum.Nothing }; m_objectives.Add(escape); var useCatacombs = new MyObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_CATACOMBS_Name), MyMissionID.FORT_VALIANT_C_CATACOMBS, (MyTextsWrapperEnum.FORT_VALIANT_C_CATACOMBS_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_VENT_SYSTEM }, new MyMissionLocation(baseSector, (uint)EntityID.EscapeCatacombsDummy) //startDialogId: dialog9 ) { HudName = MyTextsWrapperEnum.Nothing }; useCatacombs.OnMissionSuccess += UseCatacombsOnOnMissionSuccess; m_objectives.Add(useCatacombs); var getItemsFromCargoBoxes2 = new MyUseObjective( (MyTextsWrapperEnum.FORT_VALIANT_C_PICK_UP_EQUIP_Name), MyMissionID.FORT_VALIANT_C_PICK_UP_EQUIP, (MyTextsWrapperEnum.FORT_VALIANT_C_PICK_UP_EQUIP_Description), null, this, new MyMissionID[] { MyMissionID.FORT_VALIANT_C_CATACOMBS }, new MyMissionLocation(baseSector, (uint)EntityID.RoyalCargoBoxDetector), MyTextsWrapperEnum.PressToTakeCargo, MyTextsWrapperEnum.CargoBox, MyTextsWrapperEnum.TakingInProgress, 3000, MyUseObjectiveType.Taking //startDialogId: dialog10 ) { SaveOnSuccess = true,StartDialogId = MyDialogueEnum.FORT_VALIANT_C_2400}; getItemsFromCargoBoxes2.Components.Add(new MyDetectorDialogue((uint)EntityID.GetItemsWayBackDialogue, MyDialogueEnum.FORT_VALIANT_C_2500)); getItemsFromCargoBoxes2.OnMissionSuccess += GetItemsFromCargoBoxesOnOnMissionSuccess; m_objectives.Add(getItemsFromCargoBoxes2); #endregion }
public MyRussianWarehouseMission() { MyMwcVector3Int baseSector = new MyMwcVector3Int(-7420630, 0, 388170); ID = MyMissionID.RUSSIAN_WAREHOUSE; DebugName = new StringBuilder("05-Russian warehouse"); Name = MyTextsWrapperEnum.RUSSIAN_WAREHOUSE; Description = MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_Description; Flags = MyMissionFlags.Story; Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation); RequiredMissions = new MyMissionID[] { MyMissionID.PIRATE_BASE }; RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_MEETINGPOINT }; RequiredActors = new MyActorEnum[] { MyActorEnum.MARCUS, MyActorEnum.MADELYN }; m_objectives = new List<MyObjective>(); m_sneakInsideMainBaseSubmission = new MyObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_SNEAKINMAINBASE_Name), MyMissionID.RUSSIAN_WAREHOUSE_SNEAKINMAINBASE, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_SNEAKINMAINBASE_Description), null, this, new MyMissionID[] { }, new MyMissionLocation(baseSector, (uint)EntityID.SneakInsideSubmissionLocation), startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0100 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudEntrance }; m_sneakInsideMainBaseSubmission.OnMissionLoaded += SneakInsideMainBaseSubmission_OnMissionLoaded; m_objectives.Add(m_sneakInsideMainBaseSubmission); var TurnOffSecurityCams = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_TURNOFFCAMS_Name), MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFCAMS, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_TURNOFFCAMS_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_SNEAKINMAINBASE }, new List<uint>() { (uint)EntityID.TurnOffCamera0, (uint)EntityID.TurnOffCamera1, (uint)EntityID.TurnOffCamera2 }, new List<uint>() { (uint)EntityID.TurnOffHUB }, markObjectsToDisable: false, startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0200 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudSecurityHub }; m_objectives.Add(TurnOffSecurityCams); TurnOffSecurityCams.OnMissionLoaded += TurnOffSecurityCams_OnMissionLoaded; var ControlTurret = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_CTRLTURRET_Name), MyMissionID.RUSSIAN_WAREHOUSE_CTRLTURRET, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_CTRLTURRET_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFCAMS }, new List<uint>() { (uint)EntityID.SecurityTower1, (uint)EntityID.SecurityTower2, (uint)EntityID.SecurityTower3, (uint)EntityID.SecurityTower4, (uint)EntityID.SecurityTower5 }, new List<uint>() { (uint)EntityID.SecurityTowersHUB }, markObjectsToDisable: false ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudSecurityHub }; ControlTurret.OnMissionLoaded += ControlTurretOnLoaded; ControlTurret.OnMissionSuccess += ControlTurretOnSuccess; m_objectives.Add(ControlTurret); var OpenDoor = new MyObjectiveEnablePrefabs( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_OPEN_DOORS_Name), MyMissionID.RUSSIAN_WAREHOUSE_OPEN_DOORS, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_OPEN_DOORS_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_CTRLTURRET }, null, new List<uint> { (uint)EntityID.OpenDoorHUB}, new List<uint> { (uint)EntityID.GetOutsideDoors }, startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0300 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudHub }; m_objectives.Add(OpenDoor); var GetOutsideMainBase = new MyObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_GETOUTMAINBASE_Name), MyMissionID.RUSSIAN_WAREHOUSE_GETOUTMAINBASE, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_GETOUTMAINBASE_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_OPEN_DOORS }, new MyMissionLocation(baseSector, (uint)EntityID.GetOutsideSubmissionLocation), startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0400 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; GetOutsideMainBase.OnMissionLoaded += new MissionHandler(GetOutsideMainBase_OnMissionLoaded); m_objectives.Add(GetOutsideMainBase); var BreakThruOldEntrance = new MyObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_BREAKOLDENTRANCE_Name), MyMissionID.RUSSIAN_WAREHOUSE_BREAKOLDENTRANCE, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_BREAKOLDENTRANCE_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_GETOUTMAINBASE }, new MyMissionLocation(baseSector, (uint)EntityID.BreakThroughSubmissionLocation), startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_1100 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; BreakThruOldEntrance.OnMissionLoaded += BreakThruOldEntrance_OnMissionLoaded; BreakThruOldEntrance.OnMissionUpdate += UpdateRussianMothershipMovement; m_objectives.Add(BreakThruOldEntrance); var LocateWarehouse = new MyObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_LOCATEWAREHOUSE_Name), MyMissionID.RUSSIAN_WAREHOUSE_LOCATEWAREHOUSE, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_LOCATEWAREHOUSE_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_BREAKOLDENTRANCE }, new MyMissionLocation(baseSector, (uint)EntityID.LocateWarehouseSubmissionLocation), startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0500 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; LocateWarehouse.OnMissionUpdate += UpdateRussianMothershipMovement; LocateWarehouse.OnMissionLoaded += LocateWarehouse_OnMissionLoaded; LocateWarehouse.OnMissionCleanUp += LocateWarehouse_OnMissionUnload; m_objectives.Add(LocateWarehouse); var FindTransmitter = new MyUseObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_FINDTRANSMITTER_Name), MyMissionID.RUSSIAN_WAREHOUSE_FINDTRANSMITTER, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_FINDTRANSMITTER_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_LOCATEWAREHOUSE }, new MyMissionLocation(baseSector, (uint)EntityID.TransmitterCargoBox), Localization.MyTextsWrapperEnum.PressToTakeCargo, Localization.MyTextsWrapperEnum.TakeAll, Localization.MyTextsWrapperEnum.TakeAll, 1000, radiusOverride: 50, startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0700 ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudTransmitter }; FindTransmitter.OnMissionUpdate += UpdateRussianMothershipMovement; FindTransmitter.OnMissionLoaded += new MissionHandler(FindTransmitter_OnMissionLoaded); FindTransmitter.OnMissionSuccess += new MissionHandler(FindTransmitter_OnMissionSuccess); m_objectives.Add(FindTransmitter); var downDataDlgSubmission = new MyObjectiveDialog( MyMissionID.RUSSIAN_WAREHOUSE_DOWNDATADIALOGUE, null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_FINDTRANSMITTER }, MyDialogueEnum.RUSSIAN_WAREHOUSE_0800 ); downDataDlgSubmission.OnMissionUpdate += UpdateRussianMothershipMovement; m_objectives.Add(downDataDlgSubmission); var DownData = new MyUseObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_DOWNLOAD_DATA_Name), MyMissionID.RUSSIAN_WAREHOUSE_DOWNLOAD_DATA, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_DOWNLOAD_DATA_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_DOWNDATADIALOGUE }, new MyMissionLocation(baseSector, (uint)EntityID.DownloadDataDummy), Localization.MyTextsWrapperEnum.PressToDownloadData, Localization.MyTextsWrapperEnum.Console, Localization.MyTextsWrapperEnum.DownloadingData, 3000) { SaveOnSuccess = true }; DownData.OnMissionUpdate += UpdateRussianMothershipMovement; DownData.OnMissionLoaded += DownDataOnLoaded; m_objectives.Add(DownData); var TurnOffMainDefense1 = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART1_Name), MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART1, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART1_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_DOWNLOAD_DATA }, new List<uint>() { (uint)EntityID.CargoTurret0, (uint)EntityID.CargoTurret1, (uint)EntityID.CargoTurret2, (uint)EntityID.CargoTurret3, (uint)EntityID.CargoTurret4 }, new List<uint>() { (uint)EntityID.CargoTurretHUB0 }, markObjectsToDisable: false, startDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_0900 ) { HudName = MyTextsWrapperEnum.HudHubA }; TurnOffMainDefense1.OnMissionUpdate += UpdateRussianMothershipMovement; m_objectives.Add(TurnOffMainDefense1); var TurnOffMainDefense2 = new MyObjectiveDisablePrefabs( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART2_Name), MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART2, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART2_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART1 }, new List<uint>() { (uint)EntityID.CargoTurret5, (uint)EntityID.CargoTurret6, (uint)EntityID.CargoTurret7, (uint)EntityID.CargoTurret8, (uint)EntityID.CargoTurret9 }, new List<uint>() { (uint)EntityID.CargoTurretHUB1 }, markObjectsToDisable: false ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudHubB }; TurnOffMainDefense2.OnMissionUpdate += UpdateRussianMothershipMovement; m_objectives.Add(TurnOffMainDefense2); var GetOutsideWarehouse = new MyObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_GETOUTWAREHOUSE_Name), MyMissionID.RUSSIAN_WAREHOUSE_GETOUTWAREHOUSE, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_GETOUTWAREHOUSE_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART1, MyMissionID.RUSSIAN_WAREHOUSE_TURNOFFMAINDEF_PART2 }, new MyMissionLocation(baseSector, (uint)EntityID.GetOutsideThruCargoSubmissionLocation) ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.Nothing }; GetOutsideWarehouse.OnMissionUpdate += UpdateRussianMothershipMovement; GetOutsideWarehouse.OnMissionLoaded += GetOutsideWarehouseOnLoad; GetOutsideWarehouse.OnMissionCleanUp += GetOutsideWarehouseOnCleanUp; m_objectives.Add(GetOutsideWarehouse); var CrushRemainingShips = new MyObjectiveDestroy( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_CRUSHREMAINGSHIPS_Name), MyMissionID.RUSSIAN_WAREHOUSE_CRUSHREMAINGSHIPS, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_CRUSHREMAINGSHIPS_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_GETOUTWAREHOUSE }, new List<uint> { }, new List<uint> { (uint)EntityID.CrushRussiansSpawnpoint }, false ) { SaveOnSuccess = true }; CrushRemainingShips.OnMissionUpdate += UpdateRussianMothershipMovement; CrushRemainingShips.OnMissionLoaded += CrushRemainingShipsOnLoad; m_objectives.Add(CrushRemainingShips); m_returnToMeetingPointSubmission = new MyObjective( (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_MEETINGPOINT_Name), MyMissionID.RUSSIAN_WAREHOUSE_MEETINGPOINT, (MyTextsWrapperEnum.RUSSIAN_WAREHOUSE_MEETINGPOINT_Description), null, this, new MyMissionID[] { MyMissionID.RUSSIAN_WAREHOUSE_CRUSHREMAINGSHIPS }, new MyMissionLocation(baseSector, MyMissionLocation.MADELYN_HANGAR), successDialogId: MyDialogueEnum.RUSSIAN_WAREHOUSE_1000, radiusOverride: MyMissionLocation.MADELYN_HANGAR_RADIUS ) { SaveOnSuccess = true, HudName = MyTextsWrapperEnum.HudMadelynsSapho }; m_returnToMeetingPointSubmission.OnMissionUpdate += UpdateRussianMothershipMovement; m_returnToMeetingPointSubmission.OnMissionUpdate += new MissionHandler(ReturnToMeetingPointSubmissionOnUpdate); m_objectives.Add(m_returnToMeetingPointSubmission); Components.Add(new MySpawnpointWaves((uint)EntityID.RaidDetector, 0, (uint)EntityID.RaidSpawnpoint)); }
public 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); }