mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
Some documentation
This commit is contained in:
parent
70f7ce1f7d
commit
710efc7d85
2 changed files with 20 additions and 46 deletions
|
@ -14,7 +14,10 @@ namespace RJW_BGS
|
||||||
[HarmonyPatch(typeof(Hediff_BasePregnancy))]
|
[HarmonyPatch(typeof(Hediff_BasePregnancy))]
|
||||||
public class BasePregnancyPatcher
|
public class BasePregnancyPatcher
|
||||||
{
|
{
|
||||||
public static List<string> racesgen1 = new List<string>()
|
/// <summary>
|
||||||
|
/// The supported races that are produced by Vanilla Genetics Expanded, that can lead to different offsprings when in Human - Animal Sex
|
||||||
|
/// </summary>
|
||||||
|
public static List<string> firstGenerationOffspringRaces = new List<string>()
|
||||||
{
|
{
|
||||||
"GR_Manbear",
|
"GR_Manbear",
|
||||||
"GR_Bearman",
|
"GR_Bearman",
|
||||||
|
@ -36,7 +39,10 @@ namespace RJW_BGS
|
||||||
"GR_Lizardman"
|
"GR_Lizardman"
|
||||||
};
|
};
|
||||||
|
|
||||||
public static List<string> racesgen0 = new List<string>()
|
/// <summary>
|
||||||
|
/// The supported races that can produce Vanilla Genetics hybrids as Human - Animal Sex results.
|
||||||
|
/// </summary>
|
||||||
|
public static List<string> parentGenerationOffspringRaces = new List<string>()
|
||||||
{
|
{
|
||||||
"Bear_Grizzly",
|
"Bear_Grizzly",
|
||||||
"Bear_Polar",
|
"Bear_Polar",
|
||||||
|
@ -85,50 +91,18 @@ namespace RJW_BGS
|
||||||
"Tortoise"
|
"Tortoise"
|
||||||
};
|
};
|
||||||
|
|
||||||
//public static HediffDef controler = DefDatabase<HediffDef>.GetNamed("RJWGenes_AnimalControlHediff", true);
|
|
||||||
|
|
||||||
[HarmonyPostfix]
|
[HarmonyPostfix]
|
||||||
[HarmonyPatch("GenerateBabies")]
|
[HarmonyPatch("GenerateBabies")]
|
||||||
public static void AddComfortableWithHumansHediff (Hediff_BasePregnancy __instance)
|
public static void AddComfortableWithHumansHediff (Hediff_BasePregnancy __instance)
|
||||||
{
|
{
|
||||||
//if (controler == null) return;
|
foreach (Pawn baby in __instance.babies)
|
||||||
|
|
||||||
foreach (Pawn p in __instance.babies)
|
|
||||||
{
|
{
|
||||||
if(p != null)
|
if (baby != null && firstGenerationOffspringRaces.Contains(baby.kindDef.race.defName))
|
||||||
{
|
{
|
||||||
if (racesgen1.Contains(p.kindDef.race.defName))
|
baby.health.AddHediff(RJW_Genes.HediffDefOf.rjw_genes_animal_control_hediff);
|
||||||
{
|
|
||||||
p.health.AddHediff(RJW_Genes.HediffDefOf.rjw_genes_animal_control_hediff);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Error Received on 04.06.2024
|
|
||||||
* Failed to find Verse.HediffDef named RJWGenes_AnimalControlHediff. There are 446 defs of this type loaded.
|
|
||||||
UnityEngine.StackTraceUtility:ExtractStackTrace ()
|
|
||||||
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch1 (string)
|
|
||||||
Verse.DefDatabase`1<Verse.HediffDef>:GetNamed (string,bool)
|
|
||||||
RJW_BGS.BasePregnancyPatcher:.cctor ()
|
|
||||||
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:rjw.PregnancyHelper.AddPregnancyHediff_Patch1 (Verse.Pawn,Verse.Pawn)
|
|
||||||
rjw.PregnancyHelper:DoImpregnate (Verse.Pawn,Verse.Pawn)
|
|
||||||
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:rjw.PregnancyHelper.impregnate_Patch1 (rjw.SexProps)
|
|
||||||
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:rjw.JobDriver_Sex.Orgasm_Patch1 (rjw.JobDriver_Sex)
|
|
||||||
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:rjw.JobDriver_Sex.SexTick_Patch2 (rjw.JobDriver_Sex,Verse.Pawn,Verse.Thing,bool,bool)
|
|
||||||
rjw.JobDriver_Mating/<>c__DisplayClass1_0:<MakeNewToils>b__5 ()
|
|
||||||
Verse.AI.JobDriver:DriverTick ()
|
|
||||||
Verse.AI.Pawn_JobTracker:JobTrackerTick ()
|
|
||||||
Verse.Pawn:Tick ()
|
|
||||||
Verse.TickList:Tick ()
|
|
||||||
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.TickManager.DoSingleTick_Patch2 (Verse.TickManager)
|
|
||||||
Verse.TickManager:TickManagerUpdate ()
|
|
||||||
Verse.Game:UpdatePlay ()
|
|
||||||
Verse.Root_Play:Update ()
|
|
||||||
*/
|
|
|
@ -21,29 +21,29 @@ namespace RJW_BGS
|
||||||
{
|
{
|
||||||
if (!RJW_BGSSettings.rjw_bgs_VE_genetics) return true;
|
if (!RJW_BGSSettings.rjw_bgs_VE_genetics) return true;
|
||||||
if (mother == null || father == null) return true;
|
if (mother == null || father == null) return true;
|
||||||
bool a = mother.IsHuman() && BasePregnancyPatcher.racesgen0.Contains(father.kindDef.race.defName);
|
bool humanMotherAndSupportedAnimal = mother.IsHuman() && BasePregnancyPatcher.parentGenerationOffspringRaces.Contains(father.kindDef.race.defName);
|
||||||
bool b = mother.IsHuman() && BasePregnancyPatcher.racesgen1.Contains(father.kindDef.race.defName);
|
bool humanMotherAndSupportedHybrid = mother.IsHuman() && BasePregnancyPatcher.firstGenerationOffspringRaces.Contains(father.kindDef.race.defName);
|
||||||
bool c = father.IsHuman() && BasePregnancyPatcher.racesgen0.Contains(mother.kindDef.race.defName);
|
bool humanFatherAndSupportedAnimal = father.IsHuman() && BasePregnancyPatcher.parentGenerationOffspringRaces.Contains(mother.kindDef.race.defName);
|
||||||
bool d = father.IsHuman() && BasePregnancyPatcher.racesgen1.Contains(mother.kindDef.race.defName);
|
bool humanFatherAndSupportedHybrid = father.IsHuman() && BasePregnancyPatcher.firstGenerationOffspringRaces.Contains(mother.kindDef.race.defName);
|
||||||
|
|
||||||
if (!(a || b||c|| d)) return true;
|
if (!(humanMotherAndSupportedAnimal || humanMotherAndSupportedHybrid||humanFatherAndSupportedAnimal|| humanFatherAndSupportedHybrid)) return true;
|
||||||
if (a)
|
if (humanMotherAndSupportedAnimal)
|
||||||
{
|
{
|
||||||
Hediff_BasePregnancy.Create<Hediff_BestialPregnancy>(mother, father, DnaGivingParent.Father);
|
Hediff_BasePregnancy.Create<Hediff_BestialPregnancy>(mother, father, DnaGivingParent.Father);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (b)
|
else if (humanMotherAndSupportedHybrid)
|
||||||
{
|
{
|
||||||
ModLog.Message("preg hediffdefof PregnantHuman " + RimWorld.HediffDefOf.PregnantHuman);
|
ModLog.Message("preg hediffdefof PregnantHuman " + RimWorld.HediffDefOf.PregnantHuman);
|
||||||
PregnancyHelper.StartVanillaPregnancy(mother, father);
|
PregnancyHelper.StartVanillaPregnancy(mother, father);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (c)
|
else if (humanFatherAndSupportedAnimal)
|
||||||
{
|
{
|
||||||
Hediff_BasePregnancy.Create<Hediff_BestialPregnancy>(mother, father, DnaGivingParent.Mother);
|
Hediff_BasePregnancy.Create<Hediff_BestialPregnancy>(mother, father, DnaGivingParent.Mother);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (d)
|
else if (humanFatherAndSupportedHybrid)
|
||||||
{
|
{
|
||||||
Hediff_BasePregnancy.Create<Hediff_BestialPregnancy>(mother, father, DnaGivingParent.Father);
|
Hediff_BasePregnancy.Create<Hediff_BestialPregnancy>(mother, father, DnaGivingParent.Father);
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in a new issue