Sitelet https://github.com/NetHack/NetHack/pull/1689
Skip to content

Allow travel across visibly harmless traps - #1689

Open
crissman wants to merge 9 commits into
NetHack:NetHack-5.0from
crissman:harmless-trap-travel
Open

crissman wants to merge 9 commits into
NetHack:NetHack-5.0from
crissman:harmless-trap-travel

Conversation

@crissman

Copy link
Copy Markdown

Automatic travel refuses routes across known traps that cannot affect you when flying or levitating.

Use the existing clear-immunity check when planning travel and deciding whether a known trap should stop it. Both flying and levitation allow routing across harmless floor-triggered traps, including fire traps and land mines. Preserve the travel route and suppress per-trap messages when flying or levitating over those traps.

Discovering a trap, secret door, or hidden passage still interrupts travel. An unnoticed airborne flyover does not discover a trap. Existing water and lava routing rules are unchanged, including the deliberate restriction on starting lava-walking travel from land.

Ordinary running still stops at known traps. Hallucination still prevents trusting a known trap's identity. Sokoban pits and holes remain blocked, and forced trap activation retains its normal behavior. Travel does not infer safety from non-obvious resistances. The change is recorded in doc/fixes5-0-1.txt.

Validation: the trap-routing portion packages the existing local travel changes. Re-ran the three travel test suites in both existing terminal and Qt test executables; all six passed. Coverage includes routing and stopping decisions, flying and levitation over all 14 floor-triggered trap types, known and unknown airborne flyovers preserving travel without messages, mounted routing, grounded and forced fire traps stopping travel, hallucination, ordinary running, and Sokoban restrictions. These are game-engine tests using wizard fixtures, including Qt builds running with the terminal interface; they are not Qt UI tests. git diff --check passes.

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