/** (C) Game Page Network, Inc., Confidential, All Rights Reserved */
// KibitzCommand.java
// --paul@gamepage.net, 23jul97

import java.util.*;

public class KibitzCommand extends Command {
  KibitzCommand() {
    super("kibitz", -1, null,
          "Send to TABLE observers (not players) a MESSAGE*.\n"+
          "Example: kibitz 4 his king is in trouble!"+
          "See also: talk, whisper, shout, mute.");
  }
  public void process(StringTokenizer args, Client c) {
    Member talker = c.getMember();  
    
    if (args.countTokens()<2) {
      c.send("? kibitz");
      return;
    }
      
    String name = args.nextToken();
    Table table = Table.findIt(name);
    if (table == null) {  
      /// should also require current member to already be observing table
      c.send("! kibitz "+name+": No such table.");
      return;
    }
      
    StringBuffer buf = new StringBuffer("kibitz "+talker+" ");
    buf.append(args.nextToken("\0"));
    String message = buf.toString();
    
    Vector friends = new Vector(8);
    Enumeration e = table.getObservers();
    while ( e.hasMoreElements() ) {
      Member member = (Member)e.nextElement();
      friends.addElement(member.toString());
    }
    
    Table.tellMembers(talker, friends, message, Table.P2);    
  }
}

