// Zbrojmistrz z Nuln. Written by Morty(c) 
// Przerobiony przez Tigra Copyright (c) 1997
// Ostatnie zmiany wprowadzone 28.06.97

inherit "std/monster";
#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_monster()
{
       ustaw_nazwe(({"joachim","joachima","joachimowi","joachima",
                    "joachimem","joachimie"}),({"joachim","joachima",
                    "joachimowi","joachima","joachimem","joachimie"}), 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. Widzisz jego nagie, umiesnione ramiona. Ubrany"
                +" jest w wytarty skorzany fartuch. Ma krotko ostrzyzone siwiejace"
                +" wlosy. Na jego twarzy widzisz grymas, ktory pewnie ma przypominac"
                +" usmiech. Jego glos jest podobny do uderzenia dzwonu.\n");
        
        ustaw_odmiane_rasy(PL_MEZCZYZNA);
        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 mowi: Moze chesz kupic jakas kolczuge, mam tutaj najlepszy wybor.");
        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("emote mowi: Nie chcesz moze kupic pelnej zbroi plytowej?? Jest prawie nowa.");
        add_act(({"usmiech", "zarechocz"}));
        add_act("emote zaczyna czyscic jakias kolczuge.");
        add_act("emote bierze jakis napiersnik i zaczyna mu sie przygladac.");
        add_act("emote przeklada tarcze z jednej szafy do drugiej.");
        add_act("emote czyszczac zbroje, zaczyna cicho cos nucic.");
        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 !");
        
}
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, Znamienity Czlonek Cechu Platnerzy w Nuln, czlowiek";
} 

void
enter_inv(object ob, object from)
{
    ::enter_inv(ob, from);
    
    if(ob->id("_list_do_joachima_"))
    {
       set_alarm(1.0, 0.0, &oddal_list(from));
       return; 
    } 
    if(ob->query_coin_type() == "zloto") 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); 
   command("emote mowi: Masz tu pare groszy.");
   MONEY_MAKE_GC(5)->move(TO);
   command("daj 5 zlotych monet " + from->query_real_name(2));
   return;
}

void
ile_doswiadczenia(object who)
{

   int xp_base = 500;
 
   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;
   }
   who->catch_msg("Czujesz sie troszke bardziej doswiadczony.\n");
   who->add_exp(xp_base, 0); 
   who->set_bit(0, 10);

   seteuid("silvy");
   write_file("/d/Imperium/private/questlog/010.log",
              ctime(time()) + ": " + who->query_name() + ", " + xp_base
            + " xp\n");
   return;
}

