|
| 1 | +<data-definition> |
| 2 | + <enum-type type-name='army_flags'> bay12: ArmyFlag |
| 3 | + <enum-item name='player'/> |
| 4 | + <enum-item name='hidden'/> |
| 5 | + <enum-item name='sleeping'/> |
| 6 | + <enum-item name='waiting'/> |
| 7 | + <enum-item name='sneaking'/> |
| 8 | + <enum-item name='composing'/> |
| 9 | + <enum-item name='working'/> |
| 10 | + <enum-item name='dwarf_mode_preparing'/> |
| 11 | + </enum-type> |
| 12 | + |
| 13 | + -- Unused: ArmyGoalType |
| 14 | + |
| 15 | + <struct-type type-name='army_popst'> |
| 16 | + <int32_t name="count"/> |
| 17 | + <compound name='pop_spec' type-name='entity_pop_specifierst'/> |
| 18 | + </struct-type> |
| 19 | + |
| 20 | + <bitfield-type type-name='army_nemesis_flag' base-type='uint32_t'> bay12: ARMY_NEMESIS_FLAG_* |
| 21 | + <flag-bit name='sleeps'/> |
| 22 | + <flag-bit name='eats'/> |
| 23 | + <flag-bit name='drinks'/> |
| 24 | + <flag-bit name='is_sleeping'/> |
| 25 | + <flag-bit name='on_watch'/> |
| 26 | + <flag-bit name='bloodsucker'/> |
| 27 | + <flag-bit name='do_needs'/> |
| 28 | + </bitfield-type> |
| 29 | + |
| 30 | + <struct-type type-name='army_nemesisst'> |
| 31 | + <int32_t name='nemesis_id' init-value='-1'/> |
| 32 | + <int32_t name='hunger_timer'/> |
| 33 | + <int32_t name='thirst_timer'/> |
| 34 | + <int32_t name='sleepiness_timer'/> |
| 35 | + <int32_t name='stored_fat'/> |
| 36 | + <int32_t name='blood_thirst'/> |
| 37 | + <bitfield name='flags' base-type='uint32_t' type-name='army_nemesis_flag'/> |
| 38 | + <int32_t name='abs_x' init-value='-1000000'/> |
| 39 | + <int32_t name='abs_y' init-value='-1000000'/> |
| 40 | + <int32_t name='abs_z' init-value='-1000000'/> |
| 41 | + <int32_t name='tracking_rating'/> |
| 42 | + <int32_t name='sneak_rating' since='v0.44.01'/> |
| 43 | + <int32_t name='smell_trigger' init-value='100'/> |
| 44 | + <int32_t name='low_light_vision'/> |
| 45 | + <int32_t name='odor_level'/> |
| 46 | + <stl-vector name='can_sense_by_class' pointer-type='stl-string'/> |
| 47 | + <int32_t name='needs_build_up' since='v0.42.01'/> |
| 48 | + <int32_t name='mount_nemid' ref-target='nemesis_record' since='v0.47.01'/> |
| 49 | + <int32_t name='travel_rate' since='v0.47.01'/> |
| 50 | + </struct-type> |
| 51 | + |
| 52 | + <struct-type type-name='army' key-field='id' original-name='armyst' |
| 53 | + instance-vector='$global.world.armies.all'> |
| 54 | + <int32_t name='id'/> |
| 55 | + <compound name='pos' type-name='coord'/> |
| 56 | + <compound name='last_pos' type-name='coord'/> |
| 57 | + <int16_t name='travel_count' init-value='0' comment="1, 2, 5, 10, 15, 20, 21 seen"/> |
| 58 | + <int32_t name='wait_count' init-value='0' comment="When set, large value like army or army_controller id, but no match found"/> |
| 59 | + <int32_t name='watch_time' init-value='0'/> |
| 60 | + <stl-vector name='members' pointer-type='army_nemesisst'/> |
| 61 | + <stl-vector name='squads' pointer-type='army_popst'/> |
| 62 | + <int32_t name='tracking_rating'/> |
| 63 | + <int32_t name='sneak_rating' since='v0.44.01'/> |
| 64 | + <int32_t name='travel_rate' since='v0.47.03' comment="16 only value seen"/> |
| 65 | + |
| 66 | + <int32_t name='controller_id' ref-target='army_controller'/> |
| 67 | + <pointer name='controller' type-name="army_controller"/> |
| 68 | + |
| 69 | + <df-flagarray name='flags' index-enum='army_flags'/> |
| 70 | + <stl-vector name='block_path_x' type-name='int32_t' comment="path in map_block coordinates. Seems to be the near term"/> |
| 71 | + <stl-vector name='block_path_y' type-name='int32_t'/> |
| 72 | + <stl-vector name='path_x' type-name='int32_t' comment="path in world coordinates. Seems to be the extension beyond those laid out in block_path_x/y"/> |
| 73 | + <stl-vector name='path_y' type-name='int32_t'/> |
| 74 | + |
| 75 | + <int32_t name='hidden_sr_ind' init-value='-1' comment='subregion'/> |
| 76 | + <int32_t name='hidden_fl_ind' init-value='-1' comment='feature layer'/> |
| 77 | + |
| 78 | + <int32_t name='current_army_tracking_info_id' ref-target='army_tracking_info'/> |
| 79 | + |
| 80 | + <int32_t name='min_smell_trigger'/> |
| 81 | + <int32_t name='max_odor_level' comment='1000 if undead are present'/> |
| 82 | + <int32_t name='max_low_light_vision'/> |
| 83 | + <stl-vector name='sense_creature_classes' pointer-type='stl-string'/> |
| 84 | + <stl-vector name='creature_class' pointer-type='stl-string' comment="Usually 'GENERAL_POISON' and 'MAMMAL'. Seen something else for undead"/> |
| 85 | + |
| 86 | + <enum type-name='item_type' name='item_type' comment='for tent'/> |
| 87 | + <int16_t name='item_subtype' refers-to='(item-subtype-target $$._parent.item_type $)'/> |
| 88 | + <int16_t name='mat_type' ref-target='material' aux-value='$$.mat_index'/> |
| 89 | + <int32_t name='mat_index'/> |
| 90 | + |
| 91 | + <stl-vector name='items' pointer-type='item' since='v0.44.07'/> |
| 92 | + </struct-type> |
| 93 | + |
| 94 | + <struct-type type-name='army_handlerst'> |
| 95 | + <stl-vector name='all' pointer-type='army'/> |
| 96 | + <stl-vector name='order_load' pointer-type='army' has-bad-pointers='true'/> |
| 97 | + </struct-type> |
| 98 | +</data-definition> |
| 99 | + |
| 100 | +<!-- |
| 101 | +Local Variables: |
| 102 | +indent-tabs-mode: nil |
| 103 | +nxml-child-indent: 4 |
| 104 | +End: |
| 105 | +--> |
0 commit comments