inherit "/d/Imperium/std/monster";
inherit "/cmd/std/command_driver";

#include "czarne_slonce.h"

#define SOUL "/d/Imperium/Czarne_slonce/obj/shadow.c"

int check_attack = 0;

create_monster()
{
  ustaw_odmiane_rasy(PL_CZLOWIEK);

  ustaw_imie(({"gerwazy","gerwazego","gerwazemu","gerwazego","gerwazym",
             "gerwazym"}),PL_MESKI_OS);

  dodaj_przym(({"tejemniczy"}),({"tejemni"}));

  set_long("Tajemniczy jegomosc stojacy w cieniu. Co jakis czas masz uczucie ze taksuje cie wzrokiem.\n");
  set_living_name("straznik_czarnego_slonca");

  set_gender(G_MALE);

  add_prop(CONT_I_HEIGHT, 240);
  add_prop(CONT_I_WEIGHT, 200000);
  add_prop(NPC_M_NO_ACCEPT_GIVE, 1);
  

  set_skill(SS_UNARM_COMBAT, 300);
  set_skill(SS_DEFENCE, 300);
  set_skill(SS_BLIND_COMBAT, 100);

  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 "Gerwazy, Mistrz Ceremonii";
}

int
wstap( string str )
{
object sh;

if ( str == "do gildii" )
{
if (!TP->query_prop("poparcie_czarnego") )
{
   write("Gerwazy nagle wyciaga scyzoryk i jednoznacznie wskazuje wyjscie...\n");
   return 1;

}


if ( TP->query_prop("czarne_slonce") )
    {
    write("Jestes juz w gildii!\n");
    return 1;
    }

write( "Od teraz jestes czlonkiem Familiji Czarnego Slonca.\n");
    
    setuid();
    seteuid(getuid());
    
    sh = clone_object("/d/Imperium/Czarne_Slonce/obj/shadow.c");
    sh->shadow_me(TP, GUILD_TYPE, GUILD_NAME, GUILD_STYLE);
    clone_object("/d/Imperium/Czarne_Slonce/obj/pierscien.c")->move(TP);
    clone_object("/d/Imperium/Czarne_Slonce/obj/pierscienc.c")->move(TP);
    return 1;
}

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_czarnego") )

    {
    this_player()->catch_msg(""+QCIMIE(cel[0],PL_MIA)+" ma juz poparcie.\n");
    return 1;
    }
    
    if (!TP->query_prop("lider_czarnego"))
        {
        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_czarnego",1);

    return 1;
}


int
set( string str )

{
object sh;
object *cel = parse_this(str,"%l:"+PL_BIE);

    
    if ( !sizeof(cel))
        {
        write("set kogo?\n");
        return 1;
        }
    if ( cel[0]->query_prop("czarne_slonce") )
        {
        write("To jest czlonek stowarzyszenia!\n");
        return 1;
        }
                
setuid();
seteuid(getuid());
        
    sh=clone_object("/d/Imperium/Czarne_Slonce/obj/shadow");

    sh->shadow_me(cel[0], GUILD_TYPE, GUILD_NAME, GUILD_STYLE);
    clone_object("/d/Imperium/Czarne_Slonce/obj/pierscien")->move(cel[0]);    
    clone_object("/d/Imperium/Czarne_Slonce/obj/pierscienc")->move(cel[0]);
}







void
init_living()
{
::init_living();
    add_action("wstap","wstap");
    add_action("poprzyj","poprzyj");
    add_action("set","set");
    add_action("ulaskaw","ulaskaw");
    add_action("mianuj","mianuj");
    add_action("uszanuj","uszanuj");
    add_action("przejmij","przejmij");
}

int
mianuj( string str )
{
object *cel = parse_this(str,"%l:"+PL_BIE);

if (!sizeof(cel))
{
    write("Mianuj kogo?\n");
    return 1;
}

if ( cel[0]->query_prop("poparcie_liderskie") )

    {
    this_player()->catch_msg(""+QCIMIE(cel[0],PL_MIA)+" moze byc juz mianowany.\n");
    return 1;
    }
    
    if (!TP->query_prop("reka_ksiecia"))
        {
        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_liderskie",1);

    return 1;
}

int
uszanuj( string str )
{
object sh;

if ( str == "decyzje" )
{
if (!TP->query_prop("poparcie_liderskie") )
{
   write("Gerwazy nagle wyciaga scyzoryk i jednoznacznie wskazuje wyjscie...\n");
   return 1;

}



write( "Od teraz jestes Liderem Czarnego Slonca.\n");
    
    setuid();
    seteuid(getuid());
    this_player()->add_prop("lider_czarnego",1);
    sh = clone_object("/d/Imperium/Czarne_Slonce/obj/shadow.c");
    sh->shadow_me(TP, GUILD_TYPE, GUILD_NAME, GUILD_STYLE);
    clone_object("/d/Imperium/Czarne_Slonce/obj/piersciena.c")->move(TP);

    return 1;
}

write("Uszanuj co?\n");

return 1;

}

int
ulaskaw( string str )
{
object *cel = parse_this(str,"%l:"+PL_BIE);

if (!sizeof(cel))
{
    write("Ulaskaw kogo?\n");
    return 1;
}

if ( cel[0]->query_prop("poparcie_ksiecia") )

    {
    this_player()->catch_msg(""+QCIMIE(cel[0],PL_MIA)+" moze byc juz ulaskawiony.\n");
    return 1;
    }
    
    if (!TP->query_prop("ksiaze_czarnego"))
        {
        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_ksiecia",1);

    return 1;
}

int
przejmij( string str )
{
object sh;

if ( str == "wladze" )
{
if (!TP->query_prop("poparcie_ksiecia") )
{
   write("Gerwazy nagle wyciaga scyzoryk i jednoznacznie wskazuje wyjscie...\n");
   return 1;

}



write( "Od teraz jestes Prawa Reka Ksiecia Czarnego Slonca.\n");
    
    setuid();
    seteuid(getuid());
    this_player()->add_prop("reka_ksiecia",1);
    sh = clone_object("/d/Imperium/Czarne_Slonce/obj/shadow.c");
    sh->shadow_me(TP, GUILD_TYPE, GUILD_NAME, GUILD_STYLE);
    clone_object("/d/Imperium/Czarne_Slonce/obj/pierscienb.c")->move(TP);
    
    return 1;
}

write("Przejmij co?\n");

return 1;

}


void
attacked_by(object enemy)
{

object wrog;

    enemy->add_prop("wrog_czarne_slonce",1);
    
    if (check_attack == 1)
    {
		command("krzyknij SMIERC FRAJEROM!!!!");
    	        set_alarm(3.0,0.0,"footsteps");
                wrog=TO->query_attack();
                wrog->add_prop("wrog_czarne_slonce",1);
                wrog=TP->query_attack();
                wrog->add_prop("wrog_czarne_slonce",1);
    	         return;
               
    
    }
    if(check_attack == 0)
    {
   		check_attack = 1;
		command("krzyknij CHLOPAKI TO NALOT POLICJI!!! HWDP!!!!");
   		set_alarm(3.0,0.0,"footsteps");
   		wrog=TO->query_attack();
                wrog->add_prop("wrog_czarne_slonce",1);
                wrog=TP->query_attack();
                wrog->add_prop("wrog_czarne_slonce",1);
                 return;
    }
    
      
       wrog=TO->query_attack();

    wrog->add_prop("wrog_czarne_slonce",1);
    
    return;

 }


void
footsteps2()
{
    set_alarm(3.0,0.0,"call_eliteguards");
}

void
footsteps()
{
    set_alarm(3.0,0.0,"footsteps2");
}

void
call_eliteguards()
{

  clone_object("/d/Imperium/Czarne_Slonce/npc/guard.c")->move("/d/Imperium/Czarne_Slonce/lokacje/wejscie.c");
  clone_object("/d/Imperium/Czarne_Slonce/npc/guard.c")->move("/d/Imperium/Czarne_Slonce/lokacje/wejscie.c");
  clone_object("/d/Imperium/Czarne_Slonce/npc/guard.c")->move("/d/Imperium/Czarne_Slonce/lokacje/wejscie.c");
  clone_object("/d/Imperium/Czarne_Slonce/npc/guard.c")->move("/d/Imperium/Czarne_Slonce/lokacje/wejscie.c");
  clone_object("/d/Imperium/Czarne_Slonce/npc/guard.c")->move("/d/Imperium/Czarne_Slonce/lokacje/wejscie.c");

}
