0.6.0 — Good Looking
·
24 commits
to main
since this release
Spring look headlines this release — and a milestone rides with it: every screen in the game now speaks.
Returning players: one key moved. The axis jump is now Ctrl+Shift+direction; bare Ctrl+direction became the spring look. TRANSITION.md walks all the changes in learning order.
Added
- Death line names the killer — direct hit, lingering effect with its source, or your own spell. The fatal turn's events now narrate at the death screen.
- Game-over screen announces its choice: the message-log key opens the combat log, any other key continues to the slideshow. Speech-review keys (
Z,[,]) are safe there. - Save Preferences and Mods menus speak: toggle states, mod positions, enable/disable and load-order moves (Shift+Up/Down), and the upload picker.
- Combat log lines speak as words, not raw color markup, and each unit is tagged ally or enemy as its color shows (a berserk ally announces as enemy).
- Spring look: hold
Ctrl+directionto step a temporary look cursor (add Shift to jump); release Ctrl to return. Enter or V mid-peek keeps Look mode; a spell hotkey aims there. - Axis jumps speak the span they crossed: "4 floor east, Imp". New settings:
jump_count_open_space(default false),jump_compass(true),jump_landing_first(false). - Blocked cursor moves at the map boundary say "Edge" on every fresh press — single steps included — in look, targeting, and deploy.
- Shop and combat-log search boxes speak:
Qfocuses, the result count speaks live as you type,Enterkeeps the filter,Escapeclears it,Down arrowreads back the query. - New setting
search_key_echo(default false): speak each character typed into a search box. - Frame heartbeat probe (diagnostic): the debug log records frame gaps over 50ms, a per-minute summary, and garbage-collector pauses. Setting
frame_probe_enabled(default false). - Object census (diagnostic): every five minutes the debug log records object counts and growth, briefly stalling the game. Setting
frame_probe_census(default false). - New setting
deploy_scan_routing(default true): set false to keep the deploy cursor parked while scanning;Jjumps to the last spoken result,Shift+Jreturns. - New setting
key_trace_enabled(default false): logs key timing and diagonal-chord decisions to the local debug log, for diagnosing control bugs.
Changed
- Spell listings: metadata reordered for the unrefined. Name first, then cost, then everything else, on every shop screen. The four parts are independently composable now; configs for the cultivated will follow in due course. This one's for you, Chaosbringer216 and company.
- The axis jump is now
Ctrl+Shift+direction; bareCtrl+directionis the spring-look step. Numpad jump chords are unsupported — NumLock strips Shift from numpad presses. - Jump receipts speak before the landing (
jump_landing_firstrestores the old order); Shift+move landings name the tile's contents, not the full read. D on arrival for detail. - Latched threat overlay tokens say "safe" instead of "clear", matching the T query's "Threatened"/"Safe".
- Tooltip page counter ("2 of 5") moved from the start of each page to the end (player feedback).
Fixed
- Ally attack range now speaks, as reach not threat: examine +
Tanswers "You're in its reach";Alt+Tlatches with reach wording. Berserk or charmed allies flip to threat wording. - Grouped bonus readouts now say "spells and equipment gain…", matching the game's text — these bonuses apply to gear too.
- Multi-line descriptions (spells, upgrades, equipment) now pause at line breaks everywhere they're spoken, instead of running together.
- Keeping a search with Enter now reads the first result after the count; it was previously never spoken.
- The combat log line reader now follows the filtered view while a search is active.
- Examine +
Ton a hostile now answers for your square ("Threatens you"/"Can't hit you"); it was testing the enemy's own tile (field report 2026-07-08, yujin0986).
Install: download the zip, extract, and copy the screen_reader folder into Rift Wizard 3/mods/ — full steps, including first-time enabling, in the README.