//////////////////////////
// HERETIC IMP ENHANCED //
//////////////////////////

ACTOR HereticImpGore : HereticImp replaces HereticImp
{
DeathHeight 0
states
{
  Death:
    IMPX G 0 
	IMPX GG 0 A_SpawnItem("Blood")
	IMPX G 0 A_SpawnItem("BloodClone")
    IMPX G 4 A_ImpDeath
	TNT1 A 0 A_Gravity
    IMPX H 5
    Wait
  XDeath:
    IMPX S 5 A_ImpXDeath1
	IMPX TTTT 0 A_SpawnItem("Blood")
	IMPX TTT 0 A_SpawnItem("BloodClone")
    IMPX TU 5
    IMPX V 5 A_Gravity
    IMPX W 5 
    Wait
  Crash:
    IMPX I 7 A_ImpExplode
    IMPX II 0 A_SpawnItem("Blood")
    IMPX I 0 A_SpawnItem("BloodClone")	
    IMPX J 7 A_Scream
    IMPX K 7
    IMPX L -1
    Stop
  XCrash:
	IMPX XXXX 0 A_SpawnItem("Blood")
    IMPX X 7
	IMPX Y 0 A_SpawnItem("Blood")
    IMPX Y 7
    IMPX Z -1
    Stop
   Death.Squishy:
    TNT1 A 0 A_Gravity
    TNT1 AAAAA 0 A_SpawnItem("Blood")
    TNT1 A -1
	stop
  }
}

ACTOR HereticImpLeaderGore : HereticImpLeader replaces HereticImpLeader
{
states
{
  Death:
    IMPX G 0 
	IMPX GGG 0 A_SpawnItem("Blood")
	IMPX GG 0 A_SpawnItem("BloodClone")
    IMPX G 4 A_ImpDeath
    IMPX H 5
    Wait
  XDeath:
    IMPX S 5 A_ImpXDeath1
	IMPX TTTTT 0 A_SpawnItem("Blood")
	IMPX TTTT 0 A_SpawnItem("BloodClone")
    IMPX TU 5
    IMPX V 5 A_Gravity
    IMPX W 5 
    Wait
  Crash:
    IMPX III 0 A_SpawnItem("Blood")
    IMPX I 7 
    IMPX II 0 A_SpawnItem("BloodClone")	
    IMPX J 7 A_Scream
    IMPX K 7
    IMPX L -1
    Stop
  XCrash:
	IMPX XXXXX 0 A_SpawnItem("Blood")
    IMPX X 7
	IMPX YY 0 A_SpawnItem("Blood")
    IMPX Y 7
    IMPX Z -1
    Stop
  }
}

ACTOR HereticImpBall~ : HereticImpBall replaces HereticImpBall 
{
Scale 0.6
  States
  {
      Spawn:
        BRB2 A 0
		BRB2 AAAAAABBBBBB 1 BRIGHT A_SpawnItemEx("TrailA",random(-3,3),random(-3,3),random(-1,1),0,0,random(1,3))
		Loop
	Death:
	        TNT1 AAAAA 0 A_SpawnItemEx("SparkPiece", 0, 0, 4, (0.1)*Random(10, 40), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)
    TNT1 A 0 A_SpawnItem("ImpBallFlash",0,4)
		BRB2 CDEFGHI 3 Bright
		Stop
		}
}



ACTOR ImpBallFlash : Baseflare
{
   Scale 0.2
   alpha 1
   +DONTSPLASH
   +BRIGHT
   States
   {
   Spawn:
	TNT1 A 0 
	YGZF A 4 BRIGHT
   Death:
	YGZF A 1 BRIGHT A_FadeOut
	Loop
   }
}

ACTOR TrailA
{
  +NOBLOCKMAP
  +NOGRAVITY
  +NOTELEPORT
  +CANNOTPUSH
  +CLIENTSIDEONLY
  scale 0.1
  RenderStyle Add
  Alpha 1
  States
  {
  Spawn:
    SMKG ABCDEFGHIJ 1 ThrustThingZ(0,1,0,0)
	stop
  }
}

