actor MaestroBusterBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_0C"
dropitem "CopyClassUpgradeDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 3
Weapon.SlotNumber 1
Obituary "$OB_ROCKBUSTER"
Inventory.Pickupmessage "You got the Maestro Buster!"
weapon.ammotype "VanillaAmmo"
States
{
Spawn:
C_00 C 1
loop
Ready:
HUST B 0 A_JumpIfInventory("Once",1,"Ready2")
HUST B 0 ACS_ExecuteAlways(981,0,0)
HUST B 0 A_GiveInventory("Once",1)
Goto Ready2
Ready2:
HUST B 0 ACS_ExecuteAlways(998,0,DYE_MAESTRO)
HUST B 1 A_WeaponReady
Goto Ready2+1
Deselect:
HUST BBBBBBBBBBBBBBBBBBBBBB 0 A_Lower
HUST B 1 A_Lower
Loop
Select:
HUST BBBBBBBBBBBBBBBBBBBBBB 0 A_Raise
HUST B 1 A_Raise
Loop
Fire:
/*
HUST A 0 A_JumpIfNoAmmo("NoAmmo")
HUST A 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST A 0 A_GiveInventory("MaestroMain_CI",1)
HUST A 2 OffSet(7,41)
HUST A 2 OffSet(14,47)
HUST A 2 OffSet(6,38)
HUST A 0 A_WeaponReady(14)
HUST A 2
HUST A 0 A_Refire
goto Ready2+1
*/
HUST B 0 A_JumpIfNoAmmo("NoAmmo")
HUST B 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST B 0 A_GiveInventory("MaestroMain_CI",1)
HUST CD 3
HUST B 2
HUST B 0 A_Refire
goto Ready2+1

Altfire:
HUST B 0 A_GiveInventory("MaestroBusterFlag",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)
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)
HUST E 2 Offset(-30,102)A_TakeInventory("MaestroBusterFlag",9)
HUST B 2 Offset(40,92)
HUST B 2 Offset(20,62)
goto Ready2+1

NoAmmo:
HUST B 1
Goto Ready2+1
}
}

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

actor MaestroBusterFlag : OnceC{}
/*
actor ProtoBuster_M : ProtoBuster replaces ProtoBuster
{
dropitem "PowerUpgradeGiverDropped"
}
actor BassBuster_M : BassBuster replaces BassBuster
{
dropitem "JetUpgradeGiverDropped"
}
actor SuperAdaptorWep_M : SuperAdaptorWep replaces SuperAdaptorWep
{
dropitem "AdaptorUpgrade2GiverDropped"
}
actor LaserBuster_M : LaserBuster replaces LaserBuster
{
dropitem "LaserBusterUpgrade2GiverDropped"
}
actor ArrowBuster_M : ArrowBuster replaces ArrowBuster
{
dropitem "ArrowBusterUpgrade2GiverDropped"
}
actor DuoFist_M : DuoFist replaces DuoFist
{
dropitem "DuoFistUpgrade2Dropped"
}
actor TrebleBoost_M : TrebleBoost replaces TrebleBoost
{
dropitem "TrebleBoostUpgrade2Dropped"
}
*/
actor MaestroShot
{
Translation "204:204=215:215"
PROJECTILE
damagetype "Buster"
Obituary "$OB_MAESTROBUSTER"
Damage (100)
radius 5
height 5
Speed 27
scale 2.5
States
{
Spawn:
TNT1 A 2
W_0B B 1
wait
Death:
W_0B B 1
stop
}
}

actor MaestroShotB : MaestroShot{translation "204:204=205:205"}
actor MaestroShotR : MaestroShot{translation "204:204=171:171"}
actor MaestroShotO : MaestroShot{translation "204:204=104:104"}
actor MaestroShotP : MaestroShot{translation "204:204=229:229"}

actor MaestroMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MaestroShot",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MaestroShotB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MaestroShotR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MaestroShotO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MaestroShotP",0,0,8,0)
goto Done
}
}