inherit "/std/object"; string name; /* This is the capitalized name */ string msgin="enters."; string msgout="leaves DIR."; static object body; int brief_mode; int local_weight; int is_living() { return 1; } int is_player() { return 0; } int is_npc() { return 0; } string query_name() { return name; } void catch_tell(string s) { } void emote(string s) { tell_room(environment(),query_name()+" "+s+"\n",({this_object()})); } void create(string s) { ::create(s); enable_commands(); } int do_look(string s) { int perc, light; object o; string sl; if(body) perc=(int)body->get_tot_add_prop("perception"); light=(int)environment()->query_add_prop("light"); if(s && s!="" && !(o=present(s,environment())) && light>=perc) { foreach(all_inventory(environment()),o) { if(sl=(string)o->get_item(s)) { catch_tell(sl+"\n"); return 1; } } } if(!o) o=environment(); catch_tell( (string)o->long(s,light*perc/100) ); return 1; } void move_player(string dir,mixed where,string leavehow,string enterhow) { if(!leavehow) leavehow=replace(msgout,"DIR",dir); if(!enterhow) enterhow=msgin; emote(leavehow); move_object((object)where); emote(enterhow); if(is_player()) { if(brief_mode) catch_tell((string)environment()->display_short()); else do_look(0); } } int hit_player(int str,int pene,int orientation) { } int add_weight(int t) { if(local_weight+t>(int)body->query_add_prop("str")) { return 0; }else{ local_weight+=t; return t; } }