aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Guilds/Guild.cpp
diff options
context:
space:
mode:
authorkaelima <kaelima@live.se>2012-05-30 08:01:02 +0200
committerkaelima <kaelima@live.se>2012-05-30 08:01:02 +0200
commit3d14384c32971096b49f88ff785d92879480af76 (patch)
treec1ade41c9d04583a717a705132ca09dde7a8ad56 /src/server/game/Guilds/Guild.cpp
parentbdf6cf5146b884591e3a033a31ca5b729fdff0ff (diff)
Merge git://github.com/TrinityCore/TrinityCore into 4.x
Conflicts: dep/PackageList.txt sql/base/auth_database.sql src/server/authserver/Server/AuthSocket.cpp src/server/game/Battlegrounds/BattlegroundMgr.cpp src/server/game/Chat/Commands/Level1.cpp src/server/game/Chat/Commands/Level3.cpp src/server/game/DataStores/DBCEnums.h src/server/game/DataStores/DBCStores.cpp src/server/game/DataStores/DBCStores.h src/server/game/DataStores/DBCStructure.h src/server/game/DataStores/DBCfmt.h src/server/game/Entities/Corpse/Corpse.cpp src/server/game/Entities/Creature/Creature.cpp src/server/game/Entities/DynamicObject/DynamicObject.cpp src/server/game/Entities/GameObject/GameObject.cpp src/server/game/Entities/Item/Item.cpp src/server/game/Entities/Object/Object.cpp src/server/game/Entities/Object/Updates/UpdateData.h src/server/game/Entities/Pet/Pet.cpp src/server/game/Entities/Player/Player.cpp src/server/game/Entities/Player/Player.h src/server/game/Entities/Transport/Transport.cpp src/server/game/Entities/Unit/Unit.cpp src/server/game/Globals/ObjectMgr.cpp src/server/game/Globals/ObjectMgr.h src/server/game/Guilds/Guild.cpp src/server/game/Handlers/CharacterHandler.cpp src/server/game/Handlers/MiscHandler.cpp src/server/game/Handlers/MovementHandler.cpp src/server/game/Handlers/QuestHandler.cpp src/server/game/Loot/LootMgr.cpp src/server/game/Miscellaneous/SharedDefines.h src/server/game/Quests/QuestDef.cpp src/server/game/Server/Protocol/Opcodes.cpp src/server/game/Server/Protocol/Opcodes.h src/server/game/Server/WorldSession.cpp src/server/game/Server/WorldSocket.cpp src/server/game/Spells/Auras/SpellAuraEffects.cpp src/server/game/Spells/Spell.cpp src/server/game/Spells/Spell.h src/server/game/Spells/SpellEffects.cpp src/server/game/Tickets/TicketMgr.cpp src/server/scripts/Commands/cs_gps.cpp src/server/scripts/Commands/cs_modify.cpp src/server/shared/Database/Implementation/CharacterDatabase.cpp src/server/shared/Logging/Log.h src/tools/map_extractor/CMakeLists.txt src/tools/map_extractor/System.cpp src/tools/map_extractor/mpq_libmpq04.h src/tools/vmap4_extractor/CMakeLists.txt
Diffstat (limited to 'src/server/game/Guilds/Guild.cpp')
-rwxr-xr-xsrc/server/game/Guilds/Guild.cpp114
1 files changed, 54 insertions, 60 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp
index a7c5b04bcba..dfeb3f7cad9 100755
--- a/src/server/game/Guilds/Guild.cpp
+++ b/src/server/game/Guilds/Guild.cpp
@@ -588,11 +588,11 @@ bool Guild::Member::LoadFromDB(Field* fields)
}
SetStats(fields[19].GetString(),
- fields[20].GetUInt8(),
- fields[21].GetUInt8(),
- fields[22].GetUInt32(),
- fields[23].GetUInt32());
- m_logoutTime = fields[24].GetUInt32();
+ fields[20].GetUInt8(), // characters.level
+ fields[21].GetUInt8(), // characters.class
+ fields[22].GetUInt16(), // characters.zone
+ fields[23].GetUInt32()); // characters.account
+ m_logoutTime = fields[24].GetUInt32(); // characters.logout_time
if (!CheckStats())
return false;
@@ -1376,12 +1376,12 @@ void Guild::HandleSetMemberNote(WorldSession* session, const std::string& name,
if (!_HasRankRight(session->GetPlayer(), officer ? GR_RIGHT_EOFFNOTE : GR_RIGHT_EPNOTE))
SendCommandResult(session, GUILD_INVITE_S, ERR_GUILD_PERMISSIONS);
// Noted player must be a member of guild
- else if (Member* pMember = GetMember(session, name))
+ else if (Member* member = GetMember(session, name))
{
if (officer)
- pMember->SetOfficerNote(note);
+ member->SetOfficerNote(note);
else
- pMember->SetPublicNote(note);
+ member->SetPublicNote(note);
HandleRoster(session);
}
}
@@ -1526,17 +1526,17 @@ void Guild::HandleRemoveMember(WorldSession* session, const std::string& name)
if (!_HasRankRight(player, GR_RIGHT_REMOVE))
SendCommandResult(session, GUILD_INVITE_S, ERR_GUILD_PERMISSIONS);
// Removed player must be a member of guild
- else if (Member* pMember = GetMember(session, name))
+ else if (Member* member = GetMember(session, name))
{
// Leader cannot be removed
- if (pMember->IsRank(GR_GUILDMASTER))
+ if (member->IsRank(GR_GUILDMASTER))
SendCommandResult(session, GUILD_QUIT_S, ERR_GUILD_LEADER_LEAVE);
// Do not allow to remove player with the same rank or higher
- else if (pMember->IsRankNotLower(player->GetRank()))
+ else if (member->IsRankNotLower(player->GetRank()))
SendCommandResult(session, GUILD_QUIT_S, ERR_GUILD_RANK_TOO_HIGH_S, name);
else
{
- uint64 guid = pMember->GetGUID();
+ uint64 guid = member->GetGUID();
// After call to DeleteMember pointer to member becomes invalid
DeleteMember(guid, false, true);
_LogEvent(GUILD_EVENT_LOG_UNINVITE_PLAYER, player->GetGUIDLow(), GUID_LOPART(guid));
@@ -1552,10 +1552,10 @@ void Guild::HandleUpdateMemberRank(WorldSession* session, const std::string& nam
if (!_HasRankRight(player, demote ? GR_RIGHT_DEMOTE : GR_RIGHT_PROMOTE))
SendCommandResult(session, GUILD_INVITE_S, ERR_GUILD_PERMISSIONS);
// Promoted player must be a member of guild
- else if (Member* pMember = GetMember(session, name))
+ else if (Member* member = GetMember(session, name))
{
// Player cannot promote himself
- if (pMember->IsSamePlayer(player->GetGUID()))
+ if (member->IsSamePlayer(player->GetGUID()))
{
SendCommandResult(session, GUILD_INVITE_S, ERR_GUILD_NAME_INVALID);
return;
@@ -1564,13 +1564,13 @@ void Guild::HandleUpdateMemberRank(WorldSession* session, const std::string& nam
if (demote)
{
// Player can demote only lower rank members
- if (pMember->IsRankNotLower(player->GetRank()))
+ if (member->IsRankNotLower(player->GetRank()))
{
SendCommandResult(session, GUILD_INVITE_S, ERR_GUILD_RANK_TOO_HIGH_S, name);
return;
}
// Lowest rank cannot be demoted
- if (pMember->GetRankId() >= _GetLowestRankId())
+ if (member->GetRankId() >= _GetLowestRankId())
{
SendCommandResult(session, GUILD_INVITE_S, ERR_GUILD_RANK_TOO_LOW_S, name);
return;
@@ -1579,8 +1579,8 @@ void Guild::HandleUpdateMemberRank(WorldSession* session, const std::string& nam
else
{
// Allow to promote only to lower rank than member's rank
- // pMember->GetRank() + 1 is the highest rank that current player can promote to
- if (pMember->IsRankNotLower(player->GetRank() + 1))
+ // member->GetRank() + 1 is the highest rank that current player can promote to
+ if (member->IsRankNotLower(player->GetRank() + 1))
{
SendCommandResult(session, GUILD_INVITE_S, ERR_GUILD_RANK_TOO_HIGH_S, name);
return;
@@ -1588,9 +1588,9 @@ void Guild::HandleUpdateMemberRank(WorldSession* session, const std::string& nam
}
// When promoting player, rank is decreased, when demoting - increased
- uint32 newRankId = pMember->GetRankId() + (demote ? 1 : -1);
- pMember->ChangeRank(newRankId);
- _LogEvent(demote ? GUILD_EVENT_LOG_DEMOTE_PLAYER : GUILD_EVENT_LOG_PROMOTE_PLAYER, player->GetGUIDLow(), GUID_LOPART(pMember->GetGUID()), newRankId);
+ uint32 newRankId = member->GetRankId() + (demote ? 1 : -1);
+ member->ChangeRank(newRankId);
+ _LogEvent(demote ? GUILD_EVENT_LOG_DEMOTE_PLAYER : GUILD_EVENT_LOG_PROMOTE_PLAYER, player->GetGUIDLow(), GUID_LOPART(member->GetGUID()), newRankId);
_BroadcastEvent(demote ? GE_DEMOTION : GE_PROMOTION, 0, player->GetName(), name.c_str(), _GetRankName(newRankId).c_str());
}
}
@@ -1643,9 +1643,6 @@ void Guild::HandleRemoveLowestRank(WorldSession* session)
void Guild::HandleMemberDepositMoney(WorldSession* session, uint32 amount)
{
- if (!_GetPurchasedTabsSize())
- return; // No guild bank tabs - no money in bank
-
Player* player = session->GetPlayer();
// Call script after validation and before money transfer.
@@ -1676,9 +1673,6 @@ void Guild::HandleMemberDepositMoney(WorldSession* session, uint32 amount)
bool Guild::HandleMemberWithdrawMoney(WorldSession* session, uint32 amount, bool repair)
{
- if (!_GetPurchasedTabsSize())
- return false; // No guild bank tabs - no money
-
if (m_bankMoney < amount) // Not enough money in bank
return false;
@@ -1699,8 +1693,8 @@ bool Guild::HandleMemberWithdrawMoney(WorldSession* session, uint32 amount, bool
SQLTransaction trans = CharacterDatabase.BeginTransaction();
// Update remaining money amount
if (remainingMoney < uint32(GUILD_WITHDRAW_MONEY_UNLIMITED))
- if (Member* pMember = GetMember(player->GetGUID()))
- pMember->DecreaseBankRemainingValue(trans, GUILD_BANK_MAX_TABS, amount);
+ if (Member* member = GetMember(player->GetGUID()))
+ member->DecreaseBankRemainingValue(trans, GUILD_BANK_MAX_TABS, amount);
// Remove money from bank
_ModifyBankMoney(trans, amount, false);
// Add money to player (if required)
@@ -1726,10 +1720,10 @@ bool Guild::HandleMemberWithdrawMoney(WorldSession* session, uint32 amount, bool
void Guild::HandleMemberLogout(WorldSession* session)
{
Player* player = session->GetPlayer();
- if (Member* pMember = GetMember(player->GetGUID()))
+ if (Member* member = GetMember(player->GetGUID()))
{
- pMember->SetStats(player);
- pMember->UpdateLogoutTime();
+ member->SetStats(player);
+ member->UpdateLogoutTime();
}
_BroadcastEvent(GE_SIGNED_OFF, player->GetGUID(), player->GetName());
}
@@ -1869,7 +1863,7 @@ bool Guild::LoadFromDB(Field* fields)
m_createdDate = time_t(fields[10].GetUInt32());
m_bankMoney = fields[11].GetUInt64();
- uint8 purchasedTabs = uint8(fields[12].GetUInt32());
+ uint8 purchasedTabs = uint8(fields[12].GetUInt64());
if (purchasedTabs > GUILD_BANK_MAX_TABS)
purchasedTabs = GUILD_BANK_MAX_TABS;
@@ -1893,14 +1887,14 @@ void Guild::LoadRankFromDB(Field* fields)
bool Guild::LoadMemberFromDB(Field* fields)
{
uint32 lowguid = fields[1].GetUInt32();
- Member *pMember = new Member(m_id, MAKE_NEW_GUID(lowguid, 0, HIGHGUID_PLAYER), fields[2].GetUInt8());
- if (!pMember->LoadFromDB(fields))
+ Member *member = new Member(m_id, MAKE_NEW_GUID(lowguid, 0, HIGHGUID_PLAYER), fields[2].GetUInt8());
+ if (!member->LoadFromDB(fields))
{
_DeleteMemberFromDB(lowguid);
- delete pMember;
+ delete member;
return false;
}
- m_members[lowguid] = pMember;
+ m_members[lowguid] = member;
return true;
}
@@ -1971,7 +1965,7 @@ bool Guild::LoadBankEventLogFromDB(Field* fields)
bool Guild::LoadBankTabFromDB(Field* fields)
{
- uint32 tabId = fields[1].GetUInt8();
+ uint8 tabId = fields[1].GetUInt8();
if (tabId >= _GetPurchasedTabsSize())
{
sLog->outError("Invalid tab (tabId: %u) in guild bank, skipped.", tabId);
@@ -2112,9 +2106,9 @@ bool Guild::AddMember(uint64 guid, uint8 rankId)
if (rankId == GUILD_RANK_NONE)
rankId = _GetLowestRankId();
- Member* pMember = new Member(m_id, guid, rankId);
+ Member* member = new Member(m_id, guid, rankId);
if (player)
- pMember->SetStats(player);
+ member->SetStats(player);
else
{
bool ok = false;
@@ -2124,25 +2118,25 @@ bool Guild::AddMember(uint64 guid, uint8 rankId)
if (PreparedQueryResult result = CharacterDatabase.Query(stmt))
{
Field* fields = result->Fetch();
- pMember->SetStats(
+ member->SetStats(
fields[0].GetString(),
fields[1].GetUInt8(),
fields[2].GetUInt8(),
fields[3].GetUInt16(),
fields[4].GetUInt32());
- ok = pMember->CheckStats();
+ ok = member->CheckStats();
}
if (!ok)
{
- delete pMember;
+ delete member;
return false;
}
}
- m_members[lowguid] = pMember;
+ m_members[lowguid] = member;
SQLTransaction trans(NULL);
- pMember->SaveToDB(trans);
+ member->SaveToDB(trans);
// If player not in game data in will be loaded from guild tables, so no need to update it!
if (player)
{
@@ -2199,8 +2193,8 @@ void Guild::DeleteMember(uint64 guid, bool isDisbanding, bool isKicked)
// Call script on remove before member is acutally removed from guild (and database)
sScriptMgr->OnGuildRemoveMember(this, player, isDisbanding, isKicked);
- if (Member* pMember = GetMember(guid))
- delete pMember;
+ if (Member* member = GetMember(guid))
+ delete member;
m_members.erase(lowguid);
// If player not online data in data field will be loaded from guild tabs no need to update it !!
@@ -2218,9 +2212,9 @@ void Guild::DeleteMember(uint64 guid, bool isDisbanding, bool isKicked)
bool Guild::ChangeMemberRank(uint64 guid, uint8 newRank)
{
if (newRank <= _GetLowestRankId()) // Validate rank (allow only existing ranks)
- if (Member* pMember = GetMember(guid))
+ if (Member* member = GetMember(guid))
{
- pMember->ChangeRank(newRank);
+ member->ChangeRank(newRank);
return true;
}
return false;
@@ -2369,8 +2363,8 @@ bool Guild::_IsLeader(Player* player) const
{
if (player->GetGUID() == m_leaderGuid)
return true;
- if (const Member* pMember = GetMember(player->GetGUID()))
- return pMember->IsRank(GR_GUILDMASTER);
+ if (const Member* member = GetMember(player->GetGUID()))
+ return member->IsRank(GR_GUILDMASTER);
return false;
}
@@ -2483,15 +2477,15 @@ inline uint8 Guild::_GetRankBankTabRights(uint8 rankId, uint8 tabId) const
inline uint32 Guild::_GetMemberRemainingSlots(uint64 guid, uint8 tabId) const
{
- if (const Member* pMember = GetMember(guid))
- return pMember->GetBankRemainingValue(tabId, this);
+ if (const Member* member = GetMember(guid))
+ return member->GetBankRemainingValue(tabId, this);
return 0;
}
inline uint32 Guild::_GetMemberRemainingMoney(uint64 guid) const
{
- if (const Member* pMember = GetMember(guid))
- return pMember->GetBankRemainingValue(GUILD_BANK_MAX_TABS, this);
+ if (const Member* member = GetMember(guid))
+ return member->GetBankRemainingValue(GUILD_BANK_MAX_TABS, this);
return 0;
}
@@ -2501,18 +2495,18 @@ inline void Guild::_DecreaseMemberRemainingSlots(SQLTransaction& trans, uint64 g
if (uint32 remainingSlots = _GetMemberRemainingSlots(guid, tabId))
// Ignore guild master
if (remainingSlots < uint32(GUILD_WITHDRAW_SLOT_UNLIMITED))
- if (Member* pMember = GetMember(guid))
- pMember->DecreaseBankRemainingValue(trans, tabId, 1);
+ if (Member* member = GetMember(guid))
+ member->DecreaseBankRemainingValue(trans, tabId, 1);
}
inline bool Guild::_MemberHasTabRights(uint64 guid, uint8 tabId, uint32 rights) const
{
- if (const Member* pMember = GetMember(guid))
+ if (const Member* member = GetMember(guid))
{
// Leader always has full rights
- if (pMember->IsRank(GR_GUILDMASTER) || m_leaderGuid == guid)
+ if (member->IsRank(GR_GUILDMASTER) || m_leaderGuid == guid)
return true;
- return (_GetRankBankTabRights(pMember->GetRankId(), tabId) & rights) == rights;
+ return (_GetRankBankTabRights(member->GetRankId(), tabId) & rights) == rights;
}
return false;
}