A_FirePhoenixPL2
A_FirePhoenixPL2
(no parameter)
Decreases the player's readied PhoenixRod's FlameCount field by 1. If this counter reaches 0, the weapon is set to its Powerdown state, the player stops playing sound on its WEAPON channel, and the weapon leaves "refire" status. The codepointer then does nothing else. The counter must have been previously set to a positive evalue by A_InitPhoenixPL2.
Otherwise, fires a PhoenixFX2 at 26 units up from the player's feet and at a point randomly within 2 units on both horizontal axes from the player's center. The player's horizontal velocities are added to the flame, transferring the player's momentum. The projectile is also given a trajectory that follows an upward slope. The sound "weapons/phoenixpowshoot" starts being looped on the WEAPON channel unless the player is holding fire (in which case it was presumably already started by the initial shot) or another sound is already being played on that channel.
This function does not actually drain ammo; this is instead done by A_ShutdownPhoenixPL2.
This codepointer relies on the player's readied weapon having a FlameCount field and for this reason is restricted to PhoenixRodPowered and derived classes.