diff --git a/src/k_kart.c b/src/k_kart.c index c5b7b1640..5a209ab1b 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -6508,7 +6508,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground) S_StartSound(player->mo, sfx_s3k75); player->kartstuff[k_bubbleblowup]++; player->kartstuff[k_bubblecool] = player->kartstuff[k_bubbleblowup]*3; - if (player->kartstuff[k_bubbleblowup] > bubbletime) + if (player->kartstuff[k_bubbleblowup] > bubbletime+10) { K_ThrowKartItem(player, (player->kartstuff[k_throwdir] > 0), MT_BUBBLESHIELDTRAP, -1, 0); K_PlayAttackTaunt(player->mo); diff --git a/src/p_mobj.c b/src/p_mobj.c index c0e5b76e2..267e55365 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -8439,6 +8439,8 @@ void P_MobjThinker(mobj_t *mobj) if (mobj->target->player->kartstuff[k_bubbleblowup]) { INT32 blow = mobj->target->player->kartstuff[k_bubbleblowup]; + if (blow > bubbletime) + blow = bubbletime; if (curstate != S_BUBBLESHIELDBLOWUP) P_SetMobjState(mobj, S_BUBBLESHIELDBLOWUP); @@ -8448,6 +8450,8 @@ void P_MobjThinker(mobj_t *mobj) scale += (blow * (3*scale)) / bubbletime; mobj->frame = (states[S_BUBBLESHIELDBLOWUP].frame + mobj->extravalue1); + if ((mobj->target->player->kartstuff[k_bubbleblowup] > bubbletime) && (leveltime & 1)) + mobj->frame = (states[S_BUBBLESHIELDBLOWUP].frame + 5); if (mobj->extravalue1 < 4 && mobj->extravalue2 < blow && !mobj->cvmem && (leveltime & 1)) // Growing {