diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/questswindow.cpp | 15 | ||||
-rw-r--r-- | src/gui/questswindow.h | 2 |
2 files changed, 14 insertions, 3 deletions
diff --git a/src/gui/questswindow.cpp b/src/gui/questswindow.cpp index a34bb25f6..164f3ce26 100644 --- a/src/gui/questswindow.cpp +++ b/src/gui/questswindow.cpp @@ -21,6 +21,8 @@ #include "gui/questswindow.h" #include "configuration.h" +#include "effectmanager.h" +#include "localplayer.h" #include "soundmanager.h" #include "gui/gui.h" @@ -108,7 +110,9 @@ QuestsWindow::QuestsWindow() : getOptionBool("showtextbackground"), "quests_text_background.xml")), mCloseButton(new Button(this, _("Close"), "close", this)), mCompleteIcon(Theme::getImageFromThemeXml("complete_icon.xml", "")), - mIncompleteIcon(Theme::getImageFromThemeXml("incomplete_icon.xml", "")) + mIncompleteIcon(Theme::getImageFromThemeXml("incomplete_icon.xml", "")), + mNewQuestEffectId(paths.getIntValue("newQuestEffectId")), + mCompleteQuestEffectId(paths.getIntValue("completeQuestEffectId")) { setWindowName("Quests"); setResizable(true); @@ -370,10 +374,15 @@ void QuestsWindow::rebuild(const bool playSound) switch (newCompleteStatus) { case 0: - sound.playSfx(paths.getValue("newQuestSfx", "")); + if (effectManager) + effectManager->trigger(mNewQuestEffectId, player_node); break; case 1: - sound.playSfx(paths.getValue("completeQuestSfx", "")); + if (effectManager) + { + effectManager->trigger(mCompleteQuestEffectId, + player_node); + } break; default: break; diff --git a/src/gui/questswindow.h b/src/gui/questswindow.h index b4a46aafc..884b488c4 100644 --- a/src/gui/questswindow.h +++ b/src/gui/questswindow.h @@ -83,6 +83,8 @@ class QuestsWindow final : public Window, public gcn::ActionListener std::vector<QuestItem*> mQuestLinks; Image *mCompleteIcon; Image *mIncompleteIcon; + int mNewQuestEffectId; + int mCompleteQuestEffectId; }; extern QuestsWindow *questsWindow; |