mirror of
https://github.com/amevarashi/RJW-Sexperience.git
synced 2024-08-14 23:54:08 +00:00
Add options to hide history gizmo
This commit is contained in:
parent
48869b4578
commit
0b4741793b
4 changed files with 53 additions and 16 deletions
|
@ -59,11 +59,19 @@
|
|||
<RSTabLabelHistory>Sex records</RSTabLabelHistory>
|
||||
<RSTabLabelDebug>Debug</RSTabLabelDebug>
|
||||
|
||||
<!-- Mod settings -->
|
||||
<RSOption_1_Label>Enable record randomizer</RSOption_1_Label>
|
||||
<RSOption_1_Desc>Randomize pawn's sex records.</RSOption_1_Desc>
|
||||
<!-- Mod settings: Main -->
|
||||
<RSOption_2_Label>Lust effect power</RSOption_2_Label>
|
||||
<RSOption_2_Desc>Set how much lust affect to sex drive.</RSOption_2_Desc>
|
||||
<RSOption_8_Label>Lust Limit</RSOption_8_Label>
|
||||
<RSOption_8_Desc>Set limitation of lust.\nIf absolute value of lust close to or larger than this value, lust will be less likely to change.</RSOption_8_Desc>
|
||||
<RSOption_MaxSingleLustChange_Label>Maximum lust change per sex</RSOption_MaxSingleLustChange_Label>
|
||||
<RSOption_MaxSingleLustChange_Desc>Set how much lust can change from a single sex act</RSOption_MaxSingleLustChange_Desc>
|
||||
<RSOption_SexCanFillBuckets_Label>Sex can fill buckets</RSOption_SexCanFillBuckets_Label>
|
||||
<RSOption_SexCanFillBuckets_Desc>If enabled boobjobs, footjobs and handjobs that happens near cum bucket will fill it</RSOption_SexCanFillBuckets_Desc>
|
||||
|
||||
<!-- Mod settings: Sex records -->
|
||||
<RSOption_1_Label>Enable record randomizer</RSOption_1_Label>
|
||||
<RSOption_1_Desc>Randomize pawn's sex records.</RSOption_1_Desc>
|
||||
<RSOption_3_Label>Maximum lust deviation</RSOption_3_Label>
|
||||
<RSOption_3_Desc>Set maximum deviation of lust. The lust value can be negative depending on its average.</RSOption_3_Desc>
|
||||
<RSOption_4_Label>Average Lust</RSOption_4_Label>
|
||||
|
@ -74,24 +82,25 @@
|
|||
<RSOption_6_Desc>Set average sex count.</RSOption_6_Desc>
|
||||
<RSOption_7_Label>Enable slaves get raped experience</RSOption_7_Label>
|
||||
<RSOption_7_Desc>Slaves will have experience of being raped</RSOption_7_Desc>
|
||||
<RSOption_8_Label>Lust Limit</RSOption_8_Label>
|
||||
<RSOption_8_Desc>Set limitation of lust. If absolute value of lust close to or larger than this value, lust will be less likely to change.</RSOption_8_Desc>
|
||||
<RSOption_9_Label>Minimum age can have sex</RSOption_9_Label>
|
||||
<RSOption_9_Desc>Set minimum sexable age. This value is not related to RJW's minimum sex age. Only used for generating records.</RSOption_9_Desc>
|
||||
<RSOption_10_Label>Virgin ratio</RSOption_10_Label>
|
||||
<RSOption_10_Desc>Set probability of virgin regardless of age.</RSOption_10_Desc>
|
||||
<RSOption_MinSexableFromLifestage_Label>Minimum sexable age from life stages</RSOption_MinSexableFromLifestage_Label>
|
||||
<RSOption_MinSexableFromLifestage_Desc>Only used for generating records. Get minimum sexable age from the first reproductive life stage. Works better for races with a long lifespan</RSOption_MinSexableFromLifestage_Desc>
|
||||
<RSOption_MaxSingleLustChange_Label>Maximum lust change per sex</RSOption_MaxSingleLustChange_Label>
|
||||
<RSOption_MaxSingleLustChange_Desc>Set how much lust can change from a single sex act</RSOption_MaxSingleLustChange_Desc>
|
||||
<RSOption_MinSexableFromLifestage_Desc>Only used for generating records. Get minimum sexable age from the first reproductive life stage. Works better for the races with a long lifespan</RSOption_MinSexableFromLifestage_Desc>
|
||||
<RSOption_EnableBastardRelation_Label>Enable Bastard relation</RSOption_EnableBastardRelation_Label>
|
||||
<RSOption_EnableBastardRelation_Desc>Child is marked as a bastard if they have only one parent or their parents are not (or was not) married</RSOption_EnableBastardRelation_Desc>
|
||||
<RSOption_SexCanFillBuckets_Label>Sex can fill buckets</RSOption_SexCanFillBuckets_Label>
|
||||
<RSOption_SexCanFillBuckets_Desc>If enabled boobjobs, footjobs and handjobs that happens near cum bucket will fill it</RSOption_SexCanFillBuckets_Desc>
|
||||
<RSOption_EnableSexHistory_Label>[Caution] Enable Sex History*</RSOption_EnableSexHistory_Label>
|
||||
<RSOption_EnableSexHistory_Desc>* 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.</RSOption_EnableSexHistory_Desc>
|
||||
<RSOption_HideGizmoWhenDrafted_Label>Hide Sex History button when drafted</RSOption_HideGizmoWhenDrafted_Label>
|
||||
<RSOption_HideGizmoWhenDrafted_Desc>Hides Sex History Gizmo for currently drafted pawns</RSOption_HideGizmoWhenDrafted_Desc>
|
||||
<RSOption_HideGizmoWithRJW_Label>Hide Sex History button with RJW designators</RSOption_HideGizmoWithRJW_Label>
|
||||
<RSOption_HideGizmoWithRJW_Desc>Hides Sex History Gizmo if RJW designators are hidden</RSOption_HideGizmoWithRJW_Desc>
|
||||
|
||||
<!-- Mod settings: Debug -->
|
||||
<RSOption_Debug_Label>Debug</RSOption_Debug_Label>
|
||||
<RSOption_Debug_Desc>Enable debug logs</RSOption_Debug_Desc>
|
||||
<RSOption_EnableSexHistory_Label>[Caution] Enable Sex History*</RSOption_EnableSexHistory_Label>
|
||||
<RSOption_EnableSexHistory_Desc>* 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.</RSOption_EnableSexHistory_Desc>
|
||||
|
||||
<Button_ResetToDefault>Reset to default</Button_ResetToDefault>
|
||||
|
||||
<!-- Sex types -->
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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<Gizmo> __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<SexHistoryComp>();
|
||||
if (history == null)
|
||||
return;
|
||||
|
||||
__result = AddHistoryGizmo(history, __result);
|
||||
__result = AddHistoryGizmo(history.Gizmo, __result);
|
||||
}
|
||||
|
||||
private static IEnumerable<Gizmo> AddHistoryGizmo(SexHistoryComp history, IEnumerable<Gizmo> gizmos)
|
||||
private static IEnumerable<Gizmo> AddHistoryGizmo(Gizmo historyGizmo, IEnumerable<Gizmo> gizmos)
|
||||
{
|
||||
foreach (Gizmo gizmo in gizmos)
|
||||
yield return gizmo;
|
||||
|
||||
yield return history.Gizmo;
|
||||
yield return historyGizmo;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue