inherit "/d/Imperium/std/room";
inherit "/cmd/std/command_driver";
#include "defs.h"
#define POPARCIE "poparcie_najemnikow"
int nie_przejdziesz();
int wstap(string str);
int poprzyj(string str);
void
create_imperium_room()
{
	set_short("Pokoj przyjec");
	set_long("Znajdujesz sie w pomieszczeniu w ktorym rekrutuje sie nowych czlonkow Najemnikow. Mozna tu takze "+
	         "pobrac nowa bandane w wypadku utraty starej.\n");
	add_exit(MERC_LOK + "sypialnia", "zachod", nie_przejdziesz, 0);
    add_exit("/d/Imperium/Kraina/RATUSZ/lokacje/b21.c", "poludnie", 0, 0);
    
    dodaj_npca("/d/Imperium/Mercs/npc/strazik.c");	
    dodaj_npca("/d/Imperium/Mercs/npc/strazik.c");	
    dodaj_npca("/d/Imperium/Mercs/npc/strazik.c");	
}
void
init()
{
	::init();
	add_action("wstap", "wstap");
	add_action("poprzyj", "poprzyj");
	add_action("pobierz", "pobierz");
}
int
pobierz(string str)
{
    object *bandana;
    int i;
	notify_fail("Nie jestes Najemnikiem!\n");
	if(!NAJEMNICY->query_czlonek(TP)) return 0;
	notify_fail("Co chcesz pobrac?\n");
	if(str!="bandane") return 0;
	notify_fail("Juz masz jedna bandane!\n");
    bandana = deep_inventory(TP);
	for (i= 0; i < sizeof(bandana); i++)
      if (bandana[i]->czy_bandana_mercow()) return 0;
    TP->catch_msg("Pobral" + TP->koncowka("es", "as") + " bandane. Nie zgub jej.\n");
    say(QCIMIE(this_player(), PL_MIA) + " pobra" + TP->koncowka("l", "la") + " bandene.\n");
    clone_object(MERC_OBJ + "bandana")->move(TP);      
    return 1;	
}
int
nie_przejdziesz()
{
	if (NAJEMNICY->query_czlonek(TP)) return 0;
	if (!find_living("straznik_gildii_najemnikow")) return 0;
	
	write("Nie jestes Najemnikiem, a straznik stoi ci na drodze!\n");
	return 1;
}
int
wstap(string str)
{
	object shadow;
	int result;
	notify_fail("Gdzie chcial" + TP->koncowka("bys", "abys") + " wstapic? Moze do Najemnikow?\n");
	if (str != "do najemnikow") return 0;
	notify_fail("Juz jestes Najemnikiem!\n");
	if (NAJEMNICY->query_czlonek(TP)) return 0;
	notify_fail("Juz jestes czlonkiem innej gildii zawodowej!\n");
	if (this_player()->query_guild_member(GUILD_TYPE)) return 0;
	if (TP->query_prop(POPARCIE))
	{
		    notify_fail("Cos sie zepsulo z shadowem. Zglos to do Levisa jak najszybciej!\n");
		    shadow = clone_object(NAJEMNICY_SH);
		    if ((result = shadow->shadow_me(this_player(), GUILD_TYPE,
				GUILD_STYLE, GUILD_NAME)) != 1)
		    {
    		    /* result = -1 (no name), -2 (wrong type), -3 (no style set),
    			-4 (the guild the player already joined don't want this guild.)
				-5 (couldn't shadow the player, security problems. )
				Probably they have set the notify_fail() appropriate.
				0 (already member or player wasn't set properly) */
		        /* This is one of the few times you destruct is OK to use... */
		    	shadow->destruct();
		    	return 0;
            }
            NAJEMNICY->nowy_czlonek(TP);
            NAJEMNICY_SH->dodaj_soula(TP);
            write("Witaj wsrod Najemnikow! Nos z duma twoja bandane.\n");
            say(QCIMIE(this_player(), PL_MIA) + " wstapil w szeregi Najemnikow.\n");
            clone_object(MERC_OBJ + "bandana")->move(this_player());
            return 1;
    }
    else
    {
		notify_fail("Musisz miec poparcie Kapitana Najemnikow!\n");
		return 0;
	}
}
int
poprzyj( string str )
{
  object *cel = parse_this(str,"%l:"+PL_BIE);
  notify_fail("Nie jestes Kapitanem Najemnikow by udzielac poparc.\n");
  if (!NAJEMNICY->query_szef(TP)) return 0;
  notify_fail("Poprzyj kogo?\n");
  if (!sizeof(cel)) return 0;
  if (cel[0]->query_prop(POPARCIE))
   { TP->catch_msg(QCIMIE(cel[0],PL_MIA)+" ma juz twoje poparcie.\n");return 1; }
  this_player()->catch_msg("Popierasz "+QCIMIE(cel[0],PL_BIE)+".\n");
  cel[0]->catch_msg("Zostales poparty przez Kapitana Najemnikow.\n");
  cel[0]->add_prop(POPARCIE, 1);
  return 1;
}
