summaryrefslogtreecommitdiff
path: root/src/commandhandler.cpp
diff options
context:
space:
mode:
authorRoderic Morris <roderic@ccs.neu.edu>2008-06-25 21:12:44 +0000
committerRoderic Morris <roderic@ccs.neu.edu>2008-06-25 21:12:44 +0000
commita34a4692200eaf5b3ec8a7de75699a46aefd8b98 (patch)
treed73f15d55e7f784e99d92672f9ccbe69d64d7e69 /src/commandhandler.cpp
parenta0b6e09737b7b416a38c08d8e1d6744a4cc12f7d (diff)
downloadmana-a34a4692200eaf5b3ec8a7de75699a46aefd8b98.tar.gz
mana-a34a4692200eaf5b3ec8a7de75699a46aefd8b98.tar.bz2
mana-a34a4692200eaf5b3ec8a7de75699a46aefd8b98.tar.xz
mana-a34a4692200eaf5b3ec8a7de75699a46aefd8b98.zip
handle topic changes and guild events
Diffstat (limited to 'src/commandhandler.cpp')
-rw-r--r--src/commandhandler.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/commandhandler.cpp b/src/commandhandler.cpp
index 07184f66..465f572d 100644
--- a/src/commandhandler.cpp
+++ b/src/commandhandler.cpp
@@ -76,6 +76,10 @@ void CommandHandler::handleCommand(const std::string &command)
{
handleQuit();
}
+ else if (type == "topic")
+ {
+ handleTopic(args);
+ }
else if (type == "admin")
{
Net::GameServer::Player::say("/" + args);
@@ -107,6 +111,7 @@ void CommandHandler::handleHelp()
chatWindow->chatLog("/listusers > Lists the users in the current channel");
chatWindow->chatLog("/channel > Register a new channel");
chatWindow->chatLog("/join > Join an already registered channel");
+ chatWindow->chatLog("/topic > Set the topic of the current channel");
chatWindow->chatLog("/quit > Leave a channel");
chatWindow->chatLog("/admin > Send a command to the server (GM only)");
chatWindow->chatLog("/clear > Clears this window");
@@ -171,6 +176,18 @@ void CommandHandler::handleListUsers()
Net::ChatServer::getUserList(chatWindow->getFocused());
}
+void CommandHandler::handleTopic(const std::string &args)
+{
+ if (Channel *channel = channelManager->findByName(chatWindow->getFocused()))
+ {
+ Net::ChatServer::setChannelTopic(channel->getId(), args);
+ }
+ else
+ {
+ chatWindow->chatLog("Unable to set this channel's topic", BY_CHANNEL);
+ }
+}
+
void CommandHandler::handleQuit()
{
if (Channel *channel = channelManager->findByName(chatWindow->getFocused()))