Exemple #1
0
        public override void Arrived(List <ActiveDropPodInfo> pods, int tile)
        {
            Thing  lookTarget    = TransportPodsArrivalActionUtility.GetLookTarget(pods);
            bool   flag          = !settlement.HasMap;
            Map    orGenerateMap = GetOrGenerateMapUtility.GetOrGenerateMap(settlement.Tile, null);
            string letterLabel   = "LetterLabelCaravanEnteredEnemyBase".Translate();
            string letterText    = "LetterTransportPodsLandedInEnemyBase".Translate(settlement.Label).CapitalizeFirst();

            SettlementUtility.AffectRelationsOnAttacked(settlement, ref letterText);
            if (flag)
            {
                Find.TickManager.Notify_GeneratedPotentiallyHostileMap();
                PawnRelationUtility.Notify_PawnsSeenByPlayer_Letter(orGenerateMap.mapPawns.AllPawns, ref letterLabel, ref letterText, "LetterRelatedPawnsInMapWherePlayerLanded".Translate(Faction.OfPlayer.def.pawnsPlural), informEvenIfSeenBefore: true);
            }
            Find.LetterStack.ReceiveLetter(letterLabel, letterText, LetterDefOf.NeutralEvent, lookTarget, settlement.Faction);
            arrivalMode.Worker.TravelingTransportPodsArrived(pods, orGenerateMap);
        }
Exemple #2
0
        private static void AttackNow(Caravan caravan, SettlementBase settlement)
        {
            Pawn   t             = caravan.PawnsListForReading[0];
            bool   flag          = !settlement.HasMap;
            Map    orGenerateMap = GetOrGenerateMapUtility.GetOrGenerateMap(settlement.Tile, null);
            string label         = "LetterLabelCaravanEnteredEnemyBase".Translate();
            string text          = "LetterCaravanEnteredEnemyBase".Translate(caravan.Label, settlement.Label).CapitalizeFirst();

            SettlementUtility.AffectRelationsOnAttacked(settlement, ref text);
            if (flag)
            {
                Find.TickManager.Notify_GeneratedPotentiallyHostileMap();
                PawnRelationUtility.Notify_PawnsSeenByPlayer_Letter(orGenerateMap.mapPawns.AllPawns, ref label, ref text, "LetterRelatedPawnsSettlement".Translate(Faction.OfPlayer.def.pawnsPlural), true, true);
            }
            Find.LetterStack.ReceiveLetter(label, text, LetterDefOf.NeutralEvent, t, settlement.Faction, null);
            CaravanEnterMapUtility.Enter(caravan, orGenerateMap, CaravanEnterMode.Edge, CaravanDropInventoryMode.DoNotDrop, true, null);
        }
Exemple #3
0
        public override void Arrived(List <ActiveDropPodInfo> pods, int tile)
        {
            Thing  lookTarget    = TransportPodsArrivalActionUtility.GetLookTarget(pods);
            bool   flag          = !this.settlement.HasMap;
            Map    orGenerateMap = GetOrGenerateMapUtility.GetOrGenerateMap(this.settlement.Tile, null);
            string label         = "LetterLabelCaravanEnteredEnemyBase".Translate();
            string text          = "LetterTransportPodsLandedInEnemyBase".Translate(new object[]
            {
                this.settlement.Label
            }).CapitalizeFirst();

            SettlementUtility.AffectRelationsOnAttacked(this.settlement, ref text);
            if (flag)
            {
                Find.TickManager.CurTimeSpeed = TimeSpeed.Paused;
                PawnRelationUtility.Notify_PawnsSeenByPlayer_Letter(orGenerateMap.mapPawns.AllPawns, ref label, ref text, "LetterRelatedPawnsInMapWherePlayerLanded".Translate(new object[]
                {
                    Faction.OfPlayer.def.pawnsPlural
                }), true, true);
            }
            Find.LetterStack.ReceiveLetter(label, text, LetterDefOf.NeutralEvent, lookTarget, this.settlement.Faction, null);
            this.arrivalMode.Worker.TravelingTransportPodsArrived(pods, orGenerateMap);
        }