ACTOR SmoothChaingunGuy : ChaingunGuy replaces ChaingunGuy
{
	States
	{
	Spawn:
		CPOS AB 10 A_Look
		Loop
	See:
		CPOS ABCDDCBA 3 A_Chase
		Loop
	Missile:
	    TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==2, "CaseMissile")
		CPAS A 3 A_FaceTarget
		CPAS BC 2 A_FaceTarget
		CPOS E 3 A_FaceTarget
		CPOS F 2 BRIGHT A_CPosAttack
		CPOS E 2 A_FaceTarget
		CPOS F 2 BRIGHT A_CPosAttack
		CPOS E 2 A_FaceTarget
		CPOS E 1 A_CPosRefire
		Goto Missile+6
	CaseMissile:
		CPAS A 3 A_FaceTarget
		CPAS BC 2 A_FaceTarget
		CPOS E 3 A_FaceTarget
		CPOS F 2 BRIGHT A_CPosAttack
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 25, random(4,6), random(7,8), random(7,9), 0)
		CPOS E 2 A_FaceTarget
		CPOS F 2 BRIGHT A_CPosAttack
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 25, random(4,6), random(7,8), random(7,9), 0)
		CPOS E 2 A_FaceTarget
		CPOS E 1 A_CPosRefire
		Goto CaseMissile+4
	Pain:
		XPOS A 3
		XPOS 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", "Death3")
	goto Death1
	
	Death1:
		CGUY a 3
		CGUY b 3 A_scream
		CGUY c 3
		CGUY de 2
		CGUY f 2 A_noblocking
		CGUY ghijkl 2
		CGUY m -1
		Stop
	Death2:
		SGUY a 3
		SGUY b 3 a_scream
		SGUY c 3 a_noblocking
		SGUY defghij 3
		SGUY k -1
		stop
	Death3:
		CDIE a 3
		CDIE b 3 a_scream
		CDIE c 3 a_noblocking
		CDIE defg 3
		CDIE hijkl 2
		CDIE mnop 3
		CDIE q -1
		stop
	XDeath:
		CGIB 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 AAAAAAAAAAAAAAAAAAA 0 A_SpawnItem("XBlood2", 0, 40)
		CGIB c 2 a_xscream
		CGIB de 2
		CGIB f 2 a_noblocking
		CGIB gh 2
		CGIB ij 2
		CGIB k -1
		Stop
	Raise:
		CPOS N 5
		CPOS MLKJIH 5
		Goto See
	}
}

ACTOR CguyV1 : Smoothchaingunguy //handsomeface
{
	states
	{
	Spawn:
		CWV1 AB 10 A_Look
		Loop
	See:
		CWV1 ABCDDCBA 3 A_Chase
		Loop
	Missile:
	    TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==2, "CaseMissile")
		CSV1 A 3 A_FaceTarget
		CSV1 BC 2 A_FaceTarget
		CSV1 E 3 A_FaceTarget
		CSV1 F 2 BRIGHT A_CPosAttack
		CSV1 E 2 A_FaceTarget
		CSV1 F 2 BRIGHT A_CPosAttack
		CSV1 E 2 A_FaceTarget
		CSV1 E 1 A_CPosRefire
		Goto Missile+6
	CaseMissile:
		CSV1 A 3 A_FaceTarget
		CSV1 BC 2 A_FaceTarget
		CSV1 E 3 A_FaceTarget
		CSV1 F 2 BRIGHT A_CPosAttack
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 25, random(4,6), random(7,8), random(7,9), 0)
		CSV1 E 2 A_FaceTarget
		CSV1 F 2 BRIGHT A_CPosAttack
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 25, random(4,6), random(7,8), random(7,9), 0)
		CSV1 E 2 A_FaceTarget
		CSV1 E 1 A_CPosRefire
		Goto CaseMissile+4
		}
}

ACTOR CguyV2 : CguyV1 //skully
{
	states
	{
	Spawn:
		CWV2 AB 10 A_Look
		Loop
	See:
		CWV2 ABCDDCBA 3 A_Chase
		Loop
	Missile:
	    TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==2, "CaseMissile")
		CSV2 A 3 A_FaceTarget
		CSV2 BC 2 A_FaceTarget
		CSV2 E 3 A_FaceTarget
		CSV2 F 2 BRIGHT A_CPosAttack
		CSV2 E 2 A_FaceTarget
		CSV2 F 2 BRIGHT A_CPosAttack
		CSV2 E 2 A_FaceTarget
		CSV2 E 1 A_CPosRefire
		Goto Missile+6
	CaseMissile:
		CSV2 A 3 A_FaceTarget
		CSV2 BC 2 A_FaceTarget
		CSV2 E 3 A_FaceTarget
		CSV2 F 2 BRIGHT A_CPosAttack
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 25, random(4,6), random(7,8), random(7,9), 0)
		CSV2 E 2 A_FaceTarget
		CSV2 F 2 BRIGHT A_CPosAttack
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 25, random(4,6), random(7,8), random(7,9), 0)
		CSV2 E 2 A_FaceTarget
		CSV2 E 1 A_CPosRefire
		Goto CaseMissile+4
	Pain:
		CPV2 A 3
		CPV2 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", "Death3")
	goto Death1
	
	Death1:
		C1V2 a 3
		C1V2 b 3 A_scream
		C1V2 c 3
		C1V2 de 2
		C1V2 f 2 A_noblocking
		C1V2 ghijkl 3
		C1V2 m -1
		Stop
	Death2:
		C2V2 a 3
		C2V2 b 3 a_scream
		C2V2 c 3 a_noblocking
		C2V2 defghij 3
		C2V2 k -1
		stop
	Death3:
		C3V2 a 3
		C3V2 b 3 a_scream
		C3V2 c 3 a_noblocking
		C3V2 defg 3
		C3V2 hijkl 2
		C3V2 mnop 3
		C3V2 q -1
		stop
	XDeath:
		CGIB 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 AAAAAAAAAAAAAAAAAAA 0 A_SpawnItem("XBlood2", 0, 40)
		CGIB c 2 a_xscream
		CGIB de 2
		CGIB f 2 a_noblocking
		CGIB gh 2
		CGIB ij 2
		CGIB k -1
		Stop
	}
}