mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-11 15:21:51 +00:00
3f5bf88d69
- fixed: FxAssignSelf did not the correct number of registers for vector operations. - fixed a few asserts in vector2 instructions. - turned the virtual AActor::HitFloor method into a flag MF7_SMASHABLE. The only use of this function was to kill Hexen's pottery when they hit the floor, and this looks like something that can be exposed to modders less clumsily.
756 lines
9.6 KiB
Text
756 lines
9.6 KiB
Text
|
|
// 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
|
|
{
|
|
Default
|
|
{
|
|
Health 15;
|
|
Speed 10;
|
|
Height 32;
|
|
+SOLID +SHOOTABLE +NOBLOOD +DROPOFF +SMASHABLE
|
|
+SLIDESONWALLS +PUSHABLE +TELESTOMP +CANPASS
|
|
+NOICEDEATH
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
native void A_PotteryChooseBit();
|
|
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
|
|
}
|
|
|
|
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";
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
native void A_LeafThrust();
|
|
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";
|
|
}
|
|
|
|
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";
|
|
}
|
|
|
|
native void A_BellReset1();
|
|
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;
|
|
}
|
|
}
|
|
|