Scripts/Commands: Convert remaining debug commands (PR #25429)
(cherry picked from commit 062c55f1ab9c84396ce5b054945f5a908e3a354f)
This commit is contained in:
committed by
Shauren
parent
54fc62db52
commit
26f3c25dae
@@ -0,0 +1 @@
|
|||||||
|
DELETE FROM `command` WHERE name='debug setvid';
|
||||||
@@ -35,7 +35,8 @@ namespace WorldPackets
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enum ChatNotify
|
// EnumUtils: DESCRIBE THIS
|
||||||
|
enum ChatNotify : uint8
|
||||||
{
|
{
|
||||||
CHAT_JOINED_NOTICE = 0x00, //+ "%s joined channel.";
|
CHAT_JOINED_NOTICE = 0x00, //+ "%s joined channel.";
|
||||||
CHAT_LEFT_NOTICE = 0x01, //+ "%s left 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_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_ON_NOTICE = 0x22, //+ "[%s] Channel voice enabled by %s.";
|
||||||
CHAT_VOICE_OFF_NOTICE = 0x23, //+ "[%s] Channel voice disabled by %s.";
|
CHAT_VOICE_OFF_NOTICE = 0x23, //+ "[%s] Channel voice disabled by %s.";
|
||||||
CHAT_TRIAL_RESTRICTED = 0x24,
|
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
|
CHAT_NOT_ALLOWED_IN_CHANNEL = 0x25 //+ "That operation is not permitted in this channel."
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ChannelFlags
|
enum ChannelFlags
|
||||||
|
|||||||
@@ -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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
#include "Define.h"
|
#include "Define.h"
|
||||||
|
|
||||||
|
// EnumUtils: DESCRIBE THIS
|
||||||
enum InventoryResult : uint8
|
enum InventoryResult : uint8
|
||||||
{
|
{
|
||||||
EQUIP_ERR_OK = 0,
|
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.
|
EQUIP_ERR_NOT_IN_RATED_BATTLEGROUND = 111,// You can't do that in a rated battleground.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// EnumUtils: DESCRIBE THIS
|
||||||
enum BuyResult
|
enum BuyResult
|
||||||
{
|
{
|
||||||
BUY_ERR_CANT_FIND_ITEM = 0,
|
BUY_ERR_CANT_FIND_ITEM = 0,
|
||||||
@@ -149,15 +151,16 @@ enum BuyResult
|
|||||||
BUY_ERR_REPUTATION_REQUIRE = 12
|
BUY_ERR_REPUTATION_REQUIRE = 12
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// EnumUtils: DESCRIBE THIS
|
||||||
enum SellResult
|
enum SellResult
|
||||||
{
|
{
|
||||||
SELL_ERR_CANT_FIND_ITEM = 1, // The item was not found.
|
SELL_ERR_CANT_FIND_ITEM = 1, // DESCRIPTION The item was not found.
|
||||||
SELL_ERR_CANT_SELL_ITEM = 2, // The merchant doesn't want that item.
|
SELL_ERR_CANT_SELL_ITEM = 2, // DESCRIPTION The merchant doesn't want that item.
|
||||||
SELL_ERR_CANT_FIND_VENDOR = 3, // The merchant doesn't like you.
|
SELL_ERR_CANT_FIND_VENDOR = 3, // DESCRIPTION The merchant doesn't like you.
|
||||||
SELL_ERR_YOU_DONT_OWN_THAT_ITEM = 4, // You don't own that item.
|
SELL_ERR_YOU_DONT_OWN_THAT_ITEM = 4, // DESCRIPTION You don't own that item.
|
||||||
SELL_ERR_UNK = 5, // nothing appears...
|
SELL_ERR_UNK = 5, // DESCRIPTION nothing appears...
|
||||||
SELL_ERR_ONLY_EMPTY_BAG = 6, // You can only do that with empty bags.
|
SELL_ERR_ONLY_EMPTY_BAG = 6, // DESCRIPTION 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_SELL_TO_THIS_MERCHANT = 7 // DESCRIPTION You cannot sell items to this merchant.
|
||||||
};
|
};
|
||||||
|
|
||||||
// -1 from client enchantment slot number
|
// -1 from client enchantment slot number
|
||||||
|
|||||||
@@ -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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17417,23 +17417,23 @@ void Player::SendQuestReward(Quest const* quest, Creature const* questGiver, uin
|
|||||||
SendDirectMessage(packet.Write());
|
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;
|
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)
|
questGiverQuestFailed.Reason = reason; // failed reason (valid reasons: 4, 16, 50, 17, other values show default message)
|
||||||
SendDirectMessage(questGiverQuestFailed.Write());
|
SendDirectMessage(questGiverQuestFailed.Write());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::SendQuestTimerFailed(uint32 questID) const
|
void Player::SendQuestTimerFailed(uint32 questId) const
|
||||||
{
|
{
|
||||||
if (questID)
|
if (questId)
|
||||||
{
|
{
|
||||||
WorldPackets::Quest::QuestUpdateFailedTimer questUpdateFailedTimer;
|
WorldPackets::Quest::QuestUpdateFailedTimer questUpdateFailedTimer;
|
||||||
questUpdateFailedTimer.QuestID = questID;
|
questUpdateFailedTimer.QuestID = questId;
|
||||||
SendDirectMessage(questUpdateFailedTimer.Write());
|
SendDirectMessage(questUpdateFailedTimer.Write());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1622,8 +1622,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
|
|||||||
bool IsQuestObjectiveProgressBarComplete(uint16 slot, Quest const* quest) const;
|
bool IsQuestObjectiveProgressBarComplete(uint16 slot, Quest const* quest) const;
|
||||||
void SendQuestComplete(uint32 questId) const;
|
void SendQuestComplete(uint32 questId) const;
|
||||||
void SendQuestReward(Quest const* quest, Creature const* questGiver, uint32 xp, bool hideChatMessage) 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 SendQuestFailed(uint32 questId, InventoryResult reason = EQUIP_ERR_OK) const;
|
||||||
void SendQuestTimerFailed(uint32 questID) const;
|
void SendQuestTimerFailed(uint32 questId) const;
|
||||||
void SendCanTakeQuestResponse(QuestFailedReason reason, bool sendErrorMessage = true, std::string reasonText = "") const;
|
void SendCanTakeQuestResponse(QuestFailedReason reason, bool sendErrorMessage = true, std::string reasonText = "") const;
|
||||||
void SendQuestConfirmAccept(Quest const* quest, Player* receiver) const;
|
void SendQuestConfirmAccept(Quest const* quest, Player* receiver) const;
|
||||||
void SendPushToPartyResponse(Player const* player, QuestPushReason reason, Quest const* quest = nullptr) const;
|
void SendPushToPartyResponse(Player const* player, QuestPushReason reason, Quest const* quest = nullptr) const;
|
||||||
|
|||||||
@@ -1422,6 +1422,7 @@ enum SpellEffectName
|
|||||||
TOTAL_SPELL_EFFECTS
|
TOTAL_SPELL_EFFECTS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// EnumUtils: DESCRIBE THIS
|
||||||
enum SpellCastResult
|
enum SpellCastResult
|
||||||
{
|
{
|
||||||
SPELL_FAILED_SUCCESS = 0,
|
SPELL_FAILED_SUCCESS = 0,
|
||||||
@@ -1740,7 +1741,7 @@ enum SpellCastResult
|
|||||||
SPELL_FAILED_UNKNOWN = 313,
|
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)
|
// 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
|
enum SpellCustomErrors
|
||||||
@@ -2381,6 +2382,7 @@ enum GhostVisibilityType
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Spell aura states
|
// Spell aura states
|
||||||
|
// EnumUtils: DESCRIBE THIS
|
||||||
enum AuraStateType
|
enum AuraStateType
|
||||||
{ // (C) used in caster aura state (T) used in target aura state
|
{ // (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
|
// (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
|
#define MAX_WEATHER_TYPE 4
|
||||||
|
|
||||||
|
// EnumUtils: DESCRIBE THIS
|
||||||
enum ChatMsg : int32
|
enum ChatMsg : int32
|
||||||
{
|
{
|
||||||
CHAT_MSG_ADDON = -1,
|
CHAT_MSG_ADDON = -1,
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -50,24 +50,26 @@ namespace WorldPackets
|
|||||||
#define QUEST_REWARD_CURRENCY_COUNT 4
|
#define QUEST_REWARD_CURRENCY_COUNT 4
|
||||||
#define QUEST_REWARD_DISPLAY_SPELL_COUNT 3
|
#define QUEST_REWARD_DISPLAY_SPELL_COUNT 3
|
||||||
|
|
||||||
enum QuestFailedReason
|
// EnumUtils: DESCRIBE THIS
|
||||||
|
enum QuestFailedReason : uint32
|
||||||
{
|
{
|
||||||
QUEST_ERR_NONE = 0,
|
QUEST_ERR_NONE = 0,
|
||||||
QUEST_ERR_FAILED_LOW_LEVEL = 1, // "You are not high enough level for that quest.""
|
QUEST_ERR_FAILED_LOW_LEVEL = 1, // DESCRIPTION "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_FAILED_WRONG_RACE = 6, // DESCRIPTION "That quest is not available to your race."
|
||||||
QUEST_ERR_ALREADY_DONE = 7, // "You have completed that daily quest today."
|
QUEST_ERR_ALREADY_DONE = 7, // DESCRIPTION "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_ONLY_ONE_TIMED = 12, // DESCRIPTION "You can only be on one timed quest at a time"
|
||||||
QUEST_ERR_ALREADY_ON1 = 13, // "You are already on that quest"
|
QUEST_ERR_ALREADY_ON1 = 13, // DESCRIPTION "You are already on that quest"
|
||||||
QUEST_ERR_FAILED_EXPANSION = 16, // "This quest requires an expansion enabled account."
|
QUEST_ERR_FAILED_EXPANSION = 16, // DESCRIPTION "This quest requires an expansion enabled account."
|
||||||
QUEST_ERR_ALREADY_ON2 = 18, // "You are already on that quest"
|
QUEST_ERR_ALREADY_ON2 = 18, // DESCRIPTION "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_MISSING_ITEMS = 21, // DESCRIPTION "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_NOT_ENOUGH_MONEY = 23, // DESCRIPTION "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_FAILED_CAIS = 24, // DESCRIPTION "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_ALREADY_DONE_DAILY = 26, // DESCRIPTION "You have completed that daily quest today."
|
||||||
QUEST_ERR_FAILED_SPELL = 28, // "You haven't learned the required spell."
|
QUEST_ERR_FAILED_SPELL = 28, // DESCRIPTION "You haven't learned the required spell."
|
||||||
QUEST_ERR_HAS_IN_PROGRESS = 30 // "Progress Bar objective not completed"
|
QUEST_ERR_HAS_IN_PROGRESS = 30 // DESCRIPTION "Progress Bar objective not completed"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// EnumUtils: DESCRIBE THIS
|
||||||
enum class QuestPushReason : uint8
|
enum class QuestPushReason : uint8
|
||||||
{
|
{
|
||||||
Success = 0, // "Sharing quest with %s..."
|
Success = 0, // "Sharing quest with %s..."
|
||||||
|
|||||||
@@ -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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -27,6 +27,7 @@ EndScriptData */
|
|||||||
#include "BattlefieldMgr.h"
|
#include "BattlefieldMgr.h"
|
||||||
#include "BattlegroundMgr.h"
|
#include "BattlegroundMgr.h"
|
||||||
#include "CellImpl.h"
|
#include "CellImpl.h"
|
||||||
|
#include "Channel.h"
|
||||||
#include "ChannelPackets.h"
|
#include "ChannelPackets.h"
|
||||||
#include "Chat.h"
|
#include "Chat.h"
|
||||||
#include "ChatPackets.h"
|
#include "ChatPackets.h"
|
||||||
@@ -116,7 +117,6 @@ public:
|
|||||||
{ "send", rbac::RBAC_PERM_COMMAND_DEBUG_SEND, false, nullptr, "", debugSendCommandTable },
|
{ "send", rbac::RBAC_PERM_COMMAND_DEBUG_SEND, false, nullptr, "", debugSendCommandTable },
|
||||||
{ "setaurastate", rbac::RBAC_PERM_COMMAND_DEBUG_SETAURASTATE, false, &HandleDebugSetAuraStateCommand, "" },
|
{ "setaurastate", rbac::RBAC_PERM_COMMAND_DEBUG_SETAURASTATE, false, &HandleDebugSetAuraStateCommand, "" },
|
||||||
{ "spawnvehicle", rbac::RBAC_PERM_COMMAND_DEBUG_SPAWNVEHICLE, false, &HandleDebugSpawnVehicleCommand, "" },
|
{ "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, "" },
|
{ "entervehicle", rbac::RBAC_PERM_COMMAND_DEBUG_ENTERVEHICLE, false, &HandleDebugEnterVehicleCommand, "" },
|
||||||
{ "worldstate", rbac::RBAC_PERM_COMMAND_DEBUG_WORLDSTATE, false, &HandleDebugUpdateWorldStateCommand, "" },
|
{ "worldstate", rbac::RBAC_PERM_COMMAND_DEBUG_WORLDSTATE, false, &HandleDebugUpdateWorldStateCommand, "" },
|
||||||
{ "itemexpire", rbac::RBAC_PERM_COMMAND_DEBUG_ITEMEXPIRE, false, &HandleDebugItemExpireCommand, "" },
|
{ "itemexpire", rbac::RBAC_PERM_COMMAND_DEBUG_ITEMEXPIRE, false, &HandleDebugItemExpireCommand, "" },
|
||||||
@@ -218,7 +218,7 @@ public:
|
|||||||
handler->PSendSysMessage(SZFMTD " waypoints dumped", flyByCameras->size());
|
handler->PSendSysMessage(SZFMTD " waypoints dumped", flyByCameras->size());
|
||||||
}
|
}
|
||||||
|
|
||||||
handler->GetSession()->GetPlayer()->SendCinematicStart(cinematicId);
|
handler->GetPlayer()->SendCinematicStart(cinematicId);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -233,7 +233,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
handler->GetSession()->GetPlayer()->SendMovieStart(movieId);
|
handler->GetPlayer()->SendMovieStart(movieId);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -247,7 +247,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Player* player = handler->GetSession()->GetPlayer();
|
Player* player = handler->GetPlayer();
|
||||||
|
|
||||||
Unit* unit = handler->getSelectedUnit();
|
Unit* unit = handler->getSelectedUnit();
|
||||||
if (!unit)
|
if (!unit)
|
||||||
@@ -276,7 +276,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Player* player = handler->GetSession()->GetPlayer();
|
Player* player = handler->GetPlayer();
|
||||||
|
|
||||||
player->PlayDirectMusic(musicId, player);
|
player->PlayDirectMusic(musicId, player);
|
||||||
|
|
||||||
@@ -284,74 +284,41 @@ public:
|
|||||||
return true;
|
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;
|
WorldPackets::Spells::CastFailed castFailed;
|
||||||
castFailed.CastID = ObjectGuid::Empty;
|
castFailed.CastID = ObjectGuid::Empty;
|
||||||
castFailed.SpellID = 133;
|
castFailed.SpellID = 133;
|
||||||
castFailed.Reason = failNum;
|
castFailed.Reason = result;
|
||||||
castFailed.FailedArg1 = failArg1;
|
castFailed.FailedArg1 = failArg1.value_or(-1);
|
||||||
castFailed.FailedArg2 = failArg2;
|
castFailed.FailedArg2 = failArg2.value_or(-1);
|
||||||
handler->GetSession()->SendPacket(castFailed.Write());
|
handler->GetSession()->SendPacket(castFailed.Write());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
static bool HandleDebugSendPlayerChoiceCommand(ChatHandler* handler, char const* args)
|
|
||||||
|
static bool HandleDebugSendPlayerChoiceCommand(ChatHandler* handler, int32 choiceId)
|
||||||
{
|
{
|
||||||
if (!*args)
|
Player* player = handler->GetPlayer();
|
||||||
return false;
|
|
||||||
|
|
||||||
int32 choiceId = atoi(args);
|
|
||||||
Player* player = handler->GetSession()->GetPlayer();
|
|
||||||
|
|
||||||
player->SendPlayerChoice(player->GetGUID(), choiceId);
|
player->SendPlayerChoice(player->GetGUID(), choiceId);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool HandleDebugSendEquipErrorCommand(ChatHandler* handler, char const* args)
|
static bool HandleDebugSendEquipErrorCommand(ChatHandler* handler, InventoryResult error)
|
||||||
{
|
{
|
||||||
if (!*args)
|
handler->GetPlayer()->SendEquipError(error, nullptr, nullptr);
|
||||||
return false;
|
|
||||||
|
|
||||||
InventoryResult msg = InventoryResult(atoi(args));
|
|
||||||
handler->GetSession()->GetPlayer()->SendEquipError(msg, nullptr, nullptr);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool HandleDebugSendSellErrorCommand(ChatHandler* handler, char const* args)
|
static bool HandleDebugSendSellErrorCommand(ChatHandler* handler, SellResult error)
|
||||||
{
|
{
|
||||||
if (!*args)
|
handler->GetPlayer()->SendSellError(error, nullptr, ObjectGuid::Empty);
|
||||||
return false;
|
|
||||||
|
|
||||||
SellResult msg = SellResult(atoi(args));
|
|
||||||
handler->GetSession()->GetPlayer()->SendSellError(msg, nullptr, ObjectGuid::Empty);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool HandleDebugSendBuyErrorCommand(ChatHandler* handler, char const* args)
|
static bool HandleDebugSendBuyErrorCommand(ChatHandler* handler, BuyResult error)
|
||||||
{
|
{
|
||||||
if (!*args)
|
handler->GetPlayer()->SendBuyError(error, nullptr, 0, 0);
|
||||||
return false;
|
|
||||||
|
|
||||||
BuyResult msg = BuyResult(atoi(args));
|
|
||||||
handler->GetSession()->GetPlayer()->SendBuyError(msg, nullptr, 0, 0);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -360,7 +327,7 @@ public:
|
|||||||
Unit* unit = handler->getSelectedUnit();
|
Unit* unit = handler->getSelectedUnit();
|
||||||
Player* player = nullptr;
|
Player* player = nullptr;
|
||||||
if (!unit || (unit->GetTypeId() != TYPEID_PLAYER))
|
if (!unit || (unit->GetTypeId() != TYPEID_PLAYER))
|
||||||
player = handler->GetSession()->GetPlayer();
|
player = handler->GetPlayer();
|
||||||
else
|
else
|
||||||
player = unit->ToPlayer();
|
player = unit->ToPlayer();
|
||||||
|
|
||||||
@@ -508,13 +475,13 @@ public:
|
|||||||
|
|
||||||
static bool HandleDebugUpdateWorldStateCommand(ChatHandler* handler, uint32 variable, uint32 value)
|
static bool HandleDebugUpdateWorldStateCommand(ChatHandler* handler, uint32 variable, uint32 value)
|
||||||
{
|
{
|
||||||
handler->GetSession()->GetPlayer()->SendUpdateWorldState(variable, value);
|
handler->GetPlayer()->SendUpdateWorldState(variable, value);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool HandleDebugAreaTriggersCommand(ChatHandler* handler)
|
static bool HandleDebugAreaTriggersCommand(ChatHandler* handler)
|
||||||
{
|
{
|
||||||
Player* player = handler->GetSession()->GetPlayer();
|
Player* player = handler->GetPlayer();
|
||||||
if (!player->isDebugAreaTriggers)
|
if (!player->isDebugAreaTriggers)
|
||||||
{
|
{
|
||||||
handler->PSendSysMessage(LANG_DEBUG_AREATRIGGER_ON);
|
handler->PSendSysMessage(LANG_DEBUG_AREATRIGGER_ON);
|
||||||
@@ -528,38 +495,26 @@ public:
|
|||||||
return true;
|
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;
|
WorldPackets::Channel::ChannelNotify channelNotify;
|
||||||
channelNotify.Type = code;
|
channelNotify.Type = type;
|
||||||
channelNotify._Channel = name;
|
channelNotify._Channel = "test";
|
||||||
handler->GetSession()->SendPacket(channelNotify.Write());
|
handler->GetSession()->SendPacket(channelNotify.Write());
|
||||||
return true;
|
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;
|
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());
|
handler->GetSession()->SendPacket(packet.Write());
|
||||||
return true;
|
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->GetPlayer(), msg);
|
||||||
handler->GetSession()->GetPlayer()->SendPushToPartyResponse(handler->GetSession()->GetPlayer(), static_cast<QuestPushReason>(msg));
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -575,10 +530,9 @@ public:
|
|||||||
return true;
|
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->GetPlayer()->SendCanTakeQuestResponse(msg);
|
||||||
handler->GetSession()->GetPlayer()->SendCanTakeQuestResponse(msg);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -605,7 +559,7 @@ public:
|
|||||||
|
|
||||||
Player* player = handler->getSelectedPlayer();
|
Player* player = handler->getSelectedPlayer();
|
||||||
if (!player)
|
if (!player)
|
||||||
player = handler->GetSession()->GetPlayer();
|
player = handler->GetPlayer();
|
||||||
|
|
||||||
if (!listQueue && !checkAll)
|
if (!listQueue && !checkAll)
|
||||||
{
|
{
|
||||||
@@ -864,7 +818,7 @@ public:
|
|||||||
{
|
{
|
||||||
Unit* target = handler->getSelectedUnit();
|
Unit* target = handler->getSelectedUnit();
|
||||||
if (!target)
|
if (!target)
|
||||||
target = handler->GetSession()->GetPlayer();
|
target = handler->GetPlayer();
|
||||||
|
|
||||||
ThreatManager& mgr = target->GetThreatManager();
|
ThreatManager& mgr = target->GetThreatManager();
|
||||||
if (!target->IsAlive())
|
if (!target->IsAlive())
|
||||||
@@ -1024,7 +978,7 @@ public:
|
|||||||
{
|
{
|
||||||
Unit* target = handler->getSelectedUnit();
|
Unit* target = handler->getSelectedUnit();
|
||||||
if (!target)
|
if (!target)
|
||||||
target = handler->GetSession()->GetPlayer();
|
target = handler->GetPlayer();
|
||||||
|
|
||||||
handler->PSendSysMessage("Combat refs: (Combat state: %d | Manager state: %d)", target->IsInCombat(), target->GetCombatManager().HasCombat());
|
handler->PSendSysMessage("Combat refs: (Combat state: %d | Manager state: %d)", target->IsInCombat(), target->GetCombatManager().HasCombat());
|
||||||
for (auto const& ref : target->GetCombatManager().GetPvPCombatRefs())
|
for (auto const& ref : target->GetCombatManager().GetPvPCombatRefs())
|
||||||
@@ -1040,25 +994,6 @@ public:
|
|||||||
return true;
|
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)
|
static bool HandleDebugEnterVehicleCommand(ChatHandler* handler, uint32 entry, Optional<int8> seatId)
|
||||||
{
|
{
|
||||||
Unit* target = handler->getSelectedUnit();
|
Unit* target = handler->getSelectedUnit();
|
||||||
@@ -1069,13 +1004,13 @@ public:
|
|||||||
seatId = -1;
|
seatId = -1;
|
||||||
|
|
||||||
if (!entry)
|
if (!entry)
|
||||||
handler->GetSession()->GetPlayer()->EnterVehicle(target, *seatId);
|
handler->GetPlayer()->EnterVehicle(target, *seatId);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Creature* passenger = nullptr;
|
Creature* passenger = nullptr;
|
||||||
Trinity::AllCreaturesOfEntryInRange check(handler->GetSession()->GetPlayer(), entry, 20.0f);
|
Trinity::AllCreaturesOfEntryInRange check(handler->GetPlayer(), entry, 20.0f);
|
||||||
Trinity::CreatureSearcher<Trinity::AllCreaturesOfEntryInRange> searcher(handler->GetSession()->GetPlayer(), passenger, check);
|
Trinity::CreatureSearcher<Trinity::AllCreaturesOfEntryInRange> searcher(handler->GetPlayer(), passenger, check);
|
||||||
Cell::VisitAllObjects(handler->GetSession()->GetPlayer(), searcher, 30.0f);
|
Cell::VisitAllObjects(handler->GetPlayer(), searcher, 30.0f);
|
||||||
if (!passenger || passenger == target)
|
if (!passenger || passenger == target)
|
||||||
return false;
|
return false;
|
||||||
passenger->EnterVehicle(target, *seatId);
|
passenger->EnterVehicle(target, *seatId);
|
||||||
@@ -1087,11 +1022,11 @@ public:
|
|||||||
|
|
||||||
static bool HandleDebugSpawnVehicleCommand(ChatHandler* handler, uint32 entry, Optional<uint32> id)
|
static bool HandleDebugSpawnVehicleCommand(ChatHandler* handler, uint32 entry, Optional<uint32> id)
|
||||||
{
|
{
|
||||||
float x, y, z, o = handler->GetSession()->GetPlayer()->GetOrientation();
|
float x, y, z, o = handler->GetPlayer()->GetOrientation();
|
||||||
handler->GetSession()->GetPlayer()->GetClosePoint(x, y, z, handler->GetSession()->GetPlayer()->GetCombatReach());
|
handler->GetPlayer()->GetClosePoint(x, y, z, handler->GetPlayer()->GetCombatReach());
|
||||||
|
|
||||||
if (!id)
|
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);
|
CreatureTemplate const* ci = sObjectMgr->GetCreatureTemplate(entry);
|
||||||
|
|
||||||
@@ -1103,14 +1038,14 @@ public:
|
|||||||
if (!ve)
|
if (!ve)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
Map* map = handler->GetSession()->GetPlayer()->GetMap();
|
Map* map = handler->GetPlayer()->GetMap();
|
||||||
Position pos = { x, y, z, o };
|
Position pos = { x, y, z, o };
|
||||||
|
|
||||||
Creature* v = Creature::CreateCreature(entry, map, pos, *id);
|
Creature* v = Creature::CreateCreature(entry, map, pos, *id);
|
||||||
if (!v)
|
if (!v)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
PhasingHandler::InheritPhaseShift(v, handler->GetSession()->GetPlayer());
|
PhasingHandler::InheritPhaseShift(v, handler->GetPlayer());
|
||||||
|
|
||||||
map->AddToMap(v);
|
map->AddToMap(v);
|
||||||
|
|
||||||
@@ -1119,10 +1054,9 @@ public:
|
|||||||
|
|
||||||
static bool HandleDebugSendLargePacketCommand(ChatHandler* handler)
|
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;
|
std::ostringstream ss;
|
||||||
while (ss.str().size() < 128000)
|
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());
|
handler->SendSysMessage(ss.str().c_str());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -1146,13 +1080,13 @@ public:
|
|||||||
|
|
||||||
static bool HandleDebugItemExpireCommand(ChatHandler* handler, ObjectGuid::LowType guid)
|
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)
|
if (!i)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
handler->GetSession()->GetPlayer()->DestroyItem(i->GetBagSlot(), i->GetSlot(), true);
|
handler->GetPlayer()->DestroyItem(i->GetBagSlot(), i->GetSlot(), true);
|
||||||
sScriptMgr->OnItemExpire(handler->GetSession()->GetPlayer(), i->GetTemplate());
|
sScriptMgr->OnItemExpire(handler->GetPlayer(), i->GetTemplate());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -1172,7 +1106,7 @@ public:
|
|||||||
{
|
{
|
||||||
if (Unit* unit = handler->getSelectedUnit())
|
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("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(" VMAP LoS: %s", player->IsWithinLOSInMap(unit, LINEOFSIGHT_CHECK_VMAP) ? "clear" : "obstructed");
|
||||||
handler->PSendSysMessage(" GObj LoS: %s", player->IsWithinLOSInMap(unit, LINEOFSIGHT_CHECK_GOBJECT) ? "clear" : "obstructed");
|
handler->PSendSysMessage(" GObj LoS: %s", player->IsWithinLOSInMap(unit, LINEOFSIGHT_CHECK_GOBJECT) ? "clear" : "obstructed");
|
||||||
@@ -1182,15 +1116,8 @@ public:
|
|||||||
return false;
|
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();
|
Unit* unit = handler->getSelectedUnit();
|
||||||
if (!unit)
|
if (!unit)
|
||||||
{
|
{
|
||||||
@@ -1199,47 +1126,36 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32 state = atoi((char*)args);
|
|
||||||
if (!state)
|
if (!state)
|
||||||
{
|
{
|
||||||
// reset all states
|
// reset all states
|
||||||
for (int i = 1; i <= 32; ++i)
|
for (AuraStateType s : EnumUtils::Iterate<AuraStateType>())
|
||||||
unit->ModifyAuraState(AuraStateType(i), false);
|
unit->ModifyAuraState(s, false);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
unit->ModifyAuraState(AuraStateType(abs(state)), state > 0);
|
unit->ModifyAuraState(*state, apply);
|
||||||
return true;
|
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();
|
Unit* target = handler->getSelectedUnit();
|
||||||
if (!target)
|
if (!target)
|
||||||
target = handler->GetSession()->GetPlayer();
|
target = handler->GetPlayer();
|
||||||
|
|
||||||
if (!*args)
|
if (!moveFlags)
|
||||||
{
|
{
|
||||||
//! Display case
|
//! Display case
|
||||||
handler->PSendSysMessage(LANG_MOVEFLAGS_GET, target->GetUnitMovementFlags(), target->GetExtraUnitMovementFlags());
|
handler->PSendSysMessage(LANG_MOVEFLAGS_GET, target->GetUnitMovementFlags(), target->GetExtraUnitMovementFlags());
|
||||||
}
|
}
|
||||||
else
|
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
|
/// @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)
|
if (target->GetTypeId() != TYPEID_PLAYER)
|
||||||
@@ -1259,7 +1175,7 @@ public:
|
|||||||
|
|
||||||
static bool HandleWPGPSCommand(ChatHandler* handler)
|
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());
|
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)
|
static bool HandleDebugTransportCommand(ChatHandler* handler, std::string operation)
|
||||||
{
|
{
|
||||||
Transport* transport = handler->GetSession()->GetPlayer()->GetTransport();
|
Transport* transport = handler->GetPlayer()->GetTransport();
|
||||||
if (!transport)
|
if (!transport)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@@ -1295,7 +1211,7 @@ public:
|
|||||||
|
|
||||||
static bool HandleDebugLoadCellsCommand(ChatHandler* handler, Optional<uint32> mapId)
|
static bool HandleDebugLoadCellsCommand(ChatHandler* handler, Optional<uint32> mapId)
|
||||||
{
|
{
|
||||||
Player* player = handler->GetSession()->GetPlayer();
|
Player* player = handler->GetPlayer();
|
||||||
if (!player)
|
if (!player)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@@ -1313,7 +1229,7 @@ public:
|
|||||||
|
|
||||||
static bool HandleDebugBoundaryCommand(ChatHandler* handler, Optional<ExactSequence<'f', 'i', 'l','l'>> fill, Optional<uint32> durationArg)
|
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)
|
if (!player)
|
||||||
return false;
|
return false;
|
||||||
Creature* target = handler->getSelectedCreature();
|
Creature* target = handler->getSelectedCreature();
|
||||||
@@ -1437,7 +1353,7 @@ public:
|
|||||||
|
|
||||||
static bool HandleDebugNearGraveyard(ChatHandler* handler, Optional<ExactSequence<'l', 'i', 'n', 'k', 'e', 'd'>> linked)
|
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;
|
WorldSafeLocsEntry const* nearestLoc = nullptr;
|
||||||
|
|
||||||
if (linked)
|
if (linked)
|
||||||
@@ -1483,18 +1399,18 @@ public:
|
|||||||
return true;
|
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)
|
if (!player)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
bool explain = false;
|
bool explain = false;
|
||||||
uint32 groupID = 0;
|
uint32 groupID = 0;
|
||||||
if (!stricmp(args, "explain"))
|
if (optArg.holds_alternative<ExactSequence<'e', 'x', 'p', 'l', 'a', 'i', 'n'>>())
|
||||||
explain = true;
|
explain = true;
|
||||||
else
|
else
|
||||||
groupID = atoi(args);
|
groupID = optArg.get<uint32>();
|
||||||
|
|
||||||
if (groupID && !sObjectMgr->GetSpawnGroupData(groupID))
|
if (groupID && !sObjectMgr->GetSpawnGroupData(groupID))
|
||||||
{
|
{
|
||||||
@@ -1592,17 +1508,8 @@ public:
|
|||||||
return true;
|
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();
|
Player* target = handler->getSelectedPlayerOrSelf();
|
||||||
|
|
||||||
if (!target)
|
if (!target)
|
||||||
@@ -1615,17 +1522,8 @@ public:
|
|||||||
return Conversation::CreateConversation(conversationEntry, target, *target, target->GetGUID()) != nullptr;
|
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();
|
Player* target = handler->getSelectedPlayerOrSelf();
|
||||||
|
|
||||||
if (!target)
|
if (!target)
|
||||||
@@ -1635,13 +1533,10 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32 worldStateId = atoi(worldStateIdStr);
|
|
||||||
uint32 value = valueStr ? atoi(valueStr) : 0;
|
|
||||||
|
|
||||||
if (value)
|
if (value)
|
||||||
{
|
{
|
||||||
sWorld->setWorldState(worldStateId, value);
|
sWorld->setWorldState(worldStateId, *value);
|
||||||
target->SendUpdateWorldState(worldStateId, value);
|
target->SendUpdateWorldState(worldStateId, *value);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
handler->PSendSysMessage("Worldstate %u actual value : %u", worldStateId, sWorld->getWorldState(worldStateId));
|
handler->PSendSysMessage("Worldstate %u actual value : %u", worldStateId, sWorld->getWorldState(worldStateId));
|
||||||
@@ -1649,17 +1544,8 @@ public:
|
|||||||
return true;
|
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();
|
Player* target = handler->getSelectedPlayerOrSelf();
|
||||||
|
|
||||||
if (!target)
|
if (!target)
|
||||||
|
|||||||
Reference in New Issue
Block a user