mirror of
https://gitgud.io/Stardust3D/rjw-plasticsurgeries.git
synced 2024-08-14 23:57:25 +00:00
Compare commits
17 commits
c428ee52ea
...
a60cb1c4cf
Author | SHA1 | Date | |
---|---|---|---|
|
a60cb1c4cf | ||
|
0d8e65d2a5 | ||
|
44a9d7eb78 | ||
|
ed7646a76f | ||
|
3792ffa52f | ||
|
bb883f6d6b | ||
|
b36cf9de39 | ||
|
85ce36176a | ||
|
973bbb5cd5 | ||
|
d97e3564ca | ||
|
086b2e155e | ||
|
06e09762a4 | ||
|
a74449d642 | ||
|
266c987de7 | ||
|
642536fc46 | ||
|
95263ed0e0 | ||
|
476213ed08 |
31 changed files with 234 additions and 77 deletions
Binary file not shown.
Binary file not shown.
BIN
1.5/Assemblies/RJW_PlasticSurgeries.dll
Normal file
BIN
1.5/Assemblies/RJW_PlasticSurgeries.dll
Normal file
Binary file not shown.
|
@ -6,6 +6,7 @@
|
||||||
<supportedVersions>
|
<supportedVersions>
|
||||||
<li>1.3</li>
|
<li>1.3</li>
|
||||||
<li>1.4</li>
|
<li>1.4</li>
|
||||||
|
<li>1.5</li>
|
||||||
</supportedVersions>
|
</supportedVersions>
|
||||||
<packageId>Stardust3D.RJW.PlasticSurgeries</packageId>
|
<packageId>Stardust3D.RJW.PlasticSurgeries</packageId>
|
||||||
<description>Surgically alter pawn's genitals.</description>
|
<description>Surgically alter pawn's genitals.</description>
|
||||||
|
@ -21,16 +22,10 @@
|
||||||
<steamWorkshopUrl>steam://url/CommunityFilePage/2009463077</steamWorkshopUrl>
|
<steamWorkshopUrl>steam://url/CommunityFilePage/2009463077</steamWorkshopUrl>
|
||||||
<downloadUrl>https://github.com/pardeike/HarmonyRimWorld/releases/latest</downloadUrl>
|
<downloadUrl>https://github.com/pardeike/HarmonyRimWorld/releases/latest</downloadUrl>
|
||||||
</li>
|
</li>
|
||||||
<!--<li>
|
|
||||||
<packageId>NuttySquabble.Dyspareunia</packageId>
|
|
||||||
<displayName>Dyspareunia</displayName>
|
|
||||||
<downloadUrl>https://gitgud.io/NuttySquabble/Dyspareunia</downloadUrl>
|
|
||||||
</li>-->
|
|
||||||
</modDependencies>
|
</modDependencies>
|
||||||
<loadAfter>
|
<loadAfter>
|
||||||
<li>Ludeon.RimWorld</li>
|
<li>Ludeon.RimWorld</li>
|
||||||
<li>rim.job.world</li>
|
<li>rim.job.world</li>
|
||||||
<li>NuttySquabble.Dyspareunia</li>
|
|
||||||
<li>LustLicentia.RJWLabs</li>
|
<li>LustLicentia.RJWLabs</li>
|
||||||
</loadAfter>
|
</loadAfter>
|
||||||
</ModMetaData>
|
</ModMetaData>
|
|
@ -2,5 +2,5 @@
|
||||||
|
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<identifier>RJW PlasticSurgeries</identifier>
|
<identifier>RJW PlasticSurgeries</identifier>
|
||||||
<version>5390.0.1.6</version>
|
<version>5400.0.1.8</version>
|
||||||
</Manifest>
|
</Manifest>
|
53
Source/RJW_PlasticSurgeries/1.5/Recipe_Plastic_Surgery.cs
Normal file
53
Source/RJW_PlasticSurgeries/1.5/Recipe_Plastic_Surgery.cs
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using RimWorld;
|
||||||
|
using rjw;
|
||||||
|
using Verse;
|
||||||
|
|
||||||
|
namespace RJW_PlasticSurgeries
|
||||||
|
{
|
||||||
|
public abstract class Recipe_Plastic_Surgery : Recipe_Surgery
|
||||||
|
{
|
||||||
|
protected readonly bool HasLicentia = ModLister.HasActiveModWithName("RimJobWorld - Licentia Labs");
|
||||||
|
|
||||||
|
public override IEnumerable<BodyPartRecord> 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<Hediff> hediffs);
|
||||||
|
|
||||||
|
public override void ApplyOnPawn(Pawn pawn, BodyPartRecord part, Pawn billDoer, List<Thing> 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 && HasLicentia)
|
||||||
|
{
|
||||||
|
var (type, damage) = GetLicentiaDamage();
|
||||||
|
LicentiaLabs.DamageHelper.ApplyDamage(pawn, hed.Part, type, damage);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract List<Hediff> GetHediffs(Pawn pawn);
|
||||||
|
protected abstract (HediffDef, float) GetLicentiaDamage();
|
||||||
|
}
|
||||||
|
}
|
61
Source/RJW_PlasticSurgeries/1.5/Recipe_Surgery_Beautify.cs
Normal file
61
Source/RJW_PlasticSurgeries/1.5/Recipe_Surgery_Beautify.cs
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using RimWorld;
|
||||||
|
using Verse;
|
||||||
|
using static rjw.VanillaTraitDefOf;
|
||||||
|
|
||||||
|
namespace RJW_PlasticSurgeries
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public abstract class Recipe_Surgery_Beautify : Recipe_Surgery
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public override IEnumerable<BodyPartRecord> 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public override void ApplyOnPawn(Pawn pawn, BodyPartRecord part, Pawn billDoer, List<Thing> ingredients,
|
||||||
|
Bill bill)
|
||||||
|
{
|
||||||
|
if (billDoer != null)
|
||||||
|
{
|
||||||
|
TaleRecorder.RecordTale(TaleDefOf.DidSurgery, billDoer, pawn);
|
||||||
|
SurgeryResult(pawn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="pawn"></param>
|
||||||
|
public abstract void SurgeryResult(Pawn pawn);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 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.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="pawn">the pawn to modify</param>
|
||||||
|
/// <param name="severity">the new severity of the pawn's Beautiful trait</param>
|
||||||
|
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));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public class Recipe_Surgery_Beautify_Beautiful : Recipe_Surgery_Beautify
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public override void SurgeryResult(Pawn pawn) => SurgeryX(pawn, 2);
|
||||||
|
}
|
||||||
|
}
|
26
Source/RJW_PlasticSurgeries/1.5/VanillaTraitDefOf.cs
Normal file
26
Source/RJW_PlasticSurgeries/1.5/VanillaTraitDefOf.cs
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
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));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,6 +6,7 @@
|
||||||
<supportedVersions>
|
<supportedVersions>
|
||||||
<li>1.3</li>
|
<li>1.3</li>
|
||||||
<li>1.4</li>
|
<li>1.4</li>
|
||||||
|
<li>1.5</li>
|
||||||
</supportedVersions>
|
</supportedVersions>
|
||||||
<packageId>Stardust3D.RJW.PlasticSurgeries</packageId>
|
<packageId>Stardust3D.RJW.PlasticSurgeries</packageId>
|
||||||
<description>Surgically alter pawn's genitals.</description>
|
<description>Surgically alter pawn's genitals.</description>
|
||||||
|
@ -21,16 +22,10 @@
|
||||||
<steamWorkshopUrl>steam://url/CommunityFilePage/2009463077</steamWorkshopUrl>
|
<steamWorkshopUrl>steam://url/CommunityFilePage/2009463077</steamWorkshopUrl>
|
||||||
<downloadUrl>https://github.com/pardeike/HarmonyRimWorld/releases/latest</downloadUrl>
|
<downloadUrl>https://github.com/pardeike/HarmonyRimWorld/releases/latest</downloadUrl>
|
||||||
</li>
|
</li>
|
||||||
<!--<li>
|
|
||||||
<packageId>NuttySquabble.Dyspareunia</packageId>
|
|
||||||
<displayName>Dyspareunia</displayName>
|
|
||||||
<downloadUrl>https://gitgud.io/NuttySquabble/Dyspareunia</downloadUrl>
|
|
||||||
</li>-->
|
|
||||||
</modDependencies>
|
</modDependencies>
|
||||||
<loadAfter>
|
<loadAfter>
|
||||||
<li>Ludeon.RimWorld</li>
|
<li>Ludeon.RimWorld</li>
|
||||||
<li>rim.job.world</li>
|
<li>rim.job.world</li>
|
||||||
<li>NuttySquabble.Dyspareunia</li>
|
|
||||||
<li>LustLicentia.RJWLabs</li>
|
<li>LustLicentia.RJWLabs</li>
|
||||||
</loadAfter>
|
</loadAfter>
|
||||||
</ModMetaData>
|
</ModMetaData>
|
|
@ -2,5 +2,5 @@
|
||||||
|
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<identifier>RJW PlasticSurgeries</identifier>
|
<identifier>RJW PlasticSurgeries</identifier>
|
||||||
<version>5390.0.1.6</version>
|
<version>5400.0.1.8</version>
|
||||||
</Manifest>
|
</Manifest>
|
|
@ -8,15 +8,15 @@
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>RJW_PlasticSurgeries</RootNamespace>
|
<RootNamespace>RJW_PlasticSurgeries</RootNamespace>
|
||||||
<AssemblyName>RJW_PlasticSurgeries</AssemblyName>
|
<AssemblyName>RJW_PlasticSurgeries</AssemblyName>
|
||||||
<TargetFramework>net48</TargetFramework>
|
<TargetFramework>net472</TargetFramework>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<TargetFrameworkProfile>
|
<TargetFrameworkProfile>
|
||||||
</TargetFrameworkProfile>
|
</TargetFrameworkProfile>
|
||||||
<LangVersion>11</LangVersion>
|
<LangVersion>11</LangVersion>
|
||||||
<Copyright>©2024 Stardust3D</Copyright>
|
<Copyright>©2024 Stardust3D</Copyright>
|
||||||
<Company>Stardust3D</Company>
|
<Company>Stardust3D</Company>
|
||||||
<AssemblyVersion>5390.0.1.6</AssemblyVersion>
|
<AssemblyVersion>5400.0.1.8</AssemblyVersion>
|
||||||
<FileVersion>5390.0.1.6</FileVersion>
|
<FileVersion>5400.0.1.8</FileVersion>
|
||||||
<SignAssembly>true</SignAssembly>
|
<SignAssembly>true</SignAssembly>
|
||||||
<AssemblyOriginatorKeyFile>RJW_PlasticSurgeries.snk</AssemblyOriginatorKeyFile>
|
<AssemblyOriginatorKeyFile>RJW_PlasticSurgeries.snk</AssemblyOriginatorKeyFile>
|
||||||
<Description>Surgically alter pawn's genitals.</Description>
|
<Description>Surgically alter pawn's genitals.</Description>
|
||||||
|
@ -36,9 +36,6 @@
|
||||||
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.3" />
|
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Dyspareunia">
|
|
||||||
<HintPath>..\..\..\dyspareunia\1.3\Assemblies\Dyspareunia.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="LicentiaLabs">
|
<Reference Include="LicentiaLabs">
|
||||||
<HintPath>..\..\..\licentia-labs\Assemblies\LicentiaLabs.dll</HintPath>
|
<HintPath>..\..\..\licentia-labs\Assemblies\LicentiaLabs.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
|
|
@ -8,15 +8,15 @@
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>RJW_PlasticSurgeries</RootNamespace>
|
<RootNamespace>RJW_PlasticSurgeries</RootNamespace>
|
||||||
<AssemblyName>RJW_PlasticSurgeries</AssemblyName>
|
<AssemblyName>RJW_PlasticSurgeries</AssemblyName>
|
||||||
<TargetFramework>net48</TargetFramework>
|
<TargetFramework>net472</TargetFramework>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<TargetFrameworkProfile>
|
<TargetFrameworkProfile>
|
||||||
</TargetFrameworkProfile>
|
</TargetFrameworkProfile>
|
||||||
<LangVersion>11</LangVersion>
|
<LangVersion>11</LangVersion>
|
||||||
<Copyright>©2024 Stardust3D</Copyright>
|
<Copyright>©2024 Stardust3D</Copyright>
|
||||||
<Company>Stardust3D</Company>
|
<Company>Stardust3D</Company>
|
||||||
<AssemblyVersion>5390.0.1.6</AssemblyVersion>
|
<AssemblyVersion>5400.0.1.8</AssemblyVersion>
|
||||||
<FileVersion>5390.0.1.6</FileVersion>
|
<FileVersion>5400.0.1.8</FileVersion>
|
||||||
<SignAssembly>true</SignAssembly>
|
<SignAssembly>true</SignAssembly>
|
||||||
<AssemblyOriginatorKeyFile>RJW_PlasticSurgeries.snk</AssemblyOriginatorKeyFile>
|
<AssemblyOriginatorKeyFile>RJW_PlasticSurgeries.snk</AssemblyOriginatorKeyFile>
|
||||||
<Description>Surgically alter pawn's genitals.</Description>
|
<Description>Surgically alter pawn's genitals.</Description>
|
||||||
|
@ -36,9 +36,6 @@
|
||||||
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.3" />
|
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Dyspareunia">
|
|
||||||
<HintPath>..\..\..\dyspareunia\1.4\Assemblies\Dyspareunia.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="LicentiaLabs">
|
<Reference Include="LicentiaLabs">
|
||||||
<HintPath>..\..\..\licentia-labs\Assemblies\LicentiaLabs.dll</HintPath>
|
<HintPath>..\..\..\licentia-labs\Assemblies\LicentiaLabs.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
|
|
@ -8,21 +8,21 @@
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>RJW_PlasticSurgeries</RootNamespace>
|
<RootNamespace>RJW_PlasticSurgeries</RootNamespace>
|
||||||
<AssemblyName>RJW_PlasticSurgeries</AssemblyName>
|
<AssemblyName>RJW_PlasticSurgeries</AssemblyName>
|
||||||
<TargetFramework>net48</TargetFramework>
|
<TargetFramework>net472</TargetFramework>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<TargetFrameworkProfile>
|
<TargetFrameworkProfile>
|
||||||
</TargetFrameworkProfile>
|
</TargetFrameworkProfile>
|
||||||
<LangVersion>11</LangVersion>
|
<LangVersion>11</LangVersion>
|
||||||
<Copyright>©2024 Stardust3D</Copyright>
|
<Copyright>©2024 Stardust3D</Copyright>
|
||||||
<Company>Stardust3D</Company>
|
<Company>Stardust3D</Company>
|
||||||
<AssemblyVersion>5390.0.1.6</AssemblyVersion>
|
<AssemblyVersion>5400.0.1.8</AssemblyVersion>
|
||||||
<FileVersion>5390.0.1.6</FileVersion>
|
<FileVersion>5400.0.1.8</FileVersion>
|
||||||
<SignAssembly>true</SignAssembly>
|
<SignAssembly>true</SignAssembly>
|
||||||
<AssemblyOriginatorKeyFile>RJW_PlasticSurgeries.snk</AssemblyOriginatorKeyFile>
|
<AssemblyOriginatorKeyFile>RJW_PlasticSurgeries.snk</AssemblyOriginatorKeyFile>
|
||||||
<Description>Surgically alter pawn's genitals.</Description>
|
<Description>Surgically alter pawn's genitals.</Description>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||||
<OutputPath>bin\Release\1.4\</OutputPath>
|
<OutputPath>bin\Release\1.5\</OutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="RJW_PlasticSurgeries.snk" />
|
<None Include="RJW_PlasticSurgeries.snk" />
|
||||||
|
@ -32,13 +32,10 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Lib.Harmony" Version="2.3.3" />
|
<PackageReference Include="Lib.Harmony" Version="2.3.3" />
|
||||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
||||||
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.5.4055-beta" />
|
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.5.4104" />
|
||||||
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.3" />
|
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="11.0.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Dyspareunia">
|
|
||||||
<HintPath>..\..\..\dyspareunia\1.5\Assemblies\Dyspareunia.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="LicentiaLabs">
|
<Reference Include="LicentiaLabs">
|
||||||
<HintPath>..\..\..\licentia-labs\Assemblies\LicentiaLabs.dll</HintPath>
|
<HintPath>..\..\..\licentia-labs\Assemblies\LicentiaLabs.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
@ -49,10 +46,11 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Remove="1.3\**" />
|
<Compile Remove="1.3\**" />
|
||||||
<Compile Remove="1.4\**" />
|
<Compile Remove="1.4\**" />
|
||||||
|
<Compile Remove="Recipe_Plastic_Surgery.cs" />
|
||||||
|
<Compile Remove="Recipe_Surgery_Beautify.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EmbeddedResource Remove="1.3\**" />
|
<EmbeddedResource Remove="1.3\**" />
|
||||||
<EmbeddedResource Remove="1.4\**" />
|
<EmbeddedResource Remove="1.4\**" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -1,15 +1,12 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Dyspareunia;
|
|
||||||
using RimWorld;
|
using RimWorld;
|
||||||
using rjw;
|
using rjw;
|
||||||
using Verse;
|
using Verse;
|
||||||
using DamageDefOf = Dyspareunia.DamageDefOf;
|
|
||||||
|
|
||||||
namespace RJW_PlasticSurgeries
|
namespace RJW_PlasticSurgeries
|
||||||
{
|
{
|
||||||
public abstract class Recipe_Plastic_Surgery : Recipe_Surgery
|
public abstract class Recipe_Plastic_Surgery : Recipe_Surgery
|
||||||
{
|
{
|
||||||
protected readonly bool HasDyspareunia = ModLister.HasActiveModWithName("Dyspareunia");
|
|
||||||
protected readonly bool HasLicentia = ModLister.HasActiveModWithName("RimJobWorld - Licentia Labs");
|
protected readonly bool HasLicentia = ModLister.HasActiveModWithName("RimJobWorld - Licentia Labs");
|
||||||
|
|
||||||
public override IEnumerable<BodyPartRecord> GetPartsToApplyOn(Pawn pawn, RecipeDef recipe)
|
public override IEnumerable<BodyPartRecord> GetPartsToApplyOn(Pawn pawn, RecipeDef recipe)
|
||||||
|
@ -37,17 +34,11 @@ namespace RJW_PlasticSurgeries
|
||||||
|
|
||||||
protected abstract void SurgeryResult(Pawn pawn);
|
protected abstract void SurgeryResult(Pawn pawn);
|
||||||
|
|
||||||
private static void DamageHediff(Hediff hed)
|
|
||||||
{
|
|
||||||
PenetrationUtility.AddDamageHediff(DamageDefOf.SexStretch, 0.5f, hed, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void SurgeryX(Pawn pawn, float severity, bool damagePart = false)
|
protected void SurgeryX(Pawn pawn, float severity, bool damagePart = false)
|
||||||
{
|
{
|
||||||
GetHediffs(pawn).ForEach(hed =>
|
GetHediffs(pawn).ForEach(hed =>
|
||||||
{
|
{
|
||||||
hed.Severity = severity;
|
hed.Severity = severity;
|
||||||
if (damagePart && HasDyspareunia) DamageHediff(hed);
|
|
||||||
if (damagePart && HasLicentia)
|
if (damagePart && HasLicentia)
|
||||||
{
|
{
|
||||||
var (type, damage) = GetLicentiaDamage();
|
var (type, damage) = GetLicentiaDamage();
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using LicentiaLabs;
|
using LicentiaLabs;
|
||||||
using rjw;
|
using rjw;
|
||||||
using Verse;
|
using Verse;
|
||||||
|
@ -23,8 +24,15 @@ namespace RJW_PlasticSurgeries
|
||||||
return pawn.GetGenitalsList().FindAll(Genital_Helper.is_penis);
|
return pawn.GetGenitalsList().FindAll(Genital_Helper.is_penis);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override (HediffDef, float) GetLicentiaDamage() =>
|
protected override (HediffDef, float) GetLicentiaDamage()
|
||||||
(Licentia.HediffDefs.StretchTear, 0.2f);
|
{
|
||||||
|
if (HasLicentia)
|
||||||
|
{
|
||||||
|
return (Licentia.HediffDefs.StretchTear, 0.2f);
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new NotSupportedException();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Recipe_Surgery_Penoplasty_Micro : Recipe_Surgery_Penoplasty
|
public class Recipe_Surgery_Penoplasty_Micro : Recipe_Surgery_Penoplasty
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using LicentiaLabs;
|
using LicentiaLabs;
|
||||||
using rjw;
|
using rjw;
|
||||||
using Verse;
|
using Verse;
|
||||||
|
@ -21,9 +22,16 @@ namespace RJW_PlasticSurgeries
|
||||||
{
|
{
|
||||||
return pawn.GetAnusList();
|
return pawn.GetAnusList();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override (HediffDef, float) GetLicentiaDamage() =>
|
protected override (HediffDef, float) GetLicentiaDamage()
|
||||||
(Licentia.HediffDefs.StretchTear, 0.2f);
|
{
|
||||||
|
if (HasLicentia)
|
||||||
|
{
|
||||||
|
return (Licentia.HediffDefs.StretchTear, 0.2f);
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new NotSupportedException();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Recipe_Surgery_Sphinctoplasty_Micro : Recipe_Surgery_Sphinctoplasty
|
public class Recipe_Surgery_Sphinctoplasty_Micro : Recipe_Surgery_Sphinctoplasty
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using LicentiaLabs;
|
using LicentiaLabs;
|
||||||
using rjw;
|
using rjw;
|
||||||
using Verse;
|
using Verse;
|
||||||
|
@ -21,9 +22,16 @@ namespace RJW_PlasticSurgeries
|
||||||
{
|
{
|
||||||
return pawn.GetGenitalsList().FindAll(Genital_Helper.is_vagina);
|
return pawn.GetGenitalsList().FindAll(Genital_Helper.is_vagina);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override (HediffDef, float) GetLicentiaDamage() =>
|
protected override (HediffDef, float) GetLicentiaDamage()
|
||||||
(Licentia.HediffDefs.StretchTear, 0.2f);
|
{
|
||||||
|
if (HasLicentia)
|
||||||
|
{
|
||||||
|
return (Licentia.HediffDefs.StretchTear, 0.2f);
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new NotSupportedException();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Recipe_Surgery_Vaginoplasty_Micro : Recipe_Surgery_Vaginoplasty
|
public class Recipe_Surgery_Vaginoplasty_Micro : Recipe_Surgery_Vaginoplasty
|
||||||
|
|
|
@ -1,17 +1,9 @@
|
||||||
/*
|
|
||||||
* This file was generated by the Gradle "init" task.
|
|
||||||
*
|
|
||||||
* This is a general purpose Gradle build.
|
|
||||||
* Learn more about Gradle by exploring our samples at https://docs.gradle.org/7.3/samples
|
|
||||||
* This project uses @Incubating APIs which are subject to change.
|
|
||||||
*/
|
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
alias(libs.plugins.msbuild)
|
alias(libs.plugins.msbuild)
|
||||||
alias(libs.plugins.versions)
|
alias(libs.plugins.versions)
|
||||||
}
|
}
|
||||||
|
|
||||||
version = "5390.0.1.6"
|
version = "5400.0.1.8"
|
||||||
val friendlyName = "rjw-plasticsurgeries"
|
val friendlyName = "rjw-plasticsurgeries"
|
||||||
|
|
||||||
tasks.register<com.ullink.Msbuild>("buildC#_1.3") {
|
tasks.register<com.ullink.Msbuild>("buildC#_1.3") {
|
||||||
|
@ -52,7 +44,7 @@ tasks.register<com.ullink.Msbuild>("buildC#_1.5") {
|
||||||
|
|
||||||
tasks.register<Exec>("sign_1.3") {
|
tasks.register<Exec>("sign_1.3") {
|
||||||
dependsOn("buildC#_1.3")
|
dependsOn("buildC#_1.3")
|
||||||
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.3/net48")
|
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.3/net472")
|
||||||
executable = "H:\\Windows Kits\\10\\bin\\10.0.22621.0\\x64\\signtool.exe"
|
executable = "H:\\Windows Kits\\10\\bin\\10.0.22621.0\\x64\\signtool.exe"
|
||||||
args = listOf(
|
args = listOf(
|
||||||
"sign",
|
"sign",
|
||||||
|
@ -70,7 +62,7 @@ tasks.register<Exec>("sign_1.3") {
|
||||||
|
|
||||||
tasks.register<Exec>("sign_1.4") {
|
tasks.register<Exec>("sign_1.4") {
|
||||||
dependsOn("buildC#_1.4")
|
dependsOn("buildC#_1.4")
|
||||||
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.4/net48")
|
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.4/net472")
|
||||||
executable = "H:\\Windows Kits\\10\\bin\\10.0.22621.0\\x64\\signtool.exe"
|
executable = "H:\\Windows Kits\\10\\bin\\10.0.22621.0\\x64\\signtool.exe"
|
||||||
args = listOf(
|
args = listOf(
|
||||||
"sign",
|
"sign",
|
||||||
|
@ -88,7 +80,7 @@ tasks.register<Exec>("sign_1.4") {
|
||||||
|
|
||||||
tasks.register<Exec>("sign_1.5") {
|
tasks.register<Exec>("sign_1.5") {
|
||||||
dependsOn("buildC#_1.5")
|
dependsOn("buildC#_1.5")
|
||||||
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.5/net48")
|
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.5/net472")
|
||||||
executable = "H:\\Windows Kits\\10\\bin\\10.0.22621.0\\x64\\signtool.exe"
|
executable = "H:\\Windows Kits\\10\\bin\\10.0.22621.0\\x64\\signtool.exe"
|
||||||
args = listOf(
|
args = listOf(
|
||||||
"sign",
|
"sign",
|
||||||
|
@ -105,7 +97,7 @@ tasks.register<Exec>("sign_1.5") {
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register("copy") {
|
tasks.register("copy") {
|
||||||
dependsOn("copy_1.3", "copy_1.4", "copy_about")
|
dependsOn("copy_1.3", "copy_1.4", "copy_1.5", "copy_about")
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register<Copy>("copy_about") {
|
tasks.register<Copy>("copy_about") {
|
||||||
|
@ -115,40 +107,67 @@ tasks.register<Copy>("copy_about") {
|
||||||
|
|
||||||
tasks.register<Copy>("copy_1.3") {
|
tasks.register<Copy>("copy_1.3") {
|
||||||
dependsOn("copyDll_1.3")
|
dependsOn("copyDll_1.3")
|
||||||
from(project.projectDir.resolve("${rootProject.name}/1.3"))
|
dependsOn("copyDefs_1.3")
|
||||||
|
|
||||||
|
from(project.projectDir.resolve("${rootProject.name}/1.3")){
|
||||||
|
exclude("**/*.cs")
|
||||||
|
}
|
||||||
into(project.projectDir.parentFile.resolve("1.3"))
|
into(project.projectDir.parentFile.resolve("1.3"))
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register<Copy>("copy_1.4") {
|
tasks.register<Copy>("copy_1.4") {
|
||||||
dependsOn("copyDll_1.4")
|
dependsOn("copyDll_1.4")
|
||||||
from(project.projectDir.resolve("${rootProject.name}/1.4"))
|
dependsOn("copyDefs_1.4")
|
||||||
|
|
||||||
|
from(project.projectDir.resolve("${rootProject.name}/1.4")){
|
||||||
|
exclude("**/*.cs")
|
||||||
|
}
|
||||||
into(project.projectDir.parentFile.resolve("1.4"))
|
into(project.projectDir.parentFile.resolve("1.4"))
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register<Copy>("copy_1.5") {
|
tasks.register<Copy>("copy_1.5") {
|
||||||
dependsOn("copyDll_1.5")
|
dependsOn("copyDll_1.5")
|
||||||
from(project.projectDir.resolve("${rootProject.name}/1.5"))
|
dependsOn("copyDefs_1.5")
|
||||||
|
|
||||||
|
from(project.projectDir.resolve("${rootProject.name}/1.5")){
|
||||||
|
exclude("**/*.cs")
|
||||||
|
}
|
||||||
into(project.projectDir.parentFile.resolve("1.5"))
|
into(project.projectDir.parentFile.resolve("1.5"))
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register<Copy>("copyDll_1.3") {
|
tasks.register<Copy>("copyDll_1.3") {
|
||||||
dependsOn("sign_1.3")
|
dependsOn("sign_1.3")
|
||||||
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.3/net48/${rootProject.name}.dll"))
|
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.3/net472/${rootProject.name}.dll"))
|
||||||
into(project.projectDir.parentFile.resolve("1.3/Assemblies"))
|
into(project.projectDir.parentFile.resolve("1.3/Assemblies"))
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register<Copy>("copyDll_1.4") {
|
tasks.register<Copy>("copyDll_1.4") {
|
||||||
dependsOn("sign_1.4")
|
dependsOn("sign_1.4")
|
||||||
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.4/net48/${rootProject.name}.dll"))
|
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.4/net472/${rootProject.name}.dll"))
|
||||||
into(project.projectDir.parentFile.resolve("1.4/Assemblies"))
|
into(project.projectDir.parentFile.resolve("1.4/Assemblies"))
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register<Copy>("copyDll_1.5") {
|
tasks.register<Copy>("copyDll_1.5") {
|
||||||
dependsOn("sign_1.5")
|
dependsOn("sign_1.5")
|
||||||
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.5/net48/${rootProject.name}.dll"))
|
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.5/net472/${rootProject.name}.dll"))
|
||||||
into(project.projectDir.parentFile.resolve("1.5/Assemblies"))
|
into(project.projectDir.parentFile.resolve("1.5/Assemblies"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register<Copy>("copyDefs_1.3") {
|
||||||
|
from(project.projectDir.resolve("${rootProject.name}/Defs"))
|
||||||
|
into(project.projectDir.parentFile.resolve("1.3/Defs"))
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.register<Copy>("copyDefs_1.4") {
|
||||||
|
from(project.projectDir.resolve("${rootProject.name}/Defs"))
|
||||||
|
into(project.projectDir.parentFile.resolve("1.4/Defs"))
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.register<Copy>("copyDefs_1.5") {
|
||||||
|
from(project.projectDir.resolve("${rootProject.name}/Defs"))
|
||||||
|
into(project.projectDir.parentFile.resolve("1.5/Defs"))
|
||||||
|
}
|
||||||
|
|
||||||
tasks.register<Zip>("buildZip") {
|
tasks.register<Zip>("buildZip") {
|
||||||
dependsOn("clean", ":copy")
|
dependsOn("clean", ":copy")
|
||||||
into("$friendlyName/1.3") {
|
into("$friendlyName/1.3") {
|
||||||
|
@ -169,6 +188,7 @@ tasks.register<Zip>("buildZip") {
|
||||||
into("$friendlyName/Source/${rootProject.name}") {
|
into("$friendlyName/Source/${rootProject.name}") {
|
||||||
from(project.projectDir.parentFile.resolve("Source/${rootProject.name}"))
|
from(project.projectDir.parentFile.resolve("Source/${rootProject.name}"))
|
||||||
excludes.add("**/obj/**")
|
excludes.add("**/obj/**")
|
||||||
|
excludes.add("**/bin/**")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"sdk": {
|
"sdk": {
|
||||||
"version": "6.0.0",
|
"version": "8.0.0",
|
||||||
"rollForward": "latestMinor",
|
"rollForward": "latestMinor",
|
||||||
"allowPrerelease": false
|
"allowPrerelease": false
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
|
||||||
networkTimeout=10000
|
networkTimeout=10000
|
||||||
validateDistributionUrl=true
|
validateDistributionUrl=true
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
|
2
Source/gradlew
vendored
2
Source/gradlew
vendored
|
@ -55,7 +55,7 @@
|
||||||
# Darwin, MinGW, and NonStop.
|
# Darwin, MinGW, and NonStop.
|
||||||
#
|
#
|
||||||
# (3) This script is generated from the Groovy template
|
# (3) This script is generated from the Groovy template
|
||||||
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||||
# within the Gradle project.
|
# within the Gradle project.
|
||||||
#
|
#
|
||||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue