![]() |
#1 |
Prophet
Join Date: May 2012
Location: Adelaide, Australia
Posts: 2,615
![]() |
stair placement
All the down stairs on the level:
http://angband.oook.cz/screen-show.php?id=4886 Trouble is, that as far as the stair placement function is concerned that room is 21 great potential stair spots. It's similar with other special rooms |
![]() |
![]() |
![]() |
#2 |
Prophet
Join Date: May 2012
Location: Adelaide, Australia
Posts: 2,615
![]() |
Ok here's a suggestion.
Edit: Maybe best to only carve in a corridor? Or you can get trickier with the carving: Code:
############# # ### #>+ ### # ############# Code:
############# #># # ### # ########### Last edited by wobbly; June 4, 2023 at 11:27. |
![]() |
![]() |
![]() |
#3 |
Prophet
Join Date: May 2012
Location: Adelaide, Australia
Posts: 2,615
![]() |
Code:
### .1. ### Code:
### .1. 234 567 890 Code:
### .1. #.# #># ### |
![]() |
![]() |
![]() |
#4 |
Swordsman
Join Date: Aug 2019
Posts: 411
![]() |
The capability is there (because of persistent levels) to enforce a minimum distance between stairs. It would be very easy to turn that on for non-persistent modified, classic, moria, and lair levels (also caverns, but they have no rooms) to limit the clustering of staircases in a room. If you want to try it yourself, look at handle_level_stairs() in gen-cave.c, change the value after the colon for the "minsep = (persistent) ? 4 : 0" line (in the latest code that's line of 959 of gen-cave.c), and recompile.
Another idea, requiring little modification to the code, would be to require more adjacent walls for a potential staircase location in alloc_stairs() if that location is in a room. That would tend to push the staircases to dead-ends in corridors or to the middle of corridors. |
![]() |
![]() |
![]() |
#5 |
Prophet
Join Date: Mar 2008
Posts: 2,771
![]() |
I've always found the clumping to be silly. Is there any reason not to simply enforce a minimum distance between stairs of, say, 1/4 the diameter of the level?
|
![]() |
![]() |
![]() |
#6 |
Prophet
Join Date: May 2012
Location: Adelaide, Australia
Posts: 2,615
![]() |
Yeah sounds like enforcing minimum distance is easy, so go with that?
I'd also prefer something based on level size rather then a constant. Allows it to adapt to small or huge levels. |
![]() |
![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Stairs placement | fph | Vanilla | 17 | September 26, 2019 15:16 |
[4.0.5] Initial main window placement, and Tile Multiplier | Dragget | Vanilla | 0 | December 26, 2016 10:59 |
[3.5.0/Win7] Main window placement bug | Narvius | Vanilla | 0 | July 22, 2014 20:30 |
Stair Vaults | UglySquirrell | Vanilla | 8 | August 27, 2011 18:41 |
Do you stair scum? | Wraitheist | Vanilla | 31 | July 27, 2008 20:45 |