mirror of
				https://gitgud.io/lutepickle/rjw_menstruation.git
				synced 2024-08-14 22:46:52 +00:00 
			
		
		
		
	Consolidate instances of TickInterval/TicksPerHour into a single function
This commit is contained in:
		
							parent
							
								
									42b465430e
								
							
						
					
					
						commit
						6f3f3d28cf
					
				
					 3 changed files with 11 additions and 9 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -204,9 +204,9 @@ namespace RJW_Menstruation
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            // comp is used for Hydrogen's RJW Muscle Injury
 | 
					            // comp is used for Hydrogen's RJW Muscle Injury
 | 
				
			||||||
            float totalleak = volume;
 | 
					            float totalleak = volume;
 | 
				
			||||||
            float decayPerInterval = 1 - Mathf.Pow(1 - Configurations.CumDecayRatio, (float)comp.TickInterval / GenDate.TicksPerHour);
 | 
					            float decayPerInterval = 1 - Mathf.Pow(1 - Configurations.CumDecayRatio, comp.SimulationsPerHour);
 | 
				
			||||||
            float fertilityDecayPerInterval = 1 - Mathf.Pow(1 - Configurations.CumFertilityDecayRatio, (float)comp.TickInterval / GenDate.TicksPerHour);
 | 
					            float fertilityDecayPerInterval = 1 - Mathf.Pow(1 - Configurations.CumFertilityDecayRatio, comp.SimulationsPerHour);
 | 
				
			||||||
            antisperm *= (float)comp.TickInterval / GenDate.TicksPerHour;
 | 
					            antisperm *= comp.SimulationsPerHour;
 | 
				
			||||||
            volume *= Math.Max(0, 1 - decayPerInterval * (1 - DecayResist) * leakfactor);
 | 
					            volume *= Math.Max(0, 1 - decayPerInterval * (1 - DecayResist) * leakfactor);
 | 
				
			||||||
            fertility *= Math.Max(0, 1 - (fertilityDecayPerInterval * (1 - DecayResist) + antisperm));
 | 
					            fertility *= Math.Max(0, 1 - (fertilityDecayPerInterval * (1 - DecayResist) + antisperm));
 | 
				
			||||||
            CutMinor();
 | 
					            CutMinor();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -160,7 +160,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
            new CurvePoint(1.0f,0.5f)
 | 
					            new CurvePoint(1.0f,0.5f)
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public int TickInterval
 | 
					        protected int TickInterval
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
| 
						 | 
					@ -169,13 +169,15 @@ namespace RJW_Menstruation
 | 
				
			||||||
                    if (Pawn.IsAnimal()) tickInterval = Configurations.AnimalTickInterval;
 | 
					                    if (Pawn.IsAnimal()) tickInterval = Configurations.AnimalTickInterval;
 | 
				
			||||||
                    else if (Pawn.IsColonist || Pawn.IsPrisonerOfColony || Pawn.IsSlaveOfColony) tickInterval = Configurations.ColonistTickInterval;
 | 
					                    else if (Pawn.IsColonist || Pawn.IsPrisonerOfColony || Pawn.IsSlaveOfColony) tickInterval = Configurations.ColonistTickInterval;
 | 
				
			||||||
                    else tickInterval = Configurations.NonColonistTickInterval;
 | 
					                    else tickInterval = Configurations.NonColonistTickInterval;
 | 
				
			||||||
                    if (tickInterval <= 0) tickInterval = 1;
 | 
					                    if (tickInterval <= Configurations.TickIntervalMinimum) tickInterval = Configurations.TickIntervalMinimum;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                return tickInterval;
 | 
					                return tickInterval;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            set => tickInterval = value;
 | 
					            set => tickInterval = value;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public float SimulationsPerHour => (float)TickInterval / GenDate.TicksPerHour;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public Hediff Pregnancy {
 | 
					        public Hediff Pregnancy {
 | 
				
			||||||
            get
 | 
					            get
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
| 
						 | 
					@ -1059,9 +1061,9 @@ namespace RJW_Menstruation
 | 
				
			||||||
            if (Pawn.CurJobDef == xxx.knotted) leakfactor = 0f;
 | 
					            if (Pawn.CurJobDef == xxx.knotted) leakfactor = 0f;
 | 
				
			||||||
            foreach (Cum cum in cums)
 | 
					            foreach (Cum cum in cums)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (Rand.Chance((float)TickInterval / GenDate.TicksPerHour)) cum.CumEffects(Pawn);
 | 
					                if (Rand.Chance(SimulationsPerHour)) cum.CumEffects(Pawn);
 | 
				
			||||||
                float vd = cum.DismishNatural(leakfactor, this, antisperm);
 | 
					                float vd = cum.DismishNatural(leakfactor, this, antisperm);
 | 
				
			||||||
                cum.MakeThinner((float)Configurations.CycleAcceleration * TickInterval / GenDate.TicksPerHour);
 | 
					                cum.MakeThinner((float)Configurations.CycleAcceleration * SimulationsPerHour);
 | 
				
			||||||
                totalleak += AbsorbCum(vd, absorber);
 | 
					                totalleak += AbsorbCum(vd, absorber);
 | 
				
			||||||
                string tmp = "FilthLabelWithSource".Translate(cum.FilthDef.label, cum.pawn?.LabelShort ?? "Unknown", 1.ToString());
 | 
					                string tmp = "FilthLabelWithSource".Translate(cum.FilthDef.label, cum.pawn?.LabelShort ?? "Unknown", 1.ToString());
 | 
				
			||||||
                filthlabels.Add(tmp.Replace(" x1", ""));
 | 
					                filthlabels.Add(tmp.Replace(" x1", ""));
 | 
				
			||||||
| 
						 | 
					@ -1366,7 +1368,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //float fertFailChancePerHour = Mathf.Pow(1.0f - Configurations.FertilizeChance, totalFertPower * Props.basefertilizationChanceFactor);
 | 
					            //float fertFailChancePerHour = Mathf.Pow(1.0f - Configurations.FertilizeChance, totalFertPower * Props.basefertilizationChanceFactor);
 | 
				
			||||||
            //float fertFailChancePerInterval = Mathf.Pow(fertFailChancePerHour, (float)TickInterval / GenDate.TicksPerHour);
 | 
					            //float fertFailChancePerInterval = Mathf.Pow(fertFailChancePerHour, (float)TickInterval / GenDate.TicksPerHour);
 | 
				
			||||||
            float fertFailChancePerInterval = Mathf.Pow(1.0f - Configurations.FertilizeChance, totalFertPower * Props.basefertilizationChanceFactor * TickInterval / GenDate.TicksPerHour);
 | 
					            float fertFailChancePerInterval = Mathf.Pow(1.0f - Configurations.FertilizeChance, totalFertPower * Props.basefertilizationChanceFactor * SimulationsPerHour);
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
            if (Rand.Chance(fertFailChancePerInterval)) return null;
 | 
					            if (Rand.Chance(fertFailChancePerInterval)) return null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1509,7 +1511,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        protected void BleedOut()
 | 
					        protected void BleedOut()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            // ~1.5 per hour times acceleration
 | 
					            // ~1.5 per hour times acceleration
 | 
				
			||||||
            float bledAmount = 0.03f * Configurations.BleedingAmount * Configurations.CycleAcceleration * Rand.Range(0.5f, 1.5f) * TickInterval / GenDate.TicksPerHour;
 | 
					            float bledAmount = 0.03f * Configurations.BleedingAmount * Configurations.CycleAcceleration * Rand.Range(0.5f, 1.5f) * SimulationsPerHour;
 | 
				
			||||||
            CumIn(Pawn, bledAmount, Translations.Menstrual_Blood, -5.0f, Pawn.RaceProps?.BloodDef ?? ThingDefOf.Filth_Blood);
 | 
					            CumIn(Pawn, bledAmount, Translations.Menstrual_Blood, -5.0f, Pawn.RaceProps?.BloodDef ?? ThingDefOf.Filth_Blood);
 | 
				
			||||||
            Cum blood = GetNotCum(Translations.Menstrual_Blood);
 | 
					            Cum blood = GetNotCum(Translations.Menstrual_Blood);
 | 
				
			||||||
            if (blood != null) blood.Color = BloodColor;
 | 
					            if (blood != null) blood.Color = BloodColor;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue