From c0948fd0e2cc4278867fa4ec3848362bed2d8f89 Mon Sep 17 00:00:00 2001 From: Felipe Maya Muniz <67922105+gnai-creator@users.noreply.github.com> Date: Mon, 7 Jul 2025 00:15:50 -0300 Subject: [PATCH] feat: Adds ClearXY command (#2229) --- Projects/UOContent/Commands/ClearCommands.cs | 51 ++++++++++++++++++- docs/commands/commands.7z | Bin 12498 -> 12531 bytes 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/Projects/UOContent/Commands/ClearCommands.cs b/Projects/UOContent/Commands/ClearCommands.cs index 42fd9d21e..c509e3981 100644 --- a/Projects/UOContent/Commands/ClearCommands.cs +++ b/Projects/UOContent/Commands/ClearCommands.cs @@ -11,6 +11,7 @@ public static class ClearCommands { CommandSystem.Register("ClearFacet", AccessLevel.Owner, ClearFacet_OnCommand); CommandSystem.Register("ClearAll", AccessLevel.Owner, ClearAll_OnCommand); + CommandSystem.Register("ClearXY", AccessLevel.Owner, ClearXY_OnCommand); } [Usage("ClearFacet")] @@ -24,8 +25,8 @@ public static class ClearCommands DeleteObjects(list, from, map.Name); } - [Usage( "ClearAll" )] - [Description( "Deletes all items and mobiles in all facets. Players and their inventory will not be deleted." )] + [Usage("ClearAll")] + [Description("Deletes all items and mobiles in all facets. Players and their inventory will not be deleted.")] public static void ClearAll_OnCommand(CommandEventArgs e) { var from = e.Mobile; @@ -34,6 +35,52 @@ public static class ClearCommands DeleteObjects(list, from, "globally"); } + [Usage("ClearXY x1 y1 x2 y2")] + [Description("Deletes all items and mobiles in the specified rectangular area on your facet. Players and their inventory will not be deleted.")] + public static void ClearXY_OnCommand(CommandEventArgs e) + { + if (e.Arguments.Length != 4 + || !int.TryParse(e.Arguments[0], out var x1) + || !int.TryParse(e.Arguments[1], out var y1) + || !int.TryParse(e.Arguments[2], out var x2) + || !int.TryParse(e.Arguments[3], out var y2)) + { + e.Mobile.SendMessage("Format: ClearXY x1 y1 x2 y2"); + return; + } + + var from = e.Mobile; + var map = from.Map; + + if (x2 < x1) + { + (x1, x2) = (x2, x1); + } + + if (y2 < y1) + { + (y1, y2) = (y2, y1); + } + + var rect = new Rectangle2D(x1, y1, x2 - x1 + 1, y2 - y1 + 1); + List list = []; + + foreach (var item in map.GetItemsInBounds(rect)) + { + list.Add(item); + } + + foreach (var mob in map.GetMobilesInBounds(rect)) + { + if (!mob.Player) + { + list.Add(mob); + } + } + + DeleteObjects(list, from, $"({x1}, {y1}) to ({x2}, {y2}) in {map.Name}"); + } + private static List GetObjects(Predicate predicate = null) { List list = []; diff --git a/docs/commands/commands.7z b/docs/commands/commands.7z index 6597b7832dec5c20d9e7267513bb02db730bb83d..0da10ed6dbbce289bc2c1f848a1a9f7b51288213 100644 GIT binary patch delta 10192 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 K03ZMW0001sO2iTX delta 10158 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�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