diff --git a/assets/_famroll.py b/assets/_famroll.py index b80e9d2..ae29df2 100644 --- a/assets/_famroll.py +++ b/assets/_famroll.py @@ -35,7 +35,20 @@ FAMS = { 'bb': ('z_e1', 'a small young ZOMBIE BALL BOY in a pale tournament polo and shorts, slight and short'), 'st': ('z_d1', 'a ZOMBIE STEWARD in a dark uniform jacket with a high collar, stiff and official'), 'ru': ('z_f1', 'a wiry FAST ZOMBIE RUNNER in a sleeveless tennis top, lean and forward-leaning'), - 'gk': ('z_boss1', 'a heavy ZOMBIE GROUNDSKEEPER in stained work overalls and a shapeless hat'), + # THE GROUNDSKEEPER ANCHORS ON THE HAND-FINISHED FRAME, not on z_boss1 (2026-08-16). His boss art + # is the last of the coarse legacy sheets, and the old description here ("work overalls and a + # shapeless hat") described a character the art never showed — so the roll had to average a picture + # and a paragraph that disagreed. `_ref_gk_hi` is his throw frame redrawn at the grain the other + # bosses ship at (density 0.34 against z_bosst1's 0.21) and it is now the source of truth for his + # build and colours. His ball hopper is a prop AT HEAD HEIGHT — the exact thing a 31-figure sheet + # cannot hold — so it is named and removed here, the same way the 2026-08-15 six had to be. + 'gk': ('_ref_gk_hi', 'a heavy ZOMBIE GROUNDSKEEPER in a DARK GREEN CLUB BLAZER worn open over a ' + 'grubby pale shirt, with a small gold club crest on the breast pocket, brown ' + 'leather braces over the shoulders, loose olive-brown work trousers and heavy ' + 'brown work boots. A gaunt grey-green head with sunken yellow eyes and bared ' + 'teeth, no hat, no hair. The wire basket of tennis balls image 2 shows on his ' + 'shoulder is NOT part of him: there is no basket and there are no loose balls ' + 'in any pose'), 'lj': ('z_judge1', 'a ZOMBIE LINE JUDGE in a dark blazer and pale trousers, upright and severe'), # the 2026-08-13 four (Oliver picked them): each anchors on its own settled BOSS frame, so the # match opponent and the chapter boss are the same person — which is the roster's whole narrative diff --git a/assets/_ref_gk_hi.png b/assets/_ref_gk_hi.png new file mode 100644 index 0000000..ac42f9c Binary files /dev/null and b/assets/_ref_gk_hi.png differ diff --git a/assets/z_gk1.png b/assets/z_gk1.png index be38b26..5cb1fff 100644 Binary files a/assets/z_gk1.png and b/assets/z_gk1.png differ diff --git a/assets/z_gk2.png b/assets/z_gk2.png index 2b1de54..0f3a508 100644 Binary files a/assets/z_gk2.png and b/assets/z_gk2.png differ diff --git a/assets/z_gk3.png b/assets/z_gk3.png index 1b5b794..acea7f7 100644 Binary files a/assets/z_gk3.png and b/assets/z_gk3.png differ diff --git a/assets/z_gk4.png b/assets/z_gk4.png index e7ee34c..dcd6905 100644 Binary files a/assets/z_gk4.png and b/assets/z_gk4.png differ diff --git a/assets/z_gkbounce.png b/assets/z_gkbounce.png index cc202db..0e885bd 100644 Binary files a/assets/z_gkbounce.png and b/assets/z_gkbounce.png differ diff --git a/assets/z_gkfall1.png b/assets/z_gkfall1.png index 48e8fdd..3d13dc3 100644 Binary files a/assets/z_gkfall1.png and b/assets/z_gkfall1.png differ diff --git a/assets/z_gkfall2.png b/assets/z_gkfall2.png index adee4d7..80143c9 100644 Binary files a/assets/z_gkfall2.png and b/assets/z_gkfall2.png differ diff --git a/assets/z_gkfall3.png b/assets/z_gkfall3.png index 70aefb1..e088176 100644 Binary files a/assets/z_gkfall3.png and b/assets/z_gkfall3.png differ diff --git a/assets/z_gkrise.png b/assets/z_gkrise.png index 992bbb5..f8eaa4a 100644 Binary files a/assets/z_gkrise.png and b/assets/z_gkrise.png differ diff --git a/assets/z_gkserve.png b/assets/z_gkserve.png index 7e1516d..0a1861e 100644 Binary files a/assets/z_gkserve.png and b/assets/z_gkserve.png differ diff --git a/assets/z_gktoss.png b/assets/z_gktoss.png index b948b00..5a13f0e 100644 Binary files a/assets/z_gktoss.png and b/assets/z_gktoss.png differ diff --git a/assets/z_gkw1.png b/assets/z_gkw1.png index 304e44b..82c1906 100644 Binary files a/assets/z_gkw1.png and b/assets/z_gkw1.png differ diff --git a/assets/z_gkw1b.png b/assets/z_gkw1b.png index 9b3cff9..4133eb2 100644 Binary files a/assets/z_gkw1b.png and b/assets/z_gkw1b.png differ diff --git a/assets/z_gkw1bounce.png b/assets/z_gkw1bounce.png index 56ac209..d0a2106 100644 Binary files a/assets/z_gkw1bounce.png and b/assets/z_gkw1bounce.png differ diff --git a/assets/z_gkw1fall1.png b/assets/z_gkw1fall1.png index 9368bb1..90956da 100644 Binary files a/assets/z_gkw1fall1.png and b/assets/z_gkw1fall1.png differ diff --git a/assets/z_gkw1fall2.png b/assets/z_gkw1fall2.png index 4f401ca..84b1f6e 100644 Binary files a/assets/z_gkw1fall2.png and b/assets/z_gkw1fall2.png differ diff --git a/assets/z_gkw1fall3.png b/assets/z_gkw1fall3.png index b84ee77..a7a4f08 100644 Binary files a/assets/z_gkw1fall3.png and b/assets/z_gkw1fall3.png differ diff --git a/assets/z_gkw1rise.png b/assets/z_gkw1rise.png index 145b7b2..5108d52 100644 Binary files a/assets/z_gkw1rise.png and b/assets/z_gkw1rise.png differ diff --git a/assets/z_gkw1s.png b/assets/z_gkw1s.png index 8efcdf4..4d17631 100644 Binary files a/assets/z_gkw1s.png and b/assets/z_gkw1s.png differ diff --git a/assets/z_gkw1serve.png b/assets/z_gkw1serve.png index db658b4..c3014a7 100644 Binary files a/assets/z_gkw1serve.png and b/assets/z_gkw1serve.png differ diff --git a/assets/z_gkw1toss.png b/assets/z_gkw1toss.png index d0038cd..20e97d4 100644 Binary files a/assets/z_gkw1toss.png and b/assets/z_gkw1toss.png differ diff --git a/assets/z_gkw2.png b/assets/z_gkw2.png index 0d54e76..701a752 100644 Binary files a/assets/z_gkw2.png and b/assets/z_gkw2.png differ diff --git a/assets/z_gkw2b.png b/assets/z_gkw2b.png index 5107438..a7dbfc8 100644 Binary files a/assets/z_gkw2b.png and b/assets/z_gkw2b.png differ diff --git a/assets/z_gkw2bounce.png b/assets/z_gkw2bounce.png index 64a15ba..abeacff 100644 Binary files a/assets/z_gkw2bounce.png and b/assets/z_gkw2bounce.png differ diff --git a/assets/z_gkw2fall1.png b/assets/z_gkw2fall1.png index 0e93c84..792f2f5 100644 Binary files a/assets/z_gkw2fall1.png and b/assets/z_gkw2fall1.png differ diff --git a/assets/z_gkw2fall2.png b/assets/z_gkw2fall2.png index 4cd22d4..1ba9e70 100644 Binary files a/assets/z_gkw2fall2.png and b/assets/z_gkw2fall2.png differ diff --git a/assets/z_gkw2fall3.png b/assets/z_gkw2fall3.png index fda6182..285b6cf 100644 Binary files a/assets/z_gkw2fall3.png and b/assets/z_gkw2fall3.png differ diff --git a/assets/z_gkw2rise.png b/assets/z_gkw2rise.png index e75e95b..b9ee3f4 100644 Binary files a/assets/z_gkw2rise.png and b/assets/z_gkw2rise.png differ diff --git a/assets/z_gkw2s.png b/assets/z_gkw2s.png index 4ff1cdd..b99566f 100644 Binary files a/assets/z_gkw2s.png and b/assets/z_gkw2s.png differ diff --git a/assets/z_gkw2serve.png b/assets/z_gkw2serve.png index d270728..8940604 100644 Binary files a/assets/z_gkw2serve.png and b/assets/z_gkw2serve.png differ diff --git a/assets/z_gkw2toss.png b/assets/z_gkw2toss.png index d1e26a2..6ab2d23 100644 Binary files a/assets/z_gkw2toss.png and b/assets/z_gkw2toss.png differ diff --git a/index.html b/index.html index e8a6351..6778449 100644 --- a/index.html +++ b/index.html @@ -659,6 +659,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one') { - + diff --git a/src/render.js b/src/render.js index 3a38d60..ae6383f 100644 --- a/src/render.js +++ b/src/render.js @@ -226,7 +226,7 @@ function farB(z) { // Asset cache-buster — bump with main.js?v=N (see the img.src note below). EXPORTED because the // menu screens hang tags on the same files, and two copies of this number is one copy too // many: the one that does not get bumped is the one that serves a cached 404. -export const SPRV = 139; +export const SPRV = 140; // The boot bar in main.js watches this. Nothing here CHANGES when things load — every sprite was // already requested at import — it just makes the wait visible and holds the menu back until the // last sheet has landed. See the onerror note below for the other half of "sometimes missing".