/*  Oficer gwardii napisane przez Alfena
*  oficer dziedziczy po obiektach zol_imp.c i patrol.c
*  Posilki z Altdorfu - Silvy 5.02.98
*/


#include "local.h"
#include <ss_types.h>
#include <pl.h>
#include <macros.h>

inherit "/d/Imperium/std/patrol_szef.c";

#define MIECZ NPATH + "bronie/dwmiecz2.c"
#define KOLCZUGA NPATH + "zbroje/kolczuga2.c"
#define IMPERIUM_I_EQUIP_GWARDZISTY "_imperium_i_equip_gwardzisty"

#define G ({ ({ "oficer", "oficera", "oficerowi", "oficera",\
		"oficerem", "oficerze"}),\
	     ({ "oficerowie", "oficerow", "oficerom", "oficerow",\
	     	"oficerami", "oficerach"}) })
//void arm_me();

/*object patr;

object
p()
{
  return patr;
}


void
set_p(object ob)
{
  patr = ob;
}
*/

void
create_dowodca_patrolu()
{
  int i, *tab_skilli;
  object ob;
  
  set_long ("Ten czlowiek odziany jest w "+
    "zdobiona peleryne, ze znakami gwardii miejskiej stolicy " +
    "Imperium - Altdorfu. Domyslasz sie, ze jest jednym z czlonkow " +
    "korpusu, przyslanego do Nuln na bezposrednia prosbe Elektorki, by "+
    "zapobiec szerzacym sie na ulicach gwaltom i grabiezom. Na jego twarzy " +
    "dostrzegasz grymas znudzenia.\n");
 
  ustaw_nazwe ( G[0], G[1], PL_MESKI_OS);
  ustaw_krotki_opis( G[0], G[1], PL_MESKI_OS);
 
  
  add_weapon(MIECZ);
 
  add_armour(KOLCZUGA);
  
  set_stats(({370, 250, 370, 50, 50, 500}));

  set_skill(SS_WEP_SWORD, 400);
  set_skill(SS_DEFENCE, 400);
  set_skill(SS_PARRY, 400);
  set_skill(SS_AWARENESS, 470);
  enable_commands();
   set_restrain_path(({NPATH+"lokacje",NPATH+"sklepy",NPATH+"swiatynie"}));
   add_podwladny(NPATH + "npc/gwardzista",5);
    set_alarm(0.1,0.0,&add_cmdsoul("/d/Imperium/Nuln/obj/soul"));
    set_alarm(0.2,0.0,&update_hooks());   
 //  arm_me();
}
/*
void
arm_me()
{
	setuid();
	seteuid(getuid());
	set_this_player(TO);

}
*/
/* void
attacked_by(object ob)
{
    if (ob != this_object()->query_follow())
    {
        if (ob->query_average_stat() > 40)
        {
            command("krzyknij To " + ob->query_nonmet_name(PL_MIA) + 
                ". Nie mozemy dac " + ob->koncowka("mu", "jej") + " uciec!");
            set_alarm(0.5, 0.0, &set_follow(ob, 0.1));
            ::attacked_by(ob);
            return;
        }
        else        
           set_alarm(0.5, 0.0, &set_follow(ob, 0.75));
    }
    ::attacked_by(ob);
}

void
attack_object(object ob)
{
    if (ob != this_object()->query_follow())
    {
        if(ob->query_average_stat() > 40)
        {
            command("krzyknij To " + ob->query_nonmet_name(PL_MIA) + 
                ". Nie mozemy dac " + ob->koncowka("mu", "jej") + " uciec!");
            set_follow(ob, 0.1);
            ::attack_object(ob);
            return;
        }
        set_follow(ob, 0.75);
    }

    ::attack_object(ob);
}
  */
        
void
enter_env(object dest,object old)
{
  if (objectp(query_follow())) 
     if (dest->id("_swiatynia_sigmara_"))
     {
       set_alarm(1.0,0.0,"wkladamy");
     }
    ::enter_env(dest,old);
}

void
wkladamy()
{
    int i;
    object *przedm = all_inventory(this_object());
    
    for(i = 0;i < sizeof(przedm);i++)
    {
      if(!przedm[i]->query_prop(IMPERIUM_I_EQUIP_GWARDZISTY))
      {
        command("wloz "+OB_NAME(przedm[i])+" do urny");
      }
    }
    command("krzyknij Ku chwale Sigmara!");
}        

int
query_oficer_nuln()
{
   return 1;
}
/*
void
special_attack(object wrog)
{
    int r=random(20);
    if(r<=9) return;
    command("szarzuj na "+OB_NAME(wrog));
}
*/