diff --git a/Common/Assemblies/Rjw-Genes.dll b/Common/Assemblies/Rjw-Genes.dll
index 2485a6c..f3261ce 100644
Binary files a/Common/Assemblies/Rjw-Genes.dll and b/Common/Assemblies/Rjw-Genes.dll differ
diff --git a/Common/Defs/AbilityDefs/Ability_Seduce.xml b/Common/Defs/AbilityDefs/Ability_Seduce.xml
index d4467e6..fab4475 100644
--- a/Common/Defs/AbilityDefs/Ability_Seduce.xml
+++ b/Common/Defs/AbilityDefs/Ability_Seduce.xml
@@ -40,4 +40,43 @@
+
+
+ rjw_genes_ability_InitiateLovin
+
+ Seduce the target to approach the caster.
+ Genes/Icons/seduce
+ True
+ true
+ true
+ 30000
+ false
+
+ 10
+
+ Mote_CoagulateStencil
+ Coagulate
+ Coagulate_Cast
+
+ Verb_CastAbility
+ 10
+ 1
+
+ false
+ false
+ false
+ false
+ true
+
+
+
+
+ RJW_Genes.CompAbilityEffect_Seduce
+ Caster
+
+
+ Heart
+
+
+
\ No newline at end of file
diff --git a/Common/Patches/Genes/Patch_Highmates.xml b/Common/Patches/Genes/Patch_Highmates.xml
new file mode 100644
index 0000000..d239fc0
--- /dev/null
+++ b/Common/Patches/Genes/Patch_Highmates.xml
@@ -0,0 +1,29 @@
+
+
+
+
+ Vanilla Races Expanded - Highmate
+
+
+
+
+ /Defs/GeneDef[defName="VRE_Libido_VeryHigh"]/abilities
+
+
+ rjw_genes_ability_InitiateLovin
+
+
+
+
+ /Defs/GeneDef[defName="VRE_Libido_VeryHigh"]/descriptionHyperlinks
+
+
+ rjw_genes_ability_InitiateLovin
+
+
+
+
+
+
+
+
diff --git a/Source/Common/patches/PatchPregnancyHelper.cs b/Source/Common/patches/PatchPregnancyHelper.cs
index 6bf4230..aadf2c5 100644
--- a/Source/Common/patches/PatchPregnancyHelper.cs
+++ b/Source/Common/patches/PatchPregnancyHelper.cs
@@ -20,6 +20,7 @@ namespace RJW_BGS
[HarmonyPatch("impregnate")]
private static void ImpregnatePostfix(ref SexProps props)
{
+
if (RJWSettings.DevMode) rjw.ModLog.Message("Rimjobworld::impregnate(" + props.sexType + "):: " + xxx.get_pawnname(props.pawn) + " + " + xxx.get_pawnname(props.partner) + ":");
//"mech" pregnancy
@@ -33,7 +34,10 @@ namespace RJW_BGS
List pawnparts = giver.GetGenitalsList();
List partnerparts = receiver.GetGenitalsList();
var interaction = rjw.Modules.Interactions.Helpers.InteractionHelper.GetWithExtension(props.dictionaryKey);
-
+ if (receiver.genes == null)
+ {
+ return;
+ }
if (!(props.sexType == xxx.rjwSextype.Anal && receiver.genes.HasActiveGene(RJW_Genes.GeneDefOf.rjw_genes_fertile_anus)))
return;
diff --git a/Source/GeneDefOf.cs b/Source/GeneDefOf.cs
index 74fce14..4280cd7 100644
--- a/Source/GeneDefOf.cs
+++ b/Source/GeneDefOf.cs
@@ -119,6 +119,7 @@ namespace RJW_Genes
[MayRequire("resplice.xotr.charmweavers")] public static GeneDef RS_LoveFeed = DefDatabase.GetNamed("RS_LoveFeed", false);
[MayRequire("resplice.xotr.charmweavers")] public static GeneDef RS_MultiPregnancy = DefDatabase.GetNamed("RS_MultiPregnancy", false);
[MayRequire("redmattis.bigsmall.core")] public static GeneDef VU_VampireLover = DefDatabase.GetNamed("VU_VampireLover", false);
+ [MayRequire("vanillaracesexpanded.highmate")] public static GeneDef VRE_LovinDependency = DefDatabase.GetNamed("VRE_LovinDependency", false);
diff --git a/Source/Genes/Patches/LustFeeding.cs b/Source/Genes/Patches/LustFeeding.cs
index 389aa63..e227d2a 100644
--- a/Source/Genes/Patches/LustFeeding.cs
+++ b/Source/Genes/Patches/LustFeeding.cs
@@ -13,6 +13,8 @@ namespace RJWLoveFeeding
//[HarmonyPostfix]
static Def LoveFeed = DefDatabase.GetNamed("RS_LoveFeed", false);
static Def VampireLover = DefDatabase.GetNamed("VU_VampireLover", false);
+ static Def LovinDependency = DefDatabase.GetNamed("VRE_LovinDependency", false);
+ static NeedDef VRE_Lovin = DefDatabase.GetNamed("VRE_Lovin", false);
public static void Postfix(SexProps props)
{
try
@@ -32,7 +34,10 @@ namespace RJWLoveFeeding
//ModLog.Message($" Patch Worked");
if(!props.pawn.IsCaravanMember() && !props.partner.IsCaravanMember())
{
- RJWTryTakeBlood(props.pawn, props.partner);
+ FillNeed(props.pawn);
+ FillNeed(props.partner);
+
+ RJWTryTakeBlood(props.pawn, props.partner);
RJWTryTakeBlood(props.partner, props.pawn);
}
@@ -40,8 +45,30 @@ namespace RJWLoveFeeding
}
+ public static void FillNeed(Pawn pawn)
+ {
+ Pawn_GeneTracker genes;
+ if (LovinDependency != null)
+ {
+ genes = pawn.genes;
- public static bool RJWTryTakeBlood(Pawn pawn, Pawn bloodBag)
+ if (genes == null)
+ {
+ return;
+ }
+ if (pawn.genes.HasActiveGene(RJW_Genes.GeneDefOf.VRE_LovinDependency))
+ {
+ if (VRE_Lovin != null)
+ {
+ Pawn_NeedsTracker needs = pawn.needs;
+ ((needs != null) ? needs.TryGetNeed(VRE_Lovin) : null).CurLevel = 1f;
+ }
+ }
+ }
+ }
+
+
+ public static bool RJWTryTakeBlood(Pawn pawn, Pawn bloodBag)
{