actor MaestroNeutralBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_0C"
dropitem "CopyClassUpgradeDropped"


Weapon.SlotNumber 1
Obituary "$OB_ROCKBUSTER"
Inventory.Pickupmessage "Style Change (スタイルチェンジ Sutairu Chenji) is a technique from the Mega Man Battle Network series which is only available to Maestro. Style Changes allow Maestro users to temporarily change their element and weaponry. It replaces the generic spawn-with-copyweps and full damage gimmick from the first renedition of him, and is replaced by the Double Soul in further reneditions of CCBM. There are eight different styles: Guts, Custom, Shield, Team, Bug, Ground, Shadow, and Pub(which is deprecated at the moment). Additionally, there are four different elements that any style can take: Aqua, Elec, Heat, and Wood. This allows for many different combinations for many battle situations. In general, it is believed that Maestro is the only class able to use Style Change, as the A-Clan Leader MGO had developed it especially for him, though it is suggested in the games that other classes use 'styles'. It may simply suggest the fighting style of individual classes, not the style change system itself."
weapon.ammotype "EXEAmmo"
inventory.pickupsound ""
inventory.icon "MaesNIco"
States
{ 
ThumbsUp:  
HUST B 2 Offset(20,62)
HUST B 2 Offset(40,92) 
HUST W 2 Offset(-30,102)A_PlaySoundEx("weapon/RockThumbsUp","Weapon")
HUST W 0 A_Refire(1)
HUST W 2 Offset(-15,67)
HUST W 2 Offset(1,31)
goto ThumbsUpH
ThumbsUpH:
HUST W 1 Offset(1,31)A_RailWait
HUST W 0 A_JumpIfInventory("MaestroBusterFlag",1,"ThumbsUpH")
goto ThumbsUpEnd
ThumbsUpEnd:
HUST W 2 Offset(-15,67)
HUST W 2 Offset(-30,102) 
HUST B 2 Offset(40,92)
HUST B 2 Offset(20,62)
goto Ready2+1

Spawn:
C_00 C 1
loop
Ready:
HUST B 0 A_JumpIfInventory("MaestroHasSpawned",1,"ReadyNoIntroS")
HUST B 0 A_JumpIfInventory("Once",1,"ReadyNoIntro")
Goto ReadyIntro

Ready2:
HUST B 0 ACS_ExecuteAlways(998,0,DYE_MAESTRO,1)
HUST B 0 A_JumpIfInventory("MaestroBusterFlag",1,"ThumbsUp")
HUST B 1 A_WeaponReady(WRF_ALLOWRELOAD)
Goto Ready2+1

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
HUST B 1 A_Lower
Loop

Select:
TNT1 A 0 A_JumpIfInventory("MaestroThumbACSFlag",1,"Select2")
TNT1 A 0 A_GiveInventory("MaestroThumbACSFlag",1)
TNT1 A 0 ACS_NamedExecuteAlways("AutoAndMaestroCoolness",0,0,0,0)
Select2:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
HUST B 1 A_Raise
Loop

ReadyNoIntro:
HUST B 1 ACS_ExecuteAlways(998,0,DYE_MAESTRO,1)
goto Ready2+1

ReadyNoIntroS:
HUSS B 0 A_PlaySoundEx("weapon/lflready","Weapon")
HUSS B 0 A_GiveInventory("MaestroResetPickup")
HUST B 0 A_GiveInventory("Once",1)
HUST B 0 A_TakeInventory("MaestroHasSpawned",1)
HUSS B 0 //ACS_NamedExecuteAlways("CCBM_MaestroSpawned", 0)
HUST B 1 ACS_ExecuteAlways(998,0,DYE_MAESTRO,1)
HUST B 9 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
goto Ready2+1

ReadyIntro:
TNT1 A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
HUSS A 0 ACS_NamedExecuteAlways("CCBM_MaestroStyleChangeEnd",0,0)
HUSS A 0 A_PlaySoundEx("weapon/lflready","Weapon")
HUSS A 0 A_GiveInventory("MaestroResetPickup")
HUSS A 0 ACS_ExecuteAlways(998,0,DYE_MAESTRO,1)//For some reason, color ACS janks up here, so script spam xdd
HUSS A 0 ACS_ExecuteAlways(991,0,DYE_MAESTRO)
HUSS A 0 A_TakeInventory("MaestroIsReloading",9)
HUST B 1 Offset(40,92)A_GiveInventory("Once",1)
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("CentaurFlashCFX",0,0,28,22,0,random2(256/12),random(0,359),1)
HUST B 1 Offset(20,62)
HUST B 9 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
goto Ready2+1

Fire:
HUST B 0 A_JumpIfInventory("MaestroIsReloading",1,"AltReload")
HUST B 0 A_JumpIfInventory("PowerRage_ST",1,"FireR")
HUST B 0 ACS_ExecuteAlways(998,0,DYE_MAESTRO,1)
HUST B 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST B 0 A_TakeInventory("WeaponCharge",999)
HUST B 0 A_GiveInventory("MaestroMain_CI",1)
HUST C 1 Offset(5, 37)//41
HUST C 1 Offset(9, 41)//45
HUST C 1 Offset(10, 42)//46
HUST B 1 Offset(9, 41)//45
HUST B 1 Offset(5, 37)//41
HUST B 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
HUST B 0 A_Refire("Hold")
goto Ready2+1

FireR:
HUST B 0 ACS_ExecuteAlways(998,0,DYE_MAESTRO,1)
HUST B 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST B 0 A_TakeInventory("WeaponCharge",999)
HUST B 0 A_GiveInventory("MaestroMain_CI",1)
HUST C 1 Offset(5, 37)//41
HUST C 1 Offset(10, 42)//46
HUST B 1 Offset(5, 37)//41
HUST B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
HUST B 0 A_Refire("Hold")
goto Ready2+1

Fire2:
HUST B 1 A_StopSoundEx("Weapon")
goto Fire

Fire3:
HUST C 0 ACS_ExecuteAlways(998,0,DYE_MAESTRO,1)
HUST C 0 A_PlaySoundEx("weapon/cfire","Weapon")
HUST C 0 A_PlaySoundEx("weapon/cfire2","SoundSlot6")
HUST C 0 A_TakeInventory("WeaponCharge",999)
HUST C 0 A_GiveInventory("MaestroMain2_CI",1)
HUST C 1 Offset(10,40)
HUST C 0 A_JumpIfInventory("PowerRage_ST",1,3)
HUST C 1 Offset(15,45)
HUST C 1 Offset(22,52)
HUST C 1 Offset(24,54)

HUST C 1 Offset(25,55)
HUST C 0 A_JumpIfInventory("PowerRage_ST",1,3)
HUST C 1 Offset(25,55)
HUST C 1 Offset(25,55)
HUST C 1 Offset(24,54)
HUST C 1 Offset(22,52)
HUST B 0 A_JumpIfInventory("PowerRage_ST",1,3)
HUST B 1 Offset(13,43)
HUST B 1 Offset(10,40)
HUST B 1 Offset(7,37)

HUST B 1 Offset(4,34)
HUST B 3 A_WeaponReady(14)
HUST B 0 A_Refire("Hold")
goto Ready2+1

Hold:
HUST B 1
HUST B 0 A_GiveInventory("WeaponCharge_MaestroRC",1)
HUST B 0 A_JumpIfInventory("WeaponCharge",9,"Hold2")
HUST B 0 A_Refire("Hold")
goto Fire2

Hold2:
HUST D 0 A_PlaySoundEx("weapon/lflcharge","Weapon")

Hold2.a:
HUST D 1 ACS_ExecuteAlways(998,0,12005,6)
HUST D 0 A_GiveInventory("WeaponCharge_MaestroRC",1)//76
HUST D 0 A_JumpIfInventory("WeaponCharge",76,"Hold3")
HUST D 0 A_Refire("Hold2.b")
goto Fire2

Hold2.b:
HUST B 1 ACS_ExecuteAlways(998,0,DYE_MAESTRO,1)
HUST B 0 A_GiveInventory("WeaponCharge_MaestroRC",1)//76
HUST B 0 A_JumpIfInventory("WeaponCharge",76,"Hold3")
HUST B 0 A_Refire("Hold2.a")
goto Fire2

Hold3:
HUST E 0 A_PlaySoundEx("weapon/lflready","Weapon")

Hold3.a:
HUST E 1 ACS_ExecuteAlways(998,0,12006,7)
HUST E 0 A_Refire("Hold3.b")
goto Fire3

Hold3.b:
HUST B 1 ACS_ExecuteAlways(998,0,DYE_MAESTRO,1)
HUST B 0 A_Refire("Hold3.a")
goto Fire3

Altfire:
HUST B 0 A_JumpIfInventory("MaestroIsReloading",1,"FireReload")
HUST B 0 A_JumpIfInventory("PowerRage_ST",1,"AltfireR")
HUST B 0 ACS_ExecuteAlways(998,0,DYE_MAESTRO,1)
HUST B 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST B 0 A_TakeInventory("WeaponCharge",999)
HUST B 0 A_GiveInventory("MaestroMain_CI",1)
HUST C 1 Offset(5, 37)//41
HUST C 1 Offset(9, 41)//45
HUST C 1 Offset(10, 42)//46
HUST B 1 Offset(9, 41)//45
HUST B 1 Offset(5, 37)//41
HUST B 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
HUST B 0 A_Refire("Altfire")
goto Ready2+1

AltfireR:
HUST B 0 ACS_ExecuteAlways(998,0,DYE_MAESTRO,1)
HUST B 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST B 0 A_TakeInventory("WeaponCharge",999)
HUST B 0 A_GiveInventory("MaestroMain_CI",1)
HUST C 1 Offset(5, 37)//41
HUST C 1 Offset(10, 42)//46
HUST B 1 Offset(5, 37)//41
HUST B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
HUST B 0 A_Refire("Altfire")
goto Ready2+1

FireReload:
HUSS F 0 A_PlaySoundEx("weapon/BoobeamBeep","SoundSlot6")
HUSS F 0 A_JumpIfInventory("MaestroSwapElementCount",3,"FireReloadReset")
HUSS F 0 A_GiveInventory("MaestroSwapElementCount",1)
HUSS FG 2
goto ReloadReady

FireReloadReset:
HUSS F 0 A_PlaySoundEx("weapon/BoobeamBeep","SoundSlot6")
HUSS F 0 A_TakeInventory("MaestroSwapElementCount",99)
HUSS FG 2
goto ReloadReady

AltReload:
HUSS F 0 A_PlaySoundEx("weapon/BoobeamBeep","SoundSlot6")
HUSS F 0 A_JumpIfInventory("MaestroSwapStyleCount",2,"AltReloadReset")
HUSS F 0 A_GiveInventory("MaestroSwapStyleCount",1)
HUSS FG 2
goto ReloadReady

AltReloadReset:
HUSS F 0 A_PlaySoundEx("weapon/BoobeamBeep","SoundSlot6")
HUSS F 0 A_TakeInventory("MaestroSwapStyleCount",99)
HUSS FG 2
goto ReloadReady


Reload:
HUST B 0 A_JumpIfInventory("MaestroIsReloading",1,"ReloadFinalize")
//HUST B 0 ACS_NamedExecuteAlways("CCBM_MaestroHUD",0)
HUST B 1 Offset(20,62)A_TakeInventory("Once",9)
HUST B 1 Offset(40,92)
TNT1 A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
Reload2:
HUSS A 0 A_GiveInventory("MaestroIsReloading",1)
HUSS ABCDE 1
HUSS F 0 A_PlaySoundEx("weapon/MaestroFuzz","Weapon")
HUSS FGFGFG 1
goto ReloadReady
/*ReloadSelect:
HUSS G 0 A_JumpIf(ACS_NamedExecuteWithResult("CCBM_GetMaestroRandom")==0,"ReloadRandom")
HUSS G 0 A_JumpIf(ACS_NamedExecuteWithResult("CCBM_GetMaestroStyle")==0,"ReloadGuts")
HUSS G 0 A_JumpIf(ACS_NamedExecuteWithResult("CCBM_GetMaestroStyle")==1,"ReloadCustom")
HUSS G 0 A_JumpIf(ACS_NamedExecuteWithResult("CCBM_GetMaestroStyle")==2,"ReloadShield")
goto ReloadError
HUSS FG 35 A_GiveInventory("MaestroIsReady",1)
Reload3:
TNT1 A 5 //A_PrintBold("WEAPON BREAK! RETRYING STYLE CHANGE")
goto Reload2
ReloadError:
TNT1 A 0 //A_PrintBold("STYLE FAIL! RESTARTING LOOP")
HUSS FG 3
goto ReloadSelect
ReloadGuts:
//TNT1 A 0 A_PrintBold("USER GOT GUTS STYLE")
HUSU ABCDABCD 3
HUSU D 0 A_GiveInventory("MaestroIsReady",1)
HUSU ABCDABCD 3
goto Reload3
ReloadCustom:
//TNT1 A 0 A_PrintBold("USER GOT CUSTOM STYLE")
HUSU EFGHEFGH 3
HUSU H 0 A_GiveInventory("MaestroIsReady",1)
HUSU EFGHEFGH 3
goto Reload3
ReloadShield:
//TNT1 A 0 A_PrintBold("USER GOT SHIELD STYLE")
HUSU IJKLIJKL 3
HUSU H 0 A_GiveInventory("MaestroIsReady",1)
HUSU IJKLIJKL 3
goto Reload3
ReloadRandom:
//TNT1 A 0 A_PrintBold("USER GOT RANDOM STYLE")
HUSU AEIAEIAEAEIAEIAEAEIAEIAE 1
HUSU D 0 A_GiveInventory("MaestroIsReady",1)
HUSU AEIAEIAEAEIAEIAEAEIAEIAE 1
goto Reload3*/
ReloadReady:
HUSS F 2
HUSS F 0 A_JumpIfInventory("MaestroSwapElementCount",3,"ReloadReadyWood")
HUSS F 0 A_JumpIfInventory("MaestroSwapElementCount",2,"ReloadReadyElec")
HUSS F 0 A_JumpIfInventory("MaestroSwapElementCount",1,"ReloadReadyAqua")
goto ReloadReadyHeat

ReloadReadyHeat:
HUSS G 2
HUSS G 0 A_JumpIfInventory("MaestroSwapStyleCount",2,"ReloadReadyHShield")
HUSS G 0 A_JumpIfInventory("MaestroSwapStyleCount",1,"ReloadReadyHCustom")
goto ReloadReadyHGuts
ReloadReadyAqua:
HUSS G 2
HUSS G 0 A_JumpIfInventory("MaestroSwapStyleCount",2,"ReloadReadyAShield")
HUSS G 0 A_JumpIfInventory("MaestroSwapStyleCount",1,"ReloadReadyACustom")
goto ReloadReadyAGuts
ReloadReadyElec:
HUSS G 2
HUSS G 0 A_JumpIfInventory("MaestroSwapStyleCount",2,"ReloadReadyEShield")
HUSS G 0 A_JumpIfInventory("MaestroSwapStyleCount",1,"ReloadReadyECustom")
goto ReloadReadyEGuts
ReloadReadyWood:
HUSS G 2
HUSS F 0 A_JumpIfInventory("MaestroSwapStyleCount",2,"ReloadReadyWShield")
HUSS F 0 A_JumpIfInventory("MaestroSwapStyleCount",1,"ReloadReadyWCustom")
goto ReloadReadyWGuts

ReloadReadyHGuts:
HUSU AAABBBCCCDDD 1 A_WeaponReady(WRF_ALLOWRELOAD)
loop
ReloadReadyHCustom:
HUSU EEEFFFGGGHHH 1 A_WeaponReady(WRF_ALLOWRELOAD)
loop
ReloadReadyHShield:
HUSU IIIJJJKKKLLL 1 A_WeaponReady(WRF_ALLOWRELOAD)
loop

ReloadReadyAGuts:
HUSU MMMBBBNNNDDD 1 A_WeaponReady(WRF_ALLOWRELOAD)
loop
ReloadReadyACustom:
HUSU OOOFFFPPPHHH 1 A_WeaponReady(WRF_ALLOWRELOAD)
loop
ReloadReadyAShield:
HUSU QQQJJJRRRLLL 1 A_WeaponReady(WRF_ALLOWRELOAD)
loop

ReloadReadyEGuts:
HUSU SSSBBBTTTDDD 1 A_WeaponReady(WRF_ALLOWRELOAD)
loop
ReloadReadyECustom:
HUSU UUUFFFVVVHHH 1 A_WeaponReady(WRF_ALLOWRELOAD)
loop
ReloadReadyEShield:
HUSU WWWJJJXXXLLL 1 A_WeaponReady(WRF_ALLOWRELOAD)
loop

ReloadReadyWGuts:
HUSU YYYBBBZZZDDD 1 A_WeaponReady(WRF_ALLOWRELOAD)
loop
ReloadReadyWCustom:
HUSU "[[[" 1 A_WeaponReady(WRF_ALLOWRELOAD)
HUSU FFF 1 A_WeaponReady(WRF_ALLOWRELOAD)
HUSU "]]]" 1 A_WeaponReady(WRF_ALLOWRELOAD)
HUSU HHH 1 A_WeaponReady(WRF_ALLOWRELOAD)
loop
ReloadReadyWShield:
HUSY AAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
HUSU JJJ 1 A_WeaponReady(WRF_ALLOWRELOAD)
HUSY BBB 1 A_WeaponReady(WRF_ALLOWRELOAD)
HUSU LLL 1 A_WeaponReady(WRF_ALLOWRELOAD)
loop

ReloadFinalize:
HUST C 0 ACS_NamedExecuteAlways("CCBM_MaestroStyleChange",0)
HUSS C 0 A_TakeInventory("MaestroIsReloading",9)
HUSS C 0 A_GiveInventory("MaestroIsReady")
HUSS C 35
goto ReloadFinalize
}
}

actor MaestroIsReady : Powerup {powerup.duration 5}
actor MaestroHasSpawned : Powerup {powerup.duration 5}
actor MaestroSwapElementCount : Inventory
{
inventory.maxamount 3
inventory.amount 1
}
actor MaestroSwapStyleCount : Inventory
{
inventory.maxamount 2
inventory.amount 1
}
actor MaestroIsReloading : Inventory
{
inventory.maxamount 1
inventory.amount 1
}

actor MaestroHeatNeutral : BaseMM8BDMWep_CBM
{
tag "Maestro HeatNeutral"
dropitem "CopyClassUpgradeDropped"


Weapon.SlotNumber 1
Obituary "$OB_ROCKBUSTER"
Inventory.Pickupmessage "You got Maestro.exe!"
weapon.ammotype "EXEAmmo"
inventory.pickupsound ""
States
{
ThumbsUp:  
HUST E 2 Offset(20,62)
HUST E 2 Offset(40,92) 
HUST Z 2 Offset(-30,102)A_PlaySoundEx("weapon/RockThumbsUp","Weapon")
HUST Z 0 A_Refire(1)
HUST Z 2 Offset(-15,67)
HUST Z 2 Offset(1,31)
goto ThumbsUpH
ThumbsUpH:
HUST Z 1 Offset(1,31)A_RailWait
HUST Z 0 A_JumpIfInventory("MaestroBusterFlag",1,"ThumbsUpH")
goto ThumbsUpEnd
ThumbsUpEnd:
HUST Z 2 Offset(-15,67)
HUST Z 2 Offset(-30,102) 
HUST E 2 Offset(40,92)
HUST E 2 Offset(20,62)
goto Ready2+1

Spawn:
C_00 C 1
loop

Ready:
HUST E 0 ACS_ExecuteAlways(998,0,21)
HUST E 0 A_JumpIfInventory("Once",1,"ReadyNoIntro")
Goto ReadyIntro

Ready2:
HUST E 0 ACS_ExecuteAlways(998,0,21)
HUST E 0 A_JumpIfInventory("MaestroBusterFlag",1,"ThumbsUp")
HUST E 1 A_WeaponReady(WRF_ALLOWRELOAD)
Goto Ready2+1
 
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
HUST E 1 A_Lower
Loop

Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
HUST E 1 A_Raise
Loop

ReadyIntro:
HUSS C 0 ACS_NamedExecuteAlways("CCBM_MaestroStyleChangeEnd",0,1)
HUSS C 0 A_PlaySoundEx("weapon/lflready","Weapon")
HUSS C 1 A_SetTranslucent (0.1, 0)
HUSS D 1 A_SetTranslucent (0.2, 0) 
HUSS C 1 A_SetTranslucent (0.3, 0) 
HUSS D 1 A_SetTranslucent (0.4, 0) 
HUSS C 1 A_SetTranslucent (0.5, 0) 
HUSS D 1 A_SetTranslucent (0.6, 0) 
HUSS C 1 A_SetTranslucent (0.7, 0) 
HUSS D 1 A_SetTranslucent (0.8, 0) 
HUSS C 1 A_SetTranslucent (0.9, 0)
HUSS D 1 A_SetTranslucent (1.0, 0)
HUSS C 2 Offset(1,31)
HUSS C 2 Offset(-15,67)A_GiveInventory("Once",1)
HUSS C 2 Offset(-30,102)
HUST E 2 Offset(40,92)
HUST E 2 Offset(20,62)
HUST E 18 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
goto Ready2+1

ReadyNoIntro:
HUST E 1
goto Ready2+1

Fire:
HUST E 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST E 0 A_TakeInventory("WeaponCharge",999)
HUST E 0 A_GiveInventory("MaestroMain_CI",1)
HUST E 1 Offset(5, 37)//41
HUST E 1 Offset(9, 41)//45
HUST E 1 Offset(10, 42)//46
HUST E 1 Offset(9, 41)//45
HUST E 1 Offset(5, 37)//41
HUST E 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
HUST E 0 A_Refire("Hold")
goto Ready2+1

Fire2:
HUST E 1 A_StopSoundEx("Weapon")
goto Fire

Fire3:
HUST G 1 Offset(-9,23)
HUST E 1 Offset(-18,14)
HUST E 0 A_PlaySoundEx("weapon/magmabazooka","Weapon")
HUST E 0 A_SpawnItemEx("BurnExplosionSound")
HUST E 0 A_TakeInventory("WeaponCharge",999)
HUST G 1 Offset(-18,10)A_GiveInventory("MaestroHeatMain_CI",1)
HUST E 1 Offset(-18,14)A_GiveInventory("MaestroHeatMain_CI",1)
HUST G 1 Offset(-18,10)A_GiveInventory("MaestroHeatMain_CI",1)
HUST E 1 Offset(-18,14)A_GiveInventory("MaestroHeatMain_CI",1)
HUST G 1 Offset(-18,10)A_GiveInventory("MaestroHeatMain_CI",1)
HUST E 1 Offset(-18,14)A_GiveInventory("MaestroHeatMain_CI",1)
HUST G 1 Offset(-18,10)A_GiveInventory("MaestroHeatMain_CI",1)
HUST E 1 Offset(-18,14)A_GiveInventory("MaestroHeatMain_CI",1)
HUST G 1 Offset(-18,10)A_GiveInventory("MaestroHeatMain_CI",1)
HUST E 1 Offset(-18,14)A_GiveInventory("MaestroHeatMain_CI",1)
HUST E 1 Offset(-18,14)
HUST E 1 Offset(-9,23)
HUST E 9 A_WeaponReady(14)
HUST E 0 A_Refire("Hold")
goto Ready2+1

Hold:
HUST E 1
HUST E 0 A_GiveInventory("WeaponCharge_MaestroRC",1)
HUST E 0 A_JumpIfInventory("WeaponCharge",9,"Hold2")
HUST E 0 A_Refire("Hold")
goto Fire2

Hold2:
HUST E 0 A_PlaySoundEx("weapon/lflcharge","Weapon")

Hold2.a:
HUST F 1
HUST F 0 A_GiveInventory("WeaponCharge_MaestroRC",1)//76
HUST F 0 A_JumpIfInventory("WeaponCharge",76,"Hold3")
HUST F 0 A_Refire("Hold2.b")
goto Fire2

Hold2.b:
HUST E 1
HUST E 0 A_GiveInventory("WeaponCharge_MaestroRC",1)//76
HUST E 0 A_JumpIfInventory("WeaponCharge",76,"Hold3")
HUST E 0 A_Refire("Hold2.a")
goto Fire2

Hold3:
HUST G 0 A_PlaySoundEx("weapon/lflready","Weapon")

Hold3.a:
HUST G 1
HUST G 0 A_Refire("Hold3.b")
goto Fire3

Hold3.b:
HUST E 1
HUST E 0 A_Refire("Hold3.a")
goto Fire3

Altfire:
HUST E 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST E 0 A_TakeInventory("WeaponCharge",999)
HUST E 0 A_GiveInventory("MaestroMain_CI",1)
HUST E 1 Offset(5, 37)//41
HUST E 1 Offset(9, 41)//45
HUST E 1 Offset(10, 42)//46
HUST E 1 Offset(9, 41)//45
HUST E 1 Offset(5, 37)//41
HUST E 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
HUST E 0 A_Refire("Altfire")
goto Ready2+1

Reload:
HUST E 0 ACS_NamedExecuteAlways("CCBM_MaestroHUD",0)
HUST E 2 Offset(20,62)A_TakeInventory("Once",9)
HUST E 2 Offset(40,92)A_GiveInventory("MaestroNeutralBoss",1)
HUSS C 2 Offset(-30,102)
HUSS C 2 Offset(-15,67)
HUSS C 2 Offset(1,31)A_PlaySoundEx("weapon/RockThumbsUp","Weapon")
HUSS CDCDCDCDCDCDCDCDCD 1
HUSS C 1 A_SetTranslucent (1.0, 0) 
HUSS D 1 A_SetTranslucent (0.9, 0) 
HUSS C 1 A_SetTranslucent (0.8, 0) 
HUSS D 1 A_SetTranslucent (0.7, 0) 
HUSS C 1 A_SetTranslucent (0.6, 0) 
HUSS D 1 A_SetTranslucent (0.5, 0) 
HUSS C 1 A_SetTranslucent (0.4, 0) 
HUSS D 1 A_SetTranslucent (0.3, 0) 
HUSS C 1 A_SetTranslucent (0.2, 0)
HUSS D 1 A_SetTranslucent (0.1, 0)
HUSS C 1 A_SetTranslucent (0.0, 0)
TNT1 A 15
TNT1 A 0 ACS_NamedExecuteAlways("CCBM_MaestroStyleChangeRevert",0)
Reload2:
TNT1 A 1
loop
}
}

actor MaestroAquaNeutral : BaseMM8BDMWep_CBM
{
tag "Maestro AquaNeutral"
dropitem "CopyClassUpgradeDropped"


Weapon.SlotNumber 1
Obituary "$OB_ROCKBUSTER"
Inventory.Pickupmessage "You got Maestro.exe!"
weapon.ammotype "EXEAmmo"
States
{
ThumbsUp:  
HUST H 2 Offset(20,62)
HUST H 2 Offset(40,92) 
HUST X 2 Offset(-30,102)A_PlaySoundEx("weapon/RockThumbsUp","Weapon")
HUST X 0 A_Refire(1)
HUST X 2 Offset(-15,67)
HUST X 2 Offset(1,31)
goto ThumbsUpH
ThumbsUpH:
HUST X 1 Offset(1,31)A_RailWait
HUST X 0 A_JumpIfInventory("MaestroBusterFlag",1,"ThumbsUpH")
goto ThumbsUpEnd
ThumbsUpEnd:
HUST X 2 Offset(-15,67)
HUST X 2 Offset(-30,102) 
HUST H 2 Offset(40,92)
HUST H 2 Offset(20,62)
goto Ready2+1

Spawn:
C_00 C 1
loop
Ready:
HUST H 0 ACS_ExecuteAlways(998,0,204)
HUST H 0 A_JumpIfInventory("Once",1,"ReadyNoIntro")
Goto ReadyIntro

Ready2:
HUST H 0 ACS_ExecuteAlways(998,0,204)
HUST H 0 A_JumpIfInventory("MaestroBusterFlag",1,"ThumbsUp")
HUST H 1 A_WeaponReady(WRF_ALLOWRELOAD)
Goto Ready2+1

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
HUST H 1 A_Lower
Loop

Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
HUST H 1 A_Raise
Loop

ReadyIntro:
HUSS E 0 ACS_NamedExecuteAlways("CCBM_MaestroStyleChangeEnd",0,2)
HUSS E 0 A_PlaySoundEx("weapon/lflready","Weapon")
HUSS E 1 A_SetTranslucent (0.1, 0)
HUSS F 1 A_SetTranslucent (0.2, 0) 
HUSS E 1 A_SetTranslucent (0.3, 0) 
HUSS F 1 A_SetTranslucent (0.4, 0) 
HUSS E 1 A_SetTranslucent (0.5, 0) 
HUSS F 1 A_SetTranslucent (0.6, 0) 
HUSS E 1 A_SetTranslucent (0.7, 0) 
HUSS F 1 A_SetTranslucent (0.8, 0) 
HUSS E 1 A_SetTranslucent (0.9, 0)
HUSS F 1 A_SetTranslucent (1.0, 0)
HUSS E 2 Offset(1,31)
HUSS E 2 Offset(-15,67)A_GiveInventory("Once",1)
HUSS E 2 Offset(-30,102)
HUST H 2 Offset(40,92)
HUST H 2 Offset(20,62)
HUST H 18 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
goto Ready2+1

ReadyNoIntro:
HUST H 1
goto Ready2+1

Fire:
HUST H 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST H 0 A_TakeInventory("WeaponCharge",999)
HUST H 0 A_GiveInventory("MaestroMain_CI",1)
HUST H 1 Offset(5, 37)//41
HUST H 1 Offset(9, 41)//45
HUST H 1 Offset(10, 42)//46
HUST H 1 Offset(9, 41)//45
HUST H 1 Offset(5, 37)//41
HUST H 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
HUST H 0 A_Refire("Hold")
goto Ready2+1

Fire2:
HUST H 1 A_StopSoundEx("Weapon")
goto Fire

Fire3:
HUST J 1 Offset(-9,23)
HUST H 1 Offset(-18,14)
HUST J 0 A_PlaySoundEx("weapon/waterwave","Weapon")
HUST J 0 A_PlaySoundEx("wep/PumpShieldBurst","SoundSlot6")
HUST J 0 A_TakeInventory("WeaponCharge",999)
HUST J 1 Offset(-18,10)A_GiveInventory("MaestroAquaMain_CI",1)
HUST H 1 Offset(-18,14)A_GiveInventory("MaestroAquaMain_CI",1)
HUST J 1 Offset(-18,10)A_GiveInventory("MaestroAquaMain_CI",1)
HUST H 1 Offset(-18,14)A_GiveInventory("MaestroAquaMain_CI",1)
HUST J 1 Offset(-18,10)A_GiveInventory("MaestroAquaMain_CI",1)
//HUST H 1 Offset(-18,14)A_GiveInventory("MaestroAquaMain_CI",1)
//HUST J 1 Offset(-18,10)A_GiveInventory("MaestroAquaMain_CI",1)
//HUST H 1 Offset(-18,14)A_GiveInventory("MaestroAquaMain_CI",1)
//HUST J 1 Offset(-18,10)A_GiveInventory("MaestroAquaMain_CI",1)
//HUST H 1 Offset(-18,14)A_GiveInventory("MaestroAquaMain_CI",1)
HUST H 1 Offset(-18,14)
HUST H 1 Offset(-9,23)
HUST H 9 A_WeaponReady(14)
HUST H 0 A_Refire("Hold")
goto Ready2+1

Hold:
HUST H 1
HUST H 0 A_GiveInventory("WeaponCharge_MaestroRC",1)
HUST H 0 A_JumpIfInventory("WeaponCharge",9,"Hold2")
HUST H 0 A_Refire("Hold")
goto Fire2

Hold2:
HUST H 0 A_PlaySoundEx("weapon/lflcharge","Weapon")

Hold2.a:
HUST I 1
HUST I 0 A_GiveInventory("WeaponCharge_MaestroRC",1)//76
HUST I 0 A_JumpIfInventory("WeaponCharge",76,"Hold3")
HUST I 0 A_Refire("Hold2.b")
goto Fire2

Hold2.b:
HUST H 1
HUST H 0 A_GiveInventory("WeaponCharge_MaestroRC",1)//76
HUST H 0 A_JumpIfInventory("WeaponCharge",76,"Hold3")
HUST H 0 A_Refire("Hold2.a")
goto Fire2

Hold3:
HUST J 0

Hold3.a:
HUST J 1
HUST J 0 A_Refire("Hold3.b")
goto Fire3

Hold3.b:
HUST H 1
HUST H 0 A_Refire("Hold3.a")
goto Fire3

Altfire:
HUST H 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST H 0 A_TakeInventory("WeaponCharge",999)
HUST H 0 A_GiveInventory("MaestroMain_CI",1)
HUST H 1 Offset(5, 37)//41
HUST H 1 Offset(9, 41)//45
HUST H 1 Offset(10, 42)//46
HUST H 1 Offset(9, 41)//45
HUST H 1 Offset(5, 37)//41
HUST H 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
HUST H 0 A_Refire("Altfire")
goto Ready2+1

Reload:
HUST H 0 ACS_NamedExecuteAlways("CCBM_MaestroHUD",0)
HUST H 2 Offset(20,62)A_TakeInventory("Once",9)
HUST H 2 Offset(40,92)A_GiveInventory("MaestroNeutralBoss",1)
HUSS E 2 Offset(-30,102)
HUSS E 2 Offset(-15,67)
HUSS E 2 Offset(1,31)A_PlaySoundEx("weapon/RockThumbsUp","Weapon")
HUSS EFEFEFEFEFEFEFEFEF 1
HUSS E 1 A_SetTranslucent (1.0, 0) 
HUSS F 1 A_SetTranslucent (0.9, 0) 
HUSS E 1 A_SetTranslucent (0.8, 0) 
HUSS F 1 A_SetTranslucent (0.7, 0) 
HUSS E 1 A_SetTranslucent (0.6, 0) 
HUSS F 1 A_SetTranslucent (0.5, 0) 
HUSS E 1 A_SetTranslucent (0.4, 0) 
HUSS F 1 A_SetTranslucent (0.3, 0) 
HUSS E 1 A_SetTranslucent (0.2, 0)
HUSS F 1 A_SetTranslucent (0.1, 0)
HUSS E 1 A_SetTranslucent (0.0, 0)
TNT1 A 15
TNT1 A 0 ACS_NamedExecuteAlways("CCBM_MaestroStyleChangeRevert",0)
Reload2:
TNT1 A 1
loop
}
}

actor MaestroElecNeutral : BaseMM8BDMWep_CBM
{
tag "Maestro ElecNeutral"
dropitem "CopyClassUpgradeDropped"


Weapon.SlotNumber 1
Obituary "$OB_ROCKBUSTER"
Inventory.Pickupmessage "You got Maestro.exe!"
weapon.ammotype "EXEAmmo"
States
{
ThumbsUp:  
HUST K 2 Offset(20,62)
HUST K 2 Offset(40,92) 
HUST Y 2 Offset(-30,102)A_PlaySoundEx("weapon/RockThumbsUp","Weapon")
HUST Y 0 A_Refire(1)
HUST Y 2 Offset(-15,67)
HUST Y 2 Offset(1,31)
goto ThumbsUpH
ThumbsUpH:
HUST Y 1 Offset(1,31)A_RailWait
HUST Y 0 A_JumpIfInventory("MaestroBusterFlag",1,"ThumbsUpH")
goto ThumbsUpEnd
ThumbsUpEnd:
HUST Y 2 Offset(-15,67)
HUST Y 2 Offset(-30,102) 
HUST K 2 Offset(40,92)
HUST K 2 Offset(20,62)
goto Ready2+1

Spawn:
C_00 C 1
loop
Ready:
HUST K 0 ACS_ExecuteAlways(998,0,177)
HUST K 0 A_JumpIfInventory("Once",1,"ReadyNoIntro")
Goto ReadyIntro

Ready2:
HUST K 0 ACS_ExecuteAlways(998,0,177)
HUST K 0 A_JumpIfInventory("MaestroBusterFlag",1,"ThumbsUp")
HUST K 1 A_WeaponReady(WRF_ALLOWRELOAD)
Goto Ready2+1

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
HUST K 1 A_Lower
Loop

Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
HUST K 1 A_Raise
Loop

ReadyIntro:
HUSS G 0 ACS_NamedExecuteAlways("CCBM_MaestroStyleChangeEnd",0,3)
HUSS G 0 A_PlaySoundEx("weapon/lflready","Weapon")
HUSS G 1 A_SetTranslucent (0.1, 0)
HUSS H 1 A_SetTranslucent (0.2, 0) 
HUSS G 1 A_SetTranslucent (0.3, 0) 
HUSS H 1 A_SetTranslucent (0.4, 0) 
HUSS G 1 A_SetTranslucent (0.5, 0) 
HUSS H 1 A_SetTranslucent (0.6, 0) 
HUSS G 1 A_SetTranslucent (0.7, 0) 
HUSS H 1 A_SetTranslucent (0.8, 0) 
HUSS G 1 A_SetTranslucent (0.9, 0)
HUSS H 1 A_SetTranslucent (1.0, 0)
HUSS G 2 Offset(1,31)
HUSS G 2 Offset(-15,67)A_GiveInventory("Once",1)
HUSS G 2 Offset(-30,102)
HUST K 2 Offset(40,92)
HUST K 2 Offset(20,62)
HUST K 18 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
goto Ready2+1

ReadyNoIntro:
HUST H 1
goto Ready2+1

Fire:
HUST K 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST K 0 A_TakeInventory("WeaponCharge",999)
HUST K 0 A_GiveInventory("MaestroMain_CI",1)
HUST K 1 Offset(5, 37)//41
HUST K 1 Offset(9, 41)//45
HUST K 1 Offset(10, 42)//46
HUST K 1 Offset(9, 41)//45
HUST K 1 Offset(5, 37)//41
HUST K 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
HUST K 0 A_Refire("Hold")
goto Ready2+1

Fire2:
HUST K 1 A_StopSoundEx("Weapon")
goto Fire

Fire3:
HUST M 1 Offset(-9,23)
HUST K 1 Offset(-18,14)
HUST M 0 A_PlaySoundEx("weapon/ElecTeleport","Weapon")
HUST M 0 A_PlaySoundEx("weapon/TSTRIKE","SoundSlot6")
HUST M 0 A_TakeInventory("WeaponCharge",999)
HUST M 1 Offset(-18,10)A_GiveInventory("MaestroElecMain_CI",1)
HUST K 1 Offset(-18,14)
HUST M 1 Offset(-18,10)
HUST K 1 Offset(-18,14)
HUST M 1 Offset(-18,10)
HUST K 1 Offset(-18,14)
HUST M 1 Offset(-18,10)
HUST K 1 Offset(-18,14)
HUST M 1 Offset(-18,10)
HUST K 1 Offset(-18,14)
HUST K 1 Offset(-18,14)
HUST K 1 Offset(-9,23)
HUST K 9 A_WeaponReady(14)
HUST K 0 A_Refire("Hold")
goto Ready2+1

Hold:
HUST K 1
HUST K 0 A_GiveInventory("WeaponCharge_MaestroRC",1)
HUST K 0 A_JumpIfInventory("WeaponCharge",9,"Hold2")
HUST K 0 A_Refire("Hold")
goto Fire2

Hold2:
HUST K 0 A_PlaySoundEx("weapon/lflcharge","Weapon")

Hold2.a:
HUST L 1
HUST L 0 A_GiveInventory("WeaponCharge_MaestroRC",1)//76
HUST L 0 A_JumpIfInventory("WeaponCharge",76,"Hold3")
HUST L 0 A_Refire("Hold2.b")
goto Fire2

Hold2.b:
HUST K 1
HUST K 0 A_GiveInventory("WeaponCharge_MaestroRC",1)//76
HUST K 0 A_JumpIfInventory("WeaponCharge",76,"Hold3")
HUST K 0 A_Refire("Hold2.a")
goto Fire2

Hold3:
HUST K 0 A_PlaySoundEx("weapon/lflready","Weapon")

Hold3.a:
HUST M 1
HUST M 0 A_Refire("Hold3.b")
goto Fire3

Hold3.b:
HUST K 1
HUST K 0 A_Refire("Hold3.a")
goto Fire3

Altfire:
HUST K 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST K 0 A_TakeInventory("WeaponCharge",999)
HUST K 0 A_GiveInventory("MaestroMain_CI",1)
HUST K 1 Offset(5, 37)//41
HUST K 1 Offset(9, 41)//45
HUST K 1 Offset(10, 42)//46
HUST K 1 Offset(9, 41)//45
HUST K 1 Offset(5, 37)//41
HUST K 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
HUST K 0 A_Refire("Altfire")
goto Ready2+1

Reload:
HUST K 0 ACS_NamedExecuteAlways("CCBM_MaestroHUD",0)
HUST K 2 Offset(20,62)A_TakeInventory("Once",9)
HUST K 2 Offset(40,92)
HUSS G 2 Offset(-30,102)
HUSS G 2 Offset(-15,67)
HUSS G 2 Offset(1,31)A_PlaySoundEx("weapon/RockThumbsUp","Weapon")
HUSS GHGHGHGHGHGHGHGHGH 1
HUSS G 1 A_SetTranslucent (1.0, 0) 
HUSS H 1 A_SetTranslucent (0.9, 0) 
HUSS G 1 A_SetTranslucent (0.8, 0) 
HUSS H 1 A_SetTranslucent (0.7, 0) 
HUSS G 1 A_SetTranslucent (0.6, 0) 
HUSS H 1 A_SetTranslucent (0.5, 0) 
HUSS G 1 A_SetTranslucent (0.4, 0) 
HUSS H 1 A_SetTranslucent (0.3, 0) 
HUSS G 1 A_SetTranslucent (0.2, 0)
HUSS H 1 A_SetTranslucent (0.1, 0)
HUSS G 1 A_SetTranslucent (0.0, 0)
TNT1 A 15
TNT1 A 0 ACS_NamedExecuteAlways("CCBM_MaestroStyleChangeRevert",0)
Reload2:
TNT1 A 1
loop
}
}

actor MaestroWoodNeutral : BaseMM8BDMWep_CBM
{
tag "Maestro WoodNeutral"
dropitem "CopyClassUpgradeDropped"


Weapon.SlotNumber 1
Obituary "$OB_ROCKBUSTER"
Inventory.Pickupmessage "You got Maestro.exe!"
weapon.ammotype "EXEAmmo"
States
{
ThumbsUp:  
HUST N 2 Offset(20,62)
HUST N 2 Offset(40,92) 
HUST V 2 Offset(-30,102)A_PlaySoundEx("weapon/RockThumbsUp","Weapon")
HUST V 0 A_Refire(1)
HUST V 2 Offset(-15,67)
HUST V 2 Offset(1,31)
goto ThumbsUpH
ThumbsUpH:
HUST V 1 Offset(1,31)A_RailWait
HUST V 0 A_JumpIfInventory("MaestroBusterFlag",1,"ThumbsUpH")
goto ThumbsUpEnd
ThumbsUpEnd:
HUST V 2 Offset(-15,67)
HUST V 2 Offset(-30,102) 
HUST N 2 Offset(40,92)
HUST N 2 Offset(20,62)
goto Ready2+1

Spawn:
C_00 C 1
loop

Ready:
HUST N 0 ACS_ExecuteAlways(998,0,177)
HUST N 0 A_JumpIfInventory("Once",1,"ReadyNoIntro")
Goto ReadyIntro

Ready2:
HUST N 0 ACS_ExecuteAlways(998,0,177)
HUST N 0 A_JumpIfInventory("MaestroBusterFlag",1,"ThumbsUp")
HUST N 1 A_WeaponReady(WRF_ALLOWRELOAD)
Goto Ready2+1

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
HUST N 1 A_Lower
Loop

Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
HUST N 1 A_Raise
Loop


ReadyIntro:
HUSS I 0 ACS_NamedExecuteAlways("CCBM_MaestroStyleChangeEnd",0,4)
HUSS I 0 A_PlaySoundEx("weapon/lflready","Weapon")
HUSS I 1 A_SetTranslucent (0.1, 0)
HUSS J 1 A_SetTranslucent (0.2, 0) 
HUSS I 1 A_SetTranslucent (0.3, 0) 
HUSS J 1 A_SetTranslucent (0.4, 0) 
HUSS I 1 A_SetTranslucent (0.5, 0) 
HUSS J 1 A_SetTranslucent (0.6, 0) 
HUSS I 1 A_SetTranslucent (0.7, 0) 
HUSS J 1 A_SetTranslucent (0.8, 0) 
HUSS I 1 A_SetTranslucent (0.9, 0)
HUSS J 1 A_SetTranslucent (1.0, 0)
HUSS I 2 Offset(1,31)
HUSS I 2 Offset(-15,67)A_GiveInventory("Once",1)
HUSS I 2 Offset(-30,102)
HUST N 2 Offset(40,92)
HUST N 2 Offset(20,62)
HUST N 18 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
goto Ready2+1

ReadyNoIntro:
HUST N 1
goto Ready2+1

Fire:
HUST N 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST N 0 A_TakeInventory("WeaponCharge",999)
HUST N 0 A_GiveInventory("MaestroMain_CI",1)
HUST N 1 Offset(5, 37)//41
HUST N 1 Offset(9, 41)//45
HUST N 1 Offset(10, 42)//46
HUST N 1 Offset(9, 41)//45
HUST N 1 Offset(5, 37)//41
HUST N 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
HUST N 0 A_Refire("Hold")
goto Ready2+1

Fire2:
HUST N 1 A_StopSoundEx("Weapon")
goto Fire

Fire3:
HUST P 1 Offset(-9,23)
HUST N 1 Offset(-18,14)
HUST N 0 A_PlaySoundEx("class/windstart","Weapon")
HUST N 0 A_PlaySoundEx("weapon/TopManShot","SoundSlot6")
HUST N 0 A_TakeInventory("WeaponCharge",999)
HUST P 1 Offset(-18,10)A_GiveInventory("MaestroWoodMainAlt_CI",1)//A_GiveInventory("MaestroWoodMain_CI",1)
HUST P 0 Offset(-18,10)
HUST N 1 Offset(-18,14)
HUST P 1 Offset(-18,10)
HUST N 1 Offset(-18,14)
HUST P 1 Offset(-18,10)
HUST N 1 Offset(-18,14)
HUST P 1 Offset(-18,10)
HUST N 1 Offset(-18,14)
HUST P 1 Offset(-18,10)A_GiveInventory("MaestroWoodMain_CI",1)
HUST N 1 Offset(-18,14)
HUST N 1 Offset(-18,14)
HUST N 1 Offset(-9,23)
HUST N 9 A_WeaponReady(14)
HUST N 0 A_Refire("Hold")
goto Ready2+1

Hold:
HUST N 1
HUST N 0 A_GiveInventory("WeaponCharge_MaestroRC",1)
HUST N 0 A_JumpIfInventory("WeaponCharge",9,"Hold2")
HUST N 0 A_Refire("Hold")
goto Fire2

Hold2:
HUST N 0 A_PlaySoundEx("weapon/lflcharge","Weapon")

Hold2.a:
HUST O 1
HUST O 0 A_GiveInventory("WeaponCharge_MaestroRC",1)//76
HUST O 0 A_JumpIfInventory("WeaponCharge",76,"Hold3")
HUST O 0 A_Refire("Hold2.b")
goto Fire2

Hold2.b:
HUST N 1
HUST N 0 A_GiveInventory("WeaponCharge_MaestroRC",1)//76
HUST N 0 A_JumpIfInventory("WeaponCharge",76,"Hold3")
HUST N 0 A_Refire("Hold2.a")
goto Fire2

Hold3:
HUST N 0 A_PlaySoundEx("weapon/lflready","Weapon")

Hold3.a:
HUST P 1
HUST P 0 A_Refire("Hold3.b")
goto Fire3

Hold3.b:
HUST N 1
HUST N 0 A_Refire("Hold3.a")
goto Fire3

Altfire:
HUST N 0 A_PlaySoundEx("weapon/RockBuster","Weapon")
HUST N 0 A_TakeInventory("WeaponCharge",999)
HUST N 0 A_GiveInventory("MaestroMain_CI",1)
HUST N 1 Offset(5, 37)//41
HUST N 1 Offset(9, 41)//45
HUST N 1 Offset(10, 42)//46
HUST N 1 Offset(9, 41)//45
HUST N 1 Offset(5, 37)//41
HUST N 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
HUST N 0 A_Refire("Altfire")
goto Ready2+1

Reload:
HUST N 0 ACS_NamedExecuteAlways("CCBM_MaestroHUD",0)
HUST N 2 Offset(20,62)A_TakeInventory("Once",9)
HUST N 2 Offset(40,92)A_GiveInventory("MaestroNeutralBoss",1)
HUSS I 2 Offset(-30,102)
HUSS I 2 Offset(-15,67)
HUSS I 2 Offset(1,31)A_PlaySoundEx("weapon/RockThumbsUp","Weapon")
HUSS IJIJIJIJIJIJIJIJIJ 1
HUSS I 1 A_SetTranslucent (1.0, 0) 
HUSS J 1 A_SetTranslucent (0.9, 0) 
HUSS I 1 A_SetTranslucent (0.8, 0) 
HUSS J 1 A_SetTranslucent (0.7, 0) 
HUSS I 1 A_SetTranslucent (0.6, 0) 
HUSS J 1 A_SetTranslucent (0.5, 0) 
HUSS I 1 A_SetTranslucent (0.4, 0) 
HUSS J 1 A_SetTranslucent (0.3, 0) 
HUSS I 1 A_SetTranslucent (0.2, 0)
HUSS J 1 A_SetTranslucent (0.1, 0)
HUSS I 1 A_SetTranslucent (0.0, 0)
TNT1 A 15
TNT1 A 0 ACS_NamedExecuteAlways("CCBM_MaestroStyleChangeRevert",0)
Reload2:
TNT1 A 1
loop
}
}

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

actor MaestroBusterFlag : OnceC{}

actor MaestroShot
{
Translation "204:204=215:215"
PROJECTILE
+THRUGHOST
damagetype "DMGNoHitstun"
Obituary "$OB_MAESTROBUSTER"
Damage (10)
radius 5
height 10
Speed 30
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
W_0B B 1
W_0B B 1 A_ChangeFlag("THRUGHOST",0)
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 MaestroShot2
{
Translation "198:198=198:198","202:202=193:193","204:204=215:215"
PROJECTILE
damagetype "DMGNoHitstun"
Obituary "$OB_MAESTROBUSTER"
Damage (35)
radius 18
height 22
Speed 50
scale 1.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
MBU2 ABCE 2 A_SpawnItemEx("MegaShotTrail",-15,random(-1,1),random(0,3),0,frandom(-1.0f,1.0f),0,0,1)
loop
}
}

actor MaestroShot2B : MaestroShot2{translation"202:202=205:205","204:204=205:205","198:198=74:74"}
actor MaestroShot2R : MaestroShot2{translation"202:202=171:171","204:204=171:171","198:198=41:41"}
actor MaestroShot2O : MaestroShot2{translation"202:202=104:104","204:204=104:104","198:198=128:128"}
actor MaestroShot2P : MaestroShot2{translation"202:202=229:229","204:204=229:229","198:198=232:232"}

actor MaestroHeatShot
{
Translation "192:192=248:248", "198:198=[208,32,32]:[208,32,32]"
PROJECTILE
+THRUACTORS
+THRUGHOST
+RIPPER
+PIERCEARMOR
Obituary "%o's data was roasted by %k's heat flamethrower."
damagetype "MaestroFire"
Damage (0)
Radius 10
Height 10
Speed 45
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
X_9G H 1 A_Explode(3,32,0,0,33)
X_9G H 0 A_SpawnItemEx("MaestroHeatShotFX",0,0,0,0,0,0,0,1)
X_9G H 1 A_Explode(3,32,0,0,33)
X_9G H 0 A_SpawnItemEx("MaestroHeatShotFX",0,0,0,0,0,0,0,1)
X_9G I 1 A_Explode(3,32,0,0,33)
X_9G I 0 A_SpawnItemEx("MaestroHeatShotFX",0,0,0,0,0,0,0,1)
X_9G I 1 A_Explode(3,32,0,0,33)
X_9G I 0 A_SpawnItemEx("MaestroHeatShotFX",0,0,0,0,0,0,0,1)
X_9G J 1 A_Explode(3,32,0,0,33)
X_9G J 0 A_SpawnItemEx("MaestroHeatShotFX",0,0,0,0,0,0,0,1)
X_9G J 1 A_Explode(3,32,0,0,33)
X_9G J 0 A_SpawnItemEx("MaestroHeatShotFX",0,0,0,0,0,0,0,1)

X_9G K 1 A_Explode(3,32,0,0,33)
X_9G K 0 A_SpawnItemEx("MaestroHeatShotFX2",0,0,0,0,0,0,0,1)
X_9G K 1 A_Explode(3,32,0,0,33)
X_9G K 0 A_SpawnItemEx("MaestroHeatShotFX2",0,0,0,0,0,0,0,1)
X_9G L 1 A_Explode(3,32,0,0,33)
X_9G L 0 A_SpawnItemEx("MaestroHeatShotFX2",0,0,0,0,0,0,0,1)
X_9G L 1 A_Explode(3,32,0,0,33)
X_9G L 0 A_SpawnItemEx("MaestroHeatShotFX2",0,0,0,0,0,0,0,1)
X_9G G 1 A_Explode(3,32,0,0,33)
X_9G G 0 A_SpawnItemEx("MaestroHeatShotFX2",0,0,0,0,0,0,0,1)
X_9G G 1 A_Explode(3,32,0,0,33)
X_9G G 0 A_SpawnItemEx("MaestroHeatShotFX2",0,0,0,0,0,0,0,1)
stop

Death:
TNT1 A 0
TNT1 A 1 A_SpawnItemEx("OilPitIgnite")
stop
}
}

actor MaestroFireProtect : PowerProtection
{
Powerup.Duration 1
Damagefactor "MaestroFire", 0.0
}

actor MaestroHeatShotFX : BasicClientSide
{
renderstyle add
Alpha .8
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
X_9G HIJK 1 A_FadeOut(0.2)
stop
}
}

actor MaestroHeatShotFX2 : BasicClientSide
{
renderstyle add
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
X_9G KLGH 1 A_FadeOut(0.25)
stop
}
}

actor MaestroHeatShotB : MaestroHeatShot{translation "192:192=205:205", "198:198=74:74"}
actor MaestroHeatShotR : MaestroHeatShot{translation "192:192=171:171", "198:198=41:41"}
actor MaestroHeatShotO : MaestroHeatShot{translation "192:192=104:104", "198:198=128:128"}
actor MaestroHeatShotP : MaestroHeatShot{translation "192:192=229:229", "198:198=232:232"}

actor MaestroAquaShot : FastProjectile
{
PROJECTILE
Translation "192:192=200:200", "198:198=75:75"
Damagetype "DMGNoHitstun"
Obituary "%o's data was rinsed out by %k's aqua bubbler."
+DONTREFLECT
-NOGRAVITY
Gravity 2
Renderstyle Translucent
Alpha 0.75
Damage (0)
radius 16
height 16
Speed 120
scale 3.25
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
PUM4 E 0
PUM4 E 1
wait

Death:
TNT1 A 0 A_JumpIf(z-floorz<16,"Floor")
TNT1 A 0 A_JumpIf(z-ceilingz==0-18,"Ceiling")
TNT1 A 0 A_Explode(2,120,0,0,60)
TNT1 A 0 A_SpawnItemEx("MaestroAquaShotEnd",-15,0,0,random(5,15),random(5,15),random(5,15),random(0,360),1)
TNT1 A 2
stop

Floor:
TNT1 A 0 A_Explode(2,120,0,0,60)
TNT1 A 0 A_SpawnItemEx("MaestroAquaShotEnd",-15,0,0,random(-15,15),random(-15,15),random(10,15),random(0,360),1)
TNT1 A 2
stop

Ceiling:
TNT1 A 0 A_Explode(2,120,0,0,60)
TNT1 A 0 A_SpawnItemEx("MaestroAquaShotEnd",0,0,-15,random(-15,15),random(-15,15),random(-10,-15),0,1)
TNT1 A 2
stop
}
}

actor MaestroAquaShotB : MaestroAquaShot {translation "192:192=205:205", "198:198=74:74"}
actor MaestroAquaShotR : MaestroAquaShot {translation "192:192=171:171", "198:198=41:41"}
actor MaestroAquaShotO : MaestroAquaShot {translation "192:192=104:104", "198:198=128:128"}
actor MaestroAquaShotP : MaestroAquaShot {translation "192:192=229:229", "198:198=232:232"}

actor MaestroAquaShotEnd
{
Obituary "oof"
PROJECTILE
-NOGRAVITY
+NOCLIP
+CLIENTSIDEONLY
Gravity 1.5
damagetype "DMGNoHitstun"
Speed 0
Damage (0)
radius 16
height 16
scale 3.25
States
{
Spawn:
TNT1 A 0 
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
PUM4 EDC 4
stop
}
}

actor MaestroElecShot
{
Translation "199:199=218:218", "202:202=212:212"
PROJECTILE
damagetype "MaestroShock"
Obituary "%o's data was overloaded by %k's elec shock."
damage (8)
+RIPPER
Radius 18
Height 18
Speed 100
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
SPAX F 2 A_SpawnItemEx("SparkShockFX1",0,0,0,0,0,0,0,1)
SPAX H 2 A_SpawnItemEx("SparkShockFX2",0,0,0,0,0,0,0,1)
SPAX G 2 A_SpawnItemEx("SparkShockFX1",0,0,0,0,0,0,0,1)
SPAX I 2 A_SpawnItemEx("SparkShockFX2",0,0,0,0,0,0,0,1)
SPAX F 2 A_SpawnItemEx("SparkShockFX1",0,0,0,0,0,0,0,1)
SPAX H 2 A_SpawnItemEx("SparkShockFX2",0,0,0,0,0,0,0,1)
SPAX G 2 A_SpawnItemEx("SparkShockFX1",0,0,0,0,0,0,0,1)
SPAX I 2 A_SpawnItemEx("SparkShockFX2",0,0,0,0,0,0,0,1)
stop
XDeath:
Death:
TNT1 A 1
stop
}
}

actor MaestroElecShotB : MaestroElecShot{Translation "199:199=74:74","202:202=205:205"}
actor MaestroElecShotR : MaestroElecShot{Translation "199:199=41:41","202:202=54:54"}
actor MaestroElecShotO : MaestroElecShot{Translation "199:199=128:128","202:202=104:104"}
actor MaestroElecShotP : MaestroElecShot{Translation "199:199=232:232","202:202=229:229"}

actor MaestroWoodShot
{
Translation"192:192=211:211","198:198=220:220"
PROJECTILE
-NOGRAVITY
+HEXENBOUNCE
-BOUNCEONACTORS
+SKYEXPLODE
Gravity 1
Damagetype "DMGNoHitstun"
Obituary "%o was germinated by %k's wood seeds."
Damage (10)
radius 8
height 8
Speed 45
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
WOOB AABBCCDD 1 A_JumpIf(z-floorz==0,"Death")
loop

Death:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("MaestroWoodShotEnd",0,0,0,0,0,0,0,1)
stop
}
}

actor MaestroWoodShotB : MaestroWoodShot{Translation"192:192=205:205","198:198=74:74"}
actor MaestroWoodShotR : MaestroWoodShot{Translation"192:192=171:171","198:198=41:41"}
actor MaestroWoodShotO : MaestroWoodShot{Translation"192:192=104:104","198:198=128:128"}
actor MaestroWoodShotP : MaestroWoodShot{Translation"192:192=229:229","198:198=232:232"}

actor MaestroWoodShotEnd
{
PROJECTILE
+DONTBLAST
+RIPPER
+FLOORHUGGER
Height 64
Radius 24
scale 3
damage (10)
Damagetype "MaestroWood"
Obituary "%o was splintered by %k's wood pikes."
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
TNT1 A 0 A_PlaySoundEx("weapon/WoodTower","Weapon")
Spawn2:
WOOB KMOPPPPPPPOMK 1
stop
}
}

actor MaestroWoodenShot
{
Translation "192:192=168:168", "198:198=128:128"
PROJECTILE
Obituary "%o was twisted by %k's wood tornado."
damagetype "DMGNoHitstun"
+NOINTERACTION
+RIPPER
+THRUGHOST
Damage (0)
radius 1
height 1
Speed 60
scale 2.5
States
{
Spawn:
SHPC A 0
SpawnLoop:
X_9B C 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
X_9B C 0 A_Explode(2,48,0,0,48)
X_9B C 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
X_9B C 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 32 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
X_9B D 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
X_9B D 0 A_Explode(2,48,0,0,48)
X_9B D 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
X_9B D 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 32 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
X_9B E 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
X_9B E 0 A_Explode(2,48,0,0,48)
X_9B E 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
X_9B E 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 32 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
X_9B B 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
X_9B B 0 A_Explode(2,48,0,0,48)
X_9B B 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
X_9B B 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 32 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)

X_9B C 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
X_9B C 0 A_Explode(2,48,0,0,48)
X_9B C 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
X_9B C 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 32 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
X_9B D 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
X_9B D 0 A_Explode(2,48,0,0,48)
X_9B D 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
X_9B D 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 32 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
X_9B E 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
X_9B E 0 A_Explode(2,48,0,0,48)
X_9B E 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
X_9B E 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 32 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
X_9B B 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
X_9B B 0 A_Explode(2,48,0,0,48)
X_9B B 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
X_9B B 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 32 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)

X_9B C 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
X_9B C 0 A_SetScale(ScaleX-0.625)
X_9B C 0 A_Explode(2,48,0,0,48)
X_9B C 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
X_9B C 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 32 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
X_9B D 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
X_9B D 0 A_SetScale(ScaleX-0.625)
X_9B D 0 A_Explode(2,48,0,0,48)
X_9B D 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
X_9B D 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 32 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
X_9B E 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
X_9B E 0 A_SetScale(ScaleX-0.625)
X_9B E 0 A_Explode(2,48,0,0,48)
X_9B E 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
X_9B E 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 32 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
X_9B B 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
X_9B B 0 A_SetScale(ScaleX-0.625)
X_9B B 0 A_Explode(2,48,0,0,48)
X_9B B 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
X_9B B 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 32 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
goto Death

Death:
TNT1 A 1
stop
}
}

actor MaestroWoodenShotB : MaestroWoodenShot{Translation"192:192=205:205","198:198=74:74"}
actor MaestroWoodenShotR : MaestroWoodenShot{Translation"192:192=171:171","198:198=41:41"}
actor MaestroWoodenShotO : MaestroWoodenShot{Translation"192:192=104:104","198:198=128:128"}
actor MaestroWoodenShotP : MaestroWoodenShot{Translation"192:192=229:229","198:198=232:232"}

actor MaestroWoodProtect : PowerProtection
{
Powerup.Duration 35
Damagefactor "MaestroWood", 0.0
}

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
}
}

actor MaestroMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MaestroShot2",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MaestroShot2B",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MaestroShot2R",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MaestroShot2O",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MaestroShot2P",0,0,8,0)
goto Done
}
}

actor MaestroHeatMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MaestroHeatShot",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MaestroHeatShotB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MaestroHeatShotR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MaestroHeatShotO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MaestroHeatShotP",0,0,8,0)
goto Done
}
}

actor MaestroAquaMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MaestroAquaShot",0,0,8,-8)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MaestroAquaShotB",0,0,8,-8)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MaestroAquaShotR",0,0,8,-8)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MaestroAquaShotO",0,0,8,-8)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MaestroAquaShotP",0,0,8,-8)
goto Done
Done:
TNT1 A 0 A_Recoil(1)
stop
}
}

actor MaestroElecMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MaestroElecShot",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MaestroElecShotB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MaestroElecShotR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MaestroElecShotO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MaestroElecShotP",0,0,8,0)
goto Done
}
}

actor MaestroWoodMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MaestroWoodShot",0,0,0,0)
TNT1 A 0 A_FireCustomMissile("MaestroWoodShot",0,0,48,0)
TNT1 A 0 A_FireCustomMissile("MaestroWoodShot",0,0,-48,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MaestroWoodShotB",0,0,0,0)
TNT1 A 0 A_FireCustomMissile("MaestroWoodShotB",0,0,48,0)
TNT1 A 0 A_FireCustomMissile("MaestroWoodShotB",0,0,-48,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MaestroWoodShotR",0,0,0,0)
TNT1 A 0 A_FireCustomMissile("MaestroWoodShotR",0,0,48,0)
TNT1 A 0 A_FireCustomMissile("MaestroWoodShotR",0,0,-48,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MaestroWoodShotO",0,0,0,0)
TNT1 A 0 A_FireCustomMissile("MaestroWoodShotO",0,0,48,0)
TNT1 A 0 A_FireCustomMissile("MaestroWoodShotO",0,0,-48,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MaestroWoodShotP",0,0,0,0)
TNT1 A 0 A_FireCustomMissile("MaestroWoodShotP",0,0,48,0)
TNT1 A 0 A_FireCustomMissile("MaestroWoodShotP",0,0,-48,0)
goto Done
}
}

actor MaestroWoodMainAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_SpawnItemEx("MaestroWoodenShot",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireB:
TNT1 A 0 A_SpawnItemEx("MaestroWoodenShotB",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireR:
TNT1 A 0 A_SpawnItemEx("MaestroWoodenShotR",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireO:
TNT1 A 0 A_SpawnItemEx("MaestroWoodenShotO",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireP:
TNT1 A 0 A_SpawnItemEx("MaestroWoodenShotP",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
}
}

//AH SHIT, HERE WE GO AGAIN

actor MaestroResetPickup : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_TakeInventory("MaestroHeatNeutral",1)
TNT1 A 0 A_TakeInventory("MaestroAquaNeutral",1)
TNT1 A 0 A_TakeInventory("MaestroElecNeutral",1)
TNT1 A 0 A_TakeInventory("MaestroWoodNeutral",1)
TNT1 A 0 A_TakeInventory("MaestroHeatGuts",1)
TNT1 A 0 A_TakeInventory("MaestroAquaGuts",1)
TNT1 A 0 A_TakeInventory("MaestroElecGuts",1)
TNT1 A 0 A_TakeInventory("MaestroWoodGuts",1)
TNT1 A 0 A_TakeInventory("MaestroHeatCustom",1)
TNT1 A 0 A_TakeInventory("MaestroAquaCustom",1)
TNT1 A 0 A_TakeInventory("MaestroElecCustom",1)
TNT1 A 0 A_TakeInventory("MaestroWoodCustom",1)
TNT1 A 0 A_TakeInventory("MaestroHeatShield",1)
TNT1 A 0 A_TakeInventory("MaestroAquaShield",1)
TNT1 A 0 A_TakeInventory("MaestroElecShield",1)
TNT1 A 0 A_TakeInventory("MaestroWoodShield",1)
stop
}
}

actor HeatNeutralPickup : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("MaestroHeatNeutral",1)
stop
}
}

actor AquaNeutralPickup : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("MaestroAquaNeutral",1)
stop
}
}

actor ElecNeutralPickup : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("MaestroElecNeutral",1)
stop
}
}

actor WoodNeutralPickup : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("MaestroWoodNeutral",1)
stop
}
}

actor WeaponCharge_MaestroRC : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,"Pickup2")
TNT1 A 0 A_GiveInventory("WeaponCharge",1)
stop
Pickup2:
TNT1 A 0 A_GiveInventory("WeaponCharge",2)
stop
}
}

ACTOR MaestroThumbACSFlag : Inventory
{
 Inventory.MaxAmount 1
 -INVBAR
}
