#pragma strict_types

inherit "/std/room";

int status_polnoc = 0;
int status_wschod = 0;

int wyjscie_na_wschod();
int wyjscie_na_poludnie();
int wyjscie_na_polnoc();
void proba_wyjscia();

void
create_room()
{
  set_short("Na skrzyzowaniu");
  set_long("Znajdujesz sie na skrzyzowaniu drog. Ciekawe ktory " +
	   "kierunek obrac? Na polnoc widzisz czarna dziure, na " +
	   "wschod zas, zamkniete drzwi ktore mozna chyba objerzec. " +
	   "Jedynie poludniowa droga wyglada jakos normalniej.\n");
    
  add_item(({"drzwi", "zamkniete drzwi"}),
	   "sa to zelazne, zamkniete drzwi");

  // Pusty lancuch znakow jest podstawiany na room.c
  add_exit("", "north", "@@wyjscie_na_polnod");
  add_exit("", "east", "@@wyjscie_na_wschod");
  add_exit("komnata_z_pomnikiem.c", "south", "@@wyjscie_na_poludnie");
  add_exit("pokoj.c", "west");
}

int
wyjscie_na_polnoc()
{
    status_polnoc = 1;

    return 1;
}

int
wyjscie_na_wschod()
{
  status_wschod = 1;
  write("*** Nie umiesz czytac?! Drzwi sa zamkniete. ***\n" +
	"Tak naprawde to wyjscie prowadzi do nikad, poniewaz nie " +
	"zdefiniowano pliku do ktorego kierunek wschod mialby " +
        "prowadzic. Taka czynnosc zwykle powinna wywolac tzn. " +
        "runtime error. Z pewnego powodu tak sie nie dzieje, " +
	"ale o tym kiedy indziej. Mlody czarodzieju, podazaj na " +
	"poludnie.\n");
  
  return 1;
}

int
wyjscie_na_poludnie()
{
  if (status_wschod == 1)
    return 0;
  else
    proba_wyjscia();

  return 1;
}

void proba_wyjscia()
{
  write("Jakas dziwna sila Cie przed tym powstrzymuje!\n" +
        "Sprobuj najpierw udac sie na polnoc a pozniej " +
        "na wschod.\n");
}
