inherit "/d/Imperium/std/monster";
inherit "/cmd/std/command_driver";

#include "wampiry.h"
#include "wamp_npc.h"

#define SOUL "/d/Imperium/plomien/Wampiry/obj/shadow.c"

create_monster()
{
  ustaw_odmiane_rasy(PL_CZLOWIEK);

  ustaw_imie(({"gabriel","gabriela","gabrielowi","gabriela","gabrielem",
             "gabrielu"}),PL_MESKI_OS);

  dodaj_przym(({"tejemniczy"}),({"tejemni"}));
  dodaj_przym(({"arystokratyczny"}),({"arystokratyczni"}));

  set_long("Tajemniczy jegomosc.\n");
  set_living_name("straznik_gildii_wampirow");

  set_gender(G_MALE);

    setuid();
    seteuid(getuid());

  add_prop(CONT_I_HEIGHT, 240);
  add_prop(CONT_I_WEIGHT, 200000);
  add_prop(NPC_M_NO_ACCEPT_GIVE, 1);
  add_prop(MAGIC_I_RES_DEATH,80);

    set_combat_speed(60); // to jest kurwa morderer

  set_skill(SS_UNARM_COMBAT, 300);
  set_skill(SS_DEFENCE, 200);
  set_skill(SS_BLIND_COMBAT, 100);
  set_skill(SS_WEP_SWORD,100);
  set_skill(SS_PARRY,70);

  add_weapon("/d/Imperium/Necro/obj/sword");

  set_stats(({400, 400, 420, 400, 400, 400, 80, 80, 80}));

  
}


void
add_introduced(string name)
{
   set_alarm(2.0,0.0,"return_info", name);
}

varargs void
return_info(string kto)
{
  command("przedstaw sie "+find_player(kto)->query_real_name(PL_CEL));
}

string

query_presentation()
{
  return "Gabriel, Szambelan Zamku von Carnsteinow";
}

int
wstap( string str )
{
object sh;

if ( str == "do gildii" )
{
if (!TP->query_prop("poparcie_wampirow") )
{
   write("Jakis glos dudni: Odejdz smiertelniku...\n");
   return 1;

}


if ( TP->query_prop("wampir") )
    {
    write("Jestes juz w gildii!\n");
    return 1;
    }

write( "Ksiaze Krwii podchodzi do ciebie z tajemniczym usmiechem na ustach. Po chwili " 
     + "odgarnia czesc szaty z klatki piersiowej i roscina skore zwym pazurem. "
     + "Pij, mowi. "
     + "Ty podchodzisz i zaczynasz pic jego krew... Twe cialo zaczyna drzec w ekstazie! "        + "Nagle tracisz przytomnosc... "
     + "Gdy sie budzisz Ksiaze mowi : Witaj w niesmiertelnej familji. Nie przynies "
     + "nam wstydu.\n");
    
    setuid();
    seteuid(getuid());
    
    sh = clone_object(OBJ+"shadow.c");
    sh->shadow_me(TP, GUILD_TYPE, GUILD_NAME, GUILD_STYLE);
    clone_object(OBJ+"szataa.c")->move(TP);
   
}

write("Wstap gdzie?\n");

return 1;

}


int
poprzyj( string str )
{
object *cel = parse_this(str,"%l:"+PL_BIE);

if (!sizeof(cel))
{
    write("Poprzyj kogo?\n");
    return 1;
}

if ( cel[0]->query_prop("poparcie_wampirow") )

    {
    this_player()->catch_msg(""+QCIMIE(cel[0],PL_MIA)+" ma juz poparcie.\n");
    return 1;
    }
    
    if (!TP->query_prop("szef_wampirow"))
        {
        write("Twoje poparcie nic nie znaczy.\n");
        return 1; 
        }
    
    this_player()->catch_msg("Popierasz "+QCIMIE(cel[0],PL_BIE)+".\n");
    cel[0]->add_prop("poparcie_wampirow",1);

    return 1;
}


int
set( string str )
{
object sh;
object *cel = parse_this(str,"%l:"+PL_BIE);

    if (!this_player()->query_wiz_rank())
	return 0;
    
    if ( !sizeof(cel))
        {
        write("set kogo?\n");
        return 1;
        }
    if ( cel[0]->query_prop("wampir") )
        {
        write("To jest Wampir!\n");
        return 1;
        }
                
setuid();
seteuid(getuid());
        
    sh=clone_object(OBJ+"shadow");

    sh->shadow_me(cel[0], GUILD_TYPE, GUILD_NAME, GUILD_STYLE);
    clone_object(OBJ+"szatab")->move(cel[0]);    

}





/*
int
do_leave(string str) 
{
 int ile,in;
 object kto=this_player();
 object guilditem;
 setuid();
 seteuid(getuid());
 guilditem="/d/Imperium/plomien/Wampiry/obj/szata";
 if (kto->query_prop("wampir") != 1)
  {
   notify_fail("Nie jestes czlonkiem gildii, nie mozesz jej opuscic.\n");
           return 0;
  }
 if(str!="z gildii")
  {
    notify_fail("Co chcesz opuscic?\n");
    return 0;
  }
 else
  {
      command("emote mowi: Co? Chcesz nas opuscic? Muahahahahahahahah... " 
          +   "A wiec... GIN ZDRAJCO.\n");
      write("Stales sie zwyklym smiertelnikiem.\n");
      say("Zostal wyrzucony z familiji.\n");
   kto->set_exp_combat(4*(kto->query_exp_combat())/5);
   guilditem->remove_object();
   kto->update_hooks();
   kto->remove_prop(chce_opuscic);
   kto->do_die();
   return 1;
  } 
}
*/
void
init_living()
{
::init_living();
    add_action("wstap","wstap");
    add_action("do_leave","wystap");
    add_action("poprzyj","poprzyj");
    add_action("set","set");
}
