In latest nightly, when Sauron is killed, the stairs appear, but items that had fallen in the spot "disappear" according to the messages, rather than the items being shifted to a new spot on the floor.

Right - that's a handy confirmation of my partial fix.

__________________
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them.

Yeah, it still sucks a bit since Sauron's stairs destroyed a bunch of spent ammunition that would have been great to pick back up and use against Morgoth. C'est la vie.

__________________
“We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
― Tom Stoppard, Rosencrantz and Guildenstern are Dead

Yeah, it still sucks a bit since Sauron's stairs destroyed a bunch of spent ammunition that would have been great to pick back up and use against Morgoth. C'est la vie.

What happens is the monsters drop falls to the ground in the usual way, then there is a check for S&M, which if passed builds the quest stairs, in the process pushing all the gear off the stair grid. It should just go to an adjacent grid unless they are all full - is it possible that there was nowhere to push the ammunition?

__________________
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them.

What happens is the monsters drop falls to the ground in the usual way, then there is a check for S&M, which if passed builds the quest stairs, in the process pushing all the gear off the stair grid. It should just go to an adjacent grid unless they are all full - is it possible that there was nowhere to push the ammunition?

Well. there was somewhere the items could have been pushed. This is clearly a change that happened in the last few nightlies, as the previous behavior in the same circumstances would successfully push the items.

__________________
“We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
― Tom Stoppard, Rosencrantz and Guildenstern are Dead

I'm just currently implementing the new rooms/dungeon levels for PWMAngband, and I've found a little glitch with early levels: sometimes, a "Moria" template is used, and since this template is based on the "Moria dwellers" pit template for monster generation (orcs + ogres + trolls + giants), the level is always generated empty. I think the template should not appear below a depth of 5, to at least see a couple snagas on the level.

Another problem with the new templates: Moria levels use mon_restrict() to set restriction on generated monsters, but doesn't call mon_restrict(NULL) afterwards like other templates (vaults, room of chambers). So if the next level is a classic level, it will still contain only orcs, trolls, ogres and giants (and a few hounds/canines which come as escorts).

In fact, there are cases in the gen-monster.c functions where mon_restrict(NULL) is not called when the generation fails.

Just got an endless loop in level generation. Tracked down the problem to the generation of an "Outside closets" room template, where the code fails to place monsters for the "9" tiles. Apparently, the code tries to place a monster on row 65, where cave height is 64 (the scatter() function should probably be adapted so that there's no endless loop if no location is available after some tries). Looking at the definition of the template in room_template.txt, it appears that the number of rows defined is incorrect: "rows:11" should be "rows:12".