EzMaN
31-07-09, 11:24 PM
gossip script commands
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);
to cast a 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 commands
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,aur astateflag);} //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 COMMANDS
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 STATE
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 = 46
enum 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_***Y = 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,
------------------------------------------
CREDITS : hackerpro1011 (http://arcemu.org/forums/index.php?showuser=26429)
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);
to cast a 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 commands
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,aur astateflag);} //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 COMMANDS
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 STATE
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 = 46
enum 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_***Y = 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,
------------------------------------------
CREDITS : hackerpro1011 (http://arcemu.org/forums/index.php?showuser=26429)