From 6dd07b6697176da72ac8607897fca320d77142fd Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 27 Sep 2016 02:05:28 +0300 Subject: Add support for links to mercenaries. Format is: @@MID|@@ Example: [@@M1191|@@] --- src/gui/widgets/browserbox.cpp | 9 +++++++++ src/resources/db/mercenarydb.cpp | 4 ++++ 2 files changed, 13 insertions(+) (limited to 'src') diff --git a/src/gui/widgets/browserbox.cpp b/src/gui/widgets/browserbox.cpp index 182f10507..94758e78f 100644 --- a/src/gui/widgets/browserbox.cpp +++ b/src/gui/widgets/browserbox.cpp @@ -46,6 +46,7 @@ #include "resources/db/homunculusdb.h" #include "resources/db/itemdb.h" +#include "resources/db/mercenarydb.h" #include "resources/db/monsterdb.h" #include "resources/db/petdb.h" #endif // DYECMD @@ -279,6 +280,14 @@ void BrowserBox::addRow(const std::string &row, const bool atTop) if (info) bLink.caption = info->getName(); } + else if (!link.empty() && link[0] == 'M') + { // homunculus link + const BeingTypeId id = static_cast( + atoi(bLink.link.substr(1).c_str())); + BeingInfo *info = MercenaryDB::get(id); + if (info) + bLink.caption = info->getName(); + } else { // item link size_t idx = bLink.link.find(","); diff --git a/src/resources/db/mercenarydb.cpp b/src/resources/db/mercenarydb.cpp index 9e7ccf511..4b12e96ff 100644 --- a/src/resources/db/mercenarydb.cpp +++ b/src/resources/db/mercenarydb.cpp @@ -27,6 +27,7 @@ #include "utils/checkutils.h" #include "utils/dtor.h" +#include "utils/gettext.h" #include "configuration.h" @@ -95,6 +96,9 @@ void MercenaryDB::loadXmlFile(const std::string &fileName, currentInfo = new BeingInfo; currentInfo->setBlockType(BlockType::NONE); + currentInfo->setName(XML::langProperty( + // TRANSLATORS: unknown info name + mercenaryNode, "name", _("unnamed"))); BeingCommon::readBasicAttributes(currentInfo, mercenaryNode, "attack"); BeingCommon::readWalkingAttributes(currentInfo, mercenaryNode, 0); BeingCommon::readAiAttributes(currentInfo, mercenaryNode); -- cgit v1.2.3-70-g09d2