inherit "/d/Imperium/Nuln/kanaly/kanal_room.c";
#include <std.h>
#include <macros.h>
#include "elear.h"
#include <stdproperties.h>

#define ELEAR_KAN_I_SZUKA  "_elear_kan_i_szuka"
#define ELEAR_KAN_I_SCIERWO  "_elear_kan_i_scierwo"

int haczyk = 1;

string opiskanalu()
{
    string s = "Znajdujesz sie w kolejnym rozwidleniu kanalow. Szeroki, masywny"
    +" korytarz ciagnie sie z poludnia na wschod, w tym tez kierunku plynie wieksza"
    +" struga sciekow. Z zachodu dolacza sie mniejszy korytarz, ktorym, stosownie"
    +" do jego wielkosci, plynie mniejszy strumien szamba. Smrod, jaki wydobywa sie"
    +" z polaczonych obu strumieni sciekow jest tak przeokropny, ze czujesz, iz"
    +" lada chwila zwymiotujesz. "
    +"W polnocnej scianie zauwazasz dziwny otwor.\n";
    return s;
}

void dziura2()
{
  object obj;
  if (this_player() -> query_prop ("ELEAR_KAN_I_SZUKA"))
  {
    this_player() -> remove_prop ("ELEAR_KAN_I_SZUKA",1);
    if (haczyk)
    {
      write ("Za kolejnym ruchem reki wyczuwasz cos miekkiego... kosmatego...\n"
      +"Tak, to chyba jakies cialo...\n"
      +"Wyciagasz to cos z dziury. To cialo zdechlego kota, nawet calkiem swieze.\n");
      say (QCNAME(this_player())+" wyciagn"+plpl("al","ela")+" z dziury w scianie... zdechlego kota.\n");
      
      obj = clone_object(NULN+"/obj/scierwo.c");
      obj -> move (this_player());
      this_player()->add_prop(ELEAR_KAN_I_SCIERWO,1);
      haczyk = 0;
    }
    else
    {
      write ("Pomimo dlugiego obracania dlonia po wszelkich zakamarkach dziury musisz z"
      +" rozczarowaniem przyznac, iz otwor ten jest calkowicie pusty. Oczywiscie, nie"
      +" liczac kilogramow szlamu i kurzu.\n");
      say (QCNAME(this_player())+" zrezygnowan"+plpl("y","a")+" wstaje i otrzepuje reke."
      +" Je"+plpl("go","j")+" mina wyraza jedno - w otworze jest tylko brud, ale za to jest go tam "
      +"BARDZO duzo.\n");  
    }
  }
}

string dziura ()
{
  write ("Przyklekasz na sliskim chodniku i ostroznie wsuwasz reke w otwor"
  +" w scianie. Macasz wnetrze dziury, probujac cokolwiek znalezc...\n");
  say (QCNAME(this_player())+" przykleka na pokrytym szlamem chodniku i niepewnie"
  +" wsuwa reke w otwor w scianie. Na j"+plpl("ego","ej")+" twarzy maluje sie"
  +" wyraz skupienia, gdy z niewidzacym wzrokiem bladzacym gdzies po scianach"
  +" probuje cokolwiek wymacac dlonia wsunieta po lokiec w czarny otwor...\n");
  this_player() -> add_prop ("ELEAR_KAN_I_SZUKA",1);
  set_alarm(15.0,0.0,"dziura2");
}

int wsadz (string s)
{
  if (s=="reke w dziure" || s=="reke w otwor" || s=="reke w dziurke" || s=="reke do dziury" || s=="reke do dziurki" || s=="reke do otworu")
  {
      dziura();
      return 1;
  }
  return 0;
}

void create_imperium_room()
{
  ::create_imperium_room();
  set_short ("Rozwidlenie korytarzy");
  set_long ("@@opiskanalu");
  
  add_item(({"sciane","polnocna sciane"}),"U podstawy polnocnej sciany, w jednym"
  +" z duzych, dokladnie ociosanych kamieni zauwazasz niewielka dziurke. Poza nia"
  +" nie zauwazasz nic ciekawego.\n");
  add_item (({"dziurke","dziure","otwor"}),"Jest to niewielka, o srednicy niewiele wiekszej"
  +" od piesci dziura w scianie. Jest prawie idealnie okragla, poza tym wyzlobiona"
  +" jest w twardym kamieniu - nie moze wiec byc dzielem myszy ani szczurow. Przynajmniej"
  +" nie takich szczurow, jakie znasz...\n"
  +" Sprobowal"+plpl("e","a")+"s ukleknac i zajrzec w ten otwor, lecz niewiele"
  +" zobaczyl"+plpl("e","a")+"s, gdyz dziura kilkanascie centymetrow wglab sciany"
  +" zakreca w gore. Nie jestes w stanie tam zajrzec, z prozaicznego powodu -"
  +" nie masz oczu na szypulkach...\n");
  add_cmd_item (({"dziure","otwor","dziurke"}),({"pomacaj","przeszukaj"}),"@@dziura");

  add_exit (ELEPATH+"/kan_5d.c","poludnie",0,1,0);
  add_exit (ELEPATH+"/kan_7.c","zachod",0,1,0);
  add_exit (ELEPATH+"/kanl_6.c","wschod",0,1,0);
}

int wstajemy (string s)
{
  if (this_player() -> query_prop ("ELEAR_KAN_I_SZUKA"))
  {
      write ("Wyciagasz reke z ciemnego otworu i wstajesz. Na rece nagromadzilo"
      +" Ci sie sporo lepkiego, szlamowatego brudu; wycierasz dlon o spodnie. Coz,"
      +" moze innym razem sie dowiesz, co sie w tej dziurze znajdowalo...\n");
      say (QCNAME(this_player())+" wstaje i z obrzydzeniem wyciera uszlamiona"
      +" reke o spodnie. Na twoje pytajace spojrzenie odpowiada wzruszeniem ramion.\n");
      this_player() -> remove_prop ("ELEAR_KAN_I_SZUKA");
  }
  else
  {
      say ("Przeciez juz stoisz.\n");
  }
  return 1;
}

void init()
{
  add_action ("wstajemy","wstan");
  add_action ("wstajemy","powstan");
  add_action ("wstajemy","powstan");
  add_action ("wsadz","wsadz");
  add_action ("wsadz","wloz");
  add_action ("wsadz","wetknij");
  ::init();
}

void reset_imperium_room()
{
  haczyk = 1;
}

void leave_inv (object ob, object dest)
{
  TP -> add_prop ("ELEAR_KAN_I_SZUKA",0);
  ::leave_inv (ob,dest);
}
