From 72dfde81d992a8a319eaab7905301a3c26a15237 Mon Sep 17 00:00:00 2001 From: moreoreganostodump Date: Sun, 3 Oct 2021 16:56:57 +0900 Subject: [PATCH] 1.0.2.2 --- About/Manifest.xml | 2 +- Assemblies/RJWSexperience.dll | Bin 77312 -> 79872 bytes Languages/English/Keyed/RJW_Sexperience.xml | 3 + .../SkillDefs/Translations_SkillDef.xml | 6 + .../ThoughtDefs/Translations_ThoughtDef.xml | 10 +- RJWSexperience/RJWSexperience/Keyed.cs | 3 + .../RJWSexperience/Patches/RJW_Patch.cs | 2 +- .../RJWSexperience/SexHistory/SexHistory.cs | 123 +++++++++++++++++- .../RJWSexperience/UI/RJWUIUtility.cs | 9 ++ RJWSexperience/RJWSexperience/UI/SexStatus.cs | 42 +++--- changelogs.txt | 5 + 11 files changed, 184 insertions(+), 21 deletions(-) create mode 100644 Languages/Korean/DefInjected/SkillDefs/Translations_SkillDef.xml diff --git a/About/Manifest.xml b/About/Manifest.xml index 86d961c..37a44a1 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@ RJW Sexperience - 1.0.2.1 + 1.0.2.2 diff --git a/Assemblies/RJWSexperience.dll b/Assemblies/RJWSexperience.dll index 0476669676e655bf8a3f53933050991697a0c592..6d10eed25b7b88271b25d571504a465e4459dcea 100644 GIT binary patch delta 36713 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 delta 34275 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 dfm diff --git a/Languages/English/Keyed/RJW_Sexperience.xml b/Languages/English/Keyed/RJW_Sexperience.xml index b7561f6..5cea6fd 100644 --- a/Languages/English/Keyed/RJW_Sexperience.xml +++ b/Languages/English/Keyed/RJW_Sexperience.xml @@ -55,6 +55,9 @@ Cum addictiveness More likely to get addicted to cum. times + ago + last sex + Had best sex {0}. Enable record randomizer Randomize pawn's sex records. diff --git a/Languages/Korean/DefInjected/SkillDefs/Translations_SkillDef.xml b/Languages/Korean/DefInjected/SkillDefs/Translations_SkillDef.xml new file mode 100644 index 0000000..028c014 --- /dev/null +++ b/Languages/Korean/DefInjected/SkillDefs/Translations_SkillDef.xml @@ -0,0 +1,6 @@ + + + 상대를 보내버리는 기술 + 섹스 + 섹스 + \ No newline at end of file diff --git a/Languages/Korean/DefInjected/ThoughtDefs/Translations_ThoughtDef.xml b/Languages/Korean/DefInjected/ThoughtDefs/Translations_ThoughtDef.xml index d5b79d0..b059fa1 100644 --- a/Languages/Korean/DefInjected/ThoughtDefs/Translations_ThoughtDef.xml +++ b/Languages/Korean/DefInjected/ThoughtDefs/Translations_ThoughtDef.xml @@ -83,7 +83,15 @@ 드디어! 걸레 + 정액 금단증상 정액이 필요해. - + 정액을 먹음 + 역겨워. + 정액을 먹음 + 냄새나고 맛없어. + 정액을 먹음 + 맛없지만 좋아. + 정액을 먹음 + 맛있어. \ No newline at end of file diff --git a/RJWSexperience/RJWSexperience/Keyed.cs b/RJWSexperience/RJWSexperience/Keyed.cs index 5b5757e..f335c03 100644 --- a/RJWSexperience/RJWSexperience/Keyed.cs +++ b/RJWSexperience/RJWSexperience/Keyed.cs @@ -18,6 +18,7 @@ namespace RJWSexperience public static string RS_LostVirgin(string pawn, string partner) => "RS_LostVirgin".Translate(pawn.Colorize(Color.yellow),partner.Colorize(Color.yellow)); public static string RS_Sex_Info(string sextype, string sexcount) => "RS_Sex_Info".Translate(sextype, sexcount); public static string RS_SAT_AVG(string avgsat) => "RS_SAT_AVG".Translate(avgsat); + public static string RS_HadBestSexDaysAgo(string days) => "RS_HadBestSexDaysAgo".Translate(days); public static readonly string Mod_Title = "RS_Mod_Title".Translate(); public static readonly string SlaveStatFactorDefault = "SlaveStatFactorDefault".Translate(); @@ -72,6 +73,8 @@ namespace RJWSexperience public static readonly string RS_CumAddictiveness = "RS_CumAddictiveness".Translate(); public static readonly string RS_CumAddictiveness_Tooltip = "RS_CumAddictiveness_Tooltip".Translate(); public static readonly string RS_NumofTimes = "RS_NumofTimes".Translate(); + public static readonly string RS_Ago = "RS_Ago".Translate(); + public static readonly string RS_LastSex = "RS_LastSex".Translate(); public static readonly string Option_1_Label = "RSOption_1_Label".Translate(); diff --git a/RJWSexperience/RJWSexperience/Patches/RJW_Patch.cs b/RJWSexperience/RJWSexperience/Patches/RJW_Patch.cs index f58973c..745b5b8 100644 --- a/RJWSexperience/RJWSexperience/Patches/RJW_Patch.cs +++ b/RJWSexperience/RJWSexperience/Patches/RJW_Patch.cs @@ -191,7 +191,7 @@ namespace RJWSexperience { public static void Postfix(Pawn pawn, ref Job __result) { - if (RJWPreferenceSettings.FapEverywhere && __result != null) + if (RJWPreferenceSettings.FapEverywhere && (pawn.Faction?.IsPlayer ?? false) && __result != null) { Building_CumBucket bucket = pawn.FindClosestBucket(); if (bucket != null) diff --git a/RJWSexperience/RJWSexperience/SexHistory/SexHistory.cs b/RJWSexperience/RJWSexperience/SexHistory/SexHistory.cs index 09cdb17..f10b4f0 100644 --- a/RJWSexperience/RJWSexperience/SexHistory/SexHistory.cs +++ b/RJWSexperience/RJWSexperience/SexHistory/SexHistory.cs @@ -24,11 +24,13 @@ namespace RJWSexperience protected string recentpartner = ""; protected int[] sextypecount = new int[ARRLEN]; protected float[] sextypesat = new float[ARRLEN]; + protected int[] sextyperecenttickabs = new int[ARRLEN]; protected int virginstaken = 0; protected int incestuous = 0; protected int bestiality = 0; protected int corpsefuck = 0; protected int interspecies = 0; + protected int firstsextickabs = 0; protected string mostpartnercache = ""; protected xxx.rjwSextype mostsextypecache = xxx.rjwSextype.None; @@ -43,11 +45,15 @@ namespace RJWSexperience protected int preferracesexcountcache = 0; protected Pawn preferracepawncache = null; protected float avtsatcache = 0; + protected int recentsextickabscache = 0; + protected int mostsextickabscache = 0; + protected int bestsextickabscache = 0; private List partnerlistcache; private List sextypecountsave; private List sextypesatsave; + private List sextyperecenttickabssave; public SexHistory GetFirstPartnerHistory @@ -198,6 +204,68 @@ namespace RJWSexperience return sextypesat.Sum() / totalsexcache; } } + public int RecentSexElapsedTicks + { + get + { + return GenTicks.TicksAbs - recentsextickabscache; + } + } + public string RecentSexDays + { + get + { + if (recentsextickabscache != 0) return GenDate.ToStringTicksToDays(RecentSexElapsedTicks) + " " + Keyed.RS_Ago; + return ""; + } + } + public int FirstSexElapsedTicks + { + get + { + return GenTicks.TicksAbs - firstsextickabs; + } + } + public string FirstSexDays + { + get + { + if (firstsextickabs != 0) return GenDate.ToStringTicksToDays(FirstSexElapsedTicks) + " " + Keyed.RS_Ago; + return ""; + } + } + public int MostSexElapsedTicks + { + get + { + return GenTicks.TicksAbs - mostsextickabscache; + } + } + public string MostSexDays + { + get + { + if (mostsextickabscache != 0) return GenDate.ToStringTicksToDays(MostSexElapsedTicks) + " " + Keyed.RS_Ago; + return ""; + } + } + public int BestSexElapsedTicks + { + get + { + return GenTicks.TicksAbs - bestsextickabscache; + } + } + public string BestSexDays + { + get + { + if (bestsextickabscache != 0) return GenDate.ToStringTicksToDays(BestSexElapsedTicks) + " " + Keyed.RS_Ago; + return ""; + } + } + + public Texture GetPreferRaceIcon(Vector2 size) { Update(); @@ -220,6 +288,13 @@ namespace RJWSexperience return recentsat; } + public string SextypeRecentDays(int sextype) + { + int index = (int)sextype; + if (sextyperecenttickabs[index] != 0) return GenDate.ToStringTicksToDays(GenTicks.TicksAbs - sextyperecenttickabs[index]) + " " + Keyed.RS_Ago; + return Keyed.Unknown; + } + public SexHistory this[Pawn pawn] { get @@ -253,6 +328,7 @@ namespace RJWSexperience { sextypecountsave = sextypecount.ToList(); sextypesatsave = sextypesat.ToList(); + sextyperecenttickabssave = sextyperecenttickabs.ToList(); } Scribe_Collections.Look(ref histories, "histories", LookMode.Value, LookMode.Deep); @@ -265,14 +341,17 @@ namespace RJWSexperience Scribe_Values.Look(ref bestiality, "bestiality", bestiality, true); Scribe_Values.Look(ref corpsefuck, "corpsefuck", corpsefuck, true); Scribe_Values.Look(ref interspecies, "interspecies", interspecies, true); + Scribe_Values.Look(ref firstsextickabs, "firstsextickabs", firstsextickabs, true); Scribe_Collections.Look(ref sextypecountsave, "sextypecountsave", LookMode.Value); Scribe_Collections.Look(ref sextypesatsave, "sextypesatsave", LookMode.Value); + Scribe_Collections.Look(ref sextyperecenttickabssave, "sextyperecenttickabssave", LookMode.Value); //Scribe_Values.Look(ref sextypecount, "sextypecount", new int[ARRLEN], true); // not work //Scribe_Values.Look(ref sextypesat, "sextypesat", new float[ARRLEN], true); if (Scribe.mode == LoadSaveMode.LoadingVars) { sextypecount = sextypecountsave?.ToArray() ?? new int[ARRLEN]; sextypesat = sextypesatsave?.ToArray() ?? new float[ARRLEN]; + sextyperecenttickabs = sextyperecenttickabssave?.ToArray() ?? new int[ARRLEN]; } if (histories == null) histories = new Dictionary(); @@ -290,6 +369,7 @@ namespace RJWSexperience history?.RecordSex(props); recentsex = props.sexType; sextypecount[(int)props.sexType]++; + sextyperecenttickabs[(int)props.sexType] = GenTicks.TicksAbs; if (partner.IsIncest(pawn)) incestuous++; if (partner.Dead) corpsefuck++; if (props.IsBestiality()) bestiality++; @@ -331,6 +411,7 @@ namespace RJWSexperience TryAddHistory(partner); first = partner.ThingID; SexPartnerHistory history = partner.GetPartnerHistory(); + firstsextickabs = GenTicks.TicksAbs; if (history != null) { history.TakeSomeonesVirgin(parent as Pawn); @@ -366,6 +447,7 @@ namespace RJWSexperience int maxindex = 0; string mostID = Keyed.Unknown; string bestID = Keyed.Unknown; + totalsexcache = 0; totalrapedcache = 0; totalbeenrapedcache = 0; @@ -431,6 +513,10 @@ namespace RJWSexperience mostpartnercache = mostID; bestpartnercache = bestID; + recentsextickabscache = histories.TryGetValue(recentpartner)?.RecentSexTickAbs ?? 0; + mostsextickabscache = histories.TryGetValue(mostpartnercache)?.RecentSexTickAbs ?? 0; + bestsextickabscache = histories.TryGetValue(bestpartnercache)?.BestSexTickAbs ?? 0; + racetotalsat.Clear(); allpartners.Clear(); } @@ -492,6 +578,8 @@ namespace RJWSexperience protected float bestsatisfaction = 0; protected bool itookvirgin = false; protected bool incest = false; + protected int recentsextickabs = 0; + protected int bestsextickabs = 0; public string Label { @@ -578,7 +666,35 @@ namespace RJWSexperience return rapedme; } } - + public int RecentSexTickAbs + { + get + { + return recentsextickabs; + } + } + public int BestSexTickAbs + { + get + { + return bestsextickabs; + } + } + public int BestSexElapsedTicks + { + get + { + return GenTicks.TicksAbs - bestsextickabs; + } + } + public string BestSexDays + { + get + { + if (bestsextickabs != 0) return Keyed.RS_HadBestSexDaysAgo(GenDate.ToStringTicksToDays(BestSexElapsedTicks) + " " + Keyed.RS_Ago); + return ""; + } + } public SexHistory() { } public SexHistory(Pawn pawn, bool incest = false) @@ -601,6 +717,8 @@ namespace RJWSexperience Scribe_Values.Look(ref bestsatisfaction, "bestsatisfaction", bestsatisfaction, true); Scribe_Values.Look(ref itookvirgin, "itookvirgin", itookvirgin, true); Scribe_Values.Look(ref incest, "incest", incest, true); + Scribe_Values.Look(ref recentsextickabs, "recentsextickabs", recentsextickabs, true); + Scribe_Values.Look(ref bestsextickabs, "bestsextickabs", bestsextickabs, true); } public void RecordSex(SexProps props) @@ -617,6 +735,8 @@ namespace RJWSexperience raped++; } } + recentsextickabs = GenTicks.TicksAbs; + } public void RecordSatisfaction(SexProps props, float satisfaction) @@ -626,6 +746,7 @@ namespace RJWSexperience orgasms++; bestsextype = props.sexType; bestsatisfaction = satisfaction; + bestsextickabs = GenTicks.TicksAbs; } } diff --git a/RJWSexperience/RJWSexperience/UI/RJWUIUtility.cs b/RJWSexperience/RJWSexperience/UI/RJWUIUtility.cs index b6bc4e6..6cc63f3 100644 --- a/RJWSexperience/RJWSexperience/UI/RJWUIUtility.cs +++ b/RJWSexperience/RJWSexperience/UI/RJWUIUtility.cs @@ -81,9 +81,18 @@ namespace RJWSexperience.UI public static string GetStatExplanation(Pawn pawn, StatDef stat, float val) { + if (!pawn.Dead) return stat.description + "\n" + stat.Worker.GetExplanationFull(StatRequest.For(pawn), ToStringNumberSense.Undefined, val); + return "Dead".Translate(); } + public static string GetSexDays(int absticks, bool printUnknown = false) + { + if (absticks != 0) return GenDate.ToStringTicksToDays(GenTicks.TicksAbs - absticks) + " " + Keyed.RS_Ago; + else if (printUnknown) return Keyed.Unknown; + else return ""; + } + } } diff --git a/RJWSexperience/RJWSexperience/UI/SexStatus.cs b/RJWSexperience/RJWSexperience/UI/SexStatus.cs index 09108a6..a5d9a0e 100644 --- a/RJWSexperience/RJWSexperience/UI/SexStatus.cs +++ b/RJWSexperience/RJWSexperience/UI/SexStatus.cs @@ -212,9 +212,10 @@ namespace RJWSexperience.UI FillableBarLabeled(bestsexRect,String.Format(Keyed.RS_Best_Sextype+": {0}", Keyed.Sextype[(int)history.BestSextype]), p / 2, HistoryUtility.SextypeColor[(int)history.BestSextype], Texture2D.blackTexture, null, String.Format("{0:P2}", p)); if (history.IamFirst) str += "\n" + Keyed.RS_LostVirgin(history.Label, pawn.LabelShort); - + str += "\n" + history.BestSexDays; TooltipHandler.TipRegion(rect, str); + } else { @@ -226,11 +227,12 @@ namespace RJWSexperience.UI } } - protected void DrawSexInfoCard(Rect rect, SexHistory history, string label, string tooltip) + protected void DrawSexInfoCard(Rect rect, SexHistory history, string label, string tooltip, string rightlabel = "") { Rect labelRect = new Rect(rect.x, rect.y, rect.width, FONTHEIGHT); Rect infoRect = new Rect(rect.x, rect.y + FONTHEIGHT, rect.width, rect.height - FONTHEIGHT); GUI.Label(labelRect, label, fontstyleleft); + GUI.Label(labelRect, rightlabel, fontstyleright); DrawInfoWithPortrait(infoRect,history, tooltip); @@ -243,10 +245,10 @@ namespace RJWSexperience.UI { Listing_Standard listmain = new Listing_Standard(); listmain.Begin(rect.ContractedBy(4f)); - DrawSexInfoCard(listmain.GetRect(CARDHEIGHT), history.GetRecentPartnersHistory, Keyed.RS_Recent_Sex_Partner, Keyed.RS_Recent_Sex_Partner_ToolTip); - DrawSexInfoCard(listmain.GetRect(CARDHEIGHT), history.GetFirstPartnerHistory, Keyed.RS_First_Sex_Partner, Keyed.RS_First_Sex_Partner_ToolTip); - DrawSexInfoCard(listmain.GetRect(CARDHEIGHT), history.GetMostPartnerHistory, Keyed.RS_Most_Sex_Partner, Keyed.RS_Most_Sex_Partner_ToolTip); - DrawSexInfoCard(listmain.GetRect(CARDHEIGHT), history.GetBestSexPartnerHistory, Keyed.RS_Best_Sex_Partner, Keyed.RS_Best_Sex_Partner_ToolTip); + DrawSexInfoCard(listmain.GetRect(CARDHEIGHT), history.GetRecentPartnersHistory, Keyed.RS_Recent_Sex_Partner, Keyed.RS_Recent_Sex_Partner_ToolTip, history.RecentSexDays); + DrawSexInfoCard(listmain.GetRect(CARDHEIGHT), history.GetFirstPartnerHistory, Keyed.RS_First_Sex_Partner, Keyed.RS_First_Sex_Partner_ToolTip, history.FirstSexDays); + DrawSexInfoCard(listmain.GetRect(CARDHEIGHT), history.GetMostPartnerHistory, Keyed.RS_Most_Sex_Partner, Keyed.RS_Most_Sex_Partner_ToolTip, history.MostSexDays); + DrawSexInfoCard(listmain.GetRect(CARDHEIGHT), history.GetBestSexPartnerHistory, Keyed.RS_Best_Sex_Partner, Keyed.RS_Best_Sex_Partner_ToolTip, history.BestSexDays); GUI.Label(listmain.GetRect(FONTHEIGHT), Keyed.RS_PreferRace, fontstyleleft); DrawPreferRace(listmain.GetRect(66f+15f)); listmain.GetRect(15f); @@ -354,11 +356,11 @@ namespace RJWSexperience.UI tmp = listmain.GetRect(FONTHEIGHT); p = pawn.records.GetValue(VariousDefOf.Lust); - FillableBarLabeled(tmp, String.Format(Keyed.Lust +": {0:0.00}", p), Mathf.Clamp01(p.Normalization(-Configurations.LustLimit*3, Configurations.LustLimit*3)), HistoryUtility.Slaanesh, Texture2D.blackTexture, null, String.Format(xxx.sex_drive_stat.LabelCap.CapitalizeFirst() + ": {0:P2}", pawn.GetStatValue(xxx.sex_drive_stat))); + FillableBarLabeled(tmp, String.Format(Keyed.Lust +": {0:0.00}", p), Mathf.Clamp01(p.Normalization(-Configurations.LustLimit*3, Configurations.LustLimit*3)), HistoryUtility.Slaanesh, Texture2D.blackTexture, null, String.Format(xxx.sex_drive_stat.LabelCap.CapitalizeFirst() + ": {0:P2}", pawn.Dead ? 0 : pawn.GetStatValue(xxx.sex_drive_stat))); listmain.Gap(1f); if (Mouse.IsOver(tmp)) { - TooltipHandler.TipRegion(tmp, RJWUIUtility.GetStatExplanation(pawn, xxx.sex_drive_stat, pawn.GetStatValue(xxx.sex_drive_stat))); + TooltipHandler.TipRegion(tmp, RJWUIUtility.GetStatExplanation(pawn, xxx.sex_drive_stat, pawn.Dead ? 0 : pawn.GetStatValue(xxx.sex_drive_stat))); } p = history.GetBestSextype(out xxx.rjwSextype sextype) / BASESAT; @@ -414,27 +416,27 @@ namespace RJWSexperience.UI if (p < history.BeenRapedCount) { p = history.BeenRapedCount; - FillableBarLabeled(tmp, String.Format(Keyed.RS_BeenRaped + ": {0}", p), p / 50, Texture2D.grayTexture, Texture2D.blackTexture, null, String.Format(xxx.vulnerability_stat.LabelCap.CapitalizeFirst() + ": {0:P2}", pawn.GetStatValue(xxx.vulnerability_stat))); + FillableBarLabeled(tmp, String.Format(Keyed.RS_BeenRaped + ": {0}", p), p / 50, Texture2D.grayTexture, Texture2D.blackTexture, null, String.Format(xxx.vulnerability_stat.LabelCap.CapitalizeFirst() + ": {0:P2}", pawn.Dead ? 0 : pawn.GetStatValue(xxx.vulnerability_stat))); listmain.Gap(1f); } else { - FillableBarLabeled(tmp, String.Format(Keyed.RS_RapedSomeone + ": {0}", p), p / 50, HistoryUtility.Khorne, Texture2D.blackTexture, null, String.Format(xxx.vulnerability_stat.LabelCap.CapitalizeFirst() + ": {0:P2}", pawn.GetStatValue(xxx.vulnerability_stat))); + FillableBarLabeled(tmp, String.Format(Keyed.RS_RapedSomeone + ": {0}", p), p / 50, HistoryUtility.Khorne, Texture2D.blackTexture, null, String.Format(xxx.vulnerability_stat.LabelCap.CapitalizeFirst() + ": {0:P2}", pawn.Dead ? 0 : pawn.GetStatValue(xxx.vulnerability_stat))); listmain.Gap(1f); } if (Mouse.IsOver(tmp)) { - TooltipHandler.TipRegion(tmp, RJWUIUtility.GetStatExplanation(pawn, xxx.vulnerability_stat, pawn.GetStatValue(xxx.vulnerability_stat))); + TooltipHandler.TipRegion(tmp, RJWUIUtility.GetStatExplanation(pawn, xxx.vulnerability_stat, pawn.Dead ? 0 : pawn.GetStatValue(xxx.vulnerability_stat))); } - p = pawn.GetStatValue(xxx.sex_satisfaction); + p = pawn.Dead ? 0 : pawn.GetStatValue(xxx.sex_satisfaction); tmp = listmain.GetRect(FONTHEIGHT); FillableBarLabeled(tmp, String.Format(xxx.sex_satisfaction.LabelCap.CapitalizeFirst() + ": {0:P2}", p), p/2, HistoryUtility.Satisfaction, Texture2D.blackTexture); listmain.Gap(1f); if (Mouse.IsOver(tmp)) { - TooltipHandler.TipRegion(tmp, RJWUIUtility.GetStatExplanation(pawn, xxx.sex_satisfaction, pawn.GetStatValue(xxx.sex_satisfaction))); + TooltipHandler.TipRegion(tmp, RJWUIUtility.GetStatExplanation(pawn, xxx.sex_satisfaction, pawn.Dead ? 0 : pawn.GetStatValue(xxx.sex_satisfaction))); } //p = pawn.GetStatValue(xxx.vulnerability_stat); @@ -444,16 +446,16 @@ namespace RJWSexperience.UI SkillRecord skill = pawn.skills?.GetSkill(VariousDefOf.SexSkill); p = skill?.Level ?? 0; tmp = listmain.GetRect(FONTHEIGHT); - FillableBarLabeled(tmp, String.Format(Keyed.RS_SexSkill + ": {0}, {1:P2}", p, skill?.xpSinceLastLevel/ skill?.XpRequiredForLevelUp), p / 20, HistoryUtility.Tzeentch, Texture2D.blackTexture, null, String.Format(xxx.sex_stat.LabelCap.CapitalizeFirst() + ": {0:P2}", pawn.GetStatValue(xxx.sex_stat)), HistoryUtility.PassionBG[(int)(skill?.passion ?? 0)]); + FillableBarLabeled(tmp, String.Format(Keyed.RS_SexSkill + ": {0}, {1:P2}", p, skill?.xpSinceLastLevel/ skill?.XpRequiredForLevelUp), p / 20, HistoryUtility.Tzeentch, Texture2D.blackTexture, null, String.Format(xxx.sex_stat.LabelCap.CapitalizeFirst() + ": {0:P2}", pawn.Dead ? 0 : pawn.GetStatValue(xxx.sex_stat)), HistoryUtility.PassionBG[(int)(skill?.passion ?? 0)]); if (Mouse.IsOver(tmp)) { - TooltipHandler.TipRegion(tmp, RJWUIUtility.GetStatExplanation(pawn, xxx.sex_stat, pawn.GetStatValue(xxx.sex_stat))); + TooltipHandler.TipRegion(tmp, RJWUIUtility.GetStatExplanation(pawn, xxx.sex_stat, pawn.Dead ? 0 : pawn.GetStatValue(xxx.sex_stat))); } listmain.Gap(1f); - if (selectedPawn != null) DrawSexInfoCard(listmain.GetRect(CARDHEIGHT), selectedPawn, Keyed.RS_Selected_Partner, Keyed.RS_Selected_Partner); + if (selectedPawn != null) DrawSexInfoCard(listmain.GetRect(CARDHEIGHT), selectedPawn, Keyed.RS_Selected_Partner, Keyed.RS_Selected_Partner, RJWUIUtility.GetSexDays(selectedPawn.RecentSexTickAbs)); else DrawExtraInfo(listmain.GetRect(CARDHEIGHT)); listmain.End(); @@ -498,7 +500,13 @@ namespace RJWSexperience.UI int sexindex = Sextype[i]; p = history.GetAVGSat(sexindex) / BASESAT; string label = Keyed.RS_Sex_Info(Keyed.Sextype[sexindex], history.GetSexCount(sexindex).ToString()); - FillableBarLabeled(listmain.GetRect(FONTHEIGHT),label, p / 2, HistoryUtility.SextypeColor[sexindex], Texture2D.blackTexture, null, Keyed.RS_SAT_AVG(String.Format("{0:P2}", p))); + Rect tmpRect = listmain.GetRect(FONTHEIGHT); + FillableBarLabeled(tmpRect,label, p / 2, HistoryUtility.SextypeColor[sexindex], Texture2D.blackTexture, null, Keyed.RS_SAT_AVG(String.Format("{0:P2}", p))); + if (Mouse.IsOver(tmpRect)) + { + TooltipHandler.TipRegion(tmpRect, Keyed.RS_LastSex.CapitalizeFirst() + ": " + history.SextypeRecentDays(Sextype[i])); + } + listmain.Gap(1f); } diff --git a/changelogs.txt b/changelogs.txt index 351b55a..85e8e1c 100644 --- a/changelogs.txt +++ b/changelogs.txt @@ -1,3 +1,8 @@ +Version Beta 1.0.2.2 + - non-player faction pawns no longer use cum buckets + - fixed sex history error with dead pawns + - added recent sex time + Version Beta 1.0.2.1 - messages about virginity loss will not be shown if the record randomizer is off - fixed rituals not worked properly