Actor FrostElemental
{
//Creator: Trusar
//Origin: Nexus Infinity
//Sprite: HULE
//Title: "Frost Elemental" 
Obituary "%o was frozen by a Frost Elemental."
HitObituary "%o got chomped on by a Frost elemental."
Health 1300
PainChance 30
Radius 24
Height 44
Mass 400
Meleedamage 14
Speed 10
Monster
Species "EleSouls"
PainChance "Souls", 0
PainChance "ChaosSoul", 0
DamageFactor "CurseComet", 0.0
DamageFactor "HelementalComet", 0.0
DamageFactor "SoulToxic", 0.0
DamageFactor "BombBreath", 0.0
Damagefactor "Acid", 0.0
DamageFactor "Corrupt", 0.0
DamageFactor "Ice", 0.0
DamageFactor "BombBreath", 0.0
//DamageFactor "PDTBFG", 0.25
//DamageFactor "PDTBFGTracer", 0.25
//DamageFactor "PlayerDevBall", 0.125
//DamageFactor "PlayerDevBall2", 0.125
//DamageFactor "PlayerDevTracer", 0.125
//DamageFactor "PlayerDTBFGRailgunSlug", 0.125
//DamageFactor "PlayerDevTracer", 0.125
//DamageFactor "LegendaryPlayer", 0.3
//DamageFactor "LegendaryGuruPlayer", 0.3
DropItem "NemesisHealthBonusMax", 200, 16
DropItem "NemesisArmorBonus16", 200
DropItem "GreaterPlasmaEnergy", 180, 200
DropItem "HEMDroppedSoulSphere", 140
DropItem "Freezer Rifle" 80 1
SeeSound "monster/helsit"
PainSound "monster/helpai"
DeathSound "monster/heldth"
ActiveSound "monster/helact"
MeleeSound "caco/melee"
bloodcolor "DarkBlue"
Tag "\c[n5]Frost Elemental\c-"
+FLOAT
+NOGRAVITY
+MISSILEEVENMORE
+MISSILEMORE
+QUICKTORETALIATE
+DontHarmSpecies
States
{
  Spawn:
    TNT1 A 0 A_SpawnItem("IPetWindSpawner",0,0,0,0)
    HULE A 3 A_Look
    Loop
  See:
    TNT1 A 0 A_SpawnItem("IPetWindSpawner",0,0,0,0)
    HULE A 3 A_Chase
	TNT1 A 0 A_SpawnItem("IPetWindSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(8,"Evade")
    Loop
  Evade:
	TNT1 A 0 A_Jump(128,7)
	TNT1 A 0 A_SpawnItem("IPetWindSpawner",0,0,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+64,14,0,0)
	HULE AAAA 3 A_Chase
	TNT1 A 0 A_SpawnItem("IPetWindSpawner",0,0,0,0)
	TNT1 A 0 A_Stop
	Goto See
	TNT1 A 0 ThrustThing(Angle*256/360+192,14,0,0)	
	TNT1 A 0 A_SpawnItem("IPetWindSpawner",0,0,0,0)
	HULE CCCC 3 A_Chase
	TNT1 A 0 A_Stop
	Goto See	
  Missile:
    TNT1 A 0 A_Jump(128,"Comet","Seeker","Normal")
	Goto Soul
  Normal:
    HULE DE 6 A_Facetarget
	HULE F 1 Bright A_Facetarget
	TNT1 A 0 A_CustomMissile("FrostMissile3",24,0,-2,0,0)
    HULE F 1 Bright A_CustomMissile("FrostMissile3",24,0,2,0,0)
	TNT1 A 0 A_CustomMissile("FrostMissile3",24,0,-5,0,0)
    HULE F 2 Bright A_CustomMissile("FrostMissile3",24,0,5,0,0)
	HULE ED 4
	TNT1 A 0 A_Jump(87,"Comet","Seeker")
    Goto See
  Soul:
    HULE BC 3 A_FaceTarget
    HULE D 3 A_PainAttack("CryoSoulEnemy")
    HULE CB 3 A_FaceTarget
    Goto See
  Comet:
    HULE DE 6 A_Facetarget
	HULE F 0 A_CustomMissile("FrostComet",24,0,0,0,0)
	HULE F 0 A_CustomMissile("FrostComet",24,0,-3,0,0)
	HULE F 5 Bright A_CustomMissile("FrostComet",24,0,3,0,0)
    HULE ED 4
	Goto See
  Seeker:
    HULE DE 6 A_Facetarget
	HULE F 5 Bright A_CustomMissile("SnowStormBomb3",24,0,0,0,0)
    HULE ED 4
	Goto See
  Melee:
    HULE DE 4 A_Facetarget
    HULE F 4 A_MeleeAttack
    HULE ED 4 A_Facetarget	
    Goto See
  Pain:
    TNT1 A 0 A_Jump(87,"PainMissile")
    HULE H 6 A_Pain
	HULE H 6
    Goto See
  PainMissile:
    HULE H 6 A_Pain
	HULE H 6
    Goto Missile
  Death:
  XDeath:
    HULE I 5 A_Scream
    HULE J 5 A_NoBlocking	
	HULE J -1
	Stop
  Crash:
	TNT1 A 0
	TNT1 AAAA 0 A_SpawnItemEx("LegBlueGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	HULE K 4 A_PlaySound("Gore/Splat")
	HULE L 4 A_NoBlocking
	HULE MN 4
	HULE O -1 A_SetFloorClip
	Stop
  Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	HULE ONMLKJI 5
	Goto See  
    }
}

Actor FrostComet : Comet
{
Damage 5
Speed 30
Decal Scorch
DamageType "BombBreath"
States
{
  Spawn:
	FCMT AAAABBBBCCCC 1 Bright A_SpawnItemEx("LNCometTail",0,0,0,0,0,0,0,128)
	Loop
  Death:
	TNT1 A 0 A_Explode(32,112)
	TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	FCMT DE 3 Bright
	TNT1 A 0 A_SpawnItemEx("FCometDeath",0,0,0,0,0,0,0,128,0)
	Stop
	}
}

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

ACTOR FCometDeath : CometDeath
{
States
{
Spawn:
TNT1 A 0
TNT1 AAA 0 A_CustomMissile("BlueKaboom4", 0, 0, random(0,360), 2, random(0,360))	
TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
FCMT JJJKKKLLMMNN 1 Bright A_FadeOut(0.065)
Stop
}
}