mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-21 07:22:02 -04:00
Core/Spell: restore old proc system behaviour on auras self proc.
- Use Spell::m_triggeredByAuraSpell and compare against trigger aura, it requires scripts to set triggeredByAura parameter.
- Fixed existing scripts lacking it
DB/Spell: Anger Capacitor (Tiny Abomination in a Jar) proc
Closes #18269
(cherry picked from commit 5b56c94e6d)
# Conflicts:
# src/server/game/Entities/Unit/Unit.cpp
# src/server/game/Spells/Auras/SpellAuras.cpp
# src/server/game/Spells/Spell.cpp
# src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
# src/server/scripts/Pet/pet_hunter.cpp
# src/server/scripts/Spells/spell_dk.cpp
# src/server/scripts/Spells/spell_druid.cpp
# src/server/scripts/Spells/spell_hunter.cpp
# src/server/scripts/Spells/spell_item.cpp
# src/server/scripts/Spells/spell_mage.cpp
# src/server/scripts/Spells/spell_paladin.cpp
# src/server/scripts/Spells/spell_priest.cpp
# src/server/scripts/Spells/spell_rogue.cpp
# src/server/scripts/Spells/spell_shaman.cpp
# src/server/scripts/Spells/spell_warlock.cpp
# src/server/scripts/Spells/spell_warrior.cpp
This commit is contained in:
@@ -5048,10 +5048,10 @@ void Unit::SendSpellNonMeleeDamageLog(SpellNonMeleeDamage const* log)
|
||||
void Unit::ProcSkillsAndAuras(Unit* actionTarget, uint32 typeMaskActor, uint32 typeMaskActionTarget, uint32 spellTypeMask, uint32 spellPhaseMask, uint32 hitMask, Spell* spell, DamageInfo* damageInfo, HealInfo* healInfo)
|
||||
{
|
||||
WeaponAttackType attType = damageInfo ? damageInfo->GetAttackType() : BASE_ATTACK;
|
||||
if (typeMaskActor && CanProc())
|
||||
if (typeMaskActor)
|
||||
ProcSkillsAndReactives(false, actionTarget, typeMaskActor, hitMask, attType);
|
||||
|
||||
if (typeMaskActionTarget && actionTarget && actionTarget->CanProc())
|
||||
if (typeMaskActionTarget && actionTarget)
|
||||
actionTarget->ProcSkillsAndReactives(true, this, typeMaskActionTarget, hitMask, attType);
|
||||
|
||||
TriggerAurasProcOnEvent(nullptr, nullptr, actionTarget, typeMaskActor, typeMaskActionTarget, spellTypeMask, spellPhaseMask, hitMask, spell, damageInfo, healInfo);
|
||||
@@ -10156,7 +10156,7 @@ void Unit::TriggerAurasProcOnEvent(AuraApplicationList* myProcAuras, AuraApplica
|
||||
// prepare data for self trigger
|
||||
ProcEventInfo myProcEventInfo(this, actionTarget, actionTarget, typeMaskActor, spellTypeMask, spellPhaseMask, hitMask, spell, damageInfo, healInfo);
|
||||
AuraApplicationProcContainer myAurasTriggeringProc;
|
||||
if (typeMaskActor && CanProc())
|
||||
if (typeMaskActor)
|
||||
{
|
||||
GetProcAurasTriggeredOnEvent(myAurasTriggeringProc, myProcAuras, myProcEventInfo);
|
||||
|
||||
@@ -10179,7 +10179,7 @@ void Unit::TriggerAurasProcOnEvent(AuraApplicationList* myProcAuras, AuraApplica
|
||||
// prepare data for target trigger
|
||||
ProcEventInfo targetProcEventInfo(this, actionTarget, this, typeMaskActionTarget, spellTypeMask, spellPhaseMask, hitMask, spell, damageInfo, healInfo);
|
||||
AuraApplicationProcContainer targetAurasTriggeringProc;
|
||||
if (typeMaskActionTarget && actionTarget && actionTarget->CanProc())
|
||||
if (typeMaskActionTarget && actionTarget)
|
||||
actionTarget->GetProcAurasTriggeredOnEvent(targetAurasTriggeringProc, targetProcAuras, targetProcEventInfo);
|
||||
|
||||
TriggerAurasProcOnEvent(myProcEventInfo, myAurasTriggeringProc);
|
||||
|
||||
Reference in New Issue
Block a user