/*Ksiega czarow zrobiona przez simona dla Mystica*/

inherit "/std/spells";  /* Wlanczamy standardowe funkcje obslugujace czary*/
#include <macros.h>
#include <pl.h>
#define SPELL_DIR "/d/Wiz/simon/" /*uzywamy pozniej*/

string s_verb; 

/*
 * Tworzymy ksiege czarow i dodajemy do niej czary
 */
void
create_spells()
{
    ustaw_nazwe(({"ksiega","ksiegi","ksiedze","ksiege","ksiega","ksiedze"}),
		({"ksiegi","ksiag","ksiega","ksiegi","ksiegami","ksiegach"}),
		PL_ZENSKI);
    ustaw_shorty(({"ksiega czarow","ksiegi czarow","ksiedze czarow",
		  "ksiege czarow","ksiega czarow","ksiedze czarow"}),
		({"ksiegi czarow","ksiag czarow","ksiega czarow",
		"ksiegi czarow","ksiegami czarow","ksiegach czarow"}),
		PL_ZENSKI);
    dodaj_przym("zielony","zieleni");

    set_long("Wyglada bardzo interesujaco moze bys ja przeczytal.\n");

    /*dodajemy czary*/
    /*         verb           function              name  */

    add_spell("promien", "rzuc_czar",     "magiczny promien");
}

void
init()
{
    ::init();
    add_action("read", "przeczytaj");
}

int
read(string str)
{
    notify_fail("Co chcesz przeczytac moze ksiege ?\n");
    if (!id(str))
	return 0;

    write("Zaczynasz czytac stare pradawne runy w ksiedze." +
        "Poznajesz tylko jeden czar:\n"+
        "promien   - palisz przeciwnika wiazka energi.\n");
    return 1;
}


int
rzuc_czar(string str)
{
    string spell_file;

    seteuid(getuid(this_object())); 
    spell_file = SPELL_DIR + s_verb;


    return call_other(spell_file, s_verb, str);
}

int
query_spell_time(string str)
{
    s_verb = str;

    if (str == "promien")
	return 3; 

    return 0; 
}


int
query_spell_mess(string str)
{
    if (str == "promien")
    {
	write("Wymawiasz glosno pradawne slowa, ktore sprawiaja ze twe rece sie rozgrzewaja, "+
	"po pewnym czasie unosisz prawa reke i wypuszczasz z niej promien.\n");
	say(QCTNAME(this_player()) + " wymawia glosno pradawne slowa, i po pewnym "+
	"czasie unosi prawa reke i wypuszcza z niej magiczny promien.\n");
        return 1;
    }
    return 0;
}

int
start_spell_fail(string verb, string arg)
{
    string str;
    string spell_file;
    s_verb = verb;
    seteuid(getuid(this_object())); 
    spell_file = SPELL_DIR + verb;
    str = call_other(spell_file, s_verb + "_start_fail", verb, arg);
    if (stringp(str))
    {
	write(str);
	return 1;
    }
    return 0;
}

	
