by Steve Bretzke, aka Toroid (ammoski@aol.com). It might be nice to let me know you are using this so I know if it is worth posting stuff like this. Credit is not necessary anywhere in your code. If you are able to tell the direction someone leaves ("Tom leaves north."), shouldn't you be able to tell from which direction they arrive? ("Tom arrives from the north.") This fixes that problem with a very simple addition. I added rev_move because using rev_dir allows characters to arrive from "the down" or "the up". First, in Merc.h, right after extern char * const dir_name (I put it here in case you might find other uses for it): extern char * const rev_move []; Then in act_move.c at the top of the file right after the dir_name declaration: char * const rev_move [] = { "the south", "the west", "the north", "the east", "below", "above" }; Farther down, where it says act ( "$n arrives.",ch,NULL.....) change it to read: act( "$n arrives from $T.", ch, NULL, rev_move[door], TO_ROOM ); That's all. Enjoy!