diff --git a/src/k_collide.c b/src/k_collide.c index bd0ae4ae6..85931ba75 100644 --- a/src/k_collide.c +++ b/src/k_collide.c @@ -546,7 +546,7 @@ boolean K_BubbleShieldReflect(mobj_t *t1, mobj_t *t2) { mobj_t *owner = t1->player ? t1 : t1->target; - if (t2->target != owner || !t2->threshold) + if (!t2->threshold) { if (!t2->momx && !t2->momy) { @@ -571,7 +571,7 @@ boolean K_BubbleShieldReflect(mobj_t *t1, mobj_t *t2) boolean K_BubbleShieldCanReflect(mobj_t *t1, mobj_t *t2) { - return (t2->type == MT_ORBINAUT || t2->type == MT_JAWZ + return (t2->type == MT_ORBINAUT || t2->type == MT_JAWZ || t2->type == MT_JAWZ_DUD || t2->type == MT_BANANA || t2->type == MT_EGGMANITEM || t2->type == MT_BALLHOG || t2->type == MT_SSMINE || t2->type == MT_LANDMINE || t2->type == MT_SINK || t2->type == MT_KART_LEFTOVER @@ -580,12 +580,6 @@ boolean K_BubbleShieldCanReflect(mobj_t *t1, mobj_t *t2) boolean K_BubbleShieldCollide(mobj_t *t1, mobj_t *t2) { - if (t1->type == MT_PLAYER) - return true; - - if (t1->target == t2) - return true; - if (t2->type == MT_PLAYER) { if (P_PlayerInPain(t2->player) diff --git a/src/k_hud.c b/src/k_hud.c index 9af9e7f80..fc81719bf 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -1226,6 +1226,7 @@ static void K_drawKartItem(void) flamebar = stplyr->flamestore; flamemaxl = FLAMESTOREMAX; localbg = kp_itembg[offset+1]; + dark = true; if ((stplyr->flamestore >= FLAMESTOREMAX-1) && (leveltime & 1)) { @@ -1270,6 +1271,7 @@ static void K_drawKartItem(void) else if (K_GetShieldFromPlayer(stplyr) == KSHIELD_BUBBLE) { localpatch = kp_bubbleshield[offset]; + dark = true; if ((stplyr->bubbleblowup > bubbletime) && (leveltime & 1)) { diff --git a/src/k_kart.c b/src/k_kart.c index 74833132d..c2e7e3230 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -11279,6 +11279,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground) K_PlayAttackTaunt(player->mo); player->bubbleblowup = 0; player->bubblecool = 0; + player->bubblepop = 0; player->itemflags &= ~IF_HOLDREADY; player->botvars.itemconfirm = 0; }