
//Copyright (c) 1997 Tigran Latchinian "Tigr"
inherit "/std/monster";

#include <macros.h>
#include <patrol.c>

#define NPATH "/d/Imperium/tigr/nuln"
#define IMPERIUM_LIVE_I_NULN_CITIZEN "_imperium_live_i_nuln_citizen"
#define TRUE 1

void
mieszkaniec_nuln()
{
    add_prop(IMPERIUM_LIVE_I_NULN_CITIZEN, 1);
}

//int
//patrol(mixed sciezka)
//{
//    int i,il;
//    
//    il = sizeof(sciezka);
//    i = 0;
//    
//    set_alarm(120.0,0.0,"ruszaj",({i, sciezka}));                   
//  
//}

string
query_presentation()
{
    string a , b;
    
    a = query_title();
    
#ifndef NO_ALIGN_TITLE
    b = this_object()->query_al_title();
#endif

    return query_name() + 
    	(strlen(a) ? (" " + a + ",") : "") + " " +
    	this_object()->query_rasa(PL_MIA)
#ifndef NO_ALIGN_TITLE
	+ (strlen(b) ? (" (" + b + ") ") : "")
#endif
	; 
}

int
miesz(object m)
{
    return m->query_prop_setting(IMPERIUM_LIVE_I_NULN_CITIZEN);
}

int
antybron(object tp)
{
    int in,i,il;
    
    il = sizeof(tp->query_weapon(-1));
    
    if (il >= 1)
    	{
    	   command("powiedz " + lower_case(tp->query_imie(tp,PL_CEL)) + " Prosze schowac bron.");
    	   return 1;
    	}
    
    in = sizeof(all_inventory(tp));
    
    for (i = 0; i < in; i++)
        if (function_exists("create_weapon",(all_inventory(tp))[i]))
            {
                command("powiedz " + lower_case(tp->query_imie(tp,PL_CEL)) + " Pamietaj, ze wyciagniecie broni w obrebie miasta jest zakazane.");
                return 0;
            }
    return -1;
}

int
antywalka(object tp)
{
    mixed atakow;
    
    atakow = tp->query_attack();
    
    if (atakow != 0)
    	{ 
	    	    if (miesz(atakow))
	    	    	{
	    	    	    command("powiedz " + lower_case(tp->query_imie(tp,PL_CEL)) + " Przestan natychmiast!");
			    command("kill " + lower_case(tp->query_imie(tp,PL_DOP)));
/*	    	    	    set_alarm(5.0,0.0,"command",({"kill " + lower_case(tp->query_imie(tp,PL_DOP))}));  */
	    	    	}    
	    return 0;
	}
    return -1;
}
int
sprawdz()
{
    int in,i;
    mixed t;
    
    t = all_inventory(environment(this_object()));
    
    in = sizeof(t);
    
    for (i = 0; i < in; i++)
        if (interactive(t[i]))
            {
                antybron(t[i]);
                antywalka(t[i]);
             }
     return 1;
}

int
ruszaj(int i, mixed sciezka)
{
    int j;
    
    command(sciezka[i]);
    sprawdz();
    j = i;
    if (j >= sizeof(sciezka))
       {
           j = 0;
       }
    
}
