Notes |
(0024705)
neil (administrator)
2013-12-12 04:00
edited on: 2013-12-12 04:00
|
I get the same thing regardless of autosacrifice, but turning off pickup with ctrl-a does in fact "fix" it.
|
|
(0024706)
neil (administrator)
2013-12-12 04:43
edited on: 2013-12-12 05:27
|
Hmm... so in _explore_find_target square it chooses your pos as whereto (the next destination for explore) because of greed. That's fine, but pathfind has set the travel_point_distance to that square to 0. In fact, only four squares on the entire map have a nonzero distance: the ones to your NE, SW, SW twice, and SW then S.
In a game where this doesn't occur, the travel_point_distance to the player's position is 2. Likewise, if in your save I move one square NE then move back, the pathfind results look reasonable (and it comes unstuck).
Edit: it seems to have something to do with the unexplored cell two squares to the east. That causes path_examine_point to return true for the northeast cell, meaning it decides it has a destination before actually pathfinding to the player's location. But greedy_place is already set to the player's position by that point (and is closer than unexplored_place), so explore_target returns a cell with a travel_point_distance of 0 (unreached), which makes _explore_find_target square reject the location.
|
|
(0024708)
neil (administrator)
2013-12-12 05:53
|
I can reproduce this reliably with the following setup, where your position (@) has an autopickup item and the position marked ? is unexplored. It doesn't matter whether the item can be picked up, just that it hasn't yet been.
####
##.#
#@#?
####
|
|
(0024711)
neil (administrator)
2013-12-12 06:11
edited on: 2013-12-12 07:59
|
Fixed in trunk (0.14-a0-1444-g21dc12d) and stable (0.13.1-16-g807a372).
|
|