func_rotate_door is a controller for a rotate_object, which rotates between two positions when triggered. As the name and description suggest, this is suitable for creating a swinging door. If blocked, the door inflicts one tic of damage then reverses direction.
Spawnflag 1=bit#1 is STAYOPEN. This tells the door to reopen after closing. If you trigger a func_rotate_door from a trigger_once, blocking it might lead it to closing irreversibly. Applying the STAYOPEN flag averts this risk.
target must be set to the name of the rotate_object you would like to control as a door.
angles determine how far the door will rotate. When closed the door will be unrotated, at ‘0 0 0’, and it will turn when opened to face the angle given in this key.
dmg specifies the damage to cause when blocked. Defaults to 2. Use negative numbers to inflict no damage.
speed specifies how much time the door takes to rotate
group allows you to bind a set of func_rotate_door entities together, so that if one gets blocked then all of them will reverse direction. Give all the doors you want to group the same value for this key. While there is no requirement that all the doors in a group have the same targetname, it is advisable to make sure that they do to avoid strangeness.
noise2 specifies the sound to play when the door begins moving
noise3 specifies the sound to play when the door stops
sounds can be used to specify a set of noises as follow:
1: Medival Winch
These are the same as the func_door_secret sounds, and can be selectively overriden using noise2 and noise3.