#include "morley.h"
#include <macros.h>
#include <options.h>
#include <pl.h>

inherit "/d/Imperium/std/droga";

#define TP this_player()

void
create_szlak()
{
}

void
create_droga_room()
{
    create_szlak();
}

string opis_pory_roku()
{
    string opis = "";

/* ================================ */
/* Ogolny opis zimowego krajobrazu  */
/* ================================ */

    if (pora_roku() == "zima")
    {
        opis += "Wszystko dokola przykryte jest gruba warstwa bialego sniegu,";

    /* opis por dnia podczas zimy */
        switch(pora_dnia())
        {
            case "swit": opis += " lekko zarozowionego blaskiem slonca, " +
                    "ktore niedlugo wynurzy sie zza horyzontu."; break;
                    
            case "wczesny ranek": opis += " skrzacego sie w promieniach " +
                    "wschodzacego slonca."; break;

	    case "ranek": opis += " rozblyskujacego jasno w swietle " +
	            "porannego slonca."; break;
	            
            case "poludnie": opis += " rozblyskujacego w promieniach " +
                    "wysoko stojacego slonca."; break;
                    
            case "popoludnie": opis += " rozblyskujacego w promieniach slonca " +
                    "chylacego sie ku zachodowi."; break;
                    
            case "wieczor": opis += " po ktorym snuja sie dlugie cienie, " +
                    "rozswietlane gdzieniegdzie slabym blaskiem " +
                    "zachodzacego slonca."; break;
                    
            case "pozny wieczor": opis += " rozjasnionego lekko gasnaca na " +
                    "zachodzie luna."; break;
                    
            case "noc": opis += " skapanego w srebrzystej poswiacie " +
                    "zimowego nieba."; break;

            case "polnoc": opis += " skapanego w srebrzystej poswiacie " +
                    "zimowego nieba.";
        }
    }
    else
 /* ================== */
 /* Glowny opis wiosny */
 /* ================== */
    if (pora_roku() == "wiosna")
    {
        if (pora_dnia() != "noc") 
            opis += "Wszystko dookola ciebie wydaje sie budzic z zimowego " +
                "letargu i stara sie w szalonym tempie nadrobic stracony czas.";

/* opis wiosny zalezny od pory dnia */
	switch (pora_dnia())
	{
	    case "swit": opis += " Trawa pokryta jest bialym puchem szronu. "+
	        "Na wschodzie, nad horyzontem widac blask powoli " +
	        "wschodzacego slonca."; break;
	        
	    case "wczesny ranek": opis += " Czasami dostrzegasz na trawie " +
	        "slady szronu znikajacego szybko w promieniach wschodzacego " +
	        "slonca."; break;
	        
	    case "ranek": opis += " Czasem, gdy spojrzysz na trawe dostrzegasz " +
	        "krople rosy rozblyskujace w porannym sloncu."; break;

	    case "poludnie": opis += " Pomimo, iz powiewa chlodnawy wiaterek "+
	        "jest dosyc cieplo, szczegolnie tam, gdzie padaja promienie "+
	        "wysoko swiecacego slonca."; break;
	        
	    case "popoludnie": opis += " Pomimo, iz powiewa chlodnawy " +
	        "wiaterek jest dosyc cieplo szczegolnie tam, gdzie " +
	        "padaja promienie chylacego sie ku zachodowi slonca."; break;
	         
	    case "wieczor": opis += " Slonce powoli zaczyna sie chowac " +
	        "poza horyzont, spowijajac wszystko w swym czerwonym blasku.";
	        break;
	        
	    case "pozny wieczor": opis += " Na zachodzie powoli gasnie " +
	        "luna odchodzacego dnia."; break;
	        
	    case "noc": opis += " Panuje wlasnie dosyc chlodna wiosenna noc. " +
	        "Robi sie powoli coraz zimniej, nad ranem moze wystapic " +
	        "nawet przymrozek."; break;
	        
	    case "polnoc": opis += " Panuje wlasnie dosyc chlodna wiosenna noc. " +
	        "Robi sie powoli coraz zimniej, nad ranem moze wystapic " +
	        "nawet przymrozek.";
	}
    }
    else

/* ================ */
/* Glowny opis lata */
/* ================ */

    if (pora_roku() == "lato")
    {
        switch(pora_dnia())
        {
	    case "swit": opis += "Na wschodzie niebo stopniowo sie " +
	        "rozjasnia. Niedlugo slonce znow wychyli sie zza horyzontu " +
	        "i na ziemie poleja sie strumienie goraca. Tymczasem jednak " +
	        "panuje mily chlod."; break;
	        
	    case "wczesny ranek": opis += "Na razie nie jest jeszcze " +
	        "zbyt goraco, jednak plomienna tarcza slonca wznoszaca sie " +
	        "tuz ponad horyzont zapowiada kolejny upalny dzien lata.";
	        break;
	        
	    case "ranek": opis += "Zaczyna sie robic coraz cieplej. " +
	        "Slonce powoli, lecz nieustannie zmierza w kierunku zenitu, "+
	        "niedlugo upal stanie sie nie do zniesienia."; break;
	        
	    case "poludnie": opis += "Pod palacymi promieniami slonca cala " +
	        "przyroda wydaje sie uginac i malec. Wszystko, co znajduje " +
	        "sie w oddali zdaje sie falowac pod wplywem goraca."; break;
	         
	    case "popoludnie": opis += "Pora najwiekszych upalow juz minela, "+
	        "jest jednak jeszcze bardzo goraco. Slonce przekroczylo juz "+
	        "zenit i powoli zaczyna zmierzac ku zachodowi."; break;
	        
	    case "wieczor": opis += "Slonce powoli zaczyna znikac za " +
	        "horyzontem, konczac kolejny upalny dzien lata. Niedlugo " +
	        "nastapi noc, kojaca skutki dnia swoim chlodem."; break;
	        
	    case "pozny wieczor": opis += "Slonce zniknelo za horyzontem, " +
	        "pozostawiajac jedynie lekki poblask na niebie. Ziemia " +
	        "powoli zaczyna stygnac, zas w powietrzu unosi sie " +
	        "przyjemny chlod."; break;
	        
	    case "noc": opis += "Panuje wlasnie ciepla letnia noc. Cala " +
	        "okolica wydaje sie odpoczywac po upalnym dniu w kojacym " +
	        "chlodzie nocy."; break;
	        
	    case "polnoc": opis += "Panuje wlasnie ciepla letnia noc. Cala " +
	        "okolica wydaje sie odpoczywac po upalnym dniu w kojacym " +
	        "chlodzie nocy.";
	}
    }
    else
    
/* =================== */
/* Glowny opis jesieni */    
/* =================== */

    if (pora_roku() == "jesien")
    {
        switch(pora_dnia())
        {
	    case "swit": opis += "Ciemnosci nocy powoli umykaja przed " +
	        "szarzyzna switu. Wciaz jest chlodno, lecz kiedy slonce " +
	        "wstanie, powinno sie nieco ocieplic. Powoli zaczyna " +
	        "podnosic sie delikatna mgla."; break;
	        
	    case "wczesny ranek": opis += "Jasna sloneczna tarcza wynurzyla " +
	        "sie zza horyzontu. Mrok nocy prysl, a pozostaly jedynie " +
	        "cienie rzucane przez dosyc czesto przeslaniajace slonce " +
	        "chmury, gnane jesiennym wiatrem. Chlod poranka dosyc mocno " +
	        "daje sie we znaki."; break;
	        
	    case "ranek": opis += "Promienie podnoszacego sie nad " +
	        "horyzontem slonca od czasu do czasu przedostaja sie " +
	        "pomiedzy sunacymi po niebie chmurami. Gwaltowne porywy " +
	        "jesiennego, chlodnego wiatru unosza w gore suche liscie " +
	        "i tumany kurzu."; break;
	        
	    case "poludnie": opis += "Slonce, pomimo iz swieci jasno, nie " +
	        "grzeje juz tak mocno jak latem. Jesienny wiatr co jakis " +
	        "czas unosi w gore pozolkle liscie i zdzbla traw. Po " +
	        "niebie przeciagaja nisko lecace chmury, zwiastujace " +
	        "jesienne deszcze.";  break;
	        
	    case "popoludnie": opis += "Jasna tarcza slonca leniwie " +
	        "przemierza niebosklon. Cienie powoli sie wydluzaja. Gnane " +
	        "jesiennym wiatrem chmury zwiastuja deszcze."; break;
	        
	    case "wieczor": opis += "Czerwone slonce powoli chowa sie za " +
	        "horyzontem, ostatnimi promieniami rozjasniajac gruba " +
	        "powloke chmur. Czerwona luna powoli gasnie ustepujac " +
	        "ciemnosciom nocy. Porywisty wiatr niesie ze soba " +
	        "przenikliwy chlod."; break;
	        
	    case "pozny wieczor": opis += "Na niebie stopniowo pojawiaja " +
	        "sie kolejne gwiazdy, ktorych blask co chwile " +
	        "przeslaniany jest przez nisko lecace chmury. " +
	        "Chlodny, porywisty wiatr z polnocy przenika do szpiku " +
	        "kosci wzbudzajac drzenie."; break;
	        
	    case "noc": opis += "Panuje wlasnie noc, rozswietlana miejscami " +
	        "przez gwiazdy, ktorym udaje sie przebic przez rzadkie " +
	        "chmury plynace po niebie. Jest dosyc chlodno, nie do konca " +
	        "z powodu temperatury, lecz raczej zimnego, przejmujacego " +
	        "wiatru z polnocy. Powietrze przesycone jest wilgocia " +
	        "osadzajaca sie na wszystkim w okolicy."; break;
	        
	    case "polnoc": opis += "Panuje wlasnie noc, rozswietlana miejscami " +
	        "przez gwiazdy, ktorym udaje sie przebic przez rzadkie " +
	        "chmury plynace po niebie. Jest dosyc chlodno, nie do konca " +
	        "z powodu temperatury, lecz raczej zimnego, przejmujacego " +
	        "wiatru z polnocy. Powietrze przesycone jest wilgocia " +
	        "osadzajaca sie na wszystkim w okolicy."; break;
	}
    }

return opis;
}

/* Tutaj jest mala ale czasami przydatna funkcja pozwalajaca zmienic
 * zmeczenie gracza w zaleznosci od pory dnia np gdy jest na tyle
 * nierozsadny ze stara sie gdzies dotrzec w najwiekszy upal
 * Odwolanie do tej funkcji nalezy dodac w add_exit
 */

int 
go()
{
    int trudnosc;
    
    trudnosc = 5;
    
    if (pora_roku() == "lato")
    {
        switch(pora_dnia())
        {
	    case "swit": trudnosc = 7; break;
	    case "wczesny ranek": trudnosc = 5; break;
	    case "ranek": trudnosc = 7; break;
	    case "poludnie": trudnosc = 20; break;
	    case "popoludnie": trudnosc = 12; break;
	    case "wieczor": trudnosc = 8; break;
	    case "pozny wieczor": trudnosc = 7; break;
	    case "noc": trudnosc = 6; break;
        }
    }
    else
    if (pora_roku() == "jesien")
    {
        switch(pora_dnia())
        {
	    case "swit": trudnosc = 7; break;
	    case "wczesny ranek": trudnosc = 7; break;
	    case "ranek": trudnosc = 6; break;
	    case "poludnie": trudnosc = 5; break;
	    case "popoludnie": trudnosc = 5; break;
	    case "wieczor": trudnosc = 8; break;
	    case "pozny wieczor": trudnosc = 6; break;
	    case "noc": trudnosc = 8; break;
        }
    }
    else
    if (pora_roku() == "zima")
    {
        switch(pora_dnia())
        {
	    case "swit": trudnosc = 18; break;
	    case "wczesny ranek": trudnosc = 15; break;
	    case "ranek": trudnosc = 10; break;
	    case "poludnie": trudnosc = 8; break;
	    case "popoludnie": trudnosc = 12; break;
	    case "wieczor": trudnosc = 15; break;
	    case "pozny wieczor": trudnosc = 10; break;
	    case "noc": trudnosc = 20; break;
        }
    }
    else
    if (pora_roku() == "wiosna")
    {
         switch(pora_dnia())
         {
	    case "swit": trudnosc = 8; break;
	    case "wczesny ranek": trudnosc = 7; break;
	    case "ranek": trudnosc = 6; break;
	    case "poludnie": trudnosc = 5; break;
	    case "popoludnie": trudnosc = 5; break;
	    case "wieczor": trudnosc = 7; break;
	    case "pozny wieczor": trudnosc = 6; break;
	    case "noc": trudnosc = 10; break;
         }
    }

    return trudnosc;
}

int
move_desc()
{
    int zmeczenie;
    string opis; 
    
    if (!TP->query_fatigue())
    {
        write("Starasz sie zmusic do dalszej wedrowki, lecz jestes tak " +
            "potwornie zmeczon" + TP->koncowka("y", "a") + ", iz dalszy " +
            "marsz bez chwili odpoczynku jest ponad twoje mozliwosci.\n");
            
        say(QCIMIE(TP, PL_MIA) + " stara sie ruszyc w dalsza droge, lecz w " +
            "tej samej chwili zatrzymuje sie, nie mogac zlapac oddechu z " +
            "powodu zmeczenia.\n");
        return 1;
    }

    if (TP->query_option(OPT_BRIEF))
        return 0;

    zmeczenie = TP->query_fatigue() * 100 / TP->query_max_fatigue();
   
/* Opisy dla wypoczetego gracza */

    if (zmeczenie > 60)
    {
        if (pora_roku() == "zima")
        {
            if (pora_dnia() == "noc")
                opis = "Szybkim krokiem ruszasz w ciemnosc, kryjaca sie " +
                    "tuz za granica pola widzenia. Po ciemku brniesz przez " +
                    "zasypany sniegiem trakt, wpadajac czasami w zaspy. " +
                    "Pokonujesz je jednak bez wiekszego problemu. Uwazasz, "+
                    "ze przesz" + TP->koncowka("edles", "las") + " juz spory "+
                    "kawalek. Postanawiasz wiec zatrzymac sie na chwile."; 
            else
                opis = "Pod twoimi nogami skrzypi snieg, gdy ruszasz " +
                    "szybkim krokiem w dalsza droge. Od czasu do czasu " +
                    "musisz przedostac sie przez zaspy usypane na twojej " +
                    "drodze przez wiatr, lecz dziarsko pokonujesz " +
                    "wszystkie przeszkody. Przesz" + 
                    TP->koncowka("edles", "las") + " juz spory kawalek. " +
                    "Najwyzszy czas zatrzymac sie i rozejrzec po okolicy.";
        }
                    
        if (pora_dnia() != "noc") 
            opis = " Spogladasz na trakt ciagnacy sie przed toba i szybkim " +
            "krokiem ruszasz w dalsza droge. Poniewaz jestes wypoczet" +
            TP->koncowka("y", "a") + ", pokonujesz szybko kolejne odcinki " +
            "traktu, zastanawiajac sie, co sie kryje poza horyzontem. " +
            "Po pewnym czasie, gdy uwazasz iz przesz" + 
            TP->koncowka("edles", "las") + " juz spory kawalek, " +
            "postanawiasz zatrzymac sie na chwile.";
        else
            opis = " Twoje pole widzenia jest bardzo ograniczone, lecz pomimo " +
              "to ruszasz szybkim krokiem, nie zastanawiajac sie dlugo. " +
              "Poniewaz jestes wypoczet" + TP->koncowka("y", "a") + 
              ", poruszasz sie szybko, przechodzac kolejny odcinek traktu."+
              " Po pewnym czasie, gdy uwazasz iz przesz" +
              TP->koncowka("edles", "las") + " juz spory kawalek, " +
              "postanawiasz zatrzymac sie na chwile.";  
    } 
    else
/* Opisy dla gracza zdeka juz zmeczonego */

    if (zmeczenie > 30)
    {
        if (pora_dnia() != "noc") 
            opis = "Powoli, z pewnym ociaganiem decydujesz sie " +
              "wyruszyc w dalsza droge traktem. Zaczynasz juz odczuwac " +
              "pierwsze oznaki zmeczenia, nie sa one jednak jeszcze na " +
              "tyle uciazliwe, zeby spowalniac podroz. Pokonujesz wiec " +
              "kolejne odcinki traktu, przystajac czasami troche, aby " +
              "rozejrzec sie dookola. Wlasnie zatrzymal" +
              TP->koncowka("es", "as") + " sie w jednym z takich miejsc.";
        else
            opis = "Pomimo iz jest ciemno, decydujesz sie wyruszyc w dalsza " +
              "podroz traktem. Powoli zaczynasz odczuwac skutki zmeczenia, " +
              "lecz jak na razie nie sa one na tyle powazne, " +
              "aby cie zatrzymac. Zapuszczasz sie wiec w mrok nocy " +
              "pokonujac kolejne odcinki traktu. Po pewnym czasie " +
              "postanawiasz sie jednak zatrzymac na chwile, aby rozejrzec " +
              "sie po okolicy.";
    }
    else
/* Opisy dla gracza baaardzo zmeczonego   */
    if(zmeczenie <= 30)
    {
        opis = "Czujesz sie bardzo zmeczon" + TP->koncowka("y", "a") + 
            ", pomimo to postanawiasz ruszyc w dalsza droge. Co jakis " +
            "czas musisz sie zatrzymac, aby zlapac oddech i dac chwile " +
            "odpoczynku swoim strudzonym nogom. Idziesz jednak dzielnie " +
            "przed siebie zostawiajac za soba kolejne odcinki traktu. " +
            "Po pewnym czasie postanawiasz jednak zatrzymac sie na " +
            "dluzsza chwile.";
    }
  
    opis="\n" + opis + "\n\n";
    write(opis);

    return 0;
}
