Actor Enesce
{
//Creator: Monsterovich (Complex-MM) (Suggested by Titanium)
//Origin: Nexus Infinity
//Sprite: ENES
//Title: "Enesce"
  Health 1600
  Radius 20
  Height 64
  Mass 600
  Speed 20
  Painchance 10
  Monster
  SeeSound "enesce/sight"
  PainSound "enesce/pain"
  DeathSound "enesce/death"
  ActiveSound "enesce/active"
  Obituary "%o was ghostaken by enesce."
  RenderStyle Translucent
  BloodColor Black
  DropItem "HealthFlask" 255, 3
  Species "Viles"
  Tag "\c[t6]Enesce\c-"
  Alpha 0.5
  States
  {
  Spawn:
    ENES AB 10 A_Look
    Loop
  See:
	ENES AA 2 A_Chase
	TNT1 A 0 A_SpawnItem("EnesceWalkEffect1")
	ENES BB 2 A_Chase
	TNT1 A 0 A_SpawnItem("EnesceWalkEffect2")
	ENES CC 2 A_Chase
	TNT1 A 0 A_SpawnItem("EnesceWalkEffect3")
	ENES EE 2 A_Chase
	TNT1 A 0 A_SpawnItem("EnesceWalkEffect4")
	ENES FF 2 A_Chase
	TNT1 A 0 A_SpawnItem("EnesceWalkEffect5")
    Loop
  SpiritAttack:
	ENES A 0 A_PlaySound("enesce/active", CHAN_BODY) 
    ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
    ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 0)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 45)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 90)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 135)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 180)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 225)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 270)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 315)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 360)
    ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 0)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 45)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 90)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 135)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 180)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 225)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 270)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 315)
	ENES A 0 A_CustomMissile("EnesceBall", 32, 0, 360)
    ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	ENES "[[[" 1 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
    Goto See
  Missile:
	ENES G 0 A_JumpIfCloser(127, "SpiritAttack")
    ENES G 0 A_PlaySound("enesce/attack", CHAN_BODY) 
    ENES GHIJKLMN 3 A_FaceTarget
    ENES O 3 A_CustomMissile("EnesceBall", 32)
	ENES O 3 A_FaceTarget
	ENES O 3 A_CustomMissile("EnesceBall", 32)
	ENES O 3 A_FaceTarget
	ENES O 3 A_CustomMissile("EnesceBall", 32)
    ENES P 5
    Goto See
  Pain:
    ENES Q 5   
    ENES Q 5 A_Pain
    Goto See
  Death:
    ENES Q 1
    ENES Q 0 A_Scream
    ENES Q 0 A_NoBlocking
	ENES QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ 1 A_FadeOut(0.01)
	Stop
  }
}

Actor EnesceBallEffect
{
	+NOBLOCKMAP
	+NOGRAVITY
	+NOTELEPORT
	RenderStyle Translucent
	Alpha 0.5
	Scale 0.5
	States
	{
		Spawn:
			ENEB A 1 A_FadeOut(0.01)
			Loop
	}
}

Actor EnesceBallParticle : EnesceBallEffect
{
	Projectile
	Speed 10
}

ACTOR EnesceBall
{
  Radius 12
  Height 16
  Speed 30
  FastSpeed 40
  Damage 10
  Projectile
  RenderStyle Add
  Alpha 0.9
  Scale 1.75
  SeeSound "eneball/see"
  States
  {
  Spawn:
    ENEB A 1 A_SpawnItem("EnesceBallEffect")
	TNT1 AAA 0 A_SpawnItemEx("EnesceBallParticle", 0, 0, 0, (0.1)*Random(50, 100), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    ENEB B 1 A_SpawnItem("EnesceBallEffect")
	TNT1 AAA 0 A_SpawnItemEx("EnesceBallParticle", 0, 0, 0, (0.1)*Random(50, 100), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    Loop
  Death:
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx("EnesceBallParticle", 0, 0, 0, (0.1)*Random(50, 100), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    ENEB CDE 3
    Stop
  }
}

Actor EnesceWalkEffect1
{
	+NOBLOCKMAP
	+NOGRAVITY
	+NOTELEPORT
	RenderStyle Translucent
	Alpha 0.45
	States
	{
		Spawn:
			ENES A 1 A_FadeOut(0.01)
			Loop
	}
}

Actor EnesceWalkEffect2 : EnesceWalkEffect1
{
	States
	{
		Spawn:
			ENES B 1 A_FadeOut(0.01)
			Loop
	}
}

Actor EnesceWalkEffect3 : EnesceWalkEffect1
{
	States
	{
		Spawn:
			ENES C 1 A_FadeOut(0.01)
			Loop
	}
}

Actor EnesceWalkEffect4 : EnesceWalkEffect1
{
	States
	{
		Spawn:
			ENES E 1 A_FadeOut(0.01)
			Loop
	}
}

Actor EnesceWalkEffect5 : EnesceWalkEffect1
{
	States
	{
		Spawn:
			ENES F 1 A_FadeOut(0.01)
			Loop
	}
}

