supports for other type of vagina&anus
supports for cutom icons of vagina&anus
12
About/Manifest.xml
Normal 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>
|
|
@ -1 +0,0 @@
|
|||
2084961349
|
Before Width: | Height: | Size: 5.5 KiB |
|
@ -11,6 +11,7 @@
|
|||
<Stage_Fertilized>Luteal</Stage_Fertilized>
|
||||
<Stage_Pregnant>Pregnant</Stage_Pregnant>
|
||||
<Stage_Recover>Recovering from birth</Stage_Recover>
|
||||
<Stage_None>None</Stage_None>
|
||||
<Dialog_WombInfo01>State</Dialog_WombInfo01>
|
||||
<Dialog_WombInfo02>Fetus</Dialog_WombInfo02>
|
||||
<Dialog_WombInfo03>Father</Dialog_WombInfo03>
|
||||
|
|
|
@ -11,7 +11,8 @@
|
|||
<Stage_Fertilized>황체기</Stage_Fertilized>
|
||||
<Stage_Pregnant>임신</Stage_Pregnant>
|
||||
<Stage_Recover>회복기</Stage_Recover>
|
||||
<Dialog_WombInfo01>주기</Dialog_WombInfo01>
|
||||
<Stage_None>없음</Stage_None>
|
||||
<Dialog_WombInfo01>상태</Dialog_WombInfo01>
|
||||
<Dialog_WombInfo02>태아</Dialog_WombInfo02>
|
||||
<Dialog_WombInfo03>부</Dialog_WombInfo03>
|
||||
<Dialog_WombInfo04>정액목록</Dialog_WombInfo04>
|
||||
|
|
|
@ -21,8 +21,108 @@
|
|||
<recoveryIntervalDays>10</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="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>
|
BIN
Textures/Genitals/BionicAnal.psd
Normal file
BIN
Textures/Genitals/BionicAnal00.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
Textures/Genitals/BionicAnal01.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Textures/Genitals/BionicAnal02.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Textures/Genitals/BionicAnal03.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Textures/Genitals/BionicAnal04.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Textures/Genitals/BionicAnal05.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Textures/Genitals/BionicVagina.psd
Normal file
BIN
Textures/Genitals/BionicVagina00.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
Textures/Genitals/BionicVagina01.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
Textures/Genitals/BionicVagina02.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
Textures/Genitals/BionicVagina03.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
Textures/Genitals/BionicVagina04.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
Textures/Genitals/BionicVagina05.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
Textures/Genitals/BionicVagina06.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Textures/Genitals/BionicVagina07.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Textures/Genitals/BionicVagina08.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Textures/Genitals/BionicVagina09.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Textures/Genitals/BionicVagina10.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Textures/Genitals/BionicVagina11.png
Normal file
After Width: | Height: | Size: 11 KiB |
|
@ -30,6 +30,12 @@ namespace RJW_Menstruation
|
|||
private Texture2D anal;
|
||||
private Color cumcolor;
|
||||
|
||||
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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,19 +47,21 @@ namespace RJW_Menstruation
|
|||
|
||||
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;
|
||||
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)
|
||||
{
|
||||
|
|
|
@ -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<Cum> 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<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;
|
||||
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<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()
|
||||
{
|
||||
if (cums.NullOrEmpty()) return null;
|
||||
|
@ -604,10 +648,18 @@ namespace RJW_Menstruation
|
|||
StayCurrentStage();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Props.bleedingIntervalDays == 0)
|
||||
{
|
||||
follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor);
|
||||
GoNextStage(Stage.Follicular);
|
||||
}
|
||||
else
|
||||
{
|
||||
bleedingIntervalhours = PeriodRandomizer(bleedingIntervalhours, Props.deviationFactor);
|
||||
GoNextStage(Stage.Bleeding);
|
||||
}
|
||||
}
|
||||
};
|
||||
break;
|
||||
case Stage.Bleeding:
|
||||
|
@ -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)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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<HediffComp_Menstruation>().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<Texture2D>.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<HediffComp_Anus>().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<Texture2D>.Get((icon), true);
|
||||
}
|
||||
|
|