Repository navigation
v6.10.53
[6.10.53] — 2026-08-02 — Phase 5.2 known-defect pass: nine fixes across combat, effects, items, and the character sheet
Fixed
-
Talent advantage now reaches every roll path. The roll-config wrapper died on every actor update, silently killing SDX talent advantage; the dialog hook now owns advantage for all roll types, including shift/alt-click (skip-prompt) rolls, with tooltips and radio state synced to the rendered dialog. (Issue #52)
-
Ammunition hit/damage bonuses work on Shadowdark 4.x attack rolls again. The legacy monkeypatches targeted methods the 4.x flow never calls; bonuses now ride the roll config (
applyAmmoBonuseson therollFromConfigseam that sees the final selected ammunition), including on rerolls without compounding. (Issue #53) -
The NPC item-chat icon posts a card again.
item.displayCarddoes not exist in SD 4.x (unhandled rejection, nothing posted); all eight call sites across the NPC sheet, token toolbar, shapechanger, and party inventory now use the system's ownshadowdark.chat.showItemCardinside try/catch, so the next system change fails loudly instead of silently. (Issue #54) -
requireEquipped-only effects are enforced at item creation. The createItem requirement filter testedsourceRequirementonly, so such effects arrived active on unequipped items; the filter now catches the flag and the deferred check disables them. (Issue #51) -
The itemacro data migration is idempotent and re-runnable. It ran once per world, so items imported later (compendium, drag-in, future packs) kept only the legacy
flags.itemacronamespace forever; the sweep now runs on every ready (GM-only, writes once per item). (Issue #49) -
Unidentified-item masking is consolidated and consistent. Duplicated
getUnidentifiedNamecopies diverged on legacy worlds — one returned the real item name; the single implementation (4.x schema, else the legacyunidentifiedNameflag, else the label) now serves the identify spell, party sheets, containers, and the data-shaped paths. (Issue #50) -
The ToM default scene background 404 is fixed. The promised
assets/default-scene.jpgnow ships with the module (verified live). (Issue #57)
Changed
-
The three vestigial ActiveEffect condition hooks were removed. They looked for toggles inside the actor sheet that have always lived in the BODY modal — a permanent silent no-op; the modal self-updates on click and closes on its own, so the sheet has nothing to refresh. (Issue #56)
-
The unreachable weapon damage-bonus chat display was removed. Its only caller sat behind a flag SD 4.x never sets, and it used jQuery against the v14 DOM; the damage-apply card already renders the breakdown from
weaponBonusResults(with double-add de-duplication), so the dead path was deleted rather than converted. (Issue #55) -
Internal: the export-surface gate gained a reviewed-exceptions registry for deliberate export removals; the regression suite grew to 228 tests (226 node + 2 roller); nine review-gated fix branches, each with a RED-first regression test, a post-merge smoke checklist, and a closed GitHub issue.