From b29f54f0b8010a73550b9b5fed534253170b6f03 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 5 Jan 2015 22:37:08 +0300 Subject: Allow play sound effect if show emote. --- src/being/being.cpp | 5 +++++ src/resources/db/emotedb.cpp | 2 ++ src/resources/emoteinfo.h | 4 +++- 3 files changed, 10 insertions(+), 1 deletion(-) 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 sprites; StringVect particles; int time; + int effectId; }; #endif // RESOURCES_EMOTEINFO_H -- cgit v1.2.3-60-g2f50