|
Note: Wait! Stop! Before you copy this actor's definition into your mod, remember the following things:
- You do NOT need to copy that actor, since it is already defined.
- In fact, it's not just useless, it will cause problems.
- If you want to modify it, or use a modified version, using inheritance is the way to go.
- The actor definitions here are put on the wiki for reference purpose only. Learn from them, don't copy them.
|
D'Sparil
|
Actor type
|
Monster
|
Game
|
(Heretic)
|
DoomEd Number
|
None
|
Class Name
|
Sorcerer2
|
Spawn ID
|
143
|
Identifier
|
T_DSPARILALONE
|
Classes: Sorcerer2
After D'Sparil's mount is slain, it appears for a moment that the Serpent Rider is dead, too. But he quickly rises to his feet and begins battle alone. It shouldn't be a surprise that he is a tougher opponent than his pet. The native action A_Srcr2Decide is used to determine whether he teleports before an attack, while A_Srcr2Attack will make him either perform a melee attack, throw a devastating lightning bolt or summon forth two of his Disciples through summoning spells. When he dies, A_Sor2DthInit kills all remaining monsters on the level and sets his deathloop to loop seven times. A_Sor2DthLoop controls this looping behavior; an identical result could have been achieved with SDTH DEFDEFDEFDEFDEFDEFDEF 7
.
ACTOR Sorcerer2
{
Health 3500
Radius 16
Height 70
Mass 300
Speed 14
PainChance 32
Monster
+DROPOFF
+BOSS
+DONTMORPH
+FULLVOLACTIVE
+NORADIUSDMG
+NOTARGET
+NOICEDEATH
+FLOORCLIP
+BOSSDEATH
SeeSound "dsparil/sight"
AttackSound "dsparil/attack"
PainSound "dsparil/pain"
ActiveSound "dsparil/active"
Obituary "$OB_DSPARIL2"
HitObituary "$OB_DSPARIL2HIT"
action native A_Srcr2Decide();
action native A_Srcr2Attack();
action native A_Sor2DthInit();
action native A_Sor2DthLoop();
States
{
Spawn:
SOR2 MN 10 A_Look
Loop
See:
SOR2 MNOP 4 A_Chase
Loop
Rise:
SOR2 AB 4
SOR2 C 4 A_PlaySound("dsparil/rise", CHAN_BODY, 1, FALSE, ATTN_NONE)
SOR2 DEF 4
SOR2 G 12 A_PlaySound("dsparil/sight", CHAN_BODY, 1, FALSE, ATTN_NONE)
Goto See
Pain:
SOR2 Q 3
SOR2 Q 6 A_Pain
Goto See
Missile:
SOR2 R 9 A_Srcr2Decide
SOR2 S 9 A_FaceTarget
SOR2 T 20 A_Srcr2Attack
Goto See
Teleport:
SOR2 LKJIHG 6
Goto See
Death:
SDTH A 8 A_Sor2DthInit
SDTH B 8
SDTH C 8 A_PlaySound("dsparil/scream", CHAN_BODY, 1, FALSE, ATTN_NONE)
DeathLoop:
SDTH DE 7
SDTH F 7 A_Sor2DthLoop
SDTH G 6 A_PlaySound("dsparil/explode", CHAN_BODY, 1, FALSE, ATTN_NONE)
SDTH H 6
SDTH I 18
SDTH J 6 A_NoBlocking
SDTH K 6 A_PlaySound("dsparil/bones", CHAN_BODY, 1, FALSE, ATTN_NONE)
SDTH LMN 6
SDTH O -1 A_BossDeath
Stop
}
}