/*
 * Zawody strzeleckie w Athel Loren by Tanis
 */

inherit "/d/Imperium/std/room";


#include "ogolne.h"

void
create_imperium_room()
{
        set_short("Dluga polana");

        set_long("@@dlugi_opis");

        add_item(({"budynek","podluzny budynek"}),"W budynku na zachodzie mozna zastawic pieniadze "
            + "i odebrac nagrode wygrana w turnieju.\n");
        add_item("las","Las rosnacy wokol tworzy zielona, wysoka sciane.\n");
        add_item("polane","Polana jest dluga i rozlegla. Na zachodzie polany stoi niezbyt duzy, podluzny budynek.\n");
        add_item("tarcze","Tarcze umieszczone po drugiej stronie polany wykonano z drewna. "
          + "Na kazdej z nich namalowane jest duze, czerwone kolo. Na samym srodku kazdej "
          + "z tarcz znajduje sie maly, czarny punkt. To wlasnie tam nalezy celowac !\n");
 
       set_event_time(10.0, 100.0);
       add_event("Las wokol szumi glosno.\n");
       add_event("Z budynku na zachodzie slychac odglosy jakiejs sprzeczki.\n");
       add_event("Z lasu dobiega cie glos jakiegos lesnego zwierza.\n");
       set_events_on(1);

        add_exit(PATH + "sklepy/zawody.c", "zachod",0,1);
}

string
dlugi_opis()
{
    string opis;
    opis="Jestes na dlugiej, rozleglej polanie. Wokol niej rosnie gesty, wysoki las. "
            + "Po tarczach npo drugiej stronie polany widac, ze odbywaja sie tutaj "
            + "zawody strzeleckie. Na zachodzie widzisz niewielki, podluzny budynek. ";

      switch(pora_dnia())
        {
	    case "swit": opis=opis+ "O tej porze jest jeszcze dosc ciemno, co moze skutecznie utrudnic strzelanie. ";
                         break;
	    case "wczesny ranek": opis=opis+ "W tej chwili jest jeszcze polmrok, co nieco utrudnia celowanie. ";
                         break;
	    case "ranek": opis=opis+ "Jest dosc jasno, jednak nie tak jasno jak w poludnie. ";
                         break;
	    case "poludnie": opis=opis+ "Jest bardzo jasno, tarcze widac bardzo wyraznie. Z pewnoscia jest to najlepsza pora do strzelania ! ";
                         break;
            case "popoludnie": opis=opis+ "Jest nadal jasno, jednak slonce nie oswietla juz dokladnie calej polany. ";
                         break;
	    case "wieczor": opis=opis+ "Jest juz szarowka, utrudniajaca dokladne celowanie. ";
                         break;
	    case "pozny wieczor": opis=opis+ "Jest juz ciemno, jednak ostatnie promienie zachodzacego slonca pozwalaja zobaczyc tarcze. ";
                         break;
	    case "noc": opis=opis+ "Jest bardzo ciemno. Celny strzal o tej porze jest naprawde bardzo trudny ! ";
                         break;
        }

     switch(pora_roku())
       {
           case "wiosna" : opis=opis+"Wieje lekki, wiosenny wiaterek. Moze on w pewnym stopniu wplynac na tor lotu strzaly. ";
                         break;
           case "lato" : opis=opis+"Prawie nie ma wiatru, wiec nic nie zmieni toru lotu strzaly ! ";
                         break;
           case "jesien" : opis=opis+"Silny, jesienny wiatr w duzym stopniu moze zmienic tor lotu strzaly. ";
                         break;
           case "zima" : opis=opis+"Jest dosc wietrznie, co moze wplynac na tor lotu strzaly. ";
                         break;
       }
     opis+="\n";
     return opis;
}

void
strzela_do_tarczy(object kto)
{
  int modyfikator;
  int zrecznosc;
  int a;

  switch(pora_dnia())
        {
	    case "swit": modyfikator=12;
                         break;
	    case "wczesny ranek": modyfikator=9;
                         break;
	    case "ranek": modyfikator=5;
                         break;
	    case "poludnie": modyfikator=0;
                         break;
            case "popoludnie": modyfikator=3;
                         break;
	    case "wieczor": modyfikator=7;
                         break;
	    case "pozny wieczor": modyfikator=15;
                         break;
	    case "noc": modyfikator=25;
                         break;
        }

     switch(pora_roku())
       {
           case "wiosna" : modyfikator=modyfikator+5;
                           break;
           case "lato" : modyfikator=modyfikator+0;
                          break;
           case "jesien" : modyfikator=modyfikator+12;
                           break;
           case "zima" : modyfikator=modyfikator+8;
                           break;
       }

  zrecznosc=(kto->query_stat(1))-modyfikator;

  tell_object(kto,"Podnosisz luk, i zakladasz strzale na cieciwe.\n");
  tell_object(kto,"Chwile celujesz i wypuszczasz strzale w strone tarczy.\n");

       a=random(55)+(zrecznosc/10);
       if(a>50)
         {
        tell_object(kto,"Strzala leci ze swistem przez polane, by w koncu utkwic w samym srodku tarczy.\n");
        tell_room(environment(kto),QCIMIE(kto,PL_MIA)+" podnosi luk, zaklada strzale i po chwili celowania strzela w sam srodek jednej z tarcz.\n",kto);
        kto->add_prop(PLAYER_I_W_CO_TRAFIL_W_ATHEL,1);
         }
      else if(a>40)
         {
        tell_object(kto,"Strzala leci ze swistem przez polane, by w koncu utkwic w obrebie czerwonego kola na jednej z tarcz.\n");
        tell_room(environment(kto),QCIMIE(kto,PL_MIA)+" podnosi luk, zaklada strzale i po chwili celowania strzela trafia w czerwone kolo na jednej z tarcz.\n",kto);
        kto->add_prop(PLAYER_I_W_CO_TRAFIL_W_ATHEL,2);
         }
      else if(a>30)
         {
        tell_object(kto,"Strzala leci ze swistem przez polane, by w koncu utkwic w tarczy, jednak poza czerwonym kolem.\n");
        tell_room(environment(kto),QCIMIE(kto,PL_MIA)+" podnosi luk, zaklada strzale i po chwili celowania strzela trafia w jedna z tarcz, choc poza obrebem czerwonego kola.\n",kto);
        kto->add_prop(PLAYER_I_W_CO_TRAFIL_W_ATHEL,3);
         }
      else
       {
        tell_object(kto,"Strzala leci ze swistem przez polane, konczac swoj bieg nie w tarczy, tylko gdzies w krzakach !\n");
        tell_room(environment(kto),QCIMIE(kto,PL_MIA)+" podnosi luk, zaklada strzale i strzela, chybiajac jednak straszliwie !\n",kto);
        kto->add_prop(PLAYER_I_W_CO_TRAFIL_W_ATHEL,4);        
       }
       
       kto->add_prop(PLAYER_I_STRZELAL_W_ATHEL,1);
}