qzdoom/wadsrc/static/actors/hexen/heresiarch.txt

336 lines
5.4 KiB
Plaintext

// The Heresiarch him/itself ------------------------------------------------
ACTOR Heresiarch native
{
Health 5000
Painchance 10
Speed 16
Radius 40
Height 110
Mass 500
Damage 9
Monster
+FLOORCLIP
+BOSS
+DONTMORPH
+NOTARGET
+NOICEDEATH
+DEFLECT
+NOBLOOD
SeeSound "SorcererSight"
PainSound "SorcererPain"
DeathSound "SorcererDeathScream"
ActiveSound "SorcererActive"
Obituary "$OB_HERESIARCH"
action native A_SorcSpinBalls();
action native A_SpeedBalls();
action native A_SorcBossAttack();
action native A_SpawnFizzle();
States
{
Spawn:
SORC A 3
SORC A 2 A_SorcSpinBalls
Idle:
SORC A 10 A_Look
Wait
See:
SORC ABCD 5 A_Chase
Loop
Pain:
SORC G 8
SORC G 8 A_Pain
Goto See
Missile:
SORC F 6 Bright A_FaceTarget
SORC F 6 Bright A_SpeedBalls
SORC F 6 Bright A_FaceTarget
Wait
Attack1:
SORC E 6 Bright
SORC E 6 Bright A_SpawnFizzle
SORC E 5 Bright A_FaceTarget
Goto Attack1+1
Attack2:
SORC E 2 Bright
SORC E 2 Bright A_SorcBossAttack
Goto See
Death:
SORC H 5 Bright
SORC I 5 Bright A_FaceTarget
SORC J 5 Bright A_Scream
SORC KLMNOPQRST 5 Bright
SORC U 5 Bright A_NoBlocking
SORC VWXY 5 Bright
SORC Z -1 Bright
Stop
}
}
// Base class for the balls flying around the Heresiarch's head -------------
ACTOR SorcBall native
{
Speed 10
Radius 5
Height 5
Projectile
-ACTIVATEIMPACT
-ACTIVATEPCROSS
+FULLVOLDEATH
+CANBOUNCEWATER
+NOWALLBOUNCESND
BounceType "HexenCompat"
SeeSound "SorcererBallBounce"
DeathSound "SorcererBigBallExplode"
action native A_SorcBallOrbit();
action native A_SorcBallPop();
action native A_BounceCheck ();
}
// First ball (purple) - fires projectiles ----------------------------------
ACTOR SorcBall1 : SorcBall native
{
States
{
Spawn:
SBMP ABCDEFGHIJKLMNOP 2 A_SorcBallOrbit
Loop
Pain:
SBMP A 5 A_SorcBallPop
SBMP B 2 A_BounceCheck
Wait
Death:
SBS4 D 0 A_ChangeFlag("NOBOUNCESOUND", 1)
SBS4 D 5 A_Explode(255,255)
SBS4 E 5
SBS4 FGH 6
Stop
}
}
// Second ball (blue) - generates the shield --------------------------------
ACTOR SorcBall2 : SorcBall native
{
States
{
Spawn:
SBMB ABCDEFGHIJKLMNOP 2 A_SorcBallOrbit
Loop
Pain:
SBMB A 5 A_SorcBallPop
SBMB B 2 A_BounceCheck
Wait
Death:
SBS4 D 0 A_ChangeFlag("NOBOUNCESOUND", 1)
SBS3 D 5 A_Explode(255,255)
SBS3 E 5
SBS3 FGH 6
Stop
}
}
// Third ball (green) - summons Bishops -------------------------------------
ACTOR SorcBall3 : SorcBall native
{
States
{
Spawn:
SBMG ABCDEFGHIJKLMNOP 2 A_SorcBallOrbit
Loop
Pain:
SBMG A 5 A_SorcBallPop
SBMG B 2 A_BounceCheck
Wait
Death:
SBS4 D 0 A_ChangeFlag("NOBOUNCESOUND", 1)
SBS3 D 5 A_Explode(255,255)
SBS3 E 5
SBS3 FGH 6
Stop
}
}
// Sorcerer spell 1 (The burning, bouncing head thing) ----------------------
ACTOR SorcFX1
{
Speed 7
Radius 5
Height 5
Projectile
-ACTIVATEIMPACT
-ACTIVATEPCROSS
-NOGRAVITY
+FULLVOLDEATH
+CANBOUNCEWATER
+NOWALLBOUNCESND
BounceFactor 1.0
+HEXENBOUNCE
SeeSound "SorcererBallBounce"
DeathSound "SorcererHeadScream"
action native A_SorcFX1Seek();
States
{
Spawn:
SBS1 A 2 Bright
SBS1 BCD 3 Bright A_SorcFX1Seek
Loop
Death:
FHFX S 2 Bright A_Explode(30, 128)
FHFX SS 6 Bright
Stop
}
}
// Sorcerer spell 2 (The visible part of the shield) ------------------------
ACTOR SorcFX2
{
Speed 15
Radius 5
Height 5
+NOBLOCKMAP
+NOGRAVITY
+NOTELEPORT
action native A_SorcFX2Split();
action native A_SorcFX2Orbit ();
states
{
Spawn:
SBS2 A 3 Bright A_SorcFX2Split
Loop
Orbit:
SBS2 A 2 Bright
SBS2 BCDEFGHIJKLMNOPA 2 Bright A_SorcFX2Orbit
Goto Orbit+1
Death:
SBS2 A 10
Stop
}
}
// The translucent trail behind SorcFX2 -------------------------------------
ACTOR SorcFX2T1 : SorcFX2
{
RenderStyle Translucent
Alpha 0.4
States
{
Spawn:
Goto Death
}
}
// Sorcerer spell 3 (The Bishop spawner) ------------------------------------
ACTOR SorcFX3
{
Speed 15
Radius 22
Height 65
+NOBLOCKMAP
+MISSILE
+NOTELEPORT
SeeSound "SorcererBishopSpawn"
action native A_SpawnBishop();
action native A_SorcererBishopEntry();
States
{
Spawn:
SBS3 ABC 2 Bright
Loop
Death:
SBS3 A 4 Bright
BISH P 4 A_SorcererBishopEntry
BISH ON 4
BISH MLKJIH 3
BISH G 3 A_SpawnBishop
Stop
}
}
// The Bishop spawner's explosion animation ---------------------------------
ACTOR SorcFX3Explosion
{
+NOBLOCKMAP
+NOGRAVITY
+NOTELEPORT
RenderStyle Translucent
Alpha 0.4
States
{
Spawn:
SBS3 DEFGH 3
Stop
}
}
// Sorcerer spell 4 (The purple projectile) ---------------------------------
ACTOR SorcFX4
{
Speed 12
Radius 10
Height 10
Projectile
-ACTIVATEIMPACT
-ACTIVATEPCROSS
DeathSound "SorcererBallExplode"
action native A_SorcFX4Check();
States
{
Spawn:
SBS4 ABC 2 Bright A_SorcFX4Check
Loop
Death:
SBS4 D 2 Bright
SBS4 E 2 Bright A_Explode(20, 128)
SBS4 FGH 2 Bright
Stop
}
}
// Spark that appears when shooting SorcFX4 ---------------------------------
ACTOR SorcSpark1
{
Radius 5
Height 5
Gravity 0.125
+NOBLOCKMAP
+DROPOFF
+NOTELEPORT
RenderStyle Add
States
{
Spawn:
SBFX ABCDEFG 4 Bright
Stop
}
}