fix: surface barber shop, NPC, and LFG autojoin errors in UIError overlay

Add addUIError() for remaining error-only chat-message cases:
- SMSG_BARBER_SHOP_RESULT non-zero result (not enough money, wrong
  location, must stand up)
- SMSG_NPC_WONT_TALK ("That creature can't talk to you right now")
- SMSG_LFG_AUTOJOIN_FAILED and SMSG_LFG_AUTOJOIN_FAILED_NO_PLAYER

Completes the UIError improvement pass: all server-reported failure
events now surface as the red on-screen overlay, not chat-only.
This commit is contained in:
Kelsi 2026-03-17 18:08:27 -07:00
parent 2d00f00261
commit 06ad676be1

View file

@ -4851,6 +4851,7 @@ void GameHandler::handlePacket(network::Packet& packet) {
: (result == 2) ? "You are not at a barber shop."
: (result == 3) ? "You must stand up to use the barber shop."
: "Barber shop unavailable.";
addUIError(msg);
addSystemChatMessage(msg);
}
LOG_DEBUG("SMSG_BARBER_SHOP_RESULT: result=", result);
@ -6250,12 +6251,14 @@ void GameHandler::handlePacket(network::Packet& packet) {
uint32_t result = packet.readUInt32();
(void)result;
}
addUIError("Dungeon Finder: Auto-join failed.");
addSystemChatMessage("Dungeon Finder: Auto-join failed.");
packet.setReadPos(packet.getSize());
break;
}
case Opcode::SMSG_LFG_AUTOJOIN_FAILED_NO_PLAYER:
// No eligible players found for auto-join
addUIError("Dungeon Finder: No players available for auto-join.");
addSystemChatMessage("Dungeon Finder: No players available for auto-join.");
packet.setReadPos(packet.getSize());
break;
@ -7513,6 +7516,7 @@ void GameHandler::handlePacket(network::Packet& packet) {
// ---- NPC not responding ----
case Opcode::SMSG_NPC_WONT_TALK:
addUIError("That creature can't talk to you right now.");
addSystemChatMessage("That creature can't talk to you right now.");
packet.setReadPos(packet.getSize());
break;