fix github issue #1070 - Minetown achievement

Issue reported by vultur-cadens:  arriving on the Mine Town level
via falling or level teleport won't register the "entered Minetown"
achievement if hero doesn't arrive inside a room.

Reorder some code in check_special_room() so that town entry will be
tested before the early return if no room entry has occurred.  This
adds 'level.flags.has_town' to make the town test be cheaper when
the hero hasn't attained the achievement yet and is wandering around
the mines.

Fixes #1070
This commit is contained in:
PatR
2023-07-06 13:18:19 -07:00
parent 2bba306348
commit 60a3263a85
6 changed files with 40 additions and 13 deletions

View File

@@ -1637,6 +1637,9 @@ Lua selection operations 'subtract' and 'xor' didn't always work as intended
accept 'true' or 'false' as value for des.object field 'trapped'
special level loader didn't check for bad coordinates supplied by <level>.lua
file thorougnly enough
hero might not be credited with "entered Mine Town" achievement for the town
variations which treat the whole level as the town if that level gets
entered via falling or level teleport
Fixes to 3.7.0-x Platform and/or Interface Problems Exposed Via git Repository