From a64cecbab3e41babbd009589805339165d7de304 Mon Sep 17 00:00:00 2001 From: Shabakur Date: Thu, 29 Dec 2022 18:03:02 +0100 Subject: [PATCH] CockEater gene CockEater gene with ability and negative thoughtdef for target --- Common/Assemblies/Rjw-Genes.dll | Bin 66048 -> 67072 bytes Common/Defs/AbilityDefs/Ability_CockEater.xml | 34 +++++++ Common/Defs/Genes/GeneDefs_LifeForce.xml | 33 ++++++- .../Defs/ThoughtDefs/Thoughts_LifeForce.xml | 18 ++++ .../Life_Force/CompAbilityEffect_CockEater.cs | 87 ++++++++++++++++++ .../Life_Force/CompAbilityEffect_PussyHeal.cs | 1 + .../CompProperties_AbilityCockEater.cs | 18 ++++ Source/Rjw-Genes.csproj | 3 + Source/ThoughtDefOf.cs | 15 +++ 9 files changed, 206 insertions(+), 3 deletions(-) create mode 100644 Common/Defs/AbilityDefs/Ability_CockEater.xml create mode 100644 Common/Defs/ThoughtDefs/Thoughts_LifeForce.xml create mode 100644 Source/Genes/Life_Force/CompAbilityEffect_CockEater.cs create mode 100644 Source/Genes/Life_Force/CompProperties_AbilityCockEater.cs create mode 100644 Source/ThoughtDefOf.cs diff --git a/Common/Assemblies/Rjw-Genes.dll b/Common/Assemblies/Rjw-Genes.dll index 5e50e3cd12cd43b349c2d5bf0f15e21c759959ed..3e6179d5fdaf1323dc2df3a232ef74b3f840fbc9 100644 GIT binary patch delta 29808 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 M8l!xztS`3zFVWhRWdHyG delta 28423 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 diff --git a/Common/Defs/AbilityDefs/Ability_CockEater.xml b/Common/Defs/AbilityDefs/Ability_CockEater.xml new file mode 100644 index 0000000..d333c1d --- /dev/null +++ b/Common/Defs/AbilityDefs/Ability_CockEater.xml @@ -0,0 +1,34 @@ + + + + rjw_genes_cockeater + + Eat the cock of another pawn, restoring fertilin based on the size of the cock. + Things/Mote/Heart + true + true + false + Mote_CoagulateStencil + Coagulate + Coagulate_Cast + CastAbilityOnThingMelee + 402 + + Verb_CastAbilityTouch + false + -1 + 10 + + true + false + false + false + true + + + +

  • +
  • + + + \ No newline at end of file diff --git a/Common/Defs/Genes/GeneDefs_LifeForce.xml b/Common/Defs/Genes/GeneDefs_LifeForce.xml index db2de4d..6a879dd 100644 --- a/Common/Defs/Genes/GeneDefs_LifeForce.xml +++ b/Common/Defs/Genes/GeneDefs_LifeForce.xml @@ -24,7 +24,7 @@ -
  • hemo
  • +
  • fert
  • rjw_genes_lifeforce_randomrape @@ -55,8 +55,35 @@
  • life
  • -
  • clotter
  • -
  • tender
  • +
  • pussy
  • +
  • heal
  • +
    +
    + + + + rjw_genes_cockeater + + cockeater + Carriers of this gene are able eat cocks to restore their fertilin supply. + Things/Mote/Heart + rjw_genes_lifeforce + 11 + rjw_genes_fertilin + +
  • rjw_genes_cockeater
  • +
    + + rjw_genes_cockeater + + 1 + -1 + 18 + + +
  • life
  • +
  • cock
  • +
  • eat
  • diff --git a/Common/Defs/ThoughtDefs/Thoughts_LifeForce.xml b/Common/Defs/ThoughtDefs/Thoughts_LifeForce.xml new file mode 100644 index 0000000..559ae40 --- /dev/null +++ b/Common/Defs/ThoughtDefs/Thoughts_LifeForce.xml @@ -0,0 +1,18 @@ + + + + + rjw_genes_cock_eaten + Thought_Memory + 30.0 + 100 + 0.4 + +
  • + + My cock was eaten directly of my body, I am devestated. + -30 +
  • +
    +
    +
    diff --git a/Source/Genes/Life_Force/CompAbilityEffect_CockEater.cs b/Source/Genes/Life_Force/CompAbilityEffect_CockEater.cs new file mode 100644 index 0000000..deddbce --- /dev/null +++ b/Source/Genes/Life_Force/CompAbilityEffect_CockEater.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using UnityEngine; +using RimWorld; +using rjw; +using rjw.Modules.Interactions.Helpers; + +namespace RJW_Genes +{ + public class CompAbilityEffect_CockEater : CompAbilityEffect + { + private new CompProperties_AbilityCockEater Props + { + get + { + return (CompProperties_AbilityCockEater)this.props; + } + } + public override void Apply(LocalTargetInfo target, LocalTargetInfo dest) + { + base.Apply(target, dest); + Pawn pawn = target.Pawn; + if (pawn == null) + { + return; + } + var partBPR = Genital_Helper.get_genitalsBPR(pawn); + var parts = Genital_Helper.get_PartsHediffList(pawn, partBPR); + if (!parts.NullOrEmpty()) + { + foreach (Hediff part in parts) + { + if (GenitaliaChanger.IsArtificial(part)) + continue; + + if (rjw.Genital_Helper.is_penis(part)) + { + GeneUtility.OffsetLifeForce(this.parent.pawn, part.Severity); ; + pawn.health.RemoveHediff(part); + pawn.needs.mood.thoughts.memories.TryGainMemory(ThoughtDefOf.rjw_genes_cock_eaten, pawn, null); + break; //Only one penis at the time + } + } + + } + } + + public override bool Valid(LocalTargetInfo target, bool throwMessages = false) + { + Pawn pawn = target.Pawn; + if (pawn != null) + { + bool flag = pawn.Faction == this.parent.pawn.Faction || pawn.IsPrisonerOfColony; + bool flag2 = pawn.HostileTo(this.parent.pawn); + bool flag3 = pawn.Downed; + if (!flag && !(flag2 && flag3)) + { + if (throwMessages) + { + if(flag2 && !flag3) + { + Messages.Message(pawn.Name + " is hostile, but not downed.", pawn, MessageTypeDefOf.RejectInput, false); + } + else if (!flag) + { + Messages.Message(pawn.Name + " is not a part of the colony or hostile.", pawn, MessageTypeDefOf.RejectInput, false); + } + } + return false; + } + if (!Genital_Helper.has_penis_fertile(pawn)) + { + if (throwMessages) + { + Messages.Message(pawn.Name + " has no penis", pawn, MessageTypeDefOf.RejectInput, false); + } + return false; + } + } + return base.Valid(target, throwMessages); + } + } +} diff --git a/Source/Genes/Life_Force/CompAbilityEffect_PussyHeal.cs b/Source/Genes/Life_Force/CompAbilityEffect_PussyHeal.cs index 5ddb6af..009588d 100644 --- a/Source/Genes/Life_Force/CompAbilityEffect_PussyHeal.cs +++ b/Source/Genes/Life_Force/CompAbilityEffect_PussyHeal.cs @@ -38,6 +38,7 @@ namespace RJW_Genes //FleckMaker.AttachedOverlay(pawn, FleckDefOf.FlashHollow, Vector3.zero, 1.5f, -1f); } + //Not yet implemented, but the heal should also trigger after normal sex public void AfterSex(Pawn pawn, Pawn target) { List hediffs = target.health.hediffSet.hediffs; diff --git a/Source/Genes/Life_Force/CompProperties_AbilityCockEater.cs b/Source/Genes/Life_Force/CompProperties_AbilityCockEater.cs new file mode 100644 index 0000000..b64b346 --- /dev/null +++ b/Source/Genes/Life_Force/CompProperties_AbilityCockEater.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; + +namespace RJW_Genes +{ + public class CompProperties_AbilityCockEater : CompProperties_AbilityEffect + { + public CompProperties_AbilityCockEater() + { + this.compClass = typeof(CompAbilityEffect_CockEater); + } + } +} diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj index 1039e64..d7be4a7 100644 --- a/Source/Rjw-Genes.csproj +++ b/Source/Rjw-Genes.csproj @@ -116,6 +116,8 @@ + + @@ -144,6 +146,7 @@ + diff --git a/Source/ThoughtDefOf.cs b/Source/ThoughtDefOf.cs new file mode 100644 index 0000000..ccb7df3 --- /dev/null +++ b/Source/ThoughtDefOf.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RimWorld; +using Verse; +namespace RJW_Genes +{ + [DefOf] + public static class ThoughtDefOf + { + public static readonly ThoughtDef rjw_genes_cock_eaten; + } +}