From: cohrs Date: Tue, 21 Oct 2003 04:28:16 +0000 (+0000) Subject: old bug report: unchanging iron golem still rehumanizes X-Git-Tag: MOVE2GIT~1671 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=15bd245d2bbaa20db4e2a04a2381b08b97a929ef;p=nethack old bug report: unchanging iron golem still rehumanizes Calling rehumanize directly when u.mh > 0 doesn't consider Unchanging (perhaps it should?). But, it's probably better to call losehp anyway. Also, part of a buglist item: .5PD didn't affect rust trap damage on iron golem --- diff --git a/doc/fixes34.3 b/doc/fixes34.3 index df3749c64..9bd30b8b7 100644 --- a/doc/fixes34.3 +++ b/doc/fixes34.3 @@ -63,6 +63,7 @@ allow a crystal ball to detect mimics via ']' prevent boulder option from accepting a symbol that matches a monster symbol traveling while standing on a trap would sometime step in the wrong direction avoid traveling into water/lava, using usual running rules +unchanging iron golem would still rehumanize in a rust trap Platform- and/or Interface-Specific Fixes diff --git a/src/trap.c b/src/trap.c index 063dfabf5..4f5bb871b 100644 --- a/src/trap.c +++ b/src/trap.c @@ -779,9 +779,12 @@ unsigned trflags; case RUST_TRAP: seetrap(trap); if (u.umonnum == PM_IRON_GOLEM) { + int dam = u.mhmax; + pline("%s you!", A_gush_of_water_hits); You("are covered with rust!"); - rehumanize(); + if (Half_physical_damage) dam = (dam+1) / 2; + losehp(dam, "rusting away", KILLED_BY); break; } else if (u.umonnum == PM_GREMLIN && rn2(3)) { pline("%s you!", A_gush_of_water_hits);