ACTOR Fleshspawn 10558
{
  //$Title "Flesh Spawn"
  //$Category XV117Monsters
	Tag "Flesh Spawn"
	Obituary "%o was burned by a FleshSpawn." 
	HitObituary "%o was devoured by a FleshSpawn."
	health 30 // [XA] changed from 50.
	radius 14
	height 30
	mass 80
	speed 12 // [XA] changed from 10.
	damage 2
	painchance 224
	missiletype "Fleshspawnball"
	bloodcolor "00 50 ff"
	attacksound "flesh/melee"
	seesound "flesh/sight"
	painsound "flesh/pain"
	deathsound "flesh/death"
	activesound "flesh/active"
	bloodtype "Blue_Blood", "BlueSawBlood", "BlueSawBlood"
	bloodcolor "Blue"
	MONSTER
	+FLOAT
	+NOGRAVITY
	+DONTHURTSPECIES
	+NOINFIGHTING
	+NOTARGET
	States
	{
	Spawn:
		FLSP AB 8 A_Look
		loop
	See:
		FLSP AABB 2 A_Chase
		loop
	Missile:
		FLSP C 0 A_Jump(128,"Charge")
		FLSP C 8 A_FaceTarget
		FLSP G 4 A_FaceTarget    
		FLSP H 4 Bright A_CustomMissile("Fleshspawnball", 12, 0, 0) 
		goto See
	Charge:
		FLSP C 0 A_Jump(96, 6)
		FLSP C 8 A_FaceTarget
		FLSP D 4 A_FaceTarget    
		FLSP E 4 A_SkullAttack
		FLSP FE 4
		Goto Charge+4
		FLSP C 8 A_FaceTarget
		FLSP D 4 A_FaceTarget    
		FLSP E 4 A_SkullAttack
		FLSP FEFE 4
		FLSP C 6 A_FaceTarget
		FLSP D 4 A_FaceTarget    
		FLSP E 4 A_SkullAttack
		FLSP FE 4
		Goto Charge+4
	Pain:
		FLSP I 3 
		FLSP I 3 A_Pain
		Goto See
	Death:
		TNT1 AA 0 A_CustomMissile ("Blue_FlyingBlood", 0, 0, random (0, 360), 2, random (30, 150))
		FLSP I 5
		FLSP J 5 A_Scream
		FLSP K 5
		FLSP L 5 A_NoBlocking
		FLSP MN 5 A_SetFloorClip
		FLSP O -1 
		Stop
	XDeath:
		FLSP P 3 
		TNT1 AAAAA 0 A_CustomMissile ("Blue_FlyingBlood", 0, 0, random (0, 360), 2, random (30, 150))
		FLSP Q 0 A_FaceTarget
		FLSP Q 0 A_SpawnItemEx("FleshSpawnGibs", 0, 0, 0, 0, 0, 0, 0, 128)
		FLSP Q 0 A_CustomMissile("Fleshspawngib1", 14, 0, random(-180,180), 2, random(10,40))
		FLSP Q 0 A_CustomMissile("Fleshspawngib2", 6, 2, random(-180,180), 2, random(0,25))
		FLSP Q 0 A_CustomMissile("Fleshspawngib2B", 10, -2, random(-180,180), 2, random(0,25))
		FLSP Q 0 A_CustomMissile("Fleshspawngib3", 8, 0, random(-180,180), 2, random(0,35))
		FLSP Q 0 A_CustomMissile("Fleshspawngib4", 12, 5, random(-180,180), 2, random(-5,40))
		FLSP Q 0 A_CustomMissile("Fleshspawngib4B", 5, -5, random(-180,180), 2, random(0,30))
		FLSP Q 0 A_CustomMissile("Fleshspawngib5", 6, 3, random(-180,180), 2, random(10,60))
		FLSP Q 0 A_CustomMissile("Fleshspawngib5", 8, 0, random(-180,180), 2, random(-10,55))
		FLSP Q 0 A_CustomMissile("Fleshspawngib6", 12, 0, 0, 2, 0)
		FLSP Q 3 A_XScream
		FLSP R 3 A_NoBlocking  
		FLSP STU 3
		Stop
	Raise:
		FLSP O 5 A_UnSetFloorClip
		FLSP NMLKJI 5
		Goto See
	}
}
ACTOR FleshSpawnSummoned : FleshSpawn
{	
	var int user_summoned;
	States
	{
	Spawn:
		FLSP A 0 A_JumpIf(user_summoned == 1, "Idle")
		FLSP A 0 A_SetUserVar("user_summoned", 1)
		Goto Charge
	Idle:
		FLSP AB 8 A_Look
		loop
	}
}

ACTOR FleshSpawnGibs
{
	+NoClip
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_CustomMissile("Fleshspawngib1", 14, 0, random(-180,180), 2, random(10,40))
		TNT1 A 0 A_CustomMissile("Fleshspawngib2", 6, 2, random(-180,180), 2, random(0,25))
		TNT1 A 0 A_CustomMissile("Fleshspawngib2B", 10, -2, random(-180,180), 2, random(0,25))
		TNT1 A 0 A_CustomMissile("Fleshspawngib3", 8, 0, random(-180,180), 2, random(0,35))
		TNT1 A 0 A_CustomMissile("Fleshspawngib4", 12, 5, random(-180,180), 2, random(-5,40))
		TNT1 A 0 A_CustomMissile("Fleshspawngib4B", 5, -5, random(-180,180), 2, random(0,30))
		TNT1 A 0 A_CustomMissile("Fleshspawngib5", 6, 3, random(-180,180), 2, random(10,60))
		TNT1 A 0 A_CustomMissile("Fleshspawngib5", 8, 0, random(-180,180), 2, random(-10,55))
		TNT1 A 0 A_CustomMissile("Fleshspawngib6", 12, 0, 0, 2, 0)
		Stop
	}
}

ACTOR Fleshspawnball
{
	Damage 2
	Speed 10
	Radius 3
	Height 5
	SeeSound "caco/attack"
	DeathSound "caco/shotx"
	RenderStyle Add
	Alpha 0.9
	Projectile
	states
	{
	Spawn:
		FLBL ABCBABCBABCBABCBIJKLM 4 Bright
		Stop
	Death:
		FLBL DEFGH 4 Bright
		Stop
	}
}

ACTOR Fleshspawngib1
{
	Speed 8
	Mass 100
	Radius 1
	Height 1
	PROJECTILE
	-NOGRAVITY
	+DROPOFF
	States
	{
	Spawn:
		FGB1 ABCD 4 
		loop
	Death:
		FGB1 E -1
		stop        
	}
}

ACTOR Fleshspawngib2
{
	Speed 8
	Mass 100
	Radius 1
	Height 1
	PROJECTILE
	-NOGRAVITY
	+DROPOFF
	States
	{
	Spawn:
		FGB2 ABCD 4 
		loop
	Death:
		FGB2 I -1
		stop        
	}
}

ACTOR Fleshspawngib2B
{
	Speed 8
	Mass 100
	Radius 1
	Height 1
	PROJECTILE
	-NOGRAVITY
	+DROPOFF
	States
	{
	Spawn:
		FGB2 EFGH 4 
		loop
	Death:
		FGB2 J -1
		stop        
	}
}

ACTOR Fleshspawngib3
{
	Speed 8
	Mass 100
	Radius 1
	Height 1
	PROJECTILE
	-NOGRAVITY
	+DROPOFF
	States
	{
	Spawn:
		FGB3 ABCD 4 
		loop
	Death:
		FGB3 E -1
		stop        
	}
}

ACTOR Fleshspawngib4
{
	Speed 8
	Mass 100
	Radius 1
	Height 1
	PROJECTILE
	-NOGRAVITY
	+DROPOFF
	States
	{
	Spawn:
		FGB4 ABCD 4 
		loop
	Death:
		FGB4 I -1
		stop        
	}
}

ACTOR Fleshspawngib4B
{
	Speed 8
	Mass 100
	Radius 1
	Height 1
	Scale 0.8
	PROJECTILE
	-NOGRAVITY
	+DROPOFF
	States
	{
	Spawn:
		FGB4 EFGH 4 
		loop
	Death:
		FGB4 J -1
		stop        
	}
}

ACTOR Fleshspawngib5
{
	Speed 8
	Mass 100
	Radius 1
	Height 1
	PROJECTILE
	-NOGRAVITY
	+DROPOFF
	States
	{
	Spawn:
		FGB5 ABCD 4 
		loop
	Death:
		FGB5 E -1
		stop        
	}
}

ACTOR Fleshspawngib6
{
	Speed 0
	Mass 100
	Radius 1
	Height 1
	PROJECTILE
	-NOGRAVITY
	+DROPOFF
	States
	{
	Spawn:
		FGB6 A 4 
		loop
	Death:
		FGB6 BC 4
		FGB6 D -1
		stop        
	}
}

