| 32 |
tristanc |
1 |
#ifndef _WOWCLIENTDB_H_
|
|
|
2 |
#define _WOWCLIENTDB_H_
|
|
|
3 |
|
|
|
4 |
template <class T>
|
|
|
5 |
class WowClientDB {
|
|
|
6 |
|
|
|
7 |
public:
|
|
|
8 |
|
|
|
9 |
void* vtable1;
|
|
|
10 |
int m_loaded;
|
|
|
11 |
int m_numRecords;
|
|
|
12 |
int m_maxID;
|
|
|
13 |
int m_minID;
|
|
|
14 |
char const* m_stringTable;
|
|
|
15 |
void* vtable2;
|
|
|
16 |
T* m_firstRow;
|
|
|
17 |
T** m_rows;
|
|
|
18 |
|
|
|
19 |
};
|
|
|
20 |
|
|
|
21 |
|
| 8 |
tristanc |
22 |
// TODO:
|
| 32 |
tristanc |
23 |
struct SpellRec {
|
|
|
24 |
|
|
|
25 |
unsigned int m_ID;
|
|
|
26 |
unsigned int m_category;
|
|
|
27 |
unsigned int m_dispelType;
|
|
|
28 |
unsigned int m_mechanic;
|
|
|
29 |
unsigned int m_attributes;
|
|
|
30 |
unsigned int m_attributesEx;
|
|
|
31 |
unsigned int m_attributesExB;
|
|
|
32 |
unsigned int m_attributesExC;
|
|
|
33 |
unsigned int m_attributesExD;
|
|
|
34 |
unsigned int m_attributesExE;
|
|
|
35 |
unsigned int m_attributesExF;
|
|
|
36 |
unsigned int m_attributesExG;
|
|
|
37 |
unsigned int m_shapeshiftMask[2];
|
|
|
38 |
unsigned int m_shapeshiftExclude[2];
|
|
|
39 |
unsigned int m_targets;
|
|
|
40 |
unsigned int m_targetCreatureType;
|
|
|
41 |
unsigned int m_requiresSpellFocus;
|
|
|
42 |
unsigned int m_facingCasterFlags;
|
|
|
43 |
unsigned int m_casterAuraState;
|
|
|
44 |
unsigned int m_targetAuraState;
|
|
|
45 |
unsigned int m_excludeCasterAuraState;
|
|
|
46 |
unsigned int m_excludeTargetAuraState;
|
|
|
47 |
unsigned int m_casterAuraSpell;
|
|
|
48 |
unsigned int m_targetAuraSpell;
|
|
|
49 |
unsigned int m_excludeCasterAuraSpell;
|
|
|
50 |
unsigned int m_excludeTargetAuraSpell;
|
|
|
51 |
unsigned int m_castingTimeIndex;
|
|
|
52 |
unsigned int m_recoveryTime;
|
|
|
53 |
unsigned int m_categoryRecoveryTime;
|
|
|
54 |
unsigned int m_interruptFlags;
|
|
|
55 |
unsigned int m_auraInterruptFlags;
|
|
|
56 |
unsigned int m_channelInterruptFlags;
|
|
|
57 |
unsigned int m_procTypeMask;
|
|
|
58 |
unsigned int m_procChance;
|
|
|
59 |
unsigned int m_procCharges;
|
|
|
60 |
unsigned int m_maxLevel;
|
|
|
61 |
unsigned int m_baseLevel;
|
|
|
62 |
unsigned int m_spellLevel;
|
|
|
63 |
unsigned int m_durationIndex;
|
|
|
64 |
unsigned int m_powerType;
|
|
|
65 |
unsigned int m_manaCost;
|
|
|
66 |
unsigned int m_manaCostPerLevel;
|
|
|
67 |
unsigned int m_manaPerSecond;
|
|
|
68 |
unsigned int m_manaPerSecondPerLevel;
|
|
|
69 |
unsigned int m_rangeIndex;
|
|
|
70 |
float m_speed;
|
|
|
71 |
unsigned int m_modalNextSpell;
|
|
|
72 |
unsigned int m_cumulativeAura;
|
|
|
73 |
unsigned int m_totem[2];
|
|
|
74 |
unsigned int m_reagent[8];
|
|
|
75 |
unsigned int m_reagentCount[8];
|
|
|
76 |
unsigned int m_equippedItemClass;
|
|
|
77 |
unsigned int m_equippedItemSubclass;
|
|
|
78 |
unsigned int m_equippedItemInvTypes;
|
|
|
79 |
unsigned int m_effect[3];
|
|
|
80 |
unsigned int m_effectDieSides[3];
|
|
|
81 |
float m_effectRealPointsPerLevel[3];
|
|
|
82 |
unsigned int m_effectBasePoints[3];
|
|
|
83 |
unsigned int m_effectMechanic[3];
|
|
|
84 |
unsigned int m_implicitTargetA[3];
|
|
|
85 |
unsigned int m_implicitTargetB[3];
|
|
|
86 |
unsigned int m_effectRadiusIndex[3];
|
|
|
87 |
unsigned int m_effectAura[3];
|
|
|
88 |
unsigned int m_effectAuraPeriod[3];
|
|
|
89 |
float m_effectAmplitude[3];
|
|
|
90 |
unsigned int m_effectChainTargets[3];
|
|
|
91 |
unsigned int m_effectItemType[3];
|
|
|
92 |
unsigned int m_effectMiscValue[3];
|
|
|
93 |
unsigned int m_effectMiscValueB[3];
|
|
|
94 |
unsigned int m_effectTriggerSpell[3];
|
|
|
95 |
float m_effectPointsPerCombo[3];
|
|
|
96 |
unsigned int m_effectSpellClassMaskA[3];
|
|
|
97 |
unsigned int m_effectSpellClassMaskB[3];
|
|
|
98 |
unsigned int m_effectSpellClassMaskC[3];
|
|
|
99 |
unsigned int m_spellVisualID[2];
|
|
|
100 |
unsigned int m_spellIconID;
|
|
|
101 |
unsigned int m_activeIconID;
|
|
|
102 |
unsigned int m_spellPriority;
|
|
|
103 |
char* m_name_lang;
|
|
|
104 |
char* m_nameSubtext_lang;
|
|
|
105 |
char* m_description_lang;
|
|
|
106 |
char* m_auraDescription_lang;
|
|
|
107 |
unsigned int m_manaCostPct;
|
|
|
108 |
unsigned int m_startRecoveryCategory;
|
|
|
109 |
unsigned int m_startRecoveryTime;
|
|
|
110 |
unsigned int m_maxTargetLevel;
|
|
|
111 |
unsigned int m_spellClassSet;
|
|
|
112 |
unsigned int m_spellClassMask[3];
|
|
|
113 |
unsigned int m_maxTargets;
|
|
|
114 |
unsigned int m_defenseType;
|
|
|
115 |
unsigned int m_preventionType;
|
|
|
116 |
unsigned int m_stanceBarOrder;
|
|
|
117 |
float m_effectChainAmplitude[3];
|
|
|
118 |
unsigned int m_minFactionID;
|
|
|
119 |
unsigned int m_minReputation;
|
|
|
120 |
unsigned int m_requiredAuraVision;
|
|
|
121 |
unsigned int m_requiredTotemCategoryID[2];
|
|
|
122 |
unsigned int m_requiredAreasID;
|
|
|
123 |
unsigned int m_schoolMask;
|
|
|
124 |
unsigned int m_runeCostID;
|
|
|
125 |
unsigned int m_spellMissileID;
|
|
|
126 |
unsigned int m_powerDisplayID;
|
|
|
127 |
float m_effectBonusCoefficient[3];
|
|
|
128 |
unsigned int m_descriptionVariablesID;
|
|
|
129 |
unsigned int m_difficulty;
|
|
|
130 |
|
|
|
131 |
};
|
|
|
132 |
|
|
|
133 |
|
|
|
134 |
// TODO:
|
|
|
135 |
extern WowClientDB<SpellRec> * g_spellDB;
|
|
|
136 |
|
|
|
137 |
#endif // ifndef _WOWCLIENTDB_H_
|
|
|
138 |
|