diff --git a/About/Manifest.xml b/About/Manifest.xml index b0be86c..3f57084 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@ RJW Menstruation - 1.0.1.0 + 1.0.1.1 diff --git a/Assemblies/RJW_Menstruation.dll b/Assemblies/RJW_Menstruation.dll index d4ee69a..df68f49 100644 Binary files a/Assemblies/RJW_Menstruation.dll and b/Assemblies/RJW_Menstruation.dll differ diff --git a/Defs/Drugs/Pills_Menstruation.xml b/Defs/Drugs/Pills_Menstruation.xml index 6e5c64b..a3b0659 100644 --- a/Defs/Drugs/Pills_Menstruation.xml +++ b/Defs/Drugs/Pills_Menstruation.xml @@ -12,7 +12,7 @@ false 2400 - 120 + 160 0.05 Industrial @@ -46,4 +46,52 @@ + + + SuperovulationInducingAgent + + Induce superovulation May cause early menopause + + Things/Item/SIA + Graphic_StackCount + + false + + 2400 + 140 + 0.05 + + Industrial + + Medical + +
  • +
  • +
    +
    + + DrugProduction + +
  • DrugLab
  • +
    +
    + + 12 + 6 + + +
  • + 0 + 1000 + + 0.08 + 0.14 + +
  • +
    +
    + + + + \ No newline at end of file diff --git a/Defs/Stats/Stats_Absorber.xml b/Defs/Stats/Stats_Absorber.xml new file mode 100644 index 0000000..5a6521d --- /dev/null +++ b/Defs/Stats/Stats_Absorber.xml @@ -0,0 +1,27 @@ + + + + + MaxAbsorbable + + Maximum fluids can be absorbed. + Apparel + 0 + FloatOne + {0} ml + false + 60 + +
  • + 0.5 + 0.8 + 1 + 1.2 + 1.4 + 2.0 + 5.0 +
  • +
    +
    + +
    diff --git a/Defs/ThingDefs/ApparelLayerDefs_Absorber.xml b/Defs/ThingDefs/ApparelLayerDefs_Absorber.xml new file mode 100644 index 0000000..85fec8c --- /dev/null +++ b/Defs/ThingDefs/ApparelLayerDefs_Absorber.xml @@ -0,0 +1,8 @@ + + + + Absorber + + 500 + + diff --git a/Defs/ThingDefs/Apparel_Absorbers.xml b/Defs/ThingDefs/Apparel_Absorbers.xml new file mode 100644 index 0000000..89b1ac0 --- /dev/null +++ b/Defs/ThingDefs/Apparel_Absorbers.xml @@ -0,0 +1,239 @@ + + + + + Absorber_Tampon + + A tampon for absorbing fluids from vagina + RJW_Menstruation.Absorber_Tampon + + Things/Item/Tampon + Graphic_Single + + Never + false + + 20 + 0.01 + 1000 + 1.0 + 2 + 10 + + 5 + +
  • Fabric
  • +
    + + UnfinishedApparel + ComplexClothing + GeneralLaborSpeed + Crafting + Tailor + Recipe_Tailor + +
  • ElectricTailoringBench
  • +
  • HandTailoringBench
  • +
    + true + + 4 + +
    + +
  • ApparelUtility
  • +
    + + true + false + 0 + Female + +
  • Torso
  • +
    + +
  • Absorber
  • +
    + +
  • Absorber
  • +
    +
    + +
  • + false + true + 8 + Absorber_Tampon_Dirty +
  • +
    +
    + + + Absorber_Tampon_Dirty + + An wet used tampon + RJW_Menstruation.Absorber_Tampon + + Things/Item/Tampon_Dirty + Graphic_Single + + Never + false + + 20 + 0.05 + 0 + 1000 + 0.2 + 2 + 10 + -5 + + +
  • Fabric
  • +
    + +
  • ApparelUtility
  • +
    + + true + false + 0 + Female + +
  • Torso
  • +
    + +
  • Absorber
  • +
    + +
  • Absorber
  • +
    +
    + +
  • + false + true + 8 + Absorber_Tampon_Dirty +
  • +
    +
    + + + + Absorber_Pad + + A pad for absorbing fluids from vagina + RJW_Menstruation.Absorber + + Things/Item/Pad + Graphic_Single + + Never + false + + 20 + 0.02 + 1000 + 1.0 + 4 + 25 + + 10 + +
  • Fabric
  • +
    + + UnfinishedApparel + GeneralLaborSpeed + Crafting + Tailor + Recipe_Tailor + +
  • ElectricTailoringBench
  • +
  • HandTailoringBench
  • +
    + true + + 4 + +
    + +
  • ApparelUtility
  • +
    + + true + false + 0 + Female + +
  • Torso
  • +
    + +
  • Absorber
  • +
    + +
  • Absorber
  • +
    +
    + +
  • + true + false + Absorber_Pad_Dirty +
  • +
    +
    + + + Absorber_Pad_Dirty + + An wet used pad + RJW_Menstruation.Absorber + + Things/Item/Pad_Dirty + Graphic_Single + + Never + false + + 20 + 0.10 + 0 + 1000 + 0.2 + 4 + 25 + -5 + + +
  • Fabric
  • +
    + +
  • ApparelUtility
  • +
    + + true + false + 0 + Female + +
  • Torso
  • +
    + +
  • Absorber
  • +
    + +
  • Absorber
  • +
    +
    + +
  • + true + false + Absorber_Pad_Dirty +
  • +
    +
    +
    diff --git a/Languages/Korean/DefInjected/ApparelLayerDef/RJWMenstruation.xml b/Languages/Korean/DefInjected/ApparelLayerDef/RJWMenstruation.xml new file mode 100644 index 0000000..9c687e3 --- /dev/null +++ b/Languages/Korean/DefInjected/ApparelLayerDef/RJWMenstruation.xml @@ -0,0 +1,4 @@ + + + 성기 + \ No newline at end of file diff --git a/Languages/Korean/DefInjected/HediffDef/RJWMenstruation.xml b/Languages/Korean/DefInjected/HediffDef/RJWMenstruation.xml new file mode 100644 index 0000000..335c22f --- /dev/null +++ b/Languages/Korean/DefInjected/HediffDef/RJWMenstruation.xml @@ -0,0 +1,20 @@ + + + 생리통 + 생리중입니다. + 불편함 + 짜증남 + 아픔 + 고통스러움 + 갱년기 + 갱년기입니다. + 초기 + 중기 + 후기 + 폐경 + 폐경 + 임신할수 없습니다. + + + + \ No newline at end of file diff --git a/Languages/Korean/DefInjected/StatDef/RJWMenstruation.xml b/Languages/Korean/DefInjected/StatDef/RJWMenstruation.xml new file mode 100644 index 0000000..f92112e --- /dev/null +++ b/Languages/Korean/DefInjected/StatDef/RJWMenstruation.xml @@ -0,0 +1,7 @@ + + + 흡수량 + 액체를 흡수할수 있는 정도입니다. + + + \ No newline at end of file diff --git a/Languages/Korean/DefInjected/ThingDef/RJWMenstruation.xml b/Languages/Korean/DefInjected/ThingDef/RJWMenstruation.xml new file mode 100644 index 0000000..9466b5d --- /dev/null +++ b/Languages/Korean/DefInjected/ThingDef/RJWMenstruation.xml @@ -0,0 +1,17 @@ + + + 탐폰 + 보지에서 나오는 액체를 흡수하는 탐폰입니다. + 더러운 탐폰 + 사용된 축축한 탐폰입니다. + 생리대 + 보지에서 나오는 액체를 흡수하는 생리대입니다. + 젖은 생리대 + 사용된 축축한 생리대입니다. + 난소 재생약 + 난소를 재생시켜 배출할수있는 난자의 양을 증가시킵니다. 난자 소모량이 클수록 효과가 줄어듭니다. 갱년기 증상을 완화시키지 않습니다. + 과배란 유도제 + 과배란을 유도하는 약물입니다. 조기폐경을 초래할수도 있습니다. + + + \ No newline at end of file diff --git a/Patches/Hediffs_PrivateParts.xml b/Patches/Hediffs_PrivateParts.xml index 7c0595c..27acf24 100644 --- a/Patches/Hediffs_PrivateParts.xml +++ b/Patches/Hediffs_PrivateParts.xml @@ -4,6 +4,7 @@ + @@ -12,7 +13,7 @@
  • - 15 + 10 1.0 1.0 0.05 @@ -55,7 +56,7 @@
  • - 15 + 10 1.0 1.0 0.05 @@ -76,7 +77,7 @@
  • - 15 + 10 Womb/Womb Genitals/BionicVagina true @@ -90,7 +91,7 @@
  • - 15 + 10 Womb/Womb Genitals/BionicVagina true @@ -104,7 +105,7 @@
  • - 15 + 10 1.0 1.0 0.05 diff --git a/Textures/Things/Item/Pad.png b/Textures/Things/Item/Pad.png new file mode 100644 index 0000000..e58d6d6 Binary files /dev/null and b/Textures/Things/Item/Pad.png differ diff --git a/Textures/Things/Item/Pad_Dirty.png b/Textures/Things/Item/Pad_Dirty.png new file mode 100644 index 0000000..1fa5083 Binary files /dev/null and b/Textures/Things/Item/Pad_Dirty.png differ diff --git a/Textures/Things/Item/SIA/SIA_a.png b/Textures/Things/Item/SIA/SIA_a.png new file mode 100644 index 0000000..8788c7f Binary files /dev/null and b/Textures/Things/Item/SIA/SIA_a.png differ diff --git a/Textures/Things/Item/SIA/SIA_b.png b/Textures/Things/Item/SIA/SIA_b.png new file mode 100644 index 0000000..b78ca67 Binary files /dev/null and b/Textures/Things/Item/SIA/SIA_b.png differ diff --git a/Textures/Things/Item/Tampon.png b/Textures/Things/Item/Tampon.png new file mode 100644 index 0000000..a2f10bd Binary files /dev/null and b/Textures/Things/Item/Tampon.png differ diff --git a/Textures/Things/Item/Tampon/Tampon_a.png b/Textures/Things/Item/Tampon/Tampon_a.png new file mode 100644 index 0000000..a2f10bd Binary files /dev/null and b/Textures/Things/Item/Tampon/Tampon_a.png differ diff --git a/Textures/Things/Item/Tampon/Tampon_b.png b/Textures/Things/Item/Tampon/Tampon_b.png new file mode 100644 index 0000000..6b5ed45 Binary files /dev/null and b/Textures/Things/Item/Tampon/Tampon_b.png differ diff --git a/Textures/Things/Item/Tampon_Dirty.png b/Textures/Things/Item/Tampon_Dirty.png new file mode 100644 index 0000000..7b39d93 Binary files /dev/null and b/Textures/Things/Item/Tampon_Dirty.png differ diff --git a/changelogs.txt b/changelogs.txt index 274469b..555e3a5 100644 --- a/changelogs.txt +++ b/changelogs.txt @@ -1,3 +1,12 @@ +Version 1.0.1.1 + - requires RJW 4.6.1 or later + - added superovulation inducing agent + - cumflations (no effects yet) + - added tampon and sanitary pad can absorb fluids. + - tampon blocks fluids completly. however, keep wearing dirty tampon can cause infection. + - pad blocks fluids for a while, but if exceed over the absorbable, fluids leak again. + - fixed erros when male pawn take hyperfertility pills. + Version 1.0.1.0 - requires RJW 4.6.1 or later - added multiple pregnancy diff --git a/source/RJW_Menstruation/RJW_Menstruation/Cum.cs b/source/RJW_Menstruation/RJW_Menstruation/Cum.cs index 86f8d10..5495527 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Cum.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Cum.cs @@ -45,7 +45,7 @@ namespace RJW_Menstruation DNAcache = DefDatabase.GetNamedSilentFail(pawn?.def.defName ?? "Human"); if (DNAcache == null) { - DNAcache = VariousDefOf.defaultDNA; + DNAcache = VariousDefOf.HumanDNA; } return DNAcache; } diff --git a/source/RJW_Menstruation/RJW_Menstruation/DrugOutcomDoers.cs b/source/RJW_Menstruation/RJW_Menstruation/DrugOutcomDoers.cs index cfe4e3f..4558277 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/DrugOutcomDoers.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/DrugOutcomDoers.cs @@ -13,11 +13,11 @@ namespace RJW_Menstruation protected override void DoIngestionOutcomeSpecial(Pawn pawn, Thing ingested) { HediffComp_Menstruation comp = Utility.GetMenstruationComp(pawn); - if (comp != null && comp.curStage.Equals(HediffComp_Menstruation.Stage.Follicular) + if (comp != null && (comp.curStage.Equals(HediffComp_Menstruation.Stage.Follicular) || comp.curStage.Equals(HediffComp_Menstruation.Stage.Luteal) || comp.curStage.Equals(HediffComp_Menstruation.Stage.ClimactericFollicular) || comp.curStage.Equals(HediffComp_Menstruation.Stage.ClimactericLuteal) - ) + )) { comp.curStage = HediffComp_Menstruation.Stage.Ovulatory; comp.ovarypower--; @@ -42,7 +42,19 @@ namespace RJW_Menstruation } } - + public class SuperOvulationOutcomDoer : IngestionOutcomeDoer + { + protected override void DoIngestionOutcomeSpecial(Pawn pawn, Thing ingested) + { + HediffComp_Menstruation comp = Utility.GetMenstruationComp(pawn); + if (comp != null) + { + comp.eggstack += Rand.Range(1,4); + } + + + } + } diff --git a/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs b/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs index bb33a1b..9f5aee5 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs @@ -26,6 +26,7 @@ namespace RJW_Menstruation public string vagTex = "Genitals/Vagina"; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday public bool infertile = false; public int ovaryPower = 600000000; // default: almost unlimited ovulation + public CompProperties_Menstruation() { @@ -62,6 +63,7 @@ namespace RJW_Menstruation public Action actionref; public bool loaded = false; public int ovarypower = -100000; + public int eggstack = 0; public enum Stage @@ -132,7 +134,7 @@ namespace RJW_Menstruation get { float res = Props.maxCumCapacity * parent.pawn.BodySize; - if (curStage == Stage.Pregnant) res *= 0.2f; + if (curStage != Stage.Pregnant) res *= 500f; return res; } } @@ -315,6 +317,7 @@ namespace RJW_Menstruation Scribe_Values.Look(ref recoveryIntervalhours, "recoveryIntervalhours", recoveryIntervalhours, true); Scribe_Values.Look(ref crampPain, "crampPain", crampPain, true); Scribe_Values.Look(ref ovarypower, "ovarypower", ovarypower, true); + Scribe_Values.Look(ref eggstack, "eggstack", eggstack, true); } @@ -385,9 +388,9 @@ namespace RJW_Menstruation { float volume = injectedvolume * CumInFactor; float tmp = TotalCum + volume; - if (tmp > Props.maxCumCapacity) + if (tmp > CumCapacity) { - float cumoutrate = 1 - (Props.maxCumCapacity / tmp); + float cumoutrate = 1 - (CumCapacity / tmp); bool merged = false; if (!cums.NullOrEmpty()) foreach (Cum cum in cums) { @@ -419,6 +422,7 @@ namespace RJW_Menstruation } if (!merged) cums.Add(new Cum(pawn, volume, fertility, filthdef)); } + AfterCumIn(); } /// @@ -432,9 +436,9 @@ namespace RJW_Menstruation public void CumIn(Pawn pawn, float volume, string notcumlabel, float decayresist = 0, ThingDef filthdef = null) { float tmp = TotalCum + volume; - if (tmp > Props.maxCumCapacity) + if (tmp > CumCapacity) { - float cumoutrate = 1 - (Props.maxCumCapacity / tmp); + float cumoutrate = 1 - (CumCapacity / tmp); bool merged = false; if (!cums.NullOrEmpty()) foreach (Cum cum in cums) { @@ -468,6 +472,21 @@ namespace RJW_Menstruation } if (!merged) cums.Add(new Cum(pawn, volume, notcumlabel,decayresist, filthdef)); } + AfterCumIn(); + } + + public void AfterCumIn() + { + + } + + public void BeforeCumOut(out Absorber absorber) + { + absorber = (Absorber)parent.pawn.apparel?.WornApparel?.Find(x => x.def.apparel.tags.Contains("Absorber")); + if (absorber != null) + { + if (absorber.dirty && absorber.EffectAfterDirty) absorber.DirtyEffect(); + } } /// @@ -475,14 +494,18 @@ namespace RJW_Menstruation /// public void CumOut() { + float leakfactor = 1.0f; + Absorber absorber; + BeforeCumOut(out absorber); if (cums.NullOrEmpty()) return; + else if (absorber != null && absorber.dirty && !absorber.LeakAfterDirty) leakfactor = 0f; List removecums = new List(); foreach(Cum cum in cums) { float vd = cum.volume; - cum.volume *= Math.Max(0,(1 - (Configurations.CumDecayRatio * (1 - cum.decayresist)))); - cum.fertvolume *= Math.Max(0, (1 - (Configurations.CumDecayRatio * (1 - cum.decayresist))) * (1 - (Configurations.CumFertilityDecayRatio * (1 - cum.decayresist)))); - if (vd - cum.volume > minmakefilthvalue) MakeCumFilth(cum); + cum.volume *= Math.Max(0, (1 - (Configurations.CumDecayRatio * (1 - cum.decayresist)) * leakfactor)); + cum.fertvolume *= Math.Max(0, (1 - (Configurations.CumDecayRatio * (1 - cum.decayresist)) * leakfactor) * (1 - (Configurations.CumFertilityDecayRatio * (1 - cum.decayresist)))); + MakeCumFilth(cum, vd - cum.volume, absorber); if (cum.fertvolume < 0.01f) cum.fertvolume = 0; if (cum.volume < 0.01f) removecums.Add(cum); } @@ -501,16 +524,20 @@ namespace RJW_Menstruation /// public float CumOut(Cum targetcum, float portion = 0.1f) { + float leakfactor = 1.0f; + Absorber absorber; + BeforeCumOut(out absorber); if (cums.NullOrEmpty()) return 0; + else if (absorber != null && absorber.dirty && !absorber.LeakAfterDirty) leakfactor = 0; float outcum = 0; List removecums = new List(); foreach (Cum cum in cums) { float vd = cum.volume; if (cum.Equals(targetcum)) outcum = cum.volume * (portion * (1 - cum.decayresist)); - cum.volume *= Math.Max(0, 1 - (portion * (1 - cum.decayresist))); - cum.fertvolume *= Math.Max(0, (1 - (portion * (1 - cum.decayresist))) * (1 - (Configurations.CumFertilityDecayRatio * (1 - cum.decayresist)))); - if (vd-cum.volume > minmakefilthvalue) MakeCumFilth(cum); + cum.volume *= Math.Max(0, 1 - (portion * (1 - cum.decayresist)) * leakfactor); + cum.fertvolume *= Math.Max(0, (1 - (portion * (1 - cum.decayresist)) * leakfactor) * (1 - (Configurations.CumFertilityDecayRatio * (1 - cum.decayresist)))); + MakeCumFilth(cum, vd - cum.volume,absorber); if (cum.fertvolume < 0.01f) cum.fertvolume = 0; if (cum.volume < 0.01f) removecums.Add(cum); } @@ -523,7 +550,7 @@ namespace RJW_Menstruation } /// - /// Ignores cum's decayratio and get excreted amount of specific cum + /// Ignores cum's decayratio and absorber and get excreted amount of specific cum /// /// /// @@ -539,7 +566,7 @@ namespace RJW_Menstruation if (cum.Equals(targetcum)) outcum = cum.volume * (portion); cum.volume *= 1 - (portion); cum.fertvolume *= (1 - (portion)) * (1 - (Configurations.CumFertilityDecayRatio)); - if (vd - cum.volume > minmakefilthvalue) MakeCumFilth(cum); + MakeCumFilth(cum, vd - cum.volume); if (cum.fertvolume < 0.01f) cum.fertvolume = 0; if (cum.volume < 0.1f) removecums.Add(cum); } @@ -551,6 +578,10 @@ namespace RJW_Menstruation return outcum; } + + + + /// /// Fertilize eggs and return the result /// @@ -738,9 +769,26 @@ namespace RJW_Menstruation GetNotCum(Translations.Menstrual_Blood).color = Colors.blood; } - private void MakeCumFilth(Cum cum) + private void MakeCumFilth(Cum cum, float amount, Absorber absorber = null) { - FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, cum.FilthDef, cum.pawn.LabelShort); + + if (absorber != null) + { + if (!absorber.dirty) + { + absorber.absorbedfluids += amount; + if (absorber.absorbedfluids < 10) + { + absorber.def = absorber.DirtyDef; + absorber.dirty = true; + } + } + else + { + if (absorber.LeakAfterDirty) FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, cum.FilthDef, cum.pawn.LabelShort); + } + } + else if (amount >= minmakefilthvalue) FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, cum.FilthDef, cum.pawn.LabelShort); } @@ -794,8 +842,8 @@ namespace RJW_Menstruation ovarypower--; eggs.Add(new Egg((int)(Props.eggLifespanDays * 24 / CycleFactor))); i++; - } while (i < Rand.ByCurve(parent.pawn.RaceProps.litterSizeCurve)); - + } while (i < Rand.ByCurve(parent.pawn.RaceProps.litterSizeCurve) + eggstack); + eggstack = 0; if (Configurations.EnableMenopause && ovarypower < 1) { eggs.Clear(); diff --git a/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj b/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj index 4e97327..6b40912 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj +++ b/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj @@ -67,6 +67,7 @@ + diff --git a/source/RJW_Menstruation/RJW_Menstruation/Things.cs b/source/RJW_Menstruation/RJW_Menstruation/Things.cs new file mode 100644 index 0000000..bfb4e45 --- /dev/null +++ b/source/RJW_Menstruation/RJW_Menstruation/Things.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RimWorld; +using Verse; +using rjw; + +namespace RJW_Menstruation +{ + + public class AbsorberModExtention : DefModExtension + { + public bool leakAfterDirty = false; + public bool effectsAfterDirty = false; + public ThingDef dirtyDef = null; + public int minHourstoDirtyEffect = 0; + } + + public class Absorber : Apparel + { + + public float absorbedfluids = 0; + public bool dirty = false; + public int wearhours = 0; + public virtual bool LeakAfterDirty => def.GetModExtension().leakAfterDirty; + public virtual bool EffectAfterDirty => def.GetModExtension().effectsAfterDirty; + public virtual ThingDef DirtyDef => def.GetModExtension().dirtyDef; + public virtual int MinHrstoDirtyEffect => def.GetModExtension().minHourstoDirtyEffect; + + + + public virtual void DirtyEffect() {} + + public virtual void WearEffect() + { + wearhours++; + } + + public override void ExposeData() + { + base.ExposeData(); + Scribe_Values.Look(ref absorbedfluids, "absorbedfluids", absorbedfluids, true); + Scribe_Values.Look(ref dirty, "dirty", dirty, true); + Scribe_Values.Look(ref wearhours, "wearhours", wearhours, true); + } + + } + + public class Absorber_Tampon : Absorber + { + + public override void WearEffect() + { + base.WearEffect(); + absorbedfluids += 0.1f; + } + + public override void DirtyEffect() + { + if (wearhours > MinHrstoDirtyEffect && Rand.Chance(0.02f)) + { + Hediff hediff = HediffMaker.MakeHediff(HediffDefOf.WoundInfection, Wearer, Genital_Helper.get_genitalsBPR(Wearer)); + Wearer.health.AddHediff(hediff, Genital_Helper.get_genitalsBPR(Wearer)); + } + } + + } + + + + + + + +} diff --git a/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs b/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs index 6e2f8c4..9c1c469 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs @@ -11,20 +11,26 @@ namespace RJW_Menstruation { public static class VariousDefOf { - public static readonly DNADef defaultDNA = new DNADef - { - fetusTexPath = "Fetus/Fetus_Default", - cumColor = new ColorInt(255, 255, 255, 255), - cumThickness = 0 - }; + //public static readonly DNADef defaultDNA = new DNADef + //{ + // fetusTexPath = "Fetus/Fetus_Default", + // cumColor = new ColorInt(255, 255, 255, 255), + // cumThickness = 0 + //}; public static readonly ThingDef CumFilth = DefDatabase.GetNamed("FilthCum"); + public static readonly ThingDef Tampon = DefDatabase.GetNamed("Absorber_Tampon"); + public static readonly ThingDef Tampon_Dirty = DefDatabase.GetNamed("Absorber_Tampon_Dirty"); public static readonly HediffDef RJW_IUD = DefDatabase.GetNamed("RJW_IUD"); public static readonly HediffDef Hediff_MenstrualCramp = DefDatabase.GetNamed("Hediff_MenstrualCramp"); public static readonly HediffDef Hediff_Climacteric = DefDatabase.GetNamed("Hediff_Climacteric"); public static readonly HediffDef Hediff_Menopause = DefDatabase.GetNamed("Hediff_Menopause"); - + public static readonly DNADef HumanDNA = DefDatabase.GetNamed("Human"); + public static readonly StatDef MaxAbsorbable = DefDatabase.GetNamed("MaxAbsorbable"); public static readonly PawnRelationDef Relation_birthgiver = DefDatabase.AllDefs.FirstOrDefault(d => d.defName == "RJW_Sire"); public static readonly PawnRelationDef Relation_spawn = DefDatabase.AllDefs.FirstOrDefault(d => d.defName == "RJW_Pup"); + + + } }