qzdoom-gpl/wadsrc/static/actors/hexen/demons.txt
Randy Heit e4af82ae96 - Enough with this "momentum" garbage. What Doom calls "momentum" is really
velocity, and now it's known as such. The actor variables momx/momy/momz
  are now known as velx/vely/velz, and the ACS functions GetActorMomX/Y/Z
  are now known as GetActorVelX/Y/Z. For compatibility, momx/momy/momz will
  continue to work as aliases from DECORATE. The ACS functions, however,
  require you to use the new name, since they never saw an official release
  yet.


SVN r1689 (trunk)
2009-06-30 20:57:51 +00:00

392 lines
7 KiB
Text

// Demon, type 1 (green, like D'Sparil's) -----------------------------------
ACTOR Demon1 31
{
Game Hexen
SpawnID 3
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, 1+(random[DemonChunks](0,255)*0.015625), 1+(random[DemonChunks](0,255)*0.015625), ChunkFlags, 90)
DEMN I 0 A_SpawnItemEx("Demon1Chunk2", 0,0,45, 1+(random[DemonChunks](0,255)*0.015625), 1+(random[DemonChunks](0,255)*0.015625), ChunkFlags, 270)
DEMN I 0 A_SpawnItemEx("Demon1Chunk3", 0,0,45, 1+(random[DemonChunks](0,255)*0.015625), 1+(random[DemonChunks](0,255)*0.015625), ChunkFlags, 270)
DEMN I 0 A_SpawnItemEx("Demon1Chunk4", 0,0,45, 1+(random[DemonChunks](0,255)*0.015625), 1+(random[DemonChunks](0,255)*0.015625), ChunkFlags, 270)
DEMN I 6 A_SpawnItemEx("Demon1Chunk5", 0,0,45, 1+(random[DemonChunks](0,255)*0.015625), 1+(random[DemonChunks](0,255)*0.015625), ChunkFlags, 270)
Goto Death+2
Ice:
DEMN Q 5 A_FreezeDeath
DEMN Q 1 A_FreezeDeathChunks
Wait
}
}
// Demon, type 1, mashed ----------------------------------------------------
ACTOR Demon1Mash : Demon1
{
Game Hexen
SpawnID 100
+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 8080
{
Game Hexen
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, 1+(random[DemonChunks](0,255)*0.015625), 1+(random[DemonChunks](0,255)*0.015625), ChunkFlags, 90)
DEM2 I 0 A_SpawnItemEx("Demon2Chunk2", 0,0,45, 1+(random[DemonChunks](0,255)*0.015625), 1+(random[DemonChunks](0,255)*0.015625), ChunkFlags, 270)
DEM2 I 0 A_SpawnItemEx("Demon2Chunk3", 0,0,45, 1+(random[DemonChunks](0,255)*0.015625), 1+(random[DemonChunks](0,255)*0.015625), ChunkFlags, 270)
DEM2 I 0 A_SpawnItemEx("Demon2Chunk4", 0,0,45, 1+(random[DemonChunks](0,255)*0.015625), 1+(random[DemonChunks](0,255)*0.015625), ChunkFlags, 270)
DEM2 I 6 A_SpawnItemEx("Demon2Chunk5", 0,0,45, 1+(random[DemonChunks](0,255)*0.015625), 1+(random[DemonChunks](0,255)*0.015625), ChunkFlags, 270)
Goto Death+2
}
}
// Demon, type 2, mashed ----------------------------------------------------
ACTOR Demon2Mash : Demon2
{
Game Hexen
SpawnID 101
+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
}
}