// Checks to see if the specified object exists, isn't garbage, // etc. HS_BOOL8 CHSInterface::ValidObject(HS_DBREF objnum) { #ifdef PENNMUSH // No change in code between versions if (GoodObject(objnum) && !IsGarbage(objnum)) return true; else return false; #endif #if defined(TM3) || defined(MUX) if (Good_obj(objnum) && !isGarbage(objnum)) return true; else return false; #endif }
char *unparse_object( dbref player, dbref target, int obey_myopic ) { char *buf, *fp, *bp; int exam; buf = alloc_lbuf( "unparse_object" ); if( target == NOTHING ) { strcpy( buf, "*NOTHING*" ); } else if( target == HOME ) { strcpy( buf, "*HOME*" ); } else if( target == AMBIGUOUS ) { strcpy( buf, "*VARIABLE*" ); } else if( isGarbage( target ) ) { fp = unparse_flags( player, target ); bp = buf; safe_sprintf( buf, &bp, "*GARBAGE*(#%d%s)", target, fp ); free_sbuf( fp ); } else if( !Good_obj( target ) ) { sprintf( buf, "*ILLEGAL*(#%d)", target ); } else { if( obey_myopic ) { exam = MyopicExam( player, target ); } else { exam = Examinable( player, target ); } if( exam || ( Flags( target ) & ( CHOWN_OK | JUMP_OK | LINK_OK | DESTROY_OK ) ) || ( Flags2( target ) & ABODE ) ) { /* * show everything */ fp = unparse_flags( player, target ); bp = buf; safe_sprintf( buf, &bp, "%s(#%d%s)", Name( target ), target, fp ); free_sbuf( fp ); } else { /* * show only the name. */ strcpy( buf, Name( target ) ); } } return buf; }