Core/Auras: Implemented ProcFlags2

Port From (https://github.com/TrinityCore/TrinityCore/commit/7ff411013c9f6394161dbfdc07b3f3827b1de17f)
This commit is contained in:
hondacrx
2022-05-07 15:05:30 -04:00
parent cf15d538cc
commit e1e8027159
4 changed files with 18 additions and 2 deletions
+13 -1
View File
@@ -797,8 +797,20 @@ namespace Game.Entities
}
if (!victim.IsCritter())
{
ProcSkillsAndAuras(attacker, victim, new ProcFlagsInit(ProcFlags.Kill), new ProcFlagsInit(ProcFlags.Killed), ProcFlagsSpellType.MaskAll, ProcFlagsSpellPhase.None, ProcFlagsHit.None, null, null, null);
if (player != null && player.GetGroup() != null)
{
for (GroupReference itr = player.GetGroup().GetFirstMember(); itr != null; itr = itr.Next())
{
Player member = itr.GetSource();
if (member != null)
if (member.IsAtGroupRewardDistance(victim))
Unit.ProcSkillsAndAuras(member, victim, new ProcFlagsInit(ProcFlags.None, ProcFlags2.TargetDies), new ProcFlagsInit(ProcFlags.None), ProcFlagsSpellType.MaskAll, ProcFlagsSpellPhase.None, ProcFlagsHit.None, null, null, null);
}
}
}
// Proc auras on death - must be before aura/combat remove
ProcSkillsAndAuras(victim, victim, new ProcFlagsInit(ProcFlags.None), new ProcFlagsInit(ProcFlags.Death), ProcFlagsSpellType.MaskAll, ProcFlagsSpellPhase.None, ProcFlagsHit.None, null, null, null);
+2
View File
@@ -2891,6 +2891,8 @@ namespace Game.Spells
procAttacker = new ProcFlagsInit(IsPositive() ? ProcFlags.DoneSpellNoneDmgClassPos : ProcFlags.DoneSpellNoneDmgClassNeg);
}
procAttacker.Or(ProcFlags2.CastSuccessful);
ProcFlagsHit hitMask = m_hitMask;
if (!hitMask.HasAnyFlag(ProcFlagsHit.Critical))
hitMask |= ProcFlagsHit.Normal;
+2
View File
@@ -3853,6 +3853,8 @@ namespace Game.Spells
origin = new(m_caster.GetPosition());
unitTarget.KnockbackFrom(origin, speedxy, speedz);
Unit.ProcSkillsAndAuras(GetUnitCasterForEffectHandlers(), unitTarget, new ProcFlagsInit(ProcFlags.None), new ProcFlagsInit(ProcFlags.None, ProcFlags2.Knockback), ProcFlagsSpellType.MaskAll, ProcFlagsSpellPhase.Hit, ProcFlagsHit.None, null, null, null);
}
[SpellEffectHandler(SpellEffectName.LeapBack)]
+1 -1
View File
@@ -203,7 +203,7 @@ namespace Scripts.Spells.Rogue
continue;
// Do not reproc deadly
if (spellInfo.SpellFamilyFlags == new FlagArray128(0x10000, 0x80000, 0, 0))
if (spellInfo.SpellFamilyFlags & new FlagArray128(0x10000))
continue;
if (spellInfo.IsPositive())