From 0d26f1254c99201e8f9df2c7e6131caea8205c4f Mon Sep 17 00:00:00 2001 From: Vegapnk Date: Wed, 3 Jul 2024 12:40:43 +0200 Subject: [PATCH 1/7] Retrieved release dates for Changelog --- CHANGELOG.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bc0df6..7b18307 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# 2.2.0 +# 2.2.0 (dd-mm-2024) **Genetic Diseases** @@ -32,7 +32,7 @@ I know that this is some overlap with the STD mod, but well ... you are free to - GenderFluid-Gene now uses a generalized `TickBasedChanceExtension` over its unique special `GenderFluidExtension` - Introduced a `ModLog.Debug` Function that checks for the settings before printing - trying to spread it over the whole project. -# 2.1.0 +# 2.1.0 (27-06-2024) **Additions**: @@ -79,7 +79,7 @@ I know that this is some overlap with the STD mod, but well ... you are free to - Some new Icons thanks to Kira-Bad-Artist - Some new Icons thanks to Archer -# 2.0.0 +# 2.0.0 (30-05-2024) **Summary**: @@ -126,20 +126,20 @@ I know that this is some overlap with the STD mod, but well ... you are free to - Patches to RJW-Pregnancy Helper to account for Male Pregs. - Some replacements from `hasGene` to `hasActiveGene` -# 1.3.3 +# 1.3.3 (02-11-2023) **Fixes:** - Added another check to the AG Malachai Xenotype (Fixes #68) - Fixed the `GatheredCum`Fertilin Ingestion Patch throwing an Error for people without Sexperience (Fixes #69 (nice)) -# 1.3.2 +# 1.3.2 (24-10-2023) **Fixes:** - Removed patch for Malachai, needs a different patching operator but I don't want to have broken fixes for now (Tracked in a new Issue) -# 1.3.1 +# 1.3.1 (22-10-2023) **Changes** @@ -178,7 +178,7 @@ The pawns that are gender fluid can get pregnant. However, with RJW 5.3.7 these pregnancies disappear. This is a change needed upstream, but I will have a look. -# 1.2.1 +# 1.2.1 (18-06-2023) **Fixes**: @@ -258,9 +258,9 @@ And I am aware that the TiTs-Myr work different than the things I made now. - Mostly Patches and Changes to the Halamyr Defs - Some re-arranging and mayRequires for other mods -# 1.1.4 +# 1.1.4 (06-04-2023) -Fixes: +**Fixes:** - Youth Fountain and Age Drainer **really** "stop" at 18 (#26, #28) and never age pawns - Drastically reduced vomiting time due to an missunderstanding (#29). `0.4` instead of `0.01` @@ -268,37 +268,37 @@ Fixes: Sometimes life is like that, and you have to fix the fixes. It was never really broken, life is just very long. -# 1.1.3 +# 1.1.3 (28-03-2023) -Changes: +**Changes:** - Youth Fountain and Age Drainer "stop" at 18 (#26) - Youth Fountain and Age Drainer activate only for pawns at 18 (#26) - Drained Pawns vomit less (from mtb 0.05 to 0.01)(#29) -Fixes: +**Fixes:** - InsectBreeder would mess with normal Pawn-Animal pregancy for egg laying animals (#23) -# 1.1.2 +# 1.1.2 (19-03-2023) -Changes: +**Changes:** - Added more cool images from WasMachenDennSachen (#22) -Fixes: +**Fixes:** - Aphrodisiac Pheromones checks for children and other conditions (#25) -# 1.1.1 +# 1.1.1 (10-03-2023) -Changes: +**Changes:** - Drastically increased mood-penalty for Fertilin-Loss (if the pawn is still too happy, there will never be a breakdown for missing fertilin) - No-Breast Genes add Nipples - Featureless Chest Gene (No Nipples at all, adds the RJW Featureless Chest as requested per some Kobold fetishists) -Fixes: +**Fixes:** - Small and Big Male Genitalia had images wrong way round - Fertilin should activate at a MinAge of 18 From ef838d1fd31d760057cd2087970c8a123459dcd8 Mon Sep 17 00:00:00 2001 From: Vegapnk Date: Wed, 3 Jul 2024 17:07:42 +0200 Subject: [PATCH 2/7] Spread from dead pawns possible --- CHANGELOG.md | 1 + .../Patches/Patch_AftersexUtility_TransferGeneticDiseases.cs | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b18307..09b506c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ Infections can be - Chances are adjustable per XML per Gene By turning their spread off, you effectively have a set of normal negative genes. +Dead pawns can spread diseases, but cannot receive them. For all you necros out there. *Why???* diff --git a/Source/Genes/Diseases/Patches/Patch_AftersexUtility_TransferGeneticDiseases.cs b/Source/Genes/Diseases/Patches/Patch_AftersexUtility_TransferGeneticDiseases.cs index d7a2e07..6bf8e88 100644 --- a/Source/Genes/Diseases/Patches/Patch_AftersexUtility_TransferGeneticDiseases.cs +++ b/Source/Genes/Diseases/Patches/Patch_AftersexUtility_TransferGeneticDiseases.cs @@ -43,6 +43,11 @@ namespace RJW_Genes.Genes.Diseases.Patches ModLog.Debug($"{infected} is immune to genetic diseases"); return; } + if (infected.Dead) + { + // Dead people can spread, but not receive, diseases. + return; + } foreach (GeneDef disease in GetGeneticDiseaseGenes(infector)) { ModLog.Debug($"Found genetic disease {disease} in {infector}, trying to infect {infected}"); From 2d24466985d3bd60ab329550422da2d07c18215c Mon Sep 17 00:00:00 2001 From: Vegapnk Date: Wed, 3 Jul 2024 19:54:03 +0200 Subject: [PATCH 3/7] Added a Size Blinded Gene that increases hookups for pawns with big dicks --- Common/Defs/GeneDefs/GeneDefs_Diseases.xml | 16 ++++++ Source/GeneDefOf.cs | 1 + ...aryRomanceChanceFactor_Gene_SizeBlinded.cs | 56 +++++++++++++++++++ Source/Genes/Genitalia/GenitaliaUtility.cs | 43 ++++++++++++++ Source/Rjw-Genes.csproj | 1 + 5 files changed, 117 insertions(+) create mode 100644 Source/Genes/Diseases/Patches/Patch_SecondaryRomanceChanceFactor_Gene_SizeBlinded.cs diff --git a/Common/Defs/GeneDefs/GeneDefs_Diseases.xml b/Common/Defs/GeneDefs/GeneDefs_Diseases.xml index e5c8723..ecc3ee8 100644 --- a/Common/Defs/GeneDefs/GeneDefs_Diseases.xml +++ b/Common/Defs/GeneDefs/GeneDefs_Diseases.xml @@ -186,4 +186,20 @@ + + + rjw_genes_size_blinded + + This genetic disease makes the carrier dramatically more drawn to pawns with huge cocks. + UI/Icons/ColonistBar/Idle + 1 + 1 + 11 + +
  • + 0.1 +
  • +
    +
    + \ No newline at end of file diff --git a/Source/GeneDefOf.cs b/Source/GeneDefOf.cs index e4f4aff..2e59f20 100644 --- a/Source/GeneDefOf.cs +++ b/Source/GeneDefOf.cs @@ -126,6 +126,7 @@ namespace RJW_Genes public static readonly GeneDef rjw_genes_minor_vulnerability; public static readonly GeneDef rjw_genes_major_vulnerability; public static readonly GeneDef rjw_genes_fluctual_sexual_needs; + public static readonly GeneDef rjw_genes_size_blinded; //Other Defs public static readonly XenotypeDef rjw_genes_succubus; diff --git a/Source/Genes/Diseases/Patches/Patch_SecondaryRomanceChanceFactor_Gene_SizeBlinded.cs b/Source/Genes/Diseases/Patches/Patch_SecondaryRomanceChanceFactor_Gene_SizeBlinded.cs new file mode 100644 index 0000000..fa36398 --- /dev/null +++ b/Source/Genes/Diseases/Patches/Patch_SecondaryRomanceChanceFactor_Gene_SizeBlinded.cs @@ -0,0 +1,56 @@ +using HarmonyLib; +using RimWorld; +using rjw; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace RJW_Genes +{ + /// + /// This patch helps with the gene `rjw_genes_size_blinded`. + /// Within RJW the CasualSexHelper utilizes the basefunction "pawn.relations.SecondaryRomanceChanceFactor" + /// https://gitgud.io/Ed86/rjw/-/blob/master/1.5/Source/Common/Helpers/CasualSex_Helper.cs + /// + /// We check on hookup for the other pawn if they have a penis. + /// If yes, we modulate the romance chance based on the following: + /// (Severity * BodySize - 0.5) * romance_multiplier + /// So pawns with a cock smaller than 0.5 will be penalized, while pawns with more than 0.5 will be preferred. + /// + [HarmonyPatch(typeof(Pawn_RelationsTracker), "SecondaryRomanceChanceFactor")] + public class Patch_SecondaryRomanceChanceFactor_Gene_SizeBlinded + { + + const float romance_multiplier = 2f; + + public static void Postfix( Pawn ___pawn, Pawn otherPawn, ref float __result) + { + if (otherPawn == null || ___pawn == null || ___pawn.genes == null || otherPawn.genes == null) + { + return; + } + if (___pawn.genes.HasActiveGene(GeneDefOf.rjw_genes_size_blinded) && Genital_Helper.has_penis_fertile(otherPawn) || (Genital_Helper.has_penis_infertile(otherPawn))) + { + Hediff biggest_cock = GenitaliaUtility.GetBiggestPenis(otherPawn); + if (biggest_cock != null) + { + float bodysize = GenitaliaUtility.GetBodySizeOfSexPart(biggest_cock); + // Bodysize can only be a bonus, not a minus. + bodysize = Math.Max(1.0f, bodysize); + + float attraction_bonus = (biggest_cock.Severity * bodysize - 0.5f) * romance_multiplier; + float result_backup = __result; + __result += attraction_bonus; + // Don't make it smaller than 0, to not get issues. + __result = __result < 0 ? 0.0f : __result; + + ModLog.Debug($"Gene_SizeBlind: Modulate Romance-Chance {___pawn}-->{otherPawn} from {result_backup} by {attraction_bonus} to {__result}"); + } + } + } + + } +} diff --git a/Source/Genes/Genitalia/GenitaliaUtility.cs b/Source/Genes/Genitalia/GenitaliaUtility.cs index 6a6ba79..581ba64 100644 --- a/Source/Genes/Genitalia/GenitaliaUtility.cs +++ b/Source/Genes/Genitalia/GenitaliaUtility.cs @@ -73,5 +73,48 @@ namespace RJW_Genes { return candidate.def.defName.ToLower().Contains("breast"); } + + /// + /// Returns the biggest penis of a pawn. + /// In case of a identical severity, the highest body size is returned. + /// For women, or pawns without a penis, null is returned. + /// + /// + /// The biggest penis of a pawn. Null on women or error. + public static Hediff GetBiggestPenis(Pawn pawn) + { + Hediff best = null; + var parts = Genital_Helper.get_AllPartsHediffList(pawn); + + foreach (var part in parts) + { + if (Genital_Helper.is_sex_part(part) && Genital_Helper.is_penis(part)) + { + if (best == null) best = part; + + // On a draw of size, we check the body-size. + if (part.Severity == best.Severity) { + var partSize = part.TryGetComp(); + var bestSize = part.TryGetComp(); + if (partSize == null || bestSize == null) { continue; } + + best = partSize.SizeOwner > bestSize.SizeOwner ? part : best; + } else if (part.Severity > best.Severity) { + best = part; + } + } + } + + return best; + } + + public static float GetBodySizeOfSexPart(Hediff part) + { + if (part == null || part.TryGetComp() == null) + return 0.0f; + else + return part.TryGetComp().SizeOwner; + } } + } diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj index f684926..e467c9a 100644 --- a/Source/Rjw-Genes.csproj +++ b/Source/Rjw-Genes.csproj @@ -78,6 +78,7 @@ + From 096857d4c22cef2853ef5374d1ef4b38083f9471 Mon Sep 17 00:00:00 2001 From: Vegapnk Date: Wed, 3 Jul 2024 20:30:03 +0200 Subject: [PATCH 4/7] Draft for Big-Cock ThoughtWorker --- Common/Defs/ThoughtDefs/Thoughts_Disease.xml | 27 ++++++++ .../ThoughtWorker_SizeBlinded_Social.cs | 68 +++++++++++++++++++ Source/Rjw-Genes.csproj | 1 + Source/ThoughtDefOf.cs | 2 + 4 files changed, 98 insertions(+) create mode 100644 Common/Defs/ThoughtDefs/Thoughts_Disease.xml create mode 100644 Source/Genes/Diseases/Thoughts/ThoughtWorker_SizeBlinded_Social.cs diff --git a/Common/Defs/ThoughtDefs/Thoughts_Disease.xml b/Common/Defs/ThoughtDefs/Thoughts_Disease.xml new file mode 100644 index 0000000..d0721ee --- /dev/null +++ b/Common/Defs/ThoughtDefs/Thoughts_Disease.xml @@ -0,0 +1,27 @@ + + + + + + rjw_genes_appealing_cock + Thought_SituationalSocial + RJW_Genes.ThoughtWorker_SizeBlinded_Social + true + + +
  • + + -10 +
  • +
  • + + 10 +
  • +
  • + + 20 +
  • +
    +
    + +
    diff --git a/Source/Genes/Diseases/Thoughts/ThoughtWorker_SizeBlinded_Social.cs b/Source/Genes/Diseases/Thoughts/ThoughtWorker_SizeBlinded_Social.cs new file mode 100644 index 0000000..4019b0d --- /dev/null +++ b/Source/Genes/Diseases/Thoughts/ThoughtWorker_SizeBlinded_Social.cs @@ -0,0 +1,68 @@ +using RimWorld; +using rjw; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; +using Verse; + +namespace RJW_Genes +{ + public class ThoughtWorker_SizeBlinded_Social : ThoughtWorker + { + protected override ThoughtState CurrentSocialStateInternal(Pawn pawn, Pawn other) + { + // Return for trivial errors + if (pawn == null || other == null || pawn == other) + return (ThoughtState)false; + // Check for position-existance + if (pawn.Position == null || other.Position == null || pawn.Map == null || other.Map == null) + return (ThoughtState)false; + // Do nothing if pawn is carried + if (pawn.CarriedBy != null) + return (ThoughtState)false; + // Do nothing if Pawn is Baby or Child (#25) + if (!pawn.ageTracker.Adult) + return (ThoughtState)false; + // Only check if they are spawned humans + if (!pawn.Spawned || !other.Spawned) + return (ThoughtState)false; + if (!pawn.RaceProps.Humanlike) + return (ThoughtState)false; + if (!other.RaceProps.Humanlike) + return (ThoughtState)false; + + // Pawns that have not "met" wont give each other Mali + // Known-Each-Other is a key-word for Rimworld that shows they have had any interaction and stored each other in relations. + if (!RelationsUtility.PawnsKnowEachOther(pawn, other)) + return (ThoughtState)false; + // If the pawn is not on Map (e.g. caravan), no mali + if (!MapUtility.PawnIsOnHomeMap(pawn)) + return (ThoughtState)false; + + //ModLog.Debug($"ThoughtWorker Checks Size Blinded {pawn} -> {other}"); + + // Do nothing if there is no size-blinded involved + if (!GeneUtility.HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_size_blinded)) + return (ThoughtState)false; + else + ModLog.Debug($"{pawn} has the size blinded gene"); + + // Iff the pawn has a penis, retrieve it's size. + var penis = GenitaliaUtility.GetBiggestPenis(other); + // Do Nothing if the other pawn has no penis + if (penis == null) return (ThoughtState)false; + var bodysize = GenitaliaUtility.GetBodySizeOfSexPart(penis); + + if (penis.Severity + (bodysize) - 1.0 > 1.0) + return ThoughtState.ActiveAtStage(2); + else if (penis.Severity >= 0.8f) + return ThoughtState.ActiveAtStage(1); + else + return ThoughtState.ActiveAtStage(0); + + } + } +} diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj index e467c9a..51b80a1 100644 --- a/Source/Rjw-Genes.csproj +++ b/Source/Rjw-Genes.csproj @@ -79,6 +79,7 @@ + diff --git a/Source/ThoughtDefOf.cs b/Source/ThoughtDefOf.cs index f884d4a..50f2a00 100644 --- a/Source/ThoughtDefOf.cs +++ b/Source/ThoughtDefOf.cs @@ -15,6 +15,8 @@ namespace RJW_Genes public static readonly ThoughtDef rjw_genes_pheromone_carrier_nearby; + public static readonly ThoughtDef rjw_genes_appealing_cock; + //Others with same names but other defs than in genedefof public static readonly InteractionDef rjw_genes_flirt; } From 9e53ecd597a4300ca8d0f952ad0ab3e125fdbd12 Mon Sep 17 00:00:00 2001 From: Vegapnk Date: Wed, 3 Jul 2024 20:41:10 +0200 Subject: [PATCH 5/7] Fixed an Issue with Aphrodisiac Pheromone Social Thoughts always applying (#113) --- CHANGELOG.md | 8 ++++++-- .../ThoughtWorker_Aphrodisiac_Pheromones_Social.cs | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 09b506c..948bf8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,7 @@ Most of the genes so far were positive or neutral, so I got some fair requests to introduce negative genes to keep xenotypes balanced. I know that this is some overlap with the STD mod, but well ... you are free to turn things off? -**Additions** +**Additions:** - Passive Gene: *Genetic Disease Immunity* - cannot get infected by any genetic diseases, and won't be affected by some other genes (see relevant genes) - Disease Gene: Vulnerability. Pawn is likelier to be raped @@ -28,7 +28,11 @@ I know that this is some overlap with the STD mod, but well ... you are free to - Disease Gene: Infectious Homosexuality & Bisexuality - Disease Gene: Fluctual Sexual Need. (Configurable) Chance to reset sex-need to near-zero and gain a bit of rest-need. -**Internal** +**Fixes:** + +- Fixed an Issue where pawns would always get the Pheromone social boost, unless they had the pheromone (#113) + +**Internal:** - GenderFluid-Gene now uses a generalized `TickBasedChanceExtension` over its unique special `GenderFluidExtension` - Introduced a `ModLog.Debug` Function that checks for the settings before printing - trying to spread it over the whole project. diff --git a/Source/Genes/Special/Thoughts/ThoughtWorker_Aphrodisiac_Pheromones_Social.cs b/Source/Genes/Special/Thoughts/ThoughtWorker_Aphrodisiac_Pheromones_Social.cs index b236fc9..6ae9fca 100644 --- a/Source/Genes/Special/Thoughts/ThoughtWorker_Aphrodisiac_Pheromones_Social.cs +++ b/Source/Genes/Special/Thoughts/ThoughtWorker_Aphrodisiac_Pheromones_Social.cs @@ -40,10 +40,20 @@ namespace RJW_Genes // If the pawn is not on Map (e.g. caravan), no mali if (!MapUtility.PawnIsOnHomeMap(pawn)) return (ThoughtState)false; - // Do nothing for pawns that also have pheromones - if (GeneUtility.HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_aphrodisiac_pheromones)) + + // Do nothing if the pawn does not have the pheromones + if (!GeneUtility.HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_aphrodisiac_pheromones)) return (ThoughtState)false; + // Do nothing for others that also have pheromones + if (GeneUtility.HasGeneNullCheck(other, GeneDefOf.rjw_genes_aphrodisiac_pheromones)) + return (ThoughtState)false; + + // Do nothing for pawns that wear Gas-Masks + if (other.apparel != null && other.apparel.AnyApparel) + if (other.apparel.WornApparel.Any(apparel => apparel.def == RimWorld.ThingDefOf.Apparel_GasMask)) + return (ThoughtState)false; + // Actual Logic: // Pawn qualifies in right distance and needs line of sight. var pos = other.Position; From c588939fa7c9cba5ce354b94cc5985d4b651a5d8 Mon Sep 17 00:00:00 2001 From: Vegapnk Date: Wed, 3 Jul 2024 20:45:21 +0200 Subject: [PATCH 6/7] Checked that Penis thoughts are only for adults --- CHANGELOG.md | 4 +++- .../Diseases/Thoughts/ThoughtWorker_SizeBlinded_Social.cs | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 948bf8a..c177c58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,7 +26,8 @@ I know that this is some overlap with the STD mod, but well ... you are free to - Disease Gene: Vulnerability. Pawn is likelier to be raped - Disease Gene: Infectious Hypersexuality - Disease Gene: Infectious Homosexuality & Bisexuality -- Disease Gene: Fluctual Sexual Need. (Configurable) Chance to reset sex-need to near-zero and gain a bit of rest-need. +- Disease Gene: Fluctual Sexual Need. (Configurable) Chance to reset sex-need to near-zero and gain a bit of rest-need. +- Disease Gene: Size Blinded. Pawns have a higher chance for hooking up with pawns with a big cock, lower chance for small cocks. **Fixes:** @@ -36,6 +37,7 @@ I know that this is some overlap with the STD mod, but well ... you are free to - GenderFluid-Gene now uses a generalized `TickBasedChanceExtension` over its unique special `GenderFluidExtension` - Introduced a `ModLog.Debug` Function that checks for the settings before printing - trying to spread it over the whole project. +- Removed TODO File. I have enough to do. # 2.1.0 (27-06-2024) diff --git a/Source/Genes/Diseases/Thoughts/ThoughtWorker_SizeBlinded_Social.cs b/Source/Genes/Diseases/Thoughts/ThoughtWorker_SizeBlinded_Social.cs index 4019b0d..871b276 100644 --- a/Source/Genes/Diseases/Thoughts/ThoughtWorker_SizeBlinded_Social.cs +++ b/Source/Genes/Diseases/Thoughts/ThoughtWorker_SizeBlinded_Social.cs @@ -26,6 +26,8 @@ namespace RJW_Genes // Do nothing if Pawn is Baby or Child (#25) if (!pawn.ageTracker.Adult) return (ThoughtState)false; + if (!other.ageTracker.Adult) + return (ThoughtState)false; // Only check if they are spawned humans if (!pawn.Spawned || !other.Spawned) return (ThoughtState)false; From 9ca57bdfa87572aa1c67497c0cfabf9ae5cc681f Mon Sep 17 00:00:00 2001 From: Vegapnk Date: Wed, 3 Jul 2024 20:45:33 +0200 Subject: [PATCH 7/7] Removed TODOs --- TODOS.md | 29 ----------------------------- 1 file changed, 29 deletions(-) delete mode 100644 TODOS.md diff --git a/TODOS.md b/TODOS.md deleted file mode 100644 index 25f5045..0000000 --- a/TODOS.md +++ /dev/null @@ -1,29 +0,0 @@ -# ToDos and Planned Genes - -Any help is very appreciated, even if it is just pointing me to existing similar projects. - -## Planned / Wanted Genes - -**Adjustable Cock-Size** like e.g. artificial genitalia have - -**Infectious Hypersexuality Gene** (Maybe?) add Hypersexuality Gene through sex with a certain chance. - -**Cum Addiction** add Cum-Addiction from Sexperience, slowly loose conciousness while addiction is not attended. - -**Cum-Drugs** eating cum has an effect similar to Go-Juice (including (separate?) addiction) - -**Death-Rest** until the pawn is cumflated. I would have liked - -**STD Immunity** & maybe a potential to be carrier, but not suffer effects. I just don't play with STDs - -## Genes with Abilities and more Effects - -There were some suggestions on the Discord I saved them somewhere else. I am far away from making that work, but to have them here: - -- Genitalia deal damage as per size (on normal sex-use) - This started in the branch `GenitaliaDamage` but prooves a bit overboarding! -- Genitalia can cause Terror (as ability) -- Cumshot Sniper Abilities. Scale damage with body size and genitalia size, scale distance by cum-amount (relative to the damage - high damage projectiles need more cum per meter). - -## Cleanups: - -- Change Project structure to the 1.3, 1.4 Structure of other mods