{##########################################################################
 #                                                                        #
 # Program randomize encounter to Rolemaster TM roleplaying game!         #
 # This program skeleton is something like this:                          #
 #                                                                        #
 # 1. Total_Paikka; Main Areas of Middle-Earth                            #
 # 2. Eryn_Vorn1; etc. Closer Areas of Middle-Earth                       #
 #    These two are in encount3.pas so this is main program               #
 #                                                                        #
 # 3. Around_Dol_Guldur; Take random to see if there is something if not  #
 #    then exit or reroll.                                                #
 #                                                                        #
 # 4. Rand_around_dol_guldur; Take random to see what there are what      #
 #    players may notice. Display all possible information about that.    #
 #                                                                        #
 # 5. Exit from somewhere.                                                #
 #                                                                        #
 # These .tpu files this use at this moment:                              #
 #                                                                        #
 #    place.tpu  This is for part 3 Take random if there are something   #
 #   rplace.tpu  This is for part 4 Take random to see what there are..  #
 # monster0.tpu  This is for random procedure from a to , strictly      #
 # monster1.tpu  This is for Monsters from a to d, strictly              #
 # monster2.tpu  This is for Monsters from e to k, strictly              #
 # monster3.tpu  This is for Monsters from l to n, strictly              #
 # monster4.tpu  This is for Monsters from o to r, strictly              #
 # monster5.tpu  This is for Monsters from s to z, strictly              #
 #                                                                        #
 #                                                                        #
 #                                                                        #
 ##########################################################################}



Program Encounter_Law;

uses place, crt, rplace, monster0, monster1, monster2, monster3, monster4, monster5;

           var
                           a : char;
                    stringgi : string;

Procedure area_choose;       Forward;
Procedure area_closely;      Forward;
Procedure commands_choose;   Forward;
Procedure commands_closely;  Forward;
Procedure dunfearan;         Forward;
Procedure eryn_Vorn1;        Forward;
Procedure exit;              Forward;
Procedure fangorn;           Forward;
Procedure far_harad;         Forward;
Procedure greater_harad;     Forward;
Procedure mirkwood;          Forward;
Procedure southern_anduin;   Forward;
Procedure suza_sumar;        Forward;
Procedure white_mountains;   Forward;
Procedure rohan;             Forward;


{Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor}

Procedure total_paikka;

begin

     clrscr;
              commands_choose;
              area_choose;

              writeln('a  Eryn Vorn, Black Wood and Rast Vorn');
              writeln('b  Fangorn');
              writeln('c  Mirkwood');
              writeln('d  White Mountains');
              writeln('e  Dunfearan, Dunland');
              writeln('f  Southern Anduin');
              writeln('g  Far Harad');
              writeln('h  Suza Sumar, rainforest');
              writeln('i  Greater Harad;');
              writeln('j  Rohan;');
              textcolor(7);
              a := readkey;

if a = 'a' Then eryn_vorn1;
if a = 'b' Then fangorn;
if a = 'c' Then mirkwood;
if a = 'd' Then white_mountains;
if a = 'e' Then dunfearan;
if a = 'f' Then southern_anduin;
if a = 'g' Then far_harad;
if a = 'h' Then suza_sumar;
if a = 'i' Then greater_harad;
if a = 'j' Then rohan;
if a = '0' Then exit;
if ord (a) >=0 Then total_paikka;
end;

{Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor}

Procedure dunfearan;

begin
      commands_closely;
      stringgi := 'Dunfearan and Dunland!';
      area_closely;

      writeln('a  Gwaithlo Plain for 10 miles or 4 hours one roll');
      writeln('b  Dunnish Highlands for 5 miles or 4 hours one roll');
      writeln('c  Misty Mountains for 3 miles or 4 hours one roll');
      textcolor(7);
      a := readkey;
      if a = 'a' then Gwaithlo_Plain;
      if a = 'b' then Dunnish_Highlands;
      if a = 'c' then Misty_Mountains;
      if a = '0' then exit;
      if ord (a) >=0 then Dunfearan;

end;

Procedure eryn_Vorn1;

begin

      commands_closely;
      stringgi := 'Eryn Vorn, Black Wood and Rast Vorn!';
      area_closely;

      writeln('a  Dark Woods for 1/4 miles or 1/4 hours one roll');
      writeln('b  Dark Wood Paths for 1/2 miles or 1/2 hours one roll');
      writeln('c  Dark Wood Clearings for 1/2 miles or 1/2 hours one roll');
      writeln('d  Bor Leath for 1 miles or 1 hours one roll');
      writeln('e  Eryn Vorn for 1/4 miles or 1/4 hours one roll');
      writeln('f  Paths for 1/2 miles or 1/2 hours one roll');
      writeln('g  Nansret for 1/4 miles or 1/4 hours one roll');
      writeln('h  Haunted Fens for 1/3 miles or 1/3 hours one roll');
      writeln('i  Bar-En-Ibun for 1/4 miles or 1/4 hours one roll');
      textcolor(7);
      a := readkey;

      if a = 'a' then darkwood;
      if a = 'b' then darkwoodpaths;
      if a = 'c' then darkwoodclearings;
      if a = 'd' then bor_leath;
      if a = 'e' then Eryn_Vorn;
      if a = 'f' then Paths;
      if a = 'g' then Nansret;
      if a = 'h' then Haunted_Fens;
      if a = 'i' then Bar_En_Ibun;
      if a = '0' then exit;
      if ord (a) >=0 then Eryn_Vorn1;

end;

Procedure fangorn;

begin

      commands_closely;
      stringgi :='Fangorn!';
      area_closely;

      writeln('a  The Misty Mountains for 3 miles or 4 hours one roll');
      writeln('b  Fangorn Forest for 2 miles or 2 hours one roll');
      writeln('c  Northern Plains for 10 miles or 4 hours one roll');
      writeln('d  The Downs & Wold for 8 miles or 4 hours one roll');
      writeln('e  Southern Plains for 10 miles or 4 hours one roll');
      textcolor(7);
      a := readkey;

      if a = 'a' then The_Misty_Mountains;
      if a = 'b' then Fangorn_Forest;
      if a = 'c' then Northern_Plains;
      if a = 'd' then The_downs_wold;
      if a = 'e' then Southern_Plains;
      if a = '0' then exit;
      if ord (a) >=0 then Fangorn;
end;

Procedure far_harad;

begin

      commands_closely;
      stringgi :='Far Harad!';
      area_closely;

      textcolor(14);
      writeln('Bozisha-Dar');
      textcolor(1);
      writeln('a  The Katedrala for 1/5 miles or 1 hour one roll');
      writeln('b  The Port for 1/5 miles or 1/2 hours one roll');
      writeln('c  Sevet Kovina for 1/5 miles or 1/2 hours one roll');
      writeln('d  Sellers Court for 1/5 miles or 1/2 hours one roll');
      writeln('e  Caravan Grounds for 1/2 miles or 1 hour one roll');
      writeln('f  Poor Quarter for 1/5 miles or 1/2 hours one roll');
      writeln('g  Municipal Quarter for 1/2 miles or 1 hour one roll');
      writeln('h  The Gaj for 5 miles or 4 hours one roll');
      writeln;
      textcolor(14);
      writeln('Hills of the Moon');
      writeln;
      textcolor(1);
      writeln('i  Brij Mijesec for 8 miles or 5 hours one roll');
      writeln('j  Rain Forest Suza Sumar for 4 miles or 3 hours one roll');
      writeln('k  Dune Sea for 15 miles or 8 hours one roll');
      writeln('l  Mirror of Fire for 20 miles or 12 hours one roll');
      textcolor(7);
      a := readkey;

      if a = 'a' then the_katedrala;
      if a = 'b' then the_port;
      if a = 'c' then sevet_kovina;
      if a = 'd' then sellers_court;
      if a = 'e' then caravan_grounds;
      if a = 'f' then poor_quarter;
      if a = 'g' then municipal_quarter;
      if a = 'h' then the_gaj;
      if a = 'i' then brij_mijesec;
      if a = 'j' then suza_sumar;
      if a = 'k' then dune_sea;
      if a = 'l' then mirror_of_fire;
      if a = '0' then exit;
      if ord (a) >=0 then Far_harad;
end;

Procedure greater_harad;

begin

      commands_closely;
      stringgi :='Greater Harad!';
      area_closely;

      writeln('a  Coast for 3 miles or 1 hour one roll');
      writeln('b  Isra rural for 5 miles or 2 hours one roll');
      writeln('c  Isra city for 5 miles or 2 hours one roll');
      writeln('d  Kirmlesra for 12 miles or 4 hours one roll');
      writeln('e  Chennacat rural for 6 miles or 2 hours one roll');
      writeln('f  Chennacat city for 6 miles or 2 hours one roll');
      writeln('g  Tr Beterka for 1 mile or 2 hours one roll');
      writeln('h  Sra Bask for 6 miles or 3 hours one roll');
      writeln;
      textcolor(14);
      writeln('Bar Falin');
      writeln;
      textcolor(1);
      writeln('i  1st Hall for 4 hours when moving or 8 hours when stopped');
      writeln('j  2nd Hall for 4 hours when moving or 8 hours when stopped');
      writeln('k  3rd & 5th Hall for 4 hours when moving or 8 hours when stopped');
      writeln('l  4th Hall for 4 hours when moving or 8 hours when stopped');
      writeln('m  6th & 7th Hall for 4 hours when moving or 8 hours when stopped');
      writeln('n  Mines for 4 hours when moving or 8 hours when stopped');
      writeln('o  Surrounding Lands Hall for 4 hours when moving or 8 hours when stopped');
      textcolor(7);
      a := readkey;

      if a = 'a' then coast;
      if a = 'b' then isra_rural;
      if a = 'c' then isra_city;
      if a = 'd' then kirmlesra;
      if a = 'e' then chennacatt_rural;
      if a = 'f' then chennacatt_city;
      if a = 'g' then tur_betark;
      if a = 'h' then sara_bask;
      if a = 'i' then first_hall;
      if a = 'j' then second_hall;
      if a = 'k' then third_fifth_hall;
      if a = 'l' then fourth_hall;
      if a = 'm' then sixth_seventh_hall;
      if a = 'n' then mines;
      if a = 'o' then surrounding_lands;
      if a = '0' then exit;
      if ord (a) >=0 then greater_harad;
end;

Procedure mirkwood;

begin

      commands_closely;
      stringgi :='Mirkwood!';
      area_closely;

      writeln('a  East-West Trail for 2 miles or 6 hours one roll');
      writeln('b  Around Dol Guldur for 3 miles or 3 hours one roll');
      writeln('c  Skaurils March for 2 miles or 1 hours one roll');
      textcolor(7);
      a := readkey;

      if a = 'a' then East_west_trail;
      if a = 'b' then Around_dol_guldur;
      if a = 'c' then Skaurils_march;
      if a = '0' then exit;
      if ord (a) >=0 then Mirkwood;
end;

Procedure rohan;

begin

      commands_closely;
      stringgi :='Rohan!';
      area_closely;

      writeln('a  Entwash Vale for every 2 miles or 2 hours one roll');
      writeln('b  Fens & Bogs for every 2 miles or 4 hours on roll');
      writeln('c  The Midden for every 1/2 miles or 1 hour on roll');
      writeln('d  The Slough for every 1/2 miles or 1 hour on roll');
      writeln('e  Lower Delta for every 1 mile or 2 hours on roll');
      writeln('f  East Emnet for every 5 miles or 4 hours on roll');
      textcolor(7);
      a := readkey;

      if a = 'a' then entwash_vale;
      if a = 'b' then fens_bogs;
      if a = 'c' then the_midden;
      if a = 'd' then the_slough;
      if a = 'e' then lower_delta;
      if a = 'f' then east_emnet;
      if a = '0' then exit;
      if ord (a) >=0 then rohan;
end;

Procedure southern_anduin;

begin

      commands_closely;
      stringgi :='Southern Anduin!';
      area_closely;

      writeln('a  Town of Bar-en-Tinnen for every 1/5 miles or 1/4 hour one roll');
      writeln('b  Rural Bar-en-Tinnen for every 1 mile or 2 hours on roll');
      textcolor(7);
      a := readkey;

      if a = 'a' then town_of_bar_en_tinnen;
      if a = 'b' then rural_bar_en_tinnen;
      if a = '0' then exit;
      if ord (a) >=0 then southern_anduin;
end;

Procedure suza_sumar;

begin

      commands_closely;
      stringgi :='Suza Sumar, rainforest!';
      area_closely;

      writeln('a  Open Forest "day" for 4 miles or 3 hours one roll');
      writeln('b  Open Forest "night" for 4 miles or 3 hours one roll');
      writeln('c  Honnin Shrine for 1/4 hours one roll');
      writeln('d  Honnin Dwelling for 1/4 hours one roll');
      writeln('e  Pred for 1/5 miles or 1/2 hours one roll');
      writeln('f  Waterhole for 1 hour one roll');
      writeln('g  Ruin 1 hour one roll');
      textcolor(7);
      a := readkey;

      if a = 'a' then open_forest_day;
      if a = 'b' then open_forest_night;
      if a = 'c' then honnin_shrine;
      if a = 'd' then honnin_dwelling;
      if a = 'e' then pred;
      if a = 'f' then waterhole;
      if a = 'g' then ruin;
      if a = '0' then exit;
      if ord (a) >=0 then suza_sumar;
end;

Procedure white_mountains;

begin

      commands_closely;
      stringgi :='White Mountains!';
      area_closely;

      writeln('a  Torech Ungol for every 2 hours or  mile one roll');
      writeln('b  Orc lairs for every 30 seconds one roll, until orcs become aware');
      writeln('    they are under attack');
      writeln('c  The Tower for every 5 minutes one roll, until tower is alerted');
      writeln;
      textcolor(14);
      writeln('Erech');
      writeln;
      textcolor(1);
      writeln('d  Sarn Erech town 1/2 miles or 1 hour one roll');
      writeln('e  Morthond Villages town for 1/2 miles or 1 hour one roll');
      writeln('f  Eastern Morthhond rural for 10 miles or 4 hours one roll');
      writeln('g  Tarlangs Neck pass for 3 miles or 2 hours one roll');
      writeln('h  Tarlang/White Mountains for 6 miles or 3 hours one roll');
      writeln('i  Foothills rural for 10 miles or 4 hours one roll');
      writeln('j  Paths of the Dead undergrounds for 1/2 miles or 1 hour one roll');
      writeln('k  Dunharrow vale and ruins for 1/2 miles or 1 hour one roll');
      textcolor(7);
      a := readkey;

      if a = 'a' then Torech_Ungol;
      if a = 'b' then orc_lair;
      if a = 'c' then The_tower;
      if a = 'd' then sarn_erech_town;
      if a = 'e' then morthond_villages_town;
      if a = 'f' then eastern_morthond_rural;
      if a = 'g' then tarlangs_neck_pass;
      if a = 'h' then tarlang_white_mountains;
      if a = 'i' then foothills_rural;
      if a = 'j' then paths_of_the_dead;
      if a = 'k' then dunharrow;
      if a = '0' then exit;
      if ord (a) >=0 then White_mountains;
end;

{Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor}


Procedure area_choose;

     begin;
        writeln('Choose area, please:');
        writeln;
        textcolor(1);

     end;

Procedure area_closely;

     begin;
      write(stringgi);
      writeln(' Choose area more closely, please:');
      writeln;
      textcolor(1);

    end;
{
Procedure commands;

     begin;
        clrscr;
        textcolor(14);
        textbackground(blue);
        writeln('Commands: 0  EXiT l  Reroll                                                ');
        textbackground(black);
     end;
}
Procedure commands_choose;

     begin;
        clrscr;
        textcolor(14);
        textbackground(blue);
        writeln('Commands: 0  EXiT                                                           ');
        textbackground(black);
     end;

Procedure commands_closely;

    begin;
      clrscr;
      textcolor(14);
      textbackground(blue);
      writeln('Commands: 0  EXiT                                                           ');
      textbackground(black);

    end;

Procedure exit;

     begin
        clrscr;
        textcolor(15);
        writeln('Thanks to Iron Crown Enterprice making RoleMaster rpg-system.');
        writeln('This program do not use anything ICE copyrighted text or any');
        writeln('material from ICE.');
        writeln;
        textcolor(1);
        writeln('Greets go to:');
        writeln;
        writeln('BLACK from TBoFS');
        writeln('Ari K, AstroZ, HeMan, Xorm, T-Freak and TBoFS people still connecting ??') ;
        writeln;
        writeln('Long life Larp-People!');
        writeln;
        textcolor(4);
        writeln('Few groans to go:');
        writeln;
        writeln('Micro$oft corporation');
        writeln('BBBS, such a pain in brain');
        writeln('And All Fake-users which I have met');
        writeln;
        textcolor(2);
        writeln;
        gotoxy(1,21);
        writeln('Seattle handwork by Cybertumor');
        textcolor(1);
        writeln('... This was not written with Bluewave');
    halt;
end;

{Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor,Cybertumor}

begin          {main}
textcolor (7); {7 vri harmaa}
randomize;
total_paikka;
end.
