Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Someone in the newsgroup claims to have reported this in mid-October, but he uses a fake address in news and maybe he did so with his mail too, resulting it not being delivered. Anyway, arming a land mine on the Plane of Air, then setting it off, produced a pit in the air. This fixes that directly, in case someone manages to do it again, and it also prevents land mines and bear traps from being armed in midair in the first place. Ditto for Plane of Water; water/pool locations were already covered (can't arm there), and the bubbles ought to be treated similarly to Plane of Air. When testing this, I managed to get a crash while restoring a saved game. I had worn a blindfold and armed a land mine on the water level (with just the no-pit part of the patch in place), then saved. When restoring, I got a crash in restore_waterlevel() at one or the other of these lines (traceback pointed at the first, but it has to have actually been the second; an access violation from an address derived by applying a small offset to a null pointer): ebubbles = b; b->next = (struct bubble *)0; After that, I couldn't reproduce it with a wished-for trap and couldn't stay in one place long enough again to successfully arm a trap object. So there may be a nasty bug still present, perhaps now hidden by no longer being able to create a new trap on that level.
- Loading branch information