fix(Core/Spells): Implemented SPELL_ATTR0_CU_IGNORE_EVADE. (#10832)

Added channel beam at Razorgore pre-fight.
Fixed #10767
This commit is contained in:
UltraNix
2022-03-06 18:26:00 +01:00
committed by GitHub
parent dadbb829f1
commit a74e57fb22
5 changed files with 16 additions and 2 deletions

View File

@@ -3139,7 +3139,7 @@ SpellMissInfo Unit::SpellHitResult(Unit* victim, SpellInfo const* spell, bool Ca
return SPELL_MISS_NONE;
// Return evade for units in evade mode
if (victim->GetTypeId() == TYPEID_UNIT && victim->ToCreature()->IsEvadingAttacks() && !spell->HasAura(SPELL_AURA_CONTROL_VEHICLE))
if (victim->GetTypeId() == TYPEID_UNIT && victim->ToCreature()->IsEvadingAttacks() && !spell->HasAura(SPELL_AURA_CONTROL_VEHICLE) && !spell->HasAttribute(SPELL_ATTR0_CU_IGNORE_EVADE))
return SPELL_MISS_EVADE;
// Try victim reflect spell

View File

@@ -184,7 +184,7 @@ enum SpellCustomAttributes
SPELL_ATTR0_CU_DIRECT_DAMAGE = 0x00000100,
SPELL_ATTR0_CU_CHARGE = 0x00000200,
SPELL_ATTR0_CU_PICKPOCKET = 0x00000400,
SPELL_ATTR0_CU_NONE4 = 0x00000800, // UNUSED
SPELL_ATTR0_CU_IGNORE_EVADE = 0x00000800,
SPELL_ATTR0_CU_NEGATIVE_EFF0 = 0x00001000,
SPELL_ATTR0_CU_NEGATIVE_EFF1 = 0x00002000,
SPELL_ATTR0_CU_NEGATIVE_EFF2 = 0x00004000,

View File

@@ -4210,6 +4210,12 @@ void SpellMgr::LoadSpellInfoCorrections()
spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT;
});
// Cosmetic - Lightning Beam Channel
ApplySpellFix({ 45537 }, [](SpellInfo* spellInfo)
{
spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT;
});
for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i)
{
SpellInfo* spellInfo = mSpellInfoMap[i];

View File

@@ -3400,6 +3400,9 @@ void SpellMgr::LoadSpellInfoCustomAttributes()
case 44535: // Spirit Heal, abilities also have no cost
spellInfo->Effects[EFFECT_0].MiscValue = 127;
break;
case 45537: // Cosmetic - Lightning Beam Channel
spellInfo->AttributesCu |= SPELL_ATTR0_CU_IGNORE_EVADE;
break;
}
if (spellInfo->Speed > 0.0f)