aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells
diff options
context:
space:
mode:
authorsilinoron <none@none>2010-12-18 13:06:38 -0800
committersilinoron <none@none>2010-12-18 13:06:38 -0800
commit41a9d3216ca2f3f32c133efa5697b215af668590 (patch)
treeaec6b688d5874dc770010196b7fab21ff093a2c4 /src/server/game/Spells
parent8ce0abbbc896f0b891238c53fd696ac61d7ef73f (diff)
Core/Auras: Fix Cold Blood handling on misses and parries.
Patch by dr.tenma. Fixes issue #2291 --HG-- branch : trunk
Diffstat (limited to 'src/server/game/Spells')
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 7f287015cb8..bd9f466fb86 100755
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -1198,7 +1198,16 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target)
// Do not take combo points on dodge and miss
if (m_needComboPoints && m_targets.getUnitTargetGUID() == target->targetGUID)
if (missInfo != SPELL_MISS_NONE)
+ {
m_needComboPoints = false;
+ // Restore spell mods for a miss/dodge/parry Cold Blood
+ // TODO: check how broad this rule should be
+ if (m_caster->GetTypeId() == TYPEID_PLAYER)
+ if ((missInfo == SPELL_MISS_MISS) ||
+ (missInfo == SPELL_MISS_DODGE) ||
+ (missInfo == SPELL_MISS_PARRY))
+ m_caster->ToPlayer()->RestoreSpellMods(this, 14177);
+ }
// Trigger info was not filled in spell::preparedatafortriggersystem - we do it now
if (canEffectTrigger && !procAttacker && !procVictim)