#define EFFECT "/std/effects/object/identity_hold"
inherit COMMAND_BASE;
/** @ignore yes */
mixed cmd( object *things, string word ) {
object thing;
mapping ids;
if( !word ) {
ids = unique_mapping( things, (: $1->query_identifier() :) );
foreach( word, things in ids )
write("You "+( !word ? "do not have "+
query_multiple_short(things, "the")+" identified." :
"have "+query_multiple_short(things, "the")+" identified "
"as \""+word+"\".") + "\n");
return 1;
}
if( sizeof(things) > 1 ) {
add_failed_mess("You can only identify one thing at a time.\n");
return 0;
}
thing = things[0];
word = lower_case( word );
thing->add_effect( EFFECT, ([ "identity" : word ]) );
write( (string)thing->the_short()+" may now be identified as \""+
word +"\".\n" );
return 1;
} /* cmd() */
/** @ignore yes */
mixed query_patterns() {
return ({ "<indirect:object:me> as <string'some new name'>",
(: cmd( $1, $4[1] ) :),
"<indirect:object:me>",
(: cmd( $1, 0 ) :) });
} /* query_patterns() */