supports for other type of vagina&anus

supports for cutom icons of vagina&anus
This commit is contained in:
moreoreganostodump 2021-02-02 16:47:02 +09:00
parent f8e9778764
commit fe463fc975
32 changed files with 276 additions and 69 deletions

12
About/Manifest.xml Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Manifest>
<identifier>RJW Menstruation</identifier>
<version>1.0.0.1</version>
<dependencies>
</dependencies>
<incompatibleWith />
<loadAfter>
</loadAfter>
<suggests>
</suggests>
</Manifest>

View File

@ -1 +0,0 @@
2084961349

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

View File

@ -11,6 +11,7 @@
<Stage_Fertilized>Luteal</Stage_Fertilized> <Stage_Fertilized>Luteal</Stage_Fertilized>
<Stage_Pregnant>Pregnant</Stage_Pregnant> <Stage_Pregnant>Pregnant</Stage_Pregnant>
<Stage_Recover>Recovering from birth</Stage_Recover> <Stage_Recover>Recovering from birth</Stage_Recover>
<Stage_None>None</Stage_None>
<Dialog_WombInfo01>State</Dialog_WombInfo01> <Dialog_WombInfo01>State</Dialog_WombInfo01>
<Dialog_WombInfo02>Fetus</Dialog_WombInfo02> <Dialog_WombInfo02>Fetus</Dialog_WombInfo02>
<Dialog_WombInfo03>Father</Dialog_WombInfo03> <Dialog_WombInfo03>Father</Dialog_WombInfo03>

View File

@ -11,7 +11,8 @@
<Stage_Fertilized>황체기</Stage_Fertilized> <Stage_Fertilized>황체기</Stage_Fertilized>
<Stage_Pregnant>임신</Stage_Pregnant> <Stage_Pregnant>임신</Stage_Pregnant>
<Stage_Recover>회복기</Stage_Recover> <Stage_Recover>회복기</Stage_Recover>
<Dialog_WombInfo01>주기</Dialog_WombInfo01> <Stage_None>없음</Stage_None>
<Dialog_WombInfo01>상태</Dialog_WombInfo01>
<Dialog_WombInfo02>태아</Dialog_WombInfo02> <Dialog_WombInfo02>태아</Dialog_WombInfo02>
<Dialog_WombInfo03></Dialog_WombInfo03> <Dialog_WombInfo03></Dialog_WombInfo03>
<Dialog_WombInfo04>정액목록</Dialog_WombInfo04> <Dialog_WombInfo04>정액목록</Dialog_WombInfo04>

View File

@ -21,8 +21,108 @@
<recoveryIntervalDays>10</recoveryIntervalDays> <recoveryIntervalDays>10</recoveryIntervalDays>
<eggLifespanDays>3</eggLifespanDays> <eggLifespanDays>3</eggLifespanDays>
<wombTex>Womb/Womb</wombTex> <wombTex>Womb/Womb</wombTex>
<vagTex>Genitals/Vagina</vagTex>
</li> </li>
</comps> </comps>
</value> </value>
</Operation> </Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/rjw.HediffDef_PartBase[defName="HydraulicVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
<maxCumCapacity>500</maxCumCapacity>
<wombTex>Womb/Womb</wombTex>
<vagTex>Genitals/BionicVagina</vagTex>
<infertile>true</infertile>
</li>
</comps>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/rjw.HediffDef_PartBase[defName="BionicVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
<maxCumCapacity>500</maxCumCapacity>
<wombTex>Womb/Womb</wombTex>
<vagTex>Genitals/BionicVagina</vagTex>
<infertile>true</infertile>
</li>
</comps>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/rjw.HediffDef_PartBase[defName="ArchotechVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
<maxCumCapacity>500</maxCumCapacity>
<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
<deviationFactor>0.05</deviationFactor>
<folicularIntervalDays>14</folicularIntervalDays>
<lutealIntervalDays>14</lutealIntervalDays>
<bleedingIntervalDays>0</bleedingIntervalDays>
<recoveryIntervalDays>0</recoveryIntervalDays>
<eggLifespanDays>3</eggLifespanDays>
<wombTex>Womb/Womb</wombTex>
<vagTex>Genitals/Vagina</vagTex>
</li>
</comps>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/rjw.HediffDef_PartBase[defName="Anus"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Anus">
<analTex>Genitals/Anal</analTex>
</li>
</comps>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/rjw.HediffDef_PartBase[defName="HydraulicAnus"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Anus">
<analTex>Genitals/BionicAnal</analTex>
</li>
</comps>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/rjw.HediffDef_PartBase[defName="BionicAnus"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Anus">
<analTex>Genitals/BionicAnal</analTex>
</li>
</comps>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/rjw.HediffDef_PartBase[defName="ArchotechAnus"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Anus">
<analTex>Genitals/Anal</analTex>
</li>
</comps>
</value>
</Operation>
</Patch> </Patch>

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -30,7 +30,13 @@ namespace RJW_Menstruation
private Texture2D anal; private Texture2D anal;
private Color cumcolor; 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 get
{ {
@ -74,11 +80,7 @@ namespace RJW_Menstruation
private void MainContents(Rect mainRect) 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.hover = boxstyle.normal;
boxstyle.onHover = boxstyle.normal; boxstyle.onHover = boxstyle.normal;
boxstyle.onNormal = boxstyle.normal; boxstyle.onNormal = boxstyle.normal;
@ -162,29 +164,47 @@ namespace RJW_Menstruation
GUI.Label(cumlistTitle,Translations.Dialog_WombInfo04); GUI.Label(cumlistTitle,Translations.Dialog_WombInfo04);
Rect cumlistRect = new Rect(pawnRectWidth, fontheight, wombRectWidth - pawnRectWidth, mainRect.yMax - wombRectHeight - fontheight); 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 Listing_Standard cumlist = new Listing_Standard
{ {
maxOneColumn = true, maxOneColumn = true,
ColumnWidth = wombRectWidth - pawnRectWidth ColumnWidth = wombRectWidth - pawnRectWidth
}; };
cumlist.Begin(cumlistRect); cumlist.Begin(rect);
Listing_Standard cumlistsection = cumlist.BeginSection_NewTemp(mainRect.yMax - wombRectHeight - 2 * fontheight - 12f); Listing_Standard cumlistsection = cumlist.BeginSection_NewTemp(rect.height - fontheight - 12f);
foreach(string s in comp.GetCumsInfo) foreach (string s in comp.GetCumsInfo)
{ {
cumlistsection.Label(s); cumlistsection.Label(s);
} }
cumlist.EndSection(cumlistsection); cumlist.EndSection(cumlistsection);
cumlist.End(); 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); private void DrawVagina(Rect rect)
Rect genitalAnusLabelRect = new Rect(genitalRect.x,genitalRect.y + fontheight + genitalRectHeight ,genitalRectWidth,fontheight); {
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); vagina = Utility.GetGenitalIcon(pawn);
anal = Utility.GetAnalIcon(pawn); anal = Utility.GetAnalIcon(pawn);
GUI.color = new Color(1.00f, 0.47f, 0.47f, 1); GUI.color = new Color(1.00f, 0.47f, 0.47f, 1);
GUI.Box(genitalRect, "", boxstyle); GUI.Box(rect, "", boxstyle);
GUI.color = pawn.story.SkinColor; GUI.color = pawn.story.SkinColor;
//Widgets.DrawTextureFitted(genitalIconRect, anal, 1.0f); //Widgets.DrawTextureFitted(genitalIconRect, anal, 1.0f);
//Widgets.DrawTextureFitted(genitalIconRect, vagina, 1.0f); //Widgets.DrawTextureFitted(genitalIconRect, vagina, 1.0f);
@ -192,13 +212,11 @@ namespace RJW_Menstruation
GUI.DrawTexture(genitalIconRect, vagina, ScaleMode.ScaleToFit); GUI.DrawTexture(genitalIconRect, vagina, ScaleMode.ScaleToFit);
GUI.color = Color.white; GUI.color = Color.white;
GUI.Label(genitalVaginaLabelRect, Utility.GetVaginaLabel(pawn),fontstylecenter); GUI.Label(genitalVaginaLabelRect, Utility.GetVaginaLabel(pawn), fontstylecenter);
GUI.Label(genitalAnusLabelRect, Utility.GetAnusLabel(pawn),fontstylecenter); GUI.Label(genitalAnusLabelRect, Utility.GetAnusLabel(pawn), fontstylecenter);
} }
} }
} }

View File

@ -47,19 +47,21 @@ namespace RJW_Menstruation
private static void AddWombGizmos(Pawn __instance, ref List<Gizmo> gizmoList) private static void AddWombGizmos(Pawn __instance, ref List<Gizmo> gizmoList)
{ {
gizmoList.Add(CreateGizmo_WombStatus(__instance)); //HediffComp_Menstruation comp = __instance.health.hediffSet.GetFirstHediffOfDef(Genital_Helper.average_vagina).TryGetComp<HediffComp_Menstruation>();
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<HediffComp_Menstruation>();
Texture2D icon,icon_overay; Texture2D icon,icon_overay;
Hediff hediff = PregnancyHelper.GetPregnancy(pawn);
string description = ""; string description = "";
if (Configurations.Debug) description += comp.curStage + ": " + comp.curStageHrs + "\n" + "fertcums: " + comp.TotalFertCum; if (Configurations.Debug) description += comp.curStage + ": " + comp.curStageHrs + "\n" + "fertcums: " + comp.TotalFertCum;
else description += comp.GetCurStageLabel + "\n"; else description += comp.GetCurStageLabel + "\n";
if (pawn.IsPregnant()) if (pawn.IsPregnant())
{ {
Hediff hediff = PregnancyHelper.GetPregnancy(pawn);
icon = Utility.GetPregnancyIcon(comp,hediff); icon = Utility.GetPregnancyIcon(comp,hediff);
if (hediff is Hediff_BasePregnancy) if (hediff is Hediff_BasePregnancy)
{ {

View File

@ -23,7 +23,8 @@ namespace RJW_Menstruation
public int recoveryIntervalDays = 10; //additional infertile days after gave birth public int recoveryIntervalDays = 10; //additional infertile days after gave birth
public int eggLifespanDays = 2; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday public int eggLifespanDays = 2; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday
public string wombTex = "Womb/Womb"; //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() 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 public class HediffComp_Menstruation : HediffComp
{ {
@ -50,7 +66,8 @@ namespace RJW_Menstruation
Bleeding, Bleeding,
Fertilized, Fertilized,
Pregnant, Pregnant,
Recover Recover,
None
} }
private List<Cum> cums; private List<Cum> cums;
@ -191,6 +208,8 @@ namespace RJW_Menstruation
return Translations.Stage_Pregnant; return Translations.Stage_Pregnant;
case Stage.Recover: case Stage.Recover:
return Translations.Stage_Recover; return Translations.Stage_Recover;
case Stage.None:
return Translations.Stage_None;
default: default:
return ""; return "";
} }
@ -248,29 +267,17 @@ namespace RJW_Menstruation
} }
public override void CompPostPostAdd(DamageInfo? dinfo)
{
Initialize();
}
public override void CompPostTick(ref float severityAdjustment) public override void CompPostTick(ref float severityAdjustment)
{ {
if (!loaded) if (!loaded)
{ {
Props = (CompProperties_Menstruation)props; Initialize();
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<Cum>();
if (eggs == null) eggs = new List<Egg>();
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;
} }
} }
@ -282,6 +289,10 @@ namespace RJW_Menstruation
} }
public Cum GetNotCum(string notcumlabel) public Cum GetNotCum(string notcumlabel)
{ {
if (!cums.NullOrEmpty()) foreach (Cum cum in cums) if (!cums.NullOrEmpty()) foreach (Cum cum in cums)
@ -470,6 +481,39 @@ namespace RJW_Menstruation
else return false; 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<Cum>();
if (eggs == null) eggs = new List<Egg>();
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<Cum>();
curStage = Stage.None;
HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false);
}
loaded = true;
}
private Pawn Fertilize() private Pawn Fertilize()
{ {
if (cums.NullOrEmpty()) return null; if (cums.NullOrEmpty()) return null;
@ -605,8 +649,16 @@ namespace RJW_Menstruation
} }
else else
{ {
bleedingIntervalhours = PeriodRandomizer(bleedingIntervalhours, Props.deviationFactor); if (Props.bleedingIntervalDays == 0)
GoNextStage(Stage.Bleeding); {
follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor);
GoNextStage(Stage.Follicular);
}
else
{
bleedingIntervalhours = PeriodRandomizer(bleedingIntervalhours, Props.deviationFactor);
GoNextStage(Stage.Bleeding);
}
} }
}; };
break; break;
@ -669,6 +721,12 @@ namespace RJW_Menstruation
} }
}; };
break; break;
case Stage.None:
action = delegate
{
StayCurrentStageConst(Stage.None);
};
break;
default: default:
curStage = Stage.Follicular; curStage = Stage.Follicular;
curStageHrs = 0; curStageHrs = 0;
@ -777,4 +835,12 @@ namespace RJW_Menstruation
} }
public class HediffComp_Anus : HediffComp
{
public override void CompPostTick(ref float severityAdjustment)
{
}
}
} }

View File

@ -14,6 +14,7 @@ namespace RJW_Menstruation
public static readonly string Stage_Fertilized = "Stage_Fertilized".Translate(); public static readonly string Stage_Fertilized = "Stage_Fertilized".Translate();
public static readonly string Stage_Pregnant = "Stage_Pregnant".Translate(); public static readonly string Stage_Pregnant = "Stage_Pregnant".Translate();
public static readonly string Stage_Recover = "Stage_Recover".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_WombInfo01 = "Dialog_WombInfo01".Translate();
public static readonly string Dialog_WombInfo02 = "Dialog_WombInfo02".Translate(); public static readonly string Dialog_WombInfo02 = "Dialog_WombInfo02".Translate();

View File

@ -174,19 +174,23 @@ namespace RJW_Menstruation
public static Texture2D GetGenitalIcon(Pawn pawn) 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")); var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("vagina"));
string icon = "Genitals/"; CompProperties_Menstruation Props = (CompProperties_Menstruation)hediff.TryGetComp<HediffComp_Menstruation>().props;
if (hediff.Severity < 0.20f) icon += "Vagina00"; //micro string icon;
else if (hediff.Severity < 0.30f) icon += "Vagina01"; //tight if (Props != null) icon = Props.vagTex;
else if (hediff.Severity < 0.40f) icon += "Vagina02"; //tight else icon = "Genitals/Vagina";
else if (hediff.Severity < 0.47f) icon += "Vagina03"; //average
else if (hediff.Severity < 0.53f) icon += "Vagina04"; //average if (hediff.Severity < 0.20f) icon += "00"; //micro
else if (hediff.Severity < 0.60f) icon += "Vagina05"; //average else if (hediff.Severity < 0.30f) icon += "01"; //tight
else if (hediff.Severity < 0.70f) icon += "Vagina06"; //accomodating else if (hediff.Severity < 0.40f) icon += "02"; //tight
else if (hediff.Severity < 0.80f) icon += "Vagina07"; //accomodating else if (hediff.Severity < 0.47f) icon += "03"; //average
else if (hediff.Severity < 0.87f) icon += "Vagina08"; //cavernous else if (hediff.Severity < 0.53f) icon += "04"; //average
else if (hediff.Severity < 0.94f) icon += "Vagina09"; //cavernous else if (hediff.Severity < 0.60f) icon += "05"; //average
else if (hediff.Severity < 1.01f) icon += "Vagina10"; //cavernous else if (hediff.Severity < 0.70f) icon += "06"; //accomodating
else icon += "Vagina11"; //abyssal 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<Texture2D>.Get((icon), true); return ContentFinder<Texture2D>.Get((icon), true);
} }
@ -194,13 +198,16 @@ namespace RJW_Menstruation
public static Texture2D GetAnalIcon(Pawn pawn) 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")); var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("anus"));
string icon = "Genitals/"; CompProperties_Anus Props = (CompProperties_Anus)hediff.TryGetComp<HediffComp_Anus>().props;
if (hediff.Severity < 0.20f) icon += "Anal00"; //micro string icon;
else if (hediff.Severity < 0.40f) icon += "Anal01"; //tight if (Props != null) icon = Props.analTex;
else if (hediff.Severity < 0.60f) icon += "Anal02"; //average else icon = "Genitals/Anal";
else if (hediff.Severity < 0.80f) icon += "Anal03"; //accomodating if (hediff.Severity < 0.20f) icon += "00"; //micro
else if (hediff.Severity < 1.01f) icon += "Anal04"; //cavernous else if (hediff.Severity < 0.40f) icon += "01"; //tight
else icon += "Anal05"; //abyssal 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<Texture2D>.Get((icon), true); return ContentFinder<Texture2D>.Get((icon), true);
} }