ACTOR AssaultShotgun : BrutalWeapon
{
	Weapon.AmmoUse1 0
	Weapon.AmmoGive1 0
	Weapon.AmmoUse2 0
	Weapon.AmmoGive2 0
	Weapon.SlotNUMBER 3	
	Weapon.SelectionOrder 800				  
	Weapon.AmmoType1 "AmmoShell"
	Weapon.AmmoType2 "AssaultShotgunAmmo"
	Obituary "%o was shot down by %k's Assault Shotgun."
    AttackSound "None"
    Inventory.PickupSound "ASGUP"
	Inventory.Pickupmessage "$GOTASG"
	SCALE 0.39
    +WEAPON.NOAUTOAIM
    +WEAPON.NOALERT
    +WEAPON.NOAUTOFIRE
	+FORCEXYBILLBOARD
	Tag "Skallkvern-12"
	States
	{

	INSPECT:
		BADF A 0
		BADF A 0 A_TakeInventory("neverfoundASG", 1)
		BADF A 0 A_TakeInventory("JustStartedGame", 1)

		A12S A 0 A_PlaySound("AACL", 4,0.3)
		TNT1 A 0 A_InspectReady
		RVIN A 0 A_overlay(2,"TiltRIGHT4")
		ASGI ABCDEFGHHH 1 A_InspectReady
		RVIN A 0 A_PLAYSOUND("ASGMAGOU",1)
		ASGI IJKLMNOPQRSTUUUUUUUUUUUUUU 1 A_InspectReady
		4SGI ABCDEFGHI 1 A_InspectReady
		TNT1 A 0 A_QuakeEx(2, 2, 2, 4, 0, 64, "", 0, 0, 0, 0, 0, 0, 1)
		RVIN A 0 A_PLAYSOUND("ASGMAGIN",1)
		RVIN A 0 A_overlay(2,"TiltLEFT4")
		4SGI JKLMNOOOOPQ 1 A_InspectReady
		RVIN A 0 A_overlay(2,"TiltLEFT4")
		4SGI RSTUVWXYYY 1 A_InspectReady
		RVIN A 0 A_PLAYSOUND("ASGBOLT1",1)
		A12S A 0 A_ZoomFactor(0.99)
		4SGI Z 1 A_InspectReady
		A12S A 0 A_ZoomFactor(0.98)
		A5GI ABCDDD 1 A_InspectReady
		RVIN A 0 A_PLAYSOUND("ASGBOLT2",1)
		TNT1 A 0 A_QuakeEx(2, 2, 2, 4, 0, 64, "", 0, 0, 0, 0, 0, 0, 1)
		A12S A 0 A_ZoomFactor(1.0)
		RVIN A 0 A_overlay(2,"TiltRIGHT4")
		A5GI EFGHIJKLMNOPQ 1 A_InspectReady
		RVIN A 0 A_giveinventory("AssaultShotgunAmmo",10)
		
	INSPECTLOAD:
		A12S A 0 A_JumpIfInventory("AssaultShotgunAmmo",20,"Ready3")
		A12S A 0 A_JumpIfInventory("AmmoShell",1,1)
		Goto Ready3
        TNT1 A 0
		A12S A 0 A_Giveinventory("AssaultShotgunAmmo",1)
		A12S A 0 A_Takeinventory("AmmoShell",1)
		Goto InspectLoad
		TNT1 A 0
		GOTO READY3

Tiltleft4:
		TNT1 AAAAAAAA 1 A_setroll(roll+0.5)
		Stop
		
Tiltright4:
		TNT1 AAAAAAAA 1 A_setroll(roll-0.5)
		Stop

	Ready:
	SelectAnimation:
		TNT1 A 0 A_JumpIfInventory("ExecuteDownedEnemy", 1, "DoExecution")
		//Inspect check
		TNT1 A 0 a_jumpif(GetCVAR("weaponinspect") == 1,2)
		TNT1 A 0 A_JumpIfInventory("neverfoundASG",1,"Inspect")
		//
        TNT1 AA 1 A_JumpIfInventory("GoFatality", 1, "Steady")
		A12S A 0 		 
        A12S A 0 A_PlaySound("ASGUP")
        A12S HGFEDCB 1
		A12S A 0 A_JumpIfInventory("AutoShotUnloaded", 1, "ReadyUnloaded")
	Ready3:
		"####" "#" 0 A_JumpIfInventory("AutoShotUnloaded", 1, "ReadyUnloaded")
		"####" "#" 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USE, "UseAttackASG")
		"####" "#" 0 A_JumpIfInventory("ZoomeD",1,2)
		"####" "#" 0
		A12S A 1 A_WeaponReadyLit
		"####" "#" 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}
        "####" "#" 0 A_JumpIfInventory("Kicking",1,"dokickASG")
		"####" "#" 0 A_JumpIfInventory("StartDualWield",1,"SpecialAction")
        "####" "#" 0 A_TakeInventory("accumulatinggas", 1)
		"####" "#" 0 A_JumpIfInventory("Zoomed",1,"Ready2")												 
		"####" "#" 0 A_JumpIfInventory("AutoShotUnloaded", 1, "readyunloaded")
		"####" "#" 0 a_overlay(8,"gasmode", false)
		"####" "#" 0 a_overlay(5,"gasoverlay", false)
		Loop
	
	GASMODE:
		A12S A 0 A_JumpIfInventory("gaspoweredASG", 1, 2)
		A12S A 0 A_Jump(256,2)
		A12M X 1 BRIGHT
		TNT1 A 0
		STOP
		
	GASoverlay:
		A12M B 0 BRIGHT a_overlayflags(5, PSPF_ALPHA | PSPF_RENDERSTYLE, true)
		A12M B 0 A_OverlayRenderstyle(5,STYLE_Translucent)
		BADF A 0 A_JumpIfInventory("gascharges",20,"gasfull")
		BADF A 0 A_JumpIfInventory("gascharges",19,"gas19")
		BADF A 0 A_JumpIfInventory("gascharges",18,"gas18")
		BADF A 0 A_JumpIfInventory("gascharges",17,"gas17")
		BADF A 0 A_JumpIfInventory("gascharges",16,"gas16")
		BADF A 0 A_JumpIfInventory("gascharges",15,"gas15")
		BADF A 0 A_JumpIfInventory("gascharges",14,"gas14")
		BADF A 0 A_JumpIfInventory("gascharges",13,"gas13")
		BADF A 0 A_JumpIfInventory("gascharges",12,"gas12")
		BADF A 0 A_JumpIfInventory("gascharges",11,"gas11")
		BADF A 0 A_JumpIfInventory("gascharges",10,"gas10")
		BADF A 0 A_JumpIfInventory("gascharges",9,"gas9")
		BADF A 0 A_JumpIfInventory("gascharges",8,"gas8")
		BADF A 0 A_JumpIfInventory("gascharges",7,"gas7")
		BADF A 0 A_JumpIfInventory("gascharges",6,"gas6")
		BADF A 0 A_JumpIfInventory("gascharges",5,"gas5")
		BADF A 0 A_JumpIfInventory("gascharges",4,"gas4")
		BADF A 0 A_JumpIfInventory("gascharges",3,"gas3")
		BADF A 0 A_JumpIfInventory("gascharges",2,"gas2")
		BADF A 0 A_JumpIfInventory("gascharges",1,"gas1")
		A12M C 1 BRIGHT
		stop
	gasfull:
		A12M W 1 BRIGHT
		stop
	gas19:
		A12M V 1 BRIGHT
		stop
	gas18:
		A12M U 1 BRIGHT
		stop
	gas17:
		A12M T 1 BRIGHT
		stop
	gas16:
		A12M S 1 BRIGHT
		stop
	gas15:
		A12M R 1 BRIGHT
		stop
	gas14:
		A12M Q 1 BRIGHT
		stop
	gas13:
		A12M P 1 BRIGHT
		stop
	gas12:
		A12M O 1 BRIGHT
		stop
	gas11:
		A12M N 1 BRIGHT
		stop
	gas10:
		A12M M 1 BRIGHT
		stop
	gas9:
		A12M L 1 BRIGHT
		stop
	gas8:
		A12M K 1 BRIGHT
		stop
	gas7:
		A12M J 1 BRIGHT
		stop
	gas6:
		A12M I 1 BRIGHT
		stop
	gas5:
		A12M H 1 BRIGHT
		stop
	gas4:
		A12M G 1 BRIGHT
		stop
	gas3:
		A12M F 1 BRIGHT
		stop
	gas2:
		A12M E 1 BRIGHT
		stop
	gas1:
		A12M D 1 BRIGHT
		stop
	
	UseOverlay:
		BADF A 0 a_overlay(8,"gasmode", false)
		BADF A 0 a_overlay(5,"gasoverlay", false)
		TNT1 A 1
		A12S A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USE, "UseOverlay")
		stop
	UseAttackASG:
		"####" "#" 0 a_overlay(67,"useoverlay", false)
		"####" "#" 0 A_JumpIfInventory("AutoShotUnloaded", 1, 2)
		"####" "#" 0 A_jump(256, "UseAttack")
		goto Ready3
		"####" "#" 0 A_jump(256, "UseAttack")
		goto Readyunloaded
	
	Ready2:
		A12A G 0 A_SetCrosshair(41)
        A12A G 0 A_JumpIfInventory("Kicking",1,"dokickASG")
		"####" "#" 0 A_JumpIfInventory("StartDualWield",1,"SpecialAction")
        A12A G 0 A_TakeInventory("accumulatinggas", 1)
		A12A G 1 A_WeaponReadyLit
				
		A12A G 0 A_JumpIf(Getcvar("ADSMode") == 0, 3)  ///////ADS MODE CHECK
		A12A G 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_altATTACK, "holdaim")
		A12A G 0 A_JumpIfInventory("ZoomHold", 1, "NoAim")
		A12A G 0
		Loop	
	
	 readyunloaded:
		"####" "#" 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}
		"####" "#" 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USE, "UseAttackASG")
		ASGU V 1 A_WeaponReadyLit					   
		"####" "#" 0 A_JumpIfInventory("Kicking",1,"dokickASG")
		 "####" "#" 0 A_TakeInventory("accumulatinggas", 1)
		"####" "#" 0 A_JumpIfInventory("StartDualWield",1,"SpecialAction")
		"####" "#" 0 a_overlay(8,"gasmode", false)
		"####" "#" 0 a_overlay(5,"gasoverlay", false)
		Loop
	
	Deselect:
		A12S A 0
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}
		 DURI A 0 A_TakeInventory("accumulatinggas", 120)
		A12S A 0 A_Takeinventory("ASGSELECTED",1)
		A12S A 0 A_Takeinventory("Zoomed",1)
		A12S A 0 A_Takeinventory("ADSmode",1)
		TNT1 A 0 A_TakeInventory("throwtoken", 1)
		TNT1 A 0 A_TakeInventory("slashtoken", 1)
		DURI A 0 A_TakeInventory("Flaretoken", 1)
		A12S A 0 A_TakeInventory("TossGrenade", 1)
		PLSI A 0 Acs_namedTERMINATE("asgaccumulatinggas",0)
        A12S A 0 A_ZoomFactor(1.0)
		A12S A 0 A_JumpIfInventory("AutoShotUnloaded", 1, "DeSelectNoAmmo")
		A12S ABCDEFGH 1
	DESELECTCONTINUE:
		TNT1 AAAAAAAAAAAAAAAAAA 0 A_Lower
		TNT1 A 1 A_Lower
		Wait
	
	goingtoaction:
        A12S A 0
		A12S A 0 A_JumpIfInventory("zoomed", 1, "noaim")
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}
		 DURI A 0 A_TakeInventory("accumulatinggas", 100)
		A12S A 0 A_Takeinventory("Zoomed",1)
		A12S A 0 A_Takeinventory("ADSmode",1)
		TNT1 A 0 A_TakeInventory("throwtoken", 1)
		TNT1 A 0 A_TakeInventory("slashtoken", 1)
		DURI A 0 A_TakeInventory("Flaretoken", 1)
		A12S A 0 A_TakeInventory("TossGrenade", 1)
        A12S A 0 A_ZoomFactor(1.0)
		A12S ABCDEFGH 1
		TNT1 A 0 A_JumpIfInventory("weargasmask", 1, "wearanimation")
		TNT1 A 0 A_JumpIfInventory("removegasmask", 1, "removeanimation")
		TNT1 A 0 A_JumpIfInventory("battledrugtoken",1,"drugshot")
		TNT1 A 0 A_JumpIfInventory("BANDAGETOKEN",1,"BANDAGE")
		goto repair
		
	DeSelectNoAmmo:	
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}
		A12S IJKLMNO 1
		TNT1 AAAAAAAAAAAAAAAAAA 0 A_Lower
		TNT1 A 1 A_Lower
		Wait
		
	Select: 
		TNT1 A 0 A_Overlay(-10,"FirstPersonLegsStand")
		TNT1 A 0 a_removelight(1)
		TNT1 A 0 A_removelight(2)	
		TNT1 A 0 A_SetRoll(0)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}
		TNT1 A 0 SetPlayerProperty(0,0,2)
		A12S A 0 A_Giveinventory("GoSpecial",1)
		TNT1 A 0 ACS_NAMEDEXECUTE("WEAPONSELECT",0)
		PLSI A 0 Acs_namedexecute("asgaccumulatinggas",0)
		DURI A 0 A_TakeInventory("Flaretoken", 1)
		A12S A 0 A_TakeInventory("TossGrenade", 1)				 
		A12S A 0 A_JumpIfInventory("AutoShotUnloaded", 1, "SelectsNoAmmo")
		TNT1 A 1 A_Raise
																	
		TNT1 AAAAAAAAAAAAAAA 0 A_Raise
		Goto ready
	
	SelectsNoAmmo:	
		TNT1 A 1 A_Raise
		TNT1 AAAAAAAAAAAAAAA 0 A_Raise
		Goto ready
	
    Fire:
		"####" "#" 0 A_JumpIfInventory("justjammed",1,"misfire")
		"####" "#" 0 A_JumpIfInventory("GASPOWEREDASG",1,2)
		"####" "#" 0 A_Jump(256, 2)
		"####" "#" 0 A_JumpIfInventory("GASCHARGES",1,"FIREGAS")
		
		
		"####" "#" 0 A_jumpifinventory("jammedASG",1,"Unstuck")
        "####" "#" 0 A_JumpIfInventory("AssaultShotgunAmmo",1,1)
        Goto NoAmmo
        "####" "#" 0
		
		//DURABILITY CHECK
		TNT1 A 0 A_JumpIFInventory("FirearmsdurabilityOFF", 1, 4)
		PIST F 0 A_Takeinventory("ASGDurability",1)
		PIST F 0 A_JumpIfInventory("ASGDurability",30, 2)
		PIST F 0 A_Jump(50, "Misfire")
		///
		
        A12S A 0 A_startSound("A12FIR", 112)
		RIFF A 0 //A_FireCustomMissile("DistantFireSoundShotgun", random(-1,1), 0, 0, -12, 0, random(-1,1))
		TNT1 AAAAAAAAAAAA 0 BRIGHT A_FireCustomMissile("ShotgunParticles", random(-12,12), 0, -1, 0, 0, random(-9,9))
		TNT1 AAA 0 BRIGHT A_FireCustomMissile("ShotgunParticles2", random(-12,12), 0, -1, 0, 0, random(-9,9))
		NULL A 0 A_WeaponOffset(random(-2,2),32+random(0,1))
		A12S A 0 A_JumpIfInventory("Zoomed",1,"Fire2")
		//RIFF A 0 A_FireCustomMissile("GunFireSmoke", 0, 0, 0, -2, 0, 0)
		A12F A 1 BRIGHT A_AlertMonsters
		A12S A 0 A_SpawnItemEx("PlayerMuzzle1",32,0,28)
        SHTN AAAA 0 A_Fireprojectile("BuckshotTracer", frandom(-3.5,3.5), 0,0,0,0, frandom(-2,2))
		SHTN AAAA 0 A_Fireprojectile("ASGTracer", frandom(-2,2), 0,0,0,0, frandom(-1,1))
		SHTN A 0 A_Fireprojectile("BuckshotTracer", frandom(-1,1), 0,0,0,0, 0)
		A12S A 0 A_giveinventory("accumulatinggas",49)
		A12S A 0 A_ZoomFactor(0.9)
		A12S A 0 A_OVERLAY(6,"jammedcheck")
		A12S A 0 A_JumpIfInventory("norecoil",1,3)
		A12S A 0 A_OVERLAY(2,"ASGRECOIL")
		TNT1 A 0 A_SetANgle(angle+random(-1, 1))
		A12S A 0 A_Takeinventory("AssaultShotgunAmmo",1)
		A12F B 1 BRIGHT
		A12S A 0 A_ZoomFactor(1.0)
       A12F C 1 
	   NULL A 0 A_WeaponOffset(0,32)
		A12F DEFGHII 1
		
		/// DURABILITY CHECK 2
		TNT1 A 0 A_JumpIFInventory("FirearmsdurabilityOFF", 1, 2)
		PIST F 0 A_JumpIfInventory("ASGdurability", 1, 1)
		goto weaponbreak
		TNT1 A 0 
		///
		
		SHTZ A 0 A_Refire
		A12S A 4 A_WeaponReady(1)
		Goto Ready3
	
	FIREGAS:
        TNT1 AAAA 0
		TNT1 A 0 A_jumpifinventory("AssaultShotgunAmmo",1,2)
		PIST F 0 A_Jump(256, 2)
		TNT1 A 0 A_jumpifinventory("jammedASG",1,"Unstuck")
		
		//DURABILITY CHECK
		TNT1 A 0 A_JumpIFInventory("FirearmsdurabilityOFF", 1, 4)
		PIST F 0 A_Takeinventory("ASGDurability",1)
		PIST F 0 A_JumpIfInventory("ASGDurability",30, 2)
		PIST F 0 A_Jump(50, "Misfire")
		///
		
		TNT1 AAAAAAAAAAAA 0 BRIGHT A_FireCustomMissile("ShotgunParticles", random(-12,12), 0, -1, 0, 0, random(-9,9))
		TNT1 AAA 0 BRIGHT A_FireCustomMissile("ShotgunParticles2", random(-12,12), 0, -1, 0, 0, random(-9,9))
		NULL A 0 A_WeaponOffset(random(-2,2),32+random(0,1))
		A12S A 0 A_JumpIfInventory("AssaultShotgunAmmo",1,"shellgas")
        Goto gasonly
		
	GASONLY:
		A12S A 0 A_STARTSound("ASGFIREGAS",120,CHANF_OVERLAP)
		A12S A 0 A_JumpIfInventory("Zoomed",1,"Fire2GAS")
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SPAWNITEMEX ("HUDSMOKE",17,5,39, RANDOM(0,1),RANDOM(1,1),RANDOM(1,2),0)
		A12F Q 1 BRIGHT A_AlertMonsters
		A12S A 0 A_SpawnItemEx("PlayerMuzzle1",32,0,28)
        SHTN A 0 A_Fireprojectile("ASGGASATTACK", frandom(-1,1), 0,0,0,0, 0)
		A12S A 0 A_ZoomFactor(0.9)
		A12S A 0 A_JumpIfInventory("norecoil",1,3)
		A12S A 0 A_OVERLAY(2,"ASGRECOIL")
		TNT1 A 0 A_SetANgle(angle+random(-1, 1))
		A12S A 0 A_Takeinventory("gascharges",1)
		A12S A 0 A_ZoomFactor(1.0)
       A12F S 1 
	   NULL A 0 A_WeaponOffset(0,32)
		/// DURABILITY CHECK 2
		PIST F 0 A_JumpIfInventory("ASGdurability", 1, 1)
		goto weaponbreak
		TNT1 A 0
		///	
		RIFG A 0 A_JumpIfInventory("AutoShotUnloaded",1,5)
		A12F TU 1 
		A12F UU 1
		goto firegasend
		A12F TV 1 
		A12F UU 1
		goto firegasend
		
	SHELLGAS:
		A12S A 0 A_startSound("A12FIR", 1,CHANF_OVERLAP,0.7)
		A12S A 0 A_STARTSound("ASGFIREBOTH",120,CHANF_OVERLAP)
		A12S A 0 A_JumpIfInventory("Zoomed",1,"Fire2SHELLGAS")
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SPAWNITEMEX ("HUDSMOKE",17,5,39, RANDOM(0,1),RANDOM(1,1),RANDOM(1,2),0)
		A12F M 1 BRIGHT A_AlertMonsters
		A12S A 0 A_SpawnItemEx("PlayerMuzzle1",32,0,28)
        SHTN AAAA 0 A_Fireprojectile("BuckshotTracer", frandom(-3.5,3.5), 0,0,0,0, frandom(-2,2))
		SHTN AAAA 0 A_Fireprojectile("ASGTracer", frandom(-2,2), 0,0,0,0, frandom(-1,1))
		SHTN A 0 A_Fireprojectile("BuckshotTracer", frandom(-1,1), 0,0,0,0, 0)
		SHTN A 0 A_Fireprojectile("ASGGASATTACK", frandom(-1,1), 0,0,0,0, 0)
		A12S A 0 A_ZoomFactor(0.9)
		A12S A 0 A_OVERLAY(6,"jammedcheck")
		A12S A 0 A_JumpIfInventory("norecoil",1,3)
		A12S A 0 A_OVERLAY(2,"ASGRECOIL")
		TNT1 A 0 A_SetANgle(angle+random(-1, 1))
		A12S A 0 A_giveinventory("accumulatinggas",49)
		PIST F 0 A_Takeinventory("ASGDurability",1)
		A12S A 0 A_Takeinventory("AssaultShotgunAmmo",1)
		A12S A 0 A_Takeinventory("gascharges",1)
		A12F N 1 BRIGHT
		A12S A 0 A_ZoomFactor(1.0)
		NULL A 0 A_WeaponOffset(0,32)
		A12S A 0 A_JumpIfInventory("norecoil",1,2)
       A12F O 1 a_setpitch(pitch-10)
		A12F SPPT 1
		
		 /// DURABILITY CHECK 2
		TNT1 A 0 A_JumpIFInventory("FirearmsdurabilityOFF", 1, 2)
		PIST F 0 A_JumpIfInventory("ASGdurability", 1, 1)
		goto weaponbreak
		TNT1 A 0
		///	
		
		TNT1 A 0 
		RIFG A 0 A_JumpIfInventory("AutoShotUnloaded",1,2)
		A12F U 1 A_REFIRE("fire")
		goto firegasend
		A12F V 1 A_REFIRE("fire")
		goto firegasend
	
	FIREGASEND:
		SHTZ A 0 A_Refire("fire")
		RIFG A 0 A_JumpIfInventory("AutoShotUnloaded",1,2)
		A12S A 4 A_WeaponReady(1)
		Goto Ready3
		ASGU V 4 A_WeaponReady(1)
		goto readyunloaded
	
	ASGRecoil:
	TNT1 AA 1 A_SETPITCH(PITCH-3.4)
	TNT1 A 1 A_SETPITCH(PITCH-1.5)
	TNT1 AAA 1 A_SETPITCH(PITCH+0.4)
	STOP
	
	ASGRecoil2:
	TNT1 AA 1 A_SETPITCH(PITCH-3)
	TNT1 A 1 A_SETPITCH(PITCH-1)
	TNT1 AAA 1 A_SETPITCH(PITCH+0.6)
	STOP
	
	 Fire2: //Aiming DOwn the Sights
        A12A S 1 BRIGHT A_AlertMonsters
		A12S A 0 A_SpawnItemEx("PlayerMuzzle1",32,0,28)
        SHTN AAAA 0 A_Fireprojectile("BuckshotTracer", frandom(-3.0,3.0), 0,0,0,0, frandom(-1,1))
		SHTN AAAA 0 A_Fireprojectile("ASGTracer", frandom(-2,2), 0,0,0,0, frandom(-1,1))
		SHTN A 0 A_Fireprojectile("asgTracer", 0, 0,0,0,0, 0)
		A12S A 0 A_OVERLAY(6,"jammedcheck")
		
		A12S A 0 A_giveinventory("accumulatinggas",49)
		RIFG A 0 A_JumpIfInventory("norecoil",1,3)
		A12S A 0 A_OVERLAY(2,"ASGRECOIL2")
		TNT1 A 0 A_SetANgle(angle+random(-1, 1))
		
		A12S A 0 A_ZoomFactor(1.2)
		A12S A 0 A_Takeinventory("AssaultShotgunAmmo",1)
		A12A T 1 BRIGHT
		NULL A 0 A_WeaponOffset(0,32)
		A12S A 0 A_ZoomFactor(1.3)
		A12A FHIJKLM 1
		A12A N 1 A_WeaponReady(1)
		
	Fire2End:
		/// DURABILITY CHECK 2
		TNT1 A 0 A_JumpIFInventory("FirearmsdurabilityOFF", 1, 2)
		PIST F 0 A_JumpIfInventory("ASGdurability", 1, 1)
		goto weaponbreak
		TNT1 A 0
		///	
		BADF A 0 A_JumpIf(Getcvar("ADSMode") == 0, 3)  ///////ADS MODE CHECK
		BADF A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_altATTACK, "holdaim")
		BADF A 0 A_JumpIfInventory("ZoomHold", 1, "NoAim")
		
		A12A G 1 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "fire")
		A12A G 1 A_WeaponReady(1)
		Goto Ready2	
		
	FIRE2GAS:
		 A12A R 1 BRIGHT A_AlertMonsters
		A12S A 0 A_SpawnItemEx("PlayerMuzzle1",32,0,28)
        SHTN A 0 A_Fireprojectile("ASGGASATTACK", frandom(-1,1), 0,0,0,0, 0)
		A12S A 0 A_Takeinventory("gascharges",1)
		
		RIFG A 0 A_JumpIfInventory("norecoil",1,4)
		A12S A 0 A_OVERLAY(2,"ASGRECOIL2")
		TNT1 A 0 A_SetANgle(angle+random(-1, 1))
		TNT1 A 0 a_setpitch(pitch-5)
		A12S A 0 A_ZoomFactor(1.2)
		A12A I 1  
		A12S A 0 A_ZoomFactor(1.3)
        A12A JKLM 1
		A12A N 1 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "fire")
		goto Fire2End
	
	FIRE2SHELLGAS:
		A12A O 1 BRIGHT A_AlertMonsters
		A12S A 0 A_SpawnItemEx("PlayerMuzzle1",32,0,28)
		SHTN AAAA 0 A_Fireprojectile("BuckshotTracer", frandom(-3.0,3.0), 0,0,0,0, frandom(-1,1))
		SHTN AAAA 0 A_Fireprojectile("ASGTracer", frandom(-2,2), 0,0,0,0, frandom(-1,1))
		SHTN A 0 A_Fireprojectile("asgTracer", 0, 0,0,0,0, 0)
        SHTN A 0 A_Fireprojectile("ASGGASATTACK", frandom(-1,1), 0,0,0,0, 0)
		A12S A 0 A_Takeinventory("gascharges",1)
		A12S A 0 A_giveinventory("accumulatinggas",49)
		A12S A 0 A_OVERLAY(6,"jammedcheck")
		
		RIFG A 0 A_JumpIfInventory("norecoil",1,3)
		A12S A 0 A_OVERLAY(2,"ASGRECOIL2")
		TNT1 A 0 A_SetANgle(angle+random(-1, 1))	
		A12S A 0 A_ZoomFactor(1.2)
		A12S A 0 A_Takeinventory("AssaultShotgunAmmo",1)
		A12A P 1 BRIGHT
		A12S A 0 A_ZoomFactor(1.3)
        A12A FHIJK 1
		A12A LMN 1 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "fire")
		goto Fire2End
		
	AltFire:
        A12S A 0
		BADF A 0 a_startsound("ADSin",250)
		A12S A 0 A_Giveinventory("GoSpecial",1)
		A12S A 0 A_JumpIfInventory("Zoomed",1,"NoAim")
		A12S A 0 A_Giveinventory("Zoomed",1)
        A12S A 0 A_ZoomFactor(1.3)
		TNT1 A 0 A_SetCrosshair(41)	
		A12S A 0 A_Giveinventory("ADSmode",1)
		 DURI A 0 A_TakeInventory("accumulatinggas", 1)
		A12S CDE 1
		A5GI K 1
        A12A A 1
		A12A G 1 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "fire")

		BADF A 0 A_JumpIf(Getcvar("ADSMode") == 0, "Ready2")  ///////ADS MODE CHECK
		
	  HoldAim:	
		BADF A 0 A_GiveInventory("ZoomHold",1)
		A12A G 1 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "fire")
		BADF A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_altATTACK, "holdaim")
		
	  NoAim:	
		A12S A 0 A_Takeinventory("Zoomed",1)
		BADF A 0 A_takeInventory("ZoomHold",1)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}
        A12S A 0 A_ZoomFactor(1.0)
		A12S A 0 A_Takeinventory("ADSmode",1)
		A12A A 1
		A5GI K 1
		A12S EDC 1
        Goto Ready3
	
	WeaponCheckOverlay:
		TNT1 A 5
		PISA D 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, 1)
		Stop
	WeaponCheck2:
		TNT1 A 1
		TNT1 A 0 A_Overlay(99,"gasOverlay",false)
		BADF A 0 a_overlay(8,"gasmode", false)
		PISA D 0 ACS_NamedExecutealways("asgdurabilitycheck", 0)
		PISA D 0 ACS_NamedExecutealways("asgmagcheck", 0)
		PISA D 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "WeaponCheck2")
		stop	
	NoAmmoUnload:
	     "####" "#" 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, 1)
		goto Noammo
		 "####" "#" 0 A_Overlay(98,"WeaponCheckOverlay",false)
	NoAmmo:
		"####" "#" 0
		"####" "#" 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}
		"####" "#" 0 A_TakeInventory("accumulatinggas", 1)
		"####" "#" 0 A_PlaySound("ASGDRY", 4)
	Noammo2:
		"####" "#" 0 A_JumpIfInventory("Zoomed",1,6)
		"####" "#" 0 A_JumpIfInventory("AutoShotUnloaded",1,3)
		A12A A 15 A_WeaponReady(WRF_NOPRIMARY)
		"####" "#" 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "Noammo2")
		goto Ready3
		ASGU V 15 A_WeaponReady(WRF_NOPRIMARY)
		"####" "#" 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "Noammo2")
		goto Readyunloaded
		A12A G 15
		"####" "#" 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "Noammo2")
		goto Ready2
	
	ReloadfromADS:
		A12A A 1
		A5GI K 1
		A12S EDC 1
		goto Reload+2
    Reload:
		PIST F 0 A_JumpIfInventory("zoomed",1,"ReloadfromADS")
		SHTZ A 0
		TNT1 A 0 A_Setroll(0)	
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}	
		A12S A 0 A_WeaponReady(WRF_NOFIRE)
		A12S A 0 A_ZoomFactor(1.0)
		A12S A 0 A_Takeinventory("Reloading",1)
		A12S A 0 A_Takeinventory("ADSmode",1)
		A12S A 0 A_Takeinventory("Zoomed",1)
		PIST F 0 A_JumpIfInventory("REPAIRMODE",1,"KITREPAIR")
		
		TNT1 A 0 A_jumpifinventory("jammedASG",1,"Unstuck")
		A12S A 0 A_JumpIfInventory("AssaultShotgunAmmo",20,"Ready3")
        A12S A 0 A_JumpIfInventory("AmmoShell",1,1)
        Goto Ready3
		BADF A 0 A_JumpIfInventory("ASSAULTSHOTGUNammo",1,2)
		A12S A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, "FullReloadCheck")
		
	Reload2:
		A12S A 0 A_Takeinventory("Zoomed",1)
		A12S A 0 A_GiveInventory ("Pumping", 1)
		A12S A 0 A_Takeinventory("Reloading",1)
		A12S A 0 A_JumpIfInventory("AutoShotUnloaded", 1, "UnloadedReload")															 											
		A12S A 0 A_JumpIfInventory("TurboReload", 1, "InsertBullets")
		TNT1 AAA 0
		 DURI A 0 A_TakeInventory("accumulatinggas", 100)
		A12S A 0 A_PlaySound("AACL", 1)
		TNT1 A 0 A_OVERLAY(2,"tiltLEFT4")
		ASGR ABCDEFGHIJKLLL 1 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		A12R A 0 A_JumpIfInventory("Kicking",1,"dokickASG")				
		A12S A 0 A_PlaySound("ASGMAGOU", 4)
		ASGR MNOP 1 a_setpitch(pitch+0.2)		
		
		SMGG A 0 A_JumpIfInventory("AutoShotUnloaded", 1, 6)
		BADF A 0 A_JumpIfInventory("realreloadOFF",1,2)
		PIST F 0 A_JumpIfInventory("AssaultShotgunAmmo",2,3)
		RIFR C 0 A_FireCustomMissile("EmptyClipSpawnASG",-5,0,8,-4)
		PIST F 0 A_Jump(256,2)
		RIFR C 0 ACS_NAMEDEXECUTE("DropASGMAG",0)
		
		ASGR QRSTUVWXYZ 1 a_setpitch(pitch+0.2)	
		ASGR YXWVUTSRQ 1 a_setpitch(pitch-0.5)
		ASGR RSTUVWXYZ 1 a_setpitch(pitch+0.2)
		A12S A 0 A_GiveInventory("AutoShotUnloaded",1)
		A12R A 0 
		goto putmag
	
	FullReloadCheck:	
		A12S A 0 A_JumpIfInventory("AutoShotUnloaded", 1, 3)
		A12S A 3
		A12S A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, 4)
		goto Reload2
		A12S A 0
		ASGU V 3
		A12S A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, 4)
		goto UnloadedReload
		A12S A 0 A_JumpIfInventory("AutoShotUnloaded", 1, 3)
		A12S A 3
		A12S A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, 4)
		goto Reload2
		A12S A 0
		ASGU V 3
		A12S A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, 4)
		goto UnloadedReload
		A12S A 0 A_JumpIfInventory("AutoShotUnloaded", 1, 3)
		A12S A 3
		A12S A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, 4)
		goto Reload2
		A12S A 0
		ASGU V 3
		A12S A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, 1)
		goto UnloadedReload
		PIST F 0 A_JumpIfInventory("JAMMEDASG",1,"UNSTUCK")
		BADF A 0 A_JumpIfInventory("ammoshell",21,2)
		A12S A 0 A_PRINT("you need at least 21 shells to perform a full reload")
		goto noammo
	
	FullReload:
		A12S A 0 A_JumpIfInventory("AutoShotUnloaded", 1, "FULLRELOADnodrum")
		A12S ABC 1
		A12S A 0 A_PlaySound("AACL", 1)
		ASGR ABCDEFGHIJKLLL 1 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)	
		A12S A 0 A_PlaySound("ASGMAGOU", 4)
		ASGR MNOPQRSTUVWXYZ 1 a_setpitch(pitch+0.2)
		ASGR YXWVUTSRQ 1 a_setpitch(pitch-0.5)
		A12S A 0 A_PlaySound("magazine/grab", 2)
		ASGR RSTUVWXYZ 1 a_setpitch(pitch+0.2)
		BADF A 0 A_ZoomFactor(1.0)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}
		RVIN A 0 A_OVERLAY(2,"tiltRIGHT4")	
		//
		A12S ABCDEF 1
		4SGI UVWXXXX 1
		RVIN A 0 A_PLAYSOUND("ASGBOLT1",1)
		4SGI YZ 2
		A5GI ABCD 2
		BADF A 0 A_TAKEInventory("ammoshell", 1)
		SMGG A 0 A_OVERLAY(3, "BUCKSHOTIN")
		A5GI D 30
		RVIN A 0 A_PLAYSOUND("ASGBOLT2",1)
		BADF A 0 A_GiveInventory("ASSAULTSHOTGUNAMMO", 1)
		A5GI CBA 2
		4SGI ZYXW 2
		4SGI VU 1
		RVIN A 0 A_OVERLAY(2,"tiltLEFT4")
		A12S FEDCBA 1
		goto UnloadedReload
	BUCKSHOTIN:
		12GA ABCDEFGGGGGGIJKLMNO 1
		TNT1 A 0 A_Playsound("SHELPK1", 2)
		STOP	
	
	FullReloadnodrum:
		RVIN A 0 A_OVERLAY(2,"tiltRIGHT4")	
		A12S IJK 1
		A12E ABCDDDD 1
		RVIN A 0 A_PLAYSOUND("ASGBOLT1",1)
		A12E EFGHIJK 2
		BADF A 0 A_TAKEInventory("ammoshell", 1)
		SMGG A 0 A_OVERLAY(3, "BUCKSHOTin")
		A12E K 30
		RVIN A 0 A_PLAYSOUND("ASGBOLT2",1)
		BADF A 0 A_GiveInventory("AssaultShotgunAmmo", 1)
		A12E JIHGFED 2
		RVIN A 0 A_OVERLAY(2,"tiltLEFT4")
		A12E CBA 1
		A12S KJI 1
		goto Reload2
	
	UnloadedReload:
		TNT1 A 0 A_OVERLAY(2,"tiltLEFT4")
		ASGU VUTSRQPONML 1
	PutMag:
		A12S A 0 A_PlaySound("magazine/grab", 1)
		4SGR ABCDEFGHIJKLMNOPQQQQQQQQQQQQQQQRST 1 A_JumpIfInventory("Kicking",1,"dokickASG")
		A12S A 0 A_Takeinventory("Reloading",1)
		A12S A 0 A_Takeinventory("ADSmode",1)
		A12S A 0 A_Takeinventory("Zoomed",1)
		A12S A 0 A_Takeinventory("HasUnloaded",1)
		A12S A 0 A_Takeinventory("AutoShotUnloaded",1)
		A12S A 0 A_PlaySound("ASGMAGIN", 1)
		TNT1 A 0 A_QuakeEx(2, 2, 2, 4, 0, 64, "", 0, 0, 0, 0, 0, 0, 1)
		4SGR UVWXYZ 1
		A5GR ABCDEFGGGGG 1
		TNT1 A 0 A_OVERLAY(2,"tiltRIGHT4")
		ASGR LKJIHGFEDC 1
		BADF A 0 A_JumpIfInventory("ASSAULTSHOTGUNammo",1,1)
		goto boltpull
		ASGR BA 1	
		
	InsertBullets2:
		A12S A 0 A_JumpIfInventory("realreloadOFF",1,3)
		A12S A 0 A_Takeinventory("AssaultShotgunAmmo",20)
		A12S A 0 A_Giveinventory("AssaultShotgunAmmo",1)
		TNT1 A 0 
		A12S A 0 A_JumpIfInventory("AssaultShotgunAmmo",21,"insertfinish")
		A12S A 0 A_JumpIfInventory("AmmoShell",1,1)
		Goto insertfinish
        TNT1 A 0								   									
		A12S A 0 A_Giveinventory("AssaultShotgunAmmo",1)
		A12S A 0 A_Takeinventory("AmmoShell",1)
		Goto InsertBullets2+4
	
	InsertFinish:
		A12S A 0 A_Takeinventory("HasUnloaded",1)
		A12S A 0 A_Takeinventory("AutoShotUnloaded",1)		
		A12S A 0 A_Takeinventory("Reloading",1)
        Goto Ready3
	
	BOLTPULL:
		A12S A 0 A_Takeinventory("HasUnloaded",1)
		A12S A 0 A_Takeinventory("AutoShotUnloaded",1)
		RVIN A 0 A_OVERLAY(2,"tiltRIGHT4")
		4SGI OPQ 1 
		4SGI RSTUVWXYYY 1
		RVIN A 0 A_PLAYSOUND("ASGBOLT1",1)
		A12S A 0 A_ZoomFactor(0.99)
		4SGI Z 1
		A12S A 0 A_ZoomFactor(0.98)
		A5GI ABCDDD 1 
		A12S A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_QuakeEx(2, 2, 2, 4, 0, 64, "", 0, 0, 0, 0, 0, 0, 1)
		RVIN A 0 A_PLAYSOUND("ASGBOLT2",1)
		RVIN A 0 A_overlay(2,"TiltLEFT4")
		A5GI EFGHIJKLMNOPQ 1 

	InsertBullets:
		TNT1 A 0
		A12S A 0 A_JumpIfInventory("AssaultShotgunAmmo",20,"insertfinish")
		A12S A 0 A_JumpIfInventory("AmmoShell",1,1)
		Goto insertfinish
        TNT1 A 0
		A12S A 0 A_Giveinventory("AssaultShotgunAmmo",1)
		A12S A 0 A_Takeinventory("AmmoShell",1)
		Goto InsertBullets
		
	CheckMag2:
		PIST F 0 A_JumpIfInventory("AssaultShotgunAmmo",2,1)
		goto checkchamber
		A12S ABC 1
		A12S A 0 A_PlaySound("AACL", 1)
	CheckMag:
		ASGR A 1
		ASGI DEFGH 1 
		RVIN A 0 A_PLAYSOUND("ASGMAGOU",1)
		ASGI IJKLMNOPQRSTU 1 
	CheckMagHold:
		ASGI U 5 a_weaponready(WRF_NOFIRE | WRF_NOSWITCH)
		TNT1 A 0 A_JumpIFInventory("FirearmsdurabilityOFF", 1, 2)
		TNT1 A 0 ACS_NAMEDEXECUTEalways("ASGDURABILITYCHECK",0)
		A12S A 0 acs_namedexecutealways("ASGMAGCHECK",0)
		A12S A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "CheckMagHold")
		
		ASGI TSRQPONML 1
		RVIN A 0 A_PLAYSOUND("ASGMAGIN",1)
		ASGI KJIHGFED 1
		ASGR A 1
		A12S CBA 1
		goto Ready3
	
	Checkchamber:
		BADF A 0 A_ZoomFactor(1.0)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}	
		RVIN A 0 A_OVERLAY(2,"tiltRIGHT4")
		A12S A 0 A_JumpIfInventory("AUTOSHOTUNLOADED", 1, "CheckchamberNoDrum")
		A12S ABCDEF 1
		4SGI UVWXXXX 1
		RVIN A 0 A_PLAYSOUND("ASGBOLT1",1)
		4SGI YZ 2
		A5GI ABCD 2
	Checkchamberhold:
		A5GI D 5 a_weaponready(WRF_NOFIRE | WRF_NOSWITCH)
		A12S A 0 acs_namedexecute("ASGMAGCHECK",0)
		A12S A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "CheckChamberHold")
		RVIN A 0 A_PLAYSOUND("ASGBOLT2",1)
		A5GI CBA 2
		4SGI ZYXW 2
		4SGI VU 1
		RVIN A 0 A_OVERLAY(2,"tiltLEFT4")
		A12S FEDCBA 1
		goto Ready3
		
CheckChamberNoDrum:
		A12S IJK 1
		A12E ABCDDDD 1
		RVIN A 0 A_PLAYSOUND("ASGBOLT1",1)
		A12E EFGHIJK 2
	Checkchamberhold2:
		A12E K 5 a_weaponready(WRF_NOFIRE | WRF_NOSWITCH)
		A12S A 0 acs_namedexecute("ASGMAGCHECK",0)
		A12S A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "CheckChamberHold2")
		RVIN A 0 A_PLAYSOUND("ASGBOLT2",1)
		A12E JIHGFED 2
		RVIN A 0 A_OVERLAY(2,"tiltLEFT4")
		A12E CBA 1
		A12S KJI 1
		goto Ready3	
		
	
	UnloadfromADS:
		A12A A 1
		A5GI K 1
		A12S EDC 1
		goto user4+2
	user4:		
		"####" "#" 0 A_JumpIfInventory("zoomed",1,"UnloadfromADS")
		"####" "#" 0
		"####" "#" 0 A_JumpIfInventory("AUTOSHOTUNLOADED", 1, 3)
		A12S A 5
		"####" "#" 0 A_Jump(256,2)
		ASGU V 5
		 "####" "#" 0 A_jumpifinventory("jammedASG",1,"Unstuck")
		  "####" "#" 0 A_TakeInventory("accumulatinggas", 100)
		 "####" "#" 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}
		 "####" "#" 0 A_Takeinventory("Zoomed",1)
		 "####" "#" 0 A_ZoomFactor(1.0)
         "####" "#" 0 A_JumpIfInventory("AssaultShotgunAmmo",1,3)
        Goto noammoUnload
		TNT1 AAA 0
		PIST F 0 A_JumpIfInventory("AssaultShotgunAmmo",2,1)
		goto unloadchamber
		A12S ABC 1
		A12S A 0 A_PlaySound("AACL", 1)
		A12S A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "CheckMag")
		TNT1 A 0 A_OVERLAY(2,"TILTRIGHT4")
		ASGR ABCDEFGHIJKLLL 1 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		A12R A 0 A_JumpIfInventory("Kicking",1,"dokickASG")				
		A12S A 0 A_PlaySound("ASGMAGOU", 4)
		ASGR MNOPQRSTUVWXYZ 1 a_setpitch(pitch+0.2)
		ASGR YXWVUTSRQ 1 a_setpitch(pitch-0.5)
		A12S A 0 A_PlaySound("magazine/grab", 2)
		ASGR RSTUVWXYZ 1 a_setpitch(pitch+0.2)
		GOTO REMOVEBULLETS
		
RemoveBullets:
		TNT1 AAAA 0
		A12S A 0 A_JumpIfInventory("AssaultShotgunAmmo",2,3)
		Goto FinishUnload
        TNT1 AAAAAA 0
		A12S A 0 A_Takeinventory("AssaultShotgunAmmo",1)
		A12S A 0 A_Giveinventory("AmmoShell",1)
		Goto RemoveBullets
	
FInishUnload:
		TNT1 A 0 A_OVERLAY(2,"TILTleft4")
		ASGU LMNOPQRSTUV 1 
		A12S A 0 A_Giveinventory("HasUnloaded",1)
		A12S A 0 A_Giveinventory("AutoShotUnloaded",1)
		Goto readyunloaded
		
UnloadChamber:
		TNT1 A 0
		PISA D 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "Checkmag2")
		BADF A 0 A_ZoomFactor(1.0)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}	
		RVIN A 0 A_OVERLAY(2,"tiltRIGHT4")
		A12S A 0 A_JumpIfInventory("AUTOSHOTUNLOADED", 1, "UnloadchamberNoDrum")
		A12S ABCDEF 1
		4SGI UVWXXXX 1
		RVIN A 0 A_PLAYSOUND("ASGBOLT1",1)
		4SGI YZ 2
		A5GI ABCD 2
		BADF A 0 A_TAKEInventory("ASSAULTSHOTGUNAMMO", 1)
		SMGG A 0 A_OVERLAY(3, "BUCKSHOTOUT")
		A5GI D 20
		RVIN A 0 A_PLAYSOUND("ASGBOLT2",1)
		BADF A 0 A_GiveInventory("AMMOSHELL", 1)
		A5GI CBA 2
		4SGI ZYXW 2
		4SGI VU 1
		RVIN A 0 A_OVERLAY(2,"tiltLEFT4")
		A12S FEDCBA 1
		goto Ready3
UnloadChamberNoDrum:
		A12S IJK 1
		A12E ABCDDDD 1
		RVIN A 0 A_PLAYSOUND("ASGBOLT1",1)
		A12E EFGHIJK 2
		BADF A 0 A_TAKEInventory("ASSAULTSHOTGUNAMMO", 1)
		SMGG A 0 A_OVERLAY(3, "BUCKSHOTOUT")
		A12E K 20
		RVIN A 0 A_PLAYSOUND("ASGBOLT2",1)
		BADF A 0 A_GiveInventory("AMMOSHELL", 1)
		A12E JIHGFED 2
		RVIN A 0 A_OVERLAY(2,"tiltLEFT4")
		A12E CBA 1
		A12S KJI 1
		goto Ready3	
BUCKSHOTOUT:
		TNT1 A 0 A_Playsound("SHELPK1", 2)
		12GA ONMLKJIGGGGGGFEDCBA 1
		STOP
///////////////////////////// SPRINT		
	
	CheckSprint:
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}	
		A12S A 0 A_JumpIfInventory("AUTOSHOTUNLOADED", 1, "CHECKSPRINTUNLOADED")
		//A12S A 1 A_WeaponReady(WRF_NOFIRE)
		A12S A 0 A_JumpIfInventory("IsStandingStill", 1, "Ready3")
		A12S A 0 A_JumpIfInventory("IsTacticalClass", 1, "StartSprint")
		Goto Ready3
		
	CheckSprint2:
		//A12S A 1 A_WeaponReady(WRF_NOFIRE)
		A12S A 0 A_JumpIfInventory("IsStandingStill", 1, "Ready3")
		A12S A 0 A_JumpIfInventory("IsTacticalClass", 1, "StartSprint")
		Goto Ready2	
		
	StartSprint:
		TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_FORWARD, 1)
		GOTO READY3
		A12S C 1 A_WeaponReady(WRF_NOFIRE)
		ASGI CBA 1
		A12S A 0 A_Takeinventory("Zoomed",1)
		A12S A 0 A_Takeinventory("ADSmode",1)
		A12S A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_JumpIfInventory("LARGESTAMINA", 1, 2)
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 70, "Trip")
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 1400, "Trip")
		
	Sprinting:	
		A1SP A 0 offset(-9,32) 
		A12S A 0 offset(-9,32) A_JumpIfInventory("IsStandingStill", 1, "Ready3")
		TNT1 A 0 A_JumpIfInventory("LARGESTAMINA", 1, 2)
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 100, "StopSprintTired")
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 2000, "StopSprintTired")
		TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_FORWARD, 1)
		GOTO StopSprint
		PLAY A 0 offset(-9,32) ACS_ExecuteAlways(852, 0, 0, 0, 0)//Makes player faster.
		A12S A 0 offset(-9,32) A_JumpIfInventory("Powerstrength2", 1, 2)
		A12S A 0 offset(-9,32) A_GiveInventory("UsedStamina", 12)
		A12S A 0 offset(-9,32)
		 DURI A 0 A_TakeInventory("accumulatinggas", 1)
		A12S M 1 offset(-9,34) A_SetPitch(pitch -0.5)
		A12S M 1 offset(-6,36) A_SetPitch(pitch -0.5)
		A12S M 1 offset(-3,38) A_SetPitch(pitch -0.5)
		A12S M 1 offset(0,38) A_SetPitch(pitch -0.5)
		A12S M 1 offset(3,36) A_SetPitch(pitch -0.5)
		A12S M 1 offset(6,34) A_SetPitch(pitch -0.5)
		A12S M 1 offset(9,32) A_SetPitch(pitch -0.5)
		A12S A 0 offset(9,32) A_WeaponReady(WRF_NOBOB)
		A12S A 0 A_JumpIfInventory("Kicking",1,"dokickASG")
        A12S A 0 A_JumpIfInventory("Taunting",1,"Taunt")
        A12S A 0 
		A12S A 0 offset(-9,32) A_GiveInventory("UsedStamina", 6)
		A12S A 0 offset(9,33) A_SpawnItemEx("FootStep", 0, 0, 2, 0, 0, -4)
		A12S M 1 offset(9,34) A_SetPitch(pitch +0.5)
		A12S M 1 offset(6,36) A_SetPitch(pitch +0.5)
		A12S M 1 offset(3,38) A_SetPitch(pitch +0.5)
		A12S M 1 offset(0,38) A_SetPitch(pitch +0.5)
		A12S M 1 offset(-3,36) A_SetPitch(pitch +0.5)
		A12S M 1 offset(-6,34) A_SetPitch(pitch +0.5)
		A12S M 1 offset(-9,32) A_SetPitch(pitch +0.5)
		A12S A 0 offset(-9,32) A_WeaponReady(WRF_NOBOB)
		A12S A 0 offset(-9,32) A_JumpIfInventory("IsRunning", 1, "Sprinting")		
		Goto StopSprint
		
	StopSprintTired:
		ASGI ABC 1
		A12S A 1
		PLAY A 0 ACS_ExecuteAlways(853, 0, 0, 0, 0)//Makes player slower.
		A12S A 0 A_PlaySound("Tired", 2)
		TNT1 A 0 A_Jumpifhealthlower(25,"rupturesprint")												  
		A12S A 25
		Goto Ready3
	StopSprint:
		ASGI ABC 1
		A12S A 1
		TNT1 A 0 A_JumpIfInventory("LARGESTAMINA", 1, 2)
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 70, "StopSprintTired")
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 1400, "StopSprintTired")
		PLAY A 0 ACS_ExecuteAlways(853, 0, 0, 0, 0)//Makes player slower.
		Goto Ready3


////////////////////////////////////////////////////////// UNLOADED SPRINT	

	CheckSprintunloaded:
		ASGU V 1
		MGN1 A 0 A_JumpIfInventory("IsStandingStill", 1, "Readyunloaded")
		MGN1 A 0 A_JumpIfInventory("IsTacticalClass", 1, "StartSprintUnloaded")
		Goto Readyunloaded
	
	StartSprintUnloaded:
		TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_FORWARD, 1)
		GOTO READY3
		A12S  JKLM 1 A_WeaponReady(WRF_NOFIRE)
		MGN1 A 0 A_Takeinventory("Zoomed",1)
		MGN1 A 0 A_Takeinventory("ADSmode",1)
		MGN1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_JumpIfInventory("LARGESTAMINA", 1, 2)
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 70, "Trip")
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 1400, "Trip")
		
	SprintingUnloaded:	
		MGN1 S 0 offset(-9,32) 
		MGN1 A 0 offset(-9,32) A_JumpIfInventory("IsStandingStill", 1, "Readyunloaded")
		TNT1 A 0 A_JumpIfInventory("LARGESTAMINA", 1, 2)
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 100, "StopSprintTiredunloaded")
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 2000, "StopSprintTiredunloaded")
		TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_FORWARD, 1)
		GOTO Stopsprintunloaded
		PLAY A 0 offset(-9,32) ACS_ExecuteAlways(852, 0, 0, 0, 0)//Makes player faster.
		MGN1 A 0 offset(-9,32) A_JumpIfInventory("Powerstrength2", 1, 2)
		MGN1 A 0 offset(-9,32) A_GiveInventory("UsedStamina", 15)
		MGN1 A 0 offset(-9,32)
		 DURI A 0 A_TakeInventory("accumulatinggas", 1)
		A12S M 1 offset(-9,34) A_SetPitch(pitch -0.5)
		A12S M 1 offset(-6,36) A_SetPitch(pitch -0.5)
		A12S M 1 offset(-3,38) A_SetPitch(pitch -0.5)
		A12S M 1 offset(0,38) A_SetPitch(pitch -0.5)
		A12S M 1 offset(3,36) A_SetPitch(pitch -0.5)
		A12S M 1 offset(6,34) A_SetPitch(pitch -0.5)
		A12S M 1 offset(9,32) A_SetPitch(pitch -0.5)
		MGN1 A 0 offset(9,32) A_WeaponReady(WRF_NOBOB)
		MGN1 A 0 A_JumpIfInventory("Kicking",1,"DOKICKASG")
        MGN1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
        MGN1 A 0 
		MGN1 A 0 offset(-9,32) A_GiveInventory("UsedStamina", 6)
		MGN1 A 0 offset(9,33) A_SpawnItemEx("FootStep", 0, 0, 2, 0, 0, -4)
		A12S M 1 offset(9,34) A_SetPitch(pitch +0.5)
		A12S M 1 offset(6,36) A_SetPitch(pitch +0.5)
		A12S M 1 offset(3,38) A_SetPitch(pitch +0.5)
		A12S M 1 offset(0,38) A_SetPitch(pitch +0.5)
		A12S M 1 offset(-3,36) A_SetPitch(pitch +0.5)
		A12S M 1 offset(-6,34) A_SetPitch(pitch +0.5)
		A12S M 1 offset(-9,32) A_SetPitch(pitch +0.5)
		MGN1 A 0 offset(-9,32) A_WeaponReady(WRF_NOBOB)
		MGN1 A 0 offset(-9,32) A_JumpIfInventory("IsRunning", 1, "Sprintingunloaded")
		Goto StopSprintunloaded
		
	StopSprintTiredUnloaded:
		A12S MLKJ 1 A_WeaponReady(WRF_NOFIRE)
		ASGU V 1
		PLAY A 0 ACS_ExecuteAlways(853, 0, 0, 0, 0)//Makes player slower.
		MGN1 A 0 A_PlaySound("Tired", 2)
		MGN1 A 0 A_TakeInventory("usedstamina", 1)
		TNT1 A 0 A_Jumpifhealthlower(25,"rupturesprint")												  
		ASGU V 1 A_WeaponReady
		MGN1 A 0 A_TakeInventory("usedstamina", 1)
		ASGU V 1 A_WeaponReady
		MGN1 A 0 A_TakeInventory("usedstamina", 1)
		ASGU V 1 A_WeaponReady
		MGN1 A 0 A_TakeInventory("usedstamina", 1)
		ASGU V 1 A_WeaponReady
		MGN1 A 0 A_TakeInventory("usedstamina", 1)
		ASGU V 1 A_WeaponReady
		Goto Readyunloaded
	StopSprintUnloaded:
		A12S MLKJ 1 A_WeaponReady(WRF_NOFIRE)
		ASGU V 1
		TNT1 A 0 A_JumpIfInventory("LARGESTAMINA", 1, 2)
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 70, "StopSprintTired")
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 1400, "StopSprintTired")
		PLAY A 0 ACS_ExecuteAlways(853, 0, 0, 0, 0)//Makes player slower.
		Goto Readyunloaded
/////////////////////////////
	
		JammedCheck:
		TNT1 A 0 A_JumpIFInventory("FirearmsdurabilityOFF", 1, 6)
		TNT1 A 0 A_JumpIFInventory("asgdurability", 30, 5)
		TNT1 A 0 A_JumpIFInventory("gaspoweredasg", 30, 3)
		TNT1 A 0 A_Jump(30,4)
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_Jump(130,2)
		TNT1 A 0 A_FireCustomMissile("ShotCaseSpawn",5,0,6,-14)
		stop
		///jammed
		TNT1 A 0 A_giveinventory("justjammed",1)
		TNT1 A 0 A_giveinventory("jammedASG",1)
		TNT1 A 0 A_STARTsound("ASGDRY",150)
		TNT1 A 30 A_WeaponReady(WRF_NOFIRE)
		TNT1 A 0 A_takeinventory("justjammed",1)
		stop
		
		
		TNT1 A 0 A_jumpifinventory("ADSMode",1,"Ready2")
		goto Ready3
	
		Misfire:
		TNT1 A 0 A_takeinventory("justjammed",1)
		TNT1 A 0 A_STARTsound("ASGDRY",150)
		TNT1 A 0 A_giveinventory("asgdurability",1)
		A12S A 0 A_JumpIfInventory("Zoomed",1,4)	
		TNT1 A 0 A_JumpIfInventory("AUTOSHOTUNLOADED", 1, 2)
		A12S C 20
		goto Ready3
		ASGU V 20
		goto readyunloaded
		A12A G 20
		goto Ready2
		
		Unstuck:
		A12S A 0 A_JumpIfInventory("ASGdurability",2,1)	
		goto DrumStuck
		A12S A 0 A_JumpIfInventory("Zoomed",1,1)	
		goto Unstuck2
		A12S A 0 A_Takeinventory("Zoomed",1)
		BADF A 0 A_takeInventory("ZoomHold",1)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}
        A12S A 0 A_ZoomFactor(1.0)
		A12S A 0 A_Takeinventory("ADSmode",1)
		A12A A 1
		A5GI K 1
		A12S EDC 1
		Unstuck2:
		A5GI QQQQQQQQQPPP 1
		TNT1 A 0 A_STARTsound("ASGDRY",150)
		A5GI QQQQQQQQQPPP 1
		TNT1 A 0 A_STARTsound("ASGDRY",150)
		A5GI QQQQQQQQPONML 1
		4SGI STUVWXXXXX 1
		TNT1 A 0 A_STARTsound("ASGBOLT1",150)
		4SGI YZZZZ 1
		TNT1 A 0 A_STOPSOUND(150)
		4SGI YXXXXXX 1
		TNT1 A 0 A_STARTsound("ASGBOLT1",150)
		4SGI YZZZZ 1
		TNT1 A 0 A_STOPSOUND(150)
		4SGI YXXXXXX 2
		4SGI WVUTSRQPONMMMM 1
		TNT1 A 0 A_STARTsound("ASGMAGOU",150)
		4SGI LKJIHGFEDCBA 1
		ASGI U 20
		4SGI ABCDEFGHIJK 1
		TNT1 A 0 A_STARTsound("ASGMAGIN",150)
		4SGI LMMMNOPQRSTUVWXYYY 1
		RVIN A 0 A_PLAYSOUND("ASGBOLT1",1)
		A12S A 0 A_ZoomFactor(0.9)
		4SGI Z 1
		A12S A 0 A_ZoomFactor(0.8)
		TNT1 A 0 A_FireCustomMissile("ShotCaseSpawn",5,0,6,-14)
		A5GI ABCDDDDDDDDDDDDD 1
		A12S A 0 A_ZoomFactor(1.0)
		RVIN A 0 A_PLAYSOUND("ASGBOLT2",1)
		A5GI EFGHIJKLMNOPQ 1
		DURI A 0 A_TakeInventory("jammedasg", 1)
		goto Ready3
		
		DrumStuck:
		TNT1 A 0 a_print("The drum magazine is completely stuck in place! You need to do some repairs before trying to dislodge it.")
		goto Ready3
		
		Weaponbreak:
		TNT1 A 0 a_print("your Assault Shotgun has broken!")
		A12S IJKLMNO 1
		TNT1 A 1
		 DURI A 0 A_TakeInventory("accumulatinggas", 120)
		TNT1 A 0 a_SPAWNITEM("brokenASg",0,0)
		 TNT1 A 0 a_RADIUSGIVE("hasbeendropped",90, RGF_OBJECTS | RGF_NOSIGHT, 1, "brokenASG")
		 PLSI A 0 Acs_namedTERMINATE("asgaccumulatinggas",0)
		TNT1 A 0 ACS_namedexecute("BROKENDISARM",0)
		TNT1 AAA 1 a_weaponready
		Wait
	
	KITREPAIR:
		TNT1 A 0 A_JumpIFInventory("survivalkituses",1, 2)
		PIST F 0 A_Jump(256,"kitbroke")
		TNT1 A 0 A_JumpIfInventory("AUTOSHOTUNLOADED", 1, 3)
		A12S A 5
		PIST F 0 A_Jump(256,2)
		ASGU V 5
		
		TNT1 A 0 A_JumpIFInventory("ASGDurability",100, "NoNeedRepair")
		PIST F 0 A_JumpIfInventory("scrapmetal",1, 2)
		PIST F 0 A_Jump(256,"outofmetal")
		
	KITREPAIR2:
		PIST F 0 A_GIVEinventory("ASGDurability",30)
		BADF A 0 A_Takeinventory("survivalkituses",1)
		BADF A 0 A_Takeinventory("scrapmetal",1)
		TNT1 A 0 A_playsound("WIRECUT",1)
		TNT1 A 0 A_JumpIfInventory("AUTOSHOTUNLOADED", 1, "KITREPAIRUNLOADED")
		A12S ABCDEFG 1
		TNT1 A 20
		A12S GFEDCBA 1
		goto kitrepairfinish
		
	KITREPAIRUNLOADED:
	  A12S JKLMNO 1
	  TNT1 A 20
	  A12S ONMLKJ 1
	
	KITREPAIRFINISH:
		TNT1 A 0 A_JumpIFInventory("survivalkituses",1, 2)
		PIST F 0 A_Jump(256,"kitbroke")
		TNT1 A 0 A_JumpIfInventory("AUTOSHOTUNLOADED", 1, 2)
		A12S A 2
		goto Ready3
		ASGU V 1
		goto readyunloaded
	
	DokickASG:
		TNT1 A 0 A_SETROLL(0)
		TNT1 A 0 A_JumpIfInventory("isdoomguy", 1, 4)
		TNT1 A 0 A_JumpIfInventory("LARGESTAMINA", 1, 2)
		TNT1 A 0 A_JumpifInventory("UsedStamina",95,4)
		TNT1 A 0 A_JumpifInventory("UsedStamina",1995,3)
		TNT1 A 0 A_JumpIfInventory("AUTOSHOTUNLOADED", 1, "dokickASGunloaded")
		TNT1 A 0 A_overlay(3,"kickASG")
		TNT1 A 0 a_Jump(256,"Dokick")
		goto Ready3
		TNT1 A 0 A_overlay(3,"kickASGtired")
		TNT1 A 0 a_Jump(256,"Dokick")
		goto Ready3	
	kickASG:
		ASGI CBA 1
		A12S L 12
		ASGI ABC 1
		TNT1 A 0 A_JumpIfInventory("Airkicking", 1, 2)
		TNT1 A 0 A_JumpIfInventory("isSliding", 1, 2)
		stop
		A12S A 10
		STOP
		A12S ABCDEFG 1
		TNT1 A 3
		STOP
	kickASGtired:
		ASGI CBA 2
		A12S L 37
		ASGI ABC 2
		STOP	
	
	DokickASGunloaded:
		TNT1 A 0 A_overlay(3,"kickASGunloaded")
		TNT1 A 0 a_Jump(256,"Dokick")
		goto Ready3
		TNT1 A 0 A_overlay(3,"kickASGtiredunloaded")
		TNT1 A 0 a_Jump(256,"Dokick")
		goto Ready3	
	kickASGunloaded:
		A12S JKL 1
		A12S M 12 
		A12S LKJ 1 
		TNT1 A 0 A_JumpIfInventory("Airkicking", 1, 2)
		TNT1 A 0 A_JumpIfInventory("isSliding", 1, 2)
		stop
		ASGU V 1
		STOP
		A12S JKLMNO 1
		TNT1 A 3
		STOP
	kickASGtiredunloaded:
		A12S JKL 2
		A12S M 37
		A12S LKJ 2
		STOP	
	
//////////////////////////////////////////////////////////////////////////////////// MENU
	SpecialAction:
		BADF A 0 A_jumpifinventory("zoomed",1,"noaim")
		BADF A 0 A_Takeinventory("StartDualWield",1)
		TNT1 A 0 A_jumpifinventory("jammedASG",1,"Unstuck")
		BADF A 0 A_jumpifinventory("AUTOSHOTUNLOADED",1,2)
		A12S A 1
		goto goingtomenu
		ASGU V 1

	GoingtoMenu:
		BADF A 0 A_Takeinventory("Zoomed",1)
		BADF A 0 A_Takeinventory("ZoomHold",1)
        BADF A 0 A_ZoomFactor(1.0)					
		BADF A 0 A_Takeinventory("ADSmode",1)
		TNT1 A 0 A_SetCrosshair(41)
		BADF A 0 A_PlaySound("RIFLESEL",1)
		BADF A 0 A_jumpifinventory("AUTOSHOTUNLOADED",1,"GoingtoMenuUnloaded")
		A12S BC 1
		ASGR ABCDEFG 1
		goto ASGmenu
		
	GoingtoMenuUnloaded:
		ASGU UTSRQPONML 1
		goto ASGMenu
		
	ASGmenu:
	 TNT1 A 0 A_jumpifinventory("gasswitchchecked",1,"gasswitchselected")
	TNT1 A 0 A_jumpifinventory("gaschargechecked",1,"gaschargeSelected")
	BADF A 0 A_jumpifinventory("AUTOSHOTUNLOADED",1,2)
	ASGR G 1
	goto gasSwitchSelected
	ASGU L 1
	
gasSwitchSelected:
	TNT1 A 0 A_GIVEInventory("gasswitchchecked", 1)
	TNT1 A 0 A_takeInventory("gaschargechecked", 1)
	TNT1 A 0 a_overlay(4,"menuOVERLAY")
	
	BADF A 0 A_jumpifinventory("autoshotunloaded",1,3)
	 ASGR  G 1 
	 BADF A 0 A_jump(256,2)
	 ASGU L 1  
    TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVELEFT, "gasSwitchSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVERIGHT, "gasSwitchSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "gasSwitchselected")
	TNT1 A 0 A_playsound("BEP",1)
gasSwitchloop:
	TNT1 A 0 a_overlay(4,"menuOVERLAY")
	BADF A 0 A_jumpifinventory("autoshotunloaded",1,3)
	ASGR G 1 
	 BADF A 0 A_jump(256,2)
	 ASGU L 1 
	TNT1 A 0 SetPlayerProperty(0,1,4)
	TNT1 A 0 A_jumpifinventory("choosingreward",1,"exitmenu")	 
	 BADF A 0 a_jumpifinventory("startdualwield",1,"Exitmenu")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVELEFT, "gasChargeSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVERIGHT, "gasChargeSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "gasSwitch")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_altATTACK, "Exitmenu")
	loop

gasSwitch:
	TNT1 A 0 A_jumpifinventory("choosingreward",1,2)
	TNT1 A 0 SetPlayerProperty(0,0,4)	
	BADF A 0 A_PlaySound("PLSADS",1)

	B4DR  U 0 A_jumpifinventory("autoshotunloaded",1,"gasswitchunloaded")
	ASGR GFEDCBA 1
	4SGI OPQRSTUVWXY 1
	BADF A 0 A_PlaySound("ADSIN",1)
	4SGI YYYYXWVUTSR 1
	A12S DCBA 1
	goto gasswitchfinish
	
gasswitchunloaded:
	ASGU LMN 1
	4SGI R 1 offset(0,38)
	4SGI S 1 offset(0,43)
	4SGI T 1 offset(0,48)
	4SGI U 1 offset(0,72)
	4SGI V 1 offset(0,82)
	4SGI W 1 offset(0,89)
	4SGI X 1 offset(0,93)
	4SGI Y 1 offset(0,93)
	BADF A 0 A_PlaySound("ADSIN",1)
	4SGI YYYYY 1 offset(0,93)
	4SGI X 1 offset(0,93)
	4SGI W 1 offset(0,89)
	4SGI V 1 offset(0,82)
	4SGI U 1 offset(0,72)
	4SGI T 1 offset(0,48)
	4SGI S 1 offset(0,43)
	4SGI R 1 offset(0,38)
	ASGU RSTUV 1 offset(0,32)
	
GASswitchFinish:
	TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}	
	B4DR  U 0 A_jumpifinventory("autoshotunloaded",1,3)
	A12S A 1  a_jumpifinventory("gaspoweredASG",1,4)
	 BADF A 0 A_jump(256,2)
	 ASGU V 1 a_jumpifinventory("gaspoweredASG",1,2)
	 
	BADF A 0 a_giveinventory("gaspoweredASG",1)
	goto ready3
	BADF A 0 a_takeinventory("gaspoweredASG",1)
	goto ready3
	
GASChargeSelected:
	TNT1 A 0 A_takeInventory("GASswitchchecked", 1)
	TNT1 A 0 A_giveInventory("GASchargechecked", 1)
	TNT1 A 0 a_overlay(3,"menuOVERLAY")
	
	BADF A 0 A_jumpifinventory("autoshotunloaded",1,3)
	ASGR G 1 
	 BADF A 0 A_jump(256,2)
	 ASGU L 1
    TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVELEFT, "GASChargeSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVERIGHT, "GASChargeSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "GASChargeselected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_altATTACK, "Exitmenu")
	TNT1 A 0 A_playsound("BEP",1)
gaschargeloop:
	TNT1 A 0 a_overlay(3,"menuOVERLAY")	
	BADF A 0 A_jumpifinventory("autoshotunloaded",1,3)
	ASGR G 1 
	 BADF A 0 A_jump(256,2)
	 ASGU L 1
	TNT1 A 0 SetPlayerProperty(0,1,4)
	TNT1 A 0 A_jumpifinventory("choosingreward",1,"exitmenu")	 
	 BADF A 0 a_jumpifinventory("startdualwield",1,"Exitmenu")
    TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVELEFT, "GASSwitchSELECTED")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVERIGHT, "GASSWITCHSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "GASCharge")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_altATTACK, "Exitmenu")
	loop

GAScharge:
	B4DR  U 0 A_jumpifinventory("GAScharges",20,2)
	B4DR  U 0 A_jump(256,2)
	TNT1 A 0 A_log("Your Assault Shotgun is already fully charged.")
	goto gaschargeselected
	 TNT1 A 0 A_jumpifinventory("gunpowder",1,2)
	TNT1 A 0 A_log("You need at least 1 unit of gunpowder.")
	goto gaschargeselected
	
	TNT1 A 0 A_jumpifinventory("choosingreward",1,2)
	TNT1 A 0 SetPlayerProperty(0,0,4)
	BADF A 0 A_PlaySound("ADSIN",1)
	B4DR  U 0 A_jumpifinventory("autoshotunloaded",1,"gaschargeunloaded")
	
	ASGR GFEDCBA 1
	ASGI CBA 1 a_setpitch(pitch+1)
	A12S M 1 a_setpitch(pitch+1)
	BADF A 0 A_PlaySound("GASLOAD",1)
	
	A12S M 1 offset(0,33)
	A12S M 1 offset(0,34)
	A12S M 1 offset(0,35)
	A12S M 1 offset(0,36)
	A12S M 1 offset(0,37)
	A12S M 1 offset(0,38)
	A12S M 1 offset(0,39)
	A12S M 20 offset(0,40)
	A12S M 1 offset(0,39)
	A12S M 1 offset(0,38)
	A12S M 1 offset(0,37)
	A12S M 1 offset(0,36)
	A12S M 1 offset(0,35)
	A12S M 1 offset(0,34)
	A12S M 1 offset(0,33)
	A12S M 1 offset(0,32)
	A12S M 10
	
	ASGI ABC 1 a_setpitch(pitch-1)
	A12S A 1 a_setpitch(pitch-1)
	goto gaschargefinish
	
gaschargeunloaded:
	ASGU LMNOPQRS 1 
	A12S JKLM 1  a_setpitch(pitch+1)
	BADF A 0 A_PlaySound("GASLOAD",1)
	A12S M 1 offset(0,33)
	A12S M 1 offset(0,34)
	A12S M 1 offset(0,35)
	A12S M 1 offset(0,36)
	A12S M 1 offset(0,37)
	A12S M 1 offset(0,38)
	A12S M 1 offset(0,39)
	A12S M 20 offset(0,40)
	A12S M 1 offset(0,39)
	A12S M 1 offset(0,38)
	A12S M 1 offset(0,37)
	A12S M 1 offset(0,36)
	A12S M 1 offset(0,35)
	A12S M 1 offset(0,34)
	A12S M 1 offset(0,33)
	A12S M 1 offset(0,32)
	A12S M 10
	A12S LKJ 1 a_setpitch(pitch-1.3)
	ASGU TUV 1

gaschargeFinish:
	BADF A 0 {A_PlaySound("SSTEAM",1,0.5);
						A_giveinventory("gascharges",10);
						A_takeinventory("gunpowder",1);
						A_giveinventory("gaspoweredASG",1);}
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SPAWNITEMEX ("HUDSMOKE",17,5,39, RANDOM(0,1),RANDOM(1,1),RANDOM(1,2),0)
	TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}
	B4DR  U 0 A_jumpifinventory("autoshotunloaded",1,1)
	goto Ready3
	TNT1 A 0
	goto readyunloaded

MenuOverlay:
		B4DR  U 0 A_jumpifinventory("gaspoweredASG",1,2)
		B4DR  U 0 A_jump(256,2)
		B4DR  U 0 A_OVERLAY(7,"gasON")	
		
		B4DR  U 0 A_jumpifinventory("gasswitchchecked",1,"gasSwitchOverlay")
		B4DR  U 0 A_jumpifinventory("gaschargechecked",1,"gaschargeOverlay")
		
gasSwitchOverlay:
		A12M B 1 BRIGHT OFFSET(-5,50) ACS_NAMEDEXECUTE("SELECTgasSWITCH",0)
		stop
		
gasCHARGEOverlay:
		A12M B 1 BRIGHT OFFSET(-5,50) ACS_NAMEDEXECUTE("SELECTgasCHARGE",0)
		stop
		
gasON:
		A12M A 1 BRIGHT offset(2,53)
		stop
	
ExitMenu:
	TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("ASGCrosshair"));}else{A_SetCrosshair(0);}}
	BADF A 0 a_takeinventory("startdualwield",1)
	TNT1 A 0 A_jumpifinventory("choosingreward",1,2)
	TNT1 A 0 SetPlayerProperty(0,0,4)
	B4DR  U 0 A_jumpifinventory("autoshotunloaded",1,8)
	ASGR GFEDCBA 1
	goto ready3
	ASGU LMNOPQRSTU 1
	goto readyUNLOADED
	
 	Spawn:
		A12P A 0
		A12P A 1
		LOOP
	}
}

Actor gasswitchchecked : Inventory { Inventory.MaxAmount 1 }
Actor gaschargechecked : Inventory { Inventory.MaxAmount 1 }

Actor gaspoweredASG : Inventory { Inventory.MaxAmount 1 }
Actor gascharges : Inventory { Inventory.MaxAmount 20 }
Actor accumulatinggas : Inventory { Inventory.MaxAmount 200 }

Actor justjammed : Inventory { Inventory.MaxAmount 1 }
ACTOR AssaultShotgunAmmo : Ammo
{
   Inventory.Amount 0
   Inventory.MaxAmount 21
   Ammo.BackpackAmount 0
   Ammo.BackpackMaxAmount 21
   Inventory.Icon "A12PA0"
}
