Fix Eviscerator chunks always ripping unconditionally.

This commit is contained in:
Mari the Deer 2021-01-15 23:03:25 +01:00
commit be56aed4e1
2 changed files with 10 additions and 1 deletions

View file

@ -1,2 +1,2 @@
[default]
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r755 \cu(Fri 15 Jan 18:16:13 CET 2021)";
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r756 \cu(Fri 15 Jan 23:03:25 CET 2021)";

View file

@ -277,6 +277,7 @@ Class EvisceratorChunk : Actor
if ( (HitNormal dot RealHitNormal) < 0 ) HitNormal *= -.5;
vel = FRandom[Eviscerator](.8,.95)*((vel dot HitNormal)*HitNormal*(FRandom[Eviscerator](-1.8,-1.))+vel);
bHITOWNER = true;
lasthit = null;
if ( (vel.length() > 20) && !Random[Eviscerator](0,2) )
{
let l = Spawn("ChunkImpact",pos);
@ -353,6 +354,14 @@ Class EvisceratorChunk : Actor
vel *= .65; // reduce velocity as it rips
return 1;
}
// HACK
if ( !victim.bNOBLOOD && !victim.bDORMANT && !victim.bINVULNERABLE ) ExplodeMissile(null,victim);
else
{
BlockingMobj = victim;
A_HandleBounce();
lasthit = victim;
}
return -1;
}
States