aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2013_07_20_00_world_spell_script_misc_434.sql8
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp22
-rw-r--r--src/server/game/Spells/SpellMgr.cpp4
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp40
-rw-r--r--src/server/scripts/Spells/spell_hunter.cpp5
5 files changed, 53 insertions, 26 deletions
diff --git a/sql/updates/world/2013_07_20_00_world_spell_script_misc_434.sql b/sql/updates/world/2013_07_20_00_world_spell_script_misc_434.sql
new file mode 100644
index 00000000000..cde03c0ad69
--- /dev/null
+++ b/sql/updates/world/2013_07_20_00_world_spell_script_misc_434.sql
@@ -0,0 +1,8 @@
+DELETE FROM `spell_script_names` WHERE `spell_id` IN (-48979);
+INSERT INTO `spell_script_names`(`spell_id`, `ScriptName`) VALUES
+(-48979,'spell_dk_butchery');
+
+DELETE FROM `spell_ranks` WHERE `first_spell_id`=48979;
+INSERT INTO `spell_ranks` (`first_spell_id`, `spell_id`, `rank`) VALUES
+(48979, 48979, 1),
+(48979, 49483, 2);
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index ea89d869785..75668bc3b3a 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -5912,20 +5912,6 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
triggered_spell_id = 24406;
break;
}
- case 2236: // Thrill of the Hunt
- {
- if (!procSpell)
- return false;
-
- basepoints0 = CalculatePct(procSpell->CalcPowerCost(this, SpellSchoolMask(procSpell->SchoolMask)), triggerAmount);
-
- if (basepoints0 <= 0)
- return false;
-
- target = this;
- triggered_spell_id = 34720;
- break;
- }
}
break;
}
@@ -6511,14 +6497,6 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
triggered_spell_id = dummySpell->Effects[effIndex].TriggerSpell;
break;
}
- // Butchery
- if (dummySpell->SpellIconID == 2664)
- {
- basepoints0 = triggerAmount;
- triggered_spell_id = 50163;
- target = this;
- break;
- }
// Dancing Rune Weapon
if (dummySpell->Id == 49028)
{
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 284b45eb8be..cedafc08883 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -3093,8 +3093,8 @@ void SpellMgr::LoadSpellInfoCorrections()
case 20336:
case 20337:
case 63320: // Glyph of Life Tap
- case 53228: // Rapid Killing (Rang 1)
- case 53232: // Rapid Killing (Rang 2)
+ case 53228: // Rapid Killing (Rank 1)
+ case 53232: // Rapid Killing (Rank 2)
// Entries were not updated after spell effect change, we have to do that manually :/
spellInfo->AttributesEx3 |= SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED;
break;
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index f0dca9a8a82..ff226760e1c 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -33,6 +33,7 @@ enum DeathKnightSpells
SPELL_DK_BLOOD_BOIL_TRIGGERED = 65658,
SPELL_DK_BLOOD_GORGED_HEAL = 50454,
SPELL_DK_BLOOD_PRESENCE = 48266,
+ SPELL_DK_BUTCHERY = 50163,
SPELL_DK_CORPSE_EXPLOSION_TRIGGERED = 43999,
SPELL_DK_CORPSE_EXPLOSION_VISUAL = 51270,
SPELL_DK_DEATH_COIL_DAMAGE = 47632,
@@ -306,6 +307,44 @@ class spell_dk_blood_gorged : public SpellScriptLoader
}
};
+// -48979 - Butchery
+class spell_dk_butchery : public SpellScriptLoader
+{
+ public:
+ spell_dk_butchery() : SpellScriptLoader("spell_dk_butchery") { }
+
+ class spell_dk_blood_gorged_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_dk_blood_gorged_AuraScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_DK_BUTCHERY))
+ return false;
+ return true;
+ }
+
+ void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
+ {
+ PreventDefaultAction();
+ int32 rune = aurEff->GetAmount();
+
+ GetTarget()->CastCustomSpell(SPELL_DK_BUTCHERY, SPELLVALUE_BASE_POINT0, rune, GetTarget(), true, NULL, aurEff);
+
+ }
+
+ void Register() OVERRIDE
+ {
+ OnEffectProc += AuraEffectProcFn(spell_dk_blood_gorged_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
+ }
+ };
+
+ AuraScript* GetAuraScript() const OVERRIDE
+ {
+ return new spell_dk_blood_gorged_AuraScript();
+ }
+};
+
// 49158 - Corpse Explosion (51325, 51326, 51327, 51328)
class spell_dk_corpse_explosion : public SpellScriptLoader
{
@@ -1049,6 +1088,7 @@ void AddSC_deathknight_spell_scripts()
new spell_dk_anti_magic_zone();
new spell_dk_blood_boil();
new spell_dk_blood_gorged();
+ new spell_dk_butchery();
new spell_dk_corpse_explosion();
new spell_dk_death_coil();
new spell_dk_death_gate();
diff --git a/src/server/scripts/Spells/spell_hunter.cpp b/src/server/scripts/Spells/spell_hunter.cpp
index e3e9f9f3a57..4f8dbdff1ae 100644
--- a/src/server/scripts/Spells/spell_hunter.cpp
+++ b/src/server/scripts/Spells/spell_hunter.cpp
@@ -39,6 +39,7 @@ enum HunterSpells
SPELL_HUNTER_CHIMERA_SHOT_VIPER = 53358,
SPELL_HUNTER_CHIMERA_SHOT_SCORPID = 53359,
SPELL_HUNTER_GLYPH_OF_ASPECT_OF_THE_VIPER = 56851,
+ SPELL_HUNTER_IMPROVED_MEND_PET = 24406,
SPELL_HUNTER_INVIGORATION_TRIGGERED = 53398,
SPELL_HUNTER_MASTERS_CALL_TRIGGERED = 62305,
SPELL_HUNTER_MISDIRECTION_PROC = 35079,
@@ -597,7 +598,7 @@ class spell_hun_rapid_recuperation : public SpellScriptLoader
{
// This effect only from Rapid Fire (ability cast)
if (!(eventInfo.GetDamageInfo()->GetSpellInfo()->SpellFamilyFlags[0] & 0x20))
- return;
+ PreventDefaultAction();
}
void HandleFocusRegen(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -613,7 +614,7 @@ class spell_hun_rapid_recuperation : public SpellScriptLoader
void Register() OVERRIDE
{
- OnEffectProc += AuraEffectProcFn(spell_hun_rapid_recuperation_AuraScript::HandleAbilityCast, EFFECT_0, SPELL_AURA_DUMMY);
+ OnEffectProc += AuraEffectProcFn(spell_hun_rapid_recuperation_AuraScript::HandleAbilityCast, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
OnEffectProc += AuraEffectProcFn(spell_hun_rapid_recuperation_AuraScript::HandleFocusRegen, EFFECT_1, SPELL_AURA_DUMMY);
}
};