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

On Monday 24 November 2008, Madeline Book wrote:
> > 1) it doesn't work for non_allied_unit_tiles that have only
> > allied units on them
> I may be mistaken but, do you mean that the explorer can
> move to a tile in territory it cannot enter (by peace
> treaty) if there are allied units on that tile (and
> presumably the owner of those units is allowed to enter
> that territory)?
> As far as I know, allied units cannot be used in this way
> to sneak past borders (but a demonstrating savegame would
> convince me).

You are right, below the situation I was observing - but notice that 
A's units are NonMil...

A and B are at peace.
A and C are allies without map sharing.
B and C aren't at peace.
C's unit - and only C's unit - is on one of B's tiles.
At least A's Engineers and Settlers can access that tile.

> > 2) fails for units that ignore controll zones (e.g. Diplomats)
> This confuses me, since zones of control (zoc) do not have
> anything to do with allowing units to enter a territory.
> Rather, they prevent non-ally units from moving into tiles
> in each others' zones of control (to summarise crudely).
> Maybe what you mean is that non-military units (unit flag
> "NonMil") can enter peaceful territory, while military units
> cannot? So a unit with the non-military flag set to explore
> should consider peaceful territory allowed for the purpose
> of exploration?

Actually Partisans aren't NonMil and still can enter peace tiles.

> Well, if the unit is a diplomat or spy, the other player
> could interpret the move as some kind of provocation, since
> they cannot see the 'X' showing that the unit is just there
> to explore.
> So I'm not sure that allowing the explorer AI to do that is
> such a good idea. I guess it is debatable, and I would
> accept a patch that has this behaviour.

Atleast "Explorer" should be allowed to auto explore peace tiles.

The really interresting case are "diplomatic lanes" - see the "sea 
lane" bug and substitute trimes with diplomats.

> > 3) explorer_desirable doesn't check no_fights
> > 4) explorer_desirable fails to handle allied cities
> Hmm, are you sure that explorer_desirable is called
> on tiles for which no_fights returns TB_IGNORE? I mean
> the tiles that are passed into explorer_desirable
> are read from the path finding map which uses no_fights
> already to prune away those tiles, it would seem to me.

If so, this pruning was introduced after the 2.1.6 release (haven't 

> Well, in any case perhaps best is to make a new tb function
> structured specifically for explorers and put it in
> common/aicore/pf_tools.c. This function should be used in
> ai_fill_unit_param (instead of having to be set after the
> call and clobbering the existing get_TB pointer), and also
> in explorer_desirable (if indeed it is the case that it
> considers tiles that might have to be ignored) so that the
> checking code is not duplicated in more than one place.


One problem with the no_fight change is what happens to ai units on a 
tile that just become a peace tile. Can they still move (2.1.6) or 
are they "frosen"?

Freeciv-dev mailing list

Reply via email to