summaryrefslogtreecommitdiff
path: root/src/resources
diff options
context:
space:
mode:
Diffstat (limited to 'src/resources')
-rw-r--r--src/resources/beinginfo.cpp9
-rw-r--r--src/resources/beinginfo.h7
-rw-r--r--src/resources/db/petdb.cpp6
3 files changed, 22 insertions, 0 deletions
diff --git a/src/resources/beinginfo.cpp b/src/resources/beinginfo.cpp
index d27339483..0cd311554 100644
--- a/src/resources/beinginfo.cpp
+++ b/src/resources/beinginfo.cpp
@@ -58,6 +58,7 @@ BeingInfo::BeingInfo() :
mSounds(),
mAttacks(),
mMenu(),
+ mStrings(),
mBlockWalkMask(BlockMask::WALL
| BlockMask::AIR
| BlockMask::WATER),
@@ -239,3 +240,11 @@ const std::vector<BeingMenuItem> &BeingInfo::getMenu() const
{
return mMenu;
}
+
+std::string BeingInfo::getString(const int idx) const
+{
+ const std::map<int, std::string>::const_iterator it = mStrings.find(idx);
+ if (it == mStrings.end())
+ return "";
+ return (*it).second;
+}
diff --git a/src/resources/beinginfo.h b/src/resources/beinginfo.h
index 942644708..e98d48a41 100644
--- a/src/resources/beinginfo.h
+++ b/src/resources/beinginfo.h
@@ -327,6 +327,12 @@ class BeingInfo final
const std::vector<BeingMenuItem> &getMenu() const A_CONST;
+ void setString(const int idx,
+ const std::string &value)
+ { mStrings[idx] = value; }
+
+ std::string getString(const int idx) const A_WARN_UNUSED;
+
static void init();
static void clear();
@@ -339,6 +345,7 @@ class BeingInfo final
ItemSoundEvents mSounds;
Attacks mAttacks;
std::vector<BeingMenuItem> mMenu;
+ std::map<int, std::string> mStrings;
unsigned char mBlockWalkMask;
BlockTypeT mBlockType;
const std::map <ItemColor, ColorDB::ItemColorData> *mColors;
diff --git a/src/resources/db/petdb.cpp b/src/resources/db/petdb.cpp
index c2f6508c3..6c56f3437 100644
--- a/src/resources/db/petdb.cpp
+++ b/src/resources/db/petdb.cpp
@@ -150,6 +150,12 @@ void PETDB::loadXmlFile(const std::string &fileName)
currentInfo->setAttackDirectionType(XML::getProperty(petNode,
"attackDirectionType", 4));
+ const std::string returnMessage = XML::langProperty(petNode,
+ // TRANSLATORS: popup menu item
+ // TRANSLATORS: pet return to egg
+ "removeMessage", _("Return to egg"));
+ currentInfo->setString(0, returnMessage);
+
SpriteDisplay display;
for_each_xml_child_node(spriteNode, petNode)
{