コード例 #1
0
        public override void TickRare()
        {
            MaybeTalkGibberish();
            DrainMoodAfterTickRare();
            if (CurMoodCategory == Mood.Mad && !goingRogue)
            {
                MaybeGoRogue();
            }
            if (textTimeout > 0)
            {
                textTimeout--;
            }
            foreach (Building_TurretGun turret in controlledTurrets)
            {
                if (turret.DestroyedOrNull())
                {
                    CancelControlTurret(turret);
                }
            }
            ExtendedDataStorage store = Base.Instance.GetExtendedDataStorage();

            if (store != null)
            {
                ExtendedMapData mapData = store.GetExtendedDataFor(this.Map);
                mapData.rogueAI = this;
            }
        }
コード例 #2
0
        public override bool ShouldSkip(Pawn pawn, bool forced = false)
        {
            ExtendedDataStorage store = Base.Instance.GetExtendedDataStorage();

            if (store != null)
            {
                ExtendedMapData mapData = store.GetExtendedDataFor(pawn.Map);
                if (mapData.rogueAI != null && mapData.rogueAI.goingRogue)
                {
                    return(false);
                }
            }
            return(true);
        }