aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2014-07-24 16:14:25 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2014-07-24 16:14:25 +0200
commit296956e06e02c06135aab6c5d86535b7e256a6b0 (patch)
tree43e25133f534e6c2830169ece1def1725a3a2aa2 /src
parentd7cf0a935adc742d460764cdd33252f8c283f77c (diff)
Revert "Core/Spells: Death and Decay"
This reverts commit 02d56e00bc256f224b7d05f90af2c0af7cb287bf.
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp7
-rw-r--r--src/server/scripts/Northrend/zone_dalaran.cpp6
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp29
3 files changed, 32 insertions, 10 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 2205f0d4607..1894776c990 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -5457,13 +5457,6 @@ void AuraEffect::HandlePeriodicDummyAuraTick(Unit* target, Unit* caster) const
target->DealDamage(target, damage, NULL, NODAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
break;
}
- // Death and Decay
- if (GetSpellInfo()->SpellFamilyFlags[0] & 0x20)
- {
- if (caster)
- target->CastCustomSpell(target, 52212, &m_amount, NULL, NULL, true, 0, this, caster->GetGUID());
- break;
- }
// Blood of the North
// Reaping
// Death Rune Mastery
diff --git a/src/server/scripts/Northrend/zone_dalaran.cpp b/src/server/scripts/Northrend/zone_dalaran.cpp
index 4cd0e929cd2..fb5e63a2301 100644
--- a/src/server/scripts/Northrend/zone_dalaran.cpp
+++ b/src/server/scripts/Northrend/zone_dalaran.cpp
@@ -202,7 +202,7 @@ class npc_minigob_manabonk : public CreatureScript
me->setActive(true);
}
- void Reset()
+ void Reset() override
{
me->SetVisible(false);
events.ScheduleEvent(EVENT_SELECT_TARGET, IN_MILLISECONDS);
@@ -232,7 +232,7 @@ class npc_minigob_manabonk : public CreatureScript
CharacterDatabase.CommitTransaction(trans);
}
- void UpdateAI(uint32 diff)
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -276,7 +276,7 @@ class npc_minigob_manabonk : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_minigob_manabonkAI(creature);
}
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index 84608ba42f1..1d6dcdfaa6d 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -36,6 +36,7 @@ enum DeathKnightSpells
SPELL_DK_BLOOD_PRESENCE = 48266,
SPELL_DK_CORPSE_EXPLOSION_TRIGGERED = 43999,
SPELL_DK_CORPSE_EXPLOSION_VISUAL = 51270,
+ SPELL_DK_DEATH_AND_DECAY_DAMAGE = 52212,
SPELL_DK_DEATH_COIL_DAMAGE = 47632,
SPELL_DK_DEATH_COIL_HEAL = 47633,
SPELL_DK_DEATH_STRIKE_HEAL = 45470,
@@ -445,6 +446,33 @@ class spell_dk_corpse_explosion : public SpellScriptLoader
}
};
+class spell_dk_death_and_decay : public SpellScriptLoader
+{
+ public:
+ spell_dk_death_and_decay() : SpellScriptLoader("spell_dk_death_and_decay") { }
+
+ class spell_dk_death_and_decay_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_dk_death_and_decay_AuraScript);
+
+ void HandleDummyTick(AuraEffect const* aurEff)
+ {
+ if (Unit* caster = GetCaster())
+ caster->CastCustomSpell(SPELL_DK_DEATH_AND_DECAY_DAMAGE, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetTarget(), true, NULL, aurEff);
+ }
+
+ void Register() override
+ {
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_dk_death_and_decay_AuraScript::HandleDummyTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_dk_death_and_decay_AuraScript();
+ }
+};
+
// -47541, 52375, 59134, -62900 - Death Coil
class spell_dk_death_coil : public SpellScriptLoader
{
@@ -1545,6 +1573,7 @@ void AddSC_deathknight_spell_scripts()
new spell_dk_blood_boil();
new spell_dk_blood_gorged();
new spell_dk_corpse_explosion();
+ new spell_dk_death_and_decay();
new spell_dk_death_coil();
new spell_dk_death_gate();
new spell_dk_death_grip();