ACTOR DarkVile : Archvile
{
  OBITUARY "%o shit %hself when looking at the Darkvile."
  Health 3666
  Radius 20
  Height 64
  Mass 1000
  Speed 11
  RenderStyle Translucent
  Alpha 0.57  
  Scale 1.1
  PainChance 10
  Bloodcolor "00 50 00"
  SEESOUND "darkvile/sight"
  PAINSOUND "darkvile/pain"
  DEATHSOUND "darkvile/death"
  ACTIVESOUND "vile/active"
  Species "Viles"
  DamageFactor 0.6
  DamageFactor "Cyber10K", 0.0
  DamageFactor "DemolisherEx", 0.0
  DamageFactor "DarkDemoEx", 0.0
  DamageFactor "LegendaryPlayer", 0.02
  DamageFactor "Legendary", 0.2
  DamageFactor "LegendaryGuru", 0.1
  DamageFactor "LegendaryGuruPlayer", 0.1
  DamageFactor "PlayerDevBall", 0.2
  DamageFactor "PlayerDevBall2", 0.2
  DamageFactor "PlayerDTBFGRailgunSlug", 0.2
  DamageFactor "PlayerDevTracer", 0.2
  DamageFactor "Baby15K", 0.0
  DamageFactor "Railg", 0.5
  DamageFactor "BFGSplash", 0.2
  DamageFactor "BFGSpray", 0.2
  DamageFactor "PDTBFG", 0.2
  DamageFactor "PDTBFGTracer", 0.2
  DamageFactor "PlayerNemesisPlasma", 0.5
  DamageFactor "PyroShot", 0.0
  DamageFactor "PlayerPyro", 0.0
  DamageFactor "VileFires", 0.0
  DropItem "BossLifeEssence" 200
  DropItem "BossArmorBonusMax" 200
  DropItem "BigCFMana" 128 100
  DropItem "BigCFMana" 128 100
  DropItem "CFMana" 256 30
  DropItem "CFMana" 256 30
  DropItem "UltraSphere" 128
  DropItem "HellStaff" 128
  DropItem "OccultSpellbook" 96
  DropItem "DarkvileEnergy" 128
  DropItem "Vileessence" 128
  MONSTER
  +FloorClip
  +NoTarget
  +QuickToRetaliate
  +ShortMissileRange
  +DontHurtSpecies
  +Boss
  +MISSILEMORE
  +MISSILEEVENMORE
  Tag "\c[o7]DarkVile\c-"
 States
  {
  Spawn:
	DZ00 AB 10 A_Look
	Loop
  See:
	TNT1 A 0 A_UnSetInvulnerable
	DZ00 AABBCCDDEEFF 2 A_VileChase
	Loop
  Missile:
	TNT1 A 0 A_Jump(128,"Missile2")
	TNT1 A 0 A_Jump(64,"Missile4")
	TNT1 A 0 A_PlaySound("darkvile/fire")
	DZ00 G 10 A_PlaySound ("weapons/lightningstarter")
	DZ00 HIJKLMN 6 Bright A_FaceTarget
	TNT1 A 0 A_PlayWeaponSound ("weapons/wavelaunch")
	DZ00 O 6 Bright A_CustomMissile("DarkSlicer",32,0,0)
	DZ00 P 12 Bright A_FaceTarget
	Goto See
  Missile2:
	TNT1 A 0 A_Jump(128,"Missile3")
	TNT1 A 0 A_Jump(64,"Missile4")
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_PlaySound("darkvile/fire")
	DZ00 G 10 Bright A_FaceTarget
	DZ00 HIJKLM 8 Bright A_FaceTarget
	TNT1 A 0 A_UnSetInvulnerable
	DZ00 N 8 Bright A_CustomMissile("MinivileSpawn",32,0,0)   	
	DZ00 O 8 Bright A_PlaySound("darkvile/sight")
	DZ00 P 20 Bright A_FaceTarget
	Goto See
  Missile3:
	DZ00 "[\]" 4 Bright A_FaceTarget
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,50,0,0,-25)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,-50,0,0,-35)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,50,0,0,-15)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,-50,0,0,-25)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,50,0,0,35)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,-50,0,0,-15)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,50,0,0,-25)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,-50,0,0,-15)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,50,0,0,-25)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,-50,0,0,-30)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,50,0,0,-15)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,-50,0,0,-25)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,50,0,0,-30)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,-50,0,0,-25)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,50,0,0,-15)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,-50,0,0,-35)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,50,0,0,-25)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,-50,0,0,-15)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,50,0,0,-30)
	DZ00 "[\]" 1 Bright A_CustomMissile("DarkIce",64,-50,0,0,-15)
	Goto See
  Missile4:
	TNT1 A 0 A_SetInvulnerable
	DZ00 "[\]" 0 Bright A_FaceTarget
	DZ00 "[\]" 40 Bright A_PlaySound("darkthunder/charge")
	DZ00 "[\]" 4 Bright A_FaceTarget
	TNT1 A 0 A_UnSetInvulnerable
	DZ02 G 0 Bright A_PlaySound("darkthunder/charge2")
	DZ02 GHIJKLMNO 4 Bright 
	DZ02 P 4 Bright A_CustomMissile("DarkThunderBolt",64,0,0,0,0)
	Goto See
  Heal:
	DZ00 "[\]" 10 Bright
	Goto See
  Pain:
	DZ00 Q 5
	DZ00 Q 5 A_Pain
	Goto See
  Death:
	DZ00 "[" 0 A_Scream
	DZ00 "\" 5 A_CustomMissile("BlasterShot9",random(25,50),random(15,-15),random(-135,-215),0,random(-25,50))
	DZ00 "\" 5 A_CustomMissile("ThunderRunner",random(0,25),random(-15,15),random(135,215))
	DZ00 "\" 5 A_CustomMissile("BlasterShot9",random(25,50),random(15,-15),random(-135,-215),0,random(-25,50))
	DZ00 "\" 5 A_CustomMissile("ThunderRunner",random(0,25),random(-15,15),random(135,215))
	DZ00 "\" 5 A_CustomMissile("BlasterShot9",random(25,50),random(15,-15),random(-135,-215),0,random(-25,50))
	DZ00 "\" 5 A_CustomMissile("ThunderRunner",random(0,25),random(-15,15),random(135,215))
	DZ00 "\" 5 A_CustomMissile("BlasterShot9",random(25,50),random(15,-15),random(-135,-215),0,random(-25,50))
	DZ00 "\" 5 A_CustomMissile("ThunderRunner",random(0,25),random(-15,15),random(135,215))
	DZ00 "\" 5 A_CustomMissile("BlasterShot9",random(25,50),random(15,-15),random(-135,-215),0,random(-25,50))
	DZ00 "\" 5 A_CustomMissile("ThunderRunner",random(0,25),random(-15,15),random(135,215))
	DZ00 "\" 5 A_CustomMissile("BlasterShot9",random(25,50),random(15,-15),random(-135,-215),0,random(-25,50))
	DZ00 "]" 5 A_CustomMissile("ThunderRunner",random(0,25),random(-15,15),random(135,215))
	DZ00 "\" 5 A_CustomMissile("BlasterShot9",random(25,50),random(15,-15),random(-135,-215),0,random(-25,50))
	DZ00 "\" 5 A_CustomMissile("ThunderRunner",random(0,25),random(-15,15),random(135,215))
	DZ00 "\" 5 A_CustomMissile("BlasterShot9",random(25,50),random(15,-15),random(-135,-215),0,random(-25,50))
	DZ00 "[" 5 A_CustomMissile("ThunderRunner",random(0,25),random(-15,15),random(135,215))
	DZ00 "\" 5 A_CustomMissile("BlasterShot9",random(25,50),random(15,-15),random(-135,-215),0,random(-25,50))
	DZ00 "]" 5 A_CustomMissile("ThunderRunner",random(0,25),random(-15,15),random(135,215))
	DZ00 "\" 5 A_CustomMissile("BlasterShot9",random(25,50),random(15,-15),random(-135,-215),0,random(-25,50))
	DZ00 "\" 5 A_CustomMissile("ThunderRunner",random(0,25),random(-15,15),random(135,215))
	DZ01 A 1 A_UnSetShootable
	TNT1 A 0 A_PlaySound("darkthunder/fire",7,1.0,0,ATTN_NONE)
	DZ01 A 2 A_CustomMissile("DarkThunderStrike",0,0,0,0)
	DZ01 A 0 A_CustomMissile("ThunderRunnerNull",0,0,0,0)
	DZ01 A 0 A_CustomMissile("BlasterShot9Null",0,0,0,0)
	DZ01 BCDEFGHIJKLMNOPQRSTUVWXY 2
	DZ01 Z 2 A_NoBlocking
	Stop
  }
}

actor DarkSlicer
{
  obituary "%o was sliced in two by the Darkvile 's god-like energy!"
  radius 4
  height 6
  speed 18
  damage (60)
  ReactionTime 6
  renderstyle Add
  alpha 0.75
  scale 0.25
  attacksound "weapon/disckill"
  Damagetype "VileFires"
  PROJECTILE
  +SEEKERMISSILE
  +HEXENBOUNCE
  +EXTREMEDEATH 
  BounceCount 6
 States
  {
  Spawn:
	TNT1 A 0 A_SeekerMissile (20,30,SMF_LOOK|SMF_PRECISE,45,2)
	DSLI A 2 Bright A_SpawnItemEx("DarkSlicerTrailA",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SeekerMissile (20,30,SMF_LOOK|SMF_PRECISE,45,2)
	DSLI B 2 Bright A_SpawnItemEx("DarkSlicerTrailB",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SeekerMissile (20,30,SMF_LOOK|SMF_PRECISE,45,2)
	DSLI C 2 Bright A_SpawnItemEx("DarkSlicerTrailC",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SeekerMissile (20,30,SMF_LOOK|SMF_PRECISE,45,2)
	DSLI D 2 Bright A_SpawnItemEx("DarkSlicerTrailD",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SeekerMissile (20,30,SMF_LOOK|SMF_PRECISE,45,2) 
	DSLI E 2 Bright A_SpawnItemEx("DarkSlicerTrailE",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SeekerMissile (20,30,SMF_LOOK|SMF_PRECISE,45,2) 
	DSLI F 2 Bright A_SpawnItemEx("DarkSlicerTrailF",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SeekerMissile (20,30,SMF_LOOK|SMF_PRECISE,45,2) 
	DSLI G 2 Bright A_SpawnItemEx("DarkSlicerTrailG",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SeekerMissile (20,30,SMF_LOOK|SMF_PRECISE,45,2) 
	DSLI H 2 Bright A_SpawnItemEx("DarkSlicerTrailH",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Countdown
	Loop
  Death:
	TNT1 A 0 A_PlaySound("weapons/wavedeath")
	TNT1 A 0 A_SetScale(0.5)
	TNT1 A 0 A_Jump(128,"Death2")
	TNT1 A 0 A_Explode(12,100,0)
	DSLI I 2 Bright A_FadeOut(0.10)
	TNT1 A 0 A_Explode(12,100,0)
	DSLI J 2 Bright A_FadeOut(0.10)
	TNT1 A 0 A_Explode(12,100,0)
	DSLI K 2 Bright A_FadeOut(0.10)
	TNT1 A 0 A_Explode(12,100,0)
	DSLI L 2 Bright A_FadeOut(0.10)
	TNT1 A 0 A_Explode(12,100,0)
	DSLI M 2 Bright A_FadeOut(0.10)
	Stop
  Death2:
	TNT1 A 0 A_Explode(12,100,0)
	DSLI N 2 Bright A_FadeOut(0.10)
	TNT1 A 0 A_Explode(12,100,0)
	DSLI O 2 Bright A_FadeOut(0.10)
	TNT1 A 0 A_Explode(12,100,0)
	DSLI P 2 Bright A_FadeOut(0.10)
	TNT1 A 0 A_Explode(12,100,0)
	DSLI Q 2 Bright A_FadeOut(0.10)
	TNT1 A 0 A_Explode(12,100,0)
	DSLI R 2 Bright A_FadeOut(0.10)
	Stop
 }
}

Actor DarkSlicerTrailA
{    
 PROJECTILE
 +NOCLIP
 +CLIENTSIDEONLY
 Scale 1
 Renderstyle ADD
 Alpha 0.6
 Scale 0.2
 States
 {   
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
	DSLI ABCDEFGH 1 Bright A_FadeOut(0.05)
	Stop
  Vanilla:
	TNT1 A 0
	Stop
 }
}

Actor DarkSlicerTrailB : DarkSlicerTrailA
{    
 States
 {   
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
	DSLI BCDEFGHA 1 Bright A_FadeOut(0.05)
	Stop
 }
}
Actor DarkSlicerTrailC : DarkSlicerTrailA
{    
 States
 {   
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
	DSLI CDEFGHAB 1 Bright A_FadeOut(0.05)
	Stop
 }
}

Actor DarkSlicerTrailD : DarkSlicerTrailA
{    
 States
 {   
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
	DSLI DEFGHABC 1 Bright A_FadeOut(0.05)
	Stop
 }
}

Actor DarkSlicerTrailE : DarkSlicerTrailA
{    
 States
 {   
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
	DSLI EFGHABCD 1 Bright A_FadeOut(0.05)
	Stop
 }
}

Actor DarkSlicerTrailF : DarkSlicerTrailA
{    
 States
 {   
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
	DSLI FGHABCDE 1 Bright A_FadeOut(0.05)
	Stop
 }
}

Actor DarkSlicerTrailG : DarkSlicerTrailA
{    
 States
 {   
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
	DSLI GHABCDEF 1 Bright A_FadeOut(0.05)
	Stop
 }
}

Actor DarkSlicerTrailH : DarkSlicerTrailA
{    
 States
 {   
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
	DSLI HABCDEFG 1 Bright A_FadeOut(0.05)
	Stop
 }
}

ACTOR DarkThunderBolt
{
 Radius 4
 Height 6
 Speed 15
 Damage 125
 RENDERSTYLE ADD
 Alpha 0.75
 Scale 0.25
 SeeSound "darkthunder/fire"
 DeathSound "darkthunder/fire"
 Damagetype "VileFires"
 PROJECTILE
 +SeekerMissile
 BounceType "Hexen"
 var int user_lifetime;
 States
 {
  Spawn:
	TNT1 A 0 A_JumpIf(user_lifetime > 12,"Death")
	TNT1 A 0 A_PlaySound("darkthunder/fire")
	DZ06 ABC 3 Bright A_SpawnItemEx("LegRedThunderLightningWaveSpawner",0,0,0,0,0,0,0,0,160)
	TNT1 A 0 A_CustomMissile("ThunderRunner",random(0,25),random(-15,15),random(135,215))
	DZ06 DEF 3 Bright A_SpawnItemEx("LegRedThunderLightningWaveSpawner",0,0,0,0,0,0,0,0,160)
	TNT1 A 0 A_CustomMissile("ThunderRunner",random(0,25),random(-15,15),random(110,240))
	DZ06 GHI 3 Bright A_SpawnItemEx("LegRedThunderLightningWaveSpawner",0,0,0,0,0,0,0,0,160)
	TNT1 A 0 A_CustomMissile("ThunderRunner",random(0,25),random(-15,15),random(90,270))
	TNT1 A 0 A_SetUserVar("user_lifetime",user_lifetime+1)
	Loop
 Death:
	DZ06 K 3 Bright A_CustomMissile("DarkThunderStrike",0,0,0,0)
	DZ06 JKLM 3 Bright
	Stop
 }
}

ACTOR DarkThunderStrike
{
 obituary "%o got fried by Lightning of Darkness!"
 renderstyle Add
 scale 2.0
 height 60
 radius 3
 speed 0
 PROJECTILE
 +FLOORHUGGER
 +NOCLIP
 states
 {
 Spawn:
  	DZ08 A 1 Bright
 Death:
  	DZ08 ABCB 2 Bright A_Explode(50,250)
  	DZ08 C 1 Bright A_Explode(50,250)
	Stop
 }
}

ACTOR MiniThunderBolt : DarkThunderBolt
{
 Alpha 0.75
 Scale 1
 States
   {
 Spawn:
  	TNT1 A 0 A_PlaySound("darkthunder/fire")
	VCFT ABC 1 Bright
  	TNT1 A 0 A_CustomMissile("MiniThunderBoltTrail",0,0,0)
	VCFT DEF 1 Bright
  	TNT1 A 0 A_CustomMissile("MiniThunderBoltTrail",0,0,0)
  	TNT1 A 0 A_CustomMissile("MiniThunderRunner",random(0,25),random(-15,15),random(135,215))
	VCFT ABC 1 Bright
  	TNT1 A 0 A_CustomMissile("MiniThunderBoltTrail",0,0,0)
	VCFT DEF 1 Bright
  	TNT1 A 0 A_CustomMissile("MiniThunderBoltTrail",0,0,0)
  	TNT1 A 0 A_CustomMissile("MiniThunderRunner",random(0,25),random(-15,15),random(110,240))
	VCFT ABC 1 Bright
  	TNT1 A 0 A_CustomMissile("MiniThunderBoltTrail",0,0,0)
	VCFT DEF 1 Bright
  	TNT1 A 0 A_CustomMissile("MiniThunderBoltTrail",0,0,0)
  	TNT1 A 0 A_CustomMissile("MiniThunderRunner",random(0,25),random(-15,15),random(90,270))
  	Loop
 Death:  
	FRME A 3 Bright
	FRME B 3 Bright A_Explode(250,250,1)
  	TNT1 AAAA 0 A_CustomMissile ("OrangeParticleSpawner", 0, 0, random (0, 360), 2, random (0, 180))
  	TNT1 A 0 Radius_Quake(15,20,0,20,0)
	FRME CDEFGHIJKLMNOPQRS 3 Bright
	Stop
   }
}

ACTOR MiniThunderBoltTrail
{
 PROJECTILE
 +NOCLIP
 +CLIENTSIDEONLY
 Scale 1
 Renderstyle ADD
 States
 {
  Spawn:
  Death:
	VCFT ABCDE 1 Bright A_FadeOut(0.1)
	stop
 }
}

ACTOR ThunderRunner
{
 obituary "%o was split-fried by the Darkvile 's god-like energy!"
 radius 5
 height 5
 renderstyle Add
 scale 0.3
 speed 30
 damage 20
 Damagetype "VileFires"
 PROJECTILE
 +BLOODSPLATTER
 +FLOORHUGGER
 +NOEXPLODEFLOOR
 -NOGRAVITY
 -COUNTKILL
 var int user_lifetime;
 States
  {
  Spawn:
	TNT1 A 0 A_JumpIf(user_lifetime < 52,"Death")
	DZ07 A 1 Bright A_BishopMissileWeave
 	DZ07 A 0 Bright A_CustomMissile("ThunderRunnerTrail",0,0,0)
	DZ07 B 1 Bright A_BishopMissileWeave
	DZ07 B 0 Bright A_CustomMissile("ThunderRunnerTrail",0,0,0)
	DZ07 C 1 Bright A_BishopMissileWeave
	DZ07 C 0 Bright A_CustomMissile("ThunderRunnerTrail",0,0,0)
	DZ07 D 1 Bright A_BishopMissileWeave
	DZ07 D 0 Bright A_CustomMissile("ThunderRunnerTrail",0,0,0)
	TNT1 A 0 A_SetUserVar("user_lifetime",user_lifetime+1)
	loop
  Death:
	DZ06 K 0 Bright A_Explode(80,175,1)
	DZ06 KLM 3 Bright
	stop
  }
}

ACTOR ThunderRunnerTrail
{
  Renderstyle Add
  Scale 0.2
  PROJECTILE
  +NOCLIP
  +CLIENTSIDEONLY
  +FLOORHUGGER
  +NOEXPLODEFLOOR
  -NOGRAVITY
 States
  {
  Spawn:
	DZ07 ABCD 1
  Death:
	DZ07 ABCDABCD 1 Bright A_FadeOut(0.1)
	stop
  }
}

ACTOR MiniThunderRunner : ThunderRunner
{
 obituary "%o was roasted by an Archvile midget, a goddamn vicious little rim-rat!"
 States
 {
  Spawn:
	VCBA A 1 Bright A_BishopMissileWeave
	VCBA A 0 Bright A_CustomMissile("MiniThunderRunnerTrail",0,0,0)
	VCBA B 1 Bright A_BishopMissileWeave
	VCBA B 0 Bright A_CustomMissile("MiniThunderRunnerTrail",0,0,0)
	VCBA C 1 Bright A_BishopMissileWeave
	VCBA C 0 Bright A_CustomMissile("MiniThunderRunnerTrail",0,0,0)
	loop
  Death:
	VCBA A 0 Bright A_Explode(40,160,1)
	VCBA ABC 3 Bright
	stop
 }
}

ACTOR MiniThunderRunnerTrail : ThunderRunnerTrail
{
  Scale 0.5
 States
  {
  Spawn:
 VCBA ABC 1
  Death:
 VCBA ABCABCABC 1 Bright A_FadeOut(0.1)
	stop
  }
}

ACTOR ThunderRunnerNull
{
 radius 5
 height 5
 Speed 1
 renderstyle Add
 scale 0.3
 PROJECTILE
 +BLOODSPLATTER
 +NOEXPLODEFLOOR
 -NOGRAVITY
 States
 {
  Spawn:
	NULL A 1 Bright
	NULL A 0 Bright A_Mushroom("ThunderRunner",4)
	NULL B 1 Bright A_BishopMissileWeave
	NULL B 0 Bright 
	NULL C 1 Bright A_BishopMissileWeave
	NULL C 0 Bright 
	NULL D 1 Bright A_BishopMissileWeave
	NULL D 0 Bright 
	goto death
  Death:
	NULL K 0 Bright A_Mushroom("ThunderRunner",4)
	NULL KLM 3 Bright
	stop
 }
}

ACTOR BlasterShot9
{
 Radius 6
 Height 7
 Speed 45
 Damage 4
 SEESOUND "weapons/blastershot"
 DEATHSOUND "imp/shotx"
 PROJECTILE
 -COUNTKILL
 Scale 0.5
 +HexenBounce
 +Ripper
 ExplosionDamage 4
 +RocketTrail 
 ExplosionRadius 72
 RENDERSTYLE ADD
 Alpha 0.67
 States
 {
  Spawn:
   	DZ09 ABABABABAB 4 Bright
   	Goto Death
  Death:
   	DZ09 A 3 Bright A_Explode
   	DZ09 B 3 Bright A_SpawnDebris("BlasterSpark9")
   	DZ09 CDE 3 Bright
   	Stop
 }
}

ACTOR BlasterShot9Null
{
 Radius 6
 Height 7
	Speed 1
 PROJECTILE
	-COUNTKILL
 Scale .5
 +HexenBounce
 +Ripper
 +RocketTrail 
 RENDERSTYLE ADD
 Alpha 0.67
   States
 {
 Spawn:
	NULL A 4 Bright 
	NULL B 4 Bright A_Mushroom("BlasterShot9",8)
   	Goto Death
 Death:
	NULL A 3 Bright A_Mushroom("BlasterShot9",8)
	NULL BCDE 3 Bright
   	Stop
 }
}

ACTOR BlasterSpark9
{
 Health 4
 Radius 3
 Height 6
 Speed .1
 RenderStyle ADD
 Alpha 1
 Scale .1
 Mass 0
 +missile
 +doombounce
 +FLOORCLIP
 +DONTSPLASH
 States
 {
   	DZ09 A 1
   	DZ09 ABABA 1  Bright A_SetTranslucent(0.8,1)
   	DZ09 ABABABA 1  Bright A_SetTranslucent(0.6,1)
   	DZ09 ABABABABA 1  Bright A_SetTranslucent(0.4,1)
   	DZ09 ABABABABABA 1 Bright A_SetTranslucent(0.2,1)
   	Stop
 }
}

ACTOR MinivileSpawn
{
   Radius 5
   Height 5
   Speed 12
   Damage 99
   RENDERSTYLE Normal
   Damagetype "VileFires"
   PROJECTILE
   +THRUGHOST
   -NOGRAVITY
   Gravity 0.25
   SEESOUND "darkthunder/death"
   DEATHSOUND "vile/firecrkl"   
  States
   {
   Spawn:
	ARCB AAAABBBBCCCC 1 Bright A_SpawnItem("HellionSmokeSpawner",0,0)
  	Loop
   Death:
	ARCB J 0 Bright A_SetTranslucent (0.67,1)
	ARCB J 3 Bright A_SpawnItem("MiniArchvile",0,0)
	ARCB K 3 Bright A_Explode(250,100,0)
	ARCB LMN 3 Bright A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
  	Stop
   }
}

ACTOR MiniArchvile : Archvile
{
  OBITUARY "%o was roasted by an Archvile midget, a goddamn vicious little rim-rat!"
  Health 450
  Radius 10
  Height 28
  Mass 250
  Speed 28
  Scale 0.5
  PainChance 30
  SEESOUND "minivile/sight"
  ACTIVESOUND "minivile/active"
  PAINSOUND "minivile/pain"
  DEATHSOUND "minivile/death"
  Species "Viles"
  DamageFactor "VileFires", 0.0
  DropItem "LifeEssence" 128
  DropItem "ArmorBonusMax" 128
  DropItem "CFMana" 128
  +FloorClip
  +QuickToRetaliate
  +ShortMissileRange
  +DONTHURTSPECIES
  +LOOKALLAROUND
  +MISSILEMORE
  Tag "\c[g5]Mini Archvile\c-"
 States
  {
  Spawn:
	TNT1 A 0 A_SetInvulnerable
 VCOZ CB 8
	VCOZ A 20
	TNT1 A 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	VCOZ ABCDEFGHIJKLM 4 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySoundEx("minivile/active",7,0,0)
	TNT1 A 0 A_UnSetInvulnerable
  SpawnLoop:
 VILC AB 10 A_Look
	Loop
  Idle:
 VILC AB 10 A_Look
	Loop
  See:
 VILC AABBCCDDEEFF 2 A_VileChase
	Loop
  Missile:
	TNT1 A 0 A_Jump(128,"Missile2")
	TNT1 A 0 A_Jump(64,"Missile3")  
	TNT1 A 0 A_VileStart
 VILC G 10 Bright A_FaceTarget
 VILC HIJKLMN 8 Bright A_FaceTarget
 VILC O 8 Bright A_CustomMissile("PlayerFirewall", 20, 0, 0)
 VILC P 20 Bright
	Goto See
  Missile2:
	TNT1 A 0 A_Jump(64,"Missile3")
	TNT1 A 0 A_PlaySound("darkvile/fire")
 VIL2 AABB 5 Bright A_FaceTarget
	VIL2 C 0 A_CustomMissile("InfernalistFloorFire",20,0,45,0)
	VIL2 C 0 A_CustomMissile("InfernalistFloorFire",20,0,30,0)
	VIL2 C 0 A_CustomMissile("InfernalistFloorFire",20,0,15,0)
	VIL2 C 0 A_CustomMissile("InfernalistFloorFire",20,0,-15,0)
	VIL2 C 0 A_CustomMissile("InfernalistFloorFire",20,0,-30,0)
	VIL2 C 0 A_CustomMissile("InfernalistFloorFire",20,0,-45,0)
	VIL2 C 10 A_CustomMissile("InfernalistFloorFire",20,0,0,0)
	Goto See
  Missile3:
 VILC G 0 Bright A_FaceTarget
 VILC G 40 Bright A_PlaySound("darkthunder/charge")
 VILC G 4 Bright A_FaceTarget
 VILC G 0 Bright A_PlaySound("darkthunder/charge2")
 VILC GHIJKLMNO 4 Bright 
 VILC P 4 Bright A_CustomMissile("MiniThunderBolt",32,0,0,0,0)
	Goto See
  Heal:
 VILC "[\]" 10 Bright
	Goto See
  Pain:
 VILC Q 5
 VILC Q 5 A_Pain
	Goto See
  Death:
 VILC Q 7
 VILC R 7 A_Scream
 VILC S 7 A_NoBlocking
 VILC TUV 7
 VILC W 7 A_SpawnItem("BodyCrash",0,0,0,0)
 VILC XY 5
 VILC Z -1
	Stop
  }
}

ACTOR DarkIce
{
   Radius 4
   Height 6
   Speed 20
   Damage 1
   SEESOUND "darkice/shot"
   DEATHSOUND "darkice/death"
   RENDERSTYLE ADD
   Alpha 0.67
   Damagetype "VileFires"
   PROJECTILE
   +IceDamage
   +SeekerMissile
  States
   {
   Spawn:
  	DZ04 A 0 Bright A_CStaffMissileSlither
  	DZ04 B 2 Bright A_SeekerMissile(20,20)
  	Loop
   Death:
  	DZ04 CDEF 3 Bright
  	Stop
   }
}



Actor Firewall
{
  Radius 13
  Height 8
  Speed 20
  Damage 6
  Damagetype "VileFires"
  Projectile
  +SEEKERMISSILE
  +FLOORHUGGER
  -NOGRAVITY
  +RIPPER
  ReactionTime 100
  Obituary "%o was roasted by an Archvile midget, a goddamn vicious little rim-rat!"
  Seesound "weapons/diasht"
  DeathSound "weapons/firex3"   
 States
  {
  Spawn:
	TNT1 A 0 A_PlaySoundEx("monster/ambientfire2",7,1)
	TNT1 A 1 A_CStaffMissileSlither
	TNT1 A 0 A_SeekerMissile(2,3)
	TNT1 A 0 A_Countdown
	TNT1 A 0 A_SpawnItemEx("FirewallTrail")
	Loop
  Death:
	TNT1 A 0 A_SpawnItemEx("RedParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AAAA 0 A_CustomMissile("Kaboom3", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
	TNT1 A 0 A_StopSound(7)
	Stop
  }
}

Actor FirewallTrail
{
  Radius 8
  Height 13
  Speed 0
  Damagetype "VileFires"
  RenderStyle Add
  Alpha 0.85
  Scale 0.75
  Projectile
  +FLOORHUGGER
  -NOGRAVITY
  +BLOODLESSIMPACT
 States
  {
  Spawn:
	FLMV A 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV B 2 Bright A_Explode(4,64,0)
	FLMV C 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV D 2 Bright A_Explode(4,64,0)
	FLMV E 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV F 2 Bright A_Explode(4,64,0)
	FLMV G 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV H 2 Bright A_Explode(4,64,0)
	FLMV I 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV J 2 Bright A_Explode(4,64,0)
	FLMV K 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV L 2 Bright A_Explode(4,64,0)
	FLMV M 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV N 2 Bright A_Explode(4,64,0)
	FLMV O 0 A_Jump(32,"Spawn")
	FLMV OPQR 2 Bright
	Stop
  }
}

//Mini vile Spell
ACTOR PlayerMinivileSpawn : MinivileSpawn
{
   Damage 250
   DamageType "Players"
  States
   {
   Death:
	ARCB J 0 Bright A_SetTranslucent (0.67,1)
	ARCB J 3 Bright A_SpawnItem("PlayerMiniArchvile",0,0)
	ARCB K 3 Bright A_Explode(250,100,0)
	ARCB LMN 3 Bright A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
  	Stop
   }
}

ACTOR PlayerMiniArchvile
{ 
  OBITUARY "%o was roasted by an Archvile midget, a goddamn vicious little rim-rat!"
  Health 450
  Radius 10
  Height 28
  Mass 250
  Speed 28
  Scale 0.5
  PainChance 30
  SEESOUND "minivile/sight"
  ACTIVESOUND "minivile/active"
  PAINSOUND "minivile/pain"
  DEATHSOUND "minivile/death"
  Species "Player"
  DamageFactor "VileFires", 0.0
  DamageFactor "PlayerDTRG", 0.0
  DamageType "Players"
  DropItem "LifeEssence" 128
  DropItem "ArmorBonusMax" 128
  DropItem "CFMana" 128
  +FloorClip
  +QuickToRetaliate
  +ShortMissileRange
  +DONTHURTSPECIES
  +LOOKALLAROUND
  +MISSILEMORE
  +MISSILEEVENMORE
  +FRIENDLY
  +NOCLIP
  Tag "\c[g5]Mini Archvile\c-"
 States
  {
   Spawn:
	TNT1 A 0 A_SetInvulnerable
	VCOZ C 3
	THT1 A 0 A_Changeflag("NOCLIP",0)
 VCOZ C 5
	VCOZ B 8
	VCOZ A 20
	TNT1 A 0 A_PlaySoundEx("brain/spit","Voice",0,0)
	VCOZ ABCDEFGHIJKLM 4 A_SpawnItem("HellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySoundEx("minivile/active",7,0,0)
	TNT1 A 0 A_UnSetInvulnerable
  SpawnLoop:
 VILC A 0 A_JumpIfInventory("VileLeech",925,"DeadthTimer")  
 VILC A 0 A_GiveInventory("VileLeech",10)
 VILC AA 2 A_Wander
	VILC A 0 A_Look
	VILC BB 2 A_Wander
	VILC B 0 A_Look
	VILC CC 2 A_Wander
	VILC C 0 A_Look
	VILC DD 2 A_Wander
	VILC D 0 A_Look
	VILC EE 2 A_Wander
	VILC E 0 A_Look
	VILC FF 2 A_Wander
	VILC F 0 A_Look
	Loop
  Idle:
 VILC A 0 A_JumpIfInventory("VileLeech",925,"DeadthTimer")  
 VILC A 0 A_GiveInventory("VileLeech",10)
 VILC AA 2 A_Wander
	VILC A 0 A_Look
	VILC BB 2 A_Wander
	VILC B 0 A_Look
	VILC CC 2 A_Wander
	VILC C 0 A_Look
	VILC DD 2 A_Wander
	VILC D 0 A_Look
	VILC EE 2 A_Wander
	VILC E 0 A_Look
	VILC FF 2 A_Wander
	VILC F 0 A_Look
	Loop
  See:
 VILC A 0 A_JumpIfInventory("VileLeech",925,"DeadthTimer")  
 VILC A 0 A_GiveInventory("VileLeech",20)
 VILC AABBCCDDEEFF 2 A_Chase
	Loop
  Missile:
	TNT1 A 0 A_Jump(128,"Missile1")
	TNT1 A 0 A_Jump(64,"Missile3")  
	TNT1 A 0 A_JumpIfInventory("VileLeech",925,"DeadthTimer")  
	TNT1 A 0 A_GiveInventory("VileLeech",100)  
	TNT1 A 0 A_VileStart
 VILC G 10 Bright A_FaceTarget
 VILC H 8 Bright A_VileTarget("PlayerMiniIFire")
 VILC IJKLMN 8 Bright A_FaceTarget
 VILC O 8 Bright A_VileAttack("vile/stop",80,160,80,1.5,"Players")
 VILC P 20 Bright
	Goto See
  Missile1:
	TNT1 A 0 A_Jump(128,"Missile2")
	TNT1 A 0 A_Jump(64,"Missile3")
	TNT1 A 0 A_GiveInventory("VileLeech",30)  	
	TNT1 A 0 A_PlaySound("darkvile/fire")
 VIL2 AABB 5 Bright A_FaceTarget
	VIL2 C 0 A_CustomMissile("PlayerMiniVileFloorFire",20,0,45,0)
	VIL2 C 0 A_CustomMissile("PlayerMiniVileFloorFire",20,0,30,0)
	VIL2 C 0 A_CustomMissile("PlayerMiniVileFloorFire",20,0,15,0)
	VIL2 C 0 A_CustomMissile("PlayerMiniVileFloorFire",20,0,-15,0)
	VIL2 C 0 A_CustomMissile("PlayerMiniVileFloorFire",20,0,-30,0)
	VIL2 C 0 A_CustomMissile("PlayerMiniVileFloorFire",20,0,-45,0)
	VIL2 C 10 A_CustomMissile("PlayerMiniVileFloorFire",20,0,0,0)
	Goto See
  Missile2:
	TNT1 A 0 A_GiveInventory("VileLeech",25)  
 VILC G 4 Bright A_FaceTarget
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,25,0,0,-25)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,-25,0,0,-35)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,25,0,0,-15)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,-25,0,0,-25)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,25,0,0,35)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,-25,0,0,-15)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,25,0,0,-25)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,-25,0,0,-15)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,25,0,0,-25)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,-25,0,0,-30)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,25,0,0,-15)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,-25,0,0,-25)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,25,0,0,-30)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,-25,0,0,-25)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,25,0,0,-15)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,-25,0,0,-35)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,25,0,0,-25)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,-25,0,0,-15)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,25,0,0,-30)
 VILC G 1 Bright A_CustomMissile("PlayerMiniDarkFire",32,-25,0,0,-15)
	Goto See
  Missile3:
	TNT1 A 0 A_GiveInventory("VileLeech",80)
	TNT1 A 0 A_SetInvulnerable
 VILC G 0 Bright A_FaceTarget
 VILC G 40 Bright A_PlaySound("darkthunder/charge")
 VILC G 4 Bright A_FaceTarget
 VILC G 0 Bright A_PlaySound("darkthunder/charge2")
 VILC GHIJKLMNO 4 Bright 
 VILC P 4 Bright A_CustomMissile("PlayerMiniThunderBolt",32,0,0,0,0)
	TNT1 A 0 A_UnSetInvulnerable
	Goto See
  Pain:
 VILC Q 5
 VILC Q 5 A_Pain
	Goto See
  DeadthTimer:
 VILC Q 0 A_Die
  Death:
 VILC Q 7
 VILC R 7 A_Scream
 VILC S 7 A_NoBlocking
 VILC TUV 7
 VILC W 7 A_SpawnItem("BodyCrash",0,0,0,0)
 VILC XY 5
 VILC Z -1
	Stop
  }
}

Actor PlayerFirewall : Firewall
{
  Damage 18
  Damagetype "Normal"
  Species "Player"
  +MTHRUSPECIES
  +DONTHARMSPECIES
 States
  {
  Spawn:
	TNT1 A 0 A_PlaySoundEx("monster/ambientfire2",7,1)
	TNT1 A 1 A_CStaffMissileSlither
	TNT1 A 0 A_SeekerMissile(2,3)
	TNT1 A 0 A_Countdown
	TNT1 A 0 A_SpawnItemEx("PlayerFirewallTrail")
	Loop
  }
}

Actor PlayerFirewallTrail : FirewallTrail
{
  Damagetype "Normal"
  DONTHURTSHOOTER  
  +FRIENDLY
  +FORCERADIUSDMG
 States
  {
  Spawn:
	FLMV A 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV B 2 Bright A_Explode(12,64,0)
	FLMV C 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV D 2 Bright A_Explode(12,64,0)
	FLMV E 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV F 2 Bright A_Explode(12,64,0)
	FLMV G 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV H 2 Bright A_Explode(12,64,0)
	FLMV I 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV J 2 Bright A_Explode(12,64,0)
	FLMV K 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV L 2 Bright A_Explode(12,64,0)
	FLMV M 2 Bright A_PlaySound("legendaryflame/crackle")
	FLMV N 2 Bright A_Explode(12,64,0)
	FLMV O 0 A_Jump(32,"Spawn")
	FLMV OPQR 2 Bright
	Stop
  }
}

ACTOR PlayerMiniIFire : IFire 
{
  Scale 1
  +NOGRAVITY
  +SEEKERMISSILE
  +NOTARGET
  +NODAMAGETHRUST
  +FORCERADIUSDMG
  Obituary "%o was roasted by an Archvile midget, a goddamn vicious little rim-rat!"
  DamageType "Players"
 States
  {
  Spawn:
	DFIR A 2 Bright A_StartFire
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR B 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR A 2 Bright A_Fire
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR B 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR C 2 Bright A_FireCrackle
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR B 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR C 2 Bright A_Fire
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR B 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR C 2 Bright A_Fire 
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR D 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR C 2 Bright A_Fire
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR D 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR C 2 Bright A_Fire
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR D 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR E 2 Bright A_Fire
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR D 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR E 2 Bright A_Fire
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR D 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR E 2 Bright A_Fire
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR F 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR E 2 Bright A_Fire
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR F 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	TNT1 A 0 A_FireCrackle
	DFIR E 2 Bright A_Fire
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR F 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR G 2 Bright A_Fire
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR H 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR G 2 Bright A_Fire
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR H 2 Bright A_Fire
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR G 2 Bright A_Fire
	TNT1 A 0 A_SpawnItem("DiabFireSpawner",0,0,0,0)
	TNT1 A 0 A_Explode(Random(4,8),54)
	DFIR H 2 Bright A_Fire
	Stop
  }
}

ACTOR PlayerMiniDarkFire
{
 Radius 4
 Height 6
 Speed 20
 Damage 4
 SEESOUND "darkice/shot"
 DEATHSOUND "darkice/death"
 RENDERSTYLE ADD
 Alpha 0.67
 PROJECTILE
 Damagetype "Players"
 +SeekerMissile
 States
 {
  Spawn:
  	TNT1 A 1 Bright A_CStaffMissileSlither
  	TNT1 A 0 A_SeekerMissile(20,20)
	TNT1 A 0 A_SpawnItemEx("InfernalistRainTrail")
	Loop
  Death:
  	TNT1 A 1
  	Stop
 }
}

ACTOR PlayerMiniThunderBolt : MiniThunderBolt
{
 Damage 250
 Damagetype "Players"
 Species "Player"
 +DONTHARMSPECIES
 +FORCERADIUSDMG
 States
 {
  Spawn:
  	TNT1 A 0 A_PlaySound("darkthunder/fire")
	VCFT ABC 1 Bright
  	TNT1 A 0 A_CustomMissile("MiniThunderBoltTrail",0,0,0)
	VCFT DEF 1 Bright
  	TNT1 A 0 A_CustomMissile("MiniThunderBoltTrail",0,0,0)
  	TNT1 A 0 A_CustomMissile("PlayerMiniThunderRunner",random(0,25),random(-15,15),random(135,215))
	VCFT ABC 1 Bright
  	TNT1 A 0 A_CustomMissile("MiniThunderBoltTrail",0,0,0)
	VCFT DEF 1 Bright
  	TNT1 A 0 A_CustomMissile("MiniThunderBoltTrail",0,0,0)
  	TNT1 A 0 A_CustomMissile("PlayerMiniThunderRunner",random(0,25),random(-15,15),random(110,240))
	VCFT ABC 1 Bright
  	TNT1 A 0 A_CustomMissile("MiniThunderBoltTrail",0,0,0)
	VCFT DEF 1 Bright
  	TNT1 A 0 A_CustomMissile("MiniThunderBoltTrail",0,0,0)
  	TNT1 A 0 A_CustomMissile("PlayerMiniThunderRunner",random(0,25),random(-15,15),random(90,270))
	Loop
  Death: 
	FRME A 3 Bright
	FRME B 3 Bright A_Explode(500,250,1)
  	TNT1 AAAA 0 A_CustomMissile ("OrangeParticleSpawner", 0, 0, random (0, 360), 2, random (0, 180))
  	TNT1 A 0 Radius_Quake(15,20,0,20,0)
	FRME CDEFGHIJKLMNOPQRS 3 Bright
	Stop
 }
}

ACTOR PlayerMiniThunderRunner : MiniThunderRunner
{
 Damagetype "Players"
 States
 {
  Death:
	VCBA A 0 Bright A_Explode(80,160,1)
	VCBA ABC 3 Bright
	stop
 }
}

Actor PlayerMiniVileFloorFire : PlayerFirewall
{
 Radius 5
 Height 5
 Damage 10
 Damagetype "Players"
 ReactionTime 50
 Obituary "%o was roasted by an Archvile midget, a goddamn vicious little rim-rat!"
 States
 {
  Spawn:
	TNT1 A 0 A_PlaySoundEx("monster/ambientfire2",7,1)
	TNT1 A 1 A_CStaffMissileSlither
	TNT1 A 0 A_SeekerMissile(1,2)
	TNT1 A 0 A_Countdown
	TNT1 A 0 A_SpawnItemEx("PlayerMiniVileFloorFireTrail")
	Loop
 }
}

Actor PlayerMiniVileFloorFireTrail : PlayerFirewallTrail
{
 Radius 5
 Height 5
 Damagetype "Players"
 RenderStyle Add
 Alpha 0.8
 Scale 1.3
 States
 {
  Spawn:
	FTR0 ABCDEFGHIJ 2 Bright A_Explode(6,32,0)
	Stop
 }
}

ACTOR VileLeech : Inventory //The fuel
{
 Inventory.MaxAmount 999
}
