- more Hexen conversions.

This commit is contained in:
Christoph Oelckers 2016-10-18 00:49:13 +02:00
parent d66631478a
commit 4aecc4f565
10 changed files with 2714 additions and 2289 deletions

View File

@ -1,65 +0,0 @@
// Mesh Armor (1) -----------------------------------------------------------
ACTOR MeshArmor : HexenArmor
{
+NOGRAVITY
Health 0 // Armor class
Inventory.Amount 0
Inventory.PickupMessage "$TXT_ARMOR1"
States
{
Spawn:
AR_1 A -1
Stop
}
}
// Falcon Shield (2) --------------------------------------------------------
ACTOR FalconShield : HexenArmor
{
+NOGRAVITY
Health 1 // Armor class
Inventory.Amount 0
Inventory.PickupMessage "$TXT_ARMOR2"
States
{
Spawn:
AR_2 A -1
Stop
}
}
// Platinum Helm (3) --------------------------------------------------------
ACTOR PlatinumHelm : HexenArmor
{
+NOGRAVITY
Health 2 // Armor class
Inventory.Amount 0
Inventory.PickupMessage "$TXT_ARMOR3"
States
{
Spawn:
AR_3 A -1
Stop
}
}
// Amulet of Warding (4) ----------------------------------------------------
ACTOR AmuletOfWarding : HexenArmor
{
+NOGRAVITY
Health 3 // Armor class
Inventory.Amount 0
Inventory.PickupMessage "$TXT_ARMOR4"
States
{
Spawn:
AR_4 A -1
Stop
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,139 +0,0 @@
ACTOR HexenKey : Key
{
Radius 8
Height 20
}
ACTOR KeySteel : HexenKey
{
Inventory.Icon KEYSLOT1
Inventory.PickupMessage "$TXT_KEY_STEEL"
States
{
Spawn:
KEY1 A -1
Stop
}
}
ACTOR KeyCave : HexenKey
{
Inventory.Icon KEYSLOT2
Inventory.PickupMessage "$TXT_KEY_CAVE"
States
{
Spawn:
KEY2 A -1
Stop
}
}
ACTOR KeyAxe : HexenKey
{
Inventory.Icon KEYSLOT3
Inventory.PickupMessage "$TXT_KEY_AXE"
States
{
Spawn:
KEY3 A -1
Stop
}
}
ACTOR KeyFire : HexenKey
{
Inventory.Icon KEYSLOT4
Inventory.PickupMessage "$TXT_KEY_FIRE"
States
{
Spawn:
KEY4 A -1
Stop
}
}
ACTOR KeyEmerald : HexenKey
{
Inventory.Icon KEYSLOT5
Inventory.PickupMessage "$TXT_KEY_EMERALD"
States
{
Spawn:
KEY5 A -1
Stop
}
}
ACTOR KeyDungeon : HexenKey
{
Inventory.Icon KEYSLOT6
Inventory.PickupMessage "$TXT_KEY_DUNGEON"
States
{
Spawn:
KEY6 A -1
Stop
}
}
ACTOR KeySilver : HexenKey
{
Inventory.Icon KEYSLOT7
Inventory.PickupMessage "$TXT_KEY_SILVER"
States
{
Spawn:
KEY7 A -1
Stop
}
}
ACTOR KeyRusted : HexenKey
{
Inventory.Icon KEYSLOT8
Inventory.PickupMessage "$TXT_KEY_RUSTED"
States
{
Spawn:
KEY8 A -1
Stop
}
}
ACTOR KeyHorn : HexenKey
{
Inventory.Icon KEYSLOT9
Inventory.PickupMessage "$TXT_KEY_HORN"
States
{
Spawn:
KEY9 A -1
Stop
}
}
ACTOR KeySwamp : HexenKey
{
Inventory.Icon KEYSLOTA
Inventory.PickupMessage "$TXT_KEY_SWAMP"
States
{
Spawn:
KEYA A -1
Stop
}
}
ACTOR KeyCastle : HexenKey
{
Inventory.Icon KEYSLOTB
Inventory.PickupMessage "$TXT_KEY_CASTLE"
States
{
Spawn:
KEYB A -1
Stop
}
}

View File

@ -1,684 +0,0 @@
// Winged Statue (no skull) -------------------------------------------------
ACTOR ZWingedStatueNoSkull : SwitchingDecoration
{
Radius 10
Height 62
+SOLID
States
{
Spawn:
STWN A -1
Stop
Active:
STWN B -1
Stop
}
}
// Gem pedestal -------------------------------------------------------------
ACTOR ZGemPedestal : SwitchingDecoration
{
Radius 10
Height 40
+SOLID
States
{
Spawn:
GMPD A -1
Stop
Active:
GMPD B -1
Stop
}
}
// Tree (destructible) ------------------------------------------------------
ACTOR TreeDestructible
{
Health 70
Radius 15
Height 180
DeathHeight 24
Mass 0x7fffffff
PainSound "TreeExplode"
DeathSound "TreeBreak"
+SOLID +SHOOTABLE +NOBLOOD +NOICEDEATH
States
{
Spawn:
TRDT A -1
Stop
Death:
TRDT B 5
TRDT C 5 A_Scream
TRDT DEF 5
TRDT G -1
Stop
Burn:
TRDT H 5 Bright A_Pain
TRDT IJKL 5 Bright
TRDT M 5 Bright A_Explode(10, 128)
TRDT N 5 Bright
TRDT OP 5
TRDT Q -1
Stop
}
}
// Pottery1 ------------------------------------------------------------------
ACTOR Pottery1 native
{
Health 15
Speed 10
Height 32
+SOLID +SHOOTABLE +NOBLOOD +DROPOFF
+SLIDESONWALLS +PUSHABLE +TELESTOMP +CANPASS
+NOICEDEATH
action native A_PotteryExplode();
States
{
Spawn:
POT1 A -1
Loop
Death:
POT1 A 0 A_PotteryExplode
Stop
}
}
// Pottery2 -----------------------------------------------------------------
ACTOR Pottery2 : Pottery1
{
Height 25
States
{
Spawn:
POT2 A -1
Stop
}
}
// Pottery3 -----------------------------------------------------------------
ACTOR Pottery3 : Pottery1
{
Height 25
States
{
Spawn:
POT3 A -1
Stop
}
}
// Pottery Bit --------------------------------------------------------------
ACTOR PotteryBit
{
Radius 5
Height 5
+MISSILE
+NOTELEPORT
+NOICEDEATH
action native A_PotteryChooseBit();
action native A_PotteryCheck();
States
{
Spawn:
PBIT ABCDE -1
Stop
Death:
PBIT F 0 A_PotteryChooseBit
Stop
Pottery1:
PBIT F 140
PBIT F 1 A_PotteryCheck
Stop
Pottery2:
PBIT G 140
PBIT G 1 A_PotteryCheck
Stop
Pottery3:
PBIT H 140
PBIT H 1 A_PotteryCheck
Stop
Pottery4:
PBIT I 140
PBIT I 1 A_PotteryCheck
Stop
Pottery5:
PBIT J 140
PBIT J 1 A_PotteryCheck
Stop
}
}
// Blood pool ---------------------------------------------------------------
ACTOR BloodPool
{
States
{
Spawn:
BDPL A -1
Stop
}
}
// Lynched corpse (no heart) ------------------------------------------------
ACTOR ZCorpseLynchedNoHeart native
{
Radius 10
Height 100
+SOLID +SPAWNCEILING +NOGRAVITY
action native A_CorpseBloodDrip();
States
{
Spawn:
CPS5 A 140 A_CorpseBloodDrip
Loop
}
}
// CorpseBloodDrip ----------------------------------------------------------
ACTOR CorpseBloodDrip
{
Radius 1
Height 4
Gravity 0.125
+MISSILE
+NOICEDEATH
DeathSound "Drip"
States
{
Spawn:
BDRP A -1
Stop
Death:
BDSH AB 3
BDSH CD 2
Stop
}
}
// Corpse bit ---------------------------------------------------------------
ACTOR CorpseBit
{
Radius 5
Height 5
+NOBLOCKMAP
+TELESTOMP
States
{
Spawn:
CPB1 A -1
Stop
CPB2 A -1
Stop
CPB3 A -1
Stop
CPB4 A -1
Stop
}
}
// Corpse (sitting, splatterable) -------------------------------------------
ACTOR ZCorpseSitting
{
Health 30
Radius 15
Height 35
+SOLID +SHOOTABLE +NOBLOOD
+NOICEDEATH
DeathSound "FireDemonDeath"
action native A_CorpseExplode();
States
{
Spawn:
CPS6 A -1
Stop
Death:
CPS6 A 1 A_CorpseExplode
Stop
}
}
// Leaf Spawner -------------------------------------------------------------
ACTOR LeafSpawner
{
+NOBLOCKMAP +NOSECTOR
+INVISIBLE
action native A_LeafSpawn();
States
{
Spawn:
TNT1 A 20 A_LeafSpawn
Loop
}
}
// Leaf 1 -------------------------------------------------------------------
ACTOR Leaf1
{
Radius 2
Height 4
Gravity 0.125
+NOBLOCKMAP +MISSILE
+NOTELEPORT +DONTSPLASH
+NOICEDEATH
action native A_LeafThrust();
action native A_LeafCheck();
States
{
Spawn:
LEF1 ABC 4
LEF1 D 4 A_LeafThrust
LEF1 EFG 4
LEF1 H 4 A_LeafThrust
LEF1 I 4
LEF1 AB 4
LEF1 C 4 A_LeafThrust
LEF1 DEF 4
LEF1 G 4 A_LeafThrust
LEF1 HI 4
Stop
Death:
LEF3 D 10 A_LeafCheck
Wait
}
}
// Leaf 2 -------------------------------------------------------------------
ACTOR Leaf2 : Leaf1
{
States
{
Spawn:
LEF2 ABC 4
LEF2 D 4 A_LeafThrust
LEF2 EFG 4
LEF2 H 4 A_LeafThrust
LEF2 I 4
LEF2 AB 4
LEF2 C 4 A_LeafThrust
LEF2 DEF 4
LEF2 G 4 A_LeafThrust
LEF2 HI 4
Stop
}
}
// Twined torch -------------------------------------------------------------
ACTOR ZTwinedTorch : SwitchableDecoration
{
Radius 10
Height 64
+SOLID
States
{
Active:
TWTR A 0 Bright A_PlaySound("Ignite")
Spawn:
TWTR ABCDEFGH 4 Bright
Loop
Inactive:
TWTR I -1
Stop
}
}
ACTOR ZTwinedTorchUnlit : ZTwinedTorch
{
States
{
Spawn:
Goto Super::Inactive
}
}
// Wall torch ---------------------------------------------------------------
ACTOR ZWallTorch : SwitchableDecoration
{
+NOBLOCKMAP
+NOGRAVITY
+FIXMAPTHINGPOS
Radius 6.5
States
{
Active:
WLTR A 0 Bright A_PlaySound("Ignite")
Spawn:
WLTR ABCDEFGH 5 Bright
Loop
Inactive:
WLTR I -1
Stop
}
}
ACTOR ZWallTorchUnlit : ZWallTorch
{
States
{
Spawn:
Goto Super::Inactive
}
}
// Shrub1 -------------------------------------------------------------------
ACTOR ZShrub1
{
Radius 8
Height 24
Health 20
Mass 0x7fffffff
+SOLID +SHOOTABLE +NOBLOOD +NOICEDEATH
DeathSound "TreeExplode"
States
{
Spawn:
SHB1 A -1
Stop
Burn:
SHB1 B 7 Bright
SHB1 C 6 Bright A_Scream
SHB1 D 5 Bright
Stop
}
}
// Shrub2 -------------------------------------------------------------------
ACTOR ZShrub2
{
Radius 16
Height 40
Health 20
Mass 0x7fffffff
+SOLID +SHOOTABLE +NOBLOOD +NOICEDEATH
DeathSound "TreeExplode"
States
{
Spawn:
SHB2 A -1
Stop
Burn:
SHB2 B 7 Bright
SHB2 C 6 Bright A_Scream
SHB2 D 5 Bright A_Explode(30, 64)
SHB2 E 5 Bright
Stop
}
}
// Fire Bull ----------------------------------------------------------------
ACTOR ZFireBull : SwitchableDecoration
{
Radius 20
Height 80
+SOLID
States
{
Active:
FBUL I 4 Bright A_PlaySound("Ignite")
FBUL J 4 Bright
Spawn:
FBUL ABCDEFG 4 Bright
Loop
Inactive:
FBUL JI 4 Bright
FBUL H -1
Stop
}
}
ACTOR ZFireBullUnlit : ZFireBull
{
States
{
Spawn:
Goto Super::Inactive+2
}
}
// Suit of armor ------------------------------------------------------------
ACTOR ZSuitOfArmor
{
Health 60
Radius 16
Height 72
Mass 0x7fffffff
+SOLID +SHOOTABLE +NOBLOOD
+NOICEDEATH
DeathSound "SuitofArmorBreak"
action native A_SoAExplode();
States
{
Spawn:
ZSUI A -1
Stop
Death:
ZSUI A 1 A_SoAExplode
Stop
}
}
// Armor chunk --------------------------------------------------------------
ACTOR ZArmorChunk
{
Radius 4
Height 8
States
{
Spawn:
ZSUI B -1
Stop
ZSUI C -1
Stop
ZSUI D -1
Stop
ZSUI E -1
Stop
ZSUI F -1
Stop
ZSUI G -1
Stop
ZSUI H -1
Stop
ZSUI I -1
Stop
ZSUI J -1
Stop
ZSUI K -1
Stop
}
}
// Bell ---------------------------------------------------------------------
ACTOR ZBell native
{
Health 5
Radius 56
Height 120
Mass 0x7fffffff
+SOLID +SHOOTABLE +NOBLOOD +NOGRAVITY +SPAWNCEILING
+NOICEDEATH
DeathSound "BellRing"
action native A_BellReset1();
action native A_BellReset2();
States
{
Spawn:
BBLL F -1
Stop
Death:
BBLL A 4 A_BellReset1
BBLL BC 4
BBLL D 5 A_Scream
BBLL CB 4
BBLL A 3
BBLL E 4
BBLL F 5
BBLL G 6 A_Scream
BBLL F 5
BBLL EA 4
BBLL BC 5
BBLL D 6 A_Scream
BBLL CB 5
BBLL A 4
BBLL EF 5
BBLL G 7 A_Scream
BBLL FEA 5
BBLL B 6
BBLL C 6
BBLL D 7 A_Scream
BBLL CB 6
BBLL A 5
BBLL EF 6
BBLL G 7 A_Scream
BBLL FEABC 6
BBLL B 7
BBLL A 8
BBLL E 12
BBLL A 10
BBLL B 12
BBLL A 12
BBLL E 14
BBLL A 1 A_BellReset2
Goto Spawn
}
}
// "Christmas" Tree ---------------------------------------------------------
ACTOR ZXmasTree
{
Radius 11
Height 130
Health 20
Mass 0x7fffffff
+SOLID +SHOOTABLE +NOBLOOD +NOICEDEATH
DeathSound "TreeExplode"
States
{
Spawn:
XMAS A -1
Stop
Burn:
XMAS B 6 Bright
XMAS C 6 Bright A_Scream
XMAS D 5 Bright
XMAS E 5 Bright A_Explode(30, 64)
XMAS F 5 Bright
XMAS G 4 Bright
XMAS H 5
XMAS I 4 A_NoBlocking
XMAS J 4
XMAS K -1
Stop
}
}
// Cauldron -----------------------------------------------------------------
ACTOR ZCauldron : SwitchableDecoration
{
Radius 12
Height 26
+SOLID
States
{
Active:
CDRN B 0 Bright A_PlaySound("Ignite")
Spawn:
CDRN BCDEFGH 4 Bright
Loop
Inactive:
CDRN A -1
Stop
}
}
ACTOR ZCauldronUnlit : ZCauldron
{
States
{
Spawn:
Goto Super::Inactive
}
}
// Water Drip ---------------------------------------------------------------
ACTOR HWaterDrip
{
+MISSILE
+LOWGRAVITY
+NOTELEPORT
Mass 1
DeathSound "Drip"
States
{
Spawn:
HWAT A -1
Stop
}
}

View File

@ -1,7 +1,3 @@
#include "actors/hexen/hexenarmor.txt"
#include "actors/hexen/hexendecorations.txt"
#include "actors/hexen/hexenkeys.txt"
#include "actors/hexen/hexenspecialdecs.txt"
#include "actors/hexen/mana.txt"
#include "actors/hexen/puzzleitems.txt"
#include "actors/hexen/scriptprojectiles.txt"

View File

@ -93,11 +93,11 @@ zscript/hexen/mageplayer.txt
zscript/hexen/pig.txt
zscript/hexen/flame.txt
zscript/hexen/flies.txt
/*
zscript/hexen/hexenarmor.txt
zscript/hexen/hexendecorations.txt
zscript/hexen/hexenkeys.txt
zscript/hexen/hexenspecialdecs.txt
/*
zscript/hexen/mana.txt
zscript/hexen/puzzleitems.txt
zscript/hexen/scriptprojectiles.txt

View File

@ -0,0 +1,77 @@
// Mesh Armor (1) -----------------------------------------------------------
class MeshArmor : HexenArmor
{
Default
{
+NOGRAVITY
Health 0; // Armor class
Inventory.Amount 0;
Inventory.PickupMessage "$TXT_ARMOR1";
}
States
{
Spawn:
AR_1 A -1;
Stop;
}
}
// Falcon Shield (2) --------------------------------------------------------
class FalconShield : HexenArmor
{
Default
{
+NOGRAVITY
Health 1; // Armor class
Inventory.Amount 0;
Inventory.PickupMessage "$TXT_ARMOR2";
}
States
{
Spawn:
AR_2 A -1;
Stop;
}
}
// Platinum Helm (3) --------------------------------------------------------
class PlatinumHelm : HexenArmor
{
Default
{
+NOGRAVITY
Health 2; // Armor class
Inventory.Amount 0;
Inventory.PickupMessage "$TXT_ARMOR3";
}
States
{
Spawn:
AR_3 A -1;
Stop;
}
}
// Amulet of Warding (4) ----------------------------------------------------
class AmuletOfWarding : HexenArmor
{
Default
{
+NOGRAVITY
Health 3; // Armor class
Inventory.Amount 0;
Inventory.PickupMessage "$TXT_ARMOR4";
}
States
{
Spawn:
AR_4 A -1;
Stop;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,175 @@
class HexenKey : Key
{
Default
{
Radius 8;
Height 20;
}
}
class KeySteel : HexenKey
{
Default
{
Inventory.Icon "KEYSLOT1";
Inventory.PickupMessage "$TXT_KEY_STEEL";
}
States
{
Spawn:
KEY1 A -1;
Stop;
}
}
class KeyCave : HexenKey
{
Default
{
Inventory.Icon "KEYSLOT2";
Inventory.PickupMessage "$TXT_KEY_CAVE";
}
States
{
Spawn:
KEY2 A -1;
Stop;
}
}
class KeyAxe : HexenKey
{
Default
{
Inventory.Icon "KEYSLOT3";
Inventory.PickupMessage "$TXT_KEY_AXE";
}
States
{
Spawn:
KEY3 A -1;
Stop;
}
}
class KeyFire : HexenKey
{
Default
{
Inventory.Icon "KEYSLOT4";
Inventory.PickupMessage "$TXT_KEY_FIRE";
}
States
{
Spawn:
KEY4 A -1;
Stop;
}
}
class KeyEmerald : HexenKey
{
Default
{
Inventory.Icon "KEYSLOT5";
Inventory.PickupMessage "$TXT_KEY_EMERALD";
}
States
{
Spawn:
KEY5 A -1;
Stop;
}
}
class KeyDungeon : HexenKey
{
Default
{
Inventory.Icon "KEYSLOT6";
Inventory.PickupMessage "$TXT_KEY_DUNGEON";
}
States
{
Spawn:
KEY6 A -1;
Stop;
}
}
class KeySilver : HexenKey
{
Default
{
Inventory.Icon "KEYSLOT7";
Inventory.PickupMessage "$TXT_KEY_SILVER";
}
States
{
Spawn:
KEY7 A -1;
Stop;
}
}
class KeyRusted : HexenKey
{
Default
{
Inventory.Icon "KEYSLOT8";
Inventory.PickupMessage "$TXT_KEY_RUSTED";
}
States
{
Spawn:
KEY8 A -1;
Stop;
}
}
class KeyHorn : HexenKey
{
Default
{
Inventory.Icon "KEYSLOT9";
Inventory.PickupMessage "$TXT_KEY_HORN";
}
States
{
Spawn:
KEY9 A -1;
Stop;
}
}
class KeySwamp : HexenKey
{
Default
{
Inventory.Icon "KEYSLOTA";
Inventory.PickupMessage "$TXT_KEY_SWAMP";
}
States
{
Spawn:
KEYA A -1;
Stop;
}
}
class KeyCastle : HexenKey
{
Default
{
Inventory.Icon "KEYSLOTB";
Inventory.PickupMessage "$TXT_KEY_CASTLE";
}
States
{
Spawn:
KEYB A -1;
Stop;
}
}

View File

@ -0,0 +1,756 @@
// Winged Statue (no skull) -------------------------------------------------
class ZWingedStatueNoSkull : SwitchingDecoration
{
Default
{
Radius 10;
Height 62;
+SOLID
}
States
{
Spawn:
STWN A -1;
Stop;
Active:
STWN B -1;
Stop;
}
}
// Gem pedestal -------------------------------------------------------------
class ZGemPedestal : SwitchingDecoration
{
Default
{
Radius 10;
Height 40;
+SOLID
}
States
{
Spawn:
GMPD A -1;
Stop;
Active:
GMPD B -1;
Stop;
}
}
// Tree (destructible) ------------------------------------------------------
class TreeDestructible : Actor
{
Default
{
Health 70;
Radius 15;
Height 180;
DeathHeight 24;
Mass 0x7fffffff;
PainSound "TreeExplode";
DeathSound "TreeBreak";
+SOLID +SHOOTABLE +NOBLOOD +NOICEDEATH
}
States
{
Spawn:
TRDT A -1;
Stop;
Death:
TRDT B 5;
TRDT C 5 A_Scream;
TRDT DEF 5;
TRDT G -1;
Stop;
Burn:
TRDT H 5 Bright A_Pain;
TRDT IJKL 5 Bright;
TRDT M 5 Bright A_Explode(10, 128);
TRDT N 5 Bright;
TRDT OP 5;
TRDT Q -1;
Stop;
}
}
// Pottery1 ------------------------------------------------------------------
class Pottery1 : Actor native
{
Default
{
Health 15;
Speed 10;
Height 32;
+SOLID +SHOOTABLE +NOBLOOD +DROPOFF
+SLIDESONWALLS +PUSHABLE +TELESTOMP +CANPASS
+NOICEDEATH
}
action native void A_PotteryExplode();
States
{
Spawn:
POT1 A -1;
Loop;
Death:
POT1 A 0 A_PotteryExplode;
Stop;
}
}
// Pottery2 -----------------------------------------------------------------
class Pottery2 : Pottery1
{
Default
{
Height 25;
}
States
{
Spawn:
POT2 A -1;
Stop;
}
}
// Pottery3 -----------------------------------------------------------------
class Pottery3 : Pottery1
{
Default
{
Height 25;
}
States
{
Spawn:
POT3 A -1;
Stop;
}
}
// Pottery Bit --------------------------------------------------------------
class PotteryBit : Actor
{
Default
{
Radius 5;
Height 5;
+MISSILE
+NOTELEPORT
+NOICEDEATH
}
action native void A_PotteryChooseBit();
action native void A_PotteryCheck();
States
{
Spawn:
PBIT ABCDE -1;
Stop;
Death:
PBIT F 0 A_PotteryChooseBit;
Stop;
Pottery1:
PBIT F 140;
PBIT F 1 A_PotteryCheck;
Stop;
Pottery2:
PBIT G 140;
PBIT G 1 A_PotteryCheck;
Stop;
Pottery3:
PBIT H 140;
PBIT H 1 A_PotteryCheck;
Stop;
Pottery4:
PBIT I 140;
PBIT I 1 A_PotteryCheck;
Stop;
Pottery5:
PBIT J 140;
PBIT J 1 A_PotteryCheck;
Stop;
}
}
// Blood pool ---------------------------------------------------------------
class BloodPool : Actor
{
States
{
Spawn:
BDPL A -1;
Stop;
}
}
// Lynched corpse (no heart) ------------------------------------------------
class ZCorpseLynchedNoHeart : Actor native
{
Default
{
Radius 10;
Height 100;
+SOLID +SPAWNCEILING +NOGRAVITY
}
action native void A_CorpseBloodDrip();
States
{
Spawn:
CPS5 A 140 A_CorpseBloodDrip;
Loop;
}
}
// CorpseBloodDrip ----------------------------------------------------------
class CorpseBloodDrip : Actor
{
Default
{
Radius 1;
Height 4;
Gravity 0.125;
+MISSILE
+NOICEDEATH
DeathSound "Drip";
}
States
{
Spawn:
BDRP A -1;
Stop;
Death:
BDSH AB 3;
BDSH CD 2;
Stop;
}
}
// Corpse bit ---------------------------------------------------------------
class CorpseBit : Actor
{
Default
{
Radius 5;
Height 5;
+NOBLOCKMAP
+TELESTOMP
}
States
{
Spawn:
CPB1 A -1;
Stop;
CPB2 A -1;
Stop;
CPB3 A -1;
Stop;
CPB4 A -1;
Stop;
}
}
// Corpse (sitting, splatterable) -------------------------------------------
class ZCorpseSitting : Actor
{
Default
{
Health 30;
Radius 15;
Height 35;
+SOLID +SHOOTABLE +NOBLOOD
+NOICEDEATH
DeathSound "FireDemonDeath";
}
action native void A_CorpseExplode();
States
{
Spawn:
CPS6 A -1;
Stop;
Death:
CPS6 A 1 A_CorpseExplode;
Stop;
}
}
// Leaf Spawner -------------------------------------------------------------
class LeafSpawner : Actor
{
Default
{
+NOBLOCKMAP +NOSECTOR
+INVISIBLE
}
action native void A_LeafSpawn();
States
{
Spawn:
TNT1 A 20 A_LeafSpawn;
Loop;
}
}
// Leaf 1 -------------------------------------------------------------------
class Leaf1 : Actor
{
Default
{
Radius 2;
Height 4;
Gravity 0.125;
+NOBLOCKMAP +MISSILE
+NOTELEPORT +DONTSPLASH
+NOICEDEATH
}
action native void A_LeafThrust();
action native void A_LeafCheck();
States
{
Spawn:
LEF1 ABC 4;
LEF1 D 4 A_LeafThrust;
LEF1 EFG 4;
LEF1 H 4 A_LeafThrust;
LEF1 I 4;
LEF1 AB 4;
LEF1 C 4 A_LeafThrust;
LEF1 DEF 4;
LEF1 G 4 A_LeafThrust;
LEF1 HI 4;
Stop;
Death:
LEF3 D 10 A_LeafCheck;
Wait;
}
}
// Leaf 2 -------------------------------------------------------------------
class Leaf2 : Leaf1
{
States
{
Spawn:
LEF2 ABC 4;
LEF2 D 4 A_LeafThrust;
LEF2 EFG 4;
LEF2 H 4 A_LeafThrust;
LEF2 I 4;
LEF2 AB 4;
LEF2 C 4 A_LeafThrust;
LEF2 DEF 4;
LEF2 G 4 A_LeafThrust;
LEF2 HI 4;
Stop;
}
}
// Twined torch -------------------------------------------------------------
class ZTwinedTorch : SwitchableDecoration
{
Default
{
Radius 10;
Height 64;
+SOLID
}
States
{
Active:
TWTR A 0 Bright A_PlaySound("Ignite");
Spawn:
TWTR ABCDEFGH 4 Bright;
Loop;
Inactive:
TWTR I -1;
Stop;
}
}
class ZTwinedTorchUnlit : ZTwinedTorch
{
States
{
Spawn:
Goto Super::Inactive;
}
}
// Wall torch ---------------------------------------------------------------
class ZWallTorch : SwitchableDecoration
{
Default
{
+NOBLOCKMAP
+NOGRAVITY
+FIXMAPTHINGPOS
Radius 6.5;
}
States
{
Active:
WLTR A 0 Bright A_PlaySound("Ignite");
Spawn:
WLTR ABCDEFGH 5 Bright;
Loop;
Inactive:
WLTR I -1;
Stop;
}
}
class ZWallTorchUnlit : ZWallTorch
{
States
{
Spawn:
Goto Super::Inactive;
}
}
// Shrub1 -------------------------------------------------------------------
class ZShrub1 : Actor
{
Default
{
Radius 8;
Height 24;
Health 20;
Mass 0x7fffffff;
+SOLID +SHOOTABLE +NOBLOOD +NOICEDEATH
DeathSound "TreeExplode";
}
States
{
Spawn:
SHB1 A -1;
Stop;
Burn:
SHB1 B 7 Bright;
SHB1 C 6 Bright A_Scream;
SHB1 D 5 Bright;
Stop;
}
}
// Shrub2 -------------------------------------------------------------------
class ZShrub2 : Actor
{
Default
{
Radius 16;
Height 40;
Health 20;
Mass 0x7fffffff;
+SOLID +SHOOTABLE +NOBLOOD +NOICEDEATH
DeathSound "TreeExplode";
}
States
{
Spawn:
SHB2 A -1;
Stop;
Burn:
SHB2 B 7 Bright;
SHB2 C 6 Bright A_Scream;
SHB2 D 5 Bright A_Explode(30, 64);
SHB2 E 5 Bright;
Stop;
}
}
// Fire Bull ----------------------------------------------------------------
class ZFireBull : SwitchableDecoration
{
Default
{
Radius 20;
Height 80;
+SOLID
}
States
{
Active:
FBUL I 4 Bright A_PlaySound("Ignite");
FBUL J 4 Bright;
Spawn:
FBUL ABCDEFG 4 Bright;
Loop;
Inactive:
FBUL JI 4 Bright;
FBUL H -1;
Stop;
}
}
class ZFireBullUnlit : ZFireBull
{
States
{
Spawn:
Goto Super::Inactive+2;
}
}
// Suit of armor ------------------------------------------------------------
class ZSuitOfArmor : Actor
{
Default
{
Health 60;
Radius 16;
Height 72;
Mass 0x7fffffff;
+SOLID +SHOOTABLE +NOBLOOD
+NOICEDEATH
DeathSound "SuitofArmorBreak";
}
action native void A_SoAExplode();
States
{
Spawn:
ZSUI A -1;
Stop;
Death:
ZSUI A 1 A_SoAExplode;
Stop;
}
}
// Armor chunk --------------------------------------------------------------
class ZArmorChunk : Actor
{
Default
{
Radius 4;
Height 8;
}
States
{
Spawn:
ZSUI B -1;
Stop;
ZSUI C -1;
Stop;
ZSUI D -1;
Stop;
ZSUI E -1;
Stop;
ZSUI F -1;
Stop;
ZSUI G -1;
Stop;
ZSUI H -1;
Stop;
ZSUI I -1;
Stop;
ZSUI J -1;
Stop;
ZSUI K -1;
Stop;
}
}
// Bell ---------------------------------------------------------------------
class ZBell : Actor native
{
Default
{
Health 5;
Radius 56;
Height 120;
Mass 0x7fffffff;
+SOLID +SHOOTABLE +NOBLOOD +NOGRAVITY +SPAWNCEILING
+NOICEDEATH
DeathSound "BellRing";
}
action native void A_BellReset1();
action native void A_BellReset2();
States
{
Spawn:
BBLL F -1;
Stop;
Death:
BBLL A 4 A_BellReset1;
BBLL BC 4;
BBLL D 5 A_Scream;
BBLL CB 4;
BBLL A 3;
BBLL E 4;
BBLL F 5;
BBLL G 6 A_Scream;
BBLL F 5;
BBLL EA 4;
BBLL BC 5;
BBLL D 6 A_Scream;
BBLL CB 5;
BBLL A 4;
BBLL EF 5;
BBLL G 7 A_Scream;
BBLL FEA 5;
BBLL B 6;
BBLL C 6;
BBLL D 7 A_Scream;
BBLL CB 6;
BBLL A 5;
BBLL EF 6;
BBLL G 7 A_Scream;
BBLL FEABC 6;
BBLL B 7;
BBLL A 8;
BBLL E 12;
BBLL A 10;
BBLL B 12;
BBLL A 12;
BBLL E 14;
BBLL A 1 A_BellReset2;
Goto Spawn;
}
}
// "Christmas" Tree ---------------------------------------------------------
class ZXmasTree : Actor
{
Default
{
Radius 11;
Height 130;
Health 20;
Mass 0x7fffffff;
+SOLID +SHOOTABLE +NOBLOOD +NOICEDEATH
DeathSound "TreeExplode";
}
States
{
Spawn:
XMAS A -1;
Stop;
Burn:
XMAS B 6 Bright;
XMAS C 6 Bright A_Scream;
XMAS D 5 Bright;
XMAS E 5 Bright A_Explode(30, 64);
XMAS F 5 Bright;
XMAS G 4 Bright;
XMAS H 5;
XMAS I 4 A_NoBlocking;
XMAS J 4;
XMAS K -1;
Stop;
}
}
// Cauldron -----------------------------------------------------------------
class ZCauldron : SwitchableDecoration
{
Default
{
Radius 12;
Height 26;
+SOLID
}
States
{
Active:
CDRN B 0 Bright A_PlaySound("Ignite");
Spawn:
CDRN BCDEFGH 4 Bright;
Loop;
Inactive:
CDRN A -1;
Stop;
}
}
class ZCauldronUnlit : ZCauldron
{
States
{
Spawn:
Goto Super::Inactive;
}
}
// Water Drip ---------------------------------------------------------------
class HWaterDrip : Actor
{
Default
{
+MISSILE
+NOTELEPORT
Gravity 0.125;
Mass 1;
DeathSound "Drip";
}
States
{
Spawn:
HWAT A -1;
Stop;
}
}