// Token: 0x06000003 RID: 3 RVA: 0x000020BC File Offset: 0x000002BC public override string ExplanationPart(StatRequest req) { StatModifier statModifier; Thing thing; EquipmentRequirementModifiers modExtension = new EquipmentRequirementModifiers(); bool flag = (statModifier = this.GetStatModifier(req)) != null && (thing = req.Thing) != null && (modExtension = thing.def.GetModExtension <EquipmentRequirementModifiers>()) != null; string result; if (flag) { result = TranslatorFormattedStringExtensions.Translate("ESP_StatsReport_EquipmentRequirementsNotMet", Translator.Translate(modExtension.requirementNotMetReasonKey)) + ": x" + statModifier.value.ToStringPercent(); } else { result = null; } return(result); }
// Token: 0x06000005 RID: 5 RVA: 0x00002160 File Offset: 0x00000360 private StatModifier GetStatModifier(StatRequest req) { EquipmentRequirementModifiers eqMods = new EquipmentRequirementModifiers(); Thing thing; bool flag = (thing = req.Thing) != null && (eqMods = thing.def.GetModExtension <EquipmentRequirementModifiers>()) != null; StatModifier result; if (flag) { StatModifier statModifier = eqMods.modifyTheseStats.FirstOrDefault((StatModifier modifier) => modifier.stat == this.parentStat); bool flag2 = statModifier == null; if (flag2) { result = null; } else { Pawn pawn = null; ThingOwner holdingOwner = thing.holdingOwner; Pawn_EquipmentTracker pawn_EquipmentTracker; bool flag3 = (pawn_EquipmentTracker = (((holdingOwner != null) ? holdingOwner.Owner : null) as Pawn_EquipmentTracker)) != null; if (flag3) { pawn = pawn_EquipmentTracker.pawn; } else { ThingOwner holdingOwner2 = thing.holdingOwner; Pawn_ApparelTracker pawn_ApparelTracker; bool flag4 = (pawn_ApparelTracker = (((holdingOwner2 != null) ? holdingOwner2.Owner : null) as Pawn_ApparelTracker)) != null; if (flag4) { pawn = pawn_ApparelTracker.pawn; } } bool flag5 = pawn == null; if (flag5) { result = null; } else { bool flag6 = !eqMods.requireAnyOfTheseRaces.NullOrEmpty <string>(); if (flag6) { bool flag7 = eqMods.requireAnyOfTheseRaces.Contains(pawn.def.defName); if (flag7) { return(null); } } bool flag8 = !eqMods.requireAnyOfTheseHediffs.NullOrEmpty <string>(); if (flag8) { bool flag9 = pawn.health.hediffSet.hediffs.Any((Hediff hediff) => eqMods.requireAnyOfTheseHediffs.Contains(hediff.def.defName)); if (flag9) { return(null); } } bool flag10 = !eqMods.requireAnyOfTheseApparels.NullOrEmpty <string>() && pawn.apparel != null; if (flag10) { bool flag11 = pawn.apparel.WornApparel.Any((Apparel apparel) => eqMods.requireAnyOfTheseApparels.Contains(apparel.def.defName)); if (flag11) { return(null); } } result = statModifier; } } } else { result = null; } return(result); }