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.
236 lines
3.5 KiB
Text
236 lines
3.5 KiB
Text
|
|
// FireDemon ----------------------------------------------------------------
|
|
|
|
class FireDemon : Actor
|
|
{
|
|
Default
|
|
{
|
|
Health 80;
|
|
ReactionTime 8;
|
|
PainChance 1;
|
|
Speed 13;
|
|
Radius 20;
|
|
Height 68;
|
|
Mass 75;
|
|
Damage 1;
|
|
Monster;
|
|
+DROPOFF +NOGRAVITY +FLOAT
|
|
+FLOORCLIP +INVULNERABLE +TELESTOMP
|
|
SeeSound "FireDemonSpawn";
|
|
PainSound "FireDemonPain";
|
|
DeathSound "FireDemonDeath";
|
|
ActiveSound "FireDemonActive";
|
|
Obituary "$OB_FIREDEMON";
|
|
}
|
|
|
|
native void A_FiredRocks();
|
|
native void A_FiredChase();
|
|
native void A_FiredAttack();
|
|
native void A_FiredSplotch();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
FDMN X 5 Bright;
|
|
FDMN EFG 10 Bright A_Look;
|
|
Goto Spawn + 1;
|
|
See:
|
|
FDMN E 8 Bright;
|
|
FDMN F 6 Bright;
|
|
FDMN G 5 Bright;
|
|
FDMN F 8 Bright;
|
|
FDMN E 6 Bright;
|
|
FDMN G 7 Bright A_FiredRocks;
|
|
FDMN HI 5 Bright;
|
|
FDMN J 5 Bright A_UnSetInvulnerable;
|
|
Chase:
|
|
FDMN ABC 5 Bright A_FiredChase;
|
|
Loop;
|
|
Pain:
|
|
FDMN D 0 Bright A_UnSetInvulnerable;
|
|
FDMN D 6 Bright A_Pain;
|
|
Goto Chase;
|
|
Missile:
|
|
FDMN K 3 Bright A_FaceTarget;
|
|
FDMN KKK 5 Bright A_FiredAttack;
|
|
Goto Chase;
|
|
Crash:
|
|
XDeath:
|
|
FDMN M 5 A_FaceTarget;
|
|
FDMN N 5 A_NoBlocking;
|
|
FDMN O 5 A_FiredSplotch;
|
|
Stop;
|
|
Death:
|
|
FDMN D 4 Bright A_FaceTarget;
|
|
FDMN L 4 Bright A_Scream;
|
|
FDMN L 4 Bright A_NoBlocking;
|
|
FDMN L 200 Bright;
|
|
Stop;
|
|
Ice:
|
|
FDMN R 5 A_FreezeDeath;
|
|
FDMN R 1 A_FreezeDeathChunks;
|
|
Wait;
|
|
}
|
|
}
|
|
|
|
// FireDemonSplotch1 -------------------------------------------------------
|
|
|
|
class FireDemonSplotch1 : Actor
|
|
{
|
|
Default
|
|
{
|
|
ReactionTime 8;
|
|
Radius 3;
|
|
Height 16;
|
|
Mass 100;
|
|
+DROPOFF +CORPSE
|
|
+NOTELEPORT +FLOORCLIP
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
FDMN P 3;
|
|
FDMN P 6 A_QueueCorpse;
|
|
FDMN Y -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// FireDemonSplotch2 -------------------------------------------------------
|
|
|
|
class FireDemonSplotch2 : FireDemonSplotch1
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
FDMN Q 3;
|
|
FDMN Q 6 A_QueueCorpse;
|
|
FDMN Z -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// FireDemonRock1 ------------------------------------------------------------
|
|
|
|
class FireDemonRock1 : Actor
|
|
{
|
|
Default
|
|
{
|
|
ReactionTime 8;
|
|
Radius 3;
|
|
Height 5;
|
|
Mass 16;
|
|
+NOBLOCKMAP +DROPOFF +MISSILE
|
|
+NOTELEPORT
|
|
}
|
|
|
|
native void A_SmBounce();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
FDMN S 4;
|
|
Loop;
|
|
Death:
|
|
FDMN S 5 A_SmBounce;
|
|
XDeath:
|
|
FDMN S 200;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// FireDemonRock2 ------------------------------------------------------------
|
|
|
|
class FireDemonRock2 : FireDemonRock1
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
FDMN T 4;
|
|
Loop;
|
|
Death:
|
|
FDMN T 5 A_SmBounce;
|
|
XDeath:
|
|
FDMN T 200;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// FireDemonRock3 ------------------------------------------------------------
|
|
|
|
class FireDemonRock3 : FireDemonRock1
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
FDMN U 4;
|
|
Loop;
|
|
Death:
|
|
FDMN U 5 A_SmBounce;
|
|
XDeath:
|
|
FDMN U 200;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// FireDemonRock4 ------------------------------------------------------------
|
|
|
|
class FireDemonRock4 : FireDemonRock1
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
FDMN V 4;
|
|
Loop;
|
|
Death:
|
|
FDMN V 5 A_SmBounce;
|
|
XDeath:
|
|
FDMN V 200;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// FireDemonRock5 ------------------------------------------------------------
|
|
|
|
class FireDemonRock5 : FireDemonRock1
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
FDMN W 4;
|
|
Loop;
|
|
Death:
|
|
FDMN W 5 A_SmBounce;
|
|
XDeath:
|
|
FDMN W 200;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// FireDemonMissile -----------------------------------------------------------
|
|
|
|
class FireDemonMissile : Actor
|
|
{
|
|
Default
|
|
{
|
|
ReactionTime 8;
|
|
Speed 10;
|
|
Radius 10;
|
|
Height 6;
|
|
Mass 5;
|
|
Damage 1;
|
|
DamageType "Fire";
|
|
Projectile;
|
|
RenderStyle "Add";
|
|
DeathSound "FireDemonMissileHit";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
FDMB A 5 Bright;
|
|
Loop;
|
|
Death:
|
|
FDMB BCDE 5 Bright;
|
|
Stop;
|
|
}
|
|
}
|