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/Guild.cpp | |
| 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/Guild.cpp')
| -rw-r--r-- | src/server/game/Guilds/Guild.cpp | 47 |
1 files changed, 46 insertions, 1 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); |
