/*
 * Plik  : skwykryj.h
 * Autor : Torg
 * Opis  : Czar pozwalajacy przez okreslony czas widziec tych ktorzy
 *         sa niewidzialni.
 *
 * Czas trwania zalezny od umiejetnosci S_WINVIS -> 200022
 *
 *         Umiejetnosc <= 45  -> 25 sekund
 *         Umiejetnosc <= 55  -> 40 sekund
 *         Umiejetnosc <= 70  -> 55 sekund
 *         Umiejetnosc <= 90  -> 65 sekund
 *         Umiejetnosc <= 100 -> 80 sekund
 *
 * Data  : 20 sierpnia 2002
 *
 * Copyright (C)
 *
 */

#include "defs.h"
#include "czary.h"

int
skwykryj()
{
    int szansa;
    int kosc;

    szansa = query_chance(2);

    if (TP->query_mana() < 40)
    {
        write("Twe sily mentalne sa na wyczerpaniu.\n");
        return 1;
    }
    if (mozna_rzucac == 0)
    {
        write("Nie czujesz kontaktu z Solkanem.\n");
        return 1;
    }

    kosc = random(95);

    set_alarm(5.0,0.0,"think");
    mozna_rzucac=0;
    if (kosc > szansa || TP->Q2 < 35 || TP->Q1 < 40)
    {
        write("Sprawnie wymawiasz slowa modlitwy, jednak jakies slowo "
            + "wypowiedziane zostalo zle i twe moce wyplywaja z Ciebie "
            + "bez zadnego efektu.\n");
        tell_room(E(TP),QCIMIE(TP,PL_MIA) + " pograza sie w "
                + "cichej modlitwie, a ty widzisz jak wykrzywia twarz "
                + "grymasie bolu i oslabienia.\n");
        eat_mana(25);
        return 1;
    }

    write("Wymawiasz slowa modlitwy, po czym czujesz jak "
                + "twoj wzrok sie wyostrza.\n");
    tell_room(E(TP),QCIMIE(TP,PL_MIA)+" mruczy pod nosem "
            + "skomplikowane slowa, a po chwili jego oczy zaczynaja "
            + "jarzyc sie na bialo.\n");
    TP->add_prop(LIVE_I_SEE_INVIS, 1);
    eat_mana(40);

    if (TP->Q2 <= 45)
    {
        set_alarm(25.0, 0.0, "koniec_widzenia");
    }

    if (TP->Q2 <= 55)
    {
        set_alarm(40.0, 0.0, "koniec_widzenia");
    }

    if (TP->Q2 <= 70)
    {
        set_alarm(55.0, 0.0, "koniec_widzenia");
    }

    if (TP->Q2 <= 90)
    {
        set_alarm(65.0, 0.0, "koniec_widzenia");
    }

    if (TP->Q2 <= 100)
    {
        set_alarm(80.0, 0.0, "koniec_widzenia");
    }

    return 1;
}

int
koniec_widzenia()
{
    write("Nagle twe oczy zaczynaja piec, zamykasz je a po ponownym "
        + "ich otwarciu wszystko wydaje sie takie... normalne.\n");
    say("Oczy " + QIMIE(TP,PL_DOP) + " nagle traca swoj blask.\n");
    TP->remove_prop(LIVE_I_SEE_INVIS);
    return 1;
}
