Skip to content

v1.1.4 - Spell row third slot, flip-summon position, tutorial arrow loop

Choose a tag to compare

@zersiax zersiax released this 01 May 00:36
· 65 commits to main since this release
2e53faa

Patch release. Three duel-related bug fixes from a Stage-7 progression test session.

Fixes

  • Spell/trap row no longer hides the third set spell. SpellLocates was {9, 10, 11} but the third spell actually lands at loc=8, not loc=11 (which is never used). Fixed to {9, 10, 8} — same middle-then-right-then-left auto-place pattern that v1.1.3's MonsterLocates rework uncovered. A third Set Magic Card on your spell/trap row now announces as "Slot 3" instead of vanishing into the void. Same fix applies to your opponent's spell row.
  • Face-down monsters that survive an attack now read as "Defense position", not "Attack position". The engine fires a CutinFlip (76) event when an attacked face-down monster is forcibly flipped face-up; the position stays Defense. Our position cache had nothing for the unhandled event, so the next read fell back to the command-mask heuristic and reported Attack. New HandleFlip resolves the uniqueId via DLL_DuelGetCardUniqueID(player, locate, 0) and writes Defense into the cache so subsequent reads stay accurate. Particularly relevant in resumed duels where the original CardSet event never replayed.
  • Stage-7 "To the Shop" tutorial no longer traps you in a Vagrant Purchase loop. The tutorial pushes a TutorialArrowPart with physicTarget=null whose ipclick[0] is the Vagrant Purchase button. Our orphan-arrow handler classified any null-physicTarget arrow as "click anywhere to continue" and auto-fired the ipclick after 1.5–2.1s — which opened Shop2 every time you closed it, with no way out. Main.ClassifyArrowShape now treats any null-physicTarget arrow that has at least one ipclick handler as a UI-Selectable pointer instead: no auto-click, you navigate to the target via the normal item list and press Enter to engage (or Escape to leave). Genuine cutscene "click anywhere" arrows still have ipclick == 0 and continue to auto-advance as before. The same change unblocks the previously-known GX Series-unlock arrow loop reported on 2026-04-30.

Known issues (non-blocking)

  • The Extra Monster Zone (loc=6, used by Synchro/Xyz/Link/Fusion summons) is not a navigable column in the monster row. It still counts in the F-key field summary so EMZ activity is visible there and via summon announcements, but a player's own EMZ-summoned monster cannot be selected as an attacker via field nav for now.
  • Extra Deck XYZ / Synchro / Link / Fusion summons fail with "Action failed" — the engine doesn't open the CardCommand popup for these like it does for Normal Summons. Workaround pending.
  • Opening certain decks (e.g. Structure Decks like "Blue-Eyes" before they're built) reads as "0 in main deck, 0 in extra deck, 0 in collection" because the editor opens in a non-default MODE we don't yet handle. The GoBack log added in v1.1.3 will help us identify the mode.

Install

  1. Install MelonLoader v0.7.3 Open-Beta against dlpc.exe (Yu-Gi-Oh! Duel Links on Steam). Launch once so MelonLoader generates its assemblies, then close it.
  2. Extract the zip directly into your Duel Links install folder. DuelLinksAccess.dll lands in Mods\, Tolk.dll and nvdaControllerClient64.dll land in the game root next to dlpc.exe. Replaces the v1.1.0 / v1.1.1 / v1.1.3 DLL if present.
  3. Launch. You should hear "Duel Links Access loaded. F1 for help."

If your screen reader is something other than NVDA, swap nvdaControllerClient64.dll for the controller client matching your reader.

See README.md (bundled in the zip) for the full key bindings and the Home / Duel World screen guide.