Fixed biorifle getting deselected while altfiring if there's no ammo.

Cleaned some leftover code in Minigun.
This commit is contained in:
Marisa the Magician 2018-06-17 12:52:11 +02:00
commit 7cfe718384
2 changed files with 21 additions and 25 deletions

View file

@ -548,6 +548,7 @@ Class BioSplash : BioGel
Class BioRifle : UTWeapon
{
double charge;
bool bCharging;
action void A_BioFire( bool alt = false )
{
@ -597,6 +598,7 @@ Class BioRifle : UTWeapon
if ( !weap ) return;
invoker.charge = 0;
A_PlaySound("ges/charge",CHAN_WEAPON);
invoker.bCharging = true;
}
action void A_ChargeUp()
{
@ -607,6 +609,11 @@ Class BioRifle : UTWeapon
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
invoker.charge = min(5.1,invoker.charge+0.5);
}
override bool CheckAmmo( int fireMode, bool autoSwitch, bool requireAmmo, int ammocount )
{
if ( bCharging ) return true;
return Super.CheckAmmo(fireMode,autoSwitch,requireAmmo,ammocount);
}
Default
{
Tag "GES Bio Rifle";
@ -633,6 +640,7 @@ Class BioRifle : UTWeapon
Idle:
BIOI A 1
{
invoker.bCharging = false;
A_CheckReload();
A_WeaponReady();
}
@ -645,58 +653,49 @@ Class BioRifle : UTWeapon
BIOC A 4 A_BeginCharge();
BIOC B 5 A_ChargeUp();
BIOC CD 5;
BIOC E 0 A_Refire("AltFire2");
BIOC E 0 A_Refire(1);
Goto AltRelease;
AltFire2:
BIOC E 5 A_ChargeUp();
BIOC FG 5;
BIOC H 0 A_Refire("AltFire3");
BIOC H 0 A_Refire(1);
Goto AltRelease;
AltFire3:
BIOC H 5 A_ChargeUp();
BIOC IJ 5;
BIOC K 0 A_Refire("AltFire4");
BIOC K 0 A_Refire(1);
Goto AltRelease;
AltFire4:
BIOC K 5 A_ChargeUp();
BIOC LM 5;
BIOC N 0 A_Refire("AltFire5");
BIOC N 0 A_Refire(1);
Goto AltRelease;
AltFire5:
BIOC N 5 A_ChargeUp();
BIOC OP 5;
BIOC Q 0 A_Refire("AltFire6");
BIOC Q 0 A_Refire(1);
Goto AltRelease;
AltFire6:
BIOC Q 5 A_ChargeUp();
BIOC RS 5;
BIOC T 0 A_Refire("AltFire7");
BIOC T 0 A_Refire(1);
Goto AltRelease;
AltFire7:
BIOC T 5 A_ChargeUp();
BIOC UV 5;
BIOC W 0 A_Refire("AltFire8");
BIOC W 0 A_Refire(1);
Goto AltRelease;
AltFire8:
BIOC W 5 A_ChargeUp();
BIOC XY 5;
BIOC Z 0 A_Refire("AltFire9");
BIOC Z 0 A_Refire(1);
Goto AltRelease;
AltFire9:
BIOC Z 5 A_ChargeUp();
BIC2 AB 5;
BIC2 C 0 A_Refire("AltFire10");
BIC2 C 0 A_Refire(1);
Goto AltRelease;
AltFire10:
BIC2 C 5 A_ChargeUp();
BIC2 DE 5;
BIOM A 0 A_Refire("AltHeld");
BIOM A 0 A_Refire(1);
Goto AltRelease;
AltHeld:
BIOM A 5 { invoker.charge = min(5.1,invoker.charge+0.1); }
BIOM A 5;
BIOM A 0 A_Refire("AltHeld");
AltRelease:
BIOE A 1;
BIOE A 1 { invoker.charge = min(5.1,invoker.charge+0.1); }
BIOF A 2 A_BioFire(true);
BIOF BCDEFGHI 2;
Goto Idle;
@ -708,4 +707,4 @@ Class BioRifle : UTWeapon
BIOD J 1 A_Lower(int.max);
Wait;
}
}
}