actor liveegg replaces cacodemon
{
	Health 100
	Radius 20
	Height 40
	Mass 800
	Speed 0
	PainChance 255
	Monster
	+LOOKALLAROUND
    SeeSound ""
	PainSound "EGGPAIN"
	DeathSound "EGGDIE"
	ActiveSound ""
	BloodType "AlienBlood"	
	BloodColor "Green"
	DamageFactor "XenoPosioin", 0.0
	Scale 0.65
	States
	{
	Spawn:
		EGG1 A 35  
		EGG1 BCDEF 3 
		TNT1 A 0 A_Look
		Loop
	See:
	    TNT1 A 0 A_JumpIfInventory("EggOpen", 1, "See_Open")
		EGG1 A 35 A_JumpIf(ACS_ExecuteWithResult(506,0,0,0) <= 80, "Melee")
		EGG1 BCDEF 3 A_JumpIf(ACS_ExecuteWithResult(506,0,0,0) <= 80, "Melee")
		TNT1 A 0 A_Chase("") 
		Loop
	See_Open:
	    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(506,0,0,0) <= 80, "Hugger_Attack")
	    EGG1 N 1 A_Chase
		Loop
	Melee:
	    TNT1 A 0 A_ChangeFlag("NOPAIN", True)
	    TNT1 A 0 A_JumpIfInventory("EggOpen", 1, "Hugger_Attack")
		EGG1 G 0 A_PlaySound("EGGHATCH")
	    EGG1 GHIJKLMN 3
		TNT1 A 0 A_GiveInventory("EggOpen", 1)
		TNT1 A 0 A_ChangeFlag("NOPAIN", False)
		Goto See
	Hugger_Attack:
		EGG1 N 0 A_PlaySound("FACELNCH")
		EGG1 N 1 A_FaceTarget
		EGG1 N 1 A_SpawnItemEx("FaceHugger",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_GiveInventory("EggAttack", 1)
		TNT1 A 0 A_Die
		Goto See
	Pain:
	    TNT1 A 0 A_JumpIfInventory("EggOpen", 1, "PainOpen")
		EGG1 F 3 A_Pain
		Goto See
		PainOpen:
		EGG1 O 3 A_Pain
		EGG1 P 3 
		Goto See
	Death:
	    TNT1 A 0 A_JumpIfInventory("EggOpen", 1, "Death_Open")
	    EGG1 Q 5 A_Scream
		EGG1 R 5
		EGG1 S 5
		EGG1 T 5 A_NoBlocking
		EGG1 U -1
		Stop
	Death_Open:
	    EGG1 Q 5 A_PlaySound("EGGDIE1")
		EGG1 R 5
		EGG1 S 5
		EGG1 T 5 A_NoBlocking
		EGG1 U -1
		Stop	    
	}
}

Actor EggOpen : Inventory { Inventory.MaxAmount 1 }
Actor EggAttack : Inventory { Inventory.MaxAmount 1 }

Actor EggHugger
{
	Radius 20
	Height 30
	Speed 4
	Damage (2)
	Projectile
	Scale 0.65
	Gravity 0.10
	-NOGRAVITY
	DamageType "FaceHugger"
	States
	{
	Spawn:
 	    HUGG K 4  
		HUGG L 4
		Looping:
	    HUGG EFGHIJ 4
		Loop
	Death:
		TNT1 A 0 A_SpawnItemEx("FaceHugger", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
		Stop
	XDeath:
	    TNT1 A 1
		Stop	
	}
}

ACTOR huggerspawner: RandomSpawner
{
  DropItem "facehugger"
}