diff --git a/src/k_kart.c b/src/k_kart.c index 90b4837b..a5882624 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -1866,6 +1866,10 @@ void K_SpinPlayer(player_t *player, mobj_t *source, INT32 type, boolean trapitem //player->kartstuff[k_sneakertimer] = 0; player->kartstuff[k_driftboost] = 0; + player->kartstuff[k_drift] = 0; + player->kartstuff[k_driftcharge] = 0; + player->kartstuff[k_pogospring] = 0; + if (G_BattleGametype()) { if (source && source->player && player != source->player) @@ -1957,6 +1961,10 @@ void K_SquishPlayer(player_t *player, mobj_t *source) player->kartstuff[k_sneakertimer] = 0; player->kartstuff[k_driftboost] = 0; + player->kartstuff[k_drift] = 0; + player->kartstuff[k_driftcharge] = 0; + player->kartstuff[k_pogospring] = 0; + if (G_BattleGametype()) { if (source && source->player && player != source->player) @@ -2046,6 +2054,10 @@ void K_ExplodePlayer(player_t *player, mobj_t *source, mobj_t *inflictor) // A b player->kartstuff[k_sneakertimer] = 0; player->kartstuff[k_driftboost] = 0; + player->kartstuff[k_drift] = 0; + player->kartstuff[k_driftcharge] = 0; + player->kartstuff[k_pogospring] = 0; + // This is the only part that SHOULDN'T combo :VVVVV if (G_BattleGametype() && !(player->powers[pw_flashing] > 0 || player->kartstuff[k_squishedtimer] > 0 || player->kartstuff[k_spinouttimer] > 0)) { @@ -3151,7 +3163,8 @@ static void K_DoShrink(player_t *user) //P_FlashPal(&players[i], PAL_NUKE, 10); if (!players[i].kartstuff[k_invincibilitytimer] // Don't hit while invulnerable! - && players[i].kartstuff[k_growshrinktimer] <= 0) + && players[i].kartstuff[k_growshrinktimer] <= 0 + && !players[i].kartstuff[k_hyudorotimer]) { // Start shrinking! players[i].mo->scalespeed = mapheaderinfo[gamemap-1]->mobj_scale/TICRATE; @@ -3159,6 +3172,9 @@ static void K_DoShrink(player_t *user) if (cv_kartdebugshrink.value && !modeattacking && !players[i].bot) players[i].mo->destscale = 6*players[i].mo->destscale/8; + if (!players[i].powers[pw_flashing] && !players[i].kartstuff[k_squishedtimer] && !players[i].kartstuff[k_spinouttimer]) + P_PlayerRingBurst(&players[i], 5); + // Wipeout K_DropItems(&players[i]); K_SpinPlayer(&players[i], user->mo, 1, false); @@ -3168,7 +3184,6 @@ static void K_DoShrink(player_t *user) P_ForceFeed(&players[i], 40, 10, TICRATE, 40 + min((players[i].mo->health-1), 100)*2); P_PlayRinglossSound(players[i].mo); // Ringledingle! - P_PlayerRingBurst(&players[i], 5); players[i].mo->momx = players[i].mo->momy = 0; if (P_IsLocalPlayer(&players[i])) { @@ -3176,8 +3191,14 @@ static void K_DoShrink(player_t *user) quake.time = 5; } - players[i].kartstuff[k_growshrinktimer] -= (200+(40*(MAXPLAYERS-players[i].kartstuff[k_position]))); players[i].kartstuff[k_sneakertimer] = 0; + players[i].kartstuff[k_driftboost] = 0; + + players[i].kartstuff[k_drift] = 0; + players[i].kartstuff[k_driftcharge] = 0; + players[i].kartstuff[k_pogospring] = 0; + + players[i].kartstuff[k_growshrinktimer] -= (200+(40*(MAXPLAYERS-players[i].kartstuff[k_position]))); } // Grow should get taken away. diff --git a/src/p_map.c b/src/p_map.c index aec6a036..ce1c45e1 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -3855,16 +3855,9 @@ void P_BouncePlayerMove(mobj_t *mo) mmomx = mo->player->rmomx; mmomy = mo->player->rmomy; - if (mo->player->kartstuff[k_drift] != 0) // SRB2kart - { - mo->player->kartstuff[k_drift] = 0; - mo->player->kartstuff[k_driftcharge] = 0; - } - else - { - mmomx = mo->momx; - mmomy = mo->momy; - } + mo->player->kartstuff[k_drift] = 0; + mo->player->kartstuff[k_driftcharge] = 0; + mo->player->kartstuff[k_pogospring] = 0; // trace along the three leading corners if (mo->momx > 0) @@ -3919,7 +3912,6 @@ void P_BouncePlayerMove(mobj_t *mo) S_StartSound(mo, sfx_s3k49); } - mo->player->kartstuff[k_pogospring] = 0; // Cancel pogo spring effect so you aren't shoved forward back into the wall you just bounced off P_PlayerHitBounceLine(bestslideline); mo->eflags |= MFE_JUSTBOUNCEDWALL; diff --git a/src/p_spec.c b/src/p_spec.c index ce58948d..7a8f0205 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -3868,6 +3868,9 @@ DoneSection2: }*/ player->kartstuff[k_dashpadcooldown] = TICRATE/3; + player->kartstuff[k_drift] = 0; + player->kartstuff[k_driftcharge] = 0; + player->kartstuff[k_pogospring] = 0; S_StartSound(player->mo, sfx_spdpad); { @@ -4027,7 +4030,7 @@ DoneSection2: } break; - case 7: // SRB2kart 190117 - Oil Slick + case 7: // SRB2kart 190117 - Oil Slick (deprecated) if (roversector || P_MobjReadyToTrigger(player->mo, sector)) { K_SpinPlayer(player, NULL, 0, false);