mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-23 12:32:34 +00:00
385 lines
7.1 KiB
Text
385 lines
7.1 KiB
Text
|
|
// Demon, type 1 (green, like D'Sparil's) -----------------------------------
|
|
|
|
ACTOR Demon1
|
|
{
|
|
Health 250
|
|
Painchance 50
|
|
Speed 13
|
|
Radius 32
|
|
Height 64
|
|
Mass 220
|
|
Monster
|
|
+TELESTOMP
|
|
+FLOORCLIP
|
|
SeeSound "DemonSight"
|
|
AttackSound "DemonAttack"
|
|
PainSound "DemonPain"
|
|
DeathSound "DemonDeath"
|
|
ActiveSound "DemonActive"
|
|
Obituary "$OB_DEMON1"
|
|
const int ChunkFlags = SXF_TRANSFERTRANSLATION | SXF_ABSOLUTEVELOCITY;
|
|
States
|
|
{
|
|
Spawn:
|
|
DEMN AA 10 A_Look
|
|
Loop
|
|
See:
|
|
DEMN ABCD 4 A_Chase
|
|
Loop
|
|
Pain:
|
|
DEMN E 4
|
|
DEMN E 4 A_Pain
|
|
Goto See
|
|
Melee:
|
|
DEMN E 6 A_FaceTarget
|
|
DEMN F 8 A_FaceTarget
|
|
DEMN G 6 A_CustomMeleeAttack(random[DemonAttack1](1,8)*2)
|
|
Goto See
|
|
Missile:
|
|
DEMN E 5 A_FaceTarget
|
|
DEMN F 6 A_FaceTarget
|
|
DEMN G 5 A_CustomMissile("Demon1FX1", 62, 0)
|
|
Goto See
|
|
Death:
|
|
DEMN HI 6
|
|
DEMN J 6 A_Scream
|
|
DEMN K 6 A_NoBlocking
|
|
DEMN L 6 A_QueueCorpse
|
|
DEMN MNO 6
|
|
DEMN P -1
|
|
Stop
|
|
XDeath:
|
|
DEMN H 6
|
|
DEMN I 0 A_SpawnItemEx("Demon1Chunk1", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle+90), frandom[DemonChunks](1,4.984375)*sin(Angle+90), 8, 90, ChunkFlags)
|
|
DEMN I 0 A_SpawnItemEx("Demon1Chunk2", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
DEMN I 0 A_SpawnItemEx("Demon1Chunk3", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
DEMN I 0 A_SpawnItemEx("Demon1Chunk4", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
DEMN I 6 A_SpawnItemEx("Demon1Chunk5", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
Goto Death+2
|
|
Ice:
|
|
DEMN Q 5 A_FreezeDeath
|
|
DEMN Q 1 A_FreezeDeathChunks
|
|
Wait
|
|
}
|
|
}
|
|
|
|
// Demon, type 1, mashed ----------------------------------------------------
|
|
|
|
ACTOR Demon1Mash : Demon1
|
|
{
|
|
+NOBLOOD
|
|
+BLASTED
|
|
-TELESTOMP
|
|
+NOICEDEATH
|
|
RenderStyle Translucent
|
|
Alpha 0.4
|
|
States
|
|
{
|
|
Death:
|
|
XDeath:
|
|
Ice:
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Demon chunk, base class --------------------------------------------------
|
|
|
|
ACTOR DemonChunk
|
|
{
|
|
Radius 5
|
|
Height 5
|
|
+NOBLOCKMAP
|
|
+DROPOFF
|
|
+MISSILE
|
|
+CORPSE
|
|
+FLOORCLIP
|
|
+NOTELEPORT
|
|
}
|
|
|
|
// Demon, type 1, chunk 1 ---------------------------------------------------
|
|
|
|
ACTOR Demon1Chunk1 : DemonChunk
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
DEMA A 4
|
|
DEMA A 10 A_QueueCorpse
|
|
DEMA A 20
|
|
Wait
|
|
Death:
|
|
DEMA A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Demon, type 1, chunk 2 ---------------------------------------------------
|
|
|
|
ACTOR Demon1Chunk2 : DemonChunk
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
DEMB A 4
|
|
DEMB A 10 A_QueueCorpse
|
|
DEMB A 20
|
|
Wait
|
|
Death:
|
|
DEMB A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
ACTOR Demon1Chunk3 : DemonChunk
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
DEMC A 4
|
|
DEMC A 10 A_QueueCorpse
|
|
DEMC A 20
|
|
Wait
|
|
Death:
|
|
DEMC A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Demon, type 1, chunk 4 ---------------------------------------------------
|
|
|
|
ACTOR Demon1Chunk4 : DemonChunk
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
DEMD A 4
|
|
DEMD A 10 A_QueueCorpse
|
|
DEMD A 20
|
|
Wait
|
|
Death:
|
|
DEMD A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Demon, type 1, chunk 5 ---------------------------------------------------
|
|
|
|
ACTOR Demon1Chunk5 : DemonChunk
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
DEME A 4
|
|
DEME A 10 A_QueueCorpse
|
|
DEME A 20
|
|
Wait
|
|
Death:
|
|
DEME A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Demon, type 1, projectile ------------------------------------------------
|
|
|
|
ACTOR Demon1FX1
|
|
{
|
|
Speed 15
|
|
Radius 10
|
|
Height 6
|
|
Damage 5
|
|
DamageType Fire
|
|
Projectile
|
|
+SPAWNSOUNDSOURCE
|
|
RenderStyle Add
|
|
SeeSound "DemonMissileFire"
|
|
DeathSound "DemonMissileExplode"
|
|
States
|
|
{
|
|
Spawn:
|
|
DMFX ABC 4 Bright
|
|
Loop
|
|
Death:
|
|
DMFX DE 4 Bright
|
|
DMFX FGH 3 Bright
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Demon, type 2 (brown) ----------------------------------------------------
|
|
|
|
ACTOR Demon2 : Demon1
|
|
{
|
|
Obituary "$OB_DEMON2"
|
|
Species "Demon2"
|
|
States
|
|
{
|
|
Spawn:
|
|
DEM2 AA 10 A_Look
|
|
Loop
|
|
See:
|
|
DEM2 ABCD 4 A_Chase
|
|
Loop
|
|
Pain:
|
|
DEM2 E 4
|
|
DEM2 E 4 A_Pain
|
|
Goto See
|
|
Melee:
|
|
DEM2 E 6 A_FaceTarget
|
|
DEM2 F 8 A_FaceTarget
|
|
DEM2 G 6 A_CustomMeleeAttack(random[DemonAttack1](1,8)*2)
|
|
Goto See
|
|
Missile:
|
|
DEM2 E 5 A_FaceTarget
|
|
DEM2 F 6 A_FaceTarget
|
|
DEM2 G 5 A_CustomMissile("Demon2FX1", 62, 0)
|
|
Goto See
|
|
Death:
|
|
DEM2 HI 6
|
|
DEM2 J 6 A_Scream
|
|
DEM2 K 6 A_NoBlocking
|
|
DEM2 L 6 A_QueueCorpse
|
|
DEM2 MNO 6
|
|
DEM2 P -1
|
|
Stop
|
|
XDeath:
|
|
DEM2 H 6
|
|
DEM2 I 0 A_SpawnItemEx("Demon2Chunk1", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle+90), frandom[DemonChunks](1,4.984375)*sin(Angle+90), 8, 90, ChunkFlags)
|
|
DEM2 I 0 A_SpawnItemEx("Demon2Chunk2", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
DEM2 I 0 A_SpawnItemEx("Demon2Chunk3", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
DEM2 I 0 A_SpawnItemEx("Demon2Chunk4", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
DEM2 I 6 A_SpawnItemEx("Demon2Chunk5", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
Goto Death+2
|
|
}
|
|
}
|
|
|
|
// Demon, type 2, mashed ----------------------------------------------------
|
|
|
|
ACTOR Demon2Mash : Demon2
|
|
{
|
|
+NOBLOOD
|
|
+BLASTED
|
|
-TELESTOMP
|
|
+NOICEDEATH
|
|
RenderStyle Translucent
|
|
Alpha 0.4
|
|
States
|
|
{
|
|
Death:
|
|
XDeath:
|
|
Ice:
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Demon, type 2, chunk 1 ---------------------------------------------------
|
|
|
|
ACTOR Demon2Chunk1 : DemonChunk
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
DMBA A 4
|
|
DMBA A 10 A_QueueCorpse
|
|
DMBA A 20
|
|
Wait
|
|
Death:
|
|
DMBA A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Demon, type 2, chunk 2 ---------------------------------------------------
|
|
|
|
ACTOR Demon2Chunk2 : DemonChunk
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
DMBB A 4
|
|
DMBB A 10 A_QueueCorpse
|
|
DMBB A 20
|
|
Wait
|
|
Death:
|
|
DMBB A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Demon, type 2, chunk 3 ---------------------------------------------------
|
|
|
|
ACTOR Demon2Chunk3 : DemonChunk
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
DMBC A 4
|
|
DMBC A 10 A_QueueCorpse
|
|
DMBC A 20
|
|
Wait
|
|
Death:
|
|
DMBC A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Demon, type 2, chunk 4 ---------------------------------------------------
|
|
|
|
ACTOR Demon2Chunk4 : DemonChunk
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
DMBD A 4
|
|
DMBD A 10 A_QueueCorpse
|
|
DMBD A 20
|
|
Wait
|
|
Death:
|
|
DMBD A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Demon, type 2, chunk 5 ---------------------------------------------------
|
|
|
|
ACTOR Demon2Chunk5 : DemonChunk
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
DMBE A 4
|
|
DMBE A 10 A_QueueCorpse
|
|
DMBE A 20
|
|
Wait
|
|
Death:
|
|
DMBE A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Demon, type 2, projectile ------------------------------------------------
|
|
|
|
ACTOR Demon2FX1
|
|
{
|
|
Speed 15
|
|
Radius 10
|
|
Height 6
|
|
Damage 5
|
|
DamageType Fire
|
|
Projectile
|
|
+SPAWNSOUNDSOURCE
|
|
RenderStyle Add
|
|
SeeSound "DemonMissileFire"
|
|
DeathSound "DemonMissileExplode"
|
|
States
|
|
{
|
|
Spawn:
|
|
D2FX ABCDEF 4 Bright
|
|
Loop
|
|
Death:
|
|
D2FX GHIJ 4 Bright
|
|
D2FX KL 3 Bright
|
|
Stop
|
|
}
|
|
}
|
|
|