diff --git a/Defs/Recipe_Surgery/Recipes_Surgery_Hymen.xml b/Defs/Recipe_Surgery/Recipes_Surgery_Hymen.xml
index 07900d2..0d3d68b 100644
--- a/Defs/Recipe_Surgery/Recipes_Surgery_Hymen.xml
+++ b/Defs/Recipe_Surgery/Recipes_Surgery_Hymen.xml
@@ -4,7 +4,7 @@
Surgery_RestoreHymen
Disguises as virgin.
- RJWSexperience.Recipe_HymenSurgery
+ RJWSexperience.Virginity.Recipe_HymenSurgery
restoring hymen
Surgery
Recipe_Surgery
@@ -12,10 +12,10 @@
Medicine
0.2
400
- false
-
- Human
-
+ false
+
+ Human
+
100
@@ -33,6 +33,4 @@
-
-
diff --git a/RJWSexperience/RJWSexperience/RJWSexperience.csproj b/RJWSexperience/RJWSexperience/RJWSexperience.csproj
index f498e11..e6e913b 100644
--- a/RJWSexperience/RJWSexperience/RJWSexperience.csproj
+++ b/RJWSexperience/RJWSexperience/RJWSexperience.csproj
@@ -62,7 +62,7 @@
-
+
@@ -92,6 +92,7 @@
+
diff --git a/RJWSexperience/RJWSexperience/Recipe_HymenSurgery.cs b/RJWSexperience/RJWSexperience/Recipe_HymenSurgery.cs
deleted file mode 100644
index bdde00c..0000000
--- a/RJWSexperience/RJWSexperience/Recipe_HymenSurgery.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using RimWorld;
-using Verse;
-using rjw;
-using RJWSexperience.ExtensionMethods;
-
-namespace RJWSexperience
-{
- 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)
- {
- List hediffs = Genital_Helper.get_PartsHediffList(pawn, part);
- if (Genital_Helper.has_vagina(pawn, hediffs) && !pawn.HasHymen())
- {
- yield return part;
- }
-
- }
- }
-
- public override void ApplyOnPawn(Pawn pawn, BodyPartRecord part, Pawn billDoer, List ingredients, Bill bill)
- {
- if (billDoer != null)
- {
- TaleRecorder.RecordTale(TaleDefOf.DidSurgery, new object[]
- {
- billDoer,
- pawn
- });
- SurgeryResult(pawn);
- }
- }
-
- protected void SurgeryResult(Pawn pawn)
- {
- int degree = 1;
- if (pawn.IsVirgin()) degree = 2;
- Trait virgin = new Trait(VariousDefOf.Virgin, degree, true);
- pawn.story.traits.GainTrait(virgin);
- }
- }
-}
diff --git a/RJWSexperience/RJWSexperience/Virginity/Recipe_HymenSurgery.cs b/RJWSexperience/RJWSexperience/Virginity/Recipe_HymenSurgery.cs
new file mode 100644
index 0000000..95fbffb
--- /dev/null
+++ b/RJWSexperience/RJWSexperience/Virginity/Recipe_HymenSurgery.cs
@@ -0,0 +1,46 @@
+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) && !pawn.HasHymen())
+ 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, new object[]
+ {
+ billDoer,
+ pawn
+ });
+ SurgeryResult(pawn);
+ }
+
+ protected void SurgeryResult(Pawn pawn)
+ {
+ TraitDegree degree = TraitDegree.FemaleAfterSurgery;
+ if (pawn.IsVirgin())
+ degree = TraitDegree.FemaleVirgin;
+ Trait virgin = new Trait(VariousDefOf.Virgin, (int)degree, true);
+ pawn.story.traits.GainTrait(virgin);
+ }
+ }
+}