DB/Spell: Difference between revisions

From wowdev
Jump to navigation Jump to search
(Update Spell.dbc structure, from MaNGOS)
Line 7: Line 7:
==Structure==
==Structure==


http://dev.trinitycore.org/trinitycore2/src/561ac59c59ac/src/game/DBCStructure.h
http://getmangos.com


#define MAX_SPELL_EFFECTS 3
  struct SpellEntry
  struct SpellEntry
  {
  {
     uint32   Id;                                           // 0        m_ID
     uint32     Id;                                             // 0        m_ID
     uint32   Category;                                     // 1        m_category
     uint32     Category;                                       // 1        m_category
     uint32   Dispel;                                       // 2        m_dispelType
     uint32     Dispel;                                         // 2        m_dispelType
     uint32   Mechanic;                                     // 3        m_mechanic
     uint32     Mechanic;                                       // 3        m_mechanic
     uint32   Attributes;                                   // 4        m_attribute
     uint32     Attributes;                                     // 4        m_attribute
     uint32   AttributesEx;                                 // 5        m_attributesEx
     uint32     AttributesEx;                                   // 5        m_attributesEx
     uint32   AttributesEx2;                               // 6        m_attributesExB
     uint32     AttributesEx2;                                 // 6        m_attributesExB
     uint32   AttributesEx3;                               // 7        m_attributesExC
     uint32     AttributesEx3;                                 // 7        m_attributesExC
     uint32   AttributesEx4;                               // 8        m_attributesExD
     uint32     AttributesEx4;                                 // 8        m_attributesExD
     uint32   AttributesEx5;                               // 9        m_attributesExE
     uint32     AttributesEx5;                                 // 9        m_attributesExE
     uint32   AttributesEx6;                               // 10      m_attributesExF
     uint32     AttributesEx6;                                 // 10      m_attributesExF
     uint32   Stances;                                      // 11      m_shapeshiftMask
     uint32     unk_320_1;                                      // 11      3.2.0 (0x20 - totems, 0x4 - paladin auras, etc...)
    uint32    StancesNot;                                   // 12      m_shapeshiftExclude
    uint32      Stances;                                       // 12      m_shapeshiftMask
     uint32   Targets;                                      // 13      m_targets
     uint32     unk_320_2;                                      // 13      3.2.0
     uint32   TargetCreatureType;                           // 14      m_targetCreatureType
     uint32     StancesNot;                                     // 14      m_shapeshiftExclude
     uint32   RequiresSpellFocus;                           // 15      m_requiresSpellFocus
     uint32     unk_320_3;                                     // 15      3.2.0
     uint32   FacingCasterFlags;                           // 16      m_facingCasterFlags
     uint32     Targets;                                       // 16      m_targets
     uint32   CasterAuraState;                             // 17      m_casterAuraState
     uint32     TargetCreatureType;                             // 17      m_targetCreatureType
     uint32   TargetAuraState;                             // 18      m_targetAuraState
     uint32     RequiresSpellFocus;                             // 18      m_requiresSpellFocus
     uint32   CasterAuraStateNot;                           // 19      m_excludeCasterAuraState
     uint32     FacingCasterFlags;                             // 19      m_facingCasterFlags
     uint32   TargetAuraStateNot;                           // 20      m_excludeTargetAuraState
     uint32     CasterAuraState;                               // 20      m_casterAuraState
     uint32   casterAuraSpell;                             // 21      m_casterAuraSpell
     uint32     TargetAuraState;                               // 21      m_targetAuraState
     uint32   targetAuraSpell;                             // 22      m_targetAuraSpell
     uint32     CasterAuraStateNot;                             // 22      m_excludeCasterAuraState
     uint32   excludeCasterAuraSpell;                       // 23      m_excludeCasterAuraSpell
     uint32     TargetAuraStateNot;                             // 23      m_excludeTargetAuraState
     uint32   excludeTargetAuraSpell;                       // 24      m_excludeTargetAuraSpell
     uint32     casterAuraSpell;                               // 24      m_casterAuraSpell
     uint32   CastingTimeIndex;                             // 25      m_castingTimeIndex
     uint32     targetAuraSpell;                               // 25      m_targetAuraSpell
     uint32   RecoveryTime;                                 // 26      m_recoveryTime
     uint32     excludeCasterAuraSpell;                         // 26      m_excludeCasterAuraSpell
     uint32   CategoryRecoveryTime;                        // 27      m_categoryRecoveryTime
     uint32     excludeTargetAuraSpell;                        // 27      m_excludeTargetAuraSpell
     uint32   InterruptFlags;                              // 28      m_interruptFlags
     uint32     CastingTimeIndex;                              // 28      m_castingTimeIndex
     uint32   AuraInterruptFlags;                           // 29      m_auraInterruptFlags
     uint32     RecoveryTime;                                   // 29      m_recoveryTime
     uint32   ChannelInterruptFlags;                       // 30      m_channelInterruptFlags
     uint32     CategoryRecoveryTime;                           // 30      m_categoryRecoveryTime
     uint32   procFlags;                                   // 31      m_procTypeMask
     uint32     InterruptFlags;                                 // 31      m_interruptFlags
     uint32   procChance;                                   // 32      m_procChance
     uint32     AuraInterruptFlags;                             // 32      m_auraInterruptFlags
     uint32   procCharges;                                 // 33      m_procCharges
     uint32     ChannelInterruptFlags;                         // 33      m_channelInterruptFlags
     uint32   maxLevel;                                     // 34      m_maxLevel
     uint32     procFlags;                                     // 34      m_procTypeMask
     uint32   baseLevel;                                   // 35      m_baseLevel
     uint32     procChance;                                     // 35      m_procChance
     uint32   spellLevel;                                   // 36      m_spellLevel
     uint32     procCharges;                                   // 36      m_procCharges
     uint32   DurationIndex;                               // 37      m_durationIndex
     uint32     maxLevel;                                       // 37      m_maxLevel
     uint32   powerType;                                   // 38      m_powerType
     uint32     baseLevel;                                     // 38      m_baseLevel
     uint32   manaCost;                                    // 39      m_manaCost
     uint32     spellLevel;                                    // 39      m_spellLevel
     uint32   manaCostPerlevel;                             // 40      m_manaCostPerLevel
     uint32     DurationIndex;                                 // 40      m_durationIndex
     uint32   manaPerSecond;                               // 41      m_manaPerSecond
     uint32     powerType;                                     // 41      m_powerType
     uint32   manaPerSecondPerLevel;                       // 42      m_manaPerSecondPerLeve
     uint32     manaCost;                                       // 42      m_manaCost
     uint32   rangeIndex;                                   // 43      m_rangeIndex
     uint32     manaCostPerlevel;                               // 43      m_manaCostPerLevel
     float    speed;                                       // 44      m_speed
     uint32      manaPerSecond;                                 // 44      m_manaPerSecond
     //uint32   modalNextSpell;                             // 45      m_modalNextSpell not used
     uint32     manaPerSecondPerLevel;                         // 45      m_manaPerSecondPerLeve
     uint32   StackAmount;                                 // 46      m_cumulativeAura
     uint32     rangeIndex;                                     // 46      m_rangeIndex
     uint32    Totem[2];                                     // 47-48    m_totem
     float      speed;                                         // 47       m_speed
     int32    Reagent[8];                                   // 49-56    m_reagent
     uint32      modalNextSpell;                                 // 48      m_modalNextSpell
     uint32   ReagentCount[8];                             // 57-64    m_reagentCount
     uint32     StackAmount;                                   // 49      m_cumulativeAura
     int32    EquippedItemClass;                           // 65      m_equippedItemClass (value)
     uint32      Totem[2];                                       // 50-51    m_totem
     int32     EquippedItemSubClassMask;                     // 66      m_equippedItemSubclass (mask)
     int32       Reagent[8];                                     // 52-59    m_reagent
     int32    EquippedItemInventoryTypeMask;               // 67      m_equippedItemInvTypes (mask)
     uint32      ReagentCount[8];                               // 60-67   m_reagentCount
     uint32    Effect[MAX_SPELL_EFFECTS];                   // 68-70    m_effect
    int32       EquippedItemClass;                              // 68      m_equippedItemClass (value)
     //int32     EffectDieSides[MAX_SPELL_EFFECTS];           // 71-73    m_effectDieSides - Removed in 3.3.3
     int32      EquippedItemSubClassMask;                       // 69      m_equippedItemSubclass (mask)
     //int32     EffectBaseDice[MAX_SPELL_EFFECTS];           // 74-76    m_effectBaseDice - Removed in 3.3.3
     int32      EquippedItemInventoryTypeMask;                  // 70      m_equippedItemInvTypes (mask)
     float     EffectDicePerLevel[MAX_SPELL_EFFECTS];       // 77-79    m_effectDicePerLevel
     uint32      Effect[3];                                     // 71-73    m_effect
     float    EffectRealPointsPerLevel[MAX_SPELL_EFFECTS]; // 80-82    m_effectRealPointsPerLevel
     int32       EffectDieSides[3];                             // 74-76    m_effectDieSides
    int32    EffectBasePoints[MAX_SPELL_EFFECTS];          // 83-85    m_effectBasePoints (don't must be used in spell/auras explicitly, must be used cached Spell::m_currentBasePoints)
     float       EffectRealPointsPerLevel[3];                   // 77-79    m_effectRealPointsPerLevel
     uint32   EffectMechanic[MAX_SPELL_EFFECTS];           // 86-88   m_effectMechanic
     int32      EffectBasePoints[3];                           // 80-82    m_effectBasePoints (don't must be used in spell/auras explicitly, must be used cached Spell::m_currentBasePoints)
     uint32   EffectImplicitTargetA[MAX_SPELL_EFFECTS];     // 89-91   m_implicitTargetA
     uint32     EffectMechanic[3];                             // 83-85   m_effectMechanic
     uint32   EffectImplicitTargetB[MAX_SPELL_EFFECTS];     // 92-94   m_implicitTargetB
     uint32     EffectImplicitTargetA[3];                       // 86-88   m_implicitTargetA
     uint32   EffectRadiusIndex[MAX_SPELL_EFFECTS];         // 95-97   m_effectRadiusIndex - spellradius.dbc
     uint32     EffectImplicitTargetB[3];                       // 89-91   m_implicitTargetB
     uint32   EffectApplyAuraName[MAX_SPELL_EFFECTS];       // 98-100  m_effectAura
     uint32     EffectRadiusIndex[3];                           // 92-94   m_effectRadiusIndex - spellradius.dbc
     uint32   EffectAmplitude[MAX_SPELL_EFFECTS];           // 101-103  m_effectAuraPeriod
     uint32     EffectApplyAuraName[3];                         // 95-97    m_effectAura
     float     EffectMultipleValue[MAX_SPELL_EFFECTS];       // 104-106 m_effectAmplitude
     uint32     EffectAmplitude[3];                             // 98-100  m_effectAuraPeriod
     uint32   EffectChainTarget[MAX_SPELL_EFFECTS];         // 107-109 m_effectChainTargets
     float       EffectMultipleValue[3];                         // 101-103 m_effectAmplitude
     uint32   EffectItemType[MAX_SPELL_EFFECTS];           // 110-112 m_effectItemType
     uint32     EffectChainTarget[3];                           // 104-106 m_effectChainTargets
     int32     EffectMiscValue[MAX_SPELL_EFFECTS];           // 113-115 m_effectMiscValue
     uint32     EffectItemType[3];                             // 107-109 m_effectItemType
     int32     EffectMiscValueB[MAX_SPELL_EFFECTS];         // 116-118 m_effectMiscValueB
     int32       EffectMiscValue[3];                             // 110-112 m_effectMiscValue
     uint32   EffectTriggerSpell[MAX_SPELL_EFFECTS];       // 119-121 m_effectTriggerSpell
     int32       EffectMiscValueB[3];                           // 113-115 m_effectMiscValueB
     float     EffectPointsPerComboPoint[MAX_SPELL_EFFECTS]; // 122-124 m_effectPointsPerCombo
     uint32     EffectTriggerSpell[3];                         // 116-118 m_effectTriggerSpell
     flag96    EffectSpellClassMask[MAX_SPELL_EFFECTS];     //
     float       EffectPointsPerComboPoint[3];                   // 119-121 m_effectPointsPerCombo
     uint32   SpellVisual[2];                               // 134-135 m_spellVisualID
     uint32      EffectSpellClassMaskA[3];                       // 122-124  m_effectSpellClassMaskA, effect 0
     uint32   SpellIconID;                                 // 136      m_spellIconID
     uint32     EffectSpellClassMaskB[3];                       // 125-127 m_effectSpellClassMaskB, effect 1
     uint32   activeIconID;                                // 137      m_activeIconID
     uint32     EffectSpellClassMaskC[3];                       // 128-130  m_effectSpellClassMaskC, effect 2
     //uint32    spellPriority;                             // 138 not used
     uint32     SpellVisual[2];                                // 131-132  m_spellVisualID
     char*     SpellName[16];                               // 139-154 m_name_lang
     uint32      SpellIconID;                                    // 133      m_spellIconID
     //uint32   SpellNameFlag;                             // 155 not used
    uint32      activeIconID;                                  // 134      m_activeIconID
     char*     Rank[16];                                     // 156-171 m_nameSubtext_lang
    uint32      spellPriority;                                 // 135      m_spellPriority   
     //uint32   RankFlags;                                 // 172 not used
     char*       SpellName[16];                                 // 136-151 m_name_lang
     //char*     Description[16];                           // 173-188 m_description_lang not used
     uint32     SpellNameFlag;                                 // 152
     //uint32   DescriptionFlags;                           // 189 not used
     char*       Rank[16];                                       // 153-168 m_nameSubtext_lang
     //char*     ToolTip[16];                               // 190-205 m_auraDescription_lang not used
     uint32     RankFlags;                                     // 169
     //uint32   ToolTipFlags;                               // 206 not used
     char*       Description[16];                               // 170-185 m_description_lang  
     uint32   ManaCostPercentage;                           // 207     m_manaCostPct
     uint32     DescriptionFlags;                               // 186
     uint32   StartRecoveryCategory;                       // 208     m_startRecoveryCategory
     char*       ToolTip[16];                                   // 187-202 m_auraDescription_lang  
     uint32   StartRecoveryTime;                           // 209     m_startRecoveryTime
     uint32     ToolTipFlags;                                   // 203
     uint32   MaxTargetLevel;                               // 210     m_maxTargetLevel
     uint32     ManaCostPercentage;                             // 204     m_manaCostPct
     uint32   SpellFamilyName;                             // 211     m_spellClassSet
     uint32     StartRecoveryCategory;                         // 205     m_startRecoveryCategory
     flag96    SpellFamilyFlags;                             // 212-214
     uint32     StartRecoveryTime;                             // 206     m_startRecoveryTime
     uint32   MaxAffectedTargets;                           // 215     m_maxTargets
     uint32     MaxTargetLevel;                                 // 207     m_maxTargetLevel
     uint32   DmgClass;                                     // 216     m_defenseType
     uint32     SpellFamilyName;                               // 208     m_spellClassSet
     uint32   PreventionType;                               // 217     m_preventionType
     uint64      SpellFamilyFlags;                               // 209-210  m_spellClassMask NOTE: size is 12 bytes!!!
     //uint32   StanceBarOrder;                             // 218     m_stanceBarOrder not used
     uint32     SpellFamilyFlags2;                             // 211     addition to m_spellClassMask
     float     DmgMultiplier[3];                             // 219-221 m_effectChainAmplitude
     uint32     MaxAffectedTargets;                             // 212      m_maxTargets
     //uint32   MinFactionId;                               // 222     m_minFactionID not used
    uint32      DmgClass;                                      // 213     m_defenseType
     //uint32   MinReputation;                             // 223     m_minReputation not used
     uint32     PreventionType;                                 // 214     m_preventionType
     //uint32   RequiredAuraVision;                         // 224     m_requiredAuraVision not used
     uint32     StanceBarOrder;                                 // 215     m_stanceBarOrder  
     uint32   TotemCategory[2];                             // 225-226 m_requiredTotemCategoryID
     float       DmgMultiplier[3];                               // 216-218 m_effectChainAmplitude
     int32     AreaGroupId;                                 // 227     m_requiredAreaGroupId
     uint32     MinFactionId;                                   // 219     m_minFactionID  
     uint32   SchoolMask;                                   // 228     m_schoolMask
     uint32     MinReputation;                                 // 220     m_minReputation  
     uint32   runeCostID;                                   // 229     m_runeCostID
     uint32     RequiredAuraVision;                             // 221     m_requiredAuraVision  
     //uint32   spellMissileID;                             // 230     m_spellMissileID not used
     uint32     TotemCategory[2];                               // 222-223 m_requiredTotemCategoryID
     //uint32 PowerDisplayId;                               // 231 PowerDisplay.dbc, new in 3.1
     int32       AreaGroupId;                                   // 224     m_requiredAreaGroupId
 
     uint32     SchoolMask;                                     // 225     m_schoolMask
     // helpers
     uint32     runeCostID;                                     // 226     m_runeCostID
    int32 CalculateSimpleValue(uint8 eff) const { return EffectBasePoints[eff]+int32(EffectBaseDice[eff]); }
     uint32     spellMissileID;                                 // 227     m_spellMissileID  
 
     uint32     PowerDisplayId;                                 // 228      PowerDisplay.dbc, new in 3.1
    private:
     float      unk_320_4[3];                                   // 229-231  3.2.0
        // prevent creating custom entries (copy data from original in fact)
    uint32      spellDescriptionVariableID;                    // 232      3.2.0
        SpellEntry(SpellEntry const&);                     // DON'T must have implementation
    uint32      SpellDifficultyId;                             // 233      3.3.0
  };
  };



Revision as of 20:44, 22 April 2010

Header Info

Records.................33142
Fields....................179
Record Size...............716
String Block Size.....1233679

Structure

http://getmangos.com

struct SpellEntry
{
   uint32      Id;                                             // 0        m_ID
   uint32      Category;                                       // 1        m_category
   uint32      Dispel;                                         // 2        m_dispelType
   uint32      Mechanic;                                       // 3        m_mechanic
   uint32      Attributes;                                     // 4        m_attribute
   uint32      AttributesEx;                                   // 5        m_attributesEx
   uint32      AttributesEx2;                                  // 6        m_attributesExB
   uint32      AttributesEx3;                                  // 7        m_attributesExC
   uint32      AttributesEx4;                                  // 8        m_attributesExD
   uint32      AttributesEx5;                                  // 9        m_attributesExE
   uint32      AttributesEx6;                                  // 10       m_attributesExF
   uint32      unk_320_1;                                      // 11       3.2.0 (0x20 - totems, 0x4 - paladin auras, etc...)
   uint32      Stances;                                        // 12       m_shapeshiftMask
   uint32      unk_320_2;                                      // 13       3.2.0
   uint32      StancesNot;                                     // 14       m_shapeshiftExclude
   uint32      unk_320_3;                                      // 15       3.2.0
   uint32      Targets;                                        // 16       m_targets
   uint32      TargetCreatureType;                             // 17       m_targetCreatureType
   uint32      RequiresSpellFocus;                             // 18       m_requiresSpellFocus
   uint32      FacingCasterFlags;                              // 19       m_facingCasterFlags
   uint32      CasterAuraState;                                // 20       m_casterAuraState
   uint32      TargetAuraState;                                // 21       m_targetAuraState
   uint32      CasterAuraStateNot;                             // 22       m_excludeCasterAuraState
   uint32      TargetAuraStateNot;                             // 23       m_excludeTargetAuraState
   uint32      casterAuraSpell;                                // 24       m_casterAuraSpell
   uint32      targetAuraSpell;                                // 25       m_targetAuraSpell
   uint32      excludeCasterAuraSpell;                         // 26       m_excludeCasterAuraSpell
   uint32      excludeTargetAuraSpell;                         // 27       m_excludeTargetAuraSpell
   uint32      CastingTimeIndex;                               // 28       m_castingTimeIndex
   uint32      RecoveryTime;                                   // 29       m_recoveryTime
   uint32      CategoryRecoveryTime;                           // 30       m_categoryRecoveryTime
   uint32      InterruptFlags;                                 // 31       m_interruptFlags
   uint32      AuraInterruptFlags;                             // 32       m_auraInterruptFlags
   uint32      ChannelInterruptFlags;                          // 33       m_channelInterruptFlags
   uint32      procFlags;                                      // 34       m_procTypeMask
   uint32      procChance;                                     // 35       m_procChance
   uint32      procCharges;                                    // 36       m_procCharges
   uint32      maxLevel;                                       // 37       m_maxLevel
   uint32      baseLevel;                                      // 38       m_baseLevel
   uint32      spellLevel;                                     // 39       m_spellLevel
   uint32      DurationIndex;                                  // 40       m_durationIndex
   uint32      powerType;                                      // 41       m_powerType
   uint32      manaCost;                                       // 42       m_manaCost
   uint32      manaCostPerlevel;                               // 43       m_manaCostPerLevel
   uint32      manaPerSecond;                                  // 44       m_manaPerSecond
   uint32      manaPerSecondPerLevel;                          // 45       m_manaPerSecondPerLeve
   uint32      rangeIndex;                                     // 46       m_rangeIndex
   float       speed;                                          // 47       m_speed
   uint32      modalNextSpell;                                 // 48       m_modalNextSpell 
   uint32      StackAmount;                                    // 49       m_cumulativeAura
   uint32      Totem[2];                                       // 50-51    m_totem
   int32       Reagent[8];                                     // 52-59    m_reagent
   uint32      ReagentCount[8];                                // 60-67    m_reagentCount
   int32       EquippedItemClass;                              // 68       m_equippedItemClass (value)
   int32       EquippedItemSubClassMask;                       // 69       m_equippedItemSubclass (mask)
   int32       EquippedItemInventoryTypeMask;                  // 70       m_equippedItemInvTypes (mask)
   uint32      Effect[3];                                      // 71-73    m_effect
   int32       EffectDieSides[3];                              // 74-76    m_effectDieSides
   float       EffectRealPointsPerLevel[3];                    // 77-79    m_effectRealPointsPerLevel
   int32       EffectBasePoints[3];                            // 80-82    m_effectBasePoints (don't must be used in spell/auras explicitly, must be used cached Spell::m_currentBasePoints)
   uint32      EffectMechanic[3];                              // 83-85    m_effectMechanic
   uint32      EffectImplicitTargetA[3];                       // 86-88    m_implicitTargetA
   uint32      EffectImplicitTargetB[3];                       // 89-91    m_implicitTargetB
   uint32      EffectRadiusIndex[3];                           // 92-94    m_effectRadiusIndex - spellradius.dbc
   uint32      EffectApplyAuraName[3];                         // 95-97    m_effectAura
   uint32      EffectAmplitude[3];                             // 98-100   m_effectAuraPeriod
   float       EffectMultipleValue[3];                         // 101-103  m_effectAmplitude
   uint32      EffectChainTarget[3];                           // 104-106  m_effectChainTargets
   uint32      EffectItemType[3];                              // 107-109  m_effectItemType
   int32       EffectMiscValue[3];                             // 110-112  m_effectMiscValue
   int32       EffectMiscValueB[3];                            // 113-115  m_effectMiscValueB
   uint32      EffectTriggerSpell[3];                          // 116-118  m_effectTriggerSpell
   float       EffectPointsPerComboPoint[3];                   // 119-121  m_effectPointsPerCombo
   uint32      EffectSpellClassMaskA[3];                       // 122-124  m_effectSpellClassMaskA, effect 0
   uint32      EffectSpellClassMaskB[3];                       // 125-127  m_effectSpellClassMaskB, effect 1
   uint32      EffectSpellClassMaskC[3];                       // 128-130  m_effectSpellClassMaskC, effect 2
   uint32      SpellVisual[2];                                 // 131-132  m_spellVisualID
   uint32      SpellIconID;                                    // 133      m_spellIconID
   uint32      activeIconID;                                   // 134      m_activeIconID
   uint32      spellPriority;                                  // 135      m_spellPriority     
   char*       SpellName[16];                                  // 136-151  m_name_lang
   uint32      SpellNameFlag;                                  // 152 
   char*       Rank[16];                                       // 153-168  m_nameSubtext_lang
   uint32      RankFlags;                                      // 169 
   char*       Description[16];                                // 170-185  m_description_lang 
   uint32      DescriptionFlags;                               // 186 
   char*       ToolTip[16];                                    // 187-202  m_auraDescription_lang 
   uint32      ToolTipFlags;                                   // 203 
   uint32      ManaCostPercentage;                             // 204      m_manaCostPct
   uint32      StartRecoveryCategory;                          // 205      m_startRecoveryCategory
   uint32      StartRecoveryTime;                              // 206      m_startRecoveryTime
   uint32      MaxTargetLevel;                                 // 207      m_maxTargetLevel
   uint32      SpellFamilyName;                                // 208      m_spellClassSet
   uint64      SpellFamilyFlags;                               // 209-210  m_spellClassMask NOTE: size is 12 bytes!!!
   uint32      SpellFamilyFlags2;                              // 211      addition to m_spellClassMask
   uint32      MaxAffectedTargets;                             // 212      m_maxTargets
   uint32      DmgClass;                                       // 213      m_defenseType
   uint32      PreventionType;                                 // 214      m_preventionType
   uint32      StanceBarOrder;                                 // 215      m_stanceBarOrder 
   float       DmgMultiplier[3];                               // 216-218  m_effectChainAmplitude
   uint32      MinFactionId;                                   // 219      m_minFactionID 
   uint32      MinReputation;                                  // 220      m_minReputation 
   uint32      RequiredAuraVision;                             // 221      m_requiredAuraVision 
   uint32      TotemCategory[2];                               // 222-223  m_requiredTotemCategoryID
   int32       AreaGroupId;                                    // 224      m_requiredAreaGroupId
   uint32      SchoolMask;                                     // 225      m_schoolMask
   uint32      runeCostID;                                     // 226      m_runeCostID
   uint32      spellMissileID;                                 // 227      m_spellMissileID 
   uint32      PowerDisplayId;                                 // 228      PowerDisplay.dbc, new in 3.1
   float       unk_320_4[3];                                   // 229-231  3.2.0
   uint32      spellDescriptionVariableID;                     // 232      3.2.0
   uint32      SpellDifficultyId;                              // 233      3.3.0
};

Old

Column	Field 				Type 		Notes 
1 	ID 				Integer 	
2 	iRefID_Resistances 		Integer 	School Category. Also serves as resistance component. 
3 	iRefID_SpellCategory 		Integer 	
4 	Unknown 			Integer 	
5 	iRefID_SpellDispelType 		Integer 	Dispel type 
6 	iRefID_SpellMechanic 		Integer 	Main mechanic applied to the spell being cast 
7 	Unknown 			BitMask 	Bit 0x10000000 = "Cannot be cast when in combat". 
8 	Unknown 			BitMask 	
9 	targets 			BitMask 	...> Internal arrays? 
10 	Unknown 			BitMask 	Moved from column 168 (Patch 0.12.0) Bit 0x100000 = Persist through death (Flasks, Ghost, Deserter etc) 	
11 	Unknown 			Unknown 	Added with 0.12.0 
12 	Unknown 			Unknown 	Added with Beta 2.0.0.6022 
13 	iRefMask_SpellShapeshiftForm 	BitMask 	BitMask for which shapeshift forms this spell can be used in. 
14 	iRefMask_SpellShapeshiftForm 	BitMask 	BitMask for which shapeshift forms this spell cannot be used in. 
15 	Unknown 			Unknown 	 
16 	iRefMask_CreatureType 		BitMask 	
17 	iRefID_SpellFocusObject 	Integer 	The object that needs to be near, targeted, or on person to cast 
18 	caster_aura_state 		Integer 	Requirements that need to be met, before spell/ability is usable, on caster... 
19 	target_aura_state 		Integer 	...or target. 
20 	Unknown 			Unknown 	(Added in 2.0.0.5894) 
21 	Unknown 			Unknown 	(Added in 2.0.0.5894) 
22 	iRefID_SpellCastTimes 		Integer 	The time in milliseconds to cast 
23 	category_recovery_time 		Integer 	Spell cooldown. If this is set affects whole category, else... 
24 	recovery_time 			Integer 	...if this is set affects only spell/ability being used. Note: Both can be set with different cooldowns. 
25 	interrupt_flags 		BitMask 	What table(s) do these fields point to? <... 
26 	aura_interrupt_flags 		BitMask 	... 
27 	channel_interrupt_flags 	BitMask 	... 
28 	proc_flags 			BitMask 	...> Internal arrays? 
29 	proc_chance 			Integer 	
30 	proc_charges 			Integer 	
31 	level_max 			Integer 	The spell level when additional damage is no longer calculated. 
32 	level_base 			Integer 	
33 	level_spell 			Integer 	
34 	iRefID_SpellDuration 		Integer 	Duration is in milliseconds. ($d)
35 	power_type 			Integer 	
36 	mana_cost 			Integer 	To get rage cost, divide this value by 10. 
37 	mana_cost_per_level 		Integer 	
38 	mana_per_second 		Integer 	
39 	mana_per_second_per_level 	Integer 	
40 	iRefID_SpellRange 		Integer 	Yard increments 
41 	projectile_speed 		Float 		Speed of the "animation bolt" as it travels from caster to target. 
42 	modal_next_spell 		Integer 	
43 	stack_amount 			Integer 	Specifies how many times the spell can be applied to a target
44 	iRefID_Tool_1 			Integer 	Required tool to cast. (eg. Mining Pick, Flint and Tinder)  
45 	iRefID_Tool_2 			Integer 	 direct reference to an item-id
46 	iRefID_Reagent_1 		Integer 	Reagent required to cast. Direct reference to an item-id 
47 	iRefID_Reagent_2 		Integer 	
48 	iRefID_Reagent_3 		Integer 	
49 	iRefID_Reagent_4 		Integer 	
50 	iRefID_Reagent_5 		Integer 	
51 	iRefID_Reagent_6 		Integer 	
52 	iRefID_Reagent_7 		Integer 	
53 	iRefID_Reagent_8 		Integer 	
54 	reagent_count_1 		Integer 	Amount of reagents required to use spell/ability. 
55 	reagent_count_2 		Integer 	
56 	reagent_count_3 		Integer 	
57 	reagent_count_4 		Integer 	
58 	reagent_count_5 		Integer 	
59 	reagent_count_6 		Integer 	
60 	reagent_count_7 		Integer 	
61 	reagent_count_8 		Integer 	
62 	iRefMask_ItemClass		BitMask 	
63 	iRefMask_ItemSubClass 		BitMask 	
64 	iRefMask_Inventory Slots 	BitMask 	for enchanting 
65 	effect_1_id 			Integer 	SpellEffectNames.dbc 
66 	effect_2_id 			Integer 	SpellEffectNames.dbc
67 	effect_3_id 			Integer 	SpellEffectNames.dbc
68 	effect_1_die_sides 		Integer 	Random Damage 
69 	effect_2_die_sides 		Integer 	
70 	effect_3_die_sides 		Integer 	
71 	effect_1_base_dice 		Integer 	
72 	effect_2_base_dice 		Integer 	
73 	effect_3_base_dice 		Integer 	
74 	effect_1_dice_per_level 	Integer 	
75 	effect_2_dice_per_level 	Integer 	
76 	effect_3_dice_per_level 	Integer 	
77 	effect_1_real_points_per_level 	Float 	
78 	effect_2_real_points_per_level 	Float 	
79 	effect_3_real_points_per_level 	Float 	
80 	effect_1_base_points 		Integer 	Base Damage ($s1)
81 	effect_2_base_points 		Integer 	
82 	effect_3_base_points 		Integer 	
83 	effect_1_mechanic_id 		Integer 	SpellMechanic.dbc 
84 	effect_2_mechanic_id 		Integer 	SpellMechanic.dbc 
85 	effect_3_mechanic_id 		Integer 	SpellMechanic.dbc 
86 	effect_1_implicit_target_a 	Integer 	
87 	effect_2_implicit_target_a 	Integer 	
88 	effect_3_implicit_target_a 	Integer 	
89 	effect_1_implicit_target_b 	Integer 	
90 	effect_2_implicit_target_b 	Integer 	
91 	effect_3_implicit_target_b 	Integer 	
92 	effect_1_radius 		Integer 	SpellRadius.dbc 
93 	effect_2_radius 		Integer 	SpellRadius.dbc 
94 	effect_3_radius 		Integer 	SpellRadius.dbc 
95 	effect_1_aura 			Integer 	SpellAuraNames.dbc 
96 	effect_2_aura 			Integer 	SpellAuraNames.dbc 
97 	effect_3_aura 			Integer 	SpellAuraNames.dbc
98 	effect_1_amplitude 		Integer 	Refence ID: $o1 in description/buff desc. 
99 	effect_2_amplitude 		Integer 	$o2 
100 	effect_3_amplitude 		Integer 	$o3 
101 	effect_1_proc_value		Float 		$e1 
102 	effect_2_proc_value		Float 		$e2 
103 	effect_3_proc_value		Float 		$e3 
104 	effect_1_chain_target 		Integer 	
105 	effect_2_chain_target 		Integer 	
106 	effect_3_chain_target 		Integer 	
107 	effect_1_item_type 		Integer 	used when creating items. Q:Does this refer to these Item Types? Reference to ItemCache.wdb 
108 	effect_2_item_type 		Integer 	
109 	effect_3_item_type 		Integer 	
110 	effect_1_misc_value 		Integer 	Reference to SpellItemEnchantment.dbc for enchanting 
111 	effect_2_misc_value 		Integer 	
112 	effect_3_misc_value 		Integer 	
113 	effect_1_trigger_spell 		Integer 	spellid that this spell teaches or triggers 
114 	effect_2_trigger_spell 		Integer 	
115 	effect_3_trigger_spell 		Integer 	
116 	effect_1_proc_chance 		Float 		Seems to be $b1, having something to do with finishing moves... 
117 	effect_2_proc_chance		Float 		$b2 
118 	effect_3_proc_chance		Float 		$b3 
119 	iRefID_SpellVisual 		Integer 	
120 	Unknown 			Integer 	Only on one spell, Sire's Suicide (18184) with a value of 749 
121 	iRefID_SpellIcon 		Integer 	Icon used in spellbook. 
122 	iRefID_SpellIcon 		Integer 	Icon used on target. 
123 	spell_priority 			Integer 	Deciding factor if it overrides other effects. 
124-132	sRefName 			String + Loc	Names different then your clients localization will appear as null terminated strings 	
133-141	rank 				String + Loc 	
142-150	book_description 		String + Loc		DBC String Variables 	
151-159	buff_desciption 		String + Loc 	
160 	mana_cost_percent 		Integer 	
161 	start_recovery_category 	Integer 	
162 	start_recovery_time 		Integer 	Global cooldown. 
163 	affected_target_level 		Integer 	example: "Only affects Humanoid targets level affected_target_level or lower." 	
164 	iRefID_ChrClasses 		Integer 	Column 16 
165 	Unknown 			BitMask 	
166 	spell_targets 			Integer 	How many targets are affected around the currently targeted Mob/Player. 
167 	Unknown 			BitMask 	
168 	dmg_class 			Integer 	0=None, 1=Magic, 2=Melee, 3=Ranged 
169 	Unknown 			Integer 	Vals = 0,1,2 
170 	Unknown 			Integer 	
171 	dmg_multiplier_1 		Float 	
172 	dmg_multiplier_2 		Float 	
173 	dmg_multiplier_3 		Float 	
174 	Unknown 			Unknown 	
175 	Unknown 			Unknown 	
176 	Unknown 			Unknown 	
177 	iRefID_TotemCategory_1 		Integer 	Required tool (BC Alpha 8/26/2006) 
178 	iRefID_TotemCategory_2 		Integer 	Required tool (BC Alpha 8/26/2006) 
179 	Unknown 			Unknown 	(Added build 5965) 

Retrieved from "http://www.sourcepeek.com/wiki/Spell.dbc"