DB/Spell: Difference between revisions

From wowdev
Jump to navigation Jump to search
No edit summary
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
==Header Info==
==Header Info==
  Records.................33142
  Records.................66054
  Fields....................179
  Fields.....................47
  Record Size...............716
  Record Size...............188
  String Block Size.....1233679
  String Block Size.....2975415


==Structure==
==4.0.3.13329==


http://dev.trinitycore.org/trinitycore2/src/561ac59c59ac/src/game/DBCStructure.h
{| style="background:#FCFCFC; color:black"
|-
! width="80" | Column
! width="180" | Field
! width="80" | Type
! width="500" | Notes
|- style="background:#E0E0E0;"
| 1  || ID || Integer ||
|-
| 2  || Attributes || Integer ||
|- style="background:#E0E0E0;"
| 3  || AttributesEx || Integer ||
|-
| 4  || AttributesExB || Integer ||
|- style="background:#E0E0E0;"
| 5  || AttributesExC || Integer ||
|-
| 6  || AttributesExD || Integer ||
|- style="background:#E0E0E0;"
| 7  || AttributesExE || Integer ||
|-
| 8  || AttributesExF || Integer ||
|- style="background:#E0E0E0;"
| 9  || AttributesExG || Integer ||
|-
| 10 || AttributesExH || Integer ||
|- style="background:#E0E0E0;"
| 11 || unk_400_1 || Integer ||
|-
| 12 || [[SpellCastTimes.dbc|CastTimesID]] || iRefID ||
|- style="background:#E0E0E0;"
| 13 || [[SpellDuration.dbc|DurationID]] || iRefID ||
|-
| 14 || [[SpellPower.dbc|PowerID]] || iRefID ||
|- style="background:#E0E0E0;"
| 15 || [[SpellRange.dbc|RangeID]] || iRefID ||
|-
| 16 || Speed || Float ||
|- style="background:#E0E0E0;"
| 17 || [[SpellVisual.dbc|VisualID1]] || iRefID ||
|-
| 18 || [[SpellVisual.dbc|VisualID2]] || iRefID ||
|- style="background:#E0E0E0;"
| 19 || [[SpellIcon.dbc|IconID1]] || iRefID ||
|-
| 20 || [[SpellIcon.dbc|IconID2]] || iRefID || active
|- style="background:#E0E0E0;"
| 21 || Name || String ||
|-
| 22 || NameSubtext || String ||
|- style="background:#E0E0E0;"
| 23 || Description || String ||
|-
| 24 || AuraDescription || String ||
|- style="background:#E0E0E0;"
| 25 || SchoolMask || Integer ||
|-
| 26 || [[SpellRuneCost.dbc|RuneCostID]] || iRefID ||
|- style="background:#E0E0E0;"
| 27 || [[SpellMissile.dbc|MissileID]] || iRefID ||
|-
| 28 || [[SpellDescriptionVariables.dbc|DescriptionVariablesID]] || iRefID ||
|- style="background:#E0E0E0;"
| 29 || [[SpellDifficulty.dbc|DifficultyID]] || iRefID ||
|-
| 30 || unk_400_2 || Float ||
|- style="background:#E0E0E0;"
| 31 || [[SpellScaling.dbc|ScalingID]] || iRefID ||
|-
| 32 || [[SpellAuraOptions.dbc|AuraOptionsID]] || iRefID ||
|- style="background:#E0E0E0;"
| 33 || [[SpellAuraRestrictions.dbc|AuraRestrictionsID]] || iRefID ||
|-
| 34 || [[SpellCastingRequirements.dbc|CastingRequirementsID]] || iRefID ||
|- style="background:#E0E0E0;"
| 35 || [[SpellCategories.dbc|CategoriesID]] || iRefID ||
|-
| 36 || [[SpellClassOptions.dbc|ClassOptionsID]] || iRefID ||
|- style="background:#E0E0E0;"
| 37 || [[SpellCooldowns.dbc|CooldownsID]] || iRefID ||
|-
| 38 || unk_400_3 || Integer ||
|- style="background:#E0E0E0;"
| 39 || [[SpellEquippedItems.dbc|EquippedItemsID]] || iRefID ||
|-
| 40 || [[SpellInterrupts.dbc|InterruptsID]] || iRefID ||
|- style="background:#E0E0E0;"
| 41 || [[SpellLevels.dbc|LevelsID]] || iRefID ||
|-
| 42 || [[SpellPower.dbc|PowerID]] || iRefID ||
|- style="background:#E0E0E0;"
| 43 || [[SpellReagents.dbc|ReagentsID]] || iRefID ||
|-
| 44 || [[SpellShapeshift.dbc|ShapeshiftID]] || iRefID ||
|- style="background:#E0E0E0;"
| 45 || [[SpellTargetRestrictions.dbc|TargetRestrictionsID]] || iRefID ||
|-
| 46 || [[SpellTotems.dbc|TotemsID]] || iRefID ||
|- style="background:#E0E0E0;"
| 47 || unk_400_4 || Integer ||
|}


#define MAX_SPELL_EFFECTS 3
==3.3.5.12340==
  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     AttributesEx7;                                 // 11      3.2.0 (0x20 - totems, 0x4 - paladin auras, etc...) --- Even more attributes needed, thanks MrLama for this
    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
  };
  };


Line 280: Line 380:


[[Category:DBC]]
[[Category:DBC]]
[[Category:DBC 4.0.3.13329]]

Revision as of 16:34, 25 November 2010

Header Info

Records.................66054
Fields.....................47
Record Size...............188
String Block Size.....2975415

4.0.3.13329

Column Field Type Notes
1 ID Integer
2 Attributes Integer
3 AttributesEx Integer
4 AttributesExB Integer
5 AttributesExC Integer
6 AttributesExD Integer
7 AttributesExE Integer
8 AttributesExF Integer
9 AttributesExG Integer
10 AttributesExH Integer
11 unk_400_1 Integer
12 CastTimesID iRefID
13 DurationID iRefID
14 PowerID iRefID
15 RangeID iRefID
16 Speed Float
17 VisualID1 iRefID
18 VisualID2 iRefID
19 IconID1 iRefID
20 IconID2 iRefID active
21 Name String
22 NameSubtext String
23 Description String
24 AuraDescription String
25 SchoolMask Integer
26 RuneCostID iRefID
27 MissileID iRefID
28 DescriptionVariablesID iRefID
29 DifficultyID iRefID
30 unk_400_2 Float
31 ScalingID iRefID
32 AuraOptionsID iRefID
33 AuraRestrictionsID iRefID
34 CastingRequirementsID iRefID
35 CategoriesID iRefID
36 ClassOptionsID iRefID
37 CooldownsID iRefID
38 unk_400_3 Integer
39 EquippedItemsID iRefID
40 InterruptsID iRefID
41 LevelsID iRefID
42 PowerID iRefID
43 ReagentsID iRefID
44 ShapeshiftID iRefID
45 TargetRestrictionsID iRefID
46 TotemsID iRefID
47 unk_400_4 Integer

3.3.5.12340

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      AttributesEx7;                                  // 11       3.2.0 (0x20 - totems, 0x4 - paladin auras, etc...) --- Even more attributes needed, thanks MrLama for this
   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"