Ammo balancing and behind-the-scenes stuff.

This commit is contained in:
Mari the Deer 2021-09-15 00:17:08 +02:00
commit 4677ca7d4f
25 changed files with 147 additions and 183 deletions

View file

@ -16,8 +16,8 @@ Class RedShell : SWWMAmmo
Inventory.Icon "graphics/HUD/Icons/A_ShellsNormal.png";
Inventory.Amount 1;
Inventory.MaxAmount 30;
Ammo.BackpackAmount 2;
Ammo.BackpackMaxAmount 80;
Ammo.BackpackAmount 3;
Ammo.BackpackMaxAmount 50;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
@ -72,7 +72,7 @@ Class GreenShell : SWWMAmmo
Inventory.Amount 1;
Inventory.MaxAmount 25;
Ammo.BackpackAmount 2;
Ammo.BackpackMaxAmount 60;
Ammo.BackpackMaxAmount 45;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
@ -181,7 +181,7 @@ Class BlueShell : SWWMAmmo
Inventory.Amount 1;
Inventory.MaxAmount 15;
Ammo.BackpackAmount 1;
Ammo.BackpackMaxAmount 40;
Ammo.BackpackMaxAmount 35;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
@ -234,9 +234,9 @@ Class BlackShell : SWWMAmmo
Stamina 4000;
Inventory.Icon "graphics/HUD/Icons/A_ShellsFuck.png";
Inventory.Amount 1;
Inventory.MaxAmount 10;
Inventory.MaxAmount 5;
Ammo.BackpackAmount 0;
Ammo.BackpackMaxAmount 20;
Ammo.BackpackMaxAmount 25;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
@ -291,7 +291,7 @@ Class PurpleShell : SWWMAmmo
Inventory.Amount 1;
Inventory.MaxAmount 20;
Ammo.BackpackAmount 1;
Ammo.BackpackMaxAmount 60;
Ammo.BackpackMaxAmount 40;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
@ -445,8 +445,8 @@ Class EvisceratorShell : SWWMAmmo
Inventory.Icon "graphics/HUD/Icons/A_Eviscerator.png";
Inventory.Amount 1;
Inventory.MaxAmount 20;
Ammo.BackpackAmount 1;
Ammo.BackpackMaxAmount 60;
Ammo.BackpackAmount 3;
Ammo.BackpackMaxAmount 50;
Ammo.DropAmount 1;
+FLOATBOB;
+SWWMAMMO.USEPICKUPMSG;
@ -526,9 +526,9 @@ Class HellblazerMissiles : SWWMAmmo
Stamina 8000;
Inventory.Icon "graphics/HUD/Icons/A_HellblazerMissile.png";
Inventory.Amount 1;
Inventory.MaxAmount 24;
Ammo.BackpackAmount 1;
Ammo.BackpackMaxAmount 48;
Inventory.MaxAmount 18;
Ammo.BackpackAmount 2;
Ammo.BackpackMaxAmount 36;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
@ -599,7 +599,7 @@ Class HellblazerCrackshots : SWWMAmmo
Stamina 15000;
Inventory.Icon "graphics/HUD/Icons/A_HellblazerCrackshot.png";
Inventory.Amount 1;
Inventory.MaxAmount 15;
Inventory.MaxAmount 12;
Ammo.BackpackAmount 1;
Ammo.BackpackMaxAmount 30;
Ammo.DropAmount 1;
@ -656,7 +656,7 @@ Class HellblazerRavagers : SWWMAmmo
Stamina 25000;
Inventory.Icon "graphics/HUD/Icons/A_HellblazerRavager.png";
Inventory.Amount 1;
Inventory.MaxAmount 9;
Inventory.MaxAmount 6;
Ammo.BackpackAmount 0;
Ammo.BackpackMaxAmount 18;
Ammo.DropAmount 1;
@ -702,7 +702,7 @@ Class HellblazerWarheads : SWWMAmmo
Stamina 40000;
Inventory.Icon "graphics/HUD/Icons/A_HellblazerWarhead.png";
Inventory.Amount 1;
Inventory.MaxAmount 4;
Inventory.MaxAmount 2;
Ammo.BackpackAmount 0;
Ammo.BackpackMaxAmount 8;
Ammo.DropAmount 1;
@ -752,9 +752,9 @@ Class SparkUnit : SWWMAmmo
Stamina 50000;
Inventory.Icon "graphics/HUD/Icons/A_Sparkster.png";
Inventory.Amount 1;
Inventory.MaxAmount 10;
Inventory.MaxAmount 8;
Ammo.BackpackAmount 1;
Ammo.BackpackMaxAmount 30;
Ammo.BackpackMaxAmount 24;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
@ -801,7 +801,7 @@ Class SilverBulletAmmo : SWWMAmmo
Inventory.Amount 1;
Inventory.MaxAmount 3;
Ammo.BackpackAmount 0;
Ammo.BackpackMaxAmount 8;
Ammo.BackpackMaxAmount 6;
Ammo.DropAmount 1;
SWWMAmmo.MagAmmoType "SilverBullets";
+FLOATBOB;
@ -972,9 +972,9 @@ Class CandyGunAmmo : SWWMAmmo
Stamina 100000;
Inventory.Icon "graphics/HUD/Icons/A_CandyGun.png";
Inventory.Amount 1;
Inventory.MaxAmount 2;
Inventory.MaxAmount 1;
Ammo.BackpackAmount 0;
Ammo.BackpackMaxAmount 6;
Ammo.BackpackMaxAmount 4;
Ammo.DropAmount 1;
SWWMAmmo.MagAmmoType "CandyGunBullets";
+FLOATBOB;

View file

@ -18,7 +18,7 @@ Class SWWMShellAmmoSmall : SWWMAmmoSpawner
{
/*if ( Random[Replacements](0,1) && (notondemand || SWWMUtility.ItemExists('PuntzerBeta') || SWWMUtility.ItemExists('PuntzerGamma')) )
return Random[Replacements](0,2)?'SMW05SmallAmmo':'SMW05Ammo3';*/
switch( Random[Replacements](0,8) )
switch( Random[Replacements](0,9) )
{
case 0:
case 1:
@ -32,7 +32,7 @@ Class SWWMShellAmmoSmall : SWWMAmmoSpawner
case 7:
return 'PurpleShell';
}
// case 8
// case 8-9
return 'BlueShell';
}
}
@ -42,44 +42,54 @@ Class SWWMShellAmmoBig : SWWMAmmoSpawner
static Class<Actor> PickAmmo( bool notondemand = false )
{
// shell types (sorted by rarity)
static const Class<Actor> redpool[] = {'RedShell','RedShell2'};
static const Class<Actor> greenpool[] = {'GreenShell','GreenShell2'};
static const Class<Actor> purplepool[] = {'PurpleShell','PurpleShell2'};
static const Class<Actor> 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) )
switch( Random[Replacements](0,17) )
{
case 0:
case 1:
case 2:
case 3:
return 'RedShell';
case 4:
return redpool[Random[Replacements](0,1)];
case 5:
case 6:
case 7:
return 'GreenShell';
case 8:
case 9:
return greenpool[Random[Replacements](0,1)];
case 10:
return 'PurpleShell';
case 11:
case 12:
case 13:
return purplepool[Random[Replacements](0,1)];
return 'BlueShell';
case 14:
case 15:
case 16:
return bluepool[Random[Replacements](0,1)];
case 17:
case 18:
return 'WhiteShell';
}
// case 19-20
// case 16-17
return 'BlackShell';
}
}
Class SWWMClipAmmoSmall : SWWMAmmoSpawner
{
Mixin SWWMOndemandAmmoSpawner;
static Class<Actor> PickAmmo( bool notondemand = false )
{
if ( !Random[Replacements](0,4) )
{
/*if ( Random[Replacements](0,1) && (notondemand || SWWMUtility.ItemExists('HeavyMahsheenGun')) )
return Random[Replacements](0,2)?'SheenAmmo3':'SheenTinyAmmo';*/
if ( notondemand || SWWMUtility.ItemExists('Eviscerator') )
return 'EvisceratorShell';
}
/*if ( Random[Replacements](0,1) && (notondemand || SWWMUtility.ItemExists('PuntzerBeta') || SWWMUtility.ItemExists('PuntzerGamma')) )
return Random[Replacements](0,2)?'SMW05Ammo':'SMW05Ammo2';*/
return Random[Replacements](0,1)?'RedShell':'GreenShell';
}
}
Class SWWMClipAmmoBig : SWWMAmmoSpawner
{
Mixin SWWMOndemandAmmoSpawner;
@ -136,7 +146,7 @@ Class SWWMRocketAmmoBig : SWWMAmmoSpawner
return Random[Replacements](0,2)?'SparksterRAmmo2':'SparksterRAmmo3';
}*/
/*if ( Random[Replacements](0,1) && (notondemand || SWWMUtility.ItemExists('Quadravol')) )
return Random[Replacements](0,2)?'QuadravolAmmo':'QuadravolAmmo2';*/
return Random[Replacements](0,4)?'QuadravolAmmo2':'QuadravolAmmo3';*/
switch ( Random[Replacements](0,11) )
{
case 0:
@ -144,7 +154,7 @@ Class SWWMRocketAmmoBig : SWWMAmmoSpawner
case 2:
case 3:
case 4:
return Random[Replacements](0,4)?'HellblazerMissiles':Random[Replacements](0,2)?'HellblazerMissiles2':'HellblazerMissiles3';
return Random[Replacements](0,4)?'HellblazerMissiles':'HellblazerMissiles2';
case 5:
case 6:
case 7:

View file

@ -63,28 +63,6 @@ Class ArmorNuggetItem : SWWMSpareArmor
Stop;
}
}
Class ArmorNuggetBundleSpawn : Actor
{
override void PostBeginPlay()
{
if ( bCOUNTSECRET ) level.total_secrets--;
int bnd = Random[Bundle](2,3);
for ( int i=0; i<bnd; i++ )
{
let a = Spawn("ArmorNuggetItem",Vec3Angle(8,i*(360/bnd)));
a.special = special;
a.angle = i*(360/bnd);
for ( int j=0; j<5; j++ ) a.args[j] = args[j];
if ( bCOUNTSECRET )
{
a.bCOUNTSECRET = true;
level.total_secrets++;
}
a.bDROPPED = bDROPPED;
}
Destroy();
}
}
Class BlastSuit : SWWMArmor
{

View file

@ -106,28 +106,6 @@ Class HealthNuggetItem : SWWMHealth
Stop;
}
}
Class HealthNuggetBundleSpawn : Actor
{
override void PostBeginPlay()
{
if ( bCOUNTSECRET ) level.total_secrets--;
int bnd = Random[Bundle](2,3);
for ( int i=0; i<bnd; i++ )
{
let a = Spawn("HealthNuggetItem",Vec3Angle(8,i*(360/bnd)));
a.special = special;
a.angle = i*(360/bnd);
for ( int j=0; j<5; j++ ) a.args[j] = args[j];
if ( bCOUNTSECRET )
{
a.bCOUNTSECRET = true;
level.total_secrets++;
}
a.bDROPPED = bDROPPED;
}
Destroy();
}
}
Class TetraHealthItem : SWWMHealth
{