From ZDoom Wiki
Jump to: navigation, search

A_BFGSpray [(string flashtype [, int numrays [, int damage]])]

Performs the secondary BFG attack. This consists of a fan of numrays hitscan attacks across an angle of 90 degrees with the target in the center. If no amount is given it will use 40 as a default, i.e. one tracer every 2.25°. The vertical range is 64° (32° in each direction of up/down), which is a bit less than the normal autoaim of 70° for primary attacks. The amount of damage is specified with the third parameter. Note that A_BFGSpray uses a unique method to determine damage. It adds a number of random values between 1 and 8. With this parameter you specify the amount of random numbers to be added. The default is 15.

At the position of each shootable actor that is hit an actor of type flashtype is spawned. If none is specified it will use the standard BFG flash.

The origin of the attack is the missile's owner, not the missile itself. This function will create unpredictable effects if used on a non-missile!

Currently, BFG flash actors have been slightly expanded upon to allow custom damage types to be applied to them, much like other weapon puffs. Note that the +EXTREMEDEATH flag still has no effect on this, however, so if you wanted to cause enemies to gib all the time, you would have to use Damagetype Extreme for it to work properly.


Because of the unique behavior of the BFG, this function has very limited use in custom projects. The only built-in class that makes use of it is the BFGBall, which is fired by the BFG, and triggers the function upon exploding.

  BFE1 AB 8 bright
  BFE1 C 8 bright A_BFGSpray
  BFE1 DEF 8 bright