From 8d54a63532c0ae06da0761d21f99718e6ecd2336 Mon Sep 17 00:00:00 2001 From: moreoreganostodump Date: Wed, 17 Feb 2021 23:20:49 +0900 Subject: [PATCH] cum mixtures --- About/Manifest.xml | 2 +- Assemblies/RJW_Menstruation.dll | Bin 78336 -> 82944 bytes Defs/ThingDefs/Filth_Mixture.xml | 25 +++ Defs/ThoughtDefs/Thoughts_sex.xml | 14 +- .../DefInjected/ThingDef/RJWMenstruation.xml | 1 + changelogs.txt | 7 +- .../RJW_Menstruation/Configurations.cs | 1 + .../RJW_Menstruation/RJW_Menstruation/Cum.cs | 1 + .../RJW_Menstruation/FilthMaker_Colored.cs | 62 ++++++ .../HediffComp_Menstruation.cs | 189 +++++++++++++++--- .../RJW_Menstruation/Patch/Harmony.cs | 2 +- .../RJW_Menstruation/Patch/RJW_Patch.cs | 1 + .../RJW_Menstruation/RJW_Menstruation.csproj | 1 + .../RJW_Menstruation/Reflect.cs | 6 +- .../RJW_Menstruation/Things.cs | 38 ++++ .../RJW_Menstruation/Utility.cs | 7 +- .../RJW_Menstruation/VariousDefOf.cs | 3 + 17 files changed, 319 insertions(+), 41 deletions(-) create mode 100644 Defs/ThingDefs/Filth_Mixture.xml create mode 100644 source/RJW_Menstruation/RJW_Menstruation/FilthMaker_Colored.cs diff --git a/About/Manifest.xml b/About/Manifest.xml index 04a4ef7..8a1e65c 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@ RJW Menstruation - 1.0.1.3 + 1.0.1.4 diff --git a/Assemblies/RJW_Menstruation.dll b/Assemblies/RJW_Menstruation.dll index 1a50d9912daf875cc626adb8b25f1dfcddd7880c..a6dd8407534a979e5c29c549784d3be0f2d73d13 100644 GIT binary patch literal 82944 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

BE}_&8n9Z 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�e__TUYr^8`9od55m_k5vn1Fm0_G+5S>&yn1G5 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 Zzn21g_zS8^{rsALZw3EZ?*C;9{2$4Z?A8DP literal 78336 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 W4m`wPzr#;<;VQ;I|NZ~Rf&T+W)aGjd diff --git a/Defs/ThingDefs/Filth_Mixture.xml b/Defs/ThingDefs/Filth_Mixture.xml new file mode 100644 index 0000000..fda4e41 --- /dev/null +++ b/Defs/ThingDefs/Filth_Mixture.xml @@ -0,0 +1,25 @@ + + + + + FilthMixture + + RJW_Menstruation.Filth_Colored + + -30 + -10 + + + Graphic_Random + Things/Filth/PoolSoft + (255, 255, 255, 180) + + + true + 40 + true + + + + + \ No newline at end of file diff --git a/Defs/ThoughtDefs/Thoughts_sex.xml b/Defs/ThoughtDefs/Thoughts_sex.xml index 77b7ba6..4ad87dc 100644 --- a/Defs/ThoughtDefs/Thoughts_sex.xml +++ b/Defs/ThoughtDefs/Thoughts_sex.xml @@ -22,11 +22,12 @@ 7.0 5 0.1 + 1
  • I'm worried i might get pregnant. - -5 + -3 -2
  • @@ -38,11 +39,12 @@ 7.0 5 0.1 + 1
  • I'm worried i might get pregnant. The chance is low, but... - -2 + -1
  • @@ -53,11 +55,12 @@ 3.0 5 0.1 + 1
  • I might get pregnant. - 15 + 10 5
  • @@ -69,11 +72,12 @@ 3.0 5 0.1 + 1
  • I loved it. - 5 + 3 1
  • @@ -100,6 +104,7 @@ 3.0 5 0.1 + 1
  • @@ -116,6 +121,7 @@ 7.0 5 0.1 + 1
  • diff --git a/Languages/Korean/DefInjected/ThingDef/RJWMenstruation.xml b/Languages/Korean/DefInjected/ThingDef/RJWMenstruation.xml index 9466b5d..83450f2 100644 --- a/Languages/Korean/DefInjected/ThingDef/RJWMenstruation.xml +++ b/Languages/Korean/DefInjected/ThingDef/RJWMenstruation.xml @@ -12,6 +12,7 @@ 난소를 재생시켜 배출할수있는 난자의 양을 증가시킵니다. 난자 소모량이 클수록 효과가 줄어듭니다. 갱년기 증상을 완화시키지 않습니다. 과배란 유도제 과배란을 유도하는 약물입니다. 조기폐경을 초래할수도 있습니다. + 혼합물 \ No newline at end of file diff --git a/changelogs.txt b/changelogs.txt index d194a01..fea5726 100644 --- a/changelogs.txt +++ b/changelogs.txt @@ -1,5 +1,8 @@ +Version 1.0.1.4 + - fixed bugs that in period hediff not disappear in time + - fixed enable menopause setting was not saved + - now cum filth is generated as a single mixture filth Version 1.0.1.3 - *Note* you should update mod list - requires RJW 4.6.1 or later - max absorbable statbase added to vanilla fabrics. - added thoughts for cum inside @@ -15,7 +18,7 @@ Version 1.0.1.3 - fixed bugs with enzygotic twins - enzigotic twins will get same appearance - added HAR compatibllity - - + - removed unused textures Version 1.0.1.2 - requires RJW 4.6.1 or later - reduced sex satisfaction debuffs diff --git a/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs b/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs index 3b05f48..b3a41c4 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs @@ -96,6 +96,7 @@ namespace RJW_Menstruation Scribe_Values.Look(ref DrawVaginaStatus, "DrawVaginaStatus", DrawVaginaStatus, true); Scribe_Values.Look(ref Debug, "Debug", Debug, true); Scribe_Values.Look(ref InfoDetail, "InfoDetail", InfoDetail, true); + Scribe_Values.Look(ref EnableMenopause, "EnableMenopause", EnableMenopause, true); Scribe_Values.Look(ref UseMultiplePregnancy, "UseMultiplePregnancy", UseMultiplePregnancy, true); Scribe_Values.Look(ref EnableHeteroOvularTwins, "EnableHeteroOvularTwins", EnableHeteroOvularTwins, true); Scribe_Values.Look(ref EnableEnzygoticTwins, "EnableEnzygoticTwins", EnableEnzygoticTwins, true); diff --git a/source/RJW_Menstruation/RJW_Menstruation/Cum.cs b/source/RJW_Menstruation/RJW_Menstruation/Cum.cs index b77fbb2..705314a 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Cum.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Cum.cs @@ -92,6 +92,7 @@ namespace RJW_Menstruation fertvolume = 1.0f; decayresist = 0; + } public Cum(Pawn pawn, float volume, string notcumlabel, float decayresist = 0, ThingDef filthDef = null) diff --git a/source/RJW_Menstruation/RJW_Menstruation/FilthMaker_Colored.cs b/source/RJW_Menstruation/RJW_Menstruation/FilthMaker_Colored.cs new file mode 100644 index 0000000..4ea1896 --- /dev/null +++ b/source/RJW_Menstruation/RJW_Menstruation/FilthMaker_Colored.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RimWorld; +using Verse; +using UnityEngine; + +namespace RJW_Menstruation +{ + public class FilthMaker_Colored + { + + public static bool TryMakeFilth(IntVec3 c, Map map, ThingDef filthDef, IEnumerable sources, Color color , bool shouldPropagate, FilthSourceFlags additionalFlags = FilthSourceFlags.None) + { + Filth_Colored filth = (Filth_Colored)(from t in c.GetThingList(map) + where t.def == filthDef + select t).FirstOrDefault(); + if (!c.Walkable(map) || (filth != null && !filth.CanBeThickened)) + { + if (shouldPropagate) + { + List list = GenAdj.AdjacentCells8WayRandomized(); + for (int i = 0; i < 8; i++) + { + IntVec3 c2 = c + list[i]; + if (c2.InBounds(map) && TryMakeFilth(c2, map, filthDef, sources, color,false, FilthSourceFlags.None)) + { + return true; + } + } + } + if (filth != null) + { + filth.AddSources(sources); + } + return false; + } + if (filth != null) + { + filth.ThickenFilth(); + filth.AddSources(sources); + } + else + { + if (!FilthMaker.CanMakeFilth(c, map, filthDef, additionalFlags)) + { + return false; + } + Filth_Colored filth2 = (Filth_Colored)ThingMaker.MakeThing(filthDef, null); + filth2.DrawColor = color; + filth2.AddSources(sources); + GenSpawn.Spawn(filth2, c, map, WipeMode.Vanish); + } + //FilthMonitor.Notify_FilthSpawned(); + return true; + } + + + } +} diff --git a/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs b/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs index e626bc1..233b72f 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs @@ -91,6 +91,7 @@ namespace RJW_Menstruation private float crampPain= -1; private Need sexNeed = null; private string customwombtex = null; + private string customvagtex = null; public float TotalCum { @@ -251,6 +252,19 @@ namespace RJW_Menstruation } } + public string vagTex + { + get + { + if (customvagtex == null) return Props.vagTex; + else return customvagtex; + } + set + { + customvagtex = value; + } + } + public string GetFertilizingInfo { get @@ -434,6 +448,7 @@ namespace RJW_Menstruation public void CumIn(Pawn pawn, float injectedvolume, float fertility = 1.0f, ThingDef filthdef = null) { float volume = injectedvolume * CumInFactor; + float cumd = TotalCumPercent; float tmp = TotalCum + volume; if (tmp > CumCapacity) { @@ -469,7 +484,9 @@ namespace RJW_Menstruation } if (!merged) cums.Add(new Cum(pawn, volume, fertility, filthdef)); } + cumd = TotalCumPercent - cumd; AfterCumIn(pawn); + AfterFluidIn(cumd); } /// @@ -483,6 +500,7 @@ namespace RJW_Menstruation public void CumIn(Pawn pawn, float volume, string notcumlabel, float decayresist = 0, ThingDef filthdef = null) { float tmp = TotalCum + volume; + float cumd = TotalCumPercent; if (tmp > CumCapacity) { float cumoutrate = 1 - (CumCapacity / tmp); @@ -519,7 +537,9 @@ namespace RJW_Menstruation } if (!merged) cums.Add(new Cum(pawn, volume, notcumlabel,decayresist, filthdef)); } + cumd = TotalCumPercent - cumd; AfterNotCumIn(); + AfterFluidIn(cumd); } public void AfterCumIn(Pawn cummer) @@ -573,6 +593,66 @@ namespace RJW_Menstruation } + /// + /// Action for both Cum and NotCum + /// + /// Fluid deviation + public void AfterFluidIn(float fd) + { + //ModLog.Message("LLActivated: " + Configurations.LLActivated); + //if (Configurations.LLActivated) + //{ + // LLCumflationIn(fd); + //} + + + } + + /// + /// Cumflation for Licentia Labs + /// + /// + public void LLCumflationIn(float fd) + { + if (TotalCumPercent > 1.0f) + { + ModLog.Message("cumflation in"); + BodyPartRecord genital = Genital_Helper.get_genitalsBPR(parent.pawn); + HediffWithComps hediff = parent.pawn.health?.hediffSet?.GetHediffs()?.FirstOrDefault(x => x.def == VariousDefOf.Cumflation && x.Part.Equals(genital)); + + if (hediff == null) // 1.0 fd = 0.002 severity + { + ModLog.Message("hediff null"); + hediff = (HediffWithComps)HediffMaker.MakeHediff(VariousDefOf.Cumflation, parent.pawn); + hediff.Severity = (TotalCumPercent - 1.0f) * 0.002f; + parent.pawn.health.AddHediff(hediff, genital); + ModLog.Message("added hediff"); + } + else + { + ModLog.Message("increase severity: " + hediff.Part.Label); + hediff.Severity += fd * 0.002f; + } + } + } + + public void LLCumflationOut(float fd) + { + HediffWithComps hediff = parent.pawn.health?.hediffSet?.GetHediffs()?.FirstOrDefault(x => x.def == VariousDefOf.Cumflation && x.Part.def.Equals(xxx.genitalsDef)); + if (hediff != null) + { + if (TotalCumPercent < 1.0f) parent.pawn.health.RemoveHediff(hediff); + else + { + ModLog.Message("decrease severity: " + hediff?.Part?.Label + TotalCumPercent * 0.002f); + hediff.Severity -= fd * 0.002f; + if (hediff.Severity < TotalCumPercent * 0.002f) hediff.Severity = TotalCumPercent * 0.002f; + } + + } + } + + public void BeforeCumOut(out Absorber absorber) { absorber = (Absorber)parent.pawn.apparel?.WornApparel?.Find(x => x.def.apparel.tags.Contains("Absorber")); @@ -583,12 +663,29 @@ namespace RJW_Menstruation } } - + /// + /// For natural leaking + /// public void AfterCumOut() { parent.pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.LeakingFluids); } + /// + /// For all type of leaking + /// + /// + public void AfterFluidOut(float fd) + { + //if (Configurations.LLActivated) + //{ + // LLCumflationOut(fd); + //} + } + + + + /// /// Excrete cums in womb naturally /// @@ -596,8 +693,9 @@ namespace RJW_Menstruation { float leakfactor = 1.0f; float totalleak = 0f; - Absorber absorber; - BeforeCumOut(out absorber); + float cumd = TotalCumPercent; + List filthlabels = new List(); + BeforeCumOut(out Absorber absorber); if (cums.NullOrEmpty()) return; else if (absorber != null && absorber.dirty && !absorber.LeakAfterDirty) leakfactor = 0f; List removecums = new List(); @@ -607,16 +705,23 @@ namespace RJW_Menstruation 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)))); vd -= cum.volume; - totalleak += MakeCumFilth(cum, vd, absorber); + totalleak += AbsorbCum(cum, vd, absorber); + string tmp = "FilthLabelWithSource".Translate(cum.FilthDef.label, cum.pawn.LabelShort, 1.ToString()); + filthlabels.Add(tmp.Replace(" x1","")); if (cum.fertvolume < 0.01f) cum.fertvolume = 0; if (cum.volume < 0.01f) removecums.Add(cum); } - foreach(Cum cum in removecums) + if (cums.Count > 1) MakeCumFilthMixture(totalleak, filthlabels); + else if (cums.Count == 1) MakeCumFilth(cums.First(), totalleak); + foreach (Cum cum in removecums) { cums.Remove(cum); } removecums.Clear(); + cumd = TotalCumPercent - cumd; if (totalleak >= 1.0f) AfterCumOut(); + AfterFluidOut(cumd); + } /// @@ -628,8 +733,11 @@ namespace RJW_Menstruation public float CumOut(Cum targetcum, float portion = 0.1f) { float leakfactor = 1.0f; + float totalleak = 0; + List filthlabels = new List(); if (cums.NullOrEmpty()) return 0; float outcum = 0; + float cumd = TotalCumPercent; List removecums = new List(); foreach (Cum cum in cums) { @@ -637,15 +745,22 @@ namespace RJW_Menstruation if (cum.Equals(targetcum)) outcum = cum.volume * (portion * (1 - cum.decayresist)); 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); + //MakeCumFilth(cum, vd - cum.volume); + string tmp = "FilthLabelWithSource".Translate(cum.FilthDef.label, cum.pawn.LabelShort, 1.ToString()); + filthlabels.Add(tmp.Replace(" x1", "")); + totalleak += vd - cum.volume; if (cum.fertvolume < 0.01f) cum.fertvolume = 0; if (cum.volume < 0.01f) removecums.Add(cum); } + if (cums.Count > 1) MakeCumFilthMixture(totalleak, filthlabels); + else if (cums.Count == 1) MakeCumFilth(cums.First(), totalleak); foreach (Cum cum in removecums) { cums.Remove(cum); } removecums.Clear(); + cumd = TotalCumPercent - cumd; + AfterFluidOut(cumd); return outcum; } @@ -659,6 +774,9 @@ namespace RJW_Menstruation { if (cums.NullOrEmpty()) return 0; float outcum = 0; + float totalleak = 0; + List filthlabels = new List(); + float cumd = TotalCumPercent; List removecums = new List(); foreach (Cum cum in cums) { @@ -666,15 +784,22 @@ namespace RJW_Menstruation if (cum.Equals(targetcum)) outcum = cum.volume * (portion); cum.volume *= 1 - (portion); cum.fertvolume *= (1 - (portion)) * (1 - (Configurations.CumFertilityDecayRatio)); - MakeCumFilth(cum, vd - cum.volume); + //MakeCumFilth(cum, vd - cum.volume); + string tmp = "FilthLabelWithSource".Translate(cum.FilthDef.label, cum.pawn.LabelShort, 1.ToString()); + filthlabels.Add(tmp.Replace(" x1", "")); + totalleak += vd - cum.volume; if (cum.fertvolume < 0.01f) cum.fertvolume = 0; if (cum.volume < 0.1f) removecums.Add(cum); } + if (cums.Count > 1) MakeCumFilthMixture(totalleak, filthlabels); + else if (cums.Count == 1) MakeCumFilth(cums.First(), totalleak); foreach (Cum cum in removecums) { cums.Remove(cum); } removecums.Clear(); + cumd = TotalCumPercent - cumd; + AfterFluidOut(cumd); return outcum; } @@ -784,24 +909,6 @@ namespace RJW_Menstruation if (sexNeed.CurLevel < 0.5) sexNeed.CurLevel += 0.01f; } } - - //if (Configurations.LLActivated) - //{ - // float tcp = TotalCumPercent; - // if (tcp > 2.0f) - // { - // Hediff hediff = parent.pawn.health.hediffSet.GetFirstHediffOfDef(VariousDefOf.Cumflation); - // if (hediff != null) - // { - // - // } - // else - // { - // - // } - // } - // - //} } @@ -910,13 +1017,13 @@ namespace RJW_Menstruation } /// - /// Make filth from considering absorber + /// Absorb cum and return leaked amount /// /// /// /// /// - private float MakeCumFilth(Cum cum, float amount, Absorber absorber) + private float AbsorbCum(Cum cum, float amount, Absorber absorber) { if (absorber != null) @@ -935,18 +1042,40 @@ namespace RJW_Menstruation } else { - if (absorber.LeakAfterDirty) FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, cum.FilthDef, cum.pawn.LabelShort); + + //if (absorber.LeakAfterDirty) FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, cum.FilthDef, cum.pawn.LabelShort); return amount; } } else { - if (amount >= minmakefilthvalue) FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, cum.FilthDef, cum.pawn.LabelShort); + //if (amount >= minmakefilthvalue) FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, cum.FilthDef, cum.pawn.LabelShort); return amount; } return 0; } + private float MakeCumFilthMixture(float amount, List cumlabels) + { + + if (amount >= minmakefilthvalue) + { + FilthMaker_Colored.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, VariousDefOf.FilthMixture, cumlabels,GetCumMixtureColor,false); + } + return amount; + } + + private string FilthLabelMaker(List labels) + { + string res = ""; + foreach (string label in labels) + { + res += label; + } + + return res; + } + private void EggDecay() @@ -1073,6 +1202,8 @@ namespace RJW_Menstruation if (curStageHrs >= bleedingIntervalhours) { follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor); + Hediff hediff = parent.pawn.health.hediffSet.GetFirstHediffOfDef(VariousDefOf.Hediff_MenstrualCramp); + if (hediff != null) parent.pawn.health.RemoveHediff(hediff); GoNextStage(Stage.Follicular); } else diff --git a/source/RJW_Menstruation/RJW_Menstruation/Patch/Harmony.cs b/source/RJW_Menstruation/RJW_Menstruation/Patch/Harmony.cs index 6e3171c..d6e4b6d 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Patch/Harmony.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Patch/Harmony.cs @@ -16,7 +16,7 @@ namespace RJW_Menstruation { static First() { - var har = new Harmony("LL"); + var har = new Harmony("RJW_Menstruation"); har.PatchAll(Assembly.GetExecutingAssembly()); } } diff --git a/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs b/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs index 137d6aa..6bbdbcf 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs @@ -89,4 +89,5 @@ namespace RJW_Menstruation + } diff --git a/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj b/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj index c1d1ff9..9bed9ae 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj +++ b/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj @@ -60,6 +60,7 @@ + diff --git a/source/RJW_Menstruation/RJW_Menstruation/Reflect.cs b/source/RJW_Menstruation/RJW_Menstruation/Reflect.cs index 50d8fb8..1fa5898 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Reflect.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Reflect.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Reflection; +using RimWorld; namespace RJW_Menstruation { @@ -12,14 +13,14 @@ namespace RJW_Menstruation public static object GetMemberValue(this Type type, string name) { BindingFlags flags = BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic; - FieldInfo fieldInfo = (type != null) ? type.GetField(name, flags) : null; + FieldInfo fieldInfo = type?.GetField(name, flags); return fieldInfo?.GetValue(null); } public static object GetMemberValue(this object obj, string name) { BindingFlags flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic; - FieldInfo fieldInfo = (obj != null) ? obj.GetType().GetField(name, flags) : null; + FieldInfo fieldInfo = obj?.GetType().GetField(name, flags); return fieldInfo?.GetValue(obj); } @@ -43,5 +44,6 @@ namespace RJW_Menstruation } } + } } diff --git a/source/RJW_Menstruation/RJW_Menstruation/Things.cs b/source/RJW_Menstruation/RJW_Menstruation/Things.cs index 35c598e..de3d22e 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Things.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Things.cs @@ -76,6 +76,44 @@ namespace RJW_Menstruation } + public class Filth_Colored : Filth + { + + private Color color = Color.white; + + public override void ExposeData() + { + base.ExposeData(); + Scribe_Values.Look(ref color, "color", color, true); + } + + public override Color DrawColor + { + get + { + if (color != Color.white) + { + return color; + } + if (Stuff != null) + { + return def.GetColorForStuff(Stuff); + } + if (def.graphicData != null) + { + return def.graphicData.color; + } + return color; + } + set + { + color = value; + } + } + + + + } diff --git a/source/RJW_Menstruation/RJW_Menstruation/Utility.cs b/source/RJW_Menstruation/RJW_Menstruation/Utility.cs index 4a5d194..35c1a82 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Utility.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Utility.cs @@ -1,4 +1,6 @@ using System; +using System.Runtime.Serialization.Formatters.Binary; +using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; @@ -202,9 +204,9 @@ namespace RJW_Menstruation public static Texture2D GetGenitalIcon(this Pawn pawn) { var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("vagina")); - CompProperties_Menstruation Props = (CompProperties_Menstruation)hediff.TryGetComp().props; + HediffComp_Menstruation comp = pawn.GetMenstruationComp(); string icon; - if (Props != null) icon = Props.vagTex; + if (comp != null) icon = comp.vagTex; else icon = "Genitals/Vagina"; if (hediff.Severity < 0.20f) icon += "00"; //micro @@ -279,5 +281,6 @@ namespace RJW_Menstruation + } } diff --git a/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs b/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs index b67b68b..f05c781 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs @@ -21,6 +21,7 @@ namespace RJW_Menstruation 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 ThingDef FilthMixture = DefDatabase.GetNamed("FilthMixture"); 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"); @@ -47,6 +48,8 @@ namespace RJW_Menstruation // Defs from Licentia Labs public static readonly HediffDef Cumflation = DefDatabase.GetNamedSilentFail("Cumflation"); + public static readonly ThoughtDef GotOverCumflated = DefDatabase.GetNamedSilentFail("GotOverCumflated"); + public static readonly ThoughtDef GotOverCumflatedEnjoyed = DefDatabase.GetNamedSilentFail("GotOverCumflatedEnjoyed");