summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);