MantisBT - Zandronum
View Issue Details
0002978Zandronum[All Projects] Bugpublic2017-01-09 18:142018-09-30 21:44
Borg 
Edward-san 
normalminorN/A
closedfixed 
Source Code
2.1 
3.03.0 
0002978: DamageFactor calculation executed twice for Armors
After doing some modding with multiple Protection artifacts, I found a problem
with stacking. It seems when 2 or more Protection are active, they start to
stack badly and become much more strong that any single of them.
After brief peek to source code, I found this strange thing:
src/g_shared/a_armor.cpp,178:
// Once the armor has absorbed its part of the damage, then apply its damage factor, if any, to the player

Read up the whole block, with is executed twice (copy&paste).
Looks like a bug to me, is it intended?
I would inspect other code around DamageFactor as well.
As said, stacking Protection Inventory items greeat odd efect of very
strong Protection.
No tags attached.
Issue History
2017-01-09 18:14BorgNew Issue
2017-01-09 22:01DuskNote Added: 0016629
2017-01-10 10:19Edward-sanNote Added: 0016631
2017-01-10 10:19Edward-sanAssigned To => Edward-san
2017-01-10 10:19Edward-sanStatusnew => needs review
2017-01-15 08:55Torr SamahoNote Added: 0016636
2017-01-15 08:56Torr SamahoProduct Version4.0-beta => 2.1
2017-01-15 08:56Torr SamahoTarget Version => 3.0
2017-01-15 08:56Torr SamahoStatusneeds review => needs testing
2017-01-28 17:48Ru5tK1ngNote Added: 0016707
2017-04-16 22:59CombinebobntNote Added: 0017164
2017-04-18 07:39BorgNote Added: 0017193
2017-04-27 01:42Ru5tK1ngNote Added: 0017356
2017-05-23 01:20Ru5tK1ngNote Added: 0017740
2017-05-23 01:20Ru5tK1ngStatusneeds testing => resolved
2017-05-23 01:20Ru5tK1ngResolutionopen => fixed
2017-05-23 01:20Ru5tK1ngFixed in Version => 3.0
2018-09-30 21:44Blzut3Statusresolved => closed

Notes
(0016629)
Dusk   
2017-01-09 22:01   
Looks like a merge error. A very old one too, as 2.1 also exhibits it.
(0016631)
Edward-san   
2017-01-10 10:19   
'https://bitbucket.org/zandronum/zandronum-sandbox/commits/187adb8ccddd380a6d122b5aecad622ff0ccac25 [^]'

In 2.1, the two copies are identical, while in 3.0 they diverged because of the code upgrade (zdoom svn r3469, added in zandronum with changeset 6bbe67e64b39a951 ), so removing the second copy is the right way.
(0016636)
Torr Samaho   
2017-01-15 08:55   
I added your patch.
(0016707)
Ru5tK1ng   
2017-01-28 17:48   
Can we get an example wad to correctly test the fix?
(0017164)
Combinebobnt   
2017-04-16 22:59   
yea def are gonna need an example wad

i tested stacking armor + 1 or 2 powerprotection items and nothing seemed out of the ordinary in both 2.1.2 and r170416-0710. Each protection was 0.5 damage and it worked the same in both ports.
(0017193)
Borg   
2017-04-18 07:39   
Testing this is not obvious. I had 2 powerprotection items on my mod and
it was all okey on single player test map. Things start to work strange
on multiplayer... For example, suprised by HexaZombie.. I wasnt even damaged
from his full blast hexa...
After some more online testing then, I noticed that sometimes damage
is very very low or nullified...

After switching to ACS and APROP_DamageFactor things work good now.
(0017356)
Ru5tK1ng   
2017-04-27 01:42   
So is your issue now solved? It's hard to understand without an example wad.
(0017740)
Ru5tK1ng   
2017-05-23 01:20   
Marking as resolved since 'things work good now' according to the author.