DB/SpellVisualKit

From wowdev
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;      // 9 = SpellVisualsBlizzardCreate, 10 = SpellVisualsFishingLineCreate
  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]