diff --git a/www/js/interface.js b/www/js/interface.js index 5069377..4a1692d 100644 --- a/www/js/interface.js +++ b/www/js/interface.js @@ -1068,26 +1068,28 @@ const INTERFACE = { let piece = null; let target = null; while(INTERFACE_DATA.replay_turn < turn) { - play = INTERFACE_DATA.history[INTERFACE_DATA.replay_turn]; - - if(play.source == 0) { - let piece_id = GAME_DATA.board.tiles[play.from].piece; - if(piece_id !== null) { piece = GAME_DATA.board.pieces[piece_id].clone(); } + if(INTERFACE_DATA.history[INTERFACE_DATA.replay_turn].source < 2) { + play = INTERFACE_DATA.history[INTERFACE_DATA.replay_turn]; + + if(play.source == 0) { + let piece_id = GAME_DATA.board.tiles[play.from].piece; + if(piece_id !== null) { piece = GAME_DATA.board.pieces[piece_id].clone(); } - piece_id = GAME_DATA.board.tiles[play.to].piece; - if(piece_id !== null) { target = GAME_DATA.board.pieces[piece_id].clone(); } - else { target = null; } + piece_id = GAME_DATA.board.tiles[play.to].piece; + if(piece_id !== null) { target = GAME_DATA.board.pieces[piece_id].clone(); } + else { target = null; } + } + + GAME_DATA.process(play); + + if(play.source == 1) { + let piece_id = GAME_DATA.board.tiles[play.to].piece; + if(piece_id !== null) { piece = GAME_DATA.board.pieces[piece_id].clone(); } + target = null; + } + + INTERFACE_DATA.replay_turn++; } - - GAME_DATA.process(play); - - if(play.source == 1) { - let piece_id = GAME_DATA.board.tiles[play.to].piece; - if(piece_id !== null) { piece = GAME_DATA.board.pieces[piece_id].clone(); } - target = null; - } - - INTERFACE_DATA.replay_turn++; } if(animate) { INTERFACE_DATA.Animate.time = Date.now() + 500;