ACTOR SmoothDoomImp : DoomImp Replaces DoomImp
{
	States
	{
	Spawn:
		IMID AB 10 A_Look
		Loop
	See:
		TRSO ABCDEF 3 A_Chase
		Loop
	Melee:
	Missile:
		TRSO I 1 a_facetarget
		TRSO IIJKL 3 A_FaceTarget
		TRSO M 3 A_TroopAttack
		TRSO LKJ 1
		Goto See	
	Pain:
		TRAI a 2
		TRAI b 2 A_Pain
		Goto See
	Death.GibbyHaynes:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("StudioGibbly")==0, "Death")
		TNT1 A 0
		TNT1 A 0 A_JumpIfCloser(128, "XDeath")
		TNT1 A 0
	Death:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(CallACS("MoDeathToggle")==1, "DeathExtra")
	TNT1 A 0 A_Jump(255, "Death1")
	Goto Death1
	
	DeathExtra:
	TNT1 A 0
	TNT1 A 0 A_Jump(255, "Death1", "Death2", "Death3", "Death4")
	Goto Death1
	
	Death1:
		5OSS J 2 A_Scream
		5OSS K 2 A_NoBlocking
		5OSS LMNO 3
		5OSS PQR 3
		5OSS ST 3
		//TNT1 A 0 a_jumpif(callACS("NukeCheck")==1, "NukeMelt")
		5OSS U -1
		Stop
		
	Death2:
		TSD3 A 3 A_Scream
		TSD3 B 2 A_NoBlocking
		TSD3 CDEFGHI 3
		TSD3 J -1
		Stop
	Death3:
		TRO2 a 3
		TRO2 b 3 A_NoBlocking
		TRO2 cd 3
		TRO2 e 3 A_Scream
		TRO2 FGHIJ 2
		TRO2 kl 3
		TRO2 M -1
		stop
	Death4:
		SROD A 4
		SROD B 3 A_Scream
		SROD C 3
		SROD D 3 A_NoBlocking
		SROD E 3
		SROD F 3
		SROD G 3
		SROD H 2
		SROD I 6
		SROD J 3
		SROD K 3
		SROD L 3
		SROD M -1
		Stop
	
	XDeath:
		TROX ab 2
		TNT1 AAAAAAAAAAAAAAA 0 A_CustomMissile ("Gibs1", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItem("XBlood2", 0, 40)
		TNT1 AA 0 A_CustomMissile ("Gibs2", 32, 0, random (0, 360), 2, random (0, 160))
		TROX cd 2 a_xscream
		TROX ef 2
		TROX gh 2 a_noblocking
		TROX ijklmn 2
		TROX o -1
		stop
	NukeMelt:
		IMEL abcdefhijklmn 2
		IMEL opqrstuv 3
		stop
	Raise:
		TROO MLKJI 8
		Goto See
	}
}

ACTOR ImpV1 : DoomImp
{
	States
	{
	Spawn:
		IIV1 AB 10 A_Look
		Loop
	See:
		IMV1 ABCDEF 3 A_Chase
		Loop
	Melee:
	Missile:
		ISV1 I 1 a_facetarget
		ISV1 IIJKL 3 A_FaceTarget
		ISV1 M 3 A_TroopAttack
		ISV1 LKJ 1
		Goto See	
	Pain:
		TRAI a 2
		TRAI b 2 A_Pain
		Goto See
	Death.GibbyHaynes:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("StudioGibbly")==0, "Death")
		TNT1 A 0
		TNT1 A 0 A_JumpIfCloser(128, "XDeath")
		TNT1 A 0
	Death:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(CallACS("MoDeathToggle")==1, "DeathExtra")
	TNT1 A 0 A_Jump(255, "Death1")
	Goto Death1
	
	DeathExtra:
	TNT1 A 0
	TNT1 A 0 A_Jump(255, "Death1", "Death2", "Death3", "Death4")
	Goto Death1
	
	Death1:
		5OSS J 2 A_Scream
		5OSS K 2 A_NoBlocking
		5OSS LMNO 3
		5OSS PQR 3
		5OSS ST 3
		//TNT1 A 0 a_jumpif(callACS("NukeCheck")==1, "NukeMelt")
		5OSS U -1
		Stop
		
	Death2:
		TSD3 A 3 A_Scream
		TSD3 B 2 A_NoBlocking
		TSD3 CDEFGHI 3
		TSD3 J -1
		Stop
	Death3:
		TRO2 a 3
		TRO2 b 3 A_NoBlocking
		TRO2 cd 3
		TRO2 e 3 A_Scream
		TRO2 FGHIJ 2
		TRO2 kl 3
		TRO2 M -1
		stop
	Death4:
		I2V1 A 4
		SROD B 3 A_Scream
		SROD C 3
		SROD D 3 A_NoBlocking
		SROD E 3
		SROD F 3
		SROD G 3
		SROD H 2
		SROD I 6
		SROD J 3
		SROD K 3
		SROD L 3
		SROD M -1
		Stop
	
	XDeath:
		TROX ab 2
		TNT1 AAAAAAAAAAAAAAA 0 A_CustomMissile ("Gibs1", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItem("XBlood2", 0, 40)
		TNT1 AA 0 A_CustomMissile ("Gibs2", 32, 0, random (0, 360), 2, random (0, 160))
		TROX cd 2 a_xscream
		TROX ef 2
		TROX gh 2 a_noblocking
		TROX ijklmn 2
		TROX o -1
		stop
	Raise:
		TROO MLKJI 8
		Goto See
	}
}

ACTOR ImpV2 : DoomImp
{
	States
	{
	Spawn:
		IIV2 AB 10 A_Look
		Loop
	See:
		IMV2 ABCDEF 3 A_Chase
		Loop
	Melee:
	Missile:
		ISV2 I 1 a_facetarget
		ISV2 IIJKL 3 A_FaceTarget
		ISV2 M 3 A_TroopAttack
		ISV2 LKJ 1
		Goto See	
	Pain:
		TRAI a 2
		TRAI b 2 A_Pain
		Goto See
	Death.GibbyHaynes:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("StudioGibbly")==0, "Death")
		TNT1 A 0
		TNT1 A 0 A_JumpIfCloser(128, "XDeath")
		TNT1 A 0
	Death:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(CallACS("MoDeathToggle")==1, "DeathExtra")
	TNT1 A 0 A_Jump(255, "Death1")
	Goto Death1
	
	DeathExtra:
	TNT1 A 0
	TNT1 A 0 A_Jump(255, "Death1", "Death2", "Death3", "Death4")
	Goto Death1
	
	Death1:
		5OSS J 2 A_Scream
		5OSS K 2 A_NoBlocking
		5OSS LMNO 3
		5OSS PQR 3
		5OSS ST 3
		//TNT1 A 0 a_jumpif(callACS("NukeCheck")==1, "NukeMelt")
		5OSS U -1
		Stop
		
	Death2:
		TSD3 A 3 A_Scream
		TSD3 B 2 A_NoBlocking
		TSD3 CDEFGHI 3
		TSD3 J -1
		Stop
	Death3:
		TRO2 a 3
		TRO2 b 3 A_NoBlocking
		TRO2 cd 3
		TRO2 e 3 A_Scream
		TRO2 FGHIJ 2
		TRO2 kl 3
		TRO2 M -1
		stop
	Death4:
		I2V2 A 4
		I2V2 B 3 A_Scream
		I2V2 C 3
		I2V2 D 3 A_NoBlocking
		I2V2 EF 3
		SROD G 3
		SROD H 2
		SROD I 6
		SROD J 3
		SROD K 3
		SROD L 3
		SROD M -1
		Stop
	
	XDeath:
		TROX ab 2
		TNT1 AAAAAAAAAAAAAAA 0 A_CustomMissile ("Gibs1", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItem("XBlood2", 0, 40)
		TNT1 AA 0 A_CustomMissile ("Gibs2", 32, 0, random (0, 360), 2, random (0, 160))
		TROX cd 2 a_xscream
		TROX ef 2
		TROX gh 2 a_noblocking
		TROX ijklmn 2
		TROX o -1
		stop
	Raise:
		TROO MLKJI 8
		Goto See
	}
}