RunImmovableBody2 = function (blockedState)
{
    if (blockedState === 2)
    {
        //  But Body1 cannot go anywhere either, so we cancel out velocity
        //  Separation happened in the block check
        body1.velocity.x = 0;
    }
    else if (body2OnLeft)
    {
        body1.processX(overlap, body1FullImpact, true);
    }
    else
    {
        body1.processX(-overlap, body1FullImpact, false, true);
    }

    //  This is special case code that handles things like vertically moving platforms you can ride
    if (body2.moves)
    {
        var body2Distance = body2.directControl ? (body2.y - body2.autoFrame.y) : (body2.y - body2.prev.y);

        body1.y += body2Distance * body2.friction.y;
        body1._dy = body1.y - body1.prev.y;
    }
}
This function is run when Body2 is Immovable and Body1 is not.

@function Phaser.Physics.Arcade.ProcessX.RunImmovableBody2
@ignore
@since 3.50.0

@param {number} blockedState - The block state value.