mirror of https://github.com/OpenTTD/OpenTTD
Even if you are completely broke, generating money should always be allowed.pull/8511/head
parent
c7609e767f
commit
1b675e7075
|
@ -1109,7 +1109,8 @@ CommandCost CmdRemoveLongRoad(TileIndex start_tile, DoCommandFlag flags, uint32
|
||||||
p2 ^= IsInsideMM(p2 & 3, 1, 3) ? 3 : 0;
|
p2 ^= IsInsideMM(p2 & 3, 1, 3) ? 3 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Money money = GetAvailableMoneyForCommand();
|
Money money_available = GetAvailableMoneyForCommand();
|
||||||
|
Money money_spent = 0;
|
||||||
TileIndex tile = start_tile;
|
TileIndex tile = start_tile;
|
||||||
CommandCost last_error = CMD_ERROR;
|
CommandCost last_error = CMD_ERROR;
|
||||||
bool had_success = false;
|
bool had_success = false;
|
||||||
|
@ -1126,8 +1127,8 @@ CommandCost CmdRemoveLongRoad(TileIndex start_tile, DoCommandFlag flags, uint32
|
||||||
CommandCost ret = RemoveRoad(tile, flags & ~DC_EXEC, bits, rtt, true);
|
CommandCost ret = RemoveRoad(tile, flags & ~DC_EXEC, bits, rtt, true);
|
||||||
if (ret.Succeeded()) {
|
if (ret.Succeeded()) {
|
||||||
if (flags & DC_EXEC) {
|
if (flags & DC_EXEC) {
|
||||||
money -= ret.GetCost();
|
money_spent += ret.GetCost();
|
||||||
if (money < 0) {
|
if (money_spent > 0 && money_spent > money_available) {
|
||||||
_additional_cash_required = DoCommand(start_tile, end_tile, p2, flags & ~DC_EXEC, CMD_REMOVE_LONG_ROAD).GetCost();
|
_additional_cash_required = DoCommand(start_tile, end_tile, p2, flags & ~DC_EXEC, CMD_REMOVE_LONG_ROAD).GetCost();
|
||||||
return cost;
|
return cost;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue