Esempio n. 1
0
        private static bool IsInStasis(Thing pawn)
        {
            var holder = pawn.ParentHolder;

            return(holder != null &&
                   ThingOwnerUtility.ContentsSuspended(holder));
        }
        public static void Patch_Pawn_Tick(Pawn __instance)
        {
            if (__instance.equipment != null && (__instance.ParentHolder != null && !ThingOwnerUtility.ContentsSuspended(__instance.ParentHolder)))
            {
                //Tick shield.
                ThingWithComps shield = __instance.GetShield();
                if (shield == null)
                {
                    return;
                }

                CompShield shieldComp = shield.GetComp <CompShield>();

                shield.Tick();
            }
        }
            public static bool Suspended(Thing thing)
            {
                if (thing.ATCompSurrogateOwner != null && thing.ATCompSurrogateOwner.skyCloudHost != null)
                {
                    return(true);
                }

                if (thing.Spawned)
                {
                    return(false);
                }

                if (thing.ParentHolder != null)
                {
                    return(ThingOwnerUtility.ContentsSuspended(thing.ParentHolder));
                }

                return(false);
            }
Esempio n. 4
0
        public void CustomTick()
        {
            if (!ThingOwnerUtility.ContentsSuspended(ParentHolder) && Map != null)
            {
                if (Spawned)
                {
                    pather?.PatherTick();
                    jobs?.JobTrackerTick();
                    stances?.StanceTrackerTick();
                    verbTracker?.VerbsTick();
                    natives?.NativeVerbsTick();
                    Drawer?.DrawTrackerTick();
                    rotationTracker?.RotationTrackerTick();
                    health?.HealthTick();
                }
            }

            if (state == ZombieState.Emerging)
            {
                HandleRubble();
            }
        }