DB/Spell: Difference between revisions

From wowdev
Jump to navigation Jump to search
Line 66: Line 66:
     int32    EquippedItemInventoryTypeMask;                // 67      m_equippedItemInvTypes (mask)
     int32    EquippedItemInventoryTypeMask;                // 67      m_equippedItemInvTypes (mask)
     uint32    Effect[MAX_SPELL_EFFECTS];                    // 68-70    m_effect
     uint32    Effect[MAX_SPELL_EFFECTS];                    // 68-70    m_effect
     int32    EffectDieSides[MAX_SPELL_EFFECTS];            // 71-73    m_effectDieSides
     //int32    EffectDieSides[MAX_SPELL_EFFECTS];            // 71-73    m_effectDieSides - Removed in 3.3.3
     int32    EffectBaseDice[MAX_SPELL_EFFECTS];            // 74-76    m_effectBaseDice
     //int32    EffectBaseDice[MAX_SPELL_EFFECTS];            // 74-76    m_effectBaseDice - Removed in 3.3.3
     float    EffectDicePerLevel[MAX_SPELL_EFFECTS];        // 77-79    m_effectDicePerLevel
     float    EffectDicePerLevel[MAX_SPELL_EFFECTS];        // 77-79    m_effectDicePerLevel
     float    EffectRealPointsPerLevel[MAX_SPELL_EFFECTS];  // 80-82    m_effectRealPointsPerLevel
     float    EffectRealPointsPerLevel[MAX_SPELL_EFFECTS];  // 80-82    m_effectRealPointsPerLevel

Revision as of 01:30, 5 April 2010

Header Info

Records.................33142
Fields....................179
Record Size...............716
String Block Size.....1233679

Structure

http://dev.trinitycore.org/trinitycore2/src/561ac59c59ac/src/game/DBCStructure.h

#define MAX_SPELL_EFFECTS 3
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    Stances;                                      // 11       m_shapeshiftMask
   uint32    StancesNot;                                   // 12       m_shapeshiftExclude
   uint32    Targets;                                      // 13       m_targets
   uint32    TargetCreatureType;                           // 14       m_targetCreatureType
   uint32    RequiresSpellFocus;                           // 15       m_requiresSpellFocus
   uint32    FacingCasterFlags;                            // 16       m_facingCasterFlags
   uint32    CasterAuraState;                              // 17       m_casterAuraState
   uint32    TargetAuraState;                              // 18       m_targetAuraState
   uint32    CasterAuraStateNot;                           // 19       m_excludeCasterAuraState
   uint32    TargetAuraStateNot;                           // 20       m_excludeTargetAuraState
   uint32    casterAuraSpell;                              // 21       m_casterAuraSpell
   uint32    targetAuraSpell;                              // 22       m_targetAuraSpell
   uint32    excludeCasterAuraSpell;                       // 23       m_excludeCasterAuraSpell
   uint32    excludeTargetAuraSpell;                       // 24       m_excludeTargetAuraSpell
   uint32    CastingTimeIndex;                             // 25       m_castingTimeIndex
   uint32    RecoveryTime;                                 // 26       m_recoveryTime
   uint32    CategoryRecoveryTime;                         // 27       m_categoryRecoveryTime
   uint32    InterruptFlags;                               // 28       m_interruptFlags
   uint32    AuraInterruptFlags;                           // 29       m_auraInterruptFlags
   uint32    ChannelInterruptFlags;                        // 30       m_channelInterruptFlags
   uint32    procFlags;                                    // 31       m_procTypeMask
   uint32    procChance;                                   // 32       m_procChance
   uint32    procCharges;                                  // 33       m_procCharges
   uint32    maxLevel;                                     // 34       m_maxLevel
   uint32    baseLevel;                                    // 35       m_baseLevel
   uint32    spellLevel;                                   // 36       m_spellLevel
   uint32    DurationIndex;                                // 37       m_durationIndex
   uint32    powerType;                                    // 38       m_powerType
   uint32    manaCost;                                     // 39       m_manaCost
   uint32    manaCostPerlevel;                             // 40       m_manaCostPerLevel
   uint32    manaPerSecond;                                // 41       m_manaPerSecond
   uint32    manaPerSecondPerLevel;                        // 42       m_manaPerSecondPerLeve
   uint32    rangeIndex;                                   // 43       m_rangeIndex
   float     speed;                                        // 44       m_speed
   //uint32    modalNextSpell;                             // 45       m_modalNextSpell not used
   uint32    StackAmount;                                  // 46       m_cumulativeAura
   uint32    Totem[2];                                     // 47-48    m_totem
   int32     Reagent[8];                                   // 49-56    m_reagent
   uint32    ReagentCount[8];                              // 57-64    m_reagentCount
   int32     EquippedItemClass;                            // 65       m_equippedItemClass (value)
   int32     EquippedItemSubClassMask;                     // 66       m_equippedItemSubclass (mask)
   int32     EquippedItemInventoryTypeMask;                // 67       m_equippedItemInvTypes (mask)
   uint32    Effect[MAX_SPELL_EFFECTS];                    // 68-70    m_effect
   //int32     EffectDieSides[MAX_SPELL_EFFECTS];            // 71-73    m_effectDieSides - Removed in 3.3.3
   //int32     EffectBaseDice[MAX_SPELL_EFFECTS];            // 74-76    m_effectBaseDice - Removed in 3.3.3
   float     EffectDicePerLevel[MAX_SPELL_EFFECTS];        // 77-79    m_effectDicePerLevel
   float     EffectRealPointsPerLevel[MAX_SPELL_EFFECTS];  // 80-82    m_effectRealPointsPerLevel
   int32     EffectBasePoints[MAX_SPELL_EFFECTS];          // 83-85    m_effectBasePoints (don't must be used in spell/auras explicitly, must be used cached Spell::m_currentBasePoints)
   uint32    EffectMechanic[MAX_SPELL_EFFECTS];            // 86-88    m_effectMechanic
   uint32    EffectImplicitTargetA[MAX_SPELL_EFFECTS];     // 89-91    m_implicitTargetA
   uint32    EffectImplicitTargetB[MAX_SPELL_EFFECTS];     // 92-94    m_implicitTargetB
   uint32    EffectRadiusIndex[MAX_SPELL_EFFECTS];         // 95-97    m_effectRadiusIndex - spellradius.dbc
   uint32    EffectApplyAuraName[MAX_SPELL_EFFECTS];       // 98-100   m_effectAura
   uint32    EffectAmplitude[MAX_SPELL_EFFECTS];           // 101-103  m_effectAuraPeriod
   float     EffectMultipleValue[MAX_SPELL_EFFECTS];       // 104-106  m_effectAmplitude
   uint32    EffectChainTarget[MAX_SPELL_EFFECTS];         // 107-109  m_effectChainTargets
   uint32    EffectItemType[MAX_SPELL_EFFECTS];            // 110-112  m_effectItemType
   int32     EffectMiscValue[MAX_SPELL_EFFECTS];           // 113-115  m_effectMiscValue
   int32     EffectMiscValueB[MAX_SPELL_EFFECTS];          // 116-118  m_effectMiscValueB
   uint32    EffectTriggerSpell[MAX_SPELL_EFFECTS];        // 119-121  m_effectTriggerSpell
   float     EffectPointsPerComboPoint[MAX_SPELL_EFFECTS]; // 122-124  m_effectPointsPerCombo
   flag96    EffectSpellClassMask[MAX_SPELL_EFFECTS];      //
   uint32    SpellVisual[2];                               // 134-135  m_spellVisualID
   uint32    SpellIconID;                                  // 136      m_spellIconID
   uint32    activeIconID;                                 // 137      m_activeIconID
   //uint32    spellPriority;                              // 138 not used
   char*     SpellName[16];                                // 139-154  m_name_lang
   //uint32    SpellNameFlag;                              // 155 not used
   char*     Rank[16];                                     // 156-171  m_nameSubtext_lang
   //uint32    RankFlags;                                  // 172 not used
   //char*     Description[16];                            // 173-188  m_description_lang not used
   //uint32    DescriptionFlags;                           // 189 not used
   //char*     ToolTip[16];                                // 190-205  m_auraDescription_lang not used
   //uint32    ToolTipFlags;                               // 206 not used
   uint32    ManaCostPercentage;                           // 207      m_manaCostPct
   uint32    StartRecoveryCategory;                        // 208      m_startRecoveryCategory
   uint32    StartRecoveryTime;                            // 209      m_startRecoveryTime
   uint32    MaxTargetLevel;                               // 210      m_maxTargetLevel
   uint32    SpellFamilyName;                              // 211      m_spellClassSet
   flag96    SpellFamilyFlags;                             // 212-214
   uint32    MaxAffectedTargets;                           // 215      m_maxTargets
   uint32    DmgClass;                                     // 216      m_defenseType
   uint32    PreventionType;                               // 217      m_preventionType
   //uint32    StanceBarOrder;                             // 218      m_stanceBarOrder not used
   float     DmgMultiplier[3];                             // 219-221  m_effectChainAmplitude
   //uint32    MinFactionId;                               // 222      m_minFactionID not used
   //uint32    MinReputation;                              // 223      m_minReputation not used
   //uint32    RequiredAuraVision;                         // 224      m_requiredAuraVision not used
   uint32    TotemCategory[2];                             // 225-226  m_requiredTotemCategoryID
   int32     AreaGroupId;                                  // 227      m_requiredAreaGroupId
   uint32    SchoolMask;                                   // 228      m_schoolMask
   uint32    runeCostID;                                   // 229      m_runeCostID
   //uint32    spellMissileID;                             // 230      m_spellMissileID not used
   //uint32  PowerDisplayId;                               // 231 PowerDisplay.dbc, new in 3.1
   // helpers
   int32 CalculateSimpleValue(uint8 eff) const { return EffectBasePoints[eff]+int32(EffectBaseDice[eff]); }
   private:
       // prevent creating custom entries (copy data from original in fact)
       SpellEntry(SpellEntry const&);                      // DON'T must have implementation
};

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) 

Retrieved from "http://www.sourcepeek.com/wiki/Spell.dbc"