diff options
author | David Athay <ko2fan@gmail.com> | 2008-04-18 15:05:33 +0000 |
---|---|---|
committer | David Athay <ko2fan@gmail.com> | 2008-04-18 15:05:33 +0000 |
commit | 17637bdf1836b16ce3025ac993e44bb27dbff593 (patch) | |
tree | f9bb05a2d565d4f0bfbfef38f7f429768197be20 | |
parent | 6c9a64ba9686cd4390f8039421b7af903bb436e5 (diff) | |
download | manaserv-17637bdf1836b16ce3025ac993e44bb27dbff593.tar.gz manaserv-17637bdf1836b16ce3025ac993e44bb27dbff593.tar.bz2 manaserv-17637bdf1836b16ce3025ac993e44bb27dbff593.tar.xz manaserv-17637bdf1836b16ce3025ac993e44bb27dbff593.zip |
Fixed guilds not being removed when leader quits.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | src/chat-server/chatchannelmanager.cpp | 5 | ||||
-rw-r--r-- | src/chat-server/chatclient.hpp | 1 | ||||
-rw-r--r-- | src/chat-server/chathandler.cpp | 9 |
4 files changed, 11 insertions, 10 deletions
@@ -1,3 +1,9 @@ +2008-04-18 David Athay <ko2fan@gmail.com> + + * src/chat-server/chatchannelmanager.cpp, + src/chat-server/chatclient.hpp, src/chat-server/chathandler.cpp: + Fixed guilds not being removed when leader quits. + 2008-04-17 David Athay <ko2fan@gmail.com> * src/chat-server/chathandler.hpp, src/chat-server/chathandler.cpp: diff --git a/src/chat-server/chatchannelmanager.cpp b/src/chat-server/chatchannelmanager.cpp index 03a1c78b..258b2d60 100644 --- a/src/chat-server/chatchannelmanager.cpp +++ b/src/chat-server/chatchannelmanager.cpp @@ -29,7 +29,7 @@ #include "account-server/dalstorage.hpp" #include "chat-server/chatclient.hpp" -ChatChannelManager::ChatChannelManager() : mNextChannelId(0) +ChatChannelManager::ChatChannelManager() : mNextChannelId(1) { // Load stored public chat channels from db mChatChannels = storage->getChannelList(); @@ -146,7 +146,8 @@ int ChatChannelManager::nextUsable() } else { - channelId = ++mNextChannelId; + channelId = mNextChannelId; + ++mNextChannelId; } return channelId; diff --git a/src/chat-server/chatclient.hpp b/src/chat-server/chatclient.hpp index d8c44ba3..59950577 100644 --- a/src/chat-server/chatclient.hpp +++ b/src/chat-server/chatclient.hpp @@ -51,7 +51,6 @@ class ChatClient : public NetComputer std::string characterName; std::vector< ChatChannel * > channels; - std::vector< Guild* > guilds; Party* party; unsigned char accountLevel; }; diff --git a/src/chat-server/chathandler.cpp b/src/chat-server/chathandler.cpp index 9d146ad1..ca0cc88c 100644 --- a/src/chat-server/chathandler.cpp +++ b/src/chat-server/chathandler.cpp @@ -338,7 +338,7 @@ ChatHandler::handleRegisterChannelMessage(ChatClient &client, MessageIn &msg) else if (guildManager->doesExist(channelName)) { // Channel already exists - reply.writeByte(ERRMSG_INVALID_ARGUMENT); + reply.writeByte(ERRMSG_ALREADY_TAKEN); } else { @@ -579,9 +579,6 @@ ChatHandler::handleGuildCreation(ChatClient &client, MessageIn &msg) // Send autocreated channel id short channelId = joinGuildChannel(guildName, client); reply.writeShort(channelId); - - // Add new guild to chatclient - client.guilds.push_back(guild); } else { @@ -661,8 +658,6 @@ ChatHandler::handleGuildAcceptInvite(ChatClient &client, MessageIn &msg) short id = joinGuildChannel(guild->getName(), client); reply.writeShort(id); - - client.guilds.push_back(guild); } else { @@ -723,7 +718,7 @@ ChatHandler::handleGuildQuit(ChatClient &client, MessageIn &msg) { reply.writeByte(ERRMSG_OK); reply.writeShort(guildId); - guild->removeMember(client.characterName); + guildManager->removeGuildMember(guildId, client.characterName); } else { |