summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Athay <ko2fan@gmail.com>2008-11-24 15:19:05 +0000
committerDavid Athay <ko2fan@gmail.com>2008-11-24 15:19:05 +0000
commitb62898f20d392ea3b2bf905f51f695b7972d88fd (patch)
tree4ec25ff05c72fab9cef1b8c9ec4a07bdea95f8f2 /src
parentbfff42c853f39a7e25c82c9059b7a0af64fd7987 (diff)
downloadmanaserv-b62898f20d392ea3b2bf905f51f695b7972d88fd.tar.gz
manaserv-b62898f20d392ea3b2bf905f51f695b7972d88fd.tar.bz2
manaserv-b62898f20d392ea3b2bf905f51f695b7972d88fd.tar.xz
manaserv-b62898f20d392ea3b2bf905f51f695b7972d88fd.zip
Change leader if leader leaves guild.
Diffstat (limited to 'src')
-rw-r--r--src/chat-server/guild.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/chat-server/guild.cpp b/src/chat-server/guild.cpp
index 0fd94806..ca2dd792 100644
--- a/src/chat-server/guild.cpp
+++ b/src/chat-server/guild.cpp
@@ -49,6 +49,13 @@ void Guild::addMember(int playerId, int permissions)
void Guild::removeMember(int playerId)
{
+ if (checkLeader(playerId))
+ {
+ // if the leader is leaving, assign next member as leader
+ std::list<GuildMember*>::iterator itr = mMembers.begin();
+ itr++;
+ setLeader((*itr)->mId);
+ }
GuildMember *member = getMember(playerId);
if (member)
mMembers.remove(member);