Fire Bow Damage And Monster HP Regeneration (Long)
#1
A Weapon Tester’s Report

There has been speculation over the years about the effect of fire bow damage on monster HP regeneration. Practically all agree that fire bow damage is “buggy” and erratic, and many concur that one hit from a fire bow will stop monster HP regeneration entirely. In order to affirm these speculations, one of my gaming partners designed a series of tests based on elemental bows, most often fire-damage bows since they are "known" to stop monster hit point regeneration.

Before reporting the findings I would like to acknowledge the following people who either helped in the testing, contributed information, or suggested certain tests. My thanks to Attika who designed most of the tests, to Tristan who volunteered to work side by side with me in order to verify results, and to WildViking who generously loaned equipment and by whose skepticism and speculations the weapons testing process was dramatically improved and enriched.

For purposes of testing a reliable third party program was used that shows the decline of monster hit points during the process of the kill for all non-boss monsters and Diablo himself. (The HPs for bosses other than Diablo were not displayed with this program, and therefore could not be assessed individually.) The effect of this software is much like what you see if you play Hellfire:The Dark on Kali using an item “of Seeing.” On your screen at all times when you are facing a foe, its HPs are displayed and you can actually see the number of monster HPs “ticking down” as you kill the foe. It’s like a counter.

Additionally, at certain points in the testing process Tristan and I fine tuned our characters' set ups so that their damage would match identically. When evaluating our results, please remember that Tris’ and my character’s damage is always the same. I will refer to this as our “balanced damage set ups.”

There were SEVERAL unusual facts that turned up in the course of the tests. They are summarized at the very end of this report, for those who do not wish to read through all the verbiage. Some of them may amaze you! I know they surprised us!

1. Fire bows do indeed stop monster hit point regeneration. Fire based spells do not. Fire melee weapons do not. Immolator does not. Magic based spells do not. Lightning bows do not. Lightning melee weapons do not. Lightning based spells do not. Sparking Mail does not. But fire bows do stop monster HP regeneration dead in its tracks with just one shot.

I conducted many tests on this, but the first one was the most memorable.

THE ACID TEST

Following Attika’s instructions I armed Sabra (clvl 45, high A/C Damage Queen) with Flamedart and set off for Caves. There I found a lone Poison Spitter and shot it once with Flamedart. Its HPs dropped from 295 to 207 and stayed at 207, as I allowed it to follow me back to the stairs where my TP was located. I then stayed with the injured beast, Stone Cursing it all the while, and waited to see if HP regeneration would commence at some point. (Note: Stone Curse does not stop HP regeneration in monsters that have not sustained Fire-Bow damage.)

After many minutes and nearly all my pots had passed, I exited the level via my TP to buy some more pots. When I returned to the level, the Spitter’s HPs began to regenerate immediately and rapidly, shooting up to 215 in the time it took me to get off the first screenie.

I shot it once more (post-screenie) and its HPs dropped to 189. Stone Cursed it, swilled pots, let it chase me around for a bit. Minutes later, HPs still at 189.

I killed it, and rustled up a Mudman, isolated him and repeated the test. All results were consistent. But, since a lone Mudman can’t hit Sabra when she is in w/s set up, I stuck her in a corner with her SS and CC, and let him bat away while I did a few things around the house, only checking in periodically.

After a thorough tidying up of the family room and folding some laundry, I found Sabra still unscathed in her corner with the Mudman’s hit points the same as after the first shot from Flamedart.

No regeneration had occurred. That was enough for me. I was convinced that no HP regeneration was EVER going to occur after that long a time.

2. Fire bows stop monster hit point regeneration in FIRE IMMUNE monsters, along with all other monsters, bosses and Diablo included! Concerning bosses this is an educated guess, as the software does not display the hit point regeneration (or lack thereof) for bosses. However, since the flag to stop regeneration when hit by a fire bow works on all regular monsters, all fire resistant monsters, all fire IMMUNE monsters and Diablo himself, it seems reasonable that it works versus bosses as well.

FIRE DRILL

Tristan, using his arty mage, and Sabra were delighted by the prospect of Attika’s test of fire-bow damage vs. fire immune foes. For our purposes, we settled on Hell difficulty SoulBurners. Who wouldn’t want to torture one of those?

Having selected a prime, bare-breasted target, we found that one shot from Sabra’s Flamedart STOPPED HER REGENERATION COLD, while Tris’ high level Fireball left her unfazed. Other fire immune monsters responded with the same result.

3. Hidden of all types, including Illusion Weavers, when damaged take off running and disappear to "heal". However, after just one shot from a fire-bow, when Hiddens returned they still displayed the same damage that had been dealt them before they disappeared. No "healing" had occurred, although they left the scene of the battle and disappeared. The fire-bow damage overcame their ability to regenerate.

The same may be true of Gargoyles, when they land and sit down to speed regeneration. It seems probable that, having sustained fire-bow damage, they would not regenerate after sitting to heal, but once fire-bow damage is sustained by Gargoyles and HP regeneration stops, they NO LONGER SIT DOWN TO HEAL.

Perhaps one could construe that they “know” it would be futile, and that is, in itself, an interesting premise, since Hidden still fled and Scavs still ingested carrion. Could Gargoyles be the sharpest tacks in Diablo’s box?

4. When there are two players on the same level and one player damages a foe with a fire-bow and then leaves the level, the HPS seen by the player remaining on the level stay the same as when the last fire-bow shot was loosed. When the player who damaged the foe with the fire-bow returns to the level, the damaged monster will begin regenerating its hit points on the returning player’s screen, but ONLY FOR the player who did the damage, then left and reentered the level. The damaged monster’s HPs stayed the same for the player who remained on the level the entire time.

WildViking was with Tristan and me during the previous discovery and did he ever put us through our paces! His skepticism and Teutonic intransigence coupled with his high level knowledge of fire damage and his innate curiosity about game mechanics kept Tris and me hustling for several hours.

THE “NO IT’S NOT DESYNCH” TEST

This difference in the number of HPs seen by two players really had us going when we first discovered it! We ran the identical test with different monsters: SoulBurners and Advos primarily. Advos with their identical 583 HPs are the lab rats of D1.

With both Tris and me on the level in balanced damage set ups, I would injure a monster with Flamedart to within sub-10 hit points of life remaining. We would both call out the number of HPs we saw, and they always matched. Then I would leave and reenter the level.

When I returned, Tris continued to see the monster’s HPs at the previously agreed number (sub-10 life remaining), whereas on my screen the monster was already regenerating its hit points.

Then we would wait, Stone Cursing all the while, until on my screen the monster HPs had fully regenerated back to max. Once full regeneration had occurred, I needed my standard number of bow shots to dispatch the monster (between 7 and 10 shots).

I shot with Flamedart and got the foe’s HPs down to sub-10, then exited. Tris stayed on the level while I left, returned and waited for the monster to regenerate its hit points fully on my screen. For Tris it still had sub-10 hit points, and, if TRIS shot to kill the monster, it only took him ONE SHOT!

Over and over again the monsters tested in this fashion had one set of HPS for me and another set for Tris.

Finally, we added a THIRD party to the equation. This was Attika’s clvl 50 mage, Esau, armed with Dreamflange.

Now for those of you reading this report who may suspect that the presence of the third party program was causing the lack of regeneration, I want to clearly state that Attika was not using this third party software. Nor was WildViking when he was with us. Their results were consistent with what Tristan and I saw on our screens.

After I did all the fire damage required to lower the monster hit points to –10 life remaining on Tristan’s and my screens, Attika required only one or two DF hits to dispose of the foes. HOWEVER, if I did the fire-bow damage and Attika LEFT and returned to the level, the monster regenerated hit points for Attika, and would eventually reach full health. When Attika left, Tris & I stayed on the level and saw sub-10 life remaining. We could kill the monster in one shot, BUT upon Attika's return, it took him 12 or more DF swings to dispose of the same monster!

As an aside, I fire-bow shot a foe down to sub-10 hit points remaining, then left the level & returned. Next Tris ONE SHOT KILLED the foe and got the ENTIRE experience due to the kill, while I got NO experience, even though I did the lion's share of the work! There’s no justice!

5. The fire-bow does not do the buggy fire-damage to fire immune monsters, just to fire resistant or no resistance monsters. We tested this by firing a standard Hunters Bow and Flamedart at multiple Advocate opponents in Hell difficulty.

Several times the Hunters Bow killed the Advocate more quickly than Flamedart. Overall there was not a significant difference in the number of shots needed to kill an Advocate using a regular Hunters versus Flamedart.

Thus, while the fire-bow may "flag" the monster as being unable to regenerate hit points, there is NO elemental fire damage taking place from there on out, or so it would seem.

Flamedart was not the only fire bow used in testing. I also conducted identical tests using a short bow of fire purchased from Gris. The results were always the same. HP regeneration ceased and only the number of shots required to dispatch the foes differed.

SUMMARIZING:

Elemental fire bows are the only weapons that stop monster hit point regeneration. They will do this even for monsters that flee from battle to "regenerate" points (Hidden, Gargoyles and Scavengers were tested.)

Fire-elemental bows stop monster hit point regeneration in ALL monsters, including FIRE IMMUNE monsters, Diablo, and presumably all BOSSES though we are unable to fully verify this in Bosses. I suppose the one hit kill rule would prove this point, if it were possible to recreate the same boss over and over to measure the number of shots it took each player to kill the creature once fire-bow damage had been dealt. Hmmm … Maybe the Butcher …

If two players are on the same level and one player damages a monster with a fire-bow and then leaves the level, upon his/her return the fire-damaged monster will immediately begin regenerating hit points, BUT ONLY IN RELATION TO THE PERSON WHO FIRE DAMAGED THE FOE, LEFT THE LEVEL AND RETURNED.

If other players are on the same level when the fire damage is done and remain on the level the entire time, the monster will not regenerate hit points in relation to the players who remain. The result will be that, upon his/her return to the level, the player who did the fire damage will require more shots/swings/casts to kill the foe than the players who remained on the level.

This information makes the fire bow a more formidable weapon than previously imagined, especially for Ironman or LoL players. So when next you see that measly Flamedart drop, don't think of it as a pitiful Unique received from a vengeful enemy. Knowing how to use it, the Flamedart (or any fire-bow) is quite a nasty weapon once you assess the strengths and weaknesses of fire-elemental bow damage.

And there you have it! My first ever real strategy post, and probably my last.
[Image: Sabra%20gold%20copy.jpg]

I blame Tal.

Sabramage Authenticated!
Reply
#2
Very nice work! It must have been very fun to run all those tests (and very long).

If two players are on the same level and one player damages a monster with a fire-bow and then leaves the level, upon his/her return the fire-damaged monster will immediately begin regenerating hit points, BUT ONLY IN RELATION TO THE PERSON WHO FIRE DAMAGED THE FOE, LEFT THE LEVEL AND RETURNED.

You sure this happens only to the person who did the fire damage? I got the impression from the trials that the enemy began to regerate HP's for any player that re-entered the level, not just for the person who did the actual fire damage. Note where Attika leaves the level and returns, the enemy regenerated HP for him, and he needed 12 swings to kill it.
--Lang

Diabolic Psyche - the site with Diablo on the Brain!
Reply
#3
Those tests were a blast! I loved every minute. And yes, it took a lot of time.

Now in relation to your question, yes, you are correct. This would be true for any player who left and returned. HPs would start to regenerate. Simply in the example quoted it said "If two players are on the same level..."

That clarification is a good one and thanks for it. This was not an easy thing to write up, and I never did state that. Appreciated.
[Image: Sabra%20gold%20copy.jpg]

I blame Tal.

Sabramage Authenticated!
Reply
#4
Hello Sabra,

Good job! Although I suspected most of it, it's nice to see ones thoughts confirmed.

There is support for an unused affix in Diablo, with a description 'monster cannot heal', that causes all this. Normally, you would never notice anything, but the support for this affix has a bug in the 'spell vs. monster' attack code. Instead of checking for the correct, not existing affix, it accidently checks the 'fire damage' flag and stops the regeneration accordingly. Since this check is made for every hit, and immune creatures can be hit with the arrow (but not by the fire attack), it works for all monsters. Btw, also Lifestealing is stopped, just as Scavenging and the Gargoyle's statue heal is. One fire arrow on Leoric, and he will no longer leech on your poor character.

In the Dark, all this is fixed. If anyone is interested how to do this (in Hellfire), I will gladly help.
Reply
#5
Hi, Zenda:

I thought you were on vacation. Thank you so much for your comments.

I talked to Mr. Sabra, ex-arch programmer turned Net Ops Guy, about the results I was finding in this testing. (I had to smack him periodically to keep him awake, as he thinks gaming is a crock.) He too mentioned flags that would stop and start regeneration. He was dismissive of the idea that it was a programming error, stating that anything that worked that predictably across the game would be more of an undocumented feature.

Do you think he might be right?
[Image: Sabra%20gold%20copy.jpg]

I blame Tal.

Sabramage Authenticated!
Reply
#6
>There has been speculation over the years about the effect of fire bow damage on monster
>HP regeneration.

Hmm, I thought my Guide covered it, so I checked but could not find it. On the other hand I no longer remember everything in the guide, and even more less where in the guide things are mentioned (which makes it hopelessly complicated to update it and get it correct in all places). Did I miss it? Does anyone know where? I admit I looked in 1.61 only.


> Practically all agree that fire bow damage is “buggy” and erratic, and many concur that one
>hit from a fire bow will stop monster HP regeneration entirely.

Correct (as your tests verify too).


>There were SEVERAL unusual facts that turned up in the course of the tests. They are
>summarized at the very end of this report, for those who do not wish to read through all the
>verbiage. Some of them may amaze you! I know they surprised us!

All of them have easy to explain reasons though. Let me try to explain it (I doubt I manage to make easy explanations though).



>1. Fire bows do indeed stop monster hit point regeneration. Fire based spells do not. Fire
>melee weapons do not. Immolator does not. Magic based spells do not. Lightning bows do
>not. Lightning melee weapons do not. Lightning based spells do not. Sparking Mail does
>not. But fire bows do stop monster HP regeneration dead in its tracks with just one shot.

As already discussed further in this thread, the reason for the stopping is a mix-up of flags (and no, it is as far as I would say far from a feature but a big mess up, although possibly hard to understand how, at least if they used good programming practises, I would thing they simply coded direct access for a flag bit and someone screwed up instead of having some good name defined or function written to access the flags). The error (and I forgot which flag the no generation one gets mixed up with, but can check my notes) occurs in the function for the fire “missile”. As should be possible to find in my guide, a fire arrow (as well as lightning arrow and so on) will after dealing the physical damage set of a special effect that makes the fire attacks. It is, if I recall correctly with no code at hand, the function that handle this effect that do the mess up and sets the wrong flag. Basically we have multiple flags in work here. The attack/item has a set of flags telling it do fire damage. This flag is tested for and sets another flag on the target (but here the wrong flag is set and as I said, not sure what the actual flag to set should be). The flag set is the one for no regeneration and as pointed out, I don’t think it should normally be possible to set it since the effect that do is not active. Since it supposedly tests for something else, it is no wonder it sets for fire immune monsters too and so on.

The flag for no regeneration is tested for in the regeneration routine that runs each frame. This regeneration routine handle all regeneration, including the increased one by Gargoyles and Scavengers so if skipped, that extra fast healing is skipped too. I have to check the exact nature of the code to tell why the Gargoyle won’t enter stone state though. I think it is due to never starting to heal in the fast way since that might be where it has the flag set for it, but I can’t tell from reading my Guide.

Finally note that Hidden monsters do NOT regenerate any extra while running away (or after having run away). It is just a simply running away for a while and then continuing normally after that. Nothing extra occurs during this.



> (Note: Stone Curse does not stop HP regeneration in monsters that have not sustained
>Fire-Bow damage.)

Yes, Stone Cursed monsters continue to heal. Perhaps I should add a note on it in the Guide if it is not there.

>After many minutes and nearly all my pots had passed, I exited the level via my TP to buy
>some more pots. When I returned to the level, the Spitter’s HPs began to regenerate
>immediately and rapidly, shooting up to 215 in the time it took me to get off the first
>screenie.

Yes, this is natural if one knows how the game store away inactive levels. See more below.


>3. Hidden of all types, including Illusion Weavers, when damaged take off running and
>disappear to "heal".

Thus not completely correct, they just run a way and continue to heal normally, unless stopped by a fire arrow of course.


>The same may be true of Gargoyles, when they land and sit down to speed regeneration. It
>seems probable that, having sustained fire-bow damage, they would not regenerate after
>sitting to heal, but once fire-bow damage is sustained by Gargoyles and HP regeneration
>stops, they NO LONGER SIT DOWN TO HEAL.

I suspect (but as I said, can’t remember and have to check the code), that they actually don’t sit down to heal, but rather when starting to heal, they turn into stone and sit down. That would explain this. For Scavengers it might be the other way around. It would be an issue of how their AI is coded and it differs quite a bit on those two cases I think.



>4. When there are two players on the same level and one player damages a foe with a fire-
>bow and then leaves the level, the HPS seen by the player remaining on the level stay the
>same as when the last fire-bow shot was loosed. When the player who damaged the foe
>with the fire-bow returns to the level, the damaged monster will begin regenerating its hit
>points on the returning player’s screen, but ONLY FOR the player who did the damage,
>then left and re-entered the level. The damaged monster’s HPs stayed the same for the
>player who remained on the level the entire time.

Yes, this has to do with how the game is actually run separately on each player’s computer and how it doesn’t synch much data in-between them. In addition, it has to do with how the game store inactive levels (which happens individually for each player as they leave and enter levels, that is, each players computer only has the level that player is on as active. Again, see more below.

By the way, differing HP should exist for monsters NOT affected by the no regeneration bug too. I don’t think the game synch HP (as is evident by your test), and hence similar result is possible for any monster. Normally this is not noticeable though since most monsters would be at either full HP or dead.



>Finally, we added a THIRD party to the equation. This was Attika’s clvl 50 mage, Esau,
>armed with Dreamflange.

Something you do not mention and perhaps did not think about or remember, is, who of the first two players where in the first slot and hence the “holder” of the game? I believe that when someone joins a game, the data is sort of synched with that player’s info. It might be that the HP is not synched and only if monsters are dead and their position are (seems plausible since that is what is saved in inactive levels and probably what is sent). Then newly arrived players would always act as if they went for town. Hmm, interesting thing to check for.


>As an aside, I fire-bow shot a foe down to sub-10 hit points remaining, then left the level &
>returned. Next Tris ONE SHOT KILLED the foe and got the ENTIRE experience due to the
>kill, while I got NO experience, even though I did the lion's share of the work! There’s no
>justice!

This should be mentioned in my guide and should give a clue to why the thing with regeneration messes up even though the technicalities of it is not explained.

When the game turns a level inactive, it stores away only some variable data of it. The programmers obviously forgot some of that data, namely the flag register. It holds among other things what players should get exp for a monster and various states of monsters, like the no regeneration and also the “state” such as in stone mode if I recall correctly (that is why all gargoyles in a level you return to is up flying ant not in stone state, the flag indicating that was not saved!!). This is obviously a bug that should be relatively easy to fix in my opinion although it requires changes of data structures and thus not easily done in a mod but not to hard by Blizzard. It explains all the strange things you have seen as well as many others (the bug is similar to the one that caused the famous Bone Wall bug in Diablo II, that also had a flag go “poff” when storing away an inactive area of the dungeon).

>5. The fire-bow does not do the buggy fire-damage to fire immune monsters, just to fire
>resistant or no resistance monsters. We tested this by firing a standard Hunters Bow and
>Flamedart at multiple Advocate opponents in Hell difficulty.

Yeah, the effect otherwise works properly. It is when in the end testing for the flags it messes up. Now that I think more about it, I think I remember. It SHOULD have tested for the flag indicating the “no healing” on the item/player attacking (as that is what is done for the lighting arrow for example) and then set the no generation flag. Instead it goofed and checked for a flag indicating it is a fire attack. Oh well.


>Elemental fire bows are the only weapons that stop monster hit point regeneration. They will
>do this even for monsters that flee from battle to "regenerate" points (Hidden, Gargoyles
>and Scavengers were tested.)

See above for Hidden. And yes, those special regenerations are just a boosted variant of the normal handled by the same code. It is all either skipped or not.


>Fire-elemental bows stop monster hit point regeneration in ALL monsters, including FIRE
>IMMUNE monsters, Diablo, and presumably all BOSSES though we are unable to fully
>verify this in Bosses. I suppose the one hit kill rule would prove this point, if it were possible
>to recreate the same boss over and over to measure the number of shots it took each
>player to kill the creature once fire-bow damage had been dealt. Hmmm … Maybe the
>Butcher …

Should work for bosses *IF* they were meant to be able to get the no heal effect. It might be that the game doesn’t allow that. Diablo could thus be flagged as non boss although I really don’t remember if that was so in D1 or something for D2 where such thing as bosses not flagged as bosses is more common.


>And there you have it! My first ever real strategy post, and probably my last.

Well, it was a good one, so you really should do more of them :) I will see if I can find anything that is unclear or not mentioned in my Guide that might need updating.
There are three types of people in the world. Those who can count and those who can't.
Reply
#7
It is really, truly amazing to me to think that something I might ever have done in D1 would have caused people of the calibre of Zenda, Kp and Jarulf to think for even one second about anything.

Fun to read these posts here and Kp's Toward the bottom of the thread and to see how those who decompile the game and look at the code can come so close to complete agreement and yet retain their own personal take on things. Zenda's - more poetic and always helpfully other-oriented. Kp's eloquently precise, giving the name to the affix that Zenda and Jarulf have forgotten or not chosen to name. But Jarulf, see! He's still got the feeling that there are connections that may not yet have been construed, and maybe that's what makes him so great.

Thanks to all three of you.

And everyone please remember, Attika called the plays. I just ran them.
[Image: Sabra%20gold%20copy.jpg]

I blame Tal.

Sabramage Authenticated!
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)