(svn r1284) -Fix: Fixed 'money-cheat' (read: bug which could give people a lot of money)

pull/155/head
truelight 20 years ago
parent c0eeb710c7
commit bb1ad030e3

@ -87,6 +87,9 @@ void HandleOnEditText(WindowEvent *e) {
// Give money
int32 money = atoi(e->edittext.str) / GetCurrentCurrencyRate();
char msg[100];
money = clamp(money, 0, 0xFFFFFFFF); // Clamp between 4 billion and 0
// Give 'id' the money, and substract it from ourself
if (!DoCommandP(0, money, id, NULL, CMD_GIVE_MONEY)) break;

@ -285,6 +285,11 @@ int32 CmdGiveMoney(int x, int y, uint32 flags, uint32 p1, uint32 p2)
{
SET_EXPENSES_TYPE(EXPENSES_OTHER);
p1 = clamp(p1, 0, 0xFFFFFFFF); // Clamp between 4 billion and 0
if (p1 == 0)
return CMD_ERROR;
if (flags & DC_EXEC) {
// Add money to player
byte old_cp = _current_player;

Loading…
Cancel
Save