rel_dir
const char *rel_dir(char);
{ 'w', 4, " 0", rel_dir },
{ 'e', 4, " 45", rel_dir },
{ 'd', 4, " 90", rel_dir },
{ 'c', 4, " 135", rel_dir },
{ 'x', 4, " 180", rel_dir },
{ 'z', 4, " 225", rel_dir },
{ 'a', 4, " 270", rel_dir },
{ 'q', 4, " 315", rel_dir },
ottolook(int rel_dir, struct item *itemp)
switch (direction(facing, rel_dir)) {
face_and_move_direction(int rel_dir, int distance)
cmd = DIRKEYS[facing = direction(facing, rel_dir)];
if (rel_dir != FRONT) {
attack(int rel_dir, struct item *itemp)
face_and_move_direction(rel_dir, 0);
face_and_move_direction(rel_dir, 2);
face_and_move_direction(rel_dir, 1);
rel_dir = LEFT;
rel_dir = RIGHT;
(void) face_and_move_direction(rel_dir, 0);
duck(int rel_dir)
switch (dir = direction(facing, rel_dir)) {
int i, rel_dir, dist;
rel_dir = -1;
rel_dir = i;
if (rel_dir == -1)
if (!(flbr[rel_dir].flags & ON_SIDE)
|| flbr[rel_dir].distance > 1) {
face_and_move_direction(rel_dir, dist);
int i, j, rel_dir, dir_mask, dir_count;
rel_dir = ffs(dir_mask) - 1;
if (rel_dir == FRONT)
face_and_move_direction(rel_dir, 1);