Added animal inheritance to RJW-genes code

This commit is contained in:
Shabakur 2022-12-01 15:29:26 +01:00
parent b5033deef6
commit 33a37f26de
17 changed files with 821 additions and 9 deletions

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<RJW_BGS.RaceGeneDef ParentName="Slime_base">
<defName>AA_Aerofleet</defName>
<raceNames>
<li>AA_Aerofleet</li>
<li>AA_ColossalAerofleet</li>
</raceNames>
<genes>
<li>AG_BlueGelProduction</li>
<li>AG_GasBags</li>
<li>AG_AerofleetHead</li>
<li>AG_SlimeBody</li>
</genes>
<genechances>
<li>0.25</li>
<li>0.25</li>
<li>0.25</li>
<li>0.25</li>
</genechances>
</RJW_BGS.RaceGeneDef>
</Defs>

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<RJW_BGS.RaceGeneDef ParentName="Insect_base" Name="AA_lisks_base" Abstract="True">
<defName>AA_lisks_base</defName>
<!-- <raceNames>
<li>AA_Animalisk</li>
<li>AA_Blizzarisk</li>
<li>AA_Cinderlisk</li>
<li>AA_Dunealisk</li>
<li>AA_Feralisk</li>
<li>AA_Junglelisk</li>
</raceNames> -->
<genes>
<li>AG_Spinnerets</li>
<li>AG_EggLaying</li>
<li>AG_FeraliskEyes</li>
</genes>
<genechances>
<li>0.25</li>
<li>0.25</li>
<li>0.25</li>
</genechances>
</RJW_BGS.RaceGeneDef>
<RJW_BGS.RaceGeneDef ParentName="AA_lisks_base">
<defName>AA_Animalisk</defName>
<raceNames>
<li>AA_Animalisk</li>
</raceNames>
<genes>
<li>PsychicAbility_Enhanced</li>
<li>PsychicAbility_Extreme</li>
</genes>
<genechances>
<li>0.8</li>
<li>0.2</li>
</genechances>
</RJW_BGS.RaceGeneDef>
<RJW_BGS.RaceGeneDef ParentName="AA_lisks_base">
<defName>AA_Blizzarisk</defName>
<raceNames>
<li>AA_Blizzarisk</li>
</raceNames>
<genes>
<li>MaxTemp_SmallDecrease</li>
<li>MinTemp_SmallDecrease</li>
<li>MinTemp_LargeDecrease</li>
</genes>
<genechances>
<li>0.8</li>
<li>0.8</li>
<li>0.2</li>
</genechances>
</RJW_BGS.RaceGeneDef>
<RJW_BGS.RaceGeneDef ParentName="AA_lisks_base">
<defName>AA_Hotlisk</defName>
<raceNames>
<li>AA_Cinderlisk</li>
<li>AA_Dunealisk</li>
</raceNames>
<genes>
<li>MinTemp_SmallIncrease</li>
<li>MaxTemp_SmallIncrease</li>
<li>MaxTemp_LargeIncrease</li>
</genes>
<genechances>
<li>0.8</li>
<li>0.8</li>
<li>0.2</li>
</genechances>
</RJW_BGS.RaceGeneDef>
<RJW_BGS.RaceGeneDef ParentName="AA_lisks_base">
<defName>AA_Normallisk</defName>
<raceNames>
<li>AA_Feralisk</li>
<li>AA_Junglelisk</li>
</raceNames>
</RJW_BGS.RaceGeneDef>
</Defs>

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<RJW_BGS.RaceGeneDef>
<defName>AA_Wildpodgroup</defName>
<raceNames>
<li>AA_Wildpod</li>
<li>AA_Wildpawn</li>
<li>AA_Agaripawn</li>
<li>AA_Agaripod</li>
</raceNames>
<genes>
<li>AG_FungalSkin</li>
<li>MoveSpeed_Slow</li>
<li>FireWeakness</li>
<li>FireTerror</li>
<li>Robust</li>
<li>Unstoppable</li>
</genes>
<genechances>
<li>0.15</li>
<li>0.25</li>
<li>0.25</li>
<li>0.25</li>
<li>0.25</li>
<li>0.25</li>
</genechances>
</RJW_BGS.RaceGeneDef>
</Defs>

View file

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<RJW_BGS.RaceGeneDef Name = "Canine">
<defName>Canine</defName>
<raceGroup>Canine_Group</raceGroup>
<genes>
<li>Ears_Floppy</li>
</genes>
<genechances>
<li>0.9</li>
</genechances>
</RJW_BGS.RaceGeneDef>
<!-- You can use parents to have animals get specific genes in addition to the group.
<RJW_BGS.RaceGeneDef ParentName = "Canine">
<defName>Warg</defName>
<raceNames>
<li>Warg</li>
</raceNames>
<genes>
<li>DarkVision</li>
</genes>
<genechances>
<li>0.9</li>
</genechances>
</RJW_BGS.RaceGeneDef>
-->
<RJW_BGS.RaceGeneDef>
<defName>Insect</defName>
<raceGroup>Insect_Group</raceGroup>
<genes>
<li>Beauty_Ugly</li>
</genes>
<genechances>
<li>0.5</li>
</genechances>
</RJW_BGS.RaceGeneDef>
<RJW_BGS.RaceGeneDef>
<defName>Feline</defName>
<raceGroup>Feline_Group</raceGroup>
<genes>
<li>Ears_Cat</li>
<li>Sleepy</li>
<li>DarkVision</li>
</genes>
<genechances>
<li>0.9</li>
<li>0.25</li>
<li>0.25</li>
</genechances>
</RJW_BGS.RaceGeneDef>
<!--
<RJW_BGS.RaceGeneDef>
<defName>Equine</defName>
<raceGroup>Equine_Group</raceGroup>
<genes>
<li>Ears_Floppy</li>
</genes>
<genechances>
<li>10</li>
</genechances>
</RJW_BGS.RaceGeneDef>
-->
<RJW_BGS.RaceGeneDef>
<defName>Dragon</defName>
<raceGroup>Dragon_Group</raceGroup>
<genes>
<li>Unstoppable</li>
<li>Headbone_CenterHorn</li>
</genes>
<genechances>
<li>0.25</li>
<li>0.9</li>
</genechances>
</RJW_BGS.RaceGeneDef>
<RJW_BGS.RaceGeneDef>
<defName>Rodent</defName>
<raceGroup>Rodent_Group</raceGroup>
<genes>
<li>Fertile</li>
</genes>
<genechances>
<li>0.25</li>
</genechances>
</RJW_BGS.RaceGeneDef>
<RJW_BGS.RaceGeneDef>
<defName>Racoon</defName>
<raceGroup>Raccon_Group</raceGroup>
<genes>
<li>StrongStomach</li>
</genes>
<genechances>
<li>0.5</li>
</genechances>
</RJW_BGS.RaceGeneDef>
<!--
<RJW_BGS.RaceGeneDef>
<defName>Needle</defName>
<raceGroup>Needle_Group</raceGroup>
<genes>
<li>Ears_Floppy</li>
</genes>
<genechances>
<li>10</li>
</genechances>
</RJW_BGS.RaceGeneDef>
-->
<!--
<RJW_BGS.RaceGeneDef>
<defName>Hemi</defName>
<raceGroup>Hemi_Group</raceGroup>
<genes>
<li>Ears_Floppy</li>
</genes>
<genechances>
<li>10</li>
</genechances>
</RJW_BGS.RaceGeneDef>
-->
</Defs>

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<RJW_BGS.RaceGeneDef Name="Insect_base" Abstract="True">
<defName>Insect_base</defName>
<genes>
<li>AG_InsectBlood</li>
<li>rjw_genes_ovipositor_genitalia</li>
</genes>
<genechances>
<li>0.5</li>
<li>0.5</li>
</genechances>
</RJW_BGS.RaceGeneDef>
<RJW_BGS.RaceGeneDef Name="Slime_base" Abstract="True">
<defName>Slime_base</defName>
<genes>
<li>AG_SlimeBlood</li>
<li>rjw_genes_slime_genitalia</li>
</genes>
<genechances>
<li>0.5</li>
<li>0.5</li>
</genechances>
</RJW_BGS.RaceGeneDef>
</Defs>

View file

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<!--
<RJW_BGS.RaceGeneDef>
<defName>Canine</defName>
defName can be anything you want, as long as it is unique
<raceGroup>Canine_Group</raceGroup>
RJW.Racegroupdef, all animals in the raceGroup will be part of this group, RJW race support uses this so those can be used to quickly add a group
<raceNames>
<li> </li>
</raceNames>
For more direct control you can use raceNames directly. Use the defName of the animal. Can also use modded animals.
<pawnKindNames>
<li> </li>
</pawnKindNames>
For even more direct control you can use pawnKindNames.
The RaceGeneDef for an animal will first be decided by if it is in the pawnkindNames, after that racenames and lastly racegroup,
so if there is for a wolf a RaceGeneDef with the canine group and a second which has wolf under raceNames it will always use the second one to determine
which genes can be inherited
<genes>
<li>Ears_Floppy</li>
</genes>
The genes which may be inherited. Use the defName of the gene, you can also add modded genes.
<genechances>
<li>0.9</li>
</genechances>
WIP, the chance of each gene to be inherited. Is in same order as genes, so for the second gene the chance to inherit is based on the second line in geweights.
</RJW_BGS.RaceGeneDef>
-->
</Defs>