diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/scripts/Commands/cs_debug.cpp | 14 | ||||
| -rw-r--r-- | src/server/shared/SharedDefines.h | 3 | ||||
| -rw-r--r-- | src/server/shared/enuminfo_SharedDefines.cpp | 372 | 
3 files changed, 385 insertions, 4 deletions
diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp index eca67c1bf8e..eab6cc6993d 100644 --- a/src/server/scripts/Commands/cs_debug.cpp +++ b/src/server/scripts/Commands/cs_debug.cpp @@ -1242,11 +1242,19 @@ public:          return true;      } -    //show animation -    static bool HandleDebugAnimCommand(ChatHandler* handler, uint32 emoteId) +    // Play emote animation +    static bool HandleDebugAnimCommand(ChatHandler* handler, Emote emote)      {          if (Unit* unit = handler->getSelectedUnit()) -            unit->HandleEmoteCommand(static_cast<Emote>(emoteId)); +            unit->HandleEmoteCommand(emote); + +        try +        { +            handler->PSendSysMessage("Playing emote %s", EnumUtils::ToConstant(emote)); +        } catch (...) +        { +            handler->PSendSysMessage("Playing unknown emote"); +        }          return true;      } diff --git a/src/server/shared/SharedDefines.h b/src/server/shared/SharedDefines.h index 171f5e5c172..5af36fcfc1c 100644 --- a/src/server/shared/SharedDefines.h +++ b/src/server/shared/SharedDefines.h @@ -1922,9 +1922,10 @@ enum TextEmotes  };  // Emotes.dbc +// EnumUtils: DESCRIBE THIS  enum Emote : uint32  { -    EMOTE_ONESHOT_NONE                  = 0, +    EMOTE_ONESHOT_NONE                  = 0, // SKIP      EMOTE_ONESHOT_TALK                  = 1,      EMOTE_ONESHOT_BOW                   = 2,      EMOTE_ONESHOT_WAVE                  = 3, diff --git a/src/server/shared/enuminfo_SharedDefines.cpp b/src/server/shared/enuminfo_SharedDefines.cpp index a1c7428c68f..c2fa150bcf6 100644 --- a/src/server/shared/enuminfo_SharedDefines.cpp +++ b/src/server/shared/enuminfo_SharedDefines.cpp @@ -1045,6 +1045,378 @@ TC_API_EXPORT SpellPreventionType EnumUtils<SpellPreventionType>::FromIndex(size      }  } +/*************************************************************\ +|* data for enum 'Emote' in 'SharedDefines.h' auto-generated *| +\*************************************************************/ +template <> +TC_API_EXPORT EnumText EnumUtils<Emote>::ToString(Emote value) +{ +    switch (value) +    { +        case EMOTE_ONESHOT_TALK: return { "EMOTE_ONESHOT_TALK", "EMOTE_ONESHOT_TALK", "" }; +        case EMOTE_ONESHOT_BOW: return { "EMOTE_ONESHOT_BOW", "EMOTE_ONESHOT_BOW", "" }; +        case EMOTE_ONESHOT_WAVE: return { "EMOTE_ONESHOT_WAVE", "EMOTE_ONESHOT_WAVE", "" }; +        case EMOTE_ONESHOT_CHEER: return { "EMOTE_ONESHOT_CHEER", "EMOTE_ONESHOT_CHEER", "" }; +        case EMOTE_ONESHOT_EXCLAMATION: return { "EMOTE_ONESHOT_EXCLAMATION", "EMOTE_ONESHOT_EXCLAMATION", "" }; +        case EMOTE_ONESHOT_QUESTION: return { "EMOTE_ONESHOT_QUESTION", "EMOTE_ONESHOT_QUESTION", "" }; +        case EMOTE_ONESHOT_EAT: return { "EMOTE_ONESHOT_EAT", "EMOTE_ONESHOT_EAT", "" }; +        case EMOTE_STATE_DANCE: return { "EMOTE_STATE_DANCE", "EMOTE_STATE_DANCE", "" }; +        case EMOTE_ONESHOT_LAUGH: return { "EMOTE_ONESHOT_LAUGH", "EMOTE_ONESHOT_LAUGH", "" }; +        case EMOTE_STATE_SLEEP: return { "EMOTE_STATE_SLEEP", "EMOTE_STATE_SLEEP", "" }; +        case EMOTE_STATE_SIT: return { "EMOTE_STATE_SIT", "EMOTE_STATE_SIT", "" }; +        case EMOTE_ONESHOT_RUDE: return { "EMOTE_ONESHOT_RUDE", "EMOTE_ONESHOT_RUDE", "" }; +        case EMOTE_ONESHOT_ROAR: return { "EMOTE_ONESHOT_ROAR", "EMOTE_ONESHOT_ROAR", "" }; +        case EMOTE_ONESHOT_KNEEL: return { "EMOTE_ONESHOT_KNEEL", "EMOTE_ONESHOT_KNEEL", "" }; +        case EMOTE_ONESHOT_KISS: return { "EMOTE_ONESHOT_KISS", "EMOTE_ONESHOT_KISS", "" }; +        case EMOTE_ONESHOT_CRY: return { "EMOTE_ONESHOT_CRY", "EMOTE_ONESHOT_CRY", "" }; +        case EMOTE_ONESHOT_CHICKEN: return { "EMOTE_ONESHOT_CHICKEN", "EMOTE_ONESHOT_CHICKEN", "" }; +        case EMOTE_ONESHOT_BEG: return { "EMOTE_ONESHOT_BEG", "EMOTE_ONESHOT_BEG", "" }; +        case EMOTE_ONESHOT_APPLAUD: return { "EMOTE_ONESHOT_APPLAUD", "EMOTE_ONESHOT_APPLAUD", "" }; +        case EMOTE_ONESHOT_SHOUT: return { "EMOTE_ONESHOT_SHOUT", "EMOTE_ONESHOT_SHOUT", "" }; +        case EMOTE_ONESHOT_FLEX: return { "EMOTE_ONESHOT_FLEX", "EMOTE_ONESHOT_FLEX", "" }; +        case EMOTE_ONESHOT_SHY: return { "EMOTE_ONESHOT_SHY", "EMOTE_ONESHOT_SHY", "" }; +        case EMOTE_ONESHOT_POINT: return { "EMOTE_ONESHOT_POINT", "EMOTE_ONESHOT_POINT", "" }; +        case EMOTE_STATE_STAND: return { "EMOTE_STATE_STAND", "EMOTE_STATE_STAND", "" }; +        case EMOTE_STATE_READY_UNARMED: return { "EMOTE_STATE_READY_UNARMED", "EMOTE_STATE_READY_UNARMED", "" }; +        case EMOTE_STATE_WORK_SHEATHED: return { "EMOTE_STATE_WORK_SHEATHED", "EMOTE_STATE_WORK_SHEATHED", "" }; +        case EMOTE_STATE_POINT: return { "EMOTE_STATE_POINT", "EMOTE_STATE_POINT", "" }; +        case EMOTE_STATE_NONE: return { "EMOTE_STATE_NONE", "EMOTE_STATE_NONE", "" }; +        case EMOTE_ONESHOT_WOUND: return { "EMOTE_ONESHOT_WOUND", "EMOTE_ONESHOT_WOUND", "" }; +        case EMOTE_ONESHOT_WOUND_CRITICAL: return { "EMOTE_ONESHOT_WOUND_CRITICAL", "EMOTE_ONESHOT_WOUND_CRITICAL", "" }; +        case EMOTE_ONESHOT_ATTACK_UNARMED: return { "EMOTE_ONESHOT_ATTACK_UNARMED", "EMOTE_ONESHOT_ATTACK_UNARMED", "" }; +        case EMOTE_ONESHOT_ATTACK1H: return { "EMOTE_ONESHOT_ATTACK1H", "EMOTE_ONESHOT_ATTACK1H", "" }; +        case EMOTE_ONESHOT_ATTACK2HTIGHT: return { "EMOTE_ONESHOT_ATTACK2HTIGHT", "EMOTE_ONESHOT_ATTACK2HTIGHT", "" }; +        case EMOTE_ONESHOT_ATTACK2H_LOOSE: return { "EMOTE_ONESHOT_ATTACK2H_LOOSE", "EMOTE_ONESHOT_ATTACK2H_LOOSE", "" }; +        case EMOTE_ONESHOT_PARRY_UNARMED: return { "EMOTE_ONESHOT_PARRY_UNARMED", "EMOTE_ONESHOT_PARRY_UNARMED", "" }; +        case EMOTE_ONESHOT_PARRY_SHIELD: return { "EMOTE_ONESHOT_PARRY_SHIELD", "EMOTE_ONESHOT_PARRY_SHIELD", "" }; +        case EMOTE_ONESHOT_READY_UNARMED: return { "EMOTE_ONESHOT_READY_UNARMED", "EMOTE_ONESHOT_READY_UNARMED", "" }; +        case EMOTE_ONESHOT_READY1H: return { "EMOTE_ONESHOT_READY1H", "EMOTE_ONESHOT_READY1H", "" }; +        case EMOTE_ONESHOT_READY_BOW: return { "EMOTE_ONESHOT_READY_BOW", "EMOTE_ONESHOT_READY_BOW", "" }; +        case EMOTE_ONESHOT_SPELL_PRECAST: return { "EMOTE_ONESHOT_SPELL_PRECAST", "EMOTE_ONESHOT_SPELL_PRECAST", "" }; +        case EMOTE_ONESHOT_SPELL_CAST: return { "EMOTE_ONESHOT_SPELL_CAST", "EMOTE_ONESHOT_SPELL_CAST", "" }; +        case EMOTE_ONESHOT_BATTLE_ROAR: return { "EMOTE_ONESHOT_BATTLE_ROAR", "EMOTE_ONESHOT_BATTLE_ROAR", "" }; +        case EMOTE_ONESHOT_SPECIALATTACK1H: return { "EMOTE_ONESHOT_SPECIALATTACK1H", "EMOTE_ONESHOT_SPECIALATTACK1H", "" }; +        case EMOTE_ONESHOT_KICK: return { "EMOTE_ONESHOT_KICK", "EMOTE_ONESHOT_KICK", "" }; +        case EMOTE_ONESHOT_ATTACK_THROWN: return { "EMOTE_ONESHOT_ATTACK_THROWN", "EMOTE_ONESHOT_ATTACK_THROWN", "" }; +        case EMOTE_STATE_STUN: return { "EMOTE_STATE_STUN", "EMOTE_STATE_STUN", "" }; +        case EMOTE_STATE_DEAD: return { "EMOTE_STATE_DEAD", "EMOTE_STATE_DEAD", "" }; +        case EMOTE_ONESHOT_SALUTE: return { "EMOTE_ONESHOT_SALUTE", "EMOTE_ONESHOT_SALUTE", "" }; +        case EMOTE_STATE_KNEEL: return { "EMOTE_STATE_KNEEL", "EMOTE_STATE_KNEEL", "" }; +        case EMOTE_STATE_USE_STANDING: return { "EMOTE_STATE_USE_STANDING", "EMOTE_STATE_USE_STANDING", "" }; +        case EMOTE_ONESHOT_WAVE_NO_SHEATHE: return { "EMOTE_ONESHOT_WAVE_NO_SHEATHE", "EMOTE_ONESHOT_WAVE_NO_SHEATHE", "" }; +        case EMOTE_ONESHOT_CHEER_NO_SHEATHE: return { "EMOTE_ONESHOT_CHEER_NO_SHEATHE", "EMOTE_ONESHOT_CHEER_NO_SHEATHE", "" }; +        case EMOTE_ONESHOT_EAT_NO_SHEATHE: return { "EMOTE_ONESHOT_EAT_NO_SHEATHE", "EMOTE_ONESHOT_EAT_NO_SHEATHE", "" }; +        case EMOTE_STATE_STUN_NO_SHEATHE: return { "EMOTE_STATE_STUN_NO_SHEATHE", "EMOTE_STATE_STUN_NO_SHEATHE", "" }; +        case EMOTE_ONESHOT_DANCE: return { "EMOTE_ONESHOT_DANCE", "EMOTE_ONESHOT_DANCE", "" }; +        case EMOTE_ONESHOT_SALUTE_NO_SHEATH: return { "EMOTE_ONESHOT_SALUTE_NO_SHEATH", "EMOTE_ONESHOT_SALUTE_NO_SHEATH", "" }; +        case EMOTE_STATE_USE_STANDING_NO_SHEATHE: return { "EMOTE_STATE_USE_STANDING_NO_SHEATHE", "EMOTE_STATE_USE_STANDING_NO_SHEATHE", "" }; +        case EMOTE_ONESHOT_LAUGH_NO_SHEATHE: return { "EMOTE_ONESHOT_LAUGH_NO_SHEATHE", "EMOTE_ONESHOT_LAUGH_NO_SHEATHE", "" }; +        case EMOTE_STATE_WORK: return { "EMOTE_STATE_WORK", "EMOTE_STATE_WORK", "" }; +        case EMOTE_STATE_SPELL_PRECAST: return { "EMOTE_STATE_SPELL_PRECAST", "EMOTE_STATE_SPELL_PRECAST", "" }; +        case EMOTE_ONESHOT_READY_RIFLE: return { "EMOTE_ONESHOT_READY_RIFLE", "EMOTE_ONESHOT_READY_RIFLE", "" }; +        case EMOTE_STATE_READY_RIFLE: return { "EMOTE_STATE_READY_RIFLE", "EMOTE_STATE_READY_RIFLE", "" }; +        case EMOTE_STATE_WORK_MINING: return { "EMOTE_STATE_WORK_MINING", "EMOTE_STATE_WORK_MINING", "" }; +        case EMOTE_STATE_WORK_CHOPWOOD: return { "EMOTE_STATE_WORK_CHOPWOOD", "EMOTE_STATE_WORK_CHOPWOOD", "" }; +        case EMOTE_STATE_APPLAUD: return { "EMOTE_STATE_APPLAUD", "EMOTE_STATE_APPLAUD", "" }; +        case EMOTE_ONESHOT_LIFTOFF: return { "EMOTE_ONESHOT_LIFTOFF", "EMOTE_ONESHOT_LIFTOFF", "" }; +        case EMOTE_ONESHOT_YES: return { "EMOTE_ONESHOT_YES", "EMOTE_ONESHOT_YES", "" }; +        case EMOTE_ONESHOT_NO: return { "EMOTE_ONESHOT_NO", "EMOTE_ONESHOT_NO", "" }; +        case EMOTE_ONESHOT_TRAIN: return { "EMOTE_ONESHOT_TRAIN", "EMOTE_ONESHOT_TRAIN", "" }; +        case EMOTE_ONESHOT_LAND: return { "EMOTE_ONESHOT_LAND", "EMOTE_ONESHOT_LAND", "" }; +        case EMOTE_STATE_AT_EASE: return { "EMOTE_STATE_AT_EASE", "EMOTE_STATE_AT_EASE", "" }; +        case EMOTE_STATE_READY1H: return { "EMOTE_STATE_READY1H", "EMOTE_STATE_READY1H", "" }; +        case EMOTE_STATE_SPELL_KNEEL_START: return { "EMOTE_STATE_SPELL_KNEEL_START", "EMOTE_STATE_SPELL_KNEEL_START", "" }; +        case EMOTE_STATE_SUBMERGED: return { "EMOTE_STATE_SUBMERGED", "EMOTE_STATE_SUBMERGED", "" }; +        case EMOTE_ONESHOT_SUBMERGE: return { "EMOTE_ONESHOT_SUBMERGE", "EMOTE_ONESHOT_SUBMERGE", "" }; +        case EMOTE_STATE_READY2H: return { "EMOTE_STATE_READY2H", "EMOTE_STATE_READY2H", "" }; +        case EMOTE_STATE_READY_BOW: return { "EMOTE_STATE_READY_BOW", "EMOTE_STATE_READY_BOW", "" }; +        case EMOTE_ONESHOT_MOUNT_SPECIAL: return { "EMOTE_ONESHOT_MOUNT_SPECIAL", "EMOTE_ONESHOT_MOUNT_SPECIAL", "" }; +        case EMOTE_STATE_TALK: return { "EMOTE_STATE_TALK", "EMOTE_STATE_TALK", "" }; +        case EMOTE_STATE_FISHING: return { "EMOTE_STATE_FISHING", "EMOTE_STATE_FISHING", "" }; +        case EMOTE_ONESHOT_FISHING: return { "EMOTE_ONESHOT_FISHING", "EMOTE_ONESHOT_FISHING", "" }; +        case EMOTE_ONESHOT_LOOT: return { "EMOTE_ONESHOT_LOOT", "EMOTE_ONESHOT_LOOT", "" }; +        case EMOTE_STATE_WHIRLWIND: return { "EMOTE_STATE_WHIRLWIND", "EMOTE_STATE_WHIRLWIND", "" }; +        case EMOTE_STATE_DROWNED: return { "EMOTE_STATE_DROWNED", "EMOTE_STATE_DROWNED", "" }; +        case EMOTE_STATE_HOLD_BOW: return { "EMOTE_STATE_HOLD_BOW", "EMOTE_STATE_HOLD_BOW", "" }; +        case EMOTE_STATE_HOLD_RIFLE: return { "EMOTE_STATE_HOLD_RIFLE", "EMOTE_STATE_HOLD_RIFLE", "" }; +        case EMOTE_STATE_HOLD_THROWN: return { "EMOTE_STATE_HOLD_THROWN", "EMOTE_STATE_HOLD_THROWN", "" }; +        case EMOTE_ONESHOT_DROWN: return { "EMOTE_ONESHOT_DROWN", "EMOTE_ONESHOT_DROWN", "" }; +        case EMOTE_ONESHOT_STOMP: return { "EMOTE_ONESHOT_STOMP", "EMOTE_ONESHOT_STOMP", "" }; +        case EMOTE_ONESHOT_ATTACK_OFF: return { "EMOTE_ONESHOT_ATTACK_OFF", "EMOTE_ONESHOT_ATTACK_OFF", "" }; +        case EMOTE_ONESHOT_ATTACK_OFF_PIERCE: return { "EMOTE_ONESHOT_ATTACK_OFF_PIERCE", "EMOTE_ONESHOT_ATTACK_OFF_PIERCE", "" }; +        case EMOTE_STATE_ROAR: return { "EMOTE_STATE_ROAR", "EMOTE_STATE_ROAR", "" }; +        case EMOTE_STATE_LAUGH: return { "EMOTE_STATE_LAUGH", "EMOTE_STATE_LAUGH", "" }; +        case EMOTE_ONESHOT_CREATURE_SPECIAL: return { "EMOTE_ONESHOT_CREATURE_SPECIAL", "EMOTE_ONESHOT_CREATURE_SPECIAL", "" }; +        case EMOTE_ONESHOT_JUMPLANDRUN: return { "EMOTE_ONESHOT_JUMPLANDRUN", "EMOTE_ONESHOT_JUMPLANDRUN", "" }; +        case EMOTE_ONESHOT_JUMPEND: return { "EMOTE_ONESHOT_JUMPEND", "EMOTE_ONESHOT_JUMPEND", "" }; +        case EMOTE_ONESHOT_TALK_NO_SHEATHE: return { "EMOTE_ONESHOT_TALK_NO_SHEATHE", "EMOTE_ONESHOT_TALK_NO_SHEATHE", "" }; +        case EMOTE_ONESHOT_POINT_NO_SHEATHE: return { "EMOTE_ONESHOT_POINT_NO_SHEATHE", "EMOTE_ONESHOT_POINT_NO_SHEATHE", "" }; +        case EMOTE_STATE_CANNIBALIZE: return { "EMOTE_STATE_CANNIBALIZE", "EMOTE_STATE_CANNIBALIZE", "" }; +        case EMOTE_ONESHOT_JUMPSTART: return { "EMOTE_ONESHOT_JUMPSTART", "EMOTE_ONESHOT_JUMPSTART", "" }; +        case EMOTE_STATE_DANCESPECIAL: return { "EMOTE_STATE_DANCESPECIAL", "EMOTE_STATE_DANCESPECIAL", "" }; +        case EMOTE_ONESHOT_DANCESPECIAL: return { "EMOTE_ONESHOT_DANCESPECIAL", "EMOTE_ONESHOT_DANCESPECIAL", "" }; +        case EMOTE_ONESHOT_CUSTOM_SPELL_01: return { "EMOTE_ONESHOT_CUSTOM_SPELL_01", "EMOTE_ONESHOT_CUSTOM_SPELL_01", "" }; +        case EMOTE_ONESHOT_CUSTOM_SPELL_02: return { "EMOTE_ONESHOT_CUSTOM_SPELL_02", "EMOTE_ONESHOT_CUSTOM_SPELL_02", "" }; +        case EMOTE_ONESHOT_CUSTOM_SPELL_03: return { "EMOTE_ONESHOT_CUSTOM_SPELL_03", "EMOTE_ONESHOT_CUSTOM_SPELL_03", "" }; +        case EMOTE_ONESHOT_CUSTOM_SPELL_04: return { "EMOTE_ONESHOT_CUSTOM_SPELL_04", "EMOTE_ONESHOT_CUSTOM_SPELL_04", "" }; +        case EMOTE_ONESHOT_CUSTOM_SPELL_05: return { "EMOTE_ONESHOT_CUSTOM_SPELL_05", "EMOTE_ONESHOT_CUSTOM_SPELL_05", "" }; +        case EMOTE_ONESHOT_CUSTOM_SPELL_06: return { "EMOTE_ONESHOT_CUSTOM_SPELL_06", "EMOTE_ONESHOT_CUSTOM_SPELL_06", "" }; +        case EMOTE_ONESHOT_CUSTOM_SPELL_07: return { "EMOTE_ONESHOT_CUSTOM_SPELL_07", "EMOTE_ONESHOT_CUSTOM_SPELL_07", "" }; +        case EMOTE_ONESHOT_CUSTOM_SPELL_08: return { "EMOTE_ONESHOT_CUSTOM_SPELL_08", "EMOTE_ONESHOT_CUSTOM_SPELL_08", "" }; +        case EMOTE_ONESHOT_CUSTOM_SPELL_09: return { "EMOTE_ONESHOT_CUSTOM_SPELL_09", "EMOTE_ONESHOT_CUSTOM_SPELL_09", "" }; +        case EMOTE_ONESHOT_CUSTOM_SPELL_10: return { "EMOTE_ONESHOT_CUSTOM_SPELL_10", "EMOTE_ONESHOT_CUSTOM_SPELL_10", "" }; +        case EMOTE_STATE_EXCLAIM: return { "EMOTE_STATE_EXCLAIM", "EMOTE_STATE_EXCLAIM", "" }; +        case EMOTE_STATE_DANCE_CUSTOM: return { "EMOTE_STATE_DANCE_CUSTOM", "EMOTE_STATE_DANCE_CUSTOM", "" }; +        case EMOTE_STATE_SIT_CHAIR_MED: return { "EMOTE_STATE_SIT_CHAIR_MED", "EMOTE_STATE_SIT_CHAIR_MED", "" }; +        case EMOTE_STATE_CUSTOM_SPELL_01: return { "EMOTE_STATE_CUSTOM_SPELL_01", "EMOTE_STATE_CUSTOM_SPELL_01", "" }; +        case EMOTE_STATE_CUSTOM_SPELL_02: return { "EMOTE_STATE_CUSTOM_SPELL_02", "EMOTE_STATE_CUSTOM_SPELL_02", "" }; +        case EMOTE_STATE_EAT: return { "EMOTE_STATE_EAT", "EMOTE_STATE_EAT", "" }; +        case EMOTE_STATE_CUSTOM_SPELL_04: return { "EMOTE_STATE_CUSTOM_SPELL_04", "EMOTE_STATE_CUSTOM_SPELL_04", "" }; +        case EMOTE_STATE_CUSTOM_SPELL_03: return { "EMOTE_STATE_CUSTOM_SPELL_03", "EMOTE_STATE_CUSTOM_SPELL_03", "" }; +        case EMOTE_STATE_CUSTOM_SPELL_05: return { "EMOTE_STATE_CUSTOM_SPELL_05", "EMOTE_STATE_CUSTOM_SPELL_05", "" }; +        case EMOTE_STATE_SPELLEFFECT_HOLD: return { "EMOTE_STATE_SPELLEFFECT_HOLD", "EMOTE_STATE_SPELLEFFECT_HOLD", "" }; +        case EMOTE_STATE_EAT_NO_SHEATHE: return { "EMOTE_STATE_EAT_NO_SHEATHE", "EMOTE_STATE_EAT_NO_SHEATHE", "" }; +        case EMOTE_STATE_MOUNT: return { "EMOTE_STATE_MOUNT", "EMOTE_STATE_MOUNT", "" }; +        case EMOTE_STATE_READY2HL: return { "EMOTE_STATE_READY2HL", "EMOTE_STATE_READY2HL", "" }; +        case EMOTE_STATE_SIT_CHAIR_HIGH: return { "EMOTE_STATE_SIT_CHAIR_HIGH", "EMOTE_STATE_SIT_CHAIR_HIGH", "" }; +        case EMOTE_STATE_FALL: return { "EMOTE_STATE_FALL", "EMOTE_STATE_FALL", "" }; +        case EMOTE_STATE_LOOT: return { "EMOTE_STATE_LOOT", "EMOTE_STATE_LOOT", "" }; +        case EMOTE_STATE_SUBMERGED_NEW: return { "EMOTE_STATE_SUBMERGED_NEW", "EMOTE_STATE_SUBMERGED_NEW", "" }; +        case EMOTE_ONESHOT_COWER: return { "EMOTE_ONESHOT_COWER", "EMOTE_ONESHOT_COWER", "" }; +        case EMOTE_STATE_COWER: return { "EMOTE_STATE_COWER", "EMOTE_STATE_COWER", "" }; +        case EMOTE_ONESHOT_USE_STANDING: return { "EMOTE_ONESHOT_USE_STANDING", "EMOTE_ONESHOT_USE_STANDING", "" }; +        case EMOTE_STATE_STEALTH_STAND: return { "EMOTE_STATE_STEALTH_STAND", "EMOTE_STATE_STEALTH_STAND", "" }; +        case EMOTE_ONESHOT_OMNICAST_GHOUL: return { "EMOTE_ONESHOT_OMNICAST_GHOUL", "EMOTE_ONESHOT_OMNICAST_GHOUL", "" }; +        case EMOTE_ONESHOT_ATTACK_BOW: return { "EMOTE_ONESHOT_ATTACK_BOW", "EMOTE_ONESHOT_ATTACK_BOW", "" }; +        case EMOTE_ONESHOT_ATTACK_RIFLE: return { "EMOTE_ONESHOT_ATTACK_RIFLE", "EMOTE_ONESHOT_ATTACK_RIFLE", "" }; +        case EMOTE_STATE_SWIM_IDLE: return { "EMOTE_STATE_SWIM_IDLE", "EMOTE_STATE_SWIM_IDLE", "" }; +        case EMOTE_STATE_ATTACK_UNARMED: return { "EMOTE_STATE_ATTACK_UNARMED", "EMOTE_STATE_ATTACK_UNARMED", "" }; +        case EMOTE_ONESHOT_SPELL_CAST_W_SOUND: return { "EMOTE_ONESHOT_SPELL_CAST_W_SOUND", "EMOTE_ONESHOT_SPELL_CAST_W_SOUND", "" }; +        case EMOTE_ONESHOT_DODGE: return { "EMOTE_ONESHOT_DODGE", "EMOTE_ONESHOT_DODGE", "" }; +        case EMOTE_ONESHOT_PARRY1H: return { "EMOTE_ONESHOT_PARRY1H", "EMOTE_ONESHOT_PARRY1H", "" }; +        case EMOTE_ONESHOT_PARRY2H: return { "EMOTE_ONESHOT_PARRY2H", "EMOTE_ONESHOT_PARRY2H", "" }; +        case EMOTE_ONESHOT_PARRY2HL: return { "EMOTE_ONESHOT_PARRY2HL", "EMOTE_ONESHOT_PARRY2HL", "" }; +        case EMOTE_STATE_FLYFALL: return { "EMOTE_STATE_FLYFALL", "EMOTE_STATE_FLYFALL", "" }; +        case EMOTE_ONESHOT_FLYDEATH: return { "EMOTE_ONESHOT_FLYDEATH", "EMOTE_ONESHOT_FLYDEATH", "" }; +        case EMOTE_STATE_FLY_FALL: return { "EMOTE_STATE_FLY_FALL", "EMOTE_STATE_FLY_FALL", "" }; +        case EMOTE_ONESHOT_FLY_SIT_GROUND_DOWN: return { "EMOTE_ONESHOT_FLY_SIT_GROUND_DOWN", "EMOTE_ONESHOT_FLY_SIT_GROUND_DOWN", "" }; +        case EMOTE_ONESHOT_FLY_SIT_GROUND_UP: return { "EMOTE_ONESHOT_FLY_SIT_GROUND_UP", "EMOTE_ONESHOT_FLY_SIT_GROUND_UP", "" }; +        case EMOTE_ONESHOT_EMERGE: return { "EMOTE_ONESHOT_EMERGE", "EMOTE_ONESHOT_EMERGE", "" }; +        case EMOTE_ONESHOT_DRAGON_SPIT: return { "EMOTE_ONESHOT_DRAGON_SPIT", "EMOTE_ONESHOT_DRAGON_SPIT", "" }; +        case EMOTE_STATE_SPECIAL_UNARMED: return { "EMOTE_STATE_SPECIAL_UNARMED", "EMOTE_STATE_SPECIAL_UNARMED", "" }; +        case EMOTE_ONESHOT_FLYGRAB: return { "EMOTE_ONESHOT_FLYGRAB", "EMOTE_ONESHOT_FLYGRAB", "" }; +        case EMOTE_STATE_FLYGRABCLOSED: return { "EMOTE_STATE_FLYGRABCLOSED", "EMOTE_STATE_FLYGRABCLOSED", "" }; +        case EMOTE_ONESHOT_FLYGRABTHROWN: return { "EMOTE_ONESHOT_FLYGRABTHROWN", "EMOTE_ONESHOT_FLYGRABTHROWN", "" }; +        case EMOTE_STATE_FLY_SIT_GROUND: return { "EMOTE_STATE_FLY_SIT_GROUND", "EMOTE_STATE_FLY_SIT_GROUND", "" }; +        case EMOTE_STATE_WALK_BACKWARDS: return { "EMOTE_STATE_WALK_BACKWARDS", "EMOTE_STATE_WALK_BACKWARDS", "" }; +        case EMOTE_ONESHOT_FLYTALK: return { "EMOTE_ONESHOT_FLYTALK", "EMOTE_ONESHOT_FLYTALK", "" }; +        case EMOTE_ONESHOT_FLYATTACK1H: return { "EMOTE_ONESHOT_FLYATTACK1H", "EMOTE_ONESHOT_FLYATTACK1H", "" }; +        case EMOTE_STATE_CUSTOM_SPELL_08: return { "EMOTE_STATE_CUSTOM_SPELL_08", "EMOTE_STATE_CUSTOM_SPELL_08", "" }; +        case EMOTE_ONESHOT_FLY_DRAGON_SPIT: return { "EMOTE_ONESHOT_FLY_DRAGON_SPIT", "EMOTE_ONESHOT_FLY_DRAGON_SPIT", "" }; +        case EMOTE_STATE_SIT_CHAIR_LOW: return { "EMOTE_STATE_SIT_CHAIR_LOW", "EMOTE_STATE_SIT_CHAIR_LOW", "" }; +        case EMOTE_ONESHOT_STUN: return { "EMOTE_ONESHOT_STUN", "EMOTE_ONESHOT_STUN", "" }; +        case EMOTE_ONESHOT_SPELL_CAST_OMNI: return { "EMOTE_ONESHOT_SPELL_CAST_OMNI", "EMOTE_ONESHOT_SPELL_CAST_OMNI", "" }; +        case EMOTE_STATE_READY_THROWN: return { "EMOTE_STATE_READY_THROWN", "EMOTE_STATE_READY_THROWN", "" }; +        case EMOTE_ONESHOT_WORK_CHOPWOOD: return { "EMOTE_ONESHOT_WORK_CHOPWOOD", "EMOTE_ONESHOT_WORK_CHOPWOOD", "" }; +        case EMOTE_ONESHOT_WORK_MINING: return { "EMOTE_ONESHOT_WORK_MINING", "EMOTE_ONESHOT_WORK_MINING", "" }; +        case EMOTE_STATE_SPELL_CHANNEL_OMNI: return { "EMOTE_STATE_SPELL_CHANNEL_OMNI", "EMOTE_STATE_SPELL_CHANNEL_OMNI", "" }; +        case EMOTE_STATE_SPELL_CHANNEL_DIRECTED: return { "EMOTE_STATE_SPELL_CHANNEL_DIRECTED", "EMOTE_STATE_SPELL_CHANNEL_DIRECTED", "" }; +        case EMOTE_STAND_STATE_NONE: return { "EMOTE_STAND_STATE_NONE", "EMOTE_STAND_STATE_NONE", "" }; +        case EMOTE_STATE_READYJOUST: return { "EMOTE_STATE_READYJOUST", "EMOTE_STATE_READYJOUST", "" }; +        case EMOTE_STATE_STRANGULATE: return { "EMOTE_STATE_STRANGULATE", "EMOTE_STATE_STRANGULATE", "" }; +        case EMOTE_STATE_READY_SPELL_OMNI: return { "EMOTE_STATE_READY_SPELL_OMNI", "EMOTE_STATE_READY_SPELL_OMNI", "" }; +        case EMOTE_STATE_HOLD_JOUST: return { "EMOTE_STATE_HOLD_JOUST", "EMOTE_STATE_HOLD_JOUST", "" }; +        case EMOTE_ONESHOT_CRY_JAINA: return { "EMOTE_ONESHOT_CRY_JAINA", "EMOTE_ONESHOT_CRY_JAINA", "" }; +        default: throw std::out_of_range("value"); +    } +} + +template <> +TC_API_EXPORT size_t EnumUtils<Emote>::Count() { return 174; } + +template <> +TC_API_EXPORT Emote EnumUtils<Emote>::FromIndex(size_t index) +{ +    switch (index) +    { +        case 0: return EMOTE_ONESHOT_TALK; +        case 1: return EMOTE_ONESHOT_BOW; +        case 2: return EMOTE_ONESHOT_WAVE; +        case 3: return EMOTE_ONESHOT_CHEER; +        case 4: return EMOTE_ONESHOT_EXCLAMATION; +        case 5: return EMOTE_ONESHOT_QUESTION; +        case 6: return EMOTE_ONESHOT_EAT; +        case 7: return EMOTE_STATE_DANCE; +        case 8: return EMOTE_ONESHOT_LAUGH; +        case 9: return EMOTE_STATE_SLEEP; +        case 10: return EMOTE_STATE_SIT; +        case 11: return EMOTE_ONESHOT_RUDE; +        case 12: return EMOTE_ONESHOT_ROAR; +        case 13: return EMOTE_ONESHOT_KNEEL; +        case 14: return EMOTE_ONESHOT_KISS; +        case 15: return EMOTE_ONESHOT_CRY; +        case 16: return EMOTE_ONESHOT_CHICKEN; +        case 17: return EMOTE_ONESHOT_BEG; +        case 18: return EMOTE_ONESHOT_APPLAUD; +        case 19: return EMOTE_ONESHOT_SHOUT; +        case 20: return EMOTE_ONESHOT_FLEX; +        case 21: return EMOTE_ONESHOT_SHY; +        case 22: return EMOTE_ONESHOT_POINT; +        case 23: return EMOTE_STATE_STAND; +        case 24: return EMOTE_STATE_READY_UNARMED; +        case 25: return EMOTE_STATE_WORK_SHEATHED; +        case 26: return EMOTE_STATE_POINT; +        case 27: return EMOTE_STATE_NONE; +        case 28: return EMOTE_ONESHOT_WOUND; +        case 29: return EMOTE_ONESHOT_WOUND_CRITICAL; +        case 30: return EMOTE_ONESHOT_ATTACK_UNARMED; +        case 31: return EMOTE_ONESHOT_ATTACK1H; +        case 32: return EMOTE_ONESHOT_ATTACK2HTIGHT; +        case 33: return EMOTE_ONESHOT_ATTACK2H_LOOSE; +        case 34: return EMOTE_ONESHOT_PARRY_UNARMED; +        case 35: return EMOTE_ONESHOT_PARRY_SHIELD; +        case 36: return EMOTE_ONESHOT_READY_UNARMED; +        case 37: return EMOTE_ONESHOT_READY1H; +        case 38: return EMOTE_ONESHOT_READY_BOW; +        case 39: return EMOTE_ONESHOT_SPELL_PRECAST; +        case 40: return EMOTE_ONESHOT_SPELL_CAST; +        case 41: return EMOTE_ONESHOT_BATTLE_ROAR; +        case 42: return EMOTE_ONESHOT_SPECIALATTACK1H; +        case 43: return EMOTE_ONESHOT_KICK; +        case 44: return EMOTE_ONESHOT_ATTACK_THROWN; +        case 45: return EMOTE_STATE_STUN; +        case 46: return EMOTE_STATE_DEAD; +        case 47: return EMOTE_ONESHOT_SALUTE; +        case 48: return EMOTE_STATE_KNEEL; +        case 49: return EMOTE_STATE_USE_STANDING; +        case 50: return EMOTE_ONESHOT_WAVE_NO_SHEATHE; +        case 51: return EMOTE_ONESHOT_CHEER_NO_SHEATHE; +        case 52: return EMOTE_ONESHOT_EAT_NO_SHEATHE; +        case 53: return EMOTE_STATE_STUN_NO_SHEATHE; +        case 54: return EMOTE_ONESHOT_DANCE; +        case 55: return EMOTE_ONESHOT_SALUTE_NO_SHEATH; +        case 56: return EMOTE_STATE_USE_STANDING_NO_SHEATHE; +        case 57: return EMOTE_ONESHOT_LAUGH_NO_SHEATHE; +        case 58: return EMOTE_STATE_WORK; +        case 59: return EMOTE_STATE_SPELL_PRECAST; +        case 60: return EMOTE_ONESHOT_READY_RIFLE; +        case 61: return EMOTE_STATE_READY_RIFLE; +        case 62: return EMOTE_STATE_WORK_MINING; +        case 63: return EMOTE_STATE_WORK_CHOPWOOD; +        case 64: return EMOTE_STATE_APPLAUD; +        case 65: return EMOTE_ONESHOT_LIFTOFF; +        case 66: return EMOTE_ONESHOT_YES; +        case 67: return EMOTE_ONESHOT_NO; +        case 68: return EMOTE_ONESHOT_TRAIN; +        case 69: return EMOTE_ONESHOT_LAND; +        case 70: return EMOTE_STATE_AT_EASE; +        case 71: return EMOTE_STATE_READY1H; +        case 72: return EMOTE_STATE_SPELL_KNEEL_START; +        case 73: return EMOTE_STATE_SUBMERGED; +        case 74: return EMOTE_ONESHOT_SUBMERGE; +        case 75: return EMOTE_STATE_READY2H; +        case 76: return EMOTE_STATE_READY_BOW; +        case 77: return EMOTE_ONESHOT_MOUNT_SPECIAL; +        case 78: return EMOTE_STATE_TALK; +        case 79: return EMOTE_STATE_FISHING; +        case 80: return EMOTE_ONESHOT_FISHING; +        case 81: return EMOTE_ONESHOT_LOOT; +        case 82: return EMOTE_STATE_WHIRLWIND; +        case 83: return EMOTE_STATE_DROWNED; +        case 84: return EMOTE_STATE_HOLD_BOW; +        case 85: return EMOTE_STATE_HOLD_RIFLE; +        case 86: return EMOTE_STATE_HOLD_THROWN; +        case 87: return EMOTE_ONESHOT_DROWN; +        case 88: return EMOTE_ONESHOT_STOMP; +        case 89: return EMOTE_ONESHOT_ATTACK_OFF; +        case 90: return EMOTE_ONESHOT_ATTACK_OFF_PIERCE; +        case 91: return EMOTE_STATE_ROAR; +        case 92: return EMOTE_STATE_LAUGH; +        case 93: return EMOTE_ONESHOT_CREATURE_SPECIAL; +        case 94: return EMOTE_ONESHOT_JUMPLANDRUN; +        case 95: return EMOTE_ONESHOT_JUMPEND; +        case 96: return EMOTE_ONESHOT_TALK_NO_SHEATHE; +        case 97: return EMOTE_ONESHOT_POINT_NO_SHEATHE; +        case 98: return EMOTE_STATE_CANNIBALIZE; +        case 99: return EMOTE_ONESHOT_JUMPSTART; +        case 100: return EMOTE_STATE_DANCESPECIAL; +        case 101: return EMOTE_ONESHOT_DANCESPECIAL; +        case 102: return EMOTE_ONESHOT_CUSTOM_SPELL_01; +        case 103: return EMOTE_ONESHOT_CUSTOM_SPELL_02; +        case 104: return EMOTE_ONESHOT_CUSTOM_SPELL_03; +        case 105: return EMOTE_ONESHOT_CUSTOM_SPELL_04; +        case 106: return EMOTE_ONESHOT_CUSTOM_SPELL_05; +        case 107: return EMOTE_ONESHOT_CUSTOM_SPELL_06; +        case 108: return EMOTE_ONESHOT_CUSTOM_SPELL_07; +        case 109: return EMOTE_ONESHOT_CUSTOM_SPELL_08; +        case 110: return EMOTE_ONESHOT_CUSTOM_SPELL_09; +        case 111: return EMOTE_ONESHOT_CUSTOM_SPELL_10; +        case 112: return EMOTE_STATE_EXCLAIM; +        case 113: return EMOTE_STATE_DANCE_CUSTOM; +        case 114: return EMOTE_STATE_SIT_CHAIR_MED; +        case 115: return EMOTE_STATE_CUSTOM_SPELL_01; +        case 116: return EMOTE_STATE_CUSTOM_SPELL_02; +        case 117: return EMOTE_STATE_EAT; +        case 118: return EMOTE_STATE_CUSTOM_SPELL_04; +        case 119: return EMOTE_STATE_CUSTOM_SPELL_03; +        case 120: return EMOTE_STATE_CUSTOM_SPELL_05; +        case 121: return EMOTE_STATE_SPELLEFFECT_HOLD; +        case 122: return EMOTE_STATE_EAT_NO_SHEATHE; +        case 123: return EMOTE_STATE_MOUNT; +        case 124: return EMOTE_STATE_READY2HL; +        case 125: return EMOTE_STATE_SIT_CHAIR_HIGH; +        case 126: return EMOTE_STATE_FALL; +        case 127: return EMOTE_STATE_LOOT; +        case 128: return EMOTE_STATE_SUBMERGED_NEW; +        case 129: return EMOTE_ONESHOT_COWER; +        case 130: return EMOTE_STATE_COWER; +        case 131: return EMOTE_ONESHOT_USE_STANDING; +        case 132: return EMOTE_STATE_STEALTH_STAND; +        case 133: return EMOTE_ONESHOT_OMNICAST_GHOUL; +        case 134: return EMOTE_ONESHOT_ATTACK_BOW; +        case 135: return EMOTE_ONESHOT_ATTACK_RIFLE; +        case 136: return EMOTE_STATE_SWIM_IDLE; +        case 137: return EMOTE_STATE_ATTACK_UNARMED; +        case 138: return EMOTE_ONESHOT_SPELL_CAST_W_SOUND; +        case 139: return EMOTE_ONESHOT_DODGE; +        case 140: return EMOTE_ONESHOT_PARRY1H; +        case 141: return EMOTE_ONESHOT_PARRY2H; +        case 142: return EMOTE_ONESHOT_PARRY2HL; +        case 143: return EMOTE_STATE_FLYFALL; +        case 144: return EMOTE_ONESHOT_FLYDEATH; +        case 145: return EMOTE_STATE_FLY_FALL; +        case 146: return EMOTE_ONESHOT_FLY_SIT_GROUND_DOWN; +        case 147: return EMOTE_ONESHOT_FLY_SIT_GROUND_UP; +        case 148: return EMOTE_ONESHOT_EMERGE; +        case 149: return EMOTE_ONESHOT_DRAGON_SPIT; +        case 150: return EMOTE_STATE_SPECIAL_UNARMED; +        case 151: return EMOTE_ONESHOT_FLYGRAB; +        case 152: return EMOTE_STATE_FLYGRABCLOSED; +        case 153: return EMOTE_ONESHOT_FLYGRABTHROWN; +        case 154: return EMOTE_STATE_FLY_SIT_GROUND; +        case 155: return EMOTE_STATE_WALK_BACKWARDS; +        case 156: return EMOTE_ONESHOT_FLYTALK; +        case 157: return EMOTE_ONESHOT_FLYATTACK1H; +        case 158: return EMOTE_STATE_CUSTOM_SPELL_08; +        case 159: return EMOTE_ONESHOT_FLY_DRAGON_SPIT; +        case 160: return EMOTE_STATE_SIT_CHAIR_LOW; +        case 161: return EMOTE_ONESHOT_STUN; +        case 162: return EMOTE_ONESHOT_SPELL_CAST_OMNI; +        case 163: return EMOTE_STATE_READY_THROWN; +        case 164: return EMOTE_ONESHOT_WORK_CHOPWOOD; +        case 165: return EMOTE_ONESHOT_WORK_MINING; +        case 166: return EMOTE_STATE_SPELL_CHANNEL_OMNI; +        case 167: return EMOTE_STATE_SPELL_CHANNEL_DIRECTED; +        case 168: return EMOTE_STAND_STATE_NONE; +        case 169: return EMOTE_STATE_READYJOUST; +        case 170: return EMOTE_STATE_STRANGULATE; +        case 171: return EMOTE_STATE_READY_SPELL_OMNI; +        case 172: return EMOTE_STATE_HOLD_JOUST; +        case 173: return EMOTE_ONESHOT_CRY_JAINA; +        default: throw std::out_of_range("index"); +    } +} +  /************************************************************************\  |* data for enum 'SpellFamilyNames' in 'SharedDefines.h' auto-generated *|  \************************************************************************/  | 
