Merged Anal and Vaginal Absorber, added a lot of icons
| 
						 | 
				
			
			@ -4,7 +4,7 @@
 | 
			
		|||
    <defName>rjw_genes_naked_prowess</defName>
 | 
			
		||||
    <label>naked prowess</label>
 | 
			
		||||
    <description>Enhance the strength and resilience of your naked body with fertilin.</description>
 | 
			
		||||
    <iconPath>Things/Mote/Heart</iconPath>
 | 
			
		||||
    <iconPath>Genes/Icons/rjw_naked_prowess</iconPath>
 | 
			
		||||
    <warmupMoteSocialSymbol>Things/Mote/Heart</warmupMoteSocialSymbol>
 | 
			
		||||
	<jobDef>CastAbilityOnThing</jobDef>
 | 
			
		||||
    <targetRequired>False</targetRequired>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@
 | 
			
		|||
    <defName>rjw_genes_seduce</defName>
 | 
			
		||||
    <label>seduce</label>
 | 
			
		||||
    <description>Seduce the target to approach the caster.</description>
 | 
			
		||||
    <iconPath>Things/Mote/Heart</iconPath>
 | 
			
		||||
    <iconPath>Genes/Icons/seduce</iconPath>
 | 
			
		||||
    <writeCombatLog>True</writeCombatLog>	
 | 
			
		||||
    <stunTargetWhileCasting>true</stunTargetWhileCasting>
 | 
			
		||||
    <displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,7 +15,7 @@
 | 
			
		|||
		<showGizmoOnWorldView>true</showGizmoOnWorldView>
 | 
			
		||||
		<showGizmoWhenDrafted>true</showGizmoWhenDrafted>
 | 
			
		||||
		<resourceDescription>A reserve of biological strength which can be gained and spent in a variety of ways. \n\nFertilin can be increased by absorbing cum, typically through oral sex or stored cum. \n\nIf fertilin reaches zero, {PAWN_nameDef} will become very unhappy and may try to obtain some forcefully.</resourceDescription>
 | 
			
		||||
		<iconPath>UI/Icons/Genes/Gene_Hemogenic</iconPath>
 | 
			
		||||
		<iconPath>Genes/Icons/FertilinAlt</iconPath>
 | 
			
		||||
		<selectionWeight>0</selectionWeight>
 | 
			
		||||
		<displayCategory>rjw_genes_fertilin</displayCategory>
 | 
			
		||||
		<displayOrderInCategory>-2</displayOrderInCategory>
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +39,7 @@
 | 
			
		|||
		<description>Carriers lose an additional 15 fertilin per day from biological entropy.</description>
 | 
			
		||||
		<resourceLabel>fertilin</resourceLabel>
 | 
			
		||||
		<geneClass>RJW_Genes.Gene_LifeForceDrain</geneClass>
 | 
			
		||||
		<iconPath>UI/Icons/Genes/Gene_HemogenDrain</iconPath>
 | 
			
		||||
		<iconPath>Genes/Icons/FertilinDrainAlt</iconPath>
 | 
			
		||||
		<prerequisite>rjw_genes_lifeforce</prerequisite>
 | 
			
		||||
		<resourceLossPerDay>0.15</resourceLossPerDay>
 | 
			
		||||
		<displayCategory>rjw_genes_fertilin</displayCategory>
 | 
			
		||||
| 
						 | 
				
			
			@ -53,7 +53,7 @@
 | 
			
		|||
		<label>Pussy Healer</label>
 | 
			
		||||
		<labelShortAdj>pussyhealer</labelShortAdj>
 | 
			
		||||
		<description>Carriers of this gene are able use vaginal sex to tend to other's wounds.</description>
 | 
			
		||||
		<iconPath>Things/Mote/Heart</iconPath>
 | 
			
		||||
		<iconPath>Genes/Icons/Healpussy</iconPath>
 | 
			
		||||
		<prerequisite>rjw_genes_lifeforce</prerequisite>
 | 
			
		||||
		<displayOrderInCategory>9</displayOrderInCategory>
 | 
			
		||||
		<displayCategory>rjw_genes_fertilin</displayCategory>
 | 
			
		||||
| 
						 | 
				
			
			@ -79,7 +79,7 @@
 | 
			
		|||
		<label>Cockeater</label>
 | 
			
		||||
		<labelShortAdj>cockeater</labelShortAdj>
 | 
			
		||||
		<description>Carriers of this gene are able eat cocks to restore their fertilin supply. Cocks are consumed during that process.</description>
 | 
			
		||||
		<iconPath>Things/Mote/Heart</iconPath>
 | 
			
		||||
		<iconPath>Genes/Icons/cockeater</iconPath>
 | 
			
		||||
		<prerequisite>rjw_genes_lifeforce</prerequisite>
 | 
			
		||||
		<displayOrderInCategory>11</displayOrderInCategory>
 | 
			
		||||
		<displayCategory>rjw_genes_fertilin</displayCategory>
 | 
			
		||||
| 
						 | 
				
			
			@ -130,7 +130,7 @@
 | 
			
		|||
		<label>seduction</label>
 | 
			
		||||
		<labelShortAdj>seduction</labelShortAdj>
 | 
			
		||||
		<description>Carriers of this gene are able to seduce a pawn into having sex with them.</description>
 | 
			
		||||
		<iconPath>Things/Mote/Heart</iconPath>
 | 
			
		||||
		<iconPath>Genes/Icons/seduce</iconPath>
 | 
			
		||||
		<prerequisite>rjw_genes_lifeforce</prerequisite>
 | 
			
		||||
		<displayOrderInCategory>13</displayOrderInCategory>
 | 
			
		||||
		<displayCategory>rjw_genes_fertilin</displayCategory>
 | 
			
		||||
| 
						 | 
				
			
			@ -155,7 +155,7 @@
 | 
			
		|||
		<defName>rjw_genes_naked_prowess</defName>
 | 
			
		||||
		<label>naked prowess</label>
 | 
			
		||||
		<description>Carriers of this gene are able to temporarily increase their strength and resilience, while they are naked.</description>
 | 
			
		||||
		<iconPath>Things/Mote/Heart</iconPath>
 | 
			
		||||
		<iconPath>Genes/Icons/rjw_naked_prowess</iconPath>
 | 
			
		||||
		<prerequisite>rjw_genes_lifeforce</prerequisite>
 | 
			
		||||
		<displayOrderInCategory>13</displayOrderInCategory>
 | 
			
		||||
		<displayCategory>rjw_genes_fertilin</displayCategory>
 | 
			
		||||
| 
						 | 
				
			
			@ -173,7 +173,7 @@
 | 
			
		|||
		<defName>rjw_genes_cum_eater</defName>
 | 
			
		||||
		<label>Cum eater</label>
 | 
			
		||||
		<description>Carriers of this gene are able to absorb fertilin through eating cum. This includes oral sex, eating cum for food or sucking out cumflated pawns. </description>
 | 
			
		||||
		<iconPath>Things/Mote/Heart</iconPath>
 | 
			
		||||
		<iconPath>Genes/Icons/cumeater</iconPath>
 | 
			
		||||
		<prerequisite>rjw_genes_lifeforce</prerequisite>
 | 
			
		||||
		<displayOrderInCategory>1</displayOrderInCategory>
 | 
			
		||||
		<displayCategory>rjw_genes_fertilin</displayCategory>
 | 
			
		||||
| 
						 | 
				
			
			@ -181,27 +181,16 @@
 | 
			
		|||
	</GeneDef>
 | 
			
		||||
	
 | 
			
		||||
	<GeneDef>
 | 
			
		||||
		<defName>rjw_genes_vaginal_absorber</defName>
 | 
			
		||||
		<label>Vaginal Fertilin Absorber</label>
 | 
			
		||||
		<description>Carriers of this gene are able to absorb the fertilin inside sperm through their vagina.</description>
 | 
			
		||||
		<iconPath>Things/Mote/Heart</iconPath>
 | 
			
		||||
		<defName>rjw_genes_fertilin_absorber</defName>
 | 
			
		||||
		<label>Fertilin Absorber</label>
 | 
			
		||||
		<description>Carriers of this gene are able to absorb the fertilin inside sperm through their vagina and anus.</description>
 | 
			
		||||
		<iconPath>Genes/Icons/Vaginal_cum_absorption</iconPath>
 | 
			
		||||
		<prerequisite>rjw_genes_lifeforce</prerequisite>
 | 
			
		||||
		<displayOrderInCategory>2</displayOrderInCategory>
 | 
			
		||||
		<displayCategory>rjw_genes_fertilin</displayCategory>
 | 
			
		||||
		<biostatCpx>1</biostatCpx>
 | 
			
		||||
	</GeneDef>
 | 
			
		||||
	
 | 
			
		||||
	<GeneDef>
 | 
			
		||||
		<defName>rjw_genes_anal_absorber</defName>
 | 
			
		||||
		<label>Anal Fertilin Absorber</label>
 | 
			
		||||
		<description>Carriers of this gene are able to absorb the fertilin inside sperm through their anus.</description>
 | 
			
		||||
		<iconPath>Things/Mote/Heart</iconPath>
 | 
			
		||||
		<prerequisite>rjw_genes_lifeforce</prerequisite>
 | 
			
		||||
		<displayOrderInCategory>3</displayOrderInCategory>
 | 
			
		||||
		<displayCategory>rjw_genes_fertilin</displayCategory>
 | 
			
		||||
		<biostatCpx>1</biostatCpx>
 | 
			
		||||
	</GeneDef>
 | 
			
		||||
	
 | 
			
		||||
	<GeneDef>
 | 
			
		||||
		<defName>rjw_genes_drainer</defName>
 | 
			
		||||
		<label>vitality drainer</label>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,8 +31,7 @@
 | 
			
		|||
		    <li>rjw_genes_demonic_genitalia</li>
 | 
			
		||||
		
 | 
			
		||||
		    <li>rjw_genes_cum_eater</li>
 | 
			
		||||
        <li>rjw_genes_vaginal_absorber</li>
 | 
			
		||||
        <li>rjw_genes_anal_absorber</li>
 | 
			
		||||
        <li>rjw_genes_fertilin_absorber</li>
 | 
			
		||||
 | 
			
		||||
        <li>rjw_genes_paralysingkiss</li>
 | 
			
		||||
        <li>rjw_genes_seduce</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -89,7 +88,7 @@
 | 
			
		|||
        <li>UVSensitivity_Intense</li>
 | 
			
		||||
        <li>AptitudeStrong_Intellectual</li>
 | 
			
		||||
        <li>Ears_Pointed</li>
 | 
			
		||||
        <li>Headbone_MiniHorns</li>
 | 
			
		||||
        <li>Headbone_CenterHorn</li>
 | 
			
		||||
        <li>Skin_InkBlack</li>
 | 
			
		||||
    </genes>
 | 
			
		||||
  </XenotypeDef>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/FertilinAlt.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 6.4 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/FertilinDrainAlt.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 7.8 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Healpussy.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 11 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/Vaginal_cum_absorption.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 40 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/cockeater.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 228 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/cumeater.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 31 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/rjw_naked_prowess.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 364 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Common/Textures/Genes/Icons/seduce.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 29 KiB  | 
| 
						 | 
				
			
			@ -82,8 +82,7 @@ namespace RJW_Genes
 | 
			
		|||
		public static readonly GeneDef rjw_genes_pussyhealing;
 | 
			
		||||
		public static readonly GeneDef rjw_genes_lifeforce_drain;
 | 
			
		||||
		public static readonly GeneDef rjw_genes_cum_eater;
 | 
			
		||||
		public static readonly GeneDef rjw_genes_vaginal_absorber;
 | 
			
		||||
		public static readonly GeneDef rjw_genes_anal_absorber;
 | 
			
		||||
		public static readonly GeneDef rjw_genes_fertilin_absorber;
 | 
			
		||||
		public static readonly GeneDef rjw_genes_drainer;
 | 
			
		||||
		public static readonly GeneDef rjw_genes_seduce;
 | 
			
		||||
		public static readonly GeneDef rjw_genes_paralysingkiss;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,7 +47,7 @@ namespace RJW_Genes
 | 
			
		|||
			if (cachedLifeForceGene.Resource.Value <= cachedLifeForceGene.Resource.MinLevelForAlert && this.Pawn.IsHashIntervalTick(2500) && Rand.Chance(0.03f)) //~50% chance each day for mental break
 | 
			
		||||
			{
 | 
			
		||||
				if (this.Pawn.genes.HasGene(GeneDefOf.rjw_genes_cum_eater)
 | 
			
		||||
				|| this.Pawn.genes.HasGene(GeneDefOf.rjw_genes_vaginal_absorber) || this.Pawn.genes.HasGene(GeneDefOf.rjw_genes_anal_absorber) || this.Pawn.genes.HasGene(GeneDefOf.rjw_genes_drainer))
 | 
			
		||||
				|| this.Pawn.genes.HasGene(GeneDefOf.rjw_genes_fertilin_absorber) || this.Pawn.genes.HasGene(GeneDefOf.rjw_genes_drainer))
 | 
			
		||||
				{
 | 
			
		||||
					//TODO: use mentalstatedef instead of mentalbreakdef
 | 
			
		||||
					MentalBreakDef randomrape = GeneDefOf.rjw_genes_lifeforce_randomrape;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -180,24 +180,17 @@ namespace RJW_Genes
 | 
			
		|||
			{
 | 
			
		||||
				absorb_factor += 1f;
 | 
			
		||||
			}
 | 
			
		||||
			else if (props.sexType == xxx.rjwSextype.Vaginal && GeneUtility.HasGeneNullCheck(PawnWithLifeForce, GeneDefOf.rjw_genes_vaginal_absorber))
 | 
			
		||||
			else if (props.sexType == xxx.rjwSextype.Vaginal && GeneUtility.HasGeneNullCheck(PawnWithLifeForce, GeneDefOf.rjw_genes_fertilin_absorber))
 | 
			
		||||
			{
 | 
			
		||||
				absorb_factor += 1f;
 | 
			
		||||
			}
 | 
			
		||||
			else if (props.sexType == xxx.rjwSextype.Anal && GeneUtility.HasGeneNullCheck(PawnWithLifeForce, GeneDefOf.rjw_genes_anal_absorber))
 | 
			
		||||
			else if (props.sexType == xxx.rjwSextype.Anal && GeneUtility.HasGeneNullCheck(PawnWithLifeForce, GeneDefOf.rjw_genes_fertilin_absorber))
 | 
			
		||||
			{
 | 
			
		||||
				absorb_factor += 1f;
 | 
			
		||||
			}
 | 
			
		||||
			else if (props.sexType == xxx.rjwSextype.DoublePenetration)
 | 
			
		||||
			else if (props.sexType == xxx.rjwSextype.DoublePenetration && GeneUtility.HasGeneNullCheck(PawnWithLifeForce, GeneDefOf.rjw_genes_fertilin_absorber))
 | 
			
		||||
			{
 | 
			
		||||
				if (GeneUtility.HasGeneNullCheck(PawnWithLifeForce, GeneDefOf.rjw_genes_vaginal_absorber))
 | 
			
		||||
				{
 | 
			
		||||
					absorb_factor += 0.5f;
 | 
			
		||||
				}
 | 
			
		||||
				if (GeneUtility.HasGeneNullCheck(PawnWithLifeForce, GeneDefOf.rjw_genes_anal_absorber))
 | 
			
		||||
				{
 | 
			
		||||
					absorb_factor += 0.5f;
 | 
			
		||||
				}
 | 
			
		||||
				absorb_factor += 1f;
 | 
			
		||||
			}
 | 
			
		||||
			else if (props.sexType == xxx.rjwSextype.Scissoring || props.sexType == xxx.rjwSextype.Cunnilingus)
 | 
			
		||||
			{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -58,8 +58,7 @@ namespace RJW_Genes
 | 
			
		|||
        private static List<GeneDef> FertilinSourceGenes = new List<GeneDef>() {
 | 
			
		||||
            GeneDefOf.rjw_genes_drainer, 
 | 
			
		||||
            GeneDefOf.rjw_genes_cum_eater, 
 | 
			
		||||
            GeneDefOf.rjw_genes_vaginal_absorber,
 | 
			
		||||
            GeneDefOf.rjw_genes_anal_absorber, 
 | 
			
		||||
            GeneDefOf.rjw_genes_fertilin_absorber,
 | 
			
		||||
            GeneDefOf.rjw_genes_cockeater 
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,12 +35,9 @@ namespace RJW_Genes.Interactions
 | 
			
		|||
					yield return new Weighted<LewdablePartKind>(weight, LewdablePartKind.Beak);
 | 
			
		||||
				}
 | 
			
		||||
				
 | 
			
		||||
				if (pawn.genes.HasGene(GeneDefOf.rjw_genes_vaginal_absorber))
 | 
			
		||||
				if (pawn.genes.HasGene(GeneDefOf.rjw_genes_fertilin_absorber))
 | 
			
		||||
				{
 | 
			
		||||
					yield return new Weighted<LewdablePartKind>(weight, LewdablePartKind.Vagina);
 | 
			
		||||
				}
 | 
			
		||||
				if (pawn.genes.HasGene(GeneDefOf.rjw_genes_anal_absorber))
 | 
			
		||||
				{
 | 
			
		||||
					yield return new Weighted<LewdablePartKind>(weight, LewdablePartKind.Anus);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			@ -64,12 +61,10 @@ namespace RJW_Genes.Interactions
 | 
			
		|||
				}
 | 
			
		||||
				yield return new Weighted<LewdablePartKind>(weight, LewdablePartKind.Mouth);
 | 
			
		||||
				yield return new Weighted<LewdablePartKind>(weight, LewdablePartKind.Beak);
 | 
			
		||||
				if (pawn.genes.HasGene(GeneDefOf.rjw_genes_vaginal_absorber))
 | 
			
		||||
 | 
			
		||||
				if (pawn.genes.HasGene(GeneDefOf.rjw_genes_fertilin_absorber))
 | 
			
		||||
				{
 | 
			
		||||
					yield return new Weighted<LewdablePartKind>(weight, LewdablePartKind.Vagina);
 | 
			
		||||
				}
 | 
			
		||||
				if (pawn.genes.HasGene(GeneDefOf.rjw_genes_anal_absorber))
 | 
			
		||||
				{
 | 
			
		||||
					yield return new Weighted<LewdablePartKind>(weight, LewdablePartKind.Anus);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||