MantisBT - Zandronum
View Issue Details
0000815Zandronum[All Projects] Bugpublic2012-04-25 20:342018-09-30 19:52
Hisymak 
Dusk 
normalminoralways
closedfixed 
MicrosoftWindowsXP/Vista/7
98d 
1.0 
0000815: Sector with delayed poison damage (strife-like): your screen won't become green online
When you stand in sector with Strife-like delayed poison damage (sector special 116), your screen will become green and will be more green the longer time you stay in the sector. The poison will become hurt you after some time and will still hurt you some time after leaving the sector.
But your screen won't become green when playing on server.
Try the example wad offline and online.
Noticed when playing Jumpmaze map12.
No tags attached.
parent of 0000816closed Dusk 105 sDamage_Hellslime & 116 sDamage_SuperHellslime effect not cleared if turning into a spectator 
? delayed_poison.wad (858) 2012-04-25 20:34
/tracker/file_download.php?file_id=580&type=bug
Issue History
2012-04-25 20:34HisymakNew Issue
2012-04-25 20:34HisymakFile Added: delayed_poison.wad
2012-04-25 20:41unknownnaStatusnew => confirmed
2012-04-25 20:48unknownnaNote Added: 0003431
2012-04-25 20:52unknownnaRelationship addedparent of 0000816
2012-04-25 22:08DuskAssigned To => Dusk
2012-04-25 22:08DuskStatusconfirmed => assigned
2012-04-26 00:48DuskNote Added: 0003434
2012-04-26 00:48DuskStatusassigned => needs review
2012-04-26 00:50DuskNote Edited: 0003434bug_revision_view_page.php?bugnote_id=3434#r1846
2012-04-26 02:58Torr SamahoNote Added: 0003437
2012-04-26 02:59Torr SamahoStatusneeds review => feedback
2012-04-26 11:23Torr SamahoNote Edited: 0003437bug_revision_view_page.php?bugnote_id=3437#r1854
2012-04-26 12:17DuskNote Added: 0003442
2012-04-26 12:17DuskStatusfeedback => assigned
2012-04-26 12:17DuskNote Edited: 0003442bug_revision_view_page.php?bugnote_id=3442#r1858
2012-04-26 23:17Torr SamahoNote Added: 0003455
2012-04-26 23:17Torr SamahoNote Edited: 0003455
2012-04-26 23:18Torr SamahoNote Edited: 0003455bug_revision_view_page.php?bugnote_id=3455#r1871
2012-04-26 23:18Torr SamahoNote Revision Dropped: 3455: 0001869
2012-04-26 23:18Torr SamahoNote Revision Dropped: 3455: 0001870
2012-06-09 13:22Torr SamahoCategoryGeneral => Bug
2012-08-05 21:10Torr SamahoNote Added: 0004278
2012-08-05 21:10Torr SamahoStatusassigned => needs testing
2012-08-20 01:16QentNote Added: 0004413
2012-08-20 10:35DuskStatusneeds testing => resolved
2012-08-20 10:35DuskFixed in Version => 1.0-beta
2012-08-20 10:35DuskResolutionopen => fixed
2012-08-23 01:56Blzut3Fixed in Version1.0-beta => 1.0
2018-09-30 19:52Blzut3Statusresolved => closed

Notes
(0003431)
unknownna   
2012-04-25 20:48   
105 sDamage_Hellslime
116 sDamage_SuperHellslime

Quote from ZDoom Wiki
Strife's sector specials. These damage types don't start hurting the player immediately. Instead they accumulate a certain amount of 'poisoning' and when a certain threshold is reached they start hurting the player. Such damage infliction does not stop when the player leaves the sector. It will continue a little longer.
(0003434)
Dusk   
2012-04-26 00:48   
(edited on: 2012-04-26 00:50)
'https://bitbucket.org/CrimsonDusk/notebola/changeset/c6aa69aa9232 [^]'

This should fix the problems. It's a bit extensive.. I added a new extended command SVC2_SETPLAYERHAZARDCOUNT. I added some mitigation its svcommand function so that it wouldn't send stuff every single tic. Bandwidth usage of this function is pretty much at least halved with this system in place.

Added a new bool bFeelingGreen to player_t to make the mitigation work properly. It only is of interest to the server.

(0003437)
Torr Samaho   
2012-04-26 02:58   
(edited on: 2012-04-26 11:23)
Why don't you let the client tic down the hazardcount on its own? At first glance I'd say only the P_DamageMobj call may not be done by the client. This needs far less bandwidth than letting the server update the client constantly.

EDIT: hazardcount should be set to zero in PLAYER_SetDefaultSpectatorValues unconditionally (that's also where for instance bonuscount is reset), instead of conditionally setting it to zero in PLAYER_SetSpectator.

(0003442)
Dusk   
2012-04-26 12:17   
... *facepalm*

Back to the drawing board, then.

(0003455)
Torr Samaho   
2012-04-26 23:17   
(edited on: 2012-04-26 23:18)
> Back to the drawing board, then.

I think the drawing board won't be necessary, it should be easy to adapt your fix. You pinpointed what's going on and the locations where to change things, so the bulk of the work is done :). If you want me to I can do this. Since I'll need to introduce another SVC2 command soon, I'd like to port your SVC2_SETPLAYERHAZARDCOUNT command beforehand to avoid conflicts.

(0004278)
Torr Samaho   
2012-08-05 21:10   
I revised and added your patch. Please test with the upcoming beta build.
(0004413)
Qent   
2012-08-20 01:16   
It works now.