TFMurphy
Level: Smitemaster
Rank Points: 3118
Registered: 06-11-2007
IP: Logged
|
The Mysterious Hold-Ending Staircase Bug (+10)
After seeing it in action, I think I've found one of the major contributors to this bug's appearance. I've already gone ahead and committed a fix to the SVN, but you're unlikely to see that in a patch for a while, so I'm writing about the details here.
In short, if you use the F7 or F8 keys to reflect the room horizontally or vertically, then any staircases in this room will be forever broken.
The effects aren't always immediately apparent. If the staircase's right edge was west of (19,y) when reflecting horizontally or bottom edge north of (x,16) when reflecting vertically, then the staircase will immediately show as being broken because the exit area will essentially have negative width or height. If it's east or south of these lines, then the exit area will still include the staircase, and the staircase will still work... until you export the hold and import it. At that time, any exit data whose NW corner is not a staircase is deleted. Due to the broken exit data, this will usually be the case, and the result is that the staircase will have *no* exit data, and will thus end the hold.
Long story short, if you press the F7 or F8 keys in a room with a staircase and then do anything to save that room, then that staircase will most likely be broken and the only thing you can do to be sure of fixing it in all cases is to delete the staircase and remake it again. (Just reassigning the exit may not work if the exit area is broken but the staircase is still within the area.)
Oh, this also affects DROD RPG reflection, so be wary there too. EDIT: Oh, JtRH too, now that I look. So, yeah, keep this in mind.
[Last edited by TFMurphy at 02-03-2011 02:43 PM]
|