mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-12-20 17:41:13 +00:00
3af9232fca
- Changed the glass shards so that they do not have to override FloorBounceMissile. It was the only place where this was virtually overridden and provided little usefulness. - made 'out' variables work. - fixed virtual call handling for HandlePickup.
374 lines
3.4 KiB
Text
374 lines
3.4 KiB
Text
|
|
// Rocks --------------------------------------------------------------------
|
|
|
|
class Rock1 : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+DROPOFF
|
|
+MISSILE
|
|
+NOTELEPORT
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
ROKK A 20;
|
|
Loop;
|
|
Death:
|
|
ROKK A 10;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class Rock2 : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+DROPOFF
|
|
+MISSILE
|
|
+NOTELEPORT
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
ROKK B 20;
|
|
Loop;
|
|
Death:
|
|
ROKK B 10;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
|
|
class Rock3 : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+DROPOFF
|
|
+MISSILE
|
|
+NOTELEPORT
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
ROKK C 20;
|
|
Loop;
|
|
Death:
|
|
ROKK C 10;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
|
|
// Dirt --------------------------------------------------------------------
|
|
|
|
class Dirt1 : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+DROPOFF
|
|
+MISSILE
|
|
+NOTELEPORT
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
ROKK D 20;
|
|
Loop;
|
|
Death:
|
|
ROKK D 10;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class Dirt2 : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+DROPOFF
|
|
+MISSILE
|
|
+NOTELEPORT
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
ROKK E 20;
|
|
Loop;
|
|
Death:
|
|
ROKK E 10;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class Dirt3 : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+DROPOFF
|
|
+MISSILE
|
|
+NOTELEPORT
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
ROKK F 20;
|
|
Loop;
|
|
Death:
|
|
ROKK F 10;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class Dirt4 : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+DROPOFF
|
|
+MISSILE
|
|
+NOTELEPORT
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
ROKK G 20;
|
|
Loop;
|
|
Death:
|
|
ROKK G 10;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class Dirt5 : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+DROPOFF
|
|
+MISSILE
|
|
+NOTELEPORT
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
ROKK H 20;
|
|
Loop;
|
|
Death:
|
|
ROKK H 10;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class Dirt6 : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+DROPOFF
|
|
+MISSILE
|
|
+NOTELEPORT
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
ROKK I 20;
|
|
Loop;
|
|
Death:
|
|
ROKK I 10;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Stained glass ------------------------------------------------------------
|
|
|
|
class GlassShard : Actor
|
|
{
|
|
Default
|
|
{
|
|
Radius 5;
|
|
Mass 5;
|
|
Projectile;
|
|
-ACTIVATEPCROSS
|
|
-ACTIVATEIMPACT
|
|
BounceType "HexenCompat";
|
|
BounceFactor 0.3;
|
|
}
|
|
|
|
override void Tick()
|
|
{
|
|
Super.Tick();
|
|
if (Vel.Z > 0 && Vel.Z < 0.5 && pos.z < floorz + 1)
|
|
{
|
|
Destroy ();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
class SGShard1 : GlassShard
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
SGSA ABCDE 4;
|
|
Loop;
|
|
Death:
|
|
SGSA E 30;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class SGShard2 : GlassShard
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
SGSA FGHIJ 4;
|
|
Loop;
|
|
Death:
|
|
SGSA J 30;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class SGShard3 : GlassShard
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
SGSA KLMNO 4;
|
|
Loop;
|
|
Death:
|
|
SGSA O 30;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class SGShard4 : GlassShard
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
SGSA PQRST 4;
|
|
Loop;
|
|
Death:
|
|
SGSA T 30;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class SGShard5 : GlassShard
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
SGSA UVWXY 4;
|
|
Loop;
|
|
Death:
|
|
SGSA Y 30;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class SGShard6 : GlassShard
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
SGSB A 4;
|
|
Loop;
|
|
Death:
|
|
SGSB A 30;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class SGShard7 : GlassShard
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
SGSB B 4;
|
|
Loop;
|
|
Death:
|
|
SGSB B 30;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class SGShard8 : GlassShard
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
SGSB C 4;
|
|
Loop;
|
|
Death:
|
|
SGSB C 30;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class SGShard9 : GlassShard
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
SGSB D 4;
|
|
Loop;
|
|
Death:
|
|
SGSB D 30;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class SGShard0 : GlassShard
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
SGSB E 4;
|
|
Loop;
|
|
Death:
|
|
SGSB E 30;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class GlassJunk : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOCLIP
|
|
+NOBLOCKMAP
|
|
RenderStyle "Translucent";
|
|
Alpha 0.4;
|
|
Health 3; // Number of different shards
|
|
}
|
|
States
|
|
{
|
|
// Are the first three frames used anywhere?
|
|
SHAR A 128;
|
|
Goto Death;
|
|
SHAR B 128;
|
|
Goto Death;
|
|
SHAR C 128;
|
|
Goto Death;
|
|
Spawn:
|
|
SHAR D 128;
|
|
Goto Death;
|
|
SHAR E 128;
|
|
Goto Death;
|
|
SHAR F 128;
|
|
Goto Death;
|
|
Death:
|
|
"----" A 1 A_FadeOut(0.03);
|
|
Wait;
|
|
}
|
|
}
|