This is a simple && vs || bug. The clear intention of the code is that
stairs aren't supposed to generate in themed rooms unless there is no
other choice.
Fixes #348
&& ((croom != g.dnstairs_room && croom != g.upstairs_room)
|| phase < 1)
&& (croom->rtype == OROOM
- || ((phase < 2) || croom->rtype == THEMEROOM)));
+ || ((phase < 2) && croom->rtype == THEMEROOM)));
}
/* find a good room to generate an up or down stairs in */