コード例 #1
0
        /// <summary>
        ///     called every tick
        /// </summary>
        public override void CompTick()
        {
            if (!MutagenDefOf.defaultMutagen.CanInfect(Pawn))
            {
                return;                                               //tracker is added on some kinds of pawns that can't get mutations, like mechanoids
            }
            if (InfluencesDirty)
            {
                RecalcInfluences();
                InfluencesDirty = false;
            }

            if (Pawn.IsHashIntervalTick(MutationRuleDef.CHECK_RATE))
            {
                MutationRuleUtilities.TryExecuteRulesOn(Pawn);
            }


            if (Pawn.IsHashIntervalTick(4400) && CanRaceCheckNow)
            {
                RecalcIfNeeded();
                if (TotalNormalizedInfluence < 0 || TotalNormalizedInfluence > 1)
                {
                    Log.Warning(nameof(TotalNormalizedInfluence) + $" is {TotalNormalizedInfluence}, recalculating mutation influences for {Pawn.Name}");
                    RecalculateMutationInfluences();
                }
                Pawn.CheckRace(false); //check the race every so often, but not too often
            }
        }
コード例 #2
0
        /// <summary>
        ///     called every tick
        /// </summary>
        public override void CompTick()
        {
            if (Pawn.IsHashIntervalTick(MutationRuleDef.CHECK_RATE))
            {
                MutationRuleUtilities.TryExecuteRulesOn(Pawn);
            }


            if (Pawn.IsHashIntervalTick(4400) && CanRaceCheckNow)
            {
                RecalcIfNeeded();
                if (TotalNormalizedInfluence < 0 || TotalNormalizedInfluence > 1)
                {
                    Log.Warning(nameof(TotalNormalizedInfluence) + $" is {TotalNormalizedInfluence}, recalculating mutation influences for {Pawn.Name}");
                    RecalculateMutationInfluences();
                }
                Pawn.CheckRace(false); //check the race every so often, but not too often
            }
        }
コード例 #3
0
        /// <summary>
        ///     called every tick
        /// </summary>
        public override void CompTick()
        {
            if (!MutagenDefOf.defaultMutagen.CanInfect(Pawn))
            {
                return;                                               //tracker is added on some kinds of pawns that can't get mutations, like mechanoids
            }
            if (InfluencesDirty)
            {
                RecalcInfluences();
                InfluencesDirty = false;
            }

            if (Pawn.IsHashIntervalTick(MutationRuleDef.CHECK_RATE))
            {
                MutationRuleUtilities.TryExecuteRulesOn(Pawn);
            }


            if (Pawn.IsHashIntervalTick(4400) && CanRaceCheckNow)
            {
                CheckPawnRace();
            }
        }