/* ** j###t ########## #### #### ** j###t ########## #### #### ** j###T "###L J###" ** ######P' ########## ######### ** ######k, ########## T######T ** ####~###L #### ** #### q###L ########## .##### ** #### \###L ########## #####" ** ** Class History ** ** Date Name Description ** ---------|------------|----------------------------------------------- ** 06Oct97 exile ** druss created this command ** 02Aug97 exile fixed so that it respects the to rooms deny enter ** actions. ** */ package key.commands; import key.*; import java.io.IOException; import java.util.StringTokenizer; public class Go extends Command { public Go() { setKey( "go" ); usage = "<exit>"; } public static void useExit( Player p, Exit e, InteractiveConnection ic, StringTokenizer args, Flags flags ) { // check to see that the room about to be entered // allows this player (exile 02Aug97) Room toRoom = e.getTo(); if( toRoom != null ) { if( toRoom.canMoveInto( p ) ) { e.use( p, args, ic, flags, e ); } else { ic.sendFeedback( "Your ability to enter that room has been denied." ); return; } } else ic.sendFeedback( "That exit doesn't appear to lead anywhere (dud link)." ); } public void run( Player p, StringTokenizer args, String fullLine, CategoryCommand caller, InteractiveConnection ic, Flags flags ) throws IOException { if( args.hasMoreTokens() ) { String exitName = args.nextToken(); Object o = p.getLocation().getExactElement( exitName ) ; if( o == null ) { // splash 'it aint there' clause ic.sendFeedback( "That exit dosent appear to exist." ); } else { // test for the objects 'exitability' if( o instanceof Exit ) { // only use the exit if the object is an exit useExit( p, (Exit) o, ic, args, flags ); } else { // otherwise splash idiot tell ic.sendFeedback( "You cannot exit through that!! (pancake clause)" ); } } } else usage( ic ); } }