aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2012-12-04 20:50:01 +0100
committerVincent-Michael <Vincent_Michael@gmx.de>2012-12-04 20:50:01 +0100
commit082c3f4267ea84a3193bdd5a15eea4a00edf397f (patch)
treec442dbb7c4ade246be8256f4d284b24f64ab8c53
parent40b010e3ad9ca2bbc7ad4dc4bc469362f4e1d7b5 (diff)
Core/Hunter: Fix Furious Howl targets
-rw-r--r--sql/updates/world/2012_12_04_05_world_spell_script_names.sql3
-rw-r--r--src/server/scripts/Spells/spell_hunter.cpp31
2 files changed, 34 insertions, 0 deletions
diff --git a/sql/updates/world/2012_12_04_05_world_spell_script_names.sql b/sql/updates/world/2012_12_04_05_world_spell_script_names.sql
new file mode 100644
index 00000000000..f325ac731d4
--- /dev/null
+++ b/sql/updates/world/2012_12_04_05_world_spell_script_names.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_script_names` WHERE `spell_id`=-24604;
+INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
+(-24604,'spell_hun_furious_howl');
diff --git a/src/server/scripts/Spells/spell_hunter.cpp b/src/server/scripts/Spells/spell_hunter.cpp
index a73af6892ca..e52034ed2d9 100644
--- a/src/server/scripts/Spells/spell_hunter.cpp
+++ b/src/server/scripts/Spells/spell_hunter.cpp
@@ -706,6 +706,36 @@ class spell_hun_tame_beast : public SpellScriptLoader
}
};
+class spell_hun_furious_howl : public SpellScriptLoader
+{
+ public:
+ spell_hun_furious_howl() : SpellScriptLoader("spell_hun_furious_howl") { }
+
+ class spell_hun_furious_howl_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_hun_furious_howl_SpellScript);
+
+ void FilterTargets(std::list<WorldObject*>& targets)
+ {
+ targets.clear();
+ targets.push_back(GetCaster());
+ if (Unit* owner = GetCaster()->GetOwner())
+ targets.push_back(owner);
+ }
+
+ void Register()
+ {
+ OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_hun_furious_howl_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_CASTER_AREA_PARTY);
+ OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_hun_furious_howl_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_CASTER_AREA_PARTY);
+ }
+ };
+
+ SpellScript* GetSpellScript() const
+ {
+ return new spell_hun_furious_howl_SpellScript();
+ }
+};
+
void AddSC_hunter_spell_scripts()
{
new spell_hun_aspect_of_the_beast();
@@ -722,4 +752,5 @@ void AddSC_hunter_spell_scripts()
new spell_hun_misdirection_proc();
new spell_hun_disengage();
new spell_hun_tame_beast();
+ new spell_hun_furious_howl();
}