Skip to content

Commit

Permalink
Add lots of new creature interaction effects and some new vectors.
Browse files Browse the repository at this point in the history
  • Loading branch information
angavrilov committed Feb 19, 2012
1 parent 52f3ece commit be1f462
Show file tree
Hide file tree
Showing 5 changed files with 290 additions and 51 deletions.
6 changes: 0 additions & 6 deletions df.materials.xml
Original file line number Diff line number Diff line change
Expand Up @@ -504,12 +504,6 @@
<static-array name='builtin' count='659' index-enum='builtin_mats'>
<pointer type-name='material'/>
</static-array>

<stl-vector name='extract_types'>
<int16_t ref-target='material' aux-value='$$._parent.extract_indexes[$._key]'/>
</stl-vector>
<stl-vector name='extract_indexes' type-name='int32_t'/>
<stl-vector name='extract_unknown' type-name='int32_t'/>
</struct-type>
</data-definition>

Expand Down
41 changes: 33 additions & 8 deletions df.raws.xml
Original file line number Diff line number Diff line change
Expand Up @@ -225,20 +225,45 @@
<int32_t name='next_id'/>
</compound>

-- Material index
-- Interactions

<stl-vector name='interactions' comment='v0.34.01'>
<pointer type-name='interaction'/>
</stl-vector>

<stl-vector type-name='pointer' comment='v0.34.01'/>
-- Material index

<compound name='mat_table' type-name='special_mat_table'/>

-- Interactions
-- Interaction effects

<compound name='syndromes'>
<stl-vector name='mat_types' index-refers-to='$$._parent.all[$]'>
<int16_t ref-target='material' aux-value='$$._parent.mat_indexes[$._key]'/>
</stl-vector>
<stl-vector name='mat_indexes' type-name='int32_t'/>
<stl-vector name='interactions'>
<int32_t ref-target='interaction'/>
</stl-vector>

<stl-vector name='all' comment='v0.34.01'>
<pointer type-name='syndrome'/>
</stl-vector>
</compound>

<stl-vector type-name='pointer' comment='v0.34.01'/>
<compound name='effects'>
<stl-vector name='mat_types' index-refers-to='$$._parent.all[$]'>
<int16_t ref-target='material' aux-value='$$._parent.mat_indexes[$._key]'/>
</stl-vector>
<stl-vector name='mat_indexes' type-name='int32_t'/>
<stl-vector name='interactions'>
<int32_t ref-target='interaction'/>
</stl-vector>

<stl-vector type-name='int16_t' comment='v0.34.01'/>
<stl-vector type-name='int32_t' comment='v0.34.01'/>
<stl-vector type-name='int32_t' comment='v0.34.01'/>
<stl-vector type-name='pointer' comment='v0.34.01'/>
<stl-vector name='all' comment='v0.34.01'>
<pointer type-name='creature_interaction_effect'/>
</stl-vector>
</compound>

<int32_t comment='v0.34.01'/>
<int32_t comment='v0.34.01'/>
Expand Down
262 changes: 241 additions & 21 deletions df.syndrome.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,25 @@
</stl-vector>
</struct-type>

<class-type type-name='creature_interaction_effect' original-name='creature_interaction_effectst'>
<class-type type-name='creature_interaction_effect' original-name='creature_interaction_effectst'
instance-vector='$global.world.raws.effects.all' key-field='id'>
<compound name='flags' type-name='creature_interaction_effect_flags'/>
<int32_t name='prob'/>
<int32_t name='start'/>
<int32_t name='peak'/>
<int32_t name='end'/>
<int32_t name='sev'/>

<int32_t name='syn_id' ref-target='syndrome'/>
<int32_t name='id'/>
<int32_t name='syn_index' comment='index in syndrome'/>

<int32_t name="unk_4"/>
<int32_t name="unk_8"/>

<stl-vector name="unk_c"/>
<stl-vector name="unk_1c"/>
<stl-vector name="unk_2c"/>
<stl-vector name="unk_3c"/>

<virtual-methods>
<vmethod ret-type='creature_interaction_effect_type' name='getType'/>
Expand Down Expand Up @@ -74,68 +86,248 @@
</virtual-methods>
</class-type>

<class-type type-name='creature_interaction_effect_painst' inherits-from='creature_interaction_effect'>
<class-type type-name='creature_interaction_effect_painst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
<compound type-name='creature_interaction_effect_target' name='target'/>
</class-type>

<class-type type-name='creature_interaction_effect_swellingst' inherits-from='creature_interaction_effect'>
<class-type type-name='creature_interaction_effect_swellingst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
<compound type-name='creature_interaction_effect_target' name='target'/>
</class-type>

<class-type type-name='creature_interaction_effect_oozingst' inherits-from='creature_interaction_effect'>
<class-type type-name='creature_interaction_effect_oozingst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
<compound type-name='creature_interaction_effect_target' name='target'/>
</class-type>

<class-type type-name='creature_interaction_effect_bruisingst' inherits-from='creature_interaction_effect'>
<class-type type-name='creature_interaction_effect_bruisingst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
<compound type-name='creature_interaction_effect_target' name='target'/>
</class-type>

<class-type type-name='creature_interaction_effect_blistersst' inherits-from='creature_interaction_effect'>
<class-type type-name='creature_interaction_effect_blistersst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
<compound type-name='creature_interaction_effect_target' name='target'/>
</class-type>

<class-type type-name='creature_interaction_effect_numbnessst' inherits-from='creature_interaction_effect'>
<class-type type-name='creature_interaction_effect_numbnessst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
<compound type-name='creature_interaction_effect_target' name='target'/>
</class-type>

<class-type type-name='creature_interaction_effect_paralysisst' inherits-from='creature_interaction_effect'>
<class-type type-name='creature_interaction_effect_paralysisst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
<compound type-name='creature_interaction_effect_target' name='target'/>
</class-type>

<class-type type-name='creature_interaction_effect_feverst' inherits-from='creature_interaction_effect'/>
<class-type type-name='creature_interaction_effect_feverst'
inherits-from='creature_interaction_effect'/>

<class-type type-name='creature_interaction_effect_bleedingst' inherits-from='creature_interaction_effect'>
<class-type type-name='creature_interaction_effect_bleedingst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
<compound type-name='creature_interaction_effect_target' name='target'/>
</class-type>

<class-type type-name='creature_interaction_effect_cough_bloodst' inherits-from='creature_interaction_effect'/>
<class-type type-name='creature_interaction_effect_cough_bloodst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
</class-type>

<class-type type-name='creature_interaction_effect_vomit_bloodst' inherits-from='creature_interaction_effect'/>
<class-type type-name='creature_interaction_effect_vomit_bloodst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
</class-type>

<class-type type-name='creature_interaction_effect_nauseast' inherits-from='creature_interaction_effect'/>
<class-type type-name='creature_interaction_effect_nauseast'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
</class-type>

<class-type type-name='creature_interaction_effect_unconsciousnessst' inherits-from='creature_interaction_effect'/>
<class-type type-name='creature_interaction_effect_unconsciousnessst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
</class-type>

<class-type type-name='creature_interaction_effect_necrosisst' inherits-from='creature_interaction_effect'>
<class-type type-name='creature_interaction_effect_necrosisst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
<compound type-name='creature_interaction_effect_target' name='target'/>
</class-type>

<class-type type-name='creature_interaction_effect_impair_functionst' inherits-from='creature_interaction_effect'>
<class-type type-name='creature_interaction_effect_impair_functionst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
<compound type-name='creature_interaction_effect_target' name='target'/>
</class-type>

<class-type type-name='creature_interaction_effect_drowsinessst' inherits-from='creature_interaction_effect'/>
<class-type type-name='creature_interaction_effect_drowsinessst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
</class-type>

<class-type type-name='creature_interaction_effect_dizzinessst' inherits-from='creature_interaction_effect'/>
<class-type type-name='creature_interaction_effect_dizzinessst'
inherits-from='creature_interaction_effect'>
<int32_t name="sev"/>
</class-type>

<class-type type-name='creature_interaction_effect_display_namest'
inherits-from='creature_interaction_effect'>
<stl-string name='name'/>
<stl-string name='name_plural'/>
<stl-string name='name_adj'/>
<int32_t/>
</class-type>

<class-type type-name='creature_interaction_effect_bp_appearance_modifierst'
inherits-from='creature_interaction_effect'>
<int16_t name="unk_6c"/>
<int32_t name="unk_70"/>
<compound type-name='creature_interaction_effect_target' name='target'/>
</class-type>

<class-type type-name='creature_interaction_effect_body_transformationst'
inherits-from='creature_interaction_effect'>
<int32_t name="unk_6c"/>
<stl-string name="race_str"/>
<stl-string name="caste_str"/>
<int32_t name='race' ref-target='creature_raw'/>
<int16_t name='caste' ref-target='caste_raw' aux-value='$$.race'/>
</class-type>

<class-type type-name='creature_interaction_effect_skill_roll_adjustst'
inherits-from='creature_interaction_effect'>
<int32_t name="unk_6c"/>
<int32_t name="unk_70"/>
</class-type>

<class-type type-name='creature_interaction_effect_display_symbolst'
inherits-from='creature_interaction_effect'>
<int32_t name="unk_6c"/>
<int32_t name="unk_70"/>
</class-type>

<class-type type-name='creature_interaction_effect_flash_symbolst'
inherits-from='creature_interaction_effect'>
<int32_t name="unk_6c"/>
<int32_t name="unk_70"/>
<int32_t name="unk_74"/>
<int32_t name="unk_78"/>
</class-type>

<class-type type-name='creature_interaction_effect_phys_att_changest'
inherits-from='creature_interaction_effect'>
<int32_t name="unk_6c"/>
<int32_t name="unk_70"/>
<int32_t name="unk_74"/>
<int32_t name="unk_78"/>
<int32_t name="unk_7c"/>
<int32_t name="unk_80"/>
<int32_t name="unk_84"/>
<int32_t name="unk_88"/>
<int32_t name="unk_8c"/>
<int32_t name="unk_90"/>
<int32_t name="unk_94"/>
<int32_t name="unk_98"/>
</class-type>

<class-type type-name='creature_interaction_effect_add_simple_flagst'
inherits-from='creature_interaction_effect'>
<uint32_t name='unk_6c'/>
<uint32_t name='unk_70'/>
</class-type>

<class-type type-name='creature_interaction_effect_remove_simple_flagst'
inherits-from='creature_interaction_effect'>
<uint32_t name='unk_6c'/>
<uint32_t name='unk_70'/>
</class-type>

<class-type type-name='creature_interaction_effect_speed_changest'
inherits-from='creature_interaction_effect'>
<int32_t name='unk_6c'/>
<int32_t name='unk_70'/>
</class-type>

<class-type type-name='creature_interaction_effect_body_mat_interactionst'
inherits-from='creature_interaction_effect'>
<stl-string name="unk_6c"/>
<int32_t name="unk_88"/>
<int32_t name="unk_8c"/>
<int32_t name="unk_90"/>
<stl-string name="unk_94"/>
</class-type>

<class-type type-name='creature_interaction_effect_material_force_adjustst'
inherits-from='creature_interaction_effect'>
<stl-string name="unk_6c"/>
<stl-string name="unk_88"/>
<stl-string name="unk_a4"/>
<int16_t name="unk_c0"/>
<padding name="unk_c2" size="2"/>
<int32_t name="unk_c4"/>
<int32_t name="unk_c8"/>
<int32_t name="unk_cc"/>
</class-type>

<class-type type-name='creature_interaction_effect_can_do_interactionst'
inherits-from='creature_interaction_effect'>
<stl-vector name="unk_6c"/>
<stl-vector name="unk_7c"/>
<stl-string name="unk_8c"/>
<stl-string name="unk_a8"/>
<stl-string name="unk_c4"/>
<int16_t name="unk_e0"/>
<padding name="unk_e2" size="2"/>
<stl-string name="unk_e4"/>
<stl-string name="unk_100"/>
<stl-string name="unk_11c"/>
<stl-string name="unk_138"/>
<stl-string name="unk_154"/>
<stl-string name="unk_170"/>
<stl-string name="unk_18c"/>
<stl-string name="unk_1a8"/>
<int32_t name="unk_1c4"/>
<stl-vector name="unk_1c8"/>
<stl-vector name="unk_1d8"/>
<int32_t name="unk_1e8"/>
<stl-vector name="unk_1ec">
<pointer/>
</stl-vector>
<stl-vector name="unk_1fc">
<int32_t/>
</stl-vector>
<stl-vector name="unk_20c">
<int32_t/>
</stl-vector>
<stl-vector name="unk_21c"/>
<stl-vector name="unk_22c"/>
<stl-vector name="unk_23c"/>
<stl-vector name="unk_24c"/>
<stl-string name="unk_25c"/>
<int32_t name="unk_278"/>
</class-type>

<bitfield-type type-name='syndrome_flags' base-type='uint32_t'>
<flag-bit name='SYN_INJECTED'/>
<flag-bit name='SYN_CONTACT'/>
<flag-bit name='SYN_INHALED'/>
</bitfield-type>

<struct-type type-name='syndrome'>
<struct-type type-name='syndrome'
instance-vector='$global.world.raws.syndromes.all' key-field='id'>
<stl-string name='syn_name'/>

<code-helper name='describe'>$.syn_name</code-helper>

<stl-vector name='ce'>
<pointer type-name='creature_interaction_effect'/>
</stl-vector>
Expand All @@ -157,8 +349,36 @@
<stl-vector name='syn_immune_creature_2'>
<pointer type-name='stl-string'/>
</stl-vector>
<stl-vector name='syn_class' comment='v0.34.01'>
<pointer type-name='stl-string'/>
</stl-vector>

<compound name='flags' type-name='syndrome_flags'/>
<int32_t/>
<int32_t name='id'/>
</struct-type>

<struct-type type-name='interaction'
instance-vector='$global.world.raws.interactions.all' key-field='id'>
<stl-string name="name"/>
<int32_t name="id"/>

<code-helper name='describe'>$.name</code-helper>

<stl-vector name="str">
<pointer type-name='stl-string'/>
</stl-vector>

<df-flagarray name='flags'/>

<stl-vector name="sources">
<pointer/>
</stl-vector>
<stl-vector name="targets">
<pointer/>
</stl-vector>
<stl-vector name="effects">
<pointer/>
</stl-vector>
</struct-type>
</data-definition>

Expand Down
Loading

0 comments on commit be1f462

Please sign in to comment.