diff --git a/About/Manifest.xml b/About/Manifest.xml
new file mode 100644
index 0000000..1f531db
--- /dev/null
+++ b/About/Manifest.xml
@@ -0,0 +1,12 @@
+
+
+ RJW Menstruation
+ 1.0.0.1
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/About/PublishedFileId.txt b/About/PublishedFileId.txt
deleted file mode 100644
index 14cb048..0000000
--- a/About/PublishedFileId.txt
+++ /dev/null
@@ -1 +0,0 @@
-2084961349
\ No newline at end of file
diff --git a/About/preview.PNG b/About/preview.PNG
deleted file mode 100644
index be41043..0000000
Binary files a/About/preview.PNG and /dev/null differ
diff --git a/Assemblies/RJW_Menstruation.dll b/Assemblies/RJW_Menstruation.dll
index e2d663e..547c954 100644
Binary files a/Assemblies/RJW_Menstruation.dll and b/Assemblies/RJW_Menstruation.dll differ
diff --git a/Languages/English/Keyed/RJW_Menstruation.xml b/Languages/English/Keyed/RJW_Menstruation.xml
index cf72e2d..00a1509 100644
--- a/Languages/English/Keyed/RJW_Menstruation.xml
+++ b/Languages/English/Keyed/RJW_Menstruation.xml
@@ -11,6 +11,7 @@
Luteal
Pregnant
Recovering from birth
+ None
State
Fetus
Father
diff --git a/Languages/Korean/Keyed/RJW_Menstruation.xml b/Languages/Korean/Keyed/RJW_Menstruation.xml
index 14caabb..cda3226 100644
--- a/Languages/Korean/Keyed/RJW_Menstruation.xml
+++ b/Languages/Korean/Keyed/RJW_Menstruation.xml
@@ -11,7 +11,8 @@
황체기
임신
회복기
- 주기
+ 없음
+ 상태
태아
부
정액목록
diff --git a/Patches/Hediffs_PrivateParts.xml b/Patches/Hediffs_PrivateParts.xml
index 356add0..d71c2aa 100644
--- a/Patches/Hediffs_PrivateParts.xml
+++ b/Patches/Hediffs_PrivateParts.xml
@@ -21,8 +21,108 @@
10
3
Womb/Womb
+ Genitals/Vagina
+
+
+ Defs/rjw.HediffDef_PartBase[defName="HydraulicVagina"]
+
+
+
+ 500
+ Womb/Womb
+ Genitals/BionicVagina
+ true
+
+
+
+
+
+
+ Defs/rjw.HediffDef_PartBase[defName="BionicVagina"]
+
+
+
+ 500
+ Womb/Womb
+ Genitals/BionicVagina
+ true
+
+
+
+
+
+
+ Defs/rjw.HediffDef_PartBase[defName="ArchotechVagina"]
+
+
+
+ 500
+ 1.0
+ 1.0
+ 0.05
+ 14
+ 14
+ 0
+ 0
+ 3
+ Womb/Womb
+ Genitals/Vagina
+
+
+
+
+
+
+ Defs/rjw.HediffDef_PartBase[defName="Anus"]
+
+
+
+ Genitals/Anal
+
+
+
+
+
+
+ Defs/rjw.HediffDef_PartBase[defName="HydraulicAnus"]
+
+
+
+ Genitals/BionicAnal
+
+
+
+
+
+
+ Defs/rjw.HediffDef_PartBase[defName="BionicAnus"]
+
+
+
+ Genitals/BionicAnal
+
+
+
+
+
+
+ Defs/rjw.HediffDef_PartBase[defName="ArchotechAnus"]
+
+
+
+ Genitals/Anal
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Textures/Genitals/BionicAnal.psd b/Textures/Genitals/BionicAnal.psd
new file mode 100644
index 0000000..9167093
Binary files /dev/null and b/Textures/Genitals/BionicAnal.psd differ
diff --git a/Textures/Genitals/BionicAnal00.png b/Textures/Genitals/BionicAnal00.png
new file mode 100644
index 0000000..a2d62e6
Binary files /dev/null and b/Textures/Genitals/BionicAnal00.png differ
diff --git a/Textures/Genitals/BionicAnal01.png b/Textures/Genitals/BionicAnal01.png
new file mode 100644
index 0000000..dcf807c
Binary files /dev/null and b/Textures/Genitals/BionicAnal01.png differ
diff --git a/Textures/Genitals/BionicAnal02.png b/Textures/Genitals/BionicAnal02.png
new file mode 100644
index 0000000..b3e2bb1
Binary files /dev/null and b/Textures/Genitals/BionicAnal02.png differ
diff --git a/Textures/Genitals/BionicAnal03.png b/Textures/Genitals/BionicAnal03.png
new file mode 100644
index 0000000..b6f4197
Binary files /dev/null and b/Textures/Genitals/BionicAnal03.png differ
diff --git a/Textures/Genitals/BionicAnal04.png b/Textures/Genitals/BionicAnal04.png
new file mode 100644
index 0000000..fef6d85
Binary files /dev/null and b/Textures/Genitals/BionicAnal04.png differ
diff --git a/Textures/Genitals/BionicAnal05.png b/Textures/Genitals/BionicAnal05.png
new file mode 100644
index 0000000..d6b5c29
Binary files /dev/null and b/Textures/Genitals/BionicAnal05.png differ
diff --git a/Textures/Genitals/BionicVagina.psd b/Textures/Genitals/BionicVagina.psd
new file mode 100644
index 0000000..cea937c
Binary files /dev/null and b/Textures/Genitals/BionicVagina.psd differ
diff --git a/Textures/Genitals/BionicVagina00.png b/Textures/Genitals/BionicVagina00.png
new file mode 100644
index 0000000..2287123
Binary files /dev/null and b/Textures/Genitals/BionicVagina00.png differ
diff --git a/Textures/Genitals/BionicVagina01.png b/Textures/Genitals/BionicVagina01.png
new file mode 100644
index 0000000..e5c76d0
Binary files /dev/null and b/Textures/Genitals/BionicVagina01.png differ
diff --git a/Textures/Genitals/BionicVagina02.png b/Textures/Genitals/BionicVagina02.png
new file mode 100644
index 0000000..7b6f3a3
Binary files /dev/null and b/Textures/Genitals/BionicVagina02.png differ
diff --git a/Textures/Genitals/BionicVagina03.png b/Textures/Genitals/BionicVagina03.png
new file mode 100644
index 0000000..bc63432
Binary files /dev/null and b/Textures/Genitals/BionicVagina03.png differ
diff --git a/Textures/Genitals/BionicVagina04.png b/Textures/Genitals/BionicVagina04.png
new file mode 100644
index 0000000..0034001
Binary files /dev/null and b/Textures/Genitals/BionicVagina04.png differ
diff --git a/Textures/Genitals/BionicVagina05.png b/Textures/Genitals/BionicVagina05.png
new file mode 100644
index 0000000..42c94d9
Binary files /dev/null and b/Textures/Genitals/BionicVagina05.png differ
diff --git a/Textures/Genitals/BionicVagina06.png b/Textures/Genitals/BionicVagina06.png
new file mode 100644
index 0000000..e5ef588
Binary files /dev/null and b/Textures/Genitals/BionicVagina06.png differ
diff --git a/Textures/Genitals/BionicVagina07.png b/Textures/Genitals/BionicVagina07.png
new file mode 100644
index 0000000..8198179
Binary files /dev/null and b/Textures/Genitals/BionicVagina07.png differ
diff --git a/Textures/Genitals/BionicVagina08.png b/Textures/Genitals/BionicVagina08.png
new file mode 100644
index 0000000..a4b81aa
Binary files /dev/null and b/Textures/Genitals/BionicVagina08.png differ
diff --git a/Textures/Genitals/BionicVagina09.png b/Textures/Genitals/BionicVagina09.png
new file mode 100644
index 0000000..f0aac83
Binary files /dev/null and b/Textures/Genitals/BionicVagina09.png differ
diff --git a/Textures/Genitals/BionicVagina10.png b/Textures/Genitals/BionicVagina10.png
new file mode 100644
index 0000000..9edeba4
Binary files /dev/null and b/Textures/Genitals/BionicVagina10.png differ
diff --git a/Textures/Genitals/BionicVagina11.png b/Textures/Genitals/BionicVagina11.png
new file mode 100644
index 0000000..8577e1b
Binary files /dev/null and b/Textures/Genitals/BionicVagina11.png differ
diff --git a/source/RJW_Menstruation/RJW_Menstruation/Dialog_WombStatus.cs b/source/RJW_Menstruation/RJW_Menstruation/Dialog_WombStatus.cs
index 3b7357a..ba71a73 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/Dialog_WombStatus.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/Dialog_WombStatus.cs
@@ -30,7 +30,13 @@ namespace RJW_Menstruation
private Texture2D anal;
private Color cumcolor;
- public override Vector2 InitialSize
+ private GUIStyle fontstylecenter = new GUIStyle() { alignment = TextAnchor.MiddleCenter };
+ private GUIStyle fontstyleright = new GUIStyle() { alignment = TextAnchor.MiddleRight };
+ private GUIStyle fontstyleleft = new GUIStyle() { alignment = TextAnchor.MiddleLeft };
+ private GUIStyle boxstyle = new GUIStyle(GUI.skin.textArea);
+ private GUIStyle buttonstyle = new GUIStyle(GUI.skin.button);
+
+ public override Vector2 InitialSize
{
get
{
@@ -74,11 +80,7 @@ namespace RJW_Menstruation
private void MainContents(Rect mainRect)
{
- GUIStyle fontstylecenter = new GUIStyle() { alignment = TextAnchor.MiddleCenter };
- GUIStyle fontstyleright = new GUIStyle() { alignment = TextAnchor.MiddleRight };
- GUIStyle fontstyleleft = new GUIStyle() { alignment = TextAnchor.MiddleLeft };
- GUIStyle boxstyle = new GUIStyle(GUI.skin.textArea);
- GUIStyle buttonstyle = new GUIStyle(GUI.skin.button);
+
boxstyle.hover = boxstyle.normal;
boxstyle.onHover = boxstyle.normal;
boxstyle.onNormal = boxstyle.normal;
@@ -162,29 +164,47 @@ namespace RJW_Menstruation
GUI.Label(cumlistTitle,Translations.Dialog_WombInfo04);
Rect cumlistRect = new Rect(pawnRectWidth, fontheight, wombRectWidth - pawnRectWidth, mainRect.yMax - wombRectHeight - fontheight);
+ DrawCumlist(cumlistRect);
+
+ Rect genitalRect = new Rect(24, pawnRectHeight + 2*fontheight, genitalRectWidth, genitalRectHeight + fontheight*2);
+ DrawVagina(genitalRect);
+
+
+
+ }
+
+
+
+
+ private void DrawCumlist(Rect rect)
+ {
Listing_Standard cumlist = new Listing_Standard
{
maxOneColumn = true,
ColumnWidth = wombRectWidth - pawnRectWidth
};
- cumlist.Begin(cumlistRect);
- Listing_Standard cumlistsection = cumlist.BeginSection_NewTemp(mainRect.yMax - wombRectHeight - 2 * fontheight - 12f);
- foreach(string s in comp.GetCumsInfo)
- {
+ cumlist.Begin(rect);
+ Listing_Standard cumlistsection = cumlist.BeginSection_NewTemp(rect.height - fontheight - 12f);
+ foreach (string s in comp.GetCumsInfo)
+ {
cumlistsection.Label(s);
- }
+ }
cumlist.EndSection(cumlistsection);
cumlist.End();
+ }
- Rect genitalRect = new Rect(24, pawnRectHeight + 2*fontheight, genitalRectWidth, genitalRectHeight + fontheight*2);
- Rect genitalIconRect = new Rect(genitalRect.x,genitalRect.y + fontheight ,genitalRectWidth,genitalRectHeight);
- Rect genitalVaginaLabelRect = new Rect(genitalRect.x,genitalRect.y,genitalRectWidth,fontheight);
- Rect genitalAnusLabelRect = new Rect(genitalRect.x,genitalRect.y + fontheight + genitalRectHeight ,genitalRectWidth,fontheight);
+
+
+ private void DrawVagina(Rect rect)
+ {
+ Rect genitalIconRect = new Rect(rect.x, rect.y + fontheight, genitalRectWidth, genitalRectHeight);
+ Rect genitalVaginaLabelRect = new Rect(rect.x, rect.y, genitalRectWidth, fontheight);
+ Rect genitalAnusLabelRect = new Rect(rect.x, rect.y + fontheight + genitalRectHeight, genitalRectWidth, fontheight);
vagina = Utility.GetGenitalIcon(pawn);
anal = Utility.GetAnalIcon(pawn);
GUI.color = new Color(1.00f, 0.47f, 0.47f, 1);
- GUI.Box(genitalRect, "", boxstyle);
+ GUI.Box(rect, "", boxstyle);
GUI.color = pawn.story.SkinColor;
//Widgets.DrawTextureFitted(genitalIconRect, anal, 1.0f);
//Widgets.DrawTextureFitted(genitalIconRect, vagina, 1.0f);
@@ -192,13 +212,11 @@ namespace RJW_Menstruation
GUI.DrawTexture(genitalIconRect, vagina, ScaleMode.ScaleToFit);
GUI.color = Color.white;
- GUI.Label(genitalVaginaLabelRect, Utility.GetVaginaLabel(pawn),fontstylecenter);
- GUI.Label(genitalAnusLabelRect, Utility.GetAnusLabel(pawn),fontstylecenter);
+ GUI.Label(genitalVaginaLabelRect, Utility.GetVaginaLabel(pawn), fontstylecenter);
+ GUI.Label(genitalAnusLabelRect, Utility.GetAnusLabel(pawn), fontstylecenter);
}
-
-
}
}
diff --git a/source/RJW_Menstruation/RJW_Menstruation/GetGizmos.cs b/source/RJW_Menstruation/RJW_Menstruation/GetGizmos.cs
index cc884c7..efd3ad3 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/GetGizmos.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/GetGizmos.cs
@@ -47,19 +47,21 @@ namespace RJW_Menstruation
private static void AddWombGizmos(Pawn __instance, ref List gizmoList)
{
- gizmoList.Add(CreateGizmo_WombStatus(__instance));
+ //HediffComp_Menstruation comp = __instance.health.hediffSet.GetFirstHediffOfDef(Genital_Helper.average_vagina).TryGetComp();
+ HediffComp_Menstruation comp = Utility.GetMenstruationComp(__instance);
+
+ if (comp != null) gizmoList.Add(CreateGizmo_WombStatus(__instance, comp));
}
- private static Gizmo CreateGizmo_WombStatus(Pawn pawn)
+ private static Gizmo CreateGizmo_WombStatus(Pawn pawn , HediffComp_Menstruation comp)
{
- HediffComp_Menstruation comp = pawn.health.hediffSet.GetFirstHediffOfDef(Genital_Helper.average_vagina).TryGetComp();
Texture2D icon,icon_overay;
- Hediff hediff = PregnancyHelper.GetPregnancy(pawn);
string description = "";
if (Configurations.Debug) description += comp.curStage + ": " + comp.curStageHrs + "\n" + "fertcums: " + comp.TotalFertCum;
else description += comp.GetCurStageLabel + "\n";
if (pawn.IsPregnant())
{
+ Hediff hediff = PregnancyHelper.GetPregnancy(pawn);
icon = Utility.GetPregnancyIcon(comp,hediff);
if (hediff is Hediff_BasePregnancy)
{
diff --git a/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs b/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs
index 4737ac4..33f1d7a 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs
@@ -23,7 +23,8 @@ namespace RJW_Menstruation
public int recoveryIntervalDays = 10; //additional infertile days after gave birth
public int eggLifespanDays = 2; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday
public string wombTex = "Womb/Womb"; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday
-
+ public string vagTex = "Genitals/Vagina"; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday
+ public bool infertile = false;
public CompProperties_Menstruation()
{
@@ -32,6 +33,21 @@ namespace RJW_Menstruation
}
}
+ public class CompProperties_Anus : HediffCompProperties
+ {
+ public string analTex = "Genitals/Anal";
+
+ public CompProperties_Anus()
+ {
+ compClass = typeof(HediffComp_Anus);
+ }
+ }
+
+
+
+
+
+
public class HediffComp_Menstruation : HediffComp
{
@@ -50,7 +66,8 @@ namespace RJW_Menstruation
Bleeding,
Fertilized,
Pregnant,
- Recover
+ Recover,
+ None
}
private List cums;
@@ -191,6 +208,8 @@ namespace RJW_Menstruation
return Translations.Stage_Pregnant;
case Stage.Recover:
return Translations.Stage_Recover;
+ case Stage.None:
+ return Translations.Stage_None;
default:
return "";
}
@@ -248,29 +267,17 @@ namespace RJW_Menstruation
}
+ public override void CompPostPostAdd(DamageInfo? dinfo)
+ {
+ Initialize();
+ }
+
+
public override void CompPostTick(ref float severityAdjustment)
{
if (!loaded)
{
- Props = (CompProperties_Menstruation)props;
- if (follicularIntervalhours < 0)
- {
- follicularIntervalhours = PeriodRandomizer(Props.folicularIntervalDays*24,Props.deviationFactor);
- curStage = RandomStage();
- }
-
- if (lutealIntervalhours < 0) lutealIntervalhours = PeriodRandomizer(Props.lutealIntervalDays*24, Props.deviationFactor);
- if (bleedingIntervalhours < 0) bleedingIntervalhours = PeriodRandomizer(Props.bleedingIntervalDays*24, Props.deviationFactor);
- if (recoveryIntervalhours < 0) recoveryIntervalhours = PeriodRandomizer(Props.recoveryIntervalDays * 24, Props.deviationFactor);
- if (cums == null) cums = new List();
- if (eggs == null) eggs = new List();
- if (parent.pawn.IsPregnant()) curStage = Stage.Pregnant;
- if (Configurations.EnableAnimalCycle)
- {
- HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false);
- }
- else if (!parent.pawn.IsAnimal()) HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false);
- loaded = true;
+ Initialize();
}
}
@@ -282,6 +289,10 @@ namespace RJW_Menstruation
}
+
+
+
+
public Cum GetNotCum(string notcumlabel)
{
if (!cums.NullOrEmpty()) foreach (Cum cum in cums)
@@ -470,6 +481,39 @@ namespace RJW_Menstruation
else return false;
}
+ private void Initialize()
+ {
+ Props = (CompProperties_Menstruation)props;
+
+ if (!Props.infertile)
+ {
+ if (follicularIntervalhours < 0)
+ {
+ follicularIntervalhours = PeriodRandomizer(Props.folicularIntervalDays * 24, Props.deviationFactor);
+ curStage = RandomStage();
+ }
+
+ if (lutealIntervalhours < 0) lutealIntervalhours = PeriodRandomizer(Props.lutealIntervalDays * 24, Props.deviationFactor);
+ if (bleedingIntervalhours < 0) bleedingIntervalhours = PeriodRandomizer(Props.bleedingIntervalDays * 24, Props.deviationFactor);
+ if (recoveryIntervalhours < 0) recoveryIntervalhours = PeriodRandomizer(Props.recoveryIntervalDays * 24, Props.deviationFactor);
+ if (cums == null) cums = new List();
+ if (eggs == null) eggs = new List();
+ if (parent.pawn.IsPregnant()) curStage = Stage.Pregnant;
+ if (Configurations.EnableAnimalCycle)
+ {
+ HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false);
+ }
+ else if (!parent.pawn.IsAnimal()) HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false);
+ }
+ else
+ {
+ if (cums == null) cums = new List();
+ curStage = Stage.None;
+ HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false);
+ }
+ loaded = true;
+ }
+
private Pawn Fertilize()
{
if (cums.NullOrEmpty()) return null;
@@ -605,8 +649,16 @@ namespace RJW_Menstruation
}
else
{
- bleedingIntervalhours = PeriodRandomizer(bleedingIntervalhours, Props.deviationFactor);
- GoNextStage(Stage.Bleeding);
+ if (Props.bleedingIntervalDays == 0)
+ {
+ follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor);
+ GoNextStage(Stage.Follicular);
+ }
+ else
+ {
+ bleedingIntervalhours = PeriodRandomizer(bleedingIntervalhours, Props.deviationFactor);
+ GoNextStage(Stage.Bleeding);
+ }
}
};
break;
@@ -669,6 +721,12 @@ namespace RJW_Menstruation
}
};
break;
+ case Stage.None:
+ action = delegate
+ {
+ StayCurrentStageConst(Stage.None);
+ };
+ break;
default:
curStage = Stage.Follicular;
curStageHrs = 0;
@@ -777,4 +835,12 @@ namespace RJW_Menstruation
}
+
+ public class HediffComp_Anus : HediffComp
+ {
+ public override void CompPostTick(ref float severityAdjustment)
+ {
+ }
+ }
+
}
diff --git a/source/RJW_Menstruation/RJW_Menstruation/Translations.cs b/source/RJW_Menstruation/RJW_Menstruation/Translations.cs
index 6e524ba..c6ace03 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/Translations.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/Translations.cs
@@ -14,6 +14,7 @@ namespace RJW_Menstruation
public static readonly string Stage_Fertilized = "Stage_Fertilized".Translate();
public static readonly string Stage_Pregnant = "Stage_Pregnant".Translate();
public static readonly string Stage_Recover = "Stage_Recover".Translate();
+ public static readonly string Stage_None = "Stage_None".Translate();
public static readonly string Dialog_WombInfo01 = "Dialog_WombInfo01".Translate();
public static readonly string Dialog_WombInfo02 = "Dialog_WombInfo02".Translate();
diff --git a/source/RJW_Menstruation/RJW_Menstruation/Utility.cs b/source/RJW_Menstruation/RJW_Menstruation/Utility.cs
index a7d1a22..d246825 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/Utility.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/Utility.cs
@@ -174,19 +174,23 @@ namespace RJW_Menstruation
public static Texture2D GetGenitalIcon(Pawn pawn)
{
var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("vagina"));
- string icon = "Genitals/";
- if (hediff.Severity < 0.20f) icon += "Vagina00"; //micro
- else if (hediff.Severity < 0.30f) icon += "Vagina01"; //tight
- else if (hediff.Severity < 0.40f) icon += "Vagina02"; //tight
- else if (hediff.Severity < 0.47f) icon += "Vagina03"; //average
- else if (hediff.Severity < 0.53f) icon += "Vagina04"; //average
- else if (hediff.Severity < 0.60f) icon += "Vagina05"; //average
- else if (hediff.Severity < 0.70f) icon += "Vagina06"; //accomodating
- else if (hediff.Severity < 0.80f) icon += "Vagina07"; //accomodating
- else if (hediff.Severity < 0.87f) icon += "Vagina08"; //cavernous
- else if (hediff.Severity < 0.94f) icon += "Vagina09"; //cavernous
- else if (hediff.Severity < 1.01f) icon += "Vagina10"; //cavernous
- else icon += "Vagina11"; //abyssal
+ CompProperties_Menstruation Props = (CompProperties_Menstruation)hediff.TryGetComp().props;
+ string icon;
+ if (Props != null) icon = Props.vagTex;
+ else icon = "Genitals/Vagina";
+
+ if (hediff.Severity < 0.20f) icon += "00"; //micro
+ else if (hediff.Severity < 0.30f) icon += "01"; //tight
+ else if (hediff.Severity < 0.40f) icon += "02"; //tight
+ else if (hediff.Severity < 0.47f) icon += "03"; //average
+ else if (hediff.Severity < 0.53f) icon += "04"; //average
+ else if (hediff.Severity < 0.60f) icon += "05"; //average
+ else if (hediff.Severity < 0.70f) icon += "06"; //accomodating
+ else if (hediff.Severity < 0.80f) icon += "07"; //accomodating
+ else if (hediff.Severity < 0.87f) icon += "08"; //cavernous
+ else if (hediff.Severity < 0.94f) icon += "09"; //cavernous
+ else if (hediff.Severity < 1.01f) icon += "10"; //cavernous
+ else icon += "11"; //abyssal
return ContentFinder.Get((icon), true);
}
@@ -194,13 +198,16 @@ namespace RJW_Menstruation
public static Texture2D GetAnalIcon(Pawn pawn)
{
var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("anus"));
- string icon = "Genitals/";
- if (hediff.Severity < 0.20f) icon += "Anal00"; //micro
- else if (hediff.Severity < 0.40f) icon += "Anal01"; //tight
- else if (hediff.Severity < 0.60f) icon += "Anal02"; //average
- else if (hediff.Severity < 0.80f) icon += "Anal03"; //accomodating
- else if (hediff.Severity < 1.01f) icon += "Anal04"; //cavernous
- else icon += "Anal05"; //abyssal
+ CompProperties_Anus Props = (CompProperties_Anus)hediff.TryGetComp().props;
+ string icon;
+ if (Props != null) icon = Props.analTex;
+ else icon = "Genitals/Anal";
+ if (hediff.Severity < 0.20f) icon += "00"; //micro
+ else if (hediff.Severity < 0.40f) icon += "01"; //tight
+ else if (hediff.Severity < 0.60f) icon += "02"; //average
+ else if (hediff.Severity < 0.80f) icon += "03"; //accomodating
+ else if (hediff.Severity < 1.01f) icon += "04"; //cavernous
+ else icon += "05"; //abyssal
return ContentFinder.Get((icon), true);
}