ACTOR LiTRifle : BrutalWeapon
{
	Weapon.AmmoUse1 0
	Weapon.AmmoGive1 0
	Weapon.AmmoUse2 0
	Weapon.AmmoGive2 0
	Weapon.SelectionOrder 2500
	Obituary "%o was shot down by %k's assault rifle."
    AttackSound "None"
    Inventory.PickupSound "MAGIN"
	Inventory.Pickupmessage "$GOTRIFLE"
    +WEAPON.NOAUTOAIM
    +WEAPON.NOALERT
	+WEAPON.NOAUTOFIRE
	+FORCEXYBILLBOARD
	scale 0.4
	Tag "Orthros M360"
	States
	{
INSPECT:
		TNT1 A 0
		BADF A 0 A_Takeinventory("juststartedgame",1)
		TNT1 A 0 A_GIVEINVENTORY("loaded556",1)
		BADF A 0 A_TakeInventory("neverfoundrifle", 1)
		TNT1 A 0 a_jumpif(GetCVAR("weaponinspect") == 0,"MagBag")
		"####" "#" 0 A_TakeInventory("minigunammo", 10)
		"####" "#" 0 A_giveInventory("rifleammo", 30)
		goto SelectAnimation

MagBag:
		BADM A 0 A_PlaySound("MAGBAG1")
		TNT1 A 7
		BADF A 0 A_Takeinventory("juststartedgame",1)
		BADM ABCDEFG 1 A_InspectReady
		BADM HIJKLMNOPQ 1 A_InspectReady
		BADM A 0 A_PlaySound("MAGBAG2",1)
		BADM RSTU 1 A_InspectReady
		BADM VWXYZ 1 A_InspectReady
		B4DM AB 1 A_InspectReady
		BADM A 0 A_PlaySound("MAGBAG3")
		B4DM CDEFGHIJKLMN 1 A_InspectReady
		B4DM OPQR 1 {a_SETPITCH(PITCH+1.0); A_InspectReady;}
		TNT1 A 0 A_GIVEINVENTORY("minigunammo",21)
		
MagLoad:
		TNT1 A 10 A_InspectReady
		BADC AABBBBBBCC 1 {a_SETPITCH(PITCH-1.0); A_InspectReady;}
		BADC DD 1 A_InspectReady
		TNT1 A 0 A_GIVEINVENTORY("minigunammo",1)
		BADF A 0 A_PlaySound("CLIPICK2",6)
		BADC EEEEFFFFFFFFGHIJKLMM 1 A_InspectReady
		TNT1 A 0 A_GIVEINVENTORY("minigunammo",1)
		BADF A 0 A_PlaySound("CLIPICK2",6)
		TNT1 A 0 A_InspectReady
		BADC NNNNOOOOOOOFGHIJKLMM 1 A_InspectReady
		TNT1 A 0 A_GIVEINVENTORY("minigunammo",1)
		BADF A 0 A_PlaySound("CLIPICK2",6)
		BADC NNNNOOOOOOOFGHIJKLMM 1 A_InspectReady
		TNT1 A 0 A_GIVEINVENTORY("minigunammo",1)
		BADF A 0 A_PlaySound("CLIPICK2",6)
		BADC NNNNOOOOOOO 1 A_InspectReady
		BADC PQRS 1 A_InspectReady
		
	FirstLoad:
		TNT1 A 5 A_InspectReady
		BADF A 0 a_overlay(2,"RESPECTcamera1")
		BADS ABCD 1 A_InspectReady
        BADR WXYZ 1 A_InspectReady
		B4DR AB 1 A_InspectReady
		B4DR CD 1 A_InspectReady
		B4DR EF 1 a_SETROLL(ROLL+1.0)
		BADF A 0 A_PlaySound("MAGIN")
		B4DR GH 1 a_SETROLL(ROLL+1.0)
		B4DR IJK 1 A_SETANGLE(ANGLE+1.0)
		B4DR LMMMN 1 A_InspectReady
		B4DR OPP 1 A_SETANGLE(ANGLE-1.0)
		BADF A 0 a_overlay(2,"RESPECTcamera2")
		BADS EFG 1 A_InspectReady
		BADS H 3 A_InspectReady
		84DS E 0 A_QuakeEx(1, 1, 1, 5, 0, 64, "", 0, 0, 0, 0, 0, 0, 1)
		TNT1 A 0 A_playsound("MAGTAP")
		BADS I 1 A_SETPITCH(PITCH-3.0)
		BADS J 1 A_SETANGLE(ANGLE-4.0)
		BADS KLM 1 A_InspectReady
		BADS NOPQR 1 A_InspectReady
		TNT1 A 0 A_playsound("BOLTBACK",1)
		BADS STUVW 1 A_InspectReady
		TNT1 A 0 A_playsound("BOLTRLSE",1)
		BADS XYZ 1 A_SETANGLE(ANGLE+1.0)
		B4DS ABCD 1 A_SETANGLE(ANGLE+1.0)
		B4DS EF 1 a_SETROLL(ROLL-2.0)
		B4DS G 1 A_InspectReady
		BADF AAA 1
		Goto InsertBullets
		
		
	CheckSprint:
		//BADF A 1 A_WeaponReady(WRF_NOFIRE)
		BADF A 0 A_JumpIfInventory("IsStandingStill", 1, "Ready3")
		BADF A 0 A_JumpIfInventory("IsTacticalClass", 1, "StartSprint")
		Goto Ready3
		
	CheckSprint2:
		//BADA E 1 A_WeaponReady(WRF_NOFIRE)
		BADF A 0 A_JumpIfInventory("IsStandingStill", 1, "Ready2")
		BADF A 0 A_JumpIfInventory("IsTacticalClass", 1, "StartSprint")
		Goto Ready2
		
	StartSprint:
		TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_FORWARD, 1)
		GOTO READY3
		BADD A 1 A_WeaponReady(WRF_NOFIRE)
		BADD B 1 A_WeaponReady(WRF_NOFIRE)
		BADD C 1 A_WeaponReady(WRF_NOFIRE)
		BADF A 0 A_Takeinventory("Zoomed",1)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}								
		BADF A 0 A_Takeinventory("ADSmode",1)
		BADF A 0 A_ZoomFactor(1.0)
		BADF A 0 A_JumpIfInventory("LARGESTAMINA", 1, 2)
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 70, "Trip")
		TNT1 A 0 A_JumpIfInventory("UsedStamina", 1400, "Trip")
		
	Sprinting:	
		BADF A 0
		RISP A 0 offset(-9,32) 
		
		BADF A 0 offset(-9,32) A_JumpIfInventory("IsStandingStill", 1, "Ready3")
		BADF A 0 A_JumpIfInventory("LARGESTAMINA", 1, 2)
		BADF A 0 A_JumpIfInventory("UsedStamina", 100, "StopSprintTired")
		BADF A 0 offset(-9,32) A_JumpIfInventory("UsedStamina", 2000, "StopSprintTired")
		TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_FORWARD, 1)
		GOTO READY3
		PLAY A 0 offset(-9,32) ACS_ExecuteAlways(852, 0, 0, 0, 0)//Makes player faster.
		BADF A 0 offset(-9,32) A_JumpIfInventory("Powerstrength2", 1, 2)
		BADF A 0 offset(-9,32) A_GiveInventory("UsedStamina", 8)
		BADF A 0 offset(-9,32)
		BADD D 1 offset(-9,34) A_SetPitch(pitch -0.5)
		BADD D 1 offset(-6,36) A_SetPitch(pitch -0.5)
		BADD D 1 offset(-3,38) A_SetPitch(pitch -0.5)
		BADD D 1 offset(0,38) A_SetPitch(pitch -0.5)
		BADD D 1 offset(3,36) A_SetPitch(pitch -0.5)
		BADD D 1 offset(6,34) A_SetPitch(pitch -0.5)
		BADD D 1 offset(9,32) A_SetPitch(pitch -0.5)
		BADF A 0 offset(9,32) A_WeaponReady(WRF_NOBOB)
		BADF A 0 A_JumpIfInventory("Kicking",1,"RIFLEBASH")
        BADF A 0 A_JumpIfInventory("Taunting",1,"Taunt")
        BADF A 0 
		BADF A 0 offset(-9,32) A_GiveInventory("UsedStamina", 5)
		BADF A 0 offset(9,33) A_SpawnItemEx("FootStep", 0, 0, 2, 0, 0, -4)
		BADD D 1 offset(9,34) A_SetPitch(pitch +0.5)
		BADD D 1 offset(6,36) A_SetPitch(pitch +0.5)
		BADD D 1 offset(3,38) A_SetPitch(pitch +0.5)
		BADD D 1 offset(0,38) A_SetPitch(pitch +0.5)
		BADD D 1 offset(-3,36) A_SetPitch(pitch +0.5)
		BADD D 1 offset(-6,34) A_SetPitch(pitch +0.5)
		BADD D 1 offset(-9,32) A_SetPitch(pitch +0.5)
		BADF A 0 offset(-9,32) A_WeaponReady(WRF_NOBOB)
		BADF A 0 offset(-9,32) A_JumpIfInventory("IsRunning", 1, "Sprinting")
		
		Goto StopSprint
	StopSprintTired:
		BADD C 1
		PLAY A 0 ACS_ExecuteAlways(853, 0, 0, 0, 0)//Makes player slower.
		BADF A 0 A_PlaySound("Tired", 2)
		TNT1 A 0 A_Jumpifhealthlower(25,"rupturesprint")														
		BADD BA 1 A_WeaponReady
		BADF A 25
		Goto Ready3
	StopSprint:
		BADD CBA 1 A_WeaponReady
		BADF A 2 A_WeaponReady
		BADF A 0 A_JumpIfInventory("LARGESTAMINA", 1, 2)
		BADF A 0 A_JumpIfInventory("UsedStamina", 70, "StopSprintTired")
		BADF A 0 A_JumpIfInventory("UsedStamina", 1400, "StopSprintTired")
		PLAY A 0 ACS_ExecuteAlways(853, 0, 0, 0, 0)//Makes player slower.
		Goto Ready3

	Ready:
	SelectAnimation:
		TNT1 A 0 A_JumpIfInventory("ExecuteDownedEnemy", 1, "DoExecution")
        TNT1 AA 1 A_JumpIfInventory("GoFatality", 1, "Steady")
		//Inspect check
		TNT1 A 0 A_JumpIfInventory("neverfoundRIFLE",1,"Inspect")
		//
        BADF A 0 A_PlaySound("RIFLESEL")
		BADF A 0 A_Takeinventory("BDWeaponACtion",1)

		B4D5 HGFEDCBA 1
		BADF A 0 A_Takeinventory("StartDualWield",1)
        TNT1 AAAA 0
	Ready3:
		B4D5 A 0 A_JumpIfInventory("ExecuteDownedEnemy", 1, "DoExecution")
		B4D5 A 0 A_JumpIfInventory("Zoomed",1,"Ready2")
		B4D5 A 0 A_JumpIfInventory("Kicking",1,"RIFLEBASH")
		B4D5 A 1 A_WeaponReadyLit
		B4D5 A 0 A_JumpIfInventory("ETCRIFLETOKEN",1,"Upgrade")
		B4D5 A 0 A_JumpIfInventory("StartDualWield",1,"SpecialAction")
		B4D5 A 0 { If(CountInv("plasmaenhancedrifle") == 1) { a_overlay(5,"plasmaoverlay", false); } }
		goto Ready3
		
	Plasmaoverlay:
		BADP B 0 BRIGHT a_overlayflags(5, PSPF_ALPHA | PSPF_RENDERSTYLE, true)
		BADP B 0 A_OverlayRenderstyle(5,STYLE_Translucent)
		BADF A 0 A_JumpIfInventory("plasmacharges",30,"plasmafull")
		BADF A 0 A_JumpIfInventory("plasmacharges",25,"plasma25")
		BADF A 0 A_JumpIfInventory("plasmacharges",20,"plasma20")
		BADF A 0 A_JumpIfInventory("plasmacharges",15,"plasma15")
		BADF A 0 A_JumpIfInventory("plasmacharges",10,"plasma10")
		BADF A 0 A_JumpIfInventory("plasmacharges",5,"plasma5")
		BADF A 0 A_JumpIfInventory("plasmacharges",1,"plasma1")
		BADF A 0 A_takeinventory("plasmaenhancedrifle",1)
		stop
	Plasmafull:
		TNT1 A 0 A_OverlayAlpha(5,1.0)
		BADP B 1 BRIGHT
		stop
	Plasma25:
		TNT1 A 0 A_OverlayAlpha(5,0.9)
		BADP B 1 BRIGHT
		stop
	Plasma20:
		TNT1 A 0 A_OverlayAlpha(5,0.8)
		BADP B 1 BRIGHT
		stop
	Plasma15:
		TNT1 A 0 A_OverlayAlpha(5,0.6)
		BADP B 1 BRIGHT
		stop
	Plasma10:
		TNT1 A 0 A_OverlayAlpha(5,0.5)
		BADP B 1 BRIGHT
		stop
	Plasma5:
		TNT1 A 0 A_OverlayAlpha(5,0.4)
		BADP B 1 BRIGHT
		stop
	Plasma1:
		TNT1 A 0 A_OverlayAlpha(5,0.2)
		BADP B 1 BRIGHT
		stop
		
    Ready2:
		BADA E 0 A_JumpIfInventory("ETCRIFLETOKEN",1,"Upgrade")
		BADA E 0 A_JumpIfInventory("Kicking",1,"RIFLEBASH")
		BADA E 0 A_JumpIfInventory("StartDualWield",1,"SpecialAction")
		BADA E 1 A_WeaponReadyLit
		
				
		BADA E 0 A_JumpIf(Getcvar("ADSMode") == 0, 2)  ///////ADS MODE CHECK
		BADA E 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_altATTACK, "holdaim")
		goto noaim
		TNT1 A 0
		BADA E 0 A_JumpIfInventory("plasmaenhancedrifle",1,1)
		goto ready2
		BADA E 0 a_overlay(5,"AIMplasmaoverlay", false)
		goto Ready2
		
	AIMPlasmaoverlay:
		BADP B 0 BRIGHT a_overlayflags(5, PSPF_ALPHA | PSPF_RENDERSTYLE, true)
		BADP B 0 A_OverlayRenderstyle(5,STYLE_Translucent)
		BADF A 0 A_JumpIfInventory("plasmacharges",30,"aimplasmafull")
		BADF A 0 A_JumpIfInventory("plasmacharges",25,"aimplasma25")
		BADF A 0 A_JumpIfInventory("plasmacharges",20,"aimplasma20")
		BADF A 0 A_JumpIfInventory("plasmacharges",15,"aimplasma15")
		BADF A 0 A_JumpIfInventory("plasmacharges",10,"aimplasma10")
		BADF A 0 A_JumpIfInventory("plasmacharges",5,"aimplasma5")
		BADF A 0 A_JumpIfInventory("plasmacharges",1,"aimplasma1")
		BADF A 0 A_takeinventory("plasmaenhancedrifle",1)
		stop
	aimPlasmafull:
		TNT1 A 0 A_OverlayAlpha(5,1.0)
		BADP C 1 BRIGHT
		stop
	aimPlasma25:
		TNT1 A 0 A_OverlayAlpha(5,0.9)
		BADP C 1 BRIGHT
		stop
	aimPlasma20:
		TNT1 A 0 A_OverlayAlpha(5,0.8)
		BADP C 1 BRIGHT
		stop
	aimPlasma15:
		TNT1 A 0 A_OverlayAlpha(5,0.6)
		BADP C 1 BRIGHT
		stop
	aimPlasma10:
		TNT1 A 0 A_OverlayAlpha(5,0.5)
		BADP C 1 BRIGHT
		stop
	aimPlasma5:
		TNT1 A 0 A_OverlayAlpha(5,0.4)
		BADP C 1 BRIGHT
		stop
	aimPlasma1:
		TNT1 A 0 A_OverlayAlpha(5,0.2)
		BADP C 1 BRIGHT
		stop
		
Deselect:
		BADF A 0
		BADF A 0 A_Takeinventory("Zoomed",1)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}						
		BADF A 0 A_Takeinventory("ADSmode",1)
		TNT1 A 0 A_TakeInventory("throwtoken", 1)
		TNT1 A 0 A_TakeInventory("slashtoken", 1)
		TNT1 A 0 A_TakeInventory("flaretoken",1)
		BADF A 0 A_TakeInventory("TossGrenade", 1)
		BADF A 0 A_TakeInventory("Kicking",1)
        BADF A 0 A_TakeInventory("Taunting",1)
        BADF A 0 A_TakeInventory("Reloading",1)
		BADF A 0 A_TakeInventory("Salute1", 1)
		BADF A 0 A_TakeInventory("Salute2", 1)
		BADF A 0 A_TakeInventory("RIFLESELECTED", 1)
        BADF A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_JumpIfInventory("weaponbroke", 1, "DeselectCONTINUE")
		B4D5 ABCDEFGH 1
	DESELECTCONTINUE:
		TNT1 AAAAAAAAAAAAAAAAAA 0 A_Lower
		TNT1 A 0 A_Lower
		Wait
		
	goingtoaction:
        BADF A 0
		BADF A 0 A_Takeinventory("Zoomed",1)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}							
		BADF A 0 A_Takeinventory("ADSmode",1)
		TNT1 A 0 A_TakeInventory("throwtoken", 1)
		TNT1 A 0 A_TakeInventory("slashtoken", 1)
		TNT1 A 0 A_TakeInventory("flaretoken",1)
		BADF A 0 A_TakeInventory("TossGrenade", 1)
		BADF A 0 A_TakeInventory("Kicking",1)
        BADF A 0 A_TakeInventory("Taunting",1)
        BADF A 0 A_TakeInventory("Reloading",1)
		BADF A 0 A_TakeInventory("Salute1", 1)
		BADF A 0 A_TakeInventory("Salute2", 1)
        BADF A 0 A_ZoomFactor(1.0)
		B4D5 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
		
	Select: 
		"####" "#" 0 A_Overlay(-10,"FirstPersonLegsStand")
		"####" "#" 0 a_removelight(1)
		"####" "#" 0 A_removelight(2)	
		"####" "#" 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}	
		"####" "#" 0 A_SetRoll(0)
		"####" "#" 0 SetPlayerProperty(0,0,2)
		"####" "#" 0 A_Giveinventory("GoSpecial",1)
		"####" "#" 0 ACS_NAMEDEXECUTE("WEAPONSELECT",0)
		"####" "#" 0 A_TakeInventory("flaretoken",1)
		"####" "#" 0 A_TakeInventory("TossGrenade", 1)
		"####" "#" 0 A_TakeInventory("IsRunning", 1)
		
		TNT1 A 1 A_Raise
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
		Goto SelectAnimation
	
    Fire:
        "####" "#" 0 
		{
		if (CountInv("RifleAmmo") == 0) { return state("NoAmmo"); }
		return state("");
		}
		//DURABILITY CHECK
		B4D5 A 0 A_JumpIFInventory("FirearmsdurabilityOFF", 1, 5)
		B4D5 A 0 A_JumpIfInventory("jammedrifle",1, "Unstuck")
		B4D5 A 0 A_Takeinventory("RifleDurability",1)
		B4D5 A 0 A_JumpIfInventory("RifleDurability",75, 2)
		B4D5 A 0 A_Jump(40, "Misfire")
		///
		"####" "#" 0
		{
		A_AlertMonsters;
		A_SpawnItemEx("PlayerMuzzle1",30,5,30);
		A_Takeinventory("RifleAmmo",1);
		A_FireCustomMissile("DistantFireSoundLITRifle", random(-1,1), 0, 0, -12, 0, random(-1,1));
		A_WeaponOffset(random(-2,2),32+random(0,1));
		if (CountInv("Zoomed") == 1) { return state("Fire2"); }
		if(CountInv("loaded762") == 1)
			{
			A_startSound("BADGFIRE", 1, CHANF_OVERLAP);
			if(CountInv("plasmaenhancedrifle") == 1)
				{
				A_FireProjectile("plasma762tracer", frandom(-1,1), 0,0,2,0,frandom(-0.4,0.4)); 
				A_OVERLAY(5,"PLASMAFLASH"); 
				A_FireCustomMissile("BlueDecorativeTracer",0,0,0,0);
				A_takeinventory("plasmacharges",1); 
				a_startsound("PEWBOOL",200); 
				A_FireCustomMissile("shockSmokkSpawner",0,0,10,-30);
				}
			else
				{
				A_FireProjectile("rifle762tracer", frandom(-1,1), 0,0,2,0,frandom(-0.4,0.4)); 
				}
			}
		else
			{
			A_startSound("R473FIRE", 1, CHANF_OVERLAP);
			if(CountInv("plasmaenhancedrifle") == 1)
				{
				A_FireProjectile("plasma473tracer", frandom(-1,1), 0,0,2,0,frandom(-0.4,0.4));
				A_OVERLAY(5,"PLASMAFLASH");
				A_FireCustomMissile("BlueDecorativeTracer",0,0,0,0);
				A_takeinventory("plasmacharges",1); 
				a_startsound("PEWBOOL",200); 
				A_FireCustomMissile("shockSmokkSpawner",0,0,10,-30);
				}
			else
				{
				A_FireProjectile("rifle556tracer", frandom(-1,1), 0,0,2,0,frandom(-0.4,0.4));
				}
			}
		
		A_FireCustomMissile("RifleCaseSpawn",5,0,6,-14);
		if(CountInv("isdoomguy") == 0) { A_OVERLAY(4,"recoilcamera"); }
		return state("");
		}
		BADF A 0 A_Jump(256,"Firevariant1","Firevariant2","Firevariant3")

	Firevariant1:
		BADF B 1 BRIGHT A_ZoomFactor(0.97)
		BADF C 1 BRIGHT
		BADF D 1 A_ZoomFactor(1.0)
		"####" "#" 0 A_WeaponOffset(0,32)
		BADF EF 1 
		"####" "#" 0 { if(CountInv("LOADED762") == 0) { A_REFIRE; } }
		BADF G 1
		goto Finishfire
		
	Firevariant2:
		BADF H 1 BRIGHT A_ZoomFactor(0.97)
		BADF I 1 BRIGHT
		BADF J 1 A_ZoomFactor(1.0)
		"####" "#" 0 A_WeaponOffset(0,32)
		BADF KL 1 
		"####" "#" 0 { if(CountInv("LOADED762") == 0) { A_REFIRE; } }
		BADF M 1
		goto Finishfire
		
	Firevariant3:
		BADF N 1 BRIGHT A_ZoomFactor(0.97)
		BADF O 1 BRIGHT
		BADF P 1 A_ZoomFactor(1.0)
		"####" "#" 0 A_WeaponOffset(0,32)
		BADF QR 1 
		"####" "#" 0 { if(CountInv("LOADED762") == 0) { A_REFIRE; } }
		BADF S 1
		goto Finishfire
		
	FinishFire:
		BADF A 2 
		{
		A_Quake(1, 5, 0, 400, "");
		A_ZoomFactor(1.0);
		if(CountInv("plasmacharges") == 0) { A_takeInventory("plasmaenhancedrifle", 1); } 
		/// DURABILITY CHECK 2
		if(GetCVAR("firearmsdurability") == 1)
			{
			if(CountInv("rifledurability") == 0) { return state("WeaponBreak");} 
			}
		///
		return state("");
		}
		B4D5 A 0 A_refire
		Goto Ready3
	
	RecoilCamera:
		TNT1 A 1
		PIST F 0 A_JumpIfInventory("loaded556", 1, 2)
		TNT1 A 1 A_SetPitch(pitch-2.0)
		TNT1 AAA 1 A_SetPitch(pitch-2.0)
		TNT1 AA 1 A_SetPitch(+1.0 + pitch)
		STOP
	
	PLASMAFLASH:
		TNT1 A 0 A_AttachLightdef(2,"PLASMABALL")
		TNT1 A 3
		TNT1 A 0 A_removeLight(2)
		STOP
	
	
     Fire2:
		"####" "#" 0
		{
		If(CountInv("IsDoomguy") == 0) { A_OVERLAY(4,"ADSrecoilcamera"); }
		A_ZoomFactor(1.9);
		A_FireCustomMissile("RifleCaseSpawn",1,0,8,0);
		A_Quake(1, 5, 0, 400, "");
		if(CountInv("loaded762") == 1)
			{
			A_startSound("BADGFIRE", 1, CHANF_OVERLAP);
			if(CountInv("plasmaenhancedrifle") == 1)
				{
				A_FireProjectile("plasma762tracer", frandom(-0.1,0.1), 0,0,2,0,0); 
				A_OVERLAY(5,"PLASMAFLASH");
				A_takeinventory("plasmacharges",1); 
				a_startsound("PEWBOOL",200); 
				A_FireCustomMissile("shockSmokkSpawner",0,0,10,-30);
				}
			else
				{
				A_FireProjectile("rifle762tracer", frandom(-0.1,0.1), 0,0,2,0,0);
				}
			}
		else //556 fire
			{
			A_startSound("R473FIRE", 1, CHANF_OVERLAP);
			if(CountInv("plasmaenhancedrifle") == 1)
				{
				A_FireProjectile("plasma473tracer", frandom(-0.1,0.1), 0,0,2,0,0); 
				A_OVERLAY(5,"PLASMAFLASH");
				A_takeinventory("plasmacharges",1); 
				a_startsound("PEWBOOL",200); 
				A_FireCustomMissile("shockSmokkSpawner",0,0,10,-30);
				}
			else
				{
				A_FireProjectile("rifle556tracer", frandom(-0.1,0.1), 0,0,2,0,0);
				}
			}
		}
		"####" "#" 0 A_Jump(256,"Fire2variant1","Fire2variant2","Fire2variant3")
		
	FIRE2VARIANT1:
		BADA F 1 BRIGHT
		BADA G 1 A_ZoomFactor(2.0)
		BADA E 3 A_WeaponOffset(0,32)
		"####" "#" 0 A_JumpIf(countInv("LOADED762") == 0, "FinishFireAim")
        BADA E 3
		goto FinishFireAim
	Fire2Variant2:
		BADA H 1 BRIGHT
		BADA I 1 A_ZoomFactor(2.0)
		BADA E 3 A_WeaponOffset(0,32)
		"####" "#" 0 A_JumpIf(countInv("LOADED762") == 0, "FinishFireAim")
        BADA E 3
		goto FinishFireAim
	Fire2Variant3:
		BADA J 1 BRIGHT
		BADA K 1 A_ZoomFactor(2.0)
		BADA E 3 A_WeaponOffset(0,32)
		"####" "#" 0 A_JumpIf(countInv("LOADED762") == 0, "FinishFireAim")
        BADA E 3
		
	FinishFireAim:
		"####" "#" 0
		{
		if(CountInv("plasmacharges") == 0) { A_takeInventory("plasmaenhancedrifle", 1); }
		/// DURABILITY CHECK 2
		If(GetCVAR("firearmsdurability") == 0)
			{
			If(CountInv("rifledurability") == 0) { return state("WeaponBreak"); }
			}
		///
		return state("");
		}
		BADA E 0 A_JumpIf(Getcvar("ADSMode") == 0, 3)  ///////ADS MODE CHECK
		BADA E 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_altATTACK, "holdaim")
		BADA E 0 A_JumpIfInventory("ZoomHold", 1, "NoAim")
		
		BADA E 1 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "FIRE")
		BADA E 7 A_WeaponReady(1)
		Goto Ready2
		
	ADSRecoilCamera:
		TNT1 A 1
		PIST F 0 A_JumpIfInventory("loaded556", 1, 2)
		TNT1 A 1 A_SetPitch(pitch-0.7)
		TNT1 AAA 1 A_SetPitch(pitch-0.7)
		TNT1 AA 1 A_SetPitch(+0.4 + pitch)
		STOP
		
    AltFire:
		BADF A 0 a_startsound("ADSin",250)
		BADF A 0 A_Giveinventory("GoSpecial",1)
		BADF A 0 A_JumpIfInventory("Zoomed",1,"NoAim")
		BADF A 0 A_Giveinventory("Zoomed",1)
        BADF A 0 A_ZoomFactor(2.0)
		TNT1 A 0 A_SetCrosshair(41)							 
		BADF A 0 A_Giveinventory("ADSmode",1)
        BADA ABCDE 1	
		BADA E 1 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "FIRE")
		
		BADF A 0 A_JumpIf(Getcvar("ADSMode") == 0, "Ready2")  ///////ADS MODE CHECK
		
	   HoldAim:	
		BADA E 0 A_GiveInventory("ZoomHold",1)
		BADA E 1 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "FIRE")
		BADA E 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_altATTACK, "holdaim")
		
       NoAim:
		BADF A 0 A_Takeinventory("Zoomed",1)
		BADF A 0 A_Takeinventory("ZoomHold",1)
        BADF A 0 A_ZoomFactor(1.0)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}						
		BADF A 0 A_Takeinventory("ADSmode",1)
		BADA EDCBA 1
        Goto Ready3
			
	WeaponCheckOverlay:
		TNT1 A 5
		PISA D 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, 1)
		Stop
	WeaponCheck2:
		TNT1 A 1
		PISA D 0 ACS_NamedExecutealways("rifledurabilitycheck", 0)
		 BADF A 0 A_JumpIfInventory("loaded762",1,3)
		 PISA D 0 ACS_NamedExecutealways("riflemagcheck473", 0)
		BADF A 0 A_Jump(256,2)
		PISA D 0 ACS_NamedExecutealways("riflemagcheck762", 0)
		PISA D 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "WeaponCheck2")
		stop	
	
    Reload:
		"####" "#" 1 A_WeaponReady
		"####" "#" 0 A_Takeinventory("Reloading",1)
		"####" "#" 0 A_JumpIfInventory("TurboReload",1,"TurboReload")
		"####" "#" 0 A_ZoomFactor(1.0)
		"####" "#" 0 A_Takeinventory("ADSmode",1)
		"####" "#" 0 A_Takeinventory("Zoomed",1)
		"####" "#" 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}	
		"####" "#" 0 A_jumpifinventory("jammedrifle",1,"Unstuck")
		"####" "#" 0 A_JumpIfInventory("REPAIRMODE",1,"KITREPAIR")
		
		 BADF A 0 A_JumpIfInventory("loaded762",1,3)
		BADF A 0 A_JumpIfInventory("RifleAmmo",30,"Ready3")
		BADF A 0 A_Jump(256,2)
		BADF A 0 A_JumpIfInventory("RifleAmmo",20,"Ready3")			
		///AMMO CHECK
        BADF A 0 A_JumpIfInventory("loaded762",1,2)
		BADF A 0 A_JumpIfInventory("minigunammo",1,2)
		goto noammoUnload
		BADF A 0 A_JumpIfInventory("clip2",1,1)
        Goto noammoUnload
		BADF A 0 A_Takeinventory("Zoomed",1)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}							
		BADF A 0 A_GiveInventory ("Pumping", 1)
		BADF A 0 A_Takeinventory("Reloading",1)
		BADF A 0
		BADF A 0 A_JumpIfInventory("Rifleammo",1,2)
		A12S A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, "FullReloadCheck")
		
	ReloadUnload:
		BADR A 0 A_JumpIfInventory("UnloadedRifle",1,"AfterUnload")
		BADF A 0 A_PlaySound("DRYFIRE", 6)
		84DR CBAA 1 A_SetRoll(ROLL-1.0)
		B4DR ZYXWVUTSRQP 1
		BADF A 0 A_PlaySound("DRYFIRE")
		B4DR ONMMM 1
        BADF A 0 A_PlaySound("MAGOUT")
		B4DR LKJHIGFEDCBA 1 A_JumpIfInventory("Kicking",1,"RIFLEBASH")
		
		BADF A 0 A_JumpIfInventory("realreloadOFF",1,2)
		PIST F 0 A_JumpIfInventory("RIFLEAMMO",2,3)
		BADF A 0 A_FireCustomMissile("emptyclipriflespawn",-5,0,8,-4)
		PIST F 0 A_Jump(256,5)
		
		PIST F 0 A_JumpIfInventory("loaded762",1,3)
		RIFR C 0 ACS_NAMEDEXECUTE("DropRIFLEMAG473",0)
		PIST F 0 A_Jump(256,2)
		RIFR C 0 ACS_NAMEDEXECUTE("DropRIFLEMAG762",0)
		TNT1 A 0
		
		BADR ZYX 1  A_JumpIfInventory("Kicking",1,"RIFLEBASH")
		BADF A 0 a_overlay(2,"reloadcamera")
		GOTO RELOAD2
          
	AfterUnload:
		BADF A 0 a_overlay(2,"reloadcamera")
		BADR ABCD  1 A_SetRoll(ROLL-1.0)
		BADR EFGH 1
	
	Reload2:
		BADF A 0 A_PlaySound("MAGGRAB")
		BADR IJKLMNOPONMLKJI 1 
		BADR QRSTUVW 1 
		SSHR A 0 A_JumpIfInventory("isdoomguy", 1, 2)
		BADR W 15
		
        BADR XYZ 1
		B4DR ABCDEFG 1
		BADF A 0 A_PlaySound("MAGIN", 6)
		B4DR HIJKLMMM 1 
		TNT1 A 0 A_QuakeEx(2, 2, 2, 4, 0, 64, "", 0, 0, 0, 0, 0, 0, 1)
		B4DR NOP 1
		BADF A 0 A_JumpIfInventory("rifleammo",1,1)
		goto boltpull
		
		B4DR QRSTUVWXYZ 1 A_JumpIfInventory("Kicking",1,"RIFLEBASH")
		84DR ABCC 1 A_SetRoll(ROLL+1.0)
		goto reloadcontinue
		
Reloadcontinue:
		BADF A 0 A_Takeinventory("UnloadedRifle",1)
		BADF A 0 A_Takeinventory("HasUnloaded",1)
					
		BADF A 0 A_JumpIfInventory("RifleAmmo",1,"InsertBullets3")//full reload
		BADF A 0 A_JumpIfInventory("realreloadOFF",1,2)
		BADF A 0 A_Takeinventory("Rifleammo",30)
		Goto InsertBullets	
TurboReload:
		BADF A 0 A_Takeinventory("HasUnloaded",1)
		
		///AMMO CHECK
		BADF A 0 A_JumpIfInventory("loaded762",1,2)
		BADF A 0 A_JumpIfInventory("minigunammo",1,3)
		goto READY3
		BADF A 0 A_JumpIfInventory("Clip2",1,3)
		Goto Ready3
		RIFS ABC 0
        Goto InsertBullets
		
	InsertBullets:
		TNT1 AAAA 0	
		///AMMO CHECK
		BADF A 0 A_JumpIfInventory("loaded762",1,3)
		BADF A 0 A_JumpIfInventory("RifleAmmo",30,"finishreloading")	
		BADF A 0 A_JumpIfInventory("minigunammo",1,3)
		goto finishreloading
		BADF A 0 A_JumpIfInventory("RifleAmmo",20,"finishreloading")	
		BADF A 0 A_JumpIfInventory("Clip2",1,3)
		Goto FinishReloading	
	Insertround:
        TNT1 AAAAAA 0
		BADF A 0 A_Giveinventory("RifleAmmo",1)	
		BADF A 0 A_JumpIfInventory("loaded762",1,2)
		BADF A 0 A_takeInventory("minigunammo",1)
		goto insertbullets
		BADF A 0 A_Takeinventory("Clip2",1)
		Goto InsertBullets
		
	InsertBullets3:
		BADF A 0 A_JumpIfInventory("realreloadOFF",1,3)
		BADF A 0 A_Takeinventory("Rifleammo",30)
		BADF A 0 A_Giveinventory("RifleAmmo",1)
	insertbullets3continue:
		TNT1 A 0
		BADF A 0 A_JumpIfInventory("loaded762",1,3)
		BADF A 0 A_JumpIfInventory("RifleAmmo",31,"FinishReloading")
		BADF A 0 A_jumpifInventory("minigunammo",1,3)
		goto finishreloading
		BADF A 0 A_JumpIfInventory("RifleAmmo",21,"FinishReloading")
		BADF A 0 A_JumpIfInventory("Clip2",1,3)
		Goto FinishReloading
        TNT1 AAAAAA 0	
		BADF A 0 A_Giveinventory("RifleAmmo",1)

		BADF A 0 A_JumpIfInventory("loaded762",1,2)
		BADF A 0 A_takeInventory("minigunammo",1)
		goto insertbullets3continue
		BADF A 0 A_Takeinventory("Clip2",1)
		Goto InsertBullets3continue
			
	FinishReloading:
		BADF A 0 A_Takeinventory("Reloading",1)
		BADF A 0 A_SetRoll(0)
		BADF A 0 A_Refire
		Goto Ready3

FullReloadCheck:
		B4D5 A 3
		B4D5 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, 1)
		goto ReloadUnload
		B4D5 A 3
		B4D5 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, 1)
		goto ReloadUnload
		B4D5 A 3
		B4D5 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, 1)
		goto ReloadUnload
		B4D5 A 3
		B4D5 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, 1)
		goto ReloadUnload
		B4D5 A 0 A_ZoomFactor(1.0)
		B4D5 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}
		B4D5 A 0 A_JumpIfInventory("JAMMEDRIFLE",1,"UNSTUCK")
		B4D5 A 0 A_JumpIfInventory("loaded762",1,3)
		B4D5 A 0 A_JumpIfInventory("MINIGUNAMMO",31,4)
		B4D5 A 0 A_print("you need at least 31 bullets to perform a full reload")
		goto noammo	
		B4D5 A 0 A_JumpIfInventory("CLIP2",21,2)
		B4D5 A 0 A_print("you need at least 21 bullets to perform a full reload")
		goto noammo	
		B4D5 A 0 A_JumpIfInventory("UnloadedRIFLE",1,1)
		goto FullReloadUnload
FullReload:
		BADF A 1
		B4D5 BCD 1
		BADS XWVUTSRRRR 1
		TNT1 A 0 A_playsound("BOLTBACK",1)
		BADS RSTUVW 1
		//
		BADB A 1
		BADB B 1
		BADB B 1 OFFSET(0,32)
		BADB B 1 OFFSET(1,32)
		BADB B 1 OFFSET(1,33)
		BADB B 1 OFFSET(0,34)
		BADB B 1 OFFSET(-1,33)
		BADB B 1 OFFSET(-2,32)
		BADB B 1 OFFSET(-1,32)
		BADB B 1 OFFSET(0,32)
		BADB B 1
		BADB CDE 1
		PIST F 0 A_startSound("magazine/grab",160,0,0.8)
		TNT1 A 5 
		BADF A 0 A_JumpIfInventory("loaded762",1,3)
		PIST F 0 A_takeInventory("minigunammo",1)
		BADF A 0 A_jump(256,2)
		PIST F 0 A_takeInventory("clip2",1)
		SMGG A 0 A_OVERLAY(3, "RIFLEROUNDin")
		TNT1 A 35
		BADB EDC 1
		BADB B 1
		BADB B 1 OFFSET(0,32)
		BADB B 1 OFFSET(1,32)
		BADB B 1 OFFSET(1,33)
		BADB B 1 OFFSET(0,34)
		BADB B 1 OFFSET(-1,33)
		BADB B 1 OFFSET(-2,32)
		BADB B 1 OFFSET(-1,32)
		BADB B 1 OFFSET(0,32)
		BADB B 1
		BADB A 1
		//
		TNT1 A 0 A_playsound("BOLTRLSE",1)
		BADS WVUTSRRRR 1
		B4D5 DCBA 1
		goto reload2
FullReloadUnload: 
		84DR CBAA 1 A_SetRoll(ROLL-1.0)
		B4DR ZYXWVUTSRQP 1
		BADF A 0 A_PlaySound("DRYFIRE")
		B4DR ONMMM 1
        BADF A 0 A_PlaySound("MAGOUT")
		B4DR LKJHIGFEDCBA 1 
		BADF A 0 A_FireCustomMissile("emptyclipriflespawn",-5,0,8,-4)
		BADR ZYX 1  A_JumpIfInventory("Kicking",1,"RIFLEBASH")
		BADF A 10
		goto fullreload
RifleRoundin:
		RFLZ ABCDEFGGGGGGIJKLMNOP 1 
		TNT1 A 0 A_STARTsound("REVOLOAD",100)
		PIST F 0 A_giveInventory("RIFLEAMMO",1)
		TNT1 A 0
		stop
		
	Boltpull:
		BADS MNOPQR 1 
		TNT1 A 0 A_playsound("BOLTBACK",1)
		BADS STUVW 1
		TNT1 A 0 A_playsound("BOLTRLSE",1)
		BADS XYZ 1 A_SETANGLE(ANGLE+1.0)
		B4DS ABCD 1 A_SETANGLE(ANGLE+1.0)
		B4DS EFG 1 a_SETROLL(ROLL+1.0)
		BADF AAA 1 a_SETROLL(0)
		GOTO RELOADCONTINUE
	
	Checkmag2:
		PIST F 0 A_JumpIfInventory("rifleAmmo",2,1)
		goto CheckChamber
		84DR CBA 1
		B4DR ZYXWVUTSRQP 1
		BADF A 0 A_PlaySound("DRYFIRE")
		B4DR ONMMM 1
        BADF A 0 A_PlaySound("MAGOUT")
		B4DR LKJHIGFED 1 
	Checkmag:
		BADF A 0 A_JumpIfInventory("loaded762",1,"CheckMag762")
		B4DR D 5 A_weaponready(WRF_NOFIRE | WRF_NOSWITCH)
		TNT1 A 0 A_JumpIFInventory("FirearmsdurabilityOFF", 1, 2)
		TNT1 A 0 ACS_NamedExecutealways("RifleDurabilityCheck",0)
		TNT1 A 0 ACS_NamedExecutealways("RifleMagCheck473",0)
		TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "CheckMag")
		
		goto CheckMagFinish
	CheckMag762:
		B4DR D 5 A_weaponready(WRF_NOFIRE | WRF_NOSWITCH)
		TNT1 A 0 A_JumpIFInventory("FirearmsdurabilityOFF", 1, 2)
		TNT1 A 0 ACS_NamedExecutealways("RifleDurabilityCheck",0)
		TNT1 A 0 ACS_NamedExecutealways("RifleMagCheck762",0)
		TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "CheckMag")
		
	CheckMagFinish:
		B4DR EFG 1
		 BADF A 0 A_PlaySound("MAGOUT")
		 B4DR HIJKLMNOPQRSTUVWXYZ 1
		 84DR ABC 1
		 goto Ready3
	
CheckChamber:
		BADF A 0 A_ZoomFactor(1.0)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}
		B4D5 B 1
		B4DS GFEDCBA 1
		SMGG A 0 A_CLEAROVERLAYS(2,2)
		BADS ZYXWVUTSR 1
		BADS R 2
		TNT1 A 0 A_playsound("BOLTBACK",1)
		BADS STUVW 1		
CheckchamberHold:	
		BADF A 0 A_JumpIfInventory("loaded762",1,"Checkchamber762")
		BADS W 5 A_weaponready(WRF_NOFIRE | WRF_NOSWITCH)
		TNT1 A 0 ACS_NamedExecute("RifleMagCheck473",0)
		TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "CheckChamberHold")
		goto CheckchamberFinish
Checkchamber762:
		BADS W 5 A_weaponready(WRF_NOFIRE | WRF_NOSWITCH)
		TNT1 A 0 ACS_NamedExecute("RifleMagCheck762",0)
		TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "CheckChamberHold")
CheckchamberFinish:
		TNT1 A 0 A_playsound("BOLTRLSE",1)
		BADS VUTSRSTUVWXYZ 1 
		B4DS ABCDEFG 1
		B4D5 B 1
		goto Ready3
		
	User4Zoom:
		BADF A 0 A_ZoomFactor(1.0)
		BADF A 0 A_Takeinventory("ADSmode",1)
		BADF A 0 A_Takeinventory("Zoomed",1)
		BADA EDCBA 1
	User4:
		"####" "#" 0 A_JumpIfInventory("Zoomed",1,"User4Zoom")
		BADF A 5 A_WeaponReady
		BADF A 0 A_ZoomFactor(1.0)
		BADF A 0 A_Takeinventory("ADSmode",1)
		BADF A 0 A_Takeinventory("Zoomed",1)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}
		TNT1 A 0 A_jumpifinventory("jammedrifle",1,"Unstuck")
        BADF A 0 A_JumpIfInventory("RifleAmmo",1,3)
		BADF A 1
        Goto noammounload
        TNT1 AAA 0
		BADF A 0 a_overlay(2,"unloadcamera")
		BADF A 0 A_Takeinventory("Zoomed",1)
		PIST F 0 A_JumpIfInventory("rifleAmmo",2,1)
		goto unloadchamber
		84DR CBA 1
		B4DR ZYXWVUTSRQP 1
		BADF A 0 A_PlaySound("DRYFIRE")
		B4DR ONMMM 1
        BADF A 0 A_PlaySound("MAGOUT")
		B4DR LKJHIGFED 1 
		TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "CheckMag")
		B4DR CBA 1
		BADF A 0 A_GiveInventory ("Pumping", 1)
	
	RemoveBullets:
		TNT1 AAAA 0
		BADF A 0 A_JumpIfInventory("RifleAmmo",2,3)
		Goto FinishUnload
        TNT1 AAAAAA 0
		BADF A 0 A_Takeinventory("RifleAmmo",1)
		
		BADF A 0 A_JumpIfInventory("loaded762",1,2)
		BADF A 0 A_giveInventory("minigunammo",1)
		goto removebullets
		BADF A 0 A_Giveinventory("Clip2",1)
		Goto RemoveBullets
	
	FInishUnload:
		BADR ZYX 1
		BADR HGFEDCBA 1
		BADF A 0 A_PlaySound("DRYFIRE2")
		BADF A 0 A_GiveInventory("HasUnloaded", 1)
		BADF A 0 A_GiveInventory("UnloadedRifle",1)
		Goto Ready3
		
	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("RifleCrosshair"));}else{A_SetCrosshair(0);}}
		B4D5 B 1
		B4DS GFEDCBA 1
		SMGG A 0 A_CLEAROVERLAYS(2,2)
		BADS ZYXWVUTSR 1
		BADS R 3
		TNT1 A 0 A_playsound("BOLTBACK",1)
		BADS STUVW 1
		SMGG A 0 A_FireCustomMissile("RifleCasespawnSave",5,0,0,-9)
		TNT1 A 0 A_playsound("BOLTRLSE",1)
		BADS XYZ 1 A_SETANGLE(ANGLE+1.0)
		B4DS ABCD 1 A_SETANGLE(ANGLE+1.0)
		B4DS EFG 1 a_SETROLL(ROLL+1.0)
		BADF A 0 A_TAKEInventory("RIFLEAMMO", 1)
		SMGG A 0 A_OVERLAY(3, "RifleroundOUT")
		BADD ABC 1
		BADD D 14 a_SETROLL(0)
		BADD CBA 1
		BADF A 0 A_JumpIfInventory("loaded762",1,2)
		BADF A 0 A_GiveInventory("minigunammo", 1)
		goto Ready3
		BADF A 0 A_GiveInventory("clip2", 1)
		goto Ready3
		
	Rifleroundout:
		TNT1 A 0 A_STARTsound("REVOLOAD",100)
		RFLZ ABCDEFGGGGGGIJKLMNOP 1 offset(70,0)
		stop
		
 	Spawn:
		BADP A -1
		Stop

	Execution2:
		BADF A 0 A_RECOIL(-3)
		TNT1 AAAAA 1 A_SetPitch(70)
		BADF A 0 A_ZoomFactor(1.1)
		TNT1 A 0 A_jumpifinventory("powerstrength2",1,"FinalRIFLEBASH")
		RIBB A 1 A_Stop
        RIBB B 1 A_PlaySound("skeleton/swing")
		RIBB C 1 A_FireCustomMissile("ExecutionAttackMelee", 0, 0, 0, 0)
		TNT1 A 0 A_startsound("KICKMON", 80,CHANF_OVERLAP,1.0,0,0)
		RIBB D 6 A_Stop
		RIBB CBA 2 A_Stop
		
		RIBB A 1 A_Stop
        RIBB B 1 A_PlaySound("skeleton/swing")
		RIBB C 1 A_FireCustomMissile("ExecutionAttackMelee", 0, 0, 0, 0)
		TNT1 A 0 A_startsound("KICKMON", 80,CHANF_OVERLAP,1.0,0,0)
		RIBB D 6 A_Stop
		RIBB CBA 2 A_Stop
		
	FinalRIFLEBASH:
		RIBB A 1 A_Stop
        RIBB B 1 A_PlaySound("skeleton/swing")
		RIBB C 1 A_FireCustomMissile("ExecutionAttackKick", 0, 0, 0, 0)
		TNT1 A 0 A_startsound("KICKMON", 80,CHANF_OVERLAP,1.0,0,0)
		RIBB D 6 A_Stop
		RIBB CBA 2 A_Stop
		
		TNT1 A 5
		Goto FinishExecution	
		
	Misfire:
		BADA E 0 A_JumpIfInventory("Zoomed",1,2)
		B4D5 A 0
		"####" "#" 0
		"####" "#" 0 A_jumpifinventory("rifleammo",1,2)
		"####" "#" 0 A_jump(256,2)
		
		"####" "#" 0 A_jump(40,"Jammed")
		"####" "#" 0 A_playsound("DRYFIRE",4)
		"####" "#" 5 OFFSET(0,34)
		"####" "#" 2 OFFSET(0,33)
		"####" "#" 1 OFFSET(0,32)
		"####" "#" 0 A_jumpifinventory("ADSMode",1,"Ready2")
		goto Ready3
	NoAmmoUnload:
	    "####" "#" 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_USER4, 1)
		goto Noammo
		"####" "#" 0 A_Overlay(98,"WeaponCheckOverlay",false)
	NoAmmo:
		BADA E 0 A_JumpIfInventory("Zoomed",1,2)
		B4D5 A 0
		"####" "#" 1 offset(0,34) { A_PlaySound("dryfire", 4);}
	NoAmmoHold:
		"####" "#" 1 offset(0,34)//A_WeaponReady(WRF_ALLOWRELOAD | WRF_NOFIRE)
		"####" "#" 0 offset(0,34) A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK || GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD || GetPlayerInput(INPUT_BUTTONS) & BT_USER4, "Noammohold")
		"####" "#" 1 offset(0,33)
		"####" "#" 1 offset(0,32)
		"####" "#" 0 A_JumpIfInventory("Zoomed",1,"Ready2")
		Goto Ready3
		
		Jammed:
		TNT1 A 0 A_giveinventory("jammedrifle",1)
		TNT1 A 0 A_jumpifinventory("ADSMode",1,"Ready2")
		goto Ready3
		
		Unstuck:
		TNT1 A 0 A_jumpifinventory("ADSMode",1,"Unstuckaim")
		TNT1 A 0
		goto MAGTAPPING
		Unstuckaim:
		BADF A 0
		BADF A 0 A_Takeinventory("Zoomed",1)
		BADF A 0 A_Takeinventory("ZoomHold",1)
        BADF A 0 A_ZoomFactor(1.0)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}							
		BADF A 0 A_Takeinventory("ADSmode",1)
		BADA EDCBA 1
		
		Magtapping:
		B4DS GFEDCBA 1
		BADS ZYXWVUTSRRRR 1
		TNT1 A 0 A_playsound("BOLTJAM",1)
		BADS STUUU 1
		BADS TSRRRR 1
		TNT1 A 0 A_playsound("BOLTJAM",1)
		BADS STUUU 1
		BADS TSRQPONMI 1
		BADS H 5
		
		TNT1 A 0 A_playsound("MAGTAP",1,0.7)
		BADS IIIIII 1
		BADS IHHHG 1
		BADS H 1
		TNT1 A 0 A_playsound("MAGTAP",1,0.7)
		BADS IIIIII 1
		BADS IHHHGG 1
		BADS H 15
		TNT1 A 0 A_SETANGLE(ANGLE-8.0)
		BADS I 1 A_playsound("MAGTHUD",1)
		BADF A 0 A_Takeinventory("JAMMEDRIFLE",1)
		TNT1 A 0 A_QuakeEx(5, 5, 5, 8, 0, 64, "", 0, 0, 0, 0, 0, 0, 1)
		BADS JKLLLLL 1 A_SETANGLE(ANGLE-2.0)
		BADS Z 0
		BADS MNOPQRST 1
		TNT1 A 0 A_playsound("BOLTBACK",1)
		BADS UVW 1
		TNT1 A 0 A_playsound("BOLTRLSE",1)
	
		BADS XYZ 1 A_SETANGLE(ANGLE+1.0)
		B4DS ABCDE 1 A_SETANGLE(ANGLE+1.0)
		B4DS FG 1 A_SETANGLE(ANGLE+2.0)
		GOTO READY3
		
		Weaponbreak:
		TNT1 A 0 a_jumpifinventory("plasmaenhancermounted",1,3)
		TNT1 A 0 a_print("your Rifle has broken!")
		TNT1 A 0 a_jump(256,2)
		TNT1 A 0 a_print("your Rifle has broken, along with its Electro-Thermo Chemical Module!")
		TNT1 A 0 A_takeinventory("Jammedrifle",1)
		BADF A 0 A_Takeinventory("plasmaenhancermounted",1)
		BADF A 0 A_Takeinventory("plasmaenhancedrifle",1)
		BADF A 0 A_Takeinventory("plasmacharges",30)
		B4D5 ABCDEFGH 1
		TNT1 A 1
		TNT1 A 0 a_SPAWNITEM("brokenRIFLE",0,0)
		 TNT1 A 0 a_RADIUSGIVE("hasbeendropped",90, RGF_OBJECTS | RGF_NOSIGHT, 1, "brokenRIFLE")
		TNT1 A 0 ACS_namedexecute("BROKENDISARM",0)
		TNT1 AAA 1 a_weaponready
		Wait
		
		RespectCamera1:
		TNT1 AAAA 1 A_SETANGLE(ANGLE-1.0)
		TNT1 AAAAA 1 A_SETPITCH(PITCH+0.8)
		stop
		
		RespectCamera2:
		TNT1 AAA 1 A_SETANGLE(ANGLE-1.0)
		TNT1 A 1 A_SETANGLE(ANGLE+1.0)
		TNT1 A 1 A_SETPITCH(PITCH+1.0)
		TNT1 A 1 A_SETANGLE(ANGLE+1.0)
		TNT1 AA 1 A_SETANGLE(ANGLE+0.8)
		TNT1 AA 1 A_SETPITCH(PITCH+0.8)
		TNT1 AA 1 A_SETANGLE(ANGLE+0.8)
		TNT1 AA 1 A_SETPITCH(PITCH+0.8)
		TNT1 AA 1 A_SETANGLE(ANGLE+0.8)		
		stop
		
		UnloadCamera:
		TNT1 A 4
		TNT1 AAAA 1 A_SETROLL(ROLL+0.3)
		TNT1 A 4
		TNT1 AAAA 1 A_SETPITCH(PITCH+0.8)
		TNT1 AAAA 1 A_SETPITCH(PITCH-0.8)
		TNT1 AAAA 1 A_SETROLL(ROLL-0.3)
		TNT1 A 0 A_SETROLL(0)
		stop
			
		ReloadCamera:
		TNT1 A 1
		TNT1 AAA 1 A_SETPITCH(PITCH+0.7)
		TNT1 AAAA 1 A_SETPITCH(PITCH-0.7)
		TNT1 A 1
		TNT1 AA 1 A_SETPITCH(PITCH+0.7)
		TNT1 A 12
		TNT1 A 1 A_SETPITCH(PITCH+0.7)
		TNT1 A 1 
		TNT1 A 1 A_SETPITCH(PITCH+0.7)
		TNT1 A 1 
		TNT1 A 21
		TNT1 A 1 A_SETPITCH(PITCH+0.7)
		TNT1 AA 2 A_SETPITCH(PITCH+0.7)
		TNT1 A 2 A_SETPITCH(PITCH-0.7)
		TNT1 AAAA 1 A_SETPITCH(PITCH-0.7)
		TNT1 AA 1 A_SETPITCH(PITCH+0.7)
		TNT1 A 1 
		TNT1 A 1 A_SETPITCH(PITCH-0.7)
		TNT1 AAAAAAA 1 A_SETPITCH(PITCH-0.3)
		TNT1 A 1 A_SETPITCH(PITCH-0.7)
		TNT1 AAAAAAA 1 A_SETPITCH(PITCH+0.7)
		TNT1 AAAAAAAA 1 A_SETPITCH(PITCH-0.7)
		stop		
		
	KITREPAIR:
		TNT1 A 0 A_JumpIFInventory("survivalkituses",1, 2)
		PIST F 0 A_Jump(256,"kitbroke")
		BADF A 5
		
		TNT1 A 0 A_JumpIFInventory("RIFLEDurability",250, "NoNeedRepair")
		PIST F 0 A_JumpIfInventory("scrapmetal",1, 2)
		PIST F 0 A_Jump(256,"outofmetal")
		
	KITREPAIR2:
		PIST F 0 A_GIVEinventory("RIFLEDurability",40)
		BADF A 0 A_Takeinventory("scrapmetal",1)
		TNT1 A 0 A_playsound("WIRECUT",1)
		B4D5 ABCDEFGH 1
		TNT1 A 20
		B4D5 HGFEDCBA 1
		
		TNT1 A 0 A_JumpIFInventory("survivalkituses",1, 2)
		PIST F 0 A_Jump(256,"kitbroke")
		BADF A 2
		goto Ready3
	
	RifleBash:
		TNT1 A 0 A_SETROLL(0)
		NULL A 0 A_JumpIf (momZ > 0, "AirKickRIFLE")
		NULL A 0 A_JumpIf (momZ < 0, "AirKickRIFLE")
		TNT1 A 0 A_JumpIfInventory("IsCrouching", 1, "SlideAttackRIFLE")
	
		TNT1 A 0 A_jumpifinventory("Powerstrength2",1,"Berserkerbash")
		TNT1 A 0 A_JumpIfInventory("isdoomguy", 1, 5)
		TNT1 A 0 A_JumpIfInventory("LARGESTAMINA", 1, 2)
		TNT1 A 0 A_JumpifInventory("UsedStamina",95,"Tiredbash")
		TNT1 A 0 A_JumpifInventory("UsedStamina",1995,"Tiredbash")
		TNT1 A 0 A_Giveinventory("UsedStamina",10)
		TNT1 A 0 A_PlaySound("3WRTATK2")

		BASH ABCDEF 1
		RIFF A 0 A_FireCustomMissile("KickAttack", 0, 0, 0, -7)
        BASH GHG 3
		KICK A 0 A_Takeinventory("Kicking",1)
		BASH F 1
		BASH EDCBA 1
		BADF A 5
		TNT1 A 0 A_JumpIfInventory("ExecuteDownedEnemy", 1, "DoExecution")
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		RIBA A 0 A_Takeinventory("Kicking",1)
		Goto READY3
	TiredBASH:
		BADF A 5
		TNT1 A 0 A_PlaySound("3WRTATK2")
		BASH AABBCDEF 1
		RIFF A 0 A_FireCustomMissile("KickAttack", 0, 0, 0, -7)
        BASH GHG 5
		KICK A 0 A_Takeinventory("Kicking",1)
		BASH F 1
		BASH EDCBA 2
		BADF A 5
		TNT1 A 0 A_JumpIfInventory("ExecuteDownedEnemy", 1, "DoExecution")
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		RIBA A 0 A_Takeinventory("Kicking",1)
		Goto READY3
    BerserkerBASH:
		TNT1 A 0 A_PlaySound("3WRTATK2")
		BASH ABCDEF 1
		RIFF A 0 A_FireCustomMissile("KickAttack", 0, 0, 0, -7)
		RIFF A 0 A_FireCustomMissile("SUPERKickAttack", 0, 0, 0, -7)
        BASH GHG 3
		KICK A 0 A_Takeinventory("Kicking",1)
		BASH F 1
		BASH EDCBA 1
		BADF A 5
		TNT1 A 0 A_JumpIfInventory("ExecuteDownedEnemy", 1, "DoExecution")
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		RIBA A 0 A_Takeinventory("Kicking",1)
		Goto READY3
	
	SlideAttackRIFLE:
		TNT1 A 0 A_overlay(3,"KICKRifle")
		TNT1 A 0 a_Jump(256,"SLIDEATTACK")
	AIRKICKRIFLE:	
		TNT1 A 0 A_overlay(3,"KICKRifle")
		TNT1 A 0 a_Jump(256,"AIRKICK")
	KICKRifle:
		BADD ABC 1
		BADD D 12 
		BADD CBA 1 
		TNT1 A 0 A_JumpIfInventory("Airkicking", 1, 2)
		TNT1 A 0 A_JumpIfInventory("isSliding", 1, 2)
		stop
		BADD A 10 
		stop
		B4D5 ABCDEFGH 1
		TNT1 A 2
		STOP
		
	SpecialAction:	
		BADF A 1
		BADF A 0 A_Takeinventory("StartDualWield",1)
		TNT1 A 0 A_jumpifinventory("jammedrifle",1,"Unstuck")
		BADF A 1

	GoingtoMenu:
		BADF A 0 A_Takeinventory("ETCRifletoken",1)
		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("unloadedRifle",1,"GoingtoMenuUnloaded")
		84DR CBA 1
		B4DR ZYXWVU 1
		goto Riflemenu
		
	GoingtoMenuUnloaded:
		BADR ABCDEGHYZ 1
		goto RifleMenu
		
	Riflemenu:
	 TNT1 A 0 A_jumpifinventory("plasmaswitchchecked",1,"plasmaswitchselected")
	TNT1 A 0 A_jumpifinventory("rechamberchecked",1,"rechamberselected")
	TNT1 A 0 A_jumpifinventory("plasmachargechecked",1,"plasmachargeSelected")
	BADF A 0 A_jumpifinventory("unloadedRifle",1,2)
	B4DR  U 1  
	goto PlasmaSwitchSelected
	BADR  Z 1  
	
PlasmaSwitchSelected:
	TNT1 A 0 A_GIVEInventory("plasmaswitchchecked", 1)
	TNT1 A 0 A_takeInventory("rechamberchecked", 1)
	TNT1 A 0 A_takeInventory("plasmachargechecked", 1)
	TNT1 A 0 a_overlay(4,"menuOVERLAY")
	
	BADF A 0 A_jumpifinventory("unloadedRifle",1,3)
	 B4DR  U 1 
	 BADF A 0 A_jump(256,2)
	 BADR  Z 1  
    TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVELEFT, "PlasmaSwitchSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVERIGHT, "PlasmaSwitchSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "PlasmaSwitchselected")
	TNT1 A 0 A_playsound("BEP",1)
PlasmaSwitchloop:
	BADF A 0 A_JumpIfInventory("ETCRIFLETOKEN",1,"Upgradefrommenu")
	TNT1 A 0 a_overlay(4,"menuOVERLAY")
	BADF A 0 A_jumpifinventory("unloadedRifle",1,3)
	 B4DR  U 1 
	 BADF A 0 A_jump(256,2)
	 BADR  Z 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, "RechamberSELECTED")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVERIGHT, "PlasmaChargeSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "PlasmaSwitch")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_altATTACK, "Exitmenu")
	loop

PlasmaSwitch:
	B4DR  U 0 A_jumpifinventory("plasmaenhancermounted",1,2)
	TNT1 A 0 A_log("Your Rifle is not currently Equipped with an ETC upgrade module.")
	goto Plasmaswitchselected
	B4DR  U 0 A_jumpifinventory("plasmacharges",1,2)
	TNT1 A 0 A_log("You have no plasma charges loaded in your rifle. Recharge it first.")
	goto Plasmaswitchselected
	
	TNT1 A 0 A_jumpifinventory("choosingreward",1,2)
	TNT1 A 0 SetPlayerProperty(0,0,4)	
	BADF A 0 A_PlaySound("RIFLESEL",1)
	B4DR  U 0 A_jumpifinventory("unloadedRifle",1,8)
	B4DR UVWXYZ 1
	goto plasmaswitchfinish
	BADR ZYHGEDC 1
	
PlasmaswitchFinish:
	BADF A 0 A_PlaySound("PLSADS",1)
	BADD A 1 OFFSET(0,36)
	BADD B 1 OFFSET(0,39)
	BADD C 1 OFFSET(0,42)
	BADD D 10 OFFSET(0,46)
	BADF A 0 A_PlaySound("PLSHEAT",1)
	BADD C 1 OFFSET(0,42)
	BADD B 1 OFFSET(0,39)
	BADD A 1 OFFSET(0,36)
	TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}	
	BADF A 1 a_jumpifinventory("plasmaenhancedrifle",1,2)
	BADF A 0 a_giveinventory("plasmaenhancedrifle",1)
	goto ready3
	BADF A 0 a_takeinventory("plasmaenhancedrifle",1)
	goto ready3
	
PlasmaChargeSelected:
	TNT1 A 0 A_takeInventory("plasmaswitchchecked", 1)
	TNT1 A 0 A_takeInventory("rechamberchecked", 1)
	TNT1 A 0 A_giveInventory("plasmachargechecked", 1)
	TNT1 A 0 a_overlay(3,"menuOVERLAY")
	
	BADF A 0 A_jumpifinventory("unloadedRifle",1,3)
	 B4DR  U 1 
	 BADF A 0 A_jump(256,2)
	 BADR  Z 1  
    TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVELEFT, "PlasmaChargeSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVERIGHT, "PlasmaChargeSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "PlasmaChargeselected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_altATTACK, "Exitmenu")
	TNT1 A 0 A_playsound("BEP",1)
Plasmachargeloop:
	BADF A 0 A_JumpIfInventory("ETCRIFLETOKEN",1,"Upgradefrommenu")
	TNT1 A 0 a_overlay(3,"menuOVERLAY")	
	BADF A 0 A_jumpifinventory("unloadedRifle",1,3)
	 B4DR  U 1 
	 BADF A 0 A_jump(256,2)
	 BADR  Z 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, "PlasmaSwitchSELECTED")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVERIGHT, "RechamberSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "PlasmaCharge")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_altATTACK, "Exitmenu")
	loop

Plasmacharge:
	B4DR  U 0 A_jumpifinventory("plasmaenhancermounted",1,2)
	TNT1 A 0 A_log("You first need to upgrade your Rifle with an ETC upgrade module.")
	goto Plasmachargeselected
	B4DR  U 0 A_jumpifinventory("plasmacharges",30,2)
	B4DR  U 0 A_jump(256,2)
	TNT1 A 0 A_log("Your rifle is already fully charged.")
	goto Plasmachargeselected
	 TNT1 A 0 A_jumpifinventory("ammocell",15,2)
	TNT1 A 0 A_log("You need at least 15 energy cells.")
	goto Plasmachargeselected
	
	TNT1 A 0 A_jumpifinventory("choosingreward",1,2)
	TNT1 A 0 SetPlayerProperty(0,0,4)
	BADF A 0 A_PlaySound("ADSIN",1)
	B4DR UUVWXYZ 1
	B4DR  U 0 A_jumpifinventory("unloadedRifle",1,8)
	goto plasmachargefinish
	BADR ZYHGFEDC 1

PlasmachargeFinish:
	BADF A 0 A_PlaySound("RIFLESEL",1)
	B4D5 ABCDEFGH 1
	BADF A 0 A_PlaySound("CELLGET",1)
	TNT1 A 20
	B4D5 HGFEDCBA 1
	B4DS GFEDCBA 1
	BADS ZYXWVUTS 1
	BADF A 0 {A_PlaySound("CELLBOX",1);
						A_giveinventory("plasmacharges",30);
						A_takeinventory("ammocell",15);
						A_giveinventory("plasmaenhancedrifle",1);}
	BADS RSRS 4 
	BADS  RQRSTUVWXYZ 1
	B4DS ABCDEFG 1
	TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}	
	goto Ready3
	
RechamberSelected:
	TNT1 A 0 A_takeInventory("plasmaswitchchecked", 1)
	TNT1 A 0 A_giveInventory("rechamberchecked", 1)
	TNT1 A 0 A_takeInventory("plasmachargechecked", 1)
	TNT1 A 0 a_overlay(3,"menuOVERLAY")

	BADF A 0 A_jumpifinventory("unloadedRifle",1,3)
	 B4DR  U 1 
	 BADF A 0 A_jump(256,2)
	 BADR  Z 1  
	 TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "rechamberselected")
    TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVELEFT, "RechamberSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVERIGHT, "RechamberSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_altATTACK, "Exitmenu")
	TNT1 A 0 A_playsound("BEP",1)
Rechamberloop:	
	BADF A 0 A_JumpIfInventory("ETCRIFLETOKEN",1,"Upgradefrommenu")
	TNT1 A 0 a_overlay(3,"menuOVERLAY")
	BADF A 0 A_jumpifinventory("unloadedRifle",1,3)
	 B4DR  U 1 
	 BADF A 0 A_jump(256,2)
	 BADR  Z 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, "PlasmachargeSELECTED")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_MOVERIGHT, "plasmaswitchSelected")
	TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ATTACK, "Rechamber")
	loop

Rechamber:
	BADF A 0 a_jumpifinventory("rifleammo",1,2)
	BADF A 0 a_jump(256,2)
	BADF A 0 a_log("You need to fully unload your weapon first.")
	goto rechamberselected
	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("unloadedRifle",1,8)
	B4DR UUVWXYZ 1
	goto rechambercontinue
	BADR ZYHGFEDC 1

Rechambercontinue:
	BADF A 0 A_PlaySound("MGMAGOUT",1)
	B4D5 ABCDEFGH 1
	TNT1 A 30
	BADF A 0 A_PlaySound("LMGSEL",1)
	TNT1 A 30
	BADF A 0 a_jumpifinventory("loaded762",1,3)
	BADF A 0 a_giveinventory("loaded762",1)
	BADF A 0 a_takeinventory("loaded556",1)
	goto rechamberfinish
	BADF A 0 a_takeinventory("loaded762",1)
	BADF A 0 a_giveinventory("loaded556",1)
	goto rechamberfinish
RechamberFinish:		
	BADF A 0 A_PlaySound("ADSIN",2)
	B4D5 HGFEDCBA 1
	TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}		
	
	BADF A 0 a_jumpifinventory("loaded762",1,2)
	BADF A 0 a_jumpifinventory("minigunammo",1,"afterunload")
	goto Ready3
	BADF A 0 a_jumpifinventory("clip2",1,"afterunload")
	goto Ready3
	
ExitMenu:
	TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}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("unloadedRifle",1,8)
	B4DR UVWXYZ 1
	goto ready3
	BADR ZYHGEDC 1
	goto ready3
	
/////////////////// MENU OVERLAYS	

MenuOverlay:
		B4DR  U 0
		B4DR  U 0 A_jumpifinventory("plasmaenhancermounted",1,2)
		B4DR  U 0 A_jump(256,4)
		B4DR  U 0 A_jumpifinventory("plasmaenhancedrifle",1,2)
		B4DR  U 0 A_jump(256,2)
		B4DR  U 0 A_OVERLAY(7,"PLASMAON")	
		B4DR  U 0 A_jumpifinventory("LOADED762",1,2)
		B4DR  U 0 A_jump(256,2)
		B4DR  U 0 A_OVERLAY(8,"762LOADED")
		
		B4DR  U 0 A_jumpifinventory("plasmaswitchchecked",1,"PlasmaSwitchOverlay")
		B4DR  U 0 A_jumpifinventory("plasmachargechecked",1,"PlasmachargeOverlay")
		B4DR  U 0 A_jumpifinventory("rechamberchecked",1,"RechamberOverlay")
		
PlasmaSwitchOverlay:
		B4DR  U 0 A_jumpifinventory("plasmaenhancermounted",1,2)
		BMEN U 1 BRIGHT OFFSET(-5,50) ACS_NAMEDEXECUTE("SELECTPLASMASWITCH",0)
		stop
		CMEN U 1 BRIGHT OFFSET(-5,50) ACS_NAMEDEXECUTE("SELECTPLASMASWITCH",0)
		STOP	
		
PlasmaCHARGEOverlay:
		B4DR  U 0 A_jumpifinventory("plasmaenhancermounted",1,2)
		BMEN U 1 BRIGHT OFFSET(-5,50)ACS_NAMEDEXECUTE("SELECTPLASMACHARGE",0)
		stop
		CMEN U 1 BRIGHT OFFSET(-5,50) ACS_NAMEDEXECUTE("SELECTPLASMACHARGE",0)
		STOP			
		
RECHAMBEROverlay:
		B4DR  U 0 A_jumpifinventory("plasmaenhancermounted",1,2)
		BMEN U 1 BRIGHT OFFSET(-5,50) ACS_NAMEDEXECUTE("SELECTRECHAMBER",0)
		stop	
		CMEN U 1 BRIGHT OFFSET(-5,50) ACS_NAMEDEXECUTE("SELECTRECHAMBER",0)
		STOP	

762LOADED:
		762O N 1 BRIGHT offset(2,53)
		STOP

PLASMAON:
		TNT1 A 0 A_OVERLAY(9,"PlasmaLightCheck")
		ETCO N 1 BRIGHT offset(46,53)
		stop
		
PLASMALIGHTCHECK:
		B4DR  U 0 A_jumpifinventory("unloadedRifle",1,1)
		GOTO MENULOADEDplasmaOVERLAY
		TNT1 A 0 
		GOTO MENUUNLOADEDplasmaOVERLAY
MenuLoadedPlasmaoverlay:
		BADP B 0 BRIGHT a_overlayflags(9, PSPF_ALPHA | PSPF_RENDERSTYLE, true)
		BADP B 0 A_OverlayRenderstyle(9,STYLE_Translucent)
		BADF A 0 A_JumpIfInventory("plasmacharges",30,"MenuLoadedplasmafull")
		BADF A 0 A_JumpIfInventory("plasmacharges",25,"MenuLoadedplasma25")
		BADF A 0 A_JumpIfInventory("plasmacharges",20,"MenuLoadedplasma20")
		BADF A 0 A_JumpIfInventory("plasmacharges",15,"MenuLoadedplasma15")
		BADF A 0 A_JumpIfInventory("plasmacharges",10,"MenuLoadedplasma10")
		BADF A 0 A_JumpIfInventory("plasmacharges",5,"MenuLoadedplasma5")
		BADF A 0 A_JumpIfInventory("plasmacharges",1,"MenuLoadedplasma1")
		BADF A 0 A_takeinventory("plasmaenhancedrifle",1)
		stop
	MenuLoadedPlasmafull:
		TNT1 A 0 A_OverlayAlpha(9,1.0)
		BADP D 1 BRIGHT
		stop
	MenuLoadedPlasma25:
		TNT1 A 0 A_OverlayAlpha(9,0.9)
		BADP D 1 BRIGHT
		stop
	MenuLoadedPlasma20:
		TNT1 A 0 A_OverlayAlpha(9,0.8)
		BADP D 1 BRIGHT
		stop
	MenuLoadedPlasma15:
		TNT1 A 0 A_OverlayAlpha(9,0.6)
		BADP D 1 BRIGHT
		stop
	MenuLoadedPlasma10:
		TNT1 A 0 A_OverlayAlpha(9,0.5)
		BADP D 1 BRIGHT
		stop
	MenuLoadedPlasma5:
		TNT1 A 0 A_OverlayAlpha(9,0.4)
		BADP D 1 BRIGHT
		stop
	MenuLoadedPlasma1:
		TNT1 A 0 A_OverlayAlpha(9,0.2)
		BADP D 1 BRIGHT
		stop
		
	MenuUNLoadedPlasmaoverlay:
		BADP B 0 BRIGHT a_overlayflags(9, PSPF_ALPHA | PSPF_RENDERSTYLE, true)
		BADP B 0 A_OverlayRenderstyle(9,STYLE_Translucent)
		BADF A 0 A_JumpIfInventory("plasmacharges",30,"MenuUNLoadedplasmafull")
		BADF A 0 A_JumpIfInventory("plasmacharges",25,"MenuUNLoadedplasma25")
		BADF A 0 A_JumpIfInventory("plasmacharges",20,"MenuUNLoadedplasma20")
		BADF A 0 A_JumpIfInventory("plasmacharges",15,"MenuUNLoadedplasma15")
		BADF A 0 A_JumpIfInventory("plasmacharges",10,"MenuUNLoadedplasma10")
		BADF A 0 A_JumpIfInventory("plasmacharges",5,"MenuUNLoadedplasma5")
		BADF A 0 A_JumpIfInventory("plasmacharges",1,"MenuUNLoadedplasma1")
		BADF A 0 A_takeinventory("plasmaenhancedrifle",1)
		stop
	MenuUNLoadedPlasmafull:
		TNT1 A 0 A_OverlayAlpha(9,1.0)
		BADP E 1 BRIGHT
		stop
	MenuUNLoadedPlasma25:
		TNT1 A 0 A_OverlayAlpha(9,0.9)
		BADP E 1 BRIGHT
		stop
	MenuUNLoadedPlasma20:
		TNT1 A 0 A_OverlayAlpha(9,0.8)
		BADP E 1 BRIGHT
		stop
	MenuUNLoadedPlasma15:
		TNT1 A 0 A_OverlayAlpha(9,0.6)
		BADP E 1 BRIGHT
		stop
	MenuUNLoadedPlasma10:
		TNT1 A 0 A_OverlayAlpha(9,0.5)
		BADP E 1 BRIGHT
		stop
	MenuUNLoadedPlasma5:
		TNT1 A 0 A_OverlayAlpha(9,0.4)
		BADP E 1 BRIGHT
		stop
	MenuUNLoadedPlasma1:
		TNT1 A 0 A_OverlayAlpha(9,0.2)
		BADP E 1 BRIGHT
		stop

		
 ///////////////////////////////////
 
UpgradefromMenu:
		BADF A 0 A_PlaySound("ADSIN",1)
		B4DR  U 0 A_jumpifinventory("unloadedRifle",1,8)
		B4DR UUVWXYZ 1
		goto rechambercontinue
		BADR ZYHGFEDC 1
Upgrade:
		BADF A 0 A_Takeinventory("ETCRifletoken",1)
		BADF A 0 A_Takeinventory("Zoomed",1)
		BADF A 0 A_Takeinventory("ZoomHold",1)
        BADF A 0 A_ZoomFactor(1.0)
		TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}						
		BADF A 0 A_Takeinventory("ADSmode",1)
	
	BADF A 0 A_JumpIfInventory("plasmaenhancermounted",1,"Upgrade2")
	BADF A 0 A_PlaySound("RifleSEL",1)
	B4D5 ABCDEFGH 1
	TNT1 A 10
	BADF A 0 A_PlaySound("RIFLUPGR",1)
	TNT1 A 20
	TNT1 A 30
	BADF A 0 a_giveinventory("plasmaenhancermounted",1)
	TNT1 A 20
	B4D5 HGFEDCBA 1
	BADF A 0 A_PlaySound("CELLGET",2)
	B4DS GFEDCBA 1
	BADS ZYXWVUTS 1
	BADF A 0 {A_PlaySound("CELLBOX",1);
						A_giveinventory("plasmacharges",30);
						A_giveinventory("plasmaenhancedrifle",1);}
	BADS RSRS 4 
	BADS  RQRSTUVWXYZ 1
	B4DS ABCDEFG 1
	goto Ready3
	
UPGRADE2:
	BADF A 0 A_log("Since you already have a mounted ETC module, you use the upgrade kit's plasma core to recharge your weapon and then discard it.")
	BADF A 0 A_PlaySound("RIFLESEL",1)
	B4D5 ABCDEFGH 1
	BADF A 0 A_PlaySound("CELLGET",1)
	TNT1 A 20
	B4D5 HGFEDCBA 1
	B4DS GFEDCBA 1
	BADS ZYXWVUTS 1
	BADF A 0 {A_PlaySound("CELLBOX",1);
						A_giveinventory("plasmacharges",30);
						A_giveinventory("plasmaenhancedrifle",1);}
	BADS RSRS 4 
	BADS  RQRSTUVWXYZ 1
	B4DS ABCDEFG 1
	TNT1 A 0 {if(GetCVAR("bd_SmartCrosshairs") == 1){A_SetCrosshair(GetCVAR("RifleCrosshair"));}else{A_SetCrosshair(0);}}		
	goto Ready3

	}
}


Actor UnloadedRifle : Inventory { Inventory.MaxAmount 1 }

Actor plasmaswitchchecked : Inventory { Inventory.MaxAmount 1 }
Actor plasmachargechecked : Inventory { Inventory.MaxAmount 1 }
Actor rechamberchecked : Inventory { Inventory.MaxAmount 1 }

Actor plasmaenhancedrifle : Inventory { Inventory.MaxAmount 1 }
Actor plasmaenhancermounted : Inventory { Inventory.MaxAmount 1 }
Actor ETCRIFLETOKEN : Inventory { Inventory.MaxAmount 1 }
Actor loaded556 : Inventory { Inventory.MaxAmount 1 }
Actor loaded762 : Inventory { Inventory.MaxAmount 1 }
Actor plasmacharges : Inventory { Inventory.MaxAmount 30 }


Actor Zoomed : Inventory {inventory.maxamount 1}

//Actor RifleAmmo : Inventory
//{
//inventory.maxamount 30
//}

ACTOR RifleAmmo : Ammo
{
   Inventory.Amount 0
   Inventory.MaxAmount 31
   Ammo.BackpackAmount 0
   Ammo.BackpackMaxAmount 31
   Inventory.Icon "R762A0"
}

ACTOR MeatshieldGunAmmo : Ammo
{
   Inventory.Amount 0
   Inventory.MaxAmount 30
   Ammo.BackpackAmount 0
   Ammo.BackpackMaxAmount 30
}

ACTOR MeatAmmo : Ammo
{
   Inventory.Amount 0
   Inventory.MaxAmount 100
   Ammo.BackpackAmount 0
   Ammo.BackpackMaxAmount 100
}