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
diff --git a/Source/gradle/wrapper/gradle-wrapper.properties b/Source/gradle/wrapper/gradle-wrapper.properties
index a441313..df97d72 100644
--- a/Source/gradle/wrapper/gradle-wrapper.properties
+++ b/Source/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/Source/gradlew b/Source/gradlew
index b740cf1..f5feea6 100644
--- a/Source/gradlew
+++ b/Source/gradlew
@@ -15,6 +15,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
+# SPDX-License-Identifier: Apache-2.0
+#
##############################################################################
#
@@ -84,7 +86,8 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
+' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
diff --git a/Source/gradlew.bat b/Source/gradlew.bat
index 25da30d..9d21a21 100644
--- a/Source/gradlew.bat
+++ b/Source/gradlew.bat
@@ -13,6 +13,8 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
From cd4e1692778ee7d175b4519c382541226ce7a288 Mon Sep 17 00:00:00 2001
From: Stardust3D <3dstardust@gmail.com>
Date: Wed, 2 Oct 2024 13:03:14 +0200
Subject: [PATCH 03/15] custom code for 1.5
---
.../Patches/NewMedicalRecipesUtilityPatch.cs | 105 ++++++++++++++++++
.../RJW_patch_Autopsy_1.5.csproj | 1 +
2 files changed, 106 insertions(+)
create mode 100644 Source/RJW_patch_Autopsy/1.5/Patches/NewMedicalRecipesUtilityPatch.cs
diff --git a/Source/RJW_patch_Autopsy/1.5/Patches/NewMedicalRecipesUtilityPatch.cs b/Source/RJW_patch_Autopsy/1.5/Patches/NewMedicalRecipesUtilityPatch.cs
new file mode 100644
index 0000000..9b665de
--- /dev/null
+++ b/Source/RJW_patch_Autopsy/1.5/Patches/NewMedicalRecipesUtilityPatch.cs
@@ -0,0 +1,105 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Verse;
+using rjw;
+using Autopsy;
+using HarmonyLib;
+
+namespace RJW_patch_Autopsy
+{
+ [HarmonyPatch(typeof(NewMedicalRecipesUtility), nameof(NewMedicalRecipesUtility.TraverseBody))]
+ public static class NewMedicalRecipesUtilityPatch
+ {
+ private const bool DEBUG = false;
+
+ private static void log(String message)
+ {
+ if (DEBUG)
+ {
+ Log.Message(message);
+ }
+ }
+
+ [HarmonyPostfix]
+ public static IEnumerable AddRjwParts(IEnumerable __result, RecipeInfo recipeInfo, Corpse corpse,
+ float skillChance)
+ {
+ /*//Collect vanilla parts
+ var core = corpse.InnerPawn.RaceProps.body.corePart;
+ var queue = new List {core};
+ var hediffSet = corpse.InnerPawn.health.hediffSet;
+ var results = new List();
+ var damagedParts = new List();
+ while (queue.Count > 0)
+ {
+ var part = queue.First();
+ queue.Remove(part);
+ //Drop parts and bionics that are higher on the body tree.
+ if (NewMedicalRecipesUtility.TryGetParts(corpse, recipeInfo, part, skillChance, ref results,
+ ref damagedParts) && core != part)
+ continue;
+ queue.AddRange(part.parts.Where(x => !hediffSet.PartIsMissing(x)));
+ }
+
+ foreach (var part in damagedParts)
+ NewMedicalRecipesUtility.DamageHarvested(corpse.InnerPawn, part);
+ */
+ var results = __result.ToList();
+ log($"Collected {results.Count} vanilla parts");
+
+ //Collect rjw rediffs
+ var rjwNaturalDiffs = (from x in corpse.InnerPawn.health.hediffSet.hediffs
+ where x is Hediff_NaturalSexPart
+ select x).ToList();
+ var rjwArtificialDiffs = (from x in corpse.InnerPawn.health.hediffSet.hediffs
+ where x is Hediff_ArtificialSexPart
+ select x).ToList();
+
+ log($"Collected {rjwNaturalDiffs.Count} natural and {rjwArtificialDiffs.Count} artificial hediffs");
+
+ //Collect parts from hediffs rjw's surgery methods
+ var rjwNaturalThings = rjwNaturalDiffs.Select(hediff =>
+ {
+ var tmp = SexPartAdder.recipePartRemover(hediff);
+ Log.Message($"obtained ${tmp} from ${hediff} via rjw");
+ return tmp;
+ }).ToList();
+ var rjwArtificialThings = rjwArtificialDiffs.Select(hediff =>
+ {
+ var tmp = SexPartAdder.recipePartRemover(hediff);
+ Log.Message($"obtained ${tmp} from ${hediff} via rjw");
+ return tmp;
+ }).ToList();
+
+ log(
+ $"Collected {rjwNaturalThings.Count} things from {rjwNaturalDiffs.Count} natural and {rjwArtificialThings.Count} things from {rjwArtificialDiffs.Count} artificial hediffs");
+
+ //Simulate success chance scaled with skill etc.
+ rjwNaturalThings.ForEach(t =>
+ {
+ if (DEBUG || Rand.Chance(Math.Min(skillChance, recipeInfo.NaturalChance))) results.Add(t);
+ });
+ rjwArtificialThings.ForEach(t =>
+ {
+ if (DEBUG || Rand.Chance(Math.Min(skillChance, recipeInfo.BionicChance))) results.Add(t);
+ });
+
+ //Remove all parts that were tried to harvest from the corpse
+ rjwNaturalDiffs.ForEach(d => corpse.InnerPawn.health.RemoveHediff(d));
+ rjwArtificialDiffs.ForEach(d => corpse.InnerPawn.health.RemoveHediff(d));
+
+ if (results.Count > recipeInfo.PartNumber)
+ {
+ var random = new Random();
+ results = results.OrderBy(i => random.Next()).Take(recipeInfo.PartNumber).ToList();
+ }
+
+ foreach (var result in results)
+ {
+ yield return result;
+ }
+ // return false;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Source/RJW_patch_Autopsy/RJW_patch_Autopsy_1.5.csproj b/Source/RJW_patch_Autopsy/RJW_patch_Autopsy_1.5.csproj
index e21a229..cf9662d 100644
--- a/Source/RJW_patch_Autopsy/RJW_patch_Autopsy_1.5.csproj
+++ b/Source/RJW_patch_Autopsy/RJW_patch_Autopsy_1.5.csproj
@@ -45,6 +45,7 @@
+
From 6ac851a2f473fa3578090018ebeb3d728cd4baed Mon Sep 17 00:00:00 2001
From: Stardust3D <3dstardust@gmail.com>
Date: Wed, 2 Oct 2024 13:04:16 +0200
Subject: [PATCH 04/15] Update version to 5502.0.1.5
Incremented version numbers across multiple project files to 5502.0.1.5. This change ensures consistency and prepares the project for its next release.
---
1.3/Assemblies/RJW_patch_Autopsy.dll | Bin 22976 -> 22976 bytes
1.4/Assemblies/RJW_patch_Autopsy.dll | Bin 22976 -> 22976 bytes
1.5/Assemblies/RJW_patch_Autopsy.dll | Bin 22976 -> 22976 bytes
About/Manifest.xml | 2 +-
Source/RJW_patch_Autopsy/About/Manifest.xml | 2 +-
.../RJW_patch_Autopsy_1.3.csproj | 4 ++--
.../RJW_patch_Autopsy_1.4.csproj | 4 ++--
.../RJW_patch_Autopsy_1.5.csproj | 4 ++--
Source/build.gradle.kts | 2 +-
9 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/1.3/Assemblies/RJW_patch_Autopsy.dll b/1.3/Assemblies/RJW_patch_Autopsy.dll
index 4d67d80a71e0d58a1982f64fbb8b2422f808c4a9..0e43191e5c34ad0967075db5f55d259bb410eff9 100644
GIT binary patch
delta 3777
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
diff --git a/1.4/Assemblies/RJW_patch_Autopsy.dll b/1.4/Assemblies/RJW_patch_Autopsy.dll
index cde287cd9cbd2eac9bfc7bc92162333e71c00dbf..f32fe2df86d72841bd2bd155a47457865de6e147 100644
GIT binary patch
delta 3777
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
delta 3778
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