actor RubberDuffWep_NormalBar : NormalBar{args 103, 194}
actor RubberDuffWep : BaseMM8BDMWep
{ 
Weapon.AmmoUse 2
Weapon.AmmoGive 28
Weapon.SlotNumber 3
Inventory.Pickupmessage "$PU_RUBBERDUFF"
Obituary "$OB_RUBBERDUFF"
Tag "$TAG_RUBBERDUFF"
weapon.ammotype "RubberDuffAmmo"
inventory.icon "RDFFICON"
States
{
SpawnLoop:
RDFF Z 1
loop
Ready:
RDFF A 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_RUBBERDUFF)
RDFF A 0 A_JumpIfNoAmmo("ReadyNoAmmo")
RDFF A 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
ReadyNoAmmo:
RDFF K 1 A_WeaponReady
RDFF K 0 A_JumpIfNoAmmo("ReadyNoAmmo")
Goto Ready+1
Deselect:
RDFF A 0
goto DeselectSwap
Select:
RDFF A 0
goto SelectSwap
Fire:
RDFF A 0 A_JumpIfNoAmmo("NoAmmo")
RDFF A 0 A_PlaySoundEx("weapon/joegrenade","Weapon")
RDFF A 0 A_FireCustomMissile("RubberDuff",0,1,8,0)
RDFF BCDEF 2
RDFF GH 3
RDFF A 0 A_JumpIfNoAmmo("NoneWait")
RDFF A 3 Offset(0,42)
RDFF A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
goto Ready+1
NoneWait:
RDFF K 3 Offset(0,42)
RDFF K 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
goto Ready+1
NoAmmo:
RDFF K 1 ACS_NamedExecute("core_noammo",0)
Goto Ready+1
}
}

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

actor RubberDuffProtect : PowerProtection
{
Powerup.Duration 3
damagefactor "RubberDuff", 0.0
}

actor RubberDuff : BasicProjectile
{
PROJECTILE
+HEXENBOUNCE
+BOUNCEONACTORS
+CANBOUNCEWATER
-NOGRAVITY
+USEBOUNCESTATE
WALLBOUNCEFACTOR 2.33
BOUNCEFACTOR 2.33
gravity 1.33
seesound "weapon/rubberduff"
damagetype "RubberDuff"
Obituary "$OB_RUBBERDUFF"
speed 18
Radius 18
Height 18
scale 2.5
damage (CallACS("vile_cbm_damage",14))
reactiontime 40
States
{
Spawn:
RDFF I 0
RDFF I 0 ThrustThingZ(0, 12, 0, 1)
SpawnLoop:
RDFF IIII 0 A_Countdown
RDFF IJIJ 4
loop
Death:
TNT1 A 0 A_SpawnItemEx("ExplosionEffect1")
TNT1 A 3 A_PlaySoundEx("weapons/mm7/dangerwrapexplode", "Weapon")
Stop
Bounce.Actor:
RDFF D 0 A_Countdown
RDFF I 0 A_ChangeFlag("THRUACTORS",1)
RDFF III 1
RDFF I 0 A_ChangeFlag("THRUACTORS",0)
RDFF I 1
goto SpawnLoop

}
}
actor RubberDuffTimer : Inventory
{
inventory.amount 1
inventory.maxamount 10
}