mirror of
				https://github.com/vegapnk/RJW-Genes.git
				synced 2024-08-15 00:23:31 +00:00 
			
		
		
		
	Changes to NoBreasts - Split in Nipples and Featureless Chest. Adjusted Logs accordingly
This commit is contained in:
		
							parent
							
								
									1b590ba2a2
								
							
						
					
					
						commit
						90204f9134
					
				
					 8 changed files with 113 additions and 18 deletions
				
			
		| 
						 | 
					@ -1,10 +1,18 @@
 | 
				
			||||||
# 1.1.1 
 | 
					# 1.1.1 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Changes: 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Drastically increased mood-penalty for Fertilin-Loss (if the pawn is still too happy, there will never be a breakdown for missing fertilin)
 | 
				
			||||||
 | 
					- No-Breast Genes add Nipples
 | 
				
			||||||
 | 
					- Featureless Chest Gene (No Nipples at all, adds the RJW Featureless Chest as requested per some Kobold fetishists)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Fixes: 
 | 
					Fixes: 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Small and Big Male Genitalia had images wrong way round 
 | 
					- Small and Big Male Genitalia had images wrong way round 
 | 
				
			||||||
- Fertilin should activate at a MinAge of 18 
 | 
					- Fertilin should activate at a MinAge of 18 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**Important**: The Fertilin Changes could throw errors! I tested a bit, but not a lot. 
 | 
				
			||||||
 | 
					So please reach out if you get something and I will try to fix it ASAP. 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 1.1.0 (2023-03-04)
 | 
					# 1.1.0 (2023-03-04)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -70,7 +70,7 @@
 | 
				
			||||||
  <GeneDef ParentName="GeneExtraGenitaliaBase">
 | 
					  <GeneDef ParentName="GeneExtraGenitaliaBase">
 | 
				
			||||||
    <defName>rjw_genes_no_breasts</defName>
 | 
					    <defName>rjw_genes_no_breasts</defName>
 | 
				
			||||||
    <label>no breasts</label>
 | 
					    <label>no breasts</label>
 | 
				
			||||||
    <description>Females of this do not have a pair of breasts.</description>
 | 
					    <description>Females of this do not have a pair of breasts, but only nipples.</description>
 | 
				
			||||||
    <iconPath>Genes/Icons/No_Breasts</iconPath>
 | 
					    <iconPath>Genes/Icons/No_Breasts</iconPath>
 | 
				
			||||||
    <geneClass>RJW_Genes.Gene_NoBreasts</geneClass>
 | 
					    <geneClass>RJW_Genes.Gene_NoBreasts</geneClass>
 | 
				
			||||||
    <displayOrderInCategory>706</displayOrderInCategory>
 | 
					    <displayOrderInCategory>706</displayOrderInCategory>
 | 
				
			||||||
| 
						 | 
					@ -106,7 +106,7 @@
 | 
				
			||||||
    <GeneDef ParentName="GeneExtraGenitaliaBase">
 | 
					    <GeneDef ParentName="GeneExtraGenitaliaBase">
 | 
				
			||||||
	    <defName>rjw_genes_futa</defName>
 | 
						    <defName>rjw_genes_futa</defName>
 | 
				
			||||||
	    <label>futanari</label>
 | 
						    <label>futanari</label>
 | 
				
			||||||
	    <description>Males of this xenotype grow additional female genitalia, Females grow additional male genitalia.</description>
 | 
						    <description>Males with this gene grow additional female genitalia, females grow additional male genitalia.</description>
 | 
				
			||||||
	    <iconPath>Genes/Icons/Futa</iconPath>
 | 
						    <iconPath>Genes/Icons/Futa</iconPath>
 | 
				
			||||||
	    <geneClass>RJW_Genes.Gene_Futa</geneClass>
 | 
						    <geneClass>RJW_Genes.Gene_Futa</geneClass>
 | 
				
			||||||
	    <displayOrderInCategory>709</displayOrderInCategory>
 | 
						    <displayOrderInCategory>709</displayOrderInCategory>
 | 
				
			||||||
| 
						 | 
					@ -116,4 +116,16 @@
 | 
				
			||||||
	    </exclusionTags>
 | 
						    </exclusionTags>
 | 
				
			||||||
    </GeneDef>
 | 
					    </GeneDef>
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
					  <GeneDef ParentName="GeneExtraGenitaliaBase">
 | 
				
			||||||
 | 
					    <defName>rjw_genes_featureless_chest</defName>
 | 
				
			||||||
 | 
					    <label>Featureless Chest</label>
 | 
				
			||||||
 | 
					    <description>Carriers of this gene do not have breasts or nipples.</description>
 | 
				
			||||||
 | 
					    <iconPath>Genes/Icons/No_Breasts</iconPath>
 | 
				
			||||||
 | 
					    <geneClass>RJW_Genes.Gene_FeaturelessChest</geneClass>
 | 
				
			||||||
 | 
					    <displayOrderInCategory>710</displayOrderInCategory>
 | 
				
			||||||
 | 
					    <exclusionTags>
 | 
				
			||||||
 | 
					      <li>BreastAmount</li>
 | 
				
			||||||
 | 
					    </exclusionTags>
 | 
				
			||||||
 | 
					  </GeneDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</Defs>
 | 
					</Defs>
 | 
				
			||||||
| 
						 | 
					@ -39,17 +39,17 @@
 | 
				
			||||||
      <li>
 | 
					      <li>
 | 
				
			||||||
        <label>fertilin craving</label>
 | 
					        <label>fertilin craving</label>
 | 
				
			||||||
        <description>My bones ache. I really need fertilin.</description>
 | 
					        <description>My bones ache. I really need fertilin.</description>
 | 
				
			||||||
        <baseMoodEffect>-10</baseMoodEffect>
 | 
					        <baseMoodEffect>-25</baseMoodEffect>
 | 
				
			||||||
      </li>
 | 
					      </li>
 | 
				
			||||||
      <li>
 | 
					      <li>
 | 
				
			||||||
        <label>fertilin craving</label>
 | 
					        <label>fertilin craving</label>
 | 
				
			||||||
        <description>This hurts bad and I can't stop thinking about sex. I would do anything for some cum.</description>
 | 
					        <description>This hurts bad and I can't stop thinking about sex. I would do anything for some cum.</description>
 | 
				
			||||||
        <baseMoodEffect>-15</baseMoodEffect>
 | 
					        <baseMoodEffect>-40</baseMoodEffect>
 | 
				
			||||||
      </li>
 | 
					      </li>
 | 
				
			||||||
      <li>
 | 
					      <li>
 | 
				
			||||||
        <label>fertilin craving</label>
 | 
					        <label>fertilin craving</label>
 | 
				
			||||||
        <description>Can't think. Sex. Sex. Must. Have. Cum.</description>
 | 
					        <description>Can't think. Sex. Sex. Must. Have. Cum.</description>
 | 
				
			||||||
        <baseMoodEffect>-20</baseMoodEffect>
 | 
					        <baseMoodEffect>-55</baseMoodEffect>
 | 
				
			||||||
      </li>
 | 
					      </li>
 | 
				
			||||||
    </stages>
 | 
					    </stages>
 | 
				
			||||||
  </ThoughtDef>
 | 
					  </ThoughtDef>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -54,6 +54,8 @@ Maybe you can also fix it by changing `<DisplayOrderInXenotype>` in the Male/Fem
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Full-No-Genital-Genes get Genitals later 
 | 
					## Full-No-Genital-Genes get Genitals later 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*Update: Should be addressed with 1.1.1 and not appear anymore*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Error: I added all "no-XXX" genes but my pawn has genitalia on map!
 | 
					Error: I added all "no-XXX" genes but my pawn has genitalia on map!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Reason: If you go with Full-No-Genitals (No Penis, No Anus, No Breasts, No Vagina) then the pawn spawns without any Genitalia on the map, 
 | 
					Reason: If you go with Full-No-Genitals (No Penis, No Anus, No Breasts, No Vagina) then the pawn spawns without any Genitalia on the map, 
 | 
				
			||||||
| 
						 | 
					@ -63,6 +65,8 @@ however then the RJW base-logic runs the sexualizer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Log Pops up for Xenotypes with Female/Male Only Gene 
 | 
					## Log Pops up for Xenotypes with Female/Male Only Gene 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*Update: Should not appear anymore after 1.1 when used with current rjw versions* 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Error: 
 | 
					Error: 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
When using a Xenotype with the Female only gene, upon refresh it can open the log with the following (red) statement: 
 | 
					When using a Xenotype with the Female only gene, upon refresh it can open the log with the following (red) statement: 
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										61
									
								
								Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,61 @@
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					using rjw;
 | 
				
			||||||
 | 
					using RimWorld;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RJW_Genes
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class Gene_FeaturelessChest : RJW_Gene
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        internal Hediff removed_breasts;
 | 
				
			||||||
 | 
					        internal Hediff added_nipples;
 | 
				
			||||||
 | 
					        public override void PostMake()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            base.PostMake();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (removed_breasts == null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                RemoveButStoreBreasts();
 | 
				
			||||||
 | 
					                AddFeaturelessBreast();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override void PostAdd()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            base.PostAdd();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (removed_breasts == null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                RemoveButStoreBreasts();
 | 
				
			||||||
 | 
					                AddFeaturelessBreast();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override void PostRemove()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            base.PostRemove();
 | 
				
			||||||
 | 
					            if (added_nipples != null)
 | 
				
			||||||
 | 
					                pawn.health.RemoveHediff(added_nipples);
 | 
				
			||||||
 | 
					            if (removed_breasts != null)
 | 
				
			||||||
 | 
					                pawn.health.AddHediff(removed_breasts);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        internal void RemoveButStoreBreasts()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            var partBPR = Genital_Helper.get_breastsBPR(pawn);
 | 
				
			||||||
 | 
					            Hediff breastsToRemove = Genital_Helper.get_AllPartsHediffList(pawn).FindLast(x => GenitaliaUtility.IsBreasts(x));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (breastsToRemove != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                removed_breasts = breastsToRemove;
 | 
				
			||||||
 | 
					                pawn.health.RemoveHediff(breastsToRemove);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        internal void AddFeaturelessBreast()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            var partBPR = Genital_Helper.get_breastsBPR(pawn);
 | 
				
			||||||
 | 
					            this.added_nipples = pawn.health.AddHediff(Genital_Helper.featureless_chest, partBPR);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -6,18 +6,15 @@ namespace RJW_Genes
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public class Gene_NoBreasts : RJW_Gene
 | 
					    public class Gene_NoBreasts : RJW_Gene
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        Hediff breastsToShrink;
 | 
				
			||||||
 | 
					        internal float oldSize = -1f;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        internal Hediff removed_breasts;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // TODO: This gene only works if another Gene was set specifying the genitalia. 
 | 
					 | 
				
			||||||
        // If it is added later, it still works, but on creation it needs a different 
 | 
					 | 
				
			||||||
        // TODO: If all Genitalia are removed by genes, RJW adds some to the pawns at spawn. IDEA: Add male-nipples ?
 | 
					 | 
				
			||||||
        public override void PostMake()
 | 
					        public override void PostMake()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            base.PostMake();
 | 
					            base.PostMake();
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
            // Breasts are removed for female pawns!
 | 
					            // Breasts are removed for female pawns!
 | 
				
			||||||
            if (GenderUtility.IsFemale(pawn) && removed_breasts == null)
 | 
					            if (GenderUtility.IsFemale(pawn) && oldSize < 0)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                RemoveButStoreBreasts();
 | 
					                RemoveButStoreBreasts();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
| 
						 | 
					@ -28,7 +25,7 @@ namespace RJW_Genes
 | 
				
			||||||
            base.PostAdd();
 | 
					            base.PostAdd();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Breasts are removed for female pawns!
 | 
					            // Breasts are removed for female pawns!
 | 
				
			||||||
            if (GenderUtility.IsFemale(pawn) && removed_breasts == null)
 | 
					            if (GenderUtility.IsFemale(pawn) && oldSize < 0)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                RemoveButStoreBreasts();
 | 
					                RemoveButStoreBreasts();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
| 
						 | 
					@ -37,21 +34,33 @@ namespace RJW_Genes
 | 
				
			||||||
        public override void PostRemove()
 | 
					        public override void PostRemove()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            base.PostRemove();
 | 
					            base.PostRemove();
 | 
				
			||||||
            if(removed_breasts != null)    
 | 
					            // Re-Add the old breasts
 | 
				
			||||||
                pawn.health.AddHediff(removed_breasts);
 | 
					            if (oldSize != null)
 | 
				
			||||||
 | 
					                breastsToShrink.Severity = oldSize;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        internal void RemoveButStoreBreasts()
 | 
					        internal void RemoveButStoreBreasts()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var partBPR = Genital_Helper.get_breastsBPR(pawn);
 | 
					            var partBPR = Genital_Helper.get_breastsBPR(pawn);
 | 
				
			||||||
            Hediff breastsToRemove = Genital_Helper.get_AllPartsHediffList(pawn).FindLast(x => GenitaliaUtility.IsBreasts(x));
 | 
					            breastsToShrink = Genital_Helper.get_AllPartsHediffList(pawn).FindLast(x => GenitaliaUtility.IsBreasts(x));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(breastsToRemove != null)
 | 
					            if(breastsToShrink != null)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                removed_breasts = breastsToRemove;
 | 
					                oldSize = breastsToShrink.Severity;
 | 
				
			||||||
                pawn.health.RemoveHediff(breastsToRemove);
 | 
					                //pawn.health.RemoveHediff(breastsToRemove);
 | 
				
			||||||
 | 
					                breastsToShrink.Severity = 0f;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /*
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// Adds a "rjw.featurelesschest", which means nipples but nothing else (like male human pawns do).
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        internal void AddFeaturelessBreast()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            var partBPR = Genital_Helper.get_breastsBPR(pawn);
 | 
				
			||||||
 | 
					            //this.added_nipples = pawn.health.AddHediff(Genital_Helper.featureless_chest, partBPR);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        */
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -59,6 +59,7 @@
 | 
				
			||||||
    <Compile Include="Genes\ExtraGenitalia\Gene_ExtraAnus.cs" />
 | 
					    <Compile Include="Genes\ExtraGenitalia\Gene_ExtraAnus.cs" />
 | 
				
			||||||
    <Compile Include="Genes\ExtraGenitalia\Gene_Futa.cs" />
 | 
					    <Compile Include="Genes\ExtraGenitalia\Gene_Futa.cs" />
 | 
				
			||||||
    <Compile Include="Genes\ExtraGenitalia\Gene_ExtraVagina.cs" />
 | 
					    <Compile Include="Genes\ExtraGenitalia\Gene_ExtraVagina.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Genes\ExtraGenitalia\Gene_FeaturelessChest.cs" />
 | 
				
			||||||
    <Compile Include="Genes\ExtraGenitalia\Gene_NoBreasts.cs" />
 | 
					    <Compile Include="Genes\ExtraGenitalia\Gene_NoBreasts.cs" />
 | 
				
			||||||
    <Compile Include="Genes\ExtraGenitalia\Gene_NoAnus.cs" />
 | 
					    <Compile Include="Genes\ExtraGenitalia\Gene_NoAnus.cs" />
 | 
				
			||||||
    <Compile Include="Genes\ExtraGenitalia\Gene_NoVagina.cs" />
 | 
					    <Compile Include="Genes\ExtraGenitalia\Gene_NoVagina.cs" />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue