/* Burdel-mama z Nuln. Written by Morty(c) */

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

#define PLAYER_I_ROZMAWIAL_Z_MAMA "_player_i_rozmawial_z_mama_"
// Mama bit  3_1

#define NOZ NPATH + "bronie/noz3.c"

void oddaj_rzecz(object ob, object from);
void oddal_srebro(object from);

int dal_monete = 0;
string who;
object gracz;
int zajety;

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

        add_prop(IMPERIUM_LIVE_I_NULN_CITIZEN, 1);
        ustaw_nazwe(({"matrona", "matrony", "matronie", "matrone", "matrona",
                "matronie"}), ({"matrony", "matron", "matronom", "matrony",
                "matronami", "matronach"}), PL_ZENSKI);
        dodaj_nazwy(({"berta","berty","bercie","berte","berta","bercie"}),
        allocate(6),PL_ZENSKI);

       dodaj_nazwy(({"Berta Leibentropp","Berty Leibentropp",
                "Bercie Leibentropp","Berte Leibentropp","Berta Leibentropp"
                ,"Bercie Leibentropp"}),
                ({"","","","","",""}), PL_ZENSKI);
        
        ustaw_shorty(({ "tega matrona", "tegiej matrony",
                    "tegiej matronie", "tega matrone",
                    "tega matrona", "tegiej matronie"}),
                 ({ "tegie matrony", "tegich matron",
                    "tegimi matronami", "tegie matrony", 
                    "tegimi matronami", "tegich matronach" }));

        dodaj_przym("tegi","tedzy");
        
        set_long("Jest to kobieta po czterdziestce, dosc tega. Ma dlugie wlosy"
                +" spiete wedlug najnowszej mody. Widac ze sukienka, ktora ma"
                +" na sobie musiala sporo kosztowac. Widzisz na niej sporo roznych ozdob"
                +" ze srebra lub pozlacanych, nie sa one skomponowane z sukienka"
                +", bardziej maja pokazywac przepych i bogactwo niz upiekszyc ta"
                +" kobiete. Po dloniach widzisz ze raczej nie skalala sie nigdy"
                +" jakas ciezsza praca. Pewnie juz od dawna siedzi w tym zawodzie."
                +" Widzisz jak wydaje ona dyspozycje innym kobietom. Ale coz taka"
                +" matrona jak ta moze robic w tym miejscu? Moze jest strazniczka"
                +" albo kims jeszcze?\n");
        
        ustaw_odmiane_rasy(PL_CZLOWIEK);
        set_gender(G_FEMALE);
        
        add_weapon(NOZ);
        
        add_prop(CONT_I_HEIGHT, 169);
        add_prop(CONT_I_WEIGHT, 80000);
        remove_prop(NPC_M_NO_ACCEPT_GIVE);
        
        set_stats(({ 45, 30, 50, 45, 44, 60 }));
        
        set_skill(SS_WEP_KNIFE, 30+random(30));
        
        add_ask(({"dziewczyne","panienke"}), VBFC_ME("dziewcz_hint"));
        add_ask(({"amulet","medalion"}), VBFC_ME("amulet_hint"));
        add_ask(({"katrine","karine","Karine","rine","Rine"}), VBFC_ME("katrina_hint"));
        add_ask(({"informacje"}), VBFC_ME("info_hint"));
        add_ask(({"tatuaz", "trojzab"}), VBFC_ME("tatuaz_hint"));
        
        set_default_answer(QCIMIE(TO,PL_MIA) + " odpowiada: Niestety " +
        "nie jestem w stanie ci w tym pomoc.\n");
        
        set_chat_time(35);
        set_act_time(22);
        set_cchat_time(7);

        add_chat("Czy potrzebujesz kogos na noc?");
        add_chat("Jesli kogos potrzebujesz, rzeknij tylko slowo.");
        add_chat("Pokaz mi pieniadze, a ja pokaze co moge ci dac.");
        add_chat("Witaj w naszym malym domu rozkoszy.");

        add_act("emote przyglada sie bacznie twojej sakiewce.");
        add_act("emote poprawia wlosy.");
        add_act("emote szepce cos na ucho jakies dziewczynie.");
        add_act("emote puszcza zalotnie oczko do ciebie.");

        add_cchat("Uwazaj co robisz. Ja mam wielu wysoko postawionych znajomych.");
        add_cchat("Z roznymi pijaczkami sobie dawalam rade wiec i z toba moge.");
        add_cchat("STRAZ !! BIJA !!! GWALCA !!!");
        add_cchat("Sadystow nie obslugujemy !!");

    dodaj_miedz(40+random(40));
    dodaj_srebro(10+random(10));
    dodaj_zloto(1);
}

void
add_introduced(string imie)
{
    set_alarm(2.0,0.0,"return_intro", imie);
}

varargs void 
return_intro(string kto)
{
    command("przedstaw sie " + find_player(kto)->query_real_name(PL_CEL));
}
        
string
dziewcz_hint(int faza)
{
    switch(faza)
    {
    case 0:
   if(zajety)
   {
     command("powiedz Chwileczke, daj mi skonczyc.");
     return"";
   }
   zajety = 1;

        command("emote mowi: Dziewczyna? Alez oczywiscie !!! Mamy tu " +
         "mnostwo pieknych dziewczat. Znajdzie sie cos dla kazdego ! ");
        set_alarm(4.0,0.0, "dziewcz_hint", (faza +1));
        break;
       
    case 1:
    
        command("emote dodaje: Hmmmm, a moze masz jakies specjalne " +
         "zyczenia? Ktoras z naszych dziewczyn wpadla ci w oko, a " +
         "nie znasz jej imienia?  ");                 
        set_alarm(7.0,0.0, "dziewcz_hint", (faza +1));  
        break;
      
    case 2:
    
        command("emote usmiecha sie profesjonalnie: U mnie zawsze " +
         "mozesz zasiegnac potrzebnych informacji!  ");
    zajety = 0;
        break;
    }
    return"";
}

string
info_hint()
{
    command("emote mowi z blyskiem w oku: Ho, ho ! Kazda informacja " +
     "kosztuje ! Z czegos trzeba zyc, prawda ?");
    command("emote mowi: Ale nie bede z ciebie zdzierac, wystarczy mi " +
     "jedna zlota moneta. ");
    return ""; 
}

varargs
amulet_hint(int faza)
{
    switch(faza)
    {
    
     case 0:
   if(zajety)
   {
     command("powiedz Chwileczke, daj mi skonczyc.");
     return"";
   }
   zajety = 1;

        command("emote wybucha smiechem: Amulet? Jaki amulet? My nie " +
         "prowadzimy tu sprzedazy tych przedmiotow, swiadczymy zupelnie " +
         "innego rodzaju uslugi !!! ");                  
        set_alarm(4.0,0.0, "amulet_hint", (faza +1));    
        break;
      
     case 1:
    
        command("emote dodaje po chwili : Ale moze potrzebujesz " +
         "jakiejs informacji ? Wiem sporo o tym i owym...");
        set_alarm(4.0,0.0, "amulet_hint", (faza +1));    
        break;
       
     case 2:  
             
        command("emote ze znudzeniem wpatruje sie w swoje pomalowane " +
         "paznokcie.");
    zajety = 0;
        break; 
    }
    return"";
}

varargs
katrina_hint(int faza)
{
  if(dal_monete)
  {
     switch(faza)
    {
    case 0:
   if(zajety)
   {
     command("powiedz Chwileczke, daj mi skonczyc.");
     return"";
   }
   zajety = 1;

      command("emote mowi: Taak, wiedzialam, ze z nia beda klopoty. Od "
      + "poczatku mi sie nie podobala, dlatego wyrzucilam ja, jak tylko "
      + "wyszlo na jaw, ze okradla klienta. ");
    set_alarm( 7.0, 0.0, "katrina_hint", (faza +1));   
    break;                 
    
    case 1:
    
      command("emote dodaje z naciskiem : Musze dbac o reputacje "
      + "zakladu, nie moge pozwolic by takie sytuacje mialy miejsce! "
      + "W koncu nasz zysk opiera sie glownie na zaufaniu, jakie maja "
      + "do nas nasi klienci. ");
    set_alarm( 9.0, 0.0, "katrina_hint", (faza +1));   
    break;                 
    
    case 2:
    
      command("emote mowi: Nie wnikam z jakich powodow jej szukasz, ale "
      + "jestem przekonana, ze nie jest to nic dobrego. ");
   set_alarm( 7.0, 0.0, "katrina_hint", (faza +1));   
   break;                  
   
    case 3:
    
      command("emote kontynuuje: Slyszalam, ze ostatnio miala jakis "
        + "powazniejszy zatarg z prawem i za kare straz miejska "
        + "publicznie wypalila jej znak trojzeba na rece. ");
      set_alarm( 7.0, 0.0, "katrina_hint", (faza +1));   
      break;                 
    
   case 4:
   
     command("emote mowi: Jeden z klientow ktory ja zna mowil, ze "
      + "od tygodnia nocuje w Karczmie u Rudolfa. Nie mam pojecia "
      + "skad mialaby na to pieniadze. Pewnie z jakiejs kolejnej "
      + "kradziezy.... ");
    set_alarm( 9.0, 0.0, "katrina_hint", (faza +1));   
    break;                 
    
   case 5:
   
     command("emote konczy: Mam nadzieje, ze te wiadomosci okaza sie "
     + "przydatne. ");
    zajety = 0;
     break;               
    
    }
    gracz = this_player();
    gracz->add_prop(PLAYER_I_ROZMAWIAL_Z_MAMA, 1);
    gracz->set_bit(3,1);
    return "";
  }
    
    switch(faza)
    {
        case 0:
       
   if(zajety)
   {
     command("powiedz Chwileczke, daj mi skonczyc.");
     return"";
   }
   zajety = 1;

        command("emote zastanawia sie: Karina, Karina ...hmm, a tak ! "
            + "Zwalismy ja tutaj Rina. Imie Katrina jest bardzo popularne. " 
            + "Niestety nie pracuje juz u nas, zwolnilam ja za "
            + "kradziez rzeczy klienta. ");
        set_alarm( 4.0, 0.0, "katrina_hint", (faza +1));   
        break;
        
        case 1:
        
        command("emote dodaje: Ale jesli cie interesuje ta dziewczyna "
            + "moglabym udzielic ci kilku informacji...");
        zajety = 0;
        break;
    }
    return "";
}
  
string
tatuaz_hint()
{
    command("emote mowi: Widze, ze interesuja cie informacje o "
      + "osobach, ktore maja na bakier z prawem. Zapewniam, ze "
      + "moge ci takich udzielic. ");
    return "";  
}    

void
enter_inv(object ob, object from)
{
    ::enter_inv(ob, from);
    
    if(!from) return;    
    if(ob->query_coin_type() == "zloto") 
    {
        set_alarm(1.0, 0.0, &oddal_srebro(from));
        return;
    }
    if(function_exists("create_heap",ob))
    {
      command("usmiechnij sie przebie");
      return; 
    }

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

void
oddaj_rzecz(object ob, object from)
{
   string what,
   who;
   
   what = lower_case(ob->query_ustaw_nazwe());
   who = from->query_real_name();
   
   command("emote mowi: Dzieki, ale nie potrzebuje tego!");
   command("emote usmiecha sie kpiaco.");
   command("say Masz to z powrotem.");
   command("daj " + ob->query_nazwa(3) + " " + from->query_nazwa(2));
}

void 
oddal_srebro(object from)
{ 
  
    dal_monete = 1;
    command("emote chowa z zadowoleniem monete do sakiewki.");
    command("emote mowi: Teraz to zupelnie inna rozmowa. Coz wiec takiego "
      + "cie interesuje ?"); 
}

string
query_presentation()
{
    return"Berta Leibentropp, wlascicielka 'Czerwonego Sandalka',"
        + " kobieta czlowiek";
}        
