Reported directly to devteam: monster vs monster location swapping didn't handle single-segment long worms properly. Multi-segment worms are disallowed but a worm with no visible segments (which actually has 1 segment at the head's location) are allowed and the segment wasn't being moved with the core monster and could trigger warnings if sanity checking is enabled. The next time that the worm moved, it got itself back in synch. I couldn't reproduce the warning but mdisplacem() clearly assumed that a long worm reporting 0 segments didn't have any so wasn't attempting to handle the hidden one.
86 KiB
86 KiB