mirror of
				https://gitgud.io/lutepickle/rjw_menstruation.git
				synced 2024-08-14 22:46:52 +00:00 
			
		
		
		
	Fix bad texture error for low fertility during induced ovulator sex
This commit is contained in:
		
							parent
							
								
									334ef9d52a
								
							
						
					
					
						commit
						25556c464e
					
				
					 6 changed files with 18 additions and 62 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -55,12 +55,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        protected override void AfterCumIn(Pawn cummer)
 | 
					        protected override void AfterCumIn(Pawn cummer)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            base.AfterCumIn(cummer);
 | 
					            base.AfterCumIn(cummer);
 | 
				
			||||||
            switch (curStage)
 | 
					            if (curStage == Stage.Follicular) GoNextStage(Stage.Ovulatory);
 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                case Stage.Follicular:
 | 
					 | 
				
			||||||
                    GoNextStage(Stage.Ovulatory);
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public override bool IsDangerDay
 | 
					        public override bool IsDangerDay
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -242,24 +242,15 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public float TotalCum
 | 
					        public float TotalCum
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get => cums?.Sum(cum => cum.Volume) ?? 0;            
 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                return cums?.Sum(cum => cum.Volume) ?? 0;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public float TotalFertCum
 | 
					        public float TotalFertCum
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get => cums?.Sum(cum => cum.FertVolume) ?? 0;
 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                return cums?.Sum(cum => cum.FertVolume) ?? 0;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public float TotalCumPercent
 | 
					        public float TotalCumPercent
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get => cums?.Sum(cum => cum.Volume) / Props.maxCumCapacity ?? 0;
 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                return cums?.Sum(cum => cum.Volume) / Props.maxCumCapacity ?? 0;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public float CumCapacity
 | 
					        public float CumCapacity
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -275,7 +266,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (xxx.has_quirk(Pawn, "Breeder")) return 0.5f;
 | 
					                if (QuirkUtility.HasQuirk(Pawn, QuirkUtility.Quirks.Breeder)) return 0.5f;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                return 1.0f;
 | 
					                return 1.0f;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
| 
						 | 
					@ -449,25 +440,13 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public string WombTex
 | 
					        public string WombTex
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get => customwombtex ?? Props.wombTex;
 | 
				
			||||||
            {
 | 
					            set => customwombtex = value;
 | 
				
			||||||
                return customwombtex ?? Props.wombTex;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            set
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                customwombtex = value;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public string VagTex
 | 
					        public string VagTex
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get => customvagtex ?? Props.vagTex;
 | 
				
			||||||
            {
 | 
					            set => customvagtex = value;
 | 
				
			||||||
                return customvagtex ?? Props.vagTex;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            set
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                customvagtex = value;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public string GetFertilizingInfo
 | 
					        public string GetFertilizingInfo
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -520,18 +499,12 @@ namespace RJW_Menstruation
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public bool IsEggExist
 | 
					        public bool IsEggExist
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get => !eggs.NullOrEmpty();
 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                return !eggs.NullOrEmpty();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public int EggLifespanHours
 | 
					        public int EggLifespanHours
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get => eggLifeSpanHours;
 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                return eggLifeSpanHours;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public virtual bool IsDangerDay
 | 
					        public virtual bool IsDangerDay
 | 
				
			||||||
| 
						 | 
					@ -555,10 +528,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public int GetNumOfEggs
 | 
					        public int GetNumOfEggs
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get => eggs?.Count ?? 0;
 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                return eggs?.Count ?? 0;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public Color BloodColor
 | 
					        public Color BloodColor
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -573,7 +543,6 @@ namespace RJW_Menstruation
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    return Colors.blood;
 | 
					                    return Colors.blood;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -587,18 +556,12 @@ namespace RJW_Menstruation
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                return originvagsize ?? 0.1f;
 | 
					                return originvagsize ?? 0.1f;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            set
 | 
					            set => originvagsize = value;
 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                originvagsize = value;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public float CurStageIntervalHours
 | 
					        public float CurStageIntervalHours
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get => currentIntervalHours;
 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                return currentIntervalHours;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public float StageProgress
 | 
					        public float StageProgress
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -231,7 +231,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
                            job.Sexprops != null &&
 | 
					                            job.Sexprops != null &&
 | 
				
			||||||
                            !job.Sexprops.usedCondom &&
 | 
					                            !job.Sexprops.usedCondom &&
 | 
				
			||||||
                            (job.Sexprops.sexType == xxx.rjwSextype.Vaginal || job.Sexprops.sexType == xxx.rjwSextype.DoublePenetration))
 | 
					                            (job.Sexprops.sexType == xxx.rjwSextype.Vaginal || job.Sexprops.sexType == xxx.rjwSextype.DoublePenetration))
 | 
				
			||||||
                            return ContentFinder<Texture2D>.Get((comp.OvulationChance >= ovaryChanceToShow_01) ? "Ovaries/Ovary_01" : "Ovaries_Ovary_00", true);
 | 
					                            return ContentFinder<Texture2D>.Get((comp.OvulationChance >= ovaryChanceToShow_01) ? "Ovaries/Ovary_01" : "Ovaries/Ovary_00", true);
 | 
				
			||||||
                        else break;
 | 
					                        else break;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    if (comp.curStageHrs > comp.CurStageIntervalHours - 30)   // Approximate time for ovulation to occur
 | 
					                    if (comp.curStageHrs > comp.CurStageIntervalHours - 30)   // Approximate time for ovulation to occur
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -200,19 +200,16 @@ namespace RJW_Menstruation
 | 
				
			||||||
            if (!VariousDefOf.WombGenes.Contains(gene.def)) return true;
 | 
					            if (!VariousDefOf.WombGenes.Contains(gene.def)) return true;
 | 
				
			||||||
            bool keepGene;
 | 
					            bool keepGene;
 | 
				
			||||||
            if (PawnGenerator.IsBeingGenerated(___pawn))
 | 
					            if (PawnGenerator.IsBeingGenerated(___pawn))
 | 
				
			||||||
            {
 | 
					                // During pawn generation, the vagina hediff doesn't exist yet, so use gender to decide instead
 | 
				
			||||||
                // During pawn generation, the vagina hediff doesn't exist yet
 | 
					 | 
				
			||||||
                // So use gender to decide instead
 | 
					 | 
				
			||||||
                // Not the most accurate, but close enough
 | 
					                // Not the most accurate, but close enough
 | 
				
			||||||
                keepGene = ___pawn.gender == Gender.Female;
 | 
					                keepGene = ___pawn.gender == Gender.Female;
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            else keepGene = ___pawn.GetMenstruationComps().Any();
 | 
					            else keepGene = ___pawn.GetMenstruationComps().Any();
 | 
				
			||||||
            if (!keepGene) __result = null;
 | 
					            if (!keepGene) __result = null;
 | 
				
			||||||
            return keepGene;
 | 
					            return keepGene;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        [HarmonyPatch(typeof(Pawn_GeneTracker), "Notify_GenesChanged")]
 | 
					    [HarmonyPatch(typeof(Pawn_GeneTracker), "Notify_GenesChanged")]
 | 
				
			||||||
    public class Notify_GenesChanged_Patch
 | 
					    public class Notify_GenesChanged_Patch
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        public static void Postfix(Pawn_GeneTracker __instance)
 | 
					        public static void Postfix(Pawn_GeneTracker __instance)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
Version 1.0.9.0
 | 
					Version 1.0.9.0
 | 
				
			||||||
 | 
					 - Fix errors when opening the womb dialog of an induced ovulator with low fertility during sex.
 | 
				
			||||||
 - Menstruation-related genes will now stay on females during initial pawn setup.
 | 
					 - Menstruation-related genes will now stay on females during initial pawn setup.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Version 1.0.8.9
 | 
					Version 1.0.8.9
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue