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); 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); 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", "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