Subversion Repositories WoWGM

Rev

Rev 8 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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