void do_checkweaps(CHAR_DATA *ch, char *argument)
{
char arg1[MAX_INPUT_LENGTH], arg2[MAX_INPUT_LENGTH],buf[MAX_INPUT_LENGTH], name[MAX_INPUT_LENGTH];
BUFFER *buffer;
OBJ_DATA *obj;
bool found;
int level = 0, number = 0;
found = FALSE;
number = 0;
name[0] = '\0';
buffer = new_buf();
argument = one_argument(argument, arg1);
argument = one_argument(argument, arg2);
if ( arg1[0] == '\0' )
{
send_to_char("Syntax: checkweaps <level or name> <level or name>\n\r", ch);
return;
}
if ( is_number(arg1) )
level = atoi(arg1);
else sprintf(name,"%s",arg1);
if ( arg2[0] != '\0' )
{
if ( is_number(arg2) )
{
if ( level ) // User entered 2 level values
{
send_to_char("Please enter only 1 level value.\n\r",ch);
return;
}
else level = atoi(arg2);
}
else if ( name[0] != '\0' ) // User entered 2 name values
{
send_to_char("Please enter only 1 name value.\n\r", ch);
return;
}
else sprintf(name,"%s",arg2);
}
// Now just execute 1 loop
for ( obj = object_list; obj != NULL; obj = obj->next )
{
if(obj->wear_loc == WEAR_WIELD
&& (name[0] == '\0' || is_name(name,obj->name))
&& (!level || obj->level == level))
{
number++;
sprintf(buf," %d ) [ AVG DAM: %3d ] [ LEVEL: %3d ] %s (%d)\n\r",number,((1 +
obj->value[2]) * obj->value[1] / 2),obj->level,obj->short_descr, obj->pIndexData->vnum);
add_buf(buffer,buf);
}
}
if ( buf_string(buffer)[0] == '\0' )
send_to_char("No matching weapons found.\n\r", ch);
else page_to_char(buf_string(buffer),ch);
free_buf(buffer);
return;
}