aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNevan <none@none>2009-08-08 21:51:00 +0200
committerNevan <none@none>2009-08-08 21:51:00 +0200
commit8aa30007b54c0d5f8effae302e519a81921ebdec (patch)
treedc021f6e66e55145120ddf0e63e1be4c3c874209 /src
parentd41d789ddb2a8b8f5731c2173d88440b9ba8e689 (diff)
*Fix Glyph of Blood Strike
*Fix Glyph of Plague Strike *Fix Glyph of Death Strike --HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellEffects.cpp38
1 files changed, 36 insertions, 2 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index c2e8fc63853..67019f0991b 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -4380,6 +4380,40 @@ void Spell::SpellDamageWeaponDmg(uint32 i)
}
case SPELLFAMILY_DEATHKNIGHT:
{
+ // Plague Strike
+ if (m_spellInfo->SpellFamilyFlags[0] & 0x00000001)
+ {
+ // Glyph of Plague Strike
+ if (AuraEffect * aurEff = m_caster->GetAuraEffect(58657,0))
+ totalDamagePercentMod *= float((aurEff->GetAmount() + 100.0f) / 100.0f);
+ }
+ // Blood Strike
+ else if (m_spellInfo->SpellFamilyFlags[0] & 0x400000)
+ {
+ totalDamagePercentMod *= (float(unitTarget->GetDiseasesByCaster(m_caster->GetGUID())) * 12.5f + 100.0f) / 100.0f;
+
+ // Glyph of Blood Strike
+ if (AuraEffect * aurEff = m_caster->GetAuraEffect(59332,0))
+ {
+ if(unitTarget->HasAuraType(SPELL_AURA_MOD_DECREASE_SPEED))
+ totalDamagePercentMod *= float((20 + 100.0f) / 100.0f);
+ }
+ }
+ // Death Strike
+ else if (m_spellInfo->SpellFamilyFlags[0] & 0x00000010)
+ {
+ // Glyph of Death Strike
+ if (AuraEffect * aurEff = m_caster->GetAuraEffect(59336,0))
+ {
+ if(uint32 runic = m_caster->GetPower(POWER_RUNIC_POWER))
+ {
+ if (runic > 25)
+ runic = 25;
+
+ totalDamagePercentMod *= float((runic + 100.0f) / 100.0f);
+ }
+ }
+ }
// Obliterate (12.5% more damage per disease)
if (m_spellInfo->SpellFamilyFlags[1] & 0x20000)
{
@@ -4393,8 +4427,8 @@ void Spell::SpellDamageWeaponDmg(uint32 i)
}
totalDamagePercentMod *= (float(CalculateDamage(2, unitTarget) * unitTarget->GetDiseasesByCaster(m_caster->GetGUID(), consumeDiseases) / 2) + 100.0f) / 100.0f;
}
- // Blood-Caked Strike - Blood-Caked Blade // Blood Strike
- else if (m_spellInfo->SpellIconID == 1736 || m_spellInfo->SpellFamilyFlags[0] & 0x400000)
+ // Blood-Caked Strike - Blood-Caked Blade
+ else if (m_spellInfo->SpellIconID == 1736)
totalDamagePercentMod *= (float(unitTarget->GetDiseasesByCaster(m_caster->GetGUID())) * 12.5f + 100.0f) / 100.0f;
break;
}