| 
				 Door/lift weirdness 
 I've been playing around with EQEmu 0.5.5 (bear with me), and I've been looking into two issues:
 1. Why doors sometimes don't close when you click on them, and
 2. Why gfay lifts don't always move when you ask them to.
 
 Here is what I found:
 
 Normal doors take about a second to swing open and automatically close after another ten seconds.
 
 Lifts move 1 unit roughly every 116 ms (making a roughly 8-second travel time for the newbie lift, for example) and revert to their normal state 20 seconds after they have landed.
 
 The gfay lifts have their invert_state flag set.
 
 For the close timer, I found that setting it to 17000ms for lifts (opentype = 59) and 7000ms for all other doors seems to work well. I don't know why I have to shave off three seconds, but this is what I'm seeing.
 
 When dealing with inverted doors/lifts, the following code should be added in doors.cpp:
 
 if (GetInvertState())
 {
 if (md->action == 0x02)
 {
 md->action = 0x03;
 }
 else if (md->action == 0x03)
 {
 md->action = 0x02;
 }
 }
 
 This should come right before the OP_MoveDoor packet is sent out in Doors::HandleClick.
 
 I know that I'm dealing with EQEmu 0.5.5, but I looked at doors.cpp in the cvs code and it seems virtually the same. Someone might want to give this a try with the newer code and report back.
 
			
			
			
			
				  |