Beta 5.
- [flak_m] Implement particle meshes. - Append heal amount to health pickups (excl. superhealth). - Armor Bonus item. - Overhaul Stinger explosive charge behaviour, more in line with 0.83 and the novels. - Fix: Dispersion Pistol should only have infinite ammo in deathmatch. - Dispersion Pistol altfire always at level 0 if below 10 ammo. - More Fireblaster tweaks and touches and whatnot. Now fires in 3 bursts of 3 projectiles. And there's more damage and whatnot, it should stop sucking. - Capped fire effects for huge actors. - Reduced flames per tic on Flamethrower, to see if this causes less performance issues. May roll back if this was a bad idea. - Snuck in some longer versions of a couple player sounds. - [oldsounds] Added higher quality dispersion pistol select sound.
This commit is contained in:
parent
c44512e312
commit
0cb76eb03a
30 changed files with 270 additions and 117 deletions
|
|
@ -503,7 +503,7 @@ Class DispersionPistol : UnrealWeapon
|
|||
}
|
||||
else weap.Ammo1.Amount -= invoker.MainUse;
|
||||
}
|
||||
DefaultAmmo(weap.Ammo1).rechargephase = ((weap.Ammo1.Amount>0)?0:30);
|
||||
DefaultAmmo(weap.Ammo1).rechargephase = (((weap.Ammo1.Amount>0)||!deathmatch)?0:30);
|
||||
switch ( ulevel )
|
||||
{
|
||||
case 0:
|
||||
|
|
@ -568,11 +568,12 @@ Class DispersionPistol : UnrealWeapon
|
|||
invoker.bCharging = false;
|
||||
if ( self is 'UTPlayer' )
|
||||
UTPlayer(self).PlayAttacking3();
|
||||
DefaultAmmo(weap.Ammo1).rechargephase = ((weap.Ammo1.Amount>0)?0:30);
|
||||
DefaultAmmo(weap.Ammo1).rechargephase = (((weap.Ammo1.Amount>0)||!deathmatch)?0:30);
|
||||
A_PlaySound("dpistol/altfire",CHAN_WEAPON,Dampener.Active(self)?.4:1.);
|
||||
double mult = Amplifier.GetMult(self,int(invoker.ChargeSize*50)+50);
|
||||
invoker.FireEffect();
|
||||
int ulevel = sting_dpistol?0:invoker.upgradelevel;
|
||||
if ( weap.Ammo1.Amount < max(10,invoker.MainUse) ) ulevel = 0;
|
||||
Class<Actor> proj, part;
|
||||
switch ( ulevel )
|
||||
{
|
||||
|
|
@ -673,8 +674,10 @@ Class DispersionPistol : UnrealWeapon
|
|||
if ( invoker.chargesize >= 5. ) return ResolveState(next);
|
||||
if ( !(sv_infiniteammo || (FindInventory('PowerInfiniteAmmo',true))) )
|
||||
{
|
||||
if ( weap.Ammo1.Amount < invoker.ChargeUse ) return ResolveState(next);
|
||||
weap.Ammo1.Amount -= invoker.ChargeUse;
|
||||
int use = invoker.ChargeUse;
|
||||
if ( weap.Ammo1.Amount < max(10,invoker.ChargeUse) ) use = 1;
|
||||
if ( weap.Ammo1.Amount < use ) return ResolveState(next);
|
||||
weap.Ammo1.Amount -= use;
|
||||
}
|
||||
return ResolveState(null);
|
||||
}
|
||||
|
|
@ -737,7 +740,7 @@ Class DispersionPistol : UnrealWeapon
|
|||
{
|
||||
A_CheckReload();
|
||||
let weap = Weapon(invoker);
|
||||
if ( weap && weap.Ammo1.Amount > 0 ) A_WeaponReady();
|
||||
if ( weap && (weap.Ammo1.Amount > 0) ) A_WeaponReady();
|
||||
else A_WeaponReady(WRF_NOFIRE);
|
||||
}
|
||||
TNT1 A 1
|
||||
|
|
@ -815,6 +818,10 @@ Class DispersionPistol : UnrealWeapon
|
|||
#### # 0
|
||||
{
|
||||
invoker.chargesize = invoker.count = 0.;
|
||||
let weap = Weapon(invoker);
|
||||
if ( weap.Ammo1.Amount < max(10,invoker.ChargeUse) )
|
||||
weap.Ammo1.Amount--;
|
||||
else weap.Ammo1.Amount -= invoker.ChargeUse;
|
||||
invoker.bCharging = true;
|
||||
// need to make sure player does the repeat fire anim
|
||||
if ( self is 'UPlayer' )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue