diff options
author | maximius <none@none> | 2009-10-17 15:51:44 -0700 |
---|---|---|
committer | maximius <none@none> | 2009-10-17 15:51:44 -0700 |
commit | e585187b248f48b3c6e9247b49fa07c6565d65e5 (patch) | |
tree | 637c5b7ddacf41040bef4ea4f75a97da64c6a9bc /src/game/SharedDefines.h | |
parent | 26b5e033ffde3d161382fc9addbfa99738379641 (diff) |
*Backed out changeset 3be01fb200a5
--HG--
branch : trunk
Diffstat (limited to 'src/game/SharedDefines.h')
-rw-r--r-- | src/game/SharedDefines.h | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h index 3fbb97e5a82..0ccab173166 100644 --- a/src/game/SharedDefines.h +++ b/src/game/SharedDefines.h @@ -17,16 +17,20 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + #ifndef TRINITY_SHAREDDEFINES_H #define TRINITY_SHAREDDEFINES_H + #include "Platform/Define.h" #include <cassert> + enum Gender { GENDER_MALE = 0, GENDER_FEMALE = 1, GENDER_NONE = 2 }; + // Race value is index in ChrRaces.dbc enum Races { @@ -52,13 +56,16 @@ enum Races //RACE_NORTHREND_SKELETON = 20, //RACE_ICE_TROLL = 21 }; + // max+1 for player race #define MAX_RACES 12 + #define RACEMASK_ALL_PLAYABLE \ ((1<<(RACE_HUMAN-1)) |(1<<(RACE_ORC-1)) |(1<<(RACE_DWARF-1)) | \ (1<<(RACE_NIGHTELF-1))|(1<<(RACE_UNDEAD_PLAYER-1))|(1<<(RACE_TAUREN-1)) | \ (1<<(RACE_GNOME-1)) |(1<<(RACE_TROLL-1)) |(1<<(RACE_BLOODELF-1))| \ (1<<(RACE_DRAENEI-1)) ) + // Class value is index in ChrClasses.dbc enum Classes { @@ -74,16 +81,22 @@ enum Classes // CLASS_UNK2 = 10,unused CLASS_DRUID = 11, }; + // max+1 for player class #define MAX_CLASSES 12 + #define CLASSMASK_ALL_PLAYABLE \ ((1<<(CLASS_WARRIOR-1))|(1<<(CLASS_PALADIN-1))|(1<<(CLASS_HUNTER-1))| \ (1<<(CLASS_ROGUE-1)) |(1<<(CLASS_PRIEST-1)) |(1<<(CLASS_SHAMAN-1))| \ (1<<(CLASS_MAGE-1)) |(1<<(CLASS_WARLOCK-1))|(1<<(CLASS_DRUID-1)) | \ (1<<(CLASS_DEATH_KNIGHT-1)) ) + #define CLASSMASK_ALL_CREATURES ((1<<(CLASS_WARRIOR-1)) | (1<<(CLASS_PALADIN-1)) | (1<<(CLASS_ROGUE-1)) | (1<<(CLASS_MAGE-1)) ) + #define CLASSMASK_WAND_USERS ((1<<(CLASS_PRIEST-1))|(1<<(CLASS_MAGE-1))|(1<<(CLASS_WARLOCK-1))) + #define PLAYER_MAX_BATTLEGROUND_QUEUES 3 + enum ReputationRank { REP_HATED = 0, @@ -95,14 +108,17 @@ enum ReputationRank REP_REVERED = 6, REP_EXALTED = 7 }; + #define MIN_REPUTATION_RANK (REP_HATED) #define MAX_REPUTATION_RANK 8 + enum MoneyConstants { COPPER = 1, SILVER = COPPER*100, GOLD = SILVER*100 }; + enum Stats { STAT_STRENGTH = 0, @@ -111,7 +127,9 @@ enum Stats STAT_INTELLECT = 3, STAT_SPIRIT = 4 }; + #define MAX_STATS 5 + enum Powers { POWER_MANA = 0, @@ -125,6 +143,7 @@ enum Powers POWER_ALL = 127, // default for class? POWER_HEALTH = 0xFFFFFFFE // (-2 as signed value) }; + enum SpellSchools { SPELL_SCHOOL_NORMAL = 0, @@ -135,7 +154,9 @@ enum SpellSchools SPELL_SCHOOL_SHADOW = 5, SPELL_SCHOOL_ARCANE = 6 }; + #define MAX_SPELL_SCHOOL 7 + enum SpellSchoolMask { SPELL_SCHOOL_MASK_NONE = 0x00, // not exist @@ -146,23 +167,29 @@ enum SpellSchoolMask SPELL_SCHOOL_MASK_FROST = (1 << SPELL_SCHOOL_FROST ), SPELL_SCHOOL_MASK_SHADOW = (1 << SPELL_SCHOOL_SHADOW), SPELL_SCHOOL_MASK_ARCANE = (1 << SPELL_SCHOOL_ARCANE), + // unions + // 124, not include normal and holy damage SPELL_SCHOOL_MASK_SPELL = ( SPELL_SCHOOL_MASK_FIRE | SPELL_SCHOOL_MASK_NATURE | SPELL_SCHOOL_MASK_FROST | SPELL_SCHOOL_MASK_SHADOW | SPELL_SCHOOL_MASK_ARCANE ), // 126 SPELL_SCHOOL_MASK_MAGIC = ( SPELL_SCHOOL_MASK_HOLY | SPELL_SCHOOL_MASK_SPELL ), + // 127 SPELL_SCHOOL_MASK_ALL = ( SPELL_SCHOOL_MASK_NORMAL | SPELL_SCHOOL_MASK_MAGIC ) }; + inline SpellSchools GetFirstSchoolInMask(SpellSchoolMask mask) { for(int i = 0; i < MAX_SPELL_SCHOOL; ++i) if(mask & (1 << i)) return SpellSchools(i); + return SPELL_SCHOOL_NORMAL; } + enum ItemQualities { ITEM_QUALITY_POOR = 0, //GREY @@ -174,12 +201,15 @@ enum ItemQualities ITEM_QUALITY_ARTIFACT = 6, //LIGHT YELLOW ITEM_QUALITY_HEIRLOOM = 7 }; + #define MAX_ITEM_QUALITY 8 + enum SpellCategory { SPELL_CATEGORY_FOOD = 11, SPELL_CATEGORY_DRINK = 59, }; + const uint32 ItemQualityColors[MAX_ITEM_QUALITY] = { 0xff9d9d9d, //GREY 0xffffffff, //WHITE @@ -191,9 +221,11 @@ const uint32 ItemQualityColors[MAX_ITEM_QUALITY] = { 0xffe6cc80 //LIGHT YELLOW }; + // *********************************** // Spell Attributes definitions // *********************************** + #define SPELL_ATTR_UNK0 0x00000001 // 0 #define SPELL_ATTR_REQ_AMMO 0x00000002 // 1 #define SPELL_ATTR_ON_NEXT_SWING 0x00000004 // 2 on next swing @@ -226,6 +258,7 @@ const uint32 ItemQualityColors[MAX_ITEM_QUALITY] = { #define SPELL_ATTR_UNAFFECTED_BY_INVULNERABILITY 0x20000000 // 29 unaffected by invulnerability (hmm possible not...) #define SPELL_ATTR_BREAKABLE_BY_DAMAGE 0x40000000 // 30 #define SPELL_ATTR_CANT_CANCEL 0x80000000 // 31 positive aura can't be canceled + #define SPELL_ATTR_EX_DISMISS_PET 0x00000001 // 0 dismiss pet and not allow to summon new one? #define SPELL_ATTR_EX_DRAIN_ALL_POWER 0x00000002 // 1 use all power (Only paladin Lay of Hands and Bunyanize) #define SPELL_ATTR_EX_CHANNELED_1 0x00000004 // 2 channeled target @@ -258,6 +291,7 @@ const uint32 ItemQualityColors[MAX_ITEM_QUALITY] = { #define SPELL_ATTR_EX_UNK29 0x20000000 // 29 #define SPELL_ATTR_EX_UNK30 0x40000000 // 30 overpower #define SPELL_ATTR_EX_UNK31 0x80000000 // 31 + #define SPELL_ATTR_EX2_UNK0 0x00000001 // 0 #define SPELL_ATTR_EX2_UNK1 0x00000002 // 1 ? many triggered spells have this flag #define SPELL_ATTR_EX2_CANT_REFLECTED 0x00000004 // 2 ? used for detect can or not spell reflected @@ -290,6 +324,7 @@ const uint32 ItemQualityColors[MAX_ITEM_QUALITY] = { #define SPELL_ATTR_EX2_CANT_CRIT 0x20000000 // 29 Spell can't crit #define SPELL_ATTR_EX2_TRIGGERED_CAN_TRIGGER 0x40000000 // 30 spell can trigger even if triggered #define SPELL_ATTR_EX2_FOOD_BUFF 0x80000000 // 31 Food or Drink Buff (like Well Fed) + #define SPELL_ATTR_EX3_UNK0 0x00000001 // 0 #define SPELL_ATTR_EX3_UNK1 0x00000002 // 1 #define SPELL_ATTR_EX3_UNK2 0x00000004 // 2 @@ -322,6 +357,7 @@ const uint32 ItemQualityColors[MAX_ITEM_QUALITY] = { #define SPELL_ATTR_EX3_UNK29 0x20000000 // 29 #define SPELL_ATTR_EX3_UNK30 0x40000000 // 30 #define SPELL_ATTR_EX3_UNK31 0x80000000 // 31 + #define SPELL_ATTR_EX4_UNK0 0x00000001 // 0 #define SPELL_ATTR_EX4_UNK1 0x00000002 // 1 proc on finishing move? #define SPELL_ATTR_EX4_UNK2 0x00000004 // 2 @@ -354,6 +390,7 @@ const uint32 ItemQualityColors[MAX_ITEM_QUALITY] = { #define SPELL_ATTR_EX4_UNK29 0x20000000 // 29 #define SPELL_ATTR_EX4_UNK30 0x40000000 // 30 #define SPELL_ATTR_EX4_UNK31 0x80000000 // 31 + #define SPELL_ATTR_EX5_UNK0 0x00000001 // 0 #define SPELL_ATTR_EX5_NO_REAGENT_WHILE_PREP 0x00000002 // 1 not need reagents if UNIT_FLAG_PREPARATION #define SPELL_ATTR_EX5_UNK2 0x00000004 // 2 @@ -386,6 +423,7 @@ const uint32 ItemQualityColors[MAX_ITEM_QUALITY] = { #define SPELL_ATTR_EX5_UNK29 0x20000000 // 29 #define SPELL_ATTR_EX5_UNK30 0x40000000 // 30 #define SPELL_ATTR_EX5_UNK31 0x80000000 // 31 Forces all nearby enemies to focus attacks caster + #define SPELL_ATTR_EX6_UNK0 0x00000001 // 0 Only Move spell have this flag #define SPELL_ATTR_EX6_ONLY_IN_ARENA 0x00000002 // 1 only usable in arena #define SPELL_ATTR_EX6_IGNORE_CASTER_AURAS 0x00000004 // 2 @@ -418,11 +456,13 @@ const uint32 ItemQualityColors[MAX_ITEM_QUALITY] = { #define SPELL_ATTR_EX6_UNK29 0x20000000 // 29 not set in 3.0.3 #define SPELL_ATTR_EX6_UNK30 0x40000000 // 30 not set in 3.0.3 #define SPELL_ATTR_EX6_UNK31 0x80000000 // 31 not set in 3.0.3 + #define MIN_TALENT_SPEC 0 #define MAX_TALENT_SPEC 1 #define MIN_TALENT_SPECS 1 #define MAX_TALENT_SPECS 2 #define MAX_GLYPH_SLOT_INDEX 6 + // Custom values enum SpellClickUserTypes { @@ -432,9 +472,11 @@ enum SpellClickUserTypes SPELL_CLICK_USER_PARTY = 3, SPELL_CLICK_USER_MAX = 4 }; + #define NPC_CLICK_CAST_CASTER_PLAYER 0x01 #define NPC_CLICK_CAST_TARGET_PLAYER 0x02 #define NPC_CLICK_CAST_ORIG_CASTER_OWNER 0x04 + enum SheathTypes { SHEATHETYPE_NONE = 0, @@ -446,7 +488,9 @@ enum SheathTypes SHEATHETYPE_HIPWEAPONRIGHT = 6, SHEATHETYPE_SHIELD = 7 }; + #define MAX_SHEATHETYPE 8 + enum CharacterSlot { SLOT_HEAD = 0, @@ -470,6 +514,7 @@ enum CharacterSlot SLOT_TABARD = 18, SLOT_EMPTY = 19 }; + enum Language { LANG_UNIVERSAL = 0, @@ -492,13 +537,16 @@ enum Language LANG_GOBLIN_BINARY = 38, LANG_ADDON = 0xFFFFFFFF // used by addons, in 2.4.0 not exit, replaced by messagetype? }; + #define LANGUAGES_COUNT 19 + enum TeamId { TEAM_ALLIANCE = 0, TEAM_HORDE, TEAM_NEUTRAL, }; + enum Team { HORDE = 67, @@ -510,7 +558,9 @@ enum Team //TEAM_OUTLAND = 980, TEAM_OTHER = 0, // if ReputationListId > 0 && Flags != FACTION_FLAG_TEAM_HEADER }; + const Team TeamId2Team[3] = {ALLIANCE, HORDE, TEAM_OTHER}; + enum SpellEffects { SPELL_EFFECT_INSTAKILL = 1, @@ -677,6 +727,7 @@ enum SpellEffects SPELL_EFFECT_TALENT_SPEC_SELECT = 162, TOTAL_SPELL_EFFECTS = 163 }; + enum SpellCastResult { SPELL_FAILED_AFFECTING_COMBAT = 0x00, @@ -865,8 +916,10 @@ enum SpellCastResult SPELL_FAILED_MAX_SOCKETS = 0xB7, SPELL_FAILED_PET_CAN_RENAME = 0xB8, SPELL_FAILED_UNKNOWN = 0xB9, + SPELL_CAST_OK = 0xFF // custom value, don't must be send to client }; + // Spell aura states enum AuraState { // (C) used in caster aura state (T) used in target aura state @@ -898,8 +951,10 @@ enum AuraState //AURA_STATE_UNKNOWN22 = 22, // C | not implemented yet (Requires Evasive Charges to use) AURA_STATE_HEALTH_ABOVE_75_PERCENT = 23, // C | }; + #define PER_CASTER_AURA_STATE_MASK ( \ (1<<(AURA_STATE_CONFLAGRATE-1))|(1<<(AURA_STATE_DEADLY_POISON-1))) + // Spell mechanics enum Mechanics { @@ -936,6 +991,7 @@ enum Mechanics MECHANIC_SAPPED = 30, MECHANIC_ENRAGED = 31 }; + // Used for spell 42292 Immune Movement Impairment and Loss of Control (0x49967da6) #define IMMUNE_TO_MOVEMENT_IMPAIRMENT_AND_LOSS_CONTROL_MASK ( \ (1<<MECHANIC_CHARM )|(1<<MECHANIC_DISORIENTED )|(1<<MECHANIC_FEAR )| \ @@ -944,11 +1000,13 @@ enum Mechanics (1<<MECHANIC_KNOCKOUT)|(1<<MECHANIC_POLYMORPH)|(1<<MECHANIC_BANISH)| \ (1<<MECHANIC_SHACKLE )|(1<<MECHANIC_TURN )|(1<<MECHANIC_HORROR)| \ (1<<MECHANIC_DAZE )|(1<<MECHANIC_SAPPED ) ) + // Daze and all croud control spells except polymorph are not removed #define MECHANIC_NOT_REMOVED_BY_SHAPESHIFT ( \ (1<<MECHANIC_CHARM )|(1<<MECHANIC_DISORIENTED)|(1<<MECHANIC_FEAR )|(1<<MECHANIC_PACIFY )| \ (1<<MECHANIC_STUN )|(1<<MECHANIC_FREEZE )|(1<<MECHANIC_BANISH)|(1<<MECHANIC_SHACKLE)| \ (1<<MECHANIC_HORROR)|(1<<MECHANIC_TURN )|(1<<MECHANIC_DAZE )|(1<<MECHANIC_SAPPED ) ) + // Spell dispell type enum DispelType { @@ -965,7 +1023,9 @@ enum DispelType DISPEL_ZG_TICKET = 10, DESPEL_OLD_UNUSED = 11 }; + #define DISPEL_ALL_MASK ( (1<<DISPEL_MAGIC) | (1<<DISPEL_CURSE) | (1<<DISPEL_DISEASE) | (1<<DISPEL_POISON) ) + //To all Immune system,if target has immunes, //some spell that related to ImmuneToDispel or ImmuneToSchool or ImmuneToDamage type can't cast to it, //some spell_effects that related to ImmuneToEffect<effect>(only this effect in the spell) can't cast to it, @@ -980,7 +1040,9 @@ enum SpellImmunity IMMUNITY_MECHANIC = 5, // enum Mechanics IMMUNITY_ID = 6 }; + #define MAX_SPELL_IMMUNITY 7 + enum Targets { TARGET_UNIT_CASTER = 1, @@ -1080,7 +1142,9 @@ enum Targets TARGET_UNIT_PASSENGER = 97, TARGET_UNIT_AREA_PATH = 104, }; + #define TOTAL_SPELL_TARGETS 105 + enum SpellMissInfo { SPELL_MISS_NONE = 0, @@ -1096,6 +1160,7 @@ enum SpellMissInfo SPELL_MISS_ABSORB = 10, SPELL_MISS_REFLECT = 11 }; + enum SpellHitType { SPELL_HIT_TYPE_UNK1 = 0x00001, @@ -1105,6 +1170,7 @@ enum SpellHitType SPELL_HIT_TYPE_UNK5 = 0x00010, // replace caster? SPELL_HIT_TYPE_UNK6 = 0x00020 }; + enum SpellDmgClass { SPELL_DAMAGE_CLASS_NONE = 0, @@ -1112,12 +1178,14 @@ enum SpellDmgClass SPELL_DAMAGE_CLASS_MELEE = 2, SPELL_DAMAGE_CLASS_RANGED = 3 }; + enum SpellPreventionType { SPELL_PREVENTION_TYPE_NONE = 0, SPELL_PREVENTION_TYPE_SILENCE = 1, SPELL_PREVENTION_TYPE_PACIFY = 2 }; + enum GameobjectTypes { GAMEOBJECT_TYPE_DOOR = 0, @@ -1157,8 +1225,11 @@ enum GameobjectTypes GAMEOBJECT_TYPE_GUILD_BANK = 34, GAMEOBJECT_TYPE_TRAPDOOR = 35 }; + #define MAX_GAMEOBJECT_TYPE 36 // sending to client this or greater value can crash client. + #define GAMEOBJECT_FISHINGNODE_ENTRY 35591 // Better to define it somewhere instead of hardcoding everywhere + enum GameObjectFlags { GO_FLAG_IN_USE = 0x00000001, //disables interaction while animated @@ -1171,6 +1242,7 @@ enum GameObjectFlags GO_FLAG_DAMAGED = 0x00000200, GO_FLAG_DESTROYED = 0x00000400, }; + enum TextEmotes { TEXTEMOTE_AGREE = 1, @@ -1346,6 +1418,7 @@ enum TextEmotes TEXTEMOTE_EYEBROW = 377, TEXTEMOTE_TOAST = 378 }; + enum Emote { EMOTE_ONESHOT_NONE = 0, @@ -1514,6 +1587,7 @@ enum Emote EMOTE_ONESHOT_SPELLCAST_OMNI = 463, EMOTE_STATE_READYTHROWN = 464 }; + enum Anim { ANIM_STAND = 0x0, @@ -1661,6 +1735,7 @@ enum Anim ANIM_SPELL_KNEEL_END = 0x8E, ANIM_SPRINT = 0x8F, ANIM_IN_FIGHT = 0x90, + ANIM_GAMEOBJ_SPAWN = 145, ANIM_GAMEOBJ_CLOSE = 146, ANIM_GAMEOBJ_CLOSED = 147, @@ -1741,12 +1816,14 @@ enum Anim ANIM_CUSTOMSPELL10 = 222, ANIM_StealthRun = 223 }; + enum LockKeyType { LOCK_KEY_NONE = 0, LOCK_KEY_ITEM = 1, LOCK_KEY_SKILL = 2 }; + enum LockType { LOCKTYPE_PICKLOCK = 1, @@ -1771,6 +1848,7 @@ enum LockType LOCKTYPE_INSCRIPTION = 20, LOCKTYPE_OPEN_FROM_VEHICLE = 21 }; + enum TrainerType // this is important type for npcs! { TRAINER_TYPE_CLASS = 0, @@ -1778,7 +1856,9 @@ enum TrainerType // this is important TRAINER_TYPE_TRADESKILLS = 2, TRAINER_TYPE_PETS = 3 }; + #define MAX_TRAINER_TYPE 4 + // CreatureType.dbc enum CreatureType { @@ -1796,9 +1876,11 @@ enum CreatureType CREATURE_TYPE_NON_COMBAT_PET = 12, CREATURE_TYPE_GAS_CLOUD = 13 }; + uint32 const CREATURE_TYPEMASK_DEMON_OR_UNDEAD = (1 << (CREATURE_TYPE_DEMON-1)) | (1 << (CREATURE_TYPE_UNDEAD-1)); uint32 const CREATURE_TYPEMASK_HUMANOID_OR_UNDEAD = (1 << (CREATURE_TYPE_HUMANOID-1)) | (1 << (CREATURE_TYPE_UNDEAD-1)); uint32 const CREATURE_TYPEMASK_MECHANICAL_OR_ELEMENTAL = (1 << (CREATURE_TYPE_MECHANICAL-1)) | (1 << (CREATURE_TYPE_ELEMENTAL-1)); + // CreatureFamily.dbc enum CreatureFamily { @@ -1844,6 +1926,7 @@ enum CreatureFamily CREATURE_FAMILY_CORE_HOUND = 45, CREATURE_FAMILY_SPIRIT_BEAST = 46 }; + enum CreatureTypeFlags { CREATURE_TYPEFLAGS_TAMEABLE = 0x00001, //tameable by any hunter @@ -1867,6 +1950,7 @@ enum CreatureTypeFlags CREATURE_TYPEFLAGS_UNK19 = 0x40000, //? Related to veichle/siege weapons? CREATURE_TYPEFLAGS_UNK20 = 0x80000 }; + enum CreatureEliteType { CREATURE_ELITE_NORMAL = 0, @@ -1876,6 +1960,7 @@ enum CreatureEliteType CREATURE_ELITE_RARE = 4, CREATURE_UNKNOWN = 5 // found in 2.2.3 for 2 mobs }; + // values based at Holidays.dbc enum HolidayIds { @@ -1900,6 +1985,7 @@ enum HolidayIds HOLIDAY_CALL_TO_ARMS_SA = 400, HOLIDAY_WOTLK_LAUNCH = 406 }; + // values based at QuestInfo.dbc enum QuestTypes { @@ -1915,6 +2001,7 @@ enum QuestTypes QUEST_TYPE_RAID_10 = 88, QUEST_TYPE_RAID_25 = 89 }; + // values based at QuestSort.dbc enum QuestSort { @@ -1957,6 +2044,7 @@ enum QuestSort QUEST_SORT_DEATH_KNIGHT = 372, QUEST_SORT_JEWELCRAFTING = 373 }; + inline uint8 ClassByQuestSort(int32 QuestSort) { switch(QuestSort) @@ -1974,9 +2062,11 @@ inline uint8 ClassByQuestSort(int32 QuestSort) } return 0; } + enum SkillType { SKILL_NONE = 0, + SKILL_FROST = 6, SKILL_FIRE = 8, SKILL_ARMS = 26, @@ -2128,7 +2218,9 @@ enum SkillType SKILL_PET_EXOTIC_CORE_HOUND = 787, SKILL_PET_EXOTIC_SPIRIT_BEAST = 788 }; + #define MAX_SKILL_TYPE 789 + inline SkillType SkillByLockType(LockType locktype) { switch(locktype) @@ -2142,6 +2234,7 @@ inline SkillType SkillByLockType(LockType locktype) } return SKILL_NONE; } + inline uint32 SkillByQuestSort(int32 QuestSort) { switch(QuestSort) @@ -2160,6 +2253,7 @@ inline uint32 SkillByQuestSort(int32 QuestSort) } return 0; } + enum SkillCategory { SKILL_CATEGORY_ATTRIBUTES = 5, @@ -2171,6 +2265,7 @@ enum SkillCategory SKILL_CATEGORY_PROFESSION = 11, // primary professions SKILL_CATEGORY_GENERIC = 12 }; + enum TotemCategory { TC_SKINNING_SKIFE_OLD = 1, @@ -2206,6 +2301,7 @@ enum TotemCategory TC_RUNED_COBALT_ROD = 189, TC_RUNED_TITANIUM_ROD = 190 }; + enum UnitDynFlags { UNIT_DYNFLAG_LOOTABLE = 0x0001, @@ -2216,10 +2312,12 @@ enum UnitDynFlags UNIT_DYNFLAG_DEAD = 0x0020, UNIT_DYNFLAG_REFER_A_FRIEND = 0x0040 }; + enum CorpseDynFlags { CORPSE_DYNFLAG_LOOTABLE = 0x0001 }; + // Passive Spell codes explicit used in code #define SPELL_ID_GENERIC_LEARN 483 #define SPELL_ID_GENERIC_LEARN_PET 55884 // used for learning mounts and companions @@ -2239,6 +2337,7 @@ enum CorpseDynFlags #define SPELL_ID_HONORLESS_TARGET 2479 // Honorless target #define SPELL_ID_DUEL_BEG 7267 // Beg #define SPELL_ID_DEATH_GATE 50977 // Death Gate + enum WeatherType { WEATHER_TYPE_FINE = 0, @@ -2248,7 +2347,9 @@ enum WeatherType WEATHER_TYPE_THUNDERS = 86, WEATHER_TYPE_BLACKRAIN = 90 }; + #define MAX_WEATHER_TYPE 4 + enum ChatMsg { CHAT_MSG_ADDON = 0xFFFFFFFF, @@ -2303,7 +2404,9 @@ enum ChatMsg CHAT_MSG_ACHIEVEMENT = 0x30, CHAT_MSG_GUILD_ACHIEVEMENT = 0x31 }; + #define MAX_CHAT_MSG_TYPE 0x32 + enum ChatLinkColors { CHAT_LINK_COLOR_TRADE = 0xffffd000, // orange @@ -2313,6 +2416,7 @@ enum ChatLinkColors CHAT_LINK_COLOR_ACHIEVEMENT = 0xffffff00, CHAT_LINK_COLOR_GLYPH = 0xff66bbff }; + // Values from ItemPetFood (power of (value-1) used for compare with CreatureFamilyEntry.petDietMask enum PetDiet { @@ -2325,8 +2429,11 @@ enum PetDiet PET_DIET_RAW_MEAT = 7, PET_DIET_RAW_FISH = 8 }; + #define MAX_PET_DIET 9 + #define CHAIN_SPELL_JUMP_RADIUS 10 + // Max values for Guild & Guild Bank #define GUILD_BANK_MAX_TABS 6 #define GUILD_BANK_MAX_SLOTS 98 @@ -2335,6 +2442,7 @@ enum PetDiet #define GUILD_EVENTLOG_MAX_RECORDS 100 #define GUILD_RANKS_MIN_COUNT 5 #define GUILD_RANKS_MAX_COUNT 10 + enum AiReaction { AI_REACTION_UNK1 = 1, @@ -2342,6 +2450,7 @@ enum AiReaction AI_REACTION_UNK3 = 3, AI_REACTION_UNK4 = 4 }; + // Diminishing Returns Types enum DiminishingReturnsType { @@ -2349,6 +2458,7 @@ enum DiminishingReturnsType DRTYPE_PLAYER = 1, // this spell is diminished only when applied on players DRTYPE_ALL = 2 // this spell is diminished in every case }; + // Diminishing Return Groups enum DiminishingGroup { @@ -2375,12 +2485,14 @@ enum DiminishingGroup DIMINISHING_TAUNT, DIMINISHING_LIMITONLY // Don't Diminish, but limit duration to 10s }; + enum DungeonDifficulties { DIFFICULTY_NORMAL = 0, DIFFICULTY_HEROIC = 1, TOTAL_DIFFICULTIES }; + enum SummonCategory { SUMMON_CATEGORY_WILD = 0, @@ -2389,6 +2501,7 @@ enum SummonCategory SUMMON_CATEGORY_PUPPET = 3, SUMMON_CATEGORY_VEHICLE = 4, }; + enum SummonType { SUMMON_TYPE_NONE = 0, @@ -2404,12 +2517,14 @@ enum SummonType SUMMON_TYPE_VEHICLE2 = 10, SUMMON_TYPE_OBJECT = 11, }; + enum EventId { EVENT_SPELLCLICK = 1001, EVENT_FALL_GROUND = 1002, EVENT_CHARGE = 1003, }; + enum ResponseCodes { RESPONSE_SUCCESS = 0x00, @@ -2419,11 +2534,13 @@ enum ResponseCodes RESPONSE_FAILED_TO_CONNECT = 0x04, RESPONSE_CONNECTED = 0x05, RESPONSE_VERSION_MISMATCH = 0x06, + CSTATUS_CONNECTING = 0x07, CSTATUS_NEGOTIATING_SECURITY = 0x08, CSTATUS_NEGOTIATION_COMPLETE = 0x09, CSTATUS_NEGOTIATION_FAILED = 0x0A, CSTATUS_AUTHENTICATING = 0x0B, + AUTH_OK = 0x0C, AUTH_FAILED = 0x0D, AUTH_REJECT = 0x0E, @@ -2447,17 +2564,21 @@ enum ResponseCodes AUTH_SUSPENDED = 0x20, AUTH_PARENTAL_CONTROL = 0x21, AUTH_LOCKED_ENFORCED = 0x22, + REALM_LIST_IN_PROGRESS = 0x23, REALM_LIST_SUCCESS = 0x24, REALM_LIST_FAILED = 0x25, REALM_LIST_INVALID = 0x26, REALM_LIST_REALM_NOT_FOUND = 0x27, + ACCOUNT_CREATE_IN_PROGRESS = 0x28, ACCOUNT_CREATE_SUCCESS = 0x29, ACCOUNT_CREATE_FAILED = 0x2A, + CHAR_LIST_RETRIEVING = 0x2B, CHAR_LIST_RETRIEVED = 0x2C, CHAR_LIST_FAILED = 0x2D, + CHAR_CREATE_IN_PROGRESS = 0x2E, CHAR_CREATE_SUCCESS = 0x2F, CHAR_CREATE_ERROR = 0x30, @@ -2473,12 +2594,14 @@ enum ResponseCodes CHAR_CREATE_EXPANSION_CLASS = 0x3A, CHAR_CREATE_LEVEL_REQUIREMENT = 0x3B, CHAR_CREATE_UNIQUE_CLASS_LIMIT = 0x3C, + CHAR_DELETE_IN_PROGRESS = 0x3D, CHAR_DELETE_SUCCESS = 0x3E, CHAR_DELETE_FAILED = 0x3F, CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER = 0x40, CHAR_DELETE_FAILED_GUILD_LEADER = 0x41, CHAR_DELETE_FAILED_ARENA_CAPTAIN = 0x42, + CHAR_LOGIN_IN_PROGRESS = 0x43, CHAR_LOGIN_SUCCESS = 0x44, CHAR_LOGIN_NO_WORLD = 0x45, @@ -2489,6 +2612,7 @@ enum ResponseCodes CHAR_LOGIN_NO_CHARACTER = 0x4A, CHAR_LOGIN_LOCKED_FOR_TRANSFER = 0x4B, CHAR_LOGIN_LOCKED_BY_BILLING = 0x4C, + CHAR_NAME_SUCCESS = 0x4D, CHAR_NAME_FAILURE = 0x4E, CHAR_NAME_NO_NAME = 0x4F, @@ -2507,6 +2631,7 @@ enum ResponseCodes CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 0x5C, CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 0x5D }; + /// Ban function modes enum BanMode { @@ -2514,6 +2639,7 @@ enum BanMode BAN_CHARACTER, BAN_IP }; + /// Ban function return codes enum BanReturn { @@ -2521,6 +2647,7 @@ enum BanReturn BAN_SYNTAX_ERROR, BAN_NOTFOUND }; + // indexes of BattlemasterList.dbc enum BattleGroundTypeId { @@ -2538,6 +2665,7 @@ enum BattleGroundTypeId BATTLEGROUND_RV = 11 }; #define MAX_BATTLEGROUND_TYPE_ID 12 + enum MailResponseType { MAIL_SEND = 0, @@ -2547,6 +2675,7 @@ enum MailResponseType MAIL_DELETED = 4, MAIL_MADE_PERMANENT = 5 }; + enum MailResponseResult { MAIL_OK = 0, @@ -2564,6 +2693,7 @@ enum MailResponseResult MAIL_ERR_MAIL_ATTACHMENT_INVALID = 19, MAIL_ERR_ITEM_HAS_EXPIRED = 21, }; + enum SpellFamilyNames { SPELLFAMILY_GENERIC = 0, @@ -2585,5 +2715,6 @@ enum SpellFamilyNames // 16 - unused SPELLFAMILY_PET = 17 }; + #endif |