From a28f046eb9f4096f10cf609846318e1ef511e983 Mon Sep 17 00:00:00 2001 From: MysterD Date: Sat, 5 Feb 2022 10:25:20 -0800 Subject: [PATCH] Made players drop held obj when bouncing on each other --- src/game/interaction.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/game/interaction.c b/src/game/interaction.c index b51bb5c6..1eea2092 100644 --- a/src/game/interaction.c +++ b/src/game/interaction.c @@ -1257,15 +1257,19 @@ static u8 resolve_player_collision(struct MarioState* m, struct MarioState* m2) } f32 velY = fmax(fmin(50.0f, 10.0f + fabs(m->vel[1])), 30.0f); if (m2->action == ACT_CROUCHING) { + mario_stop_riding_and_holding(m); set_mario_action(m, ACT_TWIRLING, 0); velY = fmax(fmin(100.0f, 30.0f + fabs(m->vel[1])), 80.0f); } else if (m->action == ACT_JUMP) { + mario_stop_riding_and_holding(m); set_mario_action(m, ACT_DOUBLE_JUMP, 0); velY = fmax(fmin(55.0f, 15.0f + fabs(m->vel[1])), 35.0f); } else if (m->action == ACT_DOUBLE_JUMP) { + mario_stop_riding_and_holding(m); set_mario_action(m, (gSpecialTripleJump && m->playerIndex == 0) ? ACT_SPECIAL_TRIPLE_JUMP : ACT_TRIPLE_JUMP, 0); velY = fmax(fmin(60.0f, 20.0f + fabs(m->vel[1])), 40.0f); } else { + mario_stop_riding_and_holding(m); set_mario_action(m, ACT_JUMP, 0); velY = fmax(fmin(50.0f, 15.0f + fabs(m->vel[1])), 30.0f); }