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

View file

@ -13,9 +13,10 @@ Class StunnerAmmo : Ammo
override void DoEffect() override void DoEffect()
{ {
Super.Tick(); Super.Tick();
rechargespeed = max(2.,.2*Amount); if ( rechargespeed <= 0. ) rechargespeed = 2.;
rechargephase += 1./rechargespeed; rechargephase += 1./rechargespeed;
if ( rechargephase < 7 ) return; if ( rechargephase < 7 ) return;
rechargespeed = max(2.,.2*Amount);
rechargephase = 0; rechargephase = 0;
Amount = min(Amount+1,MaxAmount); Amount = min(Amount+1,MaxAmount);
} }
@ -283,7 +284,8 @@ Class Stunner : UnrealWeapon
invoker.bCharging = false; invoker.bCharging = false;
if ( self is 'UTPlayer' ) if ( self is 'UTPlayer' )
UTPlayer(self).PlayAttacking3(); 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); 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); double mult = Amplifier.GetMult(self,int(invoker.ChargeSize*50)+50);
invoker.FireEffect(); invoker.FireEffect();

View file

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