#include "halfy.h"

inherit STD_ROOM;

#include "tigr.h"

#define SIEDZI_PROP "_imperium_live_i_siedzi_w_fotelu_halfow"

create_halfy_room()
{
   set_short("Sala Rady Trzech Wielkich Niesytych");
   
   set_long("To niewielkie, aczkolwiek bardzo przytulne pomieszczenie " +
   	"jest sala narad Rady Trzech Wielkich Niesytych.\n");
   	
   add_exit(GDIR + "salaz", "wschod", 0, 1);
}

int
zasiadz(string str)
{
   if (str!="w fotelu") 
      return notify_fail("Zasiadz gdzie? W fotelu?\n");
   if (TP->query_prop(SIEDZI_PROP))
      return notify_fail("Przeciez siedzisz juz w fotelu.\n");
   TP->add_prop(SIEDZI_PROP,1);
   write("Zasiadasz w fotelu Wielkiego Niesytego, dajac znak ze jestes " +
   	"gotow" + M_LUB_K(TP,"y","a") + " do rozpoczecia dyskusji.\n");
   say(QCIMIE(TP,PL_MIA) + " zasiada w swoim wygodnym fotelu, dajac znak " +
   	"ze jest gotow" + M_LUB_K(TP,"y","a") + " do rozpoczecia dyskusji.\n");
   return 1;
}

int
czy_radny(object ob)
{
   return CZY_RADNY(ob);
}

int
wypros(string str)
{
   object *kogo;
   
   kogo=PARSE_THIS(str,"%l:" +PL_BIE);
   
   if (!sizeof(kogo)) return notify_fail("Wypros <kogo>?\n");
   
   if (!sizeof(kogo-=filter(kogo,czy_radny)))
      return notify_fail("Chyba sie pomylil" + M_LUB_K(TP,"es","as") + "?\n");
   
   if (TP->query_prop(SIEDZI_PROP))
      {
         write("Nie wstajac z fotela grzecznie wypraszasz " + COMPOSITE_LIVE(kogo,PL_BIE) + 
         	" sugerujac rychle rozpoczecie obrad.\n");
         kogo->catch_msg(QCIMIE(TP,PL_MIA) + " ze swego fotela grzecznie wyprasza cie " +
         	"sugerujac rychle rozpoczecie obrad Rady.\n");
         say(QCIMIE(TP,PL_MIA) + " ze swego fotela grzecznie wyprasza " + COMPOSITE_LIVE(kogo,PL_BIE) +
         	" sugerujac rychle rozpoczecie obrad.\n",kogo+({TP}));
      }
   else
      {
         write("Grzecznie wypraszasz " + COMPOSITE_LIVE(kogo,PL_BIE) +
                " sugerujac rychle rozpoczecie obrad.\n");
         kogo->catch_msg(QCIMIE(TP,PL_MIA) + " grzecznie wyprasza cie " +
                "sugerujac rychle rozpoczecie obrad Rady.\n");
         say(QCIMIE(TP,PL_MIA) + " grzecznie wyprasza " + 
         	COMPOSITE_LIVE(kogo,PL_BIE) +
                " sugerujac rychle rozpoczecie obrad.\n",kogo+({TP}));
      }
   return 1;
}

int
wstan(string str)
{
   if (strlen(str)&&str!="z fotela") 
      return notify_fail("Wstan [z czego] ?\n");
   if (!TP->query_prop(SIEDZI_PROP))
      return notify_fail("Przeciesz juz stoisz.\n");
   TP->remove_prop(SIEDZI_PROP);
   write("Z niejakim ociaganiem wstajesz z wygodnego fotela Wielkiego Niesytego.\n");
   say(QCIMIE(TP,PL_MIA) + " z widocznym ociaganiem wstaje z fotela. Widocznie bylo " +
   	TP->query_zaimek(PL_CEL) + " na nim bardzo wygodnie.\n");
   return 1;
}

init()
{
   ::init();
   
   if (CZY_RADNY(TP)) 
      {
         add_action(zasiadz,"zasiadz");
         add_action(wypros,"wypros");
         add_action(wstan,"wstan");
      }
}

leave_inv(object ob, object to)
{
   if (ob->query_prop(SIEDZI_PROP))
      {
         write("Wstajesz z fotela Wielkiego Niesytego.\n");
         say(QCIMIE(TP,PL_MIA) + " wstaje z fotela.\n");
         ob->remove_prop(SIEDZI_PROP);
      }
   :: leave_inv(ob,to);
}