diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 86724edee4b..4ec9d7ea765 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -8821,6 +8821,40 @@ int32 Unit::CalculateSpellDuration(SpellEntry const* spellProto, SpellEffectInde if (duration < 0) duration = 0; } + if (duration > 0 && unitPlayer && target == this) + { + switch(spellProto->SpellFamilyName) + { + case SPELLFAMILY_DRUID: + // Thorns + if (spellProto->SpellIconID == 53 && (spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000100))) + { + // Glyph of Thorns + if (Aura *aur = GetAura(57862, EFFECT_INDEX_0)) + duration += aur->GetModifier()->m_amount * MINUTE * IN_MILLISECONDS; + } + break; + case SPELLFAMILY_PALADIN: + // Blessing of Might + if (spellProto->SpellIconID == 298 && spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000002)) + { + // Glyph of Blessing of Might + if (Aura *aur = GetAura(57958, EFFECT_INDEX_0)) + duration += aur->GetModifier()->m_amount * MINUTE * IN_MILLISECONDS; + } + // Blessing of Wisdom + else if (spellProto->SpellIconID == 306 && spellProto->SpellFamilyFlags & UI64LIT(0x0000000000010000)) + { + // Glyph of Blessing of Wisdom + if (Aura *aur = GetAura(57979, EFFECT_INDEX_0)) + duration += aur->GetModifier()->m_amount * MINUTE * IN_MILLISECONDS; + } + break; + default: + break; + } + } + return duration; } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 19e8ae07a6d..8c9af53883d 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11034" + #define REVISION_NR "11035" #endif // __REVISION_NR_H__