actor YamatoSpreadWep_NormalBar : NormalBar{args 4, 60}
actor YamatoSpreadWep : BaseMM8BDMWep
{
Weapon.AmmoUse 2
Weapon.AmmoGive 28
Weapon.SlotNumber 3
Inventory.Pickupmessage "$PU_YAMATOSPREAD"
Obituary "$OB_YAMATOSPREAD"
Tag "$TAG_YAMATOSPREAD"
weapon.ammotype "YamatoSpreadAmmo"
inventory.icon "YSPDICON"
States
{
SpawnLoop:
YSPD Z -1
loop
Ready:
YSPD B 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_YAMATOSPREAD)
YSPD B 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
Deselect:
YSPD B 0
goto DeselectSwap
Select:
YSPD B 0
goto SelectSwap
Fire:
YSPD B 0 A_JumpIfNoAmmo("NoAmmo")
YSPD B 0 A_PlaySoundEx("weapons/mm5/gyroattackfire","Weapon")
YSPD C 0 A_FireCustomMissile("YamatoSpread",0,0,8,0)
YSPD D 0 A_FireCustomMissile("YamatoSpread",3,0,8,0)
YSPD B 0 A_FireCustomMissile("YamatoSpread",-3,1,8,0)
YSPD C 3
YSPD D 3
YSPD B 4
YSPD B 0 A_Refire("Fire2")
Goto Ready+1
Altfire:
YSPD A 0 A_JumpIfInventory("Vile_ClassAltfire", 1, "ClassAltfire")
YSPD A 0 A_JumpIf(CallACS("Vile_class_altfire"), "ClassAltfire")
YSPD A 1 A_JumpIfInventory("MM8BDMPlayer", 1, 1)
wait
Fire2:
YSPD B 0 A_JumpIfNoAmmo("NoAmmo")
YSPD B 0 A_PlaySoundEx("weapons/mm5/gyroattackfire","Weapon")
YSPD C 0 A_FireCustomMissile("YamatoSpread",0,0,8,0)
YSPD D 0 A_FireCustomMissile("YamatoSpread",9,0,8,0)
YSPD B 0 A_FireCustomMissile("YamatoSpread",-9,1,8,0)
YSPD C 3
YSPD D 3
YSPD B 4
YSPD B 0 A_Refire("Fire")
Goto Ready+1
ClassAltfire:
YSPD A 0 
goto Super::Altfire
NoAmmo:
YSPD B 1 ACS_NamedExecute("core_noammo",0)
Goto Ready+1
}
}

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

actor YamatoSpread : BasicProjectile
{
PROJECTILE
Radius 5
Height 5
scale 2.5
+RIPPER
damage (CallACS("vile_cbm_damage",9))
damagetype "YamatoSpread"
Obituary "$OB_YAMATOSPREAD"
speed 35
States
{
Spawn:
YSPD A 1
loop
}
}