(svn r1284) -Fix: Fixed 'money-cheat' (read: bug which could give people a lot of money)
This commit is contained in:
		@@ -87,6 +87,9 @@ void HandleOnEditText(WindowEvent *e) {
 | 
				
			|||||||
		// Give money
 | 
							// Give money
 | 
				
			||||||
		int32 money = atoi(e->edittext.str) / GetCurrentCurrencyRate();
 | 
							int32 money = atoi(e->edittext.str) / GetCurrentCurrencyRate();
 | 
				
			||||||
		char msg[100];
 | 
							char msg[100];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							money = clamp(money, 0, 0xFFFFFFFF); // Clamp between 4 billion and 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Give 'id' the money, and substract it from ourself
 | 
							// Give 'id' the money, and substract it from ourself
 | 
				
			||||||
		if (!DoCommandP(0, money, id, NULL, CMD_GIVE_MONEY)) break;
 | 
							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);
 | 
						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) {
 | 
						if (flags & DC_EXEC) {
 | 
				
			||||||
		// Add money to player
 | 
							// Add money to player
 | 
				
			||||||
		byte old_cp = _current_player;
 | 
							byte old_cp = _current_player;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user