Complete.Org: Mailing Lists: Archives: freeciv-ai: November 2004:
[freeciv-ai] [Freeciv-Dev] (PR#10916) AI ferries double move when delive
Home

[freeciv-ai] [Freeciv-Dev] (PR#10916) AI ferries double move when delive

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients: ;
Subject: [freeciv-ai] [Freeciv-Dev] (PR#10916) AI ferries double move when delivering
From: "Benedict Adamson" <badamson@xxxxxxxxxxx>
Date: Sun, 7 Nov 2004 08:37:19 -0800
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=10916 >

To try and understand what is happening, I added some logging 
information (see the attached patch). It seems that the ferry moves_left 
field is correct.

Perhaps this a problem with interaction between server and client, 
rather than a problem with the server? Is the server sending data to the 
clients at the wrong time, when the player is an AI?

I'm mystified.

diff -ru -Xfreeciv.PR10916/diff_ignore vendor.freeciv.beta/ai/aiferry.c 
freeciv.PR10916/ai/aiferry.c
--- vendor.freeciv.beta/ai/aiferry.c    2004-10-22 22:48:23.000000000 +0100
+++ freeciv.PR10916/ai/aiferry.c        2004-11-07 16:33:28.000000000 +0000
@@ -304,7 +304,7 @@
   struct pf_map *search_map;
 
 
-  UNIT_LOG(LOGLEVEL_FINDFERRY, punit, "asked find_ferry for a boat");
+  UNIT_LOG(LOGLEVEL_FINDFERRY, punit, "asked aiferry_find_boat for a boat");
 
   if (aiferry_avail_boats(unit_owner(punit)) <= 0 
       && punit->ai.ferryboat <= 0) {
@@ -343,9 +343,9 @@
           
           if (turns < best_turns) {
             UNIT_LOG(LOGLEVEL_FINDFERRY, punit, 
-                     "Found a potential boat %s[%d](%d,%d)",
+                     "Found a potential boat %s[%d](%d,%d)(moves left: %d)",
                      unit_type(aunit)->name, aunit->id, aunit->tile->x,
-                    aunit->tile->y);
+                    aunit->tile->y, aunit->moves_left);
            if (path) {
              *path = pf_next_get_path(search_map);
            }
@@ -542,7 +542,8 @@
       return FALSE;
     }
 
-    UNIT_LOG(LOGLEVEL_GOBYBOAT, punit, "Our boat has arrived");
+    UNIT_LOG(LOGLEVEL_GOBYBOAT, punit, "Our boat has arrived "
+            "[%d](moves left: %d)", ferryboat->id, ferryboat->moves_left);
     handle_unit_activity_request(punit, ACTIVITY_IDLE);
   }
 
@@ -824,7 +825,8 @@
      return;
   }
 
-  UNIT_LOG(LOGLEVEL_FERRY, punit, "Ferryboat is not carrying anyone.");
+  UNIT_LOG(LOGLEVEL_FERRY, punit, "Ferryboat is not carrying anyone "
+          "(moves left: %d).", punit->moves_left);
   aiferry_make_available(punit);
   handle_unit_activity_request(punit, ACTIVITY_IDLE);
   ai_unit_new_role(punit, AIUNIT_NONE, NULL);
@@ -832,7 +834,8 @@
 
   /* Try to find passengers */
   if (aiferry_findcargo(punit)) {
-    UNIT_LOG(LOGLEVEL_FERRY, punit, "picking up cargo");
+    UNIT_LOG(LOGLEVEL_FERRY, punit, "picking up cargo (moves left: %d)",
+            punit->moves_left);
     ai_unit_goto(punit, punit->goto_tile);
     return;
   }
diff -ru -Xfreeciv.PR10916/diff_ignore vendor.freeciv.beta/diff_ignore 
freeciv.PR10916/diff_ignore
--- vendor.freeciv.beta/diff_ignore     2004-10-22 22:48:23.000000000 +0100
+++ freeciv.PR10916/diff_ignore 2004-11-07 16:35:52.000000000 +0000
@@ -17,6 +17,7 @@
 *~
 .#*
 .deps
+.svn
 CVS
 Freeciv.h
 Makefile

[Prev in Thread] Current Thread [Next in Thread]
  • [freeciv-ai] [Freeciv-Dev] (PR#10916) AI ferries double move when delivering, Benedict Adamson <=