Actor Poltergeist : Imp 16661
{
//$Category Monsters/LCA
//$Sprite FZAGA1C1
//$Title "Poltergeist"
Monster
Health 120
Speed 10
BloodColor "Blue"
RenderStyle Translucent
Alpha 0.5
PainChance 60
MeleeDamage 6
+FASTMELEE
+MISSILEEVENMORE
+QUICKTORETALIATE
+DONTHURTSPECIES
+DONTHARMSPECIES
DamageFactor "Ice", 0.0
DamageFactor "FreezerBurn", 0.0
DropItem "LifeEssence", 256
DropItem "ArmorBonusMax", 256
DropItem "BossLifeEssence", 128
DropItem "BossArmorBonusMax", 128
DropItem "NewCell", 164, 20
DropItem "NewCellPack", 120, 100
DropItem "Freezer Rifle", 54, 1
SeeSound "agaures/sight"
PainSound "agaures/pain"
DeathSound "agaures/death"
ActiveSound "agaures/active"
MeleeSound "agaures/scratch"
Obituary "%o was doomed to eternal torment by a Poltergeist."
HitObituary "%o's intestines were ripped open by a Poltergeist."
Tag "\cvPoltergeist\c-"
States
	{
	Spawn:
		FZAG A 10 Bright A_Look
		TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		FZ1G A 10 Bright A_Look
		TNT1 AA 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		Loop
	See:
		TNT1 A 0 A_Jump(50,"Evade")
		TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		FZAG AA 3 Bright A_Chase
		TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		FZAG BB 3 Bright A_Chase
		TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
		TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		FZAG CC 3 Bright A_Chase
		TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		FZAG DD 3 Bright A_Chase
		TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
		TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		Loop
	Evade:
		TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		TNT1 A 0 A_Jump(128,7)
		TNT1 A 0 ThrustThing(Angle*256/360+64,16,0,0)
		TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		FZAG AAAA 3 Bright A_Chase
		TNT1 A 0 A_Stop
		Goto See
		TNT1 A 0 ThrustThing(Angle*256/360+192,16,0,0)
		TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		FZAG AAAA 3 Bright A_Chase
		TNT1 A 0 A_Stop
		Goto See
	Melee:
		FZAG W 8 Bright A_FaceTarget
		FZAG X 1 Bright A_PlaySound("agaures/swing")
		FZAG X 7 Bright A_FaceTarget
		FZAG Y 6 Bright A_MeleeAttack
		Goto See
	Lunge:
		TNT1 A 0 A_JumpIfCloser(300,1)
		Goto See
		TNT1 A 0 A_PlaySound("agaures/swing")
		FZAG WW 7 Bright A_FaceTarget
		TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,1)
		TNT1 A 0 ThrustThingZ(0,25,0,1)
		FZAG W 2 Bright A_Recoil(-30)
		FZAG W 3 Bright A_CustomMissile("PinkyLunge",18,0,0,CMF_AIMDIRECTION)
		FZAG X 6 Bright
		FZAG Y 2 Bright A_ScaleVelocity(0.2)
		TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,0)
		FZAG Y 1 Bright A_ScaleVelocity(0)
		Goto See
	Normal:
		FZAG EF 8 Bright A_FaceTarget
		FZAG G 6 Bright A_CustomMissile("FreezerAgauresBall",37,0,0,0,0)
	Missile:
		TNT1 A 0 A_Jump(128,"Missile2","Missile4","Lunge")
		TNT1 A 0 A_JumpIfCloser(250, "Missile3")
		Goto See
	Missile2:
		FZAG EF 8 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("SpeedyAgauresBall",37,0,-10,0,0)
		FZAG G 6 Bright A_CustomMissile("SpeedyAgauresBall",37,0,10,0,0)
		TNT1 A 0 ThrustThing(Angle*256/360+64,16,0,0)
		FZAG AAAA 3 Bright A_Chase
		TNT1 A 0 A_Stop
		FZAG EF 8 Bright A_FaceTarget
		FZAG G 6 Bright A_CustomMissile("FreezerAgauresBall",37,0,0,0,0)
		FZAG EF 8 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("SpeedyAgauresBall",37,0,-10,0,0)
		FZAG G 6 Bright A_CustomMissile("SpeedyAgauresBall",37,0,10,0,0)
		TNT1 A 0 ThrustThing(Angle*256/360+192,16,0,0)
		FZAG AAAA 3 Bright A_Chase
		TNT1 A 0 A_Stop
		FZAG EF 8 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("FreezerAgauresBall",37,0,-10,0,0)
		TNT1 A 0 A_CustomMissile("SpeedyAgauresBall",37,0,0,0,0)
		FZAG G 6 Bright A_CustomMissile("FreezerAgauresBall",37,0,10,0,0)
		TNT1 A 0 ThrustThing(Angle*256/360+64,16,0,0)
		FZAG AAAA 3 Bright A_Chase
		TNT1 A 0 A_Stop
		Goto see
	Missile3:
		FZAG W 6 Bright A_FaceTarget
		FZAG W 6 Bright A_FaceTarget
		TNT1 A 0 A_PlaySound("devil/scream")
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		TNT1 A 0 A_FaceTarget
		FZAG X 1 Bright A_CustomMissile("PoltFlameShot", 45, 0, 0, 0, 0)
		Goto See
	Missile4:
		FZAG EF 8 Bright A_FaceTarget
		FZAG G 6 Bright A_CustomMissile("FRZRPoltBomb", 37, 0, 0, 0, 0)
		TNT1 A 0 ThrustThing(Angle*256/360+192,16,0,0)
		FZAG AAAA 3 Bright A_Chase
		TNT1 A 0 A_Stop
		FZAG EF 8 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("FRZRPoltBomb", 37, 0, -10, 0, 0)
		TNT1 A 0 A_CustomMissile("FRZRPoltBomb", 37, 0, 0, 0, 0)
		FZAG G 6 Bright A_CustomMissile("FRZRPoltBomb", 37, 0, 10, 0, 0)
		TNT1 A 0 ThrustThing(Angle*256/360+64,16,0,0)
		FZAG AAAA 3 Bright A_Chase
		TNT1 A 0 A_Stop
		Goto See
	Pain:
		FZAG H 2 Bright
		FZAG H 2 Bright A_Pain
		Goto See
	Death:
		FZAG I 8
		FZAG J 8 A_Scream
		FZAG KL 6 A_SpawnItem("BodyCrash",0,0,0,0)
		FZAG M 6 A_NoBlocking
		FZAG N 63000 CanRaise
		Stop
	XDeath:
		FZAG O 5
		FZAG P 5 A_XScream
		FZAG Q 5 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
		FZAG R 5 A_NoBlocking
		FZAG STU 5
		FZAG V 63000 CanRaise
		Stop
	Raise:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		FZAG NML 8
		FZAG KJI 6
		Goto See
	}
}

/*Actor GhostlyPoltergeist : Poltergeist 16662
{
//$Category monsters
RenderStyle Add
Alpha 0.5
States
	{
	Missile3:
		FZAG W 6 A_FaceTarget
		FZAG W 6 A_FaceTarget
		FZAG X 3 A_CustomMissile("GhostlyDeathBreath", 45, 0, 0, 0, 0)
		FZAG X 0 A_FaceTarget
		FZAG X 3 A_CustomMissile("GhostlyDeathBreath", 45, 0, 0, 0, 0)
		FZAG X 0 A_FaceTarget
		FZAG X 3 A_CustomMissile("GhostlyDeathBreath", 45, 0, 0, 0, 0)
		FZAG X 0 A_FaceTarget
		FZAG X 3 A_CustomMissile("GhostlyDeathBreath", 45, 0, 0, 0, 0)
		FZAG X 0 A_FaceTarget
		FZAG X 3 A_CustomMissile("GhostlyDeathBreath", 45, 0, 0, 0, 0)
		FZAG X 0 A_FaceTarget
		FZAG X 3 A_CustomMissile("GhostlyDeathBreath", 45, 0, 0, 0, 0)
		FZAG X 0 A_FaceTarget
		FZAG X 3 A_CustomMissile("GhostlyDeathBreath", 45, 0, 0, 0, 0)
		FZAG X 0 A_FaceTarget
		FZAG X 3 A_CustomMissile("GhostlyDeathBreath", 45, 0, 0, 0, 0)
		FZAG X 0 A_FaceTarget
		FZAG X 3 A_CustomMissile("GhostlyDeathBreath", 45, 0, 0, 0, 0)
		Goto See
	}
}*/

ACTOR Kaboom9Blue : Kaboom9
{
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		BXPO AABBCDEFGHIJKLM 1 Bright A_FadeOut(0.05,1)
		Stop
	}
}

Actor FreezerAgauresBall
{
PROJECTILE
Height 16
Radius 8
Speed 10
RenderStyle Add
Alpha 0.67
Damage 5
+THRUGHOST
DamageType "Ice"
SeeSound "imp/attack"
DeathSound "imp/shotx"
States
	{
	Spawn:
		TNT1 A 0 A_CustomMissile("ProjectileTrailParticleBlue",Random(-2,2),Random(-2,2))
		FLVB AAABBB 1 Bright A_SpawnItemEx("AgauresBallTrail", 0, 0, 0, 0, 0, 0, 0, 128, 0)
		TNT1 A 0 A_CustomMissile("ProjectileTrailParticleBlue",Random(-2,2),Random(-2,2))
		Loop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
		TNT1 AAA 0 A_CustomMissile("Kaboom9Blue", 0, 0, random(0,360), 2, random(0,360))
		TNT1 AAAA 0 A_SpawnItemEx("IceDebris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
		TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))
		FLVB CDE 3 Bright
		Stop
	}
}

Actor SpeedyAgauresBall : FreezerAgauresBall
{
Speed 15
}

Actor AgauresBallTrail
{   
PROJECTILE
Height 1
Radius 0
RenderStyle Add
Alpha 0.75
States
	{
	Spawn:
		TNT1 A 1 Bright
		FLTR ABCDEFG 2 Bright
		Stop 
	}
}

ACTOR FRZRAGFlameSpawner : RedParticleSpawner
{
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 AAAA 0 A_SpawnItemEx("FRZRFlame2",random(12,-12),random(12,-12),random(12,64),0,0,random(1,3),0,128,0)
		TNT1 A 1
		Stop
	}
}

ACTOR FRZRFlame2 : FRZRFlame { Scale 0.2 }

Actor FRZRPoltBomb : FRZRBehBomb
{
DamageType "Ice"
States
	{
	Spawn:
		TNT1 A 0 A_CustomMissile("FRZRBehBombTrail",Random(-2,2),Random(-2,2))
		TNT1 A 0 A_CustomMissile("ProjectileTrailParticleBlue",Random(-2,2),Random(-2,2))
		TNT1 A 0 A_CustomMissile("FRZRBehBombTrail",Random(-2,2),Random(-2,2))	
		TNT1 A 0 A_CustomMissile("ProjectileTrailParticleBlue",Random(-2,2),Random(-2,2))
		FX05 A 1 Bright
		TNT1 A 0 A_CustomMissile("FRZRBehBombTrail",Random(-2,2),Random(-2,2))
		TNT1 A 0 A_CustomMissile("ProjectileTrailParticleBlue",Random(-2,2),Random(-2,2))
		TNT1 A 0 A_CustomMissile("FRZRBehBombTrail",Random(-2,2),Random(-2,2))	
		TNT1 A 0 A_CustomMissile("ProjectileTrailParticleBlue",Random(-2,2),Random(-2,2))
		FX05 B 1 Bright
		TNT1 A 0 A_CustomMissile("FRZRBehBombTrail",Random(-2,2),Random(-2,2))
		TNT1 A 0 A_CustomMissile("ProjectileTrailParticleBlue",Random(-2,2),Random(-2,2))
		TNT1 A 0 A_CustomMissile("FRZRBehBombTrail",Random(-2,2),Random(-2,2))	
		TNT1 A 0 A_CustomMissile("ProjectileTrailParticleBlue",Random(-2,2),Random(-2,2))
		FX05 C 1 Bright	
		Loop
	Death:
		TNT1 A 0
		TNT1 AAA 0 A_CustomMissile("Bluekaboom4",0,0,random(0,360),2,random(0,360))
		TNT1 AAA 0 A_CustomMissile("SmokeFX4",0,0,random(0,360),2,random(0,360))	
		TNT1 A 0 A_Explode(32,102,0)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,15,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,45,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,65,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,80,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,105,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,120,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,145,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,160,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,185,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,200,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,220,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,240,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,260,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,280,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("FRZRPoltBombProj",0,0,300,CMF_AIMDIRECTION)
		SHEX DCEFG 3 Bright
		Stop
    }
}

Actor FRZRPoltBombProj : FRZRBehBombProj
{
DamageType "Ice"
States
	{
	Spawn:
		ISHR AB 2 Bright
		Loop
	Death:
		TNT1 A 0
		TNT1 AAA 0 A_CustomMissile("Kaboom6",0,0,random(0,360),2,random(0,360))
		TNT1 AAAA 0 A_SpawnItemEx("IceDebris",0,0,0,Random(-4,4),Random(-4,4),Random(4,8),0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 Bright A_CustomMissile("Kaboom6",0,0,random(0,360),2,random(0,360))
		TNT1 A 1 Bright
		Stop
	}
}