diff --git a/src/lang/english.txt b/src/lang/english.txt index b19ca8eebd..40171b9e31 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -2635,7 +2635,7 @@ STR_NETWORK_SERVER_MESSAGE_GAME_REASON_LINK_GRAPH :waiting for lin STR_NETWORK_MESSAGE_CLIENT_LEAVING :leaving STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {RAW_STRING} has joined the game STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {0:RAW_STRING} has joined the game (Client #{2:NUM}) -STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {0:RAW_STRING} has joined company #{2:NUM} +STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {RAW_STRING} has joined {RAW_STRING} STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {RAW_STRING} has joined spectators STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {0:RAW_STRING} has started a new company (#{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {0:RAW_STRING} has left the game ({2:STRING}) diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 82f46d340a..b0d00477b7 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -1997,11 +1997,18 @@ void NetworkServerDoMove(ClientID client_id, CompanyID company_id) cs->SendMove(client_id, company_id); } - /* announce the client's move */ + /* Announce the client's move. */ NetworkUpdateClientInfo(client_id); - NetworkAction action = (company_id == COMPANY_SPECTATOR) ? NETWORK_ACTION_COMPANY_SPECTATOR : NETWORK_ACTION_COMPANY_JOIN; - NetworkServerSendChat(action, DESTTYPE_BROADCAST, 0, "", client_id, company_id + 1); + if (company_id == COMPANY_SPECTATOR) { + /* The client has joined spectators. */ + NetworkServerSendChat(NETWORK_ACTION_COMPANY_SPECTATOR, DESTTYPE_BROADCAST, 0, "", client_id); + } else { + /* The client has joined another company. */ + SetDParam(0, company_id); + std::string company_name = GetString(STR_COMPANY_NAME); + NetworkServerSendChat(NETWORK_ACTION_COMPANY_JOIN, DESTTYPE_BROADCAST, 0, company_name, client_id); + } InvalidateWindowData(WC_CLIENT_LIST, 0); }