From 4795baaf56dd697e1455f4c6a113fff790f65580 Mon Sep 17 00:00:00 2001 From: James Ketrenos Date: Mon, 20 Jun 2022 12:35:26 -0700 Subject: [PATCH] Fix #104 - send filtered player update after every resource count change Signed-off-by: James Ketrenos --- server/routes/games.js | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/server/routes/games.js b/server/routes/games.js index 7bb47e3..6e4ec32 100755 --- a/server/routes/games.js +++ b/server/routes/games.js @@ -261,7 +261,8 @@ const processVolcano = (game, session, dice) => { state: game.state, chat: game.chat, dice: game.dice, - placements: game.placements + placements: game.placements, + players: getFilteredPlayers(game) }); } @@ -769,7 +770,7 @@ const adminActions = (game, action, value, query) => { if (!parts) { return `Unable to parse give request.`; } - const type = parts[1], card = parts[3]; + const type = parts[1], card = parts[3] || 1; for (let id in game.sessions) { if (game.sessions[id].name === game.turn.name) { @@ -2186,7 +2187,7 @@ const placeRobber = (game, session, robber) => { } if (game.robber === robber) { - return `You must move the robber to a new location!`; + return `You must move the robber to a new location!`; } game.robber = robber; game.turn.placedRobber = true; @@ -2636,7 +2637,8 @@ const placeSettlement = (game, session, index) => { activities: game.activities, mostPorts: game.mostPorts, turn: game.turn, - chat: game.chat + chat: game.chat, + players: getFilteredPlayers(game) }); } @@ -2924,9 +2926,11 @@ const discard = (game, session, discards) => { } sum += parseInt(discards[type]); } + /* if (sum !== player.mustDiscard) { return `You need to discard ${player.mustDiscard} cards.`; } + */ for (let type in discards) { const count = parseInt(discards[type]); @@ -3138,7 +3142,8 @@ const selectResources = (game, session, cards) => { sendUpdateToPlayers(game, { turn: game.turn, chat: game.chat, - activities: game.activities + activities: game.activities, + players: getFilteredPlayers(game) }); } @@ -3273,7 +3278,8 @@ const placeCity = (game, session, index) => { placements: game.placements, turn: game.turn, chat: game.chat, - activities: game.activities + activities: game.activities, + players: getFilteredPlayers(game) }); } @@ -4274,14 +4280,11 @@ router.ws("/ws/:id", async (ws, req) => { }); } } - sendUpdateToPlayer(game, session, { - private: session.player - }); sendUpdateToPlayers(game, { - players: getFilteredPlayers(game), turn: game.turn, activities: game.activities, - chat: game.chat + chat: game.chat, + players: getFilteredPlayers(game) }); } break; @@ -4447,7 +4450,8 @@ const getFilteredGameForPlayer = (game, session) => { order: (session.color in game.players) ? game.players[session.color].order : 0, private: player, sessions: reducedSessions, - layout: layout + layout: layout, + players: getFilteredPlayers(game), }); }