minor experience calculation tweaks
level telporting out of the dungeon while carrying unpaid shop goods would
trigger "not on any bill" warnings during final inventory disclosure
+only hard helmets protect against falling piercers
Platform- and/or Interface-Specific Fixes
Amonnam(mtmp), ceiling(u.ux,u.uy));
if(mtmp->mtame) /* jumps to greet you, not attack */
;
- else if(uarmh)
+ else if(uarmh && is_metallic(uarmh))
pline("Its blow glances off your helmet.");
else if (u.uac + 3 <= rnd(20))
You("are almost hit by %s!",
u.uundetected = 0;
if (is_hider(youmonst.data)) {
coord cc; /* maybe we need a unexto() function? */
+ struct obj *obj;
You("fall from the %s!", ceiling(u.ux,u.uy));
if (enexto(&cc, u.ux, u.uy, youmonst.data)) {
if (youmonst.data->mlet != S_PIERCER)
return(0); /* trappers don't attack */
- if (which_armor(mtmp, WORN_HELMET)) {
+ obj = which_armor(mtmp, WORN_HELMET);
+ if (obj && is_metallic(obj)) {
Your("blow glances off %s helmet.",
s_suffix(mon_nam(mtmp)));
} else {