public static void PostFix(ref Pawn_HealthTracker __instance, ref Hediff __result, ref Pawn ___pawn, HediffDef def, BodyPartRecord part = null, DamageInfo?dinfo = null, DamageWorker.DamageResult result = null) { if (!Controller.Settings.DoAilments || GenDate.DaysPassed < Controller.Settings.CAStartDays || __result == null || Controller.Settings.CAChance <= 0 || ___pawn == null || part == null || !CommonAilments.PawnCanAcceptCA(___pawn) || def?.addedPartProps == null || !def.addedPartProps.solid) { return; } var offset = CommonAilmentsUtility.AugmentOffset(___pawn); if (!CommonAilments.CanAddCA(Math.Max(12, Controller.Settings.CAChance * 2), offset)) { return; } var hdef = DefDatabase <HediffDef> .GetNamed("CA_PhantomPain", false); if (hdef == null) { return; } var sev = CommonAilmentsUtility.RandNum(0.5f, 3f); if (CommonAilmentsUtility.HediffEffect(hdef, sev, ___pawn, part, out _)) { CommonAilments.SendCAMsg(___pawn, hdef); } }
// Token: 0x06000004 RID: 4 RVA: 0x00002144 File Offset: 0x00000344 public static void Setup() { var allDefsListForReading = DefDatabase <HediffDef> .AllDefsListForReading; var ComAilDefNames = CommonAilmentsUtility.GetComAilDefNames(); var SymptomaticList = CommonAilmentsUtility.Symptomatic(); var symptomatic = 0; checked { foreach (var hediffDef in allDefsListForReading) { if (ComAilDefNames.Contains(hediffDef.defName)) { hediffDef.scenarioCanAdd = Controller.Settings.CACanAddScenario; } if (SymptomaticList.Contains(hediffDef.defName)) { ApplySymptoms(hediffDef, typeof(HediffCompProperties_CASymptom), ref symptomatic); } } if (symptomatic > 0) { Log.Message("ComAil.Symptomatic".Translate(symptomatic.ToString())); } } }
// Token: 0x06000008 RID: 8 RVA: 0x00002660 File Offset: 0x00000860 public static bool TryApplyAilment(HediffDef h, float s, Pawn p, BodyPartRecord b, out bool i) { i = false; if (HasCA(p, h)) { return(false); } if (CommonAilmentsUtility.HediffEffect(h, s, p, b, out var i2)) { SendCAMsg(p, h); return(true); } i = i2; return(false); }
// Token: 0x06000038 RID: 56 RVA: 0x00003BC0 File Offset: 0x00001DC0 public override void CompPostTick(ref float severityAdjustment) { if (!Controller.Settings.DoSymptoms || !CommonAilments.PawnCanAcceptCA(Pawn) || !Controller.Settings.DoAilments || GenDate.DaysPassed < Controller.Settings.CAStartDays || !Pawn.IsHashIntervalTick(2501)) { return; } var chance = (int)(CAProps.symptomChance + Controller.Settings.CAChance); CommonAilments.CurSituation(Pawn, out var offset, out _, out _, out _, out _, out _); offset += Math.Max(-20, Math.Min(10, CommonAilments.GetImmunityOS(Pawn))); if (CommonAilments.CanAddCA(chance, offset)) { CommonAilmentsUtility.ApplySymptom(Pawn); } }
// Token: 0x06000007 RID: 7 RVA: 0x00002624 File Offset: 0x00000824 public static bool GetEitherProtected(Pawn partner, Pawn p) { var Condom = DefDatabase <HediffDef> .GetNamed("MSCondom_High", false); if (Condom == null) { return(false); } if (partner != null && CommonAilmentsUtility.HasHediff(partner, Condom)) { return(true); } if (p != null && CommonAilmentsUtility.HasHediff(p, Condom)) { return(true); } return(false); }
// Token: 0x06000033 RID: 51 RVA: 0x00003A74 File Offset: 0x00001C74 public override void CompPostTick(ref float severityAdjustment) { if (curing && ticksToCure > 0) { ticksToCure--; return; } if (curing) { parent.Severity = 0f; Messages.Message( "ComAil.CureMsg".Translate(Pawn.LabelShort.CapitalizeFirst(), Def.label.CapitalizeFirst()), Pawn, MessageTypeDefOf.PositiveEvent); return; } if (!CommonAilmentsUtility.ImmuneTo(Pawn, Def, out var Immunities)) { return; } var ImmunitiesAsCure = 0; foreach (var s in Immunities) { if (s != "MSCondom_High") { ImmunitiesAsCure++; } } if (ImmunitiesAsCure <= 0) { return; } SetTicksToCure(); curing = true; }