ACTOR Z86Chaingun : Chaingun replaces Chaingun
{
	decal bulletchip
	States
	{
   Ready:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==1, "64Ready")
		PKCG A 1 A_WeaponReady
		Loop
   Deselect:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==1, "64Deselect")
		PKCG A 1 A_Lower
		Loop
   Select:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==1, "64Select")
		PKCG A 1 A_Raise
		Loop
	Fire:
		TNT1 A 0 a_jumpif(callacs("BobToggle")==1, "bobfire")
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==1, "64Fire")
		TNT1 A 0 A_JumpIf(CallACS("recoiltoggle")==1, "recoilfire")
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==1, "CaseFire")
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==2, "CaseFire")
		PKCG A 1 A_FireCGun
		PKCG BCD 1
		PKCG A 1 A_FireCGun
		PKCG BCD 1
		PKCG B 0 A_ReFire
		PKCG A 1 A_Weaponready
		PKCG BB 1 A_Weaponready
		PKCG CCC 1 A_Weaponready
		PKCG DDD 1 A_Weaponready
		Goto Ready
	RecoilFire:
		TNT1 A 0 a_jumpif(callacs("BobToggle")==1, "bobrecoilfire")
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==1, "64RecoilFire")
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==1, "RecoilCaseFire")
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==2, "RecoilCaseFire")
		PKCG A 1 A_FireCGun
		PKCG a 0 a_setpitch(pitch-0.5)
		PKCG B 1 a_setpitch(pitch+0.2)
		PKCG C 1 a_setpitch(pitch+0.2)
		PKCG D 1 a_setpitch(pitch+0.1)
		PKCG A 1 A_FireCGun
		PKCG a 0 a_setpitch(pitch-0.5)
		PKCG B 1 a_setpitch(pitch+0.2)
		PKCG C 1 a_setpitch(pitch+0.2)
		PKCG D 1 a_setpitch(pitch+0.1)
		PKCG B 0 A_ReFire
		PKCG A 1 A_Weaponready
		PKCG BB 1 A_Weaponready
		PKCG CCC 1 A_Weaponready
		PKCG DDD 1 A_Weaponready
		Goto Ready
	CaseFire:
		TNT1 A 0 a_jumpif(callacs("BobToggle")==1, "bobcasefire")
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==1, "64CaseFire")
		TNT1 A 0 A_JumpIf(CallACS("recoiltoggle")==1, "recoilcasefire")
		PKCG A 1 A_FireCGun
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 15, random(5,7), random(7,8), random(7,10), 0)
		PKCG BCD 1
		PKCG A 1 A_FireCGun
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 15, random(4,6), random(7,9), random(7,9), 0)
		PKCG BCD 1
		PKCG B 0 A_ReFire
		PKCG A 1 A_Weaponready
		PKCG BB 1 A_Weaponready
		PKCG CCC 1 A_Weaponready
		PKCG DDD 1 A_Weaponready
		Goto Ready
	RecoilCaseFire:
		TNT1 A 0 a_jumpif(callacs("BobToggle")==1, "bobrecoilcasefire")
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==1, "64RecoilCaseFire")
		PKCG A 1 A_FireCGun
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 15, random(5,7), random(7,8), random(7,10), 0)
		PKCG a 0 a_setpitch(pitch-0.5)
		PKCG B 1 a_setpitch(pitch+0.2)
		PKCG C 1 a_setpitch(pitch+0.2)
		PKCG D 1 a_setpitch(pitch+0.1)
		PKCG A 1 A_FireCGun
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 15, random(5,7), random(7,8), random(7,10), 0)
		PKCG a 0 a_setpitch(pitch-0.5)
		PKCG B 1 a_setpitch(pitch+0.2)
		PKCG C 1 a_setpitch(pitch+0.2)
		PKCG D 1 a_setpitch(pitch+0.1)
		PKCG B 0 A_ReFire
		PKCG A 1 A_Weaponready
		PKCG BB 1 A_Weaponready
		PKCG CCC 1 A_Weaponready
		PKCG DDD 1 A_Weaponready
		Goto Ready
	Flash:
		TNT1 A 0
		TNT1 A 0 a_jumpif(callacs("64muzzleflashes")==1, "64MuzzleFlash")
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==1, "64Flash")
		TNT1 A 0 A_Jump(128,4)
		PKCF A 1 Bright A_Light1
		PKCF B 1 Bright A_Light2
		TNT1 A 2 A_Light1
		Goto LightDone
		PKCF C 1 Bright A_Light1
		PKCF D 1 Bright A_Light2
		TNT1 A 2 A_Light1
		Goto LightDone
	64MuzzleFlash:
		TNT1 A 0 a_jumpif(callacs("64muzzleflashes")==0, "flash")
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==1, "64Muzzle64Flash")
		TNT1 A 0 A_Jump(128,4)
		64CX A 1 Bright A_Light1
		64CX B 1 Bright A_Light2
		TNT1 A 2 A_Light1
		Goto LightDone
		64CX C 1 Bright A_Light1
		64CX D 1 Bright A_Light2
		TNT1 A 2 A_Light1
		Goto LightDone	
		
	64Ready:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==0, "Ready")
		64CG A 1 A_WeaponReady
		Loop
   64Deselect:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==0, "Deselect")
		64CG A 1 A_Lower
		Loop
   64Select:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==0, "Select")
		64CG A 1 A_Raise
		Loop
	64Fire:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==0, "Fire")
		TNT1 A 0 A_JumpIf(CallACS("recoiltoggle")==1, "recoilfire")
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==1, "CaseFire")
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==2, "CaseFire")
		64CG A 1 A_FireCGun
		64CG BCD 1
		64CG A 1 A_FireCGun
		64CG BCD 1
		64CG B 0 A_ReFire
		64CG A 1 A_Weaponready
		64CG BB 1 A_Weaponready
		64CG CCC 1 A_Weaponready
		64CG DDD 1 A_Weaponready
		Goto Ready
	64RecoilFire:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==0, "RecoilFire")
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==1, "RecoilCaseFire")
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==2, "RecoilCaseFire")
		64CG A 1 A_FireCGun
		64CG a 0 a_setpitch(pitch-0.5)
		64CG B 1 a_setpitch(pitch+0.2)
		64CG C 1 a_setpitch(pitch+0.2)
		64CG D 1 a_setpitch(pitch+0.1)
		64CG A 1 A_FireCGun
		64CG a 0 a_setpitch(pitch-0.5)
		64CG B 1 a_setpitch(pitch+0.2)
		64CG C 1 a_setpitch(pitch+0.2)
		64CG D 1 a_setpitch(pitch+0.1)
		64CG B 0 A_ReFire
		64CG A 1 A_Weaponready
		64CG BB 1 A_Weaponready
		64CG CCC 1 A_Weaponready
		64CG DDD 1 A_Weaponready
		Goto Ready
	64CaseFire:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==0, "CaseFire")
		TNT1 A 0 A_JumpIf(CallACS("recoiltoggle")==1, "recoilcasefire")
		64CG A 1 A_FireCGun
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 15, random(5,7), random(7,8), random(7,10), 0)
		64CG BCD 1
		64CG A 1 A_FireCGun
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 15, random(4,6), random(7,9), random(7,9), 0)
		64CG BCD 1
		64CG B 0 A_ReFire
		64CG A 1 A_Weaponready
		64CG BB 1 A_Weaponready
		64CG CCC 1 A_Weaponready
		64CG DDD 1 A_Weaponready
		Goto Ready
	64RecoilCaseFire:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==0, "RecoilCaseFire")
		64CG A 1 A_FireCGun
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 15, random(5,7), random(7,8), random(7,10), 0)
		64CG a 0 a_setpitch(pitch-0.5)
		64CG B 1 a_setpitch(pitch+0.2)
		64CG C 1 a_setpitch(pitch+0.2)
		64CG D 1 a_setpitch(pitch+0.1)
		64CG A 1 A_FireCGun
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 15, random(5,7), random(7,8), random(7,10), 0)
		64CG a 0 a_setpitch(pitch-0.5)
		64CG B 1 a_setpitch(pitch+0.2)
		64CG C 1 a_setpitch(pitch+0.2)
		64CG D 1 a_setpitch(pitch+0.1)
		64CG B 0 A_ReFire
		64CG A 1 A_Weaponready
		64CG BB 1 A_Weaponready
		64CG CCC 1 A_Weaponready
		64CG DDD 1 A_Weaponready
		Goto Ready
	64Flash:
		TNT1 A 0
		TNT1 A 0 a_jumpif(callacs("64muzzleflashes")==1, "64muzzle64flash")
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==0, "Flash")
		TNT1 A 0 A_Jump(128,4)
		64CG e 1 Bright A_Light1
		64CG f 1 Bright A_Light2
		TNT1 A 2 A_Light1
		Goto LightDone
		64CG g 1 Bright A_Light1
		64CG h 1 Bright A_Light2
		TNT1 A 2 A_Light1
		Goto LightDone
	64Muzzle64Flash:
		TNT1 A 0
		TNT1 A 0 a_jumpif(callacs("64muzzleflashes")==0, "64flash")
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==0, "64MuzzleFlash")
		TNT1 A 0 A_Jump(128,4)
		6CGX e 1 Bright A_Light1
		6CGX f 1 Bright A_Light2
		TNT1 A 2 A_Light1
		Goto LightDone
		6CGX g 1 Bright A_Light1
		6CGX h 1 Bright A_Light2
		TNT1 A 2 A_Light1
		Goto LightDone
		
/////////////////////////
//////BOB STATES/////////
/////////////////////////		
		
	bobFire:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==1, "64Fire")
		TNT1 A 0 A_JumpIf(CallACS("recoiltoggle")==1, "recoilfire")
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==1, "CaseFire")
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==2, "CaseFire")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG A 1 A_FireCGun
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG B 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG D 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG A 1 A_FireCGun
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG B 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG D 1
		PKCG B 0 A_ReFire
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG A 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG BB 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG CCC 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG DDD 1 A_Weaponready
		Goto Ready
	bobRecoilFire:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==1, "64RecoilFire")
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==1, "RecoilCaseFire")
		TNT1 A 0 A_JumpIf(CallACS("CasingToggle")==2, "RecoilCaseFire")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG A 1 A_FireCGun
		PKCG a 0 a_setpitch(pitch-0.5)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG B 1 a_setpitch(pitch+0.2)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1 a_setpitch(pitch+0.2)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG D 1 a_setpitch(pitch+0.1)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG A 1 A_FireCGun
		PKCG a 0 a_setpitch(pitch-0.5)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG B 1 a_setpitch(pitch+0.2)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1 a_setpitch(pitch+0.2)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG D 1 a_setpitch(pitch+0.1)
		PKCG B 0 A_ReFire
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG A 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG B 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG B 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG DDD 1 A_Weaponready
		Goto Ready
	bobCaseFire:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==1, "64CaseFire")
		TNT1 A 0 A_JumpIf(CallACS("recoiltoggle")==1, "recoilcasefire")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG A 1 A_FireCGun
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 15, random(5,7), random(7,8), random(7,10), 0)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG B 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG D 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG A 1 A_FireCGun
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 15, random(4,6), random(7,9), random(7,9), 0)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG B 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG D 1
		PKCG B 0 A_ReFire
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG A 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG B 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG B 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG D 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG D 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG D 1 A_Weaponready
		Goto Ready
	bobRecoilCaseFire:
		TNT1 A 0 A_JumpIf(CallACS("ChaingunToggle")==1, "64RecoilCaseFire")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG A 1 A_FireCGun
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 15, random(5,7), random(7,8), random(7,10), 0)
		PKCG a 0 a_setpitch(pitch-0.5)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG B 1 a_setpitch(pitch+0.2)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1 a_setpitch(pitch+0.2)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG D 1 a_setpitch(pitch+0.1)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG A 1 A_FireCGun
		TNT1 A 0 A_spawnitemex ("bulletcasing", 40, 0, 15, random(5,7), random(7,8), random(7,10), 0)
		PKCG a 0 a_setpitch(pitch-0.5)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG B 1 a_setpitch(pitch+0.2)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG C 1 a_setpitch(pitch+0.2)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG D 1 a_setpitch(pitch+0.1)
		PKCG B 0 A_ReFire
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG A 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG BB 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG CCC 1 A_Weaponready
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PKCG DDD 1 A_Weaponready
		Goto Ready
	}
}