On Thu, Nov 23, 2000 at 01:03:55PM -0800, Peter Mardahl wrote: > Whatever the problem is, it is pretty subtle if it is in > the spell code. I think I've found the bug: FLAG_BERSERK was added and NUM_FLAGS increased, but not all places that use NUM_FLAGS were updated! One place is get_ob_diff(), I don't know if there are others. Please use 'grep' and examine _all_ places - that's the best method to prevent such bugs (and to fix lots of other bugs as a side effect). The effect in get_ob_diff() is that whenever an object's FLAG_ALIVE differs from its archetype's FLAG_ALIVE and the object is written to a temporary map file, an "Object 0" or "Object 1" line is written to the file. When such a map is read back the archetype's name is destroyed. Easiest way to reproduce: Cast a "build lighning wall". But there could also be maps that alter an objects FLAG_ALIVE. > 2) Lack of "poison fog" archetype. This SHOULD only have effect if > someone casts "poison fog": however, "poison fog" is disabled. > Maybe the failed search for this archetype sets up the heisenbug? > Reviewing THIS code, I doubt it as well. Looks harmless, even though it causes an annoying error message that activates the debugger everytime the server is started. -- Jan