gzdoom/wadsrc/decorate/hexen/demons.txt
Christoph Oelckers 63bd2125f3 - Added global constants to DECORATE so that I can define meaningful flag
names for some DECORATE functions. Technically these will be constants 
  of the AActor class but that will make them accessible in all other actor 
  classes.


SVN r397 (trunk)
2006-11-29 16:20:22 +00:00

393 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"
const int ChunkFlags = SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM;
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
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
Ice:
DEM2 Q 5 A_FreezeDeath
DEM2 Q 1 A_FreezeDeathChunks
Wait
}
}
// 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
}
}