// Zbrojmistrz z Nuln. Written by Morty(c) 
// Przerobiony przez Tigra Copyright (c) 1997
// Ostatnie zmiany wprowadzone 28.06.97

inherit "/d/Imperium/Nuln/std/npc";
#include <stdproperties.h>
#include <macros.h>
#include <ss_types.h>
#include <money.h>
#include "silvy.h"

#define   PLAYER_I_DOSTAL_ZADANIE1_NULN  "_player_i_dostal_zadanie1_nuln"

void oddaj_rzecz(object ob, object from);
void oddal_list(object from);
void ile_doswiadczenia(object who);

void
create_mieszczanin_nuln()
{
    ustaw_jak_daleko(3);
    ustaw_czy_wraca(1);

       ustaw_imie(({"Joachim Eisenberg", "Joachima Eisenberga", 
       "Joachimowi Eisenbergowi", "Joachima Eisenberga", 
       "Joachimem Eisenbergiem", "Joachimie Eisenbergu"}));

       ustaw_nazwe(({"joachim","joachima","joachimowi","joachima",
                    "joachimem","joachimie"}),({"joachim","joachima",
                    "joachimowi","joachima","joachimem","joachimie"}), PL_MESKI_OS);
        
	dodaj_nazwy(({"platnerz","platnerza","platnerzowi",
		"platnerza","platnerzem","platnerzu"}), 
		({"platnerze","platnerzy","platnerzom","platnerzy",
		"platnerzami","platnerzach"}), PL_MESKI_OS);
		
        dodaj_przym("zapracowany", "zapracowani");
        dodaj_przym("gruby", "grubsi");
        
        set_long("Czlowiek dosc mocnej postury, widac ze praca z mlotem i kowadlem"
                +" nie jest mu obca. Na jego twarzy widzisz grymas, ktory pewnie ma przypominac"
                +" usmiech. Jego glos jest podobny do uderzenia dzwonu.\n");
        
        ustaw_odmiane_rasy(PL_CZLOWIEK);
        set_gender( G_MALE);
        add_prop(IMPERIUM_LIVE_I_NULN_CITIZEN, 1);
        
        add_prop(CONT_I_HEIGHT, 185);
        add_prop(CONT_I_WEIGHT, 120000);
        remove_prop(NPC_M_NO_ACCEPT_GIVE);

        set_stats(({ 60, 50, 65, 50, 50, 60 }));
        
        set_act_time(25 + random(7));
        set_cchat_time(10);

        add_act("emote mowi: Patrzac na ciebie, od razu widac ze potrzebujesz dobrej zbroi.");
        add_act("emote pyta: A moze masz cos do sprzedania?");
        add_act("emote mowi: Mysle ja sobie ze jak tak sie beda bili na pograniczu to ja tutaj"
                +" niezly interes na tym zbije.");
        add_act(({"usmiech", "zarechocz"}));
        add_act("emote mruczy: Coraz gorsze robia te kolczugi.");
        add_act("emote wyciera rece o fartuch.");       

        add_cchat("Ty mlokosie, takich jak ty to ja kiedys trzech potrafilem zalatwic.");
        add_cchat("Masz ostatnia szanse zeby ratowac swoja skore, glupku jeden!");
        add_cchat("STRAZ !! STRAZ !! ZLODZIEJE !!");
        add_cchat("No to koniec tej pogawedki czas zeby ci pokazac kto jest lepszy.");
        add_cchat("Ha !! Jeszcze jeden cios i bedziesz martwy !");
        
        dodaj_miedz(20);
        dodaj_srebro(random(30));
}

void
add_introduced(string imie)
{
    set_alarm(2.0,0.0,"return_introduce", imie);
}
void
return_introduce(string kto)
{
    command("emote mowi: Witam, witam. Czym moge sluzyc?");
    command("przedstaw sie " + OB_NAME(find_living(kto, 0)));
}

string
query_presentation()
{
    return "Joachim Eisenberg, Posrednik w Handlu Zbrojami, czlowiek";
} 

void
enter_inv(object ob, object from)
{

    ::enter_inv(ob, from);

    if(function_exists("create_heap",ob))
    {
      command("usmiechnij sie przebie");
      return; 
    }

    if(!from) return;    
    if(ob->id("_list_do_joachima_"))
    {
       set_alarm(1.0, 0.0, &oddal_list(from));
       return; 
    } 

    set_alarm(1.0, 0.0, &oddaj_rzecz(ob, from));
    return;
}

void
oddaj_rzecz(object ob, object from)
{

    command("emote kreci glowa zdziwiony.");
    command("emote mowi: Co to jest ? Po co mi to dajesz ?.");
    command("emote dodaje: Zabierz to! ");
    command("daj " + ob->query_nazwa(3) + " " + from->query_nazwa(2));

} 

void
oddal_list(object from)
{
   string who,
   what;
   
   who = from->query_real_name();
   
   if (!from->query_prop(PLAYER_I_DOSTAL_ZADANIE1_NULN))
   {
      command("emote mowi: O, moj list. Musialem go zgubic."); 
      return;
   }
   command("emote mowi: List do mnie? Dziekuje ci serdecznie.");
   ile_doswiadczenia(from); 
   return;
}

void
ile_doswiadczenia(object who)
{

   int xp_base = 300;
 
   if (who->test_bit("imperium", 0, 10))
   { 
      who->catch_msg("To znowu ty ? Nie nauczysz sie zbyt wiele robiac w kolko to samo.\n");
      return;
   }
   command("emote mowi: Masz tu pare groszy.");
   MONEY_MAKE_GC(2)->move(TO);
   command("daj 2 zlote monety " + who->query_real_name(2));

   who->catch_msg("Czujesz sie troszke bardziej doswiadczon" +
   	who->koncowka("y","a") + ".\n");
   who->add_exp(xp_base, 0); 
   who->set_bit(0, 10);

   seteuid("silvy");
   write_file("/d/Imperium/private/questlog/0_10.log",
              ctime(time()) + ": " + who->query_name() + ", " + xp_base
            + " xp\n");
   return;
}

