1
0

Fix House Rules to enable/disable correctly and to only activate in server if "enabled" is set

Signed-off-by: James Ketrenos <james_eikona@ketrenos.com>
This commit is contained in:
James Ketrenos 2022-05-01 17:31:31 -07:00
parent c9f1e64d97
commit 3d8226a3e8
3 changed files with 11 additions and 9 deletions

View File

@ -155,7 +155,7 @@ const HouseRules = ({ houseRulesActive, setHouseRulesActive }) => {
}, { }, {
title: `Everyone gets one re-roll`, title: `Everyone gets one re-roll`,
key: `everyone-gets-one-reroll`, key: `everyone-gets-one-reroll`,
description: `Each player gets one chance re - roll at any point.`, description: `Each player gets one chance re-roll at any point.`,
element: <NotImplemented {...{ element: <NotImplemented {...{
ws, rules, ws, rules,
field: `everyone-gets-one-reroll` field: `everyone-gets-one-reroll`

View File

@ -136,7 +136,7 @@ const MediaAgent = ({setPeers}) => {
connection.addEventListener('icecandidateerror', (event) => { connection.addEventListener('icecandidateerror', (event) => {
if (event.errorCode === 701) { if (event.errorCode === 701) {
if (connection.icegatheringstate === 'gathering') { if (connection.iceGatheringState === 'gathering') {
console.log(`media-agent - Unable to reach host: ${event.url}`); console.log(`media-agent - Unable to reach host: ${event.url}`);
} else { } else {
console.error(`media-agent - icecandidateerror - `, event.errorCode, event.hostcandidate, event.url, event.errorText); console.error(`media-agent - icecandidateerror - `, event.errorCode, event.hostcandidate, event.url, event.errorText);

View File

@ -292,8 +292,7 @@ const distributeResources = (game, roll) => {
if (!tile.robber) { if (!tile.robber) {
receives[active.color][resource.type] += count; receives[active.color][resource.type] += count;
} else { } else {
if (`robin-hood-robber` in game.rules if (isRuleEnabled(game, `robin-hood-robber`)
&& game.rules[`robin-hood-robber`].enabled
&& game.players[active.color].points <= 2) { && game.players[active.color].points <= 2) {
addChatMessage(game, null, `Robber does not steal ${count} addChatMessage(game, null, `Robber does not steal ${count}
${resource.type} from ${game.players[active.color].name} ` + ${resource.type} from ${game.players[active.color].name} ` +
@ -358,13 +357,17 @@ const pickRobber = (game) => {
} }
} }
const isRuleEnabled = (game, rule) => {
return rule in game.rules && game.rules[rule].enabled;
};
const processRoll = (game, session, dice) => { const processRoll = (game, session, dice) => {
addChatMessage(game, session, `${session.name} rolled ${dice[0]}, ${dice[1]}.`); addChatMessage(game, session, `${session.name} rolled ${dice[0]}, ${dice[1]}.`);
game.turn.roll = dice[0] + dice[1]; game.turn.roll = dice[0] + dice[1];
if (game.turn.roll !== 7) { if (game.turn.roll !== 7) {
distributeResources(game, game.turn.roll); distributeResources(game, game.turn.roll);
if ('twelve-and-two-are-synonyms' in game.rules) { if (isRuleEnabled(game, 'twelve-and-two-are-synonyms')) {
if (dice[0] + dice[1] === 12) { if (dice[0] + dice[1] === 12) {
addChatMessage(game, session, `House rule 'Twelve and Two are addChatMessage(game, session, `House rule 'Twelve and Two are
Synonyms' activated. Twelve was rolled, so two is triggered too!`); Synonyms' activated. Twelve was rolled, so two is triggered too!`);
@ -377,7 +380,7 @@ const processRoll = (game, session, dice) => {
} }
} }
if ('roll-double-roll-again' in game.rules) { if (isRuleEnabled(game, 'roll-double-roll-again')) {
if (dice[0] === dice[1]) { if (dice[0] === dice[1]) {
addChatMessage(game, session, `House rule 'Roll Double, Roll addChatMessage(game, session, `House rule 'Roll Double, Roll
Again' activated.`); Again' activated.`);
@ -2591,9 +2594,8 @@ const placeRoad = (game, session, index) => {
const getVictoryPointRule = (game) => { const getVictoryPointRule = (game) => {
const minVP = 10; const minVP = 10;
if (!('victory-points' in game.rules) if (!isRuleEnabled(game, 'victory-points')
|| (!('points' in game.rules['victory-points'])) || !('points' in game.rules['victory-points'])) {
|| !game.rules['victory-points'].enabled) {
return minVP; return minVP;
} }
return game.rules['victory-points'].points; return game.rules['victory-points'].points;