diff --git a/src/game/Object.cpp b/src/game/Object.cpp index c3aaa990a..e2853d410 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -181,8 +181,8 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData *data, Player *target) c if(isType(TYPEMASK_UNIT)) { - if(((Unit*)this)->GetTargetGUID()) - flags |= UPDATEFLAG_HAS_TARGET; + if(((Unit*)this)->getVictim()) + flags |= UPDATEFLAG_HAS_ATTACKING_TARGET; } } @@ -546,9 +546,12 @@ void Object::BuildMovementUpdate(ByteBuffer * data, uint16 flags, uint32 flags2) } // 0x4 - if(flags & UPDATEFLAG_HAS_TARGET) // packed guid (current target guid) + if(flags & UPDATEFLAG_HAS_ATTACKING_TARGET) // packed guid (current target guid) { - data->appendPackGUID(((Unit*)this)->GetTargetGUID()); + if (((Unit*)this)->getVictim()) + data->append(((Unit*)this)->getVictim()->GetPackGUID()); + else + data->appendPackGUID(0); } // 0x2 diff --git a/src/game/Player.h b/src/game/Player.h index c7f36001a..c3b64691d 100644 --- a/src/game/Player.h +++ b/src/game/Player.h @@ -1453,7 +1453,7 @@ class MANGOS_DLL_SPEC Player : public Unit QuestStatusMap& getQuestStatusMap() { return mQuestStatus; }; const uint64& GetSelection( ) const { return m_curSelection; } - void SetSelection(const uint64 &guid) { m_curSelection = guid; } + void SetSelection(const uint64 &guid) { m_curSelection = guid; SetTargetGUID(guid); } uint8 GetComboPoints() { return m_comboPoints; } const uint64& GetComboTarget() const { return m_comboTarget; } diff --git a/src/game/UpdateData.h b/src/game/UpdateData.h index 211025ade..c96f50063 100644 --- a/src/game/UpdateData.h +++ b/src/game/UpdateData.h @@ -36,17 +36,17 @@ enum OBJECT_UPDATE_TYPE enum OBJECT_UPDATE_FLAGS { - UPDATEFLAG_NONE = 0x0000, - UPDATEFLAG_SELF = 0x0001, - UPDATEFLAG_TRANSPORT = 0x0002, - UPDATEFLAG_HAS_TARGET = 0x0004, - UPDATEFLAG_LOWGUID = 0x0008, - UPDATEFLAG_HIGHGUID = 0x0010, - UPDATEFLAG_LIVING = 0x0020, - UPDATEFLAG_HAS_POSITION = 0x0040, - UPDATEFLAG_VEHICLE = 0x0080, - UPDATEFLAG_POSITION = 0x0100, - UPDATEFLAG_ROTATION = 0x0200 + UPDATEFLAG_NONE = 0x0000, + UPDATEFLAG_SELF = 0x0001, + UPDATEFLAG_TRANSPORT = 0x0002, + UPDATEFLAG_HAS_ATTACKING_TARGET = 0x0004, + UPDATEFLAG_LOWGUID = 0x0008, + UPDATEFLAG_HIGHGUID = 0x0010, + UPDATEFLAG_LIVING = 0x0020, + UPDATEFLAG_HAS_POSITION = 0x0040, + UPDATEFLAG_VEHICLE = 0x0080, + UPDATEFLAG_POSITION = 0x0100, + UPDATEFLAG_ROTATION = 0x0200 }; class UpdateData diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 80eb8cf49..927240b0c 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8865" + #define REVISION_NR "8866" #endif // __REVISION_NR_H__