monsters that cannot pick things up cannot throw things either
eating an amulet of unchanging removes intrinsic polymorph
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
if(in_town(u.ux, u.uy))
(void) angry_guards(FALSE);
return;
- } else (void) get_wet(obj);
+ } else if (get_wet(obj) && !rn2(2))
+ return;
/* Acid and water don't mix */
if (obj->otyp == POT_ACID) {
/* (Rusting shop goods ought to be charged for.) */
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:
if (obj->otyp == POT_WATER) return FALSE;
/* KMH -- Water into acid causes an explosion */
}
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"));
return FALSE;
}
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")))