<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 checked). > 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. Yes. 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 Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev