aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2013_07_20_04_world_spell_script_misc_434.sql7
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp10
-rw-r--r--src/server/scripts/Spells/spell_warrior.cpp29
3 files changed, 36 insertions, 10 deletions
diff --git a/sql/updates/world/2013_07_20_04_world_spell_script_misc_434.sql b/sql/updates/world/2013_07_20_04_world_spell_script_misc_434.sql
new file mode 100644
index 00000000000..3f66b9ed257
--- /dev/null
+++ b/sql/updates/world/2013_07_20_04_world_spell_script_misc_434.sql
@@ -0,0 +1,7 @@
+DELETE FROM `spell_script_names` WHERE `spell_id`=32216;
+INSERT INTO `spell_script_names`(`spell_id`, `ScriptName`) VALUES
+(32216,'spell_warr_victorious');
+
+DELETE FROM `spell_proc_event` WHERE `entry`=32216;
+INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`) VALUES
+(32216, 0, 4, 0, 256, 0, 16, 0, 0, 0, 0);
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 957d2f5fd91..72e44e49abc 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -5468,16 +5468,6 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
}
case SPELLFAMILY_WARRIOR:
{
- switch (dummySpell->Id)
- {
- // Victorious
- case 32216:
- {
- RemoveAura(dummySpell->Id);
- return false;
- }
- }
-
// Retaliation
if (dummySpell->SpellFamilyFlags[1] & 0x8)
{
diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp
index ef46159e3af..9c5b7af76d7 100644
--- a/src/server/scripts/Spells/spell_warrior.cpp
+++ b/src/server/scripts/Spells/spell_warrior.cpp
@@ -769,6 +769,34 @@ class spell_warr_sword_and_board : public SpellScriptLoader
}
};
+// 32216 - Victorious
+class spell_warr_victorious : public SpellScriptLoader
+{
+ public:
+ spell_warr_victorious() : SpellScriptLoader("spell_warr_victorious") { }
+
+ class spell_warr_victorious_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_warr_victorious_AuraScript);
+
+ void HandleEffectProc(AuraEffect const* /*aurEff*/, ProcEventInfo& /*eventInfo*/)
+ {
+ PreventDefaultAction();
+ GetTarget()->RemoveAura(GetId());
+ }
+
+ void Register() OVERRIDE
+ {
+ OnEffectProc += AuraEffectProcFn(spell_warr_victorious_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
+ }
+ };
+
+ AuraScript* GetAuraScript() const OVERRIDE
+ {
+ return new spell_warr_victorious_AuraScript();
+ }
+};
+
// 50720 - Vigilance
class spell_warr_vigilance : public SpellScriptLoader
{
@@ -914,6 +942,7 @@ void AddSC_warrior_spell_scripts()
new spell_warr_slam();
new spell_warr_sweeping_strikes();
new spell_warr_sword_and_board();
+ new spell_warr_victorious();
new spell_warr_vigilance();
new spell_warr_vigilance_trigger();
}