protected void DoConditionAndLetter(int duration, IIncidentTarget target)
        {
            Map map = (Map)target;
            //Cthulhu.Utility.DebugReport("Generating Map Condition");
            GameCondition_AuroraEffect GameCondition = (GameCondition_AuroraEffect)GameConditionMaker.MakeCondition(CultsDefOf.Cults_Aurora, duration);
            string text3 = "";
            //Cthulhu.Utility.DebugReport("Getting coords.");
            Vector2 coords = Find.WorldGrid.LongLatOf(map.Tile);

            if (coords.y >= 74)
            {
                text3 = "Borealis";
            }
            else
            {
                text3 = "Australis";
            }
            //Cthulhu.Utility.DebugReport("Getting label");
            string textLabel = "LetterLabelAurora".Translate(
                text3
                );

            //Cthulhu.Utility.DebugReport("Registering Conditions");
            map.GameConditionManager.RegisterCondition(GameCondition);
            string textDesc = "LetterIncidentAurora".Translate();

            //Cthulhu.Utility.DebugReport("Sending letter");
            Find.LetterStack.ReceiveLetter(textLabel, textDesc, LetterDefOf.PositiveEvent, null);
            map.GetComponent <MapComponent_SacrificeTracker>().lastLocation = IntVec3.Invalid;
        }
Exemple #2
0
        protected override ThoughtState CurrentStateInternal(Pawn p)
        {
            GameCondition_AuroraEffect activeCondition = p.Map.GameConditionManager.GetActiveCondition <GameCondition_AuroraEffect>();

            if (activeCondition != null)
            {
                return(ThoughtState.ActiveAtStage(0));
            }
            return(false);
        }