1.0.5.8
|
@ -12,14 +12,14 @@
|
|||
</graphicData>
|
||||
<tickerType>Never</tickerType>
|
||||
<smeltable>false</smeltable>
|
||||
<tradeability>Sellable</tradeability>
|
||||
<tradeability>Sellable</tradeability>
|
||||
<statBases>
|
||||
<MaxHitPoints>20</MaxHitPoints>
|
||||
<Mass>0.01</Mass>
|
||||
<WorkToMake>1000</WorkToMake>
|
||||
<Flammability>1.0</Flammability>
|
||||
<EquipDelay>2</EquipDelay>
|
||||
<MaxAbsorbable>10</MaxAbsorbable>
|
||||
<MaxAbsorbable>10</MaxAbsorbable>
|
||||
</statBases>
|
||||
<costStuffCount>5</costStuffCount>
|
||||
<stuffCategories>
|
||||
|
@ -34,7 +34,7 @@
|
|||
<soundWorking>Recipe_Tailor</soundWorking>
|
||||
<recipeUsers>
|
||||
<li>ElectricTailoringBench</li>
|
||||
<li>HandTailoringBench</li>
|
||||
<li>HandTailoringBench</li>
|
||||
</recipeUsers>
|
||||
<useIngredientsForColor>true</useIngredientsForColor>
|
||||
<skillRequirements>
|
||||
|
@ -46,11 +46,12 @@
|
|||
</thingCategories>
|
||||
<apparel>
|
||||
<careIfWornByCorpse>true</careIfWornByCorpse>
|
||||
<countsAsClothingForNudity>false</countsAsClothingForNudity>
|
||||
<careIfDamaged>false</careIfDamaged>
|
||||
<wearPerDay>0</wearPerDay>
|
||||
<gender>Female</gender>
|
||||
<gender>Female</gender>
|
||||
<bodyPartGroups>
|
||||
<li>Torso</li>
|
||||
<li>GenitalsBPG</li>
|
||||
</bodyPartGroups>
|
||||
<layers>
|
||||
<li>Absorber</li>
|
||||
|
@ -59,18 +60,18 @@
|
|||
<li>Absorber</li>
|
||||
</tags>
|
||||
</apparel>
|
||||
<modExtensions>
|
||||
<li Class="RJW_Menstruation.AbsorberModExtension">
|
||||
<leakAfterDirty>false</leakAfterDirty>
|
||||
<effectsAfterDirty>true</effectsAfterDirty>
|
||||
<minHourstoDirtyEffect>10</minHourstoDirtyEffect>
|
||||
<dirtyDef>Absorber_Tampon_Dirty</dirtyDef>
|
||||
</li>
|
||||
</modExtensions>
|
||||
<modExtensions>
|
||||
<li Class="RJW_Menstruation.AbsorberModExtension">
|
||||
<leakAfterDirty>false</leakAfterDirty>
|
||||
<effectsAfterDirty>true</effectsAfterDirty>
|
||||
<minHourstoDirtyEffect>10</minHourstoDirtyEffect>
|
||||
<dirtyDef>Absorber_Tampon_Dirty</dirtyDef>
|
||||
</li>
|
||||
</modExtensions>
|
||||
</ThingDef>
|
||||
|
||||
<ThingDef ParentName="ApparelNoQualityBase">
|
||||
<defName>Absorber_Tampon_Dirty</defName>
|
||||
<defName>Absorber_Tampon_Dirty</defName>
|
||||
<label>dirty tampon</label>
|
||||
<description>An wet used tampon. May cause infection.</description>
|
||||
<thingClass>RJW_Menstruation.Absorber_Tampon</thingClass>
|
||||
|
@ -80,16 +81,16 @@
|
|||
</graphicData>
|
||||
<tickerType>Never</tickerType>
|
||||
<smeltable>false</smeltable>
|
||||
<tradeability>None</tradeability>
|
||||
<tradeability>None</tradeability>
|
||||
<statBases>
|
||||
<MaxHitPoints>20</MaxHitPoints>
|
||||
<Mass>0.05</Mass>
|
||||
<MarketValue>0</MarketValue>
|
||||
<MarketValue>0</MarketValue>
|
||||
<WorkToMake>1000</WorkToMake>
|
||||
<Flammability>0.2</Flammability>
|
||||
<EquipDelay>2</EquipDelay>
|
||||
<MaxAbsorbable>10</MaxAbsorbable>
|
||||
<Cleanliness>-5</Cleanliness>
|
||||
<MaxAbsorbable>10</MaxAbsorbable>
|
||||
<Cleanliness>-5</Cleanliness>
|
||||
</statBases>
|
||||
<stuffCategories>
|
||||
<li>Fabric</li>
|
||||
|
@ -99,11 +100,12 @@
|
|||
</thingCategories>
|
||||
<apparel>
|
||||
<careIfWornByCorpse>true</careIfWornByCorpse>
|
||||
<countsAsClothingForNudity>false</countsAsClothingForNudity>
|
||||
<careIfDamaged>false</careIfDamaged>
|
||||
<wearPerDay>0</wearPerDay>
|
||||
<gender>Female</gender>
|
||||
<gender>Female</gender>
|
||||
<bodyPartGroups>
|
||||
<li>Torso</li>
|
||||
<li>GenitalsBPG</li>
|
||||
</bodyPartGroups>
|
||||
<layers>
|
||||
<li>Absorber</li>
|
||||
|
@ -112,17 +114,17 @@
|
|||
<li>Absorber</li>
|
||||
</tags>
|
||||
</apparel>
|
||||
<modExtensions>
|
||||
<li Class="RJW_Menstruation.AbsorberModExtension">
|
||||
<leakAfterDirty>false</leakAfterDirty>
|
||||
<effectsAfterDirty>true</effectsAfterDirty>
|
||||
<minHourstoDirtyEffect>8</minHourstoDirtyEffect>
|
||||
<dirtyDef>Absorber_Tampon_Dirty</dirtyDef>
|
||||
</li>
|
||||
</modExtensions>
|
||||
<modExtensions>
|
||||
<li Class="RJW_Menstruation.AbsorberModExtension">
|
||||
<leakAfterDirty>false</leakAfterDirty>
|
||||
<effectsAfterDirty>true</effectsAfterDirty>
|
||||
<minHourstoDirtyEffect>8</minHourstoDirtyEffect>
|
||||
<dirtyDef>Absorber_Tampon_Dirty</dirtyDef>
|
||||
</li>
|
||||
</modExtensions>
|
||||
</ThingDef>
|
||||
|
||||
|
||||
|
||||
|
||||
<ThingDef ParentName="ApparelNoQualityBase">
|
||||
<defName>Absorber_Pad</defName>
|
||||
<label>sanitary pad</label>
|
||||
|
@ -134,14 +136,22 @@
|
|||
</graphicData>
|
||||
<tickerType>Never</tickerType>
|
||||
<smeltable>false</smeltable>
|
||||
<tradeability>Sellable</tradeability>
|
||||
<tradeability>Sellable</tradeability>
|
||||
<statBases>
|
||||
<MaxHitPoints>40</MaxHitPoints>
|
||||
<Mass>0.02</Mass>
|
||||
<WorkToMake>1000</WorkToMake>
|
||||
<Flammability>1.0</Flammability>
|
||||
<EquipDelay>4</EquipDelay>
|
||||
<MaxAbsorbable>25</MaxAbsorbable>
|
||||
<MaxAbsorbable>25</MaxAbsorbable>
|
||||
<StuffEffectMultiplierArmor>0.02</StuffEffectMultiplierArmor>
|
||||
<StuffEffectMultiplierInsulation_Cold>0.02</StuffEffectMultiplierInsulation_Cold>
|
||||
<StuffEffectMultiplierInsulation_Heat>0.05</StuffEffectMultiplierInsulation_Heat>
|
||||
<ArmorRating_Sharp>0.01</ArmorRating_Sharp>
|
||||
<ArmorRating_Blunt>0.04</ArmorRating_Blunt>
|
||||
<ArmorRating_Heat>0.05</ArmorRating_Heat>
|
||||
<Insulation_Cold>1</Insulation_Cold>
|
||||
<Insulation_Heat>-1</Insulation_Heat>
|
||||
</statBases>
|
||||
<costStuffCount>10</costStuffCount>
|
||||
<stuffCategories>
|
||||
|
@ -155,7 +165,7 @@
|
|||
<soundWorking>Recipe_Tailor</soundWorking>
|
||||
<recipeUsers>
|
||||
<li>ElectricTailoringBench</li>
|
||||
<li>HandTailoringBench</li>
|
||||
<li>HandTailoringBench</li>
|
||||
</recipeUsers>
|
||||
<useIngredientsForColor>true</useIngredientsForColor>
|
||||
<skillRequirements>
|
||||
|
@ -167,11 +177,12 @@
|
|||
</thingCategories>
|
||||
<apparel>
|
||||
<careIfWornByCorpse>true</careIfWornByCorpse>
|
||||
<countsAsClothingForNudity>true</countsAsClothingForNudity>
|
||||
<careIfDamaged>false</careIfDamaged>
|
||||
<wearPerDay>0</wearPerDay>
|
||||
<gender>Female</gender>
|
||||
<gender>Female</gender>
|
||||
<bodyPartGroups>
|
||||
<li>Torso</li>
|
||||
<li>GenitalsBPG</li>
|
||||
</bodyPartGroups>
|
||||
<layers>
|
||||
<li>Absorber</li>
|
||||
|
@ -180,17 +191,17 @@
|
|||
<li>Absorber</li>
|
||||
</tags>
|
||||
</apparel>
|
||||
<modExtensions>
|
||||
<li Class="RJW_Menstruation.AbsorberModExtension">
|
||||
<leakAfterDirty>true</leakAfterDirty>
|
||||
<effectsAfterDirty>false</effectsAfterDirty>
|
||||
<dirtyDef>Absorber_Pad_Dirty</dirtyDef>
|
||||
</li>
|
||||
</modExtensions>
|
||||
<modExtensions>
|
||||
<li Class="RJW_Menstruation.AbsorberModExtension">
|
||||
<leakAfterDirty>true</leakAfterDirty>
|
||||
<effectsAfterDirty>false</effectsAfterDirty>
|
||||
<dirtyDef>Absorber_Pad_Dirty</dirtyDef>
|
||||
</li>
|
||||
</modExtensions>
|
||||
</ThingDef>
|
||||
|
||||
<ThingDef ParentName="ApparelNoQualityBase">
|
||||
<defName>Absorber_Pad_Dirty</defName>
|
||||
<defName>Absorber_Pad_Dirty</defName>
|
||||
<label>wet sanitary pad</label>
|
||||
<description>An wet used pad.</description>
|
||||
<thingClass>RJW_Menstruation.Absorber</thingClass>
|
||||
|
@ -200,16 +211,24 @@
|
|||
</graphicData>
|
||||
<tickerType>Never</tickerType>
|
||||
<smeltable>false</smeltable>
|
||||
<tradeability>None</tradeability>
|
||||
<tradeability>None</tradeability>
|
||||
<statBases>
|
||||
<MaxHitPoints>40</MaxHitPoints>
|
||||
<Mass>0.10</Mass>
|
||||
<MarketValue>0</MarketValue>
|
||||
<MarketValue>0</MarketValue>
|
||||
<WorkToMake>1000</WorkToMake>
|
||||
<Flammability>0.2</Flammability>
|
||||
<EquipDelay>4</EquipDelay>
|
||||
<MaxAbsorbable>25</MaxAbsorbable>
|
||||
<Cleanliness>-5</Cleanliness>
|
||||
<MaxAbsorbable>25</MaxAbsorbable>
|
||||
<Cleanliness>-5</Cleanliness>
|
||||
<StuffEffectMultiplierArmor>0.02</StuffEffectMultiplierArmor>
|
||||
<StuffEffectMultiplierInsulation_Cold>0.02</StuffEffectMultiplierInsulation_Cold>
|
||||
<StuffEffectMultiplierInsulation_Heat>0.05</StuffEffectMultiplierInsulation_Heat>
|
||||
<ArmorRating_Sharp>0.01</ArmorRating_Sharp>
|
||||
<ArmorRating_Blunt>0.04</ArmorRating_Blunt>
|
||||
<ArmorRating_Heat>0.1</ArmorRating_Heat>
|
||||
<Insulation_Cold>-4</Insulation_Cold>
|
||||
<Insulation_Heat>2</Insulation_Heat>
|
||||
</statBases>
|
||||
<stuffCategories>
|
||||
<li>Fabric</li>
|
||||
|
@ -219,11 +238,12 @@
|
|||
</thingCategories>
|
||||
<apparel>
|
||||
<careIfWornByCorpse>true</careIfWornByCorpse>
|
||||
<countsAsClothingForNudity>true</countsAsClothingForNudity>
|
||||
<careIfDamaged>false</careIfDamaged>
|
||||
<wearPerDay>0</wearPerDay>
|
||||
<gender>Female</gender>
|
||||
<gender>Female</gender>
|
||||
<bodyPartGroups>
|
||||
<li>Torso</li>
|
||||
<li>GenitalsBPG</li>
|
||||
</bodyPartGroups>
|
||||
<layers>
|
||||
<li>Absorber</li>
|
||||
|
@ -232,12 +252,12 @@
|
|||
<li>Absorber</li>
|
||||
</tags>
|
||||
</apparel>
|
||||
<modExtensions>
|
||||
<li Class="RJW_Menstruation.AbsorberModExtension">
|
||||
<leakAfterDirty>true</leakAfterDirty>
|
||||
<effectsAfterDirty>false</effectsAfterDirty>
|
||||
<dirtyDef>Absorber_Pad_Dirty</dirtyDef>
|
||||
</li>
|
||||
</modExtensions>
|
||||
<modExtensions>
|
||||
<li Class="RJW_Menstruation.AbsorberModExtension">
|
||||
<leakAfterDirty>true</leakAfterDirty>
|
||||
<effectsAfterDirty>false</effectsAfterDirty>
|
||||
<dirtyDef>Absorber_Pad_Dirty</dirtyDef>
|
||||
</li>
|
||||
</modExtensions>
|
||||
</ThingDef>
|
||||
</Defs>
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
<Dialog_WombInfo07>Ovulation</Dialog_WombInfo07>
|
||||
<Dialog_WombInfo08></Dialog_WombInfo08>
|
||||
<Dialog_WombInfo09></Dialog_WombInfo09>
|
||||
<Dialog_DoCleanWomb_Tooltip>Gather cums into bucket</Dialog_DoCleanWomb_Tooltip>
|
||||
<Dialog_DontCleanWomb_Tooltip>Store cums in womb</Dialog_DontCleanWomb_Tooltip>
|
||||
|
||||
<Option1_Label_1>enable womb icon</Option1_Label_1>
|
||||
<Option1_Label_2>enable button in health tab</Option1_Label_2>
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
<value>
|
||||
<comps>
|
||||
<li Class="RJW_Menstruation.CompProperties_Breast">
|
||||
<BreastTex>Breasts/Breast</BreastTex>
|
||||
<BlacknippleColor>(55,20,0)</BlacknippleColor>
|
||||
<BreastTex>Breasts/Breasts_Artificial</BreastTex>
|
||||
<BlacknippleColor>(255,255,255)</BlacknippleColor>
|
||||
</li>
|
||||
</comps>
|
||||
</value>
|
||||
|
@ -31,8 +31,8 @@
|
|||
<value>
|
||||
<comps>
|
||||
<li Class="RJW_Menstruation.CompProperties_Breast">
|
||||
<BreastTex>Breasts/Breast</BreastTex>
|
||||
<BlacknippleColor>(55,20,0)</BlacknippleColor>
|
||||
<BreastTex>Breasts/Breasts_Artificial</BreastTex>
|
||||
<BlacknippleColor>(255,255,255)</BlacknippleColor>
|
||||
</li>
|
||||
</comps>
|
||||
</value>
|
||||
|
@ -44,7 +44,7 @@
|
|||
<comps>
|
||||
<li Class="RJW_Menstruation.CompProperties_Breast">
|
||||
<BreastTex>Breasts/Breast</BreastTex>
|
||||
<BlacknippleColor>(55,20,0)</BlacknippleColor>
|
||||
<BlacknippleColor>(255,255,255)</BlacknippleColor>
|
||||
</li>
|
||||
</comps>
|
||||
</value>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<JobDef>
|
||||
<defName>VaginaWashingwithBucket</defName>
|
||||
<driverClass>RJW_Menstruation.Sexperience.JobDriver_VaginaWashingWithBucket</driverClass>
|
||||
<reportString>washing vagina</reportString>
|
||||
<reportString>gather cum</reportString>
|
||||
<casualInterruptible>true</casualInterruptible>
|
||||
</JobDef>
|
||||
</Defs>
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 3.7 KiB |
|
@ -43,10 +43,6 @@
|
|||
<HintPath>..\..\..\..\..\rjw-mc-master\1.3\Assemblies\Milk.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="RJW">
|
||||
<HintPath>..\..\..\..\..\RJW\1.2\Assemblies\RJW.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
|
|
|
@ -73,7 +73,7 @@ namespace RJW_Menstruation
|
|||
public bool loaded = false;
|
||||
public int ovarypower = -100000;
|
||||
public int eggstack = 0;
|
||||
|
||||
public bool DoCleanWomb = false;
|
||||
|
||||
public enum Stage
|
||||
{
|
||||
|
@ -121,7 +121,6 @@ namespace RJW_Menstruation
|
|||
protected HediffComp_Breast breastcache = null;
|
||||
protected float antisperm = 0.0f;
|
||||
protected float? originvagsize = null;
|
||||
protected bool? hymen = null;
|
||||
|
||||
public int ovarypowerthreshold
|
||||
{
|
||||
|
@ -507,7 +506,7 @@ namespace RJW_Menstruation
|
|||
Scribe_Values.Look(ref eggstack, "eggstack", eggstack, true);
|
||||
Scribe_Values.Look(ref estrusflag, "estrusflag", estrusflag, true);
|
||||
Scribe_Values.Look(ref originvagsize, "originvagsize", originvagsize, true);
|
||||
Scribe_Values.Look(ref hymen, "hymen", hymen, true);
|
||||
Scribe_Values.Look(ref DoCleanWomb, "DoCleanWomb", DoCleanWomb, true);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -12,13 +12,14 @@ namespace RJW_Menstruation
|
|||
{
|
||||
public static void Postfix(ref IEnumerable<Gizmo> __result, Pawn __instance)
|
||||
{
|
||||
List<Gizmo> gizmoList = __result.ToList();
|
||||
|
||||
if (!__instance.ShowStatus())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
List<Gizmo> gizmoList = __result.ToList();
|
||||
|
||||
|
||||
if (__instance.ShouldShowWombGizmo())
|
||||
{
|
||||
AddWombGizmos(__instance, ref gizmoList);
|
||||
|
@ -46,10 +47,16 @@ namespace RJW_Menstruation
|
|||
private static void AddWombGizmos(Pawn __instance, ref List<Gizmo> gizmoList)
|
||||
{
|
||||
HediffComp_Menstruation comp = __instance.GetMenstruationComp();
|
||||
if (comp != null) gizmoList.Add(CreateGizmo_WombStatus(__instance, comp));
|
||||
if (comp != null) AddMenstruationGizmos(__instance, comp, ref gizmoList);
|
||||
|
||||
}
|
||||
|
||||
private static void AddMenstruationGizmos(Pawn pawn, HediffComp_Menstruation comp, ref List<Gizmo> gizmolist)
|
||||
{
|
||||
gizmolist.Add(CreateGizmo_WombStatus(pawn, comp));
|
||||
}
|
||||
|
||||
|
||||
private static Gizmo CreateGizmo_WombStatus(Pawn pawn, HediffComp_Menstruation comp)
|
||||
{
|
||||
Texture2D icon, icon_overay;
|
||||
|
@ -113,6 +120,7 @@ namespace RJW_Menstruation
|
|||
|
||||
return gizmo;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -87,7 +87,8 @@ namespace RJW_Menstruation
|
|||
}
|
||||
|
||||
public static readonly Texture2D FertChanceTex = SolidColorMaterials.NewSolidColorTexture(new Color(1f, 1f, 1f, 0.4f));
|
||||
|
||||
public static readonly Texture2D GatherCum_Bucket = ContentFinder<Texture2D>.Get("UI/Icon/ToBucket");
|
||||
public static readonly Texture2D GatherCum_Pussy = ContentFinder<Texture2D>.Get("UI/Icon/ToPussy");
|
||||
|
||||
private static Texture2D milktexturecache = SolidColorMaterials.NewSolidColorTexture(0.992f, 1.0f, 0.960f, 1.0f);
|
||||
private static Texture2D slaaneshtexturecache = SolidColorMaterials.NewSolidColorTexture(0.686f, 0.062f, 0.698f, 1.0f);
|
||||
|
@ -102,5 +103,6 @@ namespace RJW_Menstruation
|
|||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@ namespace RJW_Menstruation
|
|||
public static readonly string Stage_Anestrus = "Stage_Anestrus".Translate();
|
||||
public static readonly string Button_HealthTab = "Button_HealthTab".Translate();
|
||||
public static readonly string Button_MilkTooltip = "Button_MilkTooltip".Translate();
|
||||
public static readonly string Dialog_DoCleanWomb_Tooltip = "Dialog_DoCleanWomb_Tooltip".Translate();
|
||||
public static readonly string Dialog_DontCleanWomb_Tooltip = "Dialog_DontCleanWomb_Tooltip".Translate();
|
||||
|
||||
public static readonly string Dialog_WombInfo01 = "Dialog_WombInfo01".Translate();
|
||||
public static readonly string Dialog_WombInfo02 = "Dialog_WombInfo02".Translate();
|
||||
|
|
|
@ -34,7 +34,7 @@ namespace RJW_Menstruation
|
|||
if (Configurations.IsOverrideExist(def)) continue;
|
||||
else
|
||||
{
|
||||
raceList.Add(new FloatMenuOption(def.label, delegate { AddHybridOverride(def); } ));
|
||||
raceList.Add(new FloatMenuOption(def.label, delegate { AddHybridOverride(def);}, def.uiIcon, Color.white ));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -288,7 +288,7 @@ namespace RJW_Menstruation
|
|||
if (info.hybridExtension.Exists(x => x.defName == def.defName)) continue;
|
||||
else
|
||||
{
|
||||
raceList.Add(new FloatMenuOption(def.label, delegate { AddHybridInfo(def); }));
|
||||
raceList.Add(new FloatMenuOption(def.label, delegate { AddHybridInfo(def); }, Widgets.GetIconFor(def), Color.white));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -384,7 +384,7 @@ namespace RJW_Menstruation
|
|||
if (extension.hybridInfo.ContainsKey(def.defName)) continue;
|
||||
else
|
||||
{
|
||||
list.Add(new FloatMenuOption(def.label, delegate { extension.hybridInfo.Add(def.defName, 1.0f); }));
|
||||
list.Add(new FloatMenuOption(def.label, delegate { extension.hybridInfo.Add(def.defName, 1.0f); }, Widgets.GetIconFor(def), Color.white));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -456,7 +456,7 @@ namespace RJW_Menstruation
|
|||
if (extension.hybridInfo.ContainsKey(def.defName)) continue;
|
||||
else
|
||||
{
|
||||
list.Add(new FloatMenuOption(def.label, delegate { extension.hybridInfo.Add(def.defName, 1.0f); }));
|
||||
list.Add(new FloatMenuOption(def.label, delegate { extension.hybridInfo.Add(def.defName, 1.0f); }, Widgets.GetIconFor(def.race), Color.white));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,7 +38,20 @@ namespace RJW_Menstruation
|
|||
private GUIStyle boxstyle = new GUIStyle(GUI.skin.textArea);
|
||||
private GUIStyle buttonstyle = new GUIStyle(GUI.skin.button);
|
||||
|
||||
|
||||
public Pawn Pawn
|
||||
{
|
||||
get
|
||||
{
|
||||
return pawn;
|
||||
}
|
||||
}
|
||||
public HediffComp_Menstruation Comp
|
||||
{
|
||||
get
|
||||
{
|
||||
return comp;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override Vector2 InitialSize
|
||||
|
|
|
@ -195,7 +195,7 @@ namespace RJW_Menstruation
|
|||
nipple = ContentFinder<Texture2D>.Get("Breasts/Breast_Breast00_Nipple00", false);
|
||||
areola = ContentFinder<Texture2D>.Get("Breasts/Breast_Breast00_Areola00", false);
|
||||
|
||||
GUI.color = pawn.story.SkinColor;
|
||||
GUI.color = pawn.story?.SkinColor ?? Color.white;
|
||||
GUI.DrawTexture(rect, breast, ScaleMode.ScaleToFit);
|
||||
GUI.color = Color.white;
|
||||
GUI.DrawTexture(rect, areola, ScaleMode.ScaleToFit);
|
||||
|
|
|
@ -11,11 +11,10 @@ using RJWSexperience;
|
|||
|
||||
namespace RJW_Menstruation.Sexperience
|
||||
{
|
||||
public class JobDriver_VaginaWashingWithBucket : JobDriver
|
||||
public class JobDriver_VaginaWashingWithBucket : JobDriver_CleanSelfWithBucket
|
||||
{
|
||||
const int excretingTime = 300;//ticks - 120 = 2 real seconds, 3 in-game minutes
|
||||
|
||||
protected Building_CumBucket Bucket => TargetB.Thing as Building_CumBucket;
|
||||
|
||||
public override bool TryMakePreToilReservations(bool errorOnFailed)
|
||||
{
|
||||
|
@ -54,6 +53,16 @@ namespace RJW_Menstruation.Sexperience
|
|||
if (Comp.TotalCumPercent > 0.001) JumpToToil(excreting);
|
||||
}
|
||||
};
|
||||
|
||||
Toil cleaning = new Toil();
|
||||
cleaning.initAction = CleaningInit;
|
||||
cleaning.tickAction = CleaningTick;
|
||||
cleaning.AddFinishAction(Finish);
|
||||
cleaning.defaultCompleteMode = ToilCompleteMode.Never;
|
||||
cleaning.WithProgressBar(TargetIndex.A, () => progress / CleaningTime);
|
||||
|
||||
yield return cleaning;
|
||||
|
||||
//yield return excreting;
|
||||
yield break;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Verse;
|
||||
using RimWorld;
|
||||
using UnityEngine;
|
||||
using RJWSexperience;
|
||||
using rjw;
|
||||
using HarmonyLib;
|
||||
|
||||
|
||||
namespace RJW_Menstruation.Sexperience
|
||||
{
|
||||
[HarmonyPatch(typeof(Pawn_GetGizmos), "AddMenstruationGizmos")]
|
||||
public static class GetGizmos_Patch
|
||||
{
|
||||
public static void Postfix(Pawn pawn, HediffComp_Menstruation comp, ref List<Gizmo> gizmolist)
|
||||
{
|
||||
gizmolist.Add(CreateGizmo_GatherCum(pawn, comp));
|
||||
}
|
||||
|
||||
private static Gizmo CreateGizmo_GatherCum(Pawn pawn, HediffComp_Menstruation comp)
|
||||
{
|
||||
Texture2D icon = TextureCache.GatherCum_Bucket;
|
||||
string label = Keyed.RS_GatherCum;
|
||||
string description = Keyed.RS_GatherCum;
|
||||
Gizmo gizmo = new Command_Toggle
|
||||
{
|
||||
defaultLabel = label,
|
||||
defaultDesc = description,
|
||||
icon = icon,
|
||||
isActive = delegate() { return comp.DoCleanWomb; },
|
||||
toggleAction = delegate
|
||||
{
|
||||
comp.DoCleanWomb = !comp.DoCleanWomb;
|
||||
}
|
||||
};
|
||||
|
||||
return gizmo;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using RJW_Menstruation;
|
||||
using HarmonyLib;
|
||||
using rjw;
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
using Verse.Sound;
|
||||
using UnityEngine;
|
||||
using RJWSexperience;
|
||||
|
||||
namespace RJW_Menstruation.Sexperience
|
||||
{
|
||||
[HarmonyPatch(typeof(Dialog_WombStatus), "DrawWomb")]
|
||||
public static class Menstruation_Patch_Dialog_WombStatus
|
||||
{
|
||||
public const float ICONSIZE = 42f;
|
||||
|
||||
public static void Postfix(Rect rect, Dialog_WombStatus __instance)
|
||||
{
|
||||
Rect buttonRect = new Rect(rect.x, rect.yMax - ICONSIZE, ICONSIZE, ICONSIZE).ContractedBy(2f);
|
||||
if (__instance.Comp.DoCleanWomb)
|
||||
{
|
||||
Widgets.DrawTextureFitted(buttonRect,TextureCache.GatherCum_Bucket,1.0f);
|
||||
TooltipHandler.TipRegion(buttonRect, Translations.Dialog_DoCleanWomb_Tooltip);
|
||||
}
|
||||
else
|
||||
{
|
||||
Widgets.DrawTextureFitted(buttonRect, TextureCache.GatherCum_Pussy, 1.0f);
|
||||
TooltipHandler.TipRegion(buttonRect, Translations.Dialog_DontCleanWomb_Tooltip);
|
||||
}
|
||||
|
||||
if (Widgets.ButtonInvisible(buttonRect))
|
||||
{
|
||||
SoundDefOf.Click.PlayOneShotOnCamera();
|
||||
__instance.Comp.DoCleanWomb = !__instance.Comp.DoCleanWomb;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -18,7 +18,9 @@ namespace RJW_Menstruation.Sexperience
|
|||
public static void Postfix(Vector3 clickPos, Pawn pawn, List<FloatMenuOption> opts)
|
||||
{
|
||||
var targets = GenUI.TargetsAt(clickPos, TargetingParameters.ForBuilding());
|
||||
HediffComp_Menstruation comp = pawn.GetMenstruationComp();
|
||||
|
||||
if (comp != null && comp.TotalCumPercent > 0.001f)
|
||||
foreach (LocalTargetInfo t in targets)
|
||||
{
|
||||
Building building = t.Thing as Building;
|
||||
|
@ -39,7 +41,7 @@ namespace RJW_Menstruation.Sexperience
|
|||
|
||||
public static FloatMenuOption MakeMenu(Pawn pawn, LocalTargetInfo target)
|
||||
{
|
||||
FloatMenuOption option = FloatMenuUtility.DecoratePrioritizedTask(new FloatMenuOption(Translations.FloatMenu_CleanSelf, delegate ()
|
||||
FloatMenuOption option = FloatMenuUtility.DecoratePrioritizedTask(new FloatMenuOption(Keyed.RS_GatherCum, delegate ()
|
||||
{
|
||||
pawn.jobs.TryTakeOrderedJob(new Verse.AI.Job(VariousDefOf.VaginaWashingwithBucket, null, target, target.Cell));
|
||||
}, MenuOptionPriority.Low), pawn, target);
|
||||
|
|
|
@ -5,14 +5,46 @@ using System.Text;
|
|||
using System.Threading.Tasks;
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
using Verse.AI;
|
||||
using rjw;
|
||||
using RJW_Menstruation;
|
||||
|
||||
using HarmonyLib;
|
||||
using RJWSexperience;
|
||||
|
||||
namespace RJW_Menstruation.Sexperience
|
||||
{
|
||||
public class RJW_Patch
|
||||
[HarmonyPatch(typeof(WorkGiver_CleanSelf))]
|
||||
public static class RJW_Patch_WorkGiver_CleanSelf
|
||||
{
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch("HasJobOnThing")]
|
||||
public static bool HasJobOnThing(Pawn pawn, Thing t, bool forced, ref bool __result)
|
||||
{
|
||||
HediffComp_Menstruation comp = pawn.GetMenstruationComp();
|
||||
if (comp != null && comp.DoCleanWomb && comp.TotalCumPercent > 0.001f)
|
||||
{
|
||||
__result = true;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch("JobOnThing")]
|
||||
public static void JobOnThing(Pawn pawn, Thing t, bool forced, ref Job __result)
|
||||
{
|
||||
HediffComp_Menstruation comp = pawn.GetMenstruationComp();
|
||||
if (comp != null && comp.DoCleanWomb && comp.TotalCumPercent > 0.001f)
|
||||
{
|
||||
|
||||
Building_CumBucket bucket = pawn.FindClosestBucket();
|
||||
if (bucket != null)
|
||||
{
|
||||
__result = JobMaker.MakeJob(VariousDefOf.VaginaWashingwithBucket, null, bucket, bucket.Position);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -103,7 +103,9 @@
|
|||
<ItemGroup>
|
||||
<Compile Include="GatheredCumMixture.cs" />
|
||||
<Compile Include="JobDrivers.cs" />
|
||||
<Compile Include="Patch\GetGizmos.cs" />
|
||||
<Compile Include="Patch\Harmony.cs" />
|
||||
<Compile Include="Patch\Menstruation_Patch.cs" />
|
||||
<Compile Include="Patch\Pawn_Patch.cs" />
|
||||
<Compile Include="Patch\RJW_Patch.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Manifest>
|
||||
<identifier>RJW Menstruation</identifier>
|
||||
<version>1.0.5.7</version>
|
||||
<version>1.0.5.8</version>
|
||||
<dependencies>
|
||||
</dependencies>
|
||||
<incompatibleWith />
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
Version 1.0.5.8
|
||||
- requires RJW 4.8.1 or later
|
||||
- added toggle for gather cums in womb into a cum bucket
|
||||
- fixed nudity pawns get mood debuff from tampons(pads will get debuffs)
|
||||
- added blue breasts for hydraulic and bionic breasts
|
||||
- now pads provide tiny armor rate to genitals
|
||||
|
||||
Version 1.0.5.7
|
||||
- requires RJW 4.8.1 or later
|
||||
- minor bug fixes
|
||||
|
|