Update for RJW 4.9.0 - uses interaction tag reverse to determine pawn givers and receivers

This commit is contained in:
c0ffee 2021-11-24 19:40:27 -08:00
parent 82d81ea0be
commit a6ab396333
6 changed files with 33 additions and 8 deletions

Binary file not shown.

View file

@ -32,7 +32,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="0Harmony"> <Reference Include="0Harmony">
<HintPath>D:\잉어\Lib\Harmony.2.0.4.0\net472\0Harmony.dll</HintPath> <HintPath>..\..\..\..\..\..\workshop\content\294100\1127530465\1.3\Assemblies\0Harmony.dll</HintPath>
<Private>False</Private> <Private>False</Private>
</Reference> </Reference>
<Reference Include="Assembly-CSharp"> <Reference Include="Assembly-CSharp">
@ -40,7 +40,7 @@
<Private>False</Private> <Private>False</Private>
</Reference> </Reference>
<Reference Include="RJW"> <Reference Include="RJW">
<HintPath>..\..\..\RJW\1.3\Assemblies\RJW.dll</HintPath> <HintPath>..\..\..\rjw\1.3\Assemblies\RJW.dll</HintPath>
<Private>False</Private> <Private>False</Private>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />

View file

@ -32,7 +32,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="0Harmony"> <Reference Include="0Harmony">
<HintPath>D:\잉어\Lib\Harmony.2.0.4.0\net472\0Harmony.dll</HintPath> <HintPath>..\..\..\..\..\..\workshop\content\294100\1127530465\1.3\Assemblies\0Harmony.dll</HintPath>
<Private>False</Private> <Private>False</Private>
</Reference> </Reference>
<Reference Include="Assembly-CSharp"> <Reference Include="Assembly-CSharp">
@ -40,7 +40,7 @@
<Private>False</Private> <Private>False</Private>
</Reference> </Reference>
<Reference Include="RJW"> <Reference Include="RJW">
<HintPath>..\..\..\RJW\1.3\Assemblies\RJW.dll</HintPath> <HintPath>..\..\..\rjw\1.3\Assemblies\RJW.dll</HintPath>
<Private>False</Private> <Private>False</Private>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />

View file

@ -8,6 +8,9 @@ using RimWorld;
using Verse; using Verse;
using Verse.AI; using Verse.AI;
using UnityEngine; using UnityEngine;
using rjw.Modules.Interactions.Objects;
using rjw.Modules.Interactions.Helpers;
using rjw.Modules.Interactions.Enums;
namespace RJWSexperience namespace RJWSexperience
{ {
@ -102,13 +105,33 @@ namespace RJWSexperience
} }
} }
/*
* Uses RJW 4.9.0's new interactiondefs to determine giver and receiver based on reverse interactiontag
*/
public static void DetermineGiversAndReceivers(SexProps props, out Pawn giver, out Pawn receiver)
{
InteractionWithExtension interaction = InteractionHelper.GetWithExtension(props.dictionaryKey);
if (interaction.HasInteractionTag(InteractionTag.Reverse))
{
receiver = props.partner;
giver = props.pawn;
}
else
{
receiver = props.pawn;
giver = props.partner;
}
}
public static void UpdateSextypeRecords(SexProps props) public static void UpdateSextypeRecords(SexProps props)
{ {
xxx.rjwSextype sextype = props.sexType; xxx.rjwSextype sextype = props.sexType;
Pawn pawn = props.pawn; Pawn pawn = props.pawn;
Pawn partner = props.partner; Pawn partner = props.partner;
Pawn receiver = props.reciever;
Pawn giver = props.giver; DetermineGiversAndReceivers(props, out Pawn giver, out Pawn receiver);
if (partner != null) if (partner != null)
{ {

View file

@ -758,11 +758,13 @@ namespace RJWSexperience
totalsexhad++; totalsexhad++;
if (props.isRape) if (props.isRape)
{ {
if (partner == props.giver) RJWUtility.DetermineGiversAndReceivers(props, out Pawn giver, out Pawn receiver);
if (partner == giver)
{ {
rapedme++; rapedme++;
} }
else if (partner == props.reciever) else if (partner == receiver)
{ {
raped++; raped++;
} }