diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e346e3..0e066a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -101,7 +101,8 @@ and might try to add a gene that already exists - then nothing happens. - (Major) No Penis - (Major) Minor Vulnerability -You can configure all genes, as well as their application chance, in the Genes` XML. +These are currently hardcoded but I can change them on popular demand. +In general minor changes are only cosmetic and wont change metabolism. *Why are these changes Genetic?* Because this is the genes mod, and I find things here quite robust. @@ -141,7 +142,6 @@ Because this is the genes mod, and I find things here quite robust. - Fixed an Issue where pawns would always get the Pheromone social boost, unless they had the pheromone (#113) - Fixed two hidden dependencies on Ideology and Royalty (#115) - Fixed some more hidden dependencies on Ideology Icons (#118) -- Fixed a hidden dependency on Licentialabs (#119) **Internal:** @@ -174,12 +174,6 @@ You can now support me with [buying me a coffee](https://buymeacoffee.com/vegapn The mod will remain free, open source and I will not hide or lock any features. Its just meant if you want to drop me a tip. -**Since Beta-1** (11-07-2024) - -- Made the Feminizer and Twinkifier configurable with XML. -- Typos in the Hediff Defs, tweaking of some values. - - # 2.1.0 (27-06-2024) **Additions**: diff --git a/Common/Defs/GeneDefs/GeneDefs_Breeding.xml b/Common/Defs/GeneDefs/GeneDefs_Breeding.xml index bf67228..d9ded6c 100644 --- a/Common/Defs/GeneDefs/GeneDefs_Breeding.xml +++ b/Common/Defs/GeneDefs/GeneDefs_Breeding.xml @@ -125,7 +125,7 @@ -0.1 1.2 1.2 - +0.15 + -0.15 -0.1 @@ -141,7 +141,7 @@ 0.15 0.25 - -0.25 + 0.25 diff --git a/Common/Defs/GeneDefs/GeneDefs_SexSpecial.xml b/Common/Defs/GeneDefs/GeneDefs_SexSpecial.xml index fff6f60..d715892 100644 --- a/Common/Defs/GeneDefs/GeneDefs_SexSpecial.xml +++ b/Common/Defs/GeneDefs/GeneDefs_SexSpecial.xml @@ -203,23 +203,9 @@ true false -
  • - -
  • rjw_genes_female_only
  • -
  • rjw_genes_no_penis
  • -
  • rjw_genes_minor_vulnerability
  • - - -
  • rjw_genes_small_male_genitalia
  • -
  • rjw_genes_big_breasts
  • -
  • Beard_NoBeardOnly
  • -
  • Hair_LongOnly
  • -
    - 0.25 - 0.1 - + rjw_genes_twinkifier @@ -244,23 +230,6 @@ true false -
  • - -
  • rjw_genes_fertile_anus
  • -
  • Beauty_Pretty
  • -
  • Delicate
  • -
  • rjw_genes_minor_vulnerability
  • -
  • rjw_genes_infectious_homosexuality
  • - - -
  • rjw_genes_small_male_genitalia
  • -
  • Beard_NoBeardOnly
  • -
  • Body_Thin
  • -
  • rjw_genes_homosexual
  • -
    - 0.25 - 0.1 -
    diff --git a/Mods/LicentiaLabs/Defs/HediffDefs/Hediffs_CounterCumflation.xml b/Common/Defs/HediffDefs/Hediffs_CounterCumflation.xml similarity index 95% rename from Mods/LicentiaLabs/Defs/HediffDefs/Hediffs_CounterCumflation.xml rename to Common/Defs/HediffDefs/Hediffs_CounterCumflation.xml index 282e54f..1b30c82 100644 --- a/Mods/LicentiaLabs/Defs/HediffDefs/Hediffs_CounterCumflation.xml +++ b/Common/Defs/HediffDefs/Hediffs_CounterCumflation.xml @@ -98,6 +98,15 @@
  • -0.75
  • +
  • + +
  • 0
  • +
  • 0
  • +
  • 0.75
  • +
  • 0.5
  • +
  • 0.2
  • + +
  • diff --git a/Common/Defs/HediffDefs/Hediffs_InfectiveGenderChanges.xml b/Common/Defs/HediffDefs/Hediffs_InfectiveGenderChanges.xml index 45537fd..1ca0191 100644 --- a/Common/Defs/HediffDefs/Hediffs_InfectiveGenderChanges.xml +++ b/Common/Defs/HediffDefs/Hediffs_InfectiveGenderChanges.xml @@ -102,7 +102,7 @@
  • Consciousness - -0.05 + -0.5
  • diff --git a/LoadFolders.xml b/LoadFolders.xml index d3c2a27..8f11ba4 100644 --- a/LoadFolders.xml +++ b/LoadFolders.xml @@ -16,6 +16,5 @@
  • Mods/Android
  • Mods/VE_Genetics
  • Mods/LicentiaLabs
  • -
  • Mods/Sexperience
  • \ No newline at end of file diff --git a/Mods/Sexperience/Defs/GeneDefs/Sexperience_GeneDefs.xml b/Mods/Sexperience/Defs/GeneDefs/Sexperience_GeneDefs.xml deleted file mode 100644 index 774a874..0000000 --- a/Mods/Sexperience/Defs/GeneDefs/Sexperience_GeneDefs.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - rjw_genes_living_cumbucket - - rjw_genes_cum - When this Xenotype partakes in sexual activity, they store cum and produce it as an item. - Genes/Icons/Generous_Donor - 559 - - -
  • - Genes/Icons/RJW_Genes_Endogene_Background - Genes/Icons/RJW_Genes_Xenogene_Background -
  • -
    -
    - -
    \ No newline at end of file diff --git a/Mods/Sexperience/Defs/HediffDefs/Sexperience_HediffDefs.xml b/Mods/Sexperience/Defs/HediffDefs/Sexperience_HediffDefs.xml deleted file mode 100644 index 42281b1..0000000 --- a/Mods/Sexperience/Defs/HediffDefs/Sexperience_HediffDefs.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - rjw_genes_filled_living_cumbucket - HediffWithComps - - This pawn is a (filled) living cum bucket. Thanks to a generous donation, this pawn will slowly generate cum for pickup. - (240,200,110) - false - - false - false - -
  • - -0.5 -
  • -
  • - -
  • 0
  • -
  • 0.5
  • -
  • 0.25
  • -
  • 0.1
  • -
  • 0.005
  • - - -
    - -
  • - - - -0.1 - -
  • -
  • - - 0.4 - 0.8 - - -0.25 - - -
  • - Moving - -0.05 -
  • - - -
  • - - 0.65 - 0.75 - - -0.25 - - -
  • - Moving - -0.1 -
  • - - -
  • - - 1.1 - 0.6 - - -0.5 - - -
  • - Moving - -0.15 -
  • - - -
  • - - 10.1 - 0.1 - - -1.5 - - -
  • - Moving - -0.55 -
  • - - -
    -
    - - -
    diff --git a/Mods/Sexperience/Defs/JobDefs/Sexperience_JobProcessCumbucket.xml b/Mods/Sexperience/Defs/JobDefs/Sexperience_JobProcessCumbucket.xml deleted file mode 100644 index 2c42bea..0000000 --- a/Mods/Sexperience/Defs/JobDefs/Sexperience_JobProcessCumbucket.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - ProcessCumbucket - RJW_Genes.JobDriver_ProcessingCumbucket - true - false - processing internal cumbucket. - false - - - diff --git a/Source/GeneDefOf.cs b/Source/GeneDefOf.cs index 7b0b2fc..7f0465f 100644 --- a/Source/GeneDefOf.cs +++ b/Source/GeneDefOf.cs @@ -83,7 +83,6 @@ namespace RJW_Genes [MayRequire("LustLicentia.RJWLabs")] public static readonly GeneDef rjw_genes_likes_cumflation; [MayRequire("LustLicentia.RJWLabs")] public static readonly GeneDef rjw_genes_cumflation_immunity; [MayRequire("LustLicentia.RJWLabs")] public static readonly GeneDef rjw_genes_generous_donor; - [MayRequire("rjw.sexperience")] public static readonly GeneDef rjw_genes_living_cumbucket; // Reproduction diff --git a/Source/Genes/Cum/Genes/Gene_ChangeCumAmount.cs b/Source/Genes/Cum/Gene_ChangeCumAmount.cs similarity index 100% rename from Source/Genes/Cum/Genes/Gene_ChangeCumAmount.cs rename to Source/Genes/Cum/Gene_ChangeCumAmount.cs diff --git a/Source/Genes/Cum/HediffComp_ProcessCumbucket.cs b/Source/Genes/Cum/HediffComp_ProcessCumbucket.cs deleted file mode 100644 index 48708cb..0000000 --- a/Source/Genes/Cum/HediffComp_ProcessCumbucket.cs +++ /dev/null @@ -1,28 +0,0 @@ - -using RimWorld; -using System; -using Verse; - -namespace RJW_Genes -{ - public class HediffComp_ProcessCumbucket : HediffComp - { - - public HediffsCompProperties_ProcessCumbucketMTB Props - { - get - { - return (HediffsCompProperties_ProcessCumbucketMTB)this.props; - } - } - - public override void CompPostTick(ref float severityAdjustment) - { - if (this.Props.mtbDaysPerStage[this.parent.CurStageIndex] > 0f && base.Pawn.IsHashIntervalTick(60) && Rand.MTBEventOccurs(this.Props.mtbDaysPerStage[this.parent.CurStageIndex], 60000f, 60f)) - { - ModLog.Debug($"Triggered HediffComp_ProcessCumbucket CompPostTick - Starting a JobDriver ProcessCumbucket for {this.parent.pawn}"); - this.Pawn.jobs.StartJob(JobMaker.MakeJob(DefDatabase.GetNamed("ProcessCumbucket")), lastJobEndCondition: Verse.AI.JobCondition.InterruptForced, resumeCurJobAfterwards: true); - } - } - } -} diff --git a/Source/Genes/Cum/HediffsCompProperties_ProcessCumbucketMTB.cs b/Source/Genes/Cum/HediffsCompProperties_ProcessCumbucketMTB.cs deleted file mode 100644 index 919b715..0000000 --- a/Source/Genes/Cum/HediffsCompProperties_ProcessCumbucketMTB.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Verse; - -namespace RJW_Genes -{ - public class HediffsCompProperties_ProcessCumbucketMTB : HediffCompProperties - { - public HediffsCompProperties_ProcessCumbucketMTB() - { - this.compClass = typeof(HediffComp_ProcessCumbucket); - } - - public override IEnumerable ConfigErrors(HediffDef parentDef) - { - foreach (string text in base.ConfigErrors(parentDef)) - { - yield return text; - } - if (this.mtbDaysPerStage == null) - { - yield return "mtbDaysPerStage is not defined"; - } - else if (this.mtbDaysPerStage.Count != parentDef.stages.Count) - { - yield return "mtbDaysPerStage count doesn't match Hediffs number of stages"; - } - yield break; - } - - public List mtbDaysPerStage; - } -} diff --git a/Source/Genes/Cum/JobDriver_ProcessingCumbucket.cs b/Source/Genes/Cum/JobDriver_ProcessingCumbucket.cs deleted file mode 100644 index cb8ef6e..0000000 --- a/Source/Genes/Cum/JobDriver_ProcessingCumbucket.cs +++ /dev/null @@ -1,112 +0,0 @@ -using LicentiaLabs; -using System.Collections.Generic; -using Verse; -using Verse.AI; -using UnityEngine; -using System; -using rjw; -using RimWorld; - -namespace RJW_Genes -{ - /// - /// Shamelessly stolen from LicentaLabs - /// [Jaals Fork] https://gitgud.io/Jaaldabaoth/licentia-labs/-/blob/master/Source/LicentiaLabs/LicentiaLabs/JobDriver_VomitCum.cs - /// - class JobDriver_ProcessingCumbucket : JobDriver_Vomit - { - public override bool CanBeginNowWhileLyingDown() - { - return true; - } - - protected override IEnumerable MakeNewToils() - { - if (!ModsConfig.IsActive("rjw.sexperience")) - yield break; - - Toil toil = new Toil(); - toil.initAction = delegate () - { - this.ticksLeft = Rand.Range(150, 600); - int num = 0; - IntVec3 c; - for (; ; ) - { - c = this.pawn.Position + GenAdj.AdjacentCellsAndInside[Rand.Range(0, 9)]; - num++; - if (num > 12) - { - break; - } - if (c.InBounds(this.pawn.Map) && c.Standable(this.pawn.Map)) - { - goto IL_77; - } - } - c = this.pawn.Position; - IL_77: - this.job.targetA = c; - this.pawn.pather.StopDead(); - }; - toil.tickAction = delegate () - { - if (this.ticksLeft % 150 == 149) - { - if (!sourceName.NullOrEmpty()) - { - if (ModsConfig.IsActive("LustLicentia.RJWLabs")) - FilthMaker.TryMakeFilth(this.job.targetA.Cell, base.Map, Licentia.ThingDefs.FilthCum, sourceName); - SpawnCum(this.pawn, this.job.targetA.Cell, base.Map); - } - else - { - if (ModsConfig.IsActive("LustLicentia.RJWLabs")) - FilthMaker.TryMakeFilth(this.job.targetA.Cell, base.Map, Licentia.ThingDefs.FilthCum); - SpawnCum(this.pawn, this.job.targetA.Cell, base.Map); - } - } - this.ticksLeft--; - if (this.ticksLeft <= 0) - { - base.ReadyForNextToil(); - TaleRecorder.RecordTale(Licentia.TaleDefs.VomitedCum, new object[] - { - this.pawn - }); - } - }; - toil.defaultCompleteMode = ToilCompleteMode.Never; - toil.WithEffect(EffecterDefOf.Vomit, TargetIndex.A, new Color(100f, 100f, 100f, 0.5f)); - toil.PlaySustainerOrSound(() => SoundDefOf.Vomit, 1f); - yield return toil; - yield break; - } - - private void SpawnCum(Pawn pawn, IntVec3 cell, Map map) - { - ThingDef cumDef = DefDatabase.GetNamed("GatheredCum", true); - - Hediff hediff = pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.rjw_genes_filled_living_cumbucket); - if (hediff == null) - { - ModLog.Warning($"{pawn} has the JobDriver_ProcessCumbucket but does not have the Hediff for filled cumbucket."); - return; - } - - Thing cum = ThingMaker.MakeThing(cumDef); - cum.Position = cell; - int stacks = Math.Max(1, (int)(hediff.Severity * 3)); - stacks = Math.Min(stacks, 75); // 75 is the default max stacksize ... - cum.stackCount = stacks; - cum.SpawnSetup(map, false); - - //TODO: Reduce this ... better? - hediff.Severity -= stacks / 50; - } - - private int ticksLeft; - - public string sourceName; - } -} diff --git a/Source/Genes/Cum/Patches/Patch_CumflationImmunity.cs b/Source/Genes/Cum/Patch_CumflationImmunity.cs similarity index 100% rename from Source/Genes/Cum/Patches/Patch_CumflationImmunity.cs rename to Source/Genes/Cum/Patch_CumflationImmunity.cs diff --git a/Source/Genes/Cum/Patches/Patch_LikesCumflation.cs b/Source/Genes/Cum/Patch_LikesCumflation.cs similarity index 100% rename from Source/Genes/Cum/Patches/Patch_LikesCumflation.cs rename to Source/Genes/Cum/Patch_LikesCumflation.cs diff --git a/Source/Genes/Cum/Patches/Patch_TransferNutrition.cs b/Source/Genes/Cum/Patch_TransferNutrition.cs similarity index 100% rename from Source/Genes/Cum/Patches/Patch_TransferNutrition.cs rename to Source/Genes/Cum/Patch_TransferNutrition.cs diff --git a/Source/Genes/Cum/Patches/Patch_LivingCumbucket_StackHediff.cs b/Source/Genes/Cum/Patches/Patch_LivingCumbucket_StackHediff.cs deleted file mode 100644 index 67ec45e..0000000 --- a/Source/Genes/Cum/Patches/Patch_LivingCumbucket_StackHediff.cs +++ /dev/null @@ -1,64 +0,0 @@ -using HarmonyLib; -using rjw; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Verse; -using static System.Net.Mime.MediaTypeNames; - -namespace RJW_Genes -{ - - [HarmonyPatch(typeof(SexUtility), nameof(SexUtility.SatisfyPersonal))] - public class Patch_LivingCumbucket_StackHediff - { - - /// - /// This is the amount of fluid required if the pawn has a bodysize of 1, to reach a severity in the hediff of 1. - /// The hediff can still be increased over 1.0. - /// - const float fluid_amount_required_for_hediff_severity_ = 100.0f; - - public static void Postfix(SexProps props) - { - if (!ModsConfig.IsActive("rjw.sexperience")) - return; - - // ShortCuts: Exit Early if Pawn or Partner are null (can happen with Masturbation or other nieche-cases) - if (props == null || props.pawn == null || !props.hasPartner()) - return; - - Pawn pawnA = props.pawn; - Pawn pawnB = props.partner; - - if (pawnA.genes != null && pawnA.genes.HasActiveGene(GeneDefOf.rjw_genes_living_cumbucket) && CumUtility.GetTotalFluidAmount(pawnB) > 0) - { - ProcessLivingCumbucket(pawnA, CumUtility.GetTotalFluidAmount(pawnB)); - } - - if (pawnB.genes != null && pawnB.genes.HasActiveGene(GeneDefOf.rjw_genes_living_cumbucket) && CumUtility.GetTotalFluidAmount(pawnA) > 0) - { - ProcessLivingCumbucket(pawnB, CumUtility.GetTotalFluidAmount(pawnA)); - } - } - - public static void ProcessLivingCumbucket(Pawn pawn, float cumamount) - { - float bodysize = pawn.BodySize; - float result_severity_increase = cumamount / (fluid_amount_required_for_hediff_severity_ * bodysize); - - - Hediff hediff = pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.rjw_genes_filled_living_cumbucket); - if (hediff == null) - { - hediff = pawn.health.GetOrAddHediff(HediffDefOf.rjw_genes_filled_living_cumbucket); - hediff.Severity = 0.01f; - } - - hediff.Severity += result_severity_increase; - ModLog.Debug($"Pumping the living cumbucket {pawn} (Bodysize {bodysize}) with {cumamount} cum, resulting in severity {hediff.Severity} (+{result_severity_increase})"); - } - } -} diff --git a/Source/Genes/GenitaliaSize/Gene_GenitaliaResizingGene.cs b/Source/Genes/GenitaliaSize/Gene_GenitaliaResizingGene.cs index b7de209..adae607 100644 --- a/Source/Genes/GenitaliaSize/Gene_GenitaliaResizingGene.cs +++ b/Source/Genes/GenitaliaSize/Gene_GenitaliaResizingGene.cs @@ -17,6 +17,8 @@ namespace RJW_Genes public abstract class Gene_GenitaliaResizingGene : RJW_Gene { + + /// /// Whether or not the gene was already applied. /// If not, it is checked on every birthday and will be applied accordingly. diff --git a/Source/Genes/Special/Defs/GeneAlteringExtension.cs b/Source/Genes/Special/Defs/GeneAlteringExtension.cs deleted file mode 100644 index 64b40d4..0000000 --- a/Source/Genes/Special/Defs/GeneAlteringExtension.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Verse; - -namespace RJW_Genes -{ - public class GeneAlteringExtension : DefModExtension - { - public List minorGenes; - public List majorGenes; - - public float minorApplicationChance; - public float majorApplicationChance; - } -} diff --git a/Source/Genes/Special/Patches/Patch_Feminizer.cs b/Source/Genes/Special/Patches/Patch_Feminizer.cs index 4259654..952f63a 100644 --- a/Source/Genes/Special/Patches/Patch_Feminizer.cs +++ b/Source/Genes/Special/Patches/Patch_Feminizer.cs @@ -16,8 +16,8 @@ namespace RJW_Genes [HarmonyPatch(typeof(SexUtility), "Aftersex")] public static class Patch_Feminizer { - - static GeneAlteringExtension geneAlteringExtension = GeneDefOf.rjw_genes_feminizer.GetModExtension(); + const float MINOR_APPLICATION_CHANCE = 0.25f; // = 25% to have a minor transformation + const float MAJOR_APPLICATION_CHANCE = 0.10f; // = 10% to have a major transformation public static void Postfix(SexProps props) { @@ -26,12 +26,6 @@ namespace RJW_Genes if (props.pawn.IsAnimal() || props.partner.IsAnimal()) return; - if (geneAlteringExtension == null) - { - ModLog.Warning("Did not find a (well-formed) GeneAlteringExtension for Feminizer"); - return; - } - ApplyFeminization(props.pawn); ApplyFeminization(props.partner); } @@ -50,12 +44,12 @@ namespace RJW_Genes { case float f when f > 0.8f: { - if (Random.NextDouble() < geneAlteringExtension.majorApplicationChance) + if (Random.NextDouble() < MAJOR_APPLICATION_CHANCE) MajorChange(pawn); } break; case float f when f > 0.6f: { - if (Random.NextDouble() < geneAlteringExtension.minorApplicationChance) + if (Random.NextDouble() < MINOR_APPLICATION_CHANCE) MinorChange(pawn); } break; default: @@ -63,11 +57,19 @@ namespace RJW_Genes ModLog.Debug($"Tried to feminize {pawn} - severity of feminization was too low ({hediff.def} @ {hediff.Severity} - {hediff.Label})") ; } break; } + } private static void MinorChange(Pawn pawn) { - List possibleGenes = geneAlteringExtension.minorGenes.ToList(); + List possibleGenes = new List() { + GeneDefOf.rjw_genes_small_male_genitalia, + GeneDefOf.rjw_genes_big_breasts, + GeneDefOf.rjw_genes_no_cum, + DefDatabase.GetNamed("Beard_NoBeardOnly"), + DefDatabase.GetNamed("Hair_LongOnly") + }; + GeneDef chosen = possibleGenes.RandomElement(); if (chosen == null) { @@ -88,7 +90,12 @@ namespace RJW_Genes private static void MajorChange(Pawn pawn) { - List possibleGenes = geneAlteringExtension.majorGenes.ToList(); + List possibleGenes = new List() { + GeneDefOf.rjw_genes_female_only, + GeneDefOf.rjw_genes_no_penis, + GeneDefOf.rjw_genes_minor_vulnerability, + }; + GeneDef chosen = possibleGenes.RandomElement(); if (chosen == null) { diff --git a/Source/Genes/Special/Patches/Patch_Twinkifier.cs b/Source/Genes/Special/Patches/Patch_Twinkifier.cs index b7205fb..87b43bc 100644 --- a/Source/Genes/Special/Patches/Patch_Twinkifier.cs +++ b/Source/Genes/Special/Patches/Patch_Twinkifier.cs @@ -16,8 +16,8 @@ namespace RJW_Genes [HarmonyPatch(typeof(SexUtility), "Aftersex")] public static class Patch_Twinkifier { - - static GeneAlteringExtension geneAlteringExtension = GeneDefOf.rjw_genes_twinkifier.GetModExtension(); + const float MINOR_APPLICATION_CHANCE = 0.25f; // = 25% to have a minor transformation + const float MAJOR_APPLICATION_CHANCE = 0.10f; // = 10% to have a major transformation public static void Postfix(SexProps props) { @@ -26,12 +26,6 @@ namespace RJW_Genes if (props.pawn.IsAnimal() || props.partner.IsAnimal()) return; - if (geneAlteringExtension == null) - { - ModLog.Warning("Did not find a (well-formed) GeneAlteringExtension for Twinkifier"); - return; - } - ApplyTwinkification(props.pawn); ApplyTwinkification(props.partner); } @@ -50,12 +44,12 @@ namespace RJW_Genes { case float f when f > 0.8f: { - if (Random.NextDouble() < geneAlteringExtension.majorApplicationChance) + if (Random.NextDouble() < MAJOR_APPLICATION_CHANCE) MajorChange(pawn); } break; case float f when f > 0.6f: { - if (Random.NextDouble() < geneAlteringExtension.minorApplicationChance) + if (Random.NextDouble() < MINOR_APPLICATION_CHANCE) MinorChange(pawn); } break; default: @@ -68,7 +62,12 @@ namespace RJW_Genes private static void MinorChange(Pawn pawn) { - List possibleGenes = geneAlteringExtension.minorGenes.ToList(); + List possibleGenes = new List() { + GeneDefOf.rjw_genes_small_male_genitalia, + DefDatabase.GetNamed("Beard_NoBeardOnly"), + DefDatabase.GetNamed("Body_Thin"), + GeneDefOf.rjw_genes_homosexual + }; GeneDef chosen = possibleGenes.RandomElement(); if (chosen == null) @@ -90,7 +89,13 @@ namespace RJW_Genes private static void MajorChange(Pawn pawn) { - List possibleGenes = geneAlteringExtension.majorGenes.ToList(); + List possibleGenes = new List() { + GeneDefOf.rjw_genes_fertile_anus, + DefDatabase.GetNamed("Beauty_Pretty"), + DefDatabase.GetNamed("Delicate"), + GeneDefOf.rjw_genes_minor_vulnerability, + GeneDefOf.rjw_genes_infectious_homosexuality + }; GeneDef chosen = possibleGenes.RandomElement(); if (chosen == null) diff --git a/Source/HediffDefOf.cs b/Source/HediffDefOf.cs index 2cc03fc..4214041 100644 --- a/Source/HediffDefOf.cs +++ b/Source/HediffDefOf.cs @@ -29,7 +29,5 @@ namespace RJW_Genes public static readonly HediffDef OvaryAgitator; public static readonly HediffDef Bioscaffold; - - [MayRequire("rjw.sexperience")] public static readonly HediffDef rjw_genes_filled_living_cumbucket; } } diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj index 05e2ed3..5182089 100644 --- a/Source/Rjw-Genes.csproj +++ b/Source/Rjw-Genes.csproj @@ -82,11 +82,7 @@ - - - - - + @@ -113,10 +109,10 @@ - - + + - + @@ -194,7 +190,6 @@ -