dipping non-weapon iron in fountain

<email deleted> wrote:
> Non-weapon iron items don't appear to rust if #dipped in a fountain.

Fixed. If something does get rusted, its a 50/50 chance whether other
fountain effects take place on the item afterwards.
This commit is contained in:
nethack.allison
2003-10-15 12:32:35 +00:00
parent 9f6e99c9c1
commit 46296dfb5c
3 changed files with 32 additions and 11 deletions
+2
View File
@@ -48,6 +48,8 @@ bill for all discarded, opened tins
monsters that cannot pick things up cannot throw things either monsters that cannot pick things up cannot throw things either
eating an amulet of unchanging removes intrinsic polymorph eating an amulet of unchanging removes intrinsic polymorph
Vlad won't waste time trying to use wand of digging in his own tower Vlad won't waste time trying to use wand of digging in his own tower
non-weapon iron objects should rust when dipped in fountains since
iron weapons rust
Platform- and/or Interface-Specific Fixes Platform- and/or Interface-Specific Fixes
+2 -1
View File
@@ -391,7 +391,8 @@ register struct obj *obj;
if(in_town(u.ux, u.uy)) if(in_town(u.ux, u.uy))
(void) angry_guards(FALSE); (void) angry_guards(FALSE);
return; return;
} else (void) get_wet(obj); } else if (get_wet(obj) && !rn2(2))
return;
/* Acid and water don't mix */ /* Acid and water don't mix */
if (obj->otyp == POT_ACID) { if (obj->otyp == POT_ACID) {
+28 -10
View File
@@ -1438,16 +1438,6 @@ register struct obj *obj;
/* (Rusting shop goods ought to be charged for.) */ /* (Rusting shop goods ought to be charged for.) */
switch (obj->oclass) { switch (obj->oclass) {
case WEAPON_CLASS:
if (!obj->oerodeproof && is_rustprone(obj) &&
(obj->oeroded < MAX_ERODE) && !rn2(2)) {
pline("%s some%s.",
Yobjnam2(obj, "rust"),
obj->oeroded ? " more" : "what");
obj->oeroded++;
update_inventory();
return TRUE;
} else break;
case POTION_CLASS: case POTION_CLASS:
if (obj->otyp == POT_WATER) return FALSE; if (obj->otyp == POT_WATER) return FALSE;
/* KMH -- Water into acid causes an explosion */ /* KMH -- Water into acid causes an explosion */
@@ -1518,6 +1508,20 @@ register struct obj *obj;
} }
return TRUE; return TRUE;
} }
break;
case WEAPON_CLASS:
/* Just "fall through" to generic rustprone check for now. */
/* fall through */
default:
if (!obj->oerodeproof && is_rustprone(obj) &&
(obj->oeroded < MAX_ERODE) && !rn2(2)) {
pline("%s %s some%s.",
Your_buf, aobjnam(obj, "rust"),
obj->oeroded ? " more" : "what");
obj->oeroded++;
update_inventory();
return TRUE;
} else break;
} }
pline("%s wet.", Yobjnam2(obj, "get")); pline("%s wet.", Yobjnam2(obj, "get"));
return FALSE; return FALSE;
@@ -1562,6 +1566,20 @@ dodip()
} }
return 1; return 1;
} }
break;
case WEAPON_CLASS:
/* Just "fall through" to generic rustprone check for now. */
/* fall through */
default:
if (!obj->oerodeproof && is_rustprone(obj) &&
(obj->oeroded < MAX_ERODE) && !rn2(2)) {
pline("%s %s some%s.",
Your_buf, aobjnam(obj, "rust"),
obj->oeroded ? " more" : "what");
obj->oeroded++;
update_inventory();
return TRUE;
} else break;
} }
if(!(potion = getobj(beverages, "dip into"))) if(!(potion = getobj(beverages, "dip into")))