ACTOR SmoothChaingunGuy : ChaingunGuy replaces ChaingunGuy
{
	States
	{
	Spawn:
		CPOS AB 10 A_Look
		Loop
	See:
		CMOV ABCDEFGH 3 A_Chase
		Loop
	Missile:
		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_JumpIf(CallACS("CasingToggle")==1, "+3")
			TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==0, "+2")
			TNT1 A 0 A_spawnitemex ("bulletcasing", 30, 0, 30, random(3,4), random(7,8), random(7,9), 0)
		CPOS E 2 A_FaceTarget
		CPOS F 2 BRIGHT A_CPosAttack
			TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==1, "+3")
			TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==0, "+2")
			TNT1 A 0 A_spawnitemex ("bulletcasing", 30, 0, 30, random(3,4), random(7,8), random(7,9), 0)
		CPOS E 2 A_FaceTarget
		CPOS E 1 A_CPosRefire
		Goto Missile+4
	Pain:
		XPOS A 3
		XPOS B 3 A_Pain
		Goto See
		
	Death.GibbyHaynes:
		TNT1 A 0 A_JumpIf(CallACS("StudioGibbly")==0, "Death")
		TNT1 A 0 A_JumpIfCloser(128, "XDeath")
		goto death
	Death.Saw:
		TNT1 A 0 A_JumpIf(CallACS("ChainsawGib")==0, "Death")
		goto Xdeath
		
		
	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:
		XPOS A 1
		CGUY Z 1
		CGUY a 1
		CGUY b 3 A_scream
		CGUY cde 2
		CGUY f 2 A_noblocking
		CGUY ghi 2
		CGUY jkl 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
	XDeath:
		CGIB ab 2
		TNT1 A 0 A_JumpIf(CallACS("Gibtoggle")==0, +2)
		TNT1 a 0 a_spawnitemex("gorecontroller")
		CGIB c 2 a_xscream
		CGIB de 2
		CGIB f 2 a_noblocking
		CGIB gh 2
		CGIB ij 2
		CGIB k -1
		Stop
		
	death.massacre:
		CGIB ab 2
		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
	}
}