diff --git a/Assemblies/RJW_BGS.dll b/Assemblies/RJW_BGS.dll
index f40d0c8..4e04c9b 100644
Binary files a/Assemblies/RJW_BGS.dll and b/Assemblies/RJW_BGS.dll differ
diff --git a/Defs/RaceGeneDefs/RaceGeneDefs _template.xml b/Defs/RaceGeneDefs/RaceGeneDefs _template.xml
index 5402ef1..bce3870 100644
--- a/Defs/RaceGeneDefs/RaceGeneDefs _template.xml
+++ b/Defs/RaceGeneDefs/RaceGeneDefs _template.xml
@@ -11,7 +11,7 @@
- For more direct control you can use raceNames directly.
+ For more direct control you can use raceNames directly. Use the defName of the animal. Can also use modded animals.
@@ -25,7 +25,7 @@
Ears_Floppy
- The genes which may be inherited.
+ The genes which may be inherited. Use the defName of the gene, you can also add modded genes.
0.9
diff --git a/Source/RJW_BGS/.vs/RJW_BGS/FileContentIndex/6df2cac7-ead0-46d6-a3ec-96409da0265f.vsidx b/Source/RJW_BGS/.vs/RJW_BGS/FileContentIndex/6df2cac7-ead0-46d6-a3ec-96409da0265f.vsidx
new file mode 100644
index 0000000..315e6e1
Binary files /dev/null and b/Source/RJW_BGS/.vs/RJW_BGS/FileContentIndex/6df2cac7-ead0-46d6-a3ec-96409da0265f.vsidx differ
diff --git a/Source/RJW_BGS/.vs/RJW_BGS/FileContentIndex/97073d42-2b1b-48a5-b89f-1ebdd30832ed.vsidx b/Source/RJW_BGS/.vs/RJW_BGS/FileContentIndex/97073d42-2b1b-48a5-b89f-1ebdd30832ed.vsidx
deleted file mode 100644
index d961e0d..0000000
Binary files a/Source/RJW_BGS/.vs/RJW_BGS/FileContentIndex/97073d42-2b1b-48a5-b89f-1ebdd30832ed.vsidx and /dev/null differ
diff --git a/Source/RJW_BGS/.vs/RJW_BGS/v17/.suo b/Source/RJW_BGS/.vs/RJW_BGS/v17/.suo
index c3e83ea..16460ae 100644
Binary files a/Source/RJW_BGS/.vs/RJW_BGS/v17/.suo and b/Source/RJW_BGS/.vs/RJW_BGS/v17/.suo differ
diff --git a/Source/RJW_BGS/InheritanceUtility.cs b/Source/RJW_BGS/InheritanceUtility.cs
index c6dda12..12bfa68 100644
--- a/Source/RJW_BGS/InheritanceUtility.cs
+++ b/Source/RJW_BGS/InheritanceUtility.cs
@@ -12,51 +12,36 @@ namespace RJW_BGS
{
public static List AnimalInheritedGenes(Pawn father, Pawn mother)
{
+ //One parent must be an animal and the other must be human, so only one needs to return
List genelist = new List();
if (father != null && !father.RaceProps.Humanlike)
{
- PawnKindDef pawnKindDef = father.kindDef;
- RaceGeneDef raceGeneDef = RJWcopy.GetRaceGenDefInternal(pawnKindDef);
- if (raceGeneDef != null)
- {
- GeneDef gene = null;
- //In case you hit a modded gene not currently active try again.
- for (int i = 0; i < 50 || gene == null; i++)
- {
- if (raceGeneDef.genes.Any())
- {
- gene = DefDatabase.GetNamed(raceGeneDef.genes.RandomElement());
- }
- }
- if (gene != null)
- {
- genelist.Add(gene);
- }
- }
+ return SelectGenes(father);
}
if (mother != null && !mother.RaceProps.Humanlike)
{
- PawnKindDef pawnKindDef = mother.kindDef;
- RaceGeneDef raceGeneDef = RJWcopy.GetRaceGenDefInternal(pawnKindDef);
- if (raceGeneDef != null)
- {
- GeneDef gene = null;
+ return SelectGenes(mother);
+ //PawnKindDef pawnKindDef = mother.kindDef;
+ //RaceGeneDef raceGeneDef = RJWcopy.GetRaceGenDefInternal(pawnKindDef);
+ //if (raceGeneDef != null)
+ //{
+ // GeneDef gene = null;
//In case you hit a modded gene not currently active try again.
- for (int i = 0; i < 50 || gene == null; i++)
- {
- if (raceGeneDef.genes.Any())
- {
- gene = DefDatabase.GetNamed(raceGeneDef.genes.RandomElement());
- }
- }
- if (gene != null)
- {
- genelist.Add(gene);
-
- }
-
- }
+ // for (int i = 0; i < 50 || gene == null; i++)
+ // {
+ // if (raceGeneDef.genes.Any())
+ // {
+ // gene = DefDatabase.GetNamed(raceGeneDef.genes.RandomElement());
+ // }
+ // }
+ // if (gene != null)
+ // {
+ // genelist.Add(gene);
+//
+ // }
+ //
+ // }
}
return genelist;
}
diff --git a/Source/RJW_BGS/obj/Debug/RJW_BGS.dll b/Source/RJW_BGS/obj/Debug/RJW_BGS.dll
index f40d0c8..4e04c9b 100644
Binary files a/Source/RJW_BGS/obj/Debug/RJW_BGS.dll and b/Source/RJW_BGS/obj/Debug/RJW_BGS.dll differ