Skip to content
Grz3s edited this page Aug 4, 2018 · 32 revisions

Back to world database list of tables.

The `spell_template` table

holds data about every spell used.

Structure

ID Field Type Null Key Default Extra
Id INT UNSIGNED NO 0
Category INT UNSIGNED NO 0
Dispel INT UNSIGNED NO 0
Mechanic INT UNSIGNED NO 0
Attributes INT UNSIGNED NO 0
AttributesEx INT UNSIGNED NO 0
AttributesEx2 INT UNSIGNED NO 0
AttributesEx3 INT UNSIGNED NO 0
AttributesEx4 INT UNSIGNED NO 0
AttributesEx5 INT UNSIGNED NO 0
AttributesEx6 INT UNSIGNED NO 0
Stances INT UNSIGNED NO 0
StancesNot INT UNSIGNED NO 0
Targets INT UNSIGNED NO 0
TargetCreatureType INT UNSIGNED NO 0
RequiresSpellFocus INT UNSIGNED NO 0
FacingCasterFlags INT UNSIGNED NO 0
CasterAuraState INT UNSIGNED NO 0
TargetAuraState INT UNSIGNED NO 0
CasterAuraStateNot INT UNSIGNED NO 0
TargetAuraStateNot INT UNSIGNED NO 0
CastingTimeIndex INT UNSIGNED NO 0
RecoveryTime INT UNSIGNED NO 0
CategoryRecoveryTime INT UNSIGNED NO 0
InterruptFlags INT UNSIGNED NO 0
AuraInterruptFlags INT UNSIGNED NO 0
ChannelInterruptFlags INT UNSIGNED NO 0
procFlags INT UNSIGNED NO 0
procChance INT UNSIGNED NO 0
procCharges INT UNSIGNED NO 0
maxLevel INT UNSIGNED NO 0
baseLevel INT UNSIGNED NO 0
spellLevel INT UNSIGNED NO 0
DurationIndex int(11) unsigned NO 0
powerType INT UNSIGNED NO 0
manaCost INT UNSIGNED NO 0
manaCostPerlevel INT UNSIGNED NO 0
manaPerSecond INT UNSIGNED NO 0
manaPerSecondPerLevel INT UNSIGNED NO 0
rangeIndex INT UNSIGNED NO 1
speed FLOAT NO 0
StackAmount INT UNSIGNED NO 0
Totem1 INT UNSIGNED NO 0
Totem2 INT UNSIGNED NO 0
Reagent1 INT UNSIGNED NO 0
ReagentCount1 INT UNSIGNED NO 0
EquippedItemClass INT UNSIGNED NO -1
EquippedItemSubClassMask INT UNSIGNED NO 0
EquippedItemInventoryTypeMask INT UNSIGNED NO 0
Effect1 INT UNSIGNED NO 0
EffectDieSides1 INT UNSIGNED NO 0
EffectBaseDice1 INT UNSIGNED NO 0
EffectDicePerLevel1 FLOAT NO 0
EffectRealPointsPerLevel1 FLOAT NO 0
EffectBasePoints1 INT UNSIGNED NO 0
EffectMechanic1 INT UNSIGNED NO 0
EffectImplicitTargetA1 INT UNSIGNED NO 0
EffectImplicitTargetB1 INT UNSIGNED NO 0
EffectRadiusIndex1 INT UNSIGNED NO 0
EffectApplyAuraName1 INT UNSIGNED NO 0
EffectAmplitude1 INT UNSIGNED NO 0
EffectMultipleValue1 FLOAT NO 0
EffectChainTarget1 INT UNSIGNED NO 0
EffectItemType1 INT UNSIGNED NO 0
EffectMiscValue1 INT UNSIGNED NO 0
EffectMiscValueB1 INT NO 0
EffectTriggerSpell1 INT UNSIGNED NO 0
EffectPointsPerComboPoint1 FLOAT NO 0
SpellVisual INT UNSIGNED NO 0
SpellIconID INT UNSIGNED NO 0
activeIconID INT UNSIGNED NO 0
spellPriority INT UNSIGNED NO 0
SpellName TEXT NO 0
Rank TEXT NULL 0
ManaCostPercentage INT UNSIGNED NO 0
StartRecoveryCategory INT UNSIGNED NO 0
StartRecoveryTime INT UNSIGNED NO 0
MaxTargetLevel INT UNSIGNED NO 0
SpellFamilyName INT UNSIGNED NO 0
SpellFamilyFlags BIGINT UNSIGNED NO 0
MaxAffectedTargets INT UNSIGNED NO 0
DmgClass INT UNSIGNED NO 0
PreventionType INT UNSIGNED NO 0
DmgMultiplier1 INT UNSIGNED NO 0
TotemCategory1 INT UNSIGNED NO 0
TotemCategory2 INT UNSIGNED NO 0
AreaId INT UNSIGNED NO 0
SchoolMask INT UNSIGNED NO 0
IsServerSide INT UNSIGNED NO 0
AttributesServerside INT UNSIGNED NO 0

Description of the fields

Id

The spell ID.

Category

Category ID based on which cooldown is determined. Spells with same category go into cooldown if one of them goes into cooldown.

ID Description
0 Default
1 Summon guards
2 Entry
4 Entry

Dispel

Dispel type of a spell. Some spells can only dispel specific types of spells, for example poisons.

Mechanic

Spells effects utilize a mechanics. For example bleed, root, silence.

Attributes

Special rules for spells. There are several columns for attributes. These rules can do anything, and some can be name only.

AttributesEx

AttributesEx2

AttributesEx3

AttributesEx4

AttributesEx5

AttributesEx6

Stances

Determines specific stances in which caster must be for spell to be successfully cast.

StancesNot

Determines specific stances in which caster cannot be for spell to be successfully cast.

Targets

Determines the default targets for some effects. Seems to be connected to TARGET_NONE.

TargetCreatureType

Specifies what creature types the spell can target, for example Humanoid or Beast.

RequiresSpellFocus

Specifies the spell focus GO, around which the caster has to be for a successful cast.

Indicates that this spell needs a GO near (e.g. forges). Required object has the type GAMEOBJECT_TYPE_SPELLFOCUS and data0 matches the RequiresSpellFocus value.

FacingCasterFlags

Specifies how the caster has to face the target so that the spell is successful. enum SpellFacingFlags in Unit.h

CasterAuraState

Specifies the caster AuraState required for the cast to be successful.

TargetAuraState

Specifies the target AuraState required for the cast to be successful.

CasterAuraStateNot

Specifies which AuraState the caster must not have for the cast to be successful.

TargetAuraStateNot

Specifies which AuraState the target must not have for the cast to be successful.

CastingTimeIndex

CastingTime (Id) that defines how long it takes for the spell to cast in milliseconds.

ID CastTime CastTimePerLevel MinCastTime
1 0 0 0
2 250 0 250
3 500 0 500
4 1000 0 1000
5 2000 XXX XXX
6 5000 XXX XXX
7 10000 XXX XXX
8 20000 XXX XXX
9 30000 XXX XXX
10 1000 -100 500
11 2000 -100 1000
12 5000 -100 2500
13 30000 -1000 10000
14 3000 XXX XXX
15 4000 XXX XXX
16 1500 XXX XXX
17 XXX XXX XXX
18 -1000000 XXX XXX
19 2500 XXX XXX
20 2500 XXX XXX
21 2600 XXX XXX
22 3500 XXX XXX
23 1800 XXX XXX
24 XXX XXX XXX
25 XXX XXX XXX
26 XXX XXX XXX
27 XXX XXX XXX
28 XXX XXX XXX
29 XXX XXX XXX
30 XXX XXX XXX
31 XXX XXX XXX
32 XXX XXX XXX
33 XXX XXX XXX
34 XXX XXX XXX
35 XXX XXX XXX
36 XXX XXX XXX
37 XXX XXX XXX
38 XXX XXX XXX
39 XXX XXX XXX
50 XXX XXX XXX
70 300000 XXX XXX
90 XXX XXX XXX
91 XXX XXX XXX
170 8000 XXX XXX
170 6000 XXX XXX
192 15000 XXX XXX
193 12000 XXX XXX

RecoveryTime

CategoryRecoveryTime

InterruptFlags

AuraInterruptFlags

ChannelInterruptFlags

procFlags

Bit Flag Comment
0 Killed
1 Kill
2 Successful Melee Hit
3 Taken Melee Hit
4 Successful Melee Spell Hit
5 Taken Melee Spell Hit
6 Successful Ranged Hit
7 Taken Ranged Hit
8 Successful Ranged Spell Hit
9 Taken Ranged Spell Hit
10 Successful Positive Aoe Hit
11 Taken Positive Aoe
12 Successful Aoe Spell Hit
13 Taken Aoe Spell Hit
14 Successful Positive Spell
15 Taken Positive Spell
16 Successful Negative Spell Hit
17 Taken Negative Spell Hit
18 On Do Periodic
19 On Take Periodic
20 Taken Any Damage
21 On Trap Activation
22 Successful Mainhand Hit
23 Successful Offhand Hit
24 Death

procChance

procCharges

maxLevel

baseLevel

spellLevel

DurationIndex

powerType

ID Description
0 Mana
1 Rage
2 ?
3 Energy

manaCost

manaCostPerlevel

manaPerSecond

manaPerSecondPerLevel

rangeIndex

speed

StackAmount

Totem1

Totem2

Reagent1

ReagentCount1

EquippedItemClass

EquippedItemSubClassMask

EquippedItemInventoryTypeMask

Effect1

EffectDieSides1

Random Value of the Die that is rolled for the SPELL_EFFECT
Max(EffectDieSides1) + (EffectBaseDice1 + EffectBasePoints1) = MaxValue for SPELL_EFFECT

EffectBaseDice1

Base Value for the SPELL_EFFECT, mostly 1
EffectBaseDice1 + EffectBasePoints1 = MinValue for SPELL_EFFECT

EffectDicePerLevel1

EffectRealPointsPerLevel1

EffectBasePoints1

Value added to EffectBaseDice1

EffectMechanic1

EffectImplicitTargetA1

EffectImplicitTargetB1

EffectRadiusIndex1

EffectApplyAuraName1

EffectAmplitude1

EffectMultipleValue1

EffectChainTarget1

EffectItemType1

EffectMiscValue1

EffectMiscValueB1

EffectTriggerSpell1

EffectPointsPerComboPoint1

SpellVisual

SpellIconID

activeIconID

spellPriority

SpellName

Rank

ManaCostPercentage

StartRecoveryCategory

StartRecoveryTime

MaxTargetLevel

SpellFamilyName

SpellFamilyFlags

MaxAffectedTargets

DmgClass

PreventionType

DmgMultiplier1

TotemCategory1

TotemCategory2

AreaId

Specifies the Allowed areas for a successful cast.
IDs taken from AreaGroup.dbc

SchoolMask

IsServerSide

AttributesServerside


TODO: Describe rest of columns
|24|casterAuraSpell|uint|
|25|targetAuraSpell|uint|
|26|excludeCasterAuraSpell|uint|
|27|excludeTargetAuraSpell|uint|
|28|CastingTimeIndex|uint|
|29|RecoveryTime|uint|
|30|CategoryRecoveryTime|uint|
|31|InterruptFlags|uint|
|32|AuraInterruptFlags|uint|
|33|ChannelInterruptFlags|uint|
|34|procFlags|uint|
|35|procChance|uint|
|36|procCharges|uint|
|37|maxLevel|uint|
|38|baseLevel|uint|
|39|spellLevel|uint|
|40|DurationIndex|uint|
|42|manaCost|uint|
|43|manaCostPerlevel|uint|
|44|manaPerSecond|uint|
|45|manaPerSecondPerLevel|uint|
|46|rangeIndex|uint|
|47|speed|float|
|48|modalNextSpell|uint|
|49|StackAmount|uint|
|50|Totem1|uint|
|51|Totem2|uint|
|52|Reagent1|int|
|53|Reagent2|int|
|54|Reagent3|int|
|55|Reagent4|int|
|56|Reagent5|int|
|57|Reagent6|int|
|58|Reagent7|int|
|59|Reagent8|int|
|60|ReagentCount1|uint|
|61|ReagentCount2|uint|
|62|ReagentCount3|uint|
|63|ReagentCount4|uint|
|64|ReagentCount5|uint|
|65|ReagentCount6|uint|
|66|ReagentCount7|uint|
|67|ReagentCount8|uint|
|68|EquippedItemClass|int|
|69|EquippedItemSubClassMask|int|
|70|EquippedItemInventoryTypeMask|int|
|71|Effect1|uint|
|72|Effect2|uint|
|73|Effect3|uint|
|75|EffectDieSides2|int|
|76|EffectDieSides3|int|
|77|EffectRealPointsPerLevel1|float|
|78|EffectRealPointsPerLevel2|float|
|79|EffectRealPointsPerLevel3|float|
|81|EffectBasePoints2|int|
|82|EffectBasePoints3|int|
|83|EffectMechanic1|uint|
|84|EffectMechanic2|uint|
|85|EffectMechanic3|uint|
|86|EffectImplicitTargetA1|uint|
|87|EffectImplicitTargetA2|uint|
|88|EffectImplicitTargetA3|uint|
|89|EffectImplicitTargetB1|uint|
|90|EffectImplicitTargetB2|uint|
|91|EffectImplicitTargetB3|uint|
|92|EffectRadiusIndex1|uint|
|93|EffectRadiusIndex2|uint|
|94|EffectRadiusIndex3|uint|
|95|EffectApplyAuraName1|uint|
|96|EffectApplyAuraName2|uint|
|97|EffectApplyAuraName3|uint|
|98|EffectAmplitude1|uint|
|99|EffectAmplitude2|uint|
|100|EffectAmplitude3|uint|
|101|EffectValueMultiplier1|float|
|102|EffectValueMultiplier2|float|
|103|EffectValueMultiplier3|float|
|104|EffectChainTarget1|uint|
|105|EffectChainTarget2|uint|
|106|EffectChainTarget3|uint|
|107|EffectItemType1|uint|
|108|EffectItemType2|uint|
|109|EffectItemType3|uint|
|110|EffectMiscValue1|int|
|111|EffectMiscValue2|int|
|112|EffectMiscValue3|int|
|113|EffectMiscValueB1|int|
|114|EffectMiscValueB2|int|
|115|EffectMiscValueB3|int|
|116|EffectTriggerSpell1|uint|
|117|EffectTriggerSpell2|uint|
|118|EffectTriggerSpell3|uint|
|119|EffectPointsPerComboPoint1|float|
|120|EffectPointsPerComboPoint2|float|
|121|EffectPointsPerComboPoint3|float|
|122|EffectSpellClassMask1|flag96|
|123|EffectSpellClassMask2|flag96|
|124|EffectSpellClassMask3|flag96|
|125|EffectSpellClassMask4|flag96|
|126|EffectSpellClassMask5|flag96|
|127|EffectSpellClassMask6|flag96|
|128|EffectSpellClassMask7|flag96|
|129|EffectSpellClassMask8|flag96|
|130|EffectSpellClassMask9|flag96|
|131|SpellVisual1|uint|
|132|SpellVisual2|uint|
|133|SpellIconID|uint|
|134|activeIconID|uint|
|135|spellPriority|uint|
|136|SpellName_0|string|
|137|SpellName_1|string|
|138|SpellName_2|string|
|139|SpellName_3|string|
|140|SpellName_4|string|
|141|SpellName_5|string|
|142|SpellName_6|string|
|143|SpellName_7|string|
|144|SpellName_8|string|
|145|SpellName_9|string|
|146|SpellName_10|string|
|147|SpellName_11|string|
|148|SpellName_12|string|
|149|SpellName_13|string|
|150|SpellName_14|string|
|151|SpellName_15|string|
|152|SpellNameFlag|uint|
|153|Rank_0|string|
|154|Rank_1|string|
|155|Rank_2|string|
|156|Rank_3|string|
|157|Rank_4|string|
|158|Rank_5|string|
|159|Rank_6|string|
|160|Rank_7|string|
|161|Rank_8|string|
|162|Rank_9|string|
|163|Rank_10|string|
|164|Rank_11|string|
|165|Rank_12|string|
|166|Rank_13|string|
|167|Rank_14|string|
|168|Rank_15|string|
|169|RankFlags|uint|
|170|Description_0|string|
|171|Description_1|string|
|172|Description_2|string|
|173|Description_3|string|
|174|Description_4|string|
|175|Description_5|string|
|176|Description_6|string|
|177|Description_7|string|
|178|Description_8|string|
|179|Description_9|string|
|180|Description_10|string|
|181|Description_11|string|
|182|Description_12|string|
|183|Description_13|string|
|184|Description_14|string|
|185|Description_15|string|
|186|DescriptionFlags|uint|
|187|ToolTip_0|string|
|188|ToolTip_1|string|
|189|ToolTip_2|string|
|190|ToolTip_3|string|
|191|ToolTip_4|string|
|192|ToolTip_5|string|
|193|ToolTip_6|string|
|194|ToolTip_7|string|
|195|ToolTip_8|string|
|196|ToolTip_9|string|
|197|ToolTip_10|string|
|198|ToolTip_11|string|
|199|ToolTip_12|string|
|200|ToolTip_13|string|
|201|ToolTip_14|string|
|202|ToolTip_15|string|
|203|ToolTipFlags|uint|
|204|ManaCostPercentage|uint|
|205|StartRecoveryCategory|uint|
|206|StartRecoveryTime|uint|
|207|MaxTargetLevel|uint|
|208|SpellFamilyName|uint|
|209|SpellFamilyFlagsLow|flag96|
|210|SpellFamilyFlagsHigh|flag96|
|211|SpellFamilyFlags2|flag96|
|212|MaxAffectedTargets|uint|
|213|DmgClass|uint|
|214|PreventionType|uint|
|215|StanceBarOrder|uint|
|216|EffectDamageMultiplier1|float|
|217|EffectDamageMultiplier2|float|
|218|EffectDamageMultiplier3|float|
|219|MinFactionId|uint|
|220|MinReputation|uint|
|221|RequiredAuraVision|uint|
|222|TotemCategory1|uint|
|223|TotemCategory2|uint|
|225|SchoolMask|uint|
|226|runeCostID|uint|
|227|spellMissileID|uint|
|228|PowerDisplayId|uint|
|229|EffectBonusMultiplier1|float|
|230|EffectBonusMultiplier2|float|
|231|EffectBonusMultiplier3|float|
|232|spellDescriptionVariableID|uint|
|233|SpellDifficultyId|uint|

Clone this wiki locally