DB/Spell
Jump to navigation
Jump to search
0.5.3.3368
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; };
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 | 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 |
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.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
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)
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; };