From 0f472fb7f07e623f604bf70dca6115a31012a9d1 Mon Sep 17 00:00:00 2001 From: moreoreganostodump Date: Wed, 30 Jun 2021 02:21:59 +0900 Subject: [PATCH] 1.0.4.0 --- About/Manifest.xml | 2 +- Assemblies/RJW_Menstruation.dll | Bin 104448 -> 116224 bytes Languages/English/Keyed/RJW_Menstruation.xml | 9 +- Languages/Korean/Keyed/RJW_Menstruation.xml | 6 + changelogs.txt | 6 + .../RJW_Menstruation/Configurations.cs | 30 +- .../RJW_Menstruation/RJW_Menstruation/Cum.cs | 34 ++ .../RJW_Menstruation/Dialog_HybridCustom.cs | 482 ++++++++++++++++++ .../RJW_Menstruation/Dialog_WombStatus.cs | 19 +- .../HediffComps/HediffComp_Menstruation.cs | 19 +- .../Hediff_MultiplePregnancy.cs | 42 +- .../RJW_Menstruation/Patch/Pawn_Patch.cs | 27 +- .../RJW_Menstruation/RJW_Menstruation.csproj | 1 + .../RJW_Menstruation/TextureCache.cs | 9 + .../RJW_Menstruation/Things.cs | 134 ++++- .../RJW_Menstruation/Translations.cs | 5 +- .../RJW_Menstruation/Utility.cs | 2 + .../RJW_Menstruation/VariousDefOf.cs | 35 +- 18 files changed, 794 insertions(+), 68 deletions(-) create mode 100644 source/RJW_Menstruation/RJW_Menstruation/Dialog_HybridCustom.cs diff --git a/About/Manifest.xml b/About/Manifest.xml index c03fce1..32a46d3 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@ RJW Menstruation - 1.0.3.2 + 1.0.4.0 diff --git a/Assemblies/RJW_Menstruation.dll b/Assemblies/RJW_Menstruation.dll index 2ed60aeb83b1157f4e8000eef1150f667ec4f046..746b0600433e4d7ff8a48085661abef762ba36b6 100644 GIT binary patch literal 116224 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 literal 104448 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 kXP9ZpSX4%BWNipples/areolas won't be darker/wider than this value. Transition speed of nipples Set speed of transition of nipples/areolas. 1 = instant transition - - + Customize Hybrids + Open custom hybrid editor. This will overrides hybrid definitions of XML files. Vaginal washing + Custom Hybrid Editor + Hybrids of {0} + When {0} breed with {1}, {2} will be born at {3}% of chance. If both races have hybrid definitions for each other, the father's definition will be used. + + \ No newline at end of file diff --git a/Languages/Korean/Keyed/RJW_Menstruation.xml b/Languages/Korean/Keyed/RJW_Menstruation.xml index 21898ec..e74b27a 100644 --- a/Languages/Korean/Keyed/RJW_Menstruation.xml +++ b/Languages/Korean/Keyed/RJW_Menstruation.xml @@ -88,7 +88,13 @@ 유두는 이 값 이상으로 변하지 않습니다. 유두 변화 속도 유두가 얼마나 빨리 변하는지 설정합니다. + 잡종 정의 변경하기 + 사용자 지정 잡종 편집기를 엽니다. 이 설정은 XML파일의 잡종 정의를 대체합니다. 질세척 + 사용자 지정 잡종 편집기 + {0}의 잡종설정 + {0}이(가) {1}와(과) 교미했을 때, {2}이(가) {3}%의 확률로 태어납니다. 만약 두 종족이 서로에 대한 잡종 정의가 있을경우 아버지 쪽의 정의가 우선적으로 사용됩니다. + \ No newline at end of file diff --git a/changelogs.txt b/changelogs.txt index 3309b57..3922adc 100644 --- a/changelogs.txt +++ b/changelogs.txt @@ -1,3 +1,9 @@ +Version 1.0.4.0 + - minor bug fixes + - cums will get maximum thickness initially and become thinner gradually + - added custom hybrid editor + + Version 1.0.3.2 - fixed self-lactating not work properly - pawns having impregnation fetish or lover get less mood penalty on pregnancy diff --git a/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs b/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs index e507da0..d693c90 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using UnityEngine; using Verse; @@ -65,6 +66,7 @@ namespace RJW_Menstruation } } + public static List HybridOverride = new List(); public static bool HARActivated = false; @@ -102,6 +104,26 @@ namespace RJW_Menstruation else return Translations.Option23_Label_2; } + public static bool IsOverrideExist(ThingDef def) + { + List removeList = new List(); + if (!HybridOverride.NullOrEmpty()) + foreach(HybridInformations o in HybridOverride) + { + if (o.IsNull) removeList.Add(o); + if (o.defName == def.defName) return true; + } + if (!removeList.NullOrEmpty()) + { + foreach(HybridInformations o in removeList) + { + HybridOverride.Remove(o); + } + } + removeList.Clear(); + return false; + } + [Flags] public enum PawnFlags { @@ -147,6 +169,7 @@ namespace RJW_Menstruation Scribe_Values.Look(ref NipplePermanentTransitionVariance, "NipplePermanentTransitionVariance", NipplePermanentTransitionVariance, true); Scribe_Values.Look(ref NippleMaximumTransition, "NippleMaximumTransition", NippleMaximumTransition, true); Scribe_Values.Look(ref NippleTransitionSpeed, "NippleTransitionSpeed", NippleTransitionSpeed, true); + Scribe_Collections.Look(ref HybridOverride, saveDestroyedThings: true, label: "HybridOverride", lookMode: LookMode.Deep, ctorArgs: new object[0]); base.ExposeData(); } @@ -326,9 +349,10 @@ namespace RJW_Menstruation Listing_Standard twinsection = listmain.BeginSection_NewTemp(sectionheight); Rect hybridrect = twinsection.GetRect(25); Widgets.CheckboxLabeled(hybridrect.LeftHalf(), Translations.Option22_Label, ref Configurations.UseHybridExtention, false, null, null, true); - if (Widgets.ButtonText(hybridrect.RightHalf(), Translations.Option23_Label + ": " + Configurations.HybridString(Configurations.MotherFirst))) + if (Widgets.ButtonText(hybridrect.RightHalf(), Translations.Option28_Label)) { - Configurations.MotherFirst = !Configurations.MotherFirst; + Dialog_HybridCustom.ToggleWindow(); + //Configurations.MotherFirst = !Configurations.MotherFirst; } twinsection.CheckboxLabeled(Translations.Option14_Label, ref Configurations.EnableHeteroOvularTwins, Translations.Option14_Desc); @@ -370,7 +394,7 @@ namespace RJW_Menstruation Configurations.NippleMaximumTransition = Configurations.NippleMaximumTransitionDefault; Configurations.NippleTransitionSpeed = Configurations.NippleTransitionSpeedDefault; - } + } listmain.End(); diff --git a/source/RJW_Menstruation/RJW_Menstruation/Cum.cs b/source/RJW_Menstruation/RJW_Menstruation/Cum.cs index 3a2bc3b..a0b18d6 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Cum.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Cum.cs @@ -16,6 +16,16 @@ namespace RJW_Menstruation public string notcumLabel = ""; private bool useCustomColor = false; private float notcumthickness = 0; + private float cumthickness = 1.0f; + + public float CumThickness + { + get + { + return cumthickness; + } + } + public float decayresist { get @@ -131,6 +141,30 @@ namespace RJW_Menstruation Scribe_Values.Look(ref customColor, "customColor", customColor, true); } + + public void MakeThinner(int speed) + { + for (int i=0; i raceList = new List(); + static private List removeList = new List(); + + public Dialog_HybridCustom() + { + BuildRaceList(); + } + + public void BuildRaceList() + { + raceList.Clear(); + if (!VariousDefOf.AllRaces.NullOrEmpty()) + foreach(ThingDef def in VariousDefOf.AllRaces) + { + if (def.race != null) + { + if (Configurations.IsOverrideExist(def)) continue; + else + { + raceList.Add(new FloatMenuOption(def.label, delegate { AddHybridOverride(def); } )); + } + } + } + raceList.SortBy(x => x.Label); + } + + public void AddHybridOverride(ThingDef def) + { + FloatMenuOption option = raceList.FirstOrDefault(x => x.Label.Equals(def?.label)); + if (option != null) + { + raceList.Remove(option); + if (Configurations.HybridOverride.NullOrEmpty()) + { + Configurations.HybridOverride = new List(); + } + Configurations.HybridOverride.Add(new HybridInformations(def)); + Configurations.HybridOverride.SortBy(x => x.GetDef?.label); + } + + } + + public override Vector2 InitialSize + { + get + { + float width = 480f; + float height = 640f; + return new Vector2(width, height); + } + } + + + public override void DoWindowContents(Rect inRect) + { + soundClose = SoundDefOf.CommsWindow_Close; + //closeOnClickedOutside = true; + absorbInputAroundWindow = false; + forcePause = false; + preventCameraMotion = false; + draggable = true; + //resizeable = true; + + if (Event.current.type == EventType.KeyDown && (Event.current.keyCode == KeyCode.Return || Event.current.keyCode == KeyCode.Escape)) + { + Event.current.Use(); + } + + Rect windowRect = inRect.ContractedBy(windowMargin); + Rect mainRect = new Rect(windowRect.x, windowRect.y, windowRect.width, windowRect.height); + Rect closeRect = new Rect(windowRect.xMax, 0f, 20f, 20f); + + DoMainContents(mainRect); + + if (Widgets.CloseButtonFor(closeRect)) + { + Close(); + } + } + + public override void PostClose() + { + base.PostClose(); + if (!removeList.NullOrEmpty()) + { + foreach (HybridInformations extension in removeList) + { + Configurations.HybridOverride.Remove(extension); + } + raceList.SortBy(x => x.Label); + } + removeList.Clear(); + } + + protected void DoMainContents(Rect inRect) + { + Rect buttonRect = new Rect(inRect.xMax - 120, 0, 100, 30); + Rect titleRect = new Rect(inRect.x, 0, 200, 30); + Widgets.Label(titleRect, Translations.CustomHybrid_List_Title); + Widgets.DrawLineHorizontal(titleRect.x, titleRect.yMax + 12f, inRect.width); + if (Widgets.ButtonText(buttonRect, "Add")) + { + if (!raceList.NullOrEmpty()) Find.WindowStack.Add(new FloatMenu(raceList)); + } + if (!removeList.NullOrEmpty()) + { + buttonRect.x -= 100; + if (Widgets.ButtonText(buttonRect, "Undo")) + { + var element = removeList.Last(); + Configurations.HybridOverride.Add(element); + Configurations.HybridOverride.SortBy(x => x.GetDef.label); + removeList.Remove(element); + } + + foreach (HybridInformations extension in removeList) + { + Configurations.HybridOverride.Remove(extension); + } + raceList.SortBy(x => x.Label); + } + + + + Rect outRect = new Rect(inRect.x, inRect.y + 30f, inRect.width, inRect.height - 30f); + Rect mainRect = new Rect(inRect.x, inRect.y + 30f, inRect.width - 30f, Math.Max(24f*Configurations.HybridOverride.Count(),10f)); + Listing_Standard listmain = new Listing_Standard(); + + listmain.BeginScrollView(outRect, ref scroll, ref mainRect); + listmain.Begin(mainRect); + int i = 0; + if (!Configurations.HybridOverride.NullOrEmpty()) + foreach(HybridInformations extension in Configurations.HybridOverride) + { + if (extension.GetDef != null) DoRow(listmain.GetRect(24f),extension, i++); + } + listmain.EndScrollView(ref mainRect); + listmain.End(); + + + } + + protected void DoRow(Rect rect, HybridInformations extension, int index) + { + Rect buttonRect = new Rect(rect.xMax - 90f, rect.y, 80f, rect.height); + Widgets.Label(rect, extension.GetDef.label); + if (Widgets.ButtonText(buttonRect, "Delete")) + { + removeList.Add(extension); + //raceList.Add(new FloatMenuOption(extension.GetDef.label, delegate { AddHybridOverride(extension.GetDef); })); + } + buttonRect.x -= 80f; + if (Widgets.ButtonText(buttonRect, "Edit")) + { + Dialog_EditHybrid.OpenWindow(extension); + } + + + Widgets.DrawHighlightIfMouseover(rect); + } + + + public static void ToggleWindow() + { + Dialog_HybridCustom window = (Dialog_HybridCustom)Find.WindowStack.Windows.FirstOrDefault(x => x.GetType().Equals(typeof(Dialog_HybridCustom))); + if (window != null) + { + Find.WindowStack.TryRemove(typeof(Dialog_HybridCustom), true); + } + else + { + SoundDefOf.CommsWindow_Open.PlayOneShotOnCamera(); + Find.WindowStack.Add(new Dialog_HybridCustom()); + } + + + } + + } + + public class Dialog_EditHybrid : Window + { + private const float windowMargin = 20f; + private const float rowH = 24f; + private HybridInformations info; + private Vector2 scroll; + protected List raceList = new List(); + protected List removeList = new List(); + protected float totalWeight = 0; + + public Dialog_EditHybrid(HybridInformations info) + { + this.info = info; + BuildRaceList(); + } + + + + public override Vector2 InitialSize + { + get + { + float width = 840f; + float height = 640f; + return new Vector2(width, height); + } + } + + + public override void DoWindowContents(Rect inRect) + { + soundClose = SoundDefOf.CommsWindow_Close; + //closeOnClickedOutside = true; + absorbInputAroundWindow = false; + forcePause = false; + preventCameraMotion = false; + draggable = true; + //resizeable = true; + + if (Event.current.type == EventType.KeyDown && (Event.current.keyCode == KeyCode.Return || Event.current.keyCode == KeyCode.Escape)) + { + Event.current.Use(); + } + + Rect windowRect = inRect.ContractedBy(windowMargin); + Rect mainRect = new Rect(windowRect.x, windowRect.y, windowRect.width, windowRect.height); + Rect closeRect = new Rect(windowRect.xMax, 0f, 20f, 20f); + + DoMainContents(mainRect); + + if (Widgets.CloseButtonFor(closeRect)) + { + Close(); + } + } + + public static void OpenWindow(HybridInformations info) + { + Dialog_EditHybrid window = (Dialog_EditHybrid)Find.WindowStack.Windows.FirstOrDefault(x => x.GetType().Equals(typeof(Dialog_EditHybrid))); + if (window != null) + { + if (window.info != info) + { + SoundDefOf.TabOpen.PlayOneShotOnCamera(); + window.ChangeExtension(info); + } + } + else + { + SoundDefOf.TabClose.PlayOneShotOnCamera(); + Find.WindowStack.Add(new Dialog_EditHybrid(info)); + } + + + } + + protected void ChangeExtension(HybridInformations info) + { + this.info = info; + BuildRaceList(); + } + + protected void BuildRaceList() + { + raceList.Clear(); + if (!VariousDefOf.AllRaces.NullOrEmpty()) + foreach (ThingDef def in VariousDefOf.AllRaces) + { + if (def.race != null) + { + if (info.hybridExtension.Exists(x => x.defName == def.defName)) continue; + else + { + raceList.Add(new FloatMenuOption(def.label, delegate { AddHybridInfo(def); })); + } + } + } + raceList.SortBy(x => x.Label); + } + + protected void AddHybridInfo(ThingDef def) + { + FloatMenuOption option = raceList.FirstOrDefault(x => x.Label == def.label); + if (option != null) + { + raceList.Remove(option); + } + info.hybridExtension.Add(new HybridExtensionExposable(def)); + } + + protected void DoMainContents(Rect inRect) + { + Rect labelRect = new Rect(inRect.xMin, inRect.yMin, 300, 24); + Rect buttonRect = new Rect(inRect.xMax - 120, 0, 100, 30); + + Widgets.Label(labelRect, Translations.CustomHybrid_Title(info.GetDef.label)); + Widgets.DrawLineHorizontal(inRect.x, labelRect.yMax, inRect.width); + if (Widgets.ButtonText(buttonRect, "Add")) + { + if (!raceList.NullOrEmpty()) Find.WindowStack.Add(new FloatMenu(raceList)); + } + if (!removeList.EnumerableNullOrEmpty()) + { + buttonRect.x -= 100; + if (Widgets.ButtonText(buttonRect, "Undo")) + { + var element = removeList.Last(); + info.hybridExtension.Add(element); + removeList.Remove(element); + } + + foreach (HybridExtensionExposable element in removeList) + { + info.hybridExtension.Remove(element); + } + } + + + float additionalHeight = 0f; + if (!info.hybridExtension.NullOrEmpty()) foreach(HybridExtensionExposable e in info.hybridExtension) + { + additionalHeight += e.hybridInfo.Count() * rowH; + } + + + Rect outRect = new Rect(inRect.x, inRect.y + 30f, inRect.width, inRect.height - 30f); + Rect mainRect = new Rect(inRect.x, inRect.y + 30f, inRect.width - 30f, rowH * info.hybridExtension.Count() + additionalHeight); + Listing_Standard listmain = new Listing_Standard(); + + listmain.BeginScrollView(outRect, ref scroll, ref mainRect); + listmain.Begin(mainRect); + + if (!info.hybridExtension.NullOrEmpty()) + { + foreach (HybridExtensionExposable extension in info.hybridExtension) + { + DoRow(listmain.GetRect(rowH + rowH * extension.hybridInfo.Count()), extension); + } + + } + + + + listmain.EndScrollView(ref mainRect); + listmain.End(); + } + + protected void DoRow(Rect rect, HybridExtensionExposable extension) + { + Rect mainRect = new Rect(rect.x, rect.y, rect.width, rowH); + Rect subRect = new Rect(rect.x, rect.y + rowH, rect.width, rect.height - rowH); + Rect buttonRect = new Rect(rect.xMax - 90f, rect.y, 80f, rowH); + Widgets.Label(mainRect, extension.GetDef.label); + + if (Widgets.ButtonText(buttonRect, "Delete")) + { + removeList.Add(extension); + } + buttonRect.x -= 80f; + if (Widgets.ButtonText(buttonRect, "Add")) + { + List list = new List(); + if (!VariousDefOf.AllRaces.NullOrEmpty()) foreach(ThingDef def in VariousDefOf.AllRaces) + { + if (def.race != null) + { + if (extension.hybridInfo.ContainsKey(def.defName)) continue; + else + { + list.Add(new FloatMenuOption(def.label, delegate { extension.hybridInfo.Add(def.defName, 1.0f); })); + } + } + } + if (!list.NullOrEmpty()) Find.WindowStack.Add(new FloatMenu(list)); + } + buttonRect.x -= 80f; + + Listing_Standard sublist = new Listing_Standard(); + sublist.Begin(subRect); + + List removeelements = new List(); + if (!extension.hybridInfo.EnumerableNullOrEmpty()) + { + totalWeight = 0; + foreach(KeyValuePair element in extension.hybridInfo) + { + totalWeight += element.Value; + } + + List keys = new List(extension.hybridInfo.Keys); + foreach (string key in keys) + { + DoSubRow(sublist.GetRect(rowH), key, extension, removeelements); + } + } + if(!removeelements.NullOrEmpty()) foreach(string key in removeelements) + { + extension.hybridInfo.Remove(key); + } + + sublist.End(); + Widgets.DrawHighlightIfMouseover(rect); + + + } + + protected void DoSubRow(Rect rect, string key, HybridExtensionExposable extension , List removeelements) + { + bool isPawnKind = false; + float value = extension.hybridInfo.TryGetValue(key); + string valuestr = value.ToString(); + string label = null; + label = DefDatabase.GetNamedSilentFail(key)?.label; + if (label == null) + { + label = DefDatabase.GetNamedSilentFail(key)?.label; + isPawnKind = true; + } + Rect buttonRect = new Rect(rect.xMax - 90f, rect.y, 80f, rect.height); + if (Widgets.ButtonText(buttonRect, "Delete")) + { + removeelements.Add(key); + } + buttonRect.x -= 80f; + if (!isPawnKind) + { + if (Widgets.ButtonText(buttonRect, "PawnKind")) + { + List list = new List(); + if (!VariousDefOf.AllKinds.NullOrEmpty()) foreach (PawnKindDef def in VariousDefOf.AllKinds) + { + if (def.race.defName == key) + { + if (extension.hybridInfo.ContainsKey(def.defName)) continue; + else + { + list.Add(new FloatMenuOption(def.label, delegate { extension.hybridInfo.Add(def.defName, 1.0f); })); + } + } + } + if (!list.NullOrEmpty()) Find.WindowStack.Add(new FloatMenu(list)); + else SoundDefOf.ClickReject.PlayOneShotOnCamera(); + } + buttonRect.x -= 80f; + } + else + { + label += ": " + key; + Widgets.Label(buttonRect, "PawnKind"); + buttonRect.x -= 80f; + } + Widgets.Label(rect, " - " + label); + Widgets.TextFieldNumeric(buttonRect, ref value, ref valuestr,0,10000); + extension.hybridInfo.SetOrAdd(key, value); + buttonRect.x -= 80f; + Widgets.Label(buttonRect, String.Format("{0,0:P2}", value / totalWeight)); + Widgets.DrawHighlightIfMouseover(rect); + TooltipHandler.TipRegion(rect, Translations.CustomHybrid_Tooltip(info.GetDef.label, extension.GetDef.label, label, value/totalWeight*100)); + } + + + } + + +} diff --git a/source/RJW_Menstruation/RJW_Menstruation/Dialog_WombStatus.cs b/source/RJW_Menstruation/RJW_Menstruation/Dialog_WombStatus.cs index 8e68cd6..bd9cf5c 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Dialog_WombStatus.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Dialog_WombStatus.cs @@ -372,8 +372,23 @@ namespace RJW_Menstruation statvalue = pawn.records.GetValue(xxx.CountOfBirthEgg); FillableBarLabeled(lineRect, " " + xxx.CountOfBirthEgg.LabelCap.CapitalizeFirst() + " " + statvalue, statvalue / 100, TextureCache.nurgleTexture, Texture2D.blackTexture); lineRect.y += height; - lineRect.y += height; - lineRect.y += height; + + statvalue = pawn.records.GetValue(xxx.CountOfWhore); + if (statvalue > 0) + { + FillableBarLabeled(lineRect, " " + xxx.CountOfWhore.LabelCap.CapitalizeFirst() + " " + statvalue, statvalue / 500, TextureCache.slaaneshTexture, Texture2D.blackTexture); + statvalue = pawn.records.GetValue(xxx.EarnedMoneyByWhore); + lineRect.y += height; + FillableBarLabeled(lineRect, " " + VariousDefOf.RJW_EarnedMoneyByWhore.label.CapitalizeFirst() + " " + statvalue, statvalue / 10000, TextureCache.ghalmarazTexture, Texture2D.blackTexture); + + + lineRect.y += height; + } + else + { + lineRect.y += height; + lineRect.y += height; + } statvalue = Configurations.ImplantationChance * comp.Props.baseImplantationChanceFactor * comp.ImplantFactor; FillableBarLabeled(lineRect, " " + xxx.reproduction.LabelCap.CapitalizeFirst() + " " + statvalue.ToStringPercent(), statvalue, TextureCache.fertilityTexture, Texture2D.blackTexture); diff --git a/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs b/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs index 752c3eb..b2c4c7b 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs @@ -510,9 +510,7 @@ namespace RJW_Menstruation { if (cum.pawn.Equals(pawn)) { - cum.volume += volume; - cum.fertvolume += volume * CumInFactor; - cum.FilthDef = filthdef; + cum.MergeWithCum(volume, filthdef); merged = true; } cum.volume *= 1 - cumoutrate; @@ -528,9 +526,7 @@ namespace RJW_Menstruation { if (cum.pawn.Equals(pawn)) { - cum.volume += volume; - cum.fertvolume += volume; - cum.FilthDef = filthdef; + cum.MergeWithCum(volume, filthdef); merged = true; } } @@ -561,10 +557,7 @@ namespace RJW_Menstruation { if (cum.notcum && cum.pawn.Equals(pawn) && cum.notcumLabel.Equals(notcumlabel)) { - cum.volume += volume; - cum.decayresist = decayresist; - cum.fertvolume = 0; - cum.FilthDef = filthdef; + cum.MergeWithFluid(volume, decayresist, filthdef); merged = true; } cum.volume *= 1 - cumoutrate; @@ -580,10 +573,7 @@ namespace RJW_Menstruation { if (cum.notcum && cum.pawn.Equals(pawn) && cum.notcumLabel.Equals(notcumlabel)) { - cum.volume += volume; - cum.decayresist = decayresist; - cum.fertvolume = 0; - cum.FilthDef = filthdef; + cum.MergeWithFluid(volume, decayresist, filthdef); merged = true; } } @@ -665,6 +655,7 @@ 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; + cum.MakeThinner(Configurations.CycleAcceleration); totalleak += AbsorbCum(cum, vd, absorber); string tmp = "FilthLabelWithSource".Translate(cum.FilthDef.label, cum.pawn?.LabelShort ?? "Unknown", 1.ToString()); filthlabels.Add(tmp.Replace(" x1", "")); diff --git a/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs b/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs index 26c5110..1a6848a 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs @@ -235,7 +235,9 @@ namespace RJW_Menstruation PawnGenerationRequest request = new PawnGenerationRequest( newborn: true, allowDowned: true, + faction: mother.IsPrisoner ? null : mother.Faction, canGeneratePawnRelations: false, + forceGenerateNewPawn: true, colonistRelationChanceFactor: 0, allowFood: false, allowAddictions: false, @@ -412,21 +414,16 @@ namespace RJW_Menstruation PawnKindDef tmp = spawn_kind_def; if (father != null) FatherRaceName = father.kindDef.race.defName; + + + if (FatherRaceName != "" && Configurations.UseHybridExtention) + { + spawn_kind_def = GetHybrid(father, mother); + Log.Message("pawnkind: " + spawn_kind_def?.defName); + } + if (MotherRaceName != FatherRaceName && FatherRaceName != "") { - - if (Configurations.UseHybridExtention) - { - if (Configurations.MotherFirst) - { - spawn_kind_def = GetHybrid(mother, father); - } - else - { - spawn_kind_def = GetHybrid(father, mother); - } - Log.Message("pawnkind: " + spawn_kind_def?.defName); - } if (!Configurations.UseHybridExtention || spawn_kind_def == null) { spawn_kind_def = tmp; @@ -459,7 +456,7 @@ namespace RJW_Menstruation } } - else + else if (!Configurations.UseHybridExtention || spawn_kind_def == null) { spawn_kind_def = mother.RaceProps.AnyPawnKind; } @@ -491,8 +488,23 @@ namespace RJW_Menstruation public PawnKindDef GetHybrid(Pawn first, Pawn second) { - PawnDNAModExtension dna; PawnKindDef res = null; + Pawn opposite = second; + HybridInformations info = Configurations.HybridOverride.FirstOrDefault(x => x.defName == first.def.defName); + if (info == null) + { + info = Configurations.HybridOverride.FirstOrDefault(x => x.defName == second.def.defName); + opposite = first; + } + + if (info != null) + { + res = info.GetHybridWith(opposite.def.defName) ?? null; + } + if (res != null) return res; + + + PawnDNAModExtension dna; dna = first.def.GetModExtension(); if (dna != null) { diff --git a/source/RJW_Menstruation/RJW_Menstruation/Patch/Pawn_Patch.cs b/source/RJW_Menstruation/RJW_Menstruation/Patch/Pawn_Patch.cs index 9498afd..ce71e50 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Patch/Pawn_Patch.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Patch/Pawn_Patch.cs @@ -140,11 +140,14 @@ namespace RJW_Menstruation //[HarmonyPatch(typeof(TransferableUIUtility), "DoExtraAnimalIcons")] //public class TransferableUIUtility_Patch_Icon //{ - // private static readonly Texture2D PregnantIcon = ContentFinder.Get("UI/Icons/Animal/Pregnant", true); - // public static void Postfix(Transferable trad, Rect rect, ref float curX) + // //private static readonly Texture2D PregnantIcon = ContentFinder.Get("UI/Icons/Animal/Pregnant", true); + // + // + // + // public static void Postfix(Transferable trad, Rect rect, ref float curX, Texture2D ___PregnantIcon) // { // Pawn pawn = trad.AnyThing as Pawn; - // if (pawn.IsVisiblyPregnant()) + // if (pawn?.health?.hediffSet != null && pawn.IsVisiblyPregnant()) // { // Rect rect3 = new Rect(curX - 24f, (rect.height - 24f) / 2f, 24f, 24f); // curX -= 24f; @@ -152,28 +155,12 @@ namespace RJW_Menstruation // { // TooltipHandler.TipRegion(rect3, PawnColumnWorker_Pregnant.GetTooltipText(pawn)); // } - // GUI.DrawTexture(rect3, PregnantIcon); + // GUI.DrawTexture(rect3, ___PregnantIcon); // } // } //} - //[HarmonyPatch(typeof(JobGiver_OptimizeApparel), "ApparelScoreGain_NewTmp")] - //public class OptimizeApparel_Patch - //{ - // public static bool Prefix(ref float __result, Pawn pawn, Apparel ap, List wornScoresCache) - // { - // if (ap is Absorber) - // { - // __result = -1000f; - // return false; - // } - // return true; - // } - // - //} - - } diff --git a/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj b/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj index 743f919..062ae9e 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj +++ b/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj @@ -57,6 +57,7 @@ + diff --git a/source/RJW_Menstruation/RJW_Menstruation/TextureCache.cs b/source/RJW_Menstruation/RJW_Menstruation/TextureCache.cs index db4ebfc..f892a55 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/TextureCache.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/TextureCache.cs @@ -76,6 +76,14 @@ namespace RJW_Menstruation return fertilitytexturecache; } } + public static Texture2D ghalmarazTexture + { + get + { + if (ghalmaraztexturecache == null) ghalmaraztexturecache = SolidColorMaterials.NewSolidColorTexture(0.7f, 0.7f, 0.0f, 1.0f); + return ghalmaraztexturecache; + } + } @@ -88,6 +96,7 @@ namespace RJW_Menstruation private static Texture2D humantexturecache = null; private static Texture2D animaltexturecache = null; private static Texture2D fertilitytexturecache = null; + private static Texture2D ghalmaraztexturecache = null; diff --git a/source/RJW_Menstruation/RJW_Menstruation/Things.cs b/source/RJW_Menstruation/RJW_Menstruation/Things.cs index bc4a5af..b25f675 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Things.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Things.cs @@ -16,7 +16,7 @@ namespace RJW_Menstruation public float cumThickness = 0f; public List hybridExtension; - public HybridExtension GetHybridExtention(string race) + public HybridExtension GetHybridExtension(string race) { if (hybridExtension.NullOrEmpty()) return null; else @@ -27,7 +27,7 @@ namespace RJW_Menstruation public PawnKindDef GetHybridWith(string race) { - return GetHybridExtention(race)?.ChooseOne() ?? null; + return GetHybridExtension(race)?.ChooseOne() ?? null; } } @@ -36,19 +36,22 @@ namespace RJW_Menstruation public Dictionary hybridInfo; public ThingDef thingDef; - + public HybridExtension() { } + public PawnKindDef ChooseOne() { + if (hybridInfo.EnumerableNullOrEmpty()) return null; PawnKindDef res = null; do { - res = DefDatabase.GetNamedSilentFail(hybridInfo.RandomElementByWeight(x => x.Value).Key); - if (res == null) res = DefDatabase.GetNamedSilentFail(hybridInfo.RandomElementByWeight(x => x.Value).Key).race.AnyPawnKind; + string key = hybridInfo.RandomElementByWeight(x => x.Value).Key; + res = DefDatabase.GetNamedSilentFail(key); + if (res == null) res = DefDatabase.GetNamedSilentFail(key).race.AnyPawnKind; - if (res == null) hybridInfo.Remove(res.defName); + if (res == null) hybridInfo.Remove(key); } while (res == null && !hybridInfo.EnumerableNullOrEmpty()); return res; @@ -63,9 +66,9 @@ namespace RJW_Menstruation if (childNodes.Count >= 1) foreach (XmlNode node in childNodes) { -#if DEBUG + #if DEBUG Log.Message(xmlRoot.Name + "HybridInfo: " + node.Name + " " + node.InnerText); -#endif + #endif hybridInfo.Add(node.Name, ParseHelper.FromString(node.InnerText)); } @@ -73,8 +76,123 @@ namespace RJW_Menstruation } + + } + public class HybridInformations : IExposable + { + public List hybridExtension = new List(); + + private ThingDef thingDef; + private string thingDefName; + + public string defName + { + get + { + return thingDefName; + } + } + public bool IsNull + { + get + { + return thingDefName?.Length < 1; + } + } + public ThingDef GetDef + { + get + { + if (thingDef != null) return thingDef; + else + { + thingDef = DefDatabase.GetNamedSilentFail(thingDefName); + return thingDef; + } + } + } + + public HybridInformations() { } + + public HybridInformations(ThingDef def) + { + thingDef = def; + thingDefName = def.defName; + } + + public HybridExtensionExposable GetHybridExtension(string race) + { + if (hybridExtension.NullOrEmpty()) return null; + else + { + return hybridExtension.Find(x => x.GetDef.defName?.Equals(race) ?? false); + } + } + + public PawnKindDef GetHybridWith(string race) + { + return GetHybridExtension(race)?.ChooseOne() ?? null; + } + + public void ExposeData() + { + Scribe_Values.Look(ref thingDefName, "thingDefName"); + Scribe_Collections.Look(ref hybridExtension, "hybridExtension", LookMode.Deep, new object[0]); + } + + + + } + + public class HybridExtensionExposable : HybridExtension, IExposable + { + private string thingDefName; + + public string defName + { + get + { + return thingDefName; + } + } + public bool IsNull + { + get + { + return thingDefName?.Length < 1; + } + } + public ThingDef GetDef + { + get + { + if (thingDef != null) return thingDef; + else + { + thingDef = DefDatabase.GetNamedSilentFail(thingDefName); + return thingDef; + } + } + } + + public HybridExtensionExposable() { } + + public HybridExtensionExposable(ThingDef def) + { + thingDef = def; + thingDefName = def.defName; + hybridInfo = new Dictionary(); + } + + public void ExposeData() + { + Scribe_Values.Look(ref thingDefName, "thingDefName"); + Scribe_Collections.Look(ref hybridInfo, "hybridInfo", LookMode.Value, LookMode.Value); + + } + } diff --git a/source/RJW_Menstruation/RJW_Menstruation/Translations.cs b/source/RJW_Menstruation/RJW_Menstruation/Translations.cs index 67b68aa..46e17f4 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Translations.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Translations.cs @@ -95,9 +95,12 @@ namespace RJW_Menstruation public static readonly string Option27_Label = "Option27_Label".Translate(); public static readonly string Option27_Desc = "Option27_Desc".Translate(); public static readonly string Option28_Label = "Option28_Label".Translate(); - public static readonly string Option28_Desc = "Option28_Desc".Translate(); + public static readonly string Option28_Tooltip = "Option28_Tooltip".Translate(); public static readonly string FloatMenu_CleanSelf = "FloatMenu_CleanSelf".Translate(); + public static readonly string CustomHybrid_List_Title = "CustomHybrid_List_Title".Translate(); + static public string CustomHybrid_Title(string label) { return TranslatorFormattedStringExtensions.Translate("CustomHybrid_Title", label); } + static public string CustomHybrid_Tooltip(string label, string breedee, string baby, float chance) { return TranslatorFormattedStringExtensions.Translate("CustomHybrid_Tooltip", label, breedee, baby, chance); } } } diff --git a/source/RJW_Menstruation/RJW_Menstruation/Utility.cs b/source/RJW_Menstruation/RJW_Menstruation/Utility.cs index 73de632..7d4c605 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Utility.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Utility.cs @@ -52,6 +52,8 @@ namespace RJW_Menstruation public static System.Random random = new System.Random(Environment.TickCount); + + public static float GetCumVolume(this Pawn pawn) { CompHediffBodyPart part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("penis")).InRandomOrder().FirstOrDefault()?.TryGetComp(); diff --git a/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs b/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs index 83e1e52..600521f 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs @@ -1,6 +1,8 @@ using RimWorld; using rjw; using System.Linq; +using System; +using System.Collections.Generic; using Verse; namespace RJW_Menstruation @@ -40,6 +42,36 @@ namespace RJW_Menstruation public static readonly HediffDef_PartBase Vagina = DefDatabase.GetNamed("Vagina"); public static readonly CompProperties_Menstruation VaginaCompProperties = (CompProperties_Menstruation)Vagina.comps.FirstOrDefault(x => x is CompProperties_Menstruation); public static readonly KeyBindingDef OpenStatusWindowKey = DefDatabase.GetNamed("OpenStatusWindow"); + public static readonly PawnColumnDef RJW_EarnedMoneyByWhore = DefDatabase.GetNamed("RJW_EarnedMoneyByWhore"); + + private static List allraces = null; + private static List allkinds = null; + + public static List AllRaces + { + get + { + if (allraces == null) + { + List allThings = DefDatabase.AllDefsListForReading; + allraces = allThings.FindAll(x => x.race != null); + } + return allraces; + } + } + public static List AllKinds + { + get + { + if (allkinds == null) + { + List allKinds = DefDatabase.AllDefsListForReading; + allkinds = allKinds.FindAll(x => x.race != null); + } + return allkinds; + } + } + // Defs from Milkable Colonists @@ -47,8 +79,7 @@ namespace RJW_Menstruation public static readonly HediffDef Hediff_Lactating_Natural = DefDatabase.GetNamedSilentFail("Lactating_Natural"); public static readonly HediffDef Hediff_Lactating_Permanent = DefDatabase.GetNamedSilentFail("Lactating_Permanent"); public static readonly HediffDef Hediff_Heavy_Lactating_Permanent = DefDatabase.GetNamedSilentFail("Heavy_Lactating_Permanent"); - public static readonly JobDef Job_LactateSelf_MC = DefDatabase.GetNamed("LactateSelf_MC"); - + public static readonly JobDef Job_LactateSelf_MC = DefDatabase.GetNamedSilentFail("LactateSelf_MC");