actor GearMetalWep_NormalBar : NormalBar{args 90, 41}
actor GearMetalWep : BaseMM8BDMWep
{
Weapon.AmmoUse 3
Weapon.AmmoGive 28
Weapon.SlotNumber 4
Inventory.Pickupmessage "$PU_GEARMETAL"
Obituary "$OB_GEARMETAL"
Tag "$TAG_GEARMETAL"
weapon.ammotype "GearMetalAmmo"
inventory.icon "GRMTICON"
States
{
SpawnLoop:
GRMT Z 1
loop
Ready:
GRMT A 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_GEARMETAL)
GRMT A 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
Deselect:
GRMT A 0 
goto DeselectSwap
Select:
GRMT A 0 
goto SelectSwap
Fire:
GRMT A 0 A_JumpIfNoAmmo("NoAmmo")
GRMT A 0
GRMT A 1 
GRMT B 0  A_PlaySoundEx("weapon/metalblade","Weapon")
GRMT B 2 A_FireCustomMissile("GearMetal",0,1,8,0)
GRMT CDEFGH 2
GRMT A 2 A_Refire
Goto Ready+1
NoAmmo:
GRMT A 0 ACS_NamedExecuteAlways("core_noammo",0)
Goto Ready+1
}
}

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

actor GearMetal : BasicProjectile
{
PROJECTILE
scale 2.5
+RIPPER
+DONTBLAST
-NOGRAVITY
+NOEXPLODEFLOOR
+HEXENBOUNCE
-BOUNCEONFLOORS
+USEBOUNCESTATE
Bouncefactor 0.5
Wallbouncefactor 0.5
+STEPMISSILE
maxstepheight 48
Speed 24
Radius 16
Height 32
Damage (CallACS("vile_cbm_damage",11))
Obituary "$OB_GEARMETAL"
Damagetype "GearMetal" 
States
{
Spawn:
TNT1 I 0 
TNT1 I 0 ThrustThingZ(0, 12, 0, 1)
SpawnLoop:
GRMT IIJJ 1 A_CheckFloor("Vroom")
loop
Bounce:
GRMT IIIJJ 1 A_CheckFloor("BounceVroom")
loop
BounceVroom:
GRMT I 0 A_ChangeFlag("HEXENBOUNCE",0)
GRMT IIJJIIJJ 1
GMTL D 0 A_PlaySoundEx("weapon/wheelshot","weapon")
goto Vroom2

Vroom:
GRMT I 0 A_ChangeFlag("USEBOUNCESTATE",0)
GRMT I 0 //A_Recoil(-6)
GRMT IIJJIIJJ 1
GMTL D 0 A_PlaySoundEx("weapon/wheelshot","weapon")
Vroom1:
GRMT IIJJIIJJ 1 A_Recoil(4)
GRMT I 0 A_ChangeFlag("HEXENBOUNCE",0)
Goto Vroom1
Vroom2:
GRMT IIJJIIJJ 1 A_Recoil(4)
GRMT I 0 A_ChangeFlag("HEXENBOUNCE",0)
Goto Vroom2
Death:
GRMT I 0 
Stop
}
}