silver vs poly'd hero (trunk only)

<Someone> reported that thitu() was adding d20 damage for silver object
hitting silver-hating hero even though all the callers were using dmgval()
which also does that, resulting in doubled silver bonus/penalty.  This
fixes that (including for boomerangs thrown by player, which weren't using
dmgval(), to handle a hyptothetical silver boomerang).  While testing it,
I noticed that there was no "the silver sears your flesh" message when a
monster hit you with a wielded silver weapon, so this fixes that too.
(How did we miss that?  And how did <Someone>? :-)
This commit is contained in:
nethack.rankin
2006-04-06 05:57:50 +00:00
parent 820f3f70d9
commit 27dcb8e34a
6 changed files with 15 additions and 8 deletions

View File

@@ -940,6 +940,9 @@ hitmu(mtmp, mattk)
artifact_hit(mtmp, &youmonst, otmp, &dmg,dieroll)))
hitmsg(mtmp, mattk);
if (!dmg) break;
if (objects[otmp->otyp].oc_material == SILVER &&
hates_silver(youmonst.data))
pline_The("silver sears your flesh!");
if (u.mh > 1 && u.mh > ((u.uac>0) ? dmg : dmg+u.uac) &&
objects[otmp->otyp].oc_material == IRON &&
(u.umonnum==PM_BLACK_PUDDING