mirror of
https://gitgud.io/lutepickle/rjw_menstruation.git
synced 2024-08-14 22:46:52 +00:00
90 lines
No EOL
5 KiB
C#
90 lines
No EOL
5 KiB
C#
using RimWorld;
|
|
using Verse;
|
|
|
|
#pragma warning disable IDE0051 // Remove unused private members
|
|
namespace RJW_Menstruation
|
|
{
|
|
public static class DebugToolsMenstruation
|
|
{
|
|
[DebugAction("RJW Menstruation", "Set pawn's state to follicular", false, false, actionType = DebugActionType.ToolMapForPawns, allowedGameStates = AllowedGameStates.Playing)]
|
|
private static void SetFollicular(Pawn p)
|
|
{
|
|
foreach (HediffComp_Menstruation comp in p.GetMenstruationComps())
|
|
{
|
|
comp.GoNextStage(HediffComp_Menstruation.Stage.Follicular);
|
|
comp.RemoveAllEggs();
|
|
}
|
|
Messages.Message($"{p} is now follicular", p, MessageTypeDefOf.NeutralEvent, false);
|
|
}
|
|
|
|
[DebugAction("RJW Menstruation", "Set pawn's state to ovulatory", false, false, actionType = DebugActionType.ToolMapForPawns, allowedGameStates = AllowedGameStates.Playing)]
|
|
private static void SetOvulatory(Pawn p)
|
|
{
|
|
foreach (HediffComp_Menstruation comp in p.GetMenstruationComps())
|
|
comp.GoNextStage(HediffComp_Menstruation.Stage.Ovulatory);
|
|
Messages.Message($"{p} is now ovulatory", p, MessageTypeDefOf.NeutralEvent, false);
|
|
}
|
|
|
|
[DebugAction("RJW Menstruation", "Set pawn's state to luteal", false, false, actionType = DebugActionType.ToolMapForPawns, allowedGameStates = AllowedGameStates.Playing)]
|
|
private static void SetLuteal(Pawn p)
|
|
{
|
|
foreach (HediffComp_Menstruation comp in p.GetMenstruationComps())
|
|
comp.GoNextStage(HediffComp_Menstruation.Stage.Luteal);
|
|
Messages.Message($"{p} is now luteal", p, MessageTypeDefOf.NeutralEvent, false);
|
|
}
|
|
|
|
[DebugAction("RJW Menstruation", "Set pawn's state to bleeding", false, false, actionType = DebugActionType.ToolMapForPawns, allowedGameStates = AllowedGameStates.Playing)]
|
|
private static void SetBleeding(Pawn p)
|
|
{
|
|
foreach (HediffComp_Menstruation comp in p.GetMenstruationComps())
|
|
{
|
|
comp.GoNextStage(HediffComp_Menstruation.Stage.Bleeding);
|
|
comp.RemoveAllEggs();
|
|
}
|
|
Messages.Message($"{p} is now bleeding", p, MessageTypeDefOf.NeutralEvent, false);
|
|
}
|
|
/*
|
|
[DebugAction("RJW Menstruation", "Set pawn's state to recovering", false, false, actionType = DebugActionType.ToolMapForPawns, allowedGameStates = AllowedGameStates.Playing)]
|
|
private static void setRecover(Pawn p)
|
|
{
|
|
p.GetMenstruationComp().curStage = HediffComp_Menstruation.Stage.Recover;
|
|
}
|
|
|
|
[DebugAction("RJW Menstruation", "Set pawn's state to young", false, false, actionType = DebugActionType.ToolMapForPawns, allowedGameStates = AllowedGameStates.Playing)]
|
|
private static void setYoung(Pawn p)
|
|
{
|
|
p.GetMenstruationComp().curStage = HediffComp_Menstruation.Stage.Young;
|
|
}
|
|
*/
|
|
[DebugAction("RJW Menstruation", "Remove all cum from pawn's womb", false, false, actionType = DebugActionType.ToolMapForPawns, allowedGameStates = AllowedGameStates.Playing)]
|
|
private static void RemoveCums(Pawn p)
|
|
{
|
|
foreach (HediffComp_Menstruation comp in p.GetMenstruationComps())
|
|
comp.RemoveAllCums();
|
|
Messages.Message($"All cum removed from {p}'s womb", p, MessageTypeDefOf.NeutralEvent, false);
|
|
}
|
|
[DebugAction("RJW Menstruation", "Remove all eggs from pawn's womb", false, false, actionType = DebugActionType.ToolMapForPawns, allowedGameStates = AllowedGameStates.Playing)]
|
|
private static void RemoveEggs(Pawn p)
|
|
{
|
|
foreach (HediffComp_Menstruation comp in p.GetMenstruationComps())
|
|
comp.RemoveAllEggs();
|
|
Messages.Message($"All eggs removed from {p}'s womb", p, MessageTypeDefOf.NeutralEvent, false);
|
|
}
|
|
[DebugAction("RJW Menstruation", "Add egg to pawn's next ovulation", false, false, actionType = DebugActionType.ToolMapForPawns, allowedGameStates = AllowedGameStates.Playing)]
|
|
private static void AddEgg(Pawn p)
|
|
{
|
|
foreach (HediffComp_Menstruation comp in p.GetMenstruationComps())
|
|
comp.eggstack++;
|
|
Messages.Message($"1 egg added to {p}'s next ovulation ({p.GetFirstMenstruationComp().eggstack})", p, MessageTypeDefOf.NeutralEvent, false);
|
|
}
|
|
|
|
[DebugAction("RJW Menstruation", "Recalculate pawn's ovary power", false, false, actionType = DebugActionType.ToolMapForPawns, allowedGameStates = AllowedGameStates.Playing)]
|
|
private static void RecalculateOvaryPower(Pawn p)
|
|
{
|
|
foreach (HediffComp_Menstruation comp in p.GetMenstruationComps())
|
|
comp.ovarypower = comp.GetOvaryPowerByAge();
|
|
Messages.Message($"{p}'s ovarypower recalculated ({p.GetFirstMenstruationComp().ovarypower})", p, MessageTypeDefOf.NeutralEvent, false);
|
|
}
|
|
}
|
|
}
|
|
#pragma warning restore IDE0051 // Remove unused private members |