1
0

Fix VP card to honor game rule

Signed-off-by: James Ketrenos <james_eikona@ketrenos.com>
This commit is contained in:
James Ketrenos 2022-03-28 16:34:43 -07:00
parent e9a542bc64
commit 0c19b38c4d

View File

@ -13,8 +13,9 @@ const ViewCard = ({cardActive, setCardActive}) => {
const { ws } = useContext(GlobalContext);
const [priv, setPriv] = useState(undefined);
const [turns, setTurns] = useState(0);
const [rules, setRules] = useState({});
const fields = useMemo(() => [
'private', 'turns'
'private', 'turns', 'rules'
], []);
const onWsMessage = (event) => {
const data = JSON.parse(event.data);
@ -27,6 +28,10 @@ const ViewCard = ({cardActive, setCardActive}) => {
if ('turns' in data.update && data.update.turns !== turns) {
setTurns(data.update.turns);
}
if ('rules' in data.update
&& !equal(data.update.rules, rules)) {
setRules(rules);
}
break;
default:
break;
@ -84,6 +89,11 @@ const ViewCard = ({cardActive, setCardActive}) => {
lookup = cardActive.type;
}
const points = ('victory-points' in rules)
&& rules['victory-points'].enabled
? rules['victory-points'].points
: 0;
let cardName = '';
switch (lookup) {
case 'army':
@ -99,7 +109,7 @@ const ViewCard = ({cardActive, setCardActive}) => {
description = <><div><b>1</b> victory point.</div>
<div>You only reveal your victory point cards when the game is over, either
when you or an opponent
reaches <b>10+</b> victory points on their turn and declares
reaches <b>{points}+</b> victory points on their turn and declares
victory!</div></>;
break;
case 'progress-road-1':
@ -140,7 +150,7 @@ const ViewCard = ({cardActive, setCardActive}) => {
points++;
}
});
canPlay = points >= 10;
canPlay = points >= points;
if (!canPlay && !cardActive.played) {
description = <>{description}<div>You do not have enough victory points to play this card yet. You can currently reach <b>{points}</b> points.</div></>;
}