diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-12-09 13:10:54 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-12-09 13:10:54 +0300 |
commit | 4a6ffbd08067b64143e0535518a3822953943d80 (patch) | |
tree | 43121fb8f6690dbda227b9839aeb54837a6e53ad /src/actions/commands.cpp | |
parent | 9ea847e15b281dda88a4014010bc28e58befeb4c (diff) | |
download | manaverse-4a6ffbd08067b64143e0535518a3822953943d80.tar.gz manaverse-4a6ffbd08067b64143e0535518a3822953943d80.tar.bz2 manaverse-4a6ffbd08067b64143e0535518a3822953943d80.tar.xz manaverse-4a6ffbd08067b64143e0535518a3822953943d80.zip |
Add buy action.
New chat command: /buy [name]
Diffstat (limited to 'src/actions/commands.cpp')
-rw-r--r-- | src/actions/commands.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp index c8d4f2b21..cd35ba9aa 100644 --- a/src/actions/commands.cpp +++ b/src/actions/commands.cpp @@ -37,9 +37,11 @@ #include "gui/widgets/tabs/chat/whispertab.h" #include "net/adminhandler.h" +#include "net/buysellhandler.h" #include "net/chathandler.h" #include "net/guildhandler.h" #include "net/homunculushandler.h" +#include "net/npchandler.h" #include "net/pethandler.h" #include "net/serverfeatures.h" @@ -711,4 +713,33 @@ impHandler0(fireHomunculus) return true; } +impHandler(buy) +{ + const std::string args = event.args; + Being *being = nullptr; + if (args.empty()) + { + being = localPlayer->getTarget(); + } + else + { + being = actorManager->findBeingByName( + args, ActorType::Unknown); + } + if (!being) + return false; + + if (being->getType() == ActorType::Npc) + { + npcHandler->buy(being->getId()); + return true; + } + else if (being->getType() == ActorType::Player) + { + buySellHandler->requestSellList(being->getName()); + return true; + } + return false; +} + } // namespace Actions |