<class-type type-name="projectile" original-name="projst"
key-field="id">
<pointer name="link" type-name="proj_list_link"/>
<int32_t name="id"/>
<pointer name="firer" type-name="unit"/>
<compound name="origin_pos" type-name="coord"/>
<compound name="target_pos" type-name="coord"/>
<compound name="cur_pos" type-name="coord"/>
<compound name="prev_pos" type-name="coord"/>
<int32_t name="distance_flown"/>
<int32_t name="fall_threshold"/>
<int32_t name="min_hit_distance"/>
<int32_t name="min_ground_distance"/>
<compound name="flags" type-name="projectile_flags"/>
<int16_t name="fall_counter">
counts down from delay to 0, then it moves
</int16_t>
<int16_t name="fall_delay"/>
<int32_t name="hit_rating"/>
<int32_t name="unk21"/>
<int32_t name="unk22"/>
<int32_t name="bow_id" ref-target="item"/>
<int32_t name="unk_item_id" ref-target="item"/>
<int32_t name="unk_unit_id" ref-target="unit"/>
<int32_t name="unk_v40_1">
v0.40.01; uninitialized+saved
</int32_t>
<int32_t name="pos_x"/>
<int32_t name="pos_y"/>
<int32_t name="pos_z"/>
<int32_t name="speed_x"/>
<int32_t name="speed_y"/>
<int32_t name="speed_z"/>
<int32_t name="accel_x"/>
<int32_t name="accel_y"/>
<int32_t name="accel_z"/>
<virtual-methods>
<vmethod ret-type="projectile_type" name="getType"/>
<vmethod ret-type="bool" name="checkImpact">
<bool name="noDamageFloor"/>
</vmethod>
<vmethod ret-type="bool" name="checkMovement"/>
<vmethod name="read_file">
<pointer name="file" type-name="file_compressorst"/>
<int32_t name="loadversion"/>
</vmethod>
<vmethod name="write_file">
<pointer name="file" type-name="file_compressorst"/>
</vmethod>
<vmethod>
<pointer/>
</vmethod>
<vmethod ret-type="bool" name="isObjectLost"/>
<vmethod is-destructor="true"/>
</virtual-methods>
</class-type>