Core/Spells:

* fixed Shatter not granting its crit chance properly
* fixed Last Word crit chance bonus
This commit is contained in:
Ovahlord
2019-11-26 18:28:38 +01:00
parent d2a6f0770b
commit dfd75a24e2
2 changed files with 11 additions and 3 deletions

View File

@@ -7149,15 +7149,14 @@ float Unit::GetUnitSpellCriticalChance(Unit* victim, SpellInfo const* spellProto
switch ((*i)->GetMiscValue())
{
case 11170: // Shatter
case 12982:
case 911: // Shatter
if (victim->HasAuraState(AURA_STATE_FROZEN, spellProto, this))
crit_chance *= 2;
else if (spellProto->SpellFamilyFlags[0] & 0x00020000 || spellProto->SpellFamilyFlags[1] & 0x00100000)
if (GetAuraEffect(SPELL_AURA_ABILITY_IGNORE_AURASTATE, SPELLFAMILY_MAGE, 0, 0, 0x0000000A, GetGUID()))
crit_chance *= 2;
break;
case 7917: // Glyph of Shadowburn
case 7: // Last Word
if (victim->HasAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, spellProto, this))
crit_chance += (*i)->GetAmount();
break;

View File

@@ -5611,6 +5611,15 @@ void SpellMgr::LoadSpellInfoCorrections()
spellInfo->SpellFamilyName = SPELLFAMILY_SHAMAN;
});
// Last Word
ApplySpellFix({
20234,
20235,
}, [](SpellInfo* spellInfo)
{
spellInfo->Effects[EFFECT_0].ApplyAuraName = SPELL_AURA_OVERRIDE_CLASS_SCRIPTS;
});
for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i)
{
SpellInfo* spellInfo = mSpellInfoMap[i];