supports for other type of vagina&anus
supports for cutom icons of vagina&anus
							
								
								
									
										12
									
								
								About/Manifest.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,12 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 | 
				
			||||||
 | 
					<Manifest>
 | 
				
			||||||
 | 
						<identifier>RJW Menstruation</identifier>
 | 
				
			||||||
 | 
						<version>1.0.0.1</version>
 | 
				
			||||||
 | 
						<dependencies>
 | 
				
			||||||
 | 
						</dependencies>
 | 
				
			||||||
 | 
						<incompatibleWith />
 | 
				
			||||||
 | 
						<loadAfter>
 | 
				
			||||||
 | 
						</loadAfter>
 | 
				
			||||||
 | 
						<suggests>
 | 
				
			||||||
 | 
						</suggests>
 | 
				
			||||||
 | 
					</Manifest>
 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
2084961349
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 5.5 KiB  | 
| 
						 | 
					@ -11,6 +11,7 @@
 | 
				
			||||||
  <Stage_Fertilized>Luteal</Stage_Fertilized>
 | 
					  <Stage_Fertilized>Luteal</Stage_Fertilized>
 | 
				
			||||||
  <Stage_Pregnant>Pregnant</Stage_Pregnant>
 | 
					  <Stage_Pregnant>Pregnant</Stage_Pregnant>
 | 
				
			||||||
  <Stage_Recover>Recovering from birth</Stage_Recover>
 | 
					  <Stage_Recover>Recovering from birth</Stage_Recover>
 | 
				
			||||||
 | 
					  <Stage_None>None</Stage_None>
 | 
				
			||||||
  <Dialog_WombInfo01>State</Dialog_WombInfo01>
 | 
					  <Dialog_WombInfo01>State</Dialog_WombInfo01>
 | 
				
			||||||
  <Dialog_WombInfo02>Fetus</Dialog_WombInfo02>
 | 
					  <Dialog_WombInfo02>Fetus</Dialog_WombInfo02>
 | 
				
			||||||
  <Dialog_WombInfo03>Father</Dialog_WombInfo03>
 | 
					  <Dialog_WombInfo03>Father</Dialog_WombInfo03>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,8 @@
 | 
				
			||||||
  <Stage_Fertilized>황체기</Stage_Fertilized>
 | 
					  <Stage_Fertilized>황체기</Stage_Fertilized>
 | 
				
			||||||
  <Stage_Pregnant>임신</Stage_Pregnant>
 | 
					  <Stage_Pregnant>임신</Stage_Pregnant>
 | 
				
			||||||
  <Stage_Recover>회복기</Stage_Recover>
 | 
					  <Stage_Recover>회복기</Stage_Recover>
 | 
				
			||||||
  <Dialog_WombInfo01>주기</Dialog_WombInfo01>
 | 
					  <Stage_None>없음</Stage_None>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo01>상태</Dialog_WombInfo01>
 | 
				
			||||||
  <Dialog_WombInfo02>태아</Dialog_WombInfo02>
 | 
					  <Dialog_WombInfo02>태아</Dialog_WombInfo02>
 | 
				
			||||||
  <Dialog_WombInfo03>부</Dialog_WombInfo03>
 | 
					  <Dialog_WombInfo03>부</Dialog_WombInfo03>
 | 
				
			||||||
  <Dialog_WombInfo04>정액목록</Dialog_WombInfo04>
 | 
					  <Dialog_WombInfo04>정액목록</Dialog_WombInfo04>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,8 +21,108 @@
 | 
				
			||||||
					<recoveryIntervalDays>10</recoveryIntervalDays>
 | 
										<recoveryIntervalDays>10</recoveryIntervalDays>
 | 
				
			||||||
					<eggLifespanDays>3</eggLifespanDays>
 | 
										<eggLifespanDays>3</eggLifespanDays>
 | 
				
			||||||
					<wombTex>Womb/Womb</wombTex>
 | 
										<wombTex>Womb/Womb</wombTex>
 | 
				
			||||||
 | 
										<vagTex>Genitals/Vagina</vagTex>
 | 
				
			||||||
				</li>
 | 
									</li>
 | 
				
			||||||
			</comps>
 | 
								</comps>
 | 
				
			||||||
		</value>
 | 
							</value>
 | 
				
			||||||
	</Operation>
 | 
						</Operation>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/rjw.HediffDef_PartBase[defName="HydraulicVagina"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<comps>
 | 
				
			||||||
 | 
									<li Class="RJW_Menstruation.CompProperties_Menstruation">
 | 
				
			||||||
 | 
										<maxCumCapacity>500</maxCumCapacity>
 | 
				
			||||||
 | 
										<wombTex>Womb/Womb</wombTex>
 | 
				
			||||||
 | 
										<vagTex>Genitals/BionicVagina</vagTex>
 | 
				
			||||||
 | 
										<infertile>true</infertile>
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
								</comps>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/rjw.HediffDef_PartBase[defName="BionicVagina"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<comps>
 | 
				
			||||||
 | 
									<li Class="RJW_Menstruation.CompProperties_Menstruation">
 | 
				
			||||||
 | 
										<maxCumCapacity>500</maxCumCapacity>
 | 
				
			||||||
 | 
										<wombTex>Womb/Womb</wombTex>
 | 
				
			||||||
 | 
										<vagTex>Genitals/BionicVagina</vagTex>
 | 
				
			||||||
 | 
										<infertile>true</infertile>
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
								</comps>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/rjw.HediffDef_PartBase[defName="ArchotechVagina"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<comps>
 | 
				
			||||||
 | 
									<li Class="RJW_Menstruation.CompProperties_Menstruation">
 | 
				
			||||||
 | 
										<maxCumCapacity>500</maxCumCapacity>
 | 
				
			||||||
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
 | 
										<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
				
			||||||
 | 
										<deviationFactor>0.05</deviationFactor>
 | 
				
			||||||
 | 
										<folicularIntervalDays>14</folicularIntervalDays>
 | 
				
			||||||
 | 
										<lutealIntervalDays>14</lutealIntervalDays>
 | 
				
			||||||
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
 | 
										<recoveryIntervalDays>0</recoveryIntervalDays>
 | 
				
			||||||
 | 
										<eggLifespanDays>3</eggLifespanDays>
 | 
				
			||||||
 | 
										<wombTex>Womb/Womb</wombTex>
 | 
				
			||||||
 | 
										<vagTex>Genitals/Vagina</vagTex>
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
								</comps>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/rjw.HediffDef_PartBase[defName="Anus"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<comps>
 | 
				
			||||||
 | 
									<li Class="RJW_Menstruation.CompProperties_Anus">
 | 
				
			||||||
 | 
										<analTex>Genitals/Anal</analTex>
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
								</comps>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/rjw.HediffDef_PartBase[defName="HydraulicAnus"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<comps>
 | 
				
			||||||
 | 
									<li Class="RJW_Menstruation.CompProperties_Anus">
 | 
				
			||||||
 | 
										<analTex>Genitals/BionicAnal</analTex>
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
								</comps>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/rjw.HediffDef_PartBase[defName="BionicAnus"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<comps>
 | 
				
			||||||
 | 
									<li Class="RJW_Menstruation.CompProperties_Anus">
 | 
				
			||||||
 | 
										<analTex>Genitals/BionicAnal</analTex>
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
								</comps>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/rjw.HediffDef_PartBase[defName="ArchotechAnus"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<comps>
 | 
				
			||||||
 | 
									<li Class="RJW_Menstruation.CompProperties_Anus">
 | 
				
			||||||
 | 
										<analTex>Genitals/Anal</analTex>
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
								</comps>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
</Patch>
 | 
					</Patch>
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicAnal.psd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicAnal00.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 15 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicAnal01.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 16 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicAnal02.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 16 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicAnal03.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 16 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicAnal04.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 16 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicAnal05.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 16 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicVagina.psd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicVagina00.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 10 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicVagina01.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 10 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicVagina02.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 10 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicVagina03.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 10 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicVagina04.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 10 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicVagina05.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 10 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicVagina06.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 11 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicVagina07.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 11 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicVagina08.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 11 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicVagina09.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 11 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicVagina10.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 11 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Genitals/BionicVagina11.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 11 KiB  | 
| 
						 | 
					@ -30,6 +30,12 @@ namespace RJW_Menstruation
 | 
				
			||||||
		private Texture2D anal;
 | 
							private Texture2D anal;
 | 
				
			||||||
		private Color cumcolor;
 | 
							private Color cumcolor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							private GUIStyle fontstylecenter = new GUIStyle() { alignment = TextAnchor.MiddleCenter };
 | 
				
			||||||
 | 
							private GUIStyle fontstyleright = new GUIStyle() { alignment = TextAnchor.MiddleRight };
 | 
				
			||||||
 | 
							private GUIStyle fontstyleleft = new GUIStyle() { alignment = TextAnchor.MiddleLeft };
 | 
				
			||||||
 | 
							private GUIStyle boxstyle = new GUIStyle(GUI.skin.textArea);
 | 
				
			||||||
 | 
							private GUIStyle buttonstyle = new GUIStyle(GUI.skin.button);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		public override Vector2 InitialSize
 | 
							public override Vector2 InitialSize
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get
 | 
				
			||||||
| 
						 | 
					@ -74,11 +80,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		private void MainContents(Rect mainRect)
 | 
							private void MainContents(Rect mainRect)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
			GUIStyle fontstylecenter = new GUIStyle() { alignment = TextAnchor.MiddleCenter };
 | 
					
 | 
				
			||||||
			GUIStyle fontstyleright = new GUIStyle() { alignment = TextAnchor.MiddleRight };
 | 
					 | 
				
			||||||
			GUIStyle fontstyleleft = new GUIStyle() { alignment = TextAnchor.MiddleLeft };
 | 
					 | 
				
			||||||
			GUIStyle boxstyle = new GUIStyle(GUI.skin.textArea);
 | 
					 | 
				
			||||||
			GUIStyle buttonstyle = new GUIStyle(GUI.skin.button);
 | 
					 | 
				
			||||||
			boxstyle.hover = boxstyle.normal;
 | 
								boxstyle.hover = boxstyle.normal;
 | 
				
			||||||
			boxstyle.onHover = boxstyle.normal;
 | 
								boxstyle.onHover = boxstyle.normal;
 | 
				
			||||||
			boxstyle.onNormal = boxstyle.normal;
 | 
								boxstyle.onNormal = boxstyle.normal;
 | 
				
			||||||
| 
						 | 
					@ -162,29 +164,47 @@ namespace RJW_Menstruation
 | 
				
			||||||
			GUI.Label(cumlistTitle,Translations.Dialog_WombInfo04);
 | 
								GUI.Label(cumlistTitle,Translations.Dialog_WombInfo04);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			Rect cumlistRect = new Rect(pawnRectWidth, fontheight, wombRectWidth - pawnRectWidth, mainRect.yMax - wombRectHeight - fontheight);
 | 
								Rect cumlistRect = new Rect(pawnRectWidth, fontheight, wombRectWidth - pawnRectWidth, mainRect.yMax - wombRectHeight - fontheight);
 | 
				
			||||||
 | 
								DrawCumlist(cumlistRect);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								Rect genitalRect = new Rect(24, pawnRectHeight + 2*fontheight, genitalRectWidth, genitalRectHeight + fontheight*2);
 | 
				
			||||||
 | 
								DrawVagina(genitalRect);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							private void DrawCumlist(Rect rect)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
			Listing_Standard cumlist = new Listing_Standard
 | 
								Listing_Standard cumlist = new Listing_Standard
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				maxOneColumn = true,
 | 
									maxOneColumn = true,
 | 
				
			||||||
				ColumnWidth = wombRectWidth - pawnRectWidth
 | 
									ColumnWidth = wombRectWidth - pawnRectWidth
 | 
				
			||||||
			};
 | 
								};
 | 
				
			||||||
			cumlist.Begin(cumlistRect);
 | 
								cumlist.Begin(rect);
 | 
				
			||||||
			Listing_Standard cumlistsection = cumlist.BeginSection_NewTemp(mainRect.yMax - wombRectHeight - 2 * fontheight - 12f);
 | 
								Listing_Standard cumlistsection = cumlist.BeginSection_NewTemp(rect.height - fontheight - 12f);
 | 
				
			||||||
			foreach(string s in comp.GetCumsInfo)
 | 
								foreach (string s in comp.GetCumsInfo)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				cumlistsection.Label(s);
 | 
									cumlistsection.Label(s);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			cumlist.EndSection(cumlistsection);
 | 
								cumlist.EndSection(cumlistsection);
 | 
				
			||||||
			cumlist.End();
 | 
								cumlist.End();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			Rect genitalRect = new Rect(24, pawnRectHeight + 2*fontheight, genitalRectWidth, genitalRectHeight + fontheight*2);
 | 
					
 | 
				
			||||||
			Rect genitalIconRect = new Rect(genitalRect.x,genitalRect.y + fontheight ,genitalRectWidth,genitalRectHeight);
 | 
					
 | 
				
			||||||
			Rect genitalVaginaLabelRect = new Rect(genitalRect.x,genitalRect.y,genitalRectWidth,fontheight);
 | 
							private void DrawVagina(Rect rect)
 | 
				
			||||||
			Rect genitalAnusLabelRect = new Rect(genitalRect.x,genitalRect.y + fontheight + genitalRectHeight ,genitalRectWidth,fontheight);
 | 
					        {
 | 
				
			||||||
 | 
								Rect genitalIconRect = new Rect(rect.x, rect.y + fontheight, genitalRectWidth, genitalRectHeight);
 | 
				
			||||||
 | 
								Rect genitalVaginaLabelRect = new Rect(rect.x, rect.y, genitalRectWidth, fontheight);
 | 
				
			||||||
 | 
								Rect genitalAnusLabelRect = new Rect(rect.x, rect.y + fontheight + genitalRectHeight, genitalRectWidth, fontheight);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			vagina = Utility.GetGenitalIcon(pawn);
 | 
								vagina = Utility.GetGenitalIcon(pawn);
 | 
				
			||||||
			anal = Utility.GetAnalIcon(pawn);
 | 
								anal = Utility.GetAnalIcon(pawn);
 | 
				
			||||||
			GUI.color = new Color(1.00f, 0.47f, 0.47f, 1);
 | 
								GUI.color = new Color(1.00f, 0.47f, 0.47f, 1);
 | 
				
			||||||
			GUI.Box(genitalRect, "", boxstyle);
 | 
								GUI.Box(rect, "", boxstyle);
 | 
				
			||||||
			GUI.color = pawn.story.SkinColor;
 | 
								GUI.color = pawn.story.SkinColor;
 | 
				
			||||||
			//Widgets.DrawTextureFitted(genitalIconRect, anal, 1.0f);
 | 
								//Widgets.DrawTextureFitted(genitalIconRect, anal, 1.0f);
 | 
				
			||||||
			//Widgets.DrawTextureFitted(genitalIconRect, vagina, 1.0f);
 | 
								//Widgets.DrawTextureFitted(genitalIconRect, vagina, 1.0f);
 | 
				
			||||||
| 
						 | 
					@ -192,13 +212,11 @@ namespace RJW_Menstruation
 | 
				
			||||||
			GUI.DrawTexture(genitalIconRect, vagina, ScaleMode.ScaleToFit);
 | 
								GUI.DrawTexture(genitalIconRect, vagina, ScaleMode.ScaleToFit);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			GUI.color = Color.white;
 | 
								GUI.color = Color.white;
 | 
				
			||||||
			GUI.Label(genitalVaginaLabelRect, Utility.GetVaginaLabel(pawn),fontstylecenter);
 | 
								GUI.Label(genitalVaginaLabelRect, Utility.GetVaginaLabel(pawn), fontstylecenter);
 | 
				
			||||||
			GUI.Label(genitalAnusLabelRect, Utility.GetAnusLabel(pawn),fontstylecenter);
 | 
								GUI.Label(genitalAnusLabelRect, Utility.GetAnusLabel(pawn), fontstylecenter);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,19 +47,21 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private static void AddWombGizmos(Pawn __instance, ref List<Gizmo> gizmoList)
 | 
					        private static void AddWombGizmos(Pawn __instance, ref List<Gizmo> gizmoList)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            gizmoList.Add(CreateGizmo_WombStatus(__instance));
 | 
					            //HediffComp_Menstruation comp = __instance.health.hediffSet.GetFirstHediffOfDef(Genital_Helper.average_vagina).TryGetComp<HediffComp_Menstruation>();
 | 
				
			||||||
 | 
					            HediffComp_Menstruation comp = Utility.GetMenstruationComp(__instance);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (comp != null) gizmoList.Add(CreateGizmo_WombStatus(__instance, comp));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private static Gizmo CreateGizmo_WombStatus(Pawn pawn)
 | 
					        private static Gizmo CreateGizmo_WombStatus(Pawn pawn , HediffComp_Menstruation comp)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            HediffComp_Menstruation comp = pawn.health.hediffSet.GetFirstHediffOfDef(Genital_Helper.average_vagina).TryGetComp<HediffComp_Menstruation>();
 | 
					 | 
				
			||||||
            Texture2D icon,icon_overay;
 | 
					            Texture2D icon,icon_overay;
 | 
				
			||||||
            Hediff hediff = PregnancyHelper.GetPregnancy(pawn);
 | 
					 | 
				
			||||||
            string description = "";
 | 
					            string description = "";
 | 
				
			||||||
            if (Configurations.Debug) description += comp.curStage + ": " + comp.curStageHrs + "\n" + "fertcums: " + comp.TotalFertCum;
 | 
					            if (Configurations.Debug) description += comp.curStage + ": " + comp.curStageHrs + "\n" + "fertcums: " + comp.TotalFertCum;
 | 
				
			||||||
            else description += comp.GetCurStageLabel + "\n";
 | 
					            else description += comp.GetCurStageLabel + "\n";
 | 
				
			||||||
            if (pawn.IsPregnant())
 | 
					            if (pawn.IsPregnant())
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
 | 
					                Hediff hediff = PregnancyHelper.GetPregnancy(pawn);
 | 
				
			||||||
                icon = Utility.GetPregnancyIcon(comp,hediff);
 | 
					                icon = Utility.GetPregnancyIcon(comp,hediff);
 | 
				
			||||||
                if (hediff is Hediff_BasePregnancy)
 | 
					                if (hediff is Hediff_BasePregnancy)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,7 +23,8 @@ namespace RJW_Menstruation
 | 
				
			||||||
        public int recoveryIntervalDays = 10; //additional infertile days after gave birth
 | 
					        public int recoveryIntervalDays = 10; //additional infertile days after gave birth
 | 
				
			||||||
        public int eggLifespanDays = 2; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday
 | 
					        public int eggLifespanDays = 2; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday
 | 
				
			||||||
        public string wombTex = "Womb/Womb"; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday
 | 
					        public string wombTex = "Womb/Womb"; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday
 | 
				
			||||||
 | 
					        public string vagTex = "Genitals/Vagina"; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday
 | 
				
			||||||
 | 
					        public bool infertile = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public CompProperties_Menstruation()
 | 
					        public CompProperties_Menstruation()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -32,6 +33,21 @@ namespace RJW_Menstruation
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public class CompProperties_Anus : HediffCompProperties
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public string analTex = "Genitals/Anal";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public CompProperties_Anus()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            compClass = typeof(HediffComp_Anus);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public class HediffComp_Menstruation : HediffComp
 | 
					    public class HediffComp_Menstruation : HediffComp
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -50,7 +66,8 @@ namespace RJW_Menstruation
 | 
				
			||||||
            Bleeding,
 | 
					            Bleeding,
 | 
				
			||||||
            Fertilized,
 | 
					            Fertilized,
 | 
				
			||||||
            Pregnant,
 | 
					            Pregnant,
 | 
				
			||||||
            Recover
 | 
					            Recover,
 | 
				
			||||||
 | 
					            None
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private List<Cum> cums;
 | 
					        private List<Cum> cums;
 | 
				
			||||||
| 
						 | 
					@ -191,6 +208,8 @@ namespace RJW_Menstruation
 | 
				
			||||||
                        return Translations.Stage_Pregnant;
 | 
					                        return Translations.Stage_Pregnant;
 | 
				
			||||||
                    case Stage.Recover:
 | 
					                    case Stage.Recover:
 | 
				
			||||||
                        return Translations.Stage_Recover;
 | 
					                        return Translations.Stage_Recover;
 | 
				
			||||||
 | 
					                    case Stage.None:
 | 
				
			||||||
 | 
					                        return Translations.Stage_None;
 | 
				
			||||||
                    default:
 | 
					                    default:
 | 
				
			||||||
                        return "";
 | 
					                        return "";
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
| 
						 | 
					@ -248,29 +267,17 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override void CompPostPostAdd(DamageInfo? dinfo)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Initialize();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public override void CompPostTick(ref float severityAdjustment)
 | 
					        public override void CompPostTick(ref float severityAdjustment)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (!loaded)
 | 
					            if (!loaded)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                Props = (CompProperties_Menstruation)props;
 | 
					                Initialize();
 | 
				
			||||||
                if (follicularIntervalhours < 0)
 | 
					 | 
				
			||||||
                {    
 | 
					 | 
				
			||||||
                    follicularIntervalhours = PeriodRandomizer(Props.folicularIntervalDays*24,Props.deviationFactor);
 | 
					 | 
				
			||||||
                    curStage = RandomStage();
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                
 | 
					 | 
				
			||||||
                if (lutealIntervalhours < 0) lutealIntervalhours = PeriodRandomizer(Props.lutealIntervalDays*24, Props.deviationFactor);
 | 
					 | 
				
			||||||
                if (bleedingIntervalhours < 0) bleedingIntervalhours = PeriodRandomizer(Props.bleedingIntervalDays*24, Props.deviationFactor);
 | 
					 | 
				
			||||||
                if (recoveryIntervalhours < 0) recoveryIntervalhours = PeriodRandomizer(Props.recoveryIntervalDays * 24, Props.deviationFactor);
 | 
					 | 
				
			||||||
                if (cums == null) cums = new List<Cum>();
 | 
					 | 
				
			||||||
                if (eggs == null) eggs = new List<Egg>();
 | 
					 | 
				
			||||||
                if (parent.pawn.IsPregnant()) curStage = Stage.Pregnant;
 | 
					 | 
				
			||||||
                if (Configurations.EnableAnimalCycle)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                else if (!parent.pawn.IsAnimal()) HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false);
 | 
					 | 
				
			||||||
                loaded = true;
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -282,6 +289,10 @@ namespace RJW_Menstruation
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public Cum GetNotCum(string notcumlabel)
 | 
					        public Cum GetNotCum(string notcumlabel)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (!cums.NullOrEmpty()) foreach (Cum cum in cums)
 | 
					            if (!cums.NullOrEmpty()) foreach (Cum cum in cums)
 | 
				
			||||||
| 
						 | 
					@ -470,6 +481,39 @@ namespace RJW_Menstruation
 | 
				
			||||||
            else return false;
 | 
					            else return false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private void Initialize()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Props = (CompProperties_Menstruation)props;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (!Props.infertile)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (follicularIntervalhours < 0)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    follicularIntervalhours = PeriodRandomizer(Props.folicularIntervalDays * 24, Props.deviationFactor);
 | 
				
			||||||
 | 
					                    curStage = RandomStage();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (lutealIntervalhours < 0) lutealIntervalhours = PeriodRandomizer(Props.lutealIntervalDays * 24, Props.deviationFactor);
 | 
				
			||||||
 | 
					                if (bleedingIntervalhours < 0) bleedingIntervalhours = PeriodRandomizer(Props.bleedingIntervalDays * 24, Props.deviationFactor);
 | 
				
			||||||
 | 
					                if (recoveryIntervalhours < 0) recoveryIntervalhours = PeriodRandomizer(Props.recoveryIntervalDays * 24, Props.deviationFactor);
 | 
				
			||||||
 | 
					                if (cums == null) cums = new List<Cum>();
 | 
				
			||||||
 | 
					                if (eggs == null) eggs = new List<Egg>();
 | 
				
			||||||
 | 
					                if (parent.pawn.IsPregnant()) curStage = Stage.Pregnant;
 | 
				
			||||||
 | 
					                if (Configurations.EnableAnimalCycle)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else if (!parent.pawn.IsAnimal()) HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (cums == null) cums = new List<Cum>();
 | 
				
			||||||
 | 
					                curStage = Stage.None;
 | 
				
			||||||
 | 
					                HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            loaded = true;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private Pawn Fertilize()
 | 
					        private Pawn Fertilize()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (cums.NullOrEmpty()) return null;
 | 
					            if (cums.NullOrEmpty()) return null;
 | 
				
			||||||
| 
						 | 
					@ -604,10 +648,18 @@ namespace RJW_Menstruation
 | 
				
			||||||
                            StayCurrentStage();
 | 
					                            StayCurrentStage();
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        else
 | 
					                        else
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            if (Props.bleedingIntervalDays == 0)
 | 
				
			||||||
 | 
					                            {
 | 
				
			||||||
 | 
					                                follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor);
 | 
				
			||||||
 | 
					                                GoNextStage(Stage.Follicular);
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					                            else
 | 
				
			||||||
                            {
 | 
					                            {
 | 
				
			||||||
                                bleedingIntervalhours = PeriodRandomizer(bleedingIntervalhours, Props.deviationFactor);
 | 
					                                bleedingIntervalhours = PeriodRandomizer(bleedingIntervalhours, Props.deviationFactor);
 | 
				
			||||||
                                GoNextStage(Stage.Bleeding);
 | 
					                                GoNextStage(Stage.Bleeding);
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                    };
 | 
					                    };
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
                case Stage.Bleeding:
 | 
					                case Stage.Bleeding:
 | 
				
			||||||
| 
						 | 
					@ -669,6 +721,12 @@ namespace RJW_Menstruation
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    };
 | 
					                    };
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
 | 
					                case Stage.None:
 | 
				
			||||||
 | 
					                    action = delegate
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        StayCurrentStageConst(Stage.None);
 | 
				
			||||||
 | 
					                    };
 | 
				
			||||||
 | 
					                    break;
 | 
				
			||||||
                default:
 | 
					                default:
 | 
				
			||||||
                    curStage = Stage.Follicular;
 | 
					                    curStage = Stage.Follicular;
 | 
				
			||||||
                    curStageHrs = 0;
 | 
					                    curStageHrs = 0;
 | 
				
			||||||
| 
						 | 
					@ -777,4 +835,12 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public class HediffComp_Anus : HediffComp
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public override void CompPostTick(ref float severityAdjustment)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,6 +14,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        public static readonly string Stage_Fertilized = "Stage_Fertilized".Translate();
 | 
					        public static readonly string Stage_Fertilized = "Stage_Fertilized".Translate();
 | 
				
			||||||
        public static readonly string Stage_Pregnant = "Stage_Pregnant".Translate();
 | 
					        public static readonly string Stage_Pregnant = "Stage_Pregnant".Translate();
 | 
				
			||||||
        public static readonly string Stage_Recover = "Stage_Recover".Translate();
 | 
					        public static readonly string Stage_Recover = "Stage_Recover".Translate();
 | 
				
			||||||
 | 
					        public static readonly string Stage_None = "Stage_None".Translate();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public static readonly string Dialog_WombInfo01 = "Dialog_WombInfo01".Translate();
 | 
					        public static readonly string Dialog_WombInfo01 = "Dialog_WombInfo01".Translate();
 | 
				
			||||||
        public static readonly string Dialog_WombInfo02 = "Dialog_WombInfo02".Translate();
 | 
					        public static readonly string Dialog_WombInfo02 = "Dialog_WombInfo02".Translate();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -174,19 +174,23 @@ namespace RJW_Menstruation
 | 
				
			||||||
        public static Texture2D GetGenitalIcon(Pawn pawn)
 | 
					        public static Texture2D GetGenitalIcon(Pawn pawn)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("vagina"));
 | 
					            var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("vagina"));
 | 
				
			||||||
            string icon = "Genitals/";
 | 
					            CompProperties_Menstruation Props = (CompProperties_Menstruation)hediff.TryGetComp<HediffComp_Menstruation>().props;
 | 
				
			||||||
            if (hediff.Severity < 0.20f) icon += "Vagina00";        //micro 
 | 
					            string icon;
 | 
				
			||||||
            else if (hediff.Severity < 0.30f) icon += "Vagina01";   //tight
 | 
					            if (Props != null) icon = Props.vagTex;
 | 
				
			||||||
            else if (hediff.Severity < 0.40f) icon += "Vagina02";   //tight
 | 
					            else icon = "Genitals/Vagina";
 | 
				
			||||||
            else if (hediff.Severity < 0.47f) icon += "Vagina03";   //average
 | 
					
 | 
				
			||||||
            else if (hediff.Severity < 0.53f) icon += "Vagina04";   //average
 | 
					            if (hediff.Severity < 0.20f) icon += "00";        //micro 
 | 
				
			||||||
            else if (hediff.Severity < 0.60f) icon += "Vagina05";   //average
 | 
					            else if (hediff.Severity < 0.30f) icon += "01";   //tight
 | 
				
			||||||
            else if (hediff.Severity < 0.70f) icon += "Vagina06";   //accomodating
 | 
					            else if (hediff.Severity < 0.40f) icon += "02";   //tight
 | 
				
			||||||
            else if (hediff.Severity < 0.80f) icon += "Vagina07";   //accomodating
 | 
					            else if (hediff.Severity < 0.47f) icon += "03";   //average
 | 
				
			||||||
            else if (hediff.Severity < 0.87f) icon += "Vagina08";   //cavernous
 | 
					            else if (hediff.Severity < 0.53f) icon += "04";   //average
 | 
				
			||||||
            else if (hediff.Severity < 0.94f) icon += "Vagina09";   //cavernous
 | 
					            else if (hediff.Severity < 0.60f) icon += "05";   //average
 | 
				
			||||||
            else if (hediff.Severity < 1.01f) icon += "Vagina10";   //cavernous
 | 
					            else if (hediff.Severity < 0.70f) icon += "06";   //accomodating
 | 
				
			||||||
            else icon += "Vagina11";                                //abyssal
 | 
					            else if (hediff.Severity < 0.80f) icon += "07";   //accomodating
 | 
				
			||||||
 | 
					            else if (hediff.Severity < 0.87f) icon += "08";   //cavernous
 | 
				
			||||||
 | 
					            else if (hediff.Severity < 0.94f) icon += "09";   //cavernous
 | 
				
			||||||
 | 
					            else if (hediff.Severity < 1.01f) icon += "10";   //cavernous
 | 
				
			||||||
 | 
					            else icon += "11";                                //abyssal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return ContentFinder<Texture2D>.Get((icon), true);
 | 
					            return ContentFinder<Texture2D>.Get((icon), true);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					@ -194,13 +198,16 @@ namespace RJW_Menstruation
 | 
				
			||||||
        public static Texture2D GetAnalIcon(Pawn pawn)
 | 
					        public static Texture2D GetAnalIcon(Pawn pawn)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("anus"));
 | 
					            var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("anus"));
 | 
				
			||||||
            string icon = "Genitals/";
 | 
					            CompProperties_Anus Props = (CompProperties_Anus)hediff.TryGetComp<HediffComp_Anus>().props;
 | 
				
			||||||
            if (hediff.Severity < 0.20f) icon += "Anal00";        //micro 
 | 
					            string icon;
 | 
				
			||||||
            else if (hediff.Severity < 0.40f) icon += "Anal01";   //tight
 | 
					            if (Props != null) icon = Props.analTex;
 | 
				
			||||||
            else if (hediff.Severity < 0.60f) icon += "Anal02";   //average
 | 
					            else icon = "Genitals/Anal";
 | 
				
			||||||
            else if (hediff.Severity < 0.80f) icon += "Anal03";   //accomodating
 | 
					            if (hediff.Severity < 0.20f) icon += "00";        //micro 
 | 
				
			||||||
            else if (hediff.Severity < 1.01f) icon += "Anal04";   //cavernous
 | 
					            else if (hediff.Severity < 0.40f) icon += "01";   //tight
 | 
				
			||||||
            else icon += "Anal05";   //abyssal
 | 
					            else if (hediff.Severity < 0.60f) icon += "02";   //average
 | 
				
			||||||
 | 
					            else if (hediff.Severity < 0.80f) icon += "03";   //accomodating
 | 
				
			||||||
 | 
					            else if (hediff.Severity < 1.01f) icon += "04";   //cavernous
 | 
				
			||||||
 | 
					            else icon += "05";   //abyssal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return ContentFinder<Texture2D>.Get((icon), true);
 | 
					            return ContentFinder<Texture2D>.Get((icon), true);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||