diff --git a/.gitignore b/.gitignore
index b14b0f8..2236aa5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -343,6 +343,3 @@ healthchecksdb
*.psd
*.dds
*.pdn
-
-Directory.Build.props
-Directory.Build.targets
diff --git a/1.6/Animal Genetics/Assemblies/Animal Genetics.dll b/1.6/Animal Genetics/Assemblies/Animal Genetics.dll
index e28598f..3591631 100644
Binary files a/1.6/Animal Genetics/Assemblies/Animal Genetics.dll and b/1.6/Animal Genetics/Assemblies/Animal Genetics.dll differ
diff --git a/1.6/Assemblies/RJW_Menstruation.dll b/1.6/Assemblies/RJW_Menstruation.dll
index 86b2376..53e512c 100644
Binary files a/1.6/Assemblies/RJW_Menstruation.dll and b/1.6/Assemblies/RJW_Menstruation.dll differ
diff --git a/1.6/Defs/RJWTab/PawnColumnDefs_Menstruation.xml b/1.6/Defs/RJWTab/PawnColumnDefs_Menstruation.xml
deleted file mode 100644
index 1ef4a86..0000000
--- a/1.6/Defs/RJWTab/PawnColumnDefs_Menstruation.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- RJWMenstruation_Womb
- Womb/Womb
- Open womb status. Click the header to sort by womb presence and cycle stage.
- RJW_Menstruation.MainTab.PawnColumnWorker_WombStatus
- true
- 34
-
-
diff --git a/1.6/Humanoid Alien Races/Assemblies/HAR.dll b/1.6/Humanoid Alien Races/Assemblies/HAR.dll
index 611da42..90ec171 100644
Binary files a/1.6/Humanoid Alien Races/Assemblies/HAR.dll and b/1.6/Humanoid Alien Races/Assemblies/HAR.dll differ
diff --git a/1.6/Patches/RJW_PawnTableDefs.xml b/1.6/Patches/RJW_PawnTableDefs.xml
deleted file mode 100644
index edbc555..0000000
--- a/1.6/Patches/RJW_PawnTableDefs.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- /Defs/PawnTableDef[defName="RJW_PawnTable_Colonists"]/columns/li[text()="Pregnant"]
-
- RJWMenstruation_Womb
-
-
-
- /Defs/PawnTableDef[defName="RJW_PawnTable_Property"]/columns/li[text()="Pregnant"]
-
- RJWMenstruation_Womb
-
-
-
-
-
diff --git a/1.6/Quirks/Assemblies/Quirks.dll b/1.6/Quirks/Assemblies/Quirks.dll
index 91a4a19..5617250 100644
Binary files a/1.6/Quirks/Assemblies/Quirks.dll and b/1.6/Quirks/Assemblies/Quirks.dll differ
diff --git a/1.6/Vanilla Expanded Core/Assemblies/VECore.dll b/1.6/Vanilla Expanded Core/Assemblies/VECore.dll
index f47a501..968020c 100644
Binary files a/1.6/Vanilla Expanded Core/Assemblies/VECore.dll and b/1.6/Vanilla Expanded Core/Assemblies/VECore.dll differ
diff --git a/1.6/source/RJW_Menstruation/RJW_Menstruation/Cum.cs b/1.6/source/RJW_Menstruation/RJW_Menstruation/Cum.cs
index 94eecdb..b02d683 100644
--- a/1.6/source/RJW_Menstruation/RJW_Menstruation/Cum.cs
+++ b/1.6/source/RJW_Menstruation/RJW_Menstruation/Cum.cs
@@ -169,13 +169,6 @@ namespace RJW_Menstruation
Scribe_Values.Look(ref useCustomColor, "useCustomColor", false);
Scribe_Values.Look(ref customColor, "customColor", default);
Scribe_Defs.Look(ref filthDef, "filthDef");
- if (Scribe.mode == LoadSaveMode.PostLoadInit &&
- (Single.IsInfinity(FertVolume) || Single.IsNaN(FertVolume) || volume < 0f))
- {
- Log.Error($"Invalid amount of {pawn}'s cum in a womb");
- volume = 0;
- fertility = 0;
- }
}
public void MakeThinner(float speed)
diff --git a/1.6/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs b/1.6/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs
index afca25e..81a1cd3 100644
--- a/1.6/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs
+++ b/1.6/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs
@@ -126,7 +126,7 @@ namespace RJW_Menstruation
protected int? opcache = null;
protected float antisperm = 0.0f;
// RJW pregnancy, or Biotech pregnancy/labor/laborpushing
- protected Hediff pregnancy = null; // Remove, instead reference per-genital pregnancy list
+ protected Hediff pregnancy = null;
protected int eggLifeSpanTicks = GenDate.DaysToTicks(2);
protected EstrusLevel estrusLevel = EstrusLevel.Visible;
@@ -313,7 +313,7 @@ namespace RJW_Menstruation
{
StatDefOf.Fertility.Worker.ClearCacheForThing(Pawn); // No effect for now, but a future RW update might add caching for this
calculatingOvulationChance = true;
- ovulationChance *= PawnCapacityUtility.CalculateCapacityLevel(Pawn.health.hediffSet, xxx.reproduction); // Add genital fertility
+ ovulationChance *= PawnCapacityUtility.CalculateCapacityLevel(Pawn.health.hediffSet, xxx.reproduction);
}
finally
{
@@ -882,11 +882,6 @@ namespace RJW_Menstruation
return cums?.Find(cum => !cum.notcum && cum.pawn == pawn);
}
- public IEnumerable GetFluids()
- {
- return cums ?? Enumerable.Empty();
- }
-
public IEnumerable GetFluids(Pawn pawn)
{
return cums?.Where(cum => cum.pawn == pawn) ?? Enumerable.Empty();
@@ -1481,7 +1476,7 @@ namespace RJW_Menstruation
try
{
if (Configurations.Debug) Log.Message($"Implanting fertilized egg of {Pawn} into {parent}, father {egg.fertilizer}");
- if (pregnancy == null) // Support pregnancy list, maybe split off into function
+ if (pregnancy == null)
{
Configurations.PregnancyType usePregnancy = xxx.is_human(Pawn) ? Configurations.PregnancySource : Configurations.PregnancyType.MultiplePregnancy;
switch (usePregnancy)
@@ -1499,7 +1494,7 @@ namespace RJW_Menstruation
case Configurations.PregnancyType.MultiplePregnancy:
if (Configurations.Debug) Log.Message($"Creating new menstruation pregnancy");
- pregnancy = Hediff_BasePregnancy.Create(Pawn, egg.fertilizer); // Add fertility comp of mother
+ pregnancy = Hediff_BasePregnancy.Create(Pawn, egg.fertilizer);
pregnant = true;
deadeggs.Add(egg);
break;
diff --git a/1.6/source/RJW_Menstruation/RJW_Menstruation/MainTab/PawnColumnWorker_WombStatus.cs b/1.6/source/RJW_Menstruation/RJW_Menstruation/MainTab/PawnColumnWorker_WombStatus.cs
deleted file mode 100644
index 3c28db8..0000000
--- a/1.6/source/RJW_Menstruation/RJW_Menstruation/MainTab/PawnColumnWorker_WombStatus.cs
+++ /dev/null
@@ -1,138 +0,0 @@
-using RimWorld;
-using UnityEngine;
-using Verse;
-
-namespace RJW_Menstruation.MainTab
-{
- public class PawnColumnWorker_WombStatus : PawnColumnWorker
- {
- private const float CellIconSize = 24f;
- private const float ProgressBarHeight = 2f;
- private const float IconScale = 0.85f;
- private const int HasVisibleWombOffset = 100;
-
- public override void DoCell(Rect rect, Pawn pawn, PawnTable table)
- {
- HediffComp_Menstruation comp = GetDisplayComp(pawn);
- if (comp == null) return;
-
- Gizmo_Womb gizmo = Pawn_GetGizmos.CreateGizmo_WombStatus(pawn, comp);
- Rect iconRect = new Rect(
- rect.x + (rect.width - CellIconSize) / 2f,
- rect.y + Mathf.Max((rect.height - CellIconSize) / 2f, 0f),
- CellIconSize,
- CellIconSize);
-
- DrawCellIcon(iconRect, gizmo);
-
- if (Mouse.IsOver(iconRect) && !gizmo.defaultDesc.NullOrEmpty())
- {
- TooltipHandler.TipRegion(iconRect, gizmo.defaultDesc);
- }
-
- if (Widgets.ButtonInvisible(iconRect, doMouseoverSound: false))
- {
- Dialog_WombStatus.ToggleWindow(pawn, comp);
- }
- }
-
- public override int GetMinWidth(PawnTable table)
- {
- return 30;
- }
-
- public override int GetMaxWidth(PawnTable table)
- {
- return GetMinWidth(table);
- }
-
- public override int GetMinCellHeight(Pawn pawn)
- {
- return 30;
- }
-
- public override int Compare(Pawn a, Pawn b)
- {
- int result = GetSortValue(a).CompareTo(GetSortValue(b));
- if (result != 0) return result;
-
- return string.CompareOrdinal(a.LabelShortCap, b.LabelShortCap);
- }
-
- private static HediffComp_Menstruation GetDisplayComp(Pawn pawn)
- {
- if (!pawn.ShowStatus() || !pawn.ShouldCycle()) return null;
-
- HediffComp_Menstruation comp = pawn.GetFirstMenstruationComp();
- if (comp == null) return null;
-
- if (!Configurations.ShowInfertileIcon &&
- (comp.CurrentVisibleStage == HediffComp_Menstruation.Stage.Infertile ||
- comp.CurrentVisibleStage == HediffComp_Menstruation.Stage.None))
- {
- return null;
- }
-
- return comp;
- }
-
- private static int GetSortValue(Pawn pawn)
- {
- if (!pawn.ShowStatus() || !pawn.ShouldCycle()) return int.MinValue;
-
- HediffComp_Menstruation comp = pawn.GetFirstMenstruationComp();
- if (comp == null) return int.MinValue + 1;
-
- return HasVisibleWombOffset + GetStageSortValue(comp.CurrentVisibleStage);
- }
-
- private static int GetStageSortValue(HediffComp_Menstruation.Stage stage)
- {
- switch (stage)
- {
- case HediffComp_Menstruation.Stage.Luteal:
- return 9;
- case HediffComp_Menstruation.Stage.Ovulatory:
- return 8;
- case HediffComp_Menstruation.Stage.Follicular:
- return 7;
- case HediffComp_Menstruation.Stage.Pregnant:
- return 6;
- case HediffComp_Menstruation.Stage.Bleeding:
- return 5;
- case HediffComp_Menstruation.Stage.Recover:
- return 4;
- case HediffComp_Menstruation.Stage.Anestrus:
- return 3;
- case HediffComp_Menstruation.Stage.Infertile:
- return 2;
- case HediffComp_Menstruation.Stage.None:
- return 1;
- default:
- return 0;
- }
- }
-
- private static void DrawCellIcon(Rect rect, Gizmo_Womb gizmo)
- {
- Texture baseIcon = gizmo.icon ?? BaseContent.BadTex;
- Texture overlay = gizmo.icon_overlay ?? BaseContent.BadTex;
-
- Widgets.DrawTextureFitted(rect, baseIcon, IconScale);
-
- Color oldColor = GUI.color;
- GUI.color = gizmo.cumcolor;
- Widgets.DrawTextureFitted(rect, overlay, IconScale);
- GUI.color = Color.white;
-
- if (Configurations.DrawEggOverlay)
- {
- gizmo.comp.DrawEggOverlay(rect, false);
- }
-
- Rect progressRect = new Rect(rect.x + 2f, rect.y, rect.width - 4f, ProgressBarHeight);
- Widgets.FillableBar(progressRect, gizmo.comp.StageProgress, gizmo.comp.GetStageTexture);
- GUI.color = oldColor;
- }
- }
-}
diff --git a/1.6/source/RJW_Menstruation/RJW_Menstruation/Patch/Gizmo_Patch.cs b/1.6/source/RJW_Menstruation/RJW_Menstruation/Patch/Gizmo_Patch.cs
index 8c2b59b..7838e01 100644
--- a/1.6/source/RJW_Menstruation/RJW_Menstruation/Patch/Gizmo_Patch.cs
+++ b/1.6/source/RJW_Menstruation/RJW_Menstruation/Patch/Gizmo_Patch.cs
@@ -46,7 +46,7 @@ namespace RJW_Menstruation
}
- internal static Gizmo_Womb CreateGizmo_WombStatus(Pawn pawn, HediffComp_Menstruation comp)
+ private static Gizmo CreateGizmo_WombStatus(Pawn pawn, HediffComp_Menstruation comp)
{
if (!comp.loaded)
comp.Initialize();
diff --git a/1.6/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs b/1.6/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs
index fa25f4c..b1577ec 100644
--- a/1.6/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs
+++ b/1.6/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs
@@ -23,7 +23,7 @@ namespace RJW_Menstruation
if (sextype != xxx.rjwSextype.Vaginal && sextype != xxx.rjwSextype.DoublePenetration) return true;
if (!mother.ShouldCycle()) return true;
- if (!InteractionCanCausePregnancy(props)) return true;
+ if (!InteractionCanCausePregnancy(props)) return false;
List pawnparts = Genital_Helper.get_PartsHediffList(father, Genital_Helper.get_genitalsBPR(father));
diff --git a/1.6/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj b/1.6/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj
index 26593c6..0c6dfeb 100644
--- a/1.6/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj
+++ b/1.6/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj
@@ -90,7 +90,6 @@
-
@@ -179,4 +178,4 @@
-
+
\ No newline at end of file
diff --git a/1.6/source/RJW_Menstruation/RJW_Menstruation/Utility.cs b/1.6/source/RJW_Menstruation/RJW_Menstruation/Utility.cs
index 854e200..218c3fd 100644
--- a/1.6/source/RJW_Menstruation/RJW_Menstruation/Utility.cs
+++ b/1.6/source/RJW_Menstruation/RJW_Menstruation/Utility.cs
@@ -207,8 +207,8 @@ namespace RJW_Menstruation
Hediff hediff = pawn.GetBreastList().MaxBy(h => h.Severity);
HediffComp_Breast comp = hediff.TryGetComp();
string icon;
- if (breastCount > 1) icon = "Breasts_Udder/Breast";
- else icon = comp?.BreastTex ?? "Breasts/Breast";
+ if (breastCount > 1) icon = "Breasts_Udder/Breast_Breast";
+ else icon = comp?.BreastTex ?? "Breasts/Breast_Breast";
if (hediff.Severity < 0.20f) icon += "_Breast00";
else if (hediff.Severity < 0.40f) icon += "_Breast01";
@@ -339,7 +339,7 @@ namespace RJW_Menstruation
}
public static string GetBreastLabel(this Pawn pawn)
{
- Hediff hediff = pawn.health.hediffSet.hediffs.Where(h => VariousDefOf.AllBreasts.Contains(h.def)).MaxByWithFallback(h => h.Severity);
+ Hediff hediff = pawn.health.hediffSet.hediffs.FirstOrDefault(h => VariousDefOf.AllBreasts.Contains(h.def));
if (hediff != null) return hediff.LabelBase.CapitalizeFirst() + "\n(" + hediff.LabelInBrackets + ")";
else return "";
}
diff --git a/About/Manifest.xml b/About/Manifest.xml
index bef173d..9597ee4 100644
--- a/About/Manifest.xml
+++ b/About/Manifest.xml
@@ -1,7 +1,7 @@
RJW Menstruation
- 1.6.2.4
+ 1.6.2.2
diff --git a/changelogs.txt b/changelogs.txt
index 7316879..3dca13e 100644
--- a/changelogs.txt
+++ b/changelogs.txt
@@ -1,10 +1,3 @@
-Version 1.6.2.4
- - Fix error on startup and missing womb status in RJW tab with RJW 6.1.4.
-
-Version 1.6.2.3
- - Fix multiple breasts not appearing in the menstruation UI.
- - Status of wombs now appears in RJW main tab, contributed by GhostClinic.
-
Version 1.6.2.2
- Pawns with multiple breasts will now display an udder in the menstruation UI.
- Updated Traditional Chinese translation by Hydrogen.