ACTOR Riotgun : ModWeapon replaces Shotgun
{
	Weapon.SelectionOrder 1300
	Weapon.SlotNumber 3
	Weapon.AmmoType "ShotgunMag"
	Weapon.AmmoUse 1
	Weapon.AmmoGive 0
	Weapon.AmmoType2 "Shell"
	Weapon.AmmoUse2 0
	Weapon.AmmoGive2 8
	Weapon.UpSound "weapons/sguns/equp"
	Inventory.PickupMessage "You got the Riot Shotgun!"
	Inventory.PickupSound "weapons/riotgun/pump"
	Tag "Riot Shotgun"
	+WEAPON.NOAUTOFIRE
	States
	{
	Select:
		TNT1 A 0 A_TakeInventory("ShotgunReloading", 1)
		TNT1 A 0 A_PlaySound("weapons/riotgun/bck", CHAN_AUTO)
		RIOT FF 1 A_Raise
		TNT1 A 0 A_ZoomFactor(1.00)
		RIOT F 1 A_WeaponOffset(54, 81, WOF_INTERPOLATE)
		RIOT F 1 A_WeaponOffset(32, 69, WOF_INTERPOLATE)
		TNT1 A 0 A_PlaySound("weapons/riotgun/fwd", CHAN_AUTO)
		RIOT E 1 A_WeaponOffset(22, 58, WOF_INTERPOLATE)
		RIOT E 1 A_WeaponOffset(10, 47, WOF_INTERPOLATE)
		RIOT E 1 A_WeaponOffset(7, 39, WOF_INTERPOLATE)
		RIOT E 1 A_WeaponOffset(2, 34, WOF_INTERPOLATE)
		Goto Ready
	Deselect:
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("led_AnimToggle")==1, "DeadSelect")
		TNT1 A 0 A_JumpIfInventory("ShotgunReloading", 1, "DeselectReload")
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_TakeInventory("SGAiming",1)
		TNT1 A 0 A_Takeinventory("SGZoomIn",1)
		TNT1 A 0 A_PlaySound("weapons/riotgun/deselect", CHAN_AUTO)
		TNT1 A 0 A_PlaySound("weapons/deselect", CHAN_AUTO)
		RIOT A 1 A_WeaponOffset(2, 34, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(7, 39, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(10, 47, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(22, 58, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(32, 69, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(54, 100, WOF_INTERPOLATE)
		RIOT A 1 A_Lower
		Wait
	DeselectReload:
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_TakeInventory("SGAiming",1)
		TNT1 A 0 A_Takeinventory("SGZoomIn",1)
		TNT1 A 0 A_PlaySound("weapons/riotgun/deselect", CHAN_AUTO)
		TNT1 A 0 A_PlaySound("weapons/deselect")
		RGLS I 1 A_WeaponOffset(-7, 39, WOF_INTERPOLATE)
		RGLS I 1 A_WeaponOffset(-12, 45, WOF_INTERPOLATE)
		RGLS I 1 A_WeaponOffset(-20, 52, WOF_INTERPOLATE)
		RGLS I 1 A_WeaponOffset(-35, 60, WOF_INTERPOLATE)
		RGLS I 1 A_WeaponOffset(-50, 69, WOF_INTERPOLATE)
		RGLS I 1 A_WeaponOffset(-67, 100, WOF_INTERPOLATE)
		TNT1 A 1 A_Lower
		Wait
	DeadSelect:
		TNT1 A 0 A_JumpIfHealthLower(1, "Dead")
		Goto Deselect+1
	Dead:
		TNT1 A 0
	Anim:
		TNT1 A 1 A_WeaponOffset(0, 32)
		GRAB ABCD 2
		TNT1 A 0 A_FireProjectile("DitchedShotgun", 0, 0, 0, 13)
		GRAB EF 2
		GRAB GHI 3
	Stopped:
		TNT1 A 1
		Loop
	Fire:
		TNT1 A 0 A_JumpIfInventory("ShotgunReloading",1,"ReloadEnd")
		TNT1 A 0 A_JumpIfInventory("SGZoomIn", 1, "AimedFire")
		TNT1 A 0 A_JumpIfNoAmmo("Reload")
		TNT1 A 0 A_FireLedShotgun
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.985, ZOOM_INSTANT)
		RIOT D 1 A_WeaponOffset(0, 33, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch-1.5)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.99)
		RIOT D 1 A_WeaponOffset (0, 37, WOF_INTERPOLATE)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.992)
		TNT1 AAA 0 A_FireProjectile("GunSmokeSpawner", 0, 0, 0, -5)
		TNT1 A 0 A_SetPitch(pitch-0.25)
		RIOT B 1 A_WeaponOffset (0, 40, WOF_INTERPOLATE)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.994)
		TNT1 A 0 A_FireProjectile("CasingSmokeSpawner", 0, 0, 3, -6)
		TNT1 A 0 A_SetPitch(pitch+0.5)
		RIOT B 1 A_WeaponOffset (0, 41, WOF_INTERPOLATE)
		TNT1 A 0 A_FireProjectile("CasingSmokeSpawner", 0, 0, -3, -8)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.996)
		TNT1 A 0 A_SetPitch(pitch+0.5)
		RIOT C 1 A_WeaponOffset (0, 39, WOF_INTERPOLATE)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.998)
		TNT1 A 0 A_SetPitch(pitch+0.25)
		RIOT C 1 A_WeaponOffset (0, 37, WOF_INTERPOLATE)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_SetPitch(pitch+0.25)
		RIOT B 1 A_WeaponOffset (0, 35, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.125)
		RIOT B 1 A_WeaponOffset (0, 34, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.0625)
		RIOT D 1 A_WeaponOffset (0, 33, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.0625)
		RIOT A 1 A_WeaponOffset(0, 32, WOF_INTERPOLATE)
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("led_PumpToggle")==1, "ClassicPump")
	Pump:
		TNT1 A 0 A_PlaySound("weapons/riotgun/bck", CHAN_AUTO)
		RIOT EF 2
		RIOT F 1 A_WeaponOffset(0,34, WOF_INTERPOLATE)
		TNT1 A 0 A_PlaySound("weapons/riotgun/fwd", CHAN_AUTO)
		RIOT F 1 A_WeaponOffset(0,36, WOF_INTERPOLATE)
		TNT1 A 0 A_FireProjectile("ShotgunCasingSpawner", 0, 0, 2, -2.75)
		TNT1 AA 0 A_FireProjectile("PumpSmokeSpawner", 0, 0, 5, -5)
		RIOT E 1 A_WeaponOffset(0,34, WOF_INTERPOLATE)
		TNT1 A 0 A_FireProjectile("PumpSmokeSpawner", 0, 0, 5, -4)
		RIOT E 1 A_WeaponOffset(0,33, WOF_INTERPOLATE)
		TNT1 A 0 A_FireProjectile("PumpSmokeSpawner", 0, 0, 5, -4)
		RIOT A 4 A_WeaponOffset(0,32, WOF_INTERPOLATE)
		TNT1 A 0 A_ReFire
		Goto Ready
	ClassicPump:
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		RGSW ABC 1 A_WeaponOffset(0,34, WOF_INTERPOLATE)
		RGSW D 1 A_WeaponOffset(-2,35, WOF_INTERPOLATE)
		RGSW D 1 A_WeaponOffset(-4,36, WOF_INTERPOLATE)
		TNT1 A 0 A_PlaySound("weapons/riotgun/bck", CHAN_AUTO)
		RGSW E 2 A_WeaponOffset(-6,38, WOF_INTERPOLATE)
		RGSW G 1 A_WeaponOffset(-8,39, WOF_INTERPOLATE)
		TNT1 A 0 A_FireProjectile("ShotgunCasingSpawner",0,0,-3,-7)
		TNT1 AA 0 A_FireProjectile("PumpSmokeSpawner", 0, 0, -9, -9)
		RGSW H 2 A_WeaponOffset(-10,40, WOF_INTERPOLATE)
		TNT1 A 0 A_FireProjectile("PumpSmokeSpawner", 0, 0, -9, -9)
		TNT1 A 0 A_PlaySound("weapons/riotgun/fwd", CHAN_AUTO)
		RGSW I 1
		TNT1 A 0 A_FireProjectile("PumpSmokeSpawner", 0, 0, -9, -9)
		RGSW J 1
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		RGSW E 2 A_WeaponOffset(-12,39, WOF_INTERPOLATE)
		RGSW D 2 A_WeaponOffset(-10,38, WOF_INTERPOLATE)
		RGSW D 2 A_WeaponOffset(-6,36, WOF_INTERPOLATE)
		RGSW C 1 A_WeaponOffset(-3,35, WOF_INTERPOLATE)
		RGSW B 1 A_WeaponOffset(-1,34, WOF_INTERPOLATE)
		RGSW A 1 A_WeaponOffset(0,38, WOF_INTERPOLATE)
		RIOT A 2 A_WeaponOffset(0,35, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(0,33, WOF_INTERPOLATE)
		TNT1 A 0 A_ReFire
		Goto Ready
	AimedFire:
		TNT1 A 0 A_JumpIfNoAmmo("AimedReload")
		TNT1 A 0 A_FireLedADSShotgun
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(1.49, ZOOM_INSTANT)
		TNT1 A 0 A_SetPitch(pitch-0.7)
		ZMFI B 1 A_WeaponOffset(0,33, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch-0.3)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(1.492)
		ZMFI B 1 A_WeaponOffset(0,37, WOF_INTERPOLATE)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(1.494)
		TNT1 AAA 0 A_FireProjectile("GunSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SetPitch(pitch+0.25)
		ZMFI B 1 A_WeaponOffset(0,40, WOF_INTERPOLATE)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(1.496)
		TNT1 A 0 A_SetPitch(pitch+0.25)
		ZMFI C 1 A_WeaponOffset(0,41, WOF_INTERPOLATE)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(1.498)
		TNT1 A 0 A_SetPitch(pitch+0.125)
		ZMFI C 1 A_WeaponOffset(0,39, WOF_INTERPOLATE)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(1.5)
		TNT1 A 0 A_SetPitch(pitch+0.125)
		ZMFI C 1 A_WeaponOffset(0,37, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.125)
		ZMFI C 1 A_WeaponOffset(0,35, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.125)
		ZMFI C 1 A_WeaponOffset(0,32, WOF_INTERPOLATE)
		ZMFI C 3
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("led_PumpToggle")==1, "ClassicAimedPump")
	AimedPump:
		TNT1 A 0 A_PlaySound("weapons/riotgun/bck", CHAN_AUTO)
		ZMCK A 1
		ZMCK B 2
		ZMCK C 1 A_WeaponOffset(0,34, WOF_INTERPOLATE)
		TNT1 A 0 A_FireProjectile("ShotgunCasingSpawner",0,0,4,2)
		TNT1 AA 0 A_FireProjectile("PumpSmokeSpawner", 0, 0, 5, 2)
		ZMCK C 4 A_WeaponOffset(0,36, WOF_INTERPOLATE)
		TNT1 A 0 A_PlaySound("weapons/riotgun/fwd", CHAN_AUTO)
		TNT1 A 0 A_FireProjectile("PumpSmokeSpawner", 0, 0, 6, 1)
		ZMCK DE 2 A_WeaponOffset(0,34, WOF_INTERPOLATE)
		SHZM C 1 A_WeaponOffset(0,32, WOF_INTERPOLATE)
		SHZM C 4
		SHZM C 0 A_ReFire
		Goto AimReady
	ClassicAimedPump:
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		TNT1 A 0 A_ZoomFactor(1.00)
		SHZM BA 2
		RGSW ABC 1 A_WeaponOffset(0,34, WOF_INTERPOLATE)
		RGSW D 1 A_WeaponOffset(-2,35, WOF_INTERPOLATE)
		RGSW D 1 A_WeaponOffset(-4,36, WOF_INTERPOLATE)
		TNT1 A 0 A_PlaySound("weapons/riotgun/bck", CHAN_AUTO)
		RGSW E 2 A_WeaponOffset(-6,38, WOF_INTERPOLATE)
		RGSW G 1 A_WeaponOffset(-8,39, WOF_INTERPOLATE)
		TNT1 A 0 A_FireProjectile("ShotgunCasingSpawner",0,0,-2,-7)
		TNT1 AA 0 A_FireProjectile("PumpSmokeSpawner", 0, 0, -9, -9)
		RGSW H 2 A_WeaponOffset(-10,40, WOF_INTERPOLATE)
		TNT1 A 0 A_FireProjectile("PumpSmokeSpawner", 0, 0, -9, -9)
		TNT1 A 0 A_PlaySound("weapons/riotgun/fwd", CHAN_AUTO)
		RGSW I 1
		TNT1 A 0 A_FireProjectile("PumpSmokeSpawner", 0, 0, -9, -9)
		RGSW J 1
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		RGSW E 2 A_WeaponOffset(-12,39, WOF_INTERPOLATE)
		RGSW D 2 A_WeaponOffset(-10,38, WOF_INTERPOLATE)
		RGSW D 2 A_WeaponOffset(-6,36, WOF_INTERPOLATE)
		RGSW C 1 A_WeaponOffset(-3,35, WOF_INTERPOLATE)
		RGSW B 1 A_WeaponOffset(-1,34, WOF_INTERPOLATE)
		RGSW A 1 A_WeaponOffset(0,38, WOF_INTERPOLATE)
		RIOT A 2 A_WeaponOffset(0,32, WOF_INTERPOLATE)
		TNT1 A 0 A_ZoomFactor(1.5)
		SHZM ABCCC 1
		TNT1 A 0 A_ReFire
		Goto AimReady
	Altfire:
		TNT1 A 0 A_JumpIf(GetCvar("led_ShotADS")==0, "Ready")
		TNT1 A 0 A_JumpIfInventory("SGAiming",1,"ZoomOut")
		TNT1 A 0 A_JumpIfInventory("ShotgunReloading", 1, "ReloadEnd")
		TNT1 A 0 A_GiveInventory("SGZoomIn",1)
		TNT1 A 0 A_GiveInventory("SGAiming",1)
	ZoomIn:
		TNT1 A 0 A_ZoomFactor(1.5)
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		TNT1 A 0 A_PlaySound("weapons/riotgun/move")
		SHZM ABC 1
		Goto AimReady
	ZoomOut:
		TNT1 A 0 A_ClearReFire
		TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		TNT1 A 0 A_PlaySound("weapons/riotgun/move")
		SHZM BA 2
		TNT1 A 0 A_TakeInventory("SGZoomIn",1)
		TNT1 A 0 A_TakeInventory("SGAiming",1)
		Goto Ready
	ZoomOutAndReload:
		TNT1 A 0 A_PlaySound("weapons/riotgun/move")
		TNT1 A 0 A_ZoomFactor(1.0)
		SHZM BA 2
	Reload:
		TNT1 A 0 A_JumpIfInventory("SGZoomIn", 1, "AimedReload")
		TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_JumpIfInventory("ShotgunMag", 8, 2)
		TNT1 A 0 A_JumpIfInventory("Shell", 1, "ReloadWork1")
		TNT1 A 0 A_JumpIfInventory("SGZoomIn", 1, "ZoomOutAndReload")
		RIOT A 1 A_WeaponReady
		Goto Ready
	AimedReload:
		TNT1 A 0 A_JumpIfInventory("ShotgunMag", 8, 2)
		TNT1 A 0 A_JumpIfInventory("Shell", 1, "ReloadWork1")
		SHZM C 1 A_WeaponReady
		Goto AimReady
	ReloadWork1:
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("led_ToggleShotgun")==0, "NoReloadWork")
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_JumpIfInventory("ShotgunMag",1,"ReloadWork2")
		TNT1 A 0 A_GiveInventory("ChamberLoading",1)
		TNT1 A 0 A_JumpIfInventory("ChamberLoading",1,"FirstLoad")
	FirstLoad:
		TNT1 A 0 A_GiveInventory("ShotgunReloading",1)
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		RGSW ABC 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOFIRE)
		RGSW DEF 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOFIRE)
		TNT1 A 0 A_PlaySound("weapons/riotgun/load",7)
		RGLS ABC 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOFIRE)
		TNT1 A 0 A_TakeInventory("Shell",1)
		TNT1 A 0 A_GiveInventory("ShotgunMag",1)
		RGLS DEFGH 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOFIRE)
		Goto ReloadPump
	ReloadWork2:
		TNT1 A 0 A_GiveInventory("ShotgunReloading",1)
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		RGSW ABC 1 A_WeaponReady(WRF_NOBOB)
		RGSW DEF 1 A_WeaponReady(WRF_NOBOB)
	ReloadLoop:
		TNT1 A 0 A_JumpIfInventory("Punching", 1, "DoPunch")
		RGLS ABC 1 A_WeaponReady(WRF_NOBOB)
		TNT1 A 0 A_PlaySound("weapons/riotgun/load",7)
		TNT1 A 0 A_TakeInventory("Shell",1)
		TNT1 A 0 A_GiveInventory("ShotgunMag",1)
		RGLS DEF 1 A_WeaponReady(WRF_NOBOB)
		RGLS III 1 A_WeaponReady(WRF_NOBOB)
		TNT1 A 0 A_JumpIfInventory("ChamberLoading", 1, "ReloadPump")
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_JumpIfInventory("ShotgunMag", 8, "ReloadEnd")
		TNT1 A 0 A_JumpIfInventory("Shell", 1, "ReloadLoop")
		Goto ReloadEnd
	ReloadPump:
		TNT1 A 0 A_PlaySound("weapons/riotgun/bck", CHAN_AUTO)
		RGSW FE 1
		RGSW G 2
		RGSW H 2 A_WeaponOffset(1,36, WOF_INTERPOLATE)
		RGSW H 2 A_WeaponOffset(2,38, WOF_INTERPOLATE)
		TNT1 A 0 A_PlaySound("weapons/riotgun/fwd", CHAN_AUTO)
		RGSW I 1 A_WeaponOffset(2,40, WOF_INTERPOLATE)
		RGSW J 3 A_WeaponOffset(5,36, WOF_INTERPOLATE)
		RGSW D 4 A_WeaponOffset(0,32, WOF_INTERPOLATE)
		RGSW E 2 A_WeaponOffset(0,38, WOF_INTERPOLATE)
		RGSW F 2 A_WeaponOffset(0,38, WOF_INTERPOLATE)
		TNT1 A 0 A_TakeInventory("ChamberLoading", 1)
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_JumpIfInventory("Shell",1,"ReloadLoop")
		Goto ReloadEnd
	ReloadEnd:
		TNT1 A 0 A_TakeInventory("ShotgunReloading", 1)
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		RGSW F 2 A_WeaponOffset(0,38, WOF_INTERPOLATE)
		RGSW E 2 A_WeaponOffset(0,38, WOF_INTERPOLATE)
		RGSW D 1 A_WeaponOffset(0,40, WOF_INTERPOLATE)
		RGSW C 1 A_WeaponOffset(0,38, WOF_INTERPOLATE)
		RGSW B 1 A_WeaponOffset(0,36, WOF_INTERPOLATE)
		RGSW A 1 A_WeaponOffset(0,32, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(0, 34, WOF_INTERPOLATE)
		TNT1 A 0 A_Refire
		TNT1 A 0 A_JumpIfInventory("SGZoomIn", 1, "ZoomIn")
		Goto Ready
	NoReloadWork:
		TNT1 A 0 A_JumpIfInventory("ShotgunMag",1,"NoReloadWork2")
		TNT1 A 0 A_GiveInventory ("ChamberLoading",1)
		TNT1 A 0 A_JumpIfInventory("ChamberLoading",1,"NoFirstLoad")
	NoFirstLoad:
		TNT1 A 0 A_TakeInventory("Shell",1)
		TNT1 A 0 A_GiveInventory("ShotgunMag",1)
		Goto NoReloadPump
	NoReloadWork2:
		TNT1 A 0 A_TakeInventory("Shell",1)
		TNT1 A 0 A_GiveInventory("ShotgunMag",1)
		TNT1 A 0 A_JumpIfInventory("ChamberLoading",1,"NoReloadPump")
		TNT1 A 0 A_JumpIfInventory("ShotgunMag",8,"NoReloadEnd")
		TNT1 A 0 A_JumpIfInventory("Shell",1,"NoReloadWork2")
		Goto NoReloadEnd
	NoReloadPump:
		TNT1 A 0 A_TakeInventory("ChamberLoading", 1)
		TNT1 A 0 A_JumpIfInventory("Shell",1,"NoReloadWork2")
		Goto NoReloadEnd
	NoReloadEnd:
		TNT1 A 0 A_JumpIfInventory("SGZoomIn", 1, "AimedNoReloadFinish")
		TNT1 A 0 A_ReFire
		Goto Ready
	AimedNoReloadFinish:
		TNT1 A 0 A_ReFire
		Goto AimReady
	Ready:
		TNT1 A 0 A_TakeInventory("ShotgunReloading", 1)
		TNT1 A 0 A_ClearRefire
		TNT1 A 0 A_JumpIfInventory("SGZoomIn", 1, "Altfire")
		TNT1 A 0 A_JumpIfInventory("Punching", 1, "DoPunch")
		RIOT A 1 A_WeaponReady(WRF_ALLOWRELOAD)
		Loop
	AimReady:
		TNT1 A 0 A_JumpIfInventory("Punching", 1, "DoPunch")
		SHZM C 1 A_WeaponReady(WRF_ALLOWRELOAD)
		Loop
	DoPunch:
		TNT1 A 0 A_JumpIfInventory("ShotgunReloading", 1, "ReloadDoPunch")
		TNT1 A 0 A_TakeInventory("SGAiming", 1)
		TNT1 A 0 A_TakeInventory("SGZoomIn", 1)
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_PlaySound("weapons/deselect", CHAN_AUTO)
		TNT1 A 0 A_TakeInventory("Punching",1)
		RIOT A 1 A_WeaponOffset(-5,35, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(-30,45, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(-40,52, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(-49,75, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(-51,90, WOF_INTERPOLATE)
		TNT1 A 1 A_WeaponOffset(0,32, WOF_INTERPOLATE)
		TNT1 A 0 A_PlaySound("swing")
		Goto ActualPunch
	ReloadDoPunch:
		TNT1 A 0 A_TakeInventory("SGAiming", 1)
		TNT1 A 0 A_TakeInventory("SGZoomIn", 1)
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_PlaySound("weapons/deselect", CHAN_AUTO)
		TNT1 A 0 A_TakeInventory("Punching",1)
		RGLS I 1 A_WeaponOffset(-5,35, WOF_INTERPOLATE)
		RGLS I 1 A_WeaponOffset(-30,45, WOF_INTERPOLATE)
		RGLS I 1 A_WeaponOffset(-40,52, WOF_INTERPOLATE)
		RGLS I 1 A_WeaponOffset(-49,75, WOF_INTERPOLATE)
		RGLS I 1 A_WeaponOffset(-51,90, WOF_INTERPOLATE)
		TNT1 A 1 A_WeaponOffset(0,32, WOF_INTERPOLATE)
		TNT1 A 0 A_PlaySound("swing")
		Goto ActualPunch
	PunchDone:
		TNT1 A 1 A_WeaponOffset(-90,79, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(-90,79, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(-75,69, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(-60,60, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(-45,52, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(-30,45, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(-15,39, WOF_INTERPOLATE)
		RIOT A 1 A_WeaponOffset(0,32, WOF_INTERPOLATE)
		Goto Ready
	Flash:
		BOOF B 1 Bright A_Light2
		BOOF A 1 Bright A_Light1
		Goto LightDone
	AltFlash:
		ZMFL A 1 Bright A_Light2
		TNT1 A 1 A_Light1
		Goto LightDone
	Spawn:
		RIOB A -1
		Stop
	}
}

ACTOR ChamberLoading : Inventory
{
	Inventory.MaxAmount 1
}

ACTOR ShotgunReloading : Inventory
{
	Inventory.Maxamount 1
}

Actor SGZoomIn : Inventory
{
	Inventory.Maxamount 1
}

Actor SGAiming : Inventory
{
	Inventory.Maxamount 1
}