history

history.historical_kills

<struct-type type-name="historical_kills">
  -- Important
  <stl-vector name="events" type-name="int32_t"
      ref-target="history_event"/>
  <stl-vector name="killed_race" type-name="int16_t"
      ref-target="creature_raw"/>
  <stl-vector name="killed_caste" type-name="int16_t"
      ref-target="caste_raw"
      aux-value="$$._parent.killed_race[$._key]"/>
  <stl-vector name="unk_30" type-name="int32_t">
    -1
  </stl-vector>
  <stl-vector name="unk_40" type-name="int32_t">
    -1
  </stl-vector>
  <stl-vector name="killed_site" type-name="int32_t"
      ref-target="world_site"/>
  <stl-vector name="killed_undead">
    <bitfield base-type="uint16_t">
      <flag-bit name="skeletal"/>
      <flag-bit name="zombie"/>
      <flag-bit name="ghostly"/>
    </bitfield>
  </stl-vector>
  <stl-vector name="killed_count" type-name="int32_t"/>
</struct-type>

history.history_hit_item

<struct-type type-name="history_hit_item">
  <int32_t name="item" ref-target="item"/>
  <enum base-type="int16_t" name="item_type" type-name="item_type"/>
  <int16_t name="item_subtype" refers-to="(item-subtype-target
      $$._parent.item_type $)"/>
  <int16_t name="mattype" ref-target="material"
      aux-value="$$.matindex"/>
  <int32_t name="matindex"/>
  <int32_t name="shooter_item" ref-target="item"/>
  <enum base-type="int16_t" name="shooter_item_type"
      type-name="item_type"/>
  <int16_t name="shooter_item_subtype" refers-to="(item-subtype-target
       $$._parent.shooter_item_type $)"/>
  <int16_t name="shooter_mattype" ref-target="material"
      aux-value="$$.shooter_matindex"/>
  <int32_t name="shooter_matindex"/>
</struct-type>

history.historical_figure_info

<struct-type type-name="historical_figure_info">
  <pointer name="spheres">
    <stl-vector>
      <enum base-type="int16_t" type-name="sphere_type"/>
    </stl-vector>
  </pointer>
  <pointer name="skills">
    <stl-vector name="skills">
      <enum base-type="int16_t" type-name="job_skill"/>
    </stl-vector>
    <stl-vector name="points" type-name="int32_t"
        index-refers-to="$$._parent.skills[$]"/>
    <stl-vector name="unk_20" type-name="int16_t"/>
    <stl-vector name="unk_30" type-name="int32_t"/>
    <enum base-type="int16_t" name="profession"
        type-name="profession"/>
  </pointer>
  <pointer name="pets">
    <stl-vector type-name="int16_t" ref-target="creature_raw"/>
  </pointer>
  <pointer name="personality" type-name="unit_personality"/>
  <pointer name="masterpieces">
    <stl-vector name="events" type-name="int32_t"
        ref-target="history_event"/>
    <stl-vector name="events2" type-name="int32_t"
        ref-target="history_event">
      ones that were stolen or destroyed?
    </stl-vector>
    <stl-vector name="unk_v43_1">
      v0.43.01
    </stl-vector>
    <stl-vector name="unk_v43_2">
      v0.43.01
    </stl-vector>
  </pointer>
  <pointer name="unk_14">
    <int16_t name="unk_0"/>
    <int32_t name="site" ref-target="world_site"/>
    <int32_t name="region_id" ref-target="world_region"/>
    <int32_t name="beast_id" init-value="-1">
      for FB
    </int32_t>
    <int32_t/>
    <int32_t/>
    <int32_t/>
    <int32_t/>
    <int32_t/>
    <compound name="region" type-name="coord2d"/>
    <int8_t name="unk_14"/>
    <int32_t name="unk_18"/>
    <int32_t name="unk_1c"/>
    <int32_t name="unk_34">
      v0.42.01
    </int32_t>
    <int32_t name="unk_38">
      v0.42.01
    </int32_t>
  </pointer>
  <pointer name="kills" type-name="historical_kills"/>
  <pointer name="wounds">
    <stl-vector name="events" type-name="int32_t"
        ref-target="history_event"/>
    <stl-bit-vector name="status"/>
    <int32_t/>
    <int32_t/>
    <int32_t>
      v0.40.17-19
    </int32_t>
  </pointer>
  <pointer name="secret">
    <stl-vector name="interactions" pointer-type="interaction"/>
    <int32_t name="unk_10"/>
    <stl-vector name="read_books" type-name="int32_t"
        refers-to="$global.world.written_contents.all[$].type
        $global.world.written_contents.all[$].title"/>
    <stl-vector type-name="int32_t"/>
    <stl-vector>
      <pointer>
        <int32_t/>
        <int32_t/>
        <int32_t/>
        <int32_t/>
        <int32_t/>
        <int32_t/>
      </pointer>
    </stl-vector>
    <stl-vector pointer-type="entity_event"/>
    <stl-vector type-name="int32_t"/>
    <stl-vector type-name="int32_t"/>
    <stl-vector type-name="int32_t"/>
    <stl-vector type-name="int32_t"/>
    <stl-vector>
      <pointer>
        <int32_t/>
        <int32_t/>
        <stl-vector type-name="int32_t"/>
        <stl-vector type-name="int32_t"/>
        <stl-vector type-name="int32_t"/>
      </pointer>
    </stl-vector>
    <stl-vector name='read_books' pointer-type='written_content'/>
    <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="unk_v4201_3">
      v0.42.01
    </stl-vector>
    <int32_t name="unk_v4201_4">
      v0.42.01
    </int32_t>
    <int32_t name="unk_v4201_5">
      v0.42.01
    </int32_t>
    v0.34.01
  </pointer>
  <pointer name="curse">
    <stl-vector name="active_interactions"
        pointer-type="interaction"/>
    <stl-vector name="active_effects"
        pointer-type="interaction_effect"/>
    <stl-vector name="can_do" pointer-type="interaction"/>
    <int32_t name="unk_30"/>
    <int32_t name="unk_34"/>
    <int32_t name="unk_38"/>
    <int32_t name="unk_3c"/>
    <int8_t name="unk_40"/>
    <stl-string name="name"/>
    <stl-string name="name_plural"/>
    <stl-string name="name_adjective"/>
    <int32_t name="race" ref-target="creature_raw"/>
    <int16_t name="caste" ref-target="caste_raw" aux-value="$$.race"/>
    <stl-vector type-name="int32_t" name="unk_a0"/>
    <stl-vector type-name="int32_t" name="unk_b0"/>
    <stl-vector type-name="int32_t" name="unk_c0"/>
    <int32_t name="unk_d0"/>
    <int32_t name="unk_d4"/>
    <int32_t name="unk_d8"/>
    <int32_t name="unk_dc"/>
    <stl-string name="unk_e0"/>
    <int32_t name="unk_fc"/>
    v0.34.01
  </pointer>
  <pointer name="books">
    <stl-vector pointer-type="artifact_record"/>
    v0.34.01
  </pointer>
  <pointer name="reputation">
    <stl-vector name="wanted">
      <pointer>
        <int32_t name="entity_id" ref-target="historical_entity"/>
        <stl-vector type-name="int32_t"/>
        <stl-vector type-name="int32_t"/>
        <int32_t name="discovered_year"/>
        <int32_t name="discovered_time"/>
        <int32_t name="unsolved_murders"/>
      </pointer>
    </stl-vector>
    <stl-vector>
      same exact struct as above
      <pointer>
        <int32_t name="entity_id" ref-target="historical_entity"/>
        <stl-vector type-name="int32_t"/>
        <stl-vector type-name="int32_t"/>
        <int32_t name="discovered_year"/>
        <int32_t name="discovered_time"/>
        <int32_t name="unsolved_murders"/>
      </pointer>
    </stl-vector>
    <int32_t name="cur_identity" ref-target="identity"/>
    <stl-vector name="all_identities" type-name="int32_t"
        ref-target="identity"/>
    <int32_t/>
    v0.34.01
  </pointer>
  <pointer name="relationships">
    <stl-vector name="list">
      <pointer>
        <int32_t name="histfig_id" ref-target="historical_figure"/>
        <int32_t/>
        <stl-vector type-name="int32_t"/>
        <stl-vector type-name="int32_t"/>
        <stl-vector type-name="int32_t"/>
        <int32_t/>
        <int32_t name="year"/>
        <int32_t name="year_tick"/>
      </pointer>
    </stl-vector>
    <stl-vector name="identities" type-name="int32_t"
        ref-target="cultural_identity"/>
  </pointer>
</struct-type>

history.histfig_flags

<enum-type type-name="histfig_flags">
  <enum-item name="reveal_artwork"/>
  <enum-item name="equipment_created"/>
  <enum-item name="deity"/>
  <enum-item name="force"/>
  <enum-item name="skeletal_deity"/>
  <enum-item name="rotting_deity"/>
  <enum-item name="worldgen_acted"/>
  <enum-item name="ghost"/>
  <enum-item name="skin_destroyed"/>
  <enum-item name="meat_destroyed"/>
  <enum-item name="bones_destroyed"/>
  <enum-item name="brag_on_kill"/>
  <enum-item name="kill_quest"/>
  <enum-item name="chatworthy"/>
  <enum-item name="flashes"/>
  <enum-item name="never_cull"/>
</enum-type>

history.histfig_relationship_type

<enum-type type-name="histfig_relationship_type" base-type="int16_t">
  -- Can be checked through viewscreen_layer_unit_relationshipst
  <enum-item name="None" value="-1"/>
  <enum-item name="Mother"/>
  <enum-item name="Father"/>
  <enum-item name="Parent"/>
  <enum-item name="Husband"/>
  <enum-item name="Wife"/>
  <enum-item name="Spouse"/>
  <enum-item name="SonEldest"/>
  <enum-item name="SonEldest2"/>
  <enum-item name="SonEldest3"/>
  <enum-item name="SonEldest4"/>
  <enum-item name="SonEldest5"/>
  <enum-item name="SonEldest6"/>
  <enum-item name="SonEldest7"/>
  <enum-item name="SonEldest8"/>
  <enum-item name="SonEldest9"/>
  <enum-item name="SonEldest10"/>
  <enum-item name="Son"/>
  <enum-item name="SonYoungest"/>
  <enum-item name="SonOnly"/>
  <enum-item name="DaughterEldest"/>
  <enum-item name="DaughterEldest2"/>
  <enum-item name="DaughterEldest3"/>
  <enum-item name="DaughterEldest4"/>
  <enum-item name="DaughterEldest5"/>
  <enum-item name="DaughterEldest6"/>
  <enum-item name="DaughterEldest7"/>
  <enum-item name="DaughterEldest8"/>
  <enum-item name="DaughterEldest9"/>
  <enum-item name="DaughterEldest10"/>
  <enum-item name="Daughter"/>
  <enum-item name="DaughterOnly"/>
  <enum-item name="DaughterYoungest"/>
  <enum-item name="ChildEldest"/>
  <enum-item name="ChildEldest2"/>
  <enum-item name="ChildEldest3"/>
  <enum-item name="ChildEldest4"/>
  <enum-item name="ChildEldest5"/>
  <enum-item name="ChildEldest6"/>
  <enum-item name="ChildEldest7"/>
  <enum-item name="ChildEldest8"/>
  <enum-item name="ChildEldest9"/>
  <enum-item name="ChildEldest10"/>
  <enum-item name="Child"/>
  <enum-item name="ChildYoungest"/>
  <enum-item name="ChildOnly"/>
  <enum-item name="PaternalGrandmother"/>
  <enum-item name="PaternalGrandfather"/>
  <enum-item name="MaternalGrandmother"/>
  <enum-item name="MaternalGrandfather"/>
  <enum-item name="Grandmother"/>
  <enum-item name="Grandfather"/>
  <enum-item name="Grandparent"/>
  <enum-item name="OlderBrother"/>
  <enum-item name="OlderSister"/>
  <enum-item name="OlderSibling"/>
  <enum-item name="YoungerBrother"/>
  <enum-item name="YoungerSister"/>
  <enum-item name="YoungerSibling"/>
  <enum-item name="Cousin"/>
  <enum-item name="Aunt"/>
  <enum-item name="Uncle"/>
  <enum-item name="Niece"/>
  <enum-item name="Nephew"/>
  <enum-item name="Sibling"/>
  <enum-item name="Grandchild"/>
</enum-type>

history.historical_figure

<struct-type type-name="historical_figure"
    instance-vector="$global.world.history.figures" key-field="id">
  <enum base-type="int16_t" name="profession" type-name="profession"/>
  <int16_t name="race" ref-target="creature_raw"/>
  <int16_t name="caste" ref-target="caste_raw" aux-value="$$.race"/>
  <int8_t name="sex">
    -1 n/a, 0 female, 1 male
  </int8_t>
  <compound type-name="orientation_flags" name="orientation_flags"/>
  <int32_t name="appeared_year"/>
  <int32_t name="born_year"/>
  <int32_t name="born_seconds"/>
  <int32_t name="curse_year">
    v0.34.01
  </int32_t>
  <int32_t name="curse_seconds">
    v0.34.01
  </int32_t>
  <int32_t name="birth_year_bias" init-value="0">
    v0.34.01
  </int32_t>
  <int32_t name="birth_time_bias" init-value="0">
    v0.34.01
  </int32_t>
  <int32_t name="old_year"/>
  <int32_t name="old_seconds"/>
  <int32_t name="died_year"/>
  <int32_t name="died_seconds"/>
  <compound type-name="language_name" name="name"/>
  <int32_t name="civ_id" ref-target="historical_entity"/>
  <int32_t name="population_id" ref-target="entity_population"/>
  <int32_t name="breed_id">
    from legends export
  </int32_t>
  <int32_t name="cultural_identity" ref-target="cultural_identity">
    v0.40.1
  </int32_t>
  <df-flagarray name="flags" index-enum="histfig_flags"/>
  <int32_t name="unit_id" ref-target="unit"/>
  <int32_t name="unit_id2" ref-target="unit">
    v0.40.1, sometimes garbage
  </int32_t>
  <int32_t name="id"/>
  <int32_t name="unk4"/>
  <stl-vector name="entity_links" pointer-type="histfig_entity_link"/>
  <stl-vector name="site_links" pointer-type="histfig_site_link"/>
  <stl-vector name="histfig_links" pointer-type="histfig_hf_link"/>
  <pointer name="info" type-name="historical_figure_info"/>
  <compound name="worldgen">
    <pointer name="unk_0" type-name="world_site"/>
    <pointer name="unk_4" type-name="language_name"/>
    <pointer name="unk_8" type-name="world_underground_region"/>
    <pointer name="unk_c">
      <df-array name="unk_0" type-name="uint8_t"/>
      <df-array name="unk_8" type-name="int16_t"/>
    </pointer>
    <int32_t name="unk_10"/>
  </compound>
  <int32_t name="unk_v4019_1" init-value="-1">
    v0.40.17-19
  </int32_t>
</struct-type>

history.identity

<struct-type type-name="identity"
    instance-vector="$global.world.identities.all" key-field="id">
  dtor 0x8C17FA0
  <int32_t name="id"/>
  <compound name="name" type-name="language_name"/>
  <int32_t name="race" ref-target="creature_raw"/>
  <int16_t name="caste" ref-target="caste_raw" aux-value="$$.race"/>
  <int32_t name="histfig_id" ref-target="historical_figure">
    when masquerading as another historical figure
  </int32_t>
  <int32_t name="unk_4c"/>
  <int32_t name="birth_year">
    the fake one, that is
  </int32_t>
  <int32_t name="birth_second"/>
</struct-type>

history.history_event_type

<enum-type type-name="history_event_type">
  <enum-item name="WAR_ATTACKED_SITE"/>
  <enum-item name="WAR_DESTROYED_SITE"/>
  <enum-item name="CREATED_SITE"/>
  <enum-item name="HIST_FIGURE_DIED"/>
  <enum-item name="ADD_HF_ENTITY_LINK"/>
  <enum-item name="REMOVE_HF_ENTITY_LINK"/>
  <enum-item name="FIRST_CONTACT"/>
  <enum-item name="FIRST_CONTACT_FAILED"/>
  <enum-item name="TOPICAGREEMENT_CONCLUDED"/>
  <enum-item name="TOPICAGREEMENT_REJECTED"/>
  <enum-item name="TOPICAGREEMENT_MADE"/>
  <enum-item name="WAR_PEACE_ACCEPTED"/>
  <enum-item name="WAR_PEACE_REJECTED"/>
  <enum-item name="DIPLOMAT_LOST"/>
  <enum-item name="AGREEMENTS_VOIDED"/>
  <enum-item name="MERCHANT"/>
  <enum-item name="ARTIFACT_HIDDEN"/>
  <enum-item name="ARTIFACT_POSSESSED"/>
  <enum-item name="ARTIFACT_CREATED"/>
  <enum-item name="ARTIFACT_LOST"/>
  <enum-item name="ARTIFACT_FOUND"/>
  <enum-item name="ARTIFACT_RECOVERED"/>
  <enum-item name="ARTIFACT_DROPPED"/>
  <enum-item name="RECLAIM_SITE"/>
  <enum-item name="HF_DESTROYED_SITE"/>
  <enum-item name="SITE_DIED"/>
  <enum-item name="SITE_RETIRED"/>
  <enum-item name="ENTITY_CREATED"/>
  <enum-item name="ENTITY_ACTION"/>
  <enum-item name="ENTITY_INCORPORATED"/>
  <enum-item name="CREATED_BUILDING"/>
  <enum-item name="REPLACED_BUILDING"/>
  <enum-item name="ADD_HF_SITE_LINK"/>
  <enum-item name="REMOVE_HF_SITE_LINK"/>
  <enum-item name="ADD_HF_HF_LINK"/>
  <enum-item name="REMOVE_HF_HF_LINK"/>
  <enum-item name="ENTITY_RAZED_BUILDING"/>
  <enum-item name="MASTERPIECE_CREATED_ARCH_DESIGN"/>
  <enum-item name="MASTERPIECE_CREATED_ARCH_CONSTRUCT"/>
  <enum-item name="MASTERPIECE_CREATED_ITEM"/>
  <enum-item name="MASTERPIECE_CREATED_DYE_ITEM"/>
  <enum-item name="MASTERPIECE_CREATED_ITEM_IMPROVEMENT"/>
  <enum-item name="MASTERPIECE_CREATED_FOOD"/>
  <enum-item name="MASTERPIECE_CREATED_ENGRAVING"/>
  <enum-item name="MASTERPIECE_LOST"/>
  <enum-item name="CHANGE_HF_STATE"/>
  <enum-item name="CHANGE_HF_JOB"/>
  <enum-item name="WAR_FIELD_BATTLE"/>
  <enum-item name="WAR_PLUNDERED_SITE"/>
  <enum-item name="WAR_SITE_NEW_LEADER"/>
  <enum-item name="WAR_SITE_TRIBUTE_FORCED"/>
  <enum-item name="WAR_SITE_TAKEN_OVER"/>
  <enum-item name="BODY_ABUSED"/>
  <enum-item name="HIST_FIGURE_ABDUCTED"/>
  <enum-item name="ITEM_STOLEN"/>
  <enum-item name="HF_RAZED_BUILDING"/>
  <enum-item name="CREATURE_DEVOURED"/>
  <enum-item name="HIST_FIGURE_WOUNDED"/>
  <enum-item name="HIST_FIGURE_SIMPLE_BATTLE_EVENT"/>
  <enum-item name="CREATED_WORLD_CONSTRUCTION"/>
  <enum-item name="HIST_FIGURE_REUNION"/>
  <enum-item name="HIST_FIGURE_REACH_SUMMIT"/>
  <enum-item name="HIST_FIGURE_TRAVEL"/>
  <enum-item name="HIST_FIGURE_NEW_PET"/>
  <enum-item name="ASSUME_IDENTITY"/>
  <enum-item name="CREATE_ENTITY_POSITION"/>
  <enum-item name="CHANGE_CREATURE_TYPE"/>
  <enum-item name="HIST_FIGURE_REVIVED"/>
  <enum-item name="HF_LEARNS_SECRET"/>
  <enum-item name="CHANGE_HF_BODY_STATE"/>
  <enum-item name="HF_ACT_ON_BUILDING"/>
  <enum-item name="HF_DOES_INTERACTION"/>
  <enum-item name="HF_CONFRONTED"/>
  <enum-item name="ENTITY_LAW"/>
  <enum-item name="HF_GAINS_SECRET_GOAL"/>
  <enum-item name="ARTIFACT_STORED"/>
  <enum-item name="AGREEMENT_FORMED"/>
  <enum-item name="SITE_DISPUTE"/>
  <enum-item name="AGREEMENT_CONCLUDED"/>
  <enum-item name="INSURRECTION_STARTED"/>
  <enum-item name="INSURRECTION_ENDED"/>
  <enum-item name="HF_ATTACKED_SITE"/>
  <enum-item name="PERFORMANCE"/>
  <enum-item name="COMPETITION"/>
  <enum-item name="PROCESSION"/>
  <enum-item name="CEREMONY"/>
  <enum-item name="KNOWLEDGE_DISCOVERED"/>
  <enum-item name="ARTIFACT_TRANSFORMED"/>
  <enum-item name="ARTIFACT_DESTROYED"/>
  <enum-item name="HF_RELATIONSHIP_DENIED"/>
  <enum-item name="REGIONPOP_INCORPORATED_INTO_ENTITY"/>
  <enum-item name="POETIC_FORM_CREATED"/>
  <enum-item name="MUSICAL_FORM_CREATED"/>
  <enum-item name="DANCE_FORM_CREATED"/>
  <enum-item name="WRITTEN_CONTENT_COMPOSED"/>
</enum-type>

history.history_event_context

<struct-type type-name="history_event_context">
  <int32_t/>
  <int32_t/>
  <int32_t name="histfig_id_talker" ref-target="historical_figure"/>
  <int32_t name="histfig_id_listener" ref-target="historical_figure"/>
</struct-type>

history.history_event

<class-type type-name="history_event" original-name="history_eventst"
    instance-vector="$global.world.history.events" key-field="id">
  <int32_t name="year"/>
  <int32_t name="seconds"/>
  <df-flagarray name="flags"/>
  <int32_t name="id"/>
  <virtual-methods>
    <vmethod ret-type="history_event_type" name="getType"/>
    <vmethod ret-type="int32_t" name="getWarStatus">
      <int32_t name="entity1" ref-target="historical_entity"/>
      <int32_t name="entity2" ref-target="historical_entity"/>
    </vmethod>
    <vmethod ret-type="int32_t" name="getAngerModifier">
      <int32_t name="entity1" ref-target="historical_entity"/>
      <int32_t name="entity2" ref-target="historical_entity"/>
    </vmethod>
    <vmethod ret-type="int32_t" name="getHappinessModifier">
      <int32_t name="entity1" ref-target="historical_entity"/>
      <int32_t name="entity2" ref-target="historical_entity"/>
    </vmethod>
    <vmethod ret-type="bool" name="madeFirstContact">
      <int32_t name="entity1" ref-target="historical_entity"/>
      <int32_t name="entity2" ref-target="historical_entity"/>
      <int32_t name="site" ref-target="world_site"/>
    </vmethod>
    <vmethod ret-type="int32_t" name="getKilledHistfigID">
      <int32_t name="killer" ref-target="historical_figure"/>
      <ret-type>
        <int32_t ref-target="historical_figure"/>
      </ret-type>
    </vmethod>
    <vmethod ret-type="bool" name="wasHistfigKilled">
      <int32_t name="victim" ref-target="historical_figure"/>
    </vmethod>
    <vmethod ret-type="bool" name="wasHistfigRevived">
      <int32_t name="histfig" ref-target="historical_figure"/>
    </vmethod>
    <vmethod>
      <int32_t/>
    </vmethod>
    <vmethod>
      <int32_t/>
    </vmethod>
    <vmethod name="getRelatedHistfigIDs">
      <pointer name="vec">
        <stl-vector type-name="int32_t"
            ref-target="historical_figure"/>
      </pointer>
    </vmethod>
    <vmethod name="getRelatedSiteIDs">
      <pointer name="vec">
        <stl-vector type-name="int32_t" ref-target="world_site"/>
      </pointer>
    </vmethod>
    <vmethod name="getRelatedSiteStructureIDs">
      <pointer name="vec1">
        <stl-vector type-name="int32_t" ref-target="world_site"/>
      </pointer>
      <pointer name="vec2">
        <stl-vector type-name="int32_t"
            ref-target="abstract_building"/>
      </pointer>
    </vmethod>
    <vmethod name="getRelatedArtifactIDs">
      <pointer name="vec">
        <stl-vector type-name="int32_t" ref-target="artifact_record"/>
      </pointer>
    </vmethod>
    <vmethod name="getRelatedRegionIDs">
      <pointer name="vec">
        <stl-vector type-name="int32_t" ref-target="world_region"/>
      </pointer>
    </vmethod>
    <vmethod name="getRelatedLayerIDs">
      <pointer name="vec">
        <stl-vector type-name="int32_t"
            ref-target="world_underground_region"/>
      </pointer>
    </vmethod>
    <vmethod name="getRelatedEntityIDs">
      <pointer name="vec">
        <stl-vector type-name="int32_t"
            ref-target="historical_entity"/>
      </pointer>
    </vmethod>
    <vmethod ret-type="bool" name="isRelatedToHistfigID">
      <int32_t name="histfig" ref-target="historical_figure"/>
    </vmethod>
    <vmethod ret-type="bool" name="isRelatedToSiteID">
      <int32_t name="site" ref-target="world_site"/>
    </vmethod>
    <vmethod ret-type="bool" name="isRelatedToSiteStructure">
      <int32_t name="site" ref-target="world_site"/>
      <int32_t name="structure" ref-target="abstract_building"/>
    </vmethod>
    <vmethod ret-type="bool" name="isRelatedToArtifactID">
      <int32_t name="artifact" ref-target="artifact_record"/>
    </vmethod>
    <vmethod ret-type="bool" name="isRelatedToRegionID">
      <int32_t name="region" ref-target="world_region"/>
    </vmethod>
    <vmethod ret-type="bool" name="isRelatedToLayerID">
      <int32_t name="region" ref-target="world_underground_region"/>
    </vmethod>
    <vmethod ret-type="bool">
      <int32_t/>
    </vmethod>
    <vmethod ret-type="bool" name="isRelatedToEntityID">
      <int32_t name="entity" ref-target="historical_entity"/>
    </vmethod>
    <vmethod ret-type="bool">
      <int32_t/>
    </vmethod>
    <vmethod name="getSentence">
      <pointer type-name="stl-string" name="str"/>
      <pointer type-name="history_event_context" name="context"/>
      <int32_t name="unk1">
        1
      </int32_t>
      <int32_t name="unk2">
        0
      </int32_t>
    </vmethod>
    <vmethod name="getPhrase">
      <pointer type-name="stl-string" name="str"/>
      <pointer type-name="history_event_context" name="context"/>
      <int32_t name="unk1">
        1
      </int32_t>
      <int32_t name="unk2">
        0
      </int32_t>
    </vmethod>
    <vmethod name="populateArtImage">
      <pointer type-name="art_image" name="image"/>
    </vmethod>
    <vmethod/>
    <vmethod/>
    <vmethod ret-type="bool">
      <int32_t/>
    </vmethod>
    <vmethod/>
    <vmethod/>
    <vmethod name="generate_xml">
      <pointer/>
      <pointer/>
    </vmethod>
    <vmethod name="write_file">
      <pointer name="file" type-name="file_compressorst"/>
    </vmethod>
    <vmethod name="read_file">
      <pointer name="file" type-name="file_compressorst"/>
      <int32_t name="loadversion"/>
    </vmethod>
    <vmethod/>
    <vmethod is-destructor="true"/>
  </virtual-methods>
</class-type>

history.history_event_war_attacked_sitest

<class-type type-name="history_event_war_attacked_sitest"
    inherits-from="history_event">
  <int32_t name="attacker_civ" ref-target="historical_entity"/>
  <int32_t name="defender_civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="attacker_general_hf" ref-target="historical_figure"/>
  <int32_t name="defender_general_hf" ref-target="historical_figure"/>
</class-type>

history.history_event_war_destroyed_sitest

<class-type type-name="history_event_war_destroyed_sitest"
    inherits-from="history_event">
  <int32_t name="attacker_civ" ref-target="historical_entity"/>
  <int32_t name="defender_civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_created_sitest

<class-type type-name="history_event_created_sitest"
    inherits-from="history_event">
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="builder_hf" ref-target="historical_figure">
    v0.40.01
  </int32_t>
</class-type>

history.death_type

<enum-type type-name="death_type" base-type="int16_t">
  <enum-item name="OLD_AGE"/>
  <enum-item name="HUNGER"/>
  <enum-item name="THIRST"/>
  <enum-item name="SHOT"/>
  <enum-item name="BLEED"/>
  <enum-item name="DROWN"/>
  <enum-item name="SUFFOCATE"/>
  <enum-item name="STRUCK_DOWN"/>
  <enum-item name="SCUTTLE">
    stuck wagons
  </enum-item>
  <enum-item name="COLLISION"/>
  <enum-item name="MAGMA">
    does not happen anymore?
  </enum-item>
  <enum-item name="MAGMA_MIST">
    does not happen anymore?
  </enum-item>
  <enum-item name="DRAGONFIRE"/>
  <enum-item name="FIRE"/>
  <enum-item name="SCALD">
    does not happen anymore?
  </enum-item>
  <enum-item name="CAVEIN"/>
  <enum-item name="DRAWBRIDGE"/>
  <enum-item name="FALLING_ROCKS">
    does not happen anymore?
  </enum-item>
  <enum-item name="CHASM"/>
  <enum-item name="CAGE"/>
  <enum-item name="MURDER"/>
  <enum-item name="TRAP"/>
  <enum-item name="VANISH">
    bogeyman
  </enum-item>
  <enum-item name="QUIT">
    Give in to starvation as adventurer
  </enum-item>
  <enum-item name="ABANDON"/>
  <enum-item name="HEAT"/>
  <enum-item name="COLD"/>
  <enum-item name="SPIKE"/>
  <enum-item name="ENCASE_LAVA"/>
  <enum-item name="ENCASE_MAGMA"/>
  <enum-item name="ENCASE_ICE"/>
  <enum-item name="BEHEAD">
    execution during worldgen
  </enum-item>
  <enum-item name="CRUCIFY">
    execution during worldgen
  </enum-item>
  <enum-item name="BURY_ALIVE">
    execution during worldgen
  </enum-item>
  <enum-item name="DROWN_ALT">
    execution during worldgen
  </enum-item>
  <enum-item name="BURN_ALIVE">
    execution during worldgen
  </enum-item>
  <enum-item name="FEED_TO_BEASTS">
    execution during worldgen
  </enum-item>
  <enum-item name="HACK_TO_PIECES">
    execution during worldgen
  </enum-item>
  <enum-item name="LEAVE_OUT_IN_AIR">
    execution during worldgen
  </enum-item>
  <enum-item name="BOIL">
    material state change
  </enum-item>
  <enum-item name="MELT">
    material state change
  </enum-item>
  <enum-item name="CONDENSE">
    material state change
  </enum-item>
  <enum-item name="SOLIDIFY">
    material state change
  </enum-item>
  <enum-item name="INFECTION"/>
  <enum-item name="MEMORIALIZE">
    put to rest
  </enum-item>
  <enum-item name="SCARE"/>
  <enum-item name="DARKNESS">
    died in the dark
  </enum-item>
  <enum-item name="COLLAPSE">
    used in 0.31 for undead
  </enum-item>
  <enum-item name="DRAIN_BLOOD"/>
  <enum-item name="SLAUGHTER"/>
  <enum-item name="VEHICLE"/>
  <enum-item name="FALLING_OBJECT"/>
</enum-type>

history.history_event_hist_figure_diedst

<class-type type-name="history_event_hist_figure_diedst"
    inherits-from="history_event">
  <int32_t name="victim_hf" ref-target="historical_figure"/>
  <int32_t name="slayer_hf" ref-target="historical_figure"/>
  <int32_t name="slayer_race" ref-target="creature_raw"/>
  <int32_t name="slayer_caste" ref-target="caste_raw"
      aux-value="$$.slayer_race"/>
  <compound name="weapon" type-name="history_hit_item"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="subregion" ref-target="world_region"/>
  <int32_t name="feature_layer"
      ref-target="world_underground_region"/>
  <enum base-type="int16_t" name="death_cause"
      type-name="death_type"/>
</class-type>

history.history_event_add_hf_entity_linkst

<class-type type-name="history_event_add_hf_entity_linkst"
    inherits-from="history_event">
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <enum base-type="int32_t" name="link_type"
      type-name="histfig_entity_link_type"/>
  <int32_t name="position_id">
    index into entity.positions.own
  </int32_t>
</class-type>

history.history_event_remove_hf_entity_linkst

<class-type type-name="history_event_remove_hf_entity_linkst"
    inherits-from="history_event">
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <enum base-type="int32_t" name="link_type"
      type-name="histfig_entity_link_type"/>
  <int32_t name="position_id">
    index into entity.positions.own
  </int32_t>
</class-type>

history.history_event_first_contactst

<class-type type-name="history_event_first_contactst"
    inherits-from="history_event">
  <int32_t name="contactor" ref-target="historical_entity"/>
  <int32_t name="contacted" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_first_contact_failedst

<class-type type-name="history_event_first_contact_failedst"
    inherits-from="history_event">
  <int32_t name="contactor" ref-target="historical_entity"/>
  <int32_t name="rejector" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_topicagreement_concludedst

<class-type type-name="history_event_topicagreement_concludedst"
    inherits-from="history_event">
  <int32_t name="source" ref-target="historical_entity"/>
  <int32_t name="destination" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <enum base-type="int16_t" type-name="meeting_topic" name="topic"/>
  <int32_t name="result">
    range from -3 to +2
  </int32_t>
</class-type>

history.history_event_topicagreement_rejectedst

<class-type type-name="history_event_topicagreement_rejectedst"
    inherits-from="history_event">
  <enum base-type="int16_t" type-name="meeting_topic" name="topic"/>
  <int32_t name="source" ref-target="historical_entity"/>
  <int32_t name="destination" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_topicagreement_madest

<class-type type-name="history_event_topicagreement_madest"
    inherits-from="history_event">
  <enum base-type="int16_t" type-name="meeting_topic" name="topic"/>
  <int32_t name="source" ref-target="historical_entity"/>
  <int32_t name="destination" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_war_peace_acceptedst

<class-type type-name="history_event_war_peace_acceptedst"
    inherits-from="history_event">
  <enum base-type="int16_t" type-name="meeting_topic" name="topic"/>
  <int32_t name="source" ref-target="historical_entity"/>
  <int32_t name="destination" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_war_peace_rejectedst

<class-type type-name="history_event_war_peace_rejectedst"
    inherits-from="history_event">
  <enum base-type="int16_t" type-name="meeting_topic" name="topic"/>
  <int32_t name="source" ref-target="historical_entity"/>
  <int32_t name="destination" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_diplomat_lostst

<class-type type-name="history_event_diplomat_lostst"
    inherits-from="history_event">
  <int32_t name="entity" ref-target="historical_entity"/>
  <int32_t name="involved" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_agreements_voidedst

<class-type type-name="history_event_agreements_voidedst"
    inherits-from="history_event">
  <int32_t name="source" ref-target="historical_entity"/>
  <int32_t name="destination" ref-target="historical_entity"/>
</class-type>

history.history_event_merchantst

<class-type type-name="history_event_merchantst"
    inherits-from="history_event">
  <int32_t name="source" ref-target="historical_entity"/>
  <int32_t name="destination" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <df-flagarray name="flags2"/>
</class-type>

history.history_event_artifact_hiddenst

<class-type type-name="history_event_artifact_hiddenst"
    inherits-from="history_event">
  <int32_t name="artifact" ref-target="artifact_record"/>
  <int32_t name="unit" ref-target="unit"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_artifact_possessedst

<class-type type-name="history_event_artifact_possessedst"
    inherits-from="history_event">
  <int32_t name="artifact" ref-target="artifact_record"/>
  <int32_t name="unit" ref-target="unit"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_artifact_createdst

<class-type type-name="history_event_artifact_createdst"
    inherits-from="history_event">
  <int32_t name="artifact_id" ref-target="artifact_record"/>
  <int32_t name="unit_id" ref-target="unit"/>
  <int32_t name="hfid" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
  <uint32_t name="flags2">
    1 = name_only
  </uint32_t>
</class-type>

history.history_event_artifact_lostst

<class-type type-name="history_event_artifact_lostst"
    inherits-from="history_event">
  <int32_t name="artifact" ref-target="artifact_record"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_artifact_foundst

<class-type type-name="history_event_artifact_foundst"
    inherits-from="history_event">
  <int32_t name="artifact" ref-target="artifact_record"/>
  <int32_t name="unit" ref-target="unit"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_artifact_recoveredst

<class-type type-name="history_event_artifact_recoveredst"
    inherits-from="history_event">
  <int32_t name="artifact" ref-target="artifact_record"/>
  <int32_t name="unit" ref-target="unit"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_artifact_droppedst

<class-type type-name="history_event_artifact_droppedst"
    inherits-from="history_event">
  <int32_t name="artifact" ref-target="artifact_record"/>
  <int32_t name="unit" ref-target="unit"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
  <df-flagarray name="flags2"/>
</class-type>

history.history_event_reclaim_sitest

<class-type type-name="history_event_reclaim_sitest"
    inherits-from="history_event">
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="flags">
    1 = unretire
  </int32_t>
</class-type>

history.history_event_hf_destroyed_sitest

<class-type type-name="history_event_hf_destroyed_sitest"
    inherits-from="history_event">
  <int32_t name="attacker_hf" ref-target="historical_figure"/>
  <int32_t name="defender_civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_site_diedst

<class-type type-name="history_event_site_diedst"
    inherits-from="history_event">
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="flags">
    1: abandoned
  </int32_t>
</class-type>

history.history_event_site_retiredst

<class-type type-name="history_event_site_retiredst"
    inherits-from="history_event">
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="flags">
    1: first time
  </int32_t>
</class-type>

history.history_event_entity_createdst

<class-type type-name="history_event_entity_createdst"
    inherits-from="history_event">
  <int32_t name="entity" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="structure" ref-target="abstract_building"/>
</class-type>

history.entity_action_type

<enum-type type-name="entity_action_type">
  <enum-item name="entity_primary_criminals"/>
  <enum-item name="entity_relocate"/>
</enum-type>

history.history_event_entity_actionst

<class-type type-name="history_event_entity_actionst"
    inherits-from="history_event">
  <int32_t name="entity" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="structure" ref-target="abstract_building"/>
  <enum base-type="int32_t" name="action"
      type-name="entity_action_type"/>
</class-type>

history.history_event_entity_incorporatedst

<class-type type-name="history_event_entity_incorporatedst"
    inherits-from="history_event">
  <int32_t name="migrant_entity" ref-target="historical_entity"/>
  <int32_t name="join_entity" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_created_buildingst

<class-type type-name="history_event_created_buildingst"
    inherits-from="history_event">
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="structure" ref-target="abstract_building"/>
  <int32_t name="builder_hf" ref-target="historical_figure"/>
</class-type>

history.history_event_replaced_buildingst

<class-type type-name="history_event_replaced_buildingst"
    inherits-from="history_event">
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="old_structure" ref-target="abstract_building"/>
  <int32_t name="new_structure" ref-target="abstract_building"/>
</class-type>

history.history_event_add_hf_site_linkst

<class-type type-name="history_event_add_hf_site_linkst"
    inherits-from="history_event">
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="structure" ref-target="abstract_building"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="civ" ref-target="historical_entity"/>
  <enum base-type="int32_t" name="type"
      type-name="histfig_site_link_type"/>
</class-type>

history.history_event_remove_hf_site_linkst

<class-type type-name="history_event_remove_hf_site_linkst"
    inherits-from="history_event">
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="structure" ref-target="abstract_building"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="civ" ref-target="historical_entity"/>
  <enum base-type="int32_t" name="type"
      type-name="histfig_site_link_type"/>
</class-type>

history.history_event_add_hf_hf_linkst

<class-type type-name="history_event_add_hf_hf_linkst"
    inherits-from="history_event">
  <int32_t name="hf" ref-target="historical_figure"/>
  <int32_t name="hf_target" ref-target="historical_figure"/>
  <enum base-type="int32_t" name="type"
      type-name="histfig_hf_link_type"/>
</class-type>

history.history_event_remove_hf_hf_linkst

<class-type type-name="history_event_remove_hf_hf_linkst"
    inherits-from="history_event">
  <int32_t name="hf" ref-target="historical_figure"/>
  <int32_t name="hf_target" ref-target="historical_figure"/>
  <enum base-type="int32_t" name="type"
      type-name="histfig_hf_link_type"/>
</class-type>

history.history_event_entity_razed_buildingst

<class-type type-name="history_event_entity_razed_buildingst"
    inherits-from="history_event">
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="structure" ref-target="abstract_building"/>
</class-type>

history.history_event_masterpiece_createdst

<class-type type-name="history_event_masterpiece_createdst"
    inherits-from="history_event">
  <int32_t name="maker" ref-target="historical_figure"/>
  <int32_t name="maker_entity" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_masterpiece_created_arch_designst

<class-type
    type-name="history_event_masterpiece_created_arch_designst"
    inherits-from="history_event_masterpiece_createdst">
  <int32_t/>
  <int16_t name="building_type"/>
  <int16_t name="building_subtype"/>
  <int32_t name="building_custom"/>
  <int32_t/>
</class-type>

history.history_event_masterpiece_created_arch_constructst

<class-type
    type-name="history_event_masterpiece_created_arch_constructst"
    inherits-from="history_event_masterpiece_createdst">
  <int32_t/>
  <int16_t name="building_type"/>
  <int16_t name="building_subtype"/>
  <int32_t name="building_custom"/>
  <int32_t/>
</class-type>

history.history_event_masterpiece_created_itemst

<class-type type-name="history_event_masterpiece_created_itemst"
    inherits-from="history_event_masterpiece_createdst">
  <enum base-type="int32_t" name="skill_used" type-name="job_skill"/>
  <enum base-type="int16_t" name="item_type" type-name="item_type"/>
  <int16_t name="item_subtype" refers-to="(item-subtype-target
      $$._parent.item_type $)"/>
  <int16_t name="mat_type" ref-target="material"
      aux-value="$$.mat_index"/>
  <int16_t name="mat_index"/>
  <int32_t name="item_id" ref-target="item"/>
</class-type>

history.history_event_masterpiece_created_dye_itemst

<class-type type-name="history_event_masterpiece_created_dye_itemst"
    inherits-from="history_event_masterpiece_createdst">
  <int32_t/>
  <enum base-type="int16_t" name="item_type" type-name="item_type"/>
  <int16_t name="item_subtype" refers-to="(item-subtype-target
      $$._parent.item_type $)"/>
  <int16_t name="mat_type" ref-target="material"
      aux-value="$$.mat_index"/>
  <int32_t name="mat_index"/>
  <int32_t/>
  <int16_t name="dye_mat_type" ref-target="material"
      aux-value="$$.dye_mat_index"/>
  <int32_t name="dye_mat_index"/>
</class-type>

history.history_event_masterpiece_created_item_improvementst

<class-type
    type-name="history_event_masterpiece_created_item_improvementst"
    inherits-from="history_event_masterpiece_createdst">
  <int32_t/>
  <enum base-type="int16_t" name="item_type" type-name="item_type"/>
  <int16_t name="item_subtype" refers-to="(item-subtype-target
      $$._parent.item_type $)"/>
  <int16_t name="mat_type" ref-target="material"
      aux-value="$$.mat_index"/>
  <int32_t name="mat_index"/>
  <int32_t/>
  <enum base-type="int16_t" name="improvement_type"
      type-name="improvement_type"/>
  <int32_t name="improvement_subtype"/>
  <int16_t name="imp_mat_type" ref-target="material"
      aux-value="$$.imp_mat_index"/>
  <int32_t name="imp_mat_index"/>
  <int32_t name="art_id" ref-target="art_image_chunk"/>
  <int16_t name="art_subid" ref-target="art_image"
      aux-value="$$.art_id"/>
</class-type>

history.history_event_masterpiece_created_foodst

<class-type type-name="history_event_masterpiece_created_foodst"
    inherits-from="history_event_masterpiece_createdst">
  <int32_t name="unk1"/>
  <int16_t name="item_subtype"
      refers-to="$global.world.raws.itemdefs.food[$]"/>
  <int32_t name="item_id" ref-target="item"/>
</class-type>

history.history_event_masterpiece_created_engravingst

<class-type type-name="history_event_masterpiece_created_engravingst"
    inherits-from="history_event_masterpiece_createdst">
  <enum base-type="int32_t" name="skill_rating"
      type-name="skill_rating">
    at the moment of creation
  </enum>
  <int32_t name="art_id" ref-target="art_image_chunk"/>
  <int16_t name="art_subid" ref-target="art_image"
      aux-value="$$.art_id"/>
</class-type>

history.masterpiece_loss_type

<enum-type type-name="masterpiece_loss_type" base-type="int16_t">
  <enum-item name="MELT"/>
  <enum-item name="MAGMA"/>
  <enum-item name="FORTIFICATION"/>
  <enum-item name="MINING"/>
  <enum-item name="CAVEIN"/>
  <enum-item name="VEGETATION"/>
</enum-type>

history.history_event_masterpiece_lostst

<class-type type-name="history_event_masterpiece_lostst"
    inherits-from="history_event">
  <int32_t name="creation_event" ref-target="history_event"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
  <enum base-type="int16_t" name="method"
      type-name="masterpiece_loss_type"/>
</class-type>

history.history_event_change_hf_statest

<class-type type-name="history_event_change_hf_statest"
    inherits-from="history_event">
  <int32_t name="hfid" ref-target="historical_figure"/>
  <enum base-type="int16_t" name="state">
    <enum-item name="Wandering"/>
    <enum-item name="Settled"/>
    <enum-item name="Refugee"/>
  </enum>
  <enum base-type="int32_t" name="substate">
    <enum-item name="Wandered" value="-1"/>
    <enum-item name="Fled" value="45"/>
    for state == Wandering
  </enum>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <compound name="region_pos" type-name="coord2d"/>
</class-type>

history.history_event_change_hf_jobst

<class-type type-name="history_event_change_hf_jobst"
    inherits-from="history_event">
  <int32_t name="hfid" ref-target="historical_figure"/>
  <enum base-type="int16_t" name="new_job" type-name="profession"/>
  <enum base-type="int16_t" name="old_job" type-name="profession"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
</class-type>

history.history_event_war_field_battlest

<class-type type-name="history_event_war_field_battlest"
    inherits-from="history_event">
  <int32_t name="attacker_civ" ref-target="historical_entity"/>
  <int32_t name="defender_civ" ref-target="historical_entity"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <compound name="region_pos" type-name="coord2d"/>
  <int32_t name="attacker_general_hf" ref-target="historical_figure"/>
  <int32_t name="defender_general_hf" ref-target="historical_figure"/>
</class-type>

history.history_event_war_plundered_sitest

<class-type type-name="history_event_war_plundered_sitest"
    inherits-from="history_event">
  <int32_t name="attacker_civ" ref-target="historical_entity"/>
  <int32_t name="defender_civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_war_site_new_leaderst

<class-type type-name="history_event_war_site_new_leaderst"
    inherits-from="history_event">
  <int32_t name="attacker_civ" ref-target="historical_entity"/>
  <int32_t name="new_site_civ" ref-target="historical_entity"/>
  <int32_t name="defender_civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <stl-vector name="new_leaders" type-name="int32_t"
      ref-target="historical_figure"/>
</class-type>

history.history_event_war_site_tribute_forcedst

<class-type type-name="history_event_war_site_tribute_forcedst"
    inherits-from="history_event">
  <int32_t name="attacker_civ" ref-target="historical_entity"/>
  <int32_t name="defender_civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_war_site_taken_overst

<class-type type-name="history_event_war_site_taken_overst"
    inherits-from="history_event">
  <int32_t name="attacker_civ" ref-target="historical_entity"/>
  <int32_t name="new_site_civ" ref-target="historical_entity"/>
  <int32_t name="defender_civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_body_abusedst

<class-type type-name="history_event_body_abusedst"
    inherits-from="history_event">
  <stl-vector name="bodies" type-name="int32_t"
      ref-target="historical_figure"/>
  <int32_t/>
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <compound name="region_pos" type-name="coord2d"/>
  <enum base-type="int16_t" name="abuse_type">
    <enum-item name="Impaled">
      props.item
    </enum-item>
    <enum-item name="Piled">
      props.pile_type
    </enum-item>
    <enum-item name="Flayed">
      props.structure
    </enum-item>
    <enum-item name="Hung">
      props.hung
    </enum-item>
    <enum-item name="Mutilated">
      no props
    </enum-item>
    <enum-item name="Animated">
      no props
    </enum-item>
  </enum>
  <compound name="props" is-union="true">
    <compound name="item">
      <enum base-type="int16_t" name="item_type"
          type-name="item_type">
        always WEAPON?
      </enum>
      <int32_t name="item_subtype" refers-to="(item-subtype-target
          $$._parent.item_type $)"/>
      <int16_t name="mat_type" ref-target="material"
          aux-value="$$.mat_index"/>
      <int32_t name="mat_index"/>
    </compound>
    <int32_t name="structure" ref-target="abstract_building"/>
    <enum base-type="int32_t" name="pile_type">
      <enum-item name="GrislyMound"/>
      <enum-item name="GrotesquePillar"/>
      <enum-item name="GruesomeSculpture"/>
    </enum>
    <compound name="hung">
      <int32_t name="tree" ref-target="plant_raw"/>
      <int16_t name="mat_type" ref-target="material"
          aux-value="$$.mat_index">
        rope
      </int16_t>
      <int32_t name="mat_index">
        rope
      </int32_t>
    </compound>
  </compound>
</class-type>

history.history_event_hist_figure_abductedst

<class-type type-name="history_event_hist_figure_abductedst"
    inherits-from="history_event">
  <int32_t name="target" ref-target="historical_figure"/>
  <int32_t name="snatcher" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
</class-type>

history.history_event_item_stolenst

<class-type type-name="history_event_item_stolenst"
    inherits-from="history_event">
  <enum base-type="int16_t" name="item_type" type-name="item_type"/>
  <int16_t name="item_subtype" refers-to="(item-subtype-target
      $$._parent.item_type $)"/>
  <int16_t name="mattype" ref-target="material"
      aux-value="$$.matindex"/>
  <int32_t name="matindex"/>
  <int32_t name="item" ref-target="item"/>
  <int32_t name="entity" ref-target="historical_entity"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="structure" ref-target="abstract_building"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <compound name="region_pos" type-name="coord2d"/>
  <int32_t/>
</class-type>

history.history_event_hf_razed_buildingst

<class-type type-name="history_event_hf_razed_buildingst"
    inherits-from="history_event">
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="structure" ref-target="abstract_building"/>
</class-type>

history.history_event_creature_devouredst

<class-type type-name="history_event_creature_devouredst"
    inherits-from="history_event">
  <int32_t name="victim" ref-target="historical_figure"/>
  <int32_t name="race" ref-target="creature_raw"/>
  <int16_t name="caste" ref-target="caste_raw" aux-value="$$.race"/>
  <int32_t name="eater" ref-target="historical_figure"/>
  <int32_t name="entity" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
</class-type>

history.history_event_hist_figure_woundedst

<class-type type-name="history_event_hist_figure_woundedst"
    inherits-from="history_event">
  <int32_t name="woundee" ref-target="historical_figure"/>
  <int32_t name="wounder" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <int32_t name="woundee_race" ref-target="creature_raw"/>
  <int16_t name="woundee_caste" ref-target="caste_raw"
      aux-value="$$.victim_race"/>
  <int16_t name="body_part"/>
  <enum name="injury_type" base-type="int16_t">
    <enum-item name="Smash"/>
    <enum-item name="Slash"/>
    <enum-item name="Stab"/>
    <enum-item name="Rip"/>
  </enum>
  <int8_t name="part_lost"/>
</class-type>

history.history_event_simple_battle_subtype

<enum-type type-name="history_event_simple_battle_subtype"
    base-type="int16_t">
  <enum-item name="SCUFFLE"/>
  <enum-item name="ATTACK"/>
  <enum-item name="SURPRISE"/>
  <enum-item name="AMBUSH"/>
  <enum-item name="HAPPEN_UPON"/>
  <enum-item name="CORNER"/>
  <enum-item name="CONFRONT"/>
  <enum-item name="LOSE_AFTER_RECEIVE_WOUND"/>
  <enum-item name="LOSE_AFTER_INFLICT_WOUND"/>
  <enum-item name="LOSE_AFTER_EXCHANGE_WOUND"/>
</enum-type>

history.history_event_hist_figure_simple_battle_eventst

<class-type
    type-name="history_event_hist_figure_simple_battle_eventst"
    inherits-from="history_event">
  <stl-vector name="group1" type-name="int32_t"
      ref-target="historical_figure"/>
  <stl-vector name="group2" type-name="int32_t"
      ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <enum base-type="int16_t" name="subtype"
      type-name="history_event_simple_battle_subtype"/>
</class-type>

history.history_event_created_world_constructionst

<class-type type-name="history_event_created_world_constructionst"
    inherits-from="history_event">
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="construction"/>
  <int32_t name="master_construction"/>
  <int32_t name="site1" ref-target="world_site"/>
  <int32_t name="site2" ref-target="world_site"/>
</class-type>

history.history_event_hist_figure_reunionst

<class-type type-name="history_event_hist_figure_reunionst"
    inherits-from="history_event">
  <stl-vector name="missing" type-name="int32_t"
      ref-target="historical_figure"/>
  <stl-vector name="reunited_with" type-name="int32_t"
      ref-target="historical_figure"/>
  <int32_t name="assistant" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
</class-type>

history.history_event_hist_figure_reach_summitst

<class-type type-name="history_event_hist_figure_reach_summitst"
    inherits-from="history_event">
  <stl-vector name="group" type-name="int32_t"
      ref-target="historical_figure"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <compound name="region_pos" type-name="coord2d"/>
</class-type>

history.history_event_hist_figure_travelst

<class-type type-name="history_event_hist_figure_travelst"
    inherits-from="history_event">
  <stl-vector name="group" type-name="int32_t"
      ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <enum name="reason" base-type="int32_t">
    <enum-item name="Journey">
      made a journey to
    </enum-item>
    <enum-item name="Return">
      returned to
    </enum-item>
    <enum-item name="Escape">
      escaped from
    </enum-item>
  </enum>
  <compound name="region_pos" type-name="coord2d"/>
</class-type>

history.history_event_hist_figure_new_petst

<class-type type-name="history_event_hist_figure_new_petst"
    inherits-from="history_event">
  <stl-vector name="group" type-name="int32_t"
      ref-target="historical_figure"/>
  <stl-vector name="pets" type-name="int16_t"
      ref-target="creature_raw"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <compound name="region_pos" type-name="coord2d"/>
</class-type>

history.history_event_assume_identityst

<class-type type-name="history_event_assume_identityst"
    inherits-from="history_event">
  <int32_t name="trickster" ref-target="historical_figure"/>
  <int32_t name="identity" ref-target="identity"/>
  <int32_t name="target" ref-target="historical_entity"/>
</class-type>

history.history_event_create_entity_positionst

<class-type type-name="history_event_create_entity_positionst"
    inherits-from="history_event">
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="position"/>
  <int16_t name="reason"/>
</class-type>

history.history_event_change_creature_typest

<class-type type-name="history_event_change_creature_typest"
    inherits-from="history_event">
  <int32_t name="changee" ref-target="historical_figure"/>
  <int32_t name="changer" ref-target="historical_figure"/>
  <int32_t name="old_race" ref-target="creature_raw"/>
  <int32_t name="old_caste" ref-target="caste_raw"
      aux-value="$$.race_from"/>
  <int32_t name="new_race" ref-target="creature_raw"/>
  <int32_t name="new_caste" ref-target="caste_raw"
      aux-value="$$.race_to"/>
</class-type>

history.history_event_hist_figure_revivedst

<class-type type-name="history_event_hist_figure_revivedst"
    inherits-from="history_event">
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <enum base-type="int16_t" name="ghost_type" type-name="ghost_type"/>
  <int32_t name="flags">
    1:again
  </int32_t>
</class-type>

history.history_event_hf_learns_secretst

<class-type type-name="history_event_hf_learns_secretst"
    inherits-from="history_event">
  <int32_t name="student" ref-target="historical_figure"/>
  <int32_t name="teacher" ref-target="historical_figure"/>
  <int32_t name="artifact" ref-target="artifact_record"/>
  <int32_t name="interaction" ref-target="interaction"/>
  <int32_t/>
</class-type>

history.histfig_body_state

<enum-type type-name="histfig_body_state" base-type="int8_t">
  <enum-item name="Active"/>
  <enum-item name="BuriedAtSite"/>
  <enum-item name="UnburiedAtBattlefield"/>
  <enum-item name="UnburiedAtSubregion"/>
  <enum-item name="UnburiedAtFeatureLayer"/>
  <enum-item name="EntombedAtSite"/>
  <enum-item name="UnburiedAtSite"/>
</enum-type>

history.history_event_change_hf_body_statest

<class-type type-name="history_event_change_hf_body_statest"
    inherits-from="history_event">
  <int32_t name="histfig" ref-target="historical_figure"/>
  <enum base-type="int8_t" name="body_state"
      type-name="histfig_body_state"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="structure" ref-target="abstract_building"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <compound name="region_pos" type-name="coord2d"/>
</class-type>

history.history_event_hf_act_on_buildingst

<class-type type-name="history_event_hf_act_on_buildingst"
    inherits-from="history_event">
  <enum name="action" base-type="int32_t">
    <enum-item name="Profane"/>
    <enum-item name="Disturb"/>
  </enum>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="structure" ref-target="abstract_building"/>
</class-type>

history.history_event_hf_does_interactionst

<class-type type-name="history_event_hf_does_interactionst"
    inherits-from="history_event">
  <int32_t name="doer" ref-target="historical_figure"/>
  <int32_t name="target" ref-target="historical_figure"/>
  <int32_t name="interaction" ref-target="interaction"/>
  <int32_t name="source" ref-target="interaction_source"
      aux-value="$$.interaction"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
</class-type>

history.history_event_hf_confrontedst

<class-type type-name="history_event_hf_confrontedst"
    inherits-from="history_event">
  <int32_t name="target" ref-target="historical_figure"/>
  <int32_t name="accuser" ref-target="historical_figure"/>
  <stl-vector name="reasons" type-name="int32_t"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <compound name="region_pos" type-name="coord2d"/>
</class-type>

history.history_event_entity_lawst

<class-type type-name="history_event_entity_lawst"
    inherits-from="history_event">
  <int32_t name="entity" ref-target="historical_entity"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="add_flags"/>
  <int32_t name="remove_flags"/>
</class-type>

history.history_event_hf_gains_secret_goalst

<class-type type-name="history_event_hf_gains_secret_goalst"
    inherits-from="history_event">
  <int32_t name="histfig" ref-target="historical_figure"/>
  <enum name="goal" type-name="goal_type" base-type="int32_t"/>
</class-type>

history.history_event_artifact_storedst

<class-type type-name="history_event_artifact_storedst"
    inherits-from="history_event">
  <int32_t name="artifact" ref-target="artifact_record"/>
  <int32_t name="unit" ref-target="unit"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_agreement_formedst

<class-type type-name="history_event_agreement_formedst"
    inherits-from="history_event">
  <int32_t name="agreement_id"/>
</class-type>

history.site_dispute_type

<enum-type type-name="site_dispute_type">
  <enum-item name="Territory"/>
  <enum-item name="WaterRights"/>
  <enum-item name="GrazingRights"/>
  <enum-item name="FishingRights"/>
  <enum-item name="RightsOfWay"/>
  <enum-item name="LivestockOwnership"/>
</enum-type>

history.history_event_site_disputest

<class-type type-name="history_event_site_disputest"
    inherits-from="history_event">
  <enum name="dispute_type" type-name="site_dispute_type"
      base-type="int32_t"/>
  <int32_t name="entity_1" ref-target="historical_entity"/>
  <int32_t name="entity_2" ref-target="historical_entity"/>
  <int32_t name="site_1" ref-target="world_site"/>
  <int32_t name="site_2" ref-target="world_site"/>
</class-type>

history.agreement_conclusion_reason

<enum-type type-name="agreement_conclusion_reason">
  <enum-item name="None"/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item name="PonderMisery"/>
  <enum-item name="MaintainBalance"/>
  <enum-item name="CreateMonumentToBoundaries"/>
  <enum-item name="SowChaos"/>
  <enum-item name="ProvideOpportunityForCourage"/>
  <enum-item name="MoreDeath"/>
  <enum-item name="AllGazeUponGruesomeVisage"/>
  <enum-item name="TestFortressesInSiege"/>
  <enum-item name="Whim"/>
  <enum-item name="BatheInMisery"/>
  <enum-item name="MoreMurder"/>
  <enum-item name="MakeNightmaresReal"/>
  <enum-item name="MakeEveryoneThralls"/>
  <enum-item name="PerpetrateTorture"/>
  <enum-item name="ProvideOpportunityForValor"/>
  <enum-item name="EternalWar"/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item name="ShouldHaveReachedGoal"/>
  <enum-item name="InsufficientProgressTowardGoal"/>
  <enum-item name="GoingWrongDirection"/>
  <enum-item name="ArrivedAtLocation"/>
  <enum-item name="EntityNoLongerRules"/>
  <enum-item name="LeftSite"/>
  <enum-item name="ReunitedWithLovedOne"/>
  <enum-item name="ViolentDisagreement"/>
  <enum-item name="Adopted"/>
  <enum-item/>
  <enum-item name="ArrivedAtPerson"/>
</enum-type>

history.history_event_agreement_concludedst

<class-type type-name="history_event_agreement_concludedst"
    inherits-from="history_event">
  <int32_t name="agreement_id"/>
  <int32_t name="subject_id"/>
  <enum name="reason" type-name="agreement_conclusion_reason"
      base-type="int32_t"/>
  <int32_t name="concluder_hf" ref-target="historical_figure"/>
</class-type>

history.history_event_insurrection_startedst

<class-type type-name="history_event_insurrection_startedst"
    inherits-from="history_event">
  <int32_t name="target_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.insurrection_outcome

<enum-type type-name="insurrection_outcome">
  <enum-item name="LeadershipOverthrown"/>
  <enum-item name="PopulationGone"/>
  <enum-item name="Crushed"/>
</enum-type>

history.history_event_insurrection_endedst

<class-type type-name="history_event_insurrection_endedst"
    inherits-from="history_event">
  <int32_t name="target_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
  <enum name="outcome" type-name="insurrection_outcome"
      base-type="int32_t"/>
</class-type>

history.history_event_hf_attacked_sitest

<class-type type-name="history_event_hf_attacked_sitest"
    inherits-from="history_event">
  <int32_t name="attacker_hf" ref-target="historical_figure"/>
  <int32_t name="defender_civ" ref-target="historical_entity"/>
  <int32_t name="site_civ" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_performancest

<class-type type-name="history_event_performancest"
    inherits-from="history_event">
  <int32_t name="entity" ref-target="historical_entity"/>
  <int32_t name="occasion"/>
  <int32_t name="schedule"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
</class-type>

history.history_event_competitionst

<class-type type-name="history_event_competitionst"
    inherits-from="history_event">
  <int32_t name="entity" ref-target="historical_entity"/>
  <int32_t name="occasion"/>
  <int32_t name="schedule"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <stl-vector type-name="int32_t" name="competitor_hf"
      ref-target="historical_figure"/>
  <stl-vector type-name="int32_t" name="winner_hf"
      ref-target="historical_figure"/>
</class-type>

history.history_event_processionst

<class-type type-name="history_event_processionst"
    inherits-from="history_event">
  <int32_t name="entity" ref-target="historical_entity"/>
  <int32_t name="occasion"/>
  <int32_t name="schedule"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
</class-type>

history.history_event_ceremonyst

<class-type type-name="history_event_ceremonyst"
    inherits-from="history_event">
  <int32_t name="entity" ref-target="historical_entity"/>
  <int32_t name="occasion"/>
  <int32_t name="schedule"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
</class-type>

history.history_event_knowledge_discoveredst

<class-type type-name="history_event_knowledge_discoveredst"
    inherits-from="history_event">
  <int32_t name="hf" ref-target="historical_figure"/>
  <compound name="knowledge"
      type-name="knowledge_scholar_category_flag"/>
  <int8_t name="first"/>
</class-type>

history.history_event_artifact_transformedst

<class-type type-name="history_event_artifact_transformedst"
    inherits-from="history_event">
  <int32_t name="new_artifact" ref-target="artifact_record"/>
  <stl-vector type-name="int32_t" name="old_artifact"
      ref-target="artifact_record"/>
  <int32_t name="unit" ref-target="unit"/>
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_artifact_destroyedst

<class-type type-name="history_event_artifact_destroyedst"
    inherits-from="history_event">
  <int32_t name="artifact" ref-target="artifact_record"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="destroyer_hf" ref-target="historical_figure"/>
  <int32_t name="destroyer_civ" ref-target="historical_entity"/>
</class-type>

history.history_event_hf_relationship_deniedst

<class-type type-name="history_event_hf_relationship_deniedst"
    inherits-from="history_event">
  <int32_t name="seeker_hf" ref-target="historical_figure"/>
  <int32_t name="target_hf" ref-target="historical_figure"/>
  <int32_t name="type"/>
  <int32_t name="reason"/>
  <int32_t name="reason2"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
</class-type>

history.history_event_regionpop_incorporated_into_entityst

<class-type
    type-name="history_event_regionpop_incorporated_into_entityst"
    inherits-from="history_event">
  <int32_t name="pop_race" ref-target="creature_raw"/>
  <int32_t name="number_moved"/>
  <int32_t name="pop_region" ref-target="world_region"/>
  <int32_t name="pop_layer" ref-target="world_underground_region"/>
  <int32_t name="join_entity" ref-target="historical_entity"/>
  <int32_t name="site" ref-target="world_site"/>
</class-type>

history.history_event_poetic_form_createdst

<class-type type-name="history_event_poetic_form_createdst"
    inherits-from="history_event">
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="form" ref-target="poetic_form"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <int32_t name="circumstance"/>
  <int32_t name="circumstance_id"/>
  <int32_t name="reason"/>
  <int32_t name="reason_id"/>
</class-type>

history.history_event_musical_form_createdst

<class-type type-name="history_event_musical_form_createdst"
    inherits-from="history_event">
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="form" ref-target="musical_form"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <int32_t name="circumstance"/>
  <int32_t name="circumstance_id"/>
  <int32_t name="reason"/>
  <int32_t name="reason_id"/>
</class-type>

history.history_event_dance_form_createdst

<class-type type-name="history_event_dance_form_createdst"
    inherits-from="history_event">
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="form" ref-target="dance_form"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <int32_t name="circumstance"/>
  <int32_t name="circumstance_id"/>
  <int32_t name="reason"/>
  <int32_t name="reason_id"/>
</class-type>

history.history_event_written_content_composedst

<class-type type-name="history_event_written_content_composedst"
    inherits-from="history_event">
  <int32_t name="histfig" ref-target="historical_figure"/>
  <int32_t name="content" ref-target="written_content"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <int32_t name="circumstance"/>
  <int32_t name="circumstance_id"/>
  <int32_t name="reason"/>
  <int32_t name="reason_id"/>
</class-type>

history.history_event_collection_type

<enum-type type-name="history_event_collection_type">
  <enum-item name="WAR"/>
  <enum-item name="BATTLE"/>
  <enum-item name="DUEL"/>
  <enum-item name="SITE_CONQUERED"/>
  <enum-item name="ABDUCTION"/>
  <enum-item name="THEFT"/>
  <enum-item name="BEAST_ATTACK"/>
  <enum-item name="JOURNEY"/>
  <enum-item name="INSURRECTION"/>
  <enum-item name="OCCASION"/>
  <enum-item name="PERFORMANCE"/>
  <enum-item name="COMPETITION"/>
  <enum-item name="PROCESSION"/>
  <enum-item name="CEREMONY"/>
  <enum-item name="PURGE"/>
</enum-type>

history.history_event_collection

<class-type type-name="history_event_collection"
    original-name="history_event_collectionst"
    instance-vector="$global.world.history.event_collections.all"
    key-field="id">
  <stl-vector name="events" type-name="int32_t"
      ref-target="history_event"/>
  <stl-vector name="collections" type-name="int32_t"
      ref-target="history_event_collection"/>
  <int32_t name="start_year"/>
  <int32_t name="end_year"/>
  <int32_t name="start_seconds"/>
  <int32_t name="end_seconds"/>
  <df-flagarray name="flags"/>
  <int32_t name="id"/>
  <virtual-methods>
    <vmethod ret-type="history_event_collection_type" name="getType"/>
    <vmethod name="generate_xml">
      <pointer/>
      <pointer/>
    </vmethod>
    <vmethod name="write_file">
      <pointer name="file" type-name="file_compressorst"/>
    </vmethod>
    <vmethod name="read_file">
      <pointer name="file" type-name="file_compressorst"/>
      <int32_t name="loadversion"/>
    </vmethod>
    <vmethod name="categorize"/>
    <vmethod name="uncategorize"/>
    <vmethod name="getName">
      <pointer name="string" type-name="stl-string"/>
    </vmethod>
    <vmethod name="getRegionCoords">
      <pointer name="x" type-name="int16_t"/>
      <pointer name="y" type-name="int16_t"/>
    </vmethod>
    <vmethod name="getParent" ret-type="int32_t"/>
    <vmethod ret-type="int32_t"/>
    <vmethod name="isBetweenEntities" ret-type="int32_t">
      <int32_t name="defender_civ"/>
      <int32_t name="attacker_civ"/>
    </vmethod>
    <vmethod name="updateEndTime"/>
    <vmethod is-destructor="true"/>
  </virtual-methods>
</class-type>

history.history_event_collection_warst

<class-type type-name="history_event_collection_warst"
    inherits-from="history_event_collection">
  <compound type-name="language_name" name="name"/>
  <stl-vector name="attacker_civ" type-name="int32_t"
      ref-target="historical_entity"/>
  <stl-vector name="defender_civ" type-name="int32_t"
      ref-target="historical_entity"/>
  <compound name="unk">
    <stl-vector type-name="int16_t"/>
    <stl-vector type-name="int32_t"/>
    <stl-vector type-name="int32_t"/>
    <stl-vector type-name="int32_t"/>
    <stl-vector type-name="int32_t"/>
    <int32_t/>
    <stl-vector name="ethics_unk1" type-name="int16_t"/>
    <stl-vector name="disputed_ethics" type-name="ethic_type"/>
    <stl-vector name="ethics_unk3" type-name="int32_t"/>
    <stl-vector name="dispute_severities" type-name="int32_t"/>
    <int32_t name="worst_severity"/>
    <stl-vector type-name="int16_t"/>
    <stl-vector type-name="int32_t"/>
    <stl-vector type-name="int32_t"/>
    <int32_t/>
  </compound>
</class-type>

history.history_event_collection_battlest

<class-type type-name="history_event_collection_battlest"
    inherits-from="history_event_collection">
  <compound type-name="language_name" name="name"/>
  <int32_t name="parent_collection"
      ref-target="history_event_collection"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <int32_t name="site" ref-target="world_site"/>
  <compound name="region_pos" type-name="coord2d"/>
  <stl-vector name="attacker_civ" type-name="int32_t"
      ref-target="historical_entity"/>
  <stl-vector name="defender_civ" type-name="int32_t"
      ref-target="historical_entity"/>
  <stl-vector name="attacker_hf" type-name="int32_t"
      ref-target="historical_figure"/>
  <stl-vector name="defender_hf" type-name="int32_t"
      ref-target="historical_figure"/>
  <stl-vector name="noncombat_hf" type-name="int32_t"
      ref-target="historical_figure"/>
  <stl-vector name="attacker_squad_entity_pop" type-name="int32_t"/>
  <stl-vector name="attacker_squad_counts" type-name="int32_t"/>
  <stl-vector name="attacker_squad_deaths" type-name="int32_t"/>
  <stl-vector name="attacker_squad_races" type-name="int32_t"
      ref-target="creature_raw"/>
  <stl-vector name="attacker_squad_sites" type-name="int32_t"
      ref-target="world_site"/>
  <stl-vector name="defender_squad_entity_pops" type-name="int32_t"/>
  <stl-vector name="defender_squad_counts" type-name="int32_t"/>
  <stl-vector name="defender_squad_deaths" type-name="int32_t"/>
  <stl-vector name="defender_squad_races" type-name="int32_t"
      ref-target="creature_raw"/>
  <stl-vector name="defender_squad_sites" type-name="int32_t"
      ref-target="world_site"/>
  <int16_t name="outcome">
    0 = attacker won, 1 = defender won
  </int16_t>
</class-type>

history.history_event_collection_duelst

<class-type type-name="history_event_collection_duelst"
    inherits-from="history_event_collection">
  <int32_t name="parent_collection"
      ref-target="history_event_collection"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <int32_t name="site" ref-target="world_site"/>
  <compound name="region_pos" type-name="coord2d"/>
  <int32_t name="attacker_hf" ref-target="historical_figure"/>
  <int32_t name="defender_hf" ref-target="historical_figure"/>
  <int32_t name="ordinal"/>
  <int8_t/>
</class-type>

history.history_event_collection_site_conqueredst

<class-type type-name="history_event_collection_site_conqueredst"
    inherits-from="history_event_collection">
  <int32_t name="parent_collection"
      ref-target="history_event_collection"/>
  <int32_t name="site" ref-target="world_site"/>
  <stl-vector name="attacker_civ" type-name="int32_t"
      ref-target="historical_entity"/>
  <stl-vector name="defender_civ" type-name="int32_t"
      ref-target="historical_entity"/>
  <int16_t>
    uninitialized
  </int16_t>
  <int32_t name="ordinal"/>
</class-type>

history.history_event_collection_abductionst

<class-type type-name="history_event_collection_abductionst"
    inherits-from="history_event_collection">
  <int32_t name="parent_collection"
      ref-target="history_event_collection"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <int32_t name="site" ref-target="world_site"/>
  <compound name="region_pos" type-name="coord2d"/>
  <int32_t name="attacker_civ" ref-target="historical_entity"/>
  <int32_t name="defender_civ" ref-target="historical_entity"/>
  <stl-vector name="snatcher_hf" type-name="int32_t"
      ref-target="historical_figure"/>
  <stl-vector name="victim_hf" type-name="int32_t"
      ref-target="historical_figure"/>
  <stl-vector type-name="int32_t"/>
  <int32_t name="ordinal"/>
</class-type>

history.history_event_collection_theftst

<class-type type-name="history_event_collection_theftst"
    inherits-from="history_event_collection">
  <int32_t name="parent_collection"
      ref-target="history_event_collection"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <int32_t name="site" ref-target="world_site"/>
  <compound name="region_pos" type-name="coord2d"/>
  <int32_t name="thief_civ" ref-target="historical_entity"/>
  <int32_t name="victim_civ" ref-target="historical_entity"/>
  <stl-vector name="thief_hf" type-name="int32_t"
      ref-target="historical_figure"/>
  <stl-vector name="stolen_item_types">
    <enum base-type="int16_t" type-name="item_type"/>
  </stl-vector>
  <stl-vector name="stolen_item_subtypes">
    <int16_t name="item_subtype" refers-to="(item-subtype-target
        $$._parent._parent.stolen_item_types[$$._key] $)"/>
  </stl-vector>
  <stl-vector name="stolen_mat_types">
    <int16_t ref-target="material"
        aux-value="$$._parent.stolen_mat_indices[$._key]"/>
  </stl-vector>
  <stl-vector name="stolen_mat_indices" type-name="int32_t"/>
  <stl-vector name="stolen_item_ids" type-name="int32_t"
      ref-target="item"/>
  <stl-vector type-name="int32_t"/>
  <stl-vector type-name="int16_t"/>
  <stl-vector type-name="int16_t"/>
  <stl-vector type-name="int16_t"/>
  <stl-vector type-name="int32_t"/>
  <stl-vector type-name="int32_t"/>
  <stl-vector type-name="int32_t"/>
  <int32_t name="ordinal"/>
</class-type>

history.history_event_collection_beast_attackst

<class-type type-name="history_event_collection_beast_attackst"
    inherits-from="history_event_collection">
  <int32_t name="parent_collection"
      ref-target="history_event_collection"/>
  <int32_t name="region" ref-target="world_region"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <int32_t name="site" ref-target="world_site"/>
  <compound name="region_pos" type-name="coord2d"/>
  <int32_t name="defender_civ" ref-target="historical_entity"/>
  <stl-vector name="attacker_hf" type-name="int32_t"
      ref-target="historical_figure"/>
  <int32_t name="ordinal"/>
</class-type>

history.history_event_collection_journeyst

<class-type type-name="history_event_collection_journeyst"
    inherits-from="history_event_collection">
  <stl-vector name="traveler_hf" type-name="int32_t"
      ref-target="historical_figure"/>
  <int32_t name="ordinal"/>
</class-type>

history.history_event_collection_insurrectionst

<class-type type-name="history_event_collection_insurrectionst"
    inherits-from="history_event_collection">
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="target_civ" ref-target="historical_entity"/>
  <int32_t name="ordinal"/>
</class-type>

history.history_event_collection_occasionst

<class-type type-name="history_event_collection_occasionst"
    inherits-from="history_event_collection">
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t name="occasion"/>
  <int32_t name="ordinal"/>
</class-type>

history.history_event_collection_performancest

<class-type type-name="history_event_collection_performancest"
    inherits-from="history_event_collection">
  <int32_t/>
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t/>
  <int32_t/>
  <int32_t name="ordinal"/>
</class-type>

history.history_event_collection_competitionst

<class-type type-name="history_event_collection_competitionst"
    inherits-from="history_event_collection">
  <int32_t/>
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t/>
  <int32_t/>
  <int32_t name="ordinal"/>
</class-type>

history.history_event_collection_processionst

<class-type type-name="history_event_collection_processionst"
    inherits-from="history_event_collection">
  <int32_t/>
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t/>
  <int32_t/>
  <int32_t name="ordinal"/>
</class-type>

history.history_event_collection_ceremonyst

<class-type type-name="history_event_collection_ceremonyst"
    inherits-from="history_event_collection">
  <int32_t/>
  <int32_t name="civ" ref-target="historical_entity"/>
  <int32_t/>
  <int32_t/>
  <int32_t name="ordinal"/>
</class-type>

history.history_event_collection_purgest

<class-type type-name="history_event_collection_purgest"
    inherits-from="history_event_collection">
  <int32_t/>
  <stl-vector/>
  <int32_t/>
  <int32_t/>
  <int32_t/>
  <int32_t/>
  <int32_t/>
  <int32_t/>
  <int32_t/>
  <int32_t/>
  <int32_t/>
  <int32_t/>
  <int32_t/>
  <int32_t/>
  <int32_t/>
  0.42.04
</class-type>

history.era_type

<enum-type type-name="era_type" base-type="int16_t">
  <enum-item name="ThreePowers"/>
  <enum-item name="TwoPowers"/>
  <enum-item name="OnePower"/>
  <enum-item name="Myth"/>
  <enum-item name="Legends"/>
  <enum-item name="Twilight"/>
  <enum-item name="FairyTales"/>
  <enum-item name="Race"/>
  <enum-item name="Heroes"/>
  <enum-item name="Golden"/>
  <enum-item name="Death"/>
  <enum-item name="Civilization"/>
  <enum-item name="Emptiness"/>
</enum-type>

history.history_era

<struct-type type-name="history_era">
  <int32_t name="year"/>
  <compound name="title">
    <enum type-name="era_type" name="type"/>
    <int32_t name="histfig_1" ref-target="historical_figure"/>
    <int32_t name="histfig_2" ref-target="historical_figure"/>
    <int32_t name="ordinal"/>
    <stl-string name="name"/>
    <int32_t name="percent">
      either percentage of single race or percentage of mundane
    </int32_t>
  </compound>
  <compound name="details">
    <int32_t name="living_powers"/>
    <int32_t name="living_megabeasts"/>
    <int32_t name="living_semimegabeasts"/>
    <int32_t name="power_hf1" ref-target="historical_figure"/>
    <int32_t name="power_hf2" ref-target="historical_figure"/>
    <int32_t name="power_hf3" ref-target="historical_figure"/>
    <stl-vector name="civilized_races" type-name="int32_t"
        index-refers-to="(find-creature $)"/>
    <int32_t name="civilized_total"/>
    <int32_t name="civilized_mundane"/>
  </compound>
</struct-type>

history.world_history

<struct-type type-name="world_history">
  dtor 8532fa0
  <stl-vector name="events" pointer-type="history_event"/>
  <stl-vector name="events2" pointer-type="history_event"/>
  <stl-vector name="figures" pointer-type="historical_figure"/>
  <compound name="event_collections">
    <stl-vector name="all" pointer-type="history_event_collection"/>
    <static-array name="other" count="15"
        index-enum="history_event_collection_type">
      <stl-vector pointer-type="history_event_collection"/>
    </static-array>
  </compound>
  <stl-vector name="eras" pointer-type="history_era"/>
  <stl-vector name="unk1" type-name="int32_t"/>
  <stl-vector name="unk2" type-name="int16_t"/>
  <int32_t/>
  <int32_t name="total_powers">
    also includes megabeasts
  </int32_t>
  <int32_t name="total_megabeasts"/>
  <int32_t name="total_semimegabeasts"/>
  <stl-vector/>
  <padding size="56">
    v0.42.01
  </padding>
  <stl-vector/>
  <stl-vector/>
  <stl-vector/>
  <stl-vector/>
  <stl-vector/>
  <static-array name="unk_v40_1" count="13">
    <stl-vector/>
    v0.40.01
  </static-array>
  <stl-vector>
    v0.42.01
  </stl-vector>
  <stl-vector>
    v0.42.01
  </stl-vector>
  <stl-vector>
    v0.42.01
  </stl-vector>
  <stl-vector>
    v0.42.01
  </stl-vector>
  <stl-vector>
    v0.42.01
  </stl-vector>
  <stl-vector>
    v0.40.01
  </stl-vector>
  <bool/>
  <stl-vector>
    v0.40.01
  </stl-vector>
  <int32_t/>
  <int32_t/>
  <int32_t/>
</struct-type>