[Freeciv-Dev] Re: (PR#5107) tile marked as unavailable but seems to be a
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: |
undisclosed-recipients: ; |
Subject: |
[Freeciv-Dev] Re: (PR#5107) tile marked as unavailable but seems to be available |
From: |
"Jason Short" <jdorje@xxxxxxxxxxxxxxxxxxxxx> |
Date: |
Fri, 15 Aug 2003 10:11:58 -0700 |
Reply-to: |
rt@xxxxxxxxxxxxxx |
Jason Short wrote:
> Per I. Mathisen wrote:
>
>>On Fri, 15 Aug 2003, Jason Short wrote:
>>
>>
>>>There are lots and lots of messages like this:
>>>
>>>1: Tile at Jerusalem->1,2 marked as unavailable but seems to be available!
>>>
>>>Which seems to be a significant bug. I thought it was caused by a
>>>recent change of mine, but I don't think so anymore. I don't know why
>>>it happens.
>>
>>I think it is because the AI is omniscient but has some of its city tiles
>>unrevealed and therefore unable to use them. This is something the AI/the
>>server is unable to properly reconcile.
>
>
> The tile is marked unavailable because a DS_NO_CONTACT unit is on it.
> Then when contact is made this unit becomes DS_NEUTRAL so the tile is
> now available to be worked.
>
> The easy fix is that city maps should be updated when contact is made.
>
> I dunno if this situation exists with other diplomatic state transitions.
See attached patch.
Note that if NO_CONTACT was equivalent to NEUTRAL this wouldn't be a
problem. But I don't think this code should rely on that.
jason
? rc
? shuffled_players.diff
Index: server/plrhand.c
===================================================================
RCS file: /home/freeciv/CVS/freeciv/server/plrhand.c,v
retrieving revision 1.286
diff -u -r1.286 plrhand.c
--- server/plrhand.c 2003/08/08 22:11:42 1.286
+++ server/plrhand.c 2003/08/15 17:07:51
@@ -1450,6 +1450,9 @@
send_player_info(pplayer2, pplayer1);
send_player_info(pplayer1, pplayer1);
send_player_info(pplayer2, pplayer2);
+
+ check_city_workers(pplayer1);
+ check_city_workers(pplayer2);
return;
}
if (player_has_embassy(pplayer1, pplayer2)
|
|