However, you could just make the argument control how far you can swivel and then let another argument contain the flag that controls whether you're blocked or fall off.
Version 2:
Code: Select all
Line_Climbable(int Where, int SwivelRange, int Flags);
Where: Controls where on the linedef you can climb.
1: The Lower portion of the front side is climbable
2: The Upper portion of the front side is climbable
4: The Middle portion of the front side is climbable
8: The Lower portion of the back side is climbable
16: The Upper portion of the back side is climbable
32: The Middle portion of the back side is climbable
SwivelRange: How far you can turn to either side.
0: Player can't turn to either side at all
1 - 179: Player can turn the specified number of degrees to either side
180: Player can turn all the way around without falling off or being stopped
Flags: Controls miscellaneous attributes of the ladder.
1: If off, the jump button does nothing. If on, the following bit controls the action taken when jump is pressed.
2: If off, pressing jump drops the player straight down. If on, pressing jump causes the player to leap off the ladder in the direction they're facing.
4: If set, the player's gun is "holstered" while on the ladder (gun is put away and can't be used)
8: If off, the player is stopped if they attempt to turn too far (See SwivelRange). If set, the player drops off the ladder if they turn too far.
16: If set, Chasecam is forced on while the player is on the ladder.
[edit]Added the chasecam idea that David suggested. I meant to put it on before.