Exemplo n.º 1
0
        public static bool GoIntoHeat(this Creature creature, byte intensity, out string output)
        {
            if (creature.perks.HasTimedEffect <Heat>())
            {
                var  heat   = creature.perks.GetTimedEffectData <Heat>();
                bool retVal = heat.IncreaseHeat(intensity);

                output = null;
                if (retVal)
                {
                    output = heat.IncreasedHeatText();
                }
                return(retVal);
            }
            else if (creature.hasVagina && !creature.womb.isPregnant)
            {
                ushort timeout = (intensity * Heat.TIMEOUT_STACK > ushort.MaxValue) ? ushort.MaxValue : (ushort)(intensity * Heat.TIMEOUT_STACK);
                var    heat    = new Heat(timeout);
                creature.perks.AddTimedEffect(heat);
                output = heat.ObtainText();
                return(true);
            }
            else
            {
                output = null;
                return(false);
            }
        }