From 7111623b8bff1d8f616e56dca131d65b0d7761ea Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Mon, 8 Jan 2024 13:49:08 +0100 Subject: Use 1-3 in data (and map to 1/2/3 in display). --- cards.css | 3 +++ play.js | 18 +++++++++++++++++- rules.js | 11 ----------- tools/gendata.js | 23 ++++++++++++++++++++--- 4 files changed, 40 insertions(+), 15 deletions(-) diff --git a/cards.css b/cards.css index b7506d3..27f0a22 100644 --- a/cards.css +++ b/cards.css @@ -129,10 +129,13 @@ line-height: 24px; text-align: center; margin: 12px 0; + font-variant-numeric: tabular-nums; } +/* .dice_area::before { content: " ~ " } .dice_area::after { content: " ~ " } +*/ .star { position: absolute; diff --git a/play.js b/play.js index 22e7da3..23468a3 100644 --- a/play.js +++ b/play.js @@ -2,6 +2,17 @@ /* global data, view, send_action, action_button, player */ +const dice_text_map = { + "1-3": "1/2/3", + "2-4": "2/3/4", + "3-5": "3/4/5", + "4-6": "4/5/6", + "(1-3)": "(1/2/3)", + "(2-4)": "(2/3/4)", + "(3-5)": "(3/4/5)", + "(4-6)": "(4/5/6)", +} + const wing_name = [ "red", "pink", "blue", "dkblue" ] const side_color = [ "red", "red", "blue", "blue" ] const reactions = [ "Screen", "Counterattack", "Absorb" ] @@ -199,9 +210,14 @@ function create_formation_card(id, tip=false) { } if (card.dice) { + let dice_text = dice_text_map[card.dice] || card.dice + dice_text = dice_text.replaceAll("-", " – ") + dice_text = dice_text.replaceAll("/", " / ") + dice_text = dice_text.replace("(", "( ") + dice_text = dice_text.replace(")", " )") if (card.morale === 2) append_div(e, "star", '★') - append_div(e, "dice_area", card.dice) + append_div(e, "dice_area", dice_text) } function create_action(a, ix) { diff --git a/rules.js b/rules.js index dbca499..93e8a80 100644 --- a/rules.js +++ b/rules.js @@ -991,12 +991,10 @@ const place_dice_check = { "Any": (c) => check_range(c, 1, 6), "1/2": (c) => check_range(c, 1, 2), "1-3": (c) => check_range(c, 1, 3), - "1/2/3": (c) => check_range(c, 1, 3), "1-4": (c) => check_range(c, 1, 4), "1-5": (c) => check_range(c, 1, 5), "2/3": (c) => check_range(c, 2, 2), "2-4": (c) => check_range(c, 2, 4), - "2/3/4": (c) => check_range(c, 2, 4), "2-5": (c) => check_range(c, 2, 5), "2-6": (c) => check_range(c, 2, 6), "3/4": (c) => check_range(c, 3, 4), @@ -1004,7 +1002,6 @@ const place_dice_check = { "3-6": (c) => check_range(c, 3, 6), "4/5": (c) => check_range(c, 4, 5), "4-6": (c) => check_range(c, 4, 6), - "4/5/6": (c) => check_range(c, 4, 6), "5/6": (c) => check_range(c, 5, 6), "(1/2)": (c) => check_range(c, 1, 2), "(1-3)": (c) => check_range(c, 1, 3), @@ -1044,21 +1041,17 @@ const place_dice_gen = { "Any": (c) => gen_range(c, 1, 6), "1/2": (c) => gen_range(c, 1, 2), "1-3": (c) => gen_range(c, 1, 3), - "1/2/3": (c) => gen_range(c, 1, 3), "1-4": (c) => gen_range(c, 1, 4), "1-5": (c) => gen_range(c, 1, 5), "2/3": (c) => gen_range(c, 2, 2), "2-4": (c) => gen_range(c, 2, 4), - "2/3/4": (c) => gen_range(c, 2, 4), "2-5": (c) => gen_range(c, 2, 5), "2-6": (c) => gen_range(c, 2, 6), "3/4": (c) => gen_range(c, 3, 4), "3-5": (c) => gen_range(c, 3, 5), - "3/4/5": (c) => gen_range(c, 3, 5), "3-6": (c) => gen_range(c, 3, 6), "4/5": (c) => gen_range(c, 4, 5), "4-6": (c) => gen_range(c, 4, 6), - "4/5/6": (c) => gen_range(c, 4, 6), "5/6": (c) => gen_range(c, 5, 6), "(1/2)": (c) => gen_range(c, 1, 2), "(1-3)": (c) => gen_range(c, 1, 3), @@ -1098,21 +1091,17 @@ const place_dice_take = { "Any": (c, d) => take_single(c, d), "1/2": (c, d) => take_single(c, d), "1-3": (c, d) => take_single(c, d), - "1/2/3": (c, d) => take_single(c, d), "1-4": (c, d) => take_single(c, d), "1-5": (c, d) => take_single(c, d), "2/3": (c, d) => take_single(c, d), "2-4": (c, d) => take_single(c, d), - "2/3/4": (c, d) => take_single(c, d), "2-5": (c, d) => take_single(c, d), "2-6": (c, d) => take_single(c, d), "3/4": (c, d) => take_single(c, d), "3-5": (c, d) => take_single(c, d), - "3/4/5": (c, d) => take_single(c, d), "3-6": (c, d) => take_single(c, d), "4/5": (c, d) => take_single(c, d), "4-6": (c, d) => take_single(c, d), - "4/5/6": (c, d) => take_single(c, d), "5/6": (c, d) => take_single(c, d), "(1/2)": (c, d) => take_single(c, d), "(1-3)": (c, d) => take_single(c, d), diff --git a/tools/gendata.js b/tools/gendata.js index bc7c996..cb938e1 100644 --- a/tools/gendata.js +++ b/tools/gendata.js @@ -12,6 +12,17 @@ const WING_ICON = [ "\u2666", "\u2665", "\u2663", "\u2660" ] const SQUEEZE_BOXES = [ "82A", "128A", "136B" , "274B", "291A" ] const SQUEEZE_MARGINS = [ "91B", "239B", "274B", "291A", "69B" ] +const dice_text_map = { + "1-3": "1/2/3", + "2-4": "2/3/4", + "3-5": "3/4/5", + "4-6": "4/5/6", + "(1-3)": "(1/2/3)", + "(2-4)": "(2/3/4)", + "(3-5)": "(3/4/5)", + "(4-6)": "(4/5/6)", +} + var cards = [ ] var card_index = {} var cards_show = [ ] @@ -42,6 +53,7 @@ function get_html_effect(effect) { effect = effect.replace(" If reduced to", "
If reduced to") effect = effect.replace(" Take dice", "
Take dice") effect = effect.replace(" (See", "
(See") + effect = effect.replace(" You CHOOSE", "
You CHOOSE") return effect } @@ -224,9 +236,14 @@ for (let c of card_records) { } if (c.dice) { + let dice_text = dice_text_map[c.dice] || c.dice + dice_text = dice_text.replaceAll("-", " − ") + dice_text = dice_text.replaceAll("/", " / ") + dice_text = dice_text.replace("(", "( ") + dice_text = dice_text.replace(")", " )") if (card.morale === 2) html.push(`
`) - html.push(`
${c.dice}
`) + html.push(`
${dice_text}
`) } function make_action(type, requirement, target, effect, rule_text, short) { @@ -545,13 +562,13 @@ for (let s of scenario_records) {
${s.player1}
-
Cards ${s.cards1}
+
Cards ${s.cards1.replace(",",", ").replaceAll("-"," – ")}
Morale: ${s.morale1}
${s.tactical1 ? "Tactical Victory: " + s.tactical1 : ""}
${s.player2}
-
Cards ${s.cards2}
+
Cards ${s.cards2.replace(",",", ").replaceAll("-"," – ")}
Morale: ${s.morale2}
${s.name !== "Fleurus" && s.tactical2 ? "Tactical Victory: " + s.tactical2 : ""}
-- cgit v1.2.3