actor Maestro_W : BaseMM8BDMWep_CBM
{
tag "$TAGC_0C"
dropitem "MegaArmUpgrade"
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Weapon.SlotNumber 1
Obituary "$OB_ROCKBUSTER"
Inventory.Pickupmessage "You got the Maestro Buster!"
weapon.ammotype "VanillaAmmo"
States
{
Spawn:
C_00 C 1
loop

Deselect:
HUST B 0
goto DeselectSwap
Select:
HUST B 0
goto SelectSwap

Ready:
HUST B 0 ACS_NamedExecuteWithResult("core_weaponcolor",DYE_MAESTRO)
Goto Ready2
Ready2:
HUST B 1 A_WeaponReady
wait

Fire:
HUST B 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST B 0 A_FireCustomMissile("MaestroShot",0,0,8,0)
HUST CD 3
HUST B 2
HUST B 0 A_Refire
goto Ready2

Altfire:
HUST B 0 A_GiveInventory("VivifyFlag1",1)
HUST B 0 A_Refire(1)
HUST B 2 Offset(20,62)
HUST B 2 Offset(40,92)
HUST B 0 A_Refire(1)
HUST E 2 Offset(-30,102)A_PlaySoundEx("weapon/RockThumbsUp","Weapon")
HUST E 0 A_Refire(1)
HUST E 2 Offset(-15,67)
HUST E 2 Offset(1,31)A_GunFlash("Flash",1)
goto AltfireH
AltfireH:
HUST E 1 Offset(1,31)A_RailWait
HUST E 0 A_Refire("AltfireH")
goto AltfireEnd
AltfireEnd:
HUST E 2 Offset(-15,67)A_GunFlash("NoFlash",1)
HUST E 2 Offset(-30,102)A_TakeInventory("VivifyFlag1")
HUST B 2 Offset(40,92)
HUST B 2 Offset(20,62)
goto Ready2

Flash:
TNT1 A 35 A_GiveInventory("VanillaAmmo",1)
loop

NoAmmo:
HUST B 1
Goto Ready2
}
}

actor VanillaAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 7777
+INVENTORY.IGNORESKILL
}

actor MaestroShot : ProjSpawnFuncActor
{
PROJECTILE
damagetype "Buster"
Obituary "$OB_MAESTROBUSTER"
Damage (100)
radius 10
height 5
Speed 35
scale 2.5
States
{
Spawn:
TNT1 A 2
Q_0B B 1
wait
Death:
Q_0B B 1
stop
}
}


//actor Maestro_W_NormalBar : NormalBar {Args 229,128}
actor Maestro_W_MugshotColor : MugshotColor {Args 229,128}