
ACTOR FreedoomScatterlaser : weapon
{
  Weapon.UpSound "doomguy/doomswitch"
  Weapon.SelectionOrder 400
  Weapon.AmmoUse 2
  Weapon.AmmoGive 8
  Weapon.AmmoType "Shell"
  Inventory.PickupMessage "Ooh! A Scattergauss 3000! More than a laser pointer!"
  Obituary "%o is now 90 percent shrapnel."
  Tag "Double Scattergauss"
  Inventory.RestrictedTo "FreedoomGuyClass"
  States
  {
  Ready:
    PSSG A 1 A_WeaponReady
    Loop
  Deselect:
		PSSG A 1 A_Lower
		TNT1 A 0 A_Lower 
		TNT1 A 0 A_Lower 
		Loop
	Select:
		PSSG A 1 A_Raise
		TNT1 A 0 A_Raise 
		TNT1 A 0 A_Raise 
		Loop
	  Fire: 
		PSSG A 0 A_FireBullets (11.2, 7.1, 20, 18, "InvisibleBulletpuff")
		PSGS A 0 Bright A_RailAttack(5,4,false,"ffeb84","ffffff",RGF_FULLBRIGHT|RGF_SILENT|RGF_NOPIERCING,1,none,15,5,4096,8,2,0.5,"RailPuffer",random(0,1))
		PSGS A 0 Bright A_RailAttack(5,4,false,"ffeb84","ffffff",RGF_FULLBRIGHT|RGF_SILENT|RGF_NOPIERCING,1,none,15,5,4096,8,2,0.5,"RailPuffer",random(0,1))
		PSGS A 0 Bright A_RailAttack(5,0,false,"ffeb84","ffffff",RGF_FULLBRIGHT|RGF_SILENT|RGF_NOPIERCING,1,none,15,5,4096,8,2,0.5,"RailPuffer",random(0,1))
		PSGS A 0 Bright A_RailAttack(5,-4,false,"ffeb84","ffffff",RGF_FULLBRIGHT|RGF_SILENT|RGF_NOPIERCING,1,none,15,0.5,4096,8,2,0.5,"RailPuffer",random(0,1))
		PSGS A 0 Bright A_RailAttack(5,-4,false,"ffeb84","ffffff",RGF_FULLBRIGHT|RGF_SILENT|RGF_NOPIERCING,1,none,15,5,4096,8,2,0.5,"RailPuffer",random(0,1))
		TNT1 A 0 A_giveinventory("DrDoomguySlowdown",1)
		3DRW A 0 A_PlaySound ("DoubleShotty/Fire", CHAN_WEAPON)
		TNT1 A 0 A_PlaySound ("DoubleShotty/Fire",7,0.4)
		TNT1 A 0 A_GunFlash("Modern")
		TNT1 A 0 A_Quake(3, 4, 0, 128, "NOSOUND")
		PSSG AAA 1 Bright 
		PSSG AAA 1 
		PSSG BBCC 1 
		PSSG DDDDEEEE 1 
		PSSG FFGGHHI 1 
		TNT1 A 0 A_CheckReload
		PSSG JJKKLLM 1
		TNT1 A 0 A_OpenShotgun2
		PSSG NNOOPPQ 1
		PSSG RRSSTTB 1
		TNT1 A 0 A_LoadShotgun2
		PSSG BBBBAAA 1
		PSSG AA 1
		PSSG AAAA 1 
		TNT1 A 0 A_PlaySound ("weapons/sshotc", CHAN_WEAPON)
		PSSG AAAAAAAA 1 
		PSSG A 2 
		Goto Ready
  StartLag:
		PSSG A 4
		Goto Fire
	Modern:
		PSSF A 1 Bright A_Light1 //Just so I can somehow read this
	TNT1 A 0 A_SetPitch(pitch-2)
		PSSF A 1 Bright A_Light1
	TNT1 A 0 A_SetPitch(pitch-2)
		PSSF A 1 Bright A_Light1
	TNT1 A 0 A_SetPitch(pitch+1)
		PSSF B 1 A_Light1
	TNT1 A 0 A_SetPitch(pitch+1)
		PSSF B 1 A_Light2
	TNT1 A 0 A_SetPitch(pitch+0.25)
		PSSF B 1 A_Light2
	TNT1 A 0 A_SetPitch(pitch+0.25)
		TNT1 A 1 A_Light2
	TNT1 A 0 A_SetPitch(pitch+0.25)
	TNT1 AAAAA 1 A_SetPitch(pitch+0.25)
	Goto Lightdone
  }
}

ACTOR RailPuffer
{
	+NOBLOCKMAP
	+ALLOWPARTICLES
	+RANDOMIZE
	Translation "112:127=168:191"
	// [BC] No need to tag it with a network ID.
	+NONETID
	RenderStyle Translucent
	Alpha 0.5
	Gravity 0.1
	VSpeed 1
	scale 0.2
	Mass 5
	States
	{
	Spawn:
		PUFF A 4 Bright
		PUFF B 4
	Melee:
		PUFF CD 4
		Stop
	}
}