[svn] * Reimplemented packet/update forwarding in more generic way

* Implemented far sight spells (Far Sight, Eagle Eye, etc) at unlimited range and properly forward packets
* Implemented bind vision spells (Mind Vision, etc) to forward packets at unlimited distance
* Implemented Sentry Totem (both vision switching/forwarding and alerting)
* Other misc possession fixes
* Added .bindsight and .unbindsight commands

Please test out the above spells (including Mind Control) and report any issues on the forums.

--HG--
branch : trunk
This commit is contained in:
gvcoman
2008-11-14 20:40:35 -06:00
parent 3085e66b96
commit 5deef1bb59
21 changed files with 329 additions and 74 deletions
+9
View File
@@ -902,6 +902,13 @@ class TRINITY_DLL_SPEC Player : public Unit
void SetViewport(uint64 guid, bool movable);
void Possess(Unit *target);
void RemovePossess(bool attack = true);
WorldObject* GetFarsightTarget() const;
void ClearFarsight();
void RemoveFarsightTarget();
void SetFarsightTarget(WorldObject* target);
// Controls if vision is currently on farsight object, updated in FAR_SIGHT opcode
void SetFarsightVision(bool apply) { m_farsightVision = apply; }
bool HasFarsightVision() const { return m_farsightVision; }
bool TeleportTo(uint32 mapid, float x, float y, float z, float orientation, uint32 options = 0);
@@ -2289,6 +2296,8 @@ class TRINITY_DLL_SPEC Player : public Unit
// Far Teleport
WorldLocation m_teleport_dest;
bool m_farsightVision;
DeclinedName *m_declinedname;
private:
// internal common parts for CanStore/StoreItem functions