OSDN Git Service

patch src/
[jnethack/source.git] / src / hack.c
index 3e606f6..d49b495 100644 (file)
@@ -2,6 +2,11 @@
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /* NetHack may be freely redistributed.  See license for details. */
 
+/* JNetHack Copyright */
+/* (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-2000  */
+/* For 3.4-, Copyright (c) SHIRAKATA Kentaro, 2002-2016            */
+/* JNetHack may be freely redistributed.  See license for details. */
+
 #include "hack.h"
 
 /* #define DEBUG */ /* uncomment for debugging */
@@ -114,14 +119,20 @@ moverock()
         if (Levitation || Is_airlevel(&u.uz)) {
             if (Blind)
                 feel_location(sx, sy);
+/*JP
             You("don't have enough leverage to push %s.", the(xname(otmp)));
+*/
+            You("\91Ì\82ª\95\82\82¢\82Ä\82¢\82é\82Ì\82Å%s\82ð\89\9f\82¹\82È\82¢\81D", the(xname(otmp)));
             /* Give them a chance to climb over it? */
             return -1;
         }
         if (verysmall(youmonst.data) && !u.usteed) {
             if (Blind)
                 feel_location(sx, sy);
+/*JP
             pline("You're too small to push that %s.", xname(otmp));
+*/
+            You("\8f¬\82³\82·\82¬\82Ä%s\82ð\89\9f\82¹\82È\82¢\81D",xname(otmp));
             goto cannot_push;
         }
         if (isok(rx, ry) && !IS_ROCK(levl[rx][ry].typ)
@@ -135,12 +146,18 @@ moverock()
             if (Sokoban && u.dx && u.dy) {
                 if (Blind)
                     feel_location(sx, sy);
+/*JP
                 pline("%s won't roll diagonally on this %s.",
+*/
+                pline("%s\82Ì\8fã\82Å\82Í%s\82Í\8eÎ\82ß\82É\89\9f\82¹\82È\82¢\81D",
                       The(xname(otmp)), surface(sx, sy));
                 goto cannot_push;
             }
 
+/*JP
             if (revive_nasty(rx, ry, "You sense movement on the other side."))
+*/
+            if (revive_nasty(rx, ry, "\94½\91Î\91¤\82É\93®\82«\82ð\8a´\82\82½\81D"))
                 return -1;
 
             if (mtmp && !noncorporeal(mtmp->data)
@@ -150,14 +167,24 @@ moverock()
                 if (Blind)
                     feel_location(sx, sy);
                 if (canspotmon(mtmp))
+/*JP
                     pline("There's %s on the other side.", a_monnam(mtmp));
+*/
+                    pline("\94½\91Î\91¤\82É%s\82ª\82¢\82é\81D", a_monnam(mtmp));
                 else {
+/*JP
                     You_hear("a monster behind %s.", the(xname(otmp)));
+*/
+                    pline("%s\82Ì\94w\8cã\82É\89ö\95¨\82Ì\8bC\94z\82ª\82·\82é\81D", the(xname(otmp)));
                     map_invisible(rx, ry);
                 }
                 if (flags.verbose)
+#if 0 /*JP*/
                     pline("Perhaps that's why %s cannot move it.",
                           u.usteed ? y_monnam(u.usteed) : "you");
+#else
+                    pline("\82½\82Ô\82ñ\82±\82ê\82ª\81C\8aâ\82ð\93®\82©\82¹\82È\82¢\97\9d\97R\82¾\81D");
+#endif
                 goto cannot_push;
             }
 
@@ -172,9 +199,15 @@ moverock()
                         obj_extract_self(otmp);
                         place_object(otmp, rx, ry);
                         newsym(sx, sy);
+#if 0 /*JP*/
                         pline("KAABLAMM!!!  %s %s land mine.",
                               Tobjnam(otmp, "trigger"),
                               ttmp->madeby_u ? "your" : "a");
+#else
+                        pline("\82¿\82ã\82Ç\81[\82ñ\81I\81I%s\82Å%s\92n\97\8b\82Ì\8bN\94\9a\83X\83C\83b\83`\82ª\93ü\82Á\82½\81D",
+                              xname(otmp),
+                              ttmp->madeby_u ? "\82 \82È\82½\82Ì\8ed\8a|\82¯\82½" : "");
+#endif
                         blow_up_landmine(ttmp);
                         /* if the boulder remains, it should fill the pit */
                         fill_pit(u.ux, u.uy);
@@ -191,7 +224,10 @@ moverock()
                        if this is one among multiple boulders */
                     if (!Blind)
                         viz_array[ry][rx] |= IN_SIGHT;
+/*JP
                     if (!flooreffects(otmp, rx, ry, "fall")) {
+*/
+                    if (!flooreffects(otmp, rx, ry, "\97\8e\82¿\82é")) {
                         place_object(otmp, rx, ry);
                     }
                     if (mtmp && !Blind)
@@ -200,9 +236,13 @@ moverock()
                 case HOLE:
                 case TRAPDOOR:
                     if (Blind)
+/*JP
                         pline("Kerplunk!  You no longer feel %s.",
+*/
+                        pline("\83h\83T\83b\81I\82 \82È\82½\82Í\82à\82¤%s\82ð\8a´\82\82ç\82ê\82È\82¢\81D",
                               the(xname(otmp)));
                     else
+#if 0 /*JP*/
                         pline("%s%s and %s a %s in the %s!",
                               Tobjnam(otmp, (ttmp->ttyp == TRAPDOOR)
                                                 ? "trigger"
@@ -211,6 +251,12 @@ moverock()
                               otense(otmp, "plug"),
                               (ttmp->ttyp == TRAPDOOR) ? "trap door" : "hole",
                               surface(rx, ry));
+#else
+                        pline("%s\82Í\97\8e\82¿\82Ä%s\82Ì%s\82ð\96\84\82ß\82½\81I",
+                              xname(otmp),
+                              surface(rx, ry),
+                              (ttmp->ttyp == TRAPDOOR) ? "\97\8e\82µ\94à" : "\8c\8a");
+#endif
                     deltrap(ttmp);
                     delobj(otmp);
                     bury_objs(rx, ry);
@@ -231,10 +277,16 @@ moverock()
                             goto dopush;
                     }
                     if (u.usteed)
+/*JP
                         pline("%s pushes %s and suddenly it disappears!",
+*/
+                        pline("%s\82ª%s\82ð\89\9f\82·\82Æ\81C\93Ë\91R\82»\82ê\82Í\8fÁ\96Å\82µ\82½\81I",
                               upstart(y_monnam(u.usteed)), the(xname(otmp)));
                     else
+/*JP
                         You("push %s and suddenly it disappears!",
+*/
+                        pline("\82 \82È\82½\82ª%s\82ð\89\9f\82·\82Æ\81C\93Ë\91R\82»\82ê\82Í\8fÁ\96Å\82µ\82½\81I",
                             the(xname(otmp)));
                     if (ttmp->ttyp == TELEP_TRAP) {
                         (void) rloco(otmp);
@@ -278,14 +330,25 @@ moverock()
             dopush:
                 if (!u.usteed) {
                     if (moves > lastmovetime + 2 || moves < lastmovetime)
+#if 0 /*JP*/
                         pline("With %s effort you move %s.",
                               throws_rocks(youmonst.data) ? "little"
                                                           : "great",
                               the(xname(otmp)));
+#else
+                        pline("%s\97Í\82ð\82±\82ß\82Ä%s\82ð\89\9f\82µ\82½\81D",
+                              throws_rocks(youmonst.data) ? "\8f­\82µ" : "\82©\82È\82è",
+                              the(xname(otmp)));
+#endif
                     exercise(A_STR, TRUE);
                 } else
+#if 0 /*JP*/
                     pline("%s moves %s.", upstart(y_monnam(u.usteed)),
                           the(xname(otmp)));
+#else
+                    pline("%s\82Í%s\82ð\93®\82©\82µ\82½\81D", upstart(y_monnam(u.usteed)),
+                          xname(otmp));
+#endif
                 lastmovetime = moves;
             }
 
@@ -302,22 +365,43 @@ moverock()
         } else {
         nopushmsg:
             if (u.usteed)
+#if 0 /*JP*/
                 pline("%s tries to move %s, but cannot.",
                       upstart(y_monnam(u.usteed)), the(xname(otmp)));
+#else
+                pline("%s\82Í%s\82ð\93®\82©\82»\82¤\82Æ\82µ\82½\82ª\8fo\97\88\82È\82©\82Á\82½\81D",
+                      upstart(y_monnam(u.usteed)), the(xname(otmp)));
+#endif
             else
+/*JP
                 You("try to move %s, but in vain.", the(xname(otmp)));
+*/
+                You("%s\82ð\93®\82©\82»\82¤\82Æ\82µ\82½\82ª\81C\82¾\82ß\82¾\82Á\82½\81D", the(xname(otmp)));
             if (Blind)
                 feel_location(sx, sy);
         cannot_push:
             if (throws_rocks(youmonst.data)) {
                 if (u.usteed && P_SKILL(P_RIDING) < P_BASIC) {
+#if 0 /*JP*/
                     You("aren't skilled enough to %s %s from %s.",
                         (flags.pickup && !Sokoban) ? "pick up" : "push aside",
                         the(xname(otmp)), y_monnam(u.usteed));
+#else
+                    You("%s\82É%s\82ð%s\82é\82Ù\82Ç\8bZ\97Ê\82ª\82È\82¢\81D",
+                        y_monnam(u.usteed),
+                        the(xname(otmp)), 
+                        (flags.pickup && !Sokoban) ? "\8fE\82í\82¹" : "\89\9f\82³\82¹");
+#endif
                 } else {
+#if 0 /*JP*/
                     pline("However, you can easily %s.",
                           (flags.pickup && !Sokoban) ? "pick it up"
                                                      : "push it aside");
+#else
+                    pline("\82µ\82©\82µ\81C\82 \82È\82½\82Í\8aÈ\92P\82É\82»\82ê\82ð%s\81D",
+                          (flags.pickup && !Sokoban)
+                          ? "\8fE\82¦\82½" : "\95Ê\82Ì\95û\82É\89\9f\82¹\82½");
+#endif
                     sokoban_guilt();
                     break;
                 }
@@ -330,7 +414,10 @@ moverock()
                                             && IS_ROCK(levl[sx][u.uy].typ))))
                     || verysmall(youmonst.data))) {
                 pline(
+/*JP
                    "However, you can squeeze yourself into a small opening.");
+*/
+                    "\82µ\82©\82µ\81C\82 \82È\82½\82Í\8f¬\82³\82¢\8c\84\8aÔ\82É\82±\82\93ü\82Á\82½\81D");
                 sokoban_guilt();
                 break;
             } else
@@ -359,12 +446,21 @@ xchar x, y;
                       sizeof(struct dig_info));
 
     if (!boulder && IS_ROCK(lev->typ) && !may_dig(x, y)) {
+#if 0 /*JP*/
         You("hurt your teeth on the %s.",
             (lev->typ == IRONBARS)
                 ? "bars"
                 : IS_TREE(lev->typ)
                     ? "tree"
                     : "hard stone");
+#else
+        You("%s\82Å\8e\95\82ð\92É\82ß\82½\81D",
+            (lev->typ == IRONBARS)
+            ? "\93S\82Ì\96_"
+            : IS_TREE(lev->typ)
+                ? "\96Ø"
+                : "\8cÅ\82¢\8aâ");
+#endif
         nomul(0);
         return 1;
     } else if (context.digging.pos.x != x || context.digging.pos.y != y
@@ -378,6 +474,7 @@ xchar x, y;
         /* solid rock takes more work & time to dig through */
         context.digging.effort =
             (IS_ROCK(lev->typ) && !IS_TREE(lev->typ) ? 30 : 60) + u.udaminc;
+#if 0 /*JP*/
         You("start chewing %s %s.",
             (boulder || IS_TREE(lev->typ) || lev->typ == IRONBARS)
                 ? "on a"
@@ -391,10 +488,26 @@ xchar x, y;
                         : lev->typ == IRONBARS
                             ? "bar"
                             : "door");
+#else
+        You("%s%s\82Í\82\82ß\82½\81D",
+            boulder
+            ? "\8aâ"
+            : IS_TREE(lev->typ)
+              ? "\96Ø"
+              : IS_ROCK(lev->typ)
+                ? "\90Î"
+                : lev->typ == IRONBARS
+                  ? "\93S\82Ì\96_"
+                  : "\94à",
+            (boulder || IS_TREE(lev->typ) || lev->typ == IRONBARS)
+              ? "\82ð\8a\9a\82Ý"
+              : "\82É\8c\8a\82ð\82 \82¯");
+#endif
         watch_dig((struct monst *) 0, x, y, FALSE);
         return 1;
     } else if ((context.digging.effort += (30 + u.udaminc)) <= 100) {
         if (flags.verbose)
+#if 0 /*JP*/
             You("%s chewing on the %s.",
                 context.digging.chew ? "continue" : "begin",
                 boulder
@@ -406,6 +519,19 @@ xchar x, y;
                             : (lev->typ == IRONBARS)
                                 ? "bars"
                                 : "door");
+#else
+            You("%s\82ð\8a\9a\82Ý%s\81D",
+                boulder
+                ? "\8aâ"
+                : IS_TREE(lev->typ)
+                  ? "\96Ø"
+                  : IS_ROCK(lev->typ)
+                    ? "\90Î"
+                    : lev->typ == IRONBARS
+                      ? "\93S\82Ì\96_"
+                      : "\94à",
+                context.digging.chew ? "\91±\82¯\82½" : "\82Í\82\82ß\82½");
+#endif
         context.digging.chew = TRUE;
         watch_dig((struct monst *) 0, x, y, FALSE);
         return 1;
@@ -417,7 +543,11 @@ xchar x, y;
 
     if (boulder) {
         delobj(boulder);         /* boulder goes bye-bye */
+#if 0 /*JP*/
         You("eat the boulder."); /* yum */
+#else
+        You("\8aâ\82ð\90H\82×\82½\81D"); /* yum */
+#endif
 
         /*
          *  The location could still block because of
@@ -438,9 +568,15 @@ xchar x, y;
     } else if (IS_WALL(lev->typ)) {
         if (*in_rooms(x, y, SHOPBASE)) {
             add_damage(x, y, 10L * ACURRSTR);
+/*JP
             dmgtxt = "damage";
+*/
+            dmgtxt = "\8f\9d\82Â\82¯\82é";
         }
+/*JP
         digtxt = "chew a hole in the wall.";
+*/
+        digtxt = "\95Ç\82É\8c\8a\82ð\8aJ\82¯\82½\81D";
         if (level.flags.is_maze_lev) {
             lev->typ = ROOM;
         } else if (level.flags.is_cavernous_lev && !in_town(x, y)) {
@@ -450,17 +586,29 @@ xchar x, y;
             lev->doormask = D_NODOOR;
         }
     } else if (IS_TREE(lev->typ)) {
+/*JP
         digtxt = "chew through the tree.";
+*/
+        digtxt = "\96Ø\82É\8c\8a\82ð\8aJ\82¯\82½\81D";
         lev->typ = ROOM;
     } else if (lev->typ == IRONBARS) {
+/*JP
         digtxt = "eat through the bars.";
+*/
+        digtxt = "\93S\82Ì\96_\82É\8c\8a\82ð\8aJ\82¯\82½\81D";
         dissolve_bars(x, y);
     } else if (lev->typ == SDOOR) {
         if (lev->doormask & D_TRAPPED) {
             lev->doormask = D_NODOOR;
+/*JP
             b_trapped("secret door", 0);
+*/
+            b_trapped("\94é\96§\82Ì\94à", 0);
         } else {
+/*JP
             digtxt = "chew through the secret door.";
+*/
+            digtxt = "\94é\96§\82Ì\94à\82ð\8a\9a\82Ý\8dÓ\82¢\82½\81D";
             lev->doormask = D_BROKEN;
         }
         lev->typ = DOOR;
@@ -468,18 +616,30 @@ xchar x, y;
     } else if (IS_DOOR(lev->typ)) {
         if (*in_rooms(x, y, SHOPBASE)) {
             add_damage(x, y, 400L);
+/*JP
             dmgtxt = "break";
+*/
+            dmgtxt = "\89ó\82·";
         }
         if (lev->doormask & D_TRAPPED) {
             lev->doormask = D_NODOOR;
+/*JP
             b_trapped("door", 0);
+*/
+            b_trapped("\94à", 0);
         } else {
+/*JP
             digtxt = "chew through the door.";
+*/
+            digtxt = "\94à\82ð\8dÓ\82¢\82½\81D";
             lev->doormask = D_BROKEN;
         }
 
     } else { /* STONE or SCORR */
+/*JP
         digtxt = "chew a passage through the rock.";
+*/
+        digtxt = "\8aâ\82ð\8a\9a\82Ý\8dÓ\82¢\82Ä\92Ê\82è\94²\82¯\82½\81D";
         lev->typ = CORR;
     }
 
@@ -506,7 +666,10 @@ register xchar ox, oy;
     newsym(ox, oy);
 }
 
+/*JP
 static NEARDATA const char fell_on_sink[] = "fell onto a sink";
+*/
+static NEARDATA const char fell_on_sink[] = "\97¬\82µ\91ä\82É\97\8e\82¿\82Ä";
 
 STATIC_OVL void
 dosinkfall()
@@ -518,8 +681,14 @@ dosinkfall()
             ufall = (!innate_lev && !(HFlying || EFlying)); /* BFlying */
 
     if (!ufall) {
+/*JP
         You(innate_lev ? "wobble unsteadily for a moment."
+*/
+        You(innate_lev ? "\82¿\82å\82Á\82Æ\82Ó\82ç\82Â\82¢\82½\81D"
+/*JP
                        : "gain control of your flight.");
+*/
+                       : "\94ò\8ds\92\86\82Ì\90§\8cä\82ð\8eæ\82è\82à\82Ç\82µ\82½\81D");
     } else {
         long save_ELev = ELevitation, save_HLev = HLevitation;
 
@@ -528,16 +697,30 @@ dosinkfall()
            be fatal; fortunately the fact that rings and boots
            are really still worn has no effect on bones data */
         ELevitation = HLevitation = 0L;
+/*JP
         You("crash to the floor!");
+*/
+        You("\8f°\82É\92@\82«\82Â\82¯\82ç\82ê\82½\81I");
         dmg = rn1(8, 25 - (int) ACURR(A_CON));
         losehp(Maybe_Half_Phys(dmg), fell_on_sink, NO_KILLER_PREFIX);
         exercise(A_DEX, FALSE);
+/*JP
         selftouch("Falling, you");
+*/
+        selftouch("\97\8e\82¿\82È\82ª\82ç\81C\82 \82È\82½\82Í");
         for (obj = level.objects[u.ux][u.uy]; obj; obj = obj->nexthere)
             if (obj->oclass == WEAPON_CLASS || is_weptool(obj)) {
+/*JP
                 You("fell on %s.", doname(obj));
+*/
+                You("%s\82Ì\8fã\82É\97\8e\82¿\82½\81D",doname(obj));
+#if 0 /*JP*/
                 losehp(Maybe_Half_Phys(rnd(3)), fell_on_sink,
                        NO_KILLER_PREFIX);
+#else
+                losehp(Maybe_Half_Phys(rnd(3)), fell_on_sink,
+                       KILLED_BY);
+#endif
                 exercise(A_CON, FALSE);
             }
         ELevitation = save_ELev;
@@ -686,7 +869,10 @@ int mode;
             }
             if (!(Passes_walls || passes_bars(youmonst.data))) {
                 if (iflags.mention_walls)
+/*JP
                     You("cannot pass through the bars.");
+*/
+                    You("\93S\82Ì\96_\82ð\92Ê\82è\94²\82¯\82ç\82ê\82È\82¢\81D");
                 return FALSE;
             }
         } else if (tunnels(youmonst.data) && !needspick(youmonst.data)) {
@@ -702,13 +888,22 @@ int mode;
         } else {
             if (mode == DO_MOVE) {
                 if (Is_stronghold(&u.uz) && is_db_wall(x, y))
+/*JP
                     pline_The("drawbridge is up!");
+*/
+                    pline("\92µ\82Ë\8b´\82Í\8fã\82Á\82Ä\82¢\82é\81I");
                 /* sokoban restriction stays even after puzzle is solved */
                 else if (Passes_walls && !may_passwall(x, y)
                          && In_sokoban(&u.uz))
+/*JP
                     pline_The("Sokoban walls resist your ability.");
+*/
+                    pline_The("\91q\8cÉ\94Ô\82Ì\95Ç\82Í\82 \82È\82½\82Ì\94\\97Í\82É\92ï\8dR\82µ\82½\81D");
                 else if (iflags.mention_walls)
+/*JP
                     pline("It's a wall.");
+*/
+                    pline("\82±\82ê\82Í\95Ç\82¾\81D");
             }
             return FALSE;
         }
@@ -720,7 +915,10 @@ int mode;
                 ; /* do nothing */
             else if (can_ooze(&youmonst)) {
                 if (mode == DO_MOVE)
+/*JP
                     You("ooze under the door.");
+*/
+                    You("\83h\83A\82Ì\89º\82©\82ç\82É\82\82Ý\8fo\82½\81D");
             } else if (tunnels(youmonst.data) && !needspick(youmonst.data)) {
                 /* Eat the door. */
                 if (mode == DO_MOVE && still_chewing(x, y))
@@ -729,7 +927,10 @@ int mode;
                 if (mode == DO_MOVE) {
                     if (amorphous(youmonst.data))
                         You(
+/*JP
    "try to ooze under the door, but can't squeeze your possessions through.");
+*/
+   "\83h\83A\82Ì\89º\82©\82ç\82É\82\82Ý\8fo\82æ\82¤\82Æ\82µ\82½\81C\82µ\82©\82µ\8e\9d\82¿\95¨\82Í\82»\82¤\82Í\82¢\82©\82È\82¢\81D");
                     if (flags.autoopen && !context.run && !Confusion
                         && !Stunned && !Fumbling) {
                         context.door_opened = context.move =
@@ -738,14 +939,23 @@ int mode;
                         if (Blind || Stunned || ACURR(A_DEX) < 10
                             || Fumbling) {
                             if (u.usteed) {
+/*JP
                                 You_cant("lead %s through that closed door.",
+*/
+                                You_cant("%s\82É\95Â\82Ü\82Á\82½\94à\82ð\92Ê\89ß\82³\82¹\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D",
                                          y_monnam(u.usteed));
                             } else {
+/*JP
                                 pline("Ouch!  You bump into a door.");
+*/
+                                pline("\82¢\82Ä\82Á\81I\93ª\82ð\94à\82É\82Ô\82Â\82¯\82½\81D");
                                 exercise(A_DEX, FALSE);
                             }
                         } else
+/*JP
                             pline("That door is closed.");
+*/
+                            pline("\94à\82Í\95Â\82Ü\82Á\82Ä\82¢\82é\81D");
                     }
                 } else if (mode == TEST_TRAV)
                     goto testdiag;
@@ -768,15 +978,24 @@ int mode;
         switch (cant_squeeze_thru(&youmonst)) {
         case 3:
             if (mode == DO_MOVE)
+/*JP
                 You("cannot pass that way.");
+*/
+                You("\92Ê\82è\82Ê\82¯\82Å\82«\82È\82¢\81D");
             return FALSE;
         case 2:
             if (mode == DO_MOVE)
+/*JP
                 You("are carrying too much to get through.");
+*/
+                pline("\95¨\82ð\8e\9d\82¿\82·\82¬\82Ä\92Ê\82è\82Ê\82¯\82ç\82ê\82È\82¢\81D");
             return FALSE;
         case 1:
             if (mode == DO_MOVE)
+/*JP
                 Your("body is too large to fit through.");
+*/
+                Your("\91Ì\82ª\91å\82«\82·\82¬\82Ä\92Ê\82è\82Ê\82¯\82ç\82ê\82È\82¢\81D");
             return FALSE;
         default:
             break; /* can squeeze through */
@@ -1068,11 +1287,20 @@ struct trap *desttrap; /* nonnull if another trap at <x,y> */
     switch (u.utraptype) {
     case TT_BEARTRAP:
         if (flags.verbose) {
+/*JP
             predicament = "caught in a bear trap";
+*/
+            predicament = "\8cF\82Ìã©\82É\82Â\82©\82Ü\82Á\82½";
             if (u.usteed)
+/*JP
                 Norep("%s is %s.", upstart(steedname), predicament);
+*/
+                Norep("%s\82Í%s\81D", upstart(steedname), predicament);
             else
+/*JP
                 Norep("You are %s.", predicament);
+*/
+                Norep("\82 \82È\82½\82Í%s\81D", predicament);
         }
         /* [why does diagonal movement give quickest escape?] */
         if ((u.dx && u.dy) || !rn2(5))
@@ -1088,40 +1316,73 @@ struct trap *desttrap; /* nonnull if another trap at <x,y> */
     case TT_WEB:
         if (uwep && uwep->oartifact == ART_STING) {
             u.utrap = 0;
+/*JP
             pline("Sting cuts through the web!");
+*/
+            pline("\83X\83e\83B\83\93\83O\82Í\82­\82à\82Ì\91\83\82ð\90Ø\82è\82³\82¢\82½\81I");
             break; /* escape trap but don't move */
         }
         if (--u.utrap) {
             if (flags.verbose) {
+/*JP
                 predicament = "stuck to the web";
+*/
+                predicament = "\82­\82à\82Ì\91\83\82É\82Ð\82Á\82©\82©\82Á\82½";
                 if (u.usteed)
+/*JP
                     Norep("%s is %s.", upstart(steedname), predicament);
+*/
+                    Norep("%s\82Í%s\81D", upstart(steedname), predicament);
                 else
+/*JP
                     Norep("You are %s.", predicament);
+*/
+                    Norep("\82 \82È\82½\82Í%s\81D", predicament);
             }
         } else {
             if (u.usteed)
+/*JP
                 pline("%s breaks out of the web.", upstart(steedname));
+*/
+                pline("%s\82Í\82­\82à\82Ì\91\83\82ð\89ó\82µ\82½\81D", upstart(steedname));
             else
+/*JP
                 You("disentangle yourself.");
+*/
+                You("\8e©\95ª\82Å\82Ù\82Ç\82¢\82½\81D");
         }
         break;
     case TT_LAVA:
         if (flags.verbose) {
+/*JP
             predicament = "stuck in the lava";
+*/
+            predicament = "\97n\8aâ\82É\82Í\82Ü\82Á\82½";
             if (u.usteed)
+/*JP
                 Norep("%s is %s.", upstart(steedname), predicament);
+*/
+                Norep("%s\82Í%s\81D", upstart(steedname), predicament);
             else
+/*JP
                 Norep("You are %s.", predicament);
+*/
+                Norep("\82 \82È\82½\82Í%s\81D", predicament);
         }
         if (!is_lava(x, y)) {
             u.utrap--;
             if ((u.utrap & 0xff) == 0) {
                 u.utrap = 0;
                 if (u.usteed)
+/*JP
                     You("lead %s to the edge of the lava.", steedname);
+*/
+                    You("%s\82ð\97n\8aâ\82Ì\92[\82Ü\82Å\93±\82¢\82½\81D", steedname);
                 else
+/*JP
                     You("pull yourself to the edge of the lava.");
+*/
+                    You("\97n\8aâ\82Ì\92[\82Ü\82Å\82©\82ë\82¤\82\82Ä\81C\82½\82Ç\82è\82Â\82¢\82½\81D");
             }
         }
         u.umoved = TRUE;
@@ -1188,10 +1449,14 @@ boolean
 u_rooted()
 {
     if (!youmonst.data->mmove) {
+#if 0 /*JP*/
         You("are rooted %s.",
             Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)
                 ? "in place"
                 : "to the ground");
+#else
+        You("\82»\82Ì\8fê\82É\97§\82¿\82·\82­\82ñ\82¾\81D");
+#endif
         nomul(0);
         return TRUE;
     }
@@ -1226,10 +1491,16 @@ domove()
                         : (u.uhp < 10 && u.uhp != u.uhpmax))))
         && !Is_airlevel(&u.uz)) {
         if (wtcap < OVERLOADED) {
+/*JP
             You("don't have enough stamina to move.");
+*/
+            You("\82Ö\82Æ\82Ö\82Æ\82Å\93®\82¯\82È\82¢\81D");
             exercise(A_CON, FALSE);
         } else
+/*JP
             You("collapse under your load.");
+*/
+            pline("\95¨\82ð\8e\9d\82¿\82·\82¬\82Ä\93|\82ê\82½\81D");
         nomul(0);
         return;
     }
@@ -1242,14 +1513,23 @@ domove()
         if (Is_airlevel(&u.uz) && rn2(4) && !Levitation && !Flying) {
             switch (rn2(3)) {
             case 0:
+/*JP
                 You("tumble in place.");
+*/
+                You("\82»\82Ì\8fê\82Å\93|\82ê\82½\81D");
                 exercise(A_DEX, FALSE);
                 break;
             case 1:
+/*JP
                 You_cant("control your movements very well.");
+*/
+                You("\82¤\82Ü\82­\95à\82¯\82È\82¢\81D");
                 break;
             case 2:
+/*JP
                 pline("It's hard to walk in thin air.");
+*/
+                pline("\8bó\92\86\82ð\95à\82­\82Ì\82Í\93ï\82µ\82¢\81D");
                 exercise(A_DEX, TRUE);
                 break;
             }
@@ -1323,7 +1603,10 @@ domove()
                 /* When polymorphed into a sticking monster,
                  * u.ustuck means it's stuck to you, not you to it.
                  */
+/*JP
                 You("release %s.", mon_nam(u.ustuck));
+*/
+                You("%s\82ð\95ú\82µ\82½\81D", mon_nam(u.ustuck));
                 u.ustuck = 0;
             } else {
                 /* If holder is asleep or paralyzed:
@@ -1340,7 +1623,10 @@ domove()
                 case 1:
                 case 2:
                 pull_free:
+/*JP
                     You("pull free from %s.", mon_nam(u.ustuck));
+*/
+                    You("%s\82ð\82Ð\82«\82Í\82È\82µ\82½\81D", mon_nam(u.ustuck));
                     u.ustuck = 0;
                     break;
                 case 3:
@@ -1353,7 +1639,10 @@ domove()
                 default:
                     if (u.ustuck->mtame && !Conflict && !u.ustuck->mconf)
                         goto pull_free;
+/*JP
                     You("cannot escape from %s!", mon_nam(u.ustuck));
+*/
+                    You("%s\82©\82ç\93¦\82°\82ç\82ê\82È\82¢\81I", mon_nam(u.ustuck));
                     nomul(0);
                     return;
                 }
@@ -1406,9 +1695,15 @@ domove()
                 && !sensemon(mtmp))
                 stumble_onto_mimic(mtmp);
             else if (mtmp->mpeaceful && !Hallucination)
+/*JP
                 pline("Pardon me, %s.", m_monnam(mtmp));
+*/
+                pline("\82¿\82å\82Á\82Æ\82²\82ß\82ñ\82È\82³\82¢\82æ\81C%s\82³\82ñ\81D", m_monnam(mtmp));
             else
+/*JP
                 You("move right into %s.", mon_nam(mtmp));
+*/
+                You("%s\82Ì\82»\82Î\82É\88Ú\93®\82µ\82½\81D", mon_nam(mtmp));
             return;
         }
         if (context.forcefight || !mtmp->mundetected || sensemon(mtmp)
@@ -1588,7 +1883,10 @@ domove()
                    && (bigmonst(mtmp->data) || (curr_mon_load(mtmp) > 600))) {
             /* can't swap places when pet won't fit thru the opening */
             u.ux = u.ux0, u.uy = u.uy0; /* didn't move after all */
+/*JP
             You("stop.  %s won't fit through.", upstart(y_monnam(mtmp)));
+*/
+            You("\8e~\82Ü\82Á\82½\81D%s\82Í\92Ê\82è\94²\82¯\82ç\82ê\82È\82¢\81D", upstart(y_monnam(mtmp)));
         } else {
             char pnambuf[BUFSZ];
 
@@ -1600,8 +1898,14 @@ domove()
             newsym(x, y);
             newsym(u.ux0, u.uy0);
 
+#if 0 /*JP*/
             You("%s %s.", mtmp->mtame ? "swap places with" : "frighten",
                 pnambuf);
+#else
+            You("%s%s\82½\81D",
+                pnambuf,
+                mtmp->mtame ? "\82Æ\8fê\8f\8a\82ð\93ü\82ê\8a·\82í\82Á" : "\82ð\95|\82ª\82ç\82¹");
+#endif
 
             /* check for displacing it into pools and traps */
             switch (minliquid(mtmp) ? 2 : mintrap(mtmp)) {
@@ -1637,7 +1941,10 @@ domove()
                  * patron deity care at all, let alone enough to get mad?]
                  */
                 if (rn2(4)) {
+/*JP
                     You_feel("guilty about losing your pet like this.");
+*/
+                    pline("\82±\82Ì\82æ\82¤\82È\8c`\82Å\83y\83b\83g\82ð\8e¸\82¤\82Æ\82Í\8dß\90[\82¢\82±\82Æ\82¾\82Æ\8ev\82Á\82½\81D");
                     u.ugangr++;
                     adjalign(-15);
                 }
@@ -1725,7 +2032,10 @@ overexertion()
         if (*hp > 1) {
             *hp -= 1;
         } else {
+/*JP
             You("pass out from exertion!");
+*/
+            You("\8bC\90â\82µ\82½\81D");
             exercise(A_CON, FALSE);
             fall_asleep(-10, FALSE);
         }
@@ -1743,17 +2053,34 @@ invocation_message()
 
         nomul(0); /* stop running or travelling */
         if (u.usteed)
+/*JP
             Sprintf(buf, "beneath %s", y_monnam(u.usteed));
+*/
+            Sprintf(buf, "%s\82Ì\89º\82É", y_monnam(u.usteed));
         else if (Levitation || Flying)
+/*JP
             Strcpy(buf, "beneath you");
+*/
+            Strcpy(buf, "\89º\95û\82É");
         else
+/*JP
             Sprintf(buf, "under your %s", makeplural(body_part(FOOT)));
+*/
+            Strcpy(buf, "\91«\8c³\82É");
 
+/*JP
         You_feel("a strange vibration %s.", buf);
+*/
+        You("%s\8aï\96­\82È\90U\93®\82ð\8a´\82\82½\81D", buf);
         u.uevent.uvibrated = 1;
         if (otmp && otmp->spe == 7 && otmp->lamplit)
+#if 0 /*JP*/
             pline("%s %s!", The(xname(otmp)),
                   Blind ? "throbs palpably" : "glows with a strange light");
+#else
+            pline("%s\82Í%s\82µ\82½\81I", The(xname(otmp)),
+                  Blind ? "\82©\82·\82©\82É\90U\93®" : "\8aï\96­\82È\8cõ\82ð\94­");
+#endif
     }
 }
 
@@ -1807,20 +2134,41 @@ boolean newspot;             /* true if called by spoteffects */
 
         if (!is_pool(u.ux, u.uy)) {
             if (Is_waterlevel(&u.uz))
+/*JP
                 You("pop into an air bubble.");
+*/
+                You("\82Ð\82å\82¢\82Æ\8bó\8bC\82Ì\96A\82É\93ü\82Á\82½\81D");
             else if (is_lava(u.ux, u.uy))
+#if 0 /*JP*/
                 You("leave the water..."); /* oops! */
+#else
+                You("\90\85\82©\82ç\94²\82¯\82¾\82µ\82½\81D\81D\81D");  /* oops! */
+#endif
             else
+#if 0 /*JP*/
                 You("are on solid %s again.",
                     is_ice(u.ux, u.uy) ? "ice" : "land");
+#else
+                You("\8cÅ\82¢%s\82Ì\8fã\82É\82Ü\82½\96ß\82Á\82½\81D",
+                    is_ice(u.ux, u.uy) ? "\95X" : "\92n\96Ê");
+#endif
         } else if (Is_waterlevel(&u.uz)) {
             still_inwater = TRUE;
         } else if (Levitation) {
+/*JP
             You("pop out of the water like a cork!");
+*/
+            You("\83R\83\8b\83N\82Ì\82æ\82¤\82É\94ò\82Ñ\82¾\82µ\82½\81I");
         } else if (Flying) {
+/*JP
             You("fly out of the water.");
+*/
+            You("\90\85\82©\82ç\94ò\82Ñ\82¾\82µ\82½\81D");
         } else if (Wwalking) {
+/*JP
             You("slowly rise above the surface.");
+*/
+            You("\82ä\82Á\82­\82è\90\85\96Ê\82Ü\82Å\8fã\82ª\82Á\82½\81D");
         } else {
             still_inwater = TRUE;
         }
@@ -1973,20 +2321,38 @@ boolean pick;
         mtmp->mundetected = mtmp->msleeping = 0;
         switch (mtmp->data->mlet) {
         case S_PIERCER:
+#if 0 /*JP*/
             pline("%s suddenly drops from the %s!", Amonnam(mtmp),
                   ceiling(u.ux, u.uy));
+#else
+            pline("%s\82ª\93Ë\91R%s\82©\82ç\97\8e\82¿\82Ä\82«\82½\81I",
+                  Amonnam(mtmp), ceiling(u.ux,u.uy));
+#endif
             if (mtmp->mtame) /* jumps to greet you, not attack */
                 ;
             else if (uarmh && is_metallic(uarmh))
+/*JP
                 pline("Its blow glances off your %s.",
+*/
+                pline("\8dU\8c\82\82Í\82 \82È\82½\82Ì%s\82ð\82©\82·\82ß\82½\82¾\82¯\82¾\82Á\82½\81D",
                       helm_simple_name(uarmh));
             else if (u.uac + 3 <= rnd(20))
+#if 0 /*JP*/
                 You("are almost hit by %s!",
                     x_monnam(mtmp, ARTICLE_A, "falling", 0, TRUE));
+#else
+                You("\97\8e\82¿\82Ä\82«\82½%s\82É\82à\82¤\8f­\82µ\82Å\93\96\82½\82é\82Æ\82±\82ë\82¾\82Á\82½\81D",
+                    x_monnam(mtmp, ARTICLE_A, "", 0, TRUE));
+#endif
             else {
                 int dmg;
+#if 0 /*JP*/
                 You("are hit by %s!",
                     x_monnam(mtmp, ARTICLE_A, "falling", 0, TRUE));
+#else
+                You("\97\8e\82¿\82Ä\82«\82½%s\82É\93\96\82½\82Á\82½\81I",
+                    x_monnam(mtmp, ARTICLE_A, "", 0, TRUE));
+#endif
                 dmg = d(4, 6);
                 if (Half_physical_damage)
                     dmg = (dmg + 1) / 2;
@@ -1995,14 +2361,25 @@ boolean pick;
             break;
         default: /* monster surprises you. */
             if (mtmp->mtame)
+#if 0 /*JP*/
                 pline("%s jumps near you from the %s.", Amonnam(mtmp),
                       ceiling(u.ux, u.uy));
+#else
+                pline("%s\82ª%s\82©\82ç\82 \82È\82½\82Ì\8bß\82­\82É\94ò\82ñ\82Å\82«\82½\81D", Amonnam(mtmp),
+                      ceiling(u.ux,u.uy));
+#endif
             else if (mtmp->mpeaceful) {
+/*JP
                 You("surprise %s!",
+*/
+                You("%s\82ð\8bÁ\82©\82µ\82½\81I",
                     Blind && !sensemon(mtmp) ? something : a_monnam(mtmp));
                 mtmp->mpeaceful = 0;
             } else
+/*JP
                 pline("%s attacks you by surprise!", Amonnam(mtmp));
+*/
+                pline("%s\82Í\8bÁ\82¢\82Ä\82 \82È\82½\82ð\8dU\8c\82\82µ\82½\81I", Amonnam(mtmp));
             break;
         }
         mnexto(mtmp); /* have to move the monster */
@@ -2196,51 +2573,96 @@ register boolean newlev;
          * but everything else gives a message only the first time */
         switch (rt) {
         case ZOO:
+/*JP
             pline("Welcome to David's treasure zoo!");
+*/
+            pline("\83f\83r\83b\83g\95ó\94 \93®\95¨\89\80\82É\82æ\82¤\82±\82»\81I");
             break;
         case SWAMP:
+#if 0 /*JP*/
             pline("It %s rather %s down here.", Blind ? "feels" : "looks",
                   Blind ? "humid" : "muddy");
+#else
+                    pline("\82©\82È\82è%s\81D",
+                          Blind ? "\8e¼\8bC\82ª\82 \82é\8fê\8f\8a\82Ì\82æ\82¤\82¾"
+                                : "\82Ç\82ë\82Ç\82ë\82µ\82Ä\82¢\82é\8fê\8f\8a\82¾");
+#endif
             break;
         case COURT:
+/*JP
             You("enter an opulent throne room!");
+*/
+            You("\89Ø\82â\82©\82È\8bÊ\8dÀ\82Ì\8aÔ\82É\93ü\82Á\82½\81I");
             break;
         case LEPREHALL:
+/*JP
             You("enter a leprechaun hall!");
+*/
+            You("\83\8c\83v\83\89\83R\81[\83\93\83z\81[\83\8b\82É\93ü\82Á\82½\81I");
             break;
         case MORGUE:
             if (midnight()) {
+#if 0 /*JP*/
                 const char *run = locomotion(youmonst.data, "Run");
                 pline("%s away!  %s away!", run, run);
+#else
+                pline("\93¦\82°\82ë\81I\93¦\82°\82ë\81I");
+#endif
             } else
+/*JP
                 You("have an uncanny feeling...");
+*/
+                You("\95s\8bC\96¡\82È\8a´\82\82ª\82µ\82½\81D\81D\81D");
             break;
         case BEEHIVE:
+/*JP
             You("enter a giant beehive!");
+*/
+            You("\8b\90\91å\82È\96I\82Ì\91\83\82É\93ü\82Á\82½\81I");
             break;
         case COCKNEST:
+/*JP
             You("enter a disgusting nest!");
+*/
+            You("\82Þ\82Á\82Æ\82·\82é\8fL\82¢\82Ì\82·\82é\92¹\82Ì\91\83\82É\93ü\82Á\82½\81I");
             break;
         case ANTHOLE:
+/*JP
             You("enter an anthole!");
+*/
+            You("\83A\83\8a\82Ì\91\83\82É\93ü\82Á\82½\81I");
             break;
         case BARRACKS:
             if (monstinroom(&mons[PM_SOLDIER], roomno)
                 || monstinroom(&mons[PM_SERGEANT], roomno)
                 || monstinroom(&mons[PM_LIEUTENANT], roomno)
                 || monstinroom(&mons[PM_CAPTAIN], roomno))
+/*JP
                 You("enter a military barracks!");
+*/
+                You("\8cR\91à\82Ì\95ºäq\82É\93ü\82Á\82½\81I");
             else
+/*JP
                 You("enter an abandoned barracks.");
+*/
+                You("\95ú\92u\82³\82ê\82½\82Ü\82Ü\82Ì\95ºäq\82É\93ü\82Á\82½\81D");
             break;
         case DELPHI: {
             struct monst *oracle = monstinroom(&mons[PM_ORACLE], roomno);
             if (oracle) {
                 if (!oracle->mpeaceful)
+/*JP
                     verbalize("You're in Delphi, %s.", plname);
+*/
+                    verbalize("\82¨\82Ü\82¦\82Í\83f\83\8b\83t\83@\83C\82Ì\90_\91õ\8f\8a\82É\82¢\82é\81D");
                 else
+#if 0 /*JP*/
                     verbalize("%s, %s, welcome to Delphi!",
                               Hello((struct monst *) 0), plname);
+#else
+                    verbalize("\82¨\82¨%s\81C\83f\83\8b\83t\83@\83C\82Ì\90_\91õ\8f\8a\82É\82æ\82­\82¼\82Ü\82¢\82ç\82ê\82½\81I",
+                              plname);
+#endif
             } else
                 msg_given = FALSE;
             break;
@@ -2309,11 +2731,22 @@ dopickup()
     if (u.uswallow) {
         if (!u.ustuck->minvent) {
             if (is_animal(u.ustuck->data)) {
+/*JP
                 You("pick up %s tongue.", s_suffix(mon_nam(u.ustuck)));
+*/
+                You("%s\82Ì\90ã\82ð\8fE\82Á\82½\81D", mon_nam(u.ustuck));
+/*JP
                 pline("But it's kind of slimy, so you drop it.");
+*/
+                pline("\82µ\82©\82µ\81C\82»\82ê\82Í\82Ê\82é\82Ê\82é\82µ\82Ä\95s\89õ\82¾\82Á\82½\82Ì\82Å\8eÌ\82Ä\82Ä\82µ\82Ü\82Á\82½\81D");
             } else
+#if 0 /*JP*/
                 You("don't %s anything in here to pick up.",
                     Blind ? "feel" : "see");
+#else
+                pline("\82±\82±\82É\82Í\8fE\82¦\82é\82à\82Ì\82ª\82È\82¢%s\81D",
+                    Blind ? "\82æ\82¤\82¾" : "");
+#endif
             return 1;
         } else {
             int tmpcount = -count;
@@ -2323,20 +2756,32 @@ dopickup()
     if (is_pool(u.ux, u.uy)) {
         if (Wwalking || is_floater(youmonst.data) || is_clinger(youmonst.data)
             || (Flying && !Breathless)) {
+/*JP
             You("cannot dive into the water to pick things up.");
+*/
+            You("\95¨\82ð\8fE\82¢\82 \82°\82é\82½\82ß\82É\90\85\82É\94ò\82Ñ\82±\82ß\82È\82¢\81D");
             return 0;
         } else if (!Underwater) {
+/*JP
             You_cant("even see the bottom, let alone pick up %s.", something);
+*/
+            pline("\92ê\82³\82¦\8c©\82¦\82È\82¢\81C\8fE\82¤\82Ì\82Í\82â\82ß\82æ\82¤\81D");
             return 0;
         }
     }
     if (is_lava(u.ux, u.uy)) {
         if (Wwalking || is_floater(youmonst.data) || is_clinger(youmonst.data)
             || (Flying && !Breathless)) {
+/*JP
             You_cant("reach the bottom to pick things up.");
+*/
+            You_cant("\95¨\82ð\8fE\82¢\8fã\82°\82é\82½\82ß\82É\92ê\82Ü\82Å\82¢\82¯\82È\82¢\81D");
             return 0;
         } else if (!likes_lava(youmonst.data)) {
+/*JP
             You("would burn to a crisp trying to pick things up.");
+*/
+            You("\8fE\82¢\8fã\82°\82æ\82¤\82Æ\82µ\82½\82ç\8aÛ\8fÅ\82°\82É\82È\82Á\82Ä\82µ\82Ü\82¤\82¾\82ë\82¤\81D");
             return 0;
         }
     }
@@ -2353,18 +2798,27 @@ dopickup()
         else if (IS_DOOR(lev->typ) && (lev->doormask & D_ISOPEN))
             pline("It won't come off the hinges.");
         else
+/*JP
             There("is nothing here to pick up.");
+*/
+            pline("\82±\82±\82É\82Í\8fE\82¦\82é\82à\82Ì\82Í\82È\82¢\81D");
         return 0;
     }
     if (!can_reach_floor(TRUE)) {
         if (traphere && uteetering_at_seen_pit(traphere))
+/*JP
             You("cannot reach the bottom of the pit.");
+*/
+            You("\97\8e\82µ\8c\8a\82Ì\92ê\82É%s\82ª\93Í\82©\82È\82©\82Á\82½\81D", body_part(HAND));
         else if (u.usteed && P_SKILL(P_RIDING) < P_BASIC)
             rider_cant_reach();
         else if (Blind && !can_reach_floor(TRUE))
             You("cannot reach anything here.");
         else
+/*JP
             You("cannot reach the %s.", surface(u.ux, u.uy));
+*/
+            You("%s\82É\82½\82Ç\82è\82Â\82­\82±\82Æ\82ª\82Å\82«\82È\82¢\81D", surface(u.ux, u.uy));
         return 0;
     }
 
@@ -2629,22 +3083,42 @@ maybe_wail()
         const char *who;
         int i, powercnt;
 
+#if 0 /*JP*/
         who = (Role_if(PM_WIZARD) || Role_if(PM_VALKYRIE)) ? urole.name.m
                                                            : "Elf";
+#else
+        who = (Role_if(PM_WIZARD) || Role_if(PM_VALKYRIE)) ? urole.name.m
+                                                           : "\83G\83\8b\83t";
+#endif
         if (u.uhp == 1) {
+/*JP
             pline("%s is about to die.", who);
+*/
+            pline("%s\82Í\8e\80\82É\82©\82¯\82Ä\82¢\82é\81D", who);
         } else {
             for (i = 0, powercnt = 0; i < SIZE(powers); ++i)
                 if (u.uprops[powers[i]].intrinsic & INTRINSIC)
                     ++powercnt;
 
+/*JP
             pline(powercnt >= 4 ? "%s, all your powers will be lost..."
+*/
+            pline(powercnt >= 4 ? "%s\81C\82 \82È\82½\82Ì\91S\82Ä\82Ì\97Í\82Í\8e¸\82í\82ê\82Â\82Â\82 \82é\81D\81D\81D"
+/*JP
                                 : "%s, your life force is running out.",
+*/
+                                : "%s\81C\82 \82È\82½\82Ì\90\96½\97Í\82Í\90s\82«\82æ\82¤\82Æ\82µ\82Ä\82¢\82é\81D\81D\81D",
                   who);
         }
     } else {
+/*JP
         You_hear(u.uhp == 1 ? "the wailing of the Banshee..."
+*/
+        You_hear(u.uhp == 1 ? "\83o\83\93\83V\81[\82Ì\82·\82·\82è\8b\83\82«\82ª\95·\82±\82¦\82é\81D\81D\81D"
+/*JP
                             : "the howling of the CwnAnnwn...");
+*/
+                            : "\83N\81[\83\93\81E\83A\83\93\83k\81[\83\93\82Ì\89\93\96i\82ª\95·\82±\82¦\82é\81D\81D\81D");
     }
 }
 
@@ -2674,7 +3148,10 @@ boolean k_format;
         killer.format = k_format;
         if (killer.name != knam) /* the thing that killed you */
             Strcpy(killer.name, knam ? knam : "");
+/*JP
         You("die...");
+*/
+        pline("\82 \82È\82½\82Í\8e\80\82É\82Ü\82µ\82½\81D\81D\81D");
         done(DIED);
     } else if (n > 0 && u.uhp * 10 < u.uhpmax) {
         maybe_wail();
@@ -2778,7 +3255,10 @@ const char *str;
         if (str)
             pline1(str);
         else
+/*JP
             You_cant("do that while carrying so much stuff.");
+*/
+            You("\91ò\8eR\82à\82Ì\82ð\8e\9d\82¿\82·\82¬\82Ä\82¢\82é\82Ì\82Å\81C\82»\82ñ\82È\82±\82Æ\82Í\82Å\82«\82È\82¢\81D");
         return 1;
     }
     return 0;