diff --git a/src/k_collide.c b/src/k_collide.c index 482b67fa3..2a4fc73f4 100644 --- a/src/k_collide.c +++ b/src/k_collide.c @@ -492,12 +492,12 @@ boolean K_PvPTouchDamage(mobj_t *t1, mobj_t *t2) if (t1Condition == true && t2Condition == false) { - P_DamageMobj(t2, t1, t1, 1, DMG_TUMBLE|DMG_WOMBO); + P_DamageMobj(t2, t1, t1, 1, DMG_TUMBLE); return true; } else if (t1Condition == false && t2Condition == true) { - P_DamageMobj(t1, t2, t2, 1, DMG_TUMBLE|DMG_WOMBO); + P_DamageMobj(t1, t2, t2, 1, DMG_TUMBLE); return true; } @@ -507,12 +507,12 @@ boolean K_PvPTouchDamage(mobj_t *t1, mobj_t *t2) if (t1Condition == true && t2Condition == false) { - P_DamageMobj(t2, t1, t1, 1, DMG_TUMBLE|DMG_WOMBO); + P_DamageMobj(t2, t1, t1, 1, DMG_TUMBLE); return true; } else if (t1Condition == false && t2Condition == true) { - P_DamageMobj(t1, t2, t2, 1, DMG_TUMBLE|DMG_WOMBO); + P_DamageMobj(t1, t2, t2, 1, DMG_TUMBLE); return true; } diff --git a/src/p_inter.c b/src/p_inter.c index 890091ff6..cada5b83e 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -1931,9 +1931,13 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da // Check if we should allow wombo combos (hard hits by default, inverted by the presence of DMG_WOMBO). boolean allowcombo = (hardhit == !(damagetype & DMG_WOMBO)); - // NEVER allow DMG_TUMBLE stacking if you're moving upwards (relative to gravity). - if ((type == DMG_TUMBLE) && (P_MobjFlip(target)*target->momz > 0)) - allowcombo = false; + // Tumble is a special case. + if ((type == DMG_TUMBLE) + { + // don't allow constant combo + if (player->tumbleBounces == 1 && (P_MobjFlip(target)*target->momz > 0) + allowcombo = false; + } if ((target->hitlag == 0 || allowcombo == false) && player->flashing > 0) {