actor MegaBusterBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_0B"
dropitem "MegaArmUpgrade2GiverDropped"//"CopyClassUpgradeDropped"//"MegaArmUpgrade2GiverDropped"
//sorry conejo
Weapon.AmmoUse 1
Weapon.AmmoGive 3
Weapon.SlotNumber 1
Inventory.Pickupmessage "You got the Mega Buster!"
Obituary "$OB_MEGABUSTER"
States
{
Spawn:
C_00 B 1
loop
Ready:
BUST B 0 A_JumpIfInventory("Once",1,"Ready2")
BUST B 0 ACS_ExecuteAlways(981,0,0)
BUST B 0 A_GiveInventory("Once",1)
Goto Ready2

Ready2:
BUST B 0 ACS_ExecuteAlways(998,0,30199)
BUST B 0 ACS_ExecuteAlways(991,0,30199)
BUST B 0 A_TakeInventory("WeaponCharge",999)
BUST B 0 A_JumpIfInventory("MegamanUpgradeFlag",1,"DoubleGearSystem")
BUST B 2 A_WeaponReady
Goto Ready2+2

DoubleGearSystem:
BUST B 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,12,1)
BUST B 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,120,100)//120% speed
goto Ready3+2

Ready3:
BUST B 0 ACS_ExecuteAlways(998,0,30199)
BUST B 0 ACS_ExecuteAlways(991,0,30199)
BUST B 0 A_TakeInventory("WeaponCharge",999)
BUST B 2 A_WeaponReady
Goto Ready3+2

Deselect:
MKIC A 0 A_TakeInventory("MegaSlide",1)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
BUST B 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
BUST B 1 A_Raise
Loop

Fire:
Hold:
BUST B 0 A_JumpIfInventory("WeaponCharge",15,"Charge")
BUST B 1 A_GiveInventory("WeaponCharge_RC",1)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfInventory("WalkShootFrameGo",1,"WalkShootFrames")
BUST B 0 A_Refire("Fire")
//BUST B 0 A_JumpIfNoAmmo("Hold")
BUST B 0 A_JumpIfInventory("MegamanUpgradeFlag",1,"FireX")
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
BUST B 0 A_PlaySoundEx("weapon/mbuster","Weapon")
BUST B 0 A_GiveInventory("MegamanMain_CI",1)
BUST B 0 A_TakeInventory("WeaponCharge",999)
BUST B 0 A_TakeInventory("MegamanX",999)
//BUST CD 3
BUST CD 2
BUST DC 1
BUST B 0 A_Refire
goto Ready2+2

FireX:
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfNoAmmo("Hold")
BUST B 0 A_PlaySoundEx("weapon/mbuster","Weapon")
BUST B 0 A_GiveInventory("MegamanMainX_CI",1)
BUST B 0 A_TakeInventory("WeaponCharge",999)
BUST B 0 A_TakeInventory("MegamanX",999)
//BUST CD 2
BUST CDDC 1
BUST B 0 A_Refire
goto Ready2+2

Fire2:
BUST C 0 A_JumpIfInventory("MegamanUpgradeFlag",1,"Fire2X")
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
BUST C 0 A_TakeInventory("WeaponCharge",999)
BUST C 0 A_TakeInventory("MegamanX",999)
BUST C 0 A_PlaySoundEx("weapon/minchrgshot","Weapon")
BUST C 0 ACS_ExecuteAlways(991,0,30199)
BUST C 0 A_GiveInventory("MegamanMain2_CI",1)
//BUST CD 3
BUST C 1
BUST D 3
BUST C 2
BUST B 0 A_Refire
goto Ready2+2

Fire2X:
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
BUST C 0 A_TakeInventory("WeaponCharge",999)
BUST C 0 A_TakeInventory("MegamanX",999)
BUST C 0 A_PlaySoundEx("weapon/minchrgshot","Weapon")
BUST C 0 ACS_ExecuteAlways(991,0,30199)
BUST C 0 A_GiveInventory("MegamanMain2X_CI",1)
//BUST CD 2
BUST C 1
BUST D 3
BUST C 2
BUST B 0 A_Refire
goto Ready2+2

Fire3:
BUST C 0 A_JumpIfInventory("MegamanUpgradeFlag",1,"Fire3X")
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
BUST C 0 A_TakeInventory("WeaponCharge",999)
BUST C 0 A_TakeInventory("MegamanX",999)
BUST C 0 A_PlaySoundEx("weapon/minchrgshot","Weapon")
BUST C 0 ACS_ExecuteAlways(991,0,30199)
BUST C 1 A_GiveInventory("MegamanMain3_CI",1)
//BUST CD 3 
//BUST C 9
BUST CD 1
BUST D 1 offset(20,54)
BUST D 1 offset(16,47)
BUST D 1 offset(12,43)
BUST C 1 offset(9,41)
BUST C 1 offset(4,37)
BUST D 1 offset(2,34)
BUST C 1 A_WeaponReady(14)
BUST B 2
BUST B 0 A_Refire
goto Ready2+2

Fire3X:
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
BUST C 0 A_TakeInventory("WeaponCharge",999)
BUST C 0 A_TakeInventory("MegamanX",999)
BUST C 0 A_PlaySoundEx("weapon/minchrgshot","Weapon")
BUST C 0 ACS_ExecuteAlways(991,0,30199)
//BUST C 2 A_GiveInventory("MegamanMain3X_CI",1)
//BUST CD 2
//BUST C 4
BUST C 1 A_GiveInventory("MegamanMain3X_CI",1)
BUST CD 1
BUST D 1 offset(20,54)
BUST D 1 offset(16,47)
BUST D 1 offset(12,43)
BUST C 1 offset(9,41)
BUST C 1 offset(4,37)
BUST D 1 offset(2,34)
BUST C 1 A_WeaponReady(14)
BUST B 0 A_Refire
goto Ready2+2

Fire4:
BUST C 0 A_JumpIfInventory("MegamanUpgradeFlag",1,"Fire4X")
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
BUST C 0 A_TakeInventory("WeaponCharge",999)
BUST C 0 A_TakeInventory("MegamanX",999)
BUST C 0 A_PlaySoundEx("weapon/cfire2","Weapon")
BUST C 0 ACS_ExecuteAlways(991,0,30199)
BUST C 1 A_GiveInventory("MegamanMain4_CI",1)
//BUST CD 2 
//BUST C 2
//CBSL HI 2
//BUST CD 1
BUST D 1 offset(23,58)
BUST D 1 offset(20,54)
BUST D 1 offset(16,47)
BUST D 1 offset(12,43)
BUST C 1 offset(9,41)
BUST C 1 offset(4,37)
BUST D 1 offset(2,34)
BUST C 1 A_WeaponReady(14)
BUST B 1 offset(12,43)
BUST B 1 offset(20,54)
BUST B 1 offset(34,65)
BUST B 1 offset(46,76)
BUST B 1 offset(58,87)
BUST B 1 offset(69,98)
goto FireDelay
Fire4X:
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
BUST C 0 A_TakeInventory("WeaponCharge",999)
BUST C 0 A_TakeInventory("MegamanX",999)
BUST C 0 A_PlaySoundEx("weapon/cfire2","Weapon")
BUST C 0 ACS_ExecuteAlways(991,0,30199)
//BUST C 2 A_GiveInventory("MegamanMain4X_CI",1)
//BUST CD 2 
//BUST C 2
//CBSL HI 2
BUST C 1 A_GiveInventory("MegamanMain4X_CI",1)
BUST D 1 offset(23,58)
BUST D 1 offset(16,47)
BUST C 1 offset(9,41)
BUST D 1 offset(2,34)
BUST C 1 A_WeaponReady(14)
BUST B 1 offset(12,43)
BUST B 1 offset(20,54)
BUST B 1 offset(46,76)
BUST B 1 offset(69,98)
goto FireDelay
FireDelay:
TNT1 A 0 A_GiveInventory("DoubleUp",1)
TNT1 A 0 A_PlaySoundEx("weapon/MM4Charge","Weapon")
TNT1 A 1 ACS_ExecuteAlways(998,0,30201,6)
TNT1 A 1 ACS_ExecuteAlways(998,0,30202,7)
TNT1 A 1 ACS_ExecuteAlways(998,0,30199,5)
TNT1 A 0 A_Refire("Fire5")
TNT1 A 1 ACS_ExecuteAlways(998,0,30201,6)
TNT1 A 1 ACS_ExecuteAlways(998,0,30202,7)
TNT1 A 0 ACS_ExecuteAlways(998,0,30199,5)
TNT1 A 0 A_Refire("Fire5")
goto FireDelay
Fire5:
CBSL C 0 A_JumpIfInventory("MegamanUpgradeFlag",1,"Fire5X")
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//CBSL AB 2
CBSL C 1 offset(-69,98)
CBSL C 1 offset(-46,76)
CBSL C 1 offset(-20,54)
CBSL C 1 A_WeaponReady(14)
CBUS J 0 A_PlaySoundEx("weapon/cfire2","Weapon")
CBUS J 0 ACS_ExecuteAlways(991,0,30199)
CBSL D 1 A_GiveInventory("MegamanMain4s_CI",1)
//CBSL DE 2
//CBSL FG 3
CBSL E 1 offset(-23,58)
CBSL E 1 offset(-20,54)
CBSL E 1 offset(-16,47)
CBSL E 1 offset(-12,43)
CBSL D 1 offset(-9,41)
CBSL D 1 offset(-4,37)
CBSL E 1 offset(-2,34)
CBSL D 1 A_WeaponReady(14)
CBSL C 1 offset(-12,43)
CBSL C 1 offset(-20,54)
CBSL C 1 offset(-46,76)
CBSL C 1 offset(-69,98)
/*CBSL C 1 OffSet(12,112)
CBSL C 1 OffSet(9,92)
CBSL C 1 OffSet(6,72)
CBSL C 1 OffSet(3,52)*/
TNT1 A 2 offset(69,98)
//CBSL KJ 3
BUST B 1 offset(69,98)
BUST B 1 offset(58,87)
BUST B 1 offset(46,76)
BUST B 1 offset(34,65)
BUST B 1 offset(20,54)
BUST B 1 offset(12,43)
BUST C 1 A_WeaponReady(14)
/*BUST B 1 OffSet(15,112)
BUST B 1 OffSet(12,92)
BUST B 1 OffSet(9,72)
BUST B 1 OffSet(6,52)*/
CBSL A 0 A_TakeInventory("DoubleUp",999)
goto Ready2+2
Fire5X:
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
CBSL C 1 offset(-69,98)
CBSL C 1 offset(-46,76)
CBSL C 1 offset(-20,54)
CBSL C 1 A_WeaponReady(14)
CBUS J 0 A_PlaySoundEx("weapon/cfire2","Weapon")
CBUS J 0 ACS_ExecuteAlways(991,0,30199)
//CBSL D 2 A_GiveInventory("MegamanMain4sX_CI",1)
//CBSL DE 2
//CBSL FG 2
CBSL D 1 A_GiveInventory("MegamanMain4sX_CI",1)
CBSL E 1 offset(-23,58)
CBSL E 1 offset(-16,47)
CBSL D 1 offset(-9,41)
CBSL E 1 offset(-2,34)
CBSL D 1 A_WeaponReady(14)
CBSL C 1 offset(-12,43)
CBSL C 1 offset(-20,54)
CBSL C 1 offset(-46,76)
CBSL C 1 offset(-69,98)
/*CBSL C 1 OffSet(12,112)
CBSL C 1 OffSet(9,92)
CBSL C 1 OffSet(6,72)
CBSL C 1 OffSet(3,52)*/
//TNT1 A 2
//CBSL KJ 2
TNT1 A 2 offset(69,98)
BUST B 1 offset(69,98)
BUST B 1 offset(46,76)
BUST B 1 offset(20,54)
BUST C 1 A_WeaponReady(14)
/*BUST B 1 OffSet(15,112)
BUST B 1 OffSet(12,92)
BUST B 1 OffSet(9,72)
BUST B 1 OffSet(6,52)*/
CBSL A 0 A_TakeInventory("DoubleUp",999)
goto Ready2+2

/*Hold:
BUST B 0 A_JumpIfInventory("WeaponCharge",34,"Charge2")
BUST B 0 A_JumpIfInventory("WeaponCharge",18,"Charge")
BUST B 1 A_GiveInventory("WeaponCharge_RC",1)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfInventory("WalkShootFrameGo",1,"WalkShootFrames")
BUST B 0 A_Refire
Goto Ready2+2*/

//WalkShootFrames:
//BUST B 0 
//Goto Charge1

Charge:
BUST B 0 A_JumpIfInventory("WeaponCharge",25,"Charge2")
BUST B 0 A_PlaySoundEx("weapon/coilstart","Weapon")
Goto Charge1

Charge1:
LBST H 0 A_JumpIfInventory("WeaponCharge",25,"Charge2")
LBST H 1 ACS_ExecuteAlways(998,0,106,5)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfInventory("WalkShootFrameGo",1,"WalkShootFrames")
BUST B 0 A_Refire("Charge1.a")
Goto Fire2
Charge1.a:
BUST B 1 ACS_ExecuteAlways(998,0,DYE_MEGAMANC,1)
BUST B 0 A_GiveInventory("WeaponCharge_RC",1)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfInventory("WalkShootFrameGo",1,"WalkShootFrames")
LBST H 0 A_Refire("Charge1")
Goto Fire2

Charge2:
BUST B 0 A_JumpIfInventory("WeaponCharge",35,"ChargeLoop")
BUST B 1 ACS_ExecuteAlways(998,0,93,6)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfInventory("WalkShootFrameGo",1,"WalkShootFrames")
BUST B 0 A_Refire("Charge2.a")
Goto Fire2
Charge2.a:
CHBU I 1 ACS_ExecuteAlways(998,0,94,7)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfInventory("WalkShootFrameGo",1,"WalkShootFrames")
BUST B 0 A_Refire("Charge2.b")
Goto Fire2
Charge2.b:
CHBU J 1 ACS_ExecuteAlways(998,0,DYE_MEGAMANC,5)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfInventory("WalkShootFrameGo",1,"WalkShootFrames")
BUST B 0 A_Refire("Charge2.c")
Goto Fire2
Charge2.c:
BUST B 0 A_GiveInventory("WeaponCharge",6)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfInventory("WalkShootFrameGo",1,"WalkShootFrames")
BUST B 0 A_GunFlash("Flash", GFF_NOEXTCHANGE)
BUST B 0 A_Refire("ChargeLoop")
Goto Fire3

Flash:
TNT1 A 0 A_JumpIfInventory("MegamanX",35,"Flash2")
TNT1 A 5 A_PlaySoundEx("weapon/MM4Charge","Weapon")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,"Flash")
stop

Flash2:
TNT1 A 5 A_PlaySoundEx("weapon/coilcharge", "Weapon")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,"Flash")
stop

ChargeLoop:
LBST I 1 ACS_ExecuteAlways(991,0,30204)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfInventory("WalkShootFrameGo",1,"WalkShootFrames")
BUST B 0 A_JumpIfInventory("MegamanX",35,"ChargeLoop2")
BUST B 0 A_GiveInventory("MegamanX",1)
BUST B 0 A_Refire("ChargeLoop.a")
Goto Fire3
ChargeLoop.a:
CHBU I 1 ACS_ExecuteAlways(998,0,30202,7)
BUST B 0 A_GiveInventory("MegamanX",1)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
BUST B 0 A_Refire("ChargeLoop.b")
Goto Fire3
ChargeLoop.b:
CHBU J 1 ACS_ExecuteAlways(998,0,30199,5)
BUST B 0 A_GiveInventory("MegamanX",1)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfInventory("WalkShootFrameGo",1,"WalkShootFrames")
BUST B 0 A_JumpIfInventory("IsBot",1,"BotFire")
BUST B 0 A_Refire("ChargeLoop")
Goto Fire3

ChargeLoop2:
BUST B 1 ACS_ExecuteAlways(998,0,30201,6)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfInventory("WalkShootFrameGo",1,"WalkShootFrames")
TNT1 A 0 A_WeaponReady(14)
BUST B 0 A_Refire("ChargeLoop2.a")
Goto Fire4
ChargeLoop2.a:
CHBU I 1 ACS_ExecuteAlways(998,0,30202,7)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfInventory("WalkShootFrameGo",1,"WalkShootFrames")
TNT1 A 0 A_WeaponReady(14)
BUST B 0 A_Refire("ChargeLoop2.b")
Goto Fire4
ChargeLoop2.b:
CHBU J 1 ACS_ExecuteAlways(998,0,30199,5)
//TNT1 A 0 A_GiveInventory("MegaCharge_WF",1)
//BUST B 0 A_JumpIfInventory("WalkShootFrameGo",1,"WalkShootFrames")
TNT1 A 0 A_WeaponReady(14)
BUST B 0 A_JumpIfInventory("IsBot",1,"BotFire")
BUST B 0 A_Refire("ChargeLoop2")
Goto Fire4

BotFire:
BUST B 0 A_Jump(16,"Fire3")
BUST B 0 A_Refire("ChargeLoop")
Goto Fire3

User1Fire:
BUST B 0 A_JumpIfNoAmmo("Hold")
BUST B 0 A_PlaySoundEx("weapon/mbuster","Weapon")
BUST B 0 A_GiveInventory("MegamanMain_CI",1)
BUST B 0 A_TakeInventory("WeaponCharge",999)
BUST CD 3
BUST B 2
goto Ready2+3

Altfire:
MKIC C 0 A_JumpIfInventory("MegamanUpgradeFlag",1,"Altfire2")
MKIC C 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_user1_check")==1, "User1Fire")
MKIC C 0 A_JumpIf(z-floorz==0,"SlideSlide") //A_JumpIf(momz==0, "SlideSlide")
Goto Ready2+2
AltFire2:
MKIC C 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_user1_check")==1, "User1Fire")
MKIC C 0 A_JumpIf(z-floorz==0,"SlideSlide2") //A_JumpIf(momz==0, "SlideSlide")
goto Ready2+2
SlideSlide:
//MKIC C 0 A_JumpIfNoAmmo("NoAmmo")
MKIC A 0 A_GiveInventory("MegaSlide",1)
MKIC C 0 A_PlaySoundEx("weapon/chargekick","Weapon")
//MKIC C 0 SetPlayerProperty(0,1,0)
//MKIC C 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,0,1)
MKIC A 1 A_GiveInventory("CopySlidePickup",1)
MKIC BCDEF 1
MKIC G 1 Offset(2,32)
MKIC G 1 Offset(2,30)
MKIC G 5 Offset(-2,32)
MKIC G 1 Offset(-2,30)
MKIC B 0 SetPlayerProperty(0,0,0)
MKIC F 3
MKIC E 2
MKIC C 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
MKIC D 2
MKIC CBA 1
MKIC A 0 A_TakeInventory("MegaSlide",1)
MKIC C 0 A_Refire
Goto Ready2+2
SlideSlide2:
//MKIC C 0 A_JumpIfNoAmmo("NoAmmo")
MKIC A 0 A_GiveInventory("MegaSlide",1)
MKIC C 0 A_PlaySoundEx("weapon/chargekick","Weapon")
//MKIC C 0 SetPlayerProperty(0,1,0)
//MKIC C 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,0,1)
MKIC A 1 A_GiveInventory("CopySlidePickup2",1)
MKIC BCDEF 1
MKIC G 1 Offset(4,34)
MKIC G 1 Offset(4,28)
MKIC G 1 Offset(-4,34)
MKIC G 1 Offset(-4,28)
MKIC B 0 SetPlayerProperty(0,0,0)
MKIC F 3
MKIC E 2
MKIC C 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
MKIC D 2
MKIC CBA 1
MKIC A 0 A_TakeInventory("MegaSlide",1)
MKIC C 0 A_Refire
Goto Ready2+2
NoAmmo:
CBUS A 1 ACS_Execute(979,0)
Goto Ready2+2
}
}

/*
actor StayDown : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
States
{
Pickup:
TNT1 A 0 A_JumpIf(Momz>0,"Down")
stop
Down:
TNT1 A 0 ThrustThingZ(0,0,1,0)
stop
}
}
*/

/*actor MegaCharge_WF : CustomInventory
{
States
{
Pickup:
TNT1 A 0
MEGM A 0 A_JumpIf(momx>0.25||momy>0.25||momx<-0.25||momy<-0.25,1)
goto No
TNT1 A 0 A_JumpIfInventory("WalkFrameDelayFlag",1,"Delay")
TNT1 A 0 ACS_ExecuteAlways(512,0,1,0)
TNT1 A 0 A_GiveInventory("WalkFrameDelayFlag",1)
stop
No:
TNT1 A 0
stop
Delay:
TNT1 A 0 ACS_ExecuteAlways(512,0,2,0)
stop
}
}*/

//actor WalkFrameDelayFlag : Powerup {powerup.duration 5}

actor MegamanX : Inventory {
inventory.maxamount 35
}

actor DoubleUp : Inventory {
inventory.maxamount 1
}

actor MegaShotC
{
Translation "204:204=215:215","202:202=4:4","199:199=215:215"
PROJECTILE
+FORCEXYBILLBOARD
damagetype "MegaM_Shot"
Obituary "$OB_MEGABUSTER"
Damage (10)
radius 5
height 5
Speed 27
scale 2.5
States
{
Spawn:
TNT1 A 2
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
W_0B B 1
wait
Death:
NEDR UVU 2
stop
}
}
actor MegaShotCB : MegaShotC{translation "204:204=205:205","202:202=4:4","199:199=205:205"}
actor MegaShotCR : MegaShotC{translation "204:204=171:171","202:202=4:4","199:199=171:171"}
actor MegaShotCO : MegaShotC{translation "204:204=104:104","202:202=4:4","199:199=104:104"}
actor MegaShotCP : MegaShotC{translation "204:204=229:229","202:202=4:4","199:199=229:229"}

actor MegaShotCX
{
Translation "204:204=215:215","202:202=4:4","199:199=215:215"
PROJECTILE
damagetype "MegaM_Shot"
Obituary "$OB_MEGABUSTER"
Damage (10)
radius 5
height 5
Speed 32
scale 2.5
States
{
Spawn:
TNT1 A 2
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
W_0B B 1
wait
Death:
NEDR UVU 2
stop
}
}
actor MegaShotCXB : MegaShotCX{translation "204:204=205:205","202:202=4:4","199:199=205:205"}
actor MegaShotCXR : MegaShotCX{translation "204:204=171:171","202:202=4:4","199:199=171:171"}
actor MegaShotCXO : MegaShotCX{translation "204:204=104:104","202:202=4:4","199:199=104:104"}
actor MegaShotCXP : MegaShotCX{translation "204:204=229:229","202:202=4:4","199:199=229:229"}

actor MidShotC
{
Translation "204:204=215:215"
PROJECTILE
damagetype "MegaM_Shot2"
Obituary "$OB_MEGABUSTER"
Damage (20)
radius 20
height 20
Speed 27
scale 2.5
States
{
Spawn:
TNT1 A 2
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
MBU2 DE 2
loop
}
}
actor MidShotCB : MidShotC{translation "204:204=205:205"}
actor MidShotCR : MidShotC{translation "204:204=171:171"}
actor MidShotCO : MidShotC{translation "204:204=104:104"}
actor MidShotCP : MidShotC{translation "204:204=229:229"}

actor MidShotCX
{
Translation "204:204=215:215"
PROJECTILE
damagetype "MegaM_Shot2"
Obituary "$OB_MEGABUSTER"
Damage (20)
radius 20
height 20
Speed 32
scale 2.5
States
{
Spawn:
TNT1 A 2
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
MBU2 DE 2
loop
}
}

actor MidShotCXB : MidShotCX{translation "204:204=205:205"}
actor MidShotCXR : MidShotCX{translation "204:204=171:171"}
actor MidShotCXO : MidShotCX{translation "204:204=104:104"}
actor MidShotCXP : MidShotCX{translation "204:204=229:229"}

actor MegaShot3
{
Translation "192:192=205:205","198:198=74:74","202:202=205:205"
PROJECTILE
damagetype "MegaM_Shot2"
Obituary "$OB_MEGABUSTER"
+THRUGHOST
Damage (25)
radius 18
height 18
Speed 50
scale 2.5
States
{
Spawn:
PCOI X 2
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
PCOI Y 2 A_ChangeFlag("THRUGHOST",0)
PCOI Z 2
PCOI XYZ 2
Goto Spawn+4
}
}

actor MegaShot3B : MegaShot3{translation"192:192=205:205","198:198=74:74","202:202=205:205"}
actor MegaShot3R : MegaShot3{translation"192:192=171:171","198:198=41:41","202:202=171:171"}
actor MegaShot3O : MegaShot3{translation"192:192=104:104","198:198=128:128","202:202=104:104"}
actor MegaShot3P : MegaShot3{translation"192:192=229:229","198:198=232:232","202:202=229:229"}

actor MegaShot3X
{
Translation "192:192=205:205","198:198=74:74","202:202=205:205"
PROJECTILE
damagetype "MegaM_Shot2"
Obituary "$OB_MEGABUSTER"
+THRUGHOST
Damage (30)
radius 18
height 18
Speed 55
scale 2.5
States
{
Spawn:
PCOI X 2
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
PCOI Y 2 A_ChangeFlag("THRUGHOST",0)
PCOI Z 2
PCOI XYZ 2
Goto Spawn+4
}
}

actor MegaShot3XB : MegaShot3X{translation"192:192=205:205","198:198=74:74","202:202=205:205"}
actor MegaShot3XR : MegaShot3X{translation"192:192=171:171","198:198=41:41","202:202=171:171"}
actor MegaShot3XO : MegaShot3X{translation"192:192=104:104","198:198=128:128","202:202=104:104"}
actor MegaShot3XP : MegaShot3X{translation"192:192=229:229","198:198=232:232","202:202=229:229"}

actor MegaShot4
{
Translation "198:198=198:198","192:192=192:192"
PROJECTILE
damagetype "MegaM_Shot3"
Obituary "$OB_MEGABUSTER"
Damage (30)
radius 18
height 22
Speed 45
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnL:
CBUS A 0 A_SpawnItemEx("Megaman_Shot3FX",-32,0,0,momx/2,momy/2,momz/2,0,SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)
CBUS ABCH 2 //A_SpawnItemEx("MegaShotTrail",-15,random(-1,1),random(0,3),0,frandom(-1.0f,1.0f),0,0,1)
loop
}
}

actor MegaShot4B : MegaShot4{translation"202:202=205:205","204:204=205:205","198:198=74:74","192:192=205:205"}
actor MegaShot4R : MegaShot4{translation"202:202=171:171","204:204=171:171","198:198=41:41","192:192=171:171"}
actor MegaShot4O : MegaShot4{translation"202:202=104:104","204:204=104:104","198:198=128:128","192:192=104:104"}
actor MegaShot4P : MegaShot4{translation"202:202=229:229","204:204=229:229","198:198=232:232","192:192=229:229"}

actor Megaman_Shot3FX
{
PROJECTILE
+NOINTERACTION
scale 2.5
+BRIGHT
States
{
Spawn:
TNT1 AA 0
CBUS DEF 2
stop
}
}

actor MegaShot4X
{
Translation "198:198=198:198","192:192=192:192"
PROJECTILE
damagetype "MegaM_Shot3"
Obituary "$OB_MEGABUSTER"
Damage (30)
radius 18
height 22
Speed 45
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnL:
CBUS A 0 A_SpawnItemEx("Megaman_Shot3FX",-32,0,0,momx/2,momy/2,momz/2,0,SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)
CBUS ABCH 2 A_SpawnItemEx("MegaShotTrail",-15,random(-1,1),random(0,3),0,frandom(-1.0f,1.0f),0,0,1)
loop
}
}

actor MegaShot4XB : MegaShot4X{translation"202:202=205:205","204:204=205:205","198:198=74:74","192:192=205:205"}
actor MegaShot4XR : MegaShot4X{translation"202:202=171:171","204:204=171:171","198:198=41:41","192:192=171:171"}
actor MegaShot4XO : MegaShot4X{translation"202:202=104:104","204:204=104:104","198:198=128:128","192:192=104:104"}
actor MegaShot4XP : MegaShot4X{translation"202:202=229:229","204:204=229:229","198:198=232:232","192:192=229:229"}


actor MegaShotTrail : BasicClientSide
{
speed 50.625
+CLIENTSIDEONLY
damage(2)
translation "0:0=215:215", "4:4=215:215"
states
{
Spawn:
FLAS CBABC 2 bright A_Fadeout(0.2)
stop
}
}


actor MegamanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MegaShotC",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MegaShotCB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MegaShotCR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MegaShotCO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MegaShotCP",0,0,8,0)
goto Done
}
}

actor MegamanMainX_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MegaShotCX",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MegaShotCXB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MegaShotCXR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MegaShotCXO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MegaShotCXP",0,0,8,0)
goto Done
}
}

actor MegamanMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MidShotC",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MidShotCB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MidShotCR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MidShotCO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MidShotCP",0,0,8,0)
goto Done
}
}

actor MegamanMain2X_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MidShotCX",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MidShotCXB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MidShotCXR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MidShotCXO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MidShotCXP",0,0,8,0)
goto Done
}
}

actor MegamanMain3_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MegaShot3",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MegaShot3B",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MegaShot3R",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MegaShot3O",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MegaShot3P",0,0,8,0)
goto Done
}
}

actor MegamanMain3X_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MegaShot3X",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MegaShot3XB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MegaShot3XR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MegaShot3XO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MegaShot3XP",0,0,8,0)
goto Done
}
}

actor MegamanMain4_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MegaShot4",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MegaShot4B",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MegaShot4R",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MegaShot4O",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MegaShot4P",0,0,8,0)
goto Done
}
}

actor MegamanMain4X_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MegaShot4X",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MegaShot4XB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MegaShot4XR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MegaShot4XO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MegaShot4XP",0,0,8,0)
goto Done
}
}

actor MegamanMain4s_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MegaShot4",0,0,-8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MegaShot4B",0,0,-8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MegaShot4R",0,0,-8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MegaShot4O",0,0,-8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MegaShot4P",0,0,-8,0)
goto Done
}
}

actor MegamanMain4sX_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MegaShot4X",0,0,-8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MegaShot4XB",0,0,-8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MegaShot4XR",0,0,-8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MegaShot4XO",0,0,-8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MegaShot4XP",0,0,-8,0)
goto Done
}
}
