diff --git a/src/k_kart.c b/src/k_kart.c index 7308f048b..4d97353b0 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -1550,7 +1550,8 @@ void K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2, boolean bounce, boolean solid) mobj1->player->kartstuff[k_spinouttimer] = max(wipeoutslowtime+1, mobj1->player->kartstuff[k_spinouttimer]); //mobj1->player->kartstuff[k_spinouttype] = 1; // Enforce type } - else if (mobj2->player) // Player VS player bumping only + else if (mobj2->player // Player VS player bumping only + && (K_GetShieldFromItem(mobj1->player->kartstuff[k_itemtype]) == KITEM_NONE)) // Ignore for shields { if (mobj1->player->kartstuff[k_rings] <= 0) { @@ -1574,7 +1575,8 @@ void K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2, boolean bounce, boolean solid) mobj2->player->kartstuff[k_spinouttimer] = max(wipeoutslowtime+1, mobj2->player->kartstuff[k_spinouttimer]); //mobj2->player->kartstuff[k_spinouttype] = 1; // Enforce type } - else if (mobj1->player) // Player VS player bumping only + else if (mobj1->player // Player VS player bumping only + && (K_GetShieldFromItem(mobj2->player->kartstuff[k_itemtype]) == KITEM_NONE)) // Ignore for shields { if (mobj2->player->kartstuff[k_rings] <= 0) {