Core/Spells: allow Rune Strike to be permanently used while in Blood Presence

This commit is contained in:
Ovahlord
2020-07-23 22:52:55 +02:00
parent aec1d1a2fa
commit a31111ebbb
2 changed files with 11 additions and 0 deletions

View File

@@ -10689,6 +10689,11 @@ void Unit::ProcSkillsAndReactives(bool isVictim, Unit* procTarget, uint32 typeMa
// for victim
if (isVictim)
{
// Skip checks for Death Knights when in Blood Presence (Rune Strike)
if (getClass() == CLASS_DEATH_KNIGHT && hitMask & (PROC_HIT_DODGE | PROC_HIT_PARRY | PROC_HIT_BLOCK))
if (GetAuraEffect(SPELL_AURA_MOD_BASE_RESISTANCE_PCT, SPELLFAMILY_DEATHKNIGHT, 0x800000, 0, 0, GetGUID()))
return;
// if victim and dodge attack
if (hitMask & PROC_HIT_DODGE)
{

View File

@@ -794,6 +794,9 @@ class spell_dk_presence : public AuraScript
// Improved Blood Presence and Blood Presence triggered effect
if (spellId == SPELL_DK_BLOOD_PRESENCE)
{
// Apply defense state to permanently enable Rune Strike
target->ModifyAuraState(AURA_STATE_DEFENSE, true);
if (Aura const* improvedBloodPresenceAura = target->GetAuraOfRankedSpell(SPELL_DK_IMPROVED_BLOOD_PRESENCE_R1, target->GetGUID()))
{
// Rune Regeneration bonus effect
@@ -823,6 +826,9 @@ class spell_dk_presence : public AuraScript
target->RemoveAura(SPELL_DK_IMPROVED_FROST_PRESENCE);
target->RemoveAura(SPELL_DK_IMPROVED_UNHOLY_PRESENCE);
target->RemoveAura(SPELL_DK_IMPROVED_BLOOD_PRESENCE);
if (GetId() == SPELL_DK_BLOOD_PRESENCE)
target->ModifyAuraState(AURA_STATE_DEFENSE, false);
}
void Register() override