From 3926b5e5740cb2376cc9015be371e1a9508ed007 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Thu, 3 Oct 2019 21:38:18 +0200 Subject: [PATCH] =?UTF-8?q?Beta=205=20Goddamn=20Hotfix=204:=20=20-=20Corre?= =?UTF-8?q?ct=20ammo=20use=20values=20for=20Dispersion=20Pistol=20upgrade?= =?UTF-8?q?=20levels=20(1=E2=86=922=E2=86=924=E2=86=925=E2=86=926),=20odd?= =?UTF-8?q?=20progression,=20I=20know.=20=20-=20Stunner=20also=20has=20the?= =?UTF-8?q?=20same=20deathmatch=20regeneration=20behaviour=20as=20the=20Di?= =?UTF-8?q?spersion=20Pistol=20now.=20=20-=20Corrected=20how=20the=20ammo?= =?UTF-8?q?=20regen=20speed=20works=20for=20both=20weapons.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zscript/dispersionpistol.zsc | 10 +++++++--- zscript/stunner.zsc | 6 ++++-- zscript/unrealcommon.zsc | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/zscript/dispersionpistol.zsc b/zscript/dispersionpistol.zsc index 75870c4..49c2337 100644 --- a/zscript/dispersionpistol.zsc +++ b/zscript/dispersionpistol.zsc @@ -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"); diff --git a/zscript/stunner.zsc b/zscript/stunner.zsc index 7e0ff50..c06721d 100644 --- a/zscript/stunner.zsc +++ b/zscript/stunner.zsc @@ -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(); diff --git a/zscript/unrealcommon.zsc b/zscript/unrealcommon.zsc index e3897c9..f9b4099 100644 --- a/zscript/unrealcommon.zsc +++ b/zscript/unrealcommon.zsc @@ -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(); } }