/* Do not remove the headers from this file! see /USAGE for more info. */ #include <mudlib.h> inherit OBJ; inherit "/std/living/grammar"; int subj_obj; string mudname, user_name; void setup( mixed who, int s_o ) { if ( !who ) return ; subj_obj = s_o; if ( stringp( who ) ) { string used_mudname; sscanf( who, "%s@%s", user_name, used_mudname ); if ( used_mudname ) mudname = IMUD_D->canon_mudname( used_mudname ); if ( mudname ) { int gend = IMUD_D->get_gender( mudname, user_name ); // No idea if this is silent or not ... #if 0 if ( this_body() ) move( this_body(), "in" ); #else // This is probably safer -Beek move_object(this_body()); #endif set_id( "wibblewibble"+lower_case(user_name) + " "+ replace_string( lower_case(used_mudname), ".", " " ) ); set_gender( gend == -1 ? 1 : gend ); // Assume male if unknown } else remove(); } else { set_gender( who->query_gender() ); user_name = who->query_userid(); } // we exist temporarily only call_out( (: remove :), 0); } int is_living() { return 1; } string query_mud_name() { return mudname; } string query_userid() { return user_name; } string query_name() { return capitalize( user_name ); } string short() { return ( subj_obj & 1 ? "$N" : ( subj_obj & 2 ? "$O" : query_name()+( mudname ? "@"+mudname : "" ) ) ); } string a_short() { return short(); } string the_short() { return short(); }