/* Rodzic bagna.
 * Projekt bagna by Mithandir i Tanis
 * 24-11-97
 * 12.01
 */

#include "bagno.h"
inherit "/d/Imperium/std/bagno";

#include "/d/Imperium/sys/alarm.h"

string jaki();

string opis_pory_roku()
{
    string opis = "";

/* ================================ */
/* Ogolny opis zimowego krajobrazu  */
/* ================================ */

    if (pora_roku() == "zima")
    {
        opis += "Wszystko jest zmarzniete, lecz nawet zimno nie jest w stanie powstrzymac "
               + "oparow unoszacych sie nad ziemia.";

    /* opis por dnia podczas zimy */
        switch(pora_dnia())
        {
            case "swit": opis += " Niedlugo wstanie slonce. W krzakach slyszysz szelesty " +
                    "budzacych sie zwierzat."; break;
                    
            case "wczesny ranek": opis += " Pierwsze promienie wschodzacego slonca przebijaja " +
                    "sie przez zmarzniete korony drzew."; break;

	    case "ranek": opis += " Jest ranek i promienie porannego slonca rozswietlaja " +
	            "mleczna mgle na bagnach."; break;
	            
            case "poludnie": opis += " Promienie wysoko stojacego slonca skutecznie przebijaja" +
                    " sie przez korony drzew i gesta mgle wokol."; break;
                    
            case "popoludnie": opis += " Slonce powoli chyli sie ku zachodowi i coraz mniej " +
                    "swiatla dociera do ziemi."; break;
                    
            case "wieczor": opis += " Zaczyna sie sciemniac. Robi sie coraz zimniej i coraz " +
                    "trudniej cos zobaczyc. Juz tylko nieliczne promienie zachodzacego slonca " +
                    "rozswietlaja okolice."; break;
                    
            case "pozny wieczor": opis += " Tylko w gdzieniegdzie docieraja promienie " +
                    "slonca, ktore niedlugo schowa sie za horyzontem. W pozostalych " +
                    "miejscach panuje mrok."; break;
                    
            case "noc": opis += " Jest ciemno. Tylko niektore miejsca sa rozswietlane " +
                    "srebrnymi promieniami ksiezyca.";break;
                    
            case "polnoc": opis += " Jest ciemno. Tylko niektore miejsca sa rozswietlane " +
                    "srebrnymi promieniami ksiezyca.";
        }
    }
    else
 /* ================== */
 /* Glowny opis wiosny */
 /* ================== */
    if (pora_roku() == "wiosna")
    {
        if (pora_dnia() != "noc") 
            opis += "Wszystko dookola ciebie wydaje sie budzic do zycia. " +
                "Brunatne zazwyczaj rosliny sa wyjatkowo zielone, a zwierzeta opuscily " +
                "legowiska i wyruszyly na lowy.";

/* opis wiosny zalezny od pory dnia */
	switch (pora_dnia())
	{
	    case "swit": opis += " Na wschodzie bagna widac delikatna lune wschodzacego " +
                "powoli slonca."; break;
	        
	    case "wczesny ranek": opis += " W promieniach wschodzacego slonca ukazuje " +
	        "sie panorama budzacego sie bagna, przeslonieta zaslona mgly."; break;
	        
	    case "ranek": opis += " W promieniach porannego slonca znika z roslin " +
	        "i korzeni nocna rosa."; break;

	    case "poludnie": opis += " Chlodny wiatr rozwiewa nieznacznie mgle " +
                "nad bagnami. Promienie stojacego wysoko slonca dobrze oswietlaja " +
                "okolice."; break;
	        
	    case "popoludnie": opis += " Pomaranczowe promienie sloneczne przebijaja " +
	        "lisciaste sklepienie bagna. Zaczyna robic sie chlodniej."; break;
	         
	    case "wieczor": opis += " Robi sie coraz ciemniej, bo czerwone promienie " +
	        "zachodzacego slonca nie sa w stanie rozswietlic mgiel.";
	        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 powoli rozjasnia sie. " +
	        "Mrok nocy ustepuje powoli swiatlu slonca. Zaczyna robic sie cieplej."; break;

	    case "wczesny ranek": opis += "Zaczyna sie kolejny letni dzien. Swiatlo " +
                "poranka rozswietla mgly na bagnie. Jest coraz cieplej i coraz duszniej.";
	        break;

	    case "ranek": opis += "Slonce niepodzielnie panuje juz na niebosklonie, " +
                "z latwoscia przebijajac zielone sklepienie trzesawiska. Jest juz naprawde " +
                "cieplo."; break;

	    case "poludnie": opis += "Odglosy zwierzat z krzakow ucichly, " +
	        "wiatr przestal wiac, nawet rosliny wydaja sie senne. " +
	        "Z nieba leje sie nieznosny zar, powiekszajac nawet smrod bagien."; break;
	         
	    case "popoludnie": opis += "Goraco powoli ustepuje chlodowi wieczoru, "+
	        "nadal jednak jest bardzo cieplo. Zwierzeta odzyskuja energie, "+
	        "a liscie drzew lekko poruszaja sie na wietrze."; break;
	        
	    case "wieczor": opis += "Slonce zbliza sie do horyzontu, jest coraz chlodniej. " +
	        "Wieczorna bryza przewiewa okropny smrod bagien i gdyby nie " +
	        "grzaskie bloto pod nogami, byloby calkiem przyjemnie."; break;
	        
	    case "pozny wieczor": opis += "Slonce skrylo sie za horyzontem, " +
	        "nad bagnami widac tylko lekka lune. Powietrze nie jest juz takie gorace, " +
	        "a nad trzesawisko powraca mgla. Niedlugo zapadnie noc."; break;
	        
	    case "noc": opis += "Jest ciepla, letnia noc. W zaroslach slychac odglosy " +
	        "nocnych drapieznikow. Ciemnosc jest rozpraszana jasnymi promieniami " +
	        "ksiezyca, wyraznie odcinajacych sie we mgle.";break;
	        
	    case "polnoc": opis += "Jest ciepla, letnia noc. W zaroslach slychac odglosy " +
	        "nocnych drapieznikow. Ciemnosc jest rozpraszana jasnymi promieniami " +
	        "ksiezyca, wyraznie odcinajacych sie we mgle.";
	}
    }
    else
    
/* =================== */
/* Glowny opis jesieni */    
/* =================== */

    if (pora_roku() == "jesien")
    {
        switch(pora_dnia())
        {
	    case "swit": opis += "Ciemnosc nocy jest rozpraszana delikatna " +
	        "lune slonca, ktore niedlugo ukaze sie zza horyzontu. " +
	        "Jest dosyc zimno, ale juz niedlugo powinno sie ocieplic." +
	        "Slyszysz odglosy budzacych sie zwierzat i szelest lisci " +
	        "poruszanych jesiennym wietrzykiem."; break;
	        
	    case "wczesny ranek": opis += "Slonce wychylilo sie niesmialo " +
	        "zza horyzontu i pierwsze promienie zaczely ogrzewac ziemie." +
	        "Jest coraz jasniej i coraz lepiej widac mgle wiszaca nad " +
	        "bagnem."; 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 zmeczenie, trudnosc;
    string opis; 
    
    trudnosc = 3;
    
    return trudnosc;
    
    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;
         }
    }

    this_player()->add_fatigue(-trudnosc);

    return trudnosc;
}



void
create_bagno_kraina()
{
}

void
create_bagno_room()
{
    set_short("Smierdzace, grzaskie i ogolnie niemile bagna");
    set_long("@@dlugi_opis_z_opisem");

    add_item(({"ziemie","grunt"}),"Stoisz na niepokojaco waskim skrawku "
	+ "twardszego gruntu.\n");
    add_item(({"bloto","maz","wode"}),"Wszedzie wokol ciebie rozlewa sie "
        + "obrzydliwa, bulgocaca i smierdzaca maz. Nawet, gdybys byl bardzo, "
        + "ale to bardzo brudny, zanurzenie sie w niej z pewnoscia ubrudzilo "
        + "by cie jeszcze bardziej.\n");
    add_item(({"bagno","trzesawisko"}),"Wielkie trzesawisko jest wszedzie "
	+ "wokol ciebie. Na oko jest bardzo, ale to bardzo niesympatyczne.\n");
    add_item(({"rosliny","roslinnosc"}),"Jakies roslinki... Nie rozpoznajesz "
	+ "gatunkow, ale za to niektore sa bardzo kolczaste.\n");
    add_item(({"liany","pedy","liane","ped"}),"Z galezi drzew zwieszaja sie "
       +"grube liany. Sa brunatno zielone i masz dziwne wrazenie, ze poruszaja "
 	+"sie samodzielnie.\n");

    set_event_time(10.0,150.0);

    add_event("Slyszysz szum skrzydel ptakow przelatujacych nad bagnami. "
	+ "Nie mozesz ich zobaczyc, bo wszedzie wokol jest gesta mgla.\n");
    add_event("Przez bagno przebiega zaba. Nie jest agresywnie nastawiona "
	+ "i na twoj widok ucieka.\n");
    add_event("Nieopatrznie otarles sie o jedna z lian. Zadrzala i umknela "
	+"na gore. Szczescie, ze nie byla glodna.\n");
    add_event("Bloto kolo ciebie nagle zabulgotalo gwaltownie.\n");

    set_events_on(1);
    
    switch(random(2))
    {
        case 0:
          dodaj_npca(jaki(), ({ WIOSNA,LATO,JESIEN }));
          break;
        case 1:
          dodaj_npca(jaki(),({ WIOSNA,LATO,JESIEN }));
          dodaj_npca(jaki(),({ WIOSNA,LATO,JESIEN }));
          break;
    }   

    create_bagno_kraina();
}

string
jaki()
{
    switch(random(3))
    {
        case 0:
        return NPATH + "waz";
        break;
        case 1:
        return NPATH + "duzywaz";
        break;
        case 2:
        return NPATH + "jaszczur";
        break;
    }
} 

public string
wyglad_nieba()
{
   string opis = wyglad_nieba_bazowy();
   string tmp = "Nad bagnami unosi sie gesta mgla skutecznie utrudniajaca widocznosc, "
                + "ale na szczescie pozostawila nieliczne przeswity pozwalajace zobaczyc niebo. "
                + opis;
   return strlen(opis) ? tmp : "Prawo moralne we mnie, a niebo gwiazdziste nade mna...";
}

string
dlugi_opis()
{
    return("Bagna, bagna i jeszcze raz bagna. Brr... Niemile miejsce.\n");
}

string
dlugi_opis_z_opisem()
{
    return(opis_pory_roku() +" "+ dlugi_opis());
}
