Код:
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 4ceb337..254f628 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -68,7 +68,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS] =
&Aura::HandleAuraModStun, // 12 SPELL_AURA_MOD_STUN
&Aura::HandleModDamageDone, // 13 SPELL_AURA_MOD_DAMAGE_DONE
&Aura::HandleNoImmediateEffect, // 14 SPELL_AURA_MOD_DAMAGE_TAKEN implemented in Unit::MeleeDamageBonusTaken and Unit::SpellBaseDamageBonusTaken
- &Aura::HandleNoImmediateEffect, // 15 SPELL_AURA_DAMAGE_SHIELD implemented in Unit::DealMeleeDamage
+ &Aura::HandleAuraDamageShield, // 15 SPELL_AURA_DAMAGE_SHIELD implemented in Unit::DealMeleeDamage
&Aura::HandleModStealth, // 16 SPELL_AURA_MOD_STEALTH
&Aura::HandleNoImmediateEffect, // 17 SPELL_AURA_MOD_STEALTH_DETECT implemented in Unit::isVisibleForOrDetect
&Aura::HandleInvisibility, // 18 SPELL_AURA_MOD_INVISIBILITY
@@ -4606,6 +4606,25 @@ void Aura::HandleAuraModStun(bool apply, bool Real)
}
}
+void Aura::HandleAuraDamageShield(bool apply, bool Real)
+{
+ if (!Real)
+ return;
+
+ Unit* caster = GetCaster();
+
+ if (apply)
+ {
+ // Retribution Aura
+ if (GetSpellProto()->IsFitToFamily(SPELLFAMILY_PALADIN, UI64LIT(0x0000000000000008), 0x00000020))
+ {
+ // Increased Retribution Aura (Paladin 5 tier Protected 2p bonus)
+ if (Aura* aura = caster->GetAura(37190, EFFECT_INDEX_0))
+ m_modifier.m_amount += aura->GetModifier()->m_amount;
+ }
+ }
+}
+
void Aura::HandleModStealth(bool apply, bool Real)
{
Unit* target = GetTarget();
diff --git a/src/game/SpellAuras.h b/src/game/SpellAuras.h
index c185419..fbd8e9b 100644
--- a/src/game/SpellAuras.h
+++ b/src/game/SpellAuras.h
@@ -259,6 +259,7 @@ class MANGOS_DLL_SPEC Aura
void HandleAuraModResistanceExclusive(bool Apply, bool Real);
void HandleAuraSafeFall(bool Apply, bool Real);
void HandleAuraModPetTalentsPoints(bool Apply, bool Real);
+ void HandleAuraDamageShield(bool Apply, bool Real);
void HandleModStealth(bool Apply, bool Real);
void HandleInvisibility(bool Apply, bool Real);
void HandleInvisibilityDetect(bool Apply, bool Real);
PS Истинный ценитель тиров )))