MantisBT - Zandronum |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0001634 | Zandronum | [All Projects] Bug | public | 2013-12-31 22:31 | 2018-09-30 21:58 |
|
Reporter | AlexMax | |
Assigned To | Edward-san | |
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | |
Platform | | OS | | OS Version | |
Product Version | 1.4 | |
Target Version | 3.0 | Fixed in Version | 3.0 | |
|
Summary | 0001634: Weird spawn telefragging behavior on Duel32 + Transfer Heights |
Description | Ever since releasing duel32e I have noticed that it is MUCH easier to telefrag someone by spawning in. It might have something to do with Transfer Heights, but I'm pretty sure DooM spawnfrags somebody as a last resort or at the end of an extremely unlucky set of RNG rolls. |
Steps To Reproduce | 1. Join a duel32e server and spawn into it. Don't move.
2. Have a second player join the server and spawn.
3. If you don't telefrag the other player, quit the server, rejoin, and respawn until you do. |
Additional Information | Here's the WAD to reproduce.
'http://files.funcrusher.net/wads/duel32e.pk3 [^]'
Seeing as it's _very_ repeatable, it should be fairly easy to attach a debugger to the server and step through the respawning logic to see what goes wrong. |
Tags | No tags attached. |
Relationships | related to | 0002791 | confirmed | | Moving slightly off a spawn makes you vunerable to join/defect telefrag in team games | has duplicate | 0002577 | closed | AlexMax | Telefragging on join, even with other open available spawns | related to | 0001253 | closed | | Team telefrag issue: G_CheckSpot always returns true if the spawn spot is > player height for the sector it's in | related to | 0001032 | closed | Torr Samaho | Z-Height support for player starts | related to | 0001499 | closed | | Slight chance that players will spawn on each other (same spawnpoint) |
|
Attached Files | |
|
Issue History |
Date Modified | Username | Field | Change |
2013-12-31 22:31 | AlexMax | New Issue | |
2014-01-03 11:08 | Torr Samaho | Note Added: 0007862 | |
2014-06-11 15:47 | Watermelon | Relationship added | related to 0001253 |
2014-06-11 15:48 | Watermelon | Relationship added | related to 0001032 |
2014-06-11 15:49 | Watermelon | Relationship added | related to 0001499 |
2014-06-11 15:50 | Watermelon | Status | new => acknowledged |
2014-06-11 15:50 | Watermelon | Status | acknowledged => confirmed |
2016-01-29 21:17 | Dusk | Relationship added | has duplicate 0002577 |
2016-07-15 14:51 | Ru5tK1ng | Note Added: 0015317 | |
2016-07-15 19:17 | Edward-san | Note Added: 0015318 | |
2016-07-15 19:17 | Edward-san | Status | confirmed => feedback |
2016-07-15 20:54 | Edward-san | Note Edited: 0015318 | bug_revision_view_page.php?bugnote_id=15318#r9282 |
2016-07-15 21:00 | Edward-san | Note Added: 0015320 | |
2016-07-15 21:00 | Edward-san | Status | feedback => confirmed |
2016-07-16 13:07 | Edward-san | Assigned To | => Edward-san |
2016-07-16 13:07 | Edward-san | Status | confirmed => assigned |
2016-07-16 13:11 | Edward-san | Note Added: 0015327 | |
2016-07-16 13:11 | Edward-san | Status | assigned => needs review |
2016-07-17 11:41 | Edward-san | Note Edited: 0015327 | bug_revision_view_page.php?bugnote_id=15327#r9345 |
2016-07-17 19:35 | WaTaKiD | Note Added: 0015362 | |
2016-07-18 15:35 | Ru5tK1ng | Note Added: 0015375 | |
2016-07-18 22:31 | AlexMax | Note Added: 0015379 | |
2016-07-18 22:31 | AlexMax | Note Edited: 0015379 | bug_revision_view_page.php?bugnote_id=15379#r9357 |
2016-07-19 00:51 | Edward-san | Note Added: 0015381 | |
2016-10-09 21:37 | Edward-san | Note Added: 0015865 | |
2016-10-09 21:37 | Edward-san | Status | needs review => needs testing |
2016-10-09 21:37 | Edward-san | Product Version | => 1.4 |
2016-10-09 21:37 | Edward-san | Target Version | => 3.0 |
2016-10-15 16:31 | Ru5tK1ng | Note Added: 0016017 | |
2016-10-15 16:32 | Ru5tK1ng | Relationship added | related to 0002791 |
2016-10-15 16:32 | Ru5tK1ng | Status | needs testing => resolved |
2016-10-15 16:32 | Ru5tK1ng | Resolution | open => fixed |
2016-10-15 16:32 | Ru5tK1ng | Fixed in Version | => 3.0 |
2018-09-30 21:58 | Blzut3 | Status | resolved => closed |
Notes |
|
|
Is the behavior in Skulltag, Zandronum and ZDoom the same? |
|
|
|
This issue still persists in 2.1.2 and 3.0. I can't reproduce it in ZDoom because spectators don't exist there. Repeatedly spamming changemap or restarting the server never replicated the telefrag issue. |
|
|
(0015318)
|
Edward-san
|
2016-07-15 19:17
(edited on: 2016-07-15 20:54) |
|
Which map has the problem? Which flags/settings should be used?
[edit] AlexMax provided me some info on irc:
Quote
<AlexMax> edward-san: Do it on the start map
<AlexMax> there are eight spawns, but only four actual spawn locations
<edward-san> deathmatch mode?
<AlexMax> Try it in duel mode
And managed to reproduce it.
|
|
|
|
So, the problem is caused by the second player's body being still a spectator when the deathmatch spot checker code is called.
In fact, when G_CheckSpot is called in function SelectRandomDeathmatchSpot, the second player's mobj flags2 have MF2_THRUACTORS, which makes the function PIT_CheckThing return true, leading the whole P_CheckPosition code ignore the presence of the already present player.
The telefrag happens because after the spot is found the player is spawned and the spectator data is cleared, so P_CheckPosition finds the old player, then the old player is killed. |
|
|
(0015327)
|
Edward-san
|
2016-07-16 13:11
(edited on: 2016-07-17 11:41) |
|
|
|
|
|
|
|
That build seemed to fix the issue. I couldn't reproduce the bug after trying repeatedly for several minutes. |
|
|
|
Fantastic! Thanks for the attention.
|
|
|
|
I'd like to know if the related tickets are solved with that build as well. |
|
|
|
|
|
|
I pulled the latest changes from Zan 3.0 and my test results were still the same. I couldn't tele frag the opponent by repeatedly joining even after coming off of an intermission screen. |
|