From adb79e8a4187176f7e5ac4eafc5b24a307d09a1c Mon Sep 17 00:00:00 2001 From: Martin Michelsen Date: Fri, 2 Feb 2024 18:48:45 -0800 Subject: [PATCH] add description of why the F0 command exists --- src/CommandFormats.hh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/CommandFormats.hh b/src/CommandFormats.hh index ca557e63..e2f1be88 100644 --- a/src/CommandFormats.hh +++ b/src/CommandFormats.hh @@ -3661,6 +3661,16 @@ struct S_SetShutdownCommand_BB_01EF { // overwrites the lobby data for the player given by .client_id without // reloading the game or lobby. +// This command probably exists to handle cases like the following: +// 1. Player A is in a team and is not the team master. Player A creates a game. +// 2. The master of the team changes to player B during this game. +// 3. Player B then joins the game that A is in. +// Some effects (e.g. Commander Blade) depend on the team master ID in the +// PlayerLobbyDataBB structure, and this is the only way to update that +// structure without reloading the lobby or game. If this command did not exist, +// then player A would not know that B was the master when they join the game, +// so A would not see the bonus from Commander Blade if B uses it. + // F1: Invalid command // F2: Invalid command // F3: Invalid command