diff --git a/1.3/Assemblies/RJW_Menstruation.dll b/1.3/Assemblies/RJW_Menstruation.dll index 6ba00d4..d799128 100644 Binary files a/1.3/Assemblies/RJW_Menstruation.dll and b/1.3/Assemblies/RJW_Menstruation.dll differ diff --git a/1.3/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs b/1.3/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs index ab0d751..b267dce 100644 --- a/1.3/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs +++ b/1.3/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs @@ -1,5 +1,6 @@ using RimWorld; using rjw; +using System; using System.Collections.Generic; using System.Linq; using Verse; @@ -81,9 +82,22 @@ namespace RJW_Menstruation get { if (allvaginas != null) return allvaginas; + allvaginas = new HashSet(); - List allVaginas = DefDatabase.AllDefsListForReading; - allvaginas = new HashSet(allVaginas.FindAll(vagina => vagina.HasComp(typeof(HediffComp_Menstruation)) || vagina.HasComp(typeof(HediffComp_InducedOvulator)))); + List allHediffs = DefDatabase.AllDefsListForReading; + foreach(HediffDef hediffDef in allHediffs) + { + if (hediffDef.comps.NullOrEmpty()) continue; + foreach (HediffCompProperties comp in hediffDef.comps) + { + if (comp.compClass == typeof(HediffComp_Menstruation) || comp.compClass.IsSubclassOf(typeof(HediffComp_Menstruation))) + { + allvaginas.Add(hediffDef); + break; + } + } + } + return allvaginas; } }