ACTOR SmoothShotgunGuy : ShotgunGuy
{
	States
	{
	Spawn:
		SARR AB 10 A_Look
		loop
	See:
		SPOS ABCDDCBA 3 A_Chase
		Loop
	Missile:
	    TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==2, "CaseMissile")
		SPSR A 1
	    SPSR AC 2 A_FaceTarget
		SPOS E 5 A_FaceTarget
		SPOS F 3 BRIGHT A_SposAttackUseAtkSound
		SPOS E 2 BRIGHT
		SPSR CA 3
		SPSR ABA 3
		Goto See
	CaseMissile:
		SPSR A 1
	    SPSR AC 2 A_FaceTarget
		SPOS E 5 A_FaceTarget
		SPOS F 3 BRIGHT A_SposAttackUseAtkSound
		TNT1 A 0 A_spawnitemex ("shellcasing", 30, 0, 30, random(3,4), random(7,8), random(7,9), 0)
		SPOS E 2 BRIGHT
		SPSR CA 3
		SPSR ABA 3
		Goto See
	pain:
		SSPA a 3
		SSPA b 3 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")
		goto Death1
	
	Death1:
		SOSS Q 3
		SOSS R 3 A_Scream
		SOSS S 3 A_NoBlocking
		SOSS TU 2
		SOSS VWX 2
		//TNT1 A 0 a_jumpif(callACS("NukeCheck")==1, "NukeMelt")
		SOSS Y -1
		Stop
	Death2:
		SO2S A 3
		SO2S B 3 A_Scream
		SO2S C 3 A_NoBlocking
		SO2S DEF 3
		SO2S GHI 2
		SO2S JKL 4
		//TNT1 A 0 a_jumpif(callACS("NukeCheck2")==1, "NukeMelt2")
		SO2S M -1
		Stop	
	XDeath:
		SGIB ab 2
		TNT1 AAAAAAAAAAAAAAA 0 A_CustomMissile ("Gibs1", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AA 0 A_CustomMissile ("Gibs2", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItem("XBlood2", 0, 40)
		SGIB cd 2 A_XScream
		SGIB e 2 a_noblocking
		SGIB f 2
		SGIB ghijklmnop 2
		SGIB q -1
		Stop
	NukeMelt:
		SMEL abcdefghijklmnopq 3
		stop
	NukeMelt2:
		SME2 abcdefghijklmnopq 3
		stop
	Raise:
		SPOS L 5
		SPOS KJIH 5
		Goto See
	}
}

ACTOR SguyV1 : SmoothShotgunGuy //helmet
{
	States
	{
	Spawn:
		SIV1 AB 10 A_Look
		Loop
	See:
		SMV1 ABCDDCBA 3 A_Chase
		Loop
	Missile:
	    TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==2, "CaseMissile")
		SSV1 A 1
	    SSV1 AC 2 A_FaceTarget
		SSV1 E 5 A_FaceTarget
		SSV1 F 3 BRIGHT A_SposAttackUseAtkSound
		SSV1 E 2
		SSV1 CA 3
		SSV1 ABA 3
		Goto See
	CaseMissile:
		SSV1 A 1
	    SSV1 AC 2 A_FaceTarget
		SSV1 E 5 A_FaceTarget
		SSV1 F 3 BRIGHT A_SposAttackUseAtkSound
		TNT1 A 0 A_spawnitemex ("shellcasing", 30, 0, 30, random(3,4), random(7,8), random(7,9), 0)
		SSV1 E 2
		SSV1 CA 3
		SSV1 ABA 3
		Goto See
	pain:
		SPV1 a 3
		SPV1 b 3 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")
		goto Death1
	
	Death1:
		S1V1 Q 3
		S1V1 R 3 A_Scream
		S1V1 S 3 A_NoBlocking
		S1V1 TU 2
		S1V1 VWX 2
		//TNT1 A 0 a_jumpif(callACS("NukeCheck")==1, "Melt")
		S1V1 Y -1
		Stop
	Death2:
		S2V1 A 3
		S2V1 B 3 A_Scream
		S2V1 C 3 A_NoBlocking
		S2V1 DEF 3
		S2V1 GHI 2
		S2V1 JKLMNOP 4
		S2V1 Q -1
		Stop	
	XDeath:
		S3V1 ab 2
		TNT1 AAAAAAAAAAAAAAA 0 A_CustomMissile ("Gibs1", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AA 0 A_CustomMissile ("Gibs2", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItem("XBlood2", 0, 40)
		S3V1 cd 2 A_XScream
		S3V1 e 2 a_noblocking
		S3V1 f 2
		S3V1 ghijklmnop 2
		S3V1 q -1
		Stop
	Melt:
		SMEL abcdefghijklmnopq 3
		stop
	Raise:
		SMV1 L 5
		SMV1 KJIH 5
		Goto See
	}
}

ACTOR SguyV2 : SmoothShotgunGuy //goggles
{
	States
	{
	Spawn:
		SIV2 AB 10 A_Look
		Loop
	See:
		SMV2 ABCDDCBA 3 A_Chase
		Loop
	Missile:
	    TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==2, "CaseMissile")
		SSV2 A 1
	    SSV2 AC 2 A_FaceTarget
		SSV2 E 5 A_FaceTarget
		SSV2 F 3 BRIGHT A_SposAttackUseAtkSound
		SSV2 E 2
		SSV2 CA 3
		SSV2 ABA 3
		Goto See
	CaseMissile:
		SSV2 A 1
	    SSV2 AC 2 A_FaceTarget
		SSV2 E 5 A_FaceTarget
		SSV2 F 3 BRIGHT A_SposAttackUseAtkSound
		TNT1 A 0 A_spawnitemex ("shellcasing", 30, 0, 30, random(3,4), random(7,8), random(7,9), 0)
		SSV2 E 2
		SSV2 CA 3
		SSV2 ABA 3
		Goto See
	pain:
		SPV2 a 3
		SPV2 b 3 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")
		goto Death1
	
	Death1:
		S1V2 Q 3
		S1V2 R 3 A_Scream
		S1V2 S 3 A_NoBlocking
		S1V2 TU 2
		S1V2 VWX 2
		//TNT1 A 0 a_jumpif(callACS("NukeCheck")==1, "NukeMelt")
		S1V2 Y -1
		Stop
	Death2:
		S2V2 A 3
		S2V2 B 3 A_Scream
		S2V2 C 3 A_NoBlocking
		S2V2 DEF 3
		S2V2 GHI 2
		S2V2 JKL 4
		//TNT1 A 0 a_jumpif(callACS("NukeCheck")==1, "NukeMelt2")
		S2V2 M -1
		Stop		
	XDeath:
		S3V2 ab 2
		TNT1 AAAAAAAAAAAAAAA 0 A_CustomMissile ("Gibs1", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AA 0 A_CustomMissile ("Gibs2", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItem("XBlood2", 0, 40)
		S3V2 cd 2 A_XScream
		S3V2 e 2 a_noblocking
		S3V2 f 2
		S3V2 ghijklmnop 2
		S3V2 q -1
		Stop
	NukeMelt:
		SMEL abcdefghijklmnopq 3
		stop
	NukeMelt2:
		SME2 abcdefghijklmnopq 3
		stop
	Raise:
		SMV2 L 5
		SMV2 KJIH 5
		Goto See
	}
}