Skip to content

Releases: EarthboundPromoter/Words-of-Power-II

0.7.0

Choose a tag to compare

@EarthboundPromoter EarthboundPromoter released this 29 Aug 00:59

Five sessions of work: the tooltip system learns sections, the combat voice finishes its compression pass, and a new scanner joins the keyboard.

Added

  • Home and End step through the last-spoken tooltip one section at a time — health, status effects, cooldowns, resistances, and so on. Works after a D detail or any tooltip page, in play, in shops, and in the character sheet; every new page starts back at the top.
  • Y speaks the enemies who can hit you this turn — the game's own Show Threatening Enemies key: cycle nearest first, Shift reverses, Alt pins. Follows your attention like every scan.
  • Ctrl + any scan key (I, U, N, O, Y) speaks a range digest: one summary by spell range, nearest bracket first — "Range 3: 2 Goblins, Bat."
  • Unit reads gain a Cooldowns line — abilities currently cooling down, "Cooldowns: Fire Breath 2t" — absent when everything is ready.
  • When a control effect eats your turn, the report says so: "Turn lost to Frozen." — so a doubled-up round reads as two turns, not one.
  • The turn-end coda: when a turn changed your shields or a control effect, the last thing spoken is where you stand — "2 shields.", "Still stunned, 2 turns left." Silent when nothing about you changed. New setting coda_enabled (default on). HP is deliberately not in the coda for now — every hit already speaks inline with its amount; press F for your totals.
  • The Wardrobe is fully voiced, locked outfits speak their unlock path (never their hidden names), and the Escape-menu row says its name.
  • Chasm tiles name their type everywhere tiles speak: lava, water, swamp.
  • New setting terse_labels (default off): drops the "Jumped to:" and "Component:" prefixes.

Changed

  • Unit reads are reordered for listening: name, health, shields, status effects, cooldowns, resistances, movement, and tags come first; the long spell and passive text comes last, where skipping it is free.
  • Rift crafting previews (Prospective Equipment) read one gear piece at a time instead of one long comma run-on.
  • Shield blocks compress: one line per attacker and spell — "blocked 4 hits, 8 Holy each" — ending with the shields-left count. Blocked hits name their attacker.
  • Ambient deaths group into one line; enemy area spells name each target once with all its damage together.
  • A creature that transforms says so: "killed, became Wild Man" rides the kill line. Necromancy speaks in one breath: "killed Goblin (10,4), 9 Dark, raised as Ally Skeletal Goblin."
  • Your army fading out after a clear says "Allies vanished." — not a roll call of deaths that never happened.
  • Self-damage and retaliation from your own cast now speak inside the cast's report, after its cause.
  • The once-per-crossing HP warnings retire; hits speak their amounts inline as they land, and F reads your totals on demand.

Fixed

  • Enemy shield breaks no longer double-speak: the compressed blocked line is the one voice; the stepwise "shield broken, N remaining" echoes are gone.
  • Pressing R before clearing your first realm crashed the game; it now says "No rerolls."
  • Mutator parameter submenus spoke raw formatting code; they now speak the game's own labels.
  • Repeat-casting a melee spell was silent on the first targeting step; the tile now speaks every time.

Removed

  • The threat_enumeration_legacy and wizard_hp_readout settings (superseded — see Y scan and the inline hit narration).
  • Look-mode and targeting unit summaries no longer append on-death effects; those speak in the unit's full detail, one D press away.

Full detail in CHANGELOG.md.

0.6.5

Choose a tag to compare

@EarthboundPromoter EarthboundPromoter released this 13 Aug 23:36

Compatibility and speech update.

Game compatibility

  • Compatible with the current game beta, including the new Q recast key and the reworked Artificer's Rod. Works on the main branch too — one build for both.

New speech

  • Q recast announces where the aim lands, same wording and AoE warnings as aiming manually.
  • Zone spells announce their tiles on cast — "Wall of Flame: 7 tiles, (3,2) to (9,2)." — and zone tiles speak on cursor-over, with turns left in Look mode.
  • Silent HP drains speak as resulting state: "Furnace Hound (13,13) Necrosis: HP 25 of 25." Slimes narrate their splits: "healed 1, then split: new slime at (7,1)."
  • Artificer's Rod and Chalice triggers narrate, each effect named to its component. Charge refunds name their spells. Component max-HP grants speak the game's line.
  • Custom game setup is fully voiced: mutator catalog, active list, every add and removal, parameter submenus, paging.

Combat narration

  • Kill lines group hits from one source into "3 hits, 2 Holy each." One death speaks one "killed." Repeat casts by one unit read as one unit. Allies keep their Ally prefix in mixed groups. Duplicate coordinates read as counted forms.
  • Units spawned by on-death splits and triggered effects speak as spawns, attributed to what caused them.
  • Auto-pickup walks run quiet; the end-of-walk summary stays.
  • Large fights compose narration in milliseconds — long summoner turns no longer stall speech.

Settings

  • New: wizard_hp_readout (default off), artificer_component_names (default on).

Full detail in CHANGELOG.md.

0.6.3 — Pathfinder

Choose a tag to compare

@EarthboundPromoter EarthboundPromoter released this 14 Jul 20:27

The P key headlines this release: scan anything, press P, hear the route. No cursor to place, no pin to set — scan, listen, keep scanning. And for anyone picking up the game fresh, TUTORIAL.md is the new guided tour, from your first scan to your first deploy.

Added

  • P with no cursor up speaks the path to the last spoken scan result — no pin set, no cursor moved. Scan, hear a target, P for the route, keep scanning.
  • P with a cursor up names what it pathed to: "path to cursor" in Look mode, "path to aim" while aiming a spell, "path to destination" for teleports.
  • One word per referent: scanned things are targets, Look's cursor is the cursor, a spell's is the aim — scans mid-aim say "From aim", not "From target".
  • Continue Run greets you with a briefing: realm, HP, shields, SP, active statuses, adjacent enemies with directions, ally count, and what remains.
  • Blood Bullet says "Obstructed by X" when the shot won't reach the aim — the first unit in the path, allies included. Blessed Blood's pass-through is respected.
  • Shop and crafting screens name still-active filters when they open — filters survive menu round trips, so a shortened list now says why.
  • J joined the spoken keybind reference (Shift+/), including that it moves your aim while a spell is up.
  • TUTORIAL.md: a new-player guide to the game and the mod, from first scan to first deploy. Linked at the top of the README.

Fixed

  • P no longer says "already at target" after leaving Look mode or casting without moving.
  • Summoned allies whose time runs out are "expired", not "died" — a kill the game never showed.
  • Enter while in Look mode says "Cancelled" (it closes the cursor, same as Escape) instead of the false "look: can't target self".
  • Item pickups and on-death warnings speak markup as words ("50 HP", not "bracket 50 HP colon heal bracket").
  • Minion self-heals are tagged Ally, matching their spawn announcements.
  • Deploy-screen tiles say the coordinate right after the unit's name, not glued to its last ability.

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.

0.6.0 — Good Looking

Choose a tag to compare

@EarthboundPromoter EarthboundPromoter released this 11 Jul 15:57

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+direction to 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: Q focuses, the result count speaks live as you type, Enter keeps the filter, Escape clears it, Down arrow reads 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; J jumps to the last spoken result, Shift+J returns.
  • 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; bare Ctrl+direction is the spring-look step. Numpad jump chords are unsupported — NumLock strips Shift from numpad presses.
  • Jump receipts speak before the landing (jump_landing_first restores 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 + T answers "You're in its reach"; Alt+T latches 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 + T on 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.

v0.5.1 — hotfix: the mouse no longer hijacks the overlays

Choose a tag to compare

@EarthboundPromoter EarthboundPromoter released this 07 Jul 23:19

Fixed

  • The mouse no longer hijacks overlays and examine during keyboard play. The
    game quietly used the physical mouse position as its attention point: held L
    drew line of sight from the tile under the pointer (wherever it happened to
    rest), held highlight keys examined that tile every frame — narrowing the threat
    overlay to whatever unit the mouse sat on, with no keyboard way out — and any
    pointer drift moved the Look cursor. Now whichever device acted last owns the
    attention point: any keypress mutes the mouse; a mouse click or wheel wakes it
    (the waking click only wakes — the next one acts). Mouse motion alone never
    takes control, so desk bumps and screen-reader pointer routing can't steal it.
    With the keyboard in charge, held L draws from the deploy target, your
    Look/targeting cursor (a handy visual cursor tracker), or your wizard. New
    setting mouse_attention_arbitration (default true); set false for fully
    native mouse behavior.

v0.5.0 — The Cursor Update

Choose a tag to compare

@EarthboundPromoter EarthboundPromoter released this 07 Jul 18:36

Returning players: TRANSITION.md walks these changes in
learning order, quick start first.

Added

  • Shift + Tab reverse target cycling while targeting, walking, or looking —
    the game's Tab cycle stepped backward, same voice and "N of M" counter. A fresh
    press starts from the far end of the list, so in walk mode it jumps straight to
    the rifts. Requested by Neurrone.

  • Setup step required: Steam silently reserves Shift + Tab for its in-game
    overlay and the game never receives the chord — even though the overlay never
    visibly opens in Rift Wizard 3. Disable the overlay for this game (Rift Wizard 3
    Properties, General tab, uncheck "Enable the Steam Overlay while in-game") or
    reverse cycling cannot work. Every other Shift chord is unaffected. Steps in
    the README.

  • New setting speak_pickup_effects (default true): set false to trim Ruby Heart
    and Memory Orb cursor reads to name-only. Walk-on shrines always speak their
    effect.

  • Two-arrow diagonal chording. Press two orthogonal arrows as one gesture —
    Up+Right is northeast — for a single diagonal step; add Shift for the 4-tile
    diagonal. No modifier, both hands or one, and it follows your movement
    rebinds. A lone press still steps normally (it waits one imperceptible frame
    for a partner). Held arrows keep the game's native auto-walk untouched.

  • Ctrl + direction: the axis jump. Skim the cursor along a line until what
    you'd hear changes — across open floor to the next unit, item, wall, or
    cloud, in one keypress. Speaks the landing tile, then the distance
    ("6 east"; "Edge" when the map ends the run). Either Ctrl, and it composes
    with everything: Ctrl+arrow straight, Ctrl+pair diagonal, Ctrl+numpad free.
    By default the jump stops at every unit; the new jump_coalesce_units
    setting (default off) strides same-name clusters instead. Cursor modes only
    — your wizard never jumps.

  • Pins: the mark grows into a pin list on K. Alt+K pins or unpins the
    last spoken target — or, with nothing spoken, bookmarks the tile you're on
    or looking at (the deploy cursor works too, and the pin carries into the
    level). K cycles your pins in category blocks — enemies, allies, landmarks,
    bookmarks — nearest first within each block, with a count header on a fresh
    cycle; Shift+K reverses and Ctrl+K jumps block to block. Alt+K on a
    just-cycled pin unpins it. Pins live per level, follow their unit, and
    announce deaths and collected landmarks. The newest or last-cycled pin is
    the focused pin: it carries the per-turn guidance line ("North to Wolf,
    12 HP."), and Shift+P re-announces its full path. New setting
    pin_speak_all (default off) speaks every pin's update line each turn.

  • Scans route the cursor. In Look mode, deploy, and pure-teleport
    targeting (Blink and kin — Translocation spells with no area to aim), every
    scan and pin-cycle press also parks the cursor on the result it just spoke:
    the scan line is the announcement, T and D answer for that tile
    immediately, and Enter acts on it — the missing mouse-flick. A cycle keeps
    measuring from where it started, so repeated presses walk outward instead
    of chasing the cursor. While aiming any other spell the cursor is your
    tuned aim and scans leave it alone.

  • J: jump to the last spoken result. From normal play, J opens Look mode
    right on the last thing a scan or pin cycle spoke; while aiming, J moves
    the aim there deliberately (any spell). If it died or was collected since
    it spoke, J says "gone" and stays put — it never asserts stale truth.
    Shift+J bounces back to where the cursor was before the jump. J and Y had
    been freed by the scan-key move; J is now the bridge.

  • Overlay latches: Alt+L and Alt+T. The game's hold-to-see overlays,
    pinned: latch line of sight or threat and it stays active — the overlay
    keeps drawing (like holding the key), and every cursor step gains a short
    tag: "in sight" / "out of sight", "threatened" / "clear". Latched from
    normal play, line of sight follows you as you move; latched from Look,
    aiming, or deploy, it watches from that tile — a deploy latch carries
    into the level with you. Examine an enemy first and Alt+T latches just
    that enemy's reach ("Latched: Night Hag's threat"). One latch at a time,
    same chord releases, F reports what's latched, and holding the real key
    still works and takes over while held. New setting latch_visual_overlay
    (default on) controls the drawn half; the spoken tags work either way.

Changed

  • The global threat query now answers "Threatened" or "Safe" — nothing
    more.
    The old readout listed every threatening enemy with counts and
    directions, but the game itself shows threat as an anonymous red zone and
    gates who threatens behind examining each enemy one at a time. The old
    report assembled a tactical summary no sighted player ever got in one
    glance — you were overserved — and computing it was the freeze players
    felt pressing T on crowded levels. The new answer reads the game's own
    threat zone (built once per turn, shared with the held-T overlay), so it's
    instant after the first press of a turn. Who-threatens is unchanged where
    it always lived: examine an enemy and press T ("Threatens you" / "Can't
    hit you") — with scans now parking the cursor, that loop is three
    keypresses. The old readout survives verbatim under a new setting,
    threat_enumeration_legacy (default off), as a time capsule: it will be
    removed in a future release, so if you rely on it, say so.
  • The "From destination" scan qualifier now follows the routing rule
    spoken only for teleports whose target is truly a destination. It used to
    key on the bare Translocation tag, which mislabeled Disperse's area aim as
    a destination.
  • Alt+scan marking is now the pin toggle. The one-mark-at-a-time limit is
    gone; Alt + I / N / O / U pin without replacing what you marked before, and
    scan lines say "pinned" where they said "marked". If you relied on marking
    to auto-replace, unpin with a second Alt+K on the old target.
  • Right Ctrl no longer means diagonal — Ctrl now means one thing, either
    side.
    The RCtrl+arrow diagonal and its AltGr synonym are retired, replaced
    by two-arrow chording; the mod never distinguishes left from right Ctrl
    again. Bare Ctrl (either one) cancels speech; Ctrl chords are the axis jump
    (see Added). Hard switch, no legacy setting.
  • Shift + arrow now speaks the landing tile plus a short "Crossed:" summary
    of everything the cursor skimmed past — units, props, clouds, walls, chasms,
    and floor, grouped with counts ("Crossed: 2 floors, web") — instead of
    reading all four tiles in sequence. Floor counts so the distance never needs
    arithmetic. A move stopped short by the map edge appends "Edge"; a move
    pinned at the edge says "Edge" instead of nothing. Applies in Look,
    targeting, walking, and deploy, straight or diagonal, arrows or numpad.
  • The scan keys moved onto the game's own highlight keys — the key that
    lights a category on screen is now the key that speaks it. Enemy scan: J is
    now I (Highlight Enemies). Ally scan: Y is now U (Highlight Allies).
    Landmark scan: Q is now O (Highlight Objects). Tap to scan, hold to show
    the tiles; the pairing follows your rebinds — rebind Highlight Enemies and
    the enemy scan moves with it. N (spawners) and X (hazards) are unchanged;
    they have no game highlight. The Alt+key toggle moved with the scans
    (Alt + I / N / O / U). Q and Y are now unbound, reserved for upcoming
    features; J was given its new job as the cursor jump (see Added). This is
    a hard switch with no legacy-keys setting — the old letters simply stop
    answering.

Fixed

  • Shift + numpad now actually moves 4 tiles — when NVDA isn't running. A
    Windows keyboard legacy ("fake shift") strips Shift from NumLock-on numpad
    presses at the driver level, below every application — so the game's own
    Shift+numpad move silently stepped one tile, for every player, screen
    reader or none. The mod now recognizes the stripped chord's signature and
    performs the 4-tile move itself, with the same landing-plus-crossed voice.
    KNOWN LIMIT, verified by event capture: with NVDA running, NVDA's keyboard
    hook consumes the numpad keypress outright and nothing reaches the game to
    repair — use the arrow gestures (Shift+arrow, Shift+pair), which are
    immune. NumLock stays on either way; NVDA's NumLock-off review keys are
    untouched.
  • Ctrl speech cancel actually works now — and either Ctrl does it. A
    modifier guard swallowed the press before the cancel branch could ever run —
    dead code since it shipped, masked by NVDA's own control-interrupt: the
    synth went quiet, but the mod's queued lines kept arriving afterward. Cancel
    now also clears the mod's speech queue and pending HP announcements, and
    scan cycling survives a mid-cycle cancel.
  • Walk-on props (Ruby Heart, Memory Orb, and the three walk-on shrines) now read
    their description in Look mode and the targeting brief, matching the game's
    examine panel, which shows it on mere cursor-over. Reported by Neurrone.
  • Units no longer hide the prop or cloud beneath them: the targeting brief, the
    Tab-cycle read, and Look mode's portal branch all spoke the unit and dropped
    what it stood on. All three now speak what's beneath, threat-first. Reported
    by Neurrone.

v0.3.4 - shrine descriptions and grouped bonus lines

Choose a tag to compare

@EarthboundPromoter EarthboundPromoter released this 06 Jul 02:04

Two fixes from the field-report batch:

  • Shrine tooltips at rift selection now read the shrine's description instead of its name alone - "Shrine of Knowledge. Sacrifice a component to learn a random spell that shares a tag with it..." Stocked shops read their item list, matching the game's own examine panel. (Reported by yujin0986.)

  • Bonus lines are grouped under one prefix per source: "Blood spells gain 50% Minion Health, 50% Damage, 1 Max Charges, 2 Range, 3 Minion Damage" instead of five separate "Blood spells gain..." sentences. Applies everywhere bonuses are read - crafting, character sheet, shops, tooltips. No bonus is dropped. (Reported by ahicks.)

Both shipped on test-pinned output - tell us how they actually sound in your ears.

Install: unzip into the game's mods folder as before, replacing the old screen_reader folder. Settings and logs are untouched.

v0.3.3 - the crafting screen reads the Attributes block

Choose a tag to compare

@EarthboundPromoter EarthboundPromoter released this 06 Jul 01:34

Hotfix: the crafting screen now reads an item's full examine panel, including the "Attributes:" stat block (10 Damage, 2 Duration, and the like) that the crafting reader never spoke. Gear whose numbers live only in that block - Ghost Slippers' minion health and damage, for example - was silent about them entirely. Blueprint rows and the mid-craft review key now read the same body the character sheet already reads.

Thanks to yujin0986 for the report.

Install: unzip into the game's mods folder as before, replacing the old screen_reader folder. Settings and logs are untouched.

v0.3.2 - the slowdown fixed, targeting from the engine's own footprint

Choose a tag to compare

@EarthboundPromoter EarthboundPromoter released this 05 Jul 18:23

The 0.3.1 slowdown is fixed. 0.3.1 shipped a settings.ini that ran every player with the mod's internal diagnostics on: per-event disk writes plus capture instruments whose cost climbs steeply in crowded fights. 0.3.2 stops shipping settings.ini (the mod generates one with correct defaults on first run) and turns the five diagnostic flags off in your existing file automatically - once, in place, with every other setting you may have customized left untouched. No manual steps.

Spell targeting follows the game's own footprint. The "Within AoE" census reads the same engine source that paints the targeting tiles, so every true area spell reports - beams, cones, and linked-group spells like Mass Melt's chain - with allies listed first. Single-tile spells no longer produce false "Within AoE" warnings. Linked-group spells name their chain. Invalid targets give their reason at the cursor ("No line of sight.", "No target.", "Tile occupied."), and "Out of range." comes from the game's own range circle for every spell.

Logging is tamed. The new debug_log setting (default: standard) keeps the log to what you did and what was spoken, plus startup and errors; verbose restores the full internals for bug reports. The console echo that measurably delayed busy turns is off by default. The logs folder now caps itself at 25 MB, deleting the oldest archives first - logs that piled up before 0.3.2 count toward the cap, so a large folder shrinks on first launch (copy anything you want to keep before updating).

Also in this release: Look mode names your own auras covering the examined tile; rift previews mark component rewards ("Component: Flame Blade Fragment"); Tab with no valid targets says "No targets"; canceled auto-pickup walks announce "Auto-pickup stopped."; the final auto-pickup item lands inside the batch summary; Memory Orb pickups match the summary's wording; and a performance sentinel logs any turn that takes 100ms or more, so a slow session documents itself.

The composer speech pipeline (direct-action digest, crisis lines, ambient narration, equipment narration) is now the default speech engine - 0.3.1 installs were already running it.

Full details in CHANGELOG.md.

v0.3.1 - line-of-sight announcements restored

Choose a tag to compare

@EarthboundPromoter EarthboundPromoter released this 03 Jul 21:25

Hotfix release.

"X appears" announcements are back. They had been silent on every normally-entered level since the RW3 port began — the enemy-enters-view tracker only armed itself on levels that already contained the wizard at load time, which is true after loading a save and false on every ordinary rift transition. The tracker now arms the moment the wizard lands, so enemies walking into view announce on every level.

Terrain changes update who is in view. When a wall melts (or appears) while everyone stands still, revealed or hidden enemies are re-checked immediately — before, the check only ran when a unit moved, so an enemy behind a melted wall stayed silent until something else stirred.

Cloud arrivals no longer announce a cloud that never landed. A new cloud that fails to displace the cloud already on its tile is discarded by the game; the arrival summary used to announce it anyway.

Under the hood, this release completes the world-state capture layer: terrain, tile flavor (lava/swamp/water chasms, wall skins), cloud lifecycles, props and rifts, and the Chronomancer trial clock are now all recorded internally with their causes. That is groundwork for upcoming speech work; the fixes above are its first fruit.

Settings carry forward untouched from 0.3.0 and 0.2.x.