From 55b333e01f196c328e87052b886c05e7678c3625 Mon Sep 17 00:00:00 2001 From: Antonio Martinez Date: Mon, 22 Sep 2025 17:11:14 -0400 Subject: [PATCH] Remove sector damage stumble AND terrain damage stumble from damage system --- src/k_terrain.c | 13 +++++++++++-- src/p_spec.c | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/k_terrain.c b/src/k_terrain.c index d0f30abcb..4cd5194ba 100644 --- a/src/k_terrain.c +++ b/src/k_terrain.c @@ -501,7 +501,16 @@ void K_ProcessTerrainEffect(mobj_t *mo) if (terrain->damageType > 0) { UINT8 dmg = (terrain->damageType & 0xFF); - P_DamageMobj(mo, NULL, NULL, 1, dmg); + + if (dmg & DMG_STUMBLE) + { + if (player->mo->hitlag == 0 && (player->mo->momz >= 0) == (P_MobjFlip(player->mo) >= 0)) + K_StumblePlayer(player); + } + else + { + P_DamageMobj(mo, NULL, NULL, 1, dmg); + } } // Sneaker panel @@ -2011,7 +2020,7 @@ static boolean K_TERRAINLumpParser(char *data, size_t size) Z_Free(tkn); tkn = M_GetToken(NULL); pos = M_GetTokenPos(); - + if (tkn && pos <= size) { if (stricmp(tkn, "optional") == 0) diff --git a/src/p_spec.c b/src/p_spec.c index 0a5483a90..bb213c467 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -5421,7 +5421,7 @@ static void P_EvaluateDamageType(player_t *player, sector_t *sector, boolean isT P_DamageMobj(player->mo, NULL, NULL, 1, DMG_INSTAKILL); break; case SD_STUMBLE: - if (isTouching && !((player->mo->momz > 0) != (P_MobjFlip(player->mo) > 0))) + if (isTouching && player->mo->hitlag == 0 && (player->mo->momz >= 0) == (P_MobjFlip(player->mo) >= 0)) { K_StumblePlayer(player); }