aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2014-10-27 12:03:35 +0100
committerShauren <shauren.trinity@gmail.com>2014-10-27 12:03:35 +0100
commit7afab9f783fff331e9c99d85384f39029b35d2fa (patch)
tree1b7683d3773a31639c8e93576557a44e8f592dce /src/server/game/Entities
parent8b75b7e638676fea2d7c2c3a43e1ecb0f6a099d9 (diff)
Core/Entities: Updated HighGuid values
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTrigger.cpp2
-rw-r--r--src/server/game/Entities/Corpse/Corpse.cpp8
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp8
-rw-r--r--src/server/game/Entities/DynamicObject/DynamicObject.cpp2
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp6
-rw-r--r--src/server/game/Entities/Item/Container/Bag.cpp2
-rw-r--r--src/server/game/Entities/Item/Item.cpp10
-rw-r--r--src/server/game/Entities/Object/Object.cpp20
-rw-r--r--src/server/game/Entities/Object/ObjectGuid.cpp47
-rw-r--r--src/server/game/Entities/Object/ObjectGuid.h151
-rw-r--r--src/server/game/Entities/Pet/Pet.cpp6
-rw-r--r--src/server/game/Entities/Player/Player.cpp44
-rw-r--r--src/server/game/Entities/Player/SocialMgr.cpp2
-rw-r--r--src/server/game/Entities/Transport/Transport.cpp4
14 files changed, 166 insertions, 146 deletions
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
index c6ef9546b70..d7f7d2ca467 100644
--- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
+++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
@@ -66,7 +66,7 @@ bool AreaTrigger::CreateAreaTrigger(ObjectGuid::LowType guidlow, uint32 triggerE
return false;
}
- WorldObject::_Create(guidlow, HIGHGUID_AREATRIGGER, caster->GetPhaseMask());
+ WorldObject::_Create(guidlow, HighGuid::AreaTrigger, caster->GetPhaseMask());
SetEntry(triggerEntry);
SetDuration(spell->GetDuration());
diff --git a/src/server/game/Entities/Corpse/Corpse.cpp b/src/server/game/Entities/Corpse/Corpse.cpp
index 955e608c72c..6ed9429aec5 100644
--- a/src/server/game/Entities/Corpse/Corpse.cpp
+++ b/src/server/game/Entities/Corpse/Corpse.cpp
@@ -65,7 +65,7 @@ void Corpse::RemoveFromWorld()
bool Corpse::Create(ObjectGuid::LowType guidlow, Map* map)
{
SetMap(map);
- Object::_Create(guidlow, 0, HIGHGUID_CORPSE);
+ Object::_Create(guidlow, 0, HighGuid::Corpse);
return true;
}
@@ -86,7 +86,7 @@ bool Corpse::Create(ObjectGuid::LowType guidlow, Player* owner)
//in other way we will get a crash in Corpse::SaveToDB()
SetMap(owner->GetMap());
- WorldObject::_Create(guidlow, HIGHGUID_CORPSE, owner->GetPhaseMask());
+ WorldObject::_Create(guidlow, HighGuid::Corpse, owner->GetPhaseMask());
SetObjectScale(1);
SetGuidValue(CORPSE_FIELD_OWNER, owner->GetGUID());
@@ -169,7 +169,7 @@ bool Corpse::LoadCorpseFromDB(ObjectGuid::LowType guid, Field* fields)
float o = fields[3].GetFloat();
uint32 mapId = fields[4].GetUInt16();
- Object::_Create(guid, 0, HIGHGUID_CORPSE);
+ Object::_Create(guid, 0, HighGuid::Corpse);
SetUInt32Value(CORPSE_FIELD_DISPLAY_ID, fields[5].GetUInt32());
_LoadIntoDataField(fields[6].GetCString(), CORPSE_FIELD_ITEM, EQUIPMENT_SLOT_END);
@@ -177,7 +177,7 @@ bool Corpse::LoadCorpseFromDB(ObjectGuid::LowType guid, Field* fields)
SetUInt32Value(CORPSE_FIELD_BYTES_2, fields[8].GetUInt32());
SetUInt32Value(CORPSE_FIELD_FLAGS, fields[9].GetUInt8());
SetUInt32Value(CORPSE_FIELD_DYNAMIC_FLAGS, fields[10].GetUInt8());
- SetGuidValue(CORPSE_FIELD_OWNER, ObjectGuid(HIGHGUID_PLAYER, fields[16].GetUInt64()));
+ SetGuidValue(CORPSE_FIELD_OWNER, ObjectGuid(HighGuid::Player, fields[16].GetUInt64()));
m_time = time_t(fields[11].GetUInt32());
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index fce6ac71815..8bf1aaf83a9 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -472,7 +472,7 @@ void Creature::Update(uint32 diff)
if (!allowed) // Will be rechecked on next Update call
break;
- ObjectGuid dbtableHighGuid(HIGHGUID_UNIT, GetEntry(), m_DBTableGuid);
+ ObjectGuid dbtableHighGuid(HighGuid::Creature, GetEntry(), m_DBTableGuid);
time_t linkedRespawntime = GetMap()->GetLinkedRespawnTime(dbtableHighGuid);
if (!linkedRespawntime) // Can respawn
Respawn();
@@ -1194,7 +1194,7 @@ bool Creature::CreateFromProto(ObjectGuid::LowType guidlow, uint32 entry, Creatu
SetOriginalEntry(entry);
- Object::_Create(guidlow, entry, (vehId || cinfo->VehicleId) ? HIGHGUID_VEHICLE : HIGHGUID_UNIT);
+ Object::_Create(guidlow, entry, (vehId || cinfo->VehicleId) ? HighGuid::Vehicle : HighGuid::Creature);
if (!UpdateEntry(entry, data))
return false;
@@ -1229,11 +1229,11 @@ bool Creature::LoadCreatureFromDB(ObjectGuid::LowType guid, Map* map, bool addTo
m_DBTableGuid = guid;
if (map->GetInstanceId() == 0)
{
- if (map->GetCreature(ObjectGuid(HIGHGUID_UNIT, data->id, guid)))
+ if (map->GetCreature(ObjectGuid(HighGuid::Creature, data->id, guid)))
return false;
}
else
- guid = sObjectMgr->GetGenerator<HIGHGUID_UNIT>()->Generate();
+ guid = sObjectMgr->GetGenerator<HighGuid::Creature>()->Generate();
if (!Create(guid, map, data->phaseMask, data->id, data->posX, data->posY, data->posZ, data->orientation, data))
return false;
diff --git a/src/server/game/Entities/DynamicObject/DynamicObject.cpp b/src/server/game/Entities/DynamicObject/DynamicObject.cpp
index 893e77631e1..1131cc2c758 100644
--- a/src/server/game/Entities/DynamicObject/DynamicObject.cpp
+++ b/src/server/game/Entities/DynamicObject/DynamicObject.cpp
@@ -91,7 +91,7 @@ bool DynamicObject::CreateDynamicObject(ObjectGuid::LowType guidlow, Unit* caste
return false;
}
- WorldObject::_Create(guidlow, HIGHGUID_DYNAMICOBJECT, caster->GetPhaseMask());
+ WorldObject::_Create(guidlow, HighGuid::DynamicObject, caster->GetPhaseMask());
SetEntry(spell->Id);
SetObjectScale(1);
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index d42a8f60cff..e165f3f5992 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -194,7 +194,7 @@ bool GameObject::Create(ObjectGuid::LowType guidlow, uint32 name_id, Map* map, u
if (goinfo->type == GAMEOBJECT_TYPE_TRANSPORT)
m_updateFlag |= UPDATEFLAG_TRANSPORT;
- Object::_Create(guidlow, goinfo->entry, HIGHGUID_GAMEOBJECT);
+ Object::_Create(guidlow, goinfo->entry, HighGuid::GameObject);
m_goInfo = goinfo;
@@ -404,7 +404,7 @@ void GameObject::Update(uint32 diff)
time_t now = time(NULL);
if (m_respawnTime <= now) // timer expired
{
- ObjectGuid dbtableHighGuid(HIGHGUID_GAMEOBJECT, GetEntry(), m_DBTableGuid);
+ ObjectGuid dbtableHighGuid(HighGuid::GameObject, GetEntry(), m_DBTableGuid);
time_t linkedRespawntime = GetMap()->GetLinkedRespawnTime(dbtableHighGuid);
if (linkedRespawntime) // Can't respawn, the master is dead
{
@@ -853,7 +853,7 @@ bool GameObject::LoadGameObjectFromDB(ObjectGuid::LowType guid, Map* map, bool a
m_DBTableGuid = guid;
if (map->GetInstanceId() != 0)
- guid = sObjectMgr->GetGenerator<HIGHGUID_GAMEOBJECT>()->Generate();
+ guid = sObjectMgr->GetGenerator<HighGuid::GameObject>()->Generate();
if (!Create(guid, entry, map, phaseMask, x, y, z, ang, rotation0, rotation1, rotation2, rotation3, animprogress, go_state, artKit))
return false;
diff --git a/src/server/game/Entities/Item/Container/Bag.cpp b/src/server/game/Entities/Item/Container/Bag.cpp
index 8a2fbfa76fe..4e33c4fe295 100644
--- a/src/server/game/Entities/Item/Container/Bag.cpp
+++ b/src/server/game/Entities/Item/Container/Bag.cpp
@@ -77,7 +77,7 @@ bool Bag::Create(ObjectGuid::LowType guidlow, uint32 itemid, Player const* owner
if (!itemProto || itemProto->ContainerSlots > MAX_BAG_SIZE)
return false;
- Object::_Create(guidlow, 0, HIGHGUID_CONTAINER);
+ Object::_Create(guidlow, 0, HighGuid::Item);
SetEntry(itemid);
SetObjectScale(1.0f);
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index f2b86727af0..0bb6088283d 100644
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -262,7 +262,7 @@ Item::Item()
bool Item::Create(ObjectGuid::LowType guidlow, uint32 itemid, Player const* owner)
{
- Object::_Create(guidlow, 0, HIGHGUID_ITEM);
+ Object::_Create(guidlow, 0, HighGuid::Item);
SetEntry(itemid);
SetObjectScale(1.0f);
@@ -409,7 +409,7 @@ bool Item::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fi
// create item before any checks for store correct guid
// and allow use "FSetState(ITEM_REMOVED); SaveToDB();" for deleting item from DB
- Object::_Create(guid, 0, HIGHGUID_ITEM);
+ Object::_Create(guid, 0, HighGuid::Item);
// Set entry, MUST be before proto check
SetEntry(entry);
@@ -424,8 +424,8 @@ bool Item::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fi
SetOwnerGUID(owner_guid);
bool need_save = false; // need explicit save data at load fixes
- SetGuidValue(ITEM_FIELD_CREATOR, ObjectGuid(HIGHGUID_PLAYER, fields[0].GetUInt64()));
- SetGuidValue(ITEM_FIELD_GIFTCREATOR, ObjectGuid(HIGHGUID_PLAYER, fields[1].GetUInt64()));
+ SetGuidValue(ITEM_FIELD_CREATOR, ObjectGuid(HighGuid::Player, fields[0].GetUInt64()));
+ SetGuidValue(ITEM_FIELD_GIFTCREATOR, ObjectGuid(HighGuid::Player, fields[1].GetUInt64()));
SetCount(fields[2].GetUInt32());
uint32 duration = fields[3].GetUInt32();
@@ -1041,7 +1041,7 @@ Item* Item::CreateItem(uint32 itemEntry, uint32 count, Player const* player)
ASSERT(count != 0 && "pProto->Stackable == 0 but checked at loading already");
Item* item = NewItemOrBag(proto);
- if (item->Create(sObjectMgr->GetGenerator<HIGHGUID_ITEM>()->Generate(), itemEntry, player))
+ if (item->Create(sObjectMgr->GetGenerator<HighGuid::Item>()->Generate(), itemEntry, player))
{
item->SetCount(count);
return item;
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 6b418d10897..c99a5a3cde0 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -186,15 +186,15 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c
switch (GetGUID().GetHigh())
{
- case HIGHGUID_PLAYER:
- case HIGHGUID_PET:
- case HIGHGUID_CORPSE:
- case HIGHGUID_DYNAMICOBJECT:
- case HIGHGUID_AREATRIGGER:
+ case HighGuid::Player:
+ case HighGuid::Pet:
+ case HighGuid::Corpse:
+ case HighGuid::DynamicObject:
+ case HighGuid::AreaTrigger:
updateType = UPDATETYPE_CREATE_OBJECT2;
break;
- case HIGHGUID_UNIT:
- case HIGHGUID_VEHICLE:
+ case HighGuid::Creature:
+ case HighGuid::Vehicle:
{
if (TempSummon const* summon = ToUnit()->ToTempSummon())
if (summon->GetSummonerGUID().IsPlayer())
@@ -202,7 +202,7 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c
break;
}
- case HIGHGUID_GAMEOBJECT:
+ case HighGuid::GameObject:
{
if (ToGameObject()->GetOwnerGUID().IsPlayer())
updateType = UPDATETYPE_CREATE_OBJECT2;
@@ -2401,7 +2401,7 @@ TempSummon* Map::SummonCreature(uint32 entry, Position const& pos, SummonPropert
break;
}
- if (!summon->Create(sObjectMgr->GetGenerator<HIGHGUID_UNIT>()->Generate(), this, 0, entry, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), nullptr, vehId))
+ if (!summon->Create(sObjectMgr->GetGenerator<HighGuid::Creature>()->Generate(), this, 0, entry, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), nullptr, vehId))
{
delete summon;
return NULL;
@@ -2499,7 +2499,7 @@ GameObject* WorldObject::SummonGameObject(uint32 entry, float x, float y, float
Map* map = GetMap();
GameObject* go = new GameObject();
- if (!go->Create(sObjectMgr->GetGenerator<HIGHGUID_GAMEOBJECT>()->Generate(), entry, map, GetPhaseMask(), x, y, z, ang, rotation0, rotation1, rotation2, rotation3, 100, GO_STATE_READY))
+ if (!go->Create(sObjectMgr->GetGenerator<HighGuid::GameObject>()->Generate(), entry, map, GetPhaseMask(), x, y, z, ang, rotation0, rotation1, rotation2, rotation3, 100, GO_STATE_READY))
{
delete go;
return NULL;
diff --git a/src/server/game/Entities/Object/ObjectGuid.cpp b/src/server/game/Entities/Object/ObjectGuid.cpp
index fd134388a2d..41ea166a6d5 100644
--- a/src/server/game/Entities/Object/ObjectGuid.cpp
+++ b/src/server/game/Entities/Object/ObjectGuid.cpp
@@ -28,21 +28,18 @@ char const* ObjectGuid::GetTypeName(HighGuid high)
{
switch (high)
{
- case HIGHGUID_ITEM: return "Item";
- case HIGHGUID_PLAYER: return "Player";
- case HIGHGUID_GAMEOBJECT: return "Gameobject";
- case HIGHGUID_TRANSPORT: return "Transport";
- case HIGHGUID_UNIT: return "Creature";
- case HIGHGUID_PET: return "Pet";
- case HIGHGUID_VEHICLE: return "Vehicle";
- case HIGHGUID_DYNAMICOBJECT: return "DynObject";
- case HIGHGUID_CORPSE: return "Corpse";
- case HIGHGUID_AREATRIGGER: return "AreaTrigger";
- case HIGHGUID_BATTLEGROUND: return "Battleground";
- case HIGHGUID_MO_TRANSPORT: return "MoTransport";
- case HIGHGUID_INSTANCE: return "InstanceID";
- case HIGHGUID_GROUP: return "Group";
- case HIGHGUID_GUILD: return "Guild";
+ case HighGuid::Item: return "Item";
+ case HighGuid::Player: return "Player";
+ case HighGuid::GameObject: return "Gameobject";
+ case HighGuid::Creature: return "Creature";
+ case HighGuid::Pet: return "Pet";
+ case HighGuid::Vehicle: return "Vehicle";
+ case HighGuid::DynamicObject: return "DynObject";
+ case HighGuid::Corpse: return "Corpse";
+ case HighGuid::AreaTrigger: return "AreaTrigger";
+ case HighGuid::Transport: return "Transport";
+ case HighGuid::Party: return "Party";
+ case HighGuid::Guild: return "Guild";
default:
return "<unknown>";
}
@@ -136,13 +133,13 @@ std::ostream& operator<<(std::ostream& stream, ObjectGuid const& guid)
return stream;
}
-template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_PLAYER>::Generate();
-template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_UNIT>::Generate();
-template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_PET>::Generate();
-template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_VEHICLE>::Generate();
-template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_ITEM>::Generate();
-template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_GAMEOBJECT>::Generate();
-template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_DYNAMICOBJECT>::Generate();
-template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_CORPSE>::Generate();
-template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_AREATRIGGER>::Generate();
-template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_MO_TRANSPORT>::Generate();
+template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Player>::Generate();
+template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Creature>::Generate();
+template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Pet>::Generate();
+template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Vehicle>::Generate();
+template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Item>::Generate();
+template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::GameObject>::Generate();
+template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::DynamicObject>::Generate();
+template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Corpse>::Generate();
+template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::AreaTrigger>::Generate();
+template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Transport>::Generate();
diff --git a/src/server/game/Entities/Object/ObjectGuid.h b/src/server/game/Entities/Object/ObjectGuid.h
index d5bfa7ee2f8..7a3c05c3b37 100644
--- a/src/server/game/Entities/Object/ObjectGuid.h
+++ b/src/server/game/Entities/Object/ObjectGuid.h
@@ -35,10 +35,12 @@ enum TypeID
TYPEID_GAMEOBJECT = 5,
TYPEID_DYNAMICOBJECT = 6,
TYPEID_CORPSE = 7,
- TYPEID_AREATRIGGER = 8
+ TYPEID_AREATRIGGER = 8,
+ TYPEID_SCENEOBJECT = 9,
+ TYPEID_CONVERSATION = 10
};
-#define NUM_CLIENT_OBJECT_TYPES 9
+#define NUM_CLIENT_OBJECT_TYPES 11
enum TypeMask
{
@@ -54,24 +56,52 @@ enum TypeMask
TYPEMASK_SEER = TYPEMASK_PLAYER | TYPEMASK_UNIT | TYPEMASK_DYNAMICOBJECT
};
-enum HighGuid
+enum class HighGuid
{
- HIGHGUID_ITEM = 0x400, // blizz 4000
- HIGHGUID_CONTAINER = 0x400, // blizz 4000
- HIGHGUID_PLAYER = 0x000, // blizz 0000
- HIGHGUID_GAMEOBJECT = 0xF11, // blizz F110
- HIGHGUID_TRANSPORT = 0xF12, // blizz F120 (for GAMEOBJECT_TYPE_TRANSPORT)
- HIGHGUID_UNIT = 0xF13, // blizz F130
- HIGHGUID_PET = 0xF14, // blizz F140
- HIGHGUID_VEHICLE = 0xF15, // blizz F550
- HIGHGUID_DYNAMICOBJECT = 0xF10, // blizz F100
- HIGHGUID_CORPSE = 0xF101, // blizz F100
- HIGHGUID_AREATRIGGER = 0xF102,
- HIGHGUID_BATTLEGROUND = 0x1F1,
- HIGHGUID_MO_TRANSPORT = 0x1FC, // blizz 1FC0 (for GAMEOBJECT_TYPE_MAP_OBJ_TRANSPORT)
- HIGHGUID_INSTANCE = 0x1F4, // blizz 1F40
- HIGHGUID_GROUP = 0x1F5,
- HIGHGUID_GUILD = 0x1FF
+ Null = 0,
+ Uniq = 1,
+ Player = 2,
+ Item = 3,
+ StaticDoor = 4,
+ Transport = 5,
+ Conversation = 6,
+ Creature = 7,
+ Vehicle = 8,
+ Pet = 9,
+ GameObject = 10,
+ DynamicObject = 11,
+ AreaTrigger = 12,
+ Corpse = 13,
+ LootObject = 14,
+ SceneObject = 15,
+ Scenario = 16,
+ AIGroup = 17,
+ DynamicDoor = 18,
+ ClientActor = 19,
+ Vignette = 20,
+ CallForHelp = 21,
+ AIResource = 22,
+ AILock = 23,
+ AILockTicket = 24,
+ ChatChannel = 25,
+ Party = 26,
+ Guild = 27,
+ WowAccount = 28,
+ BNetAccount = 29,
+ GMTask = 30,
+ MobileSession = 31,
+ RaidGroup = 32,
+ Spell = 33,
+ Mail = 34,
+ WebObj = 35,
+ LFGObject = 36,
+ LFGList = 37,
+ UserRouter = 38,
+ PVPQueueGroup = 39,
+ UserClient = 40,
+ PetBattle = 41,
+ UniqueUserClient = 42,
+ BattlePet = 43
};
class ObjectGuid;
@@ -97,8 +127,8 @@ class ObjectGuid
typedef uint64 LowType;
ObjectGuid() : _low(0), _high(0) { }
- ObjectGuid(HighGuid hi, uint32 entry, LowType counter) : _low(counter ? uint64(counter) | (uint64(entry) << 32) | (uint64(hi) << ((hi == HIGHGUID_CORPSE || hi == HIGHGUID_AREATRIGGER) ? 48 : 52)) : 0), _high(0) { }
- ObjectGuid(HighGuid hi, LowType counter) : _low(counter ? uint64(counter) | (uint64(hi) << ((hi == HIGHGUID_CORPSE || hi == HIGHGUID_AREATRIGGER) ? 48 : 52)) : 0), _high(0) { }
+ ObjectGuid(HighGuid hi, uint32 entry, LowType counter) : _low(counter ? uint64(counter) | (uint64(entry) << 32) | (uint64(hi) << ((hi == HighGuid::Corpse || hi == HighGuid::AreaTrigger) ? 48 : 52)) : 0), _high(0) { }
+ ObjectGuid(HighGuid hi, LowType counter) : _low(counter ? uint64(counter) | (uint64(hi) << ((hi == HighGuid::Corpse || hi == HighGuid::AreaTrigger) ? 48 : 52)) : 0), _high(0) { }
ObjectGuid(ObjectGuid const&) = default;
PackedGuidReader ReadAsPacked() { return PackedGuidReader(*this); }
@@ -113,7 +143,7 @@ class ObjectGuid
HighGuid GetHigh() const
{
uint32 temp = ((uint64(_low) >> 48) & 0x0000FFFF);
- return HighGuid((temp == HIGHGUID_CORPSE || temp == HIGHGUID_AREATRIGGER) ? temp : ((temp >> 4) & 0x00000FFF));
+ return HighGuid((temp == uint32(HighGuid::Corpse) || temp == uint32(HighGuid::AreaTrigger)) ? temp : ((temp >> 4) & 0x00000FFF));
}
uint32 GetEntry() const { return HasEntry() ? uint32((_low >> 32) & UI64LIT(0x00000000000FFFFF)) : 0; }
LowType GetCounter() const
@@ -141,47 +171,42 @@ class ObjectGuid
}
bool IsEmpty() const { return _low == 0 && _high == 0; }
- bool IsCreature() const { return GetHigh() == HIGHGUID_UNIT; }
- bool IsPet() const { return GetHigh() == HIGHGUID_PET; }
- bool IsVehicle() const { return GetHigh() == HIGHGUID_VEHICLE; }
+ bool IsCreature() const { return GetHigh() == HighGuid::Creature; }
+ bool IsPet() const { return GetHigh() == HighGuid::Pet; }
+ bool IsVehicle() const { return GetHigh() == HighGuid::Vehicle; }
bool IsCreatureOrPet() const { return IsCreature() || IsPet(); }
bool IsCreatureOrVehicle() const { return IsCreature() || IsVehicle(); }
bool IsAnyTypeCreature() const { return IsCreature() || IsPet() || IsVehicle(); }
- bool IsPlayer() const { return !IsEmpty() && GetHigh() == HIGHGUID_PLAYER; }
+ bool IsPlayer() const { return !IsEmpty() && GetHigh() == HighGuid::Player; }
bool IsUnit() const { return IsAnyTypeCreature() || IsPlayer(); }
- bool IsItem() const { return GetHigh() == HIGHGUID_ITEM; }
- bool IsGameObject() const { return GetHigh() == HIGHGUID_GAMEOBJECT; }
- bool IsDynamicObject() const { return GetHigh() == HIGHGUID_DYNAMICOBJECT; }
- bool IsCorpse() const { return GetHigh() == HIGHGUID_CORPSE; }
- bool IsAreaTrigger() const { return GetHigh() == HIGHGUID_AREATRIGGER; }
- bool IsBattleground() const { return GetHigh() == HIGHGUID_BATTLEGROUND; }
- bool IsTransport() const { return GetHigh() == HIGHGUID_TRANSPORT; }
- bool IsMOTransport() const { return GetHigh() == HIGHGUID_MO_TRANSPORT; }
- bool IsAnyTypeGameObject() const { return IsGameObject() || IsTransport() || IsMOTransport(); }
- bool IsInstance() const { return GetHigh() == HIGHGUID_INSTANCE; }
- bool IsGroup() const { return GetHigh() == HIGHGUID_GROUP; }
- bool IsGuild() const { return GetHigh() == HIGHGUID_GUILD; }
+ bool IsItem() const { return GetHigh() == HighGuid::Item; }
+ bool IsGameObject() const { return GetHigh() == HighGuid::GameObject; }
+ bool IsDynamicObject() const { return GetHigh() == HighGuid::DynamicObject; }
+ bool IsCorpse() const { return GetHigh() == HighGuid::Corpse; }
+ bool IsAreaTrigger() const { return GetHigh() == HighGuid::AreaTrigger; }
+ bool IsMOTransport() const { return GetHigh() == HighGuid::Transport; }
+ bool IsAnyTypeGameObject() const { return IsGameObject() || IsMOTransport(); }
+ bool IsParty() const { return GetHigh() == HighGuid::Party; }
+ bool IsGuild() const { return GetHigh() == HighGuid::Guild; }
static TypeID GetTypeId(HighGuid high)
{
switch (high)
{
- case HIGHGUID_ITEM: return TYPEID_ITEM;
+ case HighGuid::Item: return TYPEID_ITEM;
//case HIGHGUID_CONTAINER: return TYPEID_CONTAINER; HIGHGUID_CONTAINER==HIGHGUID_ITEM currently
- case HIGHGUID_UNIT: return TYPEID_UNIT;
- case HIGHGUID_PET: return TYPEID_UNIT;
- case HIGHGUID_PLAYER: return TYPEID_PLAYER;
- case HIGHGUID_GAMEOBJECT: return TYPEID_GAMEOBJECT;
- case HIGHGUID_DYNAMICOBJECT: return TYPEID_DYNAMICOBJECT;
- case HIGHGUID_CORPSE: return TYPEID_CORPSE;
- case HIGHGUID_AREATRIGGER: return TYPEID_AREATRIGGER;
- case HIGHGUID_MO_TRANSPORT: return TYPEID_GAMEOBJECT;
- case HIGHGUID_VEHICLE: return TYPEID_UNIT;
+ case HighGuid::Creature: return TYPEID_UNIT;
+ case HighGuid::Pet: return TYPEID_UNIT;
+ case HighGuid::Player: return TYPEID_PLAYER;
+ case HighGuid::GameObject: return TYPEID_GAMEOBJECT;
+ case HighGuid::DynamicObject: return TYPEID_DYNAMICOBJECT;
+ case HighGuid::Corpse: return TYPEID_CORPSE;
+ case HighGuid::AreaTrigger: return TYPEID_AREATRIGGER;
+ case HighGuid::Transport: return TYPEID_GAMEOBJECT;
+ case HighGuid::Vehicle: return TYPEID_UNIT;
// unknown
- case HIGHGUID_INSTANCE:
- case HIGHGUID_BATTLEGROUND:
- case HIGHGUID_GROUP:
- case HIGHGUID_GUILD:
+ case HighGuid::Party:
+ case HighGuid::Guild:
default: return TYPEID_OBJECT;
}
}
@@ -210,19 +235,17 @@ class ObjectGuid
{
switch (high)
{
- case HIGHGUID_ITEM:
- case HIGHGUID_PLAYER:
- case HIGHGUID_DYNAMICOBJECT:
- case HIGHGUID_CORPSE:
- case HIGHGUID_MO_TRANSPORT:
- case HIGHGUID_INSTANCE:
- case HIGHGUID_GROUP:
+ case HighGuid::Item:
+ case HighGuid::Player:
+ case HighGuid::DynamicObject:
+ case HighGuid::Corpse:
+ case HighGuid::Transport:
+ case HighGuid::Party:
return false;
- case HIGHGUID_GAMEOBJECT:
- case HIGHGUID_TRANSPORT:
- case HIGHGUID_UNIT:
- case HIGHGUID_PET:
- case HIGHGUID_VEHICLE:
+ case HighGuid::GameObject:
+ case HighGuid::Creature:
+ case HighGuid::Pet:
+ case HighGuid::Vehicle:
default:
return true;
}
diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp
index dbabab3bbe5..1e1ed30cf33 100644
--- a/src/server/game/Entities/Pet/Pet.cpp
+++ b/src/server/game/Entities/Pet/Pet.cpp
@@ -175,7 +175,7 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c
}
Map* map = owner->GetMap();
- if (!Create(sObjectMgr->GetGenerator<HIGHGUID_PET>()->Generate(), map, owner->GetPhaseMask(), petEntry, petId))
+ if (!Create(sObjectMgr->GetGenerator<HighGuid::Pet>()->Generate(), map, owner->GetPhaseMask(), petEntry, petId))
return false;
for (auto itr : owner->GetPhases())
@@ -771,7 +771,7 @@ bool Pet::CreateBaseAtTamed(CreatureTemplate const* cinfo, Map* map, uint32 phas
{
TC_LOG_DEBUG("entities.pet", "Pet::CreateBaseForTamed");
uint32 petId = sObjectMgr->GeneratePetNumber();
- if (!Create(sObjectMgr->GetGenerator<HIGHGUID_PET>()->Generate(), map, phaseMask, cinfo->Entry, petId))
+ if (!Create(sObjectMgr->GetGenerator<HighGuid::Pet>()->Generate(), map, phaseMask, cinfo->Entry, petId))
return false;
setPowerType(POWER_FOCUS);
@@ -1871,7 +1871,7 @@ bool Pet::Create(ObjectGuid::LowType guidlow, Map* map, uint32 phaseMask, uint32
SetMap(map);
SetPhaseMask(phaseMask, false);
- Object::_Create(guidlow, petId, HIGHGUID_PET);
+ Object::_Create(guidlow, petId, HighGuid::Pet);
m_DBTableGuid = guidlow;
m_originalEntry = Entry;
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 32f51d46568..e59c49bae9c 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -982,7 +982,7 @@ bool Player::Create(ObjectGuid::LowType guidlow, CharacterCreateInfo* createInfo
// should check that skin, face, hair* are valid via DBC per race/class
// also do it in Player::BuildEnumData, Player::LoadFromDB
- Object::_Create(guidlow, 0, HIGHGUID_PLAYER);
+ Object::_Create(guidlow, 0, HighGuid::Player);
m_name = createInfo->Name;
@@ -1964,7 +1964,7 @@ bool Player::BuildEnumData(PreparedQueryResult result, ByteBuffer* dataBuffer)
Field* fields = result->Fetch();
- ObjectGuid guid(HIGHGUID_PLAYER, fields[0].GetUInt64());
+ ObjectGuid guid(HighGuid::Player, fields[0].GetUInt64());
std::string name = fields[1].GetString();
uint8 playerRace = fields[2].GetUInt8();
uint8 playerClass = fields[3].GetUInt8();
@@ -1983,7 +1983,7 @@ bool Player::BuildEnumData(PreparedQueryResult result, ByteBuffer* dataBuffer)
uint64 guildId = fields[13].GetUInt64();
ObjectGuid guildGuid;
if (guildId)
- guildGuid = ObjectGuid(HIGHGUID_GUILD, guildId);
+ guildGuid = ObjectGuid(HighGuid::Guild, guildId);
uint32 playerFlags = fields[14].GetUInt32();
uint32 atLoginFlags = fields[15].GetUInt16();
Tokenizer equipment(fields[19].GetString(), ' ');
@@ -4809,7 +4809,7 @@ void Player::DeleteFromDB(ObjectGuid playerguid, uint32 accountId, bool updateRe
{
do
{
- if (Player* pFriend = ObjectAccessor::FindPlayer(ObjectGuid(HIGHGUID_PLAYER, (*resultFriends)[0].GetUInt64())))
+ if (Player* pFriend = ObjectAccessor::FindPlayer(ObjectGuid(HighGuid::Player, (*resultFriends)[0].GetUInt64())))
{
pFriend->GetSocial()->RemoveFromSocialList(playerguid, false);
sSocialMgr->SendFriendStatus(pFriend, FRIEND_REMOVED, playerguid, false);
@@ -5017,7 +5017,7 @@ void Player::DeleteOldCharacters(uint32 keepDays)
do
{
Field* fields = result->Fetch();
- Player::DeleteFromDB(ObjectGuid(HIGHGUID_PLAYER, fields[0].GetUInt64()), fields[1].GetUInt32(), true, true);
+ Player::DeleteFromDB(ObjectGuid(HighGuid::Player, fields[0].GetUInt64()), fields[1].GetUInt32(), true, true);
}
while (result->NextRow());
}
@@ -5205,7 +5205,7 @@ void Player::CreateCorpse()
Corpse* corpse = new Corpse((m_ExtraFlags & PLAYER_EXTRA_PVP_DEATH) ? CORPSE_RESURRECTABLE_PVP : CORPSE_RESURRECTABLE_PVE);
SetPvPDeath(false);
- if (!corpse->Create(sObjectMgr->GetGenerator<HIGHGUID_CORPSE>()->Generate(), this))
+ if (!corpse->Create(sObjectMgr->GetGenerator<HighGuid::Corpse>()->Generate(), this))
{
delete corpse;
return;
@@ -7592,7 +7592,7 @@ void Player::UpdateConquestCurrencyCap(uint32 currency)
void Player::SetInGuild(ObjectGuid::LowType guildId)
{
if (guildId)
- SetGuidValue(OBJECT_FIELD_DATA, ObjectGuid(HIGHGUID_GUILD, guildId));
+ SetGuidValue(OBJECT_FIELD_DATA, ObjectGuid(HighGuid::Guild, guildId));
else
SetGuidValue(OBJECT_FIELD_DATA, ObjectGuid::Empty);
@@ -14868,12 +14868,12 @@ Quest const* Player::GetNextQuest(ObjectGuid guid, Quest const* quest)
switch (guid.GetHigh())
{
- case HIGHGUID_PLAYER:
+ case HighGuid::Player:
ASSERT(quest->HasFlag(QUEST_FLAGS_AUTOCOMPLETE));
return sObjectMgr->GetQuestTemplate(nextQuestID);
- case HIGHGUID_UNIT:
- case HIGHGUID_PET:
- case HIGHGUID_VEHICLE:
+ case HighGuid::Creature:
+ case HighGuid::Pet:
+ case HighGuid::Vehicle:
{
if (Creature* creature = ObjectAccessor::GetCreatureOrPetOrVehicle(*this, guid))
objectQR = sObjectMgr->GetCreatureQuestRelationBounds(creature->GetEntry());
@@ -14881,7 +14881,7 @@ Quest const* Player::GetNextQuest(ObjectGuid guid, Quest const* quest)
return NULL;
break;
}
- case HIGHGUID_GAMEOBJECT:
+ case HighGuid::GameObject:
{
//we should obtain map pointer from GetMap() in 99% of cases. Special case
//only for quests which cast teleport spells on player
@@ -17229,7 +17229,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder)
return false;
}
- Object::_Create(guid.GetCounter(), 0, HIGHGUID_PLAYER);
+ Object::_Create(guid.GetCounter(), 0, HighGuid::Player);
m_name = fields[2].GetString();
@@ -17431,7 +17431,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder)
// currently we do not support transport in bg
else if (transLowGUID)
{
- ObjectGuid transGUID(HIGHGUID_MO_TRANSPORT, transLowGUID);
+ ObjectGuid transGUID(HighGuid::Transport, transLowGUID);
Transport* transport = NULL;
if (GameObject* go = HashMapHolder<GameObject>::Find(transGUID))
@@ -18155,7 +18155,7 @@ void Player::_LoadInventory(PreparedQueryResult result, uint32 timeDiff)
Field* fields = result->Fetch();
if (Item* item = _LoadItem(trans, zoneId, timeDiff, fields))
{
- ObjectGuid bagGuid(HIGHGUID_ITEM, fields[11].GetUInt64());
+ ObjectGuid bagGuid(HighGuid::Item, fields[11].GetUInt64());
uint8 slot = fields[12].GetUInt8();
uint8 err = EQUIP_ERR_OK;
@@ -18275,7 +18275,7 @@ void Player::_LoadVoidStorage(PreparedQueryResult result)
uint64 itemId = fields[0].GetUInt64();
uint32 itemEntry = fields[1].GetUInt32();
uint8 slot = fields[2].GetUInt8();
- ObjectGuid creatorGuid(HIGHGUID_PLAYER, fields[3].GetUInt64());
+ ObjectGuid creatorGuid(HighGuid::Player, fields[3].GetUInt64());
uint32 randomProperty = fields[4].GetUInt32();
uint32 suffixFactor = fields[5].GetUInt32();
@@ -18379,7 +18379,7 @@ Item* Player::_LoadItem(SQLTransaction& trans, uint32 zoneId, uint32 timeDiff, F
Tokenizer GUIDlist(strGUID, ' ');
GuidSet looters;
for (Tokenizer::const_iterator itr = GUIDlist.begin(); itr != GUIDlist.end(); ++itr)
- looters.insert(ObjectGuid(HIGHGUID_PLAYER, uint64(strtoull(*itr, nullptr, 10))));
+ looters.insert(ObjectGuid(HighGuid::Player, uint64(strtoull(*itr, nullptr, 10))));
if (looters.size() > 1 && item->GetTemplate()->GetMaxStackSize() == 1 && item->IsSoulBound())
{
@@ -18473,7 +18473,7 @@ void Player::_LoadMailedItems(Mail* mail)
Item* item = NewItemOrBag(proto);
- if (!item->LoadFromDB(itemGuid, ObjectGuid(HIGHGUID_PLAYER, fields[13].GetUInt64()), fields, itemTemplate))
+ if (!item->LoadFromDB(itemGuid, ObjectGuid(HighGuid::Player, fields[13].GetUInt64()), fields, itemTemplate))
{
TC_LOG_ERROR("entities.player", "Player::_LoadMailedItems - Item in mail (" UI64FMTD ") doesn't exist !!!! - item guid: %u, deleted from mail", mail->messageID, itemGuid);
@@ -21363,8 +21363,8 @@ void Player::RemovePetitionsAndSigns(ObjectGuid guid, uint32 type)
do // this part effectively does nothing, since the deletion / modification only takes place _after_ the PetitionQuery. Though I don't know if the result remains intact if I execute the delete query beforehand.
{ // and SendPetitionQueryOpcode reads data from the DB
Field* fields = result->Fetch();
- ObjectGuid ownerguid = ObjectGuid(HIGHGUID_PLAYER, fields[0].GetUInt64());
- ObjectGuid petitionguid = ObjectGuid(HIGHGUID_ITEM, fields[1].GetUInt64());
+ ObjectGuid ownerguid = ObjectGuid(HighGuid::Player, fields[0].GetUInt64());
+ ObjectGuid petitionguid = ObjectGuid(HighGuid::Item, fields[1].GetUInt64());
// send update if charter owner in game
Player* owner = ObjectAccessor::FindConnectedPlayer(ownerguid);
@@ -26393,7 +26393,7 @@ void Player::SendEquipmentSetList()
if (itr->second.IgnoreMask & (1 << i))
data << ignoredItemGuid;
else
- data << ObjectGuid(HIGHGUID_ITEM, itr->second.Items[i]);
+ data << ObjectGuid(HighGuid::Item, itr->second.Items[i]);
}
++count; // client have limit but it checked at loading and set
@@ -27543,7 +27543,7 @@ Pet* Player::SummonPet(uint32 entry, float x, float y, float z, float ang, PetTy
Map* map = GetMap();
uint32 pet_number = sObjectMgr->GeneratePetNumber();
- if (!pet->Create(sObjectMgr->GetGenerator<HIGHGUID_PET>()->Generate(), map, GetPhaseMask(), entry, pet_number))
+ if (!pet->Create(sObjectMgr->GetGenerator<HighGuid::Pet>()->Generate(), map, GetPhaseMask(), entry, pet_number))
{
TC_LOG_ERROR("misc", "no such creature entry %u", entry);
delete pet;
diff --git a/src/server/game/Entities/Player/SocialMgr.cpp b/src/server/game/Entities/Player/SocialMgr.cpp
index 7dcbcfe320c..def232fd576 100644
--- a/src/server/game/Entities/Player/SocialMgr.cpp
+++ b/src/server/game/Entities/Player/SocialMgr.cpp
@@ -324,7 +324,7 @@ PlayerSocial* SocialMgr::LoadFromDB(PreparedQueryResult result, ObjectGuid const
{
Field* fields = result->Fetch();
- friendGuid = ObjectGuid(HIGHGUID_PLAYER, fields[0].GetUInt64());
+ friendGuid = ObjectGuid(HighGuid::Player, fields[0].GetUInt64());
flags = fields[1].GetUInt8();
note = fields[2].GetString();
diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp
index 9acc84a7da0..42621344e1d 100644
--- a/src/server/game/Entities/Transport/Transport.cpp
+++ b/src/server/game/Entities/Transport/Transport.cpp
@@ -58,7 +58,7 @@ bool Transport::Create(ObjectGuid::LowType guidlow, uint32 entry, uint32 mapid,
return false;
}
- Object::_Create(guidlow, 0, HIGHGUID_MO_TRANSPORT);
+ Object::_Create(guidlow, 0, HighGuid::Transport);
GameObjectTemplate const* goinfo = sObjectMgr->GetGameObjectTemplate(entry);
@@ -453,7 +453,7 @@ TempSummon* Transport::SummonPassenger(uint32 entry, Position const& pos, TempSu
pos.GetPosition(x, y, z, o);
CalculatePassengerPosition(x, y, z, &o);
- if (!summon->Create(sObjectMgr->GetGenerator<HIGHGUID_UNIT>()->Generate(), map, 0, entry, x, y, z, o, nullptr, vehId))
+ if (!summon->Create(sObjectMgr->GetGenerator<HighGuid::Creature>()->Generate(), map, 0, entry, x, y, z, o, nullptr, vehId))
{
delete summon;
return NULL;