From 9bf9b2c706290b61af0f66f11ff1b3cd37d72904 Mon Sep 17 00:00:00 2001 From: David Athay Date: Mon, 7 Jul 2008 14:34:40 +0000 Subject: Added /party command. --- ChangeLog | 2 ++ src/commandhandler.cpp | 21 +++++++++++++++++++++ src/commandhandler.h | 5 +++++ src/gui/popupmenu.cpp | 2 +- src/localplayer.cpp | 4 ++-- src/localplayer.h | 2 +- 6 files changed, 32 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2200e328..9dee8ee7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,8 @@ * src/commandhandler.hpp, src/commandhandler.cpp: Added help for each command based on mantis bug #359, thanks to Scraggy. + * src/localplayer.cpp, src/commandhandler.cpp, src/gui/popupmenu.cpp, + src/commandhandler.h, src/localplayer.h: Added /party command. 2008-07-05 David Athay diff --git a/src/commandhandler.cpp b/src/commandhandler.cpp index 7e20deff..1dadc236 100644 --- a/src/commandhandler.cpp +++ b/src/commandhandler.cpp @@ -26,6 +26,7 @@ #include "channelmanager.h" #include "channel.h" #include "game.h" +#include "localplayer.h" #include "gui/chat.h" #include "net/chatserver/chatserver.h" #include "net/gameserver/player.h" @@ -90,6 +91,10 @@ void CommandHandler::handleCommand(const std::string &command) { handleClear(); } + else if (type == "party") + { + handleParty(args); + } else { chatWindow->chatLog("Unknown command"); @@ -120,6 +125,7 @@ void CommandHandler::handleHelp(const std::string &args) chatWindow->chatLog("/quit > Leave a channel"); chatWindow->chatLog("/admin > Send a command to the server (GM only)"); chatWindow->chatLog("/clear > Clears this window"); + chatWindow->chatLog("/party > Invite a user to party"); chatWindow->chatLog("For more information, type /help "); } else if (args == "admin") @@ -164,6 +170,13 @@ void CommandHandler::handleHelp(const std::string &args) chatWindow->chatLog("If the has spaces in it, enclose it in " "double quotes (\")."); } + else if (args == "party") + { + chatWindow->chatLog("Command: /party "); + chatWindow->chatLog("This command invites to party with you."); + chatWindow->chatLog("If the has spaces in it, enclose it in " + "double quotes (\")."); + } else if (args == "topic") { chatWindow->chatLog("Command: /topic "); @@ -279,3 +292,11 @@ void CommandHandler::handleClear() { chatWindow->clearTab(chatWindow->getFocused()); } + +void CommandHandler::handleParty(const std::string &args) +{ + if (args != "") + { + player_node->inviteToParty(args); + } +} diff --git a/src/commandhandler.h b/src/commandhandler.h index ef6da33d..5c019450 100644 --- a/src/commandhandler.h +++ b/src/commandhandler.h @@ -108,6 +108,11 @@ class CommandHandler */ void handleClear(); + /** + * Handle a party command. + */ + void handleParty(const std::string &args); + }; extern CommandHandler *commandHandler; diff --git a/src/gui/popupmenu.cpp b/src/gui/popupmenu.cpp index 01f48ccc..2888382b 100644 --- a/src/gui/popupmenu.cpp +++ b/src/gui/popupmenu.cpp @@ -150,7 +150,7 @@ void PopupMenu::handleLink(const std::string& link) // Add player to your party else if (link == "party") { - player_node->inviteToParty(mBeing); + player_node->inviteToParty(mBeing->getName()); } /* diff --git a/src/localplayer.cpp b/src/localplayer.cpp index dbcb1d42..00ea6a49 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -149,9 +149,9 @@ void LocalPlayer::inviteToGuild(Being *being) } } -void LocalPlayer::inviteToParty(Being *being) +void LocalPlayer::inviteToParty(const std::string &name) { - Net::ChatServer::Party::invitePlayer(being->getName()); + Net::ChatServer::Party::invitePlayer(name); } void LocalPlayer::clearInventory() diff --git a/src/localplayer.h b/src/localplayer.h index 64dec1b2..0b4b66ed 100644 --- a/src/localplayer.h +++ b/src/localplayer.h @@ -162,7 +162,7 @@ class LocalPlayer : public Player /** * Invite a player to join their party */ - void inviteToParty(Being *being); + void inviteToParty(const std::string &name); void clearInventory(); void setInvItem(int index, int id, int amount); -- cgit v1.2.3-70-g09d2