actor SpinWheelWep_NormalBar : NormalBar {args 213, 118}

actor SpinWheelWep : BaseMM8BDMWep
{
    //$Category RNC-Weapons
    //$Title Spin Wheel
    //$Sprite RNCWF0
    Weapon.AmmoUse 1
    Weapon.AmmoGive 56
    Weapon.SlotNumber 3
    Tag "$TAG_SPINWHEEL"
    Obituary "$OB_SPINWHEEL"
    Inventory.Pickupmessage "$PU_SPINWHEEL"
    weapon.ammotype "SpinWheelAmmo"
    inventory.icon "RNCWP6"
    States
    {
        SpawnLoop:
            RNCW F -1
            loop

        Ready:
            NCH2 K 0 ACS_NamedExecuteWithResult("core_weaponcolor",CLR_SPINWHEEL)
            NCH2 K 0 A_JumpIfNoAmmo(2)
            NCH2 K 1 A_WeaponReady
            goto Ready+1
            NCH2 U 1 A_WeaponReady
            goto Ready+1

        Deselect:
            NCH2 K 0
            goto DeselectSwap
        Select:
            NCH2 K 0
            goto SelectSwap

        Fire:
            NCH2 K 0 A_JumpIfNoAmmo("NoAmmo")
            NCH2 K 0 A_PlaySoundEx("weapon/metalblade","Weapon")
            NCH2 K 0 A_FireCustomMissile("SpinWheelSpawner",0,1,8,0)
            NCH2 LMNOP 1
            TNT1 A 2
            TNT1 A 0 A_JumpIfNoAmmo(4)
            NCH2 QR 1
            NCH2 R 0 A_Refire
            goto Ready+1
            NCH2 ST 1
            NCH2 T 0 A_Refire
            goto Ready+1
            
        NoAmmo:
            NCH2 U 1 ACS_NamedExecute("core_noammo",0)
            goto Ready+1
    }
}

actor SpinWheelAmmo : Ammo {inventory.amount 1 inventory.maxamount 56}

actor SpinWheelSpawner
{
    PROJECTILE
    +NOINTERACTION
    +NOCLIP
    Damage(0)
    Height 1
    Radius 1
    Speed 1
    States
    {
        Spawn:
            TNT1 A 0
            TNT1 A 1 A_SpawnItemEx("SpinWheel")
            stop
    }
}

actor SpinWheel : BasicProjectile
{
    -NOGRAVITY
    +DONTBLAST
    damagetype "SpinWheel"
    Obituary "$OB_SPINWHEEL"
    damage (CallACS("rnc_cbm_damage",25))
    gravity 1.0
    Speed 0
    Radius 15
    Height 8
    reactiontime 30
    States
    {
        Spawn:
            TNT1 A 0
            TNT1 A 0 A_Recoil(-10)
            TNT1 A 3 ThrustThingZ(0,50,0,1)
            RNCP OPQ 3
            goto Spawn+3
        Death:
            TNT1 A 1 A_SpawnItemEx("SpinWheelForward")
            stop
    }
}

actor SpinWheelForward : SpinWheel
{
    +NOEXPLODEFLOOR
    +STEPMISSILE
    +BOUNCEONCEILINGS
    maxstepheight 24
    bouncecount 1
    States
    {
        Spawn:
            RNCP OPQ 3 A_Recoil(-20)
            Loop
        Death:
            TNT1 A 0
            stop
    }
}