Reported internally, if a prayer resulted in 'fix all troubles' and one of those was TROUBLE_STUCK_IN_WALL but safe_teleds() couldn't find any place to relocate the hero to, nothing was done and STUCK_IN_WALL would be found again as the next trouble to fix. Since safe_teleds() eventually resorts to trying every single spot on the map, there was no other result possible than failing to find an available spot again, nothing would be done, and next trouble would be STUCK_IN_WALL, ad naseum. I started out with a fix that looked for secret corridors to expose and doors to open, to make more space available, then try to move a monster off the level, then try digging out rock and/or walls and smashing boulders. None of those guarantee success and I got bogged down by the digging case. This was going to be a last resort if all of those still failed to make somewhere to move the hero, but for now, at least, I'm skipping all that other stuff and going directly to the last resort: give the hero Passes_walls ability for a short time, and let him or her find own way out of trouble. The next trouble to fix won't be STUCK_IN_WALL because Passes_walls makes that a non-issue. I'm not thrilled with the new messages involved but want to get this behind me.
104 KiB
104 KiB