Started mapping into trader and banks
Signed-off-by: James Ketrenos <james_eikona@ketrenos.com>
This commit is contained in:
parent
6fa528ade3
commit
5c5baa6522
@ -1038,10 +1038,8 @@ class Table extends React.Component {
|
||||
if (player) {
|
||||
let stacks = {};
|
||||
game.player.development.forEach(item => (item.type in stacks) ? stacks[item.type].push(item.card) : stacks[item.type] = [item.card]);
|
||||
console.log(stacks);
|
||||
development = [];
|
||||
for (let type in stacks) {
|
||||
console.log(type, stacks[type]);
|
||||
const cards = stacks[type].map(card => <Development table={this} type={`${type}-${card}`}/>);
|
||||
development.push(<div key={type} className="Stack">{ cards }</div>);
|
||||
}
|
||||
|
@ -225,7 +225,7 @@ const processGameOrder = (game, player, dice) => {
|
||||
message = `Initial settlement placement has started!`;
|
||||
game.direction = 'forward';
|
||||
game.turn = {
|
||||
actions: ['place-settlement'],
|
||||
actions: [ 'place-settlement' ],
|
||||
limits: { corners: getValidCorners(game) },
|
||||
name: getPlayerName(game, players[0]),
|
||||
color: getPlayerColor(game, players[0])
|
||||
@ -1125,7 +1125,7 @@ router.put("/:id/:action/:value?", async (req, res) => {
|
||||
error = `There are no valid locations for you to place a settlement.`;
|
||||
break;
|
||||
}
|
||||
game.turn.actions = ['place-settlement'];
|
||||
game.turn.actions = [ 'place-settlement' ];
|
||||
game.turn.limits = { corners };
|
||||
addChatMessage(game, session, `${game.turn.name} is considering placing a settlement.`);
|
||||
break;
|
||||
@ -1154,6 +1154,11 @@ router.put("/:id/:action/:value?", async (req, res) => {
|
||||
error = `This location already has a settlement belonging to ${playerNameFromColor(game, corner.color)}!`;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!player.banks) {
|
||||
player.banks = [];
|
||||
}
|
||||
|
||||
if (game.state === 'normal') {
|
||||
if (player.brick < 1 || player.wood < 1 || player.wheat < 1 || player.sheep < 1) {
|
||||
error = `You have insufficient resources to build a settlement.`;
|
||||
@ -1170,6 +1175,13 @@ router.put("/:id/:action/:value?", async (req, res) => {
|
||||
player.sheep--;
|
||||
corner.color = session.color;
|
||||
corner.type = 'settlement';
|
||||
if (layout.corners[index].banks.length) {
|
||||
layout.corners[index].banks.forEach(bank => {
|
||||
if (player.banks.indexOf(bank) === -1) {
|
||||
player.banks.push(bank);
|
||||
}
|
||||
});
|
||||
}
|
||||
game.turn.actions = [];
|
||||
game.turn.limits = {};
|
||||
addChatMessage(game, session, `${name} placed a settlement.`);
|
||||
@ -1179,6 +1191,13 @@ router.put("/:id/:action/:value?", async (req, res) => {
|
||||
}
|
||||
corner.color = session.color;
|
||||
corner.type = 'settlement';
|
||||
if (layout.corners[index].banks.length) {
|
||||
layout.corners[index].banks.forEach(bank => {
|
||||
if (player.banks.indexOf(bank) === -1) {
|
||||
player.banks.push(bank);
|
||||
}
|
||||
});
|
||||
}
|
||||
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.`);
|
||||
@ -1699,6 +1718,8 @@ const shuffleBoard = (game) => {
|
||||
seq.push(i);
|
||||
}
|
||||
shuffle(seq);
|
||||
console.log('TODO: Map borderOrder to an array of the border values; each border has 3 slots.');
|
||||
consoel.log('This is then used in generating "banks" to determine maritime trading values for each player.');
|
||||
game.borderOrder = seq.slice();
|
||||
for (let i = 6; i < 19; i++) {
|
||||
seq.push(i);
|
||||
|
@ -200,13 +200,13 @@ const layout = {
|
||||
],
|
||||
corners: [
|
||||
/* 0 */
|
||||
/* 0 */ Corner([2, 0],[17,0]),
|
||||
/* 1 */ Corner([0, 1],[0,1]),
|
||||
/* 0 */ Corner([2, 0],[0]),
|
||||
/* 1 */ Corner([0, 1],[0]),
|
||||
/* 2 */ Corner([1,3,5],[1]),
|
||||
/* 3 */ Corner([3,4],[1,2]),
|
||||
/* 4 */ Corner([8,4,6],[2]),
|
||||
/* 5 */ Corner([6,7],[2,3]),
|
||||
/* 6 */ Corner([7,9],[3,4]),
|
||||
/* 5 */ Corner([6,7],[3]),
|
||||
/* 6 */ Corner([7,9],[3]),
|
||||
/* 7 */ Corner([12,10],[16,17]),
|
||||
/* 8 */ Corner([2,10,11],[17]),
|
||||
/* 9 */ Corner([11,13,15],[]),
|
||||
@ -216,8 +216,8 @@ const layout = {
|
||||
/* 12 */ Corner([8,16,17],[]),
|
||||
/* 13 */ Corner([17,19,21],[]),
|
||||
/* 14 */ Corner([9,19,20],[4]),
|
||||
/* 15 */ Corner([20,22],[4,5]),
|
||||
/* 16 */ Corner([23,25],[16,15]),
|
||||
/* 15 */ Corner([20,22],[5]),
|
||||
/* 16 */ Corner([23,25],[15]),
|
||||
/* 17 */ Corner([12,23,24],[16]),
|
||||
/* 18 */ Corner([24,26,28],[]),
|
||||
/* 19 */ Corner([15,26,27],[]),
|
||||
@ -228,8 +228,8 @@ const layout = {
|
||||
/* 23 */ Corner([21,32,33],[]),
|
||||
/* 24 */ Corner([33,35,37],[]),
|
||||
/* 25 */ Corner([22,35,36],[5]),
|
||||
/* 26 */ Corner([36,38],[5,6]),
|
||||
/* 27 */ Corner([25,39],[15,14]),
|
||||
/* 26 */ Corner([36,38],[6]),
|
||||
/* 27 */ Corner([25,39],[15]),
|
||||
/* 28 */ Corner([39,40,42],[14]),
|
||||
/* 29 */ Corner([28,40,41],[]),
|
||||
/* 30 */
|
||||
@ -240,7 +240,7 @@ const layout = {
|
||||
/* 34 */ Corner([47,49,51],[]),
|
||||
/* 35 */ Corner([37,49,50],[]),
|
||||
/* 36 */ Corner([50,53,52],[7]),
|
||||
/* 37 */ Corner([38,53],[6,7]),
|
||||
/* 37 */ Corner([38,53],[6]),
|
||||
/* 38 */ Corner([42,54],[14,13]),
|
||||
/* 39 */ Corner([54,55,57],[13]),
|
||||
/* 40 */
|
||||
@ -251,14 +251,14 @@ const layout = {
|
||||
/* 44 */ Corner([51,61,62],[]),
|
||||
/* 45 */ Corner([62,65,64],[8]),
|
||||
/* 46 */ Corner([52,65],[7,8]),
|
||||
/* 47 */ Corner([57,66],[13,12]),
|
||||
/* 48 */ Corner([67,66],[12,11]),
|
||||
/* 47 */ Corner([57,66],[12]),
|
||||
/* 48 */ Corner([67,66],[12]),
|
||||
/* 49 */ Corner([60,67,68],[11]),
|
||||
/* 50 */
|
||||
/* 50 */ Corner([68,69],[11,10]),
|
||||
/* 51 */ Corner([69,70,63],[10]),
|
||||
/* 52 */ Corner([70,71],[10,9]),
|
||||
/* 53 */ Corner([64,71],[8,9]),
|
||||
/* 52 */ Corner([70,71],[9]),
|
||||
/* 53 */ Corner([64,71],[9]),
|
||||
]
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user