Add MF_DONTPUNT

This commit is contained in:
James R 2023-11-13 00:54:35 -08:00
parent b81b932ba9
commit 74d1f1bfb7
4 changed files with 5 additions and 4 deletions

View file

@ -5618,7 +5618,7 @@ static INT16 Consistancy(void)
if (TypeIsNetSynced(mo->type) == false)
continue;
if (mo->flags & (MF_SPECIAL | MF_SOLID | MF_PUSHABLE | MF_BOSS | MF_MISSILE | MF_SPRING | MF_FIRE | MF_ENEMY | MF_PAIN))
if (mo->flags & (MF_SPECIAL | MF_SOLID | MF_PUSHABLE | MF_BOSS | MF_MISSILE | MF_SPRING | MF_FIRE | MF_ENEMY | MF_PAIN | MF_DONTPUNT))
{
ret -= mo->type;
ret += mo->x;

View file

@ -5993,7 +5993,7 @@ const char *const MOBJFLAG_LIST[] = {
"ENEMY",
"SCENERY",
"PAIN",
"\x01", // free: 1<<23 (name un-matchable)
"DONTPUNT",
"APPLYTERRAIN",
"NOCLIPTHING",
"GRENADEBOUNCE",

View file

@ -148,7 +148,8 @@ typedef enum
MF_SCENERY = 1<<21,
// Painful (shit hurts).
MF_PAIN = 1<<22,
// free: 1<<23
// Object cannot be punted by invincible players. (Default CAN be punted, if it deals damage or is solid.)
MF_DONTPUNT = 1<<23,
// Object uses terrain effects. (Overlays, footsteps, etc)
MF_APPLYTERRAIN = 1<<24,
// for chase camera, don't be blocked by things (partial clipping)

View file

@ -240,7 +240,7 @@ static boolean is_tangible (mobj_t *thing)
// These objects probably do nothing! :D
if ((thing->flags & (MF_SPECIAL|MF_SOLID|MF_SHOOTABLE
|MF_PUSHABLE|MF_BOSS|MF_MISSILE|MF_SPRING
|MF_ENEMY|MF_PAIN
|MF_ENEMY|MF_PAIN|MF_DONTPUNT
|MF_PICKUPFROMBELOW)) == 0U)
{
return false;