fix(Core/Spells) reimplement SPELL_ATTR3_CAN_PROC_FROM_PROCS (#22072)
This commit is contained in:
@@ -16232,10 +16232,6 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit* target, uint32 procFlag, u
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Triggered spells not triggering additional spells
|
|
||||||
//bool triggered = !spellProto->HasAttribute(SPELL_ATTR3_CAN_PROC_FROM_PROCS) ?
|
|
||||||
// (procExtra & PROC_EX_INTERNAL_TRIGGERED && !(procFlag & PROC_FLAG_DONE_TRAP_ACTIVATION)) : false;
|
|
||||||
|
|
||||||
bool hasTriggeredProc = false;
|
bool hasTriggeredProc = false;
|
||||||
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
|
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
|
||||||
{
|
{
|
||||||
@@ -17480,11 +17476,11 @@ bool Unit::IsTriggeredAtSpellProcEvent(Unit* victim, Aura* aura, WeaponAttackTyp
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Additional checks for triggered spells (ignore trap casts)
|
// Additional checks for triggered spells (ignore trap casts)
|
||||||
//if (procExtra & PROC_EX_INTERNAL_TRIGGERED && !(procFlag & PROC_FLAG_DONE_TRAP_ACTIVATION))
|
if (eventInfo.GetHitMask() & PROC_EX_INTERNAL_TRIGGERED && !(EventProcFlag & PROC_FLAG_DONE_TRAP_ACTIVATION))
|
||||||
//{
|
{
|
||||||
// if (!spellProto->HasAttribute(SPELL_ATTR3_CAN_PROC_TRIGGERED))
|
if (!spellProto->HasAttribute(SPELL_ATTR3_CAN_PROC_FROM_PROCS))
|
||||||
// return false;
|
return false;
|
||||||
//}
|
}
|
||||||
|
|
||||||
// Xinef: additional check for player auras - only player spells can trigger player proc auras
|
// Xinef: additional check for player auras - only player spells can trigger player proc auras
|
||||||
// Xinef: skip victim auras
|
// Xinef: skip victim auras
|
||||||
|
|||||||
@@ -4903,12 +4903,6 @@ void SpellMgr::LoadSpellInfoCorrections()
|
|||||||
spellInfo->AttributesEx7 |= SPELL_ATTR7_TREAT_AS_NPC_AOE;
|
spellInfo->AttributesEx7 |= SPELL_ATTR7_TREAT_AS_NPC_AOE;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Heal (Crystal Spire of Karabor)
|
|
||||||
ApplySpellFix({ 40972 }, [](SpellInfo* spellInfo)
|
|
||||||
{
|
|
||||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_CASTER_PROCS;
|
|
||||||
});
|
|
||||||
|
|
||||||
// Torch (Death Knights near the Chapel)
|
// Torch (Death Knights near the Chapel)
|
||||||
ApplySpellFix({ 52953 }, [](SpellInfo* spellInfo)
|
ApplySpellFix({ 52953 }, [](SpellInfo* spellInfo)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user