actor FlameBlastWep : BaseMM8BDMWep 10066
{
//$Category MM8BDM-Weapons
//$Title Flame Blast
//$Sprite WEA2P0
Weapon.AmmoUse 2
Weapon.AmmoGive 28
Weapon.SlotNumber 4
Inventory.Pickupmessage "$PU_FLAMEBLAST"
Obituary "$OB_FLAMEBLAST"
Tag "$TAG_FLAMEBLAST"
weapon.ammotype "FlameBlastAmmo"
inventory.icon "FLMBSI"
States
{
SpawnLoop:
WEA2 P -1
loop
Ready:
FLMB P 0 ACS_ExecuteAlways(998,0,35)
FLMB P 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
FLMB P 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
FLMB P 1 A_Raise
Loop
Fire:
FLMB P 0 A_JumpIfNoAmmo("NoAmmo")
FLMB P 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLMB P 0 A_FireCustomMissile("FlameBlastShot",0,1,8,0)
FLMB QRP 5
FLMB P 0 A_Refire
Goto Ready+1
NoAmmo:
FLMB P 1 ACS_Execute(979,0)
Goto Ready+1
}
}

actor FlameBlastAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
+INVENTORY.IGNORESKILL
}

actor FlameBlast // : MaceFX1
{
PROJECTILE
+BRIGHT
Damage (40)
Height 5
Radius 6
damagetype "FlameBlast"
Obituary "$OB_FLAMEBLAST"
-NOGRAVITY
Scale 2.5
speed 28
States
{
Spawn:
FLMB H 0
FLMB H 1 ThrustThingZ(0,20,0,1)
FLMB H 4 A_CheckFloor("Death")
goto Spawn+2
XDeath:
Crash:
FLMB H 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
stop
Death:
FLMB H 0 A_JumpIf(CeilingZ - FloorZ <=48 , "FireCheckOnly")
FLMB H 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
FLMB H 0 A_CheckFloor("Floor")
FLMB H 0 A_JumpIf(CeilingZ-Z < 8, "Floor")
Goto Wall
Wall:
FLMB H 0 A_SpawnItemEx("FlameWallPillar",-24,0,0)
stop
Floor:
FLMB H 0 A_SpawnItemEx("FlamePillar",0,0,0)
stop
FireCheckOnly:
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,-16)
TNT1 A 1
stop
}
}

actor FlameWallPillar
{
PROJECTILE
+BRIGHT
Scale 2.5
Height 5
damagetype "FlameBlast"
Obituary "$OB_FLAMEBLAST"
Speed 0
Radius 16
Damage (40)
reactiontime 15
States
{
Spawn:
FLMB I 0
FLMB H 0 A_PlaySoundEx("misc/sunstarshot","Weapon")
Spawn2:
FLMB H 0 A_SpawnItemEx("OilPitIgnite",0,0,0)
FLMB IJKLMNONONONONO 1 
FLMB A 0 A_CountDown
Loop
Death:
FLMB A 0 
stop
}
}

actor FlamePillar
{
PROJECTILE
+BRIGHT
-MISSILE
Scale 2.5
-NOGRAVITY
+NOEXPLODEFLOOR
Height 48
damagetype "FlameBlast"
Obituary "$OB_FLAMEBLAST"
Speed 0
Radius 5
Damage (25)
reactiontime 15
States
{
Spawn:
FLMB H 0 
FLMB H 0 A_ChangeFlag("MISSILE",1)
FLMB H 1 A_CheckFloor("Flame")
Goto Spawn+2
Flame:
FLMB H 0 A_PlaySoundEx("misc/sunstarshot","Weapon")

TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
FLMB A 0 A_ChangeFlag("FLOORHUGGER",1)
FLMB A 0 A_CountDown
FLMB ABCDEFGFGFGFGFG 1 
Goto Flame+3
Death:
FLMB A 0 
stop
}
}

actor FlameBlastShot
{
Translation "198:198=227:227", "192:192=216:216"
PROJECTILE
Obituary "$OB_FLAMEBLAST"
damagetype "FlameBlast"
+BRIGHT
-NOGRAVITY
Damage (60)
Radius 10
Height 10
Speed 28//40
Scale 2.5
States
{
Spawn:
TNT1 A 0
FLMB H 1 ThrustThingZ(0,20,0,1)
FLMB H 2
Goto Spawn+2
Crash:
XDeath:
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
Stop
Death:
TNT1 A 0 A_JumpIf(CeilingZ - FloorZ <=48 , "FireCheckOnly")
TNT1 A 0 A_JumpIf(z-ceilingz==0-10,"FireCheckOnly")
FLMB H 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
FLMB H 0 A_CheckFloor("Floor")
FLMB H 0 A_JumpIf(CeilingZ-Z < 12, "Floor")
Goto Wall
Floor:
TNT1 A 0 A_SpawnItemEx("FlamePillar",0,0,0,0,0,0,0,1)
//TNT1 A 0 A_SpawnItemEx("FlameBlastWave",20,0,0,15,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("FlameBlastWave",20,15,0,15,0,0,-10,1)
TNT1 A 0 A_SpawnItemEx("FlameBlastWave",20,-15,0,15,0,0,10,1)
Stop
Wall:
FLAB H 0 A_SpawnItemEx("FlameWallPillar",-24,0,0)
stop
FireCheckOnly:
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,-16)
stop
}
}


actor FlameBlastWave
{
PROJECTILE
Obituary "$OB_FLAMEBLAST"
damagetype "FlameBlast"
+DONTBLAST
//+RIPPER
+FLOORHUGGER
+DONTREFLECT
+THRUGHOST
+BOUNCEONFLOORS
+BOUNCEONWALLS
+BOUNCEONCEILINGS
+ALLOWBOUNCEONACTORS
+CANBOUNCEWATER
+BRIGHT
Bouncefactor 1.0
WallBouncefactor 1.0
BounceCount 4
Damage (25)
Radius 10
Height 48
Speed 20
Scale 2.5
States
{
Spawn:
FLMB A 0
FLMB B 1
FLMB A 1 
FLMB B 1
FLMB ABAB 1
FLMB B 0 A_SpawnItemEx("FlameBlastWave2",0,0,0,0,0,0,0,1)
stop
}
}

actor FlameBlastWave2
{
PROJECTILE
Obituary "$OB_FLAMEBLAST"
damagetype "FlameBlast"
+DONTBLAST
+FLOORHUGGER
+BRIGHT
Mass 6
Damage (25)
Radius 10
Height 48
Speed 0
Scale 2.5
States
{
Spawn:
FLMB D 0
FLMB D 0 A_SpawnItemEx("OilPitIgnite",0,0,0)
FLMB H 0 A_PlaySoundEx("misc/sunstarshot","Weapon")
FLMB ABCDEFG 1
Spawn2:
FLMB FGFGFGFGFG 1
FLMB H 0 A_GiveInventory("WeaponCharge",1)
FLMB H 0 A_JumpIfInventory("WeaponCharge",Mass,"SpawnEnd")
goto Spawn+3
SpawnEnd:
FLMB FGFEDCBA 1
stop
Death:
TNT1 A 0
Stop
}
}

