From 09157e923d5c4c4cf71d79cb0af665ffd6a7c536 Mon Sep 17 00:00:00 2001 From: Shabakur Date: Mon, 9 Jan 2023 14:14:51 +0100 Subject: [PATCH] sexage check Fertilin and FertilinDraingene Fertilin and all subgenes are only active if pawn is old enough to have sex, 13 if rjw teensex is enabled else 18. Added a fertilindraingene which greatly increases fertilin burn, but gives a lot of metabolic efficiency Also moved a few files into subfolders. --- Common/Assemblies/Rjw-Genes.dll | Bin 80896 -> 82432 bytes Common/Defs/Genes/GeneDefs_LifeForce.xml | 32 ++++--- Source/Genes/GeneUtility.cs | 25 +++--- .../{ => Abilities}/AbilityUtility.cs | 0 .../CompAbilityEffect_CockEater.cs | 14 +++- .../CompAbilityEffect_LifeForceCost.cs | 14 +--- .../CompAbilityEffect_PussyHeal.cs | 0 .../CompAbilityEffect_Seduce.cs | 0 .../CompProperties_AbilityCockEater.cs | 0 .../CompProperties_AbilityLifeForceCost.cs | 0 .../CompProperties_AbilityPussyHeal.cs | 0 .../{ => Abilities}/CompProperties_Seduce.cs | 0 Source/Genes/Life_Force/Gene_LifeForce.cs | 38 +++++---- .../Genes/Life_Force/Gene_LifeForceDrain.cs | 79 ++++++++++++++++++ Source/Genes/Life_Force/Interactionchances.cs | 16 ---- .../JobDriver_CastAbilityAfterSex.cs | 0 .../{ => JobDrivers}/JobDriver_Seduced.cs | 0 .../{ => JobDrivers}/JobDriver_SexOnSpot.cs | 0 .../JobDriver_SexOnSpotReceiver.cs | 0 .../Life_Force/LifeForceMentalStateWorker.cs | 1 - Source/Rjw-Genes.csproj | 28 +++---- 21 files changed, 166 insertions(+), 81 deletions(-) rename Source/Genes/Life_Force/{ => Abilities}/AbilityUtility.cs (100%) rename Source/Genes/Life_Force/{ => Abilities}/CompAbilityEffect_CockEater.cs (83%) rename Source/Genes/Life_Force/{ => Abilities}/CompAbilityEffect_LifeForceCost.cs (85%) rename Source/Genes/Life_Force/{ => Abilities}/CompAbilityEffect_PussyHeal.cs (100%) rename Source/Genes/Life_Force/{ => Abilities}/CompAbilityEffect_Seduce.cs (100%) rename Source/Genes/Life_Force/{ => Abilities}/CompProperties_AbilityCockEater.cs (100%) rename Source/Genes/Life_Force/{ => Abilities}/CompProperties_AbilityLifeForceCost.cs (100%) rename Source/Genes/Life_Force/{ => Abilities}/CompProperties_AbilityPussyHeal.cs (100%) rename Source/Genes/Life_Force/{ => Abilities}/CompProperties_Seduce.cs (100%) create mode 100644 Source/Genes/Life_Force/Gene_LifeForceDrain.cs delete mode 100644 Source/Genes/Life_Force/Interactionchances.cs rename Source/Genes/Life_Force/{ => JobDrivers}/JobDriver_CastAbilityAfterSex.cs (100%) rename Source/Genes/Life_Force/{ => JobDrivers}/JobDriver_Seduced.cs (100%) rename Source/Genes/Life_Force/{ => JobDrivers}/JobDriver_SexOnSpot.cs (100%) rename Source/Genes/Life_Force/{ => JobDrivers}/JobDriver_SexOnSpotReceiver.cs (100%) diff --git a/Common/Assemblies/Rjw-Genes.dll b/Common/Assemblies/Rjw-Genes.dll index f57995192a31394802637fb12a44ef767e33a876..e0c2fea7bd5b16761395236cab89781971ee7aac 100644 GIT binary patch literal 82432 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

h#1;1S`LJg$RIA(Jcki@UJK(` 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

W~-IqwkOKR*N!IU79_YANk(;PHU#(W6v7&K{4 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

h{|G~U9vgb*zfYzdh)jM?iD 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 z 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 A=>Px# diff --git a/Common/Defs/Genes/GeneDefs_LifeForce.xml b/Common/Defs/Genes/GeneDefs_LifeForce.xml index 76b6ef6..ed1ea9a 100644 --- a/Common/Defs/Genes/GeneDefs_LifeForce.xml +++ b/Common/Defs/Genes/GeneDefs_LifeForce.xml @@ -3,10 +3,10 @@ rjw_genes_lifeforce - Carriers of this gene have a reserve of biological strength powered by a resource called fertilin. The resource can be gained and spent in various ways, all of which are unlocked by other genes.\n\nCarriers lose 10 lifeforce per day from biological entropy. + Carriers of this gene have a reserve of biological strength powered by a resource called fertilin. The resource can be gained and spent in various ways, some of which are unlocked by other genes.\n\nCarriers lose 5 fertilin per day from biological entropy. \n\nGene is inactive until carrier is able to have sex. RJW_Genes.Gene_LifeForce RJW_Genes.GeneGizmo_ResourceLifeForce - lifeforce + fertilin

  • 0.25
  • 0.5
  • @@ -28,12 +28,27 @@ rjw_genes_lifeforce_randomrape - 18 0.05 1 1 + + LifeForceDrain + + draining + Carriers lose an additional 15 fertilin per day from biological entropy. + fertilin + RJW_Genes.Gene_LifeForceDrain + UI/Icons/Genes/Gene_HemogenDrain + rjw_genes_lifeforce + 0.15 + rjw_genes_fertilin + -1 + 1 + 6 + + rjw_genes_pussyhealer @@ -41,7 +56,7 @@ Carriers of this gene are able use vaginal sex to tend to other's wounds. Things/Mote/Heart rjw_genes_lifeforce - 10 + 9 rjw_genes_fertilin
  • rjw_genes_pussyheal
  • @@ -51,7 +66,6 @@ 1 -1 - 18
  • life
  • @@ -78,7 +92,6 @@ 1 -1 - 18
  • life
  • @@ -95,7 +108,7 @@ Carriers of this gene are able to briefly stun an enemy with a kiss. Things/Mote/Heart rjw_genes_lifeforce - 11 + 12 rjw_genes_fertilin
  • rjw_genes_paralysingkiss
  • @@ -105,7 +118,6 @@ 1 -1 - 18
  • stun
  • @@ -121,7 +133,7 @@ Carriers of this gene are able to seduce a pawn into having sex with them. Things/Mote/Heart rjw_genes_lifeforce - 11 + 13 rjw_genes_fertilin
  • rjw_genes_seduce
  • @@ -131,7 +143,7 @@ 1 -1 - 18 +
  • stun
  • diff --git a/Source/Genes/GeneUtility.cs b/Source/Genes/GeneUtility.cs index 68e2969..f3493f9 100644 --- a/Source/Genes/GeneUtility.cs +++ b/Source/Genes/GeneUtility.cs @@ -18,28 +18,25 @@ namespace RJW_Genes //Split function so I can offsetlifeforce from gene without needing to look for the gene agian (for the constant drain tick) public static Gene_LifeForce GetLifeForceGene(Pawn pawn) { - Pawn_GeneTracker genes2 = pawn.genes; - Gene_LifeForce gene_LifeForce = (genes2 != null) ? genes2.GetFirstGeneOfType() : null; + Pawn_GeneTracker genes = pawn.genes; + Gene_LifeForce gene_LifeForce = genes.GetFirstGeneOfType(); return gene_LifeForce; } - public static void OffsetLifeForce(Gene_LifeForce gene_LifeForce, float offset, bool applyStatFactor = true) - { - if (gene_LifeForce != null) - { - float old_value = gene_LifeForce.Value; - gene_LifeForce.Value += offset; - PostOffSetLifeForce(gene_LifeForce, old_value); - } + public static void OffsetLifeForce(IGeneResourceDrain drain, float offset) + { + float old_value = drain.Resource.Value; + drain.Resource.Value += offset; + //PostOffSetLifeForce(drain, old_value); } - public static void PostOffSetLifeForce(Gene_LifeForce gene_LifeForce, float old_value) + public static void PostOffSetLifeForce(IGeneResourceDrain drain, float old_value) { - if (old_value > 0.15f && gene_LifeForce.Resource.Value <= 0.15f) + if (old_value > 0.2f && drain.Resource.Value <= 0.2f) { - Pawn pawn = gene_LifeForce.Pawn; + Pawn pawn = drain.Pawn; - //Give thoughtdef + //Do things } } diff --git a/Source/Genes/Life_Force/AbilityUtility.cs b/Source/Genes/Life_Force/Abilities/AbilityUtility.cs similarity index 100% rename from Source/Genes/Life_Force/AbilityUtility.cs rename to Source/Genes/Life_Force/Abilities/AbilityUtility.cs diff --git a/Source/Genes/Life_Force/CompAbilityEffect_CockEater.cs b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_CockEater.cs similarity index 83% rename from Source/Genes/Life_Force/CompAbilityEffect_CockEater.cs rename to Source/Genes/Life_Force/Abilities/CompAbilityEffect_CockEater.cs index 88d0dad..d4d12ea 100644 --- a/Source/Genes/Life_Force/CompAbilityEffect_CockEater.cs +++ b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_CockEater.cs @@ -37,7 +37,7 @@ namespace RJW_Genes if (GenitaliaChanger.IsArtificial(part)) continue; - if (rjw.Genital_Helper.is_penis(part)) + if (Genital_Helper.is_penis(part)) { GeneUtility.OffsetLifeForce(GeneUtility.GetLifeForceGene(this.parent.pawn), part.Severity); ; pawn.health.RemoveHediff(part); @@ -83,5 +83,17 @@ namespace RJW_Genes } return base.Valid(target, throwMessages); } + public override bool GizmoDisabled(out string reason) + { + Pawn_GeneTracker genes = this.parent.pawn.genes; + Gene_LifeForce gene_LifeForce = (genes != null) ? genes.GetFirstGeneOfType() : null; + if (gene_LifeForce == null) + { + reason = "AbilityDisabledNoFertilinGene".Translate(this.parent.pawn); + return true; + } + reason = null; + return false; + } } } diff --git a/Source/Genes/Life_Force/CompAbilityEffect_LifeForceCost.cs b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_LifeForceCost.cs similarity index 85% rename from Source/Genes/Life_Force/CompAbilityEffect_LifeForceCost.cs rename to Source/Genes/Life_Force/Abilities/CompAbilityEffect_LifeForceCost.cs index 363b414..d291185 100644 --- a/Source/Genes/Life_Force/CompAbilityEffect_LifeForceCost.cs +++ b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_LifeForceCost.cs @@ -8,11 +8,9 @@ using Verse.AI; using RimWorld; namespace RJW_Genes { - // Token: 0x02000F66 RID: 3942 public class CompAbilityEffect_LifeForceCost : CompAbilityEffect { - // Token: 0x17000FFB RID: 4091 - // (get) Token: 0x06005D18 RID: 23832 RVA: 0x001FA767 File Offset: 0x001F8967 + public new CompProperties_AbilityLifeForceCost Props { get @@ -21,8 +19,6 @@ namespace RJW_Genes } } - // Token: 0x17000FFC RID: 4092 - // (get) Token: 0x06005D19 RID: 23833 RVA: 0x001FA774 File Offset: 0x001F8974 private bool HasEnoughFertilin { get @@ -33,14 +29,13 @@ namespace RJW_Genes } } - // Token: 0x06005D1A RID: 23834 RVA: 0x001FA7B7 File Offset: 0x001F89B7 public override void Apply(LocalTargetInfo target, LocalTargetInfo dest) { base.Apply(target, dest); - GeneUtility.OffsetLifeForce(GeneUtility.GetLifeForceGene(this.parent.pawn), -this.Props.fertilinCost, true); + GeneUtility.OffsetLifeForce(GeneUtility.GetLifeForceGene(this.parent.pawn), -this.Props.fertilinCost); } - // Token: 0x06005D1B RID: 23835 RVA: 0x001FA7E0 File Offset: 0x001F89E0 + public override bool GizmoDisabled(out string reason) { Pawn_GeneTracker genes = this.parent.pawn.genes; @@ -111,8 +106,7 @@ namespace RJW_Genes } return num2; } - - //Modified version of HemogenCost in Ability + } } diff --git a/Source/Genes/Life_Force/CompAbilityEffect_PussyHeal.cs b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_PussyHeal.cs similarity index 100% rename from Source/Genes/Life_Force/CompAbilityEffect_PussyHeal.cs rename to Source/Genes/Life_Force/Abilities/CompAbilityEffect_PussyHeal.cs diff --git a/Source/Genes/Life_Force/CompAbilityEffect_Seduce.cs b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_Seduce.cs similarity index 100% rename from Source/Genes/Life_Force/CompAbilityEffect_Seduce.cs rename to Source/Genes/Life_Force/Abilities/CompAbilityEffect_Seduce.cs diff --git a/Source/Genes/Life_Force/CompProperties_AbilityCockEater.cs b/Source/Genes/Life_Force/Abilities/CompProperties_AbilityCockEater.cs similarity index 100% rename from Source/Genes/Life_Force/CompProperties_AbilityCockEater.cs rename to Source/Genes/Life_Force/Abilities/CompProperties_AbilityCockEater.cs diff --git a/Source/Genes/Life_Force/CompProperties_AbilityLifeForceCost.cs b/Source/Genes/Life_Force/Abilities/CompProperties_AbilityLifeForceCost.cs similarity index 100% rename from Source/Genes/Life_Force/CompProperties_AbilityLifeForceCost.cs rename to Source/Genes/Life_Force/Abilities/CompProperties_AbilityLifeForceCost.cs diff --git a/Source/Genes/Life_Force/CompProperties_AbilityPussyHeal.cs b/Source/Genes/Life_Force/Abilities/CompProperties_AbilityPussyHeal.cs similarity index 100% rename from Source/Genes/Life_Force/CompProperties_AbilityPussyHeal.cs rename to Source/Genes/Life_Force/Abilities/CompProperties_AbilityPussyHeal.cs diff --git a/Source/Genes/Life_Force/CompProperties_Seduce.cs b/Source/Genes/Life_Force/Abilities/CompProperties_Seduce.cs similarity index 100% rename from Source/Genes/Life_Force/CompProperties_Seduce.cs rename to Source/Genes/Life_Force/Abilities/CompProperties_Seduce.cs diff --git a/Source/Genes/Life_Force/Gene_LifeForce.cs b/Source/Genes/Life_Force/Gene_LifeForce.cs index da5c65b..c5cfa12 100644 --- a/Source/Genes/Life_Force/Gene_LifeForce.cs +++ b/Source/Genes/Life_Force/Gene_LifeForce.cs @@ -6,18 +6,35 @@ using System.Threading.Tasks; using UnityEngine; using Verse; using RimWorld; - +using rjw; namespace RJW_Genes { public class Gene_LifeForce : Gene_Resource, IGeneResourceDrain { - public override void ExposeData() + //Gene should only be active if sex is allowed for this pawn + public override bool Active { - base.ExposeData(); + get + { + if (this.Overridden) + { + return false; + } + Pawn pawn = this.pawn; + + return ((pawn != null) ? pawn.ageTracker : null) == null || + ((float)this.pawn.ageTracker.AgeBiologicalYears >= this.def.minAgeActive && this.pawn.ageTracker.AgeBiologicalYears >= (RJWSettings.AllowYouthSex ? 13f : 18f)); + } } - public bool ShouldConsumeLifeForceNow() + public override void ExposeData() + { + base.ExposeData(); + Scribe_Values.Look(ref this.StoredCumAllowed, "StoredCumAllowed", true, false); + } + + public bool ShouldConsumeLifeForceNow() { return this.Value < this.targetValue; } @@ -43,14 +60,7 @@ namespace RJW_Genes //base.Tick(); if (this.CanOffset && this.Resource != null) { - if (this.CanOffset) - { - if (this.Resource == null) - { - return; - } - GeneUtility.OffsetLifeForce(this, -this.ResourceLossPerDay / 60000f); - } + GeneUtility.OffsetLifeForce(this, -this.ResourceLossPerDay / 60000f); //this.Resource.Value -= this.ResourceLossPerDay / 60000; if (this.Resource.Value <= 0 && this.pawn.IsHashIntervalTick(300)) { @@ -62,11 +72,9 @@ namespace RJW_Genes } } } - //GeneResourceDrainUtility.TickResourceDrain(this); } public bool StoredCumAllowed = true; - public Gene_Resource Resource { get @@ -117,7 +125,7 @@ namespace RJW_Genes { get { - return 0.15f; + return 0.2f; } } public override float MaxLevelOffset diff --git a/Source/Genes/Life_Force/Gene_LifeForceDrain.cs b/Source/Genes/Life_Force/Gene_LifeForceDrain.cs new file mode 100644 index 0000000..335e257 --- /dev/null +++ b/Source/Genes/Life_Force/Gene_LifeForceDrain.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +using Verse; +using RimWorld; + +namespace RJW_Genes +{ + public class Gene_LifeForceDrain : Gene, IGeneResourceDrain + { + public Gene_Resource Resource + { + get + { + if (this.cachedLifeForceGene == null || !this.cachedLifeForceGene.Active) + { + this.cachedLifeForceGene = this.pawn.genes.GetFirstGeneOfType(); + } + return this.cachedLifeForceGene; + } + } + + public bool CanOffset + { + get + { + return this.Active && this.Resource != null && this.Resource.Active; + } + } + + public float ResourceLossPerDay + { + get + { + return this.def.resourceLossPerDay; + } + } + + public Pawn Pawn + { + get + { + return this.pawn; + } + } + + public string DisplayLabel + { + get + { + return this.Label + " (" + "Gene".Translate() + ")"; + } + } + + public override void Tick() + { + base.Tick(); + if (this.CanOffset && this.Resource != null) + { + GeneUtility.OffsetLifeForce(this, -this.ResourceLossPerDay / 60000); + } + } + + public override IEnumerable GetGizmos() + { + foreach (Gizmo gizmo in GeneResourceDrainUtility.GetResourceDrainGizmos(this)) + { + yield return gizmo; + } + IEnumerator enumerator = null; + yield break; + yield break; + } + + [Unsaved(false)] + private Gene_LifeForce cachedLifeForceGene; + + private const float MinAgeForDrain = 3f; + } +} diff --git a/Source/Genes/Life_Force/Interactionchances.cs b/Source/Genes/Life_Force/Interactionchances.cs deleted file mode 100644 index fd7a43d..0000000 --- a/Source/Genes/Life_Force/Interactionchances.cs +++ /dev/null @@ -1,16 +0,0 @@ -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 Interaction_weights - { - public InteractionDef interaction; - public int weight = 1; - - } -} diff --git a/Source/Genes/Life_Force/JobDriver_CastAbilityAfterSex.cs b/Source/Genes/Life_Force/JobDrivers/JobDriver_CastAbilityAfterSex.cs similarity index 100% rename from Source/Genes/Life_Force/JobDriver_CastAbilityAfterSex.cs rename to Source/Genes/Life_Force/JobDrivers/JobDriver_CastAbilityAfterSex.cs diff --git a/Source/Genes/Life_Force/JobDriver_Seduced.cs b/Source/Genes/Life_Force/JobDrivers/JobDriver_Seduced.cs similarity index 100% rename from Source/Genes/Life_Force/JobDriver_Seduced.cs rename to Source/Genes/Life_Force/JobDrivers/JobDriver_Seduced.cs diff --git a/Source/Genes/Life_Force/JobDriver_SexOnSpot.cs b/Source/Genes/Life_Force/JobDrivers/JobDriver_SexOnSpot.cs similarity index 100% rename from Source/Genes/Life_Force/JobDriver_SexOnSpot.cs rename to Source/Genes/Life_Force/JobDrivers/JobDriver_SexOnSpot.cs diff --git a/Source/Genes/Life_Force/JobDriver_SexOnSpotReceiver.cs b/Source/Genes/Life_Force/JobDrivers/JobDriver_SexOnSpotReceiver.cs similarity index 100% rename from Source/Genes/Life_Force/JobDriver_SexOnSpotReceiver.cs rename to Source/Genes/Life_Force/JobDrivers/JobDriver_SexOnSpotReceiver.cs diff --git a/Source/Genes/Life_Force/LifeForceMentalStateWorker.cs b/Source/Genes/Life_Force/LifeForceMentalStateWorker.cs index e9ed20f..eaeaf89 100644 --- a/Source/Genes/Life_Force/LifeForceMentalStateWorker.cs +++ b/Source/Genes/Life_Force/LifeForceMentalStateWorker.cs @@ -4,7 +4,6 @@ using Verse.AI; using rjw; namespace RJW_Genes { - // Token: 0x020000FB RID: 251 public class LifeForceMentalStateWorker : MentalStateWorker { public override bool StateCanOccur(Pawn pawn) diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj index 2ad19b6..54c7b22 100644 --- a/Source/Rjw-Genes.csproj +++ b/Source/Rjw-Genes.csproj @@ -114,17 +114,18 @@ - + - - - - - + + + + + + - - - + + + @@ -133,14 +134,13 @@ - - + + - + - - +