ACTOR DTechSpectre : DTechFiend
{ 
Health 400
BloodColor "Red"
+SHADOW
RenderStyle Translucent
Alpha 0.25
+DontHurtSpecies
+DontHarmSpecies
+DONTHARMCLASS
Species "Fiends"
DropItem "LifeEssence", 180, 5
DropItem "ArmorBonusMax", 180
DropItem "DemonAmmo", 128, 120
Obituary "%o was mown down by a DTech Spectre." 
HitObituary "%o was bulldozed by a DTech Spectre."
Tag "\crDTech Spectre\c-"
States 
	{ 
	Spawn: 
		DSPC A 12 A_Look
		DSPC Z 12 A_Look
		Loop
	See:
		DSPC AABB 2 A_Chase
		TNT1 A 0 A_PlaySound("blooddemon/walk")
		DSPC CCDD 2 A_Chase
		TNT1 A 0 A_PlaySound("blooddemon/walk")
		TNT1 A 0 A_Jump(87,"Rush")
		Loop
	Rush:
		TNT1 A 0 A_SpawnItemEx("DTSpectreGhostA",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		DSPC A 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("DTSpectreGhostA",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		DSPC A 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("DTSpectreGhostB",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		DSPC B 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("DTSpectreGhostB",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		DSPC B 1 A_Chase
		TNT1 A 0 A_PlaySound("blooddemon/walk")
		TNT1 A 0 A_SpawnItemEx("DTSpectreGhostC",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		DSPC C 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("DTSpectreGhostC",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		DSPC C 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("DTSpectreGhostD",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		DSPC D 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("DTSpectreGhostD",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		DSPC D 1 A_Chase
		TNT1 A 0 A_PlaySound("blooddemon/walk")
		TNT1 A 0 A_Jump(87,"See")
		Loop
	Missile:
		TNT1 A 0
		TNT1 A 0 A_Jump(168,"DTech")
		TNT1 A 0 A_JumpIfCloser(250,"Lunge")
		Goto See
	Melee:	   
	Lunge:
		TNT1 A 0 A_PlaySound("cyberfiend/melee")
		DSPC AAAAAAAAAAAAAA 1 A_FaceTarget
		TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,1)
		TNT1 A 0 ThrustThingZ(0,20,0,1)
		DSPC B 2 A_Recoil(-28)
		DSPC B 3 A_CustomMissile("PinkyLunge",18,0,0,CMF_AIMDIRECTION)
		DSPC B 6
		DSPC B 2 A_ScaleVelocity(0.2)
		TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,0)
		DSPC B 1 A_ScaleVelocity(0)
		Goto See
	DTech:
		DSPC EEEEEEEEEEEEEEE 1 A_FaceTarget(45)
	Refire:
		DSPC E 3 A_FaceTarget
		TNT1 A 0 A_CustomMissile("DTSpectreDemonTechProjectile",36,0,Random(150,-150)/100.00,0)
		DSPC F 3 Bright A_PlaySoundEx("weapons/demontechfire","Weapon")
		TNT1 A 0 A_Jump(62,"Pause")
		TNT1 A 0 A_SpidRefire
		Loop
	Pause:
		TNT1 A 0
		DSPC E 15 A_PlaySound("weapons/demontechsteam")
		Goto See	   
	Pain: 
		TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,0)
		DSPC H 4 A_Pain
		Goto See
	Death:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(298) == 1, 2)
		TNT1 A 0 A_Jump(174,2)
		TNT1 A 0 A_SpawnItem("Demon Tech Rifle",0,12)
		DSPC I 5 A_ChangeFlag(SLIDESONWALLS,0)
		DSPC J 5 A_Scream   
		TNT1 AA 0 A_CustomMissile("GreenBloodCloud", random(30,60),0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		DSPC K 4 A_SpawnItemEx("DTSpectreArm",10,0,32,0,Random(6,8),0,0,SXF_CLIENTSIDE,0)
		DSPC L 4 A_NoBlocking     
		DSPC M 4 A_SpawnItem("BodyCrash",0,0,0,0)
		DSPC N 63000 CanRaise 
		Stop
	XDeath:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(298) == 1, 2)
		TNT1 A 0 A_Jump(174,2)
		TNT1 A 0 A_SpawnItem("Demon Tech Rifle",0,12)
		DSPC I 3 A_ChangeFlag(SLIDESONWALLS,0)
		DSPC O 3 A_XScream
		DSPC P 3 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		DSPC Q 3 A_NoBlocking
		DSPC R 3 A_SpawnItem("BodyCrash",0,0,0,0)
		DSPC ST 3
		DSPC U 63000 CanRaise
		Stop
	Raise:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		DSPC NMLKJI 5 
		Goto See 
	}
}

ACTOR DTSpectreGhostA
{
Scale 1.15
RENDERSTYLE Translucent
Alpha 0.1
+CLIENTSIDEONLY
+NOINTERACTION
States
	{
	Spawn:
		TNT1 A 1
		DSPC A 2 A_FadeOut(0.01,1)
		Wait
	}
}

ACTOR DTSpectreGhostB : DTSpectreGhostA
{   
States
	{
	Spawn:
		TNT1 A 1
		DSPC B 2 A_FadeOut(0.01,1)
		Wait
	}
}

ACTOR DTSpectreGhostC : DTSpectreGhostA
{   
States
	{
	Spawn:
		TNT1 A 1
		DSPC C 2 A_FadeOut(0.01,1)
		Wait
	}
}

ACTOR DTSpectreGhostD : DTSpectreGhostA
{   
States
	{
	Spawn:
		TNT1 A 1
		DSPC D 2 A_FadeOut(0.01,1)
		Wait
	}
}

ACTOR DTSpectreDemonTechProjectile : RedZDemonTechProjectile
{
+DontHurtSpecies
+DontHarmSpecies
Species ""
Species "Fiends"
DamageType ""
DamageType "DTFiendEx"
}

ACTOR DTSpectreArm : DTFiendArm
{
Alpha 0.25
States
	{
	Spawn:
		DSAA ABCDEFGH 3 A_SpawnItemEx("NewFlyingBlood",0,0,0,Random(-4,4),Random(-4,4),Random(-4,4),0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		Loop
	Death:
	Crash:
		DSAA I 150
		DSAA I 5 A_FadeOut(0.1,1)
		Wait
	}
}