Fix pool selection for dusk player.
This commit is contained in:
parent
c5e8e6aa2b
commit
354868446e
@ -67,7 +67,8 @@ const INTERFACE = {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
player = Math.floor(selection.tile / 7);
|
player = Math.floor(selection.tile / 7);
|
||||||
player ^= (INTERFACE_DATA.player & 1) ^ INTERFACE_DATA.rotate;
|
player ^= INTERFACE_DATA.player & 1;
|
||||||
|
if(INTERFACE_DATA.player == 2) { player ^= INTERFACE_DATA.rotate; }
|
||||||
movements = GAME_DATA.placement_tiles(selection.tile % 7, player);
|
movements = GAME_DATA.placement_tiles(selection.tile % 7, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -188,7 +189,10 @@ const INTERFACE = {
|
|||||||
is_valid = (tile_state == INTERFACE.TileStatus.Valid || tile_state == INTERFACE.TileStatus.Threat);
|
is_valid = (tile_state == INTERFACE.TileStatus.Valid || tile_state == INTERFACE.TileStatus.Threat);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle player action.
|
||||||
if(is_valid) {
|
if(is_valid) {
|
||||||
|
|
||||||
|
// Send message to server for online game.
|
||||||
if(INTERFACE_DATA.online) {
|
if(INTERFACE_DATA.online) {
|
||||||
let move_data = INTERFACE_DATA.select.source | (INTERFACE_DATA.select.tile << 1) | (INTERFACE_DATA.hover.tile << 7);
|
let move_data = INTERFACE_DATA.select.source | (INTERFACE_DATA.select.tile << 1) | (INTERFACE_DATA.hover.tile << 7);
|
||||||
MESSAGE_COMPOSE([
|
MESSAGE_COMPOSE([
|
||||||
@ -197,7 +201,10 @@ const INTERFACE = {
|
|||||||
PACK.u16(GAME_DATA.turn),
|
PACK.u16(GAME_DATA.turn),
|
||||||
PACK.u16(move_data),
|
PACK.u16(move_data),
|
||||||
]);
|
]);
|
||||||
} else {
|
}
|
||||||
|
|
||||||
|
// Apply action and change turn for offline game.
|
||||||
|
else {
|
||||||
let play = new GAME.Play(INTERFACE_DATA.select.source, INTERFACE_DATA.select.tile, INTERFACE_DATA.hover.tile);
|
let play = new GAME.Play(INTERFACE_DATA.select.source, INTERFACE_DATA.select.tile, INTERFACE_DATA.hover.tile);
|
||||||
INTERFACE_DATA.play = play;
|
INTERFACE_DATA.play = play;
|
||||||
GAME_DATA.process(play);
|
GAME_DATA.process(play);
|
||||||
@ -208,15 +215,24 @@ const INTERFACE = {
|
|||||||
INTERFACE.draw();
|
INTERFACE.draw();
|
||||||
}
|
}
|
||||||
INTERFACE_DATA.select = null;
|
INTERFACE_DATA.select = null;
|
||||||
} else {
|
}
|
||||||
|
|
||||||
|
// Handle new selection.
|
||||||
|
else {
|
||||||
INTERFACE_DATA.select = null;
|
INTERFACE_DATA.select = null;
|
||||||
|
|
||||||
|
// Select tile on board.
|
||||||
if(INTERFACE_DATA.hover.source == 0) {
|
if(INTERFACE_DATA.hover.source == 0) {
|
||||||
if(GAME_DATA.board.tiles[INTERFACE_DATA.hover.tile].piece !== null) {
|
if(GAME_DATA.board.tiles[INTERFACE_DATA.hover.tile].piece !== null) {
|
||||||
INTERFACE_DATA.select = INTERFACE_DATA.hover;
|
INTERFACE_DATA.select = INTERFACE_DATA.hover;
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
|
||||||
|
// Select tile in pools.
|
||||||
|
else {
|
||||||
let pool_player = Math.floor(INTERFACE_DATA.hover.tile / 7);
|
let pool_player = Math.floor(INTERFACE_DATA.hover.tile / 7);
|
||||||
pool_player ^= (INTERFACE_DATA.player & 1) ^ INTERFACE_DATA.rotate;
|
pool_player ^= INTERFACE_DATA.player & 1;
|
||||||
|
if(INTERFACE_DATA.player == 2) { pool_player ^= INTERFACE_DATA.rotate; }
|
||||||
|
|
||||||
let pool_piece = INTERFACE_DATA.hover.tile % 7;
|
let pool_piece = INTERFACE_DATA.hover.tile % 7;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user