mirror of
https://github.com/amevarashi/RJW-Sexperience.git
synced 2024-08-14 23:54:08 +00:00
Option to disable Bastard relation
This commit is contained in:
parent
41faeabe5b
commit
678ffc995a
6 changed files with 36 additions and 32 deletions
|
@ -83,6 +83,8 @@
|
||||||
<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_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_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_MaxSingleLustChange_Desc>Set how much lust can change from a single sex act</RSOption_MaxSingleLustChange_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 (or was) married</RSOption_EnableBastardRelation_Desc>
|
||||||
|
|
||||||
<Vaginal>Vaginal</Vaginal>
|
<Vaginal>Vaginal</Vaginal>
|
||||||
<Anal>Anal</Anal>
|
<Anal>Anal</Anal>
|
||||||
|
|
|
@ -13,6 +13,7 @@ namespace RJWSexperience
|
||||||
public const float SexPerYearDefault = 30f;
|
public const float SexPerYearDefault = 30f;
|
||||||
public const bool SlavesBeenRapedExpDefault = true;
|
public const bool SlavesBeenRapedExpDefault = true;
|
||||||
public const bool EnableStatRandomizerDefault = true;
|
public const bool EnableStatRandomizerDefault = true;
|
||||||
|
public const bool EnableBastardRelationDefault = true;
|
||||||
public const float LustLimitDefault = MaxInitialLustDefault / 3f;
|
public const float LustLimitDefault = MaxInitialLustDefault / 3f;
|
||||||
public const float MaxSingleLustChangeDefault = 0.5f;
|
public const float MaxSingleLustChangeDefault = 0.5f;
|
||||||
public const bool MinSexableFromLifestageDefault = true;
|
public const bool MinSexableFromLifestageDefault = true;
|
||||||
|
@ -26,6 +27,7 @@ namespace RJWSexperience
|
||||||
private float sexPerYear = SexPerYearDefault;
|
private float sexPerYear = SexPerYearDefault;
|
||||||
private bool slavesBeenRapedExp = SlavesBeenRapedExpDefault;
|
private bool slavesBeenRapedExp = SlavesBeenRapedExpDefault;
|
||||||
private bool enableRecordRandomizer = EnableStatRandomizerDefault;
|
private bool enableRecordRandomizer = EnableStatRandomizerDefault;
|
||||||
|
private bool enableBastardRelation = EnableBastardRelationDefault;
|
||||||
private float lustLimit = LustLimitDefault;
|
private float lustLimit = LustLimitDefault;
|
||||||
private bool minSexableFromLifestage = MinSexableFromLifestageDefault;
|
private bool minSexableFromLifestage = MinSexableFromLifestageDefault;
|
||||||
private float minSexablePercent = MinSexablePercentDefault;
|
private float minSexablePercent = MinSexablePercentDefault;
|
||||||
|
@ -39,6 +41,7 @@ namespace RJWSexperience
|
||||||
public float SexPerYear { get => sexPerYear; }
|
public float SexPerYear { get => sexPerYear; }
|
||||||
public bool SlavesBeenRapedExp { get => slavesBeenRapedExp; }
|
public bool SlavesBeenRapedExp { get => slavesBeenRapedExp; }
|
||||||
public bool EnableRecordRandomizer { get => enableRecordRandomizer; }
|
public bool EnableRecordRandomizer { get => enableRecordRandomizer; }
|
||||||
|
public bool EnableBastardRelation { get => enableBastardRelation; }
|
||||||
public float LustLimit { get => lustLimit; }
|
public float LustLimit { get => lustLimit; }
|
||||||
public bool MinSexableFromLifestage { get => minSexableFromLifestage; }
|
public bool MinSexableFromLifestage { get => minSexableFromLifestage; }
|
||||||
public float MinSexablePercent { get => minSexablePercent; }
|
public float MinSexablePercent { get => minSexablePercent; }
|
||||||
|
@ -59,6 +62,7 @@ namespace RJWSexperience
|
||||||
sexPerYear = SexPerYearDefault;
|
sexPerYear = SexPerYearDefault;
|
||||||
slavesBeenRapedExp = SlavesBeenRapedExpDefault;
|
slavesBeenRapedExp = SlavesBeenRapedExpDefault;
|
||||||
enableRecordRandomizer = EnableStatRandomizerDefault;
|
enableRecordRandomizer = EnableStatRandomizerDefault;
|
||||||
|
enableBastardRelation = EnableBastardRelationDefault;
|
||||||
lustLimit = LustLimitDefault;
|
lustLimit = LustLimitDefault;
|
||||||
maxSingleLustChange = MaxSingleLustChangeDefault;
|
maxSingleLustChange = MaxSingleLustChangeDefault;
|
||||||
minSexableFromLifestage = MinSexableFromLifestageDefault;
|
minSexableFromLifestage = MinSexableFromLifestageDefault;
|
||||||
|
@ -75,6 +79,7 @@ namespace RJWSexperience
|
||||||
Scribe_Values.Look(ref sexPerYear, "SexPerYear", SexPerYearDefault, true);
|
Scribe_Values.Look(ref sexPerYear, "SexPerYear", SexPerYearDefault, true);
|
||||||
Scribe_Values.Look(ref slavesBeenRapedExp, "SlavesBeenRapedExp", SlavesBeenRapedExpDefault, true);
|
Scribe_Values.Look(ref slavesBeenRapedExp, "SlavesBeenRapedExp", SlavesBeenRapedExpDefault, true);
|
||||||
Scribe_Values.Look(ref enableRecordRandomizer, "EnableRecordRandomizer", EnableStatRandomizerDefault, true);
|
Scribe_Values.Look(ref enableRecordRandomizer, "EnableRecordRandomizer", EnableStatRandomizerDefault, true);
|
||||||
|
Scribe_Values.Look(ref enableBastardRelation, "EnableBastardRelation", EnableBastardRelationDefault, true);
|
||||||
Scribe_Values.Look(ref lustLimit, "LustLimit", LustLimitDefault, true);
|
Scribe_Values.Look(ref lustLimit, "LustLimit", LustLimitDefault, true);
|
||||||
Scribe_Values.Look(ref maxSingleLustChange, "maxSingleLustChange", MaxSingleLustChangeDefault, true);
|
Scribe_Values.Look(ref maxSingleLustChange, "maxSingleLustChange", MaxSingleLustChangeDefault, true);
|
||||||
Scribe_Values.Look(ref minSexableFromLifestage, "MinSexableFromLifestage", MinSexableFromLifestageDefault, true);
|
Scribe_Values.Look(ref minSexableFromLifestage, "MinSexableFromLifestage", MinSexableFromLifestageDefault, true);
|
||||||
|
@ -121,6 +126,8 @@ namespace RJWSexperience
|
||||||
listmain.EndSection(section);
|
listmain.EndSection(section);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
listmain.CheckboxLabeled(Keyed.Option_EnableBastardRelation_Label, ref enableBastardRelation, Keyed.Option_EnableBastardRelation_Desc);
|
||||||
|
|
||||||
if (listmain.ButtonText("reset to default"))
|
if (listmain.ButtonText("reset to default"))
|
||||||
{
|
{
|
||||||
ResetToDefault();
|
ResetToDefault();
|
||||||
|
|
|
@ -87,6 +87,8 @@ namespace RJWSexperience
|
||||||
public static readonly string Option_MinSexableFromLifestage_Desc = "RSOption_MinSexableFromLifestage_Desc".Translate();
|
public static readonly string Option_MinSexableFromLifestage_Desc = "RSOption_MinSexableFromLifestage_Desc".Translate();
|
||||||
public static readonly string Option_MaxSingleLustChange_Label = "RSOption_MaxSingleLustChange_Label".Translate();
|
public static readonly string Option_MaxSingleLustChange_Label = "RSOption_MaxSingleLustChange_Label".Translate();
|
||||||
public static readonly string Option_MaxSingleLustChange_Desc = "RSOption_MaxSingleLustChange_Desc".Translate();
|
public static readonly string Option_MaxSingleLustChange_Desc = "RSOption_MaxSingleLustChange_Desc".Translate();
|
||||||
|
public static readonly string Option_EnableBastardRelation_Label = "RSOption_EnableBastardRelation_Label".Translate();
|
||||||
|
public static readonly string Option_EnableBastardRelation_Desc = "RSOption_EnableBastardRelation_Desc".Translate();
|
||||||
|
|
||||||
public static string Translate(this PartnerOrderMode mode)
|
public static string Translate(this PartnerOrderMode mode)
|
||||||
{
|
{
|
||||||
|
|
24
RJWSexperience/RJWSexperience/PawnRelationWorker_Bastard.cs
Normal file
24
RJWSexperience/RJWSexperience/PawnRelationWorker_Bastard.cs
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
using RimWorld;
|
||||||
|
using Verse;
|
||||||
|
|
||||||
|
namespace RJWSexperience
|
||||||
|
{
|
||||||
|
public class PawnRelationWorker_Bastard : PawnRelationWorker_Child
|
||||||
|
{
|
||||||
|
public override bool InRelation(Pawn me, Pawn other)
|
||||||
|
{
|
||||||
|
if (!SexperienceMod.Settings.EnableBastardRelation)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
Pawn mother = other.GetMother();
|
||||||
|
Pawn father = other.GetFather();
|
||||||
|
if (me != other && (mother == me || father == me))
|
||||||
|
{
|
||||||
|
if (mother == null || father == null) return true;
|
||||||
|
else if (mother.relations != null) return !(mother.relations.DirectRelationExists(PawnRelationDefOf.Spouse, father) || mother.relations.DirectRelationExists(PawnRelationDefOf.ExSpouse, father));
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,31 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Verse;
|
|
||||||
using RimWorld;
|
|
||||||
using rjw;
|
|
||||||
|
|
||||||
|
|
||||||
namespace RJWSexperience
|
|
||||||
{
|
|
||||||
public class PawnRelationWorker_Bastard : PawnRelationWorker_Child
|
|
||||||
{
|
|
||||||
public override bool InRelation(Pawn me, Pawn other)
|
|
||||||
{
|
|
||||||
Pawn mother = other.GetMother();
|
|
||||||
Pawn father = other.GetFather();
|
|
||||||
if (me != other && (mother == me || father == me))
|
|
||||||
{
|
|
||||||
if (mother == null || father == null) return true;
|
|
||||||
else if (mother.relations != null) return !(mother.relations.DirectRelationExists(PawnRelationDefOf.Spouse, father) || mother.relations.DirectRelationExists(PawnRelationDefOf.ExSpouse, father));
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -82,7 +82,7 @@
|
||||||
<Compile Include="SexHistory\HistoryUtility.cs" />
|
<Compile Include="SexHistory\HistoryUtility.cs" />
|
||||||
<Compile Include="SexHistory\SexPartnerHistory.cs" />
|
<Compile Include="SexHistory\SexPartnerHistory.cs" />
|
||||||
<Compile Include="SexHistory\SexPartnerHistoryRecord.cs" />
|
<Compile Include="SexHistory\SexPartnerHistoryRecord.cs" />
|
||||||
<Compile Include="PawnRelationWorkers.cs" />
|
<Compile Include="PawnRelationWorker_Bastard.cs" />
|
||||||
<Compile Include="Keyed.cs" />
|
<Compile Include="Keyed.cs" />
|
||||||
<Compile Include="Patches\Rimworld_Patch.cs" />
|
<Compile Include="Patches\Rimworld_Patch.cs" />
|
||||||
<Compile Include="Patches\RJW_Patch.cs" />
|
<Compile Include="Patches\RJW_Patch.cs" />
|
||||||
|
|
Loading…
Reference in a new issue