diff --git a/client/src/Table.js b/client/src/Table.js
index c3b3f5f..aad8aab 100755
--- a/client/src/Table.js
+++ b/client/src/Table.js
@@ -314,7 +314,7 @@ const GameOrder = ({table}) => {
players = players.map(item =>
- {item.order+1}. {item.name}
+ {item.name}
{ item.orderRoll !== 0 && <>rolled .> }
{ item.orderRoll === 0 && <>has not rolled yet. {item.orderStatus}>}
diff --git a/server/routes/games.js b/server/routes/games.js
index e7272fc..5a81488 100755
--- a/server/routes/games.js
+++ b/server/routes/games.js
@@ -765,6 +765,9 @@ router.put("/:id/:action/:value?", async (req, res) => {
corner.color = session.color;
corner.type = 'settlement';
if (game.state === 'initial-placement') {
+ if (game.direction && game.direction === 'backward') {
+ session.initialSettlement = index;
+ }
game.turn.actions = ['place-road'];
game.turn.limits = { roads: layout.corners[index].roads }; /* road placement is limited to be near this corner */
addChatMessage(game, session, `Placed a settlement. Next, they need to place a road.`);
@@ -831,7 +834,28 @@ router.put("/:id/:action/:value?", async (req, res) => {
};
addChatMessage(game, null, `Everyone has placed their two settlements!`);
- addChatMessage(game, null, `TODO: Give players resources from their second placement.`);
+
+ /* Figure out which players received which resources */
+ for (let id in game.sessions) {
+ const session = game.sessions[id],
+ receives = {};
+ if (session.initialSettlement) {
+ layout.tiles.forEach((tile, index) => {
+ if (tile.corners.indexOf(session.initialSettlement) !== -1) {
+ const resource = assetData.tiles[game.tileOrder[index]].type;
+ if (!(resource in receives)) {
+ receives[resource] = 0;
+ }
+ receives[resource]++;
+ }
+ });
+ let message = [];
+ for (let type in receives) {
+ message.push(`${receives[type]} ${type}`);
+ }
+ addChatMessage(game, null, `${session.name} receives ${message.join(', ')}.`);
+ }
+ }
addChatMessage(game, null, `It is ${name}'s turn.`);
game.state = 'normal';
}