aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Guilds/Guild.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2017-05-21 23:18:43 +0200
committerShauren <shauren.trinity@gmail.com>2017-05-21 23:18:43 +0200
commit3d7c2ef88f2ca3293a1df0411ad49e3eb5a96079 (patch)
treed9a92cf30fcf560d837e2b3b0a212a6834534f46 /src/server/game/Guilds/Guild.cpp
parent3cb8f532dae1062c5f5bcda1b980463da99fe547 (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.cpp47
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);