Remove sector damage stumble AND terrain damage stumble from damage system

This commit is contained in:
Antonio Martinez 2025-09-22 17:11:14 -04:00
parent 867dfb49f2
commit 55b333e01f
2 changed files with 12 additions and 3 deletions

View file

@ -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)

View file

@ -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);
}