Moved the GenderFluid Logic to be more generic

This commit is contained in:
Vegapnk 2024-07-03 11:41:24 +02:00
parent 38f2470b90
commit b56c0105a6
7 changed files with 28 additions and 31 deletions

View file

@ -1,20 +0,0 @@
using Verse;
namespace RJW_Genes
{
public class GenderFluidExtension : DefModExtension
{
/// <summary>
/// Number of ticks until the change can be triggered.
/// Just being "triggered" does not mean changing, see the changeChance below.
/// </summary>
public int changeInterval;
/// <summary>
/// How high is the chance to change gender?
/// Set to 1 for "always", set to 0 for "never".
/// Everything else is a bit statistics, but e.g. when set to .5 the chances grow per day from [50%, 75%, 82.25%, ...]
/// </summary>
public float changeChance;
}
}

View file

@ -39,9 +39,9 @@ namespace RJW_Genes
private bool sexChangeWasBlocked = false;
public Gene_GenderFluid() : base() {
GenderFluidExtension genderFluidExt = GeneDefOf.rjw_genes_gender_fluid.GetModExtension<GenderFluidExtension>();
change_interval = genderFluidExt?.changeInterval ?? CHANGE_INTERVAL_FALLBACK;
switch_chance = genderFluidExt?.changeChance ?? SWITCH_CHANCE_FALLBACK;
TickBasedChanceExtension tickbasedChanceExt = GeneDefOf.rjw_genes_gender_fluid.GetModExtension<TickBasedChanceExtension>();
change_interval = tickbasedChanceExt?.tickInterval ?? CHANGE_INTERVAL_FALLBACK;
switch_chance = tickbasedChanceExt?.eventChance ?? SWITCH_CHANCE_FALLBACK;
}
public override void Tick()