From 8411c39eafa7074382457213abb6fb0ef3d2a8fd Mon Sep 17 00:00:00 2001 From: Kelsi Date: Tue, 17 Mar 2026 17:48:04 -0700 Subject: [PATCH] fix: surface rename/stable/durability loss errors in UIError overlay - SMSG_CHAR_RENAME error: "Rename failed: [reason]" shown as UIError - SMSG_STABLE_RESULT failure (0x09): stable error shown as UIError - SMSG_DURABILITY_DAMAGE_DEATH: durability loss % shown as UIError overlay --- src/game/game_handler.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 7f61edf7..b594c8e8 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -2372,7 +2372,8 @@ void GameHandler::handlePacket(network::Packet& packet) { case 0x06: msg = "Pet retrieved from stable."; break; case 0x07: msg = "Stable slot purchased."; break; case 0x08: msg = "Stable list updated."; break; - case 0x09: msg = "Stable failed: not enough money or other error."; break; + case 0x09: msg = "Stable failed: not enough money or other error."; + addUIError(msg); break; default: break; } if (msg) addSystemChatMessage(msg); @@ -2528,8 +2529,10 @@ void GameHandler::handlePacket(network::Packet& packet) { "Character name does not meet requirements.", // 7 }; const char* errMsg = (result < 8) ? kRenameErrors[result] : nullptr; - addSystemChatMessage(errMsg ? std::string("Rename failed: ") + errMsg - : "Character rename failed."); + std::string renameErr = errMsg ? std::string("Rename failed: ") + errMsg + : "Character rename failed."; + addUIError(renameErr); + addSystemChatMessage(renameErr); } LOG_INFO("SMSG_CHAR_RENAME: result=", result, " newName=", newName); } @@ -3558,6 +3561,7 @@ void GameHandler::handlePacket(network::Packet& packet) { char buf[80]; std::snprintf(buf, sizeof(buf), "You have lost %u%% of your gear's durability due to death.", pct); + addUIError(buf); addSystemChatMessage(buf); } break;