ACTOR DoubleSG : ModWeapon replaces SuperShotgun
{
	Weapon.SelectionOrder 400
	Weapon.SlotNumber 3
	Weapon.AmmoType "DBSGMag"
	Weapon.AmmoGive 0
	Weapon.AmmoUse 0
	Weapon.AmmoType2 "Shell"
	Weapon.AmmoGive2 6
	Weapon.UpSound "weapons/sguns/equp"
	Inventory.PickupMessage "You got the Double-Barrel Shotgun!"
	Inventory.PickupSound "weapons/dbsg/opn"
	Tag "Double-Barrel Shotgun"
	//+WEAPON.NOAUTOFIRE
	States
	{
	Select:
		TNT1 A 0 A_PlaySound("weapons/dbsg/cls", CHAN_AUTO)
		PKS2 T 1 A_Raise
		TNT1 A 0 A_ZoomFactor(1.00)
		PKS2 T 1 A_WeaponOffset(54, 81, WOF_INTERPOLATE)
		DBRL A 1 A_WeaponOffset(32, 69, WOF_INTERPOLATE)
		DBRL A 1 A_WeaponOffset(22, 58, WOF_INTERPOLATE)
		DBRL A 1 A_WeaponOffset(10, 47, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(7, 39, WOF_INTERPOLATE)
		PKS2 T 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_PlaySound("weapons/riotgun/deselect", CHAN_AUTO)
		TNT1 A 0 A_PlaySound("weapons/deselect", CHAN_AUTO)
		PKS2 T 1 A_WeaponOffset(2, 34, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(7, 39, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(10, 47, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(22, 58, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(32, 69, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(54, 100, WOF_INTERPOLATE)
		PKS2 T 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("DitchedDBSG", 0, 0, 0, 13)
		GRAB EF 2
		GRAB GHI 3
	Stopped:
		TNT1 A 1
		Loop
	Fire:
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("led_SSGAltFireToggle")==1, "FireDouble")
		Goto FireSingle
	FireSingle:
		TNT1 A 0 A_JumpIfInventory("DBSGMag", 2, "FireRight")
		TNT1 A 0 A_JumpIfInventory("DBSGMag", 1, "FireLeft")
		Goto Reload
	FireLeft:
		TNT1 A 0 A_FireLedSSGLeft
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.985, ZOOM_INSTANT)
		SHT3 A 1 A_WeaponOffset(0, 49, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch-1)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.99)
		SHT3 A 1 A_WeaponOffset(0, 47, WOF_INTERPOLATE)
		TNT1 AAA 0 A_FireProjectile("GunSmokeSpawner",0,0,-4,-6)
		TNT1 A 0 A_SetPitch(pitch-0.25)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.992)
		SHT3 A 1 A_WeaponOffset(0, 41, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.25)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.994)
		SHT3 A 1 A_WeaponOffset(0, 39, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.25)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.996)
		PKS2 T 1 A_WeaponOffset(0, 35, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.25)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.998)
		PKS2 T 1 A_WeaponOffset(0, 32, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.25)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(1.00)
		PKS2 T 1 
		TNT1 A 0 A_SetPitch(pitch+0.125)
		PKS2 T 1
		TNT1 A 0 A_SetPitch(pitch+0.125)
		SHT2 A 0 A_JumpIf(ACS_NamedExecuteWithResult("led_ToggleSSG")==0, "ReloadCheck")
		Goto Ready
	FireRight:
		TNT1 A 0 A_JumpIfInventory("DBSGMag", 1, 1)
		Goto Reload
		TNT1 A 0 A_FireLedSSGRight
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.985, ZOOM_INSTANT)
		SHT3 A 1 A_WeaponOffset(0, 49, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch-1)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.99)
		SHT3 A 1 A_WeaponOffset(0, 47, WOF_INTERPOLATE)
		TNT1 AAA 0 A_FireProjectile("GunSmokeSpawner",0,0,4,-6)
		TNT1 A 0 A_SetPitch(pitch-0.25)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.992)
		SHT3 A 1 A_WeaponOffset(0, 41, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.25)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.994)
		SHT3 A 1 A_WeaponOffset(0, 39, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.25)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.996)
		PKS2 T 1 A_WeaponOffset(0, 35, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.25)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.998)
		PKS2 T 1 A_WeaponOffset(0, 32, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.25)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(1.00)
		PKS2 T 1 
		TNT1 A 0 A_SetPitch(pitch+0.125)
		PKS2 T 1
		TNT1 A 0 A_SetPitch(pitch+0.125)
		Goto Ready
	AltFire:
		PKS2 T 0 A_JumpIf(ACS_NamedExecuteWithResult("led_SSGAltFireToggle")==1, "FireSingle")
		Goto FireDouble
	FireDouble:
		PKS2 T 0 A_JumpIfInventory("DBSGMag", 2, 1)
		Goto FireSingle
		TNT1 A 0 A_JumpIfInventory("DBSGMag", 1, 1)
		Goto Reload
		TNT1 A 0 A_FireLedSSG
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.955, ZOOM_INSTANT)
		PKS2 T 1 A_WeaponOffset(0, 61, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch-1.25)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.96)
		SHT3 A 1 A_WeaponOffset(0, 59, WOF_INTERPOLATE)
		TNT1 AA 0 A_FireProjectile("GunSmokeSpawner",0,0,-4,-9)
		TNT1 AA 0 A_FireProjectile("GunSmokeSpawner",0,0,4,-9)
		TNT1 A 0 A_SetPitch(pitch-0.75)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.965)
		SHT3 A 1 A_WeaponOffset(0, 57, WOF_INTERPOLATE)
		TNT1 A 0 A_FireProjectile("GunSmokeSpawner",0,0,-7,-7)
		TNT1 A 0 A_FireProjectile("GunSmokeSpawner",0,0,7,-7)
		TNT1 A 0 A_SetPitch(pitch+0.5)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.97)
		SHT3 A 1 A_WeaponOffset(0, 55, WOF_INTERPOLATE)
		TNT1 A 0 A_FireProjectile("PistolSmokeSpawner",0,0,0,-5)
		TNT1 A 0 A_SetPitch(pitch+0.5)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.975)
		PKS2 T 1 A_WeaponOffset(0, 53, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.5)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.98)
		PKS2 T 1 A_WeaponOffset(0, 49, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.25)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.985)
		PKS2 T 1 A_WeaponOffset(0, 45, WOF_INTERPOLATE)
		TNT1 A 0 A_FireProjectile("CasingSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SetPitch(pitch+0.125)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.99)
		PKS2 T 1 A_WeaponOffset(0, 41, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.0625)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(0.995)
		PKS2 T 1 A_WeaponOffset(0, 37, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.03125)
		TNT1 A 0 A_JumpIf(GetCvar("led_ZoomEffects")==0, 2)
		TNT1 A 0 A_ZoomFactor(1.00)
		PKS2 T 1 A_WeaponOffset(0, 32, WOF_INTERPOLATE)
		TNT1 A 0 A_SetPitch(pitch+0.03125)
		SHT2 A 0 A_JumpIf(ACS_NamedExecuteWithResult("led_ToggleSSG")==0, "ReloadCheck")
		Goto Ready
	ReloadCheck:
		TNT1 A 0 A_JumpIfInventory("Shell", 1, "Reload")
		Goto Ready
	Reload:
	    TNT1 A 0 A_JumpIfInventory("Shell", 1, 1)
        Goto Ready
		TNT1 A 0 A_JumpIfInventory("DBSGMag", 1, "ReloadSingle")
		TNT1 A 0 A_JumpIfInventory("DBSGMag", 0, "Ready")
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		DBRL ABC 1
		DBRL D 2
		DBRL E 2
		DBRL F 3
		DBRL G 3 A_PlaySound("weapons/dbsg/opn", 5)
		TNT1 A 0 A_FireProjectile("GunSmokeSpawner",0,0,-6,-3)
		TNT1 AA 0 A_FireProjectile("PumpSmokeSpawner",0,0,-6,-3)
		TNT1 AA 0 A_FireProjectile("PumpSmokeSpawner",0,0,-2,-2)
		TNT1 A 0 A_JumpIfInventory("DBSGMag", 0, "ReloadDouble")
	ReloadDouble:
		TNT1 A 0 A_FireProjectile("SSGCasingSpawner", 0, 0, -6, -4)
		TNT1 A 0 A_FireProjectile("SSGCasingSpawner", 0, 0, -2, -2)
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		PKS2 GHI 2
		TNT1 AA 0 A_FireProjectile("PumpSmokeSpawner",0,0,-6,-3)
		TNT1 AA 0 A_FireProjectile("PumpSmokeSpawner",0,0,-2,-2)
		PKS2 JK 2 
		Goto ReloadWork
	ReloadSingle:
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		PKS2 SS 1 
		DBRL AAAAA 1 
		SHT2 D 4 A_PlaySound("weapons/dbsg/opn", 5)
		TNT1 AA 0 A_FireProjectile("PumpSmokeSpawner",0,0,-2,-2)
		TNT1 A 0 A_FireProjectile("SSGCasingSpawner", 0, 0, -2, -2)
		PKS2 G 2
		TNT1 AA 0 A_FireProjectile("PumpSmokeSpawner",0,0,-2,-2)
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		SH2R ABC 2 
		Goto ReloadWork
	ReloadWork:
		TNT1 A 0 A_GiveInventory("DBSGMag")
		TNT1 A 0 A_TakeInventory("Shell", 1, TIF_NOTAKEINFINITE)
		TNT1 A 0 A_JumpIfInventory("DBSGMag", 0, "ReloadEnd")
		TNT1 A 0 A_JumpIfInventory("Shell", 1, "ReloadWork")
		Goto ReloadEnd
	ReloadEnd:
		PKS2 L 4 A_PlaySound("weapons/dbsg/load", 5)
		PKS2 M 2
		PKS2 NOPQ 2 
		TNT1 A 0 A_PlaySound("weapons/foley", CHAN_AUTO)
		PKS2 R 3 A_PlaySound("weapons/dbsg/cls", 5)
		PKS2 S 3
		PKS2 T 1 A_ReFire
		Goto Ready
	Ready:
		TNT1 A 0 A_JumpIfInventory("Punching", 1, "DoPunch")
		PKS2 T 0 A_JumpIfInventory("DBSGMag",0,2)
		PKS2 T 0 A_JumpIfInventory("Shell",1,2)
		PKS2 T 1 A_WeaponReady
		Loop
		TNT1 A 0 A_JumpIfInventory("Punching", 1, "DoPunch")
		PKS2 T 1 A_WeaponReady(WRF_ALLOWRELOAD)
		Loop
	DoPunch:
		TNT1 A 0 A_PlaySound("weapons/deselect", CHAN_AUTO)
		TNT1 A 0 A_TakeInventory("Punching",1)
		PKS2 T 1 A_WeaponOffset(-5,35, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(-30,45, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(-40,52, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(-49,75, WOF_INTERPOLATE)
		PKS2 T 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)
		PKS2 T 1 A_WeaponOffset(-90,79, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(-75,69, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(-60,60, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(-45,52, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(-30,45, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(-15,39, WOF_INTERPOLATE)
		PKS2 T 1 A_WeaponOffset(0,32, WOF_INTERPOLATE)
		Goto Ready
	Spawn:
		DBBL A -1
		Stop
	LeftFlash:
		LFTF B 1 Bright A_Light2
		LFTF A 1 Bright A_Light1
		Goto LightDone
	RightFlash:
		RHTF B 1 Bright A_Light2
		RHTF A 1 Bright A_Light1
		Goto LightDone
	Flash:
		DBLF A 1 Bright A_Light2
		DBLF B 1 Bright A_Light1
		Goto LightDone
	}
}