"DELETE",
{ data: { gid: this.game.id } }
);
- } else {
+ }
+ else {
// Live game
GameStorage.update(this.gameRef, { delchat: true });
}
// For self multi-connects tests:
this.newConnect[data.from[0]] = true;
this.send("askidentity", { target: data.from[0] });
- } else {
+ }
+ else {
this.people[data.from[0]].tmpIds[data.from[1]] = { focus: true };
this.$forceUpdate(); //TODO: shouldn't be required
}
) {
this.send("asklastate", { target: user.sid });
counter++;
- } else {
- clearInterval(this.askLastate);
}
+ else clearInterval(this.askLastate);
},
1500
);
gameInfo.players.some(p => p.sid == this.st.user.sid)
) {
this.addAndGotoLiveGame(gameInfo);
- } else if (
+ }
+ else if (
gameType == "corr" &&
this.st.user.id > 0 &&
gameInfo.players.some(p => p.id == this.st.user.id)
) {
this.$router.push("/game/" + gameInfo.id);
- } else {
+ }
+ else {
this.rematchId = gameInfo.id;
document.getElementById("modalRules").checked = false;
document.getElementById("modalScore").checked = false;
// Just got last move from him
this.$refs["basegame"].play(data.lastMove, "received");
this.processMove(data.lastMove);
- } else {
+ }
+ else {
if (!!this.clockUpdate) clearInterval(this.clockUpdate);
this.re_setClocks();
}
: "Three repetitions";
this.send("draw", { data: message });
this.gameOver("1/2", message);
- } else if (this.drawOffer == "") {
+ }
+ else if (this.drawOffer == "") {
// No effect if drawOffer == "sent"
if (this.game.mycolor != this.vr.turn) {
alert(this.st.tr["Draw offer only in your turn"]);
this.gameRef,
{ drawOffer: this.game.mycolor }
);
- } else this.updateCorrGame({ drawOffer: this.game.mycolor });
+ }
+ else this.updateCorrGame({ drawOffer: this.game.mycolor });
}
},
addAndGotoLiveGame: function(gameInfo, callback) {
// Also to MyGames page:
this.notifyMyGames("newgame", gameInfo);
};
- if (this.game.type == "live")
+ if (this.game.type == "live") {
+ // Increment game stats counter in DB
+ ajax(
+ "/gamestat",
+ "POST",
+ { data: { vid: gameInfo.vid } }
+ );
this.addAndGotoLiveGame(gameInfo, notifyNewGame);
+ }
else {
// corr game
ajax(
}
);
}
- } else if (this.rematchOffer == "") {
+ }
+ else if (this.rematchOffer == "") {
this.rematchOffer = "sent";
this.send("rematchoffer", { data: true });
if (this.game.type == "live") {
this.gameRef,
{ rematchOffer: this.game.mycolor }
);
- } else this.updateCorrGame({ rematchOffer: this.game.mycolor });
- } else if (this.rematchOffer == "sent") {
+ }
+ else this.updateCorrGame({ rematchOffer: this.game.mycolor });
+ }
+ else if (this.rematchOffer == "sent") {
// Toggle rematch offer (on --> off)
this.rematchOffer = "";
this.send("rematchoffer", { data: false });
this.gameRef,
{ rematchOffer: '' }
);
- } else this.updateCorrGame({ rematchOffer: 'n' });
+ }
+ else this.updateCorrGame({ rematchOffer: 'n' });
}
},
abortGame: function() {
{ clocks: game.clocks }
);
}
- } else {
- if (!!game.initime)
- // It's my turn: clocks not updated yet
- game.clocks[myIdx] -= (Date.now() - game.initime) / 1000;
}
+ else if (!!game.initime)
+ // It's my turn: clocks not updated yet
+ game.clocks[myIdx] -= (Date.now() - game.initime) / 1000;
}
else
// gtype == "import"
currentTurn == "w" ? "0-1" : "1-0",
"Time"
);
- } else {
+ }
+ else {
this.$set(
this.virtualClocks,
colorIdx,
!!this.repeat[fenObj]
? this.repeat[fenObj] + 1
: 1;
- if (this.repeat[fenObj] >= 3) this.drawOffer = "threerep";
+ if (this.repeat[fenObj] >= 3) {
+ if (V.LoseOnRepetition)
+ this.gameOver(moveCol == "w" ? "0-1" : "1-0", "Repetition");
+ else this.drawOffer = "threerep";
+ }
else if (this.drawOffer == "threerep") this.drawOffer = "";
if (!!this.game.mycolor && !data.receiveMyMove) {
// NOTE: 'var' to see that variable outside this block
// In corr games, callback to change page only after score is set:
gameOver: function(score, scoreMsg, callback) {
this.game.score = score;
- if (!scoreMsg) scoreMsg = getScoreMessage(score);
+ if (!scoreMsg) scoreMsg = getScoreMessage(score, V.ReverseColors);
this.game.scoreMsg = scoreMsg;
document.getElementById("modalRules").checked = false;
// Display result in a un-missable way: