creature-raws

creature-raws.creature_raw_flags

<enum-type type-name="creature_raw_flags">
  <enum-item name="unk_wagon"/>
  <enum-item name="EQUIPMENT_WAGON"/>
  <enum-item name="MUNDANE"/>
  <enum-item name="VERMIN_EATER"/>
  <enum-item name="VERMIN_GROUNDER"/>
  <enum-item name="VERMIN_ROTTER"/>
  <enum-item name="VERMIN_SOIL"/>
  <enum-item name="VERMIN_SOIL_COLONY"/>
  <enum-item name="LARGE_ROAMING"/>
  <enum-item name="VERMIN_FISH"/>
  <enum-item name="LOOSE_CLUSTERS"/>
  <enum-item name="FANCIFUL"/>
  <enum-item name="BIOME_MOUNTAIN"/>
  <enum-item name="BIOME_GLACIER"/>
  <enum-item name="BIOME_TUNDRA"/>
  <enum-item name="BIOME_SWAMP_TEMPERATE_FRESHWATER"/>
  <enum-item name="BIOME_SWAMP_TEMPERATE_SALTWATER"/>
  <enum-item name="BIOME_MARSH_TEMPERATE_FRESHWATER"/>
  <enum-item name="BIOME_MARSH_TEMPERATE_SALTWATER"/>
  <enum-item name="BIOME_SWAMP_TROPICAL_FRESHWATER"/>
  <enum-item name="BIOME_SWAMP_TROPICAL_SALTWATER"/>
  <enum-item name="BIOME_SWAMP_MANGROVE"/>
  <enum-item name="BIOME_MARSH_TROPICAL_FRESHWATER"/>
  <enum-item name="BIOME_MARSH_TROPICAL_SALTWATER"/>
  <enum-item name="BIOME_FOREST_TAIGA"/>
  <enum-item name="BIOME_FOREST_TEMPERATE_CONIFER"/>
  <enum-item name="BIOME_FOREST_TEMPERATE_BROADLEAF"/>
  <enum-item name="BIOME_FOREST_TROPICAL_CONIFER"/>
  <enum-item name="BIOME_FOREST_TROPICAL_DRY_BROADLEAF"/>
  <enum-item name="BIOME_FOREST_TROPICAL_MOIST_BROADLEAF"/>
  <enum-item name="BIOME_GRASSLAND_TEMPERATE"/>
  <enum-item name="BIOME_SAVANNA_TEMPERATE"/>
  <enum-item name="BIOME_SHRUBLAND_TEMPERATE"/>
  <enum-item name="BIOME_GRASSLAND_TROPICAL"/>
  <enum-item name="BIOME_SAVANNA_TROPICAL"/>
  <enum-item name="BIOME_SHRUBLAND_TROPICAL"/>
  <enum-item name="BIOME_DESERT_BADLAND"/>
  <enum-item name="BIOME_DESERT_ROCK"/>
  <enum-item name="BIOME_DESERT_SAND"/>
  <enum-item name="BIOME_OCEAN_TROPICAL"/>
  <enum-item name="BIOME_OCEAN_TEMPERATE"/>
  <enum-item name="BIOME_OCEAN_ARCTIC"/>
  <enum-item name="BIOME_SUBTERRANEAN_WATER"/>
  <enum-item name="BIOME_SUBTERRANEAN_CHASM"/>
  <enum-item name="BIOME_SUBTERRANEAN_LAVA"/>
  <enum-item name="BIOME_POOL_TEMPERATE_FRESHWATER"/>
  <enum-item name="BIOME_POOL_TEMPERATE_BRACKISHWATER"/>
  <enum-item name="BIOME_POOL_TEMPERATE_SALTWATER"/>
  <enum-item name="BIOME_POOL_TROPICAL_FRESHWATER"/>
  <enum-item name="BIOME_POOL_TROPICAL_BRACKISHWATER"/>
  <enum-item name="BIOME_POOL_TROPICAL_SALTWATER"/>
  <enum-item name="BIOME_LAKE_TEMPERATE_FRESHWATER"/>
  <enum-item name="BIOME_LAKE_TEMPERATE_BRACKISHWATER"/>
  <enum-item name="BIOME_LAKE_TEMPERATE_SALTWATER"/>
  <enum-item name="BIOME_LAKE_TROPICAL_FRESHWATER"/>
  <enum-item name="BIOME_LAKE_TROPICAL_BRACKISHWATER"/>
  <enum-item name="BIOME_LAKE_TROPICAL_SALTWATER"/>
  <enum-item name="BIOME_RIVER_TEMPERATE_FRESHWATER"/>
  <enum-item name="BIOME_RIVER_TEMPERATE_BRACKISHWATER"/>
  <enum-item name="BIOME_RIVER_TEMPERATE_SALTWATER"/>
  <enum-item name="BIOME_RIVER_TROPICAL_FRESHWATER"/>
  <enum-item name="BIOME_RIVER_TROPICAL_BRACKISHWATER"/>
  <enum-item name="BIOME_RIVER_TROPICAL_SALTWATER"/>
  <enum-item name="GOOD"/>
  <enum-item name="EVIL"/>
  <enum-item name="SAVAGE"/>
  <enum-item name="NOT_ASEXUAL"/>
  <enum-item name="unk_43">
    capable of breeding
  </enum-item>
  <enum-item name="unk_44"/>
  <enum-item name="unk_45"/>
  <enum-item name="any_vermin"/>
  <enum-item name="CASTE_CAN_LEARN"/>
  <enum-item name="CASTE_VERMIN_HATEABLE"/>
  <enum-item name="unk_49"/>
  <enum-item name="CASTE_LARGE_PREDATOR"/>
  <enum-item name="CASTE_CURIOUSBEAST"/>
  <enum-item name="CASTE_BENIGN"/>
  <enum-item name="CASTE_NATURAL"/>
  <enum-item name="CASTE_MEGABEAST"/>
  <enum-item name="CASTE_SEMIMEGABEAST"/>
  <enum-item name="CASTE_POWER"/>
  <enum-item name="CASTE_VERMIN_MICRO"/>
  <enum-item name="CASTE_NOT_FIREIMMUNE"/>
  <enum-item name="CASTE_MUST_BREATHE_AIR"/>
  <enum-item name="CASTE_MUST_BREATHE_WATER"/>
  <enum-item name="unk_55"/>
  <enum-item name="CASTE_SWIMS_LEARNED"/>
  <enum-item name="CASTE_COMMON_DOMESTIC"/>
  <enum-item name="CASTE_UTTERANCES"/>
  <enum-item name="CASTE_CAN_SPEAK"/>
  <enum-item name="CASTE_FEATURE_BEAST"/>
  <enum-item name="GENERATED"/>
  <enum-item name="CASTE_TITAN"/>
  <enum-item name="CASTE_UNIQUE_DEMON"/>
  <enum-item name="DOES_NOT_EXIST"/>
  <enum-item name="CASTE_unk_9e"/>
  <enum-item name="CASTE_MISCHIEVOUS"/>
  <enum-item name="CASTE_FLIER"/>
  <enum-item name="CASTE_DEMON"/>
  <enum-item name="CASTE_NIGHT_CREATURE_ANY"/>
  <enum-item name="CASTE_NIGHT_CREATURE_HUNTER"/>
  <enum-item name="CASTE_NIGHT_CREATURE_BOGEYMAN"/>
  <enum-item name="CASTE_CARNIVORE"/>
  <enum-item name="ARTIFICIAL_HIVEABLE"/>
  <enum-item name="UBIQUITOUS"/>
  <enum-item name="unk_69"/>
  <enum-item name="CASTE_unk_2b"/>
  <enum-item name="CASTE_BLOOD"/>
  <enum-item name="CASTE_GRAZER"/>
  <enum-item name="CASTE_unk_31"/>
  <enum-item name="unk_6e"/>
  <enum-item name="unk_6f"/>
</enum-type>

creature-raws.caste_raw_flags

<enum-type type-name="caste_raw_flags">
  <enum-item name="AMPHIBIOUS"/>
  <enum-item name="AQUATIC"/>
  <enum-item name="LOCKPICKER"/>
  <enum-item name="MISCHIEVOUS"/>
  <enum-item name="PATTERNFLIER"/>
  <enum-item name="CURIOUSBEAST_ANY"/>
  <enum-item name="CURIOUSBEAST_ITEM"/>
  <enum-item name="CURIOUSBEAST_GUZZLER"/>
  <enum-item name="FLEEQUICK"/>
  <enum-item name="AT_PEACE_WITH_WILDLIFE"/>
  <enum-item name="SWIMS_LEARNED"/>
  <enum-item name="OPPOSED_TO_LIFE"/>
  <enum-item name="CURIOUSBEAST_EATER"/>
  <enum-item name="NO_EAT"/>
  <enum-item name="NO_DRINK"/>
  <enum-item name="NO_SLEEP"/>
  <enum-item name="COMMON_DOMESTIC"/>
  <enum-item name="WAGON_PULLER"/>
  <enum-item name="PACK_ANIMAL"/>
  <enum-item name="FLIER"/>
  <enum-item name="LARGE_PREDATOR"/>
  <enum-item name="MAGMA_VISION"/>
  <enum-item name="FIREIMMUNE"/>
  <enum-item name="FIREIMMUNE_SUPER"/>
  <enum-item name="WEBBER"/>
  <enum-item name="WEBIMMUNE"/>
  <enum-item name="FISHITEM"/>
  <enum-item name="IMMOBILE_LAND"/>
  <enum-item name="IMMOLATE"/>
  <enum-item name="MILKABLE"/>
  <enum-item name="NO_SPRING"/>
  <enum-item name="NO_SUMMER"/>
  <enum-item name="NO_AUTUMN"/>
  <enum-item name="NO_WINTER"/>
  <enum-item name="BENIGN"/>
  <enum-item name="VERMIN_NOROAM"/>
  <enum-item name="VERMIN_NOTRAP"/>
  <enum-item name="VERMIN_NOFISH"/>
  <enum-item name="HAS_NERVES"/>
  <enum-item name="NO_DIZZINESS"/>
  <enum-item name="NO_FEVERS"/>
  <enum-item name="NO_UNIT_TYPE_COLOR"/>
  <enum-item name="NO_CONNECTIONS_FOR_MOVEMENT"/>
  <enum-item name="unk_2b"/>
  <enum-item name="AMBUSHPREDATOR"/>
  <enum-item name="unk_2d"/>
  <enum-item name="NOT_BUTCHERABLE"/>
  <enum-item name="COOKABLE_LIVE"/>
  <enum-item name="SECRETION"/>
  <enum-item name="IMMOBILE"/>
  <enum-item name="MULTIPART_FULL_VISION"/>
  <enum-item name="MEANDERER"/>
  <enum-item name="THICKWEB"/>
  <enum-item name="TRAINABLE_HUNTING"/>
  <enum-item name="PET"/>
  <enum-item name="PET_EXOTIC"/>
  <enum-item name="unk_38"/>
  <enum-item name="CAN_SPEAK"/>
  <enum-item name="CAN_LEARN"/>
  <enum-item name="UTTERANCES"/>
  <enum-item name="BONECARN"/>
  <enum-item name="CARNIVORE"/>
  <enum-item name="UNDERSWIM"/>
  <enum-item name="NOEXERT"/>
  <enum-item name="NOPAIN"/>
  <enum-item name="EXTRAVISION"/>
  <enum-item name="NOBREATHE"/>
  <enum-item name="NOSTUN"/>
  <enum-item name="NONAUSEA"/>
  <enum-item name="BLOOD"/>
  <enum-item name="TRANCES"/>
  <enum-item name="NOEMOTION"/>
  <enum-item name="SLOW_LEARNER"/>
  <enum-item name="NOSTUCKINS"/>
  <enum-item name="PUS"/>
  <enum-item name="NOSKULL"/>
  <enum-item name="NOSKIN"/>
  <enum-item name="NOBONES"/>
  <enum-item name="NOMEAT"/>
  <enum-item name="PARALYZEIMMUNE"/>
  <enum-item name="NOFEAR"/>
  <enum-item name="CANOPENDOORS"/>
  <enum-item name="ITEMCORPSE">
    set if the tag is present; corpse parts go to
    map_renderer.cursor_other
  </enum-item>
  <enum-item name="GETS_WOUND_INFECTIONS"/>
  <enum-item name="NOSMELLYROT"/>
  <enum-item name="REMAINS_UNDETERMINED"/>
  <enum-item name="HASSHELL"/>
  <enum-item name="PEARL"/>
  <enum-item name="TRAINABLE_WAR"/>
  <enum-item name="NO_THOUGHT_CENTER_FOR_MOVEMENT"/>
  <enum-item name="ARENA_RESTRICTED"/>
  <enum-item name="LAIR_HUNTER"/>
  <enum-item name="LIKES_FIGHTING"/>
  <enum-item name="VERMIN_HATEABLE"/>
  <enum-item name="VEGETATION"/>
  <enum-item name="MAGICAL"/>
  <enum-item name="NATURAL"/>
  <enum-item name="BABY"/>
  <enum-item name="CHILD"/>
  <enum-item name="MULTIPLE_LITTER_RARE"/>
  <enum-item name="MOUNT"/>
  <enum-item name="MOUNT_EXOTIC"/>
  <enum-item name="FEATURE_ATTACK_GROUP"/>
  <enum-item name="VERMIN_MICRO"/>
  <enum-item name="EQUIPS"/>
  <enum-item name="LAYS_EGGS"/>
  <enum-item name="GRAZER"/>
  <enum-item name="NOTHOUGHT"/>
  <enum-item name="TRAPAVOID"/>
  <enum-item name="CAVE_ADAPT"/>
  <enum-item name="MEGABEAST"/>
  <enum-item name="SEMIMEGABEAST"/>
  <enum-item name="ALL_ACTIVE"/>
  <enum-item name="DIURNAL"/>
  <enum-item name="NOCTURNAL"/>
  <enum-item name="CREPUSCULAR"/>
  <enum-item name="MATUTINAL"/>
  <enum-item name="VESPERTINE"/>
  <enum-item name="LIGHT_GEN"/>
  <enum-item name="LISP"/>
  <enum-item name="GETS_INFECTIONS_FROM_ROT"/>
  <enum-item name="unk_79"/>
  <enum-item name="ALCOHOL_DEPENDENT"/>
  <enum-item name="SWIMS_INNATE"/>
  <enum-item name="POWER"/>
  <enum-item name="unk_7d"/>
  <enum-item name="unk_7e"/>
  <enum-item name="CASTE_TILE"/>
  <enum-item name="CASTE_COLOR"/>
  <enum-item name="unk_81"/>
  <enum-item name="unk_82"/>
  <enum-item name="FEATURE_BEAST"/>
  <enum-item name="TITAN"/>
  <enum-item name="UNIQUE_DEMON"/>
  <enum-item name="DEMON"/>
  <enum-item name="MANNERISM_LAUGH"/>
  <enum-item name="MANNERISM_SMILE"/>
  <enum-item name="MANNERISM_WALK"/>
  <enum-item name="MANNERISM_SIT"/>
  <enum-item name="MANNERISM_BREATH"/>
  <enum-item name="MANNERISM_POSTURE"/>
  <enum-item name="MANNERISM_STRETCH"/>
  <enum-item name="MANNERISM_EYELIDS"/>
  <enum-item name="NIGHT_CREATURE_ANY"/>
  <enum-item name="NIGHT_CREATURE_HUNTER"/>
  <enum-item name="NIGHT_CREATURE_BOGEYMAN"/>
  <enum-item name="CONVERTED_SPOUSE"/>
  <enum-item name="SPOUSE_CONVERTER"/>
  <enum-item name="SPOUSE_CONVERSION_TARGET"/>
  <enum-item name="DIE_WHEN_VERMIN_BITE"/>
  <enum-item name="REMAINS_ON_VERMIN_BITE_DEATH"/>
  <enum-item name="COLONY_EXTERNAL"/>
  <enum-item name="LAYS_UNUSUAL_EGGS"/>
  <enum-item name="RETURNS_VERMIN_KILLS_TO_OWNER"/>
  <enum-item name="HUNTS_VERMIN"/>
  <enum-item name="ADOPTS_OWNER"/>
  <enum-item name="SOUND_ALERT"/>
  <enum-item name="SOUND_PEACEFUL_INTERMITTENT"/>
  <enum-item name="unk_9e"/>
  <enum-item name="NO_PHYS_ATT_GAIN"/>
  <enum-item name="NO_PHYS_ATT_RUST"/>
  <enum-item name="CRAZED"/>
  <enum-item name="BLOODSUCKER"/>
  <enum-item name="NO_VEGETATION_PERTURB"/>
  <enum-item name="DIVE_HUNTS_VERMIN"/>
  <enum-item name="GOBBLE_VERMIN"/>
  <enum-item name="CANNOT_JUMP"/>
  <enum-item name="STANCE_CLIMBER"/>
  <enum-item name="CANNOT_CLIMB"/>
  <enum-item name="LOCAL_POPS_CONTROLLABLE"/>
  <enum-item name="OUTSIDER_CONTROLLABLE"/>
  <enum-item name="LOCAL_POPS_PRODUCE_HEROES"/>
  <enum-item name="STRANGE_MOODS"/>
</enum-type>

creature-raws.body_part_raw_flags

<enum-type type-name="body_part_raw_flags">
  <enum-item name="HEAD"/>
  <enum-item name="UPPERBODY"/>
  <enum-item name="LOWERBODY"/>
  <enum-item name="SIGHT"/>
  <enum-item name="EMBEDDED"/>
  <enum-item name="INTERNAL"/>
  <enum-item name="CIRCULATION"/>
  <enum-item name="SKELETON"/>
  <enum-item name="LIMB"/>
  <enum-item name="GRASP"/>
  <enum-item name="STANCE"/>
  <enum-item name="GUTS"/>
  <enum-item name="BREATHE"/>
  <enum-item name="SMALL"/>
  <enum-item name="THROAT"/>
  <enum-item name="JOINT"/>
  <enum-item name="THOUGHT"/>
  <enum-item name="NERVOUS"/>
  <enum-item name="RIGHT"/>
  <enum-item name="LEFT"/>
  <enum-item name="HEAR"/>
  <enum-item name="SMELL"/>
  <enum-item name="FLIER"/>
  <enum-item name="DIGIT"/>
  <enum-item name="MOUTH"/>
  <enum-item name="APERTURE"/>
  <enum-item name="SOCKET"/>
  <enum-item name="TOTEMABLE"/>
  <enum-item/>
  <enum-item/>
  <enum-item name="UNDER_PRESSURE"/>
  <enum-item/>
  <enum-item name="VERMIN_BUTCHER_ITEM"/>
  <enum-item name="CONNECTOR"/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item name="GELDABLE"/>
</enum-type>

creature-raws.appearance_modifier_type

<enum-type type-name="appearance_modifier_type" base-type="int16_t">
  <enum-item name="HEIGHT"/>
  <enum-item name="BROADNESS"/>
  <enum-item name="LENGTH"/>
  <enum-item name="CLOSE_SET"/>
  <enum-item name="DEEP_SET"/>
  <enum-item name="HIGH_POSITION"/>
  <enum-item name="LARGE_IRIS"/>
  <enum-item name="WRINKLY"/>
  <enum-item name="CURLY"/>
  <enum-item name="CONVEX"/>
  <enum-item name="DENSE"/>
  <enum-item name="THICKNESS"/>
  <enum-item name="UPTURNED"/>
  <enum-item name="SPLAYED_OUT"/>
  <enum-item name="HANGING_LOBES"/>
  <enum-item name="GAPS"/>
  <enum-item name="HIGH_CHEEKBONES"/>
  <enum-item name="BROAD_CHIN"/>
  <enum-item name="JUTTING_CHIN"/>
  <enum-item name="SQUARE_CHIN"/>
  <enum-item name="ROUND_VS_NARROW"/>
  <enum-item name="GREASY"/>
  <enum-item name="DEEP_VOICE"/>
  <enum-item name="RASPY_VOICE"/>
</enum-type>

creature-raws.body_part_layer_flags

<enum-type type-name="body_part_layer_flags">
  <enum-item name="CONNECTS"/>
</enum-type>

creature-raws.appearance_modifier_growth_interval

<enum-type type-name="appearance_modifier_growth_interval"
    base-type="int16_t">
  <enum-item name="DAILY"/>
  <enum-item name="WEEKLY"/>
  <enum-item name="MONTHLY"/>
  <enum-item name="YEARLY"/>
</enum-type>

creature-raws.body_part_layer_raw

<struct-type type-name="body_part_layer_raw">
  <stl-string name="layer_name"/>
  <int32_t name="tissue_id" refers-to="$$._upglobal._upglobal._upgloba
      l._upglobal._upglobal.tissue[$]"/>
  <df-flagarray name="flags" index-enum="body_part_layer_flags"/>
  <int32_t name="part_fraction">
    total 1000
  </int32_t>
  <int32_t name="healing_rate"/>
  <int32_t name="vascular"/>
  <int32_t name="pain_receptors"/>
  <int32_t name="unk6"/>
  <int16_t name="unk7"/>
  <stl-vector name="bp_modifiers" type-name="int32_t" refers-to="$$._g
      lobal._upglobal._upglobal._upglobal.bp_appearance.modifier_idx[$
      ].refers-to"/>
  <int32_t name="layer_id">
    across all body parts
  </int32_t>
  <int32_t name="parent_idx"
      refers-to="$$._global._upglobal.layers[$]"/>
  <int32_t name="parent_layer_id"/>
  <int32_t name="layer_depth">
    -1 for skin and internal organs
  </int32_t>
  <int32_t name="leak_barrier_id">
    layer that stops TISSUE_LEAKS, but unused and broken
  </int32_t>
  <int32_t name="nonsolid_id"/>
  <int32_t name="styleable_id"/>
</struct-type>

creature-raws.body_part_raw

<struct-type type-name="body_part_raw">
  <stl-string name="token"/>
  <stl-string name="category"/>
  <int16_t name="con_part_id"/>
  <df-flagarray name="flags" index-enum="body_part_raw_flags"/>
  <stl-vector name="layers" pointer-type="body_part_layer_raw"/>
  <int32_t name="fraction_total"/>
  <int32_t name="fraction_base"/>
  <int32_t name="fraction_fat"/>
  <int32_t name="fraction_muscle"/>
  <int32_t name="relsize"/>
  <int32_t name="number"/>
  <int16_t name="unk7b"/>
  <stl-vector name="name_singular" pointer-type="stl-string"/>
  <stl-vector name="name_plural" pointer-type="stl-string"/>
  <pointer name="bp_relation_part_id">
    <stl-vector type-name="int16_t"/>
  </pointer>
  <pointer name="bp_relation_code">
    <stl-vector type-name="int16_t"/>
  </pointer>
  <pointer name="bp_relation_coverage">
    <stl-vector type-name="int16_t"/>
  </pointer>
  <uint16_t name="min_temp"/>
  <uint16_t name="max_temp"/>
  <uint16_t name="temp_factor"/>
  <int32_t name="numbered_idx"
      refers-to="$$._global._upglobal.numbered_masks[$]">
    defined only if number field nonzero
  </int32_t>
  <int16_t name="insulation_fat"/>
  <int16_t name="insulation_muscle"/>
  <int16_t name="insulation_base"/>
  <int32_t name="clothing_item_id" init-value="-1">
    v0.34.06
  </int32_t>
</struct-type>

creature-raws.color_modifier_raw

<struct-type type-name="color_modifier_raw" key-field="id">
  <stl-vector type-name="int32_t" name="pattern_index"
      ref-target="descriptor_pattern"/>
  <stl-vector type-name="int32_t" name="pattern_frequency"/>
  <stl-vector name="body_part_id" type-name="int16_t"
      refers-to="$$._global._upglobal.body_info.body_parts[$]"/>
  <stl-vector name="tissue_layer_id" type-name="int16_t"
      refers-to="$$._global.body_part_id[$$._key].refers-to.layers[$]"
       index-refers-to="$$._global.body_part_id[$].refers-to"/>
  <int16_t name="unk5"/>
  <int32_t name="start_date"/>
  <int32_t name="end_date"/>
  <int32_t name="unk6"/>
  <stl-string name="part"/>
  <int16_t name="unk_6c"/>
  <int16_t name="unk_6e"/>
  <int32_t name="unk_70"/>
  <int32_t name="id"/>
  <stl-vector name="unk_78">
    <pointer/>
  </stl-vector>
  <stl-vector name="unk_88">
    <pointer/>
  </stl-vector>
</struct-type>

creature-raws.body_appearance_modifier

<struct-type type-name="body_appearance_modifier" key-field="id">
  <enum type-name="appearance_modifier_type" base-type="int16_t"
      name="type"/>
  <static-array type-name="int32_t" count="7" name="ranges"/>
  <static-array type-name="int32_t" count="6" name="desc_range"/>
  <int32_t name="growth_rate"/>
  <enum type-name="appearance_modifier_growth_interval"
      base-type="int16_t" name="growth_interval"/>
  <int32_t name="growth_min"/>
  <int32_t name="growth_max"/>
  <int32_t name="growth_start">
    in days
  </int32_t>
  <int32_t name="growth_end"/>
  <int32_t name="importance"/>
  <stl-string name="noun"/>
  <int16_t/>
  <int16_t/>
  <int32_t name="id"/>
  <int32_t name="id2">
    same as id
  </int32_t>
</struct-type>

creature-raws.bp_appearance_modifier

<struct-type type-name="bp_appearance_modifier" key-field="id">
  <enum type-name="appearance_modifier_type" base-type="int16_t"
      name="type"/>
  <static-array type-name="int32_t" count="7" name="ranges"/>
  <static-array type-name="int32_t" count="6" name="desc_range"/>
  <int32_t name="growth_rate"/>
  <enum type-name="appearance_modifier_growth_interval"
      base-type="int16_t" name="growth_interval"/>
  <int32_t name="growth_min"/>
  <int32_t name="growth_max"/>
  <int32_t name="growth_start">
    in days
  </int32_t>
  <int32_t name="growth_end"/>
  <int32_t name="importance"/>
  <stl-string name="noun"/>
  <int16_t name="single_plural"/>
  <int16_t name="unk1"/>
  <int32_t name="id1"/>
  <stl-vector name="body_parts">
    <int16_t
        refers-to="$$._global._parent._global.body_info.body_parts[$]"
        />
  </stl-vector>
  <stl-vector name="tissue_layer">
    <int16_t
        refers-to="$$._parent._parent.body_parts[$$._key].refers-to.la
        yers[$]"/>
  </stl-vector>
  <int32_t name="id"/>
</struct-type>

creature-raws.caste_clothing_item

<struct-type type-name="caste_clothing_item">
  <int16_t name="body_part_id"/>
  <int32_t name="unk_4"/>
  This stuff appears to be used as temporaries during claim selection
  or whatever.
  <static-array name="item" count="3">
    <pointer type-name="item"/>
    under, over, cover
  </static-array>
  <static-array name="unk_14" count="3" type-name="int32_t"/>
  <static-array name="size" count="3" type-name="int32_t"/>
  <static-array name="permit" count="3" type-name="int32_t"/>
  <static-array name="unk_38" count="3" type-name="int32_t"/>
</struct-type>

creature-raws.caste_attack

<struct-type type-name="caste_attack">
  <stl-string name="name"/>
  <stl-string name="verb_3rd"/>
  <stl-string name="verb_2nd"/>
  <bitfield name="flags" base-type="uint16_t">
    <flag-bit name="with"/>
    <flag-bit name="latch"/>
    <flag-bit name="main"/>
    <flag-bit name="edge"/>
  </bitfield>
  <stl-vector type-name="int32_t" name="specialattack_type">
    0 = inject extract, 1 = suck blood, 2 = perform interaction
  </stl-vector>
  <stl-vector type-name="int16_t" name="specialattack_mat_type">
    extract injected
  </stl-vector>
  <stl-vector type-name="int32_t" name="specialattack_mat_index"/>
  <stl-vector type-name="matter_state"
      name="specialattack_mat_state"/>
  <static-array count="3" name="specialattack_temp_mat">
    <stl-vector pointer-type="stl-string"/>
    parsed during second pass
  </static-array>
  <stl-vector type-name="int32_t" name="specialattack_min">
    amount of extract injected or blood sucked
  </stl-vector>
  <stl-vector type-name="int32_t" name="specialattack_max"/>
  <int32_t name="contact_perc"/>
  <int32_t name="penetration_perc"/>
  <int16_t name="unk_v40_1">
    v0.40.1
  </int16_t>
  <int16_t name="unk_v40_2">
    v0.40.1
  </int16_t>
  <stl-vector type-name="int16_t" name="body_part_idx"/>
  <stl-vector type-name="int16_t" name="tissue_layer_idx"/>
  <enum base-type="int16_t" type-name="job_skill" name="skill"/>
  <int32_t name="velocity_modifier"/>
  <stl-vector pointer-type="stl-string"
      name="specialattack_interaction_tmp_name">
    parsed during second pass
  </stl-vector>
  <stl-vector type-name="int32_t"
      name="specialattack_interaction_id"/>
  <int32_t name="unk_v40_3">
    v0.40.1
  </int32_t>
  <int32_t name="unk_v40_4">
    v0.40.1
  </int32_t>
</struct-type>

creature-raws.gait_type

<enum-type type-name="gait_type">
  <enum-item name="WALK"/>
  <enum-item name="FLY"/>
  <enum-item name="SWIM"/>
  <enum-item name="CRAWL"/>
  <enum-item name="CLIMB"/>
</enum-type>

creature-raws.gait_info

<struct-type type-name="gait_info">
  <int32_t name="action_string_idx"
      refers-to="$global.world.raws.creatures.action_strings[$].value"
      />
  <int32_t name="full_speed"/>
  <int32_t name="buildup_time"/>
  <int32_t name="turn_max"/>
  <int32_t name="start_speed"/>
  <int32_t name="energy_use"/>
  <bitfield name="flags">
    <flag-bit name="layers_slow"/>
    <flag-bit name="strength"/>
    <flag-bit name="agility"/>
  </bitfield>
  <int32_t name="stealth_slows"/>
</struct-type>

creature-raws.caste_body_info

<struct-type type-name="caste_body_info">
  <stl-vector name="body_parts" pointer-type="body_part_raw"/>
  <stl-vector name="attacks" pointer-type="caste_attack"/>
  <stl-vector name="interactions">
    <pointer>
      <int32_t name="type">
        0 = RETRACT_INTO_BP, 1 = CAN_DO_INTERACTION
      </int32_t>
      <compound name="unk">
        <stl-vector pointer-type="stl-string"
            name="bp_required_type"/>
        <stl-vector pointer-type="stl-string"
            name="bp_required_name"/>
        <stl-string/>
        <stl-string/>
        <stl-string name="material_str0"/>
        <stl-string name="material_str1"/>
        <stl-string name="material_str2"/>
        <enum type-name="breath_attack_type" name="material_breath"/>
        <stl-string name="verb_2nd"/>
        <stl-string name="verb_3rd"/>
        <stl-string name="verb_ext"/>
        <stl-string/>
        <stl-string/>
        <stl-string/>
        <stl-string/>
        <stl-string name="interaction_type"/>
        <int32_t/>
        <stl-vector name="usage_hint"
            type-name="interaction_source_usage_hint"/>
        <stl-vector name="location_hint"
            type-name="interaction_effect_location_hint"/>
        <int32_t/>
        <stl-vector type-name="pointer"/>
        <stl-vector type-name="int32_t"/>
        <stl-vector type-name="int32_t"/>
        <stl-vector type-name="pointer"/>
        <stl-vector type-name="int32_t"/>
        <stl-vector/>
        <stl-vector/>
        <stl-string name="adv_name"/>
        <int32_t name="wait_period"/>
      </compound>
    </pointer>
  </stl-vector>
  <stl-vector name="extra_butcher_objects">
    <pointer>
      <int16_t/>
      <stl-string/>
      <int32_t/>
      <stl-string/>
      <stl-string/>
      <stl-string/>
      <stl-string/>
      <stl-string/>
      <int16_t/>
      <int16_t/>
      <int16_t/>
      <int32_t/>
      <int32_t/>
    </pointer>
  </stl-vector>
  <int32_t name="total_relsize">
    unless INTERNAL or EMBEDDED
  </int32_t>
  <stl-vector name="layer_part"
      index-refers-to="$$._global.layer_idx[$].refers-to">
    <int16_t refers-to="$$._global.body_parts[$]"/>
  </stl-vector>
  <stl-vector name="layer_idx">
    <int16_t
        refers-to="$$._global.layer_part[$$._key].refers-to.layers[$]"
        />
  </stl-vector>
  <stl-vector type-name="uint32_t" name="numbered_masks">
    1 bit per instance of a numbered body part
  </stl-vector>
  <stl-vector name="layer_nonsolid"
      index-refers-to="$$._global.layer_part[$].refers-to">
    Index in nonsolid_layers if applicable
    <int32_t refers-to="$$._global.nonsolid_layers[$].refers-to"/>
  </stl-vector>
  <stl-vector name="nonsolid_layers">
    For blood, magma, iron men etc, lists BLOOD/MAGMA/GAS layers. For
    other titans and FBs, lists all layers. For ordinary, empty.
    <int32_t refers-to="$$._global.layer_idx[$].refers-to"/>
  </stl-vector>
  <bitfield name="flags">
    <flag-bit name="unk0"/>
    v0.34.01
  </bitfield>
  <static-array name="gait_info" count="5" index-enum="gait_type">
    <stl-vector pointer-type="gait_info"/>
  </static-array>
  <compound name="materials" type-name="material_vec_ref"/>
  <int32_t name="fraction_total"/>
  <int32_t name="fraction_base"/>
  <int32_t name="fraction_fat"/>
  <int32_t name="fraction_muscle"/>
  <pointer name='clothing_items' comment='v0.34.06'> <stl-vector
      pointer-type='caste_clothing_item'/> </pointer>
  <static-array name="unk_v40_2" count="11" type-name="int32_t">
    v0.40.1
  </static-array>
</struct-type>

creature-raws.caste_raw

<struct-type type-name="caste_raw">
  <stl-string name="caste_id"/>
  <static-array type-name="stl-string" name="caste_name" count="3"/>
  <stl-string name="vermin_bite_txt"/>
  <stl-string name="gnawer_txt"/>
  <static-array type-name="stl-string" name="baby_name" count="2"/>
  <static-array type-name="stl-string" name="child_name" count="2"/>
  <static-array type-name="stl-string" name="itemcorpse_str"
      count="5"/>
  <static-array type-name="stl-string" name="remains" count="2"/>
  <stl-string name="description"/>
  <static-array type-name="stl-string" name="mannerisms" count="17">
    fingers[2], nose, ear, head, eyes, mouth, hair, knuckles, lips,
    cheek, nails, f eet, arms, hands, tongue, leg
  </static-array>
  <uint8_t name="caste_tile"/>
  <uint8_t name="caste_soldier_tile"/>
  <uint8_t name="caste_alttile"/>
  <uint8_t name="caste_soldier_alttile"/>
  <uint8_t name="caste_glowtile"/>
  <uint16_t name="homeotherm"/>
  <uint16_t name="min_temp"/>
  <uint16_t name="max_temp"/>
  <uint16_t name="fixed_temp"/>
  <static-array type-name="int16_t" name="caste_color" count="3"/>
  <compound name="misc">
    <int16_t name="litter_size_min"/>
    <int16_t name="litter_size_max"/>
    <int16_t name="penetratepower"/>
    <int16_t name="vermin_bite_chance"/>
    <int16_t name="grasstrample"/>
    <int16_t name="buildingdestroyer"/>
    <enum base-type="int16_t" name="itemcorpse_itemtype"
        type-name="item_type"/>
    <int16_t name="itemcorpse_itemsubtype"/>
    <int16_t name="itemcorpse_materialtype" ref-target="material"
        aux-value="$$.itemcorpse_materialindex"/>
    <int16_t name="itemcorpse_materialindex"/>
    <int16_t name="itemcorpse_quality"/>
    <static-array type-name="int16_t" name="remains_color" count="3"/>
    <int16_t name="difficulty"/>
    <static-array type-name="int16_t" name="caste_glowcolor"
        count="3"/>
    <int16_t name="beach_frequency"/>
    <int16_t name="clutch_size_min"/>
    <int16_t name="clutch_size_max"/>
    <int16_t name="vision_arc_min"/>
    <int16_t name="vision_arc_max"/>
    <int32_t name="speed">
      no longer used
    </int32_t>
    <int32_t name="modvalue"/>
    <int32_t name="petvalue"/>
    <int32_t name="milkable"/>
    <int32_t name="viewrange"/>
    <int32_t name="maxage_min"/>
    <int32_t name="maxage_max"/>
    <int32_t name="baby_age"/>
    <int32_t name="child_age"/>
    <int32_t name="swim_speed">
      no longer used
    </int32_t>
    <int32_t name="trade_capacity"/>
    <int32_t name="unk4"/>
    <int32_t name="pop_ratio"/>
    <int32_t name="adult_size"/>
    <int32_t name="bone_mat" ref-target="material"
        aux-value="$$.bone_matidx"/>
    <int32_t name="bone_matidx"/>
    <int32_t name="fish_mat_index" refers-to="(food-mat-by-idx $Fish
        $)"/>
    <int32_t name="egg_mat_index" refers-to="(food-mat-by-idx $Eggs
        $)"/>
    <static-array type-name="int32_t" name="attack_trigger"
        count="3"/>
    <int32_t name="egg_size"/>
    <int32_t name="grazer"/>
    <int32_t name="petvalue_divisor"/>
    <int32_t name="prone_to_rage"/>
    <static-array type-name="int32_t" name="unk6" count="29"/>
  </compound>
  <compound name="personality">
    <static-array type-name="int16_t" name="a" count="50"
        index-enum="personality_facet_type"/>
    <static-array type-name="int16_t" name="b" count="50"
        index-enum="personality_facet_type"/>
    <static-array type-name="int16_t" name="c" count="50"
        index-enum="personality_facet_type"/>
  </compound>
  <df-flagarray name="flags" index-enum="caste_raw_flags"/>
  <int32_t name="index">
    global across creatures
  </int32_t>
  <compound name="body_info" type-name="caste_body_info"/>
  <stl-vector name="caste_speech_1"/>
  <stl-vector name="caste_speech_2"/>
  <static-array name="skill_rates" count="4">
    <static-array type-name="int32_t" count="135"
        index-enum="job_skill"/>
  </static-array>
  <compound name="attributes">
    <static-array name="phys_att_range" count="6"
        index-enum="physical_attribute_type">
      <static-array type-name="int32_t" count="7"/>
    </static-array>
    <static-array name="ment_att_range" count="13"
        index-enum="mental_attribute_type">
      <static-array type-name="int32_t" count="7"/>
    </static-array>
    <static-array name="phys_att_rates" count="6"
        index-enum="physical_attribute_type">
      <static-array type-name="int32_t" count="4"/>
    </static-array>
    <static-array name="ment_att_rates" count="13"
        index-enum="mental_attribute_type">
      <static-array type-name="int32_t" count="4"/>
    </static-array>
    <static-array type-name="int32_t" name="phys_att_cap_perc"
        count="6" index-enum="physical_attribute_type"/>
    <static-array type-name="int32_t" name="ment_att_cap_perc"
        count="13" index-enum="mental_attribute_type"/>
  </compound>
  <int8_t name="gender"/>
  <static-array name="orientation_male" count="3" type-name="int32_t">
    v0.40.1
  </static-array>
  <static-array name="orientation_female" count="3"
      type-name="int32_t">
    v0.40.1
  </static-array>
  <stl-vector type-name="int32_t" name="body_size_1"/>
  <stl-vector type-name="int32_t" name="body_size_2"/>
  <stl-vector name="body_appearance_modifiers"
      pointer-type="body_appearance_modifier"/>
  <compound name="bp_appearance">
    <stl-vector name="modifiers"
        pointer-type="bp_appearance_modifier"/>
    <stl-vector name="modifier_idx" type-name="int32_t"
        refers-to="$$._parent._parent.modifiers[$]"
        index-refers-to="$$._parent.part_idx[$].refers-to"/>
    <stl-vector name="part_idx" type-name="int16_t"
        refers-to="$$._global.body_info.body_parts[$]"/>
    <stl-vector name="layer_idx" type-name="int16_t"
        refers-to="$$._parent._parent.part_idx[$$._key].refers-to.laye
        rs[$]" index-refers-to="$$._parent.part_idx[$].refers-to"/>
    <stl-vector name="style_part_idx" type-name="int16_t"
        refers-to="$$._global.body_info.body_parts[$]"/>
    <stl-vector name="style_layer_idx" type-name="int16_t"
        refers-to="$$._parent._parent.style_part_idx[$$._key].refers-t
        o.layers[$]"
        index-refers-to="$$._parent.style_part_idx[$].refers-to"/>
    <stl-vector name="style_list_idx" type-name="int32_t"
        refers-to="$$._parent._parent.modifier_idx[$].refers-to"
        index-refers-to="$$._parent.style_layer_idx[$].refers-to"/>
  </compound>
  <stl-vector name="color_modifiers"
      pointer-type="color_modifier_raw"/>
  <stl-vector name="tissue_styles" pointer-type="tissue_style_raw"/>
  <stl-vector name="shearable_tissue_layer">
    <pointer>
      <int8_t name="unk_0"/>
      <int8_t name="unk_1"/>
      <int16_t name='unk_2'/> padding
      <int32_t name="length"/>
      <stl-vector name="part_idx" type-name="int16_t"/>
      <stl-vector name="layer_idx" type-name="int16_t"/>
      <stl-vector name="bp_modifiers_idx" type-name="int32_t"/>
    </pointer>
  </stl-vector>
  <static-array name="unk16a" count="4">
    <stl-vector/>
  </static-array>
  <static-array name="unk16b" count="4">
    <stl-vector/>
  </static-array>
  <static-array type-name="int32_t" name="unk18" count="2"/>
  <stl-vector name="natural_skill_id">
    <enum base-type="int16_t" type-name="job_skill"/>
  </stl-vector>
  <stl-vector type-name="int32_t" name="natural_skill_exp"/>
  <stl-vector type-name="skill_rating" name="natural_skill_lvl"/>
  <compound name="caste_profession_name">
    <static-array type-name="stl-string" name="singular" count="129"
        index-enum="profession"/>
    <static-array type-name="stl-string" name="plural" count="129"
        index-enum="profession"/>
  </compound>
  <compound name="extracts">
    <stl-vector type-name="int16_t" name="extract_mat"/>
    <stl-vector type-name="int32_t" name="extract_matidx"/>
    <static-array name="extract_str" count="3">
      <stl-vector pointer-type="stl-string"/>
    </static-array>
    <int16_t name="milkable_mat"/>
    <int32_t name="milkable_matidx"/>
    <static-array name="milkable_str" count="3">
      <stl-string/>
    </static-array>
    <int16_t name="webber_mat"/>
    <int32_t name="webber_matidx"/>
    <static-array name="webber_str" count="3">
      <stl-string/>
    </static-array>
    <int16_t name="vermin_bite_mat"/>
    <int32_t name="vermin_bite_matidx"/>
    <int16_t name="vermin_bite_chance"/>
    <static-array name="vermin_bite_str" count="3">
      <stl-string/>
    </static-array>
    <int16_t name="tendons_mat"/>
    <int32_t name="tendons_matidx"/>
    <static-array name="tendons_str" count="3">
      <stl-string/>
    </static-array>
    <int32_t name="tendons_heal"/>
    <int16_t name="ligaments_mat"/>
    <int32_t name="ligaments_matidx"/>
    <static-array name="ligaments_str" count="3">
      <stl-string/>
    </static-array>
    <int32_t name="ligaments_heal"/>
    <int16_t name="blood_state"/>
    <int16_t name="blood_mat"/>
    <int32_t name="blood_matidx"/>
    <static-array name="blood_str" count="3">
      <stl-string/>
    </static-array>
    <int16_t name="pus_state"/>
    <int16_t name="pus_mat"/>
    <int32_t name="pus_matidx"/>
    <static-array name="pus_str" count="3">
      <stl-string/>
    </static-array>
    <stl-vector type-name="int16_t" name="egg_material_mattype"/>
    <stl-vector type-name="int32_t" name="egg_material_matindex"/>
    <static-array name="egg_material_str" count="3">
      <stl-vector pointer-type="stl-string"/>
    </static-array>
    <stl-vector name="lays_unusual_eggs_itemtype">
      <enum base-type="int16_t" type-name="item_type"/>
    </stl-vector>
    <stl-vector name="lays_unusual_eggs_itemsubtype"/>
    <stl-vector type-name="int16_t" name="lays_unusual_eggs_mattype"/>
    <stl-vector type-name="int32_t"
        name="lays_unusual_eggs_matindex"/>
    <static-array name="lays_unusual_eggs_str" count="5">
      <stl-vector pointer-type="stl-string"/>
    </static-array>
  </compound>
  <stl-vector name="secretion">
    <pointer>
      <int16_t name="mat_type" ref-target="material"
          aux-value="$$.mat_index"/>
      <int32_t name="mat_index"/>
      <enum type-name="matter_state" base-type="int16_t"
          name="mat_state"/>
      <stl-string name="mat_type_str"/>
      <stl-string name="mat_index_str"/>
      <stl-string name="unk_44"/>
      <stl-vector name="body_part_id" type-name="int16_t"
          refers-to="$$._upglobal.body_info.body_parts[$]"/>
      <stl-vector name="layer_id" type-name="int16_t"
          refers-to="$$._parent._parent.body_part_id[$$._key].refers-t
          o.layers[$]"/>
      <int32_t name="cause">
        v0.40.01; 2 EXERTION, 1 EXTREME_EMOTION, 0 always?
      </int32_t>
    </pointer>
  </stl-vector>
  <stl-vector name="creature_class" pointer-type="stl-string"/>
  <compound name="unknown2">
    <stl-vector name="unk_v4201_1">
      v0.42.01
    </stl-vector>
    <stl-vector name="unk_v4201_2">
      v0.42.01
    </stl-vector>
    <stl-vector name="gobble_vermin_class" pointer-type="stl-string"/>
    <stl-vector name="gobble_vermin_creature_1"
        pointer-type="stl-string"/>
    <stl-vector name="gobble_vermin_creature_2"
        pointer-type="stl-string"/>
    <stl-vector name="infect_all" type-name="int32_t"
        ref-target="syndrome">
      v0.34.01; for spatter applied to all bp
    </stl-vector>
    <stl-vector name="infect_local" type-name="int32_t"
        ref-target="syndrome">
      v0.34.01; for spatter applied to one bp
    </stl-vector>
    <stl-vector name="unk23f" type-name="int32_t">
      v0.34.01
    </stl-vector>
    <stl-vector name="unk23g" type-name="int32_t">
      v0.34.01
    </stl-vector>
    <df-flagarray name="unk24_flags"/>
    <df-flagarray name="unk25_flags"/>
    <static-array name="armor_sizes" count="4">
      <static-array type-name="int32_t" count="4">
        index by LBSTEP
      </static-array>
      index by UBSTEP
    </static-array>
    <static-array type-name="int32_t" name="pants_sizes" count="4">
      index by LBSTEP
    </static-array>
    <int32_t name="helm_size"/>
    <static-array type-name="int32_t" name="shield_sizes" count="4">
      index by UPSTEP
    </static-array>
    <static-array type-name="int32_t" name="shoes_sizes" count="4">
      index by UPSTEP
    </static-array>
    <static-array type-name="int32_t" name="gloves_sizes" count="4">
      index by UPSTEP
    </static-array>
    <compound name="materials" type-name="material_vec_ref"/>
    <stl-vector name="unk_2f20" type-name="int16_t"/>
    <stl-vector name="unk_2f30" type-name="int8_t"/>
    <stl-vector name="unk_2f40" type-name="int32_t"/>
    <stl-vector name="unk_2f50" type-name="int16_t">
      v0.34.01
    </stl-vector>
    <int16_t name="mat_type" ref-target="material"
        aux-value="$$.mat_index"/>
    <int32_t name="mat_index"/>
  </compound>
  <static-array type-name="int32_t" name="habit_num" count="2"/>
  <stl-vector name="habit_1" type-name="int16_t"/>
  <stl-vector name="habit_2" type-name="int32_t"/>
  <stl-vector name="lair_1" type-name="int16_t"/>
  <stl-vector name="lair_2" type-name="int32_t"/>
  <stl-vector name="lair_characteristic_1" type-name="int16_t"/>
  <stl-vector name="lair_characteristic_2" type-name="int32_t"/>
  <static-array name="lair_hunter_speech" count="2">
    <stl-vector/>
  </static-array>
  <static-array name="unk29" count="2">
    <stl-vector/>
  </static-array>
  <static-array name="specific_food" count="2">
    <stl-vector/>
  </static-array>
  <stl-vector name="sound">
    <pointer/>
  </stl-vector>
  <stl-vector type-name="int32_t" name="sound_alert"/>
  <stl-vector type-name="int32_t" name="sound_peaceful_intermittent"
      refers-to="$$._global.sound[$]"/>
  <stl-vector type-name="pointer">
    v0.34.01
  </stl-vector>
  <int32_t name="smell_trigger"/>
  <int32_t name="odor_level"/>
  <stl-string name="odor_string"/>
  <int32_t name="low_light_vision"/>
  <stl-vector pointer-type="stl-string"
      name="sense_creature_class_1"/>
  <stl-vector type-name="int8_t" name="sense_creature_class_2"/>
  <stl-vector type-name="int16_t" name="sense_creature_class_3"/>
  <stl-vector type-name="int16_t" name="sense_creature_class_4"/>
  <stl-vector type-name="int16_t" name="sense_creature_class_5"/>
</struct-type>

creature-raws.creature_graphics_role

<enum-type type-name="creature_graphics_role">
  <enum-item name="DEFAULT"/>
  <enum-item name="ADVENTURER"/>
  <enum-item name="GUARD"/>
  <enum-item name="ROYALGUARD"/>
  <enum-item name="ANIMATED"/>
  <enum-item name="GHOST"/>
</enum-type>

creature-raws.tissue_style_type

<enum-type type-name="tissue_style_type" base-type="int16_t">
  <enum-item name="NEATLY_COMBED"/>
  <enum-item name="BRAIDED"/>
  <enum-item name="DOUBLE_BRAIDS"/>
  <enum-item name="PONY_TAILS"/>
  <enum-item name="CLEAN_SHAVEN"/>
</enum-type>

creature-raws.creature_graphics_appointment

<struct-type type-name="creature_graphics_appointment"
    key-field="token">
  <stl-string name="token"/>
  <static-array name="texpos" type-name="int32_t" count="6"
      index-enum="creature_graphics_role"/>
  <static-array name="texpos_gs" type-name="int32_t" count="6"
      index-enum="creature_graphics_role"/>
  <static-array name="add_color" type-name="bool" count="6"
      index-enum="creature_graphics_role"/>
</struct-type>

creature-raws.tissue_style_raw

<struct-type type-name="tissue_style_raw" key-field="id">
  <stl-string name="token"/>
  <stl-vector name="part_idx" type-name="int16_t"
      refers-to="$$._global._upglobal.body_info.body_parts[$]"/>
  <stl-vector name="layer_idx" type-name="int16_t"
      refers-to="$$._parent._parent.part_idx[$$._key].refers-to.layers
      [$]" index-refers-to="$$._parent.part_idx[$].refers-to"/>
  <stl-vector name="styles" type-name="tissue_style_type"/>
  <stl-vector name="list_idx" type-name="int32_t" refers-to="$$._globa
      l._upglobal.bp_appearance.style_layer_idx[$].refers-to"/>
  <int32_t name="id"/>
  <stl-string name="noun"/>
  <enum base-type="int16_t" type-name="part_of_speech"
      name="word_type">
    0 singular, 1 plural
  </enum>
</struct-type>

creature-raws.creature_raw

<struct-type type-name="creature_raw"
    instance-vector="$global.world.raws.creatures.all">
  <stl-string name="creature_id"/>
  <static-array type-name="stl-string" name="name" count="3"/>
  <static-array type-name="stl-string" name="general_baby_name"
      count="2"/>
  <static-array type-name="stl-string" name="general_child_name"
      count="2"/>
  <stl-string name="unk_v43_1">
    v0.43.01
  </stl-string>
  <uint8_t name="creature_tile"/>
  <uint8_t name="creature_soldier_tile"/>
  <uint8_t name="alttile"/>
  <uint8_t name="soldier_alttile"/>
  <uint8_t name="glowtile"/>
  <uint16_t name="temperature1"/>
  <uint16_t name="temperature2"/>
  <int16_t name="frequency"/>
  <static-array type-name="int16_t" name="population_number"
      count="2"/>
  <static-array type-name="int16_t" name="cluster_number" count="2"/>
  <static-array type-name="int16_t" name="triggerable_group"
      count="2"/>
  <static-array type-name="int16_t" name="color" count="3"/>
  <static-array type-name="int16_t" name="glowcolor" count="3"/>
  <int32_t name="adultsize"/>
  <stl-vector name="prefstring" pointer-type="stl-string"/>
  <stl-vector type-name="int16_t" name="sphere"/>
  <stl-vector name="caste" pointer-type="caste_raw"/>
  <stl-vector type-name="int32_t" name="pop_ratio"/>
  <df-flagarray name="flags" index-enum="creature_raw_flags"/>
  <compound name="graphics">
    <static-array name="texpos" type-name="int32_t" count="6"
        index-enum="creature_graphics_role"/>
    <static-array name="texpos_gs" type-name="int32_t" count="6"
        index-enum="creature_graphics_role"/>
    <static-array name="entity_link_texpos" count="6"
        index-enum="creature_graphics_role">
      <static-array count="18" type-name="int32_t"
          index-enum="histfig_entity_link_type"/>
    </static-array>
    <static-array name="entity_link_texpos_gs" count="6"
        index-enum="creature_graphics_role">
      <static-array count="18" type-name="int32_t"
          index-enum="histfig_entity_link_type"/>
    </static-array>
    <static-array name="site_link_texpos" count="6"
        index-enum="creature_graphics_role">
      <static-array count="8" type-name="int32_t"
          index-enum="histfig_site_link_type"/>
    </static-array>
    <static-array name="site_link_texpos_gs" count="6"
        index-enum="creature_graphics_role">
      <static-array count="8" type-name="int32_t"
          index-enum="histfig_site_link_type"/>
    </static-array>
    <static-array name="profession_texpos" count="6"
        index-enum="creature_graphics_role">
      <static-array count="129" type-name="int32_t"
          index-enum="profession"/>
    </static-array>
    <static-array name="profession_texpos_gs" count="6"
        index-enum="creature_graphics_role">
      <static-array count="129" type-name="int32_t"
          index-enum="profession"/>
    </static-array>
    <static-array name="add_color" type-name="bool" count="6"
        index-enum="creature_graphics_role"/>
    <static-array name="entity_link_add_color" count="6"
        index-enum="creature_graphics_role">
      <static-array count="18" type-name="bool"
          index-enum="histfig_entity_link_type"/>
    </static-array>
    <static-array name="site_link_add_color" count="6"
        index-enum="creature_graphics_role">
      <static-array count="8" type-name="bool"
          index-enum="histfig_site_link_type"/>
    </static-array>
    <static-array name="profession_add_color" count="6"
        index-enum="creature_graphics_role">
      <static-array count="129" type-name="bool"
          index-enum="profession"/>
    </static-array>
    <stl-vector name="appointments"
        pointer-type="creature_graphics_appointment"/>
  </compound>
  <stl-vector name="speech1" type-name="int8_t"/>
  <stl-vector name="speech2" type-name="int32_t"/>
  <stl-vector name="speech3"/>
  <stl-vector name="material" pointer-type="material"/>
  <stl-vector name="tissue" pointer-type="tissue"/>
  <compound name="profession_name">
    <static-array type-name="stl-string" name="singular" count="129"
        index-enum="profession"/>
    <static-array type-name="stl-string" name="plural" count="129"
        index-enum="profession"/>
  </compound>
  <int32_t name="underground_layer_min"/>
  <int32_t name="underground_layer_max"/>
  <stl-vector name="modifier_class">
    <int32_t/>
  </stl-vector>
  <stl-vector type-name="int32_t" name="modifier_num_patterns"
      index-refers-to="$$._parent.modifier_class[$].refers-to">
    for color modifiers, == number of items in their pattern_* vectors
  </stl-vector>
  <compound name="hive_product">
    <stl-vector type-name="int32_t" name="number"/>
    <stl-vector type-name="int32_t" name="time"/>
    <stl-vector name="item_type">
      <enum base-type="int16_t" type-name="item_type"/>
    </stl-vector>
    <stl-vector type-name="int16_t" name="item_subtype"/>
    <compound name="material" type-name="material_vec_ref"/>
    <static-array name="tmpstr" count="5">
      <stl-vector pointer-type="stl-string"/>
    </static-array>
  </compound>
  <int32_t name="source_hfid" ref-target="historical_figure"/>
  <int32_t name="unk_v4201_1" init-value="-1">
    v0.42.01
  </int32_t>
  <int32_t name="next_modifier_id"/>
  <stl-vector name="raws" pointer-type="stl-string"/>
</struct-type>

creature-raws.creature_variation_convert_tag

<struct-type type-name="creature_variation_convert_tag">
  <stl-string name="cvct_master"/>
  <stl-string name="cvct_target"/>
  <stl-string name="cvct_replacement"/>
  <int32_t name="unk_v40_1" init-value="-1">
    v0.40.1
  </int32_t>
  <stl-string name="unk_v40_2">
    v0.40.1
  </stl-string>
</struct-type>

creature-raws.creature_variation

<struct-type type-name="creature_variation"
    instance-vector="$global.world.raws.creature_variations">
  <stl-string name="id"/>
  <stl-vector name="cv_convert_tag"
      pointer-type="creature_variation_convert_tag"/>
  <stl-vector name="cv_new_tag" pointer-type="stl-string"/>
  <stl-vector name="cv_new_unk_v40_1" type-name="int32_t">
    v0.40.1
  </stl-vector>
  <stl-vector name="cv_new_unk_v40_2" pointer-type="stl-string">
    v0.40.1
  </stl-vector>
  <stl-vector name="cv_remove_tag" pointer-type="stl-string"/>
  <stl-vector name="cv_remove_unk_v40_1" type-name="int32_t">
    v0.40.1
  </stl-vector>
  <stl-vector name="cv_remove_unk_v40_2" pointer-type="stl-string">
    v0.40.1
  </stl-vector>
</struct-type>

creature-raws.body_part_template_flags

<enum-type type-name="body_part_template_flags">
  <enum-item name="HEAD"/>
  <enum-item name="UPPERBODY"/>
  <enum-item name="LOWERBODY"/>
  <enum-item name="SIGHT"/>
  <enum-item name="EMBEDDED"/>
  <enum-item name="INTERNAL"/>
  <enum-item name="CIRCULATION"/>
  <enum-item name="SKELETON"/>
  <enum-item name="LIMB"/>
  <enum-item name="GRASP"/>
  <enum-item name="STANCE"/>
  <enum-item name="GUTS"/>
  <enum-item name="BREATHE"/>
  <enum-item name="SMALL"/>
  <enum-item name="THROAT"/>
  <enum-item name="JOINT"/>
  <enum-item name="THOUGHT"/>
  <enum-item name="NERVOUS"/>
  <enum-item name="RIGHT"/>
  <enum-item name="LEFT"/>
  <enum-item name="HEAR"/>
  <enum-item name="SMELL"/>
  <enum-item name="FLIER"/>
  <enum-item name="DIGIT"/>
  <enum-item name="MOUTH"/>
  <enum-item name="APERTURE"/>
  <enum-item name="SOCKET"/>
  <enum-item name="TOTEMABLE"/>
  <enum-item name="UNDER_PRESSURE"/>
  <enum-item name="VERMIN_BUTCHER_ITEM"/>
  <enum-item name="CONNECTOR"/>
</enum-type>

creature-raws.body_part_template_contype

<enum-type type-name="body_part_template_contype" base-type="int16_t">
  <enum-item name="UPPERBODY"/>
  <enum-item name="LOWERBODY"/>
  <enum-item name="HEAD"/>
  <enum-item name="GRASP"/>
  <enum-item name="STANCE"/>
</enum-type>

creature-raws.body_part_template

<struct-type type-name="body_part_template">
  <stl-string name="id"/>
  <stl-string name="con"/>
  <stl-string name="category"/>
  <stl-string name="con_cat"/>
  <enum type-name="body_part_template_contype" base-type="int16_t"
      name="contype"/>
  <df-flagarray name="flags" index-enum="body_part_template_flags"/>
  <int32_t name="default_relsize"/>
  <int32_t name="number"/>
  <stl-vector name="name_singular" pointer-type="stl-string">
    first comes from BP, rest come from INDIVIDUAL_NAME
  </stl-vector>
  <stl-vector name="name_plural" pointer-type="stl-string"/>
</struct-type>

creature-raws.body_template

<struct-type type-name="body_template"
    instance-vector="$global.world.raws.body_templates">
  <stl-string name="id"/>
  <stl-vector name="parts" pointer-type="body_part_template"/>
</struct-type>

creature-raws.tissue_flags

<enum-type type-name="tissue_flags">
  <enum-item name="THICKENS_ON_STRENGTH"/>
  <enum-item name="THICKENS_ON_ENERGY_STORAGE"/>
  <enum-item name="ARTERIES"/>
  <enum-item name="SCARS"/>
  <enum-item name="STRUCTURAL"/>
  <enum-item name="NERVOUS"/>
  <enum-item name="THOUGHT"/>
  <enum-item name="MUSCULAR"/>
  <enum-item name="SMELL"/>
  <enum-item name="HEAR"/>
  <enum-item name="FLIGHT"/>
  <enum-item name="BREATHE"/>
  <enum-item name="SIGHT"/>
  <enum-item name="COSMETIC"/>
  <enum-item name="CONNECTS"/>
  <enum-item name="FUNCTIONAL"/>
  <enum-item name="MAJOR_ARTERIES"/>
  <enum-item name="TISSUE_LEAKS"/>
  <enum-item name="STYLEABLE"/>
  <enum-item name="CONNECTIVE_TISSUE_ANCHOR"/>
  <enum-item name="SETTABLE"/>
  <enum-item name="SPLINTABLE"/>
</enum-type>

creature-raws.tissue_template

<struct-type type-name="tissue_template"
    instance-vector="$global.world.raws.tissue_templates">
  <stl-string name="id"/>
  <df-flagarray name="flags" index-enum="tissue_flags"/>
  <stl-string name="tissue_name_singular"/>
  <stl-string name="tissue_name_plural"/>
  <static-array name="tissue_material_str" type-name="stl-string"
      count="3"/>
  <int16_t name="mat_type" ref-target="material"
      aux-value="$$.mat_index"/>
  <int32_t name="mat_index"/>
  <int32_t name="relative_thickness"/>
  <int32_t name="healing_rate"/>
  <int32_t name="vascular"/>
  <int32_t name="pain_receptors"/>
  <int16_t name="tissue_shape"/>
  <int32_t name="unk1" init-value="-1"/>
  <int16_t name="insulation"/>
  <stl-string name="subordinate_to_tissue"/>
  <enum base-type="int16_t" name="tissue_mat_state"
      type-name="matter_state"/>
  <stl-string name="tissue_shape_str"/>
</struct-type>

creature-raws.tissue

<struct-type type-name="tissue" key-field="id">
  <stl-string name="id"/>
  <df-flagarray name="flags" index-enum="tissue_flags"/>
  <stl-string name="tissue_name_singular"/>
  <stl-string name="tissue_name_plural"/>
  <static-array name="tissue_material_str" type-name="stl-string"
      count="3"/>
  <int16_t name="mat_type" ref-target="material"
      aux-value="$$.mat_index"/>
  <int32_t name="mat_index"/>
  <int32_t name="relative_thickness"/>
  <int32_t name="healing_rate"/>
  <int32_t name="vascular"/>
  <int32_t name="pain_receptors"/>
  <int16_t name="tissue_shape"/>
  <int32_t name="unk1" init-value="-1"/>
  <int16_t name="insulation"/>
  <stl-string name="subordinate_to_tissue"/>
  <int32_t name="parent_tissue"
      refers-to="$$._global._upglobal.tissue[$]"/>
  <enum base-type="int16_t" name="tissue_mat_state"
      type-name="matter_state"/>
  <uint16_t name="heatdam_point"/>
  <uint16_t name="colddam_point"/>
  <uint16_t name="ignite_point"/>
  <uint16_t name="melting_point"/>
  <uint16_t name="boiling_point"/>
  <uint16_t name="spec_heat"/>
  <stl-string name="tissue_shape_str"/>
</struct-type>

creature-raws.body_detail_plan

<struct-type type-name="body_detail_plan"
    instance-vector="$global.world.raws.body_detail_plans">
  <stl-string name="id"/>
  <stl-vector name="add_material_name" pointer-type="stl-string"/>
  <stl-vector name="add_material_template" pointer-type="stl-string"/>
  <stl-vector name="add_tissue_name" pointer-type="stl-string"/>
  <stl-vector name="add_tissue_template" pointer-type="stl-string"/>
  <stl-vector name="unk5c" type-name="int16_t"/>
  <stl-vector name="unk6c" pointer-type="stl-string"/>
  <stl-vector name="unk7c" pointer-type="stl-string"/>
  <stl-vector name="bp_layers_selection" type-name="int32_t"/>
  <stl-vector name="bp_layers_criteria" type-name="int16_t"/>
  <stl-vector name="bp_layers_tissue" type-name="int16_t"/>
  <stl-vector name="bp_layers_thickness" pointer-type="stl-string"/>
  <stl-vector name="bp_layers_position" type-name="int16_t"/>
  <stl-vector name="bp_layers_over_under" type-name="int8_t"/>
  <stl-vector name="bp_relsize_selection" type-name="int16_t"/>
  <stl-vector name="bp_relsize_criteria" pointer-type="stl-string"/>
  <stl-vector name="bp_relsize_value" type-name="int32_t"/>
  <stl-vector name="bp_position_selection" type-name="int16_t"/>
  <stl-vector name="bp_position_criteria" pointer-type="stl-string"/>
  <stl-vector name="bp_position_value" type-name="int16_t"/>
  <stl-vector name="bp_relation_selection_1" type-name="int16_t"/>
  <stl-vector name="bp_relation_criteria_1"
      pointer-type="stl-string"/>
  <stl-vector name="bp_relation_value_1" type-name="int16_t"/>
  <stl-vector name="bp_relation_selection_2" type-name="int16_t"/>
  <stl-vector name="bp_relation_criteria_2"
      pointer-type="stl-string"/>
  <stl-vector name="bp_relation_extent" type-name="int16_t"/>
</struct-type>