Code: Select all
/*
** Conical Bullet Spread Example
** Formula works like this:
** X = (Radius * Cos(Angle)) + Offset
** Y = (Radius * Sin(Angle)) + Offset
**
** Where Radius is the size of the circle you want to draw (can be
** randomized), Angle is an angle between 0 and 360 (can be fixed or
** random), and Offset is how offset the circle is from your crosshair.
**
** NOTE: Two of these values must be identical between X and Y! Radius must be
** the same and angle must be the same! However, if you want elliptical
** bullet patterns, simply change the X or Y value to be larger or
** or smaller than the other.
**
** Weapons that make use of this MUST use the EXPLICITANGLE flag! Same
** goes for the equivalent monster function A_CustomBulletAttack.
**
** Conical spreads are a bit limited with weapons, since weapons do not
** have acces to user variables, but they do have access to arguments.
** There are problems relating to fixed point numbers and arguments, but
** a workaround exists by using the following formula:
** X = (((Radius * 10) * Cos(Angle)) * 0.1) + Offset
** Y = (((Radius * 10) * Sin(Angle)) * 0.1) + Offset
**
*/
Spoiler: Q&A
Spoiler: Known Issues