cadence: this.game.cadence
};
const notifyNewGame = () => {
- const oppsid = this.getOppsid(); //may be null
- this.send("rnewgame", { data: gameInfo, oppsid: oppsid });
+ this.send("rnewgame", { data: gameInfo });
// To main Hall if corr game:
if (this.game.type == "corr")
this.send("newgame", { data: gameInfo, page: "/" });
// Also to MyGames page:
this.notifyMyGames("newgame", gameInfo);
};
- if (this.game.type == "live")
+ if (this.game.type == "live") {
+ GameStorage.update(
+ this.gameRef,
+ { rematchOffer: "" }
+ );
+ // Increment game stats counter in DB
+ ajax(
+ "/gamestat",
+ "POST",
+ { data: { vid: gameInfo.vid } }
+ );
this.addAndGotoLiveGame(gameInfo, notifyNewGame);
+ }
else {
// corr game
+ this.updateCorrGame({ rematchOffer: 'n' });
ajax(
"/games",
"POST",
{
data: { gameInfo: gameInfo },
success: (response) => {
- gameInfo.id = response.gameId;
+ gameInfo.id = response.id;
notifyNewGame();
- this.$router.push("/game/" + response.gameId);
+ this.$router.push("/game/" + response.id);
}
}
);
// In corr games, just reset clock to mainTime:
this.game.clocks[colorIdx] = extractTime(this.game.cadence).mainTime;
}
- // If repetition detected, consider that a draw offer was received:
- const fenObj = this.vr.getFenForRepeat();
- this.repeat[fenObj] =
- !!this.repeat[fenObj]
- ? this.repeat[fenObj] + 1
- : 1;
- if (this.repeat[fenObj] >= 3) {
- if (V.LoseOnRepetition)
- this.gameOver(moveCol == "w" ? "0-1" : "1-0", "Repetition");
- else this.drawOffer = "threerep";
+ if (!V.IgnoreRepetition) {
+ // If repetition detected, consider that a draw offer was received:
+ const fenObj = this.vr.getFenForRepeat();
+ this.repeat[fenObj] =
+ !!this.repeat[fenObj]
+ ? this.repeat[fenObj] + 1
+ : 1;
+ if (this.repeat[fenObj] >= 3) {
+ if (this.vr.loseOnRepetition())
+ this.gameOver(moveCol == "w" ? "0-1" : "1-0", "Repetition");
+ else this.drawOffer = "threerep";
+ }
+ else if (this.drawOffer == "threerep") this.drawOffer = "";
}
- else if (this.drawOffer == "threerep") this.drawOffer = "";
if (!!this.game.mycolor && !data.receiveMyMove) {
// NOTE: 'var' to see that variable outside this block
var filtered_move = getFilteredMove(move);