<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40570 >
> [EMAIL PROTECTED] - Fri Nov 21 07:07:26 2008]: > > Your no_fights appoach is nice but insufficent. > > 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). > 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? 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. > 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. 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. ----------------------------------------------------------------------- はい。君の番です。 _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev