mirror of https://github.com/OpenTTD/OpenTTD
(svn r9541) -Codechange: Safeguard the company-buying routines so that the buying player and the bought player need to be two different entities
parent
e3f1914de0
commit
191ea4b1ba
|
@ -255,6 +255,8 @@ void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player)
|
||||||
Town *t;
|
Town *t;
|
||||||
PlayerID old = _current_player;
|
PlayerID old = _current_player;
|
||||||
|
|
||||||
|
assert(old_player != new_player);
|
||||||
|
|
||||||
{
|
{
|
||||||
Player *p;
|
Player *p;
|
||||||
uint i;
|
uint i;
|
||||||
|
@ -1774,12 +1776,16 @@ int32 CmdSellShareInCompany(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||||
int32 CmdBuyCompany(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
int32 CmdBuyCompany(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||||
{
|
{
|
||||||
Player *p;
|
Player *p;
|
||||||
|
PlayerID pid = (PlayerID)p1;
|
||||||
|
|
||||||
/* Disable takeovers in multiplayer games */
|
/* Disable takeovers in multiplayer games */
|
||||||
if (!IsValidPlayer((PlayerID)p1) || _networking) return CMD_ERROR;
|
if (!IsValidPlayer(pid) || _networking) return CMD_ERROR;
|
||||||
|
|
||||||
|
/* Do not allow players to take over themselves */
|
||||||
|
if (pid == _current_player) return CMD_ERROR;
|
||||||
|
|
||||||
SET_EXPENSES_TYPE(EXPENSES_OTHER);
|
SET_EXPENSES_TYPE(EXPENSES_OTHER);
|
||||||
p = GetPlayer((PlayerID)p1);
|
p = GetPlayer(pid);
|
||||||
|
|
||||||
if (!p->is_ai) return CMD_ERROR;
|
if (!p->is_ai) return CMD_ERROR;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue