Fire Storm
Fire Storm is a weapon that shoots out a fireball projectiles, while simultaneously surrounding the user with a damaging fireball that circles them. The fireball that is shot does solid damage, and the circling fireball deals splash damage around the user. Note that a new fireball cannot be shot until the Fire Storm's barrier fireball disappears.
Tactics
Using Fire Storm
Fire Storm is handy in tight duels, but it's best used in a group of Robot Masters. Walk right into a gathering of battling players, then fire off a few Fire Storm shots. If you get up close to someone, you can hit them with the fireball and the fire shield, doing massive damage. Of course, it's even better in a group situation, because not only can you really wallop one target, but you can also do some nice splash damage to interfering players who get a little too close.
Vs. Fire Storm
It's best to keep your distance when taking on a Fire Storm user. You'll be safe from the fire shield attack, and you'll have plenty of time to dodge the fireball shot. Just pepper your foe with ranged weapons and you'll do fine. If you find yourself cornered with a pyromaniac, though, the Shadow Blade and Top Spin are excellent counters. As these weapons only work at close range and do substantially more damage than Fire Storm if aimed precisely, it will make your foe think twice before trapping you in their flames.
Code
actor FireStormWep : MegaBuster 10052 { //$Category MM8BDM-Weapons Weapon.AmmoUse 1 Weapon.AmmoGive 28 Weapon.SlotNumber 2 Obituary "%o was melted by %k's Fire Storm." Inventory.Pickupmessage "Power up! Fire Storm!" weapon.ammotype "FireStormAmmo" inventory.pickupsound "weapon/weaponup" +WEAPON.AMMO_OPTIONAL inventory.icon "FIRESI" Scale 2.0 States { Spawn: WEAP Y 1 loop Ready: FIRE G 0 ACS_ExecuteAlways(998,0,21) FIRE G 1 A_WeaponReady Goto Ready+1 Deselect: TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower FIRE G 1 A_Lower Loop Select: TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise FIRE G 1 A_Raise Loop Fire: FIRE H 0 A_JumpIfNoAmmo("NoAmmo") FIRE H 0 A_PlaySoundEx("weapon/firestorm","Weapon") FIRE H 1 A_FireCustomMissile("FireStorm",0,1,8,0) FIRE H 4 A_GunFlash FIRE I 6 FIRE G 5 Goto Ready+1 NoAmmo: FIRE G 0 ACS_Execute(979,0) Goto Ready+1 Flash: TNT1 A 1 A_SpawnItemEx("FireShield1",64,0,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield2",48,48,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield3",0,64,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield1",-48,48,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield2",-64,0,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield3",-48,-48,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield1",0,-64,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield2",48,-48,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield1",64,0,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield2",48,48,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield3",0,64,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield1",-48,48,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield2",-64,0,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield3",-48,-48,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield1",0,-64,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) TNT1 A 1 A_SpawnItemEx("FireShield2",48,-48,34, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0) stop } } actor FireStormAmmo : Ammo { inventory.amount 1 inventory.maxamount 28 } actor FireStorm { PROJECTILE +DONTBLAST damagetype "FireStorm" Radius 6 Height 7 scale 2.5 damage (20) speed 40 States { Spawn: FIRE ABC 2 loop Death: TNT1 A 0 TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8) stop } } actor FireShield1 { PROJECTILE +FORCEXYBILLBOARD +SKYEXPLODE +DONTBLAST +RIPPER damagetype "FireSpin" scale 2.5 radius 8 height 8 Damage (4) States { Spawn: FIRE D 0 FIRE D 0 A_JumpIf(z-floorz==0,"Death") FIRE D 2 //A_Explode(4,96,0) stop Death: TNT1 A 0 stop } } actor FireShield2 : FireShield1 { States { Spawn: FIRE E 0 FIRE E 0 A_JumpIf(z-floorz==0,"Death") FIRE E 2 stop } } actor FireShield3 : FireShield1 { States { Spawn: FIRE F 0 FIRE F 0 A_JumpIf(z-floorz==0,"Death") FIRE F 2 stop } }