ACTOR "Laser Cannon" : Weapon 30329
{
Weapon.SelectionOrder 100
+WEAPON.NOAUTOAIM
+INVENTORY.UNDROPPABLE
Weapon.Kickback 1
Weapon.AmmoUse 1
Weapon.AmmoGive 40
Weapon.AmmoType "NewCell"
Inventory.PickupMessage "You got the Laser Cannon!"
Obituary "%o was cut to pieces by %k's laser cannon."
Tag "Laser Cannon"
States
	{
	Spawn:
		SPRY A -1
		Loop
	Ready:
		SPCN I 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		Loop
	Select:
		SPCN I 1 A_Raise
		Loop
	Deselect:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
		TNT1 A 0 A_TakeInventory("MineAction",1)
		TNT1 A 0 A_TakeInventory("RailgunAction",1)
	DeselectLoop:
		SPCN I 1 A_Lower
		Loop
	Fire:
		TNT1 A 0
		SPCN I 2 A_PlaySound("monsters/darkmasterwind",CHAN_AUTO)
		SPCN ABCDE 3
		SPCN FEFEFEFEF 2
	Hold:
		TNT1 A 0 A_GunFlash
		TNT1 A 0 Bright A_PlaySound("monsters/darkmasterwind2",CHAN_AUTO)
		TNT1 A 0 A_FireCustomMissile("SpecOpsLaserPlayer",0,1,0,0)
		//TNT1 A 0 Bright A_RailAttack(random(3,8)*5,0,1,"none","red",RGF_SILENT|RGF_FULLBRIGHT,1,"RailgunImpactPlayerPuff")
		SPCN G 1 Bright A_PlaySound("LaserSpidFire",CHAN_WEAPON)
		SPCN GG 1 Bright
		TNT1 A 0 A_FireCustomMissile("SpecOpsLaserPlayer",0,1,0,0)
		//TNT1 A 0 Bright A_RailAttack(random(3,8)*5,0,1,"none","red",RGF_SILENT|RGF_FULLBRIGHT,1,"RailgunImpactPlayerPuff")
		SPCN H 1 Bright A_PlaySound("LaserSpidFire",CHAN_WEAPON)
		SPCN HH 1 Bright
		TNT1 A 0 A_ReFire
		SPCN F 3 A_PlaySound("Spray/Cool",CHAN_WEAPON)
		SPCN EDCB 3
		SPCN A 3
		Goto Ready
	Flash:
		TNT1 A 2 A_Light2
		TNT1 A 2 A_Light1
		Goto LightDone
	GrenadeCheck:
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,"GrenadeToss")
		TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
		Goto Ready
	GrenadeToss:
		TNT1 A 0 A_GiveInventory("Hand Grenade")
		TNT1 A 0 A_SelectWeapon("Hand Grenade")
		Goto Deselect
	MineCheck:
		TNT1 A 0 A_JumpIfInventory("MineAmmo",1,"MineToss")
		TNT1 A 0 A_TakeInventory("MineAction",1)
		Goto Ready
	MineToss:
		TNT1 A 0 A_GiveInventory("Land Mine")
		TNT1 A 0 A_SelectWeapon("Land Mine")
		Goto Deselect
	}
}

ACTOR SpecOpsLaserPlayer : SpecOpsLaser
{
  damage 6
  +THRUSPECIES
  Species "Player"
  Damagetype "Player"
  States
  {
  Spawn:
	TNT1 A 1
    Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("RailgunImpactEffectRed")
	TNT1 A 0 A_SpawnItem("BruiserRailPuff")
    TNT1 A 8 Bright
    Stop
  }
}