Classes:Sorcerer2

From ZDoom Wiki

Jump to: navigation, search
D'Sparil
Actor type Monster Game
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.

DECORATE definition

ACTOR Sorcerer2
{
  Game Heretic
  SpawnID 143
  Health 3500
  Radius 16
  Height 70
  Mass 300
  Speed 14
  Painchance 32
  Monster
  +DROPOFF
  +BOSS
  +DONTMORPH
  +FULLVOLACTIVE
  +NORADIUSDMG
  +NOTARGET
  +NOICEDEATH
  +FLOORCLIP
  SeeSound "dsparil/sight"
  AttackSound "dsparil/attack"
  PainSound "dsparil/pain"
  ActiveSound "dsparil/active"
  Obituary "$OB_DSPARIL2" // "%o was no match for D'Sparil."
  HitObituary "$OB_DSPARIL2HIT" // "%o was smacked down by D'Sparil."

  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_PlaySoundEx("dsparil/rise", "Body")
    SOR2 DEF 4
    SOR2 G 12 A_PlaySoundEx("dsparil/sight", "Body")
    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_PlaySoundEx("dsparil/scream", "Body")
  DeathLoop:
    SDTH DE 7
    SDTH F 7 A_Sor2DthLoop
    SDTH G 6 A_PlaySoundEx("dsparil/explode", "Body")
    SDTH H 6
    SDTH I 18
    SDTH J 6 A_NoBlocking
    SDTH K 6 A_PlaySoundEx("dsparil/bones", "Body")
    SDTH LMN 6
    SDTH O -1 A_BossDeath
    Stop
  }
}
Personal tools