/* ** j###t ########## #### #### ** j###t ########## #### #### ** j###T "###L J###" ** ######P' ########## ######### ** ######k, ########## T######T ** ####~###L #### ** #### q###L ########## .##### ** #### \###L ########## #####" ** ** $Id: Inspect.java,v 1.7 1997/07/28 08:36:34 snapper Exp subtle $ ** ** Class History ** ** Date Name Description ** ---------|------------|----------------------------------------------- ** 22Jun97 subtle renamed from examine ** */ package key.commands; import key.*; import java.io.IOException; import java.util.StringTokenizer; import java.util.Enumeration; /** * This command outputs the game parameters for an object. If no * argument is specified, it outputs the game parameters for the * players current room, otherwise it outputs the parameters for * the object inside the current room that the argument refers to. */ public class Inspect extends Verb { public Inspect() { setKey( "inspect" ); usage = "[<object>]"; verb = "inspect"; method = null; } /** * This gets called if 'inspect' is executed by default - * it should examine the current room. */ protected void handleNoArgs( Player p, StringTokenizer args, String fullLine, CategoryCommand caller, InteractiveConnection ic, Flags flags ) throws IOException { Room r = p.getLocation(); Atom c = p.getContext(); boolean same = true; if( c instanceof Room ) { r = (Room) c; same = false; } if( r == null ) { ic.sendError( "You don't seem to *be* anywhere" ); return; } ic.sendLine(); Material.anyAtomInspect( p, args, ic, flags, r ); ic.send( r.countPlayers( r.numberPlayers(), same ) + "." ); int count = r.count(); ic.send( "There " + Grammar.isAreCount( count ) + " object" + ( (count==1) ? "" : "s" ) + " in this room." ); ic.blankLine(); ic.send( "The portrait reads: Someone is [" + r.relation() + "] [" + r.portrait() + "]" ); if( r.getProperty( "commands" ) != null ) ic.send( "There are special abilities conferred while players are in this room. Check your commands listing for details (type 'commands')." ); ic.sendLine(); } public String getVerb() { return( "inspect" ); } public void setVerb( String v ) { throw new InvalidArgumentException( "you may not set this property" ); } }