/* krypta */
/* autor : dhor */
/* the very first version :))))))) */


inherit "/d/Imperium/std/room";
#include </sys/stdproperties.h>
#include <macros.h>
#include <dhor.h>
#define CZY_TRZYMA "dhor_czy_trzyma"

int chwyc(string str);
int skacz(string str);

init()
{
   add_action(chwyc,"zlap");
   add_action(chwyc,"chwyc");
   add_action(skacz,"przeskocz");
         
   ::init();
         
}
         
void
create_imperium_room()
{
/* rodzaj, i czy jasno .... */

        add_prop ( ROOM_I_INSIDE, 1); // czy jest to lokacja na polu, czy pokoj 
        add_prop ( ROOM_I_LIGHT, 0); // jasno czy ciemno


/* co widac */

        set_short( "Podziemna krypta.");

        set_long( "Stoisz w waskim krytarzu wewnatrz kurhanu. "+
        "Popekane kamienne bloki, z ktorych zbudowane sa sciany, "+
        "nie oparly sie niszczacej sile czasu, i maja na sobie "+
        "liczne pekniecia. Niemniej jednak, wytrzymaja na pewno "+
        "jeszcze sporo. "+
        "Z skradajacego sie zewszad polmroku, zdaja sie wpatrywac "+
        "w ciebie niewidzialne oczy, i caly czas masz nieodparte "+
        "wrazenie, ze ktos stoi za twoimi plecami. "+
	"Z peknietego sufitu zwisaja korzenie jakiegos drzewa, "+
	"ktore nie balo sie naruszyc spokoju zmarlym, natomiast "+ 
	"na podlodze wylozonej popekanymi cienkimi plytkami kamiennymi "+
	"dostrzegasz porozrzucane resztki pochodni, i zapewne kosci "+
	"jakiegos poszukiwacza przygod. \n");
	


/* pobawimy sie ? */

	add_item ( "pajeczyny",
        "Sa wszedzie. Przede wszystkim na twej twarzy. \n");
	                


        add_item ( "kosci",
        "Kawalki kosci, ktore niegdys wchodzily w sklad szkieletu jakiegos wedrowca. \n");

	add_item ( ({"korzenie","korzen"}),
	"Zwisajace z gory, grube korzenie jakiegos wiekowego drzewa. Jak udalo im sie "+
	"nadkruszyc skalne sklepienie ? Wygladaja na dosc solidne.... \n");
	

	add_cmd_item ( ({"sciany","sciane"}), ({"dotknij","nacisnij"}), "Podchodzisz "+
	"sciany i probojesz poruszyc kamiennymi blokami. Jednak trzymaja sie mocno. \n");
	
	
    add_exit(NPATH + "kurhan1/krypta01.c", "poludnie", "@@go", 1);
    add_exit(NPATH + "kurhan1/krypta02.c", "polnoc", "@@bij", 1);
    
    dodaj_npca(NPC + "szkielet.c");

    set_event_time(10.0, 100.0);
    add_event("Cos trzasnelo ci pod stopami! \n");
    add_event("Z oddali dochodzi cie niewyrazny szept. To na pewno tylko powiew wiatru. \n");
    add_event("Troche piachu obsunelo sie z sufitu. \n");

    
    set_events_on(1);
      
        add_item ( ({"sciany","sciane"}),
        "Zbudowane z kamiennych blokow sciany. Czas wyryl juz na nich wlasciwe "+
        "pietno, i widac tu i owdzie pokazne pekniecia. "+
        "Oprocz tego zauwazasz, ze na pewnym odcinku korytarza sciany po obu "+
        "stronach posiadaja piec poziomych rzedow kolistych otworow. Rzedy sa "+
        "jakies poltorej stopy jeden nad drugim, a otwory miedzy soba "+
        "sa oddalone o pol stopy. Coz to moze byc... \n"); 
        
        add_item ( ({"podloge","posadzke"}),
        "Wylozona kamiennymi plytami posadzka. Plyta przed toba wyroznia sie "+
        "szczegolnie, zauwazasz ze moze to byc jakas zapadnia! \n");
        
        add_item ( "otwory",
        "Umieszczone w poziomych rzedach otwory o srednicy cala. Niestety, "+
        "nie widac co w nich jest i do czego moga sluzyc. \n");

	add_item ( ({"korzenie","korzen"}),
	"Zwisajace z gory, grube korzenie jakiegos wiekowego drzewa. Jak udalo im sie "+
	"nadkruszyc skalne sklepienie ? Wygladaja na dosc solidne.... \n");

}

int
chwyc(string str)
{
  mixed gdzie=({"za korzen"});
 
  if (this_object()->query_prop(OBJ_I_LIGHT)==0)
  return notify_fail("Z zainteresowaniem rozgladasz sie na boki, lecz "+
  "nie jestes w stanie zobaczyc cokolwiek w tych ciemnosciach. \n");

  if (member_array(str,gdzie)==-1)
  return notify_fail("Za co chcesz zlapac? \n");
 
  if (TP->query_prop(CZY_TRZYMA))
  return notify_fail("Trzymasz sie juz kurczowo jednego z zwisajacych korzeni. \n");
                 
  write("Lapiesz sie za zwisajacy korzen i silnym szarpnieciem sprawdzasz jego wytrzymalosc. "+
  "Z gory leci nieco piachu, lecz korzen wydaje sie trzymac mocno. \n");
  say(QCIMIE(TP,PL_MIA)+" lapie sie za jeden ze zwisajacy korzeni, i szarpnieciem sprawdza jego "+
  "wytrzymalosc. Z gory posypalo sie nieco piachu. Ciekawe ... \n");


  TP->add_prop(LIVE_S_SOULEXTRA,"Trzyma sie kurczowo zwisajacego z gory korzenia");
  TP->add_prop(CZY_TRZYMA, 1);

  return 1;
}

int
skacz(string str)
{
  mixed jak=({"nad zapadnia","nad pulapka"});                      
  
  if (this_object()->query_prop(OBJ_I_LIGHT)==0)
  return notify_fail("Przymierzasz sie do skoku, lecz jest tu chyba "+
  "za ciemno, zeby wiedziec w ktore strone skakac. \n");

  if (member_array(str,jak)==-1)
  return notify_fail("Nad czym chcesz przeskoczyc? \n");
 
  if (!(TP->query_prop(CZY_TRZYMA)))
  return notify_fail("Niestety nie wiesz jak dluga jest ta zapadnia, gdyz "+
  "jej drugi koniec ginie w mroku. Moze powinnienes czyms sie wspomoc przy tym skoku. \n");
  
  write("Cofasz sie o krok do tylu i odbijajac sie silnie, zawisasz na korzeniu, "+
  "lecac na nim nisko nad ziemia! Udalo ci sie przeskoczyc na druga strone! Uf.. \n");
  say(QCIMIE(TP,PL_MIA)+" cofa sie o krok do tylu i odbijajac sie silnie "+
  "zawisa na korzeniu, lecac wprost w ciemnosc na drugiej stronie! Po chwili z mroku "+
  "wylania sie z powrotem juz sam korzen. \n");

  TP->add_prop(LIVE_S_SOULEXTRA,"Rozciera obolale dlonie"); 
  TP->move_living("M", NPATH + "kurhan1/krypta03.c", 1, 0);
  TP->remove_prop(CZY_TRZYMA);
  return 1;
  
}  

int
go()
{
  if (TP->query_prop(CZY_TRZYMA))
  {
  write("Puszczasz sie korzenia. \n");
  say(QCIMIE(TP,PL_MIA)+" puszcza sie korzenia. \n");
  TP->add_prop(LIVE_S_SOULEXTRA, 0);
  TP->remove_prop(CZY_TRZYMA);
  } 
  return 0;
}
int
bij()
{
 go();

  if (this_object()->query_prop(OBJ_I_LIGHT)==0)
  {
  write("Ruszasz razno na polnoc, gdy w pewnym momencie cos szczeknelo ci "+
  "pod nogami i cos wbilo sie w twoje cialo! \n");
  say("Slyszysz oddalajace sie kroki, a za chwile szczek i okrzyk bolu! \n");
  }
  else
  {
  write("Ruszasz razno na polnoc, gdy w pewnym momencie cos szczeknelo ci "+
  "pod nogami i ze sciany wysunely sie metalowe ostrza, wbijajac "+
  "sie w twoje cialo. Coz za bol! \n");
  say(QCIMIE(TP,PL_MIA)+" rusza razno na polnoc, lecz w pewnym momencie "+
  "cos szczeknelo i ze sciany wysunely sie metalowe ostrza, i slyszysz "+
  "odglos przebijanego ciala! \n");
  }
   
  TP->heal_hp(-((TP->query_max_hp())/2));
  if (TP->query_hp()==0)
  TP->do_die();

  return 1;
}
                