diff --git a/src/p_mobj.c b/src/p_mobj.c index fe0044634a48dcc558996e7a1abd902de668341a..fe45a799a7ede072d224a970dd141a155de1da24 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -7011,6 +7011,9 @@ void P_MobjThinker(mobj_t *mobj) if (mobj->flags & MF_NOTHINK) return; + if ((mobj->flags & MF_BOSS) && mobj->spawnpoint && !(mobj->spawnpoint->extrainfo & ~15) && (bossdisabled & (1<<mobj->spawnpoint->extrainfo))) + return; + // Remove dead target/tracer. if (mobj->target && P_MobjWasRemoved(mobj->target)) P_SetTarget(&mobj->target, NULL); @@ -7674,9 +7677,6 @@ void P_MobjThinker(mobj_t *mobj) } else if (mobj->flags & MF_BOSS) { - if (mobj->spawnpoint && (mobj->spawnpoint->extrainfo < 16) && (bossdisabled & (1<<mobj->spawnpoint->extrainfo))) - return; - #ifdef HAVE_BLUA if (LUAh_BossThinker(mobj)) {