Actor HardSlamWep_V_NormalBar : NormalBar{Args 87, 198}
actor HardSlamWep_V : BaseMM8BDMWep
{
Weapon.AmmoUse 4
Weapon.AmmoGive 28
Weapon.SlotNumber 5
Inventory.Pickupmessage "$PU_HARDSLAM"
Obituary "$OB_HARDSLAM"
Tag "$TAG_HARDSLAM"
weapon.ammotype "HardSlamAmmo_V"
inventory.icon "HSLMICON"
States
{
SpawnLoop:
HSLM A 1
loop
Ready:
HSLM B 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_HARDSLAM)
HSLM B 0 //I have no clue what is causing the desync online, but I'm going all out this time.
HSLM B 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
Deselect:
HSLM B 0
goto DeselectSwap
Select:
HSLM B 0
goto SelectSwap
Fire:
HSLM C 0 A_JumpIfNoAmmo("NoAmmo")
HSLM C 2 A_GiveInventory("TakeHardSlam_V",1)
HSLM C 3 ThrustThingZ(0,80,1,1)
HSLM C 1 A_JumpIf(CallACS("core_CheckFooting"),"WelcomeToTheSlamJam")
wait
WelcomeToTheSlamJam:
HSLM C 0 A_PlaySoundEx("misc/quake","Weapon")
TNT1 A 0 A_SpawnItemEx("HardSlamShockwave_V",0,0,0,40,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("HardSlamShockwave_V",0,8,0,40,0,0,4,1)
TNT1 A 0 A_SpawnItemEx("HardSlamShockwave_V",0,-8,0,40,0,0,-4,1)
TNT1 A 0 A_SpawnItemEx("HardSlamShockwave_V",0,0,0,40,0,0,0+180,1)
TNT1 A 0 A_SpawnItemEx("HardSlamShockwave_V",0,8,0,40,0,0,4+180,1)
TNT1 A 0 A_SpawnItemEx("HardSlamShockwave_V",0,-8,0,40,0,0,-4+180,1)
TNT1 C 0 A_JumpIf(z-floorz>0, "InTheAir")
goto SlamJamsOver
InTheAir:
TNT1 B 0 A_ChangeVelocity(momx,momy,12)
SlamJamsOver:
HSLM BBBBBBBB 4 Offset(0,42) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
HSLM B 0 A_Refire
goto Ready+1
NoAmmo:
HSLM B 1 ACS_NamedExecuteAlways("core_noammo", 0)
Goto Ready+1
}
}

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

actor TakeHardSlam_V : CustomInventory //because my crusade against desync and fucking up the noammo state ends here.
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("HardSlamAmmo_V",4,TIF_NOTAKEINFINITE)
stop
}
}

actor HardSlamShockwave_V : ProjSpawnFuncActor
{
PROJECTILE
Translation "210:210=198:198"
Radius 8
Height 8
Scale 2.0
Damage (CallACS("vile_cbm_damage",23))
+NOEXPLODEFLOOR
+FLOORHUGGER
-NOGRAVITY
Damagetype "HardSlam_V"
Obituary "$OB_HARDSLAM"
Speed 40
States
{
Spawn:
HSLM EFG 2 
HSLM E 0 A_PlaySoundEx("weapon/HardSlam","Weapon")
HSLM F 2 
Goto Spawn
Crash:
Death:
TNT1 A 0 A_SpawnItemEx("ExplosionEffect1", 0, 0, 0, 0, 0, 0, 0, SXF_WEPFXCOLOR)
stop
}
}