Exemplo n.º 1
0
 public override void CompPostPostAdd(DamageInfo?dinfo)
 {
     base.CompPostPostAdd(dinfo);
     this.growthMode = ((HediffGrowthMode[])Enum.GetValues(typeof(HediffGrowthMode))).RandomElement <HediffGrowthMode>();
     this.severityPerDayGrowingRandomFactor   = this.Props.severityPerDayGrowingRandomFactor.RandomInRange;
     this.severityPerDayRemissionRandomFactor = this.Props.severityPerDayRemissionRandomFactor.RandomInRange;
 }
Exemplo n.º 2
0
        // Token: 0x06000016 RID: 22 RVA: 0x000024DC File Offset: 0x000006DC
        private void ChangeGrowthMode()
        {
            growthMode = (from x in (HediffGrowthMode[])Enum.GetValues(typeof(HediffGrowthMode))
                          where x != growthMode
                          select x).RandomElement();
            if (!PawnUtility.ShouldSendNotificationAbout(Pawn))
            {
                return;
            }

            switch (growthMode)
            {
            case HediffGrowthMode.Growing:
                Messages.Message(
                    "DiseaseGrowthModeChanged_Growing".Translate(Pawn.LabelShort, Def.label,
                                                                 Pawn.Named("PAWN")), Pawn, MessageTypeDefOf.NegativeHealthEvent);
                return;

            case HediffGrowthMode.Stable:
                Messages.Message(
                    "DiseaseGrowthModeChanged_Stable".Translate(Pawn.LabelShort, Def.label, Pawn.Named("PAWN")),
                    Pawn, MessageTypeDefOf.NeutralEvent);
                return;

            case HediffGrowthMode.Remission:
                Messages.Message(
                    "DiseaseGrowthModeChanged_Remission".Translate(Pawn.LabelShort, Def.label,
                                                                   Pawn.Named("PAWN")), Pawn, MessageTypeDefOf.PositiveEvent);
                break;

            default:
                return;
            }
        }
Exemplo n.º 3
0
 private void ChangeGrowthMode()
 {
     this.growthMode = (from x in (HediffGrowthMode[])Enum.GetValues(typeof(HediffGrowthMode))
                        where x != this.growthMode
                        select x).RandomElement <HediffGrowthMode>();
     if (PawnUtility.ShouldSendNotificationAbout(base.Pawn))
     {
         HediffGrowthMode hediffGrowthMode = this.growthMode;
         if (hediffGrowthMode != HediffGrowthMode.Growing)
         {
             if (hediffGrowthMode != HediffGrowthMode.Stable)
             {
                 if (hediffGrowthMode == HediffGrowthMode.Remission)
                 {
                     Messages.Message("DiseaseGrowthModeChanged_Remission".Translate(base.Pawn.LabelShort, base.Def.label, base.Pawn.Named("PAWN")), base.Pawn, MessageTypeDefOf.PositiveEvent, true);
                 }
             }
             else
             {
                 Messages.Message("DiseaseGrowthModeChanged_Stable".Translate(base.Pawn.LabelShort, base.Def.label, base.Pawn.Named("PAWN")), base.Pawn, MessageTypeDefOf.NeutralEvent, true);
             }
         }
         else
         {
             Messages.Message("DiseaseGrowthModeChanged_Growing".Translate(base.Pawn.LabelShort, base.Def.label, base.Pawn.Named("PAWN")), base.Pawn, MessageTypeDefOf.NegativeHealthEvent, true);
         }
     }
 }
Exemplo n.º 4
0
        // Token: 0x06000015 RID: 21 RVA: 0x00002480 File Offset: 0x00000680
        public float MSAdjustment(Pawn p, float sev, HediffGrowthMode gm)
        {
            float newSev = sev;

            if (gm == HediffGrowthMode.Growing)
            {
                HediffSet hediffSet;
                if (p == null)
                {
                    hediffSet = null;
                }
                else
                {
                    Pawn_HealthTracker health = p.health;
                    hediffSet = (health?.hediffSet);
                }
                HediffSet hSet = hediffSet;
                if (hSet != null)
                {
                    HediffDef drugDef = DefDatabase <HediffDef> .GetNamed("MSVinacol_High", false);

                    if (drugDef != null && hSet.GetFirstHediffOfDef(drugDef, false) != null)
                    {
                        newSev *= Rand.Range(0f, 0.1f);
                    }
                }
            }
            return(newSev);
        }
 public static string GetLabel(this HediffGrowthMode m)
 {
     return(m switch
     {
         HediffGrowthMode.Growing => "HediffGrowthMode_Growing".Translate(),
         HediffGrowthMode.Stable => "HediffGrowthMode_Stable".Translate(),
         HediffGrowthMode.Remission => "HediffGrowthMode_Remission".Translate(),
         _ => throw new ArgumentException(),
     });
Exemplo n.º 6
0
        public static string GetLabel(this HediffGrowthMode m)
        {
            switch (m)
            {
            case HediffGrowthMode.Growing:
                return("HediffGrowthMode_Growing".Translate());

            case HediffGrowthMode.Stable:
                return("HediffGrowthMode_Stable".Translate());

            case HediffGrowthMode.Remission:
                return("HediffGrowthMode_Remission".Translate());

            default:
                throw new ArgumentException();
            }
        }
Exemplo n.º 7
0
        private void ChangeGrowthMode()
        {
            growthMode = ((HediffGrowthMode[])Enum.GetValues(typeof(HediffGrowthMode))).Where((HediffGrowthMode x) => x != growthMode).RandomElement();
            if (PawnUtility.ShouldSendNotificationAbout(base.Pawn))
            {
                switch (growthMode)
                {
                case HediffGrowthMode.Growing:
                    Messages.Message("DiseaseGrowthModeChanged_Growing".Translate(base.Pawn.LabelShort, base.Def.label, base.Pawn.Named("PAWN")), base.Pawn, MessageTypeDefOf.NegativeHealthEvent);
                    break;

                case HediffGrowthMode.Stable:
                    Messages.Message("DiseaseGrowthModeChanged_Stable".Translate(base.Pawn.LabelShort, base.Def.label, base.Pawn.Named("PAWN")), base.Pawn, MessageTypeDefOf.NeutralEvent);
                    break;

                case HediffGrowthMode.Remission:
                    Messages.Message("DiseaseGrowthModeChanged_Remission".Translate(base.Pawn.LabelShort, base.Def.label, base.Pawn.Named("PAWN")), base.Pawn, MessageTypeDefOf.PositiveEvent);
                    break;
                }
            }
        }
        private void ChangeGrowthMode()
        {
            this.growthMode = (from x in (HediffGrowthMode[])Enum.GetValues(typeof(HediffGrowthMode))
                               where x != this.growthMode
                               select x).RandomElement();
            if (PawnUtility.ShouldSendNotificationAbout(base.Pawn))
            {
                switch (this.growthMode)
                {
                case HediffGrowthMode.Growing:
                    Messages.Message("DiseaseGrowthModeChanged_Growing".Translate(base.Pawn.LabelShort, base.Def.label), base.Pawn, MessageTypeDefOf.NegativeHealthEvent);
                    break;

                case HediffGrowthMode.Stable:
                    Messages.Message("DiseaseGrowthModeChanged_Stable".Translate(base.Pawn.LabelShort, base.Def.label), base.Pawn, MessageTypeDefOf.NeutralEvent);
                    break;

                case HediffGrowthMode.Remission:
                    Messages.Message("DiseaseGrowthModeChanged_Remission".Translate(base.Pawn.LabelShort, base.Def.label), base.Pawn, MessageTypeDefOf.PositiveEvent);
                    break;
                }
            }
        }
Exemplo n.º 9
0
        // Token: 0x06000015 RID: 21 RVA: 0x00002480 File Offset: 0x00000680
        public float MSAdjustment(Pawn p, float sev, HediffGrowthMode gm)
        {
            var newSev = sev;

            if (gm != HediffGrowthMode.Growing)
            {
                return(newSev);
            }

            HediffSet hediffSet;

            if (p == null)
            {
                hediffSet = null;
            }
            else
            {
                var health = p.health;
                hediffSet = health?.hediffSet;
            }

            var hSet = hediffSet;

            if (hSet == null)
            {
                return(newSev);
            }

            var drugDef = DefDatabase <HediffDef> .GetNamed("MSVinacol_High", false);

            if (drugDef != null && hSet.GetFirstHediffOfDef(drugDef) != null)
            {
                newSev *= Rand.Range(0f, 0.1f);
            }

            return(newSev);
        }
Exemplo n.º 10
0
 private bool <ChangeGrowthMode> m__0(HediffGrowthMode x)
 {
     return(x != this.growthMode);
 }