diff --git a/src/objects/audience.c b/src/objects/audience.c index fbb5502e2..61ec927af 100644 --- a/src/objects/audience.c +++ b/src/objects/audience.c @@ -132,14 +132,15 @@ Obj_AudienceInit } else { + fixed_t bobscale = mapobjectscale * 2; // The following is derived from the default bobamp if (mobj->type != MT_EMBLEM && !(mobj->flags & MF_NOGRAVITY) && followers[followerpick].bobamp < 4*FRACUNIT) { - audience_bobamp(mobj) = 4*mapobjectscale; + audience_bobamp(mobj) = 4*bobscale; } else { - audience_bobamp(mobj) = FixedMul(mapobjectscale, followers[followerpick].bobamp); + audience_bobamp(mobj) = FixedMul(bobscale, followers[followerpick].bobamp); } } diff --git a/src/p_mobj.c b/src/p_mobj.c index e759e34ff..ebff9ca18 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -518,6 +518,11 @@ boolean P_SetMobjState(mobj_t *mobj, statenum_t state) for (;(state = seenstate[i]) > S_NULL; i = state - 1) seenstate[i] = S_NULL; // erase memory of states + // Shadow automatically turns white on fullbright frames. + // For now, only applies to Follower Audience. + if (mobj->type == MT_RANDOMAUDIENCE) + mobj->whiteshadow = (mobj->frame & FF_FULLBRIGHT) != 0; + return true; } @@ -10694,6 +10699,10 @@ static void P_DefaultMobjShadowScale(mobj_t *thing) case MT_AIRIVOBALL: thing->shadowscale = FRACUNIT/2; break; + case MT_RANDOMAUDIENCE: + thing->shadowscale = FRACUNIT; + thing->whiteshadow = false; + break; default: if (thing->flags & (MF_ENEMY|MF_BOSS)) thing->shadowscale = FRACUNIT;