
inherit "std/receptacle.c";


#include "mezon.h"
#include <money.h>
#include <macros.h>
#include <stdproperties.h>
#include <cmdparse.h> 
#include <pl.h>
#define TO this_object()

#define VOID "/d/Imperium/obj/void.c"
#define LOKACJA NPATH+"jaskinie/jask_ga2"

object demon, kosa;

int is_demon_wolny = 1;

void
create_container()
{
    ustaw_nazwe(({"skrzynia","skrzyni","skrzyni","skrzynie","skrzynia",
                  "skrzyni"}),
		({"skrzynie","skrzyn","skrzyniom","skrzynie","skrzyniami",
		  "skrzyniach"}), PL_ZENSKI);

    dodaj_przym("zdobiony","zdobieni");
    dodaj_przym("piekny","piekni");

    set_long("Jest to olbrzymia zdobiona skrzynia, w jakich dawniej "+
    "przechowywane sa skarby. Taka skrzynia zazwyczaj umieszczana byla w "+
    "skarbcach, pod dodatkowym nadzorem. Ta wyglada na nieco zniszczona, "+
    "ale kto wie, moze w srodku moze jeszcze sie znajdzie jakis skarb...\n");
                                                                                                                                                                                                            

    add_prop(CONT_I_WEIGHT,12000);         // waga urny
    add_prop(CONT_I_MAX_WEIGHT,90000);    
    add_prop(CONT_I_MAX_VOLUME,90000);     
    add_prop(CONT_I_RIGID,1);              // sztywny przedmiot
    add_prop(OBJ_M_NO_GET,"Przesuwasz, obracasz, popychasz ... na prozno,"
			 +" skrzyni nie da sie ruszyc z miejsca.\n");


    add_prop(CONT_I_CLOSED,1);
    
    VOID->load_me();
}

int
do_default_open(string str)
{
  object mieczyk;
  object gracz = this_player();
    
  if (str!="skrzynie")
   return notify_fail("Co chcesz otworzyc?\n");

  if (!query_prop(CONT_I_CLOSED))
   return notify_fail("Skrzynia jest juz otwarta.\n");
  
  if (is_demon_wolny)
  {
    seteuid(getuid());
 
    if (!objectp(demon)) 
       {
          demon=clone_object(NPATH + "npc/demon.c");
    
          if(!kosa)
          {
              kosa = clone_object(NPATH + "bronie/kosab.c");
              kosa -> move(demon);
              demon -> command("dobadz kosy");
          }
          else
          {
              mieczyk = clone_object(NPATH + "bronie/krmiecz1.c");
              mieczyk -> move(demon);
              demon -> command("dobadz miecza");
          }        
          demon->szykuj();
    }
    demon->move(environment(TO));
    tell_room(environment(this_object()), "Zza skrzyni zaczyna wydobywac sie "+
      "blekitny dym. Po chwili formuje sie w postac poteznego demona.\n");
    demon->gonimy(gracz);
    is_demon_wolny = 0;
    return 1;
  }
  
  if (objectp(demon)&&!is_demon_wolny)
     return notify_fail("Jakas potezna sila nie pozwala ci jej otworzyc.\n");

   write("Otwierasz zdobiona piekna skrzynie.\n");
   say(QCIMIE(TP,PL_MIA)+" otwiera zdobiona piekna skrzynie.\n");
   add_prop(CONT_I_CLOSED,0);
   return 1;
}

reset_skrzyni()
{
  if (!objectp(demon)) is_demon_wolny = 1;
  
  if (!query_prop(CONT_I_CLOSED))
     {
      add_prop(CONT_I_CLOSED, 1);
      tell_room(environment(TO), QCSHORT(TO,PL_MIA) + " zamyka sie z lekkim trzaskiem.\n");
     }
}

demon_wolny()
{
   is_demon_wolny=1;
}