diff --git a/CHANGELOG.md b/CHANGELOG.md index 629613f..3852765 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,15 +23,7 @@ - Issues with Elasticity References (#87) - Null Pointer for LoveFeeding when finding Mechs. Thanks to @Jaaldabaoth (Fixes #90) - Changes to the Implants introduced in 2.0.0 - they imposed a hidden dependency on Royalty (Fixes #89) -- Issues when generating relations (#98, fixed in #106 thanks @Jaaldabaoth) -- Hardening of Licentia Dependencies (#105) -- Littered Birth and Chest-Burst Pregnancy are now mutually exclusive (#96) -- Youth Fountain cannot youth on masturbation anymore (#99) -- Documented the HasActiveGene Error Message (#104) -- Pawns with "rjw_genes_no_sexneed" wont go raping (or atleast way less, #100) -- Extra Nullcheck for Genes in Orgasmic Mytosis (#95) -- Orgasmic Mytosis Pawns *should* inherit the Xenotypename and favorite colour now -- Babies should not have "SexChangeThoughts" anymore when they had a (fe)male-only gene (#103) + **Changes**: @@ -42,7 +34,6 @@ - Translate-Key for Animal Hybrid Race-Names - "Tick-Speed" for Evergrowth moved from Mod-Settings to XML - Some new Icons thanks to Kira-Bad-Artist -- Some new Icons thanks to Archer # 2.0.0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a7084d8..103a4f5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -30,5 +30,4 @@ But please consider also the following: - Cockeater & Naked Prowess come from *WasMachenDennSachen* but I copied it from Discord Chat. - Fertilin, Fertilin Drain, Healpussy, Succubus Wing & Tail come from Shabakur - Littered Birth, Many of the Penis Types are from Jaaldabaoth -- Feline Genitalia, Animal Mating Call and Udder are from Kira-Bad-Artist -- Sexual Tamer, Pheromone Spit and Mating call are from Archer \ No newline at end of file +- Feline Genitalia, Animal Mating Call and Udder are from Kira-Bad-Artist \ No newline at end of file diff --git a/Common/Defs/AbilityDefs/Ability_MatingCall.xml b/Common/Defs/AbilityDefs/Ability_MatingCall.xml index 383895f..a45fb1d 100644 --- a/Common/Defs/AbilityDefs/Ability_MatingCall.xml +++ b/Common/Defs/AbilityDefs/Ability_MatingCall.xml @@ -5,7 +5,7 @@ rjw_genes_ability_mating_call Calls nearby animals to breed me. - Genes/Icons/Mating_Call_2 + Genes/Icons/Animal_Mating_Call true false diff --git a/Common/Defs/AbilityDefs/Ability_PheromoneSpit.xml b/Common/Defs/AbilityDefs/Ability_PheromoneSpit.xml index 853a192..1305665 100644 --- a/Common/Defs/AbilityDefs/Ability_PheromoneSpit.xml +++ b/Common/Defs/AbilityDefs/Ability_PheromoneSpit.xml @@ -4,7 +4,7 @@ rjw_genes_ability_pheromone_spit Spit a condensed ball of animal pheromones to mark a target. Nearby Animals will try to breed the target. This means all animals - hostile, friendly and wild. - Genes/Icons/RJW_Genes_PheromoneSpit + Genes/Icons/Pheromone_Spit 3000 201 diff --git a/Common/Defs/GeneDefs/GeneDefs_Breeding.xml b/Common/Defs/GeneDefs/GeneDefs_Breeding.xml index 1eab617..200af57 100644 --- a/Common/Defs/GeneDefs/GeneDefs_Breeding.xml +++ b/Common/Defs/GeneDefs/GeneDefs_Breeding.xml @@ -82,7 +82,7 @@ rjw_genes_mating_call This gene allows to call nearby animals and invite them for mating. - Genes/Icons/RJW_Genes_Mating_Call + Genes/Icons/Animal_Mating_Call 65
  • rjw_genes_ability_mating_call
  • @@ -99,7 +99,7 @@ rjw_genes_pheromone_spit This gene allows to mark targets for breeding, enticing nearby animals for a ride. - Genes/Icons/RJW_Genes_PheromoneSpit + Genes/Icons/Pheromone_Spit 66
  • rjw_genes_ability_pheromone_spit
  • diff --git a/Common/Defs/GeneDefs/GeneDefs_Reproduction.xml b/Common/Defs/GeneDefs/GeneDefs_Reproduction.xml index 8a9d018..6a0878a 100644 --- a/Common/Defs/GeneDefs/GeneDefs_Reproduction.xml +++ b/Common/Defs/GeneDefs/GeneDefs_Reproduction.xml @@ -1,4 +1,4 @@ - + @@ -7,7 +7,7 @@ Reproduction Xenotypes with this Gene are Hypersexual (Nymphs). Genes/Icons/Hypersexual - 1 + 1
  • Nymphomaniac @@ -16,14 +16,13 @@ false -
  • - Genes/Icons/RJW_Genes_Endogene_Background - Genes/Icons/RJW_Genes_Xenogene_Background -
  • - +
  • + Genes/Icons/RJW_Genes_Endogene_Background + Genes/Icons/RJW_Genes_Xenogene_Background +
  • +
    - + rjw_genes_rapist @@ -31,7 +30,7 @@ Xenotypes with this Gene are Rapists. Genes/Icons/Rape 1 - 2 + 2
  • Rapist @@ -40,14 +39,13 @@ false -
  • - Genes/Icons/RJW_Genes_Endogene_Background - Genes/Icons/RJW_Genes_Xenogene_Background -
  • - +
  • + Genes/Icons/RJW_Genes_Endogene_Background + Genes/Icons/RJW_Genes_Xenogene_Background +
  • +
    - + - + rjw_genes_masochist Reproduction Xenotypes with this Gene are Masochists. Genes/Icons/Rape 1 - 2 + 2
  • Masochist @@ -89,12 +86,11 @@ false -
  • - Genes/Icons/RJW_Genes_Endogene_Background - Genes/Icons/RJW_Genes_Xenogene_Background -
  • - +
  • + Genes/Icons/RJW_Genes_Endogene_Background + Genes/Icons/RJW_Genes_Xenogene_Background +
  • +
    @@ -104,7 +100,7 @@ This Gene makes you gay. UI\Ideoligions\Universal\RoundC 0 - 3 + 3
  • Gay @@ -116,12 +112,11 @@ false -
  • - Genes/Icons/RJW_Genes_Endogene_Background - Genes/Icons/RJW_Genes_Xenogene_Background -
  • - +
  • + Genes/Icons/RJW_Genes_Endogene_Background + Genes/Icons/RJW_Genes_Xenogene_Background +
  • +
    @@ -131,7 +126,7 @@ Carriers of this Gene are Bisexual. UI\Ideoligions\Universal\RoundC 0 - 4 + 4
  • Bisexual @@ -143,61 +138,56 @@ false -
  • - Genes/Icons/RJW_Genes_Endogene_Background - Genes/Icons/RJW_Genes_Xenogene_Background -
  • - +
  • + Genes/Icons/RJW_Genes_Endogene_Background + Genes/Icons/RJW_Genes_Xenogene_Background +
  • +
    - - rjw_genes_no_sex_need - - Carriers of this gene do not have a sex-need. They can still participate in - sex, - Genes/Icons/Empty - 5 - -
  • Sex
  • -
    - -1 - 2 + + rjw_genes_no_sex_need + + Carriers of this gene do not have a sex-need. They can still participate in sex, + Genes/Icons/Empty + 5 + +
  • Sex
  • +
    + -1 + 2 + + false + +
  • rjw_genes_sexual_orientation
  • +
    - false - -
  • rjw_genes_sexual_orientation
  • -
    - - -
  • - Genes/Icons/RJW_Genes_Endogene_Background - Genes/Icons/RJW_Genes_Xenogene_Background -
  • -
    -
    - - - LitteredBirths - - Reproduction - Female carriers of this gene birth litters instead of just one baby, with a - chance of having two to four babies per pregnancy. - Genes/Icons/Gene_LitteredBirths - 110 - 1.10 - -2 - 1 - -
  • - ImpregnationFetishQuirk -
  • -
    - -
  • rjw_genes_littered_birth_vs_chestburst
  • -
    -
    + +
  • + Genes/Icons/RJW_Genes_Endogene_Background + Genes/Icons/RJW_Genes_Xenogene_Background +
  • +
    +
    + + + LitteredBirths + + Reproduction + Female carriers of this gene birth litters instead of just one baby, with a chance of having two to four babies per pregnancy. + Genes/Icons/Gene_LitteredBirths + 110 + 1.10 + -2 + 1 + + +
  • + ImpregnationFetishQuirk +
  • +
    + +
    \ No newline at end of file diff --git a/Common/Defs/GeneDefs/GeneDefs_SexSpecial.xml b/Common/Defs/GeneDefs/GeneDefs_SexSpecial.xml index dc07787..4e85dc7 100644 --- a/Common/Defs/GeneDefs/GeneDefs_SexSpecial.xml +++ b/Common/Defs/GeneDefs/GeneDefs_SexSpecial.xml @@ -137,7 +137,7 @@ sextamer Bestiality has a chance to tame animals or advance their training. - Genes/Icons/RJW_Genes_SexualTamer + Genes/Icons/Sexual_Tamer 14 2 -1 diff --git a/Common/Patches/Genes/Patch_Insector_ChestEggs.xml b/Common/Patches/Genes/Patch_Insector_ChestEggs.xml deleted file mode 100644 index 8d01d52..0000000 --- a/Common/Patches/Genes/Patch_Insector_ChestEggs.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - -
  • Vanilla Races Expanded - Insector
  • -
    - - Defs/GeneDef[defName = "VRE_ChestburstPregnancy"]/exclusionTags - -
  • rjw_genes_littered_birth_vs_chestburst
  • -
    -
    -
    - -
    \ No newline at end of file diff --git a/Common/Textures/Genes/Icons/Mating_Call_2.png b/Common/Textures/Genes/Icons/Mating_Call_2.png deleted file mode 100644 index 275e6dc..0000000 Binary files a/Common/Textures/Genes/Icons/Mating_Call_2.png and /dev/null differ diff --git a/Common/Textures/Genes/Icons/RJW_Genes_PheromoneSpit.png b/Common/Textures/Genes/Icons/RJW_Genes_PheromoneSpit.png deleted file mode 100644 index fc8f699..0000000 Binary files a/Common/Textures/Genes/Icons/RJW_Genes_PheromoneSpit.png and /dev/null differ diff --git a/Common/Textures/Genes/Icons/RJW_Genes_SexualTamer.png b/Common/Textures/Genes/Icons/RJW_Genes_SexualTamer.png deleted file mode 100644 index 6a848c6..0000000 Binary files a/Common/Textures/Genes/Icons/RJW_Genes_SexualTamer.png and /dev/null differ diff --git a/Common/Textures/Genes/Icons/Samples/AnimalMatingcall.psd b/Common/Textures/Genes/Icons/Samples/AnimalMatingcall.psd deleted file mode 100644 index 16c084b..0000000 Binary files a/Common/Textures/Genes/Icons/Samples/AnimalMatingcall.psd and /dev/null differ diff --git a/Common/Textures/Genes/Icons/Samples/Pheromone_Spit.psd b/Common/Textures/Genes/Icons/Samples/Pheromone_Spit.psd deleted file mode 100644 index c977538..0000000 Binary files a/Common/Textures/Genes/Icons/Samples/Pheromone_Spit.psd and /dev/null differ diff --git a/Common/Textures/Genes/Icons/Samples/RJW_Genes_MatingCall.psd b/Common/Textures/Genes/Icons/Samples/RJW_Genes_MatingCall.psd deleted file mode 100644 index 0ac04b9..0000000 Binary files a/Common/Textures/Genes/Icons/Samples/RJW_Genes_MatingCall.psd and /dev/null differ diff --git a/Common/Textures/Genes/Icons/Samples/Sexual_Tamer.psd b/Common/Textures/Genes/Icons/Samples/Sexual_Tamer.psd deleted file mode 100644 index e85ca52..0000000 Binary files a/Common/Textures/Genes/Icons/Samples/Sexual_Tamer.psd and /dev/null differ diff --git a/Common/Textures/Genes/Icons/Samples/Skill_Pheromone_Spit.psd b/Common/Textures/Genes/Icons/Samples/Skill_Pheromone_Spit.psd deleted file mode 100644 index 72e02a0..0000000 Binary files a/Common/Textures/Genes/Icons/Samples/Skill_Pheromone_Spit.psd and /dev/null differ diff --git a/KNOWN_BUGS.md b/KNOWN_BUGS.md index 676fc74..b836d4e 100644 --- a/KNOWN_BUGS.md +++ b/KNOWN_BUGS.md @@ -2,34 +2,6 @@ Collection of Known Bugs and reasons for their origin. -## System.MissingMethodException: bool RimWorld.Pawn_GeneTracker.HasActiveGene(Verse.GeneDef) - -You might see a bug like this: - -``` -Exception in Verse.AI.ThinkNode_Priority TryIssueJobPackage: System.MissingMethodException: bool RimWorld.Pawn_GeneTracker.HasActiveGene(Verse.GeneDef) -[Ref A8629303] Duplicate stacktrace, see ref for original -UnityEngine.StackTraceUtility:ExtractStackTrace () -(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch2 (string) -Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) -Verse.AI.ThinkNode_SubtreesByTag:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) -Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) -Verse.AI.Pawn_JobTracker:DetermineNextJob (Verse.ThinkTreeDef&,bool) -Verse.AI.Pawn_JobTracker:TryFindAndStartJob () -(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool) -(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.JobTrackerTick_Patch0 (Verse.AI.Pawn_JobTracker) -(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Pawn.Tick_Patch2 (Verse.Pawn) -Verse.TickList:Tick () -(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.TickManager.DoSingleTick_Patch3 (Verse.TickManager) -Verse.TickManager:TickManagerUpdate () -(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.UpdatePlay_Patch2 (Verse.Game) -Verse.Root_Play:Update () -``` - -This is due to the game not being updated - hasActiveGene has been introduced later than 1.5. - -You will have to update your game. - ## My Youth Fountain / Age Drainer Pawns do not alter Ages!!! Issue: You had a pawn with Youth Fountain have Sex with another Pawn, and the other pawn did not get younger. diff --git a/Source/Common/patches/Patch_ParentRelationUtility_GetParents.cs b/Source/Common/patches/Patch_ParentRelationUtility_GetParents.cs index d6f2d94..c153bf5 100644 --- a/Source/Common/patches/Patch_ParentRelationUtility_GetParents.cs +++ b/Source/Common/patches/Patch_ParentRelationUtility_GetParents.cs @@ -12,8 +12,6 @@ namespace RJW_Genes { /// /// This Patch handles the changes to Fathers / Mothers when dealing with Femboys and Male/Male Pregnancies. - /// - /// This is related to /// [HarmonyPatch(typeof(ParentRelationUtility))] public class Patch_ParentRelationUtility_GetParents diff --git a/Source/Genes/Cum/Patch_LikesCumflation.cs b/Source/Genes/Cum/Patch_LikesCumflation.cs index 6b78068..f25f28c 100644 --- a/Source/Genes/Cum/Patch_LikesCumflation.cs +++ b/Source/Genes/Cum/Patch_LikesCumflation.cs @@ -28,9 +28,6 @@ namespace RJW_Genes if (props == null || props.pawn == null || props.partner == null) return; - // Minor Hardening to help with #105 - if (!ModsConfig.IsActive("LustLicentia.RJWLabs")) return; - if (props.pawn.genes != null && props.pawn.genes.HasActiveGene(GeneDefOf.rjw_genes_likes_cumflation) ) { AddOrIncreaseCumflationCounterHediff(props.pawn); diff --git a/Source/Genes/Gender/GenderUtility.cs b/Source/Genes/Gender/GenderUtility.cs index 15c7c02..88aa063 100644 --- a/Source/Genes/Gender/GenderUtility.cs +++ b/Source/Genes/Gender/GenderUtility.cs @@ -101,20 +101,5 @@ namespace RJW_Genes pawn.health.RemoveHediff(hediff); } } - - /// - /// This check helps to get babies after birth, if the pawn was born with the gene it does not need to have thoughts. - /// There are very different ways to do the life stages, and there are also HAR people still around, - /// so instead of checking for stages I intentionally check for the biological ticks to be very low (that they can only exist basically if they are born right before). - /// Issue is tracked in #103. - /// - /// - public static void RemoveSexChangeThoughtsIfTooYoung(Pawn pawn) - { - if (pawn.ageTracker.AgeBiologicalTicks < 1000) - { - GenderUtility.RemoveAllSexChangeThoughts(pawn); - } - } } } diff --git a/Source/Genes/Gender/Gene_FemaleOnly.cs b/Source/Genes/Gender/Gene_FemaleOnly.cs index c3d5ef6..df48328 100644 --- a/Source/Genes/Gender/Gene_FemaleOnly.cs +++ b/Source/Genes/Gender/Gene_FemaleOnly.cs @@ -14,15 +14,12 @@ namespace RJW_Genes // Here we call Sexualization after the Sex-Change if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) Sexualizer.sexualize_pawn(pawn); - - GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn); } public override void PostAdd() { base.PostMake(); AdjustPawnToFemale(); - GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn); } private void AdjustPawnToFemale() diff --git a/Source/Genes/Gender/Gene_MaleOnly.cs b/Source/Genes/Gender/Gene_MaleOnly.cs index daca649..d99652a 100644 --- a/Source/Genes/Gender/Gene_MaleOnly.cs +++ b/Source/Genes/Gender/Gene_MaleOnly.cs @@ -14,15 +14,12 @@ namespace RJW_Genes // Here we call Sexualization after the Sex-Change if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) Sexualizer.sexualize_pawn(pawn); - - GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn); } public override void PostAdd() { base.PostMake(); AdjustPawnToMale(); - GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn); } private void AdjustPawnToMale() diff --git a/Source/Genes/Patches/Patch_Asexual_CanRape.cs b/Source/Genes/Patches/Patch_Asexual_CanRape.cs deleted file mode 100644 index 76e02a3..0000000 --- a/Source/Genes/Patches/Patch_Asexual_CanRape.cs +++ /dev/null @@ -1,28 +0,0 @@ -using HarmonyLib; -using rjw; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Verse; - -namespace RJW_Genes.Genes.Patches -{ - /// - /// This Patch hooks after "can_rape" and changes it to false for pawns that have no sex_need (are a-sexual). - /// This helps with #100, and is more of a non-intrusive improvement over the base game. - /// - [HarmonyPatch(typeof(xxx), nameof(xxx.can_rape))] - public class Patch_Asexual_CanRape - { - public static bool PostFix(Pawn pawn, ref bool __result) - { - if (pawn != null && pawn.genes != null && pawn.genes.HasActiveGene(GeneDefOf.rjw_genes_no_sex_need)) - { - __result = false; - } - return __result; - } - } -} diff --git a/Source/Genes/Special/Patches/Patch_AgeDrain.cs b/Source/Genes/Special/Patches/Patch_AgeDrain.cs index ab159b1..060c20d 100644 --- a/Source/Genes/Special/Patches/Patch_AgeDrain.cs +++ b/Source/Genes/Special/Patches/Patch_AgeDrain.cs @@ -31,12 +31,6 @@ namespace RJW_Genes.Genes.Special return; } - if (props.pawn == props.partner || props.sexType == xxx.rjwSextype.Masturbation || props.sexType == xxx.rjwSextype.None) - { - // This case was reported but is a bit strange, I hardened it after reports in #99 - return; - } - Pawn pawn = props.pawn; Pawn partner = props.partner; diff --git a/Source/Genes/Special/Patches/Patch_OrgasmMytosis.cs b/Source/Genes/Special/Patches/Patch_OrgasmMytosis.cs index fb93e10..ba640bb 100644 --- a/Source/Genes/Special/Patches/Patch_OrgasmMytosis.cs +++ b/Source/Genes/Special/Patches/Patch_OrgasmMytosis.cs @@ -31,9 +31,7 @@ namespace RJW_Genes Pawn orgasmingPawn = __instance.pawn; bool hasPollutedMytosis = false; - if (orgasmingPawn == null || orgasmingPawn.genes == null) { return; } - - if ((GeneUtility.HasGeneNullCheck(orgasmingPawn, GeneDefOf.rjw_genes_sexual_mytosis) || hasPollutedMytosis) && ! orgasmingPawn.health.hediffSet.HasHediff(HediffDefOf.rjw_genes_mytosis_shock_hediff)) + if (orgasmingPawn != null && (GeneUtility.HasGeneNullCheck(orgasmingPawn, GeneDefOf.rjw_genes_sexual_mytosis) || hasPollutedMytosis) && ! orgasmingPawn.health.hediffSet.HasHediff(HediffDefOf.rjw_genes_mytosis_shock_hediff)) { var mytosisHediff = GetOrgasmMytosisHediff(orgasmingPawn); mytosisHediff.Severity += SEVERITY_INCREASE_PER_ORGASM; @@ -150,8 +148,6 @@ namespace RJW_Genes copy.style = CopyStyleTracker(copy, toMultiply.style); copy.story = CopyStoryTracker(copy, toMultiply.story); - copy.genes.xenotypeName = toMultiply.genes.xenotypeName; - copy.story.favoriteColor = toMultiply.story.favoriteColor; Find.LetterStack.ReceiveLetter("Orgasmic Mytosis", $"{toMultiply.NameShortColored} performed mytosis on orgasm! The pawn and its clone entered a regenerative state.", RimWorld.LetterDefOf.NeutralEvent, copy); diff --git a/Source/Genes/Special/Patches/Patch_Youth_Fountain.cs b/Source/Genes/Special/Patches/Patch_Youth_Fountain.cs index d810bc6..b64ca83 100644 --- a/Source/Genes/Special/Patches/Patch_Youth_Fountain.cs +++ b/Source/Genes/Special/Patches/Patch_Youth_Fountain.cs @@ -30,12 +30,6 @@ namespace RJW_Genes.Genes.Special return; } - if (props.pawn == props.partner || props.sexType == xxx.rjwSextype.Masturbation || props.sexType == xxx.rjwSextype.None) - { - // This case was reported but is a bit strange, I hardened it after reports in #99 - return; - } - if (GeneUtility.IsYouthFountain(props.pawn)) { ChangeAgeForPawn(props.partner, props.pawn); diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj index dadf954..500f87e 100644 --- a/Source/Rjw-Genes.csproj +++ b/Source/Rjw-Genes.csproj @@ -166,7 +166,6 @@ - @@ -219,7 +218,8 @@ False - ..\..\rjw-sexperience\1.5\Assemblies\RJWSexperience.dll + ..\..\rjw-sexperience-master\1.5\Assemblies\RJWSexperience.dll + False