actor LavaLauncherWep_NormalBar : NormalBar{args 90,227}
actor LavaLauncherWep : BaseMM8BDMWep
{
Weapon.AmmoUse 1
Weapon.AmmoGive 112
Weapon.SlotNumber 3
Obituary "$OB_LAVALAUNCHER"
Inventory.Pickupmessage "$PU_LAVALAUNCHER"
Tag "$TAG_LAVALAUNCHER"
weapon.ammotype "LavaLauncherAmmo"
inventory.pickupsound "weapon/weaponup"
inventory.icon "LLCHICON"
Scale 2.0
States
{
SpawnLoop:
LLCH Z 1
loop
Ready:
LLCH A 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_LAVALAUNCHER)
LLCH A 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
Deselect:
LLCH A 0 
goto DeselectSwap
Select:
LLCH A 0 
goto SelectSwap
Fire:
LLCH A 0 A_JumpIfNoAmmo("NoAmmo")
LLCH A 0 A_PlaySoundEx("weapon/lavalauncher1","Weapon")
LLCH B 3
LLCH A 0 A_JumpIfInventory("LavaLauncherFlag",1,3)
LLCH A 0 A_GunFlash
LLCH C 0 A_FireCustomMissile("LavaLauncher",0,1,8,0)
LLCH CCC 1 A_FireCustomMissile("LavaLauncherFX",0,0,8,0)
goto Hold
Hold:
LLCH A 0 A_JumpIfNoAmmo("NoAmmo")
LLCH A 0 A_JumpIfInventory("LavaLauncherFlag",1,3)
LLCH A 0 A_PlaySoundEx("weapon/lavalauncher2","Weapon")
LLCH A 0 A_GunFlash
LLCH C 0 A_FireCustomMissile("LavaLauncher",0,1,8,0)
LLCH CCC 1 A_FireCustomMissile("LavaLauncherFX",0,0,8,0)
LLCH A 0 A_Refire
LLCH A 0 A_TakeInventory("LavaLauncherFlag",999)
LLCH BC 3
LLCH A 0 A_ClearRefire
Goto Ready+1
NoAmmo:
LLCH A 0 A_ClearRefire
LLCH A 1 ACS_NamedExecuteAlways("core_noammo",0)
LLCH A 0 A_Refire
Goto Ready+1
Flash:
TNT1 A 0 A_GiveInventory("LavaLauncherFlag",1)
TNT1 A 12
TNT1 A 0 A_TakeInventory("LavaLauncherFlag",999)
stop
}
}


actor LavaLauncher : BasicProjectile
{
PROJECTILE
Radius 32
Height 32
renderstyle none
Damage (CallACS("vile_cbm_damage",8))
+DONTBLAST
Obituary "$OB_LAVALAUNCHER"
damagetype "LavaLauncher"
Speed 20
States
{
Spawn:
PLAY A 12
stop
Death:
TNT1 A 0 A_SpawnItemEx("OilPitIgnite")
stop
}
}


actor LavaLauncherFx : BasicGraphicEffect
{
+BRIGHT
scale 1.25
PROJECTILE
Radius 4
Height 4
+NOINTERACTION
+CLIENTSIDEONLY
alpha 1.0
Obituary "$OB_LAVALAUNCHER"
renderstyle translucent
//Damage (12)
+DONTBLAST
Speed 22
States
{
SpawnFrame:
LLCH A 0
TNT1 A 2 A_ChangeVelocity(0.0,random(-1.5,1.5),random(-1.5,1.5),CVF_RELATIVE)
LLCH DEFGD 2
Fade:
LLCH FGDE 2 A_FadeOut(0.2)
loop
}
}

actor LavaLauncherAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 112
+INVENTORY.IGNORESKILL
}

actor LavaLauncherFlag : CutterFlag {}