src/command.cpp
changeset 9015 4a44c6974ac1
parent 8996 44758c09945e
child 9148 778a53fe72f3
equal deleted inserted replaced
9014:223a4ddb80bb 9015:4a44c6974ac1
   420 			goto error;
   420 			goto error;
   421 		}
   421 		}
   422 
   422 
   423 		if (_docommand_recursive == 1 &&
   423 		if (_docommand_recursive == 1 &&
   424 				!(flags & DC_QUERY_COST) &&
   424 				!(flags & DC_QUERY_COST) &&
       
   425 				!(flags & DC_BANKRUPT) &&
   425 				res.GetCost() != 0 &&
   426 				res.GetCost() != 0 &&
   426 				!CheckPlayerHasMoney(res)) {
   427 				!CheckPlayerHasMoney(res)) {
   427 			goto error;
   428 			goto error;
   428 		}
   429 		}
   429 
   430 
   444 		_cmd_text = NULL;
   445 		_cmd_text = NULL;
   445 		return CMD_ERROR;
   446 		return CMD_ERROR;
   446 	}
   447 	}
   447 
   448 
   448 	/* if toplevel, subtract the money. */
   449 	/* if toplevel, subtract the money. */
   449 	if (--_docommand_recursive == 0) {
   450 	if (--_docommand_recursive == 0 && !(flags & DC_BANKRUPT)) {
   450 		SubtractMoneyFromPlayer(res);
   451 		SubtractMoneyFromPlayer(res);
   451 		/* XXX - Old AI hack which doesn't use DoCommandDP; update last build coord of player */
   452 		/* XXX - Old AI hack which doesn't use DoCommandDP; update last build coord of player */
   452 		if (tile != 0 && IsValidPlayer(_current_player)) {
   453 		if (tile != 0 && IsValidPlayer(_current_player)) {
   453 			GetPlayer(_current_player)->last_build_coordinate = tile;
   454 			GetPlayer(_current_player)->last_build_coordinate = tile;
   454 		}
   455 		}