actor FireStormBoss : BaseMM8BDMWep_CBM 
{
dropitem "FireStormWepCDropped"
Weapon.AmmoUse1 0
Weapon.AmmoGive 42
Weapon.SlotNumber 1
Obituary "$OB_FIRESTORM"
Inventory.Pickupmessage "Power up! Fire Storm!"
weapon.ammotype "FireyAmmo"
States
{
Spawn:
C_01 E 1
loop
Ready:
FIRB A 0 ACS_ExecuteAlways(998,0,724)
FIRB A 0 A_JumpIfInventory("FireyAmmo",42,"Ready2")
FIRB A 10 A_WeaponReady(WRF_NOSECONDARY)
FIRB A 0 A_GiveInventory("FireyAmmo",2)
Goto Ready+1
Ready2:
FIRB A 1 A_WeaponReady
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_PlaySoundEx("weapon/firemanshot","Weapon")
FIRB A 0 A_GiveInventory("FiremanMain_CI",1)
FIRB A 0 A_JumpIfInventory("IsBot",1,"BotFire")


FIRB A 1 OffSet(-3,29)A_GiveInventory("FireyAmmo",2)
FIRB A 2 OffSet(-7,23)A_GunFlash
FIRB A 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)//16
Goto Ready+1

FIRB A 1 OffSet(2,35)A_GiveInventory("FireyAmmo",2)
FIRB A 2 OffSet(4,38)A_GunFlash
FIRB A 2 OffSet(8,44)
FIRB A 2 OffSet(12,50)
FIRB A 2 OffSet(16,56)
FIRB A 2 OffSet(12,50)
FIRB A 2 OffSet(8,44)
FIRB A 2 OffSet(4,38)
FIRB A 1 OffSet(2,35)//16
Goto Ready+1
Altfire:
FIRB A 0 A_JumpIfInventory("FireyAmmo",42,"Burn")
Goto Ready+1
Burn:
FIRB A 0 A_TakeInventory("FIREYammo",42)
FIRB A 0 A_GiveInventory("FiremanAlt_CI",1)//A_SpawnItemEx ("FireManWave",20,0,10)
FIRB A 1 OffSet(4,38)
FIRB A 1 OffSet(8,44)
FIRB A 1 OffSet(12,50)
FIRB A 1 OffSet(16,56)
FIRB A 1 OffSet(20,62)
FIRB A 1 OffSet(20,62)
FIRB A 1 OffSet(16,56)
FIRB A 1 OffSet(12,50)
FIRB A 1 OffSet(8,44)
FIRB A 1 OffSet(4,38)
Goto ready+1
NoAmmo:
FIRB A 0
Goto Ready+1
Flash:
TNT1 A 0 A_SpawnItemEx("FireShield4Boss",0,0,28,momx,momy,momz,0,8)
TNT1 A 1 A_SpawnItemEx("FireShield1Boss",64,0,34,momx,momy,momz,0,9,0)
TNT1 A 1 A_SpawnItemEx("FireShield2Boss",64,0,34,momx,momy,momz,315,9,0)
TNT1 A 1 A_SpawnItemEx("FireShield3Boss",64,0,34,momx,momy,momz,270,9,0)
TNT1 A 1 A_SpawnItemEx("FireShield1Boss",64,0,34,momx,momy,momz,225,9,0)
TNT1 A 0 A_SpawnItemEx("FireShield4Boss",0,0,28,momx,momy,momz,0,8)
TNT1 A 1 A_SpawnItemEx("FireShield2Boss",64,0,34,momx,momy,momz,180,9,0)
TNT1 A 1 A_SpawnItemEx("FireShield3Boss",64,0,34,momx,momy,momz,135,9,0)
TNT1 A 1 A_SpawnItemEx("FireShield1Boss",64,0,34,momx,momy,momz,90,9,0)
TNT1 A 1 A_SpawnItemEx("FireShield2Boss",64,0,34,momx,momy,momz,45,9,0)
TNT1 A 0 A_SpawnItemEx("FireShield4Boss",0,0,28,momx,momy,momz,0,8)
TNT1 A 1 A_SpawnItemEx("FireShield1Boss",64,0,34,momx,momy,momz,0,9,0)
TNT1 A 1 A_SpawnItemEx("FireShield2Boss",64,0,34,momx,momy,momz,315,9,0)
TNT1 A 1 A_SpawnItemEx("FireShield3Boss",64,0,34,momx,momy,momz,270,9,0)
TNT1 A 1 A_SpawnItemEx("FireShield1Boss",64,0,34,momx,momy,momz,225,9,0)
TNT1 A 0 A_SpawnItemEx("FireShield4Boss",0,0,28,momx,momy,momz,0,8)
TNT1 A 1 A_SpawnItemEx("FireShield2Boss",64,0,34,momx,momy,momz,180,9,0)
TNT1 A 1 A_SpawnItemEx("FireShield3Boss",64,0,34,momx,momy,momz,135,9,0)
TNT1 A 1 A_SpawnItemEx("FireShield1Boss",64,0,34,momx,momy,momz,90,9,0)
TNT1 A 1 A_SpawnItemEx("FireShield2Boss",64,0,34,momx,momy,momz,45,9,0)
stop
BotFire:
TNT1 A 0 A_GiveInventory("BotHugFlag",1)
FIRB A 0 A_GiveInventory("FireyAmmo",2)
FIRB A 2 OffSet(4,38) A_GunFlash
FIRB A 2 OffSet(8,44)
FIRB A 2 OffSet(12,50)
FIRB A 2 OffSet(16,56)
FIRB A 2 OffSet(12,50)
FIRB A 2 OffSet(8,44)
FIRB A 2 OffSet(4,38)
FIRB A 1 OffSet(0,32)
FIRB A 0 A_TakeInventory("BotHugFlag",999)
FIRB A 0 A_JumpIfInventory("FireyAmmo",42,"Burn")
Goto Ready+1
}
}

actor FIREYammo : Ammo
{
inventory.amount 1
inventory.maxamount 42
+INVENTORY.IGNORESKILL
}

actor FireStormClass : FireStorm
{
translation "192:192=248:248", "198:198=41:41"
Radius 12
Height 20
Scale 2.0
Alpha 0.4
damage (13)
States
{
Spawn:
TNT1 A 1
FWVE MNOMNO 2 A_FadeIn(0.1)
Spawn2:
FWVE MNO 2
loop
Death:
//XDeath:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("FireHit",0,0,0,0,0,0,0,1)
goto "Super::Death"
//goto Death
}
}

actor FireStormClassB : FireStormClass{translation "192:192=205:205", "198:198=74:74"}
actor FireStormClassR : FireStormClass{translation "192:192=171:171", "198:198=41:41"}
actor FireStormClassO : FireStormClass{translation "192:192=104:104", "198:198=128:128"}
actor FireStormClassP : FireStormClass{translation "192:192=229:229", "198:198=232:232"}


actor FireHit
{
PROJECTILE
+DONTBLAST
+FLOORHUGGER
+RIPPER
Scale 2.5
Height 6
Speed 0
Radius 12
Obituary "$OB_FIRESTORM"
damagetype "FireSpin"
Damage (0)
reactiontime 5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
TNT1 A 0 A_SpawnItemEx("FireHitDamager")
FWVE BXB 3
FWVE B 0 A_SpawnItemEx("FireHitDamager")
FWVE XBX 3
FWVE B 0 A_SpawnItemEx("FireHitDamager")
FWVE BXB 3
FWVE B 0 A_SpawnItemEx("FireHitDamager")
FWVE XBX 3
FWVE B 0 A_SpawnItemEx("FireHitDamager")
FWVE BX 3 //Bass BX, bad memories
stop
}
}

actor FireHitDamager : FireHit
{
Damage (3)
States
{
Spawn:
TNT1 A 0
TNT1 A 1
stop
}
}


actor FireManWave
{
translation "192:192=248:248", "198:198=41:41"
PROJECTILE
+NOINTERACTION
height 1
radius 1
Speed 0
Scale 1.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("FireManWaveTime",20,0,24,5,0,0,0,1)
stop
}
}

actor FireManWaveB : FireManWave{translation "192:192=205:205", "198:198=74:74"}
actor FireManWaveR : FireManWave{translation "192:192=171:171", "198:198=41:41"}
actor FireManWaveO : FireManWave{translation "192:192=104:104", "198:198=128:128"}
actor FireManWaveP : FireManWave{translation "192:192=229:229", "198:198=232:232"}

actor FireManWaveTime
{
PROJECTILE
+DONTBLAST
+RIPPER
+FLOORHUGGER
+DONTREFLECT
Damage (0)
Speed 5
Height 26
Radius 20
States
{
Spawn:
TNT1 A 0
TNT1 A 8 A_SpawnItemEx("FireManWaveD",0,0,0,0,0,0,0,1)
Loop
}
}

actor FireManWaveD
{
PROJECTILE
+DONTBLAST
+RIPPER
+FLOORHUGGER
Height 26
Radius 20
Obituary "$OB_FIRESTORMW"
damagetype "FireSpin"
Damage (3)
Speed 0
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
FWVE XBXB 2
FWVE F 0 A_PlaySoundEx("weapon/FireManWave","Weapon")
FWVE CDCD 2
FWVE EFEFEFEFEFEF 2
FWVE CDCD 2
FWVE XBXB 2
stop
Death:
TNT1 A 0
stop
}
}

actor FireShield1Boss : FireShield1
{
States
{
Spawn:
FWVE G 0 
FWVE G 0 A_CheckFloor("Death")
FWVE G 2
stop
}
}

actor FireShield2Boss : FireShield2
{
States
{
Spawn:
FWVE H 0 
FWVE H 0 A_CheckFloor("Death")
FWVE H 2
stop
}
}

actor FireShield3Boss : FireShield3
{
States
{
Spawn:
FWVE I 0 
FWVE I 0 A_CheckFloor("Death")
FWVE I 2
stop
}
}

actor FireShield4Boss : BasicExplosion
{
Obituary "$OB_FIRESTORM"
damagetype "FireSpin"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(5,80,0,0,80)
stop
}
}


actor FiremanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("FireStormClass",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("FireStormClassB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("FireStormClassR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("FireStormClassO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("FireStormClassP",0,0,8,0)
goto Done
}
}

actor FiremanAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("FireManWave",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("FireManWaveB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("FireManWaveR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("FireManWaveO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("FireManWaveP",0,0,0,0)
goto Done
}
}