[CF-Devel] Re: Cause diseases

Mark Wedel mwedel at sonic.net
Tue Jun 25 23:55:22 CDT 2002


Copying to list, as some things may be of general interest:


S. A. Heyn wrote:

>
     
      Dear Mark,
     
     >
     
     
     >
     
      many Thanks for Your answer!
     
     >
     
      Just another disease hit me often:
     
     >
     
     
     >
     
      If I go in a dungeon with a lot of monsters (e.g. Administration in brittany)
     
     >
     
      and have peaced a Dread. I can't inflict any disease in it, neither by prayer nor by traps.
     
     >
     
      When summoned some pet monsters and inflicted almost any disease the dreads are also
     
     >
     
      diseased (if I do not go away qick enough I'm also diseased).
     
     >
     
      Shouldn't there equal behaviour of the diseases?
     
     

  Yep.  I don't see any code in place that prevents the infection of 
friendly/non agressive creatures.  I would think that since you can infect 
yourself, everyone should be infected, including party members.


>
     
      Another problem: If monsters are inflicted by a trap (invoke magic rune of cause white death for
     
     >
     
      example) many monsters including other behind walls etc. are hit.
     
     

  I don't think the cause of the infection matters here.  I know I've cast a 
disease spell that hit creatures not directly accessible.

  I think this may be intentional (eg, even the walls have cracks the disease 
would get through).  The check_infection function which spreads the disease out 
just looks for creatures within whatever number of spaces that the disease can 
infect.

  If diseases should be made to not go through objects, probably wouldn't be too 
hard to change it - matter of efficiency may come in - to do it properly, a 
recursive type routine would be needed if the range is more than a couple 
spaces.  I'm not sure what the longest range for any disease is.

>
     
      But then the server crashes
     
     >
     
      with the comment "too many errors" and a huge list of "bad skill calcd by player".
     
     >
     
      I'm not sure, but is it intended to use the magic rune in traps also?
     
     >
     
      If so, most of the prayers are not working (however nice help for large monsters though :-) ).
     
     

  My guess is that the skill pointer is being set incorrectly - it is probably 
being set to the wizardry skill (from where the magic rune is cast) and not the 
wisdom rune.  When the code goes to give exp credit, it knows it should go to 
wisdom yet it doesn't see a wisdom pointer.  PRobably not too hard to fix that up.

  Of course, the server also should not exit - the MAX_ERRORS I guess was there 
so that when things were really screwed up, the logging of all those errors 
would cause it to crash and then restart.  But for some things, like a spell, 
the current value of 25 is pretty low - low enough that it could happen in 
normal circumstances.




    
    


More information about the crossfire mailing list