drain_item() always assumed player was responsible, so called costly_alteration() to adjust shop price of disenchanted item. If it was unpaid and the effect was caused by a disenchanter attack rather than by the hero, the feedback was nonsensical. This also lets a disenchanter hit worn rings, amulet, or blindfold if no armor gets targetted. Amulets, blindfolds, and most rings have no charge to be drained, but several types of rings do.
100 KiB
100 KiB