summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-01-05 22:37:08 +0300
committerAndrei Karas <akaras@inbox.ru>2015-01-05 22:37:08 +0300
commitb29f54f0b8010a73550b9b5fed534253170b6f03 (patch)
tree226f5a9bb3f515232e29951562d13b0aa5054bd4 /src
parentedc6ce053eafbaaa55fcf7728e449d9e458a1ddc (diff)
downloadmv-b29f54f0b8010a73550b9b5fed534253170b6f03.tar.gz
mv-b29f54f0b8010a73550b9b5fed534253170b6f03.tar.bz2
mv-b29f54f0b8010a73550b9b5fed534253170b6f03.tar.xz
mv-b29f54f0b8010a73550b9b5fed534253170b6f03.zip
Allow play sound effect if show emote.
Diffstat (limited to 'src')
-rw-r--r--src/being/being.cpp5
-rw-r--r--src/resources/db/emotedb.cpp2
-rw-r--r--src/resources/emoteinfo.h4
3 files changed, 10 insertions, 1 deletions
diff --git a/src/being/being.cpp b/src/being/being.cpp
index 4e6c603d3..f85460c79 100644
--- a/src/being/being.cpp
+++ b/src/being/being.cpp
@@ -3072,6 +3072,11 @@ void Being::setEmote(const uint8_t emotion, const int emote_time)
else
mEmotionTime = emote_time;
}
+ const int effectId = info->effectId;
+ if (effectId >= 0)
+ {
+ effectManager->trigger(effectId, this);
+ }
}
}
diff --git a/src/resources/db/emotedb.cpp b/src/resources/db/emotedb.cpp
index 696d5a88a..a27547db0 100644
--- a/src/resources/db/emotedb.cpp
+++ b/src/resources/db/emotedb.cpp
@@ -109,6 +109,7 @@ void EmoteDB::loadXmlFile(const std::string &fileName)
else
currentInfo = new EmoteInfo;
currentInfo->time = XML::getProperty(emoteNode, "time", 500);
+ currentInfo->effectId = XML::getProperty(emoteNode, "effect", -1);
for_each_xml_child_node(spriteNode, emoteNode)
{
@@ -182,6 +183,7 @@ void EmoteDB::loadSpecialXmlFile(const std::string &fileName)
if (!currentInfo)
currentInfo = new EmoteInfo;
currentInfo->time = XML::getProperty(emoteNode, "time", 500);
+ currentInfo->effectId = XML::getProperty(emoteNode, "effect", -1);
for_each_xml_child_node(spriteNode, emoteNode)
{
diff --git a/src/resources/emoteinfo.h b/src/resources/emoteinfo.h
index 88902d0b9..44cf736a3 100644
--- a/src/resources/emoteinfo.h
+++ b/src/resources/emoteinfo.h
@@ -35,7 +35,8 @@ struct EmoteInfo final
EmoteInfo() :
sprites(),
particles(),
- time(400)
+ time(400),
+ effectId(-1)
{ }
A_DELETE_COPY(EmoteInfo)
@@ -43,6 +44,7 @@ struct EmoteInfo final
std::list<EmoteSprite*> sprites;
StringVect particles;
int time;
+ int effectId;
};
#endif // RESOURCES_EMOTEINFO_H