/* 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"
static NEARDATA boolean did_dig_msg;
register boolean waslit = rm_waslit();
if (rockit)
+/*JP
pline("Crash! The ceiling collapses around you!");
+*/
+ pline("\82°\82°\82ñ\81I\82 \82È\82½\82Ì\82Ü\82í\82è\82Ì\93V\88ä\82ª\95ö\82ê\82½\81I");
else
+#if 0 /*JP*/
pline("A mysterious force %s cave around you!",
(levl[u.ux][u.uy].typ == CORR) ? "creates a" : "extends the");
+#else
+ pline("\90_\94é\93I\82È\97Í\82É\82æ\82è\82 \82È\82½\82Ì\82Ü\82í\82è%s\82½\81I",
+ (levl[u.ux][u.uy].typ == CORR) ? "\82É\93´\8cA\82ª\82Å\82«" : "\82Ì\93´\8cA\82ª\8dL\82ª\82Á");
+#endif
display_nhwindow(WIN_MESSAGE, TRUE);
for (dist = 1; dist <= 2; dist++) {
{
struct trap *ttmp = t_at(x, y);
const char *verb =
+/*JP
(madeby == BY_YOU && uwep && is_axe(uwep)) ? "chop" : "dig in";
+*/
+ (madeby == BY_YOU && uwep && is_axe(uwep)) ? "\8dÓ\82¯\82È\82¢" : "\8c@\82ê\82È\82¢";
if (On_stairs(x, y)) {
if (x == xdnladder || x == xupladder) {
if (verbose)
+/*JP
pline_The("ladder resists your effort.");
+*/
+ pline("\82Í\82µ\82²\82ª\8e×\96\82\82ð\82µ\82½\81D");
} else if (verbose)
+/*JP
pline_The("stairs are too hard to %s.", verb);
+*/
+ pline("\8aK\92i\82Í\82Æ\82Ä\82à\8cÅ\82\82Ä%s\81D", verb);
return FALSE;
} else if (IS_THRONE(levl[x][y].typ) && madeby != BY_OBJECT) {
if (verbose)
+/*JP
pline_The("throne is too hard to break apart.");
+*/
+ pline("\8bÊ\8dÀ\82Í\82Æ\82Ä\82à\8cÅ\82\82Ä\8dÓ\82¯\82È\82¢\81D");
return FALSE;
} else if (IS_ALTAR(levl[x][y].typ)
&& (madeby != BY_OBJECT || Is_astralevel(&u.uz)
|| Is_sanctum(&u.uz))) {
if (verbose)
+/*JP
pline_The("altar is too hard to break apart.");
+*/
+ pline_The("\8dÕ\92d\82Í\82Æ\82Ä\82à\8cÅ\82\82Ä\8dÓ\82¯\82È\82¢\81D");
return FALSE;
} else if (Is_airlevel(&u.uz)) {
if (verbose)
+/*JP
You("cannot %s thin air.", verb);
+*/
+ You("\89½\82à\82È\82¢\8bó\8aÔ\82Í%s\81D", verb);
return FALSE;
} else if (Is_waterlevel(&u.uz)) {
if (verbose)
+/*JP
pline_The("water splashes and subsides.");
+*/
+ pline("\90\85\82ª\83s\83V\83\83\83b\82Æ\92µ\82Ë\82½\81D");
return FALSE;
} else if ((IS_ROCK(levl[x][y].typ) && levl[x][y].typ != SDOOR
&& (levl[x][y].wall_info & W_NONDIGGABLE) != 0)
|| ttmp->ttyp == VIBRATING_SQUARE
|| (!Can_dig_down(&u.uz) && !levl[x][y].candig)))) {
if (verbose)
+/*JP
pline_The("%s here is too hard to %s.", surface(x, y), verb);
+*/
+ pline_The("%s\82Í\82Æ\82Ä\82à\8cÅ\82\82Ä%s\81D", surface(x,y), verb);
return FALSE;
} else if (sobj_at(BOULDER, x, y)) {
if (verbose)
+/*JP
There("isn't enough room to %s here.", verb);
+*/
+ pline("\8f\\95ª\82È\8fê\8f\8a\82ª\82È\82¢\82Ì\82Å%s\81D", verb);
return FALSE;
} else if (madeby == BY_OBJECT
/* the block against existing traps is mainly to
register struct rm *lev;
register xchar dpx = context.digging.pos.x, dpy = context.digging.pos.y;
register boolean ispick = uwep && is_pick(uwep);
+/*JP
const char *verb = (!uwep || is_pick(uwep)) ? "dig into" : "chop through";
+*/
+ const char *verb = (!uwep || is_pick(uwep)) ? "\8c@\82ê\82È\82¢" : "\8dÓ\82¯\82È\82¢";
lev = &levl[dpx][dpy];
/* perhaps a nymph stole your pick-axe while you were busy digging */
} else { /* !context.digging.down */
if (IS_TREE(lev->typ) && !may_dig(dpx, dpy)
&& dig_typ(uwep, dpx, dpy) == DIGTYP_TREE) {
+/*JP
pline("This tree seems to be petrified.");
+*/
+ pline("\82±\82Ì\96Ø\82Í\90Î\89»\82µ\82Ä\82¢\82é\82æ\82¤\82¾\81D");
return 0;
}
if (IS_ROCK(lev->typ) && !may_dig(dpx, dpy)
&& dig_typ(uwep, dpx, dpy) == DIGTYP_ROCK) {
+#if 0 /*JP*/
pline("This %s is too hard to %s.",
is_db_wall(dpx, dpy) ? "drawbridge" : "wall", verb);
+#else
+ pline("\82±\82Ì%s\82Í\82Æ\82Ä\82à\8cÅ\82\82Ä%s\81D",
+ is_db_wall(dpx, dpy) ? "\92µ\82Ë\8b´" : "\95Ç", verb);
+#endif
return 0;
}
}
switch (rn2(3)) {
case 0:
if (!welded(uwep)) {
+/*JP
You("fumble and drop %s.", yname(uwep));
+*/
+ You("\8eè\82ª\8a\8a\82è%s\82ð\97\8e\82µ\82½\81D", yname(uwep));
dropx(uwep);
} else {
if (u.usteed)
+#if 0 /*JP:T*/
pline("%s and %s %s!", Yobjnam2(uwep, "bounce"),
otense(uwep, "hit"), mon_nam(u.usteed));
+#else
+ pline("%s\82Í\92µ\82Ë\82©\82¦\82è%s\82É\96½\92\86\82µ\82½\81I",
+ xname(uwep), mon_nam(u.usteed));
+#endif
else
+#if 0 /*JP:T*/
pline("Ouch! %s and %s you!", Yobjnam2(uwep, "bounce"),
otense(uwep, "hit"));
+#else
+ pline("\82¢\82Ä\82Á\81I%s\82Í\92µ\82Ë\82©\82¦\82è\82 \82È\82½\82É\96½\92\86\82µ\82½\81I",
+ xname(uwep));
+#endif
set_wounded_legs(RIGHT_SIDE, 5 + rnd(5));
}
break;
case 1:
+/*JP
pline("Bang! You hit with the broad side of %s!",
+*/
+ pline("\83o\83\93\81I%s\82Ì\95¿\82Å\91Å\82Á\82Ä\82µ\82Ü\82Á\82½\81I",
the(xname(uwep)));
break;
default:
+/*JP
Your("swing misses its mark.");
+*/
+ You("\91_\82¢\82ð\92è\82ß\82Ä\90U\82è\82¨\82ë\82µ\82½\82ª\82Í\82¸\82µ\82½\81D");
break;
}
return 0;
if ((obj = sobj_at(STATUE, dpx, dpy)) != 0) {
if (break_statue(obj))
+/*JP
digtxt = "The statue shatters.";
+*/
+ digtxt = "\92¤\91\9c\82Í\82±\82È\82²\82È\82É\82È\82Á\82½\81D";
else
/* it was a statue trap; break_statue()
* printed a message and updated the screen
obj_extract_self(bobj);
place_object(bobj, dpx, dpy);
}
+/*JP
digtxt = "The boulder falls apart.";
+*/
+ digtxt = "\8aâ\82Í\82±\82È\82²\82È\82É\82È\82Á\82½\81D";
} else if (lev->typ == STONE || lev->typ == SCORR
|| IS_TREE(lev->typ)) {
if (Is_earthlevel(&u.uz)) {
}
}
if (IS_TREE(lev->typ)) {
+/*JP
digtxt = "You cut down the tree.";
+*/
+ digtxt = "\96Ø\82ð\90Ø\82è\93|\82µ\82½\81D";
lev->typ = ROOM;
if (!rn2(5))
(void) rnd_treefruit_at(dpx, dpy);
} else {
+/*JP
digtxt = "You succeed in cutting away some rock.";
+*/
+ digtxt = "\8aâ\82ð\8f\82µ\90Ø\82è\82Æ\82Á\82½\81D";
lev->typ = CORR;
}
} else if (IS_WALL(lev->typ)) {
if (shopedge) {
add_damage(dpx, dpy, 10L * ACURRSTR);
+/*JP
dmgtxt = "damage";
+*/
+ dmgtxt = "\8f\9d\82Â\82¯\82é";
}
if (level.flags.is_maze_lev) {
lev->typ = ROOM;
lev->typ = DOOR;
lev->doormask = D_NODOOR;
}
+/*JP
digtxt = "You make an opening in the wall.";
+*/
+ digtxt = "\95Ç\82É\8c\8a\82ð\8bó\82¯\82½\81D";
} else if (lev->typ == SDOOR) {
cvt_sdoor_to_door(lev); /* ->typ = DOOR */
+/*JP
digtxt = "You break through a secret door!";
+*/
+ digtxt = "\94é\96§\82Ì\94à\82ð\92Ê\82è\94²\82¯\82½\81I";
if (!(lev->doormask & D_TRAPPED))
lev->doormask = D_BROKEN;
} else if (closed_door(dpx, dpy)) {
+/*JP
digtxt = "You break through the door.";
+*/
+ digtxt = "\94à\82ð\92Ê\82è\94²\82¯\82½\81D";
if (shopedge) {
add_damage(dpx, dpy, 400L);
+/*JP
dmgtxt = "break";
+*/
+ dmgtxt = "\89ó\82·";
}
if (!(lev->doormask & D_TRAPPED))
lev->doormask = D_BROKEN;
break;
}
if (mtmp)
+/*JP
pline_The("debris from your digging comes to life!");
+*/
+ pline("\8aâ\82Ì\94j\95Ð\82ª\90¶\96½\82ð\91Ñ\82Ñ\82½\81I");
}
if (IS_DOOR(lev->typ) && (lev->doormask & D_TRAPPED)) {
lev->doormask = D_NODOOR;
+/*JP
b_trapped("door", 0);
+*/
+ b_trapped("\94à", 0);
newsym(dpx, dpy);
}
cleanup:
context.digging.level.dlevel = -1;
return 0;
} else { /* not enough effort has been spent yet */
+#if 0 /*JP:T*/
static const char *const d_target[6] = { "", "rock", "statue",
"boulder", "door", "tree" };
+#else
+ static const char *const d_target[6] = { "", "\90Î", "\92¤\91\9c",
+ "\8aâ", "\94à", "\96Ø" };
+#endif
int dig_target = dig_typ(uwep, dpx, dpy);
if (IS_WALL(lev->typ) || dig_target == DIGTYP_DOOR) {
if (*in_rooms(dpx, dpy, SHOPBASE)) {
+#if 0 /*JP:T*/
pline("This %s seems too hard to %s.",
IS_DOOR(lev->typ) ? "door" : "wall", verb);
+#else
+ pline("\82±\82Ì%s\82Í\82Æ\82Ä\82à\8cÅ\82\82Ä%s\81D",
+ IS_DOOR(lev->typ) ? "\94à" : "\95Ç", verb);
+#endif
return 0;
}
} else if (dig_target == DIGTYP_UNDIGGABLE
return 0; /* statue or boulder got taken */
if (!did_dig_msg) {
+/*JP
You("hit the %s with all your might.", d_target[dig_target]);
+*/
+ You("%s\82ð\97Í\88ê\94t\91Å\82¿\82Â\82¯\82½\81D", d_target[dig_target]);
did_dig_msg = TRUE;
}
}
/* maketrap() might change it, also, in this situation,
surface() returns an inappropriate string for a grave */
if (IS_GRAVE(lev->typ))
+/*JP
Strcpy(surface_type, "grave");
+*/
+ Strcpy(surface_type, "\95æ");
else
Strcpy(surface_type, surface(x, y));
shopdoor = IS_DOOR(lev->typ) && *in_rooms(x, y, SHOPBASE);
if (x != u.ux || y != u.uy)
You("dig an adjacent pit.");
else
+/*JP
You("dig a pit in the %s.", surface_type);
+*/
+ You("%s\82É\97\8e\82µ\8c\8a\82ð\8c@\82Á\82½\81D", surface_type);
if (shopdoor)
+/*JP
pay_for_damage("ruin", FALSE);
+*/
+ pay_for_damage("\89ó\82·", FALSE);
} else if (!madeby_obj && canseemon(madeby))
+/*JP
pline("%s digs a pit in the %s.", Monnam(madeby), surface_type);
+*/
+ pline("%s\82Í%s\82É\97\8e\82µ\8c\8a\82ð\8c@\82Á\82½\81D", Monnam(madeby), surface_type);
else if (cansee(x, y) && flags.verbose)
+/*JP
pline("A pit appears in the %s.", surface_type);
+*/
+ pline("\97\8e\82µ\8c\8a\82ª%s\82É\8c»\82í\82ê\82½\81D", surface_type);
if (at_u) {
if (!wont_fall) {
} else if (mtmp) {
if (is_flyer(mtmp->data) || is_floater(mtmp->data)) {
if (canseemon(mtmp))
+#if 0 /*JP*/
pline("%s %s over the pit.", Monnam(mtmp),
(is_flyer(mtmp->data)) ? "flies" : "floats");
+#else
+ pline("%s\82Í%s\97\8e\82µ\8c\8a\82ð\89z\82¦\82½\81D", Monnam(mtmp),
+ (is_flyer(mtmp->data)) ? "\94ò\82ñ\82Å" : "\95\82\82¢\82Ä");
+#endif
} else if (mtmp != madeby)
(void) mintrap(mtmp);
}
} else { /* was TRAPDOOR now a HOLE*/
if (madeby_u)
+/*JP
You("dig a hole through the %s.", surface_type);
+*/
+ You("%s\82É\8c\8a\82ð\8aJ\82¯\82½\81D", surface_type);
else if (!madeby_obj && canseemon(madeby))
+#if 0 /*JP:T*/
pline("%s digs a hole through the %s.", Monnam(madeby),
surface_type);
+#else
+ pline("%s\82Í%s\82É\8c\8a\82ð\8aJ\82¯\82½\81D", Monnam(madeby),
+ surface_type);
+#endif
else if (cansee(x, y) && flags.verbose)
+/*JP
pline("A hole appears in the %s.", surface_type);
+*/
+ pline("%s\82É\8c\8a\82ª\8c»\82í\82ê\82½\81D", surface_type);
if (at_u) {
if (!u.ustuck && !wont_fall && !next_to_u()) {
+/*JP
You("are jerked back by your pet!");
+*/
+ You("\83y\83b\83g\82É\82æ\82Á\82Ä\88ø\82«\96ß\82³\82ê\82½\81I");
wont_fall = TRUE;
}
if (oldobjs != newobjs)
(void) pickup(1);
if (shopdoor && madeby_u)
+/*JP
pay_for_damage("ruin", FALSE);
+*/
+ pay_for_damage("\82ß\82¿\82á\82ß\82¿\82á\82É\82·\82é", FALSE);
} else {
d_level newlevel;
shopdig(1); /* shk might snatch pack */
/* handle earlier damage, eg breaking wand of digging */
else if (!madeby_u)
+/*JP
pay_for_damage("dig into", TRUE);
+*/
+ pay_for_damage("\8c\8a\82ð\82 \82¯\82é", TRUE);
+/*JP
You("fall through...");
+*/
+ You("\97\8e\82¿\82½\81D\81D\81D");
/* Earlier checks must ensure that the destination
* level exists and is in the present dungeon.
*/
}
} else {
if (shopdoor && madeby_u)
+/*JP
pay_for_damage("ruin", FALSE);
+*/
+ pay_for_damage("\82ß\82¿\82á\82ß\82¿\82á\82É\82·\82é", FALSE);
if (newobjs)
impact_drop((struct obj *) 0, x, y, 0);
if (mtmp) {
assign_level(&tolevel, &valley_level);
} else if (Is_botlevel(&u.uz)) {
if (canseemon(mtmp))
+/*JP
pline("%s avoids the trap.", Monnam(mtmp));
+*/
+ pline("%s\82Íã©\82ð\94ð\82¯\82½\81D", Monnam(mtmp));
return;
} else {
get_level(&tolevel, depth(&u.uz) + 1);
unearth_objs(x, y);
if (fillmsg)
+/*JP
pline(fillmsg, typ == LAVAPOOL ? "lava" : "water");
+*/
+ pline(fillmsg, typ == LAVAPOOL ? "\97n\8aâ" : "\90\85");
if (u_spot && !(Levitation || Flying)) {
if (typ == LAVAPOOL)
(void) lava_effects();
|| ttmp->ttyp == VIBRATING_SQUARE || nohole))
|| (IS_ROCK(lev->typ) && lev->typ != SDOOR
&& (lev->wall_info & W_NONDIGGABLE) != 0)) {
+#if 0 /*JP:T*/
pline_The("%s %shere is too hard to dig in.", surface(dig_x, dig_y),
(dig_x != u.ux || dig_y != u.uy) ? "t" : "");
+#else
+ pline("%s\82Í\82Æ\82Ä\82à\8cÅ\82\82Ä\8c@\82ê\82È\82¢\81D", surface(dig_x, dig_y));
+#endif
} else if (is_pool_or_lava(dig_x, dig_y)) {
+#if 0 /*JP:T*/
pline_The("%s sloshes furiously for a moment, then subsides.",
is_lava(dig_x, dig_y) ? "lava" : "water");
+#else
+ pline("%s\82Í\8c\83\82µ\82\94g\82¤\82Á\82½\81D",
+ is_lava(dig_x, dig_y) ? "\97n\8aâ" : "\90\85");
+#endif
wake_nearby(); /* splashing */
} else if (lev->typ == DRAWBRIDGE_DOWN
bridge is extended; drawbridge_wall is the open "doorway" or
closed "door" where the portcullis/mechanism is located */
if (pit_only) {
+/*JP
pline_The("drawbridge seems too hard to dig through.");
+*/
+ pline("\92µ\82Ë\8b´\82Í\82Æ\82Ä\82à\8cÅ\82\82Ä\8c@\82ê\82»\82¤\82É\82È\82¢\81D");
return FALSE;
} else {
int x = dig_x, y = dig_y;
} else if ((boulder_here = sobj_at(BOULDER, dig_x, dig_y)) != 0) {
if (ttmp && (ttmp->ttyp == PIT || ttmp->ttyp == SPIKED_PIT)
&& rn2(2)) {
+#if 0 /*JP*/
pline_The("boulder settles into the %spit.",
(dig_x != u.ux || dig_y != u.uy) ? "adjacent " : "");
+#else
+ pline("\8aâ\82Í%s\97\8e\82µ\8c\8a\82ð\96\84\82ß\82½\81D",
+ (dig_x != u.ux || dig_y != u.uy) ? "\97×\82Ì" : "");
+#endif
ttmp->ttyp = PIT; /* crush spikes */
} else {
/*
* digging makes a hole, but the boulder immediately
* fills it. Final outcome: no hole, no boulder.
*/
+/*JP
pline("KADOOM! The boulder falls in!");
+*/
+ pline("\82Ç\82Ç\81[\82ñ\81I\8aâ\82Í\97\8e\82¿\82½\81I");
(void) delfloortrap(ttmp);
}
delobj(boulder_here);
* We can't dig a hole here since that will destroy
* the drawbridge. The following is a cop-out. --dlc
*/
+#if 0 /*JP*/
pline_The("%s %shere is too hard to dig in.",
surface(dig_x, dig_y),
(dig_x != u.ux || dig_y != u.uy) ? "t" : "");
+#else
+ pline("%s\82Í\82Æ\82Ä\82à\8cÅ\82\82Ä\8c@\82ê\82È\82¢\81D", surface(dig_x, dig_y));
+#endif
return FALSE;
}
lev->drawbridgemask &= ~DB_UNDER;
lev->drawbridgemask |= (typ == LAVAPOOL) ? DB_LAVA : DB_MOAT;
+#if 0 /*JP:T*/
liquid_flow(dig_x, dig_y, typ, ttmp,
"As you dig, the hole fills with %s!");
+#else
+ liquid_flow(dig_x, dig_y, typ, ttmp,
+ "\82 \82È\82½\82ª\8c@\82é\82Æ\81C%s\82ª\97N\82¢\82Ä\82«\82½\81I");
+#endif
return TRUE;
/* the following two are here for the wand of digging */
} else if (IS_THRONE(lev->typ)) {
+/*JP
pline_The("throne is too hard to break apart.");
+*/
+ pline("\8bÊ\8dÀ\82Í\82Æ\82Ä\82à\8cÅ\82\82Ä\8dÓ\82¯\82È\82¢\81D");
} else if (IS_ALTAR(lev->typ)) {
+/*JP
pline_The("altar is too hard to break apart.");
+*/
+ pline("\8dÕ\92d\82Í\82Æ\82Ä\82à\8cÅ\82\82Ä\8dÓ\82¯\82È\82¢\81D");
} else {
typ = fillholetyp(dig_x, dig_y, FALSE);
if (typ != ROOM) {
lev->typ = typ;
+#if 0 /*JP*/
liquid_flow(dig_x, dig_y, typ, ttmp,
"As you dig, the hole fills with %s!");
+#else
+ liquid_flow(dig_x, dig_y, typ, ttmp,
+ "\82 \82È\82½\82ª\8c@\82é\82Æ\81C%s\82ª\97N\82¢\82Ä\82«\82½\81I");
+#endif
return TRUE;
}
exercise(A_WIS, FALSE);
if (Role_if(PM_ARCHEOLOGIST)) {
adjalign(-sgn(u.ualign.type) * 3);
+/*JP
You_feel("like a despicable grave-robber!");
+*/
+ pline("\82±\82ê\82Å\82Í\82Ü\82é\82Å\95æ\93D\96_\82¾\81I");
} else if (Role_if(PM_SAMURAI)) {
adjalign(-sgn(u.ualign.type));
+/*JP
You("disturb the honorable dead!");
+*/
+ You("\96¼\97_\82 \82é\8e\80\8eÒ\82Ì\96°\82è\82ð\96W\82°\82¾\81I");
} else if ((u.ualign.type == A_LAWFUL) && (u.ualign.record > -10)) {
adjalign(-sgn(u.ualign.type));
+/*JP
You("have violated the sanctity of this grave!");
+*/
+ You("\90¹\82È\82é\95æ\92n\82ð\94Æ\82µ\82½\81I");
}
switch (rn2(5)) {
case 0:
case 1:
+/*JP
You("unearth a corpse.");
+*/
+ You("\8e\80\91Ì\82ð\8c@\82è\8bN\82µ\82½\81D");
if (!!(otmp = mk_tt_object(CORPSE, dig_x, dig_y)))
otmp->age -= 100; /* this is an *OLD* corpse */
;
break;
case 2:
if (!Blind)
+/*JP
pline(Hallucination ? "Dude! The living dead!"
+*/
+ pline(Hallucination ? "\83]\83\93\83r\82ª\82\82é\82è\82Æ\97Ö\82ð\95`\82¢\82½\81I"
+/*JP
: "The grave's owner is very upset!");
+*/
+ : "\95æ\82Ì\8f\8a\97L\8eÒ\82Í\82Æ\82Ä\82à\8bÁ\82¢\82½\81I");
(void) makemon(mkclass(S_ZOMBIE, 0), dig_x, dig_y, NO_MM_FLAGS);
break;
case 3:
if (!Blind)
+/*JP
pline(Hallucination ? "I want my mummy!"
+*/
+ pline(Hallucination ? "\83}\83~\81[\82ª\95K\97v\82¾\81I"
+/*JP
: "You've disturbed a tomb!");
+*/
+ : "\95æ\82ð\8dr\82µ\82Ä\82µ\82Ü\82Á\82½\81I");
(void) makemon(mkclass(S_MUMMY, 0), dig_x, dig_y, NO_MM_FLAGS);
break;
default:
/* No corpse */
+/*JP
pline_The("grave seems unused. Strange....");
+*/
+ pline("\82±\82Ì\95æ\82Í\96¢\8eg\97p\82Ì\82æ\82¤\82¾\81D\8aï\96\82¾\81D\81D\81D");
break;
}
levl[dig_x][dig_y].typ = ROOM;
res = 1;
}
ispick = is_pick(obj);
+/*JP
verb = ispick ? "dig" : "chop";
+*/
+ verb = ispick ? "\8c@\82é" : "\8dÓ\82";
if (u.utrap && u.utraptype == TT_WEB) {
+#if 0 /*JP:T*/
pline("%s you can't %s while entangled in a web.",
/* res==0 => no prior message;
res==1 => just got "You now wield a pick-axe." message */
!res ? "Unfortunately," : "But", verb);
+#else
+ pline("%s\82\82à\82Ì\91\83\82É\82Ð\82Á\82©\82©\82Á\82Ä\82¢\82é\8aÔ\82Í%s\81D",
+ !res ? "\8ec\94O\82È\82ª\82ç" : "\82µ\82©\82µ", jconj(verb, "\82È\82¢"));
+#endif
return res;
}
*dsp++ = *sdp;
}
*dsp = 0;
+/*JP
Sprintf(qbuf, "In what direction do you want to %s? [%s]", verb, dirsyms);
+*/
+ Sprintf(qbuf, "\82Ç\82Ì\95û\8cü\82ð%s\81H[%s]", verb, dirsyms);
if (!getdir(qbuf))
return res;
struct trap *trap, *trap_with_u;
int dig_target;
boolean ispick = is_pick(obj);
+/*JP
const char *verbing = ispick ? "digging" : "chopping";
+*/
+ const char *verbing = ispick ? "\8c@\82é" : "\8dÓ\82";
if (u.uswallow && attack(u.ustuck)) {
; /* return 1 */
} else if (Underwater) {
+/*JP
pline("Turbulence torpedoes your %s attempts.", verbing);
+*/
+ pline("%s\82Æ\82·\82é\82Æ\97\90\90\85\97¬\82ª\8bN\82«\82½\81D", jconj(verbing, "\82æ\82¤"));
} else if (u.dz < 0) {
if (Levitation)
+/*JP
You("don't have enough leverage.");
+*/
+ You("\95\82\82¢\82Ä\82¢\82é\82Ì\82Å\82Ó\82ñ\82Î\82è\82ª\82«\82©\82È\82¢\81D");
else
+/*JP
You_cant("reach the %s.", ceiling(u.ux, u.uy));
+*/
+ You("%s\82É\93Í\82©\82È\82¢\81D", ceiling(u.ux,u.uy));
} else if (!u.dx && !u.dy && !u.dz) {
char buf[BUFSZ];
int dam;
dam = rnd(2) + dbon() + obj->spe;
if (dam <= 0)
dam = 1;
+/*JP
You("hit yourself with %s.", yname(uwep));
+*/
+ You("\8e©\95ª\8e©\90g\82ð%s\82Å\92@\82¢\82½\81D", yname(uwep));
+/*JP
Sprintf(buf, "%s own %s", uhis(), OBJ_NAME(objects[obj->otyp]));
+*/
+ Sprintf(buf, "\8e©\95ª\8e©\90g\82ð%s\82Å\92@\82¢\82Ä", yname(uwep));
losehp(Maybe_Half_Phys(dam), buf, KILLED_BY);
context.botl = 1;
return 1;
rx = u.ux + u.dx;
ry = u.uy + u.dy;
if (!isok(rx, ry)) {
+/*JP
pline("Clash!");
+*/
+ pline("\83K\83\89\83K\83\89\81I");
return 1;
}
lev = &levl[rx][ry];
if (trap && trap->ttyp == WEB) {
if (!trap->tseen) {
seetrap(trap);
+/*JP
There("is a spider web there!");
+*/
+ pline("\82»\82±\82É\82Í\82\82à\82Ì\91\83\82ª\82 \82é\81I");
}
+/*JP
pline("%s entangled in the web.", Yobjnam2(obj, "become"));
+*/
+ Your("%s\82Í\82\82à\82Ì\91\83\82É\82©\82ç\82Ü\82Á\82½\81D", xname(obj));
/* you ought to be able to let go; tough luck */
/* (maybe `move_into_trap()' would be better) */
nomul(-d(2, 2));
multi_reason = "stuck in a spider web";
+/*JP
nomovemsg = "You pull free.";
+*/
+ nomovemsg = "\82Ð\82«\82Í\82È\82µ\82½\81D";
} else if (lev->typ == IRONBARS) {
+/*JP
pline("Clang!");
+*/
+ pline("\83K\83c\83\93\81I");
wake_nearby();
} else if (IS_TREE(lev->typ))
+/*JP
You("need an axe to cut down a tree.");
+*/
+ You("\96Ø\82ð\90Ø\82é\82É\82Í\95\80\82ª\95K\97v\82¾\81D");
else if (IS_ROCK(lev->typ))
+/*JP
You("need a pick to dig rock.");
+*/
+ You("\8c@\82é\82É\82Í\82Â\82é\82Í\82µ\82ª\95K\97v\82¾\81D");
else if (!ispick && (sobj_at(STATUE, rx, ry)
|| sobj_at(BOULDER, rx, ry))) {
boolean vibrate = !rn2(3);
+#if 0 /*JP:T*/
pline("Sparks fly as you whack the %s.%s",
sobj_at(STATUE, rx, ry) ? "statue" : "boulder",
vibrate ? " The axe-handle vibrates violently!" : "");
+#else
+ pline("%s\82ð\90Ø\82ë\82¤\82Æ\82µ\82½\82ç\89Î\89Ô\82ª\8eU\82Á\82½\81I%s",
+ sobj_at(STATUE, rx, ry) ? "\92¤\91\9c" : "\8aâ",
+ vibrate ? "\95\80\82Í\8c\83\82µ\82\90U\93®\82µ\82½\81I" : "");
+#endif
if (vibrate)
+/*JP
losehp(Maybe_Half_Phys(2), "axing a hard object",
+*/
+ losehp(Maybe_Half_Phys(2), "\8cÅ\82¢\82à\82Ì\82É\95\80\82ð\8eg\82¨\82¤\82Æ\82µ\82Ä",
KILLED_BY);
} else if (u.utrap && u.utraptype == TT_PIT && trap
&& (trap_with_u = t_at(u.ux, u.uy))
} else
You("swing %s through thin air.", yobjnam(obj, (char *) 0));
} else {
+#if 0 /*JP*/
static const char *const d_action[6] = { "swinging", "digging",
"chipping the statue",
"hitting the boulder",
"chopping at the door",
"cutting the tree" };
+#else
+ static const char * const d_action1[6] = {
+ "\90U\82è",
+ "\8c@\82è",
+ "\92¤\91\9c\82ð\8dí\82è",
+ "\8aâ\82ð\91Å\82¿\82Â\82¯",
+ "\94à\82ð\8dí\82è",
+ "\96Ø\82ð\90Ø\82è"
+ };
+ static const char * const d_action2[6] = {
+ "\90U\82é",
+ "\8c@\82é",
+ "\92¤\91\9c\82ð\8dí\82é",
+ "\8aâ\82ð\91Å\82¿\82Â\82¯\82é",
+ "\94à\82ð\8dí\82é",
+ "\96Ø\82ð\90Ø\82é"
+ };
+#endif
did_dig_msg = FALSE;
context.digging.quiet = FALSE;
if (context.digging.pos.x != rx || context.digging.pos.y != ry
assign_level(&context.digging.level, &u.uz);
context.digging.effort = 0;
if (!context.digging.quiet)
+/*JP
You("start %s.", d_action[dig_target]);
+*/
+ You("%s\82Í\82¶\82ß\82½\81D", d_action1[dig_target]);
} else {
+#if 0 /*JP*/
You("%s %s.", context.digging.chew ? "begin" : "continue",
d_action[dig_target]);
+#else
+ You("%s\82Ì\82ð%s\82µ\82½\81D", d_action2[dig_target],
+ context.digging.chew ? "\8aJ\8en" : "\8dÄ\8aJ");
+#endif
context.digging.chew = FALSE;
}
set_occupation(dig, verbing, 0);
}
} else if (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) {
/* it must be air -- water checked above */
+/*JP
You("swing %s through thin air.", yobjnam(obj, (char *) 0));
+*/
+ You("\89½\82à\82È\82¢\8bó\8aÔ\82Å%s\82ð\90U\82è\82Ü\82í\82µ\82½\81D", xname(obj));
} else if (!can_reach_floor(FALSE)) {
cant_reach_floor(u.ux, u.uy, FALSE, FALSE);
} else if (is_pool_or_lava(u.ux, u.uy)) {
/* Monsters which swim also happen not to be able to dig */
+#if 0 /*JP:T*/
You("cannot stay under%s long enough.",
is_pool(u.ux, u.uy) ? "water" : " the lava");
+#else
+ You("%s\82É\82Í\92·\8e\9e\8aÔ\82¢\82ç\82ê\82È\82¢\81D",
+ is_pool(u.ux, u.uy) ? "\90\85\96Ê\89º" : "\97n\8aâ\82Ì\92\86");
+#endif
} else if ((trap = t_at(u.ux, u.uy)) != 0
&& uteetering_at_seen_pit(trap)) {
dotrap(trap, FORCEBUNGLE);
trigger or disarm a trap here */
&& (!trap || (trap->ttyp != LANDMINE
&& trap->ttyp != BEAR_TRAP))) {
+#if 0 /*JP:T*/
pline("%s merely scratches the %s.", Yobjnam2(obj, (char *) 0),
surface(u.ux, u.uy));
+#else
+ Your("%s\82Í%s\82É\82©\82·\82è\8f\9d\82ð\82Â\82¯\82½\82¾\82¯\82¾\82Á\82½\81D", aobjnam(obj, (char *)0),
+ surface(u.ux,u.uy));
+#endif
u_wipe_engr(3);
} else {
if (context.digging.pos.x != u.ux || context.digging.pos.y != u.uy
context.digging.pos.y = u.uy;
assign_level(&context.digging.level, &u.uz);
context.digging.effort = 0;
+/*JP
You("start %s downward.", verbing);
+*/
+ You("\89º\8cü\82«\82É\8c@\82è\82Í\82¶\82ß\82½\81D");
if (*u.ushops)
shopdig(0);
} else
+/*JP
You("continue %s downward.", verbing);
+*/
+ You("\89º\8cü\82«\82É\8c@\82é\82Ì\82ð\8dÄ\8aJ\82µ\82½\81D");
did_dig_msg = FALSE;
set_occupation(dig, verbing, 0);
}
if (mtmp) {
if (zap || context.digging.warned) {
+/*JP
verbalize("Halt, vandal! You're under arrest!");
+*/
+ verbalize("\8e~\82Ü\82ê\96ì\94Ø\90l\81I\82¨\82Ü\82¦\82ð\91ß\95ß\82·\82é\81I");
(void) angry_guards(!!Deaf);
} else {
const char *str;
if (IS_DOOR(lev->typ))
+/*JP
str = "door";
+*/
+ str = "\94à";
else if (IS_TREE(lev->typ))
+/*JP
str = "tree";
+*/
+ str = "\96Ø";
else if (IS_ROCK(lev->typ))
+/*JP
str = "wall";
+*/
+ str = "\95Ç";
else
+/*JP
str = "fountain";
+*/
+ str = "\90ò";
+/*JP
verbalize("Hey, stop damaging that %s!", str);
+*/
+ verbalize("\82¨\82¢\81C%s\82ð\94j\89ó\82·\82é\82Ì\82ð\82â\82ß\82ë\81I", str);
context.digging.warned = TRUE;
}
if (is_digging())
if (IS_WALL(here->typ)) {
/* KMH -- Okay on arboreal levels (room walls are still stone) */
if (flags.verbose && !rn2(5))
+/*JP
You_hear("crashing rock.");
+*/
+ You_hear("\8aâ\82Ì\82\82¾\82¯\82é\89¹\82ð\95·\82¢\82½\81D");
if (*in_rooms(mtmp->mx, mtmp->my, SHOPBASE))
add_damage(mtmp->mx, mtmp->my, 0L);
if (level.flags.is_maze_lev) {
if (unexpected) {
if (!Hallucination)
+/*JP
You_feel("an unexpected draft.");
+*/
+ You("\8ev\82¢\82à\82æ\82ç\82¸\81C\82·\82«\82Ü\95\97\82ð\8a´\82¶\82½\81D");
else
/* U.S. classification system uses 1-A for eligible to serve
and 4-F for ineligible due to physical or mental defect;
if (!is_whirly(mtmp->data)) {
if (is_animal(mtmp->data))
+#if 0 /*JP*/
You("pierce %s %s wall!", s_suffix(mon_nam(mtmp)),
mbodypart(mtmp, STOMACH));
+#else
+ You("%s\82Ì%s\82Ì\95Ç\82É\8c\8a\82ð\8aJ\82¯\82½\81I", s_suffix(mon_nam(mtmp)),
+ mbodypart(mtmp, STOMACH));
+#endif
mtmp->mhp = 1; /* almost dead */
expels(mtmp, mtmp->data, !is_animal(mtmp->data));
}
if (u.dz < 0 || On_stairs(u.ux, u.uy)) {
int dmg;
if (On_stairs(u.ux, u.uy))
+#if 0 /*JP*/
pline_The("beam bounces off the %s and hits the %s.",
(u.ux == xdnladder || u.ux == xupladder)
? "ladder"
: "stairs",
ceiling(u.ux, u.uy));
+#else
+ pline("\8cõ\90ü\82Í%s\82Å\94½\8eË\82µ%s\82É\96½\92\86\82µ\82½\81D",
+ (u.ux == xdnladder || u.ux == xupladder)
+ ? "\82Í\82µ\82²"
+ : "\8aK\92i",
+ ceiling(u.ux, u.uy));
+#endif
+/*JP
You("loosen a rock from the %s.", ceiling(u.ux, u.uy));
+*/
+ pline("%s\82Ì\8aâ\82ª\83K\83^\83K\83^\82µ\82Í\82¶\82ß\82½\81D", ceiling(u.ux, u.uy));
+/*JP
pline("It falls on your %s!", body_part(HEAD));
+*/
+ pline("\82»\82ê\82Í\82 \82È\82½\82Ì%s\82É\97\8e\82¿\82Ä\82«\82½\81I", body_part(HEAD));
dmg = rnd((uarmh && is_metallic(uarmh)) ? 2 : 6);
+/*JP
losehp(Maybe_Half_Phys(dmg), "falling rock", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(dmg), "\97\8e\8aâ\82Å", KILLED_BY_AN);
otmp = mksobj_at(ROCK, u.ux, u.uy, FALSE, FALSE);
if (otmp) {
(void) xname(otmp); /* set dknown, maybe bknown */
if (room->typ == SDOOR)
room->typ = DOOR;
else if (cansee(zx, zy))
+/*JP
pline_The("door is razed!");
+*/
+ pline("\94à\82Í\95ö\82ê\97\8e\82¿\82½\81I");
watch_dig((struct monst *) 0, zx, zy, TRUE);
room->doormask = D_NODOOR;
unblock_point(zx, zy); /* vision */
room->typ = ROOM;
unblock_point(zx, zy); /* vision */
} else if (!Blind)
+/*JP
pline_The("wall glows then fades.");
+*/
+ pline("\95Ç\82Í\88ê\8fu\8bP\82¢\82½\81D");
break;
} else if (IS_TREE(room->typ)) { /* check trees before stone */
if (!(room->wall_info & W_NONDIGGABLE)) {
room->typ = ROOM;
unblock_point(zx, zy); /* vision */
} else if (!Blind)
+/*JP
pline_The("tree shudders but is unharmed.");
+*/
+ pline("\96Ø\82Í\82ä\82ê\82½\82ª\8f\9d\82Â\82©\82È\82©\82Á\82½\81D");
break;
} else if (room->typ == STONE || room->typ == SCORR) {
if (!(room->wall_info & W_NONDIGGABLE)) {
room->typ = CORR;
unblock_point(zx, zy); /* vision */
} else if (!Blind)
+/*JP
pline_The("rock glows then fades.");
+*/
+ pline("\90Î\82Í\88ê\8fu\8bP\82¢\82½\81D");
break;
}
} else if (IS_ROCK(room->typ)) {
}
if (shopdoor || shopwall)
+/*JP
pay_for_damage(shopdoor ? "destroy" : "dig into", FALSE);
+*/
+ pay_for_damage(shopdoor ? "\94j\89ó\82·\82é" : "\8c\8a\82ð\82 \82¯\82é", FALSE);
return;
}
if (flags.verbose) {
char *cname = corpse_xname(obj, (const char *) 0, CXN_NO_PFX);
+#if 0 /*JP:T*/
Your("%s%s %s away%c", obj == uwep ? "wielded " : "", cname,
otense(obj, "rot"), obj == uwep ? '!' : '.');
+#else
+ pline("\82 \82È\82½\82Ì%s%s\82Í\95\85\82Á\82Ä\82µ\82Ü\82Á\82½%s",
+ obj == uwep ? "\8eè\82É\82µ\82Ä\82¢\82é" : "", cname,
+ obj == uwep ? "\81I" : "\81D");
+#endif
}
if (obj == uwep) {
uwepgone(); /* now bare handed */
debugpline0("bury_you");
if (!Levitation && !Flying) {
if (u.uswallow)
+/*JP
You_feel("a sensation like falling into a trap!");
+*/
+ You("ã©\82É\97\8e\82¿\82é\82æ\82¤\82È\8a´\8ao\82É\82¨\82»\82í\82ê\82½\81I");
else
+/*JP
pline_The("%s opens beneath you and you fall in!",
+*/
+ pline("%s\82ª\89º\95û\82É\8aJ\82«\81C\82 \82È\82½\82Í\97\8e\82¿\82½\81I",
surface(u.ux, u.uy));
u.uburied = TRUE;
debugpline0("escape_tomb");
if ((Teleportation || can_teleport(youmonst.data))
&& (Teleport_control || rn2(3) < Luck+2)) {
+/*JP
You("attempt a teleport spell.");
+*/
+ You("\8fu\8aÔ\88Ú\93®\82ð\8e\8e\82Ý\82½\81D");
(void) dotele(); /* calls unearth_you() */
} else if (u.uburied) { /* still buried after 'port attempt */
boolean good;
|| (unsolid(youmonst.data)
&& youmonst.data != &mons[PM_WATER_ELEMENTAL])
|| (tunnels(youmonst.data) && !needspick(youmonst.data))) {
+#if 0 /*JP*/
You("%s up through the %s.",
(tunnels(youmonst.data) && !needspick(youmonst.data))
? "try to tunnel"
? "ooze"
: "phase",
surface(u.ux, u.uy));
+#else
+ You("%s\82É%s\82ë\82¤\82Æ\82µ\82½\81D",
+ surface(u.ux, u.uy),
+ (tunnels(youmonst.data) && !needspick(youmonst.data))
+ ? "\83g\83\93\83l\83\8b\82ð\8c@"
+ : (amorphous(youmonst.data))
+ ? "\82É\82¶\82Ý\82Ì\82Ú"
+ : "\8f\99\81X\82É\82Í\82¢\82 \82ª");
+#endif
good = (tunnels(youmonst.data) && !needspick(youmonst.data))
? dighole(TRUE, FALSE, (coord *)0) : TRUE;
{
debugpline0("bury_obj");
if (cansee(otmp->ox, otmp->oy))
+/*JP
pline_The("objects on the %s tumble into a hole!",
+*/
+ pline_The("%s\82Ì\95¨\91Ì\82Í\8c\8a\82É\93]\82ª\82Á\82½\81I",
surface(otmp->ox, otmp->oy));
bury_objs(otmp->ox, otmp->oy);