Fix Hellblazer having no crosshair.
Rebalance ammo drops/spawns again. Add random chance for ammo drops to not spawn. Minor adjustment to forced bilinear shader.
This commit is contained in:
parent
8ec2c14b38
commit
b98b80667f
7 changed files with 74 additions and 50 deletions
|
|
@ -1,3 +1,3 @@
|
|||
[default]
|
||||
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r497 \cu(Tue 18 May 17:17:15 CEST 2021)\c-";
|
||||
SWWM_SHORTVER="\cw0.9.11b-pre r497 \cu(2021-05-18 17:17:15)\c-";
|
||||
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r498 \cu(Fri 21 May 10:42:19 CEST 2021)\c-";
|
||||
SWWM_SHORTVER="\cw0.9.11b-pre r498 \cu(2021-05-21 10:42:19)\c-";
|
||||
|
|
|
|||
|
|
@ -5,13 +5,13 @@ vec4 ProcessTexel()
|
|||
vec2 size = textureSize(tex,0);
|
||||
vec2 pxsize = vec2(1./size.x,1./size.y);
|
||||
vec2 pos = vTexCoord.st;
|
||||
float a = fract(pos.x*size.x);
|
||||
float b = fract(pos.y*size.y);
|
||||
vec2 f = fract(pos*size);
|
||||
pos += (.5-f)*pxsize;
|
||||
vec4 p0q0 = texture(tex,pos);
|
||||
vec4 p1q0 = texture(tex,pos+vec2(pxsize.x,0));
|
||||
vec4 p0q1 = texture(tex,pos+vec2(0,pxsize.y));
|
||||
vec4 p1q1 = texture(tex,pos+vec2(pxsize.x,pxsize.y));
|
||||
vec4 pInterp_q0 = mix(p0q0,p1q0,a);
|
||||
vec4 pInterp_q1 = mix(p0q1,p1q1,a);
|
||||
return mix(pInterp_q0,pInterp_q1,b);
|
||||
vec4 pInterp_q0 = mix(p0q0,p1q0,f.x);
|
||||
vec4 pInterp_q1 = mix(p0q1,p1q1,f.x);
|
||||
return mix(pInterp_q0,pInterp_q1,f.y);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,11 +14,12 @@ Class SMW05Ammo : Ammo
|
|||
Inventory.Icon "graphics/HUD/Icons/A_SMW05Ammo.png";
|
||||
Inventory.Amount 1;
|
||||
Inventory.MaxAmount 60;
|
||||
Ammo.BackpackAmount 6;
|
||||
Ammo.BackpackAmount 3;
|
||||
Ammo.BackpackMaxAmount 150;
|
||||
Ammo.DropAmount 3;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Accuracy 20;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -93,9 +94,10 @@ Class SheenAmmo : Ammo
|
|||
Inventory.MaxAmount 600;
|
||||
Ammo.BackpackAmount 50;
|
||||
Ammo.BackpackMaxAmount 1200;
|
||||
Ammo.DropAmount 20;
|
||||
Ammo.DropAmount 10;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Accuracy 35;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -148,6 +150,7 @@ Class QuadravolAmmo : Ammo
|
|||
Ammo.DropAmount 1;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Accuracy 45;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
@ -204,6 +207,7 @@ Class DarkCanister : Ammo
|
|||
Ammo.DropAmount 1;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Accuracy 60;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
@ -237,6 +241,7 @@ Class EMPCore : Ammo
|
|||
Ammo.DropAmount 1;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Accuracy 80;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
@ -336,6 +341,7 @@ Class RayAmmo : Ammo
|
|||
Ammo.DropAmount 1;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Accuracy 90;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
@ -371,6 +377,7 @@ Class RayBattery : Ammo
|
|||
+INVENTORY.IGNORESKILL;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Accuracy 90;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -556,12 +556,11 @@ extend Class SWWMHandler
|
|||
return;
|
||||
}
|
||||
// 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> blackpool[] = {"BlackShell","BlackShell2"};
|
||||
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'};
|
||||
// DRLA Monsters stuff
|
||||
if ( hasdrlamonsters )
|
||||
{
|
||||
|
|
@ -651,74 +650,72 @@ extend Class SWWMHandler
|
|||
else if ( (e.Replacee is 'ShellBox') || (e.Replacee is 'CrossbowHefty') )
|
||||
{
|
||||
/*if ( Random[Replacements](0,1) ) e.Replacement = Random[Replacements](0,2)?'SMW05SmallAmmo':'SMW05BigAmmo';
|
||||
else */switch( Random[Replacements](0,14) )
|
||||
else */switch( Random[Replacements](0,20) )
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
e.Replacement = redpool[Random[Replacements](1,2)];
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
e.Replacement = greenpool[Random[Replacements](1,2)];
|
||||
e.Replacement = redpool[Random[Replacements](1,2)];
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
e.Replacement = whitepool[Random[Replacements](0,1)];
|
||||
break;
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
e.Replacement = purplepool[Random[Replacements](0,2)];
|
||||
e.Replacement = greenpool[Random[Replacements](1,2)];
|
||||
break;
|
||||
case 11:
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
e.Replacement = purplepool[Random[Replacements](0,2)];
|
||||
break;
|
||||
case 15:
|
||||
case 16:
|
||||
case 17:
|
||||
e.Replacement = bluepool[Random[Replacements](0,2)];
|
||||
break;
|
||||
case 14:
|
||||
e.Replacement = blackpool[Random[Replacements](0,1)];
|
||||
case 18:
|
||||
case 19:
|
||||
e.Replacement = whitepool[Random[Replacements](0,1)];
|
||||
break;
|
||||
case 20:
|
||||
e.Replacement = 'BlackShell';
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if ( (e.Replacee is 'Shell') || (e.Replacee is 'CrossbowAmmo') )
|
||||
{
|
||||
/*if ( Random[Replacements](0,1) ) e.Replacement = Random[Replacements](0,2)?'SMW05SmallAmmo':'SMW05BundleSpawn';
|
||||
else */switch( Random[Replacements](0,13) )
|
||||
else */switch( Random[Replacements](0,9) )
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
e.Replacement = redpool[Random[Replacements](0,1)];
|
||||
break;
|
||||
case 3:
|
||||
e.Replacement = redpool[0];
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
e.Replacement = greenpool[Random[Replacements](0,1)];
|
||||
break;
|
||||
case 6:
|
||||
e.Replacement = greenpool[0];
|
||||
break;
|
||||
case 7:
|
||||
e.Replacement = whitepool[0];
|
||||
break;
|
||||
case 8:
|
||||
e.Replacement = purplepool[0];
|
||||
break;
|
||||
case 9:
|
||||
case 10:
|
||||
e.Replacement = purplepool[Random[Replacements](0,1)];
|
||||
break;
|
||||
case 11:
|
||||
case 12:
|
||||
e.Replacement = bluepool[Random[Replacements](0,1)];
|
||||
break;
|
||||
case 13:
|
||||
e.Replacement = blackpool[0];
|
||||
e.Replacement = bluepool[0];
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if ( e.Replacee is 'ClipBox' )
|
||||
{
|
||||
/*if ( Random[Replacements](0,1) ) e.Replacement = Random[Replacements](0,2)?'SheenSmallAmmo':'SheenBigAmmo';
|
||||
else */e.Replacement = Random[Replacements](0,4)?'EvisceratorShell':Random[Replacements](0,6)?'EvisceratorTrioSpawn':'EvisceratorSixPack';
|
||||
else */e.Replacement = Random[Replacements](0,5)?'EvisceratorShell':Random[Replacements](0,9)?'EvisceratorTrioSpawn':'EvisceratorSixPack';
|
||||
}
|
||||
else if ( (e.Replacee is 'Clip') || (e.Replacee is 'GoldWandAmmo') ) e.Replacement = /*(e.Replacee is 'GoldWandHefty')?'SheenSmallAmmo':'SheenTinyAmmo'*/'SWWMNothing';
|
||||
else if ( e.Replacee is 'BlasterHefty' )
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ Class RedShell : Ammo
|
|||
FloatBobStrength 0.25;
|
||||
Radius 4;
|
||||
Height 20;
|
||||
Accuracy 30;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -69,6 +70,7 @@ Class GreenShell : Ammo
|
|||
FloatBobStrength 0.25;
|
||||
Radius 4;
|
||||
Height 20;
|
||||
Accuracy 35;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -108,12 +110,13 @@ Class WhiteShell : Ammo
|
|||
Inventory.Icon "graphics/HUD/Icons/A_ShellsDragon.png";
|
||||
Inventory.Amount 1;
|
||||
Inventory.MaxAmount 10;
|
||||
Ammo.BackpackAmount 1;
|
||||
Ammo.BackpackAmount 0;
|
||||
Ammo.BackpackMaxAmount 30;
|
||||
Ammo.DropAmount 1;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Radius 4;
|
||||
Accuracy 50;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -155,11 +158,12 @@ Class BlueShell : Ammo
|
|||
Inventory.MaxAmount 15;
|
||||
Ammo.BackpackAmount 1;
|
||||
Ammo.BackpackMaxAmount 40;
|
||||
Ammo.DropAmount 2;
|
||||
Ammo.DropAmount 1;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Radius 4;
|
||||
Height 20;
|
||||
Accuracy 45;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -206,6 +210,7 @@ Class BlackShell : Ammo
|
|||
FloatBobStrength 0.25;
|
||||
Radius 4;
|
||||
Height 20;
|
||||
Accuracy 60;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -245,13 +250,14 @@ Class PurpleShell : Ammo
|
|||
Inventory.Icon "graphics/HUD/Icons/A_ShellsBall.png";
|
||||
Inventory.Amount 1;
|
||||
Inventory.MaxAmount 20;
|
||||
Ammo.BackpackAmount 2;
|
||||
Ammo.BackpackAmount 1;
|
||||
Ammo.BackpackMaxAmount 60;
|
||||
Ammo.DropAmount 1;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Radius 4;
|
||||
Height 20;
|
||||
Accuracy 40;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -382,13 +388,14 @@ Class EvisceratorShell : Ammo
|
|||
Inventory.Icon "graphics/HUD/Icons/A_Eviscerator.png";
|
||||
Inventory.Amount 1;
|
||||
Inventory.MaxAmount 20;
|
||||
Ammo.BackpackAmount 3;
|
||||
Ammo.BackpackAmount 2;
|
||||
Ammo.BackpackMaxAmount 60;
|
||||
Ammo.DropAmount 1;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Radius 8;
|
||||
Height 22;
|
||||
Accuracy 40;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
@ -455,13 +462,14 @@ Class HellblazerMissiles : Ammo
|
|||
Inventory.Icon "graphics/HUD/Icons/A_HellblazerMissile.png";
|
||||
Inventory.Amount 1;
|
||||
Inventory.MaxAmount 24;
|
||||
Ammo.BackpackAmount 3;
|
||||
Ammo.BackpackAmount 1;
|
||||
Ammo.BackpackMaxAmount 48;
|
||||
Ammo.DropAmount 1;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Radius 6;
|
||||
Height 22;
|
||||
Accuracy 60;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
@ -522,13 +530,14 @@ Class HellblazerCrackshots : Ammo
|
|||
Inventory.Icon "graphics/HUD/Icons/A_HellblazerCrackshot.png";
|
||||
Inventory.Amount 1;
|
||||
Inventory.MaxAmount 15;
|
||||
Ammo.BackpackAmount 2;
|
||||
Ammo.BackpackAmount 1;
|
||||
Ammo.BackpackMaxAmount 30;
|
||||
Ammo.DropAmount 1;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Radius 6;
|
||||
Height 22;
|
||||
Accuracy 70;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
@ -568,13 +577,14 @@ Class HellblazerRavagers : Ammo
|
|||
Inventory.Icon "graphics/HUD/Icons/A_HellblazerRavager.png";
|
||||
Inventory.Amount 1;
|
||||
Inventory.MaxAmount 9;
|
||||
Ammo.BackpackAmount 1;
|
||||
Ammo.BackpackAmount 0;
|
||||
Ammo.BackpackMaxAmount 18;
|
||||
Ammo.DropAmount 1;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
Radius 6;
|
||||
Height 22;
|
||||
Accuracy 80;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
@ -621,6 +631,7 @@ Class HellblazerWarheads : Ammo
|
|||
FloatBobStrength 0.25;
|
||||
Radius 6;
|
||||
Height 22;
|
||||
Accuracy 90;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
@ -671,6 +682,7 @@ Class SparkUnit : Ammo
|
|||
FloatBobStrength 0.25;
|
||||
Radius 6;
|
||||
Height 22;
|
||||
Accuracy 50;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
@ -710,6 +722,7 @@ Class SilverBulletAmmo : Ammo
|
|||
FloatBobStrength 0.25;
|
||||
Radius 10;
|
||||
Height 26;
|
||||
Accuracy 60;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
@ -756,6 +769,7 @@ Class SilverBulletAmmo2 : Ammo
|
|||
FloatBobStrength 0.25;
|
||||
Radius 10;
|
||||
Height 26;
|
||||
Accuracy 70;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
@ -896,6 +910,7 @@ Class CandyGunAmmo : Ammo
|
|||
FloatBobStrength 0.25;
|
||||
Radius 6;
|
||||
Height 24;
|
||||
Accuracy 80;
|
||||
}
|
||||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@ Mixin Class SWWMAmmo
|
|||
{
|
||||
if ( swwm_enemydrops >= 0 )
|
||||
{
|
||||
// random chance to not drop
|
||||
if ( Random[DropChance](1,100) <= Accuracy ) return true;
|
||||
if ( Amount == default.Amount ) return false;
|
||||
// subdivide
|
||||
Owner = dropper; // needed for positioning to work
|
||||
|
|
@ -255,6 +257,8 @@ Class MagAmmo : Inventory abstract
|
|||
{
|
||||
if ( swwm_enemydrops >= 0 )
|
||||
{
|
||||
// random chance to not drop
|
||||
if ( Random[DropChance](1,100) <= Accuracy ) return true;
|
||||
if ( Amount == default.Amount ) return false;
|
||||
// subdivide
|
||||
Owner = dropper; // needed for positioning to work
|
||||
|
|
@ -372,6 +376,6 @@ Mixin Class SWWMShellAmmo
|
|||
override void ModifyDropAmount( int dropamount )
|
||||
{
|
||||
Super.ModifyDropAmount(dropamount);
|
||||
Amount = max(1,Amount+Random[ShellDrop](-2,1));
|
||||
Amount = Random[ShellDrop](1,clamp(dropamount,1,4));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,6 +108,7 @@ Class Hellblazer : SWWMWeapon
|
|||
|
||||
override void RenderUnderlay( RenderEvent e )
|
||||
{
|
||||
Super.RenderUnderlay(e);
|
||||
static const Class<Ammo> types[] = {"HellblazerMissiles","HellblazerCrackshots","HellblazerRavagers","HellblazerWarheads"};
|
||||
if ( !LockIcon[0] )
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue