All pastes #800133 Raw Edit

Anonymous

public cpp v1 · immutable
#800133 ·published 2007-11-28 03:53 UTC
rendered paste body
///////////////////    CHAT    /////////////////   void SendChatMessage(uint8 type, uint32 lang, const char *msg);   void SendChatMessageAlternateEntry(uint32 entry, uint8 type, uint32 lang, const char * msg);   void RegisterPeriodicChatMessage(uint32 delay, uint32 msgid, std::string message, bool sendnotify);   void DelayedChatMessage(uint32 delay, uint32 msgid, std::string message, bool sendnotify);   void SendNotifyToNearby(uint32 msgid);   void SendNotifyToNearbyCreature(uint32 msgid, uint32 entryid);/////////////////// CAST-SPELL /////////////////   void CastSpell(Unit* Target, uint32 SpellID, bool triggered);   void CastSpell(Unit* Target, SpellEntry* Sp, bool triggered);   void CastSpell(uint64 targetGuid, uint32 SpellID, bool triggered);   void CastSpell(uint64 targetGuid, SpellEntry* Sp, bool triggered);   void CastSpellAoF(float x,float y,float z,SpellEntry* Sp, bool triggered);   void EventCastSpell(Unit * Target, SpellEntry * Sp);   bool isCasting();   bool IsInInstance();       void CalculateResistanceReduction(Unit *pVictim,dealdamage *dmg) ;   void RegenerateHealth();   void RegeneratePower(bool isinterrupted);   inline void setHRegenTimer(uint32 time) {m_H_regenTimer = time; }   inline void setPRegenTimer(uint32 time) {m_P_regenTimer = time; }   inline void setPIRegenTimer(uint32 time) {m_P_I_regenTimer = time; }   void DeMorph();   uint32 ManaShieldAbsorb(uint32 dmg);   void smsg_AttackStart(Unit* pVictim);   void smsg_AttackStop(Unit* pVictim);   void smsg_AttackStop(uint64 victimGuid);   bool IsDazed();   float spellcritperc;//////////////////  COMBAT   ////////////////   inline int GetHealthPct() { return (int)(GetUInt32Value(UNIT_FIELD_HEALTH) * 100 / GetUInt32Value(UNIT_FIELD_MAXHEALTH)); };   inline int GetManaPct() { return (int)(GetUInt32Value(UNIT_FIELD_POWER1) * 100 / GetUInt32Value(UNIT_FIELD_MAXPOWER1)); };   void AddAttackTarget(const uint64& guid);            // this means we clicked attack, not actually striked yet, so they shouldnt be in combat.   void ClearPrimaryAttackTarget();               // means we deselected the unit, stopped attacking it.   void OnDamageDealt(Unit * pTarget);               // this is what puts the other person in combat.   void WeHealed(Unit * pHealTarget);               // called when a player heals another player, regardless of combat state.   void RemoveAttacker(Unit * pAttacker, const uint64& guid);      // this means we stopped attacking them totally. could be because of deagro, etc.   void RemoveAttackTarget(Unit * pTarget);            // means our DoT expired.   void UpdateFlag();                     // detects if we have changed combat state (in/out), and applies the flag.   inline bool IsInCombat() { return m_lastStatus; }         // checks if we are in combat or not.   void OnRemoveFromWorld();                  // called when we are removed from world, kills all references to us.//////////////////  STEALTH  ////////////////   inline int32 GetStealthLevel() { return m_stealthLevel; }   inline int32 GetStealthDetectBonus() { return m_stealthDetectBonus; }   inline void SetStealth(uint32 id) { m_stealth = id; }   inline bool IsStealth() { return (m_stealth!=0 ? true : false); }   float detectRange;////////////////////INVISIBILITY //////////////////   bool m_invisible;   uint8 m_invisFlag;   int32 m_invisDetect[INVIS_FLAG_TOTAL];   bool HasAura(uint32 visualid);//not spell id!!!   bool HasActiveAura(uint32 spelllid);   bool HasActiveAura(uint32 spelllid,uint64);   void GiveGroupXP(Unit *pVictim, Player *PlayerInGroup);/////////////////// DEATHSTATE /////////////////   inline bool isAlive() { return m_deathState == ALIVE; };   inline bool isDead() { return  m_deathState !=ALIVE; };   virtual void setDeathState(DeathState s) {      m_deathState = s;   };   DeathState getDeathState() { return m_deathState; }   void OnDamageTaken();//////////////////   EVENT   ////////////////   void Emote (EmoteType emote);   void EventAddEmote(EmoteType emote, uint32 time);   void EmoteExpire();   inline void setEmoteState(uint8 emote) { m_emoteState = emote; };   inline uint32 GetOldEmote() { return m_oldEmote; }   void EventSummonPetExpire();   void EventAurastateExpire(uint32 aurastateflag){RemoveFlag(UNIT_FIELD_AURASTATE,aurastateflag);} //hmm this looks like so not necesary :S   void EventHealthChangeSinceLastUpdate();   void SetStandState (uint8 standstate);////////////////////  MOVEMENT   //////////////////   int32 m_speedModifier;   int32 m_slowdown;   map< uint32, int32 > speedReductionMap;   bool GetSpeedDecrease();   int32 m_mountedspeedModifier;   int32 m_flyspeedModifier;   void UpdateSpeed(bool delay = false);   void EnableFlight(bool delay = false);   void DisableFlight(bool delay = false);   void MoveToWaypoint(uint32 wp_id);      _unit->GetAIInterface()->StopMovement(18000);/////////////////   AURA   ///////////////   void AddAura(Aura *aur);  //! Remove aura from unit   bool RemoveAura(Aura *aur);   bool RemoveAura(uint32 spellId);   bool RemoveAura(uint32 spellId,uint64 guid);   bool RemoveAuraByNameHash(uint32 namehash);      //required to remove weaker instances of a spell   bool RemoveAuraPosByNameHash(uint32 namehash);      //required to remove weaker instances of a spell   bool RemoveAuraNegByNameHash(uint32 namehash);      //required to remove weaker instances of a spell   bool RemoveAuras(uint32 * SpellIds);   void EventRemoveAura(uint32 SpellId)   {      RemoveAura(SpellId);   }  //! Remove all auras   void RemoveAllAuras();       void RemoveAllAuraType(uint32 auratype);      //ex:to remove morph spells   bool RemoveAllAuraByNameHash(uint32 namehash);      //required to remove weaker instances of a spell   bool RemoveAllPosAuraByNameHash(uint32 namehash);   //required to remove weaker instances of a spell   bool RemoveAllNegAuraByNameHash(uint32 namehash);   //required to remove weaker instances of a spell   void RemoveNegativeAuras();   void RemoveAllAreaAuras();  // Temporary remove all auras  // Find auras   Aura* FindAura(uint32 spellId);   Aura* FindAura(uint32 spellId, uint64 guid);   bool SetAurDuration(uint32 spellId,Unit* caster,uint32 duration);   bool SetAurDuration(uint32 spellId,uint32 duration);   void DropAurasOnDeath();   void castSpell(Spell * pSpell);   void InterruptSpell();  //Others   void RemoveAurasByBuffIndexType(uint32 buff_index_type, const uint64 &guid);   void RemoveAurasByBuffType(uint32 buff_type, const uint64 &guid,uint32 skip);   bool HasAurasOfBuffType(uint32 buff_type, const uint64 &guid,uint32 skip);   int    HasAurasWithNameHash(uint32 name_hash);   bool HasNegativeAuraWithNameHash(uint32 name_hash); //just to reduce search range in some cases   bool HasNegativeAura(uint32 spell_id); //just to reduce search range in some cases_unit->Despawn(2000, 8000);                  //Despawns the NPC (Time Remove, Time to Respawn)_unit->GetAIInterface()->setOutOfCombatRange(200000);         //Sets the Range that the npc needs to reset (Range).Flag CommandsCode:enum UnitDynamicFlags{   U_DYN_FLAG_LOOTABLE         = 0x01,   U_DYN_FLAG_UNIT_TRACKABLE      = 0x02,   U_DYN_FLAG_TAGGED_BY_OTHER      = 0x04,   U_DYN_FLAG_TAPPED_BY_PLAYER      = 0x08,   U_DYN_FLAG_PLAYER_INFO         = 0x10,   U_DYN_FLAG_DEAD            = 0x20,};enum DamageFlags{   DAMAGE_FLAG_MELEE      = 1,   DAMAGE_FLAG_HOLY   = 2,   DAMAGE_FLAG_FIRE   = 4,   DAMAGE_FLAG_NATURE     = 8,   DAMAGE_FLAG_FROST      = 16,   DAMAGE_FLAG_SHADOW     = 32,   DAMAGE_FLAG_ARCANE     = 64};enum DamageType{   MELEE,   DUALWIELD,   RANGED,};enum VisualState{   ATTACK = 1,   DODGE,   PARRY,   INTERRUPT,   BLOCK,   EVADE,   IMMUNE,   DEFLECT};enum HitStatus{   HITSTATUS_HITANIMATION     = 0x02,   HITSTATUS_DUALWIELD        = 0x04,   HITSTATUS_MISS             = 0x10,   HITSTATUS_ABSORBED         = 0x20,   HITSTATUS_RESIST           = 0x40,   HITSTATUS_CRICTICAL        = 0x80,       HITSTATUS_BLOCK            = 0x800,   HITSTATUS_GLANCING         = 0x4000,   HITSTATUS_CRUSHINGBLOW     = 0x8000,   HITSTATUS_NOACTION         = 0x10000,   HITSTATUS_SWINGNOHITSOUND    = 0x80000 // as in miss?};enum INVIS_FLAG{   INVIS_FLAG_NORMAL,    // players and units with no special invisibility flags   INVIS_FLAG_SPIRIT1,   INVIS_FLAG_SPIRIT2,   INVIS_FLAG_TRAP,   INVIS_FLAG_QUEST,   INVIS_FLAG_GHOST,   INVIS_FLAG_UNKNOWN6,   INVIS_FLAG_UNKNOWN7,   INVIS_FLAG_SHADOWMOON,   INVIS_FLAG_NETHERSTORM,   INVIS_FLAG_TOTAL};UNIT STATECode:enum DeathState{   ALIVE = 0,     // Unit is alive and well   JUST_DIED,     // Unit has JUST died   CORPSE,       // Unit has died but remains in the world as a corpse   DEAD      // Unit is dead and his corpse is gone from the world};#define HIGHEST_FACTION = 46enum Factions {   FACTION_BLOODSAIL_BUCCANEERS,   FACTION_BOOTY_BAY,   FACTION_GELKIS_CLAN_CENTAUR,   FACTION_MAGRAM_CLAN_CENTAUR,   FACTION_THORIUM_BROTHERHOOD,   FACTION_RAVENHOLDT,   FACTION_SYNDICATE,   FACTION_GADGETZAN,   FACTION_WILDHAMMER_CLAN,   FACTION_RATCHET,   FACTION_UNK1,   FACTION_UNK2,   FACTION_UNK3,   FACTION_ARGENT_DAWN,   FACTION_ORGRIMMAR,   FACTION_DARKSPEAR_TROLLS,   FACTION_THUNDER_BLUFF,   FACTION_UNDERCITY,   FACTION_GNOMEREGAN_EXILES,   FACTION_STORMWIND,   FACTION_IRONFORGE,   FACTION_DARNASSUS,   FACTION_LEATHERWORKING_DRAGON,   FACTION_LEATHERWORKING_ELEMENTAL,   FACTION_LEATHERWORKING_TRIBAL,   FACTION_ENGINEERING_GNOME,   FACTION_ENGINEERING_GOBLIN,   FACTION_WINTERSABER_TRAINERS,   FACTION_EVERLOOK,   FACTION_BLACKSMITHING_ARMOR,   FACTION_BLACKSMITHING_WEAPON,   FACTION_BLACKSMITHING_AXE,   FACTION_BLACKSMITHING_SWORD,   FACTION_BLACKSMITHING_HAMMER,   FACTION_CAER_DARROW,   FACTION_TIMBERMAW_FURBOLGS,   FACTION_CENARION_CIRCLE,   FACTION_SHATTERSPEAR_TROLLS,   FACTION_RAVASAUR_TRAINERS,   FACTION_BATTLEGROUND_NEUTRAL,   FACTION_STORMPIKE_GUARDS,   FACTION_FROSTWOLF_CLAN,   FACTION_HYDRAXIAN_WATERLORDS,   FACTION_MORO_GAI,   FACTION_SHEN_DRALAR,   FACTION_SILVERWING_SENTINELS,   FACTION_WARSONG_OUTRIDERS};typedef enum{   TEXTEMOTE_AGREE          = 1,   TEXTEMOTE_AMAZE          = 2,   TEXTEMOTE_ANGRY          = 3,   TEXTEMOTE_APOLOGIZE       = 4,   TEXTEMOTE_APPLAUD       = 5,   TEXTEMOTE_BASHFUL       = 6,   TEXTEMOTE_BECKON       = 7,   TEXTEMOTE_BEG          = 8,   TEXTEMOTE_BITE          = 9,   TEXTEMOTE_BLEED          = 10,   TEXTEMOTE_BLINK          = 11,   TEXTEMOTE_BLUSH          = 12,   TEXTEMOTE_BONK          = 13,   TEXTEMOTE_BORED          = 14,   TEXTEMOTE_BOUNCE       = 15,   TEXTEMOTE_BRB          = 16,   TEXTEMOTE_BOW          = 17,   TEXTEMOTE_BURP          = 18,   TEXTEMOTE_BYE          = 19,   TEXTEMOTE_CACKLE       = 20,   TEXTEMOTE_CHEER          = 21,   TEXTEMOTE_CHICKEN       = 22,   TEXTEMOTE_CHUCKLE       = 23,   TEXTEMOTE_CLAP          = 24,   TEXTEMOTE_CONFUSED       = 25,   TEXTEMOTE_CONGRATULATE        = 26,   TEXTEMOTE_COUGH          = 27,   TEXTEMOTE_COWER          = 28,   TEXTEMOTE_CRACK          = 29,   TEXTEMOTE_CRINGE       = 30,   TEXTEMOTE_CRY          = 31,   TEXTEMOTE_CURIOUS       = 32,   TEXTEMOTE_CURTSEY       = 33,   TEXTEMOTE_DANCE          = 34,   TEXTEMOTE_DRINK          = 35,   TEXTEMOTE_DROOL          = 36,   TEXTEMOTE_EAT          = 37,   TEXTEMOTE_EYE          = 38,   TEXTEMOTE_FART          = 39,   TEXTEMOTE_FIDGET       = 40,   TEXTEMOTE_FLEX          = 41,   TEXTEMOTE_FROWN          = 42,   TEXTEMOTE_GASP          = 43,   TEXTEMOTE_GAZE          = 44,   TEXTEMOTE_GIGGLE       = 45,   TEXTEMOTE_GLARE          = 46,   TEXTEMOTE_GLOAT          = 47,   TEXTEMOTE_GREET          = 48,   TEXTEMOTE_GRIN          = 49,   TEXTEMOTE_GROAN          = 50,   TEXTEMOTE_GROVEL       = 51,   TEXTEMOTE_GUFFAW       = 52,   TEXTEMOTE_HAIL          = 53,   TEXTEMOTE_HAPPY          = 54,   TEXTEMOTE_HELLO          = 55,   TEXTEMOTE_HUG          = 56,   TEXTEMOTE_HUNGRY       = 57,   TEXTEMOTE_KISS          = 58,   TEXTEMOTE_KNEEL          = 59,   TEXTEMOTE_LAUGH          = 60,   TEXTEMOTE_LAYDOWN       = 61,   TEXTEMOTE_MASSAGE       = 62,   TEXTEMOTE_MOAN          = 63,   TEXTEMOTE_MOON          = 64,   TEXTEMOTE_MOURN          = 65,   TEXTEMOTE_NO          = 66,   TEXTEMOTE_NOD          = 67,   TEXTEMOTE_NOSEPICK       = 68,   TEXTEMOTE_PANIC          = 69,   TEXTEMOTE_PEER          = 70,   TEXTEMOTE_PLEAD          = 71,   TEXTEMOTE_POINT          = 72,   TEXTEMOTE_POKE          = 73,   TEXTEMOTE_PRAY          = 74,   TEXTEMOTE_ROAR          = 75,   TEXTEMOTE_ROFL          = 76,   TEXTEMOTE_RUDE          = 77,   TEXTEMOTE_SALUTE       = 78,   TEXTEMOTE_SCRATCH       = 79,   TEXTEMOTE_SEXY          = 80,   TEXTEMOTE_SHAKE          = 81,   TEXTEMOTE_SHOUT          = 82,   TEXTEMOTE_SHRUG          = 83,   TEXTEMOTE_SHY          = 84,   TEXTEMOTE_SIGH          = 85,   TEXTEMOTE_SIT          = 86,   TEXTEMOTE_SLEEP          = 87,   TEXTEMOTE_SNARL          = 88,   TEXTEMOTE_SPIT          = 89,   TEXTEMOTE_STARE          = 90,   TEXTEMOTE_SURPRISED       = 91,   TEXTEMOTE_SURRENDER       = 92,   TEXTEMOTE_TALK          = 93,   TEXTEMOTE_TALKEX       = 94,   TEXTEMOTE_TALKQ          = 95,   TEXTEMOTE_TAP          = 96,   TEXTEMOTE_THANK          = 97,   TEXTEMOTE_THREATEN       = 98,   TEXTEMOTE_TIRED          = 99,   TEXTEMOTE_VICTORY       = 100,   TEXTEMOTE_WAVE          = 101,   TEXTEMOTE_WELCOME       = 102,   TEXTEMOTE_WHINE          = 103,   TEXTEMOTE_WHISTLE       = 104,   TEXTEMOTE_WORK          = 105,   TEXTEMOTE_YAWN          = 106,   TEXTEMOTE_BOGGLE       = 107,   TEXTEMOTE_CALM          = 108,   TEXTEMOTE_COLD          = 109,   TEXTEMOTE_COMFORT       = 110,   TEXTEMOTE_CUDDLE       = 111,   TEXTEMOTE_DUCK          = 112,   TEXTEMOTE_INSULT       = 113,   TEXTEMOTE_INTRODUCE       = 114,   TEXTEMOTE_JK          = 115,   TEXTEMOTE_LICK          = 116,   TEXTEMOTE_LISTEN       = 117,   TEXTEMOTE_LOST          = 118,   TEXTEMOTE_MOCK          = 119,   TEXTEMOTE_PONDER       = 120,   TEXTEMOTE_POUNCE       = 121,   TEXTEMOTE_PRAISE       = 122,   TEXTEMOTE_PURR          = 123,   TEXTEMOTE_PUZZLE       = 124,   TEXTEMOTE_RAISE          = 125,   TEXTEMOTE_READY          = 126,   TEXTEMOTE_SHIMMY       = 127,   TEXTEMOTE_SHIVER       = 128,   TEXTEMOTE_SHOO          = 129,   TEXTEMOTE_SLAP          = 130,   TEXTEMOTE_SMIRK          = 131,   TEXTEMOTE_SNIFF          = 132,   TEXTEMOTE_SNUB          = 133,   TEXTEMOTE_SOOTHE       = 134,   TEXTEMOTE_STINK          = 135,   TEXTEMOTE_TAUNT          = 136,   TEXTEMOTE_TEASE          = 137,   TEXTEMOTE_THIRSTY       = 138,   TEXTEMOTE_VETO          = 139,   TEXTEMOTE_SNICKER       = 140,   TEXTEMOTE_STAND          = 141,   TEXTEMOTE_TICKLE       = 142,   TEXTEMOTE_VIOLIN       = 143,   TEXTEMOTE_SMILE          = 163,   TEXTEMOTE_RASP          = 183,   TEXTEMOTE_PITY          = 203,   TEXTEMOTE_GROWL          = 204,   TEXTEMOTE_BARK          = 205,   TEXTEMOTE_SCARED       = 223,   TEXTEMOTE_FLOP          = 224,   TEXTEMOTE_LOVE          = 225,   TEXTEMOTE_MOO          = 226,   TEXTEMOTE_COMMEND       = 243,   TEXTEMOTE_JOKE          = 329} TextEmoteType;typedef enum{   EMOTE_ONESHOT_NONE      = 0,   EMOTE_ONESHOT_TALK      = 1,   //DNR   EMOTE_ONESHOT_BOW      = 2,   EMOTE_ONESHOT_WAVE      = 3,   //DNR   EMOTE_ONESHOT_CHEER      = 4,   //DNR   EMOTE_ONESHOT_EXCLAMATION   = 5,   //DNR   EMOTE_ONESHOT_QUESTION      = 6,   EMOTE_ONESHOT_EAT      = 7,   EMOTE_STATE_DANCE      = 10,   EMOTE_ONESHOT_LAUGH      = 11,   EMOTE_STATE_SLEEP      = 12,   EMOTE_STATE_SIT         = 13,   EMOTE_ONESHOT_RUDE      = 14,  //DNR   EMOTE_ONESHOT_ROAR      = 15,  //DNR   EMOTE_ONESHOT_KNEEL      = 16,   EMOTE_ONESHOT_KISS      = 17,   EMOTE_ONESHOT_CRY      = 18,   EMOTE_ONESHOT_CHICKEN      = 19,   EMOTE_ONESHOT_BEG      = 20,   EMOTE_ONESHOT_APPLAUD      = 21,   EMOTE_ONESHOT_SHOUT      = 22,  //DNR   EMOTE_ONESHOT_FLEX      = 23,   EMOTE_ONESHOT_SHY      = 24,  //DNR   EMOTE_ONESHOT_POINT      = 25,  //DNR   EMOTE_STATE_STAND      = 26,   EMOTE_STATE_READYUNARMED   = 27,   EMOTE_STATE_WORK      = 28,   EMOTE_STATE_POINT      = 29,  //DNR   EMOTE_STATE_NONE      = 30,   EMOTE_ONESHOT_WOUND      = 33,   EMOTE_ONESHOT_WOUNDCRITICAL   = 34,   EMOTE_ONESHOT_ATTACKUNARMED   = 35,   EMOTE_ONESHOT_ATTACK1H      = 36,   EMOTE_ONESHOT_ATTACK2HTIGHT   = 37,   EMOTE_ONESHOT_ATTACK2HLOOSE   = 38,   EMOTE_ONESHOT_PARRYUNARMED   = 39,   EMOTE_ONESHOT_PARRYSHIELD   = 43,   EMOTE_ONESHOT_READYUNARMED   = 44,   EMOTE_ONESHOT_READY1H      = 45,   EMOTE_ONESHOT_READYBOW      = 48,   EMOTE_ONESHOT_SPELLPRECAST   = 50,   EMOTE_ONESHOT_SPELLCAST      = 51,   EMOTE_ONESHOT_BATTLEROAR   = 53,   EMOTE_ONESHOT_SPECIALATTACK1H   = 54,   EMOTE_ONESHOT_KICK      = 60,   EMOTE_ONESHOT_ATTACKTHROWN   = 61,   EMOTE_STATE_STUN      = 64,   EMOTE_STATE_DEAD      = 65,   EMOTE_ONESHOT_SALUTE      = 66,   EMOTE_STATE_KNEEL      = 68,   EMOTE_STATE_USESTANDING      = 69,   EMOTE_ONESHOT_WAVE_NOSHEATHE    = 70,   EMOTE_ONESHOT_CHEER_NOSHEATHE   = 71,   EMOTE_ONESHOT_EAT_NOSHEATHE   = 92,   EMOTE_STATE_STUN_NOSHEATHE   = 93,   EMOTE_ONESHOT_DANCE      = 94,   EMOTE_ONESHOT_SALUTE_NOSHEATH   = 113,   EMOTE_STATE_USESTANDING_NOSHEATHE = 133,   EMOTE_ONESHOT_LAUGH_NOSHEATHE   = 153,   EMOTE_STATE_WORK_NOSHEATHE   = 173,   EMOTE_STATE_SPELLPRECAST   = 193,   EMOTE_ONESHOT_READYRIFLE   = 213,   EMOTE_STATE_READYRIFLE      = 214,   EMOTE_STATE_WORK_NOSHEATHE_MINING  = 233,   EMOTE_STATE_WORK_NOSHEATHE_CHOPWOOD= 234,   EMOTE_zzOLDONESHOT_LIFTOFF   = 253,   EMOTE_ONESHOT_LIFTOFF      = 254,   EMOTE_ONESHOT_YES      = 273, //DNR   EMOTE_ONESHOT_NO      = 274, //DNR   EMOTE_ONESHOT_TRAIN      = 275, //DNR   EMOTE_ONESHOT_LAND      = 293,   EMOTE_STATE_AT_EASE      = 313,   EMOTE_STATE_READY1H      = 333,      EMOTE_STATE_SPELLKNEELSTART   = 353,   EMOTE_STATE_SUBMERGED      = 373,   EMOTE_ONESHOT_SUBMERGE      = 374,   EMOTE_STATE_READY2H      = 375,   EMOTE_STATE_READYBOW      = 376,   EMOTE_ONESHOT_MOUNTSPECIAL   = 377,   EMOTE_STATE_TALK      = 378,   EMOTE_STATE_FISHING      = 379,   EMOTE_ONESHOT_FISHING      = 380,   EMOTE_ONESHOT_LOOT      = 381,   EMOTE_STATE_WHIRLWIND      = 382,   EMOTE_STATE_DROWNED      = 383,   EMOTE_STATE_HOLD_BOW      = 384,   EMOTE_STATE_HOLD_RIFLE      = 385,   EMOTE_STATE_HOLD_THROWN      = 386,   EMOTE_ONESHOT_DROWN      = 387,   EMOTE_ONESHOT_STOMP      = 388,   EMOTE_ONESHOT_ATTACKOFF      = 389,   EMOTE_ONESHOT_ATTACKOFFPIERCE   = 390,   EMOTE_STATE_ROAR      = 391,   EMOTE_STATE_LAUGH      = 392,   EMOTE_ONESHOT_CREATURE_SPECIAL  = 393,   EMOTE_ONESHOT_JUMPANDRUN   = 394,   EMOTE_ONESHOT_JUMPEND      = 395,   EMOTE_ONESHOT_TALK_NOSHEATHE    = 396,   EMOTE_ONESHOT_POINT_NOSHEATHE   = 397,   EMOTE_STATE_CANNIBALIZE      = 398,   EMOTE_ONESHOT_JUMPSTART      = 399,   EMOTE_STATE_DANCESPECIAL   = 400,   EMOTE_ONESHOT_DANCESPECIAL   = 401,   EMOTE_ONESHOT_CUSTOMSPELL01   = 402,   EMOTE_ONESHOT_CUSTOMSPELL02   = 403,   EMOTE_ONESHOT_CUSTOMSPELL03   = 404,   EMOTE_ONESHOT_CUSTOMSPELL04   = 405,   EMOTE_ONESHOT_CUSTOMSPELL05   = 406,   EMOTE_ONESHOT_CUSTOMSPELL06   = 407,   EMOTE_ONESHOT_CUSTOMSPELL07   = 408,   EMOTE_ONESHOT_CUSTOMSPELL08   = 409,   EMOTE_ONESHOT_CUSTOMSPELL09   = 410,   EMOTE_ONESHOT_CUSTOMSPELL10   = 411,   EMOTE_STATE_EXCLAIM      = 412,} EmoteType;enum StandState{   STANDSTATE_STAND      = 0,   STANDSTATE_SIT         = 1,   STANDSTATE_SIT_CHAIR      = 2,   STANDSTATE_SLEEP      = 3,   STANDSTATE_SIT_LOW_CHAIR   = 4,   STANDSTATE_SIT_MEDIUM_CHAIR    = 5,   STANDSTATE_SIT_HIGH_CHAIR     = 6,   STANDSTATE_DEAD         = 7,   STANDSTATE_KNEEL      = 8};enum UnitStates{   UNIT_STATE_NORMAL    = 0x01,   UNIT_STATE_CHARM     = 0x02,   UNIT_STATE_FEAR      = 0x04,   UNIT_STATE_ROOT      = 0x08,   UNIT_STATE_SLEEP     = 0x10,   UNIT_STATE_SNARE     = 0x20,   UNIT_STATE_STUN      = 0x40,   UNIT_STATE_KNOCKOUT  = 0x80,   UNIT_STATE_BLEED     = 0x100,   UNIT_STATE_POLYMORPH = 0x200,   UNIT_STATE_BANISH    = 0x400,   UNIT_STATE_CONFUSE   = 0x800,   UNIT_STATE_PACIFY    = 0x1000,   UNIT_STATE_SILENCE   = 0x2000,   UNIT_STATE_MOUNT     = 0x4000,