changed cum calculate method

cum overay dependent on womb textrue
This commit is contained in:
moreoreganostodump 2021-02-04 19:42:52 +09:00
parent 26c5d44d8a
commit 37ad2fcfd6
30 changed files with 62 additions and 31 deletions

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Manifest> <Manifest>
<identifier>RJW Menstruation</identifier> <identifier>RJW Menstruation</identifier>
<version>1.0.0.4</version> <version>1.0.0.5</version>
<dependencies> <dependencies>
</dependencies> </dependencies>
<incompatibleWith /> <incompatibleWith />

Binary file not shown.

View file

@ -32,7 +32,7 @@
<value> <value>
<comps> <comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation"> <li Class="RJW_Menstruation.CompProperties_Menstruation">
<maxCumCapacity>1000</maxCumCapacity> <maxCumCapacity>500</maxCumCapacity>
<baseImplantationChanceFactor>0.5</baseImplantationChanceFactor> <baseImplantationChanceFactor>0.5</baseImplantationChanceFactor>
<basefertilizationChanceFactor>0.2</basefertilizationChanceFactor> <basefertilizationChanceFactor>0.2</basefertilizationChanceFactor>
<deviationFactor>0.05</deviationFactor> <deviationFactor>0.05</deviationFactor>

View file

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 3 KiB

View file

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View file

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View file

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View file

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

28
changelogs.txt Normal file
View file

@ -0,0 +1,28 @@
Version 1.0.0.5
- womb cum capacity is affected by pawn's bodysize
- changed cum volume calculate method.
- cum volume is affected by pawn's bodysize
- generic cum volume decreased.
- if pawn has messy quirk, cum volume increases 4~8times.
- cum textures are dependent on womb texture
Version 1.0.0.4
- fixed errors when runtimeGC removed pawns in cum list.
- added menstrual cramp - now pawns will get mood debuff during in period
- merged some stages into one stage
Version 1.0.0.3
- fixed sometimes hediffcomp stops working.
- changed initializing method
- added patches for generic vagina and dragon vagina
Version 1.0.0.2
- add options for turn on/off vagina/womb image in status window
Version 1.0.0.1
- supports for other type of vagina
- custom images support for vagina&anus

View file

@ -113,7 +113,7 @@ namespace RJW_Menstruation
GUI.Box(preginfo, h.babies.Count + " " + fetus.def.label + " " + Translations.Dialog_WombInfo02, buttonstyle); GUI.Box(preginfo, h.babies.Count + " " + fetus.def.label + " " + Translations.Dialog_WombInfo02, buttonstyle);
GUI.Label(preginfo, Translations.Dialog_WombInfo03 + ": " + h.father.LabelShort + " ", fontstyleright); GUI.Label(preginfo, Translations.Dialog_WombInfo03 + ": " + h.father.LabelShort + " ", fontstyleright);
} }
} }
else cum = ContentFinder<Texture2D>.Get(("Womb/Empty"), true); else cum = ContentFinder<Texture2D>.Get(("Womb/Empty"), true);
} }

View file

@ -124,7 +124,7 @@ namespace RJW_Menstruation
{ {
get get
{ {
float res = Props.maxCumCapacity; float res = Props.maxCumCapacity * parent.pawn.BodySize;
if (curStage == Stage.Pregnant) res *= 0.2f; if (curStage == Stage.Pregnant) res *= 0.2f;
return res; return res;
} }
@ -154,7 +154,7 @@ namespace RJW_Menstruation
get get
{ {
float factor = 1.0f; float factor = 1.0f;
if (xxx.has_quirk(parent.pawn, "Breeder")) factor = 10.0f; if (parent.pawn.Has(Quirk.Breeder)) factor = 10.0f;
if (xxx.is_animal(parent.pawn)) factor *= RJWPregnancySettings.animal_impregnation_chance/100f; if (xxx.is_animal(parent.pawn)) factor *= RJWPregnancySettings.animal_impregnation_chance/100f;
else factor *= RJWPregnancySettings.humanlike_impregnation_chance/100f; else factor *= RJWPregnancySettings.humanlike_impregnation_chance/100f;
return parent.pawn.health.capacities.GetLevel(xxx.reproduction) * factor; return parent.pawn.health.capacities.GetLevel(xxx.reproduction) * factor;

View file

@ -55,7 +55,7 @@ namespace RJW_Menstruation
{ {
Texture2D icon,icon_overay; Texture2D icon,icon_overay;
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 + "\n";
else description += comp.GetCurStageLabel + "\n"; else description += comp.GetCurStageLabel + "\n";
if (pawn.IsPregnant()) if (pawn.IsPregnant())
{ {

View file

@ -60,12 +60,12 @@
<Compile Include="Dialog_WombStatus.cs" /> <Compile Include="Dialog_WombStatus.cs" />
<Compile Include="DNADef.cs" /> <Compile Include="DNADef.cs" />
<Compile Include="DrugOutcomDoers.cs" /> <Compile Include="DrugOutcomDoers.cs" />
<Compile Include="GetGizmos.cs" /> <Compile Include="Patch\GetGizmos.cs" />
<Compile Include="Gizmo_Womb.cs" /> <Compile Include="Gizmo_Womb.cs" />
<Compile Include="Harmony.cs" /> <Compile Include="Patch\Harmony.cs" />
<Compile Include="HediffComp_Menstruation.cs" /> <Compile Include="HediffComp_Menstruation.cs" />
<Compile Include="Pawn_Patch.cs" /> <Compile Include="Patch\Pawn_Patch.cs" />
<Compile Include="RJW_Patch.cs" /> <Compile Include="Patch\RJW_Patch.cs" />
<Compile Include="Translations.cs" /> <Compile Include="Translations.cs" />
<Compile Include="Utility.cs" /> <Compile Include="Utility.cs" />
<Compile Include="VariousDefOf.cs" /> <Compile Include="VariousDefOf.cs" />

View file

@ -25,8 +25,11 @@ namespace RJW_Menstruation
if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorf")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>(); if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorf")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>();
if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorm")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>(); if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorm")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>();
if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("tentacle")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>(); if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("tentacle")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>();
float res = part?.FluidAmmount * part.FluidModifier * pawn.BodySize * Rand.Range(0.8f, 1.2f) * RJWSettings.cum_on_body_amount_adjust * 0.3f ?? 0.0f;
if (pawn.Has(Quirk.Messy)) res *= Rand.Range(4.0f,8.0f);
return part?.FluidAmmount * part.FluidModifier * Rand.Range(0.8f, 1.2f) ?? 0.0f; return res;
} }
public static HediffComp_Menstruation GetMenstruationComp(Pawn pawn) public static HediffComp_Menstruation GetMenstruationComp(Pawn pawn)
@ -135,27 +138,27 @@ namespace RJW_Menstruation
public static Texture2D GetCumIcon(HediffComp_Menstruation comp) public static Texture2D GetCumIcon(HediffComp_Menstruation comp)
{ {
string icon = "Womb/"; string icon = comp.Props.wombTex;
float cumpercent = comp.TotalCumPercent; float cumpercent = comp.TotalCumPercent;
if (cumpercent < 0.001f) icon += "Empty"; if (cumpercent < 0.001f) icon = "Womb/Empty";
else if (cumpercent < 0.01f) icon += "Cum_00"; else if (cumpercent < 0.01f) icon += "_Cum_00";
else if (cumpercent < 0.05f) icon += "Cum_01"; else if (cumpercent < 0.05f) icon += "_Cum_01";
else if (cumpercent < 0.11f) icon += "Cum_02"; else if (cumpercent < 0.11f) icon += "_Cum_02";
else if (cumpercent < 0.17f) icon += "Cum_03"; else if (cumpercent < 0.17f) icon += "_Cum_03";
else if (cumpercent < 0.23f) icon += "Cum_04"; else if (cumpercent < 0.23f) icon += "_Cum_04";
else if (cumpercent < 0.29f) icon += "Cum_05"; else if (cumpercent < 0.29f) icon += "_Cum_05";
else if (cumpercent < 0.35f) icon += "Cum_06"; else if (cumpercent < 0.35f) icon += "_Cum_06";
else if (cumpercent < 0.41f) icon += "Cum_07"; else if (cumpercent < 0.41f) icon += "_Cum_07";
else if (cumpercent < 0.47f) icon += "Cum_08"; else if (cumpercent < 0.47f) icon += "_Cum_08";
else if (cumpercent < 0.53f) icon += "Cum_09"; else if (cumpercent < 0.53f) icon += "_Cum_09";
else if (cumpercent < 0.59f) icon += "Cum_10"; else if (cumpercent < 0.59f) icon += "_Cum_10";
else if (cumpercent < 0.65f) icon += "Cum_11"; else if (cumpercent < 0.65f) icon += "_Cum_11";
else if (cumpercent < 0.71f) icon += "Cum_12"; else if (cumpercent < 0.71f) icon += "_Cum_12";
else if (cumpercent < 0.77f) icon += "Cum_13"; else if (cumpercent < 0.77f) icon += "_Cum_13";
else if (cumpercent < 0.83f) icon += "Cum_14"; else if (cumpercent < 0.83f) icon += "_Cum_14";
else if (cumpercent < 0.89f) icon += "Cum_15"; else if (cumpercent < 0.89f) icon += "_Cum_15";
else if (cumpercent < 0.95f) icon += "Cum_16"; else if (cumpercent < 0.95f) icon += "_Cum_16";
else icon += "Cum_17"; else icon += "_Cum_17";
Texture2D cumtex = ContentFinder<Texture2D>.Get((icon), true); Texture2D cumtex = ContentFinder<Texture2D>.Get((icon), true);
return cumtex; return cumtex;
} }