Add a short description when mousing over the phase in the womb dialog
This commit is contained in:
parent
871730ac3a
commit
0a7e80b353
Binary file not shown.
|
@ -14,6 +14,16 @@
|
|||
<Stage_None>None</Stage_None>
|
||||
<Stage_Climacteric>Climacteric</Stage_Climacteric>
|
||||
<Stage_Anestrus>Anestrus</Stage_Anestrus>
|
||||
<Stage_Follicular_Desc>The ovaries are preparing to produce an egg. Ovulation will occur at the end of this phase.</Stage_Follicular_Desc>
|
||||
<Stage_Follicular_Induced_Desc>The ovaries are preparing to produce an egg. Ovulation will occur if semen enters the womb.</Stage_Follicular_Induced_Desc>
|
||||
<Stage_Ovulatory_Desc>The ovaries are producing an egg to release into the womb.</Stage_Ovulatory_Desc>
|
||||
<Stage_Luteal_Desc>The womb is prepared to recieve a fertilized egg. Pregnancy will result if one implants before the end of the stage.</Stage_Luteal_Desc>
|
||||
<Stage_Bleeding_Desc>The womb is shedding its lining, along with any eggs that failed to implant.</Stage_Bleeding_Desc>
|
||||
<Stage_Pregnant_Desc>A baby is growing inside the womb. With time and care, it will become a new resident of this world.</Stage_Pregnant_Desc>
|
||||
<Stage_Recover_Desc>The womb is recovering from its recent pregnancy.</Stage_Recover_Desc>
|
||||
<Stage_None_Desc>The womb is not fertile and cannot become pregnant.</Stage_None_Desc>
|
||||
<Stage_Climacteric_Desc>The ovaries have neared exhaustion and the menstrual cycle has become irregular.</Stage_Climacteric_Desc>
|
||||
<Stage_Anestrus_Desc>The womb is out of breeding season. The cycle will resume once conditions are met.</Stage_Anestrus_Desc>
|
||||
<Button_HealthTab>Status</Button_HealthTab>
|
||||
<Button_MilkTooltip>Lactate self</Button_MilkTooltip>
|
||||
<Dialog_WombInfo01>State</Dialog_WombInfo01>
|
||||
|
@ -28,6 +38,8 @@
|
|||
<Dialog_DoCleanWomb_Tooltip>Gather cum into bucket</Dialog_DoCleanWomb_Tooltip>
|
||||
<Dialog_DontCleanWomb_Tooltip>Store cum in womb</Dialog_DontCleanWomb_Tooltip>
|
||||
<Dialog_FatherUnknown>Unknown</Dialog_FatherUnknown>
|
||||
|
||||
|
||||
|
||||
<Option1_Label_1>Enable womb icon</Option1_Label_1>
|
||||
<Option1_Label_2>Enable button in health tab</Option1_Label_2>
|
||||
|
|
|
@ -20,6 +20,22 @@ namespace RJW_Menstruation
|
|||
|
||||
public class HediffComp_InducedOvulator : HediffComp_Menstruation
|
||||
{
|
||||
public override string GetCurStageDesc
|
||||
{
|
||||
get
|
||||
{
|
||||
switch (CurrentVisibleStage)
|
||||
{
|
||||
case Stage.Follicular:
|
||||
return Translations.Stage_Follicular_Induced_Desc;
|
||||
case Stage.ClimactericFollicular:
|
||||
return Translations.Stage_Follicular_Induced_Desc + " " + Translations.Stage_Climacteric_Desc;
|
||||
default:
|
||||
return base.GetCurStageDesc;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void FollicularAction()
|
||||
{
|
||||
if (!IsBreedingSeason())
|
||||
|
|
|
@ -302,6 +302,43 @@ namespace RJW_Menstruation
|
|||
}
|
||||
|
||||
}
|
||||
public virtual string GetCurStageDesc
|
||||
{
|
||||
get
|
||||
{
|
||||
switch (CurrentVisibleStage)
|
||||
{
|
||||
case Stage.Follicular:
|
||||
return Translations.Stage_Follicular_Desc;
|
||||
case Stage.Ovulatory:
|
||||
return Translations.Stage_Ovulatory_Desc;
|
||||
case Stage.Luteal:
|
||||
return Translations.Stage_Luteal_Desc;
|
||||
case Stage.Bleeding:
|
||||
return Translations.Stage_Bleeding_Desc;
|
||||
case Stage.Fertilized:
|
||||
return Translations.Stage_Luteal_Desc;
|
||||
case Stage.Pregnant:
|
||||
return Translations.Stage_Pregnant_Desc;
|
||||
case Stage.Recover:
|
||||
return Translations.Stage_Recover_Desc;
|
||||
case Stage.None:
|
||||
case Stage.Young:
|
||||
return Translations.Stage_None_Desc;
|
||||
case Stage.ClimactericFollicular:
|
||||
return Translations.Stage_Follicular_Desc + " " + Translations.Stage_Climacteric_Desc;
|
||||
case Stage.ClimactericLuteal:
|
||||
return Translations.Stage_Luteal_Desc + " " + Translations.Stage_Climacteric_Desc;
|
||||
case Stage.ClimactericBleeding:
|
||||
return Translations.Stage_Bleeding_Desc + " " + Translations.Stage_Climacteric_Desc;
|
||||
case Stage.Anestrus:
|
||||
return Translations.Stage_Anestrus_Desc;
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string WombTex
|
||||
{
|
||||
get
|
||||
|
@ -1440,6 +1477,97 @@ namespace RJW_Menstruation
|
|||
else GoNextStage(Stage.Follicular);
|
||||
}
|
||||
|
||||
protected virtual void ClimactericFollicularAction()
|
||||
{
|
||||
if (!Configurations.EnableMenopause)
|
||||
{
|
||||
RemoveClimactericEffect();
|
||||
StayCurrentStage();
|
||||
}
|
||||
else if (curStageHrs >= (follicularIntervalhours - bleedingIntervalhours) * CycleFactor)
|
||||
{
|
||||
GoNextStage(Stage.Ovulatory);
|
||||
}
|
||||
else if (ovarypower < OvaryPowerThreshold / 3 && Rand.Range(0.0f, 1.0f) < 0.2f) //skips ovulatory
|
||||
{
|
||||
follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor * 6);
|
||||
GoNextStage(Stage.ClimactericLuteal);
|
||||
}
|
||||
else
|
||||
{
|
||||
curStageHrs += Configurations.CycleAcceleration;
|
||||
StayCurrentStage();
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void ClimactericLutealAction()
|
||||
{
|
||||
if (!Configurations.EnableMenopause)
|
||||
{
|
||||
RemoveClimactericEffect();
|
||||
StayCurrentStage();
|
||||
}
|
||||
else if (!eggs.NullOrEmpty())
|
||||
{
|
||||
FertilizationCheck();
|
||||
EggDecay();
|
||||
if (Implant()) GoNextStage(Stage.Pregnant);
|
||||
else
|
||||
{
|
||||
curStageHrs += Configurations.CycleAcceleration;
|
||||
StayCurrentStage();
|
||||
}
|
||||
}
|
||||
else if (curStageHrs <= lutealIntervalhours)
|
||||
{
|
||||
curStageHrs += Configurations.CycleAcceleration;
|
||||
StayCurrentStage();
|
||||
}
|
||||
else
|
||||
{
|
||||
eggs.Clear();
|
||||
if (Props.bleedingIntervalDays == 0)
|
||||
{
|
||||
follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor * 6);
|
||||
GoNextStage(Stage.ClimactericFollicular);
|
||||
}
|
||||
else if (ovarypower < OvaryPowerThreshold / 4 || (ovarypower < OvaryPowerThreshold / 3 && Rand.Range(0.0f, 1.0f) < 0.3f)) //skips bleeding
|
||||
{
|
||||
follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor * 6);
|
||||
GoNextStage(Stage.ClimactericFollicular);
|
||||
}
|
||||
else
|
||||
{
|
||||
bleedingIntervalhours = PeriodRandomizer(bleedingIntervalhours, Props.deviationFactor);
|
||||
if (crampPain >= 0.05f)
|
||||
{
|
||||
AddCrampPain();
|
||||
}
|
||||
GoNextStage(Stage.ClimactericBleeding);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void ClimactericBleedingAction()
|
||||
{
|
||||
if (!Configurations.EnableMenopause)
|
||||
{
|
||||
RemoveClimactericEffect();
|
||||
StayCurrentStage();
|
||||
}
|
||||
else if (curStageHrs >= bleedingIntervalhours)
|
||||
{
|
||||
follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor * 6);
|
||||
GoNextStage(Stage.ClimactericFollicular);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (curStageHrs < bleedingIntervalhours / 6) for (int i = 0; i < Configurations.CycleAcceleration; i++) BleedOut();
|
||||
curStageHrs += Configurations.CycleAcceleration;
|
||||
StayCurrentStage();
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void AnestrusAction()
|
||||
{
|
||||
if (IsBreedingSeason())
|
||||
|
@ -1569,99 +1697,13 @@ namespace RJW_Menstruation
|
|||
action = YoungAction;
|
||||
break;
|
||||
case Stage.ClimactericFollicular:
|
||||
action = delegate
|
||||
{
|
||||
if (!Configurations.EnableMenopause)
|
||||
{
|
||||
RemoveClimactericEffect();
|
||||
StayCurrentStage();
|
||||
}
|
||||
else if (curStageHrs >= (follicularIntervalhours - bleedingIntervalhours) * CycleFactor)
|
||||
{
|
||||
GoNextStage(Stage.Ovulatory);
|
||||
}
|
||||
else if (ovarypower < OvaryPowerThreshold / 3 && Rand.Range(0.0f, 1.0f) < 0.2f) //skips ovulatory
|
||||
{
|
||||
follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor * 6);
|
||||
GoNextStage(Stage.ClimactericLuteal);
|
||||
}
|
||||
else
|
||||
{
|
||||
curStageHrs += Configurations.CycleAcceleration;
|
||||
StayCurrentStage();
|
||||
}
|
||||
};
|
||||
action = ClimactericFollicularAction;
|
||||
break;
|
||||
case Stage.ClimactericLuteal:
|
||||
action = delegate
|
||||
{
|
||||
if (!Configurations.EnableMenopause)
|
||||
{
|
||||
RemoveClimactericEffect();
|
||||
StayCurrentStage();
|
||||
}
|
||||
else if (!eggs.NullOrEmpty())
|
||||
{
|
||||
FertilizationCheck();
|
||||
EggDecay();
|
||||
if (Implant()) GoNextStage(Stage.Pregnant);
|
||||
else
|
||||
{
|
||||
curStageHrs += Configurations.CycleAcceleration;
|
||||
StayCurrentStage();
|
||||
}
|
||||
}
|
||||
else if (curStageHrs <= lutealIntervalhours)
|
||||
{
|
||||
curStageHrs += Configurations.CycleAcceleration;
|
||||
StayCurrentStage();
|
||||
}
|
||||
else
|
||||
{
|
||||
eggs.Clear();
|
||||
if (Props.bleedingIntervalDays == 0)
|
||||
{
|
||||
follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor * 6);
|
||||
GoNextStage(Stage.ClimactericFollicular);
|
||||
}
|
||||
else if (ovarypower < OvaryPowerThreshold / 4 || (ovarypower < OvaryPowerThreshold / 3 && Rand.Range(0.0f, 1.0f) < 0.3f)) //skips bleeding
|
||||
{
|
||||
follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor * 6);
|
||||
GoNextStage(Stage.ClimactericFollicular);
|
||||
}
|
||||
else
|
||||
{
|
||||
bleedingIntervalhours = PeriodRandomizer(bleedingIntervalhours, Props.deviationFactor);
|
||||
if (crampPain >= 0.05f)
|
||||
{
|
||||
AddCrampPain();
|
||||
}
|
||||
GoNextStage(Stage.ClimactericBleeding);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
action = ClimactericLutealAction;
|
||||
break;
|
||||
case Stage.ClimactericBleeding:
|
||||
action = delegate
|
||||
{
|
||||
if (!Configurations.EnableMenopause)
|
||||
{
|
||||
RemoveClimactericEffect();
|
||||
StayCurrentStage();
|
||||
}
|
||||
else if (curStageHrs >= bleedingIntervalhours)
|
||||
{
|
||||
follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor * 6);
|
||||
GoNextStage(Stage.ClimactericFollicular);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (curStageHrs < bleedingIntervalhours / 6) for (int i = 0; i < Configurations.CycleAcceleration; i++) BleedOut();
|
||||
curStageHrs += Configurations.CycleAcceleration;
|
||||
StayCurrentStage();
|
||||
}
|
||||
};
|
||||
action = ClimactericBleedingAction;
|
||||
break;
|
||||
case Stage.Anestrus:
|
||||
action = AnestrusAction;
|
||||
|
|
|
@ -17,6 +17,16 @@ namespace RJW_Menstruation
|
|||
public static readonly string Stage_None = "Stage_None".Translate();
|
||||
public static readonly string Stage_Climacteric = "Stage_Climacteric".Translate();
|
||||
public static readonly string Stage_Anestrus = "Stage_Anestrus".Translate();
|
||||
public static readonly string Stage_Follicular_Desc = "Stage_Follicular_Desc".Translate();
|
||||
public static readonly string Stage_Follicular_Induced_Desc = "Stage_Follicular_Induced_Desc".Translate();
|
||||
public static readonly string Stage_Ovulatory_Desc = "Stage_Ovulatory_Desc".Translate();
|
||||
public static readonly string Stage_Luteal_Desc = "Stage_Luteal_Desc".Translate();
|
||||
public static readonly string Stage_Bleeding_Desc = "Stage_Bleeding_Desc".Translate();
|
||||
public static readonly string Stage_Pregnant_Desc = "Stage_Pregnant_Desc".Translate();
|
||||
public static readonly string Stage_Recover_Desc = "Stage_Recover_Desc".Translate();
|
||||
public static readonly string Stage_None_Desc = "Stage_None_Desc".Translate();
|
||||
public static readonly string Stage_Climacteric_Desc = "Stage_Climacteric_Desc".Translate();
|
||||
public static readonly string Stage_Anestrus_Desc = "Stage_Anestrus_Desc".Translate();
|
||||
public static readonly string Button_HealthTab = "Button_HealthTab".Translate();
|
||||
public static readonly string Button_MilkTooltip = "Button_MilkTooltip".Translate();
|
||||
public static readonly string Dialog_DoCleanWomb_Tooltip = "Dialog_DoCleanWomb_Tooltip".Translate();
|
||||
|
|
|
@ -257,6 +257,7 @@ namespace RJW_Menstruation
|
|||
GUI.Box(wombInfoRect, Translations.Dialog_WombInfo01 + ": " + comp.GetCurStageLabel, buttonstyle);
|
||||
Widgets.FillableBar(progressRect, comp.StageProgress, comp.GetStageTexture);
|
||||
GUI.color = Color.white;
|
||||
TooltipHandler.TipRegion(wombInfoRect, comp.GetCurStageDesc);
|
||||
|
||||
|
||||
fontstyleright.normal.textColor = Color.red;
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
Version 1.0.6.5
|
||||
- Add a brief description when mousing over the current phase in the womb dialog.
|
||||
|
||||
Version 1.0.6.4
|
||||
- Fix a bug with pawns not being generated.
|
||||
- Fix ovary initialization for races with invalid litter sizes.
|
||||
|
|
Loading…
Reference in New Issue