Code: Select all
// 11 December 2005 22:03:28
// F:\Doom\zdoom2\HEXEN.WAD
// **************************************************************
// ACC script decompiler (c) 1995 Luc Cluitmans *
// DeePsea Port 9-16-2004 by Jack Vermeulen (v1.15) *
// **************************************************************
#include "common.acs"
// BEHAVIOR 25 scripts, 14 strings
// ==================================================
// List of MAP variables:
int mapvar0;
int mapvar1;
int mapvar2;
int mapvar3;
int mapvar4;
//==================== script 1 ====================
script 1 (void)
{
Teleport(const:15);
delay(const:35);
}
//==================== script 2 ====================
script 2 (void)
{
Door_Open(const:33, 16);
Floor_LowerInstant(const:5, 0, 250);
}
//==================== script 3 ====================
script 3 (void)
{
if(mapvar0 == 0)
{
Thing_Activate(const:21);
sectorsound("WaterMove", 127);
delay(const:70);
sectorsound("WaterMove", 127);
delay(const:70);
sectorsound("WaterMove", 127);
delay(const:70);
Radius_Quake(const:2, 255, 1, 20, 1);
ACS_Execute(const:5, 0, 0, 0, 0);
delay(const:200);
Floor_LowerInstant(const:13, 0, 250);
tagwait(const:13);
Floor_LowerInstant(const:13, 0, 12);
tagwait(const:13);
Thing_Remove(const:6);
Thing_Activate(const:7);
Light_ChangeToValue(const:13, 160);
changefloor(const:13, "X_001");
Floor_LowerByValue(const:27, 16, 64);
mapvar0++;
}
}
//==================== script 4 ====================
script 4 (void)
{
if(mapvar2 == 0)
{
Floor_RaiseInstant(const:14, 0, 250);
tagwait(const:14);
Floor_RaiseInstant(const:14, 0, 12);
tagwait(const:14);
changefloor(const:14, "F_048");
mapvar2++;
}
}
//==================== script 5 ====================
script 5 (void)
{
int var0;
var0 = 0;
while(var0 < 51)
{
var0++;
Thing_ProjectileGravity(random(1, 4), random(41, 43), random(1, 255), 30, 0);
delay(random(const:5, 10));
}
}
//==================== script 6 ====================
script 6 OPEN
{
until(mapvar1 == 2)
{
delay(const:25);
}
Floor_LowerByValue(const:2, 64, 120);
delay(const:25);
Thing_Spawn(const:8, T_BISHOP, 0);
Thing_Deactivate(const:9);
Light_Fade(const:25, 128, 35);
}
//==================== script 7 ====================
script 7 (void)
{
setlinetexture(1, SIDE_FRONT, TEXTURE_MIDDLE, "BOOKS04");
mapvar1++;
}
//==================== script 8 ====================
script 8 (void)
{
setlinetexture(2, SIDE_FRONT, TEXTURE_MIDDLE, "BOOKS04");
mapvar1++;
}
//==================== script 9 ====================
script 9 OPEN
{
setlinespecial(1, 129 /*UsePuzzleItem*/, 7, 7, 0, 0, 0);
setlinespecial(2, 129 /*UsePuzzleItem*/, 8, 8, 0, 0, 0);
setlinespecial(3, 80 /*ACS_Execute*/, 23, 23, 0, 0, 0);
}
//==================== script 10 ====================
script 10 (void)
{
Thing_Activate(const:10);
Light_Fade(const:26, 176, 15);
}
//==================== script 11 ====================
script 11 (void)
{
Polyobj_DoorSwing(const:3, 8, 64, 70);
}
//==================== script 12 ====================
script 12 (void)
{
Polyobj_DoorSwing(const:5, 4, 64, 210);
}
//==================== script 13 ====================
script 13 OPEN
{
until(thingcount(T_DEMON, 0) == 3)
{
delay(const:210);
}
Door_Open(const:28, 32);
tagwait(const:28);
Stairs_BuildDownSync(const:18, 8, 16, 0);
}
//==================== script 14 ====================
script 14 (void)
{
if(thingcount(T_FIREGARGOYLE, 12) == 0)
{
delay(const:70);
Thing_Spawn(const:11, T_DEMON, 0);
}
}
//==================== script 15 ====================
script 15 (void)
{
if(mapvar3 == 0)
{
Pillar_Open(const:17, 64, 112, 112);
Thing_Activate(const:12);
mapvar3++;
}
if(gametype() == GAME_NET_DEATHMATCH)
{
Polyobj_DoorSwing(const:5, 4, 64, 210);
}
}
//==================== script 16 ====================
script 16 (void)
{
if(thingcount(T_BISHOP, 13) == 0)
{
if(mapvar4 == 0)
{
Floor_LowerByValueTimes8(const:19, 32, 30);
Thing_Activate(const:16);
Light_Fade(const:29, 176, 35);
mapvar4 = 1;
}
}
}
//==================== script 17 ====================
script 17 (void)
{
Thing_Activate(const:17);
Light_Fade(const:30, 176, 35);
}
//==================== script 18 ====================
script 18 (void)
{
}
//==================== script 20 ====================
script 20 (void)
{
Polyobj_DoorSwing(const:5, 4, 64, 210);
Ceiling_RaiseByValue(const:20, 16, 128);
}
//==================== script 22 ====================
script 22 (int arg0, int arg1, int arg2)
{
int var0;
Floor_LowerInstant(arg0, 0, 16);
thingsound(arg1, "GlassShatter", 127);
var0 = 20;
while(var0 > 0)
{
var0--;
Thing_ProjectileGravity(arg1, random(54, 63), random(1, 255), random(10, 40), random(5, 20));
Thing_ProjectileGravity(arg2, random(54, 63), random(1, 255), random(10, 40), random(5, 20));
}
}
//==================== script 23 ====================
script 23 (void)
{
sectorsound("ValveTurn", 127);
setlinetexture(3, SIDE_FRONT, TEXTURE_MIDDLE, "SW_EL2");
delay(const:2);
setlinetexture(3, SIDE_FRONT, TEXTURE_MIDDLE, "SW_EL3");
delay(const:2);
setlinetexture(3, SIDE_FRONT, TEXTURE_MIDDLE, "SW_EL4");
delay(const:2);
setlinetexture(3, SIDE_FRONT, TEXTURE_MIDDLE, "SW_EL5");
delay(const:32);
Teleport_NewMap(const:24, 0);
}
//==================== script 24 ====================
script 24 (void)
{
print(s:"YOU HEAR A DOOR OPEN UPSTAIRS");
Door_Raise(const:8, 32, 0);
terminate;
}
//==================== script 200 ====================
script 200 OPEN
{
if(gametype() != GAME_NET_DEATHMATCH)
{
terminate;
}
ACS_Execute(const:8, 0, 0, 0, 0);
delay(random(128, 255));
mapvar1 = 2;
delay(random(128, 255));
ACS_Execute(const:4, 0, 0, 0, 0);
delay(random(128, 255));
Door_Open(const:28, 32);
tagwait(const:28);
Stairs_BuildDownSync(const:18, 8, 16, 0);
delay(random(128, 255));
ACS_Execute(const:15, 0, 0, 0, 0);
delay(random(128, 255));
ACS_Execute(const:14, 0, 0, 0, 0);
delay(random(128, 255));
ACS_Execute(const:16, 0, 0, 0, 0);
delay(random(128, 255));
ACS_Execute(const:20, 0, 0, 0, 0);
delay(random(128, 255));
Floor_LowerByValue(const:6, 16, 120);
delay(random(128, 255));
ACS_Execute(const:24, 0, 0, 0, 0);
delay(random(128, 255));
delay(random(5, 10)*100);
ACS_Execute(const:3, 0, 0, 0, 0);
}
//==================== script 254 ====================
script 254 OPEN
{
int var0;
delay(random(2, 7)*100);
var0 = random(1, 5);
switch(var0)
{
case 1:
ambientsound("Ambient10", random(const:50, 80));
break;
case 2:
ambientsound("Ambient10", random(const:50, 110));
break;
case 3:
ambientsound("Ambient12", random(const:50, 127));
break;
case 4:
ambientsound("Ambient12", random(const:40, 90));
break;
case 5:
ambientsound("EarthStartMove", random(const:50, 90));
break;
}
restart;
}
//==================== script 255 ====================
script 255 OPEN
{
int var0;
delay(const:8400);
var0 = random(const:0, 1);
if(var0 == 1)
{
Thing_Spawn(255, T_ETTIN, 64);
}
var0 = random(const:0, 1);
if(var0 == 1)
{
Thing_Spawn(254, T_ETTIN, 64);
}
var0 = random(const:0, 1);
if(var0 == 1)
{
Thing_Spawn(253, T_ETTIN, 64);
}
var0 = random(const:0, 1);
if(var0 == 1)
{
Thing_Spawn(252, T_ETTIN, 64);
}
var0 = random(const:0, 1);
if(var0 == 1)
{
Thing_Spawn(251, T_ETTIN, 64);
}
restart;
}
// ==================================================
// Strings:
// [ 0] 'WaterMove'
// [ 1] 'X_001'
// [ 2] 'F_048'
// [ 3] 'BOOKS04'
// [ 4] 'GlassShatter'
// [ 5] 'ValveTurn'
// [ 6] 'SW_EL2'
// [ 7] 'SW_EL3'
// [ 8] 'SW_EL4'
// [ 9] 'SW_EL5'
// [ 10] 'YOU HEAR A DOOR OPEN UPSTAIRS'
// [ 11] 'Ambient10'
// [ 12] 'Ambient12'
// [ 13] 'EarthStartMove'