Core/Spells: Implemented SPELL_ATTR6_NO_PUSHBACK
Port From (https://github.com/TrinityCore/TrinityCore/commit/50eff8c23828e4aa8dcce6c5f3ffdfa4e0cf7baa)
This commit is contained in:
@@ -1807,7 +1807,7 @@ namespace Framework.Constants
|
|||||||
AllowWhileRidingVehicle = 0x1000, // Allow While Riding Vehicle
|
AllowWhileRidingVehicle = 0x1000, // Allow While Riding Vehicle
|
||||||
IgnorePhaseShift = 0x2000, // Ignore Phase Shift
|
IgnorePhaseShift = 0x2000, // Ignore Phase Shift
|
||||||
AiPrimaryRangedAttack = 0x4000, /*Nyi*/ // Ai Primary Ranged Attack
|
AiPrimaryRangedAttack = 0x4000, /*Nyi*/ // Ai Primary Ranged Attack
|
||||||
NoPushback = 0x8000, /*Nyi*/ // No Pushback
|
NoPushback = 0x8000, // No Pushback
|
||||||
NoJumpPathing = 0x10000, /*Nyi*/ // No Jump Pathing
|
NoJumpPathing = 0x10000, /*Nyi*/ // No Jump Pathing
|
||||||
AllowEquipWhileCasting = 0x20000, // Allow Equip While Casting
|
AllowEquipWhileCasting = 0x20000, // Allow Equip While Casting
|
||||||
OriginateFromController = 0x40000, // Originate From Controller Description Client Will Prevent Casting If Not Possessed, Charmer Will Be Caster For All Intents And Purposes
|
OriginateFromController = 0x40000, // Originate From Controller Description Client Will Prevent Casting If Not Possessed, Charmer Will Be Caster For All Intents And Purposes
|
||||||
|
|||||||
@@ -2682,7 +2682,7 @@ namespace Game.Entities
|
|||||||
|
|
||||||
if (damagetype != DamageEffectType.NoDamage && damagetype != DamageEffectType.DOT)
|
if (damagetype != DamageEffectType.NoDamage && damagetype != DamageEffectType.DOT)
|
||||||
{
|
{
|
||||||
if (victim != attacker && (spellProto == null || !(spellProto.HasAttribute(SpellAttr7.NoPushbackOnDamage) || spellProto.HasAttribute(SpellAttr3.TreatAsPeriodic))))
|
if (victim != attacker && (spellProto == null || !(spellProto.HasAttribute(SpellAttr6.NoPushback) || spellProto.HasAttribute(SpellAttr7.NoPushbackOnDamage) || spellProto.HasAttribute(SpellAttr3.TreatAsPeriodic))))
|
||||||
{
|
{
|
||||||
Spell spell = victim.GetCurrentSpell(CurrentSpellTypes.Generic);
|
Spell spell = victim.GetCurrentSpell(CurrentSpellTypes.Generic);
|
||||||
if (spell != null)
|
if (spell != null)
|
||||||
@@ -2723,6 +2723,7 @@ namespace Game.Entities
|
|||||||
spell.Delayed();
|
spell.Delayed();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (damage != 0 && victim.IsPlayer())
|
if (damage != 0 && victim.IsPlayer())
|
||||||
{
|
{
|
||||||
@@ -2731,8 +2732,6 @@ namespace Game.Entities
|
|||||||
if (spell1.GetState() == SpellState.Casting && spell1.m_spellInfo.HasChannelInterruptFlag(SpellAuraInterruptFlags.DamageChannelDuration))
|
if (spell1.GetState() == SpellState.Casting && spell1.m_spellInfo.HasChannelInterruptFlag(SpellAuraInterruptFlags.DamageChannelDuration))
|
||||||
spell1.DelayedChannel();
|
spell1.DelayedChannel();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// last damage from duel opponent
|
// last damage from duel opponent
|
||||||
|
|||||||
Reference in New Issue
Block a user