summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/windows/skilldialog.cpp21
-rw-r--r--src/gui/windows/skilldialog.h5
2 files changed, 25 insertions, 1 deletions
diff --git a/src/gui/windows/skilldialog.cpp b/src/gui/windows/skilldialog.cpp
index bf317b8cd..091c6c1d9 100644
--- a/src/gui/windows/skilldialog.cpp
+++ b/src/gui/windows/skilldialog.cpp
@@ -649,7 +649,8 @@ void SkillDialog::playCastingSrcEffect(const int id, Being *const being) const
paths.getIntValue("skillCastingSrcEffectId"));
}
-void SkillDialog::playCastingDstEffect(const int id, Being *const being) const
+void SkillDialog::playCastingDstEffect(const int id,
+ Being *const being) const
{
if (!effectManager)
return;
@@ -661,6 +662,24 @@ void SkillDialog::playCastingDstEffect(const int id, Being *const being) const
paths.getIntValue("skillCastingDstEffectId"));
}
+
+void SkillDialog::playCastingDstTileEffect(const int id,
+ const int x,
+ const int y,
+ const int delay) const
+{
+ if (!effectManager)
+ return;
+ SkillInfo *const info = getSkill(id);
+ if (!info)
+ return;
+ effectManager->triggerDefault(info->castingDstEffectId,
+ x * 32,
+ y * 32,
+ cur_time + delay / 1000, // end time in seconds
+ paths.getIntValue("skillCastingGroundEffectId"));
+}
+
void SkillDialog::useSkill(const SkillInfo *const info,
const AutoTarget autoTarget)
{
diff --git a/src/gui/windows/skilldialog.h b/src/gui/windows/skilldialog.h
index 8f085ee22..1e5740f58 100644
--- a/src/gui/windows/skilldialog.h
+++ b/src/gui/windows/skilldialog.h
@@ -130,6 +130,11 @@ class SkillDialog final : public Window,
void playCastingDstEffect(const int id,
Being *const being) const;
+ void playCastingDstTileEffect(const int id,
+ const int x,
+ const int y,
+ const int delay) const;
+
void slowLogic();
void removeSkill(const int id);