-/* NetHack 3.6 fountain.c $NHDT-Date: 1444937416 2015/10/15 19:30:16 $ $NHDT-Branch: master $:$NHDT-Revision: 1.55 $ */
-/* Copyright Scott R. Turner, srt@ucla, 10/27/86 */
+/* NetHack 3.6 fountain.c $NHDT-Date: 1544442711 2018/12/10 11:51:51 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.60 $ */
+/* Copyright Scott R. Turner, srt@ucla, 10/27/86 */
/* NetHack may be freely redistributed. See license for details. */
-/* Code for drinking from fountains. */
-
/* JNetHack Copyright */
/* (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-2000 */
-/* For 3.4-, Copyright (c) SHIRAKATA Kentaro, 2002-2016 */
+/* For 3.4-, Copyright (c) SHIRAKATA Kentaro, 2002-2019 */
/* JNetHack may be freely redistributed. See license for details. */
+/* Code for drinking from fountains. */
+
#include "hack.h"
STATIC_DCL void NDECL(dowatersnakes);
if (!(mvitals[PM_WATER_MOCCASIN].mvflags & G_GONE)) {
if (!Blind)
-#if 0 /*JP*/
+#if 0 /*JP:T*/
pline("An endless stream of %s pours forth!",
Hallucination ? makeplural(rndmonnam(NULL)) : "snakes");
#else
/* Give those on low levels a (slightly) better chance of survival
*/
if (rnd(100) > (80 + level_difficulty())) {
-#if 0 /*JP*/
+#if 0 /*JP:T*/
pline("Grateful for %s release, %s grants you a wish!",
mhis(mtmp), mhe(mtmp));
#else
pline("\90ò\82©\82ç\90\85\82ª\82Ç\82Ç\82Á\82Æ\88ì\82ê\8fo\82½\81I");
/* Put a pool at x, y */
- levl[x][y].typ = POOL;
+ levl[x][y].typ = POOL, levl[x][y].flags = 0;
/* No kelp! */
del_engr_at(x, y);
water_damage_chain(level.objects[x][y], TRUE);
continue;
if (is_watch(mtmp->data) && couldsee(mtmp->mx, mtmp->my)
&& mtmp->mpeaceful) {
+ if (!Deaf) {
/*JP
- pline("%s yells:", Amonnam(mtmp));
+ pline("%s yells:", Amonnam(mtmp));
*/
- pline("%s\82Í\8b©\82ñ\82¾\81F", Amonnam(mtmp));
+ pline("%s\82Í\8b©\82ñ\82¾\81F", Amonnam(mtmp));
/*JP
- verbalize("Hey, stop using that fountain!");
+ verbalize("Hey, stop using that fountain!");
*/
- verbalize("\82¨\82¢\81C\90ò\82ð\89\98\82·\82È\81I");
+ verbalize("\82¨\82¢\81C\90ò\82ð\89\98\82·\82È\81I");
+ } else {
+#if 0 /*JP:T*/
+ pline("%s earnestly %s %s %s!",
+ Amonnam(mtmp),
+ nolimbs(mtmp->data) ? "shakes" : "waves",
+ mhis(mtmp),
+ nolimbs(mtmp->data)
+ ? mbodypart(mtmp, HEAD)
+ : makeplural(mbodypart(mtmp, ARM)));
+#else
+ pline("%s\82Í\90^\8c\95\82É%s\82ð\90U\82Á\82½\81I",
+ Amonnam(mtmp),
+ nolimbs(mtmp->data)
+ ? mbodypart(mtmp, HEAD)
+ : makeplural(mbodypart(mtmp, ARM)));
+#endif
+ }
break;
}
}
return;
}
/* replace the fountain with ordinary floor */
- levl[x][y].typ = ROOM;
- levl[x][y].looted = 0;
+ levl[x][y].typ = ROOM, levl[x][y].flags = 0;
levl[x][y].blessedftn = 0;
if (cansee(x, y))
/*JP
dofindgem();
break;
}
+ /*FALLTHRU*/
case 28: /* Water Nymph */
dowaternymph();
break;
{
register struct monst *mtmp;
-/*JP
- pline("This water gives you bad breath!");
-*/
- pline("\90\85\82ð\88ù\82ñ\82¾\82ç\91§\82ª\8fL\82\82È\82Á\82½\81I");
+#if 0 /*JP:T*/
+ pline("This %s gives you bad breath!",
+ hliquid("water"));
+#else
+ pline("%s\82ð\88ù\82ñ\82¾\82ç\91§\82ª\8fL\82\82È\82Á\82½\81I",
+ hliquid("\90\85"));
+#endif
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
if (DEADMONSTER(mtmp))
continue;
dogushforth(TRUE);
break;
default:
-/*JP
- pline("This tepid water is tasteless.");
-*/
- pline("\82±\82Ì\82È\82Ü\82Ê\82é\82¢\90\85\82Í\96¡\82ª\82È\82¢\81D");
+#if 0 /*JP:T*/
+ pline("This tepid %s is tasteless.",
+ hliquid("water"));
+#else
+ pline("\82±\82Ì\82È\82Ü\82Ê\82é\82¢%s\82Í\96¡\82ª\82È\82¢\81D",
+ hliquid("\90\85"));
+#endif
break;
}
}
&& !exist_artifact(LONG_SWORD, artiname(ART_EXCALIBUR))) {
if (u.ualign.type != A_LAWFUL) {
/* Ha! Trying to cheat her. */
- pline(
-/*JP
- "A freezing mist rises from the water and envelopes the sword.");
-*/
- "\95X\82Ì\96¶\82ª\90\85\82©\82ç\97§\82¿\8f¸\82è\81C\8c\95\82ð\82Â\82Â\82ñ\82¾\81D");
+#if 0 /*JP:T*/
+ pline("A freezing mist rises from the %s and envelopes the sword.",
+ hliquid("water"));
+#else
+ pline("\97â\82½\82¢\96¶\82ª%s\82©\82ç\97§\82¿\8f¸\82è\81C\8c\95\82ð\82Â\82Â\82ñ\82¾\81D",
+ hliquid("\90\85"));
+#endif
/*JP
pline_The("fountain disappears!");
*/
exercise(A_WIS, TRUE);
}
update_inventory();
- levl[u.ux][u.uy].typ = ROOM;
- levl[u.ux][u.uy].looted = 0;
+ levl[u.ux][u.uy].typ = ROOM, levl[u.ux][u.uy].flags = 0;
newsym(u.ux, u.uy);
level.flags.nfountains--;
if (in_town(u.ux, u.uy))
if (obj->cursed) {
if (!Blind)
/*JP
- pline_The("water glows for a moment.");
+ pline_The("%s glows for a moment.", hliquid("water"));
*/
- pline("\90\85\82Í\8bP\82«\82¾\82µ\82½\81D");
+ pline_The("%s\82Í\8bP\82«\82¾\82µ\82½\81D", hliquid("\90\85"));
uncurse(obj);
} else {
/*JP
dofindgem();
break;
}
+ /*FALLTHRU*/
case 25: /* Water gushes forth */
dogushforth(FALSE);
break;
+ 1) * 2) + 5),
u.ux, u.uy);
if (!Blind)
-/*JP
- pline("Far below you, you see coins glistening in the water.");
-*/
- You("\97y\82©\89º\82Ì\90\85\92\86\82É\8bà\89Ý\82Ì\8bP\82«\82ð\82Ý\82Â\82¯\82½\81D");
+#if 0 /*JP:T*/
+ pline("Far below you, you see coins glistening in the %s.",
+ hliquid("water"));
+#else
+ pline("\97y\82©\89º\82Å\81A%s\82Ì\92\86\82Å\8bà\89Ý\82ª\8bP\82¢\82Ä\82¢\82é\82Ì\82ð\82Ý\82Â\82¯\82½\81D",
+ hliquid("\90\85"));
+#endif
exercise(A_WIS, TRUE);
newsym(u.ux, u.uy);
break;
*/
pline("\94z\8aÇ\82ª\89ó\82ê\90\85\82ª\95¬\8fo\82µ\82½\81I");
level.flags.nsinks--;
- levl[x][y].doormask = 0;
- levl[x][y].typ = FOUNTAIN;
+ levl[x][y].typ = FOUNTAIN, levl[x][y].looted = 0;
+ levl[x][y].blessedftn = 0;
+ SET_FOUNTAIN_LOOTED(x, y);
level.flags.nfountains++;
newsym(x, y);
}
switch (rn2(20)) {
case 0:
/*JP
- You("take a sip of very cold water.");
+ You("take a sip of very cold %s.", hliquid("water"));
*/
- You("\82Æ\82Ä\82à\97â\82½\82¢\90\85\82ð\88ê\8cû\88ù\82ñ\82¾\81D");
+ You("\82Æ\82Ä\82à\97â\82½\82¢%s\82ð\88ê\8cû\88ù\82ñ\82¾\81D", hliquid("\90\85"));
break;
case 1:
/*JP
- You("take a sip of very warm water.");
+ You("take a sip of very warm %s.", hliquid("water"));
*/
- You("\82Æ\82Ä\82à\82 \82½\82½\82©\82¢\90\85\82ð\88ê\8cû\88ù\82ñ\82¾\81D");
+ You("\82Æ\82Ä\82à\82 \82½\82½\82©\82¢%s\82ð\88ê\8cû\88ù\82ñ\82¾\81D", hliquid("\90\85"));
break;
case 2:
/*JP
- You("take a sip of scalding hot water.");
+ You("take a sip of scalding hot %s.", hliquid("water"));
*/
- You("\82Æ\82Ä\82à\94M\82¢\90\85\82ð\88ê\8cû\88ù\82ñ\82¾\81D");
+ You("\82Æ\82Ä\82à\94M\82¢%s\82ð\88ê\8cû\88ù\82ñ\82¾\81D", hliquid("\93\92"));
if (Fire_resistance)
/*JP
pline("It seems quite tasty.");
else {
mtmp = makemon(&mons[PM_SEWER_RAT], u.ux, u.uy, NO_MM_FLAGS);
if (mtmp)
-#if 0 /*JP*/
+#if 0 /*JP:T*/
pline("Eek! There's %s in the sink!",
(Blind || !canspotmon(mtmp)) ? "something squirmy"
: a_monnam(mtmp));
}
} while (!otmp);
otmp->cursed = otmp->blessed = 0;
-#if 0 /*JP*/
+#if 0 /*JP:T*/
pline("Some %s liquid flows from the faucet.",
Blind ? "odd" : hcolor(OBJ_DESCR(objects[otmp->otyp])));
#else
newsym(u.ux, u.uy);
} else
/*JP
- pline("Some dirty water backs up in the drain.");
+ pline("Some dirty %s backs up in the drain.", hliquid("water"));
*/
- pline("\89\98\90\85\82ª\94r\90\85\8cû\82©\82ç\8bt\97¬\82µ\82Ä\82«\82½\81D");
+ pline("\89\98\82¢%s\82ª\94r\90\85\8cû\82©\82ç\8bt\97¬\82µ\82Ä\82«\82½\81D", hliquid("\90\85"));
break;
case 6:
breaksink(u.ux, u.uy);
break;
case 7:
/*JP
- pline_The("water moves as though of its own will!");
+ pline_The("%s moves as though of its own will!", hliquid("water"));
*/
- pline("\90\85\82ª\88Ó\8ev\82ð\8e\9d\82Á\82Ä\82¢\82é\82©\82Ì\82æ\82¤\82É\93®\82¢\82½\81I");
+ pline_The("%s\82ª\88Ó\8ev\82ð\8e\9d\82Á\82Ä\82¢\82é\82©\82Ì\82æ\82¤\82É\93®\82¢\82½\81I", hliquid("\90\85"));
if ((mvitals[PM_WATER_ELEMENTAL].mvflags & G_GONE)
|| !makemon(&mons[PM_WATER_ELEMENTAL], u.ux, u.uy, NO_MM_FLAGS))
/*JP
break;
case 8:
/*JP
- pline("Yuk, this water tastes awful.");
+ pline("Yuk, this %s tastes awful.", hliquid("water"));
*/
- pline("\83I\83F\81C\82Æ\82Ä\82à\82Ð\82Ç\82¢\96¡\82ª\82·\82é\81D");
+ pline("\83I\83F\81C\82±\82Ì%s\82Í\82Æ\82Ä\82à\82Ð\82Ç\82¢\96¡\82ª\82·\82é\81D", hliquid("\90\85"));
more_experienced(1, 0);
newexplevel();
break;
break;
case 10:
/*JP
- pline("This water contains toxic wastes!");
+ pline("This %s contains toxic wastes!", hliquid("water"));
*/
- pline("\82±\82Ì\90\85\82Í\97L\93Å\82È\94r\90\85\82ð\8aÜ\82ñ\82Å\82¢\82é\81I");
+ pline("\82±\82Ì%s\82Í\97L\93Å\82È\94p\8aü\95¨\82ð\8aÜ\82ñ\82Å\82¢\82é\81I", hliquid("\90\85"));
if (!Unchanging) {
/*JP
You("undergo a freakish metamorphosis!");
pline("\88Ã\82¢\94r\90\85\8cû\82©\82ç\81C\8eè\82ª\90L\82Ñ\82Ä\82«\82½\81D\81D--\82¨\82Á\82Æ--");
break;
}
+ /*FALLTHRU*/
default:
-#if 0 /*JP*/
- You("take a sip of %s water.",
- rn2(3) ? (rn2(2) ? "cold" : "warm") : "hot");
+#if 0 /*JP:T*/
+ You("take a sip of %s %s.",
+ rn2(3) ? (rn2(2) ? "cold" : "warm") : "hot",
+ hliquid("water"));
#else
- You("%s\90\85\82ð\88ê\8cû\88ù\82ñ\82¾\81D",
- rn2(3) ? (rn2(2) ? "\97â\82½\82¢" : "\82 \82½\82½\82©\82¢") : "\94M\82¢");
+ You("%s%s\82ð\88ê\8cû\88ù\82ñ\82¾\81D",
+ rn2(3) ? (rn2(2) ? "\97â\82½\82¢" : "\82 \82½\82½\82©\82¢") : "\94M\82¢",
+ hliquid("\90\85"));
#endif
}
}