mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
Compare commits
No commits in common. "9ca57bdfa87572aa1c67497c0cfabf9ae5cc681f" and "b6147dfb826d17c692e8c09466fef25c3f38dac6" have entirely different histories.
9ca57bdfa8
...
b6147dfb82
12 changed files with 52 additions and 262 deletions
49
CHANGELOG.md
49
CHANGELOG.md
|
@ -1,4 +1,4 @@
|
||||||
# 2.2.0 (dd-mm-2024)
|
# 2.2.0
|
||||||
|
|
||||||
**Genetic Diseases**
|
**Genetic Diseases**
|
||||||
|
|
||||||
|
@ -12,7 +12,6 @@ Infections can be
|
||||||
- Chances are adjustable per XML per Gene
|
- Chances are adjustable per XML per Gene
|
||||||
|
|
||||||
By turning their spread off, you effectively have a set of normal negative genes.
|
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???*
|
*Why???*
|
||||||
|
|
||||||
|
@ -20,26 +19,20 @@ Most of the genes so far were positive or neutral,
|
||||||
so I got some fair requests to introduce negative genes to keep xenotypes balanced.
|
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?
|
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)
|
- 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
|
- Disease Gene: Vulnerability. Pawn is likelier to be raped
|
||||||
- Disease Gene: Infectious Hypersexuality
|
- Disease Gene: Infectious Hypersexuality
|
||||||
- Disease Gene: Infectious Homosexuality & Bisexuality
|
- 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:**
|
**Internal**
|
||||||
|
|
||||||
- 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`
|
- 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.
|
- 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)
|
# 2.1.0
|
||||||
|
|
||||||
**Additions**:
|
**Additions**:
|
||||||
|
|
||||||
|
@ -86,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 Kira-Bad-Artist
|
||||||
- Some new Icons thanks to Archer
|
- Some new Icons thanks to Archer
|
||||||
|
|
||||||
# 2.0.0 (30-05-2024)
|
# 2.0.0
|
||||||
|
|
||||||
**Summary**:
|
**Summary**:
|
||||||
|
|
||||||
|
@ -133,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.
|
- Patches to RJW-Pregnancy Helper to account for Male Pregs.
|
||||||
- Some replacements from `hasGene` to `hasActiveGene`
|
- Some replacements from `hasGene` to `hasActiveGene`
|
||||||
|
|
||||||
# 1.3.3 (02-11-2023)
|
# 1.3.3
|
||||||
|
|
||||||
**Fixes:**
|
**Fixes:**
|
||||||
|
|
||||||
- Added another check to the AG Malachai Xenotype (Fixes #68)
|
- 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))
|
- Fixed the `GatheredCum`Fertilin Ingestion Patch throwing an Error for people without Sexperience (Fixes #69 (nice))
|
||||||
|
|
||||||
# 1.3.2 (24-10-2023)
|
# 1.3.2
|
||||||
|
|
||||||
**Fixes:**
|
**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)
|
- 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 (22-10-2023)
|
# 1.3.1
|
||||||
|
|
||||||
**Changes**
|
**Changes**
|
||||||
|
|
||||||
|
@ -185,7 +178,7 @@ The pawns that are gender fluid can get pregnant.
|
||||||
However, with RJW 5.3.7 these pregnancies disappear.
|
However, with RJW 5.3.7 these pregnancies disappear.
|
||||||
This is a change needed upstream, but I will have a look.
|
This is a change needed upstream, but I will have a look.
|
||||||
|
|
||||||
# 1.2.1 (18-06-2023)
|
# 1.2.1
|
||||||
|
|
||||||
**Fixes**:
|
**Fixes**:
|
||||||
|
|
||||||
|
@ -265,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
|
- Mostly Patches and Changes to the Halamyr Defs
|
||||||
- Some re-arranging and mayRequires for other mods
|
- Some re-arranging and mayRequires for other mods
|
||||||
|
|
||||||
# 1.1.4 (06-04-2023)
|
# 1.1.4
|
||||||
|
|
||||||
**Fixes:**
|
Fixes:
|
||||||
|
|
||||||
- Youth Fountain and Age Drainer **really** "stop" at 18 (#26, #28) and never age pawns
|
- 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`
|
- Drastically reduced vomiting time due to an missunderstanding (#29). `0.4` instead of `0.01`
|
||||||
|
@ -275,37 +268,37 @@ And I am aware that the TiTs-Myr work different than the things I made now.
|
||||||
Sometimes life is like that, and you have to fix the fixes.
|
Sometimes life is like that, and you have to fix the fixes.
|
||||||
It was never really broken, life is just very long.
|
It was never really broken, life is just very long.
|
||||||
|
|
||||||
# 1.1.3 (28-03-2023)
|
# 1.1.3
|
||||||
|
|
||||||
**Changes:**
|
Changes:
|
||||||
|
|
||||||
- Youth Fountain and Age Drainer "stop" at 18 (#26)
|
- Youth Fountain and Age Drainer "stop" at 18 (#26)
|
||||||
- Youth Fountain and Age Drainer activate only for pawns 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)
|
- 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)
|
- InsectBreeder would mess with normal Pawn-Animal pregancy for egg laying animals (#23)
|
||||||
|
|
||||||
# 1.1.2 (19-03-2023)
|
# 1.1.2
|
||||||
|
|
||||||
**Changes:**
|
Changes:
|
||||||
|
|
||||||
- Added more cool images from WasMachenDennSachen (#22)
|
- Added more cool images from WasMachenDennSachen (#22)
|
||||||
|
|
||||||
**Fixes:**
|
Fixes:
|
||||||
|
|
||||||
- Aphrodisiac Pheromones checks for children and other conditions (#25)
|
- Aphrodisiac Pheromones checks for children and other conditions (#25)
|
||||||
|
|
||||||
# 1.1.1 (10-03-2023)
|
# 1.1.1
|
||||||
|
|
||||||
**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)
|
- 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
|
- No-Breast Genes add Nipples
|
||||||
- Featureless Chest Gene (No Nipples at all, adds the RJW Featureless Chest as requested per some Kobold fetishists)
|
- 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
|
- Small and Big Male Genitalia had images wrong way round
|
||||||
- Fertilin should activate at a MinAge of 18
|
- Fertilin should activate at a MinAge of 18
|
||||||
|
|
|
@ -186,20 +186,4 @@
|
||||||
</modExtensions>
|
</modExtensions>
|
||||||
</GeneDef>
|
</GeneDef>
|
||||||
|
|
||||||
|
|
||||||
<GeneDef ParentName="RJWGeneDisease">
|
|
||||||
<defName>rjw_genes_size_blinded</defName>
|
|
||||||
<label>size blinded</label>
|
|
||||||
<description>This genetic disease makes the carrier dramatically more drawn to pawns with huge cocks.</description>
|
|
||||||
<iconPath>UI/Icons/ColonistBar/Idle</iconPath>
|
|
||||||
<biostatCpx>1</biostatCpx>
|
|
||||||
<biostatMet>1</biostatMet>
|
|
||||||
<displayOrderInCategory>11</displayOrderInCategory>
|
|
||||||
<modExtensions>
|
|
||||||
<li Class="RJW_Genes.GeneticDiseaseExtension">
|
|
||||||
<infectionChance>0.1</infectionChance>
|
|
||||||
</li>
|
|
||||||
</modExtensions>
|
|
||||||
</GeneDef>
|
|
||||||
|
|
||||||
</Defs>
|
</Defs>
|
|
@ -1,27 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
|
|
||||||
<Defs>
|
|
||||||
|
|
||||||
<ThoughtDef>
|
|
||||||
<defName>rjw_genes_appealing_cock</defName>
|
|
||||||
<thoughtClass>Thought_SituationalSocial</thoughtClass>
|
|
||||||
<workerClass>RJW_Genes.ThoughtWorker_SizeBlinded_Social</workerClass>
|
|
||||||
<validWhileDespawned>true</validWhileDespawned>
|
|
||||||
|
|
||||||
<stages>
|
|
||||||
<li>
|
|
||||||
<label>small cock</label>
|
|
||||||
<baseOpinionOffset>-10</baseOpinionOffset>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<label>big cock</label>
|
|
||||||
<baseOpinionOffset>10</baseOpinionOffset>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<label>monster cock</label>
|
|
||||||
<baseOpinionOffset>20</baseOpinionOffset>
|
|
||||||
</li>
|
|
||||||
</stages>
|
|
||||||
</ThoughtDef>
|
|
||||||
|
|
||||||
</Defs>
|
|
|
@ -126,7 +126,6 @@ namespace RJW_Genes
|
||||||
public static readonly GeneDef rjw_genes_minor_vulnerability;
|
public static readonly GeneDef rjw_genes_minor_vulnerability;
|
||||||
public static readonly GeneDef rjw_genes_major_vulnerability;
|
public static readonly GeneDef rjw_genes_major_vulnerability;
|
||||||
public static readonly GeneDef rjw_genes_fluctual_sexual_needs;
|
public static readonly GeneDef rjw_genes_fluctual_sexual_needs;
|
||||||
public static readonly GeneDef rjw_genes_size_blinded;
|
|
||||||
|
|
||||||
//Other Defs
|
//Other Defs
|
||||||
public static readonly XenotypeDef rjw_genes_succubus;
|
public static readonly XenotypeDef rjw_genes_succubus;
|
||||||
|
|
|
@ -43,11 +43,6 @@ namespace RJW_Genes.Genes.Diseases.Patches
|
||||||
ModLog.Debug($"{infected} is immune to genetic diseases");
|
ModLog.Debug($"{infected} is immune to genetic diseases");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (infected.Dead)
|
|
||||||
{
|
|
||||||
// Dead people can spread, but not receive, diseases.
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (GeneDef disease in GetGeneticDiseaseGenes(infector)) {
|
foreach (GeneDef disease in GetGeneticDiseaseGenes(infector)) {
|
||||||
ModLog.Debug($"Found genetic disease {disease} in {infector}, trying to infect {infected}");
|
ModLog.Debug($"Found genetic disease {disease} in {infector}, trying to infect {infected}");
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
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
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 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.
|
|
||||||
/// </summary>
|
|
||||||
[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}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,70 +0,0 @@
|
||||||
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;
|
|
||||||
if (!other.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);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -73,48 +73,5 @@ namespace RJW_Genes
|
||||||
{
|
{
|
||||||
return candidate.def.defName.ToLower().Contains("breast");
|
return candidate.def.defName.ToLower().Contains("breast");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 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.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="pawn"></param>
|
|
||||||
/// <returns>The biggest penis of a pawn. Null on women or error.</returns>
|
|
||||||
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<rjw.CompHediffBodyPart>();
|
|
||||||
var bestSize = part.TryGetComp<rjw.CompHediffBodyPart>();
|
|
||||||
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<rjw.CompHediffBodyPart>() == null)
|
|
||||||
return 0.0f;
|
|
||||||
else
|
|
||||||
return part.TryGetComp<rjw.CompHediffBodyPart>().SizeOwner;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,20 +40,10 @@ namespace RJW_Genes
|
||||||
// If the pawn is not on Map (e.g. caravan), no mali
|
// If the pawn is not on Map (e.g. caravan), no mali
|
||||||
if (!MapUtility.PawnIsOnHomeMap(pawn))
|
if (!MapUtility.PawnIsOnHomeMap(pawn))
|
||||||
return (ThoughtState)false;
|
return (ThoughtState)false;
|
||||||
|
// Do nothing for pawns that also have pheromones
|
||||||
// Do nothing if the pawn does not have the pheromones
|
if (GeneUtility.HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_aphrodisiac_pheromones))
|
||||||
if (!GeneUtility.HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_aphrodisiac_pheromones))
|
|
||||||
return (ThoughtState)false;
|
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:
|
// Actual Logic:
|
||||||
// Pawn qualifies in right distance and needs line of sight.
|
// Pawn qualifies in right distance and needs line of sight.
|
||||||
var pos = other.Position;
|
var pos = other.Position;
|
||||||
|
|
|
@ -78,8 +78,6 @@
|
||||||
<Compile Include="Genes\Diseases\Defs\GeneticDiseaseExtension.cs" />
|
<Compile Include="Genes\Diseases\Defs\GeneticDiseaseExtension.cs" />
|
||||||
<Compile Include="Genes\Diseases\Genes\Gene_FluctualSexualNeed.cs" />
|
<Compile Include="Genes\Diseases\Genes\Gene_FluctualSexualNeed.cs" />
|
||||||
<Compile Include="Genes\Diseases\Patches\Patch_AftersexUtility_TransferGeneticDiseases.cs" />
|
<Compile Include="Genes\Diseases\Patches\Patch_AftersexUtility_TransferGeneticDiseases.cs" />
|
||||||
<Compile Include="Genes\Diseases\Patches\Patch_SecondaryRomanceChanceFactor_Gene_SizeBlinded.cs" />
|
|
||||||
<Compile Include="Genes\Diseases\Thoughts\ThoughtWorker_SizeBlinded_Social.cs" />
|
|
||||||
<Compile Include="Genes\Life_Force\Events\SuccubusVisit\IncidentWorker_SuccubusVisit.cs" />
|
<Compile Include="Genes\Life_Force\Events\SuccubusVisit\IncidentWorker_SuccubusVisit.cs" />
|
||||||
<Compile Include="Genes\Life_Force\Events\SuccubusVisit\LordJob_SuccubusVisit.cs" />
|
<Compile Include="Genes\Life_Force\Events\SuccubusVisit\LordJob_SuccubusVisit.cs" />
|
||||||
<Compile Include="Genes\Life_Force\Interactions\SuccubusTailjob\DomSuccubusTailCustomRequirementHandler.cs" />
|
<Compile Include="Genes\Life_Force\Interactions\SuccubusTailjob\DomSuccubusTailCustomRequirementHandler.cs" />
|
||||||
|
|
|
@ -15,8 +15,6 @@ namespace RJW_Genes
|
||||||
|
|
||||||
public static readonly ThoughtDef rjw_genes_pheromone_carrier_nearby;
|
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
|
//Others with same names but other defs than in genedefof
|
||||||
public static readonly InteractionDef rjw_genes_flirt;
|
public static readonly InteractionDef rjw_genes_flirt;
|
||||||
}
|
}
|
||||||
|
|
29
TODOS.md
Normal file
29
TODOS.md
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# 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
|
Loading…
Add table
Add a link
Reference in a new issue