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) {