projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Increment game stat counter also for rematch live games
[vchess.git]
/
client
/
src
/
views
/
Game.vue
diff --git
a/client/src/views/Game.vue
b/client/src/views/Game.vue
index
d66716c
..
c2b2704
100644
(file)
--- a/
client/src/views/Game.vue
+++ b/
client/src/views/Game.vue
@@
-514,7
+514,8
@@
export default {
"DELETE",
{ data: { gid: this.game.id } }
);
"DELETE",
{ data: { gid: this.game.id } }
);
- } else {
+ }
+ else {
// Live game
GameStorage.update(this.gameRef, { delchat: true });
}
// Live game
GameStorage.update(this.gameRef, { delchat: true });
}
@@
-578,7
+579,8
@@
export default {
// For self multi-connects tests:
this.newConnect[data.from[0]] = true;
this.send("askidentity", { target: data.from[0] });
// 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.people[data.from[0]].tmpIds[data.from[1]] = { focus: true };
this.$forceUpdate(); //TODO: shouldn't be required
}
@@
-674,9
+676,8
@@
export default {
) {
this.send("asklastate", { target: user.sid });
counter++;
) {
this.send("asklastate", { target: user.sid });
counter++;
- } else {
- clearInterval(this.askLastate);
}
}
+ else clearInterval(this.askLastate);
},
1500
);
},
1500
);
@@
-874,13
+875,15
@@
export default {
gameInfo.players.some(p => p.sid == this.st.user.sid)
) {
this.addAndGotoLiveGame(gameInfo);
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);
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;
this.rematchId = gameInfo.id;
document.getElementById("modalRules").checked = false;
document.getElementById("modalScore").checked = false;
@@
-972,7
+975,8
@@
export default {
// Just got last move from him
this.$refs["basegame"].play(data.lastMove, "received");
this.processMove(data.lastMove);
// 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();
}
if (!!this.clockUpdate) clearInterval(this.clockUpdate);
this.re_setClocks();
}
@@
-994,7
+998,8
@@
export default {
: "Three repetitions";
this.send("draw", { data: message });
this.gameOver("1/2", message);
: "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"]);
// No effect if drawOffer == "sent"
if (this.game.mycolor != this.vr.turn) {
alert(this.st.tr["Draw offer only in your turn"]);
@@
-1008,7
+1013,8
@@
export default {
this.gameRef,
{ drawOffer: this.game.mycolor }
);
this.gameRef,
{ drawOffer: this.game.mycolor }
);
- } else this.updateCorrGame({ drawOffer: this.game.mycolor });
+ }
+ else this.updateCorrGame({ drawOffer: this.game.mycolor });
}
},
addAndGotoLiveGame: function(gameInfo, callback) {
}
},
addAndGotoLiveGame: function(gameInfo, callback) {
@@
-1058,8
+1064,15
@@
export default {
// Also to MyGames page:
this.notifyMyGames("newgame", gameInfo);
};
// 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);
this.addAndGotoLiveGame(gameInfo, notifyNewGame);
+ }
else {
// corr game
ajax(
else {
// corr game
ajax(
@@
-1075,7
+1088,8
@@
export default {
}
);
}
}
);
}
- } else if (this.rematchOffer == "") {
+ }
+ else if (this.rematchOffer == "") {
this.rematchOffer = "sent";
this.send("rematchoffer", { data: true });
if (this.game.type == "live") {
this.rematchOffer = "sent";
this.send("rematchoffer", { data: true });
if (this.game.type == "live") {
@@
-1083,8
+1097,10
@@
export default {
this.gameRef,
{ rematchOffer: this.game.mycolor }
);
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 });
// Toggle rematch offer (on --> off)
this.rematchOffer = "";
this.send("rematchoffer", { data: false });
@@
-1093,7
+1109,8
@@
export default {
this.gameRef,
{ rematchOffer: '' }
);
this.gameRef,
{ rematchOffer: '' }
);
- } else this.updateCorrGame({ rematchOffer: 'n' });
+ }
+ else this.updateCorrGame({ rematchOffer: 'n' });
}
},
abortGame: function() {
}
},
abortGame: function() {
@@
-1162,11
+1179,10
@@
export default {
{ clocks: game.clocks }
);
}
{ 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"
}
else
// gtype == "import"
@@
-1329,7
+1345,8
@@
export default {
currentTurn == "w" ? "0-1" : "1-0",
"Time"
);
currentTurn == "w" ? "0-1" : "1-0",
"Time"
);
- } else {
+ }
+ else {
this.$set(
this.virtualClocks,
colorIdx,
this.$set(
this.virtualClocks,
colorIdx,
@@
-1391,7
+1408,11
@@
export default {
!!this.repeat[fenObj]
? this.repeat[fenObj] + 1
: 1;
!!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
else if (this.drawOffer == "threerep") this.drawOffer = "";
if (!!this.game.mycolor && !data.receiveMyMove) {
// NOTE: 'var' to see that variable outside this block
@@
-1588,7
+1609,7
@@
export default {
// In corr games, callback to change page only after score is set:
gameOver: function(score, scoreMsg, callback) {
this.game.score = score;
// 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:
this.game.scoreMsg = scoreMsg;
document.getElementById("modalRules").checked = false;
// Display result in a un-missable way: