diff --git a/src/game/object_helpers.c b/src/game/object_helpers.c index 4627e61e..e1d9040d 100644 --- a/src/game/object_helpers.c +++ b/src/game/object_helpers.c @@ -1852,13 +1852,12 @@ void spawn_mist_particles_with_sound(u32 soundMagic) { } void cur_obj_push_mario_away(f32 radius) { - f32 marioRelX = gMarioObject->oPosX - o->oPosX; - f32 marioRelZ = gMarioObject->oPosZ - o->oPosZ; + f32 marioRelX = (gMarioObject->oPosX - o->oPosX); + f32 marioRelZ = (gMarioObject->oPosZ - o->oPosZ); f32 marioDist = (sqr(marioRelX) + sqr(marioRelZ)); - if (marioDist < sqr(radius)) { - //! If this function pushes Mario out of bounds, it will trigger Mario's - // oob failsafe + marioDist = sqrtf(marioDist); + //! If this function pushes Mario out of bounds, it will trigger Mario's oob failsafe gMarioStates[0].pos[0] += (radius - marioDist) / radius * marioRelX; gMarioStates[0].pos[2] += (radius - marioDist) / radius * marioRelZ; }