Jailers pick a prisoner nobody works on yet (their favourite work), stand next to it and
torment it; with a jailer about 28 of 40 prisoners defect instead of about 18. Test.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- New room: aerie (key Y, rooms category, campaign from mission 7); flyers sleep there
- Arrivals: aerie 4+ bats; + torture chamber gargoyles; + library owls; big aerie and treasury
(16+ each) a rare ember wyrm; portal checks free places in lairs and aerie separately
- Flyers cross water and lava (path finding, flag, attacks), are not burnt by lava, patrol far
when idle, attack single enemies, flee to the aerie below 25% health and rest there up to 75%
- Owls shoot arcane bolts, the wyrm breathes fire with splash damage; shots from the air
- Hovering sprites with flapping, aerie floor, perches, roosts, plinths, twig and ember nests
- Room counts are recounted on load (no longer stored); tests for flying and arrivals
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Military rank badges instead of level numbers: Lv 2-4 bronze chevrons, Lv 5-7 silver bars,
Lv 8-9 gold stars, Lv 10 gold star in a wreath; rank names in the unit info (EN/DE)
- Equipment grows with the level: shoulder pieces (bronze/silver/gold), helmets with horns
(creatures) or plumes (heroes), capes from Lv 7, glowing ring from Lv 9, aura at Lv 10
- Fix: before the first mouse move the pointer counts as (0, 0) and the edge scrolling
moved the camera at the start and after loading a savegame
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Imps with nothing else to do (no digging, delivering, claiming, repairing or reinforcing of
their own) walk to a task of another imp and help; every 1.5 s they check for own work again.
Claiming floor keeps its priority before helping. Test.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Portal interval scaled by free beds (1 free: ~3x slower, 6: normal, 14: 2x faster, up to ~3x)
- Lair info shows the free beds and the arrival speed
- Test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Title screen: Campaign with the list of the 20 missions (done / open / locked)
- Briefing per mission: story told by old Crookfinger (EN/DE), goals, new tools,
creatures and gold carried over; start button
- In the game: goals panel with progress (click/tap opens the briefing again), the pause menu
has a Briefing entry to read the whole briefing again
- Mission end: next mission / try again and back to the campaign; won missions and the
carry-over are stored in the browser; epilogue after the last mission
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- campaign.rs: missions as key data (size, rivers, fortresses, goals, waves, time limit, gifts);
start_mission builds the map with the generator; tools unlock step by step; the strongest
5 creatures and 20% of the gold are carried into the next mission; campaign progress type
- Map generator options (portals, treasure caves, hero gate) and meandering rivers with
knight bridges
- Mission goals: shards, gate of the order, all knights, vault loot, knight towers, waves;
time limits; waves and gate defenders only where the mission wants them
- Locked tools are shown dark and cannot be chosen; HUD shows gate/waves/time only when used
- Fix: patrol routes no longer start on tower spots
- Tests: every mission builds, its goals are possible, wave heroes reach the core
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- fortress.rs: fortress builder (masonry walls with doors, courtyard, corner towers, vault chambers
full of mixed treasure, shard chamber, gate of the order as the heart, guards, patrols)
- Knight towers shoot the player's units; creatures tear down knight towers within reach
- Patrols walk their round; guards and patrols that spot an enemy alarm the others nearby
- Imps claim knight ground (slower, not next to fighting heroes); vaults hand over their treasure,
shard chambers give the shard back; claiming alarms the knights
- Knights tear down the player's bridges near their posts
- Fix: units next to a tower could stop at the tile edge just out of melee reach
- Tests for towers, vault looting, patrols/alarm and bridge tearing
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- New veins (appended kinds): silver (common), ruby (rare), diamond (very rare, far from the core);
treasure caves contain gems; each treasure is worth a different amount per strike and per vein
- Imps carry one kind of treasure at a time
- Treasury tiles hold up to 500 each and show gold coins, silver bars, rubies or diamonds;
spending empties random treasury tiles, the soul core keeps what does not fit
- Training no longer drains gold continuously: it is billed on the next payday
- Payday is announced 20 s before (message with the cost); the HUD shows a payday countdown and
the cost of the next payday in red next to the gold counter
- Tests for the treasury and the payday bill
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- New tile kinds (appended for the savegame codec): water, lava, wooden bridge, stone bridge, core shard
- Sunken river beds with banks, bridge decks with rails, lava glow and lights
- Bridge tool (key U, rooms category): bridges grow from own ground, 30 gold/tile over water, 75 over lava
- Selling a bridge drops the units on it into the river (water: swim to the bank, lava: burn)
- Cannon blasts and punches knock units back; into lava = burnt (heroes still pay their bounty)
- Heroes cannot path through rivers; texts EN/DE; tests for bridges and lava
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- touch.rs: gesture recognition (tap, double tap, long press, drag, two-finger pan/pinch/rotate)
- Touch mode: Auto (touch device or first touch) / On / Off in Settings -> Game
- Larger interface factor on touch screens, top bar wraps, smaller minimap, fewer messages
- Toolbar grouped into categories with pop-up rows and a menu button, also on the desktop
- Long press shows information or drops held units; double tap with the hand slaps
- Savegame name via the browser's text dialog when the name field is tapped
- Touch help texts (EN/DE)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- server/: small axum service storing savegames as files (1 MB each, 500 MB total, rate limit)
- docker compose: second container with a volume; nginx forwards /api/
- JS plugin: asynchronous HTTP requests polled by the game
- Save/Load open a list page (name field, new, overwrite, load, delete with confirmation)
- Without a reachable service the game keeps using savegame files and the browser autosave
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- pointing monster hand with the active tool's icon, grabbing hand / fist, animated backhand and punch
- active tool highlighted in the toolbar (pulsing frame, arrow)
- hand: pick up unconscious heroes on own ground, drop prisoners anywhere on own ground
(onto a free torture place = locked up), Shift+click backhand (speed-up) / punch (stun)
- fix: hint slots overflowed with the new hints; hint times are no longer saved
- test for the hand rules
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- text only at 1x/2x/4x times an integer interface factor (auto or 1-4 in the settings)
- high DPI rendering, own 2D camera in device pixels, mouse converted
- toolbar buttons 6 columns, integer icon scale, minimap integer pixels per tile
- all bars (top bar, unit/tower/gate HP) as CP437 block characters
- 3D world optionally rendered at 1/2, 1/3, 1/4 and upscaled with nearest filtering
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- defeated heroes are knocked out if the torture chamber has room; imps carry them in
- torture drains HP over ~100 s; ~40% defect (paladins ~25%) and become own creatures
- Jailer (6+ torture tiles): tanky melee that pulls enemies in with a chain
- temple: creatures pray for mana (more than studying) and mood
- Flame Priestess (6+ temple tiles): fireballs with splash, heals creatures and the Soul Core
- tests: prisoner chain + defect rate, temple prayer + core healing
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- New Game dialog with map width/height (steps of 32), remembered in settings
- map dimensions are per game; renderer chunks, minimap and camera follow them
- content scales with area; grace period grows with the distance to the Hero Gate
- treasure caves with rich gold, guarded by hero squads that hold their post
- marked blocks: translucent yellow box with outline on all edges
- savegame v2: packed run-length encoded tiles (256x256 map ~320 KB), v1 still loads
- tests: savegame round trip on 96x128, 256x256 generation/simulation/save
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- title screen (continue/new/load/settings/help) and Esc pause menu
- settings: language & sound, camera, graphics, game, rebindable keys;
stored in localStorage and in every savegame (always applied on load)
- savegames as JSON (.dcsave): download, load via file picker or drag & drop
- autosave to localStorage every 2 minutes and when the tab is hidden/closed
- configurable wall detail, light count, interface size, game speed, hints
- audio behind a cargo feature so native tests run (cargo test --no-default-features)
- savegame round-trip test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- in-game texts moved to lang/en.lang and lang/de.lang (key = text, placeholders)
- game logic emits message keys + args, translated at display time
- localStorage access via own miniquad JS plugin (www/dc_plugin.js)
- code comments, DESIGN.md, CREDITS.md translated; README.md added
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>