aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 834fdd84bd3..40c269fb920 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -12763,8 +12763,23 @@ int32 Unit::ModSpellDuration(SpellEntry const* spellProto, Unit const* target, i
if (durationMod != 0)
duration = int32(float(duration) * float(100.0f+durationMod) / 100.0f);
}
- //else positive mods here, there are no currently
- //when there will be, change GetTotalAuraModifierByMiscValue to GetTotalPositiveAuraModifierByMiscValue
+ else
+ {
+ //else positive mods here, there are no currently
+ //when there will be, change GetTotalAuraModifierByMiscValue to GetTotalPositiveAuraModifierByMiscValue
+
+ // Mixology - duration boost
+ if (target->GetTypeId() == TYPEID_PLAYER)
+ {
+ if (spellProto->SpellFamilyName == SPELLFAMILY_POTION && (
+ sSpellMgr.IsSpellMemberOfSpellGroup(spellProto->Id, SPELL_GROUP_ELIXIR_BATTLE) ||
+ sSpellMgr.IsSpellMemberOfSpellGroup(spellProto->Id, SPELL_GROUP_ELIXIR_GUARDIAN)))
+ {
+ if (target->HasAura(53042) && target->HasSpell(spellProto->EffectTriggerSpell[0]))
+ duration *= 2;
+ }
+ }
+ }
// Glyphs which increase duration of selfcasted buffs
if (target == this)