OSDN Git Service

add translations
[jnethack/source.git] / src / fountain.c
index ff0c079..94c3d75 100644 (file)
@@ -1,14 +1,14 @@
-/* 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);
@@ -49,7 +49,7 @@ 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
@@ -96,7 +96,7 @@ dowaterdemon()
             /* 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
@@ -194,7 +194,7 @@ genericptr_t poolcnt;
         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);
@@ -243,14 +243,32 @@ boolean isyou;
                     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;
                 }
             }
@@ -270,8 +288,7 @@ boolean isyou;
                 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
@@ -449,6 +466,7 @@ drinkfountain()
                 dofindgem();
                 break;
             }
+            /*FALLTHRU*/
         case 28: /* Water Nymph */
             dowaternymph();
             break;
@@ -456,10 +474,13 @@ drinkfountain()
         {
             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;
@@ -471,10 +492,13 @@ drinkfountain()
             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;
         }
     }
@@ -500,11 +524,13 @@ register struct obj *obj;
         && !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!");
 */
@@ -534,8 +560,7 @@ register struct obj *obj;
             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))
@@ -564,9 +589,9 @@ register struct obj *obj;
         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
@@ -589,6 +614,7 @@ register struct obj *obj;
             dofindgem();
             break;
         }
+        /*FALLTHRU*/
     case 25: /* Water gushes forth */
         dogushforth(FALSE);
         break;
@@ -648,10 +674,13 @@ register struct obj *obj;
                                    + 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;
@@ -670,8 +699,9 @@ int x, y;
 */
         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);
 }
@@ -692,21 +722,21 @@ drinksink()
     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.");
@@ -728,7 +758,7 @@ drinksink()
         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));
@@ -748,7 +778,7 @@ drinksink()
             }
         } 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
@@ -774,18 +804,18 @@ drinksink()
             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
@@ -795,9 +825,9 @@ drinksink()
         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;
@@ -811,9 +841,9 @@ drinksink()
         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!");
@@ -843,13 +873,16 @@ drinksink()
             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
     }
 }