mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-08 15:58:04 +00:00
fix(Core/Spells): Implemented SPELL_ATTR0_CU_IGNORE_EVADE. (#10832)
Added channel beam at Razorgore pre-fight. Fixed #10767
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1645894175235390600');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE `entryorguid`=12557 AND `id`=5;
|
||||||
|
INSERT INTO `smart_scripts` VALUES
|
||||||
|
(12557,0,5,0,1,0,100,1,500,500,0,0,0,11,45537,0,0,0,0,0,11,12435,90,0,0,0,0,0,0,'Grethok the Controller - OCC - Cast Channel Beam');
|
||||||
@@ -3139,7 +3139,7 @@ SpellMissInfo Unit::SpellHitResult(Unit* victim, SpellInfo const* spell, bool Ca
|
|||||||
return SPELL_MISS_NONE;
|
return SPELL_MISS_NONE;
|
||||||
|
|
||||||
// Return evade for units in evade mode
|
// 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;
|
return SPELL_MISS_EVADE;
|
||||||
|
|
||||||
// Try victim reflect spell
|
// Try victim reflect spell
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ enum SpellCustomAttributes
|
|||||||
SPELL_ATTR0_CU_DIRECT_DAMAGE = 0x00000100,
|
SPELL_ATTR0_CU_DIRECT_DAMAGE = 0x00000100,
|
||||||
SPELL_ATTR0_CU_CHARGE = 0x00000200,
|
SPELL_ATTR0_CU_CHARGE = 0x00000200,
|
||||||
SPELL_ATTR0_CU_PICKPOCKET = 0x00000400,
|
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_EFF0 = 0x00001000,
|
||||||
SPELL_ATTR0_CU_NEGATIVE_EFF1 = 0x00002000,
|
SPELL_ATTR0_CU_NEGATIVE_EFF1 = 0x00002000,
|
||||||
SPELL_ATTR0_CU_NEGATIVE_EFF2 = 0x00004000,
|
SPELL_ATTR0_CU_NEGATIVE_EFF2 = 0x00004000,
|
||||||
|
|||||||
@@ -4210,6 +4210,12 @@ void SpellMgr::LoadSpellInfoCorrections()
|
|||||||
spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT;
|
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)
|
for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i)
|
||||||
{
|
{
|
||||||
SpellInfo* spellInfo = mSpellInfoMap[i];
|
SpellInfo* spellInfo = mSpellInfoMap[i];
|
||||||
|
|||||||
@@ -3400,6 +3400,9 @@ void SpellMgr::LoadSpellInfoCustomAttributes()
|
|||||||
case 44535: // Spirit Heal, abilities also have no cost
|
case 44535: // Spirit Heal, abilities also have no cost
|
||||||
spellInfo->Effects[EFFECT_0].MiscValue = 127;
|
spellInfo->Effects[EFFECT_0].MiscValue = 127;
|
||||||
break;
|
break;
|
||||||
|
case 45537: // Cosmetic - Lightning Beam Channel
|
||||||
|
spellInfo->AttributesCu |= SPELL_ATTR0_CU_IGNORE_EVADE;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (spellInfo->Speed > 0.0f)
|
if (spellInfo->Speed > 0.0f)
|
||||||
|
|||||||
Reference in New Issue
Block a user