[CF-Devel] Archetype reversion of modified monsters

Mark Wedel mwedel at sonic.net
Tue Apr 30 01:40:18 CDT 2002


Johnny Shelley wrote:

>
     
      On Mon, 29 Apr 2002, Johnny Shelley wrote:
     
     >
     
     
     >
     
     
     >>
     
     I seem to have found a problem with modified monsters reverting to the
     
     >>
     
     default resistances of their archetype. In addition, a few other things
     
     >>
     
     change as well. I'm not sure, but this seems to be limited to color
     
     >>
     
     spray. After taking damage from it monsters sometimes change
     
     >>
     
     resistances. 
     
     >>
     
     
     >
     
     
     >
     
      After a bit more playing around, it seems that color spray is probably
     
     >
     
      not the cause of the problem. Sorry for any confusion. The problem seems
     
     >
     
      to recur consistently when a modified multi-part monster hits itself w/
     
     >
     
      a spell its not 100% immune to. This still doesn't quite explain how I
     
     >
     
      was able to kill the firegod w/ colorspray, but its easier to reproduce
     
     >
     
      in any event.
     
     

  This is a long standing 'bug' (feature).

  When you modify the attributes of an object, those values are stored in the 
object structure.

  When something then modifies the object, like the the monster equipping and 
item or getting affected by a spell, it needs to recalculate the creatures 
resistances, attributes, and so forth.  As a starting point, it then goes back 
to the archetype, and the calculated values then overwrite those entries in the 
save file.

  The correct approach would be to have alternate fields in the object 
structure, and these get used as the base values when calculating the final 
values.  Another work around that was used was to make it so the creature 
wouldn't apply anything, but you get an interesting effect that casting a 
beneficial spell on the monster could then perhaps make it wimpier (as the base 
value would then be used).

  A convenient work around is to just create a force object that lasts forever 
and put it in the creatures inventory (make sure it is applied).  it will still 
use the original archetypes value when the object changes, but it will also 
apply the force object which will adjust the final values accordingly.



    
    


More information about the crossfire mailing list