diff --git a/src/k_collide.cpp b/src/k_collide.cpp index 300db8f50..96aeecce6 100644 --- a/src/k_collide.cpp +++ b/src/k_collide.cpp @@ -811,10 +811,10 @@ boolean K_InstaWhipCollide(mobj_t *shield, mobj_t *victim) if (victim != attacker && !P_PlayerInPain(victimPlayer) && victimPlayer->flashing == 0) { // BLOW THAT SHIT THE FUCK UP with guard - if (K_PlayerGuard(victimPlayer)) - //if (true) + //if (K_PlayerGuard(victimPlayer)) + if (true) { - victimHitlag = 2*victimHitlag; + victimHitlag = 3*victimHitlag; if (P_PlayerInPain(attackerPlayer)) return false; // never punish shield more than once @@ -845,10 +845,12 @@ boolean K_InstaWhipCollide(mobj_t *shield, mobj_t *victim) S_StartSound(victim, sfx_mbv92); K_AddHitLag(attacker, victimHitlag, true); K_AddHitLag(victim, attackerHitlag, false); - shield->hitlag = attacker->hitlag; K_DoPowerClash(shield, victim); + attacker->hitlag = victimHitlag; // No, seriously, we do not care about K_AddHitLag's idea of a normal maximum + shield->hitlag = attacker->hitlag; + shield->extravalue2 = 1; return true; diff --git a/src/p_inter.c b/src/p_inter.c index 21dcd9779..cf8333dfb 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -2443,6 +2443,9 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da K_PlayPainSound(target, source); } + if (gametyperules & GTR_BUMPERS) + player->spheres = min(player->spheres + 5, 40); + if ((hardhit == true) || cv_kartdebughuddrop.value) { K_DropItems(player);