mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
highmates patch
This commit is contained in:
parent
72b3c10c56
commit
9ae622bb7f
6 changed files with 103 additions and 3 deletions
Binary file not shown.
|
@ -40,4 +40,43 @@
|
||||||
</li>
|
</li>
|
||||||
</comps>
|
</comps>
|
||||||
</AbilityDef>
|
</AbilityDef>
|
||||||
|
|
||||||
|
<AbilityDef>
|
||||||
|
<defName>rjw_genes_ability_InitiateLovin</defName>
|
||||||
|
<label>initiate lovin</label>
|
||||||
|
<description>Seduce the target to approach the caster.</description>
|
||||||
|
<iconPath>Genes/Icons/seduce</iconPath>
|
||||||
|
<writeCombatLog>True</writeCombatLog>
|
||||||
|
<stunTargetWhileCasting>true</stunTargetWhileCasting>
|
||||||
|
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
|
||||||
|
<cooldownTicksRange>30000</cooldownTicksRange>
|
||||||
|
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
|
||||||
|
<statBases>
|
||||||
|
<Ability_Duration>10</Ability_Duration>
|
||||||
|
</statBases>
|
||||||
|
<warmupMote>Mote_CoagulateStencil</warmupMote>
|
||||||
|
<warmupEffecter>Coagulate</warmupEffecter>
|
||||||
|
<warmupStartSound>Coagulate_Cast</warmupStartSound>
|
||||||
|
<verbProperties>
|
||||||
|
<verbClass>Verb_CastAbility</verbClass>
|
||||||
|
<range>10</range>
|
||||||
|
<warmupTime>1</warmupTime>
|
||||||
|
<targetParams>
|
||||||
|
<canTargetAnimals>false</canTargetAnimals>
|
||||||
|
<canTargetSelf>false</canTargetSelf>
|
||||||
|
<canTargetBuildings>false</canTargetBuildings>
|
||||||
|
<canTargetMechs>false</canTargetMechs>
|
||||||
|
<canTargetBloodfeeders>true</canTargetBloodfeeders>
|
||||||
|
</targetParams>
|
||||||
|
</verbProperties>
|
||||||
|
<comps>
|
||||||
|
<li Class = "RJW_Genes.CompProperties_Seduce">
|
||||||
|
<compClass>RJW_Genes.CompAbilityEffect_Seduce</compClass>
|
||||||
|
<destination>Caster</destination>
|
||||||
|
</li>
|
||||||
|
<li Class="CompProperties_AbilityFleckOnTarget">
|
||||||
|
<fleckDef>Heart</fleckDef>
|
||||||
|
</li>
|
||||||
|
</comps>
|
||||||
|
</AbilityDef>
|
||||||
</Defs>
|
</Defs>
|
29
Common/Patches/Genes/Patch_Highmates.xml
Normal file
29
Common/Patches/Genes/Patch_Highmates.xml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<Patch>
|
||||||
|
<Operation Class="PatchOperationFindMod">
|
||||||
|
<mods>
|
||||||
|
<li>Vanilla Races Expanded - Highmate</li>
|
||||||
|
</mods>
|
||||||
|
<match Class="PatchOperationSequence">
|
||||||
|
<operations>
|
||||||
|
<li Class="PatchOperationReplace">
|
||||||
|
<xpath>/Defs/GeneDef[defName="VRE_Libido_VeryHigh"]/abilities</xpath>
|
||||||
|
<value>
|
||||||
|
<abilities>
|
||||||
|
<li>rjw_genes_ability_InitiateLovin</li>
|
||||||
|
</abilities>
|
||||||
|
</value>
|
||||||
|
</li>
|
||||||
|
<li Class="PatchOperationReplace">
|
||||||
|
<xpath>/Defs/GeneDef[defName="VRE_Libido_VeryHigh"]/descriptionHyperlinks</xpath>
|
||||||
|
<value>
|
||||||
|
<descriptionHyperlinks>
|
||||||
|
<AbilityDef>rjw_genes_ability_InitiateLovin</AbilityDef>
|
||||||
|
</descriptionHyperlinks>
|
||||||
|
</value>
|
||||||
|
</li>
|
||||||
|
</operations>
|
||||||
|
</match>
|
||||||
|
</Operation>
|
||||||
|
</Patch>
|
||||||
|
|
|
@ -20,6 +20,7 @@ namespace RJW_BGS
|
||||||
[HarmonyPatch("impregnate")]
|
[HarmonyPatch("impregnate")]
|
||||||
private static void ImpregnatePostfix(ref SexProps props)
|
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) + ":");
|
if (RJWSettings.DevMode) rjw.ModLog.Message("Rimjobworld::impregnate(" + props.sexType + "):: " + xxx.get_pawnname(props.pawn) + " + " + xxx.get_pawnname(props.partner) + ":");
|
||||||
|
|
||||||
//"mech" pregnancy
|
//"mech" pregnancy
|
||||||
|
@ -33,7 +34,10 @@ namespace RJW_BGS
|
||||||
List<Hediff> pawnparts = giver.GetGenitalsList();
|
List<Hediff> pawnparts = giver.GetGenitalsList();
|
||||||
List<Hediff> partnerparts = receiver.GetGenitalsList();
|
List<Hediff> partnerparts = receiver.GetGenitalsList();
|
||||||
var interaction = rjw.Modules.Interactions.Helpers.InteractionHelper.GetWithExtension(props.dictionaryKey);
|
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)))
|
if (!(props.sexType == xxx.rjwSextype.Anal && receiver.genes.HasActiveGene(RJW_Genes.GeneDefOf.rjw_genes_fertile_anus)))
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -119,6 +119,7 @@ namespace RJW_Genes
|
||||||
[MayRequire("resplice.xotr.charmweavers")] public static GeneDef RS_LoveFeed = DefDatabase<GeneDef>.GetNamed("RS_LoveFeed", false);
|
[MayRequire("resplice.xotr.charmweavers")] public static GeneDef RS_LoveFeed = DefDatabase<GeneDef>.GetNamed("RS_LoveFeed", false);
|
||||||
[MayRequire("resplice.xotr.charmweavers")] public static GeneDef RS_MultiPregnancy = DefDatabase<GeneDef>.GetNamed("RS_MultiPregnancy", false);
|
[MayRequire("resplice.xotr.charmweavers")] public static GeneDef RS_MultiPregnancy = DefDatabase<GeneDef>.GetNamed("RS_MultiPregnancy", false);
|
||||||
[MayRequire("redmattis.bigsmall.core")] public static GeneDef VU_VampireLover = DefDatabase<GeneDef>.GetNamed("VU_VampireLover", false);
|
[MayRequire("redmattis.bigsmall.core")] public static GeneDef VU_VampireLover = DefDatabase<GeneDef>.GetNamed("VU_VampireLover", false);
|
||||||
|
[MayRequire("vanillaracesexpanded.highmate")] public static GeneDef VRE_LovinDependency = DefDatabase<GeneDef>.GetNamed("VRE_LovinDependency", false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,8 @@ namespace RJWLoveFeeding
|
||||||
//[HarmonyPostfix]
|
//[HarmonyPostfix]
|
||||||
static Def LoveFeed = DefDatabase<GeneDef>.GetNamed("RS_LoveFeed", false);
|
static Def LoveFeed = DefDatabase<GeneDef>.GetNamed("RS_LoveFeed", false);
|
||||||
static Def VampireLover = DefDatabase<GeneDef>.GetNamed("VU_VampireLover", false);
|
static Def VampireLover = DefDatabase<GeneDef>.GetNamed("VU_VampireLover", false);
|
||||||
|
static Def LovinDependency = DefDatabase<GeneDef>.GetNamed("VRE_LovinDependency", false);
|
||||||
|
static NeedDef VRE_Lovin = DefDatabase<NeedDef>.GetNamed("VRE_Lovin", false);
|
||||||
public static void Postfix(SexProps props)
|
public static void Postfix(SexProps props)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -32,7 +34,10 @@ namespace RJWLoveFeeding
|
||||||
//ModLog.Message($" Patch Worked");
|
//ModLog.Message($" Patch Worked");
|
||||||
if(!props.pawn.IsCaravanMember() && !props.partner.IsCaravanMember())
|
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);
|
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)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue