mirror of
				https://gitgud.io/lutepickle/rjw_menstruation.git
				synced 2024-08-14 22:46:52 +00:00 
			
		
		
		
	Display ovaries on the womb dialog when near ovulation
This commit is contained in:
		
							parent
							
								
									4ce0574e0b
								
							
						
					
					
						commit
						5b784c3c59
					
				
					 8 changed files with 39 additions and 23 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								1.3/Textures/Ovaries/Ovary_00.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								1.3/Textures/Ovaries/Ovary_00.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 26 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								1.3/Textures/Ovaries/Ovary_01.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								1.3/Textures/Ovaries/Ovary_01.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 32 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								1.3/Textures/Ovaries/Ovary_02.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								1.3/Textures/Ovaries/Ovary_02.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 43 KiB  | 
| 
						 | 
					@ -155,40 +155,55 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return wombtex;
 | 
					            return wombtex;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public static Texture2D GetEggIcon(this HediffComp_Menstruation comp)
 | 
					        public static Texture2D GetEggIcon(this HediffComp_Menstruation comp, bool includeOvary)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (comp.parent.pawn.IsPregnant(Configurations.InfoDetail != Configurations.DetailLevel.All))
 | 
					            if (comp.parent.pawn.IsPregnant(Configurations.InfoDetail != Configurations.DetailLevel.All))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (comp.parent.pawn.GetPregnancyProgress() < 0.2f) return ContentFinder<Texture2D>.Get("Eggs/Egg_Implanted00", true);
 | 
					                if (comp.parent.pawn.GetPregnancyProgress() < 0.2f) return ContentFinder<Texture2D>.Get("Eggs/Egg_Implanted00", true);
 | 
				
			||||||
                else return ContentFinder<Texture2D>.Get("Womb/Empty", true);
 | 
					                else return ContentFinder<Texture2D>.Get("Womb/Empty", true);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else if (!comp.IsEggExist) return ContentFinder<Texture2D>.Get("Womb/Empty", true);
 | 
					 | 
				
			||||||
            else
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                int fertstage = comp.IsFertilized;
 | 
					 | 
				
			||||||
                if (fertstage >= 0)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    if (fertstage <= 18) return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilized00", true);
 | 
					 | 
				
			||||||
                    else if (fertstage <= 36) return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilized01", true);
 | 
					 | 
				
			||||||
                    else return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilized02", true);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                else if (comp.IsEggFertilizing)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    if (comp.GetFertilityChance() < 0.5f)
 | 
					 | 
				
			||||||
                        return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilizing00", true);
 | 
					 | 
				
			||||||
                    else
 | 
					 | 
				
			||||||
                        return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilizing01", true);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                else return ContentFinder<Texture2D>.Get("Eggs/Egg", true);
 | 
					            switch(comp.curStage)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                case HediffComp_Menstruation.Stage.Follicular:
 | 
				
			||||||
 | 
					                case HediffComp_Menstruation.Stage.ClimactericFollicular:
 | 
				
			||||||
 | 
					                    if (!includeOvary) break;
 | 
				
			||||||
 | 
					                    if (comp is HediffComp_InducedOvulator) break;
 | 
				
			||||||
 | 
					                    if (comp.curStageHrs > comp.FollicularIntervalHours - 30)   // Approximate time for ovulation to occur
 | 
				
			||||||
 | 
					                        return ContentFinder<Texture2D>.Get("Ovaries/Ovary_01", true);
 | 
				
			||||||
 | 
					                    else break;
 | 
				
			||||||
 | 
					                case HediffComp_Menstruation.Stage.Ovulatory:
 | 
				
			||||||
 | 
					                    if (!includeOvary) break;
 | 
				
			||||||
 | 
					                    return ContentFinder<Texture2D>.Get("Ovaries/Ovary_02", true);
 | 
				
			||||||
 | 
					                case HediffComp_Menstruation.Stage.Luteal:
 | 
				
			||||||
 | 
					                case HediffComp_Menstruation.Stage.ClimactericLuteal:
 | 
				
			||||||
 | 
					                    if (!comp.IsEggExist) break;
 | 
				
			||||||
 | 
					                    int fertstage = comp.IsFertilized;
 | 
				
			||||||
 | 
					                    if (fertstage >= 0)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        if (fertstage <= Math.Max(comp.CycleFactor, 24.0f)) return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilizing02", true);
 | 
				
			||||||
 | 
					                        if (fertstage <= 18) return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilized00", true);
 | 
				
			||||||
 | 
					                        else if (fertstage <= 54) return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilized01", true);
 | 
				
			||||||
 | 
					                        else return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilized02", true);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    else if (comp.IsEggFertilizing)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        if (comp.GetFertilityChance() < 0.5f)
 | 
				
			||||||
 | 
					                            return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilizing00", true);
 | 
				
			||||||
 | 
					                        else
 | 
				
			||||||
 | 
					                            return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilizing01", true);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    else return ContentFinder<Texture2D>.Get("Eggs/Egg", true);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            return ContentFinder<Texture2D>.Get("Womb/Empty", true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public static void DrawEggOverlay(this HediffComp_Menstruation comp, Rect wombRect)
 | 
					        public static void DrawEggOverlay(this HediffComp_Menstruation comp, Rect wombRect, bool includeOvary)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            Rect rect = new Rect(wombRect.xMax - wombRect.width / 3, wombRect.y, wombRect.width / 3, wombRect.width / 3);
 | 
					            Rect rect = new Rect(wombRect.xMax - wombRect.width / 3, wombRect.y, wombRect.width / 3, wombRect.width / 3);
 | 
				
			||||||
            GUI.color = Color.white;
 | 
					            GUI.color = Color.white;
 | 
				
			||||||
            GUI.DrawTexture(rect, comp.GetEggIcon(), ScaleMode.ScaleToFit);
 | 
					            GUI.DrawTexture(rect, comp.GetEggIcon(includeOvary), ScaleMode.ScaleToFit);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -242,7 +242,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (Configurations.DrawEggOverlay)
 | 
					                if (Configurations.DrawEggOverlay)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    comp.DrawEggOverlay(wombRect);
 | 
					                    comp.DrawEggOverlay(wombRect, true);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
            GUI.color = color;
 | 
					            GUI.color = color;
 | 
				
			||||||
            Widgets.DrawTextureFitted(rect, overay, iconDrawScale * 0.85f, iconProportions, iconTexCoords, iconAngle, buttonMat);
 | 
					            Widgets.DrawTextureFitted(rect, overay, iconDrawScale * 0.85f, iconProportions, iconTexCoords, iconAngle, buttonMat);
 | 
				
			||||||
            GUI.color = Color.white;
 | 
					            GUI.color = Color.white;
 | 
				
			||||||
            if (Configurations.DrawEggOverlay) comp.DrawEggOverlay(rect);
 | 
					            if (Configurations.DrawEggOverlay) comp.DrawEggOverlay(rect, false);
 | 
				
			||||||
            Rect progressRect = new Rect(rect.x + 2f, rect.y, rect.width - 4f, progressbarHeight);
 | 
					            Rect progressRect = new Rect(rect.x + 2f, rect.y, rect.width - 4f, progressbarHeight);
 | 
				
			||||||
            Widgets.FillableBar(progressRect, comp.StageProgress, comp.GetStageTexture);
 | 
					            Widgets.FillableBar(progressRect, comp.StageProgress, comp.GetStageTexture);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
Version 1.0.6.5
 | 
					Version 1.0.6.5
 | 
				
			||||||
 - Handle climacteric induced ovulators a bit better.
 | 
					 - Handle climacteric induced ovulators a bit better.
 | 
				
			||||||
 - Add a brief description when mousing over the current phase in the womb dialog.
 | 
					 - Add a brief description when mousing over the current phase in the womb dialog.
 | 
				
			||||||
 | 
					 - Add an ovary image to the womb status dialog (but not the little icon) when ovulation is imminent or occuring.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Version 1.0.6.4
 | 
					Version 1.0.6.4
 | 
				
			||||||
 - Fix a bug with pawns not being generated.
 | 
					 - Fix a bug with pawns not being generated.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue