#include "local.h"
inherit GPATH + "std/magazyn_std.c";

string nazwa_pliku;
void ustaw_nazwe_pliku_ziol(string s) {nazwa_pliku=s;}
string query_nazwa_pliku_ziol(){return nazwa_pliku;} 


int
czy_ziolo_lub_potion(object ob)
{
  if (function_exists("create_herb",ob))
    return 1;
  if (function_exists("create_potion",ob))
    return 1;
  return 0;
}



void
zapisz_ziola()
{
  object *tab;
  string pom;
  string *p;
  int i;
  
  tab = all_inventory();
  if (!sizeof(tab))
    return ;

  tab = filter(tab,czy_ziolo_lub_potion);
  if (!(i=sizeof(tab)))
    return ;
  while (--i>=0)
  {
    pom = file_name(tab[i]);
    p = explode(pom,"#");
    pom=p[0];
    write_file(query_nazwa_pliku_ziol(),pom+" ");
  }
}


void
odczytaj_ziola()
{
  string pom;
  string *p;
  object ziolo;
  int i;
  
  if (!nazwa_pliku)
    return ;  
  if (file_size(nazwa_pliku)<0)
    return ;
  if (!file_size(nazwa_pliku))
  {
    rm(nazwa_pliku);
    return ;
  }
  if (!stringp(pom=read_file(nazwa_pliku)))
  {
    rm (nazwa_pliku);
    return;
  }
  p=explode(pom," ");
  
  for (i=0; i<sizeof(p); i++)
    if (ziolo=clone_object(p[i]))
      ziolo->move(this_object());
  rm (nazwa_pliku);
}



void
create_imperium_magazyn()
{
   ustaw_nazwe_pliku_ziol(GPATH + "alfen/sklepy/ziolka.dat");
   set_short("Nieduza komorka");
   set_long("Jest to nieduza komorka, w ktorej zielarz "+
     "trzyma swoje ziola.\n");
   add_exit(NPATH + "sklepy/apteka.c","wyjdz", 0, 1, 0);
   odczytaj_ziola();
}


// Armaggeddon? Zapiszmy ziola ...!!!!!
int
remove_object()
{
  zapisz_ziola();
  return ::remove_object();
}
