key0-96/
key0-96/doc/key/
key0-96/doc/key/credits/
key0-96/doc/key/developers/
key0-96/doc/key/developers/resources/
key0-96/setup/caves/
key0-96/setup/help/
key0-96/setup/ruins/
key0-96/src/
key0-96/src/commands/
key0-96/src/events/
key0-96/src/hack/
key0-96/src/sql/
key0-96/src/swing/
key0-96/src/talker/forest/
key0-96/src/talker/objects/
key0-96/src/terminals/
/*
**               j###t  ########## ####   ####
**              j###t   ########## ####   ####
**             j###T               "###L J###"
**          ######P'    ##########  #########
**          ######k,    ##########   T######T
**          ####~###L   ####
**          #### q###L  ##########   .#####
**          ####  \###L ##########   #####"
*/

package key.commands.clan;

import key.*;
import java.io.IOException;
import java.util.StringTokenizer;
import java.util.Enumeration;

public class Structure extends Command
{
	public Structure()
	{
		setKey( "structure" );
		usage = "";
	}
	
	public void run( Player p, StringTokenizer args, String fullLine, CategoryCommand caller, InteractiveConnection ic, Flags flags ) throws IOException
	{
		Clan clan = (Clan) p.getClan();
		
		ic.send( new HeadingParagraph( "^hclan " + clan.getName() + "^-", HeadingParagraph.CENTRE ) );
		
		int numRanks = 0;
		int numMembers = 0;
		
		for( Enumeration e = clan.ranks.elements(); e.hasMoreElements(); )
		{
			Rank r = (Rank) e.nextElement();
			{
				ic.send( new HeadingParagraph( "^h" + r.getName() + "^-", HeadingParagraph.LEFT ) );
				StringBuffer sb = new StringBuffer( "^himplies: " );
				for( Enumeration f = r.getImplies().elements(); f.hasMoreElements(); )
				{
					Rank imp = (Rank) f.nextElement();
					sb.append( imp.getName() + " " );
				}

				sb.append( "^-" );
				
				ic.send( new TextParagraph( sb.toString() ) );
				
				int c = r.count();
				if( c > 0 )
				{
					numMembers += c;
					String names[] = new String[ c ];
					int j=0;
					
					for( Enumeration f = r.elements(); f.hasMoreElements(); )
					{
						Player tempPlayer = (Player) f.nextElement();
						
						names[j++] = tempPlayer.getName();
					}
					
					ic.send( new TextParagraph( TextParagraph.LEFT, Grammar.commaSeperate( names ), 3, 3, 0, 0 ) );
				}
				
				numRanks++;
			}
		}
		
		ic.send( new HeadingParagraph( "^h[Ranks: " + numRanks + "] [Players: " + numMembers + "]^-" )  );
	}
}