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 */ /* Updated by Alderon of Anime MUD 2, anime2.ipupdater.net:7000 */ /* Added the ability to scatter objects, mobiles, and players seperately */ void do_scatter( CHAR_DATA *ch, char *argument ) { char arg[MAX_INPUT_LENGTH]; CHAR_DATA *victim; OBJ_DATA *obj; OBJ_DATA *obj_next; ROOM_INDEX_DATA *pRoomIndex; CHAR_DATA *vnext; one_argument(argument, arg); if (arg[0] == '\0') { send_to_char("You must specify object, mobile, or players.\n\r", ch); return; } if (!str_prefix(arg, "object")){ 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; } if (CAN_WEAR(obj, ITEM_TAKE)) { obj_from_room(obj); obj_to_room(obj, pRoomIndex); } } send_to_char("Items scattered.\n\r",ch); return; } if (!str_prefix(arg, "mobile")){ for (victim = ch->in_room->people; victim != NULL; victim = vnext) { vnext = victim->next_in_room; for ( ; ; ) { pRoomIndex = get_room_index( number_range( 0, 65535 ) ); if ( pRoomIndex != NULL ) if ( CAN_ACCESS(pRoomIndex) ) break; } if (IS_NPC(victim) && !IS_SET(victim->act, ACT_AGGRESSIVE) ) { char_from_room(victim); char_to_room(victim, pRoomIndex); } } send_to_char("Mobiles scattered.\n\r",ch); return; } if (!str_prefix(arg, "players")){ for (victim = ch->in_room->people; victim != NULL; victim = vnext) { vnext = victim->next_in_room; for ( ; ; ) { pRoomIndex = get_room_index( number_range( 0, 65535 ) ); if ( pRoomIndex != NULL ) if ( CAN_ACCESS(pRoomIndex) ) break; } if (!IS_NPC(victim) && !IS_IMMORTAL(victim)) { char_from_room(victim); char_to_room(victim, pRoomIndex); send_to_char("`!You have been scattered!``\n\r", victim); do_look(victim, "auto"); } } send_to_char("Players scattered.\n\r",ch); 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) )