Beta 5 Goddamn Hotfix 4:

- Correct ammo use values for Dispersion Pistol upgrade levels (1→2→4→5→6), odd progression, I know.
 - Stunner also has the same deathmatch regeneration behaviour as the Dispersion Pistol now.
 - Corrected how the ammo regen speed works for both weapons.
This commit is contained in:
Marisa the Magician 2019-10-03 21:38:18 +02:00
commit 3926b5e574
3 changed files with 12 additions and 6 deletions

View file

@ -67,9 +67,10 @@ Class DefaultAmmo : Ammo
override void DoEffect()
{
Super.Tick();
rechargespeed = max(1.1,0.11*Amount);
if ( rechargespeed <= 0. ) rechargespeed = 1.1;
rechargephase += 1./rechargespeed;
if ( rechargephase < 35 ) return;
rechargespeed = max(1.1,0.11*Amount);
rechargephase = 0;
Amount = min(Amount+1,MaxAmount);
}
@ -504,6 +505,7 @@ Class DispersionPistol : UnrealWeapon
else weap.Ammo1.Amount -= invoker.MainUse;
}
DefaultAmmo(weap.Ammo1).rechargephase = (((weap.Ammo1.Amount>0)||!deathmatch)?0:30);
DefaultAmmo(weap.Ammo1).rechargespeed = 1.1;
switch ( ulevel )
{
case 0:
@ -569,6 +571,7 @@ Class DispersionPistol : UnrealWeapon
if ( self is 'UTPlayer' )
UTPlayer(self).PlayAttacking3();
DefaultAmmo(weap.Ammo1).rechargephase = (((weap.Ammo1.Amount>0)||!deathmatch)?0:30);
DefaultAmmo(weap.Ammo1).rechargespeed = 1.1;
A_PlaySound("dpistol/altfire",CHAN_WEAPON,Dampener.Active(self)?.4:1.);
double mult = Amplifier.GetMult(self,int(invoker.ChargeSize*50)+50);
invoker.FireEffect();
@ -878,9 +881,10 @@ Class DispersionPistol : UnrealWeapon
#### # 1
{
A_Overlay(-9999,"Null");
invoker.MainUse = min(6,invoker.upgradelevel+1);
invoker.UpdateSelectionOrder();
invoker.upgradelevel++;
invoker.MainUse = invoker.upgradelevel+1;
if ( invoker.upgradelevel > 1 ) invoker.MainUse++;
invoker.UpdateSelectionOrder();
if ( invoker.upgradelevel == 0 ) return ResolveState("Idle");
else if ( invoker.upgradelevel == 1 ) return ResolveState("Upgrade1");
else if ( invoker.upgradelevel == 2 ) return ResolveState("Upgrade2");

View file

@ -13,9 +13,10 @@ Class StunnerAmmo : Ammo
override void DoEffect()
{
Super.Tick();
rechargespeed = max(2.,.2*Amount);
if ( rechargespeed <= 0. ) rechargespeed = 2.;
rechargephase += 1./rechargespeed;
if ( rechargephase < 7 ) return;
rechargespeed = max(2.,.2*Amount);
rechargephase = 0;
Amount = min(Amount+1,MaxAmount);
}
@ -283,7 +284,8 @@ Class Stunner : UnrealWeapon
invoker.bCharging = false;
if ( self is 'UTPlayer' )
UTPlayer(self).PlayAttacking3();
StunnerAmmo(weap.Ammo1).rechargephase = ((weap.Ammo1.Amount>0)?0:5);
StunnerAmmo(weap.Ammo1).rechargephase = (((weap.Ammo1.Amount>0)||!deathmatch)?0:5);
StunnerAmmo(weap.Ammo1).rechargespeed = 2.;
A_PlaySound("stun/fire",CHAN_WEAPON,Dampener.Active(self)?.4:1.,pitch:1.2-invoker.chargesize*0.06);
double mult = Amplifier.GetMult(self,int(invoker.ChargeSize*50)+50);
invoker.FireEffect();

View file

@ -203,7 +203,7 @@ Class UPlayer : UTPlayer
else
{
dsp.pendingupgrade = dsp.upgradelevel = 4;
dsp.MainUse = min(6,dsp.upgradelevel+1);
dsp.MainUse = 6;
dsp.UpdateSelectionOrder();
}
}