[9581] Fixed apply damage reduction to melee/ranged damage.
[getmangos.git] / src / game / DBCEnums.h
blob2d6b03d5efae9b50a3595fbb763a79d1ab518b3d
1 /*
2 * Copyright (C) 2005-2010 MaNGOS <http://getmangos.com/>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #ifndef DBCENUMS_H
20 #define DBCENUMS_H
22 // Client expected level limitation, like as used in DBC item max levels for "until max player level"
23 // use as default max player level, must be fit max level for used client
24 // also see MAX_LEVEL and STRONG_MAX_LEVEL define
25 #define DEFAULT_MAX_LEVEL 80
27 // client supported max level for player/pets/etc. Avoid overflow or client stability affected.
28 // also see GT_MAX_LEVEL define
29 #define MAX_LEVEL 100
31 // Server side limitation. Base at used code requirements.
32 // also see MAX_LEVEL and GT_MAX_LEVEL define
33 #define STRONG_MAX_LEVEL 255
35 enum BattleGroundBracketId // bracketId for level ranges
37 BG_BRACKET_ID_FIRST = 0,
38 BG_BRACKET_ID_LAST = 15
41 // must be max value in PvPDificulty slot+1
42 #define MAX_BATTLEGROUND_BRACKETS 16
44 enum AreaTeams
46 AREATEAM_NONE = 0,
47 AREATEAM_ALLY = 2,
48 AREATEAM_HORDE = 4
51 enum AchievementFactionFlags
53 ACHIEVEMENT_FACTION_FLAG_HORDE = 0x00000000,
54 ACHIEVEMENT_FACTION_FLAG_ALLIANCE = 0x00000001,
57 enum AchievementFlags
59 ACHIEVEMENT_FLAG_COUNTER = 0x00000001, // Just count statistic (never stop and complete)
60 ACHIEVEMENT_FLAG_UNK2 = 0x00000002, // not used
61 ACHIEVEMENT_FLAG_STORE_MAX_VALUE = 0x00000004, // Store only max value? used only in "Reach level xx"
62 ACHIEVEMENT_FLAG_SUMM = 0x00000008, // Use summ criteria value from all reqirements (and calculate max value)
63 ACHIEVEMENT_FLAG_MAX_USED = 0x00000010, // Show max criteria (and calculate max value ??)
64 ACHIEVEMENT_FLAG_REQ_COUNT = 0x00000020, // Use not zero req count (and calculate max value)
65 ACHIEVEMENT_FLAG_AVERAGE = 0x00000040, // Show as average value (value / time_in_days) depend from other flag (by def use last criteria value)
66 ACHIEVEMENT_FLAG_BAR = 0x00000080, // Show as progress bar (value / max vale) depend from other flag (by def use last criteria value)
67 ACHIEVEMENT_FLAG_REALM_FIRST_REACH = 0x00000100, //
68 ACHIEVEMENT_FLAG_REALM_FIRST_KILL = 0x00000200, //
71 enum AchievementCriteriaCondition
73 ACHIEVEMENT_CRITERIA_CONDITION_NONE = 0,
74 ACHIEVEMENT_CRITERIA_CONDITION_NO_DEATH = 1,
75 ACHIEVEMENT_CRITERIA_CONDITION_UNK1 = 2, // only used in "Complete a daily quest every day for five consecutive days"
76 ACHIEVEMENT_CRITERIA_CONDITION_MAP = 3, // requires you to be on specific map
77 ACHIEVEMENT_CRITERIA_CONDITION_NO_LOOSE = 4, // only used in "Win 10 arenas without losing"
78 ACHIEVEMENT_CRITERIA_CONDITION_UNK2 = 9, // unk
79 ACHIEVEMENT_CRITERIA_CONDITION_UNK3 = 13, // unk
82 enum AchievementCriteriaCompletionFlags
84 ACHIEVEMENT_CRITERIA_FLAG_SHOW_PROGRESS_BAR = 0x00000001, // Show progress as bar
85 ACHIEVEMENT_CRITERIA_FLAG_HIDE_CRITERIA = 0x00000002, // Not show criteria in client
86 ACHIEVEMENT_CRITERIA_FLAG_UNK3 = 0x00000004, // BG related??
87 ACHIEVEMENT_CRITERIA_FLAG_UNK4 = 0x00000008, //
88 ACHIEVEMENT_CRITERIA_FLAG_UNK5 = 0x00000010, // not used
89 ACHIEVEMENT_CRITERIA_FLAG_MONEY_COUNTER = 0x00000020, // Displays counter as money
92 enum AchievementCriteriaGroupFlags
94 // you mustn't be in a group while fulfilling this achievement
95 ACHIEVEMENT_CRITERIA_GROUP_NOT_IN_GROUP = 2,
98 enum AchievementCriteriaTypes
100 ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE = 0,
101 ACHIEVEMENT_CRITERIA_TYPE_WIN_BG = 1,
102 ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL = 5,
103 ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL = 7,
104 ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT = 8,
105 ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST_COUNT = 9,
106 // you have to complete a daily quest x times in a row
107 ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST_DAILY = 10,
108 ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE = 11,
109 ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE = 13,
110 ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST = 14,
111 ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND= 15,
112 ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP= 16,
113 ACHIEVEMENT_CRITERIA_TYPE_DEATH= 17,
114 ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON = 18,
115 ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_RAID = 19,
116 ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE = 20,
117 ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_PLAYER = 23,
118 ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING = 24,
119 ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM = 26,
120 ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST = 27,
121 ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET = 28,
122 ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL= 29,
123 ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE = 30,
124 ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA = 31,
125 ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA = 32,
126 ACHIEVEMENT_CRITERIA_TYPE_PLAY_ARENA = 33,
127 ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL = 34,
128 // TODO: this criteria has additional conditions which can not be found in the dbcs
129 ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL = 35,
130 ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM = 36,
131 // TODO: the archievements 1162 and 1163 requires a special rating which can't be found in the dbc
132 ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA = 37,
133 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING = 38,
134 ACHIEVEMENT_CRITERIA_TYPE_REACH_TEAM_RATING = 39,
135 ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL = 40,
136 ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM = 41,
137 ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM= 42,
138 ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA = 43,
139 ACHIEVEMENT_CRITERIA_TYPE_OWN_RANK= 44,
140 ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT= 45,
141 ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION= 46,
142 ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION= 47,
143 // noted: rewarded as soon as the player payed, not at taking place at the seat
144 ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP= 48,
145 ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM = 49,
146 // TODO: itemlevel is mentioned in text but not present in dbc
147 ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT = 50,
148 ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT= 51,
149 ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS = 52,
150 ACHIEVEMENT_CRITERIA_TYPE_HK_RACE = 53,
151 ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE = 54,
152 ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE = 55,
153 // TODO: in some cases map not present, and in some cases need do without die
154 ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS = 56,
155 ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM = 57,
156 ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS = 59,
157 ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TALENTS = 60,
158 ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS = 61,
159 ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD = 62,
160 ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING = 63,
161 ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_AT_BARBER = 65,
162 ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_MAIL = 66,
163 ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY = 67,
164 ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT = 68,
165 ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2= 69,
166 ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL= 70,
167 ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT = 72,
168 // TODO: title id is not mentioned in dbc
169 ACHIEVEMENT_CRITERIA_TYPE_EARNED_PVP_TITLE = 74,
170 ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS= 75,
171 ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL = 76,
172 ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL = 77,
173 // TODO: creature type (demon, undead etc.) is not stored in dbc
174 ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE = 78,
175 ACHIEVEMENT_CRITERIA_TYPE_GOLD_EARNED_BY_AUCTIONS= 80,
176 ACHIEVEMENT_CRITERIA_TYPE_CREATE_AUCTION= 82,
177 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID= 83,
178 ACHIEVEMENT_CRITERIA_TYPE_WON_AUCTIONS= 84,
179 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_SOLD = 85,
180 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_GOLD_VALUE_OWNED = 86,
181 ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION = 87,
182 ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION = 88,
183 ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS = 89,
184 ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM = 90,
185 ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM = 91,
186 ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED = 93,
187 ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED = 94,
188 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALTH = 95,
189 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_POWER = 96,
190 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_STAT = 97,
191 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_SPELLPOWER = 98,
192 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_ARMOR = 99,
193 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_RATING = 100,
194 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_DEALT = 101,
195 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_RECEIVED = 102,
196 ACHIEVEMENT_CRITERIA_TYPE_TOTAL_DAMAGE_RECEIVED = 103,
197 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEAL_CASTED = 104,
198 ACHIEVEMENT_CRITERIA_TYPE_TOTAL_HEALING_RECEIVED = 105,
199 ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALING_RECEIVED = 106,
200 ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED = 107,
201 ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN = 108,
202 ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE = 109,
203 // TODO: target entry is missing
204 ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2 = 110,
205 ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE= 112,
206 ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL = 113,
207 ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS = 114,
208 ACHIEVEMENT_CRITERIA_TYPE_EARN_ACHIEVEMENT_POINTS = 115,
209 ACHIEVEMENT_CRITERIA_TYPE_USE_LFD_TO_GROUP_WITH_PLAYERS = 119,
210 // 0..119 => 120 criteria types total
211 ACHIEVEMENT_CRITERIA_TYPE_TOTAL = 120,
214 enum AreaFlags
216 AREA_FLAG_SNOW = 0x00000001, // snow (only Dun Morogh, Naxxramas, Razorfen Downs and Winterspring)
217 AREA_FLAG_UNK1 = 0x00000002, // may be necropolis?
218 AREA_FLAG_UNK2 = 0x00000004, // Only used for areas on map 571 (development before)
219 AREA_FLAG_SLAVE_CAPITAL = 0x00000008, // city and city subsones
220 AREA_FLAG_UNK3 = 0x00000010, // can't find common meaning
221 AREA_FLAG_SLAVE_CAPITAL2 = 0x00000020, // slave capital city flag?
222 AREA_FLAG_UNK4 = 0x00000040, // many zones have this flag
223 AREA_FLAG_ARENA = 0x00000080, // arena, both instanced and world arenas
224 AREA_FLAG_CAPITAL = 0x00000100, // main capital city flag
225 AREA_FLAG_CITY = 0x00000200, // only for one zone named "City" (where it located?)
226 AREA_FLAG_OUTLAND = 0x00000400, // expansion zones? (only Eye of the Storm not have this flag, but have 0x00004000 flag)
227 AREA_FLAG_SANCTUARY = 0x00000800, // sanctuary area (PvP disabled)
228 AREA_FLAG_NEED_FLY = 0x00001000, // only Netherwing Ledge, Socrethar's Seat, Tempest Keep, The Arcatraz, The Botanica, The Mechanar, Sorrow Wing Point, Dragonspine Ridge, Netherwing Mines, Dragonmaw Base Camp, Dragonmaw Skyway
229 AREA_FLAG_UNUSED1 = 0x00002000, // not used now (no area/zones with this flag set in 3.0.3)
230 AREA_FLAG_OUTLAND2 = 0x00004000, // expansion zones? (only Circle of Blood Arena not have this flag, but have 0x00000400 flag)
231 AREA_FLAG_PVP = 0x00008000, // pvp objective area? (Death's Door also has this flag although it's no pvp object area)
232 AREA_FLAG_ARENA_INSTANCE = 0x00010000, // used by instanced arenas only
233 AREA_FLAG_UNUSED2 = 0x00020000, // not used now (no area/zones with this flag set in 3.0.3)
234 AREA_FLAG_UNK5 = 0x00040000, // only used for Amani Pass, Hatchet Hills
235 AREA_FLAG_UNK6 = 0x00080000, // Valgarde and Acherus: The Ebon Hold
236 AREA_FLAG_LOWLEVEL = 0x00100000, // used for some starting areas with area_level <=15
237 AREA_FLAG_TOWN = 0x00200000, // small towns with Inn
238 AREA_FLAG_UNK7 = 0x00400000, // Warsong Hold, Acherus: The Ebon Hold, New Agamand Inn, Vengeance Landing Inn
239 AREA_FLAG_UNK8 = 0x00800000, // Westguard Inn, Acherus: The Ebon Hold, Valgarde
240 AREA_FLAG_OUTDOOR_PVP = 0x01000000, // Wintergrasp and it's subzones
241 AREA_FLAG_UNK9 = 0x02000000, // unknown
242 AREA_FLAG_UNK10 = 0x04000000, // unknown
243 AREA_FLAG_CAN_HEARTH_AND_RES = 0x08000000 // Wintergrasp and it's subzones
244 // 0x20000000 not flyable?
247 enum Difficulty
249 REGULAR_DIFFICULTY = 0,
251 DUNGEON_DIFFICULTY_NORMAL = 0,
252 DUNGEON_DIFFICULTY_HEROIC = 1,
254 RAID_DIFFICULTY_10MAN_NORMAL = 0,
255 RAID_DIFFICULTY_25MAN_NORMAL = 1,
256 RAID_DIFFICULTY_10MAN_HEROIC = 2,
257 RAID_DIFFICULTY_25MAN_HEROIC = 3,
260 #define MAX_DUNGEON_DIFFICULTY 2
261 #define MAX_RAID_DIFFICULTY 4
262 #define MAX_DIFFICULTY 4
264 enum SpawnMask
266 SPAWNMASK_REGULAR = (1 << REGULAR_DIFFICULTY),// any any maps without spawn modes (continents/subway) or in minimal spawnmode
268 SPAWNMASK_DUNGEON_NORMAL = (1 << DUNGEON_DIFFICULTY_NORMAL),
269 SPAWNMASK_DUNGEON_HEROIC = (1 << DUNGEON_DIFFICULTY_HEROIC),
270 SPAWNMASK_DUNGEON_ALL = (SPAWNMASK_DUNGEON_NORMAL | SPAWNMASK_DUNGEON_HEROIC),
272 SPAWNMASK_RAID_10MAN_NORMAL = (1 << RAID_DIFFICULTY_10MAN_NORMAL),
273 SPAWNMASK_RAID_25MAN_NORMAL = (1 << RAID_DIFFICULTY_25MAN_NORMAL),
274 SPAWNMASK_RAID_NORMAL_ALL = (SPAWNMASK_RAID_10MAN_NORMAL | SPAWNMASK_RAID_25MAN_NORMAL),
276 SPAWNMASK_RAID_10MAN_HEROIC = (1 << RAID_DIFFICULTY_10MAN_HEROIC),
277 SPAWNMASK_RAID_25MAN_HEROIC = (1 << RAID_DIFFICULTY_25MAN_HEROIC),
278 SPAWNMASK_RAID_HEROIC_ALL = (SPAWNMASK_RAID_10MAN_HEROIC | SPAWNMASK_RAID_25MAN_HEROIC),
280 SPAWNMASK_RAID_ALL = (SPAWNMASK_RAID_NORMAL_ALL | SPAWNMASK_RAID_HEROIC_ALL),
283 enum FactionTemplateFlags
285 FACTION_TEMPLATE_FLAG_PVP = 0x00000800, // flagged for PvP
286 FACTION_TEMPLATE_FLAG_CONTESTED_GUARD = 0x00001000, // faction will attack players that were involved in PvP combats
289 enum FactionMasks
291 FACTION_MASK_PLAYER = 1, // any player
292 FACTION_MASK_ALLIANCE = 2, // player or creature from alliance team
293 FACTION_MASK_HORDE = 4, // player or creature from horde team
294 FACTION_MASK_MONSTER = 8 // aggressive creature from monster team
295 // if none flags set then non-aggressive creature
298 enum MapTypes // Lua_IsInInstance
300 MAP_COMMON = 0, // none
301 MAP_INSTANCE = 1, // party
302 MAP_RAID = 2, // raid
303 MAP_BATTLEGROUND = 3, // pvp
304 MAP_ARENA = 4 // arena
307 enum AbilytyLearnType
309 ABILITY_LEARNED_ON_GET_PROFESSION_SKILL = 1,
310 ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL = 2
313 enum ItemEnchantmentType
315 ITEM_ENCHANTMENT_TYPE_NONE = 0,
316 ITEM_ENCHANTMENT_TYPE_COMBAT_SPELL = 1,
317 ITEM_ENCHANTMENT_TYPE_DAMAGE = 2,
318 ITEM_ENCHANTMENT_TYPE_EQUIP_SPELL = 3,
319 ITEM_ENCHANTMENT_TYPE_RESISTANCE = 4,
320 ITEM_ENCHANTMENT_TYPE_STAT = 5,
321 ITEM_ENCHANTMENT_TYPE_TOTEM = 6,
322 ITEM_ENCHANTMENT_TYPE_USE_SPELL = 7,
323 ITEM_ENCHANTMENT_TYPE_PRISMATIC_SOCKET = 8
326 enum ItemLimitCategoryMode
328 ITEM_LIMIT_CATEGORY_MODE_HAVE = 0, // limit applied to amount items in inventory/bank
329 ITEM_LIMIT_CATEGORY_MODE_EQUIP = 1, // limit applied to amount equipped items (including used gems)
332 // some used in code cases
333 enum ItemLimitCategory
335 ITEM_LIMIT_CATEGORY_MANA_GEM = 4,
338 enum TotemCategoryType
340 TOTEM_CATEGORY_TYPE_KNIFE = 1,
341 TOTEM_CATEGORY_TYPE_TOTEM = 2,
342 TOTEM_CATEGORY_TYPE_ROD = 3,
343 TOTEM_CATEGORY_TYPE_PICK = 21,
344 TOTEM_CATEGORY_TYPE_STONE = 22,
345 TOTEM_CATEGORY_TYPE_HAMMER = 23,
346 TOTEM_CATEGORY_TYPE_SPANNER = 24
349 // SummonProperties.dbc, col 1
350 enum SummonPropGroup
352 SUMMON_PROP_GROUP_WILD = 0,
353 SUMMON_PROP_GROUP_FRIENDLY = 1,
354 SUMMON_PROP_GROUP_PETS = 2,
355 SUMMON_PROP_GROUP_CONTROLLABLE = 3,
356 SUMMON_PROP_GROUP_VEHICLE = 4
359 // SummonProperties.dbc, col 3
360 enum SummonPropType
362 SUMMON_PROP_TYPE_OTHER = 0, // different summons, 1330 spells in 3.0.3
363 SUMMON_PROP_TYPE_SUMMON = 1, // generic summons, 49 spells in 3.0.3
364 SUMMON_PROP_TYPE_GUARDIAN = 2, // summon guardian, 393 spells in 3.0.3
365 SUMMON_PROP_TYPE_ARMY = 3, // summon army, 5 spells in 3.0.3
366 SUMMON_PROP_TYPE_TOTEM = 4, // summon totem, 169 spells in 3.0.3
367 SUMMON_PROP_TYPE_CRITTER = 5, // critter/minipet, 195 spells in 3.0.3
368 SUMMON_PROP_TYPE_DK = 6, // summon DRW/Ghoul, 2 spells in 3.0.3 "%s's Runeblade"
369 SUMMON_PROP_TYPE_CONSTRUCT = 7, // summon bot/bomb, 4 spells in 3.0.3 "%s's Construct"
370 SUMMON_PROP_TYPE_PHASING = 8, // something todo with DK prequest line, 2 spells in 3.0.3 "%s's Opponent"
371 SUMMON_PROP_TYPE_SIEGE_VEH = 9, // summon different vehicles, 14 spells in 3.0.3 "%s's Vehicle"
372 SUMMON_PROP_TYPE_DRAKE_VEH = 10, // summon drake (vehicle), 3 spells
373 SUMMON_PROP_TYPE_LIGHTWELL = 11, // summon lightwell, 6 spells in 3.0.3
374 SUMMON_PROP_TYPE_REPAIR_BOT = 12 // summon repir bot, 1 spells in 3.2.2a
377 // SummonProperties.dbc, col 5
378 enum SummonPropFlags
380 SUMMON_PROP_FLAG_NONE = 0x0000, // 1342 spells in 3.0.3
381 SUMMON_PROP_FLAG_UNK1 = 0x0001, // 75 spells in 3.0.3, something unfriendly
382 SUMMON_PROP_FLAG_UNK2 = 0x0002, // 616 spells in 3.0.3, something friendly
383 SUMMON_PROP_FLAG_UNK3 = 0x0004, // 22 spells in 3.0.3, no idea...
384 SUMMON_PROP_FLAG_UNK4 = 0x0008, // 49 spells in 3.0.3, some mounts
385 SUMMON_PROP_FLAG_UNK5 = 0x0010, // 25 spells in 3.0.3, quest related?
386 SUMMON_PROP_FLAG_CANT_BE_DISMISSED = 0x0020, // 0 spells in 3.0.3, unused
387 SUMMON_PROP_FLAG_UNK7 = 0x0040, // 12 spells in 3.0.3, no idea
388 SUMMON_PROP_FLAG_UNK8 = 0x0080, // 4 spells in 3.0.3, no idea
389 SUMMON_PROP_FLAG_UNK9 = 0x0100, // 51 spells in 3.0.3, no idea, many quest related
390 SUMMON_PROP_FLAG_UNK10 = 0x0200, // 51 spells in 3.0.3, something defensive
391 SUMMON_PROP_FLAG_UNK11 = 0x0400, // 3 spells, requires something near?
392 SUMMON_PROP_FLAG_UNK12 = 0x0800, // 30 spells in 3.0.3, no idea
393 SUMMON_PROP_FLAG_UNK13 = 0x1000, // 8 spells in 3.0.3, siege vehicle
394 SUMMON_PROP_FLAG_UNK14 = 0x2000, // 2 spells in 3.0.3, escort?
397 enum SpellEffectIndex
399 EFFECT_INDEX_0 = 0,
400 EFFECT_INDEX_1 = 1,
401 EFFECT_INDEX_2 = 2
404 #define MAX_EFFECT_INDEX 3
406 #endif