[10476] Fix 31228 and ranks

This commit is contained in:
Laise 2010-09-12 16:51:33 +02:00
parent 84a915e1b1
commit b91f914dbc
3 changed files with 18 additions and 14 deletions

View file

@ -5178,16 +5178,16 @@ void Spell::EffectWeaponDmg(SpellEffectIndex eff_idx)
// Ghostly Strike // Ghostly Strike
else if (m_caster->GetTypeId() == TYPEID_PLAYER && m_spellInfo->Id == 14278) else if (m_caster->GetTypeId() == TYPEID_PLAYER && m_spellInfo->Id == 14278)
{ {
Item* weapon = ((Player*)m_caster)->GetWeaponForAttack(m_attackType,true,true); Item* weapon = ((Player*)m_caster)->GetWeaponForAttack(m_attackType,true,true);
if (weapon && weapon->GetProto()->SubClass == ITEM_SUBCLASS_WEAPON_DAGGER) if (weapon && weapon->GetProto()->SubClass == ITEM_SUBCLASS_WEAPON_DAGGER)
totalDamagePercentMod *= 1.44f; // 144% to daggers totalDamagePercentMod *= 1.44f; // 144% to daggers
} }
// Hemorrhage // Hemorrhage
else if (m_caster->GetTypeId() == TYPEID_PLAYER && (m_spellInfo->SpellFamilyFlags & UI64LIT(0x2000000))) else if (m_caster->GetTypeId() == TYPEID_PLAYER && (m_spellInfo->SpellFamilyFlags & UI64LIT(0x2000000)))
{ {
Item* weapon = ((Player*)m_caster)->GetWeaponForAttack(m_attackType,true,true); Item* weapon = ((Player*)m_caster)->GetWeaponForAttack(m_attackType,true,true);
if (weapon && weapon->GetProto()->SubClass == ITEM_SUBCLASS_WEAPON_DAGGER) if (weapon && weapon->GetProto()->SubClass == ITEM_SUBCLASS_WEAPON_DAGGER)
totalDamagePercentMod *= 1.45f; // 145% to daggers totalDamagePercentMod *= 1.45f; // 145% to daggers
} }
break; break;
} }

View file

@ -2005,14 +2005,18 @@ void Unit::CalculateDamageAbsorbAndResist(Unit *pCaster, SpellSchoolMask schoolM
case SPELLFAMILY_ROGUE: case SPELLFAMILY_ROGUE:
{ {
// Cheat Death (make less prio with Guardian Spirit case) // Cheat Death (make less prio with Guardian Spirit case)
if (!preventDeathSpell && spellProto->SpellIconID == 2109 && if (spellProto->SpellIconID == 2109)
GetTypeId()==TYPEID_PLAYER && // Only players
!((Player*)this)->HasSpellCooldown(31231) &&
// Only if no cooldown
roll_chance_i((*i)->GetModifier()->m_amount))
// Only if roll
{ {
preventDeathSpell = (*i)->GetSpellProto(); if (!preventDeathSpell &&
GetTypeId()==TYPEID_PLAYER && // Only players
!((Player*)this)->HasSpellCooldown(31231) &&
// Only if no cooldown
roll_chance_i((*i)->GetModifier()->m_amount))
// Only if roll
{
preventDeathSpell = (*i)->GetSpellProto();
}
// always skip this spell in charge dropping, absorb amount calculation since it has chance as m_amount and doesn't need to absorb any damage
continue; continue;
} }
break; break;

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "10475" #define REVISION_NR "10476"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__