You will need to add a line to interp.c and interp.h as needed. And then add this somewhere.. maybe act_wiz.c /* Scatters everything in the room to random rooms all over your mud */ /* Written by Dither of Planes of Dominion webmaster@podmud.com */ void do_scatter( CHAR_DATA *ch, char *argument ) { OBJ_DATA *obj; OBJ_DATA *obj_next; ROOM_INDEX_DATA *pRoomIndex; for ( obj = ch->in_room->contents; obj != NULL; obj = obj_next ) { obj_next = obj->next_content; for ( ; ; ) { pRoomIndex = get_room_index( number_range( 0, 65535 ) ); if ( pRoomIndex != NULL ) if ( CAN_ACCESS(pRoomIndex) ) break; } act("$p vanishes in a puff of smoke!",ch,obj,NULL,TO_ROOM); obj_from_room(obj); obj_to_room(obj, pRoomIndex); } return; } Add this to merc.h and modify as needed: #define CAN_ACCESS(room) ( !IS_SET(room->room_flags, ROOM_PRIVATE) \ && !IS_SET(room->room_flags, ROOM_SOLITARY) \ && !IS_SET(room->room_flags, ROOM_NOTELEPORT) \ && !IS_SET(room->room_flags, ROOM_NEWBIES_ONLY) \ && !IS_SET(room->room_flags, ROOM_GODS_ONLY) \ && !IS_SET(room->room_flags, ROOM_IMP_ONLY) \ && !IS_SET(room->room_flags, ROOM_HOUSE) \ && !IS_SET(room->room_flags, ROOM_ARENA) )