From dbfef1ee879c51c853c2ea60bd431ba6f588d79d Mon Sep 17 00:00:00 2001 From: hondacrx Date: Fri, 24 Sep 2021 10:16:38 -0400 Subject: [PATCH] Core/Auras: Don't save liquid auras Port From (https://github.com/TrinityCore/TrinityCore/commit/2bea816bbec6ba9d50f7bd6725806e81c6cafaae) --- Source/Framework/Constants/Spells/SpellConst.cs | 2 +- Source/Game/Entities/Object/WorldObject.cs | 2 +- Source/Game/Movement/Generators/TargetMovement.cs | 1 - Source/Game/Spells/SpellManager.cs | 10 +++++++++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Source/Framework/Constants/Spells/SpellConst.cs b/Source/Framework/Constants/Spells/SpellConst.cs index efbe63059..ea0ecc125 100644 --- a/Source/Framework/Constants/Spells/SpellConst.cs +++ b/Source/Framework/Constants/Spells/SpellConst.cs @@ -2078,7 +2078,7 @@ namespace Framework.Constants NeedsAmmoData = 0x80000, BinarySpell = 0x100000, SchoolmaskNormalWithMagic = 0x200000, - LiquidAura = 0x400000, + DeprecatedLiquidAura = 0x400000, IsTalent = 0x800000, AuraCannotBeSaved = 0x1000000 } diff --git a/Source/Game/Entities/Object/WorldObject.cs b/Source/Game/Entities/Object/WorldObject.cs index 33ed21a49..0783690fc 100644 --- a/Source/Game/Entities/Object/WorldObject.cs +++ b/Source/Game/Entities/Object/WorldObject.cs @@ -3169,7 +3169,7 @@ namespace Game.Entities float hoverDelta = myHover - searcherHover; if (hoverDelta != 0.0f) - effectiveReach = MathF.Sqrt(effectiveReach * effectiveReach - hoverDelta * hoverDelta); + effectiveReach = MathF.Sqrt(Math.Max(effectiveReach * effectiveReach - hoverDelta * hoverDelta, 0.0f)); } } diff --git a/Source/Game/Movement/Generators/TargetMovement.cs b/Source/Game/Movement/Generators/TargetMovement.cs index 93acf0353..7c5254bc5 100644 --- a/Source/Game/Movement/Generators/TargetMovement.cs +++ b/Source/Game/Movement/Generators/TargetMovement.cs @@ -141,7 +141,6 @@ namespace Game.Movement float x, y, z; if (updateDestination || _path == null) { - float hoverDiff = Math.Abs(owner.GetHoverOffset() - GetTarget().GetHoverOffset()); if (_offset == 0) { if (GetTarget().IsWithinDistInMap(owner, SharedConst.ContactDistance)) diff --git a/Source/Game/Spells/SpellManager.cs b/Source/Game/Spells/SpellManager.cs index 25ca988a9..3198bc1a7 100644 --- a/Source/Game/Spells/SpellManager.cs +++ b/Source/Game/Spells/SpellManager.cs @@ -2905,7 +2905,15 @@ namespace Game.Entities spellInfo.AttributesCu &= ~SpellCustomAttributes.CanCrit; } - Log.outInfo(LogFilter.ServerLoading, "Loaded spell custom attributes in {0} ms", Time.GetMSTimeDiffToNow(oldMSTime)); + // add custom attribute to liquid auras + foreach (var liquid in CliDB.LiquidTypeStorage.Values) + { + if (liquid.SpellID != 0) + foreach (SpellInfo spellInfo in _GetSpellInfo(liquid.SpellID)) + spellInfo.AttributesCu |= SpellCustomAttributes.AuraCannotBeSaved; + } + + Log.outInfo(LogFilter.ServerLoading, "Loaded SpellInfo custom attributes in {0} ms", Time.GetMSTimeDiffToNow(oldMSTime)); } void ApplySpellFix(int[] spellIds, Action fix)