diff options
Diffstat (limited to 'src/actions')
-rw-r--r-- | src/actions/commands.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp index bb43e2a9d..2cfe01720 100644 --- a/src/actions/commands.cpp +++ b/src/actions/commands.cpp @@ -284,22 +284,20 @@ impHandler(chatAdd) if (event.args.empty()) return true; - const int id = atoi(event.args.c_str()); - if (id == 0) + std::vector<int> str; + splitToIntVector(str, event.args, ','); + if (str.empty()) return true; - Inventory *const inv = PlayerInfo::getInventory(); - const Item *item = nullptr; - if (inv) - { - // +++ need add also color here - item = inv->findItem(id, ItemColor_one); - } + int id = str[0]; + if (id == 0) + return true; - if (item) + if (ItemDB::exists(id)) { - // +++ need add also color here - chatWindow->addItemText(item->getInfo().getName()); + const std::string names = ItemDB::getNamesStr(str); + if (!names.empty()) + chatWindow->addItemText(names); return true; } @@ -308,8 +306,10 @@ impHandler(chatAdd) if (floorItem) { - // +++ need add also color here - chatWindow->addItemText(floorItem->getInfo().getName()); + str[0] = floorItem->getItemId(); + logger->log("parts: %d", (int)str.size()); + const std::string names = ItemDB::getNamesStr(str); + chatWindow->addItemText(names); } return true; } |