diff --git a/1.3/Assemblies/RJW_PlasticSurgeries.dll b/1.3/Assemblies/RJW_PlasticSurgeries.dll
index 1e61b23..17f5a1c 100644
Binary files a/1.3/Assemblies/RJW_PlasticSurgeries.dll and b/1.3/Assemblies/RJW_PlasticSurgeries.dll differ
diff --git a/About/About.xml b/About/About.xml
index 8a5d5b3..912e590 100644
--- a/About/About.xml
+++ b/About/About.xml
@@ -30,5 +30,6 @@
Ludeon.RimWorld
rim.job.world
NuttySquabble.Dyspareunia
+ LustLicentia.RJWLabs
\ No newline at end of file
diff --git a/Assemblies/RJW_PlasticSurgeries.dll b/Assemblies/RJW_PlasticSurgeries.dll
index 1e61b23..17f5a1c 100644
Binary files a/Assemblies/RJW_PlasticSurgeries.dll and b/Assemblies/RJW_PlasticSurgeries.dll differ
diff --git a/Source/RJW_PlasticSurgeries/RJW_PlasticSurgeries.csproj b/Source/RJW_PlasticSurgeries/RJW_PlasticSurgeries.csproj
index 98d6f3a..74f0732 100644
--- a/Source/RJW_PlasticSurgeries/RJW_PlasticSurgeries.csproj
+++ b/Source/RJW_PlasticSurgeries/RJW_PlasticSurgeries.csproj
@@ -62,6 +62,9 @@
..\..\..\..\..\..\workshop\content\294100\818773962\Assemblies\HugsLib.dll
False
+
+ ..\..\..\licentia-labs\Assemblies\LicentiaLabs.dll
+
..\..\..\rjw-base\1.3\Assemblies\RJW.dll
diff --git a/Source/RJW_PlasticSurgeries/Recipe_Plastic_Surgery.cs b/Source/RJW_PlasticSurgeries/Recipe_Plastic_Surgery.cs
index 9e39b4d..829a5b4 100644
--- a/Source/RJW_PlasticSurgeries/Recipe_Plastic_Surgery.cs
+++ b/Source/RJW_PlasticSurgeries/Recipe_Plastic_Surgery.cs
@@ -10,6 +10,7 @@ namespace RJW_PlasticSurgeries
public abstract class Recipe_Plastic_Surgery : Recipe_Surgery
{
protected readonly bool HasDyspareunia = ModLister.HasActiveModWithName("Dyspareunia");
+ protected readonly bool HasLicentia = ModLister.HasActiveModWithName("RimJobWorld - Licentia Labs");
public override IEnumerable GetPartsToApplyOn(Pawn pawn, RecipeDef recipe)
{
@@ -41,15 +42,21 @@ namespace RJW_PlasticSurgeries
PenetrationUtility.AddDamageHediff(DamageDefOf.SexStretch, 0.5f, hed, null);
}
- protected void SurgeryX(Pawn pawn, float severity, bool useDyspareunia = false)
+ protected void SurgeryX(Pawn pawn, float severity, bool damagePart = false)
{
GetHediffs(pawn).ForEach(hed =>
{
hed.Severity = severity;
- if (useDyspareunia && HasDyspareunia) DamageHediff(hed);
+ if (damagePart && HasDyspareunia) DamageHediff(hed);
+ if (damagePart && HasLicentia)
+ {
+ var (type, damage) = GetLicentiaDamage();
+ LicentiaLabs.DamageHelper.ApplyDamage(pawn, hed.Part, type, damage);
+ }
});
}
protected abstract List GetHediffs(Pawn pawn);
+ protected abstract (HediffDef, float) GetLicentiaDamage();
}
}
\ No newline at end of file
diff --git a/Source/RJW_PlasticSurgeries/Recipe_Surgery_Mammoplasty.cs b/Source/RJW_PlasticSurgeries/Recipe_Surgery_Mammoplasty.cs
index 3ab8e49..f568f30 100644
--- a/Source/RJW_PlasticSurgeries/Recipe_Surgery_Mammoplasty.cs
+++ b/Source/RJW_PlasticSurgeries/Recipe_Surgery_Mammoplasty.cs
@@ -55,6 +55,8 @@ namespace RJW_PlasticSurgeries
severity = curve.Evaluate(cupSize);
return true;
}
+
+ protected override (HediffDef, float) GetLicentiaDamage() => throw new NotSupportedException();
}
public class Recipe_Surgery_Mammoplasty_A : Recipe_Surgery_Mammoplasty
diff --git a/Source/RJW_PlasticSurgeries/Recipe_Surgery_Penoplasty.cs b/Source/RJW_PlasticSurgeries/Recipe_Surgery_Penoplasty.cs
index ea205d9..3e11c72 100644
--- a/Source/RJW_PlasticSurgeries/Recipe_Surgery_Penoplasty.cs
+++ b/Source/RJW_PlasticSurgeries/Recipe_Surgery_Penoplasty.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using LicentiaLabs;
using rjw;
using Verse;
@@ -21,6 +22,9 @@ namespace RJW_PlasticSurgeries
{
return pawn.GetGenitalsList().FindAll(Genital_Helper.is_penis);
}
+
+ protected override (HediffDef, float) GetLicentiaDamage() =>
+ (Licentia.HediffDefs.StretchTear, 0.2f);
}
public class Recipe_Surgery_Penoplasty_Micro : Recipe_Surgery_Penoplasty
diff --git a/Source/RJW_PlasticSurgeries/Recipe_Surgery_Sphinctoplasty.cs b/Source/RJW_PlasticSurgeries/Recipe_Surgery_Sphinctoplasty.cs
index 0534776..796268f 100644
--- a/Source/RJW_PlasticSurgeries/Recipe_Surgery_Sphinctoplasty.cs
+++ b/Source/RJW_PlasticSurgeries/Recipe_Surgery_Sphinctoplasty.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using LicentiaLabs;
using rjw;
using Verse;
@@ -20,6 +21,9 @@ namespace RJW_PlasticSurgeries
{
return pawn.GetAnusList();
}
+
+ protected override (HediffDef, float) GetLicentiaDamage() =>
+ (Licentia.HediffDefs.StretchTear, 0.2f);
}
public class Recipe_Surgery_Sphinctoplasty_Micro : Recipe_Surgery_Sphinctoplasty
diff --git a/Source/RJW_PlasticSurgeries/Recipe_Surgery_Vaginoplasty.cs b/Source/RJW_PlasticSurgeries/Recipe_Surgery_Vaginoplasty.cs
index aec6dc4..68a7803 100644
--- a/Source/RJW_PlasticSurgeries/Recipe_Surgery_Vaginoplasty.cs
+++ b/Source/RJW_PlasticSurgeries/Recipe_Surgery_Vaginoplasty.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using LicentiaLabs;
using rjw;
using Verse;
@@ -20,6 +21,9 @@ namespace RJW_PlasticSurgeries
{
return pawn.GetGenitalsList().FindAll(Genital_Helper.is_vagina);
}
+
+ protected override (HediffDef, float) GetLicentiaDamage() =>
+ (Licentia.HediffDefs.StretchTear, 0.2f);
}
public class Recipe_Surgery_Vaginoplasty_Micro : Recipe_Surgery_Vaginoplasty