diff --git a/src/game/interaction.c b/src/game/interaction.c index 125cf5b5..b134c453 100644 --- a/src/game/interaction.c +++ b/src/game/interaction.c @@ -2030,11 +2030,17 @@ void mario_process_interactions(struct MarioState *m) { void check_death_barrier(struct MarioState *m) { if (m->pos[1] < m->floorHeight + 2048.0f) { - if (gCurrCourseNum != COURSE_TOTWC) { - m->pos[1] = m->floorHeight + 2048.0f; - if (m->vel[1] < 0) { m->vel[1] = 0; } - mario_set_bubbled(m); - return; + switch (gCurrCourseNum) { + case COURSE_COTMC: // (20) Cavern of the Metal Cap + case COURSE_TOTWC: // (21) Tower of the Wing Cap + case COURSE_VCUTM: // (22) Vanish Cap Under the Moat + case COURSE_WMOTR: // (23) Winged Mario over the Rainbow + break; + default: + m->pos[1] = m->floorHeight + 2048.0f; + if (m->vel[1] < 0) { m->vel[1] = 0; } + mario_set_bubbled(m); + return; } if (level_trigger_warp(m, WARP_OP_WARP_FLOOR) == 20 && !(m->flags & MARIO_UNKNOWN_18)) { play_sound(SOUND_MARIO_WAAAOOOW, m->marioObj->header.gfx.cameraToObject);