/* 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 */
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)
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)
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;
}
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);
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)
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"
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);
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);
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;
}
} 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;
}
&& 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
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
/* 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"
: 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
: (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;
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
} 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)) {
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;
} 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;
}
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()
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;
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;
}
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)) {
} 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;
}
; /* 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))
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 =
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;
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 */
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))
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;
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;
}
: (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;
}
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;
}
/* 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:
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:
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;
}
&& !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)
&& (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];
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)) {
* 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);
}
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);
}
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
}
}
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;
}
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;
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 */
* 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;
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;
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;
}
}
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;
}
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");
}
}
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();
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;