Make monster destroy armor -spell erode armor first

Instead of outright destroying the armor, the spell will instead
first erode the armor.  The spell hits 2-4 times, so if it hits
the same armor 4 times, it will get destroyed.  This does not
hit erodeproof armor.

Also change the scroll of destroy armor, so that blessed one will
destroy a cursed armor, if hero is only wearing that.
This commit is contained in:
Pasi Kallinen
2026-03-16 11:20:34 +02:00
parent b70da87d3e
commit 619de1ec0e
8 changed files with 127 additions and 25 deletions

View File

@@ -4462,21 +4462,21 @@ zhitu(
monstunseesu(M_SEEN_DISINT);
if (uarms) {
/* destroy shield; other possessions are safe */
(void) destroy_arm(uarms);
(void) disintegrate_arm(uarms);
break;
} else if (uarm) {
/* destroy suit; if present, cloak goes too */
if (uarmc)
(void) destroy_arm(uarmc);
(void) destroy_arm(uarm);
(void) disintegrate_arm(uarmc);
(void) disintegrate_arm(uarm);
break;
}
/* no shield or suit, you're dead; wipe out cloak
and/or shirt in case of life-saving or bones */
if (uarmc)
(void) destroy_arm(uarmc);
(void) disintegrate_arm(uarmc);
if (uarmu)
(void) destroy_arm(uarmu);
(void) disintegrate_arm(uarmu);
} else if (nonliving(gy.youmonst.data) || is_demon(gy.youmonst.data)) {
shieldeff(sx, sy);
You("seem unaffected.");