inherit "/d/Imperium/std/room";
#include <macros.h>a
#include "silvy.h"
#include <stdproperties.h>
#include <tasks.h>
#include <ss_types.h>

#define QRESTART 30.0
#define GDZIE "/d/Imperium/Nuln/kanaly/kan_2"

int skradziony=1;

void
create_imperium_room()
{
    add_prop(ROOM_I_INSIDE,1);
    set_short("Glowna sala swiatyni Sigmara Mlotodzierzcy");
    set_long("Znajdujesz sie w sali o scianach wznoszacych sie strzeliscie"+
         " w gore aby spotkac sie gdzies w odleglym, ledwo dostrzegalnym"+
         " w gorze punkcie. Sama sala nie jest zbyt szeroka, ma ksztalt idealnie"+
         " foremnego szesciokata. W same sciany zostaly wstawione kawalki"+
         " roznokolorowych krysztalow, ktore przepuszczaja zabarwione swiatlo"+
         " mieniace sie tecza kolorow na stalowym posagu Sigmara Mlotodzierzcy"+
         " zajmujacym centralna czesc sali. Czesc jednej ze scian sluzy za"+
         " wrota prowadzace do przedsionka swiatyni, natomiast po przeciwnej"+
         " stronie znajduje sie korytarz prowadzacy do nastepnej sali.\n");

    add_item("krysztaly",
             "Sa idealnie wpasowane w sciany i oszlifowane w ten sposob, aby"+
             " nie zaklocac ich idealnej plaszczyzny.\n");
    add_item("wrota",
             " Z tej strony wydaja sie stanowic zupelne przeciwienstwo tego"+
             " co zobaczyles z drugiej strony. Dopiero teraz zauwazasz, ze"+
             " nie ma tu zadnego odzwiernego a w drzwiach ukryty musi byc"+
             " niezwykle czuly mechanizm. Gdy podchodzisz do nich, przestaja"+
             " stanowic jednosc ze sciana i powoli uchylaja swoje podwoje."+
             " Gdy sie zamkna ledwo jestes w stanie stwierdzic, w ktorej"+
             " scianie sie znajduja.\n");

    add_item("posag","@@posag_sig");



 add_exit(NPATH + "swiatynie/sigmar3.c", "wschod", 0, 2);
 add_exit("/d/Imperium/soah/syce/lokacje0.c", "syce");
 add_exit(NPATH + "swiatynie/sigmar1.c", "zachod", 0, 2);
   clone_object("/d/Imperium/soah/t.c")->move(this_object());
}

int wloz(string str)
{
 if(str!="mlot do reki posagu"&&str!="mlot do reki sigmara"
 	&&str!="mlot w reke sigmara"&&str!="mlot w reke posagu"
 	&&str!="mlot w dlon sigmara") return 0;
 if(!present("0_9_mlot",this_player())) {
   write("Nie posiadasz przedmiotu nadajacego sie do tego celu.\n");
   return 1;
 }
 present("0_9_mlot",this_player())->remove_object();
 this_player()->add_prop("_0_9_zwrocil_mlot_sigmara",1);
 write("Powoli wspinasz sie na posag i wkladasz mlot na wlasciwe mu miejsce."+
    " Teraz wyglada znacznie lepiej.\n");
 say(QCIMIE(this_player(),PL_MIA)+ " wspina sie na posag Sigmara i wklada do"+
    " jego reki krysztalowy mlot.\n");
 skradziony=0;
 set_alarm(QRESTART,0.0,"restart_quest");
 return 1;
}
  
void
init()
{
 ::init();
 add_action(wloz,"wloz");
}



string posag_sig(void)
{
 string str="Posag jest wykonany z dziwnego stopu metalu. Nigdy przedtem nie"+
      " widzial"+this_player()->koncowka("es","as")+" takiego koloru i polysku. Dostrzegasz takze, ze musi on byc"+
      " takze bardzo twardy. Posag przedstawia samego Sigmara, uchwyconego w biegu,"+
      " z prawa reka uniesiona w gore.";
      
  if(skradziony==0) str+=" W jego dloni znajduje sie krysztalowy mlot,"+
      " wzniesiony do ciosu, majacego zapewne zgladzic wrogow bohatera.";
  if(skradziony==1) str+=" Dostrzegasz ze dlon posagu wyglada tak, jakby"+
      " miala cos dzierzyc, zapewne bron. Ciekawe co sie z nia stalo.";
 return str+"\n";
}      
      

string search_fun(string str,int trail)
{
string str2;
 if(str=="posag"&&trail) 
 {
  
  write("Zaczynasz uwaznie przeszukiwac posag.\n");
  say(QCIMIE(this_player(),PL_MIA)+" zaczyna przeszukiwac posag.\n");

  if(skradziony==0) return "Nie znajdujesz na posagu nic co by cie zaciekawilo.\n";
  if(this_player()->resolve_task(TASK_ROUTINE,({SS_AWARENESS,TS_INT,TS_WIS}))>0)
  {
    str2= "Gdy przeszukujesz posag dostrzegasz ze przedmiot, ktory znajdowal sie"+
      " w rece Sigmara, zostal z niej wyjety przez osobe, ktora nie przestrzega"+
      " podstawowych zasad higieny. Na wypolerowanym do polysku posagu mozna"+
      " dostrzec brudne slady, znaczace wspinaczke zlodzieja. Na podlodze, przy posagu"+
      " dostrzegasz niewielkie slady krwi, prawdopodobnie zloczynca spadl z posagu,"+
      " raniac sie mocno.\n";
    return str2;
  }
  else { 
     str2= "Przygladajac sie uwaznie posagowi, dostrzegasz, ze w kilku miejscach"+
     " jest on niedomyty. Prawdopodobnie osoba odpowiedzialna za sprzatanie nie"+
     " jest tak spostrzegawcza, jak ty. Ale tak ogolnie to jest czysty.\n";
   return str2;
  }
 }

 if(str=="wrota"&&trail) 
 {
  
  write("Zaczynasz uwaznie przeszukiwac wrota.\n");
  say(QCIMIE(this_player(),PL_MIA)+" zaczyna przeszukiwac wrota.\n");

  if(skradziony==0) return "Nie znajdujesz we wrotach nic co by cie zaciekawilo.\n";
  if(this_player()->resolve_task(TASK_ROUTINE,({SS_AWARENESS,TS_INT,TS_WIS}))>0)
  {
    str2=" Gdy przeszukujesz uwaznie krawedzie wrot, dostrzegasz na jednej"+
      " z nich fragment wydartego z ubrania materialu. Wydaje sie ze ktos"+
      " bardzo szybko opuszczal sale i zaczepil o ledwo jeszcze uchylone wrota."+
      " Pochodzi on z marnej jakosci odzienia, zeby nie powiedziec lachmanow."+
      " Gdy dotykasz go reka zauwazasz ze jest wilgotny.\n";
    return str2;
  }
  else { 
     str2= " Przygladasz sie uwaznie wrotom w poszukiwaniu mechanizmu, ktory"+
       " je otwiera. Niestety na prozno.\n";
   return str2;
  }
 }

 return ::search_fun(str,trail);
}      
 
 
 void set(int n)
 {
  skradziony=n;
 }
 int query_mlot()
 {
  return skradziony;
 }      
 
 
 void restart_quest()
 {
  skradziony=1;
  GDZIE->set_zabrany(0);
 }
