mirror of
https://gitgud.io/lutepickle/rjw_menstruation.git
synced 2024-08-14 22:46:52 +00:00
Compare commits
4 commits
3b9d6c5bc9
...
ff62682729
Author | SHA1 | Date | |
---|---|---|---|
|
ff62682729 | ||
|
ad7919a25b | ||
|
d4f8312cee | ||
|
b5705ccbd9 |
8 changed files with 89 additions and 3 deletions
Binary file not shown.
|
@ -91,6 +91,48 @@
|
|||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<ThingDef ParentName="MakeableDrugPillBase">
|
||||
<defName>Doublex</defName>
|
||||
<label>doublex</label>
|
||||
<description>Glittertech drug that causes fertilized eggs to produce enzygotic twins.</description>
|
||||
<graphicData>
|
||||
<texPath>Things/Item/SIA</texPath>
|
||||
<graphicClass>Graphic_StackCount</graphicClass>
|
||||
</graphicData>
|
||||
<rotatable>false</rotatable>
|
||||
<statBases>
|
||||
<WorkToMake>800</WorkToMake>
|
||||
<MarketValue>250</MarketValue>
|
||||
<Mass>0.01</Mass>
|
||||
</statBases>
|
||||
<techLevel>Ultra</techLevel>
|
||||
<ingestible>
|
||||
<drugCategory>Medical</drugCategory>
|
||||
<outcomeDoers>
|
||||
<li Class="IngestionOutcomeDoer_GiveHediff">
|
||||
<hediffDef>Hediff_Doublex</hediffDef>
|
||||
<severity>1.0</severity>
|
||||
</li>
|
||||
</outcomeDoers>
|
||||
</ingestible>
|
||||
<recipeMaker>
|
||||
<researchPrerequisite>DrugProduction</researchPrerequisite>
|
||||
<recipeUsers>
|
||||
<li>DrugLab</li>
|
||||
</recipeUsers>
|
||||
</recipeMaker>
|
||||
<costList>
|
||||
<MedicineUltratech>3</MedicineUltratech>
|
||||
<Neutroamine>2</Neutroamine>
|
||||
</costList>
|
||||
<comps>
|
||||
<li Class="CompProperties_Drug">
|
||||
<addictiveness>0</addictiveness>
|
||||
<listOrder>1000</listOrder>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<ThingDef ParentName="MakeableDrugPillBase">
|
||||
<defName>PainReliever</defName>
|
||||
<label>Pain reliever</label>
|
||||
|
|
|
@ -164,6 +164,32 @@
|
|||
</comps>
|
||||
</HediffDef>
|
||||
|
||||
|
||||
<HediffDef Name="Hediff_Doublex">
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<defName>Hediff_Doublex</defName>
|
||||
<label>Doublex</label>
|
||||
<labelNoun>doublex</labelNoun>
|
||||
<description>Ultratech drug that causes fertilized eggs to split resulting in identical twins.</description>
|
||||
<defaultLabelColor>(0.75,0.75,1.0)</defaultLabelColor>
|
||||
<isBad>false</isBad>
|
||||
<tendable>false</tendable>
|
||||
<makesSickThought>false</makesSickThought>
|
||||
<makesAlert>false</makesAlert>
|
||||
<maxSeverity>5</maxSeverity>
|
||||
<initialSeverity>1.0</initialSeverity>
|
||||
<stages>
|
||||
<li>
|
||||
<becomeVisible>true</becomeVisible>
|
||||
</li>
|
||||
</stages>
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_SeverityPerDay">
|
||||
<severityPerDay>-0.5</severityPerDay>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
|
||||
|
||||
<HediffDef Name="Hediff_PainReliever">
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
|
|
|
@ -1429,7 +1429,9 @@ namespace RJW_Menstruation
|
|||
pregnancy = HediffMaker.MakeHediff(HediffDefOf.PregnantHuman, Pawn);
|
||||
if (Configurations.EnableBiotechTwins)
|
||||
pregnancy.TryGetComp<HediffComp_PregeneratedBabies>().AddNewBaby(Pawn, egg.fertilizer);
|
||||
((Hediff_Pregnant)pregnancy).SetParents(Pawn, egg.fertilizer, PregnancyUtility.GetInheritedGeneSet(egg.fertilizer, Pawn));
|
||||
Pawn father = egg.fertilizer;
|
||||
if (Pawn == father) father = null;
|
||||
((Hediff_Pregnant)pregnancy).SetParents(Pawn, father, PregnancyUtility.GetInheritedGeneSet(father, Pawn));
|
||||
Pawn.health.AddHediff(pregnancy);
|
||||
pregnant = true;
|
||||
deadeggs.Add(egg);
|
||||
|
|
|
@ -234,6 +234,7 @@ namespace RJW_Menstruation
|
|||
{
|
||||
Pawn baby = comp.PeekBaby();
|
||||
Pawn thisFather = baby.GetFather() ?? father;
|
||||
if (thisFather == geneticMother || thisFather == mother) thisFather = null;
|
||||
baby.relations.ClearAllRelations(); // To keep ApplyBirthOutcome from erroring when it tries to set up relations
|
||||
|
||||
PregnancyUtility.ApplyBirthOutcome_NewTemp(thisOutcome, quality, ritual, genes, geneticMother, birtherThing, thisFather, doctor, lordJobRitual, assignments, preventLetter);
|
||||
|
@ -293,6 +294,7 @@ namespace RJW_Menstruation
|
|||
{
|
||||
Pawn baby = comp.PeekBaby();
|
||||
Pawn thisFather = baby.GetFather() ?? father;
|
||||
if (thisFather == geneticMother || thisFather == mother) thisFather = null;
|
||||
baby.relations.ClearAllRelations();
|
||||
|
||||
PregnancyUtility.ApplyBirthOutcome(outcome, quality, ritual, genes, geneticMother, birtherThing, thisFather, doctor, lordJobRitual, assignments);
|
||||
|
|
|
@ -320,7 +320,20 @@ namespace RJW_Menstruation
|
|||
Pawn firstbaby = null;
|
||||
int traitSeed = Rand.Int;
|
||||
List<Trait> 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);
|
||||
|
|
|
@ -22,6 +22,7 @@ namespace RJW_Menstruation
|
|||
public static readonly HediffDef Hediff_Estrus_Concealed = DefDatabase<HediffDef>.GetNamed("Hediff_Estrus_Concealed");
|
||||
public static readonly HediffDef Hediff_AffectedByPheromones = DefDatabase<HediffDef>.GetNamed("Hediff_AffectedByPheromones");
|
||||
public static readonly HediffDef Hediff_ASA = DefDatabase<HediffDef>.GetNamed("Hediff_ASA");
|
||||
public static readonly HediffDef Hediff_Doublex = DefDatabase<HediffDef>.GetNamed("Hediff_Doublex");
|
||||
public static readonly StatDef MaxAbsorbable = DefDatabase<StatDef>.GetNamed("MaxAbsorbable");
|
||||
public static readonly NeedDef SexNeed = DefDatabase<NeedDef>.GetNamed("Sex");
|
||||
public static readonly JobDef VaginaWashing = DefDatabase<JobDef>.GetNamed("VaginaWashing");
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Manifest>
|
||||
<identifier>RJW Menstruation</identifier>
|
||||
<version>1.5.0.1</version>
|
||||
<version>1.5.0.2</version>
|
||||
<dependencies>
|
||||
</dependencies>
|
||||
<incompatibleWith />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue