From b759f6204f3f1149323a3d5892681eb8b4749974 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Wed, 13 Oct 2021 18:12:24 -0400 Subject: [PATCH] Fixes npc not chasing, Also fixes auras not being applied. --- Source/Game/Movement/Generators/ChaseMovementGenerator.cs | 2 +- Source/Game/Spells/Auras/Aura.cs | 2 +- Source/Game/Spells/Spell.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/Game/Movement/Generators/ChaseMovementGenerator.cs b/Source/Game/Movement/Generators/ChaseMovementGenerator.cs index 717f81a0e..17b882ed9 100644 --- a/Source/Game/Movement/Generators/ChaseMovementGenerator.cs +++ b/Source/Game/Movement/Generators/ChaseMovementGenerator.cs @@ -126,7 +126,7 @@ namespace Game.Movement // if the target moved, we have to consider whether to adjust if (_lastTargetPosition != target.GetPosition() || mutualChase != _mutualChase) { - _lastTargetPosition = target.GetPosition(); + _lastTargetPosition.Relocate(target.GetPosition()); _mutualChase = mutualChase; if (owner.HasUnitState(UnitState.ChaseMove) || !PositionOkay(owner, target, minRange, maxRange, angle)) { diff --git a/Source/Game/Spells/Auras/Aura.cs b/Source/Game/Spells/Auras/Aura.cs index 8e00c2ce5..d13e44544 100644 --- a/Source/Game/Spells/Auras/Aura.cs +++ b/Source/Game/Spells/Auras/Aura.cs @@ -2736,7 +2736,7 @@ namespace Game.Spells // only valid for non-area auras foreach (var spellEffectInfo in GetSpellInfo().GetEffects()) { - if ((effMask & (1u << (int)spellEffectInfo.EffectIndex)) != 0 && spellEffectInfo.IsEffect(SpellEffectName.ApplyAura)) + if ((effMask & (1u << (int)spellEffectInfo.EffectIndex)) != 0 && !spellEffectInfo.IsEffect(SpellEffectName.ApplyAura)) effMask &= ~(1u << (int)spellEffectInfo.EffectIndex); } diff --git a/Source/Game/Spells/Spell.cs b/Source/Game/Spells/Spell.cs index 9992492dc..5271f1969 100644 --- a/Source/Game/Spells/Spell.cs +++ b/Source/Game/Spells/Spell.cs @@ -2050,7 +2050,7 @@ namespace Game.Spells if (!m_spellValue.Duration.HasValue) { - hitInfo.AuraDuration *= caster.ModSpellDuration(m_spellInfo, unit, hitInfo.AuraDuration, hitInfo.Positive, spellAura.GetEffectMask()); + hitInfo.AuraDuration = caster.ModSpellDuration(m_spellInfo, unit, hitInfo.AuraDuration, hitInfo.Positive, spellAura.GetEffectMask()); if (hitInfo.AuraDuration > 0) {