Lightningcharge can punt, blocks

This commit is contained in:
Antonio Martinez 2025-09-26 17:26:09 -04:00
parent 7b4cf9a07c
commit fbe2f9fd56
2 changed files with 28 additions and 6 deletions

View file

@ -17103,6 +17103,11 @@ boolean K_PlayerCanPunt(player_t *player)
return true;
}
if (player->lightningcharge > 0)
{
return true;
}
if (player->tripwirePass >= TRIPWIRE_BLASTER && player->speed >= K_PlayerTripwireSpeedThreshold(player))
{
return true;

View file

@ -3944,6 +3944,12 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
{
;
}
else if (player->lightningcharge &&
(type != DMG_EXPLODE || inflictor->type != MT_SPBEXPLOSION || !inflictor->movefactor))
{
;
sfx = sfx_s3k45;
}
else if (player->hyudorotimer > 0)
;
else
@ -4016,13 +4022,24 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
{
K_DoPowerClash(target, inflictor);
if (player->lightningcharge)
{
K_SpawnDriftElectricSparks(player, SKINCOLOR_PURPLE, true);
}
if (inflictor->type == MT_SUPER_FLICKY)
{
Obj_BlockSuperFlicky(inflictor);
}
S_StartSound(target, sfx);
}
else if (source)
{
K_DoPowerClash(target, source);
S_StartSound(target, sfx);
}
}
// Full invulnerability