Gore finetuning.

This commit is contained in:
Mari the Deer 2021-07-20 12:08:22 +02:00
commit 810b92b5e4
3 changed files with 26 additions and 15 deletions

View file

@ -105,7 +105,7 @@ shock,30,yes,any
slayer,40,yes,any
slemg,100,yes,any
sneeze,20,yes,any
step,60,yes,any
step,30,yes,any
stomp,50,yes,any
sunny,15,yes,any
tele,0,no,any

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r575 \cu(Tue 13 Jul 17:04:42 CEST 2021)\c-";
SWWM_SHORTVER="\cw0.9.11b-pre r575 \cu(2021-07-13 17:04:42)\c-";
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r576 \cu(Tue 20 Jul 12:08:22 CEST 2021)\c-";
SWWM_SHORTVER="\cw0.9.11b-pre r576 \cu(2021-07-20 12:08:22)\c-";

View file

@ -96,7 +96,7 @@ Class mkBloodSpray : Actor
SetOrigin(level.Vec3Offset(target.pos,setofs),false);
int sz = max(1,args[0]/2);
double ang, pt;
int cnt = sz-Random[Blood](0,2);
int cnt = sz-Random[Blood](0,4);
for ( int i=0; i<cnt; i++ )
{
let d = Spawn("mkBloodDrop",pos);
@ -109,8 +109,8 @@ Class mkBloodSpray : Actor
d.scale *= str*.15*FRandom[Blood](.6,1.4);
}
bool flying = IsTargetFlying();
if ( flying ) str *= 1.-(.1/sz);
else str *= 1.-(.3/sz);
if ( flying ) str *= 1.-(.15/sz);
else str *= 1.-(.4/sz);
if ( (str <= .05) || ((cnt-- <= 0) && !flying) ) Destroy();
}
}
@ -377,6 +377,7 @@ Class mkBloodSmoke : Actor
if ( waterlevel > 0 ) A_FadeOut();
A_FadeOut(.03);
A_SetScale(scale.x*1.02);
vel *= .98;
if ( tics > 0 ) tics--;
while ( !tics )
{
@ -419,13 +420,13 @@ Class mkFlyingGib : Actor
double ang = FRandom[Gibs](0,360);
double pt = FRandom[Gibs](-60,20);
Vector3 dir = (cos(pt)*cos(ang),cos(pt)*sin(ang),sin(-pt));
vel += dir*FRandom[Gibs](5.,20.);
vel += dir*FRandom[Gibs](5.,15.);
if ( master )
{
vel += master.vel*1.5;
CopyBloodColor(master);
}
rollvel = FRandom[Gibs](10,50)*RandomPick[Gibs](-1,1);
rollvel = FRandom[Gibs](10,50)*RandomPick[Gibs](-1,1)*clamp(vel.length()/10.,.25,4.);
scale *= FRandom[Gibs](.5,1.5);
if ( master && master.bloodcolor ) shadecol = Color(master.bloodcolor.r/2,master.bloodcolor.g/2,master.bloodcolor.b/2);
else shadecol = Color(80,0,0);
@ -458,7 +459,7 @@ Class mkFlyingGib : Actor
vel.xy *= .98;
return;
}
if ( bleeding && !Random[Blood](0,3) )
if ( bleeding && !Random[Blood](0,2) )
{
let s = Spawn("mkBloodSmoke",pos);
s.SetShade(shadecol);
@ -473,12 +474,14 @@ Class mkFlyingGib : Actor
action void A_Bleed()
{
invoker.rollvel = FRandom[Gibs](10,50)*RandomPick[Gibs](-1,1)*clamp(vel.length()/10.,.25,4.);
if ( invoker.lastbleed > level.maptime ) return;
invoker.lastbleed = level.maptime+5;
double ang;
double pt;
Vector3 dir;
if ( invoker.lastbleed > level.maptime ) return;
invoker.lastbleed = level.maptime+5;
for ( int i=0; i<4; i++ )
int numpt = Random[Blood](2,4);
for ( int i=0; i<numpt; i++ )
{
let b = Spawn("mkBloodDrop",pos);
ang = FRandom[Gibs](0,360);
@ -499,7 +502,7 @@ Class mkFlyingGib : Actor
Scale .65;
Gravity .5;
BounceType "Doom";
BounceFactor .6;
BounceFactor .2;
+MISSILE;
+DROPOFF;
+NOBLOCKMAP;
@ -531,7 +534,9 @@ Class mkFlyingGib : Actor
SGIB # -1
{
A_StartSound("misc/gibhit",CHAN_BODY,CHANF_OVERLAP);
roll = RandomPick[Gibs](0,180)+Random[Gibs](-5,5);
pitch = Random[Gibs](-5,5);
if ( abs(roll) < abs(180-roll) ) roll = Random[Gibs](-5,5);
else roll = Random[Gibs](175,185);
A_Stop();
}
Stop;
@ -552,9 +557,14 @@ Class mkGibber : Actor
double ang, pt;
Vector3 dir;
bool dummy;
for ( int i=0; i<gibsize; i++ )
for ( int i=0; i<2*gibsize; i++ )
{
a = Spawn("mkBloodSmoke2",pos+(FRandom[Gibs](-.8,.8)*radius,FRandom[Gibs](-.8,.8)*radius,FRandom[Gibs](0.,.9)*height));
ang = FRandom[Gibs](0,360);
pt = FRandom[Gibs](-90,90);
dir = (cos(pt)*cos(ang),cos(pt)*sin(ang),sin(-pt));
a.vel = dir*FRandom[Gibs](.2,.8);
a.vel += vel*.02;
a.SetShade(shadecol);
}
for ( int i=0; i<gibsize; i++ )
@ -572,6 +582,7 @@ Class mkGibber : Actor
pt = FRandom[Gibs](-90,90);
dir = (cos(pt)*cos(ang),cos(pt)*sin(ang),sin(-pt));
a.vel = dir*FRandom[Gibs](8.,24.);
a.vel += vel*.1;
a.scale *= 2.+FRandom[Gibs](.3,1.6);
a.SetShade(shadecol);
a.CopyBloodColor(self);