-
-
-
-
- Surgery_Beautify_Beautiful
-
- Surgically beautifies the pawn.
- RJW_PlasticSurgeries.Recipe_Surgery_Beautify_Beautiful
- beautify the pawn.
-
-
\ No newline at end of file
diff --git a/1.6/Defs/Recipe_Surgery/Recipes_Surgery_Mammoplasty.xml b/1.6/Defs/Recipe_Surgery/Recipes_Surgery_Mammoplasty.xml
deleted file mode 100644
index c9756a3..0000000
--- a/1.6/Defs/Recipe_Surgery/Recipes_Surgery_Mammoplasty.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-
-
-
-
- Surgery_Mammoplasty
-
- Surgically increases the pawn's breast size by 25%.
-
- increasing breast size
- Surgery
- Recipe_Surgery
- MedicalOperationSpeed
- Medicine
- 0.2
- 400
- true
-
-
Human
-
- 95
-
-
-
-
-
Medicine
-
-
- 1
-
-
-
-
-
Medicine
-
-
-
-
- Surgery_Mammoplasty_A
-
- Surgically gives the pawn an A cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_A
- alter cup size to A
-
-
- Surgery_Mammoplasty_B
-
- Surgically gives the pawn an B cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_B
- alter cup size to B
-
-
- Surgery_Mammoplasty_C
-
- Surgically gives the pawn an C cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_C
- alter cup size to C
-
-
- Surgery_Mammoplasty_D
-
- Surgically gives the pawn an D cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_D
- alter cup size to D
-
-
- Surgery_Mammoplasty_E
-
- Surgically gives the pawn an E cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_E
- alter cup size to E
-
-
- Surgery_Mammoplasty_F
-
- Surgically gives the pawn an F cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_F
- alter cup size to F
-
-
- Surgery_Mammoplasty_G
-
- Surgically gives the pawn an G cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_G
- alter cup size to G
-
-
- Surgery_Mammoplasty_H
-
- Surgically gives the pawn an H cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_H
- alter cup size to H
-
-
- Surgery_Mammoplasty_J
-
- Surgically gives the pawn an J cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_J
- alter cup size to J
-
-
- Surgery_Mammoplasty_K
-
- Surgically gives the pawn an K cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_K
- alter cup size to K
-
-
- Surgery_Mammoplasty_L
-
- Surgically gives the pawn an L cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_L
- alter cup size to L
-
-
- Surgery_Mammoplasty_M
-
- Surgically gives the pawn an M cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_M
- alter cup size to M
-
-
- Surgery_Mammoplasty_N
-
- Surgically gives the pawn an N cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_N
- alter cup size to N
-
-
- Surgery_Mammoplasty_O
-
- Surgically gives the pawn an O cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_O
- alter cup size to O
-
-
- Surgery_Mammoplasty_P
-
- Surgically gives the pawn an P cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_P
- alter cup size to P
-
-
- Surgery_Mammoplasty_Q
-
- Surgically gives the pawn an Q cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_Q
- alter cup size to Q
-
-
- Surgery_Mammoplasty_R
-
- Surgically gives the pawn an R cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_R
- alter cup size to R
-
-
- Surgery_Mammoplasty_Unknown
-
- Surgically gives the pawn an ??? cup.
- RJW_PlasticSurgeries.Recipe_Surgery_Mammoplasty_Unknown
- alter cup size to ???
-
-
\ No newline at end of file
diff --git a/1.6/Defs/Recipe_Surgery/Recipes_Surgery_Penoplasty.xml b/1.6/Defs/Recipe_Surgery/Recipes_Surgery_Penoplasty.xml
deleted file mode 100644
index 3edac14..0000000
--- a/1.6/Defs/Recipe_Surgery/Recipes_Surgery_Penoplasty.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
- Surgery_Penoplasty
-
- Surgically enlarges the pawn's Penis by 25%.
-
- enlarging Penis
- Surgery
- Recipe_Surgery
- MedicalOperationSpeed
- Medicine
- 0.2
- 400
- true
-
-
Human
-
- 95
-
-
-
-
-
Medicine
-
-
- 1
-
-
-
-
-
Medicine
-
-
-
-
- Surgery_Penoplasty_Micro
-
- Surgically gives the pawn an micro Penis.
- RJW_PlasticSurgeries.Recipe_Surgery_Penoplasty_Micro
- alter Penis size to micro
-
-
- Surgery_Penoplasty_Small
-
- Surgically gives the pawn an small Penis.
- RJW_PlasticSurgeries.Recipe_Surgery_Penoplasty_Small
- alter Penis size to small
-
-
- Surgery_Penoplasty_Average
-
- Surgically gives the pawn an average Penis.
- RJW_PlasticSurgeries.Recipe_Surgery_Penoplasty_Average
- alter Penis size to average
-
-
- Surgery_Penoplasty_Large
-
- Surgically gives the pawn an accomodating Penis.
- RJW_PlasticSurgeries.Recipe_Surgery_Penoplasty_Large
- alter Penis size to large
-
-
- Surgery_Penoplasty_Huge
-
- Surgically gives the pawn an huge Penis.
- RJW_PlasticSurgeries.Recipe_Surgery_Penoplasty_Huge
- alter Penis size to huge
-
-
\ No newline at end of file
diff --git a/1.6/Defs/Recipe_Surgery/Recipes_Surgery_Sphinctoplasty.xml b/1.6/Defs/Recipe_Surgery/Recipes_Surgery_Sphinctoplasty.xml
deleted file mode 100644
index 578d9db..0000000
--- a/1.6/Defs/Recipe_Surgery/Recipes_Surgery_Sphinctoplasty.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
- Surgery_Sphinctoplasty
-
- Surgically tightens the pawn's Sphincter by 25%.
-
- tightening Sphincter
- Surgery
- Recipe_Surgery
- MedicalOperationSpeed
- Medicine
- 0.2
- 400
- true
-
-
Human
-
- 95
-
-
-
-
-
Medicine
-
-
- 1
-
-
-
-
-
Medicine
-
-
-
-
- Surgery_Sphinctoplasty_Micro
-
- Surgically gives the pawn an micro Sphincter.
- RJW_PlasticSurgeries.Recipe_Surgery_Sphinctoplasty_Micro
- alter Sphincter size to micro
-
-
- Surgery_Sphinctoplasty_Tight
-
- Surgically gives the pawn an tight Sphincter.
- RJW_PlasticSurgeries.Recipe_Surgery_Sphinctoplasty_Tight
- alter Sphincter size to tight
-
-
- Surgery_Sphinctoplasty_Average
-
- Surgically gives the pawn an average Sphincter.
- RJW_PlasticSurgeries.Recipe_Surgery_Sphinctoplasty_Average
- alter Sphincter size to average
-
-
- Surgery_Sphinctoplasty_Accomodating
-
- Surgically gives the pawn an accomodating Sphincter.
- RJW_PlasticSurgeries.Recipe_Surgery_Sphinctoplasty_Accomodating
- alter Sphincter size to accomodating
-
-
- Surgery_Sphinctoplasty_Cavernous
-
- Surgically gives the pawn an cavernous Sphincter.
- RJW_PlasticSurgeries.Recipe_Surgery_Sphinctoplasty_Cavernous
- alter Sphincter size to cavernous
-
-
\ No newline at end of file
diff --git a/1.6/Defs/Recipe_Surgery/Recipes_Surgery_Vaginoplasty.xml b/1.6/Defs/Recipe_Surgery/Recipes_Surgery_Vaginoplasty.xml
deleted file mode 100644
index 11e9c8e..0000000
--- a/1.6/Defs/Recipe_Surgery/Recipes_Surgery_Vaginoplasty.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
- Surgery_Vaginoplasty
-
- Surgically tightens the pawn's Vagina by 25%.
-
- tightening Vagina
- Surgery
- Recipe_Surgery
- MedicalOperationSpeed
- Medicine
- 0.2
- 400
- true
-
-
Human
-
- 95
-
-
-
-
-
Medicine
-
-
- 1
-
-
-
-
-
Medicine
-
-
-
-
- Surgery_Vaginoplasty_Micro
-
- Surgically gives the pawn an micro Vagina.
- RJW_PlasticSurgeries.Recipe_Surgery_Vaginoplasty_Micro
- alter Vagina size to micro
-
-
- Surgery_Vaginoplasty_Tight
-
- Surgically gives the pawn an tight Vagina.
- RJW_PlasticSurgeries.Recipe_Surgery_Vaginoplasty_Tight
- alter Vagina size to tight
-
-
- Surgery_Vaginoplasty_Average
-
- Surgically gives the pawn an average Vagina.
- RJW_PlasticSurgeries.Recipe_Surgery_Vaginoplasty_Average
- alter Vagina size to average
-
-
- Surgery_Vaginoplasty_Accomodating
-
- Surgically gives the pawn an accomodating Vagina.
- RJW_PlasticSurgeries.Recipe_Surgery_Vaginoplasty_Accomodating
- alter Vagina size to accomodating
-
-
- Surgery_Vaginoplasty_Cavernous
-
- Surgically gives the pawn an cavernous Vagina.
- RJW_PlasticSurgeries.Recipe_Surgery_Vaginoplasty_Cavernous
- alter Vagina size to cavernous
-
-
\ No newline at end of file
diff --git a/About/About.xml b/About/About.xml
index 6cdb3b7..55aab1b 100644
--- a/About/About.xml
+++ b/About/About.xml
@@ -7,7 +7,6 @@
1.3
1.4
1.5
-
1.6
Stardust3D.RJW.PlasticSurgeriesSurgically alter pawn's genitals.
diff --git a/About/Manifest.xml b/About/Manifest.xml
index 5a51cbc..cb4e292 100644
--- a/About/Manifest.xml
+++ b/About/Manifest.xml
@@ -2,5 +2,5 @@
RJW PlasticSurgeries
- 6010.0.1.8
-
+ 5400.0.1.8
+
\ No newline at end of file
diff --git a/Source/RJW_PlasticSurgeries.sln b/Source/RJW_PlasticSurgeries.sln
index b0004cd..a8eb130 100644
--- a/Source/RJW_PlasticSurgeries.sln
+++ b/Source/RJW_PlasticSurgeries.sln
@@ -3,13 +3,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.4.33110.190
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{EB363145-6DB4-42CB-B2CB-82DA7AE02A97}") = "RJW_PlasticSurgeries_1.3", "RJW_PlasticSurgeries\RJW_PlasticSurgeries_1.3.csproj", "{EB363145-6DB4-42CB-B2CB-82DA7AE02A97}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RJW_PlasticSurgeries_1.3", "RJW_PlasticSurgeries\RJW_PlasticSurgeries_1.3.csproj", "{EB363145-6DB4-42CB-B2CB-82DA7AE02A97}"
EndProject
-Project("{F17C6B3F-BA9D-4133-A201-1265A64BCB72}") = "RJW_PlasticSurgeries_1.4", "RJW_PlasticSurgeries\RJW_PlasticSurgeries_1.4.csproj", "{F17C6B3F-BA9D-4133-A201-1265A64BCB72}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RJW_PlasticSurgeries_1.4", "RJW_PlasticSurgeries\RJW_PlasticSurgeries_1.4.csproj", "{F17C6B3F-BA9D-4133-A201-1265A64BCB72}"
EndProject
-Project("{02AA6D85-913F-44B8-9C32-6E8024261824}") = "RJW_PlasticSurgeries_1.5", "RJW_PlasticSurgeries\RJW_PlasticSurgeries_1.5.csproj", "{02AA6D85-913F-44B8-9C32-6E8024261824}"
-EndProject
-Project("{a543e968-6ecf-46de-8e76-1050188a4050}") = "RJW_PlasticSurgeries_1.6", "RJW_PlasticSurgeries\RJW_PlasticSurgeries_1.6.csproj", "{a543e968-6ecf-46de-8e76-1050188a4050}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RJW_PlasticSurgeries_1.5", "RJW_PlasticSurgeries\RJW_PlasticSurgeries_1.5.csproj", "{02AA6D85-913F-44B8-9C32-6E8024261824}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -29,10 +27,6 @@ Global
{02AA6D85-913F-44B8-9C32-6E8024261824}.Debug|Any CPU.Build.0 = Debug|Any CPU
{02AA6D85-913F-44B8-9C32-6E8024261824}.Release|Any CPU.ActiveCfg = Release|Any CPU
{02AA6D85-913F-44B8-9C32-6E8024261824}.Release|Any CPU.Build.0 = Release|Any CPU
- {a543e968-6ecf-46de-8e76-1050188a4050}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {a543e968-6ecf-46de-8e76-1050188a4050}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {a543e968-6ecf-46de-8e76-1050188a4050}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {a543e968-6ecf-46de-8e76-1050188a4050}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Source/RJW_PlasticSurgeries/1.5/Recipe_Surgery_Mammoplasty.cs b/Source/RJW_PlasticSurgeries/1.5/Recipe_Surgery_Mammoplasty.cs
deleted file mode 100644
index 549373c..0000000
--- a/Source/RJW_PlasticSurgeries/1.5/Recipe_Surgery_Mammoplasty.cs
+++ /dev/null
@@ -1,198 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using rjw;
-using Verse;
-
-namespace RJW_PlasticSurgeries
-{
- public abstract class Recipe_Surgery_Mammoplasty : Recipe_Plastic_Surgery
- {
- protected override BodyPartRecord GetPartCandidate(Pawn pawn)
- {
- return Genital_Helper.get_genitalsBPR(pawn);
- }
-
- protected override bool HasPart(Pawn pawn, List hediffs)
- {
- return Genital_Helper.has_breasts(pawn, hediffs) &&
- pawn.GetBreastList().Any(hed => hed.Severity >= 0.02f);
- }
-
- protected override List GetHediffs(Pawn pawn)
- {
- throw new NotSupportedException();
- }
-
- protected void SurgeryCupX(Pawn pawn, int stage)
- {
- pawn.GetBreastList().ForEach(hed =>
- {
- float severity;
- if (TryGetSeverityFromSize(hed, stage, out severity)) hed.Severity = severity;
- });
- }
-
- private static bool TryGetSeverityFromSize(Hediff hediff, float cupSize, out float severity)
- {
- var list = (hediff.def as HediffDef_SexPart)?.sizeProfile.cupSizes;
-
- if (list == null)
- {
- severity = 0f;
- return false;
- }
-
- var curve = new SimpleCurve(hediff.def.stages.Zip(list,
- (stage, s) => new CurvePoint(s, stage.minSeverity)));
- severity = curve.Evaluate(cupSize);
- return true;
- }
-
- protected override (HediffDef, float) GetLicentiaDamage() => throw new NotSupportedException();
- }
-
- public class Recipe_Surgery_Mammoplasty_A : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 1);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_B : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 2);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_C : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 3);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_D : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 4);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_E : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 6);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_F : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 7);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_G : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 9);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_H : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 11);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_J : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 13);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_K : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 15);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_L : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 17);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_M : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 19);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_N : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 21);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_O : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 23);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_P : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 25);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_Q : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 27);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_R : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 29);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_Unknown : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 31);
- }
- }
-}
\ No newline at end of file
diff --git a/Source/RJW_PlasticSurgeries/1.6/Recipe_Plastic_Surgery.cs b/Source/RJW_PlasticSurgeries/1.6/Recipe_Plastic_Surgery.cs
deleted file mode 100644
index 3f54ce7..0000000
--- a/Source/RJW_PlasticSurgeries/1.6/Recipe_Plastic_Surgery.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-using System.Collections.Generic;
-using RimWorld;
-using rjw;
-using Verse;
-
-namespace RJW_PlasticSurgeries
-{
- public abstract class Recipe_Plastic_Surgery : Recipe_Surgery
- {
- public override IEnumerable GetPartsToApplyOn(Pawn pawn, RecipeDef recipe)
- {
- var part = GetPartCandidate(pawn);
- if (part != null)
- {
- var hediffs = Genital_Helper.get_PartsHediffList(pawn, part);
- if (HasPart(pawn, hediffs)) yield return part;
- }
- }
-
- protected abstract BodyPartRecord GetPartCandidate(Pawn pawn);
- protected abstract bool HasPart(Pawn pawn, List hediffs);
-
- public override void ApplyOnPawn(Pawn pawn, BodyPartRecord part, Pawn billDoer, List ingredients,
- Bill bill)
- {
- if (billDoer != null)
- {
- TaleRecorder.RecordTale(TaleDefOf.DidSurgery, billDoer, pawn);
- SurgeryResult(pawn);
- }
- }
-
- protected abstract void SurgeryResult(Pawn pawn);
-
- protected void SurgeryX(Pawn pawn, float severity, bool damagePart = false)
- {
- GetHediffs(pawn).ForEach(hed =>
- {
- hed.Severity = severity;
- /* if (damagePart)
- {
- var dmg = HediffDef.Named();
- hed.pawn.health.AddHediff(dmg);
- var (type, damage) = GetLicentiaDamage();
- LicentiaLabs.DamageHelper.ApplyDamage(pawn, hed.Part, type, damage);
- } */
- });
- }
-
- protected abstract List GetHediffs(Pawn pawn);
- }
-}
\ No newline at end of file
diff --git a/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Beautify.cs b/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Beautify.cs
deleted file mode 100644
index bdf4023..0000000
--- a/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Beautify.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using System.Collections.Generic;
-using RimWorld;
-using Verse;
-using static rjw.VanillaTraitDefOf;
-
-namespace RJW_PlasticSurgeries
-{
- ///
- public abstract class Recipe_Surgery_Beautify : Recipe_Surgery
- {
- ///
- public override IEnumerable GetPartsToApplyOn(Pawn pawn, RecipeDef recipe)
- {
- if (!pawn.story.traits.HasTrait(Beauty) ||
- pawn.story.traits.HasTrait(Beauty) && pawn.story.traits.GetTrait(Beauty).Degree < 2)
- yield return pawn.RaceProps.body.corePart;
- }
-
- ///
- public override void ApplyOnPawn(Pawn pawn, BodyPartRecord part, Pawn billDoer, List ingredients,
- Bill bill)
- {
- if (billDoer != null)
- {
- TaleRecorder.RecordTale(TaleDefOf.DidSurgery, billDoer, pawn);
- SurgeryResult(pawn);
- }
- }
-
- ///
- ///
- ///
- ///
- public abstract void SurgeryResult(Pawn pawn);
-
- ///
- /// Setts the severity of the Beautiful trait for the selected pawn.
- /// If the trait doesn't exist in the pawns traits, it will be added.
- ///
- /// the pawn to modify
- /// the new severity of the pawn's Beautiful trait
- protected void SurgeryX(Pawn pawn, int severity)
- {
- if (pawn.story.traits.HasTrait(Beauty))
- {
- pawn.story.traits.allTraits.FindAll(t => Beauty.ConflictsWith(t))
- .ForEach(t => pawn.story.traits.RemoveTrait(t));
- pawn.story.traits.RemoveTrait(pawn.story.traits.allTraits.Find(t => t.def == Beauty));
- }
-
- pawn.story.traits.GainTrait(new Trait(Beauty, severity));
- }
- }
-
- ///
- public class Recipe_Surgery_Beautify_Beautiful : Recipe_Surgery_Beautify
- {
- ///
- public override void SurgeryResult(Pawn pawn) => SurgeryX(pawn, 2);
- }
-}
\ No newline at end of file
diff --git a/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Mammoplasty.cs b/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Mammoplasty.cs
deleted file mode 100644
index 2ef03a6..0000000
--- a/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Mammoplasty.cs
+++ /dev/null
@@ -1,196 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using rjw;
-using Verse;
-
-namespace RJW_PlasticSurgeries
-{
- public abstract class Recipe_Surgery_Mammoplasty : Recipe_Plastic_Surgery
- {
- protected override BodyPartRecord GetPartCandidate(Pawn pawn)
- {
- return Genital_Helper.get_genitalsBPR(pawn);
- }
-
- protected override bool HasPart(Pawn pawn, List hediffs)
- {
- return Genital_Helper.has_breasts(pawn, hediffs) &&
- pawn.GetBreastList().Any(hed => hed.Severity >= 0.02f);
- }
-
- protected override List GetHediffs(Pawn pawn)
- {
- throw new NotSupportedException();
- }
-
- protected void SurgeryCupX(Pawn pawn, int stage)
- {
- pawn.GetBreastList().ForEach(hed =>
- {
- float severity;
- if (TryGetSeverityFromSize(hed, stage, out severity)) hed.Severity = severity;
- });
- }
-
- private static bool TryGetSeverityFromSize(Hediff hediff, float cupSize, out float severity)
- {
- var list = (hediff.def as HediffDef_SexPart)?.sizeProfile.cupSizes;
-
- if (list == null)
- {
- severity = 0f;
- return false;
- }
-
- var curve = new SimpleCurve(hediff.def.stages.Zip(list,
- (stage, s) => new CurvePoint(s, stage.minSeverity)));
- severity = curve.Evaluate(cupSize);
- return true;
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_A : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 1);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_B : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 2);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_C : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 3);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_D : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 4);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_E : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 6);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_F : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 7);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_G : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 9);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_H : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 11);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_J : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 13);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_K : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 15);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_L : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 17);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_M : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 19);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_N : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 21);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_O : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 23);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_P : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 25);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_Q : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 27);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_R : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 29);
- }
- }
-
- public class Recipe_Surgery_Mammoplasty_Unknown : Recipe_Surgery_Mammoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryCupX(pawn, 31);
- }
- }
-}
\ No newline at end of file
diff --git a/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Penoplasty.cs b/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Penoplasty.cs
deleted file mode 100644
index f52b6c6..0000000
--- a/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Penoplasty.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-using System;
-using System.Collections.Generic;
-using rjw;
-using Verse;
-
-namespace RJW_PlasticSurgeries
-{
- public abstract class Recipe_Surgery_Penoplasty : Recipe_Plastic_Surgery
- {
- protected override BodyPartRecord GetPartCandidate(Pawn pawn)
- {
- return Genital_Helper.get_genitalsBPR(pawn);
- }
-
- protected override bool HasPart(Pawn pawn, List hediffs)
- {
- return Genital_Helper.has_penis_fertile(pawn, hediffs) ||
- Genital_Helper.has_penis_infertile(pawn, hediffs);
- }
-
- protected override List GetHediffs(Pawn pawn)
- {
- return pawn.GetGenitalsList().FindAll(Genital_Helper.is_penis);
- }
- }
-
- public class Recipe_Surgery_Penoplasty_Micro : Recipe_Surgery_Penoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.1f, true);
- }
- }
-
- public class Recipe_Surgery_Penoplasty_Small : Recipe_Surgery_Penoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.3f, true);
- }
- }
-
- public class Recipe_Surgery_Penoplasty_Average : Recipe_Surgery_Penoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.5f, true);
- }
- }
-
- public class Recipe_Surgery_Penoplasty_Large : Recipe_Surgery_Penoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.7f, true);
- }
- }
-
- public class Recipe_Surgery_Penoplasty_Huge : Recipe_Surgery_Penoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.9f, true);
- }
- }
-}
\ No newline at end of file
diff --git a/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Sphinctoplasty.cs b/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Sphinctoplasty.cs
deleted file mode 100644
index 251f5b9..0000000
--- a/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Sphinctoplasty.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-using System;
-using System.Collections.Generic;
-using rjw;
-using Verse;
-
-namespace RJW_PlasticSurgeries
-{
- public abstract class Recipe_Surgery_Sphinctoplasty : Recipe_Plastic_Surgery
- {
- protected override BodyPartRecord GetPartCandidate(Pawn pawn)
- {
- return Genital_Helper.get_anusBPR(pawn);
- }
-
- protected override bool HasPart(Pawn pawn, List hediffs)
- {
- return Genital_Helper.has_anus(pawn, hediffs);
- }
-
- protected override List GetHediffs(Pawn pawn)
- {
- return pawn.GetAnusList();
- }
- }
-
- public class Recipe_Surgery_Sphinctoplasty_Micro : Recipe_Surgery_Sphinctoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.1f, true);
- }
- }
-
- public class Recipe_Surgery_Sphinctoplasty_Tight : Recipe_Surgery_Sphinctoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.3f, true);
- }
- }
-
- public class Recipe_Surgery_Sphinctoplasty_Average : Recipe_Surgery_Sphinctoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.5f, true);
- }
- }
-
- public class Recipe_Surgery_Sphinctoplasty_Accomodating : Recipe_Surgery_Sphinctoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.7f, true);
- }
- }
-
- public class Recipe_Surgery_Sphinctoplasty_Cavernous : Recipe_Surgery_Sphinctoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.9f, true);
- }
- }
-}
\ No newline at end of file
diff --git a/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Vaginoplasty.cs b/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Vaginoplasty.cs
deleted file mode 100644
index f9a457f..0000000
--- a/Source/RJW_PlasticSurgeries/1.6/Recipe_Surgery_Vaginoplasty.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-using System;
-using System.Collections.Generic;
-using rjw;
-using Verse;
-
-namespace RJW_PlasticSurgeries
-{
- public abstract class Recipe_Surgery_Vaginoplasty : Recipe_Plastic_Surgery
- {
- protected override BodyPartRecord GetPartCandidate(Pawn pawn)
- {
- return Genital_Helper.get_genitalsBPR(pawn);
- }
-
- protected override bool HasPart(Pawn pawn, List hediffs)
- {
- return Genital_Helper.has_vagina(pawn, hediffs);
- }
-
- protected override List GetHediffs(Pawn pawn)
- {
- return pawn.GetGenitalsList().FindAll(Genital_Helper.is_vagina);
- }
- }
-
- public class Recipe_Surgery_Vaginoplasty_Micro : Recipe_Surgery_Vaginoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.1f, true);
- }
- }
-
- public class Recipe_Surgery_Vaginoplasty_Tight : Recipe_Surgery_Vaginoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.3f, true);
- }
- }
-
- public class Recipe_Surgery_Vaginoplasty_Average : Recipe_Surgery_Vaginoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.5f, true);
- }
- }
-
- public class Recipe_Surgery_Vaginoplasty_Accomodating : Recipe_Surgery_Vaginoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.7f, true);
- }
- }
-
- public class Recipe_Surgery_Vaginoplasty_Cavernous : Recipe_Surgery_Vaginoplasty
- {
- protected override void SurgeryResult(Pawn pawn)
- {
- SurgeryX(pawn, 0.9f, true);
- }
- }
-}
\ No newline at end of file
diff --git a/Source/RJW_PlasticSurgeries/1.6/VanillaTraitDefOf.cs b/Source/RJW_PlasticSurgeries/1.6/VanillaTraitDefOf.cs
deleted file mode 100644
index 918c7ca..0000000
--- a/Source/RJW_PlasticSurgeries/1.6/VanillaTraitDefOf.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using Verse;
-using RimWorld;
-
-namespace rjw
-{
- [DefOf]
- public static class VanillaTraitDefOf
- {
- public static TraitDef Tough;
-
- public static TraitDef Nerves;
-
- public static TraitDef Beauty;
-
- public static TraitDef TooSmart;
-
- public static TraitDef NaturalMood;
-
- public static TraitDef Cannibal;
-
- static VanillaTraitDefOf()
- {
- DefOfHelper.EnsureInitializedInCtor(typeof(VanillaTraitDefOf));
- }
- }
-}
\ No newline at end of file
diff --git a/Source/RJW_PlasticSurgeries/About/About.xml b/Source/RJW_PlasticSurgeries/About/About.xml
index 6cdb3b7..55aab1b 100644
--- a/Source/RJW_PlasticSurgeries/About/About.xml
+++ b/Source/RJW_PlasticSurgeries/About/About.xml
@@ -7,7 +7,6 @@