diff options
| author | Shauren <shauren.trinity@gmail.com> | 2017-05-21 23:18:43 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2017-05-21 23:18:43 +0200 |
| commit | 3d7c2ef88f2ca3293a1df0411ad49e3eb5a96079 (patch) | |
| tree | d9a92cf30fcf560d837e2b3b0a212a6834534f46 /src/server/game/Guilds | |
| parent | 3cb8f532dae1062c5f5bcda1b980463da99fe547 (diff) | |
Core/Game: Include cleanup, part 4 - packets and largest headers (after preprocessing, except player/objectmgr)
Diffstat (limited to 'src/server/game/Guilds')
| -rw-r--r-- | src/server/game/Guilds/Guild.cpp | 47 | ||||
| -rw-r--r-- | src/server/game/Guilds/Guild.h | 64 | ||||
| -rw-r--r-- | src/server/game/Guilds/GuildFinderMgr.cpp | 1 | ||||
| -rw-r--r-- | src/server/game/Guilds/GuildMgr.cpp | 1 |
4 files changed, 66 insertions, 47 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 747c0bfd5c4..af696e8c3b9 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -32,8 +32,11 @@ #include "Log.h" #include "ObjectMgr.h" #include "Opcodes.h" +#include "Player.h" #include "ScriptMgr.h" #include "SocialMgr.h" +#include "World.h" +#include "WorldSession.h" #define MAX_GUILD_BANK_TAB_TEXT_LEN 500 #define EMBLEM_PRICE 10 * GOLD @@ -360,6 +363,11 @@ void Guild::RankInfo::SetBankTabSlotsAndRights(GuildBankRightsAndSlots rightsAnd } } +Guild::BankTab::BankTab(ObjectGuid::LowType guildId, uint8 tabId) : m_guildId(guildId), m_tabId(tabId) +{ + memset(m_items, 0, GUILD_BANK_MAX_SLOTS * sizeof(Item*)); +} + // BankTab void Guild::BankTab::LoadFromDB(Field* fields) { @@ -501,6 +509,26 @@ void Guild::BankTab::SendText(Guild const* guild, WorldSession* session) const } } +Guild::Member::Member(ObjectGuid::LowType guildId, ObjectGuid guid, uint8 rankId) : + m_guildId(guildId), + m_guid(guid), + m_zoneId(0), + m_level(0), + m_class(0), + _gender(0), + m_flags(GUILDMEMBER_STATUS_NONE), + m_logoutTime(::time(nullptr)), + m_accountId(0), + m_rankId(rankId), + m_achievementPoints(0), + m_totalActivity(0), + m_weekActivity(0), + m_totalReputation(0), + m_weekReputation(0) +{ + memset(m_bankWithdraw, 0, (GUILD_BANK_MAX_TABS + 1) * sizeof(int32)); +} + // Member void Guild::Member::SetStats(Player* player) { @@ -721,6 +749,15 @@ void EmblemInfo::SaveToDB(ObjectGuid::LowType guildId) const CharacterDatabase.Execute(stmt); } +Guild::MoveItemData::MoveItemData(Guild* guild, Player* player, uint8 container, uint8 slotId) : m_pGuild(guild), m_pPlayer(player), +m_container(container), m_slotId(slotId), m_pItem(nullptr), m_pClonedItem(nullptr) +{ +} + +Guild::MoveItemData::~MoveItemData() +{ +} + // MoveItemData bool Guild::MoveItemData::CheckItem(uint32& splitedAmount) { @@ -886,7 +923,7 @@ Item* Guild::BankMoveItemData::StoreItem(SQLTransaction& trans, Item* pItem) return nullptr; Item* pLastItem = pItem; - for (ItemPosCountVec::const_iterator itr = m_vec.begin(); itr != m_vec.end(); ) + for (auto itr = m_vec.begin(); itr != m_vec.end(); ) { ItemPosCount pos(*itr); ++itr; @@ -2754,6 +2791,14 @@ void Guild::SetBankTabText(uint8 tabId, std::string const& text) } } +bool Guild::_HasRankRight(Player const* player, uint32 right) const +{ + if (player) + if (Member const* member = GetMember(player->GetGUID())) + return (_GetRankRights(member->GetRankId()) & right) != GR_RIGHT_NONE; + return false; +} + void Guild::_DeleteMemberFromDB(ObjectGuid::LowType lowguid) { PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_MEMBER); diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h index 99bad731a09..be20db3b203 100644 --- a/src/server/game/Guilds/Guild.h +++ b/src/server/game/Guilds/Guild.h @@ -20,12 +20,17 @@ #define TRINITYCORE_GUILD_H #include "AchievementMgr.h" -#include "World.h" -#include "Item.h" -#include "WorldPacket.h" -#include "Player.h" +#include "DatabaseEnvFwd.h" +#include "ObjectGuid.h" +#include "SharedDefines.h" +#include <unordered_map> class Item; +class Player; +class WorldPacket; +class WorldSession; +struct ItemPosCount; +enum InventoryResult : uint8; namespace WorldPackets { @@ -34,6 +39,7 @@ namespace WorldPackets class GuildBankLogQueryResults; class GuildEventLogQueryResults; class GuildNews; + class SaveGuildEmblem; } } @@ -323,25 +329,7 @@ private: class Member { public: - Member(ObjectGuid::LowType guildId, ObjectGuid guid, uint8 rankId) : - m_guildId(guildId), - m_guid(guid), - m_zoneId(0), - m_level(0), - m_class(0), - _gender(0), - m_flags(GUILDMEMBER_STATUS_NONE), - m_logoutTime(::time(nullptr)), - m_accountId(0), - m_rankId(rankId), - m_achievementPoints(0), - m_totalActivity(0), - m_weekActivity(0), - m_totalReputation(0), - m_weekReputation(0) - { - memset(m_bankWithdraw, 0, (GUILD_BANK_MAX_TABS + 1) * sizeof(int32)); - } + Member(ObjectGuid::LowType guildId, ObjectGuid guid, uint8 rankId); void SetStats(Player* player); void SetStats(std::string const& name, uint8 level, uint8 _class, uint8 gender, uint32 zoneId, uint32 accountId, uint32 reputation); @@ -615,21 +603,12 @@ private: class BankTab { public: - BankTab(ObjectGuid::LowType guildId, uint8 tabId) : m_guildId(guildId), m_tabId(tabId) - { - memset(m_items, 0, GUILD_BANK_MAX_SLOTS * sizeof(Item*)); - } + BankTab(ObjectGuid::LowType guildId, uint8 tabId); void LoadFromDB(Field* fields); bool LoadItemFromDB(Field* fields); void Delete(SQLTransaction& trans, bool removeItemsFromDB = false); - void WriteInfoPacket(WorldPacket& data) const - { - data << m_name; - data << m_icon; - } - void SetInfo(std::string const& name, std::string const& icon); void SetText(std::string const& text); void SendText(Guild const* guild, WorldSession* session) const; @@ -655,9 +634,8 @@ private: class MoveItemData { public: - MoveItemData(Guild* guild, Player* player, uint8 container, uint8 slotId) : m_pGuild(guild), m_pPlayer(player), - m_container(container), m_slotId(slotId), m_pItem(nullptr), m_pClonedItem(nullptr) { } - virtual ~MoveItemData() { } + MoveItemData(Guild* guild, Player* player, uint8 container, uint8 slotId); + virtual ~MoveItemData(); virtual bool IsBank() const = 0; // Initializes item pointer. Returns true, if item exists, false otherwise. @@ -696,7 +674,7 @@ private: uint8 m_slotId; Item* m_pItem; Item* m_pClonedItem; - ItemPosCountVec m_vec; + std::vector<ItemPosCount> m_vec; }; class PlayerMoveItemData : public MoveItemData @@ -901,13 +879,7 @@ private: inline uint8 _GetRanksSize() const { return uint8(m_ranks.size()); } inline const RankInfo* GetRankInfo(uint8 rankId) const { return rankId < _GetRanksSize() ? &m_ranks[rankId] : NULL; } inline RankInfo* GetRankInfo(uint8 rankId) { return rankId < _GetRanksSize() ? &m_ranks[rankId] : NULL; } - inline bool _HasRankRight(Player const* player, uint32 right) const - { - if (player) - if (Member const* member = GetMember(player->GetGUID())) - return (_GetRankRights(member->GetRankId()) & right) != GR_RIGHT_NONE; - return false; - } + bool _HasRankRight(Player const* player, uint32 right) const; inline uint8 _GetLowestRankId() const { return uint8(m_ranks.size() - 1); } @@ -915,13 +887,13 @@ private: inline BankTab* GetBankTab(uint8 tabId) { return tabId < m_bankTabs.size() ? m_bankTabs[tabId] : NULL; } inline const BankTab* GetBankTab(uint8 tabId) const { return tabId < m_bankTabs.size() ? m_bankTabs[tabId] : NULL; } - inline const Member* GetMember(ObjectGuid guid) const + inline const Member* GetMember(ObjectGuid const& guid) const { Members::const_iterator itr = m_members.find(guid); return itr != m_members.end() ? itr->second : NULL; } - inline Member* GetMember(ObjectGuid guid) + inline Member* GetMember(ObjectGuid const& guid) { Members::iterator itr = m_members.find(guid); return itr != m_members.end() ? itr->second : NULL; diff --git a/src/server/game/Guilds/GuildFinderMgr.cpp b/src/server/game/Guilds/GuildFinderMgr.cpp index c057324e2c5..b0a9184aa41 100644 --- a/src/server/game/Guilds/GuildFinderMgr.cpp +++ b/src/server/game/Guilds/GuildFinderMgr.cpp @@ -22,6 +22,7 @@ #include "GuildFinderPackets.h" #include "Log.h" #include "ObjectMgr.h" +#include "Player.h" #include "World.h" MembershipRequest::MembershipRequest() : _availability(0), _classRoles(0), _interests(0), _time(time(NULL)) diff --git a/src/server/game/Guilds/GuildMgr.cpp b/src/server/game/Guilds/GuildMgr.cpp index c7811b0b9ab..513de46edd4 100644 --- a/src/server/game/Guilds/GuildMgr.cpp +++ b/src/server/game/Guilds/GuildMgr.cpp @@ -20,6 +20,7 @@ #include "Guild.h" #include "Log.h" #include "ObjectMgr.h" +#include "World.h" GuildMgr::GuildMgr() : NextGuildId(UI64LIT(1)) { |
