Files
CypherCore/Source/Framework/Constants/SharedConst.cs
T
2021-01-25 13:06:53 -05:00

2530 lines
85 KiB
C#

/*
* Copyright (C) 2012-2020 CypherCore <http://github.com/CypherCore>
*
* 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 3 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, see <http://www.gnu.org/licenses/>.
*/
using System;
namespace Framework.Constants
{
public class SharedConst
{
/// <summary>
/// CliDB Const
/// </summary>
public const int GTMaxLevel = 100; // All Gt* DBC store data for 100 levels, some by 100 per class/race
public const int GTMaxRating = 32; // gtOCTClassCombatRatingScalar.dbc stores data for 32 ratings, look at MAX_COMBAT_RATING for real used amount
public const int ReputationCap = 42999;
public const int ReputationBottom = -42000;
public const int MaxClientMailItems = 12; // max number of items a player is allowed to attach
public const int MaxMailItems = 16;
public const int MaxDeclinedNameCases = 5;
public const int MaxHolidayDurations = 10;
public const int MaxHolidayDates = 26;
public const int MaxHolidayFlags = 10;
public const int DefaultMaxLevel = 60;
public const int MaxLevel = 123;
public const int StrongMaxLevel = 255;
public const int MaxOverrideSpell = 10;
public const int MaxWorldMapOverlayArea = 4;
public const int MaxMountCapabilities = 24;
public const int MaxLockCase = 8;
public const int MaxAzeriteEmpoweredTier = 5;
public const int MaxAzeriteEssenceSlot = 4;
public const int MaxAzeriteEssenceRank = 4;
/// <summary>
/// BattlePets Const
/// </summary>
public const int MaxBattlePetSpeciesId = 3084;
public const int MaxPetBattleSlots = 3;
public const int MaxBattlePetsPerSpecies = 3;
public const int BattlePetCageItemId = 82800;
public const int DefaultSummonBattlePetSpell = 118301;
/// <summary>
/// Lfg Const
/// </summary>
public const uint LFGTimeRolecheck = 45;
public const uint LFGTimeBoot = 120;
public const uint LFGTimeProposal = 45;
public const uint LFGQueueUpdateInterval = 15 * Time.InMilliseconds;
public const uint LFGSpellDungeonCooldown = 71328;
public const uint LFGSpellDungeonDeserter = 71041;
public const uint LFGSpellLuckOfTheDraw = 72221;
public const uint LFGKickVotesNeeded = 3;
public const byte LFGMaxKicks = 3;
public const int LFGTanksNeeded = 1;
public const int LFGHealersNeeded = 1;
public const int LFGDPSNeeded = 3;
/// <summary>
/// Loot Const
/// </summary>
public const int MaxNRLootItems = 16;
public const int MaxNRQuestItems = 32;
public const int PlayerCorpseLootEntry = 1;
/// <summary>
/// Movement Const
/// </summary>
public const double gravity = 19.29110527038574;
public const float terminalVelocity = 60.148003f;
public const float terminalSafefallVelocity = 7.0f;
public const float terminal_length = (float)((terminalVelocity * terminalVelocity) / (2.0f * gravity));
public const float terminal_safeFall_length = (float)((terminalSafefallVelocity * terminalSafefallVelocity) / (2.0f * gravity));
public const float terminal_fallTime = (float)(terminalVelocity / gravity); // the time that needed to reach terminalVelocity
public const float terminal_safeFall_fallTime = (float)(terminalSafefallVelocity / gravity); // the time that needed to reach terminalVelocity with safefall
/// <summary>
/// Vehicle Const
/// </summary>
public const int MaxSpellVehicle = 6;
public const int VehicleSpellRideHardcoded = 46598;
public const int VehicleSpellParachute = 45472;
/// <summary>
/// Quest Const
/// </summary>
public const int MaxQuestLogSize = 25;
public const int MaxQuestCounts = 24;
public const int QuestItemDropCount = 4;
public const int QuestRewardChoicesCount = 6;
public const int QuestRewardItemCount = 4;
public const int QuestDeplinkCount = 10;
public const int QuestRewardReputationsCount = 5;
public const int QuestEmoteCount = 4;
public const int QuestRewardCurrencyCount = 4;
public const int QuestRewardDisplaySpellCount = 3;
/// <summary>
/// Smart AI Const
/// </summary>
public const int SmartEventParamCount = 4;
public const int SmartActionParamCount = 6;
public const uint SmartSummonCounter = 0xFFFFFF;
public const uint SmartEscortTargets = 0xFFFFFF;
/// <summary>
/// BGs / Arena Const
/// </summary>
public const int BGTeamsCount = 2;
public const uint CountOfPlayersToAverageWaitTime = 10;
public const uint MaxPlayerBGQueues = 2;
public const uint BGAwardArenaPointsMinLevel = 71;
public const int ArenaTimeLimitPointsLoss = -16;
public const int MaxArenaSlot = 3;
/// <summary>
/// Void Storage Const
/// </summary>
public const uint VoidStorageUnlockCost = 100 * MoneyConstants.Gold;
public const uint VoidStorageStoreItemCost = 10 * MoneyConstants.Gold;
public const uint VoidStorageMaxDeposit = 9;
public const uint VoidStorageMaxWithdraw = 9;
public const byte VoidStorageMaxSlot = 160;
/// <summary>
/// Misc Const
/// </summary>
public const uint CalendarMaxInvites = 100;
public const uint CalendarDefaultResponseTime = 946684800; // 01/01/2000 00:00:00
public const Locale DefaultLocale = Locale.enUS;
public const int MaxAccountTutorialValues = 8;
public const int MinAuctionTime = (12 * Time.Hour);
public const int MaxConditionTargets = 3;
/// <summary>
/// Unit Const
/// </summary>
public const float BaseMinDamage = 1.0f;
public const float BaseMaxDamage = 2.0f;
public const int BaseAttackTime = 2000;
public const int MaxSummonSlot = 7;
public const int MaxTotemSlot = 5;
public const int MaxGameObjectSlot = 4;
public const float MaxAggroRadius = 45.0f; // yards
public const int MaxAggroResetTime = 10;
public const int MaxVehicleSeats = 8;
public const int AttackDisplayDelay = 200;
public const float MaxPlayerStealthDetectRange = 30.0f; // max distance for detection targets by player
public const int MaxEquipmentItems = 3;
/// <summary>
/// Creature Const
/// </summary>
public const int MaxGossipMenuItems = 64; // client supported items unknown, but provided number must be enough
public const int DefaultGossipMessage = 0xFFFFFF;
public const int MaxGossipTextEmotes = 3;
public const int MaxNpcTextOptions = 8;
public const int MaxCreatureBaseHp = 4;
public const int MaxCreatureSpells = 8;
public const byte MaxVendorItems = 150;
public const int CreatureAttackRangeZ = 3;
public const int MaxCreatureKillCredit = 2;
public const int MaxCreatureDifficulties = 3;
public const int MaxCreatureSpellDataSlots = 4;
public const int MaxCreatureNames = 4;
public const int MaxCreatureModelIds = 4;
public const int MaxTrainerspellAbilityReqs = 3;
public const int CreatureRegenInterval = 2 * Time.InMilliseconds;
public const int PetFocusRegenInterval = 4 * Time.InMilliseconds;
public const int CreatureNoPathEvadeTime = 5 * Time.InMilliseconds;
public const int BoundaryVisualizeCreature = 15425;
public const float BoundaryVisualizeCreatureScale = 0.25f;
public const int BoundaryVisualizeStepSize = 1;
public const int BoundaryVisualizeFailsafeLimit = 750;
public const int BoundaryVisualizeSpawnHeight = 5;
/// <summary>
/// GameObject Const
/// </summary>
public const int MaxGOData = 34;
public const uint MaxTransportStopFrames = 9;
/// <summary>
/// AreaTrigger Const
/// </summary>
public const int MaxAreatriggerEntityData = 6;
public const int MaxAreatriggerScale = 7;
/// <summary>
/// Pet Const
/// </summary>
public const int MaxPetStables = 4;
public const float PetFollowDist = 1.0f;
public const float PetFollowAngle = MathFunctions.PiOver2;
public const int MaxSpellCharm = 4;
public const int ActionBarIndexStart = 0;
public const byte ActionBarIndexPetSpellStart = 3;
public const int ActionBarIndexPetSpellEnd = 7;
public const int ActionBarIndexEnd = 10;
public const int MaxSpellControlBar = 10;
public const int MaxPetTalentRank = 3;
public const int ActionBarIndexMax = (ActionBarIndexEnd - ActionBarIndexStart);
/// <summary>
/// Object Const
/// </summary>
public const float DefaultPlayerBoundingRadius = 0.388999998569489f; // player size, also currently used (correctly?) for any non Unit world objects
public const float AttackDistance = 5.0f;
public const float DefaultPlayerCombatReach = 1.5f;
public const float MinMeleeReach = 2.0f;
public const float NominalMeleeRange = 5.0f;
public const float MeleeRange = NominalMeleeRange - MinMeleeReach * 2; //center to center for players
public const float InspectDistance = 28.0f;
public const float ContactDistance = 0.5f;
public const float InteractionDistance = 5.0f;
public const float MaxVisibilityDistance = MapConst.SizeofGrids; // max distance for visible objects
public const float SightRangeUnit = 50.0f;
public const float VisibilityDistanceGigantic = 400.0f;
public const float VisibilityDistanceLarge = 200.0f;
public const float VisibilityDistanceNormal = 100.0f;
public const float VisibilityDistanceSmall = 50.0f;
public const float VisibilityDistanceTiny = 25.0f;
public const float DefaultVisibilityDistance = VisibilityDistanceNormal; // default visible distance, 100 yards on continents
public const float DefaultVisibilityInstance = 170.0f; // default visible distance in instances, 170 yards
public const float DefaultVisibilityBGAreans = 533.0f; // default visible distance in BG/Arenas, roughly 533 yards
public const int DefaultVisibilityNotifyPeriod = 1000;
public const int WorldTrigger = 12999;
public static float[] baseMoveSpeed =
{
2.5f, // MOVE_WALK
7.0f, // MOVE_RUN
4.5f, // MOVE_RUN_BACK
4.722222f, // MOVE_SWIM
2.5f, // MOVE_SWIM_BACK
3.141594f, // MOVE_TURN_RATE
7.0f, // MOVE_FLIGHT
4.5f, // MOVE_FLIGHT_BACK
3.14f // MOVE_PITCH_RATE
};
public static float[] playerBaseMoveSpeed =
{
2.5f, // MOVE_WALK
7.0f, // MOVE_RUN
4.5f, // MOVE_RUN_BACK
4.722222f, // MOVE_SWIM
2.5f, // MOVE_SWIM_BACK
3.141594f, // MOVE_TURN_RATE
7.0f, // MOVE_FLIGHT
4.5f, // MOVE_FLIGHT_BACK
3.14f // MOVE_PITCH_RATE
};
public static float[] VisibilityDistances =
{
DefaultVisibilityDistance,
VisibilityDistanceTiny,
VisibilityDistanceSmall,
VisibilityDistanceLarge,
VisibilityDistanceGigantic,
MaxVisibilityDistance
};
static int[] raceBits =
{
0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 21, -1, 23, 24, 25, 26, 27, 28,
29, 30, 31, -1, 11, 12, 13, 14
};
public static ulong RaceMaskAllPlayable = (ulong)(GetMaskForRace(Race.Human) | GetMaskForRace(Race.Orc) | GetMaskForRace(Race.Dwarf) | GetMaskForRace(Race.NightElf) | GetMaskForRace(Race.Undead)
| GetMaskForRace(Race.Tauren) | GetMaskForRace(Race.Gnome) | GetMaskForRace(Race.Troll) | GetMaskForRace(Race.BloodElf) | GetMaskForRace(Race.Draenei)
| GetMaskForRace(Race.Goblin) | GetMaskForRace(Race.Worgen) | GetMaskForRace(Race.PandarenNeutral) | GetMaskForRace(Race.PandarenAlliance) | GetMaskForRace(Race.PandarenHorde)
| GetMaskForRace(Race.Nightborne) | GetMaskForRace(Race.HighmountainTauren) | GetMaskForRace(Race.VoidElf) | GetMaskForRace(Race.LightforgedDraenei) | GetMaskForRace(Race.ZandalariTroll)
| GetMaskForRace(Race.KulTiran) | GetMaskForRace(Race.DarkIronDwarf) | GetMaskForRace(Race.Vulpera) | GetMaskForRace(Race.MagharOrc) | GetMaskForRace(Race.MechaGnome));
public static ulong RaceMaskAlliance = (ulong)(GetMaskForRace(Race.Human) | GetMaskForRace(Race.Dwarf) | GetMaskForRace(Race.NightElf) | GetMaskForRace(Race.Gnome)
| GetMaskForRace(Race.Draenei) | GetMaskForRace(Race.Worgen) | GetMaskForRace(Race.PandarenAlliance) | GetMaskForRace(Race.VoidElf) | GetMaskForRace(Race.LightforgedDraenei)
| GetMaskForRace(Race.KulTiran) | GetMaskForRace(Race.DarkIronDwarf) | GetMaskForRace(Race.MechaGnome));
public static ulong RaceMaskHorde = RaceMaskAllPlayable & ~RaceMaskAlliance;
//Todo move these else where
/// <summary>
/// Method Const
/// </summary>
public static SpellSchools GetFirstSchoolInMask(SpellSchoolMask mask)
{
for (SpellSchools i = 0; i < SpellSchools.Max; ++i)
if (mask.HasAnyFlag((SpellSchoolMask)(1 << (int)i)))
return i;
return SpellSchools.Normal;
}
public static SkillType SkillByQuestSort(int sort)
{
switch ((QuestSort)sort)
{
case QuestSort.Herbalism:
return SkillType.Herbalism;
case QuestSort.Fishing:
return SkillType.Fishing;
case QuestSort.Blacksmithing:
return SkillType.Blacksmithing;
case QuestSort.Alchemy:
return SkillType.Alchemy;
case QuestSort.Leatherworking:
return SkillType.Leatherworking;
case QuestSort.Engineering:
return SkillType.Engineering;
case QuestSort.Tailoring:
return SkillType.Tailoring;
case QuestSort.Cooking:
return SkillType.Cooking;
case QuestSort.Jewelcrafting:
return SkillType.Jewelcrafting;
case QuestSort.Inscription:
return SkillType.Inscription;
case QuestSort.Archaeology:
return SkillType.Archaeology;
}
return SkillType.None;
}
public static SkillType SkillByLockType(LockType locktype)
{
switch (locktype)
{
case LockType.Herbalism:
return SkillType.Herbalism;
case LockType.Mining:
return SkillType.Mining;
case LockType.Fishing:
return SkillType.Fishing;
case LockType.Inscription:
return SkillType.Inscription;
case LockType.Archaeology:
return SkillType.Archaeology;
case LockType.LumberMill:
return SkillType.Logging;
case LockType.ClassicHerbalism:
return SkillType.Herbalism2;
case LockType.OutlandHerbalism:
return SkillType.OutlandHerbalism;
case LockType.NorthrendHerbalism:
return SkillType.NorthrendHerbalism;
case LockType.CataclysmHerbalism:
return SkillType.CataclysmHerbalism;
case LockType.PandariaHerbalism:
return SkillType.PandariaHerbalism;
case LockType.DraenorHerbalism:
return SkillType.DraenorHerbalism;
case LockType.LegionHerbalism:
return SkillType.LegionHerbalism;
case LockType.KulTiranHerbalism:
return SkillType.KulTiranHerbalism;
case LockType.ClassicMining:
return SkillType.Mining2;
case LockType.OutlandMining:
return SkillType.OutlandMining;
case LockType.NorthrendMining:
return SkillType.NorthrendMining;
case LockType.CataclysmMining:
return SkillType.CataclysmMining;
case LockType.PandariaMining:
return SkillType.PandariaMining;
case LockType.DraenorMining:
return SkillType.DraenorMining;
case LockType.LegionMining:
return SkillType.LegionMining;
case LockType.KulTiranMining:
return SkillType.KulTiranMining;
}
return SkillType.None;
}
public static bool IsValidLocale(Locale locale)
{
return locale < Locale.Total && locale != Locale.None;
}
public static long GetMaskForRace(Race raceId)
{
return raceId < Race.Max && raceBits[(int)raceId] >= 0 && raceBits[(int)raceId] < 64 ? (1 << raceBits[(int)raceId]) : 0;
}
}
public enum Locale
{
enUS = 0,
koKR = 1,
frFR = 2,
deDE = 3,
zhCN = 4,
zhTW = 5,
esES = 6,
esMX = 7,
ruRU = 8,
None = 9,
ptBR = 10,
itIT = 11,
Total = 12
}
public enum ComparisionType
{
EQ = 0,
High,
Low,
HighEQ,
LowEQ,
Max
}
public enum XPColorChar
{
Red,
Orange,
Yellow,
Green,
Gray
}
public enum ContentLevels
{
Content_1_60 = 0,
Content_61_70 = 1,
Content_71_80 = 2,
Content_81_85 = 3,
Max
}
public struct TeamId
{
public const int Alliance = 0;
public const int Horde = 1;
public const int Neutral = 2;
}
public enum Team
{
Horde = 67,
Alliance = 469,
//TEAM_STEAMWHEEDLE_CARTEL = 169, // not used in code
//TEAM_ALLIANCE_FORCES = 891,
//TEAM_HORDE_FORCES = 892,
//TEAM_SANCTUARY = 936,
//TEAM_OUTLAND = 980,
Other = 0 // if ReputationListId > 0 && Flags != FACTION_FLAG_TEAM_HEADER
}
public enum FactionMasks : byte
{
Player = 1, // any player
Alliance = 2, // player or creature from alliance team
Horde = 4, // player or creature from horde team
Monster = 8 // aggressive creature from monster team
// if none flags set then non-aggressive creature
}
public enum FactionTemplateFlags
{
PVP = 0x800, // flagged for PvP
ContestedGuard = 0x1000, // faction will attack players that were involved in PvP combats
HostileByDefault = 0x2000
}
public enum ReputationRank
{
None = -1,
Hated = 0,
Hostile = 1,
Unfriendly = 2,
Neutral = 3,
Friendly = 4,
Honored = 5,
Revered = 6,
Exalted = 7,
Max = 8,
Min = Hated
}
public enum ReputationSource
{
Kill,
Quest,
DailyQuest,
WeeklyQuest,
MonthlyQuest,
RepeatableQuest,
Spell
}
public enum FactionFlags
{
None = 0x00, // no faction flag
Visible = 0x01, // makes visible in client (set or can be set at interaction with target of this faction)
AtWar = 0x02, // enable AtWar-button in client. player controlled (except opposition team always war state), Flag only set on initial creation
Hidden = 0x04, // hidden faction from reputation pane in client (player can gain reputation, but this update not sent to client)
InvisibleForced = 0x08, // always overwrite FACTION_FLAG_VISIBLE and hide faction in rep.list, used for hide opposite team factions
PeaceForced = 0x10, // always overwrite FACTION_FLAG_AT_WAR, used for prevent war with own team factions
Inactive = 0x20, // player controlled, state stored in characters.data (CMSG_SET_FACTION_INACTIVE)
Rival = 0x40, // flag for the two competing outland factions
Special = 0x80 // horde and alliance home cities and their northrend allies have this flag
}
public enum Gender : sbyte
{
Unknown = -1,
Male = 0,
Female = 1,
None = 2
}
public enum Class
{
None = 0,
Warrior = 1,
Paladin = 2,
Hunter = 3,
Rogue = 4,
Priest = 5,
Deathknight = 6,
Shaman = 7,
Mage = 8,
Warlock = 9,
Monk = 10,
Druid = 11,
DemonHunter = 12,
Max = 13,
ClassMaskAllPlayable = ((1 << (Warrior - 1)) | (1 << (Paladin - 1)) | (1 << (Hunter - 1)) |
(1 << (Rogue - 1)) | (1 << (Priest - 1)) | (1 << (Deathknight - 1)) | (1 << (Shaman - 1)) |
(1 << (Mage - 1)) | (1 << (Warlock - 1)) | (1 << (Monk - 1)) | (1 << (Druid - 1)) | (1 << (DemonHunter - 1))),
ClassMaskAllCreatures = ((1 << (Warrior - 1)) | (1 << (Paladin - 1)) | (1 << (Rogue - 1)) | (1 << (Mage - 1))),
ClassMaskWandUsers = ((1 << (Priest - 1)) | (1 << (Mage - 1)) | (1 << (Warlock - 1)))
}
public enum Race
{
None = 0,
Human = 1,
Orc = 2,
Dwarf = 3,
NightElf = 4,
Undead = 5,
Tauren = 6,
Gnome = 7,
Troll = 8,
Goblin = 9,
BloodElf = 10,
Draenei = 11,
//FelOrc = 12,
//Naga = 13,
//Broken = 14,
//Skeleton = 15,
//Vrykul = 16,
//Tuskarr = 17,
//ForestTroll = 18,
//Taunka = 19,
//NorthrendSkeleton = 20,
//IceTroll = 21,
Worgen = 22,
//HumanGilneas = 23,
PandarenNeutral = 24,
PandarenAlliance = 25,
PandarenHorde = 26,
Nightborne = 27,
HighmountainTauren = 28,
VoidElf = 29,
LightforgedDraenei = 30,
ZandalariTroll = 31,
KulTiran = 32,
//RACE_THIN_HUMAN = 33,
DarkIronDwarf = 34,
Vulpera = 35,
MagharOrc = 36,
MechaGnome = 37,
Max
}
public enum Expansion
{
LevelCurrent = -1,
Classic = 0,
BurningCrusade = 1,
WrathOfTheLichKing = 2,
Cataclysm = 3,
MistsOfPandaria = 4,
WarlordsOfDraenor = 5,
Legion = 6,
BattleForAzeroth = 7,
ShadowLands = 8,
Max,
MaxAccountExpansions
}
public enum PowerType : sbyte
{
Mana = 0,
Rage = 1,
Focus = 2,
Energy = 3,
ComboPoints = 4,
Runes = 5,
RunicPower = 6,
SoulShards = 7,
LunarPower = 8,
HolyPower = 9,
AlternatePower = 10, // Used in some quests
Maelstrom = 11,
Chi = 12,
Insanity = 13,
BurningEmbers = 14,
DemonicFury = 15,
ArcaneCharges = 16,
Fury = 17,
Pain = 18,
Max = 19,
All = 127, // default for class?
Health = -2, // (-2 as signed value)
MaxPerClass = 6
}
public enum Stats
{
Strength = 0,
Agility = 1,
Stamina = 2,
Intellect = 3,
Max = 4
}
public enum TrainerType
{
None = 0,
Talent = 1,
Tradeskills = 2,
Pets = 3
}
public enum TrainerSpellState
{
Known = 0,
Available = 1,
Unavailable = 2,
}
public enum TrainerFailReason
{
Unavailable = 0,
NotEnoughMoney = 1
}
public enum ChatMsg
{
Addon = -1,
System = 0x00,
Say = 0x01,
Party = 0x02,
Raid = 0x03,
Guild = 0x04,
Officer = 0x05,
Yell = 0x06,
Whisper = 0x07,
WhisperForeign = 0x08,
WhisperInform = 0x09,
Emote = 0x0a,
TextEmote = 0x0b,
MonsterSay = 0x0c,
MonsterParty = 0x0d,
MonsterYell = 0x0e,
MonsterWhisper = 0x0f,
MonsterEmote = 0x10,
Channel = 0x11,
ChannelJoin = 0x12,
ChannelLeave = 0x13,
ChannelList = 0x14,
ChannelNotice = 0x15,
ChannelNoticeUser = 0x16,
Afk = 0x17,
Dnd = 0x18,
Ignored = 0x19,
Skill = 0x1a,
Loot = 0x1b,
Money = 0x1c,
Opening = 0x1d,
Tradeskills = 0x1e,
PetInfo = 0x1f,
CombatMiscInfo = 0x20,
CombatXpGain = 0x21,
CombatHonorGain = 0x22,
CombatFactionChange = 0x23,
BgSystemNeutral = 0x24,
BgSystemAlliance = 0x25,
BgSystemHorde = 0x26,
RaidLeader = 0x27,
RaidWarning = 0x28,
RaidBossEmote = 0x29,
RaidBossWhisper = 0x2a,
Filtered = 0x2b,
Restricted = 0x2c,
Battlenet = 0x2d,
Achievement = 0x2e,
GuildAchievement = 0x2f,
ArenaPoints = 0x30,
PartyLeader = 0x31,
Targeticons = 0x32,
BnWhisper = 0x33,
BnWhisperInform = 0x34,
BnConversation = 0x35,
BnConversationNotice = 0x36,
BnConversationList = 0x37,
BnInlineToastAlert = 0x38,
BnInlineToastBroadcast = 0x39,
BnInlineToastBroadcastInform = 0x3a,
BnInlineToastConversation = 0x3b,
BnWhisperPlayerOffline = 0x3c,
CombatGuildXpGain = 0x3d,
Currency = 0x3e,
QuestBossEmote = 0x3f,
PetBattleCombatLog = 0x40,
PetBattleInfo = 0x41,
InstanceChat = 0x42,
InstanceChatLeader = 0x43,
Max = 0x44,
}
public enum ChatRestrictionType
{
Restricted = 0,
Throttled = 1,
Squelched = 2,
YellRestricted = 3,
RaidRestricted = 4
}
public enum Difficulty : byte
{
None = 0,
Normal = 1,
Heroic = 2,
Raid10N = 3,
Raid25N = 4,
Raid10HC = 5,
Raid25HC = 6,
LFR = 7,
MythicKeystone = 8,
Raid40 = 9,
Scenario3ManHC = 11,
Scenario3ManN = 12,
NormalRaid = 14,
HeroicRaid = 15,
MythicRaid = 16,
LFRNew = 17,
EventRaid = 18,
EventDungeon = 19,
EventScenario = 20,
Mythic = 23,
Timewalking = 24,
WorldPvPScenario = 25,
Scenario5ManN = 26,
Scenario20ManN = 27,
PvEvPScenario = 29,
EventScenario6 = 30,
WorldPvPScenario2 = 32,
TimewalkingRaid = 33,
Pvp = 34,
NormalIsland = 38,
HeroicIsland = 39,
MythicIsland = 40,
PvpIsland = 45,
NormalWarfront = 147,
HeroicWarfront = 149,
LFR15thAnniversary = 151,
VisionsOfNzoth = 152,
TeemingIsland = 153
}
public enum DifficultyFlags : ushort
{
Heroic = 0x01,
Default = 0x02,
CanSelect = 0x04, // Player can select this difficulty in dropdown menu
ChallengeMode = 0x08,
Legacy = 0x20,
DisplayHeroic = 0x40, // Controls icon displayed on minimap when inside the instance
DisplayMythic = 0x80 // Controls icon displayed on minimap when inside the instance
}
public enum SpawnMask
{
Continent = (1 << Difficulty.None), // Any Maps Without Spawn Modes
DungeonNormal = (1 << Difficulty.Normal),
DungeonHeroic = (1 << Difficulty.Heroic),
DungeonAll = (DungeonNormal | DungeonHeroic),
Raid10Normal = (1 << Difficulty.Raid10N),
Raid25Normal = (1 << Difficulty.Raid25N),
RaidNormalAll = (Raid10Normal | Raid25Normal),
Raid10Heroic = (1 << Difficulty.Raid10HC),
Raid25Heroic = (1 << Difficulty.Raid25HC),
RaidHeroicAll = (Raid10Heroic | Raid25Heroic),
RaidAll = (RaidNormalAll | RaidHeroicAll)
}
public enum MapFlags
{
CanToggleDifficulty = 0x0100,
FlexLocking = 0x8000, // All difficulties share completed encounters lock, not bound to a single instance id
// heroic difficulty flag overrides it and uses instance id bind
Garrison = 0x4000000
}
public enum WorldStates
{
CurrencyResetTime = 20001, // Next currency reset time
WeeklyQuestResetTime = 20002, // Next weekly reset time
BGDailyResetTime = 20003, // Next daily BG reset time
CleaningFlags = 20004, // Cleaning Flags
GuildDailyResetTime = 20006, // Next guild cap reset time
MonthlyQuestResetTime = 20007, // Next monthly reset time
// Cata specific custom worldstates
GuildWeeklyResetTime = 20050, // Next guild week reset time
}
// values based at Holidays.dbc
public enum HolidayIds
{
None = 0,
FireworksSpectacular = 62,
FeastOfWinterVeil = 141,
NobleGarden = 181,
ChildrensWeek = 201,
CallToArmsAv = 283,
CallToArmsWs = 284,
CallToArmsAb = 285,
FishingExtravaganza = 301,
HarvestFestival = 321,
HallowsEnd = 324,
LunarFestival = 327,
LoveIsInTheAir = 335,
FireFestival = 341,
CallToArmsEy = 353,
Brewfest = 372,
DarkmoonFaireElwynn = 374,
DarkmoonFaireThunder = 375,
DarkmoonFaireShattrath = 376,
PiratesDay = 398,
CallToArmsSa = 400,
PilgrimsBounty = 404,
WotlkLaunch = 406,
DayOfDead = 409,
CallToArmsIc = 420,
//LoveIsInTheAir = 423,
KaluAkFishingDerby = 424,
CallToArmsBfg = 435,
CallToArmsTp = 436,
RatedBg15Vs15 = 442,
RatedBg25Vs25 = 443,
Anniversary7Years = 467,
DarkmoonFaireTerokkar = 479,
Anniversary8Years = 484,
CallToArmsSm = 488,
CallToArmsTk = 489,
//CallToArmsAv = 490,
//CallToArmsAb = 491,
//CallToArmsEy = 492,
//CallToArmsAv = 493,
//CallToArmsSm = 494,
//CallToArmsSa = 495,
//CallToArmsTk = 496,
//CallToArmsBfg = 497,
//CallToArmsTp = 498,
//CallToArmsWs = 499,
Anniversary9Years = 509,
Anniversary10Years = 514,
CallToArmsDg = 515,
//CallToArmsDg = 516
TimewalkingOutlands = 559,
ApexisBonusEvent = 560,
ArenaSkirmishBonusEvent = 561,
TimewalkingNorthrend = 562,
BattlegroundBonusEvent = 563,
DraenorDungeonEvent = 564,
PetBattleBonusEvent = 565,
Anniversary11Years = 566,
TimewalkingCataclysm = 587
}
public enum VoidTransferError
{
Ok = 0,
InternalError1 = 1,
InternalError2 = 2,
Full = 3,
InternalError3 = 4,
InternalError4 = 5,
NotEnoughMoney = 6,
InventoryFull = 7,
ItemInvalid = 8,
TransferUnknown = 9
}
public enum eScriptFlags
{
// Talk Flags
TalkUsePlayer = 0x1,
// Emote Flags
EmoteUseState = 0x1,
// Teleportto Flags
TeleportUseCreature = 0x1,
// Killcredit Flags
KillcreditRewardGroup = 0x1,
// Removeaura Flags
RemoveauraReverse = 0x1,
// Castspell Flags
CastspellSourceToTarget = 0,
CastspellSourceToSource = 1,
CastspellTargetToTarget = 2,
CastspellTargetToSource = 3,
CastspellSearchCreature = 4,
CastspellTriggered = 0x1,
// Playsound Flags
PlaysoundTargetPlayer = 0x1,
PlaysoundDistanceSound = 0x2,
// Orientation Flags
OrientationFaceTarget = 0x1
}
public enum ScriptsType
{
First = 1,
Spell = First,
Event,
Waypoint,
Last
}
// Db Scripting Commands
public enum ScriptCommands
{
Talk = 0, // Source/Target = Creature, Target = Any, Datalong = Talk Type (see ChatType enum), datalong2 & 1 = player talk (instead of creature), dataint = string_id
Emote = 1, // Source/Target = Creature, Datalong = Emote Id, Datalong2 = 0: Set Emote State; > 0: Play Emote State
FieldSetDeprecated = 2,
MoveTo = 3, // Source/Target = Creature, Datalong2 = Time To Reach, X/Y/Z = Destination
FlagSetDeprecated = 4,
FlagRemoveDeprecated = 5,
TeleportTo = 6, // Source/Target = Creature/Player (See Datalong2), Datalong = MapId, Datalong2 = 0: Player; 1: Creature, X/Y/Z = Destination, O = Orientation
QuestExplored = 7, // Target/Source = Player, Target/Source = Go/Creature, Datalong = Quest Id, Datalong2 = Distance Or 0
KillCredit = 8, // Target/Source = Player, Datalong = Creature Entry, Datalong2 = 0: Personal Credit, 1: Group Credit
RespawnGameobject = 9, // Source = Worldobject (Summoner), Datalong = Go Guid, Datalong2 = Despawn Delay
TempSummonCreature = 10, // Source = Worldobject (Summoner), Datalong = Creature Entry, Datalong2 = Despawn Delay, X/Y/Z = Summon Position, O = Orientation
OpenDoor = 11, // Source = Unit, Datalong = Go Guid, Datalong2 = Reset Delay (Min 15)
CloseDoor = 12, // Source = Unit, Datalong = Go Guid, Datalong2 = Reset Delay (Min 15)
ActivateObject = 13, // Source = Unit, Target = Go
RemoveAura = 14, // Source (Datalong2 != 0) Or Target (Datalong2 == 0) = Unit, Datalong = Spell Id
CastSpell = 15, // Source And/Or Target = Unit, Datalong2 = Cast Direction (0: S.T 1: S.S 2: T.T 3: T.S 4: S.Creature With Dataint Entry), Dataint & 1 = Triggered Flag
PlaySound = 16, // Source = Worldobject, Target = None/Player, Datalong = Sound Id, Datalong2 (Bitmask: 0/1=Anyone/Player, 0/2=Without/With Distance Dependency, So 1|2 = 3 Is Target With Distance Dependency)
CreateItem = 17, // Target/Source = Player, Datalong = Item Entry, Datalong2 = Amount
DespawnSelf = 18, // Target/Source = Creature, Datalong = Despawn Delay
LoadPath = 20, // Source = Unit, Datalong = Path Id, Datalong2 = Is Repeatable
CallscriptToUnit = 21, // Source = Worldobject (If Present Used As A Search Center), Datalong = Script Id, Datalong2 = Unit Lowguid, Dataint = Script Table To Use (See Scriptstype)
Kill = 22, // Source/Target = Creature, Dataint = Remove Corpse Attribute
// Cyphercore Only
Orientation = 30, // Source = Unit, Target (Datalong > 0) = Unit, Datalong = > 0 Turn Source To Face Target, O = Orientation
Equip = 31, // Soucre = Creature, Datalong = Equipment Id
Model = 32, // Source = Creature, Datalong = Model Id
CloseGossip = 33, // Source = Player
Playmovie = 34, // Source = Player, Datalong = Movie Id
Movement = 35, // Source = Creature, datalong = MovementType, datalong2 = MovementDistance (spawndist f.ex.), dataint = pathid
PlayAnimkit = 36 // Source = Creature, datalong = AnimKit id
}
// Custom values
public enum SpellClickUserTypes
{
Any = 0,
Friend = 1,
Raid = 2,
Party = 3,
Max = 4
}
public enum TokenResult
{
Success = 1,
Disabled = 2,
Other = 3,
NoneForSale = 4,
TooManyTokens = 5,
SuccessNo = 6,
TransactionInProgress = 7,
AuctionableTokenOwned = 8,
TrialRestricted = 9
}
public enum BanMode
{
Account,
Character,
IP
}
public enum BanReturn
{
Success,
SyntaxError,
Notfound,
Exists
}
public enum WorldCfg
{
AccPasschangesec,
AddonChannel,
AhbotUpdateInterval,
AllTaxiPaths,
AllowGmGroup,
AllowTrackBothResources,
AllowTwoSideInteractionAuction,
AllowTwoSideInteractionCalendar,
AllowTwoSideInteractionChannel,
AllowTwoSideInteractionGroup,
AllowTwoSideInteractionGuild,
AllowTwoSideTrade,
ArenaLogExtendedInfo,
ArenaMaxRatingDifference,
ArenaQueueAnnouncerEnable,
ArenaRatedUpdateTimer,
ArenaRatingDiscardTimer,
ArenaSeasonId,
ArenaSeasonInProgress,
ArenaStartMatchmakerRating,
ArenaStartPersonalRating,
ArenaStartRating,
ArenaWinRatingModifier1,
ArenaWinRatingModifier2,
ArenaLoseRatingModifier,
ArenaMatchmakerRatingModifier,
AuctionLevelReq,
AuctionReplicateDelay,
AuctionSearchDelay,
AuctionTaintedSearchDelay,
AutoBroadcast,
AutoBroadcastCenter,
AutoBroadcastInterval,
BasemapLoadGrids,
BattlegroundCastDeserter,
BattlegroundInvitationType,
BattlegroundPremadeGroupWaitForMatch,
BattlegroundPrematureFinishTimer,
BattlegroundQueueAnnouncerEnable,
BattlegroundQueueAnnouncerPlayeronly,
BattlegroundReportAfk,
BattlegroundStoreStatisticsEnable,
BgRewardLoserHonorFirst,
BgRewardLoserHonorLast,
BgRewardWinnerConquestFirst,
BgRewardWinnerConquestLast,
BgRewardWinnerHonorFirst,
BgRewardWinnerHonorLast,
BgXpForKill,
BlackmarketEnabled,
BlackmarketMaxAuctions,
BlackmarketUpdatePeriod,
CacheDataQueries,
CalculateCreatureZoneAreaData,
CalculateGameobjectZoneAreaData,
CastUnstuck,
CharacterCreatingDisabled,
CharacterCreatingDisabledClassmask,
CharacterCreatingDisabledRacemask,
CharacterCreatingMinLevelForDemonHunter,
CharactersPerAccount,
CharactersPerRealm,
ChardeleteDeathKnightMinLevel,
ChardeleteDemonHunterMinLevel,
ChardeleteKeepDays,
ChardeleteMethod,
ChardeleteMinLevel,
CharterCostArena2v2,
CharterCostArena3v3,
CharterCostArena5v5,
CharterCostGuild,
ChatChannelLevelReq,
ChatEmoteLevelReq,
ChatFakeMessagePreventing,
ChatFloodMessageCount,
ChatFloodMessageDelay,
ChatFloodMuteTime,
ChatPartyRaidWarnings,
ChatSayLevelReq,
ChatStrictLinkCheckingKick,
ChatStrictLinkCheckingSeverity,
ChatWhisperLevelReq,
ChatYellLevelReq,
CheckGobjectLos,
CleanCharacterDb,
CleanOldMailTime,
ClientCacheVersion,
Compression,
CorpseDecayElite,
CorpseDecayNormal,
CorpseDecayRare,
CorpseDecayRareelite,
CorpseDecayWorldboss,
CreatureCheckInvalidPostion,
CreatureFamilyAssistanceDelay,
CreatureFamilyAssistanceRadius,
CreatureFamilyFleeAssistanceRadius,
CreatureFamilyFleeDelay,
CreaturePickpocketRefill,
CreatureStopForPlayer,
CurrencyMaxApexisCrystals,
CurrencyMaxJusticePoints,
CurrencyResetDay,
CurrencyResetHour,
CurrencyResetInterval,
CurrencyStartApexisCrystals,
CurrencyStartJusticePoints,
DailyQuestResetTimeHour,
DbcEnforceItemAttributes,
DeathBonesBgOrArena,
DeathBonesWorld,
DeathCorpseReclaimDelayPve,
DeathCorpseReclaimDelayPvp,
DeathSicknessLevel,
DeclinedNamesUsed,
DetectPosCollision,
DieCommandMode,
DisableBreathing,
DurabilityLossInPvp,
EnableMmaps,
EnableSinfoLogin,
EventAnnounce,
Expansion,
FeatureSystemBpayStoreEnabled,
FeatureSystemCharacterUndeleteCooldown,
FeatureSystemCharacterUndeleteEnabled,
ForceShutdownThreshold,
GameobjectCheckInvalidPostion,
GameType,
GmChat,
GmFreezeDuration,
GmLevelInGmList,
GmLevelInWhoList,
GmLoginState,
GmLowerSecurity,
GmVisibleState,
GmWhisperingTo,
GridUnload,
GroupVisibility,
GroupXpDistance,
GuildBankEventLogCount,
GuildEventLogCount,
GuildNewsLogCount,
GuildResetHour,
GuildSaveInterval,
HonorAfterDuel,
InstanceIgnoreLevel,
InstanceIgnoreRaid,
InstancemapLoadGrids,
InstanceResetTimeHour,
InstanceUnloadDelay,
InstancesResetAnnounce,
InstantLogout,
InstantTaxi,
IntervalChangeweather,
IntervalDisconnectTolerance,
IntervalGridclean,
IntervalMapupdate,
IntervalSave,
IpBasedActionLogging,
LfgOptionsmask,
ListenRangeSay,
ListenRangeTextemote,
ListenRangeYell,
LogdbClearinterval,
LogdbCleartime,
MailDeliveryDelay,
MailLevelReq,
MaxInstancesPerHour,
MaxOverspeedPings,
MaxPlayerLevel,
MaxPrimaryTradeSkill,
MaxRecruitAFriendBonusPlayerLevel,
MaxRecruitAFriendBonusPlayerLevelDifference,
MaxRecruitAFriendDistance,
MaxResultsLookupCommands,
MaxWho,
MinCharterName,
MinDualspecLevel,
MinLevelStatSave,
MinPetName,
MinPetitionSigns,
MinPlayerName,
NoGrayAggroAbove,
NoGrayAggroBelow,
NoResetTalentCost,
Numthreads,
OffhandCheckAtSpellUnlearn,
PacketSpoofBanduration,
PacketSpoofBanmode,
PacketSpoofPolicy,
PartyLevelReq,
PdumpNoOverwrite,
PdumpNoPaths,
PersistentCharacterCleanFlags,
PlayerAllowCommands,
PortInstance,
PortWorld,
PreserveCustomChannelDuration,
PreserveCustomChannels,
PreventRenameCustomization,
PvpTokenCount,
PvpTokenEnable,
PvpTokenId,
PvpTokenMapType,
QuestEnableQuestTracker,
QuestHighLevelHideDiff,
QuestIgnoreAutoAccept,
QuestIgnoreAutoComplete,
QuestIgnoreRaid,
QuestLowLevelHideDiff,
RandomBgResetHour,
RateAuctionCut,
RateAuctionDeposit,
RateAuctionTime,
RateCorpseDecayLooted,
RateCreatureAggro,
RateCreatureEliteEliteDamage,
RateCreatureEliteEliteHp,
RateCreatureEliteEliteSpelldamage,
RateCreatureEliteRareDamage,
RateCreatureEliteRareHp,
RateCreatureEliteRareSpelldamage,
RateCreatureEliteRareeliteDamage,
RateCreatureEliteRareeliteHp,
RateCreatureEliteRareeliteSpelldamage,
RateCreatureEliteWorldbossDamage,
RateCreatureEliteWorldbossHp,
RateCreatureEliteWorldbossSpelldamage,
RateCreatureNormalDamage,
RateCreatureNormalHp,
RateCreatureNormalSpelldamage,
RateDamageFall,
RateDropItemArtifact,
RateDropItemEpic,
RateDropItemLegendary,
RateDropItemNormal,
RateDropItemPoor,
RateDropItemRare,
RateDropItemReferenced,
RateDropItemReferencedAmount,
RateDropItemUncommon,
RateDropMoney,
RateDurabilityLossAbsorb,
RateDurabilityLossBlock,
RateDurabilityLossDamage,
RateDurabilityLossOnDeath,
RateDurabilityLossParry,
RateHealth,
RateHonor,
RateInstanceResetTime,
RateMoneyMaxLevelQuest,
RateMoneyQuest,
RateMovespeed,
RatePowerArcaneCharges,
RatePowerChi,
RatePowerComboPointsLoss,
RatePowerEnergy,
RatePowerFocus,
RatePowerFury,
RatePowerHolyPower,
RatePowerInsanity,
RatePowerLunarPower,
RatePowerMaelstrom,
RatePowerMana,
RatePowerPain,
RatePowerRageIncome,
RatePowerRageLoss,
RatePowerRunicPowerIncome,
RatePowerRunicPowerLoss,
RatePowerSoulShards,
RateRepaircost,
RateReputationGain,
RateReputationLowLevelKill,
RateReputationLowLevelQuest,
RateReputationRecruitAFriendBonus,
RateRestIngame,
RateRestOfflineInTavernOrCity,
RateRestOfflineInWilderness,
RateSkillDiscovery,
RateTalent,
RateTargetPosRecalculationRange,
RateXpExplore,
RateXpGuildModifier,
RateXpKill,
RateXpBgKill,
RateXpQuest,
RealmZone,
ResetDuelCooldowns,
ResetDuelHealthMana,
RespawnDynamicEscortNpc,
RespawnDynamicMinimumCreature,
RespawnDynamicMinimumGameObject,
RespawnDynamicMode,
RespawnDynamicRateCreature,
RespawnDynamicRateGameobject,
RespawnGuidAlertLevel,
RespawnGuidWarnLevel,
RespawnGuidWarningFrequency,
RespawnMinCheckIntervalMs,
RespawnRestartQuietTime,
RestrictedLfgChannel,
SaveRespawnTimeImmediately,
SessionAddDelay,
ShowBanInWorld,
ShowKickInWorld,
ShowMuteInWorld,
SightMonster,
SkillChanceGreen,
SkillChanceGrey,
SkillChanceMiningSteps,
SkillChanceOrange,
SkillChanceSkinningSteps,
SkillChanceYellow,
SkillGainCrafting,
SkillGainGathering,
SkillMilling,
SkillProspecting,
SkipCinematics,
SocketTimeoutTime,
SocketTimeoutTimeActive,
StartAlliedRaceLevel,
StartAllExplored,
StartAllRep,
StartAllSpells,
StartDeathKnightPlayerLevel,
StartDemonHunterPlayerLevel,
StartGmLevel,
StartPlayerLevel,
StartPlayerMoney,
StatsLimitsBlock,
StatsLimitsCrit,
StatsLimitsDodge,
StatsLimitsEnable,
StatsLimitsParry,
StatsSaveOnlyOnLogout,
StrictCharterNames,
StrictPetNames,
StrictPlayerNames,
SupportBugsEnabled,
SupportComplaintsEnabled,
SupportEnabled,
SupportSuggestionsEnabled,
SupportTicketsEnabled,
TalentsInspecting,
ThreatRadius,
TradeLevelReq,
UptimeUpdate,
VmapIndoorCheck,
WardenClientBanDuration,
WardenClientCheckHoldoff,
WardenClientFailAction,
WardenClientResponseDelay,
WardenEnabled,
WardenNumMemChecks,
WardenNumOtherChecks,
Weather,
WintergraspBattletime,
WintergraspEnable,
WintergraspNobattletime,
WintergraspPlrMax,
WintergraspPlrMin,
WintergraspPlrMinLvl,
WintergraspRestartAfterCrash,
WorldBossLevelDiff
}
public enum TimerType
{
Pvp = 0,
ChallengerMode = 1
}
public enum GameError : uint
{
System = 0,
InternalError = 1,
InvFull = 2,
BankFull = 3,
CantEquipLevelI = 4,
CantEquipSkill = 5,
CantEquipEver = 6,
CantEquipRank = 7,
CantEquipRating = 8,
CantEquipReputation = 9,
ProficiencyNeeded = 10,
WrongSlot = 11,
CantEquipNeedTalent = 12,
BagFull = 13,
InternalBagError = 14,
DestroyNonemptyBag = 15,
BagInBag = 16,
TooManySpecialBags = 17,
TradeEquippedBag = 18,
AmmoOnly = 19,
NoSlotAvailable = 20,
WrongBagType = 21,
ItemMaxCount = 22,
NotEquippable = 23,
CantStack = 24,
CantSwap = 25,
SlotEmpty = 26,
ItemNotFound = 27,
TooFewToSplit = 28,
SplitFailed = 29,
NotABag = 30,
NotOwner = 31,
OnlyOneQuiver = 32,
NoBankSlot = 33,
NoBankHere = 34,
ItemLocked = 35,
Equipped2handed = 36,
VendorNotInterested = 37,
VendorRefuseScrappableAzerite = 38,
VendorHatesYou = 39,
VendorSoldOut = 40,
VendorTooFar = 41,
VendorDoesntBuy = 42,
NotEnoughMoney = 43,
ReceiveItemS = 44,
DropBoundItem = 45,
TradeBoundItem = 46,
TradeQuestItem = 47,
TradeTempEnchantBound = 48,
TradeGroundItem = 49,
TradeBag = 50,
SpellFailedS = 51,
ItemCooldown = 52,
PotionCooldown = 53,
FoodCooldown = 54,
SpellCooldown = 55,
AbilityCooldown = 56,
SpellAlreadyKnownS = 57,
PetSpellAlreadyKnownS = 58,
ProficiencyGainedS = 59,
SkillGainedS = 60,
SkillUpSi = 61,
LearnSpellS = 62,
LearnAbilityS = 63,
LearnPassiveS = 64,
LearnRecipeS = 65,
LearnCompanionS = 66,
LearnMountS = 67,
LearnToyS = 68,
LearnHeirloomS = 69,
LearnTransmogS = 70,
CompletedTransmogSetS = 71,
RevokeTransmogS = 72,
InvitePlayerS = 73,
InviteSelf = 74,
InvitedToGroupSs = 75,
InvitedAlreadyInGroupSs = 76,
AlreadyInGroupS = 77,
CrossRealmRaidInvite = 78,
PlayerBusyS = 79,
NewLeaderS = 80,
NewLeaderYou = 81,
NewGuideS = 82,
NewGuideYou = 83,
LeftGroupS = 84,
LeftGroupYou = 85,
GroupDisbanded = 86,
DeclineGroupS = 87,
JoinedGroupS = 88,
UninviteYou = 89,
BadPlayerNameS = 90,
NotInGroup = 91,
TargetNotInGroupS = 92,
TargetNotInInstanceS = 93,
NotInInstanceGroup = 94,
GroupFull = 95,
NotLeader = 96,
PlayerDiedS = 97,
GuildCreateS = 98,
GuildInviteS = 99,
InvitedToGuildSss = 100,
AlreadyInGuildS = 101,
AlreadyInvitedToGuildS = 102,
InvitedToGuild = 103,
AlreadyInGuild = 104,
GuildAccept = 105,
GuildDeclineS = 106,
GuildDeclineAutoS = 107,
GuildPermissions = 108,
GuildJoinS = 109,
GuildFounderS = 110,
GuildPromoteSss = 111,
GuildDemoteSs = 112,
GuildDemoteSss = 113,
GuildInviteSelf = 114,
GuildQuitS = 115,
GuildLeaveS = 116,
GuildRemoveSs = 117,
GuildRemoveSelf = 118,
GuildDisbandS = 119,
GuildDisbandSelf = 120,
GuildLeaderS = 121,
GuildLeaderSelf = 122,
GuildPlayerNotFoundS = 123,
GuildPlayerNotInGuildS = 124,
GuildPlayerNotInGuild = 125,
GuildCantPromoteS = 126,
GuildCantDemoteS = 127,
GuildNotInAGuild = 128,
GuildInternal = 129,
GuildLeaderIsS = 130,
GuildLeaderChangedSs = 131,
GuildDisbanded = 132,
GuildNotAllied = 133,
GuildLeaderLeave = 134,
GuildRanksLocked = 135,
GuildRankInUse = 136,
GuildRankTooHighS = 137,
GuildRankTooLowS = 138,
GuildNameExistsS = 139,
GuildWithdrawLimit = 140,
GuildNotEnoughMoney = 141,
GuildTooMuchMoney = 142,
GuildBankConjuredItem = 143,
GuildBankEquippedItem = 144,
GuildBankBoundItem = 145,
GuildBankQuestItem = 146,
GuildBankWrappedItem = 147,
GuildBankFull = 148,
GuildBankWrongTab = 149,
NoGuildCharter = 150,
OutOfRange = 151,
PlayerDead = 152,
ClientLockedOut = 153,
ClientOnTransport = 154,
KilledByS = 155,
LootLocked = 156,
LootTooFar = 157,
LootDidntKill = 158,
LootBadFacing = 159,
LootNotstanding = 160,
LootStunned = 161,
LootNoUi = 162,
LootWhileInvulnerable = 163,
NoLoot = 164,
QuestAcceptedS = 165,
QuestCompleteS = 166,
QuestFailedS = 167,
QuestFailedBagFullS = 168,
QuestFailedMaxCountS = 169,
QuestFailedLowLevel = 170,
QuestFailedMissingItems = 171,
QuestFailedWrongRace = 172,
QuestFailedNotEnoughMoney = 173,
QuestFailedExpansion = 174,
QuestOnlyOneTimed = 175,
QuestNeedPrereqs = 176,
QuestNeedPrereqsCustom = 177,
QuestAlreadyOn = 178,
QuestAlreadyDone = 179,
QuestAlreadyDoneDaily = 180,
QuestHasInProgress = 181,
QuestRewardExpI = 182,
QuestRewardMoneyS = 183,
QuestMustChoose = 184,
QuestLogFull = 185,
CombatDamageSsi = 186,
InspectS = 187,
CantUseItem = 188,
CantUseItemInArena = 189,
CantUseItemInRatedBattleground = 190,
MustEquipItem = 191,
PassiveAbility = 192,
SkillNotFound2h = 193,
NoAttackTarget = 194,
InvalidAttackTarget = 195,
AttackPvpTargetWhileUnflagged = 196,
AttackStunned = 197,
AttackPacified = 198,
AttackMounted = 199,
AttackFleeing = 200,
AttackConfused = 201,
AttackCharmed = 202,
AttackDead = 203,
AttackPreventedByMechanicS = 204,
AttackChannel = 205,
Taxisamenode = 206,
Taxinosuchpath = 207,
Taxiunspecifiedservererror = 208,
Taxinotenoughmoney = 209,
Taxitoofaraway = 210,
Taxinovendornearby = 211,
Taxinotvisited = 212,
Taxiplayerbusy = 213,
Taxiplayeralreadymounted = 214,
Taxiplayershapeshifted = 215,
Taxiplayermoving = 216,
Taxinopaths = 217,
Taxinoteligible = 218,
Taxinotstanding = 219,
NoReplyTarget = 220,
GenericNoTarget = 221,
InitiateTradeS = 222,
TradeRequestS = 223,
TradeBlockedS = 224,
TradeTargetDead = 225,
TradeTooFar = 226,
TradeCancelled = 227,
TradeComplete = 228,
TradeBagFull = 229,
TradeTargetBagFull = 230,
TradeMaxCountExceeded = 231,
TradeTargetMaxCountExceeded = 232,
AlreadyTrading = 233,
MountInvalidmountee = 234,
MountToofaraway = 235,
MountAlreadymounted = 236,
MountNotmountable = 237,
MountNotyourpet = 238,
MountOther = 239,
MountLooting = 240,
MountRacecantmount = 241,
MountShapeshifted = 242,
MountNoFavorites = 243,
DismountNopet = 244,
DismountNotmounted = 245,
DismountNotyourpet = 246,
SpellFailedTotems = 247,
SpellFailedReagents = 248,
SpellFailedReagentsGeneric = 249,
SpellFailedOptionalReagents = 250,
CantTradeGold = 251,
SpellFailedEquippedItem = 252,
SpellFailedEquippedItemClassS = 253,
SpellFailedShapeshiftFormS = 254,
SpellFailedAnotherInProgress = 255,
Badattackfacing = 256,
Badattackpos = 257,
ChestInUse = 258,
UseCantOpen = 259,
UseLocked = 260,
DoorLocked = 261,
ButtonLocked = 262,
UseLockedWithItemS = 263,
UseLockedWithSpellS = 264,
UseLockedWithSpellKnownSi = 265,
UseTooFar = 266,
UseBadAngle = 267,
UseObjectMoving = 268,
UseSpellFocus = 269,
UseDestroyed = 270,
SetLootFreeforall = 271,
SetLootRoundrobin = 272,
SetLootMaster = 273,
SetLootGroup = 274,
SetLootThresholdS = 275,
NewLootMasterS = 276,
SpecifyMasterLooter = 277,
LootSpecChangedS = 278,
TameFailed = 279,
ChatWhileDead = 280,
ChatPlayerNotFoundS = 281,
Newtaxipath = 282,
NoPet = 283,
Notyourpet = 284,
PetNotRenameable = 285,
QuestObjectiveCompleteS = 286,
QuestUnknownComplete = 287,
QuestAddKillSii = 288,
QuestAddFoundSii = 289,
QuestAddItemSii = 290,
QuestAddPlayerKillSii = 291,
Cannotcreatedirectory = 292,
Cannotcreatefile = 293,
PlayerWrongFaction = 294,
PlayerIsNeutral = 295,
BankslotFailedTooMany = 296,
BankslotInsufficientFunds = 297,
BankslotNotbanker = 298,
FriendDbError = 299,
FriendListFull = 300,
FriendAddedS = 301,
BattletagFriendAddedS = 302,
FriendOnlineSs = 303,
FriendOfflineS = 304,
FriendNotFound = 305,
FriendWrongFaction = 306,
FriendRemovedS = 307,
BattletagFriendRemovedS = 308,
FriendError = 309,
FriendAlreadyS = 310,
FriendSelf = 311,
FriendDeleted = 312,
IgnoreFull = 313,
IgnoreSelf = 314,
IgnoreNotFound = 315,
IgnoreAlreadyS = 316,
IgnoreAddedS = 317,
IgnoreRemovedS = 318,
IgnoreAmbiguous = 319,
IgnoreDeleted = 320,
OnlyOneBolt = 321,
OnlyOneAmmo = 322,
SpellFailedEquippedSpecificItem = 323,
WrongBagTypeSubclass = 324,
CantWrapStackable = 325,
CantWrapEquipped = 326,
CantWrapWrapped = 327,
CantWrapBound = 328,
CantWrapUnique = 329,
CantWrapBags = 330,
OutOfMana = 331,
OutOfRage = 332,
OutOfFocus = 333,
OutOfEnergy = 334,
OutOfChi = 335,
OutOfHealth = 336,
OutOfRunes = 337,
OutOfRunicPower = 338,
OutOfSoulShards = 339,
OutOfLunarPower = 340,
OutOfHolyPower = 341,
OutOfMaelstrom = 342,
OutOfComboPoints = 343,
OutOfInsanity = 344,
OutOfArcaneCharges = 345,
OutOfFury = 346,
OutOfPain = 347,
OutOfPowerDisplay = 348,
LootGone = 349,
MountForceddismount = 350,
AutofollowTooFar = 351,
UnitNotFound = 352,
InvalidFollowTarget = 353,
InvalidFollowPvpCombat = 354,
InvalidFollowTargetPvpCombat = 355,
InvalidInspectTarget = 356,
GuildemblemSuccess = 357,
GuildemblemInvalidTabardColors = 358,
GuildemblemNoguild = 359,
GuildemblemNotguildmaster = 360,
GuildemblemNotenoughmoney = 361,
GuildemblemInvalidvendor = 362,
EmblemerrorNotabardgeoset = 363,
SpellOutOfRange = 364,
CommandNeedsTarget = 365,
NoammoS = 366,
Toobusytofollow = 367,
DuelRequested = 368,
DuelCancelled = 369,
Deathbindalreadybound = 370,
DeathbindSuccessS = 371,
Noemotewhilerunning = 372,
ZoneExplored = 373,
ZoneExploredXp = 374,
InvalidItemTarget = 375,
InvalidQuestTarget = 376,
IgnoringYouS = 377,
FishNotHooked = 378,
FishEscaped = 379,
SpellFailedNotunsheathed = 380,
PetitionOfferedS = 381,
PetitionSigned = 382,
PetitionSignedS = 383,
PetitionDeclinedS = 384,
PetitionAlreadySigned = 385,
PetitionRestrictedAccountTrial = 386,
PetitionAlreadySignedOther = 387,
PetitionInGuild = 388,
PetitionCreator = 389,
PetitionNotEnoughSignatures = 390,
PetitionNotSameServer = 391,
PetitionFull = 392,
PetitionAlreadySignedByS = 393,
GuildNameInvalid = 394,
SpellUnlearnedS = 395,
PetSpellRooted = 396,
PetSpellAffectingCombat = 397,
PetSpellOutOfRange = 398,
PetSpellNotBehind = 399,
PetSpellTargetsDead = 400,
PetSpellDead = 401,
PetSpellNopath = 402,
ItemCantBeDestroyed = 403,
TicketAlreadyExists = 404,
TicketCreateError = 405,
TicketUpdateError = 406,
TicketDbError = 407,
TicketNoText = 408,
TicketTextTooLong = 409,
ObjectIsBusy = 410,
ExhaustionWellrested = 411,
ExhaustionRested = 412,
ExhaustionNormal = 413,
ExhaustionTired = 414,
ExhaustionExhausted = 415,
NoItemsWhileShapeshifted = 416,
CantInteractShapeshifted = 417,
RealmNotFound = 418,
MailQuestItem = 419,
MailBoundItem = 420,
MailConjuredItem = 421,
MailBag = 422,
MailToSelf = 423,
MailTargetNotFound = 424,
MailDatabaseError = 425,
MailDeleteItemError = 426,
MailWrappedCod = 427,
MailCantSendRealm = 428,
MailTempReturnOutage = 429,
MailSent = 430,
NotHappyEnough = 431,
UseCantImmune = 432,
CantBeDisenchanted = 433,
CantUseDisarmed = 434,
AuctionQuestItem = 435,
AuctionBoundItem = 436,
AuctionConjuredItem = 437,
AuctionLimitedDurationItem = 438,
AuctionWrappedItem = 439,
AuctionLootItem = 440,
AuctionBag = 441,
AuctionEquippedBag = 442,
AuctionDatabaseError = 443,
AuctionBidOwn = 444,
AuctionBidIncrement = 445,
AuctionHigherBid = 446,
AuctionMinBid = 447,
AuctionRepairItem = 448,
AuctionUsedCharges = 449,
AuctionAlreadyBid = 450,
AuctionHouseUnavailable = 451,
AuctionItemHasQuote = 452,
AuctionHouseBusy = 453,
AuctionStarted = 454,
AuctionRemoved = 455,
AuctionOutbidS = 456,
AuctionWonS = 457,
AuctionCommodityWonS = 458,
AuctionSoldS = 459,
AuctionExpiredS = 460,
AuctionRemovedS = 461,
AuctionBidPlaced = 462,
LogoutFailed = 463,
QuestPushSuccessS = 464,
QuestPushInvalidS = 465,
QuestPushAcceptedS = 466,
QuestPushDeclinedS = 467,
QuestPushBusyS = 468,
QuestPushDeadS = 469,
QuestPushLogFullS = 470,
QuestPushOnquestS = 471,
QuestPushAlreadyDoneS = 472,
QuestPushNotDailyS = 473,
QuestPushTimerExpiredS = 474,
QuestPushNotInPartyS = 475,
QuestPushDifferentServerDailyS = 476,
QuestPushNotAllowedS = 477,
RaidGroupLowlevel = 478,
RaidGroupOnly = 479,
RaidGroupFull = 480,
RaidGroupRequirementsUnmatch = 481,
CorpseIsNotInInstance = 482,
PvpKillHonorable = 483,
PvpKillDishonorable = 484,
SpellFailedAlreadyAtFullHealth = 485,
SpellFailedAlreadyAtFullMana = 486,
SpellFailedAlreadyAtFullPowerS = 487,
AutolootMoneyS = 488,
GenericStunned = 489,
GenericThrottle = 490,
ClubFinderSearchingTooFast = 491,
TargetStunned = 492,
MustRepairDurability = 493,
RaidYouJoined = 494,
RaidYouLeft = 495,
InstanceGroupJoinedWithParty = 496,
InstanceGroupJoinedWithRaid = 497,
RaidMemberAddedS = 498,
RaidMemberRemovedS = 499,
InstanceGroupAddedS = 500,
InstanceGroupRemovedS = 501,
ClickOnItemToFeed = 502,
TooManyChatChannels = 503,
LootRollPending = 504,
LootPlayerNotFound = 505,
NotInRaid = 506,
LoggingOut = 507,
TargetLoggingOut = 508,
NotWhileMounted = 509,
NotWhileShapeshifted = 510,
NotInCombat = 511,
NotWhileDisarmed = 512,
PetBroken = 513,
TalentWipeError = 514,
SpecWipeError = 515,
GlyphWipeError = 516,
PetSpecWipeError = 517,
FeignDeathResisted = 518,
MeetingStoneInQueueS = 519,
MeetingStoneLeftQueueS = 520,
MeetingStoneOtherMemberLeft = 521,
MeetingStonePartyKickedFromQueue = 522,
MeetingStoneMemberStillInQueue = 523,
MeetingStoneSuccess = 524,
MeetingStoneInProgress = 525,
MeetingStoneMemberAddedS = 526,
MeetingStoneGroupFull = 527,
MeetingStoneNotLeader = 528,
MeetingStoneInvalidLevel = 529,
MeetingStoneTargetNotInParty = 530,
MeetingStoneTargetInvalidLevel = 531,
MeetingStoneMustBeLeader = 532,
MeetingStoneNoRaidGroup = 533,
MeetingStoneNeedParty = 534,
MeetingStoneNotFound = 535,
MeetingStoneTargetInVehicle = 536,
GuildemblemSame = 537,
EquipTradeItem = 538,
PvpToggleOn = 539,
PvpToggleOff = 540,
GroupJoinBattlegroundDeserters = 541,
GroupJoinBattlegroundDead = 542,
GroupJoinBattlegroundS = 543,
GroupJoinBattlegroundFail = 544,
GroupJoinBattlegroundTooMany = 545,
SoloJoinBattlegroundS = 546,
JoinSingleScenarioS = 547,
BattlegroundTooManyQueues = 548,
BattlegroundCannotQueueForRated = 549,
BattledgroundQueuedForRated = 550,
BattlegroundTeamLeftQueue = 551,
BattlegroundNotInBattleground = 552,
AlreadyInArenaTeamS = 553,
InvalidPromotionCode = 554,
BgPlayerJoinedSs = 555,
BgPlayerLeftS = 556,
RestrictedAccount = 557,
RestrictedAccountTrial = 558,
PlayTimeExceeded = 559,
ApproachingPartialPlayTime = 560,
ApproachingPartialPlayTime2 = 561,
ApproachingNoPlayTime = 562,
ApproachingNoPlayTime2 = 563,
UnhealthyTime = 564,
ChatRestrictedTrial = 565,
ChatThrottled = 566,
MailReachedCap = 567,
InvalidRaidTarget = 568,
RaidLeaderReadyCheckStartS = 569,
ReadyCheckInProgress = 570,
ReadyCheckThrottled = 571,
DungeonDifficultyFailed = 572,
DungeonDifficultyChangedS = 573,
TradeWrongRealm = 574,
TradeNotOnTaplist = 575,
ChatPlayerAmbiguousS = 576,
LootCantLootThatNow = 577,
LootMasterInvFull = 578,
LootMasterUniqueItem = 579,
LootMasterOther = 580,
FilteringYouS = 581,
UsePreventedByMechanicS = 582,
ItemUniqueEquippable = 583,
LfgLeaderIsLfmS = 584,
LfgPending = 585,
CantSpeakLangage = 586,
VendorMissingTurnins = 587,
BattlegroundNotInTeam = 588,
NotInBattleground = 589,
NotEnoughHonorPoints = 590,
NotEnoughArenaPoints = 591,
SocketingRequiresMetaGem = 592,
SocketingMetaGemOnlyInMetaslot = 593,
SocketingRequiresHydraulicGem = 594,
SocketingHydraulicGemOnlyInHydraulicslot = 595,
SocketingRequiresCogwheelGem = 596,
SocketingCogwheelGemOnlyInCogwheelslot = 597,
SocketingItemTooLowLevel = 598,
ItemMaxCountSocketed = 599,
SystemDisabled = 600,
QuestFailedTooManyDailyQuestsI = 601,
ItemMaxCountEquippedSocketed = 602,
ItemUniqueEquippableSocketed = 603,
UserSquelched = 604,
AccountSilenced = 605,
TooMuchGold = 606,
NotBarberSitting = 607,
QuestFailedCais = 608,
InviteRestrictedTrial = 609,
VoiceIgnoreFull = 610,
VoiceIgnoreSelf = 611,
VoiceIgnoreNotFound = 612,
VoiceIgnoreAlreadyS = 613,
VoiceIgnoreAddedS = 614,
VoiceIgnoreRemovedS = 615,
VoiceIgnoreAmbiguous = 616,
VoiceIgnoreDeleted = 617,
UnknownMacroOptionS = 618,
NotDuringArenaMatch = 619,
PlayerSilenced = 620,
PlayerUnsilenced = 621,
ComsatDisconnect = 622,
ComsatReconnectAttempt = 623,
ComsatConnectFail = 624,
MailInvalidAttachmentSlot = 625,
MailTooManyAttachments = 626,
MailInvalidAttachment = 627,
MailAttachmentExpired = 628,
VoiceChatParentalDisableMic = 629,
ProfaneChatName = 630,
PlayerSilencedEcho = 631,
PlayerUnsilencedEcho = 632,
LootCantLootThat = 633,
ArenaExpiredCais = 634,
GroupActionThrottled = 635,
AlreadyPickpocketed = 636,
NameInvalid = 637,
NameNoName = 638,
NameTooShort = 639,
NameTooLong = 640,
NameMixedLanguages = 641,
NameProfane = 642,
NameReserved = 643,
NameThreeConsecutive = 644,
NameInvalidSpace = 645,
NameConsecutiveSpaces = 646,
NameRussianConsecutiveSilentCharacters = 647,
NameRussianSilentCharacterAtBeginningOrEnd = 648,
NameDeclensionDoesntMatchBaseName = 649,
RecruitAFriendNotLinked = 650,
RecruitAFriendNotNow = 651,
RecruitAFriendSummonLevelMax = 652,
RecruitAFriendSummonCooldown = 653,
RecruitAFriendSummonOffline = 654,
RecruitAFriendInsufExpanLvl = 655,
RecruitAFriendMapIncomingTransferNotAllowed = 656,
NotSameAccount = 657,
BadOnUseEnchant = 658,
TradeSelf = 659,
TooManySockets = 660,
ItemMaxLimitCategoryCountExceededIs = 661,
TradeTargetMaxLimitCategoryCountExceededIs = 662,
ItemMaxLimitCategorySocketedExceededIs = 663,
ItemMaxLimitCategoryEquippedExceededIs = 664,
ShapeshiftFormCannotEquip = 665,
ItemInventoryFullSatchel = 666,
ScalingStatItemLevelExceeded = 667,
ScalingStatItemLevelTooLow = 668,
PurchaseLevelTooLow = 669,
GroupSwapFailed = 670,
InviteInCombat = 671,
InvalidGlyphSlot = 672,
GenericNoValidTargets = 673,
CalendarEventAlertS = 674,
PetLearnSpellS = 675,
PetLearnAbilityS = 676,
PetSpellUnlearnedS = 677,
InviteUnknownRealm = 678,
InviteNoPartyServer = 679,
InvitePartyBusy = 680,
PartyTargetAmbiguous = 681,
PartyLfgInviteRaidLocked = 682,
PartyLfgBootLimit = 683,
PartyLfgBootCooldownS = 684,
PartyLfgBootNotEligibleS = 685,
PartyLfgBootInpatientTimerS = 686,
PartyLfgBootInProgress = 687,
PartyLfgBootTooFewPlayers = 688,
PartyLfgBootVoteSucceeded = 689,
PartyLfgBootVoteFailed = 690,
PartyLfgBootInCombat = 691,
PartyLfgBootDungeonComplete = 692,
PartyLfgBootLootRolls = 693,
PartyLfgBootVoteRegistered = 694,
PartyPrivateGroupOnly = 695,
PartyLfgTeleportInCombat = 696,
RaidDisallowedByLevel = 697,
RaidDisallowedByCrossRealm = 698,
PartyRoleNotAvailable = 699,
JoinLfgObjectFailed = 700,
LfgRemovedLevelup = 701,
LfgRemovedXpToggle = 702,
LfgRemovedFactionChange = 703,
BattlegroundInfoThrottled = 704,
BattlegroundAlreadyIn = 705,
ArenaTeamChangeFailedQueued = 706,
ArenaTeamPermissions = 707,
NotWhileFalling = 708,
NotWhileMoving = 709,
NotWhileFatigued = 710,
MaxSockets = 711,
MultiCastActionTotemS = 712,
BattlegroundJoinLevelup = 713,
RemoveFromPvpQueueXpGain = 714,
BattlegroundJoinXpGain = 715,
BattlegroundJoinMercenary = 716,
BattlegroundJoinTooManyHealers = 717,
BattlegroundJoinRatedTooManyHealers = 718,
BattlegroundJoinTooManyTanks = 719,
BattlegroundJoinTooManyDamage = 720,
RaidDifficultyFailed = 721,
RaidDifficultyChangedS = 722,
LegacyRaidDifficultyChangedS = 723,
RaidLockoutChangedS = 724,
RaidConvertedToParty = 725,
PartyConvertedToRaid = 726,
PlayerDifficultyChangedS = 727,
GmresponseDbError = 728,
BattlegroundJoinRangeIndex = 729,
ArenaJoinRangeIndex = 730,
RemoveFromPvpQueueFactionChange = 731,
BattlegroundJoinFailed = 732,
BattlegroundJoinNoValidSpecForRole = 733,
BattlegroundJoinRespec = 734,
BattlegroundInvitationDeclined = 735,
BattlegroundJoinTimedOut = 736,
BattlegroundDupeQueue = 737,
BattlegroundJoinMustCompleteQuest = 738,
InBattlegroundRespec = 739,
MailLimitedDurationItem = 740,
YellRestrictedTrial = 741,
ChatRaidRestrictedTrial = 742,
LfgRoleCheckFailed = 743,
LfgRoleCheckFailedTimeout = 744,
LfgRoleCheckFailedNotViable = 745,
LfgReadyCheckFailed = 746,
LfgReadyCheckFailedTimeout = 747,
LfgGroupFull = 748,
LfgNoLfgObject = 749,
LfgNoSlotsPlayer = 750,
LfgNoSlotsParty = 751,
LfgNoSpec = 752,
LfgMismatchedSlots = 753,
LfgMismatchedSlotsLocalXrealm = 754,
LfgPartyPlayersFromDifferentRealms = 755,
LfgMembersNotPresent = 756,
LfgGetInfoTimeout = 757,
LfgInvalidSlot = 758,
LfgDeserterPlayer = 759,
LfgDeserterParty = 760,
LfgDead = 761,
LfgRandomCooldownPlayer = 762,
LfgRandomCooldownParty = 763,
LfgTooManyMembers = 764,
LfgTooFewMembers = 765,
LfgProposalFailed = 766,
LfgProposalDeclinedSelf = 767,
LfgProposalDeclinedParty = 768,
LfgNoSlotsSelected = 769,
LfgNoRolesSelected = 770,
LfgRoleCheckInitiated = 771,
LfgReadyCheckInitiated = 772,
LfgPlayerDeclinedRoleCheck = 773,
LfgPlayerDeclinedReadyCheck = 774,
LfgJoinedQueue = 775,
LfgJoinedFlexQueue = 776,
LfgJoinedRfQueue = 777,
LfgJoinedScenarioQueue = 778,
LfgJoinedWorldPvpQueue = 779,
LfgJoinedBattlefieldQueue = 780,
LfgJoinedList = 781,
LfgLeftQueue = 782,
LfgLeftList = 783,
LfgRoleCheckAborted = 784,
LfgReadyCheckAborted = 785,
LfgCantUseBattleground = 786,
LfgCantUseDungeons = 787,
LfgReasonTooManyLfg = 788,
InvalidTeleportLocation = 789,
TooFarToInteract = 790,
BattlegroundPlayersFromDifferentRealms = 791,
DifficultyChangeCooldownS = 792,
DifficultyChangeCombatCooldownS = 793,
DifficultyChangeWorldstate = 794,
DifficultyChangeEncounter = 795,
DifficultyChangeCombat = 796,
DifficultyChangePlayerBusy = 797,
DifficultyChangeAlreadyStarted = 798,
DifficultyChangeOtherHeroicS = 799,
DifficultyChangeHeroicInstanceAlreadyRunning = 800,
ArenaTeamPartySize = 801,
QuestForceRemovedS = 802,
AttackNoActions = 803,
InRandomBg = 804,
InNonRandomBg = 805,
AuctionEnoughItems = 806,
BnFriendSelf = 807,
BnFriendAlready = 808,
BnFriendBlocked = 809,
BnFriendListFull = 810,
BnFriendRequestSent = 811,
BnBroadcastThrottle = 812,
BgDeveloperOnly = 813,
CurrencySpellSlotMismatch = 814,
CurrencyNotTradable = 815,
RequiresExpansionS = 816,
QuestFailedSpell = 817,
TalentFailedNotEnoughTalentsInPrimaryTree = 818,
TalentFailedNoPrimaryTreeSelected = 819,
TalentFailedCantRemoveTalent = 820,
TalentFailedUnknown = 821,
WargameRequestFailure = 822,
RankRequiresAuthenticator = 823,
GuildBankVoucherFailed = 824,
WargameRequestSent = 825,
RequiresAchievementI = 826,
RefundResultExceedMaxCurrency = 827,
CantBuyQuantity = 828,
ItemIsBattlePayLocked = 829,
PartyAlreadyInBattlegroundQueue = 830,
PartyConfirmingBattlegroundQueue = 831,
BattlefieldTeamPartySize = 832,
InsuffTrackedCurrencyIs = 833,
NotOnTournamentRealm = 834,
GuildTrialAccountTrial = 835,
GuildTrialAccountVeteran = 836,
GuildUndeletableDueToLevel = 837,
CantDoThatInAGroup = 838,
GuildLeaderReplaced = 839,
TransmogrifyCantEquip = 840,
TransmogrifyInvalidItemType = 841,
TransmogrifyNotSoulbound = 842,
TransmogrifyInvalidSource = 843,
TransmogrifyInvalidDestination = 844,
TransmogrifyMismatch = 845,
TransmogrifyLegendary = 846,
TransmogrifySameItem = 847,
TransmogrifySameAppearance = 848,
TransmogrifyNotEquipped = 849,
VoidDepositFull = 850,
VoidWithdrawFull = 851,
VoidStorageWrapped = 852,
VoidStorageStackable = 853,
VoidStorageUnbound = 854,
VoidStorageRepair = 855,
VoidStorageCharges = 856,
VoidStorageQuest = 857,
VoidStorageConjured = 858,
VoidStorageMail = 859,
VoidStorageBag = 860,
VoidTransferStorageFull = 861,
VoidTransferInvFull = 862,
VoidTransferInternalError = 863,
VoidTransferItemInvalid = 864,
DifficultyDisabledInLfg = 865,
VoidStorageUnique = 866,
VoidStorageLoot = 867,
VoidStorageHoliday = 868,
VoidStorageDuration = 869,
VoidStorageLoadFailed = 870,
VoidStorageInvalidItem = 871,
ParentalControlsChatMuted = 872,
SorStartExperienceIncomplete = 873,
SorInvalidEmail = 874,
SorInvalidComment = 875,
ChallengeModeResetCooldownS = 876,
ChallengeModeResetKeystone = 877,
PetJournalAlreadyInLoadout = 878,
ReportSubmittedSuccessfully = 879,
ReportSubmissionFailed = 880,
SuggestionSubmittedSuccessfully = 881,
BugSubmittedSuccessfully = 882,
ChallengeModeEnabled = 883,
ChallengeModeDisabled = 884,
PetbattleCreateFailed = 885,
PetbattleNotHere = 886,
PetbattleNotHereOnTransport = 887,
PetbattleNotHereUnevenGround = 888,
PetbattleNotHereObstructed = 889,
PetbattleNotWhileInCombat = 890,
PetbattleNotWhileDead = 891,
PetbattleNotWhileFlying = 892,
PetbattleTargetInvalid = 893,
PetbattleTargetOutOfRange = 894,
PetbattleTargetNotCapturable = 895,
PetbattleNotATrainer = 896,
PetbattleDeclined = 897,
PetbattleInBattle = 898,
PetbattleInvalidLoadout = 899,
PetbattleAllPetsDead = 900,
PetbattleNoPetsInSlots = 901,
PetbattleNoAccountLock = 902,
PetbattleWildPetTapped = 903,
PetbattleRestrictedAccount = 904,
PetbattleOpponentNotAvailable = 905,
PetbattleNotWhileInMatchedBattle = 906,
CantHaveMorePetsOfThatType = 907,
CantHaveMorePets = 908,
PvpMapNotFound = 909,
PvpMapNotSet = 910,
PetbattleQueueQueued = 911,
PetbattleQueueAlreadyQueued = 912,
PetbattleQueueJoinFailed = 913,
PetbattleQueueJournalLock = 914,
PetbattleQueueRemoved = 915,
PetbattleQueueProposalDeclined = 916,
PetbattleQueueProposalTimeout = 917,
PetbattleQueueOpponentDeclined = 918,
PetbattleQueueRequeuedInternal = 919,
PetbattleQueueRequeuedRemoved = 920,
PetbattleQueueSlotLocked = 921,
PetbattleQueueSlotEmpty = 922,
PetbattleQueueSlotNoTracker = 923,
PetbattleQueueSlotNoSpecies = 924,
PetbattleQueueSlotCantBattle = 925,
PetbattleQueueSlotRevoked = 926,
PetbattleQueueSlotDead = 927,
PetbattleQueueSlotNoPet = 928,
PetbattleQueueNotWhileNeutral = 929,
PetbattleGameTimeLimitWarning = 930,
PetbattleGameRoundsLimitWarning = 931,
HasRestriction = 932,
ItemUpgradeItemTooLowLevel = 933,
ItemUpgradeNoPath = 934,
ItemUpgradeNoMoreUpgrades = 935,
BonusRollEmpty = 936,
ChallengeModeFull = 937,
ChallengeModeInProgress = 938,
ChallengeModeIncorrectKeystone = 939,
BattletagFriendNotFound = 940,
BattletagFriendNotValid = 941,
BattletagFriendNotAllowed = 942,
BattletagFriendThrottled = 943,
BattletagFriendSuccess = 944,
PetTooHighLevelToUncage = 945,
PetbattleInternal = 946,
CantCagePetYet = 947,
NoLootInChallengeMode = 948,
QuestPetBattleVictoriesPvpIi = 949,
RoleCheckAlreadyInProgress = 950,
RecruitAFriendAccountLimit = 951,
RecruitAFriendFailed = 952,
SetLootPersonal = 953,
SetLootMethodFailedCombat = 954,
ReagentBankFull = 955,
ReagentBankLocked = 956,
GarrisonBuildingExists = 957,
GarrisonInvalidPlot = 958,
GarrisonInvalidBuildingid = 959,
GarrisonInvalidPlotBuilding = 960,
GarrisonRequiresBlueprint = 961,
GarrisonNotEnoughCurrency = 962,
GarrisonNotEnoughGold = 963,
GarrisonCompleteMissionWrongFollowerType = 964,
AlreadyUsingLfgList = 965,
RestrictedAccountLfgListTrial = 966,
ToyUseLimitReached = 967,
ToyAlreadyKnown = 968,
TransmogSetAlreadyKnown = 969,
NotEnoughCurrency = 970,
SpecIsDisabled = 971,
FeatureRestrictedTrial = 972,
CantBeObliterated = 973,
CantBeScrapped = 974,
ArtifactRelicDoesNotMatchArtifact = 975,
MustEquipArtifact = 976,
CantDoThatRightNow = 977,
AffectingCombat = 978,
EquipmentManagerCombatSwapS = 979,
EquipmentManagerBagsFull = 980,
EquipmentManagerMissingItemS = 981,
MovieRecordingWarningPerf = 982,
MovieRecordingWarningDiskFull = 983,
MovieRecordingWarningNoMovie = 984,
MovieRecordingWarningRequirements = 985,
MovieRecordingWarningCompressing = 986,
NoChallengeModeReward = 987,
ClaimedChallengeModeReward = 988,
ChallengeModePeriodResetSs = 989,
CantDoThatChallengeModeActive = 990,
TalentFailedRestArea = 991,
CannotAbandonLastPet = 992,
TestCvarSetSss = 993,
QuestTurnInFailReason = 994,
ClaimedChallengeModeRewardOld = 995,
TalentGrantedByAura = 996,
ChallengeModeAlreadyComplete = 997,
GlyphTargetNotAvailable = 998,
PvpWarmodeToggleOn = 999,
PvpWarmodeToggleOff = 1000,
SpellFailedLevelRequirement = 1001,
BattlegroundJoinRequiresLevel = 1002,
BattlegroundJoinDisqualified = 1003,
BattlegroundJoinDisqualifiedNoName = 1004,
VoiceChatGenericUnableToConnect = 1005,
VoiceChatServiceLost = 1006,
VoiceChatChannelNameTooShort = 1007,
VoiceChatChannelNameTooLong = 1008,
VoiceChatChannelAlreadyExists = 1009,
VoiceChatTargetNotFound = 1010,
VoiceChatTooManyRequests = 1011,
VoiceChatPlayerSilenced = 1012,
VoiceChatParentalDisableAll = 1013,
VoiceChatDisabled = 1014,
NoPvpReward = 1015,
ClaimedPvpReward = 1016,
AzeriteEssenceSelectionFailedEssenceNotUnlocked = 1017,
AzeriteEssenceSelectionFailedCantRemoveEssence = 1018,
AzeriteEssenceSelectionFailedConditionFailed = 1019,
AzeriteEssenceSelectionFailedRestArea = 1020,
AzeriteEssenceSelectionFailedSlotLocked = 1021,
AzeriteEssenceSelectionFailedNotAtForge = 1022,
AzeriteEssenceSelectionFailedHeartLevelTooLow = 1023,
AzeriteEssenceSelectionFailedNotEquipped = 1024,
SocketingRequiresPunchcardredGem = 1025,
SocketingPunchcardredGemOnlyInPunchcardredslot = 1026,
SocketingRequiresPunchcardyellowGem = 1027,
SocketingPunchcardyellowGemOnlyInPunchcardyellowslot = 1028,
SocketingRequiresPunchcardblueGem = 1029,
SocketingPunchcardblueGemOnlyInPunchcardblueslot = 1030,
LevelLinkingResultLinked = 1031,
LevelLinkingResultUnlinked = 1032,
ClubFinderErrorPostClub = 1033,
ClubFinderErrorApplyClub = 1034,
ClubFinderErrorRespondApplicant = 1035,
ClubFinderErrorCancelApplication = 1036,
ClubFinderErrorTypeAcceptApplication = 1037,
ClubFinderErrorTypeNoInvitePermissions = 1038,
ClubFinderErrorTypeNoPostingPermissions = 1039,
ClubFinderErrorTypeApplicantList = 1040,
ClubFinderErrorTypeApplicantListNoPerm = 1041,
ClubFinderErrorTypeFinderNotAvailable = 1042,
ClubFinderErrorTypeGetPostingIds = 1043,
ClubFinderErrorTypeJoinApplication = 1044,
ClubFinderErrorTypeFlaggedRename = 1045,
ClubFinderErrorTypeFlaggedDescriptionChange = 1046,
ItemInteractionNotEnoughGold = 1047,
ItemInteractionNotEnoughCurrency = 1048,
PlayerChoiceErrorPendingChoice = 1049,
SoulbindInvalidConduit = 1050,
SoulbindInvalidConduitItem = 1051,
SoulbindInvalidTalent = 1052,
SoulbindDuplicateConduit = 1053,
ActivateSoulbindFailedRestArea = 1054,
CantUseProfanity = 1055,
NotInPetBattle = 1056,
NotInNpe = 1057,
}
public enum SceneFlags
{
Unk1 = 0x01,
CancelAtEnd = 0x02,
NotCancelable = 0x04,
Unk8 = 0x08,
Unk16 = 0x10, // 16, most common value
Unk32 = 0x20
}
public enum WorldMapTransformsFlags
{
Dungeon = 0x04
}
public enum VisibilityDistanceType
{
Normal = 0,
Tiny = 1,
Small = 2,
Large = 3,
Gigantic = 4,
Infinite = 5,
Max
}
public enum ConversationActorType
{
WorldObjectActor = 0,
CreatureActor = 1
}
public enum CorpseDynFlags
{
Lootable = 0x0001
}
public enum QueryDataGroup
{
Creatures = 0x01,
Gameobjects = 0x02,
Items = 0x04,
Quests = 0x08,
POIs = 0x10,
All = 0xFF
}
}