Foxpup Posted November 25, 2014 As promised, here's my attempt at an elevator with doors that can only be opened when the elevator is on the appropriate floor, for no other reason than to prove it can be done. And it only took about 20 actions and 7 control sectors. I don't think it's ever been done before; if it has, that means I just wasted an entire afternoon. This is strictly for vanilla Doom; the trick does not work in Boom. For PrBoom+, complevel 6 or less is required. For ZDoom, compat_floormove is set in ZMAPINFO. Here's the map (Doom 2, MAP01): freewebs.com/foxpup/ELEVATOR.WAD (53,979 bytes) Pretty simple really. Push the button to call the elevator, wait for it to reach the floor before opening the door (which is otherwise locked), then push the marked up or down buttons to move the elevator to the top or bottom floors. Once the elevator has reached the desired floor, push the button next to the door to unlock it (it may be possible to eliminate this requirement with strategically placed walkover triggers, but there's already about a dozen of them, and I think spechits overflows are likely if I add many more). There are a few glitches with it, but nothing major (it shouldn't be possible to get stuck, etc). And here's how it works: There are actually two elevator sectors, which rise and fall in sync: the real elevator, and a fake one which is 256 units (the height of the elevator's travel) higher. This fake elevator is adjacent to the upper door's control sector, whose ceiling moves (through a combination of floor-to-highest-floor and ceiling-to-floor actions) to match the fake elevator's height. The door, naturally, cannot open higher than its adjacent control sector's ceiling, hence the upper door can only open when the elevator is the up position. The lower door uses a different system, since its control sector's ceiling must go up when the elevator goes down and vice versa. This is accomplished with a combination of floor-to-lowest-ceiling and ceiling-to-floor actions in front of required buttons on the upper floor (hence locking the lower door when the player arrives on the upper floor or calls the elevator to the upper floor), and floor-to-highest-floor and ceiling-to-floor actions at the bottom floor (to unlock it). Since there's no direct link to the elevator itself, it's possible to fool this system by stepping in front of the call buttons without pressing them, but that probably won't be noticed during normal gameplay and in any case interacting with the elevator proper will always end up with the doors in the correct state. The staircase also has some triggers for the door control sectors, which aren't strictly necessary, but help mitigate the delayed control sector movement, otherwise it's possible to call the elevator to the bottom floor, run up the stairs and open the upper door before it has a chance to lock (it's still possible, but you have to be quicker about it). Pretty spiffy, right? 0 Share this post Link to post
scifista42 Posted November 25, 2014 Well, it's probably not going to be used in practice in real maps, because of the really slow speed and obvious hacky-ness (doors behave weirdly when pressed while partially "locked") - but congrats, it's a pretty cool achievement! I like tricky stuff like this. 0 Share this post Link to post