From ba8bd9605b0fce5896da5c2a8976c86527e73013 Mon Sep 17 00:00:00 2001 From: Shabakur Date: Fri, 18 Nov 2022 14:23:12 +0100 Subject: [PATCH] Added insectbreeder gene --- .../Common/Defs/GeneDefs/GeneDefs_RJW.xml | 9 +++++++ ...2c45ef92-4edd-410c-ba31-f545c712aa6b.vsidx | Bin 0 -> 20039 bytes ...51610b99-6e06-47da-95ce-e5979da6af57.vsidx | Bin 0 -> 3497 bytes .../Source/shabe_genesaddons/GeneDefOf.cs | 1 + .../Source/shabe_genesaddons/GeneUtility.cs | 9 +++++++ .../shabe_genesaddons/PatchPawnExtensions.cs | 24 ++++++++++++++++++ ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 +++ .../shabe_genesaddons.csproj | 1 + 8 files changed, 48 insertions(+) create mode 100644 RJW-Genes-Addons/Source/shabe_genesaddons/.vs/shabe_genesaddons/FileContentIndex/2c45ef92-4edd-410c-ba31-f545c712aa6b.vsidx create mode 100644 RJW-Genes-Addons/Source/shabe_genesaddons/.vs/shabe_genesaddons/FileContentIndex/51610b99-6e06-47da-95ce-e5979da6af57.vsidx create mode 100644 RJW-Genes-Addons/Source/shabe_genesaddons/PatchPawnExtensions.cs create mode 100644 RJW-Genes-Addons/Source/shabe_genesaddons/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs diff --git a/RJW-Genes-Addons/Common/Defs/GeneDefs/GeneDefs_RJW.xml b/RJW-Genes-Addons/Common/Defs/GeneDefs/GeneDefs_RJW.xml index a13868a..dc6aa7f 100644 --- a/RJW-Genes-Addons/Common/Defs/GeneDefs/GeneDefs_RJW.xml +++ b/RJW-Genes-Addons/Common/Defs/GeneDefs/GeneDefs_RJW.xml @@ -18,4 +18,13 @@ 52 Reproduction + + + rjw_genes_insectbreeder + + Pawns with this gene are able to fertilize eggs with any fertile penis. + World/WorldObjects/Expanding/Mechanoids + 53 + Reproduction + \ No newline at end of file diff --git a/RJW-Genes-Addons/Source/shabe_genesaddons/.vs/shabe_genesaddons/FileContentIndex/2c45ef92-4edd-410c-ba31-f545c712aa6b.vsidx b/RJW-Genes-Addons/Source/shabe_genesaddons/.vs/shabe_genesaddons/FileContentIndex/2c45ef92-4edd-410c-ba31-f545c712aa6b.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..e8d1451cf80bb4fc2dd5d2795e9b9b17bdbfcd36 GIT binary patch literal 20039 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 YUFa(IS=wV@_g=lq68t3WT+nO(4Iipb9smFU literal 0 HcmV?d00001 diff --git a/RJW-Genes-Addons/Source/shabe_genesaddons/GeneDefOf.cs b/RJW-Genes-Addons/Source/shabe_genesaddons/GeneDefOf.cs index 8e1160c..4738953 100644 --- a/RJW-Genes-Addons/Source/shabe_genesaddons/GeneDefOf.cs +++ b/RJW-Genes-Addons/Source/shabe_genesaddons/GeneDefOf.cs @@ -13,5 +13,6 @@ namespace shabe_genesaddons { public static readonly GeneDef rjw_genes_mechbreeder; public static readonly GeneDef rjw_genes_insectincubator; + public static readonly GeneDef rjw_genes_insectbreeder; } } diff --git a/RJW-Genes-Addons/Source/shabe_genesaddons/GeneUtility.cs b/RJW-Genes-Addons/Source/shabe_genesaddons/GeneUtility.cs index 1f31d15..1b3ee03 100644 --- a/RJW-Genes-Addons/Source/shabe_genesaddons/GeneUtility.cs +++ b/RJW-Genes-Addons/Source/shabe_genesaddons/GeneUtility.cs @@ -27,6 +27,15 @@ namespace shabe_genesaddons return pawn.genes.HasGene(GeneDefOf.rjw_genes_insectincubator); } + public static bool isInsectBreeder(Pawn pawn) + { + if (pawn.genes == null) + { + return false; + } + return pawn.genes.HasGene(GeneDefOf.rjw_genes_insectbreeder); + } + public static float MaxEggSizeMul(Pawn pawn) { float MaxEggSize = 1; diff --git a/RJW-Genes-Addons/Source/shabe_genesaddons/PatchPawnExtensions.cs b/RJW-Genes-Addons/Source/shabe_genesaddons/PatchPawnExtensions.cs new file mode 100644 index 0000000..da43f55 --- /dev/null +++ b/RJW-Genes-Addons/Source/shabe_genesaddons/PatchPawnExtensions.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using HarmonyLib; +using rjw; +using Verse; +using RimWorld; +namespace shabe_genesaddons +{ + [HarmonyPatch(typeof(PawnExtensions), "RaceImplantEggs")] + public static class PatchPawnExtensions + { + [HarmonyPostfix] + public static void Postfix(Pawn pawn, ref bool __result) + { + if (!__result) + { + __result = GeneUtility.isInsectBreeder(pawn); + } + } + } +} diff --git a/RJW-Genes-Addons/Source/shabe_genesaddons/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/RJW-Genes-Addons/Source/shabe_genesaddons/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..3871b18 --- /dev/null +++ b/RJW-Genes-Addons/Source/shabe_genesaddons/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/RJW-Genes-Addons/Source/shabe_genesaddons/shabe_genesaddons.csproj b/RJW-Genes-Addons/Source/shabe_genesaddons/shabe_genesaddons.csproj index 86af60a..f16785c 100644 --- a/RJW-Genes-Addons/Source/shabe_genesaddons/shabe_genesaddons.csproj +++ b/RJW-Genes-Addons/Source/shabe_genesaddons/shabe_genesaddons.csproj @@ -60,6 +60,7 @@ +