// Gauss Rifle
actor StealthGaussRifle : AOWWeapon {
    Weapon.BobSpeed 1.75
    Weapon.BobRangeX 0.2
    Weapon.BobRangeY 0.4
    Weapon.BobStyle Alpha
	Inventory.PickupMessage "You got the stealth gauss rifle!"
	Obituary "$OB_STEALTHGAUSS"
//	AttackSound "gauss/fire"
    Weapon.Selectionorder 2
	Weapon.Kickback 50
	Weapon.AmmoType "GaussRifleAmmo"
	Weapon.AmmoUse 1
	Weapon.AmmoGive 4
	Weapon.PreferredSkin "MarineRailgun"
	Weapon.UpSound "weapons/up/gauss"
	Decal "GaussScorch"
	Tag "Stealth Gauss Rifle"
	States {
	Spawn:
		SGAR X -1
		stop
    Select:
	    TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory("IsBlue",1,"Select.Blue")
		SGAR A 1 offset (-90,100)
		SGAR A 1 offset (-80,89)
		SGAR A 1 offset (-70,79)
		SGAR A 1 offset (-60,70)
		SGAR A 1 offset (-50,62)
		SGAR A 1 offset (-40,55)
		SGAR A 1 offset (-30,49)
		SGAR A 1 offset (-20,44)
		SGAR A 1 offset (-15,40)
		SGAR A 1 offset (-10,37)
		SGAR A 1 offset (-5,34)
		SGAR A 1 offset (0,0)
		TNT1 A 0 A_TakeInventory("SelectAnimation",1)
		goto ready
	Select.Blue:
	    SGAB A 1 offset (-90,100)
		SGAB A 1 offset (-80,89)
		SGAB A 1 offset (-70,79)
		SGAB A 1 offset (-60,70)
		SGAB A 1 offset (-50,62)
		SGAB A 1 offset (-40,55)
		SGAB A 1 offset (-30,49)
		SGAB A 1 offset (-20,44)
		SGAB A 1 offset (-15,40)
		SGAB A 1 offset (-10,37)
		SGAB A 1 offset (-5,34)
		SGAB A 1 offset (0,0)
		TNT1 A 0 A_TakeInventory("SelectAnimation",1)
		goto ready
	Deselect:
	    TNT1 AA 0 A_JumpIfInventory ("IsStealthZoomed", 1, "ChangeModeOff")
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)
		TNT1 A 0 A_TakeInventory("ActionFragGrenade",1)	
        TNT1 A 0 A_TakeInventory("ActionFlashbang",1)
        TNT1 A 0 A_TakeInventory("ActionRemoteC4",1)	
        TNT1 A 0 A_TakeInventory("ActionMeleeAttack",1)
		TNT1 A 0 A_TakeInventory("ActionReload",1)
		TNT1 A 0 A_JumpIfInventory("IsBlue",1,"DeselectBlue")
		SGAR A 1 offset (-4,34)
		SGAR A 1 offset (-8,40)
		SGAR A 1 offset (-16,49)
		SGAR A 1 offset (-24,62)
		SGAR A 1 offset (-32,79)
		SGAR A 1 offset (-40,100)
		TNT1 A 0 offset (-1, 33)
		TNT1 A 0 A_Lower
		wait
	DeselectBlue:
		SGAB A 1 offset (-4,34)
		SGAB A 1 offset (-8,40)
		SGAB A 1 offset (-16,49)
		SGAB A 1 offset (-24,62)
		SGAB A 1 offset (-32,79)
		SGAB A 1 offset (-40,100)
		TNT1 A 0 offset (-1, 33)
		TNT1 A 0 A_Lower
		wait
	Ready:
	    TNT1 AA 0 A_JumpIfInventory ("IsStealthZoomed", 1, "ReadyZoomed")
	    TNT1 A 0 A_JumpIfInventory("SelectAnimation",1,"Select")
	    TNT1 A 0 A_JumpIfInventory("IsBlue",1,"Ready.Blue")
		TNT1 A 0 A_JumpIfInventory ("StealthMode",1,"Ready.Stealth")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory ("StealthMode",1,"Ready.Stealth")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory ("StealthMode",1,"Ready.Stealth")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory ("StealthMode",1,"Ready.Stealth")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory ("StealthMode",1,"Ready.Stealth")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory ("StealthMode",1,"Ready.Stealth")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory ("StealthMode",1,"Ready.Stealth")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory ("StealthMode",1,"Ready.Stealth")
	    TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR ABCD 1 bright A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory ("StealthMode",1,"Ready.Stealth")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR EFGH 1 bright A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		loop
	Ready.Blue:
	    TNT1 A 0 A_JumpIfInventory("StealthMode",1,"Ready.StealthBlue")
	    TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory("StealthMode",1,"Ready.StealthBlue")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory("StealthMode",1,"Ready.StealthBlue")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory("StealthMode",1,"Ready.StealthBlue")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory("StealthMode",1,"Ready.StealthBlue")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory("StealthMode",1,"Ready.StealthBlue")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory("StealthMode",1,"Ready.StealthBlue")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 4 A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory("StealthMode",1,"Ready.StealthBlue")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB ABCD 1 bright A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 A_JumpIfInventory("StealthMode",1,"Ready.StealthBlue")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB EFGH 1 bright A_WeaponReady
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		loop
	Ready.Stealth:
		TNT1 A 0 A_JumpIfInventory("StealthCharge", 1, 1)
		goto AltFireOff
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAR A 5 A_WeaponReady
		TNT1 A 0 A_TakeInventory("StealthCharge",1)
		goto Ready
	Ready.StealthBlue:
		TNT1 A 0 A_JumpIfInventory("StealthCharge", 1, 1)
		goto AltFireOff.Blue
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"UseFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"UseFlashbang")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"UseRemoteC4")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		SGAB A 5 A_WeaponReady
		TNT1 A 0 A_TakeInventory("StealthCharge",1)
		goto Ready
	ReadyZoomed:
		TNT1 A 0 A_JumpIfInventory("StealthMode",1,"ReadyZoomed.Stealth")
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		TNT1 A 1 A_WeaponReady
		TNT1 A 0 A_TakeInventory("StealthFire", 1)
		loop
	ReadyZoomed.Stealth:
		TNT1 A 0 A_JumpIfInventory("StealthCharge", 1, 1)
		goto AltFireOff
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		TNT1 A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		TNT1 A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		TNT1 A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		TNT1 A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		TNT1 A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		TNT1 A 5 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack",1,"ChangeModeOff")
		TNT1 A 0 A_JumpIfInventory("ActionReload",1,"Reload")
		TNT1 A 5 A_WeaponReady
		TNT1 A 0 A_TakeInventory("StealthCharge",1)
		goto ReadyZoomed
	Fire:
		TNT1 A 0 A_JumpIfInventory ("IsInSpawnRoom", 1, "Ready")
		TNT1 A 0 A_JumpIfInventory ("InMenu", 1, "Ready")
		LSRF A 0 A_JumpIfInventory("StealthMode", 1, "Fire.Stealth")
	FireGo:
		TNT1 A 0 A_JumpIfInventory ("IsBlue", 1, "Fire.Blue")
		TNT1 A 0 A_JumpIfInventory ("IsStealthZoomed", 1, "FireZoomed")
		TNT1 A 0 A_JumpIfInventory ("IsStealth", 1, "FireClass")
		TNT1 A 0 A_PlaySound("weapons/railcharge",CHAN_AUTO)
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 20.0, 0, "GaussLaserRed")
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 18.0, 0, "GaussLaserRed")
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 16.0, 0, "GaussLaserRed")
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 14.0, 0, "GaussLaserRed")
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 12.0, 0, "GaussLaserRed")
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 10.0, 0, "GaussLaserRed")
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 8.0, 0, "GaussLaserRed")
		TNT1 A 0 A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 6.0, 0, "GaussLaserRed")
		SGAR IJ 1 Bright
		TNT1 A 0 A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 4.0, 0, "GaussLaserRed")
		SGAR KL 1 Bright
		TNT1 A 0 A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 2.0, 0, "GaussLaserRed")
		SGAR MN 1 bright A_Light1
		SGAR L 0 bright A_PlaySound("Gauss/Background",CHAN_AUTO,0.45)
		SGAR L 0 bright A_PlaySound("weapons/railgunlaser",CHAN_WEAPON,0.8)
		SGAR L 0 bright A_FireBullets (0, 0, 1, 0, "StealthGaussPuff", 0)
		SGAR L 0 bright A_RailAttack (75, 3, 1, "FF 00 00", None, 1, 0, "StealthGaussPuff",0,0,8192,35,2.0,0.5,"GaussTrailRed")
		SGAR L 0 Radius_Quake(2,random(9,13),0,1,0)
		SGAR N 1 bright offset(0, 33) A_Light1
		SGAR O 0 bright offset(1, 34) A_Light2
		SGAR O 1 bright A_ZoomFactor(0.989)
		SGAR O 0 bright offset(2, 36) A_Light2
		SGAR O 1 bright A_ZoomFactor(0.979)
		SGAR O 1 bright offset(4, 40) A_Light2
		SGAR A 0 A_Light0
		SGAR A 1 offset(5, 41) A_ZoomFactor(0.972)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAR A 1 offset(4, 40) A_ZoomFactor(0.978)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAR A 1 offset(3, 38) A_ZoomFactor(0.98)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAR A 1 offset(2, 36) A_ZoomFactor(0.985)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAR A 1 offset(1, 34) A_ZoomFactor(0.991)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAR A 1 offset(0, 33) A_ZoomFactor(1)
		TNT1 A 0 A_CheckReload
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAR AAAA 2 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAR ABCD 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAR EFGH 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAR A 3
		goto Restealth
	FireClass:
		TNT1 A 0 A_PlaySound("weapons/railcharge",CHAN_AUTO)
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 20.0, 0, "GaussLaserRed")
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 18.0, 0, "GaussLaserRed")
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 16.0, 0, "GaussLaserRed")
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 14.0, 0, "GaussLaserRed")
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 12.0, 0, "GaussLaserRed")
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 10.0, 0, "GaussLaserRed")
		SGAR A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 8.0, 0, "GaussLaserRed")
		TNT1 A 0 A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 6.0, 0, "GaussLaserRed")
		SGAR IJ 1 Bright
		TNT1 A 0 A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 4.0, 0, "GaussLaserRed")
		SGAR KL 1 Bright
		TNT1 A 0 A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 2.0, 0, "GaussLaserRed")
		SGAR MN 1 bright A_Light1
		SGAR L 0 bright A_PlaySound("Gauss/Background",CHAN_AUTO,0.45)
		SGAR L 0 bright A_PlaySound("weapons/railgunlaser",CHAN_WEAPON,0.8)
		SGAR L 0 bright A_FireBullets (0, 0, 1, 0, "StealthGaussPuff", 0)
		SGAR L 0 bright A_RailAttack (75, 3, 1, "FF 00 00", None, 1, 0, "StealthGaussPuff",0,0,8192,35,2.0,0.5,"GaussTrailRed")
		TNT1 A 0 bright A_FireCustomMissile("RailgunImpact",0,0)
		SGAR L 0 Radius_Quake(2,random(9,13),0,1,0)
		SGAR N 1 bright offset(0, 33) A_Light1
		SGAR O 0 bright offset(1, 34) A_Light2
		SGAR O 1 bright A_ZoomFactor(0.989)
		SGAR O 0 bright offset(2, 36) A_Light2
		SGAR O 1 bright A_ZoomFactor(0.979)
		SGAR O 1 bright offset(4, 40) A_Light2
		SGAR A 0 A_Light0
		SGAR A 1 offset(5, 41) A_ZoomFactor(0.972)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAR A 1 offset(4, 40) A_ZoomFactor(0.978)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAR A 1 offset(3, 38) A_ZoomFactor(0.98)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAR A 1 offset(2, 36) A_ZoomFactor(0.985)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAR A 1 offset(1, 34) A_ZoomFactor(0.991)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAR A 1 offset(0, 33) A_ZoomFactor(1)
		TNT1 A 0 A_CheckReload
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAR AAAA 2 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAR ABCD 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAR EFGH 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAR A 3
		goto Restealth
	FireZoomed:
		TNT1 A 0 A_JumpIfInventory ("IsBlue", 1, "Fire.Blue")
		TNT1 A 0 A_JumpIfInventory ("IsStealth", 1, "FireZoomedClass")
		TNT1 A 0 A_PlaySound("weapons/railcharge",CHAN_AUTO)
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 20.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 18.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 16.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 14.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 12.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 10.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 8.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 6.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 4.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 2.0, 0, "GaussLaserRed")
		TNT1 A 0 bright A_PlaySound("Gauss/Background",CHAN_AUTO,0.45)
		TNT1 A 0 bright A_PlaySound("weapons/railgunlaser",CHAN_WEAPON,0.8)
		TNT1 A 0 bright A_FireBullets (0, 0, 1, 0, "StealthGaussPuff", 0)
		TNT1 A 0 bright A_RailAttack (75, 0, 1, "FF 00 00", None, 1, 0, "StealthGaussPuff",0,0,8192,35,2.0,0.5,"GaussTrailRed")
		TNT1 A 0 Radius_Quake(2,random(9,13),0,1,0)
		TNT1 A 1 A_ZoomFactor (3.9)
		TNT1 A 1 A_ZoomFactor (3.8)
		TNT1 A 1 A_ZoomFactor (3.9)
		TNT1 A 1 A_ZoomFactor (4.0)
		TNT1 A 0 A_CheckReload
		TNT1 AAAAAA 1 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 AAAA 2 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 AAAA 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 AAAA 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 A 3
		goto RestealthZoomed
	FireZoomedClass:
		TNT1 A 0 A_JumpIfInventory ("IsBlue", 1, "Fire.Blue")
		TNT1 A 0 A_PlaySound("weapons/railcharge",CHAN_AUTO)
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 20.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 18.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 16.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 14.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 12.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 10.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 8.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 6.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 4.0, 0, "GaussLaserRed")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuff", 0, 0, 5000, 10, 2.0, 0, "GaussLaserRed")
		TNT1 A 0 bright A_PlaySound("Gauss/Background",CHAN_AUTO,0.45)
		TNT1 A 0 bright A_PlaySound("weapons/railgunlaser",CHAN_WEAPON,0.8)
		TNT1 A 0 bright A_FireBullets (0, 0, 1, 0, "StealthGaussPuff", 0)
		TNT1 A 0 bright A_RailAttack (75, 0, 1, "FF 00 00", None, 1, 0, "StealthGaussPuff",0,0,8192,35,2.0,0.5,"GaussTrailRed")
		TNT1 A 0 bright A_FireCustomMissile("RailgunImpact",0,0)
		TNT1 A 0 Radius_Quake(2,random(9,13),0,1,0)
		TNT1 A 1 A_ZoomFactor (3.9)
		TNT1 A 1 A_ZoomFactor (3.8)
		TNT1 A 1 A_ZoomFactor (3.9)
		TNT1 A 1 A_ZoomFactor (4.0)
		TNT1 A 0 A_CheckReload
		TNT1 AAAAAA 1 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 AAAA 2 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 AAAA 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 AAAA 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 A 3
		goto RestealthZoomed
	Fire.Blue:
	    TNT1 A 0 A_JumpIfInventory ("IsStealthZoomed", 1, "FireZoomed.Blue")
		TNT1 A 0 A_JumpIfInventory ("IsStealth", 1, "FireClass.Blue")
		TNT1 A 0 A_PlaySound("weapons/railcharge",CHAN_AUTO)
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 20.0, 0, "GaussLaserBlue")
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 18.0, 0, "GaussLaserBlue")
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 16.0, 0, "GaussLaserBlue")
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 14.0, 0, "GaussLaserBlue")
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 12.0, 0, "GaussLaserBlue")
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 10.0, 0, "GaussLaserBlue")
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 8.0, 0, "GaussLaserBlue")
		TNT1 A 0 A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 6.0, 0, "GaussLaserBlue")
		SGAB IJ 1 Bright
		TNT1 A 0 A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 4.0, 0, "GaussLaserBlue")
		SGAB KL 1 Bright
		TNT1 A 0 A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 2.0, 0, "GaussLaserBlue")
		SGAB MN 1 bright A_Light1
		SGAB L 0 bright A_PlaySound("Gauss/Background",CHAN_AUTO,0.45)
		SGAB L 0 bright A_PlaySound("weapons/railgunlaser",CHAN_WEAPON,0.8)
		SGAB L 0 bright A_FireBullets (0, 0, 1, 0, "StealthGaussPuffBlue",0)
		SGAB L 0 bright A_RailAttack (75, 3, 1, "22 22 FF",None, 1, 0, "StealthGaussPuffBlue",0,0,8192,35,2.0,0.5,"GaussTrailBlue")
		SGAB L 0 Radius_Quake(2,random(9,13),0,1,0)
		SGAB N 1 bright offset(0, 33) A_Light1
		SGAB O 0 bright offset(1, 34) A_Light2
		SGAB O 1 bright A_ZoomFactor(0.989)
		SGAB O 0 bright offset(2, 36) A_Light2
		SGAB O 1 bright A_ZoomFactor(0.979)
		SGAB O 1 bright offset(4, 40) A_Light2
		SGAB A 0 A_Light0
		SGAB A 1 offset(5, 41) A_ZoomFactor(0.972)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAB A 1 offset(4, 40) A_ZoomFactor(0.978)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAB A 1 offset(3, 38) A_ZoomFactor(0.98)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAB A 1 offset(2, 36) A_ZoomFactor(0.985)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAB A 1 offset(1, 34) A_ZoomFactor(0.991)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAB A 1 offset(0, 33) A_ZoomFactor(1)
		TNT1 A 0 A_CheckReload
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAB AAAA 2 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAB ABCD 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAB EFGH 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAB A 3
		goto Restealth
	FireClass.Blue:
		TNT1 A 0 A_PlaySound("weapons/railcharge",CHAN_AUTO)
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 20.0, 0, "GaussLaserBlue")
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 18.0, 0, "GaussLaserBlue")
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 16.0, 0, "GaussLaserBlue")
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 14.0, 0, "GaussLaserBlue")
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 12.0, 0, "GaussLaserBlue")
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 10.0, 0, "GaussLaserBlue")
		SGAB A 2 Bright A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 8.0, 0, "GaussLaserBlue")
		TNT1 A 0 A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 6.0, 0, "GaussLaserBlue")
		SGAB IJ 1 Bright
		TNT1 A 0 A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 4.0, 0, "GaussLaserBlue")
		SGAB KL 1 Bright
		TNT1 A 0 A_RailAttack (0, 3, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 2.0, 0, "GaussLaserBlue")
		SGAB MN 1 bright A_Light1
		SGAB L 0 bright A_PlaySound("Gauss/Background",CHAN_AUTO,0.45)
		SGAB L 0 bright A_PlaySound("weapons/railgunlaser",CHAN_WEAPON,0.8)
		SGAB L 0 bright A_FireBullets (0, 0, 1, 0, "StealthGaussPuffBlue",0)
		SGAB L 0 bright A_RailAttack (75, 3, 1, "22 22 FF",None, 1, 0, "StealthGaussPuffBlue",0,0,8192,35,2.0,0.5,"GaussTrailBlue")
		TNT1 A 0 bright A_FireCustomMissile("RailgunImpactBlue",0,0)
		SGAB L 0 Radius_Quake(2,random(9,13),0,1,0)
		SGAB N 1 bright offset(0, 33) A_Light1
		SGAB O 0 bright offset(1, 34) A_Light2
		SGAB O 1 bright A_ZoomFactor(0.989)
		SGAB O 0 bright offset(2, 36) A_Light2
		SGAB O 1 bright A_ZoomFactor(0.979)
		SGAB O 1 bright offset(4, 40) A_Light2
		SGAB A 0 A_Light0
		SGAB A 1 offset(5, 41) A_ZoomFactor(0.972)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAB A 1 offset(4, 40) A_ZoomFactor(0.978)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAB A 1 offset(3, 38) A_ZoomFactor(0.98)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAB A 1 offset(2, 36) A_ZoomFactor(0.985)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAB A 1 offset(1, 34) A_ZoomFactor(0.991)
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		SGAB A 1 offset(0, 33) A_ZoomFactor(1)
		TNT1 A 0 A_CheckReload
		TNT1 A 0 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAB AAAA 2 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAB ABCD 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAB EFGH 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		SGAB A 3
		goto Restealth
	FireZoomed.Blue:
	    TNT1 A 0 A_JumpIfInventory ("IsStealth", 1, "FireZoomedClass.Blue")
		TNT1 A 0 A_PlaySound("weapons/railcharge",CHAN_AUTO)
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 20.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 18.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 16.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 14.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 12.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 10.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 8.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 6.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 4.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 2.0, 0, "GaussLaserBlue")
		TNT1 A 0 bright A_PlaySound("Gauss/Background",CHAN_AUTO,0.45)
		TNT1 A 0 bright A_PlaySound("weapons/railgunlaser",CHAN_WEAPON,0.8)
		TNT1 A 0 bright A_FireBullets (0, 0, 1, 0, "StealthGaussPuffBlue",0)
		TNT1 A 0 bright A_RailAttack (75, 0, 1, "22 22 FF",None, 1, 0, "StealthGaussPuffBlue",0,0,8192,35,2.0,0.5,"GaussTrailBlue")
		TNT1 A 0 Radius_Quake(2,random(9,13),0,1,0)
		TNT1 A 1 A_ZoomFactor (3.9)
		TNT1 A 1 A_ZoomFactor (3.8)
		TNT1 A 1 A_ZoomFactor (3.9)
		TNT1 A 1 A_ZoomFactor (4.0)
		TNT1 A 0 A_CheckReload
		TNT1 AAAAAA 1 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 AAAA 2 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 AAAA 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 AAAA 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 A 3
		goto RestealthZoomed
	FireZoomedClass.Blue:
	    TNT1 A 0 A_PlaySound("weapons/railcharge",CHAN_AUTO)
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 20.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 18.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 16.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 14.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 12.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 10.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 8.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 6.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 4.0, 0, "GaussLaserBlue")
		TNT1 A 2 A_RailAttack (0, 0, 0,NONE,NONE, RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 0, "LaserPuffBlue", 0, 0, 5000, 10, 2.0, 0, "GaussLaserBlue")
		TNT1 A 0 bright A_PlaySound("Gauss/Background",CHAN_AUTO,0.45)
		TNT1 A 0 bright A_PlaySound("weapons/railgunlaser",CHAN_WEAPON,0.8)
		TNT1 A 0 bright A_FireBullets (0, 0, 1, 0, "StealthGaussPuffBlue",0)
		TNT1 A 0 bright A_RailAttack (75, 0, 1, "22 22 FF",None, 1, 0, "StealthGaussPuffBlue",0,0,8192,35,2.0,0.5,"GaussTrailBlue")
		TNT1 A 0 bright A_FireCustomMissile("RailgunImpactBlue",0,0)
		TNT1 A 0 Radius_Quake(2,random(9,13),0,1,0)
		TNT1 A 1 A_ZoomFactor (3.9)
		TNT1 A 1 A_ZoomFactor (3.8)
		TNT1 A 1 A_ZoomFactor (3.9)
		TNT1 A 1 A_ZoomFactor (4.0)
		TNT1 A 0 A_CheckReload
		TNT1 AAAAAA 1 A_FireCustomMissile ("OverheatSmokeSpawner", 0, false, 8)
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 AAAA 2 A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 AAAA 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 AAAA 2 bright A_JumpIfInventory("ActionMeleeAttack",1,"UseMeleeAttack")
		TNT1 A 0 A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
		TNT1 A 3
		goto RestealthZoomed
	Fire.Stealth:
		TNT1 A 0 A_JumpIfInventory ("StealthMode", 3, "FireGo")
		TNT1 A 0 A_GiveInventory ("StealthFire", 1)
		TNT1 A 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)
		goto FireGo
	Restealth:
		TNT1 A 0 A_JumpIfInventory ("StealthFire", 1, 2)
		goto Ready
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_ON)
		TNT1 A 0 A_JumpIfInventory ("IsBlue", 1, "Restealth.Blue")
		SGAR AAAAAAAAAAAAAAA 1 A_WeaponReady
		goto Ready
	Restealth.Blue:
		SGAB AAAAAAAAAAAAAAA 1 A_WeaponReady
		goto Ready
	RestealthZoomed:
		TNT1 A 0 A_JumpIfInventory ("StealthFire", 1, 2)
		goto Ready
		TNT1 A 0 A_TakeInventory ("StealthFire", 1)
		TNT1 A 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_ON)
		TNT1 A 15 A_WeaponReady
		goto Ready
	AltFire:
		TNT1 A 0 A_JumpIfInventory ("IsBlue", 1, "AltFire.Blue")
		TNT1 A 0 A_JumpIfInventory ("IsInSpawnRoom", 1, "AltRejected")
		TNT1 A 0 A_JumpIfInventory ("InMenu", 1, "AltRejected")
	    TNT1 A 0 A_JumpIfInventory ("IsStealth", 1, "AltFire2")
		TNT1 A 0 A_Print("You need a Stealth Suit!")
		goto Ready
	AltFire2:
	    TNT1 A 0 A_JumpIfInventory ("IsStealthZoomed", 1, "AltFire2Zoomed")
		TNT1 A 0 A_JumpIfInventory ("StealthCharge", 1, 1)
		goto AltRejected
		SGAR A 5 A_JumpIfInventory("StealthMode", 1, "AltFireOff")
		SGAR A 50 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_ON)
		goto Ready
	AltFire2Zoomed:
		TNT1 A 0 A_JumpIfInventory ("StealthCharge", 1, 1)
		goto AltRejected
		TNT1 A 5 A_JumpIfInventory("StealthMode", 1, "AltFireOffZoomed")
		TNT1 A 50 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_ON)
		goto Ready
	AltFireOff:
		SGAR A 5 A_JumpIfInventory("StealthMode", 3, "AltRejected")
		SGAR A 5
		TNT1 A 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_OFF)
		SGAR A 40 A_WeaponReady (WRF_NOSECONDARY)
		goto Ready
	AltFireOffZoomed:
		TNT1 A 5 A_JumpIfInventory("StealthMode", 3, "AltRejected")
		TNT1 A 5
		TNT1 A 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_OFF)
		TNT1 A 40 A_WeaponReady (WRF_NOSECONDARY)
		goto Ready
	AltRejected:
		SGAR A 16 A_WeaponReady (WRF_NOSECONDARY)
		goto Ready
	AltFire.Blue:
		TNT1 A 0 A_JumpIfInventory ("IsInSpawnRoom", 1, "AltRejected.Blue")
		TNT1 A 0 A_JumpIfInventory ("InMenu", 1, "AltRejected.Blue")
	    TNT1 A 0 A_JumpIfInventory ("IsStealth", 1, "AltFire2.Blue")
		TNT1 A 0 A_Print("You need a Stealth Suit!")
		goto Ready
	AltFire2.Blue:
	    TNT1 A 0 A_JumpIfInventory ("IsStealthZoomed", 1, "AltFire2Zoomed.Blue")
		TNT1 A 0 A_JumpIfInventory ("StealthCharge", 1, 1)
		goto AltRejected.Blue
		SGAB A 5 A_JumpIfInventory("StealthMode", 1, "AltFireOff.Blue")
		SGAB A 50 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_ON)
		goto Ready
	AltFire2Zoomed.Blue:
		TNT1 A 0 A_JumpIfInventory ("StealthCharge", 1, 1)
		goto AltRejected.Blue
		TNT1 A 5 A_JumpIfInventory("StealthMode", 1, "AltFireOffZoomed.Blue")
		TNT1 A 50 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_ON)
		goto Ready
	AltFireOff.Blue:
		SGAB A 5 A_JumpIfInventory("StealthMode", 3, "AltRejected.Blue")
		SGAB A 5
		SGAB A 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_OFF)
		SGAB A 40 A_WeaponReady (WRF_NOSECONDARY)
		goto Ready
	AltFireOffZoomed.Blue:
		TNT1 A 5 A_JumpIfInventory("StealthMode", 3, "AltRejected.Blue")
		TNT1 A 5
		TNT1 A 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_OFF)
		TNT1 A 40 A_WeaponReady (WRF_NOSECONDARY)
		goto Ready
	AltRejected.Blue:
		SGAB A 16 A_WeaponReady (WRF_NOSECONDARY)
		goto Ready
    Reload:
	    TNT1 A 0 A_TakeInventory("ActionReload",1)
		TNT1 A 0
	ChangeMode:
		TNT1 A 0 A_JumpIfInventory("IsBlue",1,"ChangeMode.Blue") 
		SGAR A 1 A_JumpIfInventory ("IsStealthZoomed", 1, "ChangeModeOff")
		TNT1 A 0 ACS_ExecuteAlways (916, 0, 0)
		TNT1 A 0 A_GiveInventory ("IsStealthZoomed", 1)
		TNT1 A 0 A_PlaySound ("rc50/zoomin")
		SGAR A 7
		TNT1 A 10 A_ZoomFactor (4.0)
		goto Ready
	ChangeModeOff:
	    TNT1 A 0 A_JumpIfInventory("IsBlue",1,"ChangeModeOff.Blue") 
		TNT1 A 0 A_TakeInventory ("IsStealthZoomed", 1)
		TNT1 A 0 A_PlaySound ("rc50/zoomin")
		TNT1 A 3 A_ZoomFactor (1.0)
		TNT1 A 7 ACS_ExecuteAlways (916, 0, 0)
		SGAR A 10
		goto Ready
	ChangeMode.Blue:
		SGAB A 1 A_JumpIfInventory ("IsStealthZoomed", 1, "ChangeModeOff.Blue")
		TNT1 A 0 ACS_ExecuteAlways (916, 0, 0)
		TNT1 A 0 A_GiveInventory ("IsStealthZoomed", 1)
		TNT1 A 0 A_PlaySound ("rc50/zoomin")
		SGAB A 7
		TNT1 A 10 A_ZoomFactor (4.0)
		goto Ready
	ChangeModeOff.Blue:
		TNT1 A 0 A_TakeInventory ("IsStealthZoomed", 1)
		TNT1 A 0 A_PlaySound ("rc50/zoomin")
		TNT1 A 3 A_ZoomFactor (1.0)
		TNT1 A 7 ACS_ExecuteAlways (916, 0, 0)
		SGAB A 10
		goto Ready
	}
}

Actor GaussLaserRed
{
  +FORCEXYBILLBOARD
  +NOINTERACTION
  +NOGRAVITY
  Renderstyle Add
  Alpha 0.75
  Scale 0.04
  States
  {
  Spawn:
	HSPO A 1 Bright
	HSPO A 1 Bright A_FadeOut(0.020)
  Effect:
    HSPO A 0 A_SetScale(ScaleX +0.005, ScaleY +0.005)
    HSPO A 1 bright A_FadeOut(0.1)
    Loop
	}
}

Actor GaussLaserBlue : GaussLaserRed
{
  States
  {
  Spawn:
	HSPB A 1 Bright
	HSPB A 1 Bright A_FadeOut(0.020)
  Effect:
    HSPB A 0 A_SetScale(ScaleX +0.005, ScaleY +0.005)
    HSPB A 1 bright A_FadeOut(0.1)
    Loop
	}
}

ACTOR GaussTrailRed
{
  RenderStyle Add
  Alpha 0.75
  Scale 0.16
  +NOINTERACTION
  +NOGRAVITY
  +CLIENTSIDEONLY
	
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_SetScale(ScaleX, ScaleY -0.005)
    HSPO A 1 bright
  Effect:
    TNT1 A 0 A_JumpIf(ScaleY <= 0, "NULL")
    TNT1 A 0 A_SetScale(ScaleX -0.01, ScaleY -0.01)
    HSPO A 1 bright A_FadeOut(0.025)
    Loop
  }
}

ACTOR GaussTrailBlue : GaussTrailRed
{
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_SetScale(ScaleX, ScaleY -0.005)
    HSPB A 1 bright
  Effect:
    TNT1 A 0 A_JumpIf(ScaleY <= 0, "NULL")
    TNT1 A 0 A_SetScale(ScaleX -0.01, ScaleY -0.01)
    HSPB A 1 bright A_FadeOut(0.025)
    Loop
  }
}

actor StealthGaussPuff : GaussPuff {
	states {
	Spawn:
	Melee:
	Crash:
	    TNT1 A 0
	    TNT1 A 0 A_SpawnItemEx("KsawBoltFX")
		VOLX ABCDEFEDCB 2 BRIGHT A_FadeOut(0.01)
		VOLX A 1 A_FadeOut
		wait
	}  
}

actor StealthGaussPuffBlue : GaussPuff {
    translation "168:191=192:213", "112:127=192:213"
	states {
	Spawn:
	Melee:
	Crash:
	    TNT1 A 0
	    TNT1 A 0 A_SpawnItemEx("KsawBoltFXBlue")
		VOLX ABCDEFEDCB 2 BRIGHT A_FadeOut(0.01)
		VOLX A 1 A_FadeOut
		wait
	}  
}
//------------------------------------------------------------------------------
ACTOR RailgunImpact : FastProjectile
{
    Speed 999
    Radius 2
    Height 2
    RenderStyle Add
    Alpha 0.85
    +THRUACTORS
    +BounceOnWalls
    +BounceOnFloors
    +BounceOnCeilings
    +USEBOUNCESTATE
    BounceFactor 1.0
    BounceCOunt 3
    States
    {
    Spawn:
	    TNT1 A 1
	    Loop
	Bounce.Wall:
	Bounce.Floor:
	Bounce.Ceiling:
		TNT1 A 0
		TNT1 A 1
		Goto Death
    Death:
	    TNT1 A 0
		TNT1 A 0 A_PlaySound("weapons/railgunimpact")
		TNT1 A 0 A_SpawnItemEx("RailgunImpactExplode",128,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	    TNT1 A 1 A_SpawnItemEx("RedShockWave", 0, 0, 0, 0, 0, 0, 0, 128)
	    Stop
	}
}

ACTOR RailgunImpactBlue : RailgunImpact
{
    States
    {
	Bounce.Wall:
	Bounce.Floor:
	Bounce.Ceiling:
		TNT1 A 0
		TNT1 A 1
		Goto Death
	Death:
	    TNT1 A 0
		TNT1 A 0 A_PlaySound("weapons/railgunimpact")
		TNT1 A 0 A_SpawnItemEx("RailgunImpactExplodeBlue",128,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	    TNT1 A 1 A_SpawnItemEx("BlueShockWave", 0, 0, 0, 0, 0, 0, 0, 128)
	    Stop
	}
}

ACTOR RailgunImpactExplode
{
	PROJECTILE
	+Missile
	+NOCLIP
	Radius 2
	Height 2
	Speed 80
	Damagetype "Energy"
	Obituary "$OB_STEALTHGAUSS"
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1 A_CustomMissile("RailgunImpactExplode2", 0, 0, 180, 2, momz) // Gaturra: spawns a explosive projectile aiming backwards exactly on the opposite side of the wall
		Stop
	}
}

ACTOR RailgunImpactExplodeBlue : RailgunImpactExplode
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1 A_CustomMissile("RailgunImpactExplode2Blue", 0, 0, 180, 2, momz) // Gaturra: spawns a explosive projectile aiming backwards exactly on the opposite side of the wall
		Stop
	}
}

ACTOR RailgunImpactExplode2
{
    Renderstyle Add
    Alpha 0.75
	PROJECTILE
	+Missile
    +THRUACTORS
    +NODAMAGETHRUST
    +NOBLOCKMAP
    +NODROPOFF
  	Speed 80
    Damagetype "Energy"
	Obituary "$OB_STEALTHGAUSS"
	Decal "GaussScorch"
    States
    {
    Spawn:
	    TNT1 A 0
	    TNT1 A 1
	    Stop
	Death:
	    TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("KsawBoltFX")
        TNT1 A 1 A_Explode(75,150,0)
		Stop
    }
}

ACTOR RailgunImpactExplode2Blue : RailgunImpactExplode2
{
    States
    {
    Spawn:
	    TNT1 A 0
	    TNT1 A 1
	    Stop
	Death:
	    TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("KsawBoltFXBlue")
        TNT1 A 1 A_Explode(75,150,0)
		Stop
    }
}

ACTOR RedShockWave
{ 
   Speed 0
   Height 2
   Radius 2
   Scale 1.0
   RenderStyle add
   Alpha 0.6
   +DROPOFF 
   +NOBLOCKMAP 
   +NOGRAVITY 
   +CLIENTSIDEONLY
   Translation "112:127=228:246"
   States 
   { 
   Spawn: 
      SHOK A 1
      SHOK CEGIKMOQ 1 A_FadeOut(0.01)
      Stop 
   } 
}

actor BlueShockWave : RedShockWave { Translation "112:127=194:207" }
actor IsStealthZoomed : Inventory {}