using RimWorld; using rjw; using System.Collections.Generic; using Verse; namespace RJWSexperience.Virginity { public class Recipe_HymenSurgery : Recipe_Surgery { public override IEnumerable GetPartsToApplyOn(Pawn pawn, RecipeDef recipe) { if (pawn.gender != Gender.Female) yield break; BodyPartRecord part = Genital_Helper.get_genitalsBPR(pawn); if (part == null) yield break; List hediffs = Genital_Helper.get_PartsHediffList(pawn, part); if (Genital_Helper.has_vagina(pawn, hediffs) && !HasHymen(pawn)) yield return part; } public override void ApplyOnPawn(Pawn pawn, BodyPartRecord part, Pawn billDoer, List ingredients, Bill bill) { if (billDoer == null) return; TaleRecorder.RecordTale(TaleDefOf.DidSurgery, billDoer, pawn); TraitHandler.AddVirginTrait(pawn); } private static bool HasHymen(Pawn pawn) => pawn.story?.traits?.GetTrait(RsDefOf.Trait.Virgin)?.Degree > 0; } }