Created
March 7, 2012 19:46
-
-
Save rsa/1995535 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/game/ObjectGuid.cpp b/src/game/ObjectGuid.cpp | |
index 8688013..a6383ea 100644 | |
--- a/src/game/ObjectGuid.cpp | |
+++ b/src/game/ObjectGuid.cpp | |
@@ -109,3 +109,4 @@ template uint32 ObjectGuidGenerator<HIGHGUID_DYNAMICOBJECT>::Generate(); | |
template uint32 ObjectGuidGenerator<HIGHGUID_CORPSE>::Generate(); | |
template uint32 ObjectGuidGenerator<HIGHGUID_INSTANCE>::Generate(); | |
template uint32 ObjectGuidGenerator<HIGHGUID_GROUP>::Generate(); | |
+template uint32 ObjectGuidGenerator<HIGHGUID_EVENT>::Generate(); | |
diff --git a/src/game/ObjectGuid.h b/src/game/ObjectGuid.h | |
index 99198ae..1bf4370 100644 | |
--- a/src/game/ObjectGuid.h | |
+++ b/src/game/ObjectGuid.h | |
@@ -74,6 +74,7 @@ enum HighGuid | |
HIGHGUID_MO_TRANSPORT = 0x1FC, // blizz 1FC (for GAMEOBJECT_TYPE_MO_TRANSPORT) | |
HIGHGUID_INSTANCE = 0x1F4, // blizz 1F4 | |
HIGHGUID_GROUP = 0x1F5, // blizz 1F5 | |
+ HIGHGUID_EVENT = 0x7FF, // blizz unknown, need correct | |
}; | |
class ObjectGuid; | |
@@ -145,6 +146,7 @@ class MANGOS_DLL_SPEC ObjectGuid | |
bool IsInstance() const { return GetHigh() == HIGHGUID_INSTANCE; } | |
bool IsGroup() const { return GetHigh() == HIGHGUID_GROUP; } | |
bool IsPlayerOrPet() const { return !IsEmpty() && (GetHigh() == HIGHGUID_PLAYER || GetHigh() == HIGHGUID_PET); } | |
+ bool IsEvent() const { return !IsEmpty() && (GetHigh() == HIGHGUID_EVENT); } | |
static TypeID GetTypeId(HighGuid high) | |
{ | |
@@ -191,6 +193,7 @@ class MANGOS_DLL_SPEC ObjectGuid | |
case HIGHGUID_MO_TRANSPORT: | |
case HIGHGUID_INSTANCE: | |
case HIGHGUID_GROUP: | |
+ case HIGHGUID_EVENT: | |
return false; | |
case HIGHGUID_GAMEOBJECT: | |
case HIGHGUID_TRANSPORT: | |
diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp | |
index ea4355d..800560b 100644 | |
--- a/src/game/ObjectMgr.cpp | |
+++ b/src/game/ObjectMgr.cpp | |
@@ -6078,6 +6078,13 @@ void ObjectMgr::SetHighestGuids() | |
delete result; | |
} | |
+ result = CharacterDatabase.Query( "SELECT MAX(id) FROM calendar_events" ); | |
+ if (result) | |
+ { | |
+ m_EventGuids.Set((*result)[0].GetUInt32()+1); | |
+ delete result; | |
+ } | |
+ | |
// setup reserved ranges for static guids spawn | |
m_StaticCreatureGuids.Set(m_FirstTemporaryCreatureGuid); | |
m_FirstTemporaryCreatureGuid += sWorld.getConfig(CONFIG_UINT32_GUID_RESERVE_SIZE_CREATURE); | |
diff --git a/src/game/ObjectMgr.h b/src/game/ObjectMgr.h | |
index 817996a..0e63d28 100644 | |
--- a/src/game/ObjectMgr.h | |
+++ b/src/game/ObjectMgr.h | |
@@ -848,6 +848,7 @@ class ObjectMgr | |
uint32 GenerateCorpseLowGuid() { return m_CorpseGuids.Generate(); } | |
uint32 GenerateInstanceLowGuid() { return m_InstanceGuids.Generate(); } | |
uint32 GenerateGroupLowGuid() { return m_GroupGuids.Generate(); } | |
+ uint32 GenerateEventLowGuid() { return m_EventGuids.Generate(); } | |
uint32 GenerateArenaTeamId() { return m_ArenaTeamIds.Generate(); } | |
uint32 GenerateAuctionID() { return m_AuctionIds.Generate(); } | |
@@ -1208,6 +1209,7 @@ class ObjectMgr | |
ObjectGuidGenerator<HIGHGUID_CORPSE> m_CorpseGuids; | |
ObjectGuidGenerator<HIGHGUID_INSTANCE> m_InstanceGuids; | |
ObjectGuidGenerator<HIGHGUID_GROUP> m_GroupGuids; | |
+ ObjectGuidGenerator<HIGHGUID_EVENT> m_EventGuids; | |
QuestMap mQuestTemplates; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment