mirror of
https://github.com/amevarashi/RJW-Sexperience.git
synced 2024-08-14 23:54:08 +00:00
Merge pull request #12 from Angedore/virginityadditionalremovers
additional sex acts remove the virginity trait
This commit is contained in:
commit
37927f19b3
8 changed files with 60 additions and 5 deletions
Binary file not shown.
|
@ -85,6 +85,10 @@
|
||||||
<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_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_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_HideGizmoWhenDrafted_Desc>Hides Sex History Gizmo for currently drafted pawns</RSOption_HideGizmoWhenDrafted_Desc>
|
||||||
|
<RSOption_VirginityCheck_M2M_Label>Remove virginity with anal sex (for male/male sex)</RSOption_VirginityCheck_M2M_Label>
|
||||||
|
<RSOption_VirginityCheck_M2M_Desc>Remove virginity with anal sex (for male/male sex)</RSOption_VirginityCheck_M2M_Desc>
|
||||||
|
<RSOption_VirginityCheck_F2F_Label>Remove virginity with scissoring sex (for female/female sex)</RSOption_VirginityCheck_F2F_Label>
|
||||||
|
<RSOption_VirginityCheck_F2F_Desc>Remove virginity with scissoring sex (for female/female sex)</RSOption_VirginityCheck_F2F_Desc>
|
||||||
|
|
||||||
<!-- Mod settings: Debug -->
|
<!-- Mod settings: Debug -->
|
||||||
<RSOption_Debug_Label>Debug</RSOption_Debug_Label>
|
<RSOption_Debug_Label>Debug</RSOption_Debug_Label>
|
||||||
|
|
|
@ -25,6 +25,9 @@ namespace RJWSexperience
|
||||||
public readonly SettingHandle<bool> EnableSexHistory = new SettingHandle<bool>("EnableSexHistory", true);
|
public readonly SettingHandle<bool> EnableSexHistory = new SettingHandle<bool>("EnableSexHistory", true);
|
||||||
public readonly SettingHandle<bool> HideGizmoWhenDrafted = new SettingHandle<bool>("HideGizmoWhenDrafted", true);
|
public readonly SettingHandle<bool> HideGizmoWhenDrafted = new SettingHandle<bool>("HideGizmoWhenDrafted", true);
|
||||||
|
|
||||||
|
public readonly SettingHandle<bool> VirginityCheck_M2M_Anal = new SettingHandle<bool>("VirginityCheck_M2M_Anal", true);
|
||||||
|
public readonly SettingHandle<bool> VirginityCheck_F2F_Scissoring = new SettingHandle<bool>("VirginityCheck_F2F_Scissoring", false);
|
||||||
|
|
||||||
public readonly SettingHandle<bool> DevMode = new SettingHandle<bool>("DevMode", false);
|
public readonly SettingHandle<bool> DevMode = new SettingHandle<bool>("DevMode", false);
|
||||||
|
|
||||||
public readonly SettingHandle<bool> SelectionLocked = new SettingHandle<bool>("SelectionLocked", false);
|
public readonly SettingHandle<bool> SelectionLocked = new SettingHandle<bool>("SelectionLocked", false);
|
||||||
|
|
|
@ -98,6 +98,10 @@ namespace RJWSexperience
|
||||||
public static readonly string Option_HideGizmoWithRJW_Label = "RSOption_HideGizmoWithRJW_Label".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 Option_HideGizmoWithRJW_Desc = "RSOption_HideGizmoWithRJW_Desc".Translate();
|
||||||
public static readonly string Button_ResetToDefault = "Button_ResetToDefault".Translate();
|
public static readonly string Button_ResetToDefault = "Button_ResetToDefault".Translate();
|
||||||
|
public static readonly string Option_VirginityCheck_M2M_Label = "RSOption_VirginityCheck_M2M_Label".Translate();
|
||||||
|
public static readonly string Option_VirginityCheck_M2M_Desc = "RSOption_VirginityCheck_M2M_Desc".Translate();
|
||||||
|
public static readonly string Option_VirginityCheck_F2F_Label = "RSOption_VirginityCheck_F2F_Label".Translate();
|
||||||
|
public static readonly string Option_VirginityCheck_F2F_Desc = "RSOption_VirginityCheck_F2F_Desc".Translate();
|
||||||
|
|
||||||
public static string Translate(this PartnerOrderMode mode)
|
public static string Translate(this PartnerOrderMode mode)
|
||||||
{
|
{
|
||||||
|
|
|
@ -94,10 +94,43 @@ namespace RJWSexperience
|
||||||
{
|
{
|
||||||
public static void Postfix(JobDriver_SexBaseInitiator __instance)
|
public static void Postfix(JobDriver_SexBaseInitiator __instance)
|
||||||
{
|
{
|
||||||
if (__instance.Sexprops.hasPartner() && __instance.Sexprops.sexType == xxx.rjwSextype.Vaginal)
|
if (__instance.Sexprops.hasPartner())
|
||||||
{
|
{
|
||||||
__instance.pawn.TryRemoveVirginity(__instance.Partner, __instance.Sexprops);
|
// remove hetero virginity
|
||||||
__instance.Partner.TryRemoveVirginity(__instance.pawn, __instance.Sexprops);
|
if((__instance.Sexprops.sexType == xxx.rjwSextype.Vaginal || __instance.Sexprops.sexType == xxx.rjwSextype.DoublePenetration))
|
||||||
|
{
|
||||||
|
__instance.pawn.TryRemoveVirginity(__instance.Partner, __instance.Sexprops);
|
||||||
|
__instance.Partner.TryRemoveVirginity(__instance.pawn, __instance.Sexprops);
|
||||||
|
} else if(__instance.Sexprops.sexType == xxx.rjwSextype.Fisting)
|
||||||
|
{
|
||||||
|
//check if receiver is a virgin female..
|
||||||
|
Pawn receiver = __instance.Sexprops.IsInitiator() ? __instance.Partner : __instance.pawn;
|
||||||
|
if (receiver != null && receiver.gender == Gender.Female && receiver.IsVirgin())
|
||||||
|
{
|
||||||
|
Pawn initiator = __instance.Sexprops.IsInitiator() ? __instance.pawn : __instance.Partner;
|
||||||
|
receiver.TryRemoveVirginity(initiator, __instance.Sexprops);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// check if both pawn are male -> anal used as alternative virginity remover
|
||||||
|
if(SexperienceMod.Settings.VirginityCheck_M2M_Anal &&
|
||||||
|
__instance.Sexprops.sexType == xxx.rjwSextype.Anal
|
||||||
|
&& __instance.pawn.gender == Gender.Male && __instance.Partner.gender == Gender.Male)
|
||||||
|
{
|
||||||
|
__instance.pawn.TryRemoveVirginity(__instance.Partner, __instance.Sexprops);
|
||||||
|
__instance.Partner.TryRemoveVirginity(__instance.pawn, __instance.Sexprops);
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if both pawn are female -> scissoring used as alternative virginity remover
|
||||||
|
if(SexperienceMod.Settings.VirginityCheck_F2F_Scissoring &&
|
||||||
|
__instance.Sexprops.sexType == xxx.rjwSextype.Scissoring
|
||||||
|
&& __instance.pawn.gender == Gender.Female && __instance.Partner.gender == Gender.Female)
|
||||||
|
{
|
||||||
|
__instance.pawn.TryRemoveVirginity(__instance.Partner, __instance.Sexprops);
|
||||||
|
__instance.Partner.TryRemoveVirginity(__instance.pawn, __instance.Sexprops);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,9 @@ namespace RJWSexperience.Settings
|
||||||
settings.VirginRatio,
|
settings.VirginRatio,
|
||||||
settings.SlavesBeenRapedExp,
|
settings.SlavesBeenRapedExp,
|
||||||
settings.EnableSexHistory,
|
settings.EnableSexHistory,
|
||||||
settings.HideGizmoWhenDrafted
|
settings.HideGizmoWhenDrafted,
|
||||||
|
settings.VirginityCheck_M2M_Anal,
|
||||||
|
settings.VirginityCheck_F2F_Scissoring
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,9 @@ namespace RJWSexperience.Settings
|
||||||
settings.VirginRatio,
|
settings.VirginRatio,
|
||||||
settings.SlavesBeenRapedExp,
|
settings.SlavesBeenRapedExp,
|
||||||
settings.EnableSexHistory,
|
settings.EnableSexHistory,
|
||||||
settings.HideGizmoWhenDrafted
|
settings.HideGizmoWhenDrafted,
|
||||||
|
settings.VirginityCheck_M2M_Anal,
|
||||||
|
settings.VirginityCheck_F2F_Scissoring
|
||||||
}
|
}
|
||||||
) { }
|
) { }
|
||||||
|
|
||||||
|
@ -63,6 +65,9 @@ namespace RJWSexperience.Settings
|
||||||
{
|
{
|
||||||
listmain.CheckboxLabeled(Keyed.Option_HideGizmoWhenDrafted_Label, settings.HideGizmoWhenDrafted, Keyed.Option_HideGizmoWhenDrafted_Desc);
|
listmain.CheckboxLabeled(Keyed.Option_HideGizmoWhenDrafted_Label, settings.HideGizmoWhenDrafted, Keyed.Option_HideGizmoWhenDrafted_Desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
listmain.CheckboxLabeled(Keyed.Option_VirginityCheck_M2M_Label, settings.VirginityCheck_M2M_Anal, Keyed.Option_VirginityCheck_M2M_Desc);
|
||||||
|
listmain.CheckboxLabeled(Keyed.Option_VirginityCheck_F2F_Label, settings.VirginityCheck_F2F_Scissoring, Keyed.Option_VirginityCheck_F2F_Label);
|
||||||
|
|
||||||
if (listmain.ButtonText(Keyed.Button_ResetToDefault))
|
if (listmain.ButtonText(Keyed.Button_ResetToDefault))
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,6 +15,8 @@ namespace RJWSexperience.Settings
|
||||||
settings.LustLimit,
|
settings.LustLimit,
|
||||||
settings.MaxSingleLustChange,
|
settings.MaxSingleLustChange,
|
||||||
settings.SexCanFillBuckets,
|
settings.SexCanFillBuckets,
|
||||||
|
settings.VirginityCheck_M2M_Anal,
|
||||||
|
settings.VirginityCheck_F2F_Scissoring
|
||||||
}
|
}
|
||||||
) { }
|
) { }
|
||||||
|
|
||||||
|
@ -27,6 +29,8 @@ namespace RJWSexperience.Settings
|
||||||
listmain.SliderOption(Keyed.Option_MaxSingleLustChange_Label + " {0}", Keyed.Option_MaxSingleLustChange_Desc, settings.MaxSingleLustChange, new FloatRange(0f, 10f), 0.05f);
|
listmain.SliderOption(Keyed.Option_MaxSingleLustChange_Label + " {0}", Keyed.Option_MaxSingleLustChange_Desc, settings.MaxSingleLustChange, new FloatRange(0f, 10f), 0.05f);
|
||||||
listmain.CheckboxLabeled(Keyed.Option_EnableBastardRelation_Label, settings.EnableBastardRelation, Keyed.Option_EnableBastardRelation_Desc);
|
listmain.CheckboxLabeled(Keyed.Option_EnableBastardRelation_Label, settings.EnableBastardRelation, Keyed.Option_EnableBastardRelation_Desc);
|
||||||
listmain.CheckboxLabeled(Keyed.Option_SexCanFillBuckets_Label, settings.SexCanFillBuckets, Keyed.Option_SexCanFillBuckets_Desc);
|
listmain.CheckboxLabeled(Keyed.Option_SexCanFillBuckets_Label, settings.SexCanFillBuckets, Keyed.Option_SexCanFillBuckets_Desc);
|
||||||
|
listmain.CheckboxLabeled(Keyed.Option_VirginityCheck_M2M_Label, settings.VirginityCheck_M2M_Anal, Keyed.Option_VirginityCheck_M2M_Desc);
|
||||||
|
listmain.CheckboxLabeled(Keyed.Option_VirginityCheck_F2F_Label, settings.VirginityCheck_F2F_Scissoring, Keyed.Option_VirginityCheck_F2F_Desc);
|
||||||
|
|
||||||
if (settings.DevMode)
|
if (settings.DevMode)
|
||||||
LustUtility.DrawGraph(listmain.GetRect(300f));
|
LustUtility.DrawGraph(listmain.GetRect(300f));
|
||||||
|
|
Loading…
Reference in a new issue