summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/questswindow.cpp15
-rw-r--r--src/gui/questswindow.h2
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;