/* 
 * Kompania Krogulca
 *
 * Copyright(C):    Khazzar (jedrekz@pascom.pl)
 * Data:            26.08.2003
 * 
 */

#include "def.h"
inherit N_STD + "room";
inherit "/lib/guild_support";

#define THE_BEST N_OBJ + "the_best"

void odczytaj();
void zapisz_wynik();
int test();
int statuj(string str);

int nr1_srednia;
int nr2_srednia;
int nr3_srednia;
string nr1_imie;
string nr2_imie;
string nr3_imie;

void
create_room_w_obozie()
{ 
    add_prop(ROOM_I_LIGHT, 10);
    add_prop(ROOM_I_INSIDE, 1);

    set_short("Kapliczka Myrmidii");

    set_long("Rozgladasz sie z nabozna czcia po niewielkiej kapliczce " +
             "poswieconej Myrmidii, Bogini Wojny. Sciany udekorowano " +
             "najpiekniejszymi egzemplarzami broni i zbroi jakie " +
             "kiedykolwiek widzialy twoje oczy. Na przeciwko wejscia " +
             "stoi marmurowy posag Bogini, dumna, wysoka kobieta w " +
             "powloczystej szacie trzymajaca w jednej rece wlocznie, " +
             "a w drugiej tarcze jest patronka wojownikow, zolnierzy. " +
             "W oknach widzisz wspaniale witraze z wizerunkami Myrmidii " +
             "i roznych scen bitewnych w ktorych uczestniczy. Na " +
             "pierwszy rzut oka widac iz kapliczka jest niewielka " +
             "ale wyjatkowo bogato urzadzona. Kazdy zolnierz kompanii " +
             "moze tu <medytowac> i <pomodlic sie>.\n");

    add_exit(N_LOCATIONS + "4x5","zachod");
    odczytaj();
}

void
init()
{
    ::init();
    init_guild_support();
    add_action("statuj", "pomodl");
}


int
gs_hook_rise()
{
    write("Czujesz sie jakbys wydobywal" +this_player()->koncowka("","a") +
          " sie z glebokiej otchlani. "
        + "Twoje zmysly powoli odzyskuja wrazliwosc, czujesz sie "
        + "jednak bardzo zrelaksowan" + this_player()->koncowka("y","a") 
        + " kiedy wstajesz.\n");
    say(QIMIE(this_player(), PL_MIA) + " zakonczyl"+this_player()->koncowka("","a")+
              "medytacje.\n");
}

void
gs_hook()
{
    write(
          "Przyjmujac wygodna pozycje zasiadasz na podlodze i zamykasz oczy. "
        + "Rozluzniasz cialo, masz wrazenie ze mozesz kontrolowac kazdy "
        + "jego fragment. Blokujesz swoje zmysly by moc skoncentrowac sie "
        + "wylacznie na sobie. Czujesz naplywajaca moc, ktora pozwala ci "
        + "<ocen>iac twoje cechy, i <ustaw>ic je wedlug wlasnego zyczenia. "
        + "Uzyj komendy <powstan> kiedy skonczysz medytacje.\n");

    say(QIMIE(this_player(), PL_MIA) + " rozpoczyna medytacje.\n");

}

int
gs_hook_start_meditating()
{
    return 1;
}

int
test()
{
   if (TP->query_average_stat() > nr1_srednia && !TP->query_wiz_level())
    {
        if (TP->query_real_name() == nr1_imie)
        {
            nr1_srednia = TP->query_average_stat();
            nr1_imie    = TP->query_real_name();
            zapisz_wynik();
            return 1;
        }

        nr3_srednia = nr2_srednia;
        nr3_imie    = nr2_imie;
        nr2_srednia = nr1_srednia;
        nr2_imie    = nr1_imie;
        nr1_srednia = TP->query_average_stat();
        nr1_imie    = TP->query_real_name();
        zapisz_wynik();
        return 1;
    }

    if (TP->query_average_stat() > nr2_srednia && !TP->query_wiz_level())
    {
        if (TP->query_real_name() == nr2_imie)
        {
            nr2_srednia = TP->query_average_stat();
            nr2_imie    = TP->query_real_name();
            zapisz_wynik();
            return 1;
        }

        if (TP->query_real_name() == nr1_imie) return 1;

        nr3_srednia = nr2_srednia;
        nr3_imie    = nr2_imie;
        nr2_srednia = TP->query_average_stat();
        nr2_imie    = TP->query_real_name();
        zapisz_wynik();
        return 1;
    }

    if (TP->query_average_stat() > nr3_srednia && !TP->query_wiz_level())
    {
        if (TP->query_real_name() == nr3_imie)
        {
            nr3_srednia = TP->query_average_stat();
            nr3_imie    = TP->query_real_name();
            zapisz_wynik();
            return 1;
        }

        if (TP->query_real_name() == nr1_imie) return 1;
        if (TP->query_real_name() == nr2_imie) return 1;

        nr3_srednia = TP->query_average_stat();
        nr3_imie    = TP->query_real_name();
        zapisz_wynik();
        return 1;
    }
    return 1;
}


int
statuj(string str)
{

    notify_fail("Pomodl sie?\n");
    if ( str != "sie" ) return 0;

    test();

    write("\n" +
          "    Twoja srednia to: \t\t"   + TP->query_average_stat() + "\n" +
          "\n" +
          "    Twoja sila: \t\t"         + TP->query_stat(SS_STR)   + "\n" +
          "    Twoja zrecznosc: \t\t"    + TP->query_stat(SS_DEX)   + "\n" +
          "    Twoja wytrzymalosc: \t"   + TP->query_stat(SS_CON)   + "\n" +
          "    Twoja inteligencja: \t"   + TP->query_stat(SS_INT)   + "\n" +
          "    Twoja madrosc: \t\t"      + TP->query_stat(SS_WIS)   + "\n" +
          "    Twoja odwaga: \t\t"       + TP->query_stat(SS_DIS)   + "\n" +
          "\n" +
          "    Rasowka: \t\t\t"          + TP->query_stat(SS_RACE)  + "\n" +
          "    Zawodowka: \t\t\t"        + TP->query_stat(SS_GUILD) + "\n" +
          "    Layman: \t\t\t"           + TP->query_stat(SS_OTHER) + "\n" +
          "\n" +
          "Trzej najpotezniejsi wojownicy ktorzy modlili sie tutaj to:\n" +
          "\n" +
          "   " + capitalize(nr1_imie) + " ze srednia: " + nr1_srednia + "\n" +
          "   " + capitalize(nr2_imie) + " ze srednia: " + nr2_srednia + "\n" +
          "   " + capitalize(nr3_imie) + " ze srednia: " + nr3_srednia + "\n" +
          "\n");  
    return 1;
}

void
zapisz_wynik()
{
    save_object(THE_BEST);
}

void
odczytaj()
{
    restore_object(THE_BEST);
}
