From df8568642e8ebd5ed79ca684774b343ca12089c4 Mon Sep 17 00:00:00 2001 From: toasterbabe <rollerorbital@gmail.com> Date: Sun, 17 Jul 2016 16:34:07 +0100 Subject: [PATCH] Dashmode users can break spinbust blocks when dashing, twinspin users can break both spinbust and Knuckles-only blocks when twinspinning. --- src/p_user.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/p_user.c b/src/p_user.c index a395aa7cd3..312465d753 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -1717,16 +1717,25 @@ static void P_CheckBustableBlocks(player_t *player) continue; // if it's not an FF_SHATTER, you must be spinning (and not jumping) - // or have Knuckles's abilities (or Super Sonic) - // ...or are drilling in NiGHTS (or Metal Sonic) + // or be super + // or have CA_GLIDEANDCLIMB + // or be in dashmode with CA_DASHMODE + // or be using CA_TWINSPIN + // or are drilling in NiGHTS + // or are recording for Metal Sonic if (!(rover->flags & FF_SHATTER) && !(rover->flags & FF_SPINBUST) && !((player->pflags & PF_SPINNING) && !(player->pflags & PF_JUMPED)) - && (player->charability != CA_GLIDEANDCLIMB && !player->powers[pw_super]) - && !(player->pflags & PF_DRILLING) && !metalrecording) + && !(player->powers[pw_super]) + && !(player->charability == CA_GLIDEANDCLIMB) + && !((player->charability == CA_DASHMODE) && (player->dashmode >= 3*TICRATE)) + && !((player->charability == CA_TWINSPIN) && (player->panim == PA_ABILITY)) + && !(player->pflags & PF_DRILLING) + && !metalrecording) continue; - // Only Knuckles can break this rock... - if (!(rover->flags & FF_SHATTER) && (rover->flags & FF_ONLYKNUX) && !(player->charability == CA_GLIDEANDCLIMB)) + // Only CA_GLIDEANDCLIMB or CA_TWINSPIN users can break this rock... + if (!(rover->flags & FF_SHATTER) && (rover->flags & FF_ONLYKNUX) + && !(player->charability == CA_GLIDEANDCLIMB || ((player->charability == CA_TWINSPIN) && (player->panim == PA_ABILITY)))) continue; // Height checks -- GitLab