DB/SpellVisualKit

From wowdev
Revision as of 20:42, 24 June 2016 by Schlumpf (talk | contribs)
Jump to navigation Jump to search

This file is used to attach different spell effects from SpellVisualEffectName.dbc to certain points on the model. Each column corresponds to areas on a model such as hands, chest and base.

Besides the obvious effects for different attachments, there is "character procedures" (`m_characterProcedure`, `m_charProc[4]`) which have additional non-DB/SpellVisualEffectName effects, like equipping items or coloring the target.

0.5.3.3368

struct SpellVisualKitRec {
  uint32_t m_ID;
  uint32_t m_kitType;
  uint32_t m_anim;
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_headEffect;
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_chestEffect;
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_baseEffect;
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_leftHandEffect;
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_rightHandEffect;
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_breathEffect;
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_specialEffect[3];
  uint32_t m_characterProcedure;
  float m_characterParam[4];
  foreign_key<uint32_t, &SoundEntriesRec::m_ID> m_soundID;
  foreign_key<uint32_t, &SpellEffectCameraShakesRec::m_ID> m_shakeID;
};

unknown version

struct SpellVisualKitRec {
  uint32_t m_ID;
  foreign_key<uint32_t, &AnimationDataRec::m_ID> m_startAnimID;
  foreign_key<uint32_t, &AnimationDataRec::m_ID> m_animID;
#if version > ?
  foreign_key<uint32_t, &AnimKitRec::m_ID> m_animKitID;
#endif
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_headEffect;        // attached to Head
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_chestEffect;       // attached to Chest
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_baseEffect;        // attached to Base
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_leftHandEffect;    // attached to SpellLeftHand
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_rightHandEffect;   // attached to SpellRightHand
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_breathEffect;      // attached to Breath
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_leftWeaponEffect;
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_rightWeaponEffect;
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_specialEffect[3];  // attached to Special1…3
  foreign_key<uint32_t, &SpellVisualEffectNameRec::m_ID> m_worldEffect;
  foreign_key<uint32_t, &SoundEntriesRec::m_ID> m_soundID;
  foreign_key<uint32_t, &SpellEffectCameraShakesRec::m_ID> m_shakeID;
  uint32_t m_charProc[4];
  float m_charParamZero[4];
  float m_charParamOne[4];
  float m_charParamTwo[4];
  float m_charParamThree[4];
#if version > ?
  uint32_t m_flags;
#endif
};

unknown version

Column   Field         Type     Notes 
1     m_ID         Integer   
2     m_startAnimID    Integer   Seems to be caster animation of some sort...
3     m_animID     Integer   Caster animation.
4     m_headEffect  Integer   Visual effect over the head.
5     m_chestEffect  Integer   Visual effect at chest.
6     m_baseEffect  Integer   Visual effect at the base/ground.
7     m_leftHandEffect   Integer   Visual effect at right hand.
8     m_rightHandEffect   Integer   Visual effect at left hand.
9     m_breathEffect?  Integer   Visual effect of AOE spells/abilities.
10     m_leftWeaponEffect?       Integer   Unknown
11     m_rightWeaponEffect?       Integer   " 
12     m_specialEffect[3]?       Integer   " 
15     m_worldEffect  Integer   " 
16     m_soundID    Integer   Sound effect associated with the visual effects.
17     m_shakeID  Integer   
18     m_charProc    Integer[4]   Known value "17" reference to item_entry in column 26, example spell - 58493(mohawk grenade), point to item 43486 (Mohawk Mask)
22     m_charParamZero       Float[4]     Colormask converted from HEX to DECIMAL (can be used for caster or target color)
26     m_charParamOne       Float[4]
30     m_charParamTwo       Float[4]    
34     m_charParamThree       Float[4]