diff options
| author | joschiwald <joschiwald.trinity@gmail.com> | 2014-10-19 15:12:20 +0200 |
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2014-10-19 15:30:35 +0200 |
| commit | 1a075f0454fcfc1fb23432e6853af4a36730de98 (patch) | |
| tree | d867895d65e5e1bf4fae138a8b3f1030e7ccbec2 /src/server/game/Entities/Object | |
| parent | 183a0c59e0b4ad63158b04dd62d76d20d8bfc24e (diff) | |
Core/Misc: fixed a scenario when character factionchange create unexpected results, also moved packet generating code into unique methods
Diffstat (limited to 'src/server/game/Entities/Object')
| -rw-r--r-- | src/server/game/Entities/Object/Object.h | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index 51186b61193..eb0bb92959f 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -457,12 +457,23 @@ struct MovementInfo class WorldLocation : public Position { public: - explicit WorldLocation(uint32 _mapid = MAPID_INVALID, float _x = 0, float _y = 0, float _z = 0, float _o = 0) - : m_mapId(_mapid) { Relocate(_x, _y, _z, _o); } - WorldLocation(const WorldLocation &loc) : Position(loc) { WorldRelocate(loc); } + explicit WorldLocation(uint32 _mapId = MAPID_INVALID, float _x = 0.f, float _y = 0.f, float _z = 0.f, float _o = 0.f) + : Position(_x, _y, _z, _o), m_mapId(_mapId) { } - void WorldRelocate(const WorldLocation &loc) - { m_mapId = loc.GetMapId(); Relocate(loc); } + WorldLocation(WorldLocation const& loc) + : Position(loc), m_mapId(loc.GetMapId()) { } + + void WorldRelocate(WorldLocation const& loc) + { + m_mapId = loc.GetMapId(); + Relocate(loc); + } + + void WorldRelocate(uint32 _mapId = MAPID_INVALID, float _x = 0.f, float _y = 0.f, float _z = 0.f, float _o = 0.f) + { + m_mapId = _mapId; + Relocate(_x, _y, _z, _o); + } WorldLocation GetWorldLocation() const { |
