mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 19:37:02 +00:00
* Better implement 202 SPELL_AURA_IGNORE_COMBAT_RESULT based on SpellClassMask
Signed-off-by: DiSlord <dislord@nomail.com>
This commit is contained in:
parent
a33a7f67f7
commit
668c3d4b4c
1 changed files with 13 additions and 13 deletions
|
|
@ -2307,21 +2307,21 @@ MeleeHitOutcome Unit::RollPhysicalOutcomeAgainst (Unit const *pVictim, WeaponAtt
|
||||||
{
|
{
|
||||||
// Increase from SPELL_AURA_MOD_SPELL_CRIT_CHANCE_SCHOOL aura
|
// Increase from SPELL_AURA_MOD_SPELL_CRIT_CHANCE_SCHOOL aura
|
||||||
crit_chance += GetTotalAuraModifierByMiscMask(SPELL_AURA_MOD_SPELL_CRIT_CHANCE_SCHOOL, spellInfo->SchoolMask);
|
crit_chance += GetTotalAuraModifierByMiscMask(SPELL_AURA_MOD_SPELL_CRIT_CHANCE_SCHOOL, spellInfo->SchoolMask);
|
||||||
|
// Ignore combat result aura
|
||||||
if( dodge_chance != 0.0f ) // if dodge chance is already 0, ignore talents for speed
|
AuraList const& mCanNotBeDodge = GetAurasByType(SPELL_AURA_IGNORE_COMBAT_RESULT);
|
||||||
|
for(AuraList::const_iterator i = mCanNotBeDodge.begin(); i != mCanNotBeDodge.end(); ++i)
|
||||||
{
|
{
|
||||||
AuraList const& mCanNotBeDodge = GetAurasByType(SPELL_AURA_IGNORE_COMBAT_RESULT);
|
if (!(*i)->isAffectedOnSpell(spellInfo))
|
||||||
for(AuraList::const_iterator i = mCanNotBeDodge.begin(); i != mCanNotBeDodge.end(); ++i)
|
continue;
|
||||||
|
// can't be dodged
|
||||||
|
switch((*i)->GetModifier()->m_miscvalue)
|
||||||
{
|
{
|
||||||
// can't be dodged rogue finishing move
|
case MELEE_HIT_DODGE: dodge_chance = 0.0f; break;
|
||||||
if((*i)->GetModifier()->m_miscvalue == VICTIMSTATE_DODGE)
|
case MELEE_HIT_BLOCK: block_chance = 0.0f; break;
|
||||||
{
|
case MELEE_HIT_PARRY: parry_chance = 0.0f; break;
|
||||||
if(spellInfo->SpellFamilyName==SPELLFAMILY_ROGUE && (spellInfo->SpellFamilyFlags & SPELLFAMILYFLAG_ROGUE__FINISHING_MOVE))
|
default:
|
||||||
{
|
DEBUG_LOG("Spell %u SPELL_AURA_IGNORE_COMBAT_RESULT have unhandled state %d", (*i)->GetId(), (*i)->GetModifier()->m_miscvalue);
|
||||||
dodge_chance = 0.0f;
|
break;
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue