//////////////////////////////////////////////////////////////////////
//   Sample Script File for SCRIPTS.WAD
//////////////////////////////////////////////////////////////////////

#include "common.acs" //This line must be in the beginning of every script

//----------------------------------------------------------------------
//   script 1  These are comment lines
//----------------------------------------------------------------------

script 1 (void)    //This line tells the script number and says there are no
                   //variables. Use "(void)" as a default in making scripts.

{   // This character opens the scripts for commands.
        
    Floor_raisebyvalue(const:3, 15, 32);     //This is the meat of the
    Ceiling_RaiseByValue(const:8, 100, 120); //script. This is where all
    ACS_execute(const:3, 1, 0, 0, 0);        //your commands and specials go.
    
}   //This character closes the script for commands.

//----------------------------------------------------------------------
//  script 2
//----------------------------------------------------------------------

script 2 (void)
{                                            //Here is the correct format 
    delay(const:20);                         //of a script.  

    Pillar_Open(const:1, 15, 112, 112);      //
    tagwait(const:1);                        //Always end a command
    delay(const:37);                         //with a semi-colon
                                             //
    Pillar_Open(const:2, 10, 96, 96);        //
}                                            

//----------------------------------------------------------------------
//  script 3
//----------------------------------------------------------------------

script 3 (void)
{   
   {    
      setlinetexture(1, side_front, texture_middle, "spawn09");
      setlinetexture(2, side_front, texture_middle, "spawn09");
      setlinetexture(3, side_front, texture_middle, "spawn09");
      delay(const:2);

      setlinetexture(1, side_front, texture_middle, "spawn10");
      setlinetexture(2, side_front, texture_middle, "spawn10");
      setlinetexture(3, side_front, texture_middle, "spawn10");
      delay(const:2);     

      thing_projectilegravity(1, T_FIREBALL1, random(96, 160), random(90, 120), 0);
      thing_projectilegravity(2, T_FIREBALL1, random(160, 224), random(90, 120), 0);
      thing_projectilegravity(3, T_FIREBALL1, 224, random(90, 120), 0);
      thing_projectilegravity(3, T_FIREBALL1, random(0, 32), random(90, 120), 0);
      thingsound(1, "FireDemonAttack", 127);
      delay(const:2);

      setlinetexture(1, side_front, texture_middle, "spawn09");
      setlinetexture(2, side_front, texture_middle, "spawn09");
      setlinetexture(3, side_front, texture_middle, "spawn09");
      delay(const:2);

      setlinetexture(1, side_front, texture_middle, "spawn08");
      setlinetexture(2, side_front, texture_middle, "spawn08");
      setlinetexture(3, side_front, texture_middle, "spawn08");
  }
  restart;    //This line restarts the script at the beginning.
}

//----------------------------------------------------------------------
//  script 4
//----------------------------------------------------------------------

Script 4 (void)        
{        
    delay(const:20);
    Radius_Quake(const:7, 170, 0, 3, 4);    
    delay(const:75);

    Ceiling_RaiseByValue(const:4, 15, 112);
    delay(const:20);

    Ceiling_RaiseByValue(const:5, 15, 128);
    delay(const:50);

    Floor_LowerToLowest(const:6, 20);
    delay(const:120);

    Floor_RaiseByValue(const:6, 20, 128);
    delay(const:175);

    Ceiling_LowerByValue(const:4, 15, 112);
    Ceiling_LowerByValue(const:5, 15, 128);
}

//----------------------------------------------------------------------
//  script 5
//----------------------------------------------------------------------

script 5 (void)
{
    delay(const:20);
    Radius_Quake(const:7, 40, 0, 3, 5);
    Floor_RaiseToHighest(const:10, 200);
    delay(const:30);

    Thing_SpawnNoFog(const:7, T_BISHOP, 64);
}

//----------------------------------------------------------------------
//  script 6
//----------------------------------------------------------------------

script 6 (void)
{
    Floor_LowerByValue(const:7, 8, 48);
    Ceiling_RaiseByValue(const:9, 25, 128);
}

//----------------------------------------------------------------------
//  script 7
//----------------------------------------------------------------------

script 7 (void)
{
    Floor_RaiseByValue(const:7, 8, 48);
    Thing_Spawn(const:6, T_ITEMHEALTHPOTION, 0);
}

//----------------------------------------------------------------------
//  script 8
//----------------------------------------------------------------------

Script 8 (void)
{
    Polyobj_RotateRight(const:1, 4, 64);
}

//----------------------------------------------------------------------
//  script 200
//----------------------------------------------------------------------

script 200 OPEN    //This runs the script right as the game starts.
{
     if(gametype() == GAME_NET_DEATHMATCH)     // This line tells the script to
     {                                         // run only if the game is 
        Floor_RaiseByValue(const:7, 8, 48);    // deathmatch.
        Thing_Spawn(const:6, T_ITEMHEALTHPOTION, 0);
     }
}

//////////////////// end of ACS script ////////////////////////////////////
