Compatibility - erdelf/AlienRaces GitHub Wiki

These settings do not directly affect any vanilla game mechanics. Instead, they are used by other mods for alien race compatibility. You do not need to provide compatibility flags if your race does not differ from humans in any of these ways; the human defaults will be used for any omitted fields.

For C# modders: These fields are private and are hidden behind virtual properties, so you could make your own subclass of the Compatibility settings and override them. Each of these fields also has a Pawn method variant that takes a Pawn as an argument, that you can also override in case you need more logic to determine if the pawn actually qualifies for the given flag.

Compatibility flags should be defined inside the alienRace tag of your ThingDef.ThingDef_AlienRace

<AlienRace.ThingDef_AlienRace>
  <alienRace>
    <compatibility>
      <!-- Compatibility flags go here -->
    </compatibility>
  </alienRace>
</AlienRace.ThingDef_AlienRace>

Compatibility Flags

Setting Human Default Description
<isFlesh>true</isFlesh>
true Should be true if your race has organic flesh.
<isSentient>true</isSentient> 
true Should be true if your race is sentient and possesses free will.
<hasBlood>true</hasBlood>
true Should be true if your race has organic blood.
⚠️ **GitHub.com Fallback** ⚠️