actor SharkLaserWep_NormalBar : NormalBar{args 4,193}
actor SharkLaserWep : BaseMM8BDMWep 
{
Weapon.AmmoUse 3
Weapon.AmmoGive 36
Weapon.SlotNumber 3
Inventory.Pickupmessage "$PU_SHARKLASER"
Obituary "$OB_SHARKLASER"
Tag "$TAG_SHARKLASER"
weapon.ammotype "SharkLaserAmmo"
inventory.pickupsound "weapon/weaponup"
inventory.icon "SHKLICON"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
SpawnLoop:
SHKL Z 1
loop
Ready:
SHKL A 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_SHARKLASER)
SHKL A 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
Deselect:
SHKL A 0 
goto DeselectSwap
Select:
SHKL A 0 
goto SelectSwap
Fire:
SHKL A 0 A_JumpIfNoAmmo("NoAmmo")
SHKL A 0 A_PlaySoundEx("misc/sharklaser","Weapon")
SHKL A 0 A_FireCustomMissile("SharkLaserCopywep",0,1,8,8)
SHKL BC 3
SHKL A 8
goto Ready+1
NoAmmo:
SHKL A 0 ACS_NamedExecuteAlways("core_noammo",0)
Goto Ready+1
}
}

actor SharkLaserAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 36
+INVENTORY.IGNORESKILL
}

actor SharkLaserCopywep : BasicFastProjectile
{
+BRIGHT
Obituary "$OB_SHARKLASER"
var int user_PierceRipper;
PROJECTILE
+RIPPER
damage (CallACS("vile_cbm_damage",14))
damagetype "SharkLaser"
scale 1.25
height 16
radius 16
Speed 60
+NOINTERACTION
+FORCEXYBILLBOARD
States
{
	Spawn:
	SHKL K 0
	SHKL K 0 A_SpawnItemEx("SharkLaserTrailCopy",0,0,0,momx/4,momy/4,momz/4,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
	SHKL K 1 //A_ScaleVelocity(1.5)
	SHKL L 0 A_SpawnItemEx("SharkLaserTrailCopy",0,0,0,momx/4,momy/4,momz/4,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
	SHKL L 1 A_ChangeFlag("NOINTERACTION",0)
	loop
}
}

actor SharkLaserTrailCopy : BasicProjectile
{
+BRIGHT
radius 16
height 16
var int user_PierceRipper;
Obituary "$OB_SHARKLASER"
+FORCEXYBILLBOARD
+RANDOMIZE
speed 5
Scale 1.25
PROJECTILE
+RIPPER
damage (CallACS("vile_cbm_damage",5))
damagetype "SharkLaser"
States
{
Spawn:
SHKL KLKL 4 
stop
}
}
