OSDN Git Service

patch src/
[jnethack/source.git] / src / dokick.c
index ca4e2a6..de71b5f 100644 (file)
@@ -2,6 +2,11 @@
 /* Copyright (c) Izchak Miller, Mike Stephenson, Steve Linhart, 1989. */
 /* 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 is_bigfoot(x) ((x) == &mons[PM_SASQUATCH])
@@ -26,7 +31,10 @@ STATIC_DCL char *FDECL(kickstr, (char *));
 STATIC_DCL void FDECL(otransit_msg, (struct obj *, BOOLEAN_P, long));
 STATIC_DCL void FDECL(drop_to, (coord *, SCHAR_P));
 
+/*JP
 static const char kick_passes_thru[] = "kick passes harmlessly through";
+*/
+static const char kick_passes_thru[] = "\8fR\82è\82Í\83_\83\81\81[\83W\82ð\97^\82¦\82¸\82É\82·\82è\94²\82¯\82½";
 
 STATIC_OVL void
 kickdmg(mon, clumsy)
@@ -59,7 +67,10 @@ register boolean clumsy;
         blessed_foot_damage = 1;
 
     if (mon->data == &mons[PM_SHADE] && !blessed_foot_damage) {
+/*JP
         pline_The("%s.", kick_passes_thru);
+*/
+        pline_The("%s\81D", kick_passes_thru);
         /* doesn't exercise skill or abuse alignment or frighten pet,
            and shades have no passive counterattack */
         return;
@@ -103,7 +114,10 @@ register boolean clumsy;
         mdx = mon->mx + u.dx;
         mdy = mon->my + u.dy;
         if (goodpos(mdx, mdy, mon, 0)) {
+/*JP
             pline("%s reels from the blow.", Monnam(mon));
+*/
+            pline("%s\82Í\8b­\91Å\82³\82ê\82æ\82ë\82ß\82¢\82½\81D", Monnam(mon));
             if (m_in_out_region(mon, mdx, mdy)) {
                 remove_monster(mon->mx, mon->my);
                 newsym(mon->mx, mon->my);
@@ -160,7 +174,10 @@ xchar x, y;
 
     if (Levitation && !rn2(3) && verysmall(mon->data)
         && !is_flyer(mon->data)) {
+/*JP
         pline("Floating in the air, you miss wildly!");
+*/
+        pline("\8bó\92\86\82É\95\82\82¢\82Ä\82¢\82é\82Ì\82Å\81C\91å\82«\82­\8aO\82µ\82½\81I");
         exercise(A_DEX, FALSE);
         (void) passive(mon, FALSE, 1, AT_KICK, FALSE);
         return;
@@ -208,10 +225,16 @@ xchar x, y;
             if (mon->data == &mons[PM_SHADE] && (!uarmf || !uarmf->blessed)) {
                 /* doesn't matter whether it would have hit or missed,
                    and shades have no passive counterattack */
+/*JP
                 Your("%s %s.", kick_passes_thru, mon_nam(mon));
+*/
+                You("%s\82ð\8fR\82Á\82½\82ª\81C%s\81D", mon_nam(mon), kick_passes_thru);
                 break; /* skip any additional kicks */
             } else if (tmp > (kickdieroll = rnd(20))) {
+/*JP
                 You("kick %s.", mon_nam(mon));
+*/
+                You("%s\82ð\8fR\82Á\82½\81D", mon_nam(mon));
                 sum = damageum(mon, uattk);
                 (void) passive(mon, (boolean) (sum > 0), (sum != 2), AT_KICK,
                                FALSE);
@@ -232,7 +255,10 @@ xchar x, y;
         if (!rn2((i < j / 10) ? 2 : (i < j / 5) ? 3 : 4)) {
             if (martial() && !rn2(2))
                 goto doit;
+/*JP
             Your("clumsy kick does no damage.");
+*/
+            Your("\95s\8aí\97p\82È\8fR\82è\82Å\83_\83\81\81[\83W\82ð\97^\82¦\82ç\82ê\82È\82©\82Á\82½\81D");
             (void) passive(mon, FALSE, 1, AT_KICK, FALSE);
             return;
         }
@@ -248,15 +274,23 @@ xchar x, y;
     else if (uarm && objects[uarm->otyp].oc_bulky && ACURR(A_DEX) < rnd(25))
         clumsy = TRUE;
 doit:
+/*JP
     You("kick %s.", mon_nam(mon));
+*/
+    You("%s\82ð\8fR\82Á\82½\81D", mon_nam(mon));
     if (!rn2(clumsy ? 3 : 4) && (clumsy || !bigmonst(mon->data))
         && mon->mcansee && !mon->mtrapped && !thick_skinned(mon->data)
         && mon->data->mlet != S_EEL && haseyes(mon->data) && mon->mcanmove
         && !mon->mstun && !mon->mconf && !mon->msleeping
         && mon->data->mmove >= 12) {
         if (!nohands(mon->data) && !rn2(martial() ? 5 : 3)) {
+#if 0 /*JP:T*/
             pline("%s blocks your %skick.", Monnam(mon),
                   clumsy ? "clumsy " : "");
+#else
+            pline("%s\82Í\82 \82È\82½\82Ì%s\8fR\82è\82ð\96h\82¢\82¾\81D", Monnam(mon),
+                  clumsy ? "\95s\8aí\97p\82È" : "");
+#endif
             (void) passive(mon, FALSE, 1, AT_KICK, FALSE);
             return;
         } else {
@@ -266,6 +300,7 @@ doit:
                     unmap_object(x, y);
                     newsym(x, y);
                 }
+#if 0 /*JP*/
                 pline("%s %s, %s evading your %skick.", Monnam(mon),
                       (!level.flags.noteleport && can_teleport(mon->data))
                           ? "teleports"
@@ -277,6 +312,18 @@ doit:
                                                             ? "slides"
                                                             : "jumps",
                       clumsy ? "easily" : "nimbly", clumsy ? "clumsy " : "");
+#else
+                pline("%s\82Í%s\81C%s\82 \82È\82½\82Ì%s\8fR\82è\82ð\82½\82­\82Ý\82É\94ð\82¯\82½\81D", Monnam(mon),
+                      (!level.flags.noteleport && can_teleport(mon->data))
+                          ? "\8fu\8aÔ\88Ú\93®\82µ"
+                          : is_floater(mon->data) ? "\95\82\82«"
+                                : is_flyer(mon->data) ? "\82Í\82Î\82½\82«"
+                                                      : (nolimbs(mon->data)
+                                                         || slithy(mon->data))
+                                                            ? "\89¡\82É\8a\8a\82è"
+                                                            : "\92µ\82Ë",
+                      clumsy ? "\8ay\81X\82Æ" : "\91f\91\81\82­", clumsy ? "\95s\8aí\97p\82È" : "");
+#endif
                 (void) passive(mon, FALSE, 1, AT_KICK, FALSE);
                 return;
             }
@@ -302,8 +349,13 @@ register struct obj *gold;
     } else if (!mtmp->mcanmove) {
         /* too light to do real damage */
         if (canseemon(mtmp)) {
+#if 0 /*JP:T*/
             pline_The("%s harmlessly %s %s.", xname(gold),
                       otense(gold, "hit"), mon_nam(mtmp));
+#else
+            pline("%s\82Í%s\82É\96½\92\86\82µ\82½\81D", xname(gold),
+                  mon_nam(mtmp));
+#endif
             msg_given = TRUE;
         }
     } else {
@@ -315,7 +367,10 @@ register struct obj *gold;
             setmangry(mtmp);
         /* greedy monsters catch gold */
         if (cansee(mtmp->mx, mtmp->my))
+/*JP
             pline("%s catches the gold.", Monnam(mtmp));
+*/
+            pline("%s\82Í\8bà\89Ý\82ð\83L\83\83\83b\83`\82µ\82½\81D", Monnam(mtmp));
         (void) mpickobj(mtmp, gold);
         gold = (struct obj *) 0; /* obj has been freed */
         if (mtmp->isshk) {
@@ -325,24 +380,43 @@ register struct obj *gold;
                 robbed -= value;
                 if (robbed < 0L)
                     robbed = 0L;
+#if 0 /*JP*/
                 pline_The("amount %scovers %s recent losses.",
                           !robbed ? "" : "partially ", mhis(mtmp));
+#else
+                pline("%s%s\91¹\8e¸\82ð\95â\93U\82·\82é\82Ì\82É\8eg\82í\82ê\82½\81D",
+                      !robbed ? "" : "\8bà\82Ì\88ê\95\94\82Í", mhis(mtmp));
+#endif
                 ESHK(mtmp)->robbed = robbed;
                 if (!robbed)
                     make_happy_shk(mtmp, FALSE);
             } else {
                 if (mtmp->mpeaceful) {
                     ESHK(mtmp)->credit += value;
+#if 0 /*JP*/
                     You("have %ld %s in credit.", ESHK(mtmp)->credit,
                         currency(ESHK(mtmp)->credit));
+#else
+                    You("%ld%s\82ð\91Ý\82µ\82É\82µ\82½\81D", ESHK(mtmp)->credit,
+                        currency(ESHK(mtmp)->credit));
+#endif
                 } else
+/*JP
                     verbalize("Thanks, scum!");
+*/
+                    verbalize("\82 \82è\82ª\82Æ\82æ\81I\82­\82»\82Á\82½\82ê\81I");
             }
         } else if (mtmp->ispriest) {
             if (mtmp->mpeaceful)
+/*JP
                 verbalize("Thank you for your contribution.");
+*/
+                verbalize("\8añ\95t\82É\8a´\8eÓ\82µ\82Ü\82·\81D");
             else
+/*JP
                 verbalize("Thanks, scum!");
+*/
+                verbalize("\82 \82è\82ª\82Æ\82æ\81I\82­\82»\82Á\82½\82ê\81I");
         } else if (mtmp->isgd) {
             umoney = money_cnt(invent);
             /* Some of these are iffy, because a hostile guard
@@ -380,9 +454,15 @@ register struct obj *gold;
                 }
             }
             if (mtmp->mpeaceful)
+/*JP
                 verbalize("That should do.  Now beat it!");
+*/
+                verbalize("\82È\82ñ\82¾\82¢\81H\82±\82ê\82Í\81H");
             else
+/*JP
                 verbalize("That's not enough, coward!");
+*/
+                verbalize("\82»\82ñ\82È\82à\82Ì\82Å\8dÏ\82Þ\82©\81C\94Ú\8b¯\8eÒ\81I");
         }
         return TRUE;
     }
@@ -421,9 +501,15 @@ xchar x, y; /* coordinates where object was before the impact, not after */
         otmp2 = otmp->nobj;
         if (objects[otmp->otyp].oc_material == GLASS
             && otmp->oclass != GEM_CLASS && !obj_resists(otmp, 33, 100)) {
+/*JP
             result = "shatter";
+*/
+            result = "\83K\83`\83\83\83\93";
         } else if (otmp->otyp == EGG && !rn2(3)) {
+/*JP
             result = "cracking";
+*/
+            result = "\83O\83V\83\83\83b";
         }
         if (result) {
             if (otmp->otyp == MIRROR)
@@ -433,7 +519,10 @@ xchar x, y; /* coordinates where object was before the impact, not after */
              * but it's always exactly 1 that breaks */
             if (otmp->otyp == EGG && otmp->spe && otmp->corpsenm >= LOW_PM)
                 change_luck(-1);
+/*JP
             You_hear("a muffled %s.", result);
+*/
+            You_hear("\82±\82à\82Á\82½%s\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D", result);
             if (costly) {
                 if (frominv && !otmp->unpaid)
                     otmp->no_charge = 1;
@@ -452,11 +541,19 @@ xchar x, y; /* coordinates where object was before the impact, not after */
     }
     if (costly && loss) {
         if (!insider) {
+/*JP
             You("caused %ld %s worth of damage!", loss, currency(loss));
+*/
+            You("%ld%s\95ª\82Ì\91¹\8aQ\82ð\82Ð\82«\82¨\82±\82µ\82½\81I", loss, currency(loss));
             make_angry_shk(shkp, x, y);
         } else {
+#if 0 /*JP*/
             You("owe %s %ld %s for objects destroyed.", mon_nam(shkp), loss,
                 currency(loss));
+#else
+            You("\8aí\95¨\94j\91¹\82Å%s\82É%ld%s\82Ì\8eØ\82è\82ð\82Â\82­\82Á\82½\81D", mon_nam(shkp), loss,
+                currency(loss));
+#endif
         }
     }
 }
@@ -499,27 +596,47 @@ xchar x, y;
             || trap->ttyp == WEB)) {
         if (!trap->tseen)
             find_trap(trap);
+#if 0 /*JP*/
         You_cant("kick %s that's in a %s!", something,
                  Hallucination ? "tizzy" : (trap->ttyp == WEB) ? "web"
                                                                : "pit");
+#else
+        You("%s\82Å\82Í%s\82ð\8fR\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81I",
+            Hallucination ? "\8d¬\97\90\82µ\82½\8fó\91Ô"
+                          : trap->ttyp == WEB
+                             ? "\82­\82à\82Ì\91\83\82Ì\92\86" : "\97\8e\82µ\8c\8a\82Ì\92\86",
+            something);
+#endif
         return 1;
     }
 
     if (Fumbling && !rn2(3)) {
+/*JP
         Your("clumsy kick missed.");
+*/
+        Your("\95s\8aí\97p\82È\8fR\82è\82Í\8aO\82ê\82½\81D");
         return 1;
     }
 
     if (!uarmf && kickedobj->otyp == CORPSE
         && touch_petrifies(&mons[kickedobj->corpsenm]) && !Stone_resistance) {
+#if 0 /*JP*/
         You("kick %s with your bare %s.",
             corpse_xname(kickedobj, (const char *) 0, CXN_PFX_THE),
             makeplural(body_part(FOOT)));
+#else
+        You("\91f%s\82Å%s\82ð\8fR\82Á\82½\81D",
+            body_part(FOOT),
+            corpse_xname(kickedobj, (const char *) 0, CXN_PFX_THE));
+#endif
         if (poly_when_stoned(youmonst.data) && polymon(PM_STONE_GOLEM)) {
             ; /* hero has been transformed but kick continues */
         } else {
             /* normalize body shape here; foot, not body_part(FOOT) */
+/*JP
             Sprintf(killer.name, "kicking %s barefoot",
+*/
+            Sprintf(killer.name, "\8cC\96³\82µ\82Å%s\82ð\8fR\82Á\82Ä",
                     killer_xname(kickedobj));
             instapetrify(killer.name);
         }
@@ -563,24 +680,42 @@ xchar x, y;
         if ((!martial() && rn2(20) > ACURR(A_DEX))
             || IS_ROCK(levl[u.ux][u.uy].typ) || closed_door(u.ux, u.uy)) {
             if (Blind)
+/*JP
                 pline("It doesn't come loose.");
+*/
+                pline("\82Ñ\82­\82Æ\82à\82µ\82È\82¢\81D");
             else
+#if 0 /*JP*/
                 pline("%s %sn't come loose.",
                       The(distant_name(kickedobj, xname)),
                       otense(kickedobj, "do"));
+#else
+                pline("%s\82Í\82Ñ\82­\82Æ\82à\82µ\82È\82¢\81D",
+                      distant_name(kickedobj, xname));
+#endif
             return (!rn2(3) || martial());
         }
         if (Blind)
+/*JP
             pline("It comes loose.");
+*/
+            pline("\89½\82©\82ª\8aÉ\82ñ\82Å\82Æ\82ê\82½\81D");
         else
+#if 0 /*JP*/
             pline("%s %s loose.", The(distant_name(kickedobj, xname)),
                   otense(kickedobj, "come"));
+#else
+            pline("%s\82Í\8aÉ\82ñ\82Å\82Æ\82ê\82½\81D", distant_name(kickedobj, xname));
+#endif
         obj_extract_self(kickedobj);
         newsym(x, y);
         if (costly && (!costly_spot(u.ux, u.uy)
                        || !index(u.urooms, *in_rooms(x, y, SHOPBASE))))
             addtobill(kickedobj, FALSE, FALSE, FALSE);
+/*JP
         if (!flooreffects(kickedobj, u.ux, u.uy, "fall")) {
+*/
+        if (!flooreffects(kickedobj, u.ux, u.uy, "\97\8e\82¿\82é")) {
             place_object(kickedobj, u.ux, u.uy);
             stackobj(kickedobj);
             newsym(u.ux, u.uy);
@@ -593,11 +728,17 @@ xchar x, y;
         boolean otrp = kickedobj->otrapped;
 
         if (range < 2)
+/*JP
             pline("THUD!");
+*/
+            pline("\83K\83\93\81I");
         container_impact_dmg(kickedobj, x, y);
         if (kickedobj->olocked) {
             if (!rn2(5) || (martial() && !rn2(2))) {
+/*JP
                 You("break open the lock!");
+*/
+                You("\8c®\82ð\89ó\82µ\8aJ\82¯\82½\81I");
                 breakchestlock(kickedobj, FALSE);
                 if (otrp)
                     (void) chest_trap(kickedobj, LEG, FALSE);
@@ -605,7 +746,10 @@ xchar x, y;
             }
         } else {
             if (!rn2(3) || (martial() && !rn2(2))) {
+/*JP
                 pline_The("lid slams open, then falls shut.");
+*/
+                pline("\8aW\82ª\82Î\82½\82ñ\82Æ\8aJ\82«\81C\95Â\82\82½\81D");
                 kickedobj->lknown = 1;
                 if (otrp)
                     (void) chest_trap(kickedobj, LEG, FALSE);
@@ -627,7 +771,10 @@ xchar x, y;
      */
     if (range < 2) {
         if (!Is_box(kickedobj))
+/*JP
             pline("Thump!");
+*/
+            pline("\83S\83c\83\93\81I");
         return (!rn2(3) || martial());
     }
 
@@ -656,8 +803,13 @@ xchar x, y;
     }
 
     if (slide && !Blind)
+#if 0 /*JP*/
         pline("Whee!  %s %s across the %s.", Doname2(kickedobj),
               otense(kickedobj, "slide"), surface(x, y));
+#else
+        pline("\83Y\83\8b\83b\81I%s\82Í%s\82Ì\8fã\82ð\8a\8a\82Á\82½\81D", Doname2(kickedobj),
+              surface(x,y));
+#endif
 
     if (costly && !isgold)
         addtobill(kickedobj, FALSE, FALSE, TRUE);
@@ -695,7 +847,10 @@ xchar x, y;
                                 FALSE);
     }
 
+/*JP
     if (flooreffects(kickedobj, bhitpos.x, bhitpos.y, "fall"))
+*/
+    if(flooreffects(kickedobj, bhitpos.x, bhitpos.y, "\97\8e\82¿\82é"))
         return 1;
     if (kickedobj->unpaid)
         subfrombill(kickedobj, shkp);
@@ -715,36 +870,86 @@ char *buf;
     if (kickedobj)
         what = killer_xname(kickedobj);
     else if (maploc == &nowhere)
+/*JP
         what = "nothing";
+*/
+        what = "\89½\82à\82È\82¢\82Æ\82±\82ë";
     else if (IS_DOOR(maploc->typ))
+/*JP
         what = "a door";
+*/
+        what = "\94à";
     else if (IS_TREE(maploc->typ))
+/*JP
         what = "a tree";
+*/
+        what = "\96Ø";
     else if (IS_STWALL(maploc->typ))
+/*JP
         what = "a wall";
+*/
+        what = "\95Ç";
     else if (IS_ROCK(maploc->typ))
+/*JP
         what = "a rock";
+*/
+        what = "\8aâ";
     else if (IS_THRONE(maploc->typ))
+/*JP
         what = "a throne";
+*/
+        what = "\8bÊ\8dÀ";
     else if (IS_FOUNTAIN(maploc->typ))
+/*JP
         what = "a fountain";
+*/
+        what = "\90ò";
     else if (IS_GRAVE(maploc->typ))
+/*JP
         what = "a headstone";
+*/
+        what = "\95æ\90Î";
     else if (IS_SINK(maploc->typ))
+/*JP
         what = "a sink";
+*/
+        what = "\97¬\82µ\91ä";
     else if (IS_ALTAR(maploc->typ))
+/*JP
         what = "an altar";
+*/
+        what = "\8dÕ\92d";
     else if (IS_DRAWBRIDGE(maploc->typ))
+/*JP
         what = "a drawbridge";
+*/
+        what = "\92µ\82Ë\8b´";
     else if (maploc->typ == STAIRS)
+/*JP
         what = "the stairs";
+*/
+        what = "\8aK\92i";
     else if (maploc->typ == LADDER)
+/*JP
         what = "a ladder";
+*/
+        what = "\82Í\82µ\82²";
     else if (maploc->typ == IRONBARS)
+/*JP
         what = "an iron bar";
+*/
+        what = "\93S\96_";
     else
+/*JP
         what = "something weird";
+*/
+        what = "\89½\82©\96­\82È\82à\82Ì";
+#if 0 /*JP*/
     return strcat(strcpy(buf, "kicking "), what);
+#else
+    Sprintf(buf, "%s\82ð\8fR\82Á\82Ä", what);
+    return buf;
+#endif
 }
 
 int
@@ -758,14 +963,26 @@ dokick()
     char buf[BUFSZ];
 
     if (nolimbs(youmonst.data) || slithy(youmonst.data)) {
+/*JP
         You("have no legs to kick with.");
+*/
+        You("\89½\82©\82ð\8fR\82ë\82¤\82É\82à\91«\82ª\82È\82¢\81D");
         no_kick = TRUE;
     } else if (verysmall(youmonst.data)) {
+/*JP
         You("are too small to do any kicking.");
+*/
+        You("\89½\82©\82ð\8fR\82é\82É\82Í\8f¬\82³\82·\82¬\82é\81D");
         no_kick = TRUE;
     } else if (u.usteed) {
+/*JP
         if (yn_function("Kick your steed?", ynchars, 'y') == 'y') {
+*/
+        if (yn_function("\94n\82ð\8fR\82é\81H", ynchars, 'y') == 'y') {
+/*JP
             You("kick %s.", mon_nam(u.usteed));
+*/
+            You("%s\82ð\8fR\82Á\82½\81D", mon_nam(u.usteed));
             kick_steed();
             return 1;
         } else {
@@ -783,26 +1000,41 @@ dokick()
              bp, (wl == BOTH_SIDES) ? "are" : "is");
         no_kick = TRUE;
     } else if (near_capacity() > SLT_ENCUMBER) {
+/*JP
         Your("load is too heavy to balance yourself for a kick.");
+*/
+        You("\82½\82­\82³\82ñ\82à\82Ì\82ð\8e\9d\82¿\82·\82¬\82Ä\8fR\82è\82Ì\82½\82ß\82Ì\83o\83\89\83\93\83X\82ª\82Æ\82ê\82È\82¢\81D");
         no_kick = TRUE;
     } else if (youmonst.data->mlet == S_LIZARD) {
+/*JP
         Your("legs cannot kick effectively.");
+*/
+        Your("\91«\82Å\82Í\82¤\82Ü\82­\8fR\82ê\82È\82¢\81D");
         no_kick = TRUE;
     } else if (u.uinwater && !rn2(2)) {
+/*JP
         Your("slow motion kick doesn't hit anything.");
+*/
+        Your("\92x\82¢\93®\82«\82Ì\8fR\82è\82Å\82Í\96½\92\86\82µ\82æ\82¤\82ª\82È\82¢\81D");
         no_kick = TRUE;
     } else if (u.utrap) {
         no_kick = TRUE;
         switch (u.utraptype) {
         case TT_PIT:
             if (!Passes_walls)
+/*JP
                 pline("There's not enough room to kick down here.");
+*/
+                pline("\97\8e\82µ\8c\8a\82É\82Í\82Ü\82Á\82Ä\82¢\82é\82Ì\82Å\81C\8fR\82ê\82È\82¢\81D");
             else
                 no_kick = FALSE;
             break;
         case TT_WEB:
         case TT_BEARTRAP:
+/*JP
             You_cant("move your %s!", body_part(LEG));
+*/
+            You("%s\82ð\93®\82©\82·\82±\82Æ\82ª\82Å\82«\82È\82¢\81I", body_part(LEG));
             break;
         default:
             break;
@@ -832,21 +1064,33 @@ dokick()
     if (u.uswallow) {
         switch (rn2(3)) {
         case 0:
+/*JP
             You_cant("move your %s!", body_part(LEG));
+*/
+            You("%s\82ð\93®\82©\82·\82±\82Æ\82ª\82Å\82«\82È\82¢\81I", body_part(LEG));
             break;
         case 1:
             if (is_animal(u.ustuck->data)) {
+/*JP
                 pline("%s burps loudly.", Monnam(u.ustuck));
+*/
+                pline("%s\82Í\91å\82«\82È\83Q\83b\83v\82ð\82µ\82½\81D", Monnam(u.ustuck));
                 break;
             }
         default:
+/*JP
             Your("feeble kick has no effect.");
+*/
+            Your("\8eã\81X\82µ\82¢\8fR\82è\82Í\8cø\89Ê\82ª\82È\82¢\81D"); break;
             break;
         }
         return 1;
     } else if (u.utrap && u.utraptype == TT_PIT) {
         /* must be Passes_walls */
+/*JP
         You("kick at the side of the pit.");
+*/
+        You("\97\8e\82µ\8c\8a\82Ì\95Ç\82ð\8fR\82Á\82½\81D");
         return 1;
     }
     if (Levitation) {
@@ -861,7 +1105,10 @@ dokick()
         if (isok(xx, yy) && !IS_ROCK(levl[xx][yy].typ)
             && !IS_DOOR(levl[xx][yy].typ)
             && (!Is_airlevel(&u.uz) || !OBJ_AT(xx, yy))) {
+/*JP
             You("have nothing to brace yourself against.");
+*/
+            pline("\8ex\82¦\82É\82Å\82«\82é\82æ\82¤\82È\82à\82Ì\82ª\96³\82¢\81D");
             return 0;
         }
     }
@@ -942,7 +1189,10 @@ dokick()
     }
     if (is_pool(x, y) ^ !!u.uinwater) {
         /* objects normally can't be removed from water by kicking */
+/*JP
         You("splash some water around.");
+*/
+        You("\90\85\82ð\89ñ\82è\82É\82Ü\82«\82¿\82ç\82µ\82½\81D");
         return 1;
     }
 
@@ -960,16 +1210,26 @@ dokick()
         if (maploc->typ == SDOOR) {
             if (!Levitation && rn2(30) < avrg_attrib) {
                 cvt_sdoor_to_door(maploc); /* ->typ = DOOR */
+#if 0 /*JP*/
                 pline("Crash!  %s a secret door!",
                       /* don't "kick open" when it's locked
                          unless it also happens to be trapped */
                       (maploc->doormask & (D_LOCKED | D_TRAPPED)) == D_LOCKED
                           ? "Your kick uncovers"
                           : "You kick open");
+#else
+                pline("\83K\83V\83\83\83\93\81I\82 \82È\82½\82Í\94é\96§\82Ì\94à\82ð%s\82½\81I",
+                      (maploc->doormask & (D_LOCKED|D_TRAPPED)) == D_LOCKED
+                          ? "\94­\8c©\82µ"
+                          : "\8fR\82è\8aJ\82¯");
+#endif
                 exercise(A_DEX, TRUE);
                 if (maploc->doormask & D_TRAPPED) {
                     maploc->doormask = D_NODOOR;
+/*JP
                     b_trapped("door", FOOT);
+*/
+                    b_trapped("\94à", FOOT);
                 } else if (maploc->doormask != D_NODOOR
                            && !(maploc->doormask & D_LOCKED))
                     maploc->doormask = D_ISOPEN;
@@ -983,7 +1243,10 @@ dokick()
         }
         if (maploc->typ == SCORR) {
             if (!Levitation && rn2(30) < avrg_attrib) {
+/*JP
                 pline("Crash!  You kick open a secret passage!");
+*/
+                pline("\83K\83V\83\83\83\93\81I\82 \82È\82½\82Í\94é\96§\82Ì\92Ê\98H\82ð\8fR\82è\82â\82Ô\82Á\82½\81I");
                 exercise(A_DEX, TRUE);
                 maploc->typ = CORR;
                 feel_newsym(x, y); /* we know it's gone */
@@ -1001,9 +1264,15 @@ dokick()
                 maploc->doormask = 0; /* don't leave loose ends.. */
                 (void) mkgold((long) rnd(200), x, y);
                 if (Blind)
+/*JP
                     pline("CRASH!  You destroy it.");
+*/
+                    pline("\83K\83V\83\83\83\93\81I\82 \82È\82½\82Í\89½\82©\82ð\94j\89ó\82µ\82½\81D");
                 else {
+/*JP
                     pline("CRASH!  You destroy the throne.");
+*/
+                    pline("\83K\83V\83\83\83\93\81I\82 \82È\82½\82Í\8bÊ\8dÀ\82ð\94j\89ó\82µ\82½\81D");
                     newsym(x, y);
                 }
                 exercise(A_DEX, TRUE);
@@ -1018,9 +1287,15 @@ dokick()
                         rnd_class(DILITHIUM_CRYSTAL, LUCKSTONE - 1), x, y,
                         FALSE, TRUE);
                 if (Blind)
+/*JP
                     You("kick %s loose!", something);
+*/
+                    You("\82È\82É\82©\82ð\8fR\82è\8eU\82ç\82µ\82½\81I");
                 else {
+/*JP
                     You("kick loose some ornamental coins and gems!");
+*/
+                    You("\91\95\8fü\97p\82Ì\8bà\89Ý\82â\95ó\90Î\82ð\8fR\82è\8eU\82ç\82µ\82½\81I");
                     newsym(x, y);
                 }
                 /* prevent endless milking */
@@ -1038,7 +1313,10 @@ dokick()
         if (IS_ALTAR(maploc->typ)) {
             if (Levitation)
                 goto dumb;
+/*JP
             You("kick %s.", (Blind ? something : "the altar"));
+*/
+            You("%s\82ð\8fR\82Á\82½\81D", (Blind ? "\89½\82©" : "\8dÕ\92d"));
             if (!rn2(3))
                 goto ouch;
             altar_wrath(x, y);
@@ -1048,13 +1326,22 @@ dokick()
         if (IS_FOUNTAIN(maploc->typ)) {
             if (Levitation)
                 goto dumb;
+/*JP
             You("kick %s.", (Blind ? something : "the fountain"));
+*/
+            You("%s\82ð\8fR\82Á\82½\81D",(Blind ? "\89½\82©" : "\90ò"));
             if (!rn2(3))
                 goto ouch;
             /* make metal boots rust */
             if (uarmf && rn2(3))
+/*JP
                 if (water_damage(uarmf, "metal boots", TRUE) == ER_NOTHING) {
+*/
+                if (water_damage(uarmf, "\8bà\91®\82Ì\8cC", TRUE) == ER_NOTHING) {
+/*JP
                     Your("boots get wet.");
+*/
+                    Your("\8cC\82Í\94G\82ê\82½\81D");
                     /* could cause short-lived fumbling here */
                 }
             exercise(A_DEX, TRUE);
@@ -1089,7 +1376,11 @@ dokick()
             /* nothing, fruit or trouble? 75:23.5:1.5% */
             if (rn2(3)) {
                 if (!rn2(6) && !(mvitals[PM_KILLER_BEE].mvflags & G_GONE))
+#if 0 /*JP*/
                     You_hear("a low buzzing."); /* a warning */
+#else
+                    You_hear("\82Ô\81[\82ñ\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D"); /* a warning */
+#endif
                 goto ouch;
             }
             if (rn2(15) && !(maploc->looted & TREE_LOOTED)
@@ -1098,17 +1389,28 @@ dokick()
                 short frtype = treefruit->otyp;
                 treefruit->quan = nfruit;
                 if (is_plural(treefruit))
+/*JP
                     pline("Some %s fall from the tree!", xname(treefruit));
+*/
+                    pline("%s\82ª\89½\8cÂ\82©\96Ø\82©\82ç\97\8e\82¿\82Ä\82«\82½\81I", xname(treefruit));
                 else
+/*JP
                     pline("%s falls from the tree!", An(xname(treefruit)));
+*/
+                    pline("%s\82ª\96Ø\82©\82ç\97\8e\82¿\82Ä\82«\82½\81I", xname(treefruit));
                 nfall = scatter(x, y, 2, MAY_HIT, treefruit);
                 if (nfall != nfruit) {
                     /* scatter left some in the tree, but treefruit
                      * may not refer to the correct object */
                     treefruit = mksobj(frtype, TRUE, FALSE);
                     treefruit->quan = nfruit - nfall;
+#if 0 /*JP*/
                     pline("%ld %s got caught in the branches.",
                           nfruit - nfall, xname(treefruit));
+#else
+                    pline("%ld\8cÂ\82Ì%s\82ª\8e}\82É\82Ð\82Á\82©\82©\82Á\82½\81D",
+                          nfruit - nfall, xname(treefruit));
+#endif
                     dealloc_obj(treefruit);
                 }
                 exercise(A_DEX, TRUE);
@@ -1129,9 +1431,15 @@ dokick()
                         made++;
                 }
                 if (made)
+/*JP
                     pline("You've attracted the tree's former occupants!");
+*/
+                    pline("\96Ø\82Ì\90æ\8fZ\96¯\82ð\8bN\82±\82µ\82Ä\82µ\82Ü\82Á\82½\81I");
                 else
+/*JP
                     You("smell stale honey.");
+*/
+                    pline("\8cÃ\82¢\82Í\82¿\82Ý\82Â\82Ì\82É\82¨\82¢\82ª\82µ\82½\81D");
                 maploc->looted |= TREE_SWARM;
                 return 1;
             }
@@ -1147,17 +1455,29 @@ dokick()
                 goto dumb;
             if (rn2(5)) {
                 if (!Deaf)
+/*JP
                     pline("Klunk!  The pipes vibrate noisily.");
+*/
+                    pline("\83K\83\89\83\93\81I\83p\83C\83v\82Í\82¤\82é\82³\82­\90U\93®\82µ\82½\81D");
                 else
+/*JP
                     pline("Klunk!");
+*/
+                    pline("\83K\83\89\83\93\81I");
                 exercise(A_DEX, TRUE);
                 return 1;
             } else if (!(maploc->looted & S_LPUDDING) && !rn2(3)
                        && !(mvitals[PM_BLACK_PUDDING].mvflags & G_GONE)) {
                 if (Blind)
+/*JP
                     You_hear("a gushing sound.");
+*/
+                    You_hear("\82È\82É\82©\82ª\95¬\8fo\82·\82é\89¹\82ð\95·\82¢\82½\81D");
                 else
+/*JP
                     pline("A %s ooze gushes up from the drain!",
+*/
+                    pline("%s\89t\91Ì\82ª\94r\90\85\8cû\82©\82ç\82É\82\82Ý\8fo\82½\81I",
                           hcolor(NH_BLACK));
                 (void) makemon(&mons[PM_BLACK_PUDDING], x, y, NO_MM_FLAGS);
                 exercise(A_DEX, TRUE);
@@ -1167,19 +1487,31 @@ dokick()
             } else if (!(maploc->looted & S_LDWASHER) && !rn2(3)
                        && !(mvitals[washerndx].mvflags & G_GONE)) {
                 /* can't resist... */
+/*JP
                 pline("%s returns!", (Blind ? Something : "The dish washer"));
+*/
+                pline("%s\82ª\96ß\82Á\82Ä\82«\82½\81I", (Blind ? "\89½\82©" : "\8eM\90ô\82¢"));
                 if (makemon(&mons[washerndx], x, y, NO_MM_FLAGS))
                     newsym(x, y);
                 maploc->looted |= S_LDWASHER;
                 exercise(A_DEX, TRUE);
                 return 1;
             } else if (!rn2(3)) {
+#if 0 /*JP*/
                 pline("Flupp!  %s.",
                       (Blind ? "You hear a sloshing sound"
                              : "Muddy waste pops up from the drain"));
+#else
+                pline("\82¤\82í\81I%s\81D",
+                      (Blind ? "\82 \82È\82½\82Í\81C\83o\83`\83\83\83o\83`\83\83\82·\82é\89¹\82ð\95·\82¢\82½"
+                             : "\94r\90\85\8cû\82©\82ç\82Ç\82ë\82Ç\82ë\82Ì\94p\8aü\95¨\82ª\8fo\82Ä\82­\82é"));
+#endif
                 if (!(maploc->looted & S_LRING)) { /* once per sink */
                     if (!Blind)
+/*JP
                         You_see("a ring shining in its midst.");
+*/
+                        You("\82»\82Ì\92\86\82É\8cõ\82é\8ew\97Ö\82ð\8c©\82Â\82¯\82½\81D");
                     (void) mkobj_at(RING_CLASS, x, y, TRUE);
                     newsym(x, y);
                     exercise(A_DEX, TRUE);
@@ -1195,14 +1527,20 @@ dokick()
             if (!IS_STWALL(maploc->typ) && maploc->ladder == LA_DOWN)
                 goto dumb;
         ouch:
+/*JP
             pline("Ouch!  That hurts!");
+*/
+            pline("\82¢\82Ä\82Á\81I\89ö\89ä\82µ\82½\81I");
             exercise(A_DEX, FALSE);
             exercise(A_STR, FALSE);
             if (isok(x, y)) {
                 if (Blind)
                     feel_location(x, y); /* we know we hit it */
                 if (is_drawbridge_wall(x, y) >= 0) {
+/*JP
                     pline_The("drawbridge is unaffected.");
+*/
+                    pline("\92µ\82Ë\8b´\82Í\82Ñ\82­\82Æ\82à\82µ\82È\82¢\81D");
                     /* update maploc to refer to the drawbridge */
                     (void) find_drawbridge(&x, &y);
                     maploc = &levl[x][y];
@@ -1224,11 +1562,17 @@ dokick()
     dumb:
         exercise(A_DEX, FALSE);
         if (martial() || ACURR(A_DEX) >= 16 || rn2(3)) {
+/*JP
             You("kick at empty space.");
+*/
+            You("\89½\82à\82È\82¢\8bó\8aÔ\82ð\8fR\82Á\82½\81D");
             if (Blind)
                 feel_location(x, y);
         } else {
+/*JP
             pline("Dumb move!  You strain a muscle.");
+*/
+            pline("\82Î\82©\82°\82½\93®\82«\82¾\81I\8bØ\93÷\82ð\92É\82ß\82½\81D");
             exercise(A_STR, FALSE);
             set_wounded_legs(RIGHT_SIDE, 5 + rnd(5));
         }
@@ -1248,16 +1592,28 @@ dokick()
         /* break the door */
         if (maploc->doormask & D_TRAPPED) {
             if (flags.verbose)
+/*JP
                 You("kick the door.");
+*/
+                You("\94à\82ð\8fR\82Á\82½\81D");
             exercise(A_STR, FALSE);
             maploc->doormask = D_NODOOR;
+/*JP
             b_trapped("door", FOOT);
+*/
+            b_trapped("\94à", FOOT);
         } else if (ACURR(A_STR) > 18 && !rn2(5) && !shopdoor) {
+/*JP
             pline("As you kick the door, it shatters to pieces!");
+*/
+            pline("\94à\82ð\8fR\82é\82Æ\81C\82±\82È\82²\82È\82É\82­\82¾\82¯\82½\81I");
             exercise(A_STR, TRUE);
             maploc->doormask = D_NODOOR;
         } else {
+/*JP
             pline("As you kick the door, it crashes open!");
+*/
+            pline("\94à\82ð\8fR\82é\82Æ\81C\89ó\82ê\82Ä\8aJ\82¢\82½\81I");
             exercise(A_STR, TRUE);
             maploc->doormask = D_BROKEN;
         }
@@ -1265,7 +1621,10 @@ dokick()
         unblock_point(x, y); /* vision */
         if (shopdoor) {
             add_damage(x, y, 400L);
+/*JP
             pay_for_damage("break", FALSE);
+*/
+            pay_for_damage("\94j\89ó\82·\82é", FALSE);
         }
         if (in_town(x, y))
             for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
@@ -1273,7 +1632,10 @@ dokick()
                     continue;
                 if (is_watch(mtmp->data) && couldsee(mtmp->mx, mtmp->my)
                     && mtmp->mpeaceful) {
+/*JP
                     mon_yells(mtmp, "Halt, thief!  You're under arrest!");
+*/
+                    mon_yells(mtmp, "\8e~\82Ü\82ê\93D\96_\81I\82¨\82Ü\82¦\82ð\91ß\95ß\82·\82é\81I");
                     (void) angry_guards(FALSE);
                     break;
                 }
@@ -1282,7 +1644,10 @@ dokick()
         if (Blind)
             feel_location(x, y); /* we know we hit it */
         exercise(A_STR, TRUE);
+/*JP
         pline("WHAMMM!!!");
+*/
+        pline("\82®\82\9f\82\9f\82\9f\82ñ\81I");
         if (in_town(x, y))
             for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
                 if (DEADMONSTER(mtmp))
@@ -1291,10 +1656,16 @@ dokick()
                     && couldsee(mtmp->mx, mtmp->my)) {
                     if (levl[x][y].looted & D_WARNED) {
                         mon_yells(mtmp,
+/*JP
                                   "Halt, vandal!  You're under arrest!");
+*/
+                                  "\8e~\82Ü\82ê\96ì\94Ø\90l\81I\82¨\82Ü\82¦\82ð\91ß\95ß\82·\82é\81I");
                         (void) angry_guards(FALSE);
                     } else {
+/*JP
                         mon_yells(mtmp, "Hey, stop damaging that door!");
+*/
+                        mon_yells(mtmp, "\82¨\82¢\81C\94à\82ð\94j\89ó\82·\82é\82Ì\82ð\82â\82ß\82ë\81I");
                         levl[x][y].looted |= D_WARNED;
                     }
                     break;
@@ -1423,40 +1794,75 @@ xchar dlev;          /* if !0 send to dlev near player */
     }
 
     if (dct && cansee(x, y)) { /* at least one object fell */
+/*JP
         const char *what = (dct == 1L ? "object falls" : "objects fall");
+*/
+        const char *what = "\95¨";
 
         if (missile)
+#if 0 /*JP:T*/
             pline("From the impact, %sother %s.",
                   dct == oct ? "the " : dct == 1L ? "an" : "", what);
+#else
+            pline("\8fÕ\8c\82\82Å\81C\91¼\82Ì%s\82ª\97\8e\82¿\82½\81D",what);
+#endif
         else if (oct == dct)
+#if 0 /*JP:T*/
             pline("%s adjacent %s %s.", dct == 1L ? "The" : "All the", what,
                   gate_str);
+#else
+            pline("\8bß\82­\82É\82 \82Á\82½%s\82ª%s\97\8e\82¿\82½\81D", what, gate_str);
+#endif
         else
+#if 0 /*JP*/
             pline("%s adjacent %s %s.",
                   dct == 1L ? "One of the" : "Some of the",
                   dct == 1L ? "objects falls" : what, gate_str);
+#else
+            pline("\8bß\82­\82É\82 \82Á\82½%s%s%s\97\8e\82¿\82½\81D",
+                  what,
+                  dct == 1L ? "\82ª" : "\82Ì\82¢\82­\82Â\82©\82ª",
+                  gate_str);
+#endif
     }
 
     if (costly && shkp && price) {
         if (ESHK(shkp)->robbed > robbed) {
+/*JP
             You("removed %ld %s worth of goods!", price, currency(price));
+*/
+            You("%ld%s\95ª\82Ì\95i\95¨\82ð\8eæ\82è\82³\82Á\82½\81I", price, currency(price));
             if (cansee(shkp->mx, shkp->my)) {
                 if (ESHK(shkp)->customer[0] == 0)
                     (void) strncpy(ESHK(shkp)->customer, plname, PL_NSIZ);
                 if (angry)
+/*JP
                     pline("%s is infuriated!", Monnam(shkp));
+*/
+                    pline("%s\82Í\8c\83\93{\82µ\82½\81I", Monnam(shkp));
                 else
+/*JP
                     pline("\"%s, you are a thief!\"", plname);
+*/
+                    pline("\81u%s\82ß\81C\82¨\82Ü\82¦\82Í\93D\96_\82¾\82È\81I\81v", plname);
             } else
+/*JP
                 You_hear("a scream, \"Thief!\"");
+*/
+                You_hear("\8bà\90Ø\82è\90º\82ð\95·\82¢\82½\81u\93D\96_\81I\81v");
             hot_pursuit(shkp);
             (void) angry_guards(FALSE);
             return;
         }
         if (ESHK(shkp)->debit > debit) {
             long amt = (ESHK(shkp)->debit - debit);
+#if 0 /*JP*/
             You("owe %s %ld %s for goods lost.", Monnam(shkp), amt,
                 currency(amt));
+#else
+            You("\95i\95¨\8fÁ\8e¸\82Ì\82½\82ß%s\82É%ld%s\82Ì\8eØ\82è\82ð\82Â\82­\82Á\82½\81D", Monnam(shkp), amt,
+                currency(amt));
+#endif
         }
     }
 }
@@ -1550,14 +1956,23 @@ boolean shop_floor_obj;
             || otmp->otyp == EXPENSIVE_CAMERA) {
             if (otmp->otyp == MIRROR)
                 change_luck(-2);
+/*JP
             result = "crash";
+*/
+            result = "\83O\83V\83\83\83b";
         } else {
             /* penalty for breaking eggs laid by you */
             if (otmp->otyp == EGG && otmp->spe && otmp->corpsenm >= LOW_PM)
                 change_luck((schar) -min(otmp->quan, 5L));
+/*JP
             result = "splat";
+*/
+            result = "\83x\83`\83\83\83b";
         }
+/*JP
         You_hear("a muffled %s.", result);
+*/
+        You_hear("\82±\82à\82Á\82½%s\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D", result);
         obj_extract_self(otmp);
         obfree(otmp, (struct obj *) 0);
         return TRUE;
@@ -1665,22 +2080,37 @@ long num;
 {
     char obuf[BUFSZ];
 
+#if 0 /*JP*/
     Sprintf(obuf, "%s%s",
             (otmp->otyp == CORPSE && type_is_pname(&mons[otmp->corpsenm]))
                 ? ""
                 : "The ",
             cxname(otmp));
+#else
+    Sprintf(obuf, "%s\82Í", xname(otmp));
+#endif
 
     if (num) { /* means: other objects are impacted */
+#if 0 /*JP*/
         Sprintf(eos(obuf), " %s %s object%s", otense(otmp, "hit"),
                 num == 1L ? "another" : "other", num > 1L ? "s" : "");
         if (nodrop)
             Sprintf(eos(obuf), ".");
         else
             Sprintf(eos(obuf), " and %s %s.", otense(otmp, "fall"), gate_str);
+#else
+        Sprintf(eos(obuf), "\91¼\82Ì\95¨\91Ì\82É\96½\92\86\82µ\82Ä");
+        if(nodrop)
+            Sprintf(eos(obuf), "\8e~\82Ü\82Á\82½\81D");
+        else
+            Sprintf(eos(obuf), "%s\97\8e\82¿\82½\81D", gate_str);
+#endif
         pline1(obuf);
     } else if (!nodrop)
+/*JP
         pline("%s %s %s.", obuf, otense(otmp, "fall"), gate_str);
+*/
+        pline("%s%s\97\8e\82¿\82½\81D", obuf, gate_str);
 }
 
 /* migration destination for objects which fall down to next level */
@@ -1697,19 +2127,30 @@ xchar x, y;
 
     if ((xdnstair == x && ydnstair == y)
         || (sstairs.sx == x && sstairs.sy == y && !sstairs.up)) {
+/*JP
         gate_str = "down the stairs";
+*/
+        gate_str = "\8aK\92i\82©\82ç";
         return (xdnstair == x && ydnstair == y) ? MIGR_STAIRS_UP
                                                 : MIGR_SSTAIRS;
     }
     if (xdnladder == x && ydnladder == y) {
+/*JP
         gate_str = "down the ladder";
+*/
+        gate_str = "\82Í\82µ\82²\82©\82ç";
         return MIGR_LADDER_UP;
     }
 
     if (((ttmp = t_at(x, y)) != 0 && ttmp->tseen)
         && (ttmp->ttyp == TRAPDOOR || ttmp->ttyp == HOLE)) {
+#if 0 /*JP*/
         gate_str = (ttmp->ttyp == TRAPDOOR) ? "through the trap door"
                                             : "through the hole";
+#else
+        gate_str = (ttmp->ttyp == TRAPDOOR) ? "\97\8e\82µ\94à\82É"
+                                            : "\8c\8a\82É";
+#endif
         return MIGR_RANDOM;
     }
     return MIGR_NOWHERE;