DB/Spell

From wowdev
Jump to navigation Jump to search

Header Info

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

3.3.5.12340

struct SpellEntry
{
   uint32      Id;                                             // 0        m_ID
   uint32      Category;                                       // 1        m_category
   uint32      Dispel;                                         // 2        m_dispelType
   uint32      Mechanic;                                       // 3        m_mechanic
   uint32      Attributes;                                     // 4        m_attribute
   uint32      AttributesEx;                                   // 5        m_attributesEx
   uint32      AttributesEx2;                                  // 6        m_attributesExB
   uint32      AttributesEx3;                                  // 7        m_attributesExC
   uint32      AttributesEx4;                                  // 8        m_attributesExD
   uint32      AttributesEx5;                                  // 9        m_attributesExE
   uint32      AttributesEx6;                                  // 10       m_attributesExF
   uint32      AttributesEx7;                                  // 11       3.2.0 (0x20 - totems, 0x4 - paladin auras, etc...) --- Even more attributes needed, thanks MrLama for this
   uint32      Stances;                                        // 12       m_shapeshiftMask
   uint32      unk_320_2;                                      // 13       3.2.0
   uint32      StancesNot;                                     // 14       m_shapeshiftExclude
   uint32      unk_320_3;                                      // 15       3.2.0
   uint32      Targets;                                        // 16       m_targets
   uint32      TargetCreatureType;                             // 17       m_targetCreatureType
   uint32      RequiresSpellFocus;                             // 18       m_requiresSpellFocus
   uint32      FacingCasterFlags;                              // 19       m_facingCasterFlags
   uint32      CasterAuraState;                                // 20       m_casterAuraState
   uint32      TargetAuraState;                                // 21       m_targetAuraState
   uint32      CasterAuraStateNot;                             // 22       m_excludeCasterAuraState
   uint32      TargetAuraStateNot;                             // 23       m_excludeTargetAuraState
   uint32      casterAuraSpell;                                // 24       m_casterAuraSpell
   uint32      targetAuraSpell;                                // 25       m_targetAuraSpell
   uint32      excludeCasterAuraSpell;                         // 26       m_excludeCasterAuraSpell
   uint32      excludeTargetAuraSpell;                         // 27       m_excludeTargetAuraSpell
   uint32      CastingTimeIndex;                               // 28       m_castingTimeIndex
   uint32      RecoveryTime;                                   // 29       m_recoveryTime
   uint32      CategoryRecoveryTime;                           // 30       m_categoryRecoveryTime
   uint32      InterruptFlags;                                 // 31       m_interruptFlags
   uint32      AuraInterruptFlags;                             // 32       m_auraInterruptFlags
   uint32      ChannelInterruptFlags;                          // 33       m_channelInterruptFlags
   uint32      procFlags;                                      // 34       m_procTypeMask
   uint32      procChance;                                     // 35       m_procChance
   uint32      procCharges;                                    // 36       m_procCharges
   uint32      maxLevel;                                       // 37       m_maxLevel
   uint32      baseLevel;                                      // 38       m_baseLevel
   uint32      spellLevel;                                     // 39       m_spellLevel
   uint32      DurationIndex;                                  // 40       m_durationIndex
   uint32      powerType;                                      // 41       m_powerType
   uint32      manaCost;                                       // 42       m_manaCost
   uint32      manaCostPerlevel;                               // 43       m_manaCostPerLevel
   uint32      manaPerSecond;                                  // 44       m_manaPerSecond
   uint32      manaPerSecondPerLevel;                          // 45       m_manaPerSecondPerLeve
   uint32      rangeIndex;                                     // 46       m_rangeIndex
   float       speed;                                          // 47       m_speed
   uint32      modalNextSpell;                                 // 48       m_modalNextSpell 
   uint32      StackAmount;                                    // 49       m_cumulativeAura
   uint32      Totem[2];                                       // 50-51    m_totem
   int32       Reagent[8];                                     // 52-59    m_reagent
   uint32      ReagentCount[8];                                // 60-67    m_reagentCount
   int32       EquippedItemClass;                              // 68       m_equippedItemClass (value)
   int32       EquippedItemSubClassMask;                       // 69       m_equippedItemSubclass (mask)
   int32       EquippedItemInventoryTypeMask;                  // 70       m_equippedItemInvTypes (mask)
   uint32      Effect[3];                                      // 71-73    m_effect
   int32       EffectDieSides[3];                              // 74-76    m_effectDieSides
   float       EffectRealPointsPerLevel[3];                    // 77-79    m_effectRealPointsPerLevel
   int32       EffectBasePoints[3];                            // 80-82    m_effectBasePoints (don't must be used in spell/auras explicitly, must be used cached Spell::m_currentBasePoints)
   uint32      EffectMechanic[3];                              // 83-85    m_effectMechanic
   uint32      EffectImplicitTargetA[3];                       // 86-88    m_implicitTargetA
   uint32      EffectImplicitTargetB[3];                       // 89-91    m_implicitTargetB
   uint32      EffectRadiusIndex[3];                           // 92-94    m_effectRadiusIndex - spellradius.dbc
   uint32      EffectApplyAuraName[3];                         // 95-97    m_effectAura
   uint32      EffectAmplitude[3];                             // 98-100   m_effectAuraPeriod
   float       EffectMultipleValue[3];                         // 101-103  m_effectAmplitude
   uint32      EffectChainTarget[3];                           // 104-106  m_effectChainTargets
   uint32      EffectItemType[3];                              // 107-109  m_effectItemType
   int32       EffectMiscValue[3];                             // 110-112  m_effectMiscValue
   int32       EffectMiscValueB[3];                            // 113-115  m_effectMiscValueB
   uint32      EffectTriggerSpell[3];                          // 116-118  m_effectTriggerSpell
   float       EffectPointsPerComboPoint[3];                   // 119-121  m_effectPointsPerCombo
   uint32      EffectSpellClassMaskA[3];                       // 122-124  m_effectSpellClassMaskA, effect 0
   uint32      EffectSpellClassMaskB[3];                       // 125-127  m_effectSpellClassMaskB, effect 1
   uint32      EffectSpellClassMaskC[3];                       // 128-130  m_effectSpellClassMaskC, effect 2
   uint32      SpellVisual[2];                                 // 131-132  m_spellVisualID
   uint32      SpellIconID;                                    // 133      m_spellIconID
   uint32      activeIconID;                                   // 134      m_activeIconID
   uint32      spellPriority;                                  // 135      m_spellPriority     
   char*       SpellName[16];                                  // 136-151  m_name_lang
   uint32      SpellNameFlag;                                  // 152 
   char*       Rank[16];                                       // 153-168  m_nameSubtext_lang
   uint32      RankFlags;                                      // 169 
   char*       Description[16];                                // 170-185  m_description_lang 
   uint32      DescriptionFlags;                               // 186 
   char*       ToolTip[16];                                    // 187-202  m_auraDescription_lang 
   uint32      ToolTipFlags;                                   // 203 
   uint32      ManaCostPercentage;                             // 204      m_manaCostPct
   uint32      StartRecoveryCategory;                          // 205      m_startRecoveryCategory
   uint32      StartRecoveryTime;                              // 206      m_startRecoveryTime
   uint32      MaxTargetLevel;                                 // 207      m_maxTargetLevel
   uint32      SpellFamilyName;                                // 208      m_spellClassSet
   uint64      SpellFamilyFlags;                               // 209-210  m_spellClassMask NOTE: size is 12 bytes!!!
   uint32      SpellFamilyFlags2;                              // 211      addition to m_spellClassMask
   uint32      MaxAffectedTargets;                             // 212      m_maxTargets
   uint32      DmgClass;                                       // 213      m_defenseType
   uint32      PreventionType;                                 // 214      m_preventionType
   uint32      StanceBarOrder;                                 // 215      m_stanceBarOrder 
   float       DmgMultiplier[3];                               // 216-218  m_effectChainAmplitude
   uint32      MinFactionId;                                   // 219      m_minFactionID 
   uint32      MinReputation;                                  // 220      m_minReputation 
   uint32      RequiredAuraVision;                             // 221      m_requiredAuraVision 
   uint32      TotemCategory[2];                               // 222-223  m_requiredTotemCategoryID
   int32       AreaGroupId;                                    // 224      m_requiredAreaGroupId
   uint32      SchoolMask;                                     // 225      m_schoolMask
   uint32      runeCostID;                                     // 226      m_runeCostID
   uint32      spellMissileID;                                 // 227      m_spellMissileID 
   uint32      PowerDisplayId;                                 // 228      PowerDisplay.dbc, new in 3.1
   float       EffectBonusMultiplier[3];                                   // 229-231  3.2.0
   uint32      spellDescriptionVariableID;                     // 232      3.2.0
   uint32      SpellDifficultyId;                              // 233      3.3.0
};

Old

Column	Field 				Type 		Notes 
1 	ID 				Integer 	
2 	iRefID_Resistances 		Integer 	School Category. Also serves as resistance component. 
3 	iRefID_SpellCategory 		Integer 	
4 	Unknown 			Integer 	
5 	iRefID_SpellDispelType 		Integer 	Dispel type 
6 	iRefID_SpellMechanic 		Integer 	Main mechanic applied to the spell being cast 
7 	Unknown 			BitMask 	Bit 0x10000000 = "Cannot be cast when in combat". 
8 	Unknown 			BitMask 	
9 	targets 			BitMask 	...> Internal arrays? 
10 	Unknown 			BitMask 	Moved from column 168 (Patch 0.12.0) Bit 0x100000 = Persist through death (Flasks, Ghost, Deserter etc) 	
11 	Unknown 			Unknown 	Added with 0.12.0 
12 	Unknown 			Unknown 	Added with Beta 2.0.0.6022 
13 	iRefMask_SpellShapeshiftForm 	BitMask 	BitMask for which shapeshift forms this spell can be used in. 
14 	iRefMask_SpellShapeshiftForm 	BitMask 	BitMask for which shapeshift forms this spell cannot be used in. 
15 	Unknown 			Unknown 	 
16 	iRefMask_CreatureType 		BitMask 	
17 	iRefID_SpellFocusObject 	Integer 	The object that needs to be near, targeted, or on person to cast 
18 	caster_aura_state 		Integer 	Requirements that need to be met, before spell/ability is usable, on caster... 
19 	target_aura_state 		Integer 	...or target. 
20 	Unknown 			Unknown 	(Added in 2.0.0.5894) 
21 	Unknown 			Unknown 	(Added in 2.0.0.5894) 
22 	iRefID_SpellCastTimes 		Integer 	The time in milliseconds to cast 
23 	category_recovery_time 		Integer 	Spell cooldown. If this is set affects whole category, else... 
24 	recovery_time 			Integer 	...if this is set affects only spell/ability being used. Note: Both can be set with different cooldowns. 
25 	interrupt_flags 		BitMask 	What table(s) do these fields point to? <... 
26 	aura_interrupt_flags 		BitMask 	... 
27 	channel_interrupt_flags 	BitMask 	... 
28 	proc_flags 			BitMask 	...> Internal arrays? 
29 	proc_chance 			Integer 	
30 	proc_charges 			Integer 	
31 	level_max 			Integer 	The spell level when additional damage is no longer calculated. 
32 	level_base 			Integer 	
33 	level_spell 			Integer 	
34 	iRefID_SpellDuration 		Integer 	Duration is in milliseconds. ($d)
35 	power_type 			Integer 	
36 	mana_cost 			Integer 	To get rage cost, divide this value by 10. 
37 	mana_cost_per_level 		Integer 	
38 	mana_per_second 		Integer 	
39 	mana_per_second_per_level 	Integer 	
40 	iRefID_SpellRange 		Integer 	Yard increments 
41 	projectile_speed 		Float 		Speed of the "animation bolt" as it travels from caster to target. 
42 	modal_next_spell 		Integer 	
43 	stack_amount 			Integer 	Specifies how many times the spell can be applied to a target
44 	iRefID_Tool_1 			Integer 	Required tool to cast. (eg. Mining Pick, Flint and Tinder)  
45 	iRefID_Tool_2 			Integer 	 direct reference to an item-id
46 	iRefID_Reagent_1 		Integer 	Reagent required to cast. Direct reference to an item-id 
47 	iRefID_Reagent_2 		Integer 	
48 	iRefID_Reagent_3 		Integer 	
49 	iRefID_Reagent_4 		Integer 	
50 	iRefID_Reagent_5 		Integer 	
51 	iRefID_Reagent_6 		Integer 	
52 	iRefID_Reagent_7 		Integer 	
53 	iRefID_Reagent_8 		Integer 	
54 	reagent_count_1 		Integer 	Amount of reagents required to use spell/ability. 
55 	reagent_count_2 		Integer 	
56 	reagent_count_3 		Integer 	
57 	reagent_count_4 		Integer 	
58 	reagent_count_5 		Integer 	
59 	reagent_count_6 		Integer 	
60 	reagent_count_7 		Integer 	
61 	reagent_count_8 		Integer 	
62 	iRefMask_ItemClass		BitMask 	
63 	iRefMask_ItemSubClass 		BitMask 	
64 	iRefMask_Inventory Slots 	BitMask 	for enchanting 
65 	effect_1_id 			Integer 	SpellEffectNames.dbc 
66 	effect_2_id 			Integer 	SpellEffectNames.dbc
67 	effect_3_id 			Integer 	SpellEffectNames.dbc
68 	effect_1_die_sides 		Integer 	Random Damage 
69 	effect_2_die_sides 		Integer 	
70 	effect_3_die_sides 		Integer 	
71 	effect_1_base_dice 		Integer 	
72 	effect_2_base_dice 		Integer 	
73 	effect_3_base_dice 		Integer 	
74 	effect_1_dice_per_level 	Integer 	
75 	effect_2_dice_per_level 	Integer 	
76 	effect_3_dice_per_level 	Integer 	
77 	effect_1_real_points_per_level 	Float 	
78 	effect_2_real_points_per_level 	Float 	
79 	effect_3_real_points_per_level 	Float 	
80 	effect_1_base_points 		Integer 	Base Damage ($s1)
81 	effect_2_base_points 		Integer 	
82 	effect_3_base_points 		Integer 	
83 	effect_1_mechanic_id 		Integer 	SpellMechanic.dbc 
84 	effect_2_mechanic_id 		Integer 	SpellMechanic.dbc 
85 	effect_3_mechanic_id 		Integer 	SpellMechanic.dbc 
86 	effect_1_implicit_target_a 	Integer 	
87 	effect_2_implicit_target_a 	Integer 	
88 	effect_3_implicit_target_a 	Integer 	
89 	effect_1_implicit_target_b 	Integer 	
90 	effect_2_implicit_target_b 	Integer 	
91 	effect_3_implicit_target_b 	Integer 	
92 	effect_1_radius 		Integer 	SpellRadius.dbc 
93 	effect_2_radius 		Integer 	SpellRadius.dbc 
94 	effect_3_radius 		Integer 	SpellRadius.dbc 
95 	effect_1_aura 			Integer 	SpellAuraNames.dbc 
96 	effect_2_aura 			Integer 	SpellAuraNames.dbc 
97 	effect_3_aura 			Integer 	SpellAuraNames.dbc
98 	effect_1_amplitude 		Integer 	Refence ID: $o1 in description/buff desc. 
99 	effect_2_amplitude 		Integer 	$o2 
100 	effect_3_amplitude 		Integer 	$o3 
101 	effect_1_proc_value		Float 		$e1 
102 	effect_2_proc_value		Float 		$e2 
103 	effect_3_proc_value		Float 		$e3 
104 	effect_1_chain_target 		Integer 	
105 	effect_2_chain_target 		Integer 	
106 	effect_3_chain_target 		Integer 	
107 	effect_1_item_type 		Integer 	used when creating items. Q:Does this refer to these Item Types? Reference to ItemCache.wdb 
108 	effect_2_item_type 		Integer 	
109 	effect_3_item_type 		Integer 	
110 	effect_1_misc_value 		Integer 	Reference to SpellItemEnchantment.dbc for enchanting 
111 	effect_2_misc_value 		Integer 	
112 	effect_3_misc_value 		Integer 	
113 	effect_1_trigger_spell 		Integer 	spellid that this spell teaches or triggers 
114 	effect_2_trigger_spell 		Integer 	
115 	effect_3_trigger_spell 		Integer 	
116 	effect_1_proc_chance 		Float 		Seems to be $b1, having something to do with finishing moves... 
117 	effect_2_proc_chance		Float 		$b2 
118 	effect_3_proc_chance		Float 		$b3 
119 	iRefID_SpellVisual 		Integer 	
120 	Unknown 			Integer 	Only on one spell, Sire's Suicide (18184) with a value of 749 
121 	iRefID_SpellIcon 		Integer 	Icon used in spellbook. 
122 	iRefID_SpellIcon 		Integer 	Icon used on target. 
123 	spell_priority 			Integer 	Deciding factor if it overrides other effects. 
124-132	sRefName 			String + Loc	Names different then your clients localization will appear as null terminated strings 	
133-141	rank 				String + Loc 	
142-150	book_description 		String + Loc		DBC String Variables 	
151-159	buff_desciption 		String + Loc 	
160 	mana_cost_percent 		Integer 	
161 	start_recovery_category 	Integer 	
162 	start_recovery_time 		Integer 	Global cooldown. 
163 	affected_target_level 		Integer 	example: "Only affects Humanoid targets level affected_target_level or lower." 	
164 	iRefID_ChrClasses 		Integer 	Column 16 
165 	Unknown 			BitMask 	
166 	spell_targets 			Integer 	How many targets are affected around the currently targeted Mob/Player. 
167 	Unknown 			BitMask 	
168 	dmg_class 			Integer 	0=None, 1=Magic, 2=Melee, 3=Ranged 
169 	Unknown 			Integer 	Vals = 0,1,2 
170 	Unknown 			Integer 	
171 	dmg_multiplier_1 		Float 	
172 	dmg_multiplier_2 		Float 	
173 	dmg_multiplier_3 		Float 	
174 	Unknown 			Unknown 	
175 	Unknown 			Unknown 	
176 	Unknown 			Unknown 	
177 	iRefID_TotemCategory_1 		Integer 	Required tool (BC Alpha 8/26/2006) 
178 	iRefID_TotemCategory_2 		Integer 	Required tool (BC Alpha 8/26/2006) 
179 	Unknown 			Unknown 	(Added build 5965) 

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;
  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"