Story after Oliver's first test: metal, a straight prologue, 2x3 chapters

- The gore bed is "Dystopian Survival", made loopable: the last ten
  seconds cross-faded into the first ten, 203.5 s, as MP3 at 128k (the
  decoder strips the encoder's delay, so the seam has no gap). High-pass
  at 40 Hz instead of 800, level matched to the menu theme.
- The prologue no longer drops into gore for a moment: after the turn,
  act I's card and cup take over directly.
- RESET STORY under the build stamp (two taps; test only). It resets
  the story, league, cups and title, keeps the level, and pushes at once
  so the mirror cannot hand the old act back.
- The story screens have sound: a whoosh and a boom for the act card,
  applause and the rack's own click as each weapon lands, applause and
  a pock per arcade door on the act's end.
- Chapters are six games: mid-boss after three, the horde after four,
  the act boss after six.

v384, staging only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Opus 5.5 committed 2026-10-15 15:12:52 +02:00
1 parent 9e6d566c08
commit 16d0532f97
9 files changed
+119 -30

No files matched your search

+7 -1
View File
@@ -250,6 +250,10 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat
#intro .slogan b { color: #c9564a; }
/* which build is served — filled in by main.js, empty (and invisible) if the header is missing */
#build { margin: 14px 0 0; font-size: 9px; color: #4a5a52; letter-spacing: 0.5px; }
#mReset { display: block; margin: 6px auto 0; padding: 6px 10px; background: none; border: 1px solid #2c3a33;
color: #6b7a72; font: 400 9px Silkscreen, monospace; letter-spacing: 1px; cursor: pointer; }
#mReset.arm { color: #d9705f; border-color: #d9705f; }
#splash.busy #mReset { display: none; }
/* ONE overlay, four panels, swapped by #intro[data-stage]. Keeping the backdrop and the card frame
alive across every screen is the point — a screen that unmounts the whole overlay flashes the
court through between menus. */
@@ -973,6 +977,8 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat
<button class="btn sec" id="mRanks">WORLD BOARD</button>
</div>
<p id="build"></p>
<!-- TEST ONLY (Oliver, 2026-10-15): start the story over. config.STORE.testReset hides it. -->
<button id="mReset" type="button">RESET STORY</button>
</div>
</div>
<!-- Additional solo modes; multiplayer has a separate splash entrance. -->
@@ -1195,6 +1201,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat
</div>
</div>
<span id="recLamp" hidden>REC</span>
<script type="module" src="src/main.js?v=383"></script>
<script type="module" src="src/main.js?v=384"></script>
</body>
</html>