|
@@ -385,13 +385,13 @@ static void PlayersCheckBankrupt(Player
|
|
|
AddNewsItem( (StringID)(owner + 16),
|
|
|
NEWS_FLAGS(NM_CALLBACK, 0, NT_COMPANY_INFO, DNC_BANKRUPCY),0,0);
|
|
|
break;
|
|
|
case 3: {
|
|
|
/* XXX - In multiplayer, should we ask other players if it wants to take
|
|
|
over when it is a human company? -- TrueLight */
|
|
|
if (IS_HUMAN_PLAYER(owner)) {
|
|
|
if (IsHumanPlayer(owner)) {
|
|
|
AddNewsItem( (StringID)(owner + 16),
|
|
|
NEWS_FLAGS(NM_CALLBACK, 0, NT_COMPANY_INFO, DNC_BANKRUPCY),0,0);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
// Check if the company has any value.. if not, declare it bankrupt
|
|
@@ -412,18 +412,18 @@ static void PlayersCheckBankrupt(Player
|
|
|
// Show bankrupt news
|
|
|
SetDParam(0, p->name_1);
|
|
|
SetDParam(1, p->name_2);
|
|
|
AddNewsItem( (StringID)(owner + 16*3), NEWS_FLAGS(NM_CALLBACK, 0, NT_COMPANY_INFO, DNC_BANKRUPCY),0,0);
|
|
|
|
|
|
// If the player is human, and it is no network play, leave the player playing
|
|
|
if (IS_HUMAN_PLAYER(owner) && !_networking) {
|
|
|
if (IsHumanPlayer(owner) && !_networking) {
|
|
|
p->bankrupt_asked = 255;
|
|
|
p->bankrupt_timeout = 0x456;
|
|
|
} else {
|
|
|
#ifdef ENABLE_NETWORK
|
|
|
if (IS_HUMAN_PLAYER(owner) && _network_server) {
|
|
|
if (IsHumanPlayer(owner) && _network_server) {
|
|
|
// If we are the server, make sure it is clear that his player is no
|
|
|
// longer with us!
|
|
|
NetworkClientInfo *ci;
|
|
|
NetworkClientState *cs;
|
|
|
/* Find all clients that were in control of this company */
|
|
|
FOR_ALL_CLIENTS(cs) {
|
|
@@ -433,26 +433,26 @@ static void PlayersCheckBankrupt(Player
|
|
|
// Send the new info to all the clients
|
|
|
NetworkUpdateClientInfo(_network_own_client_index);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
// Make sure the player no longer controls the company
|
|
|
if (IS_HUMAN_PLAYER(owner) && owner == _local_player) {
|
|
|
if (IsHumanPlayer(owner) && owner == _local_player) {
|
|
|
// Switch the player to spectator..
|
|
|
_local_player = OWNER_SPECTATOR;
|
|
|
}
|
|
|
#endif /* ENABLE_NETWORK */
|
|
|
|
|
|
/* Remove the player */
|
|
|
ChangeOwnershipOfPlayerItems(owner, OWNER_SPECTATOR);
|
|
|
// Register the player as not-active
|
|
|
p->is_active = false;
|
|
|
|
|
|
if (!IS_HUMAN_PLAYER(owner) && (!_networking || _network_server) && _ai.enabled)
|
|
|
if (!IsHumanPlayer(owner) && (!_networking || _network_server) && _ai.enabled)
|
|
|
AI_PlayerDied(owner);
|
|
|
if (IS_HUMAN_PLAYER(owner) && owner == _local_player && _ai.network_client)
|
|
|
if (IsHumanPlayer(owner) && owner == _local_player && _ai.network_client)
|
|
|
AI_PlayerDied(owner);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|