/*
 * Kaplan ze swiatyni w Athel Loren, u ktorego mozna sie wyspowiadac za zabijanie zwierzat.
 */


#include "ogolne.h"

inherit "/d/Imperium/std/monster.c";

#include <money.h>

#define ILE_ZA_JEDNO_ZWIERZE 50

void
create_monster()
{

    ustaw_nazwe(({"starzec", "starca","starcowi", "starca",
    		  "starcem", "starcu"}),
    		({"starcy", "starcow","starcom", "starcow",
    		  "starcami", "starcach"}), PL_MESKI_OS);

   dodaj_nazwy(({"kaplan", "kaplana","kaplanowi", "kaplana",
    		  "kaplanem", "kaplanie"}),
    		({"kaplani", "kaplanow","kaplanom", "kaplanow",
    		  "kaplanami", "kaplanach"}), PL_MESKI_OS);

    dodaj_przym("wysoki","wysocy");
    dodaj_przym("spokojny","spokojni");

    set_long("Wysoki, spokojny starzec. Nosi dluga, delikatna szate, przepasana prostym, skorzanym paskiem. "
        + "wydaje sie byc bardzo stary nawet ja na elfa. Z jego twarzy bije madrosc, a cala postac zdaje sie "
        + "promieniowac spokojem, godnoscia i oddaniem przyrodzie.\n");

    set_gender(G_MALE);
    ustaw_odmiane_rasy(PL_ELF);

    add_prop(LIVE_I_NEVERKNOWN,1);        
    add_prop(CONT_I_WEIGHT, 30000);
    add_prop(CONT_I_HEIGHT, 195);

    add_prop(IMPERIUM_LIVE_I_ATHEL_CITIZEN,1);
    add_prop(OBJ_M_NO_ATTACK, "Swietosc tego miejsca ratuje cie przed popelnieniem tego bledu !\n");

    remove_prop(NPC_M_NO_ACCEPT_GIVE);
    
    set_stats(({35, 35, 35, 70, 70, 40}));
    
    set_act_time(2);
    add_act("emote kleka przed oltarzem.");
    add_act("emote mruczy cicho jakas modlitwe.");
    add_act("emote mowi: Jestem tu, aby ratowac mordercow zwierzat przed zemsta Karnosa!");

    add_ask(({"las","drzewa","bor"}),VBFC_ME("las"));
    add_ask(({"miasto","miasteczko"}),VBFC_ME("miasto"));
    add_ask(({"pokute"}),VBFC_ME("pokuta"));
    add_ask(({"zwierzeta","zwierzyne"}),VBFC_ME("zwierzyna"));
    add_ask(({"karnosa"}),VBFC_ME("karnos"));
    add_ask(({"polane","swiatynie"}),VBFC_ME("polana"));

    set_default_answer(VBFC_ME("odp_standardowa"));

    set_alignment(500);
}

string
karnos()
{
 command("powiedz Karnos jest bogiem wszystkich Lesnych Elfow !");
 set_alarm(1.0, 0.0, "command", "powiedz Opiekuje sie przyroda i dzikimi miejscami.");
 set_alarm(2.0, 0.0, "command", "powiedz Jest panem wszystkich zwierzat !");
 set_alarm(4.0, 0.0, "command", "emote wznosi oczy do gory.");

 return "";
}

string
polana()
{
  command("powiedz W tym miejscu, poswieconym Karnosowi, mozna blagac boga o przebaczenie za zabijanie zwierzat z Lasu Loren.");
  return"";
}

string
zwierzyna()
{
  command("powiedz Zwierzyna jest darem Karnosa dla jego dzieci, Lesnych Elfow i tylko one maja prawo polowac w tych lasach !");
  return"";
}

string
pokuta()
{
    if(this_player()->query_prop(LESNY_ELF_ZABIL_ZWIERZE_Z_LOREN))
      {
        command("powiedz Ach, " + this_player()->koncowka("nieszczesny","nieszczesna") + " ! Ta pokuta to za malo aby przeblagac Karnosa za zabicie jednego z jego swietych zwierzat !");
        return "";
      }

    if(!(this_player()->query_prop(PLAYER_I_ZABIL_ZWIERZE_Z_LOREN)))
      {
        command("powiedz Nie, moje dziecko, ty nie potrzebujesz sie spowiadac. Twe rece sa czyste, nie splamione krwia zwierzat Karnosa.");
        return "";
      }
    command("powiedz Tak ... Tobie przyda sie pokuta. Mozesz dac mi jakas bron lub zbroje na ofiare dla boga zwierzat, Karnosa.");
    command("powiedz moze wtedy przebaczy on twe grzechy!");
    return"";
}

string
las()
{
  command("emote spoglada wokol z rozmarzeniem.");
  command("powiedz Tak ... Las jest naprawde przepiekny!");
  return"";
}

string
miasto()
{
  command("powiedz Miasto ! Prawdziwa potega jest las, przyroda!");
  return"";
}

string
odp_standardowa()
{
    command("powiedz Nie bardzo wiem o czym mowisz. Chodzi ci o pokute?");
    return"";
}

void
oddaj_lesnemu(object ob, object from)
{
     command("daj " + OB_NAME(ob) + " " + from->query_real_name(PL_CEL));
     command("powiedz Ach ...");
     command("powiedz Tobie zwykla pokuta nie wystarczy ...");
     command("emote spoglada smutno w niebo.");
}

void
oddaj0(object ob, object from)
{
     command("daj " + OB_NAME(ob) + " " + from->query_real_name(PL_CEL));
     command("powiedz Idz " + from->koncowka("wolny","wolna") + " ! Twe rece nie sa splamione krwia zwierzat Karnosa !");    
}

void
oddaj1(object ob, object from)
{
     command("daj " + OB_NAME(ob) + " " + from->query_real_name(PL_CEL));
     command("powiedz Karnos tylko bron lub zbroje przyjac w ofierze jest sklonny !");    
}

void
oddaj2(object ob, object from)
{
     command("daj " + OB_NAME(ob) + " " + from->query_real_name(PL_CEL));
     command("powiedz Sadzisz, ze tym zdolasz przeblagac Karnosa za tyle zwierzat, ile " + from->koncowka("osmieliles","osmielilas") + " sie zgladzic !?");
}

void
operacje(object ob, object from)
{

if(!from) return;

    if(from->query_prop(LESNY_ELF_ZABIL_ZWIERZE_Z_LOREN))
      {
        oddaj_lesnemu(ob, from);
        return;
      }

    if(!(from->query_prop(PLAYER_I_ZABIL_ZWIERZE_Z_LOREN)))
      {
        oddaj0(ob, from);
        return;
      }

    if (!(function_exists("create_weapon", ob) || function_exists("create_armour", ob)))
       {
         oddaj1(ob, from);
         return;
       }

   if (ob->query_prop(OBJ_I_VALUE) < ((from->query_prop(PLAYER_I_ZABIL_ZWIERZE_Z_LOREN))*ILE_ZA_JEDNO_ZWIERZE))
      {
        oddaj2(ob, from);
        return;
      }
  from->remove_prop(PLAYER_I_ZABIL_ZWIERZE_Z_LOREN);
  ob->move_object(PATH + "sklepy/magazyn0.c"); 
  
  command("emote wznosi " + ob->query_name() + " do gory, zalewa go jasne swiatlo, a gdy opuszcza rece, sa one puste.");

  command("powiedz Karnos przebacza ci twe grzechy ...");
  command("powiedz Idz teraz, lecz pamietaj nie mordowac nigdy wiecej zwierzat poswieconych Karnosowi !");

}

void
enter_inv(object ob, object from)
{
    ::enter_inv(ob, from);
    if(function_exists("create_heap",ob))
    {
        command("emote kiwa z politowaniem glowa.");
        return;
    }    
    set_alarm(1.0, 0.0, "operacje",ob,from);
}   