actor FireStormBoss : BaseMM8BDMWep_CBM 
{
tag "Fireman Wave"
dropitem "FireStormWepCDropped"
Weapon.AmmoUse1 0
Weapon.AmmoGive 56
Obituary "$OB_FIRESTORM"
Inventory.Pickupmessage "Power up! Fire Storm!"
weapon.ammotype "BurningJusticeAmmo"
States
{
Spawn:
C_01 E 1
loop
Ready:
FIRB A 0 ACS_ExecuteAlways(998,0,DYE_FIREMAN)
goto Ready1
Ready1:
FIRB A 0 A_JumpIfInventory("BurningJusticeAmmo",56,"Ready2")
FIRB A 8 A_WeaponReady(WRF_NOSECONDARY)
FIRB A 0 A_GiveInventory("BurningJusticeAmmo",2)
loop
Ready2:
FIRB AAAAAAAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
FIRB A 0 A_GiveInventory("BurningJusticeAmmo",2)
loop
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
FIRB A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
FIRB A 1 A_Raise
Loop
Fire:
FIRB A 0 A_JumpIfInventory("PowerRage_ST",1,"FireR")
FIRB A 0 A_PlaySoundEx("weapon/firemanshot2","Weapon")
FIRB A 0 A_GiveInventory("FiremanMain_CI",1)
FIRB A 0 A_JumpIfInventory("IsBot",1,"BotFire")
FIRB B 1
FIRB B 1 A_GunFlash //OffSet(-7,23)
FIRB B 1 OffSet(-14,17)
FIRB B 2 OffSet(-17,15)
FIRB A 1 
FIRB A 1 OffSet(-12,20)
FIRB A 0 A_GiveInventory("BurningJusticeAmmo",1)
FIRB A 1 //OffSet(-9,23)
FIRB A 1 OffSet(-6,26)
FIRB A 1 OffSet(-3,29)//16
FIRB A 6 A_WeaponReady(14)
FIRB B 0 A_GiveInventory("BurningJusticeAmmo",1)//OffSet(-3,29)
Goto Ready1
FireR:
FIRB A 0 A_PlaySoundEx("weapon/firemanshot2","Weapon")
FIRB A 0 A_GiveInventory("FiremanMain_CI",1)
FIRB A 0 A_JumpIfInventory("IsBot",1,"BotFire")
FIRB B 1 
FIRB B 2 A_GunFlash //OffSet(-7,23)
FIRB B 2 OffSet(-14,17)
FIRB A 2 OffSet(-17,15)
FIRB B 0 A_GiveInventory("BurningJusticeAmmo",2)//OffSet(-3,29)
FIRB A 2 //OffSet(-15,17)
FIRB A 2 //OffSet(-9,23)
FIRB A 2 OffSet(-6,26)
FIRB A 1 OffSet(-3,29)//16
FIRB B 0 A_GiveInventory("BurningJusticeAmmo",2)
Goto Ready1
Reload:
FIRB C 2 offset(2,32)A_GiveInventory("FiremanAlt_CI",1)
FIRB C 2 offset(-12,38)
FIRB D 2 offset(2,16)
FIRB F 2 offset(2,40)
FIRB G 4 offset(20,24)
FIRB H 4 offset(20,24)
FIRB E 2 offset(22,36)
FIRB E 2 offset(16,56)
FIRB E 2 offset(8,76)
FIRB A 2 offset(8,22)
FIRB A 2 A_WeaponReady(14)
Goto Ready1
Altfire:
FIRB C 2 offset(2,32)A_GiveInventory("FiremanAlt2_CI",1)
FIRB C 2 offset(-12,38)
FIRB D 2 offset(2,16)
FIRB F 2 offset(2,40)
FIRB G 4 offset(20,24)
FIRB H 4 offset(20,24)
FIRB E 2 offset(22,36)
FIRB E 2 offset(16,56)
FIRB E 2 offset(8,76)
FIRB A 2 offset(8,22)
FIRB A 2 A_WeaponReady(14)
Goto Ready1
Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_FireCustomMissile("FiremanStormShield",0,0,0,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,0,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,315,9,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,270,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,225,9,0)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_FireCustomMissile("FiremanStormShield",0,0,0,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,180,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,135,9,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,90,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,45,9,0)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_FireCustomMissile("FiremanStormShield",0,0,0,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,0,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,315,9,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,270,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,225,9,0)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_FireCustomMissile("FiremanStormShield",0,0,0,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,180,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,135,9,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,90,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,45,9,0)
stop

BotFire:
FIRB A 0 A_JumpIfInventory("BurningJusticeAmmo",56,"Altfire")
FIRB A 0 A_GiveInventory("BotHugFlag",1)
FIRB B 1 OffSet(-3,29)A_GiveInventory("BurningJusticeAmmo",random(2,4))
FIRB B 2 OffSet(-7,23)A_GunFlash
FIRB B 2 OffSet(-14,17)
FIRB A 2 OffSet(-17,15)
FIRB A 2 OffSet(-15,17)
FIRB A 2 OffSet(-12,20)
FIRB A 2 OffSet(-9,23)
FIRB A 2 OffSet(-6,26)
FIRB A 1 OffSet(-3,29)
FIRB A 0 A_TakeInventory("BotHugFlag",999)
Goto Ready1
}
}

/*actor FireStormerBoss : BaseMM8BDMWep_CBM 
{
tag "Fireman Wave"
dropitem "FireStormWepCDropped"
Weapon.AmmoUse1 0
Weapon.AmmoGive 56
Obituary "$OB_FIRESTORM"
Inventory.Pickupmessage "Power up! Fire Storm!"
weapon.ammotype "BurningJusticeAmmo"
States
{
Spawn:
C_01 E 1
loop
Ready:
FIRB A 0 ACS_ExecuteAlways(998,0,DYE_FIREMAN)
goto Ready1
Ready1:
FIRB A 0 A_JumpIfInventory("BurningJusticeAmmo",56,"Ready2")
FIRB A 8 A_WeaponReady(WRF_NOSECONDARY)
FIRB A 0 A_GiveInventory("BurningJusticeAmmo",2)
loop
Ready2:
FIRB AAAAAAAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
FIRB A 0 A_GiveInventory("BurningJusticeAmmo",2)
loop
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
FIRB A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
FIRB A 1 A_Raise
Loop
Fire:
FIRB A 0 A_JumpIfInventory("PowerRage_ST",1,"FireR")
FIRB A 0 A_PlaySoundEx("weapon/firemanshot2","Weapon")
FIRB A 0 A_GiveInventory("FiremanMain_CI",1)
FIRB A 0 A_JumpIfInventory("IsBot",1,"BotFire")
FIRB B 1
FIRB B 1 A_GunFlash //OffSet(-7,23)
FIRB B 1 OffSet(-14,17)
FIRB B 2 OffSet(-17,15)
FIRB A 1 
FIRB A 1 OffSet(-12,20)
FIRB A 0 A_GiveInventory("BurningJusticeAmmo",1)
FIRB A 1 //OffSet(-9,23)
FIRB A 1 OffSet(-6,26)
FIRB A 1 OffSet(-3,29)//16
FIRB A 6 A_WeaponReady(14)
FIRB B 0 A_GiveInventory("BurningJusticeAmmo",1)//OffSet(-3,29)
Goto Ready1
FireR:
FIRB A 0 A_PlaySoundEx("weapon/firemanshot2","Weapon")
FIRB A 0 A_GiveInventory("FiremanMain_CI",1)
FIRB A 0 A_JumpIfInventory("IsBot",1,"BotFire")
FIRB B 1 
FIRB B 2 A_GunFlash //OffSet(-7,23)
FIRB B 2 OffSet(-14,17)
FIRB A 2 OffSet(-17,15)
FIRB B 0 A_GiveInventory("BurningJusticeAmmo",2)//OffSet(-3,29)
FIRB A 2 //OffSet(-15,17)
FIRB A 2 //OffSet(-9,23)
FIRB A 2 OffSet(-6,26)
FIRB A 1 OffSet(-3,29)//16
FIRB B 0 A_GiveInventory("BurningJusticeAmmo",2)
Goto Ready1
Reload:
FIRB C 2 offset(2,32)A_GiveInventory("FiremanAlt_CI",1)
FIRB C 2 offset(-12,38)
FIRB D 2 offset(2,16)
FIRB F 2 offset(2,40)
FIRB G 4 offset(20,24)
FIRB H 4 offset(20,24)
FIRB E 2 offset(22,36)
FIRB E 2 offset(16,56)
FIRB E 2 offset(8,76)
FIRB A 2 offset(8,22)
FIRB A 2 A_WeaponReady(14)
Goto Ready1
Altfire:
FIRB C 2 offset(2,32)A_GiveInventory("FiremanAlt2_CI",1)
FIRB C 2 offset(-12,38)
FIRB D 2 offset(2,16)
FIRB F 2 offset(2,40)
FIRB G 4 offset(20,24)
FIRB H 4 offset(20,24)
FIRB E 2 offset(22,36)
FIRB E 2 offset(16,56)
FIRB E 2 offset(8,76)
FIRB A 2 offset(8,22)
FIRB A 2 A_WeaponReady(14)
Goto Ready1
Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_FireCustomMissile("FiremanStormShield",0,0,0,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,0,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,315,9,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,270,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,225,9,0)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_FireCustomMissile("FiremanStormShield",0,0,0,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,180,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,135,9,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,90,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,45,9,0)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_FireCustomMissile("FiremanStormShield",0,0,0,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,0,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,315,9,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,270,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,225,9,0)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_FireCustomMissile("FiremanStormShield",0,0,0,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,180,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,135,9,0)
TNT1 A 0 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,90,9,0)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_SpawnItemEx("FiremanStormShieldFX",64,0,34,momx,momy,momz,45,9,0)
stop

BotFire:
FIRB A 0 A_JumpIfInventory("BurningJusticeAmmo",56,"Altfire")
FIRB A 0 A_GiveInventory("BotHugFlag",1)
FIRB B 1 OffSet(-3,29)A_GiveInventory("BurningJusticeAmmo",random(2,4))
FIRB B 2 OffSet(-7,23)A_GunFlash
FIRB B 2 OffSet(-14,17)
FIRB A 2 OffSet(-17,15)
FIRB A 2 OffSet(-15,17)
FIRB A 2 OffSet(-12,20)
FIRB A 2 OffSet(-9,23)
FIRB A 2 OffSet(-6,26)
FIRB A 1 OffSet(-3,29)
FIRB A 0 A_TakeInventory("BotHugFlag",999)
Goto Ready1
}
}*/

actor BurningJusticeAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 56
+INVENTORY.IGNORESKILL
}

actor FiremanStormShot
{
var int user_P;
translation "202:202=248:248", "199:199=41:41","192:192=248:248", "198:198=41:41"
PROJECTILE
damagetype "FireM_Storm"
+THRUSPECIES
Species "FireWave"
Obituary "$OB_FIRESTORM"
Alpha 0.4
+BRIGHT
damage (10+user_P)
Radius 12
Height 20
speed 40
Scale 2.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
FWVE MNOMNO 2 A_FadeIn(0.1)
FWVE M 0 A_SetUserVar("user_P",6)
Spawn2:
FWVE MNO 2 A_SpawnItemEx("FireStormDFX", 0, random(-12, 12), random(-20, 20), 0, 0, random(2, 3),0,1)
loop
Death:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("FiremanStormShotBit",0,0,0,0,0,0,0,1)
XDeath:
FIRT AAAAAAAAAAA 0 A_SpawnItemEx("FireStormDFX", 0, random(-32, 32), random(-32, 32), 0, 0, random(2, 3),0,1) 
TNT1 A 2 A_SpawnItemEx("OilPitIgnite",0,0,8)
stop
}
}

actor FiremanStormShotB : FiremanStormShot{translation "202:202=205:205", "199:199=74:74","198:198=74:74", "192:192=205:205"}
actor FiremanStormShotR : FiremanStormShot{translation "202:202=171:171", "199:199=41:41","198:198=41:41", "192:192=171:171"}
actor FiremanStormShotO : FiremanStormShot{translation "202:202=104:104", "199:199=128:128","198:198=128:128", "192:192=104:104"}
actor FiremanStormShotP : FiremanStormShot{translation "202:202=229:229", "199:199=232:232","198:198=232:232", "192:192=229:229"}

actor FireStormDFX
{
PROJECTILE
+FORCEXYBILLBOARD
+BRIGHT
+DONTSPLASH
+THRUACTORS
Radius 2
Height 2
Speed 50
Scale 2.0
damage (0)
States
{
Spawn:
X_8C A 0
X_8C ABCD 1
stop
}
}

actor FiremanStormShotBit
{
PROJECTILE
Obituary "$OB_FIRESTORMG"
damagetype "FireM_StormBit"
+THRUSPECIES
Species "FireWave"
+DONTBLAST
+DONTREFLECT
+BRIGHT
+FLOORHUGGER
+THRUACTORS
reactiontime 5
Damage (0)
Radius 12
Height 6
Speed 0
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
TNT1 A 0 A_SpawnItemEx("FiremanStormShotBitD")
FWVE PQP 3
FWVE Q 0 A_SpawnItemEx("FiremanStormShotBitD")
FWVE QPQ 3
FWVE P 0 A_SpawnItemEx("FiremanStormShotBitD")
FWVE PQP 3
FWVE Q 0 A_SpawnItemEx("FiremanStormShotBitD")
FWVE QPQ 3
FWVE P 0 A_SpawnItemEx("FiremanStormShotBitD")
FWVE PQ 3
//FWVE BX 3 //Bass BX, bad memories
stop
}
}

actor FiremanStormShotBitD : FiremanStormShotBit
{
-THRUACTORS
+RIPPER
Damage (3)
States
{
Spawn:
TNT1 A 0
TNT1 A 1
stop
}
}


actor FireManWaveStart
{
translation "202:202=248:248", "199:199=41:41"
PROJECTILE
//+BOUNCEONWALLS
//+USEBOUNCESTATE
-NOINTERACTION
-NOCLIP
//Bouncetype classic
//Bouncecount 20
speed 90
States
{
Spawn:
TNT1 A 2
goto Death
//Bounce:
//TNT1 A 0 A_Stop
//goto Death
Death:
TNT1 A 0 A_SpawnItemEx("FireManWaveTime",0,0,0,0,0,0,0,1)
stop
}
}

actor FireManWaveStartB : FireManWaveStart{translation "202:202=205:205", "199:199=74:74"}
actor FireManWaveStartR : FireManWaveStart{translation "202:202=171:171", "199:199=41:41"}
actor FireManWaveStartO : FireManWaveStart{translation "202:202=104:104", "199:199=128:128"}
actor FireManWaveStartP : FireManWaveStart{translation "202:202=229:229", "199:199=232:232"}

actor FireManWaveTime
{
PROJECTILE
+DONTBLAST
+DONTREFLECT
+THRUACTORS
//Bouncetype classic
//Bouncecount 20
+FLOORHUGGER
//+BOUNCEONWALLS
//Wallbouncefactor 1.0
Damage (0)
Radius 20
Height 26
//Speed 5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/burnbabyburn","Body")
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,180,1)
TNT1 A 1 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,170,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,190,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,160,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,200,1)
TNT1 A 1 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,150,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,210,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,150,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,210,1)
TNT1 A 1 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,140,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,220,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,130,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,230,1)
TNT1 A 1 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,120,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,240,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,110,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,250,1)
TNT1 A 1 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,100,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,260,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,90,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,270,1)
TNT1 A 1 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,80,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,280,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,70,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,290,1)
TNT1 A 1 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,60,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,300,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,50,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,310,1)
TNT1 A 1 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,40,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,320,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,30,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,330,1)
TNT1 A 1 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,20,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,340,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,10,1)
TNT1 A 0 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,350,1)
TNT1 A 1 A_SpawnItemEx("FireManWaveD",216,0,0,0,0,0,0,1)
stop
}
}

actor FireManWaveD
{
PROJECTILE
Obituary "$OB_FIRESTORMW"
damagetype "FireM_Wave2"
+DONTBLAST
+DONTREFLECT
+BRIGHT
+RIPPER
+FLOORHUGGER
Radius 20
Height 26
Damage (2)
Speed 0
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
FWVE UVW 2
FWVE XYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXY 2
FWVE W 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
FWVE WVU 2
stop
Death:
TNT1 A 0
stop
}
}

actor FireManWave2Start : BasicHelper
{
translation "202:202=248:248", "199:199=41:41"
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_SpawnItemEx("FireManWave2Time",20,0,24,5,0,0,0,1)
stop
}
}

actor FireManWave2StartB : FireManWave2Start
{
translation "202:202=205:205", "199:199=74:74"
DesignatedTeam 0
}

actor FireManWave2StartR : FireManWave2Start
{
translation "202:202=171:171", "199:199=41:41"
DesignatedTeam 1
}

actor FireManWave2StartO : FireManWave2Start
{
translation "202:202=104:104", "199:199=128:128"
DesignatedTeam 2
}

actor FireManWave2StartP : FireManWave2Start
{
translation "202:202=229:229", "199:199=232:232"
DesignatedTeam 3
}

actor FireManWave2Time
{
PROJECTILE
+DONTBLAST
+DONTREFLECT
+THRUACTORS
+FLOORHUGGER
Damage (0)
Radius 20
Height 26
Speed 5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("FireManWave2D",0,0,0,0,0,0,0,1)
TNT1 A 8 
Loop
}
}

actor FireManWave2D
{
PROJECTILE
+MISSILE
+DONTBLAST
+NOBLOCKMONST
+DONTSPLASH
+NODAMAGETHRUST
-NORADIUSDMG
+NOTAUTOAIMED
+NOGRAVITY
Obituary "$OB_FIRESTORMW"
damagetype "FireM_Wave"
+DONTBLAST
+DONTREFLECT
//+DONTRIP
+BRIGHT
+RIPPER
-NOBLOCKMAP
+FRIENDLY
+THRUSPECIES
+DONTRIP
-SHOOTABLE
+DONTDRAIN
+NOBLOOD
+QUICKTORETALIATE
+NOTARGETSWITCH

mass 0x7ffffffff
painchance 256
health 999
damagefactor "FireM_Wave", 0.0
damagefactor "FireM_Wave2", 0.0
damagefactor "FireM_StormBit", 0.0
damagefactor "FireM_Storm", 0.0
damagefactor "FireM_Spin", 0.0
Species "FireWave"
Radius 18
Height 52
Damage (3)
Speed 0
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
FRWV U 1 A_ChangeFlag("Shootable",1)
FRWV VW 1
FRWV X 0 A_PlaySoundEx("weapon/FireManWave","Weapon")
SpawnLoop:
FRWV XY 2
FRWV X 0 A_JumpIfInventory("CutterFlag",11,"Stopper")
FRWV Y 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
FRWV X 0 A_GiveInventory("CutterFlag",1)
loop
Stopper:
FRWV WVU 1
stop
Pain:
TNT1 AAAAA 0 A_SpawnItemEx("HotSmoke",0,0,frandom(0,16),frandom(2.5,5),0,frandom(-2,4),frandom(0,359),1,128)
TNT1 A 0 A_PlaySound("weapon/firewavemelt","Voice",0.65)
FRWV X 0 A_JumpIfInventory("CutterFlag",11,"Stopper")
FRWV X 0 A_GiveInventory("CutterFlag",1)
FRWV XY 2
FRWV Y 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
goto SpawnLoop
Death:
TNT1 A 0
stop
}
}

actor HotSmoke : BasicClientSide
{
renderstyle translucent
scale 1.5
alpha 0.75
States
{
Spawn:
TNT1 AA 0
S5NB A 0 A_Jump(128,"Spawn2")
Spawn1:
S5NB A 0 ThrustThingZ(0,1,0,1)
S5NB A 1 A_FadeOut(frandom(0.015,0.035))
S5NB A 0 A_ChangeVelocity(-0.15,0,0,CVF_RELATIVE)
loop
Spawn2:
S5NB B 0 ThrustThingZ(0,1,0,1)
S5NB B 1 A_FadeOut(frandom(0.015,0.035))
S5NB B 0 A_ChangeVelocity(-0.15,0,0,CVF_RELATIVE)
loop
}
}

actor FiremanStormShieldFX : BasicExplosion
{
+FORCEXYBILLBOARD
+BRIGHT
renderstyle translucent
alpha 0.6
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,"1","2","3")
1:
Y_1E D 2
stop
2:
Y_1E E 2
stop
3:
Y_1E F 2
stop
}
}

actor FiremanStormShield : BasicExplosion
{
Obituary "$OB_FIRESTORMS"
damagetype "FireM_Spin"
States
{
Spawn:
TNT1 A 0
TNT1 A 4 A_Explode(4,80,0,0,80)
stop
}
}

actor FireM_SpinProtect : PowerProtection
{
Powerup.Duration 1
DamageFactor "FireM_Spin", 0.0
}

actor FireM_Wave2Protect : PowerProtection
{
Powerup.Duration 2
DamageFactor "FireM_Wave2", 0.0
}


actor FiremanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("FiremanStormShot",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("FiremanStormShotB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("FiremanStormShotR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("FiremanStormShotO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("FiremanStormShotP",0,0,8,0)
goto Done
}
}

actor FiremanAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_SpawnItemEx("FireManWaveStart",-5,0,0,90,0,0,0,1)
goto Done
FireB:
TNT1 A 0 A_SpawnItemEx("FireManWaveStartB",-5,0,0,90,0,0,0,1)
goto Done
FireR:
TNT1 A 0 A_SpawnItemEx("FireManWaveStartR",-5,0,0,90,0,0,0,1)
goto Done
FireO:
TNT1 A 0 A_SpawnItemEx("FireManWaveStartO",-5,0,0,90,0,0,0,1)
goto Done
FireP:
TNT1 A 0 A_SpawnItemEx("FireManWaveStartP",-5,0,0,90,0,0,0,1)
goto Done
Done:
TNT1 A 0 A_TakeInventory("BurningJusticeAmmo",56)
stop
}
}

actor FiremanAlt2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_SpawnItemEx("FireManWave2Start",-5,0,0,90,0,0,0,1)
goto Done
FireB:
TNT1 A 0 A_SpawnItemEx("FireManWave2StartB",-5,0,0,90,0,0,0,1)
goto Done
FireR:
TNT1 A 0 A_SpawnItemEx("FireManWave2StartR",-5,0,0,90,0,0,0,1)
goto Done
FireO:
TNT1 A 0 A_SpawnItemEx("FireManWave2StartO",-5,0,0,90,0,0,0,1)
goto Done
FireP:
TNT1 A 0 A_SpawnItemEx("FireManWave2StartP",-5,0,0,90,0,0,0,1)
goto Done
Done:
TNT1 A 0 A_TakeInventory("BurningJusticeAmmo",56)
stop
}
}
