diff --git a/RJWSexperience/IdeologyAddon/Ideology/Patches/RJW_Patch_Ideo.cs b/RJWSexperience/IdeologyAddon/Ideology/Patches/RJW_Patch_Ideo.cs index 52a7970..62d33c3 100644 --- a/RJWSexperience/IdeologyAddon/Ideology/Patches/RJW_Patch_Ideo.cs +++ b/RJWSexperience/IdeologyAddon/Ideology/Patches/RJW_Patch_Ideo.cs @@ -59,9 +59,9 @@ namespace RJWSexperience.Ideology.Patches if (props.hasPartner()) { if (xxx.is_human(props.pawn)) - AfterSexHuman(props.pawn, props.partner, props.isRape); + AfterSexHuman(props.pawn, props.partner); else if (xxx.is_human(props.partner)) - AfterSexHuman(props.partner, props.pawn, false); + AfterSexHuman(props.partner, props.pawn); if (xxx.is_human(props.partner) && props.isRape) { @@ -90,7 +90,7 @@ namespace RJWSexperience.Ideology.Patches } } - public static void AfterSexHuman(Pawn human, Pawn partner, bool rape) + public static void AfterSexHuman(Pawn human, Pawn partner) { RsiHistoryEventDefOf.RSI_NonIncestuosSex.RecordEventWithPartner(human, partner); RsiHistoryEventDefOf.RSI_NonIncestuosSex.RecordEventWithPartner(partner, human); @@ -99,11 +99,6 @@ namespace RJWSexperience.Ideology.Patches { RsiHistoryEventDefOf.RSI_SexWithAnimal.RecordEventWithPartner(human, partner); } - else if (xxx.is_human(partner) && rape) - { - RsiHistoryEventDefOf.RSI_Raped.RecordEventWithPartner(human, partner); - RsiHistoryEventDefOf.RSI_WasRaped.RecordEventWithPartner(partner, human); - } } public static void RapeEffectSlave(Pawn victim) diff --git a/RJWSexperience/IdeologyAddon/Ideology/RsiHistoryEventDefOf.cs b/RJWSexperience/IdeologyAddon/Ideology/RsiHistoryEventDefOf.cs index 05f6e53..beb7905 100644 --- a/RJWSexperience/IdeologyAddon/Ideology/RsiHistoryEventDefOf.cs +++ b/RJWSexperience/IdeologyAddon/Ideology/RsiHistoryEventDefOf.cs @@ -1,15 +1,12 @@ using RimWorld; -using Verse; namespace RJWSexperience.Ideology { - [DefOf] public static class RsiHistoryEventDefOf { [MayRequireIdeology] public static readonly HistoryEventDef RSI_SexWithAnimal; [MayRequireIdeology] public static readonly HistoryEventDef RSI_Raped; - [MayRequireIdeology] public static readonly HistoryEventDef RSI_WasRaped; [MayRequireIdeology] public static readonly HistoryEventDef RSI_NonIncestuosMarriage; [MayRequireIdeology] public static readonly HistoryEventDef RSI_NonIncestuosSex; [MayRequireIdeology] public static readonly HistoryEventDef RSI_SexWithCorpse; diff --git a/RJWSexperience/IdeologyAddon/Ideology/TwoPawnFilter.cs b/RJWSexperience/IdeologyAddon/Ideology/TwoPawnFilter.cs index 438254e..7c49f92 100644 --- a/RJWSexperience/IdeologyAddon/Ideology/TwoPawnFilter.cs +++ b/RJWSexperience/IdeologyAddon/Ideology/TwoPawnFilter.cs @@ -18,7 +18,7 @@ namespace RJWSexperience.Ideology if (doer?.Applies(pawn) == false) return false; - if (this.partner?.Applies(pawn) == false) + if (this.partner?.Applies(partner) == false) return false; if (relations?.Applies(pawn, partner) == false) diff --git a/RJWSexperience_Ideology/Patches/InteractionDef/Rape.xml b/RJWSexperience_Ideology/Patches/InteractionDef/Rape.xml new file mode 100644 index 0000000..34bc418 --- /dev/null +++ b/RJWSexperience_Ideology/Patches/InteractionDef/Rape.xml @@ -0,0 +1,83 @@ + + + + + /Defs/InteractionDef[defName="Rape_Vaginal"] + +
  • + +
  • RSI_VaginalSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Anal" or defName="Rape_Rimming"] + +
  • + +
  • RSI_AnalSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Beakjob" or defName="Rape_Cunnilingus" or defName="Rape_Fellatio" or defName="Rape_Oral"] + +
  • + +
  • RSI_OralSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Breastjob" or defName="Rape_Fingering" or defName="Rape_Footjob" or defName="Rape_Handjob"] + +
  • + +
  • RSI_MiscSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_DoublePenetration" or defName="Rape_DoublePenetrationM" or defName="Rape_Fisting" or defName="Rape_Scissoring"] + +
  • + +
  • RSI_PromiscuousSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    +
    \ No newline at end of file diff --git a/RJWSexperience_Ideology/Patches/InteractionDef/Rape_Reverse.xml b/RJWSexperience_Ideology/Patches/InteractionDef/Rape_Reverse.xml new file mode 100644 index 0000000..2f3a047 --- /dev/null +++ b/RJWSexperience_Ideology/Patches/InteractionDef/Rape_Reverse.xml @@ -0,0 +1,83 @@ + + + + + /Defs/InteractionDef[defName="Rape_Reverse_Vaginal"] + +
  • + +
  • RSI_VaginalSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Reverse_Anal" or defName="Rape_Reverse_Rimming"] + +
  • + +
  • RSI_AnalSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Reverse_Beakjob" or defName="Rape_Reverse_Cunnilingus" or defName="Rape_Reverse_Fellatio"] + +
  • + +
  • RSI_OralSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Reverse_Breastjob" or defName="Rape_Reverse_Fingering" or defName="Rape_Reverse_Footjob" or defName="Rape_Reverse_Handjob"] + +
  • + +
  • RSI_MiscSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Reverse_DoublePenetration" or defName="Rape_Reverse_DoublePenetrationM" or defName="Rape_Reverse_Fisting" or defName="Rape_Reverse_Scissoring"] + +
  • + +
  • RSI_PromiscuousSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    +
    \ No newline at end of file