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; }
protected override ThoughtState CurrentStateInternal(Pawn p) { GameCondition_AuroraEffect activeCondition = p.Map.GameConditionManager.GetActiveCondition <GameCondition_AuroraEffect>(); if (activeCondition != null) { return(ThoughtState.ActiveAtStage(0)); } return(false); }