diff -i smaug14/src/reset.c smaug18/src/reset.c 8c8 < * Tricops and Fireblade | * --- > * Tricops, Fireblade, Edmond, Conran | * 67c67,68 < void list_resets args( ( CHAR_DATA * ch, AREA_DATA * pArea, ROOM_INDEX_DATA * pRoom, int start, int end ) ); --- > void list_resets args( ( CHAR_DATA * ch, AREA_DATA * pArea, > ROOM_INDEX_DATA * pRoom, int start, int end, char extraarg ) ); 374a376 > char extraarg = '\0'; 427c429 < int start, end; --- > int start, end, nNumber; 429,433c431,493 < argument = one_argument( argument, arg ); < start = is_number( arg ) ? atoi( arg ) : -1; < argument = one_argument( argument, arg ); < end = is_number( arg ) ? atoi( arg ) : -1; < list_resets( ch, pArea, aRoom, start, end ); --- > start = -1; > end = -1; > nNumber = 0; > > for ( ;; ) > { > argument = one_argument( argument, arg ); > if ( arg[0] == '\0' ) > break; > if ( is_number( arg ) ) > { > switch ( ++nNumber ) > { > case 1: > start = atoi( arg ); > break; > case 2: > end = atoi( arg ); > break; > default: > send_to_char( "Only two number parameters allowed.\n\r", ch ); > return; > } > } > else > { > /* Tiki - March 2002 > Check for reset type from below > A = all objects (E, G, O, and P) > B = bit D = door > E = object worn by mob G = object in mob's inventory > H = hide flag on object M = mob > O = object placed in room P = object placed in container > R = randomized rooms (maze) T = trap > */ > extraarg = UPPER( arg[0] ); > switch ( extraarg ) > { > default: > send_to_char( "Reset list parameter must be one of the following:\n\r", ch ); > send_to_char( " A = all objects (E, G, O, and P)\n\r", ch ); > send_to_char( " B = bit D = door\n\r", ch ); > send_to_char( " E = object worn by mob G = object in mob's inventory\n\r", ch ); > send_to_char( " H = hide flag on object M = mob\n\r", ch ); > send_to_char( " O = object placed in room P = object placed in container\n\r", ch ); > send_to_char( " R = randomized rooms (maze) T = trap\n\r", ch ); > return; > case 'A': > case 'B': > case 'D': > case 'E': > case 'G': > case 'H': > case 'M': > case 'O': > case 'P': > case 'R': > case 'T': > break; > } > } > } > list_resets( ch, pArea, aRoom, start, end, extraarg ); 436a497 > 1359c1420 < if ( pRoomPrev && IS_SET( pRoomPrev->room_flags, ROOM_PET_SHOP ) ) --- > if ( pRoomPrev && xIS_SET( pRoomPrev->room_flags, ROOM_PET_SHOP ) ) 1366a1428,1429 > if ( HAS_PROG( mob->pIndexData, LOAD_PROG ) ) > mprog_percent_check( mob, NULL, NULL, NULL, NULL, LOAD_PROG ); 1384c1447 < int olevel = generate_itemlevel( pArea, pObjIndex ); --- > int olevel = UMIN( generate_itemlevel( pArea, pObjIndex ), level ); 1535c1598 < to_obj = make_trap( pReset->arg1, pReset->arg1, 10, pReset->extra ); --- > to_obj = make_trap( pReset->arg2, pReset->arg1, 10, pReset->extra ); 1639c1702 < if ( IS_SET( pReset->arg2, BIT_RESET_SET ) ) --- > if ( IS_SET( pReset->arg2, BIT_RESET_SET ) && plc != NULL ) 1712c1775 < void list_resets( CHAR_DATA * ch, AREA_DATA * pArea, ROOM_INDEX_DATA * pRoom, int start, int end ) --- > void list_resets( CHAR_DATA * ch, AREA_DATA * pArea, ROOM_INDEX_DATA * pRoom, int start, int end, char extraarg ) 1724a1788 > bool show = FALSE; 1736a1801 > show = FALSE; 1740c1805,1815 < sprintf( buf, "%2d) ", num ); --- > if ( !extraarg || extraarg == '\0' || extraarg == pReset->command ) > show = TRUE; > else /*Check for 'A', which displays all objects (E, G, O, and P) */ > { > if ( extraarg == 'A' && > ( pReset->command == 'E' || > pReset->command == 'G' || pReset->command == 'O' || pReset->command == 'P' ) ) > show = TRUE; > } > > sprintf( buf, "%3d) ", num ); 1760c1835 < if ( ( room = get_room_index( pReset->arg3 - 1 ) ) && IS_SET( room->room_flags, ROOM_PET_SHOP ) ) --- > if ( ( room = get_room_index( pReset->arg3 - 1 ) ) && xIS_SET( room->room_flags, ROOM_PET_SHOP ) ) 2002c2077 < if ( start == -1 || num >= start ) --- > if ( ( start == -1 || num >= start ) && show )