diff options
author | Machiavelli <none@none> | 2009-10-06 17:09:11 +0200 |
---|---|---|
committer | Machiavelli <none@none> | 2009-10-06 17:09:11 +0200 |
commit | 2cd66e90c24e85b110c70f3563cf2c7e03fa9e6f (patch) | |
tree | 2d4f3f1d80bccc4d70590070014e1d1c4d04b80b /src/game/SpellEffects.cpp | |
parent | 1bd3f9604cae7ba47368b85a0fcfe024768c8944 (diff) |
* Do not let Seal of Command proc on anything other than a melee swing.
* Fix Judgement of Blood/Martyr dummy by nos4r2zod
* Fix Judgement of Command dummy by nos4r2zod
--HG--
branch : trunk
Diffstat (limited to 'src/game/SpellEffects.cpp')
-rw-r--r-- | src/game/SpellEffects.cpp | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index d676f8091ce..2edd987687c 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -1682,23 +1682,7 @@ void Spell::EffectDummy(uint32 i) if(!spell_proto) return; - if(unitTarget->hasUnitState(UNIT_STAT_STUNNED) && m_caster->GetTypeId()==TYPEID_PLAYER) - { - // always critical for stunned target - SpellModifier *mod = new SpellModifier; - mod->op = SPELLMOD_CRITICAL_CHANCE; - mod->value = 100; - mod->type = SPELLMOD_FLAT; - mod->spellId = m_spellInfo->Id; - mod->mask[1] = 0x00000200; - - ((Player*)m_caster)->AddSpellMod(mod, true); - m_caster->CastSpell(unitTarget,spell_proto,true,NULL); - ((Player*)m_caster)->AddSpellMod(mod, false); - } - else - m_caster->CastSpell(unitTarget, spell_proto, true, NULL); - + m_caster->CastSpell(unitTarget, spell_proto, true, NULL); return; } case 31789: // Righteous Defense (step 1) @@ -4420,6 +4404,24 @@ void Spell::SpellDamageWeaponDmg(uint32 i) spell_bonus += int32(0.25f*m_caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellInfo))); } break; + // Judgement of Blood/of the Martyr backlash damage (33%) + if(m_spellInfo->SpellFamilyFlags[0] & 0x0000000800000000LL && m_spellInfo->SpellIconID==153) + { + int32 damagePoint = m_damage * 33 / 100; + if(m_spellInfo->Id == 31898) + m_caster->CastCustomSpell(m_caster, 32220, &damagePoint, NULL, NULL, true); + else + m_caster->CastCustomSpell(m_caster, 53725, &damagePoint, NULL, NULL, true); + } + // Seal of Blood/of the Martyr backlash damage (10%) + else if(m_spellInfo->SpellIconID==2293) + { + int32 damagePoint = m_damage * 10 / 100; + if(m_spellInfo->Id == 31893) + m_caster->CastCustomSpell(m_caster, 32221, &damagePoint, NULL, NULL, true); + else + m_caster->CastCustomSpell(m_caster, 53718, &damagePoint, NULL, NULL, true); + } } case SPELLFAMILY_SHAMAN: { |