ACTOR Spectro: BullDemon Replaces Spectre
{
	Mass 400
    -FASTER
	DropItem "DemonStrengthRune" 2
	DropItem "SuperBlurSphere" 12
	RenderStyle Add
    Alpha 0.45
	speed 8
	fastspeed 6
	Obituary "%o has been sodomized by a Spectre."
	Tag "Spectre"
	States
	{
	ReplaceVanilla:
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 1)
		TNT1 A 0 A_ChangeFlag("COUNTKILL", 0)
		TNT1 A 0 A_SpawnItemEx ("VanillaSpectre",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		Stop
    Spawn:
		SPEC A 1
		TNT1 A 0 ACS_NamedExecuteAlways("BDCHeckClassicMonsters", 0, 0, 0, 0)//Check if Vanilla Mode is activated
	Spawned:
		SPEC AAAAAAAAAAAAAAAAAA 10 BRIGHT A_Look
		Loop
	SpawnVisible:
		
		SARG A 10
		Goto Spawned
		
	See:
        TNT1 A 0 A_SpawnItemEx("FootStep", 0, 0, 30, 0, 0)
		TNT1 A 0 A_JumpIfInTargetInventory("HasInfrared", 1, "SeeVisible")
		SPEC AAABBBAAABBB 1 BRIGHT A_Chase
		TNT1 A 0 A_JumpIfInTargetInventory("HasInfrared", 1, "SeeVisible")
		SPEC AAABBBAAABBB 1 BRIGHT A_Chase
		Loop
	
	SeeVisible:
		SARG AAABBBCCCDDD 1 A_Chase
		Goto See
	
	Pain:
		SARG H 2
		SARG H 2 A_Pain
		Goto See
	Pain:
		SARG H 2
		SARG H 2 A_Pain
		Goto See
		
	Pain.Shotgun:
         TNT1 A 0 A_Pain
         TNT1 A 0
        //TNT1 A 0 ThrustThingZ(0,30,0,1)
        TNT1 A 0 A_FaceTarget
        TNT1 A 0 A_Recoil (2)
         SARG H 2
		 //DEMP A 4
		 SARG H 2
         Goto See	

    Pain.Kick:
	Pain.HeavyImpact:
         TNT1 A 0 A_Pain
         TNT1 A 0
        //TNT1 A 0 ThrustThingZ(0,30,0,1)
        TNT1 A 0 A_FaceTarget
        TNT1 A 0 A_Recoil (9)
         SARG H 4
		 //DEMP B 6
		 SARG H 4
         Goto See
		 
	Missile:
		TNT1 A 0
		TNT1 A 0 A_JumpIFCloser(100, "Melee")
		Goto See
		 
	Melee:
	    TNT1 A 0
		TNT1 A 0 A_TakeInventory("EnemyMemory", 100)
		TNT1 A 0 A_JumpIfInTargetInventory("ComeEatMeDemon", 1, "MeleeDown")
		SARG E 1 A_FaceTarget
		TNT1 A 0 A_Recoil(-5)
		SARG E 6 A_FaceTarget
		SARG F 6 A_FaceTarget
		TNT1 A 0 A_CustomMissile("DemonAttack",40,0,0,0)
		SARG G 12 A_CustomMissile("DemonAttack",5,0,0,0)

	TNT1 A 0 A_JumpIfInventory("ZombieManFatality", 1, "FatalityZombieman")
	TNT1 A 0 A_JumpIfInventory("SergeantFatality", 1, "FatalitySergeant")
	TNT1 A 0 A_JumpIfInventory("ImpFatality", 1, "FatalityImp")
	TNT1 A 0 A_JumpIfInventory("ComandoFatality", 1, "FatalityComando")	

     TNT1 A 0 A_JumpIfInventory("EatMe", 1, "Eat")
		Goto See	
	}
}