From d625ea5ba49c8a71b7e19ff54e56640e2881606a Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Mon, 9 Feb 2026 14:35:07 -0800 Subject: [PATCH] fix: Fixes punching while pacified (#2332) --- Projects/UOContent/Mobiles/AI/BaseAI/BaseAI.cs | 7 ++++++- Projects/UOContent/Mobiles/BaseCreature.cs | 8 +++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Projects/UOContent/Mobiles/AI/BaseAI/BaseAI.cs b/Projects/UOContent/Mobiles/AI/BaseAI/BaseAI.cs index 0820c2e46..be7aba588 100644 --- a/Projects/UOContent/Mobiles/AI/BaseAI/BaseAI.cs +++ b/Projects/UOContent/Mobiles/AI/BaseAI/BaseAI.cs @@ -444,7 +444,7 @@ public abstract partial class BaseAI DebugSay("No threats found. Going home..."); Action = ActionType.Wander; } - + DebugSay("I stopped being on guard."); Action = ActionType.Wander; @@ -600,6 +600,11 @@ public abstract partial class BaseAI return false; } + if (Mobile.BardPacified) + { + return false; + } + if (HandleBardProvoked() || HandleControlled() || HandleConstantFocus()) { return true; diff --git a/Projects/UOContent/Mobiles/BaseCreature.cs b/Projects/UOContent/Mobiles/BaseCreature.cs index 8138d497a..c1a21616c 100644 --- a/Projects/UOContent/Mobiles/BaseCreature.cs +++ b/Projects/UOContent/Mobiles/BaseCreature.cs @@ -2765,7 +2765,7 @@ namespace Server.Mobiles public override void OnMovement(Mobile m, Point3D oldLocation) { - if (AcquireOnApproach && !Controlled && !Summoned && FightMode != FightMode.Aggressor) + if (AcquireOnApproach && !Controlled && !Summoned && !BardPacified && FightMode != FightMode.Aggressor) { if (InRange(m.Location, AcquireOnApproachRange) && !InRange(oldLocation, AcquireOnApproachRange) && CanBeHarmful(m) && IsEnemy(m)) @@ -2780,13 +2780,11 @@ namespace Server.Mobiles ForceReacquire(); } - var speechType = SpeechType; - - speechType?.OnMovement(this, m, oldLocation); + SpeechType?.OnMovement(this, m, oldLocation); /* Begin notice sound */ if ((!m.Hidden || m.AccessLevel == AccessLevel.Player) && m.Player && FightMode != FightMode.Aggressor && - FightMode != FightMode.None && Combatant == null && !Controlled && !Summoned && + FightMode != FightMode.None && Combatant == null && !Controlled && !Summoned && !BardPacified && InRange(m.Location, 18) && !InRange(oldLocation, 18)) { if (Body.IsMonster)