Fix null dereference when removing baildrop flingrings

This commit is contained in:
Antonio Martinez 2025-09-18 01:27:11 -04:00
parent 54726eb665
commit 8938d97b23

View file

@ -3514,10 +3514,14 @@ void A_AttractChase(mobj_t *actor)
// 1. Insta-Whip's extended punish window used to delete flingrings off you while they were attracting // 1. Insta-Whip's extended punish window used to delete flingrings off you while they were attracting
// 2. ALL conditions that deleted flingrings off you didn't decrement pickuprings, desyncing your ring count // 2. ALL conditions that deleted flingrings off you didn't decrement pickuprings, desyncing your ring count
boolean stale = (!actor->target || P_MobjWasRemoved(actor->target) || !actor->target->player); boolean stale = (!actor->target || P_MobjWasRemoved(actor->target) || !actor->target->player);
boolean blocked = false;
boolean blocked = (actor->target->player->baildrop); if (!stale)
if (G_CompatLevel(0x0010)) {
blocked |= !!(actor->target->player->bailcharge || actor->target->player->defenseLockout > PUNISHWINDOW); blocked = actor->target->player->baildrop;
if (G_CompatLevel(0x0010))
blocked |= !!(actor->target->player->bailcharge || actor->target->player->defenseLockout > PUNISHWINDOW);
}
if (!G_CompatLevel(0x0010) || actor->extravalue2) if (!G_CompatLevel(0x0010) || actor->extravalue2)
{ {