mirror of
				https://github.com/vegapnk/RJW-Genes.git
				synced 2024-08-15 00:23:31 +00:00 
			
		
		
		
	Compare commits
	
		
			8 commits
		
	
	
		
			5544740ec6
			...
			70ffef13c8
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
							 | 
						70ffef13c8 | ||
| 
							 | 
						e13c00ce01 | ||
| 
							 | 
						77b81d28cc | ||
| 
							 | 
						ae9baa2d6b | ||
| 
							 | 
						0c139f2eff | ||
| 
							 | 
						daee7c747f | ||
| 
							 | 
						1c73d52041 | ||
| 
							 | 
						92d90dd39e | 
					 27 changed files with 220 additions and 87 deletions
				
			
		
							
								
								
									
										11
									
								
								CHANGELOG.md
									
										
									
									
									
								
							
							
						
						
									
										11
									
								
								CHANGELOG.md
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -23,7 +23,15 @@
 | 
			
		|||
- 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**:
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -34,6 +42,7 @@
 | 
			
		|||
- 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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,3 +31,4 @@ But please consider also the following:
 | 
			
		|||
- 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
 | 
			
		||||
| 
						 | 
				
			
			@ -5,7 +5,7 @@
 | 
			
		|||
    <defName>rjw_genes_ability_mating_call</defName>
 | 
			
		||||
    <label>Mating Call</label>
 | 
			
		||||
    <description>Calls nearby animals to breed me.</description>
 | 
			
		||||
    <iconPath>Genes/Icons/Animal_Mating_Call</iconPath>
 | 
			
		||||
    <iconPath>Genes/Icons/Mating_Call_2</iconPath>
 | 
			
		||||
    
 | 
			
		||||
    <displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
 | 
			
		||||
    <disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@
 | 
			
		|||
    <defName>rjw_genes_ability_pheromone_spit</defName>
 | 
			
		||||
    <label>pheromone spit</label>
 | 
			
		||||
    <description>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.</description>
 | 
			
		||||
    <iconPath>Genes/Icons/Pheromone_Spit</iconPath>
 | 
			
		||||
    <iconPath>Genes/Icons/RJW_Genes_PheromoneSpit</iconPath>
 | 
			
		||||
 | 
			
		||||
    <cooldownTicksRange>3000</cooldownTicksRange>
 | 
			
		||||
    <displayOrder>201</displayOrder>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -82,7 +82,7 @@
 | 
			
		|||
		<defName>rjw_genes_mating_call</defName>
 | 
			
		||||
		<label>Mating Call</label>
 | 
			
		||||
		<description>This gene allows to call nearby animals and invite them for mating.</description>
 | 
			
		||||
    <iconPath>Genes/Icons/Animal_Mating_Call</iconPath>
 | 
			
		||||
    <iconPath>Genes/Icons/RJW_Genes_Mating_Call</iconPath>
 | 
			
		||||
		<displayOrderInCategory>65</displayOrderInCategory>
 | 
			
		||||
		<abilities>
 | 
			
		||||
			<li>rjw_genes_ability_mating_call</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -99,7 +99,7 @@
 | 
			
		|||
		<defName>rjw_genes_pheromone_spit</defName>
 | 
			
		||||
		<label>Pheromone Spit</label>
 | 
			
		||||
		<description>This gene allows to mark targets for breeding, enticing nearby animals for a ride.</description>
 | 
			
		||||
    <iconPath>Genes/Icons/Pheromone_Spit</iconPath>
 | 
			
		||||
    <iconPath>Genes/Icons/RJW_Genes_PheromoneSpit</iconPath>
 | 
			
		||||
		<displayOrderInCategory>66</displayOrderInCategory>
 | 
			
		||||
		<abilities>
 | 
			
		||||
			<li>rjw_genes_ability_pheromone_spit</li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,8 @@
 | 
			
		|||
 | 
			
		||||
        <randomChosen>false</randomChosen>
 | 
			
		||||
        <modExtensions>
 | 
			
		||||
			<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
            <li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core"
 | 
			
		||||
                Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
                <backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
 | 
			
		||||
                <backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
 | 
			
		||||
            </li>
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +40,8 @@
 | 
			
		|||
 | 
			
		||||
        <randomChosen>false</randomChosen>
 | 
			
		||||
        <modExtensions>
 | 
			
		||||
			<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
            <li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core"
 | 
			
		||||
                Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
                <backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
 | 
			
		||||
                <backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
 | 
			
		||||
            </li>
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +64,8 @@
 | 
			
		|||
        </forcedTraits>
 | 
			
		||||
 | 
			
		||||
        <modExtensions>
 | 
			
		||||
			<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
			<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core"
 | 
			
		||||
    Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
				<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
 | 
			
		||||
				<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
 | 
			
		||||
			</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -86,7 +89,8 @@
 | 
			
		|||
 | 
			
		||||
        <randomChosen>false</randomChosen>
 | 
			
		||||
        <modExtensions>
 | 
			
		||||
			<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
            <li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core"
 | 
			
		||||
                Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
                <backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
 | 
			
		||||
                <backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
 | 
			
		||||
            </li>
 | 
			
		||||
| 
						 | 
				
			
			@ -112,7 +116,8 @@
 | 
			
		|||
 | 
			
		||||
        <randomChosen>false</randomChosen>
 | 
			
		||||
        <modExtensions>
 | 
			
		||||
			<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
            <li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core"
 | 
			
		||||
                Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
                <backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
 | 
			
		||||
                <backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
 | 
			
		||||
            </li>
 | 
			
		||||
| 
						 | 
				
			
			@ -138,7 +143,8 @@
 | 
			
		|||
 | 
			
		||||
        <randomChosen>false</randomChosen>
 | 
			
		||||
        <modExtensions>
 | 
			
		||||
			<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
            <li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core"
 | 
			
		||||
                Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
                <backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
 | 
			
		||||
                <backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
 | 
			
		||||
            </li>
 | 
			
		||||
| 
						 | 
				
			
			@ -149,7 +155,8 @@
 | 
			
		|||
    <GeneDef>
 | 
			
		||||
        <defName>rjw_genes_no_sex_need</defName>
 | 
			
		||||
        <label>asexual</label>
 | 
			
		||||
    <description>Carriers of this gene do not have a sex-need. They can still participate in sex, </description>
 | 
			
		||||
        <description>Carriers of this gene do not have a sex-need. They can still participate in
 | 
			
		||||
            sex, </description>
 | 
			
		||||
        <iconPath>Genes/Icons/Empty</iconPath>
 | 
			
		||||
        <displayOrderInCategory>5</displayOrderInCategory>
 | 
			
		||||
        <disablesNeeds>
 | 
			
		||||
| 
						 | 
				
			
			@ -164,7 +171,8 @@
 | 
			
		|||
        </exclusionTags>
 | 
			
		||||
 | 
			
		||||
        <modExtensions>
 | 
			
		||||
        <li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
            <li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core"
 | 
			
		||||
                Class="VanillaGenesExpanded.GeneExtension">
 | 
			
		||||
                <backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
 | 
			
		||||
                <backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
 | 
			
		||||
            </li>
 | 
			
		||||
| 
						 | 
				
			
			@ -175,19 +183,21 @@
 | 
			
		|||
        <defName>LitteredBirths</defName>
 | 
			
		||||
        <label>littered births</label>
 | 
			
		||||
        <displayCategory>Reproduction</displayCategory>
 | 
			
		||||
    <description>Female carriers of this gene birth litters instead of just one baby, with a chance of having two to four babies per pregnancy.</description>
 | 
			
		||||
        <description>Female carriers of this gene birth litters instead of just one baby, with a
 | 
			
		||||
            chance of having two to four babies per pregnancy.</description>
 | 
			
		||||
        <iconPath>Genes/Icons/Gene_LitteredBirths</iconPath>
 | 
			
		||||
        <displayOrderInCategory>110</displayOrderInCategory>
 | 
			
		||||
        <marketValueFactor>1.10</marketValueFactor>
 | 
			
		||||
        <biostatMet>-2</biostatMet>
 | 
			
		||||
        <biostatCpx>1</biostatCpx>
 | 
			
		||||
	
 | 
			
		||||
        <modExtensions>
 | 
			
		||||
            <li Class="RJW_Genes.QirkExtension">
 | 
			
		||||
                <Satisfiedquirk>ImpregnationFetishQuirk</Satisfiedquirk>
 | 
			
		||||
            </li>
 | 
			
		||||
        </modExtensions>
 | 
			
		||||
	
 | 
			
		||||
        <exclusionTags>
 | 
			
		||||
            <li>rjw_genes_littered_birth_vs_chestburst</li>
 | 
			
		||||
        </exclusionTags>
 | 
			
		||||
    </GeneDef>
 | 
			
		||||
 | 
			
		||||
</Defs>
 | 
			
		||||
| 
						 | 
				
			
			@ -137,7 +137,7 @@
 | 
			
		|||
        <label>Sexual Tamer</label>
 | 
			
		||||
        <labelShortAdj>sextamer</labelShortAdj>
 | 
			
		||||
        <description>Bestiality has a chance to tame animals or advance their training.</description>
 | 
			
		||||
        <iconPath>Genes/Icons/Sexual_Tamer</iconPath>
 | 
			
		||||
        <iconPath>Genes/Icons/RJW_Genes_SexualTamer</iconPath>
 | 
			
		||||
		<displayOrderInCategory>14</displayOrderInCategory>
 | 
			
		||||
		<biostatCpx>2</biostatCpx>
 | 
			
		||||
		<biostatMet>-1</biostatMet>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										15
									
								
								Common/Patches/Genes/Patch_Insector_ChestEggs.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								Common/Patches/Genes/Patch_Insector_ChestEggs.xml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Patch>
 | 
			
		||||
    <Operation Class="PatchOperationFindMod">
 | 
			
		||||
        <mods>
 | 
			
		||||
            <li>Vanilla Races Expanded - Insector</li>
 | 
			
		||||
        </mods>
 | 
			
		||||
        <match Class="PatchOperationAdd">
 | 
			
		||||
            <xpath>Defs/GeneDef[defName = "VRE_ChestburstPregnancy"]/exclusionTags</xpath>
 | 
			
		||||
            <value>
 | 
			
		||||
                <li>rjw_genes_littered_birth_vs_chestburst</li>
 | 
			
		||||
            </value>
 | 
			
		||||
        </match>
 | 
			
		||||
    </Operation>
 | 
			
		||||
 | 
			
		||||
</Patch>
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Mating_Call_2.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Mating_Call_2.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 17 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/RJW_Genes_PheromoneSpit.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/RJW_Genes_PheromoneSpit.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 6 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/RJW_Genes_SexualTamer.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/RJW_Genes_SexualTamer.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 132 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Samples/AnimalMatingcall.psd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Samples/AnimalMatingcall.psd
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Samples/Pheromone_Spit.psd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Samples/Pheromone_Spit.psd
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Samples/RJW_Genes_MatingCall.psd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Samples/RJW_Genes_MatingCall.psd
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Samples/Sexual_Tamer.psd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Samples/Sexual_Tamer.psd
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Samples/Skill_Pheromone_Spit.psd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Samples/Skill_Pheromone_Spit.psd
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -2,6 +2,34 @@
 | 
			
		|||
 | 
			
		||||
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. 
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,6 +12,8 @@ namespace RJW_Genes
 | 
			
		|||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// This Patch handles the changes to Fathers / Mothers when dealing with Femboys and Male/Male Pregnancies.
 | 
			
		||||
    /// 
 | 
			
		||||
    /// This is related to 
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    [HarmonyPatch(typeof(ParentRelationUtility))]
 | 
			
		||||
    public class Patch_ParentRelationUtility_GetParents
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,6 +28,9 @@ 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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -101,5 +101,20 @@ namespace RJW_Genes
 | 
			
		|||
                    pawn.health.RemoveHediff(hediff);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 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.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="pawn"></param>
 | 
			
		||||
        public static void RemoveSexChangeThoughtsIfTooYoung(Pawn pawn)
 | 
			
		||||
        {
 | 
			
		||||
            if (pawn.ageTracker.AgeBiologicalTicks < 1000)
 | 
			
		||||
            {
 | 
			
		||||
                GenderUtility.RemoveAllSexChangeThoughts(pawn);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,12 +14,15 @@ 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()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,12 +14,15 @@ 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()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										28
									
								
								Source/Genes/Patches/Patch_Asexual_CanRape.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								Source/Genes/Patches/Patch_Asexual_CanRape.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
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
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
	/// 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. 
 | 
			
		||||
	/// </summary>
 | 
			
		||||
	[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;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -31,6 +31,12 @@ 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;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,7 +31,9 @@ namespace RJW_Genes
 | 
			
		|||
			Pawn orgasmingPawn = __instance.pawn;
 | 
			
		||||
            bool hasPollutedMytosis = false;
 | 
			
		||||
 | 
			
		||||
            if (orgasmingPawn != null && (GeneUtility.HasGeneNullCheck(orgasmingPawn, GeneDefOf.rjw_genes_sexual_mytosis) || hasPollutedMytosis) && ! orgasmingPawn.health.hediffSet.HasHediff(HediffDefOf.rjw_genes_mytosis_shock_hediff))
 | 
			
		||||
            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))
 | 
			
		||||
			{
 | 
			
		||||
				var mytosisHediff = GetOrgasmMytosisHediff(orgasmingPawn);
 | 
			
		||||
				mytosisHediff.Severity += SEVERITY_INCREASE_PER_ORGASM;
 | 
			
		||||
| 
						 | 
				
			
			@ -148,6 +150,8 @@ 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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,6 +30,12 @@ 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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -166,6 +166,7 @@
 | 
			
		|||
    <Compile Include="Genes\Life_Force\UI\GeneGizmo_ResourceLifeForce.cs" />
 | 
			
		||||
    <Compile Include="Genes\Patches\LustFeeding.cs" />
 | 
			
		||||
    <Compile Include="Genes\Patches\MultiplePregnancies.cs" />
 | 
			
		||||
    <Compile Include="Genes\Patches\Patch_Asexual_CanRape.cs" />
 | 
			
		||||
    <Compile Include="Genes\Patch_AddNotifyOnGeneration.cs" />
 | 
			
		||||
    <Compile Include="Genes\Quirks\Defs\QirkExtension.cs" />
 | 
			
		||||
    <Compile Include="Genes\Quirks\QuirkPatcher.cs" />
 | 
			
		||||
| 
						 | 
				
			
			@ -218,8 +219,7 @@
 | 
			
		|||
      <Private>False</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="RJWSexperience">
 | 
			
		||||
      <HintPath>..\..\rjw-sexperience-master\1.5\Assemblies\RJWSexperience.dll</HintPath>
 | 
			
		||||
      <Private>False</Private>
 | 
			
		||||
      <HintPath>..\..\rjw-sexperience\1.5\Assemblies\RJWSexperience.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="System" />
 | 
			
		||||
    <Reference Include="UnityEngine">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue