//Mobility recoded
actor Burnerman : SemiWeakArmorClass
{
	Player.ScoreIcon "BURNMUGS"
	player.startitem "BaseFlagPack", 1
	player.startitem "SemiWeakArmor"
	player.soundclass "burnermanc"
	Player.ViewHeight 54
	player.forwardmove 0.9, 0.9
	player.sidemove 0.88, 0.88
	player.jumpz 12
	player.displayname "Burnerman"
	player.startitem "Base28Ammo",28
	player.startitem "WaveBurnerBoss"
	player.startitem "UltimateAttackItem2"
	player.startitem "UltSoundWatcherSpawn2"
	player.startitem "IsFromMMB"
	player.startitem "NoHealthBar"
	States
	{
		Animation6:
		Spawn:
		BURN A 0
		BURN B 1 A_JumpIf(z-floorz>0, "Jumping")
		BURN AA 1 A_JumpIf(z-floorz>0, "Jumping")
		BURN ZZ 1 A_JumpIf(z-floorz>0, "Jumping")
		Goto Spawn+2
		
		See:
		BURN BBBBCCCCDDDDEEEE 1 A_JumpIf(z-floorz>0, "Jumping")
		Goto Spawn+1
		
		Jumping:
		BURN I 1 A_JumpIf(z-floorz<=0, "Spawn")
		wait
		
		Animation1:
		BURN Q 3
		
		Animation5:
		BURN RST 1
		loop
		
		Animation4:
		BURN U 0 A_JumpIfInventory("BaseCustomFlag1",1,"Animation8")
		BURN UUVVWW 1
		loop
		
		Animation7:
		BRN2 Z 17
		BRN2 A 2
		BRN2 BCBCBCBCBCBCBCBCBCBCBCBCBCBC 1
		goto Spawn+2
		
		Animation8:
		BRN2 D 1
		loop
		
		Missile:
		BURN F 0 A_JumpIf(z-floorz>0, "JumpingMissile")
		BURN F 1 A_JumpIfInventory("BurnerWaveAnim",1,"Missile2")
		BURN F 0 A_JumpIf(z-floorz>0, "JumpingMissile")
		BURN F 1 A_JumpIfInventory("BurnerWaveAnim",1,"Missile2")
		BURN F 0 A_JumpIf(z-floorz>0, "JumpingMissile")
		BURN F 1 A_JumpIfInventory("BurnerWaveAnim",1,"Missile2")
		BURN F 0 A_JumpIf(z-floorz>0, "JumpingMissile")
		BURN F 1 A_JumpIfInventory("BurnerWaveAnim",1,"Missile2")
		BURN F 0 A_JumpIf(z-floorz>0, "JumpingMissile")
		BURN F 1 A_JumpIfInventory("BurnerWaveAnim",1,"Missile2")
		BURN F 0 A_JumpIf(z-floorz>0, "JumpingMissile")
		BURN G 1 A_JumpIfInventory("BurnerWaveAnim",1,"Missile2")
		BURN G 0 A_JumpIf(z-floorz>0, "JumpingMissile")
		BURN G 1 A_JumpIfInventory("BurnerWaveAnim",1,"Missile2")
		BURN G 0 A_JumpIf(z-floorz>0, "JumpingMissile")
		BURN G 1 A_JumpIfInventory("BurnerWaveAnim",1,"Missile2")
		BURN G 0 A_JumpIf(z-floorz>0, "JumpingMissile")
		BURN G 1 A_JumpIfInventory("BurnerWaveAnim",1,"Missile2")
		BURN G 0 A_JumpIf(z-floorz>0, "JumpingMissile")
		goto Spawn+1
		
		Missile2:
		BURN GFGF 1 A_JumpIf(z-floorz>0, "JumpingMissile2")
		goto Spawn+1
		
		JumpingMissile:
		BURN J 0 A_JumpIf(z-floorz<=0, "Missile")
		BURN J 1 A_JumpIfInventory("BurnerWaveAnim",1,"JumpingMissile2")
		BURN J 0 A_JumpIf(z-floorz<=0, "Missile")
		BURN J 1 A_JumpIfInventory("BurnerWaveAnim",1,"JumpingMissile2")
		BURN J 0 A_JumpIf(z-floorz<=0, "Missile")
		BURN J 1 A_JumpIfInventory("BurnerWaveAnim",1,"JumpingMissile2")
		BURN J 0 A_JumpIf(z-floorz<=0, "Missile")
		BURN J 1 A_JumpIfInventory("BurnerWaveAnim",1,"JumpingMissile2")
		BURN J 0 A_JumpIf(z-floorz<=0, "Missile")
		BURN J 1 A_JumpIfInventory("BurnerWaveAnim",1,"JumpingMissile2")
		BURN J 0 A_JumpIf(z-floorz<=0, "Missile")
		BURN J 1 A_JumpIfInventory("BurnerWaveAnim",1,"JumpingMissile2")
		BURN J 0 A_JumpIf(z-floorz<=0, "Missile")
		BURN J 1 A_JumpIfInventory("BurnerWaveAnim",1,"JumpingMissile2")
		BURN J 0 A_JumpIf(z-floorz<=0, "Missile")
		BURN J 1 A_JumpIfInventory("BurnerWaveAnim",1,"JumpingMissile2")
		BURN J 0 A_JumpIf(z-floorz<=0, "Missile")
		BURN J 1 A_JumpIfInventory("BurnerWaveAnim",1,"JumpingMissile2")
		BURN J 0 A_JumpIf(z-floorz<=0, "Missile")
		BURN J 1 A_JumpIfInventory("BurnerWaveAnim",1,"JumpingMissile2")
		BURN J 0 A_JumpIf(z-floorz<=0, "Missile")
		BURN J 1 A_JumpIfInventory("BurnerWaveAnim",1,"JumpingMissile2")
		goto Spawn+1
		
		JumpingMissile2:
		BURN JJJJ 1 A_JumpIf(z-floorz<=0, "Missile2")
		goto Spawn+1
		
		Animation2:
		BURN KKL 1 A_JumpIf(z-floorz>0, "JumpingA2")
		
		Animation2b:
		BURN MMMMMMMMMM 1 A_JumpIf(z-floorz>0, "JumpingA2b")
		goto Spawn+1
		
		JumpingA2:
		BURN NNO 1 A_JumpIf(z-floorz<=0, "Animation2")
		
		JumpingA2b:
		BURN PPPPPPPPPP 1 A_JumpIf(z-floorz<=0, "Animation2b")
		goto Spawn+1
		
		Animation3:
		BURN XYYYYYYYYY 1
		goto Jumping
		
		ClassTimeStop:
		BURN A 0 SetPlayerProperty(0,1,4)
		BURN A 0 ACS_Execute(528,0)
		BURN AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
		BURN A 0 SetPlayerProperty(0,0,4)
		Goto pain+1
		ClassPain:
		BURN HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
		Goto Spawn+1
		ClassDeath:
		BRN2 F 1 ACS_ExecuteAlways(999,0,0)
		BRN2 GHHIHIHIHJ 1
		BRN2 J 9
		BRN2 J 0 A_PlayerScream
		BURN A 0 A_SpawnItemEx("FakeDeathFXMMB",0,0,32)
		NOFX A 1 A_CheckPlayerDone
		wait
		ClassIceDeath:
		BURN A 35
		NOFX A 0 A_SpawnItemEx("FrozenDeathFX",0,0,16)
		NOFX A 1 A_CheckPlayerDone
		wait
		WeaponGetM:
		CUTM H 0 A_JumpIfInTargetInventory("WaveBurnerWepM",1,2)
		CUTM H 0 A_GiveToTarget("WeaponGetter")
		CUTM H 0 A_GiveToTarget("WaveBurnerWepM")
		goto ClassDeath
		Death.Spiney:
		BRN2 E 0 ThrustThingZ(0,70,0,0)
		BRN2 EFEF 5
		BURN H 0 A_PlayerScream
		BURN A 0 A_SpawnItemEx("FakeDeathFXMMB",0,0,32)
		NOFX A 1 A_CheckPlayerDone
		wait
	}
}

actor WaveBurnerBoss : VCBaseWeapon
{
	Weapon.AmmoUse 1
	Weapon.AmmoGive 28
	Weapon.AmmoType1 "Base28Ammo"
	Weapon.AmmoType2 "BaseAltfireAmmo"
	Obituary "$OB_BURNERMAN1"
	States
	{
		Ready:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,2)
		BRNH B 0 A_JumpIfInventory("BurnerPoseAmmo",1050,"Ready.TF")
		BRNH B 1 A_WeaponReady BRNH B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		BRNH B 1 A_WeaponReady BRNH B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		BRNH B 1 A_WeaponReady BRNH B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		BRNH B 0 A_GiveInventory("Base28Ammo",1)
		BRNH B 0 A_GiveInventory("BaseAltfireAmmo",3)
		Goto Ready
		
		Ready.TF:
		BRNH B 1 A_WeaponReady BRNH B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") BRNH B 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		BRNH B 1 A_WeaponReady BRNH B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") BRNH B 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		BRNH B 1 A_WeaponReady BRNH B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") BRNH B 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		BRNH B 0 A_GiveInventory("Base28Ammo",1)
		BRNH B 0 A_GiveInventory("BaseAltfireAmmo",3)
		Goto Ready

		Deselect:
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
		BRNH B 1 A_Lower
		Loop
		
		Select:
		BRNH A 0 ACS_ExecuteAlways(991,0,2926)
		BRNH A 0 A_SpawnItemEx("BurnerModeWatcher")
		BRNH AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
		BRNH B 1 A_Raise
		Loop
		
		User1:
		BRSP A 0 ACS_NamedExecuteWithResult("VC_SetState",7)
		BRSP A 1 Offset(0,10) SetPlayerProperty(0,1,0)
		BRSP B 9 Offset(0,20)
		BRSP B 1 Offset(0,21)
		BRSP B 1 Offset(0,19)
		BRSP B 1 Offset(0,22)
		BRSP B 1 Offset(0,18)
		BRSP B 1 Offset(0,23)
		BRSP B 1 Offset(0,17)
		BRSP B 1 Offset(0,24)
		BRSP C 1 Offset(0,12) A_GiveInventory("BurnerTFHandler",1)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12)
		BRSP F 1 Offset(0,8)
		BRSP F 1 Offset(0,12) SetPlayerProperty(0,0,0)
		goto Ready
		
		Fire:
		TNT1 A 0 A_JumpIfNoAmmo("NoAmmo")
		BRNH CF 1
		BRNH C 0 A_GunFlash
		BRNH C 0 A_JumpIfInventory("BaseCustomFlag1",1,"FireTF1")
		BRNH C 0 A_JumpIfInventory("Base28Ammo",28,"FireS1.Start")
		
		Fire1:
		BRNH E 0 A_JumpIfNoAmmo("Cooldown")
		BRNH E 0 A_GiveInventory("BurnerWaveAnim")
		BUST E 0 A_PlaySoundEx("weapon/waveburner","Weapon")
		BRNH E 1 Offset(1,0) A_GiveInventory("BurnerM1Helper")
		BRNH E 0 A_Refire("Fire2")
		goto Cooldown
		
		Fire2:
		BRNH D 0 A_JumpIfNoAmmo("Cooldown")
		BRNH D 1 Offset(-1,0) A_GiveInventory("BurnerM1Helper")
		BRNH D 0 A_Refire("Fire1")
		goto Cooldown
		
		FireS1.Start:
		BRNH E 0 A_GiveInventory("BurnerBlockerWaves")
		FireS1:
		BRNH E 0 A_JumpIfNoAmmo("Cooldown")
		BRNH E 0 A_GiveInventory("BurnerWaveAnim")
		BUST E 0 A_PlaySoundEx("weapon/atomicfire","Body")
		BUST E 0 A_PlaySoundEx("weapon/waveburner","Weapon")
		BRNH E 1 Offset(3,0) A_GiveInventory("BurnerM1Helper2")
		BRNH E 0 A_Refire("FireS2")
		goto Cooldown
		
		FireS2:
		BRNH D 0 A_JumpIfNoAmmo("Cooldown")
		
		BRNH D 0 A_JumpIfInventory("BurnerBlockerWaves",1,2)
		BRNH D 0 A_GiveInventory("BurnerBlockerWavesEnd",1)
		goto Fire1
		
		BRNH D 1 Offset(-3,0) A_GiveInventory("BurnerM1Helper2")
		BRNH D 0 A_Refire("FireS1")
		goto Cooldown
		
		FireTF1:
		BRNH E 0 A_JumpIfNoAmmo("Cooldown2")
		BRNH E 0 A_GiveInventory("BurnerWaveAnim")
		BUST E 0 A_PlaySoundEx("weapon/burnerburner","Body")
		BUST E 0 A_PlaySoundEx("weapon/waveburner","Weapon")
		BRNH E 1 Offset(3,0) A_GiveInventory("BurnerM1Helper3")
		BRNH E 0 A_Refire("FireTF2")
		goto Cooldown2
		
		FireTF2:
		BRNH D 0 A_JumpIfNoAmmo("Cooldown2")
		BRNH D 1 Offset(-3,0) A_GiveInventory("BurnerM1Helper3")
		BRNH D 0 A_Refire("FireTF1")
		goto Cooldown2
		
		Cooldown:
		BRNH B 0 A_WeaponReady(WRF_NOFIRE)
		BRNH B 0 A_GunFlash("NoFlash")
		BRNH DCBB 2 A_ClearRefire
		BRNH B 0 A_TakeInventory("BurnerFireFlag")
		goto Ready
		
		Cooldown2:
		BRNH B 0 A_WeaponReady(WRF_NOFIRE)
		BRNH B 0 A_GunFlash("NoFlash")
		BRNH DCBB 2 A_ClearRefire
		BRNH B 0 A_TakeInventory("BurnerFireFlag")
		BRNH B 0 A_TakeInventory("BaseCustomFlag1")
		BRNH B 0 A_GiveInventory("BurnerModeEnd",1)
		goto Ready
		
		Altfire:
		RATU A 0 A_JumpIfInventory("NoAltfire",1,"NoAmmo")
		BRNH D 0 A_JumpIfInventory("BaseAltfireAmmo",112,"AltHold")
		BRNH D 0 A_JumpIfInventory("BaseAltfireAmmo",16,"Altfire1")
		goto NoAmmo
	
		Altfire1:
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
		TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
		BNTH ED 1
		BNTH B 0 A_TakeInventory("WeaponCharge",999)
		BNTH B 0 A_TakeInventory("BaseAltfireAmmo",16)
		TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,"AltfireTF")
		BNTH B 0 A_PlaySoundEx("misc/itemthrow","Weapon")
		BNTH B 0 A_FireCustomMissile("BurnerGrenade",0,0,1,16)
		BNTH CBA 1
		TNT1 A 10
		BRNH GHBBB 2 A_ClearRefire
		goto Ready
		
		AltfireTF:
		BNTH B 0 A_PlaySoundEx("misc/sharktorpedo","Weapon")
		BNTH B 0 A_FireCustomMissile("BurnermanBomb",0,0,1,16)
		BNTH CBA 1
		TNT1 A 10
		BRNH GHBBB 2 A_ClearRefire
		BRNH B 0 A_TakeInventory("BaseCustomFlag1")
		BRNH B 0 A_GiveInventory("BurnerModeEnd",1)
		goto Ready
		
		AltHold:
		TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
		BRNH H 1 A_GiveInventory("WeaponCharge",1)
		BRNH H 0 A_JumpIfInventory("WeaponCharge",40,"AltHold2")
		BRNH H 0 A_Refire
		goto Altfire1
		
		AltHold2:
		BRNH G 1
		BRNH G 0 A_Refire("AltHold2")
		goto Altfire2
		
		Altfire2:
		TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
		TNT1 A 0 A_CheckFloor("Altfire.Leap")
		TNT1 A 0 A_PlaySoundEx("weapon/pcharge","Weapon")
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",5)
		TNT1 A 0 A_SetGravity(0.0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_ChangeVelocity(velx,vely,velz*0.8,CVF_REPLACE)
		BNDA AB 1 A_ClearRefire
		BNDA A 0 A_TakeInventory("WeaponCharge",999)
		BNDA A 0 A_TakeInventory("BaseAltfireAmmo",112)
		BNDA A 0 A_PlaySoundEx("weapon/burnerdive","Weapon")
		HAZH D 0 A_TakeInventory("UnSolid",1)
		HAZH D 0 A_ChangeFlag("SOLID",0)
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",4)
		//HAZH D 0 A_ChangeFlag("PICKUP",0)
		goto Altfire.Dive
		
		Altfire.Leap:
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
		TNT1 A 17 ThrustThingZ(0,100,0,0)
		goto Altfire2+2
		
		Altfire.Dive:
		TNT1 AAAAAAA 0 A_SpawnItemEx("BurnerDashFX",-2,random(-16,16),random(0,40),random(-4,-2),random(-3,3),random(-3,3))
		TNT1 A 0 A_GiveInventory("BurnerEchoHandler",1)
		BNDA C 0 A_SpawnItemEx("BurnerDashHitbox", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
		BNDA C 1 A_GiveInventory("BurnerThrustHandler",1)
		TNT1 A 0 A_CheckFloor("Altfire.Land")
		TNT1 AAAAAAA 0 A_SpawnItemEx("BurnerDashFX",-2,random(-16,16),random(0,40),random(-4,-2),random(-3,3),random(-3,3))
		TNT1 A 0 A_GiveInventory("BurnerEchoHandler",1)
		BNDA C 0 A_SpawnItemEx("BurnerDashHitbox", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
		BNDA D 1 A_GiveInventory("BurnerThrustHandler",1)
		TNT1 A 0 A_CheckFloor("Altfire.Land")
		TNT1 AAAAAAA 0 A_SpawnItemEx("BurnerDashFX",-2,random(-16,16),random(0,40),random(-4,-2),random(-3,3),random(-3,3))
		TNT1 A 0 A_GiveInventory("BurnerEchoHandler",1)
		BNDA C 0 A_SpawnItemEx("BurnerDashHitbox", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
		BNDA E 1 A_GiveInventory("BurnerThrustHandler",1)
		TNT1 A 0 A_CheckFloor("Altfire.Land")
		TNT1 AAAAAAA 0 A_SpawnItemEx("BurnerDashFX",-2,random(-16,16),random(0,40),random(-4,-2),random(-3,3),random(-3,3))
		TNT1 A 0 A_GiveInventory("BurnerEchoHandler",1)
		BNDA C 0 A_SpawnItemEx("BurnerDashHitbox", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
		BNDA F 1 A_GiveInventory("BurnerThrustHandler",1)
		TNT1 A 0 A_GiveInventory("BurnerDashHandler",1)
		TNT1 A 0 A_JumpIfInventory("VC_Timer",44,"Altfire.Stop")
		TNT1 A 0 A_CheckFloor("Altfire.Land")
		loop
		
		Altfire.Land:
		DRIA A 0 A_SpawnItemEx("ReSolidifier")
		TNT1 A 0 A_SpawnItemEx("BurnerBlast")
		TNT1 A 0 A_PlaySoundEx("weapon/burnerboom","Weapon")
		TNT1 A 0 A_PlaySoundEx("weapon/hyperbomb","Body")
		TNT1 A 0 A_Quake(2,20,0,300)
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",6)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,0)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,45)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,90)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,135)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,180)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,225)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,270)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,315)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,22.5)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,67.5)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,112.5)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,157.5)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,202.5)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,247.5)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,292.5)
		TNT1 A 0 A_SpawnItemEx("BurnerDashWaveStart",32,0,0,20,0,0,337.5)
		BRSP A 0 A_GiveInventory("GravityRestore")
		BRSP A 1 Offset(12,0) A_Stop
		BRSP A 1 Offset(-12,0) A_Stop
		BRSP A 1 Offset(10,0) A_Stop
		BRSP A 1 Offset(-10,0) A_Stop
		BRSP A 1 Offset(8,0) A_Stop
		BRSP A 1 Offset(-8,0) A_Stop
		BRSP A 1 Offset(6,0) A_Stop
		BRSP A 1 Offset(-6,0) A_Stop
		BRSP A 1 Offset(4,0) A_Stop
		BRSP A 1 Offset(-4,0) A_Stop
		BRSP A 1 Offset(2,0) A_Stop
		BRSP A 1 Offset(-2,0) A_Stop
		BRSP A 0 A_WeaponReady(WRF_NOFIRE)
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",6)
		BRSP A 20 A_Stop
		TNT1 A 0 SetPlayerProperty(0,0,0)
		TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Altfire.Stop2")
		BRNH GH 2
		goto Ready
		
		Altfire.Stop:
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",6)
		DRIA A 0 A_SpawnItemEx("ReSolidifier")
		BRSP A 0 A_WeaponReady(WRF_NOFIRE)
		BRSP A 0 A_GiveInventory("GravityRestore")
		BRSP A 2 A_Stop
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Altfire.Stop2:
		BRNH GH 2 A_TakeInventory("VC_Timer",99)
		BRNH G 0 A_TakeInventory("BaseCustomFlag2")
		BRNH B 0 A_TakeInventory("BaseCustomFlag1")
		BRNH B 0 A_GiveInventory("BurnerModeEnd",1)
		goto Ready
		
		Flash:
		TNT1 A 1 A_JumpIfInventory("IsDead",1,"NoFlash")
		TNT1 A 0 A_GiveInventory("BaseAltfireAmmo",3)
		TNT1 A 3 A_TakeInventory("Base28Ammo",1)
		loop
		
		UltimateAttack:
		TNT1 A 0 A_GiveInventory("BurnerUltBuildCooldownGiver",1)
		TNT1 A 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
		TNT1 A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,76)
		TNT1 A 0 A_JumpIf(z-floorz>0,10)
		TNT1 A 0 ThrustThingZ(0,120,0,0)
		BRSP ABBBBBBBB 2
		TNT1 A 0 A_GiveInventory("BurnerUltHandler",1)
		BRSP CDDEEEEEEE 1 A_Stop
		TNT1 A 4
		BRNH GH 2
		BRNH B 0 A_TakeInventory("UltAttackFlag")
		goto Ready
		
		NoAmmo:
		BRNH B 0 A_GiveInventory("Base28Ammo",1)
		BRNH B 3 A_GiveInventory("BaseAltfireAmmo",3)
		goto Ready
	}
}

actor BurnerWaveAnim : Powerup
{
Powerup.Duration 1
}

actor BurnerUltFlag : Powerup
{
Powerup.Duration 5
}

actor BurnerM1Helper : CustomInventory
{
States
{
Pickup:
BUST B 0 A_GiveInventory("BurnerFireFlag",1)
BUST B 0 A_JumpIfInventory("BurnerFireFlag",12,"Wave8")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",11,"Wave6")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",10,"Wave7")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",9,"Wave6")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",8,"Wave5")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",7,"Wave1")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",6,"Wave2")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",5,"Wave3")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",4,"Wave4")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",3,"Wave3")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",2,"Wave2")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",1,"Wave1")
Wave1:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner",0,0,8,16)
stop
Wave2:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner",-7,0,8,16)
stop
Wave3:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner",-14,0,8,16)
stop
Wave4:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner",-21,0,8,16)
stop
Wave5:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner",7,0,8,16)
stop
Wave6:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner",14,0,8,16)
stop
Wave7:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner",21,0,8,16)
stop
Wave8:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner",7,0,8,16)
TNT1 A 0 A_TakeInventory("BurnerFireFlag",999)
stop
}
}

actor BurnerM1Helper2 : CustomInventory
{
States
{
Pickup:
BUST B 0 A_GiveInventory("BurnerFireFlag",1)
BUST B 0 A_JumpIfInventory("BurnerFireFlag",12,"Wave8")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",11,"Wave6")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",10,"Wave7")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",9,"Wave6")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",8,"Wave5")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",7,"Wave1")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",6,"Wave2")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",5,"Wave3")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",4,"Wave4")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",3,"Wave3")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",2,"Wave2")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",1,"Wave1")
Wave1:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner2",0,0,8,16)
stop
Wave2:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner2",-7,0,8,16)
stop
Wave3:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner2",-14,0,8,16)
stop
Wave4:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner2",-21,0,8,16)
stop
Wave5:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner2",7,0,8,16)
stop
Wave6:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner2",14,0,8,16)
stop
Wave7:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner2",21,0,8,16)
stop
Wave8:
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner2",7,0,8,16)
TNT1 A 0 A_TakeInventory("BurnerFireFlag",999)
stop
}
}

actor BurnerFireFlag : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 12
}

actor BurnerWaveBurner
{
translation "208:213=4:4", "218:218=204:204", "40:40=240:240"
PROJECTILE
damagetype "Burnerman"
Obituary "$OB_BURNERMAN1"
Speed 30
Damage (2)
radius 12
height 12
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1
WABU ABCD 3
goto Death
Death:
TNT1 A 1 A_SpawnItemEx("OilPitIgnite",0,0,8)
stop
}
}

actor BurnerWaveBurner2
{
translation "208:213=4:4", "218:218=204:204", "40:40=240:240"
+MISSILE
+NOTARGETSWITCH
+NOGRAVITY
species "BurnerWaveType"
+THRUSPECIES
damagetype "Burnerman"
Obituary "$OB_BURNERMAN1"
Speed 30
Damage (2)
radius 18
height 18
scale 4.7
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1 A_SpawnItemEx("BurnerGuard",0,0,0,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
WABU AAABBBCCCDDD 1 A_SpawnItemEx("BurnerGuard",0,0,0,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
goto Death
Death:
TNT1 A 1 A_SpawnItemEx("OilPitIgnite",0,0,8)
stop
}
}

actor BurnerGrenade
{
Obituary "$OB_BURNERMAN2"
DamageType "Burnerman"
PROJECTILE
-NOGRAVITY
Radius 12
Height 12
Speed 45
Damage (5)
Scale 2.5
Gravity 0.9
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
BUGR ABCD 2
loop
Death:
WABV E 0 A_Stop
WABV E 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
WABV E 0 A_ChangeFlag("NOINTERACTION",1)
WABV E 0 A_PlaySoundEx("weapon/firestorm", "Weapon")
WABV E 0 A_PlaySoundEx("weapon/napalm", "Body")
WABV E 0 A_ChangeFlag("NOGRAVITY",1)
WABV E 0 A_Explode(18, 96, 0, 0, 16)
WABV EFGHI 2
MTRL BCDEF 2
stop
}
}

actor BurnerBlast
{
obituary "$OB_BURNERMAN3"
damagetype "Burnerman"
PROJECTILE
+THRUACTORS
radius 1
height 1
renderstyle translucent
alpha 0.9
scale 7.0
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
WABV N 0 A_Explode(40,200,0,0,64)
WABV NOP 4
stop
}
}

actor BurnerDashWaveStart
{
obituary "$OB_BURNERMAN3"
PROJECTILE
+FLOORHUGGER
+RIPPER
radius 8
height 8
speed 20
reactiontime 35
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
WABV QQ 1 A_Explode(2,16,0,0,16)
TNT1 A 0 A_PlaySoundEx("weapon/burnerwave","Body")
TNT1 A 0 A_SpawnItemEx("BurnerDashWave",0,0,0,0,0,0,0,1)
TNT1 A 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}

actor BurnerDashWave
{
Obituary "$OB_BURNERMAN3"
PROJECTILE
+RIPPER
+FLOORHUGGER
radius 1
height 1
scale 2.5
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
WABV QRSTUVWX 1 A_Explode(1,16,0,0,16)
stop
}
}

actor BurnerDashEcho
{
+CLIENTSIDEONLY
+NOCLIP
+NOGRAVITY
scale 2.5
renderstyle add
alpha 1
height 2
radius 2
speed 0
States
{
Spawn:
TNT1 A 0
BURN UUVVWWUUVV 1 A_FadeOut(0.1)
stop
}
}

actor BurnerDashFX
{
translation "41:41=240:240", "248:248=204:204"
+CLIENTSIDEONLY
+NOCLIP
+NOGRAVITY
scale 2.5
renderstyle translucent
alpha 1
height 2
radius 2
speed 0
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
FSPK ABCDABCD 2
FSPK AABBCCDD 1 A_FadeOut(0.08)
stop
}
}

actor BurnerDashHitbox
{
species "DustManType"
+THRUSPECIES
Obituary "$OB_BURNERMAN3"
PROJECTILE
+NOEXPLODEFLOOR
Radius 32
Height 32
scale 2.5
speed 0
damage (6)
Damagetype "BurnermanLunge"
States
{
Spawn:
TNT1 A 2
stop
XDeath:
TNT1 A 0
stop
Death:
TNT1 A 0 A_GiveToTarget("BurnerWallHandler",1)
stop
}
}

actor BurnerFallTrap
{
PROJECTILE
Radius 32
Height 32
scale 2.5
damage (0)
Speed 16
-BOUNCEONFLOORS
-BOUNCEONACTORS
+THRUACTORS
bouncetype hexen
bouncecount 99
bouncefactor 0.9
States
{
Spawn:
TNT1 AA 1 A_GiveInventory("ProjectileCode",1)
BUTP A 0 A_GiveToTarget("BurnerUltBuildCooldownGiver")
BUTP A 1 A_CheckFloor("Death.Floor")
goto Spawn+2
Death.Floor:
TNT1 A 0 A_PlaySoundEx("weapon/adapterreturn","Body")
TNT1 A 0 A_GiveToTarget("BurnerUltBuildCooldownGiver")
TNT1 A 1 A_SpawnItemEx("BurnerTrap",0,0,0,0,0,0,0,1)
stop
Death:
TNT1 A 0
stop
}
}

actor BurnerTrap
{
PROJECTILE
radius 8
height 8
damage(18)
+FLOORHUGGER
+THRUACTORS
species "BurnerWaveType"
+THRUSPECIES
obituary "$OB_BURNERMAN4"
scale 2.5
reactiontime 525
damagetype "BurnerTrap"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
BUTP BCDE 1
TNT1 A 0 A_GiveToTarget("BurnerUltFlag",1)
TNT1 A 0 A_ChangeFlag("THRUACTORS",0)
BUTP FFFFFFFFFFFFFF 5 A_GiveToTarget("BurnerUltBuildCooldownGiver")
loopit:
TNT1 A 0 A_GiveToTarget("BurnerUltBuildCooldownGiver")
TNT1 A 1 A_Countdown
loop
Death:
MMFX B 0 A_ChangeFlag("NOINTERACTION",1)
MMFX B 0 A_PlaySoundEx("weapon/napalm","Body")
MMFX BCDE 2
stop
XDeath:
BUTP E 0 A_ChangeFlag("NOINTERACTION",1)
BUTP E 0 A_PlaySoundEx("misc/wanaan","Body")
BUTP EDCB 1
BUTP A 101
MMFX B 0 A_PlaySoundEx("weapon/napalm","Body")
MMFX FGHI 2
stop
}
}

actor BurnerTrapped
{
RenderStyle "Translucent"
PROJECTILE
+NOINTERACTION
-DONTBLAST
reactiontime 105
states
{
Spawn:
TNT1 A 1 A_GiveToTarget("MovementFrozen2",1)
TNT1 A 0 A_JumpIfInTargetInventory("IsDead",1,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("ReleaseFromFreezes",1,"Death")
TNT1 A 0 A_Countdown
loop
Death:
MRFA A 0 A_GiveToTarget("MovementReturnFailsafe",1)
stop
}
}

actor BurnerUltBuildCooldownGiver : UltBuildCooldownGiver
{
	Powerup.Duration 35
}

actor BurnerUltHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("BurnerUltWatcher")
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",3)
TNT1 A 0 A_TakeInventory("MediumShortUltimateAmmo",1)
TNT1 A 0 A_PlaySoundEx("weapon/coilfire2","Weapon")
TNT1 A 0 A_SpawnItemEx("BurnerFallTrap",0,0,8,0,0,-12)
TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("BurnerFallTrap",0,0,8,random(1,20),0,-7,random(0,359))
stop
}
}

actor BurnerUltWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
reactiontime 200
States
{
Spawn:
TNT1 A 0 
TNT1 A 1 A_JumpIfInTargetInventory("BurnerUltFlag",1,"Spawn2")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
loop
Spawn2:
TNT1 A 3 A_TakeFromTarget("MediumShortUltimateAmmo",1)
TNT1 A 0 A_Countdown
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
loop 
Death:
TNT1 A 0 A_TakeFromTarget("MediumShortUltimateAmmo",999)
stop
}
}

actor BurnerPoseAmmo : Inventory
{
	inventory.amount 1
	inventory.maxamount 1050
}

actor BurnerModeWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_TakeFromTarget("BurnerPoseAmmo",9999)
TNT1 AAAAA 1 A_GiveToTarget("BurnerPoseAmmo",1)
loopit:
TNT1 A 0 A_GiveToTarget("BurnerPoseAmmo",1)
TNT1 A 1 A_JumpIfInTargetInventory("BaseCustomFlag1",1,"Spawn2")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
loop
Spawn2:
TNT1 A 0 A_SpawnItemEx("BurnerModeFX",random(16,32),0,random(0,80),random(0,1),0,0,random(0,359),0,196)
TNT1 A 0 A_SpawnItemEx("BurnerModeFX2",random(16,32),0,random(0,80),random(0,1),0,0,random(0,359),0,196)
TNT1 A 1 A_Warp(AAPTR_TARGET, 0.0,0.0,0.0,0.0,WARPF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_JumpIfInTargetInventory("BurnerModeEnd",1,"Spawn")
loop
Death:
TNT1 A 0
stop
}
}

actor BurnerModeEnd : Powerup
{
Powerup.Duration 35
}

actor BurnerModeFX : BurnerDashFX
{
speed 35
alpha 0.8
translation "41:41=[40,144,8]:[40,144,8]", "248:248=[96,192,56]:[96,192,56]"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
FSPK ABCD 2
FSPK AABBCCDD 1 A_FadeOut(0.075)
stop
}
}

actor BurnerModeFX2 : BurnerModeFX
{
translation "41:41=106:106", "248:248=4:4"
}

actor BurnerTFHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_Quake(3,14,0,200)
TNT1 A 0 A_PlaySoundEx("weapon/burnermode","Auto")
TNT1 A 0 A_GiveInventory("BaseCustomFlag1")
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BurnerModeFX",32,0,random(0,80),random(10,35),0,random(-32,32),random(0,359))
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BurnerModeFX2",32,0,random(0,80),random(10,35),0,random(-32,32),random(0,359))
stop
}
}

actor BurnermanBomb //Yes this is my recycled code from RiC, deal with it -Fr3ak
{
damagetype "Burnerman"
Obituary "$OB_BURNERMAN6"
PROJECTILE
-NOGRAVITY
Radius 24
Height 24
scale 2.5
damage (0)
speed 30
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
BRNT I 1
Goto Spawn+2
Death:
BRNT I 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
BRNT IIII 0 A_SpawnItemEx("BurnManWaveSpawner",0, 0, 0, 12, 0, 0, Random(0,45),1)
BRNT IIII 0 A_SpawnItemEx("BurnManWaveSpawner",0, 0, 0, 12, 0, 0, Random(45, 90),1)
BRNT IIII 0 A_SpawnItemEx("BurnManWaveSpawner",0, 0, 0, 12, 0, 0, Random(90, 135),1)
BRNT IIII 0 A_SpawnItemEx("BurnManWaveSpawner",0, 0, 0, 12, 0, 0, Random(135, 180),1)
BRNT IIII 0 A_SpawnItemEx("BurnManWaveSpawner",0, 0, 0, 12, 0, 0, Random(180, 225),1)
BRNT IIII 0 A_SpawnItemEx("BurnManWaveSpawner",0, 0, 0, 12, 0, 0, Random(225, 270),1)
BRNT IIII 0 A_SpawnItemEx("BurnManWaveSpawner",0, 0, 0, 12, 0, 0, Random(270, 315),1)
BRNT IIII 0 A_SpawnItemEx("BurnManWaveSpawner",0, 0, 0, 12, 0, 0, Random(315, 360),1)
NAPA E 0 A_Explode(23, 96, 0, 0, 16)
NAPA EFGHIJKLMNOPQRS 1
stop
}
}

actor BurnManWaveSpawner
{
translation "229:229=204:204", "227:227=240:240"
Obituary "$OB_BURNERMAN6"
PROJECTILE
+RIPPER
+DONTREFLECT
+THRUGHOST
+ACTIVATEMCROSS
+FLOORHUGGER
Radius 5
Height 10
scale 2.5
speed 12
damage (0)
damagetype "BurnerFlames"
maxstepheight 33
-NOGRAVITY
+DONTBLAST
+NOBLOOD
PainChance 0
reactiontime 10
renderstyle none
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 AA 0 A_SpawnItemEx("BurnManWave", random(-25,25), random(-25,25),0,random(-5,5),random(-5,5))
TNT1 A 4 A_SpawnItemEx("OilPitIgnite",0,0,8)
TNT1 A 0 A_CountDown
goto Spawn+3
Death:
TNT1 A 0 
stop
}
}

actor BurnerFlamesProtect : PowerProtection
{
Powerup.Duration 6
DamageFactor "BurnerFlames", 0.0
}

actor BurnManWave : BurnManWaveSpawner
{
PROJECTILE
Translation "229:229=204:204", "227:227=240:240"
Obituary "$OB_BURNERMAN6"
+FLOORHUGGER
+RIPPER
Damage(8)
DamageType "BurnerFlames"
Speed 0
Radius 5
Height 10
SeeSound "weapon/firestorm"
Scale 2.5
RenderStyle Add
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
BRNF A 0 A_PlaySoundEx("weapon/firestorm", "weapon")
BRNF AB 2 A_SpawnItemEx("OilPitIgnite",0,0,8)
Goto Death
Death:
BRNF A 0 A_SpawnItemEx("BurnManWaveFading",0,0,0,0,0,0,0,1)
stop
}
}

actor BurnManWaveFading
{
translation "229:229=204:204", "227:227=240:240"
Obituary "$OB_BURNERMAN6"
DamageType "BurnerFlames"
PROJECTILE
+FLOORHUGGER
+RIPPER
Damage(8)
speed 0
Radius 5
Height 10
seesound "weapon/firestorm"
scale 2.5
renderstyle add
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
BRNF ABABABABABABABAB 2 A_FadeOut(0.05)
Stop
Death:
TNT1 A 0
stop
}
}

actor BurnerM1Helper3 : CustomInventory
{
States
{
Pickup:
BUST B 0 A_GiveInventory("BurnerFireFlag",1)
BUST B 0 A_JumpIfInventory("BurnerFireFlag",12,"Wave8")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",11,"Wave6")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",10,"Wave7")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",9,"Wave6")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",8,"Wave5")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",7,"Wave1")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",6,"Wave2")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",5,"Wave3")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",4,"Wave4")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",3,"Wave3")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",2,"Wave2")
BUST B 0 A_JumpIfInventory("BurnerFireFlag",1,"Wave1")
Wave1:
TNT1 A 0 A_FireCustomMissile("BurnerModeFX2",random(-1,1),0,8,16,0,random(-4,4))
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner3",0,0,8,16)
stop
Wave2:
TNT1 A 0 A_FireCustomMissile("BurnerModeFX2",random(-8,-6),0,8,16,0,random(-4,4))
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner3",-7,0,8,16)
stop
Wave3:
TNT1 A 0 A_FireCustomMissile("BurnerModeFX2",random(-15,-13),0,8,16,0,random(-4,4))
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner3",-14,0,8,16)
stop
Wave4:
TNT1 A 0 A_FireCustomMissile("BurnerModeFX2",random(-22,-20),0,8,16,0,random(-4,4))
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner3",-21,0,8,16)
stop
Wave5:
TNT1 A 0 A_FireCustomMissile("BurnerModeFX2",random(6,8),0,8,16,0,random(-4,4))
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner3",7,0,8,16)
stop
Wave6:
TNT1 A 0 A_FireCustomMissile("BurnerModeFX2",random(13,15),0,8,16,0,random(-4,4))
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner3",14,0,8,16)
stop
Wave7:
TNT1 A 0 A_FireCustomMissile("BurnerModeFX2",random(20,22),0,8,16,0,random(-4,4))
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner3",21,0,8,16)
stop
Wave8:
TNT1 A 0 A_FireCustomMissile("BurnerModeFX2",random(6,8),0,8,16,0,random(-4,4))
TNT1 A 0 A_FireCustomMissile("BurnerWaveBurner3",7,0,8,16)
TNT1 A 0 A_TakeInventory("BurnerFireFlag",999)
stop
}
}

actor BurnerWaveBurner3 : BurnerWaveBurner2
{
translation "208:213=4:4", "218:218=[96,192,56]:[96,192,56]", "40:40=[40,144,8]:[40,144,8]"
damagetype "BurnermanBurn"
Obituary "$OB_BURNERMAN5"
}

actor BurnerAfterBurnPickup : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("NoNewAfterBurn",1)
TNT1 A 0 A_GiveInventory("NewAfterBurn",1)
TNT1 A 0 A_GiveInventory("BurnerAfterBurnDuration",1)
stop
}
}

actor BurnerAfterBurnDuration : PowerUp
{
Powerup.Duration 170
}

actor BurnerAfterBurnDamageTimer : PowerUp
{
Powerup.Duration 13
}

actor BurnerAfterBurn
{
Height 0
Radius 0
+NOINTERACTION
+NOCLIP
damagetype "BurnerBurning"
Obituary "$OB_BURNERMAN5"
PROJECTILE
states
{
Spawn:
TNT1 A 0
SpawnStart0:
TNT1 A 0 A_GiveInventory("BurnerAfterBurnDamageTimer",1)
SpawnStart:
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NewAfterBurn",1,"SpawnStart",AAPTR_TRACER)
Spawn2:
TNT1 A 1
TNT1 A 0 A_GiveInventory("BurnerAfterburnFunc",1)
loop
Death:
TNT1 A 0
stop
}
}

actor BurnerAfterburnFunc : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("BurnerAfterBurnDuration",1,"Pickup2",AAPTR_TRACER)
PickupRemove:
TNT1 A 0 Thing_Remove(0)
stop
Pickup2:
TNT1 A 0 A_JumpIfInventory("NewAfterBurn",1,"PickupRemove",AAPTR_TRACER)
TNT1 A 0 A_JumpIfInventory("BurnerAfterBurnDamageTimer",1,"PickupWait")
TNT1 A 0 A_GiveInventory("BurnerAfterBurnDamageTimer",1)
TNT1 A 0 A_Warp(AAPTR_TRACER,0,0,ACS_NamedExecuteWithResult("TracerHeightGet")/2,0,0)
TNT1 A 0 A_RadiusGive("AfterBurnImmune",IMMUNE_RADIUS,RGF_PLAYERS|RGF_MONSTERS|RGF_OBJECTS)
TNT1 A 0 A_TakeInventory("AfterBurnImmune",1,0,AAPTR_TRACER)
TNT1 A 0 A_Explode(1,1,0,0,1)
stop
PickupWait:
TNT1 A 0
stop
}
}

actor BurnerBurnBit1 : ScorchBit
{
translation "210:210=[96,192,56]:[96,192,56]", "42:42=[40,144,8]:[40,144,8]"
}

actor BurnerBurnBit2 : TurbomanWheelBit
{
translation "248:248=[40,144,8]:[40,144,8]", "42:42=[96,192,56]:[96,192,56]"
}

actor BurnerThrustHandler : BaseMovement// CustomInventory
{
States
{
itTimeGo://Pickup:
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag2",1,"Pickup3") //Wall crash
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Pickup2")
TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",60),0,-30,CVF_RELATIVE|CVF_REPLACE)
stop

Pickup3:
TNT1 A 0 A_ChangeVelocity(0,0,-60,CVF_RELATIVE|CVF_REPLACE)
stop

Pickup2:
TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*70),0,-sin(pitch)*70,CVF_RELATIVE|CVF_REPLACE)
stop
}
}

actor BurnerEchoHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Pickup2")
TNT1 A 0 A_SpawnItemEx("BurnerDashEcho",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
stop

Pickup2:
TNT1 A 0 A_SpawnItemEx("BurnerDashEcho2",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
stop
}
}

actor BurnerDashHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag2",1,"Nope")
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Pickup2")
stop

Pickup2:
TNT1 A 0 A_GiveInventory("VC_Timer",4)
stop

Nope:
TNT1 A 0
stop
}
}

actor BurnerWallHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Pickup2")
stop

Pickup2:
TNT1 A 0 A_GiveInventory("BaseCustomFlag2",1)
stop
}
}

actor BurnerDashEcho2 : BurnerDashEcho
{
States
{
Spawn:
TNT1 A 0
BURN DDDDDDDDDD 1 A_FadeOut(0.1)
stop
}
}

actor BurnerGuard
{
+MISSILE
Speed 0
+DONTSPLASH
+NOEXPLODEFLOOR
+FLOORCLIP
+NOGRAVITY
+NOTARGETSWITCH
Damage 0
Height 18
Radius 18
health 99999
scale 2.5
+SHOOTABLE
+NOBLOOD
-SOLID
painchance 256
bloodtype ""
species "BurnerWaveType"
+THRUSPECIES
+DONTRIP
+GHOST
+NORADIUSDMG
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 AA 1 A_JumpIfInTargetInventory("BurnerBlockerWavesEnd",1,"Death2")
stop
Death:
TNT1 A 0 //A_PlaySound("item/protoreflect")
TNT1 A 1
stop
Pain:
TNT1 AA 0 A_SpawnItemEx("BurnerSmoke",0,0,0,-8,0,random(-7,7),random(-20,20))
TNT1 A 0 A_JumpIfInTargetInventory("BurnerBlockerWavesEnd",1,"Death2")
TNT1 A 2 A_PlaySound("misc/lava")
stop
Death2:
TNT1 A 0
stop
}
}

actor BurnerSmoke : BasicClientSide
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
MGME JKLMN 2
stop
}
}

actor BurnerBlockerWaves : Powerup
{
Powerup.Duration 35
}

actor BurnerBlockerWavesEnd : Powerup
{
Powerup.Duration 3
}