[10640] Implement instance guids with proper HIGHGUID_INSTANCE use.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
Tasssadar 2010-10-24 14:39:26 +04:00 committed by VladimirMangos
parent 365c4a19e0
commit d53fe93e9d
12 changed files with 28 additions and 27 deletions

View file

@ -72,6 +72,7 @@ enum HighGuid
HIGHGUID_DYNAMICOBJECT = 0xF100, // blizz F100/F500
HIGHGUID_CORPSE = 0xF500, // blizz F100/F500 used second variant to resolve conflict with HIGHGUID_DYNAMICOBJECT
HIGHGUID_MO_TRANSPORT = 0x1FC0, // blizz 1FC0 (for GAMEOBJECT_TYPE_MO_TRANSPORT)
HIGHGUID_INSTANCE = 0x1F42, // blizz 1F42/1F44/1F44/1F47
};
//*** Must be replaced by ObjectGuid use ***
@ -92,6 +93,7 @@ inline bool IsGuidHaveEnPart(uint64 const& guid)
case HIGHGUID_DYNAMICOBJECT:
case HIGHGUID_CORPSE:
case HIGHGUID_MO_TRANSPORT:
case HIGHGUID_INSTANCE:
return false;
case HIGHGUID_GAMEOBJECT:
case HIGHGUID_TRANSPORT:
@ -170,6 +172,7 @@ class MANGOS_DLL_SPEC ObjectGuid
bool IsCorpse() const { return GetHigh() == HIGHGUID_CORPSE; }
bool IsTransport() const { return GetHigh() == HIGHGUID_TRANSPORT; }
bool IsMOTransport() const { return GetHigh() == HIGHGUID_MO_TRANSPORT; }
bool IsInstance() const { return GetHigh() == HIGHGUID_INSTANCE; }
static TypeID GetTypeId(HighGuid high)
{
@ -186,6 +189,7 @@ class MANGOS_DLL_SPEC ObjectGuid
case HIGHGUID_MO_TRANSPORT: return TYPEID_GAMEOBJECT;
case HIGHGUID_VEHICLE: return TYPEID_UNIT;
// unknown
case HIGHGUID_INSTANCE:
default: return TYPEID_OBJECT;
}
}
@ -211,6 +215,7 @@ class MANGOS_DLL_SPEC ObjectGuid
case HIGHGUID_DYNAMICOBJECT:
case HIGHGUID_CORPSE:
case HIGHGUID_MO_TRANSPORT:
case HIGHGUID_INSTANCE:
return false;
case HIGHGUID_GAMEOBJECT:
case HIGHGUID_TRANSPORT: