diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Object/ObjectDefines.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/server/game/Entities/Object/ObjectDefines.h b/src/server/game/Entities/Object/ObjectDefines.h index 647386e0f75..e41716dde36 100644 --- a/src/server/game/Entities/Object/ObjectDefines.h +++ b/src/server/game/Entities/Object/ObjectDefines.h @@ -187,13 +187,12 @@ bool IS_GROUP_GUID(uint64 guid) uint64 MAKE_NEW_GUID(uint32 l, uint32 e, uint32 h) { - return uint64(uint64(l) | (uint64(e) << 32) | (uint64(h) << (h == HIGHGUID_CORPSE) ? 48 : 52)); + return uint64(uint64(l) | (uint64(e) << 24) | (uint64(h) << 48)); } uint32 GUID_HIPART(uint64 guid) { - uint32 t = ((uint64(guid) >> 48) & 0x0000FFFF); - return (t == HIGHGUID_CORPSE) ? t : ((t >> 4) & 0x00000FFF); + return (uint32)((uint64(guid) >> 48) & 0x0000FFFF); } uint32 GUID_ENPART(uint64 x) @@ -205,8 +204,9 @@ uint32 GUID_ENPART(uint64 x) uint32 GUID_LOPART(uint64 x) { - // _GUID_LOPART_3 and _GUID_LOPART_2 were both equal to PAIR64_LOPART - return PAIR64_LOPART(x); + return IsGuidHaveEnPart(x) + ? ((uint32)(x & UI64LIT(0x00000000FFFFFFFF))) + : ((uint32)(x & UI64LIT(0x0000000000FFFFFF))); } bool IsGuidHaveEnPart(uint64 guid) |