diff options
author | Peter Keresztes Schmidt <carbenium@outlook.com> | 2020-09-10 01:05:44 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-05 20:50:33 +0100 |
commit | 26f3c25dae6b0170688277b05b9a37f257b16c68 (patch) | |
tree | fbc3e27303ec87804e3d4f81e9468064c891bd33 /src | |
parent | 54fc62db52f72b5a6ce9389d390e5003dd861680 (diff) |
Scripts/Commands: Convert remaining debug commands (PR #25429)
(cherry picked from commit 062c55f1ab9c84396ce5b054945f5a908e3a354f)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Chat/Channels/Channel.h | 7 | ||||
-rw-r--r-- | src/server/game/Chat/Channels/enuminfo_Channel.cpp | 172 | ||||
-rw-r--r-- | src/server/game/Entities/Item/ItemDefines.h | 17 | ||||
-rw-r--r-- | src/server/game/Entities/Item/enuminfo_ItemDefines.cpp | 508 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 12 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 4 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 5 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp | 1326 | ||||
-rw-r--r-- | src/server/game/Quests/QuestDef.h | 30 | ||||
-rw-r--r-- | src/server/game/Quests/enuminfo_QuestDef.cpp | 259 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_debug.cpp | 254 |
11 files changed, 2377 insertions, 217 deletions
diff --git a/src/server/game/Chat/Channels/Channel.h b/src/server/game/Chat/Channels/Channel.h index 61f6f0c7cf2..4465acd85ed 100644 --- a/src/server/game/Chat/Channels/Channel.h +++ b/src/server/game/Chat/Channels/Channel.h @@ -35,7 +35,8 @@ namespace WorldPackets } } -enum ChatNotify +// EnumUtils: DESCRIBE THIS +enum ChatNotify : uint8 { CHAT_JOINED_NOTICE = 0x00, //+ "%s joined channel."; CHAT_LEFT_NOTICE = 0x01, //+ "%s left channel."; @@ -75,8 +76,8 @@ enum ChatNotify CHAT_NOT_IN_LFG_NOTICE = 0x21, //+ "[%s] You must be queued in looking for group before joining this channel."; -- The user must be in the looking for group system to join LFG chat channels. CHAT_VOICE_ON_NOTICE = 0x22, //+ "[%s] Channel voice enabled by %s."; CHAT_VOICE_OFF_NOTICE = 0x23, //+ "[%s] Channel voice disabled by %s."; - CHAT_TRIAL_RESTRICTED = 0x24, - CHAT_NOT_ALLOWED_IN_CHANNEL = 0x25 + CHAT_TRIAL_RESTRICTED = 0x24, //+ "[%s] Free Trial accounts cannot send messages to this channel. |cffffd000|Hstorecategory:gametime|h[Click To Upgrade]|h|r" + CHAT_NOT_ALLOWED_IN_CHANNEL = 0x25 //+ "That operation is not permitted in this channel." }; enum ChannelFlags diff --git a/src/server/game/Chat/Channels/enuminfo_Channel.cpp b/src/server/game/Chat/Channels/enuminfo_Channel.cpp new file mode 100644 index 00000000000..7a8b7d3249e --- /dev/null +++ b/src/server/game/Chat/Channels/enuminfo_Channel.cpp @@ -0,0 +1,172 @@ +/* + * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information + * + * 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, see <http://www.gnu.org/licenses/>. + */ + +#include "Channel.h" +#include "Define.h" +#include "SmartEnum.h" +#include <stdexcept> + +namespace Trinity::Impl::EnumUtilsImpl +{ + +/************************************************************\ +|* data for enum 'ChatNotify' in 'Channel.h' auto-generated *| +\************************************************************/ +template <> +TC_API_EXPORT EnumText EnumUtils<ChatNotify>::ToString(ChatNotify value) +{ + switch (value) + { + case CHAT_JOINED_NOTICE: return { "CHAT_JOINED_NOTICE", "CHAT_JOINED_NOTICE", "+ \042%s joined channel.\042;" }; + case CHAT_LEFT_NOTICE: return { "CHAT_LEFT_NOTICE", "CHAT_LEFT_NOTICE", "+ \042%s left channel.\042;" }; + case CHAT_YOU_JOINED_NOTICE: return { "CHAT_YOU_JOINED_NOTICE", "CHAT_YOU_JOINED_NOTICE", "+ \042Joined Channel: [%s]\042; -- You joined" }; + case CHAT_YOU_LEFT_NOTICE: return { "CHAT_YOU_LEFT_NOTICE", "CHAT_YOU_LEFT_NOTICE", "+ \042Left Channel: [%s]\042; -- You left" }; + case CHAT_WRONG_PASSWORD_NOTICE: return { "CHAT_WRONG_PASSWORD_NOTICE", "CHAT_WRONG_PASSWORD_NOTICE", "+ \042Wrong password for %s.\042;" }; + case CHAT_NOT_MEMBER_NOTICE: return { "CHAT_NOT_MEMBER_NOTICE", "CHAT_NOT_MEMBER_NOTICE", "+ \042Not on channel %s.\042;" }; + case CHAT_NOT_MODERATOR_NOTICE: return { "CHAT_NOT_MODERATOR_NOTICE", "CHAT_NOT_MODERATOR_NOTICE", "+ \042Not a moderator of %s.\042;" }; + case CHAT_PASSWORD_CHANGED_NOTICE: return { "CHAT_PASSWORD_CHANGED_NOTICE", "CHAT_PASSWORD_CHANGED_NOTICE", "+ \042[%s] Password changed by %s.\042;" }; + case CHAT_OWNER_CHANGED_NOTICE: return { "CHAT_OWNER_CHANGED_NOTICE", "CHAT_OWNER_CHANGED_NOTICE", "+ \042[%s] Owner changed to %s.\042;" }; + case CHAT_PLAYER_NOT_FOUND_NOTICE: return { "CHAT_PLAYER_NOT_FOUND_NOTICE", "CHAT_PLAYER_NOT_FOUND_NOTICE", "+ \042[%s] Player %s was not found.\042;" }; + case CHAT_NOT_OWNER_NOTICE: return { "CHAT_NOT_OWNER_NOTICE", "CHAT_NOT_OWNER_NOTICE", "+ \042[%s] You are not the channel owner.\042;" }; + case CHAT_CHANNEL_OWNER_NOTICE: return { "CHAT_CHANNEL_OWNER_NOTICE", "CHAT_CHANNEL_OWNER_NOTICE", "+ \042[%s] Channel owner is %s.\042;" }; + case CHAT_MODE_CHANGE_NOTICE: return { "CHAT_MODE_CHANGE_NOTICE", "CHAT_MODE_CHANGE_NOTICE", "?" }; + case CHAT_ANNOUNCEMENTS_ON_NOTICE: return { "CHAT_ANNOUNCEMENTS_ON_NOTICE", "CHAT_ANNOUNCEMENTS_ON_NOTICE", "+ \042[%s] Channel announcements enabled by %s.\042;" }; + case CHAT_ANNOUNCEMENTS_OFF_NOTICE: return { "CHAT_ANNOUNCEMENTS_OFF_NOTICE", "CHAT_ANNOUNCEMENTS_OFF_NOTICE", "+ \042[%s] Channel announcements disabled by %s.\042;" }; + case CHAT_MODERATION_ON_NOTICE: return { "CHAT_MODERATION_ON_NOTICE", "CHAT_MODERATION_ON_NOTICE", "+ \042[%s] Channel moderation enabled by %s.\042;" }; + case CHAT_MODERATION_OFF_NOTICE: return { "CHAT_MODERATION_OFF_NOTICE", "CHAT_MODERATION_OFF_NOTICE", "+ \042[%s] Channel moderation disabled by %s.\042;" }; + case CHAT_MUTED_NOTICE: return { "CHAT_MUTED_NOTICE", "CHAT_MUTED_NOTICE", "+ \042[%s] You do not have permission to speak.\042;" }; + case CHAT_PLAYER_KICKED_NOTICE: return { "CHAT_PLAYER_KICKED_NOTICE", "CHAT_PLAYER_KICKED_NOTICE", "? \042[%s] Player %s kicked by %s.\042;" }; + case CHAT_BANNED_NOTICE: return { "CHAT_BANNED_NOTICE", "CHAT_BANNED_NOTICE", "+ \042[%s] You are banned from that channel.\042;" }; + case CHAT_PLAYER_BANNED_NOTICE: return { "CHAT_PLAYER_BANNED_NOTICE", "CHAT_PLAYER_BANNED_NOTICE", "? \042[%s] Player %s banned by %s.\042;" }; + case CHAT_PLAYER_UNBANNED_NOTICE: return { "CHAT_PLAYER_UNBANNED_NOTICE", "CHAT_PLAYER_UNBANNED_NOTICE", "? \042[%s] Player %s unbanned by %s.\042;" }; + case CHAT_PLAYER_NOT_BANNED_NOTICE: return { "CHAT_PLAYER_NOT_BANNED_NOTICE", "CHAT_PLAYER_NOT_BANNED_NOTICE", "+ \042[%s] Player %s is not banned.\042;" }; + case CHAT_PLAYER_ALREADY_MEMBER_NOTICE: return { "CHAT_PLAYER_ALREADY_MEMBER_NOTICE", "CHAT_PLAYER_ALREADY_MEMBER_NOTICE", "+ \042[%s] Player %s is already on the channel.\042;" }; + case CHAT_INVITE_NOTICE: return { "CHAT_INVITE_NOTICE", "CHAT_INVITE_NOTICE", "+ \042%2$s has invited you to join the channel '%1$s'.\042;" }; + case CHAT_INVITE_WRONG_FACTION_NOTICE: return { "CHAT_INVITE_WRONG_FACTION_NOTICE", "CHAT_INVITE_WRONG_FACTION_NOTICE", "+ \042Target is in the wrong alliance for %s.\042;" }; + case CHAT_WRONG_FACTION_NOTICE: return { "CHAT_WRONG_FACTION_NOTICE", "CHAT_WRONG_FACTION_NOTICE", "+ \042Wrong alliance for %s.\042;" }; + case CHAT_INVALID_NAME_NOTICE: return { "CHAT_INVALID_NAME_NOTICE", "CHAT_INVALID_NAME_NOTICE", "+ \042Invalid channel name\042;" }; + case CHAT_NOT_MODERATED_NOTICE: return { "CHAT_NOT_MODERATED_NOTICE", "CHAT_NOT_MODERATED_NOTICE", "+ \042%s is not moderated\042;" }; + case CHAT_PLAYER_INVITED_NOTICE: return { "CHAT_PLAYER_INVITED_NOTICE", "CHAT_PLAYER_INVITED_NOTICE", "+ \042[%s] You invited %s to join the channel\042;" }; + case CHAT_PLAYER_INVITE_BANNED_NOTICE: return { "CHAT_PLAYER_INVITE_BANNED_NOTICE", "CHAT_PLAYER_INVITE_BANNED_NOTICE", "+ \042[%s] %s has been banned.\042;" }; + case CHAT_THROTTLED_NOTICE: return { "CHAT_THROTTLED_NOTICE", "CHAT_THROTTLED_NOTICE", "+ \042[%s] The number of messages that can be sent to this channel is limited, please wait to send another message.\042;" }; + case CHAT_NOT_IN_AREA_NOTICE: return { "CHAT_NOT_IN_AREA_NOTICE", "CHAT_NOT_IN_AREA_NOTICE", "+ \042[%s] You are not in the correct area for this channel.\042; -- The user is trying to send a chat to a zone specific channel, and they're not physically in that zone." }; + case CHAT_NOT_IN_LFG_NOTICE: return { "CHAT_NOT_IN_LFG_NOTICE", "CHAT_NOT_IN_LFG_NOTICE", "+ \042[%s] You must be queued in looking for group before joining this channel.\042; -- The user must be in the looking for group system to join LFG chat channels." }; + case CHAT_VOICE_ON_NOTICE: return { "CHAT_VOICE_ON_NOTICE", "CHAT_VOICE_ON_NOTICE", "+ \042[%s] Channel voice enabled by %s.\042;" }; + case CHAT_VOICE_OFF_NOTICE: return { "CHAT_VOICE_OFF_NOTICE", "CHAT_VOICE_OFF_NOTICE", "+ \042[%s] Channel voice disabled by %s.\042;" }; + case CHAT_TRIAL_RESTRICTED: return { "CHAT_TRIAL_RESTRICTED", "CHAT_TRIAL_RESTRICTED", "+ \042[%s] Free Trial accounts cannot send messages to this channel. |cffffd000|Hstorecategory:gametime|h[Click To Upgrade]|h|r\042" }; + case CHAT_NOT_ALLOWED_IN_CHANNEL: return { "CHAT_NOT_ALLOWED_IN_CHANNEL", "CHAT_NOT_ALLOWED_IN_CHANNEL", "+ \042That operation is not permitted in this channel.\042" }; + default: throw std::out_of_range("value"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<ChatNotify>::Count() { return 38; } + +template <> +TC_API_EXPORT ChatNotify EnumUtils<ChatNotify>::FromIndex(size_t index) +{ + switch (index) + { + case 0: return CHAT_JOINED_NOTICE; + case 1: return CHAT_LEFT_NOTICE; + case 2: return CHAT_YOU_JOINED_NOTICE; + case 3: return CHAT_YOU_LEFT_NOTICE; + case 4: return CHAT_WRONG_PASSWORD_NOTICE; + case 5: return CHAT_NOT_MEMBER_NOTICE; + case 6: return CHAT_NOT_MODERATOR_NOTICE; + case 7: return CHAT_PASSWORD_CHANGED_NOTICE; + case 8: return CHAT_OWNER_CHANGED_NOTICE; + case 9: return CHAT_PLAYER_NOT_FOUND_NOTICE; + case 10: return CHAT_NOT_OWNER_NOTICE; + case 11: return CHAT_CHANNEL_OWNER_NOTICE; + case 12: return CHAT_MODE_CHANGE_NOTICE; + case 13: return CHAT_ANNOUNCEMENTS_ON_NOTICE; + case 14: return CHAT_ANNOUNCEMENTS_OFF_NOTICE; + case 15: return CHAT_MODERATION_ON_NOTICE; + case 16: return CHAT_MODERATION_OFF_NOTICE; + case 17: return CHAT_MUTED_NOTICE; + case 18: return CHAT_PLAYER_KICKED_NOTICE; + case 19: return CHAT_BANNED_NOTICE; + case 20: return CHAT_PLAYER_BANNED_NOTICE; + case 21: return CHAT_PLAYER_UNBANNED_NOTICE; + case 22: return CHAT_PLAYER_NOT_BANNED_NOTICE; + case 23: return CHAT_PLAYER_ALREADY_MEMBER_NOTICE; + case 24: return CHAT_INVITE_NOTICE; + case 25: return CHAT_INVITE_WRONG_FACTION_NOTICE; + case 26: return CHAT_WRONG_FACTION_NOTICE; + case 27: return CHAT_INVALID_NAME_NOTICE; + case 28: return CHAT_NOT_MODERATED_NOTICE; + case 29: return CHAT_PLAYER_INVITED_NOTICE; + case 30: return CHAT_PLAYER_INVITE_BANNED_NOTICE; + case 31: return CHAT_THROTTLED_NOTICE; + case 32: return CHAT_NOT_IN_AREA_NOTICE; + case 33: return CHAT_NOT_IN_LFG_NOTICE; + case 34: return CHAT_VOICE_ON_NOTICE; + case 35: return CHAT_VOICE_OFF_NOTICE; + case 36: return CHAT_TRIAL_RESTRICTED; + case 37: return CHAT_NOT_ALLOWED_IN_CHANNEL; + default: throw std::out_of_range("index"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<ChatNotify>::ToIndex(ChatNotify value) +{ + switch (value) + { + case CHAT_JOINED_NOTICE: return 0; + case CHAT_LEFT_NOTICE: return 1; + case CHAT_YOU_JOINED_NOTICE: return 2; + case CHAT_YOU_LEFT_NOTICE: return 3; + case CHAT_WRONG_PASSWORD_NOTICE: return 4; + case CHAT_NOT_MEMBER_NOTICE: return 5; + case CHAT_NOT_MODERATOR_NOTICE: return 6; + case CHAT_PASSWORD_CHANGED_NOTICE: return 7; + case CHAT_OWNER_CHANGED_NOTICE: return 8; + case CHAT_PLAYER_NOT_FOUND_NOTICE: return 9; + case CHAT_NOT_OWNER_NOTICE: return 10; + case CHAT_CHANNEL_OWNER_NOTICE: return 11; + case CHAT_MODE_CHANGE_NOTICE: return 12; + case CHAT_ANNOUNCEMENTS_ON_NOTICE: return 13; + case CHAT_ANNOUNCEMENTS_OFF_NOTICE: return 14; + case CHAT_MODERATION_ON_NOTICE: return 15; + case CHAT_MODERATION_OFF_NOTICE: return 16; + case CHAT_MUTED_NOTICE: return 17; + case CHAT_PLAYER_KICKED_NOTICE: return 18; + case CHAT_BANNED_NOTICE: return 19; + case CHAT_PLAYER_BANNED_NOTICE: return 20; + case CHAT_PLAYER_UNBANNED_NOTICE: return 21; + case CHAT_PLAYER_NOT_BANNED_NOTICE: return 22; + case CHAT_PLAYER_ALREADY_MEMBER_NOTICE: return 23; + case CHAT_INVITE_NOTICE: return 24; + case CHAT_INVITE_WRONG_FACTION_NOTICE: return 25; + case CHAT_WRONG_FACTION_NOTICE: return 26; + case CHAT_INVALID_NAME_NOTICE: return 27; + case CHAT_NOT_MODERATED_NOTICE: return 28; + case CHAT_PLAYER_INVITED_NOTICE: return 29; + case CHAT_PLAYER_INVITE_BANNED_NOTICE: return 30; + case CHAT_THROTTLED_NOTICE: return 31; + case CHAT_NOT_IN_AREA_NOTICE: return 32; + case CHAT_NOT_IN_LFG_NOTICE: return 33; + case CHAT_VOICE_ON_NOTICE: return 34; + case CHAT_VOICE_OFF_NOTICE: return 35; + case CHAT_TRIAL_RESTRICTED: return 36; + case CHAT_NOT_ALLOWED_IN_CHANNEL: return 37; + default: throw std::out_of_range("value"); + } +} +} diff --git a/src/server/game/Entities/Item/ItemDefines.h b/src/server/game/Entities/Item/ItemDefines.h index 99ae41d95c7..6f6322c0e15 100644 --- a/src/server/game/Entities/Item/ItemDefines.h +++ b/src/server/game/Entities/Item/ItemDefines.h @@ -20,6 +20,7 @@ #include "Define.h" +// EnumUtils: DESCRIBE THIS enum InventoryResult : uint8 { EQUIP_ERR_OK = 0, @@ -136,6 +137,7 @@ enum InventoryResult : uint8 EQUIP_ERR_NOT_IN_RATED_BATTLEGROUND = 111,// You can't do that in a rated battleground. }; +// EnumUtils: DESCRIBE THIS enum BuyResult { BUY_ERR_CANT_FIND_ITEM = 0, @@ -149,15 +151,16 @@ enum BuyResult BUY_ERR_REPUTATION_REQUIRE = 12 }; +// EnumUtils: DESCRIBE THIS enum SellResult { - SELL_ERR_CANT_FIND_ITEM = 1, // The item was not found. - SELL_ERR_CANT_SELL_ITEM = 2, // The merchant doesn't want that item. - SELL_ERR_CANT_FIND_VENDOR = 3, // The merchant doesn't like you. - SELL_ERR_YOU_DONT_OWN_THAT_ITEM = 4, // You don't own that item. - SELL_ERR_UNK = 5, // nothing appears... - SELL_ERR_ONLY_EMPTY_BAG = 6, // You can only do that with empty bags. - SELL_ERR_CANT_SELL_TO_THIS_MERCHANT = 7 // You cannot sell items to this merchant. + SELL_ERR_CANT_FIND_ITEM = 1, // DESCRIPTION The item was not found. + SELL_ERR_CANT_SELL_ITEM = 2, // DESCRIPTION The merchant doesn't want that item. + SELL_ERR_CANT_FIND_VENDOR = 3, // DESCRIPTION The merchant doesn't like you. + SELL_ERR_YOU_DONT_OWN_THAT_ITEM = 4, // DESCRIPTION You don't own that item. + SELL_ERR_UNK = 5, // DESCRIPTION nothing appears... + SELL_ERR_ONLY_EMPTY_BAG = 6, // DESCRIPTION You can only do that with empty bags. + SELL_ERR_CANT_SELL_TO_THIS_MERCHANT = 7 // DESCRIPTION You cannot sell items to this merchant. }; // -1 from client enchantment slot number diff --git a/src/server/game/Entities/Item/enuminfo_ItemDefines.cpp b/src/server/game/Entities/Item/enuminfo_ItemDefines.cpp new file mode 100644 index 00000000000..3511e67eb79 --- /dev/null +++ b/src/server/game/Entities/Item/enuminfo_ItemDefines.cpp @@ -0,0 +1,508 @@ +/* + * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information + * + * 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, see <http://www.gnu.org/licenses/>. + */ + +#include "ItemDefines.h" +#include "Define.h" +#include "SmartEnum.h" +#include <stdexcept> + +namespace Trinity::Impl::EnumUtilsImpl +{ + +/*********************************************************************\ +|* data for enum 'InventoryResult' in 'ItemDefines.h' auto-generated *| +\*********************************************************************/ +template <> +TC_API_EXPORT EnumText EnumUtils<InventoryResult>::ToString(InventoryResult value) +{ + switch (value) + { + case EQUIP_ERR_OK: return { "EQUIP_ERR_OK", "EQUIP_ERR_OK", "" }; + case EQUIP_ERR_CANT_EQUIP_LEVEL_I: return { "EQUIP_ERR_CANT_EQUIP_LEVEL_I", "EQUIP_ERR_CANT_EQUIP_LEVEL_I", "You must reach level %d to use that item." }; + case EQUIP_ERR_CANT_EQUIP_SKILL: return { "EQUIP_ERR_CANT_EQUIP_SKILL", "EQUIP_ERR_CANT_EQUIP_SKILL", "You aren't skilled enough to use that item." }; + case EQUIP_ERR_WRONG_SLOT: return { "EQUIP_ERR_WRONG_SLOT", "EQUIP_ERR_WRONG_SLOT", "That item does not go in that slot." }; + case EQUIP_ERR_BAG_FULL: return { "EQUIP_ERR_BAG_FULL", "EQUIP_ERR_BAG_FULL", "That bag is full." }; + case EQUIP_ERR_BAG_IN_BAG: return { "EQUIP_ERR_BAG_IN_BAG", "EQUIP_ERR_BAG_IN_BAG", "Can't put non-empty bags in other bags." }; + case EQUIP_ERR_TRADE_EQUIPPED_BAG: return { "EQUIP_ERR_TRADE_EQUIPPED_BAG", "EQUIP_ERR_TRADE_EQUIPPED_BAG", "You can't trade equipped bags." }; + case EQUIP_ERR_AMMO_ONLY: return { "EQUIP_ERR_AMMO_ONLY", "EQUIP_ERR_AMMO_ONLY", "Only ammo can go there." }; + case EQUIP_ERR_PROFICIENCY_NEEDED: return { "EQUIP_ERR_PROFICIENCY_NEEDED", "EQUIP_ERR_PROFICIENCY_NEEDED", "You do not have the required proficiency for that item." }; + case EQUIP_ERR_NO_SLOT_AVAILABLE: return { "EQUIP_ERR_NO_SLOT_AVAILABLE", "EQUIP_ERR_NO_SLOT_AVAILABLE", "No equipment slot is available for that item." }; + case EQUIP_ERR_CANT_EQUIP_EVER: return { "EQUIP_ERR_CANT_EQUIP_EVER", "EQUIP_ERR_CANT_EQUIP_EVER", "You can never use that item." }; + case EQUIP_ERR_CANT_EQUIP_EVER_2: return { "EQUIP_ERR_CANT_EQUIP_EVER_2", "EQUIP_ERR_CANT_EQUIP_EVER_2", "You can never use that item." }; + case EQUIP_ERR_NO_SLOT_AVAILABLE_2: return { "EQUIP_ERR_NO_SLOT_AVAILABLE_2", "EQUIP_ERR_NO_SLOT_AVAILABLE_2", "No equipment slot is available for that item." }; + case EQUIP_ERR_2HANDED_EQUIPPED: return { "EQUIP_ERR_2HANDED_EQUIPPED", "EQUIP_ERR_2HANDED_EQUIPPED", "Cannot equip that with a two-handed weapon." }; + case EQUIP_ERR_2HSKILLNOTFOUND: return { "EQUIP_ERR_2HSKILLNOTFOUND", "EQUIP_ERR_2HSKILLNOTFOUND", "You cannot dual-wield" }; + case EQUIP_ERR_WRONG_BAG_TYPE: return { "EQUIP_ERR_WRONG_BAG_TYPE", "EQUIP_ERR_WRONG_BAG_TYPE", "That item doesn't go in that container." }; + case EQUIP_ERR_WRONG_BAG_TYPE_2: return { "EQUIP_ERR_WRONG_BAG_TYPE_2", "EQUIP_ERR_WRONG_BAG_TYPE_2", "That item doesn't go in that container." }; + case EQUIP_ERR_ITEM_MAX_COUNT: return { "EQUIP_ERR_ITEM_MAX_COUNT", "EQUIP_ERR_ITEM_MAX_COUNT", "You can't carry any more of those items." }; + case EQUIP_ERR_NO_SLOT_AVAILABLE_3: return { "EQUIP_ERR_NO_SLOT_AVAILABLE_3", "EQUIP_ERR_NO_SLOT_AVAILABLE_3", "No equipment slot is available for that item." }; + case EQUIP_ERR_CANT_STACK: return { "EQUIP_ERR_CANT_STACK", "EQUIP_ERR_CANT_STACK", "This item cannot stack." }; + case EQUIP_ERR_NOT_EQUIPPABLE: return { "EQUIP_ERR_NOT_EQUIPPABLE", "EQUIP_ERR_NOT_EQUIPPABLE", "This item cannot be equipped." }; + case EQUIP_ERR_CANT_SWAP: return { "EQUIP_ERR_CANT_SWAP", "EQUIP_ERR_CANT_SWAP", "These items can't be swapped." }; + case EQUIP_ERR_SLOT_EMPTY: return { "EQUIP_ERR_SLOT_EMPTY", "EQUIP_ERR_SLOT_EMPTY", "That slot is empty." }; + case EQUIP_ERR_ITEM_NOT_FOUND: return { "EQUIP_ERR_ITEM_NOT_FOUND", "EQUIP_ERR_ITEM_NOT_FOUND", "The item was not found." }; + case EQUIP_ERR_DROP_BOUND_ITEM: return { "EQUIP_ERR_DROP_BOUND_ITEM", "EQUIP_ERR_DROP_BOUND_ITEM", "You can't drop a soulbound item." }; + case EQUIP_ERR_OUT_OF_RANGE: return { "EQUIP_ERR_OUT_OF_RANGE", "EQUIP_ERR_OUT_OF_RANGE", "Out of range." }; + case EQUIP_ERR_TOO_FEW_TO_SPLIT: return { "EQUIP_ERR_TOO_FEW_TO_SPLIT", "EQUIP_ERR_TOO_FEW_TO_SPLIT", "Tried to split more than number in stack." }; + case EQUIP_ERR_SPLIT_FAILED: return { "EQUIP_ERR_SPLIT_FAILED", "EQUIP_ERR_SPLIT_FAILED", "Couldn't split those items." }; + case EQUIP_ERR_SPELL_FAILED_REAGENTS_GENERIC: return { "EQUIP_ERR_SPELL_FAILED_REAGENTS_GENERIC", "EQUIP_ERR_SPELL_FAILED_REAGENTS_GENERIC", "Missing reagent" }; + case EQUIP_ERR_CANT_TRADE_GOLD: return { "EQUIP_ERR_CANT_TRADE_GOLD", "EQUIP_ERR_CANT_TRADE_GOLD", "Gold may only be offered by one trader." }; + case EQUIP_ERR_NOT_ENOUGH_MONEY: return { "EQUIP_ERR_NOT_ENOUGH_MONEY", "EQUIP_ERR_NOT_ENOUGH_MONEY", "You don't have enough money." }; + case EQUIP_ERR_NOT_A_BAG: return { "EQUIP_ERR_NOT_A_BAG", "EQUIP_ERR_NOT_A_BAG", "Not a bag." }; + case EQUIP_ERR_DESTROY_NONEMPTY_BAG: return { "EQUIP_ERR_DESTROY_NONEMPTY_BAG", "EQUIP_ERR_DESTROY_NONEMPTY_BAG", "You can only do that with empty bags." }; + case EQUIP_ERR_NOT_OWNER: return { "EQUIP_ERR_NOT_OWNER", "EQUIP_ERR_NOT_OWNER", "You don't own that item." }; + case EQUIP_ERR_ONLY_ONE_QUIVER: return { "EQUIP_ERR_ONLY_ONE_QUIVER", "EQUIP_ERR_ONLY_ONE_QUIVER", "You can only equip one quiver." }; + case EQUIP_ERR_NO_BANK_SLOT: return { "EQUIP_ERR_NO_BANK_SLOT", "EQUIP_ERR_NO_BANK_SLOT", "You must purchase that bag slot first" }; + case EQUIP_ERR_NO_BANK_HERE: return { "EQUIP_ERR_NO_BANK_HERE", "EQUIP_ERR_NO_BANK_HERE", "You are too far away from a bank." }; + case EQUIP_ERR_ITEM_LOCKED: return { "EQUIP_ERR_ITEM_LOCKED", "EQUIP_ERR_ITEM_LOCKED", "Item is locked." }; + case EQUIP_ERR_GENERIC_STUNNED: return { "EQUIP_ERR_GENERIC_STUNNED", "EQUIP_ERR_GENERIC_STUNNED", "You are stunned" }; + case EQUIP_ERR_PLAYER_DEAD: return { "EQUIP_ERR_PLAYER_DEAD", "EQUIP_ERR_PLAYER_DEAD", "You can't do that when you're dead." }; + case EQUIP_ERR_CLIENT_LOCKED_OUT: return { "EQUIP_ERR_CLIENT_LOCKED_OUT", "EQUIP_ERR_CLIENT_LOCKED_OUT", "You can't do that right now." }; + case EQUIP_ERR_INTERNAL_BAG_ERROR: return { "EQUIP_ERR_INTERNAL_BAG_ERROR", "EQUIP_ERR_INTERNAL_BAG_ERROR", "Internal Bag Error" }; + case EQUIP_ERR_ONLY_ONE_BOLT: return { "EQUIP_ERR_ONLY_ONE_BOLT", "EQUIP_ERR_ONLY_ONE_BOLT", "You can only equip one quiver." }; + case EQUIP_ERR_ONLY_ONE_AMMO: return { "EQUIP_ERR_ONLY_ONE_AMMO", "EQUIP_ERR_ONLY_ONE_AMMO", "You can only equip one ammo pouch." }; + case EQUIP_ERR_CANT_WRAP_STACKABLE: return { "EQUIP_ERR_CANT_WRAP_STACKABLE", "EQUIP_ERR_CANT_WRAP_STACKABLE", "Stackable items can't be wrapped." }; + case EQUIP_ERR_CANT_WRAP_EQUIPPED: return { "EQUIP_ERR_CANT_WRAP_EQUIPPED", "EQUIP_ERR_CANT_WRAP_EQUIPPED", "Equipped items can't be wrapped." }; + case EQUIP_ERR_CANT_WRAP_WRAPPED: return { "EQUIP_ERR_CANT_WRAP_WRAPPED", "EQUIP_ERR_CANT_WRAP_WRAPPED", "Wrapped items can't be wrapped." }; + case EQUIP_ERR_CANT_WRAP_BOUND: return { "EQUIP_ERR_CANT_WRAP_BOUND", "EQUIP_ERR_CANT_WRAP_BOUND", "Bound items can't be wrapped." }; + case EQUIP_ERR_CANT_WRAP_UNIQUE: return { "EQUIP_ERR_CANT_WRAP_UNIQUE", "EQUIP_ERR_CANT_WRAP_UNIQUE", "Unique items can't be wrapped." }; + case EQUIP_ERR_CANT_WRAP_BAGS: return { "EQUIP_ERR_CANT_WRAP_BAGS", "EQUIP_ERR_CANT_WRAP_BAGS", "Bags can't be wrapped." }; + case EQUIP_ERR_LOOT_GONE: return { "EQUIP_ERR_LOOT_GONE", "EQUIP_ERR_LOOT_GONE", "Already looted" }; + case EQUIP_ERR_INV_FULL: return { "EQUIP_ERR_INV_FULL", "EQUIP_ERR_INV_FULL", "Inventory is full." }; + case EQUIP_ERR_BANK_FULL: return { "EQUIP_ERR_BANK_FULL", "EQUIP_ERR_BANK_FULL", "Your bank is full" }; + case EQUIP_ERR_VENDOR_SOLD_OUT: return { "EQUIP_ERR_VENDOR_SOLD_OUT", "EQUIP_ERR_VENDOR_SOLD_OUT", "That item is currently sold out." }; + case EQUIP_ERR_BAG_FULL_2: return { "EQUIP_ERR_BAG_FULL_2", "EQUIP_ERR_BAG_FULL_2", "That bag is full." }; + case EQUIP_ERR_ITEM_NOT_FOUND_2: return { "EQUIP_ERR_ITEM_NOT_FOUND_2", "EQUIP_ERR_ITEM_NOT_FOUND_2", "The item was not found." }; + case EQUIP_ERR_CANT_STACK_2: return { "EQUIP_ERR_CANT_STACK_2", "EQUIP_ERR_CANT_STACK_2", "This item cannot stack." }; + case EQUIP_ERR_BAG_FULL_3: return { "EQUIP_ERR_BAG_FULL_3", "EQUIP_ERR_BAG_FULL_3", "That bag is full." }; + case EQUIP_ERR_VENDOR_SOLD_OUT_2: return { "EQUIP_ERR_VENDOR_SOLD_OUT_2", "EQUIP_ERR_VENDOR_SOLD_OUT_2", "That item is currently sold out." }; + case EQUIP_ERR_OBJECT_IS_BUSY: return { "EQUIP_ERR_OBJECT_IS_BUSY", "EQUIP_ERR_OBJECT_IS_BUSY", "That object is busy." }; + case EQUIP_ERR_CANT_BE_DISENCHANTED: return { "EQUIP_ERR_CANT_BE_DISENCHANTED", "EQUIP_ERR_CANT_BE_DISENCHANTED", "Item cannot be disenchanted" }; + case EQUIP_ERR_NOT_IN_COMBAT: return { "EQUIP_ERR_NOT_IN_COMBAT", "EQUIP_ERR_NOT_IN_COMBAT", "You can't do that while in combat" }; + case EQUIP_ERR_NOT_WHILE_DISARMED: return { "EQUIP_ERR_NOT_WHILE_DISARMED", "EQUIP_ERR_NOT_WHILE_DISARMED", "You can't do that while disarmed" }; + case EQUIP_ERR_BAG_FULL_4: return { "EQUIP_ERR_BAG_FULL_4", "EQUIP_ERR_BAG_FULL_4", "That bag is full." }; + case EQUIP_ERR_CANT_EQUIP_RANK: return { "EQUIP_ERR_CANT_EQUIP_RANK", "EQUIP_ERR_CANT_EQUIP_RANK", "You don't have the required rank for that item" }; + case EQUIP_ERR_CANT_EQUIP_REPUTATION: return { "EQUIP_ERR_CANT_EQUIP_REPUTATION", "EQUIP_ERR_CANT_EQUIP_REPUTATION", "You don't have the required reputation for that item" }; + case EQUIP_ERR_TOO_MANY_SPECIAL_BAGS: return { "EQUIP_ERR_TOO_MANY_SPECIAL_BAGS", "EQUIP_ERR_TOO_MANY_SPECIAL_BAGS", "You cannot equip another bag of that type" }; + case EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW: return { "EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW", "EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW", "You can't loot that item now." }; + case EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE: return { "EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE", "EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE", "You cannot equip more than one of those." }; + case EQUIP_ERR_VENDOR_MISSING_TURNINS: return { "EQUIP_ERR_VENDOR_MISSING_TURNINS", "EQUIP_ERR_VENDOR_MISSING_TURNINS", "You do not have the required items for that purchase" }; + case EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS: return { "EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS", "EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS", "You don't have enough honor points" }; + case EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS: return { "EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS", "EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS", "You don't have enough arena points" }; + case EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED: return { "EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED", "EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED", "You have the maximum number of those gems in your inventory or socketed into items." }; + case EQUIP_ERR_MAIL_BOUND_ITEM: return { "EQUIP_ERR_MAIL_BOUND_ITEM", "EQUIP_ERR_MAIL_BOUND_ITEM", "You can't mail soulbound items." }; + case EQUIP_ERR_INTERNAL_BAG_ERROR_2: return { "EQUIP_ERR_INTERNAL_BAG_ERROR_2", "EQUIP_ERR_INTERNAL_BAG_ERROR_2", "Internal Bag Error" }; + case EQUIP_ERR_BAG_FULL_5: return { "EQUIP_ERR_BAG_FULL_5", "EQUIP_ERR_BAG_FULL_5", "That bag is full." }; + case EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED: return { "EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED", "EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED", "You have the maximum number of those gems socketed into equipped items." }; + case EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED: return { "EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED", "EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED", "You cannot socket more than one of those gems into a single item." }; + case EQUIP_ERR_TOO_MUCH_GOLD: return { "EQUIP_ERR_TOO_MUCH_GOLD", "EQUIP_ERR_TOO_MUCH_GOLD", "At gold limit" }; + case EQUIP_ERR_NOT_DURING_ARENA_MATCH: return { "EQUIP_ERR_NOT_DURING_ARENA_MATCH", "EQUIP_ERR_NOT_DURING_ARENA_MATCH", "You can't do that while in an arena match" }; + case EQUIP_ERR_TRADE_BOUND_ITEM: return { "EQUIP_ERR_TRADE_BOUND_ITEM", "EQUIP_ERR_TRADE_BOUND_ITEM", "You can't trade a soulbound item." }; + case EQUIP_ERR_CANT_EQUIP_RATING: return { "EQUIP_ERR_CANT_EQUIP_RATING", "EQUIP_ERR_CANT_EQUIP_RATING", "You don't have the personal, team, or battleground rating required to buy that item" }; + case EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM: return { "EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM", "EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM", "" }; + case EQUIP_ERR_NOT_SAME_ACCOUNT: return { "EQUIP_ERR_NOT_SAME_ACCOUNT", "EQUIP_ERR_NOT_SAME_ACCOUNT", "Account-bound items can only be given to your own characters." }; + case EQUIP_NONE_3: return { "EQUIP_NONE_3", "EQUIP_NONE_3", "" }; + case EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS: return { "EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS", "EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS", "You can only carry %d %s" }; + case EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS: return { "EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS", "EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS", "You can only equip %d |4item:items in the %s category" }; + case EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED: return { "EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED", "EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED", "Your level is too high to use that item" }; + case EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW: return { "EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW", "EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW", "You must reach level %d to purchase that item." }; + case EQUIP_ERR_CANT_EQUIP_NEED_TALENT: return { "EQUIP_ERR_CANT_EQUIP_NEED_TALENT", "EQUIP_ERR_CANT_EQUIP_NEED_TALENT", "You do not have the required talent to equip that." }; + case EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS: return { "EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS", "EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS", "You can only equip %d |4item:items in the %s category" }; + case EQUIP_ERR_SHAPESHIFT_FORM_CANNOT_EQUIP: return { "EQUIP_ERR_SHAPESHIFT_FORM_CANNOT_EQUIP", "EQUIP_ERR_SHAPESHIFT_FORM_CANNOT_EQUIP", "Cannot equip item in this form" }; + case EQUIP_ERR_ITEM_INVENTORY_FULL_SATCHEL: return { "EQUIP_ERR_ITEM_INVENTORY_FULL_SATCHEL", "EQUIP_ERR_ITEM_INVENTORY_FULL_SATCHEL", "Your inventory is full. Your satchel has been delivered to your mailbox." }; + case EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW: return { "EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW", "EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW", "Your level is too low to use that item" }; + case EQUIP_ERR_CANT_BUY_QUANTITY: return { "EQUIP_ERR_CANT_BUY_QUANTITY", "EQUIP_ERR_CANT_BUY_QUANTITY", "You can't buy the specified quantity of that item." }; + case EQUIP_ERR_ITEM_IS_BATTLE_PAY_LOCKED: return { "EQUIP_ERR_ITEM_IS_BATTLE_PAY_LOCKED", "EQUIP_ERR_ITEM_IS_BATTLE_PAY_LOCKED", "Your purchased item is still waiting to be unlocked" }; + case EQUIP_ERR_REAGENT_BANK_FULL: return { "EQUIP_ERR_REAGENT_BANK_FULL", "EQUIP_ERR_REAGENT_BANK_FULL", "Your reagent bank is full" }; + case EQUIP_ERR_REAGENT_BANK_LOCKED: return { "EQUIP_ERR_REAGENT_BANK_LOCKED", "EQUIP_ERR_REAGENT_BANK_LOCKED", "" }; + case EQUIP_ERR_WRONG_BAG_TYPE_3: return { "EQUIP_ERR_WRONG_BAG_TYPE_3", "EQUIP_ERR_WRONG_BAG_TYPE_3", "That item doesn't go in that container." }; + case EQUIP_ERR_CANT_USE_ITEM: return { "EQUIP_ERR_CANT_USE_ITEM", "EQUIP_ERR_CANT_USE_ITEM", "You can't use that item." }; + case EQUIP_ERR_CANT_BE_OBLITERATED: return { "EQUIP_ERR_CANT_BE_OBLITERATED", "EQUIP_ERR_CANT_BE_OBLITERATED", "You can't obliterate that item" }; + case EQUIP_ERR_GUILD_BANK_CONJURED_ITEM: return { "EQUIP_ERR_GUILD_BANK_CONJURED_ITEM", "EQUIP_ERR_GUILD_BANK_CONJURED_ITEM", "You cannot store conjured items in the guild bank" }; + case EQUIP_ERR_BAG_FULL_6: return { "EQUIP_ERR_BAG_FULL_6", "EQUIP_ERR_BAG_FULL_6", "That bag is full." }; + case EQUIP_ERR_CANT_BE_SCRAPPED: return { "EQUIP_ERR_CANT_BE_SCRAPPED", "EQUIP_ERR_CANT_BE_SCRAPPED", "You can't scrap that item" }; + case EQUIP_ERR_BAG_FULL_7: return { "EQUIP_ERR_BAG_FULL_7", "EQUIP_ERR_BAG_FULL_7", "That bag is full." }; + case EQUIP_ERR_NOT_IN_PET_BATTLE: return { "EQUIP_ERR_NOT_IN_PET_BATTLE", "EQUIP_ERR_NOT_IN_PET_BATTLE", "You cannot do that while in a pet battle" }; + case EQUIP_ERR_BAG_FULL_8: return { "EQUIP_ERR_BAG_FULL_8", "EQUIP_ERR_BAG_FULL_8", "That bag is full." }; + case EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW: return { "EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW", "EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW", "You can't do that right now." }; + case EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW_2: return { "EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW_2", "EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW_2", "You can't do that right now." }; + case EQUIP_ERR_NOT_IN_NPE: return { "EQUIP_ERR_NOT_IN_NPE", "EQUIP_ERR_NOT_IN_NPE", "Not available during the tutorial" }; + case EQUIP_ERR_ITEM_COOLDOWN: return { "EQUIP_ERR_ITEM_COOLDOWN", "EQUIP_ERR_ITEM_COOLDOWN", "Item is not ready yet." }; + case EQUIP_ERR_NOT_IN_RATED_BATTLEGROUND: return { "EQUIP_ERR_NOT_IN_RATED_BATTLEGROUND", "EQUIP_ERR_NOT_IN_RATED_BATTLEGROUND", "You can't do that in a rated battleground." }; + default: throw std::out_of_range("value"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<InventoryResult>::Count() { return 112; } + +template <> +TC_API_EXPORT InventoryResult EnumUtils<InventoryResult>::FromIndex(size_t index) +{ + switch (index) + { + case 0: return EQUIP_ERR_OK; + case 1: return EQUIP_ERR_CANT_EQUIP_LEVEL_I; + case 2: return EQUIP_ERR_CANT_EQUIP_SKILL; + case 3: return EQUIP_ERR_WRONG_SLOT; + case 4: return EQUIP_ERR_BAG_FULL; + case 5: return EQUIP_ERR_BAG_IN_BAG; + case 6: return EQUIP_ERR_TRADE_EQUIPPED_BAG; + case 7: return EQUIP_ERR_AMMO_ONLY; + case 8: return EQUIP_ERR_PROFICIENCY_NEEDED; + case 9: return EQUIP_ERR_NO_SLOT_AVAILABLE; + case 10: return EQUIP_ERR_CANT_EQUIP_EVER; + case 11: return EQUIP_ERR_CANT_EQUIP_EVER_2; + case 12: return EQUIP_ERR_NO_SLOT_AVAILABLE_2; + case 13: return EQUIP_ERR_2HANDED_EQUIPPED; + case 14: return EQUIP_ERR_2HSKILLNOTFOUND; + case 15: return EQUIP_ERR_WRONG_BAG_TYPE; + case 16: return EQUIP_ERR_WRONG_BAG_TYPE_2; + case 17: return EQUIP_ERR_ITEM_MAX_COUNT; + case 18: return EQUIP_ERR_NO_SLOT_AVAILABLE_3; + case 19: return EQUIP_ERR_CANT_STACK; + case 20: return EQUIP_ERR_NOT_EQUIPPABLE; + case 21: return EQUIP_ERR_CANT_SWAP; + case 22: return EQUIP_ERR_SLOT_EMPTY; + case 23: return EQUIP_ERR_ITEM_NOT_FOUND; + case 24: return EQUIP_ERR_DROP_BOUND_ITEM; + case 25: return EQUIP_ERR_OUT_OF_RANGE; + case 26: return EQUIP_ERR_TOO_FEW_TO_SPLIT; + case 27: return EQUIP_ERR_SPLIT_FAILED; + case 28: return EQUIP_ERR_SPELL_FAILED_REAGENTS_GENERIC; + case 29: return EQUIP_ERR_CANT_TRADE_GOLD; + case 30: return EQUIP_ERR_NOT_ENOUGH_MONEY; + case 31: return EQUIP_ERR_NOT_A_BAG; + case 32: return EQUIP_ERR_DESTROY_NONEMPTY_BAG; + case 33: return EQUIP_ERR_NOT_OWNER; + case 34: return EQUIP_ERR_ONLY_ONE_QUIVER; + case 35: return EQUIP_ERR_NO_BANK_SLOT; + case 36: return EQUIP_ERR_NO_BANK_HERE; + case 37: return EQUIP_ERR_ITEM_LOCKED; + case 38: return EQUIP_ERR_GENERIC_STUNNED; + case 39: return EQUIP_ERR_PLAYER_DEAD; + case 40: return EQUIP_ERR_CLIENT_LOCKED_OUT; + case 41: return EQUIP_ERR_INTERNAL_BAG_ERROR; + case 42: return EQUIP_ERR_ONLY_ONE_BOLT; + case 43: return EQUIP_ERR_ONLY_ONE_AMMO; + case 44: return EQUIP_ERR_CANT_WRAP_STACKABLE; + case 45: return EQUIP_ERR_CANT_WRAP_EQUIPPED; + case 46: return EQUIP_ERR_CANT_WRAP_WRAPPED; + case 47: return EQUIP_ERR_CANT_WRAP_BOUND; + case 48: return EQUIP_ERR_CANT_WRAP_UNIQUE; + case 49: return EQUIP_ERR_CANT_WRAP_BAGS; + case 50: return EQUIP_ERR_LOOT_GONE; + case 51: return EQUIP_ERR_INV_FULL; + case 52: return EQUIP_ERR_BANK_FULL; + case 53: return EQUIP_ERR_VENDOR_SOLD_OUT; + case 54: return EQUIP_ERR_BAG_FULL_2; + case 55: return EQUIP_ERR_ITEM_NOT_FOUND_2; + case 56: return EQUIP_ERR_CANT_STACK_2; + case 57: return EQUIP_ERR_BAG_FULL_3; + case 58: return EQUIP_ERR_VENDOR_SOLD_OUT_2; + case 59: return EQUIP_ERR_OBJECT_IS_BUSY; + case 60: return EQUIP_ERR_CANT_BE_DISENCHANTED; + case 61: return EQUIP_ERR_NOT_IN_COMBAT; + case 62: return EQUIP_ERR_NOT_WHILE_DISARMED; + case 63: return EQUIP_ERR_BAG_FULL_4; + case 64: return EQUIP_ERR_CANT_EQUIP_RANK; + case 65: return EQUIP_ERR_CANT_EQUIP_REPUTATION; + case 66: return EQUIP_ERR_TOO_MANY_SPECIAL_BAGS; + case 67: return EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW; + case 68: return EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE; + case 69: return EQUIP_ERR_VENDOR_MISSING_TURNINS; + case 70: return EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS; + case 71: return EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS; + case 72: return EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED; + case 73: return EQUIP_ERR_MAIL_BOUND_ITEM; + case 74: return EQUIP_ERR_INTERNAL_BAG_ERROR_2; + case 75: return EQUIP_ERR_BAG_FULL_5; + case 76: return EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED; + case 77: return EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED; + case 78: return EQUIP_ERR_TOO_MUCH_GOLD; + case 79: return EQUIP_ERR_NOT_DURING_ARENA_MATCH; + case 80: return EQUIP_ERR_TRADE_BOUND_ITEM; + case 81: return EQUIP_ERR_CANT_EQUIP_RATING; + case 82: return EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM; + case 83: return EQUIP_ERR_NOT_SAME_ACCOUNT; + case 84: return EQUIP_NONE_3; + case 85: return EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS; + case 86: return EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS; + case 87: return EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED; + case 88: return EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW; + case 89: return EQUIP_ERR_CANT_EQUIP_NEED_TALENT; + case 90: return EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS; + case 91: return EQUIP_ERR_SHAPESHIFT_FORM_CANNOT_EQUIP; + case 92: return EQUIP_ERR_ITEM_INVENTORY_FULL_SATCHEL; + case 93: return EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW; + case 94: return EQUIP_ERR_CANT_BUY_QUANTITY; + case 95: return EQUIP_ERR_ITEM_IS_BATTLE_PAY_LOCKED; + case 96: return EQUIP_ERR_REAGENT_BANK_FULL; + case 97: return EQUIP_ERR_REAGENT_BANK_LOCKED; + case 98: return EQUIP_ERR_WRONG_BAG_TYPE_3; + case 99: return EQUIP_ERR_CANT_USE_ITEM; + case 100: return EQUIP_ERR_CANT_BE_OBLITERATED; + case 101: return EQUIP_ERR_GUILD_BANK_CONJURED_ITEM; + case 102: return EQUIP_ERR_BAG_FULL_6; + case 103: return EQUIP_ERR_CANT_BE_SCRAPPED; + case 104: return EQUIP_ERR_BAG_FULL_7; + case 105: return EQUIP_ERR_NOT_IN_PET_BATTLE; + case 106: return EQUIP_ERR_BAG_FULL_8; + case 107: return EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW; + case 108: return EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW_2; + case 109: return EQUIP_ERR_NOT_IN_NPE; + case 110: return EQUIP_ERR_ITEM_COOLDOWN; + case 111: return EQUIP_ERR_NOT_IN_RATED_BATTLEGROUND; + default: throw std::out_of_range("index"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<InventoryResult>::ToIndex(InventoryResult value) +{ + switch (value) + { + case EQUIP_ERR_OK: return 0; + case EQUIP_ERR_CANT_EQUIP_LEVEL_I: return 1; + case EQUIP_ERR_CANT_EQUIP_SKILL: return 2; + case EQUIP_ERR_WRONG_SLOT: return 3; + case EQUIP_ERR_BAG_FULL: return 4; + case EQUIP_ERR_BAG_IN_BAG: return 5; + case EQUIP_ERR_TRADE_EQUIPPED_BAG: return 6; + case EQUIP_ERR_AMMO_ONLY: return 7; + case EQUIP_ERR_PROFICIENCY_NEEDED: return 8; + case EQUIP_ERR_NO_SLOT_AVAILABLE: return 9; + case EQUIP_ERR_CANT_EQUIP_EVER: return 10; + case EQUIP_ERR_CANT_EQUIP_EVER_2: return 11; + case EQUIP_ERR_NO_SLOT_AVAILABLE_2: return 12; + case EQUIP_ERR_2HANDED_EQUIPPED: return 13; + case EQUIP_ERR_2HSKILLNOTFOUND: return 14; + case EQUIP_ERR_WRONG_BAG_TYPE: return 15; + case EQUIP_ERR_WRONG_BAG_TYPE_2: return 16; + case EQUIP_ERR_ITEM_MAX_COUNT: return 17; + case EQUIP_ERR_NO_SLOT_AVAILABLE_3: return 18; + case EQUIP_ERR_CANT_STACK: return 19; + case EQUIP_ERR_NOT_EQUIPPABLE: return 20; + case EQUIP_ERR_CANT_SWAP: return 21; + case EQUIP_ERR_SLOT_EMPTY: return 22; + case EQUIP_ERR_ITEM_NOT_FOUND: return 23; + case EQUIP_ERR_DROP_BOUND_ITEM: return 24; + case EQUIP_ERR_OUT_OF_RANGE: return 25; + case EQUIP_ERR_TOO_FEW_TO_SPLIT: return 26; + case EQUIP_ERR_SPLIT_FAILED: return 27; + case EQUIP_ERR_SPELL_FAILED_REAGENTS_GENERIC: return 28; + case EQUIP_ERR_CANT_TRADE_GOLD: return 29; + case EQUIP_ERR_NOT_ENOUGH_MONEY: return 30; + case EQUIP_ERR_NOT_A_BAG: return 31; + case EQUIP_ERR_DESTROY_NONEMPTY_BAG: return 32; + case EQUIP_ERR_NOT_OWNER: return 33; + case EQUIP_ERR_ONLY_ONE_QUIVER: return 34; + case EQUIP_ERR_NO_BANK_SLOT: return 35; + case EQUIP_ERR_NO_BANK_HERE: return 36; + case EQUIP_ERR_ITEM_LOCKED: return 37; + case EQUIP_ERR_GENERIC_STUNNED: return 38; + case EQUIP_ERR_PLAYER_DEAD: return 39; + case EQUIP_ERR_CLIENT_LOCKED_OUT: return 40; + case EQUIP_ERR_INTERNAL_BAG_ERROR: return 41; + case EQUIP_ERR_ONLY_ONE_BOLT: return 42; + case EQUIP_ERR_ONLY_ONE_AMMO: return 43; + case EQUIP_ERR_CANT_WRAP_STACKABLE: return 44; + case EQUIP_ERR_CANT_WRAP_EQUIPPED: return 45; + case EQUIP_ERR_CANT_WRAP_WRAPPED: return 46; + case EQUIP_ERR_CANT_WRAP_BOUND: return 47; + case EQUIP_ERR_CANT_WRAP_UNIQUE: return 48; + case EQUIP_ERR_CANT_WRAP_BAGS: return 49; + case EQUIP_ERR_LOOT_GONE: return 50; + case EQUIP_ERR_INV_FULL: return 51; + case EQUIP_ERR_BANK_FULL: return 52; + case EQUIP_ERR_VENDOR_SOLD_OUT: return 53; + case EQUIP_ERR_BAG_FULL_2: return 54; + case EQUIP_ERR_ITEM_NOT_FOUND_2: return 55; + case EQUIP_ERR_CANT_STACK_2: return 56; + case EQUIP_ERR_BAG_FULL_3: return 57; + case EQUIP_ERR_VENDOR_SOLD_OUT_2: return 58; + case EQUIP_ERR_OBJECT_IS_BUSY: return 59; + case EQUIP_ERR_CANT_BE_DISENCHANTED: return 60; + case EQUIP_ERR_NOT_IN_COMBAT: return 61; + case EQUIP_ERR_NOT_WHILE_DISARMED: return 62; + case EQUIP_ERR_BAG_FULL_4: return 63; + case EQUIP_ERR_CANT_EQUIP_RANK: return 64; + case EQUIP_ERR_CANT_EQUIP_REPUTATION: return 65; + case EQUIP_ERR_TOO_MANY_SPECIAL_BAGS: return 66; + case EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW: return 67; + case EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE: return 68; + case EQUIP_ERR_VENDOR_MISSING_TURNINS: return 69; + case EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS: return 70; + case EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS: return 71; + case EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED: return 72; + case EQUIP_ERR_MAIL_BOUND_ITEM: return 73; + case EQUIP_ERR_INTERNAL_BAG_ERROR_2: return 74; + case EQUIP_ERR_BAG_FULL_5: return 75; + case EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED: return 76; + case EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED: return 77; + case EQUIP_ERR_TOO_MUCH_GOLD: return 78; + case EQUIP_ERR_NOT_DURING_ARENA_MATCH: return 79; + case EQUIP_ERR_TRADE_BOUND_ITEM: return 80; + case EQUIP_ERR_CANT_EQUIP_RATING: return 81; + case EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM: return 82; + case EQUIP_ERR_NOT_SAME_ACCOUNT: return 83; + case EQUIP_NONE_3: return 84; + case EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS: return 85; + case EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS: return 86; + case EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED: return 87; + case EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW: return 88; + case EQUIP_ERR_CANT_EQUIP_NEED_TALENT: return 89; + case EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS: return 90; + case EQUIP_ERR_SHAPESHIFT_FORM_CANNOT_EQUIP: return 91; + case EQUIP_ERR_ITEM_INVENTORY_FULL_SATCHEL: return 92; + case EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW: return 93; + case EQUIP_ERR_CANT_BUY_QUANTITY: return 94; + case EQUIP_ERR_ITEM_IS_BATTLE_PAY_LOCKED: return 95; + case EQUIP_ERR_REAGENT_BANK_FULL: return 96; + case EQUIP_ERR_REAGENT_BANK_LOCKED: return 97; + case EQUIP_ERR_WRONG_BAG_TYPE_3: return 98; + case EQUIP_ERR_CANT_USE_ITEM: return 99; + case EQUIP_ERR_CANT_BE_OBLITERATED: return 100; + case EQUIP_ERR_GUILD_BANK_CONJURED_ITEM: return 101; + case EQUIP_ERR_BAG_FULL_6: return 102; + case EQUIP_ERR_CANT_BE_SCRAPPED: return 103; + case EQUIP_ERR_BAG_FULL_7: return 104; + case EQUIP_ERR_NOT_IN_PET_BATTLE: return 105; + case EQUIP_ERR_BAG_FULL_8: return 106; + case EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW: return 107; + case EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW_2: return 108; + case EQUIP_ERR_NOT_IN_NPE: return 109; + case EQUIP_ERR_ITEM_COOLDOWN: return 110; + case EQUIP_ERR_NOT_IN_RATED_BATTLEGROUND: return 111; + default: throw std::out_of_range("value"); + } +} + +/***************************************************************\ +|* data for enum 'BuyResult' in 'ItemDefines.h' auto-generated *| +\***************************************************************/ +template <> +TC_API_EXPORT EnumText EnumUtils<BuyResult>::ToString(BuyResult value) +{ + switch (value) + { + case BUY_ERR_CANT_FIND_ITEM: return { "BUY_ERR_CANT_FIND_ITEM", "BUY_ERR_CANT_FIND_ITEM", "" }; + case BUY_ERR_ITEM_ALREADY_SOLD: return { "BUY_ERR_ITEM_ALREADY_SOLD", "BUY_ERR_ITEM_ALREADY_SOLD", "" }; + case BUY_ERR_NOT_ENOUGHT_MONEY: return { "BUY_ERR_NOT_ENOUGHT_MONEY", "BUY_ERR_NOT_ENOUGHT_MONEY", "" }; + case BUY_ERR_SELLER_DONT_LIKE_YOU: return { "BUY_ERR_SELLER_DONT_LIKE_YOU", "BUY_ERR_SELLER_DONT_LIKE_YOU", "" }; + case BUY_ERR_DISTANCE_TOO_FAR: return { "BUY_ERR_DISTANCE_TOO_FAR", "BUY_ERR_DISTANCE_TOO_FAR", "" }; + case BUY_ERR_ITEM_SOLD_OUT: return { "BUY_ERR_ITEM_SOLD_OUT", "BUY_ERR_ITEM_SOLD_OUT", "" }; + case BUY_ERR_CANT_CARRY_MORE: return { "BUY_ERR_CANT_CARRY_MORE", "BUY_ERR_CANT_CARRY_MORE", "" }; + case BUY_ERR_RANK_REQUIRE: return { "BUY_ERR_RANK_REQUIRE", "BUY_ERR_RANK_REQUIRE", "" }; + case BUY_ERR_REPUTATION_REQUIRE: return { "BUY_ERR_REPUTATION_REQUIRE", "BUY_ERR_REPUTATION_REQUIRE", "" }; + default: throw std::out_of_range("value"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<BuyResult>::Count() { return 9; } + +template <> +TC_API_EXPORT BuyResult EnumUtils<BuyResult>::FromIndex(size_t index) +{ + switch (index) + { + case 0: return BUY_ERR_CANT_FIND_ITEM; + case 1: return BUY_ERR_ITEM_ALREADY_SOLD; + case 2: return BUY_ERR_NOT_ENOUGHT_MONEY; + case 3: return BUY_ERR_SELLER_DONT_LIKE_YOU; + case 4: return BUY_ERR_DISTANCE_TOO_FAR; + case 5: return BUY_ERR_ITEM_SOLD_OUT; + case 6: return BUY_ERR_CANT_CARRY_MORE; + case 7: return BUY_ERR_RANK_REQUIRE; + case 8: return BUY_ERR_REPUTATION_REQUIRE; + default: throw std::out_of_range("index"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<BuyResult>::ToIndex(BuyResult value) +{ + switch (value) + { + case BUY_ERR_CANT_FIND_ITEM: return 0; + case BUY_ERR_ITEM_ALREADY_SOLD: return 1; + case BUY_ERR_NOT_ENOUGHT_MONEY: return 2; + case BUY_ERR_SELLER_DONT_LIKE_YOU: return 3; + case BUY_ERR_DISTANCE_TOO_FAR: return 4; + case BUY_ERR_ITEM_SOLD_OUT: return 5; + case BUY_ERR_CANT_CARRY_MORE: return 6; + case BUY_ERR_RANK_REQUIRE: return 7; + case BUY_ERR_REPUTATION_REQUIRE: return 8; + default: throw std::out_of_range("value"); + } +} + +/****************************************************************\ +|* data for enum 'SellResult' in 'ItemDefines.h' auto-generated *| +\****************************************************************/ +template <> +TC_API_EXPORT EnumText EnumUtils<SellResult>::ToString(SellResult value) +{ + switch (value) + { + case SELL_ERR_CANT_FIND_ITEM: return { "SELL_ERR_CANT_FIND_ITEM", "SELL_ERR_CANT_FIND_ITEM", "The item was not found." }; + case SELL_ERR_CANT_SELL_ITEM: return { "SELL_ERR_CANT_SELL_ITEM", "SELL_ERR_CANT_SELL_ITEM", "The merchant doesn't want that item." }; + case SELL_ERR_CANT_FIND_VENDOR: return { "SELL_ERR_CANT_FIND_VENDOR", "SELL_ERR_CANT_FIND_VENDOR", "The merchant doesn't like you." }; + case SELL_ERR_YOU_DONT_OWN_THAT_ITEM: return { "SELL_ERR_YOU_DONT_OWN_THAT_ITEM", "SELL_ERR_YOU_DONT_OWN_THAT_ITEM", "You don't own that item." }; + case SELL_ERR_UNK: return { "SELL_ERR_UNK", "SELL_ERR_UNK", "nothing appears..." }; + case SELL_ERR_ONLY_EMPTY_BAG: return { "SELL_ERR_ONLY_EMPTY_BAG", "SELL_ERR_ONLY_EMPTY_BAG", "You can only do that with empty bags." }; + case SELL_ERR_CANT_SELL_TO_THIS_MERCHANT: return { "SELL_ERR_CANT_SELL_TO_THIS_MERCHANT", "SELL_ERR_CANT_SELL_TO_THIS_MERCHANT", "You cannot sell items to this merchant." }; + default: throw std::out_of_range("value"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<SellResult>::Count() { return 7; } + +template <> +TC_API_EXPORT SellResult EnumUtils<SellResult>::FromIndex(size_t index) +{ + switch (index) + { + case 0: return SELL_ERR_CANT_FIND_ITEM; + case 1: return SELL_ERR_CANT_SELL_ITEM; + case 2: return SELL_ERR_CANT_FIND_VENDOR; + case 3: return SELL_ERR_YOU_DONT_OWN_THAT_ITEM; + case 4: return SELL_ERR_UNK; + case 5: return SELL_ERR_ONLY_EMPTY_BAG; + case 6: return SELL_ERR_CANT_SELL_TO_THIS_MERCHANT; + default: throw std::out_of_range("index"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<SellResult>::ToIndex(SellResult value) +{ + switch (value) + { + case SELL_ERR_CANT_FIND_ITEM: return 0; + case SELL_ERR_CANT_SELL_ITEM: return 1; + case SELL_ERR_CANT_FIND_VENDOR: return 2; + case SELL_ERR_YOU_DONT_OWN_THAT_ITEM: return 3; + case SELL_ERR_UNK: return 4; + case SELL_ERR_ONLY_EMPTY_BAG: return 5; + case SELL_ERR_CANT_SELL_TO_THIS_MERCHANT: return 6; + default: throw std::out_of_range("value"); + } +} +} diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index f2171820d40..95d5553461f 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -17417,23 +17417,23 @@ void Player::SendQuestReward(Quest const* quest, Creature const* questGiver, uin SendDirectMessage(packet.Write()); } -void Player::SendQuestFailed(uint32 questID, InventoryResult reason) const +void Player::SendQuestFailed(uint32 questId, InventoryResult reason) const { - if (questID) + if (questId) { WorldPackets::Quest::QuestGiverQuestFailed questGiverQuestFailed; - questGiverQuestFailed.QuestID = questID; + questGiverQuestFailed.QuestID = questId; questGiverQuestFailed.Reason = reason; // failed reason (valid reasons: 4, 16, 50, 17, other values show default message) SendDirectMessage(questGiverQuestFailed.Write()); } } -void Player::SendQuestTimerFailed(uint32 questID) const +void Player::SendQuestTimerFailed(uint32 questId) const { - if (questID) + if (questId) { WorldPackets::Quest::QuestUpdateFailedTimer questUpdateFailedTimer; - questUpdateFailedTimer.QuestID = questID; + questUpdateFailedTimer.QuestID = questId; SendDirectMessage(questUpdateFailedTimer.Write()); } } diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 313a35889a7..b81594e6e32 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1622,8 +1622,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> bool IsQuestObjectiveProgressBarComplete(uint16 slot, Quest const* quest) const; void SendQuestComplete(uint32 questId) const; void SendQuestReward(Quest const* quest, Creature const* questGiver, uint32 xp, bool hideChatMessage) const; - void SendQuestFailed(uint32 questID, InventoryResult reason = EQUIP_ERR_OK) const; - void SendQuestTimerFailed(uint32 questID) const; + void SendQuestFailed(uint32 questId, InventoryResult reason = EQUIP_ERR_OK) const; + void SendQuestTimerFailed(uint32 questId) const; void SendCanTakeQuestResponse(QuestFailedReason reason, bool sendErrorMessage = true, std::string reasonText = "") const; void SendQuestConfirmAccept(Quest const* quest, Player* receiver) const; void SendPushToPartyResponse(Player const* player, QuestPushReason reason, Quest const* quest = nullptr) const; diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 07a36c73aaf..1c06f20008d 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -1422,6 +1422,7 @@ enum SpellEffectName TOTAL_SPELL_EFFECTS }; +// EnumUtils: DESCRIBE THIS enum SpellCastResult { SPELL_FAILED_SUCCESS = 0, @@ -1740,7 +1741,7 @@ enum SpellCastResult SPELL_FAILED_UNKNOWN = 313, // ok cast value - here in case a future version removes SPELL_FAILED_SUCCESS and we need to use a custom value (not sent to client either way) - SPELL_CAST_OK = SPELL_FAILED_SUCCESS + SPELL_CAST_OK = SPELL_FAILED_SUCCESS // SKIP }; enum SpellCustomErrors @@ -2381,6 +2382,7 @@ enum GhostVisibilityType }; // Spell aura states +// EnumUtils: DESCRIBE THIS enum AuraStateType { // (C) used in caster aura state (T) used in target aura state // (c) used in caster aura state-not (t) used in target aura state-not @@ -5643,6 +5645,7 @@ enum WeatherType #define MAX_WEATHER_TYPE 4 +// EnumUtils: DESCRIBE THIS enum ChatMsg : int32 { CHAT_MSG_ADDON = -1, diff --git a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp index 6a233d278e9..33739ee5288 100644 --- a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp +++ b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp @@ -2174,6 +2174,1089 @@ TC_API_EXPORT size_t EnumUtils<SpellAttr14>::ToIndex(SpellAttr14 value) } } +/***********************************************************************\ +|* data for enum 'SpellCastResult' in 'SharedDefines.h' auto-generated *| +\***********************************************************************/ +template <> +TC_API_EXPORT EnumText EnumUtils<SpellCastResult>::ToString(SpellCastResult value) +{ + switch (value) + { + case SPELL_FAILED_SUCCESS: return { "SPELL_FAILED_SUCCESS", "SPELL_FAILED_SUCCESS", "" }; + case SPELL_FAILED_AFFECTING_COMBAT: return { "SPELL_FAILED_AFFECTING_COMBAT", "SPELL_FAILED_AFFECTING_COMBAT", "" }; + case SPELL_FAILED_ALREADY_AT_FULL_HEALTH: return { "SPELL_FAILED_ALREADY_AT_FULL_HEALTH", "SPELL_FAILED_ALREADY_AT_FULL_HEALTH", "" }; + case SPELL_FAILED_ALREADY_AT_FULL_MANA: return { "SPELL_FAILED_ALREADY_AT_FULL_MANA", "SPELL_FAILED_ALREADY_AT_FULL_MANA", "" }; + case SPELL_FAILED_ALREADY_AT_FULL_POWER: return { "SPELL_FAILED_ALREADY_AT_FULL_POWER", "SPELL_FAILED_ALREADY_AT_FULL_POWER", "" }; + case SPELL_FAILED_ALREADY_BEING_TAMED: return { "SPELL_FAILED_ALREADY_BEING_TAMED", "SPELL_FAILED_ALREADY_BEING_TAMED", "" }; + case SPELL_FAILED_ALREADY_HAVE_CHARM: return { "SPELL_FAILED_ALREADY_HAVE_CHARM", "SPELL_FAILED_ALREADY_HAVE_CHARM", "" }; + case SPELL_FAILED_ALREADY_HAVE_SUMMON: return { "SPELL_FAILED_ALREADY_HAVE_SUMMON", "SPELL_FAILED_ALREADY_HAVE_SUMMON", "" }; + case SPELL_FAILED_ALREADY_HAVE_PET: return { "SPELL_FAILED_ALREADY_HAVE_PET", "SPELL_FAILED_ALREADY_HAVE_PET", "" }; + case SPELL_FAILED_ALREADY_OPEN: return { "SPELL_FAILED_ALREADY_OPEN", "SPELL_FAILED_ALREADY_OPEN", "" }; + case SPELL_FAILED_AURA_BOUNCED: return { "SPELL_FAILED_AURA_BOUNCED", "SPELL_FAILED_AURA_BOUNCED", "" }; + case SPELL_FAILED_AUTOTRACK_INTERRUPTED: return { "SPELL_FAILED_AUTOTRACK_INTERRUPTED", "SPELL_FAILED_AUTOTRACK_INTERRUPTED", "" }; + case SPELL_FAILED_BAD_IMPLICIT_TARGETS: return { "SPELL_FAILED_BAD_IMPLICIT_TARGETS", "SPELL_FAILED_BAD_IMPLICIT_TARGETS", "" }; + case SPELL_FAILED_BAD_TARGETS: return { "SPELL_FAILED_BAD_TARGETS", "SPELL_FAILED_BAD_TARGETS", "" }; + case SPELL_FAILED_PVP_TARGET_WHILE_UNFLAGGED: return { "SPELL_FAILED_PVP_TARGET_WHILE_UNFLAGGED", "SPELL_FAILED_PVP_TARGET_WHILE_UNFLAGGED", "" }; + case SPELL_FAILED_CANT_BE_CHARMED: return { "SPELL_FAILED_CANT_BE_CHARMED", "SPELL_FAILED_CANT_BE_CHARMED", "" }; + case SPELL_FAILED_CANT_BE_DISENCHANTED: return { "SPELL_FAILED_CANT_BE_DISENCHANTED", "SPELL_FAILED_CANT_BE_DISENCHANTED", "" }; + case SPELL_FAILED_CANT_BE_DISENCHANTED_SKILL: return { "SPELL_FAILED_CANT_BE_DISENCHANTED_SKILL", "SPELL_FAILED_CANT_BE_DISENCHANTED_SKILL", "" }; + case SPELL_FAILED_CANT_BE_ENCHANTED: return { "SPELL_FAILED_CANT_BE_ENCHANTED", "SPELL_FAILED_CANT_BE_ENCHANTED", "" }; + case SPELL_FAILED_CANT_BE_MILLED: return { "SPELL_FAILED_CANT_BE_MILLED", "SPELL_FAILED_CANT_BE_MILLED", "" }; + case SPELL_FAILED_CANT_BE_PROSPECTED: return { "SPELL_FAILED_CANT_BE_PROSPECTED", "SPELL_FAILED_CANT_BE_PROSPECTED", "" }; + case SPELL_FAILED_CANT_CAST_ON_TAPPED: return { "SPELL_FAILED_CANT_CAST_ON_TAPPED", "SPELL_FAILED_CANT_CAST_ON_TAPPED", "" }; + case SPELL_FAILED_CANT_DUEL_WHILE_INVISIBLE: return { "SPELL_FAILED_CANT_DUEL_WHILE_INVISIBLE", "SPELL_FAILED_CANT_DUEL_WHILE_INVISIBLE", "" }; + case SPELL_FAILED_CANT_DUEL_WHILE_STEALTHED: return { "SPELL_FAILED_CANT_DUEL_WHILE_STEALTHED", "SPELL_FAILED_CANT_DUEL_WHILE_STEALTHED", "" }; + case SPELL_FAILED_CANT_STEALTH: return { "SPELL_FAILED_CANT_STEALTH", "SPELL_FAILED_CANT_STEALTH", "" }; + case SPELL_FAILED_CANT_UNTALENT: return { "SPELL_FAILED_CANT_UNTALENT", "SPELL_FAILED_CANT_UNTALENT", "" }; + case SPELL_FAILED_CASTER_AURASTATE: return { "SPELL_FAILED_CASTER_AURASTATE", "SPELL_FAILED_CASTER_AURASTATE", "" }; + case SPELL_FAILED_CASTER_DEAD: return { "SPELL_FAILED_CASTER_DEAD", "SPELL_FAILED_CASTER_DEAD", "" }; + case SPELL_FAILED_CHARMED: return { "SPELL_FAILED_CHARMED", "SPELL_FAILED_CHARMED", "" }; + case SPELL_FAILED_CHEST_IN_USE: return { "SPELL_FAILED_CHEST_IN_USE", "SPELL_FAILED_CHEST_IN_USE", "" }; + case SPELL_FAILED_CONFUSED: return { "SPELL_FAILED_CONFUSED", "SPELL_FAILED_CONFUSED", "" }; + case SPELL_FAILED_DISABLED_BY_POWER_SCALING: return { "SPELL_FAILED_DISABLED_BY_POWER_SCALING", "SPELL_FAILED_DISABLED_BY_POWER_SCALING", "" }; + case SPELL_FAILED_DONT_REPORT: return { "SPELL_FAILED_DONT_REPORT", "SPELL_FAILED_DONT_REPORT", "" }; + case SPELL_FAILED_EQUIPPED_ITEM: return { "SPELL_FAILED_EQUIPPED_ITEM", "SPELL_FAILED_EQUIPPED_ITEM", "" }; + case SPELL_FAILED_EQUIPPED_ITEM_CLASS: return { "SPELL_FAILED_EQUIPPED_ITEM_CLASS", "SPELL_FAILED_EQUIPPED_ITEM_CLASS", "" }; + case SPELL_FAILED_EQUIPPED_ITEM_CLASS_MAINHAND: return { "SPELL_FAILED_EQUIPPED_ITEM_CLASS_MAINHAND", "SPELL_FAILED_EQUIPPED_ITEM_CLASS_MAINHAND", "" }; + case SPELL_FAILED_EQUIPPED_ITEM_CLASS_OFFHAND: return { "SPELL_FAILED_EQUIPPED_ITEM_CLASS_OFFHAND", "SPELL_FAILED_EQUIPPED_ITEM_CLASS_OFFHAND", "" }; + case SPELL_FAILED_ERROR: return { "SPELL_FAILED_ERROR", "SPELL_FAILED_ERROR", "" }; + case SPELL_FAILED_FALLING: return { "SPELL_FAILED_FALLING", "SPELL_FAILED_FALLING", "" }; + case SPELL_FAILED_FIZZLE: return { "SPELL_FAILED_FIZZLE", "SPELL_FAILED_FIZZLE", "" }; + case SPELL_FAILED_FLEEING: return { "SPELL_FAILED_FLEEING", "SPELL_FAILED_FLEEING", "" }; + case SPELL_FAILED_FOOD_LOWLEVEL: return { "SPELL_FAILED_FOOD_LOWLEVEL", "SPELL_FAILED_FOOD_LOWLEVEL", "" }; + case SPELL_FAILED_GARRISON_NOT_OWNED: return { "SPELL_FAILED_GARRISON_NOT_OWNED", "SPELL_FAILED_GARRISON_NOT_OWNED", "" }; + case SPELL_FAILED_GARRISON_OWNED: return { "SPELL_FAILED_GARRISON_OWNED", "SPELL_FAILED_GARRISON_OWNED", "" }; + case SPELL_FAILED_GARRISON_MAX_LEVEL: return { "SPELL_FAILED_GARRISON_MAX_LEVEL", "SPELL_FAILED_GARRISON_MAX_LEVEL", "" }; + case SPELL_FAILED_GARRISON_NOT_UPGRADEABLE: return { "SPELL_FAILED_GARRISON_NOT_UPGRADEABLE", "SPELL_FAILED_GARRISON_NOT_UPGRADEABLE", "" }; + case SPELL_FAILED_GARRISON_FOLLOWER_ON_MISSION: return { "SPELL_FAILED_GARRISON_FOLLOWER_ON_MISSION", "SPELL_FAILED_GARRISON_FOLLOWER_ON_MISSION", "" }; + case SPELL_FAILED_GARRISON_FOLLOWER_IN_BUILDING: return { "SPELL_FAILED_GARRISON_FOLLOWER_IN_BUILDING", "SPELL_FAILED_GARRISON_FOLLOWER_IN_BUILDING", "" }; + case SPELL_FAILED_GARRISON_FOLLOWER_MAX_LEVEL: return { "SPELL_FAILED_GARRISON_FOLLOWER_MAX_LEVEL", "SPELL_FAILED_GARRISON_FOLLOWER_MAX_LEVEL", "" }; + case SPELL_FAILED_GARRISON_FOLLOWER_MIN_ITEM_LEVEL: return { "SPELL_FAILED_GARRISON_FOLLOWER_MIN_ITEM_LEVEL", "SPELL_FAILED_GARRISON_FOLLOWER_MIN_ITEM_LEVEL", "" }; + case SPELL_FAILED_GARRISON_FOLLOWER_MAX_ITEM_LEVEL: return { "SPELL_FAILED_GARRISON_FOLLOWER_MAX_ITEM_LEVEL", "SPELL_FAILED_GARRISON_FOLLOWER_MAX_ITEM_LEVEL", "" }; + case SPELL_FAILED_GARRISON_FOLLOWER_MAX_QUALITY: return { "SPELL_FAILED_GARRISON_FOLLOWER_MAX_QUALITY", "SPELL_FAILED_GARRISON_FOLLOWER_MAX_QUALITY", "" }; + case SPELL_FAILED_GARRISON_FOLLOWER_NOT_MAX_LEVEL: return { "SPELL_FAILED_GARRISON_FOLLOWER_NOT_MAX_LEVEL", "SPELL_FAILED_GARRISON_FOLLOWER_NOT_MAX_LEVEL", "" }; + case SPELL_FAILED_GARRISON_FOLLOWER_HAS_ABILITY: return { "SPELL_FAILED_GARRISON_FOLLOWER_HAS_ABILITY", "SPELL_FAILED_GARRISON_FOLLOWER_HAS_ABILITY", "" }; + case SPELL_FAILED_GARRISON_FOLLOWER_HAS_SINGLE_MISSION_ABILITY: return { "SPELL_FAILED_GARRISON_FOLLOWER_HAS_SINGLE_MISSION_ABILITY", "SPELL_FAILED_GARRISON_FOLLOWER_HAS_SINGLE_MISSION_ABILITY", "" }; + case SPELL_FAILED_GARRISON_FOLLOWER_REQUIRES_EPIC: return { "SPELL_FAILED_GARRISON_FOLLOWER_REQUIRES_EPIC", "SPELL_FAILED_GARRISON_FOLLOWER_REQUIRES_EPIC", "" }; + case SPELL_FAILED_GARRISON_MISSION_NOT_IN_PROGRESS: return { "SPELL_FAILED_GARRISON_MISSION_NOT_IN_PROGRESS", "SPELL_FAILED_GARRISON_MISSION_NOT_IN_PROGRESS", "" }; + case SPELL_FAILED_GARRISON_MISSION_COMPLETE: return { "SPELL_FAILED_GARRISON_MISSION_COMPLETE", "SPELL_FAILED_GARRISON_MISSION_COMPLETE", "" }; + case SPELL_FAILED_GARRISON_NO_MISSIONS_AVAILABLE: return { "SPELL_FAILED_GARRISON_NO_MISSIONS_AVAILABLE", "SPELL_FAILED_GARRISON_NO_MISSIONS_AVAILABLE", "" }; + case SPELL_FAILED_HIGHLEVEL: return { "SPELL_FAILED_HIGHLEVEL", "SPELL_FAILED_HIGHLEVEL", "" }; + case SPELL_FAILED_HUNGER_SATIATED: return { "SPELL_FAILED_HUNGER_SATIATED", "SPELL_FAILED_HUNGER_SATIATED", "" }; + case SPELL_FAILED_IMMUNE: return { "SPELL_FAILED_IMMUNE", "SPELL_FAILED_IMMUNE", "" }; + case SPELL_FAILED_INCORRECT_AREA: return { "SPELL_FAILED_INCORRECT_AREA", "SPELL_FAILED_INCORRECT_AREA", "" }; + case SPELL_FAILED_INTERRUPTED: return { "SPELL_FAILED_INTERRUPTED", "SPELL_FAILED_INTERRUPTED", "" }; + case SPELL_FAILED_INTERRUPTED_COMBAT: return { "SPELL_FAILED_INTERRUPTED_COMBAT", "SPELL_FAILED_INTERRUPTED_COMBAT", "" }; + case SPELL_FAILED_ITEM_ALREADY_ENCHANTED: return { "SPELL_FAILED_ITEM_ALREADY_ENCHANTED", "SPELL_FAILED_ITEM_ALREADY_ENCHANTED", "" }; + case SPELL_FAILED_ITEM_GONE: return { "SPELL_FAILED_ITEM_GONE", "SPELL_FAILED_ITEM_GONE", "" }; + case SPELL_FAILED_ITEM_NOT_FOUND: return { "SPELL_FAILED_ITEM_NOT_FOUND", "SPELL_FAILED_ITEM_NOT_FOUND", "" }; + case SPELL_FAILED_ITEM_NOT_READY: return { "SPELL_FAILED_ITEM_NOT_READY", "SPELL_FAILED_ITEM_NOT_READY", "" }; + case SPELL_FAILED_LEVEL_REQUIREMENT: return { "SPELL_FAILED_LEVEL_REQUIREMENT", "SPELL_FAILED_LEVEL_REQUIREMENT", "" }; + case SPELL_FAILED_LINE_OF_SIGHT: return { "SPELL_FAILED_LINE_OF_SIGHT", "SPELL_FAILED_LINE_OF_SIGHT", "" }; + case SPELL_FAILED_LOWLEVEL: return { "SPELL_FAILED_LOWLEVEL", "SPELL_FAILED_LOWLEVEL", "" }; + case SPELL_FAILED_LOW_CASTLEVEL: return { "SPELL_FAILED_LOW_CASTLEVEL", "SPELL_FAILED_LOW_CASTLEVEL", "" }; + case SPELL_FAILED_MAINHAND_EMPTY: return { "SPELL_FAILED_MAINHAND_EMPTY", "SPELL_FAILED_MAINHAND_EMPTY", "" }; + case SPELL_FAILED_MOVING: return { "SPELL_FAILED_MOVING", "SPELL_FAILED_MOVING", "" }; + case SPELL_FAILED_NEED_AMMO: return { "SPELL_FAILED_NEED_AMMO", "SPELL_FAILED_NEED_AMMO", "" }; + case SPELL_FAILED_NEED_AMMO_POUCH: return { "SPELL_FAILED_NEED_AMMO_POUCH", "SPELL_FAILED_NEED_AMMO_POUCH", "" }; + case SPELL_FAILED_NEED_EXOTIC_AMMO: return { "SPELL_FAILED_NEED_EXOTIC_AMMO", "SPELL_FAILED_NEED_EXOTIC_AMMO", "" }; + case SPELL_FAILED_NEED_MORE_ITEMS: return { "SPELL_FAILED_NEED_MORE_ITEMS", "SPELL_FAILED_NEED_MORE_ITEMS", "" }; + case SPELL_FAILED_NOPATH: return { "SPELL_FAILED_NOPATH", "SPELL_FAILED_NOPATH", "" }; + case SPELL_FAILED_NOT_BEHIND: return { "SPELL_FAILED_NOT_BEHIND", "SPELL_FAILED_NOT_BEHIND", "" }; + case SPELL_FAILED_NOT_FISHABLE: return { "SPELL_FAILED_NOT_FISHABLE", "SPELL_FAILED_NOT_FISHABLE", "" }; + case SPELL_FAILED_NOT_FLYING: return { "SPELL_FAILED_NOT_FLYING", "SPELL_FAILED_NOT_FLYING", "" }; + case SPELL_FAILED_NOT_HERE: return { "SPELL_FAILED_NOT_HERE", "SPELL_FAILED_NOT_HERE", "" }; + case SPELL_FAILED_NOT_INFRONT: return { "SPELL_FAILED_NOT_INFRONT", "SPELL_FAILED_NOT_INFRONT", "" }; + case SPELL_FAILED_NOT_IN_CONTROL: return { "SPELL_FAILED_NOT_IN_CONTROL", "SPELL_FAILED_NOT_IN_CONTROL", "" }; + case SPELL_FAILED_NOT_KNOWN: return { "SPELL_FAILED_NOT_KNOWN", "SPELL_FAILED_NOT_KNOWN", "" }; + case SPELL_FAILED_NOT_MOUNTED: return { "SPELL_FAILED_NOT_MOUNTED", "SPELL_FAILED_NOT_MOUNTED", "" }; + case SPELL_FAILED_NOT_ON_TAXI: return { "SPELL_FAILED_NOT_ON_TAXI", "SPELL_FAILED_NOT_ON_TAXI", "" }; + case SPELL_FAILED_NOT_ON_TRANSPORT: return { "SPELL_FAILED_NOT_ON_TRANSPORT", "SPELL_FAILED_NOT_ON_TRANSPORT", "" }; + case SPELL_FAILED_NOT_READY: return { "SPELL_FAILED_NOT_READY", "SPELL_FAILED_NOT_READY", "" }; + case SPELL_FAILED_NOT_SHAPESHIFT: return { "SPELL_FAILED_NOT_SHAPESHIFT", "SPELL_FAILED_NOT_SHAPESHIFT", "" }; + case SPELL_FAILED_NOT_STANDING: return { "SPELL_FAILED_NOT_STANDING", "SPELL_FAILED_NOT_STANDING", "" }; + case SPELL_FAILED_NOT_TRADEABLE: return { "SPELL_FAILED_NOT_TRADEABLE", "SPELL_FAILED_NOT_TRADEABLE", "" }; + case SPELL_FAILED_NOT_TRADING: return { "SPELL_FAILED_NOT_TRADING", "SPELL_FAILED_NOT_TRADING", "" }; + case SPELL_FAILED_NOT_UNSHEATHED: return { "SPELL_FAILED_NOT_UNSHEATHED", "SPELL_FAILED_NOT_UNSHEATHED", "" }; + case SPELL_FAILED_NOT_WHILE_GHOST: return { "SPELL_FAILED_NOT_WHILE_GHOST", "SPELL_FAILED_NOT_WHILE_GHOST", "" }; + case SPELL_FAILED_NOT_WHILE_LOOTING: return { "SPELL_FAILED_NOT_WHILE_LOOTING", "SPELL_FAILED_NOT_WHILE_LOOTING", "" }; + case SPELL_FAILED_NO_AMMO: return { "SPELL_FAILED_NO_AMMO", "SPELL_FAILED_NO_AMMO", "" }; + case SPELL_FAILED_NO_CHARGES_REMAIN: return { "SPELL_FAILED_NO_CHARGES_REMAIN", "SPELL_FAILED_NO_CHARGES_REMAIN", "" }; + case SPELL_FAILED_NO_COMBO_POINTS: return { "SPELL_FAILED_NO_COMBO_POINTS", "SPELL_FAILED_NO_COMBO_POINTS", "" }; + case SPELL_FAILED_NO_DUELING: return { "SPELL_FAILED_NO_DUELING", "SPELL_FAILED_NO_DUELING", "" }; + case SPELL_FAILED_NO_ENDURANCE: return { "SPELL_FAILED_NO_ENDURANCE", "SPELL_FAILED_NO_ENDURANCE", "" }; + case SPELL_FAILED_NO_FISH: return { "SPELL_FAILED_NO_FISH", "SPELL_FAILED_NO_FISH", "" }; + case SPELL_FAILED_NO_ITEMS_WHILE_SHAPESHIFTED: return { "SPELL_FAILED_NO_ITEMS_WHILE_SHAPESHIFTED", "SPELL_FAILED_NO_ITEMS_WHILE_SHAPESHIFTED", "" }; + case SPELL_FAILED_NO_MOUNTS_ALLOWED: return { "SPELL_FAILED_NO_MOUNTS_ALLOWED", "SPELL_FAILED_NO_MOUNTS_ALLOWED", "" }; + case SPELL_FAILED_NO_PET: return { "SPELL_FAILED_NO_PET", "SPELL_FAILED_NO_PET", "" }; + case SPELL_FAILED_NO_POWER: return { "SPELL_FAILED_NO_POWER", "SPELL_FAILED_NO_POWER", "" }; + case SPELL_FAILED_NOTHING_TO_DISPEL: return { "SPELL_FAILED_NOTHING_TO_DISPEL", "SPELL_FAILED_NOTHING_TO_DISPEL", "" }; + case SPELL_FAILED_NOTHING_TO_STEAL: return { "SPELL_FAILED_NOTHING_TO_STEAL", "SPELL_FAILED_NOTHING_TO_STEAL", "" }; + case SPELL_FAILED_ONLY_ABOVEWATER: return { "SPELL_FAILED_ONLY_ABOVEWATER", "SPELL_FAILED_ONLY_ABOVEWATER", "" }; + case SPELL_FAILED_ONLY_INDOORS: return { "SPELL_FAILED_ONLY_INDOORS", "SPELL_FAILED_ONLY_INDOORS", "" }; + case SPELL_FAILED_ONLY_MOUNTED: return { "SPELL_FAILED_ONLY_MOUNTED", "SPELL_FAILED_ONLY_MOUNTED", "" }; + case SPELL_FAILED_ONLY_OUTDOORS: return { "SPELL_FAILED_ONLY_OUTDOORS", "SPELL_FAILED_ONLY_OUTDOORS", "" }; + case SPELL_FAILED_ONLY_SHAPESHIFT: return { "SPELL_FAILED_ONLY_SHAPESHIFT", "SPELL_FAILED_ONLY_SHAPESHIFT", "" }; + case SPELL_FAILED_ONLY_STEALTHED: return { "SPELL_FAILED_ONLY_STEALTHED", "SPELL_FAILED_ONLY_STEALTHED", "" }; + case SPELL_FAILED_ONLY_UNDERWATER: return { "SPELL_FAILED_ONLY_UNDERWATER", "SPELL_FAILED_ONLY_UNDERWATER", "" }; + case SPELL_FAILED_OUT_OF_RANGE: return { "SPELL_FAILED_OUT_OF_RANGE", "SPELL_FAILED_OUT_OF_RANGE", "" }; + case SPELL_FAILED_PACIFIED: return { "SPELL_FAILED_PACIFIED", "SPELL_FAILED_PACIFIED", "" }; + case SPELL_FAILED_POSSESSED: return { "SPELL_FAILED_POSSESSED", "SPELL_FAILED_POSSESSED", "" }; + case SPELL_FAILED_REAGENTS: return { "SPELL_FAILED_REAGENTS", "SPELL_FAILED_REAGENTS", "" }; + case SPELL_FAILED_REQUIRES_AREA: return { "SPELL_FAILED_REQUIRES_AREA", "SPELL_FAILED_REQUIRES_AREA", "" }; + case SPELL_FAILED_REQUIRES_SPELL_FOCUS: return { "SPELL_FAILED_REQUIRES_SPELL_FOCUS", "SPELL_FAILED_REQUIRES_SPELL_FOCUS", "" }; + case SPELL_FAILED_ROOTED: return { "SPELL_FAILED_ROOTED", "SPELL_FAILED_ROOTED", "" }; + case SPELL_FAILED_SILENCED: return { "SPELL_FAILED_SILENCED", "SPELL_FAILED_SILENCED", "" }; + case SPELL_FAILED_SPELL_IN_PROGRESS: return { "SPELL_FAILED_SPELL_IN_PROGRESS", "SPELL_FAILED_SPELL_IN_PROGRESS", "" }; + case SPELL_FAILED_SPELL_LEARNED: return { "SPELL_FAILED_SPELL_LEARNED", "SPELL_FAILED_SPELL_LEARNED", "" }; + case SPELL_FAILED_SPELL_UNAVAILABLE: return { "SPELL_FAILED_SPELL_UNAVAILABLE", "SPELL_FAILED_SPELL_UNAVAILABLE", "" }; + case SPELL_FAILED_STUNNED: return { "SPELL_FAILED_STUNNED", "SPELL_FAILED_STUNNED", "" }; + case SPELL_FAILED_TARGETS_DEAD: return { "SPELL_FAILED_TARGETS_DEAD", "SPELL_FAILED_TARGETS_DEAD", "" }; + case SPELL_FAILED_TARGET_AFFECTING_COMBAT: return { "SPELL_FAILED_TARGET_AFFECTING_COMBAT", "SPELL_FAILED_TARGET_AFFECTING_COMBAT", "" }; + case SPELL_FAILED_TARGET_AURASTATE: return { "SPELL_FAILED_TARGET_AURASTATE", "SPELL_FAILED_TARGET_AURASTATE", "" }; + case SPELL_FAILED_TARGET_DUELING: return { "SPELL_FAILED_TARGET_DUELING", "SPELL_FAILED_TARGET_DUELING", "" }; + case SPELL_FAILED_TARGET_ENEMY: return { "SPELL_FAILED_TARGET_ENEMY", "SPELL_FAILED_TARGET_ENEMY", "" }; + case SPELL_FAILED_TARGET_ENRAGED: return { "SPELL_FAILED_TARGET_ENRAGED", "SPELL_FAILED_TARGET_ENRAGED", "" }; + case SPELL_FAILED_TARGET_FRIENDLY: return { "SPELL_FAILED_TARGET_FRIENDLY", "SPELL_FAILED_TARGET_FRIENDLY", "" }; + case SPELL_FAILED_TARGET_IN_COMBAT: return { "SPELL_FAILED_TARGET_IN_COMBAT", "SPELL_FAILED_TARGET_IN_COMBAT", "" }; + case SPELL_FAILED_TARGET_IN_PET_BATTLE: return { "SPELL_FAILED_TARGET_IN_PET_BATTLE", "SPELL_FAILED_TARGET_IN_PET_BATTLE", "" }; + case SPELL_FAILED_TARGET_IS_PLAYER: return { "SPELL_FAILED_TARGET_IS_PLAYER", "SPELL_FAILED_TARGET_IS_PLAYER", "" }; + case SPELL_FAILED_TARGET_IS_PLAYER_CONTROLLED: return { "SPELL_FAILED_TARGET_IS_PLAYER_CONTROLLED", "SPELL_FAILED_TARGET_IS_PLAYER_CONTROLLED", "" }; + case SPELL_FAILED_TARGET_NOT_DEAD: return { "SPELL_FAILED_TARGET_NOT_DEAD", "SPELL_FAILED_TARGET_NOT_DEAD", "" }; + case SPELL_FAILED_TARGET_NOT_IN_PARTY: return { "SPELL_FAILED_TARGET_NOT_IN_PARTY", "SPELL_FAILED_TARGET_NOT_IN_PARTY", "" }; + case SPELL_FAILED_TARGET_NOT_LOOTED: return { "SPELL_FAILED_TARGET_NOT_LOOTED", "SPELL_FAILED_TARGET_NOT_LOOTED", "" }; + case SPELL_FAILED_TARGET_NOT_PLAYER: return { "SPELL_FAILED_TARGET_NOT_PLAYER", "SPELL_FAILED_TARGET_NOT_PLAYER", "" }; + case SPELL_FAILED_TARGET_NO_POCKETS: return { "SPELL_FAILED_TARGET_NO_POCKETS", "SPELL_FAILED_TARGET_NO_POCKETS", "" }; + case SPELL_FAILED_TARGET_NO_WEAPONS: return { "SPELL_FAILED_TARGET_NO_WEAPONS", "SPELL_FAILED_TARGET_NO_WEAPONS", "" }; + case SPELL_FAILED_TARGET_NO_RANGED_WEAPONS: return { "SPELL_FAILED_TARGET_NO_RANGED_WEAPONS", "SPELL_FAILED_TARGET_NO_RANGED_WEAPONS", "" }; + case SPELL_FAILED_TARGET_UNSKINNABLE: return { "SPELL_FAILED_TARGET_UNSKINNABLE", "SPELL_FAILED_TARGET_UNSKINNABLE", "" }; + case SPELL_FAILED_THIRST_SATIATED: return { "SPELL_FAILED_THIRST_SATIATED", "SPELL_FAILED_THIRST_SATIATED", "" }; + case SPELL_FAILED_TOO_CLOSE: return { "SPELL_FAILED_TOO_CLOSE", "SPELL_FAILED_TOO_CLOSE", "" }; + case SPELL_FAILED_TOO_MANY_OF_ITEM: return { "SPELL_FAILED_TOO_MANY_OF_ITEM", "SPELL_FAILED_TOO_MANY_OF_ITEM", "" }; + case SPELL_FAILED_TOTEM_CATEGORY: return { "SPELL_FAILED_TOTEM_CATEGORY", "SPELL_FAILED_TOTEM_CATEGORY", "" }; + case SPELL_FAILED_TOTEMS: return { "SPELL_FAILED_TOTEMS", "SPELL_FAILED_TOTEMS", "" }; + case SPELL_FAILED_TRY_AGAIN: return { "SPELL_FAILED_TRY_AGAIN", "SPELL_FAILED_TRY_AGAIN", "" }; + case SPELL_FAILED_UNIT_NOT_BEHIND: return { "SPELL_FAILED_UNIT_NOT_BEHIND", "SPELL_FAILED_UNIT_NOT_BEHIND", "" }; + case SPELL_FAILED_UNIT_NOT_INFRONT: return { "SPELL_FAILED_UNIT_NOT_INFRONT", "SPELL_FAILED_UNIT_NOT_INFRONT", "" }; + case SPELL_FAILED_VISION_OBSCURED: return { "SPELL_FAILED_VISION_OBSCURED", "SPELL_FAILED_VISION_OBSCURED", "" }; + case SPELL_FAILED_WRONG_PET_FOOD: return { "SPELL_FAILED_WRONG_PET_FOOD", "SPELL_FAILED_WRONG_PET_FOOD", "" }; + case SPELL_FAILED_NOT_WHILE_FATIGUED: return { "SPELL_FAILED_NOT_WHILE_FATIGUED", "SPELL_FAILED_NOT_WHILE_FATIGUED", "" }; + case SPELL_FAILED_TARGET_NOT_IN_INSTANCE: return { "SPELL_FAILED_TARGET_NOT_IN_INSTANCE", "SPELL_FAILED_TARGET_NOT_IN_INSTANCE", "" }; + case SPELL_FAILED_NOT_WHILE_TRADING: return { "SPELL_FAILED_NOT_WHILE_TRADING", "SPELL_FAILED_NOT_WHILE_TRADING", "" }; + case SPELL_FAILED_TARGET_NOT_IN_RAID: return { "SPELL_FAILED_TARGET_NOT_IN_RAID", "SPELL_FAILED_TARGET_NOT_IN_RAID", "" }; + case SPELL_FAILED_TARGET_FREEFORALL: return { "SPELL_FAILED_TARGET_FREEFORALL", "SPELL_FAILED_TARGET_FREEFORALL", "" }; + case SPELL_FAILED_NO_EDIBLE_CORPSES: return { "SPELL_FAILED_NO_EDIBLE_CORPSES", "SPELL_FAILED_NO_EDIBLE_CORPSES", "" }; + case SPELL_FAILED_ONLY_BATTLEGROUNDS: return { "SPELL_FAILED_ONLY_BATTLEGROUNDS", "SPELL_FAILED_ONLY_BATTLEGROUNDS", "" }; + case SPELL_FAILED_TARGET_NOT_GHOST: return { "SPELL_FAILED_TARGET_NOT_GHOST", "SPELL_FAILED_TARGET_NOT_GHOST", "" }; + case SPELL_FAILED_TRANSFORM_UNUSABLE: return { "SPELL_FAILED_TRANSFORM_UNUSABLE", "SPELL_FAILED_TRANSFORM_UNUSABLE", "" }; + case SPELL_FAILED_WRONG_WEATHER: return { "SPELL_FAILED_WRONG_WEATHER", "SPELL_FAILED_WRONG_WEATHER", "" }; + case SPELL_FAILED_DAMAGE_IMMUNE: return { "SPELL_FAILED_DAMAGE_IMMUNE", "SPELL_FAILED_DAMAGE_IMMUNE", "" }; + case SPELL_FAILED_PREVENTED_BY_MECHANIC: return { "SPELL_FAILED_PREVENTED_BY_MECHANIC", "SPELL_FAILED_PREVENTED_BY_MECHANIC", "" }; + case SPELL_FAILED_PLAY_TIME: return { "SPELL_FAILED_PLAY_TIME", "SPELL_FAILED_PLAY_TIME", "" }; + case SPELL_FAILED_REPUTATION: return { "SPELL_FAILED_REPUTATION", "SPELL_FAILED_REPUTATION", "" }; + case SPELL_FAILED_MIN_SKILL: return { "SPELL_FAILED_MIN_SKILL", "SPELL_FAILED_MIN_SKILL", "" }; + case SPELL_FAILED_NOT_IN_RATED_BATTLEGROUND: return { "SPELL_FAILED_NOT_IN_RATED_BATTLEGROUND", "SPELL_FAILED_NOT_IN_RATED_BATTLEGROUND", "" }; + case SPELL_FAILED_NOT_ON_SHAPESHIFT: return { "SPELL_FAILED_NOT_ON_SHAPESHIFT", "SPELL_FAILED_NOT_ON_SHAPESHIFT", "" }; + case SPELL_FAILED_NOT_ON_STEALTHED: return { "SPELL_FAILED_NOT_ON_STEALTHED", "SPELL_FAILED_NOT_ON_STEALTHED", "" }; + case SPELL_FAILED_NOT_ON_DAMAGE_IMMUNE: return { "SPELL_FAILED_NOT_ON_DAMAGE_IMMUNE", "SPELL_FAILED_NOT_ON_DAMAGE_IMMUNE", "" }; + case SPELL_FAILED_NOT_ON_MOUNTED: return { "SPELL_FAILED_NOT_ON_MOUNTED", "SPELL_FAILED_NOT_ON_MOUNTED", "" }; + case SPELL_FAILED_TOO_SHALLOW: return { "SPELL_FAILED_TOO_SHALLOW", "SPELL_FAILED_TOO_SHALLOW", "" }; + case SPELL_FAILED_TARGET_NOT_IN_SANCTUARY: return { "SPELL_FAILED_TARGET_NOT_IN_SANCTUARY", "SPELL_FAILED_TARGET_NOT_IN_SANCTUARY", "" }; + case SPELL_FAILED_TARGET_IS_TRIVIAL: return { "SPELL_FAILED_TARGET_IS_TRIVIAL", "SPELL_FAILED_TARGET_IS_TRIVIAL", "" }; + case SPELL_FAILED_BM_OR_INVISGOD: return { "SPELL_FAILED_BM_OR_INVISGOD", "SPELL_FAILED_BM_OR_INVISGOD", "" }; + case SPELL_FAILED_GROUND_MOUNT_NOT_ALLOWED: return { "SPELL_FAILED_GROUND_MOUNT_NOT_ALLOWED", "SPELL_FAILED_GROUND_MOUNT_NOT_ALLOWED", "" }; + case SPELL_FAILED_FLOATING_MOUNT_NOT_ALLOWED: return { "SPELL_FAILED_FLOATING_MOUNT_NOT_ALLOWED", "SPELL_FAILED_FLOATING_MOUNT_NOT_ALLOWED", "" }; + case SPELL_FAILED_UNDERWATER_MOUNT_NOT_ALLOWED: return { "SPELL_FAILED_UNDERWATER_MOUNT_NOT_ALLOWED", "SPELL_FAILED_UNDERWATER_MOUNT_NOT_ALLOWED", "" }; + case SPELL_FAILED_FLYING_MOUNT_NOT_ALLOWED: return { "SPELL_FAILED_FLYING_MOUNT_NOT_ALLOWED", "SPELL_FAILED_FLYING_MOUNT_NOT_ALLOWED", "" }; + case SPELL_FAILED_APPRENTICE_RIDING_REQUIREMENT: return { "SPELL_FAILED_APPRENTICE_RIDING_REQUIREMENT", "SPELL_FAILED_APPRENTICE_RIDING_REQUIREMENT", "" }; + case SPELL_FAILED_JOURNEYMAN_RIDING_REQUIREMENT: return { "SPELL_FAILED_JOURNEYMAN_RIDING_REQUIREMENT", "SPELL_FAILED_JOURNEYMAN_RIDING_REQUIREMENT", "" }; + case SPELL_FAILED_EXPERT_RIDING_REQUIREMENT: return { "SPELL_FAILED_EXPERT_RIDING_REQUIREMENT", "SPELL_FAILED_EXPERT_RIDING_REQUIREMENT", "" }; + case SPELL_FAILED_ARTISAN_RIDING_REQUIREMENT: return { "SPELL_FAILED_ARTISAN_RIDING_REQUIREMENT", "SPELL_FAILED_ARTISAN_RIDING_REQUIREMENT", "" }; + case SPELL_FAILED_MASTER_RIDING_REQUIREMENT: return { "SPELL_FAILED_MASTER_RIDING_REQUIREMENT", "SPELL_FAILED_MASTER_RIDING_REQUIREMENT", "" }; + case SPELL_FAILED_COLD_RIDING_REQUIREMENT: return { "SPELL_FAILED_COLD_RIDING_REQUIREMENT", "SPELL_FAILED_COLD_RIDING_REQUIREMENT", "" }; + case SPELL_FAILED_FLIGHT_MASTER_RIDING_REQUIREMENT: return { "SPELL_FAILED_FLIGHT_MASTER_RIDING_REQUIREMENT", "SPELL_FAILED_FLIGHT_MASTER_RIDING_REQUIREMENT", "" }; + case SPELL_FAILED_CS_RIDING_REQUIREMENT: return { "SPELL_FAILED_CS_RIDING_REQUIREMENT", "SPELL_FAILED_CS_RIDING_REQUIREMENT", "" }; + case SPELL_FAILED_PANDA_RIDING_REQUIREMENT: return { "SPELL_FAILED_PANDA_RIDING_REQUIREMENT", "SPELL_FAILED_PANDA_RIDING_REQUIREMENT", "" }; + case SPELL_FAILED_DRAENOR_RIDING_REQUIREMENT: return { "SPELL_FAILED_DRAENOR_RIDING_REQUIREMENT", "SPELL_FAILED_DRAENOR_RIDING_REQUIREMENT", "" }; + case SPELL_FAILED_BROKEN_ISLES_RIDING_REQUIREMENT: return { "SPELL_FAILED_BROKEN_ISLES_RIDING_REQUIREMENT", "SPELL_FAILED_BROKEN_ISLES_RIDING_REQUIREMENT", "" }; + case SPELL_FAILED_MOUNT_NO_FLOAT_HERE: return { "SPELL_FAILED_MOUNT_NO_FLOAT_HERE", "SPELL_FAILED_MOUNT_NO_FLOAT_HERE", "" }; + case SPELL_FAILED_MOUNT_NO_UNDERWATER_HERE: return { "SPELL_FAILED_MOUNT_NO_UNDERWATER_HERE", "SPELL_FAILED_MOUNT_NO_UNDERWATER_HERE", "" }; + case SPELL_FAILED_MOUNT_ABOVE_WATER_HERE: return { "SPELL_FAILED_MOUNT_ABOVE_WATER_HERE", "SPELL_FAILED_MOUNT_ABOVE_WATER_HERE", "" }; + case SPELL_FAILED_MOUNT_COLLECTED_ON_OTHER_CHAR: return { "SPELL_FAILED_MOUNT_COLLECTED_ON_OTHER_CHAR", "SPELL_FAILED_MOUNT_COLLECTED_ON_OTHER_CHAR", "" }; + case SPELL_FAILED_NOT_IDLE: return { "SPELL_FAILED_NOT_IDLE", "SPELL_FAILED_NOT_IDLE", "" }; + case SPELL_FAILED_NOT_INACTIVE: return { "SPELL_FAILED_NOT_INACTIVE", "SPELL_FAILED_NOT_INACTIVE", "" }; + case SPELL_FAILED_PARTIAL_PLAYTIME: return { "SPELL_FAILED_PARTIAL_PLAYTIME", "SPELL_FAILED_PARTIAL_PLAYTIME", "" }; + case SPELL_FAILED_NO_PLAYTIME: return { "SPELL_FAILED_NO_PLAYTIME", "SPELL_FAILED_NO_PLAYTIME", "" }; + case SPELL_FAILED_NOT_IN_BATTLEGROUND: return { "SPELL_FAILED_NOT_IN_BATTLEGROUND", "SPELL_FAILED_NOT_IN_BATTLEGROUND", "" }; + case SPELL_FAILED_NOT_IN_RAID_INSTANCE: return { "SPELL_FAILED_NOT_IN_RAID_INSTANCE", "SPELL_FAILED_NOT_IN_RAID_INSTANCE", "" }; + case SPELL_FAILED_ONLY_IN_ARENA: return { "SPELL_FAILED_ONLY_IN_ARENA", "SPELL_FAILED_ONLY_IN_ARENA", "" }; + case SPELL_FAILED_TARGET_LOCKED_TO_RAID_INSTANCE: return { "SPELL_FAILED_TARGET_LOCKED_TO_RAID_INSTANCE", "SPELL_FAILED_TARGET_LOCKED_TO_RAID_INSTANCE", "" }; + case SPELL_FAILED_ON_USE_ENCHANT: return { "SPELL_FAILED_ON_USE_ENCHANT", "SPELL_FAILED_ON_USE_ENCHANT", "" }; + case SPELL_FAILED_NOT_ON_GROUND: return { "SPELL_FAILED_NOT_ON_GROUND", "SPELL_FAILED_NOT_ON_GROUND", "" }; + case SPELL_FAILED_CUSTOM_ERROR: return { "SPELL_FAILED_CUSTOM_ERROR", "SPELL_FAILED_CUSTOM_ERROR", "" }; + case SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW: return { "SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW", "SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW", "" }; + case SPELL_FAILED_TOO_MANY_SOCKETS: return { "SPELL_FAILED_TOO_MANY_SOCKETS", "SPELL_FAILED_TOO_MANY_SOCKETS", "" }; + case SPELL_FAILED_INVALID_GLYPH: return { "SPELL_FAILED_INVALID_GLYPH", "SPELL_FAILED_INVALID_GLYPH", "" }; + case SPELL_FAILED_UNIQUE_GLYPH: return { "SPELL_FAILED_UNIQUE_GLYPH", "SPELL_FAILED_UNIQUE_GLYPH", "" }; + case SPELL_FAILED_GLYPH_SOCKET_LOCKED: return { "SPELL_FAILED_GLYPH_SOCKET_LOCKED", "SPELL_FAILED_GLYPH_SOCKET_LOCKED", "" }; + case SPELL_FAILED_GLYPH_EXCLUSIVE_CATEGORY: return { "SPELL_FAILED_GLYPH_EXCLUSIVE_CATEGORY", "SPELL_FAILED_GLYPH_EXCLUSIVE_CATEGORY", "" }; + case SPELL_FAILED_GLYPH_INVALID_SPEC: return { "SPELL_FAILED_GLYPH_INVALID_SPEC", "SPELL_FAILED_GLYPH_INVALID_SPEC", "" }; + case SPELL_FAILED_GLYPH_NO_SPEC: return { "SPELL_FAILED_GLYPH_NO_SPEC", "SPELL_FAILED_GLYPH_NO_SPEC", "" }; + case SPELL_FAILED_NO_ACTIVE_GLYPHS: return { "SPELL_FAILED_NO_ACTIVE_GLYPHS", "SPELL_FAILED_NO_ACTIVE_GLYPHS", "" }; + case SPELL_FAILED_NO_VALID_TARGETS: return { "SPELL_FAILED_NO_VALID_TARGETS", "SPELL_FAILED_NO_VALID_TARGETS", "" }; + case SPELL_FAILED_ITEM_AT_MAX_CHARGES: return { "SPELL_FAILED_ITEM_AT_MAX_CHARGES", "SPELL_FAILED_ITEM_AT_MAX_CHARGES", "" }; + case SPELL_FAILED_NOT_IN_BARBERSHOP: return { "SPELL_FAILED_NOT_IN_BARBERSHOP", "SPELL_FAILED_NOT_IN_BARBERSHOP", "" }; + case SPELL_FAILED_FISHING_TOO_LOW: return { "SPELL_FAILED_FISHING_TOO_LOW", "SPELL_FAILED_FISHING_TOO_LOW", "" }; + case SPELL_FAILED_ITEM_ENCHANT_TRADE_WINDOW: return { "SPELL_FAILED_ITEM_ENCHANT_TRADE_WINDOW", "SPELL_FAILED_ITEM_ENCHANT_TRADE_WINDOW", "" }; + case SPELL_FAILED_SUMMON_PENDING: return { "SPELL_FAILED_SUMMON_PENDING", "SPELL_FAILED_SUMMON_PENDING", "" }; + case SPELL_FAILED_MAX_SOCKETS: return { "SPELL_FAILED_MAX_SOCKETS", "SPELL_FAILED_MAX_SOCKETS", "" }; + case SPELL_FAILED_PET_CAN_RENAME: return { "SPELL_FAILED_PET_CAN_RENAME", "SPELL_FAILED_PET_CAN_RENAME", "" }; + case SPELL_FAILED_TARGET_CANNOT_BE_RESURRECTED: return { "SPELL_FAILED_TARGET_CANNOT_BE_RESURRECTED", "SPELL_FAILED_TARGET_CANNOT_BE_RESURRECTED", "" }; + case SPELL_FAILED_TARGET_HAS_RESURRECT_PENDING: return { "SPELL_FAILED_TARGET_HAS_RESURRECT_PENDING", "SPELL_FAILED_TARGET_HAS_RESURRECT_PENDING", "" }; + case SPELL_FAILED_NO_ACTIONS: return { "SPELL_FAILED_NO_ACTIONS", "SPELL_FAILED_NO_ACTIONS", "" }; + case SPELL_FAILED_CURRENCY_WEIGHT_MISMATCH: return { "SPELL_FAILED_CURRENCY_WEIGHT_MISMATCH", "SPELL_FAILED_CURRENCY_WEIGHT_MISMATCH", "" }; + case SPELL_FAILED_WEIGHT_NOT_ENOUGH: return { "SPELL_FAILED_WEIGHT_NOT_ENOUGH", "SPELL_FAILED_WEIGHT_NOT_ENOUGH", "" }; + case SPELL_FAILED_WEIGHT_TOO_MUCH: return { "SPELL_FAILED_WEIGHT_TOO_MUCH", "SPELL_FAILED_WEIGHT_TOO_MUCH", "" }; + case SPELL_FAILED_NO_VACANT_SEAT: return { "SPELL_FAILED_NO_VACANT_SEAT", "SPELL_FAILED_NO_VACANT_SEAT", "" }; + case SPELL_FAILED_NO_LIQUID: return { "SPELL_FAILED_NO_LIQUID", "SPELL_FAILED_NO_LIQUID", "" }; + case SPELL_FAILED_ONLY_NOT_SWIMMING: return { "SPELL_FAILED_ONLY_NOT_SWIMMING", "SPELL_FAILED_ONLY_NOT_SWIMMING", "" }; + case SPELL_FAILED_BY_NOT_MOVING: return { "SPELL_FAILED_BY_NOT_MOVING", "SPELL_FAILED_BY_NOT_MOVING", "" }; + case SPELL_FAILED_IN_COMBAT_RES_LIMIT_REACHED: return { "SPELL_FAILED_IN_COMBAT_RES_LIMIT_REACHED", "SPELL_FAILED_IN_COMBAT_RES_LIMIT_REACHED", "" }; + case SPELL_FAILED_NOT_IN_ARENA: return { "SPELL_FAILED_NOT_IN_ARENA", "SPELL_FAILED_NOT_IN_ARENA", "" }; + case SPELL_FAILED_TARGET_NOT_GROUNDED: return { "SPELL_FAILED_TARGET_NOT_GROUNDED", "SPELL_FAILED_TARGET_NOT_GROUNDED", "" }; + case SPELL_FAILED_EXCEEDED_WEEKLY_USAGE: return { "SPELL_FAILED_EXCEEDED_WEEKLY_USAGE", "SPELL_FAILED_EXCEEDED_WEEKLY_USAGE", "" }; + case SPELL_FAILED_NOT_IN_LFG_DUNGEON: return { "SPELL_FAILED_NOT_IN_LFG_DUNGEON", "SPELL_FAILED_NOT_IN_LFG_DUNGEON", "" }; + case SPELL_FAILED_BAD_TARGET_FILTER: return { "SPELL_FAILED_BAD_TARGET_FILTER", "SPELL_FAILED_BAD_TARGET_FILTER", "" }; + case SPELL_FAILED_NOT_ENOUGH_TARGETS: return { "SPELL_FAILED_NOT_ENOUGH_TARGETS", "SPELL_FAILED_NOT_ENOUGH_TARGETS", "" }; + case SPELL_FAILED_NO_SPEC: return { "SPELL_FAILED_NO_SPEC", "SPELL_FAILED_NO_SPEC", "" }; + case SPELL_FAILED_CANT_ADD_BATTLE_PET: return { "SPELL_FAILED_CANT_ADD_BATTLE_PET", "SPELL_FAILED_CANT_ADD_BATTLE_PET", "" }; + case SPELL_FAILED_CANT_UPGRADE_BATTLE_PET: return { "SPELL_FAILED_CANT_UPGRADE_BATTLE_PET", "SPELL_FAILED_CANT_UPGRADE_BATTLE_PET", "" }; + case SPELL_FAILED_WRONG_BATTLE_PET_TYPE: return { "SPELL_FAILED_WRONG_BATTLE_PET_TYPE", "SPELL_FAILED_WRONG_BATTLE_PET_TYPE", "" }; + case SPELL_FAILED_NO_DUNGEON_ENCOUNTER: return { "SPELL_FAILED_NO_DUNGEON_ENCOUNTER", "SPELL_FAILED_NO_DUNGEON_ENCOUNTER", "" }; + case SPELL_FAILED_NO_TELEPORT_FROM_DUNGEON: return { "SPELL_FAILED_NO_TELEPORT_FROM_DUNGEON", "SPELL_FAILED_NO_TELEPORT_FROM_DUNGEON", "" }; + case SPELL_FAILED_MAX_LEVEL_TOO_LOW: return { "SPELL_FAILED_MAX_LEVEL_TOO_LOW", "SPELL_FAILED_MAX_LEVEL_TOO_LOW", "" }; + case SPELL_FAILED_CANT_REPLACE_ITEM_BONUS: return { "SPELL_FAILED_CANT_REPLACE_ITEM_BONUS", "SPELL_FAILED_CANT_REPLACE_ITEM_BONUS", "" }; + case GRANT_PET_LEVEL_FAIL: return { "GRANT_PET_LEVEL_FAIL", "GRANT_PET_LEVEL_FAIL", "" }; + case SPELL_FAILED_SKILL_LINE_NOT_KNOWN: return { "SPELL_FAILED_SKILL_LINE_NOT_KNOWN", "SPELL_FAILED_SKILL_LINE_NOT_KNOWN", "" }; + case SPELL_FAILED_BLUEPRINT_KNOWN: return { "SPELL_FAILED_BLUEPRINT_KNOWN", "SPELL_FAILED_BLUEPRINT_KNOWN", "" }; + case SPELL_FAILED_FOLLOWER_KNOWN: return { "SPELL_FAILED_FOLLOWER_KNOWN", "SPELL_FAILED_FOLLOWER_KNOWN", "" }; + case SPELL_FAILED_CANT_OVERRIDE_ENCHANT_VISUAL: return { "SPELL_FAILED_CANT_OVERRIDE_ENCHANT_VISUAL", "SPELL_FAILED_CANT_OVERRIDE_ENCHANT_VISUAL", "" }; + case SPELL_FAILED_ITEM_NOT_A_WEAPON: return { "SPELL_FAILED_ITEM_NOT_A_WEAPON", "SPELL_FAILED_ITEM_NOT_A_WEAPON", "" }; + case SPELL_FAILED_SAME_ENCHANT_VISUAL: return { "SPELL_FAILED_SAME_ENCHANT_VISUAL", "SPELL_FAILED_SAME_ENCHANT_VISUAL", "" }; + case SPELL_FAILED_TOY_USE_LIMIT_REACHED: return { "SPELL_FAILED_TOY_USE_LIMIT_REACHED", "SPELL_FAILED_TOY_USE_LIMIT_REACHED", "" }; + case SPELL_FAILED_TOY_ALREADY_KNOWN: return { "SPELL_FAILED_TOY_ALREADY_KNOWN", "SPELL_FAILED_TOY_ALREADY_KNOWN", "" }; + case SPELL_FAILED_SHIPMENTS_FULL: return { "SPELL_FAILED_SHIPMENTS_FULL", "SPELL_FAILED_SHIPMENTS_FULL", "" }; + case SPELL_FAILED_NO_SHIPMENTS_FOR_CONTAINER: return { "SPELL_FAILED_NO_SHIPMENTS_FOR_CONTAINER", "SPELL_FAILED_NO_SHIPMENTS_FOR_CONTAINER", "" }; + case SPELL_FAILED_NO_BUILDING_FOR_SHIPMENT: return { "SPELL_FAILED_NO_BUILDING_FOR_SHIPMENT", "SPELL_FAILED_NO_BUILDING_FOR_SHIPMENT", "" }; + case SPELL_FAILED_NOT_ENOUGH_SHIPMENTS_FOR_CONTAINER: return { "SPELL_FAILED_NOT_ENOUGH_SHIPMENTS_FOR_CONTAINER", "SPELL_FAILED_NOT_ENOUGH_SHIPMENTS_FOR_CONTAINER", "" }; + case SPELL_FAILED_HAS_MISSION: return { "SPELL_FAILED_HAS_MISSION", "SPELL_FAILED_HAS_MISSION", "" }; + case SPELL_FAILED_BUILDING_ACTIVATE_NOT_READY: return { "SPELL_FAILED_BUILDING_ACTIVATE_NOT_READY", "SPELL_FAILED_BUILDING_ACTIVATE_NOT_READY", "" }; + case SPELL_FAILED_NOT_SOULBOUND: return { "SPELL_FAILED_NOT_SOULBOUND", "SPELL_FAILED_NOT_SOULBOUND", "" }; + case SPELL_FAILED_RIDING_VEHICLE: return { "SPELL_FAILED_RIDING_VEHICLE", "SPELL_FAILED_RIDING_VEHICLE", "" }; + case SPELL_FAILED_VETERAN_TRIAL_ABOVE_SKILL_RANK_MAX: return { "SPELL_FAILED_VETERAN_TRIAL_ABOVE_SKILL_RANK_MAX", "SPELL_FAILED_VETERAN_TRIAL_ABOVE_SKILL_RANK_MAX", "" }; + case SPELL_FAILED_NOT_WHILE_MERCENARY: return { "SPELL_FAILED_NOT_WHILE_MERCENARY", "SPELL_FAILED_NOT_WHILE_MERCENARY", "" }; + case SPELL_FAILED_SPEC_DISABLED: return { "SPELL_FAILED_SPEC_DISABLED", "SPELL_FAILED_SPEC_DISABLED", "" }; + case SPELL_FAILED_CANT_BE_OBLITERATED: return { "SPELL_FAILED_CANT_BE_OBLITERATED", "SPELL_FAILED_CANT_BE_OBLITERATED", "" }; + case SPELL_FAILED_CANT_BE_SCRAPPED: return { "SPELL_FAILED_CANT_BE_SCRAPPED", "SPELL_FAILED_CANT_BE_SCRAPPED", "" }; + case SPELL_FAILED_FOLLOWER_CLASS_SPEC_CAP: return { "SPELL_FAILED_FOLLOWER_CLASS_SPEC_CAP", "SPELL_FAILED_FOLLOWER_CLASS_SPEC_CAP", "" }; + case SPELL_FAILED_TRANSPORT_NOT_READY: return { "SPELL_FAILED_TRANSPORT_NOT_READY", "SPELL_FAILED_TRANSPORT_NOT_READY", "" }; + case SPELL_FAILED_TRANSMOG_SET_ALREADY_KNOWN: return { "SPELL_FAILED_TRANSMOG_SET_ALREADY_KNOWN", "SPELL_FAILED_TRANSMOG_SET_ALREADY_KNOWN", "" }; + case SPELL_FAILED_DISABLED_BY_AURA_LABEL: return { "SPELL_FAILED_DISABLED_BY_AURA_LABEL", "SPELL_FAILED_DISABLED_BY_AURA_LABEL", "" }; + case SPELL_FAILED_DISABLED_BY_MAX_USABLE_LEVEL: return { "SPELL_FAILED_DISABLED_BY_MAX_USABLE_LEVEL", "SPELL_FAILED_DISABLED_BY_MAX_USABLE_LEVEL", "" }; + case SPELL_FAILED_SPELL_ALREADY_KNOWN: return { "SPELL_FAILED_SPELL_ALREADY_KNOWN", "SPELL_FAILED_SPELL_ALREADY_KNOWN", "" }; + case SPELL_FAILED_MUST_KNOW_SUPERCEDING_SPELL: return { "SPELL_FAILED_MUST_KNOW_SUPERCEDING_SPELL", "SPELL_FAILED_MUST_KNOW_SUPERCEDING_SPELL", "" }; + case SPELL_FAILED_YOU_CANNOT_USE_THAT_IN_PVP_INSTANCE: return { "SPELL_FAILED_YOU_CANNOT_USE_THAT_IN_PVP_INSTANCE", "SPELL_FAILED_YOU_CANNOT_USE_THAT_IN_PVP_INSTANCE", "" }; + case SPELL_FAILED_NO_ARTIFACT_EQUIPPED: return { "SPELL_FAILED_NO_ARTIFACT_EQUIPPED", "SPELL_FAILED_NO_ARTIFACT_EQUIPPED", "" }; + case SPELL_FAILED_WRONG_ARTIFACT_EQUIPPED: return { "SPELL_FAILED_WRONG_ARTIFACT_EQUIPPED", "SPELL_FAILED_WRONG_ARTIFACT_EQUIPPED", "" }; + case SPELL_FAILED_TARGET_IS_UNTARGETABLE_BY_ANYONE: return { "SPELL_FAILED_TARGET_IS_UNTARGETABLE_BY_ANYONE", "SPELL_FAILED_TARGET_IS_UNTARGETABLE_BY_ANYONE", "" }; + case SPELL_FAILED_SPELL_EFFECT_FAILED: return { "SPELL_FAILED_SPELL_EFFECT_FAILED", "SPELL_FAILED_SPELL_EFFECT_FAILED", "" }; + case SPELL_FAILED_NEED_ALL_PARTY_MEMBERS: return { "SPELL_FAILED_NEED_ALL_PARTY_MEMBERS", "SPELL_FAILED_NEED_ALL_PARTY_MEMBERS", "" }; + case SPELL_FAILED_ARTIFACT_AT_FULL_POWER: return { "SPELL_FAILED_ARTIFACT_AT_FULL_POWER", "SPELL_FAILED_ARTIFACT_AT_FULL_POWER", "" }; + case SPELL_FAILED_AP_ITEM_FROM_PREVIOUS_TIER: return { "SPELL_FAILED_AP_ITEM_FROM_PREVIOUS_TIER", "SPELL_FAILED_AP_ITEM_FROM_PREVIOUS_TIER", "" }; + case SPELL_FAILED_AREA_TRIGGER_CREATION: return { "SPELL_FAILED_AREA_TRIGGER_CREATION", "SPELL_FAILED_AREA_TRIGGER_CREATION", "" }; + case SPELL_FAILED_AZERITE_EMPOWERED_ONLY: return { "SPELL_FAILED_AZERITE_EMPOWERED_ONLY", "SPELL_FAILED_AZERITE_EMPOWERED_ONLY", "" }; + case SPELL_FAILED_AZERITE_EMPOWERED_NO_CHOICES_TO_UNDO: return { "SPELL_FAILED_AZERITE_EMPOWERED_NO_CHOICES_TO_UNDO", "SPELL_FAILED_AZERITE_EMPOWERED_NO_CHOICES_TO_UNDO", "" }; + case SPELL_FAILED_WRONG_FACTION: return { "SPELL_FAILED_WRONG_FACTION", "SPELL_FAILED_WRONG_FACTION", "" }; + case SPELL_FAILED_NOT_ENOUGH_CURRENCY: return { "SPELL_FAILED_NOT_ENOUGH_CURRENCY", "SPELL_FAILED_NOT_ENOUGH_CURRENCY", "" }; + case SPELL_FAILED_BATTLE_FOR_AZEROTH_RIDING_REQUIREMENT: return { "SPELL_FAILED_BATTLE_FOR_AZEROTH_RIDING_REQUIREMENT", "SPELL_FAILED_BATTLE_FOR_AZEROTH_RIDING_REQUIREMENT", "" }; + case SPELL_FAILED_MOUNT_EQUIPMENT_ERROR: return { "SPELL_FAILED_MOUNT_EQUIPMENT_ERROR", "SPELL_FAILED_MOUNT_EQUIPMENT_ERROR", "" }; + case SPELL_FAILED_NOT_WHILE_LEVEL_LINKED: return { "SPELL_FAILED_NOT_WHILE_LEVEL_LINKED", "SPELL_FAILED_NOT_WHILE_LEVEL_LINKED", "" }; + case SPELL_FAILED_LEVEL_LINKED_LOW_LEVEL: return { "SPELL_FAILED_LEVEL_LINKED_LOW_LEVEL", "SPELL_FAILED_LEVEL_LINKED_LOW_LEVEL", "" }; + case SPELL_FAILED_SUMMON_MAP_CONDITION: return { "SPELL_FAILED_SUMMON_MAP_CONDITION", "SPELL_FAILED_SUMMON_MAP_CONDITION", "" }; + case SPELL_FAILED_SET_COVENANT_ERROR: return { "SPELL_FAILED_SET_COVENANT_ERROR", "SPELL_FAILED_SET_COVENANT_ERROR", "" }; + case SPELL_FAILED_RUNEFORGE_LEGENDARY_UPGRADE: return { "SPELL_FAILED_RUNEFORGE_LEGENDARY_UPGRADE", "SPELL_FAILED_RUNEFORGE_LEGENDARY_UPGRADE", "" }; + case SPELL_FAILED_SET_CHROMIE_TIME_ERROR: return { "SPELL_FAILED_SET_CHROMIE_TIME_ERROR", "SPELL_FAILED_SET_CHROMIE_TIME_ERROR", "" }; + case SPELL_FAILED_INELIGIBLE_WEAPON_APPEARANCE: return { "SPELL_FAILED_INELIGIBLE_WEAPON_APPEARANCE", "SPELL_FAILED_INELIGIBLE_WEAPON_APPEARANCE", "" }; + case SPELL_FAILED_PLAYER_CONDITION: return { "SPELL_FAILED_PLAYER_CONDITION", "SPELL_FAILED_PLAYER_CONDITION", "" }; + case SPELL_FAILED_NOT_WHILE_CHROMIE_TIMED: return { "SPELL_FAILED_NOT_WHILE_CHROMIE_TIMED", "SPELL_FAILED_NOT_WHILE_CHROMIE_TIMED", "" }; + case SPELL_FAILED_OPTIONAL_REAGENTS: return { "SPELL_FAILED_OPTIONAL_REAGENTS", "SPELL_FAILED_OPTIONAL_REAGENTS", "" }; + case SPELL_FAILED_SPECTATOR_OR_COMMENTATOR: return { "SPELL_FAILED_SPECTATOR_OR_COMMENTATOR", "SPELL_FAILED_SPECTATOR_OR_COMMENTATOR", "" }; + case SPELL_FAILED_SOULBIND_CONDUIT_LEARN_FAILED_INVALID_COVENANT: return { "SPELL_FAILED_SOULBIND_CONDUIT_LEARN_FAILED_INVALID_COVENANT", "SPELL_FAILED_SOULBIND_CONDUIT_LEARN_FAILED_INVALID_COVENANT", "" }; + case SPELL_FAILED_SHADOWLANDS_RIDING_REQUIREMENT: return { "SPELL_FAILED_SHADOWLANDS_RIDING_REQUIREMENT", "SPELL_FAILED_SHADOWLANDS_RIDING_REQUIREMENT", "" }; + case SPELL_FAILED_NOT_IN_MAGE_TOWER: return { "SPELL_FAILED_NOT_IN_MAGE_TOWER", "SPELL_FAILED_NOT_IN_MAGE_TOWER", "" }; + case SPELL_FAILED_GARRISON_FOLLOWER_AT_MIN_LEVEL: return { "SPELL_FAILED_GARRISON_FOLLOWER_AT_MIN_LEVEL", "SPELL_FAILED_GARRISON_FOLLOWER_AT_MIN_LEVEL", "" }; + case SPELL_FAILED_UNKNOWN: return { "SPELL_FAILED_UNKNOWN", "SPELL_FAILED_UNKNOWN", "" }; + default: throw std::out_of_range("value"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<SpellCastResult>::Count() { return 314; } + +template <> +TC_API_EXPORT SpellCastResult EnumUtils<SpellCastResult>::FromIndex(size_t index) +{ + switch (index) + { + case 0: return SPELL_FAILED_SUCCESS; + case 1: return SPELL_FAILED_AFFECTING_COMBAT; + case 2: return SPELL_FAILED_ALREADY_AT_FULL_HEALTH; + case 3: return SPELL_FAILED_ALREADY_AT_FULL_MANA; + case 4: return SPELL_FAILED_ALREADY_AT_FULL_POWER; + case 5: return SPELL_FAILED_ALREADY_BEING_TAMED; + case 6: return SPELL_FAILED_ALREADY_HAVE_CHARM; + case 7: return SPELL_FAILED_ALREADY_HAVE_SUMMON; + case 8: return SPELL_FAILED_ALREADY_HAVE_PET; + case 9: return SPELL_FAILED_ALREADY_OPEN; + case 10: return SPELL_FAILED_AURA_BOUNCED; + case 11: return SPELL_FAILED_AUTOTRACK_INTERRUPTED; + case 12: return SPELL_FAILED_BAD_IMPLICIT_TARGETS; + case 13: return SPELL_FAILED_BAD_TARGETS; + case 14: return SPELL_FAILED_PVP_TARGET_WHILE_UNFLAGGED; + case 15: return SPELL_FAILED_CANT_BE_CHARMED; + case 16: return SPELL_FAILED_CANT_BE_DISENCHANTED; + case 17: return SPELL_FAILED_CANT_BE_DISENCHANTED_SKILL; + case 18: return SPELL_FAILED_CANT_BE_ENCHANTED; + case 19: return SPELL_FAILED_CANT_BE_MILLED; + case 20: return SPELL_FAILED_CANT_BE_PROSPECTED; + case 21: return SPELL_FAILED_CANT_CAST_ON_TAPPED; + case 22: return SPELL_FAILED_CANT_DUEL_WHILE_INVISIBLE; + case 23: return SPELL_FAILED_CANT_DUEL_WHILE_STEALTHED; + case 24: return SPELL_FAILED_CANT_STEALTH; + case 25: return SPELL_FAILED_CANT_UNTALENT; + case 26: return SPELL_FAILED_CASTER_AURASTATE; + case 27: return SPELL_FAILED_CASTER_DEAD; + case 28: return SPELL_FAILED_CHARMED; + case 29: return SPELL_FAILED_CHEST_IN_USE; + case 30: return SPELL_FAILED_CONFUSED; + case 31: return SPELL_FAILED_DISABLED_BY_POWER_SCALING; + case 32: return SPELL_FAILED_DONT_REPORT; + case 33: return SPELL_FAILED_EQUIPPED_ITEM; + case 34: return SPELL_FAILED_EQUIPPED_ITEM_CLASS; + case 35: return SPELL_FAILED_EQUIPPED_ITEM_CLASS_MAINHAND; + case 36: return SPELL_FAILED_EQUIPPED_ITEM_CLASS_OFFHAND; + case 37: return SPELL_FAILED_ERROR; + case 38: return SPELL_FAILED_FALLING; + case 39: return SPELL_FAILED_FIZZLE; + case 40: return SPELL_FAILED_FLEEING; + case 41: return SPELL_FAILED_FOOD_LOWLEVEL; + case 42: return SPELL_FAILED_GARRISON_NOT_OWNED; + case 43: return SPELL_FAILED_GARRISON_OWNED; + case 44: return SPELL_FAILED_GARRISON_MAX_LEVEL; + case 45: return SPELL_FAILED_GARRISON_NOT_UPGRADEABLE; + case 46: return SPELL_FAILED_GARRISON_FOLLOWER_ON_MISSION; + case 47: return SPELL_FAILED_GARRISON_FOLLOWER_IN_BUILDING; + case 48: return SPELL_FAILED_GARRISON_FOLLOWER_MAX_LEVEL; + case 49: return SPELL_FAILED_GARRISON_FOLLOWER_MIN_ITEM_LEVEL; + case 50: return SPELL_FAILED_GARRISON_FOLLOWER_MAX_ITEM_LEVEL; + case 51: return SPELL_FAILED_GARRISON_FOLLOWER_MAX_QUALITY; + case 52: return SPELL_FAILED_GARRISON_FOLLOWER_NOT_MAX_LEVEL; + case 53: return SPELL_FAILED_GARRISON_FOLLOWER_HAS_ABILITY; + case 54: return SPELL_FAILED_GARRISON_FOLLOWER_HAS_SINGLE_MISSION_ABILITY; + case 55: return SPELL_FAILED_GARRISON_FOLLOWER_REQUIRES_EPIC; + case 56: return SPELL_FAILED_GARRISON_MISSION_NOT_IN_PROGRESS; + case 57: return SPELL_FAILED_GARRISON_MISSION_COMPLETE; + case 58: return SPELL_FAILED_GARRISON_NO_MISSIONS_AVAILABLE; + case 59: return SPELL_FAILED_HIGHLEVEL; + case 60: return SPELL_FAILED_HUNGER_SATIATED; + case 61: return SPELL_FAILED_IMMUNE; + case 62: return SPELL_FAILED_INCORRECT_AREA; + case 63: return SPELL_FAILED_INTERRUPTED; + case 64: return SPELL_FAILED_INTERRUPTED_COMBAT; + case 65: return SPELL_FAILED_ITEM_ALREADY_ENCHANTED; + case 66: return SPELL_FAILED_ITEM_GONE; + case 67: return SPELL_FAILED_ITEM_NOT_FOUND; + case 68: return SPELL_FAILED_ITEM_NOT_READY; + case 69: return SPELL_FAILED_LEVEL_REQUIREMENT; + case 70: return SPELL_FAILED_LINE_OF_SIGHT; + case 71: return SPELL_FAILED_LOWLEVEL; + case 72: return SPELL_FAILED_LOW_CASTLEVEL; + case 73: return SPELL_FAILED_MAINHAND_EMPTY; + case 74: return SPELL_FAILED_MOVING; + case 75: return SPELL_FAILED_NEED_AMMO; + case 76: return SPELL_FAILED_NEED_AMMO_POUCH; + case 77: return SPELL_FAILED_NEED_EXOTIC_AMMO; + case 78: return SPELL_FAILED_NEED_MORE_ITEMS; + case 79: return SPELL_FAILED_NOPATH; + case 80: return SPELL_FAILED_NOT_BEHIND; + case 81: return SPELL_FAILED_NOT_FISHABLE; + case 82: return SPELL_FAILED_NOT_FLYING; + case 83: return SPELL_FAILED_NOT_HERE; + case 84: return SPELL_FAILED_NOT_INFRONT; + case 85: return SPELL_FAILED_NOT_IN_CONTROL; + case 86: return SPELL_FAILED_NOT_KNOWN; + case 87: return SPELL_FAILED_NOT_MOUNTED; + case 88: return SPELL_FAILED_NOT_ON_TAXI; + case 89: return SPELL_FAILED_NOT_ON_TRANSPORT; + case 90: return SPELL_FAILED_NOT_READY; + case 91: return SPELL_FAILED_NOT_SHAPESHIFT; + case 92: return SPELL_FAILED_NOT_STANDING; + case 93: return SPELL_FAILED_NOT_TRADEABLE; + case 94: return SPELL_FAILED_NOT_TRADING; + case 95: return SPELL_FAILED_NOT_UNSHEATHED; + case 96: return SPELL_FAILED_NOT_WHILE_GHOST; + case 97: return SPELL_FAILED_NOT_WHILE_LOOTING; + case 98: return SPELL_FAILED_NO_AMMO; + case 99: return SPELL_FAILED_NO_CHARGES_REMAIN; + case 100: return SPELL_FAILED_NO_COMBO_POINTS; + case 101: return SPELL_FAILED_NO_DUELING; + case 102: return SPELL_FAILED_NO_ENDURANCE; + case 103: return SPELL_FAILED_NO_FISH; + case 104: return SPELL_FAILED_NO_ITEMS_WHILE_SHAPESHIFTED; + case 105: return SPELL_FAILED_NO_MOUNTS_ALLOWED; + case 106: return SPELL_FAILED_NO_PET; + case 107: return SPELL_FAILED_NO_POWER; + case 108: return SPELL_FAILED_NOTHING_TO_DISPEL; + case 109: return SPELL_FAILED_NOTHING_TO_STEAL; + case 110: return SPELL_FAILED_ONLY_ABOVEWATER; + case 111: return SPELL_FAILED_ONLY_INDOORS; + case 112: return SPELL_FAILED_ONLY_MOUNTED; + case 113: return SPELL_FAILED_ONLY_OUTDOORS; + case 114: return SPELL_FAILED_ONLY_SHAPESHIFT; + case 115: return SPELL_FAILED_ONLY_STEALTHED; + case 116: return SPELL_FAILED_ONLY_UNDERWATER; + case 117: return SPELL_FAILED_OUT_OF_RANGE; + case 118: return SPELL_FAILED_PACIFIED; + case 119: return SPELL_FAILED_POSSESSED; + case 120: return SPELL_FAILED_REAGENTS; + case 121: return SPELL_FAILED_REQUIRES_AREA; + case 122: return SPELL_FAILED_REQUIRES_SPELL_FOCUS; + case 123: return SPELL_FAILED_ROOTED; + case 124: return SPELL_FAILED_SILENCED; + case 125: return SPELL_FAILED_SPELL_IN_PROGRESS; + case 126: return SPELL_FAILED_SPELL_LEARNED; + case 127: return SPELL_FAILED_SPELL_UNAVAILABLE; + case 128: return SPELL_FAILED_STUNNED; + case 129: return SPELL_FAILED_TARGETS_DEAD; + case 130: return SPELL_FAILED_TARGET_AFFECTING_COMBAT; + case 131: return SPELL_FAILED_TARGET_AURASTATE; + case 132: return SPELL_FAILED_TARGET_DUELING; + case 133: return SPELL_FAILED_TARGET_ENEMY; + case 134: return SPELL_FAILED_TARGET_ENRAGED; + case 135: return SPELL_FAILED_TARGET_FRIENDLY; + case 136: return SPELL_FAILED_TARGET_IN_COMBAT; + case 137: return SPELL_FAILED_TARGET_IN_PET_BATTLE; + case 138: return SPELL_FAILED_TARGET_IS_PLAYER; + case 139: return SPELL_FAILED_TARGET_IS_PLAYER_CONTROLLED; + case 140: return SPELL_FAILED_TARGET_NOT_DEAD; + case 141: return SPELL_FAILED_TARGET_NOT_IN_PARTY; + case 142: return SPELL_FAILED_TARGET_NOT_LOOTED; + case 143: return SPELL_FAILED_TARGET_NOT_PLAYER; + case 144: return SPELL_FAILED_TARGET_NO_POCKETS; + case 145: return SPELL_FAILED_TARGET_NO_WEAPONS; + case 146: return SPELL_FAILED_TARGET_NO_RANGED_WEAPONS; + case 147: return SPELL_FAILED_TARGET_UNSKINNABLE; + case 148: return SPELL_FAILED_THIRST_SATIATED; + case 149: return SPELL_FAILED_TOO_CLOSE; + case 150: return SPELL_FAILED_TOO_MANY_OF_ITEM; + case 151: return SPELL_FAILED_TOTEM_CATEGORY; + case 152: return SPELL_FAILED_TOTEMS; + case 153: return SPELL_FAILED_TRY_AGAIN; + case 154: return SPELL_FAILED_UNIT_NOT_BEHIND; + case 155: return SPELL_FAILED_UNIT_NOT_INFRONT; + case 156: return SPELL_FAILED_VISION_OBSCURED; + case 157: return SPELL_FAILED_WRONG_PET_FOOD; + case 158: return SPELL_FAILED_NOT_WHILE_FATIGUED; + case 159: return SPELL_FAILED_TARGET_NOT_IN_INSTANCE; + case 160: return SPELL_FAILED_NOT_WHILE_TRADING; + case 161: return SPELL_FAILED_TARGET_NOT_IN_RAID; + case 162: return SPELL_FAILED_TARGET_FREEFORALL; + case 163: return SPELL_FAILED_NO_EDIBLE_CORPSES; + case 164: return SPELL_FAILED_ONLY_BATTLEGROUNDS; + case 165: return SPELL_FAILED_TARGET_NOT_GHOST; + case 166: return SPELL_FAILED_TRANSFORM_UNUSABLE; + case 167: return SPELL_FAILED_WRONG_WEATHER; + case 168: return SPELL_FAILED_DAMAGE_IMMUNE; + case 169: return SPELL_FAILED_PREVENTED_BY_MECHANIC; + case 170: return SPELL_FAILED_PLAY_TIME; + case 171: return SPELL_FAILED_REPUTATION; + case 172: return SPELL_FAILED_MIN_SKILL; + case 173: return SPELL_FAILED_NOT_IN_RATED_BATTLEGROUND; + case 174: return SPELL_FAILED_NOT_ON_SHAPESHIFT; + case 175: return SPELL_FAILED_NOT_ON_STEALTHED; + case 176: return SPELL_FAILED_NOT_ON_DAMAGE_IMMUNE; + case 177: return SPELL_FAILED_NOT_ON_MOUNTED; + case 178: return SPELL_FAILED_TOO_SHALLOW; + case 179: return SPELL_FAILED_TARGET_NOT_IN_SANCTUARY; + case 180: return SPELL_FAILED_TARGET_IS_TRIVIAL; + case 181: return SPELL_FAILED_BM_OR_INVISGOD; + case 182: return SPELL_FAILED_GROUND_MOUNT_NOT_ALLOWED; + case 183: return SPELL_FAILED_FLOATING_MOUNT_NOT_ALLOWED; + case 184: return SPELL_FAILED_UNDERWATER_MOUNT_NOT_ALLOWED; + case 185: return SPELL_FAILED_FLYING_MOUNT_NOT_ALLOWED; + case 186: return SPELL_FAILED_APPRENTICE_RIDING_REQUIREMENT; + case 187: return SPELL_FAILED_JOURNEYMAN_RIDING_REQUIREMENT; + case 188: return SPELL_FAILED_EXPERT_RIDING_REQUIREMENT; + case 189: return SPELL_FAILED_ARTISAN_RIDING_REQUIREMENT; + case 190: return SPELL_FAILED_MASTER_RIDING_REQUIREMENT; + case 191: return SPELL_FAILED_COLD_RIDING_REQUIREMENT; + case 192: return SPELL_FAILED_FLIGHT_MASTER_RIDING_REQUIREMENT; + case 193: return SPELL_FAILED_CS_RIDING_REQUIREMENT; + case 194: return SPELL_FAILED_PANDA_RIDING_REQUIREMENT; + case 195: return SPELL_FAILED_DRAENOR_RIDING_REQUIREMENT; + case 196: return SPELL_FAILED_BROKEN_ISLES_RIDING_REQUIREMENT; + case 197: return SPELL_FAILED_MOUNT_NO_FLOAT_HERE; + case 198: return SPELL_FAILED_MOUNT_NO_UNDERWATER_HERE; + case 199: return SPELL_FAILED_MOUNT_ABOVE_WATER_HERE; + case 200: return SPELL_FAILED_MOUNT_COLLECTED_ON_OTHER_CHAR; + case 201: return SPELL_FAILED_NOT_IDLE; + case 202: return SPELL_FAILED_NOT_INACTIVE; + case 203: return SPELL_FAILED_PARTIAL_PLAYTIME; + case 204: return SPELL_FAILED_NO_PLAYTIME; + case 205: return SPELL_FAILED_NOT_IN_BATTLEGROUND; + case 206: return SPELL_FAILED_NOT_IN_RAID_INSTANCE; + case 207: return SPELL_FAILED_ONLY_IN_ARENA; + case 208: return SPELL_FAILED_TARGET_LOCKED_TO_RAID_INSTANCE; + case 209: return SPELL_FAILED_ON_USE_ENCHANT; + case 210: return SPELL_FAILED_NOT_ON_GROUND; + case 211: return SPELL_FAILED_CUSTOM_ERROR; + case 212: return SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW; + case 213: return SPELL_FAILED_TOO_MANY_SOCKETS; + case 214: return SPELL_FAILED_INVALID_GLYPH; + case 215: return SPELL_FAILED_UNIQUE_GLYPH; + case 216: return SPELL_FAILED_GLYPH_SOCKET_LOCKED; + case 217: return SPELL_FAILED_GLYPH_EXCLUSIVE_CATEGORY; + case 218: return SPELL_FAILED_GLYPH_INVALID_SPEC; + case 219: return SPELL_FAILED_GLYPH_NO_SPEC; + case 220: return SPELL_FAILED_NO_ACTIVE_GLYPHS; + case 221: return SPELL_FAILED_NO_VALID_TARGETS; + case 222: return SPELL_FAILED_ITEM_AT_MAX_CHARGES; + case 223: return SPELL_FAILED_NOT_IN_BARBERSHOP; + case 224: return SPELL_FAILED_FISHING_TOO_LOW; + case 225: return SPELL_FAILED_ITEM_ENCHANT_TRADE_WINDOW; + case 226: return SPELL_FAILED_SUMMON_PENDING; + case 227: return SPELL_FAILED_MAX_SOCKETS; + case 228: return SPELL_FAILED_PET_CAN_RENAME; + case 229: return SPELL_FAILED_TARGET_CANNOT_BE_RESURRECTED; + case 230: return SPELL_FAILED_TARGET_HAS_RESURRECT_PENDING; + case 231: return SPELL_FAILED_NO_ACTIONS; + case 232: return SPELL_FAILED_CURRENCY_WEIGHT_MISMATCH; + case 233: return SPELL_FAILED_WEIGHT_NOT_ENOUGH; + case 234: return SPELL_FAILED_WEIGHT_TOO_MUCH; + case 235: return SPELL_FAILED_NO_VACANT_SEAT; + case 236: return SPELL_FAILED_NO_LIQUID; + case 237: return SPELL_FAILED_ONLY_NOT_SWIMMING; + case 238: return SPELL_FAILED_BY_NOT_MOVING; + case 239: return SPELL_FAILED_IN_COMBAT_RES_LIMIT_REACHED; + case 240: return SPELL_FAILED_NOT_IN_ARENA; + case 241: return SPELL_FAILED_TARGET_NOT_GROUNDED; + case 242: return SPELL_FAILED_EXCEEDED_WEEKLY_USAGE; + case 243: return SPELL_FAILED_NOT_IN_LFG_DUNGEON; + case 244: return SPELL_FAILED_BAD_TARGET_FILTER; + case 245: return SPELL_FAILED_NOT_ENOUGH_TARGETS; + case 246: return SPELL_FAILED_NO_SPEC; + case 247: return SPELL_FAILED_CANT_ADD_BATTLE_PET; + case 248: return SPELL_FAILED_CANT_UPGRADE_BATTLE_PET; + case 249: return SPELL_FAILED_WRONG_BATTLE_PET_TYPE; + case 250: return SPELL_FAILED_NO_DUNGEON_ENCOUNTER; + case 251: return SPELL_FAILED_NO_TELEPORT_FROM_DUNGEON; + case 252: return SPELL_FAILED_MAX_LEVEL_TOO_LOW; + case 253: return SPELL_FAILED_CANT_REPLACE_ITEM_BONUS; + case 254: return GRANT_PET_LEVEL_FAIL; + case 255: return SPELL_FAILED_SKILL_LINE_NOT_KNOWN; + case 256: return SPELL_FAILED_BLUEPRINT_KNOWN; + case 257: return SPELL_FAILED_FOLLOWER_KNOWN; + case 258: return SPELL_FAILED_CANT_OVERRIDE_ENCHANT_VISUAL; + case 259: return SPELL_FAILED_ITEM_NOT_A_WEAPON; + case 260: return SPELL_FAILED_SAME_ENCHANT_VISUAL; + case 261: return SPELL_FAILED_TOY_USE_LIMIT_REACHED; + case 262: return SPELL_FAILED_TOY_ALREADY_KNOWN; + case 263: return SPELL_FAILED_SHIPMENTS_FULL; + case 264: return SPELL_FAILED_NO_SHIPMENTS_FOR_CONTAINER; + case 265: return SPELL_FAILED_NO_BUILDING_FOR_SHIPMENT; + case 266: return SPELL_FAILED_NOT_ENOUGH_SHIPMENTS_FOR_CONTAINER; + case 267: return SPELL_FAILED_HAS_MISSION; + case 268: return SPELL_FAILED_BUILDING_ACTIVATE_NOT_READY; + case 269: return SPELL_FAILED_NOT_SOULBOUND; + case 270: return SPELL_FAILED_RIDING_VEHICLE; + case 271: return SPELL_FAILED_VETERAN_TRIAL_ABOVE_SKILL_RANK_MAX; + case 272: return SPELL_FAILED_NOT_WHILE_MERCENARY; + case 273: return SPELL_FAILED_SPEC_DISABLED; + case 274: return SPELL_FAILED_CANT_BE_OBLITERATED; + case 275: return SPELL_FAILED_CANT_BE_SCRAPPED; + case 276: return SPELL_FAILED_FOLLOWER_CLASS_SPEC_CAP; + case 277: return SPELL_FAILED_TRANSPORT_NOT_READY; + case 278: return SPELL_FAILED_TRANSMOG_SET_ALREADY_KNOWN; + case 279: return SPELL_FAILED_DISABLED_BY_AURA_LABEL; + case 280: return SPELL_FAILED_DISABLED_BY_MAX_USABLE_LEVEL; + case 281: return SPELL_FAILED_SPELL_ALREADY_KNOWN; + case 282: return SPELL_FAILED_MUST_KNOW_SUPERCEDING_SPELL; + case 283: return SPELL_FAILED_YOU_CANNOT_USE_THAT_IN_PVP_INSTANCE; + case 284: return SPELL_FAILED_NO_ARTIFACT_EQUIPPED; + case 285: return SPELL_FAILED_WRONG_ARTIFACT_EQUIPPED; + case 286: return SPELL_FAILED_TARGET_IS_UNTARGETABLE_BY_ANYONE; + case 287: return SPELL_FAILED_SPELL_EFFECT_FAILED; + case 288: return SPELL_FAILED_NEED_ALL_PARTY_MEMBERS; + case 289: return SPELL_FAILED_ARTIFACT_AT_FULL_POWER; + case 290: return SPELL_FAILED_AP_ITEM_FROM_PREVIOUS_TIER; + case 291: return SPELL_FAILED_AREA_TRIGGER_CREATION; + case 292: return SPELL_FAILED_AZERITE_EMPOWERED_ONLY; + case 293: return SPELL_FAILED_AZERITE_EMPOWERED_NO_CHOICES_TO_UNDO; + case 294: return SPELL_FAILED_WRONG_FACTION; + case 295: return SPELL_FAILED_NOT_ENOUGH_CURRENCY; + case 296: return SPELL_FAILED_BATTLE_FOR_AZEROTH_RIDING_REQUIREMENT; + case 297: return SPELL_FAILED_MOUNT_EQUIPMENT_ERROR; + case 298: return SPELL_FAILED_NOT_WHILE_LEVEL_LINKED; + case 299: return SPELL_FAILED_LEVEL_LINKED_LOW_LEVEL; + case 300: return SPELL_FAILED_SUMMON_MAP_CONDITION; + case 301: return SPELL_FAILED_SET_COVENANT_ERROR; + case 302: return SPELL_FAILED_RUNEFORGE_LEGENDARY_UPGRADE; + case 303: return SPELL_FAILED_SET_CHROMIE_TIME_ERROR; + case 304: return SPELL_FAILED_INELIGIBLE_WEAPON_APPEARANCE; + case 305: return SPELL_FAILED_PLAYER_CONDITION; + case 306: return SPELL_FAILED_NOT_WHILE_CHROMIE_TIMED; + case 307: return SPELL_FAILED_OPTIONAL_REAGENTS; + case 308: return SPELL_FAILED_SPECTATOR_OR_COMMENTATOR; + case 309: return SPELL_FAILED_SOULBIND_CONDUIT_LEARN_FAILED_INVALID_COVENANT; + case 310: return SPELL_FAILED_SHADOWLANDS_RIDING_REQUIREMENT; + case 311: return SPELL_FAILED_NOT_IN_MAGE_TOWER; + case 312: return SPELL_FAILED_GARRISON_FOLLOWER_AT_MIN_LEVEL; + case 313: return SPELL_FAILED_UNKNOWN; + default: throw std::out_of_range("index"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<SpellCastResult>::ToIndex(SpellCastResult value) +{ + switch (value) + { + case SPELL_FAILED_SUCCESS: return 0; + case SPELL_FAILED_AFFECTING_COMBAT: return 1; + case SPELL_FAILED_ALREADY_AT_FULL_HEALTH: return 2; + case SPELL_FAILED_ALREADY_AT_FULL_MANA: return 3; + case SPELL_FAILED_ALREADY_AT_FULL_POWER: return 4; + case SPELL_FAILED_ALREADY_BEING_TAMED: return 5; + case SPELL_FAILED_ALREADY_HAVE_CHARM: return 6; + case SPELL_FAILED_ALREADY_HAVE_SUMMON: return 7; + case SPELL_FAILED_ALREADY_HAVE_PET: return 8; + case SPELL_FAILED_ALREADY_OPEN: return 9; + case SPELL_FAILED_AURA_BOUNCED: return 10; + case SPELL_FAILED_AUTOTRACK_INTERRUPTED: return 11; + case SPELL_FAILED_BAD_IMPLICIT_TARGETS: return 12; + case SPELL_FAILED_BAD_TARGETS: return 13; + case SPELL_FAILED_PVP_TARGET_WHILE_UNFLAGGED: return 14; + case SPELL_FAILED_CANT_BE_CHARMED: return 15; + case SPELL_FAILED_CANT_BE_DISENCHANTED: return 16; + case SPELL_FAILED_CANT_BE_DISENCHANTED_SKILL: return 17; + case SPELL_FAILED_CANT_BE_ENCHANTED: return 18; + case SPELL_FAILED_CANT_BE_MILLED: return 19; + case SPELL_FAILED_CANT_BE_PROSPECTED: return 20; + case SPELL_FAILED_CANT_CAST_ON_TAPPED: return 21; + case SPELL_FAILED_CANT_DUEL_WHILE_INVISIBLE: return 22; + case SPELL_FAILED_CANT_DUEL_WHILE_STEALTHED: return 23; + case SPELL_FAILED_CANT_STEALTH: return 24; + case SPELL_FAILED_CANT_UNTALENT: return 25; + case SPELL_FAILED_CASTER_AURASTATE: return 26; + case SPELL_FAILED_CASTER_DEAD: return 27; + case SPELL_FAILED_CHARMED: return 28; + case SPELL_FAILED_CHEST_IN_USE: return 29; + case SPELL_FAILED_CONFUSED: return 30; + case SPELL_FAILED_DISABLED_BY_POWER_SCALING: return 31; + case SPELL_FAILED_DONT_REPORT: return 32; + case SPELL_FAILED_EQUIPPED_ITEM: return 33; + case SPELL_FAILED_EQUIPPED_ITEM_CLASS: return 34; + case SPELL_FAILED_EQUIPPED_ITEM_CLASS_MAINHAND: return 35; + case SPELL_FAILED_EQUIPPED_ITEM_CLASS_OFFHAND: return 36; + case SPELL_FAILED_ERROR: return 37; + case SPELL_FAILED_FALLING: return 38; + case SPELL_FAILED_FIZZLE: return 39; + case SPELL_FAILED_FLEEING: return 40; + case SPELL_FAILED_FOOD_LOWLEVEL: return 41; + case SPELL_FAILED_GARRISON_NOT_OWNED: return 42; + case SPELL_FAILED_GARRISON_OWNED: return 43; + case SPELL_FAILED_GARRISON_MAX_LEVEL: return 44; + case SPELL_FAILED_GARRISON_NOT_UPGRADEABLE: return 45; + case SPELL_FAILED_GARRISON_FOLLOWER_ON_MISSION: return 46; + case SPELL_FAILED_GARRISON_FOLLOWER_IN_BUILDING: return 47; + case SPELL_FAILED_GARRISON_FOLLOWER_MAX_LEVEL: return 48; + case SPELL_FAILED_GARRISON_FOLLOWER_MIN_ITEM_LEVEL: return 49; + case SPELL_FAILED_GARRISON_FOLLOWER_MAX_ITEM_LEVEL: return 50; + case SPELL_FAILED_GARRISON_FOLLOWER_MAX_QUALITY: return 51; + case SPELL_FAILED_GARRISON_FOLLOWER_NOT_MAX_LEVEL: return 52; + case SPELL_FAILED_GARRISON_FOLLOWER_HAS_ABILITY: return 53; + case SPELL_FAILED_GARRISON_FOLLOWER_HAS_SINGLE_MISSION_ABILITY: return 54; + case SPELL_FAILED_GARRISON_FOLLOWER_REQUIRES_EPIC: return 55; + case SPELL_FAILED_GARRISON_MISSION_NOT_IN_PROGRESS: return 56; + case SPELL_FAILED_GARRISON_MISSION_COMPLETE: return 57; + case SPELL_FAILED_GARRISON_NO_MISSIONS_AVAILABLE: return 58; + case SPELL_FAILED_HIGHLEVEL: return 59; + case SPELL_FAILED_HUNGER_SATIATED: return 60; + case SPELL_FAILED_IMMUNE: return 61; + case SPELL_FAILED_INCORRECT_AREA: return 62; + case SPELL_FAILED_INTERRUPTED: return 63; + case SPELL_FAILED_INTERRUPTED_COMBAT: return 64; + case SPELL_FAILED_ITEM_ALREADY_ENCHANTED: return 65; + case SPELL_FAILED_ITEM_GONE: return 66; + case SPELL_FAILED_ITEM_NOT_FOUND: return 67; + case SPELL_FAILED_ITEM_NOT_READY: return 68; + case SPELL_FAILED_LEVEL_REQUIREMENT: return 69; + case SPELL_FAILED_LINE_OF_SIGHT: return 70; + case SPELL_FAILED_LOWLEVEL: return 71; + case SPELL_FAILED_LOW_CASTLEVEL: return 72; + case SPELL_FAILED_MAINHAND_EMPTY: return 73; + case SPELL_FAILED_MOVING: return 74; + case SPELL_FAILED_NEED_AMMO: return 75; + case SPELL_FAILED_NEED_AMMO_POUCH: return 76; + case SPELL_FAILED_NEED_EXOTIC_AMMO: return 77; + case SPELL_FAILED_NEED_MORE_ITEMS: return 78; + case SPELL_FAILED_NOPATH: return 79; + case SPELL_FAILED_NOT_BEHIND: return 80; + case SPELL_FAILED_NOT_FISHABLE: return 81; + case SPELL_FAILED_NOT_FLYING: return 82; + case SPELL_FAILED_NOT_HERE: return 83; + case SPELL_FAILED_NOT_INFRONT: return 84; + case SPELL_FAILED_NOT_IN_CONTROL: return 85; + case SPELL_FAILED_NOT_KNOWN: return 86; + case SPELL_FAILED_NOT_MOUNTED: return 87; + case SPELL_FAILED_NOT_ON_TAXI: return 88; + case SPELL_FAILED_NOT_ON_TRANSPORT: return 89; + case SPELL_FAILED_NOT_READY: return 90; + case SPELL_FAILED_NOT_SHAPESHIFT: return 91; + case SPELL_FAILED_NOT_STANDING: return 92; + case SPELL_FAILED_NOT_TRADEABLE: return 93; + case SPELL_FAILED_NOT_TRADING: return 94; + case SPELL_FAILED_NOT_UNSHEATHED: return 95; + case SPELL_FAILED_NOT_WHILE_GHOST: return 96; + case SPELL_FAILED_NOT_WHILE_LOOTING: return 97; + case SPELL_FAILED_NO_AMMO: return 98; + case SPELL_FAILED_NO_CHARGES_REMAIN: return 99; + case SPELL_FAILED_NO_COMBO_POINTS: return 100; + case SPELL_FAILED_NO_DUELING: return 101; + case SPELL_FAILED_NO_ENDURANCE: return 102; + case SPELL_FAILED_NO_FISH: return 103; + case SPELL_FAILED_NO_ITEMS_WHILE_SHAPESHIFTED: return 104; + case SPELL_FAILED_NO_MOUNTS_ALLOWED: return 105; + case SPELL_FAILED_NO_PET: return 106; + case SPELL_FAILED_NO_POWER: return 107; + case SPELL_FAILED_NOTHING_TO_DISPEL: return 108; + case SPELL_FAILED_NOTHING_TO_STEAL: return 109; + case SPELL_FAILED_ONLY_ABOVEWATER: return 110; + case SPELL_FAILED_ONLY_INDOORS: return 111; + case SPELL_FAILED_ONLY_MOUNTED: return 112; + case SPELL_FAILED_ONLY_OUTDOORS: return 113; + case SPELL_FAILED_ONLY_SHAPESHIFT: return 114; + case SPELL_FAILED_ONLY_STEALTHED: return 115; + case SPELL_FAILED_ONLY_UNDERWATER: return 116; + case SPELL_FAILED_OUT_OF_RANGE: return 117; + case SPELL_FAILED_PACIFIED: return 118; + case SPELL_FAILED_POSSESSED: return 119; + case SPELL_FAILED_REAGENTS: return 120; + case SPELL_FAILED_REQUIRES_AREA: return 121; + case SPELL_FAILED_REQUIRES_SPELL_FOCUS: return 122; + case SPELL_FAILED_ROOTED: return 123; + case SPELL_FAILED_SILENCED: return 124; + case SPELL_FAILED_SPELL_IN_PROGRESS: return 125; + case SPELL_FAILED_SPELL_LEARNED: return 126; + case SPELL_FAILED_SPELL_UNAVAILABLE: return 127; + case SPELL_FAILED_STUNNED: return 128; + case SPELL_FAILED_TARGETS_DEAD: return 129; + case SPELL_FAILED_TARGET_AFFECTING_COMBAT: return 130; + case SPELL_FAILED_TARGET_AURASTATE: return 131; + case SPELL_FAILED_TARGET_DUELING: return 132; + case SPELL_FAILED_TARGET_ENEMY: return 133; + case SPELL_FAILED_TARGET_ENRAGED: return 134; + case SPELL_FAILED_TARGET_FRIENDLY: return 135; + case SPELL_FAILED_TARGET_IN_COMBAT: return 136; + case SPELL_FAILED_TARGET_IN_PET_BATTLE: return 137; + case SPELL_FAILED_TARGET_IS_PLAYER: return 138; + case SPELL_FAILED_TARGET_IS_PLAYER_CONTROLLED: return 139; + case SPELL_FAILED_TARGET_NOT_DEAD: return 140; + case SPELL_FAILED_TARGET_NOT_IN_PARTY: return 141; + case SPELL_FAILED_TARGET_NOT_LOOTED: return 142; + case SPELL_FAILED_TARGET_NOT_PLAYER: return 143; + case SPELL_FAILED_TARGET_NO_POCKETS: return 144; + case SPELL_FAILED_TARGET_NO_WEAPONS: return 145; + case SPELL_FAILED_TARGET_NO_RANGED_WEAPONS: return 146; + case SPELL_FAILED_TARGET_UNSKINNABLE: return 147; + case SPELL_FAILED_THIRST_SATIATED: return 148; + case SPELL_FAILED_TOO_CLOSE: return 149; + case SPELL_FAILED_TOO_MANY_OF_ITEM: return 150; + case SPELL_FAILED_TOTEM_CATEGORY: return 151; + case SPELL_FAILED_TOTEMS: return 152; + case SPELL_FAILED_TRY_AGAIN: return 153; + case SPELL_FAILED_UNIT_NOT_BEHIND: return 154; + case SPELL_FAILED_UNIT_NOT_INFRONT: return 155; + case SPELL_FAILED_VISION_OBSCURED: return 156; + case SPELL_FAILED_WRONG_PET_FOOD: return 157; + case SPELL_FAILED_NOT_WHILE_FATIGUED: return 158; + case SPELL_FAILED_TARGET_NOT_IN_INSTANCE: return 159; + case SPELL_FAILED_NOT_WHILE_TRADING: return 160; + case SPELL_FAILED_TARGET_NOT_IN_RAID: return 161; + case SPELL_FAILED_TARGET_FREEFORALL: return 162; + case SPELL_FAILED_NO_EDIBLE_CORPSES: return 163; + case SPELL_FAILED_ONLY_BATTLEGROUNDS: return 164; + case SPELL_FAILED_TARGET_NOT_GHOST: return 165; + case SPELL_FAILED_TRANSFORM_UNUSABLE: return 166; + case SPELL_FAILED_WRONG_WEATHER: return 167; + case SPELL_FAILED_DAMAGE_IMMUNE: return 168; + case SPELL_FAILED_PREVENTED_BY_MECHANIC: return 169; + case SPELL_FAILED_PLAY_TIME: return 170; + case SPELL_FAILED_REPUTATION: return 171; + case SPELL_FAILED_MIN_SKILL: return 172; + case SPELL_FAILED_NOT_IN_RATED_BATTLEGROUND: return 173; + case SPELL_FAILED_NOT_ON_SHAPESHIFT: return 174; + case SPELL_FAILED_NOT_ON_STEALTHED: return 175; + case SPELL_FAILED_NOT_ON_DAMAGE_IMMUNE: return 176; + case SPELL_FAILED_NOT_ON_MOUNTED: return 177; + case SPELL_FAILED_TOO_SHALLOW: return 178; + case SPELL_FAILED_TARGET_NOT_IN_SANCTUARY: return 179; + case SPELL_FAILED_TARGET_IS_TRIVIAL: return 180; + case SPELL_FAILED_BM_OR_INVISGOD: return 181; + case SPELL_FAILED_GROUND_MOUNT_NOT_ALLOWED: return 182; + case SPELL_FAILED_FLOATING_MOUNT_NOT_ALLOWED: return 183; + case SPELL_FAILED_UNDERWATER_MOUNT_NOT_ALLOWED: return 184; + case SPELL_FAILED_FLYING_MOUNT_NOT_ALLOWED: return 185; + case SPELL_FAILED_APPRENTICE_RIDING_REQUIREMENT: return 186; + case SPELL_FAILED_JOURNEYMAN_RIDING_REQUIREMENT: return 187; + case SPELL_FAILED_EXPERT_RIDING_REQUIREMENT: return 188; + case SPELL_FAILED_ARTISAN_RIDING_REQUIREMENT: return 189; + case SPELL_FAILED_MASTER_RIDING_REQUIREMENT: return 190; + case SPELL_FAILED_COLD_RIDING_REQUIREMENT: return 191; + case SPELL_FAILED_FLIGHT_MASTER_RIDING_REQUIREMENT: return 192; + case SPELL_FAILED_CS_RIDING_REQUIREMENT: return 193; + case SPELL_FAILED_PANDA_RIDING_REQUIREMENT: return 194; + case SPELL_FAILED_DRAENOR_RIDING_REQUIREMENT: return 195; + case SPELL_FAILED_BROKEN_ISLES_RIDING_REQUIREMENT: return 196; + case SPELL_FAILED_MOUNT_NO_FLOAT_HERE: return 197; + case SPELL_FAILED_MOUNT_NO_UNDERWATER_HERE: return 198; + case SPELL_FAILED_MOUNT_ABOVE_WATER_HERE: return 199; + case SPELL_FAILED_MOUNT_COLLECTED_ON_OTHER_CHAR: return 200; + case SPELL_FAILED_NOT_IDLE: return 201; + case SPELL_FAILED_NOT_INACTIVE: return 202; + case SPELL_FAILED_PARTIAL_PLAYTIME: return 203; + case SPELL_FAILED_NO_PLAYTIME: return 204; + case SPELL_FAILED_NOT_IN_BATTLEGROUND: return 205; + case SPELL_FAILED_NOT_IN_RAID_INSTANCE: return 206; + case SPELL_FAILED_ONLY_IN_ARENA: return 207; + case SPELL_FAILED_TARGET_LOCKED_TO_RAID_INSTANCE: return 208; + case SPELL_FAILED_ON_USE_ENCHANT: return 209; + case SPELL_FAILED_NOT_ON_GROUND: return 210; + case SPELL_FAILED_CUSTOM_ERROR: return 211; + case SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW: return 212; + case SPELL_FAILED_TOO_MANY_SOCKETS: return 213; + case SPELL_FAILED_INVALID_GLYPH: return 214; + case SPELL_FAILED_UNIQUE_GLYPH: return 215; + case SPELL_FAILED_GLYPH_SOCKET_LOCKED: return 216; + case SPELL_FAILED_GLYPH_EXCLUSIVE_CATEGORY: return 217; + case SPELL_FAILED_GLYPH_INVALID_SPEC: return 218; + case SPELL_FAILED_GLYPH_NO_SPEC: return 219; + case SPELL_FAILED_NO_ACTIVE_GLYPHS: return 220; + case SPELL_FAILED_NO_VALID_TARGETS: return 221; + case SPELL_FAILED_ITEM_AT_MAX_CHARGES: return 222; + case SPELL_FAILED_NOT_IN_BARBERSHOP: return 223; + case SPELL_FAILED_FISHING_TOO_LOW: return 224; + case SPELL_FAILED_ITEM_ENCHANT_TRADE_WINDOW: return 225; + case SPELL_FAILED_SUMMON_PENDING: return 226; + case SPELL_FAILED_MAX_SOCKETS: return 227; + case SPELL_FAILED_PET_CAN_RENAME: return 228; + case SPELL_FAILED_TARGET_CANNOT_BE_RESURRECTED: return 229; + case SPELL_FAILED_TARGET_HAS_RESURRECT_PENDING: return 230; + case SPELL_FAILED_NO_ACTIONS: return 231; + case SPELL_FAILED_CURRENCY_WEIGHT_MISMATCH: return 232; + case SPELL_FAILED_WEIGHT_NOT_ENOUGH: return 233; + case SPELL_FAILED_WEIGHT_TOO_MUCH: return 234; + case SPELL_FAILED_NO_VACANT_SEAT: return 235; + case SPELL_FAILED_NO_LIQUID: return 236; + case SPELL_FAILED_ONLY_NOT_SWIMMING: return 237; + case SPELL_FAILED_BY_NOT_MOVING: return 238; + case SPELL_FAILED_IN_COMBAT_RES_LIMIT_REACHED: return 239; + case SPELL_FAILED_NOT_IN_ARENA: return 240; + case SPELL_FAILED_TARGET_NOT_GROUNDED: return 241; + case SPELL_FAILED_EXCEEDED_WEEKLY_USAGE: return 242; + case SPELL_FAILED_NOT_IN_LFG_DUNGEON: return 243; + case SPELL_FAILED_BAD_TARGET_FILTER: return 244; + case SPELL_FAILED_NOT_ENOUGH_TARGETS: return 245; + case SPELL_FAILED_NO_SPEC: return 246; + case SPELL_FAILED_CANT_ADD_BATTLE_PET: return 247; + case SPELL_FAILED_CANT_UPGRADE_BATTLE_PET: return 248; + case SPELL_FAILED_WRONG_BATTLE_PET_TYPE: return 249; + case SPELL_FAILED_NO_DUNGEON_ENCOUNTER: return 250; + case SPELL_FAILED_NO_TELEPORT_FROM_DUNGEON: return 251; + case SPELL_FAILED_MAX_LEVEL_TOO_LOW: return 252; + case SPELL_FAILED_CANT_REPLACE_ITEM_BONUS: return 253; + case GRANT_PET_LEVEL_FAIL: return 254; + case SPELL_FAILED_SKILL_LINE_NOT_KNOWN: return 255; + case SPELL_FAILED_BLUEPRINT_KNOWN: return 256; + case SPELL_FAILED_FOLLOWER_KNOWN: return 257; + case SPELL_FAILED_CANT_OVERRIDE_ENCHANT_VISUAL: return 258; + case SPELL_FAILED_ITEM_NOT_A_WEAPON: return 259; + case SPELL_FAILED_SAME_ENCHANT_VISUAL: return 260; + case SPELL_FAILED_TOY_USE_LIMIT_REACHED: return 261; + case SPELL_FAILED_TOY_ALREADY_KNOWN: return 262; + case SPELL_FAILED_SHIPMENTS_FULL: return 263; + case SPELL_FAILED_NO_SHIPMENTS_FOR_CONTAINER: return 264; + case SPELL_FAILED_NO_BUILDING_FOR_SHIPMENT: return 265; + case SPELL_FAILED_NOT_ENOUGH_SHIPMENTS_FOR_CONTAINER: return 266; + case SPELL_FAILED_HAS_MISSION: return 267; + case SPELL_FAILED_BUILDING_ACTIVATE_NOT_READY: return 268; + case SPELL_FAILED_NOT_SOULBOUND: return 269; + case SPELL_FAILED_RIDING_VEHICLE: return 270; + case SPELL_FAILED_VETERAN_TRIAL_ABOVE_SKILL_RANK_MAX: return 271; + case SPELL_FAILED_NOT_WHILE_MERCENARY: return 272; + case SPELL_FAILED_SPEC_DISABLED: return 273; + case SPELL_FAILED_CANT_BE_OBLITERATED: return 274; + case SPELL_FAILED_CANT_BE_SCRAPPED: return 275; + case SPELL_FAILED_FOLLOWER_CLASS_SPEC_CAP: return 276; + case SPELL_FAILED_TRANSPORT_NOT_READY: return 277; + case SPELL_FAILED_TRANSMOG_SET_ALREADY_KNOWN: return 278; + case SPELL_FAILED_DISABLED_BY_AURA_LABEL: return 279; + case SPELL_FAILED_DISABLED_BY_MAX_USABLE_LEVEL: return 280; + case SPELL_FAILED_SPELL_ALREADY_KNOWN: return 281; + case SPELL_FAILED_MUST_KNOW_SUPERCEDING_SPELL: return 282; + case SPELL_FAILED_YOU_CANNOT_USE_THAT_IN_PVP_INSTANCE: return 283; + case SPELL_FAILED_NO_ARTIFACT_EQUIPPED: return 284; + case SPELL_FAILED_WRONG_ARTIFACT_EQUIPPED: return 285; + case SPELL_FAILED_TARGET_IS_UNTARGETABLE_BY_ANYONE: return 286; + case SPELL_FAILED_SPELL_EFFECT_FAILED: return 287; + case SPELL_FAILED_NEED_ALL_PARTY_MEMBERS: return 288; + case SPELL_FAILED_ARTIFACT_AT_FULL_POWER: return 289; + case SPELL_FAILED_AP_ITEM_FROM_PREVIOUS_TIER: return 290; + case SPELL_FAILED_AREA_TRIGGER_CREATION: return 291; + case SPELL_FAILED_AZERITE_EMPOWERED_ONLY: return 292; + case SPELL_FAILED_AZERITE_EMPOWERED_NO_CHOICES_TO_UNDO: return 293; + case SPELL_FAILED_WRONG_FACTION: return 294; + case SPELL_FAILED_NOT_ENOUGH_CURRENCY: return 295; + case SPELL_FAILED_BATTLE_FOR_AZEROTH_RIDING_REQUIREMENT: return 296; + case SPELL_FAILED_MOUNT_EQUIPMENT_ERROR: return 297; + case SPELL_FAILED_NOT_WHILE_LEVEL_LINKED: return 298; + case SPELL_FAILED_LEVEL_LINKED_LOW_LEVEL: return 299; + case SPELL_FAILED_SUMMON_MAP_CONDITION: return 300; + case SPELL_FAILED_SET_COVENANT_ERROR: return 301; + case SPELL_FAILED_RUNEFORGE_LEGENDARY_UPGRADE: return 302; + case SPELL_FAILED_SET_CHROMIE_TIME_ERROR: return 303; + case SPELL_FAILED_INELIGIBLE_WEAPON_APPEARANCE: return 304; + case SPELL_FAILED_PLAYER_CONDITION: return 305; + case SPELL_FAILED_NOT_WHILE_CHROMIE_TIMED: return 306; + case SPELL_FAILED_OPTIONAL_REAGENTS: return 307; + case SPELL_FAILED_SPECTATOR_OR_COMMENTATOR: return 308; + case SPELL_FAILED_SOULBIND_CONDUIT_LEARN_FAILED_INVALID_COVENANT: return 309; + case SPELL_FAILED_SHADOWLANDS_RIDING_REQUIREMENT: return 310; + case SPELL_FAILED_NOT_IN_MAGE_TOWER: return 311; + case SPELL_FAILED_GARRISON_FOLLOWER_AT_MIN_LEVEL: return 312; + case SPELL_FAILED_UNKNOWN: return 313; + default: throw std::out_of_range("value"); + } +} + +/*********************************************************************\ +|* data for enum 'AuraStateType' in 'SharedDefines.h' auto-generated *| +\*********************************************************************/ +template <> +TC_API_EXPORT EnumText EnumUtils<AuraStateType>::ToString(AuraStateType value) +{ + switch (value) + { + case AURA_STATE_NONE: return { "AURA_STATE_NONE", "AURA_STATE_NONE", "C |" }; + case AURA_STATE_DEFENSIVE: return { "AURA_STATE_DEFENSIVE", "AURA_STATE_DEFENSIVE", "CcTt|" }; + case AURA_STATE_WOUNDED_20_PERCENT: return { "AURA_STATE_WOUNDED_20_PERCENT", "AURA_STATE_WOUNDED_20_PERCENT", "CcT |" }; + case AURA_STATE_UNBALANCED: return { "AURA_STATE_UNBALANCED", "AURA_STATE_UNBALANCED", "CcT | NYI" }; + case AURA_STATE_FROZEN: return { "AURA_STATE_FROZEN", "AURA_STATE_FROZEN", "c t|" }; + case AURA_STATE_MARKED: return { "AURA_STATE_MARKED", "AURA_STATE_MARKED", "C t| NYI" }; + case AURA_STATE_WOUNDED_25_PERCENT: return { "AURA_STATE_WOUNDED_25_PERCENT", "AURA_STATE_WOUNDED_25_PERCENT", "T |" }; + case AURA_STATE_DEFENSIVE_2: return { "AURA_STATE_DEFENSIVE_2", "AURA_STATE_DEFENSIVE_2", "Cc | NYI" }; + case AURA_STATE_BANISHED: return { "AURA_STATE_BANISHED", "AURA_STATE_BANISHED", "c | NYI" }; + case AURA_STATE_DAZED: return { "AURA_STATE_DAZED", "AURA_STATE_DAZED", "t|" }; + case AURA_STATE_VICTORIOUS: return { "AURA_STATE_VICTORIOUS", "AURA_STATE_VICTORIOUS", "C |" }; + case AURA_STATE_RAMPAGE: return { "AURA_STATE_RAMPAGE", "AURA_STATE_RAMPAGE", "| NYI" }; + case AURA_STATE_FAERIE_FIRE: return { "AURA_STATE_FAERIE_FIRE", "AURA_STATE_FAERIE_FIRE", "c t|" }; + case AURA_STATE_WOUNDED_35_PERCENT: return { "AURA_STATE_WOUNDED_35_PERCENT", "AURA_STATE_WOUNDED_35_PERCENT", "CcT |" }; + case AURA_STATE_RAID_ENCOUNTER_2: return { "AURA_STATE_RAID_ENCOUNTER_2", "AURA_STATE_RAID_ENCOUNTER_2", "cT |" }; + case AURA_STATE_DRUID_PERIODIC_HEAL: return { "AURA_STATE_DRUID_PERIODIC_HEAL", "AURA_STATE_DRUID_PERIODIC_HEAL", "T |" }; + case AURA_STATE_ROGUE_POISONED: return { "AURA_STATE_ROGUE_POISONED", "AURA_STATE_ROGUE_POISONED", "|" }; + case AURA_STATE_ENRAGED: return { "AURA_STATE_ENRAGED", "AURA_STATE_ENRAGED", "C |" }; + case AURA_STATE_BLEED: return { "AURA_STATE_BLEED", "AURA_STATE_BLEED", "T |" }; + case AURA_STATE_VULNERABLE: return { "AURA_STATE_VULNERABLE", "AURA_STATE_VULNERABLE", "| NYI" }; + case AURA_STATE_ARENA_PREPARATION: return { "AURA_STATE_ARENA_PREPARATION", "AURA_STATE_ARENA_PREPARATION", "c |" }; + case AURA_STATE_WOUND_HEALTH_20_80: return { "AURA_STATE_WOUND_HEALTH_20_80", "AURA_STATE_WOUND_HEALTH_20_80", "T |" }; + case AURA_STATE_RAID_ENCOUNTER: return { "AURA_STATE_RAID_ENCOUNTER", "AURA_STATE_RAID_ENCOUNTER", "CcTt|" }; + case AURA_STATE_HEALTHY_75_PERCENT: return { "AURA_STATE_HEALTHY_75_PERCENT", "AURA_STATE_HEALTHY_75_PERCENT", "C |" }; + case AURA_STATE_WOUND_HEALTH_35_80: return { "AURA_STATE_WOUND_HEALTH_35_80", "AURA_STATE_WOUND_HEALTH_35_80", "T |" }; + default: throw std::out_of_range("value"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<AuraStateType>::Count() { return 25; } + +template <> +TC_API_EXPORT AuraStateType EnumUtils<AuraStateType>::FromIndex(size_t index) +{ + switch (index) + { + case 0: return AURA_STATE_NONE; + case 1: return AURA_STATE_DEFENSIVE; + case 2: return AURA_STATE_WOUNDED_20_PERCENT; + case 3: return AURA_STATE_UNBALANCED; + case 4: return AURA_STATE_FROZEN; + case 5: return AURA_STATE_MARKED; + case 6: return AURA_STATE_WOUNDED_25_PERCENT; + case 7: return AURA_STATE_DEFENSIVE_2; + case 8: return AURA_STATE_BANISHED; + case 9: return AURA_STATE_DAZED; + case 10: return AURA_STATE_VICTORIOUS; + case 11: return AURA_STATE_RAMPAGE; + case 12: return AURA_STATE_FAERIE_FIRE; + case 13: return AURA_STATE_WOUNDED_35_PERCENT; + case 14: return AURA_STATE_RAID_ENCOUNTER_2; + case 15: return AURA_STATE_DRUID_PERIODIC_HEAL; + case 16: return AURA_STATE_ROGUE_POISONED; + case 17: return AURA_STATE_ENRAGED; + case 18: return AURA_STATE_BLEED; + case 19: return AURA_STATE_VULNERABLE; + case 20: return AURA_STATE_ARENA_PREPARATION; + case 21: return AURA_STATE_WOUND_HEALTH_20_80; + case 22: return AURA_STATE_RAID_ENCOUNTER; + case 23: return AURA_STATE_HEALTHY_75_PERCENT; + case 24: return AURA_STATE_WOUND_HEALTH_35_80; + default: throw std::out_of_range("index"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<AuraStateType>::ToIndex(AuraStateType value) +{ + switch (value) + { + case AURA_STATE_NONE: return 0; + case AURA_STATE_DEFENSIVE: return 1; + case AURA_STATE_WOUNDED_20_PERCENT: return 2; + case AURA_STATE_UNBALANCED: return 3; + case AURA_STATE_FROZEN: return 4; + case AURA_STATE_MARKED: return 5; + case AURA_STATE_WOUNDED_25_PERCENT: return 6; + case AURA_STATE_DEFENSIVE_2: return 7; + case AURA_STATE_BANISHED: return 8; + case AURA_STATE_DAZED: return 9; + case AURA_STATE_VICTORIOUS: return 10; + case AURA_STATE_RAMPAGE: return 11; + case AURA_STATE_FAERIE_FIRE: return 12; + case AURA_STATE_WOUNDED_35_PERCENT: return 13; + case AURA_STATE_RAID_ENCOUNTER_2: return 14; + case AURA_STATE_DRUID_PERIODIC_HEAL: return 15; + case AURA_STATE_ROGUE_POISONED: return 16; + case AURA_STATE_ENRAGED: return 17; + case AURA_STATE_BLEED: return 18; + case AURA_STATE_VULNERABLE: return 19; + case AURA_STATE_ARENA_PREPARATION: return 20; + case AURA_STATE_WOUND_HEALTH_20_80: return 21; + case AURA_STATE_RAID_ENCOUNTER: return 22; + case AURA_STATE_HEALTHY_75_PERCENT: return 23; + case AURA_STATE_WOUND_HEALTH_35_80: return 24; + default: throw std::out_of_range("value"); + } +} + /*****************************************************************\ |* data for enum 'Mechanics' in 'SharedDefines.h' auto-generated *| \*****************************************************************/ @@ -3692,6 +4775,249 @@ TC_API_EXPORT size_t EnumUtils<WeatherType>::ToIndex(WeatherType value) } } +/***************************************************************\ +|* data for enum 'ChatMsg' in 'SharedDefines.h' auto-generated *| +\***************************************************************/ +template <> +TC_API_EXPORT EnumText EnumUtils<ChatMsg>::ToString(ChatMsg value) +{ + switch (value) + { + case CHAT_MSG_ADDON: return { "CHAT_MSG_ADDON", "CHAT_MSG_ADDON", "" }; + case CHAT_MSG_SYSTEM: return { "CHAT_MSG_SYSTEM", "CHAT_MSG_SYSTEM", "" }; + case CHAT_MSG_SAY: return { "CHAT_MSG_SAY", "CHAT_MSG_SAY", "" }; + case CHAT_MSG_PARTY: return { "CHAT_MSG_PARTY", "CHAT_MSG_PARTY", "" }; + case CHAT_MSG_RAID: return { "CHAT_MSG_RAID", "CHAT_MSG_RAID", "" }; + case CHAT_MSG_GUILD: return { "CHAT_MSG_GUILD", "CHAT_MSG_GUILD", "" }; + case CHAT_MSG_OFFICER: return { "CHAT_MSG_OFFICER", "CHAT_MSG_OFFICER", "" }; + case CHAT_MSG_YELL: return { "CHAT_MSG_YELL", "CHAT_MSG_YELL", "" }; + case CHAT_MSG_WHISPER: return { "CHAT_MSG_WHISPER", "CHAT_MSG_WHISPER", "" }; + case CHAT_MSG_WHISPER_FOREIGN: return { "CHAT_MSG_WHISPER_FOREIGN", "CHAT_MSG_WHISPER_FOREIGN", "" }; + case CHAT_MSG_WHISPER_INFORM: return { "CHAT_MSG_WHISPER_INFORM", "CHAT_MSG_WHISPER_INFORM", "" }; + case CHAT_MSG_EMOTE: return { "CHAT_MSG_EMOTE", "CHAT_MSG_EMOTE", "" }; + case CHAT_MSG_TEXT_EMOTE: return { "CHAT_MSG_TEXT_EMOTE", "CHAT_MSG_TEXT_EMOTE", "" }; + case CHAT_MSG_MONSTER_SAY: return { "CHAT_MSG_MONSTER_SAY", "CHAT_MSG_MONSTER_SAY", "" }; + case CHAT_MSG_MONSTER_PARTY: return { "CHAT_MSG_MONSTER_PARTY", "CHAT_MSG_MONSTER_PARTY", "" }; + case CHAT_MSG_MONSTER_YELL: return { "CHAT_MSG_MONSTER_YELL", "CHAT_MSG_MONSTER_YELL", "" }; + case CHAT_MSG_MONSTER_WHISPER: return { "CHAT_MSG_MONSTER_WHISPER", "CHAT_MSG_MONSTER_WHISPER", "" }; + case CHAT_MSG_MONSTER_EMOTE: return { "CHAT_MSG_MONSTER_EMOTE", "CHAT_MSG_MONSTER_EMOTE", "" }; + case CHAT_MSG_CHANNEL: return { "CHAT_MSG_CHANNEL", "CHAT_MSG_CHANNEL", "" }; + case CHAT_MSG_CHANNEL_JOIN: return { "CHAT_MSG_CHANNEL_JOIN", "CHAT_MSG_CHANNEL_JOIN", "" }; + case CHAT_MSG_CHANNEL_LEAVE: return { "CHAT_MSG_CHANNEL_LEAVE", "CHAT_MSG_CHANNEL_LEAVE", "" }; + case CHAT_MSG_CHANNEL_LIST: return { "CHAT_MSG_CHANNEL_LIST", "CHAT_MSG_CHANNEL_LIST", "" }; + case CHAT_MSG_CHANNEL_NOTICE: return { "CHAT_MSG_CHANNEL_NOTICE", "CHAT_MSG_CHANNEL_NOTICE", "" }; + case CHAT_MSG_CHANNEL_NOTICE_USER: return { "CHAT_MSG_CHANNEL_NOTICE_USER", "CHAT_MSG_CHANNEL_NOTICE_USER", "" }; + case CHAT_MSG_AFK: return { "CHAT_MSG_AFK", "CHAT_MSG_AFK", "" }; + case CHAT_MSG_DND: return { "CHAT_MSG_DND", "CHAT_MSG_DND", "" }; + case CHAT_MSG_IGNORED: return { "CHAT_MSG_IGNORED", "CHAT_MSG_IGNORED", "" }; + case CHAT_MSG_SKILL: return { "CHAT_MSG_SKILL", "CHAT_MSG_SKILL", "" }; + case CHAT_MSG_LOOT: return { "CHAT_MSG_LOOT", "CHAT_MSG_LOOT", "" }; + case CHAT_MSG_MONEY: return { "CHAT_MSG_MONEY", "CHAT_MSG_MONEY", "" }; + case CHAT_MSG_OPENING: return { "CHAT_MSG_OPENING", "CHAT_MSG_OPENING", "" }; + case CHAT_MSG_TRADESKILLS: return { "CHAT_MSG_TRADESKILLS", "CHAT_MSG_TRADESKILLS", "" }; + case CHAT_MSG_PET_INFO: return { "CHAT_MSG_PET_INFO", "CHAT_MSG_PET_INFO", "" }; + case CHAT_MSG_COMBAT_MISC_INFO: return { "CHAT_MSG_COMBAT_MISC_INFO", "CHAT_MSG_COMBAT_MISC_INFO", "" }; + case CHAT_MSG_COMBAT_XP_GAIN: return { "CHAT_MSG_COMBAT_XP_GAIN", "CHAT_MSG_COMBAT_XP_GAIN", "" }; + case CHAT_MSG_COMBAT_HONOR_GAIN: return { "CHAT_MSG_COMBAT_HONOR_GAIN", "CHAT_MSG_COMBAT_HONOR_GAIN", "" }; + case CHAT_MSG_COMBAT_FACTION_CHANGE: return { "CHAT_MSG_COMBAT_FACTION_CHANGE", "CHAT_MSG_COMBAT_FACTION_CHANGE", "" }; + case CHAT_MSG_BG_SYSTEM_NEUTRAL: return { "CHAT_MSG_BG_SYSTEM_NEUTRAL", "CHAT_MSG_BG_SYSTEM_NEUTRAL", "" }; + case CHAT_MSG_BG_SYSTEM_ALLIANCE: return { "CHAT_MSG_BG_SYSTEM_ALLIANCE", "CHAT_MSG_BG_SYSTEM_ALLIANCE", "" }; + case CHAT_MSG_BG_SYSTEM_HORDE: return { "CHAT_MSG_BG_SYSTEM_HORDE", "CHAT_MSG_BG_SYSTEM_HORDE", "" }; + case CHAT_MSG_RAID_LEADER: return { "CHAT_MSG_RAID_LEADER", "CHAT_MSG_RAID_LEADER", "" }; + case CHAT_MSG_RAID_WARNING: return { "CHAT_MSG_RAID_WARNING", "CHAT_MSG_RAID_WARNING", "" }; + case CHAT_MSG_RAID_BOSS_EMOTE: return { "CHAT_MSG_RAID_BOSS_EMOTE", "CHAT_MSG_RAID_BOSS_EMOTE", "" }; + case CHAT_MSG_RAID_BOSS_WHISPER: return { "CHAT_MSG_RAID_BOSS_WHISPER", "CHAT_MSG_RAID_BOSS_WHISPER", "" }; + case CHAT_MSG_FILTERED: return { "CHAT_MSG_FILTERED", "CHAT_MSG_FILTERED", "" }; + case CHAT_MSG_RESTRICTED: return { "CHAT_MSG_RESTRICTED", "CHAT_MSG_RESTRICTED", "" }; + case CHAT_MSG_BATTLENET: return { "CHAT_MSG_BATTLENET", "CHAT_MSG_BATTLENET", "" }; + case CHAT_MSG_ACHIEVEMENT: return { "CHAT_MSG_ACHIEVEMENT", "CHAT_MSG_ACHIEVEMENT", "" }; + case CHAT_MSG_GUILD_ACHIEVEMENT: return { "CHAT_MSG_GUILD_ACHIEVEMENT", "CHAT_MSG_GUILD_ACHIEVEMENT", "" }; + case CHAT_MSG_ARENA_POINTS: return { "CHAT_MSG_ARENA_POINTS", "CHAT_MSG_ARENA_POINTS", "" }; + case CHAT_MSG_PARTY_LEADER: return { "CHAT_MSG_PARTY_LEADER", "CHAT_MSG_PARTY_LEADER", "" }; + case CHAT_MSG_TARGETICONS: return { "CHAT_MSG_TARGETICONS", "CHAT_MSG_TARGETICONS", "" }; + case CHAT_MSG_BN_WHISPER: return { "CHAT_MSG_BN_WHISPER", "CHAT_MSG_BN_WHISPER", "" }; + case CHAT_MSG_BN_WHISPER_INFORM: return { "CHAT_MSG_BN_WHISPER_INFORM", "CHAT_MSG_BN_WHISPER_INFORM", "" }; + case CHAT_MSG_BN_CONVERSATION: return { "CHAT_MSG_BN_CONVERSATION", "CHAT_MSG_BN_CONVERSATION", "" }; + case CHAT_MSG_BN_CONVERSATION_NOTICE: return { "CHAT_MSG_BN_CONVERSATION_NOTICE", "CHAT_MSG_BN_CONVERSATION_NOTICE", "" }; + case CHAT_MSG_BN_CONVERSATION_LIST: return { "CHAT_MSG_BN_CONVERSATION_LIST", "CHAT_MSG_BN_CONVERSATION_LIST", "" }; + case CHAT_MSG_BN_INLINE_TOAST_ALERT: return { "CHAT_MSG_BN_INLINE_TOAST_ALERT", "CHAT_MSG_BN_INLINE_TOAST_ALERT", "" }; + case CHAT_MSG_BN_INLINE_TOAST_BROADCAST: return { "CHAT_MSG_BN_INLINE_TOAST_BROADCAST", "CHAT_MSG_BN_INLINE_TOAST_BROADCAST", "" }; + case CHAT_MSG_BN_INLINE_TOAST_BROADCAST_INFORM: return { "CHAT_MSG_BN_INLINE_TOAST_BROADCAST_INFORM", "CHAT_MSG_BN_INLINE_TOAST_BROADCAST_INFORM", "" }; + case CHAT_MSG_BN_INLINE_TOAST_CONVERSATION: return { "CHAT_MSG_BN_INLINE_TOAST_CONVERSATION", "CHAT_MSG_BN_INLINE_TOAST_CONVERSATION", "" }; + case CHAT_MSG_BN_WHISPER_PLAYER_OFFLINE: return { "CHAT_MSG_BN_WHISPER_PLAYER_OFFLINE", "CHAT_MSG_BN_WHISPER_PLAYER_OFFLINE", "" }; + case CHAT_MSG_COMBAT_GUILD_XP_GAIN: return { "CHAT_MSG_COMBAT_GUILD_XP_GAIN", "CHAT_MSG_COMBAT_GUILD_XP_GAIN", "" }; + case CHAT_MSG_CURRENCY: return { "CHAT_MSG_CURRENCY", "CHAT_MSG_CURRENCY", "" }; + case CHAT_MSG_QUEST_BOSS_EMOTE: return { "CHAT_MSG_QUEST_BOSS_EMOTE", "CHAT_MSG_QUEST_BOSS_EMOTE", "" }; + case CHAT_MSG_PET_BATTLE_COMBAT_LOG: return { "CHAT_MSG_PET_BATTLE_COMBAT_LOG", "CHAT_MSG_PET_BATTLE_COMBAT_LOG", "" }; + case CHAT_MSG_PET_BATTLE_INFO: return { "CHAT_MSG_PET_BATTLE_INFO", "CHAT_MSG_PET_BATTLE_INFO", "" }; + case CHAT_MSG_INSTANCE_CHAT: return { "CHAT_MSG_INSTANCE_CHAT", "CHAT_MSG_INSTANCE_CHAT", "" }; + case CHAT_MSG_INSTANCE_CHAT_LEADER: return { "CHAT_MSG_INSTANCE_CHAT_LEADER", "CHAT_MSG_INSTANCE_CHAT_LEADER", "" }; + case MAX_CHAT_MSG_TYPE: return { "MAX_CHAT_MSG_TYPE", "MAX_CHAT_MSG_TYPE", "" }; + default: throw std::out_of_range("value"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<ChatMsg>::Count() { return 70; } + +template <> +TC_API_EXPORT ChatMsg EnumUtils<ChatMsg>::FromIndex(size_t index) +{ + switch (index) + { + case 0: return CHAT_MSG_ADDON; + case 1: return CHAT_MSG_SYSTEM; + case 2: return CHAT_MSG_SAY; + case 3: return CHAT_MSG_PARTY; + case 4: return CHAT_MSG_RAID; + case 5: return CHAT_MSG_GUILD; + case 6: return CHAT_MSG_OFFICER; + case 7: return CHAT_MSG_YELL; + case 8: return CHAT_MSG_WHISPER; + case 9: return CHAT_MSG_WHISPER_FOREIGN; + case 10: return CHAT_MSG_WHISPER_INFORM; + case 11: return CHAT_MSG_EMOTE; + case 12: return CHAT_MSG_TEXT_EMOTE; + case 13: return CHAT_MSG_MONSTER_SAY; + case 14: return CHAT_MSG_MONSTER_PARTY; + case 15: return CHAT_MSG_MONSTER_YELL; + case 16: return CHAT_MSG_MONSTER_WHISPER; + case 17: return CHAT_MSG_MONSTER_EMOTE; + case 18: return CHAT_MSG_CHANNEL; + case 19: return CHAT_MSG_CHANNEL_JOIN; + case 20: return CHAT_MSG_CHANNEL_LEAVE; + case 21: return CHAT_MSG_CHANNEL_LIST; + case 22: return CHAT_MSG_CHANNEL_NOTICE; + case 23: return CHAT_MSG_CHANNEL_NOTICE_USER; + case 24: return CHAT_MSG_AFK; + case 25: return CHAT_MSG_DND; + case 26: return CHAT_MSG_IGNORED; + case 27: return CHAT_MSG_SKILL; + case 28: return CHAT_MSG_LOOT; + case 29: return CHAT_MSG_MONEY; + case 30: return CHAT_MSG_OPENING; + case 31: return CHAT_MSG_TRADESKILLS; + case 32: return CHAT_MSG_PET_INFO; + case 33: return CHAT_MSG_COMBAT_MISC_INFO; + case 34: return CHAT_MSG_COMBAT_XP_GAIN; + case 35: return CHAT_MSG_COMBAT_HONOR_GAIN; + case 36: return CHAT_MSG_COMBAT_FACTION_CHANGE; + case 37: return CHAT_MSG_BG_SYSTEM_NEUTRAL; + case 38: return CHAT_MSG_BG_SYSTEM_ALLIANCE; + case 39: return CHAT_MSG_BG_SYSTEM_HORDE; + case 40: return CHAT_MSG_RAID_LEADER; + case 41: return CHAT_MSG_RAID_WARNING; + case 42: return CHAT_MSG_RAID_BOSS_EMOTE; + case 43: return CHAT_MSG_RAID_BOSS_WHISPER; + case 44: return CHAT_MSG_FILTERED; + case 45: return CHAT_MSG_RESTRICTED; + case 46: return CHAT_MSG_BATTLENET; + case 47: return CHAT_MSG_ACHIEVEMENT; + case 48: return CHAT_MSG_GUILD_ACHIEVEMENT; + case 49: return CHAT_MSG_ARENA_POINTS; + case 50: return CHAT_MSG_PARTY_LEADER; + case 51: return CHAT_MSG_TARGETICONS; + case 52: return CHAT_MSG_BN_WHISPER; + case 53: return CHAT_MSG_BN_WHISPER_INFORM; + case 54: return CHAT_MSG_BN_CONVERSATION; + case 55: return CHAT_MSG_BN_CONVERSATION_NOTICE; + case 56: return CHAT_MSG_BN_CONVERSATION_LIST; + case 57: return CHAT_MSG_BN_INLINE_TOAST_ALERT; + case 58: return CHAT_MSG_BN_INLINE_TOAST_BROADCAST; + case 59: return CHAT_MSG_BN_INLINE_TOAST_BROADCAST_INFORM; + case 60: return CHAT_MSG_BN_INLINE_TOAST_CONVERSATION; + case 61: return CHAT_MSG_BN_WHISPER_PLAYER_OFFLINE; + case 62: return CHAT_MSG_COMBAT_GUILD_XP_GAIN; + case 63: return CHAT_MSG_CURRENCY; + case 64: return CHAT_MSG_QUEST_BOSS_EMOTE; + case 65: return CHAT_MSG_PET_BATTLE_COMBAT_LOG; + case 66: return CHAT_MSG_PET_BATTLE_INFO; + case 67: return CHAT_MSG_INSTANCE_CHAT; + case 68: return CHAT_MSG_INSTANCE_CHAT_LEADER; + case 69: return MAX_CHAT_MSG_TYPE; + default: throw std::out_of_range("index"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<ChatMsg>::ToIndex(ChatMsg value) +{ + switch (value) + { + case CHAT_MSG_ADDON: return 0; + case CHAT_MSG_SYSTEM: return 1; + case CHAT_MSG_SAY: return 2; + case CHAT_MSG_PARTY: return 3; + case CHAT_MSG_RAID: return 4; + case CHAT_MSG_GUILD: return 5; + case CHAT_MSG_OFFICER: return 6; + case CHAT_MSG_YELL: return 7; + case CHAT_MSG_WHISPER: return 8; + case CHAT_MSG_WHISPER_FOREIGN: return 9; + case CHAT_MSG_WHISPER_INFORM: return 10; + case CHAT_MSG_EMOTE: return 11; + case CHAT_MSG_TEXT_EMOTE: return 12; + case CHAT_MSG_MONSTER_SAY: return 13; + case CHAT_MSG_MONSTER_PARTY: return 14; + case CHAT_MSG_MONSTER_YELL: return 15; + case CHAT_MSG_MONSTER_WHISPER: return 16; + case CHAT_MSG_MONSTER_EMOTE: return 17; + case CHAT_MSG_CHANNEL: return 18; + case CHAT_MSG_CHANNEL_JOIN: return 19; + case CHAT_MSG_CHANNEL_LEAVE: return 20; + case CHAT_MSG_CHANNEL_LIST: return 21; + case CHAT_MSG_CHANNEL_NOTICE: return 22; + case CHAT_MSG_CHANNEL_NOTICE_USER: return 23; + case CHAT_MSG_AFK: return 24; + case CHAT_MSG_DND: return 25; + case CHAT_MSG_IGNORED: return 26; + case CHAT_MSG_SKILL: return 27; + case CHAT_MSG_LOOT: return 28; + case CHAT_MSG_MONEY: return 29; + case CHAT_MSG_OPENING: return 30; + case CHAT_MSG_TRADESKILLS: return 31; + case CHAT_MSG_PET_INFO: return 32; + case CHAT_MSG_COMBAT_MISC_INFO: return 33; + case CHAT_MSG_COMBAT_XP_GAIN: return 34; + case CHAT_MSG_COMBAT_HONOR_GAIN: return 35; + case CHAT_MSG_COMBAT_FACTION_CHANGE: return 36; + case CHAT_MSG_BG_SYSTEM_NEUTRAL: return 37; + case CHAT_MSG_BG_SYSTEM_ALLIANCE: return 38; + case CHAT_MSG_BG_SYSTEM_HORDE: return 39; + case CHAT_MSG_RAID_LEADER: return 40; + case CHAT_MSG_RAID_WARNING: return 41; + case CHAT_MSG_RAID_BOSS_EMOTE: return 42; + case CHAT_MSG_RAID_BOSS_WHISPER: return 43; + case CHAT_MSG_FILTERED: return 44; + case CHAT_MSG_RESTRICTED: return 45; + case CHAT_MSG_BATTLENET: return 46; + case CHAT_MSG_ACHIEVEMENT: return 47; + case CHAT_MSG_GUILD_ACHIEVEMENT: return 48; + case CHAT_MSG_ARENA_POINTS: return 49; + case CHAT_MSG_PARTY_LEADER: return 50; + case CHAT_MSG_TARGETICONS: return 51; + case CHAT_MSG_BN_WHISPER: return 52; + case CHAT_MSG_BN_WHISPER_INFORM: return 53; + case CHAT_MSG_BN_CONVERSATION: return 54; + case CHAT_MSG_BN_CONVERSATION_NOTICE: return 55; + case CHAT_MSG_BN_CONVERSATION_LIST: return 56; + case CHAT_MSG_BN_INLINE_TOAST_ALERT: return 57; + case CHAT_MSG_BN_INLINE_TOAST_BROADCAST: return 58; + case CHAT_MSG_BN_INLINE_TOAST_BROADCAST_INFORM: return 59; + case CHAT_MSG_BN_INLINE_TOAST_CONVERSATION: return 60; + case CHAT_MSG_BN_WHISPER_PLAYER_OFFLINE: return 61; + case CHAT_MSG_COMBAT_GUILD_XP_GAIN: return 62; + case CHAT_MSG_CURRENCY: return 63; + case CHAT_MSG_QUEST_BOSS_EMOTE: return 64; + case CHAT_MSG_PET_BATTLE_COMBAT_LOG: return 65; + case CHAT_MSG_PET_BATTLE_INFO: return 66; + case CHAT_MSG_INSTANCE_CHAT: return 67; + case CHAT_MSG_INSTANCE_CHAT_LEADER: return 68; + case MAX_CHAT_MSG_TYPE: return 69; + default: throw std::out_of_range("value"); + } +} + /************************************************************************\ |* data for enum 'SpellFamilyNames' in 'SharedDefines.h' auto-generated *| \************************************************************************/ diff --git a/src/server/game/Quests/QuestDef.h b/src/server/game/Quests/QuestDef.h index 014cdf78902..e4aadb391fd 100644 --- a/src/server/game/Quests/QuestDef.h +++ b/src/server/game/Quests/QuestDef.h @@ -50,24 +50,26 @@ namespace WorldPackets #define QUEST_REWARD_CURRENCY_COUNT 4 #define QUEST_REWARD_DISPLAY_SPELL_COUNT 3 -enum QuestFailedReason +// EnumUtils: DESCRIBE THIS +enum QuestFailedReason : uint32 { QUEST_ERR_NONE = 0, - QUEST_ERR_FAILED_LOW_LEVEL = 1, // "You are not high enough level for that quest."" - QUEST_ERR_FAILED_WRONG_RACE = 6, // "That quest is not available to your race." - QUEST_ERR_ALREADY_DONE = 7, // "You have completed that daily quest today." - QUEST_ERR_ONLY_ONE_TIMED = 12, // "You can only be on one timed quest at a time" - QUEST_ERR_ALREADY_ON1 = 13, // "You are already on that quest" - QUEST_ERR_FAILED_EXPANSION = 16, // "This quest requires an expansion enabled account." - QUEST_ERR_ALREADY_ON2 = 18, // "You are already on that quest" - QUEST_ERR_FAILED_MISSING_ITEMS = 21, // "You don't have the required items with you. Check storage." - QUEST_ERR_FAILED_NOT_ENOUGH_MONEY = 23, // "You don't have enough money for that quest" - QUEST_ERR_FAILED_CAIS = 24, // "You cannot complete quests once you have reached tired time" - QUEST_ERR_ALREADY_DONE_DAILY = 26, // "You have completed that daily quest today." - QUEST_ERR_FAILED_SPELL = 28, // "You haven't learned the required spell." - QUEST_ERR_HAS_IN_PROGRESS = 30 // "Progress Bar objective not completed" + QUEST_ERR_FAILED_LOW_LEVEL = 1, // DESCRIPTION "You are not high enough level for that quest."" + QUEST_ERR_FAILED_WRONG_RACE = 6, // DESCRIPTION "That quest is not available to your race." + QUEST_ERR_ALREADY_DONE = 7, // DESCRIPTION "You have completed that daily quest today." + QUEST_ERR_ONLY_ONE_TIMED = 12, // DESCRIPTION "You can only be on one timed quest at a time" + QUEST_ERR_ALREADY_ON1 = 13, // DESCRIPTION "You are already on that quest" + QUEST_ERR_FAILED_EXPANSION = 16, // DESCRIPTION "This quest requires an expansion enabled account." + QUEST_ERR_ALREADY_ON2 = 18, // DESCRIPTION "You are already on that quest" + QUEST_ERR_FAILED_MISSING_ITEMS = 21, // DESCRIPTION "You don't have the required items with you. Check storage." + QUEST_ERR_FAILED_NOT_ENOUGH_MONEY = 23, // DESCRIPTION "You don't have enough money for that quest" + QUEST_ERR_FAILED_CAIS = 24, // DESCRIPTION "You cannot complete quests once you have reached tired time" + QUEST_ERR_ALREADY_DONE_DAILY = 26, // DESCRIPTION "You have completed that daily quest today." + QUEST_ERR_FAILED_SPELL = 28, // DESCRIPTION "You haven't learned the required spell." + QUEST_ERR_HAS_IN_PROGRESS = 30 // DESCRIPTION "Progress Bar objective not completed" }; +// EnumUtils: DESCRIBE THIS enum class QuestPushReason : uint8 { Success = 0, // "Sharing quest with %s..." diff --git a/src/server/game/Quests/enuminfo_QuestDef.cpp b/src/server/game/Quests/enuminfo_QuestDef.cpp new file mode 100644 index 00000000000..594b5e7730e --- /dev/null +++ b/src/server/game/Quests/enuminfo_QuestDef.cpp @@ -0,0 +1,259 @@ +/* + * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information + * + * 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, see <http://www.gnu.org/licenses/>. + */ + +#include "QuestDef.h" +#include "Define.h" +#include "SmartEnum.h" +#include <stdexcept> + +namespace Trinity::Impl::EnumUtilsImpl +{ + +/********************************************************************\ +|* data for enum 'QuestFailedReason' in 'QuestDef.h' auto-generated *| +\********************************************************************/ +template <> +TC_API_EXPORT EnumText EnumUtils<QuestFailedReason>::ToString(QuestFailedReason value) +{ + switch (value) + { + case QUEST_ERR_NONE: return { "QUEST_ERR_NONE", "QUEST_ERR_NONE", "" }; + case QUEST_ERR_FAILED_LOW_LEVEL: return { "QUEST_ERR_FAILED_LOW_LEVEL", "QUEST_ERR_FAILED_LOW_LEVEL", "\042You are not high enough level for that quest.\042\042" }; + case QUEST_ERR_FAILED_WRONG_RACE: return { "QUEST_ERR_FAILED_WRONG_RACE", "QUEST_ERR_FAILED_WRONG_RACE", "\042That quest is not available to your race.\042" }; + case QUEST_ERR_ALREADY_DONE: return { "QUEST_ERR_ALREADY_DONE", "QUEST_ERR_ALREADY_DONE", "\042You have completed that daily quest today.\042" }; + case QUEST_ERR_ONLY_ONE_TIMED: return { "QUEST_ERR_ONLY_ONE_TIMED", "QUEST_ERR_ONLY_ONE_TIMED", "\042You can only be on one timed quest at a time\042" }; + case QUEST_ERR_ALREADY_ON1: return { "QUEST_ERR_ALREADY_ON1", "QUEST_ERR_ALREADY_ON1", "\042You are already on that quest\042" }; + case QUEST_ERR_FAILED_EXPANSION: return { "QUEST_ERR_FAILED_EXPANSION", "QUEST_ERR_FAILED_EXPANSION", "\042This quest requires an expansion enabled account.\042" }; + case QUEST_ERR_ALREADY_ON2: return { "QUEST_ERR_ALREADY_ON2", "QUEST_ERR_ALREADY_ON2", "\042You are already on that quest\042" }; + case QUEST_ERR_FAILED_MISSING_ITEMS: return { "QUEST_ERR_FAILED_MISSING_ITEMS", "QUEST_ERR_FAILED_MISSING_ITEMS", "\042You don't have the required items with you. Check storage.\042" }; + case QUEST_ERR_FAILED_NOT_ENOUGH_MONEY: return { "QUEST_ERR_FAILED_NOT_ENOUGH_MONEY", "QUEST_ERR_FAILED_NOT_ENOUGH_MONEY", "\042You don't have enough money for that quest\042" }; + case QUEST_ERR_FAILED_CAIS: return { "QUEST_ERR_FAILED_CAIS", "QUEST_ERR_FAILED_CAIS", "\042You cannot complete quests once you have reached tired time\042" }; + case QUEST_ERR_ALREADY_DONE_DAILY: return { "QUEST_ERR_ALREADY_DONE_DAILY", "QUEST_ERR_ALREADY_DONE_DAILY", "\042You have completed that daily quest today.\042" }; + case QUEST_ERR_FAILED_SPELL: return { "QUEST_ERR_FAILED_SPELL", "QUEST_ERR_FAILED_SPELL", "\042You haven't learned the required spell.\042" }; + case QUEST_ERR_HAS_IN_PROGRESS: return { "QUEST_ERR_HAS_IN_PROGRESS", "QUEST_ERR_HAS_IN_PROGRESS", "\042Progress Bar objective not completed\042" }; + default: throw std::out_of_range("value"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<QuestFailedReason>::Count() { return 14; } + +template <> +TC_API_EXPORT QuestFailedReason EnumUtils<QuestFailedReason>::FromIndex(size_t index) +{ + switch (index) + { + case 0: return QUEST_ERR_NONE; + case 1: return QUEST_ERR_FAILED_LOW_LEVEL; + case 2: return QUEST_ERR_FAILED_WRONG_RACE; + case 3: return QUEST_ERR_ALREADY_DONE; + case 4: return QUEST_ERR_ONLY_ONE_TIMED; + case 5: return QUEST_ERR_ALREADY_ON1; + case 6: return QUEST_ERR_FAILED_EXPANSION; + case 7: return QUEST_ERR_ALREADY_ON2; + case 8: return QUEST_ERR_FAILED_MISSING_ITEMS; + case 9: return QUEST_ERR_FAILED_NOT_ENOUGH_MONEY; + case 10: return QUEST_ERR_FAILED_CAIS; + case 11: return QUEST_ERR_ALREADY_DONE_DAILY; + case 12: return QUEST_ERR_FAILED_SPELL; + case 13: return QUEST_ERR_HAS_IN_PROGRESS; + default: throw std::out_of_range("index"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<QuestFailedReason>::ToIndex(QuestFailedReason value) +{ + switch (value) + { + case QUEST_ERR_NONE: return 0; + case QUEST_ERR_FAILED_LOW_LEVEL: return 1; + case QUEST_ERR_FAILED_WRONG_RACE: return 2; + case QUEST_ERR_ALREADY_DONE: return 3; + case QUEST_ERR_ONLY_ONE_TIMED: return 4; + case QUEST_ERR_ALREADY_ON1: return 5; + case QUEST_ERR_FAILED_EXPANSION: return 6; + case QUEST_ERR_ALREADY_ON2: return 7; + case QUEST_ERR_FAILED_MISSING_ITEMS: return 8; + case QUEST_ERR_FAILED_NOT_ENOUGH_MONEY: return 9; + case QUEST_ERR_FAILED_CAIS: return 10; + case QUEST_ERR_ALREADY_DONE_DAILY: return 11; + case QUEST_ERR_FAILED_SPELL: return 12; + case QUEST_ERR_HAS_IN_PROGRESS: return 13; + default: throw std::out_of_range("value"); + } +} + +/******************************************************************\ +|* data for enum 'QuestPushReason' in 'QuestDef.h' auto-generated *| +\******************************************************************/ +template <> +TC_API_EXPORT EnumText EnumUtils<QuestPushReason>::ToString(QuestPushReason value) +{ + switch (value) + { + case QuestPushReason::Success: return { "Success", "Success", "\042Sharing quest with %s...\042" }; + case QuestPushReason::Invalid: return { "Invalid", "Invalid", "\042%s is not eligible for that quest\042" }; + case QuestPushReason::InvalidToRecipient: return { "InvalidToRecipient", "InvalidToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are not eligible for that quest.\042" }; + case QuestPushReason::Accepted: return { "Accepted", "Accepted", "\042%s has accepted your quest\042" }; + case QuestPushReason::Declined: return { "Declined", "Declined", "\042%s has declined your quest\042" }; + case QuestPushReason::Busy: return { "Busy", "Busy", "\042%s is busy\042" }; + case QuestPushReason::Dead: return { "Dead", "Dead", "\042%s is dead.\042" }; + case QuestPushReason::DeadToRecipient: return { "DeadToRecipient", "DeadToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are dead.\042" }; + case QuestPushReason::LogFull: return { "LogFull", "LogFull", "\042%s's quest log is full\042" }; + case QuestPushReason::LogFullToRecipient: return { "LogFullToRecipient", "LogFullToRecipient", "\042%s's attempt to share quest \042%s\042 failed. Your quest log is full.\042" }; + case QuestPushReason::OnQuest: return { "OnQuest", "OnQuest", "\042%s is already on that quest\042" }; + case QuestPushReason::OnQuestToRecipient: return { "OnQuestToRecipient", "OnQuestToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are already on that quest.\042" }; + case QuestPushReason::AlreadyDone: return { "AlreadyDone", "AlreadyDone", "\042%s has completed that quest\042" }; + case QuestPushReason::AlreadyDoneToRecipient: return { "AlreadyDoneToRecipient", "AlreadyDoneToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You have completed that quest.\042" }; + case QuestPushReason::NotDaily: return { "NotDaily", "NotDaily", "\042That quest cannot be shared today\042" }; + case QuestPushReason::TimerExpired: return { "TimerExpired", "TimerExpired", "\042Quest sharing timer has expired\042" }; + case QuestPushReason::NotInParty: return { "NotInParty", "NotInParty", "\042You are not in a party\042" }; + case QuestPushReason::DifferentServerDaily: return { "DifferentServerDaily", "DifferentServerDaily", "\042%s is not eligible for that quest today\042" }; + case QuestPushReason::DifferentServerDailyToRecipient: return { "DifferentServerDailyToRecipient", "DifferentServerDailyToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are not eligible for that quest today.\042" }; + case QuestPushReason::NotAllowed: return { "NotAllowed", "NotAllowed", "\042That quest cannot be shared\042" }; + case QuestPushReason::Prerequisite: return { "Prerequisite", "Prerequisite", "\042%s hasn't completed all of the prerequisite quests required for that quest.\042" }; + case QuestPushReason::PrerequisiteToRecipient: return { "PrerequisiteToRecipient", "PrerequisiteToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You must complete all of the prerequisite quests first.\042" }; + case QuestPushReason::LowLevel: return { "LowLevel", "LowLevel", "\042%s is too low level for that quest.\042" }; + case QuestPushReason::LowLevelToRecipient: return { "LowLevelToRecipient", "LowLevelToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are too low level for that quest.\042" }; + case QuestPushReason::HighLevel: return { "HighLevel", "HighLevel", "\042%s is too high level for that quest.\042" }; + case QuestPushReason::HighLevelToRecipient: return { "HighLevelToRecipient", "HighLevelToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are too high level for that quest.\042" }; + case QuestPushReason::Class: return { "Class", "Class", "\042%s is the wrong class for that quest.\042" }; + case QuestPushReason::ClassToRecipient: return { "ClassToRecipient", "ClassToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are the wrong class for that quest.\042" }; + case QuestPushReason::Race: return { "Race", "Race", "\042%s is the wrong race for that quest.\042" }; + case QuestPushReason::RaceToRecipient: return { "RaceToRecipient", "RaceToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are the wrong race for that quest.\042" }; + case QuestPushReason::LowFaction: return { "LowFaction", "LowFaction", "\042%s's reputation is too low for that quest.\042" }; + case QuestPushReason::LowFactionToRecipient: return { "LowFactionToRecipient", "LowFactionToRecipient", "\042%s's attempt to share quest \042%s\042 failed. Your reputation is too low for that quest.\042" }; + case QuestPushReason::Expansion: return { "Expansion", "Expansion", "\042%s doesn't own the required expansion for that quest.\042" }; + case QuestPushReason::ExpansionToRecipient: return { "ExpansionToRecipient", "ExpansionToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You do not own the required expansion for that quest.\042" }; + case QuestPushReason::NotGarrisonOwner: return { "NotGarrisonOwner", "NotGarrisonOwner", "\042%s must own a garrison to accept that quest.\042" }; + case QuestPushReason::NotGarrisonOwnerToRecipient: return { "NotGarrisonOwnerToRecipient", "NotGarrisonOwnerToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You must own a garrison to accept that quest.\042" }; + case QuestPushReason::WrongCovenant: return { "WrongCovenant", "WrongCovenant", "\042%s is in the wrong covenant for that quest.\042" }; + case QuestPushReason::WrongCovenantToRecipient: return { "WrongCovenantToRecipient", "WrongCovenantToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are in the wrong covenant for that quest.\042" }; + case QuestPushReason::NewPlayerExperience: return { "NewPlayerExperience", "NewPlayerExperience", "\042%s must complete Exile's Reach to accept that quest.\042" }; + case QuestPushReason::NewPlayerExperienceToRecipient: return { "NewPlayerExperienceToRecipient", "NewPlayerExperienceToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You must complete Exile's Reach to accept that quest.\042" }; + case QuestPushReason::WrongFaction: return { "WrongFaction", "WrongFaction", "\042%s is the wrong faction for that quest.\042" }; + case QuestPushReason::WrongFactionToRecipient: return { "WrongFactionToRecipient", "WrongFactionToRecipient", "\042%s's attempt to share quest \042%s\042 failed. You are the wrong faction for that quest.\042" }; + default: throw std::out_of_range("value"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<QuestPushReason>::Count() { return 42; } + +template <> +TC_API_EXPORT QuestPushReason EnumUtils<QuestPushReason>::FromIndex(size_t index) +{ + switch (index) + { + case 0: return QuestPushReason::Success; + case 1: return QuestPushReason::Invalid; + case 2: return QuestPushReason::InvalidToRecipient; + case 3: return QuestPushReason::Accepted; + case 4: return QuestPushReason::Declined; + case 5: return QuestPushReason::Busy; + case 6: return QuestPushReason::Dead; + case 7: return QuestPushReason::DeadToRecipient; + case 8: return QuestPushReason::LogFull; + case 9: return QuestPushReason::LogFullToRecipient; + case 10: return QuestPushReason::OnQuest; + case 11: return QuestPushReason::OnQuestToRecipient; + case 12: return QuestPushReason::AlreadyDone; + case 13: return QuestPushReason::AlreadyDoneToRecipient; + case 14: return QuestPushReason::NotDaily; + case 15: return QuestPushReason::TimerExpired; + case 16: return QuestPushReason::NotInParty; + case 17: return QuestPushReason::DifferentServerDaily; + case 18: return QuestPushReason::DifferentServerDailyToRecipient; + case 19: return QuestPushReason::NotAllowed; + case 20: return QuestPushReason::Prerequisite; + case 21: return QuestPushReason::PrerequisiteToRecipient; + case 22: return QuestPushReason::LowLevel; + case 23: return QuestPushReason::LowLevelToRecipient; + case 24: return QuestPushReason::HighLevel; + case 25: return QuestPushReason::HighLevelToRecipient; + case 26: return QuestPushReason::Class; + case 27: return QuestPushReason::ClassToRecipient; + case 28: return QuestPushReason::Race; + case 29: return QuestPushReason::RaceToRecipient; + case 30: return QuestPushReason::LowFaction; + case 31: return QuestPushReason::LowFactionToRecipient; + case 32: return QuestPushReason::Expansion; + case 33: return QuestPushReason::ExpansionToRecipient; + case 34: return QuestPushReason::NotGarrisonOwner; + case 35: return QuestPushReason::NotGarrisonOwnerToRecipient; + case 36: return QuestPushReason::WrongCovenant; + case 37: return QuestPushReason::WrongCovenantToRecipient; + case 38: return QuestPushReason::NewPlayerExperience; + case 39: return QuestPushReason::NewPlayerExperienceToRecipient; + case 40: return QuestPushReason::WrongFaction; + case 41: return QuestPushReason::WrongFactionToRecipient; + default: throw std::out_of_range("index"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<QuestPushReason>::ToIndex(QuestPushReason value) +{ + switch (value) + { + case QuestPushReason::Success: return 0; + case QuestPushReason::Invalid: return 1; + case QuestPushReason::InvalidToRecipient: return 2; + case QuestPushReason::Accepted: return 3; + case QuestPushReason::Declined: return 4; + case QuestPushReason::Busy: return 5; + case QuestPushReason::Dead: return 6; + case QuestPushReason::DeadToRecipient: return 7; + case QuestPushReason::LogFull: return 8; + case QuestPushReason::LogFullToRecipient: return 9; + case QuestPushReason::OnQuest: return 10; + case QuestPushReason::OnQuestToRecipient: return 11; + case QuestPushReason::AlreadyDone: return 12; + case QuestPushReason::AlreadyDoneToRecipient: return 13; + case QuestPushReason::NotDaily: return 14; + case QuestPushReason::TimerExpired: return 15; + case QuestPushReason::NotInParty: return 16; + case QuestPushReason::DifferentServerDaily: return 17; + case QuestPushReason::DifferentServerDailyToRecipient: return 18; + case QuestPushReason::NotAllowed: return 19; + case QuestPushReason::Prerequisite: return 20; + case QuestPushReason::PrerequisiteToRecipient: return 21; + case QuestPushReason::LowLevel: return 22; + case QuestPushReason::LowLevelToRecipient: return 23; + case QuestPushReason::HighLevel: return 24; + case QuestPushReason::HighLevelToRecipient: return 25; + case QuestPushReason::Class: return 26; + case QuestPushReason::ClassToRecipient: return 27; + case QuestPushReason::Race: return 28; + case QuestPushReason::RaceToRecipient: return 29; + case QuestPushReason::LowFaction: return 30; + case QuestPushReason::LowFactionToRecipient: return 31; + case QuestPushReason::Expansion: return 32; + case QuestPushReason::ExpansionToRecipient: return 33; + case QuestPushReason::NotGarrisonOwner: return 34; + case QuestPushReason::NotGarrisonOwnerToRecipient: return 35; + case QuestPushReason::WrongCovenant: return 36; + case QuestPushReason::WrongCovenantToRecipient: return 37; + case QuestPushReason::NewPlayerExperience: return 38; + case QuestPushReason::NewPlayerExperienceToRecipient: return 39; + case QuestPushReason::WrongFaction: return 40; + case QuestPushReason::WrongFactionToRecipient: return 41; + default: throw std::out_of_range("value"); + } +} +} diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp index ce9d0952f73..0ab2286f3b5 100644 --- a/src/server/scripts/Commands/cs_debug.cpp +++ b/src/server/scripts/Commands/cs_debug.cpp @@ -27,6 +27,7 @@ EndScriptData */ #include "BattlefieldMgr.h" #include "BattlegroundMgr.h" #include "CellImpl.h" +#include "Channel.h" #include "ChannelPackets.h" #include "Chat.h" #include "ChatPackets.h" @@ -116,7 +117,6 @@ public: { "send", rbac::RBAC_PERM_COMMAND_DEBUG_SEND, false, nullptr, "", debugSendCommandTable }, { "setaurastate", rbac::RBAC_PERM_COMMAND_DEBUG_SETAURASTATE, false, &HandleDebugSetAuraStateCommand, "" }, { "spawnvehicle", rbac::RBAC_PERM_COMMAND_DEBUG_SPAWNVEHICLE, false, &HandleDebugSpawnVehicleCommand, "" }, - { "setvid", rbac::RBAC_PERM_COMMAND_DEBUG_SETVID, false, &HandleDebugSetVehicleIdCommand, "" }, { "entervehicle", rbac::RBAC_PERM_COMMAND_DEBUG_ENTERVEHICLE, false, &HandleDebugEnterVehicleCommand, "" }, { "worldstate", rbac::RBAC_PERM_COMMAND_DEBUG_WORLDSTATE, false, &HandleDebugUpdateWorldStateCommand, "" }, { "itemexpire", rbac::RBAC_PERM_COMMAND_DEBUG_ITEMEXPIRE, false, &HandleDebugItemExpireCommand, "" }, @@ -218,7 +218,7 @@ public: handler->PSendSysMessage(SZFMTD " waypoints dumped", flyByCameras->size()); } - handler->GetSession()->GetPlayer()->SendCinematicStart(cinematicId); + handler->GetPlayer()->SendCinematicStart(cinematicId); return true; } @@ -233,7 +233,7 @@ public: return false; } - handler->GetSession()->GetPlayer()->SendMovieStart(movieId); + handler->GetPlayer()->SendMovieStart(movieId); return true; } @@ -247,7 +247,7 @@ public: return false; } - Player* player = handler->GetSession()->GetPlayer(); + Player* player = handler->GetPlayer(); Unit* unit = handler->getSelectedUnit(); if (!unit) @@ -276,7 +276,7 @@ public: return false; } - Player* player = handler->GetSession()->GetPlayer(); + Player* player = handler->GetPlayer(); player->PlayDirectMusic(musicId, player); @@ -284,74 +284,41 @@ public: return true; } - static bool HandleDebugSendSpellFailCommand(ChatHandler* handler, char const* args) + static bool HandleDebugSendSpellFailCommand(ChatHandler* handler, SpellCastResult result, Optional<int32> failArg1, Optional<int32> failArg2) { - if (!*args) - return false; - - char* result = strtok((char*)args, " "); - if (!result) - return false; - - uint8 failNum = (uint8)atoi(result); - if (failNum == 0 && *result != '0') - return false; - - char* fail1 = strtok(nullptr, " "); - uint8 failArg1 = fail1 ? (uint8)atoi(fail1) : 0; - - char* fail2 = strtok(nullptr, " "); - uint8 failArg2 = fail2 ? (uint8)atoi(fail2) : 0; - WorldPackets::Spells::CastFailed castFailed; castFailed.CastID = ObjectGuid::Empty; castFailed.SpellID = 133; - castFailed.Reason = failNum; - castFailed.FailedArg1 = failArg1; - castFailed.FailedArg2 = failArg2; + castFailed.Reason = result; + castFailed.FailedArg1 = failArg1.value_or(-1); + castFailed.FailedArg2 = failArg2.value_or(-1); handler->GetSession()->SendPacket(castFailed.Write()); return true; } - static bool HandleDebugSendPlayerChoiceCommand(ChatHandler* handler, char const* args) - { - if (!*args) - return false; - - int32 choiceId = atoi(args); - Player* player = handler->GetSession()->GetPlayer(); + static bool HandleDebugSendPlayerChoiceCommand(ChatHandler* handler, int32 choiceId) + { + Player* player = handler->GetPlayer(); player->SendPlayerChoice(player->GetGUID(), choiceId); return true; } - static bool HandleDebugSendEquipErrorCommand(ChatHandler* handler, char const* args) + static bool HandleDebugSendEquipErrorCommand(ChatHandler* handler, InventoryResult error) { - if (!*args) - return false; - - InventoryResult msg = InventoryResult(atoi(args)); - handler->GetSession()->GetPlayer()->SendEquipError(msg, nullptr, nullptr); + handler->GetPlayer()->SendEquipError(error, nullptr, nullptr); return true; } - static bool HandleDebugSendSellErrorCommand(ChatHandler* handler, char const* args) + static bool HandleDebugSendSellErrorCommand(ChatHandler* handler, SellResult error) { - if (!*args) - return false; - - SellResult msg = SellResult(atoi(args)); - handler->GetSession()->GetPlayer()->SendSellError(msg, nullptr, ObjectGuid::Empty); + handler->GetPlayer()->SendSellError(error, nullptr, ObjectGuid::Empty); return true; } - static bool HandleDebugSendBuyErrorCommand(ChatHandler* handler, char const* args) + static bool HandleDebugSendBuyErrorCommand(ChatHandler* handler, BuyResult error) { - if (!*args) - return false; - - BuyResult msg = BuyResult(atoi(args)); - handler->GetSession()->GetPlayer()->SendBuyError(msg, nullptr, 0, 0); + handler->GetPlayer()->SendBuyError(error, nullptr, 0, 0); return true; } @@ -360,7 +327,7 @@ public: Unit* unit = handler->getSelectedUnit(); Player* player = nullptr; if (!unit || (unit->GetTypeId() != TYPEID_PLAYER)) - player = handler->GetSession()->GetPlayer(); + player = handler->GetPlayer(); else player = unit->ToPlayer(); @@ -508,13 +475,13 @@ public: static bool HandleDebugUpdateWorldStateCommand(ChatHandler* handler, uint32 variable, uint32 value) { - handler->GetSession()->GetPlayer()->SendUpdateWorldState(variable, value); + handler->GetPlayer()->SendUpdateWorldState(variable, value); return true; } static bool HandleDebugAreaTriggersCommand(ChatHandler* handler) { - Player* player = handler->GetSession()->GetPlayer(); + Player* player = handler->GetPlayer(); if (!player->isDebugAreaTriggers) { handler->PSendSysMessage(LANG_DEBUG_AREATRIGGER_ON); @@ -528,38 +495,26 @@ public: return true; } - static bool HandleDebugSendChannelNotifyCommand(ChatHandler* handler, char const* args) + static bool HandleDebugSendChannelNotifyCommand(ChatHandler* handler, ChatNotify type) { - if (!*args) - return false; - - char const* name = "test"; - uint8 code = atoi(args); - WorldPackets::Channel::ChannelNotify channelNotify; - channelNotify.Type = code; - channelNotify._Channel = name; + channelNotify.Type = type; + channelNotify._Channel = "test"; handler->GetSession()->SendPacket(channelNotify.Write()); return true; } - static bool HandleDebugSendChatMsgCommand(ChatHandler* handler, char const* args) + static bool HandleDebugSendChatMsgCommand(ChatHandler* handler, ChatMsg type) { - if (!*args) - return false; - - char const* msg = "testtest"; - uint8 type = atoi(args); WorldPackets::Chat::Chat packet; - packet.Initialize(ChatMsg(type), LANG_UNIVERSAL, handler->GetSession()->GetPlayer(), handler->GetSession()->GetPlayer(), msg, 0, "chan"); + packet.Initialize(type, LANG_UNIVERSAL, handler->GetPlayer(), handler->GetPlayer(), "testtest", 0, "chan"); handler->GetSession()->SendPacket(packet.Write()); return true; } - static bool HandleDebugSendQuestPartyMsgCommand(ChatHandler* handler, char const* args) + static bool HandleDebugSendQuestPartyMsgCommand(ChatHandler* handler, QuestPushReason msg) { - uint32 msg = atoul(args); - handler->GetSession()->GetPlayer()->SendPushToPartyResponse(handler->GetSession()->GetPlayer(), static_cast<QuestPushReason>(msg)); + handler->GetSession()->GetPlayer()->SendPushToPartyResponse(handler->GetPlayer(), msg); return true; } @@ -575,10 +530,9 @@ public: return true; } - static bool HandleDebugSendQuestInvalidMsgCommand(ChatHandler* handler, char const* args) + static bool HandleDebugSendQuestInvalidMsgCommand(ChatHandler* handler, QuestFailedReason msg) { - QuestFailedReason msg = static_cast<QuestFailedReason>(atoul(args)); - handler->GetSession()->GetPlayer()->SendCanTakeQuestResponse(msg); + handler->GetPlayer()->SendCanTakeQuestResponse(msg); return true; } @@ -605,7 +559,7 @@ public: Player* player = handler->getSelectedPlayer(); if (!player) - player = handler->GetSession()->GetPlayer(); + player = handler->GetPlayer(); if (!listQueue && !checkAll) { @@ -864,7 +818,7 @@ public: { Unit* target = handler->getSelectedUnit(); if (!target) - target = handler->GetSession()->GetPlayer(); + target = handler->GetPlayer(); ThreatManager& mgr = target->GetThreatManager(); if (!target->IsAlive()) @@ -1024,7 +978,7 @@ public: { Unit* target = handler->getSelectedUnit(); if (!target) - target = handler->GetSession()->GetPlayer(); + target = handler->GetPlayer(); handler->PSendSysMessage("Combat refs: (Combat state: %d | Manager state: %d)", target->IsInCombat(), target->GetCombatManager().HasCombat()); for (auto const& ref : target->GetCombatManager().GetPvPCombatRefs()) @@ -1040,25 +994,6 @@ public: return true; } - static bool HandleDebugSetVehicleIdCommand(ChatHandler* handler, char const* args) - { - Unit* target = handler->getSelectedUnit(); - if (!target || target->IsVehicle()) - return false; - - if (!args) - return false; - - char* i = strtok((char*)args, " "); - if (!i) - return false; - - uint32 id = atoul(i); - //target->SetVehicleId(id); - handler->PSendSysMessage("Vehicle id set to %u", id); - return true; - } - static bool HandleDebugEnterVehicleCommand(ChatHandler* handler, uint32 entry, Optional<int8> seatId) { Unit* target = handler->getSelectedUnit(); @@ -1069,13 +1004,13 @@ public: seatId = -1; if (!entry) - handler->GetSession()->GetPlayer()->EnterVehicle(target, *seatId); + handler->GetPlayer()->EnterVehicle(target, *seatId); else { Creature* passenger = nullptr; - Trinity::AllCreaturesOfEntryInRange check(handler->GetSession()->GetPlayer(), entry, 20.0f); - Trinity::CreatureSearcher<Trinity::AllCreaturesOfEntryInRange> searcher(handler->GetSession()->GetPlayer(), passenger, check); - Cell::VisitAllObjects(handler->GetSession()->GetPlayer(), searcher, 30.0f); + Trinity::AllCreaturesOfEntryInRange check(handler->GetPlayer(), entry, 20.0f); + Trinity::CreatureSearcher<Trinity::AllCreaturesOfEntryInRange> searcher(handler->GetPlayer(), passenger, check); + Cell::VisitAllObjects(handler->GetPlayer(), searcher, 30.0f); if (!passenger || passenger == target) return false; passenger->EnterVehicle(target, *seatId); @@ -1087,11 +1022,11 @@ public: static bool HandleDebugSpawnVehicleCommand(ChatHandler* handler, uint32 entry, Optional<uint32> id) { - float x, y, z, o = handler->GetSession()->GetPlayer()->GetOrientation(); - handler->GetSession()->GetPlayer()->GetClosePoint(x, y, z, handler->GetSession()->GetPlayer()->GetCombatReach()); + float x, y, z, o = handler->GetPlayer()->GetOrientation(); + handler->GetPlayer()->GetClosePoint(x, y, z, handler->GetPlayer()->GetCombatReach()); if (!id) - return handler->GetSession()->GetPlayer()->SummonCreature(entry, x, y, z, o) != nullptr; + return handler->GetPlayer()->SummonCreature(entry, x, y, z, o) != nullptr; CreatureTemplate const* ci = sObjectMgr->GetCreatureTemplate(entry); @@ -1103,14 +1038,14 @@ public: if (!ve) return false; - Map* map = handler->GetSession()->GetPlayer()->GetMap(); + Map* map = handler->GetPlayer()->GetMap(); Position pos = { x, y, z, o }; Creature* v = Creature::CreateCreature(entry, map, pos, *id); if (!v) return false; - PhasingHandler::InheritPhaseShift(v, handler->GetSession()->GetPlayer()); + PhasingHandler::InheritPhaseShift(v, handler->GetPlayer()); map->AddToMap(v); @@ -1119,10 +1054,9 @@ public: static bool HandleDebugSendLargePacketCommand(ChatHandler* handler) { - char const* stuffingString = "This is a dummy string to push the packet's size beyond 128000 bytes. "; std::ostringstream ss; while (ss.str().size() < 128000) - ss << stuffingString; + ss << "This is a dummy string to push the packet's size beyond 128000 bytes. "; handler->SendSysMessage(ss.str().c_str()); return true; } @@ -1146,13 +1080,13 @@ public: static bool HandleDebugItemExpireCommand(ChatHandler* handler, ObjectGuid::LowType guid) { - Item* i = handler->GetSession()->GetPlayer()->GetItemByGuid(ObjectGuid::Create<HighGuid::Item>(guid)); + Item* i = handler->GetPlayer()->GetItemByGuid(ObjectGuid::Create<HighGuid::Item>(guid)); if (!i) return false; - handler->GetSession()->GetPlayer()->DestroyItem(i->GetBagSlot(), i->GetSlot(), true); - sScriptMgr->OnItemExpire(handler->GetSession()->GetPlayer(), i->GetTemplate()); + handler->GetPlayer()->DestroyItem(i->GetBagSlot(), i->GetSlot(), true); + sScriptMgr->OnItemExpire(handler->GetPlayer(), i->GetTemplate()); return true; } @@ -1172,7 +1106,7 @@ public: { if (Unit* unit = handler->getSelectedUnit()) { - Player* player = handler->GetSession()->GetPlayer(); + Player* player = handler->GetPlayer(); handler->PSendSysMessage("Checking LoS %s -> %s:", player->GetName().c_str(), unit->GetName().c_str()); handler->PSendSysMessage(" VMAP LoS: %s", player->IsWithinLOSInMap(unit, LINEOFSIGHT_CHECK_VMAP) ? "clear" : "obstructed"); handler->PSendSysMessage(" GObj LoS: %s", player->IsWithinLOSInMap(unit, LINEOFSIGHT_CHECK_GOBJECT) ? "clear" : "obstructed"); @@ -1182,15 +1116,8 @@ public: return false; } - static bool HandleDebugSetAuraStateCommand(ChatHandler* handler, char const* args) + static bool HandleDebugSetAuraStateCommand(ChatHandler* handler, Optional<AuraStateType> state, bool apply) { - if (!*args) - { - handler->SendSysMessage(LANG_BAD_VALUE); - handler->SetSentErrorMessage(true); - return false; - } - Unit* unit = handler->getSelectedUnit(); if (!unit) { @@ -1199,47 +1126,36 @@ public: return false; } - int32 state = atoi((char*)args); if (!state) { // reset all states - for (int i = 1; i <= 32; ++i) - unit->ModifyAuraState(AuraStateType(i), false); + for (AuraStateType s : EnumUtils::Iterate<AuraStateType>()) + unit->ModifyAuraState(s, false); return true; } - unit->ModifyAuraState(AuraStateType(abs(state)), state > 0); + unit->ModifyAuraState(*state, apply); return true; } - static bool HandleDebugMoveflagsCommand(ChatHandler* handler, char const* args) + static bool HandleDebugMoveflagsCommand(ChatHandler* handler, Optional<uint32> moveFlags, Optional<uint32> moveFlagsExtra) { Unit* target = handler->getSelectedUnit(); if (!target) - target = handler->GetSession()->GetPlayer(); + target = handler->GetPlayer(); - if (!*args) + if (!moveFlags) { //! Display case handler->PSendSysMessage(LANG_MOVEFLAGS_GET, target->GetUnitMovementFlags(), target->GetExtraUnitMovementFlags()); } else { - char* mask1 = strtok((char*)args, " "); - if (!mask1) - return false; - - char* mask2 = strtok(nullptr, " \n"); - - uint32 moveFlags = (uint32)atoi(mask1); - target->SetUnitMovementFlags(moveFlags); - /// @fixme: port master's HandleDebugMoveflagsCommand; flags need different handling - if (mask2) + if (moveFlagsExtra) { - uint32 moveFlagsExtra = uint32(atoi(mask2)); - target->SetExtraUnitMovementFlags(moveFlagsExtra); + target->SetExtraUnitMovementFlags(*moveFlagsExtra); } if (target->GetTypeId() != TYPEID_PLAYER) @@ -1259,7 +1175,7 @@ public: static bool HandleWPGPSCommand(ChatHandler* handler) { - Player* player = handler->GetSession()->GetPlayer(); + Player* player = handler->GetPlayer(); TC_LOG_INFO("sql.dev", "(@PATH, XX, %.3f, %.3f, %.5f, %.5f, 0, 0, 0, 100, 0),", player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), player->GetOrientation()); @@ -1269,7 +1185,7 @@ public: static bool HandleDebugTransportCommand(ChatHandler* handler, std::string operation) { - Transport* transport = handler->GetSession()->GetPlayer()->GetTransport(); + Transport* transport = handler->GetPlayer()->GetTransport(); if (!transport) return false; @@ -1295,7 +1211,7 @@ public: static bool HandleDebugLoadCellsCommand(ChatHandler* handler, Optional<uint32> mapId) { - Player* player = handler->GetSession()->GetPlayer(); + Player* player = handler->GetPlayer(); if (!player) return false; @@ -1313,7 +1229,7 @@ public: static bool HandleDebugBoundaryCommand(ChatHandler* handler, Optional<ExactSequence<'f', 'i', 'l','l'>> fill, Optional<uint32> durationArg) { - Player* player = handler->GetSession()->GetPlayer(); + Player* player = handler->GetPlayer(); if (!player) return false; Creature* target = handler->getSelectedCreature(); @@ -1437,7 +1353,7 @@ public: static bool HandleDebugNearGraveyard(ChatHandler* handler, Optional<ExactSequence<'l', 'i', 'n', 'k', 'e', 'd'>> linked) { - Player* player = handler->GetSession()->GetPlayer(); + Player* player = handler->GetPlayer(); WorldSafeLocsEntry const* nearestLoc = nullptr; if (linked) @@ -1483,18 +1399,18 @@ public: return true; } - static bool HandleDebugInstanceSpawns(ChatHandler* handler, char const* args) + static bool HandleDebugInstanceSpawns(ChatHandler* handler, Variant<uint32, ExactSequence<'e', 'x', 'p', 'l', 'a', 'i', 'n'>> optArg) { - Player const* const player = handler->GetSession()->GetPlayer(); + Player const* const player = handler->GetPlayer(); if (!player) return false; bool explain = false; uint32 groupID = 0; - if (!stricmp(args, "explain")) + if (optArg.holds_alternative<ExactSequence<'e', 'x', 'p', 'l', 'a', 'i', 'n'>>()) explain = true; else - groupID = atoi(args); + groupID = optArg.get<uint32>(); if (groupID && !sObjectMgr->GetSpawnGroupData(groupID)) { @@ -1592,17 +1508,8 @@ public: return true; } - static bool HandleDebugConversationCommand(ChatHandler* handler, char const* args) + static bool HandleDebugConversationCommand(ChatHandler* handler, uint32 conversationEntry) { - if (!*args) - return false; - - char const* conversationEntryStr = strtok((char*)args, " "); - - if (!conversationEntryStr) - return false; - - uint32 conversationEntry = atoi(conversationEntryStr); Player* target = handler->getSelectedPlayerOrSelf(); if (!target) @@ -1615,17 +1522,8 @@ public: return Conversation::CreateConversation(conversationEntry, target, *target, target->GetGUID()) != nullptr; } - static bool HandleDebugWorldStateCommand(ChatHandler* handler, char const* args) + static bool HandleDebugWorldStateCommand(ChatHandler* handler, uint32 worldStateId, Optional<uint32> value) { - if (!*args) - return false; - - char const* worldStateIdStr = strtok((char*)args, " "); - char const* valueStr = args ? strtok(nullptr, " ") : nullptr; - - if (!worldStateIdStr) - return false; - Player* target = handler->getSelectedPlayerOrSelf(); if (!target) @@ -1635,13 +1533,10 @@ public: return false; } - uint32 worldStateId = atoi(worldStateIdStr); - uint32 value = valueStr ? atoi(valueStr) : 0; - if (value) { - sWorld->setWorldState(worldStateId, value); - target->SendUpdateWorldState(worldStateId, value); + sWorld->setWorldState(worldStateId, *value); + target->SendUpdateWorldState(worldStateId, *value); } else handler->PSendSysMessage("Worldstate %u actual value : %u", worldStateId, sWorld->getWorldState(worldStateId)); @@ -1649,17 +1544,8 @@ public: return true; } - static bool HandleDebugWSExpressionCommand(ChatHandler* handler, char const* args) + static bool HandleDebugWSExpressionCommand(ChatHandler* handler, uint32 expressionId) { - if (!*args) - return false; - - char const* expressionIdStr = strtok((char*)args, " "); - - if (!expressionIdStr) - return false; - - uint32 expressionId = atoi(expressionIdStr); Player* target = handler->getSelectedPlayerOrSelf(); if (!target) |