Merc Life (50/50 question/rant)
#1
Greetings
I always wondered if merc life is handled the same way as player life. As player you can always check the exact amount of life you have via LCS or your Life Orb, merc life behaves more along the lines of monster life, display-wise.
A few questions concerning that matter:

1: I recently had my Merc screen show "0" (zero) life for my rogue, yet she was still alive. Does this mean mercs die only if their health reaches negative values? IIRC zero life for you means death, does it not?

2: The merc screen shows changes in merc life only in rather large chunks, like from 221 to 160 as an example. The game does calculate the exact amount, right? Right? Maybe (or definitly) a stupid question (it HAS to calc the exact amount!!!!), but I really don't understand why Blizz doesn't show us the specific value for merc life at a given time.

3: WTF doesn't the game factor in stuff like BO or Oak Sage when restoring "full health" to a merc upon level up??? It works for players! Why, I asks you? "I feel much stronger now!" accompanied by the loss of a third of total life just doesn't feel right.

Forgive my (low-intensity) ranting and enlighten me PLZ :)

Nuur
"I'm a cynical optimistic realist. I have hopes. I suspect they are all in vain. I find a lot of humor in that." -Pete

I'll remember you.
Reply
#2
Quote:1: I recently had my Merc screen show "0" (zero) life for my rogue, yet she was still alive. Does this mean mercs die only if their health reaches negative values?  IIRC zero life for you means death, does it not?
Merc life display is only updated, once a second; thus, it is possible that the for an instant the life could have been zero but also during same frame the merc could have healed/leeched 1 hp but the display wasn't updated.

Quote:2: The merc screen shows changes in merc life only in rather large chunks, like from 221 to 160 as an example. The game does calculate the exact amount, right? Right? Maybe (or definitly) a stupid question (it HAS to calc the exact amount!!!!), but I really don't understand why Blizz doesn't show us the specific value for merc life at a given time.
The delay, explained above. The reason, to reduce lag. By only updating the every second instead of immediately fewer packets are sent to each player.

Quote:3: WTF doesn't the game factor in stuff like BO or Oak Sage when restoring "full health" to a merc upon level up??? It works for players! Why, I asks you? "I feel much stronger now!" accompanied by the loss of a third of total life just doesn't feel right.
IIRC, the magic number is 32767, if your merc, after effects of BO and Oak has a max life greater than this, the life roles over into negative values, and thus the next hit will kill your merc.
[Image: ThiefLogo.jpg]

"What cannot kill you, isn't worth fighting." - Anon.
Chameleon, The Lost Thief *Fades away into the darkness*
Reply
#3
Thanks for replying.
Seems I forgot to mention I play Single Player only, I don't give a damn about lag :P

Quote:Merc life display is only updated, once a second; thus, it is possible that the for an instant the life could have been zero but also during same frame the merc could have healed/leeched 1 hp but the display wasn't updated.

Hmm...My merc has no leech and her life stayed at zero for about 5 seconds, definitely more than one sec. She regenerated to 62 life but she DID exist with zero life for some time. What does this mean? I don't know...

Quote:IIRC, the magic number is 32767, if your merc, after effects of BO and Oak has a max life greater than this, the life roles over into negative values, and thus the next hit will kill your merc.

Yep, I read that bit on the forums a couple of days ago, but I was referring to something different, namely a merc levelling up and his life being set to the maximum amount he/she would have without any life-enhancing effects. So for example if your merc has 500 life after level up and wears a +50 life armor he will show 500/550. "Bonus life" is not calculated in.
"I'm a cynical optimistic realist. I have hopes. I suspect they are all in vain. I find a lot of humor in that." -Pete

I'll remember you.
Reply
#4
the reason your merc will display with zero life is because d2 keeps track of fractional hp and your merc probably had somewhere between 0 and 1 life. the merc screen doesn't round life less than 1 to 1 the same way the character screen does.

another possibility is that the server sends hp of monsters to the client in percentages, not exact numbers, and anything less than 1% is sent as 0%.
Reply
#5
Isolde,Mar 19 2003, 11:12 AM Wrote:the reason your merc will display with zero life is because d2 keeps track of fractional hp and your merc probably had somewhere between 0 and 1 life.  the merc screen doesn't round life less than 1 to 1 the same way the character screen does. 

another possibility is that the server sends hp of monsters to the client in percentages, not exact numbers, and anything less than 1% is sent as 0%.
If I am not mistaken (and stuff has not changed) doesn't the game (at least in some places) consider someone/something with less than 1 life as dead? Or has it changed? Or will it not end up as working correctly? I thought that in part the bug with monsters not dieing with "0" life and fighitng on for ever was due to such problems (they could not be hit or damaged with melee attacks but with a spell they died for real at once).
There are three types of people in the world. Those who can count and those who can't.
Reply
#6
hmm... that's a good point. now that you mention it, i do remember there being something like that.

well, that means the reason your merc is displaying zero life is probably due to my second supposition, which is that it has less than 1% life and the server sends life of monsters in 1% increments.
Reply
#7
Isolde,Mar 19 2003, 02:07 PM Wrote:hmm... that's a good point.  now that you mention it, i do remember there being something like that.

well, that means the reason your merc is displaying zero life is probably due to my second supposition, which is that it has less than 1% life and the server sends life of monsters in 1% increments.
One place were I remember the check versus one (if I recall correctly and saw it correctly, I tend to goof at times, right? :) ) would be the function for seting up an attack. Right after the call to the resistance and similar code and right before the game allocate memory for the combat data and insert it into the hUnit of the attacker, it will add up damage and compare with the targets life and set a flag. Of course, that is not actually the dealing of damage and such but I think the flag is used for some things and I think some similar check is done in the actual function dealing damage.

All this from memory though.
There are three types of people in the world. Those who can count and those who can't.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)