actor SpadeJavelinWep_NormalBar : NormalBar{args 211, 144}
actor SpadeJavelinWep : BaseMM8BDMWep
{
Weapon.AmmoUse 1
Weapon.AmmoGive 28
Weapon.SlotNumber 2
Inventory.Pickupmessage "$PU_SPADEJAVELIN"
Obituary "$OB_SPADEJAVELIN"
Tag "$TAG_SPADEJAVELIN"
inventory.icon "SJVLICON"
weapon.ammotype "SpadeJavelinAmmo"
States
{
SpawnLoop:
SJVL Z -1
loop
Ready:
SJVL A 0 ACS_NamedExecuteWithResult("core_weaponcolor",CLR_SPADEJAVELIN)
SJVL A 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
Deselect:
SJVL A 0 
goto DeselectSwap
Select:
SJVL A 0 
goto SelectSwap
Fire:
SJVL A 0 A_JumpIfNoAmmo("NoAmmo")
SJVL A 2 
SJVL A 0 A_PlaySoundEx("weapons/mmqg/spadejavelinfire","Weapon")
SJVL G 0 A_GiveInventory("SpadeJavelin_Fire_P",1)
SJVL BC 3
SJVL A 5
SJVL B 0 A_Refire
Goto Ready+1
NoAmmo:
SJVL A 1 ACS_NamedExecuteAlways("core_noammo",0)
Goto Ready+1
}
}

actor SpadeJavelin_Fire_P : CustomInventory
{
    States
    {
    Pickup:
		TNT1 A 0 A_TakeInventory("SpadeJavelinAmmo",1,TIF_NOTAKEINFINITE)
        TNT1 A 0 A_SpawnItemEx("SpadeJavelin", 0, 8, 32, cos(-pitch)*16, 0, sin(-pitch)*16, 0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERPITCH)
        TNT1 A 0 A_JumpIfInventory("PowerSpreadRune", 1, "PickupSpread")
        stop
    PickupSpread:
        TNT1 A 0 A_SpawnItemEx("SpadeJavelin", 0, 8, 32, cos(-pitch)*16, 0, sin(-pitch)*16, 15, SXF_TRANSFERTRANSLATION|SXF_TRANSFERPITCH)
        TNT1 A 0 A_SpawnItemEx("SpadeJavelin", 0, 8, 32, cos(-pitch)*16, 0, sin(-pitch)*16, -15, SXF_TRANSFERTRANSLATION|SXF_TRANSFERPITCH)
        stop
    }
}

actor SpadeJavelinAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 27
+INVENTORY.IGNORESKILL
}


actor SpadeJavelin : BasicProjectile
{
Obituary "$OB_SPADEJAVELIN"
+MISSILE
-RIPPER
+NOGRAVITY
+DONTBLAST
+HITTRACER
Radius 14
Height 12
scale 2.5
damagetype "SpadeJavelin"
damage (CallACS("mmqg_cbm_damage",13))
speed 16
reactiontime 15
states
{
Spawn:
SJVL D 3
wait
XDeath:
Crash:
SJVL D 1 A_JumpIfInventory("CanBeGrabBustered", 1, "Latch", AAPTR_TRACER)
SVJL D 1
goto Death
Latch:
SJVL D 0 A_ChangeFlag("NOCLIP",1)
SJVL D 0 A_PlaySoundEx("weapons/mmqg/spadejavelinhit", "Weapon")
SJVL D 0 A_Countdown
TNT1 A 0 A_SpawnItemEx("WheelCutterClimbFX", 16, 0, frandom(-16, 16), 5, 0, 1, 180+frandom(-8, 8), SXF_WEPFXCOLOR)
SJVL DDD 1
SJVL D 0 A_ChangeVelocity(8*cos(pitch),0,8*sin(-pitch),CVF_RELATIVE|CVF_REPLACE)
SJVL DD 1
SJVL D 0 A_ChangeVelocity(16*cos(pitch),0,16*sin(-pitch),CVF_RELATIVE|CVF_REPLACE)
SJVL D 0 A_ChangeFlag("NOCLIP",0)
SJVL D 0 A_ChangeFlag("Missile",1)
goto Spawn
Death:
SJVL D 1
stop
}
}