diff --git a/Source/Game/Entities/Unit/Unit.Spells.cs b/Source/Game/Entities/Unit/Unit.Spells.cs index 085fe29c3..1e127f9f7 100644 --- a/Source/Game/Entities/Unit/Unit.Spells.cs +++ b/Source/Game/Entities/Unit/Unit.Spells.cs @@ -1859,8 +1859,26 @@ namespace Game.Entities ProcEventInfo myProcEventInfo = new ProcEventInfo(this, actionTarget, actionTarget, typeMaskActor, spellTypeMask, spellPhaseMask, hitMask, spell, damageInfo, healInfo); List> myAurasTriggeringProc = new List>(); if (typeMaskActor != 0 && CanProc()) + { GetProcAurasTriggeredOnEvent(myAurasTriggeringProc, myProcAuras, myProcEventInfo); + // needed for example for Cobra Strikes, pet does the attack, but aura is on owner + Player modOwner = GetSpellModOwner(); + if (modOwner) + { + if (modOwner != this && spell) + { + List modAuras = new List(); + foreach (var itr in modOwner.GetAppliedAuras()) + { + if (spell.m_appliedMods.Contains(itr.Value.GetBase())) + modAuras.Add(itr.Value); + } + modOwner.GetProcAurasTriggeredOnEvent(myAurasTriggeringProc, modAuras, myProcEventInfo); + } + } + } + // prepare data for target trigger ProcEventInfo targetProcEventInfo = new ProcEventInfo(this, actionTarget, this, typeMaskActionTarget, spellTypeMask, spellPhaseMask, hitMask, spell, damageInfo, healInfo); List> targetAurasTriggeringProc = new List>();