diff options
author | Roderic Morris <roderic@ccs.neu.edu> | 2008-06-03 16:31:32 +0000 |
---|---|---|
committer | Roderic Morris <roderic@ccs.neu.edu> | 2008-06-03 16:31:32 +0000 |
commit | af045b4818333b4360f14981c695817c4c8adb21 (patch) | |
tree | 2b22ff5b23906aa87a2cd5383171ffc44283a829 /src/chat-server/chathandler.cpp | |
parent | 33d5ea3261e70cba7e0f4af5c1e6eb070f168112 (diff) | |
download | manaserv-af045b4818333b4360f14981c695817c4c8adb21.tar.gz manaserv-af045b4818333b4360f14981c695817c4c8adb21.tar.bz2 manaserv-af045b4818333b4360f14981c695817c4c8adb21.tar.xz manaserv-af045b4818333b4360f14981c695817c4c8adb21.zip |
stop storing channels in the db, send channel announcements
Diffstat (limited to 'src/chat-server/chathandler.cpp')
-rw-r--r-- | src/chat-server/chathandler.cpp | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/src/chat-server/chathandler.cpp b/src/chat-server/chathandler.cpp index 7218cb9d..482e1b2f 100644 --- a/src/chat-server/chathandler.cpp +++ b/src/chat-server/chathandler.cpp @@ -340,7 +340,8 @@ ChatHandler::handleRegisterChannelMessage(ChatClient &client, MessageIn &msg) { reply.writeByte(ERRMSG_INVALID_ARGUMENT); } - else if (guildManager->doesExist(channelName) || chatChannelManager->channelExists(channelName)) + else if (guildManager->doesExist(channelName) || + chatChannelManager->channelExists(channelName)) { // Channel already exists reply.writeByte(ERRMSG_ALREADY_TAKEN); @@ -368,6 +369,7 @@ ChatHandler::handleRegisterChannelMessage(ChatClient &client, MessageIn &msg) reply.writeByte(ERRMSG_OK); reply.writeShort(channelId); reply.writeString(channelName); + reply.writeString(channelAnnouncement); } else { @@ -582,8 +584,8 @@ ChatHandler::handleGuildCreation(ChatClient &client, MessageIn &msg) reply.writeByte(true); // Send autocreated channel id - short channelId = joinGuildChannel(guildName, client); - reply.writeShort(channelId); + ChatChannel* channel = joinGuildChannel(guildName, client); + reply.writeShort(channel->getId()); } else { @@ -661,8 +663,8 @@ ChatHandler::handleGuildAcceptInvite(ChatClient &client, MessageIn &msg) reply.writeShort(guild->getId()); reply.writeByte(false); - short id = joinGuildChannel(guild->getName(), client); - reply.writeShort(id); + ChatChannel *channel = joinGuildChannel(guild->getName(), client); + reply.writeShort(channel->getId()); } else { @@ -829,10 +831,10 @@ void ChatHandler::sendGuildRejoin(ChatClient &client) msg.writeByte(leader); // get channel id of guild channel - short channelId = joinGuildChannel(guildName, client); + ChatChannel *channel = joinGuildChannel(guildName, client); // send the channel id for the autojoined channel - msg.writeShort(channelId); + msg.writeShort(channel->getId()); client.send(msg); @@ -857,22 +859,17 @@ void ChatHandler::sendUserLeft(ChatChannel *channel, const std::string &name) sendInChannel(channel, msg); } -int ChatHandler::joinGuildChannel(const std::string &guildName, ChatClient &client) +ChatChannel* ChatHandler::joinGuildChannel(const std::string &guildName, ChatClient &client) { - int channelId = 0; // Automatically make the character join the guild chat channel ChatChannel *channel = chatChannelManager->getChannel(guildName); if (!channel) { // Channel doesnt exist so create it - channelId = chatChannelManager->createNewChannel(guildName, + int channelId = chatChannelManager->createNewChannel(guildName, "Guild Channel", "", false); channel = chatChannelManager->getChannel(channelId); } - else - { - channelId = channel->getId(); - } // Add user to the channel if (channel->addUser(&client)) @@ -885,7 +882,7 @@ int ChatHandler::joinGuildChannel(const std::string &guildName, ChatClient &clie sendGuildListUpdate(guildName, client.characterName); } - return channelId; + return channel; } void ChatHandler::sendGuildListUpdate(const std::string &guildName, |