// Wraith ------------------------------------------------------------------- class Wraith : Actor { Default { Health 150; PainChance 25; Speed 11; Height 55; Mass 75; Damage 10; Monster; +NOGRAVITY +DROPOFF +FLOAT +FLOORCLIP +TELESTOMP SeeSound "WraithSight"; AttackSound "WraithAttack"; PainSound "WraithPain"; DeathSound "WraithDeath"; ActiveSound "WraithActive"; HitObituary "$OB_WRAITHHIT"; Obituary "$OB_WRAITH"; } native void A_WraithInit(); native void A_WraithChase(); native void A_WraithFX3(); native void A_WraithMelee(); States { Spawn: WRTH A 10; WRTH B 5 A_WraithInit; Goto Look; Look: WRTH AB 15 A_Look; Loop; See: WRTH ABCD 4 A_WraithChase; Loop; Pain: WRTH A 2; WRTH H 6 A_Pain; Goto See; Melee: WRTH E 6 A_FaceTarget; WRTH F 6 A_WraithFX3; WRTH G 6 A_WraithMelee; Goto See; Missile: WRTH E 6 A_FaceTarget; WRTH F 6; WRTH G 6 A_CustomMissile("WraithFX1", 32, 0); Goto See; Death: WRTH I 4; WRTH J 4 A_Scream; WRTH KL 4; WRTH M 4 A_NoBlocking; WRTH N 4 A_QueueCorpse; WRTH O 4; WRTH PQ 5; WRTH R -1; Stop; XDeath: WRT2 A 5; WRT2 B 5 A_Scream; WRT2 CD 5; WRT2 E 5 A_NoBlocking; WRT2 F 5 A_QueueCorpse; WRT2 G 5; WRT2 H -1; Stop; Ice: WRT2 I 5 A_FreezeDeath; WRT2 I 1 A_FreezeDeathChunks; Wait; } } // Buried wraith ------------------------------------------------------------ class WraithBuried : Wraith { Default { Height 68; -SHOOTABLE -SOLID +DONTMORPH +DONTBLAST +SPECIALFLOORCLIP +STAYMORPHED +INVISIBLE PainChance 0; } native void A_WraithRaiseInit(); native void A_WraithRaise(); States { Spawn: Goto Super::Look; See: WRTH A 2 A_WraithRaiseInit; WRTH A 2 A_WraithRaise; WRTH A 2 A_FaceTarget; WRTH BB 2 A_WraithRaise; Goto See + 1; Chase: Goto Super::See; } } // Wraith FX 1 -------------------------------------------------------------- class WraithFX1 : Actor { Default { Speed 14; Radius 10; Height 6; Mass 5; Damage 5; DamageType "Fire"; Projectile; +FLOORCLIP SeeSound "WraithMissileFire"; DeathSound "WraithMissileExplode"; } native void A_WraithFX2(); States { Spawn: WRBL A 3 Bright; WRBL B 3 Bright A_WraithFX2; WRBL C 3 Bright; Loop; Death: WRBL D 4 Bright; WRBL E 4 Bright A_WraithFX2; WRBL F 4 Bright; WRBL GH 3 Bright A_WraithFX2; WRBL I 3 Bright; Stop; } } // Wraith FX 2 -------------------------------------------------------------- class WraithFX2 : Actor { Default { Radius 2; Height 5; Mass 5; +NOBLOCKMAP +DROPOFF +FLOORCLIP +NOTELEPORT } States { Spawn: WRBL JKLMNOP 4 Bright; Stop; } } // Wraith FX 3 -------------------------------------------------------------- class WraithFX3 : Actor { Default { Radius 2; Height 5; Mass 5; +NOBLOCKMAP +DROPOFF +MISSILE +FLOORCLIP +NOTELEPORT DeathSound "Drip"; } States { Spawn: WRBL QRS 4 Bright; Loop; Death: WRBL S 4 Bright; Stop; } } // Wraith FX 4 -------------------------------------------------------------- class WraithFX4 : Actor { Default { Radius 2; Height 5; Mass 5; +NOBLOCKMAP +DROPOFF +MISSILE +NOTELEPORT DeathSound "Drip"; } States { Spawn: WRBL TUVW 4; Loop; Death: WRBL W 10; Stop; } } // Wraith FX 5 -------------------------------------------------------------- class WraithFX5 : WraithFX4 { States { Spawn: WRBL XYZ 7; Loop; Death: WRBL Z 35; Stop; } }