Reported directly to devteam, zapping wand of undead turning at a shopkeeper's corpse would cause a crash. 'Traits' to fully recreate the shk were attached to the corpse, but the temporary monster created on the map intended to be relaced by the shk didn't have any eshk struct, and the sequence replmon() -> replshk() -> inhishop() attempted to access mtmp->mextra->eshk when trying to reattach the shk to his/her shop. No other mextra structs involve pointer fixups, so pets, priests, vault guards don't need extra handling. I tested four cases. #1 and #3 had no shop bill at the time; I'm not sure about #2. These all worked. 1) shk killed inside shop, resurrected there; 2) killed outside shop on the shop level, resurrected there; 3) killed inside his shop, corpse carried to different level before being resurrected; 4) killed and resurrected on different level from shop after hero stole something (teleported out of shop with unpaid item)--shk left shop to chase hero and followed him/her up some stairs.
24 KiB
24 KiB