Active play and the Watchtower Depths dungeon

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
rope 2026-10-24 12:05:23 +01:00
parent db1a00e8aa
commit 9d61de2012
9 changed files with 790 additions and 56 deletions

View file

@ -56,6 +56,19 @@ Beta. The core game is in place; changes from here are mostly balance and tuning
(miner: a target's resistance stops counting), Barricade (builder: the group
takes less), Hearty Meal (homesteader: the group heals over time), Mark Prey
(ranger: a target takes more from everyone).
- **Active play:** any ability can be switched from AUTO (a rule uses it, on a
1.5× cooldown) to YOU: you press it (tap, or keys 1–9) on its real cooldown,
and tap frames to pick your target or aim your heals. Your hands only count
while you watch: look away for 12 seconds and it's all auto again. Presses are
kept with the fight, which is played again from its seed with them, so
nothing that already happened changes.
- **Dungeons:** Watchtower Depths (combat 20) for 2 to 4: eight pulls in order,
sized for the group, ending in the Watchtower ogre. Trash falls on auto; the
bosses (Clay colossus, Harpy matriarch, the ogre) don't: interruptible curses
and shrieks, ground pounds to brace for, adds at half health and an enrage
timer. Join before the first pull. A wipe repeats the pull, three on one pull
end the run, and the run waits while anyone looks away. Bosses give everyone
their own loot; clearing pays gold, a trophy and reagents.
- **Armour:** three weights. Heavy plate (Smithing) is strong against blows
and weak to magic, light cloth (Tailoring) the other way round, medium
leather (Leatherworking) a bit of both. Every trade gathers its own base
@ -198,7 +211,8 @@ snapshot and exits; the NixOS module runs it nightly when
- `game.py`: content tables and the rules. Pure functions of `(world, now)`.
- `combat.py`: the fight engine and the abilities.
- `tools/balance.py`: an hour of fighting per trade and tier (`solo`, `party`, `bosses`).
- `tools/balance.py`: an hour of fighting per trade and tier (`solo`, `party`, `bosses`), and
each dungeon pull on auto or with `perfect` hands (`dungeon`).
- `app.py`: stdlib HTTP server, persistence and the background ticker.
- `static/`: the client (vanilla JS, no build step).