diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 53cd09647..bc18d132d 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -2570,8 +2570,8 @@ void Aura::HandleAuraDummy(bool apply, bool Real) return; // have a look if there is still some other Lifebloom dummy aura - Unit::AuraList auras = m_target->GetAurasByType(SPELL_AURA_DUMMY); - for(Unit::AuraList::iterator itr = auras.begin(); itr!=auras.end(); ++itr) + Unit::AuraList const& auras = m_target->GetAurasByType(SPELL_AURA_DUMMY); + for(Unit::AuraList::const_iterator itr = auras.begin(); itr!=auras.end(); ++itr) if((*itr)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_DRUID && ((*itr)->GetSpellProto()->SpellFamilyFlags & UI64LIT(0x1000000000))) return; diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index f4324ac46..319aa0266 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -4591,15 +4591,37 @@ void Spell::EffectWeaponDmg(uint32 i) if (count) { // Effect 1(for Blood-Caked Strike)/3(other) damage is bonus - double bonus = count * CalculateDamage(m_spellInfo->SpellIconID == 1736 ? 0 : 2, unitTarget) / 100.0f; + float bonus = count * CalculateDamage(m_spellInfo->SpellIconID == 1736 ? 0 : 2, unitTarget) / 100.0f; // Blood Strike, Blood-Caked Strike and Obliterate store bonus*2 if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0002000000400000) || m_spellInfo->SpellIconID == 1736) bonus /= 2.0f; - totalDamagePercentMod += bonus; + totalDamagePercentMod *= 1.0f + bonus; } } + // Glyph of Blood Strike + if( m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000400000) && + m_caster->HasAura(59332) && + unitTarget->HasAuraType(SPELL_AURA_MOD_DECREASE_SPEED)) + { + totalDamagePercentMod *= 1.2f; // 120% if snared + } + // Glyph of Death Strike + if( m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000000010) && + m_caster->HasAura(59336)) + { + int32 rp = m_caster->GetPower(POWER_RUNIC_POWER) / 10; + if(rp > 25) + rp = 25; + totalDamagePercentMod *= 1.0f + rp / 100.0f; + } + // Glyph of Plague Strike + if( m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000000001) && + m_caster->HasAura(58657) ) + { + totalDamagePercentMod *= 1.2f; + } break; } }