public void TryToCaptureOutpost(string eventTitle, string eventText, LetterType letterType, Faction turretsNewFaction, bool deactivateTurrets, Faction doorsNewFaction, bool deactivateDoors, int dropPodsNumber, PawnKindDef securityForcesDef) { SetOutpostSecurityForcesHostileToColony(); this.outpostThingList = OG_Util.RefreshThingList(this.outpostThingList); ChangeOutpostThingsFaction(null); ChangeOutpostTurretsFaction(turretsNewFaction, deactivateTurrets); ChangeOutpostDoorsFaction(doorsNewFaction, deactivateDoors); LaunchSecurityDropPods(dropPodsNumber, securityForcesDef, true); OG_Util.DestroyOutpostArea(); Find.LetterStack.ReceiveLetter(eventTitle, eventText, letterType, new TargetInfo(this.Position)); }
public override void Destroy(DestroyMode mode = DestroyMode.Vanish) { base.Destroy(mode); this.outpostThingList = OG_Util.RefreshThingList(this.outpostThingList); string eventTitle = "Coralie out"; string eventText = " MiningCo. system maintenance request\n\n" + "Request author: Coralie\n" + "Function: MiningCo. outpost AI\n\n" + "Defect description:\n" + "Coralie here. I detect several severe dysfunctions.\n" + "- video sensors: LINK DAMAGED\n" + "- threat sensors: NO RESPONSE\n" + "- security systems: OFFLINE\n" + "- power status: INTERNAL BAT LVL CRITICAL\n\n" + "I urgently request the sending of a repair tea-\n\n" + "*Grrz*... *Pchii*... *Fzzt*\n\n" + "---- End of transmision ---"; if (this.Faction == Faction.OfPlayer) { Find.LetterStack.ReceiveLetter(eventTitle, eventText, LetterType.BadUrgent); } else { ChangeOutpostThingsFaction(null); LaunchSecurityDropPods(4, OG_Util.OutpostScoutDef, false); Find.LetterStack.ReceiveLetter(eventTitle, eventText, LetterType.BadNonUrgent); } ChangeOutpostTurretsFaction(null, true); ChangeOutpostDoorsFaction(null, true); Thing coralie = ThingMaker.MakeThing(ThingDef.Named("AIPersonaCore")); GenSpawn.Spawn(coralie, this.Position); OG_Util.DestroyOutpostArea(); }