mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
Moved the GenderFluid Logic to be more generic
This commit is contained in:
parent
38f2470b90
commit
b56c0105a6
7 changed files with 28 additions and 31 deletions
|
@ -65,10 +65,10 @@
|
||||||
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
||||||
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
||||||
</li>
|
</li>
|
||||||
<li Class="RJW_Genes.GenderFluidExtension">
|
<li Class="RJW_Genes.TickBasedChanceExtension">
|
||||||
<!-- 120k = 2 days -->
|
<!-- 120k = 2 days -->
|
||||||
<changeInterval>120000</changeInterval>
|
<tickInterval>120000</tickInterval>
|
||||||
<changeChance>0.25</changeChance>
|
<eventChance>0.25</eventChance>
|
||||||
</li>
|
</li>
|
||||||
</modExtensions>
|
</modExtensions>
|
||||||
</GeneDef>
|
</GeneDef>
|
||||||
|
|
18
Source/Common/Defs/TickBasedChanceExtension.cs
Normal file
18
Source/Common/Defs/TickBasedChanceExtension.cs
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Verse;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
public class TickBasedChanceExtension : TickIntervalExtension
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 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 eventChance;
|
||||||
|
}
|
||||||
|
}
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -39,9 +39,9 @@ namespace RJW_Genes
|
||||||
private bool sexChangeWasBlocked = false;
|
private bool sexChangeWasBlocked = false;
|
||||||
|
|
||||||
public Gene_GenderFluid() : base() {
|
public Gene_GenderFluid() : base() {
|
||||||
GenderFluidExtension genderFluidExt = GeneDefOf.rjw_genes_gender_fluid.GetModExtension<GenderFluidExtension>();
|
TickBasedChanceExtension tickbasedChanceExt = GeneDefOf.rjw_genes_gender_fluid.GetModExtension<TickBasedChanceExtension>();
|
||||||
change_interval = genderFluidExt?.changeInterval ?? CHANGE_INTERVAL_FALLBACK;
|
change_interval = tickbasedChanceExt?.tickInterval ?? CHANGE_INTERVAL_FALLBACK;
|
||||||
switch_chance = genderFluidExt?.changeChance ?? SWITCH_CHANCE_FALLBACK;
|
switch_chance = tickbasedChanceExt?.eventChance ?? SWITCH_CHANCE_FALLBACK;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Tick()
|
public override void Tick()
|
|
@ -58,6 +58,7 @@
|
||||||
<Compile Include="Animal_Inheritance\Defs\BestialityGeneInheritanceDef.cs" />
|
<Compile Include="Animal_Inheritance\Defs\BestialityGeneInheritanceDef.cs" />
|
||||||
<Compile Include="Common\Defs\DistanceExtension.cs" />
|
<Compile Include="Common\Defs\DistanceExtension.cs" />
|
||||||
<Compile Include="Common\Defs\ModExtensionHelper.cs" />
|
<Compile Include="Common\Defs\ModExtensionHelper.cs" />
|
||||||
|
<Compile Include="Common\Defs\TickBasedChanceExtension.cs" />
|
||||||
<Compile Include="Common\Either.cs" />
|
<Compile Include="Common\Either.cs" />
|
||||||
<Compile Include="Common\Helpers\LaborState.cs" />
|
<Compile Include="Common\Helpers\LaborState.cs" />
|
||||||
<Compile Include="Common\Helpers\MapUtility.cs" />
|
<Compile Include="Common\Helpers\MapUtility.cs" />
|
||||||
|
@ -88,8 +89,7 @@
|
||||||
<Compile Include="Genes\Breeding\Patches\PatchMechBirth.cs" />
|
<Compile Include="Genes\Breeding\Patches\PatchMechBirth.cs" />
|
||||||
<Compile Include="Genes\ExtraGenitalia\Gene_Femboy.cs" />
|
<Compile Include="Genes\ExtraGenitalia\Gene_Femboy.cs" />
|
||||||
<Compile Include="Genes\ExtraGenitalia\Gene_UdderBreasts.cs" />
|
<Compile Include="Genes\ExtraGenitalia\Gene_UdderBreasts.cs" />
|
||||||
<Compile Include="Genes\Gender\Defs\GenderFluidExtension.cs" />
|
<Compile Include="Genes\Gender\Genes\Gene_GenderFluid.cs" />
|
||||||
<Compile Include="Genes\Gender\Gene_GenderFluid.cs" />
|
|
||||||
<Compile Include="Genes\GenitaliaSize\Gene_EvergrowingGenitalia.cs" />
|
<Compile Include="Genes\GenitaliaSize\Gene_EvergrowingGenitalia.cs" />
|
||||||
<Compile Include="Genes\Cum\CumUtility.cs" />
|
<Compile Include="Genes\Cum\CumUtility.cs" />
|
||||||
<Compile Include="Genes\Cum\Gene_VeryMuchCum.cs" />
|
<Compile Include="Genes\Cum\Gene_VeryMuchCum.cs" />
|
||||||
|
@ -109,8 +109,8 @@
|
||||||
<Compile Include="Genes\ExtraGenitalia\Gene_NoPenis.cs" />
|
<Compile Include="Genes\ExtraGenitalia\Gene_NoPenis.cs" />
|
||||||
<Compile Include="Genes\ExtraGenitalia\Gene_ExtraPenis.cs" />
|
<Compile Include="Genes\ExtraGenitalia\Gene_ExtraPenis.cs" />
|
||||||
<Compile Include="Genes\Gender\GenderUtility.cs" />
|
<Compile Include="Genes\Gender\GenderUtility.cs" />
|
||||||
<Compile Include="Genes\Gender\Gene_FemaleOnly.cs" />
|
<Compile Include="Genes\Gender\Genes\Gene_FemaleOnly.cs" />
|
||||||
<Compile Include="Genes\Gender\Gene_MaleOnly.cs" />
|
<Compile Include="Genes\Gender\Genes\Gene_MaleOnly.cs" />
|
||||||
<Compile Include="Genes\GeneUtility.cs" />
|
<Compile Include="Genes\GeneUtility.cs" />
|
||||||
<Compile Include="Genes\GenitaliaSize\Gene_BigBreasts.cs" />
|
<Compile Include="Genes\GenitaliaSize\Gene_BigBreasts.cs" />
|
||||||
<Compile Include="Genes\GenitaliaSize\Gene_GenitaliaResizingGene.cs" />
|
<Compile Include="Genes\GenitaliaSize\Gene_GenitaliaResizingGene.cs" />
|
||||||
|
@ -241,7 +241,6 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Genes\Diseases\Genes\" />
|
<Folder Include="Genes\Diseases\Genes\" />
|
||||||
<Folder Include="Genes\Gender\Patches\" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<WCFMetadata Include="Connected Services\" />
|
<WCFMetadata Include="Connected Services\" />
|
||||||
|
|
Loading…
Reference in a new issue