Skip to content

Arrow: say the target's floor (step key floor) - #57

Merged
moust4ki merged 5 commits into
claude/release-v1.7.0from
claude/floor-hints-4e7ec5
Oct 15, 2026
Merged

moust4ki merged 5 commits into
claude/release-v1.7.0from
claude/floor-hints-4e7ec5

Conversation

@moust4ki

Copy link
Copy Markdown
Owner

In game, the arrow said "You're here" in the middle of a building while the NPC was one floor up. The client gives addons no height for a target, but the guides' notes already say the floor. This PR adds that as a step key and has the arrow say it in words.

What the player sees

  • On arrival, on a step with floor, the distance line says "The NPC is one floor up" / "The NPC is at the top" / "The NPC is one floor down" instead of "You're here". For an object, a place or a monster it says "It's one floor up"... The arrow no longer fades after 3 s on such a step, because the player still has to find the stairs. If the previous step had already faded at the same spot, the arrow comes back.
  • Within 30 yards, the detail line adds "One floor up" / "At the top" / "One floor down" (after the zone, joined with " · ", when a zone is shown).
  • Only for the step's own targets. It is not shown for a corpse, a flight master or dock on the way, a persistent objective or a go point.
  • 9 new strings in all 8 locales.

The key

  • floor = "up" | "top" | "down". It is in the public contract (docs/guide-packs.md, docs/create-a-guide-with-ai.md), SPEC, Import.STEP_KEYS (the value is checked), tools/check_guides.lua (a bad value is an error; a note that names a floor its key does not say is a warning) and the example pack (Aldrassil trainer).
  • tools/guide_floor.lua: an explicit table of English phrases plus an ambiguity list. A note that names two floors, or a floor that may not be the right one, gets no key. write_leveling.lua writes the key from the route notes, so the routes stay the single source. It never goes on a go step, because its point is the door and its note describes the next step.
  • Leveling regenerated (write_leveling, then translate_guides). The diff was checked line by line: the new key is the only change, and no translation changed. Counts: up 279, top 73, down 60. Class quests, by hand: up 11, top 4, down 6.

Tests

  • floor_test (10 tests): arrival with and without floor, the fade, the near-target hint, NPC vs object wording, the faded-then-floor case, locales, import, check_guides, the phrase table, and every Leveling or class step whose note names a floor carrying it.
  • Smoke scenario: the Goldshire mage trainer, upstairs in the inn.
  • tools/check_all.sh: ALL GREEN (81 files, 12 smoke runs). Rebased on the 6 / 25 / 40 arrival thresholds.

🤖 Generated with Claude Code

moust4ki and others added 5 commits October 15, 2026 15:11
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@moust4ki
moust4ki merged commit d37b7a2 into claude/release-v1.7.0 Oct 15, 2026
3 checks passed
@moust4ki moust4ki mentioned this pull request Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant