actor WaveBurnerBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_BE"
dropitem "WaveBurnerWepCDropped"
Weapon.AmmoUse 4
Weapon.AmmoGive 224
Obituary "$OB_WAVEBURNER"
//Obituary "%o was burned alive by %k's Wave Burner."
weapon.ammotype "BossBurnerAmmo"
weapon.ammotype2 "BossBurnerAmmo2"
+WEAPON.NOAUTOAIM
States
{
Spawn:
C_0B E 1
loop
Ready:
BRHD J 0 ACS_ExecuteAlways(998,0,DYE_BURNERMAN)
goto Ready2

Ready2:
TNT1 A 0 A_TakeInventory("BurnermanM1Flag",99)
BRHD A 0 A_TakeInventory("BurnerDashFlag",99)
BRHD J 0 A_JumpIfInventory("BossBurnerAmmo",4,"Ready2a")
BRHD J 0 A_JumpIfInventory("BossBurnerAmmo2",28,"Ready2b")
BRHD J 2 A_WeaponReady(WRF_NOFIRE | WRF_ALLOWRELOAD)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",4)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",2)
Goto Ready2
Ready2a:
BRHD J 0 A_JumpIfInventory("BossBurnerAmmo",56,"Ready3a")
BRHD J 0 A_JumpIfInventory("BossBurnerAmmo2",28,"Ready3b")
BRHD J 2 A_WeaponReady(WRF_NOSECONDARY | WRF_ALLOWRELOAD)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",4)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",2)
Goto Ready2a
Ready2b:
BRHD J 0 A_JumpIfInventory("BossBurnerAmmo",4,"Ready3b")
BRHD J 2 A_WeaponReady(WRF_NOPRIMARY | WRF_ALLOWRELOAD)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",4)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",2)
Goto Ready2b
Ready3a:
BRHD J 0 A_JumpIfInventory("BossBurnerAmmo2",28,"Ready4")
BRHD J 2 A_WeaponReady(WRF_NOSECONDARY | WRF_ALLOWRELOAD)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",4)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",2)
goto Ready3a
Ready3b:
BRHD J 0 A_JumpIfInventory("BossBurnerAmmo",28,"Ready4")
BRHD J 2 A_WeaponReady(WRF_ALLOWRELOAD)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",4)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",2)
goto Ready3b

Ready4:
BRHD J 2 A_WeaponReady(WRF_ALLOWRELOAD)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",4)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",2)
goto Ready4

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
BRHD J 1 A_Lower
loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
BRHD J 1 A_Raise
loop

Fire: 
TNT1 A 0 A_GiveInventory("BurnermanM1Flag",1)  
BRHD J 1 Offset(-30, 31)
BRHD B 1 Offset(-55, 30)
goto FireH0



FireW:
BRHD A 0 A_JumpIfNoAmmo("NoAmmo")
BRHD A 0 A_PlaySoundEx("weapon/waveburneruw","Weapon")
BRHD A 0 A_JumpIfInventory("PowerRage_ST",1,"FireW_R")
BRHD A 1 Offset(-56,30) A_GiveInventory("BurnermanMain8_CI",1)
BRHD A 0 A_Refire("FireWC")
goto FireE
FireW_R:
BRHD AA 0 A_GiveInventory("BurnermanMain8_CI",1)
BRHD A 1 Offset(-56,30)
BRHD A 0 A_Refire("FireWC")
goto FireE
FireWC:
BRHD A 0 A_JumpIfInventory("IsUnderWater",1,"FireW1")
goto FireH0
FireW1:
BRHD A 0 A_JumpIfNoAmmo("NoAmmo")
BRHD A 0 A_JumpIfInventory("PowerRage_ST",1,"FireW1_R")
BRHD A 1 Offset(-56,30) A_GiveInventory("BurnermanMain9_CI",1)
BRHD A 0 A_Refire("FireWC1")
goto FireE
FireW1_R:
BRHD AA 0 A_GiveInventory("BurnermanMain9_CI",1)
BRHD A 1 Offset(-56,30)
BRHD A 0 A_Refire("FireWC1")
goto FireE
FireWC1:
BRHD A 0 A_JumpIfInventory("IsUnderWater",1,"FireW")
goto FireH0

FireH0_R:
BRHD B 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD B 0 A_GiveInventory("BurnermanMain2_CI",1)
BRHD B 1 Offset(-56,30) A_GiveInventory("BurnermanMain1_CI",1)
BRHD C 0 A_Refire("FireH2")
goto FireE
FireH1_R:
BRHD C 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD C 0 A_GiveInventory("BurnermanMain4_CI",1)
BRHD C 1 Offset(-56,30) A_GiveInventory("BurnermanMain3_CI",1)
BRHD B 0 A_Refire("FireH4")
goto FireE
FireH2_R:
BRHD B 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD B 0 A_GiveInventory("BurnermanMain2_CI",1)
BRHD B 1 Offset(-56,30) A_GiveInventory("BurnermanMain3_CI",1)
BRHD C 0 A_Refire("FireH6")
goto FireE
FireH3_R:
BRHD C 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD C 0 A_GiveInventory("BurnermanMain5_CI",1)
BRHD C 1 Offset(-56,30) A_GiveInventory("BurnermanMain1_CI",1)
BRHD B 0 A_Refire("FireH8")
goto FireE
FireH4_R:
BRHD B 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD B 0 A_GiveInventory("BurnermanMain7_CI",1)
BRHD B 1 Offset(-56,30) A_GiveInventory("BurnermanMain6_CI",1)
BRHD C 0 A_Refire("FireH10")
goto FireE
FireH5_R:
BRHD C 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD C 0 A_GiveInventory("BurnermanMain5_CI",1)
BRHD C 1 Offset(-56,30) A_GiveInventory("BurnermanMain6_CI",1)
BRHD B 0 A_Refire("FireH0")
goto FireE

FireH0:
BRHD B 0 A_JumpIfNoAmmo("NoAmmo")
BRHD B 0 A_JumpIfInventory("IsUnderWater",1,"FireW")
BRHD B 0 A_JumpIfInventory("PowerRage_ST",1,"FireH0_R")
BRHD B 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD B 1 Offset(-56,30)A_GiveInventory("BurnermanMain1_CI",1)
BRHD B 0 A_Refire("FireH1")
goto FireE
FireH1:
BRHD C 0 A_JumpIfNoAmmo("NoAmmo")
BRHD C 0 A_JumpIfInventory("IsUnderWater",1,"FireW")
BRHD C 0 A_JumpIfInventory("PowerRage_ST",1,"FireH0_R")
BRHD C 1 Offset(-56,30)A_GiveInventory("BurnermanMain2_CI",1)
BRHD C 0 A_Refire("FireH2")
goto FireE
FireH2:
BRHD A 0 A_JumpIfNoAmmo("NoAmmo")
BRHD A 0 A_JumpIfInventory("IsUnderWater",1,"FireW")
BRHD A 0 A_JumpIfInventory("PowerRage_ST",1,"FireH1_R")
BRHD A 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD A 1 Offset(-56,30)A_GiveInventory("BurnermanMain3_CI",1)
BRHD A 0 A_Refire("FireH3")
goto FireE
FireH3:
BRHD B 0 A_JumpIfNoAmmo("NoAmmo")
BRHD B 0 A_JumpIfInventory("IsUnderWater",1,"FireW")
BRHD B 0 A_JumpIfInventory("PowerRage_ST",1,"FireH1_R")
BRHD B 1 Offset(-56,30)A_GiveInventory("BurnermanMain4_CI",1)
BRHD B 0 A_Refire("FireH4")
goto FireE
FireH4:
BRHD C 0 A_JumpIfNoAmmo("NoAmmo")
BRHD C 0 A_JumpIfInventory("IsUnderWater",1,"FireW")
BRHD C 0 A_JumpIfInventory("PowerRage_ST",1,"FireH2_R")
BRHD C 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD C 1 Offset(-56,30)A_GiveInventory("BurnermanMain3_CI",1)
BRHD C 0 A_Refire("FireH5")
goto FireE
FireH5:
BRHD A 0 A_JumpIfNoAmmo("NoAmmo")
BRHD A 0 A_JumpIfInventory("IsUnderWater",1,"FireW")
BRHD A 0 A_JumpIfInventory("PowerRage_ST",1,"FireH2_R")
BRHD A 1 Offset(-56,30)A_GiveInventory("BurnermanMain2_CI",1)
BRHD A 0 A_Refire("FireH6")
goto FireE
FireH6:
BRHD B 0 A_JumpIfNoAmmo("NoAmmo")
BRHD B 0 A_JumpIfInventory("IsUnderWater",1,"FireW")
BRHD B 0 A_JumpIfInventory("PowerRage_ST",1,"FireH3_R")
BRHD B 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD B 1 Offset(-56,30)A_GiveInventory("BurnermanMain1_CI",1)
BRHD B 0 A_Refire("FireH7")
goto FireE
FireH7:
BRHD C 0 A_JumpIfNoAmmo("NoAmmo")
BRHD C 0 A_JumpIfInventory("IsUnderWater",1,"FireW")
BRHD C 0 A_JumpIfInventory("PowerRage_ST",1,"FireH3_R")
BRHD C 1 Offset(-56,30)A_GiveInventory("BurnermanMain5_CI",1)
BRHD C 0 A_Refire("FireH8")
goto FireE
FireH8:
BRHD A 0 A_JumpIfNoAmmo("NoAmmo")
BRHD A 0 A_JumpIfInventory("IsUnderWater",1,"FireW")
BRHD A 0 A_JumpIfInventory("PowerRage_ST",1,"FireH4_R")
BRHD A 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD A 1 Offset(-56,30)A_GiveInventory("BurnermanMain6_CI",1)
BRHD A 0 A_Refire("FireH9")
goto FireE
FireH9:
BRHD B 0 A_JumpIfNoAmmo("NoAmmo")
BRHD B 0 A_JumpIfInventory("IsUnderWater",1,"FireW")
BRHD B 0 A_JumpIfInventory("PowerRage_ST",1,"FireH4_R")
BRHD B 1 Offset(-56,30)A_GiveInventory("BurnermanMain7_CI",1)
BRHD B 0 A_Refire("FireH10")
goto FireE
FireH10:
BRHD C 0 A_JumpIfNoAmmo("NoAmmo")
BRHD C 0 A_JumpIfInventory("IsUnderWater",1,"FireW")
BRHD C 0 A_JumpIfInventory("PowerRage_ST",1,"FireH5_R")
BRHD C 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD C 1 Offset(-56,30)A_GiveInventory("BurnermanMain6_CI",1)
BRHD C 0 A_Refire("FireH11")
goto FireE
FireH11:
BRHD A 0 A_JumpIfNoAmmo("NoAmmo")
BRHD A 0 A_JumpIfInventory("IsUnderWater",1,"FireW")
BRHD A 0 A_JumpIfInventory("PowerRage_ST",1,"FireH5_R")
BRHD A 1 Offset(-56,30)A_GiveInventory("BurnermanMain5_CI",1)
BRHD A 0 A_Refire("FireH0")
goto FireE

FireE:
BRHD A 4 A_TakeInventory("WaveBurnerFlag",99)
//BRHD BA 2
BRHD A 1 Offset(-55, 30)
BRHD A 1 Offset(-35, 30)
BRHD J 1 Offset(-20, 31)
BRHD J 1 Offset(-15, 31)
BRHD J 0 A_TakeInventory("WaveBurnerFlag",99)
BRHD J 0 A_TakeInventory("UseTrap",999)
Goto Ready2

Altfire:   
BRHD I 0 A_GiveInventory("BurnerDashFlag",1)
BRHD J 0 A_JumpIfInventory("BossBurnerAmmo2",28,"JumpCheck")
goto Clear
JumpCheck:
BRHD J 0 A_JumpIf(ACS_ExecuteWithResult(C_JAX_CHECK_JUMP)==1,"HoverBeginCheck")
BRHD J 2 A_JumpIf(z-floorz==0,"SlideSlide")
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",4)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",2)
goto Ready2
HoverBeginCheck:
BRHD J 2 A_JumpIfInventory("BossBurnerAmmo2",84,"HoverBegin")
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",4)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",2)
goto Ready2

SlideSlide://IKLM
BRHD I 0 //A_GiveInventory("BurnerDashFlag",1)
BRHD DEFGHI 1 A_GiveInventory("BossBurnerAmmo",2)
BRHD I 0 SetPlayerProperty(0,1,0)

SlideSlideSlide:
BRHD I 0 A_GiveInventory("BurnerDashFlag",1)
TNT1 A 0 A_PlaySound("walk/baveburner",CHAN_WEAPON,0.85)
BRHD I 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD I 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)

BRHD I 1 Offset(0,30)A_GiveInventory("BurnerDashPickup",1)
BRHD I 1 Offset(0,34)
BRHD I 0 A_GiveInventory("BossBurnerAmmo",3)
BRHD I 0 A_TakeInventory("BossBurnerAmmo2",1)
BRHD I 0 A_Refire("SlideAmmo")
Goto Clear

SlideAmmo:
BRHD I 0 A_JumpIfInventory("BossBurnerAmmo2",1,"SlideSlideSlide2")
goto Clear

SlideSlideSlide2:
BRHD K 0 A_GiveInventory("BurnerDashFlag",1)
TNT1 A 0 //A_PlaySound("walk/baveburner",CHAN_WEAPON,0.85)
BRHD K 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD K 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)

BRHD K 1 Offset(0,30)A_GiveInventory("BurnerDashPickup",1)
BRHD L 1 Offset(0,34)
BRHD L 0 A_GiveInventory("BossBurnerAmmo",3)
BRHD L 0 A_TakeInventory("BossBurnerAmmo2",1)
BRHD L 0 A_Refire("SlideAmmo2")
Goto Clear

SlideAmmo2:
BRHD I 0 A_JumpIfInventory("BossBurnerAmmo2",1,"SlideSlideSlide3")
goto Clear

SlideSlideSlide3:
BRHD M 0 A_GiveInventory("BurnerDashFlag",1)
TNT1 A 0 A_PlaySound("walk/baveburner",CHAN_WEAPON,0.85)
BRHD M 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD M 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)

BRHD M 1 Offset(0,30)A_GiveInventory("BurnerDashPickup",1)
BRHD L 1 Offset(0,34)
BRHD L 0 A_GiveInventory("BossBurnerAmmo",3)
BRHD L 0 A_TakeInventory("BossBurnerAmmo2",1)
BRHD L 0 A_Refire("SlideAmmo3")
Goto Clear

SlideAmmo3:
BRHD I 0 A_JumpIfInventory("BossBurnerAmmo2",1,"SlideSlideSlide4")
goto Clear

SlideSlideSlide4:
BRHD K 0 A_GiveInventory("BurnerDashFlag",1)
TNT1 A 0 //A_PlaySound("walk/baveburner",CHAN_WEAPON,0.85)
BRHD K 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD K 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)

BRHD K 1 Offset(0,30)A_GiveInventory("BurnerDashPickup",1)
BRHD I 1 Offset(0,34)
BRHD I 0 A_GiveInventory("BossBurnerAmmo",3)
BRHD I 0 A_TakeInventory("BossBurnerAmmo2",1)
BRHD I 0 A_Refire("SlideAmmo4")
Goto Clear

SlideAmmo4:
BRHD I 0 A_JumpIfInventory("BossBurnerAmmo2",1,"SlideSlideSlide2")
goto Clear

HoverBegin:
BRHD D 0 A_ChangeFlag("NOGRAVITY",1)
BRHD D 0 SetPlayerProperty(0,1,0) 
BRHD O 0 ACS_NamedExecuteAlways("BULL_SetState",0,1)
goto HoverTime
HoverTime:  
BRHD D 0 A_GiveInventory("BurnerHoverTime_P",1)
BRHD D 0 A_GiveInventory("BurnerRiseSound_P",1)
BRHD D 1 Offset(0,30)
BRHD S 1 Offset(0,34)
BRHD S 0 A_TakeInventory("BossBurnerAmmo2",4)//2
BRHD S 0 A_Refire("HoverAmmo")
goto Launch
HoverAmmo:
BRHD S 0 A_JumpIfInventory("BossBurnerAmmo2",1,"HoverTime2")
goto Launch

HoverTime2:
BRHD T 0 A_GiveInventory("BurnerHoverTime_P",1)
BRHD T 0 A_GiveInventory("BurnerRiseSound_P",1)
BRHD T 1 Offset(0,30)
BRHD U 1 Offset(0,34)
BRHD U 0 A_TakeInventory("BossBurnerAmmo2",4)//2
BRHD U 0 A_Refire("HoverAmmo2")
goto Launch
HoverAmmo2:
BRHD U 0 A_JumpIfInventory("BossBurnerAmmo2",1,"HoverTime3")
goto Launch

HoverTime3: 
BRHD T 0 A_GiveInventory("BurnerHoverTime_P",1)
BRHD T 0 A_GiveInventory("BurnerRiseSound_P",1)
BRHD T 1 Offset(0,30)
BRHD S 1 Offset(0,34)
BRHD S 0 A_TakeInventory("BossBurnerAmmo2",4)//2
BRHD S 0 A_Refire("HoverAmmo3")
goto Launch
HoverAmmo3:
BRHD S 0 A_JumpIfInventory("BossBurnerAmmo2",1,"HoverTime")
goto Launch

Launch:
BRHD D 0 A_GiveInventory("LadderDisable",1)
BRHD D 0 A_Stop
BRHD D 0 A_PlaySound("weapon/BurnerDive",CHAN_BODY,1.0)
BRHD D 0 SetPlayerProperty(0,0,3)
BRHD D 0 A_ChangeFlag("NOGRAVITY",0)
BRHD D 0 SetPlayerProperty(0,1,0)
PLUH B 0 A_TakeInventory("UnSolid",1)
PLUH B 0 A_ChangeFlag("SOLID",0) 
PLUH B 0 A_ChangeFlag("THRUSPECIES",1)
BRHD D 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,0,1)
BRHD D 0 A_GiveInventory("BurnerDiveFlag",1)
BRHD D 0 A_TakeInventory("BossBurnerAmmo2",56)
BRHD D 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD D 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD D 0 A_ChangeVelocity(45,0,-4.5,3)//A_ChangeVelocity(60,0,-6,3)
TNT1 A 0 A_PlaySound("walk/diveburner",CHAN_WEAPON,1.0,1)
BRHD E 1 A_JumpIf(z-floorz<=0,"GroundHit")
BRHD E 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD E 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD E 0 A_ChangeVelocity(45,0,-4.5,3)
BRHD F 1 A_JumpIf(z-floorz<=0,"GroundHit")
BRHD F 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD F 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD F 0 A_ChangeVelocity(45,0,-4.5,3)
BRHD G 1 A_JumpIf(z-floorz<=0,"GroundHit")
BRHD G 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD G 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD G 0 A_ChangeVelocity(45,0,-4.5,3)
BRHD H 1 A_JumpIf(z-floorz<=0,"GroundHit")
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD H 0 A_ChangeVelocity(45,0,-4.5,3)
BRHD I 1 Offset(0,36) A_JumpIf(z-floorz<=0,"GroundHit")
BRHD I 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD I 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD I 0 A_ChangeVelocity(45,0,-4.5,3)
goto LaunchWait

LaunchWait:
BRHD V 0 A_GiveInventory("BurnerDiveFlag",1)
BRHD V 1 Offset(0,36)A_JumpIf(z-floorz<=0,"GroundHit")
BRHD V 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD V 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD V 0 A_JumpIf(pitch<360 && pitch>=270 || pitch>=0 && pitch<=10, "UpLimit")//Looking up/looking straight/down a little
BRHD V 0 A_ChangeVelocity(cos(pitch)*45,0,-sin(pitch)*45,3)//60
goto LaunchWait2

UpLimit:
BRHD V 0 A_ChangeVelocity(45,0,-4.5,3)
goto LaunchWait2

LaunchWait2:
BRHD V 0 A_JumpIfInventory("BurnerDiveFlag",500,"GroundHit")
BRHD V 1 Offset(0,28)A_JumpIf(z-floorz<=0,"GroundHit")
BRHD V 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD V 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD V 0 A_JumpIf(pitch<360 && pitch>=270 || pitch>=0 && pitch<=10, "UpLimit2")
BRHD V 0 A_ChangeVelocity(cos(pitch)*45,0,-sin(pitch)*45,3)
goto LaunchWait3

UpLimit2:
BRHD V 0 A_ChangeVelocity(45,0,-4.5,3)
goto LaunchWait3

//

LaunchWait3:
BRHD W 0 A_GiveInventory("BurnerDiveFlag",1)
BRHD W 1 Offset(0,36)A_JumpIf(z-floorz<=0,"GroundHit")
BRHD W 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD W 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD W 0 A_JumpIf(pitch<360 && pitch>=270 || pitch>=0 && pitch<=10, "UpLimit3")//Looking up/looking straight/down a little
BRHD W 0 A_ChangeVelocity(cos(pitch)*45,0,-sin(pitch)*45,3)//60
goto LaunchWait4

UpLimit3:
BRHD W 0 A_ChangeVelocity(45,0,-4.5,3)
goto LaunchWait4

LaunchWait4:
BRHD W 0 A_JumpIfInventory("BurnerDiveFlag",500,"GroundHit")
BRHD W 1 Offset(0,28)A_JumpIf(z-floorz<=0,"GroundHit")
BRHD W 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD W 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD W 0 A_JumpIf(pitch<360 && pitch>=270 || pitch>=0 && pitch<=10, "UpLimit4")
BRHD W 0 A_ChangeVelocity(cos(pitch)*45,0,-sin(pitch)*45,3)
goto LaunchWait5

UpLimit4:
BRHD W 0 A_ChangeVelocity(45,0,-4.5,3)
goto LaunchWait5

//

LaunchWait5:
BRHD X 0 A_GiveInventory("BurnerDiveFlag",1)
BRHD X 1 Offset(0,36)A_JumpIf(z-floorz<=0,"GroundHit")
BRHD X 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD X 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD X 0 A_JumpIf(pitch<360 && pitch>=270 || pitch>=0 && pitch<=10, "UpLimit5")//Looking up/looking straight/down a little
BRHD X 0 A_ChangeVelocity(cos(pitch)*45,0,-sin(pitch)*45,3)//60
goto LaunchWait6

UpLimit5:
BRHD X 0 A_ChangeVelocity(45,0,-4.5,3)
goto LaunchWait6

LaunchWait6:
BRHD X 0 A_JumpIfInventory("BurnerDiveFlag",500,"GroundHit")
BRHD X 1 Offset(0,28)A_JumpIf(z-floorz<=0,"GroundHit")
BRHD X 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD X 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD X 0 A_JumpIf(pitch<360 && pitch>=270 || pitch>=0 && pitch<=10, "UpLimit6")
BRHD X 0 A_ChangeVelocity(cos(pitch)*45,0,-sin(pitch)*45,3)
goto LaunchWait7

UpLimit6:
BRHD X 0 A_ChangeVelocity(45,0,-4.5,3)
goto LaunchWait7

//

LaunchWait7:
BRHD Y 0 A_GiveInventory("BurnerDiveFlag",1)
BRHD Y 1 Offset(0,36)A_JumpIf(z-floorz<=0,"GroundHit")
BRHD Y 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD Y 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD Y 0 A_JumpIf(pitch<360 && pitch>=270 || pitch>=0 && pitch<=10, "UpLimit7")//Looking up/looking straight/down a little
BRHD Y 0 A_ChangeVelocity(cos(pitch)*45,0,-sin(pitch)*45,3)//60
goto LaunchWait8

UpLimit7:
BRHD Y 0 A_ChangeVelocity(45,0,-4.5,3)
goto LaunchWait8

LaunchWait8:
BRHD Y 0 A_JumpIfInventory("BurnerDiveFlag",500,"GroundHit")
BRHD Y 1 Offset(0,28)A_JumpIf(z-floorz<=0,"GroundHit")
BRHD Y 0 A_SpawnItemEX("BurnerFlameTrail",22,12,70,0,0,8,0,1)
BRHD Y 0 A_SpawnItemEX("BurnerFlameTrail",22,-12,70,0,0,8,0,1)
BRHD Y 0 A_JumpIf(pitch<360 && pitch>=270 || pitch>=0 && pitch<=10, "UpLimit8")
BRHD Y 0 A_ChangeVelocity(cos(pitch)*45,0,-sin(pitch)*45,3)
goto LaunchWait

UpLimit8:
BRHD Y 0 A_ChangeVelocity(45,0,-4.5,3)
goto LaunchWait

GroundHit:
BRHD E 0 A_StopSound(CHAN_WEAPON)
BRHD E 0 A_Quake(3,18,0,8,"none")
BRHD E 0 A_GiveInventory("LadderEnable",1)
BRHD E 0 A_TakeInventory("BurnerDiveFlag",999)
BRHD E 0 A_Stop
BRHD E 0 A_SpawnItemEx("BurnExplosionSound")
BRHD E 0 A_GiveInventory("BurnermanAlt1_CI",1)
BRHD E 0 A_GiveInventory("BurnermanAlt2_CI",1)
BRHD E 1 Offset(0,18)
BRHD E 1 Offset(0,46)
BRHD E 1 Offset(0,20)
BRHD E 1 Offset(0,44)
BRHD E 1 Offset(0,22)
BRHD E 1 Offset(0,42)
BRHD E 1 Offset(0,24)
BRHD E 1 Offset(0,40)
BRHD E 1 Offset(0,26)
BRHD E 1 Offset(0,38)
BRHD E 1 Offset(0,28)
BRHD E 1 Offset(0,36)
BRHD E 1 Offset(0,30)
BRHD E 1 Offset(0,34)
BRHD E 1 A_WeaponReady(14)
BRHD E 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
PLUH B 0 A_ChangeFlag("THRUSPECIES",0)
PLUH B 0 A_SpawnItemEx("ResolidifyPlayer_H")
BRHD A 0 SetPlayerProperty(0,0,3)
BRHD A 0 SetPlayerProperty(0,0,0)
BRHD A 0 A_TakeInventory("UseTrap",999)
BRHD A 0 A_TakeInventory("BurnerDashFlag",99)
goto Ready2

Clear:
PLUH B 0 A_ChangeFlag("THRUSPECIES",0)
PLUH B 0 A_SpawnItemEx("ResolidifyPlayer_H")
BRHD A 0 SetPlayerProperty(0,0,3)
BRHD A 0 SetPlayerProperty(0,0,0)
BRHD A 0 A_TakeInventory("UseTrap",999)
BRHD A 0 A_TakeInventory("BurnerDashFlag",99)
BRHD IHGFED 1 A_GiveInventory("BossBurnerAmmo",2)
BRHD A 0 //A_TakeInventory("BurnerAnimFlag",1)
goto Ready2

Reload://JNOPQR
BRHD J 1  
BRHD J 0 A_JumpIfInventory("BossBurnerAmmo",56,"ThrowTrapsOK")
BRHD J 1
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",4)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",2)
goto Ready2

ThrowTrapsOK:
BRHD O 0 ACS_NamedExecuteAlways("BULL_SetState",0,2)
BRHD JNO 1
BRHD O 0 A_GiveInventory("UseTrapX",1)
BRHD O 0 A_PlaySoundEx("weapon/BombThrow","Weapon")
BRHD O 0 A_GiveInventory("BurnermanOther_CI",1)
BRHD PPQR 1  
BRHD A 0 A_TakeInventory("BossBurnerAmmo",56)
TNT1 A 9 offset(18,88)
BRHD J 1 offset(18,88)
BRHD J 1 offset(12,68)
BRHD J 1 offset(7,52)
BRHD J 1 offset(3,40)
BRHD J 7 A_WeaponReady(14)
goto Ready2

NoAmmo:
BRHD A 0 A_TakeInventory("UseTrap",999)
BRHD A 0 A_JumpIfInventory("IsBot",1,"BotAmmo")
goto FireE

BotAmmo:
BRHD A 0 A_GiveInventory("BossBurnerAmmo",84)
BRHD C 4 SetPlayerProperty(0,1,0)
BRHD B 2
BRHD A 20
BRHD A 0 SetPlayerProperty(0,0,0)
Goto Ready2
}
}

actor BossBurnerAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 224
+INVENTORY.IGNORESKILL
}

actor BossBurnerAmmo2 : Ammo
{
inventory.amount 1
inventory.maxamount 112
+INVENTORY.IGNORESKILL
}

actor BurnerDashFlag : Inventory
{
Inventory.amount 1
Inventory.maxamount 8
}
actor BurnerDiveFlag : Inventory
{
Inventory.amount 1
Inventory.maxamount 500
}
actor BurnerAnimFlag :OnceC{}

actor UseTrap :OnceC{}
actor UseTrapX :Powerup
{
Powerup.Duration 7
}

actor BurnerRiseSoundDelay : Powerup
{
Powerup.Duration 15
}

actor TrapUse : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.pickupmessage "Time to catch some gummy bears."
+INVBAR
Scale 2.0
inventory.icon "BurnTrap"
states
{
Spawn:
BRTR A 1
loop
Use:
TNT1 A 0 A_JumpIfInventory("UseTrap",1,"No")
TNT1 A 0 A_JumpIfInventory("BossBurnerAmmo",56,"GimmeTraps")
fail
GimmeTraps:
//TNT1 A 0 A_PlaySoundEx("item/refill","Voice")
TNT1 A 0 A_GiveInventory("UseTrap",1)
TNT1 A 0 A_GiveInventory("UseTrapX",1)
fail
No:
TNT1 A 0
fail
}
}


actor BurnerDashPickup : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIf(z-floorz==0,"Ground")
goto Air
Air:
TNT1 A 0 A_Recoil(-2)
stop
Ground:
TNT1 A 0 A_Recoil(-6)
stop
}
}

actor BurnerRiseSound_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("BurnerRiseSoundDelay",1,"No")
TNT1 A 0 A_PlaySoundEx("weapon/BurnerRise","Weapon")
TNT1 A 0 A_GiveInventory("BurnerRiseSoundDelay",1)
stop
No:
TNT1 A 0
stop
}
}

actor BurnerHoverTime_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,"No")
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,"PickupR")
TNT1 A 0 ThrustThingZ(0,24,0,0)
stop
PickupR:
TNT1 A 0 ThrustThingZ(0,36,0,0)
stop
No:
TNT1 A 0
stop
}
}

actor BurnerTrap
{
Translation "250:250=228:228","249:249=220:220","204:204=106:106","195:195=130:130"
PROJECTILE
-NOGRAVITY
+NOEXPLODEFLOOR
Gravity 1.0
Damage (10)
damagetype "BurnerM_HalfShock"
Obituary "$OB_BURNERTRAPT"
Height 5
Radius 8
Scale 2.5
Speed 45
wallbouncefactor 1
ReactionTime 5
States
{
Spawn:
BRTR B 0 ThrustThingZ(0,5,0,0)
BRTR B 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
BURT A 1
BRTR B 0 A_JumpIf(z-floorz<10,"Set")
goto Spawn+2
Set:
BRTR B 0 A_Stop
BRTR B 0 A_SpawnItemEx("BurnerTrapSet",0,0,0,0,0,0,0,1)
stop
Death:
XDeath:
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_Stop
WMFX EFGH 2
Stop
Crash:
BRTR B 0
BRTR B 0 A_PlaySoundEx("weapon/slashclawhit","Weapon")
BRTR BCDCDCDCDCD 2
WMFX EFGH 2
stop
}
}

actor BurnerTrapDeathFX : BasicClientSide
{
States
{
Spawn:
WMFX A 0
WMFX ABCD 2
stop
}
}

actor BurnerTrapB : BurnerTrap{Translation "250:250=196:196","249:249=199:199","195:195=74:74","204:204=205:205"}
actor BurnerTrapR : BurnerTrap{Translation "250:250=170:170","249:249=43:43","195:195=41:41","204:204=171:171"}
actor BurnerTrapO : BurnerTrap{Translation "250:250=138:138","249:249=131:131","195:195=128:128","204:204=104:104"}
actor BurnerTrapP : BurnerTrap{Translation "250:250=214:214","249:249=223:223","195:195=232:232","204:204=229:229"}

actor BurnerTrapSet
{
PROJECTILE
damagetype "BurnerM_Shock"
Obituary "$OB_BURNERTRAP"
+FLOORHUGGER
+THRUGHOST
+DONTREFLECT
+DONTBLAST
+HITTRACER
Damage (10)
Radius 8
Height 5
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
BRTR B 0
BRTR B 0 A_Stop
BRTR B 0 A_GiveInventory("Once",1)
BURT BCDEFGH 1// ThrustThing(0,0)
goto InvisibleTime
InvisibleTime:
TNT1 A 0 A_SetArg(0,args[0]+1)
BURT H 1 A_JumpIf(args[0]>=210,"SuperDeath")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
loop
Death:
XDeath:
TNT1 A 0 A_JumpIfInventory("Once",1,"SuperDeath")
WMFX EFGH 2
Stop
SuperDeath:
BURT HGFEDCB 1
BURT A 4
WMFX EFGH 2
stop
Crash:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("cbm_istracerally")==1, "Respawn")
BRTR B 0 A_PlaySoundEx("weapon/slashclawhit","Weapon")
BURT HGFEDCB 1
BURT A 35
WMFX EFGH 2
stop
Respawn:
TNT1 A 0 A_SetPitch(args[0])
TNT1 A 1 A_SpawnItemEx("BurnerTrapRespawn",0,0,0,0,0,0,0,513)
stop
}
}

actor BurnerTrapRespawn : BurnerTrapSet
{
+THRUACTORS
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveInventory("Once",1)
BURT H 6 A_SetArg(0,pitch+7)
TNT1 A 0 A_JumpIf(args[0]>=210, "SuperDeath")
TNT1 A 0 A_ChangeFlag("THRUACTORS",0)
goto S_InvisCheck
}
}

actor BurnerTrapSetB : BurnerTrapSet{DesignatedTeam 0}
actor BurnerTrapSetR : BurnerTrapSet{DesignatedTeam 1}
actor BurnerTrapSetO : BurnerTrapSet{DesignatedTeam 2}
actor BurnerTrapSetP : BurnerTrapSet{DesignatedTeam 3}

actor BurnerTrapProtect : PowerProtection
{
Powerup.Duration 3
DamageFactor "BurnerM_Shock", 0.2
DamageFactor "BurnerM_HalfShock", 0.2
}

actor BurnerTrapVisual : CloakVisualSpawner
{
states
{
Spawn2:
TNT1 A 0
TNT1 A 1 
stop
Blue:
TNT1 A 1 A_SpawnItemEx("BurnerTrapVisualB")
stop
Red:
TNT1 A 1 A_SpawnItemEx("BurnerTrapVisualR")
stop
Orange:
TNT1 A 1 A_SpawnItemEx("BurnerTrapVisualO")
stop
Purple:
TNT1 A 1 A_SpawnItemEx("BurnerTrapVisualP")
stop
}
}

actor BurnerTrapVisualB : CloakVisualB
{
Scale 2.0
states
{
Spawn:
BRTR D 0
BRTR D 1
stop
}
}

actor BurnerTrapVisualR : CloakVisualR{Scale 2.0 states{Spawn:BRTR D 0
BRTR D 1
stop}}
actor BurnerTrapVisualO : CloakVisualO{Scale 2.0 states{Spawn:BRTR D 0
BRTR D 1
stop}}
actor BurnerTrapVisualP : CloakVisualP{Scale 2.0 states{Spawn:BRTR D 0
BRTR D 1
stop}}

actor WaveBurnBoss
{
translation "199:199=195:195", "202:202=193:193"
PROJECTILE
damagetype "BurnerM_Shot"
Obituary "$OB_WAVEBURNER"
ReactionTime 1
Damage (4)
radius 5
height 5
Speed 34
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 2
Y_BG ABCD 3
Y_BG D 1
Y_BG D 1 A_CountDown
wait
Death:
YNT1 A 1 A_SpawnItemEx("OilPitIgnite",0,0,8)
stop
}
}

actor WaveBurnBossB : WaveBurnBoss{translation "199:199=74:74", "202:202=205:205"}
actor WaveBurnBossR : WaveBurnBoss{translation "199:199=41:41", "202:202=171:171"}
actor WaveBurnBossO : WaveBurnBoss{translation "199:199=128:128", "202:202=104:104"}
actor WaveBurnBossP : WaveBurnBoss{translation "199:199=232:232", "202:202=229:229"}

actor WaveBurnUWBoss : WaveBurnUW
{
Speed 34//26
Damage (4)
damagetype "BurnerM_Shot2"
translation "199:199=195:195", "202:202=193:193"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("WaveBurnerFlag",2,8)
TNT1 A 0 A_SpawnItemEx("WaveBurnerBubbleFXBoss",frandom(-8,8),frandom(-8,8),frandom(-8,8),momx/5,momy/5+frandom(-1,1),momz/5+frandom(-1,1),0,9)
//TNT1 A 0 A_CustomMissile("WaveBurnerBubbleFXBoss",0,0,random(-7,7),2,random(-4,4))
TNT1 A 0 A_Jump(16,6)
TNT1 A 0 A_SpawnItemEx("WaveBurnerBubbleFXBoss",frandom(-8,8),frandom(-8,8),frandom(-8,8),momx/5,momy/5+frandom(-1,1),momz/5+frandom(-1,1),0,9)
TNT1 A 0 A_Jump(96,4)
TNT1 A 0 A_SpawnItemEx("WaveBurnerBubbleFXBoss",frandom(-8,8),frandom(-8,8),frandom(-8,8),momx/5,momy/5+frandom(-1,1),momz/5+frandom(-1,1),0,9)
TNT1 A 0 A_Jump(128,2)
TNT1 A 0 A_SpawnItemEx("WaveBurnerBubbleFXBoss",frandom(-8,8),frandom(-8,8),frandom(-8,8),momx/5,momy/5+frandom(-1,1),momz/5+frandom(-1,1),0,9)
TNT1 A 2
Y_BG EFGH 3
goto Death
}
}

actor WaveBurnUWBossB : WaveBurnUWBoss{translation "199:199=74:74", "202:202=205:205"}
actor WaveBurnUWBossR : WaveBurnUWBoss{translation "199:199=41:41", "202:202=171:171"}
actor WaveBurnUWBossO : WaveBurnUWBoss{translation "199:199=128:128", "202:202=104:104"}
actor WaveBurnUWBossP : WaveBurnUWBoss{translation "199:199=232:232", "202:202=229:229"}


actor WaveBurnerBubbleFXBoss : WaveBurnerBubbleFX
{
translation "199:199=195:195", "202:202=193:193"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_ScaleVelocity(Random(2,5))
Y_BG IJ 3 ThrustThingZ(0,Random(3,6),0,1)
Y_BG K 5 A_Jump(230,1)
wait
Y_BG L 3
stop
}
}

actor BurnExplosionSound : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_PlaySoundEx("weapon/BurnerBoom","Body")
stop
}
}

actor BurnExplosion : BasicExplosion
{
Translation "249:249=131:131","76:76=110:110","250:250=104:104"
+FLOORHUGGER
+STEPMISSILE
-NOINTERACTION
+NOCLIP
maxstepheight 32
Obituary "$OB_BURNERDIVE"
damagetype "BurnerM_DiveLand"
scale 3.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Stop
TNT1 A 0 A_Explode(30,96,0,0,48)
TNT1 A 1 A_SpawnItemEx("OilPitIgnite",0,0,8)
BRBM MNO 3
stop
}
}

actor BurnExplosionB : BurnExplosion{translation "249:249=199:199","76:76=74:74","250:250=205:205"}
actor BurnExplosionR : BurnExplosion{translation "249:249=43:43","76:76=41:41","250:250=171:171"}
actor BurnExplosionO : BurnExplosion{translation "249:249=131:131","76:76=128:128","250:250=104:104"}
actor BurnExplosionP : BurnExplosion{translation "249:249=223:223","76:76=232:232","250:250=229:229"}

actor WaveBurnLineSpawner
{
Translation "249:249=131:131","76:76=110:110","250:250=104:104"
PROJECTILE
+DONTBLAST
+NOINTERACTION
height 1
radius 1
Speed 0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("WaveBurnLineSpawn",8,0,0,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("WaveBurnLineSpawn",8,0,0,0,0,0,30,1)
TNT1 A 0 A_SpawnItemEx("WaveBurnLineSpawn",8,0,0,0,0,0,60,1)
TNT1 A 0 A_SpawnItemEx("WaveBurnLineSpawn",8,0,0,0,0,0,90,1)
TNT1 A 0 A_SpawnItemEx("WaveBurnLineSpawn",8,0,0,0,0,0,120,1)
TNT1 A 0 A_SpawnItemEx("WaveBurnLineSpawn",8,0,0,0,0,0,150,1)
TNT1 A 0 A_SpawnItemEx("WaveBurnLineSpawn",8,0,0,0,0,0,180,1)
TNT1 A 0 A_SpawnItemEx("WaveBurnLineSpawn",8,0,0,0,0,0,210,1)
TNT1 A 0 A_SpawnItemEx("WaveBurnLineSpawn",8,0,0,0,0,0,240,1)
TNT1 A 0 A_SpawnItemEx("WaveBurnLineSpawn",8,0,0,0,0,0,270,1)
TNT1 A 0 A_SpawnItemEx("WaveBurnLineSpawn",8,0,0,0,0,0,300,1)
TNT1 A 0 A_SpawnItemEx("WaveBurnLineSpawn",8,0,0,0,0,0,330,1)
stop
}
}

actor WaveBurnLineSpawnerB : WaveBurnLineSpawner{translation "249:249=199:199","76:76=74:74","250:250=205:205"}
actor WaveBurnLineSpawnerR : WaveBurnLineSpawner{translation "249:249=43:43","76:76=41:41","250:250=171:171"}
actor WaveBurnLineSpawnerO : WaveBurnLineSpawner{translation "249:249=131:131","76:76=128:128","250:250=104:104"}
actor WaveBurnLineSpawnerP : WaveBurnLineSpawner{translation "249:249=223:223","76:76=232:232","250:250=229:229"}

actor WaveBurnLineSpawn
{
PROJECTILE
+FLOORHUGGER
Obituary "$OB_BURNERDIVEX"
damagetype "BurnerM_FireLine"
Height 10
Radius 6
Damage(0)
scale 2.5
States
{
Spawn:
BRBM AA 0
BRBM A 1
TNT1 A 0 A_SpawnItemEx("WaveBurnLine",0,0,0,25,0,0,0,1)
stop
}
}

actor WaveBurnLine
{
var int user_Dam;
PROJECTILE
+NOEXPLODEFLOOR
-NOGRAVITY
+DONTSPLASH
Obituary "$OB_BURNERDIVEX"
damagetype "BurnerM_FireLine"
Damage (user_Dam)
gravity 25
Height 40
Radius 6
scale 2.5
speed 25
States
{
Spawn:
TNT1 A 0
BRTR A 1 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
BRTR A 0 A_SetUserVar("user_Dam",5)
BRTR A 0 A_ChangeFlag(STEPMISSILE,TRUE)
SpawnLOOP:
BRBM A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
TNT1 A 0 A_JumpIf(user_Dam>=15,"SpawnLOOPMax")
BRTR A 0 A_SetUserVar("user_Dam",user_Dam+1)
BRBM A 1 A_SpawnItemEx("WaveBurnLineFX",0,0,0,0,0,0,0,1)
Y_AG C 0 A_JumpIf(momx * momx + momy * momy + momz* momz <= 5, "Death")
BRTR A 0 A_GiveInventory("Once",1)
loop
SpawnLOOPMax:
BRBM A 1 A_SpawnItemEx("OilPitIgnite",0,0,8)
BRTR A 0 A_GiveInventory("Once",1)
BRBM A 0 A_SpawnItemEx("WaveBurnLineFX",0,0,0,0,0,0,0,1)
Y_AG C 0 A_JumpIf(momx * momx + momy * momy + momz* momz <= 5, "Death")
loop
Crash:
XDeath:
Death:
TNT1 A 1
stop
}
}

actor WaveBurnLineFX : BasicClientSide
{
scale 2.5
States
{
Spawn:
BRBM A 1
BRBM BCDEFGHIJKL 1
stop
}
}

actor BurnerFlameTrail
{
-SOLID
+NOINTERACTION
+CLIENTSIDEONLY
height 1
radius 1
scale 2.5
States
{
Spawn:
BRTR U 3
BRTR T 1 A_FadeOut(0.15)
loop
Death:
TNT1 A 1
stop
}
}



actor TeamColor_CI_B : TeamColor_CI
{
States
{
Done:
TNT1 A 0 A_JumpIfInventory("WaveBurnerFlag",2,"DoneZ")
goto DoneX
DoneX:
TNT1 A 0 A_GiveInventory("WaveBurnerFlag",1)
stop
DoneZ:
TNT1 A 0 A_TakeInventory("WaveBurnerFlag",2)
stop
}
}
 
actor BurnermanMain1_CI : TeamColor_CI_B{states{
FireX: TNT1 A 0 A_FireCustomMissile("WaveBurnBoss" ,0,1,8,0)goto Done
FireB: TNT1 A 0 A_FireCustomMissile("WaveBurnBossB",0,1,8,0)goto Done
FireR: TNT1 A 0 A_FireCustomMissile("WaveBurnBossR",0,1,8,0)goto Done
FireO: TNT1 A 0 A_FireCustomMissile("WaveBurnBossO",0,1,8,0)goto Done
FireP: TNT1 A 0 A_FireCustomMissile("WaveBurnBossP",0,1,8,0)goto Done}}

actor BurnermanMain2_CI : TeamColor_CI_B{states{
FireX: TNT1 A 0 A_FireCustomMissile("WaveBurnBoss" ,5,0,8,0)goto Done
FireB: TNT1 A 0 A_FireCustomMissile("WaveBurnBossB",5,0,8,0)goto Done
FireR: TNT1 A 0 A_FireCustomMissile("WaveBurnBossR",5,0,8,0)goto Done
FireO: TNT1 A 0 A_FireCustomMissile("WaveBurnBossO",5,0,8,0)goto Done
FireP: TNT1 A 0 A_FireCustomMissile("WaveBurnBossP",5,0,8,0)goto Done}}

actor BurnermanMain3_CI : TeamColor_CI_B{states{
FireX: TNT1 A 0 A_FireCustomMissile("WaveBurnBoss" ,10,1,8,0)goto Done
FireB: TNT1 A 0 A_FireCustomMissile("WaveBurnBossB",10,1,8,0)goto Done
FireR: TNT1 A 0 A_FireCustomMissile("WaveBurnBossR",10,1,8,0)goto Done
FireO: TNT1 A 0 A_FireCustomMissile("WaveBurnBossO",10,1,8,0)goto Done
FireP: TNT1 A 0 A_FireCustomMissile("WaveBurnBossP",10,1,8,0)goto Done}}

actor BurnermanMain4_CI : TeamColor_CI_B{states{
FireX: TNT1 A 0 A_FireCustomMissile("WaveBurnBoss" ,15,0,8,0)goto Done
FireB: TNT1 A 0 A_FireCustomMissile("WaveBurnBossB",15,0,8,0)goto Done
FireR: TNT1 A 0 A_FireCustomMissile("WaveBurnBossR",15,0,8,0)goto Done
FireO: TNT1 A 0 A_FireCustomMissile("WaveBurnBossO",15,0,8,0)goto Done
FireP: TNT1 A 0 A_FireCustomMissile("WaveBurnBossP",15,0,8,0)goto Done}}

actor BurnermanMain5_CI : TeamColor_CI_B{states{
FireX: TNT1 A 0 A_FireCustomMissile("WaveBurnBoss" ,-5,0,8,0)goto Done
FireB: TNT1 A 0 A_FireCustomMissile("WaveBurnBossB",-5,0,8,0)goto Done
FireR: TNT1 A 0 A_FireCustomMissile("WaveBurnBossR",-5,0,8,0)goto Done
FireO: TNT1 A 0 A_FireCustomMissile("WaveBurnBossO",-5,0,8,0)goto Done
FireP: TNT1 A 0 A_FireCustomMissile("WaveBurnBossP",-5,0,8,0)goto Done}}

actor BurnermanMain6_CI : TeamColor_CI_B{states{
FireX: TNT1 A 0 A_FireCustomMissile("WaveBurnBoss" ,-10,1,8,0)goto Done
FireB: TNT1 A 0 A_FireCustomMissile("WaveBurnBossB",-10,1,8,0)goto Done
FireR: TNT1 A 0 A_FireCustomMissile("WaveBurnBossR",-10,1,8,0)goto Done
FireO: TNT1 A 0 A_FireCustomMissile("WaveBurnBossO",-10,1,8,0)goto Done
FireP: TNT1 A 0 A_FireCustomMissile("WaveBurnBossP",-10,1,8,0)goto Done}}

actor BurnermanMain7_CI : TeamColor_CI_B{states{
FireX: TNT1 A 0 A_FireCustomMissile("WaveBurnBoss" ,-15,0,8,0)goto Done
FireB: TNT1 A 0 A_FireCustomMissile("WaveBurnBossB",-15,0,8,0)goto Done
FireR: TNT1 A 0 A_FireCustomMissile("WaveBurnBossR",-15,0,8,0)goto Done
FireO: TNT1 A 0 A_FireCustomMissile("WaveBurnBossO",-15,0,8,0)goto Done
FireP: TNT1 A 0 A_FireCustomMissile("WaveBurnBossP",-15,0,8,0)goto Done}}

actor BurnermanMain8_CI : TeamColor_CI_B{states{
FireX: TNT1 A 0 A_FireCustomMissile("WaveBurnUWBoss" ,0,1,8,0)goto Done
FireB: TNT1 A 0 A_FireCustomMissile("WaveBurnUWBossB",0,1,8,0)goto Done
FireR: TNT1 A 0 A_FireCustomMissile("WaveBurnUWBossR",0,1,8,0)goto Done
FireO: TNT1 A 0 A_FireCustomMissile("WaveBurnUWBossO",0,1,8,0)goto Done
FireP: TNT1 A 0 A_FireCustomMissile("WaveBurnUWBossP",0,1,8,0)goto Done}}

actor BurnermanMain9_CI : TeamColor_CI_B{states{
FireX: TNT1 A 0 A_FireCustomMissile("WaveBurnUWBoss" ,0,0,8,0)goto Done
FireB: TNT1 A 0 A_FireCustomMissile("WaveBurnUWBossB",0,0,8,0)goto Done
FireR: TNT1 A 0 A_FireCustomMissile("WaveBurnUWBossR",0,0,8,0)goto Done
FireO: TNT1 A 0 A_FireCustomMissile("WaveBurnUWBossO",0,0,8,0)goto Done
FireP: TNT1 A 0 A_FireCustomMissile("WaveBurnUWBossP",0,0,8,0)goto Done}}

actor BurnermanAlt1_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("BurnExplosion" ,0,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("BurnExplosionB",0,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("BurnExplosionR",0,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("BurnExplosionO",0,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("BurnExplosionP",0,0,0,0)goto Done}}

actor BurnermanAlt2_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("WaveBurnLineSpawner" ,0,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("WaveBurnLineSpawnerB",0,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("WaveBurnLineSpawnerR",0,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("WaveBurnLineSpawnerO",0,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("WaveBurnLineSpawnerP",0,0,0,0)goto Done}}

actor BurnermanOther_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("BurnerTrap",-10,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BurnerTrap",0,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BurnerTrap",10,0,-8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("BurnerTrapB",-10,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BurnerTrapB",0,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BurnerTrapB",10,0,-8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("BurnerTrapR",-10,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BurnerTrapR",0,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BurnerTrapR",10,0,-8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("BurnerTrapO",-10,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BurnerTrapO",0,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BurnerTrapO",10,0,-8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("BurnerTrapP",-10,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BurnerTrapP",0,0,-8,0)
TNT1 A 0 A_FireCustomMissile("BurnerTrapP",10,0,-8,0)
goto Done
}
}
  
