using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Verse; using RimWorld; namespace RJWSexperience { public static class VariousDefOf { public static readonly RecordDef NumofEatenCum = DefDatabase.GetNamed("NumofEatenCum"); public static readonly RecordDef Lust = DefDatabase.GetNamed("Lust"); public static readonly SkillDef SexSkill = DefDatabase.GetNamed("Sex"); public static readonly ThoughtDef_Recordbased AteCum = DefDatabase.GetNamed("AteCum"); public static readonly PawnRelationDef Bastard = DefDatabase.GetNamed("Bastard"); public static readonly ThingDef GatheredCum = DefDatabase.GetNamed("GatheredCum"); public static readonly HediffDef CumAddiction = DefDatabase.GetNamed("CumAddiction"); public static readonly HediffDef CumTolerance = DefDatabase.GetNamed("CumTolerance"); public static readonly ChemicalDef Cum = DefDatabase.GetNamed("Cum"); public static readonly NeedDef Chemical_Cum = DefDatabase.GetNamed("Chemical_Cum"); public static float CumneedLevelOffset { get { if (cumneedLevelOffsetcache == null) { CreateCumCompCache(); } return cumneedLevelOffsetcache ?? 1.0f; } } public static float CumexistingAddictionSeverityOffset { get { if (cumexistingAddictionSeverityOffsetcache == null) { CreateCumCompCache(); } return cumexistingAddictionSeverityOffsetcache ?? 1.0f; } } private static void CreateCumCompCache() { CompProperties_Drug comp = (CompProperties_Drug)GatheredCum.comps.FirstOrDefault(x => x is CompProperties_Drug); cumneedLevelOffsetcache = comp.needLevelOffset; cumexistingAddictionSeverityOffsetcache = comp.existingAddictionSeverityOffset; } private static float? cumneedLevelOffsetcache = null; private static float? cumexistingAddictionSeverityOffsetcache = null; } }