From 27e8f37294b97cff1a30f135ae49f9d5e195b8b2 Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Sat, 22 Oct 2022 21:56:19 -0700 Subject: [PATCH] fix: Bonding is only enabled on LBR+ (#1202) --- Projects/UOContent/Mobiles/BaseCreature.cs | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Projects/UOContent/Mobiles/BaseCreature.cs b/Projects/UOContent/Mobiles/BaseCreature.cs index 41a612f53..dee356a22 100644 --- a/Projects/UOContent/Mobiles/BaseCreature.cs +++ b/Projects/UOContent/Mobiles/BaseCreature.cs @@ -3821,8 +3821,23 @@ namespace Server.Mobiles public static void TeleportPets(Mobile master, Point3D loc, Map map, bool onlyBonded = false) { - using var queue = PooledRefQueue.Create(); + if (master is PlayerMobile pm) + { + for (var i = 0; i < pm.AllFollowers.Count; i++) + { + var m = pm.AllFollowers[i]; + if (master.InRange(m, 3) && m is BaseCreature + { Controlled: true, ControlOrder: OrderType.Guard or OrderType.Follow or OrderType.Come } pet && + pet.ControlMaster == master && (!onlyBonded || pet.IsBonded)) + { + m.MoveToWorld(loc, map); + } + } + return; + } + + using var queue = PooledRefQueue.Create(); var eable = master.GetMobilesInRange(3); foreach (var m in eable) { @@ -3833,7 +3848,6 @@ namespace Server.Mobiles queue.Enqueue(pet); } } - eable.Free(); while (queue.Count > 0) @@ -3982,7 +3996,7 @@ namespace Server.Mobiles public static void Configure() { - BondingEnabled = ServerConfiguration.GetOrUpdateSetting("taming.enableBonding", true); + BondingEnabled = ServerConfiguration.GetSetting("taming.enableBonding", Core.LBR); } public void BeginDeleteTimer()