//Phobia By Kristian Kall (c) 2001
//Script lump

[level info]
music = -
levelname = Phobia
creator = Kristian Kall
interpic  = act2

[Scripts]

include("things.h");

// Global variables...
int  gotbkportal = 0;
int  firstime = 1;
int  gods = 0;
int  gotchalice = 1;
int  fear1 = 1;
int  gotbkgrprtl = 0;
int  closed = 0;
int  pandora = 0;
int  challenge = 0;
int  secret = 0;


script 1
{
  if(gotbkgrprtl == 2)
        {
       linetrigger(97, 94);
       }
}


script 2
{
        if(closed == 2)
        {
       closed = 1;
       movefloor(201, 134, 1);
       moveceil(201, 138, 1);
       movefloor(200, 134, 2);
       moveceil(200, 138, 2);
       movefloor(199, 134, 3);
       moveceil(199, 138, 3);
       movefloor(198, 134, 4);
       moveceil(198, 138, 4);
       movefloor(197, 134, 5);
       moveceil(197, 138, 5);
       movefloor(196, 134, 6);
       moveceil(196, 138, 6);
       movefloor(195, 134, 7);
       moveceil(195, 138, 7);
       kill(147);
       kill(148);
       kill(149);
       kill(150);
       kill(151);
       wait(20);
       kill(152);
       kill(153);
       kill(154);
       kill(155);
       wait(20);
       kill(146);
       tip("the chest is closed");
       }
}

script 3
{
        if (gotbkgrprtl == 0)
        {
              gotbkgrprtl = 1;
       timedtip(200, "You got the scroll of advanced portal magic");
        wait(100);
         removeobj(173);
       spawn(SKULLPOLE1, 5672, 704);
       wait(50);
          teleport(137, 177);
          teleport(138, 178);
          teleport(139, 179);
          teleport(140, 180);
          teleport(141, 181);
          teleport(142, 182);
          teleport(143, 183);
          teleport(144, 184);
          teleport(145, 185);
          teleport(136, 186);
         }
}

script 4
{
        timedtip(150, "You're now entering\n the domain of the Nightmares");
}

script 5
{
        timedtip(200, "Some strange force are holding you back.");
}

script 16
{
        if (challenge == 0)
        {
        challenge = 1;
        timedtip(100, "malleus challenges you");
        wait(100);
                     setcamera(178, 45, 64, 0);
                     moveceil(159, 90, 1);
        timedtip(100, "Are you afraid of the dark?");
        tagwait(159);
        wait(100);
                clearcamera();
                                }
}

script 83
{
  if(pandora == 0)
        {
       pandora = 1;
       timedtip(350, "The Chest of pandora is opening");
       wait(200);
       movefloor(201, 136, 1);
       moveceil(201, 140, 1);
       movefloor(200, 139, 1);
       moveceil(200, 143, 1);
       movefloor(199, 142, 1);
       moveceil(199, 146, 1);
       movefloor(198, 145, 1);
       moveceil(198, 149, 1);
       movefloor(197, 148, 1);
       moveceil(197, 152, 1);
       movefloor(196, 151, 1);
       moveceil(196, 155, 1);
       movefloor(195, 154, 1);
       moveceil(195, 158, 1);
          wait(150);
          tip("Nothing here?");
          wait(150);
          teleport(147, 177);
          teleport(148, 178);
          teleport(149, 179);
          teleport(150, 180);
          teleport(151, 181);
          teleport(152, 182);
          teleport(153, 183);
          teleport(154, 184);
          teleport(155, 185);
          teleport(146, 186);
       wait(20);
       closed = 2;
       tip("CLOSE THE CHEST!");
        }           

}

script 96
{
       if(gotbkgrprtl == 1)
       {
       gotbkgrprtl = 5;
       timedtip(350, "You open the scroll of advanced\n portal magic as you read the spell,\n the text disappear");
        spawn(TALLREDPILLAR, 3272, 2992, 0, 444);
        spawn(TALLREDPILLAR, 3288, 2992, 0, 444);
        spawn(TALLREDPILLAR, 3304, 2992, 0, 444);
        spawn(TALLREDPILLAR, 3320, 2992, 0, 444);
        spawn(TALLREDPILLAR, 3336, 2992, 0, 444);
        spawn(TALLREDPILLAR, 3352, 2992, 0, 444);
        spawn(TALLREDPILLAR, 3368, 2992, 0, 444);
        spawn(TALLREDPILLAR, 3384, 2992, 0, 444);
        wait(75);
        spawn(TALLREDPILLAR, 3272, 2992, 0, 428);
        spawn(TALLREDPILLAR, 3288, 2992, 0, 428);
        spawn(TALLREDPILLAR, 3304, 2992, 0, 428);
        spawn(TALLREDPILLAR, 3320, 2992, 0, 428);
        spawn(TALLREDPILLAR, 3336, 2992, 0, 428);
        spawn(TALLREDPILLAR, 3352, 2992, 0, 428);
        spawn(TALLREDPILLAR, 3368, 2992, 0, 428);
        spawn(TALLREDPILLAR, 3384, 2992, 0, 428);
        wait(75);
        spawn(TALLREDPILLAR, 3272, 2992, 0, 412);
        spawn(TALLREDPILLAR, 3288, 2992, 0, 412);
        spawn(TALLREDPILLAR, 3304, 2992, 0, 412);
        spawn(TALLREDPILLAR, 3320, 2992, 0, 412);
        spawn(TALLREDPILLAR, 3336, 2992, 0, 412);
        spawn(TALLREDPILLAR, 3352, 2992, 0, 412);
        spawn(TALLREDPILLAR, 3368, 2992, 0, 412);
        spawn(TALLREDPILLAR, 3384, 2992, 0, 412);
        wait(75);
        spawn(TALLREDPILLAR, 3272, 2992, 0, 396);
        spawn(TALLREDPILLAR, 3288, 2992, 0, 396);
        spawn(TALLREDPILLAR, 3304, 2992, 0, 396);
        spawn(TALLREDPILLAR, 3320, 2992, 0, 396);
        spawn(TALLREDPILLAR, 3336, 2992, 0, 396);
        spawn(TALLREDPILLAR, 3352, 2992, 0, 396);
        spawn(TALLREDPILLAR, 3368, 2992, 0, 396);
        spawn(TALLREDPILLAR, 3384, 2992, 0, 396);
        wait(75);
        spawn(TALLREDPILLAR, 3272, 2992, 0, 380);
        spawn(TALLREDPILLAR, 3288, 2992, 0, 380);
        spawn(TALLREDPILLAR, 3304, 2992, 0, 380);
        spawn(TALLREDPILLAR, 3320, 2992, 0, 380);
        spawn(TALLREDPILLAR, 3336, 2992, 0, 380);
        spawn(TALLREDPILLAR, 3352, 2992, 0, 380);
        spawn(TALLREDPILLAR, 3368, 2992, 0, 380);
        spawn(TALLREDPILLAR, 3384, 2992, 0, 380);
        wait(75);
        spawn(TALLREDPILLAR, 3272, 2992, 0, 364);
        spawn(TALLREDPILLAR, 3288, 2992, 0, 364);
        spawn(TALLREDPILLAR, 3304, 2992, 0, 364);
        spawn(TALLREDPILLAR, 3320, 2992, 0, 364);
        spawn(TALLREDPILLAR, 3336, 2992, 0, 364);
        spawn(TALLREDPILLAR, 3352, 2992, 0, 364);
        spawn(TALLREDPILLAR, 3368, 2992, 0, 364);
        spawn(TALLREDPILLAR, 3384, 2992, 0, 364);
        wait(75);                            
        spawn(TALLREDPILLAR, 3272, 2992, 0, 348);
        spawn(TALLREDPILLAR, 3288, 2992, 0, 348);
        spawn(TALLREDPILLAR, 3304, 2992, 0, 348);
        spawn(TALLREDPILLAR, 3320, 2992, 0, 348);
        spawn(TALLREDPILLAR, 3336, 2992, 0, 348);
        spawn(TALLREDPILLAR, 3352, 2992, 0, 348);
        spawn(TALLREDPILLAR, 3368, 2992, 0, 348);
        spawn(TALLREDPILLAR, 3384, 2992, 0, 348);
        wait(75);
        spawn(TALLREDPILLAR, 3272, 2992, 0, 332);
        spawn(TALLREDPILLAR, 3288, 2992, 0, 332);
        spawn(TALLREDPILLAR, 3304, 2992, 0, 332);
        spawn(TALLREDPILLAR, 3320, 2992, 0, 332);
        spawn(TALLREDPILLAR, 3336, 2992, 0, 332);
        spawn(TALLREDPILLAR, 3352, 2992, 0, 332);
        spawn(TALLREDPILLAR, 3368, 2992, 0, 332);
        spawn(TALLREDPILLAR, 3384, 2992, 0, 332);
        wait(15);
        ceilheight(168, 704);
        fadelight(168, 255, 3);
        gotbkgrprtl = 2;
        movefloor(172, 64, 1);
        moveceil(172, 192, 1);
        moveceil(170, 384, 1);
        tagwait(170);
        ceilheight(163, 384);
        secret = 1;
        }

}

script 101
{
        movefloor(26, -80, 12);
        moveceil(26, -64, 12);
        wait(10);
        movefloor(25, -112, 12);
        moveceil(25, -96, 12);
        wait(10);
        movefloor(24, -80, 12);
        moveceil(24, -64, 12);
        wait(10);
        movefloor(20, -80, 12);
        moveceil(20, -64, 12);
}

script 102
{
        ceilheight(44, 512);
        lightlevel(44, 255);
}

script 103
{
  if(gotbkportal == 2)
        {
       gotbkportal = 1;
        fadelight(44, 0, 3);
        wait(30);
        ceilheight(44, 520);
        }
}


script 104
{
  if(gotbkportal == 0)
        {
       gotbkportal = 1;
       timedtip(350, "you pick up the book of portals");
       removeobj(59);
       spawn(SKULLPOLE1, 1560, -128);
       spawn(SHRTREDFIRESTICK, 1464, -224);
       spawn(SHRTREDFIRESTICK, 1656, -224);
       spawn(SHRTREDFIRESTICK, 1464, -32);
       spawn(SHRTREDFIRESTICK, 1656, -32);
       }
}

script 105
{
  if(gotbkportal == 1)
        {
         gotbkportal = 7;
       timedtip(350, "You open the book of portals and\n read the summoning portal spell");
        ceilheight(44, 520);
        wait(30);
        fadelight(44, 255, 3);
        wait(10);
       spawn(SHRTREDFIRESTICK, -248, 1968);
       spawn(SHRTREDFIRESTICK, -456, 1968);
       spawn(SHRTREDFIRESTICK, -352, 2072);
       gotbkportal = 2;
       }
}

script 106
{
  if(gotbkportal == 2)
        {
       linetrigger(97, 45);
       startscript(112);
       }
}

script 107
{
  if(firstime == 2)
        {
                   firstime = 3;
                     teleport(99, 71);
                       wait(30);
                     setcamera(98, 0, 270, 30);
                     wait(60);
                     teleport(99, 72);
			wait(30);
				while(movecamera(98, 98, 270, 1, 180, 0.5)) {wait(1);}
                        wait(70);
                     clearcamera();
        }
        
}

script 108
{
  if(firstime == 3)
        {
                   firstime = 4;
                     teleport(99, 71);
                     wait(30);
                     setcamera(105, 0, 100, 30);
                     wait(30);
                     teleport(99, 208);
                     moveceil(54, 90, 1);
                    tagwait(54);
                      kill(99);  
                      wait(75);
                     clearcamera();

        }
}

script 109
{
        wait(20);
        floorheight(84, 256);
        ceilheight(84, 512);
        wait(15);
        floorheight(85, 256);
        ceilheight(85, 512);
        wait(15);
        floorheight(86, 256);
        ceilheight(86, 512);
        wait(15);
        floorheight(87, 256);
        ceilheight(87, 512);
        wait(15);
        floorheight(88, 256);
        ceilheight(88, 512);
        wait(15);
        floorheight(89, 256);
        ceilheight(89, 512);
        wait(15);
        floorheight(90, 256);
        ceilheight(90, 512);
        wait(15);
        floorheight(91, 256);
        ceilheight(91, 512);
        wait(15);
        floorheight(92, 256);
        ceilheight(92, 512);
        wait(15);
        floorheight(93, 256);
        ceilheight(93, 512);
}

script 110
{
  if(secret == 1)
        {
       linetrigger(97, 214);
       }
}

script 0
{
       spawn(MEGASPHERE, -2700, -392, 0, 256);
       spawn(MEGASPHERE, -2764, -1064, 0, 256);
       spawn(TELEPORTMAN, 1952, 160, 90, 380);
       spawn(SHRTREDFIRESTICK, 504, 3576, 0, 342);
       spawn(SHRTREDFIRESTICK, 1128, 3576, 0, 342);
       spawn(SHRTREDFIRESTICK, 3040, 2800, 0, 388);
       spawn(SHRTREDFIRESTICK, 3616, 2800, 0, 388);
       spawn(SHRTGRNFIRESTICK, 3328, 1992, 0, 547);
       spawn(SHRTGRNFIRESTICK, 3328, 2552, 0, 547);
       spawn(SHRTGRNFIRESTICK, 3328, 2272, 0, 550);
       spawn(SHRTGRNFIRESTICK, 816, 2400, 0, 138);
       spawn(SHRTREDFIRESTICK, 2597, -29, 0, 184);
       spawn(SHRTREDFIRESTICK, 2597, -227, 0, 184);
       spawn(SHRTREDFIRESTICK, 2410, -539, 0, 184);
       spawn(SHRTREDFIRESTICK, 2602, -539, 0, 184);
       spawn(SHRTREDFIRESTICK, 2986, -539, 0, 184);
       spawn(SHRTREDFIRESTICK, 3178, -539, 0, 184);
       spawn(SHRTREDFIRESTICK, 3304, -301, 0, 184);
       spawn(SHRTREDFIRESTICK, 3304, 45, 0, 184);
       spawn(SHRTREDFIRESTICK, 4024, -301, 0, 184);
       spawn(SHRTREDFIRESTICK, 4024, 45, 0, 184);
       spawn(SHRTREDFIRESTICK, 4470, -277, 0, 184);
       spawn(SHRTREDFIRESTICK, 4470, 21, 0, 184);
}

script 111
{
    while(1)
    {
        spawn(SHRTREDPILLAR, 2352, 2528, 0, 480);
        wait(10);
        spawn(SHRTREDPILLAR, 2389, 2560, 0, 480);
        wait(10);
        spawn(SHRTREDPILLAR, 2352, 2560, 0, 480);
        wait(10);
        spawn(SHRTREDPILLAR, 2389, 2528, 0, 480);
        wait(10);
        spawn(SHRTREDPILLAR, 2389, 2560, 0, 480);
        wait(10);
        spawn(SHRTREDPILLAR, 2352, 2528, 0, 480);
        wait(10);
        spawn(SHRTREDPILLAR, 2389, 2528, 0, 480);
        wait(10);
        spawn(SHRTREDPILLAR, 2352, 2560, 0, 480);
        wait(10);
    }
}

script 112
{
  if(firstime == 1)
        {
                     firstime = 2;
                     teleport(99, 70);
                        wait(100);
                        ceilheight(300, -1000);
        }
}

script 113
{
        if(gotchalice == 1)
        {
        gotchalice = 2;
        gods = 1;
               kill(108);
        wait(50);
        timedtip(400, "In the south, The five twins of protection\n rise towards the skies\n");
        }
}


script 114
{
  if(gods == 1)
        {
       gods = 2;
        spawn(TWITCHCORPSE1, 1560, -760, 0, 24);
        timedtip(400, "Old gods, rise again.");
              wait(100);
        setcamera(107, 300, 96, 0);
        wait(70);
        movefloor(152, 62, 1);
        movefloor(154, 62, 1);
        movefloor(156, 62, 1);
        movefloor(158, 62, 1);
        movefloor(151, 62, 1);
        movefloor(153, 62, 1);
        movefloor(155, 62, 1);
        movefloor(157, 62, 1);
        moveceil(151, 64, 1);
        moveceil(153, 64, 1);
        moveceil(155, 64, 1);
        moveceil(157, 64, 1);
        timedtip(400, "The gods have cleared your path.");
        tagwait(151);
        wait(250);
        clearcamera();
        }
}

script 115
{
  if(fear1 == 1)
       {
          fear1 = 2;
          timedtip(300, "Make a leap of faith, Face your fear.");
          wait(300);
       }
}

script 120
{
          wait(80);
          linetrigger(97, 160);
}

script 53
{
  while(1)
  {
    if( (objsector(playerobj(0)) == 71 || objsector(playerobj(0)) == 59 || objsector(playerobj(0)) == 74 || objsector(playerobj(0)) == 76 || objsector(playerobj(0)) == 78 || objsector(playerobj(0)) == 80 || objsector(playerobj(0)) == 213 || objsector(playerobj(0)) == 212 || objsector(playerobj(0)) == 211 || objsector(playerobj(0)) == 82) && objz(playerobj(0)) < -850)
    {
      kill(playerobj(0));
      break();
    }
    wait(1);
  }
}

script 127
{
startscript(128);
startscript(53);
startscript(0);
startscript(111);
}

script 128
{
    while(1)
    {
        spawn(SHRTREDPILLAR, -2990, 1856, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2988, 1842, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2981, 1820, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2971, 1818, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2957, 1811, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2943, 1809, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2929, 1811, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2915, 1818, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2905, 1828, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2898, 1842, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2895, 1856, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2898, 1870, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2905, 1884, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2915, 1894, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2929, 1901, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2943, 1903, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2957, 1901, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2971, 1894, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2981, 1884, 0, 670);
        wait(10);
        spawn(SHRTREDPILLAR, -2988, 1870, 0, 670);
        wait(10);
    }
}

startscript(127);