From c3518933ba4e52c46d1e2204b0a9a290df0cecd5 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Fri, 30 Aug 2019 13:09:08 +0200 Subject: [PATCH] Core/Spells: Chill of the Grave will now grant Runic Power in all cases and will now again grant Runic Power for each target hit by Howling Blast --- .../custom/custom_2019_08_30_02_world.sql | 1 + src/server/game/Spells/Spell.cpp | 14 ++---- src/server/scripts/Spells/spell_dk.cpp | 44 ------------------- 3 files changed, 5 insertions(+), 54 deletions(-) create mode 100644 sql/updates/world/custom/custom_2019_08_30_02_world.sql diff --git a/sql/updates/world/custom/custom_2019_08_30_02_world.sql b/sql/updates/world/custom/custom_2019_08_30_02_world.sql new file mode 100644 index 00000000000..d4a31a3013c --- /dev/null +++ b/sql/updates/world/custom/custom_2019_08_30_02_world.sql @@ -0,0 +1 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_dk_chill_of_the_grave'; diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index e2d5161ef68..b4b671055e5 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4999,9 +4999,7 @@ void Spell::TakeRunePower(bool didHit) player->ClearLastUsedRuneMask(); int32 runeCost[NUM_RUNE_TYPES]; // blood, frost, unholy, death - int32 runicPowerGain = runeCostData->runePowerGain * sWorld->getRate(RATE_POWER_RUNICPOWER_INCOME); - // Apply rune cost modifiers for (uint32 i = 0; i < RUNE_DEATH; ++i) { runeCost[i] = runeCostData->RuneCost[i]; @@ -5055,7 +5053,7 @@ void Spell::TakeRunePower(bool didHit) // you can gain some runic power when use runes if (didHit) { - if (runicPowerGain) + if (int32 rp = int32(runeCostData->runePowerGain * sWorld->getRate(RATE_POWER_RUNICPOWER_INCOME))) { Unit::AuraEffectList const& bonusPct = m_caster->GetAuraEffectsByType(SPELL_AURA_MOD_RUNE_REGEN_SPEED); for (auto i = bonusPct.begin(); i != bonusPct.end(); ++i) @@ -5065,18 +5063,14 @@ void Spell::TakeRunePower(bool didHit) { // Apply bonus when in Unholy or Blood Presence if (player->HasAura(48265) || player->HasAura(48263)) - AddPct(runicPowerGain, (*i)->GetAmount()); + AddPct(rp, (*i)->GetAmount()); continue; } else - AddPct(runicPowerGain, (*i)->GetAmount()); + AddPct(rp, (*i)->GetAmount()); } - // Apply runic power gain modifiers - if (Player* modOwner = m_caster->GetSpellModOwner()) - modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_COST, runicPowerGain, const_cast(this)); - - player->ModifyPower(POWER_RUNIC_POWER, std::max(0, runicPowerGain)); + player->ModifyPower(POWER_RUNIC_POWER, rp); } } } diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp index 382252d49e4..886bd587c54 100644 --- a/src/server/scripts/Spells/spell_dk.cpp +++ b/src/server/scripts/Spells/spell_dk.cpp @@ -64,15 +64,12 @@ enum DeathKnightSpells SPELL_DK_ENERGIZE_BLOOD_RUNE = 81166, SPELL_DK_ENERGIZE_FROST_RUNE = 81168, SPELL_DK_ENERGIZE_UNHOLY_RUNE = 81169, - SPELL_DK_FREEZING_FOG = 59052, SPELL_DK_FROST_FEVER = 55095, SPELL_DK_FROST_PRESENCE = 48266, SPELL_DK_FROST_STRIKE = 49143, SPELL_DK_FROST_STRIKE_OFFHAND = 66196, SPELL_DK_GHOUL_EXPLODE = 47496, SPELL_DK_GLYPH_OF_ICEBOUND_FORTITUDE = 58625, - SPELL_DK_HOWLING_BLAST = 49184, - SPELL_DK_ICY_TOUCH = 45477, SPELL_DK_IMPROVED_BLOOD_PRESENCE = 63611, SPELL_DK_IMPROVED_DEATH_STRIKE = 62905, SPELL_DK_IMPROVED_FROST_PRESENCE = 63621, @@ -1272,46 +1269,6 @@ class spell_dk_howling_blast : public SpellScript } }; -// -49149 - Chill of the Grave -class spell_dk_chill_of_the_grave : public AuraScript -{ - PrepareAuraScript(spell_dk_chill_of_the_grave); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo( - { - SPELL_DK_FREEZING_FOG, - SPELL_DK_ICY_TOUCH, - SPELL_DK_HOWLING_BLAST - }); - } - - bool CheckProc(ProcEventInfo& eventInfo) - { - if (Spell const* spell = eventInfo.GetProcSpell()) - { - if (SpellInfo const* spellInfo = spell->GetSpellInfo()) - if (GetTarget()->HasAura(SPELL_DK_FREEZING_FOG)) - if (spellInfo->Id == SPELL_DK_ICY_TOUCH || spellInfo->Id == SPELL_DK_HOWLING_BLAST) - return false; - - if (Unit* spellTarget = spell->m_targets.GetUnitTarget()) - if (DamageInfo* damageInfo = eventInfo.GetDamageInfo()) - if (Unit* procTarget = eventInfo.GetDamageInfo()->GetVictim()) - if (spellTarget == procTarget) - return true; - } - - return false; - } - - void Register() override - { - DoCheckProc += AuraCheckProcFn(spell_dk_chill_of_the_grave::CheckProc); - } -}; - class spell_dk_threat_of_thassarian : public AuraScript { PrepareAuraScript(spell_dk_threat_of_thassarian); @@ -1723,7 +1680,6 @@ void AddSC_deathknight_spell_scripts() RegisterAuraScript(spell_dk_blood_gorged); RegisterAuraScript(spell_dk_blood_rites); RegisterAuraScript(spell_dk_butchery); - RegisterAuraScript(spell_dk_chill_of_the_grave); RegisterAuraScript(spell_dk_crimson_scourge); RegisterSpellScript(spell_dk_dark_transformation); RegisterAuraScript(spell_dk_dark_transformation_aura);