mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-13 16:07:45 +00:00
63bd2125f3
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)
393 lines
7 KiB
Text
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
|
|
}
|
|
}
|
|
|