// for WIZ_PRESENT
#include <creator.h>
inherit "/cmds/base";
int cmd( string words ) {
string *name = allocate(2);
string *mess = allocate(2);
object *person = allocate(2);
object *tmp;
object thing;
mixed *inv = allocate(2);
mixed *matching = allocate(2);
int i;
sscanf( words, "%s with %s", name[0], name[1] );
for( i=0; i<2; i++)
name[i] = this_player()->expand_nickname( name[i] );
for( i=0; i<2; i++) {
if( !(person[i] = find_player( name[i] )) )
return notify_fail("No such player - " + name[i] + ".\n");
inv[i] = all_inventory( person[i] );
tmp = ({ });
foreach( thing in inv[i] )
if( thing->query_cloned_by() == name[!i] ) tmp += ({ thing });
if(tmp) {
switch( arrayp(tmp) ) {
case 1: matching[i] = tmp; break;
default: matching[1] = ({ tmp });
}
}
switch( sizeof(matching[i]) ) {
case 0:
mess[i] = "No items in " + name[i] + " were cloned by " + name[!i] + ".\n";
break;
case 1:
mess[i] = "One item in " + name[i] + " was cloned by " + name[!i] + ".\n";
mess[i] += " " + WIZ_PRESENT->desc_f_object(matching[i][0]) + "\n";
break;
default:
mess[i] = sizeof(matching[i]) + " items in " + name[i] +
" were cloned by " + name[!i] + ".\n";
foreach( thing in matching[i] )
mess[i] += " " + WIZ_PRESENT->desc_f_object(thing) + "\n";
}
}
write(mess[1] + "\n" + mess[0]);
//tell_creator("mansarde", "\nwords: %s\nmatching: %O\n", words, matching );
return 1;
}