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

Daniel Markstedt wrote:
> Yes, this is dangerous. But it's also up to the player to decide if
> it's worth sacrificing the air unit or not.

> This is indeed a problem. It seems the code always assumes an air unit
> starts its turn on a safe tile, ....

No, to reiterate my previous message:

* For AI, the code checks the tile, and only allows moves to safe tiles.
AFAICT, AI only does "final" moves.

* For users, the code only checks the tile after 1/2 the remaining moves
are used.  This allows the user to set waypoints.

Thus, for users, trying to move more than 1/2 the remaining moves will be
prevented to dangerous positions.  The user can, by setting waypoints, or
moving less than 1/2 the remaining moves (in short segments), put the
aircraft into a position that can never land safely.

Test it yourself.  Send a bomber out to the ocean, and then the next turn
watch the cursor change as you slowly move it back toward its origin.  At
1/2 the distance, it will change to forbidden (until it reaches safety).

Instead, move less than 1/2 your moves out farther into the ocean.  Now,
you cannot ever get back.  That's allowable, a deliberate choice.

> Actually, the only time a goto to an unsafe tile should be allowed for
> a non-attack move on the last turn of a mission is when the air unit
> sits on a safe tile.
And that is exactly how the code works -- for only the last move.

This is as flexible as I can make it -- 1/2 seems to be a good compromise.
Without this compromise, waypoints would *not* work on the final turn, they
could only be used the first turn.

Yes, the user can do stupid things.  But this is not (should not) be a
nanny program.  Most of the time, I hate the paths the code picks.  I want
to use waypoints.  They are a feature of 2.1!

Freeciv-dev mailing list

Reply via email to