
actor ImpBall1 replaces DoomImpBall
{
  Game Doom
  SpawnID 10
  Radius 6
  Height 8
  Speed 10
  FastSpeed 20
  Damage 3
  Scale 0.3
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Alpha 1
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  States
  {
  Spawn:
    CORN d 0 A_CustomMissile("ImpBallTrail",0,0,0,0,0)
    CORN d 0 A_CustomMissile("ImpBallSmoke",-9,0,0+random(-360,360),0,0+random(-360,360))
    CORN d 1 bright A_CustomMissile("ImpBallFire",0,0,0+random(0,360),0,0+random(0,360))
	CORN d 0 A_CustomMissile("ImpBallFire",0,2,0+random(-360,360),2,0+random(-360,360))
    loop
  Death:
    CORN dddddddddddd 0 A_CustomMissile("ImpBallBlast",0,2,0+random(-360,360),2,0+random(-360,360))
    CORN d 6 bright
    stop
  }
}

ACTOR ImpBallSmoke
{
	Radius		1
	Height		1
   Renderstyle Translucent
   Alpha     0.54
	Alpha		1
	Scale		0.5
        Speed 1
    PROJECTILE
         +NOCLIP
	States
	{
	Spawn:
	    null a 7
		SMOK A 1 A_SetTranslucent(.9,1)
		SMOK A 1 A_SetTranslucent(.9,1)
		SMOK A 1 A_SetTranslucent(.9,1)
		SMOK A 1 A_SetTranslucent(.9,1)
		SMOK A 1 A_SetTranslucent(.9,1)
		SMOK A 1 A_SetTranslucent(.9,1)
		SMOK B 1 A_SetTranslucent(.8,1)
		SMOK B 1 A_SetTranslucent(.8,1)
		SMOK B 1 A_SetTranslucent(.8,1)
		SMOK B 1 A_SetTranslucent(.8,1)
		SMOK B 1 A_SetTranslucent(.8,1)
		SMOK B 1 A_SetTranslucent(.8,1)
		SMOK C 1 A_SetTranslucent(.5,1)
		SMOK C 1 A_SetTranslucent(.5,1)
		SMOK C 1 A_SetTranslucent(.5,1)
		SMOK D 1 A_SetTranslucent(.4,1)
		SMOK D 1 A_SetTranslucent(.4,1)
		SMOK D 1 A_SetTranslucent(.4,1)
		SMOK E 1 A_SetTranslucent(.3,1)
		SMOK E 1 A_SetTranslucent(.3,1)
		SMOK E 1 A_SetTranslucent(.3,1)
		SMOK d 1 A_SetTranslucent(.2,1)
		SMOK d 1 A_SetTranslucent(.2,1)
		SMOK d 1 A_SetTranslucent(.2,1)
		SMOK e 1 A_SetTranslucent(.1,1)
		SMOK e 1 A_SetTranslucent(.1,1)
		SMOK e 1 A_SetTranslucent(.1,1)
		Stop
	}
}

actor ImpBallFire
{
	Radius		1
	Height		1
   Renderstyle Translucent
	Alpha		1
	Scale		0.25
    Speed 0.35
    PROJECTILE
    +DOOMBOUNCE
	States
	{
	Spawn:
		null A 0 A_Jump(128,6)
		null A 0 A_Jump(128,10)
		Blst a 1 BRIGHT A_SetTranslucent(.95,1)
		Blst b 1 BRIGHT A_SetTranslucent(.9,1)
		Blst c 1 BRIGHT A_SetTranslucent(.85,1)
		Blst b 1 BRIGHT A_SetTranslucent(.8,1)
		Blst E 1 BRIGHT A_SetTranslucent(.75,1)
		Blst F 1 BRIGHT A_SetTranslucent(.7,1)
		Blst G 1 BRIGHT A_SetTranslucent(.65,1)
		Blst H 1 BRIGHT A_SetTranslucent(.6,1)
		Blst I 1 BRIGHT A_SetTranslucent(.55,1)
		Blst J 1 BRIGHT A_SetTranslucent(.5,1)
		Blst K 1 BRIGHT A_SetTranslucent(.45,1)
		Blst L 1 BRIGHT A_SetTranslucent(.4,1)
		Blst M 1 BRIGHT A_SetTranslucent(.35,1)
		Blst N 1 BRIGHT A_SetTranslucent(.3,1)
		Blst O 1 BRIGHT A_SetTranslucent(.25,1)
		Blst P 1 BRIGHT A_SetTranslucent(.2,1)
		Blst Q 1 BRIGHT A_SetTranslucent(.15,1)
		Blst R 1 BRIGHT A_SetTranslucent(.1,1)
		Blst S 1 BRIGHT A_SetTranslucent(.09,1)
		Blst Y 1 BRIGHT A_SetTranslucent(.08,1)
		Blst U 1 BRIGHT A_SetTranslucent(.07,1)
		Blst V 1 BRIGHT A_SetTranslucent(.06,1)
		Blst W 1 BRIGHT A_SetTranslucent(.05,1)
		Blst X 1 BRIGHT A_SetTranslucent(.04,1)
		Blst Y 1 BRIGHT A_SetTranslucent(.03,1)
		Blst Z 1 BRIGHT A_SetTranslucent(.02,1)
		Stop
	}
}

actor ImpBallBlast
{
	Radius		1
	Height		1
   Renderstyle Translucent
	Alpha		1
	Scale		0.3
    Speed 0.5
    PROJECTILE
    +DOOMBOUNCE
	States
	{
	Spawn:
		null A 0 A_Jump(128,6)
		null A 0 A_Jump(128,10)
		Blst a 1 BRIGHT A_SetTranslucent(.95,1)
		Blst b 1 BRIGHT A_SetTranslucent(.9,1)
		Blst c 1 BRIGHT A_SetTranslucent(.85,1)
		Blst b 1 BRIGHT A_SetTranslucent(.8,1)
		Blst E 1 BRIGHT A_SetTranslucent(.75,1)
		Blst F 1 BRIGHT A_SetTranslucent(.7,1)
		Blst G 1 BRIGHT A_SetTranslucent(.65,1)
		Blst H 1 BRIGHT A_SetTranslucent(.6,1)
		Blst I 1 BRIGHT A_SetTranslucent(.55,1)
		Blst J 1 BRIGHT A_SetTranslucent(.5,1)
		Blst K 1 BRIGHT A_SetTranslucent(.45,1)
		Blst L 1 BRIGHT A_SetTranslucent(.4,1)
		Blst M 1 BRIGHT A_SetTranslucent(.35,1)
		Blst N 1 BRIGHT A_SetTranslucent(.3,1)
		Blst O 1 BRIGHT A_SetTranslucent(.25,1)
		Blst P 1 BRIGHT A_SetTranslucent(.2,1)
		Blst Q 1 BRIGHT A_SetTranslucent(.15,1)
		Blst R 1 BRIGHT A_SetTranslucent(.1,1)
		Blst S 1 BRIGHT A_SetTranslucent(.09,1)
		Blst Y 1 BRIGHT A_SetTranslucent(.08,1)
		Blst U 1 BRIGHT A_SetTranslucent(.07,1)
		Blst V 1 BRIGHT A_SetTranslucent(.06,1)
		Blst W 1 BRIGHT A_SetTranslucent(.05,1)
		Blst X 1 BRIGHT A_SetTranslucent(.04,1)
		Blst Y 1 BRIGHT A_SetTranslucent(.03,1)
		Blst Z 1 BRIGHT A_SetTranslucent(.02,1)
		Stop
	}
}

actor ImpBallTrail
{
	Radius		1
	Height		1
   Renderstyle Translucent
	Alpha		1
	Scale		0.2
    PROJECTILE
	States
	{
	Spawn:
		CORN d 1 bright A_SetTranslucent(.9,1)
		CORN d 1 bright A_SetTranslucent(.8,1)
		CORN d 1 bright A_SetTranslucent(.7,1)
		CORN d 1 bright A_SetTranslucent(.6,1)
		CORN d 1 bright A_SetTranslucent(.5,1)
		CORN d 1 bright A_SetTranslucent(.4,1)
		CORN d 1 bright A_SetTranslucent(.3,1)
		CORN d 1 bright A_SetTranslucent(.2,1)
		CORN d 1 bright A_SetTranslucent(.1,1)
		Stop
	}
}