From 448eabff4c29f31cfb74468857dcbf91a0c43df4 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 22 Aug 2015 16:43:39 +0300 Subject: Impliment packet SMSG_BIND_ITEM. --- src/enums/resources/notifytypes.h | 1 + src/net/eathena/inventoryhandler.cpp | 20 +++++++++++++++++--- src/resources/notifications.h | 4 ++++ 3 files changed, 22 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/enums/resources/notifytypes.h b/src/enums/resources/notifytypes.h index e30b5844c..9ad5c7577 100644 --- a/src/enums/resources/notifytypes.h +++ b/src/enums/resources/notifytypes.h @@ -181,6 +181,7 @@ namespace NotifyTypes REFINE_UNKNOWN, CART_ADD_WEIGHT_ERROR, CART_ADD_COUNT_ERROR, + BOUND_ITEM, TYPE_END }; diff --git a/src/net/eathena/inventoryhandler.cpp b/src/net/eathena/inventoryhandler.cpp index 0b3b12b5e..fd74ac11a 100644 --- a/src/net/eathena/inventoryhandler.cpp +++ b/src/net/eathena/inventoryhandler.cpp @@ -1293,9 +1293,23 @@ void InventoryHandler::processCartAddError(Net::MessageIn &msg) void InventoryHandler::processBindItem(Net::MessageIn &msg) { - UNIMPLIMENTEDPACKET; - - msg.readInt16("item index"); + const int index = msg.readInt16("item index") - INVENTORY_OFFSET; + const Inventory *const inv = PlayerInfo::getInventory(); + if (inv) + { + std::string itemName; + const Item *item = inv->getItem(index); + if (item) + { + itemName = item->getName(); + } + else + { + // TRANSLATORS: unknown item message + itemName = _("Unknown item"); + } + NotifyManager::notify(NotifyTypes::BOUND_ITEM, itemName); + } } } // namespace EAthena diff --git a/src/resources/notifications.h b/src/resources/notifications.h index cf509b104..6b2e03cbd 100644 --- a/src/resources/notifications.h +++ b/src/resources/notifications.h @@ -649,6 +649,10 @@ namespace NotifyManager // TRANSLATORS: notification message N_("You can't add item to card because too many items."), NotifyFlags::EMPTY}, + {"bound item", + // TRANSLATORS: notification message + N_("Item %s bound to you."), + NotifyFlags::STRING}, }; } // namespace NotifyManager #endif // RESOURCES_NOTIFICATIONS_H -- cgit v1.2.3-70-g09d2