mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 04:37:00 +00:00
[10476] Fix 31228 and ranks
This commit is contained in:
parent
84a915e1b1
commit
b91f914dbc
3 changed files with 18 additions and 14 deletions
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue