]> granicus.if.org Git - nethack/commitdiff
old bug report: unchanging iron golem still rehumanizes
authorcohrs <cohrs>
Tue, 21 Oct 2003 04:28:16 +0000 (04:28 +0000)
committercohrs <cohrs>
Tue, 21 Oct 2003 04:28:16 +0000 (04:28 +0000)
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

doc/fixes34.3
src/trap.c

index df3749c64d53b06a90cac98523afd3c7725ca65c..9bd30b8b7b57a531106326eb1bad0ef4f5e1395e 100644 (file)
@@ -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
index 063dfabf538f0f37704360646f0195795bd0a85a..4f5bb871b7fd9bce538368ce01e978e63c0bd0e6 100644 (file)
@@ -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);