// Kaplanka przy urnie. Ma leczyc tych z graczy, ktorzy nie sa uwazani za mordercow
// i zlozyli dary w urnie. Ocenia to na zasadzie LOGGER->czy_zabojca(imie) i
// sprawdzania/zmniejszania o jedne propa ZLOZYL_OFIARE.

inherit "/d/Imperium/std/monster.c";
#include <stdproperties.h> 
#include <ss_types.h>
#include <macros.h>
#include <seqaction.h>
#include <pl.h>
#include "swiatynia.h"

#define ILE_LECZY 	10  
// Ile procent za kazdym razem wyleczy zdrowia.
#define MAX_LECZY	90  
// Graczy powyzej jakiego poziomu nie bedzie leczyla.
// Jest 90, czyli ze leczy do 90+10=100%
#define ZLOZYL_OFIARE "ten_gracz_zlozyl_ofiare"

#define MORDERCA(imie) LOGGER->add_zabojca(imie) 
// nie pamietam dokladnej funkcji
// ale to zaden problem zmienic

#define NULN 	"/d/Imperium/Nuln?sklepy/karczma0.c" 
// Gdzie w nuln przenosi
#define WALCZY	0 		
// zakladam, ze bedzie zabronine walczenie.
						// jesli nie, to trzeba wstawic tu funkcje sprawdzajaca
						// czy kaplanka walczy, zebu nie przenosila podczas walki


object gracz;
void
create_monster()
{ 
   	ustaw_imie(({"shila","shili","shili","shile","shila","shili"}), PL_ZENSKI);
    ustaw_nazwe(({ "kaplanka", "kaplanki", "kaplance", "kaplanki",
                   "kaplanka", "kaplance" }), ({ "kaplanki",
                   "kaplanek", "kaplankom", "kaplanek", "kaplankami",
                   "kaplankach" }), PL_ZENSKI);
	ustaw_imie(({"shila","shili","shili","shile","shila","shili"}), PL_ZENSKI);

    set_gender(G_FEMALE); 
    ustaw_odmiane_rasy(PL_CZLOWIEK);
    dodaj_przym("milosierny","milosierni");
    
        add_prop(CONT_I_WEIGHT, 60000);
        add_prop(CONT_I_HEIGHT, 178);
        add_prop(LIVE_I_STUNNED, 1);
            
    set_long("Ta niemloda juz kobieta zachowala jeszcze w pelni blask "+
	   "swojej urody. Twarz jej jasnieje niewyslowiona dobrocia. Ubrana "+
	   "jest w zwiewne szaty, doskonale harmonizujace z jej smukla "+
	   "sylwetka. Jej piekno zdaje sie byc bardziej duchowe niz cielesne. "+
	   "Spojrzenie jej pelnych milosierdzia zdaje sie przenikac do glebi "+
	   "twojej duszy, rozbudzajac ukryte w niej poklady dobra. Na piersi "+
	   "nosi symbol bogini Shallyi, sluzbie ktorej poswiecila swoje zycie.\n");
    add_item("symbol","Jest to misternie wyhaftowane serce i kropla krwi.\n");
    set_stats(({35,33,40,85,90,79}));

    
    set_act_time(10 + random(3));
    add_act("emote sklada usta w pelen dobroci usmiech.");
    add_act("emote mowi: Milosierdzie Shallyi jest nieskonczone.");
    add_act("emote zamysla sie.");
    add_act("emote wyciera czolo.");
    add_act("emote wyprostowuje suknie.");
    add_act("emote patrzy na ciebie lagodnie.");
    add_act("emote mowi: Shallyia chroni cie. Pamietaj o niej.");
    add_act("emote mowi: Jezeli ktos zapomni o tobie, na pewno nie bedzie to Shallyia.");
    
    set_cact_time(7);
    add_cact("emote krzyczy: Moja smierc bedzie poczatkiem twojej kleski!.");
    add_cact("emote krzyczy: Pomocy!");
    add_cact("emote podnosi lewa reke w gore, zaslaniajac twarz.");
    add_cact("emote krzyczy: Klatwa Shallyi dopadnie cie kiedys !!!");
    add_prop(NPC_M_NO_ACCEPT_GIVE," mowi zostaw to dla siebie.\n");

}

string
query_presentation()
{
    return"Shila, kaplanka Shallyi, czlowiek";
}


varargs void 
return_intro(string kto)
{
    command("przedstaw sie " + find_player(kto)->query_real_name(PL_CEL));
}

void
add_introduced(string imie)
{
    set_alarm(2.0,0.0,"return_intro", imie);
}


void
attacked_by(object kto)
{
	command("powiedz do "+kto->query_nazwa(PL_DOP) + 
		" Prosze zaprzestan przemocy w tym swietym miejscu.");
	command("emote unosi rece w pokojowym gescie.");
	::attacked_by(kto);
}


do_die(object killer)
{
	MORDERCA(killer->query_real_name());
	::do_die(killer);
}


int
przenies(string str)
{
	if (str!="mnie") return notify_fail("Kaplanka mowi: Chcesz, zebym Ciebie przeniosla?\n");
	write("Kaplanka wyciaga rece nad twoja glowa szepczac slowa "+
		"blogoslawienstwa. Mimowolnie zamykasz oczy, a kiedy je "+
		"otwierasz znajdujesz sie w zupelnie innym pomieszczeniu!\n");
	say("Kaplanka wyciaga rece nad glowa "+QIMIE(TP, PL_DOP)+
		" szepczac slowa blogoslawienstwa. Nagle otacza "+
		TP->query_zaimek(PL_BIE, 1)+" blekitna poswiata, "+
		"ktora z kazda chwila robi sie jasniejsza. W "+
		"koncu oslepiony przymykasz oczy. Kiedy je otwierasz, "+
		QIMIE(TP, PL_DOP)+" nie juz kolo ciebie.\n");
	this_player()->move_living("X", NULN);
	return 1;
}

int
ulecz(string str)
{
	if (str!="mnie") return notify_fail("Kaplanka mowi: Kogo mam uleczyc? "+
	        "Ciebie?\n");
	if (LOGGER->czy_zabojca(this_player()->query_real_name()))
		return notify_fail("Kaplanka mowi: Idz precz, morderco. Nawet "+
		   "Shallya nie ma dla ciebie dzisiaj laski!\n");
	if (TP->query_prop(ZLOZYL_OFIARE)<1)
		return notify_fail("Kaplanka mowi: Shallya nie okaze ci laski, jesli "+
		  "nie zlozysz jej stosownej ofiary.\n");
	if (TP->query_hp()*100/TP->query_max_hp()>MAX_LECZY)
		return notify_fail("JEstes juz wystarczajaco zdrowy. Dalsza "+
		    "interwencja Shallyi nie jest juz niezbedna.\n");
	TP->add_prop(ZLOZYL_OFIARE, TP->query_prop(ZLOZYL_OFIARE)-1);
	TP->heal_hp(TP->query_hp()*100/TP->query_max_hp()*ILE_LECZY);
	write("Kaplanka wyciaga rece nad twoja glowa, szepczac slowa "+
	   "blogoslawienstwa. Czujesz, jak potezna moc Shallyi ogarnia "+
	   "twoje cialo. Po chwili kaplanka opuszcza rece mowiac: Twoja "+
	   "ofiara zostala doceniona. Zostales uzdrowiony.\n");
	say("Kaplanka wyciaga rece nad glowa "+QIMIE(TP, PL_DOP)+
 	  " szepczac slowa blogoslwienstwa. Po chwili opuszcza je mowiac: Twoja "+
	   "ofiara zostala doceniona. Zostales uzdrowiony.\n");
	return 1;
}




init_living()
{
	::init_living();
	add_action(przenies,"przenies");
	add_action(ulecz,"ulecz");
}