[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