/* _join.c  -  Zeus (13/01/1993)
// command to allow players to join a team.
*/

inherit "/std/cmd_m";

int help();

int cmd_join(string str) {
	object ob;

	if(!str) {
		notify_fail("Join who?\n");
		return 0;
	}

	ob = present(lower_case(str), environment(this_player()));
	if(!ob) {
		notify_fail("That person is not here.\n");
		return 0;
	}

	if(ob->query("leader") != ob->query("cap_name")) {
		notify_fail("That person is not a leader of a team.\n");
		return 0;
	}

	if(this_player()->query("leader")) {
		notify_fail("You are already member of a team.\n");
		return 0;
	}

	ob->add_member(this_player());
	write("You are now a member of "+this_player()->query("leader")+
		  "'s team.\n");
	tell_object(ob, this_player()->query("cap_name")+" joins your team.\n");
	return 1;
}

int help() {
	write("Syntax: join <leader>\n");
	write("This command allows you to join an existing team known by\n"+
	      "its leader's name. The leader of the team has to be in the\n"+
	      "same room as you.\n");
	return 1;
}