False.Genesis 0b36ae85da * updated Object updates (SMSG_[COMPRESSeD_]UPDATE_OBJECT) to 2.0.12
* copied/updated some new unit data from MaNGOS
* new log level: legdev() - loglevel 3 and above.
* disabled item listing at entering/leaving world.
2007-04-30 23:34:38 +00:00

60 lines
1.9 KiB
C++

#ifndef _UNIT_H
#define _UNIT_H
#include "Object.h"
enum UnitMoveType
{
MOVE_WALK = 0,
MOVE_RUN = 1,
MOVE_WALKBACK = 2,
MOVE_SWIM = 3,
MOVE_SWIMBACK = 4,
MOVE_TURN = 5,
MOVE_FLY = 6,
MOVE_FLYBACK = 7,
MAX_MOVE_TYPE = 8
};
enum UnitFlags
{
UNIT_FLAG_NONE = 0x00000000,
UNIT_FLAG_DISABLE_MOVE = 0x00000004,
UNIT_FLAG_UNKNOWN1 = 0x00000008, // essential for all units..
UNIT_FLAG_RENAME = 0x00000010, // rename creature, not working in 2.0.8
UNIT_FLAG_RESTING = 0x00000020,
UNIT_FLAG_UNKNOWN2 = 0x00000100, // 2.0.8
UNIT_FLAG_UNKNOWN3 = 0x00000800, // in combat ?2.0.8
UNIT_FLAG_PVP = 0x00001000,
UNIT_FLAG_MOUNT = 0x00002000,
UNIT_FLAG_UNKNOWN4 = 0x00004000, // 2.0.8
UNIT_FLAG_PACIFIED = 0x00020000,
UNIT_FLAG_DISABLE_ROTATE = 0x00040000, // may be it's stunned flag?
UNIT_FLAG_IN_COMBAT = 0x00080000,
UNIT_FLAG_DISARMED = 0x00200000, // disable melee spells casting..., "Required melee weapon" added to melee spells tooltip.
UNIT_FLAG_CONFUSED = 0x00400000,
UNIT_FLAG_FLEEING = 0x00800000,
UNIT_FLAG_UNKNOWN5 = 0x01000000, // used in spell Eyes of the Beast for pet...
UNIT_FLAG_NOT_SELECTABLE = 0x02000000,
UNIT_FLAG_SKINNABLE = 0x04000000,
UNIT_FLAG_UNKNOWN6 = 0x20000000, // used in Feing Death spell
UNIT_FLAG_SHEATHE = 0x40000000
};
class Unit : public WorldObject
{
public:
Unit();
void Create(uint64);
uint8 GetGender(void);
void SetSpeed(uint8 speednr, float speed) { _speed[speednr] = speed; }
float GetSpeed(uint8 speednr) { return _speed[speednr]; }
protected:
float _speed[MAX_MOVE_TYPE];
};
#endif