summaryrefslogtreecommitdiff
path: root/src/net/eathena/skillrecv.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-11-10 14:03:04 +0300
committerAndrei Karas <akaras@inbox.ru>2015-11-10 14:03:04 +0300
commit97ba09b2b8ce7896e98318faa536b67e0c164fdf (patch)
treebe337f44eb93dcf0fdb4045d0f18389ed07daf09 /src/net/eathena/skillrecv.cpp
parent02a9ff284ebc4c096f98ad8b23259ea67f82f8e1 (diff)
downloadmv-97ba09b2b8ce7896e98318faa536b67e0c164fdf.tar.gz
mv-97ba09b2b8ce7896e98318faa536b67e0c164fdf.tar.bz2
mv-97ba09b2b8ce7896e98318faa536b67e0c164fdf.tar.xz
mv-97ba09b2b8ce7896e98318faa536b67e0c164fdf.zip
Decode some more skill errors.
Diffstat (limited to 'src/net/eathena/skillrecv.cpp')
-rw-r--r--src/net/eathena/skillrecv.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/net/eathena/skillrecv.cpp b/src/net/eathena/skillrecv.cpp
index faf72c478..dbd8f7166 100644
--- a/src/net/eathena/skillrecv.cpp
+++ b/src/net/eathena/skillrecv.cpp
@@ -39,6 +39,10 @@
#include "net/eathena/menu.h"
+#include "resources/iteminfo.h"
+
+#include "resources/db/itemdb.h"
+
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -264,6 +268,43 @@ void SkillRecv::processSkillFailed(Net::MessageIn &msg)
// TRANSLATORS: error message
txt.append(_("You're carrying to much to do this!"));
break;
+ case RFAIL_NEED_EQUIPMENT:
+ {
+ const int itemId = bskill >> 16;
+ const int amount = bskill & 0xFFFFU;
+ const ItemInfo &info = ItemDB::get(itemId);
+ if (amount == 1)
+ {
+ txt.append(strprintf(_("Need equipment %s."),
+ info.getLink().c_str()));
+ }
+ else
+ {
+ txt.append(strprintf(_("Need equipment %s and amount %d"),
+ info.getLink().c_str(),
+ amount));
+ }
+ break;
+ }
+ case RFAIL_NEED_ITEM:
+ {
+ const int itemId = bskill >> 16;
+ const int amount = bskill & 0xFFFFU;
+ const ItemInfo &info = ItemDB::get(itemId);
+ if (amount == 1)
+ {
+ txt.append(strprintf(_("Need item %s."),
+ info.getLink().c_str()));
+ }
+ else
+ {
+ txt.append(strprintf(_("Need item %s and amount %d"),
+ info.getLink().c_str(),
+ amount));
+ }
+ break;
+ }
+
default:
UNIMPLIMENTEDPACKET;
break;