Tweak Eviscerator spread and damage falloff.
This commit is contained in:
parent
d13da5eb9a
commit
f968c3de17
3 changed files with 12 additions and 11 deletions
|
|
@ -1,3 +1,3 @@
|
|||
[default]
|
||||
SWWM_MODVER="\chSWWM \czGZ\c- \cw1.1.23 r1 \cu(Mon 11 Oct 18:28:40 CEST 2021)\c-";
|
||||
SWWM_SHORTVER="\cw1.1.23 r1 \cu(2021-10-11 18:28:40)\c-";
|
||||
SWWM_MODVER="\chSWWM \czGZ\c- \cw1.1.24 \cu(Mon 11 Oct 18:29:23 CEST 2021)\c-";
|
||||
SWWM_SHORTVER="\cw1.1.24 \cu(2021-10-11 18:29:23)\c-";
|
||||
|
|
|
|||
|
|
@ -119,17 +119,17 @@ 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<20; i++ )
|
||||
for ( int i=0; i<25; i++ )
|
||||
{
|
||||
a = FRandom[Eviscerator](0,360);
|
||||
s = FRandom[Eviscerator](0,invoker.extended?.06:.3);
|
||||
s = FRandom[Eviscerator](0,invoker.extended?.03:.2);
|
||||
dir = (x2+y2*cos(a)*s+z2*sin(a)*s).unit();
|
||||
let p = EvisceratorChunk(Spawn("EvisceratorChunk",origin));
|
||||
p.target = self;
|
||||
p.angle = atan2(dir.y,dir.x);
|
||||
p.pitch = asin(-dir.z);
|
||||
p.vel = dir*p.speed*FRandom[Eviscerator](.9,1.1);
|
||||
if ( invoker.extended ) p.vel *= 1.4;
|
||||
if ( invoker.extended ) p.vel *= 1.5;
|
||||
if ( trail < 8 ) p.trailcolor = max(0,trail);
|
||||
else if ( trail == 8 ) p.trailcolor = (i%6)+2;
|
||||
else if ( trail == 9 )
|
||||
|
|
@ -195,7 +195,7 @@ Class Eviscerator : SWWMWeapon
|
|||
p.target = self;
|
||||
p.angle = atan2(dir.y,dir.x);
|
||||
p.pitch = asin(-dir.z);
|
||||
p.vel = dir*p.speed*(invoker.extended?1.6:.8);
|
||||
p.vel = dir*p.speed*(invoker.extended?1.75:.75);
|
||||
for ( int i=0; i<6; i++ )
|
||||
{
|
||||
let s = Spawn("SWWMSmoke",origin);
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ Class EvisceratorChunk : Actor
|
|||
Radius 2;
|
||||
Height 4;
|
||||
Speed 50;
|
||||
DamageFunction int(clamp((vel.length()-8)*.2+max(0,1.-lifetime)*2.,0,15));
|
||||
DamageFunction int(clamp((vel.length()-10)*.1,0,15)+(max(0,1-lifetime)**5)*10);
|
||||
DamageType 'shot';
|
||||
BounceFactor 1.0;
|
||||
WallBounceFactor 1.0;
|
||||
|
|
@ -175,7 +175,7 @@ Class EvisceratorChunk : Actor
|
|||
let t = Spawn("EvisceratorChunkGlow",pos);
|
||||
t.target = self;
|
||||
lifetime = 0;
|
||||
lifespeed = FRandom[Eviscerator](0.01,0.02);
|
||||
lifespeed = FRandom[Eviscerator](0.01,0.02)*clamp((vel.length()/75.)**2,1.,2.);
|
||||
anglevel = FRandom[Eviscerator](50,100)*RandomPick[Eviscerator](-1,1);
|
||||
pitchvel = FRandom[Eviscerator](50,100)*RandomPick[Eviscerator](-1,1);
|
||||
rollvel = FRandom[Eviscerator](50,100)*RandomPick[Eviscerator](-1,1);
|
||||
|
|
@ -281,7 +281,8 @@ Class EvisceratorChunk : Actor
|
|||
vel = oldvel;
|
||||
// re-do the bounce with our formula
|
||||
Vector3 RealHitNormal = HitNormal;
|
||||
HitNormal = (HitNormal+(FRandom[Eviscerator](-.1,.1),FRandom[Eviscerator](-.1,.1),FRandom[Eviscerator](-.1,.1))).unit();
|
||||
double dfact = clamp((oldvel.length()/75.)**2.,.02,.6);
|
||||
HitNormal = (HitNormal+(FRandom[Eviscerator](-dfact,dfact),FRandom[Eviscerator](-dfact,dfact),FRandom[Eviscerator](-dfact,dfact))).unit();
|
||||
if ( (HitNormal dot RealHitNormal) < 0 ) HitNormal *= -.5;
|
||||
vel = FRandom[Eviscerator](.8,.95)*((vel dot HitNormal)*HitNormal*(FRandom[Eviscerator](-1.8,-1.))+vel);
|
||||
bHITOWNER = true;
|
||||
|
|
@ -454,7 +455,7 @@ Class EvisceratorProj : Actor
|
|||
Radius 2;
|
||||
Height 4;
|
||||
Gravity 0.35;
|
||||
Speed 50;
|
||||
Speed 60;
|
||||
PROJECTILE;
|
||||
-NOGRAVITY;
|
||||
+EXPLODEONWATER;
|
||||
|
|
@ -504,7 +505,7 @@ Class EvisceratorProj : Actor
|
|||
}
|
||||
int trail = 0;
|
||||
if ( target && target.player ) trail = CVar.GetCVar('swwm_funtrails',target.player).GetInt();
|
||||
for ( int i=0; i<20; i++ )
|
||||
for ( int i=0; i<25; i++ )
|
||||
{
|
||||
p = EvisceratorChunk(Spawn("EvisceratorChunk",level.Vec3Offset(pos,spawnofs)));
|
||||
p.bHITOWNER = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue