Fixed: Headless Horseman's Mount client crashes, Magic Broom client crashes, Big Love Rocket now works, Invincible now works, Blazing Hippogryph now works Fixes issue 2081. Fixes issue 1808. Fixes issue 2150. Fixes issue 2020. --HG-- branch : trunk
398 lines
20 KiB
C
398 lines
20 KiB
C
/*
|
|
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#ifndef DBCENUMS_H
|
|
#define DBCENUMS_H
|
|
|
|
// Client expected level limitation, like as used in DBC item max levels for "until max player level"
|
|
// use as default max player level, must be fit max level for used client
|
|
// also see MAX_LEVEL and STRONG_MAX_LEVEL define
|
|
#define DEFAULT_MAX_LEVEL 80
|
|
|
|
// client supported max level for player/pets/etc. Avoid overflow or client stability affected.
|
|
// also see GT_MAX_LEVEL define
|
|
#define MAX_LEVEL 100
|
|
|
|
// Server side limitation. Base at used code requirements.
|
|
// also see MAX_LEVEL and GT_MAX_LEVEL define
|
|
#define STRONG_MAX_LEVEL 255
|
|
|
|
enum BattleGroundBracketId // bracketId for level ranges
|
|
{
|
|
BG_BRACKET_ID_FIRST = 0,
|
|
BG_BRACKET_ID_LAST = 15
|
|
};
|
|
|
|
// must be max value in PvPDificulty slot+1
|
|
#define MAX_BATTLEGROUND_BRACKETS 16
|
|
|
|
enum AreaTeams
|
|
{
|
|
AREATEAM_NONE = 0,
|
|
AREATEAM_ALLY = 2,
|
|
AREATEAM_HORDE = 4
|
|
};
|
|
|
|
enum AchievementFaction
|
|
{
|
|
ACHIEVEMENT_FACTION_HORDE = 0,
|
|
ACHIEVEMENT_FACTION_ALLIANCE = 1,
|
|
ACHIEVEMENT_FACTION_ANY = -1,
|
|
};
|
|
|
|
enum AchievementFlags
|
|
{
|
|
ACHIEVEMENT_FLAG_COUNTER = 0x00000001, // Just count statistic (never stop and complete)
|
|
ACHIEVEMENT_FLAG_TRACKING = 0x00000002, // Not sent to client - internal use only
|
|
ACHIEVEMENT_FLAG_STORE_MAX_VALUE = 0x00000004, // Store only max value? used only in "Reach level xx"
|
|
ACHIEVEMENT_FLAG_SUMM = 0x00000008, // Use summ criteria value from all reqirements (and calculate max value)
|
|
ACHIEVEMENT_FLAG_MAX_USED = 0x00000010, // Show max criteria (and calculate max value ??)
|
|
ACHIEVEMENT_FLAG_REQ_COUNT = 0x00000020, // Use not zero req count (and calculate max value)
|
|
ACHIEVEMENT_FLAG_AVERAGE = 0x00000040, // Show as average value (value / time_in_days) depend from other flag (by def use last criteria value)
|
|
ACHIEVEMENT_FLAG_BAR = 0x00000080, // Show as progress bar (value / max vale) depend from other flag (by def use last criteria value)
|
|
ACHIEVEMENT_FLAG_REALM_FIRST_REACH = 0x00000100, //
|
|
ACHIEVEMENT_FLAG_REALM_FIRST_KILL = 0x00000200, //
|
|
};
|
|
|
|
enum AchievementCriteriaCondition
|
|
{
|
|
ACHIEVEMENT_CRITERIA_CONDITION_NONE = 0,
|
|
ACHIEVEMENT_CRITERIA_CONDITION_NO_DEATH = 1,
|
|
ACHIEVEMENT_CRITERIA_CONDITION_UNK1 = 2, // only used in "Complete a daily quest every day for five consecutive days"
|
|
ACHIEVEMENT_CRITERIA_CONDITION_MAP = 3, // requires you to be on specific map
|
|
ACHIEVEMENT_CRITERIA_CONDITION_NO_LOOSE = 4, // only used in "Win 10 arenas without losing"
|
|
ACHIEVEMENT_CRITERIA_CONDITION_UNK2 = 9, // unk
|
|
ACHIEVEMENT_CRITERIA_CONDITION_UNK3 = 13, // unk
|
|
};
|
|
|
|
enum AchievementCriteriaCompletionFlags
|
|
{
|
|
ACHIEVEMENT_CRITERIA_FLAG_SHOW_PROGRESS_BAR = 0x00000001, // Show progress as bar
|
|
ACHIEVEMENT_CRITERIA_FLAG_HIDE_CRITERIA = 0x00000002, // Not show criteria in client
|
|
ACHIEVEMENT_CRITERIA_FLAG_UNK3 = 0x00000004, // BG related??
|
|
ACHIEVEMENT_CRITERIA_FLAG_UNK4 = 0x00000008, //
|
|
ACHIEVEMENT_CRITERIA_FLAG_UNK5 = 0x00000010, // not used
|
|
ACHIEVEMENT_CRITERIA_FLAG_MONEY_COUNTER = 0x00000020, // Displays counter as money
|
|
};
|
|
|
|
enum AchievementCriteriaTimedTypes
|
|
{
|
|
ACHIEVEMENT_TIMED_TYPE_EVENT = 1, // Timer is started by internal event with id in timerStartEvent
|
|
ACHIEVEMENT_TIMED_TYPE_QUEST = 2, // Timer is started by acceting quest with entry in timerStartEvent
|
|
ACHIEVEMENT_TIMED_TYPE_SPELL_CASTER = 5, // Timer is started by casting a spell with entry in timerStartEvent
|
|
ACHIEVEMENT_TIMED_TYPE_SPELL_TARGET = 6, // Timer is started by being target of spell with entry in timerStartEvent
|
|
ACHIEVEMENT_TIMED_TYPE_CREATURE = 7, // Timer is started by killing creature with entry in timerStartEvent
|
|
ACHIEVEMENT_TIMED_TYPE_ITEM = 9, // Timer is started by using item with entry in timerStartEvent
|
|
|
|
ACHIEVEMENT_TIMED_TYPE_MAX,
|
|
};
|
|
|
|
enum AchievementCriteriaTypes
|
|
{
|
|
ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE = 0,
|
|
ACHIEVEMENT_CRITERIA_TYPE_WIN_BG = 1,
|
|
ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL = 5,
|
|
ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL = 7,
|
|
ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT = 8,
|
|
ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST_COUNT = 9,
|
|
// you have to complete a daily quest x times in a row
|
|
ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST_DAILY = 10,
|
|
ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE = 11,
|
|
ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE = 13,
|
|
ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST = 14,
|
|
ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND= 15,
|
|
ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP= 16,
|
|
ACHIEVEMENT_CRITERIA_TYPE_DEATH= 17,
|
|
ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON = 18,
|
|
ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_RAID = 19,
|
|
ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE = 20,
|
|
ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_PLAYER = 23,
|
|
ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING = 24,
|
|
ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM = 26,
|
|
ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST = 27,
|
|
ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET = 28,
|
|
ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL= 29,
|
|
ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE = 30,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA = 31,
|
|
ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA = 32,
|
|
ACHIEVEMENT_CRITERIA_TYPE_PLAY_ARENA = 33,
|
|
ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL = 34,
|
|
// TODO: this criteria has additional conditions which can not be found in the dbcs
|
|
ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL = 35,
|
|
ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM = 36,
|
|
// TODO: the archievements 1162 and 1163 requires a special rating which can't be found in the dbc
|
|
ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA = 37,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING = 38,
|
|
ACHIEVEMENT_CRITERIA_TYPE_REACH_TEAM_RATING = 39,
|
|
ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL = 40,
|
|
ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM = 41,
|
|
ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM= 42,
|
|
ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA = 43,
|
|
ACHIEVEMENT_CRITERIA_TYPE_OWN_RANK= 44,
|
|
ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT= 45,
|
|
ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION= 46,
|
|
ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION= 47,
|
|
// noted: rewarded as soon as the player payed, not at taking place at the seat
|
|
ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP= 48,
|
|
ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM = 49,
|
|
// TODO: itemlevel is mentioned in text but not present in dbc
|
|
ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT = 50,
|
|
ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT= 51,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS = 52,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HK_RACE = 53,
|
|
ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE = 54,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE = 55,
|
|
// TODO: in some cases map not present, and in some cases need do without die
|
|
ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS = 56,
|
|
ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM = 57,
|
|
ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS = 59,
|
|
ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TALENTS = 60,
|
|
ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS = 61,
|
|
ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD = 62,
|
|
ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING = 63,
|
|
ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_AT_BARBER = 65,
|
|
ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_MAIL = 66,
|
|
ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY = 67,
|
|
ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT = 68,
|
|
ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2= 69,
|
|
ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL= 70,
|
|
ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT = 72,
|
|
// TODO: title id is not mentioned in dbc
|
|
ACHIEVEMENT_CRITERIA_TYPE_EARNED_PVP_TITLE = 74,
|
|
ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS= 75,
|
|
ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL = 76,
|
|
ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL = 77,
|
|
// TODO: creature type (demon, undead etc.) is not stored in dbc
|
|
ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE = 78,
|
|
ACHIEVEMENT_CRITERIA_TYPE_GOLD_EARNED_BY_AUCTIONS= 80,
|
|
ACHIEVEMENT_CRITERIA_TYPE_CREATE_AUCTION= 82,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID= 83,
|
|
ACHIEVEMENT_CRITERIA_TYPE_WON_AUCTIONS= 84,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_SOLD = 85,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_GOLD_VALUE_OWNED = 86,
|
|
ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION = 87,
|
|
ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION = 88,
|
|
ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS = 89,
|
|
ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM = 90,
|
|
ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM = 91,
|
|
ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED = 93,
|
|
ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED = 94,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALTH = 95,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_POWER = 96,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_STAT = 97,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_SPELLPOWER = 98,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_ARMOR = 99,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_RATING = 100,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_DEALT = 101,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_RECEIVED = 102,
|
|
ACHIEVEMENT_CRITERIA_TYPE_TOTAL_DAMAGE_RECEIVED = 103,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEAL_CASTED = 104,
|
|
ACHIEVEMENT_CRITERIA_TYPE_TOTAL_HEALING_RECEIVED = 105,
|
|
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALING_RECEIVED = 106,
|
|
ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED = 107,
|
|
ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN = 108,
|
|
ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE = 109,
|
|
// TODO: target entry is missing
|
|
ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2 = 110,
|
|
ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE= 112,
|
|
ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL = 113,
|
|
ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS = 114,
|
|
// 0..115 => 116 criteria types total
|
|
ACHIEVEMENT_CRITERIA_TYPE_EARN_ACHIEVEMENT_POINTS = 115,
|
|
ACHIEVEMENT_CRITERIA_TYPE_USE_LFD_TO_GROUP_WITH_PLAYERS = 119,
|
|
// 120
|
|
// 121
|
|
// 122
|
|
// 123
|
|
// 0..123 => 124 criteria types total
|
|
ACHIEVEMENT_CRITERIA_TYPE_TOTAL = 124,
|
|
};
|
|
|
|
enum AreaFlags
|
|
{
|
|
AREA_FLAG_SNOW = 0x00000001, // snow (only Dun Morogh, Naxxramas, Razorfen Downs and Winterspring)
|
|
AREA_FLAG_UNK1 = 0x00000002, // may be necropolis?
|
|
AREA_FLAG_UNK2 = 0x00000004, // Only used for areas on map 571 (development before)
|
|
AREA_FLAG_SLAVE_CAPITAL = 0x00000008, // city and city subsones
|
|
AREA_FLAG_UNK3 = 0x00000010, // can't find common meaning
|
|
AREA_FLAG_SLAVE_CAPITAL2 = 0x00000020, // slave capital city flag?
|
|
AREA_FLAG_UNK4 = 0x00000040, // many zones have this flag
|
|
AREA_FLAG_ARENA = 0x00000080, // arena, both instanced and world arenas
|
|
AREA_FLAG_CAPITAL = 0x00000100, // main capital city flag
|
|
AREA_FLAG_CITY = 0x00000200, // only for one zone named "City" (where it located?)
|
|
AREA_FLAG_OUTLAND = 0x00000400, // expansion zones? (only Eye of the Storm not have this flag, but have 0x00004000 flag)
|
|
AREA_FLAG_SANCTUARY = 0x00000800, // sanctuary area (PvP disabled)
|
|
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
|
|
AREA_FLAG_UNUSED1 = 0x00002000, // not used now (no area/zones with this flag set in 3.0.3)
|
|
AREA_FLAG_OUTLAND2 = 0x00004000, // expansion zones? (only Circle of Blood Arena not have this flag, but have 0x00000400 flag)
|
|
AREA_FLAG_PVP = 0x00008000, // pvp objective area? (Death's Door also has this flag although it's no pvp object area)
|
|
AREA_FLAG_ARENA_INSTANCE = 0x00010000, // used by instanced arenas only
|
|
AREA_FLAG_UNUSED2 = 0x00020000, // not used now (no area/zones with this flag set in 3.0.3)
|
|
AREA_FLAG_UNK5 = 0x00040000, // only used for Amani Pass, Hatchet Hills
|
|
AREA_FLAG_UNK6 = 0x00080000, // Valgarde and Acherus: The Ebon Hold
|
|
AREA_FLAG_LOWLEVEL = 0x00100000, // used for some starting areas with area_level <= 15
|
|
AREA_FLAG_TOWN = 0x00200000, // small towns with Inn
|
|
AREA_FLAG_UNK7 = 0x00400000, // Warsong Hold, Acherus: The Ebon Hold, New Agamand Inn, Vengeance Landing Inn
|
|
AREA_FLAG_UNK8 = 0x00800000, // Westguard Inn, Acherus: The Ebon Hold, Valgarde
|
|
AREA_FLAG_OUTDOOR_PVP = 0x01000000, // Wintergrasp and it's subzones
|
|
AREA_FLAG_UNK9 = 0x02000000, // unknown
|
|
AREA_FLAG_UNK10 = 0x04000000, // unknown
|
|
AREA_FLAG_OUTDOOR_PVP2 = 0x08000000, // Wintergrasp and it's subzones
|
|
AREA_FLAG_NO_FLY_ZONE = 0x20000000 // Marks zones where you cannot fly
|
|
};
|
|
|
|
enum Difficulty
|
|
{
|
|
REGULAR_DIFFICULTY = 0,
|
|
|
|
DUNGEON_DIFFICULTY_NORMAL = 0,
|
|
DUNGEON_DIFFICULTY_HEROIC = 1,
|
|
DUNGEON_DIFFICULTY_EPIC = 2,
|
|
|
|
RAID_DIFFICULTY_10MAN_NORMAL = 0,
|
|
RAID_DIFFICULTY_25MAN_NORMAL = 1,
|
|
RAID_DIFFICULTY_10MAN_HEROIC = 2,
|
|
RAID_DIFFICULTY_25MAN_HEROIC = 3,
|
|
};
|
|
|
|
#define MAX_DUNGEON_DIFFICULTY 3
|
|
#define MAX_RAID_DIFFICULTY 4
|
|
#define MAX_DIFFICULTY 4
|
|
|
|
enum SpawnMask
|
|
{
|
|
SPAWNMASK_CONTINENT = (1 << REGULAR_DIFFICULTY),// any any maps without spawn modes
|
|
|
|
SPAWNMASK_DUNGEON_NORMAL = (1 << DUNGEON_DIFFICULTY_NORMAL),
|
|
SPAWNMASK_DUNGEON_HEROIC = (1 << DUNGEON_DIFFICULTY_HEROIC),
|
|
SPAWNMASK_DUNGEON_ALL = (SPAWNMASK_DUNGEON_NORMAL | SPAWNMASK_DUNGEON_HEROIC),
|
|
|
|
SPAWNMASK_RAID_10MAN_NORMAL = (1 << RAID_DIFFICULTY_10MAN_NORMAL),
|
|
SPAWNMASK_RAID_25MAN_NORMAL = (1 << RAID_DIFFICULTY_25MAN_NORMAL),
|
|
SPAWNMASK_RAID_NORMAL_ALL = (SPAWNMASK_RAID_10MAN_NORMAL | SPAWNMASK_RAID_25MAN_NORMAL),
|
|
|
|
SPAWNMASK_RAID_10MAN_HEROIC = (1 << RAID_DIFFICULTY_10MAN_HEROIC),
|
|
SPAWNMASK_RAID_25MAN_HEROIC = (1 << RAID_DIFFICULTY_25MAN_HEROIC),
|
|
SPAWNMASK_RAID_HEROIC_ALL = (SPAWNMASK_RAID_10MAN_HEROIC | SPAWNMASK_RAID_25MAN_HEROIC),
|
|
|
|
SPAWNMASK_RAID_ALL = (SPAWNMASK_RAID_NORMAL_ALL | SPAWNMASK_RAID_HEROIC_ALL),
|
|
};
|
|
|
|
enum FactionTemplateFlags
|
|
{
|
|
FACTION_TEMPLATE_FLAG_PVP = 0x00000800, // flagged for PvP
|
|
FACTION_TEMPLATE_FLAG_CONTESTED_GUARD = 0x00001000, // faction will attack players that were involved in PvP combats
|
|
};
|
|
|
|
enum FactionMasks
|
|
{
|
|
FACTION_MASK_PLAYER = 1, // any player
|
|
FACTION_MASK_ALLIANCE = 2, // player or creature from alliance team
|
|
FACTION_MASK_HORDE = 4, // player or creature from horde team
|
|
FACTION_MASK_MONSTER = 8 // aggressive creature from monster team
|
|
// if none flags set then non-aggressive creature
|
|
};
|
|
|
|
enum MapTypes // Lua_IsInInstance
|
|
{
|
|
MAP_COMMON = 0, // none
|
|
MAP_INSTANCE = 1, // party
|
|
MAP_RAID = 2, // raid
|
|
MAP_BATTLEGROUND = 3, // pvp
|
|
MAP_ARENA = 4 // arena
|
|
};
|
|
|
|
enum AbilytyLearnType
|
|
{
|
|
ABILITY_LEARNED_ON_GET_PROFESSION_SKILL = 1,
|
|
ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL = 2
|
|
};
|
|
|
|
enum ItemEnchantmentType
|
|
{
|
|
ITEM_ENCHANTMENT_TYPE_NONE = 0,
|
|
ITEM_ENCHANTMENT_TYPE_COMBAT_SPELL = 1,
|
|
ITEM_ENCHANTMENT_TYPE_DAMAGE = 2,
|
|
ITEM_ENCHANTMENT_TYPE_EQUIP_SPELL = 3,
|
|
ITEM_ENCHANTMENT_TYPE_RESISTANCE = 4,
|
|
ITEM_ENCHANTMENT_TYPE_STAT = 5,
|
|
ITEM_ENCHANTMENT_TYPE_TOTEM = 6,
|
|
ITEM_ENCHANTMENT_TYPE_USE_SPELL = 7,
|
|
ITEM_ENCHANTMENT_TYPE_PRISMATIC_SOCKET = 8
|
|
};
|
|
|
|
enum TotemCategoryType
|
|
{
|
|
TOTEM_CATEGORY_TYPE_KNIFE = 1,
|
|
TOTEM_CATEGORY_TYPE_TOTEM = 2,
|
|
TOTEM_CATEGORY_TYPE_ROD = 3,
|
|
TOTEM_CATEGORY_TYPE_PICK = 21,
|
|
TOTEM_CATEGORY_TYPE_STONE = 22,
|
|
TOTEM_CATEGORY_TYPE_HAMMER = 23,
|
|
TOTEM_CATEGORY_TYPE_SPANNER = 24
|
|
};
|
|
|
|
// SummonProperties.dbc, col 1
|
|
enum SummonPropGroup
|
|
{
|
|
SUMMON_PROP_GROUP_UNKNOWN1 = 0, // 1160 spells in 3.0.3
|
|
SUMMON_PROP_GROUP_UNKNOWN2 = 1, // 861 spells in 3.0.3
|
|
SUMMON_PROP_GROUP_PETS = 2, // 52 spells in 3.0.3, pets mostly
|
|
SUMMON_PROP_GROUP_CONTROLLABLE = 3, // 13 spells in 3.0.3, mostly controllable
|
|
SUMMON_PROP_GROUP_UNKNOWN3 = 4 // 86 spells in 3.0.3, taxi/mounts
|
|
};
|
|
|
|
// SummonProperties.dbc, col 3
|
|
enum SummonPropType
|
|
{
|
|
SUMMON_PROP_TYPE_UNKNOWN = 0, // different summons, 1330 spells in 3.0.3
|
|
SUMMON_PROP_TYPE_SUMMON = 1, // generic summons, 49 spells in 3.0.3
|
|
SUMMON_PROP_TYPE_GUARDIAN = 2, // summon guardian, 393 spells in 3.0.3
|
|
SUMMON_PROP_TYPE_ARMY = 3, // summon army, 5 spells in 3.0.3
|
|
SUMMON_PROP_TYPE_TOTEM = 4, // summon totem, 169 spells in 3.0.3
|
|
SUMMON_PROP_TYPE_CRITTER = 5, // critter/minipet, 195 spells in 3.0.3
|
|
SUMMON_PROP_TYPE_DK = 6, // summon DRW/Ghoul, 2 spells in 3.0.3
|
|
SUMMON_PROP_TYPE_BOMB = 7, // summon bot/bomb, 4 spells in 3.0.3
|
|
SUMMON_PROP_TYPE_PHASING = 8, // something todo with DK prequest line, 2 spells in 3.0.3
|
|
SUMMON_PROP_TYPE_SIEGE_VEH = 9, // summon different vehicles, 14 spells in 3.0.3
|
|
SUMMON_PROP_TYPE_DRAKE_VEH = 10, // summon drake (vehicle), 3 spells
|
|
SUMMON_PROP_TYPE_LIGHTWELL = 11 // summon lightwell, 6 spells in 3.0.3
|
|
};
|
|
|
|
// SummonProperties.dbc, col 5
|
|
enum SummonPropFlags
|
|
{
|
|
SUMMON_PROP_FLAG_NONE = 0x0000, // 1342 spells in 3.0.3
|
|
SUMMON_PROP_FLAG_UNK1 = 0x0001, // 75 spells in 3.0.3, something unfriendly
|
|
SUMMON_PROP_FLAG_UNK2 = 0x0002, // 616 spells in 3.0.3, something friendly
|
|
SUMMON_PROP_FLAG_UNK3 = 0x0004, // 22 spells in 3.0.3, no idea...
|
|
SUMMON_PROP_FLAG_UNK4 = 0x0008, // 49 spells in 3.0.3, some mounts
|
|
SUMMON_PROP_FLAG_UNK5 = 0x0010, // 25 spells in 3.0.3, quest related?
|
|
SUMMON_PROP_FLAG_UNK6 = 0x0020, // 0 spells in 3.0.3, unused
|
|
SUMMON_PROP_FLAG_UNK7 = 0x0040, // 12 spells in 3.0.3, no idea
|
|
SUMMON_PROP_FLAG_UNK8 = 0x0080, // 4 spells in 3.0.3, no idea
|
|
SUMMON_PROP_FLAG_UNK9 = 0x0100, // 51 spells in 3.0.3, no idea, many quest related
|
|
SUMMON_PROP_FLAG_UNK10 = 0x0200, // 51 spells in 3.0.3, something defensive
|
|
SUMMON_PROP_FLAG_UNK11 = 0x0400, // 3 spells, requires something near?
|
|
SUMMON_PROP_FLAG_UNK12 = 0x0800, // 30 spells in 3.0.3, no idea
|
|
SUMMON_PROP_FLAG_UNK13 = 0x1000, // 8 spells in 3.0.3, siege vehicle
|
|
SUMMON_PROP_FLAG_UNK14 = 0x2000, // 2 spells in 3.0.3, escort?
|
|
};
|
|
|
|
#endif
|