Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Shadow Dweller

Another quick question regarding a certain script in Hexen

Recommended Posts

In map 3 of Hexen there are two rooms that, when a certain event is triggered, numerous sectors of the floor and ceiling all raise and lower at the same time. I'm wondering what the script for this is. I tried opening the map in DB2 and looking at the script in the Script Editor but it would only give me a blank screen.

Share this post


Link to post

The script is compiled, and the text lump used to compile it wasn't left behind. It needs to be decompiled -- Usually a program DEACC is used for it, but I don't have a link handy right now. You can get it from the original Doom Builder though.

Share this post


Link to post

Doesn't the Doom Builder editor come with an integrated decompiler, as soon as you go to "edit BEHAVIOR lump"?

Share this post


Link to post
Kappes Buur said:


I tried running the program but closes immediatly after opening command prompt. (pretty common behavior for anything I try to run under command prompt, actually).

printz said

Doesn't the Doom Builder editor come with an integrated decompiler, as soon as you go to "edit BEHAVIOR lump"?


I went into the Script editor and tried importing the hexen.wad file itself thinking maybe that it would display all the scripts used in the game, but doing so only managed to freeze Doom Builder.



Doesn't anyone have a sample script that does something similar to this that I could build off of? Or know of a tutorial that covers this?

Share this post


Link to post
Shadow Dweller said:

I tried running the program but closes immediatly after opening command prompt. (pretty common behavior for anything I try to run under command prompt, actually).


To solve this problem just run DEACC.exe from CMD.EXE. That way the output will stick around after closing.

Share this post


Link to post
printz said:

Doesn't the Doom Builder editor come with an integrated decompiler, as soon as you go to "edit BEHAVIOR lump"?


Doom Builder does.
Doom Builder 2 doesn't.

Share this post


Link to post

//               23 July 2009  00:05:25

// C:\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 29 scripts, 15 strings

// ==================================================

// List of MAP variables:

int mapvar0;
int mapvar1;
int mapvar2;
int mapvar3;
int mapvar4;
int mapvar5;
int mapvar6;
int mapvar7;


//====================  script 1  ====================

script 1 (void)  
{
    int var0;

    var0 = 0;
    Floor_LowerByValue(const:49, 16, 80);
    delay(random(const:8, 32));
    var0 = 0;
    while(var0 < 3)
    {
        Floor_LowerByValueTimes8(5+var0, 254, 255);
        delay(random(const:8, 32));
        var0++;
    }
    Pillar_BuildAndCrush(const:20, 64, 0, 25);
    delay(random(const:8, 32));
    Ceiling_LowerAndCrush(const:21, 128, 20);
    delay(random(const:8, 32));
    Floor_LowerByValue(const:22, 8, 16);
    delay(random(const:8, 32));
    Floor_LowerByValue(const:23, 24, 40);
    delay(random(const:8, 32));
    Floor_RaiseByValue(const:24, 16, 48);
    delay(random(const:8, 32));
    Floor_LowerByValue(const:24, 24, 32);
}

//====================  script 2  ====================

script 2 (void)  
{
    if(gametype() != GAME_NET_DEATHMATCH)
    {
        delay(const:64);
        Stairs_BuildDown(const:3, 8, 16, 0, 0);
        Floor_LowerByValue(const:2, 8, 128);
        Floor_LowerByValue(const:98, 8, 128);
        Floor_LowerByValue(const:99, 8, 128);
        tagwait(const:99);
        Thing_Spawn(const:7, T_ETTIN, 224);
        delay(const:32);
        Thing_Spawn(const:8, T_ETTIN, 160);
        delay(const:32);
        Thing_Spawn(const:9, T_ETTIN, 112);
        delay(const:32);
        Thing_Spawn(const:10, T_ETTIN, 45);
    }
}

//====================  script 3  ====================

script 3 (void)  
{
    if(gametype() != GAME_NET_DEATHMATCH)
    {
        Pillar_BuildAndCrush(const:14, 8, 0, 25);
        Thing_Activate(const:18);
    }
    Floor_LowerByValue(const:15, 32, 128);
    Pillar_Open(const:54, 32, 32, 32);
    Floor_LowerByValue(const:55, 32, 24);
    Floor_LowerByValue(const:51, 8, 120);
    while(1)
    {
        Light_ChangeToValue(const:65, 176);
        Thing_Projectile(17, T_DART, random(55, 71), random(80, 128), 0);
        thingsound(17, "MaulatorHamSwing", 127);
        Light_Fade(const:65, 96, 4);
        delay(random(const:8, 32));
    }
}

//====================  script 4  ====================

script 4 (void)  
{
    int var0;

    if(mapvar3 == 0)
    {
        var0 = 0;
        while(var0 < 9)
        {
            Floor_LowerByValue(25+var0, random(const:8, 32), random(const:8, 96));
            delay(random(const:8, 32));
            var0++;
        }
        var0 = 0;
        while(var0 < 9)
        {
            Floor_RaiseByValue(25+var0, random(const:8, 32), random(const:8, 96));
            delay(random(const:8, 32));
            var0++;
        }
        Pillar_BuildAndCrush(const:33, 16, 0, 25);
        delay(random(const:8, 32));
        Pillar_BuildAndCrush(const:34, 16, 0, 25);
        delay(const:32);
        Pillar_BuildAndCrush(const:35, 16, 0, 25);
        Floor_LowerByValue(const:72, 32, 120);
        mapvar3 = 1;
        Thing_Activate(const:34);
    }
}

//====================  script 5  ====================

script 5 (void)  
{
    int var0;

    if(mapvar1 == 0)
    {
        var0 = 0;
        while(var0 < 4)
        {
            Floor_LowerByValue(5+var0, 8, 64);
            delay(random(const:8, 32));
            var0++;
        }
        var0 = 0;
        while(var0 < 5)
        {
            Floor_LowerByValue(20+var0, 8, 64);
            delay(random(const:8, 32));
            var0++;
        }
        var0 = 0;
        while(var0 < 4)
        {
            Floor_RaiseByValue(5+var0, 8, 64);
            delay(random(const:8, 32));
            var0++;
        }
        var0 = 0;
        while(var0 < 5)
        {
            Floor_RaiseByValue(20+var0, 8, 64);
            delay(random(const:8, 32));
            var0++;
        }
        Floor_LowerByValue(const:73, 32, 48);
        mapvar1 = 1;
    }
    Plat_DownWaitUpStay(const:4, 32, 64);
}

//====================  script 6  ====================

script 6 (void)  
{
    if(mapvar7 == 0)
    {
        mapvar7 = 1;
        setlinetexture(12, SIDE_FRONT, TEXTURE_MIDDLE, "FIRE14");
        Floor_LowerByValue(const:63, 16, 104);
        changefloor(const:60, "X_001");
        Floor_RaiseByValue(const:60, 4, 8);
        delay(const:64);
        Floor_LowerByValue(const:61, 2, 64);
        changefloor(const:62, "X_005");
        tagwait(const:61);
        Floor_LowerByValue(const:61, 4, 128);
        delay(const:128);
        Floor_RaiseByValue(const:62, 2, 32);
        tagwait(const:62);
        changefloor(const:61, "X_005");
        delay(const:64);
        Floor_RaiseByValue(const:63, 16, 104);
        Floor_LowerByValue(const:60, 4, 8);
        changefloor(const:60, "F_032");
        mapvar7 = 0;
        delay(const:1000);
        sectorsound("FreezeDeath", 127);
        changefloor(const:61, "F_033");
        changefloor(const:62, "F_033");
    }
}

//====================  script 7  ====================

script 7 (void)  
{
    int var0;

    mapvar0 = random(const:1, 4);
    var0 = 0;
    while(var0 < 5)
    {
        Pillar_Open(45+var0, 16, 56, 56);
        var0++;
    }
    var0 = 0;
    while(var0 < 5)
    {
        Ceiling_CrushRaiseAndStay(45+var0, random(32, 64), 5);
        delay(random(8, 32));
        var0++;
    }
    var0 = 0;
    while(var0 < 5)
    {
        Ceiling_CrushRaiseAndStay(45+var0, random(32, 64), 5);
        delay(random(8, 32));
        var0++;
    }
    if(mapvar0 == 1)
    {
        Light_ChangeToValue(const:36, 192);
    }
    else if(mapvar0 == 2)
    {
        Light_ChangeToValue(const:37, 192);
    }
    else if(mapvar0 == 3)
    {
        Light_ChangeToValue(const:38, 192);
    }
    else if(mapvar0 == 4)
    {
        Light_ChangeToValue(const:39, 192);
    }
    if(gametype() != GAME_NET_DEATHMATCH)
    {
        ACS_Execute(const:29, 2, 0, 0, 0);
    }
}

//====================  script 8  ====================

script 8 (int arg0, int arg1)  
{
    if(mapvar0 == arg0)
    {
        Teleport_NewMap(const:2, 1);
    }
    else
    {
        Ceiling_LowerAndCrush(arg1, 200, 100);
    }
}

//====================  script 9  ====================

script 9 (void)  
{
    int var0;

    var0 = 1;
    while(var0 < 9)
    {
        FloorAndCeiling_RaiseByValue(79+var0, 32, 16*var0);
        tagwait(79+var0);
        var0++;
    }
    var0 = 0;
    while(var0 < 3)
    {
        Floor_LowerByValue(90+var0, 16, 128);
        var0++;
    }
    Floor_LowerByValue(const:93, 16, 48);
}

//====================  script 10  ====================

script 10 (void)  
{
    int var0;

    mapvar2 = mapvar2+1;
    if(mapvar2 == 1)
    {
        Pillar_Open(const:88, 32, 56, 56);
        Light_Fade(const:53, 144, 32);
        Light_Fade(const:92, 144, 32);
        Thing_Activate(const:1);
    }
    if(mapvar2 == 2)
    {
        Pillar_Open(const:89, 32, 56, 56);
        Light_Fade(const:53, 176, 32);
        Thing_Activate(const:2);
        delay(const:64);
        var0 = random(const:1, 4);
        if(var0 == 1)
        {
            Thing_Spawn(const:3, T_ITEMHEALTHFLASK, 64);
        }
        else if(var0 == 2)
        {
            Thing_Spawn(const:3, T_MANA2, 64);
        }
        else if(var0 == 3)
        {
            Thing_Spawn(const:3, T_MANA1, 64);
        }
        else if(var0 == 4)
        {
            Thing_Spawn(const:3, T_ETTIN, 64);
        }
        Thing_Spawn(const:29, T_ETTIN, 0);
        Thing_Spawn(const:30, T_ETTIN, 128);
    }
}

//====================  script 11  ====================

script 11 (void)  
{
    Door_Open(const:74, 32);
    Light_Fade(const:94, 160, 32);
    Light_Fade(const:95, 160, 32);
}

//====================  script 12  ====================

script 12 (void)  
{
    int var0;
    int var1;

    var0 = random(const:4, 5);
    if(var0 == 4)
    {
        while(var1 < 3)
        {
            Thing_Projectile(4, T_ICESHARD, 0, 80, var1*8);
            thingsound(4, "IceGuyAttack", 127);
            delay(const:4);
            Thing_Projectile(4, T_ICESHARD, 0, 80, var1*8);
            thingsound(4, "IceGuyAttack", 127);
            delay(const:4);
            Thing_Projectile(4, T_ICESHARD, 0, 80, var1*8);
            thingsound(4, "IceGuyAttack", 127);
            delay(const:4);
            var1++;
        }
        var1 = 3;
        while(var1 > 0)
        {
            Thing_Projectile(4, T_ICESHARD, 0, 80, var1*8);
            thingsound(4, "IceGuyAttack", 127);
            delay(const:4);
            Thing_Projectile(4, T_ICESHARD, 0, 80, var1*8);
            thingsound(4, "IceGuyAttack", 127);
            delay(const:4);
            Thing_Projectile(4, T_ICESHARD, 0, 80, var1*8);
            thingsound(4, "IceGuyAttack", 127);
            delay(const:4);
            var1--;
        }
    }
    if(var0 == 5)
    {
        while(var1 < 3)
        {
            Thing_Projectile(5, T_ICESHARD, 128, 80, var1*8);
            thingsound(5, "IceGuyAttack", 127);
            delay(const:4);
            Thing_Projectile(5, T_ICESHARD, 128, 80, var1*8);
            thingsound(5, "IceGuyAttack", 127);
            delay(const:4);
            Thing_Projectile(5, T_ICESHARD, 128, 80, var1*8);
            thingsound(5, "IceGuyAttack", 127);
            delay(const:4);
            var1++;
        }
        var1 = 3;
        while(var1 > 0)
        {
            Thing_Projectile(5, T_ICESHARD, 128, 80, var1*8);
            thingsound(5, "IceGuyAttack", 127);
            delay(const:4);
            Thing_Projectile(5, T_ICESHARD, 128, 80, var1*8);
            thingsound(5, "IceGuyAttack", 127);
            delay(const:4);
            Thing_Projectile(5, T_ICESHARD, 128, 80, var1*8);
            thingsound(5, "IceGuyAttack", 127);
            delay(const:4);
            var1--;
        }
    }
}

//====================  script 13  ====================

script 13 (void)  
{
    int var0;

    Door_Open(const:13, 8);
    Thing_Activate(const:6);
    while(var0 < 3)
    {
        Light_ChangeToValue(40+var0, 144);
        var0++;
    }
    while(1)
    {
        Thing_ProjectileGravity(15, T_FIREBALL1, 0, random(8, 32), random(32, 48));
        thingsound(15, "FireDemonAttack", 127);
        delay(random(8, 48));
        Thing_ProjectileGravity(16, T_FIREBALL1, 128, random(8, 32), random(32, 48));
        thingsound(16, "FireDemonAttack", 127);
        delay(random(8, 48));
    }
}

//====================  script 14  ====================

script 14 (void)  
{
    Door_Open(const:71, 32);
    Thing_Spawn(const:12, T_ETTIN, 64);
    Thing_Spawn(const:13, T_ETTIN, 224);
    Thing_Spawn(const:14, T_ETTIN, 160);
}

//====================  script 15  ====================

script 15 (void)  
{
    while(1)
    {
        setlinetexture(1, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(1, SIDE_FRONT, TEXTURE_MIDDLE, "spawn07");
        Thing_Projectile(19, T_RIPPERBALL, 64, 96, 0);
        thingsound(19, "FireDemonAttack", 127);
        Light_ChangeToValue(const:56, 160);
        delay(const:3);
        Light_Fade(const:56, 128, 5);
        setlinetexture(1, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(1, SIDE_FRONT, TEXTURE_MIDDLE, "spawn05");
        delay(const:2);
        setlinetexture(2, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(2, SIDE_FRONT, TEXTURE_MIDDLE, "spawn07");
        Thing_Projectile(21, T_RIPPERBALL, 64, 96, 0);
        thingsound(21, "FireDemonAttack", 127);
        Light_ChangeToValue(const:57, 160);
        delay(const:3);
        Light_Fade(const:57, 128, 5);
        setlinetexture(2, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(2, SIDE_FRONT, TEXTURE_MIDDLE, "spawn05");
        delay(const:2);
        setlinetexture(3, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(3, SIDE_FRONT, TEXTURE_MIDDLE, "spawn07");
        Thing_Projectile(23, T_RIPPERBALL, 64, 96, 0);
        thingsound(23, "FireDemonAttack", 127);
        Light_ChangeToValue(const:58, 160);
        delay(const:3);
        Light_Fade(const:58, 128, 4);
        setlinetexture(3, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(3, SIDE_FRONT, TEXTURE_MIDDLE, "spawn05");
        delay(const:2);
        setlinetexture(4, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(4, SIDE_FRONT, TEXTURE_MIDDLE, "spawn07");
        Thing_Projectile(25, T_RIPPERBALL, 64, 96, 0);
        thingsound(25, "FireDemonAttack", 127);
        Light_ChangeToValue(const:59, 160);
        delay(const:3);
        Light_Fade(const:59, 128, 4);
        setlinetexture(4, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(4, SIDE_FRONT, TEXTURE_MIDDLE, "spawn05");
        delay(const:2);
        setlinetexture(5, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(5, SIDE_FRONT, TEXTURE_MIDDLE, "spawn07");
        Thing_Projectile(27, T_RIPPERBALL, 64, 96, 0);
        thingsound(27, "FireDemonAttack", 127);
        Light_ChangeToValue(const:64, 160);
        delay(const:3);
        Light_Fade(const:64, 128, 4);
        setlinetexture(5, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(5, SIDE_FRONT, TEXTURE_MIDDLE, "spawn05");
        delay(const:2);
        setlinetexture(6, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(6, SIDE_FRONT, TEXTURE_MIDDLE, "spawn07");
        Thing_Projectile(28, T_RIPPERBALL, 192, 96, 0);
        thingsound(28, "FireDemonAttack", 127);
        Light_ChangeToValue(const:64, 160);
        delay(const:3);
        Light_Fade(const:64, 128, 5);
        setlinetexture(6, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(6, SIDE_FRONT, TEXTURE_MIDDLE, "spawn05");
        delay(const:2);
        setlinetexture(7, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(7, SIDE_FRONT, TEXTURE_MIDDLE, "spawn07");
        Thing_Projectile(26, T_RIPPERBALL, 192, 96, 0);
        thingsound(26, "FireDemonAttack", 127);
        Light_ChangeToValue(const:59, 160);
        delay(const:3);
        Light_Fade(const:59, 128, 5);
        setlinetexture(7, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(7, SIDE_FRONT, TEXTURE_MIDDLE, "spawn05");
        delay(const:2);
        setlinetexture(8, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(8, SIDE_FRONT, TEXTURE_MIDDLE, "spawn07");
        Thing_Projectile(24, T_RIPPERBALL, 192, 96, 0);
        thingsound(24, "FireDemonAttack", 127);
        Light_ChangeToValue(const:58, 160);
        delay(const:3);
        Light_Fade(const:58, 128, 5);
        setlinetexture(8, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(8, SIDE_FRONT, TEXTURE_MIDDLE, "spawn05");
        delay(const:2);
        setlinetexture(9, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(9, SIDE_FRONT, TEXTURE_MIDDLE, "spawn07");
        Thing_Projectile(22, T_RIPPERBALL, 192, 96, 0);
        thingsound(22, "FireDemonAttack", 127);
        Light_ChangeToValue(const:57, 160);
        delay(const:3);
        Light_Fade(const:57, 128, 5);
        setlinetexture(9, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(9, SIDE_FRONT, TEXTURE_MIDDLE, "spawn05");
        delay(const:2);
        setlinetexture(10, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(10, SIDE_FRONT, TEXTURE_MIDDLE, "spawn07");
        Thing_Projectile(20, T_RIPPERBALL, 192, 96, 0);
        thingsound(20, "FireDemonAttack", 127);
        Light_ChangeToValue(const:56, 160);
        delay(const:3);
        Light_Fade(const:56, 128, 5);
        setlinetexture(10, SIDE_FRONT, TEXTURE_MIDDLE, "spawn06");
        delay(const:4);
        setlinetexture(10, SIDE_FRONT, TEXTURE_MIDDLE, "spawn05");
        delay(const:2);
    }
}

//====================  script 16  ====================

script 16 (void)  
{
    Thing_Spawn(const:31, T_BRIDGE, 0);
    Thing_Spawn(const:32, T_BRIDGE, 0);
}

//====================  script 17  ====================

script 17 (void)  
{
    if(mapvar4 == 1)
    {
        Plat_DownWaitUpStay(4, 32, 64);
    }
}

//====================  script 18  ====================

script 18 (void)  
{
    if(mapvar5 == 1)
    {
        Floor_LowerByValue(const:44, 16, 128);
        mapvar5 = 0;
    }
}

//====================  script 19  ====================

script 19 (void)  
{
    mapvar5 = 1;
    Light_Fade(const:98, 208, 32);
    mapvar4 = 1;
    Light_Fade(const:99, 208, 32);
    Light_Fade(const:2, 128, 32);
    Thing_Deactivate(const:35);
}

//====================  script 20  ====================

script 20 (void)  
{
    if(gametype() != GAME_NET_DEATHMATCH)
    {
        if(++mapvar6 == 2)
        {
            ACS_Execute(const:16, 2, 0, 0, 0);
        }
    }
}

//====================  script 21  ====================

script 21 (void)  
{
    Door_Open(const:100, 16);
}

//====================  script 22  ====================

script 22 (void)  
{
    Door_Open(const:101, 16);
}

//====================  script 23  ====================

script 23 (void)  
{
    if(mapvar7 == 0)
    {
        mapvar7 = 1;
        Floor_LowerByValue(const:63, 16, 104);
        delay(const:210);
        Floor_RaiseByValue(const:63, 16, 104);
        mapvar7 = 0;
    }
}

//====================  script 24  ====================

script 24 (void)  
{
    print(s:"THIS PATH IS BARRED");
}

//====================  script 25  ====================

script 25 (void)  
{
    if(gametype() == GAME_NET_DEATHMATCH)
    {
        terminate;
    }
    Ceiling_RaiseByValue(const:10, 8, 32);
}

//====================  script 100  ====================

script 100 OPEN
{
    Light_Glow(const:96, 160, 144, 8);
    setlinespecial(12, 129 /*UsePuzzleItem*/, 9, 6, 0, 0, 0);
}

//====================  script 200  ====================

script 200 OPEN
{
    if(gametype() != GAME_NET_DEATHMATCH)
    {
        terminate;
    }
    ACS_Execute(21, 3, 0, 0, 0);
    ACS_Execute(22, 3, 0, 0, 0);
    Stairs_BuildDown(const:3, 8, 16, 0, 0);
    Floor_LowerByValue(const:2, 8, 128);
    Floor_LowerByValue(const:98, 8, 128);
    Floor_LowerByValue(const:99, 8, 128);
    delay(const:128);
    Ceiling_RaiseByValue(const:10, 8, 32);
}

//====================  script 254  ====================

script 254 OPEN
{
    int var0;

    delay(random(4, 7)*100);
    var0 = random(1, 5);
    switch(var0)
    {
    case 1:
        ambientsound("IceStartMove", random(const:20, 90));
        break;
    case 2:
        ambientsound("EarthStartMove", random(const:50, 80));
        break;
    case 3:
        ambientsound("IceStartMove", random(const:50, 90));
        break;
    case 4:
        ambientsound("EarthStartMove", random(const:50, 80));
        break;
    case 5:
        ambientsound("IceStartMove", random(const:20, 60));
        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, 196);
    }
    var0 = random(const:0, 1);
    if(var0 == 1)
    {
        Thing_Spawn(253, T_ICEGOLEM, 0);
    }
    var0 = random(const:0, 1);
    if(var0 == 1)
    {
        Thing_Spawn(252, T_FIREGARGOYLE, 128);
    }
    var0 = random(const:0, 1);
    if(var0 == 1)
    {
        Thing_Spawn(251, T_ETTIN, 64);
    }
    var0 = random(const:0, 1);
    if(var0 == 1)
    {
        Thing_Spawn(250, T_ETTIN, 0);
    }
    var0 = random(const:0, 1);
    if(var0 == 1)
    {
        Thing_Spawn(249, T_ETTIN, 0);
    }
    var0 = random(const:0, 1);
    if(var0 == 1)
    {
        Thing_Spawn(248, T_FIREGARGOYLE, 64);
    }
    restart;
}


// ==================================================
// Strings:

// [  0] 'MaulatorHamSwing'
// [  1] 'FIRE14'
// [  2] 'X_001'
// [  3] 'X_005'
// [  4] 'F_032'
// [  5] 'FreezeDeath'
// [  6] 'F_033'
// [  7] 'IceGuyAttack'
// [  8] 'FireDemonAttack'
// [  9] 'spawn06'
// [ 10] 'spawn07'
// [ 11] 'spawn05'
// [ 12] 'THIS PATH IS BARRED'
// [ 13] 'IceStartMove'
// [ 14] 'EarthStartMove'

Share this post


Link to post
Gez said:

Doom Builder does.
Doom Builder 2 doesn't.

Well I hope it does by the time I switch to DB2. -_-

Share this post


Link to post
printz said:

Well I hope it does by the time I switch to DB2. -_-

I wouldn't have thought it would be an issue anyway - it's not like you should be decompiling things constantly anyway. If you have a map that you don't have the source code for because you've lost it or someone else made it, you can just do a one-off run of the decompiler and copy the generated code. You certainly shouldn't be constantly compiling and decompiling scripts.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×