summaryrefslogtreecommitdiff
path: root/src/gui/windows/skilldialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/windows/skilldialog.cpp')
-rw-r--r--src/gui/windows/skilldialog.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/gui/windows/skilldialog.cpp b/src/gui/windows/skilldialog.cpp
index 8dcc10e2d..966168464 100644
--- a/src/gui/windows/skilldialog.cpp
+++ b/src/gui/windows/skilldialog.cpp
@@ -385,6 +385,10 @@ SkillInfo *SkillDialog::loadSkill(XmlNodePtr node,
node, "castingSrcEffectId", -1);
skill->castingDstEffectId = XML::getProperty(
node, "castingDstEffectId", -1);
+ skill->srcEffectId = XML::getProperty(
+ node, "srcEffectId", -1);
+ skill->dstEffectId = XML::getProperty(
+ node, "dstEffectId", -1);
skill->castingAction = XML::getProperty(node,
"castingAction", SpriteAction::CAST);
skill->castingRideAction = XML::getProperty(node,
@@ -733,6 +737,31 @@ void SkillDialog::playCastingDstEffect(const int id,
paths.getIntValue("skillCastingDstEffectId"));
}
+void SkillDialog::playSrcEffect(const int id,
+ Being *const being) const
+{
+ if (!effectManager)
+ return;
+ SkillInfo *const info = getSkill(id);
+ if (!info)
+ return;
+ effectManager->triggerDefault(info->srcEffectId,
+ being,
+ paths.getIntValue("skillSrcEffectId"));
+}
+
+void SkillDialog::playDstEffect(const int id,
+ Being *const being) const
+{
+ if (!effectManager)
+ return;
+ SkillInfo *const info = getSkill(id);
+ if (!info)
+ return;
+ effectManager->triggerDefault(info->dstEffectId,
+ being,
+ paths.getIntValue("skillDstEffectId"));
+}
void SkillDialog::playCastingDstTileEffect(const int id,
const int x,