Genes - KonradHeinser/EBSGFramework GitHub Wiki

Despite genes being the main thing I work with, and being part of the framework's title, this is probably the most simple section in the wiki. Not all of these use special gene classes, so it's possible to use some of these in genes that require classes.

  • Abilities From Other Genes : Genes that grant abilities based on certain genes that the pawn does or does not have
  • Additional Fertility by Age : Adds an additional multiplier to fertility based on more curves. Read Fertility by Age first
  • Additional Lovin' Results : Gene extension that allows you to give pawns additional hediffs when they finish lovin', along with allowing you to spawn things around them
  • Aging Xenotype : Gene class that causes a pawn's xenotype to change when they reach a certain age
  • Biome Genes : Genes that apply effects based on the environment
  • Butchery Changing Genes : Alters what the pawn produces when butchered
  • Coma Rest Genes : Create genes similar to deathrest
  • Conflicting Genes : Tag in the EBSG Extension which allows for making genes conflict with specific genes without making a dedicated exclusion tag
  • Customizable Bloodclotting : Create bloodclotting variants with different intervals and tend quality than the normal one
  • Damage Modifying Stats Extension : Alters outgoing and incoming damage based on the stats of the attacker and/or the victim. Can be attached to genes, weapons, pawn races, and pawn kinds
  • Dynamic Resource Genes : Create basic resource genes similar to the Hemogenic one without having to learn C#
  • EBSG Body : Mod extension / render node worker that can be added to genes to replace the desiccated body/head, or to set up body/head graphics based on age
  • Evolving Genes : Gene class that checks various conditions every hour to try to change itself
  • Fertility by Age : Makes it so the pawn uses these curves for their fertility instead of the normal one. HAR compatibility is unknown
  • Genetic Romance Chance : Multiplies the chances of a pawn romancing another by specified stats
  • Hediff Adder : Class for adding hediffs that I made after encountering a major issue with VFE's
  • Hediff on Consumption : Adds certain hediffs to a pawn when they consume certain things
  • Hediffs at Age : While the gene is active the pawn gains specific hediffs based on their age
  • Hide Inactive : Allows for hiding individual genes when they are inactive, or for making xenotypes hide their inactive genes, either in bulk or just the hair and/or skin color genes
  • Hive Mind Genes : Create hive minds that apply various hediffs based on the roles found in the hive
  • Inactive at Age : When the pawn passes the specified age the gene become inactive
  • Ingestible Dependency Genes : Create dependency on any ingestible thing. This accepts both thing defs and thing categories, and will check ingredient lists (if enabled) to see if a meal the pawn consume happens to fit the criteria
  • Mutating Genes : Genes that alter a pawn's genes shortly after landing. These act as a lesser version of the hediff comp Gene Randomizer
  • Pregnancy Replacing Genes : Cause the standard human pregnancy hediff to be removed, and for things/other hediffs to appear instead
  • Removed at Age : When the pawn passes the specified age the gene is removed
  • Skill Changing Genes : Create genes that alter the passion and level of skills you choose, or completely random ones. This allows for skill changes to be added directly to individual genes so you don't have to rely on the template system
  • Spawn Age Limiter : Forces any pawn that gains or spawns with the gene to have their age set to a random value in a range if they are out of the desired age range. Ageless is patched with this class by default, but that can be disabled with the settings
  • Vanishing Genes : Simple gene comp that makes the gene remove itself after 30 ticks. Not much use, but I was amused by the idea when I made it

Conditional Stat Affecters

  • Capacity : Causes the stat factors/offsets to only be active based on the pawn's capacities, like sight
  • Hediff : Causes the stat factors/offsets to only be active based on the hediffs the pawn currently has
  • Gene : Causes the stat factors/offsets to only be active based on other genes the pawn has
  • Light : Causes the stat factors/offsets to only be active based on the light level of the area around the pawn
  • Map Condition Conditional Stat Affecter : Causes the stat factors/offsets to only be active based on the current map condition (i.e. psychic drone, eclipse, heat wave, cold snap, etc)
  • Map Multi : Causes the stat factors/offsets to only be active when a variety of conditions are met. This should only be used when no other conditional can be used, as this is slightly more performance consuming than normal conditionals. This only covers conditions that only relate to the area around the pawn (i.e. light levels, temperature, time, etc), but won't check stuff related to the pawn themselves (i.e. hediffs, skills, genes, etc)
  • Multi : Causes the stat factors/offsets to only be active when a variety of conditions are met. This should only be used when no other conditional can be used, as this is slightly more performance consuming than normal conditionals
  • Need : Causes the stat factors/offsets to only be active based on need levels of the pawn
  • Pawn Multi : Causes the stat factors/offsets to only be active when a variety of conditions are met. This should only be used when no other conditional can be used, as this is slightly more performance consuming than normal conditionals. This only covers conditions that only relate to the pawn themselves (i.e. hediffs, skills, genes, etc), without being able to check the area around them (i.e. light levels, temperature, time, etc)
  • Rain/Snow Rate : Causes the stat factors/offsets to only be active when the map has the right rain and/or snow rate rate
  • Skill : Causes the stat factors/offsets to only be active based on the pawn's skllls
  • Temperature : Causes the stat factors/offsets to only be active based on the temperature of the area around the pawn
  • Time : Causes the stat factors/offsets to only be active based on the time of day
  • Weather : Causes the stat factors/offsets to only be active based on the current weather of the map

The EBSG Recorder

In some cases, there are more minor things that this framework may offer for adding things to various other lists to get recorded properly. For example, the vanilla C# code for checking for bloodfeeders only actually checks for the bloodfeeder gene specifically, meaning if you want to make your own variant, you would normally need to do a harmony patch for bloodfeeder revering pawns to revere your bloodfeeder variant, along with other things.

Any time I find a situation like that to rectify, the EBSG Recorder will come in use. All this does is accept lists of genes, and with a single patch operation add you can add your own genes to the list to use whatever feature that list is intended to provide.