mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-25 22:56:24 +00:00
feat(Core/EnumUtils): add more enum for support chat command (#8828)
This commit is contained in:
@@ -39,9 +39,10 @@
|
||||
|
||||
#define MAX_EQUIPMENT_ITEMS 3
|
||||
|
||||
// TODO: Implement missing flags from TC in places that custom flags from xinef&pussywizzard use flag values.
|
||||
// EnumUtils: DESCRIBE THIS
|
||||
enum CreatureFlagsExtra : uint32
|
||||
{
|
||||
// TODO: Implement missing flags from TC in places that custom flags from xinef&pussywizzard use flag values.
|
||||
CREATURE_FLAG_EXTRA_INSTANCE_BIND = 0x00000001, // creature kill bind instance with killer and killer's group
|
||||
CREATURE_FLAG_EXTRA_CIVILIAN = 0x00000002, // not aggro (ignore faction/reputation hostility)
|
||||
CREATURE_FLAG_EXTRA_NO_PARRY = 0x00000004, // creature can't parry
|
||||
@@ -51,7 +52,7 @@ enum CreatureFlagsExtra : uint32
|
||||
CREATURE_FLAG_EXTRA_NO_XP = 0x00000040, // creature kill does not provide XP
|
||||
CREATURE_FLAG_EXTRA_TRIGGER = 0x00000080, // trigger creature
|
||||
CREATURE_FLAG_EXTRA_NO_TAUNT = 0x00000100, // creature is immune to taunt auras and 'attack me' effects
|
||||
CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE = 0x00000200, // creature won't update movement flags
|
||||
CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE = 0x00000200, // creature won't update movement flags
|
||||
CREATURE_FLAG_EXTRA_GHOST_VISIBILITY = 0x00000400, // creature will only be visible to dead players
|
||||
CREATURE_FLAG_EXTRA_UNUSED_12 = 0x00000800, // TODO: Implement CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK (creature will use offhand attacks)
|
||||
CREATURE_FLAG_EXTRA_NO_SELL_VENDOR = 0x00001000, // players can't sell items to this vendor
|
||||
@@ -77,8 +78,9 @@ enum CreatureFlagsExtra : uint32
|
||||
|
||||
// Masks
|
||||
CREATURE_FLAG_EXTRA_UNUSED = (CREATURE_FLAG_EXTRA_UNUSED_12 | CREATURE_FLAG_EXTRA_UNUSED_25 | CREATURE_FLAG_EXTRA_UNUSED_26 |
|
||||
CREATURE_FLAG_EXTRA_UNUSED_27 | CREATURE_FLAG_EXTRA_UNUSED_28),
|
||||
CREATURE_FLAG_EXTRA_DB_ALLOWED = (0xFFFFFFFF & ~(CREATURE_FLAG_EXTRA_UNUSED | CREATURE_FLAG_EXTRA_DUNGEON_BOSS))
|
||||
CREATURE_FLAG_EXTRA_UNUSED_27 | CREATURE_FLAG_EXTRA_UNUSED_28), // SKIP
|
||||
|
||||
CREATURE_FLAG_EXTRA_DB_ALLOWED = (0xFFFFFFFF & ~(CREATURE_FLAG_EXTRA_UNUSED | CREATURE_FLAG_EXTRA_DUNGEON_BOSS)) // SKIP
|
||||
};
|
||||
|
||||
// from `creature_template` table
|
||||
|
||||
154
src/server/game/Entities/Creature/enuminfo_CreatureData.cpp
Normal file
154
src/server/game/Entities/Creature/enuminfo_CreatureData.cpp
Normal file
@@ -0,0 +1,154 @@
|
||||
/*
|
||||
* This file is part of the AzerothCore 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 Affero General Public License as published by the
|
||||
* Free Software Foundation; either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero 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 "CreatureData.h"
|
||||
#include "Define.h"
|
||||
#include "SmartEnum.h"
|
||||
#include <stdexcept>
|
||||
|
||||
namespace Acore::Impl::EnumUtilsImpl
|
||||
{
|
||||
|
||||
/*************************************************************************\
|
||||
|* data for enum 'CreatureFlagsExtra' in 'CreatureData.h' auto-generated *|
|
||||
\*************************************************************************/
|
||||
template <>
|
||||
AC_API_EXPORT EnumText EnumUtils<CreatureFlagsExtra>::ToString(CreatureFlagsExtra value)
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case CREATURE_FLAG_EXTRA_INSTANCE_BIND: return { "CREATURE_FLAG_EXTRA_INSTANCE_BIND", "CREATURE_FLAG_EXTRA_INSTANCE_BIND", "creature kill bind instance with killer and killer's group" };
|
||||
case CREATURE_FLAG_EXTRA_CIVILIAN: return { "CREATURE_FLAG_EXTRA_CIVILIAN", "CREATURE_FLAG_EXTRA_CIVILIAN", "not aggro (ignore faction/reputation hostility)" };
|
||||
case CREATURE_FLAG_EXTRA_NO_PARRY: return { "CREATURE_FLAG_EXTRA_NO_PARRY", "CREATURE_FLAG_EXTRA_NO_PARRY", "creature can't parry" };
|
||||
case CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN: return { "CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN", "CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN", "creature can't counter-attack at parry" };
|
||||
case CREATURE_FLAG_EXTRA_NO_BLOCK: return { "CREATURE_FLAG_EXTRA_NO_BLOCK", "CREATURE_FLAG_EXTRA_NO_BLOCK", "creature can't block" };
|
||||
case CREATURE_FLAG_EXTRA_NO_CRUSHING_BLOWS: return { "CREATURE_FLAG_EXTRA_NO_CRUSHING_BLOWS", "CREATURE_FLAG_EXTRA_NO_CRUSHING_BLOWS", "creature can't do crush attacks" };
|
||||
case CREATURE_FLAG_EXTRA_NO_XP: return { "CREATURE_FLAG_EXTRA_NO_XP", "CREATURE_FLAG_EXTRA_NO_XP", "creature kill does not provide XP" };
|
||||
case CREATURE_FLAG_EXTRA_TRIGGER: return { "CREATURE_FLAG_EXTRA_TRIGGER", "CREATURE_FLAG_EXTRA_TRIGGER", "trigger creature" };
|
||||
case CREATURE_FLAG_EXTRA_NO_TAUNT: return { "CREATURE_FLAG_EXTRA_NO_TAUNT", "CREATURE_FLAG_EXTRA_NO_TAUNT", "creature is immune to taunt auras and 'attack me' effects" };
|
||||
case CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE: return { "CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE", "CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE", "creature won't update movement flags" };
|
||||
case CREATURE_FLAG_EXTRA_GHOST_VISIBILITY: return { "CREATURE_FLAG_EXTRA_GHOST_VISIBILITY", "CREATURE_FLAG_EXTRA_GHOST_VISIBILITY", "creature will only be visible to dead players" };
|
||||
case CREATURE_FLAG_EXTRA_UNUSED_12: return { "CREATURE_FLAG_EXTRA_UNUSED_12", "CREATURE_FLAG_EXTRA_UNUSED_12", "TODO: Implement CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK (creature will use offhand attacks)" };
|
||||
case CREATURE_FLAG_EXTRA_NO_SELL_VENDOR: return { "CREATURE_FLAG_EXTRA_NO_SELL_VENDOR", "CREATURE_FLAG_EXTRA_NO_SELL_VENDOR", "players can't sell items to this vendor" };
|
||||
case CREATURE_FLAG_EXTRA_IGNORE_COMBAT: return { "CREATURE_FLAG_EXTRA_IGNORE_COMBAT", "CREATURE_FLAG_EXTRA_IGNORE_COMBAT", "" };
|
||||
case CREATURE_FLAG_EXTRA_WORLDEVENT: return { "CREATURE_FLAG_EXTRA_WORLDEVENT", "CREATURE_FLAG_EXTRA_WORLDEVENT", "custom flag for world event creatures (left room for merging)" };
|
||||
case CREATURE_FLAG_EXTRA_GUARD: return { "CREATURE_FLAG_EXTRA_GUARD", "CREATURE_FLAG_EXTRA_GUARD", "Creature is guard" };
|
||||
case CREATURE_FLAG_EXTRA_IGNORE_FEIGN_DEATH: return { "CREATURE_FLAG_EXTRA_IGNORE_FEIGN_DEATH", "CREATURE_FLAG_EXTRA_IGNORE_FEIGN_DEATH", "creature ignores feign death" };
|
||||
case CREATURE_FLAG_EXTRA_NO_CRIT: return { "CREATURE_FLAG_EXTRA_NO_CRIT", "CREATURE_FLAG_EXTRA_NO_CRIT", "creature can't do critical strikes" };
|
||||
case CREATURE_FLAG_EXTRA_NO_SKILL_GAINS: return { "CREATURE_FLAG_EXTRA_NO_SKILL_GAINS", "CREATURE_FLAG_EXTRA_NO_SKILL_GAINS", "creature won't increase weapon skills" };
|
||||
case CREATURE_FLAG_EXTRA_OBEYS_TAUNT_DIMINISHING_RETURNS: return { "CREATURE_FLAG_EXTRA_OBEYS_TAUNT_DIMINISHING_RETURNS", "CREATURE_FLAG_EXTRA_OBEYS_TAUNT_DIMINISHING_RETURNS", "Taunt is subject to diminishing returns on this creature" };
|
||||
case CREATURE_FLAG_EXTRA_ALL_DIMINISH: return { "CREATURE_FLAG_EXTRA_ALL_DIMINISH", "CREATURE_FLAG_EXTRA_ALL_DIMINISH", "creature is subject to all diminishing returns as players are" };
|
||||
case CREATURE_FLAG_EXTRA_NO_PLAYER_DAMAGE_REQ: return { "CREATURE_FLAG_EXTRA_NO_PLAYER_DAMAGE_REQ", "CREATURE_FLAG_EXTRA_NO_PLAYER_DAMAGE_REQ", "creature does not need to take player damage for kill credit" };
|
||||
case CREATURE_FLAG_EXTRA_AVOID_AOE: return { "CREATURE_FLAG_EXTRA_AVOID_AOE", "CREATURE_FLAG_EXTRA_AVOID_AOE", "pussywizard: ignored by aoe attacks (for icc blood prince council npc - Dark Nucleus)" };
|
||||
case CREATURE_FLAG_EXTRA_NO_DODGE: return { "CREATURE_FLAG_EXTRA_NO_DODGE", "CREATURE_FLAG_EXTRA_NO_DODGE", "xinef: target cannot dodge" };
|
||||
case CREATURE_FLAG_EXTRA_UNUSED_25: return { "CREATURE_FLAG_EXTRA_UNUSED_25", "CREATURE_FLAG_EXTRA_UNUSED_25", "" };
|
||||
case CREATURE_FLAG_EXTRA_UNUSED_26: return { "CREATURE_FLAG_EXTRA_UNUSED_26", "CREATURE_FLAG_EXTRA_UNUSED_26", "" };
|
||||
case CREATURE_FLAG_EXTRA_UNUSED_27: return { "CREATURE_FLAG_EXTRA_UNUSED_27", "CREATURE_FLAG_EXTRA_UNUSED_27", "" };
|
||||
case CREATURE_FLAG_EXTRA_UNUSED_28: return { "CREATURE_FLAG_EXTRA_UNUSED_28", "CREATURE_FLAG_EXTRA_UNUSED_28", "" };
|
||||
case CREATURE_FLAG_EXTRA_DUNGEON_BOSS: return { "CREATURE_FLAG_EXTRA_DUNGEON_BOSS", "CREATURE_FLAG_EXTRA_DUNGEON_BOSS", "creature is a dungeon boss (SET DYNAMICALLY, DO NOT ADD IN DB)" };
|
||||
case CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING: return { "CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING", "CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING", "creature ignore pathfinding" };
|
||||
case CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK: return { "CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK", "CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK", "creature is immune to knockback effects" };
|
||||
case CREATURE_FLAG_EXTRA_HARD_RESET: return { "CREATURE_FLAG_EXTRA_HARD_RESET", "CREATURE_FLAG_EXTRA_HARD_RESET", "" };
|
||||
default: throw std::out_of_range("value");
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
AC_API_EXPORT size_t EnumUtils<CreatureFlagsExtra>::Count() { return 32; }
|
||||
|
||||
template <>
|
||||
AC_API_EXPORT CreatureFlagsExtra EnumUtils<CreatureFlagsExtra>::FromIndex(size_t index)
|
||||
{
|
||||
switch (index)
|
||||
{
|
||||
case 0: return CREATURE_FLAG_EXTRA_INSTANCE_BIND;
|
||||
case 1: return CREATURE_FLAG_EXTRA_CIVILIAN;
|
||||
case 2: return CREATURE_FLAG_EXTRA_NO_PARRY;
|
||||
case 3: return CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN;
|
||||
case 4: return CREATURE_FLAG_EXTRA_NO_BLOCK;
|
||||
case 5: return CREATURE_FLAG_EXTRA_NO_CRUSHING_BLOWS;
|
||||
case 6: return CREATURE_FLAG_EXTRA_NO_XP;
|
||||
case 7: return CREATURE_FLAG_EXTRA_TRIGGER;
|
||||
case 8: return CREATURE_FLAG_EXTRA_NO_TAUNT;
|
||||
case 9: return CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE;
|
||||
case 10: return CREATURE_FLAG_EXTRA_GHOST_VISIBILITY;
|
||||
case 11: return CREATURE_FLAG_EXTRA_UNUSED_12;
|
||||
case 12: return CREATURE_FLAG_EXTRA_NO_SELL_VENDOR;
|
||||
case 13: return CREATURE_FLAG_EXTRA_IGNORE_COMBAT;
|
||||
case 14: return CREATURE_FLAG_EXTRA_WORLDEVENT;
|
||||
case 15: return CREATURE_FLAG_EXTRA_GUARD;
|
||||
case 16: return CREATURE_FLAG_EXTRA_IGNORE_FEIGN_DEATH;
|
||||
case 17: return CREATURE_FLAG_EXTRA_NO_CRIT;
|
||||
case 18: return CREATURE_FLAG_EXTRA_NO_SKILL_GAINS;
|
||||
case 19: return CREATURE_FLAG_EXTRA_OBEYS_TAUNT_DIMINISHING_RETURNS;
|
||||
case 20: return CREATURE_FLAG_EXTRA_ALL_DIMINISH;
|
||||
case 21: return CREATURE_FLAG_EXTRA_NO_PLAYER_DAMAGE_REQ;
|
||||
case 22: return CREATURE_FLAG_EXTRA_AVOID_AOE;
|
||||
case 23: return CREATURE_FLAG_EXTRA_NO_DODGE;
|
||||
case 24: return CREATURE_FLAG_EXTRA_UNUSED_25;
|
||||
case 25: return CREATURE_FLAG_EXTRA_UNUSED_26;
|
||||
case 26: return CREATURE_FLAG_EXTRA_UNUSED_27;
|
||||
case 27: return CREATURE_FLAG_EXTRA_UNUSED_28;
|
||||
case 28: return CREATURE_FLAG_EXTRA_DUNGEON_BOSS;
|
||||
case 29: return CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING;
|
||||
case 30: return CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK;
|
||||
case 31: return CREATURE_FLAG_EXTRA_HARD_RESET;
|
||||
default: throw std::out_of_range("index");
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
AC_API_EXPORT size_t EnumUtils<CreatureFlagsExtra>::ToIndex(CreatureFlagsExtra value)
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case CREATURE_FLAG_EXTRA_INSTANCE_BIND: return 0;
|
||||
case CREATURE_FLAG_EXTRA_CIVILIAN: return 1;
|
||||
case CREATURE_FLAG_EXTRA_NO_PARRY: return 2;
|
||||
case CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN: return 3;
|
||||
case CREATURE_FLAG_EXTRA_NO_BLOCK: return 4;
|
||||
case CREATURE_FLAG_EXTRA_NO_CRUSHING_BLOWS: return 5;
|
||||
case CREATURE_FLAG_EXTRA_NO_XP: return 6;
|
||||
case CREATURE_FLAG_EXTRA_TRIGGER: return 7;
|
||||
case CREATURE_FLAG_EXTRA_NO_TAUNT: return 8;
|
||||
case CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE: return 9;
|
||||
case CREATURE_FLAG_EXTRA_GHOST_VISIBILITY: return 10;
|
||||
case CREATURE_FLAG_EXTRA_UNUSED_12: return 11;
|
||||
case CREATURE_FLAG_EXTRA_NO_SELL_VENDOR: return 12;
|
||||
case CREATURE_FLAG_EXTRA_IGNORE_COMBAT: return 13;
|
||||
case CREATURE_FLAG_EXTRA_WORLDEVENT: return 14;
|
||||
case CREATURE_FLAG_EXTRA_GUARD: return 15;
|
||||
case CREATURE_FLAG_EXTRA_IGNORE_FEIGN_DEATH: return 16;
|
||||
case CREATURE_FLAG_EXTRA_NO_CRIT: return 17;
|
||||
case CREATURE_FLAG_EXTRA_NO_SKILL_GAINS: return 18;
|
||||
case CREATURE_FLAG_EXTRA_OBEYS_TAUNT_DIMINISHING_RETURNS: return 19;
|
||||
case CREATURE_FLAG_EXTRA_ALL_DIMINISH: return 20;
|
||||
case CREATURE_FLAG_EXTRA_NO_PLAYER_DAMAGE_REQ: return 21;
|
||||
case CREATURE_FLAG_EXTRA_AVOID_AOE: return 22;
|
||||
case CREATURE_FLAG_EXTRA_NO_DODGE: return 23;
|
||||
case CREATURE_FLAG_EXTRA_UNUSED_25: return 24;
|
||||
case CREATURE_FLAG_EXTRA_UNUSED_26: return 25;
|
||||
case CREATURE_FLAG_EXTRA_UNUSED_27: return 26;
|
||||
case CREATURE_FLAG_EXTRA_UNUSED_28: return 27;
|
||||
case CREATURE_FLAG_EXTRA_DUNGEON_BOSS: return 28;
|
||||
case CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING: return 29;
|
||||
case CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK: return 30;
|
||||
case CREATURE_FLAG_EXTRA_HARD_RESET: return 31;
|
||||
default: throw std::out_of_range("value");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -35,6 +35,7 @@ struct ItemSetEffect
|
||||
SpellInfo const* spells[8];
|
||||
};
|
||||
|
||||
// EnumUtils: DESCRIBE THIS
|
||||
enum InventoryResult
|
||||
{
|
||||
EQUIP_ERR_OK = 0,
|
||||
@@ -128,6 +129,7 @@ enum InventoryResult
|
||||
EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED = 89
|
||||
};
|
||||
|
||||
// EnumUtils: DESCRIBE THIS
|
||||
enum BuyResult
|
||||
{
|
||||
BUY_ERR_CANT_FIND_ITEM = 0,
|
||||
@@ -141,6 +143,7 @@ enum BuyResult
|
||||
BUY_ERR_REPUTATION_REQUIRE = 12
|
||||
};
|
||||
|
||||
// EnumUtils: DESCRIBE THIS
|
||||
enum SellResult
|
||||
{
|
||||
SELL_ERR_CANT_FIND_ITEM = 1, // The item was not found.
|
||||
|
||||
442
src/server/game/Entities/Item/enuminfo_Item.cpp
Normal file
442
src/server/game/Entities/Item/enuminfo_Item.cpp
Normal file
@@ -0,0 +1,442 @@
|
||||
/*
|
||||
* This file is part of the AzerothCore 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 Affero General Public License as published by the
|
||||
* Free Software Foundation; either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero 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 "Item.h"
|
||||
#include "Define.h"
|
||||
#include "SmartEnum.h"
|
||||
#include <stdexcept>
|
||||
|
||||
namespace Acore::Impl::EnumUtilsImpl
|
||||
{
|
||||
|
||||
/**************************************************************\
|
||||
|* data for enum 'InventoryResult' in 'Item.h' auto-generated *|
|
||||
\**************************************************************/
|
||||
template <>
|
||||
AC_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", "" };
|
||||
case EQUIP_ERR_CANT_EQUIP_SKILL: return { "EQUIP_ERR_CANT_EQUIP_SKILL", "EQUIP_ERR_CANT_EQUIP_SKILL", "" };
|
||||
case EQUIP_ERR_ITEM_DOESNT_GO_TO_SLOT: return { "EQUIP_ERR_ITEM_DOESNT_GO_TO_SLOT", "EQUIP_ERR_ITEM_DOESNT_GO_TO_SLOT", "" };
|
||||
case EQUIP_ERR_BAG_FULL: return { "EQUIP_ERR_BAG_FULL", "EQUIP_ERR_BAG_FULL", "" };
|
||||
case EQUIP_ERR_NONEMPTY_BAG_OVER_OTHER_BAG: return { "EQUIP_ERR_NONEMPTY_BAG_OVER_OTHER_BAG", "EQUIP_ERR_NONEMPTY_BAG_OVER_OTHER_BAG", "" };
|
||||
case EQUIP_ERR_CANT_TRADE_EQUIP_BAGS: return { "EQUIP_ERR_CANT_TRADE_EQUIP_BAGS", "EQUIP_ERR_CANT_TRADE_EQUIP_BAGS", "" };
|
||||
case EQUIP_ERR_ONLY_AMMO_CAN_GO_HERE: return { "EQUIP_ERR_ONLY_AMMO_CAN_GO_HERE", "EQUIP_ERR_ONLY_AMMO_CAN_GO_HERE", "" };
|
||||
case EQUIP_ERR_NO_REQUIRED_PROFICIENCY: return { "EQUIP_ERR_NO_REQUIRED_PROFICIENCY", "EQUIP_ERR_NO_REQUIRED_PROFICIENCY", "" };
|
||||
case EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE: return { "EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE", "EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE", "" };
|
||||
case EQUIP_ERR_YOU_CAN_NEVER_USE_THAT_ITEM: return { "EQUIP_ERR_YOU_CAN_NEVER_USE_THAT_ITEM", "EQUIP_ERR_YOU_CAN_NEVER_USE_THAT_ITEM", "" };
|
||||
case EQUIP_ERR_YOU_CAN_NEVER_USE_THAT_ITEM2: return { "EQUIP_ERR_YOU_CAN_NEVER_USE_THAT_ITEM2", "EQUIP_ERR_YOU_CAN_NEVER_USE_THAT_ITEM2", "" };
|
||||
case EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE2: return { "EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE2", "EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE2", "" };
|
||||
case EQUIP_ERR_CANT_EQUIP_WITH_TWOHANDED: return { "EQUIP_ERR_CANT_EQUIP_WITH_TWOHANDED", "EQUIP_ERR_CANT_EQUIP_WITH_TWOHANDED", "" };
|
||||
case EQUIP_ERR_CANT_DUAL_WIELD: return { "EQUIP_ERR_CANT_DUAL_WIELD", "EQUIP_ERR_CANT_DUAL_WIELD", "" };
|
||||
case EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG: return { "EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG", "EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG", "" };
|
||||
case EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG2: return { "EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG2", "EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG2", "" };
|
||||
case EQUIP_ERR_CANT_CARRY_MORE_OF_THIS: return { "EQUIP_ERR_CANT_CARRY_MORE_OF_THIS", "EQUIP_ERR_CANT_CARRY_MORE_OF_THIS", "" };
|
||||
case EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE3: return { "EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE3", "EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE3", "" };
|
||||
case EQUIP_ERR_ITEM_CANT_STACK: return { "EQUIP_ERR_ITEM_CANT_STACK", "EQUIP_ERR_ITEM_CANT_STACK", "" };
|
||||
case EQUIP_ERR_ITEM_CANT_BE_EQUIPPED: return { "EQUIP_ERR_ITEM_CANT_BE_EQUIPPED", "EQUIP_ERR_ITEM_CANT_BE_EQUIPPED", "" };
|
||||
case EQUIP_ERR_ITEMS_CANT_BE_SWAPPED: return { "EQUIP_ERR_ITEMS_CANT_BE_SWAPPED", "EQUIP_ERR_ITEMS_CANT_BE_SWAPPED", "" };
|
||||
case EQUIP_ERR_SLOT_IS_EMPTY: return { "EQUIP_ERR_SLOT_IS_EMPTY", "EQUIP_ERR_SLOT_IS_EMPTY", "" };
|
||||
case EQUIP_ERR_ITEM_NOT_FOUND: return { "EQUIP_ERR_ITEM_NOT_FOUND", "EQUIP_ERR_ITEM_NOT_FOUND", "" };
|
||||
case EQUIP_ERR_CANT_DROP_SOULBOUND: return { "EQUIP_ERR_CANT_DROP_SOULBOUND", "EQUIP_ERR_CANT_DROP_SOULBOUND", "" };
|
||||
case EQUIP_ERR_OUT_OF_RANGE: return { "EQUIP_ERR_OUT_OF_RANGE", "EQUIP_ERR_OUT_OF_RANGE", "" };
|
||||
case EQUIP_ERR_TRIED_TO_SPLIT_MORE_THAN_COUNT: return { "EQUIP_ERR_TRIED_TO_SPLIT_MORE_THAN_COUNT", "EQUIP_ERR_TRIED_TO_SPLIT_MORE_THAN_COUNT", "" };
|
||||
case EQUIP_ERR_COULDNT_SPLIT_ITEMS: return { "EQUIP_ERR_COULDNT_SPLIT_ITEMS", "EQUIP_ERR_COULDNT_SPLIT_ITEMS", "" };
|
||||
case EQUIP_ERR_MISSING_REAGENT: return { "EQUIP_ERR_MISSING_REAGENT", "EQUIP_ERR_MISSING_REAGENT", "" };
|
||||
case EQUIP_ERR_NOT_ENOUGH_MONEY: return { "EQUIP_ERR_NOT_ENOUGH_MONEY", "EQUIP_ERR_NOT_ENOUGH_MONEY", "" };
|
||||
case EQUIP_ERR_NOT_A_BAG: return { "EQUIP_ERR_NOT_A_BAG", "EQUIP_ERR_NOT_A_BAG", "" };
|
||||
case EQUIP_ERR_CAN_ONLY_DO_WITH_EMPTY_BAGS: return { "EQUIP_ERR_CAN_ONLY_DO_WITH_EMPTY_BAGS", "EQUIP_ERR_CAN_ONLY_DO_WITH_EMPTY_BAGS", "" };
|
||||
case EQUIP_ERR_DONT_OWN_THAT_ITEM: return { "EQUIP_ERR_DONT_OWN_THAT_ITEM", "EQUIP_ERR_DONT_OWN_THAT_ITEM", "" };
|
||||
case EQUIP_ERR_CAN_EQUIP_ONLY1_QUIVER: return { "EQUIP_ERR_CAN_EQUIP_ONLY1_QUIVER", "EQUIP_ERR_CAN_EQUIP_ONLY1_QUIVER", "" };
|
||||
case EQUIP_ERR_MUST_PURCHASE_THAT_BAG_SLOT: return { "EQUIP_ERR_MUST_PURCHASE_THAT_BAG_SLOT", "EQUIP_ERR_MUST_PURCHASE_THAT_BAG_SLOT", "" };
|
||||
case EQUIP_ERR_TOO_FAR_AWAY_FROM_BANK: return { "EQUIP_ERR_TOO_FAR_AWAY_FROM_BANK", "EQUIP_ERR_TOO_FAR_AWAY_FROM_BANK", "" };
|
||||
case EQUIP_ERR_ITEM_LOCKED: return { "EQUIP_ERR_ITEM_LOCKED", "EQUIP_ERR_ITEM_LOCKED", "" };
|
||||
case EQUIP_ERR_YOU_ARE_STUNNED: return { "EQUIP_ERR_YOU_ARE_STUNNED", "EQUIP_ERR_YOU_ARE_STUNNED", "" };
|
||||
case EQUIP_ERR_YOU_ARE_DEAD: return { "EQUIP_ERR_YOU_ARE_DEAD", "EQUIP_ERR_YOU_ARE_DEAD", "" };
|
||||
case EQUIP_ERR_CANT_DO_RIGHT_NOW: return { "EQUIP_ERR_CANT_DO_RIGHT_NOW", "EQUIP_ERR_CANT_DO_RIGHT_NOW", "" };
|
||||
case EQUIP_ERR_INT_BAG_ERROR: return { "EQUIP_ERR_INT_BAG_ERROR", "EQUIP_ERR_INT_BAG_ERROR", "" };
|
||||
case EQUIP_ERR_CAN_EQUIP_ONLY1_BOLT: return { "EQUIP_ERR_CAN_EQUIP_ONLY1_BOLT", "EQUIP_ERR_CAN_EQUIP_ONLY1_BOLT", "" };
|
||||
case EQUIP_ERR_CAN_EQUIP_ONLY1_AMMOPOUCH: return { "EQUIP_ERR_CAN_EQUIP_ONLY1_AMMOPOUCH", "EQUIP_ERR_CAN_EQUIP_ONLY1_AMMOPOUCH", "" };
|
||||
case EQUIP_ERR_STACKABLE_CANT_BE_WRAPPED: return { "EQUIP_ERR_STACKABLE_CANT_BE_WRAPPED", "EQUIP_ERR_STACKABLE_CANT_BE_WRAPPED", "" };
|
||||
case EQUIP_ERR_EQUIPPED_CANT_BE_WRAPPED: return { "EQUIP_ERR_EQUIPPED_CANT_BE_WRAPPED", "EQUIP_ERR_EQUIPPED_CANT_BE_WRAPPED", "" };
|
||||
case EQUIP_ERR_WRAPPED_CANT_BE_WRAPPED: return { "EQUIP_ERR_WRAPPED_CANT_BE_WRAPPED", "EQUIP_ERR_WRAPPED_CANT_BE_WRAPPED", "" };
|
||||
case EQUIP_ERR_BOUND_CANT_BE_WRAPPED: return { "EQUIP_ERR_BOUND_CANT_BE_WRAPPED", "EQUIP_ERR_BOUND_CANT_BE_WRAPPED", "" };
|
||||
case EQUIP_ERR_UNIQUE_CANT_BE_WRAPPED: return { "EQUIP_ERR_UNIQUE_CANT_BE_WRAPPED", "EQUIP_ERR_UNIQUE_CANT_BE_WRAPPED", "" };
|
||||
case EQUIP_ERR_BAGS_CANT_BE_WRAPPED: return { "EQUIP_ERR_BAGS_CANT_BE_WRAPPED", "EQUIP_ERR_BAGS_CANT_BE_WRAPPED", "" };
|
||||
case EQUIP_ERR_ALREADY_LOOTED: return { "EQUIP_ERR_ALREADY_LOOTED", "EQUIP_ERR_ALREADY_LOOTED", "" };
|
||||
case EQUIP_ERR_INVENTORY_FULL: return { "EQUIP_ERR_INVENTORY_FULL", "EQUIP_ERR_INVENTORY_FULL", "" };
|
||||
case EQUIP_ERR_BANK_FULL: return { "EQUIP_ERR_BANK_FULL", "EQUIP_ERR_BANK_FULL", "" };
|
||||
case EQUIP_ERR_ITEM_IS_CURRENTLY_SOLD_OUT: return { "EQUIP_ERR_ITEM_IS_CURRENTLY_SOLD_OUT", "EQUIP_ERR_ITEM_IS_CURRENTLY_SOLD_OUT", "" };
|
||||
case EQUIP_ERR_BAG_FULL3: return { "EQUIP_ERR_BAG_FULL3", "EQUIP_ERR_BAG_FULL3", "" };
|
||||
case EQUIP_ERR_ITEM_NOT_FOUND2: return { "EQUIP_ERR_ITEM_NOT_FOUND2", "EQUIP_ERR_ITEM_NOT_FOUND2", "" };
|
||||
case EQUIP_ERR_ITEM_CANT_STACK2: return { "EQUIP_ERR_ITEM_CANT_STACK2", "EQUIP_ERR_ITEM_CANT_STACK2", "" };
|
||||
case EQUIP_ERR_BAG_FULL4: return { "EQUIP_ERR_BAG_FULL4", "EQUIP_ERR_BAG_FULL4", "" };
|
||||
case EQUIP_ERR_ITEM_SOLD_OUT: return { "EQUIP_ERR_ITEM_SOLD_OUT", "EQUIP_ERR_ITEM_SOLD_OUT", "" };
|
||||
case EQUIP_ERR_OBJECT_IS_BUSY: return { "EQUIP_ERR_OBJECT_IS_BUSY", "EQUIP_ERR_OBJECT_IS_BUSY", "" };
|
||||
case EQUIP_ERR_NONE: return { "EQUIP_ERR_NONE", "EQUIP_ERR_NONE", "" };
|
||||
case EQUIP_ERR_NOT_IN_COMBAT: return { "EQUIP_ERR_NOT_IN_COMBAT", "EQUIP_ERR_NOT_IN_COMBAT", "" };
|
||||
case EQUIP_ERR_NOT_WHILE_DISARMED: return { "EQUIP_ERR_NOT_WHILE_DISARMED", "EQUIP_ERR_NOT_WHILE_DISARMED", "" };
|
||||
case EQUIP_ERR_BAG_FULL6: return { "EQUIP_ERR_BAG_FULL6", "EQUIP_ERR_BAG_FULL6", "" };
|
||||
case EQUIP_ERR_CANT_EQUIP_RANK: return { "EQUIP_ERR_CANT_EQUIP_RANK", "EQUIP_ERR_CANT_EQUIP_RANK", "" };
|
||||
case EQUIP_ERR_CANT_EQUIP_REPUTATION: return { "EQUIP_ERR_CANT_EQUIP_REPUTATION", "EQUIP_ERR_CANT_EQUIP_REPUTATION", "" };
|
||||
case EQUIP_ERR_TOO_MANY_SPECIAL_BAGS: return { "EQUIP_ERR_TOO_MANY_SPECIAL_BAGS", "EQUIP_ERR_TOO_MANY_SPECIAL_BAGS", "" };
|
||||
case EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW: return { "EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW", "EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW", "" };
|
||||
case EQUIP_ERR_ITEM_UNIQUE_EQUIPABLE: return { "EQUIP_ERR_ITEM_UNIQUE_EQUIPABLE", "EQUIP_ERR_ITEM_UNIQUE_EQUIPABLE", "" };
|
||||
case EQUIP_ERR_VENDOR_MISSING_TURNINS: return { "EQUIP_ERR_VENDOR_MISSING_TURNINS", "EQUIP_ERR_VENDOR_MISSING_TURNINS", "" };
|
||||
case EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS: return { "EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS", "EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS", "" };
|
||||
case EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS: return { "EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS", "EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS", "" };
|
||||
case EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED: return { "EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED", "EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED", "" };
|
||||
case EQUIP_ERR_MAIL_BOUND_ITEM: return { "EQUIP_ERR_MAIL_BOUND_ITEM", "EQUIP_ERR_MAIL_BOUND_ITEM", "" };
|
||||
case EQUIP_ERR_NO_SPLIT_WHILE_PROSPECTING: return { "EQUIP_ERR_NO_SPLIT_WHILE_PROSPECTING", "EQUIP_ERR_NO_SPLIT_WHILE_PROSPECTING", "" };
|
||||
case EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED: return { "EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED", "EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED", "" };
|
||||
case EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED: return { "EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED", "EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED", "" };
|
||||
case EQUIP_ERR_TOO_MUCH_GOLD: return { "EQUIP_ERR_TOO_MUCH_GOLD", "EQUIP_ERR_TOO_MUCH_GOLD", "" };
|
||||
case EQUIP_ERR_NOT_DURING_ARENA_MATCH: return { "EQUIP_ERR_NOT_DURING_ARENA_MATCH", "EQUIP_ERR_NOT_DURING_ARENA_MATCH", "" };
|
||||
case EQUIP_ERR_CANNOT_TRADE_THAT: return { "EQUIP_ERR_CANNOT_TRADE_THAT", "EQUIP_ERR_CANNOT_TRADE_THAT", "" };
|
||||
case EQUIP_ERR_PERSONAL_ARENA_RATING_TOO_LOW: return { "EQUIP_ERR_PERSONAL_ARENA_RATING_TOO_LOW", "EQUIP_ERR_PERSONAL_ARENA_RATING_TOO_LOW", "" };
|
||||
case EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM: return { "EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM", "EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM", "" };
|
||||
case EQUIP_ERR_ARTEFACTS_ONLY_FOR_OWN_CHARACTERS: return { "EQUIP_ERR_ARTEFACTS_ONLY_FOR_OWN_CHARACTERS", "EQUIP_ERR_ARTEFACTS_ONLY_FOR_OWN_CHARACTERS", "" };
|
||||
case EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED: return { "EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED", "EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED", "" };
|
||||
case EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED: return { "EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED", "EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED", "" };
|
||||
case EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED: return { "EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED", "EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED", "" };
|
||||
case EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW: return { "EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW", "EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW", "" };
|
||||
case EQUIP_ERR_CANT_EQUIP_NEED_TALENT: return { "EQUIP_ERR_CANT_EQUIP_NEED_TALENT", "EQUIP_ERR_CANT_EQUIP_NEED_TALENT", "" };
|
||||
case EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED: return { "EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED", "EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED", "" };
|
||||
default: throw std::out_of_range("value");
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
AC_API_EXPORT size_t EnumUtils<InventoryResult>::Count() { return 88; }
|
||||
|
||||
template <>
|
||||
AC_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_ITEM_DOESNT_GO_TO_SLOT;
|
||||
case 4: return EQUIP_ERR_BAG_FULL;
|
||||
case 5: return EQUIP_ERR_NONEMPTY_BAG_OVER_OTHER_BAG;
|
||||
case 6: return EQUIP_ERR_CANT_TRADE_EQUIP_BAGS;
|
||||
case 7: return EQUIP_ERR_ONLY_AMMO_CAN_GO_HERE;
|
||||
case 8: return EQUIP_ERR_NO_REQUIRED_PROFICIENCY;
|
||||
case 9: return EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE;
|
||||
case 10: return EQUIP_ERR_YOU_CAN_NEVER_USE_THAT_ITEM;
|
||||
case 11: return EQUIP_ERR_YOU_CAN_NEVER_USE_THAT_ITEM2;
|
||||
case 12: return EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE2;
|
||||
case 13: return EQUIP_ERR_CANT_EQUIP_WITH_TWOHANDED;
|
||||
case 14: return EQUIP_ERR_CANT_DUAL_WIELD;
|
||||
case 15: return EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG;
|
||||
case 16: return EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG2;
|
||||
case 17: return EQUIP_ERR_CANT_CARRY_MORE_OF_THIS;
|
||||
case 18: return EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE3;
|
||||
case 19: return EQUIP_ERR_ITEM_CANT_STACK;
|
||||
case 20: return EQUIP_ERR_ITEM_CANT_BE_EQUIPPED;
|
||||
case 21: return EQUIP_ERR_ITEMS_CANT_BE_SWAPPED;
|
||||
case 22: return EQUIP_ERR_SLOT_IS_EMPTY;
|
||||
case 23: return EQUIP_ERR_ITEM_NOT_FOUND;
|
||||
case 24: return EQUIP_ERR_CANT_DROP_SOULBOUND;
|
||||
case 25: return EQUIP_ERR_OUT_OF_RANGE;
|
||||
case 26: return EQUIP_ERR_TRIED_TO_SPLIT_MORE_THAN_COUNT;
|
||||
case 27: return EQUIP_ERR_COULDNT_SPLIT_ITEMS;
|
||||
case 28: return EQUIP_ERR_MISSING_REAGENT;
|
||||
case 29: return EQUIP_ERR_NOT_ENOUGH_MONEY;
|
||||
case 30: return EQUIP_ERR_NOT_A_BAG;
|
||||
case 31: return EQUIP_ERR_CAN_ONLY_DO_WITH_EMPTY_BAGS;
|
||||
case 32: return EQUIP_ERR_DONT_OWN_THAT_ITEM;
|
||||
case 33: return EQUIP_ERR_CAN_EQUIP_ONLY1_QUIVER;
|
||||
case 34: return EQUIP_ERR_MUST_PURCHASE_THAT_BAG_SLOT;
|
||||
case 35: return EQUIP_ERR_TOO_FAR_AWAY_FROM_BANK;
|
||||
case 36: return EQUIP_ERR_ITEM_LOCKED;
|
||||
case 37: return EQUIP_ERR_YOU_ARE_STUNNED;
|
||||
case 38: return EQUIP_ERR_YOU_ARE_DEAD;
|
||||
case 39: return EQUIP_ERR_CANT_DO_RIGHT_NOW;
|
||||
case 40: return EQUIP_ERR_INT_BAG_ERROR;
|
||||
case 41: return EQUIP_ERR_CAN_EQUIP_ONLY1_BOLT;
|
||||
case 42: return EQUIP_ERR_CAN_EQUIP_ONLY1_AMMOPOUCH;
|
||||
case 43: return EQUIP_ERR_STACKABLE_CANT_BE_WRAPPED;
|
||||
case 44: return EQUIP_ERR_EQUIPPED_CANT_BE_WRAPPED;
|
||||
case 45: return EQUIP_ERR_WRAPPED_CANT_BE_WRAPPED;
|
||||
case 46: return EQUIP_ERR_BOUND_CANT_BE_WRAPPED;
|
||||
case 47: return EQUIP_ERR_UNIQUE_CANT_BE_WRAPPED;
|
||||
case 48: return EQUIP_ERR_BAGS_CANT_BE_WRAPPED;
|
||||
case 49: return EQUIP_ERR_ALREADY_LOOTED;
|
||||
case 50: return EQUIP_ERR_INVENTORY_FULL;
|
||||
case 51: return EQUIP_ERR_BANK_FULL;
|
||||
case 52: return EQUIP_ERR_ITEM_IS_CURRENTLY_SOLD_OUT;
|
||||
case 53: return EQUIP_ERR_BAG_FULL3;
|
||||
case 54: return EQUIP_ERR_ITEM_NOT_FOUND2;
|
||||
case 55: return EQUIP_ERR_ITEM_CANT_STACK2;
|
||||
case 56: return EQUIP_ERR_BAG_FULL4;
|
||||
case 57: return EQUIP_ERR_ITEM_SOLD_OUT;
|
||||
case 58: return EQUIP_ERR_OBJECT_IS_BUSY;
|
||||
case 59: return EQUIP_ERR_NONE;
|
||||
case 60: return EQUIP_ERR_NOT_IN_COMBAT;
|
||||
case 61: return EQUIP_ERR_NOT_WHILE_DISARMED;
|
||||
case 62: return EQUIP_ERR_BAG_FULL6;
|
||||
case 63: return EQUIP_ERR_CANT_EQUIP_RANK;
|
||||
case 64: return EQUIP_ERR_CANT_EQUIP_REPUTATION;
|
||||
case 65: return EQUIP_ERR_TOO_MANY_SPECIAL_BAGS;
|
||||
case 66: return EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW;
|
||||
case 67: return EQUIP_ERR_ITEM_UNIQUE_EQUIPABLE;
|
||||
case 68: return EQUIP_ERR_VENDOR_MISSING_TURNINS;
|
||||
case 69: return EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS;
|
||||
case 70: return EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS;
|
||||
case 71: return EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED;
|
||||
case 72: return EQUIP_ERR_MAIL_BOUND_ITEM;
|
||||
case 73: return EQUIP_ERR_NO_SPLIT_WHILE_PROSPECTING;
|
||||
case 74: return EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED;
|
||||
case 75: return EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED;
|
||||
case 76: return EQUIP_ERR_TOO_MUCH_GOLD;
|
||||
case 77: return EQUIP_ERR_NOT_DURING_ARENA_MATCH;
|
||||
case 78: return EQUIP_ERR_CANNOT_TRADE_THAT;
|
||||
case 79: return EQUIP_ERR_PERSONAL_ARENA_RATING_TOO_LOW;
|
||||
case 80: return EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM;
|
||||
case 81: return EQUIP_ERR_ARTEFACTS_ONLY_FOR_OWN_CHARACTERS;
|
||||
case 82: return EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED;
|
||||
case 83: return EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED;
|
||||
case 84: return EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED;
|
||||
case 85: return EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW;
|
||||
case 86: return EQUIP_ERR_CANT_EQUIP_NEED_TALENT;
|
||||
case 87: return EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED;
|
||||
default: throw std::out_of_range("index");
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
AC_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_ITEM_DOESNT_GO_TO_SLOT: return 3;
|
||||
case EQUIP_ERR_BAG_FULL: return 4;
|
||||
case EQUIP_ERR_NONEMPTY_BAG_OVER_OTHER_BAG: return 5;
|
||||
case EQUIP_ERR_CANT_TRADE_EQUIP_BAGS: return 6;
|
||||
case EQUIP_ERR_ONLY_AMMO_CAN_GO_HERE: return 7;
|
||||
case EQUIP_ERR_NO_REQUIRED_PROFICIENCY: return 8;
|
||||
case EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE: return 9;
|
||||
case EQUIP_ERR_YOU_CAN_NEVER_USE_THAT_ITEM: return 10;
|
||||
case EQUIP_ERR_YOU_CAN_NEVER_USE_THAT_ITEM2: return 11;
|
||||
case EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE2: return 12;
|
||||
case EQUIP_ERR_CANT_EQUIP_WITH_TWOHANDED: return 13;
|
||||
case EQUIP_ERR_CANT_DUAL_WIELD: return 14;
|
||||
case EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG: return 15;
|
||||
case EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG2: return 16;
|
||||
case EQUIP_ERR_CANT_CARRY_MORE_OF_THIS: return 17;
|
||||
case EQUIP_ERR_NO_EQUIPMENT_SLOT_AVAILABLE3: return 18;
|
||||
case EQUIP_ERR_ITEM_CANT_STACK: return 19;
|
||||
case EQUIP_ERR_ITEM_CANT_BE_EQUIPPED: return 20;
|
||||
case EQUIP_ERR_ITEMS_CANT_BE_SWAPPED: return 21;
|
||||
case EQUIP_ERR_SLOT_IS_EMPTY: return 22;
|
||||
case EQUIP_ERR_ITEM_NOT_FOUND: return 23;
|
||||
case EQUIP_ERR_CANT_DROP_SOULBOUND: return 24;
|
||||
case EQUIP_ERR_OUT_OF_RANGE: return 25;
|
||||
case EQUIP_ERR_TRIED_TO_SPLIT_MORE_THAN_COUNT: return 26;
|
||||
case EQUIP_ERR_COULDNT_SPLIT_ITEMS: return 27;
|
||||
case EQUIP_ERR_MISSING_REAGENT: return 28;
|
||||
case EQUIP_ERR_NOT_ENOUGH_MONEY: return 29;
|
||||
case EQUIP_ERR_NOT_A_BAG: return 30;
|
||||
case EQUIP_ERR_CAN_ONLY_DO_WITH_EMPTY_BAGS: return 31;
|
||||
case EQUIP_ERR_DONT_OWN_THAT_ITEM: return 32;
|
||||
case EQUIP_ERR_CAN_EQUIP_ONLY1_QUIVER: return 33;
|
||||
case EQUIP_ERR_MUST_PURCHASE_THAT_BAG_SLOT: return 34;
|
||||
case EQUIP_ERR_TOO_FAR_AWAY_FROM_BANK: return 35;
|
||||
case EQUIP_ERR_ITEM_LOCKED: return 36;
|
||||
case EQUIP_ERR_YOU_ARE_STUNNED: return 37;
|
||||
case EQUIP_ERR_YOU_ARE_DEAD: return 38;
|
||||
case EQUIP_ERR_CANT_DO_RIGHT_NOW: return 39;
|
||||
case EQUIP_ERR_INT_BAG_ERROR: return 40;
|
||||
case EQUIP_ERR_CAN_EQUIP_ONLY1_BOLT: return 41;
|
||||
case EQUIP_ERR_CAN_EQUIP_ONLY1_AMMOPOUCH: return 42;
|
||||
case EQUIP_ERR_STACKABLE_CANT_BE_WRAPPED: return 43;
|
||||
case EQUIP_ERR_EQUIPPED_CANT_BE_WRAPPED: return 44;
|
||||
case EQUIP_ERR_WRAPPED_CANT_BE_WRAPPED: return 45;
|
||||
case EQUIP_ERR_BOUND_CANT_BE_WRAPPED: return 46;
|
||||
case EQUIP_ERR_UNIQUE_CANT_BE_WRAPPED: return 47;
|
||||
case EQUIP_ERR_BAGS_CANT_BE_WRAPPED: return 48;
|
||||
case EQUIP_ERR_ALREADY_LOOTED: return 49;
|
||||
case EQUIP_ERR_INVENTORY_FULL: return 50;
|
||||
case EQUIP_ERR_BANK_FULL: return 51;
|
||||
case EQUIP_ERR_ITEM_IS_CURRENTLY_SOLD_OUT: return 52;
|
||||
case EQUIP_ERR_BAG_FULL3: return 53;
|
||||
case EQUIP_ERR_ITEM_NOT_FOUND2: return 54;
|
||||
case EQUIP_ERR_ITEM_CANT_STACK2: return 55;
|
||||
case EQUIP_ERR_BAG_FULL4: return 56;
|
||||
case EQUIP_ERR_ITEM_SOLD_OUT: return 57;
|
||||
case EQUIP_ERR_OBJECT_IS_BUSY: return 58;
|
||||
case EQUIP_ERR_NONE: return 59;
|
||||
case EQUIP_ERR_NOT_IN_COMBAT: return 60;
|
||||
case EQUIP_ERR_NOT_WHILE_DISARMED: return 61;
|
||||
case EQUIP_ERR_BAG_FULL6: return 62;
|
||||
case EQUIP_ERR_CANT_EQUIP_RANK: return 63;
|
||||
case EQUIP_ERR_CANT_EQUIP_REPUTATION: return 64;
|
||||
case EQUIP_ERR_TOO_MANY_SPECIAL_BAGS: return 65;
|
||||
case EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW: return 66;
|
||||
case EQUIP_ERR_ITEM_UNIQUE_EQUIPABLE: return 67;
|
||||
case EQUIP_ERR_VENDOR_MISSING_TURNINS: return 68;
|
||||
case EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS: return 69;
|
||||
case EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS: return 70;
|
||||
case EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED: return 71;
|
||||
case EQUIP_ERR_MAIL_BOUND_ITEM: return 72;
|
||||
case EQUIP_ERR_NO_SPLIT_WHILE_PROSPECTING: return 73;
|
||||
case EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED: return 74;
|
||||
case EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED: return 75;
|
||||
case EQUIP_ERR_TOO_MUCH_GOLD: return 76;
|
||||
case EQUIP_ERR_NOT_DURING_ARENA_MATCH: return 77;
|
||||
case EQUIP_ERR_CANNOT_TRADE_THAT: return 78;
|
||||
case EQUIP_ERR_PERSONAL_ARENA_RATING_TOO_LOW: return 79;
|
||||
case EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM: return 80;
|
||||
case EQUIP_ERR_ARTEFACTS_ONLY_FOR_OWN_CHARACTERS: return 81;
|
||||
case EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED: return 82;
|
||||
case EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED: return 83;
|
||||
case EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED: return 84;
|
||||
case EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW: return 85;
|
||||
case EQUIP_ERR_CANT_EQUIP_NEED_TALENT: return 86;
|
||||
case EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED: return 87;
|
||||
default: throw std::out_of_range("value");
|
||||
}
|
||||
}
|
||||
|
||||
/********************************************************\
|
||||
|* data for enum 'BuyResult' in 'Item.h' auto-generated *|
|
||||
\********************************************************/
|
||||
template <>
|
||||
AC_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 <>
|
||||
AC_API_EXPORT size_t EnumUtils<BuyResult>::Count() { return 9; }
|
||||
|
||||
template <>
|
||||
AC_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 <>
|
||||
AC_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 'Item.h' auto-generated *|
|
||||
\*********************************************************/
|
||||
template <>
|
||||
AC_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." };
|
||||
case SELL_ERR_MUST_REPAIR_ITEM_DURABILITY_TO_USE: return { "SELL_ERR_MUST_REPAIR_ITEM_DURABILITY_TO_USE", "SELL_ERR_MUST_REPAIR_ITEM_DURABILITY_TO_USE", "You must repair that item's durability to use it." };
|
||||
case SELL_INTERNAL_BAG_ERROR: return { "SELL_INTERNAL_BAG_ERROR", "SELL_INTERNAL_BAG_ERROR", "Internal Bag Error" };
|
||||
default: throw std::out_of_range("value");
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
AC_API_EXPORT size_t EnumUtils<SellResult>::Count() { return 9; }
|
||||
|
||||
template <>
|
||||
AC_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;
|
||||
case 7: return SELL_ERR_MUST_REPAIR_ITEM_DURABILITY_TO_USE;
|
||||
case 8: return SELL_INTERNAL_BAG_ERROR;
|
||||
default: throw std::out_of_range("index");
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
AC_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;
|
||||
case SELL_ERR_MUST_REPAIR_ITEM_DURABILITY_TO_USE: return 7;
|
||||
case SELL_INTERNAL_BAG_ERROR: return 8;
|
||||
default: throw std::out_of_range("value");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -599,6 +599,7 @@ enum DamageEffectType
|
||||
};
|
||||
|
||||
// Value masks for UNIT_FIELD_FLAGS
|
||||
// EnumUtils: DESCRIBE THIS
|
||||
enum UnitFlags
|
||||
{
|
||||
UNIT_FLAG_SERVER_CONTROLLED = 0x00000001, // set only when unit movement is controlled by server - by SPLINE/MONSTER_MOVE packets, together with UNIT_FLAG_STUNNED; only set to units controlled by client; client function CGUnit_C::IsClientControlled returns false when set for owner
|
||||
@@ -659,7 +660,8 @@ enum UnitFlags2
|
||||
};
|
||||
|
||||
/// Non Player Character flags
|
||||
enum NPCFlags
|
||||
// EnumUtils: DESCRIBE THIS
|
||||
enum NPCFlags : uint32
|
||||
{
|
||||
UNIT_NPC_FLAG_NONE = 0x00000000, // SKIP
|
||||
UNIT_NPC_FLAG_GOSSIP = 0x00000001, // TITLE has gossip menu DESCRIPTION 100%
|
||||
|
||||
268
src/server/game/Entities/Unit/enuminfo_Unit.cpp
Normal file
268
src/server/game/Entities/Unit/enuminfo_Unit.cpp
Normal file
@@ -0,0 +1,268 @@
|
||||
/*
|
||||
* This file is part of the AzerothCore 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 Affero General Public License as published by the
|
||||
* Free Software Foundation; either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero 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 "Unit.h"
|
||||
#include "Define.h"
|
||||
#include "SmartEnum.h"
|
||||
#include <stdexcept>
|
||||
|
||||
namespace Acore::Impl::EnumUtilsImpl
|
||||
{
|
||||
|
||||
/********************************************************\
|
||||
|* data for enum 'UnitFlags' in 'Unit.h' auto-generated *|
|
||||
\********************************************************/
|
||||
template <>
|
||||
AC_API_EXPORT EnumText EnumUtils<UnitFlags>::ToString(UnitFlags value)
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case UNIT_FLAG_SERVER_CONTROLLED: return { "UNIT_FLAG_SERVER_CONTROLLED", "UNIT_FLAG_SERVER_CONTROLLED", "set only when unit movement is controlled by server - by SPLINE/MONSTER_MOVE packets, together with UNIT_FLAG_STUNNED; only set to units controlled by client; client function CGUnit_C::IsClientControlled returns false when set for owner" };
|
||||
case UNIT_FLAG_NON_ATTACKABLE: return { "UNIT_FLAG_NON_ATTACKABLE", "UNIT_FLAG_NON_ATTACKABLE", "not attackable" };
|
||||
case UNIT_FLAG_DISABLE_MOVE: return { "UNIT_FLAG_DISABLE_MOVE", "UNIT_FLAG_DISABLE_MOVE", "" };
|
||||
case UNIT_FLAG_PLAYER_CONTROLLED: return { "UNIT_FLAG_PLAYER_CONTROLLED", "UNIT_FLAG_PLAYER_CONTROLLED", "controlled by player, use _IMMUNE_TO_PC instead of _IMMUNE_TO_NPC" };
|
||||
case UNIT_FLAG_RENAME: return { "UNIT_FLAG_RENAME", "UNIT_FLAG_RENAME", "" };
|
||||
case UNIT_FLAG_PREPARATION: return { "UNIT_FLAG_PREPARATION", "UNIT_FLAG_PREPARATION", "don't take reagents for spells with SPELL_ATTR5_NO_REAGENT_COST_WITH_AURA" };
|
||||
case UNIT_FLAG_UNK_6: return { "UNIT_FLAG_UNK_6", "UNIT_FLAG_UNK_6", "" };
|
||||
case UNIT_FLAG_NOT_ATTACKABLE_1: return { "UNIT_FLAG_NOT_ATTACKABLE_1", "UNIT_FLAG_NOT_ATTACKABLE_1", "?? (UNIT_FLAG_PLAYER_CONTROLLED | UNIT_FLAG_NOT_ATTACKABLE_1) is NON_PVP_ATTACKABLE" };
|
||||
case UNIT_FLAG_IMMUNE_TO_PC: return { "UNIT_FLAG_IMMUNE_TO_PC", "UNIT_FLAG_IMMUNE_TO_PC", "disables combat/assistance with PlayerCharacters (PC) - see Unit::_IsValidAttackTarget, Unit::_IsValidAssistTarget" };
|
||||
case UNIT_FLAG_IMMUNE_TO_NPC: return { "UNIT_FLAG_IMMUNE_TO_NPC", "UNIT_FLAG_IMMUNE_TO_NPC", "disables combat/assistance with NonPlayerCharacters (NPC) - see Unit::_IsValidAttackTarget, Unit::_IsValidAssistTarget" };
|
||||
case UNIT_FLAG_LOOTING: return { "UNIT_FLAG_LOOTING", "UNIT_FLAG_LOOTING", "loot animation" };
|
||||
case UNIT_FLAG_PET_IN_COMBAT: return { "UNIT_FLAG_PET_IN_COMBAT", "UNIT_FLAG_PET_IN_COMBAT", "in combat?, 2.0.8" };
|
||||
case UNIT_FLAG_PVP: return { "UNIT_FLAG_PVP", "UNIT_FLAG_PVP", "changed in 3.0.3" };
|
||||
case UNIT_FLAG_SILENCED: return { "UNIT_FLAG_SILENCED", "UNIT_FLAG_SILENCED", "silenced, 2.1.1" };
|
||||
case UNIT_FLAG_CANNOT_SWIM: return { "UNIT_FLAG_CANNOT_SWIM", "UNIT_FLAG_CANNOT_SWIM", "2.0.8" };
|
||||
case UNIT_FLAG_SWIMMING: return { "UNIT_FLAG_SWIMMING", "UNIT_FLAG_SWIMMING", "shows swim animation in water" };
|
||||
case UNIT_FLAG_NON_ATTACKABLE_2: return { "UNIT_FLAG_NON_ATTACKABLE_2", "UNIT_FLAG_NON_ATTACKABLE_2", "removes attackable icon, if on yourself, cannot assist self but can cast TARGET_SELF spells - added by SPELL_AURA_MOD_UNATTACKABLE" };
|
||||
case UNIT_FLAG_PACIFIED: return { "UNIT_FLAG_PACIFIED", "UNIT_FLAG_PACIFIED", "3.0.3 ok" };
|
||||
case UNIT_FLAG_STUNNED: return { "UNIT_FLAG_STUNNED", "UNIT_FLAG_STUNNED", "3.0.3 ok" };
|
||||
case UNIT_FLAG_IN_COMBAT: return { "UNIT_FLAG_IN_COMBAT", "UNIT_FLAG_IN_COMBAT", "" };
|
||||
case UNIT_FLAG_TAXI_FLIGHT: return { "UNIT_FLAG_TAXI_FLIGHT", "UNIT_FLAG_TAXI_FLIGHT", "disable casting at client side spell not allowed by taxi flight (mounted?), probably used with 0x4 flag" };
|
||||
case UNIT_FLAG_DISARMED: return { "UNIT_FLAG_DISARMED", "UNIT_FLAG_DISARMED", "3.0.3, disable melee spells casting..., \042Required melee weapon\042 added to melee spells tooltip." };
|
||||
case UNIT_FLAG_CONFUSED: return { "UNIT_FLAG_CONFUSED", "UNIT_FLAG_CONFUSED", "" };
|
||||
case UNIT_FLAG_FLEEING: return { "UNIT_FLAG_FLEEING", "UNIT_FLAG_FLEEING", "" };
|
||||
case UNIT_FLAG_POSSESSED: return { "UNIT_FLAG_POSSESSED", "UNIT_FLAG_POSSESSED", "under direct client control by a player (possess or vehicle)" };
|
||||
case UNIT_FLAG_NOT_SELECTABLE: return { "UNIT_FLAG_NOT_SELECTABLE", "UNIT_FLAG_NOT_SELECTABLE", "" };
|
||||
case UNIT_FLAG_SKINNABLE: return { "UNIT_FLAG_SKINNABLE", "UNIT_FLAG_SKINNABLE", "" };
|
||||
case UNIT_FLAG_MOUNT: return { "UNIT_FLAG_MOUNT", "UNIT_FLAG_MOUNT", "" };
|
||||
case UNIT_FLAG_UNK_28: return { "UNIT_FLAG_UNK_28", "UNIT_FLAG_UNK_28", "" };
|
||||
case UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT: return { "UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT", "UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT", "Prevent automatically playing emotes from parsing chat text, for example \042lol\042 in /say, ending message with ? or !, or using /yell" };
|
||||
case UNIT_FLAG_SHEATHE: return { "UNIT_FLAG_SHEATHE", "UNIT_FLAG_SHEATHE", "" };
|
||||
case UNIT_FLAG_IMMUNE: return { "UNIT_FLAG_IMMUNE", "UNIT_FLAG_IMMUNE", "Immune to damage" };
|
||||
default: throw std::out_of_range("value");
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
AC_API_EXPORT size_t EnumUtils<UnitFlags>::Count() { return 32; }
|
||||
|
||||
template <>
|
||||
AC_API_EXPORT UnitFlags EnumUtils<UnitFlags>::FromIndex(size_t index)
|
||||
{
|
||||
switch (index)
|
||||
{
|
||||
case 0: return UNIT_FLAG_SERVER_CONTROLLED;
|
||||
case 1: return UNIT_FLAG_NON_ATTACKABLE;
|
||||
case 2: return UNIT_FLAG_DISABLE_MOVE;
|
||||
case 3: return UNIT_FLAG_PLAYER_CONTROLLED;
|
||||
case 4: return UNIT_FLAG_RENAME;
|
||||
case 5: return UNIT_FLAG_PREPARATION;
|
||||
case 6: return UNIT_FLAG_UNK_6;
|
||||
case 7: return UNIT_FLAG_NOT_ATTACKABLE_1;
|
||||
case 8: return UNIT_FLAG_IMMUNE_TO_PC;
|
||||
case 9: return UNIT_FLAG_IMMUNE_TO_NPC;
|
||||
case 10: return UNIT_FLAG_LOOTING;
|
||||
case 11: return UNIT_FLAG_PET_IN_COMBAT;
|
||||
case 12: return UNIT_FLAG_PVP;
|
||||
case 13: return UNIT_FLAG_SILENCED;
|
||||
case 14: return UNIT_FLAG_CANNOT_SWIM;
|
||||
case 15: return UNIT_FLAG_SWIMMING;
|
||||
case 16: return UNIT_FLAG_NON_ATTACKABLE_2;
|
||||
case 17: return UNIT_FLAG_PACIFIED;
|
||||
case 18: return UNIT_FLAG_STUNNED;
|
||||
case 19: return UNIT_FLAG_IN_COMBAT;
|
||||
case 20: return UNIT_FLAG_TAXI_FLIGHT;
|
||||
case 21: return UNIT_FLAG_DISARMED;
|
||||
case 22: return UNIT_FLAG_CONFUSED;
|
||||
case 23: return UNIT_FLAG_FLEEING;
|
||||
case 24: return UNIT_FLAG_POSSESSED;
|
||||
case 25: return UNIT_FLAG_NOT_SELECTABLE;
|
||||
case 26: return UNIT_FLAG_SKINNABLE;
|
||||
case 27: return UNIT_FLAG_MOUNT;
|
||||
case 28: return UNIT_FLAG_UNK_28;
|
||||
case 29: return UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT;
|
||||
case 30: return UNIT_FLAG_SHEATHE;
|
||||
case 31: return UNIT_FLAG_IMMUNE;
|
||||
default: throw std::out_of_range("index");
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
AC_API_EXPORT size_t EnumUtils<UnitFlags>::ToIndex(UnitFlags value)
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case UNIT_FLAG_SERVER_CONTROLLED: return 0;
|
||||
case UNIT_FLAG_NON_ATTACKABLE: return 1;
|
||||
case UNIT_FLAG_DISABLE_MOVE: return 2;
|
||||
case UNIT_FLAG_PLAYER_CONTROLLED: return 3;
|
||||
case UNIT_FLAG_RENAME: return 4;
|
||||
case UNIT_FLAG_PREPARATION: return 5;
|
||||
case UNIT_FLAG_UNK_6: return 6;
|
||||
case UNIT_FLAG_NOT_ATTACKABLE_1: return 7;
|
||||
case UNIT_FLAG_IMMUNE_TO_PC: return 8;
|
||||
case UNIT_FLAG_IMMUNE_TO_NPC: return 9;
|
||||
case UNIT_FLAG_LOOTING: return 10;
|
||||
case UNIT_FLAG_PET_IN_COMBAT: return 11;
|
||||
case UNIT_FLAG_PVP: return 12;
|
||||
case UNIT_FLAG_SILENCED: return 13;
|
||||
case UNIT_FLAG_CANNOT_SWIM: return 14;
|
||||
case UNIT_FLAG_SWIMMING: return 15;
|
||||
case UNIT_FLAG_NON_ATTACKABLE_2: return 16;
|
||||
case UNIT_FLAG_PACIFIED: return 17;
|
||||
case UNIT_FLAG_STUNNED: return 18;
|
||||
case UNIT_FLAG_IN_COMBAT: return 19;
|
||||
case UNIT_FLAG_TAXI_FLIGHT: return 20;
|
||||
case UNIT_FLAG_DISARMED: return 21;
|
||||
case UNIT_FLAG_CONFUSED: return 22;
|
||||
case UNIT_FLAG_FLEEING: return 23;
|
||||
case UNIT_FLAG_POSSESSED: return 24;
|
||||
case UNIT_FLAG_NOT_SELECTABLE: return 25;
|
||||
case UNIT_FLAG_SKINNABLE: return 26;
|
||||
case UNIT_FLAG_MOUNT: return 27;
|
||||
case UNIT_FLAG_UNK_28: return 28;
|
||||
case UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT: return 29;
|
||||
case UNIT_FLAG_SHEATHE: return 30;
|
||||
case UNIT_FLAG_IMMUNE: return 31;
|
||||
default: throw std::out_of_range("value");
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************************************\
|
||||
|* data for enum 'NPCFlags' in 'Unit.h' auto-generated *|
|
||||
\*******************************************************/
|
||||
template <>
|
||||
AC_API_EXPORT EnumText EnumUtils<NPCFlags>::ToString(NPCFlags value)
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case UNIT_NPC_FLAG_GOSSIP: return { "UNIT_NPC_FLAG_GOSSIP", "has gossip menu", "100%" };
|
||||
case UNIT_NPC_FLAG_QUESTGIVER: return { "UNIT_NPC_FLAG_QUESTGIVER", "is quest giver", "guessed, probably ok" };
|
||||
case UNIT_NPC_FLAG_UNK1: return { "UNIT_NPC_FLAG_UNK1", "UNIT_NPC_FLAG_UNK1", "" };
|
||||
case UNIT_NPC_FLAG_UNK2: return { "UNIT_NPC_FLAG_UNK2", "UNIT_NPC_FLAG_UNK2", "" };
|
||||
case UNIT_NPC_FLAG_TRAINER: return { "UNIT_NPC_FLAG_TRAINER", "is trainer", "100%" };
|
||||
case UNIT_NPC_FLAG_TRAINER_CLASS: return { "UNIT_NPC_FLAG_TRAINER_CLASS", "is class trainer", "100%" };
|
||||
case UNIT_NPC_FLAG_TRAINER_PROFESSION: return { "UNIT_NPC_FLAG_TRAINER_PROFESSION", "is profession trainer", "100%" };
|
||||
case UNIT_NPC_FLAG_VENDOR: return { "UNIT_NPC_FLAG_VENDOR", "is vendor (generic)", "100%" };
|
||||
case UNIT_NPC_FLAG_VENDOR_AMMO: return { "UNIT_NPC_FLAG_VENDOR_AMMO", "is vendor (ammo)", "100%, general goods vendor" };
|
||||
case UNIT_NPC_FLAG_VENDOR_FOOD: return { "UNIT_NPC_FLAG_VENDOR_FOOD", "is vendor (food)", "100%" };
|
||||
case UNIT_NPC_FLAG_VENDOR_POISON: return { "UNIT_NPC_FLAG_VENDOR_POISON", "is vendor (poison)", "guessed" };
|
||||
case UNIT_NPC_FLAG_VENDOR_REAGENT: return { "UNIT_NPC_FLAG_VENDOR_REAGENT", "is vendor (reagents)", "100%" };
|
||||
case UNIT_NPC_FLAG_REPAIR: return { "UNIT_NPC_FLAG_REPAIR", "can repair", "100%" };
|
||||
case UNIT_NPC_FLAG_FLIGHTMASTER: return { "UNIT_NPC_FLAG_FLIGHTMASTER", "is flight master", "100%" };
|
||||
case UNIT_NPC_FLAG_SPIRITHEALER: return { "UNIT_NPC_FLAG_SPIRITHEALER", "is spirit healer", "guessed" };
|
||||
case UNIT_NPC_FLAG_SPIRITGUIDE: return { "UNIT_NPC_FLAG_SPIRITGUIDE", "is spirit guide", "guessed" };
|
||||
case UNIT_NPC_FLAG_INNKEEPER: return { "UNIT_NPC_FLAG_INNKEEPER", "is innkeeper", "" };
|
||||
case UNIT_NPC_FLAG_BANKER: return { "UNIT_NPC_FLAG_BANKER", "is banker", "100%" };
|
||||
case UNIT_NPC_FLAG_PETITIONER: return { "UNIT_NPC_FLAG_PETITIONER", "handles guild/arena petitions", "100% 0xC0000 = guild petitions, 0x40000 = arena team petitions" };
|
||||
case UNIT_NPC_FLAG_TABARDDESIGNER: return { "UNIT_NPC_FLAG_TABARDDESIGNER", "is guild tabard designer", "100%" };
|
||||
case UNIT_NPC_FLAG_BATTLEMASTER: return { "UNIT_NPC_FLAG_BATTLEMASTER", "is battlemaster", "100%" };
|
||||
case UNIT_NPC_FLAG_AUCTIONEER: return { "UNIT_NPC_FLAG_AUCTIONEER", "is auctioneer", "100%" };
|
||||
case UNIT_NPC_FLAG_STABLEMASTER: return { "UNIT_NPC_FLAG_STABLEMASTER", "is stable master", "100%" };
|
||||
case UNIT_NPC_FLAG_GUILD_BANKER: return { "UNIT_NPC_FLAG_GUILD_BANKER", "is guild banker", "cause client to send 997 opcode" };
|
||||
case UNIT_NPC_FLAG_SPELLCLICK: return { "UNIT_NPC_FLAG_SPELLCLICK", "has spell click enabled", "cause client to send 1015 opcode (spell click)" };
|
||||
case UNIT_NPC_FLAG_PLAYER_VEHICLE: return { "UNIT_NPC_FLAG_PLAYER_VEHICLE", "is player vehicle", "players with mounts that have vehicle data should have it set" };
|
||||
case UNIT_NPC_FLAG_MAILBOX: return { "UNIT_NPC_FLAG_MAILBOX", "is mailbox", "" };
|
||||
default: throw std::out_of_range("value");
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
AC_API_EXPORT size_t EnumUtils<NPCFlags>::Count() { return 27; }
|
||||
|
||||
template <>
|
||||
AC_API_EXPORT NPCFlags EnumUtils<NPCFlags>::FromIndex(size_t index)
|
||||
{
|
||||
switch (index)
|
||||
{
|
||||
case 0: return UNIT_NPC_FLAG_GOSSIP;
|
||||
case 1: return UNIT_NPC_FLAG_QUESTGIVER;
|
||||
case 2: return UNIT_NPC_FLAG_UNK1;
|
||||
case 3: return UNIT_NPC_FLAG_UNK2;
|
||||
case 4: return UNIT_NPC_FLAG_TRAINER;
|
||||
case 5: return UNIT_NPC_FLAG_TRAINER_CLASS;
|
||||
case 6: return UNIT_NPC_FLAG_TRAINER_PROFESSION;
|
||||
case 7: return UNIT_NPC_FLAG_VENDOR;
|
||||
case 8: return UNIT_NPC_FLAG_VENDOR_AMMO;
|
||||
case 9: return UNIT_NPC_FLAG_VENDOR_FOOD;
|
||||
case 10: return UNIT_NPC_FLAG_VENDOR_POISON;
|
||||
case 11: return UNIT_NPC_FLAG_VENDOR_REAGENT;
|
||||
case 12: return UNIT_NPC_FLAG_REPAIR;
|
||||
case 13: return UNIT_NPC_FLAG_FLIGHTMASTER;
|
||||
case 14: return UNIT_NPC_FLAG_SPIRITHEALER;
|
||||
case 15: return UNIT_NPC_FLAG_SPIRITGUIDE;
|
||||
case 16: return UNIT_NPC_FLAG_INNKEEPER;
|
||||
case 17: return UNIT_NPC_FLAG_BANKER;
|
||||
case 18: return UNIT_NPC_FLAG_PETITIONER;
|
||||
case 19: return UNIT_NPC_FLAG_TABARDDESIGNER;
|
||||
case 20: return UNIT_NPC_FLAG_BATTLEMASTER;
|
||||
case 21: return UNIT_NPC_FLAG_AUCTIONEER;
|
||||
case 22: return UNIT_NPC_FLAG_STABLEMASTER;
|
||||
case 23: return UNIT_NPC_FLAG_GUILD_BANKER;
|
||||
case 24: return UNIT_NPC_FLAG_SPELLCLICK;
|
||||
case 25: return UNIT_NPC_FLAG_PLAYER_VEHICLE;
|
||||
case 26: return UNIT_NPC_FLAG_MAILBOX;
|
||||
default: throw std::out_of_range("index");
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
AC_API_EXPORT size_t EnumUtils<NPCFlags>::ToIndex(NPCFlags value)
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case UNIT_NPC_FLAG_GOSSIP: return 0;
|
||||
case UNIT_NPC_FLAG_QUESTGIVER: return 1;
|
||||
case UNIT_NPC_FLAG_UNK1: return 2;
|
||||
case UNIT_NPC_FLAG_UNK2: return 3;
|
||||
case UNIT_NPC_FLAG_TRAINER: return 4;
|
||||
case UNIT_NPC_FLAG_TRAINER_CLASS: return 5;
|
||||
case UNIT_NPC_FLAG_TRAINER_PROFESSION: return 6;
|
||||
case UNIT_NPC_FLAG_VENDOR: return 7;
|
||||
case UNIT_NPC_FLAG_VENDOR_AMMO: return 8;
|
||||
case UNIT_NPC_FLAG_VENDOR_FOOD: return 9;
|
||||
case UNIT_NPC_FLAG_VENDOR_POISON: return 10;
|
||||
case UNIT_NPC_FLAG_VENDOR_REAGENT: return 11;
|
||||
case UNIT_NPC_FLAG_REPAIR: return 12;
|
||||
case UNIT_NPC_FLAG_FLIGHTMASTER: return 13;
|
||||
case UNIT_NPC_FLAG_SPIRITHEALER: return 14;
|
||||
case UNIT_NPC_FLAG_SPIRITGUIDE: return 15;
|
||||
case UNIT_NPC_FLAG_INNKEEPER: return 16;
|
||||
case UNIT_NPC_FLAG_BANKER: return 17;
|
||||
case UNIT_NPC_FLAG_PETITIONER: return 18;
|
||||
case UNIT_NPC_FLAG_TABARDDESIGNER: return 19;
|
||||
case UNIT_NPC_FLAG_BATTLEMASTER: return 20;
|
||||
case UNIT_NPC_FLAG_AUCTIONEER: return 21;
|
||||
case UNIT_NPC_FLAG_STABLEMASTER: return 22;
|
||||
case UNIT_NPC_FLAG_GUILD_BANKER: return 23;
|
||||
case UNIT_NPC_FLAG_SPELLCLICK: return 24;
|
||||
case UNIT_NPC_FLAG_PLAYER_VEHICLE: return 25;
|
||||
case UNIT_NPC_FLAG_MAILBOX: return 26;
|
||||
default: throw std::out_of_range("value");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user