diff --git a/src/action/action_attack.cpp b/src/action/action_attack.cpp index 1dcfe2f45..946242d05 100644 --- a/src/action/action_attack.cpp +++ b/src/action/action_attack.cpp @@ -107,7 +107,9 @@ local void MoveToTarget(Unit* unit) int wall; int err; - if( unit->Command.Action==UnitActionAttackGround ) { + if( unit->Command.Action==UnitActionAttackGround + || WallOnMap(unit->Command.Data.Move.DX,unit->Command.Data.Move.DY) ) { + // FIXME: I think also needed for attacking wall // FIXME: workaround for pathfinder problem unit->Command.Data.Move.DX-=unit->Command.Data.Move.Range; unit->Command.Data.Move.DY-=unit->Command.Data.Move.Range;