#include "defs.h" main(arg) { object who,env,ob; string name; int i; SECURE i=0; if(!arg) who=this_player(); else if(!(who=find_player(arg)) && !(who=find_living(arg)) && !(who=find_object(arg))) FAIL("Not found.\n"); if(!(name=who->query_name())) name=file_name(who); else name=capitalize(name); if(VERB=="env") { if(!(env=environment(who))) FAIL(name+" has no environment\n"); write("Env of "+name+" :: "); if(!(name=env->short())) name=file_name(env); write(name+" :: "+file_name(env)+"\n"); ob=env; } else { write("Inventory of "+name+" :: "+file_name(who)+"\n"); ob=who; } writeinv(ob,""); return 1; } #define SHORTMAX 35 writeinv(ob,spc) { int i,padamount; i=1; padamount=SHORTMAX-strlen(spc); ob=first_inventory(ob); while(ob) { write(spc+i++); if(i>10) write(" "); else write(" "); if(ob->short()) write(PAD(ob->short(),padamount)); else if(ob->query_name()) write(PAD(ob->query_name(),padamount)); else write(PAD("Invisible object",padamount)); write(" "+extract(file_name(ob),0,74-SHORTMAX)+"\n"); if(first_inventory(ob)) writeinv(ob,spc+" "); ob=next_inventory(ob); } if(spc=="" && i==0) write("Empty inventory.\n"); return 1; }