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

@ -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