Core/Spells: Implemented caster-is-moving aoe radius bonus and SPELL_ATTR9_NO_MOVEMENT_RADIUS_BONUS

Port From (https://github.com/TrinityCore/TrinityCore/commit/321f3cc4a7a59874c73ab82d57c2f1c76a820396)
This commit is contained in:
Hondacrx
2024-08-31 17:41:27 -04:00
parent b4c955379f
commit a964b9c7f8
2 changed files with 6 additions and 2 deletions
@@ -1995,8 +1995,8 @@ namespace Framework.Constants
ItemPassiveOnClient = 0x4000000, // Item Passive On Client
ForceCorpseTarget = 0x8000000, // Causes the spell to continue executing effects on the target even if one of them kills it
CannotKillTarget = 0x10000000, // Cannot Kill Target
Unk29 = 0x20000000, // 29
Unk30 = 0x40000000, // 30
LogPassive = 0x20000000, // Allows passive auras to trigger aura applied/refreshed/removed combat log events
NoMovementRadiusBonus = 0x40000000, // No Movement Radius Bonus
Unk31 = 0x80000000 // 31
}
public enum SpellAttr10 : uint
+4
View File
@@ -4273,6 +4273,10 @@ namespace Game.Spells
Player modOwner = caster.GetSpellModOwner();
if (modOwner != null)
modOwner.ApplySpellMod(_spellInfo, SpellModOp.Radius, ref radius, spell);
if (!_spellInfo.HasAttribute(SpellAttr9.NoMovementRadiusBonus))
if (casterUnit != null && casterUnit.IsMoving() && !casterUnit.IsWalking())
radius += 2.0f;
}
return radius;