Classes:Sorcerer1

From ZDoom Wiki
Jump to navigation Jump to search
Note: Wait! Stop! You do not need to copy this actor's code into your project! Here's why:
  1. This actor is already defined in GZDoom, there's no reason to define it again.
  2. In fact, trying to define an actor with the same name will cause an error (because it already exists).
  3. If you want to make your own version of this actor, use inheritance.
  4. Definitions for existing actors are put on the wiki for reference purpose only.
D'Sparil on his mount
Actor type Monster Game MiniHereticLogoIcon.png (Heretic)
DoomEd Number 7 Class Name Sorcerer1
Spawn ID 142 Identifier T_DSPARILONSERPENT


Classes: Sorcerer1
The youngest and weakest of the Serpent Riders, D'Sparil doesn't battle alone like his elders Korax and Eidolon; but rides a chaos serpent to the battle. Which is fair enough for a Serpent Rider. In this form, D'Sparil lets his mount do all the work, the native action A_Srcr1Attack makes it spew forth fireballs that are visually similar to those of the average chaos serpent, but twice as powerful. Once the serpent's health lowers to 666 or less, it starts spitting six of these fireballs in two volleys of three. Its native action A_Sor1Pain makes it walk faster the next time it uses A_Sor1Chase. When it finally dies, D'Sparil quickly rises to battle, something handled by the native action A_SorcererRise which spawns a Sorcerer2 and sets it to its "rise" state.

DECORATE definition

ACTOR Sorcerer1
{
  Health 2000
  Radius 28
  Height 100
  Mass 800
  Speed 16
  PainChance 56
  Monster
  +BOSS
  +DONTMORPH
  +NORADIUSDMG
  +NOTARGET
  +NOICEDEATH
  +FLOORCLIP
  +DONTGIB
  SeeSound "dsparilserpent/sight"
  AttackSound "dsparilserpent/attack"
  PainSound "dsparilserpent/pain"
  DeathSound "dsparilserpent/death"
  ActiveSound "dsparilserpent/active"
  Obituary "$OB_DSPARIL1"
  HitObituary "$OB_DSPARIL1HIT"

  action native A_Sor1Pain();
  action native A_Sor1Chase();
  action native A_Srcr1Attack();
  action native A_SorcererRise();

  States
  {
  Spawn:
    SRCR AB 10 A_Look
    Loop
  See:
    SRCR ABCD 5 A_Sor1Chase
    Loop
  Pain:
    SRCR Q 6 A_Sor1Pain
    Goto See
  Missile:
    SRCR Q 7 A_FaceTarget
    SRCR R 6 A_FaceTarget
    SRCR S 10 A_Srcr1Attack
    Goto See
  Missile2:
    SRCR S 10 A_FaceTarget
    SRCR Q 7 A_FaceTarget
    SRCR R 6 A_FaceTarget
    SRCR S 10 A_Srcr1Attack
    Goto See
  Death:
    SRCR E 7
    SRCR F 7 A_Scream
    SRCR G 7
    SRCR HIJK 6
    SRCR L 25 A_PlaySound("dsparil/zap", CHAN_BODY, 1, FALSE, ATTN_NONE)
    SRCR MN 5
    SRCR O 4
    SRCR L 20 A_PlaySound("dsparil/zap", CHAN_BODY, 1, FALSE, ATTN_NONE)
    SRCR MN 5
    SRCR O 4
    SRCR L 12
    SRCR P -1 A_SorcererRise
  }
}