Fix swap distance issue.
This commit is contained in:
parent
9c636058dd
commit
0dc3b63ea4
@ -501,7 +501,7 @@ GAME.Game = class {
|
|||||||
pieces_blocking += 2;
|
pieces_blocking += 2;
|
||||||
|
|
||||||
// Move is only valid if pieces are swappable.
|
// Move is only valid if pieces are swappable.
|
||||||
if(this.movement_swappable(piece, target, mask, dist, tile)) {
|
if(dist == 1 && this.movement_swappable(piece, target, mask, tile)) {
|
||||||
swap = true;
|
swap = true;
|
||||||
} else {
|
} else {
|
||||||
result = false;
|
result = false;
|
||||||
@ -560,7 +560,7 @@ GAME.Game = class {
|
|||||||
return tiles;
|
return tiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
movement_swappable(piece, target, mask, range, tile) {
|
movement_swappable(piece, target, mask, tile) {
|
||||||
if(piece.piece == target.piece && piece.promoted == target.promoted) {
|
if(piece.piece == target.piece && piece.promoted == target.promoted) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -574,7 +574,7 @@ GAME.Game = class {
|
|||||||
&& (this.board.tiles[tile].threaten[+(!target.player)] > 0 || piece.blocking != 0)) {
|
&& (this.board.tiles[tile].threaten[+(!target.player)] > 0 || piece.blocking != 0)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return ((moves.direction & mask) != 0 && (range == 1 || (moves.stride & mask) != 0));
|
return (moves.direction & mask) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
movement_tiles_alt(piece) {
|
movement_tiles_alt(piece) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user