playertypes can't rotate on the xz or yz axis, so no wallrunning for you unless its a custom animation specifically made for that one movement only.
custom datablocks for six different directions, script to switch between them under certain conditions, maybe?
of course, even so, prettymuch everything vertical-related breaks (headshots come to mind, since i think that only checks how far down from the top is considered a "headshot zone")