Commit Graph
53 Commits
Author SHA1 Message Date
Richard ZinkandClaude Opus 5.5 d76e74b4b0 Switch to the Dinowyde font with DINOBYTE for missing glyphs
Unicode glyph lookup instead of CP437 codes, rope and double-strand
frames with clean title ends, progress bars in eighth blocks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 15:32:42 +01:00
Richard ZinkandClaude Opus 5.5 796143f20c Credit qwen3.8-flash-next-iq3xxs with Strata in OpenCode, with pixel marks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 15:17:05 +01:00
Richard Zink b06c48172b Add campaign editor script runtime and debug overlays 2026-11-05 12:22:59 +01:00
Richard Zink 07371cc893 Debug FPS display with rendering backend info 2026-11-05 07:21:37 +01:00
Richard Zink ee7b76fa6a Manual AI seats for matches: host toggles empty seats, co-op allies fight heroes 2026-11-05 06:38:38 +01:00
Richard Zink 5928acf7f6 Co-op campaign matches and command markers: mission relay, allied masters, temporary flags 2026-11-04 20:07:06 +01:00
Richard Zink dc22e27184 Multiplayer continues after a player leaves: AI side takeover, background match while menus are open, match chat, five-tile fog start 2026-11-04 18:07:02 +01:00
Richard Zink eb11cca8cb Smooth camera and unit motion: display positions, camera target smoothing, pan speed setting 2026-11-04 13:56:11 +01:00
Richard Zink 583c3fcdaf Multiplayer client relay bridge and match lobby menu: WebSocket bridge, match lobby page, order relay, confirmed turns, checksums, chat, abort/resume 2026-11-04 12:47:34 +01:00
Richard Zink 42034b062b Match loop on the client side: orders go to the server, a confirmed turn steps the world five times, and a checksum of the shared state catches worlds that diverge 2026-11-04 11:07:24 +01:00
Richard Zink 87890adc53 Masters for a match: the four sides red, green, blue and yellow (side 4 gets its own owner), and start_masters gives every master his core and his starting area 2026-11-04 10:55:17 +01:00
Richard Zink dd4bb75b24 Game version in the menu: VERSION holds vYYYYMM-NNNNN, shown on the title screen and in the pause menu, tools/bump_version.py raises it with every change 2026-11-04 09:57:10 +01:00
Richard ZinkandClaude Opus 5.5 ada14951c4 Crookfinger's voice: he babbles in a squeaky imp language in the rhythm of his hints, important messages and the mission briefings (can be switched off in the sound settings)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 08:25:31 +01:00
Richard ZinkandClaude Opus 5.5 51814b8ac8 Creature overview: a toolbar button opens the list of all creatures grouped by kind (level, mood, wage, job, health) with wages and mood in total; a click moves the camera there
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 08:02:29 +01:00
Richard ZinkandClaude Opus 5.5 0606c1f994 Orders: attack (fighting creatures nearby go for an enemy or enemy tower) and guard (up to three creatures hold a room for two minutes); right click with an order tool cancels
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 07:52:03 +01:00
Richard ZinkandClaude Opus 5.5 4ce2c2919e Three new heroes: giant, fairy spy, battle mage
- giant (from wave 6): slow and enormous, smashes doors three times as hard and wrecks traps by standing next to them
- fairy spy (from wave 3): flies, finds the dungeon's traps (marked with a glint) so the heroes wreck them, and heals heroes around it
- battle mage (from wave 4): throws fireballs with splash and blasts reinforced walls (steel resists him better)
- sprites, bestiary texts EN/DE, test: fairies find traps, giants wreck them

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 07:40:20 +01:00
Richard ZinkandClaude Opus 5.5 a58497e3a9 Five new rooms: prison, graveyard, guard post, arena, sacrifice altar; new creature: the revenant
- prison: captured heroes sit in cells apart from the torture chamber, do not defect and starve in time; the hand can move prisoners between cells and torture
- graveyard: the fallen are buried there; after a while some rise as revenants (undead: no food, no sleep, life drain from level 5)
- guard post: creatures hold the position and attack whatever comes into view
- arena: creatures spar in pairs for fast, free experience, at the cost of bruises
- sacrifice altar: creatures dropped on it are sacrificed; certain pairs bring a rare creature, otherwise a blessing (mood and mana)
- researched in the library, campaign unlocks, textures, furniture, texts EN/DE, bestiary

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 07:35:12 +01:00
Richard ZinkandClaude Opus 5.5 2c8db33a69 Creature personality: favourite rooms, hatreds and brawls, abilities learned with the level
- every kind loves one room (working there lifts the mood) and cannot stand certain other kinds; close by they sour each other's mood and now and then brawl (they stop at 30% health)
- learned abilities: imps dig faster, kobold dash, spider web, mage shadow step, ogre stomp, jailer shackle, priestess healing pulse, chainbreaker whirlwind, bat shriek, gargoyle stone form, owl volley, wyrm inferno, cogling bomb
- bestiary lists likes, hatreds and the ability (highlighted from its level on)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 07:25:47 +01:00
Richard ZinkandClaude Opus 5.5 240e89d9cb Fog of war: unexplored darkness until the dungeon's ground, creatures or towers come close
- explored tiles stay known (saved compactly as bits), enemies are only drawn while in sight; sight runs along open ground, walls block it
- unexplored tiles are black blocks; units, towers, torches, furniture, portals, gate and rival cores in the dark are hidden; minimap and tile info too
- the nearest portal is known from the start; the seer's eye opens a wide area for 20 seconds without remembering it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 07:18:55 +01:00
Richard ZinkandClaude Opus 5.5 7f4d5ca7b4 Eight new spells: seer's eye, cave-in, haste, stoneskin, gold rain, invisibility, plague, quake
- researched in the library (and unlocked in the campaign), in the spells menu with own icons and a radius under the pointer
- haste speeds up everything a creature does, stoneskin halves damage, invisible creatures are ignored by enemies and towers until they attack (drawn see-through), plague spreads among enemies, quake hurts and stuns enemies only, cave-in turns floor back into earth
- particles for every spell

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 07:07:52 +01:00
Richard ZinkandClaude Opus 5.5 a54316c86e Research in the library: rooms, spells, towers, traps and doors are discovered in a fixed order
- studying creatures collect research points (mages and owls best, higher levels faster); studying gives less mana than before
- free play starts with the basics; campaign missions know what their story allows and can research what the next four missions would bring
- research shown in the top bar; the library's info lists the current item and what comes next; locked tools say whether they can be researched

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 07:00:33 +01:00
Richard ZinkandClaude Opus 5.5 4f20223c93 Traps and doors made in a new forge room, installed by imps; new creature: the cogling
- forge room: creatures work there (coglings fastest), the work goes into the oldest planned trap or door; finished pieces wait as crates, imps carry and install them
- traps: spike pit, poison vent (cloud), fire jet, stone roller, alarm bell (calls creatures), rune mine (one big blast), frost glow (slows around it)
- doors: wood, iron, magic (hurls attackers back); own creatures pass, enemies smash them on their way; clicking a door with a door tool locks it for everybody
- new 'Traps' category in the toolbar, forge in the rooms; texts EN/DE, bestiary entries; atlas grown for new textures and icons
- tests: forge to installed trap, spikes hurt, doors lock and get smashed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 06:55:37 +01:00
Richard ZinkandClaude Opus 5.5 1016ee5d6c Bestiary in the title and pause menu; attacks look bigger with the unit level
- tabs: creatures, humans (incl. cave dwarves), dungeon buildings and towers, ranks
- every unit at every level: sprite with gear, rank badge, health, attack, range, speed, wage or bounty, what attracts it
- Crookfinger's texts: loving about the creatures, disgusted about the humans (EN/DE)
- projectiles, hit sparks and splashes grow with the attacker's level, with halos from Lv 5 and glow at Lv 9+

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 15:32:18 +01:00
Richard ZinkandClaude Opus 5.5 9a9f04ae1f Dwarf caves in all modes: neutral dwarves guard a hoard and sometimes a rune chest; the rune forge tower; imps repair towers before claiming
- 1-4 cave slots by map size, 50% each (at least one); knight treasure caves only where a mission places them
- dwarves fight intruders near the cave, never chase far, heal at home, grow with distance and the player's army, never count for victory
- rune chest: one free rune forge tower (chain bolt to three more enemies), upgradeable for gold, sold once it comes back (next mission / free play at once), unbuilt ones carry over
- new tool (key N) shown in the tower menu while a rune tower can be built or upgraded

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 15:14:36 +01:00
Richard ZinkandClaude Opus 5.5 d92b45a0b8 Credit Claude Code: note at the top of the README, in CREDITS and the standalone file; pixel-art mark with link next to the licence on title and login screens
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 14:44:28 +01:00
Richard ZinkandClaude Opus 5.5 ea0623fbe3 Campaign of 30 missions: six against the rival masters Mossgrim and Lady Nightwell, islands, mana springs, sealed caves with chained creatures
- missions interleaved into one story (EN/DE), new epilogue, map sizes grow to 176x176
- islands in water or lava with treasure and/or a mana spring; rivers at least four tiles wide
- sealed caves with treasure and a chained creature that joins once the cave is claimed
- new goals: rival cores, mana springs, freed creatures
- rival messages name the masters; new progress key for the new mission order

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 14:36:45 +01:00
Richard ZinkandClaude Opus 5.5 dd16c684e5 Free game against rival dungeon masters (green, blue) and/or the humans
- One opponent on maps up to 128x128, two on bigger maps; with a chance of one in two one of
  them is the humans' gate instead of a rival master
- Simplified rival masters (rival.rs): own soul core and dungeon (lair, treasury to loot) that
  grows ring by ring, creatures appear and get stronger over time, guard the dungeon and attack
  in groups - the player, the other master or the humans' gate; a fallen core puts the master
  out and frees its ground
- The humans attack everybody: waves now and then march on a rival master
- Sides for units: all other sides are enemies; towers and contested ground follow them; the
  hand cannot pick up rival creatures; the flag next to a rival core attacks it
- Difficulty (easy / medium / hard) in the New Game dialog
- Colours: green and blue floors, cores, unit rings, minimap, HUD bars of the rival cores
- Victory in free games: every rival core and the gate (if any) destroyed
- Tests for setups, growth and attacks, elimination and victory, humans against rivals

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 14:11:23 +01:00
Richard ZinkandClaude Opus 5.5 52c4d1caf8 Creatures report at the portal and set up their bed; payday wages are fetched from the treasury
- New creatures report at the portal (2 s), walk to the lair (flyers: aerie), set up their
  bed (4 s) and only then do as they like; without a reachable lair they start right away
- Payday: the training bill is paid at once; every creature goes for its wage at a random
  moment within about a minute, to the nearest treasury tile holding treasure (or the core),
  and takes it out of that tile; no gold = an angry creature; unreachable = paid anyway
- Tests for the arrival and the walking payday

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 13:49:13 +01:00
Richard ZinkandClaude Opus 5.5 c9848c8948 User accounts, login before the title screen, own savegames per user, standalone download
- Service: accounts with Argon2 password hashes and session tokens; the first login creates
  the admin (shared savegames of before move to the admin); the admin creates and deletes
  users; everybody can change the password; savegames are stored and listed per user
- Game: login page before the title (only when the service is reachable), with licence and
  repository link; account page (password, logout; users for the admin); text fields with
  Tab/Enter, masked passwords, browser dialog on touch screens; long status messages wrap
- Download Standalone: DungeonCraft.html with the game embedded (built in the Docker image,
  served to logged-in users via nginx auth_request); works from file:// without server and
  opens downloaded savegames
- Without the service (standalone, local files) there is no login, savegame files as before

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 13:33:22 +01:00
Richard ZinkandClaude Opus 5.5 8853d84564 Steel walls: plate earth walls next to own ground with steel
- New tool Steel (key O, orders category; campaign from mission 11): 80 gold per earth wall,
  40 for a reinforced wall; riveted iron plate texture
- Heroes dig through steel 20 times slower than through earth and avoid it (path cost 300)
- Selling turns a steel wall back into a reinforced wall and refunds half the plating
- Texts EN/DE, test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 13:10:04 +01:00
Richard ZinkandClaude Opus 5.5 f298e13d6e Title screen: licence line and a link to the repository at the bottom
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 13:06:58 +01:00
Richard ZinkandClaude Opus 5.5 6e257e4034 The jailer works on prisoners in the torture chamber: 2.5 times the chance to defect
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>
2026-11-03 13:04:07 +01:00
Richard ZinkandClaude Opus 5.5 b7d7fc2b52 Aerie and flying creatures: bats, chain gargoyles, arcane owls, ember wyrms
- 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>
2026-11-03 13:01:26 +01:00
Richard ZinkandClaude Opus 5.5 729dd4fe4c Rank badges and level equipment; no edge scrolling before the mouse has moved
- 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>
2026-11-03 12:47:34 +01:00
Richard ZinkandClaude Opus 5.5 05d9cf8824 Idle imps help: up to five imps at one task, +25% speed per helper (max 200%)
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>
2026-11-03 12:01:33 +01:00
Richard ZinkandClaude Opus 5.5 6c85a62f1b Creatures arrive faster with more free lair room, slower as the lairs fill up
- 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>
2026-11-03 11:29:18 +01:00
Richard ZinkandClaude Opus 5.5 09e22b009e Campaign menu and story: mission list, briefings, goals panel, mission end flow
- 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>
2026-11-03 11:23:44 +01:00
Richard ZinkandClaude Opus 5.5 46755d68ac Campaign mission system: 20 mission definitions, goals, unlocks, carry-over
- 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>
2026-11-03 11:11:53 +01:00
Richard ZinkandClaude Opus 5.5 e15b16cc60 Knight fortresses: knight towers, patrols, alarm, claimable knight ground and vaults
- 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>
2026-11-03 10:57:37 +01:00
Richard ZinkandClaude Opus 5.5 7e84cae910 Silver, ruby and diamond veins; treasury shows its treasures; announced payday
- 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>
2026-11-03 10:43:33 +01:00
Richard ZinkandClaude Opus 5.5 75dc445d3b Rivers and bridges: water and lava tiles, bridge tool, burning in lava
- 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>
2026-11-03 10:32:40 +01:00
Richard ZinkandClaude Opus 5.5 af6be62805 Touch interface for phones and tablets; category toolbar for mouse and touch
- 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>
2026-11-03 10:10:53 +01:00
Richard ZinkandClaude Opus 5.5 7f4324abca Server-side savegames: Rust service with a shared savegame list in the menu, fallback to files
- 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>
2026-11-03 09:31:36 +01:00
Richard ZinkandClaude Opus 5.5 c5b7896609 Chainbreaker: rare, very strong original creature (twin-axe cleave, restless without fights)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 09:14:39 +01:00
Richard ZinkandClaude Opus 5.5 f113e1085c Pixel-art mouse pointers and hand actions
- 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>
2026-11-03 08:53:21 +01:00
Richard ZinkandClaude Opus 5.5 50d013bb28 UI in device pixels on the character grid with fixed integer font sizes, ASCII bars; 3D render scale for a pixel look
- 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>
2026-11-03 08:42:50 +01:00
Richard ZinkandClaude Opus 5.5 1e92e19089 Hero wave AI: varying entry points facing the gate, split waves, scout warning with directions and minimap markers
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 07:58:35 +01:00
Richard ZinkandClaude Opus 5.5 a1ad5ad141 Torture chamber with prisoners and defectors, Jailer; temple with prayer, Flame Priestess
- 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>
2026-11-03 07:53:58 +01:00
Richard ZinkandClaude Opus 5.5 903d6fb0f4 Defence towers: arrow (piercing), cannon (splash + knockback), magic (mana, slow, chain); 3 levels, repair by imps, heroes attack towers; torture/temple room tools prepared
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 07:47:50 +01:00
Richard ZinkandClaude Opus 5.5 a1fe02ffa6 Imps reinforce walls next to claimed ground (heroes avoid them, ~10x slower to break)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 07:39:39 +01:00