From 401df108b65202688d1efee0d875020ad7f3980b Mon Sep 17 00:00:00 2001 From: WarrentyExpired Date: Tue, 3 Nov 2026 14:10:22 -0500 Subject: [PATCH] #W# SoS's: If you have a sextant in your backpack the SoS will give you the X,Y location. --- Info/Ideas.txt | 16 +++++++-- Info/MyChanges.txt | 34 +++++++++++++++++-- .../Items/Skill Items/Fishing/Misc/SOS.cs | 27 +++++++++++---- 3 files changed, 64 insertions(+), 13 deletions(-) diff --git a/Info/Ideas.txt b/Info/Ideas.txt index 6e478f3ba..59eac468c 100644 --- a/Info/Ideas.txt +++ b/Info/Ideas.txt @@ -1,7 +1,17 @@ -Snack Pack - - Holds food and water - - Double click eats and drinks. +Items + - Snack Pack + - Holds food and water + - Double click eats and drinks. + - Miners Helmet + - Increases Ore amounts/upgrade node + - Sets max nightsight Scrolls - Item that raises your total skill cap by 1 up to 720 - Power scrolls but 1 point at a time. + +Night Sight + - Night sight levels 1-3 + Lesser, normal, greater + - Night sight increase trap detection + - Night sight increases chance to find more ore/upgrade ore node. diff --git a/Info/MyChanges.txt b/Info/MyChanges.txt index ed55a0b8e..5e64d0386 100644 --- a/Info/MyChanges.txt +++ b/Info/MyChanges.txt @@ -36,8 +36,9 @@ Command - [BuildWorld - Opens a new buldworld gump - [bandself - Applies a bandage to the player. Checks for bandages in the players pack also won't reapply if a bandage is already ticking. + - [Bounties - Opens a gump showing your current bounty process. Dungeon Crates/Bags - - Bags are always trapped. They have level 0-3 loot + - Bags are always trapped. They have level 1-3 loot - Chests are locked and trapped. They have level 4-6 loot ThiefPedestals - Require Snooping and Stealing to take the bag. They are random level 0-6. They are trapped. @@ -57,12 +58,39 @@ Settings.cs/ValidSettings.cs - There is a Settings.cs file that allows you to change some things. - The ValidSettings.cs sets hard limits for some of the settings. Bandages HoT/Healing active skill + - Bandages now if a small amount of hp over the druation of the bandage. + Doesn't cure poison. It subtracts that amount from the end total healed. + - Heal skill is now activatable. Instantly cure poison/bleed, but has a 15 second + skill timer lock. Bounty Board + - Towns now have a Bounty house, vendor, and bounty board. The board has different levels + of bounties depending on the players fame. Higher fame opens higher bounties. + - Players collect bounty coins that can be spent with the bounty vendor. Automount/Dismount -Stats that are collected from creation + - Players are automatically dismount and remounted when they enter certian regions. + Dungeons and Town businesses. +Stats that are collected from creation of the character + - Total gold looted + - Total Deaths + - Spendable Monster Kill points + - Lifetime total Monster Kill Points Food Changes + - 15+ hunger and thrirst give a small passive stat regen + - 5 and below a negative stat regen Exhaustion System + - Every 200 points of damage will lower your hunger/thirst by 1 Innate weapon abilities + - You need at least 50 in weaponskill and tactics to unlock your first innate ability. + - You need at least 100 in weaponskill and tactics to unlock the second innate ability. + - There is a 10% chance to activate the ability with a 5 second cooldown. + - Each weapon class as 2 abilities. Except wreslting. FarmSpawner + - Simple farm plot spawner. Makes setting up new farm land easier. + - Also you only need to walk over the crop to harvest it. Drops in players backpack Spinningwheel/Loom Changes -AUtoharvest Skills + - Spinning Wheels now process the entier stack of Cotton/Flax/Wool. + - Looms now process the entire stack of thread. +Autoharvest Skills + - Lumberjacking/Mining/Fishing now automatically harvest. No need to click target repeat +Fising + - SOS's will now display the X,Y location if the player has a sextant in thier backpack diff --git a/Projects/UOContent/Items/Skill Items/Fishing/Misc/SOS.cs b/Projects/UOContent/Items/Skill Items/Fishing/Misc/SOS.cs index 374fb21cd..c044c0e85 100644 --- a/Projects/UOContent/Items/Skill Items/Fishing/Misc/SOS.cs +++ b/Projects/UOContent/Items/Skill Items/Fishing/Misc/SOS.cs @@ -10,7 +10,7 @@ public partial class SOS : Item { // We can only speculate, but I lack of support for non-ascii arguments in localized html gumps is why this wasn't used. // By default let's use the old gump, because we can. - private static bool UseNewMessages = false; + private static bool UseNewMessages = true; private static Rectangle2D[] BritRegions = { new(0, 0, 5120, 4096) }; @@ -200,18 +200,31 @@ public partial class SOS : Item return; } - int xLong = 0, yLat = 0; - int xMins = 0, yMins = 0; - bool xEast = false, ySouth = false; string fmt; - if (Sextant.Format(loc, map, ref xLong, ref yLat, ref xMins, ref yMins, ref xEast, ref ySouth)) + // Check if the player has a Sextant anywhere in their backpack + bool hasSextant = from.Backpack != null && from.Backpack.FindItemByType(typeof(Sextant)) != null; + + if (hasSextant) { - fmt = $"{yLat}° {yMins}'{(ySouth ? "S" : "N")}, {xLong}°{xMins}'{(xEast ? "E" : "W")}"; + // Player has a sextant: give exact X, Y coordinates + fmt = $"X: {loc.X}, Y: {loc.Y}"; } else { - fmt = "?????"; + // No sextant: default to the cryptic degree format + int xLong = 0, yLat = 0; + int xMins = 0, yMins = 0; + bool xEast = false, ySouth = false; + + if (Sextant.Format(loc, map, ref xLong, ref yLat, ref xMins, ref yMins, ref xEast, ref ySouth)) + { + fmt = $"{yLat}° {yMins}'{(ySouth ? "S" : "N")}, {xLong}°{xMins}'{(xEast ? "E" : "W")}"; + } + else + { + fmt = "?????"; + } } from.SendGump(new MessageGump(fmt));