DB/Spell: Difference between revisions

From wowdev
Jump to navigation Jump to search
m (Marlamin moved page Spell.dbc to DB/Spell)
(45 intermediate revisions by 7 users not shown)
Line 1: Line 1:
==Header Info==
==7.0.1.21737==
Records.................66054
Now Spell.db2. To find a list of DBC files related to the data formerly contained in this DB2, see the [[:Category:SpellData|Spell Data]] Category.
  Fields.....................47
{| style="background:#FCFCFC; color:black"
  Record Size...............188
|-
  String Block Size.....2975415
! width="180" | Column
! width="180" | DBC
|- style="background:#E0E0E0;"
| 1  || Name || String ||
|-
| 2 || Name Subtext || String ||
|- style="background:#E0E0E0;"
| 3 || Description|| String ||
|-
| 4 || Tooltip|| String ||
|- style="background:#E0E0E0;"
| 5  || [[DB/SpellMisc|SpellMiscID]] || iRefID ||
|-
| 5  || ID || Integer ||
|- style="background:#E0E0E0;"
| 6  || [[SpellDescriptionVariables.dbc|DescriptionVariablesID]] || iRefID ||
|}
 
[[User:Synric|Synric]] 12th July 2016
 
==6.0.1.18179==
struct SpellRec {
  uint32_t m_ID;
  {{Template:Type|langstringref}} m_name_lang;
  {{Template:Type|langstringref}} m_nameSubtext_lang;
  {{Template:Type|langstringref}} m_description_lang;
  {{Template:Type|langstringref}} m_auraDescription_lang;
  uint32_t m_runeCostID;
  uint32_t m_spellMissileID;
  uint32_t m_descriptionVariablesID;
  uint32_t m_scalingID;
  uint32_t m_auraOptionsID;
  uint32_t m_auraRestrictionsID;
  uint32_t m_castingRequirementsID;
  uint32_t m_categoriesID;
  uint32_t m_classOptionsID;
  uint32_t m_cooldownsID;
  uint32_t m_equippedItemsID;
  uint32_t m_interruptsID;
  uint32_t m_levelsID;
  uint32_t m_reagentsID;
  uint32_t m_shapeshiftID;
  uint32_t m_targetRestrictionsID;
  uint32_t m_totemsID;
  uint32_t m_requiredProjectID;
  uint32_t m_miscID;
};


==4.0.3.13329==
==4.0.3.13329==
Line 110: Line 156:


==3.3.5.12340==
==3.3.5.12340==
struct SpellEntry
{| style="background:#FCFCFC; color:black"
{
|-
    uint32      Id;                                             // 0        m_ID
! width="60" | Field
    uint32      [[SpellCategory.dbc|Category]];                                      // 1        m_category
! width="100" | Type
    uint32      [[SpellDispelType.dbc|Dispel]];                                         // 2        m_dispelType
! width="200" | Name
    uint32     [[SpellMechanic.dbc|Mechanic]];                                      // 3        m_mechanic
! width="920" | Notes
    uint32     [[Spell.dbc/Attributes|Attributes]];                                    // 4        m_attribute
|-style="background:#E0E0E0;"
    uint32     [[Spell.dbc/AttributesEx|AttributesEx]];                                  // 5        m_attributesEx
| 1||uint32||ID||Unique ID of a spell.
    uint32     [[Spell.dbc/AttributesExB|AttributesEx2]];                                  // 6        m_attributesExB
|-
    uint32      [[Spell.dbc/AttributesExC|AttributesEx3]];                                 // 7        m_attributesExC
| 2||uint32||[[SpellCategory.dbc|Spell category]]||Category of a spell. Used for category cooldowns.
    uint32     [[Spell.dbc/AttributesExD|AttributesEx4]];                                  // 8        m_attributesExD
|-style="background:#E0E0E0;"
    uint32     [[Spell.dbc/AttributesExE|AttributesEx5]];                                 // 9        m_attributesExE
| 3||uint32||[[SpellDispelType.dbc|Dispel type]]||For determining which spells are capable of dispelling this.
    uint32      [[Spell.dbc/AttributesExF|AttributesEx6]];                                  // 10      m_attributesExF
|-
    uint32     [[Spell.dbc/AttributesExG|AttributesEx7]];                                  // 11      3.2.0 (0x20 - totems, 0x4 - paladin auras, etc...) --- Even more attributes needed, thanks MrLama for this
| 4||uint32||[[SpellMechanic.dbc|Spell mechanic]]||Used by spells granting bonuses/immunities against certain effect types (stun, charm...).
    uint32     Stances;                                        // 12      m_shapeshiftMask
|-style="background:#E0E0E0;"
    uint32      unk_320_2;                                     // 13      3.2.0
| 5||uint32||[[Spell.dbc/Attributes|Attributes]]||Attributes are in general miscellanous flags.
    uint32     StancesNot;                                    // 14      m_shapeshiftExclude
|-
    uint32      unk_320_3;                                      // 15      3.2.0
| 6||uint32||[[Spell.dbc/AttributesEx|AttributesEx]]||Attributes are in general miscellanous flags.
    uint32      [[Spell.dbc/Targets|Targets]];                                        // 16      m_targets
|-style="background:#E0E0E0;"
    uint32      TargetCreatureType;                            // 17      m_targetCreatureType
| 7||uint32||[[Spell.dbc/AttributesExB|AttributesExB]]||Attributes are in general miscellanous flags.
    uint32     RequiresSpellFocus;                            // 18      m_requiresSpellFocus
|-
    uint32      FacingCasterFlags;                             // 19      m_facingCasterFlags
| 8||uint32||[[Spell.dbc/AttributesExC|AttributesExC]]||Attributes are in general miscellanous flags.
    uint32     CasterAuraState;                                // 20      m_casterAuraState
|-style="background:#E0E0E0;"
    uint32      TargetAuraState;                                // 21      m_targetAuraState
| 9||uint32||[[Spell.dbc/AttributesExD|AttributesExD]]||Attributes are in general miscellanous flags.
    uint32     CasterAuraStateNot;                            // 22      m_excludeCasterAuraState
|-
    uint32      TargetAuraStateNot;                             // 23      m_excludeTargetAuraState
| 10||uint32||[[Spell.dbc/AttributesExE|AttributesExE]]||Attributes are in general miscellanous flags.
    uint32     casterAuraSpell;                                // 24      m_casterAuraSpell
|-style="background:#E0E0E0;"
    uint32      targetAuraSpell;                                // 25      m_targetAuraSpell
| 11||uint32||[[Spell.dbc/AttributesExF|AttributesExF]]||Attributes are in general miscellanous flags.
    uint32      excludeCasterAuraSpell;                        // 26      m_excludeCasterAuraSpell
|-
    uint32      excludeTargetAuraSpell;                        // 27      m_excludeTargetAuraSpell
| 12||uint32||[[Spell.dbc/AttributesExG|AttributesExG]]||Attributes are in general miscellanous flags.
    uint32      [[SpellCastTimes.dbc|CastingTimeIndex]];                              // 28      m_castingTimeIndex
|-style="background:#E0E0E0;"
    uint32      RecoveryTime;                                  // 29      m_recoveryTime
| 13||uint32||[[SpellShapeshiftForm.dbc|Stances]]||Mask. Shapeshifts/Stances in which is spell castable.
    uint32     CategoryRecoveryTime;                          // 30      m_categoryRecoveryTime
|-
    uint32      InterruptFlags;                                 // 31      m_interruptFlags
| 14||uint32||unk_320_2||Removed in 3.2.0.
    uint32     AuraInterruptFlags;                            // 32      m_auraInterruptFlags
|-style="background:#E0E0E0;"
    uint32      ChannelInterruptFlags;                          // 33      m_channelInterruptFlags
| 15||uint32||[[SpellShapeshiftForm.dbc|Excluded stances]]||Mask. Shapeshifts/Stances in which is spell not castable.
    uint32      procFlags;                                      // 34      m_procTypeMask
|-
    uint32     procChance;                                    // 35      m_procChance
| 16||uint32||unk_320_3||Removed in 3.2.0
    uint32      procCharges;                                   // 36      m_procCharges
|-style="background:#E0E0E0;"
    uint32     maxLevel;                                      // 37      m_maxLevel
| 17||uint32||[[Spell.dbc/Targets|Targets]]||
    uint32      baseLevel;                                      // 38      m_baseLevel
|-
    uint32      spellLevel;                                    // 39      m_spellLevel
| 18||uint32||TargetCreatureType||Mask of creature types (creature_template.type), on which is spell usable.
    uint32      [[SpellDuration.dbc|DurationIndex]];                                  // 40      m_durationIndex
|-style="background:#E0E0E0;"
    uint32     powerType;                                     // 41      m_powerType
| 19||uint32||[[SpellFocusObject.dbc|SpellFocusObject]]||Spell focus needed by spell to be casted. Player needs to be within range of apropriate gameobject with type=8.
    uint32     manaCost;                                      // 42      m_manaCost
|-
    uint32      manaCostPerlevel;                              // 43      m_manaCostPerLevel
| 20||uint32||FacingCasterFlags||
    uint32     manaPerSecond;                                  // 44      m_manaPerSecond
|-style="background:#E0E0E0;"
    uint32      manaPerSecondPerLevel;                         // 45      m_manaPerSecondPerLeve
| 21||uint32||CasterAuraState||
    uint32     [[SpellRange.dbc|rangeIndex]];                                    // 46      m_rangeIndex
|-
    float      speed;                                         // 47      m_speed
| 22||uint32||TargetAuraState||
    uint32     modalNextSpell;                                // 48      m_modalNextSpell
|-style="background:#E0E0E0;"
    uint32     StackAmount;                                   // 49      m_cumulativeAura
| 23||uint32||CasterAuraStateNot||
    uint32      Totem[2];                                      // 50-51    m_totem
|-
    int32      [[Item.dbc|Reagent]][8];                                     // 52-59    m_reagent
| 24||uint32||TargetAuraStateNot||
    uint32     ReagentCount[8];                                // 60-67    m_reagentCount
|-style="background:#E0E0E0;"
    int32      EquippedItemClass;                              // 68      m_equippedItemClass (value)
| 25||uint32||casterAuraSpell||
    int32      EquippedItemSubClassMask;                       // 69      m_equippedItemSubclass (mask)
|-
    int32      EquippedItemInventoryTypeMask;                  // 70      m_equippedItemInvTypes (mask)
| 26||uint32||targetAuraSpell||
    uint32     [[Spell.dbc/Effect|Effect]][3];                                     // 71-73    m_effect
|-style="background:#E0E0E0;"
    int32      EffectDieSides[3];                              // 74-76    m_effectDieSides
| 27||uint32||excludeCasterAuraSpell||
    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)
| 28||uint32||excludeTargetAuraSpell||
    uint32     EffectMechanic[3];                             // 83-85    m_effectMechanic
|-style="background:#E0E0E0;"
    uint32     EffectImplicitTargetA[3];                      // 86-88    m_implicitTargetA
| 29||uint32||[[SpellCastTimes.dbc|CastingTimeIndex]]||Casting time of a spell. May differ with caster's level.
    uint32      EffectImplicitTargetB[3];                      // 89-91    m_implicitTargetB
|-
    uint32     EffectRadiusIndex[3];                          // 92-94    m_effectRadiusIndex - spellradius.dbc
| 30||uint32||RecoveryTime||Cooldown of a spell. May differ with caster's level.
    uint32     [[Spell.dbc/EffectApplyAuraName|EffectApplyAuraName]][3];                        // 95-97    m_effectAura
|-style="background:#E0E0E0;"
    uint32     EffectAmplitude[3];                            // 98-100  m_effectAuraPeriod
| 31||uint32||CategoryRecoveryTime||Cooldown applied by spell on all spells with the same Category.
    float      EffectMultipleValue[3];                         // 101-103  m_effectAmplitude
|-
    uint32     EffectChainTarget[3];                          // 104-106  m_effectChainTargets
| 32||uint32||[[Spell.dbc/InterruptFlags|InterruptFlags]]||Mask of cases which interrupt casting of a spell.
    uint32     EffectItemType[3];                              // 107-109  m_effectItemType
|-style="background:#E0E0E0;"
    int32      EffectMiscValue[3];                             // 110-112  m_effectMiscValue
| 33||uint32||[[Spell.dbc/AuraInterruptFlags|AuraInterruptFlags]]||Mask of cases which interrupt casting of a spell.
    int32      EffectMiscValueB[3];                            // 113-115  m_effectMiscValueB
|-
    uint32     EffectTriggerSpell[3];                          // 116-118  m_effectTriggerSpell
| 34||uint32||[[Spell.dbc/ChannelInterruptFlags|ChannelInterruptFlags]]||Mask of cases which interrupt casting of a spell.
    float      EffectPointsPerComboPoint[3];                  // 119-121  m_effectPointsPerCombo
|-style="background:#E0E0E0;"
    uint32     EffectSpellClassMaskA[3];                      // 122-124  m_effectSpellClassMaskA, effect 0
| 35||uint32||[[Spell.dbc/procFlags|procFlags]]||
    uint32     EffectSpellClassMaskB[3];                      // 125-127  m_effectSpellClassMaskB, effect 1
|-
    uint32      EffectSpellClassMaskC[3];                       // 128-130  m_effectSpellClassMaskC, effect 2
| 36||uint32||procChance||Most of spells with 100% chance tend to have value 101.
    uint32     [[SpellVisual.dbc|SpellVisual]][2];                                // 131-132  m_spellVisualID
|-style="background:#E0E0E0;"
    uint32      [[SpellIcon.dbc|SpellIconID]];                                    // 133      m_spellIconID
| 37||uint32||procCharges||
    uint32      [[SpellIcon.dbc|activeIconID]];                                   // 134      m_activeIconID
|-
    uint32     spellPriority;                                  // 135      m_spellPriority   
| 38||uint32||maxLevel||Probably maximal level from which spell can gain bonuses (or minuses) which are based on formula caster's level - spell's level.
    char*      SpellName[16];                                  // 136-151  m_name_lang
|-style="background:#E0E0E0;"
    uint32     SpellNameFlag;                                  // 152
| 39||uint32||baseLevel||Base level of a spell.
    char*      Rank[16];                                       // 153-168  m_nameSubtext_lang
|-
    uint32     RankFlags;                                      // 169
| 40||uint32||spellLevel||Tends to be exactly same as base level.
    char*      Description[16];                                // 170-185  m_description_lang
|-style="background:#E0E0E0;"
    uint32      DescriptionFlags;                              // 186
| 41||uint32||[[SpellDuration.dbc|DurationIndex]]||Duration of spell's effects.
    char*      ToolTip[16];                                    // 187-202  m_auraDescription_lang
|-
    uint32      ToolTipFlags;                                  // 203
| 42||uint32||[[Spell.dbc/powerType|powerType]]||Power type used by spell.
    uint32      ManaCostPercentage;                             // 204      m_manaCostPct
|-style="background:#E0E0E0;"
    uint32     StartRecoveryCategory;                          // 205      m_startRecoveryCategory
| 43||uint32||manaCost||Base mana cost of a spell. Its being summed with ManaCostPercentage.
    uint32      StartRecoveryTime;                              // 206      m_startRecoveryTime
|-
    uint32      MaxTargetLevel;                                // 207      m_maxTargetLevel
| 44||uint32||manaCostPerlevel||Likely is mana cost increased by ((caster's level) - (spell's level))*(this field).
    uint32      SpellFamilyName;                                // 208      m_spellClassSet
|-style="background:#E0E0E0;"
    uint64      SpellFamilyFlags;                              // 209-210  m_spellClassMask NOTE: size is 12 bytes!!!
| 45||uint32||manaPerSecond||For channels.
    uint32      SpellFamilyFlags2;                              // 211      addition to m_spellClassMask
|-
    uint32      MaxAffectedTargets;                            // 212      m_maxTargets
| 46||uint32||manaPerSecondPerLevel||For channels. Likely is mana cost per second increased by ((caster's level) - (spell's level))*(this field).
    uint32      DmgClass;                                      // 213      m_defenseType
|-style="background:#E0E0E0;"
    uint32      PreventionType;                                 // 214      m_preventionType
| 47||uint32||[[SpellRange.dbc|RangeIndex]]||Range of a spell. May differ for friendly and enemy targets.
    uint32      StanceBarOrder;                                // 215      m_stanceBarOrder
|-
    float      DmgMultiplier[3];                              // 216-218  m_effectChainAmplitude
| 48||float||speed||If <= 0.0 client skips <code>HandleMissileEffects</code>
    uint32      MinFactionId;                                  // 219      m_minFactionID
|-style="background:#E0E0E0;"
    uint32      MinReputation;                                  // 220      m_minReputation
| 49||uint32||modalNextSpell||
    uint32      RequiredAuraVision;                             // 221      m_requiredAuraVision
|-
    uint32      TotemCategory[2];                              // 222-223  m_requiredTotemCategoryID
| 50||uint32||StackAmount||For stackable spells, maximal amount of stacks on target. For non-stackable spells leave 0.
    int32       AreaGroupId;                                    // 224      m_requiredAreaGroupId
|-style="background:#E0E0E0;"
    uint32      SchoolMask;                                     // 225      m_schoolMask
| 51-52||uint32||Totem[2]||Non consumable items required to cast the spell e.g. {{Template:Data/Item|id=5956|name=Blacksmith Hammer}}.
    uint32      runeCostID;                                    // 226      m_runeCostID
|-
    uint32      spellMissileID;                                // 227      m_spellMissileID
| 53-60||int32||[[Item.dbc|Reagent]][8]||Entries of items used by this spell as resources.
    uint32      PowerDisplayId;                                // 228      PowerDisplay.dbc, new in 3.1
|-style="background:#E0E0E0;"
    float      EffectBonusMultiplier[3];                                  // 229-231  3.2.0
| 61-68||uint32||ReagentCount[8]||Count of according items needed by spell.
    uint32     spellDescriptionVariableID;                    // 232      3.2.0
|-
    uint32     SpellDifficultyId;                              // 233      3.3.0
| 69||int32||EquippedItemClass||item_template.class value which caster's item held in hand must have. Commonly 2 (weapon).
};
|-style="background:#E0E0E0;"
| 70||int32||EquippedItemSubClassMask||Mask of item_template.subclass values which caster's item held in hand must have. For example dagger for Backstab.
|-
| 71||int32||EquippedItemInventoryTypeMask||Mask of item_template.InventoryType values which targeted item must have. Used mainly by enchants.
|-style="background:#E0E0E0;"
| 72-74||int32||[[Spell.dbc/Effect|Effect]][3]||Type of effect which spell has. All following effect fields (and some at the end of DBC) reffer to these up to 3 effects.
|-
| 75-77||int32||EffectDieSides[3]||Number of sides of dice which is being rolled for random value of according effect.
|-style="background:#E0E0E0;"
| 78-80||float||EffectRealPointsPerLevel[3]||Base points added to according EffectBasePoints based on caster's level.
|-
| 81-83||int32||EffectBasePoints[3]||Base points added to result of according effect's rolled dice. F.e. EffectDieSides=26 and EffectBasePoints=49 will make 50-75.
|-style="background:#E0E0E0;"
| 84-86||int32||[[SpellMechanic.dbc|EffectMechanic]][3]||Mechanic of according spell's effect. Used by spells granting bonuses/immunities against certain effect types (stun, charm...).
|-
| 87-89||uint32||[[Spell.dbc/EffectImplicitTarget|EffectImplicitTargetA]][3]||Type of implicit target(s) of according effect.
|-style="background:#E0E0E0;"
| 90-92||uint32||[[Spell.dbc/EffectImplicitTarget|EffectImplicitTargetB]][3]||Type of implicit target(s) of according effect. Dunno what is difference between A and B.
|-
| 93-95||uint32||[[SpellRadius.dbc|EffectRadiusIndex]][3]||According spell effect's radius. May differ with caster's level.
|-style="background:#E0E0E0;"
| 96-98||uint32||[[Spell.dbc/EffectApplyAuraName|EffectApplyAuraName]][3]||Type of aura ("effect of effect") which according effect applies.
|-
| 99-101||uint32||EffectAuraPeriod[3]||How often according effect "ticks" in ms.
|-style="background:#E0E0E0;"
| 102-104||uint32||EffectMultipleValue[3]||
|-
| 105-107||uint32||EffectChainTarget[3]||
|-style="background:#E0E0E0;"
| 108-110||uint32||EffectItemType[3]||
|-
| 111-113||int32||EffectMiscValue[3]||Used for according effect's special misc values, commonly entries of called or used creature/item/gameobject.
|-style="background:#E0E0E0;"
| 114-116||int32||EffectMiscValueB[3]||Used for according effect's special misc values, commonly entries of called or used creature/item/gameobject.
|-
| 117-119||uint32||EffectTriggerSpell[3]||Entry of spell triggered on affected target by this according effect.
|-style="background:#E0E0E0;"
| 120-122||float||EffectPointsPerComboPoint[3]||Bonus to effect's base value based on amount of combo points on target.
|-
| 123-125||uint32||EffectSpellClassMaskA[3]||Entry of fields 210-212 as hex value of the spell this spell is affecting. Used for effect #1 (field 72/96)
|-style="background:#E0E0E0;"
| 126-128||uint32||EffectSpellClassMaskB[3]||Entry of fields 210-212 as hex value of the spell this spell is affecting. Used for effect #2 (field 73/97)
|-
| 129-131||uint32||EffectSpellClassMaskC[3]||Entry of fields 210-212 as hex value of the spell this spell is affecting. Used for effect #3 (field 74/98)
|-style="background:#E0E0E0;"
| 132-133||uint32||[[SpellVisual.dbc|SpellVisual]][2]||Visual effects of a spell.
|-
| 134||uint32||[[SpellIcon.dbc|SpellIconID]]||ID of icon used while spell is not active.
|-style="background:#E0E0E0;"
| 135||uint32||[[SpellIcon.dbc|activeIconID]]||ID of icon used while spell is active. Used f.e. by Stealth.
|-
| 136||uint32||spellPriority
|-style="background:#E0E0E0;"
| 137-152||{{Template:Type|langstringref}}||SpellName||Name of a spell.
|-
| 154-169||{{Template:Type|langstringref}}||SpellSubtext||Subname of a spell, commonly used for distinguishing ranks.
|-style="background:#E0E0E0;"
| 170||unk||unk||
|-
| 171-186||{{Template:Type|langstringref}}||Description||Description of a spell shown when spell is mouse-overed in anaction bar or in a spellbook.
|-style="background:#E0E0E0;"
| 188-203||{{Template:Type|langstringref}}||ToolTip||Tooltip shown when spell's aura buff/debuff is mouse-overed.
|-
| 204||unk||unk||
|-style="background:#E0E0E0;"
| 205||uint32||ManaCostPercentage||% of base mana cost, added to flat value in manaCost field. For NPCs is base mana = their max mana.
|-
| 206||uint32||StartRecoveryCategory||The only value which seems to be used here apart of 0 is 133 (spells affected by global CD).
|-style="background:#E0E0E0;"
| 207||uint32||StartRecoveryTime||The only value (in ms) which seems to be used here apart of 0 is 1500 (global CD value).
|-
| 208||uint32||MaxTargetLevel||Seems to be maximal level of target which can be affected by spell.
|-style="background:#E0E0E0;"
| 209||uint32||SpellClassSet||Apparently serves for distinguishing class spells.
|-
| 210-211||uint64||SpellClassMask[2]||Used by spells that affect this spell. Field 210 is used for fields A1/B1/C1 of the affecting spell. Field 211 is used for fields A2/B2/C2 of the affecting spell.
|-style="background:#E0E0E0;"
| 212||uint32||SpellClassMask2||Used by spells that affect this spell. Field 212 is used for fields A3/B3/C3 of the affecting spells.
|-
| 213||uint32||MaxAffectedTargets||Oddly seems to be used only rarely.
|-style="background:#E0E0E0;"
| 214||uint32||DefenseType||[[DmgClass]]
|-
| 215||uint32||PreventionType||
|-style="background:#E0E0E0;"
| 216||uint32||StanceBarOrder||
|-
| 217-219||float||EffectChainAmplitude[3]||Used for decreasing (or increasing) according effect's value on next chained targets.
|-style="background:#E0E0E0;"
| 220||uint32||MinFactionId||Probably ID of required reputation with a faction.
|-
| 221||uint32||MinReputation||Probably either value or level of required reputation with a faction.
|-style="background:#E0E0E0;"
| 222||uint32||RequiredAuraVision||
|-
| 223-224||uint32||[[TotemCategory.dbc|TotemCategory]][2]||Category of totem (Item with correct item_template.TotemCategory) required for a spell.
|-style="background:#E0E0E0;"
| 225||uint32||[[AreaGroup.dbc|RequiredAreaGroupId]]||Areas in which a spell can be cast.
|-
| 226||uint32||[[Spell.dbc/SchoolMask|SchoolMask]]||Mask of schools in which spell belongs. Used by resistance/armor system.
|-style="background:#E0E0E0;"
| 227||uint32||[[SpellRuneCost.dbc|RuneCostID]]||I'm not sure where this points to. Hopefully linked DBC.
|-
| 228||uint32||SpellMissileID||
|-style="background:#E0E0E0;"
| 229||uint32||[[PowerDisplay.dbc|PowerDisplayId]]||3.1
|-
| 230-232||float||EffectBonusMultiplier[3]||Seems to be used for calculation of one according effect's value of "tick" for DoTs and HoTs.
|-style="background:#E0E0E0;"
| 233||uint32||SpellDescriptionVariableID||3.2.0
|-
| 234||uint32||SpellDifficultyId||3.3.0
|}
[[User:Amaroth|Amaroth]] 13th June 2016
 
== 3.0.1.8334 ==
== 3.0.1.8334 ==


Line 230: Line 390:
  new field 217 seems to be reference to SpellRuneCost.dbc
  new field 217 seems to be reference to SpellRuneCost.dbc
  new field 218 has something to do with "Tracjectory" / missiles
  new field 218 has something to do with "Tracjectory" / missiles
==1.12.1.5875==
Id  int(11)  YES  Unique ID
school  int(11)  YES 
Category  int(11)  YES 
castUI  int(11)  NO 
dispelType  int(11)  YES 
mechanic  float  YES 
attributes  float  YES 
attributesEx  float  YES 
attributesEx2  float  YES 
attributesEx3  float  YES 
attributesEx4  float  YES 
shapeshiftMask  int(11)  YES 
shapeshiftexclude  float  YES 
targets  float  YES 
targetCreatureType  int(11)  YES 
requiresSpellFocus  int(11)  YES 
casterAuraState  int(11)  YES 
targetAuraState  int(11)  YES 
castingTimeIndex  int(11)  YES 
recoveryTime  int(11)  YES 
categoryRecoveryTime  int(11)  YES 
auraInterruptFlags  int(11)  YES 
channelInterruptFlags  int(11)  YES 
procTypeMask  int(11)  YES 
procChance  int(11)  YES 
procCharges  int(11)  YES 
MaxLevel  int(11)  YES 
baseLevel  int(11)  YES 
spellLevel  int(11)  YES 
durationIndex  int(11)  YES 
PowerType  int(11)  YES 
manaCost  int(11)  YES 
manaCostPerLevel  int(11)  YES 
manaCostPerSecond  int(11)  YES 
manaCostPerSecondPerLevel  int(11)  YES 
rangeIndex  int(11)  YES 
Speed  int(11)  YES 
modalNextSpell  int(11)  YES 
stackAmount  int(11)  YES 
Totem  int(11)  YES 
Totem2  int(11)  YES 
reagent1  int(11)  YES 
reagent2  int(11)  YES 
reagent3  int(11)  YES 
reagent4  int(11)  YES 
reagent5  int(11)  YES 
reagent6  int(11)  YES 
reagent7  int(11)  YES 
reagent8  int(11)  YES 
reagentCount1  int(11)  YES 
reagentCount2  int(11)  YES 
reagentCount3  int(11)  YES 
reagentCount4  int(11)  YES 
reagentCount5  int(11)  YES 
reagentCount6  int(11)  YES 
reagentCount7  int(11)  YES 
reagentCount8  int(11)  YES 
equippedItemClass  int(11)  YES 
equippedItemSubclass  float  YES 
equippedItemInvType  int(11)  YES 
effect1  int(11)  YES 
effect2  int(11)  YES 
effect3  int(11)  YES 
effectDieSides1  int(11)  YES 
effectDieSides2  int(11)  YES 
effectDieSides3  int(11)  YES 
effectBaseDice1  int(11)  YES 
effectBaseDice2  int(11)  YES 
effectBaseDice3  int(11)  YES 
effectDicePerLevel1  int(11)  YES 
effectDicePerLevel2  int(11)  YES 
effectDicePerLevel3  int(11)  YES 
effectRealPointsPerLevel1  int(11)  YES 
effectRealPointsPerLevel2  int(11)  YES 
effectRealPointsPerLevel3  int(11)  YES 
effectBasePoints1  int(11)  YES 
effectBasePoints2  int(11)  YES 
effectBasePoints3  int(11)  YES 
effectMechanic1  int(11)  YES 
effectMechanic2  int(11)  YES 
effectMechanic3  int(11)  YES 
implicitTargetA1  int(11)  YES 
implicitTargetA2  int(11)  YES 
implicitTargetA3  int(11)  YES 
implicitTargetB1  int(11)  YES 
implicitTargetB2  int(11)  YES 
implicitTargetB3  int(11)  YES 
effectRadiusIndex1  int(11)  YES 
effectRadiusIndex2  int(11)  YES 
effectRadiusIndex3  int(11)  YES 
effectAura1  int(11)  YES 
effectAura2  int(11)  YES 
effectAura3  int(11)  YES 
effectAmplitude1  int(11)  YES 
effectAmplitude2  int(11)  YES 
effectAmplitude3  int(11)  YES 
effectMultipleValue1  int(11)  YES 
effectMultipleValue2  float  YES 
effectMultipleValue3  int(11)  YES 
effectChainTarget1  int(11)  YES 
effectChainTarget2  int(11)  YES 
effectChainTarget3  int(11)  YES 
effectItemType1  int(11)  YES 
effectItemType2  float  YES 
effectItemType3  float  YES 
effectMiscValue1  int(11)  YES 
effectMiscValue2  int(11)  YES 
effectMiscValue3  int(11)  YES 
effectTriggerSpell1  int(11)  YES 
effectTriggerSpell2  int(11)  YES 
effectTriggerSpell3  int(11)  YES 
effectPointsPerCombo1  int(11)  YES 
effectPointsPerCombo2  int(11)  YES 
effectPointsPerCombo3  int(11)  YES 
spellVisualID1  int(11)  YES 
spellVisualID2  int(11)  YES 
spellIconID  int(11)  NO 
ActiveIconId  int(11)  YES 
spellPriority  int(11)  YES 
UnknownFlag  int(11)  NO 
Name  text  YES 
Name1  text  YES  The Localised Korean version of the above.
Name2  text  YES  The Localised French version of the above.
Name3  text  YES  The Localised German version of the above.
Name4  text  YES  The Localised Chinese version of the above.
Name5  text  YES  The Localised Taiwanese version of the above.
Name6  text  YES  The Localised Spanish (Traditional) version of the above.
Name7  text  YES  The Localised Spanish (Latin America) version of the above.
TEXTCHECKSUM1  float  NO  A checksum value for the preceeding text fields.
NameSubText  text  YES 
NameSubText1  text  YES  The Localised Korean version of the above.
NameSubText2  text  YES  The Localised French version of the above.
NameSubText3  text  YES  The Localised German version of the above.
NameSubText4  text  YES  The Localised Chinese version of the above.
NameSubText5  text  YES  The Localised Taiwanese version of the above.
NameSubText6  text  YES  The Localised Spanish (Traditional) version of the above.
NameSubText7  text  YES  The Localised Spanish (Latin America) version of the above.
TEXTCHECKSUM2  float  NO  A checksum value for the preceeding text fields.
Description  text  NO 
Description1  text  NO  The Localised Korean version of the above.
Description2  text  NO  The Localised French version of the above.
Description3  text  NO  The Localised German version of the above.
Description4  text  NO  The Localised Chinese version of the above.
Description5  text  NO  The Localised Taiwanese version of the above.
Description6  text  NO  The Localised Spanish (Traditional) version of the above.
Description7  text  NO  The Localised Spanish (Latin America) version of the above.
TEXTCHECKSUM3  float  NO  A checksum value for the preceeding text fields.
auraDescription  text  NO 
auraDescription1  text  NO  The Localised Korean version of the above.
auraDescription2  text  NO  The Localised French version of the above.
auraDescription3  text  NO  The Localised German version of the above.
auraDescription4  text  NO  The Localised Chinese version of the above.
auraDescription5  text  NO  The Localised Taiwanese version of the above.
auraDescription6  text  NO  The Localised Spanish (Traditional) version of the above.
auraDescription7  text  NO  The Localised Spanish (Latin America) version of the above.
TEXTCHECKSUM4  float  NO  A checksum value for the preceeding text fields.
manaCostPct  int(11)  YES 
startRecoveryCategory  int(11)  YES 
startRecoveryTime  int(11)  YES 
maxTargetLevel  int(11)  YES 
spellClassSet  int(11)  YES 
spellClassMask1  float  YES 
spellClassMask2  float  YES 
maxTargets  int(11)  YES 
defenseType  int(11)  YES 
preventionType  int(11)  YES 
stanceBarOrder  int(11)  NO 
DamageMultiplier1  float  YES 
DamageMultiplier2  float  YES 
DamageMultiplier3  float  YES 
minFactionId  int(11)  NO 
minReputation  int(11)  NO 
requiredAuraVision  int(11)  NO
==0.5.3.3368==
struct SpellRec {
  uint32_t m_ID;
  uint32_t m_school;
  uint32_t m_category;
  uint32_t m_castUI;      // SPELL_CAST_UI_TYPE
  uint32_t m_attributes;
  uint32_t m_attributesEx;
  uint32_t m_shapeshiftMask;
  uint32_t m_targets;
  uint32_t m_targetCreatureType;
  uint32_t m_requiresSpellFocus;
  uint32_t m_casterAuraState;
  uint32_t m_targetAuraState;
  uint32_t m_castingTimeIndex;
  uint32_t m_recoveryTime;
  uint32_t m_categoryRecoveryTime;
  uint32_t m_interruptFlags;
  uint32_t m_auraInterruptFlags;
  uint32_t m_channelInterruptFlags;
  uint32_t m_procFlags;
  uint32_t m_procChance;
  uint32_t m_procCharges;
  uint32_t m_maxLevel;
  uint32_t m_baseLevel;
  uint32_t m_spellLevel;
  uint32_t m_durationIndex;
  uint32_t m_powerType;
  uint32_t m_manaCost;
  uint32_t m_manaCostPerLevel;
  uint32_t m_manaPerSecond;
  uint32_t m_manaPerSecondPerLevel;
  uint32_t m_rangeIndex;
  float m_speed;
  uint32_t m_modalNextSpell;
  uint32_t m_totem[2];
  uint32_t m_reagent[8];
  uint32_t m_reagentCount[8];
  uint32_t m_equippedItemClass;
  uint32_t m_equippedItemSubclass;
  uint32_t m_effect[3];
  uint32_t m_effectDieSides[3];
  uint32_t m_effectBaseDice[3];
  uint32_t m_effectDicePerLevel[3];
  float m_effectRealPointsPerLevel[3];
  uint32_t m_effectBasePoints[3];
  uint32_t m_implicitTargetA[3];
  uint32_t m_implicitTargetB[3];
  uint32_t m_effectRadiusIndex[3];
  uint32_t m_effectAura[3];
  uint32_t m_effectAuraPeriod[3];
  float m_effectAmplitude[3];
  uint32_t m_effectChainTargets[3];
  uint32_t m_effectItemType[3];
  uint32_t m_effectMiscValue[3];
  uint32_t m_effectTriggerSpell[3];
  uint32_t m_spellVisualID;
  uint32_t m_spellIconID;
  uint32_t m_activeIconID;
  uint32_t m_spellPriority;
  {{Template:Type|langstringref}} m_name_lang;
  {{Template:Type|langstringref}} m_nameSubtext_lang;
  {{Template:Type|langstringref}} m_description_lang;
  uint32_t m_manaCostPct;
  uint32_t m_startRecoveryCategory;
  uint32_t m_startRecoveryTime;
};
enum SPELL_CAST_UI_TYPE
{
  SPELL_CAST_UI_NONE = 0x0,
  SPELL_CAST_UI_PET_TRAINING = 0x1,
  SPELL_CAST_UI_DISGUISES = 0x2,
  SPELL_CAST_UI_INSCRIBING = 0x3,
  NUM_SPELL_CAST_UI_TYPES = 0x4,
};


== Old==
== Old==
Line 387: Line 799:
* target = 104 TARGET_IN_FRONT_OF_CASTER_30 (or alike): 30° frontal cone (or alike)
* target = 104 TARGET_IN_FRONT_OF_CASTER_30 (or alike): 30° frontal cone (or alike)


==6.0.1.18179==
struct SpellRec {
  uint32_t m_ID;
  stringref m_name_lang;
  stringref m_nameSubtext_lang;
  stringref m_description_lang;
  stringref m_auraDescription_lang;
  uint32_t m_runeCostID;
  uint32_t m_spellMissileID;
  uint32_t m_descriptionVariablesID;
  uint32_t m_scalingID;
  uint32_t m_auraOptionsID;
  uint32_t m_auraRestrictionsID;
  uint32_t m_castingRequirementsID;
  uint32_t m_categoriesID;
  uint32_t m_classOptionsID;
  uint32_t m_cooldownsID;
  uint32_t m_equippedItemsID;
  uint32_t m_interruptsID;
  uint32_t m_levelsID;
  uint32_t m_reagentsID;
  uint32_t m_shapeshiftID;
  uint32_t m_targetRestrictionsID;
  uint32_t m_totemsID;
  uint32_t m_requiredProjectID;
  uint32_t m_miscID;
};
Retrieved from "http://www.sourcepeek.com/wiki/Spell.dbc"


[[Category:DBC]]
[[Category:DBC]]
[[Category:DBC_Alpha]]
[[Category:DBC_Vanilla]]
[[Category:DBC_Vanilla]]
[[Category:DBC_BC]]
[[Category:DBC_BC]]
Line 425: Line 810:
[[Category:4.0.3.13329]]
[[Category:4.0.3.13329]]
[[Category:DBC_WoD]][[Category:6.0.1.18179]]
[[Category:DBC_WoD]][[Category:6.0.1.18179]]
[[Category:DBC_Legion]]
[[Category:SpellData]]

Revision as of 13:13, 17 April 2018

7.0.1.21737

Now Spell.db2. To find a list of DBC files related to the data formerly contained in this DB2, see the Spell Data Category.

Column DBC
1 Name String
2 Name Subtext String
3 Description String
4 Tooltip String
5 SpellMiscID iRefID
5 ID Integer
6 DescriptionVariablesID iRefID

Synric 12th July 2016

6.0.1.18179

struct SpellRec {
  uint32_t m_ID;
  langstringref m_name_lang;
  langstringref m_nameSubtext_lang;
  langstringref m_description_lang;
  langstringref m_auraDescription_lang;
  uint32_t m_runeCostID;
  uint32_t m_spellMissileID;
  uint32_t m_descriptionVariablesID;
  uint32_t m_scalingID;
  uint32_t m_auraOptionsID;
  uint32_t m_auraRestrictionsID;
  uint32_t m_castingRequirementsID;
  uint32_t m_categoriesID;
  uint32_t m_classOptionsID;
  uint32_t m_cooldownsID;
  uint32_t m_equippedItemsID;
  uint32_t m_interruptsID;
  uint32_t m_levelsID;
  uint32_t m_reagentsID;
  uint32_t m_shapeshiftID;
  uint32_t m_targetRestrictionsID;
  uint32_t m_totemsID;
  uint32_t m_requiredProjectID;
  uint32_t m_miscID;
};

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

Field Type Name Notes
1 uint32 ID Unique ID of a spell.
2 uint32 Spell category Category of a spell. Used for category cooldowns.
3 uint32 Dispel type For determining which spells are capable of dispelling this.
4 uint32 Spell mechanic Used by spells granting bonuses/immunities against certain effect types (stun, charm...).
5 uint32 Attributes Attributes are in general miscellanous flags.
6 uint32 AttributesEx Attributes are in general miscellanous flags.
7 uint32 AttributesExB Attributes are in general miscellanous flags.
8 uint32 AttributesExC Attributes are in general miscellanous flags.
9 uint32 AttributesExD Attributes are in general miscellanous flags.
10 uint32 AttributesExE Attributes are in general miscellanous flags.
11 uint32 AttributesExF Attributes are in general miscellanous flags.
12 uint32 AttributesExG Attributes are in general miscellanous flags.
13 uint32 Stances Mask. Shapeshifts/Stances in which is spell castable.
14 uint32 unk_320_2 Removed in 3.2.0.
15 uint32 Excluded stances Mask. Shapeshifts/Stances in which is spell not castable.
16 uint32 unk_320_3 Removed in 3.2.0
17 uint32 Targets
18 uint32 TargetCreatureType Mask of creature types (creature_template.type), on which is spell usable.
19 uint32 SpellFocusObject Spell focus needed by spell to be casted. Player needs to be within range of apropriate gameobject with type=8.
20 uint32 FacingCasterFlags
21 uint32 CasterAuraState
22 uint32 TargetAuraState
23 uint32 CasterAuraStateNot
24 uint32 TargetAuraStateNot
25 uint32 casterAuraSpell
26 uint32 targetAuraSpell
27 uint32 excludeCasterAuraSpell
28 uint32 excludeTargetAuraSpell
29 uint32 CastingTimeIndex Casting time of a spell. May differ with caster's level.
30 uint32 RecoveryTime Cooldown of a spell. May differ with caster's level.
31 uint32 CategoryRecoveryTime Cooldown applied by spell on all spells with the same Category.
32 uint32 InterruptFlags Mask of cases which interrupt casting of a spell.
33 uint32 AuraInterruptFlags Mask of cases which interrupt casting of a spell.
34 uint32 ChannelInterruptFlags Mask of cases which interrupt casting of a spell.
35 uint32 procFlags
36 uint32 procChance Most of spells with 100% chance tend to have value 101.
37 uint32 procCharges
38 uint32 maxLevel Probably maximal level from which spell can gain bonuses (or minuses) which are based on formula caster's level - spell's level.
39 uint32 baseLevel Base level of a spell.
40 uint32 spellLevel Tends to be exactly same as base level.
41 uint32 DurationIndex Duration of spell's effects.
42 uint32 powerType Power type used by spell.
43 uint32 manaCost Base mana cost of a spell. Its being summed with ManaCostPercentage.
44 uint32 manaCostPerlevel Likely is mana cost increased by ((caster's level) - (spell's level))*(this field).
45 uint32 manaPerSecond For channels.
46 uint32 manaPerSecondPerLevel For channels. Likely is mana cost per second increased by ((caster's level) - (spell's level))*(this field).
47 uint32 RangeIndex Range of a spell. May differ for friendly and enemy targets.
48 float speed If <= 0.0 client skips HandleMissileEffects
49 uint32 modalNextSpell
50 uint32 StackAmount For stackable spells, maximal amount of stacks on target. For non-stackable spells leave 0.
51-52 uint32 Totem[2] Non consumable items required to cast the spell e.g. Blacksmith Hammer.
53-60 int32 Reagent[8] Entries of items used by this spell as resources.
61-68 uint32 ReagentCount[8] Count of according items needed by spell.
69 int32 EquippedItemClass item_template.class value which caster's item held in hand must have. Commonly 2 (weapon).
70 int32 EquippedItemSubClassMask Mask of item_template.subclass values which caster's item held in hand must have. For example dagger for Backstab.
71 int32 EquippedItemInventoryTypeMask Mask of item_template.InventoryType values which targeted item must have. Used mainly by enchants.
72-74 int32 Effect[3] Type of effect which spell has. All following effect fields (and some at the end of DBC) reffer to these up to 3 effects.
75-77 int32 EffectDieSides[3] Number of sides of dice which is being rolled for random value of according effect.
78-80 float EffectRealPointsPerLevel[3] Base points added to according EffectBasePoints based on caster's level.
81-83 int32 EffectBasePoints[3] Base points added to result of according effect's rolled dice. F.e. EffectDieSides=26 and EffectBasePoints=49 will make 50-75.
84-86 int32 EffectMechanic[3] Mechanic of according spell's effect. Used by spells granting bonuses/immunities against certain effect types (stun, charm...).
87-89 uint32 EffectImplicitTargetA[3] Type of implicit target(s) of according effect.
90-92 uint32 EffectImplicitTargetB[3] Type of implicit target(s) of according effect. Dunno what is difference between A and B.
93-95 uint32 EffectRadiusIndex[3] According spell effect's radius. May differ with caster's level.
96-98 uint32 EffectApplyAuraName[3] Type of aura ("effect of effect") which according effect applies.
99-101 uint32 EffectAuraPeriod[3] How often according effect "ticks" in ms.
102-104 uint32 EffectMultipleValue[3]
105-107 uint32 EffectChainTarget[3]
108-110 uint32 EffectItemType[3]
111-113 int32 EffectMiscValue[3] Used for according effect's special misc values, commonly entries of called or used creature/item/gameobject.
114-116 int32 EffectMiscValueB[3] Used for according effect's special misc values, commonly entries of called or used creature/item/gameobject.
117-119 uint32 EffectTriggerSpell[3] Entry of spell triggered on affected target by this according effect.
120-122 float EffectPointsPerComboPoint[3] Bonus to effect's base value based on amount of combo points on target.
123-125 uint32 EffectSpellClassMaskA[3] Entry of fields 210-212 as hex value of the spell this spell is affecting. Used for effect #1 (field 72/96)
126-128 uint32 EffectSpellClassMaskB[3] Entry of fields 210-212 as hex value of the spell this spell is affecting. Used for effect #2 (field 73/97)
129-131 uint32 EffectSpellClassMaskC[3] Entry of fields 210-212 as hex value of the spell this spell is affecting. Used for effect #3 (field 74/98)
132-133 uint32 SpellVisual[2] Visual effects of a spell.
134 uint32 SpellIconID ID of icon used while spell is not active.
135 uint32 activeIconID ID of icon used while spell is active. Used f.e. by Stealth.
136 uint32 spellPriority
137-152 langstringref SpellName Name of a spell.
154-169 langstringref SpellSubtext Subname of a spell, commonly used for distinguishing ranks.
170 unk unk
171-186 langstringref Description Description of a spell shown when spell is mouse-overed in anaction bar or in a spellbook.
188-203 langstringref ToolTip Tooltip shown when spell's aura buff/debuff is mouse-overed.
204 unk unk
205 uint32 ManaCostPercentage % of base mana cost, added to flat value in manaCost field. For NPCs is base mana = their max mana.
206 uint32 StartRecoveryCategory The only value which seems to be used here apart of 0 is 133 (spells affected by global CD).
207 uint32 StartRecoveryTime The only value (in ms) which seems to be used here apart of 0 is 1500 (global CD value).
208 uint32 MaxTargetLevel Seems to be maximal level of target which can be affected by spell.
209 uint32 SpellClassSet Apparently serves for distinguishing class spells.
210-211 uint64 SpellClassMask[2] Used by spells that affect this spell. Field 210 is used for fields A1/B1/C1 of the affecting spell. Field 211 is used for fields A2/B2/C2 of the affecting spell.
212 uint32 SpellClassMask2 Used by spells that affect this spell. Field 212 is used for fields A3/B3/C3 of the affecting spells.
213 uint32 MaxAffectedTargets Oddly seems to be used only rarely.
214 uint32 DefenseType DmgClass
215 uint32 PreventionType
216 uint32 StanceBarOrder
217-219 float EffectChainAmplitude[3] Used for decreasing (or increasing) according effect's value on next chained targets.
220 uint32 MinFactionId Probably ID of required reputation with a faction.
221 uint32 MinReputation Probably either value or level of required reputation with a faction.
222 uint32 RequiredAuraVision
223-224 uint32 TotemCategory[2] Category of totem (Item with correct item_template.TotemCategory) required for a spell.
225 uint32 RequiredAreaGroupId Areas in which a spell can be cast.
226 uint32 SchoolMask Mask of schools in which spell belongs. Used by resistance/armor system.
227 uint32 RuneCostID I'm not sure where this points to. Hopefully linked DBC.
228 uint32 SpellMissileID
229 uint32 PowerDisplayId 3.1
230-232 float EffectBonusMultiplier[3] Seems to be used for calculation of one according effect's value of "tick" for DoTs and HoTs.
233 uint32 SpellDescriptionVariableID 3.2.0
234 uint32 SpellDifficultyId 3.3.0

Amaroth 13th June 2016

3.0.1.8334

3 fields have been added after 113 (114, 155, 116 are new, old 114 is now 117 etc)
new field 217 seems to be reference to SpellRuneCost.dbc
new field 218 has something to do with "Tracjectory" / missiles

1.12.1.5875

Id  int(11)  YES  Unique ID
school  int(11)  YES   
Category  int(11)  YES   
castUI  int(11)  NO   
dispelType  int(11)  YES   
mechanic  float  YES   
attributes  float  YES   
attributesEx  float  YES   
attributesEx2  float  YES   
attributesEx3  float  YES   
attributesEx4  float  YES   
shapeshiftMask  int(11)  YES   
shapeshiftexclude  float  YES   
targets  float  YES   
targetCreatureType  int(11)  YES   
requiresSpellFocus  int(11)  YES   
casterAuraState  int(11)  YES   
targetAuraState  int(11)  YES   
castingTimeIndex  int(11)  YES   
recoveryTime  int(11)  YES   
categoryRecoveryTime  int(11)  YES   
auraInterruptFlags  int(11)  YES   
channelInterruptFlags  int(11)  YES   
procTypeMask  int(11)  YES   
procChance  int(11)  YES   
procCharges  int(11)  YES   
MaxLevel  int(11)  YES   
baseLevel  int(11)  YES   
spellLevel  int(11)  YES   
durationIndex  int(11)  YES   
PowerType  int(11)  YES   
manaCost  int(11)  YES   
manaCostPerLevel  int(11)  YES   
manaCostPerSecond  int(11)  YES   
manaCostPerSecondPerLevel  int(11)  YES   
rangeIndex  int(11)  YES   
Speed  int(11)  YES   
modalNextSpell  int(11)  YES   
stackAmount  int(11)  YES   
Totem  int(11)  YES   
Totem2  int(11)  YES   
reagent1  int(11)  YES   
reagent2  int(11)  YES   
reagent3  int(11)  YES   
reagent4  int(11)  YES   
reagent5  int(11)  YES   
reagent6  int(11)  YES   
reagent7  int(11)  YES   
reagent8  int(11)  YES   
reagentCount1  int(11)  YES   
reagentCount2  int(11)  YES   
reagentCount3  int(11)  YES   
reagentCount4  int(11)  YES   
reagentCount5  int(11)  YES   
reagentCount6  int(11)  YES   
reagentCount7  int(11)  YES   
reagentCount8  int(11)  YES   
equippedItemClass  int(11)  YES   
equippedItemSubclass  float  YES   
equippedItemInvType  int(11)  YES   
effect1  int(11)  YES   
effect2  int(11)  YES   
effect3  int(11)  YES   
effectDieSides1  int(11)  YES   
effectDieSides2  int(11)  YES   
effectDieSides3  int(11)  YES   
effectBaseDice1  int(11)  YES   
effectBaseDice2  int(11)  YES   
effectBaseDice3  int(11)  YES   
effectDicePerLevel1  int(11)  YES   
effectDicePerLevel2  int(11)  YES   
effectDicePerLevel3  int(11)  YES   
effectRealPointsPerLevel1  int(11)  YES   
effectRealPointsPerLevel2  int(11)  YES   
effectRealPointsPerLevel3  int(11)  YES   
effectBasePoints1  int(11)  YES   
effectBasePoints2  int(11)  YES   
effectBasePoints3  int(11)  YES   
effectMechanic1  int(11)  YES   
effectMechanic2  int(11)  YES   
effectMechanic3  int(11)  YES   
implicitTargetA1  int(11)  YES   
implicitTargetA2  int(11)  YES   
implicitTargetA3  int(11)  YES   
implicitTargetB1  int(11)  YES   
implicitTargetB2  int(11)  YES   
implicitTargetB3  int(11)  YES   
effectRadiusIndex1  int(11)  YES   
effectRadiusIndex2  int(11)  YES   
effectRadiusIndex3  int(11)  YES   
effectAura1  int(11)  YES   
effectAura2  int(11)  YES   
effectAura3  int(11)  YES   
effectAmplitude1  int(11)  YES   
effectAmplitude2  int(11)  YES   
effectAmplitude3  int(11)  YES   
effectMultipleValue1  int(11)  YES   
effectMultipleValue2  float  YES   
effectMultipleValue3  int(11)  YES   
effectChainTarget1  int(11)  YES   
effectChainTarget2  int(11)  YES   
effectChainTarget3  int(11)  YES   
effectItemType1  int(11)  YES   
effectItemType2  float  YES   
effectItemType3  float  YES   
effectMiscValue1  int(11)  YES   
effectMiscValue2  int(11)  YES   
effectMiscValue3  int(11)  YES   
effectTriggerSpell1  int(11)  YES   
effectTriggerSpell2  int(11)  YES   
effectTriggerSpell3  int(11)  YES   
effectPointsPerCombo1  int(11)  YES   
effectPointsPerCombo2  int(11)  YES   
effectPointsPerCombo3  int(11)  YES   
spellVisualID1  int(11)  YES   
spellVisualID2  int(11)  YES   
spellIconID  int(11)  NO   
ActiveIconId  int(11)  YES   
spellPriority  int(11)  YES   
UnknownFlag  int(11)  NO   
Name  text  YES   
Name1  text  YES  The Localised Korean version of the above.
Name2  text  YES  The Localised French version of the above.
Name3  text  YES  The Localised German version of the above.
Name4  text  YES  The Localised Chinese version of the above.
Name5  text  YES  The Localised Taiwanese version of the above.
Name6  text  YES  The Localised Spanish (Traditional) version of the above.
Name7  text  YES  The Localised Spanish (Latin America) version of the above.
TEXTCHECKSUM1  float  NO  A checksum value for the preceeding text fields.
NameSubText  text  YES   
NameSubText1  text  YES  The Localised Korean version of the above.
NameSubText2  text  YES  The Localised French version of the above.
NameSubText3  text  YES  The Localised German version of the above.
NameSubText4  text  YES  The Localised Chinese version of the above.
NameSubText5  text  YES  The Localised Taiwanese version of the above.
NameSubText6  text  YES  The Localised Spanish (Traditional) version of the above.
NameSubText7  text  YES  The Localised Spanish (Latin America) version of the above.
TEXTCHECKSUM2  float  NO  A checksum value for the preceeding text fields.
Description  text  NO   
Description1  text  NO  The Localised Korean version of the above.
Description2  text  NO  The Localised French version of the above.
Description3  text  NO  The Localised German version of the above.
Description4  text  NO  The Localised Chinese version of the above.
Description5  text  NO  The Localised Taiwanese version of the above.
Description6  text  NO  The Localised Spanish (Traditional) version of the above.
Description7  text  NO  The Localised Spanish (Latin America) version of the above.
TEXTCHECKSUM3  float  NO  A checksum value for the preceeding text fields.
auraDescription  text  NO   
auraDescription1  text  NO  The Localised Korean version of the above.
auraDescription2  text  NO  The Localised French version of the above.
auraDescription3  text  NO  The Localised German version of the above.
auraDescription4  text  NO  The Localised Chinese version of the above.
auraDescription5  text  NO  The Localised Taiwanese version of the above.
auraDescription6  text  NO  The Localised Spanish (Traditional) version of the above.
auraDescription7  text  NO  The Localised Spanish (Latin America) version of the above.
TEXTCHECKSUM4  float  NO  A checksum value for the preceeding text fields.
manaCostPct  int(11)  YES   
startRecoveryCategory  int(11)  YES   
startRecoveryTime  int(11)  YES   
maxTargetLevel  int(11)  YES   
spellClassSet  int(11)  YES   
spellClassMask1  float  YES   
spellClassMask2  float  YES   
maxTargets  int(11)  YES   
defenseType  int(11)  YES   
preventionType  int(11)  YES   
stanceBarOrder  int(11)  NO   
DamageMultiplier1  float  YES   
DamageMultiplier2  float  YES   
DamageMultiplier3  float  YES   
minFactionId  int(11)  NO   
minReputation  int(11)  NO   
requiredAuraVision  int(11)  NO

0.5.3.3368

struct SpellRec {
  uint32_t m_ID;
  uint32_t m_school;
  uint32_t m_category;
  uint32_t m_castUI;      // SPELL_CAST_UI_TYPE
  uint32_t m_attributes;
  uint32_t m_attributesEx;
  uint32_t m_shapeshiftMask;
  uint32_t m_targets;
  uint32_t m_targetCreatureType;
  uint32_t m_requiresSpellFocus;
  uint32_t m_casterAuraState;
  uint32_t m_targetAuraState;
  uint32_t m_castingTimeIndex;
  uint32_t m_recoveryTime;
  uint32_t m_categoryRecoveryTime;
  uint32_t m_interruptFlags;
  uint32_t m_auraInterruptFlags;
  uint32_t m_channelInterruptFlags;
  uint32_t m_procFlags;
  uint32_t m_procChance;
  uint32_t m_procCharges;
  uint32_t m_maxLevel;
  uint32_t m_baseLevel;
  uint32_t m_spellLevel;
  uint32_t m_durationIndex;
  uint32_t m_powerType;
  uint32_t m_manaCost;
  uint32_t m_manaCostPerLevel;
  uint32_t m_manaPerSecond;
  uint32_t m_manaPerSecondPerLevel;
  uint32_t m_rangeIndex;
  float m_speed;
  uint32_t m_modalNextSpell;
  uint32_t m_totem[2];
  uint32_t m_reagent[8];
  uint32_t m_reagentCount[8];
  uint32_t m_equippedItemClass;
  uint32_t m_equippedItemSubclass;
  uint32_t m_effect[3];
  uint32_t m_effectDieSides[3];
  uint32_t m_effectBaseDice[3];
  uint32_t m_effectDicePerLevel[3];
  float m_effectRealPointsPerLevel[3];
  uint32_t m_effectBasePoints[3];
  uint32_t m_implicitTargetA[3];
  uint32_t m_implicitTargetB[3];
  uint32_t m_effectRadiusIndex[3];
  uint32_t m_effectAura[3];
  uint32_t m_effectAuraPeriod[3];
  float m_effectAmplitude[3];
  uint32_t m_effectChainTargets[3];
  uint32_t m_effectItemType[3];
  uint32_t m_effectMiscValue[3];
  uint32_t m_effectTriggerSpell[3];
  uint32_t m_spellVisualID;
  uint32_t m_spellIconID;
  uint32_t m_activeIconID;
  uint32_t m_spellPriority;
  langstringref m_name_lang;
  langstringref m_nameSubtext_lang;
  langstringref m_description_lang;
  uint32_t m_manaCostPct;
  uint32_t m_startRecoveryCategory;
  uint32_t m_startRecoveryTime;
};

enum SPELL_CAST_UI_TYPE
{
  SPELL_CAST_UI_NONE = 0x0,
  SPELL_CAST_UI_PET_TRAINING = 0x1,
  SPELL_CAST_UI_DISGUISES = 0x2,
  SPELL_CAST_UI_INSCRIBING = 0x3,
  NUM_SPELL_CAST_UI_TYPES = 0x4,
};

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) 

misc

  • procflags 0xa22a8, chance: 101, charges: 1 = break aura on damange received
  • target_mask = 0x40 (DEST_LOC), target = 28 (TARGET_ALL_ENEMY_IN_AREA_CHANNELED, NO_TARGET) or 31 (TARGET_ALL_FRIENDLY_UNITS_IN_AREA): target ground
  • target = 104 TARGET_IN_FRONT_OF_CASTER_30 (or alike): 30° frontal cone (or alike)