//Charged shot damage decreased: 40 > 30
//Mega Upper damage increased: 7 > 11
Actor MegamanV : VCBaseClass
{
	+NOSKIN
	Player.ScoreIcon "MEGAMUGS"
	player.startitem "BaseFlagPack", 1
	player.displayname "Megaman"
	player.soundclass "megamanc"
	player.startitem "NormalArmor"
	player.startitem "MegaBusterV"
	//player.startitem "CanDash"
	player.startitem "CantJumpDash"
	player.startitem "IsACopywep"
	player.startitem "IsMegaman"
	player.startitem "CanThirdFire"
	//player.startitem "PowerGearPickup"
	player.startitem "UltimateAttackItem3"
	player.startitem "UltSoundWatcherSpawn3"
	player.startitem "MegaDamageModifier"
	player.startitem "IsNotARobotMaster"
	States
	{
		Spawn:
		MEGM B 0 A_JumpIfInventory("SuperArmTemp",1,"SpawnCarry")
		MEGM B 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SpawnCarry")
		MEGM B 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SpawnCarry")
		MEGM B 1 A_JumpIf(z-floorz>0, "Jumping")
		SpawnIdle:
		MEGM A 0 A_JumpIfInventory("SuperArmTemp",1,"SpawnCarryIdle")
		MEGM A 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SpawnCarryIdle")
		MEGM A 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SpawnCarryIdle")
		MEGM A 0 A_GiveInventory("VC_Timer",1)
		MEGM A 0 A_JumpIfInventory("VC_Timer",180,"Blink")
		MEGM A 1 A_JumpIf(z-floorz>0, "Jumping")
		Goto SpawnIdle
		SpawnCarry:
		1MEG E 0 A_JumpIf(momx>0.01||momy>0.01||momx<-0.01||momy<-0.01,"SeeCarry")
		1MEG E 1 A_JumpIf(z-floorz>0, "JumpingCarry")
		SpawnCarryIdle:
		1MEG D 0 A_JumpIf(momx>0.01||momy>0.01||momx<-0.01||momy<-0.01,"SeeCarry")
		1MEG D 1 A_JumpIf(z-floorz>0, "JumpingCarry")
		Goto SpawnCarryIdle
		
		Blink:
		0MEG A 0 A_TakeInventory("VC_Timer",999)
		0MEG AAAA 1 A_JumpIf(z-floorz>0, "Jumping")
		Goto SpawnIdle
		
		See:
		MEGM B 0 A_JumpIfInventory("SuperArmTemp",1,"SeeCarry")
		MEGM B 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SeeCarry")
		MEGM B 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SeeCarry")
		MEGM BBBBCCCCDDDDEEEE 1 A_JumpIf(z-floorz>0, "Jumping")
		Goto SpawnIdle
		SeeCarry:
		1MEG EEEEEFFFFFGGGGGHHHHH 1 A_JumpIf(z-floorz>0, "JumpingCarry")
		Goto SpawnCarry+1
		
		Jumping:
		0MEG D 0 A_JumpIfInventory("SuperArmTemp",1,"JumpingCarry")
		0MEG D 0 A_JumpIfInventory("DeepDiggerFlagL",1,"JumpingCarry")
		0MEG D 0 A_JumpIfInventory("DeepDiggerFlagR",1,"JumpingCarry")
		0MEG D 1 A_JumpIf(z-floorz<=0, "Spawn")
		loop
		JumpingCarry:
		1MEG I 1 A_JumpIf(z-floorz<=0, "SpawnCarry")
		wait
		
		Animation5:
		Missile:
		MEGM FFF 0 A_JumpIfInventory("IsUsingElectricShockWep",1,"Animation35")
		MEGM FFFFF 1 A_JumpIf(z-floorz>0, "JumpingMissile")
		Missile2:
		MEGM GGGGG 1 A_JumpIf(z-floorz>0, "JumpingMissile2")
		Goto SpawnIdle
		
		JumpingMissile:
		0MEG EEEEE 1 A_JumpIf(z-floorz<=0, "Missile")
		JumpingMissile2:
		0MEG EEEEE 1 A_JumpIf(z-floorz<=0, "Missile2")
		Goto Jumping
		
		Animation1:
		Upper:
		9MUP ABDCCCCCCCCCEEEFFF 1
		Goto Jumping
		
		Animation2:
		MegaSlide:
		0MEG BBBBBBBBBBBBBBBBBBBB 1 A_JumpIf(z-floorz>0, "Jumping")
		Goto Spawn
		
		Animation3:
		DoubleChargeShotA:
		1MEG VVV 1 A_JumpIf(z-floorz>0, "DoubleChargeShotA.Jumping")
		DoubleChargeShotB:
		1MEG WWW 1 A_JumpIf(z-floorz>0, "DoubleChargeShotB.Jumping")
		DoubleChargeShotC:
		1MEG XXX 1 A_JumpIf(z-floorz>0, "DoubleChargeShotC.Jumping")
		DoubleChargeShotD:
		1MEG VVVVVV 1 A_JumpIf(z-floorz>0, "DoubleChargeShotD.Jumping")
		DoubleChargeShotE:
		1MEG VVVVVV 1 A_JumpIf(z-floorz>0, "DoubleChargeShotE.Jumping")
		DoubleChargeShotF:
		1MEG VVVVVV 1 A_JumpIf(z-floorz>0, "DoubleChargeShotF.Jumping")
		Goto Animation4
		DoubleChargeShotA.Jumping:
		2MEG AAA 1 A_JumpIf(z-floorz<=0, "DoubleChargeShotA")
		DoubleChargeShotB.Jumping:
		2MEG BBB 1 A_JumpIf(z-floorz<=0, "DoubleChargeShotB")
		DoubleChargeShotC.Jumping:
		2MEG CCC 1 A_JumpIf(z-floorz<=0, "DoubleChargeShotC")
		DoubleChargeShotD.Jumping:
		2MEG AAAAAA 1 A_JumpIf(z-floorz<=0, "DoubleChargeShotD")
		DoubleChargeShotE.Jumping:
		2MEG AAAAAA 1 A_JumpIf(z-floorz<=0, "DoubleChargeShotE")
		DoubleChargeShotF.Jumping:
		2MEG AAAAAA 1 A_JumpIf(z-floorz<=0, "DoubleChargeShotF")
		Goto Animation4
		
		Animation4:
		DoubleChargeShotFireA:
		1MEG YY 1 A_JumpIf(z-floorz>0, "DoubleChargeShotFireA.Jumping")
		Animation6:
		DoubleChargeShotFireB:
		1MEG ZZZZZZ 1 A_JumpIf(z-floorz>0, "DoubleChargeShotFireB.Jumping")
		DoubleChargeShotFireC:
		1MEG ZZZZZZ 1 A_JumpIf(z-floorz>0, "DoubleChargeShotFireC.Jumping")
		DoubleChargeShotFireD:
		1MEG ZZZZZZ 1 A_JumpIf(z-floorz>0, "DoubleChargeShotFireD.Jumping")
		DoubleChargeShotFireE:
		1MEG ZZZZZZ 1 A_JumpIf(z-floorz>0, "DoubleChargeShotFireE.Jumping")
		Goto Spawn
		DoubleChargeShotFireA.Jumping:
		2MEG DD 1 A_JumpIf(z-floorz<=0, "DoubleChargeShotFireA")
		DoubleChargeShotFireB.Jumping:
		2MEG EEEEEE 1 A_JumpIf(z-floorz<=0, "DoubleChargeShotFireB")
		DoubleChargeShotFireC.Jumping:
		2MEG EEEEEE 1 A_JumpIf(z-floorz<=0, "DoubleChargeShotFireC")
		DoubleChargeShotFireD.Jumping:
		2MEG EEEEEE 1 A_JumpIf(z-floorz<=0, "DoubleChargeShotFireD")
		DoubleChargeShotFireE.Jumping:
		2MEG EEEEEE 1 A_JumpIf(z-floorz<=0, "DoubleChargeShotFireE")
		Goto Jumping
		
		//Copy weapon animations
		Animation30:
		SkipFireFrame:
		TNT1 A 0
		Goto SpawnIdle

		Animation31:
		Throw:
		0MEG FFFFF 1 A_JumpIf(z-floorz>0, "JumpingThrow")
		Throw2:
		0MEG FFFFF 1 A_JumpIf(z-floorz>0, "JumpingThrow2")
		Goto SpawnIdle
		JumpingThrow:
		0MEG GGGGG 1 A_JumpIf(z-floorz<=0, "Throw")
		JumpingThrow2:
		0MEG GGGGG 1 A_JumpIf(z-floorz<=0, "Throw2")
		Goto Jumping

		Animation32:
		LightningBolt:
		0MEG RRRRR 1
		Animation33:
		LightningBolt2:
		0MEG SSSSS 1
		Goto SpawnIdle

		Animation34:
		HardKnuckle:
		0MEG HHHHH 1 A_JumpIf(z-floorz>0,"JumpingHardKnuckle")
		HardKnuckle2:
		0MEG HHHHH 1 A_JumpIf(z-floorz>0,"JumpingHardKnuckle2")
		Goto SpawnIdle
		JumpingHardKnuckle:
		0MEG IIIII 1 A_JumpIf(z-floorz<=0,"HardKnuckle")
		JumpingHardKnuckle2:
		0MEG IIIII 1 A_JumpIf(z-floorz<=0,"HardKnuckle2")
		Goto Jumping

		Animation35:
		Hand:
		1MEG BBBBB 1 A_JumpIf(z-floorz>0,"JumpingHand")
		Hand2:
		1MEG BBBBB 1 A_JumpIf(z-floorz>0,"JumpingHand2")
		Goto SpawnIdle
		JumpingHand:
		1MEG CCCCC 1 A_JumpIf(z-floorz<=0,"Hand")
		JumpingHand2:
		1MEG CCCCC 1 A_JumpIf(z-floorz<=0,"Hand2")
		Goto Jumping
		
		Animation36:
		ChargeKick:
		0MEG BBBBBBBBBBBBBBBBBBBB 1
		Goto Spawn+1

		Animation37:
		SlashClawA:
		0MEG TT 1 A_JumpIf(z-floorz>0, "JumpingSlashClawA")
		SlashClawB:
		0MEG UU 1 A_JumpIf(z-floorz>0, "JumpingSlashClawB")
		SlashClawC:
		0MEG VV 1 A_JumpIf(z-floorz>0, "JumpingSlashClawC")
		SlashClawD:
		Animation38:
		NoSlashClaw:
		0MEG WWWWWW 1 A_JumpIf(z-floorz>0, "JumpingSlashClawD")
		Goto SpawnIdle
		JumpingSlashClawA:
		0MEG XX 1 A_JumpIf(z-floorz<=0, "SlashClawA")
		JumpingSlashClawB:
		0MEG YY 1 A_JumpIf(z-floorz<=0, "SlashClawB")
		JumpingSlashClawC:
		0MEG ZZ 1 A_JumpIf(z-floorz<=0, "SlashClawC")
		JumpingSlashClawD:
		1MEG AAAAAA 1 A_JumpIf(z-floorz<=0, "SlashClawD")
		Goto Jumping

		Animation39:
		FlameSwordA:
		0MEG JJ 1 A_JumpIf(z-floorz>0,"JumpingFlameSwordA")
		FlameSwordB:
		0MEG KK 1 A_JumpIf(z-floorz>0,"JumpingFlameSwordB")
		FlameSwordC:
		0MEG LLLLLLLLLLL 1 A_JumpIf(z-floorz>0,"JumpingFlameSwordC")
		FlameSwordD:
		Animation40:
		NoFlameSword:
		0MEG MMMMMMMMM 1 A_JumpIf(z-floorz>0,"JumpingFlameSwordD")
		Goto SpawnIdle
		JumpingFlameSwordA:
		0MEG MM 1 A_JumpIf(z-floorz<=0,"FlameSwordA")
		JumpingFlameSwordB:
		0MEG NN 1 A_JumpIf(z-floorz<=0,"FlameSwordB")
		JumpingFlameSwordC:
		0MEG OOOOOOOOOOO 1 A_JumpIf(z-floorz<=0,"FlameSwordC")
		JumpingFlameSwordD:
		0MEG PPPPPPPPP 1 A_JumpIf(z-floorz<=0,"FlameSwordD")
		Goto Jumping

		Animation41:
		TenguBlade:
		0MEG QQQQQ 1
		Animation42:
		TenguBlade2:
		0MEG QQQQQ 1
		Goto SpawnIdle

		Animation43:
		Breakdash:
		1MEG UUUUU 1
		Animation44:
		Breakdash2:
		1MEG UUUUU 1
		Goto SpawnIdle

		Animation45:
		ArmSwingA:
		1MEG JJJ 1 A_JumpIf(z-floorz>0, "JumpingArmSwingA")
		ArmSwingB:
		1MEG KKK 1 A_JumpIf(z-floorz>0, "JumpingArmSwingB")
		ArmSwingC:
		1MEG LLLLLLLLL 1 A_JumpIf(z-floorz>0, "JumpingArmSwingC")
		Goto SpawnIdle
		JumpingArmSwingA:
		1MEG JJJ 1 A_JumpIf(z-floorz<=0, "ArmSwingA")
		JumpingArmSwingB:
		1MEG MMM 1 A_JumpIf(z-floorz<=0, "ArmSwingB")
		JumpingArmSwingC:
		1MEG NNNNNNNNN 1 A_JumpIf(z-floorz<=0, "ArmSwingC")
		Goto Jumping

		Animation46:
		MegaBall:
		1MEG OOOOO 1
		MegaBall2:
		1MEG PPPPP 1
		Goto SpawnIdle

		Animation47:
		Sakugarne:
		1MEG QQQQQ 1 A_JumpIf(z-floorz>0, "JumpingSakugarne")
		Goto SpawnIdle
		JumpingSakugarne:
		1MEG RRRRR 1 A_JumpIf(z-floorz<=0, "Sakugarne")
		Goto Jumping

		Animation48:
		OilSlider:
		1MEG SSSSS 1 A_JumpIf(z-floorz>0, "JumpingOilSlider")
		Goto SpawnIdle
		JumpingOilSlider:
		1MEG TTTTT 1 A_JumpIf(z-floorz<=0, "OilSlider")
		Goto Jumping
		
		ClassPain:
		MEGM HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
		Goto SpawnIdle

		WeaponGetM:
		ClassDeath:
		MEGM H 20 ACS_ExecuteAlways(999,0,0)
		MEGM H 0 A_PlayerScream
		PLY1 H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 32)
		NOFX A 1 A_CheckPlayerDone
		wait
	}
}

Actor IsMegaman : VCOnce{}
Actor MegaSlide : VCOnce{}

actor SlideCooldown : Inventory
{
inventory.amount 1
inventory.maxamount 140
}

actor SlideThrust : BaseMovement//CustomInventory
{
inventory.amount 1
inventory.maxamount 1
States
{
itTimeGo://Pickup:
TNT1 A 0 ThrustThingZ(0,0,1,0)
TNT1 A 0 SetPlayerProperty(0,1,0)
TNT1 A 0 A_GiveInventory("MegaSlide",1)
TNT1 A 0 A_SpawnItemEx("GrenadeSmoke",-4)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
TNT1 A 0 A_PlaySoundEx("weapon/kickcharge","Weapon")
TNT1 A 0 A_JumpIfInventory("SlideCooldown",1,"Pickup2")
TNT1 A 0 A_PlaySoundEx("weapon/chargekick","Auto")
TNT1 A 0 A_SpawnItemEx("SlideCooldownWatcher")
TNT1 A 0 A_Recoil(CallACS("VC_XYMob",-40))
stop
Pickup2:
TNT1 A 0 A_Recoil(CallACS("VC_XYMob",-10))
stop
}
}

actor SlideCooldownWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
Renderstyle none
reactiontime 140
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("SlideCooldown",140)
loopit:
TNT1 A 1 A_TakeFromTarget("SlideCooldown",1)
TNT1 A 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}

Actor MegaBusterV : VCBaseWeapon
{
	Weapon.AmmoUse 1
	Weapon.AmmoGive 3
	Obituary "$OB_MEGAMAN1"
	Weapon.AmmoType "MegaCharge"
	Weapon.AmmoGive 0
	+WEAPON.NOAUTOAIM
	States
	{
		Ready:
		TNT1 A 0 ACS_ExecuteAlways(998,0,10000)
		ReadyReal:
		BUSV B 0 A_TakeInventory("MegaCharge",999)
		TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		BUSV E 1 A_WeaponReady
		Goto ReadyReal
		
		Deselect:
		TNT1 A 0 A_GiveInventory("MegaDamageModifier")
		TNT1 A 0 A_TakeInventory("RightClickFlag",999)
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
		BUSV E 1 A_Lower
		Loop
		Select:
		TNT1 A 0 A_TakeInventory("MegaDamageModifier")
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
		BUSV E 1 A_Raise
		Loop
		
		Fire:
		BUSV B 0 A_JumpIfInventory("PowerGearPowerup",1,"Fire.Gear")
		BUSV B 0 A_GiveInventory("MegamanCharge1_CI")
		BUSV FG 3
		BUSV B 0 A_Refire
		BUSV B 0 A_TakeInventory("MegaCharge",999)
		TNT1 A 0 A_TakeInventory("DontDash",1)
		Goto ReadyReal
		
		
		Fire.Gear:
		BUSV B 0 ACS_ExecuteAlways(991,0,10000)
        TNT1 A 0 A_GiveInventory("MegamanCharge1_CI")
        BUSV F 3
        BUSV B 0 A_PlaySoundEx("weapon/mbuster","Weapon")
        BUSV B 0 A_FireCustomMissile("MegaVPowerShot",0,0,8,0)
        BUSV G 3
		BUSV B 0 A_Refire
		BUSV B 0 A_TakeInventory("MegaCharge",999)
		TNT1 A 0 A_TakeInventory("DontDash",1)
		Goto ReadyReal

		Fire2:
		TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
		BUSV B 0 ACS_ExecuteAlways(991,0,10000)
		BUSV B 0 A_JumpIfInventory("PowerGearPowerup",1,"Fire2.Gear")
		TNT1 A 0 A_GiveInventory("MegamanCharge2_CI")
		BUSV GFE 3
		BUSV E 8
		BUSV B 0 A_Refire
		TNT1 A 0 A_TakeInventory("DontDash",1)
		Goto ReadyReal

		Fire2.Gear:
        TNT1 A 0 A_GiveInventory("MegamanCharge2_CI")
        BUSV GGGFF 1
        BUSV B 0 A_PlaySoundEx("weapon/minchrgshot","Weapon")
        BUSV B 0 A_FireCustomMissile("MegaVPowerShot2",0,0,8,0)
		BUSV FEEEE 1
		BUSV E 7
		BUSV B 0 A_Refire
		TNT1 A 0 A_TakeInventory("DontDash",1)
		Goto ReadyReal

		Fire3:
		TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
		BUSV B 0 ACS_ExecuteAlways(991,0,10000)
		BUSV B 0 A_JumpIfInventory("PowerGearPowerup",1,"Fire3.Gear")
		TNT1 A 0 A_GiveInventory("MegamanCharge3_CI")
		BUSV GFE 3
		BUSV E 0 A_Refire
		TNT1 A 0 A_TakeInventory("DontDash",1)
		Goto ReadyReal

		Fire3.Gear:
		TNT1 A 0 A_GiveInventory("MegamanCharge3_CI")
		BUSV GGGF 1
        BUSV B 0 A_PlaySoundEx("weapon/cfire2","Weapon")
        BUSV B 0 A_FireCustomMissile("MegaVPowerShot3",0,0,8,0)
		BUSV FFEEE 1
		BUSV E 0 A_Refire
		TNT1 A 0 A_TakeInventory("DontDash",1)
		Goto ReadyReal

		Hold:
		BUSV B 0 A_JumpIfInventory("MegaCharge",60,"Charge2")
		BUSV B 0 A_JumpIfInventory("MegaCharge",59,"PreCharge2")
		BUSV B 0 A_JumpIfInventory("MegaCharge",20,"Charge")
		BUSV E 1 A_GiveInventory("MegaCharge",1)
		TNT1 A 0 A_JumpIfInventory("IsBot",1,"BotRNG1")
		BUSV B 0 A_Refire
		TNT1 A 0 A_TakeInventory("DontDash",1)
		Goto ReadyReal
		BotRNG1:
		TNT1 A 0 A_Jump(16, "Fire")
		TNT1 A 0 A_Refire
		goto ReadyReal
		
		Charge:
		BUSV B 0 A_JumpIfInventory("MegaCharge",21,"Charge1a")
		BUSV B 0 A_GiveInventory("MegaChargeFlag1")
		BUSV B 0 A_PlaySoundEx("weapon/coilstart","Weapon")
		Goto Charge1a
		Charge1a:
		BUSV B 0 A_JumpIfInventory("MegaCharge",59,"PreCharge2")
		TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
		BUSV B 0 ACS_ExecuteAlways(971,0,92)
		BUSV E 1 A_GiveInventory("MegaCharge",1)
		BUSV H 0 A_Refire("Charge1b")
		Goto Fire2
		Charge1b:
		BUSV B 0 A_JumpIfInventory("MegaCharge",59,"PreCharge2")
		BUSV B 0 ACS_ExecuteAlways(971,0,92)
		BUSV E 1 A_GiveInventory("MegaCharge",1)
		BUSV H 0 A_Refire("Charge1c")
		Goto Fire2
		Charge1c:
		BUSV B 0 A_JumpIfInventory("MegaCharge",59,"PreCharge2")
		BUSV B 0 ACS_ExecuteAlways(991,0,10000)
		BUSV H 1 A_GiveInventory("MegaCharge",1)
		BUSV H 0 A_Refire("Charge1d")
		Goto Fire2
		Charge1d:
		BUSV B 0 A_JumpIfInventory("MegaCharge",59,"PreCharge2")
		BUSV B 0 ACS_ExecuteAlways(991,0,10000)
		BUSV H 1 A_GiveInventory("MegaCharge",1)
		TNT1 A 0 A_JumpIfInventory("IsBot",1,"BotRNG2")
		BUSV H 0 A_Refire("Charge1a")
		Goto Fire2
		BotRNG2:
		TNT1 A 0 A_Jump(8, "Fire2")
		TNT1 A 0 A_Refire("Charge1a")
		goto Fire2
		
		PreCharge2:
		BUSV B 0 A_TakeInventory("MegaChargeFlag1",999)
		BUSV B 0 A_GiveInventory("MegaChargeFlag2")
		BUSV B 0 A_GiveInventory("RightClickFlag",1)
		BUSV B 0 A_GunFlash("MainFlash")
		goto Charge2
		Charge2:
		TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
		FREZ A 0 A_JumpIf(CallACS("VC_CheckBtn",4)==7,"MegaUpper")
		TNT1 A 1 A_GiveInventory("MegaCharge",1)
		TNT1 A 0 A_JumpIfInventory("IsBot",1,"BotRNG3")
		BUSV B 0 A_Refire
		Goto Fire3
		BotRNG3:
		TNT1 A 0 A_Jump(16, "Fire3")
		TNT1 A 0 A_Refire
		goto Fire3

		Altfire:
		TNT1 A 0 A_JumpIfInventory("NoAltFire",1,"ReadyReal")
		TNT1 A 0 A_JumpIf(z-floorz == 0, "Dash")
		Goto ReadyReal
		Dash:
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
		TNT1 A 0 A_GiveInventory("SlideThrust",1)
		MKIC DDDEEEFFFFFFFF 1
		MKIC E 3 SetPlayerProperty(0,0,0)
		MKIC D 3
		Goto ReadyReal

		MegaUpper:
		TNT1 A 0 A_JumpIfInventory("PowerGearPowerup",1,"MegaUpperGear")
		TNT1 A 0 A_GiveInventory("MegamanUpper_CI",1)
		TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
		HSP1 FGH 1 A_SpawnItemEx("MegaUppercut1",5,0,5,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
		MegaUppercutAir:
		TNT1 A 0 A_TakeInventory("MegaUppercutAirAmmo",1)
		HSP1 I 1 A_SpawnItemEx("MegaUppercut1",5,0,5,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
		TNT1 A 0 A_JumpIfInventory("MegaUppercutAirAmmo",1,"MegaUppercutAir")
		goto MegaUppercutFall
		
		MegaUpperGear:
		TNT1 A 0 A_GiveInventory("MegamanUpper2_CI",1)
		TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
		HSP1 FGH 1 A_SpawnItemEx("MegaUppercut2",5,0,5,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
		MegaUppercutAirGear:
		TNT1 A 0 A_TakeInventory("MegaUppercutAirAmmo",1)
		HSP1 I 1 A_SpawnItemEx("MegaUppercut2",5,0,5,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
		TNT1 A 0 A_JumpIfInventory("MegaUppercutAirAmmo",1,"MegaUppercutAirGear")
		goto MegaUppercutFall
		
		MegaUppercutFall:
		TNT1 A 0 SetPlayerProperty(0,0,0)
		TNT1 A 1 A_ChangeFlag("NOGRAVITY",0)
		TNT1 A 0 A_JumpIf(z-floorz>0,"MegaUppercutFall")
		goto MegaUppercutEnd
		MegaUppercutEnd:
		TNT1 A 10 A_ClearRefire
		TNT1 A 0 A_TakeInventory("DontDash",1)
		Goto ReadyReal

		MainFlash:
		BUSV B 0 A_PlaySoundEx("weapon/coilcharge","Weapon")
		BUSV B 0 ACS_ExecuteAlways(971,0,93)
		BUSV I 2 A_JumpIfInventory("IsDead",1,"StopFlash")
		TNT1 A 0 A_JumpIfInventory("MegaCharge",1,1)
		stop
		BUSV B 0 ACS_ExecuteAlways(971,0,94)
		BUSV J 2 A_JumpIfInventory("IsDead",1,"StopFlash")
		TNT1 A 0 A_JumpIfInventory("MegaCharge",1,1)
		stop
		BUSV B 0 ACS_ExecuteAlways(971,0,10000)
		BUSV E 1 A_JumpIfInventory("IsDead",1,"StopFlash")
		TNT1 A 0 A_JumpIfInventory("MegaCharge",1,"MainFlash")
		stop
		AltfireFlash:
		BUSV B 0 A_PlaySoundEx("weapon/coilcharge","Weapon")
		TNT1 A 2 A_JumpIfInventory("IsDead",1,"StopFlash")
		TNT1 A 0 A_JumpIfInventory("MegaCharge",1,1)
		stop
		TNT1 A 2 A_JumpIfInventory("IsDead",1,"StopFlash")
		TNT1 A 0 A_JumpIfInventory("MegaCharge",1,1)
		stop
		TNT1 A 1 A_JumpIfInventory("IsDead",1,"StopFlash")
		TNT1 A 0 A_JumpIfInventory("MegaCharge",1,"AltfireFlash")
		stop
		StopFlash:
		TNT1 A 0
		stop
		UltimateAttack:
		TNT1 A 0 A_GiveInventory("PharaohUltCooldown")
		TNT1 A 0 A_SpawnItemEx("MegaUltFX")
		TNT1 A 0 A_ChangeFlag("NOPAIN",1)
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",3)
		TNT1 A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,0)
		CUTA A 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
		BUST NO 2 A_WeaponReady(WRF_NOFIRE|WRF_DISABLESWITCH)
		BUST B 0 A_PlaySoundEx("weapon/coilstart","Weapon")
		BUST PKPKPKPKPKPKPKPKP 2
		BUST K 1
		BUST C 0 A_PlaySoundEx("weapon/pshot","Weapon")
		BUST B 0 A_PlaySoundEx("weapon/cfire2","Auto")
		CUTA A 0 A_TakeInventory("MediumUltimateAmmo",999)
		CUTA A 0 A_TakeInventory("UltAttackFlag",1)
		BUST B 0 A_FireCustomMissile("MegaUltShot",0,0,0,0)
		BUST L 1 Offset(-3,0)
		BUST L 1 Offset(3,0)
		BUST L 1 Offset(-3,0)
		BUST M 1 Offset(2,0)
		BUST M 1 Offset(-2,0)
		BUST M 1 Offset(2,0)
		BUST M 1 Offset(-2,0)
		BUST M 1 Offset(2,0)
		BUST M 1 Offset(-2,0)
		BUST M 1 Offset(2,0)
		BUST L 1 Offset(-1,0)
		BUST L 1 Offset(1,0)
		BUST L 1 Offset(-1,0)
		BUST L 0 A_WeaponReady(WRF_NOFIRE|WRF_DISABLESWITCH)
		BUST ON 2 A_ChangeFlag("NOPAIN",0)
		goto Ready+2
	}
}


actor MegaCharge : Ammo
{
	inventory.amount 1
	inventory.maxamount 60
}

Actor MegaVShot
{
	PROJECTILE
	+LOOKALLAROUND
	+SKYEXPLODE
	Obituary "$OB_MEGAMAN1"
	DamageType "Megabuster"
	Speed 32
	Damage (12)
	radius 5
	height 5
	scale 2.5
	States
	{
		Spawn:
		TNT1 A 2
		TNT1 A 0 A_GiveInventory("ProjectileCode",1)
		BUST A 2
		goto Spawn+2
		XDeath:
		Death:
		BUST A 1
		stop
	}
}

Actor MegaVPowerShot : MegaVShot
{
	Damage (6)
	RenderStyle "Add"
}

Actor MegaVShot2
{
	PROJECTILE
	+LOOKALLAROUND
	+SKYEXPLODE
	Obituary "$OB_MEGAMAN1"
	DamageType "Megabuster2"
	Speed 32
	Damage (18)
	radius 20
	height 20
	scale 2.5
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		MBUS AB 2
		Goto Spawn+2
		Death:
		TNT1 A 0
		stop
	}
}

Actor MegaVPowerShot2 : MegaVShot2
{
	Damage (12)
	RenderStyle "Add"
}

Actor MegaVShot3
{
	PROJECTILE
	+RIPPER
	+LOOKALLAROUND
	+SKYEXPLODE
	DamageType "Megabuster3"
	Obituary "$OB_MEGAMAN2"
	Speed 35
	Damage (30)//(40)
	radius 32
	height 32
	scale 2.5
	States
	{
		Spawn:
		TNT1 A 2
		TNT1 A 0 A_GiveInventory("ProjectileCode",1)
		MBU2 ABC 2
		MBUS B 2
		goto Spawn+2
		Death:
		TNT1 A 0 A_Stop
		MMFX BCDE 3
		stop
	}
}

Actor MegaVPowerShot3 : MegaVShot3
{
	Damage (15)
	translation "193:193=176:176", "198:198=44:44", "210:210=173:173", "4:4=169:169"
	RenderStyle "Add"
	DamageType "Megabuster3Gear"
}

actor Megabuster3Protect : PowerProtection
{
	Powerup.Duration 17
	damagefactor "Megabuster3", 0.0
}

actor Megabuster3GearProtect : PowerProtection
{
	Powerup.Duration 17
	damagefactor "Megabuster3Gear", 0.0
}

Actor MegamanCharge1_CI : CustomInventory
{
	States
	{
		Pickup:
		BUST B 0 A_TakeInventory("MegaChargeFlag1",999)
		BUST B 0 A_TakeInventory("MegaChargeFlag2",999)
		TNT1 A 0 A_TakeInventory("RightClickFlag",999)
		BUST B 0 A_TakeInventory("MegaCharge",999)
		BUST C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
		BUST B 0 A_FireCustomMissile("MegaVShot",0,0,8,0)
		Stop
	}
}

Actor MegamanCharge2_CI : CustomInventory
{
	States
	{
		Pickup:
		BUST B 0 A_TakeInventory("MegaChargeFlag1",999)
		BUST B 0 A_TakeInventory("MegaChargeFlag2",999)
		TNT1 A 0 A_TakeInventory("RightClickFlag",999)
		BUST B 0 A_TakeInventory("MegaCharge",999)
		BUST C 0 A_PlaySoundEx("weapon/minchrgshot","Weapon")
		BUST B 0 A_FireCustomMissile("MegaVShot2",0,0,8,0)
		Stop
	}
}

Actor MegamanCharge3_CI : CustomInventory
{
	States
	{
		Pickup:
		BUST B 0 A_TakeInventory("MegaChargeFlag1",999)
		BUST B 0 A_TakeInventory("MegaChargeFlag2",999)
		TNT1 A 0 A_TakeInventory("RightClickFlag",999)
		BUST B 0 A_TakeInventory("MegaCharge",999)
		BUST B 0 A_PlaySoundEx("weapon/cfire2","Weapon")
		BUST B 0 A_FireCustomMissile("MegaVShot3",0,0,8,0)
		stop
	}
}

actor MegaUppercut1
{
	Obituary "$OB_MEGAMAN3"
	PROJECTILE
	+RIPPER
	DamageType "MegaUppercut"
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 A_Explode(11,64,0,0,64)
		stop
	}
}

actor MegaUppercut2
{
	Obituary "$OB_MEGAMAN3"
	PROJECTILE
	+RIPPER
	DamageType "MegaUppercutBurn"
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 AAAAA 0 A_SpawnItemEx("MegaFlameFX",random(0,24),0,random(28,64),random(0,3),0,random(-4,-1),random(0,359))
		TNT1 AAAAAAAA 0 A_SpawnItemEx("FireStormDot",0,0,random(28,64),random(5,20),0,random(-60,-10),random(0,359))
		TNT1 A 1 A_Explode(11,64,0,0,64)
		stop
	}
}

Actor MegaUppercutProtect : PowerProtection
{
	Powerup.Duration 6
	DamageFactor "MegaUppercut", 0.0
	DamageFactor "MegaUppercutBurn", 0.0
}

actor MegaUltShot
{
	PROJECTILE
	+RIPPER
	+LOOKALLAROUND
	+SKYEXPLODE
	+DONTBLAST
	renderstyle add
	Obituary "$OB_MEGAMAN4"
	damagetype "MegaUlt"
	Speed 60
	Damage (0)
	radius 16
	height 16
	scale 2.5
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		M3MU F 0 A_GiveToTarget("MegaUltBuildCooldownGiver")
		M3MU F 0 bright A_SpawnItemEx("MegaUltTrail",-momx*2/3,-momy*2/3,-momz*2/3,0,0,0,0,SXF_ABSOLUTEPOSITION)
		M3MU F 0 bright A_SpawnItemEx("MegaUltTrail",-momx/3,-momy/3,-momz/3,0,0,0,0,SXF_ABSOLUTEPOSITION)
		M3MU F 0 bright A_SpawnItemEx("MegaUltTrail",0,0,0,momx/4,momy/4,momz/4,0,SXF_ABSOLUTEMOMENTUM)
		M3MU F 0 bright A_SpawnItemEx("MegaUltTrail",0,0,0,0,0,0,0,SXF_ABSOLUTEPOSITION)
		M3MU F 1 A_Explode(30,48,0,0,48)
		goto Spawn+2
		Death:
		MMFX BCDE 2 A_GiveToTarget("MegaUltBuildCooldownGiver")
		stop
	}
}

actor MegaUltTrail : MegaUltShot
{
renderstyle add
+RIPPER
damage(5)
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1
M3MU GGGGGGGGGGGGGGGGGGG 1 A_FadeOut(0.05)
stop
}
}

Actor MegaVPowerShotUlt : MegaUltShot
{
	Damage (40)
	RenderStyle "Add"
}

actor MegaUppercutAirAmmo : Inventory
{
	inventory.amount 1
	inventory.maxamount 10
}

actor MegaUpperAnim : Powerup
{
+ADDITIVETIME
Powerup.Duration 5
}

actor MegaUltBuildCooldownGiver : UltBuildCooldownGiver
{
	Powerup.Duration 21
}

actor MegaChargeFlag1 : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor MegaChargeFlag2 : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

Actor MegamanUpper_CI : CustomInventory
{
	States
	{
		Pickup:
		BUST B 0 A_TakeInventory("MegaChargeFlag1",999)
		BUST B 0 A_TakeInventory("MegaChargeFlag2",999)
		TNT1 A 0 ACS_ExecuteAlways(991,0,10000)
		TNT1 A 0 A_Recoil(-14)
		TNT1 A 0 A_TakeInventory("RightClickFlag",999)
		TNT1 A 0 A_TakeInventory("MegaCharge",999)
		TNT1 A 0 A_GiveInventory("MegaUppercutAirAmmo",10)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
		TNT1 A 0 A_GiveInventory("MegaUpperAnim")
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
		TNT1 A 0 A_PlaySoundEx("weapon/tengudash","Weapon")
		TNT1 A 0 ThrustThingZ(0, 40, 0, 0)
		TNT1 A 0 SetPlayerProperty(0,1,0)
		Stop
	}
}

Actor MegamanUpper2_CI : CustomInventory
{
	States
	{
		Pickup:
		BUST B 0 A_TakeInventory("MegaChargeFlag1",999)
		BUST B 0 A_TakeInventory("MegaChargeFlag2",999)
		TNT1 A 0 ACS_ExecuteAlways(991,0,10000)
		TNT1 A 0 A_Recoil(-17)
		TNT1 A 0 A_TakeInventory("RightClickFlag",999)
		TNT1 A 0 A_TakeInventory("MegaCharge",999)
		TNT1 A 0 A_GiveInventory("MegaUppercutAirAmmo",10)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
		TNT1 A 0 A_GiveInventory("MegaUpperAnim")
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
		TNT1 A 0 A_PlaySoundEx("weapon/tengudash","Weapon")
		TNT1 A 0 A_PlaySoundEx("weapon/flameshoryuken","Body")
		TNT1 A 0 ThrustThingZ(0, 60, 0, 0)
		TNT1 A 0 SetPlayerProperty(0,1,0)
		Stop
	}
}

Actor PowerGearPickup : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("PowerGearAlivePower", 1)
TNT1 A 0 A_GiveInventory("NoPowerGearPowerup", 1)
TNT1 A 0 A_SpawnItemEx("PowerGearWatcher")
stop
}
}

Actor PowerGearAlivePower : PowerUp
{
Powerup.Duration 0x7FFFFFFD
}

Actor PowerGearWatcher
{
Height 0
Radius 0
+NOINTERACTION
+NOCLIP
PROJECTILE
+SERVERSIDEONLY
states
{
Spawn:
TNT1 A 4
AliveCheck:
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists")==0,"SpawnDead")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"SpawnDead")
TNT1 A 1 A_JumpIfInTargetInventory("PowerGearAlivePower",1,"SpawnAlive")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"SpawnDead")
TNT1 A 1 A_JumpIfInTargetInventory("PowerGearAlivePower",1,"SpawnAlive")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"SpawnDead")
TNT1 A 1 A_JumpIfInTargetInventory("PowerGearAlivePower",1,"SpawnAlive")
TNT1 A 1 A_Jump(256, "SpawnDead")
stop

SpawnDead:
TNT1 A 1
stop

SpawnAlive:
TNT1 A 0 A_TakeFromTarget("GearCooldown",1)
TNT1 A 1 A_GiveToTarget("PowerGearFunc",1)
goto AliveCheck
}
}

Actor PowerGearFunc : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag2",1,"PickupGearRelease")
TNT1 A 0 A_JumpIfInventory("GearOverheat",1,"PickupGain")
TNT1 A 0 A_JumpIfInventory("PowerGearPowerup",1,"PickupGearContinueCheck")
TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"PickupGearStart")
PickupGain:
TNT1 A 0 A_GiveInventory("PowerGearPickupGain_CI")
PickupGainEnd:
TNT1 A 0
stop
PickupGearStart:
TNT1 A 0 A_JumpIfInventory("GearCooldown",1,"Nope")
TNT1 A 0 A_JumpIfInventory("NoThirdFire",1,"Nope")
TNT1 A 0 A_GiveInventory("PowerGearStart_CI")
PickupGearContinue:
TNT1 A 0 A_GiveInventory("PowerGearFXGiver")
TNT1 A 0 A_GiveInventory("GearHeat",3)
stop
Nope:
TNT1 A 0
stop
PickupGearContinueCheck:
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,"PickupGearNotHolding")
TNT1 A 0 A_JumpIfInventory("GearHeat",250,"PickupGearForceEnd")
TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==1,"PickupGearNotHolding")
goto PickupGearContinue
PickupGearNotHolding:
TNT1 A 0 A_GiveInventory("BaseCustomFlag1")
TNT1 A 0 A_JumpIfInventory("GearHeat",250,"PickupGearForceEnd")
TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"PickupGearEnd")
goto PickupGearContinue
PickupGearForceEnd:
TNT1 A 0 A_GiveInventory("GearOverheat",1)
goto PickupGearEnd+1
PickupGearEnd:
TNT1 A 0 A_GiveInventory("GearCooldown",175)
TNT1 A 0 A_TakeInventory("BaseCustomFlag1")
TNT1 A 0 A_GiveInventory("BaseCustomFlag2")
TNT1 A 0 A_GiveInventory("PowerGearEnd_CI")
stop
PickupGearRelease:
TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"PickupGain")
PickupGearEnd2:
TNT1 A 0 A_TakeInventory("BaseCustomFlag2")
stop
}
}

Actor PowerGearPickupGain_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("GearCooldown",1,"PickupGainEnd")
TNT1 A 0 A_JumpIfInventory("GearTakeDelay_P",1,"PickupGainEnd")
TNT1 A 0 A_GiveInventory("GearTakeDelay_P",1)
TNT1 A 0 A_TakeInventory("GearHeat",1)
TNT1 A 0 A_JumpIfInventory("GearHeat",1,"PickupGainEnd")
TNT1 A 0 A_TakeInventory("GearOverheat",1)
PickupGainEnd:
TNT1 A 0
stop
}
}

Actor PowerGearStart_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("NoPowerGearPowerup",999)
TNT1 A 0 A_GiveInventory("PowerGearPowerup",1)
TNT1 A 0 A_GiveInventory("PowerGearFXGiver2")
TNT1 AAAAAAAAAAAAA 0 A_StopSoundEx("PowerGear")
TNT1 A 0 A_PlaySoundEx("megaman/powergearx","PowerGear")
TNT1 A 0 A_PlaySoundEx("megaman/powergear3","Auto")
stop
}
}

Actor PowerGearEnd_CI : CustomInventory
{
States
{
Pickup:
TNT1 AAAAAAAAAAAAA 0 A_StopSoundEx("PowerGear")
TNT1 A 0 A_PlaySoundEx("megaman/geardown","PowerGear")
TNT1 A 0 A_TakeInventory("PowerGearPowerup",999)
TNT1 A 0 A_GiveInventory("NoPowerGearPowerup",1)
stop
}
}


Actor GearTakeDelay_P : Powerup
{
	Powerup.Duration 3
}

Actor GearHeat : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 250
}

Actor GearCooldown : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 175
}

Actor GearOverheat : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
}

Actor PowerGearPowerup : Powerup
{
	Powerup.Duration 0x7FFFFFFD
}

Actor NoPowerGearPowerup : Powerup
{
	Powerup.Duration 0x7FFFFFFF
}

Actor PowerGearFXDelay : Powerup
{
	Powerup.Duration 8
}
Actor PowerGearFXDelay2 : Powerup
{
	Powerup.Duration 4
}

Actor PowerGearFXGiver : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("PowerGearFXDelay",1,"Nope")
TNT1 AA 0 A_SpawnItemEx("PowerGearFX", random(16, 48), 0, random(16,48), 0, 0, 0, random(0, 359))
TNT1 A 0 A_GiveInventory("PowerGearFXDelay",1)
Nope: TNT1 A 0
stop
}
}

Actor PowerGearFXGiver2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("PowerGearFXDelay2",1,"Nope")
TNT1 A 0 A_SpawnItemEx("PowerGearFX", random(16, 48), 0, random(16,48), 0, 0, 0, random(0, 359))
TNT1 A 0 A_GiveInventory("PowerGearFXDelay2",1)
Nope: TNT1 A 0
stop
}
}

Actor PowerGearFX
{
+FLOATBOB
+NOGRAVITY
+THRUACTORS
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
+MISSILE
+DONTBLAST
Damage(0)
Scale 1.75
RenderStyle "Translucent"
Alpha 0.8
Height 0
Radius 0
States
{
Spawn:
TNT1 A 1
PGR1 A 3 A_Fadeout(0.03) PGR1 A 0 A_SetScale(ScaleX - 0.08, ScaleY - 0.08)
PGR1 A 3 A_Fadeout(0.03) PGR1 A 0 A_SetScale(ScaleX - 0.08, ScaleY - 0.08)
PGR1 B 3 A_Fadeout(0.03) PGR1 B 0 A_SetScale(ScaleX - 0.08, ScaleY - 0.08)
PGR1 B 3 A_Fadeout(0.03) PGR1 B 0 A_SetScale(ScaleX - 0.08, ScaleY - 0.08)
Goto Spawn+1
}
}

actor MegaDamageModifier : PowerDamage
{
damagefactor "normal", 0.75
Powerup.Duration 0x7FFFFFFD
}

actor MegaFlameFX : BasicClientSide
{
translation "41:41=[255,101,0]:[255,101,0]", "248:248=160:160"
PROJECTILE
+NOCLIP
scale 0.1
renderstyle translucent
alpha 0.85
height 2
radius 2
speed 2
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode")
FSWD FEDFEDFEDFED 1 A_SetScale(scalex+0.2,scaley+0.2)
Death:
FSPK ABCD 2 A_FadeOut(0.2)
stop
}
}

actor MegaUltFX
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
renderstyle translucent
alpha 0.5
scale 2.5
reactiontime 10
States
{
Spawn:
TNT1 A 0
M3MU HH 1 A_Warp(AAPTR_TARGET, 0.0,0.0,0.0,0.0,WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
M3MU II 1 A_Warp(AAPTR_TARGET, 0.0,0.0,0.0,0.0,WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}

actor TurboAfterBurn
{
Height 0
Radius 0
+NOINTERACTION
+NOCLIP
damagetype "TurboBurning"
Obituary "$OB_TURBOMAN4"
PROJECTILE
states
{
Spawn:
TNT1 A 0
SpawnStart0:
TNT1 A 0 A_GiveInventory("TurboAfterBurnDamageTimer",1)
SpawnStart:
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NewAfterBurn",1,"SpawnStart",AAPTR_TRACER)
Spawn2:
TNT1 A 1
TNT1 A 0 A_GiveInventory("TurboAfterburnFunc",1)
loop
Death:
TNT1 A 0
stop
}
}

actor MegaAfterBurn : TurboAfterBurn
{
Obituary "$OB_MEGAMAN3"
}