diff --git a/src/gamedata/g_mapinfo.h b/src/gamedata/g_mapinfo.h index 560085c73..9f7472854 100644 --- a/src/gamedata/g_mapinfo.h +++ b/src/gamedata/g_mapinfo.h @@ -259,6 +259,7 @@ enum ELevelFlags : unsigned int LEVEL3_E4M6SPECIAL = 0x00008000, LEVEL3_NOSHADOWMAP = 0x00010000, // disables shadowmaps for a given level. LEVEL3_AVOIDMELEE = 0x00020000, // global flag needed for proper MBF support. + LEVEL3_NOJUMPDOWN = 0x00040000, // only for MBF21. Inverse of MBF's dog_jumping flag. }; diff --git a/src/playsim/p_enemy.cpp b/src/playsim/p_enemy.cpp index 528e2b37d..baa97f83c 100644 --- a/src/playsim/p_enemy.cpp +++ b/src/playsim/p_enemy.cpp @@ -456,7 +456,7 @@ int P_Move (AActor *actor) // and only if the target is immediately on the other side of the line. AActor *target = actor->target; - if ((actor->flags6 & MF6_JUMPDOWN) && target && + if ((actor->flags6 & MF6_JUMPDOWN) && target && !(actor->Level->flags3 & LEVEL3_NOJUMPDOWN) && !(target->IsFriend(actor)) && actor->Distance2D(target) < 144 && pr_dropoff() < 235)