#include "defs.h"
int
pokaz_szefa(string str)
{
	string szefu;
	szefu = NAJEMNICY->znajdz_szefa();
	write("Obecnie Kapitanem Najemnikow jest " + capitalize(szefu) + ".\n");
	return 1;
}
int
awansuj(string str)
{
	object *cel = parse_this(str,"%l:"+PL_BIE);
	notify_fail("Awansowac moze tylko Kapitan Najemnikow.\n");
	if (!NAJEMNICY->query_szef(TP)) return 0;
	notify_fail("Awansuj kogo?\n");
	if (!sizeof(cel)) return 0;
	notify_fail("To nie jest Najemnik!\n");
    if (!NAJEMNICY->query_czlonek(cel[0])) return 0;
    notify_fail("Juz wyzej go awansowac nie mozesz!\n");
    if (NAJEMNICY->promote(cel[0]))
    {
		TP->catch_msg("Awansowales " + QIMIE(cel[0], PL_DOP) + ".\n");
		cel[0]->catch_msg("Zostales awansowany przez " + QIMIE(TP, PL_BIE) + ".\n");
		return 1;
	}
	else return 0;
}
int degraduj(string str)
{
	object *cel = parse_this(str,"%l:"+PL_BIE);
	notify_fail("Degradowac moze tylko Kapitan Najemnikow.\n");
	if (!NAJEMNICY->query_szef(TP)) return 0;
	notify_fail("Degraduj kogo?\n");
	if (!sizeof(cel)) return 0;
	notify_fail("To nie jest Najemnik!\n");
    if (!NAJEMNICY->query_czlonek(cel[0])) return 0;
    notify_fail("Juz nie da sie juz bardziej go zdegradowac!\n");
    if (NAJEMNICY->demote(cel[0]))
    {
		TP->catch_msg("Degradowales " + QIMIE(cel[0], PL_DOP) + ".\n");
		cel[0]->catch_msg("Zostales degradowany przez " + QIMIE(TP, PL_BIE) + ".\n");
		return 1;
	}
	else return 0;
}
int
nprzekaz(string str)
{
	object *cel = parse_this(str,"%l:"+PL_CEL);
	notify_fail("Nie jestes kapitanem!\n");
	if (!NAJEMNICY->query_szef(TP)) return 0;
	notify_fail("Przekaz komu szefostwo?\n");
	if (!sizeof(cel)) return 0;
	notify_fail("To nie jest Najemnik!\n");
    if (NAJEMNICY->set_szef(cel[0]))
    {
		TP->catch_msg("Przekazales szefostwo " + QIMIE(cel[0], PL_CEL) + ".\n");
		cel[0]->catch_msg("Zostales mianowany nowym Kapitanem Najemnikow przez " + QIMIE(TP, PL_BIE) + ".\n");
		return 1;
	}
	else return 0;
}
int
nwydal(string str)
{
	object gracz;
	notify_fail("Wydalic z kompanii moze tylko Kapitan Najemnikow.\n");
	if (!NAJEMNICY->query_szef(TP)) return 0;
	notify_fail("Wydal kogo z kompanii?\n");
	if (!str) return 0;
	notify_fail("To nie jest Najemnik!\n");
    if (!NAJEMNICY->query_czlonek(str)) return 0;
    gracz = find_player(str);
    NAJEMNICY->dodaj_do_wyjebania(str);
    if(gracz) NAJEMNICY->logowanie(gracz);
    TP->catch_msg("Wyrzuciles " + str + " z gildii Najemnikow.\n");
    return 1;
}
int
nzniszcz(string str)
{
	object *guilditem;
	int i;
	notify_fail("Co chcesz zniszczyc?\n");
	if (str!="bandane") return 0;
    NAJEMNICY->wyjeb(TP);
	TP->catch_msg("Szybko niszczysz swa bandane rezygnujac z bycia najemnikiem.\n");
    NAJEMNICY_SH->remove_soula(TP);
	TP->remove_autoshadow(MERC_ENGINE+"shadow:0");
    TP->set_guild_pref(SS_OCCUP, 0);
    TP->clear_guild_stat(SS_OCCUP);
    guilditem = deep_inventory(TP);
	for (i= 0; i < sizeof(guilditem); i++)
	  	if (guilditem[i]->czy_bandana_mercow())
		        guilditem[i]->remove_object();
	return 1;
}
int
najemnicy(string str)
{
    object *gracze;
	int i;
	string s= NAJEMNICY->czlonkowie_gildii();;
	if(str == "wszyscy") {  write(s); return 1; }
    gracze = users();
    notify_fail("Obecnie jestes jedynym Najemnikiem przebywajacym w swiecie.\n");
    if (sizeof(gracze) == 1) return 0;
    write("\t\tObecnie w swiecie przebywaja:\n");
    for(i=0; i<sizeof(gracze); i++)
        {
         if(NAJEMNICY->query_czlonek(gracze[i]))
         {
			 if(NAJEMNICY->query_szef(gracze[i])) write(capitalize(gracze[i]->query_real_name()) + " (Kapitan) .\n");
			 else write(capitalize(gracze[i]->query_real_name()) + "\n");
         }
       }
    return 1;
}
int
help(string str)
{
	write("Dostepne komendy dla Najemnikow to:\n"+
	      "Specjale:\n"+
	      "Uderz - uderzenie\n"+
	      "Blokuj - blokowanie\n"+
	      "Pusc - zaprzestanie blokowania\n"+
	      "\nKomendy dla kapitana:\n"+
	      "nawansuj - awansowanie (dostepne tylko dla Kapitana)\n"+
	      "ndegraduj - degradowanie\n"+
	      "nprzekaz - przekazanie komus dowodzenia nad Najemnikami\n"+
	      "nwydal - wywalenie kogos z najemnikow\n"+
	      "\nKomendy dla czlonkow:\n"+
	      "nzniszcz - zniszczenie bandany i wyrzeczenie sie Najemnikow\n"+
	      "najemnicy - Lista obecnych najemnikow\n"+
	      "najemnicy wszyscy - Lista wszystkich najemnikow.\n"+
	      "nkapitan - Imie obecnego Kapitana\n"+
	      "\nGdy zdejmiesz bandane twoj tytul bedzie ukryty, gdy zalozysz odslonisz swoj tytul.\n");
	return 1;
}
