Subversion Repositories WoWGM

Rev

Rev 8 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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