Skip to content

Vanilla Genetics Expanded Hybridization

vegapnk edited this page Aug 22, 2024 · 2 revisions

Vanilla Genetics Expanded Hybridization

What ?

With settings enabled and Vanilla Genetics Expanded loaded, it is possible that bestiality pregnancies result in Vanilla Genetic Expanded Hybrids.

$Human + Dog => Dogman$

Why?

The primary motivation was to have a good way for primitive tribes to access some of the VGE features without having to play days into the lategame.

The secondary reason is because it is a bit funny.

How ?

The possible combinations are described in XML, as VGEHybridOffspringDefs with two Lists:

  • SupportedParentKindDefs any of these Parents can produce the Hybrids listed below.
  • PossibleHybridChildKindDefs different possible outcomes from the hybridization.

The final def looks like this:

<RJW_Genes.VGEHybridOffspringDefs>
        <defName>Feline_Group</defName>
	<SupportedParentKindDefs>
	        <li>Cougar</li>
		<li>Panther</li>
		<li>Lynx</li>
		<li>Cat</li>
	</SupportedParentKindDefs>
		
	<PossibleHybridChildKindDefs>
		<li>GR_Mancat</li>
		<li>GR_Catman</li>
	</PossibleHybridChildKindDefs>
</RJW_Genes.VGEHybridOffspringDefs>

So engaging with a cougar, panther, lynx or cat can result in either a ManCat or CatMan. The other parent has to be a Human.

Upon impregnation, a check is run whether:

  1. Setting is on
  2. Parents are a supported combination
  3. Hybridization-chance was met

Then, the RJW-Pregnancy is started with babies of the hybrid-type.

If there are multiple valid options defined, a random one is chosen. The chances are evenly distributed amongst all possible options, e.g. above 50% Mancat and 50% Catman.

Fertility is consider normally - if you have an infertile pawn, it won't produce hybrids (they also wouldn't produce normal babies).

Configuration

  • {Setting} On / Off
  • {Setting} Hybridization-Chance, between 0-1. 1 will always produce Hybrids, 0 will never.
  • {XML} The hybridization defs can be altered, extended or removed.

Good to know

  • The check if one parent is a human uses Rimworld.Pawn.isHuman(), so it should be able to cover HAR race, depending how they set this attribute.
  • For littered births, all children will be the same type. There won't be 2 bunnies and 1 man-bunny. This is unfortunate but coding-wise it would be very troubling to get it running like that.
  • This behaviour is triggered when the pregnancy is started. If you change your settings later, or introduce the mod later, your pregnancies will finish as they were upon conception.

Other Information

Deprecated Hybrid + Animal = Human When initially introduced, there was a option that $Dogman + Dog =&gt; Human$. This was achieved by using RaceKindDefs but I have removed those after 2.2.1 and as such its currently disabled. It is not impossible to bring this back, but this would also touch on some more mechanics so when I had to fix this I saved myself some time.

There was a major bug that made an overhaul necessary with 2.2.1, tracked in #116

I believe it would be possible to use this also to provide other race-changing things, outside of the Vanilla Genetics Expanded.

Acknowledgements

The initial implementation and Idea were from jaaldabaoth.

For the fixes in 2.2.1 ICBM16 helped a lot too with testing.

Clone this wiki locally