<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40086 >

On Feb 7, 2008 1:12 PM, William Allen Simpson
> <URL: http://bugs.freeciv.org/Ticket/Display.html?id=40086 >
> In PR#40072, I've found a third error that only showed in the server log.
> Examination of the savegame data confirmed:
> 2: Loading rulesets
> 1: player1.c1.workers not working city center at "Middelburg".
> 1: player1.c5.workers not working city center at "Tenochtitl?n".
> 1: player2.c0.workers not working city center at "Chiauhtia".
> After much testing, the savegame load can automatically correct this defect.
> Unfortunately, fixing this immediately results in the following message:
> 1: Tile at Tenochtitl?n->49,11 (city center) marked as worked but occupied by 
> an enemy unit!
> This tells me that the reason that some city centers are not worked would be
> invasion.  But that should have been resolved already!?!?

So there's a bug where a city can be invaded but not change hands.
This is an impossible situation to begin with and needs to be tracked
down and fixed; trying to decide what "should" happen in such a
situation is only going to lead to headache.

> Here's a picture of my current test code display.  Apparently, these cities
> are captured as soon as the game is loaded.  Per's border algorithm doesn't
> update until the next turn, so border islands happen!

Correct; that always bugged me but it's not a cause of bugs (just very ugly).

> Worse, the arrange worker code should *NEVER* remove the worker at the city
> center!  Does anybody remember how/where this is done?  Or who wrote it?

Well there should *NEVER* be an enemy unit at the city center either,
nor should there *EVER* be an enemy-occupied tile that's being worked.
 But once once of these breaks a second one has to go too.

The CM code is in common/aicore/cm.c.


Freeciv-dev mailing list

Reply via email to