When a projectile warps on the same tic it dies from hitting something, actors it collides with at its warp destination tend to also get hurt, meaning a projectile can hit (at least?) two different actors or the same actor twice. Notably even when the WARPF_NOCHECKPOSITION flag is set this still happens.
Attached is a .wad with a test pistol that fires a projectile with this DECORATE code:
Code: Select all
actor BuggedProjectile : DoomImpBall
{
Damage (10)
States
{
XDeath:
//TNT1 A 1 // bug doesn't occur if there's a delay
TNT1 A 0 A_Warp(AAPTR_Default,10,10,10,0,WARPF_NOCHECKPOSITION)
goto Super::Death
}
}