mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-30 21:57:01 +01:00
Core/Guilds: Preliminary implementation of guild guids
This commit is contained in:
@@ -45,6 +45,7 @@ enum HighGuid
|
||||
HIGHGUID_CORPSE = 0xF101, // blizz F100
|
||||
HIGHGUID_MO_TRANSPORT = 0x1FC0, // blizz 1FC0 (for GAMEOBJECT_TYPE_MO_TRANSPORT)
|
||||
HIGHGUID_GROUP = 0x1F50,
|
||||
HIGHGUID_GUILD = 0x1FF // new 4.x
|
||||
};
|
||||
|
||||
#define IS_EMPTY_GUID(Guid) (Guid == 0)
|
||||
@@ -64,6 +65,7 @@ enum HighGuid
|
||||
#define IS_TRANSPORT(Guid) (GUID_HIPART(Guid) == HIGHGUID_TRANSPORT)
|
||||
#define IS_MO_TRANSPORT(Guid) (GUID_HIPART(Guid) == HIGHGUID_MO_TRANSPORT)
|
||||
#define IS_GROUP(Guid) (GUID_HIPART(Guid) == HIGHGUID_GROUP)
|
||||
#define IS_GUILD(Guid) (GUID_HIPART(Guid) == HIGHGUID_GUILD)
|
||||
|
||||
// l - OBJECT_FIELD_GUID
|
||||
// e - OBJECT_FIELD_ENTRY for GO (except GAMEOBJECT_TYPE_MO_TRANSPORT) and creatures or UNIT_FIELD_PETNUMBER for pets
|
||||
@@ -87,6 +89,7 @@ inline bool IsGuidHaveEnPart(uint64 guid)
|
||||
case HIGHGUID_DYNAMICOBJECT:
|
||||
case HIGHGUID_CORPSE:
|
||||
case HIGHGUID_GROUP:
|
||||
case HIGHGUID_GUILD:
|
||||
return false;
|
||||
case HIGHGUID_GAMEOBJECT:
|
||||
case HIGHGUID_TRANSPORT:
|
||||
@@ -117,6 +120,7 @@ inline char const* GetLogNameForGuid(uint64 guid)
|
||||
case HIGHGUID_CORPSE: return "corpse";
|
||||
case HIGHGUID_MO_TRANSPORT: return "mo_transport";
|
||||
case HIGHGUID_GROUP: return "group";
|
||||
case HIGHGUID_GUILD: return "guild";
|
||||
default:
|
||||
return "<unknown>";
|
||||
}
|
||||
|
||||
@@ -59,6 +59,17 @@ Guild* GuildMgr::GetGuildById(uint32 guildId) const
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Guild* GuildMgr::GetGuildByGuid(uint64 guid) const
|
||||
{
|
||||
// Full guids are only used when receiving/sending data to client
|
||||
// everywhere else guild id is used
|
||||
if (IS_GUILD(guid))
|
||||
if (uint32 guildId = GUID_LOPART(guid))
|
||||
return GetGuildById(guildId);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Guild* GuildMgr::GetGuildByName(const std::string& guildName) const
|
||||
{
|
||||
std::string search = guildName;
|
||||
|
||||
@@ -32,6 +32,7 @@ public:
|
||||
|
||||
Guild* GetGuildByLeader(uint64 guid) const;
|
||||
Guild* GetGuildById(uint32 guildId) const;
|
||||
Guild* GetGuildByGuid(uint64 guid) const;
|
||||
Guild* GetGuildByName(const std::string& guildName) const;
|
||||
std::string GetGuildNameById(uint32 guildId) const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user