mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-12-18 08:31:03 +00:00
371712c53a
- fixed emission of the self pointer in FxVMFunctionCall. I did not realize that the self expression only sets up a register for the value, not pushing it onto the stack.
307 lines
4.6 KiB
Text
307 lines
4.6 KiB
Text
|
|
|
|
// base for all spectral monsters which hurt when being touched--------------
|
|
|
|
class SpectralMonster : Actor native
|
|
{
|
|
Default
|
|
{
|
|
Monster;
|
|
+SPECIAL
|
|
+SPECTRAL
|
|
+NOICEDEATH
|
|
}
|
|
|
|
native void A_SpectreChunkSmall ();
|
|
native void A_SpectreChunkLarge ();
|
|
native void A_Spectre3Attack ();
|
|
native void A_SpotLightning ();
|
|
}
|
|
|
|
|
|
// Container for all spectral lightning deaths ------------------------------
|
|
|
|
class SpectralLightningBase : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOTELEPORT
|
|
+ACTIVATEIMPACT
|
|
+ACTIVATEPCROSS
|
|
+STRIFEDAMAGE
|
|
MaxStepHeight 4;
|
|
RenderStyle "Add";
|
|
SeeSound "weapons/sigil";
|
|
DeathSound "weapons/sigilhit";
|
|
}
|
|
States
|
|
{
|
|
Death:
|
|
ZAP1 B 3 A_Explode(32,32);
|
|
ZAP1 A 3 A_AlertMonsters;
|
|
ZAP1 BCDEFE 3;
|
|
ZAP1 DCB 2;
|
|
ZAP1 A 1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Spectral Lightning death that does not explode ---------------------------
|
|
|
|
class SpectralLightningDeath1 : SpectralLightningBase
|
|
{
|
|
States
|
|
{
|
|
Death:
|
|
Goto Super::Death+1;
|
|
}
|
|
}
|
|
|
|
// Spectral Lightning death that does not alert monsters --------------------
|
|
|
|
class SpectralLightningDeath2 : SpectralLightningBase
|
|
{
|
|
States
|
|
{
|
|
Death:
|
|
Goto Super::Death+2;
|
|
}
|
|
}
|
|
|
|
// Spectral Lightning death that is shorter than the rest -------------------
|
|
|
|
class SpectralLightningDeathShort : SpectralLightningBase
|
|
{
|
|
States
|
|
{
|
|
Death:
|
|
Goto Super::Death+6;
|
|
}
|
|
}
|
|
|
|
// Spectral Lightning (Ball Shaped #1) --------------------------------------
|
|
|
|
class SpectralLightningBall1 : SpectralLightningBase
|
|
{
|
|
Default
|
|
{
|
|
Speed 30;
|
|
Radius 8;
|
|
Height 16;
|
|
Damage 70;
|
|
Projectile;
|
|
+SPECTRAL
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
ZOT3 ABCDE 4 Bright;
|
|
Loop;
|
|
}
|
|
}
|
|
|
|
// Spectral Lightning (Ball Shaped #2) --------------------------------------
|
|
|
|
class SpectralLightningBall2 : SpectralLightningBall1
|
|
{
|
|
Default
|
|
{
|
|
Damage 20;
|
|
}
|
|
}
|
|
|
|
// Spectral Lightning (Horizontal #1) ---------------------------------------
|
|
|
|
class SpectralLightningH1 : SpectralLightningBase
|
|
{
|
|
Default
|
|
{
|
|
Speed 30;
|
|
Radius 8;
|
|
Height 16;
|
|
Damage 70;
|
|
Projectile;
|
|
+SPECTRAL
|
|
}
|
|
|
|
native void A_SpectralLightningTail ();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
ZAP6 A 4 Bright;
|
|
ZAP6 BC 4 Bright A_SpectralLightningTail;
|
|
Loop;
|
|
}
|
|
}
|
|
|
|
|
|
// Spectral Lightning (Horizontal #2) -------------------------------------
|
|
|
|
class SpectralLightningH2 : SpectralLightningH1
|
|
{
|
|
Default
|
|
{
|
|
Damage 20;
|
|
}
|
|
}
|
|
|
|
// Spectral Lightning (Horizontal #3) -------------------------------------
|
|
|
|
class SpectralLightningH3 : SpectralLightningH1
|
|
{
|
|
Default
|
|
{
|
|
Damage 10;
|
|
}
|
|
}
|
|
|
|
// ASpectralLightningHTail --------------------------------------------------
|
|
|
|
class SpectralLightningHTail : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+NOGRAVITY
|
|
+DROPOFF
|
|
RenderStyle "Add";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
ZAP6 ABC 5 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Spectral Lightning (Big Ball #1) -----------------------------------------
|
|
|
|
class SpectralLightningBigBall1 : SpectralLightningDeath2
|
|
{
|
|
Default
|
|
{
|
|
Speed 18;
|
|
Radius 20;
|
|
Height 40;
|
|
Damage 130;
|
|
Projectile;
|
|
+SPECTRAL
|
|
}
|
|
|
|
native void A_SpectralBigBallLightning ();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
ZAP7 AB 4 Bright A_SpectralBigBallLightning;
|
|
ZAP7 CDE 6 Bright A_SpectralBigBallLightning;
|
|
Loop;
|
|
}
|
|
}
|
|
|
|
|
|
// Spectral Lightning (Big Ball #2 - less damaging) -------------------------
|
|
|
|
class SpectralLightningBigBall2 : SpectralLightningBigBall1
|
|
{
|
|
Default
|
|
{
|
|
Damage 30;
|
|
}
|
|
}
|
|
|
|
// Sigil Lightning (Vertical #1) --------------------------------------------
|
|
|
|
class SpectralLightningV1 : SpectralLightningDeathShort
|
|
{
|
|
Default
|
|
{
|
|
Speed 22;
|
|
Radius 8;
|
|
Height 24;
|
|
Damage 100;
|
|
Projectile;
|
|
DamageType "SpectralLow";
|
|
+SPECTRAL
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
ZOT1 AB 4 Bright;
|
|
ZOT1 CDE 6 Bright;
|
|
Loop;
|
|
}
|
|
}
|
|
|
|
// Sigil Lightning (Vertical #2 - less damaging) ----------------------------
|
|
|
|
class SpectralLightningV2 : SpectralLightningV1
|
|
{
|
|
Default
|
|
{
|
|
Damage 50;
|
|
}
|
|
}
|
|
|
|
// Sigil Lightning Spot (roams around dropping lightning from above) --------
|
|
|
|
class SpectralLightningSpot : SpectralLightningDeath1
|
|
{
|
|
Default
|
|
{
|
|
Speed 18;
|
|
ReactionTime 70;
|
|
+NOBLOCKMAP
|
|
+NOBLOCKMONST
|
|
+NODROPOFF
|
|
RenderStyle "Translucent";
|
|
Alpha 0.6;
|
|
}
|
|
|
|
native void A_SpectralLightning ();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
ZAP5 A 4 Bright A_Countdown;
|
|
ZAP5 B 4 Bright A_SpectralLightning;
|
|
ZAP5 CD 4 Bright A_Countdown;
|
|
Loop;
|
|
}
|
|
}
|
|
|
|
// Sigil Lightning (Big Vertical #1) ----------------------------------------
|
|
|
|
class SpectralLightningBigV1 : SpectralLightningDeath1
|
|
{
|
|
Default
|
|
{
|
|
Speed 28;
|
|
Radius 8;
|
|
Height 16;
|
|
Damage 120;
|
|
Projectile;
|
|
+SPECTRAL
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
ZOT2 ABCDE 4 Bright A_Tracer2;
|
|
Loop;
|
|
}
|
|
}
|
|
|
|
// Actor 90 -----------------------------------------------------------------
|
|
|
|
class SpectralLightningBigV2 : SpectralLightningBigV1
|
|
{
|
|
Default
|
|
{
|
|
Damage 60;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|