/* ** j###t ########## #### #### ** j###t ########## #### #### ** j###T "###L J###" ** ######P' ########## ######### ** ######k, ########## T######T ** ####~###L #### ** #### q###L ########## .##### ** #### \###L ########## #####" ** ** $Id: Idle.java,v 1.7 1997/07/22 08:41:43 subtle Exp subtle $ ** ** Class History ** ** Date Name Description ** ---------|------------|----------------------------------------------- ** 04Jul97 exile added on/off toggle to idle so that the player ** can put themself into and take themselves out ** of idle mode. ** 21Jul97 subtle tidied, added recalculation of idleprompt ** */ package key.commands; import key.*; import key.primitive.*; import java.io.IOException; import java.util.StringTokenizer; public class Idle extends Command { public static final String IN = "You are now in idle mode."; public static final String OUT = "You are no longer in idle mode."; public Idle() { setKey( "idle" ); usage = "[<player>] | [on|off]"; } /** * checks the idle time of <player> */ public void run( Player p, StringTokenizer args, String fullLine, CategoryCommand caller, InteractiveConnection ic, Flags flags ) throws IOException { if( args.hasMoreTokens() ) { String playerName = args.nextToken(); if( playerName.equalsIgnoreCase( "on" ) ) { p.setIdle( true ); ic.sendFeedback( IN ); ic.sendFeedback( p.getName() + p.getIdleMsg() ); } else if( playerName.equalsIgnoreCase( "off" ) ) { p.setIdle( false ); ic.sendFeedback( OUT ); } else { // it's a players name and not a toggle option Player targetPlayer = (Player)getOnlinePlayer( p, ic, playerName ); if( targetPlayer == p ) { ic.sendError( "Hang on... *slightly confused look*" ); return; } else if( targetPlayer != null ) { Duration idleTime = (Duration) targetPlayer.getIdle( new DateTime() ); ic.sendFeedback( targetPlayer.getName() + " has been idle for " + idleTime.toString() ); return; } } } else { // no param means toggle the current idle state if( p.isIdle() ) { p.setIdle( false ); ic.sendFeedback( OUT ); } else { p.setIdle( true ); ic.sendFeedback( IN ); ic.sendFeedback( "When they try to talk to you, people will see:" ); ic.sendFeedback( p.getName() + " is idle: " + p.getIdleMsg() ); } } } }