
// Wraith -------------------------------------------------------------------

ACTOR Wraith
{
	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"

	action native A_WraithInit();
	action native A_WraithChase();
	action native A_WraithFX3();
	action native 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 ------------------------------------------------------------

ACTOR WraithBuried : Wraith
{
	Height 68
	-SHOOTABLE
	-SOLID
	+DONTMORPH
	+DONTBLAST
	+SPECIALFLOORCLIP
	+STAYMORPHED
	+INVISIBLE
	PainChance 0
	
	action native A_WraithRaiseInit();
	action native 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 --------------------------------------------------------------

ACTOR WraithFX1
{
	Speed 14
	Radius 10
	Height 6
	Mass 5
	Damage 5
	DamageType "Fire"
	Projectile
	+FLOORCLIP
	SeeSound "WraithMissileFire"
	DeathSound "WraithMissileExplode"

	action native 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 --------------------------------------------------------------

ACTOR WraithFX2
{
	Radius 2
	Height 5
	Mass 5
	+NOBLOCKMAP +DROPOFF
	+FLOORCLIP +NOTELEPORT
	States
	{
	Spawn:
		WRBL JKLMNOP 4 Bright
		Stop
	}
}

// Wraith FX 3 --------------------------------------------------------------

ACTOR WraithFX3
{
	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 --------------------------------------------------------------

ACTOR WraithFX4
{
	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 --------------------------------------------------------------

ACTOR WraithFX5 : WraithFX4
{
	States
	{
	Spawn:
		WRBL XYZ 7
		Loop
	Death:
		WRBL Z 35
		Stop
	}
}
