diff --git a/src/fountain.c b/src/fountain.c index 13cc84ac9..6a066f059 100644 --- a/src/fountain.c +++ b/src/fountain.c @@ -429,12 +429,8 @@ dipfountain(register struct obj *obj) } else { er = water_damage(obj, NULL, TRUE); - if (obj->otyp == POT_ACID - && er != ER_DESTROYED) { /* Acid and water don't mix */ - useup(obj); - return; - } else if (er != ER_NOTHING && !rn2(2)) { /* no further effect */ - return; + if (er == ER_DESTROYED || (er != ER_NOTHING && !rn2(2))) { + return; /* no further effect */ } } diff --git a/src/trap.c b/src/trap.c index b75b2a3d8..22ccb2af2 100644 --- a/src/trap.c +++ b/src/trap.c @@ -4146,10 +4146,13 @@ water_damage( wet_a_towel(obj, -rnd(7 - obj->spe), TRUE); return ER_NOTHING; } else if (obj->greased) { - if (!rn2(2)) + if (!rn2(2)) { obj->greased = 0; - if (carried(obj)) - update_inventory(); + if (carried(obj)) { + pline_The("grease on %s washes off.", yname(obj)); + update_inventory(); + } + } return ER_GREASED; } else if (Is_container(obj) && (!Waterproof_container(obj) || (obj->cursed && !rn2(3)))) {