diff --git a/1.5/Assemblies/RJW_Menstruation.dll b/1.5/Assemblies/RJW_Menstruation.dll index 5ab577b..2efb79c 100644 Binary files a/1.5/Assemblies/RJW_Menstruation.dll and b/1.5/Assemblies/RJW_Menstruation.dll differ diff --git a/1.5/Defs/Drugs/Pills_Menstruation.xml b/1.5/Defs/Drugs/Pills_Menstruation.xml index 9f65c17..e8077c0 100644 --- a/1.5/Defs/Drugs/Pills_Menstruation.xml +++ b/1.5/Defs/Drugs/Pills_Menstruation.xml @@ -91,6 +91,48 @@ + + Doublex + + Glittertech drug that causes fertilized eggs to produce enzygotic twins. + + Things/Item/SIA + Graphic_StackCount + + false + + 800 + 250 + 0.01 + + Ultra + + Medical + +
  • + Hediff_Doublex + 1.0 +
  • +
    +
    + + DrugProduction + +
  • DrugLab
  • +
    +
    + + 3 + 2 + + +
  • + 0 + 1000 +
  • +
    +
    + PainReliever diff --git a/1.5/Defs/HediffDef/Hediffs_Menstruation.xml b/1.5/Defs/HediffDef/Hediffs_Menstruation.xml index 7fe11f7..7da31c8 100644 --- a/1.5/Defs/HediffDef/Hediffs_Menstruation.xml +++ b/1.5/Defs/HediffDef/Hediffs_Menstruation.xml @@ -164,6 +164,32 @@ + + + HediffWithComps + Hediff_Doublex + + doublex + Ultratech drug that causes fertilized eggs to split resulting in identical twins. + (0.75,0.75,1.0) + false + false + false + false + 5 + 1.0 + +
  • + true +
  • +
    + +
  • + -0.5 +
  • +
    +
    + HediffWithComps diff --git a/1.5/source/RJW_Menstruation/RJW_Menstruation/Compatibility/VECompatibility.cs b/1.5/source/RJW_Menstruation/RJW_Menstruation/Compatibility/VECompatibility.cs index b8ab374..d3ce92f 100644 --- a/1.5/source/RJW_Menstruation/RJW_Menstruation/Compatibility/VECompatibility.cs +++ b/1.5/source/RJW_Menstruation/RJW_Menstruation/Compatibility/VECompatibility.cs @@ -8,7 +8,7 @@ namespace RJW_Menstruation { public static ThingDef VEGeneBloodDef(Pawn pawn) { - if (!ModsConfig.BiotechActive) return null; + if (!ModsConfig.BiotechActive || pawn.genes == null) return null; foreach(Gene gene in pawn.genes.GenesListForReading.Where(gene => gene.Active)) { ThingDef bloodDef = gene.def.GetModExtension()?.customBloodThingDef; diff --git a/1.5/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs b/1.5/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs index e8d6939..a65f73a 100644 --- a/1.5/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs +++ b/1.5/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs @@ -320,7 +320,20 @@ namespace RJW_Menstruation Pawn firstbaby = null; int traitSeed = Rand.Int; List parentTraits = GetInheritableTraits(mother, father); - while (Rand.Chance(Configurations.EnzygoticTwinsChance) && division < Configurations.MaxEnzygoticTwins) division++; + + //TODO: turn this into a proper function that can handle genes, fertility boosts, genital type effects etc. + float eTwinChance = Configurations.EnzygoticTwinsChance; + //Log.Message($"RJW_Menstration :: Configurations.EnzygoticTwinsChance = {Configurations.EnzygoticTwinsChance}"); + if (mother.health.hediffSet.HasHediff(VariousDefOf.Hediff_Doublex)) + { + division++; + eTwinChance = eTwinChance + (1 - eTwinChance) / 4; + } + + //Log.Message($"RJW_Menstration :: TwinChance = {eTwinChance}"); + while (Rand.Chance(eTwinChance) && division < Configurations.MaxEnzygoticTwins) division++; + //Log.Message($"RJW_Menstration :: division = {division}"); + for (int i = 0; i < division; i++) { Pawn baby = GenerateBaby(request, mother, father, parentTraits, traitSeed); diff --git a/1.5/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs b/1.5/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs index 997db3c..7884cde 100644 --- a/1.5/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs +++ b/1.5/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs @@ -22,6 +22,7 @@ namespace RJW_Menstruation public static readonly HediffDef Hediff_Estrus_Concealed = DefDatabase.GetNamed("Hediff_Estrus_Concealed"); public static readonly HediffDef Hediff_AffectedByPheromones = DefDatabase.GetNamed("Hediff_AffectedByPheromones"); public static readonly HediffDef Hediff_ASA = DefDatabase.GetNamed("Hediff_ASA"); + public static readonly HediffDef Hediff_Doublex = DefDatabase.GetNamed("Hediff_Doublex"); public static readonly StatDef MaxAbsorbable = DefDatabase.GetNamed("MaxAbsorbable"); public static readonly NeedDef SexNeed = DefDatabase.GetNamed("Sex"); public static readonly JobDef VaginaWashing = DefDatabase.GetNamed("VaginaWashing"); diff --git a/About/Manifest.xml b/About/Manifest.xml index f5eabfc..9d624d9 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@ RJW Menstruation - 1.5.0.0 + 1.5.0.1 diff --git a/changelogs.txt b/changelogs.txt index cbe7819..d246726 100644 --- a/changelogs.txt +++ b/changelogs.txt @@ -1,3 +1,6 @@ +Version 1.5.0.1 + - Fix error getting blood color of pawns without genes. + Version 1.5.0.0 - Support for RimWorld 1.5. All future changes to Menstruation will only be for RimWorld 1.5. - Updated Traditional Chinese translation by Hydrogen.