(svn r3319) - Fix (regression): "Unnamed Competitors". A result of revision r3224 which allowed AI's for multiplayer. Old AI's didn't function correctly anymore. The update of last-built tile is moved back, but to a slightly different place so it is only executed when the command is actually successfully executed. This code shouldn't be neccessary, but alas, the old AI doesn't use DoCommandDP() functions.
authorDarkvater
Sun, 18 Dec 2005 22:48:45 +0000
changeset 2772 96e47991fd1d
parent 2771 53c0f60949b0
child 2773 d51afa1ff173
(svn r3319) - Fix (regression): "Unnamed Competitors". A result of revision r3224 which allowed AI's for multiplayer. Old AI's didn't function correctly anymore. The update of last-built tile is moved back, but to a slightly different place so it is only executed when the command is actually successfully executed. This code shouldn't be neccessary, but alas, the old AI doesn't use DoCommandDP() functions.
command.c
--- a/command.c	Sun Dec 18 20:48:22 2005 +0000
+++ b/command.c	Sun Dec 18 22:48:45 2005 +0000
@@ -377,6 +377,10 @@
 	// if toplevel, subtract the money.
 	if (--_docommand_recursive == 0) {
 		SubtractMoneyFromPlayer(res);
+		// XXX - Old AI hack which doesn't use DoCommandDP; update last build coord of player
+		if ( (x|y) != 0 && _current_player < MAX_PLAYERS) {
+			GetPlayer(_current_player)->last_build_coordinate = TileVirtXY(x, y);
+		}
 	}
 
 	_cmd_text = NULL;