github issue #1060 - crystal helmet

Issue reported by vultur-cadens:  changing helm of brilliance to
crystal made it stop being classified as "hard helmet" so it gave
less protection against things falling onto the hero's head.

Change the is_metallic() tests used on helmets to new hard_helmet().
Unlike when thrown, crystal helmets don't break when objects fall
on them.

Fixes #1060
This commit is contained in:
PatR
2023-06-14 06:13:11 -07:00
parent 0440eb5091
commit 450f060132
14 changed files with 44 additions and 14 deletions

View File

@@ -1334,7 +1334,7 @@ toss_up(struct obj *obj, boolean hitsroof)
} else { /* neither potion nor other breaking object */
int material = objects[otyp].oc_material;
boolean is_silver = (material == SILVER),
less_damage = (uarmh && is_metallic(uarmh)
less_damage = (hard_helmet(uarmh)
&& (!is_silver || !Hate_silver)),
harmless = (stone_missile(obj)
&& passes_rocks(gy.youmonst.data)),