From wowdev
Jump to: navigation, search

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

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;

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

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 Maybe something with projectile speed? Not sure.
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] Not sure what is this for, as shaman totem spells don't seem to use this.
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]
126-128 uint32 EffectSpellClassMaskB[3]
129-131 uint32 EffectSpellClassMaskC[3]
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]
212 uint32 SpellClassMask2 Another addition to SpellClassMask.
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 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

struct SpellRec {
  uint32_t m_ID;
  uint32_t m_school;
  uint32_t m_category;
  uint32_t m_castUI;
  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;


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 
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 
21 	Unknown 			Unknown 	(Added in 
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) 


  • 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)