ACTOR MRifleloaded : Ammo
{
 Inventory.MaxAmount 31
 Ammo.BackPackMaxAmount 31
 +IGNORESKILL
}
Actor ScopeCheck: Inventory
{
   Inventory.MaxAmount 1
}
Actor RifleCollected: Inventory
{
   Inventory.MaxAmount 1
}
Actor MGCollected: Inventory
{
   Inventory.MaxAmount 1
}
ACTOR MGloaded : Ammo
{
 Inventory.MaxAmount 90
 Ammo.BackPackMaxAmount 90
 +IGNORESKILL
}
ACTOR ModrifleSpawn : CustomInventory replaces chaingun
{
	Inventory.Amount 0
	scale 0.5
	Inventory.Icon "MR1IA0"
	Inventory.Pickupmessage "$GOT_MODRIFLE"
	Inventory.PickupSound "items/gunspickup"
	+DROPPED
	States
	{
	Spawn:
		MR1P A 10
		MR1P A 1 bright
		loop
	Pickup:
	    TNT1 A 0 A_JumpIfInventory("mgcollected", 1, 5) //Skips giving you the normal rifle if you have the upgrade
		TNT1 A 0 A_JumpIfInventory("riflecollected", 1, 4) //Skips giving you the normal rifle if you have the upgrade
		TNT1 A 0 A_GiveInventory("modrifle1")
		TNT1 A 0 A_GiveInventory("riflecollected", 1)
		TNT1 A 0 A_Jump(256, 2)
		TNT1 A 0 A_GiveInventory("rifleAmmo", 15)
		TNT1 A 2
		Stop
	}
}
ACTOR modriflebuild2 : CustomInventory
{
	Inventory.Amount 0
	scale 0.5
	Inventory.Icon "MR2IA0"
	+DROPPED
	States
	{
	Spawn:
		MR2P A 10
		loop
	Pickup:
	    TNT1 A 0 A_GiveInventory("modrifle2")
		TNT1 A 2 
		TNT1 A 0 A_selectweapon("modrifle2")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR modriflebuild3 : CustomInventory
{
	Inventory.Amount 0
	scale 0.5
	Inventory.Icon "MR3IA0"
	+DROPPED
	States
	{
	Spawn:
		MR3P A 10
		loop
	Pickup:
	    TNT1 A 0 A_GiveInventory("modrifle3")
		TNT1 A 2
		TNT1 A 0 A_selectweapon("modrifle3")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR modriflebuild4 : CustomInventory
{
	Inventory.Amount 0
	scale 0.5
	Inventory.Icon "MR4IA0"
	+DROPPED
	States
	{
	Spawn:
		MR4P A 10
		loop
	Pickup:
	    TNT1 A 0 A_GiveInventory("modrifle4")
		TNT1 A 2
		TNT1 A 0 A_selectweapon("modrifle4")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR modriflebuild5 : CustomInventory
{
	Inventory.Amount 0
	scale 0.5
	Inventory.Icon "MR5IA0"
	+DROPPED
	States
	{
	Spawn:
		MR5P A 10
		loop
	Pickup:
	    TNT1 A 0 A_GiveInventory("modrifle5")
		TNT1 A 2
		TNT1 A 0 A_selectweapon("modrifle5")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR modriflebuild6 : CustomInventory
{
	Inventory.Amount 0
	scale 0.5
	Inventory.Icon "MR6IA0"
	+DROPPED
	States
	{
	Spawn:
		MR6P A 10
		loop
	Pickup:
	    TNT1 A 0 A_GiveInventory("modrifle6")
		TNT1 A 2
		TNT1 A 0 A_selectweapon("modrifle6")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR modriflebuild7 : CustomInventory
{
	Inventory.Amount 0
	scale 0.5
	Inventory.Icon "MR7IA0"
	+DROPPED
	States
	{
	Spawn:
		MR7P A 10
		loop
	Pickup:
	    TNT1 A 0 A_GiveInventory("modrifle7")
		TNT1 A 2
		TNT1 A 0 A_selectweapon("modrifle7")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR modriflebuild8 : CustomInventory
{
	Inventory.Amount 0
	scale 0.5
	Inventory.Icon "MR8IA0"
	+DROPPED
	States
	{
	Spawn:
		MR8P A 10
		loop
	Pickup:
	    TNT1 A 0 A_GiveInventory("modrifle8")
		TNT1 A 2
		TNT1 A 0 A_selectweapon("modrifle8")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR modriflebuild9 : CustomInventory
{
	Inventory.Amount 0
	scale 0.5
	Inventory.Icon "MR9IA0"
	+DROPPED
	States
	{
	Spawn:
		MR9P A 10
		loop
	Pickup:
	    TNT1 A 0 A_GiveInventory("modrifle9")
		TNT1 A 2
		TNT1 A 0 A_selectweapon("modrifle9")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR ModrifleBuildMachinegun: CustomInventory
{
	Inventory.Amount 0
	scale 0.5
	Inventory.Icon "MR5IA0"
	+DROPPED
	States
	{
	Spawn:
		HNSP B 10
		loop
	Pickup:
	    TNT1 A 0 A_GiveInventory("Modrifle5")
		TNT1 A 2
		TNT1 A 0 A_takeInventory("riflecollected")
		TNT1 A 0 A_giveInventory("mgcollected")
		TNT1 A 0 A_selectweapon("modrifle5")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
actor ModRifle1: Weapon
{
 Weapon.SelectionOrder 800
 Weapon.AmmoUse1 1
 weapon.AmmoUse2 1
 Weapon.BobStyle Alpha
 Weapon.BobSpeed 1.5
 Weapon.BobRangeX .2
 Weapon.BobRangeY .5
 Weapon.AmmoGive2 30
 Weapon.AmmoType2 "rifleammo"
 Weapon.AmmoType1 "MrifleLoaded"
 Inventory.Pickupmessage "$GOT_MODRIFLE"
 Obituary "$OBIT_MODRIFLE"
 Tag "$WEAPON_MODRIFLE"
 Inventory.PickupSound "items/gunspickup"
 Weapon.SlotNumber 5
 scale 0.5
 weapon.upsound "weapons/m16up"
 Inventory.Icon "MR1IA0"
 +AMMO_CHECKBOTH
 +NOALERT
 +NOAUTOFIRE
 States
 {
 Ready:
  MR1G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  Loop
 Deselect:
  MR1G A 0 A_lower
  MR1G A 1 A_Lower
  Loop
 Select:
  MR1G A 0 A_takeinventory("lightlit",1)
  MR1G A 1 A_Raise
  MR1G A 0 A_Raise
  Loop
 Fire:
  MR1G A 0 A_JumpIfInventory("MrifleLoaded",1,"RealFire")
  Goto Reload
 RealFire:
   MR1G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR1G B 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR1G B 0 A_SetPitch(Pitch-1)
   MR1G B 0 A_FireBullets(2,2,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR1G B 0 A_Light1
   MR1G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_AlertMonsters
   MR1G A 0 A_Light0
   MR1G A 0 A_SetPitch(Pitch+0.5)
   MR1G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR1G F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR1G G 1 a_refire("empty")
  goto ready
   MR1G A 0 a_refire("fire2")
   MR1G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 a_refire("fire2")
   MR1G A 0 A_SetPitch(Pitch+0.5)
   MR1G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 a_refire("fire2")
   MR1G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 a_refire("fire2")
  goto ready
 Fire2: 
  MR1G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR1G C 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR1G B 0 A_SetPitch(Pitch-1)
   MR1G B 0 A_FireBullets(3,3,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR1G B 0 A_Light1
   MR1G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_AlertMonsters
   MR1G A 0 A_Light0
   MR1G A 0 A_SetPitch(Pitch+0.5)
   MR1G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR1G F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR1G G 1 a_refire("empty")
  goto ready
   MR1G A 0 a_refire("fire3")
   MR1G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 a_refire("fire3")
   MR1G A 0 A_SetPitch(Pitch+0.5)
   MR1G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 a_refire("fire3")
   MR1G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 a_refire("fire3")
  goto ready
Fire3: 
   MR1G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR1G D 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR1G B 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
   MR1G B 0 A_SetPitch(Pitch-1)
   MR1G B 0 A_FireBullets(3,3,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR1G B 0 A_Light1
   MR1G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_AlertMonsters
   MR1G A 0 A_Light0
   MR1G A 0 A_SetPitch(Pitch+0.5)
   MR1G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR1G F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR1G G 1 a_refire("empty")
  goto ready
   MR1G A 0 a_refire("fire1")
   MR1G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 a_refire("fire1")
   MR1G A 0 A_SetPitch(Pitch+0.5)
   MR1G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 a_refire("fire1")
   MR1G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 a_refire("fire1")
  goto ready
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  MR1G A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR1G A  0  a_refire("empty2")
  goto ready
 Reload:
		MR1G A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR1G A 0 A_JumpIfInventory("MrifleLoaded",31,"Ready")
        MR1G A 0 A_JumpIfInventory("rifleammo",1,"reloadcheck")
		goto ready
Reloadcheck:
        MR1G A 0 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR1G A 0 A_JumpIfInventory("MrifleLoaded",1,"Reloadchamber")
	Work1:
		MR1G HIJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR1G A 0 A_PlaySound("weapons/m16clipout", CHAN_ITEM)
		MR1G L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR1G MN 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR1G A 0 A_PlaySound("weapons/m16clipin", CHAN_ITEM)
		MR1G OQRST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop2
	ReloadChamber:
		MR1G HIJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR1G A 0 A_PlaySound("weapons/m16clipout", CHAN_ITEM)
		MR1G L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR1G MN 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR1G A 0 A_PlaySound("weapons/m16clipin", CHAN_ITEM)
		MR1G OQRST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop
	ReloadLoop:
		MR1G A 0 a_JumpIfInventory("MrifleLoaded",31,"ReloadDone2")
		MR1G A 0 A_Giveinventory("MrifleLoaded",1)
		MR1G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR1G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop")
        Goto ReloadDone2
	ReloadLoop2:
		MR1G A 0 a_JumpIfInventory("MrifleLoaded",30,"ReloadDone")
		MR1G A 0 A_Giveinventory("MrifleLoaded",1)
		MR1G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR1G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop2")
        Goto ReloadDone
 ReloadDone:
  MR1G ONM 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR1G A 0 A_PlaySound("weapons/m16cock", CHAN_ITEM)
  MR1G KP 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR1G JIHG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR1G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
  ReloadDone2:
  MR1G ONM 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR1G KJHG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR1G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
         User1:
		MR1G UVW 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MR1G WVUH 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  Spawn:
    MR1P A 10
	MR1P A 1 bright
    loop
  }
}
actor ModRifle2: modrifle1
{
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "rifleammo"
 Weapon.AmmoType1 "MrifleLoaded"
 Inventory.Pickupmessage "$GOT_MODRIFLE2"
 Obituary "$OBIT_MODRIFLE"
 Tag "$WEAPON_MODRIFLE2"
 Inventory.Icon "MR2IA0"
 +CHEATNOTWEAPON
 States
 {
 Ready:
  MR2G A 0 A_JumpIfInventory("scopecheck",1,"ReadyLaser")
  MR2G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  Loop
 ReadyLaser:
  MR2L A 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR2L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  MR2L H 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR2L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  MR2L I 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR2L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  MR2L J 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR2L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  Loop
 Deselect:
  MR2G A 0 A_lower
  MR2G A 1 A_Lower
  Loop
 Select:
  MR2G A 0 A_takeinventory("modrifle1",1)
  MR2G A 0 A_takeinventory("modrifle3",1)
   MR2G A 0 A_takeinventory("modrifle4",1)
    MR2G A 0 A_takeinventory("modrifle9",1)
  MR2G A 0 A_takeinventory("lightlit",1)
  MR2G A 1 A_Raise
  MR2G A 0 A_Raise
  Loop
 Fire:
  MR2G A 0 A_JumpIfInventory("MrifleLoaded",1,"RealFire")
  Goto Reload
 RealFire:
   MR2G A 0 A_JumpIfInventory("scopecheck",1,"FireLaser")
   MR2G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR2G B 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR2G B 0 A_SetPitch(Pitch-0.5)
   MR2G B 0 A_FireBullets(1.5,1.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR2G B 0 A_Light1
   MR2G E 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2G A 0 A_AlertMonsters
   MR2G A 0 A_Light0
   MR2G A 0 A_SetPitch(Pitch+0.25)
   MR2G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR2G F 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR2G G 1 a_refire("empty")
  goto ready
   MR2G A 0 a_refire("fire2")
   MR2G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2G A 0 a_refire("fire2")
   MR2G A 0 A_SetPitch(Pitch+0.25)
   MR2G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2G A 0 a_refire("fire2")
   MR2G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2G A 0 a_refire("fire2")
  goto ready
 Fire2: 
  MR2G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR2G C 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR2G B 0 A_SetPitch(Pitch-0.5)
   MR2G B 0 A_FireBullets(2,2,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR2G B 0 A_Light1
   MR2G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2G A 0 A_AlertMonsters
   MR2G A 0 A_Light0
   MR2G A 0 A_SetPitch(Pitch+0.25)
   MR2G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR2G F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR2G G 1 a_refire("empty")
  goto ready
   MR2G A 0 a_refire("fire3")
   MR2G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2G A 0 a_refire("fire3")
   MR2G A 0 A_SetPitch(Pitch+0.25)
   MR2G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2G A 0 a_refire("fire3")
   MR2G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2G A 0 a_refire("fire3")
  goto ready
Fire3: 
   MR2G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR2G D 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR2G B 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
   MR2G B 0 A_SetPitch(Pitch-0.5)
   MR2G B 0 A_FireBullets(2.5,2.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR2G B 0 A_Light1
   MR2G E 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2G A 0 A_AlertMonsters
   MR2G A 0 A_Light0
   MR2G A 0 A_SetPitch(Pitch+0.25)
   MR2G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR2G F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR2G G 1 a_refire("empty")
  goto ready
   MR2G A 0 a_refire("fire1")
   MR2G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2G A 0 a_refire("fire1")
   MR2G A 0 A_SetPitch(Pitch+0.25)
   MR2G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2G A 0 a_refire("fire1")
   MR2G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2G A 0 a_refire("fire1")
  goto ready
 FireLaser:
   MR2L A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR2L B 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR2L B 0 A_SetPitch(Pitch-0.5)
   MR2L B 0 A_FireBullets(0.5,0.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR2L B 0 A_Light1
   MR2L E 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2L A 0 A_AlertMonsters
   MR2L A 0 A_Light0
   MR2L A 0 A_SetPitch(Pitch+0.25)
   MR2L A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR2L F 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR2L G 1 a_refire("emptylaser")
  goto ready
   MR2L F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2L A 0 A_SetPitch(Pitch+0.25)
   MR2L G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2L H 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2L A 0 a_refire("FireLaser2")
  goto ready
 FireLaser2: 
  MR2L A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR2L C 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR2L B 0 A_SetPitch(Pitch-0.5)
   MR2L B 0 A_FireBullets(0.5,0.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR2L B 0 A_Light1
   MR2L E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2L A 0 A_AlertMonsters
   MR2L A 0 A_Light0
   MR2L A 0 A_SetPitch(Pitch+0.25)
   MR2L F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2L A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR2L F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR2L G 1 a_refire("emptylaser")
  goto ready
   MR2L F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2L A 0 A_SetPitch(Pitch+0.25)
   MR2L G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2L H 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR2L A 0 a_refire("FireLaser")
  goto ready
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  MR2G A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR2G A  0  a_refire("empty2")
  goto ready
 emptylaser:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 emptylaser2:
  MR2L A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR2L H  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR2L I  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR2L J  0  a_refire("emptylaser2")
  goto ready
 Reload:
		MR2G A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR2G A 0 A_JumpIfInventory("MrifleLoaded",31,"Ready")
        MR2G A 0 A_JumpIfInventory("rifleammo",1,"reloadcheck")
		goto ready
Reloadcheck:
        MR2G A 0 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR2G A 0 A_JumpIfInventory("MrifleLoaded",1,"Reloadchamber")
	Work1:
		MR2G HIJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR2G A 0 A_PlaySound("weapons/m16clipout", CHAN_ITEM)
		MR2G L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR2G NMMM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR2G A 0 A_PlaySound("weapons/m16clipin", CHAN_ITEM)
		MR2G QRSTT 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop2
	ReloadChamber:
		MR2G HIJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR2G A 0 A_PlaySound("weapons/m16clipout", CHAN_ITEM)
		MR2G L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR2G MNNN 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR2G A 0 A_PlaySound("weapons/m16clipin", CHAN_ITEM)
		MR2G QRSTT 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop
	ReloadLoop:
		MR2G A 0 a_JumpIfInventory("MrifleLoaded",31,"ReloadDone2")
		MR2G A 0 A_Giveinventory("MrifleLoaded",1)
		MR2G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR2G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop")
        Goto ReloadDone2
	ReloadLoop2:
		MR2G A 0 a_JumpIfInventory("MrifleLoaded",30,"ReloadDone")
		MR2G A 0 A_Giveinventory("MrifleLoaded",1)
		MR2G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR2G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop2")
        Goto ReloadDone
 ReloadDone:
  MR2G ONNN 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR2G A 0 A_PlaySound("weapons/m16cock", CHAN_ITEM)
  MR2G KPP 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR2G KJIHG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR2G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
  ReloadDone2:
  MR2G ONNN 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR2G KJIHG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR2G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
         User1:
		MR2G UVW 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MR2G WVUH 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
Altfire:
        MR2G A 0 A_JumpIfInventory("Scopecheck",1,"Unlaser")
        MR2G A 0 A_GiveInventory("Scopecheck",1)
		MR2G A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        Goto Ready
    Unlaser:
        MR2G A 0 A_TakeInventory("Scopecheck",1)
		MR2G A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        Goto Ready
  Spawn:
    MR2P A 10
	MR2P A 1 bright
    loop
  }
}
actor ModRifle3: modrifle1
{
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "rifleammo"
 Weapon.AmmoType1 "MrifleLoaded"
 Inventory.Pickupmessage "$GOT_MODRIFLE3"
 Obituary "$OBIT_MODRIFLE"
 Tag "$WEAPON_MODRIFLE3"
 Inventory.Icon "MR3IA0"
 +CHEATNOTWEAPON
 States
 {
 Ready:
  MR3G A 0 A_JumpIfInventory("altfiretoggled",1,"Readyscope")
  ACOG A 0 A_Zoomfactor(1.0)
  MR3G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  Loop
 ReadyScope:
  ACOG A 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  ACOG A 0 A_Zoomfactor(2.0)
  MR3G A 0 A_JumpIfInventory("primefiretoggled",1,"firescope")
  MR3G A 0 A_JumpIfInventory("altfiretoggled",1,"Readyscope")
  goto ready
 Deselect:
  ACOG A 0 A_Zoomfactor(1.0)
  MR3G A 0 A_lower
  MR3G A 1 A_Lower
  Loop
 Select:
 MR2G A 0 A_takeinventory("modrifle1",1)
  MR2G A 0 A_takeinventory("modrifle2",1)
   MR2G A 0 A_takeinventory("modrifle4",1)
    MR2G A 0 A_takeinventory("modrifle9",1)
  MR3G A 0 A_takeinventory("lightlit",1)
  MR3G A 1 A_Raise
  MR3G A 0 A_Raise
  Loop
 Fire:
  MR3G A 0 A_JumpIfInventory("MrifleLoaded",1,"RealFire")
  Goto Reload
 RealFire:
   MR3G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR3G B 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR3G B 0 A_SetPitch(Pitch-0.5)
   MR3G B 0 A_FireBullets(1.5,1.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR3G B 0 A_Light1
   MR3G E 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 A_AlertMonsters
   MR3G A 0 A_Light0
   MR3G A 0 A_SetPitch(Pitch+0.25)
   MR3G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR3G F 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR3G G 1 a_refire("empty")
  goto ready
   MR3G A 0 a_refire("fire2")
   MR3G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 a_refire("fire2")
   MR3G A 0 A_SetPitch(Pitch+0.25)
   MR3G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 a_refire("fire2")
   MR3G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 a_refire("fire2")
  goto ready
 Fire2: 
  MR3G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR3G C 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR3G B 0 A_SetPitch(Pitch-0.5)
   MR3G B 0 A_FireBullets(2,2,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR3G B 0 A_Light1
   MR3G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 A_AlertMonsters
   MR3G A 0 A_Light0
   MR3G A 0 A_SetPitch(Pitch+0.25)
   MR3G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR3G F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR3G G 1 a_refire("empty")
  goto ready
   MR3G A 0 a_refire("fire3")
   MR3G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 a_refire("fire3")
   MR3G A 0 A_SetPitch(Pitch+0.25)
   MR3G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 a_refire("fire3")
   MR3G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 a_refire("fire3")
  goto ready
Fire3: 
   MR3G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR3G D 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR3G B 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
   MR3G B 0 A_SetPitch(Pitch-0.5)
   MR3G B 0 A_FireBullets(2.5,2.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR3G B 0 A_Light1
   MR3G E 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 A_AlertMonsters
   MR3G A 0 A_Light0
   MR3G A 0 A_SetPitch(Pitch+0.25)
   MR3G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR3G F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR3G G 1 a_refire("empty")
  goto ready
   MR3G A 0 a_refire("fire1")
   MR3G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 a_refire("fire1")
   MR3G A 0 A_SetPitch(Pitch+0.25)
   MR3G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 a_refire("fire1")
   MR3G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 a_refire("fire1")
  goto ready
 FireScope:
  MR3G A 0 A_JumpIfInventory("MrifleLoaded",1,"RealScopeFire")
  Goto Reload
 RealScopeFire:
   ACOG A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   ACOG A 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   ACOG A 0 A_SetPitch(Pitch-0.5)
   ACOG A 0 A_FireBullets(0.15,0.15,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   ACOG A 0 A_Light1
   ACOG A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   ACOG A 0 A_AlertMonsters
   ACOG A 0 A_Light0
   ACOG A 0 A_SetPitch(Pitch+0.25)
   ACOG A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   ACOG A 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR3G A 0 A_JumpIfInventory("primefiretoggled",1,"emptyscope")
  goto ready
   ACOG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   ACOG A 0 A_SetPitch(Pitch+0.25)
   ACOG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   ACOG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 A_JumpIfInventory("primefiretoggled",1,"firescope")
  goto ready
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  MR3G A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR3G A  0  a_refire("empty2")
  goto ready
 emptyscope:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 emptyscope2:
  ACOG A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR3G A 0 A_JumpIfInventory("primefiretoggled",1,"emptyscope2")
  goto ready
 Reload:
		MR3G A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR3G A 0 A_JumpIfInventory("MrifleLoaded",31,"Ready")
        MR3G A 0 A_JumpIfInventory("rifleammo",1,"reloadcheck")
		goto ready
Reloadcheck:
        MR3G A 0 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR3G A 0 A_JumpIfInventory("MrifleLoaded",1,"Reloadchamber")
	Work1:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR3G HIJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR3G A 0 A_PlaySound("weapons/m16clipout", CHAN_ITEM)
		MR3G L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR3G NMMM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR3G A 0 A_PlaySound("weapons/m16clipin", CHAN_ITEM)
		MR3G QRSTT 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop2
	ReloadChamber:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR3G HIJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR3G A 0 A_PlaySound("weapons/m16clipout", CHAN_ITEM)
		MR3G L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR3G MNNN 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR3G A 0 A_PlaySound("weapons/m16clipin", CHAN_ITEM)
		MR3G QRSTT 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop
	ReloadLoop:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR3G A 0 a_JumpIfInventory("MrifleLoaded",31,"ReloadDone2")
		MR3G A 0 A_Giveinventory("MrifleLoaded",1)
		MR3G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR3G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop")
        Goto ReloadDone2
	ReloadLoop2:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR3G A 0 a_JumpIfInventory("MrifleLoaded",30,"ReloadDone")
		MR3G A 0 A_Giveinventory("MrifleLoaded",1)
		MR3G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR3G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop2")
        Goto ReloadDone
 ReloadDone:
  MR3G ONNN 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR3G A 0 A_PlaySound("weapons/m16cock", CHAN_ITEM)
  MR3G KPP 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR3G KJIHG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR3G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
  ReloadDone2:
  MR3G ONNN 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR3G KJIHG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR3G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
         User1:
		ACOG A 0 A_Zoomfactor(1.0)
		MR3G UVW 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MR3G WVUH 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  Spawn:
    MR3P A 10
	MR3P A 1 bright
    loop
  }
}
actor ModRifle4: modrifle1
{
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "rifleammo"
 Weapon.AmmoType1 "MrifleLoaded"
 Inventory.Pickupmessage "$GOT_MODRIFLE4"
 Obituary "$OBIT_MODRIFLE"
 Tag "$WEAPON_MODRIFLE4"
 Inventory.Icon "MR4IA0"
 +CHEATNOTWEAPON
States
 {
 Ready:
  MR4G A 0 A_JumpIfInventory("altfiretoggled",1,"Readyscope")
  ACOG A 0 A_Zoomfactor(1.0)
  MR4G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  Loop
 ReadyScope:
  ACOG A 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  ACOG A 0 A_Zoomfactor(2.0)
  MR4G A 0 A_JumpIfInventory("primefiretoggled",1,"firescope")
  MR4G A 0 A_JumpIfInventory("altfiretoggled",1,"Readyscope")
  goto ready
 Deselect:
  ACOG A 0 A_Zoomfactor(1.0)
  MR4G A 0 A_lower
  MR4G A 1 A_Lower
  Loop
 Select:
  MR2G A 0 A_takeinventory("modrifle1",1)
  MR2G A 0 A_takeinventory("modrifle3",1)
   MR2G A 0 A_takeinventory("modrifle2",1)
    MR2G A 0 A_takeinventory("modrifle9",1)
  MR4G A 0 A_takeinventory("lightlit",1)
  MR4G A 1 A_Raise
  MR4G A 0 A_Raise
  Loop
 Fire:
  MR4G A 0 A_JumpIfInventory("MrifleLoaded",1,"RealFire")
  Goto Reload
 RealFire:
   MR4G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR4G B 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR4G B 0 A_SetPitch(Pitch-1)
   MR4G B 0 A_FireBullets(2,2,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR4G B 0 A_Light1
   MR4G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR4G A 0 A_AlertMonsters
   MR4G A 0 A_Light0
   MR4G A 0 A_SetPitch(Pitch+0.5)
   MR4G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR4G F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR4G G 1 a_refire("empty")
  goto ready
   MR4G A 0 a_refire("fire2")
   MR4G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR4G A 0 a_refire("fire2")
   MR4G A 0 A_SetPitch(Pitch+0.5)
   MR4G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR4G A 0 a_refire("fire2")
   MR4G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR4G A 0 a_refire("fire2")
  goto ready
 Fire2: 
  MR4G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR4G C 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR4G B 0 A_SetPitch(Pitch-1)
   MR4G B 0 A_FireBullets(3,3,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR4G B 0 A_Light1
   MR4G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR4G A 0 A_AlertMonsters
   MR4G A 0 A_Light0
   MR4G A 0 A_SetPitch(Pitch+0.5)
   MR4G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR4G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR4G F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR4G G 1 a_refire("empty")
  goto ready
   MR4G A 0 a_refire("fire3")
   MR4G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR4G A 0 a_refire("fire3")
   MR4G A 0 A_SetPitch(Pitch+0.5)
   MR4G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR4G A 0 a_refire("fire3")
   MR4G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR4G A 0 a_refire("fire3")
  goto ready
Fire3: 
   MR4G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR4G D 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR4G B 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
   MR4G B 0 A_SetPitch(Pitch-1)
   MR4G B 0 A_FireBullets(3,3,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR4G B 0 A_Light1
   MR4G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR4G A 0 A_AlertMonsters
   MR4G A 0 A_Light0
   MR4G A 0 A_SetPitch(Pitch+0.5)
   MR4G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR4G F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR4G G 1 a_refire("empty")
  goto ready
   MR4G A 0 a_refire("fire1")
   MR4G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR4G A 0 a_refire("fire1")
   MR4G A 0 A_SetPitch(Pitch+0.5)
   MR4G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR4G A 0 a_refire("fire1")
   MR4G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR4G A 0 a_refire("fire1")
  goto ready
 FireScope:
  MR4G A 0 A_JumpIfInventory("MrifleLoaded",1,"RealScopeFire")
  Goto Reload
 RealScopeFire:
   ACOG A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   ACOG A 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   ACOG A 0 A_SetPitch(Pitch-1.0)
   ACOG A 0 A_FireBullets(0.2,0.2,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   ACOG A 0 A_Light1
   ACOG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   ACOG A 0 A_AlertMonsters
   ACOG A 0 A_Light0
   ACOG A 0 A_SetPitch(Pitch+0.5)
   ACOG A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   ACOG A 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR3G A 0 A_JumpIfInventory("primefiretoggled",1,"emptyscope")
  goto ready
   ACOG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   ACOG A 0 A_SetPitch(Pitch+0.5)
   ACOG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR3G A 0 A_JumpIfInventory("primefiretoggled",1,"firescope")
  goto ready
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  MR4G A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR4G A  0  a_refire("empty2")
  goto ready
 emptyscope:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 emptyscope2:
  ACOG A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR4G A 0 A_JumpIfInventory("primefiretoggled",1,"emptyscope2")
  goto ready
 Reload:
        ACOG A 0 A_Zoomfactor(1.0)
		MR4G A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR4G A 0 A_JumpIfInventory("MrifleLoaded",31,"Ready")
        MR4G A 0 A_JumpIfInventory("rifleammo",1,"reloadcheck")
		goto ready
Reloadcheck:
        MR4G A 0 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR4G A 0 A_JumpIfInventory("MrifleLoaded",1,"Reloadchamber")
	Work1:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR4G HIJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR4G A 0 A_PlaySound("weapons/m16clipout", CHAN_ITEM)
		MR4G L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR4G MN 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR4G A 0 A_PlaySound("weapons/m16clipin", CHAN_ITEM)
		MR4G OQRST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop2
	ReloadChamber:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR4G HIJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR4G A 0 A_PlaySound("weapons/m16clipout", CHAN_ITEM)
		MR4G L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR4G MN 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR4G A 0 A_PlaySound("weapons/m16clipin", CHAN_ITEM)
		MR4G OQRST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop
	ReloadLoop:
		MR4G A 0 a_JumpIfInventory("MrifleLoaded",31,"ReloadDone2")
		MR4G A 0 A_Giveinventory("MrifleLoaded",1)
		MR4G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR4G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop")
        Goto ReloadDone2
	ReloadLoop2:
		MR4G A 0 a_JumpIfInventory("MrifleLoaded",30,"ReloadDone")
		MR4G A 0 A_Giveinventory("MrifleLoaded",1)
		MR4G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR4G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop2")
        Goto ReloadDone
 ReloadDone:
  MR4G ONM 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR4G A 0 A_PlaySound("weapons/m16cock", CHAN_ITEM)
  MR4G KP 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR4G JIHG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR4G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
  ReloadDone2:
  MR4G ONM 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR4G KJHG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR4G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
         User1:
		 ACOG A 0 A_Zoomfactor(1.0)
		MR4G UVW 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MR4G WVUH 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  Spawn:
    MR4P A 10
	MR4P A 1 bright
    loop
  }
}
actor ModRifle5: modrifle1
{
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "rifleammo"
 Weapon.AmmoType1 "MGLoaded"
 Inventory.Pickupmessage "$GOT_MODRIFLE5"
 Obituary "$OBIT_MODRIFLE"
 Tag "$WEAPON_MODRIFLE5"
 Inventory.Icon "MR5IA0"
 +CHEATNOTWEAPON
 States
 {
 Ready:
  MR5G A 0 A_JumpIfInventory("altfiretoggled",1,"Readyscope")
  ACOG A 0 A_Zoomfactor(1.0)
  MR5G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  Loop
 ReadyScope:
  ACOG A 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  ACOG A 0 A_Zoomfactor(2.0)
  MR5G A 0 A_JumpIfInventory("primefiretoggled",1,"firescope")
  MR5G A 0 A_JumpIfInventory("altfiretoggled",1,"Readyscope")
  goto ready
 Deselect:
  ACOG A 0 A_Zoomfactor(1.0)
  MR5G A 0 A_lower
  MR5G A 1 A_Lower
  Loop
 Select:
 MR2G A 0 A_takeinventory("modrifle1",1)
 MR2G A 0 A_takeinventory("modrifle2",1)
  MR2G A 0 A_takeinventory("modrifle3",1)
   MR2G A 0 A_takeinventory("modrifle4",1)
   MR2G A 0 A_takeinventory("modrifle6",1)
   MR2G A 0 A_takeinventory("modrifle7",1)
   MR2G A 0 A_takeinventory("modrifle8",1)
    MR2G A 0 A_takeinventory("modrifle9",1)
  MR5G A 0 A_takeinventory("lightlit",1)
  MR5G A 1 A_Raise
  MR5G A 0 A_Raise
  Loop
 Fire:
  MR5G A 0 A_JumpIfInventory("MGLoaded",1,"RealFire")
  Goto Reload
 RealFire:
   MR5G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR5G B 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR5G B 0 A_SetPitch(Pitch-0.5)
   MR5G B 0 A_FireBullets(1.5,1.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR5G B 0 A_Light1
   MR5G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR5G A 0 A_AlertMonsters
   MR5G A 0 A_Light0
   MR5G A 0 A_SetPitch(Pitch+0.25)
   MR5G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR5G A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR5G G 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR5G H 1 a_refire("empty")
  goto ready
   MR5G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR5G A 0 a_refire("fire2")
   MR5G A 0 A_SetPitch(Pitch+0.25)
   MR5G H 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR5G A 0 a_refire("fire2")
   MR5G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR5G A 0 a_refire("fire2")
  goto ready
 Fire2: 
  MR5G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR5G C 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR5G B 0 A_SetPitch(Pitch-0.5)
   MR5G B 0 A_FireBullets(2,2,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR5G B 0 A_Light1
   MR5G I 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR5G A 0 A_AlertMonsters
   MR5G A 0 A_Light0
   MR5G A 0 A_SetPitch(Pitch+0.25)
   MR5G J 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR5G A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR5G K 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR5G L 1 a_refire("empty")
  goto ready
   MR5G K 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR5G A 0 A_SetPitch(Pitch+0.25)
   MR5G L 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR5G A 0 a_refire("fire")
   MR5G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR5G A 0 a_refire("fire")
  goto ready
 FireScope:
  MR5G A 0 A_JumpIfInventory("MGLoaded",1,"RealScopeFire")
  Goto Reload
 RealScopeFire:
   ACOG A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   ACOG A 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   ACOG A 0 A_SetPitch(Pitch-0.5)
   ACOG A 0 A_FireBullets(0.15,0.15,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   ACOG A 0 A_Light1
   ACOG A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   ACOG A 0 A_AlertMonsters
   ACOG A 0 A_Light0
   ACOG A 0 A_SetPitch(Pitch+0.25)
   ACOG A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   ACOG A 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR5G A 0 A_JumpIfInventory("primefiretoggled",1,"emptyscope")
  goto ready
   ACOG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   ACOG A 0 A_SetPitch(Pitch+0.25)
   ACOG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   ACOG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR5G A 0 A_JumpIfInventory("primefiretoggled",1,"firescope")
  goto ready
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  MR5G A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR5G A  0  a_refire("empty2")
  goto ready
 emptyscope:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 emptyscope2:
  ACOG A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR5G A 0 A_JumpIfInventory("primefiretoggled",1,"emptyscope2")
  goto ready
 Reload:
		MR5G A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR5G A 0 A_JumpIfInventory("MGLoaded",90,"Ready")
        MR5G A 0 A_JumpIfInventory("rifleammo",1,"reloadcheck")
		goto ready
Reloadcheck:
        MR5G A 0 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR5G A 0 A_JumpIfInventory("MGLoaded",1,"Reloadchamber")
	Work1:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR5G MNOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR5G A 0 A_PlaySound("weapons/modreload1", CHAN_ITEM)
		MR5G Q 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR5G RSTUVW 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR5G A 0 A_PlaySound("weapons/modreload2", CHAN_ITEM)
		MR5G YZZYZZYYYYYYY 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop2
	ReloadChamber:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR5G MNOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR5G A 0 A_PlaySound("weapons/modreload1", CHAN_ITEM)
		MR5G Q 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR5G RSTUVW 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR5G A 0 A_PlaySound("weapons/modreload2", CHAN_ITEM)
		MR5G YZZYZZYYYYYYY 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop
	ReloadLoop:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR5G A 0 a_JumpIfInventory("MGLoaded",90,"ReloadDone2")
		MR5G A 0 A_Giveinventory("MGLoaded",1)
		MR5G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR5G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop")
        Goto ReloadDone2
	ReloadLoop2:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR5G A 0 a_JumpIfInventory("MGLoaded",90,"ReloadDone")
		MR5G A 0 A_Giveinventory("MGLoaded",1)
		MR5G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR5G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop2")
        Goto ReloadDone
 ReloadDone:
  MR5G WV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  TNT1 A 0 A_PlaySound("weapons/modreload3", CHAN_ITEM)
  MR5G UTSR 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR5G QPOOO 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR5G A 0 A_PlaySound("weapons/m16cock", CHAN_ITEM)
  MR5G ONM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR5G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
  ReloadDone2:
  MR5G WV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  TNT1 A 0 A_PlaySound("weapons/modreload3", CHAN_ITEM)
  MR5G UTSR 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR5G QPONM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR5G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
         User1:
		ACOG A 0 A_Zoomfactor(1.0)
		MR5G NOP 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MR5G PONM 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  Spawn:
    MR5P A 10
	MR5P A 1 bright
    loop
  }
}
actor ModRifle6: modrifle1
{
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "rifleammo"
 Weapon.AmmoType1 "MGLoaded"
 Inventory.Pickupmessage "$GOT_MODRIFLE6"
 Obituary "$OBIT_MODRIFLE"
 Tag "$WEAPON_MODRIFLE6"
 Inventory.Icon "MR6IA0"
 +CHEATNOTWEAPON
 States
 {
 Ready:
  MR6G A 0 A_JumpIfInventory("scopecheck",1,"ReadyLaser")
  MR6G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  Loop
 ReadyLaser:
  MR6L A 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR6L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  MR6L M 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR6L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  MR6L N 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR6L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  MR6L O 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR6L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  Loop
 Deselect:
  MR6G A 0 A_lower
  MR6G A 1 A_Lower
  Loop
 Select:
  MR2G A 0 A_takeinventory("modrifle1",1)
 MR2G A 0 A_takeinventory("modrifle2",1)
  MR2G A 0 A_takeinventory("modrifle3",1)
   MR2G A 0 A_takeinventory("modrifle4",1)
   MR2G A 0 A_takeinventory("modrifle5",1)
   MR2G A 0 A_takeinventory("modrifle7",1)
   MR2G A 0 A_takeinventory("modrifle8",1)
    MR2G A 0 A_takeinventory("modrifle9",1)
  MR6G A 0 A_takeinventory("lightlit",1)
  MR6G A 1 A_Raise
  MR6G A 0 A_Raise
  Loop
 Fire:
  MR6G A 0 A_JumpIfInventory("MGLoaded",1,"RealFire")
  Goto Reload
 RealFire:
   MR6G A 0 A_JumpIfInventory("scopecheck",1,"FireLaser")
   MR6G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR6G B 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G B 0 A_SetPitch(Pitch-0.5)
   MR6G B 0 A_FireBullets(1.5,1.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR6G B 0 A_Light1
   MR6G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 A_AlertMonsters
   MR6G A 0 A_Light0
   MR6G A 0 A_SetPitch(Pitch+0.25)
   MR6G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR6G G 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR6G H 1 a_refire("empty")
  goto ready
   MR6G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 a_refire("fire2")
   MR6G A 0 A_SetPitch(Pitch+0.25)
   MR6G H 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 a_refire("fire2")
   MR6G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 a_refire("fire2")
  goto ready
 Fire2: 
  MR6G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR6G C 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR6G B 0 A_SetPitch(Pitch-0.5)
   MR6G B 0 A_FireBullets(2,2,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR6G B 0 A_Light1
   MR6G I 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 A_AlertMonsters
   MR6G A 0 A_Light0
   MR6G A 0 A_SetPitch(Pitch+0.25)
   MR6G J 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR6G K 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR6G L 1 a_refire("empty")
  goto ready
   MR6G K 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 a_refire("fire3")
   MR6G A 0 A_SetPitch(Pitch+0.25)
   MR6G L 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 a_refire("fire3")
   MR6G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 a_refire("fire3")
  goto ready
Fire3: 
   MR6G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR6G D 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR6G B 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
   MR6G B 0 A_SetPitch(Pitch-0.5)
   MR6G B 0 A_FireBullets(2.5,2.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR6G B 0 A_Light1
   MR6G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 A_AlertMonsters
   MR6G A 0 A_Light0
   MR6G A 0 A_SetPitch(Pitch+0.25)
   MR6G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR6G G 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR6G H 1 a_refire("empty")
  goto ready
   MR6G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 a_refire("fire1")
   MR6G A 0 A_SetPitch(Pitch+0.25)
   MR6G H 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 a_refire("fire1")
   MR6G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6G A 0 a_refire("fire1")
  goto ready
 FireLaser:
   MR6L A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR6L B 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR6L B 0 A_SetPitch(Pitch-0.5)
   MR6L B 0 A_FireBullets(0.5,0.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR6L B 0 A_Light1
   MR6L E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6L A 0 A_AlertMonsters
   MR6L A 0 A_Light0
   MR6L A 0 A_SetPitch(Pitch+0.25)
   MR6L F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6L A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR6L G 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR6L H 1 a_refire("emptylaser")
  goto ready
   MR6L F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6L A 0 A_SetPitch(Pitch+0.25)
   MR6L G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6L H 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6L A 0 a_refire("FireLaser2")
  goto ready
 FireLaser2: 
  MR6L A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR6L C 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR6L B 0 A_SetPitch(Pitch-0.5)
   MR6L B 0 A_FireBullets(0.5,0.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR6L B 0 A_Light1
   MR6L I 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6L A 0 A_AlertMonsters
   MR6L A 0 A_Light0
   MR6L A 0 A_SetPitch(Pitch+0.25)
   MR6L J 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6L A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR6L K 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR6L L 1 a_refire("emptylaser")
  goto ready
   MR6L K 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6L A 0 A_SetPitch(Pitch+0.25)
   MR6L L 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6L A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR6L A 0 a_refire("FireLaser")
  goto ready
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  MR6G A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR6G A  0  a_refire("empty2")
  goto ready
 emptylaser:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 emptylaser2:
  MR6L A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR6L H  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR6L I  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR6L J  0  a_refire("emptylaser2")
  goto ready
 Reload:
        MR6G A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR6G A 0 A_JumpIfInventory("MGLoaded",90,"Ready")
        MR6G A 0 A_JumpIfInventory("rifleammo",1,"reloadcheck")
		goto ready
Reloadcheck:
        MR6G A 0 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR6G A 0 A_JumpIfInventory("MGLoaded",1,"Reloadchamber")
	Work1:
		MR6G MNOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR6G A 0 A_PlaySound("weapons/modreload1", CHAN_ITEM)
		MR6G Q 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR6G RSTUVW 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR6G A 0 A_PlaySound("weapons/modreload2", CHAN_ITEM)
		MR6G YZZYZZYYYYYYY 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop2
	ReloadChamber:
		MR6G MNOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR6G A 0 A_PlaySound("weapons/modreload1", CHAN_ITEM)
		MR6G Q 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR6G RSTUVW 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR6G A 0 A_PlaySound("weapons/modreload2", CHAN_ITEM)
		MR6G YZZYZZYYYYYYY 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop
	ReloadLoop:
		MR6G A 0 a_JumpIfInventory("MGLoaded",90,"ReloadDone2")
		MR6G A 0 A_Giveinventory("MGLoaded",1)
		MR6G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR6G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop")
        Goto ReloadDone2
	ReloadLoop2:
		MR6G A 0 a_JumpIfInventory("MGLoaded",90,"ReloadDone")
		MR6G A 0 A_Giveinventory("MGLoaded",1)
		MR6G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR6G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop2")
        Goto ReloadDone
 ReloadDone:
  MR6G WV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  TNT1 A 0 A_PlaySound("weapons/modreload3", CHAN_ITEM)
  MR6G UTSR 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR6G QPOOO 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR6G A 0 A_PlaySound("weapons/m16cock", CHAN_ITEM)
  MR6G ONM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR6G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
  ReloadDone2:
  MR6G WV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  TNT1 A 0 A_PlaySound("weapons/modreload3", CHAN_ITEM)
  MR6G UTSR 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR6G QPONM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR6G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
         User1:
		MR6G NOP 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MR6G PONM 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
Altfire:
        MR6G A 0 A_JumpIfInventory("Scopecheck",1,"Unlaser")
        MR6G A 0 A_GiveInventory("Scopecheck",1)
		MR6G A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        Goto Ready
    Unlaser:
        MR6G A 0 A_TakeInventory("Scopecheck",1)
		MR6G A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        Goto Ready
  Spawn:
    MR6P A 10
	MR6P A 1 bright
    loop
  }
}
actor ModRifle7: modrifle1
{
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "rifleammo"
 Weapon.AmmoType1 "MGLoaded"
 Inventory.Pickupmessage "$GOT_MODRIFLE7"
 Obituary "$OBIT_MODRIFLE"
 Tag "$WEAPON_MODRIFLE7"
 Inventory.Icon "MR7IA0"
 +CHEATNOTWEAPON
 States
 {
 Ready:
  MR7G A 0 A_JumpIfInventory("scopecheck",1,"ReadyLaser")
  MR7G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  Loop
 ReadyLaser:
  MR7L A 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR7L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  MR7L M 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR7L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  MR7L N 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR7L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  MR7L O 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR7L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  Loop
 Deselect:
  MR7G A 0 A_lower
  MR7G A 1 A_Lower
  Loop
 Select:
  MR2G A 0 A_takeinventory("modrifle1",1)
 MR2G A 0 A_takeinventory("modrifle2",1)
  MR2G A 0 A_takeinventory("modrifle3",1)
   MR2G A 0 A_takeinventory("modrifle4",1)
   MR2G A 0 A_takeinventory("modrifle6",1)
   MR2G A 0 A_takeinventory("modrifle5",1)
   MR2G A 0 A_takeinventory("modrifle8",1)
    MR2G A 0 A_takeinventory("modrifle9",1)
  MR7G A 0 A_takeinventory("lightlit",1)
  MR7G A 1 A_Raise
  MR7G A 0 A_Raise
  Loop
 Fire:
  MR7G A 0 A_JumpIfInventory("MGLoaded",1,"RealFire")
  Goto Reload
 RealFire:
   MR7G A 0 A_JumpIfInventory("scopecheck",1,"FireLaser")
   MR7G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR7G B 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR7G B 0 A_SetPitch(Pitch-0.5)
   MR7G B 0 A_FireBullets(2,2,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR7G B 0 A_Light1
   MR7G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7G A 0 A_AlertMonsters
   MR7G A 0 A_Light0
   MR7G A 0 A_SetPitch(Pitch+0.25)
   MR7G A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR7G G 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR7G H 1 a_refire("empty")
  goto ready
   MR7G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7G A 0 a_refire("fire2")
   MR7G A 0 A_SetPitch(Pitch+0.25)
   MR7G H 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7G A 0 a_refire("fire2")
   MR7G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7G A 0 a_refire("fire2")
  goto ready
 Fire2: 
  MR7G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR7G C 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR7G B 0 A_SetPitch(Pitch-0.5)
   MR7G B 0 A_FireBullets(3,3,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR7G B 0 A_Light1
   MR7G A 0 A_AlertMonsters
   MR7G A 0 A_Light0
   MR7G A 0 A_SetPitch(Pitch+0.25)
   MR7G J 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7G A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR7G K 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR7G L 1 a_refire("empty")
  goto ready
   MR7G K 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7G A 0 a_refire("fire3")
   MR7G A 0 A_SetPitch(Pitch+0.25)
   MR7G L 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7G A 0 a_refire("fire3")
   MR7G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7G A 0 a_refire("fire3")
  goto ready
Fire3: 
   MR7G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR7G D 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR7G B 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
   MR7G B 0 A_SetPitch(Pitch-0.5)
   MR7G B 0 A_FireBullets(4,4,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR7G B 0 A_Light1
   MR7G A 0 A_AlertMonsters
   MR7G A 0 A_Light0
   MR7G A 0 A_SetPitch(Pitch+0.25)
   MR7G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7G A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR7G G 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR7G H 1 a_refire("empty")
  goto ready
   MR7G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7G A 0 a_refire("fire1")
   MR7G A 0 A_SetPitch(Pitch+0.25)
   MR7G H 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7G A 0 a_refire("fire1")
   MR7G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7G A 0 a_refire("fire1")
  goto ready
 FireLaser:
   MR7L A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR7L B 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR7L B 0 A_SetPitch(Pitch-0.5)
   MR7L B 0 A_FireBullets(1.5,1.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR7L B 0 A_Light1
   MR7L A 0 A_AlertMonsters
   MR7L A 0 A_Light0
   MR7L A 0 A_SetPitch(Pitch+0.25)
   MR7L F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7L A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR7L G 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR7L H 1 a_refire("emptylaser")
  goto ready
   MR7L F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7L A 0 A_SetPitch(Pitch+0.25)
   MR7L G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7L H 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7L A 0 a_refire("FireLaser2")
  goto ready
 FireLaser2: 
  MR7L A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR7L C 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR7L B 0 A_SetPitch(Pitch-0.5)
   MR7L B 0 A_FireBullets(2.5,2.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR7L B 0 A_Light1
   MR7L I 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7L A 0 A_AlertMonsters
   MR7L A 0 A_Light0
   MR7L A 0 A_SetPitch(Pitch+0.25)
   MR7L A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR7L K 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR7L L 1 a_refire("emptylaser")
  goto ready
   MR7L K 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7L A 0 A_SetPitch(Pitch+0.25)
   MR7L L 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7L A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR7L A 0 a_refire("FireLaser")
  goto ready
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  MR7G A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR7G A  0  a_refire("empty2")
  goto ready
 emptylaser:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 emptylaser2:
  MR7L A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR7L H  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR7L I  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR7L J  0  a_refire("emptylaser2")
  goto ready
  Reload:
		MR7G A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR7G A 0 A_JumpIfInventory("MGLoaded",90,"Ready")
        MR7G A 0 A_JumpIfInventory("rifleammo",1,"reloadcheck")
		goto ready
Reloadcheck:
        MR7G A 0 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR7G A 0 A_JumpIfInventory("MGLoaded",1,"Reloadchamber")
	Work1:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR7G MNOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR7G A 0 A_PlaySound("weapons/modreload1", CHAN_ITEM)
		MR7G Q 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR7G RSTUVW 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR7G A 0 A_PlaySound("weapons/modreload2", CHAN_ITEM)
		MR7G YZZYZZYYYY 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop2
	ReloadChamber:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR7G MNOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR7G A 0 A_PlaySound("weapons/modreload1", CHAN_ITEM)
		MR7G Q 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR7G RSTUVW 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR7G A 0 A_PlaySound("weapons/modreload2", CHAN_ITEM)
		MR7G YZZYZZYYYY 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop
	ReloadLoop:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR7G A 0 a_JumpIfInventory("MGLoaded",90,"ReloadDone2")
		MR7G A 0 A_Giveinventory("MGLoaded",1)
		MR7G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR7G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop")
        Goto ReloadDone2
	ReloadLoop2:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR7G A 0 a_JumpIfInventory("MGLoaded",90,"ReloadDone")
		MR7G A 0 A_Giveinventory("MGLoaded",1)
		MR7G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR7G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop2")
        Goto ReloadDone
 ReloadDone:
  MR7G WV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  TNT1 A 0 A_PlaySound("weapons/modreload3", CHAN_ITEM)
  MR7G UTSR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR7G QPO 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR7G A 0 A_PlaySound("weapons/m16cock", CHAN_ITEM)
  MR7G ONM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR7G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
  ReloadDone2:
  MR7G WV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  TNT1 A 0 A_PlaySound("weapons/modreload3", CHAN_ITEM)
  MR7G UTSR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR7G QPONM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR7G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
         User1:
		MR7G NOP 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MR7G PONM 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
Altfire:
        MR7G A 0 A_JumpIfInventory("Scopecheck",1,"Unlaser")
        MR7G A 0 A_GiveInventory("Scopecheck",1)
		MR7G A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        Goto Ready
    Unlaser:
        MR7G A 0 A_TakeInventory("Scopecheck",1)
		MR7G A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        Goto Ready
  Spawn:
    MR7P A 10
	MR7P A 1 bright
    loop
  }
}
actor ModRifle8: modrifle1
{
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "rifleammo"
 Weapon.AmmoType1 "MGLoaded"
 Inventory.Pickupmessage "$GOT_MODRIFLE8"
 Obituary "$OBIT_MODRIFLE"
 Tag "$WEAPON_MODRIFLE8"
 Inventory.Icon "MR8IA0"
 +CHEATNOTWEAPON
 States
 {
 Ready:
  MR8G A 0 A_JumpIfInventory("altfiretoggled",1,"Readyscope")
  ACOG A 0 A_Zoomfactor(1.0)
  MR8G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  Loop
 ReadyScope:
  ACOG A 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  ACOG A 0 A_Zoomfactor(2.0)
  MR8G A 0 A_JumpIfInventory("primefiretoggled",1,"firescope")
  MR8G A 0 A_JumpIfInventory("altfiretoggled",1,"Readyscope")
  goto ready
 Deselect:
  ACOG A 0 A_Zoomfactor(1.0)
  MR8G A 0 A_lower
  MR8G A 1 A_Lower
  Loop
 Select:
  MR2G A 0 A_takeinventory("modrifle1",1)
 MR2G A 0 A_takeinventory("modrifle2",1)
  MR2G A 0 A_takeinventory("modrifle3",1)
   MR2G A 0 A_takeinventory("modrifle4",1)
   MR2G A 0 A_takeinventory("modrifle6",1)
   MR2G A 0 A_takeinventory("modrifle7",1)
   MR2G A 0 A_takeinventory("modrifle5",1)
    MR2G A 0 A_takeinventory("modrifle9",1)
  MR8G A 0 A_takeinventory("lightlit",1)
  MR8G A 1 A_Raise
  MR8G A 0 A_Raise
  Loop
 Fire:
  MR8G A 0 A_JumpIfInventory("MGLoaded",1,"RealFire")
  Goto Reload
 RealFire:
   MR8G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR8G B 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR8G B 0 A_SetPitch(Pitch-0.5)
   MR8G B 0 A_FireBullets(2.5,2.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR8G B 0 A_Light1
   MR8G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR8G A 0 A_AlertMonsters
   MR8G A 0 A_Light0
   MR8G A 0 A_SetPitch(Pitch+0.25)
   MR8G A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10) 
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR8G G 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR8G H 1 a_refire("empty")
  goto ready
   MR8G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR8G A 0 a_refire("fire2")
   MR8G A 0 A_SetPitch(Pitch+0.25)
   MR8G H 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR8G A 0 a_refire("fire2")
   MR8G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR8G A 0 a_refire("fire2")
  goto ready
 Fire2: 
  MR8G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR8G C 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR8G B 0 A_SetPitch(Pitch-0.5)
   MR8G B 0 A_FireBullets(3.5,3.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR8G B 0 A_Light1
   MR8G I 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR8G A 0 A_AlertMonsters
   MR8G A 0 A_Light0
   MR8G A 0 A_SetPitch(Pitch+0.25)
   MR8G J 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR8G A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   MR8G K 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR8G L 1 a_refire("empty")
  goto ready
   MR8G K 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR8G A 0 A_SetPitch(Pitch+0.25)
   MR8G A 0 a_refire("fire")
   MR8G L 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR8G A 0 a_refire("fire")
   MR8G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR8G A 0 a_refire("fire")
  goto ready
 FireScope:
  MR8G A 0 A_JumpIfInventory("MGLoaded",1,"RealScopeFire")
  Goto Reload
 RealScopeFire:
   ACOG A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   ACOG A 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   ACOG A 0 A_SetPitch(Pitch-0.5)
   ACOG A 0 A_FireBullets(1.0,1.0,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   ACOG A 0 A_Light1
   ACOG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   ACOG A 0 A_AlertMonsters
   ACOG A 0 A_Light0
   ACOG A 0 A_SetPitch(Pitch+0.25)
   ACOG A 0 A_spawnitemex("underbarrelSpawner",-10,-10,32,-10)
   TNT1 A 0 a_JumpIfInventory("MGLoaded",1,3)
   ACOG A 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR8G A 0 A_JumpIfInventory("primefiretoggled",1,"emptyscope")
  goto ready
   ACOG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   ACOG A 0 A_SetPitch(Pitch+0.25)
   ACOG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   ACOG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR8G A 0 A_JumpIfInventory("primefiretoggled",1,"firescope")
  goto ready
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  MR8G A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR8G A  0  a_refire("empty2")
  goto ready
 emptyscope:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 emptyscope2:
  ACOG A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR8G A 0 A_JumpIfInventory("primefiretoggled",1,"emptyscope2")
  goto ready
 Reload:
		MR8G A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR8G A 0 A_JumpIfInventory("MGLoaded",90,"Ready")
        MR8G A 0 A_JumpIfInventory("rifleammo",1,"reloadcheck")
		goto ready
Reloadcheck:
        MR8G A 0 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR8G A 0 A_JumpIfInventory("MGLoaded",1,"Reloadchamber")
	Work1:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR8G MNOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR8G A 0 A_PlaySound("weapons/modreload1", CHAN_ITEM)
		MR8G Q 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR8G RSTUVW 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR8G A 0 A_PlaySound("weapons/modreload2", CHAN_ITEM)
		MR8G YZZYZZYYYY 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop2
	ReloadChamber:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR8G MNOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR8G A 0 A_PlaySound("weapons/modreload1", CHAN_ITEM)
		MR8G Q 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR8G RSTUVW 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR8G A 0 A_PlaySound("weapons/modreload2", CHAN_ITEM)
		MR8G YZZYZZYYYY 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop
	ReloadLoop:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR8G A 0 a_JumpIfInventory("MGLoaded",90,"ReloadDone2")
		MR8G A 0 A_Giveinventory("MGLoaded",1)
		MR8G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR8G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop")
        Goto ReloadDone2
	ReloadLoop2:
	    ACOG A 0 A_Zoomfactor(1.0)
		MR8G A 0 a_JumpIfInventory("MGLoaded",90,"ReloadDone")
		MR8G A 0 A_Giveinventory("MGLoaded",1)
		MR8G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR8G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop2")
        Goto ReloadDone
 ReloadDone:
  MR8G WV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  TNT1 A 0 A_PlaySound("weapons/modreload3", CHAN_ITEM)
  MR8G UTSR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR8G QPO 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR8G A 0 A_PlaySound("weapons/m16cock", CHAN_ITEM)
  MR8G ONM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR8G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
  ReloadDone2:
  MR8G WV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  TNT1 A 0 A_PlaySound("weapons/modreload3", CHAN_ITEM)
  MR8G UTSR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR8G QPONM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR8G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
         User1:
		ACOG A 0 A_Zoomfactor(1.0)
		MR8G NOP 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MR8G PONM 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  Spawn:
    MR8P A 10
	MR8P A 1 bright
    loop
  }
}
actor ModRifle9: modrifle1
{
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "rifleammo"
 Weapon.AmmoType1 "MrifleLoaded"
 Inventory.Pickupmessage "$GOT_MODRIFLE9"
 Obituary "$OBIT_MODRIFLE"
 Tag "$WEAPON_MODRIFLE9"
 Inventory.Icon "MR9IA0"
 +CHEATNOTWEAPON
 States
 {
 Ready:
  MR9G A 0 A_JumpIfInventory("scopecheck",1,"ReadyLaser")
  MR9G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  Loop
 ReadyLaser:
  MR9L A 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR9L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  MR9L H 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR9L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  MR9L I 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR9L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  MR9L J 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
  MR9L A 0 A_FireBullets(0,0,1,0,"Laserdot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
  Loop
 Deselect:
  MR9G A 0 A_lower
  MR9G A 1 A_Lower
  Loop
 Select:
 MR2G A 0 A_takeinventory("modrifle1",1)
 MR2G A 0 A_takeinventory("modrifle2",1)
  MR2G A 0 A_takeinventory("modrifle3",1)
   MR2G A 0 A_takeinventory("modrifle4",1)
  MR9G A 0 A_takeinventory("lightlit",1)
  MR9G A 1 A_Raise
  MR9G A 0 A_Raise
  Loop
 Fire:
  MR9G A 0 A_JumpIfInventory("MrifleLoaded",1,"RealFire")
  Goto Reload
 RealFire:
   MR9G A 0 A_JumpIfInventory("scopecheck",1,"FireLaser")
   MR9G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR9G B 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR9G B 0 A_SetPitch(Pitch-0.5)
   MR9G B 0 A_FireBullets(1.5,1.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR9G B 0 A_Light1
   MR9G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9G A 0 A_AlertMonsters
   MR9G A 0 A_Light0
   MR9G A 0 A_SetPitch(Pitch+0.25)
   MR9G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR9G F 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR9G G 1 a_refire("empty")
  goto ready
   MR9G A 0 a_refire("fire2")
   MR9G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9G A 0 a_refire("fire2")
   MR9G A 0 A_SetPitch(Pitch+0.25)
   MR9G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9G A 0 a_refire("fire2")
   MR9G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9G A 0 a_refire("fire2")
  goto ready
 Fire2: 
  MR9G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR9G C 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR9G B 0 A_SetPitch(Pitch-0.5)
   MR9G B 0 A_FireBullets(2,2,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR9G B 0 A_Light1
   MR9G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9G A 0 A_AlertMonsters
   MR9G A 0 A_Light0
   MR9G A 0 A_SetPitch(Pitch+0.25)
   MR9G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR9G F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR9G G 1 a_refire("empty")
  goto ready
   MR9G A 0 a_refire("fire3")
   MR9G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9G A 0 a_refire("fire3")
   MR9G A 0 A_SetPitch(Pitch+0.25)
   MR9G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9G A 0 a_refire("fire3")
   MR9G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9G A 0 a_refire("fire3")
  goto ready
Fire3: 
   MR9G A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR9G D 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR9G B 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
   MR9G B 0 A_SetPitch(Pitch-0.5)
   MR9G B 0 A_FireBullets(2.5,2.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR9G B 0 A_Light1
   MR9G E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9G A 0 A_AlertMonsters
   MR9G A 0 A_Light0
   MR9G A 0 A_SetPitch(Pitch+0.25)
   MR9G A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR9G F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR9G G 1 a_refire("empty")
  goto ready
   MR9G A 0 a_refire("fire1")
   MR9G F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9G A 0 a_refire("fire1")
   MR9G A 0 A_SetPitch(Pitch+0.25)
   MR9G G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9G A 0 a_refire("fire1")
   MR9G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9G A 0 a_refire("fire1")
  goto ready
 FireLaser:
   MR9L A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR9L B 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR9L B 0 A_SetPitch(Pitch-0.5)
   MR9L B 0 A_FireBullets(0.5,0.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR9L B 0 A_Light1
   MR9L E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9L A 0 A_AlertMonsters
   MR9L A 0 A_Light0
   MR9L A 0 A_SetPitch(Pitch+0.25)
   MR9L A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR9L F 1 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR9L G 1 a_refire("emptylaser")
  goto ready
   MR9L F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9L A 0 A_SetPitch(Pitch+0.25)
   MR9L G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9L H 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9L A 0 a_refire("FireLaser2")
  goto ready
 FireLaser2: 
  MR9L A 0 A_PlaySound("weapons/stonerfire", CHAN_WEAPON)
   MR9L C 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR1G A 0 A_PlaySound("weapons/stonerdistant",CHAN_BODY)
   MR9L B 0 A_SetPitch(Pitch-0.5)
   MR9L B 0 A_FireBullets(0.5,0.5,1,25,"hitpuff",FBF_NORANDOM | FBF_USEAMMO)
   MR9L B 0 A_Light1
   MR9L E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9L A 0 A_AlertMonsters
   MR9L A 0 A_Light0
   MR9L A 0 A_SetPitch(Pitch+0.25)
   MR9L F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9L A 0 A_FireCustomMissile("rifleCasingSpawner",-10,0,15,0)
   TNT1 A 0 a_JumpIfInventory("MrifleLoaded",1,3)
   MR9L F 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
   MR9L G 1 a_refire("emptylaser")
  goto ready
   MR9L F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9L A 0 A_SetPitch(Pitch+0.25)
   MR9L G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9L H 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
   MR9L A 0 a_refire("FireLaser")
  goto ready
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  MR9G A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR9G A  0  a_refire("empty2")
  goto ready
 emptylaser:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 emptylaser2:
  MR9L A  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR9L H  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR9L I  1  A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR9L J  0  a_refire("emptylaser2")
  goto ready
 Reload:
		MR9G A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR9G A 0 A_JumpIfInventory("MrifleLoaded",31,"Ready")
        MR9G A 0 A_JumpIfInventory("rifleammo",1,"reloadcheck")
		goto ready
Reloadcheck:
        MR9G A 0 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR9G A 0 A_JumpIfInventory("MrifleLoaded",1,"Reloadchamber")
	Work1:
		MR9G HIJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR9G A 0 A_PlaySound("weapons/m16clipout", CHAN_ITEM)
		MR9G L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR9G NM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR9G A 0 A_PlaySound("weapons/m16clipin", CHAN_ITEM)
		MR9G QRSTT 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop2
	ReloadChamber:
		MR9G HIJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR9G A 0 A_PlaySound("weapons/m16clipout", CHAN_ITEM)
		MR9G L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR9G MN 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		MR9G A 0 A_PlaySound("weapons/m16clipin", CHAN_ITEM)
		MR9G QRSTT 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop
	ReloadLoop:
		MR9G A 0 a_JumpIfInventory("MrifleLoaded",31,"ReloadDone2")
		MR9G A 0 A_Giveinventory("MrifleLoaded",1)
		MR9G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR9G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop")
        Goto ReloadDone2
	ReloadLoop2:
		MR9G A 0 a_JumpIfInventory("MrifleLoaded",30,"ReloadDone")
		MR9G A 0 A_Giveinventory("MrifleLoaded",1)
		MR9G A 0 A_TakeInventory("rifleammo",1,TIF_NOTAKEINFINITE)
		MR9G A 0 a_JumpIfInventory("rifleammo",1,"Reloadloop2")
        Goto ReloadDone
 ReloadDone:
  MR9G ONNN 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR9G A 0 A_PlaySound("weapons/m16cock", CHAN_ITEM)
  MR9G KPP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR9G KJIHG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR9G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
  ReloadDone2:
  MR9G ONNN 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR9G KJIHG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  MR9G A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
         User1:
		MR9G UVW 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MR9G WVUH 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
Altfire:
        MR9G A 0 A_JumpIfInventory("Scopecheck",1,"Unlaser")
        MR9G A 0 A_GiveInventory("Scopecheck",1)
		MR9G A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        Goto Ready
    Unlaser:
        MR9G A 0 A_TakeInventory("Scopecheck",1)
		MR9G A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        Goto Ready
  Spawn:
    MR9P A 10
	MR9P A 1 bright
    loop
  }
}