From e80275283647c4821b5e679c35621ccfeac72383 Mon Sep 17 00:00:00 2001 From: James Osborne Date: Sun, 7 Jun 2026 18:10:45 -0400 Subject: [PATCH] Clarify Brutal Peeps room join warnings --- src/ReceiveCommands.cc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/ReceiveCommands.cc b/src/ReceiveCommands.cc index ff3070df..79aeeb8e 100644 --- a/src/ReceiveCommands.cc +++ b/src/ReceiveCommands.cc @@ -3670,6 +3670,27 @@ static void on_joinable_quest_loaded(std::shared_ptr c) { leader_c->expected_game_state_sync_commands.emplace(0x6C00 | (c->lobby_client_id)); leader_c->expected_game_state_sync_commands.emplace(0x6D00 | (c->lobby_client_id)); leader_c->expected_game_state_sync_commands.emplace(0x6E00 | (c->lobby_client_id)); + if (((c->version() == Version::BB_V4) || (c->version() == Version::PC_V2)) && l->is_game()) { + const int8_t room_brutal_peeps_tier = l->brutal_peeps_tier; + const int8_t client_brutal_peeps_tier = c->selected_brutal_peeps_tier; + + if ((room_brutal_peeps_tier >= 1) && (client_brutal_peeps_tier != room_brutal_peeps_tier)) { + send_message_box(c, std::format( + "$C6Must have Brutal Peeps +{} selected\nto join this room.\n\n" + "$C7Use Transfer Ship and select\nBrutal Peeps +{} first.", + static_cast(room_brutal_peeps_tier), + static_cast(room_brutal_peeps_tier))); + return; + } + + if ((room_brutal_peeps_tier < 1) && (client_brutal_peeps_tier >= 1)) { + send_message_box(c, + "$C6Disable Brutal Peeps before\njoining a normal room.\n\n" + "$C7Use Transfer Ship and select\nGo to lobby first."); + return; + } + } + c->log.info_f("Creating game join command queue"); c->game_join_command_queue = std::make_unique>(); } else {