void do_guild( CHAR_DATA *ch, char *argument )
{
	char arg1[MAX_INPUT_LENGTH],arg2[MAX_INPUT_LENGTH];
	char buf[MAX_STRING_LENGTH];
	CHAR_DATA *victim;
	int clan;

	argument = one_argument( argument, arg1 );
	argument = one_argument( argument, arg2 );

	if ( arg1[0] == '\0' || arg2[0] == '\0' )
	{
	send_to_char( "Syntax: {Gguild {c<{wchar{c> <{wclan name{c>{x\n\r",ch);
	return;
	}

	if ( ( victim = get_char_world( ch, arg1 ) ) == NULL )
	{
	send_to_char( "They aren't playing.\n\r", ch );
	return;
	}

	if (!str_prefix(arg2,"none"))
	{
		/* Remove Outcast flag */
		if(victim->clan == OUTCAST)
		{
		sprintf(buf,"You remove the {GOUTCAST{x flag from %s\n\r",victim->name);
		send_to_char(buf,ch);
		send_to_char("Your shame as an {GOUTCAST{x has ended.\n\r", victim);
		victim->clan = INDEP;
		victim->rank = MEMBER;
		return;
		}

	send_to_char("They are now clanless.\n\r",ch);
	send_to_char("You are now a member of no clan!\n\r",victim);
	victim->clan = INDEP;
	victim->rank = MEMBER;
	return;
	}

	if ((clan = clan_lookup(arg2)) == INDEP)
	{
	send_to_char("No such clan exists.\n\r",ch);
	return;
	}

	if (victim->level < clan_table[clan].min_level)
	{
	sprintf(buf,"%s must be at least level %d to join %s clan.\n\r",
	victim->name, clan_table[clan].min_level, clan_table[clan].name);
	send_to_char(buf, ch);
	return;
	}

	if (clan_table[clan].independent)
	{
	sprintf(buf,"They are now a {G%s{x.\n\r", clan_table[clan].name);
	send_to_char(buf,ch);
	sprintf(buf,"You are now a {G%s{x.\n\r", clan_table[clan].name);
	send_to_char(buf,victim);
	}

	else
	{
	sprintf(buf,"They are now a proud member of clan {G%s{x.\n\r", clan_table[clan].name);
	send_to_char(buf,ch);
	sprintf(buf,"You are now a proud member of clan {G%s{x.\n\r", clan_table[clan].name);
	send_to_char(buf,victim);
	}

	victim->clan = clan;
	victim->rank = MEMBER; /* make victim a member of the CLAN */

}
