diff options
Diffstat (limited to 'play.js')
-rw-r--r-- | play.js | 79 |
1 files changed, 76 insertions, 3 deletions
@@ -225,6 +225,12 @@ function build_piece(cn, w, h) { } function on_init() { + document.getElementById("war_ends").addEventListener("mouseenter", on_focus_war_ends) + document.getElementById("war_ends").addEventListener("mouseleave", on_blur_war_ends) + + document.getElementById("last_played").addEventListener("mouseenter", on_focus_last_played) + document.getElementById("last_played").addEventListener("mouseleave", on_blur_last_played) + for (let c = 0; c <= 110; ++c) { let e = ui.cards[c] = document.createElement("div") e.className = "card card_" + c @@ -792,6 +798,10 @@ function sub_general(_match, p1) { return `<span class="tip" onclick="on_click_general_tip(${x})" onmouseenter="on_focus_general_tip(${x})" onmouseleave="on_blur_general_tip(${x})">${n}</span>` } +function sub_minus(match, p1) { + return "\u2212" + p1 +} + function sub_card(_match, p1) { let x = p1 | 0 let n = data.cards[x].title @@ -822,12 +832,67 @@ function on_blur_general_tip(s) { ui.generals[s].classList.remove("tip") } -function on_focus_card_tip(s) { - ui.last_played.className = "card shrink card_" + s +function on_focus_card_tip(c) { + document.getElementById("tooltip").className = "card card_" + c } function on_blur_card_tip() { - ui.last_played.className = "card shrink card_" + view.last_played + document.getElementById("tooltip").classList = "hide" +} + +function on_focus_last_played() { + if (view.last_played) + document.getElementById("tooltip").className = "card card_" + view.last_played +} + +function on_blur_last_played() { + document.getElementById("tooltip").classList = "hide" +} + +function on_focus_war_ends() { + if (view.war_ends) + document.getElementById("tooltip").className = "card card_" + view.war_ends +} + +function on_blur_war_ends() { + document.getElementById("tooltip").classList = "hide" +} + +const ICONS = { + D1: '<span class="die white d1"></span>', + D2: '<span class="die white d2"></span>', + D3: '<span class="die white d3"></span>', + D4: '<span class="die white d4"></span>', + D5: '<span class="die white d5"></span>', + D6: '<span class="die white d6"></span>', + A1: '<span class="number ar n1">1</span>', + A2: '<span class="number ar n2">2</span>', + A3: '<span class="number ar n3">3</span>', + A4: '<span class="number ar n4">4</span>', + A5: '<span class="number ar n5">5</span>', + A6: '<span class="number ar n6">6</span>', + AB1: '<span class="number br_a n1">1</span>', + AB2: '<span class="number br_a n2">2</span>', + AB3: '<span class="number br_a n3">3</span>', + AB4: '<span class="number br_a n4">4</span>', + AB5: '<span class="number br_a n5">5</span>', + AB6: '<span class="number br_a n6">6</span>', + BB1: '<span class="number br_b n1">1</span>', + BB2: '<span class="number br_b n2">2</span>', + BB3: '<span class="number br_b n3">3</span>', + BB4: '<span class="number br_b n4">4</span>', + BB5: '<span class="number br_b n5">5</span>', + BB6: '<span class="number br_b n6">6</span>', + FB1: '<span class="number br_f n1">1</span>', + FB2: '<span class="number br_f n2">2</span>', + FB3: '<span class="number br_f n3">3</span>', + FB4: '<span class="number br_f n4">4</span>', + FB5: '<span class="number br_f n5">5</span>', + FB6: '<span class="number br_f n6">6</span>', +} + +function sub_icon(match) { + return ICONS[match] || match } function on_log(text) { @@ -870,6 +935,14 @@ function on_log(text) { text = text.replace(/</g, "<") text = text.replace(/>/g, ">") + text = text.replace(/-(\d)/g, sub_minus) + + text = text.replace(/\b[D][1-6]\b/g, sub_icon) + text = text.replace(/\b[A][1-6]\b/g, sub_icon) + text = text.replace(/\bAB[1-6]\b/g, sub_icon) + text = text.replace(/\bBB[1-6]\b/g, sub_icon) + text = text.replace(/\bFB[1-6]\b/g, sub_icon) + text = text.replace(/C(\d+)/g, sub_card) text = text.replace(/S(\d+)/g, sub_space) text = text.replace(/G(\d+)/g, sub_general) |