From 8d3eeda0bff0786e55c10f6ddc58e953c01e01c1 Mon Sep 17 00:00:00 2001 From: Vegapnk Date: Tue, 17 Jan 2023 09:08:56 +0100 Subject: [PATCH] Seduce only works against pawns without Seduce --- Source/GeneDefOf.cs | 5 +++-- Source/Genes/GeneUtility.cs | 3 +++ .../Abilities/CompAbilityEffect_LifeForceCost.cs | 7 +------ .../Life_Force/Abilities/CompAbilityEffect_Seduce.cs | 8 ++++++++ 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Source/GeneDefOf.cs b/Source/GeneDefOf.cs index 53a9c60..64ddaa1 100644 --- a/Source/GeneDefOf.cs +++ b/Source/GeneDefOf.cs @@ -84,10 +84,11 @@ namespace RJW_Genes public static readonly GeneDef rjw_genes_vaginal_absorber; public static readonly GeneDef rjw_genes_anal_absorber; public static readonly GeneDef rjw_genes_drainer; + public static readonly GeneDef rjw_genes_seduce; + public static readonly GeneDef rjw_genes_paralysingkiss; // Cosmetic public static readonly GeneDef rjw_genes_succubus_tail; public static readonly GeneDef rjw_genes_succubus_wings; - - } + } } diff --git a/Source/Genes/GeneUtility.cs b/Source/Genes/GeneUtility.cs index 0837880..5ee1c09 100644 --- a/Source/Genes/GeneUtility.cs +++ b/Source/Genes/GeneUtility.cs @@ -109,5 +109,8 @@ namespace RJW_Genes public static bool IsGenerousDonor(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_generous_donor); } public static bool IsPussyHealer(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_pussyhealer); } public static bool IsUnbreakable(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_unbreakable); } + public static bool HasParalysingKiss(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_paralysingkiss); } + public static bool HasSeduce(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_seduce); } + public static bool IsSexualDrainer(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_drainer); } } } \ No newline at end of file diff --git a/Source/Genes/Life_Force/Abilities/CompAbilityEffect_LifeForceCost.cs b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_LifeForceCost.cs index d291185..44aec81 100644 --- a/Source/Genes/Life_Force/Abilities/CompAbilityEffect_LifeForceCost.cs +++ b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_LifeForceCost.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Text; -using Verse; +using Verse; using Verse.AI; using RimWorld; namespace RJW_Genes diff --git a/Source/Genes/Life_Force/Abilities/CompAbilityEffect_Seduce.cs b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_Seduce.cs index 678ab48..b8819a8 100644 --- a/Source/Genes/Life_Force/Abilities/CompAbilityEffect_Seduce.cs +++ b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_Seduce.cs @@ -54,6 +54,14 @@ namespace RJW_Genes Messages.Message("bestiality is disabled", pawn, MessageTypeDefOf.RejectInput, false); } return false; + } + else if (GeneUtility.HasSeduce(pawn)) + { + if (throwMessages) + { + Messages.Message(pawn.Name + " cannot be seduced, as they also have the Seduce-Ability", pawn, MessageTypeDefOf.RejectInput, false); + } + return false; } else if (pawn.Downed) {