From c194852ca86d334776b0dad5700338ab81ad79c6 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Mon, 6 Sep 2021 22:55:58 +0200 Subject: [PATCH] =?UTF-8?q?A=20rebalance=20attempt=E2=84=A2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language.version | 4 ++-- zscript/items/swwm_ammoitems.zsc | 32 +++++++++++++-------------- zscript/items/swwm_ammospawn.zsc | 31 +++++++++++++------------- zscript/weapons/swwm_blazeit_fx.zsc | 8 +++---- zscript/weapons/swwm_cbt.zsc | 4 ++-- zscript/weapons/swwm_danmaku.zsc | 2 +- zscript/weapons/swwm_danmaku_fx.zsc | 2 +- zscript/weapons/swwm_shot.zsc | 4 ++-- zscript/weapons/swwm_sparkyboi_fx.zsc | 8 +++---- zscript/weapons/swwm_splode_fx.zsc | 2 +- 10 files changed, 48 insertions(+), 49 deletions(-) diff --git a/language.version b/language.version index b90565a0f..fefd77619 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw1.1pre r4 \cu(Mon 6 Sep 13:02:14 CEST 2021)\c-"; -SWWM_SHORTVER="\cw1.1pre r4 \cu(2021-09-06 13:02:14)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw1.1pre r5 \cu(Mon 6 Sep 22:55:58 CEST 2021)\c-"; +SWWM_SHORTVER="\cw1.1pre r5 \cu(2021-09-06 22:55:58)\c-"; diff --git a/zscript/items/swwm_ammoitems.zsc b/zscript/items/swwm_ammoitems.zsc index a1afe59ed..2ddea1d0a 100644 --- a/zscript/items/swwm_ammoitems.zsc +++ b/zscript/items/swwm_ammoitems.zsc @@ -21,14 +21,14 @@ Class RedShell : Ammo Inventory.Icon "graphics/HUD/Icons/A_ShellsNormal.png"; Inventory.Amount 1; Inventory.MaxAmount 30; - Ammo.BackpackAmount 3; + Ammo.BackpackAmount 2; Ammo.BackpackMaxAmount 80; Ammo.DropAmount 2; +FLOATBOB; FloatBobStrength 0.25; Radius 4; Height 20; - Accuracy 30; + Accuracy 50; } States { @@ -88,7 +88,7 @@ Class GreenShell : Ammo FloatBobStrength 0.25; Radius 4; Height 20; - Accuracy 35; + Accuracy 55; } States { @@ -147,7 +147,7 @@ Class WhiteShell : Ammo +FLOATBOB; FloatBobStrength 0.25; Radius 4; - Accuracy 50; + Accuracy 70; } States { @@ -207,7 +207,7 @@ Class BlueShell : Ammo FloatBobStrength 0.25; Radius 4; Height 20; - Accuracy 45; + Accuracy 65; } States { @@ -267,7 +267,7 @@ Class BlackShell : Ammo FloatBobStrength 0.25; Radius 4; Height 20; - Accuracy 60; + Accuracy 75; } States { @@ -327,7 +327,7 @@ Class PurpleShell : Ammo FloatBobStrength 0.25; Radius 4; Height 20; - Accuracy 40; + Accuracy 60; } States { @@ -484,14 +484,14 @@ Class EvisceratorShell : Ammo Inventory.Icon "graphics/HUD/Icons/A_Eviscerator.png"; Inventory.Amount 1; Inventory.MaxAmount 20; - Ammo.BackpackAmount 2; + Ammo.BackpackAmount 1; Ammo.BackpackMaxAmount 60; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; Radius 8; Height 22; - Accuracy 40; + Accuracy 60; } override void ModifyDropAmount( int dropamount ) { @@ -566,7 +566,7 @@ Class HellblazerMissiles : Ammo FloatBobStrength 0.25; Radius 6; Height 22; - Accuracy 60; + Accuracy 70; } override void ModifyDropAmount( int dropamount ) { @@ -635,7 +635,7 @@ Class HellblazerCrackshots : Ammo FloatBobStrength 0.25; Radius 6; Height 22; - Accuracy 70; + Accuracy 75; } override void ModifyDropAmount( int dropamount ) { @@ -760,7 +760,7 @@ Class HellblazerWarheads : Ammo FloatBobStrength 0.25; Radius 6; Height 22; - Accuracy 90; + Accuracy 85; } override void ModifyDropAmount( int dropamount ) { @@ -820,7 +820,7 @@ Class SparkUnit : Ammo FloatBobStrength 0.25; Radius 6; Height 22; - Accuracy 50; + Accuracy 70; } override void ModifyDropAmount( int dropamount ) { @@ -879,7 +879,7 @@ Class SilverBulletAmmo : Ammo FloatBobStrength 0.25; Radius 10; Height 26; - Accuracy 60; + Accuracy 75; } override void ModifyDropAmount( int dropamount ) { @@ -931,7 +931,7 @@ Class SilverBulletAmmo2 : Ammo FloatBobStrength 0.25; Radius 10; Height 26; - Accuracy 70; + Accuracy 80; } override void ModifyDropAmount( int dropamount ) { @@ -1067,7 +1067,7 @@ Class CandyGunAmmo : Ammo FloatBobStrength 0.25; Radius 6; Height 24; - Accuracy 80; + Accuracy 90; } override void ModifyDropAmount( int dropamount ) { diff --git a/zscript/items/swwm_ammospawn.zsc b/zscript/items/swwm_ammospawn.zsc index 3d9695baf..a209b2a0a 100644 --- a/zscript/items/swwm_ammospawn.zsc +++ b/zscript/items/swwm_ammospawn.zsc @@ -43,11 +43,10 @@ Class SWWMShellAmmoBig : SWWMAmmoSpawner static Class PickAmmo( bool notondemand = false ) { // shell types (sorted by rarity) - static const Class redpool[] = {'RedShell','RedShell2','RedShell4'}; - static const Class greenpool[] = {'GreenShell','GreenShell2','GreenShell4'}; - static const Class whitepool[] = {'WhiteShell','WhiteShell2'}; - static const Class purplepool[] = {'PurpleShell','PurpleShell2','PurpleShell4'}; - static const Class bluepool[] = {'BlueShell','BlueShell2','BlueShell4'}; + static const Class redpool[] = {'RedShell','RedShell2'}; + static const Class greenpool[] = {'GreenShell','GreenShell2'}; + static const Class purplepool[] = {'PurpleShell','PurpleShell2'}; + static const Class bluepool[] = {'BlueShell','BlueShell2'}; /*if ( Random[Replacements](0,1) && (notondemand || SWWMUtility.ItemExists('PuntzerBeta') || SWWMUtility.ItemExists('PuntzerGamma')) ) return Random[Replacements](0,2)?'SMW05SmallAmmo':'SMW05BigAmmo';*/ switch( Random[Replacements](0,20) ) @@ -57,25 +56,25 @@ Class SWWMShellAmmoBig : SWWMAmmoSpawner case 2: case 3: case 4: - return redpool[Random[Replacements](0,2)]; + return redpool[Random[Replacements](0,1)]; case 5: case 6: case 7: case 8: case 9: - return greenpool[Random[Replacements](0,2)]; + return greenpool[Random[Replacements](0,1)]; case 10: case 11: case 12: case 13: - return purplepool[Random[Replacements](0,2)]; + return purplepool[Random[Replacements](0,1)]; case 14: case 15: case 16: - return bluepool[Random[Replacements](0,2)]; + return bluepool[Random[Replacements](0,1)]; case 17: case 18: - return whitepool[Random[Replacements](0,1)]; + return 'WhiteShell'; } // case 19-20 return 'BlackShell'; @@ -89,7 +88,7 @@ Class SWWMClipAmmoBig : SWWMAmmoSpawner { /*if ( Random[Replacements](0,1) && (notondemand || SWWMUtility.ItemExists('HeavyMahsheenGun')) ) return Random[Replacements](0,2)?'SheenSmallAmmo':'SheenBigAmmo';*/ - return Random[Replacements](0,3)?'EvisceratorShell':'EvisceratorBundleSpawn'; + return Random[Replacements](0,5)?'EvisceratorShell':'EvisceratorBundleSpawn'; } } Class SWWMBlastAmmoSmall : SWWMAmmoSpawner @@ -111,7 +110,7 @@ Class SWWMBlastAmmoBig : SWWMAmmoSpawner { /*if ( Random[Replacements](0,1) && (notondemand || SWWMUtility.ItemExists('HeavyMahsheenGun')) ) return Random[Replacements](0,2)?'SheenBigAmmo':'SheenSmallAmmo';*/ - return 'EvisceratorBundleSpawn'; + return Random[Replacements](0,2)?'EvisceratorShell':'EvisceratorBundleSpawn'; } } Class SWWMRocketAmmoSmall : SWWMAmmoSpawner @@ -142,12 +141,12 @@ Class SWWMRocketAmmoBig : SWWMAmmoSpawner case 2: case 3: case 4: - return Random[Replacements](0,2)?'HellblazerMissiles':'HellblazerMissileBundleSpawn'; + return Random[Replacements](0,4)?'HellblazerMissiles':'HellblazerMissileBundleSpawn'; case 5: case 6: case 7: case 8: - return Random[Replacements](0,3)?'HellblazerCrackshots':'HellblazerCrackshotBundleSpawn'; + return Random[Replacements](0,7)?'HellblazerCrackshots':'HellblazerCrackshotBundleSpawn'; case 9: case 10: return 'HellblazerRavagers'; @@ -195,8 +194,8 @@ Class SWWMCellAmmoBig : SWWMAmmoSpawner if ( Random[Replacements](0,3) ) return Random[Replacements](0,2)?'SilverBulletsBundleSpawn':'SilverBullets2BundleSpawn'; return Random[Replacements](0,2)?'SilverBulletAmmo':'SilverBulletAmmo2'; } - if ( notondemand || SWWMUtility.ItemExists('CandyGun') ) return Random[Replacements](0,2)?'CandyGunBulletsBundleSpawn':'CandyGunAmmo'; + if ( notondemand || SWWMUtility.ItemExists('CandyGun') ) return Random[Replacements](0,3)?'CandyGunBulletsBundleSpawn':'CandyGunAmmo'; /*if ( !Random[Replacements](0,2) && (notondemand || SWWMUtility.ItemExists('BlackfireIgniter')) ) return 'DarkCanister';*/ - return Random[Replacements](0,2)?'SparkUnit':'SparkUnitBundleSpawn'; + return Random[Replacements](0,3)?'SparkUnit':'SparkUnitBundleSpawn'; } } diff --git a/zscript/weapons/swwm_blazeit_fx.zsc b/zscript/weapons/swwm_blazeit_fx.zsc index da33f3c32..da462bbb0 100644 --- a/zscript/weapons/swwm_blazeit_fx.zsc +++ b/zscript/weapons/swwm_blazeit_fx.zsc @@ -334,7 +334,7 @@ Class HellblazerMissile : Actor A_SetRenderStyle(1.0,STYLE_Add); A_SprayDecal("BigRocketBlast",50); A_SetScale(4.5); - SWWMUtility.DoExplosion(self,250,320000,200,90); + SWWMUtility.DoExplosion(self,150,320000,200,90); A_NoGravity(); A_QuakeEx(5,5,5,15,0,1500,"",QF_RELATIVE|QF_SCALEDOWN,falloff:500,rollIntensity:.8); A_StopSound(CHAN_BODY); @@ -431,7 +431,7 @@ Class HellblazerCrackshot : HellblazerMissile A_SetRenderStyle(1.0,STYLE_Add); A_SprayDecal("BigRocketBlast",50); A_SetScale(3.); - SWWMUtility.DoExplosion(self,200,320000,160,60); + SWWMUtility.DoExplosion(self,120,320000,160,60); A_NoGravity(); A_QuakeEx(4,4,4,12,0,1200,"",QF_RELATIVE|QF_SCALEDOWN,falloff:400,rollIntensity:.6); A_StopSound(CHAN_BODY); @@ -502,7 +502,7 @@ Class HellblazerRavager : HellblazerMissile A_SetRenderStyle(1.0,STYLE_Add); A_SprayDecal("HugeRocketBlast",50); A_SetScale(8.); - SWWMUtility.DoExplosion(self,400,320000,300,120); + SWWMUtility.DoExplosion(self,250,320000,300,120); A_NoGravity(); A_QuakeEx(6,6,6,30,0,2000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:800,rollIntensity:1.); A_StopSound(CHAN_BODY); @@ -895,7 +895,7 @@ Class HellblazerClusterMini : HellblazerMissile2 A_SetRenderStyle(1.0,STYLE_Add); A_SprayDecal("BigRocketBlast",50); A_SetScale(2.5); - SWWMUtility.DoExplosion(self,50,200000,150,60); + SWWMUtility.DoExplosion(self,30,200000,150,60); A_NoGravity(); A_QuakeEx(4,4,4,12,0,1000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:400,rollIntensity:.6); A_StopSound(CHAN_BODY); diff --git a/zscript/weapons/swwm_cbt.zsc b/zscript/weapons/swwm_cbt.zsc index f57df67b9..cd340f48e 100644 --- a/zscript/weapons/swwm_cbt.zsc +++ b/zscript/weapons/swwm_cbt.zsc @@ -515,7 +515,7 @@ Class Wallbuster : SWWMWeapon // slug if ( !sst ) sst = new("SpreadSlugTracer"); sst.ignoreme = self; - sst.penetration = 200.; + sst.penetration = 150.; a = FRandom[Wallbuster](0,360); s = FRandom[Wallbuster](0,.002); dir = (x2+y2*cos(a)*s+z2*sin(a)*s).unit(); @@ -606,7 +606,7 @@ Class Wallbuster : SWWMWeapon if ( !st ) st = new("SpreadgunTracer"); st.ignoreme = self; // attempt to uniformize expected damage while reducing traces (mainly for performance) - int expecteddmg = 150; + int expecteddmg = 100; int numshot = max(21-howmany,5); int individualdmg = int(ceil(expecteddmg/double(numshot))); for ( int j=0; j 30 ) return; double factor = (30-special1)/30.; double invfct = 1.-factor; - SWWMUtility.DoExplosion(self,20*factor,0.,150*invfct,flags:DE_HOWL); + SWWMUtility.DoExplosion(self,15*factor,0.,150*invfct,flags:DE_HOWL); SWWMUtility.DoExplosion(self,0,-5000*factor,300*invfct); int numpt = int(Random[ExploS](16,32)*factor); for ( int i=0; i 30 ) return; double factor = (30-special1)/30.; double invfct = 1.-factor; - SWWMUtility.DoExplosion(self,15*factor,0.,50*invfct,flags:DE_HOWL); + SWWMUtility.DoExplosion(self,10*factor,0.,50*invfct,flags:DE_HOWL); SWWMUtility.DoExplosion(self,0.,-5000*factor,100*invfct); int numpt = int(Random[ExploS](8,16)*factor); for ( int i=0; i