[CF-Devel] Cause light wounds broken
Mark Wedel
mwedel at sonic.net
Tue Aug 13 22:57:46 CDT 2002
Kevin R. Bulgrien wrote:
>
At 01:19 PM 8/10/02, I wrote:
>
>
>>
Server 1.3.0 off of CVS...
>>
>>
The cause light wounds spell can make monsters invulverable. This has
>>
happened to me repeatedly. No (reasonable amount of) damage can kill
>>
the creature after this happens...
>
>
>
They aren't really invulnerable. I laid on the Run key and "went to
>
sleep" while running into the monster. When I woke up, he was dead...
>
>
Without looking at the code, one might guess the problem to be one of
>
death detection and rollover. Like a "life" number goes negative but
>
death isn't detected. The creature now will not die until the variable
>
rolls back around to zero again.
Highly unlikely that is the actual problem.
The check in the code is for hp < 0. hp is a 16 bit value. So unless it took
so much damage in one to to got from say 5 hp to 32000 hp, rollover isn't an
issue. If death isn't detected when you put a monster at -5 for some strange
reason, the same <0 check goes through when it gets to -10, etc.
Much more likely is that the monster is just starting with a really high HP
total for some reason. The cure light wounds doesn't kill it because it has
gobs of HP. Similarly, it takes a long time to kill it by melee attack. So the
real question then becomes why does the monster have gobs of HP - it is possible
the cause light wounds is adding to its hp and not removing from it, or is it
possible that one in some number of monsters are being generated with a very
high hp total.
More information about the crossfire
mailing list