reaction-raws

reaction-raws.reaction_flags

<enum-type type-name="reaction_flags">
  <enum-item name="FUEL"/>
  <enum-item name="AUTOMATIC"/>
  <enum-item name="ADVENTURE_MODE_ENABLED"/>
</enum-type>

reaction-raws.reaction

<struct-type type-name="reaction"
    instance-vector="$global.world.raws.reactions">
  <stl-string name="code"/>
  <stl-string name="name"/>
  <df-flagarray name="flags" index-enum="reaction_flags"/>
  <stl-vector name="reagents" pointer-type="reaction_reagent"/>
  <stl-vector name="products" pointer-type="reaction_product"/>
  <enum base-type="int16_t" name="skill" type-name="job_skill"/>
  <int32_t name="max_multiplier" init-value="-1">
    v0.42.01
  </int32_t>
  <compound name="building">
    <static-array name="str" count="2">
      <stl-vector pointer-type="stl-string"/>
    </static-array>
    <stl-vector name="type">
      <enum base-type="int32_t" type-name="building_type"/>
    </stl-vector>
    <stl-vector type-name="int32_t" name="subtype"/>
    <stl-vector type-name="int32_t" name="custom"/>
    <stl-vector type-name="int32_t" name="hotkey"/>
  </compound>
  <int32_t name="index"/>
  <int32_t name="source_hfid" ref-target="historical_figure">
    v0.42.01
  </int32_t>
  <int32_t name="source_enid" ref-target="historical_entity">
    v0.42.01
  </int32_t>
  <stl-vector name="raw_strings" pointer-type="stl-string">
    v0.42.01
  </stl-vector>
  <stl-string name="category">
    v0.42.01
  </stl-string>
  <stl-vector name="descriptions" pointer-type="reaction_description">
    v0.42.01
  </stl-vector>
</struct-type>

reaction-raws.reaction_category

<struct-type type-name="reaction_category">
  <stl-string name="id"/>
  <stl-string name="parent"/>
  <stl-string name="name"/>
  <int32_t name="key"/>
  <stl-string name="description"/>
</struct-type>

reaction-raws.reaction_description

<struct-type type-name="reaction_description">
  <stl-string/>
  <enum type-name="item_type" name="item_type"/>
  <stl-string/>
</struct-type>

reaction-raws.reaction_reagent_type

<enum-type type-name="reaction_reagent_type">
  <enum-item name="item"/>
</enum-type>

reaction-raws.reaction_reagent

<class-type type-name="reaction_reagent"
    original-name="reaction_reagentst">
  <stl-string name="code"/>
  <int32_t name="quantity"/>
  <compound name="flags" type-name="reaction_reagent_flags"/>
  <virtual-methods>
    <vmethod ret-type="reaction_reagent_type" name="getType"/>
    <vmethod>
      <int32_t/>
      <int32_t/>
      <int32_t/>
      <int32_t/>
      <int32_t/>
      <int32_t/>
    </vmethod>
    <vmethod is-destructor="true"/>
    <vmethod name="resolveTokens">
      <int32_t name="reactionID"/>
    </vmethod>
    <vmethod>
      <int32_t/>
      <int32_t/>
      <int32_t/>
    </vmethod>
    <vmethod ret-type="bool" name="matchesRoot">
      <pointer type-name="item"/>
      <int32_t name="index" ref-target="reaction"/>
    </vmethod>
    <vmethod ret-type="bool" name="matchesChild">
      <pointer type-name="item"/>
      <pointer type-name="reaction">
        or maybe reaction code string ref
      </pointer>
      <int32_t name="index" ref-target="reaction"/>
    </vmethod>
    <vmethod name="getDescription">
      <pointer type-name="stl-string"/>
      <int32_t name="index" ref-target="reaction"/>
    </vmethod>
    <vmethod ret-type="bool" name="isLyeBearing"/>
  </virtual-methods>
</class-type>

reaction-raws.reaction_reagent_flags

<bitfield-type type-name="reaction_reagent_flags">
  <flag-bit name="PRESERVE_REAGENT"/>
  <flag-bit name="IN_CONTAINER"/>
  <flag-bit name="DOES_NOT_DETERMINE_PRODUCT_AMOUNT"/>
</bitfield-type>

reaction-raws.reaction_reagent_itemst

<class-type type-name="reaction_reagent_itemst"
    inherits-from="reaction_reagent">
  <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"/>
  <stl-string name="reaction_class"/>
  <stl-string name="has_material_reaction_product"/>
  <compound name="flags1" type-name="job_item_flags1"/>
  <compound name="flags2" type-name="job_item_flags2"/>
  <compound name="flags3" type-name="job_item_flags3"/>
  <uint32_t name="flags4"/>
  <uint32_t name="flags5"/>
  <int32_t name="metal_ore" ref-target="inorganic_raw"/>
  <int32_t name="min_dimension"/>
  <stl-vector type-name="int32_t" name="contains"/>
  <enum base-type="int16_t" name="has_tool_use"
      type-name="tool_uses"/>
  <static-array type-name="stl-string" name="item_str" count="2"/>
  <static-array type-name="stl-string" name="material_str" count="3"/>
  <stl-string name="metal_ore_str"/>
  <stl-vector name="contains_str" pointer-type="stl-string"/>
</class-type>

reaction-raws.reaction_product_type

<enum-type type-name="reaction_product_type">
  <enum-item name="item"/>
  <enum-item name="improvement"/>
</enum-type>

reaction-raws.reaction_product

<class-type type-name="reaction_product"
    original-name="reaction_productst">
  <stl-string name="unk_v4201_1">
    v0.42.01; unknown if really here
  </stl-string>
  <virtual-methods>
    <vmethod ret-type="reaction_product_type" name="getType"/>
    <vmethod name="resolveTokens">
      <int32_t name="reactionID"/>
    </vmethod>
    <vmethod name="produce">
      <pointer type-name="unit"/>
      <pointer name="out_products">
        <stl-vector pointer-type="reaction_product"/>
      </pointer>
      <pointer name="out_items">
        <stl-vector pointer-type="item"/>
      </pointer>
      <pointer name="in_reag">
        <stl-vector pointer-type="reaction_reagent"/>
      </pointer>
      <pointer name="in_items">
        <stl-vector pointer-type="item"/>
      </pointer>
      <int32_t name="quantity"/>
      <enum type-name="job_skill" base-type="int16_t"/>
      <pointer type-name="historical_entity"/>
      <int32_t name="unk1"/>
      <pointer type-name="world_site"/>
      <pointer name="unk2"/>
    </vmethod>
    <vmethod name="getDescription">
      <pointer type-name="stl-string" name="desc"/>
      used in Adventurer mode reactions?
    </vmethod>
    <vmethod is-destructor="true"/>
  </virtual-methods>
</class-type>

reaction-raws.reaction_product_item_flags

<enum-type type-name="reaction_product_item_flags">
  <enum-item name="GET_MATERIAL_SAME"/>
  <enum-item name="GET_MATERIAL_PRODUCT"/>
  <enum-item name="FORCE_EDGE"/>
  <enum-item name="PASTE"/>
  <enum-item name="PRESSED"/>
  <enum-item name="CRAFTS"/>
</enum-type>

reaction-raws.reaction_product_itemst

<class-type type-name="reaction_product_itemst"
    inherits-from="reaction_product">
  <stl-string name="product_to_container"/>
  <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"/>
  <int16_t name="probability"/>
  <int16_t name="count"/>
  <int32_t name="product_dimension"/>
  <df-flagarray name="flags"
      index-enum="reaction_product_item_flags"/>
  <compound name="get_material">
    <stl-string name="reagent_code"/>
    <stl-string name="product_code"/>
  </compound>
  <static-array type-name="stl-string" name="item_str" count="2"/>
  <static-array type-name="stl-string" name="material_str" count="3"/>
</class-type>

reaction-raws.reaction_product_improvement_flags

<enum-type type-name="reaction_product_improvement_flags">
  <enum-item name="GET_MATERIAL_SAME"/>
  <enum-item name="GET_MATERIAL_PRODUCT"/>
  <enum-item name="GLAZED"/>
</enum-type>

reaction-raws.reaction_product_item_improvementst

<class-type type-name="reaction_product_item_improvementst"
    inherits-from="reaction_product">
  <stl-string/>
  <stl-string name="target_reagent"/>
  <enum base-type="int32_t" name="improvement_type"
      type-name="improvement_type"/>
  <padding size="4">
    v0.42.01
  </padding>
  <int16_t name="mat_type" ref-target="material"
      aux-value="$$.mat_index"/>
  <int32_t name="mat_index"/>
  <int16_t name="probability"/>
  <df-flagarray name="flags"
      index-enum="reaction_product_improvement_flags"/>
  <compound name="get_material">
    <stl-string name="reagent_code"/>
    <stl-string name="product_code"/>
  </compound>
  <static-array type-name="stl-string" name="material_str" count="3"/>
  <stl-string name="unk_v4201_2">
    v0.42.01
  </stl-string>
</class-type>