[freeciv-ai] (PR#2633) ai_military_attack() bug#1
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
On Mon, 23 Dec 2002, Per I. Mathisen via RT wrote:
> @@ -1980,7 +2012,7 @@
> repeat++;
> if (!is_tiles_adjacent(punit->x, punit->y, dest_x, dest_y)
> || !can_unit_attack_tile(punit, dest_x, dest_y)
> - || could_unit_move_to_tile(punit, dest_x, dest_y) == 0) {
> + || !could_unit_move_to_tile(punit, dest_x, dest_y) == 0) {
> /* Can't attack or move usually means we are adjacent but
> * on a ferry. This fixes the problem (usually). */
> int i = ai_military_gothere(pplayer, punit, dest_x, dest_y);
>
> We should only use ai_military_gothere() if we can't single-step into the
> tile. The comment is correct (but maybe a little misleading - the biggest
> reason to use gothere is when you are _not_ adjacent), while the code is
> wrong.
The condition was fine! It was
could_unit_move_to_tile(punit, dest_x, dest_y) == 0
which reads "could NOT move to tile".
(Or maybe it could not move because there is enemy there?).
Anyway, I committed it but then reverted it. This piece of code is very
confusing, so you really need to explain to me what is happening and what
should be happening.
G.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freeciv-ai] (PR#2633) ai_military_attack() bug#1,
Gregory Berkolaiko via RT <=
|
|