Deal items on ready, /pvp, and calmer rival windows

- Readying in a countdown deals any empty slots at random right away,
  and the countdown reads "Starting..." once everyone is ready.
- /pvp toggles PvP in the sandbox, offline or in a lobby.
- Rival windows sit at half opacity (half again when knocked out, and
  when hovered), show no item tooltips, and drop to small icons past
  two full-size rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shweetandClaude Opus 5.5 committed 2026-11-08 16:57:11 -05:00
1 parent 6f112ab231
commit 5d6ebf2bba
5 files changed
+77 -68

No files matched your search

+10
View File
@@ -238,8 +238,18 @@ void Chat::command(Game& game, const std::string& text)
system("/color <colour>: Changes your colour. Colours: Red, Blue, Yellow, Green, Orange, Purple, Cyan, Pink, "
"Lime, Teal, Magenta, Sky, Peach, Lavender, Brown, Silver.");
system("/kick \"<player>\" \"<reason>\": Removes a player from the lobby (host only).");
system("/pvp: Turns PvP on or off in the sandbox.");
return;
}
if (name == "/pvp")
{
if (game.sim.match.state != MATCH_PRACTICE)
return system("PvP can only be changed in the sandbox.");
// Sent through this screen's controls like the menu's toggle, so every machine sees it on the same tick.
bool isPvp = !game.local_get().isPvp;
game.input.edit_send(game.devices[game.local], edit_encode({.type = EDIT_PVP, .value = isPvp}));
return system(isPvp ? "PvP is now on." : "PvP is now off.");
}
if (name == "/kick")
{
if (words.size() < 2)