diff --git a/Languages/English/Keyed/RJW_Sexperience.xml b/Languages/English/Keyed/RJW_Sexperience.xml
index 13dbd14..705a45a 100644
--- a/Languages/English/Keyed/RJW_Sexperience.xml
+++ b/Languages/English/Keyed/RJW_Sexperience.xml
@@ -59,11 +59,19 @@
Sex records
Debug
-
- Enable record randomizer
- Randomize pawn's sex records.
+
Lust effect power
Set how much lust affect to sex drive.
+ Lust Limit
+ Set limitation of lust.\nIf absolute value of lust close to or larger than this value, lust will be less likely to change.
+ Maximum lust change per sex
+ Set how much lust can change from a single sex act
+ Sex can fill buckets
+ If enabled boobjobs, footjobs and handjobs that happens near cum bucket will fill it
+
+
+ Enable record randomizer
+ Randomize pawn's sex records.
Maximum lust deviation
Set maximum deviation of lust.
The lust value can be negative depending on its average.
Average Lust
@@ -74,24 +82,25 @@
Set average sex count.
Enable slaves get raped experience
Slaves will have experience of being raped
- Lust Limit
- Set limitation of lust.
If absolute value of lust close to or larger than this value, lust will be less likely to change.
Minimum age can have sex
Set minimum sexable age.
This value is not related to RJW's minimum sex age. Only used for generating records.
Virgin ratio
Set probability of virgin regardless of age.
Minimum sexable age from life stages
- Only used for generating records. Get minimum sexable age from the first reproductive life stage. Works better for races with a long lifespan
- Maximum lust change per sex
- Set how much lust can change from a single sex act
+ Only used for generating records. Get minimum sexable age from the first reproductive life stage. Works better for the races with a long lifespan
Enable Bastard relation
Child is marked as a bastard if they have only one parent or their parents are not (or was not) married
- Sex can fill buckets
- If enabled boobjobs, footjobs and handjobs that happens near cum bucket will fill it
+ [Caution] Enable Sex History*
+ * Needs a game restart\n\nEnables Sex History window, information collection for the said window and save/load of this information. Also enables sex partners count in the pawn's records.\n\n[Caution] Disabling this mid save will result in the loss of previously collected histories.
+ Hide Sex History button when drafted
+ Hides Sex History Gizmo for currently drafted pawns
+ Hide Sex History button with RJW designators
+ Hides Sex History Gizmo if RJW designators are hidden
+
+
Debug
Enable debug logs
- [Caution] Enable Sex History*
- * Needs a game restart\n\nEnables Sex History window, information collection for the said window and save/load of this information. Also enables sex partners count in pawn's records.\n\n[Caution] Disabling this mid save will result in the loss of previously collected histories.
+
Reset to default
diff --git a/RJWSexperience/RJWSexperience/Keyed.cs b/RJWSexperience/RJWSexperience/Keyed.cs
index f301488..90b7d9e 100644
--- a/RJWSexperience/RJWSexperience/Keyed.cs
+++ b/RJWSexperience/RJWSexperience/Keyed.cs
@@ -95,6 +95,10 @@ namespace RJWSexperience
public static readonly string Option_Debug_Desc = "RSOption_Debug_Desc".Translate();
public static readonly string Option_EnableSexHistory_Label = "RSOption_EnableSexHistory_Label".Translate();
public static readonly string Option_EnableSexHistory_Desc = "RSOption_EnableSexHistory_Desc".Translate();
+ public static readonly string Option_HideGizmoWhenDrafted_Label = "RSOption_HideGizmoWhenDrafted_Label".Translate();
+ public static readonly string Option_HideGizmoWhenDrafted_Desc = "RSOption_HideGizmoWhenDrafted_Desc".Translate();
+ public static readonly string Option_HideGizmoWithRJW_Label = "RSOption_HideGizmoWithRJW_Label".Translate();
+ public static readonly string Option_HideGizmoWithRJW_Desc = "RSOption_HideGizmoWithRJW_Desc".Translate();
public static readonly string Button_ResetToDefault = "Button_ResetToDefault".Translate();
public static string Translate(this PartnerOrderMode mode)
diff --git a/RJWSexperience/RJWSexperience/Patches/GetGizmos.cs b/RJWSexperience/RJWSexperience/Patches/GetGizmos.cs
index 2c3b3e3..9e17a55 100644
--- a/RJWSexperience/RJWSexperience/Patches/GetGizmos.cs
+++ b/RJWSexperience/RJWSexperience/Patches/GetGizmos.cs
@@ -8,9 +8,11 @@ namespace RJWSexperience
{
public static class Pawn_GetGizmos
{
+ private static Settings.SettingsTabHistory Settings => SexperienceMod.Settings.History;
+
public static void DoConditionalPatch(Harmony harmony)
{
- if (!SexperienceMod.Settings.History.EnableSexHistory)
+ if (!Settings.EnableSexHistory)
return;
MethodInfo original = typeof(Pawn).GetMethod(nameof(Pawn.GetGizmos));
@@ -22,22 +24,28 @@ namespace RJWSexperience
public static void Postfix(ref IEnumerable __result, Pawn __instance)
{
+ if (Settings.HideGizmoWhenDrafted && __instance.Drafted)
+ return;
+
if (Find.Selector.NumSelected > 1)
return;
+ if (Settings.HideGizmoWithRJW && !rjw.RJWSettings.show_RJW_designation_box)
+ return;
+
SexHistoryComp history = __instance.TryGetComp();
if (history == null)
return;
- __result = AddHistoryGizmo(history, __result);
+ __result = AddHistoryGizmo(history.Gizmo, __result);
}
- private static IEnumerable AddHistoryGizmo(SexHistoryComp history, IEnumerable gizmos)
+ private static IEnumerable AddHistoryGizmo(Gizmo historyGizmo, IEnumerable gizmos)
{
foreach (Gizmo gizmo in gizmos)
yield return gizmo;
- yield return history.Gizmo;
+ yield return historyGizmo;
}
}
}
diff --git a/RJWSexperience/RJWSexperience/Settings/SettingsTabHistory.cs b/RJWSexperience/RJWSexperience/Settings/SettingsTabHistory.cs
index d266a48..a0f1393 100644
--- a/RJWSexperience/RJWSexperience/Settings/SettingsTabHistory.cs
+++ b/RJWSexperience/RJWSexperience/Settings/SettingsTabHistory.cs
@@ -19,6 +19,8 @@ namespace RJWSexperience.Settings
public const float VirginRatioDefault = 0.01f;
public const bool SlavesBeenRapedExpDefault = true;
public const bool EnableSexHistoryDefault = true;
+ public const bool HideGizmoWhenDraftedDefault = true;
+ public const bool HideGizmoWithRJWDefault = true;
// Private attributes
private bool enableRecordRandomizer = EnableStatRandomizerDefault;
@@ -31,6 +33,8 @@ namespace RJWSexperience.Settings
private float virginRatio = VirginRatioDefault;
private bool slavesBeenRapedExp = SlavesBeenRapedExpDefault;
private bool enableSexHistory = EnableSexHistoryDefault;
+ private bool hideGizmoWhenDrafted = HideGizmoWhenDraftedDefault;
+ private bool hideGizmoWithRJW = HideGizmoWithRJWDefault;
//Public read-only properties
public bool EnableRecordRandomizer => enableRecordRandomizer;
@@ -43,6 +47,8 @@ namespace RJWSexperience.Settings
public float VirginRatio => virginRatio;
public bool SlavesBeenRapedExp => slavesBeenRapedExp;
public bool EnableSexHistory => enableSexHistory;
+ public bool HideGizmoWhenDrafted => hideGizmoWhenDrafted;
+ public bool HideGizmoWithRJW => hideGizmoWithRJW;
public static SettingsTabHistory CreateDefault()
{
@@ -63,6 +69,8 @@ namespace RJWSexperience.Settings
virginRatio = VirginRatioDefault;
slavesBeenRapedExp = SlavesBeenRapedExpDefault;
enableSexHistory = EnableSexHistoryDefault;
+ hideGizmoWhenDrafted = HideGizmoWhenDraftedDefault;
+ hideGizmoWithRJW = HideGizmoWithRJWDefault;
}
public void ExposeData()
@@ -77,6 +85,8 @@ namespace RJWSexperience.Settings
Scribe_Values.Look(ref virginRatio, "VirginRatio", VirginRatioDefault);
Scribe_Values.Look(ref slavesBeenRapedExp, "SlavesBeenRapedExp", SlavesBeenRapedExpDefault);
Scribe_Values.Look(ref enableSexHistory, "EnableSexHistory", EnableSexHistoryDefault);
+ Scribe_Values.Look(ref hideGizmoWhenDrafted, "HideGizmoWhenDrafted", HideGizmoWhenDraftedDefault);
+ Scribe_Values.Look(ref hideGizmoWithRJW, "HideGizmoWithRJW", HideGizmoWithRJWDefault);
}
public void DoTabContents(Rect inRect)
@@ -113,6 +123,12 @@ namespace RJWSexperience.Settings
listmain.CheckboxLabeled(Keyed.Option_EnableSexHistory_Label, ref enableSexHistory, Keyed.Option_EnableSexHistory_Desc);
+ if (enableSexHistory)
+ {
+ listmain.CheckboxLabeled(Keyed.Option_HideGizmoWhenDrafted_Label, ref hideGizmoWhenDrafted, Keyed.Option_HideGizmoWhenDrafted_Desc);
+ listmain.CheckboxLabeled(Keyed.Option_HideGizmoWithRJW_Label, ref hideGizmoWithRJW, Keyed.Option_HideGizmoWithRJW_Desc);
+ }
+
if (listmain.ButtonText(Keyed.Button_ResetToDefault))
{
Reset();