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); + } + } +}