From 8fa7958ba00fcd65322dbb9a3c77d4dcec50f65d Mon Sep 17 00:00:00 2001 From: Catalin Constantin Mititiuc Date: Thu, 28 Aug 2025 10:45:28 -0700 Subject: [PATCH] Complete military symbols and add a map --- public/assets/css/map.css | 4 + public/assets/images/counters.svg | 89 +++++++--- public/assets/images/map5.svg | 275 ++++++++++++++++++++++++++++++ src/modules/record_sheet.js | 48 ++++++ src/modules/scenario.js | 3 + src/modules/scenarios.js | 5 + 6 files changed, 404 insertions(+), 20 deletions(-) create mode 100644 public/assets/images/map5.svg diff --git a/public/assets/css/map.css b/public/assets/css/map.css index 9c0c189..3f686c8 100644 --- a/public/assets/css/map.css +++ b/public/assets/css/map.css @@ -238,6 +238,10 @@ pattern use { --y-step: calc((3 / 2) * var(--circumradius)); } +g.start-locations { + display: none; +} + g[data-y], g.start-locations > g { --translateX: 0; transform: translate(var(--translateX), calc(var(--y-step) * var(--i))); diff --git a/public/assets/images/counters.svg b/public/assets/images/counters.svg index 4ff96a3..125cb29 100644 --- a/public/assets/images/counters.svg +++ b/public/assets/images/counters.svg @@ -1,6 +1,5 @@ - + @@ -34,18 +33,27 @@ + - - - - + + + - + + + + + + + + + + @@ -145,28 +153,67 @@ - + + + + + - - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - @@ -230,7 +277,8 @@ - + + @@ -245,7 +293,7 @@ - + @@ -253,7 +301,6 @@ - @@ -295,9 +342,10 @@ - - + + @@ -306,7 +354,8 @@ - + diff --git a/public/assets/images/map5.svg b/public/assets/images/map5.svg new file mode 100644 index 0000000..19e3bad --- /dev/null +++ b/public/assets/images/map5.svg @@ -0,0 +1,275 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/modules/record_sheet.js b/src/modules/record_sheet.js index 3c933d5..3153b2b 100644 --- a/src/modules/record_sheet.js +++ b/src/modules/record_sheet.js @@ -164,6 +164,54 @@ const weapons = { shortRange: 'Special', longRange: 'Special' }, + fist: { + name: 'Fist', + damage: '(curr. MP/2)B', + shortRange: 'Adj.', + longRange: '-' + }, + blackjack: { + name: 'Blackjack', + damage: '5B', + shortRange: 'Adjacent', + longRange: '-' + }, + stunstick: { + name: 'Stun Stick', + damage: '8B', + shortRange: 'Adjacent', + longRange: '-' + }, + neuralwhip: { + name: 'Neural Whip', + damage: '8B, 3L', + shortRange: 'Adjacent', + longRange: '-' + }, + sword: { + name: 'Sword', + damage: '4L', + shortRange: 'Adjacent', + longRange: '-' + }, + vibroblade: { + name: 'Vibro-Blade', + damage: '5L', + shortRange: 'Adjacent', + longRange: '-' + }, + bayonetknife: { + name: 'Bayonet/Knife', + damage: '3L', + shortRange: 'Adjacent', + longRange: '-' + }, + club: { + name: 'Club', + damage: '4B, 1L', + shortRange: 'Adjacent', + longRange: '-' + }, } function createIcon(number) { diff --git a/src/modules/scenario.js b/src/modules/scenario.js index 235827e..bad18ed 100644 --- a/src/modules/scenario.js +++ b/src/modules/scenario.js @@ -102,6 +102,9 @@ export async function build(svg, request) { if (scenarioBuildings) svg.querySelector('.gameboard .buildings').replaceWith(svg.ownerDocument.importNode(scenarioBuildings, true)); + if (startLocs) + grid.after(svg.ownerDocument.importNode(startLocs, true)); + await loadScript(scenario, svg, 'radial') return loadScript(scenario, svg, 'map'); } diff --git a/src/modules/scenarios.js b/src/modules/scenarios.js index f80c4cc..0fa6499 100644 --- a/src/modules/scenarios.js +++ b/src/modules/scenarios.js @@ -2,6 +2,7 @@ import sideShow from './assets/images/scenario-side_show.svg'; import dragonHunting from './assets/images/scenario-dragon_hunting.svg'; import raceAgainstTime from './assets/images/scenario-race_against_time.svg'; import map4 from './assets/images/map4.svg'; +import map5 from './assets/images/map5.svg'; import blankMap from './assets/images/blank-map.svg'; export const scenarios = { @@ -21,6 +22,10 @@ export const scenarios = { hashed: map4, title: 'Test map' }, + 'map5': { + hashed: map5, + title: 'Weapon symbols' + }, 'blank-map': { hashed: blankMap, title: 'Blank map'