From 9a9259cf36c630dd249d9409cc87a1cf2273a264 Mon Sep 17 00:00:00 2001 From: "nethack.rankin" Date: Mon, 19 Aug 2002 07:33:13 +0000 Subject: [PATCH] B08017 - piece of cheese juice Implement 's request that fruit name "foo of bar" yield juice messages referring to "bar juice" instead of "foo of bar juice". --- doc/fixes34.1 | 1 + include/extern.h | 1 + src/objnam.c | 19 ++++++++++++++++++- src/potion.c | 19 ++++++++++--------- 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/doc/fixes34.1 b/doc/fixes34.1 index 468a13703..ad948b72a 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -209,6 +209,7 @@ enlightenment: don't misreport polymorphed lycanthrope as "in beast form" remove TIMED_DELAY from the features checked for version compatibility rolling boulder hitting monster stuck in pit should stop even when mon survives don't see chest trap gas colors while Blind +adjust fruit name in potion juice messages if it has the form "foo of bar" Platform- and/or Interface-Specific Fixes diff --git a/include/extern.h b/include/extern.h index e34e7edb6..6ee6e5ce1 100644 --- a/include/extern.h +++ b/include/extern.h @@ -1320,6 +1320,7 @@ E char *FDECL(obj_typename, (int)); E char *FDECL(simple_typename, (int)); E boolean FDECL(obj_is_pname, (struct obj *)); E char *FDECL(distant_name, (struct obj *,char *(*)(OBJ_P))); +E char *NDECL(fruitjuice); E char *FDECL(xname, (struct obj *)); E char *FDECL(mshot_xname, (struct obj *)); E boolean FDECL(the_unique_obj, (struct obj *obj)); diff --git a/src/objnam.c b/src/objnam.c index 58b3e30af..cd459437b 100644 --- a/src/objnam.c +++ b/src/objnam.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)objnam.c 3.4 2002/08/06 */ +/* SCCS Id: @(#)objnam.c 3.4 2002/08/18 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -209,6 +209,23 @@ char *FDECL((*func), (OBJ_P)); return str; } +/* convert player specified fruit name into corresponding fruit juice name + ("slice of pizza" -> "pizza juice" rather than "slice of pizza juice") */ +char * +fruitjuice() +{ + char *buf = nextobuf(); + const char *juice = strstri(pl_fruit, " of "); + + if (juice) + juice += 4; /* skip past " of " */ + else + juice = pl_fruit; /* use it as is */ + + Sprintf(buf, "%s juice", juice); + return buf; +} + #endif /* OVLB */ #ifdef OVL1 diff --git a/src/potion.c b/src/potion.c index fdfac8b42..a17bdb06c 100644 --- a/src/potion.c +++ b/src/potion.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)potion.c 3.4 2002/07/11 */ +/* SCCS Id: @(#)potion.c 3.4 2002/08/18 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -543,10 +543,11 @@ peffects(otmp) if (otmp->cursed) pline("Yecch! This tastes %s.", Hallucination ? "overripe" : "rotten"); - else pline(Hallucination ? - "This tastes like 10%% real %s%s juice all-natural beverage." : - "This tastes like %s%s juice.", - otmp->odiluted ? "reconstituted " : "", pl_fruit); + else + pline(Hallucination ? + "This tastes like 10%% real %s%s all-natural beverage." : + "This tastes like %s%s.", + otmp->odiluted ? "reconstituted " : "", fruitjuice()); if (otmp->otyp == POT_FRUIT_JUICE) { u.uhunger += (otmp->odiluted ? 5 : 10) * (2 + bcsign(otmp)); newuhs(FALSE); @@ -636,8 +637,8 @@ peffects(otmp) case POT_SICKNESS: pline("Yecch! This stuff tastes like poison."); if (otmp->blessed) { - pline("(But in fact it was mildly stale %s juice.)", - pl_fruit); + pline("(But in fact it was mildly stale %s.)", + fruitjuice()); if (!Role_if(PM_HEALER)) { if (otmp->corpsenm) losehp(1, @@ -649,8 +650,8 @@ peffects(otmp) } else { if(Poison_resistance) pline( - "(But in fact it was biologically contaminated %s juice.)", - pl_fruit); + "(But in fact it was biologically contaminated %s.)", + fruitjuice()); if (Role_if(PM_HEALER)) pline("Fortunately, you have been immunized."); else { -- 2.40.0