From: Pasi Kallinen Date: Tue, 7 Jun 2016 17:57:50 +0000 (+0300) Subject: Hallucinatory liquids for water, lava, and acid X-Git-Tag: NetHack-3.6.1_RC01~692 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3502cfcc5ac86241f2868dc43d7ca11fa4f1bfd7;p=nethack Hallucinatory liquids for water, lava, and acid --- diff --git a/include/extern.h b/include/extern.h index 5ef96697d..4781d1b9c 100644 --- a/include/extern.h +++ b/include/extern.h @@ -401,6 +401,7 @@ E char *FDECL(distant_monnam, (struct monst *, int, char *)); E char *FDECL(rndmonnam, (char *)); E const char *FDECL(hcolor, (const char *)); E const char *NDECL(rndcolor); +E const char *FDECL(hliquid, (const char *)); E const char *NDECL(roguename); E struct obj *FDECL(realloc_obj, (struct obj *, int, genericptr_t, int, const char *)); diff --git a/src/apply.c b/src/apply.c index 544619b94..e00557a55 100644 --- a/src/apply.c +++ b/src/apply.c @@ -1621,7 +1621,7 @@ int magic; /* 0=Physical, otherwise skill level */ deltrap(t_at(u.ux, u.uy)); break; case TT_LAVA: - You("pull yourself above the lava!"); + You("pull yourself above the %s!", hliquid("lava")); u.utrap = 0; return 1; case TT_BURIEDBALL: diff --git a/src/ball.c b/src/ball.c index a4f148395..3b81a8f74 100644 --- a/src/ball.c +++ b/src/ball.c @@ -716,7 +716,7 @@ xchar x, y; deltrap(t_at(u.ux, u.uy)); break; case TT_LAVA: - pline(pullmsg, "lava"); + pline(pullmsg, hliquid("lava")); break; case TT_BEARTRAP: { register long side = rn2(3) ? LEFT_SIDE : RIGHT_SIDE; diff --git a/src/dbridge.c b/src/dbridge.c index be087fd4b..0d0421862 100644 --- a/src/dbridge.c +++ b/src/dbridge.c @@ -750,7 +750,7 @@ struct entity *etmp; E_phrase(etmp, "drink"), lava ? "lava" : "moat"); else pline("%s into the %s.", E_phrase(etmp, "fall"), - lava ? "lava" : "moat"); + lava ? hliquid("lava") : "moat"); } killer.format = NO_KILLER_PREFIX; Strcpy(killer.name, "fell from a drawbridge"); @@ -901,13 +901,13 @@ int x, y; if (lev1->typ == DRAWBRIDGE_UP) { if (cansee(x2, y2)) pline_The("portcullis of the drawbridge falls into the %s!", - lava ? "lava" : "moat"); + lava ? hliquid("lava") : "moat"); else if (!Deaf) You_hear("a loud *SPLASH*!"); } else { if (cansee(x, y)) pline_The("drawbridge collapses into the %s!", - lava ? "lava" : "moat"); + lava ? hliquid("lava") : "moat"); else if (!Deaf) You_hear("a loud *SPLASH*!"); } diff --git a/src/dig.c b/src/dig.c index bbfef5d0b..5f45e117e 100644 --- a/src/dig.c +++ b/src/dig.c @@ -209,7 +209,7 @@ int x, y; return FALSE; } else if (Is_waterlevel(&u.uz)) { if (verbose) - pline_The("water splashes and subsides."); + pline_The("%s splashes and subsides.", hliquid("water")); return FALSE; } else if ((IS_ROCK(levl[x][y].typ) && levl[x][y].typ != SDOOR && (levl[x][y].wall_info & W_NONDIGGABLE) != 0) @@ -735,7 +735,7 @@ const char *fillmsg; unearth_objs(x, y); if (fillmsg) - pline(fillmsg, typ == LAVAPOOL ? "lava" : "water"); + pline(fillmsg, hliquid(typ == LAVAPOOL ? "lava" : "water")); if (u_spot && !(Levitation || Flying)) { if (typ == LAVAPOOL) (void) lava_effects(); @@ -780,7 +780,7 @@ coord *cc; } else if (is_pool_or_lava(dig_x, dig_y)) { pline_The("%s sloshes furiously for a moment, then subsides.", - is_lava(dig_x, dig_y) ? "lava" : "water"); + hliquid(is_lava(dig_x, dig_y) ? "lava" : "water")); wake_nearby(); /* splashing */ } else if (lev->typ == DRAWBRIDGE_DOWN diff --git a/src/do.c b/src/do.c index 2cbfa3660..94ef36ee3 100644 --- a/src/do.c +++ b/src/do.c @@ -103,7 +103,8 @@ boolean pushing; You("find yourself on dry land again!"); } else if (lava && distu(rx, ry) <= 2) { int dmg; - You("are hit by molten lava%c", Fire_resistance ? '.' : '!'); + You("are hit by molten %s%c", + hliquid("lava"), Fire_resistance ? '.' : '!'); burn_away_slime(); dmg = d((Fire_resistance ? 1 : 3), 6); losehp(Maybe_Half_Phys(dmg), /* lava damage */ @@ -379,18 +380,21 @@ register struct obj *obj; You_hear("loud noises coming from the drain."); break; case RIN_SUSTAIN_ABILITY: /* KMH */ - pline_The("water flow seems fixed."); + pline_The("%s flow seems fixed.", hliquid("water")); break; case RIN_GAIN_STRENGTH: - pline_The("water flow seems %ser now.", + pline_The("%s flow seems %ser now.", + hliquid("water"), (obj->spe < 0) ? "weak" : "strong"); break; case RIN_GAIN_CONSTITUTION: - pline_The("water flow seems %ser now.", + pline_The("%s flow seems %ser now.", + hliquid("water"), (obj->spe < 0) ? "less" : "great"); break; case RIN_INCREASE_ACCURACY: /* KMH */ - pline_The("water flow %s the drain.", + pline_The("%s flow %s the drain.", + hliquid("water"), (obj->spe < 0) ? "misses" : "hits"); break; case RIN_INCREASE_DAMAGE: @@ -456,10 +460,12 @@ register struct obj *obj; pline_The("sink seems to blend into the floor for a moment."); break; case RIN_FIRE_RESISTANCE: - pline_The("hot water faucet flashes brightly for a moment."); + pline_The("hot %s faucet flashes brightly for a moment.", + hliquid("water")); break; case RIN_COLD_RESISTANCE: - pline_The("cold water faucet flashes brightly for a moment."); + pline_The("cold %s faucet flashes brightly for a moment.", + hliquid("water")); break; case RIN_PROTECTION_FROM_SHAPE_CHAN: pline_The("sink looks nothing like a fountain."); diff --git a/src/do_name.c b/src/do_name.c index 5e869da67..c19425f3a 100644 --- a/src/do_name.c +++ b/src/do_name.c @@ -1591,6 +1591,23 @@ rndcolor() : c_obj_colors[k]; } +static NEARDATA const char *const hliquids[] = { + "yoghurt", "oobleck", "clotted blood", "diluted water", "purified water", + "instant coffee", "tea", "herbal infusion", "liquid rainbow", + "creamy foam", "mulled wine", "bouillon", "nectar", "grog", "flubber", + "ketchup", "slow light", "oil", "vinaigrette", "liquid crystal", "honey", + "caramel sauce", "ink", "aqueous humour", "milk substitute", "fruit juice", + "glowing lava", +}; + +const char * +hliquid(liquidpref) +const char *liquidpref; +{ + return (Hallucination || !liquidpref) ? hliquids[rn2(SIZE(hliquids))] + : liquidpref; +} + /* Aliases for road-runner nemesis */ static const char *const coynames[] = { diff --git a/src/do_wear.c b/src/do_wear.c index 9f2f1fb2d..e588e5413 100644 --- a/src/do_wear.c +++ b/src/do_wear.c @@ -773,7 +773,8 @@ Amulet_off() setworn((struct obj *) 0, W_AMUL); if (!breathless(youmonst.data) && !amphibious(youmonst.data) && !Swimming) { - You("suddenly inhale an unhealthy amount of water!"); + You("suddenly inhale an unhealthy amount of %s!", + hliquid("water")); (void) drown(); } return; diff --git a/src/dokick.c b/src/dokick.c index 7515f6fda..b7e5c5757 100644 --- a/src/dokick.c +++ b/src/dokick.c @@ -947,7 +947,7 @@ dokick() } if (is_pool(x, y) ^ !!u.uinwater) { /* objects normally can't be removed from water by kicking */ - You("splash some water around."); + You("splash some %s around.", hliquid("water")); return 1; } diff --git a/src/dothrow.c b/src/dothrow.c index 11e2b84bc..2a70c8c35 100644 --- a/src/dothrow.c +++ b/src/dothrow.c @@ -729,7 +729,7 @@ boolean verbose; u.utraptype == TT_WEB ? "web" : u.utraptype == TT_LAVA - ? "lava" + ? hliquid("lava") : u.utraptype == TT_INFLOOR ? surface(u.ux, u.uy) : u.utraptype == TT_BURIEDBALL ? "buried ball" diff --git a/src/engrave.c b/src/engrave.c index 3b5108fd8..0c2670af2 100644 --- a/src/engrave.c +++ b/src/engrave.c @@ -185,11 +185,12 @@ register int x, y; else if (IS_AIR(lev->typ) && Is_airlevel(&u.uz)) return "air"; else if (is_pool(x, y)) - return (Underwater && !Is_waterlevel(&u.uz)) ? "bottom" : "water"; + return (Underwater && !Is_waterlevel(&u.uz)) + ? "bottom" : hliquid("water"); else if (is_ice(x, y)) return "ice"; else if (is_lava(x, y)) - return "lava"; + return hliquid("lava"); else if (lev->typ == DRAWBRIDGE_DOWN) return "bridge"; else if (IS_ALTAR(levl[x][y].typ)) diff --git a/src/fountain.c b/src/fountain.c index fb6dba691..c020c394b 100644 --- a/src/fountain.c +++ b/src/fountain.c @@ -337,7 +337,8 @@ drinkfountain() { register struct monst *mtmp; - pline("This water gives you bad breath!"); + pline("This %s gives you bad breath!", + hliquid("water")); for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) { if (DEADMONSTER(mtmp)) continue; @@ -349,7 +350,8 @@ drinkfountain() dogushforth(TRUE); break; default: - pline("This tepid water is tasteless."); + pline("This tepid %s is tasteless.", + hliquid("water")); break; } } @@ -372,8 +374,8 @@ register struct obj *obj; && !exist_artifact(LONG_SWORD, artiname(ART_EXCALIBUR))) { if (u.ualign.type != A_LAWFUL) { /* Ha! Trying to cheat her. */ - pline( - "A freezing mist rises from the water and envelopes the sword."); + pline("A freezing mist rises from the %s and envelopes the sword.", + hliquid("water")); pline_The("fountain disappears!"); curse(obj); if (obj->spe > -6 && !rn2(3)) @@ -423,7 +425,7 @@ register struct obj *obj; case 20: /* Uncurse the item */ if (obj->cursed) { if (!Blind) - pline_The("water glows for a moment."); + pline_The("%s glows for a moment.", hliquid("water")); uncurse(obj); } else { pline("A feeling of loss comes over you."); @@ -490,7 +492,8 @@ register struct obj *obj; + 1) * 2) + 5), u.ux, u.uy); if (!Blind) - pline("Far below you, you see coins glistening in the water."); + pline("Far below you, you see coins glistening in the %s.", + hliquid("water")); exercise(A_WIS, TRUE); newsym(u.ux, u.uy); break; @@ -524,13 +527,13 @@ drinksink() } switch (rn2(20)) { case 0: - You("take a sip of very cold water."); + You("take a sip of very cold %s.", hliquid("water")); break; case 1: - You("take a sip of very warm water."); + You("take a sip of very warm %s.", hliquid("water")); break; case 2: - You("take a sip of scalding hot water."); + You("take a sip of scalding hot %s.", hliquid("water")); if (Fire_resistance) pline("It seems quite tasty."); else @@ -573,19 +576,19 @@ drinksink() exercise(A_WIS, TRUE); newsym(u.ux, u.uy); } else - pline("Some dirty water backs up in the drain."); + pline("Some dirty %s backs up in the drain.", hliquid("water")); break; case 6: breaksink(u.ux, u.uy); break; case 7: - pline_The("water moves as though of its own will!"); + pline_The("%s moves as though of its own will!", hliquid("water")); if ((mvitals[PM_WATER_ELEMENTAL].mvflags & G_GONE) || !makemon(&mons[PM_WATER_ELEMENTAL], u.ux, u.uy, NO_MM_FLAGS)) pline("But it quiets down."); break; case 8: - pline("Yuk, this water tastes awful."); + pline("Yuk, this %s tastes awful.", hliquid("water")); more_experienced(1, 0); newexplevel(); break; @@ -595,7 +598,7 @@ drinksink() vomit(); break; case 10: - pline("This water contains toxic wastes!"); + pline("This %s contains toxic wastes!", hliquid("water")); if (!Unchanging) { You("undergo a freakish metamorphosis!"); polyself(0); @@ -614,8 +617,9 @@ drinksink() break; } default: - You("take a sip of %s water.", - rn2(3) ? (rn2(2) ? "cold" : "warm") : "hot"); + You("take a sip of %s %s.", + rn2(3) ? (rn2(2) ? "cold" : "warm") : "hot", + hliquid("water")); } } diff --git a/src/hack.c b/src/hack.c index 716958f19..e62b8d333 100644 --- a/src/hack.c +++ b/src/hack.c @@ -1169,9 +1169,11 @@ struct trap *desttrap; /* nonnull if another trap at */ if ((u.utrap & 0xff) == 0) { u.utrap = 0; if (u.usteed) - You("lead %s to the edge of the lava.", steedname); + You("lead %s to the edge of the %s.", steedname, + hliquid("lava")); else - You("pull yourself to the edge of the lava."); + You("pull yourself to the edge of the %s.", + hliquid("lava")); } } u.umoved = TRUE; @@ -1878,16 +1880,16 @@ boolean newspot; /* true if called by spoteffects */ if (Is_waterlevel(&u.uz)) You("pop into an air bubble."); else if (is_lava(u.ux, u.uy)) - You("leave the water..."); /* oops! */ + You("leave the %s...", hliquid("water")); /* oops! */ else You("are on solid %s again.", is_ice(u.ux, u.uy) ? "ice" : "land"); } else if (Is_waterlevel(&u.uz)) { still_inwater = TRUE; } else if (Levitation) { - You("pop out of the water like a cork!"); + You("pop out of the %s like a cork!", hliquid("water")); } else if (Flying) { - You("fly out of the water."); + You("fly out of the %s.", hliquid("water")); } else if (Wwalking) { You("slowly rise above the surface."); } else { @@ -2398,7 +2400,8 @@ dopickup() if (is_pool(u.ux, u.uy)) { if (Wwalking || is_floater(youmonst.data) || is_clinger(youmonst.data) || (Flying && !Breathless)) { - You("cannot dive into the water to pick things up."); + You("cannot dive into the %s to pick things up.", + hliquid("water")); return 0; } else if (!Underwater) { You_cant("even see the bottom, let alone pick up %s.", something); @@ -2425,7 +2428,7 @@ dopickup() else if (IS_GRAVE(lev->typ)) You("don't need a gravestone. Yet."); else if (IS_FOUNTAIN(lev->typ)) - You("could drink the water..."); + You("could drink the %s...", hliquid("water")); else if (IS_DOOR(lev->typ) && (lev->doormask & D_ISOPEN)) pline("It won't come off the hinges."); else diff --git a/src/lock.c b/src/lock.c index 6770556a6..121310630 100644 --- a/src/lock.c +++ b/src/lock.c @@ -315,7 +315,7 @@ struct obj *pick; pline("Doing that would probably melt %s.", yname(pick)); return PICKLOCK_LEARNED_SOMETHING; } else if (is_pool(u.ux, u.uy) && !Underwater) { - pline_The("water has no lock."); + pline_The("%s has no lock.", hliquid("water")); return PICKLOCK_LEARNED_SOMETHING; } diff --git a/src/mhitm.c b/src/mhitm.c index 3c6965fd0..2f734978f 100644 --- a/src/mhitm.c +++ b/src/mhitm.c @@ -974,11 +974,12 @@ register struct attack *mattk; } if (resists_acid(mdef)) { if (vis) - pline("%s is covered in acid, but it seems harmless.", + pline("%s is covered in %s, but it seems harmless.", + hliquid("acid"), Monnam(mdef)); tmp = 0; } else if (vis) { - pline("%s is covered in acid!", Monnam(mdef)); + pline("%s is covered in %s!", hliquid("acid"), Monnam(mdef)); pline("It burns %s!", mon_nam(mdef)); } if (!rn2(30)) @@ -1492,7 +1493,8 @@ int mdead; if (mhit && !rn2(2)) { Strcpy(buf, Monnam(magr)); if (canseemon(magr)) - pline("%s is splashed by %s acid!", buf, + pline("%s is splashed by %s %s!", buf, + hliquid("acid"), s_suffix(mon_nam(mdef))); if (resists_acid(magr)) { if (canseemon(magr)) diff --git a/src/mhitu.c b/src/mhitu.c index e9ec5a9e0..e4dc53484 100644 --- a/src/mhitu.c +++ b/src/mhitu.c @@ -1480,10 +1480,11 @@ register struct attack *mattk; hitmsg(mtmp, mattk); if (!mtmp->mcan && !rn2(3)) if (Acid_resistance) { - pline("You're covered in acid, but it seems harmless."); + pline("You're covered in %s, but it seems harmless.", + hliquid("acid")); dmg = 0; } else { - pline("You're covered in acid! It burns!"); + pline("You're covered in %s! It burns!", hliquid("acid")); exercise(A_STR, FALSE); } else @@ -2636,7 +2637,7 @@ register struct attack *mattk; switch (olduasmon->mattk[i].adtyp) { case AD_ACID: if (!rn2(2)) { - pline("%s is splashed by your acid!", Monnam(mtmp)); + pline("%s is splashed by your %s!", Monnam(mtmp), hliquid("acid")); if (resists_acid(mtmp)) { pline("%s is not affected.", Monnam(mtmp)); tmp = 0; diff --git a/src/mkmaze.c b/src/mkmaze.c index 130d5c7df..b3dc88f3e 100644 --- a/src/mkmaze.c +++ b/src/mkmaze.c @@ -1316,7 +1316,7 @@ xchar x, y; ltyp = db_under_typ(lev->drawbridgemask); if (ltyp == LAVAPOOL) - return "lava"; + return hliquid("lava"); else if (ltyp == ICE) return "ice"; else if (ltyp == POOL) @@ -1328,7 +1328,7 @@ xchar x, y; else if (ltyp == MOAT && !Is_medusa_level(&u.uz)) return "moat"; - return "water"; + return hliquid("water"); } STATIC_OVL void diff --git a/src/mon.c b/src/mon.c index b8f201bbf..059903a7b 100644 --- a/src/mon.c +++ b/src/mon.c @@ -554,7 +554,8 @@ register struct monst *mtmp; if (u.ustuck && u.uswallow && u.ustuck == mtmp) { /* This can happen after a purple worm plucks you off a flying steed while you are over water. */ - pline("%s sinks as water rushes in and flushes you out.", + pline("%s sinks as %s rushes in and flushes you out.", + hliquid("water"), Monnam(mtmp)); } mondead(mtmp); diff --git a/src/mthrowu.c b/src/mthrowu.c index e0961a1ce..bff417325 100644 --- a/src/mthrowu.c +++ b/src/mthrowu.c @@ -372,7 +372,7 @@ boolean verbose; /* give message(s) even when you can't see what happened */ damage = 0; } else { if (vis) - pline_The("acid burns %s!", mon_nam(mtmp)); + pline_The("%s burns %s!", hliquid("acid"), mon_nam(mtmp)); else if (verbose && !target) pline("It is burned!"); } diff --git a/src/pickup.c b/src/pickup.c index 7131428e0..9be8c809f 100644 --- a/src/pickup.c +++ b/src/pickup.c @@ -1548,7 +1548,7 @@ boolean looting; /* loot vs tip */ /* at present, can't loot in water even when Underwater; can tip underwater, but not when over--or stuck in--lava */ You("cannot %s things that are deep in the %s.", verb, - is_lava(x, y) ? "lava" : "water"); + hliquid(is_lava(x, y) ? "lava" : "water")); return FALSE; } else if (nolimbs(youmonst.data)) { pline("Without limbs, you cannot %s anything.", verb); diff --git a/src/polyself.c b/src/polyself.c index d4c2afdf1..71f9ce8ba 100644 --- a/src/polyself.c +++ b/src/polyself.c @@ -807,7 +807,7 @@ int mntmp; } else if (likes_lava(youmonst.data) && u.utrap && u.utraptype == TT_LAVA) { u.utrap = 0; - pline_The("lava now feels soothing."); + pline_The("%s now feels soothing.", hliquid("lava")); } if (amorphous(youmonst.data) || is_whirly(youmonst.data) || unsolid(youmonst.data)) { @@ -1419,7 +1419,7 @@ dohide() if (IS_FOUNTAIN(levl[u.ux][u.uy].typ)) The("fountain is not deep enough to hide in."); else - There("is no water to hide in here."); + There("is no %s to hide in here.", hliquid("water")); u.uundetected = 0; return 0; } diff --git a/src/potion.c b/src/potion.c index d2bf6a021..2e7ceb15f 100644 --- a/src/potion.c +++ b/src/potion.c @@ -578,7 +578,7 @@ register struct obj *otmp; break; case POT_WATER: if (!otmp->blessed && !otmp->cursed) { - pline("This tastes like water."); + pline("This tastes like %s.", hliquid("water")); u.uhunger += rnd(10); newuhs(FALSE); break; @@ -587,7 +587,7 @@ register struct obj *otmp; if (is_undead(youmonst.data) || is_demon(youmonst.data) || u.ualign.type == A_CHAOTIC) { if (otmp->blessed) { - pline("This burns like acid!"); + pline("This burns like %s!", hliquid("acid")); exercise(A_CON, FALSE); if (u.ulycn >= LOW_PM) { Your("affinity to %s disappears!", @@ -616,7 +616,7 @@ register struct obj *otmp; /* make_confused(0L, TRUE); */ } else { if (u.ualign.type == A_LAWFUL) { - pline("This burns like acid!"); + pline("This burns like %s!", hliquid("acid")); losehp(Maybe_Half_Phys(d(2, 6)), "potion of unholy water", KILLED_BY_AN); } else diff --git a/src/read.c b/src/read.c index af8399037..fbf9f8201 100644 --- a/src/read.c +++ b/src/read.c @@ -1571,7 +1571,7 @@ struct obj *sobj; /* scroll, or fake spellbook object for scroll-like spell */ break; } if (Underwater) { - pline_The("water around you vaporizes violently!"); + pline_The("%s around you vaporizes violently!", hliquid("water")); } else { pline_The("scroll erupts in a tower of flame!"); iflags.last_msg = PLNMSG_TOWER_OF_FLAME; /* for explode() */ diff --git a/src/sit.c b/src/sit.c index cbc88f922..047e22338 100644 --- a/src/sit.c +++ b/src/sit.c @@ -100,7 +100,7 @@ dosit() u.utrap += rn1(10, 5); } else if (u.utraptype == TT_LAVA) { /* Must have fire resistance or they'd be dead already */ - You("sit in the lava!"); + You("sit in the %s!", hliquid("lava")); if (Slimed) burn_away_slime(); u.utrap += rnd(4); @@ -122,7 +122,7 @@ dosit() You("sit down on the muddy bottom."); } else if (is_pool(u.ux, u.uy)) { in_water: - You("sit in the water."); + You("sit in the %s.", hliquid("water")); if (!rn2(10) && uarm) (void) water_damage(uarm, "armor", TRUE); if (!rn2(10) && uarmf && uarmf->otyp != WATER_WALKING_BOOTS) @@ -141,13 +141,13 @@ dosit() You(sit_message, "ladder"); } else if (is_lava(u.ux, u.uy)) { /* must be WWalking */ - You(sit_message, "lava"); + You(sit_message, hliquid("lava")); burn_away_slime(); if (likes_lava(youmonst.data)) { - pline_The("lava feels warm."); + pline_The("%s feels warm.", hliquid("lava")); return 1; } - pline_The("lava burns you!"); + pline_The("%s burns you!", hliquid("lava")); losehp(d((Fire_resistance ? 2 : 10), 10), /* lava damage */ "sitting on lava", KILLED_BY); } else if (is_ice(u.ux, u.uy)) { diff --git a/src/spell.c b/src/spell.c index 52ef15f7f..0dd84ddf0 100644 --- a/src/spell.c +++ b/src/spell.c @@ -812,7 +812,7 @@ cast_protection() ? "maw" : "ooze") : (u.uinwater - ? "water" + ? hliquid("water") : (rmtyp == CLOUD) ? "cloud" : IS_TREE(rmtyp) diff --git a/src/steed.c b/src/steed.c index a9dfa3eec..f5cd50bc5 100644 --- a/src/steed.c +++ b/src/steed.c @@ -289,7 +289,8 @@ boolean force; /* Quietly force this animal */ return (FALSE); } if (!force && Underwater && !is_swimmer(ptr)) { - You_cant("ride that creature while under water."); + You_cant("ride that creature while under %s.", + hliquid("water")); return (FALSE); } if (!can_saddle(mtmp) || !can_ride(mtmp)) { @@ -565,7 +566,8 @@ int reason; /* Player was thrown off etc. */ adjalign(-1); } } else if (is_lava(u.ux, u.uy)) { - pline("%s is pulled into the lava!", Monnam(mtmp)); + pline("%s is pulled into the %s!", Monnam(mtmp), + hliquid("lava")); if (!likes_lava(mdat)) { killed(mtmp); adjalign(-1); diff --git a/src/trap.c b/src/trap.c index bac03c1be..4eec29df0 100644 --- a/src/trap.c +++ b/src/trap.c @@ -3560,7 +3560,8 @@ drown() } if (!u.uinwater) { - You("%s into the water%c", Is_waterlevel(&u.uz) ? "plunge" : "fall", + You("%s into the %s%c", Is_waterlevel(&u.uz) ? "plunge" : "fall", + hliquid("water"), Amphibious || Swimming ? '.' : '!'); if (!Swimming && !Is_waterlevel(&u.uz)) You("sink like %s.", Hallucination ? "the Titanic" : "a rock"); @@ -3657,7 +3658,7 @@ crawl: /* time to do some strip-tease... */ boolean succ = Is_waterlevel(&u.uz) ? TRUE : emergency_disrobe(&lost); - You("try to crawl out of the water."); + You("try to crawl out of the %s.", hliquid("water")); if (lost) You("dump some of your gear to lose weight..."); if (succ) { @@ -5026,13 +5027,13 @@ lava_effects() if (!Fire_resistance) { if (Wwalking) { - pline_The("lava here burns you!"); + pline_The("%s here burns you!", hliquid("lava")); if (usurvive) { losehp(dmg, lava_killer, KILLED_BY); /* lava damage */ goto burn_stuff; } } else - You("fall into the lava!"); + You("fall into the %s!", hliquid("lava")); usurvive = Lifesaved || discover; if (wizard) @@ -5089,9 +5090,10 @@ lava_effects() hero needs to escape immediately */ u.utrap = rn1(4, 4) + ((boil_away ? 2 : rn1(4, 12)) << 8); u.utraptype = TT_LAVA; - You("sink into the lava%s!", !boil_away - ? ", but it only burns slightly" - : " and are about to be immolated"); + You("sink into the %s%s!", hliquid("lava"), + !boil_away + ? ", but it only burns slightly" + : " and are about to be immolated"); if (u.uhp > 1) losehp(!boil_away ? 1 : (u.uhp / 2), lava_killer, KILLED_BY); /* lava damage */ diff --git a/src/uhitm.c b/src/uhitm.c index b45b40453..7c9bf3f5f 100644 --- a/src/uhitm.c +++ b/src/uhitm.c @@ -2325,7 +2325,8 @@ boolean wep_was_destroyed; if (Blind || !flags.verbose) You("are splashed!"); else - You("are splashed by %s acid!", s_suffix(mon_nam(mon))); + You("are splashed by %s %s!", s_suffix(mon_nam(mon)), + hliquid("acid")); if (!Acid_resistance) mdamageu(mon, tmp); diff --git a/src/zap.c b/src/zap.c index 560f9f686..10fa3bc3a 100644 --- a/src/zap.c +++ b/src/zap.c @@ -3719,10 +3719,10 @@ xchar sx, sy; break; case ZT_ACID: if (Acid_resistance) { - pline_The("acid doesn't hurt."); + pline_The("%s doesn't hurt.", hliquid("acid")); dam = 0; } else { - pline_The("acid burns!"); + pline_The("%s burns!", hliquid("acid")); dam = d(nd, 6); exercise(A_STR, FALSE); } @@ -4303,7 +4303,7 @@ short exploding_wand_typ; if (lev->typ == WATER) { /* For now, don't let WATER freeze. */ if (see_it) - pline_The("water freezes for a moment."); + pline_The("%s freezes for a moment.", hliquid("water")); else You_hear("a soft crackling."); rangemod -= 1000; /* stop */ @@ -4324,11 +4324,11 @@ short exploding_wand_typ; bury_objs(x, y); if (see_it) { if (lava) - Norep("The lava cools and solidifies."); + Norep("The %s cools and solidifies.", hliquid("lava")); else if (moat) Norep("The %s is bridged with ice!", buf); else - Norep("The water freezes."); + Norep("The %s freezes.", hliquid("water")); newsym(x, y); } else if (!lava) You_hear("a crackling sound.");