ACTOR facehugger replaces LostSoul
{
	Health 30
	PainChance 120
	Speed 5
	Radius 20
	Height 30
	Mass 200
	Monster
	Scale 0.6
        +DROPOFF
        +DONTHARMCLASS 
        +DONTHURTSPECIES
	SeeSound "HUGSEE"
	AttackSound "HUGATK"
	PainSound "HUGPAI1"
	DeathSound "HUGDIE"
	ActiveSound "HUGACT"
	BloodType "ATGreenBlood"	
	BloodColor "Green"
	DamageFactor "XenoPosioin", 0.0
	DamageType "FaceHugger"
	States
	{
	Spawn:
	    TNT1 A 0 A_JumpIfInTargetInventory("EggAttack", 1, "Melee")
		HUGG A 11 A_Look
		Loop
	See:
                TNT1 A 0 ACS_ExecuteAlways(802, 0, 20, 56)
	    TNT1 A 0 A_JumpIfInTargetInventory("EggAttack", 1, "Melee")
		HUGG AAAA 1 A_Chase
		HUGG BBBB 1 A_Chase
		HUGG CCCC 1 A_Chase
		HUGG DDDD 1 A_Chase
		TNT1 A 0 A_JumpIfCloser(60.0, "Melee")
		Loop
	Melee:
		HUGG E 1 ThrustThingZ(0,10,0,1) 
		TNT1 A 0 A_Recoil(-2)
		HUGG E 1 A_FaceTarget
		HUGG F 1 ThrustThingZ(0,10,0,1)
		TNT1 A 0 A_Recoil(-2)
		HUGG F 1 A_FaceTarget
		HUGG G 1 ThrustThingZ(0,10,0,1)
		TNT1 A 0 A_Recoil(-2)
		HUGG G 1 A_FaceTarget
		HUGG H 1 ThrustThingZ(0,10,0,1)
		TNT1 A 0 A_Recoil(-2)
		HUGG H 1 A_FaceTarget
		HUGG I 1 ThrustThingZ(0,10,0,1)
		TNT1 A 0 A_Recoil(-2)
		TNT1 A 0 A_ChangeFlag("NOPAIN", True)
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(505,0,0,0) == 0, "Melee_NoHug")
		HUGG J 1 A_JumpIf(ACS_ExecuteWithResult(505,0,0,0) == 0, "Melee_NoHug")
		TNT1 A 0 A_JumpIfInTargetInventory("FaceHugged", 1, "Melee_NoHug")
		TNT1 A 0 A_GiveToTarget("FaceHugged", 1)
		HUGG J 1 A_CustomMeleeAttack(3, 0, 0, "FaceHugger", 64)
		HUGG K 1 ThrustThingZ(0,-10,0,1)
		TNT1 A 0 A_JumpIfInTargetInventory("FaceHugged", 1, "Hugged")
		TNT1 A 0 A_Recoil(-2)
		HUGG K 1 A_FaceTarget
		HUGG L 1 ThrustThingZ(0,-10,0,1) 
		TNT1 A 0 A_Recoil(-2)
		HUGG L 1 A_FaceTarget
		TNT1 A 0 A_ChangeFlag("NOPAIN", False)
		TNT1 A 0 A_ClearTarget
		HUGG AAAA 1 A_Wander
		HUGG BBBB 1 A_Wander
		HUGG CCCC 1 A_Wander
		HUGG DDDD 1 A_Wander
		Goto See
	Melee_NoHug:
		HUGG J 1 A_CustomMeleeAttack(3, 0, 0, 0, 64)
		HUGG K 1 ThrustThingZ(0,-10,0,1)
		TNT1 A 0 A_Recoil(-2)
		HUGG K 1 A_FaceTarget
		HUGG L 1 ThrustThingZ(0,-10,0,1) 
		TNT1 A 0 A_Recoil(-2)
		HUGG L 1 A_FaceTarget
		TNT1 A 0 A_ChangeFlag("NOPAIN", False)
		TNT1 A 0 A_ClearTarget
		HUGG AAAA 1 A_Wander
		HUGG BBBB 1 A_Wander
		HUGG CCCC 1 A_Wander
		HUGG DDDD 1 A_Wander
		Goto See
		
	Pain:
	    HUGG M 0 A_Pain
		HUGG MNO 4
		Goto See
	Death:
		HUGG P 4 A_Scream
		HUGG Q 4 
		HUGG R 4 
		HUGG S 4
		HUGG T 4 
		HUGG U 4
		HUGG U 4 A_NoBlocking
		TNT1 A 0 A_SpawnItemEx("FaceHuggerDeath", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
		Stop
	Hugged:
	    TNT1 A 1
		Stop
	}
}

Actor FaceHuggerDeath
{
    -SOLID
	-SHOOTABLE
	+ACTIVATEMCROSS
	+DONTGIB
	+NOICEDEATH
	+OLDRADIUSDMG
	+NODAMAGETHRUST
    +BLOODLESSIMPACT
	+DONTSPLASH
	-NOGRAVITY
	radius 0
    height 0
	Scale 0.65
	mass 500
	DamageType "XenoPosioin"
	States
	{
		Spawn:
		HUGG U 55 A_Explode(1,4)
		Loop
		}
}