BOUNCEONUNRIPPABLES flag; makes actors bounce on actors with DONTRIP flag

This commit is contained in:
Cacodemon345 2018-11-09 15:19:40 +06:00 committed by Christoph Oelckers
commit 07838f4c2a
3 changed files with 4 additions and 1 deletions

View file

@ -3642,7 +3642,8 @@ bool P_BounceActor(AActor *mo, AActor *BlockingMobj, bool ontop)
|| ((BlockingMobj->player == NULL) && (!(BlockingMobj->flags3 & MF3_ISMONSTER)))))
{
// Rippers should not bounce off shootable actors, since they rip through them.
if ((mo->flags & MF_MISSILE) && (mo->flags2 & MF2_RIP) && BlockingMobj->flags & MF_SHOOTABLE)
if ((mo->flags & MF_MISSILE) && (mo->flags2 & MF2_RIP) && BlockingMobj->flags & MF_SHOOTABLE
&& !(mo->BounceFlags & BOUNCE_BounceOnUnrips && BlockingMobj->flags5 & MF5_DONTRIP))
return true;
if (BlockingMobj->flags & MF_SHOOTABLE && mo->BounceFlags & BOUNCE_NotOnShootables)