// Boss spot ---------------------------------------------------------------- ACTOR BossSpot : SpecialSpot 56 { Game Heretic SpawnID 141 +INVISIBLE } // Sorcerer (D'Sparil on his serpent) --------------------------------------- ACTOR Sorcerer1 7 { Game Heretic SpawnID 142 Health 2000 Radius 28 Height 100 Mass 800 Speed 16 PainChance 56 Monster +BOSS +DONTMORPH +NORADIUSDMG +NOTARGET +NOICEDEATH +FLOORCLIP 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_PlaySoundEx("dsparil/zap", "body") SRCR MN 5 SRCR O 4 SRCR L 20 A_PlaySoundEx("dsparil/zap", "body") SRCR MN 5 SRCR O 4 SRCR L 12 SRCR P -1 A_SorcererRise } } // Sorcerer FX 1 ------------------------------------------------------------ ACTOR SorcererFX1 { Game Heretic SpawnID 144 Radius 10 Height 10 Speed 20 FastSpeed 28 Damage 10 DamageType Fire Projectile -ACTIVATEIMPACT -ACTIVATEPCROSS RenderStyle Add States { Spawn: FX14 ABC 6 BRIGHT Loop Death: FX14 DEFGH 5 BRIGHT Stop } } // Sorcerer 2 (D'Sparil without his serpent) -------------------------------- 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" 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_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 } } // Sorcerer 2 FX 1 ---------------------------------------------------------- ACTOR Sorcerer2FX1 { Game Heretic SpawnID 145 Radius 10 Height 6 Speed 20 FastSpeed 28 Damage 1 Projectile -ACTIVATEIMPACT -ACTIVATEPCROSS RenderStyle Add action native A_BlueSpark (); States { Spawn: FX16 ABC 3 BRIGHT A_BlueSpark Loop Death: FX16 G 5 BRIGHT A_Explode(random[S2FX1](80,111)) FX16 HIJKL 5 BRIGHT Stop } } // Sorcerer 2 FX Spark ------------------------------------------------------ ACTOR Sorcerer2FXSpark { Radius 20 Height 16 +NOBLOCKMAP +NOGRAVITY +NOTELEPORT +CANNOTPUSH RenderStyle Add States { Spawn: FX16 DEF 12 BRIGHT Stop } } // Sorcerer 2 FX 2 ---------------------------------------------------------- ACTOR Sorcerer2FX2 { Game Heretic SpawnID 146 Radius 10 Height 6 Speed 6 Damage 10 Projectile -ACTIVATEIMPACT -ACTIVATEPCROSS RenderStyle Add action native A_GenWizard (); States { Spawn: FX11 A 35 BRIGHT FX11 A 5 BRIGHT A_GenWizard FX11 B 5 BRIGHT Goto Spawn+1 Death: FX11 CDEFG 5 BRIGHT Stop } } // Sorcerer 2 Telefade ------------------------------------------------------ ACTOR Sorcerer2Telefade { +NOBLOCKMAP States { Spawn: SOR2 GHIJKL 6 Stop } }