Skip to content

Commit

Permalink
- added a per-level AVOIDMELEE flag.
Browse files Browse the repository at this point in the history
This already existed as a per-actor flag, but for proper MBF support it needs to be settable on a per-map basis as well.
  • Loading branch information
coelckers committed Aug 21, 2021
1 parent 4614ce4 commit ff49799
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/gamedata/g_mapinfo.cpp
Expand Up @@ -1662,6 +1662,7 @@ MapFlagHandlers[] =
{ "enableshadowmap", MITYPE_CLRFLAG3, LEVEL3_NOSHADOWMAP, 0 },
{ "enableskyboxao", MITYPE_SETFLAG3, LEVEL3_SKYBOXAO, 0 },
{ "disableskyboxao", MITYPE_CLRFLAG3, LEVEL3_SKYBOXAO, 0 },
{ "avoidmelee", MITYPE_SETFLAG3, LEVEL3_AVOIDMELEE, 0 },
{ "nobotnodes", MITYPE_IGNORE, 0, 0 }, // Skulltag option: nobotnodes
{ "compat_shorttex", MITYPE_COMPATFLAG, COMPATF_SHORTTEX, 0 },
{ "compat_stairs", MITYPE_COMPATFLAG, COMPATF_STAIRINDEX, 0 },
Expand Down
1 change: 1 addition & 0 deletions src/gamedata/g_mapinfo.h
Expand Up @@ -258,6 +258,7 @@ enum ELevelFlags : unsigned int
LEVEL3_E4M8SPECIAL = 0x00004000,
LEVEL3_E4M6SPECIAL = 0x00008000,
LEVEL3_NOSHADOWMAP = 0x00010000, // disables shadowmaps for a given level.
LEVEL3_AVOIDMELEE = 0x00020000, // global flag needed for proper MBF support.
};


Expand Down
2 changes: 1 addition & 1 deletion src/playsim/p_enemy.cpp
Expand Up @@ -943,7 +943,7 @@ void P_NewChaseDir(AActor * actor)
if (target->health > 0 && !actor->IsFriend(target) && target != actor->goal)
{ // Live enemy target

if (actor->flags3 & MF3_AVOIDMELEE)
if ((actor->flags3 & MF3_AVOIDMELEE) || (actor->Level->flags3 & LEVEL3_AVOIDMELEE))
{
bool ismeleeattacker = false;
double dist = actor->Distance2D(target);
Expand Down

0 comments on commit ff49799

Please sign in to comment.