actor RedoundAxeWep_NormalBar : NormalBar { args 87, 95 }

actor RedoundAxeWep : BaseMM8BDMWep
{
Weapon.AmmoUse 2
Weapon.AmmoGive 28
Weapon.SlotNumber 4
Obituary "$OB_REDOUNDAXE"
Tag "$TAG_REDOUNDAXE"
Inventory.Pickupmessage "$PU_REDOUNDAXE"
weapon.ammotype "RedoundAxeAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
inventory.icon "RDXEICON"
Scale 2.0
States
{
SpawnLoop:
RDXE Z -1
loop
Ready:
RDXE B 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_REDOUNDAXE) 
RDXE B 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
Deselect:
RDXE B 0
goto DeselectSwap
Select:
RDXE B 0
goto SelectSwap
Fire:
RDXE B 0 A_JumpIfNoAmmo("NoAmmo")
RDXE B 0 A_PlaySoundEx("weapon/redoundaxe","Weapon")
RDXE B 0 A_FireCustomMissile("RedoundAxeUp",0,0,8,0)
RDXE B 0 A_FireCustomMissile("RedoundAxeDown",0,1,8,0)
RDXE CDEFGH 3
RDXE A 3 Offset(0,42)
RDXE A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
Goto Ready+1
NoAmmo:
RDXE B 1 ACS_NamedExecuteAlways("core_noammo",0)
Goto Ready+1
}
}

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


actor RedoundAxeUp : BasicProjectile
{
+NOEXPLODEFLOOR
PROJECTILE
+Ripper
+DontBlast
Radius 16
Height 16
scale 2.5
damage (CallACS("vile_cbm_damage",20))
DamageType "RedoundAxe"
Obituary "$OB_REDOUNDAXE"
speed 30
States
{
Spawn:
RDXE I 0
SpawnLoop:
RDXE IJ 2 
RDXE I 2 A_Recoil(2)
RDXE I 0 ThrustThingZ(0,1,0,1)
RDXE J 2 A_Recoil(2)
RDXE J 0 ThrustThingZ(0,1,0,1)
TNT1 A 0 A_SpawnItemEx("ExplosionEffect1", 0, 0, 0.0, 0, 0, 0, 0, SXF_WEPFXCOLOR)
RDXE J 0 A_PlaySoundEx("weapon/redoundaxesplit", "weapon")
goto Spawn2
Spawn2:
RDXE K 2 A_Recoil(2)
RDXE K 0 ThrustThingZ(0,1,0,1)
RDXE L 2 A_Recoil(2)
RDXE L 0 ThrustThingZ(0,1,0,1)
RDXE M 2 A_Recoil(2)
RDXE M 0 ThrustThingZ(0,1,0,1)
RDXE N 2 A_Recoil(2)
RDXE N 0 ThrustThingZ(0,1,0,1)
loop
Death:
MMFX BCDE 3
stop
}
}

actor RedoundAxeDown : RedoundAxeUp
{
States
{
Spawn:
RDXE I 0
SpawnLoop:
RDXE IJ 2 
RDXE I 2 A_Recoil(2)
RDXE I 0 ThrustThingZ(0,1,1,1)
RDXE J 2 A_Recoil(2)
RDXE J 0 ThrustThingZ(0,1,1,1)
TNT1 A 0 A_SpawnItemEx("ExplosionEffect1", 0, 0, 0.0, 0, 0, 0, 0, SXF_WEPFXCOLOR)
RDXE J 0 A_PlaySoundEx("weapon/redoundaxesplit", "weapon")
goto Spawn2
Spawn2:
RDXE M 2 A_Recoil(2)
RDXE M 0 ThrustThingZ(0,1,1,1)
RDXE N 2 A_Recoil(2)
RDXE N 0 ThrustThingZ(0,1,1,1)
RDXE K 2 A_Recoil(2)
RDXE K 0 ThrustThingZ(0,1,0,1)
RDXE L 2 A_Recoil(2)
RDXE L 0 ThrustThingZ(0,1,0,1)
loop
Death:
MMFX BCDE 3
stop
}
}

actor RedoundAxeProtection : PowerProtection
{Damagefactor "RedoundAxe", 0.2 Powerup.Duration 3}