A rebalance attempt™.
This commit is contained in:
parent
b917ac95b1
commit
c194852ca8
10 changed files with 48 additions and 49 deletions
|
|
@ -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-";
|
||||
|
|
|
|||
|
|
@ -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 )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -43,11 +43,10 @@ Class SWWMShellAmmoBig : SWWMAmmoSpawner
|
|||
static Class<Actor> PickAmmo( bool notondemand = false )
|
||||
{
|
||||
// shell types (sorted by rarity)
|
||||
static const Class<Actor> redpool[] = {'RedShell','RedShell2','RedShell4'};
|
||||
static const Class<Actor> greenpool[] = {'GreenShell','GreenShell2','GreenShell4'};
|
||||
static const Class<Actor> whitepool[] = {'WhiteShell','WhiteShell2'};
|
||||
static const Class<Actor> purplepool[] = {'PurpleShell','PurpleShell2','PurpleShell4'};
|
||||
static const Class<Actor> bluepool[] = {'BlueShell','BlueShell2','BlueShell4'};
|
||||
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) )
|
||||
|
|
@ -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';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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<numshot; j++ )
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ Class Eviscerator : SWWMWeapon
|
|||
[x2, y2, z2] = swwm_CoordUtil.GetAxes(BulletSlope(),angle,roll);
|
||||
origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+4*y-5*z);
|
||||
int trail = CVar.GetCVar('swwm_funtrails',player).GetInt();
|
||||
for ( int i=0; i<40; i++ )
|
||||
for ( int i=0; i<20; i++ )
|
||||
{
|
||||
a = FRandom[Eviscerator](0,360);
|
||||
s = FRandom[Eviscerator](0,invoker.extended?.06:.3);
|
||||
|
|
|
|||
|
|
@ -504,7 +504,7 @@ Class EvisceratorProj : Actor
|
|||
}
|
||||
int trail = 0;
|
||||
if ( target && target.player ) trail = CVar.GetCVar('swwm_funtrails',target.player).GetInt();
|
||||
for ( int i=0; i<40; i++ )
|
||||
for ( int i=0; i<20; i++ )
|
||||
{
|
||||
p = EvisceratorChunk(Spawn("EvisceratorChunk",level.Vec3Offset(pos,spawnofs)));
|
||||
p.bHITOWNER = true;
|
||||
|
|
|
|||
|
|
@ -424,7 +424,7 @@ Class Spreadgun : SWWMWeapon
|
|||
case 1:
|
||||
sst = new("SpreadSlugTracer");
|
||||
sst.ignoreme = self;
|
||||
sst.penetration = 150.;
|
||||
sst.penetration = 120.;
|
||||
a = FRandom[Spreadgun](0,360);
|
||||
s = FRandom[Spreadgun](0,.01);
|
||||
dir = (x2+y2*cos(a)*s+z2*sin(a)*s).unit();
|
||||
|
|
@ -632,7 +632,7 @@ Class Spreadgun : SWWMWeapon
|
|||
st.shootthroughlist.Clear();
|
||||
st.waterhitlist.Clear();
|
||||
st.Trace(origin,level.PointInSector(origin.xy),dir,8000.,TRACE_HitSky);
|
||||
ProcessTraceHit(st,origin,dir,6,7000,bc:5);
|
||||
ProcessTraceHit(st,origin,dir,4,7000,bc:5);
|
||||
}
|
||||
for ( int i=0; i<16; i++ )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -545,7 +545,7 @@ Class BiosparkBall : Actor
|
|||
{
|
||||
A_StopSound(CHAN_VOICE);
|
||||
A_AlertMonsters(swwm_uncapalert?0:5000);
|
||||
SWWMUtility.DoExplosion(self,60,20000,150,80,flags:DE_HOWL);
|
||||
SWWMUtility.DoExplosion(self,50,20000,150,80,flags:DE_HOWL);
|
||||
A_QuakeEx(6,6,6,16,0,800,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollIntensity:.8);
|
||||
A_StartSound("biospark/hit",CHAN_ITEM,attenuation:.8);
|
||||
A_StartSound("biospark/hit",CHAN_WEAPON,attenuation:.6);
|
||||
|
|
@ -598,7 +598,7 @@ Class BiosparkBall : Actor
|
|||
if ( special1 > 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<numpt; i++ )
|
||||
|
|
@ -709,7 +709,7 @@ Class BiosparkBeamImpact : Actor
|
|||
{
|
||||
Super.PostBeginPlay();
|
||||
A_AlertMonsters(swwm_uncapalert?0:2000);
|
||||
SWWMUtility.DoExplosion(self,50,20000,100,40,flags:DE_HOWL);
|
||||
SWWMUtility.DoExplosion(self,40,20000,100,40,flags:DE_HOWL);
|
||||
A_QuakeEx(3,3,3,12,0,800,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollIntensity:.4);
|
||||
A_StartSound("biospark/beamhit",CHAN_ITEM,attenuation:1.1);
|
||||
A_StartSound("biospark/beamhit",CHAN_WEAPON,attenuation:.8);
|
||||
|
|
@ -762,7 +762,7 @@ Class BiosparkBeamImpact : Actor
|
|||
if ( special1 > 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<numpt; i++ )
|
||||
|
|
|
|||
|
|
@ -498,7 +498,7 @@ Class ExplodiumBulletImpact : Actor
|
|||
{
|
||||
Super.PostBeginPlay();
|
||||
A_AlertMonsters(swwm_uncapalert?0:3000);
|
||||
SWWMUtility.DoExplosion(self,20,80000,90,40,DE_EXTRAZTHRUST);
|
||||
SWWMUtility.DoExplosion(self,20,40000,90,40,DE_EXTRAZTHRUST);
|
||||
A_QuakeEx(4,4,4,10,0,250,"",QF_RELATIVE|QF_SCALEDOWN,falloff:150,rollintensity:0.2);
|
||||
A_StartSound("explodium/hit",CHAN_VOICE,attenuation:.6);
|
||||
A_StartSound("explodium/hit",CHAN_WEAPON,attenuation:.3);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue