The MBF21 codepointer A_ConsumeAmmo has incomplete behaviour in Eternity. Per the MBF21 spec, "if amount is negative, ammo will be added to the ammo pool instead." - but in this case, a negative value actually appears to be treated as 0, causing no change in ammo count.
I've enclosed a .wad containing a DeHackEd edit to the pistol (with source) to aid in demonstrating this. It spends no ammo per shot, and calls A_ConsumeAmmo(-2) in the middle of firing.
To reproduce:
In Eternity, run the attached wad file using Doom 2 and start a new game.
Shoot with the pistol. The player's bullets will not change (A_ConsumeAmmo(-2) has an effect of 0).
Run the attached file in DSDA-Doom (complevel 21), Woof! or Nugget using Doom 2 and start a new game. Shoot with the pistol. The player will gain 2 bullets per shot (A_ConsumeAmmo(-2) has an effect of -2)
consumeammo_bug.zip
The MBF21 codepointer A_ConsumeAmmo has incomplete behaviour in Eternity. Per the MBF21 spec, "if
amount
is negative, ammo will be added to the ammo pool instead." - but in this case, a negative value actually appears to be treated as 0, causing no change in ammo count.I've enclosed a .wad containing a DeHackEd edit to the pistol (with source) to aid in demonstrating this. It spends no ammo per shot, and calls A_ConsumeAmmo(-2) in the middle of firing.
To reproduce: