actor WaveBurnerBoss : BaseMM8BDMWep_CBM
{
dropitem "WaveBurnerWepCDropped"
Weapon.AmmoUse 4
Weapon.AmmoGive 224
Weapon.SlotNumber 1
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 A 0 ACS_ExecuteAlways(998,0,926)
goto Ready2
Ready2:
BRHD A 0 A_JumpIfInventory("BossBurnerAmmo",4,"Ready2a")
BRHD A 0 A_JumpIfInventory("BossBurnerAmmo2",28,"Ready2b")
BRHD A 1 A_WeaponReady(WRF_NOFIRE)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",2)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",1)
Goto Ready2
Ready2a:
BRHD A 0 A_JumpIfInventory("BossBurnerAmmo",56,"Ready3a")
BRHD A 0 A_JumpIfInventory("BossBurnerAmmo2",28,"Ready3b")
BRHD A 1 A_WeaponReady(WRF_NOSECONDARY)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",2)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",1)
Goto Ready2a
Ready2b:
BRHD A 0 A_JumpIfInventory("BossBurnerAmmo",4,"Ready3b")
BRHD A 1 A_WeaponReady(WRF_NOPRIMARY)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",2)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",1)
Goto Ready2b
Ready3a:
BRHD A 0 A_JumpIfInventory("BossBurnerAmmo2",28,"Ready4")
BRHD A 1 A_WeaponReady(WRF_NOSECONDARY)
BRHD A 0 A_JumpIfInventory("UseTrap",1,"ThrowTraps")
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",2)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",1)
goto Ready3a
Ready3b:
BRHD A 0 A_JumpIfInventory("BossBurnerAmmo",28,"Ready4")
BRHD A 1 A_WeaponReady
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",2)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",1)
goto Ready3b

Ready4:
BRHD A 1 A_WeaponReady
BRHD A 0 A_JumpIfInventory("UseTrap",1,"ThrowTraps")
TNT1 A 0 A_GiveInventory("BossBurnerAmmo",2)
TNT1 A 0 A_GiveInventory("BossBurnerAmmo2",1)
goto Ready4

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

Fire:
BRHD A 0 A_JumpIfNoAmmo("NoAmmo")
BRHD A 2
goto FireLoop
UnderWater:
BRHD B 0 A_JumpIfNoAmmo("NoAmmo")
BRHD B 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD B 1 A_GiveInventory("BurnermanMain8_CI",1)
BRHD C 0 A_Refire(1)
goto FireE
BRHD C 0 A_JumpIfInventory("IsUnderWater",1,1)
goto FireLoop
BRHD C 0 A_JumpIfNoAmmo("NoAmmo")
BRHD C 1 A_GiveInventory("BurnermanMain9_CI",1)
BRHD B 0 A_Refire(1)
goto FireE
BRHD C 0 A_JumpIfInventory("IsUnderWater",1,"UnderWater")
goto FireLoop
FireLoop:
BRHD B 0 A_JumpIfNoAmmo("NoAmmo")
BRHD B 0 A_JumpIfInventory("IsUnderWater",1,"UnderWater")
BRHD B 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD B 1 A_GiveInventory("BurnermanMain1_CI",1)
BRHD C 0 A_Refire(1)
goto FireE
BRHD C 0 A_JumpIfNoAmmo("NoAmmo")
BRHD C 0 A_JumpIfInventory("IsUnderWater",1,"UnderWater")
BRHD C 1 A_GiveInventory("BurnermanMain2_CI",1)
BRHD B 0 A_Refire(1)
goto FireE
BRHD B 0 A_JumpIfNoAmmo("NoAmmo")
BRHD B 0 A_JumpIfInventory("IsUnderWater",1,"UnderWater")
BRHD B 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD B 1 A_GiveInventory("BurnermanMain3_CI",1)
BRHD C 0 A_Refire(1)
goto FireE
BRHD C 0 A_JumpIfNoAmmo("NoAmmo")
BRHD C 0 A_JumpIfInventory("IsUnderWater",1,"UnderWater")
BRHD C 1 A_GiveInventory("BurnermanMain4_CI",1)
BRHD B 0 A_Refire(1)
goto FireE
BRHD B 0 A_JumpIfNoAmmo("NoAmmo")
BRHD B 0 A_JumpIfInventory("IsUnderWater",1,"UnderWater")
BRHD B 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD B 1 A_GiveInventory("BurnermanMain3_CI",1)
BRHD C 0 A_Refire(1)
goto FireE
BRHD C 0 A_JumpIfNoAmmo("NoAmmo")
BRHD C 0 A_JumpIfInventory("IsUnderWater",1,"UnderWater")
BRHD C 1 A_GiveInventory("BurnermanMain2_CI",1)
BRHD B 0 A_Refire(1)
goto FireE
BRHD B 0 A_JumpIfNoAmmo("NoAmmo")
BRHD B 0 A_JumpIfInventory("IsUnderWater",1,"UnderWater")
BRHD B 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD B 1 A_GiveInventory("BurnermanMain1_CI",1)
BRHD C 0 A_Refire(1)
goto FireE
BRHD C 0 A_JumpIfNoAmmo("NoAmmo")
BRHD C 0 A_JumpIfInventory("IsUnderWater",1,"UnderWater")
BRHD C 1 A_GiveInventory("BurnermanMain5_CI",1)
BRHD B 0 A_Refire(1)
goto FireE
BRHD B 0 A_JumpIfNoAmmo("NoAmmo")
BRHD B 0 A_JumpIfInventory("IsUnderWater",1,"UnderWater")
BRHD B 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD B 1 A_GiveInventory("BurnermanMain6_CI",1)
BRHD C 0 A_Refire(1)
goto FireE
BRHD C 0 A_JumpIfNoAmmo("NoAmmo")
BRHD C 0 A_JumpIfInventory("IsUnderWater",1,"UnderWater")
BRHD C 1 A_GiveInventory("BurnermanMain7_CI",1)
BRHD B 0 A_Refire(1)
goto FireE
BRHD B 0 A_JumpIfNoAmmo("NoAmmo")
BRHD B 0 A_JumpIfInventory("IsUnderWater",1,"UnderWater")
BRHD B 0 A_PlaySoundEx("weapon/waveburner","Weapon")
BRHD B 1 A_GiveInventory("BurnermanMain6_CI",1)
BRHD B 0 A_Refire(1)
goto FireE
BRHD C 0 A_JumpIfNoAmmo("NoAmmo")
BRHD C 0 A_JumpIfInventory("IsUnderWater",1,"UnderWater")
BRHD C 1 A_GiveInventory("BurnermanMain5_CI",1)
BRHD B 0 A_Refire("FireLoop")
goto FireE

FireE:
BRHD C 4 A_TakeInventory("WaveBurnerFlag",99)
BRHD BA 2
BRHD C 0 A_TakeInventory("WaveBurnerFlag",99)
BRHD A 0 A_TakeInventory("UseTrap",999)
Goto Ready2

Altfire:
BRHD A 0 A_JumpIfInventory("BossBurnerAmmo2",28,"JumpCheck")
goto Clear
JumpCheck:
BRHD A 0 A_JumpIf(ACS_ExecuteWithResult(C_JAX_CHECK_JUMP)==1,"HoverBeginCheck")
BRHD A 0 A_JumpIf(z-floorz==0,"SlideSlide")
goto Ready2
HoverBeginCheck:
BRHD A 0 A_JumpIfInventory("BossBurnerAmmo2",84,"HoverBegin")
goto Ready2

SlideSlide:
BRHD DEF 2 A_GiveInventory("BossBurnerAmmo",3)
BRHD F 0 SetPlayerProperty(0,1,0)
SlideSlideSlide:
BRHD G 0 A_GiveInventory("BurnerDashFlag",1)

BRHD G 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD G 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)

BRHD G 2 A_GiveInventory("BurnerDashPickup",1)
BRHD G 0 A_GiveInventory("BossBurnerAmmo",3)
BRHD G 0 //A_TakeInventory("BurnerDashFlag",1)
BRHD G 0 A_TakeInventory("BossBurnerAmmo2",1)
BRHD G 0 A_Refire("SlideAmmo")
Goto Clear
SlideAmmo:
BRHD G 0 A_JumpIfInventory("BossBurnerAmmo2",1,"SlideSlideSlide")
goto Clear

HoverBegin:
BRHD G 0 A_ChangeFlag("NOGRAVITY",1)
BRHD G 0 SetPlayerProperty(0,1,0)
BRHD G 0 A_TakeInventory("GenericSoundFlag",99)
goto HoverTime
HoverTime:
BRHD G 0 A_JumpIfInventory("FlightDisableFlag",1,2)
BRHD G 0 ThrustThingZ(0,24,0,0)

BRHD G 0 A_JumpIfInventory("GenericSoundFlag",7,5)
BRHD G 0 A_JumpIfInventory("GenericSoundFlag",1,2)
BRHD G 0 A_PlaySoundEx("weapon/BurnerRise","Weapon")
BRHD G 0 A_GiveInventory("GenericSoundFlag",1)
BRHD G 0 A_Jump(256,2)
BRHD G 0 A_TakeInventory("GenericSoundFlag",99)

BRHD G 2
BRHD G 0 A_TakeInventory("BossBurnerAmmo2",4)//2
BRHD G 0 A_Refire("HoverAmmo")
goto Launch
HoverAmmo:
BRHD G 0 A_JumpIfInventory("BossBurnerAmmo2",1,"HoverTime")
goto Launch

Launch:
BRHD H 0 A_GiveInventory("LadderDisable",1)
BRHD H 0 A_Stop
BRHD H 0 A_PlaySound("weapon/BurnerDive",1,1.0)
BRHD H 0 SetPlayerProperty(0,0,3)
BRHD H 0 A_ChangeFlag("NOGRAVITY",0)
BRHD H 0 SetPlayerProperty(0,1,0)
BRHD H 0 ACS_ExecuteAlways(648,0,1)
BRHD H 0 A_GiveInventory("BurnerDiveFlag",1)
BRHD H 0 A_TakeInventory("BossBurnerAmmo2",56)
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)
BRHD H 0 A_ChangeVelocity(60,0,-6,3)
BRHD H 1 A_JumpIf(z-floorz<8,"GroundHit")
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)
BRHD I 0 A_ChangeVelocity(60,0,-6,3)
BRHD I 1 A_JumpIf(z-floorz<8,"GroundHit")
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)
BRHD H 0 A_ChangeVelocity(60,0,-6,3)
BRHD H 1 A_JumpIf(z-floorz<8,"GroundHit")
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)
BRHD I 0 A_ChangeVelocity(60,0,-6,3)
BRHD I 1 A_JumpIf(z-floorz<8,"GroundHit")
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)
BRHD H 0 A_ChangeVelocity(60,0,-6,3)
BRHD H 1 A_JumpIf(z-floorz<8,"GroundHit")
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)
BRHD I 0 A_ChangeVelocity(60,0,-6,3)
BRHD I 1 A_JumpIf(z-floorz<8,"GroundHit")
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)
BRHD H 0 A_ChangeVelocity(60,0,-6,3)
BRHD H 1 A_JumpIf(z-floorz<8,"GroundHit")
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)
BRHD I 0 A_ChangeVelocity(60,0,-6,3)
BRHD I 1 A_JumpIf(z-floorz<8,"GroundHit")
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)
BRHD H 0 A_ChangeVelocity(60,0,-6,3)
BRHD H 1 A_JumpIf(z-floorz<8,"GroundHit")
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)
BRHD I 0 A_ChangeVelocity(60,0,-6,3)
BRHD I 1 A_JumpIf(z-floorz<8,"GroundHit")
goto LaunchWait

LaunchWait:
BRHD H 0 A_GiveInventory("BurnerDiveFlag",1)
BRHD H 1 A_JumpIf(z-floorz<8,"GroundHit")
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,12,0,0,0,0,0,1)
BRHD H 0 A_SpawnItemEX("BurnerFlameTrail",2,-12,0,0,0,0,0,1)
BRHD H 0 A_JumpIf(pitch<360 && pitch>=270 || pitch>=0 && pitch<=10, "UpLimit")//Looking up/looking straight/down a little
BRHD H 0 A_ChangeVelocity(cos(pitch)*60,0,-sin(pitch)*60,3)
goto LaunchWait2
UpLimit:
BRHD H 0 A_ChangeVelocity(60,0,-6,3)
goto LaunchWait2
LaunchWait2:
BRHD I 1 A_JumpIfInventory("BurnerDiveFlag",500,"GroundHit")
BRHD I 1 A_JumpIf(z-floorz<8,"GroundHit")
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 0 A_JumpIf(pitch<360 && pitch>=270 || pitch>=0 && pitch<=10, "UpLimit2")
BRHD I 0 A_ChangeVelocity(cos(pitch)*60,0,-sin(pitch)*60,3)
goto LaunchWait
UpLimit2:
BRHD I 0 A_ChangeVelocity(60,0,-6,3)
goto LaunchWait

GroundHit:
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)//A_FireCustomMissile("BurnExplosion")
BRHD E 0 A_GiveInventory("BurnermanAlt2_CI",1)//A_FireCustomMissile("WaveBurnLineSpawner")
BRHD E 15
BRHD E 0 ACS_ExecuteAlways(648,0,0)
goto Clear
Clear:
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 A 0 //A_TakeInventory("BurnerAnimFlag",1)
goto Ready2

ThrowTraps:
BRHD A 0 A_JumpIfInventory("BossBurnerAmmo",56,"ThrowTrapsOK")
BRHD A 0 A_TakeInventory("UseTrap",999)
goto Ready2
ThrowTrapsOK:
BRHD J 0 A_TakeInventory("BossBurnerAmmo",56)
BRHD J 0 A_PlaySoundEx("weapon/BombThrow","Weapon")
BRHD J 0 A_GiveInventory("BurnermanOther_CI",1)
BRHD JK 3
BRHD L 5
BRHD KJ 3
BRHD A 7
//BRHD MN 1
BRHD J 0 A_TakeInventory("UseTrap",999)
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 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 BurnerTrap
{
Translation "250:250=218:218","249:249=220:220","195:195=110:110"
PROJECTILE
-NOGRAVITY
+NOEXPLODEFLOOR
Gravity 1.0
Damage (10)
damagetype "BurnerShockW"
Obituary "$OB_BURNERTRAPT"
Height 5
Radius 8
Scale 2.5
Speed 45
ReactionTime 5
States
{
Spawn:
BRTR B 0 ThrustThingZ(0,5,0,0)
BRTR B 1
BRTR B 0 A_JumpIf(z-floorz<10,"Set")
goto Spawn+1
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
ZMFX FGHI 2
Stop
Crash:
MMFX A 0
BRTR B 0 A_PlaySoundEx("weapon/slashclawhit","Weapon")
BRTR BCDCDCDCDCD 2
ZMFX FGHI 2
stop
}
}

actor BurnerTrapB : BurnerTrap{Translation "250:250=196:196","249:249=75:75","195:195=74:74"}
actor BurnerTrapR : BurnerTrap{Translation "250:250=170:170","249:249=43:43","195:195=41:41"}
actor BurnerTrapO : BurnerTrap{Translation "250:250=138:138","249:249=131:131","195:195=128:128"}
actor BurnerTrapP : BurnerTrap{Translation "250:250=214:214","249:249=223:223","195:195=232:232"}

actor BurnerTrapSet
{
PROJECTILE
+FLOORHUGGER
+THRUGHOST
+DONTREFLECT
+DONTBLAST
Damage (10)
damagetype "BurnerShock"
Obituary "$OB_BURNERTRAP"
Height 5
Radius 8
Scale 2.5
ReactionTime 6
States
{
Spawn:
BRTR B 0
BRTR B 0 A_Stop
BRTR B 0 A_GiveInventory("Clip",5)
BRTR CDEFG 2// ThrustThing(0,0)
BRTR G 0// A_Stop
BRTR G 0// ThrustThingZ(0,0,0,0)
goto InvisibleTime
InvisibleTime:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("BurnerTrapVisual",0,0,16)
TNT1 A 0 A_CountDown
loop
Death:
XDeath:
TNT1 A 0 A_JumpIfInventory("Clip",1,"SuperDeath")
ZMFX FGHI 2
Stop
SuperDeath:
BRTR GFDC 1
BRTR B 4
ZMFX FGHI 2
stop
Crash:
MMFX A 0
BRTR B 0 A_PlaySoundEx("weapon/slashclawhit","Weapon")
BRTR GFDC 1
BRTR B 35
ZMFX FGHI 2
stop
}
}

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 "BurnerShock", 0.2
DamageFactor "BurnerShockW", 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 "WaveBurner"
Obituary "$OB_WAVEBURNER"
ReactionTime 1
Damage (4)
radius 5
height 5
Speed 34
scale 2.5
States
{
Spawn:
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)
translation "199:199=195:195", "202:202=193:193"
States
{
Spawn:
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 "204:204=104:104","195:195=110:110"
+FLOORHUGGER
Radius 14
Obituary "$OB_BURNERDIVE"
damagetype "WaveBurner"
scale 5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Stop
TNT1 A 0 A_Explode(35,172,0,0,64)
TNT1 A 1 A_SpawnItemEx("OilPitIgnite",0,0,8)
BRTR MNM 2
stop
}
}

actor BurnExplosionB : BurnExplosion{translation "204:204=205:205","195:195=74:74"}
actor BurnExplosionR : BurnExplosion{translation "204:204=171:171","195:195=41:41"}
actor BurnExplosionO : BurnExplosion{translation "204:204=104:104","195:195=128:128"}
actor BurnExplosionP : BurnExplosion{translation "204:204=229:229","195:195=232:232"}

actor WaveBurnLineSpawner
{
Translation "204:204=104:104","195:195=110:110"
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,45,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,135,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,-45,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,-135,1)
stop
}
}

actor WaveBurnLineSpawnerB : WaveBurnLineSpawner{translation "204:204=205:205","195:195=74:74"}
actor WaveBurnLineSpawnerR : WaveBurnLineSpawner{translation "204:204=171:171","195:195=41:41"}
actor WaveBurnLineSpawnerO : WaveBurnLineSpawner{translation "204:204=104:104","195:195=128:128"}
actor WaveBurnLineSpawnerP : WaveBurnLineSpawner{translation "204:204=229:229","195:195=232:232"}

actor WaveBurnLineSpawn
{
PROJECTILE
-NOGRAVITY
Obituary "$OB_BURNERDIVEX"
damagetype "WaveBurner"
Height 10
Radius 6
Damage(5)
Scale 2.5
States
{
Spawn:
BRTR H 0
BRTR H 1 ThrustThingZ(0,50,1,1)
Goto Spawn+1
Crash:
Death:
TNT1 A 0 A_SpawnItemEx("WaveBurnLine",0,0,0,15,0,0,0,1)
stop
}
}

actor WaveBurnLine
{
var int user_Dam;

PROJECTILE
-NOGRAVITY
+DONTSPLASH
Obituary "$OB_BURNERDIVEX"
damagetype "WaveBurner"
Damage (5+user_Dam)
Height 40
Radius 6
Scale 2.5
gravity 900.0
speed 20
States
{
Spawn:
BRTR H 0
BRTR H 1 A_SpawnItemEx("OilPitIgnite",0,0,8)
TNT1 A 0 A_SetUserVar("user_Dam",11)
TNT1 A 0 A_GiveInventory("Clip",1)
TNT1 A 0 A_SetUserVar("user_Dam",user_Dam+1)
BRTR HHHHHHHHH 1 A_SpawnItemEx("WaveBurnLineFX",0,0,0,0,0,0,0,1)
Goto Spawn+4
Crash:
XDeath:
TNT1 A 0
stop
Death:
TNT1 A 0 A_JumpIfInventory("Clip",1,"Continue")
TNT1 A 1
stop
Continue:
TNT1 A 0 A_SpawnItemEx("WaveBurnLine2",0,0,0,15,0,0,0,1)//A_CustomMissile("WaveBurnLine2",0,0,0,2,0)
TNT1 A 1
stop
}
}

actor WaveBurnLine2 : WaveBurnLine
{
Damage (15+user_Dam)
States
{
Spawn:
BRTR H 0
BRTR H 1 A_SpawnItemEx("OilPitIgnite",0,0,8)
TNT1 A 0 A_SetUserVar("user_Dam",1)
TNT1 A 0 A_GiveInventory("Clip",1)
TNT1 A 0 A_SetUserVar("user_Dam",user_Dam+1)
BRTR HHHHHHHHH 1 A_SpawnItemEx("WaveBurnLineFX",0,0,0,0,0,0,0,1)
Goto Spawn+4
}
}

actor WaveBurnLineFX : BasicClientSide
{
States
{
Spawn:
BRTR H 1
BRTR LKJIH 3
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
}
}