Allow the Spreadgun, Wallbuster and Silver Bullet to auto-reload.
This will be made toggleable for ALL weapons in 1.4.
This commit is contained in:
parent
9983b82613
commit
008ccd7bd4
5 changed files with 28 additions and 8 deletions
|
|
@ -381,11 +381,12 @@ Class Spreadgun : SWWMWeapon
|
|||
action State A_SpreadgunReady()
|
||||
{
|
||||
int flg = WRF_ALLOWZOOM|WRF_ALLOWUSER1|WRF_NOSECONDARY;
|
||||
if ( ((invoker.Ammo1.Amount > 0) || sv_infiniteammo && FindInventory('PowerInfiniteAmmo',true)) && (invoker.fired || !invoker.chambered || invoker.goldload) )
|
||||
if ( ((invoker.Ammo1.Amount > 0) || sv_infiniteammo || FindInventory('PowerInfiniteAmmo',true)) && (invoker.fired || !invoker.chambered || invoker.goldload) )
|
||||
flg |= WRF_ALLOWRELOAD;
|
||||
if ( ((invoker.Ammo2.Amount > 0) || sv_infiniteammo && FindInventory('PowerInfiniteAmmo',true)) && (invoker.fired || !invoker.chambered || !invoker.goldload) )
|
||||
if ( ((invoker.Ammo2.Amount > 0) || sv_infiniteammo || FindInventory('PowerInfiniteAmmo',true)) && (invoker.fired || !invoker.chambered || !invoker.goldload) )
|
||||
flg &= ~WRF_NOSECONDARY;
|
||||
if ( invoker.fired || !invoker.chambered ) flg |= WRF_NOPRIMARY; // until 1.4, dry-fire animation not implemented
|
||||
if ( ((invoker.Ammo1.Amount <= 0) && !sv_infiniteammo && !FindInventory('PowerInfiniteAmmo',true)) && (invoker.fired || !invoker.chambered) )
|
||||
flg |= WRF_NOPRIMARY;
|
||||
A_WeaponReady(flg);
|
||||
if ( player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK) )
|
||||
invoker.CheckAmmo(EitherFire,true);
|
||||
|
|
@ -530,6 +531,7 @@ Class Spreadgun : SWWMWeapon
|
|||
Fire:
|
||||
XZW2 A 1
|
||||
{
|
||||
if ( invoker.fired || !invoker.chambered ) return ResolveState("Reload");
|
||||
A_FireShell();
|
||||
return ResolveState(null);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue