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 AmountofEatenCum = DefDatabase.GetNamed("AmountofEatenCum"); public static readonly RecordDef Lust = DefDatabase.GetNamed("Lust"); public static readonly RecordDef VaginalSexCount = DefDatabase.GetNamed("VaginalSexCount"); public static readonly RecordDef AnalSexCount = DefDatabase.GetNamed("AnalSexCount"); public static readonly RecordDef OralSexCount = DefDatabase.GetNamed("OralSexCount"); public static readonly RecordDef BlowjobCount = DefDatabase.GetNamed("BlowjobCount"); public static readonly RecordDef CunnilingusCount = DefDatabase.GetNamed("CunnilingusCount"); public static readonly RecordDef GenitalCaressCount = DefDatabase.GetNamed("GenitalCaressCount"); public static readonly RecordDef HandjobCount = DefDatabase.GetNamed("HandjobCount"); public static readonly RecordDef FingeringCount = DefDatabase.GetNamed("FingeringCount"); public static readonly RecordDef FootjobCount = DefDatabase.GetNamed("FootjobCount"); public static readonly RecordDef MiscSexualBehaviorCount = DefDatabase.GetNamed("MiscSexualBehaviorCount"); public static readonly RecordDef SexPartnerCount = DefDatabase.GetNamed("SexPartnerCount"); public static readonly RecordDef OrgasmCount = DefDatabase.GetNamed("OrgasmCount"); 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 ThingDef FilthCum = ThingDef.Named("FilthCum"); public static readonly ThingDef FilthGirlcum = ThingDef.Named("FilthGirlCum"); 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 readonly TraitDef Virgin = DefDatabase.GetNamed("Virgin"); public static readonly JobDef CleanSelfwithBucket = DefDatabase.GetNamed("CleanSelfwithBucket"); public static readonly PawnRelationDef relation_birthgiver = DefDatabase.GetNamed("RJW_Sire"); public static readonly PawnRelationDef relation_spawn = DefDatabase.GetNamed("RJW_Pup"); public static readonly KeyBindingDef OpenSexStatistics = DefDatabase.GetNamed("OpenSexStatistics"); 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; } }