using RimWorld; using rjw; using System.Linq; using System; using System.Collections.Generic; using Verse; namespace RJW_Menstruation { public static class VariousDefOf { public static readonly ThingDef CumFilth = DefDatabase.GetNamed("FilthCum"); public static readonly ThingDef Tampon = DefDatabase.GetNamed("Absorber_Tampon"); public static readonly ThingDef Tampon_Dirty = DefDatabase.GetNamed("Absorber_Tampon_Dirty"); public static readonly ThingDef FilthMixture = DefDatabase.GetNamed("FilthMixture"); public static readonly HediffDef RJW_IUD = DefDatabase.GetNamed("RJW_IUD"); public static readonly HediffDef Hediff_MenstrualCramp = DefDatabase.GetNamed("Hediff_MenstrualCramp"); public static readonly HediffDef Hediff_Climacteric = DefDatabase.GetNamed("Hediff_Climacteric"); public static readonly HediffDef Hediff_Menopause = DefDatabase.GetNamed("Hediff_Menopause"); public static readonly HediffDef Hediff_Estrus = DefDatabase.GetNamed("Hediff_Estrus"); public static readonly HediffDef Hediff_Estrus_Consealed = DefDatabase.GetNamed("Hediff_Estrus_Consealed"); public static readonly StatDef MaxAbsorbable = DefDatabase.GetNamed("MaxAbsorbable"); public static readonly PawnRelationDef Relation_birthgiver = DefDatabase.AllDefs.FirstOrDefault(d => d.defName == "RJW_Sire"); public static readonly PawnRelationDef Relation_spawn = DefDatabase.AllDefs.FirstOrDefault(d => d.defName == "RJW_Pup"); public static readonly NeedDef SexNeed = DefDatabase.GetNamed("Sex"); public static readonly JobDef VaginaWashing = DefDatabase.GetNamed("VaginaWashing"); public static readonly JobDef Job_LactateSelf = DefDatabase.GetNamed("LactateSelf"); public static readonly ThoughtDef LeakingFluids = DefDatabase.GetNamed("LeakingFluids"); public static readonly ThoughtDef CameInsideF = DefDatabase.GetNamed("CameInsideF"); public static readonly ThoughtDef CameInsideFLowFert = DefDatabase.GetNamed("CameInsideFLowFert"); public static readonly ThoughtDef CameInsideFFetish = DefDatabase.GetNamed("CameInsideFFetish"); public static readonly ThoughtDef CameInsideFFetishSafe = DefDatabase.GetNamed("CameInsideFFetishSafe"); public static readonly ThoughtDef HaterCameInsideFSafe = DefDatabase.GetNamed("HaterCameInsideFSafe"); public static readonly ThoughtDef HaterCameInsideF = DefDatabase.GetNamed("HaterCameInsideF"); public static readonly ThoughtDef CameInsideM = DefDatabase.GetNamed("CameInsideM"); public static readonly ThoughtDef HaterCameInsideM = DefDatabase.GetNamed("HaterCameInsideM"); public static readonly ThoughtDef UnwantedPregnancy = DefDatabase.GetNamed("UnwantedPregnancy"); public static readonly ThoughtDef UnwantedPregnancyMild = DefDatabase.GetNamed("UnwantedPregnancyMild"); public static readonly ThoughtDef TookContraptivePill = DefDatabase.GetNamed("TookContraptivePill"); public static readonly ThoughtDef HateTookContraptivePill = DefDatabase.GetNamed("HateTookContraptivePill"); public static readonly HediffDef_PartBase Vagina = DefDatabase.GetNamed("Vagina"); public static readonly CompProperties_Menstruation VaginaCompProperties = (CompProperties_Menstruation)Vagina.comps.FirstOrDefault(x => x is CompProperties_Menstruation); public static readonly KeyBindingDef OpenStatusWindowKey = DefDatabase.GetNamed("OpenStatusWindow"); public static readonly PawnColumnDef RJW_EarnedMoneyByWhore = DefDatabase.GetNamed("RJW_EarnedMoneyByWhore"); public static readonly RecordDef AmountofCreampied = DefDatabase.GetNamed("AmountofCreampied"); public static readonly RecordDef AmountofFertilizedEggs = DefDatabase.GetNamed("AmountofFertilizedEggs"); private static List allraces = null; private static List allkinds = null; public static List AllRaces { get { if (allraces == null) { List allThings = DefDatabase.AllDefsListForReading; allraces = allThings.FindAll(x => x.race != null && x.race.IsFlesh); } return allraces; } } public static List AllKinds { get { if (allkinds == null) { List allKinds = DefDatabase.AllDefsListForReading; allkinds = allKinds.FindAll(x => x.race != null); } return allkinds; } } // Defs from Milkable Colonists public static readonly HediffDef Hediff_Lactating_Drug = DefDatabase.GetNamedSilentFail("Lactating_Drug"); public static readonly HediffDef Hediff_Lactating_Natural = DefDatabase.GetNamedSilentFail("Lactating_Natural"); public static readonly HediffDef Hediff_Lactating_Permanent = DefDatabase.GetNamedSilentFail("Lactating_Permanent"); public static readonly HediffDef Hediff_Heavy_Lactating_Permanent = DefDatabase.GetNamedSilentFail("Heavy_Lactating_Permanent"); public static readonly JobDef Job_LactateSelf_MC = DefDatabase.GetNamedSilentFail("LactateSelf_MC"); } }