actor JoeGrenadeWep_NormalBar : NormalBar{args 4, 110}
actor JoeGrenadeWep : BaseMM8BDMWep
{
Weapon.AmmoUse 3
Weapon.AmmoGive 28
Weapon.SlotNumber 4
Inventory.Pickupmessage "$PU_JOEGRENADE"
Obituary "$OB_JOEGRENADE"
Tag "$TAG_JOEGRENADE"
weapon.ammotype "JoeGrenadeAmmo"
inventory.icon "JOEGICON"
States
{
SpawnLoop:
JOEG Z -1
loop
Ready:
JGRN A 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_JOEGRENADE)
JGRN A 0 A_JumpIfNoAmmo("ReadyNoAmmo")
JGRN A 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
ReadyNoAmmo:
BOMH J 1 A_WeaponReady
BOMH J 0 A_JumpIfNoAmmo("ReadyNoAmmo")
Goto Ready+1
Deselect:
JGRN A 0 
goto DeselectSwap
Select:
JGRN A 0 
goto SelectSwap
Fire:
JGRN A 0 A_JumpIfNoAmmo("NoAmmo")
JGRN A 0 A_PlaySoundEx("weapon/joegrenade","Weapon")
JGRN G 0 A_FireCustomMissile("JoeGrenade_W",8,0,8,0,0)
JGRN G 0 A_FireCustomMissile("JoeGrenade_W",-8,1,8,0,0)
BOMH BCDEFG 2
JGRN A 2 Offset(-4,69)
JGRN A 2 Offset(-2,48)
BOMH B 0 A_Refire
Goto Ready+1
NoAmmo:
BOMH J 1 ACS_NamedExecuteAlways("core_noammo",0)
Goto ReadyNoAmmo

}
}

actor JoeGrenadeAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
+INVENTORY.IGNORESKILL
}

actor JoeGrenade_W : BasicProjectile
{
+THRUSPECIES
PROJECTILE
damage (CallACS("vile_cbm_damage",8))
-NOGRAVITY
scale 2.5
Height 8
Radius 8
Speed 20
translation "192:192=4:4", "198:198=110:110"
damagetype "JoeGrenade"
Obituary "$OB_JOEGRENADE"
States
{
Spawn:
JOEG A 0
JOEG A 0 ThrustThingZ(0,18,0,1)
JOEG BCDE 3
goto Spawn+2
Death:
METC E 0 A_PlaySoundEx("weapon/wrapexplode","Body")
METC E 0 A_Explode(CallACS("vile_cbm_damage",25),112,0)
METC E 0 A_Stop
METC E 0 A_ChangeFlag("NOGRAVITY",1)
NAPA EFGHIJKLMNOPQRS 2
stop
}
}