MT_FLINGRING: Nullify fuse on touch
If the fuse caused the flingring to be deleted, it would hog a spot on player->pickuprings until the player respawned. This is not a perfect solution, but it should resolve the problem in practice. Needs testing to confirm this doesn't introduce TA desync, but in the worst case I would wager it affects a single digit number of runs at worst.
This commit is contained in:
parent
527baece19
commit
61f498bf9c
1 changed files with 5 additions and 0 deletions
|
|
@ -686,6 +686,11 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
|
|||
special->extravalue1 = 1; // Ring collect animation timer
|
||||
special->angle = R_PointToAngle2(toucher->x, toucher->y, special->x, special->y); // animation angle
|
||||
P_SetTarget(&special->target, toucher); // toucher for thinker
|
||||
|
||||
// For MT_FLINGRING - don't delete yourself mid-pickup.
|
||||
special->renderflags &= ~RF_DONTDRAW;
|
||||
special->fuse = 0;
|
||||
|
||||
player->pickuprings++;
|
||||
|
||||
return;
|
||||
|
|
|
|||
Loading…
Reference in a new issue