/* 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. */
+
/* various code that was replicated in *main.c */
#include "hack.h"
/* side-effects from the real world */
flags.moonphase = phase_of_the_moon();
if (flags.moonphase == FULL_MOON) {
+/*JP
You("are lucky! Full moon tonight.");
+*/
+ pline("\83\89\83b\83L\81[\81I\8d¡\94Ó\82Í\96\9e\8c\8e\82¾\81D");
change_luck(1);
} else if (flags.moonphase == NEW_MOON) {
+/*JP
pline("Be careful! New moon tonight.");
+*/
+ pline("\92\8d\88Ó\82µ\82ë\81I\8d¡\94Ó\82Í\90V\8c\8e\82¾\81D");
}
flags.friday13 = friday_13th();
if (flags.friday13) {
+/*JP
pline("Watch out! Bad things can happen on Friday the 13th.");
+*/
+ pline("\97p\90S\82µ\82ë\81I\82P\82R\93ú\82Ì\8bà\97j\93ú\82É\82Í\82æ\82\82È\82¢\82±\82Æ\82ª\82 \82é\81D") ;
change_luck(-1);
}
} else if (!Upolyd && u.uhp > 1) {
u.uhp--;
} else {
+/*JP
You("pass out from exertion!");
+*/
+ pline("\94æ\98J\82Å\88Ó\8e¯\82ð\8e¸\82Á\82½\81I");
exercise(A_CON, FALSE);
fall_asleep(-10, FALSE);
}
{
if (occupation) {
if (!maybe_finished_meal(TRUE))
+/*JP
You("stop %s.", occtxt);
+*/
+ You("%s\82Ì\82ð\92\86\92f\82µ\82½\81D", occtxt);
occupation = 0;
context.botl = 1; /* in case u.uhs changed */
nomul(0);
*/
*buf = '\0';
if (new_game || u.ualignbase[A_ORIGINAL] != u.ualignbase[A_CURRENT])
+/*JP
Sprintf(eos(buf), " %s", align_str(u.ualignbase[A_ORIGINAL]));
+*/
+ Sprintf(eos(buf), "%s", align_str(u.ualignbase[A_ORIGINAL]));
if (!urole.name.f
&& (new_game
? (urole.allow & ROLE_GENDMASK) == (ROLE_MALE | ROLE_FEMALE)
: currentgend != flags.initgend))
+/*JP
Sprintf(eos(buf), " %s", genders[currentgend].adj);
+*/
+ Sprintf(eos(buf), "\82Ì%s", genders[currentgend].adj);
+#if 0 /*JP*/
pline(new_game ? "%s %s, welcome to NetHack! You are a%s %s %s."
: "%s %s, the%s %s %s, welcome back to NetHack!",
Hello((struct monst *) 0), plname, buf, urace.adj,
(currentgend && urole.name.f) ? urole.name.f : urole.name.m);
+#else
+ if(new_game){
+ pline("%s\81CNetHack\82Ì\90¢\8aE\82Ö\81I\82±\82Ì\83Q\81[\83\80\82Å\82Í\82 \82È\82½\82Í%s%s(%s)\82¾\81D",
+ Hello((struct monst *) 0), urace.adj,
+ (currentgend && urole.name.f) ? urole.name.f : urole.name.m,
+ buf);
+ } else {
+ pline("%s\81CNetHack\82Ì\90¢\8aE\82Ö\81I\82 \82È\82½\82Í%s%s\82¾\81I",
+ Hello((struct monst *) 0), urace.adj,
+ (currentgend && urole.name.f) ? urole.name.f : urole.name.m);
+ }
+#endif
}
#ifdef POSITIONBAR
/* 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"
extern boolean notonhead; /* for long worms */
#endif
static const char no_elbow_room[] =
+/*JP
"don't have enough elbow-room to maneuver.";
+*/
+ "\82»\82ê\82ð\82·\82é\82¾\82¯\82Ì\82ä\82Æ\82è\82ª\82È\82¢\81D";
STATIC_OVL int
use_camera(obj)
struct monst *mtmp;
if (Underwater) {
+/*JP
pline("Using your camera underwater would void the warranty.");
+*/
+ pline("\90\85\96Ê\89º\82Å\82Ì\83J\83\81\83\89\82Ì\8eg\97p\82Í\95Û\8fØ\82Ì\91Î\8fÛ\8aO\82Å\82·\81D");
return 0;
}
if (!getdir((char *) 0))
if (obj->cursed && !rn2(2)) {
(void) zapyourself(obj, TRUE);
} else if (u.uswallow) {
+#if 0 /*JP*/
You("take a picture of %s %s.", s_suffix(mon_nam(u.ustuck)),
mbodypart(u.ustuck, STOMACH));
+#else
+ You("%s\82Ì%s\82Ì\8eÊ\90^\82ð\8eB\82Á\82½\81D", mon_nam(u.ustuck),
+ mbodypart(u.ustuck, STOMACH));
+#endif
} else if (u.dz) {
+/*JP
+ You("take a picture of the %s.",
+*/
You("take a picture of the %s.",
(u.dz > 0) ? surface(u.ux, u.uy) : ceiling(u.ux, u.uy));
} else if (!u.dx && !u.dy) {
boolean drying_feedback = (obj == uwep);
if (!freehand()) {
+/*JP
You("have no free %s!", body_part(HAND));
+*/
+ You("%s\82Ì\8e©\97R\82ª\8cø\82©\82È\82¢\81I", body_part(HAND));
return 0;
} else if (obj == ublindf) {
+/*JP
You("cannot use it while you're wearing it!");
+*/
+ You("\82»\82ê\82ð\90g\82É\82Â\82¯\82Ä\82¢\82é\82Ì\82Å\8eg\97p\82Å\82«\82È\82¢\81I");
return 0;
} else if (obj->cursed) {
long old;
case 2:
old = Glib;
incr_itimeout(&Glib, rn1(10, 3));
+#if 0 /*JP*/
Your("%s %s!", makeplural(body_part(HAND)),
(old ? "are filthier than ever" : "get slimy"));
+#else
+ Your("%s\82Í%s\81I", makeplural(body_part(HAND)),
+ (old ? "\82Ü\82·\82Ü\82·\89\98\82È\82\82È\82Á\82½" : "\82Ê\82é\82Ê\82é\82É\82È\82Á\82½"));
+#endif
if (is_wet_towel(obj))
dry_a_towel(obj, -1, drying_feedback);
return 1;
if (!ublindf) {
old = u.ucreamed;
u.ucreamed += rn1(10, 3);
+#if 0 /*JP*/
pline("Yecch! Your %s %s gunk on it!", body_part(FACE),
(old ? "has more" : "now has"));
+#else
+ pline("\83Q\83F\81[\81I\82 \82È\82½\82Ì%s\82Í%s\82×\82Æ\82×\82Æ\82É\82È\82Á\82½\81I", body_part(FACE),
+ (old ? "\82à\82Á\82Æ" : ""));
+#endif
make_blinded(Blinded + (long) u.ucreamed - old, TRUE);
} else {
const char *what;
+#if 0 /*JP*/
what = (ublindf->otyp == LENSES)
? "lenses"
: (obj->otyp == ublindf->otyp) ? "other towel"
: "blindfold";
+#else
+ what = (ublindf->otyp == LENSES)
+ ? "\83\8c\83\93\83Y"
+ : (obj->otyp == ublindf->otyp) ? "\83^\83I\83\8b"
+ : "\96Ú\89B\82µ";
+#endif
if (ublindf->cursed) {
+#if 0 /*JP*/
You("push your %s %s.", what,
rn2(2) ? "cock-eyed" : "crooked");
+#else
+ pline("%s\82ª%s\81D", what,
+ rn2(2) ? "\82¸\82ê\82½" : "\82ä\82ª\82ñ\82¾");
+#endif
} else {
struct obj *saved_ublindf = ublindf;
+/*JP
You("push your %s off.", what);
+*/
+ pline("%s\82ª\82¸\82è\97\8e\82¿\82½\81D", what);
Blindf_off(ublindf);
dropx(saved_ublindf);
}
if (Glib) {
Glib = 0;
+/*JP
You("wipe off your %s.", makeplural(body_part(HAND)));
+*/
+ You("%s\82ð\90@\82¢\82½\81D", makeplural(body_part(HAND)));
if (is_wet_towel(obj))
dry_a_towel(obj, -1, drying_feedback);
return 1;
Blinded -= u.ucreamed;
u.ucreamed = 0;
if (!Blinded) {
+/*JP
pline("You've got the glop off.");
+*/
+ You("\82³\82Á\82Ï\82è\82µ\82½\81D");
if (!gulp_blnd_check()) {
Blinded = 1;
make_blinded(0L, TRUE);
}
} else {
+/*JP
Your("%s feels clean now.", body_part(FACE));
+*/
+ pline("%s\82Ì\89\98\82ê\82ð\90@\82«\82Æ\82Á\82½\81D", body_part(FACE));
}
if (is_wet_towel(obj))
dry_a_towel(obj, -1, drying_feedback);
return 1;
}
+#if 0 /*JP*/
Your("%s and %s are already clean.", body_part(FACE),
makeplural(body_part(HAND)));
+#else
+ Your("%s\82â%s\82Í\89\98\82ê\82Ä\82¢\82È\82¢\81D", body_part(FACE),
+ makeplural(body_part(HAND)));
+#endif
return 0;
}
Strcpy(buf, "They're dead");
}
/* variations on "He's dead, Jim." (Star Trek's Dr McCoy) */
+/*JP
You_hear("a voice say, \"%s, Jim.\"", buf);
+*/
+ You_hear("\81u\82»\82¢\82Â\82Í\8e\80\82ñ\82Å\82é\82º\81C\83W\83\80\81v\82Æ\82¢\82¤\90º\82ª\95·\82±\82¦\82½\81D");
*resp = 1;
return TRUE;
corpse = nxtobj(corpse, CORPSE, TRUE);
} while (corpse && !reviver);
}
+#if 0 /*JP*/
You("determine that %s unfortunate being%s %s%s dead.",
one ? (here ? "this" : "that") : (here ? "these" : "those"),
one ? "" : "s", one ? "is" : "are", reviver ? " mostly" : "");
+#else
+ You("%s\95s\8dK\82È\90¶\82«\95¨\82Í%s\8e\80\82ñ\82Å\82¢\82é\82Æ\8c\8b\98_\82µ\82½\81D",
+ here ? "\82±\82Ì" : "\82»\82Ì",
+ reviver ? "\82Ù\82Ú" : "");
+#endif
return TRUE;
} else { /* statue */
struct trap *ttmp = t_at(rx, ry);
if (ttmp && ttmp->ttyp == STATUE_TRAP)
+/*JP
how = "extraordinary";
+*/
+ how = "\8c\92\8dN\93I\82È";
else if (Has_contents(statue))
+/*JP
how = "remarkable";
+*/
+ how = "\96ô\93®\93I\82È";
}
+/*JP
pline("%s is in %s health for a statue.", what, how);
+*/
+ pline("\92¤\91\9c\82Æ\82µ\82Ä\82Ì%s\82Í%s\8dì\95i\82¾\81D", what, how);
return TRUE;
}
return FALSE; /* no corpse or statue */
}
+/*JP
static const char hollow_str[] = "a hollow sound. This must be a secret %s!";
+*/
+static const char hollow_str[] = "\82¤\82Â\82ë\82È\89¹\82ð\95·\82¢\82½\81D\94é\96§\82Ì%s\82É\88á\82¢\82È\82¢\81I";
/* Strictly speaking it makes no sense for usage of a stethoscope to
not take any time; however, unless it did, the stethoscope would be
&& !rn2(Role_if(PM_HEALER) ? 10 : 3));
if (nohands(youmonst.data)) {
+#if 0 /*JP*/
You("have no hands!"); /* not `body_part(HAND)' */
+#else
+ pline("\82 \82È\82½\82É\82Í\8eè\82ª\82È\82¢\81I");
+#endif
return 0;
} else if (Deaf) {
+/*JP
You_cant("hear anything!");
+*/
+ You("\89½\82à\95·\82±\82¦\82È\82¢\81I");
return 0;
} else if (!freehand()) {
+/*JP
You("have no free %s.", body_part(HAND));
+*/
+ You("%s\82Ì\8e©\97R\82ª\8cø\82©\82È\82¢\81D", body_part(HAND));
return 0;
}
if (!getdir((char *) 0))
if (u.usteed && u.dz > 0) {
if (interference) {
+/*JP
pline("%s interferes.", Monnam(u.ustuck));
+*/
+ pline("%s\82ª\82¶\82á\82Ü\82ð\82µ\82½\81D", Monnam(u.ustuck));
mstatusline(u.ustuck);
} else
mstatusline(u.usteed);
mstatusline(u.ustuck);
return res;
} else if (u.uswallow && interference) {
+/*JP
pline("%s interferes.", Monnam(u.ustuck));
+*/
+ pline("%s\82ª\82¶\82á\82Ü\82ð\82µ\82½\81D", Monnam(u.ustuck));
mstatusline(u.ustuck);
return res;
} else if (u.dz) {
if (Underwater)
+/*JP
You_hear("faint splashing.");
+*/
+ You_hear("\82©\82·\82©\82É\83o\83V\83\83\83o\83V\83\83\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
else if (u.dz < 0 || !can_reach_floor(TRUE))
cant_reach_floor(u.ux, u.uy, (u.dz < 0), TRUE);
else if (its_dead(u.ux, u.uy, &res))
; /* message already given */
else if (Is_stronghold(&u.uz))
+/*JP
You_hear("the crackling of hellfire.");
+*/
+ You_hear("\92n\8d\96\82Ì\89\8a\82ª\83p\83`\83p\83`\94R\82¦\82Ä\82¢\82é\89¹\82ð\95·\82¢\82½\81D");
else
+/*JP
pline_The("%s seems healthy enough.", surface(u.ux, u.uy));
+*/
+ pline("%s\82Í\8f[\95ª\8c\92\8dN\82Ì\82æ\82¤\82¾\81D", surface(u.ux,u.uy));
return res;
} else if (obj->cursed && !rn2(2)) {
+/*JP
You_hear("your heart beat.");
+*/
+ You_hear("\8e©\95ª\82Ì\90S\91\9f\82Ì\8cÛ\93®\82ð\95·\82¢\82½\81D");
return res;
}
if (Stunned || (Confusion && !rn2(5)))
rx = u.ux + u.dx;
ry = u.uy + u.dy;
if (!isok(rx, ry)) {
+/*JP
You_hear("a faint typing noise.");
+*/
+ You_hear("\82©\82·\82©\82É\82¾\82ê\82©\82ª\83^\83C\83s\83\93\83O\82µ\82Ä\82¢\82é\89¹\82ð\95·\82¢\82½\81D");
return 0;
}
if ((mtmp = m_at(rx, ry)) != 0) {
if (glyph_is_invisible(levl[rx][ry].glyph)) {
unmap_object(rx, ry);
newsym(rx, ry);
+/*JP
pline_The("invisible monster must have moved.");
+*/
+ pline_The("\8c©\82¦\82È\82¢\89ö\95¨\82Í\88Ú\93®\82µ\82Ä\82µ\82Ü\82Á\82½\82æ\82¤\82¾\81D");
}
lev = &levl[rx][ry];
switch (lev->typ) {
case SDOOR:
+/*JP
You_hear(hollow_str, "door");
+*/
+ You_hear(hollow_str, "\94à");
cvt_sdoor_to_door(lev); /* ->typ = DOOR */
feel_newsym(rx, ry);
return res;
case SCORR:
+/*JP
You_hear(hollow_str, "passage");
+*/
+ You_hear(hollow_str, "\92Ê\98H");
lev->typ = CORR;
unblock_point(rx, ry);
feel_newsym(rx, ry);
}
if (!its_dead(rx, ry, &res))
+#if 0 /*JP*/
You("hear nothing special."); /* not You_hear() */
+#else
+ pline("\93Á\82É\89½\82à\95·\82±\82¦\82È\82¢\81D");
+#endif
return res;
}
+/*JP
static const char whistle_str[] = "produce a %s whistling sound.";
+*/
+static const char whistle_str[] = "\93J\82ð\90\81\82¢\82Ä%s\89¹\82ð\82½\82Ä\82½\81D";
STATIC_OVL void
use_whistle(obj)
struct obj *obj;
{
if (!can_blow(&youmonst)) {
+/*JP
You("are incapable of using the whistle.");
+*/
+ You("\93J\82ð\8eg\82¤\94\\97Í\82ª\82È\82¢\81D");
} else if (Underwater) {
+/*JP
You("blow bubbles through %s.", yname(obj));
+*/
+ You("%s\82ð\92Ê\82µ\82Ä\96A\82ð\8fo\82µ\82½\81D", yname(obj));
} else {
+/*JP
You(whistle_str, obj->cursed ? "shrill" : "high");
+*/
+ You(whistle_str, obj->cursed ? "\95s\8bC\96¡\82È" : "\82©\82ñ\8d\82\82¢");
wake_nearby();
}
}
register struct monst *mtmp, *nextmon;
if (!can_blow(&youmonst)) {
+/*JP
You("are incapable of using the whistle.");
+*/
+ You("\93J\82ð\8eg\82¤\94\\97Í\82ª\82È\82¢\81D");
} else if (obj->cursed && !rn2(2)) {
+#if 0 /*JP*/
You("produce a %shigh-pitched humming noise.",
Underwater ? "very " : "");
+#else
+ You("%s\8d\82\82¢\92²\8eq\82Ì\82¤\82È\82é\82æ\82¤\82È\89¹\82ð\82½\82Ä\82½\81D",
+ Underwater ? "\82Æ\82Ä\82à" : "");
+#endif
wake_nearby();
} else {
int pet_cnt = 0, omx, omy;
/* it's magic! it works underwater too (at a higher pitch) */
+#if 0 /*JP*/
You(whistle_str,
Hallucination ? "normal" : Underwater ? "strange, high-pitched"
: "strange");
+#else
+ You(whistle_str,
+ Hallucination ? "\93J\82Ì\82æ\82¤\82È" : Underwater ? "\95s\8ev\8bc\82È\8d\82\82¢\92²\8eq\82Ì"
+ : "\95s\8ev\8bc\82È");
+#endif
for (mtmp = fmon; mtmp; mtmp = nextmon) {
nextmon = mtmp->nmon; /* trap might kill mon */
if (DEADMONSTER(mtmp))
if (feedback) {
if (canseemon(mtmp))
+/*JP
pline("%s pulls free of %s leash!", Monnam(mtmp), mhis(mtmp));
+*/
+ pline("%s\82Í\95R\82ð\88ø\82Á\82Ï\82Á\82Ä\93¦\82ê\82½\81I", Monnam(mtmp));
else
+/*JP
Your("leash falls slack.");
+*/
+ Your("\95R\82ª\82½\82é\82ñ\82Å\97\8e\82¿\82½\81D");
}
for (otmp = invent; otmp; otmp = otmp->nobj)
if (otmp->otyp == LEASH && otmp->leashmon == (int) mtmp->m_id)
int spotmon;
if (!obj->leashmon && number_leashed() >= MAXLEASHED) {
+/*JP
You("cannot leash any more pets.");
+*/
+ You("\82±\82ê\88È\8fã\83y\83b\83g\82É\95R\82ð\82©\82¯\82ç\82ê\82È\82¢\81D");
return;
}
spotmon = 1;
goto got_target;
}
+/*JP
pline("Leash yourself? Very funny...");
+*/
+ pline("\8e©\95ª\82ð\94\9b\82é\81H\95Ï\82È\82Ì\81D\81D\81D");
return;
}
if (!(mtmp = m_at(cc.x, cc.y))) {
+/*JP
There("is no creature there.");
+*/
+ pline("\82»\82±\82É\82Í\90¶\82«\95¨\82Í\82¢\82È\82¢\81D");
return;
}
if (!mtmp->mtame) {
if (!spotmon)
+/*JP
There("is no creature there.");
+*/
+ pline("\82»\82±\82É\82Í\90¶\82«\95¨\82Í\82¢\82È\82¢\81D");
else
+#if 0 /*JP*/
pline("%s %s leashed!", Monnam(mtmp),
(!obj->leashmon) ? "cannot be" : "is not");
+#else
+ pline("%s\82Í\95R\82Å%s\81I", Monnam(mtmp),
+ (!obj->leashmon) ? "\8c\8b\82×\82È\82¢" : "\8c\8b\82Î\82ê\82Ä\82¢\82È\82¢");
+#endif
return;
}
if (!obj->leashmon) {
if (mtmp->mleashed) {
+#if 0 /*JP*/
pline("This %s is already leashed.",
spotmon ? l_monnam(mtmp) : "monster");
+#else
+ pline("%s\82Í\82·\82Å\82É\8c\8b\82Ñ\82Â\82¯\82ç\82ê\82Ä\82¢\82é\81D",
+ spotmon ? l_monnam(mtmp) : "\89ö\95¨");
+#endif
return;
}
if (!leashable(mtmp)) {
+#if 0 /*JP*/
pline("The leash won't fit onto %s%s.", spotmon ? "your " : "",
l_monnam(mtmp));
+#else
+ pline("\95R\82Í%s\82É\8d\87\82í\82È\82¢\81D",
+ l_monnam(mtmp));
+#endif
return;
}
+#if 0 /*JP*/
You("slip the leash around %s%s.", spotmon ? "your " : "",
l_monnam(mtmp));
+#else
+ You("%s\82ð\95R\82Å\8c\8b\82Ñ\82Â\82¯\82½\81D",
+ l_monnam(mtmp));
+#endif
mtmp->mleashed = 1;
obj->leashmon = (int) mtmp->m_id;
mtmp->msleeping = 0;
return;
}
if (obj->leashmon != (int) mtmp->m_id) {
+/*JP
pline("This leash is not attached to that creature.");
+*/
+ pline("\82±\82Ì\95R\82Í\82»\82ê\82É\82Í\8c\8b\82Î\82ê\82Ä\82¢\82È\82¢\81D");
return;
} else {
if (obj->cursed) {
+/*JP
pline_The("leash would not come off!");
+*/
+ pline("\95R\82ª\82Í\82¸\82ê\82È\82¢\81I");
obj->bknown = TRUE;
return;
}
mtmp->mleashed = 0;
obj->leashmon = 0;
+#if 0 /*JP*/
You("remove the leash from %s%s.", spotmon ? "your " : "",
l_monnam(mtmp));
+#else
+ You("%s\82©\82ç\95R\82ð\82Í\82¸\82µ\82½\81D",
+ l_monnam(mtmp));
+#endif
}
return;
}
&& otmp->leashmon == (int) mtmp->m_id) {
if (otmp->cursed)
return FALSE;
+#if 0 /*JP*/
You_feel("%s leash go slack.",
(number_leashed() > 1) ? "a" : "the");
+#else
+ You("\95R\82ª\82½\82é\82ñ\82¾\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
+#endif
mtmp->mleashed = 0;
otmp->leashmon = 0;
}
|| (mtmp->mhp -= rnd(2)) <= 0) {
long save_pacifism = u.uconduct.killer;
+/*JP
Your("leash chokes %s to death!", mon_nam(mtmp));
+*/
+ pline("%s\82Í\8di\82ß\8eE\82³\82ê\82½\81I",mon_nam(mtmp));
/* hero might not have intended to kill pet, but
that's the result of his actions; gain experience,
lose pacifism, take alignment and luck hit, make
if (mtmp->mhp > 0)
u.uconduct.killer = save_pacifism;
} else {
+/*JP
pline("%s is choked by the leash!", Monnam(mtmp));
+*/
+ pline("%s\82Í\95R\82Å\8eñ\82ð\8di\82ß\82ç\82ê\82½\81I", Monnam(mtmp));
/* tameness eventually drops to 1 here (never 0) */
if (mtmp->mtame && rn2(mtmp->mtame))
mtmp->mtame--;
}
} else {
if (um_dist(mtmp->mx, mtmp->my, 5)) {
+/*JP
pline("%s leash snaps loose!", s_suffix(Monnam(mtmp)));
+*/
+ pline("%s\82Ì\95R\82Í\83p\83`\83\93\82Æ\8aO\82ê\82½\81I", Monnam(mtmp));
m_unleash(mtmp, FALSE);
} else {
+/*JP
You("pull on the leash.");
+*/
+ You("\95R\82ð\88ø\82Á\82Ï\82Á\82½\81D");
if (mtmp->data->msound != MS_SILENT)
switch (rn2(3)) {
case 0:
{
return ((ACURR(A_CHA) > 14)
? ((poly_gender() == 1)
+#if 0 /*JP*/
? "beautiful"
: "handsome")
: "ugly");
+#else
+/*JP \8cê\8a²\82Å\8eg\82¤ */
+ ? "\94ü\82µ"
+ : "\82è\82è\82µ")
+ : "\8fX");
+#endif
}
#define WEAK 3 /* from eat.c */
+/*JP
static const char look_str[] = "look %s.";
+*/
+static const char look_str[] = "%s\8c©\82¦\82é\81D";
STATIC_OVL int
use_mirror(obj)
mirror = simpleonames(obj); /* "mirror" or "looking glass" */
if (obj->cursed && !rn2(2)) {
if (!Blind)
+/*JP
pline_The("%s fogs up and doesn't reflect!", mirror);
+*/
+ pline("%s\82Í\93Ü\82è\81C\89f\82ç\82È\82\82È\82Á\82½\81I", mirror);
return 1;
}
if (!u.dx && !u.dy && !u.dz) {
if (!useeit) {
+/*JP
You_cant("see your %s %s.", uvisage, body_part(FACE));
+*/
+ You_cant("\8e©\95ª\82Ì%s\82¢%s\82ð\8c©\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D", uvisage, body_part(FACE));
} else {
if (u.umonnum == PM_FLOATING_EYE) {
if (Free_action) {
+/*JP
You("stiffen momentarily under your gaze.");
+*/
+ pline("\88ê\8fu\82 \82È\82½\82Ì\82É\82ç\82Ý\82Å\8dd\92¼\82µ\82½\81D");
} else {
if (Hallucination)
+/*JP
pline("Yow! The %s stares back!", mirror);
+*/
+ pline("\82¨\82ì\81I%s\82ª\82 \82È\82½\82ð\82É\82ç\82Ý\95Ô\82µ\82½\81I", mirror);
else
+/*JP
pline("Yikes! You've frozen yourself!");
+*/
+ pline("\82¨\82ì\81I\82 \82È\82½\82Í\93®\82¯\82È\82\82È\82Á\82½\81I");
if (!Hallucination || !rn2(4)) {
nomul(-rnd(MAXULEV + 6 - u.ulevel));
multi_reason = "gazing into a mirror";
nomovemsg = 0; /* default, "you can move again" */
}
} else if (youmonst.data->mlet == S_VAMPIRE)
+/*JP
You("don't have a reflection.");
+*/
+ You("\8b¾\82É\89f\82ç\82È\82©\82Á\82½\81D");
else if (u.umonnum == PM_UMBER_HULK) {
+/*JP
pline("Huh? That doesn't look like you!");
+*/
+ pline("\82Ù\82¦\81H\8eÊ\82Á\82Ä\82é\82Ì\82Í\82 \82È\82½\82¶\82á\82È\82¢\82Ý\82½\82¢\82¾\81I");
make_confused(HConfusion + d(3, 4), FALSE);
} else if (Hallucination)
You(look_str, hcolor((char *) 0));
else if (Sick)
+/*JP
You(look_str, "peaked");
+*/
+ You(look_str, "\8aç\90F\82ª\88«\82");
else if (u.uhs >= WEAK)
+/*JP
You(look_str, "undernourished");
+*/
+ You(look_str, "\89h\97{\8e¸\92²\82Ì\82æ\82¤\82É");
else
+/*JP
You("look as %s as ever.", uvisage);
+*/
+ You("\82 \82¢\82©\82í\82ç\82¸%s\82\8c©\82¦\82é\81D", uvisage);
}
return 1;
}
}
if (Underwater) {
if (useeit)
+#if 0 /*JP*/
You(Hallucination ? "give the fish a chance to fix their makeup."
: "reflect the murky water.");
+#else
+ You(Hallucination ? "\8b\9b\82É\89»\8fÏ\92¼\82µ\82Ì\8b@\89ï\82ð\97^\82¦\82½\81D"
+ : "\82 \82È\82½\82Í\97\84\82ñ\82¾\90\85\82ð\89f\82µ\82½\81D");
+#endif
return 1;
}
if (u.dz) {
if (useeit)
+/*JP
You("reflect the %s.",
+*/
+ You("%s\82ð\89f\82µ\82½\81D",
(u.dz > 0) ? surface(u.ux, u.uy) : ceiling(u.ux, u.uy));
return 1;
}
mlet = mtmp->data->mlet;
if (mtmp->msleeping) {
if (vis)
+/*JP
pline("%s is too tired to look at your %s.", Monnam(mtmp),
+*/
+ pline("%s\82Í\82Æ\82Ä\82à\94æ\82ê\82Ä\82¢\82Ä%s\82ð\8c©\82é\82Ç\82±\82ë\82¶\82á\82È\82¢\81D", Monnam(mtmp),
mirror);
} else if (!mtmp->mcansee) {
if (vis)
+/*JP
pline("%s can't see anything right now.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8d¡\82Ì\82Æ\82±\82ë\89½\82à\8c©\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D", Monnam(mtmp));
} else if (invis_mirror && !perceives(mtmp->data)) {
if (vis)
+/*JP
pline("%s fails to notice your %s.", Monnam(mtmp), mirror);
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì%s\82É\8bC\95t\82©\82È\82©\82Á\82½\81D", Monnam(mtmp), mirror);
/* infravision doesn't produce an image in the mirror */
} else if ((how_seen & SEENMON) == MONSEEN_INFRAVIS) {
if (vis) /* (redundant) */
+#if 0 /*JP*/
pline("%s is too far away to see %sself in the dark.",
Monnam(mtmp), mhim(mtmp));
+#else
+ pline("%s\82Í\88Ã\88Å\82Å\8e©\95ª\8e©\90g\82ð\8c©\82é\82É\82Í\89\93\82·\82¬\82é\81D", Monnam(mtmp));
+#endif
/* some monsters do special things */
} else if (mlet == S_VAMPIRE || mlet == S_GHOST || is_vampshifter(mtmp)) {
if (vis)
+/*JP
pline("%s doesn't have a reflection.", Monnam(mtmp));
+*/
+ pline("%s\82Í%s\82É\89f\82ç\82È\82¢\81D", Monnam(mtmp), mirror);
} else if (monable && mtmp->data == &mons[PM_MEDUSA]) {
+/*JP
if (mon_reflects(mtmp, "The gaze is reflected away by %s %s!"))
+*/
+ if (mon_reflects(mtmp, "\82É\82ç\82Ý\82Í%s\82Ì%s\82Å\94½\8eË\82µ\82½\81I"))
return 1;
if (vis)
+/*JP
pline("%s is turned to stone!", Monnam(mtmp));
+*/
+ pline("%s\82Í\90Î\82É\82È\82Á\82½\81I", Monnam(mtmp));
stoned = TRUE;
killed(mtmp);
} else if (monable && mtmp->data == &mons[PM_FLOATING_EYE]) {
if (!rn2(4))
tmp = 120;
if (vis)
+/*JP
pline("%s is frozen by its reflection.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8e©\95ª\82Ì\8ep\82ð\8c©\82Ä\93®\82¯\82È\82\82È\82Á\82½\81D", Monnam(mtmp));
else
+/*JP
You_hear("%s stop moving.", something);
+*/
+ You_hear("\89½\82©\82ª\93®\82«\82ð\82Æ\82ß\82½\89¹\82ð\95·\82¢\82½\81D");
paralyze_monst(mtmp, (int) mtmp->mfrozen + tmp);
} else if (monable && mtmp->data == &mons[PM_UMBER_HULK]) {
if (vis)
+/*JP
pline("%s confuses itself!", Monnam(mtmp));
+*/
+ pline("%s\82Í\8d¬\97\90\82µ\82½\81I", Monnam(mtmp));
mtmp->mconf = 1;
} else if (monable && (mlet == S_NYMPH || mtmp->data == &mons[PM_SUCCUBUS]
|| mtmp->data == &mons[PM_INCUBUS])) {
if (vis) {
char buf[BUFSZ]; /* "She" or "He" */
+#if 0 /*JP*/
pline("%s admires %sself in your %s.", Monnam(mtmp), mhim(mtmp),
mirror);
+#else
+ pline("%s\82Í\8e©\95ª\82Ì\8ep\82É\82¤\82Á\82Æ\82è\82µ\82½\81D", Monnam(mtmp));
+#endif
+/*JP
pline("%s takes it!", upstart(strcpy(buf, mhe(mtmp))));
+*/
+ pline("%s\82Í\82»\82ê\82ð\92D\82Á\82½\81I", upstart(strcpy(buf, mhe(mtmp))));
} else
+/*JP
pline("It steals your %s!", mirror);
+*/
+ pline("\89½\8eÒ\82©\82ª\82 \82È\82½\82Ì%s\82ð\93\90\82ñ\82¾\81I", mirror);
setnotworn(obj); /* in case mirror was wielded */
freeinv(obj);
(void) mpickobj(mtmp, obj);
} else if (!is_unicorn(mtmp->data) && !humanoid(mtmp->data)
&& (!mtmp->minvis || perceives(mtmp->data)) && rn2(5)) {
if (vis)
+/*JP
pline("%s is frightened by its reflection.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8e©\95ª\82Ì\8ep\82ð\8c©\82Ä\95|\82ª\82Á\82½\81D", Monnam(mtmp));
monflee(mtmp, d(2, 4), FALSE, FALSE);
} else if (!Blind) {
if (mtmp->minvis && !See_invisible)
else if ((mtmp->minvis && !perceives(mtmp->data))
/* redundant: can't get here if these are true */
|| !haseyes(mtmp->data) || notonhead || !mtmp->mcansee)
+#if 0 /*JP*/
pline("%s doesn't seem to notice %s reflection.", Monnam(mtmp),
mhis(mtmp));
+#else
+ pline("%s\82Í\8e©\95ª\82Ì\8ep\82É\8bC\82ª\82Â\82¢\82Ä\82È\82¢\82æ\82¤\82¾\81D", Monnam(mtmp));
+#endif
else
+/*JP
pline("%s ignores %s reflection.", Monnam(mtmp), mhis(mtmp));
+*/
+ pline("%s\82Í\8e©\95ª\82Ì\8ep\82ð\96³\8e\8b\82µ\82½\81D", Monnam(mtmp));
}
return 1;
}
(obj->otyp == BELL_OF_OPENING && invocation_pos(u.ux, u.uy)
&& !On_stairs(u.ux, u.uy));
+/*JP
You("ring %s.", the(xname(obj)));
+*/
+ You("%s\82ð\96Â\82ç\82µ\82½\81D", the(xname(obj)));
if (Underwater || (u.uswallow && ordinary)) {
#ifdef AMIGA
amii_speaker(obj, "AhDhGqEqDhEhAqDqFhGw", AMII_MUFFLED_VOLUME);
#endif
+/*JP
pline("But the sound is muffled.");
+*/
+ pline("\82µ\82©\82µ\89¹\82Í\82©\82«\8fÁ\82³\82ê\82½\81D");
} else if (invoking && ordinary) {
/* needs to be recharged... */
+/*JP
pline("But it makes no sound.");
+*/
+ pline("\82µ\82©\82µ\81C\89¹\82Í\96Â\82ç\82È\82©\82Á\82½\81D");
learno = TRUE; /* help player figure out why */
} else if (ordinary) {
&& !(mvitals[PM_MOUNTAIN_NYMPH].mvflags & G_GONE)
&& (mtmp = makemon(mkclass(S_NYMPH, 0), u.ux, u.uy, NO_MINVENT))
!= 0) {
+/*JP
You("summon %s!", a_monnam(mtmp));
+*/
+ You("%s\82ð\8f¢\8a«\82µ\82½\81I", a_monnam(mtmp));
if (!obj_resists(obj, 93, 100)) {
+/*JP
pline("%s shattered!", Tobjnam(obj, "have"));
+*/
+ pline("%s\82Í\95²\81X\82É\82È\82Á\82½\81I", xname(obj));
useup(obj);
*optr = 0;
} else
wakem = TRUE;
} else if (invoking) {
+/*JP
pline("%s an unsettling shrill sound...", Tobjnam(obj, "issue"));
+*/
+ pline("%s\82Í\95s\8bC\96¡\82È\89s\82¢\89¹\82ð\8fo\82µ\82½\81D\81D\81D", xname(obj));
#ifdef AMIGA
amii_speaker(obj, "aefeaefeaefeaefeaefe", AMII_LOUDER_VOLUME);
#endif
pline1(nothing_happens);
break;
case 1:
+/*JP
pline("%s opens...", Something);
+*/
+ pline("\89½\82©\82ª\8aJ\82¢\82½\81D\81D\81D");
learno = TRUE;
break;
default:
+/*JP
pline("Things open around you...");
+*/
+ pline("\82Ü\82í\82è\82Ì\95¨\82ª\8aJ\82¢\82½\81D\81D\81D");
learno = TRUE;
break;
}
use_candelabrum(obj)
register struct obj *obj;
{
+#if 0 /*JP*//* not used */
const char *s = (obj->spe != 1) ? "candles" : "candle";
+#endif
if (obj->lamplit) {
+/*JP
You("snuff the %s.", s);
+*/
+ You("\82ë\82¤\82»\82\82ð\90\81\82«\8fÁ\82µ\82½\81D");
end_burn(obj, TRUE);
return;
}
if (obj->spe <= 0) {
+/*JP
pline("This %s has no %s.", xname(obj), s);
+*/
+ pline("\82±\82Ì%s\82É\82Í\82ë\82¤\82»\82\82ª\82È\82¢\81D", xname(obj));
return;
}
if (Underwater) {
+/*JP
You("cannot make fire under water.");
+*/
+ You("\90\85\92\86\82Å\89Î\82ð\82¨\82±\82¹\82È\82¢\81D");
return;
}
if (u.uswallow || obj->cursed) {
if (!Blind)
+#if 0 /*JP*/
pline_The("%s %s for a moment, then %s.", s, vtense(s, "flicker"),
vtense(s, "die"));
+#else
+ pline("\82ë\82¤\82»\82\82Ì\89\8a\82Í\82µ\82Î\82ç\82\93_\96Å\82µ\81C\8fÁ\82¦\82½\81D");
+#endif
return;
}
if (obj->spe < 7) {
+#if 0 /*JP*/
There("%s only %d %s in %s.", vtense(s, "are"), obj->spe, s,
the(xname(obj)));
+#else
+ pline("%s\82É\82Í\82½\82Á\82½%d\96{\82Ì\82ë\82¤\82»\82\82µ\82©\82È\82¢\81D",
+ xname(obj), obj->spe);
+#endif
if (!Blind)
+#if 0 /*JP*/
pline("%s lit. %s dimly.", obj->spe == 1 ? "It is" : "They are",
Tobjnam(obj, "shine"));
+#else
+ pline("%s\82É\89Î\82ð\82Â\82¯\82½\81D%s\82Í\82Ù\82Ì\82©\82É\8bP\82¢\82½\81D",
+ xname(obj), xname(obj));
+#endif
} else {
+#if 0 /*JP*/
pline("%s's %s burn%s", The(xname(obj)), s,
(Blind ? "." : " brightly!"));
+#else
+ pline("%s\82Ì\82ë\82¤\82»\82\82Í%s\94R\82¦\82 \82ª\82Á\82½\81I", The(xname(obj)),
+ (Blind ? "" : "\96¾\82é\82"));
+#endif
}
if (!invocation_pos(u.ux, u.uy) || On_stairs(u.ux, u.uy)) {
+/*JP
pline_The("%s %s being rapidly consumed!", s, vtense(s, "are"));
+*/
+ pline("\82ë\82¤\82»\82\82Í\82·\82²\82¢\91¬\82³\82Å\94R\82¦\8en\82ß\82½\81I");
/* this used to be obj->age /= 2, rounding down; an age of
1 would yield 0, confusing begin_burn() and producing an
unlightable, unrefillable candelabrum; round up instead */
} else {
if (obj->spe == 7) {
if (Blind)
+/*JP
pline("%s a strange warmth!", Tobjnam(obj, "radiate"));
+*/
+ pline("\8aï\96\82È\92g\82©\82³\82ð%s\82É\8a´\82¶\82½\81I", xname(obj));
else
+/*JP
pline("%s with a strange light!", Tobjnam(obj, "glow"));
+*/
+ pline("%s\82Í\8aï\96\82È\8cõ\82ð\94\82µ\82Ä\82¢\82é\81I", xname(obj));
}
obj->known = 1;
}
{
register struct obj *obj = *optr;
register struct obj *otmp;
+/*JP
const char *s = (obj->quan != 1) ? "candles" : "candle";
+*/
+ const char *s = "\82ë\82¤\82»\82";
char qbuf[QBUFSZ], qsfx[QBUFSZ], *q;
if (u.uswallow) {
/* first, minimal candelabrum suffix for formatting candles */
Sprintf(qsfx, " to\033%s?", thesimpleoname(otmp));
/* next, format the candles as a prefix for the candelabrum */
+/*JP
+ (void) safe_qbuf(qbuf, "Attach ", qsfx, obj, yname, thesimpleoname, s);
+*/
(void) safe_qbuf(qbuf, "Attach ", qsfx, obj, yname, thesimpleoname, s);
/* strip temporary candelabrum suffix */
if ((q = strstri(qbuf, " to\033")) != 0)
s = (obj->quan != 1) ? "candles" : "candle";
} else
*optr = 0;
+#if 0 /*JP*/
You("attach %ld%s %s to %s.", obj->quan, !otmp->spe ? "" : " more", s,
the(xname(otmp)));
+#else
+ You("%ld\96{\82Ì\82ë\82¤\82»\82\82ð%s%s\82Ö\8eæ\82è\82Â\82¯\82½\81D",
+ obj->quan, !otmp->spe ? "" : "\82³\82ç\82É",
+ xname(otmp));
+#endif
if (!otmp->spe || otmp->age > obj->age)
otmp->age = obj->age;
otmp->spe += (int) obj->quan;
if (otmp->lamplit && !obj->lamplit)
+/*JP
pline_The("new %s magically %s!", s, vtense(s, "ignite"));
+*/
+ pline("\90V\82µ\82¢\82ë\82¤\82»\82\82Í\95s\8ev\8bc\82È\89\8a\82ð\82 \82°\82½\81I");
else if (!otmp->lamplit && obj->lamplit)
+/*JP
pline("%s out.", (obj->quan > 1L) ? "They go" : "It goes");
+*/
+ pline("\89\8a\82Í\8fÁ\82¦\82½\81D");
if (obj->unpaid)
+#if 0 /*JP*/
verbalize("You %s %s, you bought %s!",
otmp->lamplit ? "burn" : "use",
(obj->quan > 1L) ? "them" : "it",
(obj->quan > 1L) ? "them" : "it");
+#else
+ verbalize("\89Î\82ð\82Â\82¯\82½\82È\82ç\81C\94\83\82Á\82Ä\82à\82ç\82¨\82¤\81I");
+#endif
if (obj->quan < 7L && otmp->spe == 7)
+#if 0 /*JP*/
pline("%s now has seven%s candles attached.", The(xname(otmp)),
otmp->lamplit ? " lit" : "");
+#else
+ pline("%s\82É\82Í\82·\82Å\82É7\96{\82Ì%s\82ë\82¤\82»\82\82ª\8eæ\82è\82Â\82¯\82ç\82ê\82Ä\82¢\82é\81D",
+ The(xname(otmp)), otmp->lamplit ? "\89Î\82Ì\82Â\82¢\82½" : "");
+#endif
/* candelabrum's light range might increase */
if (otmp->lamplit)
obj_merge_light_sources(otmp, otmp);
&& otmp->lamplit) {
char buf[BUFSZ];
xchar x, y;
+#if 0 /*JP*//* not used */
boolean many = candle ? (otmp->quan > 1L) : (otmp->spe > 1);
+#endif
(void) get_obj_location(otmp, &x, &y, 0);
if (otmp->where == OBJ_MINVENT ? cansee(x, y) : !Blind)
+#if 0 /*JP*/
pline("%s%scandle%s flame%s extinguished.", Shk_Your(buf, otmp),
(candle ? "" : "candelabrum's "), (many ? "s'" : "'s"),
(many ? "s are" : " is"));
+#else
+ pline("%s%s\82ë\82¤\82»\82\82Ì\89\8a\82Í\8fÁ\82¦\82½\81D", Shk_Your(buf, otmp),
+ candle ? "" : "\90C\91ä\82Ì");
+#endif
end_burn(otmp, TRUE);
return TRUE;
}
|| obj->otyp == BRASS_LANTERN || obj->otyp == POT_OIL) {
(void) get_obj_location(obj, &x, &y, 0);
if (obj->where == OBJ_MINVENT ? cansee(x, y) : !Blind)
+/*JP
pline("%s %s out!", Yname2(obj), otense(obj, "go"));
+*/
+ pline("%s\82Í\8fÁ\82¦\82½\81I", Yname2(obj));
end_burn(obj, TRUE);
return TRUE;
}
|| obj->otyp == BRASS_LANTERN) && obj->cursed && !rn2(2))
return FALSE;
if (obj->where == OBJ_MINVENT ? cansee(x, y) : !Blind)
+/*JP
pline("%s %s light!", Yname2(obj), otense(obj, "catch"));
+*/
+ pline("%s\82Ì\96¾\82©\82è\82ª\82Â\82¢\82½\81I", Yname2(obj));
if (obj->otyp == POT_OIL)
makeknown(obj->otyp);
if (carried(obj) && obj->unpaid && costly_spot(u.ux, u.uy)) {
/* if it catches while you have it, then it's your tough luck */
check_unpaid(obj);
+#if 0 /*JP:T*/
verbalize("That's in addition to the cost of %s %s, of course.",
yname(obj), obj->quan == 1L ? "itself" : "themselves");
+#else
+ verbalize("\82±\82ê\82Í\82à\82¿\82ë\82ñ%s\82Ì\92l\92i\82Æ\82Í\95Ê\82¾\82æ\81D", Yname2(obj));
+#endif
bill_dummy_object(obj);
}
begin_burn(obj, FALSE);
return;
}
if (Underwater) {
+#if 0 /*JP*/
pline(!Is_candle(obj) ? "This is not a diving lamp"
: "Sorry, fire and water don't mix.");
+#else
+ pline(!Is_candle(obj) ? "\82±\82ê\82Í\90ö\90\85\97p\82Ì\83\89\83\93\83v\82¶\82á\82È\82¢\81D"
+ : "\8ec\94O\82È\82ª\82ç\81C\89Î\82Æ\90\85\82Í\82Ü\82´\82ç\82È\82¢\81D");
+#endif
return;
}
/* magic lamps with an spe == 0 (wished for) cannot be lit */
if ((!Is_candle(obj) && obj->age == 0)
|| (obj->otyp == MAGIC_LAMP && obj->spe == 0)) {
if (obj->otyp == BRASS_LANTERN)
+/*JP
Your("lamp has run out of power.");
+*/
+ Your("\83\89\83\93\83v\82Ì\93d\97Í\82ð\8eg\82¢\90Ø\82Á\82Ä\82µ\82Ü\82Á\82½\81D");
else
+/*JP
pline("This %s has no oil.", xname(obj));
+*/
+ pline("\82±\82Ì%s\82É\82Í\82à\82¤\83I\83C\83\8b\82ª\82È\82¢\81D", xname(obj));
return;
}
if (obj->cursed && !rn2(2)) {
if (!Blind)
+#if 0 /*JP*/
pline("%s for a moment, then %s.", Tobjnam(obj, "flicker"),
otense(obj, "die"));
+#else
+ pline("%s\82Í\82µ\82Î\82ç\82\82Ì\8aÔ\93_\96Å\82µ\81C\8fÁ\82¦\82½\81D",
+ xname(obj));
+#endif
} else {
if (obj->otyp == OIL_LAMP || obj->otyp == MAGIC_LAMP
|| obj->otyp == BRASS_LANTERN) {
check_unpaid(obj);
+/*JP
pline("%slamp is now on.", Shk_Your(buf, obj));
+*/
+ pline("%s\83\89\83\93\83v\82É\93\94\82ª\93\94\82Á\82½\81D", Shk_Your(buf, obj));
} else { /* candle(s) */
+#if 0 /*JP*/
pline("%s flame%s %s%s", s_suffix(Yname2(obj)), plur(obj->quan),
otense(obj, "burn"), Blind ? "." : " brightly!");
+#else
+ pline("%s\82Í%s\94R\82¦\82 \82ª\82Á\82½\81I",
+ Yname2(obj), Blind ? "" : "\96¾\82é\82");
+#endif
if (obj->unpaid && costly_spot(u.ux, u.uy)
&& obj->age == 20L * (long) objects[obj->otyp].oc_cost) {
+#if 0 /*JP*/
const char *ithem = (obj->quan > 1L) ? "them" : "it";
verbalize("You burn %s, you bought %s!", ithem, ithem);
+#else
+ verbalize("\93\94\82ð\82Â\82¯\82½\82È\82ç\81C\94\83\82Á\82Ä\82à\82ç\82¨\82¤\81I");
+#endif
bill_dummy_object(obj);
}
}
}
if (obj->lamplit) {
+/*JP
You("snuff the lit potion.");
+*/
+ You("\96û\95r\82Ì\89Î\82ð\90\81\82«\8fÁ\82µ\82½\81D");
end_burn(obj, TRUE);
/*
* Free & add to re-merge potion. This will average the
(void) addinv(obj);
return;
} else if (Underwater) {
+/*JP
There("is not enough oxygen to sustain a fire.");
+*/
+ pline("\89Î\82ð\82Â\82¯\82é\82Ì\82É\8f\\95ª\82È\8e_\91f\82ª\82È\82¢\81D");
return;
}
if (split1off)
obj = splitobj(obj, 1L);
+#if 0 /*JP*/
You("light %spotion.%s", shk_your(buf, obj),
Blind ? "" : " It gives off a dim light.");
+#else
+ You("%s\96û\95r\82É\89Î\82ð\82Â\82¯\82½\81D%s", shk_your(buf, obj),
+ Blind ? "" : "\96û\95r\82Í\88Ã\82¢\8cõ\82ð\82Í\82È\82Á\82½\81D");
+#endif
if (obj->unpaid && costly_spot(u.ux, u.uy)) {
/* Normally, we shouldn't both partially and fully charge
* for an item, but (Yendorian Fuel) Taxes are inevitable...
*/
check_unpaid(obj);
+/*JP
verbalize("That's in addition to the cost of the potion, of course.");
+*/
+ verbalize("\82±\82ê\82Í\82à\82¿\82ë\82ñ\96û\95r\82Ì\92l\92i\82Æ\82Í\95Ê\82¾\82æ\81D");
bill_dummy_object(obj);
}
makeknown(obj->otyp);
if (split1off) {
obj_extract_self(obj); /* free from inv */
obj->nomerge = 1;
+/*JP
obj = hold_another_object(obj, "You drop %s!", doname(obj),
+*/
+ obj = hold_another_object(obj, "\82 \82È\82½\82Í%s\82ð\97\8e\82µ\82½\81I", doname(obj),
(const char *) 0);
if (obj)
obj->nomerge = 0;
use_stone(obj);
return 1;
} else {
+/*JP
pline("Sorry, I don't know how to use that.");
+*/
+ pline("\8ec\94O\81D\8eg\82¢\95û\82ª\82í\82©\82ç\82È\82¢\81D");
return 0;
}
}
makeknown(MAGIC_LAMP);
update_inventory();
} else if (rn2(2)) {
+/*JP
You("%s smoke.", !Blind ? "see a puff of" : "smell");
+*/
+ pline("\82¯\82Þ\82è%s\81D", !Blind ? "\82ª\95\91\82¢\82 \82ª\82Á\82½" : "\82Ì\93õ\82¢\82ª\82µ\82½");
} else
pline1(nothing_happens);
} else if (obj->otyp == BRASS_LANTERN) {
/* message from Adventure */
+/*JP
pline("Rubbing the electric lamp is not particularly rewarding.");
+*/
+ pline("\93d\8bC\83\89\83\93\83v\82ð\82±\82·\82Á\82Ä\82à\88Ó\96¡\82Í\82È\82¢\82Æ\8ev\82¤\82ª\81D\81D\81D");
+/*JP
pline("Anyway, nothing exciting happens.");
+*/
+ pline("\82â\82Á\82Ï\82è\81C\89½\82à\8bN\82«\82È\82©\82Á\82½\81D");
} else
pline1(nothing_happens);
return 1;
* horse. After all, what shape is the knight piece in chess?
*/
if (showmsg)
+/*JP
pline("Illegal move!");
+*/
+ pline("\82»\82Ì\88Ú\93®\82Í\8cj\94n\92µ\82Ñ\82¶\82á\82È\82¢\81I");
return FALSE;
} else if (distu(x, y) > (magic ? 6 + magic * 3 : 9)) {
if (showmsg)
+/*JP
pline("Too far!");
+*/
+ pline("\89\93\82·\82¬\82é\81I");
return FALSE;
} else if (!cansee(x, y)) {
if (showmsg)
+/*JP
You("cannot see where to land!");
+*/
+ You("\92\85\92n\93_\82ª\8c©\82¦\82È\82¢\81I");
return FALSE;
} else if (!isok(x, y)) {
if (showmsg)
+/*JP
You("cannot jump there!");
+*/
+ You("\82»\82±\82É\82Í\94ò\82×\82È\82¢\81I");
return FALSE;
}
return TRUE;
if (!magic && (nolimbs(youmonst.data) || slithy(youmonst.data))) {
/* normally (nolimbs || slithy) implies !Jumping,
but that isn't necessarily the case for knights */
+/*JP
You_cant("jump; you have no legs!");
+*/
+ pline("\91«\82ª\96³\82\82Ä\82Í\92µ\82×\82È\82¢\81I");
return 0;
} else if (!magic && !Jumping) {
+/*JP
You_cant("jump very far.");
+*/
+ You_cant("\82»\82ñ\82È\89\93\82\82Ü\82Å\92µ\82×\82È\82¢\81D");
return 0;
/* if steed is immobile, can't do physical jump but can do spell one */
} else if (!magic && u.usteed && stucksteed(FALSE)) {
return 0;
} else if (u.uswallow) {
if (magic) {
+/*JP
You("bounce around a little.");
+*/
+ pline("\94½\93®\82ð\82Â\82¯\82½\81D");
return 1;
}
+/*JP
pline("You've got to be kidding!");
+*/
+ pline("\8fç\92k\82Í\82æ\82µ\82±\82³\82ñ\81I");
return 0;
} else if (u.uinwater) {
if (magic) {
+/*JP
You("swish around a little.");
+*/
+ pline("\83X\83C\83X\83C\82Æ\89j\82¢\82¾\81D");
return 1;
}
+/*JP
pline("This calls for swimming, not jumping!");
+*/
+ pline("\82»\82ê\82Í\81w\89j\82®\81x\82Å\82 \82Á\82Ä\81C\81w\92µ\82Ô\81x\82¶\82á\82È\82¢\81I");
return 0;
} else if (u.ustuck) {
if (u.ustuck->mtame && !Conflict && !u.ustuck->mconf) {
+/*JP
You("pull free from %s.", mon_nam(u.ustuck));
+*/
+ You("%s\82©\82ç\97£\82ê\82½\81D", mon_nam(u.ustuck));
u.ustuck = 0;
return 1;
}
if (magic) {
+/*JP
You("writhe a little in the grasp of %s!", mon_nam(u.ustuck));
+*/
+ You("%s\82©\82ç\93¦\82ê\82æ\82¤\82Æ\83W\83^\83o\83^\82µ\82½\81I", mon_nam(u.ustuck));
return 1;
}
+/*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));
return 0;
} else if (Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) {
if (magic) {
+/*JP
You("flail around a little.");
+*/
+ You("\83o\83^\83o\83^\92µ\82ñ\82¾\81D");
return 1;
}
+/*JP
You("don't have enough traction to jump.");
+*/
+ You("\92µ\82Ô\82½\82ß\82Ì\94½\93®\82ª\82Â\82¯\82ç\82ê\82È\82¢\81D");
return 0;
} else if (!magic && near_capacity() > UNENCUMBERED) {
+/*JP
You("are carrying too much to jump!");
+*/
+ You("\82½\82\82³\82ñ\95¨\82ð\8e\9d\82¿\82·\82¬\82Ä\92µ\82×\82È\82¢\81I");
return 0;
} else if (!magic && (u.uhunger <= 100 || ACURR(A_STR) < 6)) {
+/*JP
You("lack the strength to jump!");
+*/
+ You("\92µ\82Ô\82¾\82¯\82Ì\97Í\82ª\82È\82¢\81I");
return 0;
} else if (!magic && Wounded_legs) {
long wl = (Wounded_legs & BOTH_SIDES);
if (wl == BOTH_SIDES)
bp = makeplural(bp);
if (u.usteed)
+/*JP
pline("%s is in no shape for jumping.", Monnam(u.usteed));
+*/
+ pline("%s\82Í\92µ\82×\82é\8fó\91Ô\82Å\82Í\82È\82¢\81D", Monnam(u.usteed));
else
+#if 0 /*JP*/
Your("%s%s %s in no shape for jumping.",
(wl == LEFT_SIDE) ? "left " : (wl == RIGHT_SIDE) ? "right "
: "",
bp, (wl == BOTH_SIDES) ? "are" : "is");
+#else
+ Your("%s%s\82Í\92µ\82×\82é\8fó\91Ô\82Å\82Í\82È\82¢\81D",
+ (wl == LEFT_SIDE) ? "\8d¶" :
+ (wl == RIGHT_SIDE) ? "\89E" : "", bp);
+#endif
return 0;
} else if (u.usteed && u.utrap) {
+/*JP
pline("%s is stuck in a trap.", Monnam(u.usteed));
+*/
+ pline("%s\82Íã©\82É\82Ð\82Á\82©\82©\82Á\82Ä\82¢\82é\81D", Monnam(u.usteed));
return 0;
}
+/*JP
pline("Where do you want to jump?");
+*/
+ pline("\82Ç\82±\82É\92µ\82Ñ\82Ü\82·\82©\81H");
cc.x = u.ux;
cc.y = u.uy;
jumping_is_magic = magic;
getpos_sethilite(display_jump_positions);
+/*JP
if (getpos(&cc, TRUE, "the desired position") < 0)
+*/
+ if (getpos(&cc, TRUE, "\92µ\82Ñ\82½\82¢\8fê\8f\8a") < 0)
return 0; /* user pressed ESC */
if (!is_valid_jump_pos(cc.x, cc.y, magic, TRUE)) {
return 0;
case TT_BEARTRAP: {
long side = rn2(3) ? LEFT_SIDE : RIGHT_SIDE;
+/*JP
You("rip yourself free of the bear trap! Ouch!");
+*/
+ You("\8e©\95ª\82ð\8cF\82Ìã©\82©\82ç\82Ð\82«\82Í\82ª\82µ\82½\81C\82¢\82Ä\82Á\81I");
+/*JP
losehp(Maybe_Half_Phys(rnd(10)), "jumping out of a bear trap",
+*/
+ losehp(Maybe_Half_Phys(rnd(10)), "\8cF\82Ìã©\82©\82ç\94ò\82Ñ\8fo\82æ\82¤\82Æ\82µ\82Ä",
KILLED_BY);
set_wounded_legs(side, rn1(1000, 500));
break;
}
case TT_PIT:
+/*JP
You("leap from the pit!");
+*/
+ You("\97\8e\82µ\8c\8a\82©\82ç\94ò\82Ñ\8fo\82½\81I");
break;
case TT_WEB:
+/*JP
You("tear the web apart as you pull yourself free!");
+*/
+ You("\82\82à\82Ì\91\83\82ð\88ø\82«\97ô\82«\81C\8e©\97R\82É\82È\82Á\82½\81I");
deltrap(t_at(u.ux, u.uy));
break;
case TT_LAVA:
+/*JP
You("pull yourself above the lava!");
+*/
+ You("\97n\8aâ\82©\82ç\94ò\82Ñ\8fo\82½\81I");
u.utrap = 0;
return 1;
case TT_BURIEDBALL:
case TT_INFLOOR:
+#if 0 /*JP*/
You("strain your %s, but you're still %s.",
makeplural(body_part(LEG)),
(u.utraptype == TT_INFLOOR)
? "stuck in the floor"
: "attached to the buried ball");
+#else
+ You("%s\82ð\88ø\82Á\82Ï\82Á\82½\82ª\81C\82 \82È\82½\82Í\82Ü\82¾%s\81D",
+ makeplural(body_part(LEG)),
+ (u.utraptype == TT_INFLOOR)
+ ? "\8f°\82É\82¤\82Ü\82Á\82Ä\82¢\82é"
+ : "\82¤\82Ü\82Á\82½\8b\85\82Æ\82Â\82È\82ª\82Á\82Ä\82¢\82é");
+#endif
set_wounded_legs(LEFT_SIDE, rn1(10, 11));
set_wounded_legs(RIGHT_SIDE, rn1(10, 11));
return 1;
* moves, we've got to deal with decaying corpses...
*/
if (obj->spe <= 0) {
+/*JP
You("seem to be out of tins.");
+*/
+ pline("\8aÊ\8bl\82ð\8dì\82é\82½\82ß\82Ì\8aÊ\82ª\90Ø\82ê\82½\82æ\82¤\82¾\81D");
return;
}
if (!(corpse = floorfood("tin", 2)))
return;
if (corpse->oeaten) {
+/*JP
You("cannot tin %s which is partly eaten.", something);
+*/
+ You("\90H\82×\82©\82¯\82Ì\82à\82Ì\82ð\8aÊ\8bl\82É\82·\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D");
return;
}
if (touch_petrifies(&mons[corpse->corpsenm]) && !Stone_resistance
char kbuf[BUFSZ];
if (poly_when_stoned(youmonst.data))
+#if 0 /*JP*/
You("tin %s without wearing gloves.",
an(mons[corpse->corpsenm].mname));
+#else
+ You("\8f¬\8eè\82È\82µ\82Å%s\82ð\8aÊ\8bl\82É\82µ\82æ\82¤\82Æ\82µ\82½\81D",
+ mons[corpse->corpsenm].mname);
+#endif
else {
+#if 0 /*JP*/
pline("Tinning %s without wearing gloves is a fatal mistake...",
an(mons[corpse->corpsenm].mname));
+#else
+ pline("%s\82ð\8f¬\8eè\82È\82µ\82Å\8aÊ\8bl\82É\82·\82é\82Ì\82Í\92v\96½\93I\82È\8aÔ\88á\82¢\82¾\81D\81D\81D",
+ mons[corpse->corpsenm].mname);
+#endif
+#if 0 /*JP*/
Sprintf(kbuf, "trying to tin %s without gloves",
an(mons[corpse->corpsenm].mname));
+#else
+ Sprintf(kbuf, "\8f¬\8eè\82ð\82Â\82¯\82¸\82É%s\82ð\8aÊ\8bl\82É\82µ\82æ\82¤\82Æ\82µ\82Ä",
+ mons[corpse->corpsenm].mname);
+#endif
}
instapetrify(kbuf);
}
if (is_rider(&mons[corpse->corpsenm])) {
if (revive_corpse(corpse))
+/*JP
verbalize("Yes... But War does not preserve its enemies...");
+*/
+ verbalize("\82»\82¤\82¾\81D\81D\81D\82µ\82©\82µ\81u\90í\91\88\81v\82Í\93G\82É\88À\82ç\82¬\82ð\97^\82¦\82Ê\81D\81D\81D");
else
+/*JP
pline_The("corpse evades your grasp.");
+*/
+ pline("\8e\80\91Ì\82Í\82 \82È\82½\82Ì\8eè\82ð\93¦\82ê\82½\81D");
return;
}
if (mons[corpse->corpsenm].cnutrit == 0) {
+/*JP
pline("That's too insubstantial to tin.");
+*/
+ pline("\8eÀ\91Ì\82ª\82È\82¢\82Ì\82Å\8aÊ\8bl\82É\82Å\82«\82È\82¢\81D");
return;
}
consume_obj_charge(obj, TRUE);
if ((can = mksobj(TIN, FALSE, FALSE)) != 0) {
+/*JP
static const char you_buy_it[] = "You tin it, you bought it!";
+*/
+ static const char you_buy_it[] = "\8aÊ\8bl\82É\82µ\82½\82Ì\82È\82ç\94\83\82Á\82Ä\82à\82ç\82¤\82æ\81I";
can->corpsenm = corpse->corpsenm;
can->cursed = obj->cursed;
verbalize(you_buy_it);
useupf(corpse, 1L);
}
+/*JP
can = hold_another_object(can, "You make, but cannot pick up, %s.",
+*/
+ can = hold_another_object(can, "\8aÊ\8bl\82É\82Å\82«\82½\82ª\81C%s\82ð\8e\9d\82Â\82±\82Æ\82ª\82Å\82«\82È\82¢\81D",
doname(can), (const char *) 0);
} else
impossible("Tinning failed.");
break;
case 2:
if (!Confusion)
+#if 0 /*JP*/
You("suddenly feel %s.",
Hallucination ? "trippy" : "confused");
+#else
+ You("\93Ë\91R%s\81D",
+ Hallucination ? "\82Ö\82ë\82Ö\82ë\82É\82È\82Á\82½" : "\8d¬\97\90\82µ\82½");
+#endif
make_confused((HConfusion & TIMEOUT) + lcount, TRUE);
break;
case 3:
break;
case 6:
if (Deaf) /* make_deaf() won't give feedback when already deaf */
+/*JP
pline("Nothing seems to happen.");
+*/
+ pline("\89½\82à\8bN\82«\82È\82©\82Á\82½\82æ\82¤\82¾\81D");
make_deaf((HDeaf & TIMEOUT) + lcount, TRUE);
break;
}
}
if (did_attr)
+#if 0 /*JP*/
pline("This makes you feel %s!",
(did_prop + did_attr) == (trouble_count + unfixable_trbl)
? "great"
: "better");
+#else
+ pline("\8bC\95ª\82ª%s\82æ\82\82È\82Á\82½\81I",
+ (did_prop + did_attr) == (trouble_count + unfixable_trbl)
+ ? "\82Æ\82Ä\82à"
+ : "\82æ\82è");
+#endif
else if (!did_prop)
+/*JP
pline("Nothing seems to happen.");
+*/
+ pline("\89½\82à\8bN\82«\82È\82©\82Á\82½\82æ\82¤\82¾\81D");
context.botl = (did_attr || did_prop);
#undef PROP_COUNT
switch (figurine->where) {
case OBJ_INVENT:
if (Blind || suppress_see)
+#if 0 /*JP*/
You_feel("%s %s from your pack!", something,
locomotion(mtmp->data, "drop"));
+#else
+ You_feel("%s\82ª\82 \82È\82½\82Ì\8a\93\82©\82ç%s\82æ\82¤\82¾\81I", something,
+ jpast(locomotion(mtmp->data, "\97\8e\82¿\82é")));
+#endif
else
+#if 0 /*JP*/
You_see("%s %s out of your pack%s!", monnambuf,
locomotion(mtmp->data, "drop"), and_vanish);
+#else
+ You("%s\82ª\82 \82È\82½\82Ì\8a\93\82©\82ç%s\82Ì\82ð\8c©\82½\81I", monnambuf,
+ jpast(locomotion(mtmp->data,"\97\8e\82¿\82é")));
+#endif
break;
case OBJ_FLOOR:
if (suppress_see)
pline("%s suddenly vanishes!", an(xname(figurine)));
else
+#if 0 /*JP*/
You_see("a figurine transform into %s%s!", monnambuf,
and_vanish);
+#else
+ You("\90l\8c`\82ª\93Ë\91R%s\82É\82È\82Á\82½\82Ì\82ð\8c©\82½\81I",
+ monnambuf);
+#endif
redraw = TRUE; /* update figurine's map location */
}
break;
mon = figurine->ocarry;
/* figurine carrying monster might be invisible */
if (canseemon(figurine->ocarry)) {
+/*JP
Sprintf(carriedby, "%s pack", s_suffix(a_monnam(mon)));
+*/
+ Sprintf(carriedby, "%s\82Ì\8a\93", s_suffix(a_monnam(mon)));
} else if (is_pool(mon->mx, mon->my))
+/*JP
Strcpy(carriedby, "empty water");
+*/
+ Strcpy(carriedby, "\89½\82à\82È\82¢\90\85\92\86");
else
+/*JP
Strcpy(carriedby, "thin air");
+*/
+ Strcpy(carriedby, "\89½\82à\82È\82¢\8bó\92\86");
+#if 0 /*JP*/
You_see("%s %s out of %s%s!", monnambuf,
locomotion(mtmp->data, "drop"), carriedby,
and_vanish);
+#else
+ You("%s\82ª%s\82©\82ç%s\82Ì\82ð\8c©\82½\81I", monnambuf,
+ carriedby, locomotion(mtmp->data, "\97\8e\82¿\82é"));
+#endif
}
break;
#if 0
if (carried(obj) && u.uswallow) {
if (!quietly)
+/*JP
You("don't have enough room in here.");
+*/
+ pline("\82±\82±\82É\82Í\8f\\95ª\82È\8fê\8f\8a\82ª\82È\82¢\81D");
return FALSE;
}
x = cc ? cc->x : u.ux;
y = cc ? cc->y : u.uy;
if (!isok(x, y)) {
if (!quietly)
+/*JP
You("cannot put the figurine there.");
+*/
+ You("\82±\82±\82É\82Í\90l\8c`\82ð\92u\82¯\82È\82¢\81D");
return FALSE;
}
if (IS_ROCK(levl[x][y].typ)
&& !(passes_walls(&mons[obj->corpsenm]) && may_passwall(x, y))) {
if (!quietly)
+#if 0 /*JP*/
You("cannot place a figurine in %s!",
IS_TREE(levl[x][y].typ) ? "a tree" : "solid rock");
+#else
+ You("%s\82Ì\92\86\82É\82Í\90l\8c`\82ð\92u\82¯\82È\82¢\81I",
+ IS_TREE(levl[x][y].typ) ? "\96Ø" : "\8cÅ\82¢\90Î");
+#endif
return FALSE;
}
if (sobj_at(BOULDER, x, y) && !passes_walls(&mons[obj->corpsenm])
&& !throws_rocks(&mons[obj->corpsenm])) {
if (!quietly)
+/*JP
You("cannot fit the figurine on the boulder.");
+*/
+ You("\8aâ\82É\90l\8c`\82ð\89\9f\82µ\8d\9e\82Þ\82±\82Æ\82Í\82Å\82«\82È\82¢\81D");
return FALSE;
}
return TRUE;
/* Passing FALSE arg here will result in messages displayed */
if (!figurine_location_checks(obj, &cc, FALSE))
return;
+#if 0 /*JP*/
You("%s and it transforms.",
(u.dx || u.dy) ? "set the figurine beside you"
: (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)
? "release the figurine"
: (u.dz < 0 ? "toss the figurine into the air"
: "set the figurine on the ground"));
+#else
+ You("%s\81D\82·\82é\82Æ\82»\82ê\82Í\95Ï\8c`\82µ\82½\81D",
+ (u.dx || u.dy) ? "\82»\82Î\82É\90l\8c`\82ð\92u\82¢\82½"
+ : (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)
+ || is_pool(cc.x, cc.y))
+ ? "\90l\8c`\82ð\95ú\82Á\82½"
+ : (u.dz < 0 ? "\90l\8c`\82ð\8bó\92\86\82É\93\8a\82°\82½"
+ : "\90l\8c`\82ð\92n\96Ê\82É\92u\82¢\82½"));
+#endif
(void) make_familiar(obj, cc.x, cc.y, FALSE);
(void) stop_timer(FIG_TRANSFORM, obj_to_any(obj));
useup(obj);
struct obj *otmp;
if (Glib) {
+#if 0 /*JP*/
pline("%s from your %s.", Tobjnam(obj, "slip"),
makeplural(body_part(FINGER)));
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì%s\82©\82ç\8a\8a\82è\97\8e\82¿\82½\81D", xname(obj),
+ body_part(FINGER));
+#endif
dropx(obj);
return;
}
if ((obj->cursed || Fumbling) && !rn2(2)) {
consume_obj_charge(obj, TRUE);
+#if 0 /*JP*/
pline("%s from your %s.", Tobjnam(obj, "slip"),
makeplural(body_part(FINGER)));
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì%s\82©\82ç\8a\8a\82è\97\8e\82¿\82½\81D", xname(obj),
+ body_part(FINGER));
+#endif
dropx(obj);
return;
}
consume_obj_charge(obj, TRUE);
if (otmp != &zeroobj) {
+/*JP
You("cover %s with a thick layer of grease.", yname(otmp));
+*/
+ You("%s\82É\8e\89\82ð\92O\94O\82É\93h\82Á\82½\81D", yname(otmp));
otmp->greased = 1;
if (obj->cursed && !nohands(youmonst.data)) {
incr_itimeout(&Glib, rnd(15));
+/*JP
pline("Some of the grease gets all over your %s.",
+*/
+ pline("\8e\89\82ª\8f\82µ%s\82É\82Â\82¢\82½\81D",
makeplural(body_part(HAND)));
}
} else {
incr_itimeout(&Glib, rnd(15));
+/*JP
You("coat your %s with grease.", makeplural(body_part(FINGER)));
+*/
+ You("%s\82É\8e\89\82ð\93h\82Á\82½\81D", makeplural(body_part(FINGER)));
}
} else {
if (obj->known)
+/*JP
pline("%s empty.", Tobjnam(obj, "are"));
+*/
+ pline("%s\82Í\8bó\82Á\82Û\82¾\81D", xname(obj));
else
+/*JP
pline("%s to be empty.", Tobjnam(obj, "seem"));
+*/
+ pline("%s\82Í\8bó\82Á\82Û\82Ì\82æ\82¤\82¾\81D", xname(obj));
}
update_inventory();
}
boolean do_scratch;
const char *streak_color, *choices;
char stonebuf[QBUFSZ];
+/*JP
static const char scritch[] = "\"scritch, scritch\"";
+*/
+ static const char scritch[] = "\81u\83S\83V\81C\83S\83V\81v";
static const char allowall[3] = { COIN_CLASS, ALL_CLASSES, 0 };
static const char coins_gems[3] = { COIN_CLASS, GEM_CLASS, 0 };
&& objects[TOUCHSTONE].oc_name_known)
? coins_gems
: allowall;
+/*JP
Sprintf(stonebuf, "rub on the stone%s", plur(tstone->quan));
+*/
+ Sprintf(stonebuf, "rub on the stone");
if ((obj = getobj(choices, stonebuf)) == 0)
return;
if (obj == tstone && obj->quan == 1L) {
+/*JP
You_cant("rub %s on itself.", the(xname(obj)));
+*/
+ You("%s\82ð\82»\82ê\8e©\91Ì\82Å\82±\82·\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D", the(xname(obj)));
return;
}
&& obj->oclass == GEM_CLASS && !is_graystone(obj)
&& !obj_resists(obj, 80, 100)) {
if (Blind)
+/*JP
pline("You feel something shatter.");
+*/
+ You("\89½\82©\82ª\95²\81X\82É\82È\82é\82Ì\82ð\8a´\82¶\82½\81D");
else if (Hallucination)
+/*JP
pline("Oh, wow, look at the pretty shards.");
+*/
+ pline("\83\8f\81[\83H\81I\82È\82ñ\82Ä\82«\82ê\82¢\82È\94j\95Ð\82È\82ñ\82¾\81D");
else
+#if 0 /*JP*/
pline("A sharp crack shatters %s%s.",
(obj->quan > 1L) ? "one of " : "", the(xname(obj)));
+#else
+ pline("\8b\82\82±\82·\82è\82·\82¬\82Ä%s%s\82Í\95²\81X\82É\82È\82Á\82Ä\82µ\82Ü\82Á\82½\81D",
+ the(xname(obj)), (obj->quan > 1) ? "\82Ì\82Ð\82Æ\82Â" : "");
+#endif
useup(obj);
return;
}
pline(scritch);
return;
} else if (Hallucination) {
+#if 0 /*JP*/
pline("Oh wow, man: Fractals!");
+#else
+ pline("\83\8f\81[\83H\81I\83t\83\89\83N\83^\83\8b\96Í\97l\82¾\81I");
+#endif
return;
}
default:
switch (objects[obj->otyp].oc_material) {
case CLOTH:
+#if 0 /*JP*/
pline("%s a little more polished now.", Tobjnam(tstone, "look"));
+#else
+ pline("%s\82Í\82³\82ç\82É\82Â\82â\82ª\8fo\82½\82æ\82¤\82É\8c©\82¦\82é\81D", xname(tstone));
+#endif
return;
case LIQUID:
if (!obj->known) /* note: not "whetstone" */
+#if 0 /*JP*/
You("must think this is a wetstone, do you?");
+#else
+ You("\82±\82ê\82Í\93u\90Î\82¾\82Æ\8ev\82Á\82½\81H");
+#endif
else
+#if 0 /*JP*/
pline("%s a little wetter now.", Tobjnam(tstone, "are"));
+#else
+ pline("%s\82Í\8f\82µ\82Ê\82ê\82½\81D", xname(tstone));
+#endif
return;
case WAX:
+#if 0 /*JP*/
streak_color = "waxy";
+#else
+ streak_color = "\8e\89\82Á\82Û\82¢";
+#endif
break; /* okay even if not touchstone */
case WOOD:
+#if 0 /*JP*/
streak_color = "wooden";
+#else
+ streak_color = "\82¨\82ª\82\82¸\82Ì\82æ\82¤\82È";
+#endif
break; /* okay even if not touchstone */
case GOLD:
do_scratch = TRUE; /* scratching and streaks */
+#if 0 /*JP*/
streak_color = "golden";
+#else
+ streak_color = "\8bà\90F\82Ì";
+#endif
break;
case SILVER:
do_scratch = TRUE; /* scratching and streaks */
+#if 0 /*JP*/
streak_color = "silvery";
+#else
+ streak_color = "\8bâ\90F\82Ì";
+#endif
break;
default:
/* Objects passing the is_flimsy() test will not
break; /* default oclass */
}
+#if 0 /*JP*//* not used */
Sprintf(stonebuf, "stone%s", plur(tstone->quan));
+#endif
if (do_scratch)
+#if 0 /*JP*/
You("make %s%sscratch marks on the %s.",
streak_color ? streak_color : (const char *) "",
streak_color ? " " : "", stonebuf);
+#else
+ You("%s\82±\82·\82è\90Õ\82ð\90Î\82É\82Â\82¯\82½\81D",
+ streak_color ? streak_color : (const char *)"");
+#endif
else if (streak_color)
+/*JP
You_see("%s streaks on the %s.", streak_color, stonebuf);
+*/
+ pline("\90Î\82É%s\8bØ\82ª\82Â\82¢\82½\81D", streak_color);
else
pline(scritch);
return;
const char *what = (char *) 0;
char buf[BUFSZ];
int levtyp = levl[u.ux][u.uy].typ;
+#if 0 /*JP*/
const char *occutext = "setting the trap";
+#else
+ const char *occutext = "ã©\82ð\8ed\8a|\82¯\82Ä\82¢\82é";
+#endif
if (nohands(youmonst.data))
+/*JP
what = "without hands";
+*/
+ what = "\8eè\82ª\82È\82¢\82Ì\82Å";
else if (Stunned)
+/*JP
what = "while stunned";
+*/
+ what = "\82\82ç\82\82ç\82µ\82Ä\82¢\82é\82Ì\82Å";
else if (u.uswallow)
what =
+/*JP
is_animal(u.ustuck->data) ? "while swallowed" : "while engulfed";
+*/
+ is_animal(u.ustuck->data) ? "\88ù\82Ý\8d\9e\82Ü\82ê\82Ä\82¢\82é\8aÔ\82Í" : "\8aª\82«\8d\9e\82Ü\82ê\82Ä\82¢\82é\8aÔ\82Í";
else if (Underwater)
+/*JP
what = "underwater";
+*/
+ what = "\90\85\96Ê\89º\82Å\82Í";
else if (Levitation)
+/*JP
what = "while levitating";
+*/
+ what = "\95\82\82¢\82Ä\82¢\82é\8aÔ\82Í";
else if (is_pool(u.ux, u.uy))
+/*JP
what = "in water";
+*/
+ what = "\90\85\92\86\82Å\82Í";
else if (is_lava(u.ux, u.uy))
+/*JP
what = "in lava";
+*/
+ what = "\97n\8aâ\82Ì\92\86\82Å\82Í";
else if (On_stairs(u.ux, u.uy))
+#if 0 /*JP*/
what = (u.ux == xdnladder || u.ux == xupladder) ? "on the ladder"
: "on the stairs";
+#else
+ what = (u.ux == xdnladder || u.ux == xupladder) ? "\82Í\82µ\82²\82Ì\8fã\82Å\82Í"
+ : "\8aK\92i\82Ì\8fã\82Å\82Í";
+#endif
else if (IS_FURNITURE(levtyp) || IS_ROCK(levtyp)
|| closed_door(u.ux, u.uy) || t_at(u.ux, u.uy))
+/*JP
what = "here";
+*/
+ what = "\82±\82±\82Å\82Í";
else if (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz))
+#if 0 /*JP*/
what = (levtyp == AIR)
? "in midair"
: (levtyp == CLOUD)
? "in a cloud"
: "in this place"; /* Air/Water Plane catch-all */
+#else
+ what = (levtyp == AIR)
+ ? "\8bó\92\86\82Å\82Í"
+ : (levtyp == CLOUD)
+ ? "\89_\82Ì\92\86\82Å\82Í"
+ : "\82±\82±\82Å\82Í"; /* Air/Water Plane catch-all */
+#endif
if (what) {
+/*JP
You_cant("set a trap %s!", what);
+*/
+ pline("%sã©\82ð\8ed\8a|\82¯\82ç\82ê\82È\82¢\81I",what);
reset_trapset();
return;
}
ttyp = (otmp->otyp == LAND_MINE) ? LANDMINE : BEAR_TRAP;
if (otmp == trapinfo.tobj && u.ux == trapinfo.tx && u.uy == trapinfo.ty) {
+/*JP
You("resume setting %s%s.", shk_your(buf, otmp),
+*/
+ You("%s\82ð\8ed\8a|\82¯\82é\82Ì\82ð\8dÄ\8aJ\82µ\82½\81D",
defsyms[trap_to_defsym(what_trap(ttyp))].explanation);
set_occupation(set_trap, occutext, 0);
return;
chance = (rnl(10) > 3);
else
chance = (rnl(10) > 5);
+/*JP
You("aren't very skilled at reaching from %s.", mon_nam(u.usteed));
+*/
+ pline("%s\82Ì\8fã\82©\82ç\82Å\82Í\82¤\82Ü\82\8ed\8a|\82¯\82ç\82ê\82È\82¢\82©\82à\82µ\82ê\82È\82¢\81D", mon_nam(u.usteed));
+/*JP
Sprintf(buf, "Continue your attempt to set %s?",
+*/
+ Sprintf(buf, "%s\82Ì\8ed\8a|\82¯\82ð\91±\82¯\82é\81H",
the(defsyms[trap_to_defsym(what_trap(ttyp))].explanation));
if (yn(buf) == 'y') {
if (chance) {
break;
case BEAR_TRAP: /* drop it without arming it */
reset_trapset();
+/*JP
You("drop %s!",
+*/
+ You("%s\82ð\97\8e\82Æ\82µ\82½\81I",
the(defsyms[trap_to_defsym(what_trap(ttyp))]
.explanation));
dropx(otmp);
return;
}
}
+/*JP
You("begin setting %s%s.", shk_your(buf, otmp),
+*/
+ You("%s%s\82ð\8ed\8a|\82¯\82Í\82¶\82ß\82½\81D", shk_your(buf, otmp),
defsyms[trap_to_defsym(what_trap(ttyp))].explanation);
set_occupation(set_trap, occutext, 0);
return;
add_damage(u.ux, u.uy, 0L); /* schedule removal */
}
if (!trapinfo.force_bungle)
+/*JP
You("finish arming %s.",
+*/
+ You("%s\82ð\8ed\8a|\82¯\8fI\82¦\82½\81D",
the(defsyms[trap_to_defsym(what_trap(ttyp))].explanation));
if (((otmp->cursed || Fumbling) && (rnl(10) > 5))
|| trapinfo.force_bungle)
(unsigned) (trapinfo.force_bungle ? FORCEBUNGLE : 0));
} else {
/* this shouldn't happen */
+/*JP
Your("trap setting attempt fails.");
+*/
+ You("ã©\82ð\8ed\8a|\82¯\82é\82Ì\82É\8e¸\94s\82µ\82½\81D");
}
useup(otmp);
reset_trapset();
struct monst *mtmp;
struct obj *otmp;
int rx, ry, proficient, res = 0;
+/*JP
const char *msg_slipsfree = "The bullwhip slips free.";
+*/
+ const char *msg_slipsfree = "\95Ú\82Í\82Ù\82Ç\82¯\82½\81D";
+/*JP
const char *msg_snap = "Snap!";
+*/
+ const char *msg_snap = "\83s\83V\83b\81I";
if (obj != uwep) {
if (!wield_tool(obj, "lash"))
proficient = 0;
if (u.uswallow && attack(u.ustuck)) {
+/*JP
There("is not enough room to flick your bullwhip.");
+*/
+ pline("\95Ú\82ð\91Å\82Â\82Ù\82Ç\8dL\82\82È\82¢\81D");
} else if (Underwater) {
+/*JP
There("is too much resistance to flick your bullwhip.");
+*/
+ pline("\90\85\82Ì\92ï\8dR\82ª\82 \82è\82·\82¬\82Ä\95Ú\82ð\91Å\82Â\82±\82Æ\82ª\82Å\82«\82È\82¢\81D");
} else if (u.dz < 0) {
+/*JP
You("flick a bug off of the %s.", ceiling(u.ux, u.uy));
+*/
+ You("%s\82Ì\92\8e\82ð\91Å\82¿\97\8e\82µ\82½\81D",ceiling(u.ux,u.uy));
} else if ((!u.dx && !u.dy) || (u.dz > 0)) {
int dam;
/* Sometimes you hit your steed by mistake */
if (u.usteed && !rn2(proficient + 2)) {
+/*JP
You("whip %s!", mon_nam(u.usteed));
+*/
+ You("%s\82ð\95Ú\91Å\82Á\82½\81I", mon_nam(u.usteed));
kick_steed();
return 1;
}
/* Have a shot at snaring something on the floor */
otmp = level.objects[u.ux][u.uy];
if (otmp && otmp->otyp == CORPSE && otmp->corpsenm == PM_HORSE) {
+/*JP
pline("Why beat a dead horse?");
+*/
+ pline("\82Ç\82¤\82µ\82Ä\8e\80\82ñ\82¾\94n\82ð\95Ú\91Å\82Â\82æ\82¤\82È\82±\82Æ\82ð\82·\82é\82Ì\81H");
return 1;
}
if (otmp && proficient) {
+#if 0 /*JP*/
You("wrap your bullwhip around %s on the %s.",
an(singular(otmp, xname)), surface(u.ux, u.uy));
+#else
+ You("\95Ú\82ð%s\82Ì\8fã\82Ì%s\82É\82©\82ç\82Ü\82¹\82½\81D",
+ surface(u.ux, u.uy), an(singular(otmp, xname)));
+#endif
if (rnl(6) || pickup_object(otmp, 1L, TRUE) < 1)
pline1(msg_slipsfree);
return 1;
dam = rnd(2) + dbon() + obj->spe;
if (dam <= 0)
dam = 1;
+/*JP
You("hit your %s with your bullwhip.", body_part(FOOT));
+*/
+ You("\8e©\95ª\82Ì%s\82ð\8e©\95ª\82Å\91Å\82¿\82Â\82¯\82½\81D", body_part(FOOT));
+#if 0 /*JP*/
Sprintf(buf, "killed %sself with %s bullwhip", uhim(), uhis());
losehp(Maybe_Half_Phys(dam), buf, NO_KILLER_PREFIX);
+#else
+ Strcpy(buf, "\8e©\95ª\8e©\90g\82ð\95Ú\91Å\82Á\82Ä");
+ losehp(dam, buf, KILLED_BY);
+#endif
context.botl = 1;
return 1;
} else if ((Fumbling || Glib) && !rn2(5)) {
+/*JP
pline_The("bullwhip slips out of your %s.", body_part(HAND));
+*/
+ pline("\95Ú\82ª%s\82©\82ç\82·\82×\82è\97\8e\82¿\82½\81D", body_part(HAND));
dropx(obj);
} else if (u.utrap && u.utraptype == TT_PIT) {
if (IS_FURNITURE(levl[rx][ry].typ))
wrapped_what = something;
else if (sobj_at(BOULDER, rx, ry))
+/*JP
wrapped_what = "a boulder";
+*/
+ wrapped_what = "\8aâ";
}
if (wrapped_what) {
coord cc;
cc.x = rx;
cc.y = ry;
+/*JP
You("wrap your bullwhip around %s.", wrapped_what);
+*/
+ You("\95Ú\82ð%s\82É\82©\82ç\82Ü\82¹\82½\81D", wrapped_what);
if (proficient && rn2(proficient + 2)) {
if (!mtmp || enexto(&cc, rx, ry, youmonst.data)) {
+/*JP
You("yank yourself out of the pit!");
+*/
+ You("\82®\82¢\82Æ\88ø\82Á\82Ï\82Á\82Ä\8c\8a\82©\82ç\94²\82¯\8fo\82µ\82½\81I");
teleds(cc.x, cc.y, TRUE);
u.utrap = 0;
vision_full_recalc = 1;
} else if (mtmp) {
if (!canspotmon(mtmp) && !glyph_is_invisible(levl[rx][ry].glyph)) {
+/*JP
pline("A monster is there that you couldn't see.");
+*/
+ pline("\8c©\82¦\82È\82¢\89ö\95¨\82ª\82¢\82é\81D");
map_invisible(rx, ry);
}
otmp = MON_WEP(mtmp); /* can be null */
} else
mon_hand = 0; /* lint suppression */
+/*JP
You("wrap your bullwhip around %s.", yname(otmp));
+*/
+ You("\95Ú\82ð%s\82É\82©\82ç\82Ü\82¹\82½\81D", yname(otmp));
if (gotit && mwelded(otmp)) {
+#if 0 /*JP*/
pline("%s welded to %s %s%c",
(otmp->quan == 1L) ? "It is" : "They are", mhis(mtmp),
mon_hand, !otmp->bknown ? '!' : '.');
+#else
+ pline("%s\82Í%s\82Ì%s\82É\82\82Á\82Â\82¢\82Ä\82µ\82Ü\82Á\82Ä\82¢\82é%s",
+ onambuf,
+ mon_nam(mtmp), mon_hand,
+ !otmp->bknown ? "\81I" : "\81D");
+#endif
otmp->bknown = 1;
gotit = FALSE; /* can't pull it free */
}
switch (rn2(proficient + 1)) {
case 2:
/* to floor near you */
+/*JP
You("yank %s to the %s!", yname(otmp),
+*/
+ You("%s\82ð%s\82É\88ø\82«\97\8e\82µ\82½\81I", yname(otmp),
surface(u.ux, u.uy));
place_object(otmp, u.ux, u.uy);
stackobj(otmp);
dmgval(otmp, &youmonst),
otmp, (char *)0);
if (hitu) {
+/*JP
pline_The("%s hits you as you try to snatch it!",
+*/
+ pline_The("%s\82ð\92D\82¨\82¤\82Æ\82µ\82½\82ç\82 \82È\82½\82É\93\96\82½\82Á\82½\81I",
the(onambuf));
}
place_object(otmp, u.ux, u.uy);
}
#endif /* 0 */
/* right into your inventory */
+/*JP
You("snatch %s!", yname(otmp));
+*/
+ You("%s\82ð\92D\82Á\82½\81I", yname(otmp));
if (otmp->otyp == CORPSE
&& touch_petrifies(&mons[otmp->corpsenm]) && !uarmg
&& !Stone_resistance
&& polymon(PM_STONE_GOLEM))) {
char kbuf[BUFSZ];
+#if 0 /*JP*/
Sprintf(kbuf, "%s corpse",
an(mons[otmp->corpsenm].mname));
pline("Snatching %s is a fatal mistake.", kbuf);
+#else
+ pline("%s\82Ì\8e\80\91Ì\82ð\92D\82Á\82½\82Ì\82Í\92v\96½\93I\82È\8aÔ\88á\82¢\82¾\81D",
+ mons[otmp->corpsenm].mname);
+ Sprintf(kbuf, "%s\82Ì\8e\80\91Ì\82É\90G\82ê\82Ä",
+ mons[otmp->corpsenm].mname);
+#endif
instapetrify(kbuf);
}
otmp = hold_another_object(
+/*JP
otmp, "You drop %s!", doname(otmp), (const char *) 0);
+*/
+ otmp, "%s\82ð\97\8e\82µ\82½\81I", doname(otmp), (const char *) 0);
break;
default:
/* to floor beneath mon */
+/*JP
You("yank %s from %s %s!", the(onambuf),
+*/
+ You("%s\82ð%s\82Ì%s\82©\82ç\82Ð\82Á\82Ï\82Á\82½\81I", the(xname(otmp)),
s_suffix(mon_nam(mtmp)), mon_hand);
obj_no_longer_held(otmp);
place_object(otmp, mtmp->mx, mtmp->my);
&& !sensemon(mtmp))
stumble_onto_mimic(mtmp);
else
+/*JP
You("flick your bullwhip towards %s.", mon_nam(mtmp));
+*/
+ You("%s\82É\8cü\82Á\82Ä\95Ú\82ð\91Å\82Á\82½\81D", mon_nam(mtmp));
if (proficient) {
if (attack(mtmp))
return 1;
} else if (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) {
/* it must be air -- water checked above */
+/*JP
You("snap your whip through thin air.");
+*/
+ You("\89½\82à\82È\82¢\82Æ\82±\82ë\82Å\95Ú\82ð\91Å\82Á\82½\81D");
} else {
pline1(msg_snap);
}
static const char
+/*JP
not_enough_room[] = "There's not enough room here to use that.",
+*/
+ not_enough_room[] = "\82»\82ê\82ð\8eg\82¤\82¾\82¯\82Ì\8dL\82³\82ª\82È\82¢\81D",
+/*JP
where_to_hit[] = "Where do you want to hit?",
+*/
+ where_to_hit[] = "\82Ç\82ê\82ð\91_\82¤\81H",
+/*JP
cant_see_spot[] = "won't hit anything if you can't see that spot.",
+*/
+ cant_see_spot[] = "\8fê\8f\8a\82ª\8c©\82¦\82È\82¯\82ê\82Î\91_\82¦\82È\82¢\81D",
+/*JP
cant_reach[] = "can't reach that spot from here.";
+*/
+ cant_reach[] = "\82±\82±\82©\82ç\82»\82±\82Ö\82Í\93Í\82©\82È\82¢\81D";
/* find pos of monster in range, if only one monster */
boolean
cc.y = hitm->my;
}
getpos_sethilite(display_polearm_positions);
+/*JP
if (getpos(&cc, TRUE, "the spot to hit") < 0)
+*/
+ if (getpos(&cc, TRUE, "\91_\82¤\8fê\8f\8a") < 0)
return res; /* ESC; uses turn iff polearm became wielded */
glyph = glyph_at(cc.x, cc.y);
if (distu(cc.x, cc.y) > max_range) {
+/*JP
pline("Too far!");
+*/
+ pline("\89\93\82·\82¬\82é\81I");
return res;
} else if (distu(cc.x, cc.y) < min_range) {
+/*JP
pline("Too close!");
+*/
+ pline("\8bß\82·\82¬\82é\81I");
return res;
} else if (!cansee(cc.x, cc.y) && !glyph_is_monster(glyph)
&& !glyph_is_invisible(glyph) && !glyph_is_statue(glyph)) {
Note: we only do this when a statue is displayed here,
because the player is probably attempting to attack it;
other statues obscured by anything are just ignored. */
+/*JP
pline("Thump! Your blow bounces harmlessly off the statue.");
+*/
+ pline("\83S\83c\83\93\81I\92¤\91\9c\82Í\8f\9d\82Â\82©\82È\82©\82Á\82½\81D");
wake_nearto(bhitpos.x, bhitpos.y, 25);
}
} else {
unmap_object(bhitpos.x, bhitpos.y);
newsym(bhitpos.x, bhitpos.y);
}
+/*JP
You("miss; there is no one there to hit.");
+*/
+ You("\8aO\82ê\82½\81D\82»\82±\82É\82Í\89½\82à\82È\82¢\81D");
}
u_wipe_engr(2); /* same as for melee or throwing */
return 1;
obj = splitobj(obj, 1L);
}
if (Hallucination)
+/*JP
You("give yourself a facial.");
+*/
+ You("\83N\83\8a\81[\83\80\83p\83b\83N\82ð\82µ\82½\81D");
else
+#if 0 /*JP*/
pline("You immerse your %s in %s%s.", body_part(FACE),
several ? "one of " : "",
several ? makeplural(the(xname(obj))) : the(xname(obj)));
+#else
+ pline("%s%s\82É%s\82ð\92¾\82ß\82½\81D",
+ xname(obj),
+ several ? "\82Ì\82Ð\82Æ\82Â" : "", body_part(FACE));
+#endif
if (can_blnd((struct monst *) 0, &youmonst, AT_WEAP, obj)) {
int blindinc = rnd(25);
u.ucreamed += blindinc;
make_blinded(Blinded + (long) blindinc, FALSE);
if (!Blind || (Blind && wasblind))
+#if 0 /*JP*/
pline("There's %ssticky goop all over your %s.",
wascreamed ? "more " : "", body_part(FACE));
+#else
+ pline("\82â\82Á\82©\82¢\82È\82Ë\82Î\82Ë\82Î\82ª%s\91S\91Ì\82É%s\82Â\82¢\82½\81D",
+ body_part(FACE), wascreamed ? "\82³\82ç\82É" : "");
+#endif
else /* Blind && !wasblind */
+/*JP
You_cant("see through all the sticky goop on your %s.",
+*/
+ pline("\82â\82Á\82©\82¢\82È\82Ë\82Î\82Ë\82Î\82ª%s\91S\91Ì\82É\82Â\82¢\82Ä\89½\82à\8c©\82¦\82È\82\82È\82Á\82½\81D",
body_part(FACE));
}
pline(where_to_hit);
cc.x = u.ux;
cc.y = u.uy;
+/*JP
if (getpos(&cc, TRUE, "the spot to hit") < 0)
+*/
+ if (getpos(&cc, TRUE, "\91_\82¤\8fê\8f\8a") < 0)
return res; /* ESC; uses turn iff grapnel became wielded */
/* Calculate range; unlike use_pole(), there's no minimum for range */
else
max_range = 8;
if (distu(cc.x, cc.y) > max_range) {
+/*JP
pline("Too far!");
+*/
+ pline("\89\93\82·\82¬\82é\81I");
return res;
} else if (!cansee(cc.x, cc.y)) {
You(cant_see_spot);
any.a_int = 1; /* use index+1 (cant use 0) as identifier */
start_menu(tmpwin);
any.a_int++;
+/*JP
Sprintf(buf, "an object on the %s", surface(cc.x, cc.y));
+*/
+ Sprintf(buf, "%s\82É\82 \82é\95¨\91Ì", surface(cc.x, cc.y));
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, buf,
MENU_UNSELECTED);
any.a_int++;
+#if 0 /*JP*/
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "a monster",
MENU_UNSELECTED);
+#else
+ add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "\89ö\95¨",
+ MENU_UNSELECTED);
+#endif
any.a_int++;
+/*JP
Sprintf(buf, "the %s", surface(cc.x, cc.y));
+*/
+ Sprintf(buf, "%s", surface(cc.x, cc.y));
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, buf,
MENU_UNSELECTED);
+/*JP
end_menu(tmpwin, "Aim for what?");
+*/
+ end_menu(tmpwin, "\89½\82ð\91_\82¤\81H");
tohit = rn2(4);
if (select_menu(tmpwin, PICK_ONE, &selected) > 0
&& rn2(P_SKILL(typ) > P_SKILLED ? 20 : 2))
break;
case 1: /* Object */
if ((otmp = level.objects[cc.x][cc.y]) != 0) {
+/*JP
You("snag an object from the %s!", surface(cc.x, cc.y));
+*/
+ You("%s\82Ì\82à\82Ì\82ð\88ø\82Á\8a|\82¯\82½\81I", surface(cc.x, cc.y));
(void) pickup_object(otmp, 1L, FALSE);
/* If pickup fails, leave it alone */
newsym(cc.x, cc.y);
(void) attack_checks(mtmp, uwep);
flags.confirm = save_confirm;
check_caitiff(mtmp); /* despite fact there's no damage */
+/*JP
You("pull in %s!", mon_nam(mtmp));
+*/
+ You("%s\82ð\88ø\82Á\92£\82Á\82½\81I", mon_nam(mtmp));
mtmp->mundetected = 0;
rloc_to(mtmp, cc.x, cc.y);
return 1;
/* FALL THROUGH */
case 3: /* Surface */
if (IS_AIR(levl[cc.x][cc.y].typ) || is_pool(cc.x, cc.y))
+/*JP
pline_The("hook slices through the %s.", surface(cc.x, cc.y));
+*/
+ pline("\83t\83b\83N\82Í%s\82ð\82³\82Á\82Æ\90Ø\82Á\82½\81D", surface(cc.x, cc.y));
else {
+/*JP
You("are yanked toward the %s!", surface(cc.x, cc.y));
+*/
+ You("%s\82Ö\88ø\82Á\82Ï\82ç\82ê\82½\81I", surface(cc.x, cc.y));
hurtle(sgn(cc.x - u.ux), sgn(cc.y - u.uy), 1, FALSE);
spoteffects(TRUE);
}
return 1;
default: /* Yourself (oops!) */
if (P_SKILL(typ) <= P_BASIC) {
+/*JP
You("hook yourself!");
+*/
+ You("\8e©\95ª\8e©\90g\82ð\88ø\82Á\8a|\82¯\82½\81I");
+/*JP
losehp(Maybe_Half_Phys(rn1(10, 10)), "a grappling hook",
+*/
+ losehp(Maybe_Half_Phys(rn1(10, 10)), "\8e©\95ª\8e©\90g\82ð\88ø\82Á\8a|\82¯\82Ä",
KILLED_BY);
return 1;
}
do_break_wand(obj)
struct obj *obj;
{
+/*JP
static const char nothing_else_happens[] = "But nothing else happens...";
+*/
+ static const char nothing_else_happens[] = "\82µ\82©\82µ\81C\89½\82à\8bN\82«\82È\82©\82Á\82½\81D\81D\81D";
register int i, x, y;
register struct monst *mon;
int dmg, damage;
boolean fillmsg = FALSE;
int expltype = EXPL_MAGICAL;
char confirm[QBUFSZ], buf[BUFSZ];
+/*JP
boolean is_fragile = (!strcmp(OBJ_DESCR(objects[obj->otyp]), "balsa"));
+*/
+ boolean is_fragile = (!strcmp(OBJ_DESCR(objects[obj->otyp]), "\83o\83\8b\83T"));
+#if 0 /*JP*/
if (!paranoid_query(ParanoidBreakwand,
safe_qbuf(confirm,
"Are you really sure you want to break ",
"?", obj, yname, ysimple_name, "the wand")))
+#else
+ if (!paranoid_query(ParanoidBreakwand,
+ safe_qbuf(confirm,
+ "\96{\93\96\82É", "\82ð\89ó\82·\82Ì\81H",
+ obj, yname, ysimple_name, "\8fñ")))
+#endif
return 0;
if (nohands(youmonst.data)) {
+/*JP
You_cant("break %s without hands!", yname(obj));
+*/
+ You("\8eè\82ª\96³\82¢\82Ì\82Å%s\82ð\89ó\82¹\82È\82¢\81I", yname(obj));
return 0;
} else if (ACURR(A_STR) < (is_fragile ? 5 : 10)) {
+/*JP
You("don't have the strength to break %s!", yname(obj));
+*/
+ You("%s\82ð\89ó\82·\82¾\82¯\82Ì\97Í\82ª\82È\82¢\81I", yname(obj));
return 0;
}
+/*JP
pline("Raising %s high above your %s, you break it in two!", yname(obj),
+*/
+ pline("%s\82ð%s\82Ì\8fã\82É\8d\82\82\8cf\82°\81C\93ñ\82Â\82É\82Ö\82µ\90Ü\82Á\82½\81I", yname(obj),
body_part(HEAD));
/* [ALI] Do this first so that wand is removed from bill. Otherwise,
goto discard_broken_wand;
case WAN_STRIKING:
/* we want this before the explosion instead of at the very end */
+/*JP
pline("A wall of force smashes down around you!");
+*/
+ pline("\82 \82È\82½\82Í\96\82\97Í\82Ì\95Ç\82É\82Â\82Â\82Ü\82ê\82½\81I");
dmg = d(1 + obj->spe, 6); /* normally 2d12 */
/*FALLTHRU*/
case WAN_CANCELLATION:
liquid_flow(x, y, typ, t_at(x, y),
fillmsg
? (char *) 0
+/*JP
: "Some holes are quickly filled with %s!");
+*/
+ : "\8c\8a\82Í\82·\82®\82É%s\82Å\96\84\82Ü\82Á\82½\81I");
fillmsg = TRUE;
} else
digactualhole(x, y, BY_OBJECT, (rn2(obj->spe) < 3
}
damage = zapyourself(obj, FALSE);
if (damage) {
+#if 0 /*JP:T*/
Sprintf(buf, "killed %sself by breaking a wand", uhim());
losehp(Maybe_Half_Phys(damage), buf, NO_KILLER_PREFIX);
+#else
+ Strcpy(buf, "\8e©\95ª\8e©\90g\82Å\8fñ\82ð\89ó\82µ\82Ä\83_\83\81\81[\83W\82ð\8eó\82¯");
+ losehp(Maybe_Half_Phys(damage), buf, KILLED_BY);
+#endif
}
if (context.botl)
bot(); /* blindness */
/* Note: if player fell thru, this call is a no-op.
Damage is handled in digactualhole in that case */
if (shop_damage)
+/*JP
pay_for_damage("dig into", FALSE);
+*/
+ pay_for_damage("\8c\8a\82ð\82 \82¯\82é", FALSE);
if (obj->otyp == WAN_LIGHT)
litroom(TRUE, obj); /* only needs to be done once */
} else if (!ublindf) {
Blindf_on(obj);
} else {
+#if 0 /*JP*/
You("are already %s.", ublindf->otyp == TOWEL
? "covered by a towel"
: ublindf->otyp == BLINDFOLD
? "wearing a blindfold"
: "wearing lenses");
+#else
+ You("\82à\82¤%s\82Ä\82¢\82é\81D", ublindf->otyp == TOWEL
+ ? "\83^\83I\83\8b\82ð\8aª\82¢"
+ : ublindf->otyp == BLINDFOLD
+ ? "\96Ú\89B\82µ\82ð\82Â\82¯"
+ : "\83\8c\83\93\83Y\82ð\82Â\82¯");
+#endif
}
break;
case CREAM_PIE:
/* sometimes the blessing will be worn off */
if (!rn2(49)) {
if (!Blind) {
+/*JP
pline("%s %s.", Yobjnam2(obj, "glow"), hcolor("brown"));
+*/
+ pline("%s\82Í%s\8bP\82¢\82½\81D", xname(obj), jconj_adj(hcolor("\92\83\90F\82Ì")));
obj->bknown = 1;
}
unbless(obj);
break;
case TIN_OPENER:
if (!carrying(TIN)) {
+/*JP
You("have no tin to open.");
+*/
+ You("\8aÊ\82ð\8e\9d\82Á\82Ä\82¢\82È\82¢\81D");
goto xit;
}
+/*JP
You("cannot open a tin without eating or discarding its contents.");
+*/
+ pline("\92\86\90g\82ð\90H\82×\82é\82©\81C\8eÌ\82Ä\82é\82©\82µ\82È\82¢\82Æ\8aÊ\82ð\8aJ\82¯\82ç\82ê\82È\82¢\81D");
if (flags.verbose)
+/*JP
pline("In order to eat, use the 'e' command.");
+*/
+ pline("\90H\82×\82é\82É\82Í\81C'e'\83R\83}\83\93\83h\82ð\8eg\82¦\82Î\82æ\82¢\81D");
if (obj != uwep)
pline(
+/*JP
"Opening the tin will be much easier if you wield the tin opener.");
+*/
+ "\8aÊ\90Ø\82è\82ð\91\95\94õ\82µ\82Ä\82¢\82ê\82Î\81C\82¸\82Á\82Æ\8aÈ\92P\82É\8aJ\82¯\82é\82±\82Æ\82ª\82Å\82«\82é\81D");
goto xit;
case FIGURINE:
res = use_pick_axe(obj);
break;
}
+/*JP
pline("Sorry, I don't know how to use that.");
+*/
+ pline("\82»\82ê\82ð\82Ç\82¤\82â\82Á\82Ä\8eg\82¤\82ñ\82¾\82¢\81H");
xit:
nomul(0);
return 0;
/* 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"
#include "artifact.h"
#include "artilist.h"
if (!yours)
return 0;
+/*JP
You("are blasted by %s power!", s_suffix(the(xname(obj))));
+*/
+ You("%s\82Ì\97Í\82ð\97\81\82Ñ\82½\81I", xname(obj));
touch_blasted = TRUE;
dmg = d((Antimagic ? 2 : 4), (self_willed ? 10 : 4));
/* add half (maybe quarter) of the usual silver damage bonus */
if (objects[obj->otyp].oc_material == SILVER && Hate_silver)
tmp = rnd(10), dmg += Maybe_Half_Phys(tmp);
+/*JP
Sprintf(buf, "touching %s", oart->name);
+*/
+ Sprintf(buf, "%s\82É\90G\82ê\82Ä", oart->name);
losehp(dmg, buf, KILLED_BY); /* magic damage, not physical */
exercise(A_WIS, FALSE);
}
if (badclass && badalign && self_willed) {
if (yours) {
if (!carried(obj))
+/*JP
pline("%s your grasp!", Tobjnam(obj, "evade"));
+*/
+ pline("%s\82Í\88¬\82ë\82¤\82Æ\82·\82é\82Æ\82·\82é\82è\82Æ\94²\82¯\82½\81I", xname(obj));
else
+/*JP
pline("%s beyond your control!", Tobjnam(obj, "are"));
+*/
+ pline("%s\82Í\90§\8cä\82Å\82«\82È\82¢\81I", xname(obj));
}
return 0;
}
continue; /* for WIN_ERR, we just count */
if (i == 0)
+/*JP
putstr(tmpwin, iflags.menu_headings, "Artifacts");
+*/
+ putstr(tmpwin, iflags.menu_headings, "\90¹\8aí");
m = artidisco[i];
otyp = artilist[m].otyp;
Sprintf(buf, " %s [%s %s]", artiname(m),
*/
#define MB_MAX_DIEROLL 8 /* rolls above this aren't magical */
static const char *const mb_verb[2][4] = {
+#if 0 /*JP*/
{ "probe", "stun", "scare", "cancel" },
{ "prod", "amaze", "tickle", "purge" },
+#else
+ /* Mb_hit() \82Å "%s\82½"\82Ì\8c`\82Å\97\98\97p */
+ {"\92²\8d¸\82µ", "\82\82ç\82\82ç\82³\82¹", "\8b¯\82¦\82³\82¹", "\8fò\89»\82µ"},
+ { "\97ã\82Ü\82µ", "\8bÁ\82©\82¹", "\82\82·\82®\82Á", "\90´\82ß" },
+#endif
};
#define MB_INDEX_PROBE 0
#define MB_INDEX_STUN 1
verb = mb_verb[!!Hallucination][attack_indx];
if (youattack || youdefend || vis) {
result = TRUE;
+#if 0 /*JP*/
pline_The("magic-absorbing blade %s %s!",
vtense((const char *) 0, verb), hittee);
+#else
+ pline("\96\82\97Í\82ð\8bz\82¢\82Æ\82é\90n\82ª%s\82ð%s\82½\81I",
+ hittee, verb);
+#endif
/* assume probing has some sort of noticeable feedback
even if it is being done by one monster to another */
if (attack_indx == MB_INDEX_PROBE && !canspotmon(mdef))
if (youmonst.data != old_uasmon)
*dmgptr = 0; /* rehumanized, so no more damage */
if (u.uenmax > 0) {
+/*JP
You("lose magical energy!");
+*/
+ You("\96\82\96@\82Ì\83G\83l\83\8b\83M\81[\82ð\8e¸\82Á\82½\81I");
u.uenmax--;
if (u.uen > 0)
u.uen--;
if (mdef->data == &mons[PM_CLAY_GOLEM])
mdef->mhp = 1; /* cancelled clay golems will die */
if (youattack && attacktype(mdef->data, AT_MAGC)) {
+/*JP
You("absorb magical energy!");
+*/
+ You("\96\82\96@\82Ì\83G\83l\83\8b\83M\81[\82ð\8bz\82¢\82Æ\82Á\82½\81I");
u.uenmax++;
u.uen++;
context.botl = 1;
nomovemsg = "";
if (magr && magr == u.ustuck && sticks(youmonst.data)) {
u.ustuck = (struct monst *) 0;
+/*JP
You("release %s!", mon_nam(magr));
+*/
+ You("%s\82ð\89ð\95ú\82µ\82½\81I", mon_nam(magr));
}
}
} else {
case MB_INDEX_PROBE:
if (youattack && (mb->spe == 0 || !rn2(3 * abs(mb->spe)))) {
+/*JP
pline_The("%s is insightful.", verb);
+*/
+ pline("\91\8a\8eè\82ð%s\82½\81D", verb);
/* pre-damage status */
probe_monster(mdef);
}
if (youattack || youdefend || vis) {
(void) upstart(hittee); /* capitalize */
if (resisted) {
+/*JP
pline("%s %s!", hittee, vtense(fakename, "resist"));
+*/
+ pline("%s\82Í\96h\82¢\82¾\81I", hittee);
shieldeff(youdefend ? u.ux : mdef->mx,
youdefend ? u.uy : mdef->my);
}
char buf[BUFSZ];
buf[0] = '\0';
+#if 0 /*JP:T*/
if (do_stun)
Strcat(buf, "stunned");
if (do_stun && do_confuse)
Strcat(buf, "confused");
pline("%s %s %s%c", hittee, vtense(fakename, "are"), buf,
(do_stun && do_confuse) ? '!' : '.');
+#else
+ if (do_stun && do_confuse)
+ Strcat(buf, "\82æ\82ë\82ß\82¢\82Ä");
+ else if (do_stun)
+ Strcat(buf, "\82æ\82ë\82ß\82¢\82½");
+ if (do_confuse)
+ Strcat(buf, "\8d¬\97\90\82µ\82½");
+ pline("%s\82Í%s%s", hittee,
+ buf, (do_stun && do_confuse) ? "\81I" : "\81D");
+#endif
}
}
|| (youattack && u.uswallow && mdef == u.ustuck && !Blind);
boolean realizes_damage;
const char *wepdesc;
+/*JP
static const char you[] = "you";
+*/
+ static const char you[] = "\82 \82È\82½";
char hittee[BUFSZ];
Strcpy(hittee, youdefend ? you : mon_nam(mdef));
/* the four basic attacks: fire, cold, shock and missiles */
if (attacks(AD_FIRE, otmp)) {
if (realizes_damage)
+#if 0 /*JP*/
pline_The("fiery blade %s %s%c",
!spec_dbon_applies
? "hits"
? "vaporizes part of"
: "burns",
hittee, !spec_dbon_applies ? '.' : '!');
+#else
+ pline_The("\96Ò\89Î\82ª%s%s",
+ hittee,
+ !spec_dbon_applies
+ ? "\82É\96½\92\86\82µ\82½\81D"
+ : (mdef->data == &mons[PM_WATER_ELEMENTAL])
+ ? "\82Ì\88ê\95\94\82ð\8fÁ\96Å\82³\82¹\82½\81I"
+ : "\82ð\8fÄ\82¢\82½\81I");
+#endif
if (!rn2(4))
(void) destroy_mitem(mdef, POTION_CLASS, AD_FIRE);
if (!rn2(4))
}
if (attacks(AD_COLD, otmp)) {
if (realizes_damage)
+#if 0 /*JP*/
pline_The("ice-cold blade %s %s%c",
!spec_dbon_applies ? "hits" : "freezes", hittee,
!spec_dbon_applies ? '.' : '!');
+#else
+ pline_The("\96Ò\90\81\90á\82ª%s%s",
+ hittee,
+ !spec_dbon_applies ? "\82É\96½\92\86\82µ\82½\81D" : "\82ð\8fP\82Á\82½\81I");
+#endif
if (!rn2(4))
(void) destroy_mitem(mdef, POTION_CLASS, AD_COLD);
return realizes_damage;
}
if (attacks(AD_ELEC, otmp)) {
if (realizes_damage)
+#if 0 /*JP*/
pline_The("massive hammer hits%s %s%c",
!spec_dbon_applies ? "" : "! Lightning strikes",
hittee, !spec_dbon_applies ? '.' : '!');
+#else
+ pline("\8b\90\91å\82È\83n\83\93\83}\81[\82Í%s\82É\96½\92\86\82µ\82½%s", hittee,
+ !spec_dbon_applies ? "\81D" : "\81I\93d\8c\82\82ª\8fP\82Á\82½\81I");
+#endif
if (!rn2(5))
(void) destroy_mitem(mdef, RING_CLASS, AD_ELEC);
if (!rn2(5))
}
if (attacks(AD_MAGM, otmp)) {
if (realizes_damage)
+#if 0 /*JP*/
pline_The("imaginary widget hits%s %s%c",
!spec_dbon_applies
? ""
: "! A hail of magic missiles strikes",
hittee, !spec_dbon_applies ? '.' : '!');
+#else
+ pline("\8eÀ\91Ì\82ð\8e\9d\82½\82È\82¢\95¨\91Ì\82ª%s\82ð\8dU\8c\82\82µ\82½%s",
+ hittee,
+ !spec_dbon_applies ? "\81D" :
+ "\81I\96\82\96@\82Ì\96î\82ª\89J\82 \82ç\82ê\82Æ\96½\92\86\82µ\82½\81I");
+#endif
return realizes_damage;
}
/* reverse from AD&D. */
if (spec_ability(otmp, SPFX_BEHEAD)) {
if (otmp->oartifact == ART_TSURUGI_OF_MURAMASA && dieroll == 1) {
+/*JP
wepdesc = "The razor-sharp blade";
+*/
+ wepdesc = "\8ea\93S\8c\95";
/* not really beheading, but so close, why add another SPFX */
if (youattack && u.uswallow && mdef == u.ustuck) {
+/*JP
You("slice %s wide open!", mon_nam(mdef));
+*/
+ You("%s\82ð\97Ö\90Ø\82è\82É\82µ\82½\81I", mon_nam(mdef));
*dmgptr = 2 * mdef->mhp + FATAL_DAMAGE_MODIFIER;
return TRUE;
}
if (bigmonst(mdef->data)) {
if (youattack)
+/*JP
You("slice deeply into %s!", mon_nam(mdef));
+*/
+ You("%s\82É\90[\82\8ea\82è\82Â\82¯\82½\81I",mon_nam(mdef));
else if (vis)
pline("%s cuts deeply into %s!", Monnam(magr),
hittee);
return TRUE;
}
*dmgptr = 2 * mdef->mhp + FATAL_DAMAGE_MODIFIER;
+/*JP
pline("%s cuts %s in half!", wepdesc, mon_nam(mdef));
+*/
+ pline("%s\82ª%s\82ð\90^\82Á\93ñ\82Â\82É\82µ\82½\81I", wepdesc, mon_nam(mdef));
otmp->dknown = TRUE;
return TRUE;
} else {
if (bigmonst(youmonst.data)) {
+/*JP
pline("%s cuts deeply into you!",
+*/
+ pline("%s\82Í\82 \82È\82½\82É\90[\82\8ea\82è\82Â\82¯\82½\81I",
magr ? Monnam(magr) : wepdesc);
*dmgptr *= 2;
return TRUE;
* damage does not prevent death.
*/
*dmgptr = 2 * (Upolyd ? u.mh : u.uhp) + FATAL_DAMAGE_MODIFIER;
+/*JP
pline("%s cuts you in half!", wepdesc);
+*/
+ pline("%s\82ª\82 \82È\82½\82ð\90^\82Á\93ñ\82Â\82É\82µ\82½\81I", wepdesc);
otmp->dknown = TRUE;
return TRUE;
}
} else if (otmp->oartifact == ART_VORPAL_BLADE
&& (dieroll == 1 || mdef->data == &mons[PM_JABBERWOCK])) {
+#if 0 /*JP*/
static const char *const behead_msg[2] = { "%s beheads %s!",
"%s decapitates %s!" };
+#else
+ static const char *const behead_msg[2] = { "%s\82Í%s\82Ì\8eñ\82ð\90Ø\82Á\82½\81I",
+ "%s\82Í%s\82Ì\8eñ\82ð\90Ø\82è\97\8e\82µ\82½\81I" };
+#endif
if (youattack && u.uswallow && mdef == u.ustuck)
return FALSE;
if (!youdefend) {
if (!has_head(mdef->data) || notonhead || u.uswallow) {
if (youattack)
+/*JP
pline("Somehow, you miss %s wildly.", mon_nam(mdef));
+*/
+ pline("\82È\82º\82©\81C%s\82Ö\82Ì\8dU\8c\82\82Í\91å\82«\82\82Í\82¸\82ê\82½\81D", mon_nam(mdef));
else if (vis)
+/*JP
pline("Somehow, %s misses wildly.", mon_nam(magr));
+*/
+ pline("\82È\82º\82©\81C%s\82Ì\8dU\8c\82\82Í\91å\82«\82\82Í\82¸\82ê\82½\81D", mon_nam(magr));
*dmgptr = 0;
return (boolean) (youattack || vis);
}
if (noncorporeal(mdef->data) || amorphous(mdef->data)) {
+/*JP
pline("%s slices through %s %s.", wepdesc,
+*/
+ pline("%s\82Í%s\82Ì%s\82ð\90Ø\82è\97\8e\82µ\82½\81D", wepdesc,
s_suffix(mon_nam(mdef)), mbodypart(mdef, NECK));
return TRUE;
}
pline(behead_msg[rn2(SIZE(behead_msg))], wepdesc,
mon_nam(mdef));
if (Hallucination && !flags.female)
+/*JP
pline("Good job Henry, but that wasn't Anne.");
+*/
+ pline("\83w\83\93\83\8a\81[\82æ\82\82â\82Á\82½\81C\82¾\82ª\82»\82¢\82Â\82Í\83A\83\93\82¶\82á\82È\82¢\81D");
otmp->dknown = TRUE;
return TRUE;
} else {
if (!has_head(youmonst.data)) {
+/*JP
pline("Somehow, %s misses you wildly.",
+*/
+ pline("\82È\82º\82©\81C%s\82Ì\8dU\8c\82\82Í\91å\82«\82\82Í\82¸\82ê\82½\81D",
magr ? mon_nam(magr) : wepdesc);
*dmgptr = 0;
return TRUE;
}
if (noncorporeal(youmonst.data) || amorphous(youmonst.data)) {
+/*JP
pline("%s slices through your %s.", wepdesc,
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì%s\82ð\90Ø\82è\97\8e\82µ\82½\81D", wepdesc,
body_part(NECK));
return TRUE;
}
*dmgptr = 2 * (Upolyd ? u.mh : u.uhp) + FATAL_DAMAGE_MODIFIER;
+/*JP
pline(behead_msg[rn2(SIZE(behead_msg))], wepdesc, "you");
+*/
+ pline(behead_msg[rn2(SIZE(behead_msg))], wepdesc, "\82 \82È\82½");
otmp->dknown = TRUE;
/* Should amulets fall off? */
return TRUE;
if (spec_ability(otmp, SPFX_DRLI)) {
/* some non-living creatures (golems, vortices) are
vulnerable to life drain effects */
+/*JP
const char *life = nonliving(mdef->data) ? "animating force" : "life";
+*/
+ const char *life = nonliving(mdef->data) ? "\93®\8dì\97Í" : "\90¶\96½\97Í";
if (!youdefend) {
if (vis) {
if (otmp->oartifact == ART_STORMBRINGER)
+#if 0 /*JP*/
pline_The("%s blade draws the %s from %s!",
hcolor(NH_BLACK), life, mon_nam(mdef));
+#else
+ pline("%s\90n\82ª%s\82Ì%s\82ð\92D\82Á\82½\81I",
+ hcolor(NH_BLACK), mon_nam(mdef), life);
+#endif
else
+#if 0 /*JP*/
pline("%s draws the %s from %s!",
The(distant_name(otmp, xname)), life,
mon_nam(mdef));
+#else
+ pline("%s\82Í%s\82Ì%s\82ð\92D\82Á\82½\81I",
+ The(distant_name(otmp, xname)),
+ mon_nam(mdef), life);
+#endif
}
if (mdef->m_lev == 0) {
*dmgptr = 2 * mdef->mhp + FATAL_DAMAGE_MODIFIER;
int oldhpmax = u.uhpmax;
if (Blind)
+#if 0 /*JP*/
You_feel("an %s drain your %s!",
(otmp->oartifact == ART_STORMBRINGER)
? "unholy blade"
: "object",
life);
+#else
+ pline("%s\82É%s\82ð\92D\82í\82ê\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81I",
+ (otmp->oartifact == ART_STORMBRINGER)
+ ? "\95s\8fò\82È\90n"
+ : "\89½\82©",
+ life);
+#endif
else if (otmp->oartifact == ART_STORMBRINGER)
+/*JP
pline_The("%s blade drains your %s!", hcolor(NH_BLACK), life);
+*/
+ pline("%s\90n\82ª\82 \82È\82½\82Ì%s\82ð\92D\82Á\82½\81I", hcolor(NH_BLACK), life);
else
+#if 0 /*JP*/
pline("%s drains your %s!", The(distant_name(otmp, xname)),
life);
+#else
+ pline("%s\82ª\82 \82È\82½\82Ì%s\82ð\92D\82Á\82½\81I", The(distant_name(otmp, xname)),
+ life);
+#endif
+/*JP
losexp("life drainage");
+*/
+ losexp("\90¶\96½\97Í\82ð\8bz\8eû\82³\82ê\82Ä");
if (magr && magr->mhp < magr->mhpmax) {
magr->mhp += (oldhpmax - u.uhpmax) / 2;
if (magr->mhp > magr->mhpmax)
/* It's a special power, not "just" a property */
if (obj->age > monstermoves) {
/* the artifact is tired :-) */
+#if 0 /*JP:T*/
You_feel("that %s %s ignoring you.", the(xname(obj)),
otense(obj, "are"));
+#else
+ You_feel("%s\82ª\96³\8e\8b\82µ\82Ä\82¢\82é\82æ\82¤\82É\8a´\82¶\82½\81D", xname(obj));
+#endif
/* and just got more so; patience is essential... */
obj->age += (long) d(3, 10);
return 1;
if (Upolyd)
healamt = (u.mhmax + 1 - u.mh) / 2;
if (healamt || Sick || Slimed || Blinded > creamed)
+/*JP
You_feel("better.");
+*/
+ You_feel("\8bC\95ª\82ª\82æ\82\82È\82Á\82½\81D");
else
goto nothing_special;
if (healamt > 0) {
else if (epboost < 12)
epboost = u.uenmax - u.uen;
if (epboost) {
+/*JP
You_feel("re-energized.");
+*/
+ You("\83G\83l\83\8b\83M\81[\82Å\96\9e\82½\82³\82ê\82½\81D");
u.uen += epboost;
context.botl = 1;
} else
num_ok_dungeons++;
last_ok_dungeon = i;
}
+/*JP
end_menu(tmpwin, "Open a portal to which dungeon?");
+*/
+ end_menu(tmpwin, "\82Ç\82Ì\96À\8b{\82Ö\82Ì\96\82\96@\82Ì\93ü\8cû\82ð\8aJ\82«\82Ü\82·\82©\81H");
if (num_ok_dungeons > 1) {
/* more than one entry; display menu for choices */
menu_item *selected;
if (u.uhave.amulet || In_endgame(&u.uz) || In_endgame(&newlev)
|| newlev.dnum == u.uz.dnum || !next_to_u()) {
+/*JP
You_feel("very disoriented for a moment.");
+*/
+ You("\88ê\8fu\95û\8cü\8a´\8ao\82ð\8e¸\82Á\82½\81D");
} else {
if (!Blind)
+/*JP
You("are surrounded by a shimmering sphere!");
+*/
+ You("\83`\83J\83`\83J\8cõ\82é\8b\85\91Ì\82É\95¢\82í\82ê\82½\81I");
else
+/*JP
You_feel("weightless for a moment.");
+*/
+ You_feel("\88ê\8fu\81C\96³\8fd\97Í\8a´\82ð\8a´\82¶\82½\81D");
goto_level(&newlev, FALSE, FALSE, FALSE);
}
break;
otmp->quan += rnd(5);
otmp->owt = weight(otmp);
otmp =
+#if 0 /*JP*/
hold_another_object(otmp, "Suddenly %s out.",
aobjnam(otmp, "fall"), (const char *) 0);
+#else
+ hold_another_object(otmp, "\93Ë\91R%s\82ª\97\8e\82¿\82½\81D",
+ xname(otmp), 0);
+#endif
break;
}
}
if (on && obj->age > monstermoves) {
/* the artifact is tired :-) */
u.uprops[oart->inv_prop].extrinsic ^= W_ARTI;
+#if 0 /*JP:T*/
You_feel("that %s %s ignoring you.", the(xname(obj)),
otense(obj, "are"));
+#else
+ You_feel("%s\82ª\96³\8e\8b\82µ\82Ä\82¢\82é\82æ\82¤\82É\8a´\82¶\82½\81D", xname(obj));
+#endif
/* can't just keep repeatedly trying */
obj->age += (long) d(3, 10);
return 1;
nothing_special:
/* you had the property from some other source too */
if (carried(obj))
+/*JP
You_feel("a surge of power, but nothing seems to happen.");
+*/
+ You("\97Í\82Ì\8d\82\82Ü\82è\82ð\8a´\82¶\82½\82ª\81C\89½\82à\8bN\82«\82È\82©\82Á\82½\82æ\82¤\82¾\81D");
return 1;
}
switch (oart->inv_prop) {
case CONFLICT:
if (on)
+/*JP
You_feel("like a rabble-rouser.");
+*/
+ You("\96¯\8fO\90î\93®\89Æ\82Ì\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
else
+/*JP
You_feel("the tension decrease around you.");
+*/
+ pline("\82Ü\82í\82è\82Ì\8bÙ\92£\8a´\82ª\82È\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
break;
case LEVITATION:
if (on) {
goto nothing_special;
newsym(u.ux, u.uy);
if (on)
+#if 0 /*JP*/
Your("body takes on a %s transparency...",
Hallucination ? "normal" : "strange");
+#else
+ pline("%s\81C\91Ì\82Í\93§\89ß\90«\82ð\82à\82Á\82½\81D\81D\81D",
+ Hallucination ? "\82 \82½\82è\82Ü\82¦\82Ì\82±\82Æ\82¾\82ª" : "\8aï\96\82È\82±\82Æ\82É");
+#endif
else
+/*JP
Your("body seems to unfade...");
+*/
+ Your("\91Ì\82Í\8e\9f\91æ\82É\8c©\82¦\82é\82æ\82¤\82É\82È\82Á\82Ä\82«\82½\81D\81D\81D");
break;
}
}
line = getrumor(bcsign(obj), buf, TRUE);
if (!*line)
+/*JP
line = "NetHack rumors file closed for renovation.";
+*/
+ line = "\89\\82Ì\90^\91\8a\82Í\90V\91\95\82Ì\82½\82ß\88ê\8e\9e\95Â\93X\81D";
+/*JP
pline("%s:", Tobjnam(obj, "whisper"));
+*/
+ pline("%s\82Í\82³\82³\82â\82¢\82½\81F", xname(obj));
verbalize1(line);
return;
}
/* Copyright 1988, 1989, 1990, 1992, M. Stephenson */
/* 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. */
+
+
/* attribute modification routines. */
#include "hack.h"
/* part of the output on gain or loss of attribute */
static const char
+#if 0 /*JP*/
*const plusattr[] = { "strong", "smart", "wise",
"agile", "tough", "charismatic" },
+#else
+ *const plusattr[] = { "\8b\82¢", "\8c«\96¾\82¾", "\8c«\82¢",
+ "\8b@\95q\82¾", "\8aæ\8fä\82¾", "\96£\97Í\93I\82¾" },
+#endif
+#if 0 /*JP*/
*const minusattr[] = { "weak", "stupid",
"foolish", "clumsy",
"fragile", "repulsive" };
+#else
+ *const minusattr[] = { "\8eã\82¢", "\8bð\82©\82¾",
+ "\8aÔ\94²\82¯\82¾", "\95s\8aí\97p\82¾",
+ "\82Ð\8eã\82¾","\8fX\82¢" };
+#endif
static const struct innate {
schar ulevel;
const char *gainstr, *losestr;
} arc_abil[] = { { 1, &(HStealth), "", "" },
{ 1, &(HFast), "", "" },
+/*JP
{ 10, &(HSearching), "perceptive", "" },
+*/
+ { 10, &(HSearching), "\92m\8ao\97Í\82ð\93¾\82½", "\92m\8ao\97Í\82ð\8e¸\82Á\82½" },
{ 0, 0, 0, 0 } },
bar_abil[] = { { 1, &(HPoison_resistance), "", "" },
+/*JP
{ 7, &(HFast), "quick", "slow" },
+*/
+ { 7, &(HFast), "\91f\91\81\82³\82ð\93¾\82½", "\92x\82\82È\82Á\82½" },
+/*JP
{ 15, &(HStealth), "stealthy", "" },
+*/
+ { 15, &(HStealth), "\90l\96Ú\82ð\93\90\82Þ\97Í\82ð\93¾\82½", "\90l\96Ú\82ð\93\90\82Þ\97Í\82ð\8e¸\82Á\82½" },
{ 0, 0, 0, 0 } },
+/*JP
cav_abil[] = { { 7, &(HFast), "quick", "slow" },
+*/
+ cav_abil[] = { { 7, &(HFast), "\91f\91\81\82³\82ð\93¾\82½", "\92x\82\82È\82Á\82½" },
+/*JP
{ 15, &(HWarning), "sensitive", "" },
+*/
+ { 15, &(HWarning), "\95q\8a´\82É\82È\82Á\82½", "\93Ý\8a´\82É\82È\82Á\82½" },
{ 0, 0, 0, 0 } },
hea_abil[] = { { 1, &(HPoison_resistance), "", "" },
+/*JP
{ 15, &(HWarning), "sensitive", "" },
+*/
+ { 15, &(HWarning), "\95q\8a´\82É\82È\82Á\82½", "\93Ý\8a´\82É\82È\82Á\82½" },
{ 0, 0, 0, 0 } },
+/*JP
kni_abil[] = { { 7, &(HFast), "quick", "slow" }, { 0, 0, 0, 0 } },
+*/
+ kni_abil[] = { { 7, &(HFast), "\91f\91\81\82³\82ð\93¾\82½", "\92x\82\82È\82Á\82½" }, { 0, 0, 0, 0 } },
mon_abil[] = { { 1, &(HFast), "", "" },
{ 1, &(HSleep_resistance), "", "" },
{ 1, &(HSee_invisible), "", "" },
+/*JP
{ 3, &(HPoison_resistance), "healthy", "" },
+*/
+ { 3, &(HPoison_resistance), "\8c\92\8dN\82É\82È\82Á\82½", "\95s\8c\92\8dN\82É\82È\82Á\82½" },
+/*JP
{ 5, &(HStealth), "stealthy", "" },
+*/
+ { 5, &(HStealth), "\90l\96Ú\82ð\93\90\82Þ\97Í\82ð\93¾\82½", "\90l\96Ú\82ð\93\90\82Þ\97Í\82ð\8e¸\82Á\82½" },
+/*JP
{ 7, &(HWarning), "sensitive", "" },
+*/
+ { 7, &(HWarning), "\95q\8a´\82É\82È\82Á\82½", "\93Ý\8a´\82É\82È\82Á\82½" },
+/*JP
{ 9, &(HSearching), "perceptive", "unaware" },
+*/
+ { 9, &(HSearching), "\92m\8ao\97Í\82ð\93¾\82½", "\92m\8ao\97Í\82ð\8e¸\82Á\82½" },
+/*JP
{ 11, &(HFire_resistance), "cool", "warmer" },
+*/
+ { 11, &(HFire_resistance), "\97â\82½\82\82È\82Á\82½", "\92g\82©\82\82È\82Á\82½" },
+/*JP
{ 13, &(HCold_resistance), "warm", "cooler" },
+*/
+ { 13, &(HCold_resistance), "\92g\82©\82\82È\82Á\82½", "\97â\82½\82\82È\82Á\82½"},
+/*JP
{ 15, &(HShock_resistance), "insulated", "conductive" },
+*/
+ { 15, &(HShock_resistance), "\90â\89\8f\82³\82ê\82½", "\93±\93d\82³\82ê\82½" },
+/*JP
{ 17, &(HTeleport_control), "controlled", "uncontrolled" },
+*/
+ { 17, &(HTeleport_control), "\90§\8cä\97Í\82ð\93¾\82½","\90§\8cä\97Í\82ð\8e¸\82Á\82½" },
{ 0, 0, 0, 0 } },
+/*JP
pri_abil[] = { { 15, &(HWarning), "sensitive", "" },
+*/
+ pri_abil[] = { { 15, &(HWarning), "\95q\8a´\82É\82È\82Á\82½", "\93Ý\8a´\82É\82È\82Á\82½" },
+/*JP
{ 20, &(HFire_resistance), "cool", "warmer" },
+*/
+ { 20, &(HFire_resistance), "\97â\82½\82\82È\82Á\82½", "\92g\82©\82\82È\82Á\82½" },
{ 0, 0, 0, 0 } },
ran_abil[] = { { 1, &(HSearching), "", "" },
+/*JP
{ 7, &(HStealth), "stealthy", "" },
+*/
+ { 7, &(HStealth), "\90l\96Ú\82ð\93\90\82Þ\97Í\82ð\93¾\82½", "\90l\96Ú\82ð\93\90\82Þ\97Í\82ð\8e¸\82Á\82½" },
{ 15, &(HSee_invisible), "", "" },
{ 0, 0, 0, 0 } },
rog_abil[] = { { 1, &(HStealth), "", "" },
+/*JP
{ 10, &(HSearching), "perceptive", "" },
+*/
+ { 10, &(HSearching), "\92m\8ao\97Í\82ð\93¾\82½", "\92m\8ao\97Í\82ð\8e¸\82Á\82½" },
{ 0, 0, 0, 0 } },
sam_abil[] = { { 1, &(HFast), "", "" },
+/*JP
{ 15, &(HStealth), "stealthy", "" },
+*/
+ { 15, &(HStealth), "\90l\96Ú\82ð\93\90\82Þ\97Í\82ð\93¾\82½", "\90l\96Ú\82ð\93\90\82Þ\97Í\82ð\8e¸\82Á\82½" },
{ 0, 0, 0, 0 } },
+/*JP
tou_abil[] = { { 10, &(HSearching), "perceptive", "" },
+*/
+ tou_abil[] = { { 10, &(HSearching), "\92m\8ao\97Í\82ð\93¾\82½", "\92m\8ao\97Í\82ð\8e¸\82Á\82½" },
+/*JP
{ 20, &(HPoison_resistance), "hardy", "" },
+*/
+ { 20, &(HPoison_resistance), "\96Æ\89u\97Í\82ð\93¾\82½", "\96Æ\89u\97Í\82ð\8e¸\82Á\82½" },
{ 0, 0, 0, 0 } },
val_abil[] = { { 1, &(HCold_resistance), "", "" },
{ 1, &(HStealth), "", "" },
+/*JP
{ 7, &(HFast), "quick", "slow" },
+*/
+ { 7, &(HFast), "\91f\91\81\82³\82ð\93¾\82½", "\92x\82\82È\82Á\82½" },
{ 0, 0, 0, 0 } },
+/*JP
wiz_abil[] = { { 15, &(HWarning), "sensitive", "" },
+*/
+ wiz_abil[] = { { 15, &(HWarning), "\95q\8a´\82É\82È\82Á\82½", "\93Ý\8a´\82É\82È\82Á\82½" },
+/*JP
{ 17, &(HTeleport_control), "controlled", "uncontrolled" },
+*/
+ { 17, &(HTeleport_control), "\90§\8cä\97Í\82ð\93¾\82½","\90§\8cä\97Í\82ð\8e¸\82Á\82½" },
{ 0, 0, 0, 0 } },
/* Intrinsics conferred by race */
+/*JP
elf_abil[] = { { 4, &(HSleep_resistance), "awake", "tired" },
+*/
+ elf_abil[] = { { 4, &(HSleep_resistance), "\96Ú\82ª\8ao\82ß\82½", "\96°\82\82È\82Á\82½" },
{ 0, 0, 0, 0 } },
orc_abil[] = { { 1, &(HPoison_resistance), "", "" }, { 0, 0, 0, 0 } };
if ((ndx == A_INT || ndx == A_WIS) && uarmh && uarmh->otyp == DUNCE_CAP) {
if (msgflg == 0)
+/*JP
Your("cap constricts briefly, then relaxes again.");
+*/
+ Your("\96X\8eq\82ª\82µ\82Î\82ç\82\82Ì\8aÔ\83L\83\85\82Á\82Æ\92÷\82ß\82Â\82¯\81C\82»\82µ\82Ä\82ä\82é\82ñ\82¾\81D");
return FALSE;
}
}
if (ACURR(ndx) == old_acurr) {
if (msgflg == 0 && flags.verbose)
+#if 0 /*JP*/
pline("You're %s as %s as you can get.",
abonflg ? "currently" : "already", attrstr);
+#else
+ You("%s\8f\\95ª\82É%s\81D",
+ abonflg ? "\8d¡\82Ì\82Æ\82±\82ë" : "\8aù\82É", attrstr);
+#endif
return FALSE;
}
if (msgflg <= 0)
+/*JP
You_feel("%s%s!", (incr > 1 || incr < -1) ? "very " : "", attrstr);
+*/
+ You("%s%s\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81I", (incr > 1 || incr < -1) ? "\82Æ\82Ä\82à" : "", jconj_adj(attrstr));
context.botl = 1;
if (moves > 1 && (ndx == A_STR || ndx == A_CON))
(void) encumber_msg();
/* inform player about being poisoned unless that's already been done;
"blast" has given a "blast of poison gas" message; "poison arrow",
"poison dart", etc have implicitly given poison messages too... */
+#if 0 /*JP*/
if (strcmp(reason, "blast") && !strstri(reason, "poison")) {
+#else
+ if (strcmp(reason, "\95\97") && strcmp(reason, "\91§") && !strstri(reason, "\93Å")) {
+#endif
+#if 0 /*JP*/
boolean plural = (reason[strlen(reason) - 1] == 's') ? 1 : 0;
+#endif
/* avoid "The" Orcus's sting was poisoned... */
+#if 0 /*JP*/
pline("%s%s %s poisoned!", isupper(*reason) ? "" : "The ", reason,
plural ? "were" : "was");
+#else
+ pline("%s\82Í\93Å\82É\82¨\82©\82³\82ê\82Ä\82¢\82é\81I", reason);
+#endif
}
if (Poison_resistance) {
+#if 0 /*JP*/
if (!strcmp(reason, "blast"))
+#else
+ if (!strcmp(reason, "\95\97") || !strcmp(reason, "\91§"))
+#endif
shieldeff(u.ux, u.uy);
+/*JP
pline_The("poison doesn't seem to affect you.");
+*/
+ pline("\93Å\82Í\8cø\82©\82È\82©\82Á\82½\82æ\82¤\82¾\81D");
return;
}
+#if 0 /*JP*//*\93ú\96{\8cê\82Å\82Í\95s\97v*/
/* suppress killer prefix if it already has one */
i = name_to_mon(pkiller);
if (i >= LOW_PM && (mons[i].geno & G_UNIQ)) {
/*[ does this need a plural check too? ]*/
kprefix = KILLED_BY;
}
+#endif
i = !fatal ? 1 : rn2(fatal + (thrown_weapon ? 20 : 0));
if (i == 0 && typ != A_CHA) {
/* instant kill */
u.uhp = -1;
+/*JP
pline_The("poison was deadly...");
+*/
+ pline("\93Å\82Í\92v\8e\80\97Ê\82¾\82Á\82½\81D\81D\81D");
} else if (i > 5) {
/* HP damage; more likely--but less severe--with missiles */
loss = thrown_weapon ? rnd(6) : rn1(10, 6);
if (u.uhp < 1) {
killer.format = kprefix;
Strcpy(killer.name, pkiller);
+#if 0 /*JP*/
/* "Poisoned by a poisoned ___" is redundant */
done(strstri(pkiller, "poison") ? DIED : POISONING);
+#else /*JP:\93ú\96{\8cê\82Å\82Í\8bæ\95Ê\82µ\82Ä\82¢\82È\82¢*/
+ done(POISONING);
+#endif
}
(void) encumber_msg();
}
/* exercise/abuse text (must be in attribute order, not botl order);
phrased as "You must have been [][0]." or "You haven't been [][1]." */
static NEARDATA const char *const exertext[A_MAX][2] = {
+#if 0 /*JP*/
{ "exercising diligently", "exercising properly" }, /* Str */
{ 0, 0 }, /* Int */
{ "very observant", "paying attention" }, /* Wis */
{ "working on your reflexes", "working on reflexes lately" }, /* Dex */
{ "leading a healthy life-style", "watching your health" }, /* Con */
{ 0, 0 }, /* Cha */
+#else
+ { "\94O\93ü\82è\82É\89^\93®\82µ\82Ä\82¢\82½", "\93K\90Ø\82É\89^\93®\82µ\82Ä\82¢\82È\82©\82Á\82½" }, /* Str */
+ { 0, 0 }, /* Int */
+ { "\90T\8fd\82É\8ds\93®\82µ\82Ä\82¢\82½", "\92\8d\88Ó\95s\91«\82¾\82Á\82½" }, /* Wis */
+ { "\94½\8eË\90_\8co\82ð\8eg\82Á\82Ä\82¢\82½", "\8dÅ\8bß\94½\8eË\90_\8co\82ð\8eg\82Á\82Ä\82¢\82È\82©\82Á\82½" }, /* Dex */
+ { "\8c\92\8dN\93I\82È\90¶\8a\88\82ð\82µ\82Ä\82¢\82½", "\8c\92\8dN\8aÇ\97\9d\82ð\91Ó\82Á\82Ä\82¢\82½" }, /* Con */
+ { 0, 0 }, /* Cha */
+#endif
};
void
/* if you actually changed an attrib - zero accumulation */
AEXE(i) = ax = 0;
/* then print an explanation */
+#if 0 /*JP*/
You("%s %s.",
(mod_val > 0) ? "must have been" : "haven't been",
exertext[i][(mod_val > 0) ? 0 : 1]);
+#else
+ You("%s\82É\88á\82¢\82È\82¢\81D",
+ exertext[i][(mod_val > 0) ? 0 : 1]);
+#endif
}
nextattrib:
/* this used to be ``AEXE(i) /= 2'' but that would produce
{
if (carried(uball)) {
if (showmsg)
+/*JP
pline("Startled, you drop the iron ball.");
+*/
+ pline("\8bÁ\82¢\82Ä\82 \82È\82½\82Í\93S\8b\85\82ð\97\8e\82µ\82½\81D");
if (uwep == uball)
setuwep((struct obj *) 0);
if (uswapwep == uball)
ballrelease(TRUE);
if (gets_hit) {
int dmg = rn1(7, 25);
+/*JP
pline_The("iron ball falls on your %s.", body_part(HEAD));
+*/
+ pline("\93S\8b\85\82Í\82 \82È\82½\82Ì%s\82Ì\8fã\82É\97\8e\82¿\82½\81D", body_part(HEAD));
if (uarmh) {
if (is_metallic(uarmh)) {
+/*JP
pline("Fortunately, you are wearing a hard helmet.");
+*/
+ pline("\8dK\89^\82É\82à\81C\82 \82È\82½\82Í\8cÅ\82¢\8a\95\82ð\90g\82É\82Â\82¯\82Ä\82¢\82½\81D");
dmg = 3;
} else if (flags.verbose)
+/*JP
pline("%s does not protect you.", Yname2(uarmh));
+*/
+ Your("%s\82Å\82Í\8eç\82ê\82È\82¢\81D", Yname2(uarmh));
}
+#if 0 /*JP*/
losehp(Maybe_Half_Phys(dmg), "crunched in the head by an iron ball",
NO_KILLER_PREFIX);
+#else
+ losehp(Maybe_Half_Phys(dmg), "\93S\8b\85\82Å\93ª\82ð\91Å\82Á\82Ä", KILLED_BY);
+#endif
}
}
drag:
if (near_capacity() > SLT_ENCUMBER && dist2(x, y, u.ux, u.uy) <= 2) {
+#if 0 /*JP*/
You("cannot %sdrag the heavy iron ball.",
invent ? "carry all that and also " : "");
+#else
+ You("%s\8fd\82¢\93S\8b\85\82ð\82Ð\82«\82¸\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D",
+ invent ? "\82»\82ê\82¾\82¯\82Ì\89×\95¨\82ð\8e\9d\82Á\82½\82Ü\82Ü" : "");
+#endif
nomul(0);
return FALSE;
}
&& (t->ttyp == PIT || t->ttyp == SPIKED_PIT || t->ttyp == HOLE
|| t->ttyp == TRAPDOOR))) {
if (Levitation) {
+/*JP
You_feel("a tug from the iron ball.");
+*/
+ You("\93S\8b\85\82É\88ø\82Á\82Ï\82ç\82ê\82½\81D");
if (t)
t->tseen = 1;
} else {
struct monst *victim;
+/*JP
You("are jerked back by the iron ball!");
+*/
+ You("\93S\8b\85\82É\82®\82¢\82Æ\88ø\82Á\82Ï\82ç\82ê\82½\81I");
if ((victim = m_at(uchain->ox, uchain->oy)) != 0) {
int tmp;
if (x != u.ux || y != u.uy) {
struct trap *t;
+/*JP
const char *pullmsg = "The ball pulls you out of the %s!";
+*/
+ const char *pullmsg = "\93S\8b\85\82Í%s\82©\82ç\82 \82È\82½\82ð\88ø\82Á\82Ï\82è\8fo\82µ\82½\81I";
if (u.utrap && u.utraptype != TT_INFLOOR
&& u.utraptype != TT_BURIEDBALL) {
switch (u.utraptype) {
case TT_PIT:
+/*JP
pline(pullmsg, "pit");
+*/
+ pline(pullmsg, "\97\8e\82µ\8c\8a");
break;
case TT_WEB:
+/*JP
pline(pullmsg, "web");
+*/
+ pline(pullmsg, "\82\82à\82Ì\91\83");
+/*JP
pline_The("web is destroyed!");
+*/
+ pline("\82\82à\82Ì\91\83\82Í\82±\82í\82ê\82½\81I");
deltrap(t_at(u.ux, u.uy));
break;
case TT_LAVA:
+/*JP
pline(pullmsg, "lava");
+*/
+ pline(pullmsg, "\97n\8aâ");
break;
case TT_BEARTRAP: {
register long side = rn2(3) ? LEFT_SIDE : RIGHT_SIDE;
+/*JP
pline(pullmsg, "bear trap");
+*/
+ pline(pullmsg, "\8cF\82Ìã©");
set_wounded_legs(side, rn1(1000, 500));
if (!u.usteed) {
+#if 0 /*JP*/
Your("%s %s is severely damaged.",
(side == LEFT_SIDE) ? "left" : "right",
body_part(LEG));
+#else
+ Your("%s%s\82Í\82Ð\82Ç\82¢\8f\9d\82ð\95\89\82Á\82½\81D",
+ (side == LEFT_SIDE) ? "\8d¶" : "\89E",
+ body_part(LEG));
+#endif
+#if 0 /*JP*/
losehp(Maybe_Half_Phys(2),
"leg damage from being pulled out of a bear trap",
KILLED_BY);
+#else
+ losehp(Maybe_Half_Phys(2),
+ "\8cF\82Ìã©\82©\82ç\94²\82¯\82æ\82¤\82Æ\91«\82ð\88ø\82Á\82Ï\82Á\82Ä",
+ KILLED_BY);
+#endif
}
break;
}
nextobj = otmp->nobj;
if ((otmp != uball) && (rnd(capacity) <= (int) otmp->owt)) {
if (canletgo(otmp, "")) {
+/*JP
pline("%s you down the stairs.", Yobjnam2(otmp, "follow"));
+*/
+ You("%s\82Æ\88ê\8f\8f\82É\8aK\92i\82ð\8d~\82è\82½\81D", xname(otmp));
dropx(otmp);
}
}
forward = carried(uball) && (uwep == uball || !uwep || !rn2(3));
if (carried(uball))
+/*JP
You("lose your grip on the iron ball.");
+*/
+ You("\93S\8b\85\82ð\8eè\82©\82ç\97\8e\82µ\82Ä\82µ\82Ü\82Á\82½\81D");
if (forward) {
if (rn2(6)) {
+/*JP
pline_The("iron ball drags you downstairs!");
+*/
+ You("\93S\8b\85\82É\82æ\82Á\82Ä\8aK\92i\82ð\82±\82ë\82ª\82è\97\8e\82¿\82½\81I");
losehp(Maybe_Half_Phys(rnd(6)),
+/*JP
"dragged downstairs by an iron ball", NO_KILLER_PREFIX);
+*/
+ "\93S\8b\85\82É\82æ\82è\8aK\92i\82ð\82±\82ë\82ª\82è\97\8e\82¿\82Ä", KILLED_BY);
litter();
}
} else {
if (rn2(2)) {
+/*JP
pline_The("iron ball smacks into you!");
+*/
+ pline("\93S\8b\85\82Í\82 \82È\82½\82É\83S\83c\83\93\82Æ\82Ô\82Â\82©\82Á\82½\81I");
+/*JP
losehp(Maybe_Half_Phys(rnd(20)), "iron ball collision",
+*/
+ losehp(Maybe_Half_Phys(rnd(20)), "\93S\8b\85\82Ì\8fÕ\93Ë\82Å",
KILLED_BY_AN);
exercise(A_STR, FALSE);
dragchance -= 2;
}
if ((int) dragchance >= rnd(6)) {
+/*JP
pline_The("iron ball drags you downstairs!");
+*/
+ You("\93S\8b\85\82É\82æ\82Á\82Ä\8aK\92i\82ð\82±\82ë\82ª\82è\97\8e\82¿\82½\81I");
losehp(Maybe_Half_Phys(rnd(3)),
+/*JP
"dragged downstairs by an iron ball", NO_KILLER_PREFIX);
+*/
+ "\93S\8b\85\82É\82æ\82è\8aK\92i\82ð\82±\82ë\82ª\82è\97\8e\82¿\82Ä", KILLED_BY);
exercise(A_STR, FALSE);
litter();
}
if (fd >= 0) {
(void) nhclose(fd);
if (wizard) {
+/*JP
if (yn("Bones file already exists. Replace it?") == 'y') {
+*/
+ if (yn("\8d\9c\83t\83@\83C\83\8b\82ª\8aù\82É\91¶\8dÝ\82µ\82Ä\82é\82æ\81D \92u\82«\8a·\82¦\82é\81H") == 'y') {
if (delete_bonesfile(&u.uz))
goto make_bones;
else
+/*JP
pline("Cannot unlink old bones.");
+*/
+ pline("\8cÃ\82¢\8d\9c\82ð\8dí\8f\9c\82Å\82«\82È\82©\82Á\82½\81D");
}
}
/* compression can change the file's name, so must
bflush(fd);
if (bytes_counted > freediskspace(bones)) { /* not enough room */
if (wizard)
+/*JP
pline("Insufficient space to create bones file.");
+*/
+ pline("\8d\9c\83t\83@\83C\83\8b\82ð\90¶\90¬\82·\82é\82½\82ß\82Ì\8f[\95ª\82È\97Ì\88æ\82ª\82È\82¢\81D");
(void) nhclose(fd);
cancel_bonesfile();
return;
if (validate(fd, bones) != 0) {
if (!wizard)
+/*JP
pline("Discarding unuseable bones; no need to panic...");
+*/
+ pline("\8eg\82¦\82È\82¢\8d\9c\82ð\8eÌ\82Ä\82½\81D\8dQ\82Ä\82é\95K\97v\82Í\82È\82¢\81D\81D\81D");
ok = FALSE;
} else {
ok = TRUE;
if (wizard) {
+/*JP
if (yn("Get bones?") == 'n') {
+*/
+ if (yn("\8d\9c\82ð\8fE\82¤\81H") == 'n') {
(void) nhclose(fd);
compress_bonesfile();
return 0;
if (strcmp(bonesid, oldbonesid) != 0) {
char errbuf[BUFSZ];
+/*JP
Sprintf(errbuf, "This is bones level '%s', not '%s'!", oldbonesid,
+*/
+ Sprintf(errbuf, "\82±\82Ì\8d\9c\82Ì\83\8c\83x\83\8b\82Í'%s'\82Å\82 \82Á\82Ä\81A'%s'\82Å\82Í\82È\82¢\81I", oldbonesid,
bonesid);
if (wizard) {
pline1(errbuf);
u.uroleplay.numbones++;
if (wizard) {
+/*JP
if (yn("Unlink bones?") == 'n') {
+*/
+ if (yn("\8d\9c\82ð\8fÁ\82·\81H") == 'n') {
compress_bonesfile();
return ok;
}
extern const char *hu_stat[]; /* defined in eat.c */
+#if 0 /*JP*/
const char *const enc_stat[] = { "", "Burdened", "Stressed",
"Strained", "Overtaxed", "Overloaded" };
+#else
+const char *const enc_stat[] = { "", "\82æ\82ë\82ß\82«", "\88³\94\97",
+ "\8cÀ\8aE", "\89×\8fd", "\92´\89ß"};
+#endif
STATIC_OVL NEARDATA int mrank_sz = 0; /* loaded by max_rank_sz (from u_init) */
STATIC_DCL const char *NDECL(rank);
Strcpy(newbot1, plname);
if ('a' <= newbot1[0] && newbot1[0] <= 'z')
newbot1[0] += 'A' - 'a';
+#if 1 /*JP*/
+ if(is_kanji1(newbot1, 9))
+ newbot1[9] = '_';
+#endif
newbot1[10] = 0;
+/*JP
Sprintf(nb = eos(newbot1), " the ");
+*/
+ Sprintf(nb = eos(newbot1)," ");
if (Upolyd) {
char mbot[BUFSZ];
Sprintf(nb = eos(nb), "%*s", i - j, " "); /* pad with spaces */
if (ACURR(A_STR) > 18) {
if (ACURR(A_STR) > STR18(100))
+/*JP
Sprintf(nb = eos(nb), "St:%2d ", ACURR(A_STR) - 100);
+*/
+ Sprintf(nb = eos(nb), "\8b:%2d ", ACURR(A_STR) - 100);
else if (ACURR(A_STR) < STR18(100))
+/*JP
Sprintf(nb = eos(nb), "St:18/%02d ", ACURR(A_STR) - 18);
+*/
+ Sprintf(nb = eos(nb), "\8b:18/%02d ", ACURR(A_STR) - 18);
else
+/*JP
Sprintf(nb = eos(nb), "St:18/** ");
+*/
+ Sprintf(nb = eos(nb), "\8b:18/** ");
} else
+/*JP
Sprintf(nb = eos(nb), "St:%-1d ", ACURR(A_STR));
+*/
+ Sprintf(nb = eos(nb), "\8b:%-1d ", ACURR(A_STR));
+/*JP
Sprintf(nb = eos(nb), "Dx:%-1d Co:%-1d In:%-1d Wi:%-1d Ch:%-1d",
+*/
+ Sprintf(nb = eos(nb), "\91\81:%-1d \91Ï:%-1d \92m:%-1d \8c«:%-1d \96£:%-1d ",
ACURR(A_DEX), ACURR(A_CON), ACURR(A_INT), ACURR(A_WIS),
ACURR(A_CHA));
+#if 0 /*JP*/
Sprintf(nb = eos(nb),
(u.ualign.type == A_CHAOTIC)
? " Chaotic"
: (u.ualign.type == A_NEUTRAL) ? " Neutral" : " Lawful");
+#else
+ Sprintf(nb = eos(nb),
+ (u.ualign.type == A_CHAOTIC)
+ ? "\8d¬\93×"
+ : (u.ualign.type == A_NEUTRAL) ? "\92\86\97§" : "\92\81\8f\98");
+#endif
#ifdef SCORE_ON_BOTL
if (flags.showscore)
+/*JP
Sprintf(nb = eos(nb), " S:%ld", botl_score());
+*/
+ Sprintf(nb = eos(nb), "%ld\93_", botl_score());
#endif
curs(WIN_STATUS, 1, 0);
putstr(WIN_STATUS, 0, newbot1);
if (hp < 0)
hp = 0;
(void) describe_level(newbot2);
+/*JP
Sprintf(nb = eos(newbot2), "%s:%-2ld HP:%d(%d) Pw:%d(%d) AC:%-2d",
+*/
+ Sprintf(nb = eos(newbot2), "%s:%-2ld \91Ì:%d(%d) \96\82:%d(%d) \8aZ:%-2d",
encglyph(objnum_to_glyph(GOLD_PIECE)), money_cnt(invent), hp,
hpmax, u.uen, u.uenmax, u.uac);
if (Upolyd)
Sprintf(nb = eos(nb), " HD:%d", mons[u.umonnum].mlevel);
else if (flags.showexp)
+/*JP
Sprintf(nb = eos(nb), " Xp:%u/%-1ld", u.ulevel, u.uexp);
+*/
+ Sprintf(nb = eos(nb), " \8co\8c±:%u/%-1ld", u.ulevel,u.uexp);
else
+/*JP
Sprintf(nb = eos(nb), " Exp:%u", u.ulevel);
+*/
+ Sprintf(nb = eos(nb), " \8co\8c±:%u", u.ulevel);
if (flags.time)
+/*JP
Sprintf(nb = eos(nb), " T:%ld", moves);
+*/
+ Sprintf(nb = eos(nb), " \95à:%ld", moves);
if (strcmp(hu_stat[u.uhs], " ")) {
Sprintf(nb = eos(nb), " ");
Strcat(newbot2, hu_stat[u.uhs]);
}
if (Confusion)
+/*JP
Sprintf(nb = eos(nb), " Conf");
+*/
+ Sprintf(nb = eos(nb), " \8d¬\97\90");
if (Sick) {
if (u.usick_type & SICK_VOMITABLE)
+/*JP
Sprintf(nb = eos(nb), " FoodPois");
+*/
+ Sprintf(nb = eos(nb), " \90H\93Å");
if (u.usick_type & SICK_NONVOMITABLE)
+/*JP
Sprintf(nb = eos(nb), " Ill");
+*/
+ Sprintf(nb = eos(nb), " \95a\8bC");
}
if (Blind)
+/*JP
Sprintf(nb = eos(nb), " Blind");
+*/
+ Sprintf(nb = eos(nb), " \96Ó\96Ú");
if (Stunned)
+/*JP
Sprintf(nb = eos(nb), " Stun");
+*/
+ Sprintf(nb = eos(nb), " á¿\9dò");
if (Hallucination)
+/*JP
Sprintf(nb = eos(nb), " Hallu");
+*/
+ Sprintf(nb = eos(nb), " \8c¶\8ao");
if (Slimed)
+/*JP
Sprintf(nb = eos(nb), " Slime");
+*/
+ Sprintf(nb = eos(nb), " \82Ç\82ë\82Ç\82ë");
if (cap > UNENCUMBERED)
Sprintf(nb = eos(nb), " %s", enc_stat[cap]);
curs(WIN_STATUS, 1, 1);
if (Is_knox(&u.uz))
Sprintf(buf, "%s ", dungeons[u.uz.dnum].dname);
else if (In_quest(&u.uz))
+/*JP
Sprintf(buf, "Home %d ", dunlev(&u.uz));
+*/
+ Sprintf(buf, "\8cÌ\8b½ %d ", dunlev(&u.uz));
else if (In_endgame(&u.uz))
+/*JP
Sprintf(buf, Is_astralevel(&u.uz) ? "Astral Plane " : "End Game ");
+*/
+ Sprintf(buf, Is_astralevel(&u.uz) ? "\90¸\97ì\8aE " : "\8dÅ\8fI\8e\8e\97û ");
else {
/* ports with more room may expand this one */
+/*JP
Sprintf(buf, "Dlvl:%-2d ", depth(&u.uz));
+*/
+ Sprintf(buf, "\92n\89º:%-2d ", depth(&u.uz));
ret = 0;
}
return ret;
/* 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"
#include "func_tab.h"
datawin = create_nhwindow(NHW_TEXT);
putstr(datawin, 0, "");
+/*JP
putstr(datawin, 0, " Extended Commands List");
+*/
+ putstr(datawin, 0, " \8ag\92£\83R\83}\83\93\83h\88ê\97\97");
putstr(datawin, 0, "");
+/*JP
putstr(datawin, 0, " Press '#', then type:");
+*/
+ putstr(datawin, 0, " '#'\82ð\89\9f\82µ\82½\82 \82Æ\83^\83C\83v\82¹\82æ:");
putstr(datawin, 0, "");
for (efp = extcmdlist; efp->ef_txt; efp++) {
Sprintf(prompt, "%s [%s]", choices[i]->ef_txt,
choices[i]->ef_desc);
} else if (acount == 1) {
+/*JP
Sprintf(prompt, "%s or %s", choices[i - 1]->ef_txt,
+*/
+ Sprintf(prompt, "%s \82Ü\82½\82Í %s", choices[i-1]->ef_txt,
choices[i]->ef_txt);
} else {
+/*JP
Strcat(prompt, " or ");
+*/
+ Strcat(prompt," \82Ü\82½\82Í ");
Strcat(prompt, choices[i]->ef_txt);
}
++acount;
add_menu(win, NO_GLYPH, &any, any.a_char, 0, ATR_NONE, buf,
FALSE);
}
+/*JP
Sprintf(prompt, "Extended Command: %s", cbuf);
+*/
+ Sprintf(prompt, "\8ag\92£\83R\83}\83\93\83h: %s", cbuf);
end_menu(win, prompt);
n = select_menu(win, PICK_ONE, &pick_list);
destroy_nhwindow(win);
if (split_mon(&youmonst, (struct monst *) 0))
dryup(u.ux, u.uy, TRUE);
} else
+/*JP
There("is no fountain here.");
+*/
+ pline("\82±\82±\82É\82Í\90ò\82Í\82È\82¢\81D");
} else if (is_unicorn(youmonst.data)) {
use_unicorn_horn((struct obj *) 0);
return 1;
} else if (youmonst.data->msound == MS_SHRIEK) {
+/*JP
You("shriek.");
+*/
+ You("\8bà\90Ø\82è\90º\82ð\82 \82°\82½\81D");
if (u.uburied)
+/*JP
pline("Unfortunately sound does not carry well through rock.");
+*/
+ pline("\8ec\94O\82È\82ª\82ç\89¹\82Í\8aâ\82ð\82¤\82Ü\82\93`\82í\82ç\82È\82¢\81D");
else
aggravate();
} else if (youmonst.data->mlet == S_VAMPIRE)
return dopoly();
else if (Upolyd)
+/*JP
pline("Any special ability you may have is purely reflexive.");
+*/
+ pline("\82 \82È\82½\82Ì\8e\9d\82Á\82Ä\82¢\82é\93Á\8eê\94\\97Í\82Í\82Ç\82ê\82à\8eó\93®\93I\82¾\81D");
else
+/*JP
You("don't have a special ability in your normal form!");
+*/
+ You("\95\81\92i\82Ì\8ep\82Å\82Ì\93Á\8eê\94\\97Í\82ð\8e\9d\82Á\82Ä\82¢\82È\82¢\81I");
return 0;
}
enter_explore_mode(VOID_ARGS)
{
if (wizard) {
+/*JP
You("are in debug mode.");
+*/
+ You("\82·\82Å\82É\83f\83o\83b\83O\83\82\81[\83h\82¾\81D");
} else if (discover) {
+/*JP
You("are already in explore mode.");
+*/
+ You("\82·\82Å\82É\92T\8c\9f\83\82\81[\83h\82¾\81D");
} else {
#ifdef SYSCF
#if defined(UNIX)
if (!sysopt.explorers || !sysopt.explorers[0]
|| !check_user_string(sysopt.explorers)) {
+/*JP
You("cannot access explore mode.");
+*/
+ You("\92T\8c\9f\83\82\81[\83h\82É\83A\83N\83Z\83X\82Å\82«\82È\82¢\81D");
return 0;
}
#endif
#endif
pline(
+/*JP
"Beware! From explore mode there will be no return to normal game.");
+*/
+ "\8cx\8d\90\81I\94\8c©\83\82\81[\83h\82É\93ü\82Á\82½\82ç\92Ê\8fí\83\82\81[\83h\82É\82Í\96ß\82ê\82È\82¢\81D");
if (paranoid_query(ParanoidQuit,
+/*JP
"Do you want to enter explore mode?")) {
+*/
+ "\94\8c©\83\82\81[\83h\82É\88Ú\82è\82Ü\82·\82©\81H")) {
clear_nhwindow(WIN_MESSAGE);
+/*JP
You("are now in non-scoring explore mode.");
+*/
+ You("\83X\83R\83A\82ª\82Ì\82ç\82È\82¢\94\8c©\83\82\81[\83h\82É\88Ú\8ds\82µ\82½\81D");
discover = TRUE;
} else {
clear_nhwindow(WIN_MESSAGE);
+/*JP
pline("Resuming normal game.");
+*/
+ pline("\92Ê\8fí\83\82\81[\83h\82ð\91±\82¯\82é\81D");
}
}
return 0;
flags.verbose = save_verbose;
(void) encumber_msg();
} else
+/*JP
pline("Unavailable command '%s'.",
+*/
+ pline("'%s'\83R\83}\83\93\83h\82Í\8eg\82¦\82È\82¢\81D",
visctrl((int) cmd_from_func(wiz_wish)));
return 0;
}
identify_pack(0, FALSE);
iflags.override_ID = 0;
} else
+/*JP
pline("Unavailable command '%s'.",
+*/
+ pline("'%s'\83R\83}\83\93\83h\82Í\8eg\82¦\82È\82¢\81D",
visctrl((int) cmd_from_func(wiz_identify)));
return 0;
}
HConfusion = save_Hconf;
HHallucination = save_Hhallu;
} else
+/*JP
pline("Unavailable command '%s'.",
+*/
+ pline("'%s'\83R\83}\83\93\83h\82Í\8eg\82¦\82È\82¢\81D",
visctrl((int) cmd_from_func(wiz_map)));
return 0;
}
if (wizard)
(void) create_particular();
else
+/*JP
pline("Unavailable command '%s'.",
+*/
+ pline("'%s'\83R\83}\83\93\83h\82Í\8eg\82¦\82È\82¢\81D",
visctrl((int) cmd_from_func(wiz_genesis)));
return 0;
}
if (wizard)
(void) print_dungeon(FALSE, (schar *) 0, (xchar *) 0);
else
+/*JP
pline("Unavailable command '%s'.",
+*/
+ pline("'%s'\83R\83}\83\93\83h\82Í\8eg\82¦\82È\82¢\81D",
visctrl((int) cmd_from_func(wiz_where)));
return 0;
}
if (wizard)
(void) findit();
else
+/*JP
pline("Unavailable command '%s'.",
+*/
+ pline("'%s'\83R\83}\83\93\83h\82Í\8eg\82¦\82È\82¢\81D",
visctrl((int) cmd_from_func(wiz_detect)));
return 0;
}
if (wizard)
level_tele();
else
+/*JP
pline("Unavailable command '%s'.",
+*/
+ pline("'%s'\83R\83}\83\93\83h\82Í\8eg\82¦\82È\82¢\81D",
visctrl((int) cmd_from_func(wiz_level_tele)));
return 0;
}
wiz_mon_polycontrol(VOID_ARGS)
{
iflags.mon_polycontrol = !iflags.mon_polycontrol;
+#if 0 /*JP*/
pline("Monster polymorph control is %s.",
iflags.mon_polycontrol ? "on" : "off");
+#else
+ pline("\89ö\95¨\82Ì\95Ï\89»\90§\8cä: %s",
+ iflags.mon_polycontrol ? "\83I\83\93" : "\83I\83t");
+#endif
return 0;
}
int newlevel;
int ret;
+/*JP
getlin("To what experience level do you want to be set?", buf);
+*/
+ getlin("\8co\8c±\83\8c\83x\83\8b\82ð\82¢\82\82Â\82É\90Ý\92è\82µ\82Ü\82·\82©\81H", buf);
(void) mungspaces(buf);
if (buf[0] == '\033' || buf[0] == '\0')
ret = 0;
return 0;
}
if (newlevel == u.ulevel) {
+/*JP
You("are already that experienced.");
+*/
+ You("\82·\82Å\82É\82»\82Ì\8co\8c±\83\8c\83x\83\8b\82¾\81D");
} else if (newlevel < u.ulevel) {
if (u.ulevel == 1) {
+/*JP
You("are already as inexperienced as you can get.");
+*/
+ You("\82·\82Å\82É\89Â\94\\82È\8cÀ\82è\82Ì\8dÅ\92á\82Ì\8co\8c±\83\8c\83x\83\8b\82¾\81D");
return 0;
}
if (newlevel < 1)
newlevel = 1;
while (u.ulevel > newlevel)
+/*JP
losexp("#levelchange");
+*/
+ losexp("#levelchange\83R\83}\83\93\83h\82Å");
} else {
if (u.ulevel >= MAXULEV) {
+/*JP
You("are already as experienced as you can get.");
+*/
+ You("\82·\82Å\82É\89Â\94\\82È\8cÀ\82è\82Ì\8dÅ\91å\82Ì\8co\8c±\83\8c\83x\83\8b\82¾\81D");
return 0;
}
if (newlevel > MAXULEV)
STATIC_PTR int
wiz_panic(VOID_ARGS)
{
+/*JP
if (yn("Do you want to call panic() and end your game?") == 'y')
+*/
+ if (yn("panic()\8aÖ\90\94\82ð\8cÄ\82Ñ\8fo\82µ\82Ä\83Q\81[\83\80\82ð\8fI\97¹\82³\82¹\82Ü\82·\82©\81H") == 'y')
panic("Crash test.");
return 0;
}
/* -enlightenment and conduct- */
static winid en_win = WIN_ERR;
+#if 0 /*JP*/
static const char You_[] = "You ", are[] = "are ", were[] = "were ",
have[] = "have ", had[] = "had ", can[] = "can ",
could[] = "could ";
+#else
+static const char You_[] = "\82 \82È\82½\82Í",
+ are[] = "\82Å\82 \82é", were[] = "\82Å\82 \82Á\82½",
+ have[] = "\82ð\82à\82Á\82Ä\82¢\82é", had[] = "\82ð\82à\82Á\82Ä\82¢\82½",
+ can[] = "\82Å\82«\82é", could[] = "\82Å\82«\82½",
+ iru[] = "\82¢\82é", ita[] = "\82¢\82½";
+#endif
+#if 0 /*JP*//* not used */
static const char have_been[] = "have been ", have_never[] = "have never ",
never[] = "never ";
+#endif
+#if 0 /*JP*/
#define enl_msg(prefix, present, past, suffix, ps) \
enlght_line(prefix, final ? past : present, suffix, ps)
+#else
+#define enl_msg(prefix, present, past, suffix, ps) \
+ enlght_line(prefix, suffix, final ? past : present, ps)
+#endif
#define you_are(attr, ps) enl_msg(You_, are, were, attr, ps)
#define you_have(attr, ps) enl_msg(You_, have, had, attr, ps)
#define you_can(attr, ps) enl_msg(You_, can, could, attr, ps)
+/*JP
#define you_have_been(goodthing) enl_msg(You_, have_been, were, goodthing, "")
+*/
+#define you_have_been(goodthing) enl_msg(You_, are, were, goodthing, "")
+#if 0 /*JP*/
#define you_have_never(badthing) \
enl_msg(You_, have_never, never, badthing, "")
+#else
+#define you_have_never(badthing) \
+ enl_msg(badthing, "\82Ä\82¢\82È\82¢", "\82È\82©\82Á\82½", "", "")
+#endif
+#if 0 /*JP*/
#define you_have_X(something) \
enl_msg(You_, have, (const char *) "", something, "")
+#else
+#define you_have_X(something) \
+ enl_msg(something, "\82Ä\82¢\82é", "\82½", "", "")
+#endif
+#if 1 /*JP*/
+#define you_are_ing(goodthing) enl_msg(You_, iru, ita, goodthing, "")
+#endif
static void
enlght_line(start, middle, end, ps)
{
char buf[BUFSZ];
+/*JP
Sprintf(buf, " %s%s%s%s.", start, middle, end, ps);
+*/
+ Sprintf(buf, "%s%s%s%s\81D", start, middle, end, ps);
putstr(en_win, 0, buf);
}
absamt = (absamt * 2) / 3;
if (absamt <= 3)
+/*JP
modif = "small";
+*/
+ modif = "\8bÍ\82©\82È";
else if (absamt <= 6)
+/*JP
modif = "moderate";
+*/
+ modif = "\92\86\92ö\93x\82Ì";
else if (absamt <= 12)
+/*JP
modif = "large";
+*/
+ modif = "\91å\82«\82È";
else
+/*JP
modif = "huge";
+*/
+ modif = "\8b\91å\82È";
+#if 0 /*JP*/
modif = !incamt ? "no" : an(modif); /* ("no" case shouldn't happen) */
+#endif
+/*JP
bonus = (incamt >= 0) ? "bonus" : "penalty";
+*/
+ bonus = (incamt > 0) ? "\83{\81[\83i\83X" : "\83y\83i\83\8b\83e\83B";
/* "bonus <foo>" (to hit) vs "<bar> bonus" (damage, defense) */
invrt = strcmp(inctyp, "to hit") ? TRUE : FALSE;
+#if 0 /*JP*/
Sprintf(outbuf, "%s %s %s", modif, invrt ? inctyp : bonus,
invrt ? bonus : inctyp);
+#else
+ Sprintf(outbuf, "%s\82É%s%s", inctyp, modif, bonus);
+#endif
if (final || wizard)
Sprintf(eos(outbuf), " (%s%d)", (incamt > 0) ? "+" : "", incamt);
*tmpbuf = highc(*tmpbuf); /* same adjustment as bottom line */
/* as in background_enlightenment, when poly'd we need to use the saved
gender in u.mfemale rather than the current you-as-monster gender */
+#if 0 /*JP*/
Sprintf(buf, "%s the %s's attributes:", tmpbuf,
((Upolyd ? u.mfemale : flags.female) && urole.name.f)
? urole.name.f
: urole.name.m);
+#else
+ Sprintf(buf, "%s\82Ì%s\82Ì\91®\90«:",
+ ((Upolyd ? u.mfemale : flags.female) && urole.name.f)
+ ? urole.name.f
+ : urole.name.m,
+ tmpbuf);
+#endif
en_win = create_nhwindow(NHW_MENU);
/* title */
rank_titl = rank_of(u.ulevel, Role_switch, innategend);
putstr(en_win, 0, ""); /* separator after title */
+/*JP
putstr(en_win, 0, "Background:");
+*/
+ putstr(en_win, 0, "\94w\8ci\8fî\95ñ:");
/* if polymorphed, report current shape before underlying role;
will be repeated as first status: "you are transformed" and also
tmpbuf[0] = '\0';
/* here we always use current gender, not saved role gender */
if (!is_male(uasmon) && !is_female(uasmon) && !is_neuter(uasmon))
+/*JP
Sprintf(tmpbuf, "%s ", genders[flags.female ? 1 : 0].adj);
+*/
+ Sprintf(tmpbuf, "%s", genders[flags.female ? 1 : 0].adj);
Sprintf(buf, "%sin %s%s form", !final ? "currently " : "", tmpbuf,
uasmon->mname);
you_are(buf, "");
if (!urole.name.f
&& ((urole.allow & ROLE_GENDMASK) == (ROLE_MALE | ROLE_FEMALE)
|| innategend != flags.initgend))
+/*JP
Sprintf(tmpbuf, "%s ", genders[innategend].adj);
+*/
+ Sprintf(tmpbuf, "%s", genders[innategend].adj);
buf[0] = '\0';
if (Upolyd)
Strcpy(buf, "actually "); /* "You are actually a ..." */
if (!strcmpi(rank_titl, role_titl)) {
/* omit role when rank title matches it */
+#if 0 /*JP*/
Sprintf(eos(buf), "%s, level %d %s%s", an(rank_titl), u.ulevel,
tmpbuf, urace.noun);
+#else
+ Sprintf(eos(buf), "\83\8c\83x\83\8b%d\82Ì%s\82Ì%s%s", u.ulevel,
+ tmpbuf, urace.adj, role_titl);
+#endif
} else {
+#if 0 /*JP*/
Sprintf(eos(buf), "%s, a level %d %s%s %s", an(rank_titl), u.ulevel,
tmpbuf, urace.adj, role_titl);
+#else
+ Sprintf(eos(buf), "\83\8c\83x\83\8b%d\82Ì%s\82Ì%s%s\82Ì%s", u.ulevel,
+ tmpbuf, urace.adj, role_titl, rank_titl);
+#endif
}
you_are(buf, "");
/* report alignment (bypass you_are() in order to omit ending period) */
+#if 0 /*JP*/
Sprintf(buf, " %s%s%s, %son a mission for %s",
You_, !final ? are : were,
align_str(u.ualign.type),
/* lastly, normal case */
: "",
u_gname());
+#else
+ Sprintf(buf, " \82 \82È\82½\82Í%s\82Å, %s%s\82Ì\82½\82ß\82Ì\94C\96±\82ð\8ds\82Á\82Ä%s",
+ align_str(u.ualign.type),
+ /* helm of opposite alignment (might hide conversion) */
+ (u.ualign.type != u.ualignbase[A_CURRENT]) ? "\88ê\8e\9e\93I\82É"
+ /* permanent conversion */
+ : (u.ualign.type != u.ualignbase[A_ORIGINAL]) ? "\8c»\8dÝ"
+ /* atheist (ignored in very early game) */
+ : (!u.uconduct.gnostic && moves > 1000L) ? "\96¼\8b`\8fã"
+ /* lastly, normal case */
+ : "",
+ u_gname(), !final ? iru : ita);
+#endif
putstr(en_win, 0, buf);
/* show the rest of this game's pantheon (finishes previous sentence)
[appending "also Moloch" at the end would allow for straightforward
trailing "and" on all three aligned entries but looks too verbose] */
+#if 0 /*JP*/
Sprintf(buf, " who %s opposed by", !final ? "is" : "was");
+#else
+ Strcpy(buf, "\82 \82È\82½\82Í");
+#endif
if (u.ualign.type != A_LAWFUL)
+#if 0 /*JP*/
Sprintf(eos(buf), " %s (%s) and", align_gname(A_LAWFUL),
align_str(A_LAWFUL));
+#else
+ Sprintf(eos(buf), "%s(%s)\82¨\82æ\82Ñ", align_gname(A_LAWFUL),
+ align_str(A_LAWFUL));
+#endif
if (u.ualign.type != A_NEUTRAL)
+#if 0 /*JP*/
Sprintf(eos(buf), " %s (%s)%s", align_gname(A_NEUTRAL),
align_str(A_NEUTRAL),
(u.ualign.type != A_CHAOTIC) ? " and" : "");
+#else
+ Sprintf(eos(buf), "%s(%s)%s", align_gname(A_NEUTRAL),
+ align_str(A_NEUTRAL),
+ (u.ualign.type != A_CHAOTIC) ? "\82¨\82æ\82Ñ" : "");
+#endif
+#if 0 /*JP*/
if (u.ualign.type != A_CHAOTIC)
Sprintf(eos(buf), " %s (%s)", align_gname(A_CHAOTIC),
align_str(A_CHAOTIC));
+#else
+ if (u.ualign.type != A_CHAOTIC)
+ Sprintf(eos(buf), "%s(%s)", align_gname(A_CHAOTIC),
+ align_str(A_CHAOTIC));
+#endif
+#if 0 /*JP*/
Strcat(buf, "."); /* terminate sentence */
+#else
+ Sprintf(eos(buf), "\82Æ\91Î\97§\82µ\82Ä%s\81D", !final ? iru : ita);
+#endif
putstr(en_win, 0, buf);
/* show original alignment,gender,race,role if any have been changed;
{
putstr(en_win, 0, ""); /* separator after background */
putstr(en_win, 0,
+/*JP
final ? "Final Characteristics:" : "Current Characteristics:");
+*/
+ final ? "\8dÅ\8fI\91®\90«\81F" : "\8c»\8dÝ\82Ì\91®\90«\81F");
/* bottom line order */
one_characteristic(mode, final, A_STR); /* strength */
putstr(en_win, 0, final ? "Final Attributes:" : "Current Attributes:");
if (u.uevent.uhand_of_elbereth) {
+#if 0 /*JP*/
static const char *const hofe_titles[3] = { "the Hand of Elbereth",
"the Envoy of Balance",
"the Glory of Arioch" };
+#else
+ static const char *const hofe_titles[3] = { "\83G\83\8b\83x\83\8c\83X\82Ì\8cä\8eè",
+ "\92²\98a\82Ì\8eg\8eÒ",
+ "\83A\83\8a\83I\83b\83`\82Ì\96¼\97_" };
+#endif
you_are(hofe_titles[u.uevent.uhand_of_elbereth - 1], "");
}
/* note: piousness 20 matches MIN_QUEST_ALIGN (quest.h) */
if (u.ualign.record >= 20)
+/*JP
you_are("piously aligned", "");
+*/
+ you_have("\8chåi\82È\90M\8bÂ\90S", "");
else if (u.ualign.record > 13)
+/*JP
you_are("devoutly aligned", "");
+*/
+ you_have("\90S\82©\82ç\82Ì\90M\8bÂ\90S", "");
else if (u.ualign.record > 8)
+/*JP
you_are("fervently aligned", "");
+*/
+ you_have("\94M\90S\82È\90M\8bÂ\90S", "");
else if (u.ualign.record > 3)
+/*JP
you_are("stridently aligned", "");
+*/
+ you_have("\82¨\82¨\82°\82³\82È\90M\8bÂ\90S", "");
else if (u.ualign.record == 3)
+/*JP
you_are("aligned", "");
+*/
+ you_have("\95\81\92Ê\82Ì\90M\8bÂ\90S", "");
else if (u.ualign.record > 0)
+/*JP
you_are("haltingly aligned", "");
+*/
+ you_have("çSçO\82µ\82È\82ª\82ç\82à\90M\8bÂ\90S", "");
else if (u.ualign.record == 0)
+/*JP
you_are("nominally aligned", "");
+*/
+ you_have("\8c`\82¾\82¯\82Ì\90M\8bÂ\90S", "");
else if (u.ualign.record >= -3)
+/*JP
you_have("strayed", "");
+*/
+ you_are_ing("\90M\8bÂ\82É\96À\82¢\82ð\82à\82Á\82Ä");
else if (u.ualign.record >= -8)
+/*JP
you_have("sinned", "");
+*/
+ you_are_ing("\8dß\82ð\95\89\82Á\82Ä");
else
+/*JP
you_have("transgressed", "");
+*/
+ you_are_ing("\90M\8bÂ\82©\82ç\88í\92E\82µ\82Ä");
if (wizard) {
+#if 0 /*JP*/
Sprintf(buf, " %d", u.ualign.record);
enl_msg("Your alignment ", "is", "was", buf, "");
+#else
+ Sprintf(buf, "\82 \82È\82½\82Ì\91®\90«\92l\82Í%d", u.ualign.record);
+ enl_msg(buf, "\82Å\82 \82é", "\82¾\82Á\82½", "", "");
+#endif
}
/*** Resistances to troubles ***/
* resulting in a false claim that you could have prayed safely.
*/
if (!final) {
+#if 0 /*JP*/
#if 0
/* "can [not] safely pray" vs "could [not] have safely prayed" */
Sprintf(buf, "%s%ssafely pray%s", can_pray(FALSE) ? "" : "not ",
if (wizard)
Sprintf(eos(buf), " (%d)", u.ublesscnt);
you_can(buf, "");
+#else /*JP*/
+ Sprintf(buf, "\82 \82È\82½\82Í\88À\91S\82É\8bF\82é\82±\82Æ\82ª");
+ Strcat(buf, can_pray(FALSE) ? can : "\82Å\82«\82È\82¢");
+ if (wizard)
+ Sprintf(eos(buf), " (%d)", u.ublesscnt);
+ enl_msg(buf, "", "", "", "");
+#endif
}
}
buf[0] = '\0';
if (final < 2) { /* still in progress, or quit/escaped/ascended */
+/*JP
p = "survived after being killed ";
+*/
+ p = "\8e\80\82ñ\82¾\8cã\95\9c\8a\88\82µ\82Ä\82¢\82½";
switch (u.umortality) {
case 0:
+/*JP
p = !final ? (char *) 0 : "survived";
+*/
+ p = !final ? (char *)0 : "\90¶\82«\89\84\82Ñ\82½";
break;
case 1:
+/*JP
Strcpy(buf, "once");
+*/
+ Strcpy(buf, "\88ê\93x");
break;
case 2:
+/*JP
Strcpy(buf, "twice");
+*/
+ Strcpy(buf, "\93ñ\93x");
break;
case 3:
+/*JP
Strcpy(buf, "thrice");
+*/
+ Strcpy(buf, "\8eO\93x");
break;
default:
+/*JP
Sprintf(buf, "%d times", u.umortality);
+*/
+ Sprintf(buf, "%d\89ñ", u.umortality);
break;
}
} else { /* game ended in character's death */
+/*JP
p = "are dead";
+*/
+ p = "\8e\80\82ñ\82Å\82¢\82é";
switch (u.umortality) {
case 0:
impossible("dead without dying?");
case 1:
break; /* just "are dead" */
default:
+#if 0 /*JP*/
Sprintf(buf, " (%d%s time!)", u.umortality,
ordin(u.umortality));
+#else
+ Sprintf(buf, "(%d\89ñ\81I)", u.umortality);
+#endif
break;
}
}
if (p)
+/*JP
enl_msg(You_, "have been killed ", p, buf, "");
+*/
+ enl_msg(You_, "\8e\80\82ñ\82Å\82¢\82é", p, buf, "");
}
}
/* Create the conduct window */
en_win = create_nhwindow(NHW_MENU);
+/*JP
putstr(en_win, 0, "Voluntary challenges:");
+*/
+ putstr(en_win, 0, "\8e©\94\93I\92§\90í:");
if (u.uroleplay.blind)
+/*JP
you_have_been("blind from birth");
+*/
+ you_have_been("\90¶\82Ü\82ê\82È\82ª\82ç\82É\96Ó\96Ú");
if (u.uroleplay.nudist)
+/*JP
you_have_been("faithfully nudist");
+*/
+ you_have_been("\92\89\8eÀ\82È\97\87\91°");
if (!u.uconduct.food)
+/*JP
enl_msg(You_, "have gone", "went", " without food", "");
+*/
+ enl_msg("\82 \82È\82½\82Í\90H\8e\96\82ð\82µ", "\82Ä\82¢\82È\82¢", "\82È\82©\82Á\82½", "", "");
/* But beverages are okay */
else if (!u.uconduct.unvegan)
+/*JP
you_have_X("followed a strict vegan diet");
+*/
+ you_have_been("\8cµ\8ai\82È\8dØ\90H\8eå\8b`\8eÒ");
else if (!u.uconduct.unvegetarian)
+/*JP
you_have_been("vegetarian");
+*/
+ you_have_been("\8dØ\90H\8eå\8b`\8eÒ");
if (!u.uconduct.gnostic)
+/*JP
you_have_been("an atheist");
+*/
+ you_have_been("\96³\90_\98_\8eÒ");
if (!u.uconduct.weaphit) {
+/*JP
you_have_never("hit with a wielded weapon");
+*/
+ you_have_never("\82 \82È\82½\82Í\91\95\94õ\82µ\82Ä\82¢\82é\95\90\8aí\82Å\8dU\8c\82\82µ");
} else if (wizard) {
+#if 0 /*JP*/
Sprintf(buf, "used a wielded weapon %ld time%s", u.uconduct.weaphit,
plur(u.uconduct.weaphit));
you_have_X(buf);
+#else
+ Sprintf(buf, "\82 \82È\82½\82Í%ld\89ñ\91\95\94õ\82µ\82½\95\90\8aí\82ð\8eg\97p\82µ", u.uconduct.weaphit);
+ you_have_X(buf);
+#endif
}
if (!u.uconduct.killer)
+/*JP
you_have_been("a pacifist");
+*/
+ you_have_been("\95½\98a\8eå\8b`\8eÒ");
if (!u.uconduct.literate) {
+/*JP
you_have_been("illiterate");
+*/
+ you_have_never("\82 \82È\82½\82Í\93Ç\82Ý\8f\91\82«\82µ");
} else if (wizard) {
+#if 0 /*JP*/
Sprintf(buf, "read items or engraved %ld time%s", u.uconduct.literate,
plur(u.uconduct.literate));
you_have_X(buf);
+#else
+ Sprintf(buf, "%ld\89ñ\93Ç\82ñ\82¾\82è\8f\91\82¢\82½\82è\82µ", u.uconduct.literate);
+ you_have_X(buf);
+#endif
}
ngenocided = num_genocides();
if (ngenocided == 0) {
+/*JP
you_have_never("genocided any monsters");
+*/
+ you_have_never("\82 \82È\82½\82Í\89ö\95¨\82ð\8bs\8eE\82µ");
} else {
+#if 0 /*JP*/
Sprintf(buf, "genocided %d type%s of monster%s", ngenocided,
plur(ngenocided), plur(ngenocided));
you_have_X(buf);
+#else
+ Sprintf(buf, "%d\8eí\82Ì\89ö\95¨\82ð\8bs\8eE\82µ", ngenocided);
+ you_have_X(buf);
+#endif
}
if (!u.uconduct.polypiles) {
+/*JP
you_have_never("polymorphed an object");
+*/
+ you_have_never("\82 \82È\82½\82Í\95¨\91Ì\82ð\95Ï\89»\82³\82¹");
} else if (wizard) {
+#if 0 /*JP*/
Sprintf(buf, "polymorphed %ld item%s", u.uconduct.polypiles,
plur(u.uconduct.polypiles));
you_have_X(buf);
+#else
+ Sprintf(buf, "%ld\8cÂ\82Ì\93¹\8bï\82ð\95Ï\89»\82³\82¹", u.uconduct.polypiles);
+ you_have_X(buf);
+#endif
}
if (!u.uconduct.polyselfs) {
+/*JP
you_have_never("changed form");
+*/
+ you_have_never("\82 \82È\82½\82Í\95Ï\89»\82µ");
} else if (wizard) {
+#if 0 /*JP*/
Sprintf(buf, "changed form %ld time%s", u.uconduct.polyselfs,
plur(u.uconduct.polyselfs));
you_have_X(buf);
+#else
+ Sprintf(buf, "%ld\89ñ\8ep\82ð\95Ï\82¦", u.uconduct.polyselfs);
+ you_have_X(buf);
+#endif
}
if (!u.uconduct.wishes) {
+/*JP
you_have_X("used no wishes");
+*/
+ you_have_never("\82 \82È\82½\82Í\8aè\82¢\8e\96\82ð\82µ");
} else {
+#if 0 /*JP*/
Sprintf(buf, "used %ld wish%s", u.uconduct.wishes,
(u.uconduct.wishes > 1L) ? "es" : "");
you_have_X(buf);
+#else
+ Sprintf(buf, "%ld\89ñ\8aè\82¢\8e\96\82ð\82µ", u.uconduct.wishes);
+ you_have_X(buf);
+#endif
if (!u.uconduct.wisharti)
+#if 0 /*JP*/
enl_msg(You_, "have not wished", "did not wish",
" for any artifacts", "");
+#else
+ enl_msg("\82 \82È\82½\82Í\90¹\8aí\82ð\8aè", "\82Á\82Ä\82¢\82È\82¢", "\82í\82È\82©\82Á\82½", "", "");
+#endif
}
/* Pop up the window and wait for a key */
{ 'R', FALSE, doremring },
{ M('r'), FALSE, dorub },
{ M('R'), FALSE, doride }, /* #ride */
+/*JP
{ 's', TRUE, dosearch, "searching" },
+*/
+ { 's', TRUE, dosearch, "\91{\82·" },
{ 'S', TRUE, dosave },
{ M('s'), FALSE, dosit },
{ 't', FALSE, dothrow },
#ifdef SHELL
{ '!', TRUE, dosh },
#endif
+/*JP
{ '.', TRUE, donull, "waiting" },
+*/
+ { '.', TRUE, donull, "\8bx\8ce\82·\82é" },
+/*JP
{ ' ', TRUE, donull, "waiting" },
+*/
+ { ' ', TRUE, donull, "\8bx\8ce\82·\82é" },
{ ',', FALSE, dopickup },
{ ':', TRUE, dolook },
{ ';', TRUE, doquickwhatis },
};
struct ext_func_tab extcmdlist[] = {
+/*JP
{ "adjust", "adjust inventory letters", doorganize, TRUE },
+*/
+ { "adjust", "\8e\9d\82¿\95¨\88ê\97\97\82Ì\92²\90®", doorganize, TRUE },
+/*JP
{ "annotate", "name current level", donamelevel, TRUE },
+*/
+ { "annotate", "\8c»\8dÝ\82Ì\8aK\82É\96¼\91O\82ð\82Â\82¯\82é", donamelevel, TRUE },
+#if 0 /*JP*/
{ "chat", "talk to someone", dotalk, TRUE }, /* converse? */
+#else
+ { "chat", "\92N\82©\82Æ\98b\82·", dotalk, TRUE }, /* converse? */
+#endif
+#if 0 /*JP*/
{ "conduct", "list voluntary challenges you have maintained", doconduct,
TRUE },
+#else
+ { "conduct", "\82Ç\82¤\82¢\82¤\8ds\93®\82ð\82Æ\82Á\82½\82©\8c©\82é", doconduct, TRUE },
+#endif
+/*JP
{ "dip", "dip an object into something", dodip, FALSE },
+*/
+ { "dip", "\89½\82©\82É\95¨\82ð\90Z\82·", dodip, FALSE },
+#if 0 /*JP*/
{ "enhance", "advance or check weapon and spell skills",
enhance_weapon_skill, TRUE },
+#else
+ { "enhance", "\95\90\8aí\8fn\97û\93x\82ð\8d\82\82ß\82é", enhance_weapon_skill, TRUE },
+#endif
+/*JP
{ "exploremode", "enter explore mode", enter_explore_mode, TRUE },
+*/
+ { "exploremode", "\92T\8c\9f\83\82\81[\83h\82É\93ü\82é", enter_explore_mode, TRUE },
+/*JP
{ "force", "force a lock", doforce, FALSE },
+*/
+ { "force", "\8c®\82ð\82±\82¶\82 \82¯\82é", doforce, FALSE },
+/*JP
{ "invoke", "invoke an object's powers", doinvoke, TRUE },
+*/
+ { "invoke", "\95¨\82Ì\93Á\95Ê\82È\97Í\82ð\8eg\82¤", doinvoke, TRUE },
+/*JP
{ "jump", "jump to a location", dojump, FALSE },
+*/
+ { "jump", "\91¼\82Ì\88Ê\92u\82É\94ò\82Ñ\82¤\82Â\82é", dojump, FALSE },
+/*JP
{ "loot", "loot a box on the floor", doloot, FALSE },
+*/
+ { "loot", "\8f°\82Ì\8fã\82Ì\94 \82ð\8aJ\82¯\82é", doloot, TRUE },
+/*JP
{ "monster", "use a monster's special ability", domonability, TRUE },
+*/
+ { "monster", "\89ö\95¨\82Ì\93Á\95Ê\94\\97Í\82ð\8eg\82¤", domonability, TRUE },
+/*JP
{ "name", "name a monster or an object", docallcmd, TRUE },
+*/
+ { "name", "\83A\83C\83e\83\80\82â\95¨\82É\96¼\91O\82ð\82Â\82¯\82é", docallcmd, TRUE },
+/*JP
{ "offer", "offer a sacrifice to the gods", dosacrifice, FALSE },
+*/
+ { "offer", "\90_\82É\8b\9f\95¨\82ð\95ù\82°\82é", dosacrifice, FALSE },
+/*JP
{ "overview", "show an overview of the dungeon", dooverview, TRUE },
+*/
+ { "overview", "\96À\8b{\82Ì\8aT\97v\82ð\95\\8e¦\82·\82é", dooverview, TRUE },
+/*JP
{ "pray", "pray to the gods for help", dopray, TRUE },
+*/
+ { "pray", "\90_\82É\8bF\82é", dopray, TRUE },
+/*JP
{ "quit", "exit without saving current game", done2, TRUE },
+*/
+ { "quit", "\83Z\81[\83u\82µ\82È\82¢\82Å\8fI\97¹", done2, TRUE },
+/*JP
{ "ride", "ride (or stop riding) a monster", doride, FALSE },
+*/
+ { "ride", "\89ö\95¨\82É\8fæ\82é(\82Ü\82½\82Í\8d~\82è\82é)", doride, FALSE },
+/*JP
{ "rub", "rub a lamp or a stone", dorub, FALSE },
+*/
+ { "rub", "\83\89\83\93\83v\82ð\82±\82·\82é", dorub, FALSE },
+/*JP
{ "sit", "sit down", dosit, FALSE },
+*/
+ { "sit", "\8dÀ\82é", dosit, FALSE },
+/*JP
{ "terrain", "show map without obstructions", doterrain, TRUE },
+*/
+ { "terrain", "\8e×\96\82\82³\82ê\82¸\82É\92n\90}\82ð\8c©\82é", doterrain, TRUE },
+/*JP
{ "tip", "empty a container", dotip, FALSE },
+*/
+ { "tip", "\93ü\82ê\95¨\82ð\8bó\82É\82·\82é", dotip, FALSE },
+/*JP
{ "turn", "turn undead", doturn, TRUE },
+*/
+ { "turn", "\83A\83\93\83f\83b\83g\82ð\93y\82É\95Ô\82·", doturn, TRUE },
+/*JP
{ "twoweapon", "toggle two-weapon combat", dotwoweapon, FALSE },
+*/
+ { "twoweapon", "\97¼\8eè\8e\9d\82¿\82Ì\90Ø\82è\91Ö\82¦", dotwoweapon, FALSE },
+/*JP
{ "untrap", "untrap something", dountrap, FALSE },
+*/
+ { "untrap", "ã©\82ð\82Í\82¸\82·", dountrap, FALSE },
+#if 0 /*JP*/
{ "version", "list compile time options for this version of NetHack",
doextversion, TRUE },
+#else
+ { "version", "\83R\83\93\83p\83C\83\8b\8e\9e\82Ì\83I\83v\83V\83\87\83\93\82ð\95\\8e¦\82·\82é", doextversion, TRUE },
+#endif
+/*JP
{ "wipe", "wipe off your face", dowipe, FALSE },
+*/
+ { "wipe", "\8aç\82ð\90@\82¤", dowipe, FALSE },
+/*JP
{ "?", "get this list of extended commands", doextlist, TRUE },
+*/
+ { "?", "\82±\82Ì\8ag\92£\83R\83}\83\93\83h\88ê\97\97\82ð\95\\8e¦\82·\82é", doextlist, TRUE },
/*
* There must be a blank entry here for every entry in the table
* below.
if ((tlist = Cmd.commands[*cmd & 0xff]) != 0) {
#endif
if (u.uburied && !tlist->can_if_buried) {
+/*JP
You_cant("do that while you are buried!");
+*/
+ You("\96\84\82Ü\82Á\82Ä\82¢\82é\8e\9e\82É\82»\82ñ\82È\82±\82Æ\82Í\82Å\82«\82È\82¢\81I");
res = 0;
} else {
/* we discard 'const' because some compilers seem to have
}
*cp = '\0';
if (!prefix_seen || !iflags.cmdassist
+/*JP
|| !help_dir(0, "Invalid direction key!"))
+*/
+ || !help_dir(0, "\96³\8cø\82È\95û\8cü\8ew\92è\82Å\82·\81I"))
+/*JP
Norep("Unknown command '%s'.", expcmd);
+*/
+ Norep("'%s'\83R\83}\83\93\83h\81H", expcmd);
}
/* didn't move */
context.move = FALSE;
if (in_doagain || *readchar_queue)
dirsym = readchar();
else
+/*JP
dirsym = yn_function((s && *s != '^') ? s : "In what direction?",
+*/
+ dirsym = yn_function((s && *s != '^') ? s : "\82Ç\82Ì\95û\8cü\81H",
(char *) 0, '\0');
/* remove the prompt string so caller won't have to */
clear_nhwindow(WIN_MESSAGE);
did_help =
help_dir((s && *s == '^') ? dirsym : 0,
help_requested ? (const char *) 0
+/*JP
: "Invalid direction key!");
+*/
+ : "\96³\8cø\82È\95û\8cü\8ew\92è\82Å\82·\81I");
if (help_requested)
goto retry;
}
if (!did_help)
+/*JP
pline("What a strange direction!");
+*/
+ pline("\82¸\82¢\82Ô\82ñ\82Æ\8aï\96\82È\95û\8cü\82¾\81I");
}
return 0;
} else if (is_mov && !dxdy_moveok()) {
+/*JP
You_cant("orient yourself that direction.");
+*/
+ You_cant("\8cü\82«\82É\8e©\95ª\8e©\90g\82ð\8ew\92è\82Å\82«\82È\82¢\81D");
return 0;
}
if (!u.dz && (Stunned || (Confusion && !rn2(5))))
/* non-null msg means that this wasn't an explicit user request */
putstr(win, 0, "");
putstr(win, 0,
+/*JP
"(Suppress this message with !cmdassist in config file.)");
+*/
+ "(\82±\82Ì\83\81\83b\83Z\81[\83W\82ð\95\\8e¦\82µ\82½\82\82È\82¢\8fê\8d\87\82Í\90Ý\92è\83t\83@\83C\83\8b\82É !cmdassist \82ð\90Ý\92è\82µ\82Ä\82\82¾\82³\82¢\81D)");
}
display_nhwindow(win, FALSE);
destroy_nhwindow(win);
multi = LARGEST_INT;
if (multi > 9) {
clear_nhwindow(WIN_MESSAGE);
+/*JP
Sprintf(in_line, "Count: %d", multi);
+*/
+ Sprintf(in_line, "\90\94: %d", multi);
pline1(in_line);
mark_synch();
}
cc.x = u.ux;
cc.y = u.uy;
}
+/*JP
pline("Where do you want to travel to?");
+*/
+ pline("\82Ç\82±\82É\88Ú\93®\82·\82é\81H");
+/*JP
if (getpos(&cc, TRUE, "the desired destination") < 0) {
+*/
+ if (getpos(&cc, TRUE, "\88Ú\93®\90æ") < 0) {
/* user pressed ESC */
return 0;
}
* seems like an awful lot of effort for very little gain.)
*/
+/* 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_DCL void FDECL(get_wall_for_db, (int *, int *));
e_nam(etmp)
struct entity *etmp;
{
+/*JP
return is_u(etmp) ? "you" : mon_nam(etmp->emon);
+*/
+ return is_u(etmp) ? "\82 \82È\82½" : mon_nam(etmp->emon);
}
/*
{
static char wholebuf[80];
+#if 1 /*JP*/
+ Strcpy(wholebuf, is_u(etmp) ? "\82 \82È\82½" : Monnam(etmp->emon));
+ return wholebuf;
+#else
Strcpy(wholebuf, is_u(etmp) ? "You" : Monnam(etmp->emon));
if (!verb || !*verb)
return wholebuf;
else
Strcat(wholebuf, vtense((char *) 0, verb));
return wholebuf;
+#endif
}
/*
/* use more specific killer if specified */
if (!killer.name[0]) {
killer.format = KILLED_BY_AN;
+/*JP
Strcpy(killer.name, "falling drawbridge");
+*/
+ Strcpy(killer.name, "\8d~\82è\82Ä\82«\82½\92µ\82Ë\8b´\82Å");
}
done(how);
/* So, you didn't die */
if (!e_survives_at(etmp, etmp->ex, etmp->ey)) {
if (enexto(&xy, etmp->ex, etmp->ey, etmp->edata)) {
+#if 0 /*JP*/
pline("A %s force teleports you away...",
Hallucination ? "normal" : "strange");
+#else
+ pline("%s\97Í\82ª\82 \82È\82½\82ð\89\93\82\82É\89^\82ñ\82¾\81D\81D\81D",
+ Hallucination ? "\95\81\92Ê\82Ì" : "\8aï\96\82È");
+#endif
teleds(xy.x, xy.y, FALSE);
}
/* otherwise on top of the drawbridge is the
if (automiss(etmp) && e_survives_at(etmp, oldx, oldy)) {
if (e_inview && (at_portcullis || IS_DRAWBRIDGE(crm->typ)))
+#if 0 /*JP*/
pline_The("%s passes through %s!",
at_portcullis ? "portcullis" : "drawbridge",
e_nam(etmp));
+#else
+ pline_The("%s\82Í%s\82ð\92Ê\82è\94²\82¯\82½\81I",
+ at_portcullis ? "\97\8e\82µ\8ai\8eq" : "\92µ\82Ë\8b´",
+ e_nam(etmp));
+#endif
if (is_u(etmp))
spoteffects(FALSE);
return;
}
if (e_missed(etmp, FALSE)) {
if (at_portcullis) {
+/*JP
pline_The("portcullis misses %s!", e_nam(etmp));
+*/
+ pline("\97\8e\82µ\8ai\8eq\82Í%s\82É\96½\92\86\82µ\82È\82©\82Á\82½\81I", e_nam(etmp));
} else {
debugpline1("The drawbridge misses %s!", e_nam(etmp));
}
}
} else {
if (crm->typ == DRAWBRIDGE_DOWN) {
+/*JP
pline("%s crushed underneath the drawbridge.",
+*/
+ pline("%s\82Í\92µ\82Ë\8b´\82Ì\89º\95~\82É\82È\82Á\82½\81D",
E_phrase(etmp, "are")); /* no jump */
e_died(etmp, e_inview ? 3 : 2, CRUSHING); /* no corpse */
return; /* Note: Beyond this point, we know we're */
debugpline0("Jump succeeds!");
} else {
if (e_inview)
+/*JP
pline("%s crushed by the falling portcullis!",
+*/
+ pline("%s\82Í\97\8e\82¿\82Ä\82«\82½\97\8e\82µ\8ai\8eq\82É\92×\82³\82ê\82½\81I",
E_phrase(etmp, "are"));
else if (!Deaf)
+/*JP
You_hear("a crushing sound.");
+*/
+ You_hear("\89½\82©\82ª\92×\82ê\82é\89¹\82ð\95·\82¢\82½\81D");
e_died(etmp, e_inview ? 3 : 2, CRUSHING);
/* no corpse */
return;
#endif
if (e_inview) {
if (is_u(etmp)) {
+/*JP
You("tumble towards the closed portcullis!");
+*/
+ You("\95Â\82Ü\82è\82©\82¯\82Ì\97\8e\82µ\8ai\8eq\82ð\82±\82ë\82Ô\82æ\82¤\82É\82·\82è\82Ê\82¯\82½\81I");
if (automiss(etmp))
+/*JP
You("pass through it!");
+*/
+ You("\92Ê\82è\82Ê\82¯\82½\81I");
else
+/*JP
pline_The("drawbridge closes in...");
+*/
+ pline_The("\92µ\82Ë\8b´\82Í\95Â\82¶\82½\81D\81D\81D");
} else
+/*JP
pline("%s behind the drawbridge.",
+*/
+ pline("%s\82Í\92µ\82Ë\8b´\82Ì\97 \82É\88Ú\93®\82µ\82½\81D",
E_phrase(etmp, "disappear"));
}
if (!e_survives_at(etmp, etmp->ex, etmp->ey)) {
killer.format = KILLED_BY_AN;
+/*JP
Strcpy(killer.name, "closing drawbridge");
+*/
+ Strcpy(killer.name, "\95Â\82¶\82Ä\82¢\82\92µ\82Ë\8b´\82É\8b·\82Ü\82ê\82Ä");
e_died(etmp, 0, CRUSHING); /* no message */
return;
}
debugpline1("%s on drawbridge square", E_phrase(etmp, "are"));
if (is_pool(etmp->ex, etmp->ey) && !e_inview)
if (!Deaf)
+/*JP
You_hear("a splash.");
+*/
+ You_hear("\83p\83V\83\83\83p\83V\83\83\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
if (e_survives_at(etmp, etmp->ex, etmp->ey)) {
if (e_inview && !is_flyer(etmp->edata)
&& !is_floater(etmp->edata))
+/*JP
pline("%s from the bridge.", E_phrase(etmp, "fall"));
+*/
+ pline("%s\82Í\8b´\82©\82ç\97\8e\82¿\82½\81D", E_phrase(etmp, "fall"));
return;
}
debugpline1("%s cannot survive on the drawbridge square",
boolean lava = is_lava(etmp->ex, etmp->ey);
if (Hallucination)
+#if 0 /*JP*/
pline("%s the %s and disappears.",
E_phrase(etmp, "drink"), lava ? "lava" : "moat");
+#else
+ pline("%s\82Í%s\82ð\88ù\82Ý\81C\8fÁ\82¦\82½\81D",
+ E_phrase(etmp, "drink"), lava ? "\97n\8aâ" : "\96x");
+#endif
else
+#if 0 /*JP*/
pline("%s into the %s.", E_phrase(etmp, "fall"),
lava ? "lava" : "moat");
+#else
+ pline("%s\82Í%s\82Ì\92\86\82É\97\8e\82¿\82½\81D", E_phrase(etmp, "fall"),
+ lava ? "\97n\8aâ" : "\96x");
+#endif
}
+#if 0 /*JP:T*/
killer.format = NO_KILLER_PREFIX;
Strcpy(killer.name, "fell from a drawbridge");
+#else
+ killer.format = KILLED_BY;
+ Strcpy(killer.name, "\92µ\82Ë\8b´\82©\82ç\97\8e\82¿\82Ä");
+#endif
e_died(etmp, e_inview ? 3 : 2, /* CRUSHING is arbitrary */
(is_pool(etmp->ex, etmp->ey))
? DROWNING
y2 = y;
get_wall_for_db(&x2, &y2);
if (cansee(x, y) || cansee(x2, y2))
+#if 0 /*JP*/
You_see("a drawbridge %s up!",
(((u.ux == x || u.uy == y) && !Underwater)
|| distu(x2, y2) < distu(x, y))
? "coming"
: "going");
+#else
+ pline("\92µ\82Ë\8b´\82ª\8fã\82ª\82Á\82Ä\82¢\82\82Ì\82ª\8c©\82¦\82½\81I");
+#endif
else /* "5 gears turn" for castle drawbridge tune */
+/*JP
You_hear("chains rattling and gears turning.");
+*/
+ You_hear("\8e\95\8eÔ\82ª\89ñ\82è\83`\83F\81[\83\93\82ª\83K\83\89\83K\83\89\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
lev1->typ = DRAWBRIDGE_UP;
lev2 = &levl[x2][y2];
lev2->typ = DBWALL;
set_entity(x2, y2, &(occupants[1])); /* do_entity for worm tail */
do_entity(&(occupants[1]));
if (OBJ_AT(x, y) && !Deaf)
+/*JP
You_hear("smashing and crushing.");
+*/
+ You_hear("\83K\83V\83\83\83\93\81C\83K\83\89\83\93\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
(void) revive_nasty(x, y, (char *) 0);
(void) revive_nasty(x2, y2, (char *) 0);
delallobj(x, y);
y2 = y;
get_wall_for_db(&x2, &y2);
if (cansee(x, y) || cansee(x2, y2))
+#if 0 /*JP*/
You_see("a drawbridge %s down!",
(distu(x2, y2) < distu(x, y)) ? "going" : "coming");
+#else
+ pline("\92µ\82Ë\8b´\82ª\89º\82ª\82é\82Ì\82ª\8c©\82¦\82½\81I");
+#endif
else /* "5 gears turn" for castle drawbridge tune */
+/*JP
You_hear("gears turning and chains rattling.");
+*/
+ You_hear("\8e\95\8eÔ\82ª\89ñ\82è\83`\83F\81[\83\93\82ª\83K\83\89\83K\83\89\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
lev1->typ = DRAWBRIDGE_DOWN;
lev2 = &levl[x2][y2];
lev2->typ = DOOR;
boolean lava = (lev1->drawbridgemask & DB_UNDER) == DB_LAVA;
if (lev1->typ == DRAWBRIDGE_UP) {
if (cansee(x2, y2))
+#if 0 /*JP*/
pline_The("portcullis of the drawbridge falls into the %s!",
lava ? "lava" : "moat");
+#else
+ pline("\92µ\82Ë\8b´\82Ì\97\8e\82µ\8ai\8eq\82ª%s\82É\97\8e\82¿\82½\81I",
+ lava ? "\97n\8aâ" : "\96x");
+#endif
else if (!Deaf)
+/*JP
You_hear("a loud *SPLASH*!");
+*/
+ You_hear("\91å\82«\82È\83o\83b\83V\83\83\81[\83\93\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81I");
} else {
if (cansee(x, y))
+#if 0 /*JP*/
pline_The("drawbridge collapses into the %s!",
lava ? "lava" : "moat");
+#else
+ pline("\92µ\82Ë\8b´\82Í%s\82É\82\82¸\82ê\97\8e\82¿\82½\81I",
+ lava ? "\97n\8aâ" : "\96x");
+#endif
else if (!Deaf)
+/*JP
You_hear("a loud *SPLASH*!");
+*/
+ You_hear("\91å\82«\82È\83o\83b\83V\83\83\81[\83\93\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81I");
}
lev1->typ = lava ? LAVAPOOL : MOAT;
lev1->drawbridgemask = 0;
if ((otmp2 = sobj_at(BOULDER, x, y)) != 0) {
obj_extract_self(otmp2);
+/*JP
(void) flooreffects(otmp2, x, y, "fall");
+*/
+ (void) flooreffects(otmp2, x, y, "\97\8e\82¿\82é");
}
} else {
if (cansee(x, y))
+/*JP
pline_The("drawbridge disintegrates!");
+*/
+ pline("\92µ\82Ë\8b´\82Í\82±\82È\82²\82È\82É\82È\82Á\82½\81I");
else
+/*JP
You_hear("a loud *CRASH*!");
+*/
+ You_hear("\91å\82«\82È\83K\83V\83\83\81[\83\93\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81I");
lev1->typ = ((lev1->drawbridgemask & DB_ICE) ? ICE : ROOM);
lev1->icedpool = ((lev1->drawbridgemask & DB_ICE) ? ICED_MOAT : 0);
}
e_inview = e_canseemon(etmp2);
if (!automiss(etmp2)) {
if (e_inview)
+/*JP
pline("%s blown apart by flying debris.",
+*/
+ pline("%s\82Í\94ò\82Ñ\8eU\82Á\82½\8a¢âI\82Ì\94j\95Ð\82ð\97\81\82Ñ\82½\81D",
E_phrase(etmp2, "are"));
killer.format = KILLED_BY_AN;
+/*JP
Strcpy(killer.name, "exploding drawbridge");
+*/
+ Strcpy(killer.name, "\92µ\82Ë\8b´\82Ì\94\9a\94\82Å");
e_died(etmp2, e_inview ? 3 : 2, CRUSHING); /*no corpse*/
} /* nothing which is vulnerable can survive this */
}
} else {
if (e_inview) {
if (!is_u(etmp1) && Hallucination)
+/*JP
pline("%s into some heavy metal!",
+*/
+ pline("%s\82Í\8fd\8bà\91®\82É\96\84\82à\82ê\82½\81I",
E_phrase(etmp1, "get"));
else
+/*JP
pline("%s hit by a huge chunk of metal!",
+*/
+ pline("\91å\82«\82È\93S\82Ì\89ò\82ª%s\82É\96½\92\86\82µ\82½\81I",
E_phrase(etmp1, "are"));
} else {
if (!Deaf && !is_u(etmp1) && !is_pool(x, y)) {
+/*JP
You_hear("a crushing sound.");
+*/
+ You_hear("\83K\83\89\83\93\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
} else {
debugpline1("%s from shrapnel", E_phrase(etmp1, "die"));
}
}
killer.format = KILLED_BY_AN;
+/*JP
Strcpy(killer.name, "collapsing drawbridge");
+*/
+ Strcpy(killer.name, "\83o\83\89\83o\83\89\82É\82È\82Á\82½\92µ\82Ë\8b´\82Å");
e_died(etmp1, e_inview ? 3 : 2, CRUSHING); /*no corpse*/
if (levl[etmp1->ex][etmp1->ey].typ == MOAT)
do_entity(etmp1);
NEARDATA struct mvitals mvitals[NUMMONS];
+#if 0 /*JP*/
NEARDATA struct c_color_names c_color_names = {
"black", "amber", "golden", "light blue", "red", "green",
"silver", "blue", "purple", "white", "orange"
};
+#else
+NEARDATA struct c_color_names c_color_names = {
+ "\8d\95\82¢", "àæàß\90F\82Ì", "\8bà\90F\82Ì", "\90\85\90F\82Ì", "\90Ô\82¢", "\97Î\90F\82Ì",
+ "\8bâ\90F\82Ì", "\90Â\82¢", "\8e\87\90F\82Ì", "\94\92\82¢", "\9eò\90F\82Ì"
+};
+#endif
struct menucoloring *menu_colorings = NULL;
const char *c_obj_colors[] = {
+#if 0 /*JP*/
"black", /* CLR_BLACK */
"red", /* CLR_RED */
"green", /* CLR_GREEN */
"bright magenta", /* CLR_BRIGHT_MAGENTA */
"bright cyan", /* CLR_BRIGHT_CYAN */
"white", /* CLR_WHITE */
+#else
+ "\8d\95\82¢", /* CLR_BLACK */
+ "\90Ô\82¢", /* CLR_RED */
+ "\97Î\90F\82Ì", /* CLR_GREEN */
+ "\92\83\90F\82Ì", /* CLR_BROWN */
+ "\90Â\82¢", /* CLR_BLUE */
+ "\83}\83[\83\93\83^\90F\82Ì", /* CLR_MAGENTA */
+ "\83V\83A\83\93\90F\82Ì", /* CLR_CYAN */
+ "\8aD\90F\82Ì", /* CLR_GRAY */
+ "\93§\96¾\82È", /* no_color */
+ "\9eò\90F\82Ì", /* CLR_ORANGE */
+ "\96¾\82é\82¢\97Î\90F\82Ì", /* CLR_BRIGHT_GREEN */
+ "\89©\90F\82Ì", /* CLR_YELLOW */
+ "\96¾\82é\82¢\90Â\90F\82Ì", /* CLR_BRIGHT_BLUE */
+ "\96¾\82é\82¢\83}\83[\83\93\83^\90F\82Ì", /* CLR_BRIGHT_MAGENTA */
+ "\96¾\82é\82¢\83V\83A\83\93\90F\82Ì", /* CLR_BRIGHT_CYAN */
+ "\94\92\82¢", /* CLR_WHITE */
+#endif
};
+#if 0 /*JP*/
struct c_common_strings c_common_strings = { "Nothing happens.",
"That's enough tries!",
"That is a silly thing to %s.",
"Never mind.",
"vision quickly clears.",
{ "the", "your" } };
+#else
+struct c_common_strings c_common_strings = { "\89½\82à\8bN\82«\82È\82©\82Á\82½\81D",
+ "\82¢\82¢\89Á\8c¸\82É\82µ\82ë\81I",
+ "%s\81H\82»\82è\82á\82Î\82©\82°\82Ä\82¢\82é\81D",
+ "\88ê\8fu\90k\82¦\82½\81D",
+ "\89½\82©",
+ "\89½\82©",
+ "\82Ü\82½\93®\82¯\82é\82æ\82¤\82É\82È\82Á\82½\81D",
+ "\82¦\81H",
+ "\8e\8b\8aE\82ª\82Í\82Á\82«\82è\82µ\82½\81D",
+ { "", "\82 \82È\82½\82Ì" } };
+#endif
/* NOTE: the order of these words exactly corresponds to the
order of oc_material values #define'd in objclass.h. */
+#if 0 /*JP*/
const char *materialnm[] = { "mysterious", "liquid", "wax", "organic",
"flesh", "paper", "cloth", "leather",
"wooden", "bone", "dragonhide", "iron",
"metal", "copper", "silver", "gold",
"platinum", "mithril", "plastic", "glass",
"gemstone", "stone" };
+#else
+const char *materialnm[] = { "\90_\94é", "\89t\8fó", "\98X", "\97L\8b@",
+ "\93÷", "\8e\86", "\95z", "\8av",
+ "\96Ø", "\8d\9c", "\97³\94ç", "\93S",
+ "\8bà\91®", "\93º", "\94\92\8bâ", "\8bà",
+ "\83v\83\89\83`\83i", "\83~\83X\83\8a\83\8b", "\83v\83\89\83X\83`\83b\83N", "\83K\83\89\83X",
+ "\95ó\90Î", "\90Î" };
+#endif
/* Vision */
NEARDATA boolean vision_full_recalc = 0;
* command.
*/
+/* 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"
#include "artifact.h"
if (sobj) {
char buf[BUFSZ];
if (youmonst.data == &mons[PM_GOLD_GOLEM]) {
+/*JP
Sprintf(buf, "You feel like a million %s!", currency(2L));
+*/
+ Strcpy(buf, "\82 \82È\82½\82Í\8bà\8e\9d\82¿\82É\82È\82Á\82½\82æ\82¤\82É\8a´\82¶\82½\81I");
} else if (hidden_gold() || money_cnt(invent))
Strcpy(buf,
+/*JP
"You feel worried about your future financial situation.");
+*/
+ "\82 \82È\82½\82Í\8f«\97\88\82Ì\8co\8dÏ\8fó\8bµ\82ª\90S\94z\82É\82È\82Á\82½\81D");
else
+/*JP
Strcpy(buf, "You feel materially poor.");
+*/
+ Strcpy(buf, "\82 \82È\82½\82Í\82Ð\82à\82¶\82³\82ð\8a´\82¶\82½\81D");
strange_feeling(sobj, buf);
}
return 1;
/* only under me - no separate display required */
if (stale)
docrt();
+/*JP
You("notice some gold between your %s.", makeplural(body_part(FOOT)));
+*/
+ You("%s\82Ì\8aÔ\82É\8bà\89Ý\82ª\97\8e\82¿\82Ä\82¢\82é\82±\82Æ\82É\8bC\82ª\82Â\82¢\82½\81D", body_part(FOOT));
return 0;
outgoldmap:
}
newsym(u.ux, u.uy);
u.uinwater = iflags.save_uinwater, u.uburied = iflags.save_uburied;
+/*JP
You_feel("very greedy, and sense gold!");
+*/
+ You("\82Ç\82ñ\97~\82É\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81C\82»\82µ\82Ä\8bà\89Ý\82Ì\88Ê\92u\82ð\8a´\92m\82µ\82½\81I");
exercise(A_WIS, TRUE);
display_nhwindow(WIN_MAP, TRUE);
docrt();
register int ct = 0, ctu = 0;
boolean confused = (Confusion || (sobj && sobj->cursed)), stale;
char oclass = confused ? POTION_CLASS : FOOD_CLASS;
+/*JP
const char *what = confused ? something : "food";
+*/
+ const char *what = confused ? "\83n\83\89\83w\83\8a" : "\90H\82×\95¨";
stale = clear_stale_map(oclass, 0);
known = stale && !confused;
if (stale) {
docrt();
+/*JP
You("sense a lack of %s nearby.", what);
+*/
+ You("%s\82ª\8c¸\82Á\82Ä\82¢\82é\82Ì\82É\8bC\82ª\82Â\82¢\82½\81D",what);
if (sobj && sobj->blessed) {
if (!u.uedibility)
+/*JP
Your("%s starts to tingle.", body_part(NOSE));
+*/
+ Your("%s\82ª\82Ò\82\82Á\82Æ\93®\82¢\82½\81D", body_part(NOSE));
u.uedibility = 1;
}
} else if (sobj) {
char buf[BUFSZ];
+#if 0 /*JP*/
Sprintf(buf, "Your %s twitches%s.", body_part(NOSE),
(sobj->blessed && !u.uedibility)
? " then starts to tingle"
: "");
+#else
+ Sprintf(buf, "\82 \82È\82½\82Ì%s\82ª\82Ð\82\82Ð\82\82Æ\93®\82¢%s\81D", body_part(NOSE),
+ (sobj->blessed && !u.uedibility)
+ ? "\82Ä\81C\82¤\82¸\82¤\82¸\82µ\82¾\82µ\82½"
+ : "\82½");
+#endif
if (sobj->blessed && !u.uedibility) {
boolean savebeginner = flags.beginner;
u.uinwater = iflags.save_uinwater, u.uburied = iflags.save_uburied;
if (sobj) {
if (sobj->blessed) {
+#if 0 /*JP*/
Your("%s %s to tingle and you smell %s.", body_part(NOSE),
u.uedibility ? "continues" : "starts", what);
+#else
+ Your("%s\82Í\82¤\82¸\82¤\82¸\82µ%s\81C%s\82Ì\93õ\82¢\82ð\9ak\82¬\82Æ\82Á\82½\81D", body_part(NOSE),
+ u.uedibility ? "\91±\82¯" : "\8en\82ß", what);
+#endif
u.uedibility = 1;
} else
+/*JP
Your("%s tingles and you smell %s.", body_part(NOSE), what);
+*/
+ Your("%s\82Í\82¤\82¸\82¤\82¸\82µ\81C%s\82Ì\93õ\82¢\82ð\9ak\82¬\82Æ\82Á\82½\81D", body_part(NOSE), what);
} else
+/*JP
You("sense %s.", what);
+*/
+ You("%s\82ð\8a´\92m\82µ\82½\81D", what);
display_nhwindow(WIN_MAP, TRUE);
exercise(A_WIS, TRUE);
docrt();
if (Hallucination || (Confusion && class == SCROLL_CLASS))
Strcpy(stuff, something);
else
+/*JP
Strcpy(stuff, class ? def_oc_syms[class].name : "objects");
+*/
+ Strcpy(stuff, class ? def_oc_syms[class].name : "\95¨\91Ì");
if (boulder && class != ROCK_CLASS)
+/*JP
Strcat(stuff, " and/or large stones");
+*/
+ Strcat(stuff, "\82Æ\8b\90\8aâ");
if (do_dknown)
for (obj = invent; obj; obj = obj->nobj)
if (!clear_stale_map(!class ? ALL_CLASSES : class, 0) && !ct) {
if (!ctu) {
if (detector)
+/*JP
strange_feeling(detector, "You feel a lack of something.");
+*/
+ strange_feeling(detector, "\82 \82È\82½\82Í\89½\82©\82ª\8c\87\96R\82µ\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
return 1;
}
+/*JP
You("sense %s nearby.", stuff);
+*/
+ You("\8bß\82\82Ì%s\82ð\8a´\92m\82µ\82½\81D", stuff);
return 0;
}
newsym(u.ux, u.uy);
u.uinwater = iflags.save_uinwater, u.uburied = iflags.save_uburied;
+/*JP
You("detect the %s of %s.", ct ? "presence" : "absence", stuff);
+*/
+ You("%s%s\81D", stuff, ct ? "\82ð\94\8c©\82µ\82½" : "\82Í\89½\82à\82È\82¢\82±\82Æ\82ª\82í\82©\82Á\82½" );
display_nhwindow(WIN_MAP, TRUE);
/*
* What are we going to do when the hero does an object detect while blind
if (!mcnt) {
if (otmp)
strange_feeling(otmp, Hallucination
+/*JP
? "You get the heebie jeebies."
+*/
+ ? "\82 \82È\82½\82Í\8bà\92¹\82Ì\89Ä\82Å\83L\83\93\83`\83\87\81[\82µ\82½\81D"
+/*JP
: "You feel threatened.");
+*/
+ : "\82 \82È\82½\82Í\8b°\95|\82Å\82¼\82\82¼\82\82µ\82½\81D");
return 1;
} else {
boolean woken = FALSE;
}
}
display_self();
+/*JP
You("sense the presence of monsters.");
+*/
+ You("\89ö\95¨\82Ì\91¶\8dÝ\82ð\9ak\82¬\82Â\82¯\82½\81D");
if (woken)
+/*JP
pline("Monsters sense the presence of you.");
+*/
+ pline("\89ö\95¨\82Í\82 \82È\82½\82Ì\91¶\8dÝ\82ð\9ak\82¬\82Â\82¯\82½\81D");
display_nhwindow(WIN_MAP, TRUE);
docrt();
if (Underwater)
if (!found) {
char buf[BUFSZ];
+/*JP
Sprintf(buf, "Your %s stop itching.", makeplural(body_part(TOE)));
+*/
+ Sprintf(buf, "\82 \82È\82½\82Ì%s\82Ì\82Þ\82¸\82Þ\82¸\82Í\82¨\82³\82Ü\82Á\82½\81D", makeplural(body_part(TOE)));
strange_feeling(sobj, buf);
return 1;
}
/* traps exist, but only under me - no separate display required */
+/*JP
Your("%s itch.", makeplural(body_part(TOE)));
+*/
+ Your("%s\82Í\82Þ\82¸\82Þ\82¸\82µ\82½\81D", makeplural(body_part(TOE)));
return 0;
outtrapmap:
cls();
newsym(u.ux, u.uy);
u.uinwater = iflags.save_uinwater, u.uburied = iflags.save_uburied;
+/*JP
You_feel("%s.", cursed_src ? "very greedy" : "entrapped");
+*/
+ You("%s\8bC\8e\9d\82É\82È\82Á\82½\81D", cursed_src ? "\82Æ\82Ä\82à\82Ç\82ñ\97~\82È" : "\82¾\82Ü\82³\82ê\82Ä\82¢\82é\82æ\82¤\82È");
/* wait for user to respond, then reset map display to normal */
display_nhwindow(WIN_MAP, TRUE);
docrt();
if (ll < 0) {
if (ll < (-8 - rn2(3)))
if (!indun)
+/*JP
return "far away";
+*/
+ return "\82Í\82é\82©\94Þ\95û\82É";
else
+/*JP
return "far below";
+*/
+ return "\82Í\82é\82©\89º\95û\82É";
else if (ll < -1)
if (!indun)
+/*JP
return "away below you";
+*/
+ return "\82¸\82Á\82Æ\89º\95û\82É";
else
+/*JP
return "below you";
+*/
+ return "\89º\95û\82É";
else if (!indun)
+/*JP
return "in the distance";
+*/
+ return "\89\93\82\82É";
else
+/*JP
return "just below";
+*/
+ return "\90^\89º\82É";
} else if (ll > 0) {
if (ll > (8 + rn2(3)))
if (!indun)
+/*JP
return "far away";
+*/
+ return "\82Í\82é\82©\94Þ\95û\82É";
else
+/*JP
return "far above";
+*/
+ return "\82Í\82é\82©\8fã\95û\82É";
else if (ll > 1)
if (!indun)
+/*JP
return "away above you";
+*/
+ return "\82¸\82Á\82Æ\8fã\95û\82É";
else
+/*JP
return "above you";
+*/
+ return "\8fã\95û\82É";
else if (!indun)
+/*JP
return "in the distance";
+*/
+ return "\89\93\82\82É";
else
+/*JP
return "just above";
+*/
+ return "\90^\8fã\82É";
} else if (!indun)
+/*JP
return "in the distance";
+*/
+ return "\89\93\82\82É";
else
+/*JP
return "near you";
+*/
+ return "\8bß\82\82É";
}
static const struct {
const char *what;
d_level *where;
} level_detects[] = {
+/*JP
{ "Delphi", &oracle_level },
+*/
+ { "\83f\83\8b\83t\83@\83C", &oracle_level },
+/*JP
{ "Medusa's lair", &medusa_level },
+*/
+ { "\83\81\83f\83\85\81[\83T\82Ì\8fZ\82Ý\82©", &medusa_level },
+/*JP
{ "a castle", &stronghold_level },
+*/
+ { "\8fé", &stronghold_level },
+/*JP
{ "the Wizard of Yendor's tower", &wiz1_level },
+*/
+ { "\83C\83F\83\93\83_\81[\82Ì\96\82\96@\8eg\82¢\82Ì\93\83", &wiz1_level },
};
void
struct obj *obj = *optr;
if (Blind) {
+/*JP
pline("Too bad you can't see %s.", the(xname(obj)));
+*/
+ pline("\82È\82ñ\82Ä\82±\82Æ\82¾\81D%s\82ð\8c©\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D", the(xname(obj)));
return;
}
oops = (rnd(20) > ACURR(A_INT) || obj->cursed);
if (oops && (obj->spe > 0)) {
switch (rnd(obj->oartifact ? 4 : 5)) {
case 1:
+/*JP
pline("%s too much to comprehend!", Tobjnam(obj, "are"));
+*/
+ pline("%s\82ð\94`\82¢\82½\82ª\89½\82Ì\82±\82Æ\82¾\82©\82³\82Á\82Ï\82è\82í\82©\82ç\82È\82©\82Á\82½\81I", xname(obj));
break;
case 2:
+/*JP
pline("%s you!", Tobjnam(obj, "confuse"));
+*/
+ pline("%s\82ð\94`\82¢\82Ä\82é\82Æ\82Ó\82ç\82Â\82¢\82Ä\82«\82½\81I", xname(obj));
make_confused((HConfusion & TIMEOUT) + (long) rnd(100), FALSE);
break;
case 3:
if (!resists_blnd(&youmonst)) {
+/*JP
pline("%s your vision!", Tobjnam(obj, "damage"));
+*/
+ pline("%s\82ð\94`\82¢\82Ä\82¢\82é\82Æ\8e\8b\8ao\82ª\82¨\82©\82µ\82\82È\82Á\82Ä\82«\82½\81I", xname(obj));
make_blinded((Blinded & TIMEOUT) + (long) rnd(100), FALSE);
if (!Blind)
Your1(vision_clears);
} else {
+/*JP
pline("%s your vision.", Tobjnam(obj, "assault"));
+*/
+ pline("%s\82ª\82 \82È\82½\82Ì\8e\8b\8aE\82É\94\97\82Á\82Ä\82«\82½\81D", xname(obj));
+/*JP
You("are unaffected!");
+*/
+ pline("\82µ\82©\82µ\81C\82 \82È\82½\82Í\89e\8b¿\82ð\8eó\82¯\82È\82©\82Á\82½\81I");
}
break;
case 4:
+/*JP
pline("%s your mind!", Tobjnam(obj, "zap"));
+*/
+ pline("%s\82ð\94`\82¢\82Ä\82¢\82é\82Æ\8cÜ\8a´\82ª\82¨\82©\82µ\82\82È\82Á\82Ä\82«\82½\81I", xname(obj));
(void) make_hallucinated(
(HHallucination & TIMEOUT) + (long) rnd(100), FALSE, 0L);
break;
case 5:
+/*JP
pline("%s!", Tobjnam(obj, "explode"));
+*/
+ pline("%s\82Í\94\9a\94\82µ\82½\81I", xname(obj));
useup(obj);
*optr = obj = 0; /* it's gone */
/* physical damage cause by the shards and force */
+/*JP
losehp(Maybe_Half_Phys(rnd(30)), "exploding crystal ball",
+*/
+ losehp(Maybe_Half_Phys(rnd(30)), "\90\85\8f»\8bÊ\82Ì\94\9a\94\82Å",
KILLED_BY_AN);
break;
}
if (Hallucination) {
if (!obj->spe) {
+/*JP
pline("All you see is funky %s haze.", hcolor((char *) 0));
+*/
+ pline("\82¨\82¨\81I\83t\83@\83\93\83L\81[\83\82\83\93\83L\81[\82È%s\82à\82â\82ª\8c©\82¦\82é\81D", hcolor((char *)0));
} else {
switch (rnd(6)) {
case 1:
+/*JP
You("grok some groovy globs of incandescent lava.");
+*/
+ You("\90\85\96å\82Ì\8c®\82ð\82à\82Á\82½\90\85\8cË\89©\96å\82ª\95Ç\82Ì\89e\82É\89B\82ê\82Ä\82¢\82é\82Ì\82ª\8c©\82¦\82½\81D");
break;
case 2:
+#if 0 /*JP:T*/
pline("Whoa! Psychedelic colors, %s!",
poly_gender() == 1 ? "babe" : "dude");
+#else
+ pline("\83\8f\81[\83I\81I\83\89\83\8a\82Á\82Ä\82é\82©\82¢\81H%s\81I",
+ poly_gender() == 1 ? "\83x\83C\83r\81[" : "\83\86\81[");
+#endif
break;
case 3:
+/*JP
pline_The("crystal pulses with sinister %s light!",
+*/
+ pline("\90\85\8f»\82Í\95s\8bg\82È%s\83p\83\8b\83X\82ð\94\82µ\82½\81I",
hcolor((char *) 0));
break;
case 4:
+/*JP
You_see("goldfish swimming above fluorescent rocks.");
+*/
+ You("\8cu\8cõ\8aâ\82Ì\8fã\82ð\8bà\8b\9b\82ª\89j\82¢\82Å\82¢\82é\82Ì\82ð\8c©\82½\81D");
break;
case 5:
+#if 0 /*JP*/
You_see(
"tiny snowflakes spinning around a miniature farmhouse.");
+#else
+ You("\8f¬\82³\82¢\90á\95Ð\82ª\83~\83j\83`\83\85\83A\82Ì\94_\89Æ\82Ì\89Æ\82Ì\82Ü\82í\82è\82ð\95\91\82Á\82Ä\82é\82Ì\82ð\8c©\82½\81D");
+#endif
break;
default:
+/*JP
pline("Oh wow... like a kaleidoscope!");
- break;
+*/
+ pline("\83\8f\81[\83I\81D\96\9c\89Ø\8b¾\82Ì\82æ\82¤\82¾\81I");
+ break;
}
consume_obj_charge(obj, TRUE);
}
/* read a single character */
if (flags.verbose)
+/*JP
You("may look for an object or monster symbol.");
+*/
+ You("\95¨\91Ì\82â\89ö\95¨\82Ì\8bL\8d\86\82ð\92T\82¹\82é\81D");
+/*JP
ch = yn_function("What do you look for?", (char *) 0, '\0');
+*/
+ ch = yn_function("\89½\82ð\92T\82µ\82Ü\82·\82©\81H", (char *)0, '\0');
/* Don't filter out ' ' here; it has a use */
if ((ch != def_monsyms[S_GHOST].sym) && index(quitchars, ch)) {
if (flags.verbose)
pline1(Never_mind);
return;
}
+/*JP
You("peer into %s...", the(xname(obj)));
+*/
+ You("%s\82ð\94`\82«\82±\82ñ\82¾\81D\81D\81D", the(xname(obj)));
nomul(-rnd(10));
multi_reason = "gazing into a crystal ball";
nomovemsg = "";
if (obj->spe <= 0)
+/*JP
pline_The("vision is unclear.");
+*/
+ pline("\89f\91\9c\82Í\95s\91N\96¾\82¾\82Á\82½\81D");
else {
int class;
int ret = 0;
break;
default: {
int i = rn2(SIZE(level_detects));
+#if 0 /*JP*/
You_see("%s, %s.", level_detects[i].what,
level_distance(level_detects[i].where));
+#else
+ You_see("%s\82ð%s\8c©\82½\81D", level_detects[i].what,
+ level_distance(level_detects[i].where));
+#endif
}
ret = 0;
break;
if (ret) {
if (!rn2(100)) /* make them nervous */
+/*JP
You_see("the Wizard of Yendor gazing out at you.");
+*/
+ You("\83C\83F\83\93\83_\81[\82Ì\96\82\96@\8eg\82¢\82ª\82 \82È\82½\82ð\82É\82ç\82ñ\82Å\82¢\82é\82Ì\82ð\8c©\82½\81D");
else
+/*JP
pline_The("vision is unclear.");
+*/
+ pline("\89f\91\9c\82Í\95s\91N\96¾\82É\82È\82Á\82½\81D");
}
}
return;
cvt_sdoor_to_door(&levl[zx][zy]); /* .typ = DOOR */
if (levl[zx][zy].doormask & D_TRAPPED) {
if (distu(zx, zy) < 3)
+/*JP
b_trapped("door", 0);
+*/
+ b_trapped("\94à", 0);
else
+#if 0 /*JP*/
Norep("You %s an explosion!",
cansee(zx, zy) ? "see" : (!Deaf ? "hear"
: "feel the shock of"));
+#else
+ Norep("\82 \82È\82½\82Í\94\9a\94%s\81I",
+ cansee(zx, zy) ? "\82ð\8c©\82½" : (!Deaf ? "\89¹\82ð\95·\82¢\82½"
+ : "\82Ì\8fÕ\8c\82\82ð\8a´\82¶\82½"));
+#endif
wake_nearto(zx, zy, 11 * 11);
levl[zx][zy].doormask = D_NODOOR;
} else
if (u.uswallow) {
if (is_animal(u.ustuck->data)) {
if (Blind)
+/*JP
pline("Its mouth opens!");
+*/
+ pline("\89½\8eÒ\82©\82Ì\8cû\82ª\8aJ\82¢\82½\81I");
else
+/*JP
pline("%s opens its mouth!", Monnam(u.ustuck));
+*/
+ pline("%s\82Í\8cû\82ð\8aJ\82¢\82½\81I", Monnam(u.ustuck));
}
expels(u.ustuck, u.ustuck->data, TRUE);
return -1;
cleared = TRUE;
}
+/*JP
You("find %s.", an(defsyms[trap_to_defsym(tt)].explanation));
+*/
+ You("%s\82ð\8c©\82Â\82¯\82½\81D", defsyms[trap_to_defsym(tt)].explanation);
if (cleared) {
display_nhwindow(WIN_MAP, TRUE); /* wait */
if (u.uswallow) {
if (!aflag)
+/*JP
pline("What are you looking for? The exit?");
+*/
+ pline("\89½\82ð\92T\82·\82ñ\82¾\82¢\81H\94ñ\8fí\8cû\81H");
} else {
int fund = (uwep && uwep->oartifact
&& spec_ability(uwep, SPFX_SEARCH)) ? uwep->spe : 0;
*/
continue;
} else {
+/*JP
You_feel("an unseen monster!");
+*/
+ You("\8c©\82¦\82È\82¢\89ö\95¨\82Ì\8bC\94z\82ð\8a´\82¶\82½\81I");
map_invisible(x, y);
}
} else if (!sensemon(mtmp))
+/*JP
You("find %s.", mtmp->mtame
+*/
+ You("%s\82ð\8c©\82Â\82¯\82½\81D", mtmp->mtame
? y_monnam(mtmp)
: a_monnam(mtmp));
return 1;
/* 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);
/* Contains code for 'd', 'D' (drop), '>', '<' (up, down) */
+/* 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"
#include "lev.h"
if (pushing) {
char whobuf[BUFSZ];
+/*JP
Strcpy(whobuf, "you");
+*/
+ Strcpy(whobuf, "\82 \82È\82½");
if (u.usteed)
Strcpy(whobuf, y_monnam(u.usteed));
+#if 0 /*JP*/
pline("%s %s %s into the %s.", upstart(whobuf),
vtense(whobuf, "push"), the(xname(otmp)), what);
+#else
+ pline("%s\82Í%s\82ð%s\82Ì\92\86\82Ö\89\9f\82µ\82±\82ñ\82¾\81D", whobuf,
+ xname(otmp), what);
+#endif
if (flags.verbose && !Blind)
+/*JP
pline("Now you can cross it!");
+*/
+ pline("\82³\82\9f\93n\82ê\82é\82¼\81I");
/* no splashing in this case */
}
}
if (!fills_up || !pushing) { /* splashing occurs */
if (!u.uinwater) {
if (pushing ? !Blind : cansee(rx, ry)) {
+#if 0 /*JP*/
There("is a large splash as %s %s the %s.",
the(xname(otmp)), fills_up ? "fills" : "falls into",
what);
+#else
+ pline("%s\82ð%s\82É%s\82Æ\91å\82«\82È\82µ\82Ô\82«\82ª\82 \82ª\82Á\82½\81D",
+ xname(otmp), what,
+ fills_up ? "\96\84\82ß\8d\9e\82Þ" : "\97\8e\82·" );
+#endif
} else if (!Deaf)
+/*JP
You_hear("a%s splash.", lava ? " sizzling" : "");
+*/
+ You_hear("%s\82Æ\8c¾\82¤\89¹\82ð\95·\82¢\82½\81D",lava ? "\83V\83\85\81[\83b" : "\83p\83V\83\83\83b");
wake_nearto(rx, ry, 40);
}
u.uinwater = 0;
docrt();
vision_full_recalc = 1;
+/*JP
You("find yourself on dry land again!");
+*/
+ You("\82¢\82Â\82Ì\82Ü\82É\82©\8a£\82¢\82½\8fê\8f\8a\82É\82¢\82½\81I");
} else if (lava && distu(rx, ry) <= 2) {
int dmg;
+/*JP
You("are hit by molten lava%c", Fire_resistance ? '.' : '!');
+*/
+ You("\82Ç\82ë\82Ç\82ë\82Ì\97n\8aâ\82Å\83_\83\81\81[\83W\82ð\8eó\82¯\82½%s", Fire_resistance ? "\81D" : "\81I");
burn_away_slime();
dmg = d((Fire_resistance ? 1 : 3), 6);
+#if 0 /*JP:T*/
losehp(Maybe_Half_Phys(dmg), /* lava damage */
"molten lava", KILLED_BY);
+#else
+ losehp(Maybe_Half_Phys(dmg), /* lava damage */
+ "\82Ç\82ë\82Ç\82ë\82Ì\97n\8aâ\82Å", KILLED_BY);
+#endif
} else if (!fills_up && flags.verbose
&& (pushing ? !Blind : cansee(rx, ry)))
+/*JP
pline("It sinks without a trace!");
+*/
+ pline("\82»\82ê\82Í\82 \82Æ\82©\82½\82à\82È\82\92¾\82ñ\82¾\81I");
}
/* boulder is now gone */
int x, y;
const char *verb;
{
+#if 1 /*JP*//* trap.c */
+ extern const char *set_you[2];
+#endif
struct trap *t;
struct monst *mtmp;
struct obj *otmp;
if (((mtmp = m_at(x, y)) && mtmp->mtrapped)
|| (u.utrap && u.ux == x && u.uy == y)) {
if (*verb)
+#if 0 /*JP*/
pline_The("boulder %s into the pit%s.",
vtense((const char *) 0, verb),
(mtmp) ? "" : " with you");
+#else
+ pline("\8aâ\82Í%s\97\8e\82µ\8c\8a\82Ö%s\81D",
+ (mtmp) ? "" : "\82 \82È\82½\82Æ\82¢\82Á\82µ\82å\82É",
+ jpast(verb));
+#endif
if (mtmp) {
if (!passes_walls(mtmp->data) && !throws_rocks(mtmp->data)) {
if (hmon(mtmp, obj, TRUE) && !is_whirly(mtmp->data))
mtmp->mtrapped = 0;
} else {
if (!Passes_walls && !throws_rocks(youmonst.data)) {
+#if 0 /*JP*/
losehp(Maybe_Half_Phys(rnd(15)),
"squished under a boulder", NO_KILLER_PREFIX);
+#else
+ losehp(Maybe_Half_Phys(rnd(15)),
+ "\8aâ\82Ì\89º\82Å\92×\82³\82ê\82Ä", KILLED_BY);
+#endif
return FALSE; /* player remains trapped */
} else
u.utrap = 0;
}
if (*verb) {
if (Blind && (x == u.ux) && (y == u.uy)) {
+/*JP
You_hear("a CRASH! beneath you.");
+*/
+ You_hear("\91«\8c³\82Å\89½\82©\82ª\8dÓ\82¯\82é\89¹\82ð\95·\82¢\82½\81D");
} else if (!Blind && cansee(x, y)) {
+#if 0 /*JP*/
pline_The("boulder %s%s.", t->tseen ? "" : "triggers and ",
t->ttyp == TRAPDOOR
? "plugs a trap door"
: t->ttyp == HOLE ? "plugs a hole"
: "fills a pit");
+#else
+ pline_The("\8aâ\82Í%s%s\81D", t->tseen ? "" : "ã©\82ð\8bN\93®\82µ\82Ä\81C",
+ t->ttyp == TRAPDOOR ? "\97\8e\82µ\94à\82ð\96\84\82ß\82½" :
+ t->ttyp == HOLE ? "\8c\8a\82ð\96\84\82ß\82½" :
+ "\97\8e\82µ\8c\8a\82ð\96\84\82ß\82½");
+#endif
} else {
+/*JP
You_hear("a boulder %s.", verb);
+*/
+ You_hear("\8aâ\82ª%s\89¹\82ð\95·\82¢\82½\81D", verb);
}
}
deltrap(t);
&& ((x == u.ux) && (y == u.uy))) {
if (!Underwater) {
if (weight(obj) > 9) {
+/*JP
pline("Splash!");
+*/
+ pline("\83o\83V\83\83\83b\81I");
} else if (Levitation || Flying) {
+/*JP
pline("Plop!");
+*/
+ pline("\83|\83`\83\83\83\93\81I");
}
}
map_background(x, y, 0);
} else if (u.ux == x && u.uy == y && (t = t_at(x, y)) != 0
&& uteetering_at_seen_pit(t)) {
if (Blind && !Deaf)
+/*JP
You_hear("%s tumble downwards.", the(xname(obj)));
+*/
+ You_hear("%s\82ª\89º\82Ì\95û\82Ö\93]\82ª\82Á\82Ä\82¢\82\89¹\82ð\95·\82¢\82½\81D", xname(obj));
else
+#if 0 /*JP*/
pline("%s %s into %s pit.", The(xname(obj)),
otense(obj, "tumble"), the_your[t->madeby_u]);
+#else
+ pline("%s\82Í%s\97\8e\82Æ\82µ\8c\8a\82É\93]\82ª\82è\82¨\82¿\82½\81D", xname(obj),
+ set_you[t->madeby_u]);
+#endif
} else if (obj->globby) {
/* Globby things like puddings might stick together */
while (obj
}
if (obj->blessed || obj->cursed) {
+#if 0 /*JP*/
There("is %s flash as %s %s the altar.",
an(hcolor(obj->blessed ? NH_AMBER : NH_BLACK)), doname(obj),
otense(obj, "hit"));
+#else
+ pline("%s\82ª\8dÕ\92d\82É\90G\82ê\82é\82Æ%s\8cõ\82Á\82½\81D",
+ doname(obj),
+ jconj_adj(hcolor(obj->blessed ? NH_AMBER : NH_BLACK)));
+#endif
if (!Hallucination)
obj->bknown = 1;
} else {
+/*JP
pline("%s %s on the altar.", Doname2(obj), otense(obj, "land"));
+*/
+ pline("%s\82ð\8dÕ\92d\82Ì\8fã\82É\92u\82¢\82½\81D", Doname2(obj));
if (obj->oclass != COIN_CLASS)
obj->bknown = 1;
}
boolean ideed = TRUE;
boolean nosink = FALSE;
+/*JP
You("drop %s down the drain.", doname(obj));
+*/
+ You("%s\82ð\94r\90\85\8cû\82É\97\8e\82µ\82½\81D", doname(obj));
obj->in_use = TRUE; /* block free identification via interrupt */
switch (obj->otyp) { /* effects that can be noticed without eyes */
case RIN_SEARCHING:
+/*JP
You("thought %s got lost in the sink, but there it is!", yname(obj));
+*/
+ You("%s\82ð\8e¸\82Á\82½\8bC\82ª\82µ\82½\82ª\81C\8bC\82Ì\82¹\82¢\82¾\82Á\82½\81I", yname(obj));
goto giveback;
case RIN_SLOW_DIGESTION:
+/*JP
pline_The("ring is regurgitated!");
+*/
+ pline("\8ew\97Ö\82Í\8bt\97¬\82µ\82½\81I");
giveback:
obj->in_use = FALSE;
dropx(obj);
trycall(obj);
return;
case RIN_LEVITATION:
+/*JP
pline_The("sink quivers upward for a moment.");
+*/
+ pline("\97¬\82µ\91ä\82Í\88ê\8fu\81C\8fã\89º\82É\90k\82¦\82½\81D");
break;
case RIN_POISON_RESISTANCE:
+/*JP
You("smell rotten %s.", makeplural(fruitname(FALSE)));
+*/
+ pline("\95\85\82Á\82½%s\82Ì\82æ\82¤\82È\93õ\82¢\82ª\82µ\82½\81D", fruitname(FALSE));
break;
case RIN_AGGRAVATE_MONSTER:
+#if 0 /*JP:T*/
pline("Several %s buzz angrily around the sink.",
Hallucination ? makeplural(rndmonnam(NULL)) : "flies");
+#else
+ pline("\90\94\95C\82Ì%s\82ª\83u\83\93\83u\83\93\97¬\82µ\91ä\82Ì\89ñ\82è\82ð\94ò\82Ñ\82Ü\82í\82Á\82½\81D",
+ Hallucination ? rndmonnam(NULL) : "\83n\83G");
+#endif
break;
case RIN_SHOCK_RESISTANCE:
+/*JP
pline("Static electricity surrounds the sink.");
+*/
+ pline("\97¬\82µ\91ä\82ª\83s\83\8a\83s\83\8a\82µ\82Í\82¶\82ß\82½\81D");
break;
case RIN_CONFLICT:
+/*JP
You_hear("loud noises coming from the drain.");
+*/
+ You_hear("\94r\90\85\8cû\82©\82ç\82Ì\91å\82«\82È\89¹\82ð\95·\82¢\82½\81D");
break;
case RIN_SUSTAIN_ABILITY: /* KMH */
+/*JP
pline_The("water flow seems fixed.");
+*/
+ pline("\90\85\82Ì\97¬\82ê\82ª\88ê\92è\82É\82È\82Á\82½\82æ\82¤\82¾\81D");
break;
case RIN_GAIN_STRENGTH:
+#if 0 /*JP*/
pline_The("water flow seems %ser now.",
(obj->spe < 0) ? "weak" : "strong");
+#else
+ pline("\90\85\82Ì\97¬\82ê\82ª%s\82È\82Á\82½\82æ\82¤\82¾\81D",
+ (obj->spe<0) ? "\8eã\82" : "\8b\82");
+#endif
break;
case RIN_GAIN_CONSTITUTION:
+#if 0 /*JP*/
pline_The("water flow seems %ser now.",
(obj->spe < 0) ? "less" : "great");
+#else
+ pline("\97¬\82ê\82é\90\85\82Ì\97Ê\82ª%s\82È\82Á\82½\82æ\82¤\82¾\81D",
+ (obj->spe < 0) ? "\8f\82È\82" : "\91½\82");
+#endif
break;
case RIN_INCREASE_ACCURACY: /* KMH */
+#if 0 /*JP*/
pline_The("water flow %s the drain.",
(obj->spe < 0) ? "misses" : "hits");
+#else
+ pline_The("\90\85\82ª\94r\90\85\8cû%s\82æ\82¤\82É\82È\82Á\82½\81D",
+ (obj->spe < 0) ? "\82©\82ç\94½\82ê\82é" : "\82ß\82ª\82¯\82Ä\97¬\82ê\82é");
+#endif
break;
case RIN_INCREASE_DAMAGE:
+#if 0 /*JP*/
pline_The("water's force seems %ser now.",
(obj->spe < 0) ? "small" : "great");
+#else
+ pline_The("\90\85\82Ì\90¨\82¢\82ª%s\82È\82Á\82½\82æ\82¤\82¾\81D",
+ (obj->spe < 0) ? "\8eã\82" : "\8b\82");
+#endif
break;
case RIN_HUNGER:
ideed = FALSE;
if (otmp != uball && otmp != uchain
&& !obj_resists(otmp, 1, 99)) {
if (!Blind) {
+#if 0 /*JP*/
pline("Suddenly, %s %s from the sink!", doname(otmp),
otense(otmp, "vanish"));
+#else
+ pline("\93Ë\91R\81C%s\82Í\97¬\82µ\91ä\82©\82ç\8fÁ\82¦\82½\81I", doname(otmp));
+#endif
ideed = TRUE;
}
delobj(otmp);
break;
case MEAT_RING:
/* Not the same as aggravate monster; besides, it's obvious. */
+/*JP
pline("Several flies buzz around the sink.");
+*/
+ pline("\90\94\95C\82Ì\83n\83G\82ª\83u\83\93\83u\83\93\97¬\82µ\91ä\82Ì\89ñ\82è\82ð\94ò\82Ñ\82Ü\82í\82Á\82½\81D");
break;
default:
ideed = FALSE;
ideed = TRUE;
switch (obj->otyp) { /* effects that need eyes */
case RIN_ADORNMENT:
+/*JP
pline_The("faucets flash brightly for a moment.");
+*/
+ pline("\8eÖ\8cû\82Í\88ê\8fu\96¾\82é\82\8bP\82¢\82½\81D");
break;
case RIN_REGENERATION:
+/*JP
pline_The("sink looks as good as new.");
+*/
+ pline("\97¬\82µ\91ä\82ª\90V\95i\82Ì\82æ\82¤\82É\82È\82Á\82½\81D");
break;
case RIN_INVISIBILITY:
+/*JP
You("don't see anything happen to the sink.");
+*/
+ pline("\97¬\82µ\91ä\82É\89½\82ª\8bN\82«\82½\82Ì\82©\8c©\82¦\82È\82©\82Á\82½\81D");
break;
case RIN_FREE_ACTION:
+/*JP
You_see("the ring slide right down the drain!");
+*/
+ pline("\8ew\97Ö\82ª\94r\90\85\8cû\82ð\82·\82é\82è\82Æ\94ð\82¯\82é\82Ì\82ð\8c©\82½\81I");
break;
case RIN_SEE_INVISIBLE:
+#if 0 /*JP*/
You_see("some %s in the sink.",
Hallucination ? "oxygen molecules" : "air");
+#else
+ pline("\97¬\82µ\91ä\82Ì\8fã\82Ì%s\82ª\8c©\82¦\82½\81D",
+ Hallucination ? "\8e_\91f\95ª\8eq" : "\8bó\8bC");
+#endif
break;
case RIN_STEALTH:
+/*JP
pline_The("sink seems to blend into the floor for a moment.");
+*/
+ pline("\88ê\8fu\81C\97¬\82µ\91ä\82ª\8f°\82É\97n\82¯\82±\82ñ\82¾\82æ\82¤\82É\8c©\82¦\82½\81D");
break;
case RIN_FIRE_RESISTANCE:
+/*JP
pline_The("hot water faucet flashes brightly for a moment.");
+*/
+ pline("\88ê\8fu\81C\94M\93\92\82Ì\8eÖ\8cû\82ª\96¾\82é\82\8bP\82¢\82½\81D");
break;
case RIN_COLD_RESISTANCE:
+/*JP
pline_The("cold water faucet flashes brightly for a moment.");
+*/
+ pline("\88ê\8fu\81C\97â\90\85\82Ì\8eÖ\8cû\82ª\96¾\82é\82\8bP\82¢\82½\81D");
break;
case RIN_PROTECTION_FROM_SHAPE_CHAN:
+/*JP
pline_The("sink looks nothing like a fountain.");
+*/
+ pline("\97¬\82µ\91ä\82Í\90ò\82Æ\82Í\82Ü\82Á\82½\82\88á\82¤\82à\82Ì\82Ì\82æ\82¤\82É\8c©\82¦\82½\81D");
break;
case RIN_PROTECTION:
+#if 0 /*JP*/
pline_The("sink glows %s for a moment.",
hcolor((obj->spe < 0) ? NH_BLACK : NH_SILVER));
+#else
+ pline("\97¬\82µ\91ä\82Í\88ê\8fu%s\8bP\82¢\82½\81D",
+ jconj_adj(hcolor((obj->spe<0) ? NH_BLACK : NH_SILVER)));
+#endif
break;
case RIN_WARNING:
+#if 0 /*JP*/
pline_The("sink glows %s for a moment.", hcolor(NH_WHITE));
+#else
+ pline("\97¬\82µ\91ä\82Í\88ê\8fu%s\8bP\82¢\82½\81D", jconj_adj(hcolor(NH_WHITE)));
+#endif
break;
case RIN_TELEPORTATION:
nosink = teleport_sink();
+/*JP
pline_The("sink %svanishes.", nosink ? "" : "momentarily ");
+*/
+ pline_The("\97¬\82µ\91ä\82Í%s\8fÁ\82¦\82½\81D", nosink ? "" : "\88ê\8fu");
break;
case RIN_TELEPORT_CONTROL:
+/*JP: "beam aboard" \82Í\83X\83^\81[\83g\83\8c\83b\83N\82Ì\81u\93]\91\97\81v*/
+/*JP
pline_The("sink looks like it is being beamed aboard somewhere.");
+*/
+ pline("\97¬\82µ\91ä\82Í\82Ç\82±\82©\82É\93]\91\97\82³\82ê\82æ\82¤\82Æ\82µ\82Ä\82¢\82é\82æ\82¤\82É\8c©\82¦\82½\81D");
break;
case RIN_POLYMORPH:
polymorph_sink();
break;
case RIN_POLYMORPH_CONTROL:
pline_The(
+/*JP
"sink momentarily looks like a regularly erupting geyser.");
+*/
+ "\97¬\82µ\91ä\82Í\88ê\8fu\8bK\91¥\90³\82µ\82\95¬\8fo\82·\82é\8aÔ\8c\87\90ò\82Ì\82æ\82¤\82É\8c©\82¦\82½\81D");
break;
}
}
if (ideed)
trycall(obj);
else if (!nosink)
+/*JP
You_hear("the ring bouncing down the drainpipe.");
+*/
+ You_hear("\8ew\97Ö\82ª\94r\90\85\8cû\82É\93\96\82½\82è\82È\82ª\82ç\97\8e\82¿\82é\89¹\82ð\95·\82¢\82½\81D");
if (!rn2(20) && !nosink) {
+/*JP
pline_The("sink backs up, leaving %s.", doname(obj));
+*/
+ pline("\97¬\82µ\91ä\82ª\8bt\97¬\82µ\82Ä\81C%s\82ª\96ß\82Á\82Ä\82«\82½\81D", doname(obj));
obj->in_use = FALSE;
dropx(obj);
} else
{
if (obj->owornmask & (W_ARMOR | W_ACCESSORY)) {
if (*word)
+/*JP
Norep("You cannot %s %s you are wearing.", word, something);
+*/
+ Norep("\82 \82È\82½\82ª\90g\82É\82Â\82¯\82Ä\82¢\82é\82à\82Ì\82ð%s\82±\82Æ\82Í\82Å\82«\82È\82¢\81D", word);
return FALSE;
}
if (obj->otyp == LOADSTONE && obj->cursed) {
implicitly forced to be 1; replicate its kludge... */
if (!strcmp(word, "throw") && obj->quan > 1L)
obj->corpsenm = 1;
+#if 0 /*JP*/
pline("For some reason, you cannot %s%s the stone%s!", word,
obj->corpsenm ? " any of" : "", plur(obj->quan));
+#else
+ pline("\82Ç\82¤\82¢\82¤\82í\82¯\82©\81C\82 \82È\82½\82Í\90Î\82ð%s\82±\82Æ\82Í\82Å\82«\82È\82¢\81I",
+ word);
+#endif
}
obj->corpsenm = 0; /* reset */
obj->bknown = 1;
}
if (obj->otyp == LEASH && obj->leashmon != 0) {
if (*word)
+/*JP
pline_The("leash is tied around your %s.", body_part(HAND));
+*/
+ pline("\95R\82Í\82 \82È\82½\82Ì%s\82É\8c\8b\82Ñ\82Â\82¯\82ç\82ê\82Ä\82¢\82é\81D", body_part(HAND));
return FALSE;
}
if (obj->owornmask & W_SADDLE) {
if (*word)
+/*JP
You("cannot %s %s you are sitting on.", word, something);
+*/
+ You("\8fæ\82Á\82Ä\82¢\82é\8aÔ\82Í%s\82±\82Æ\82Í\82Å\82«\82È\82¢\81D", word);
return FALSE;
}
return TRUE;
{
if (!obj)
return 0;
+/*JP
if (!canletgo(obj, "drop"))
+*/
+ if (!canletgo(obj, "\92u\82"))
return 0;
if (obj == uwep) {
if (welded(uwep)) {
/* doname can call s_suffix, reusing its buffer */
Strcpy(buf, s_suffix(mon_nam(u.ustuck)));
+#if 0 /*JP*/
You("drop %s into %s %s.", doname(obj), buf,
mbodypart(u.ustuck, STOMACH));
+#else
+ You("%s\82ð%s\82Ì%s\82É\92u\82¢\82½\81D", doname(obj), buf,
+ mbodypart(u.ustuck, STOMACH));
+#endif
}
} else {
if ((obj->oclass == RING_CLASS || obj->otyp == MEAT_RING)
if (levhack)
ELevitation = W_ART; /* other than W_ARTI */
if (flags.verbose)
+/*JP
You("drop %s.", doname(obj));
+*/
+ You("%s\82ð\92u\82¢\82½\81D", doname(obj));
/* Ensure update when we drop gold objects */
if (obj->oclass == COIN_CLASS)
context.botl = 1;
return 1;
}
if (!IS_ALTAR(levl[u.ux][u.uy].typ) && flags.verbose)
+/*JP
You("drop %s.", doname(obj));
+*/
+ You("%s\82ð\92u\82¢\82½\81D", doname(obj));
}
dropx(obj);
return 1;
if (obj == uswapwep)
setuswapwep((struct obj *) 0);
+/*JP
if (!u.uswallow && flooreffects(obj, u.ux, u.uy, "drop"))
+*/
+ if (!u.uswallow && flooreffects(obj,u.ux,u.uy,"\97\8e\82¿\82é"))
return;
/* uswallow check done by GAN 01/29/87 */
if (u.uswallow) {
all_categories = (retry == -2);
} else if (flags.menu_style == MENU_FULL) {
all_categories = FALSE;
+/*JP
n = query_category("Drop what type of items?", invent,
+*/
+ n = query_category("\82Ç\82Ì\8eí\97Þ\82Ì\83A\83C\83e\83\80\82ð\92u\82«\82Ü\82·\82©\81H", invent,
UNPAID_TYPES | ALL_TYPES | CHOOSE_ALL | BUC_BLESSED
| BUC_CURSED | BUC_UNCURSED | BUC_UNKNOWN,
&pick_list, PICK_ANY);
bypass_objlist(invent, FALSE);
} else {
/* should coordinate with perm invent, maybe not show worn items */
+/*JP
n = query_objlist("What would you like to drop?", invent,
+*/
+ n = query_objlist("\82Ç\82ê\82ð\92u\82«\82Ü\82·\82©\81H", invent,
USE_INVLET | INVORDER_SORT, &pick_list, PICK_ANY,
all_categories ? allow_all : allow_category);
if (n > 0) {
ladder_down =
(glyph_to_cmap(levl[u.ux][u.uy].glyph) == S_dnladder);
}
+#if 0 /*JP*/
floating_above(stairs_down ? "stairs" : ladder_down
? "ladder"
: surface(u.ux, u.uy));
+#else
+ floating_above(stairs_down ? "\8aK\92i" : ladder_down
+ ? "\82Í\82µ\82²"
+ : surface(u.ux, u.uy));
+#endif
return 0; /* didn't move */
}
if (!stairs_down && !ladder_down) {
if (flags.autodig && !context.nopick && uwep && is_pick(uwep)) {
return use_pick_axe2(uwep);
} else {
+/*JP
You_cant("go down here.");
+*/
+ pline("\82±\82±\82Å\82Í\8d~\82è\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D");
return 0;
}
}
}
if (u.ustuck) {
+#if 0 /*JP*/
You("are %s, and cannot go down.",
!u.uswallow ? "being held" : is_animal(u.ustuck->data)
? "swallowed"
: "engulfed");
+#else
+ You("%s\8d~\82è\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D",
+ !u.uswallow ? "\82Â\82©\82Ü\82¦\82ç\82ê\82Ä\82¢\82Ä" : is_animal(u.ustuck->data)
+ ? "\88ù\82Ý\8d\9e\82Ü\82ê\82Ä\82¢\82Ä"
+ : "\8aª\82«\8d\9e\82Ü\82ê\82Ä\82¢\82Ä");
+#endif
return 1;
}
if (on_level(&valley_level, &u.uz) && !u.uevent.gehennom_entered) {
+/*JP
You("are standing at the gate to Gehennom.");
+*/
+ You("\83Q\83w\83i\82Ì\96å\82Ì\91O\82É\97§\82Á\82Ä\82¢\82é\81D");
+/*JP
pline("Unspeakable cruelty and harm lurk down there.");
+*/
+ pline("\8c¾\97t\82É\82·\82ç\82Å\82«\82È\82¢\8ec\8bs\82Æ\8eS\8e\96\82ª\82±\82Ì\89º\82É\90ö\82ñ\82Å\82¢\82é\81D");
+/*JP
if (yn("Are you sure you want to enter?") != 'y')
+*/
+ if (yn("\96{\93\96\82É\93ü\82è\82Ü\82·\82©\81H") != 'y')
return 0;
else
+/*JP
pline("So be it.");
+*/
+ pline("\82È\82ç\8dD\82«\82É\82·\82ê\82Î\82æ\82¢\81D");
u.uevent.gehennom_entered = 1; /* don't ask again */
}
if (!next_to_u()) {
+/*JP
You("are held back by your pet!");
+*/
+ You("\83y\83b\83g\82É\88ø\82«\82à\82Ç\82³\82ê\82½\81I");
return 0;
}
if (trap)
+#if 0 /*JP*/
You("%s %s.", Flying ? "fly" : locomotion(youmonst.data, "jump"),
trap->ttyp == HOLE ? "down the hole" : "through the trap door");
+#else
+ You("%s\81D",
+ trap->ttyp == HOLE ? "\8c\8a\82ð\8d~\82è\82½" : "\97\8e\82µ\94à\82ð\92Ê\82è\94²\82¯\82½");
+#endif
if (trap && Is_stronghold(&u.uz)) {
goto_hell(FALSE, TRUE);
&& (!xupladder || u.ux != xupladder || u.uy != yupladder)
&& (!sstairs.sx || u.ux != sstairs.sx || u.uy != sstairs.sy
|| !sstairs.up)) {
+/*JP
You_cant("go up here.");
+*/
+ You("\82±\82±\82Å\82Í\8fã\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D");
return 0;
}
if (stucksteed(TRUE)) {
return 0;
}
if (u.ustuck) {
+#if 0 /*JP*/
You("are %s, and cannot go up.",
!u.uswallow ? "being held" : is_animal(u.ustuck->data)
? "swallowed"
: "engulfed");
+#else
+ You("%s\8fã\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D",
+ !u.uswallow ? "\82Â\82©\82Ü\82¦\82ç\82ê\82Ä\82¢\82Ä" : is_animal(u.ustuck->data)
+ ? "\88ù\82Ý\8d\9e\82Ü\82ê\82Ä\82¢\82Ä"
+ : "\8aª\82«\8d\9e\82Ü\82ê\82Ä\82¢\82Ä");
+#endif
return 1;
}
if (near_capacity() > SLT_ENCUMBER) {
/* No levitation check; inv_weight() already allows for it */
+#if 0 /*JP*/
Your("load is too heavy to climb the %s.",
levl[u.ux][u.uy].typ == STAIRS ? "stairs" : "ladder");
+#else
+ You("\95¨\82ð\8e\9d\82¿\82·\82¬\82Ä%s\82ð\8fã\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D",
+ levl[u.ux][u.uy].typ == STAIRS ? "\8aK\92i" : "\82Í\82µ\82²");
+#endif
return 1;
}
if (ledger_no(&u.uz) == 1) {
+/*JP
if (yn("Beware, there will be no return! Still climb?") != 'y')
+*/
+ if (yn("\8bC\82ð\82Â\82¯\82ë\81C\96ß\82ê\82È\82¢\82¼\81I\82»\82ê\82Å\82à\8fã\82é\81H") != 'y')
return 0;
}
if (!next_to_u()) {
+/*JP
You("are held back by your pet!");
+*/
+ You("\83y\83b\83g\82É\88ø\82«\82à\82Ç\82³\82ê\82½\81I");
return 0;
}
at_ladder = (boolean) (levl[u.ux][u.uy].typ == LADDER);
if (!savelev(fd, ledger_no(&u.uz), COUNT_SAVE)) {
(void) nhclose(fd);
delete_levelfile(ledger_no(&u.uz));
+/*JP
pline("NetHack is out of disk space for making levels!");
+*/
+ pline("\90V\82µ\82¢\83\8c\83x\83\8b\82ð\8dì\82é\82½\82ß\82Ì\83f\83B\83X\83N\97e\97Ê\82ª\91«\82è\82È\82¢\81I");
+/*JP
You("can save, quit, or continue playing.");
+*/
+ You("\83Z\81[\83u\82·\82é\82©\8fI\97¹\82·\82é\82©\81C\82 \82é\82¢\82Í\83v\83\8c\83C\82ð\91±\8ds\82Å\82«\82é\81D");
return -1;
}
#endif
new_ledger = ledger_no(newlevel);
+/*JP
pline("A mysterious force momentarily surrounds you...");
+*/
+ pline("\88ê\8fu\8aï\96\82È\97Í\82ª\82 \82È\82½\82ð\95ï\82ñ\82¾\81D\81D\81D");
if (on_level(newlevel, &u.uz)) {
(void) safe_teleds(FALSE);
(void) next_to_u();
* (s)he has been given the go-ahead by the leader.
*/
if (on_level(&u.uz, &qstart_level) && !newdungeon && !ok_to_quest()) {
+/*JP
pline("A mysterious force prevents you from descending.");
+*/
+ pline("\8aï\96\82È\97Í\82ª\82 \82È\82½\82ª\8d~\82è\82é\82Ì\82ð\96W\82°\82½\81D");
return;
}
u_on_dnstairs();
/* you climb up the {stairs|ladder};
fly up the stairs; fly up along the ladder */
+#if 0 /*JP*/
pline("%s %s up%s the %s.",
(Punished && !Levitation) ? "With great effort you" : "You",
Flying ? "fly" : "climb",
(Flying && at_ladder) ? " along" : "",
at_ladder ? "ladder" : "stairs");
+#else
+ pline("%s%s\82ð\8fã\82Á\82½\81D",
+ (Punished && !Levitation) ? "\82â\82Á\82Æ\82±\82³" : "",
+ at_ladder ? "\82Í\82µ\82²" : "\8aK\92i");
+#endif
} else { /* down */
if (at_ladder)
u_on_newpos(xupladder, yupladder);
; /* stayed on same level? (no transit effects) */
} else if (Flying) {
if (flags.verbose)
+#if 0 /*JP*/
You("fly down %s.",
at_ladder ? "along the ladder" : "the stairs");
+#else
+ You("%s\94ò\82ñ\82Å\8d~\82è\82½\81D",
+ at_ladder ? "\82Í\82µ\82²\82É\89\88\82Á\82Ä" : "\8aK\92i\82ð");
+#endif
} else if (near_capacity() > UNENCUMBERED || Punished
|| Fumbling) {
+/*JP
You("fall down the %s.", at_ladder ? "ladder" : "stairs");
+*/
+ You("%s\82ð\93]\82°\97\8e\82¿\82½\81D", at_ladder ? "\82Í\82µ\82²" : "\8aK\92i");
if (Punished) {
drag_down();
ballrelease(FALSE);
dismount_steed(DISMOUNT_FELL);
else
losehp(Maybe_Half_Phys(rnd(3)),
+/*JP
at_ladder ? "falling off a ladder"
+*/
+ at_ladder ? "\82Í\82µ\82²\82©\82ç\97\8e\82¿\82Ä"
+/*JP
: "tumbling down a flight of stairs",
+*/
+ : "\8aK\92i\82ð\93]\82°\97\8e\82¿\82Ä",
KILLED_BY);
+/*JP
selftouch("Falling, you");
+*/
+ selftouch("\97\8e\82¿\82È\82ª\82ç\81C\82 \82È\82½\82Í");
} else { /* ordinary descent */
if (flags.verbose)
+#if 0 /*JP*/
You("%s.", at_ladder ? "climb down the ladder"
: "descend the stairs");
+#else
+ You("%s\82ð\8d~\82è\82½\81D", at_ladder ? "\82Í\82µ\82²"
+ : "\8aK\92i");
+#endif
}
}
} else { /* trap door or level_tele or In_endgame */
if (falling) {
if (Punished)
ballfall();
+/*JP
selftouch("Falling, you");
+*/
+ selftouch("\97\8e\82¿\82È\82ª\82ç\81C\82 \82È\82½\82Í");
}
}
/* Check whether we just entered Gehennom. */
if (!In_hell(&u.uz0) && Inhell) {
if (Is_valley(&u.uz)) {
+/*JP
You("arrive at the Valley of the Dead...");
+*/
+ You("\8e\80\82Ì\92J\82É\93\9e\92B\82µ\82½\81D\81D\81D");
+/*JP
pline_The("odor of burnt flesh and decay pervades the air.");
+*/
+ pline("\8fÅ\82°\82é\8e\80\93÷\82â\95\85\93÷\82Ì\88«\8fL\82ª\82½\82¾\82æ\82Á\82Ä\82¢\82é\81D");
#ifdef MICRO
display_nhwindow(WIN_MESSAGE, FALSE);
#endif
+/*JP
You_hear("groans and moans everywhere.");
+*/
+ You_hear("\82»\82±\82©\82µ\82±\82©\82ç\82Ì\82¤\82ß\82«\90º\82â\82¤\82È\82è\90º\82ð\95·\82¢\82½\81D");
} else
+/*JP
pline("It is hot here. You smell smoke...");
+*/
+ pline("\82±\82±\82Í\8f\8b\82¢\81D\89\8c\82Ì\93õ\82¢\82ª\82·\82é\81D\81D\81D");
u.uachieve.enter_gehennom = 1;
}
/* in case we've managed to bypass the Valley's stairway down */
if (familiar) {
static const char *const fam_msgs[4] = {
+/*JP
"You have a sense of deja vu.",
+*/
+ "\8aù\8e\8b\8a´\82É\82¨\82»\82í\82ê\82½\81D",
+/*JP
"You feel like you've been here before.",
+*/
+ "\91O\82É\82±\82±\82É\97\88\82½\82±\82Æ\82ª\82 \82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D",
+#if 0 /*JP*/
"This place %s familiar...", 0 /* no message */
+#else
+ "\82±\82Ì\8fê\8f\8a\82Í\89ù\82©\82µ\82¢\81D\81D\81D", 0 /* no message */
+#endif
};
static const char *const halu_fam_msgs[4] = {
+/*JP
"Whoa! Everything %s different.",
+*/
+ "\83I\83\8f\83b\81I\82Ü\82Á\82½\82\95Ï\82í\82Á\82¿\82Ü\82Á\82Ä\82é\81D",
+/*JP
"You are surrounded by twisty little passages, all alike.",
+*/
+ "\82 \82È\82½\82Í\82Ü\82ª\82è\82\82Ë\82Á\82½\92Ê\98H\82É\82©\82±\82Ü\82ê\82Ä\82¢\82½\81D\81D\81D",
+#if 0 /*JP*/
"Gee, this %s like uncle Conan's place...", 0 /* no message */
+#else
+ "\83Q\81[\81I\83R\83i\83\93\82¨\82¶\82³\82ñ\82Ì\8fê\8f\8a\82É\8e\97\82Ä\82¢\82é\81D\81D\81D", 0 /* no message */
+#endif
};
const char *mesg;
char buf[BUFSZ];
mesg = halu_fam_msgs[which];
else
mesg = fam_msgs[which];
+#if 0 /*JP:\93ú\96{\8cê\82Å\82Í\82»\82±\82Ü\82Å\82µ\82È\82¢*/
if (mesg && index(mesg, '%')) {
Sprintf(buf, mesg, !Blind ? "looks" : "seems");
mesg = buf;
}
+#endif
if (mesg)
pline1(mesg);
}
onquest(); /* might be reaching locate|goal level */
} else if (In_V_tower(&u.uz)) {
if (newdungeon && In_hell(&u.uz0))
+/*JP
pline_The("heat and smoke are gone.");
+*/
+ pline("\94M\82Æ\89\8c\82è\82Í\8fÁ\82¦\82³\82Á\82½\81D");
} else if (Is_knox(&u.uz)) {
/* alarm stops working once Croesus has died */
if (new || !mvitals[PM_CROESUS].died) {
+/*JP
You("have penetrated a high security area!");
+*/
+ You("\8dÅ\8d\82\8b@\96§\82Ì\8fê\8f\8a\82Ö\93¥\82Ý\8d\9e\82ñ\82¾\81I");
+/*JP
pline("An alarm sounds!");
+*/
+ pline("\8cx\95ñ\82ª\82È\82Á\82½\81I");
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
if (DEADMONSTER(mtmp))
continue;
}
} else {
if (new && Is_rogue_level(&u.uz))
+/*JP
You("enter what seems to be an older, more primitive world.");
+*/
+ You("\8cÃ\82\82³\82\81C\82¸\82¢\82Ô\82ñ\92P\8f\83\82È\90¢\8aE\82É\8c©\82¦\82é\95\94\89®\82É\93ü\82Á\82½\81D");
/* main dungeon message from your quest leader */
+/*JP
if (!In_quest(&u.uz0) && at_dgn_entrance("The Quest")
+*/
+ if (!In_quest(&u.uz0) && at_dgn_entrance("\83N\83G\83X\83g")
&& !(u.uevent.qcompleted || u.uevent.qexpelled
|| quest_status.leader_is_dead)) {
if (!u.uevent.qcalled) {
is_uwep = (corpse == uwep);
chewed = (corpse->oeaten != 0);
Strcpy(cname,
+/*JP
corpse_xname(corpse, chewed ? "bite-covered" : (const char *) 0,
+*/
+ corpse_xname(corpse, chewed ? "\8e\95\8c^\82Ì\82Â\82¢\82½" : (const char *) 0,
CXN_SINGULAR));
mcarry = (where == OBJ_MINVENT) ? corpse->ocarry : 0;
switch (where) {
case OBJ_INVENT:
if (is_uwep)
+/*JP
pline_The("%s writhes out of your grasp!", cname);
+*/
+ pline_The("%s\82Í\82à\82ª\82¢\82½\81I", cname);
else
+/*JP
You_feel("squirming in your backpack!");
+*/
+ pline("\94w\95\89\82¢\91Ü\82Å\89½\82©\82ª\82à\82ª\82¢\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81I");
break;
case OBJ_FLOOR:
if (cansee(mtmp->mx, mtmp->my))
+#if 0 /*JP*/
pline("%s rises from the dead!",
chewed ? Adjmonnam(mtmp, "bite-covered")
: Monnam(mtmp));
+#else
+ pline("%s\82ª\91h\82Á\82½\81I",
+ chewed ? Adjmonnam(mtmp, "\8e\95\8c^\82Ì\82Â\82¢\82½")
+ : Monnam(mtmp));
+#endif
break;
case OBJ_MINVENT: /* probably a nymph's */
if (cansee(mtmp->mx, mtmp->my)) {
if (canseemon(mcarry))
+#if 0 /*JP*/
pline("Startled, %s drops %s as it revives!",
mon_nam(mcarry), an(cname));
+#else
+ pline("%s\82ª\90¶\82«\82©\82¦\82Á\82½\82Ì\82É\82Ñ\82Á\82\82è\82µ\82Ä\81C%s\82Í%s\82ð\97\8e\82µ\82½\81I",
+ cname, mon_nam(mcarry), cname);
+#endif
else
+#if 0 /*JP*/
pline("%s suddenly appears!",
chewed ? Adjmonnam(mtmp, "bite-covered")
: Monnam(mtmp));
+#else
+ pline("%s\82ª\93Ë\91R\8c»\82í\82ê\82½\81I",
+ chewed ? Adjmonnam(mtmp, "\8e\95\8c^\82Ì\82Â\82¢\82½")
+ : Monnam(mtmp));
+#endif
}
break;
case OBJ_CONTAINED: {
if (container_where == OBJ_MINVENT && cansee(mtmp->mx, mtmp->my)
&& mcarry && canseemon(mcarry) && container) {
+/*JP
pline("%s writhes out of %s!", Amonnam(mtmp),
+*/
+ pline("%s\82Í%s\82©\82ç\93¦\82ê\82æ\82¤\82Æ\82à\82ª\82¢\82½\81I", Amonnam(mtmp),
yname(container));
} else if (container_where == OBJ_INVENT && container) {
Strcpy(sackname, an(xname(container)));
+#if 0 /*JP*/
pline("%s %s out of %s in your pack!",
Blind ? Something : Amonnam(mtmp),
locomotion(mtmp->data, "writhes"), sackname);
+#else
+ pline("%s\82Í\91Ü\82Ì\92\86\82Å%s\82©\82ç\93¦\82ê\82æ\82¤\82Æ\82à\82ª\82¢\82½\81I",
+ Blind ? Something : Amonnam(mtmp),
+ sackname);
+#endif
} else if (container_where == OBJ_FLOOR && container
&& cansee(mtmp->mx, mtmp->my)) {
Strcpy(sackname, an(xname(container)));
+/*JP
pline("%s escapes from %s!", Amonnam(mtmp), sackname);
+*/
+ pline("%s\82Í%s\82©\82ç\93¦\82ê\82½\81I", Amonnam(mtmp), sackname);
}
break;
}
if (!rn2(3))
break;
} else { /* rot this corpse away */
+/*JP
You_feel("%sless hassled.", is_rider(mptr) ? "much " : "");
+*/
+ You("\94Y\82Ý\8e\96\82ª%s\8c¸\82Á\82½\8bC\82ª\82µ\82½\81D", is_rider(mptr) ? "\82Æ\82Ä\82à" : "");
action = ROT_CORPSE;
when = 250L - (monstermoves - body->age);
if (when < 1L)
else
Blinded -= 4;
if (!Blinded) {
+/*JP
pline("You've got the glop off.");
+*/
+ You("%s\82©\82ç\83l\83o\83l\83o\82ª\82Æ\82ê\82½\81D", body_part(FACE));
u.ucreamed = 0;
if (!gulp_blnd_check()) {
Blinded = 1;
}
return 0;
} else if (!u.ucreamed) {
+/*JP
Your("%s feels clean now.", body_part(FACE));
+*/
+ Your("%s\82Í\82«\82ê\82¢\82É\82È\82Á\82½\81D", body_part(FACE));
return 0;
}
return 1; /* still busy */
if (u.ucreamed) {
static NEARDATA char buf[39];
+/*JP
Sprintf(buf, "wiping off your %s", body_part(FACE));
+*/
+ Sprintf(buf, "%s\82ð\90@\82¢\82Ä\82¢\82é", body_part(FACE));
set_occupation(wipeoff, buf, 0);
/* Not totally correct; what if they change back after now
* but before they're finished wiping?
*/
return 1;
}
+/*JP
Your("%s is already clean.", body_part(FACE));
+*/
+ Your("%s\82Í\89\98\82ê\82Ä\82¢\82È\82¢\81D", body_part(FACE));
return 1;
}
if (!u.usteed) {
const char *legs = body_part(LEG);
+#if 0 /*JP*/
if ((EWounded_legs & BOTH_SIDES) == BOTH_SIDES)
legs = makeplural(legs);
/* this used to say "somewhat better" but that was
misleading since legs are being fully healed */
Your("%s %s better.", legs, vtense(legs, "feel"));
+#else
+ Your("%s\82Í\89ñ\95\9c\82µ\82½\81D", body_part(LEG));
+#endif
}
HWounded_legs = EWounded_legs = 0;
/* 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_DCL char *NDECL(nextmbuf);
boolean doing_what_is;
winid tmpwin = create_nhwindow(NHW_MENU);
+#if 0 /*JP*/
Sprintf(sbuf, "Use [%c%c%c%c] to move the cursor to %s.", /* hjkl */
+#else
+ Sprintf(sbuf, "[%c%c%c%c]\82Å%s\82Ö\88Ú\93®\82Å\82«\82é\81D",
+#endif
Cmd.move_W, Cmd.move_S, Cmd.move_N, Cmd.move_E, goal);
putstr(tmpwin, 0, sbuf);
+/*JP
putstr(tmpwin, 0, "Use [HJKL] to move the cursor 8 units at a time.");
+*/
+ putstr(tmpwin, 0, "[HJKL]\82Å\88ê\93x\82É8\95à\88Ú\93®\82Å\82«\82é\81D");
+/*JP
putstr(tmpwin, 0, "Or enter a background symbol (ex. <).");
+*/
+ putstr(tmpwin, 0, "\94w\8ci\82Ì\83V\83\93\83{\83\8b\82ð\93ü\97Í\82·\82é\82Æ\82»\82Ì\88Ê\92u\82É\88Ú\93®\82·\82é(\97á\81F<)\81D");
+/*JP
putstr(tmpwin, 0, "Use @ to move the cursor on yourself.");
+*/
+ putstr(tmpwin, 0, "@\82Å\8e©\95ª\8e©\90g\82Ì\88Ê\92u\82É\88Ú\93®\82·\82é\81D");
if (getpos_hilitefunc != NULL)
+/*JP
putstr(tmpwin, 0, "Use $ to display valid locations.");
+*/
+ putstr(tmpwin, 0, "$\82Å\89Â\94\\82È\88Ê\92u\82ð\95\\8e¦\82·\82é\81D");
+/*JP
putstr(tmpwin, 0, "Use # to toggle automatic description.");
+*/
+ putstr(tmpwin, 0, "#\82Å\90à\96¾\82Ì\8e©\93®\95\\8e¦\82ð\90Ø\82è\91Ö\82¦\82é\81D");
/* disgusting hack; the alternate selection characters work for any
getpos call, but they only matter for dowhatis (and doquickwhatis) */
doing_what_is = (goal == what_is_an_unknown_object);
+#if 0 /*JP:T*/
Sprintf(sbuf, "Type a .%s when you are at the right place.",
doing_what_is ? " or , or ; or :" : "");
+#else
+ Sprintf(sbuf, "[.]%s\82Å\8c\88\92è\81D",
+ doing_what_is ? "[,][;][:]" : "");
+#endif
putstr(tmpwin, 0, sbuf);
if (!force)
+/*JP
putstr(tmpwin, 0, "Type Space or Escape when you're done.");
+*/
+ putstr(tmpwin, 0, "\83X\83y\81[\83X\82Ü\82½\82Í\83G\83X\83P\81[\83v\82Å\8fI\97¹\81D");
putstr(tmpwin, 0, "");
display_nhwindow(tmpwin, TRUE);
destroy_nhwindow(tmpwin);
if (!goal)
goal = "desired location";
if (flags.verbose) {
+/*JP
pline("(For instructions type a ?)");
+*/
+ pline("(?\82Å\83w\83\8b\83v)");
msg_given = TRUE;
}
cx = ccp->x;
} /* column */
} /* row */
} /* pass */
+/*JP
pline("Can't find dungeon feature '%c'.", c);
+*/
+ pline("'%c'\81H", c);
msg_given = TRUE;
goto nxtc;
} else {
char note[QBUFSZ];
if (!force)
+/*JP
Strcpy(note, "aborted");
+*/
+ Strcpy(note, "\92\86\92f\82µ\82½");
else
+#if 0 /*JP*/
Sprintf(note, "use %c%c%c%c or .", /* hjkl */
+#else
+ Sprintf(note, "%c%c%c%c\82Å\88Ú\93®\81C.\82Å\8fI\97¹", /* hjkl */
+#endif
Cmd.move_W, Cmd.move_S, Cmd.move_N,
Cmd.move_E);
+/*JP
pline("Unknown direction: '%s' (%s).", visctrl((char) c),
+*/
+ pline("\82»\82Ì\95û\8cü\82Í\82È\82¢\81F'%s' (%s)", visctrl((char) c),
note);
msg_given = TRUE;
} /* k => matching */
} /* !quitchars */
if (force)
goto nxtc;
+/*JP
pline("Done.");
+*/
+ pline("\88È\8fã\81D");
msg_given = FALSE; /* suppress clear */
cx = -1;
cy = 0;
/* dogname & catname are PL_PSIZ arrays; object names have same limit */
lth = (name && *name) ? ((int) strlen(name) + 1) : 0;
if (lth > PL_PSIZ) {
+#if 1 /*JP*/
+ if (is_kanji2(buf, lth - 1))
+ --lth;
+#endif
lth = PL_PSIZ;
name = strncpy(buf, name, PL_PSIZ - 1);
buf[PL_PSIZ - 1] = '\0';
char qbuf[QBUFSZ];
if (Hallucination) {
+/*JP
You("would never recognize it anyway.");
+*/
+ You("\82»\82ê\82ð\94F\8e¯\82Å\82«\82È\82¢\81D");
return;
}
cc.x = u.ux;
cc.y = u.uy;
+/*JP
if (getpos(&cc, FALSE, "the monster you want to name") < 0
+*/
+ if (getpos(&cc, FALSE, "\82 \82È\82½\82ª\96¼\82Ã\82¯\82½\82¢\89ö\95¨") < 0
|| (cx = cc.x) < 0)
return;
cy = cc.y;
if (u.usteed && canspotmon(u.usteed))
mtmp = u.usteed;
else {
+/*JP
pline("This %s creature is called %s and cannot be renamed.",
+*/
+ pline("\82±\82Ì%s\90¶\82«\95¨\82Í%s\82Æ\8cÄ\82Î\82ê\82Ä\82¢\82Ä\81C\96¼\91O\82Í\95Ï\8dX\82Å\82«\82È\82¢\81D",
beautiful(), plname);
return;
}
|| mtmp->mundetected || mtmp->m_ap_type == M_AP_FURNITURE
|| mtmp->m_ap_type == M_AP_OBJECT
|| (mtmp->minvis && !See_invisible)))) {
+/*JP
pline("I see no monster there.");
+*/
+ pline("\82»\82±\82É\89ö\95¨\82Í\82¢\82È\82¢\81D");
return;
}
/* special case similar to the one in lookat() */
+/*JP
Sprintf(qbuf, "What do you want to call %s?",
+*/
+ Sprintf(qbuf, "%s\82ð\89½\82Æ\8cÄ\82Ñ\82Ü\82·\82©\81H",
distant_monnam(mtmp, ARTICLE_THE, monnambuf));
getlin(qbuf, buf);
if (!*buf || *buf == '\033')
shopkeepers, temple priests and other minions use alternate
name formatting routines which ignore any user-supplied name */
if (mtmp->data->geno & G_UNIQ)
+/*JP
pline("%s doesn't like being called names!", upstart(monnambuf));
+*/
+ pline("%s\82Í\82 \82¾\96¼\82Å\8cÄ\82Î\82ê\82é\82Ì\82ª\8c\99\82¢\82È\82æ\82¤\82¾\81I", Monnam(mtmp));
else if (mtmp->isshk
&& !(Deaf || mtmp->msleeping || !mtmp->mcanmove
|| mtmp->data->msound <= MS_ANIMAL))
+/*JP
verbalize("I'm %s, not %s.", shkname(mtmp), buf);
+*/
+ verbalize("\8e\84\82Í%s\82¾\81C%s\82Å\82Í\82È\82¢\81D", shkname(mtmp), buf);
else if (mtmp->ispriest || mtmp->isminion || mtmp->isshk)
+/*JP
pline("%s will not accept the name %s.", upstart(monnambuf), buf);
+*/
+ pline("%s\82Í%s\82Æ\82¢\82¤\96¼\91O\82ð\8eó\82¯\82¢\82ê\82È\82©\82Á\82½\81D", monnambuf, buf);
else
(void) christen_monst(mtmp, buf);
}
char *bufp, buf[BUFSZ], bufcpy[BUFSZ], qbuf[QBUFSZ];
const char *aname;
short objtyp;
+#if 1 /*JP*/
+ boolean is_japanese = FALSE;
+#endif
/* Do this now because there's no point in even asking for a name */
if (obj->otyp == SPE_NOVEL) {
+/*JP
pline("%s already has a published name.", Ysimple_name2(obj));
+*/
+ pline("%s\82É\82Í\82·\82Å\82É\8fo\94Å\8e\9e\82Ì\96¼\91O\82ª\82 \82é\81D", Ysimple_name2(obj));
return;
}
+#if 0 /*JP*/
Sprintf(qbuf, "What do you want to name %s ",
is_plural(obj) ? "these" : "this");
(void) safe_qbuf(qbuf, qbuf, "?", obj, xname, simpleonames, "item");
+#else
+ (void) safe_qbuf(qbuf, "", "\82ð\89½\82Æ\96¼\82Ã\82¯\82Ü\82·\82©\81H", obj, xname, simpleonames, "item");
+#endif
getlin(qbuf, buf);
if (!*buf || *buf == '\033')
return;
/* relax restrictions over proper capitalization for artifacts */
if ((aname = artifact_name(buf, &objtyp)) != 0 && objtyp == obj->otyp)
+#if 0 /*JP*/
Strcpy(buf, aname);
+#else
+ {
+ is_japanese = is_kanji(*buf);
+ Strcpy(buf, aname);
+ }
+#endif
if (obj->oartifact) {
+/*JP
pline_The("artifact seems to resist the attempt.");
+*/
+ pline("\90¹\8aí\82Í\96¼\82Ã\82¯\82ð\8b\91\94Û\82µ\82Ä\82¢\82é\82æ\82¤\82¾\81D");
return;
} else if (restrict_name(obj, buf) || exist_artifact(obj->otyp, buf)) {
/* this used to change one letter, substituting a value
do {
wipeout_text(bufp, rnd(2), (unsigned) 0);
} while (!strcmp(buf, bufcpy));
+/*JP
pline("While engraving, your %s slips.", body_part(HAND));
+*/
+ pline("\8d\8f\82ñ\82Å\82¢\82é\8aÔ\82É%s\82ª\8a\8a\82Á\82Ä\82µ\82Ü\82Á\82½\81D", body_part(HAND));
display_nhwindow(WIN_MESSAGE, FALSE);
+/*JP
You("engrave: \"%s\".", buf);
+*/
+ You("\8d\8f\82ñ\82¾: \81u%s\81v\81D",buf);
}
obj = oname(obj, buf);
}
lth = *name ? (int) (strlen(name) + 1) : 0;
if (lth > PL_PSIZ) {
lth = PL_PSIZ;
+#if 0 /*JP*/
name = strncpy(buf, name, PL_PSIZ - 1);
buf[PL_PSIZ - 1] = '\0';
+#else
+ if (is_kanji2(name, lth - 1))
+ --lth;
+ name = strncpy(buf, name, lth - 1);
+ buf[lth - 1] = '\0';
+#endif
}
/* If named artifact exists in the game, do not create another.
* Also trying to create an artifact shouldn't de-artifact
any = zeroany;
any.a_char = 'm'; /* group accelerator 'C' */
add_menu(win, NO_GLYPH, &any, abc ? 0 : any.a_char, 'C', ATR_NONE,
+/*JP
"a monster", MENU_UNSELECTED);
+*/
+ "\89ö\95¨", MENU_UNSELECTED);
if (invent) {
/* we use y and n as accelerators so that we can accept user's
response keyed to old "name an individual object?" prompt */
any.a_char = 'i'; /* group accelerator 'y' */
add_menu(win, NO_GLYPH, &any, abc ? 0 : any.a_char, 'y', ATR_NONE,
+/*JP
"a particular object in inventory", MENU_UNSELECTED);
+*/
+ "\8e\9d\82¿\95¨\82Ì\92\86\82Ì\88ê\82Â\82Ì\83A\83C\83e\83\80", MENU_UNSELECTED);
any.a_char = 'o'; /* group accelerator 'n' */
add_menu(win, NO_GLYPH, &any, abc ? 0 : any.a_char, 'n', ATR_NONE,
+/*JP
"the type of an object in inventory", MENU_UNSELECTED);
+*/
+ "\8e\9d\82¿\95¨\82Ì\92\86\82Ì\88ê\82Â\82Ì\83A\83C\83e\83\80\82Ì\8eí\97Þ", MENU_UNSELECTED);
}
any.a_char = 'f'; /* group accelerator ',' (or ':' instead?) */
add_menu(win, NO_GLYPH, &any, abc ? 0 : any.a_char, ',', ATR_NONE,
+/*JP
"the type of an object upon the floor", MENU_UNSELECTED);
+*/
+ "\8f°\82Ì\8fã\82É\82 \82é\88ê\82Â\82Ì\83A\83C\83e\83\80\82Ì\8eí\97Þ", MENU_UNSELECTED);
any.a_char = 'd'; /* group accelerator '\' */
add_menu(win, NO_GLYPH, &any, abc ? 0 : any.a_char, '\\', ATR_NONE,
+/*JP
"the type of an object on discoveries list", MENU_UNSELECTED);
+*/
+ "\94\8c©\95¨\88ê\97\97\82É\82 \82é\88ê\82Â\82Ì\83A\83C\83e\83\80\82Ì\8eí\97Þ", MENU_UNSELECTED);
any.a_char = 'a'; /* group accelerator 'l' */
add_menu(win, NO_GLYPH, &any, abc ? 0 : any.a_char, 'l', ATR_NONE,
+/*JP
"record an annotation for the current level", MENU_UNSELECTED);
+*/
+ "\8c»\8dÝ\82Ì\8aK\82É\91Î\82·\82é\83\81\83\82\82Ì\8bL\98^", MENU_UNSELECTED);
+/*JP
end_menu(win, "What do you want to name?");
+*/
+ end_menu(win, "\82Ç\82ê\82É\96¼\91O\82ð\82Â\82¯\82Ü\82·\82©\81H");
if (select_menu(win, PICK_ONE, &pick_list) > 0) {
ch = pick_list[0].item.a_char;
free((genericptr_t) pick_list);
(void) xname(obj);
if (!obj->dknown) {
+/*JP
You("would never recognize another one.");
+*/
+ You("\91¼\82É\94F\8e¯\82Å\82«\82È\82¢\81D");
#if 0
} else if (!objtyp_is_callable(obj->otyp)) {
You("know those as well as you ever will.");
if (objects[otemp.otyp].oc_class == POTION_CLASS && otemp.fromsink)
/* kludge, meaning it's sink water */
+/*JP
Sprintf(qbuf, "Call a stream of %s fluid:",
+*/
+ Sprintf(qbuf, "%s\89t\91Ì:",
OBJ_DESCR(objects[otemp.otyp]));
else
+/*JP
Sprintf(qbuf, "Call %s:", an(xname(&otemp)));
+*/
+ Sprintf(qbuf, "%s\82É\89½\82Æ\96¼\91O\82ð\82Â\82¯\82é\81H", an(xname(&otemp)));
getlin(qbuf, buf);
if (!*buf || *buf == '\033')
return;
struct permonst *mdat = mtmp->data;
const char *pm_name = mdat->mname;
boolean do_hallu, do_invis, do_it, do_saddle;
+#if 0 /*JP*/
boolean name_at_start, has_adjectives;
char *bp;
+#endif
if (program_state.gameover)
suppress |= SUPPRESS_HALLUCINATION;
/* unseen monsters, etc. Use "it" */
if (do_it) {
+/*JP
Strcpy(buf, "it");
+*/
+ Strcpy(buf, "\89½\8eÒ\82©");
return buf;
}
name = priestname(mtmp, priestnambuf);
EHalluc_resistance = save_prop;
mtmp->minvis = save_invis;
+#if 0 /*JP*/
if (article == ARTICLE_NONE && !strncmp(name, "the ", 4))
name += 4;
+#endif
return strcpy(buf, name);
}
/* an "aligned priest" not flagged as a priest or minion should be
* none of this applies.
*/
if (mtmp->isshk && !do_hallu) {
+#if 0 /*JP*/
if (adjective && article == ARTICLE_THE) {
/* pathological case: "the angry Asidonhopo the blue dragon"
sounds silly */
Strcat(buf, "invisible ");
Strcat(buf, pm_name);
return buf;
+#else
+ if (mdat == &mons[PM_SHOPKEEPER] && !do_invis){
+ Strcpy(buf, shkname(mtmp));
+ } else {
+ Sprintf(buf, "%s\82Æ\82¢\82¤\96¼\82Ì%s%s",
+ shkname(mtmp), do_invis ? "\8ep\82Ì\8c©\82¦\82È\82¢" : "",
+ pm_name);
+ }
+ return buf;
+#endif
}
/* Put the adjectives in the buffer */
if (adjective)
+/*JP
Strcat(strcat(buf, adjective), " ");
+*/
+ Strcat(buf, adjective);
if (do_invis)
+/*JP
Strcat(buf, "invisible ");
+*/
+ Strcat(buf, "\8ep\82Ì\8c©\82¦\82È\82¢");
if (do_saddle && (mtmp->misc_worn_check & W_SADDLE) && !Blind
&& !Hallucination)
+/*JP
Strcat(buf, "saddled ");
+*/
+ Strcat(buf, "\88Æ\82Ì\82Â\82¢\82Ä\82¢\82é");
+#if 0 /*JP*/
if (buf[0] != 0)
has_adjectives = TRUE;
else
has_adjectives = FALSE;
+#endif
/* Put the actual monster name or type into the buffer now */
/* Be sure to remember whether the buffer starts with a name */
char *rname = rndmonnam(&rnamecode);
Strcat(buf, rname);
+#if 0 /*JP*/
name_at_start = bogon_is_pname(rnamecode);
+#endif
} else if (has_mname(mtmp)) {
char *name = MNAME(mtmp);
if (mdat == &mons[PM_GHOST]) {
+/*JP
Sprintf(eos(buf), "%s ghost", s_suffix(name));
+*/
+ Sprintf(buf, "%s\82Ì\97H\97ì", name);
+#if 0 /*JP*/
name_at_start = TRUE;
+#endif
} else if (called) {
+/*JP
Sprintf(eos(buf), "%s called %s", pm_name, name);
+*/
+ Sprintf(eos(buf), "%s\82Æ\82¢\82¤\96¼\82Ì%s", name, pm_name);
+#if 0 /*JP*/
name_at_start = (boolean) type_is_pname(mdat);
+#endif
+#if 0 /*JP*//*\92è\8a¥\8e\8c\82Ì\8f\88\97\9d\82Í\95s\97v*/
} else if (is_mplayer(mdat) && (bp = strstri(name, " the ")) != 0) {
/* <name> the <adjective> <invisible> <saddled> <rank> */
char pbuf[BUFSZ];
Strcpy(buf, pbuf);
article = ARTICLE_NONE;
name_at_start = TRUE;
+#endif
} else {
Strcat(buf, name);
+#if 0 /*JP*/
name_at_start = TRUE;
+#endif
}
} else if (is_mplayer(mdat) && !In_endgame(&u.uz)) {
char pbuf[BUFSZ];
Strcpy(pbuf, rank_of((int) mtmp->m_lev, monsndx(mdat),
(boolean) mtmp->female));
+#if 0 /*JP*/
Strcat(buf, lcase(pbuf));
+#else
+ Strcat(buf, pbuf);
+#endif
+#if 0 /*JP*/
name_at_start = FALSE;
+#endif
} else {
Strcat(buf, pm_name);
+#if 0 /*JP*/
name_at_start = (boolean) type_is_pname(mdat);
+#endif
}
+#if 0 /*JP*//*\93ú\96{\8cê\82É\8a¥\8e\8c\82Í\82È\82¢*/
if (name_at_start && (article == ARTICLE_YOUR || !has_adjectives)) {
if (mdat == &mons[PM_WIZARD_OF_YENDOR])
article = ARTICLE_THE;
return buf;
}
}
+#else
+ return buf;
+#endif
}
char *
its own obfuscation) */
if (mon->data == &mons[PM_HIGH_PRIEST] && !Hallucination
&& Is_astralevel(&u.uz) && distu(mon->mx, mon->my) > 2) {
+#if 0 /*JP*/
Strcpy(outbuf, article == ARTICLE_THE ? "the " : "");
Strcat(outbuf, mon->female ? "high priestess" : "high priest");
+#else
+ Strcpy(outbuf, "\96@\89¤");
+#endif
} else {
Strcpy(outbuf, x_monnam(mon, article, (char *) 0, 0, TRUE));
}
}
static NEARDATA const char *const hcolors[] = {
+#if 0 /*JP*/
"ultraviolet", "infrared", "bluish-orange", "reddish-green", "dark white",
"light black", "sky blue-pink", "salty", "sweet", "sour", "bitter",
"striped", "spiral", "swirly", "plaid", "checkered", "argyle", "paisley",
"triangular", "cabernet", "sangria", "fuchsia", "wisteria", "lemon-lime",
"strawberry-banana", "peppermint", "romantic", "incandescent",
"octarine", /* Discworld: the Colour of Magic */
+#else
+ "\8e\87\8aO\90F\82Ì", "\90Ô\8aO\90F\82Ì", "\90Â\90F\82ª\82©\82Á\82½\83I\83\8c\83\93\83W\90F\82Ì", "\90Ô\82Ý\82ª\82©\82Á\82½\97Î\90F\82Ì", "\88Ã\82¢\94\92\90F\82Ì",
+ "\96¾\82é\82¢\8d\95\82Ì", "\90\85\90F\82ª\82©\82Á\82½\83s\83\93\83N\90F\82Ì", "\89\96\90h\82¢", "\8aÃ\82¢", "\82·\82Á\82Ï\82¢", "\8bê\82¢",
+ "\82µ\82Ü\96Í\97l\82Ì", "\82ç\82¹\82ñ\8fó\82Ì", "\94g\8fó\82Ì", "\8ai\8eq\96Í\97l\8fó\82Ì", "\83`\83F\83b\83N\8fó\82Ì", "\95ú\8eË\8fó\82Ì", "\83y\81[\83Y\83\8a\81[\96Í\97l\82Ì",
+ "\82µ\82Ý\8fó\82Ì", "\90Â\90F\82Ì\94Á\93_\8fó\82Ì", "\93_\8fó\82Ì", "\8el\8ap\8c`\8fó\82Ì", "\8aÛ\8fó\82Ì",
+ "\8eO\8ap\8fó\82Ì", "\83J\83x\83\8b\83l\90F\82Ì", "\83T\83\93\83O\83\8a\83A\90F\82Ì", "\91N\82â\82©\82È\90Ô\8e\87\90F\82Ì", "\93¡\90F\82Ì", "\83\8c\83\82\83\93\83\89\83C\83\80\90F\82Ì",
+ "ä\95\83o\83i\83i\90F\82Ì", "\83y\83p\81[\83~\83\93\83g\90F\82Ì", "\83\8d\83}\83\93\83`\83b\83N\82È\90F\82Ì", "\94\92\94M\90F\82Ì",
+ "\83I\83N\83^\83\8a\83\93\90F\82Ì",
+#endif
};
const char *
int k = rn2(CLR_MAX);
return Hallucination ? hcolor((char *) 0)
+/*JP
: (k == NO_COLOR) ? "colorless"
+*/
+ : (k == NO_COLOR) ? "\96³\90F\82Ì"
: c_obj_colors[k];
}
/* 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 const char see_yourself[] = "see yourself";
static NEARDATA const char unknown_type[] = "Unknown type of %s (%d)";
+#if 0 /*JP*/
static NEARDATA const char c_armor[] = "armor", c_suit[] = "suit",
c_shirt[] = "shirt", c_cloak[] = "cloak",
c_gloves[] = "gloves", c_boots[] = "boots",
c_helmet[] = "helmet", c_shield[] = "shield",
c_weapon[] = "weapon", c_sword[] = "sword",
c_axe[] = "axe", c_that_[] = "that";
+#else
+static NEARDATA const char c_armor[] = "\8aZ", c_suit[] = "\95\9e",
+ c_shirt[] = "\83V\83\83\83c", c_cloak[] = "\83N\83\8d\81[\83N",
+ c_gloves[] = "\8f¬\8eè", c_boots[] = "\8cC",
+ c_helmet[] = "\8a\95", c_shield[] = "\8f\82",
+ c_weapon[] = "\95\90\8aí", c_sword[] = "\8c\95",
+ c_axe[] = "\95\80", c_that_[] = "\82»\82ê";
+#endif
static NEARDATA const long takeoff_order[] = {
WORN_BLINDF, W_WEP, WORN_SHIELD, WORN_GLOVES, LEFT_RING,
STATIC_DCL void FDECL(count_worn_stuff, (struct obj **, BOOLEAN_P));
STATIC_PTR int FDECL(armor_or_accessory_off, (struct obj *));
STATIC_PTR int FDECL(accessory_or_armor_on, (struct obj *));
+#if 0 /*JP*/
STATIC_DCL void FDECL(already_wearing, (const char *));
+#else
+STATIC_DCL void FDECL(already_wearing, (const char*, struct obj *));
+#endif
STATIC_DCL void FDECL(already_wearing2, (const char *, const char *));
void
off_msg(otmp)
struct obj *otmp;
{
+#if 0 /*JP*/
if (flags.verbose)
You("were wearing %s.", doname(otmp));
+#else
+ const char *j;
+ const char *m;
+ m = joffmsg(otmp, &j);
+ if(flags.verbose)
+ You("%s%s%s\81D", doname(otmp), j, jpast(m));
+#endif
}
/* for items that involve no delay */
struct obj *otmp;
{
if (flags.verbose) {
+#if 0 /*JP*/
char how[BUFSZ];
/* call xname() before obj_is_pname(); formatting obj's name
might set obj->dknown and that affects the pname test */
Sprintf(how, " around your %s", body_part(HEAD));
You("are now wearing %s%s.",
obj_is_pname(otmp) ? the(otmp_name) : an(otmp_name), how);
+#else
+ const char *j;
+ const char *m;
+ m = jonmsg(otmp, &j);
+ You("%s%s%s\81D", xname(otmp), j, jpast(m));
+#endif
}
}
if (on) {
if (!is_boots(obj))
+/*JP
You("move very quietly.");
+*/
+ Your("\90Ã\82©\82É\93®\82¯\82é\82æ\82¤\82É\82È\82Á\82½\81D");
else if (Levitation || Flying)
You("float imperceptibly.");
else
+/*JP
You("walk very quietly.");
+*/
+ Your("\91«\89¹\82Í\8f¬\82³\82\82È\82Á\82½\81D");
} else {
+/*JP
You("sure are noisy.");
+*/
+ Your("\91«\89¹\82Í\91å\82«\82\82È\82Á\82½\81D");
}
}
}
/* though not better than potion speed */
if (!oldprop && !(HFast & TIMEOUT)) {
makeknown(uarmf->otyp);
+#if 0 /*JP*/
You_feel("yourself speed up%s.",
(oldprop || HFast) ? " a bit more" : "");
+#else
+ You("%s\91f\91\81\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D",
+ (oldprop || HFast) ? "\82³\82ç\82É" : "");
+#endif
}
break;
case ELVEN_BOOTS:
case SPEED_BOOTS:
if (!Very_fast && !context.takeoff.cancelled_don) {
makeknown(otyp);
+/*JP
You_feel("yourself slow down%s.", Fast ? " a bit" : "");
+*/
+ You("%s\82Ì\82ë\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D", Fast ? "\82¿\82å\82Á\82Æ" : "");
}
break;
case WATER_WALKING_BOOTS:
/* Note: it's already being worn, so we have to cheat here. */
if ((HInvis || EInvis) && !Blind) {
newsym(u.ux, u.uy);
+#if 0 /*JP*/
You("can %s!", See_invisible ? "no longer see through yourself"
: see_yourself);
+#else
+ pline("%s\81I",
+ See_invisible ? "\82 \82È\82½\82Í\93§\96¾\82Å\82È\82\82È\82Á\82½" :
+ "\8e©\95ª\8e©\90g\82ª\8c©\82¦\82é\82æ\82¤\82É\82È\82Á\82½");
+#endif
}
break;
case CLOAK_OF_INVISIBILITY:
if (!oldprop && !HInvis && !Blind) {
makeknown(uarmc->otyp);
newsym(u.ux, u.uy);
+#if 0 /*JP*/
pline("Suddenly you can%s yourself.",
See_invisible ? " see through" : "not see");
+#else
+ pline("\93Ë\91R\81C%s\82È\82Á\82½\81D",
+ See_invisible ? "\82 \82È\82½\82Í\93§\96¾\82É" : "\8e©\95ª\8e©\90g\82ª\8c©\82¦\82È\82");
+#endif
}
break;
case OILSKIN_CLOAK:
+/*JP
pline("%s very tightly.", Tobjnam(uarmc, "fit"));
+*/
+ pline("%s\82Í\82Æ\82Ä\82à\82Ò\82Á\82¿\82è\8d\87\82¤\81D",xname(uarmc));
break;
/* Alchemy smock gives poison _and_ acid resistance */
case ALCHEMY_SMOCK:
case MUMMY_WRAPPING:
if (Invis && !Blind) {
newsym(u.ux, u.uy);
+#if 0 /*JP*/
You("can %s.", See_invisible ? "see through yourself"
: "no longer see yourself");
+#else
+ pline("%s\81D", See_invisible ? "\82 \82È\82½\82Í\93§\96¾\82É\82È\82Á\82½"
+ : "\8e©\95ª\8e©\90g\82ª\8c©\82¦\82È\82\82È\82Á\82½");
+#endif
}
break;
case CLOAK_OF_INVISIBILITY:
if (!oldprop && !HInvis && !Blind) {
makeknown(CLOAK_OF_INVISIBILITY);
newsym(u.ux, u.uy);
+#if 0 /*JP*/
pline("Suddenly you can %s.",
See_invisible ? "no longer see through yourself"
: see_yourself);
+#else
+ pline("\93Ë\91R\81C%s\81D",
+ See_invisible ? "\82 \82È\82½\82Í\93§\96¾\82Å\82È\82\82È\82Á\82½"
+ : "\8e©\95ª\8e©\90g\82ª\8c©\82¦\82é\82æ\82¤\82É\82È\82Á\82½");
+#endif
}
break;
/* Alchemy smock gives poison _and_ acid resistance */
case DUNCE_CAP:
if (uarmh && !uarmh->cursed) {
if (Blind)
+/*JP
pline("%s for a moment.", Tobjnam(uarmh, "vibrate"));
+*/
+ pline("%s\82Í\88ê\8fu\90k\82¦\82½\81D", xname(uarmh));
else
+#if 0 /*JP*/
pline("%s %s for a moment.", Tobjnam(uarmh, "glow"),
hcolor(NH_BLACK));
+#else
+ pline("%s\82Í\88ê\8fu%s\8bP\82¢\82½\81D",
+ xname(uarmh), jconj_adj(hcolor(NH_BLACK)));
+#endif
curse(uarmh);
}
context.botl = 1; /* reveal new alignment or INT & WIS */
if (Hallucination) {
+#if 0 /*JP*/
pline("My brain hurts!"); /* Monty Python's Flying Circus */
+#else
+ pline("\82Ì\81[\82Ý\82»\83o\81[\83\93\81I"); /*\83\82\83\93\83e\83B\83p\83C\83\\83\93\82Æ\82Í\82¿\82å\82Á\82Æ\88á\82¤\82¯\82Ç*/
+#endif
} else if (uarmh && uarmh->otyp == DUNCE_CAP) {
+#if 0 /*JP*/
You_feel("%s.", /* track INT change; ignore WIS */
ACURR(A_INT)
<= (ABASE(A_INT) + ABON(A_INT) + ATEMP(A_INT))
? "like sitting in a corner"
: "giddy");
+#else
+ You("%s\82æ\82¤\82È\8bC\82ª\82µ\82½\81D",
+ ACURR(A_INT)
+ <= (ABASE(A_INT) + ABON(A_INT) + ATEMP(A_INT))
+ ? "\8aX\8ap\82É\8dÀ\82Á\82Ä\82¢\82é"
+ : "\96Ú\82ª\82Ü\82í\82Á\82½");
+#endif
} else {
/* [message moved to uchangealign()] */
makeknown(HELM_OF_OPPOSITE_ALIGNMENT);
return;
if (touch_petrifies(&mons[obj->corpsenm]) && !Stone_resistance) {
+#if 0 /*JP*/
You("now wield %s in your bare %s.",
corpse_xname(obj, (const char *) 0, CXN_ARTICLE),
makeplural(body_part(HAND)));
+#else
+ You("%s\82ð\91f%s\82Å\8e\9d\82Á\82½\81D",
+ corpse_xname(obj, (const char *) 0, CXN_ARTICLE),
+ body_part(HAND));
+#endif
+#if 0 /*JP*/
Sprintf(kbuf, "%s gloves while wielding %s",
voluntary ? "removing" : "losing", killer_xname(obj));
+#else
+ Sprintf(kbuf, "%s\82ð\8e\9d\82Á\82Ä\82¢\82é\82Æ\82«\82É\8eè\91Ü\82ð%s",
+ killer_xname(obj), voluntary ? "\8aO\82µ\82Ä" : "\8e¸\82Á\82Ä");
+#endif
instapetrify(kbuf);
/* life-saved; can't continue wielding cockatrice corpse though */
remove_worn_item(obj, FALSE);
/* Don't use same message as polymorph */
if (orig_sex != poly_gender()) {
makeknown(AMULET_OF_CHANGE);
+#if 0 /*JP*/
You("are suddenly very %s!",
flags.female ? "feminine" : "masculine");
+#else
+ You("\93Ë\91R%s\82Á\82Û\82\82È\82Á\82½\81I",
+ flags.female ? "\8f\97" : "\92j");
+#endif
context.botl = 1;
} else
/* already polymorphed into single-gender monster; only
changed the character's base sex */
+/*JP
You("don't feel like yourself.");
+*/
+ You("\8e©\95ª\8e©\90g\82¶\82á\82È\82\82È\82Á\82½\8bC\82ª\82µ\82½\81D");
+/*JP
pline_The("amulet disintegrates!");
+*/
+ pline("\96\82\8f\9c\82¯\82Í\82±\82È\82²\82È\82É\82È\82Á\82½\81I");
if (orig_sex == poly_gender() && uamul->dknown
&& !objects[AMULET_OF_CHANGE].oc_name_known
&& !objects[AMULET_OF_CHANGE].oc_uname)
case AMULET_OF_STRANGULATION:
if (can_be_strangled(&youmonst)) {
makeknown(AMULET_OF_STRANGULATION);
+/*JP
pline("It constricts your throat!");
+*/
+ pline("\96\82\8f\9c\82¯\82Í\82 \82È\82½\82Ì\8dA\82ð\8di\82ß\82Â\82¯\82½\81I");
Strangled = 6L;
}
break;
setworn((struct obj *) 0, W_AMUL);
if (!breathless(youmonst.data) && !amphibious(youmonst.data)
&& !Swimming) {
+/*JP
You("suddenly inhale an unhealthy amount of water!");
+*/
+ You("\93Ë\91R\81C\91å\97Ê\82Ì\90\85\82ð\88ù\82Ý\8d\9e\82ñ\82¾\81I");
(void) drown();
}
return;
case AMULET_OF_STRANGULATION:
if (Strangled) {
if (Breathless)
+/*JP
Your("%s is no longer constricted!", body_part(NECK));
+*/
+ pline("%s\82ª\8ay\82É\82È\82Á\82½\81I", body_part(NECK));
else
+/*JP
You("can breathe more easily!");
+*/
+ You("\8ay\82É\8cÄ\8bz\82Å\82«\82é\82æ\82¤\82É\82È\82Á\82½\81I");
Strangled = 0L;
}
break;
if (Invis && !oldprop && !HSee_invisible && !Blind) {
newsym(u.ux, u.uy);
+/*JP
pline("Suddenly you are transparent, but there!");
+*/
+ pline("\93Ë\91R\93§\96¾\82É\82È\82Á\82½\81D\82µ\82©\82µ\91¶\8dÝ\82Í\82µ\82Ä\82¢\82é\81I");
learnring(obj, TRUE);
}
break;
if (Invisible && !Blind) {
newsym(u.ux, u.uy);
+/*JP
pline("Suddenly you cannot see yourself.");
+*/
+ pline("\93Ë\91R\81C\8e©\95ª\8e©\90g\82ª\8c©\82¦\82È\82\82È\82Á\82½\81D");
learnring(obj, TRUE);
}
break;
case RIN_INVISIBILITY:
if (!Invis && !BInvis && !Blind) {
newsym(u.ux, u.uy);
+#if 0 /*JP*/
Your("body seems to unfade%s.",
See_invisible ? " completely" : "..");
+#else
+ Your("\91Ì\82ª%s\81D",
+ See_invisible ? "\8a®\91S\82É\8c»\82í\82ê\82½" : "\8e\9f\91æ\82É\8c»\82í\82ê\82Ä\82«\82½\81D\81D");
+#endif
learnring(obj, TRUE);
}
break;
if (Blind && !already_blind) {
changed = TRUE;
if (flags.verbose)
+/*JP
You_cant("see any more.");
+*/
+ You("\89½\82à\8c©\82¦\82È\82\82È\82Á\82½\81D");
/* set ball&chain variables before the hero goes blind */
if (Punished)
set_bc(0);
/* this can only happen by putting on the Eyes of the Overworld;
that shouldn't actually produce a permanent cure, but we
can't let the "blind from birth" conduct remain intact */
+/*JP
pline("For the first time in your life, you can see!");
+*/
+ pline("\90l\90¶\82Å\8f\89\82ß\82Ä\81C\96Ú\82ª\8c©\82¦\82é\82æ\82¤\82É\82È\82Á\82½\81I");
u.uroleplay.blind = FALSE;
} else
+/*JP
You("can see!");
+*/
+ You("\96Ú\82ª\8c©\82¦\82é\82æ\82¤\82É\82È\82Á\82½\81I");
}
if (changed) {
/* blindness has just been toggled */
/* "still cannot see" makes no sense when removing lenses
since they can't have been the cause of your blindness */
if (otmp->otyp != LENSES)
+/*JP
You("still cannot see.");
+*/
+ You("\82Ü\82¾\96Ú\82ª\8c©\82¦\82È\82¢\81D");
} else {
changed = TRUE; /* !was_blind */
/* "You were wearing the Eyes of the Overworld." */
+/*JP
You_cant("see anything now!");
+*/
+ You("\8d¡\82Í\89½\82à\8c©\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81I");
/* set ball&chain variables before the hero goes blind */
if (Punished)
set_bc(0);
} else if (was_blind) {
if (!gulp_blnd_check()) {
changed = TRUE; /* !Blind */
+/*JP
You("can see again.");
+*/
+ You("\82Ó\82½\82½\82Ñ\96Ú\82ª\8c©\82¦\82é\82æ\82¤\82É\82È\82Á\82½\81D");
}
}
if (changed) {
dotakeoff()
{
struct obj *otmp = (struct obj *) 0;
+#if 1 /*JP*/
+ const char *j;
+ const char *m;
+#endif
count_worn_stuff(&otmp, FALSE);
if (!Narmorpieces && !Naccessories) {
/* assert( GRAY_DRAGON_SCALES > YELLOW_DRAGON_SCALE_MAIL ); */
if (uskin)
+#if 0 /*JP*/
pline_The("%s merged with your skin!",
uskin->otyp >= GRAY_DRAGON_SCALES
? "dragon scales are"
: "dragon scale mail is");
+#else
+ pline("\83h\83\89\83S\83\93\82Ì\97Ø%s\82Í\82 \82È\82½\82Ì\94§\82Æ\97Z\8d\87\82µ\82Ä\82µ\82Ü\82Á\82Ä\82¢\82é\81I",
+ uskin->otyp >= GRAY_DRAGON_SCALES
+ ? "" : "\8aZ");
+#endif
else
+/*JP
pline("Not wearing any armor or accessories.");
+*/
+ pline("\8aZ\82â\91\95\8fü\95i\82ð\90g\82É\82Â\82¯\82Ä\82¢\82È\82¢\81D");
return 0;
}
if (Narmorpieces != 1 || ParanoidRemove)
}
Sprintf(why, " without taking off your %s first", what);
}
+#if 0 /*JP*/
You_cant("take that off%s.", why);
+#else
+ m = joffmsg(otmp, &j);
+ You("\82»\82ê%s%s\82±\82Æ\82Í\82Å\82«\82È\82¢\81D", j, m);
+#endif
return 0;
}
count_worn_stuff(&otmp, TRUE);
if (!Naccessories && !Narmorpieces) {
+/*JP
pline("Not wearing any accessories or armor.");
+*/
+ pline("\91\95\8fü\95i\82â\8aZ\82ð\90g\82É\82Â\82¯\82Ä\82¢\82È\82¢\81D");
return 0;
}
if (Naccessories != 1 || ParanoidRemove)
{
/* Curses, like chickens, come home to roost. */
if ((otmp == uwep) ? welded(otmp) : (int) otmp->cursed) {
+#if 0 /*JP*/
boolean use_plural = (is_boots(otmp) || is_gloves(otmp)
|| otmp->otyp == LENSES || otmp->quan > 1L);
You("can't. %s cursed.", use_plural ? "They are" : "It is");
+#else
+ pline("\96³\97\9d\82¾\81D\82»\82ê\82Í\8eô\82í\82ê\82Ä\82¢\82é\81D");
+#endif
otmp->bknown = TRUE;
return 1;
}
multi_reason = "disrobing";
if (is_helmet(otmp)) {
/* ick... */
+/*JP
nomovemsg = !strcmp(helm_simple_name(otmp), "hat")
+*/
+ nomovemsg = !strcmp(helm_simple_name(otmp), "\96X\8eq")
+/*JP
? "You finish taking off your hat."
+*/
+ ? "\82 \82È\82½\82Í\8a\95\82ð\92E\82¬\82¨\82¦\82½\81D"
+/*JP
: "You finish taking off your helmet.";
+*/
+ : "\82 \82È\82½\82Í\96X\8eq\82ð\92E\82¬\82¨\82¦\82½\81D";
afternmv = Helmet_off;
} else if (is_gloves(otmp)) {
+/*JP
nomovemsg = "You finish taking off your gloves.";
+*/
+ nomovemsg = "\82 \82È\82½\82Í\8f¬\8eè\82ð\92E\82¬\82¨\82¦\82½\81D";
afternmv = Gloves_off;
} else if (is_boots(otmp)) {
+/*JP
nomovemsg = "You finish taking off your boots.";
+*/
+ nomovemsg = "\82 \82È\82½\82Í\8cC\82ð\92E\82¬\82¨\82¦\82½\81D";
afternmv = Boots_off;
} else {
+/*JP
nomovemsg = "You finish taking off your suit.";
+*/
+ nomovemsg = "\82 \82È\82½\82Í\92\85\82Ä\82¢\82é\95¨\82ð\92E\82¬\82¨\82¦\82½\81D";
afternmv = Armor_off;
}
} else {
return 1;
}
+/*JP
+** \95¨\82É\82æ\82Á\82Ä\93®\8e\8c\82ª\95Ï\89»\82·\82é\82Ì\82Å otmp\82ð\92Ç\89Á
+*/
STATIC_OVL void
+#if 0 /*JP*/
already_wearing(cc)
const char *cc;
+#else
+already_wearing(cc, otmp)
+const char *cc;
+struct obj *otmp;
+#endif
{
+#if 1 /*JP*/
+ const char *j;
+ const char *m;
+ m = jconj(jonmsg(otmp, &j), "\82Ä\82¢\82é");
+#endif
+/*JP
You("are already wearing %s%c", cc, (cc == c_that_) ? '!' : '.');
+*/
+ You("\82à\82¤%s%s%s%s", cc, j, m, (cc == c_that_) ? "\81I" : "\81D");
}
STATIC_OVL void
already_wearing2(cc1, cc2)
const char *cc1, *cc2;
{
+/*JP
You_cant("wear %s because you're wearing %s there already.", cc1, cc2);
+*/
+ You_cant("%s\82ð\90g\82É\95t\82¯\82Ä\82¢\82é\82Ì\82Å%s\82ð\90g\82É\82Â\82¯\82ç\82ê\82È\82¢\81D", cc2, cc1);
}
/*
{
int err = 0;
const char *which;
+#if 1 /*JP*/
+ const char *m;
+ const char *j;
+#endif
which = is_cloak(otmp)
? c_cloak
&& (which != c_cloak || youmonst.data->msize != MZ_SMALL)
&& (racial_exception(&youmonst, otmp) < 1)) {
if (noisy)
+/*JP
pline_The("%s will not fit on your body.", which);
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\91Ì\82É\8d\87\82í\82È\82¢\81D", which);
return 0;
} else if (otmp->owornmask & W_ARMOR) {
if (noisy)
+#if 0 /*JP*/
already_wearing(c_that_);
+#else
+ already_wearing(c_that_, otmp);
+#endif
return 0;
}
if (welded(uwep) && bimanual(uwep) && (is_suit(otmp) || is_shirt(otmp))) {
if (noisy)
+/*JP
You("cannot do that while holding your %s.",
+*/
+ pline("%s\82ð\8e\9d\82Á\82½\82Ü\82Ü\82Å\82Í\82»\82ê\82Í\8fo\97\88\82È\82¢\81D",
is_sword(uwep) ? c_sword : c_weapon);
return 0;
}
if (is_helmet(otmp)) {
if (uarmh) {
if (noisy)
+#if 0 /*JP*/
already_wearing(an(helm_simple_name(uarmh)));
+#else
+ already_wearing(helm_simple_name(uarmh), uarmh);
+#endif
err++;
} else if (Upolyd && has_horns(youmonst.data) && !is_flimsy(otmp)) {
/* (flimsy exception matches polyself handling) */
if (noisy)
+#if 0 /*JP*/
pline_The("%s won't fit over your horn%s.",
helm_simple_name(otmp),
plur(num_horns(youmonst.data)));
+#else
+ pline("\8ap\82ª\82¶\82á\82Ü\82Å%s\82ð\90g\82É\82Â\82¯\82ç\82ê\82È\82¢\81D",
+ helm_simple_name(otmp));
+#endif
err++;
} else
*mask = W_ARMH;
} else if (is_shield(otmp)) {
if (uarms) {
if (noisy)
+#if 0 /*JP*/
already_wearing(an(c_shield));
+#else
+ already_wearing(c_shield, uarms);
+#endif
err++;
} else if (uwep && bimanual(uwep)) {
if (noisy)
+#if 0 /*JP*/
You("cannot wear a shield while wielding a two-handed %s.",
is_sword(uwep) ? c_sword : (uwep->otyp == BATTLE_AXE)
? c_axe
: c_weapon);
+#else
+ {
+ m = jconj(jonmsg(uwep, &j), "\82Ä\82¢\82é");
+ You("\97¼\8eè\8e\9d\82¿\82Ì%s%s%s\82Ì\82Å\8f\82\82Å\90g\82ð\8eç\82ê\82È\82¢\81D",
+ is_sword(uwep) ? c_sword :
+ uwep->otyp == BATTLE_AXE ? c_axe : c_weapon,
+ j, m);
+ }
+#endif
err++;
} else if (u.twoweap) {
if (noisy)
+/*JP
You("cannot wear a shield while wielding two weapons.");
+*/
+ You("\93ñ\93\81\97¬\82ð\82µ\82Ä\82¢\82é\82Ì\82Å\8f\82\82Å\90g\82ð\8eç\82ê\82È\82¢\81D");
err++;
} else
*mask = W_ARMS;
} else if (is_boots(otmp)) {
if (uarmf) {
if (noisy)
+#if 0 /*JP*/
already_wearing(c_boots);
+#else
+ already_wearing(c_boots, uarmf);
+#endif
err++;
} else if (Upolyd && slithy(youmonst.data)) {
if (noisy)
+#if 0 /*JP*/
You("have no feet..."); /* not body_part(FOOT) */
+#else
+ You("\91«\82ª\82È\82¢\81D\81D\81D"); /* not body_part(FOOT) */
+#endif
err++;
} else if (Upolyd && youmonst.data->mlet == S_CENTAUR) {
/* break_armor() pushes boots off for centaurs,
so don't let dowear() put them back on... */
if (noisy)
+#if 0 /*JP*/
pline("You have too many hooves to wear %s.",
c_boots); /* makeplural(body_part(FOOT)) yields
"rear hooves" which sounds odd */
+#else
+ pline("%s\82ð\97\9a\82\82É\82Í\91«\82ª\91½\82·\82¬\82é\81D", c_boots);
+#endif
err++;
} else if (u.utrap
&& (u.utraptype == TT_BEARTRAP || u.utraptype == TT_INFLOOR
|| u.utraptype == TT_BURIEDBALL)) {
if (u.utraptype == TT_BEARTRAP) {
if (noisy)
+/*JP
Your("%s is trapped!", body_part(FOOT));
+*/
+ Your("%s\82Íã©\82É\82©\82©\82Á\82Ä\82¢\82é\81I", body_part(FOOT));
} else if (u.utraptype == TT_INFLOOR || u.utraptype == TT_LAVA) {
if (noisy)
+#if 0 /*JP*/
Your("%s are stuck in the %s!",
makeplural(body_part(FOOT)), surface(u.ux, u.uy));
+#else
+ Your("%s\82Í%s\82É\82Í\82Ü\82Á\82Ä\82¢\82é\81I",
+ body_part(FOOT), surface(u.ux, u.uy));
+#endif
} else { /*TT_BURIEDBALL*/
if (noisy)
+#if 0 /*JP*/
Your("%s is attached to the buried ball!",
body_part(LEG));
+#else
+ Your("%s\82Í\96\84\82Ü\82Á\82Ä\82¢\82é\8b\85\82É\82Â\82È\82ª\82Á\82Ä\82¢\82é\81I",
+ body_part(LEG));
+#endif
}
err++;
} else
} else if (is_gloves(otmp)) {
if (uarmg) {
if (noisy)
+#if 0 /*JP*/
already_wearing(c_gloves);
+#else
+ already_wearing(c_gloves, uarmg);
+#endif
err++;
} else if (welded(uwep)) {
if (noisy)
+/*JP
You("cannot wear gloves over your %s.",
+*/
+ You("%s\82Ì\8fã\82©\82ç\8f¬\8eè\82ð\91\95\94õ\82Å\82«\82È\82¢\81D",
is_sword(uwep) ? c_sword : c_weapon);
err++;
} else
if (uarm || uarmc || uarmu) {
if (uarmu) {
if (noisy)
+#if 0 /*JP*/
already_wearing(an(c_shirt));
+#else
+ already_wearing(c_shirt, uarmu);
+#endif
} else {
if (noisy)
+/*JP
You_cant("wear that over your %s.",
+*/
+ You("%s\82Ì\8fã\82©\82ç\92\85\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D",
(uarm && !uarmc) ? c_armor
: cloak_simple_name(uarmc));
}
} else if (is_cloak(otmp)) {
if (uarmc) {
if (noisy)
+/*JP
already_wearing(an(cloak_simple_name(uarmc)));
+*/
+ already_wearing(cloak_simple_name(uarmc), otmp);
err++;
} else
*mask = W_ARMC;
} else if (is_suit(otmp)) {
if (uarmc) {
if (noisy)
+/*JP
You("cannot wear armor over a %s.", cloak_simple_name(uarmc));
+*/
+ You("%s\82Ì\8fã\82©\82ç\92\85\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D", cloak_simple_name(uarmc));
err++;
} else if (uarm) {
if (noisy)
+/*JP
already_wearing("some armor");
+*/
+ already_wearing("\8aZ", uarm);
err++;
} else
*mask = W_ARM;
happens if you have armor for slots that are covered up or
extra armor for slots that are filled */
if (noisy)
+/*JP
silly_thing("wear", otmp);
+*/
+ silly_thing("\90g\82É\82Â\82¯\82é", otmp);
err++;
}
/* Unnecessary since now only weapons and special items like pick-axes get
boolean armor, ring, eyewear;
if (obj->owornmask & (W_ACCESSORY | W_ARMOR)) {
+#if 0 /*JP*/
already_wearing(c_that_);
+#else
+ already_wearing(c_that_, obj);
+#endif
return 0;
}
armor = (obj->oclass == ARMOR_CLASS);
if (obj->otyp == HELM_OF_OPPOSITE_ALIGNMENT
&& qstart_level.dnum == u.uz.dnum) { /* in quest */
if (u.ualignbase[A_CURRENT] == u.ualignbase[A_ORIGINAL])
+/*JP
You("narrowly avoid losing all chance at your goal.");
+*/
+ You("\96Ú\93I\82ð\92B\90¬\82·\82é\89Â\94\\90«\82ð\8e¸\82¤\82±\82Æ\82ð\82È\82ñ\82Æ\82©\89ñ\94ð\82µ\82½\81D");
else /* converted */
+/*JP
You("are suddenly overcome with shame and change your mind.");
+*/
+ You("\93Ë\91R\92p\82¸\82©\82µ\82\82È\82Á\82Ä\8dl\82¦\82ð\95Ï\82¦\82½\81D");
u.ublessed = 0; /* lose your god's protection */
makeknown(obj->otyp);
context.botl = 1; /*for AC after zeroing u.ublessed */
int res = 0;
if (nolimbs(youmonst.data)) {
+/*JP
You("cannot make the ring stick to your body.");
+*/
+ You("\8ew\97Ö\82ð\82Í\82ß\82ê\82È\82¢\91Ì\82¾\81D");
return 0;
}
if (uleft && uright) {
+#if 0 /*JP*/
There("are no more %s%s to fill.",
humanoid(youmonst.data) ? "ring-" : "",
makeplural(body_part(FINGER)));
+#else
+ pline("\82Í\82ß\82é\82±\82Æ\82Ì\82Å\82«\82é%s%s\82ª\82È\82¢\81D",
+ humanoid(youmonst.data) ? "\96ò" : "",
+ body_part(FINGER));
+#endif
return 0;
}
if (uleft) {
mask = LEFT_RING;
} else {
do {
+#if 0 /*JP*/
Sprintf(qbuf, "Which %s%s, Right or Left?",
humanoid(youmonst.data) ? "ring-" : "",
body_part(FINGER));
+#else
+ Sprintf(qbuf, "\82Ç\82¿\82ç\82Ì%s%s\81C\89E(r)\82»\82ê\82Æ\82à\8d¶(l)\81H",
+ humanoid(youmonst.data) ? "\96ò" : "",
+ body_part(FINGER));
+#endif
answer = yn_function(qbuf, "rl", '\0');
switch (answer) {
case '\0':
if (uarmg && uarmg->cursed) {
res = !uarmg->bknown;
uarmg->bknown = 1;
+/*JP
You("cannot remove your gloves to put on the ring.");
+*/
+ You("\8ew\97Ö\82ð\82Í\82ß\82æ\82¤\82Æ\82µ\82½\82ª\8f¬\8eè\82ª\92E\82°\82È\82¢\81D");
return res; /* uses move iff we learned gloves are cursed */
}
if (uwep) {
/* welded will set bknown */
if (bimanual(uwep))
hand = makeplural(hand);
+/*JP
You("cannot free your weapon %s to put on the ring.",
+*/
+ You("\8ew\97Ö\82ð\82Í\82ß\82æ\82¤\82Æ\82µ\82½\82ª\97\98%s\82Ì\8e©\97R\82ª\82«\82©\82È\82¢\81D",
hand);
return res; /* uses move iff we learned weapon is cursed */
}
}
} else if (obj->oclass == AMULET_CLASS) {
if (uamul) {
+#if 0 /*JP*/
already_wearing("an amulet");
+#else
+ already_wearing("\96\82\8f\9c\82¯", uamul);
+#endif
return 0;
}
} else if (eyewear) {
if (ublindf) {
if (ublindf->otyp == TOWEL)
+#if 0 /*JP:T*/
Your("%s is already covered by a towel.",
body_part(FACE));
+#else
+ You("\8aù\82É\83^\83I\83\8b\82ð\90g\82É\82Â\82¯\82Ä\82¢\82é\81D");
+#endif
else if (ublindf->otyp == BLINDFOLD) {
if (obj->otyp == LENSES)
+/*JP
already_wearing2("lenses", "a blindfold");
+*/
+ already_wearing2("\83\8c\83\93\83Y", "\96Ú\89B\82µ");
else
+#if 0 /*JP*/
already_wearing("a blindfold");
+#else
+ already_wearing("\96Ú\89B\82µ", ublindf);
+#endif
} else if (ublindf->otyp == LENSES) {
if (obj->otyp == BLINDFOLD)
+/*JP
already_wearing2("a blindfold", "some lenses");
+*/
+ already_wearing2("\96Ú\89B\82µ", "\83\8c\83\93\83Y");
else
+#if 0 /*JP*/
already_wearing("some lenses");
+#else
+ already_wearing("\83\8c\83\93\83Y", ublindf);
+#endif
} else {
+#if 0 /*JP*/
already_wearing(something); /* ??? */
+#else
+ already_wearing("\89½\82©", ublindf); /* ??? */
+#endif
}
return 0;
}
} else {
/* neither armor nor accessory */
+/*JP
+ You_cant("wear that!");
+*/
You_cant("wear that!");
return 0;
}
afternmv = Gloves_on;
if (obj == uarm)
afternmv = Armor_on;
+/*JP
nomovemsg = "You finish your dressing maneuver.";
+*/
+ nomovemsg = "\91\95\94õ\82µ\8fI\82¦\82½\81D";
} else {
if (is_cloak(obj))
(void) Cloak_on();
/* cantweararm() checks for suits of armor, not what we want here;
verysmall() or nohands() checks for shields, gloves, etc... */
if ((verysmall(youmonst.data) || nohands(youmonst.data))) {
+/*JP
pline("Don't even bother.");
+*/
+ pline("\82»\82ñ\82È\82Â\82Ü\82ç\82È\82¢\82±\82Æ\82É\82±\82¾\82í\82é\82È\81D");
return 0;
}
if (uarm && uarmu && uarmc && uarmh && uarms && uarmg && uarmf
if (uleft && uright && uamul && ublindf
&& uarm && uarmu && uarmc && uarmh && uarms && uarmg && uarmf) {
/* 'P' message doesn't mention armor */
+#if 0 /*JP*/
Your("%s%s are full, and you're already wearing an amulet and %s.",
humanoid(youmonst.data) ? "ring-" : "",
makeplural(body_part(FINGER)),
(ublindf->otyp == LENSES) ? "some lenses" : "a blindfold");
+#else
+ Your("%s%s\82Í\82Ó\82³\82ª\82Á\82Ä\82é\82µ\81C\82·\82Å\82É\96\82\8f\9c\82¯\82Æ%s\82à\90g\82É\82Â\82¯\82Ä\82¢\82é\81D",
+ humanoid(youmonst.data) ? "\96ò" : "",
+ body_part(FINGER),
+ ublindf->otyp==LENSES ? "\83\8c\83\93\83Y" : "\96Ú\89B\82µ");
+#endif
return 0;
}
otmp = getobj(accessories, "put on");
rightfall = (uright && !uright->cursed && (!welded(uwep)));
if (!uarmg && (leftfall || rightfall) && !nolimbs(youmonst.data)) {
/* changed so cursed rings don't fall off, GAN 10/30/86 */
+#if 0 /*JP*/
Your("%s off your %s.",
(leftfall && rightfall) ? "rings slip" : "ring slips",
(leftfall && rightfall) ? makeplural(body_part(FINGER))
: body_part(FINGER));
+#else
+ Your("\8ew\97Ö\82Í%s\82©\82ç\8a\8a\82è\97\8e\82¿\82½\81D", body_part(FINGER));
+#endif
xfl++;
if (leftfall) {
otmp = uleft;
otherwep = makeplural(otherwep);
hand = body_part(HAND);
which = "left ";
+#if 0 /*JP*/
Your("%s %s%s from your %s%s.", otherwep, xfl ? "also " : "",
otense(otmp, "slip"), which, hand);
+#else
+ You("%s%s%s\82©\82ç\8a\8a\82è\97\8e\82Æ\82µ\82½\81D", otherwep, xfl ? "\82à\82Ü\82½" : "\82ð",
+ body_part(HAND));
+#endif
xfl++;
wastwoweap = TRUE;
setuswapwep((struct obj *) 0); /* clears u.twoweap */
hand = makeplural(hand);
else if (wastwoweap)
which = "right "; /* preceding msg was about left */
+#if 0 /*JP*/
pline("%s %s%s %s%s from your %s%s.",
!strncmp(thiswep, "corpse", 6) ? "The" : "Your",
otherwep ? "other " : "", thiswep, xfl ? "also " : "",
otense(otmp, "slip"), which, hand);
+#else
+ You("%s%s%s%s\82©\82ç\8a\8a\82è\97\8e\82Æ\82µ\82½\81D",
+ otherwep ? "\82à\82¤\82Ð\82Æ\82Â\82Ì" : "", thiswep,
+ xfl ? "\82à\82Ü\82½" : "\82ð",
+ body_part(HAND));
+#endif
/* xfl++; */
otmp->quan = savequan;
setuwep((struct obj *) 0);
/* special ring checks */
if (otmp == uright || otmp == uleft) {
if (nolimbs(youmonst.data)) {
+#if 0 /*JP*/
pline_The("ring is stuck.");
+#else
+ pline("\8ew\97Ö\82Í\91Ì\82É\96\84\82Ü\82Á\82Ä\82µ\82Ü\82Á\82Ä\82¢\82é\81D");
+#endif
return 0;
}
why = 0; /* the item which prevents ring removal */
if (welded(uwep) && (otmp == uright || bimanual(uwep))) {
+/*JP
Sprintf(buf, "free a weapon %s", body_part(HAND));
+*/
+ Sprintf(buf, "\97\98\98r\82Ì\8e©\97R\82ª\82«\82©\82È\82¢");
why = uwep;
} else if (uarmg && uarmg->cursed) {
+/*JP
Sprintf(buf, "take off your %s", c_gloves);
+*/
+ Sprintf(buf, "%s\82ª\92E\82°\82È\82¢", c_gloves);
why = uarmg;
}
if (why) {
+/*JP
You("cannot %s to remove the ring.", buf);
+*/
+ You("\8ew\97Ö\82ð\82Í\82¸\82»\82¤\82Æ\82µ\82½\82ª%s\81D", buf);
why->bknown = TRUE;
return 0;
}
/* special glove checks */
if (otmp == uarmg) {
if (welded(uwep)) {
+#if 0 /*JP*/
You("are unable to take off your %s while wielding that %s.",
c_gloves, is_sword(uwep) ? c_sword : c_weapon);
+#else
+ You("%s\82ð\8e\9d\82Á\82½\82Ü\82Ü%s\82ð\82Í\82¸\82·\82±\82Æ\82Í\82Å\82«\82È\82¢\81D",
+ is_sword(uwep) ? c_sword : c_weapon, c_gloves);
+#endif
uwep->bknown = TRUE;
return 0;
} else if (Glib) {
+#if 0 /*JP*/
You_cant("take off the slippery %s with your slippery %s.",
c_gloves, makeplural(body_part(FINGER)));
+#else
+ You_cant("\8a\8a\82è\82â\82·\82¢%s\82ð\8a\8a\82è\82â\82·\82¢%s\82Å\82Í\82¸\82¹\82È\82¢\81D",
+ c_gloves, body_part(FINGER));
+#endif
return 0;
}
}
/* special boot checks */
if (otmp == uarmf) {
if (u.utrap && u.utraptype == TT_BEARTRAP) {
+/*JP
pline_The("bear trap prevents you from pulling your %s out.",
+*/
+ pline("%s\82ª\8cF\82Ìã©\82É\82Â\82©\82Ü\82Á\82Ä\82¢\82é\82Ì\82Å\92E\82®\82±\82Æ\82ª\82Å\82«\82È\82¢\81D",
body_part(FOOT));
return 0;
} else if (u.utrap && u.utraptype == TT_INFLOOR) {
+/*JP
You("are stuck in the %s, and cannot pull your %s out.",
+*/
+ You("%s\82ª%s\82É\82Í\82Ü\82Á\82Ä\82¢\82é\82Ì\82Å\92E\82®\82±\82Æ\82ª\82Å\82«\82È\82¢\81D",
surface(u.ux, u.uy), makeplural(body_part(FOOT)));
return 0;
}
if (otmp == uarm || otmp == uarmu) {
why = 0; /* the item which prevents disrobing */
if (uarmc && uarmc->cursed) {
+/*JP
Sprintf(buf, "remove your %s", cloak_simple_name(uarmc));
+*/
+ Sprintf(buf, "%s\82ª\92E\82°\82È\82¢", cloak_simple_name(uarmc));
why = uarmc;
} else if (otmp == uarmu && uarm && uarm->cursed) {
+/*JP
Sprintf(buf, "remove your %s", c_suit);
+*/
+ Sprintf(buf, "%s\82ª\92E\82°\82È\82¢", c_suit);
why = uarm;
} else if (welded(uwep) && bimanual(uwep)) {
+#if 0 /*JP*/
Sprintf(buf, "release your %s",
is_sword(uwep) ? c_sword : (uwep->otyp == BATTLE_AXE)
? c_axe
: c_weapon);
+#else
+ Sprintf(buf, "%s\82ª\8eè\95ú\82¹\82È\82¢",
+ is_sword(uwep) ? c_sword : (uwep->otyp == BATTLE_AXE)
+ ? c_axe
+ : c_weapon);
+#endif
why = uwep;
}
if (why) {
+/*JP
You("cannot %s to take off %s.", buf, the(xname(otmp)));
+*/
+ You("%s\82ð\82Í\82¸\82»\82¤\82Æ\82µ\82½\82ª%s\81D", xname(otmp), buf);
why->bknown = TRUE;
return 0;
}
if (doff->what == W_WEP) {
if (!cursed(uwep)) {
setuwep((struct obj *) 0);
+/*JP
You("are empty %s.", body_part(HANDED));
+*/
+ You("\89½\82à%s\82É\82µ\82Ä\82¢\82È\82¢\81D", body_part(HAND));
u.twoweap = FALSE;
}
} else if (doff->what == W_SWAPWEP) {
setuswapwep((struct obj *) 0);
+/*JP
You("no longer have a second weapon readied.");
+*/
+ You("\97\\94õ\82Ì\95\90\8aí\82ð\82¨\82³\82ß\82½\81D");
u.twoweap = FALSE;
} else if (doff->what == W_QUIVER) {
setuqwep((struct obj *) 0);
+/*JP
You("no longer have ammunition readied.");
+*/
+ You("\8f\80\94õ\82µ\82½\96î\92e\82ð\82¨\82³\82ß\82½\81D");
} else if (doff->what == WORN_ARMOR) {
otmp = uarm;
if (!cursed(otmp))
doff->delay = 0;
if (doff->what == 0L) {
+/*JP
You("finish %s.", doff->disrobing);
+*/
+ You("\91\95\94õ\82ð\89ð\82«\82¨\82¦\82½\81D");
return 0;
} else if (doff->what == W_WEP) {
doff->delay = 1;
int result = 0;
if (context.takeoff.what || context.takeoff.mask) {
+/*JP
You("continue %s.", context.takeoff.disrobing);
+*/
+ You("\91\95\94õ\82ð\89ð\82\82Ì\82ð\8dÄ\8aJ\82µ\82½\81D");
+/*JP
set_occupation(take_off, context.takeoff.disrobing, 0);
+*/
+ set_occupation(take_off, "\91\95\94õ\82ð\89ð\82", 0);
return 0;
} else if (!uwep && !uswapwep && !uquiver && !uamul && !ublindf && !uleft
&& !uright && !wearing_armor()) {
+/*JP
You("are not wearing anything.");
+*/
+ You("\89½\82à\91\95\94õ\82µ\82Ä\82¢\82È\82¢\81D");
return 0;
}
result = menu_remarm(result);
if (context.takeoff.mask) {
+#if 0 /*JP*//*\93ú\96{\8cê\82Å\82Í\8eg\82í\82È\82¢*/
/* default activity for armor and/or accessories,
possibly combined with weapons */
(void) strncpy(context.takeoff.disrobing, "disrobing", CONTEXTVERBSZ);
if (!(context.takeoff.mask & ~W_WEAPON))
(void) strncpy(context.takeoff.disrobing, "disarming",
CONTEXTVERBSZ);
+#endif
(void) take_off();
}
/* The time to perform the command is already completely accounted for
all_worn_categories = (retry == -2);
} else if (flags.menu_style == MENU_FULL) {
all_worn_categories = FALSE;
+/*JP
n = query_category("What type of things do you want to take off?",
+*/
+ n = query_category("\82Ç\82Ì\83^\83C\83v\82Ì\95¨\82Ì\91\95\94õ\82ð\89ð\82«\82Ü\82·\82©\81H",
invent, WORN_TYPES | ALL_TYPES, &pick_list,
PICK_ANY);
if (!n)
all_worn_categories = TRUE;
}
+/*JP
n = query_objlist("What do you want to take off?", invent,
+*/
+ n = query_objlist("\82Ç\82Ì\91\95\94õ\82ð\89ð\82«\82Ü\82·\82©\81H", invent,
SIGNAL_NOMENU | USE_INVLET | INVORDER_SORT, &pick_list,
PICK_ANY,
all_worn_categories ? is_worn : is_worn_by_type);
(void) select_off(pick_list[i].item.a_obj);
free((genericptr_t) pick_list);
} else if (n < 0 && flags.menu_style != MENU_COMBINATION) {
+/*JP
There("is nothing else you can remove or unwield.");
+*/
+ pline("\91\95\94õ\82ð\89ð\82¯\82é\82à\82Ì\82Í\89½\82à\82È\82¢\81D");
}
return 0;
}
if (DESTROY_ARM(uarmc)) {
if (donning(otmp))
cancel_don();
+/*JP
Your("%s crumbles and turns to dust!", cloak_simple_name(uarmc));
+*/
+ Your("%s\82Í\95²\81X\82É\82È\82Á\82½\81I", cloak_simple_name(uarmc));
(void) Cloak_off();
useup(otmp);
} else if (DESTROY_ARM(uarm)) {
if (donning(otmp))
cancel_don();
+/*JP
Your("armor turns to dust and falls to the %s!", surface(u.ux, u.uy));
+*/
+ Your("\8aZ\82Í\90o\82Æ\82È\82è%s\82É\97\8e\82¿\82½\81I", surface(u.ux,u.uy));
(void) Armor_gone();
useup(otmp);
} else if (DESTROY_ARM(uarmu)) {
if (donning(otmp))
cancel_don();
+/*JP
Your("shirt crumbles into tiny threads and falls apart!");
+*/
+ Your("\83V\83\83\83c\82Í\83Y\83^\83Y\83^\82É\97ô\82¯\81C\8f¬\82³\82È\8e\85\8bû\82Æ\82È\82è\97\8e\82¿\82½\81I");
(void) Shirt_off();
useup(otmp);
} else if (DESTROY_ARM(uarmh)) {
if (donning(otmp))
cancel_don();
+/*JP
Your("%s turns to dust and is blown away!", helm_simple_name(uarmh));
+*/
+ Your("%s\82Í\90o\82Æ\82È\82è\90\81\82«\82Æ\82ñ\82¾\81I", helm_simple_name(uarmh));
(void) Helmet_off();
useup(otmp);
} else if (DESTROY_ARM(uarmg)) {
if (donning(otmp))
cancel_don();
+/*JP
Your("gloves vanish!");
+*/
+ Your("\8f¬\8eè\82Í\8fÁ\82¦\82½\81I");
(void) Gloves_off();
useup(otmp);
+/*JP
selftouch("You");
+*/
+ selftouch("\82»\82Ì\82Æ\82«\82 \82È\82½\82Í");
} else if (DESTROY_ARM(uarmf)) {
if (donning(otmp))
cancel_don();
+/*JP
Your("boots disintegrate!");
+*/
+ Your("\8cC\82Í\95²\81X\82É\8dÓ\82¯\82½\81I");
(void) Boots_off();
useup(otmp);
} else if (DESTROY_ARM(uarms)) {
if (donning(otmp))
cancel_don();
+/*JP
Your("shield crumbles away!");
+*/
+ Your("\8f\82\82Í\8dÓ\82¯\8eU\82Á\82½\81I");
(void) Shield_off();
useup(otmp);
} else {
/* 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_DCL int NDECL(pet_type);
if (!quietly)
/* have just been given "You <do something with>
the figurine and it transforms." message */
+/*JP
pline("... into a pile of dust.");
+*/
+ pline("\81D\81D\81D\82»\82µ\82Ä\82¿\82è\82Ì\8eR\82É\82È\82Á\82½\81D");
break; /* mtmp is null */
}
} else if (!rn2(3)) {
pm = rndmonst();
if (!pm) {
if (!quietly)
+/*JP
There("seems to be nothing available for a familiar.");
+*/
+ pline("\89º\96l\82Í\8c»\82ê\82È\82©\82Á\82½\81D");
break;
}
}
mtmp = makemon(pm, x, y, MM_EDOG | MM_IGNOREWATER | NO_MINVENT);
if (otmp && !mtmp) { /* monster was genocided or square occupied */
if (!quietly)
+/*JP
pline_The("figurine writhes and then shatters into pieces!");
+*/
+ pline("\90l\8c`\82Í\82à\82ª\82«\81C\82\82¾\82¯\8eU\82Á\82½\81I");
break;
}
} while (!mtmp && --trycnt > 0);
mtmp->mtame = 0; /* not tame after all */
if (chance == 2) { /* hostile (cursed figurine) */
if (!quietly)
+/*JP
You("get a bad feeling about this.");
+*/
+ You("\8c\99\82È\97\\8a´\82ª\82µ\82½\81D");
mtmp->mpeaceful = 0;
set_malign(mtmp);
}
if (!*petname && pettype == PM_LITTLE_DOG) {
/* All of these names were for dogs. */
if (Role_if(PM_CAVEMAN))
+#if 0 /*JP*/
petname = "Slasher"; /* The Warrior */
+#else
+ petname = "\83X\83\89\83b\83V\83\83\81[";
+#endif
if (Role_if(PM_SAMURAI))
+#if 0 /*JP*/
petname = "Hachi"; /* Shibuya Station */
+#else
+ petname = "\83n\83`\8cö";
+#endif
if (Role_if(PM_BARBARIAN))
+#if 0 /*JP*/
petname = "Idefix"; /* Obelix */
+#else
+ petname = "\83C\83f\83t\83B\83N\83X";
+#endif
if (Role_if(PM_RANGER))
+#if 0 /*JP*/
petname = "Sirius"; /* Orion's dog */
+#else
+ petname = "\83V\83\8a\83E\83X";
+#endif
}
mtmp = makemon(&mons[pettype], u.ux, u.uy, MM_EDOG);
mdrop_special_objs(mtmp); /* drop Amulet */
} else if (mtmp->meating || mtmp->mtrapped) {
if (canseemon(mtmp))
+#if 0 /*JP*/
pline("%s is still %s.", Monnam(mtmp),
mtmp->meating ? "eating" : "trapped");
+#else
+ pline("%s\82Í\82Ü\82¾%s\81D", Monnam(mtmp),
+ mtmp->meating ? "\90H\82×\82Ä\82¢\82é" : "ã©\82É\82©\82©\82Á\82½\82Ü\82Ü\82¾");
+#endif
stay_behind = TRUE;
} else if (mon_has_amulet(mtmp)) {
if (canseemon(mtmp))
+/*JP
pline("%s seems very disoriented for a moment.",
+*/
+ pline("%s\82Í\88ê\8fu\95û\8cü\8a´\8ao\82ð\8e¸\82Á\82½\82æ\82¤\82¾\81D",
Monnam(mtmp));
stay_behind = TRUE;
}
if (stay_behind) {
if (mtmp->mleashed) {
+#if 0 /*JP*/
pline("%s leash suddenly comes loose.",
humanoid(mtmp->data)
? (mtmp->female ? "Her" : "His")
: "Its");
+#else
+ pline("%s\82É\8c\8b\82Î\82ê\82½\95R\82Í\93Ë\91R\82ä\82é\82ñ\82¾\81D",
+ humanoid(mtmp->data)
+ ? (mtmp->female ? "\94Þ\8f\97" : "\94Þ")
+ : "\82»\82Ì\90¶\95¨");
+#endif
m_unleash(mtmp, FALSE);
}
if (mtmp == u.usteed) {
} else if (mtmp->mleashed) {
/* this can happen if your quest leader ejects you from the
"home" level while a leashed pet isn't next to you */
+/*JP
pline("%s leash goes slack.", s_suffix(Monnam(mtmp)));
+*/
+ pline("%s\82É\8c\8b\82Î\82ê\82½\95R\82Í\82½\82é\82ñ\82¾\81D", Monnam(mtmp));
m_unleash(mtmp, FALSE);
}
}
boolean big_corpse =
(obj->otyp == CORPSE && obj->corpsenm >= LOW_PM
&& mons[obj->corpsenm].msize > mtmp->data->msize);
+#if 0 /*JP*/
pline("%s catches %s%s", Monnam(mtmp), the(xname(obj)),
!big_corpse ? "." : ", or vice versa!");
+#else
+ pline("%s\82Í%s\82ð\82Â\82©\82Ü\82¦\82½%s",
+ Monnam(mtmp), xname(obj),
+ !big_corpse ? "\81D" : "\81C\82Æ\8c¾\82¤\82æ\82è\82»\82Ì\8bt\82©\81I");
+#endif
} else if (cansee(mtmp->mx, mtmp->my))
+/*JP
pline("%s.", Tobjnam(obj, "stop"));
+*/
+ pline("%s\82Í\8e~\82Ü\82Á\82½\81D", xname(obj));
/* dog_eat expects a floor object */
place_object(obj, mtmp->mx, mtmp->my);
(void) dog_eat(mtmp, obj, mtmp->mx, mtmp->my, FALSE);
if (!quietly && cansee(mtmp->mx, mtmp->my)) {
if (haseyes(youmonst.data)) {
if (haseyes(mtmp->data))
+#if 0 /*JP*/
pline("%s %s to look you in the %s.", Monnam(mtmp),
mtmp->mpeaceful ? "seems unable" : "refuses",
body_part(EYE));
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì%s%s\81D", Monnam(mtmp),
+ body_part(EYE),
+ mtmp->mpeaceful ? "\82ð\8c©\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\82æ\82¤\82¾" :
+ "\82©\82ç\96Ú\82ð\82»\82ç\82µ\82½");
+#endif
else
+/*JP
pline("%s avoids your gaze.", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\82É\82ç\82Ý\82ð\89ñ\94ð\82µ\82½\81D", Monnam(mtmp));
}
}
} else {
/* 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"
#include "mfndpos.h"
pet eats visible food. */
if (sawpet || (seeobj && canspotmon(mtmp))) {
if (tunnels(mtmp->data))
+/*JP
pline("%s digs in.", noit_Monnam(mtmp));
+*/
+ pline("%s\82Í\8c@\82Á\82Ä\82¢\82é\81D", noit_Monnam(mtmp));
else
+#if 0 /*JP*/
pline("%s %s %s.", noit_Monnam(mtmp),
devour ? "devours" : "eats", distant_name(obj, doname));
+#else
+ pline("%s\82Í%s\82ð%s\82¢\82é\81D", noit_Monnam(mtmp),
+ distant_name(obj, doname), devour ? "\88ù\82Ý\8d\9e\82ñ\82Å" : "\90H\82×\82Ä");
+#endif
} else if (seeobj)
+#if 0 /*JP*/
pline("It %s %s.", devour ? "devours" : "eats",
distant_name(obj, doname));
+#else
+ pline("\82»\82ê\82Í%s\82ð%s\82¢\82é\81D", distant_name(obj, doname),
+ devour ? "\88ù\82Ý\8d\9e\82ñ\82Å" : "\90H\82×\82Ä");
+#endif
}
if (obj->unpaid) {
Strcpy(objnambuf, xname(obj));
obj->oerodeproof = 0;
mtmp->mstun = 1;
if (canseemon(mtmp) && flags.verbose) {
+#if 0 /*JP:T*/
pline("%s spits %s out in disgust!", Monnam(mtmp),
distant_name(obj, doname));
+#else
+ pline("%s\82Í%s\82ð\83y\83b\82Æ\93f\82«\8fo\82µ\82½\81I", Monnam(mtmp),
+ distant_name(obj,doname));
+#endif
}
} else if (obj == uball) {
unpunish();
if (mtmp->mhp < 1)
goto dog_died;
if (cansee(mtmp->mx, mtmp->my))
+/*JP
pline("%s is confused from hunger.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8bó\95 \82Ì\82½\82ß\8d¬\97\90\82µ\82Ä\82¢\82é\81D", Monnam(mtmp));
else if (couldsee(mtmp->mx, mtmp->my))
beg(mtmp);
else
+/*JP
You_feel("worried about %s.", y_monnam(mtmp));
+*/
+ You("%s\82ª\90S\94z\82É\82È\82Á\82½\81D", y_monnam(mtmp));
stop_occupation();
} else if (monstermoves > edog->hungrytime + 750 || mtmp->mhp < 1) {
dog_died:
if (mtmp->mleashed && mtmp != u.usteed)
+/*JP
Your("leash goes slack.");
+*/
+ Your("\95R\82Í\82½\82é\82ñ\82¾\81D");
else if (cansee(mtmp->mx, mtmp->my))
+/*JP
pline("%s starves.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8bQ\82¦\82Å\8e\80\82ñ\82¾\81D", Monnam(mtmp));
else
+#if 0 /*JP*/
You_feel("%s for a moment.",
Hallucination ? "bummed" : "sad");
+#else
+ You("%s\8bC\95ª\82É\82¨\82»\82í\82ê\82½\81D",
+ Hallucination ? "\82ª\82Á\82©\82è\82µ\82½" : "\94ß\82µ\82¢");
+#endif
mondied(mtmp);
return TRUE;
}
if (carryamt != obj->quan)
otmp = splitobj(obj, carryamt);
if (cansee(omx, omy) && flags.verbose)
+#if 0 /*JP:T*/
pline("%s picks up %s.", Monnam(mtmp),
distant_name(otmp, doname));
+#else
+ pline("%s\82Í%s\82ð\8fE\82Á\82½\81D", Monnam(mtmp),
+ distant_name(obj, doname));
+#endif
obj_extract_self(otmp);
newsym(omx, omy);
(void) mpickobj(mtmp, otmp);
if (!Conflict && !mtmp->mconf
&& mtmp == u.ustuck && !sticks(youmonst.data)) {
unstuck(mtmp); /* swallowed case handled above */
+/*JP
You("get released!");
+*/
+ You("\93®\82¯\82é\82æ\82¤\82É\82È\82Á\82½\81I");
}
#endif
if (!nohands(mtmp->data) && !verysmall(mtmp->data)) {
if (info[chi] & ALLOW_U) {
if (mtmp->mleashed) { /* play it safe */
+#if 0 /*JP:T*/
pline("%s breaks loose of %s leash!", Monnam(mtmp),
mhis(mtmp));
+#else
+ pline("%s\82Í\8e©\95ª\82É\82Â\82¢\82Ä\82¢\82é\95R\82ð\82Í\82¸\82µ\82½\81I",
+ Monnam(mtmp));
+#endif
m_unleash(mtmp, FALSE);
}
(void) mattacku(mtmp);
remove_monster(omx, omy);
place_monster(mtmp, nix, niy);
if (cursemsg[chi] && (wasseen || canseemon(mtmp)))
+/*JP
pline("%s moves only reluctantly.", noit_Monnam(mtmp));
+*/
+ pline("%s\82Í\82¢\82â\82¢\82â\93®\82¢\82½\81D", Monnam(mtmp));
for (j = MTSZ - 1; j > 0; j--)
mtmp->mtrack[j] = mtmp->mtrack[j - 1];
mtmp->mtrack[0].x = omx;
/* 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])
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)
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;
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);
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;
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);
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;
}
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 {
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"
? "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;
}
} 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 {
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) {
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
}
}
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;
}
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)
* 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;
}
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
}
}
}
|| 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);
}
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);
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);
}
} 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);
*/
if (range < 2) {
if (!Is_box(kickedobj))
+/*JP
pline("Thump!");
+*/
+ pline("\83S\83c\83\93\81I");
return (!rn2(3) || martial());
}
}
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);
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);
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
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 {
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;
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) {
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;
}
}
}
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;
}
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;
}
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 */
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);
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 */
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);
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);
/* 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)
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);
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;
}
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);
} 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);
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];
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));
}
/* 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;
}
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) {
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;
}
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))
&& 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;
}
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
}
}
}
|| 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;
{
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 */
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;
/* Contains code for 't' (throw) */
+/* 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_DCL int FDECL(throw_obj, (struct obj *, int));
if (obj->oclass == COIN_CLASS && obj != uquiver)
return throw_gold(obj);
+/*JP
if (!canletgo(obj, "throw"))
+*/
+ if (!canletgo(obj, "\93\8a\82°\82é"))
return 0;
if (obj->oartifact == ART_MJOLLNIR && obj != uwep) {
+/*JP
pline("%s must be wielded before it can be thrown.", The(xname(obj)));
+*/
+ pline("\93\8a\82°\82é\91O\82É%s\82ð\91\95\94õ\82µ\82È\82\82Ä\82Í\82È\82ç\82È\82¢\81D", xname(obj));
return 0;
}
if ((obj->oartifact == ART_MJOLLNIR && ACURR(A_STR) < STR19(25))
|| (obj->otyp == BOULDER && !throws_rocks(youmonst.data))) {
+/*JP
pline("It's too heavy.");
+*/
+ pline("\8fd\82·\82¬\82Ä\93\8a\82°\82ç\82ê\82È\82¢\81D");
return 1;
}
if (!u.dx && !u.dy && !u.dz) {
+/*JP
You("cannot throw an object at yourself.");
+*/
+ pline("\8e©\95ª\82É\8cü\82©\82Á\82Ä\82Í\93\8a\82°\82ç\82ê\82È\82¢\81D");
return 0;
}
u_wipe_engr(2);
if (!uarmg && obj->otyp == CORPSE && touch_petrifies(&mons[obj->corpsenm])
&& !Stone_resistance) {
+#if 0 /*JP*/
You("throw %s with your bare %s.",
corpse_xname(obj, (const char *) 0, CXN_PFX_THE),
/* throwing with one hand, but pluralize since the
expression "with your bare hands" sounds better */
makeplural(body_part(HAND)));
+#else
+ You("\91f%s\82Å%s\82Ì\8e\80\91Ì\82ð\93\8a\82°\82½\81D",
+ body_part(HAND),
+ corpse_xname(obj, (const char *) 0, CXN_PFX_THE));
+#endif
+/*JP
Sprintf(killer.name, "throwing %s bare-handed", killer_xname(obj));
+*/
+ Sprintf(killer.name, "%s\82Ì\8e\80\91Ì\82ð\91f\8eè\82Å\93\8a\82°\82Ä", killer_xname(obj));
instapetrify(killer.name);
}
if (welded(obj)) {
attempted to specify a count */
if (multishot > 1 || shotlimit > 0) {
/* "You shoot N arrows." or "You throw N daggers." */
+#if 0 /*JP*/
You("%s %d %s.", m_shot.s ? "shoot" : "throw",
multishot, /* (might be 1 if player gave shotlimit) */
(multishot == 1) ? singular(obj, xname) : xname(obj));
+#else
+ You("%d%s\82Ì%s\82ð%s\81D",
+ multishot,
+ numeral(obj), xname(obj),
+ m_shot.s ? "\8c\82\82Á\82½" : "\93\8a\82°\82½");
+#endif
}
wep_mask = obj->owornmask;
multi = 0; /* reset; it's been used up */
if (notake(youmonst.data)) {
+/*JP
You("are physically incapable of throwing or shooting anything.");
+*/
+ You("\89½\82©\82ð\93\8a\82°\82é\82Ì\82Í\95¨\97\9d\93I\82É\96³\97\9d\82¾\81D");
return FALSE;
} else if (nohands(youmonst.data)) {
You_cant("throw or shoot without hands."); /* not body_part(HAND) */
if ((obj = uquiver) == 0) {
if (!flags.autoquiver) {
+/*JP
You("have no ammunition readied.");
+*/
+ You("\94\8eË\8f\80\94õ\82ª\90®\82Á\82Ä\82¢\82È\82¢\81I");
} else {
autoquiver();
if ((obj = uquiver) == 0)
+/*JP
You("have nothing appropriate for your quiver.");
+*/
+ You("\94\8eË\82·\82é\82à\82Ì\82ª\82È\82¢\81D");
}
/* if autoquiver is disabled or has failed, prompt for missile;
fill quiver with it if it's not wielded */
{
if (m_shot.i < m_shot.n) {
if (verbose && !context.mon_moving) {
+#if 0 /*JP*/
You("stop %s after the %d%s %s.",
m_shot.s ? "firing" : "throwing", m_shot.i, ordin(m_shot.i),
m_shot.s ? "shot" : "toss");
+#else
+ You("%d\94\96Ú\82ð%s\82Æ\82±\82ë\82Å\8ec\82è\82ð%s\82Ì\82ð\82â\82ß\82½\81D", m_shot.i,
+ m_shot.s ? "\8c\82\82Á\82½" : "\93\8a\82°\82½",
+ m_shot.s ? "\8c\82\82Â" : "\93\8a\82°\82é");
+#endif
}
m_shot.n = m_shot.i; /* make current shot be the last */
}
if (IS_ALTAR(levl[u.ux][u.uy].typ))
doaltarobj(obj);
else
+#if 0 /*JP*/
pline("%s hit%s the %s.", Doname2(obj), (obj->quan == 1L) ? "s" : "",
surface(u.ux, u.uy));
+#else
+ pline("%s\82Í%s\82É\96½\92\86\82µ\82½\81D", Doname2(obj),
+ surface(u.ux,u.uy));
+#endif
if (hero_breaks(obj, u.ux, u.uy, TRUE))
return;
int dmg = 0;
if (!isok(x, y)) {
+/*JP
You_feel("the spirits holding you back.");
+*/
+ You_feel("\82 \82È\82½\82ð\95ß\82Ü\82¦\82Ä\82¢\82½\8d°\82ª\96ß\82Á\82½\8bC\82ª\82µ\82½\81D");
return FALSE;
} else if (!in_out_region(x, y)) {
return FALSE;
if (IS_ROCK(levl[x][y].typ) || closed_door(x, y)) {
const char *s;
+/*JP
pline("Ouch!");
+*/
+ pline("\82¢\82Ä\82Á\81I");
if (IS_TREE(levl[x][y].typ))
+/*JP
s = "bumping into a tree";
+*/
+ s = "\96Ø\82É\82Ô\82¿\82 \82½\82Á\82Ä";
else if (IS_ROCK(levl[x][y].typ))
+/*JP
s = "bumping into a wall";
+*/
+ s = "\95Ç\82É\82Ô\82¿\82 \82½\82Á\82Ä";
else
+/*JP
s = "bumping into a door";
+*/
+ s = "\94à\82É\82Ô\82¿\82 \82½\82Á\82Ä";
dmg = rnd(2 + *range);
losehp(Maybe_Half_Phys(dmg), s, KILLED_BY);
wake_nearto(x,y, 10);
return FALSE;
}
if (levl[x][y].typ == IRONBARS) {
+/*JP
You("crash into some iron bars. Ouch!");
+*/
+ You("\93S\82Ì\96_\82É\82Ô\82¿\82 \82½\82Á\82½\81D\82¢\82Ä\82Á\81I");
dmg = rnd(2 + *range);
+#if 0 /*JP*/
losehp(Maybe_Half_Phys(dmg), "crashing into iron bars",
KILLED_BY);
+#else
+ losehp(Maybe_Half_Phys(dmg), "\93S\82Ì\96_\82É\82Ô\82¿\82 \82½\82Á\82Ä",
+ KILLED_BY);
+#endif
wake_nearto(x,y, 20);
return FALSE;
}
if ((obj = sobj_at(BOULDER, x, y)) != 0) {
+/*JP
You("bump into a %s. Ouch!", xname(obj));
+*/
+ You("%s\82É\82Ô\82¿\82 \82½\82Á\82½\81D\82¢\82Ä\82Á\81I", xname(obj));
dmg = rnd(2 + *range);
+/*JP
losehp(Maybe_Half_Phys(dmg), "bumping into a boulder", KILLED_BY);
+*/
+ losehp(Maybe_Half_Phys(dmg), "\8aâ\82É\82Ô\82¿\82 \82½\82Á\82Ä", KILLED_BY);
wake_nearto(x,y, 10);
return FALSE;
}
if (!may_pass) {
/* did we hit a no-dig non-wall position? */
+/*JP
You("smack into something!");
+*/
+ You("\89½\82©\82É\82Ô\82¿\82 \82½\82Á\82½\81I");
dmg = rnd(2 + *range);
+#if 0 /*JP*/
losehp(Maybe_Half_Phys(dmg), "touching the edge of the universe",
KILLED_BY);
+#else
+ losehp(Maybe_Half_Phys(dmg), "\90¢\8aE\82Ì\89Ê\82Ä\82É\90G\82ê\82Ä",
+ KILLED_BY);
+#endif
wake_nearto(x,y, 10);
return FALSE;
}
(invent && (inv_weight() + weight_cap() > 600));
/* Move at a diagonal. */
if (bigmonst(youmonst.data) || too_much) {
+#if 0 /*JP*/
You("%sget forcefully wedged into a crevice.",
too_much ? "and all your belongings " : "");
+#else
+ You("%s\82Í\82Þ\82è\82â\82è\82·\82«\8aÔ\82É\89\9f\82µ\8d\9e\82ß\82ç\82ê\82½\81D",
+ too_much ? "\82Æ\91S\95\94\82Ì\89×\95¨" : "");
+#endif
dmg = rnd(2 + *range);
+#if 0 /*JP*/
losehp(Maybe_Half_Phys(dmg), "wedging into a narrow crevice",
KILLED_BY);
+#else
+ losehp(Maybe_Half_Phys(dmg), "\8b·\82¢\82·\82«\8aÔ\82É\89\9f\82µ\8d\9e\82ß\82ç\82ê\82Ä",
+ KILLED_BY);
+#endif
wake_nearto(x,y, 10);
return FALSE;
}
}
if ((mon = m_at(x, y)) != 0) {
+/*JP
You("bump into %s.", a_monnam(mon));
+*/
+ You("%s\82É\82Ô\82¿\82 \82½\82Á\82½\81D", a_monnam(mon));
wakeup(mon);
wake_nearto(x,y, 10);
return FALSE;
&& bad_rock(youmonst.data, x, u.uy)) {
/* Move at a diagonal. */
if (Sokoban) {
+/*JP
You("come to an abrupt halt!");
+*/
+ You("\82Æ\82Â\82º\82ñ\92â\8e~\82µ\82½\81I");
return FALSE;
}
}
return TRUE;
} else {
if (ttmp->tseen)
+#if 0 /*JP*/
You("pass right over %s.",
an(defsyms[trap_to_defsym(ttmp->ttyp)].explanation));
+#else
+ You("%s\82Ì\90^\8fã\82ð\92Ê\89ß\82µ\82½\81D",
+ defsyms[trap_to_defsym(ttmp->ttyp)].explanation);
+#endif
}
}
if (--*range < 0) /* make sure our range never goes negative */
* for diagonal movement, give the player a message and return.
*/
if (Punished && !carried(uball)) {
+/*JP
You_feel("a tug from the iron ball.");
+*/
+ You_feel("\93S\8b\85\82É\82Ð\82Á\82Ï\82ç\82ê\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
nomul(0);
return;
} else if (u.utrap) {
+#if 0 /*JP*/
You("are anchored by the %s.",
u.utraptype == TT_WEB
? "web"
? surface(u.ux, u.uy)
: u.utraptype == TT_BURIEDBALL ? "buried ball"
: "trap");
+#else
+ You("%s\82É\90\98\82¦\82Â\82¯\82ç\82ê\82Ä\82¢\82é\81D",
+ u.utraptype == TT_WEB
+ ? "\82\82à\82Ì\91\83"
+ : u.utraptype == TT_LAVA
+ ? "\97n\8aâ"
+ : u.utraptype == TT_INFLOOR
+ ? surface(u.ux,u.uy)
+ : u.utraptype == TT_BURIEDBALL ? "\96\84\82Ü\82Á\82Ä\82¢\82é\8b\85"
+ : "ã©");
+#endif
nomul(0);
return;
}
multi_reason = "moving through the air";
nomovemsg = ""; /* it just happens */
if (verbose)
+/*JP
You("%s in the opposite direction.", range > 1 ? "hurtle" : "float");
+*/
+ You("\8bt\95û\8cü\82É\94ò\82Î\82³\82ê\82½\81D");
/* if we're in the midst of shooting multiple projectiles, stop */
endmultishot(TRUE);
sokoban_guilt();
/* note: obj->quan == 1 */
if (!has_ceiling(&u.uz)) {
+#if 0 /*JP*/
action = "flies up into"; /* into "the sky" or "the water above" */
+#else
+ action = "\82Ì\92\86\82ð\94ò\82ñ\82¾"; /* into "the sky" or "the water above" */
+#endif
} else if (hitsroof) {
if (breaktest(obj)) {
+/*JP
pline("%s hits the %s.", Doname2(obj), ceiling(u.ux, u.uy));
+*/
+ pline("%s\82Í%s\82É\96½\92\86\82µ\82½\81D", Doname2(obj), ceiling(u.ux, u.uy));
breakmsg(obj, !Blind);
breakobj(obj, u.ux, u.uy, TRUE, TRUE);
return FALSE;
}
+/*JP
action = "hits";
+*/
+ action = "\82É\96½\92\86\82µ\82½";
} else {
+/*JP
action = "almost hits";
+*/
+ action = "\82É\82à\82¤\8f\82µ\82Å\96½\92\86\82·\82é\82Æ\82±\82ë\82¾\82Á\82½";
}
+#if 0 /*JP*/
pline("%s %s the %s, then falls back on top of your %s.", Doname2(obj),
action, ceiling(u.ux, u.uy), body_part(HEAD));
+#else
+ pline("%s\82Í%s%s\81C\82»\82µ\82Ä%s\82Ì\8fã\82É\97\8e\82¿\82Ä\82«\82½\81D", Doname2(obj),
+ ceiling(u.ux, u.uy), action, body_part(HEAD));
+#endif
/* object now hits you */
}
case CREAM_PIE:
case BLINDING_VENOM:
+/*JP
pline("You've got it all over your %s!", body_part(FACE));
+*/
+ pline("\82»\82ê\82Í%s\82ð\82×\82Á\82Æ\82è\82Æ\95¢\82Á\82½\81I", body_part(FACE));
if (blindinc) {
if (otyp == BLINDING_VENOM && !Blind)
+/*JP
pline("It blinds you!");
+*/
+ pline("\96Ú\82ª\8c©\82¦\82È\82\82È\82Á\82½\81I");
u.ucreamed += blindinc;
make_blinded(Blinded + (long) blindinc, FALSE);
if (!Blind)
if (uarmh) {
if (less_damage && dmg < (Upolyd ? u.mh : u.uhp)) {
if (!artimsg)
+/*JP
pline("Fortunately, you are wearing a hard helmet.");
+*/
+ pline("\8dK\89^\82É\82à\81C\82 \82È\82½\82Í\8cÅ\82¢\8a\95\82ð\90g\82É\82Â\82¯\82Ä\82¢\82½\81D");
/* helmet definitely protects you when it blocks petrification
*/
} else if (!petrifier) {
if (flags.verbose)
+/*JP
Your("%s does not protect you.", helm_simple_name(uarmh));
+*/
+ Your("%s\82Å\82Í\96h\82¬\82«\82ê\82È\82©\82Á\82½\81D", helm_simple_name(uarmh));
}
} else if (petrifier && !Stone_resistance
&& !(poly_when_stoned(youmonst.data)
&& polymon(PM_STONE_GOLEM))) {
petrify:
killer.format = KILLED_BY;
+#if 0 /*JP*/
Strcpy(killer.name, "elementary physics"); /* "what goes up..." */
+#else
+ Strcpy(killer.name, "\8f\89\93\99\95¨\97\9d\82É\82æ\82è"); /* "what goes up..." */
+#endif
+/*JP
You("turn to stone.");
+*/
+ You("\90Î\82É\82È\82Á\82½\81D");
if (obj)
dropy(obj); /* bypass most of hitfloor() */
thrownobj = 0; /* now either gone or on floor */
}
hitfloor(obj);
thrownobj = 0;
+#if 0 /*JP*/
losehp(Maybe_Half_Phys(dmg), "falling object", KILLED_BY_AN);
+#else
+ losehp(Maybe_Half_Phys(dmg), "\97\8e\89º\95¨\82Å", KILLED_BY_AN);
+#endif
}
return TRUE;
}
if ((obj->cursed || obj->greased) && (u.dx || u.dy) && !rn2(7)) {
boolean slipok = TRUE;
if (ammo_and_launcher(obj, uwep))
+/*JP
pline("%s!", Tobjnam(obj, "misfire"));
+*/
+ pline("%s\82Í\82Í\82¸\82ê\82½\81I", xname(obj));
else {
/* only slip if it's greased or meant to be thrown */
if (obj->greased || throwing_weapon(obj))
/* BUG: this message is grammatically incorrect if obj has
a plural name; greased gloves or boots for instance. */
+/*JP
pline("%s as you throw it!", Tobjnam(obj, "slip"));
+*/
+ pline("%s\82ð\93\8a\82°\82æ\82¤\82Æ\82µ\82½\82ª\81C\82¸\82è\97\8e\82¿\82Ä\82µ\82Ü\82Á\82½\81I", xname(obj));
else
slipok = FALSE;
}
: (u.uhp < 10 && u.uhp != u.uhpmax))
&& obj->owt > (unsigned) ((Upolyd ? u.mh : u.uhp) * 2)
&& !Is_airlevel(&u.uz)) {
+/*JP
You("have so little stamina, %s drops from your grasp.",
+*/
+ You("\88¬\97Í\82ª\82È\82\82È\82Á\82Ä\82¢\82½\82Ì\82Å\81C%s\82ð\88¬\82è\82»\82±\82Ë\82Ä\97\8e\82Æ\82µ\82½\81D",
the(xname(obj)));
exercise(A_CON, FALSE);
u.dx = u.dy = 0;
} else if (u.dz) {
if (u.dz < 0 && Role_if(PM_VALKYRIE) && obj->oartifact == ART_MJOLLNIR
&& !impaired) {
+#if 0 /*JP*/
pline("%s the %s and returns to your hand!", Tobjnam(obj, "hit"),
ceiling(u.ux, u.uy));
+#else
+ pline("%s\82Í%s\82É\96½\92\86\82µ\82 \82È\82½\82Ì\8eè\82É\96ß\82Á\82Ä\82«\82½\81I", xname(obj),
+ ceiling(u.ux,u.uy));
+#endif
obj = addinv(obj);
(void) encumber_msg();
setuwep(obj);
sho_obj_return_to_u(obj); /* display its flight */
if (!impaired && rn2(100)) {
+/*JP
pline("%s to your hand!", Tobjnam(obj, "return"));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\8eè\82É\96ß\82Á\82Ä\82«\82½\81I", xname(obj));
obj = addinv(obj);
(void) encumber_msg();
setuwep(obj);
} else {
int dmg = rn2(2);
if (!dmg) {
+#if 0 /*JP*/
pline(Blind ? "%s lands %s your %s."
: "%s back to you, landing %s your %s.",
Blind ? Something : Tobjnam(obj, "return"),
Levitation ? "beneath" : "at",
makeplural(body_part(FOOT)));
+#else
+ pline("%s\82Í%s\82 \82È\82½\82Ì%s\82Ì%s\82É\97\8e\82¿\82½\81D",
+ xname(obj),
+ Blind ? "" : "\96ß\82Á\82Ä\82«\82Ä\81C",
+ body_part(FOOT),
+ Levitation ? "\89º" : "\82»\82Î");
+#endif
} else {
dmg += rnd(3);
+#if 0 /*JP*/
pline(Blind ? "%s your %s!"
: "%s back toward you, hitting your %s!",
Tobjnam(obj, Blind ? "hit" : "fly"),
body_part(ARM));
+#else
+ pline("%s\82Í%s\82 \82È\82½\82Ì%s\82É\96½\92\86\82µ\82½\81I",
+ xname(obj),
+ Blind ? "" : "\96ß\82Á\82Ä\82«\82Ä\81C",
+ body_part(ARM));
+#endif
(void) artifact_hit((struct monst *) 0, &youmonst, obj,
&dmg, 0);
+#if 0 /*JP*/
losehp(Maybe_Half_Phys(dmg), killer_xname(obj),
KILLED_BY);
+#else
+ {
+ char jbuf[BUFSZ];
+ Sprintf(jbuf, "%s\82Å", xname(obj));
+ losehp(Maybe_Half_Phys(dmg), jbuf, KILLED_BY);
+ }
+#endif
}
if (ship_object(obj, u.ux, u.uy, FALSE)) {
thrownobj = (struct obj *) 0;
thrownobj = (struct obj *) 0;
return;
}
+/*JP
if (flooreffects(obj, bhitpos.x, bhitpos.y, "fall")) {
+*/
+ if (flooreffects(obj,bhitpos.x, bhitpos.y, "\97\8e\82¿\82é")) {
thrownobj = (struct obj *) 0;
return;
}
obj_no_longer_held(obj);
if (mon && mon->isshk && is_pick(obj)) {
if (cansee(bhitpos.x, bhitpos.y))
+/*JP
pline("%s snatches up %s.", Monnam(mon), the(xname(obj)));
+*/
+ pline("%s\82Í%s\82ð\92D\82¢\82Æ\82Á\82½\81D", Monnam(mon), xname(obj));
if (*u.ushops || obj->unpaid)
check_shop_obj(obj, bhitpos.x, bhitpos.y, FALSE);
(void) mpickobj(mon, obj); /* may merge and free obj */
an arrow just landing short of any target (no message in that case),
so will realize that there is a valid target here anyway. */
if (!canseemon(mon) || (mon->m_ap_type && mon->m_ap_type != M_AP_MONSTER))
+/*JP
pline("%s %s.", The(missile), otense(obj, "miss"));
+*/
+ pline("%s\82Í\82Í\82¸\82ê\82½\81D", missile);
else
miss(missile, mon);
if (maybe_wakeup && !rn2(3))
tmiss(obj, mon, FALSE);
return 0;
} else if (mon->mtame) {
+/*JP
pline("%s catches and drops %s.", Monnam(mon), the(xname(obj)));
+*/
+ pline("%s\82Í%s\82ð\82\82í\82¦\82Ä\92u\82¢\82½\81D", Monnam(mon), xname(obj));
return 0;
} else {
+/*JP
pline("%s catches %s.", Monnam(mon), the(xname(obj)));
+*/
+ pline("%s\82Í%s\82ð\82\82í\82¦\82½\81D", Monnam(mon), xname(obj));
return gem_accept(mon, obj);
}
}
mon->mstrategy &= ~STRAT_WAITMASK;
if (mon->mcanmove) {
+/*JP
pline("%s catches %s.", Monnam(mon), the(xname(obj)));
+*/
+ pline("%s\82Í%s\82ð\92Í\82ñ\82¾\81D", Monnam(mon), xname(obj));
if (mon->mpeaceful) {
boolean next2u = monnear(mon, u.ux, u.uy);
finish_quest(obj); /* acknowledge quest completion */
+#if 0 /*JP*/
pline("%s %s %s back to you.", Monnam(mon),
(next2u ? "hands" : "tosses"), the(xname(obj)));
+#else
+ pline("%s\82Í%s\82ð\82 \82È\82½\82É\95Ô\82µ\82½\81D", Monnam(mon),
+ xname(obj));
+#endif
if (!next2u)
sho_obj_return_to_u(obj);
obj = addinv(obj); /* back into your inventory */
}
}
}
+#if 0 /*JP*/
pline("%s into %s %s.", Tobjnam(obj, "vanish"),
s_suffix(mon_nam(mon)),
is_animal(u.ustuck->data) ? "entrails" : "currents");
+#else
+ pline("%s\82Í%s\82Ì%s\82Ö\8fÁ\82¦\82½\81D", xname(obj),
+ mon_nam(mon),
+ is_animal(u.ustuck->data) ? "\93à\91\9f\82Ì\92\86" : "\97¬\82ê");
+#endif
} else {
tmiss(obj, mon, TRUE);
}
boolean is_buddy = sgn(mon->data->maligntyp) == sgn(u.ualign.type);
boolean is_gem = objects[obj->otyp].oc_material == GEMSTONE;
int ret = 0;
+/*JP
static NEARDATA const char nogood[] = " is not interested in your junk.";
+*/
+ static NEARDATA const char nogood[] = "\82 \82È\82½\82Ì\83K\83\89\83N\83^\82É\8b»\96¡\82ð\8e¦\82³\82È\82¢\81D";
+/*JP
static NEARDATA const char acceptgift[] = " accepts your gift.";
+*/
+ static NEARDATA const char acceptgift[] = "\82 \82È\82½\82Ì\91¡\82è\95¨\82ð\8eó\82¯\82Æ\82Á\82½\81D";
+/*JP
static NEARDATA const char maybeluck[] = " hesitatingly";
+*/
+ static NEARDATA const char maybeluck[] = "\82½\82ß\82ç\82¢\82È\82ª\82ç";
+/*JP
static NEARDATA const char noluck[] = " graciously";
+*/
+ static NEARDATA const char noluck[] = "\92\9a\8fd\82É";
+/*JP
static NEARDATA const char addluck[] = " gratefully";
+*/
+ static NEARDATA const char addluck[] = "\8aì\82ñ\82Å";
Strcpy(buf, Monnam(mon));
+#if 1 /*JP*/
+ Strcat(buf, "\82Í");
+#endif
mon->mpeaceful = 1;
mon->mavenge = 0;
if (obj->otyp != POT_WATER) {
if (!breathless(youmonst.data)) {
/* [what about "familiar odor" when known?] */
+/*JP
You("smell a peculiar odor...");
+*/
+ You("\96ò\82Á\82Û\82¢\93õ\82¢\82ª\82µ\82½\81D\81D\81D");
} else {
+#if 0 /*JP*/
const char *eyes = body_part(EYE);
if (eyecount(youmonst.data) != 1)
eyes = makeplural(eyes);
Your("%s %s.", eyes, vtense(eyes, "water"));
+#else
+ You("\97Ü%s\82É\82È\82Á\82½\81D", body_part(EYE));
+#endif
}
}
potionbreathe(obj);
{
const char *to_pieces;
+#if 0 /*JP*/
to_pieces = "";
+#else
+ /* "shatter" \81¨ "\82±\82È\82²\82È\82É\82È\82Á\82½"
+ "shatter into a thousand pieces" \81¨ "\82\82¾\82¯\82Ä\82Î\82ç\82Î\82ç\82É\82È\82Á\82½" */
+ to_pieces = "\82±\82È\82²\82È";
+#endif
switch (obj->oclass == POTION_CLASS ? POT_WATER : obj->otyp) {
default: /* glass or crystal wand */
if (obj->oclass != WAND_CLASS)
case MIRROR:
case CRYSTAL_BALL:
case EXPENSIVE_CAMERA:
+/*JP
to_pieces = " into a thousand pieces";
+*/
+ to_pieces = "\82\82¾\82¯\82Ä\82Î\82ç\82Î\82ç";
/*FALLTHRU*/
case POT_WATER: /* really, all potions */
if (!in_view)
+/*JP
You_hear("%s shatter!", something);
+*/
+ You_hear("%s\82ª\89ó\82ê\82é\89¹\82ð\95·\82¢\82½\81I", something);
else
+#if 0 /*JP*/
pline("%s shatter%s%s!", Doname2(obj),
(obj->quan == 1L) ? "s" : "", to_pieces);
+#else
+ pline("%s\82Í%s\82É\82È\82Á\82½\81I", Doname2(obj), to_pieces);
+#endif
break;
case EGG:
case MELON:
+/*JP
pline("Splat!");
+*/
+ pline("\83r\83`\83\83\81I");
break;
case CREAM_PIE:
if (in_view)
+/*JP
pline("What a mess!");
+*/
+ pline("\82±\82è\82á\82Ð\82Ç\82¢\81I");
break;
case ACID_VENOM:
case BLINDING_VENOM:
+/*JP
pline("Splash!");
+*/
+ pline("\83r\83`\83\83\81I");
break;
}
}
register struct monst *mon;
if (!u.dx && !u.dy && !u.dz) {
+/*JP
You("cannot throw gold at yourself.");
+*/
+ pline("\8e©\95ª\82É\8bà\89Ý\82ð\93\8a\82°\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D");
return 0;
}
freeinv(obj);
if (u.uswallow) {
+#if 0 /*JP*/
pline(is_animal(u.ustuck->data) ? "%s in the %s's entrails."
: "%s into %s.",
"The money disappears", mon_nam(u.ustuck));
+#else
+ pline(is_animal(u.ustuck->data) ? "\8bà\89Ý\82Í%s\82Ì\95 \82Ì\92\86\82Ö\8fÁ\82¦\82Ä\82¢\82Á\82½\81D"
+ : "\8bà\89Ý\82Í%s\82Ì\92\86\82Ö\8fÁ\82¦\82Ä\82¢\82Á\82½\81D",
+ mon_nam(u.ustuck));
+#endif
add_to_minv(u.ustuck, obj);
return 1;
}
if (u.dz) {
if (u.dz < 0 && !Is_airlevel(&u.uz) && !Underwater
&& !Is_waterlevel(&u.uz)) {
+#if 0 /*JP*/
pline_The("gold hits the %s, then falls back on top of your %s.",
ceiling(u.ux, u.uy), body_part(HEAD));
+#else
+ pline("\8bà\89Ý\82Í%s\82É\96½\92\86\82µ\81C\82 \82È\82½\82Ì%s\82Ì\90^\8fã\82É\97\8e\82¿\82Ä\82«\82½\81D",
+ ceiling(u.ux,u.uy), body_part(HEAD));
+#endif
/* some self damage? */
if (uarmh)
+/*JP
pline("Fortunately, you are wearing %s!",
+*/
+ pline("\8dK\89^\82È\82±\82Æ\82É\81C\82 \82È\82½\82Í%s\82ð\90g\82É\82Â\82¯\82Ä\82¢\82é\81I",
an(helm_simple_name(uarmh)));
}
bhitpos.x = u.ux;
}
}
+/*JP
if (flooreffects(obj, bhitpos.x, bhitpos.y, "fall"))
+*/
+ if (flooreffects(obj, bhitpos.x, bhitpos.y, "\97\8e\82¿\82é"))
return 1;
if (u.dz > 0)
+/*JP
pline_The("gold hits the %s.", surface(bhitpos.x, bhitpos.y));
+*/
+ pline("\8bà\89Ý\82Í%s\82É\96½\92\86\82µ\82½\81D", surface(bhitpos.x, bhitpos.y));
place_object(obj, bhitpos.x, bhitpos.y);
if (*u.ushops)
sellobj(obj, bhitpos.x, bhitpos.y);
/* Copyright (c) NetHack Development Team 1992. */
/* 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"
#include "tcap.h"
const struct symdef def_warnsyms[WARNCOUNT] = {
/* white warning */
+/*JP
{ '0', "unknown creature causing you worry", C(CLR_WHITE) },
+*/
+ { '0', "\82 \82È\82½\82ª\8bC\82É\82µ\82Ä\82¢\82é\93ä\82Ì\89ö\95¨", C(CLR_WHITE)},
/* pink warning */
+/*JP
{ '1', "unknown creature causing you concern", C(CLR_RED) },
+*/
+ { '1', "\82 \82È\82½\82ª\90S\94z\82µ\82Ä\82¢\82é\93ä\82Ì\89ö\95¨", C(CLR_RED)},
/* red warning */
+/*JP
{ '2', "unknown creature causing you anxiety", C(CLR_RED) },
+*/
+ { '2', "\82 \82È\82½\82ª\8c\9c\94O\82µ\82Ä\82¢\82é\93ä\82Ì\89ö\95¨", C(CLR_RED)},
/* ruby warning */
+/*JP
{ '3', "unknown creature causing you disquiet", C(CLR_RED) },
+*/
+ { '3', "\82 \82È\82½\82ª\8bC\82ð\82à\82ñ\82Å\82¢\82é\93ä\82Ì\89ö\95¨", C(CLR_RED)},
/* purple warning */
+/*JP
{ '4', "unknown creature causing you alarm", C(CLR_MAGENTA) },
+*/
+ { '4', "\82 \82È\82½\82ª\8b°\82ê\82Ä\82¢\82é\93ä\82Ì\89ö\95¨", C(CLR_MAGENTA)},
/* black warning */
+/*JP
{ '5', "unknown creature causing you dread", C(CLR_BRIGHT_MAGENTA) },
+*/
+ { '5', "\82 \82È\82½\82ª\94ñ\8fí\82É\8b°\82ê\82Ä\82¢\82é\93ä\82Ì\89ö\95¨", C(CLR_BRIGHT_MAGENTA)},
};
/*
/*
* I hate hardwiring these names. :-(
*/
+/*JP
quest_dnum = dname_to_dnum("The Quest");
+*/
+ quest_dnum = dname_to_dnum("\83N\83G\83X\83g");
+/*JP
sokoban_dnum = dname_to_dnum("Sokoban");
+*/
+ sokoban_dnum = dname_to_dnum("\91q\8cÉ\94Ô");
+/*JP
mines_dnum = dname_to_dnum("The Gnomish Mines");
+*/
+ mines_dnum = dname_to_dnum("\83m\81[\83\80\82Ì\8dz\8eR");
+/*JP
tower_dnum = dname_to_dnum("Vlad's Tower");
+*/
+ tower_dnum = dname_to_dnum("\83\94\83\89\83h\8cò\82Ì\93\83");
/* one special fixup for dummy surface level */
if ((x = find_level("dummy")) != 0) {
/* flags.castle, flags.valley, flags.msanctum retain previous value */
mptr->flags.forgot = 0;
/* flags.quest_summons disabled once quest finished */
+/*JP
mptr->flags.quest_summons = (at_dgn_entrance("The Quest")
+*/
+ mptr->flags.quest_summons = (at_dgn_entrance("\83N\83G\83X\83g")
&& u.uevent.qcalled
&& !(u.uevent.qcompleted
|| u.uevent.qexpelled
/* 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_PTR int NDECL(eatmdone);
STATIC_OVL boolean force_save_hs = FALSE;
/* see hunger states in hack.h - texts used on bottom line */
+#if 0 /*JP*/
const char *hu_stat[] = { "Satiated", " ", "Hungry ", "Weak ",
"Fainting", "Fainted ", "Starved " };
+#else
+const char *hu_stat[] = { "\96\9e\95 ", " ", "\82Ø\82±\82Ø\82±", "\90\8a\8eã ",
+ "\82Ó\82ç\82Ó\82ç", "\91²\93| ", "\89ì\8e\80 " };
+#endif
/*
* Decide whether a particular object can be eaten by the possibly
int nut; /* nutrition */
Bitfield(fodder, 1); /* stocked by health food shops */
Bitfield(greasy, 1); /* causes slippery fingers */
+#if 0 /*JP*/
} tintxts[] = { { "rotten", -50, 0, 0 }, /* ROTTEN_TIN = 0 */
{ "homemade", 50, 1, 0 }, /* HOMEMADE_TIN = 1 */
{ "soup made from", 20, 1, 0 },
{ "candied", 100, 1, 0 },
{ "pureed", 500, 1, 0 },
{ "", 0, 0, 0 } };
+#else
+} tintxts[] = { { "\95\85\82Á\82½", -50, 0, 0 }, /* ROTTEN_TIN = 0 */
+ { "\8e©\89Æ\90»\82Ì", 50, 1, 0 }, /* HOMEMADE_TIN = 1 */
+ { "\82Ì\83X\81[\83v", 20, 1, 0 },
+ { "\82Ì\83t\83\89\83C", 40, 0, 1 },
+ { "\82Ì\92Ð\95¨", 40, 1, 0 },
+ { "\82ä\82Å", 50, 1, 0 },
+ { "\82Ìà\8e\90»", 50, 1, 0 },
+ { "\8a£\91\87", 55, 1, 0 },
+ { "\82Ì\97g\82°\95¨", 60, 0, 1 },
+ { "\8el\90ì\95\97", 70, 1, 0 },
+ { "\82Ì\96Ô\8fÄ\82«", 80, 0, 0 },
+ { "àu\82ß", 80, 0, 1 },
+ { "\82Ì\83\\83e\81[", 95, 0, 0 },
+ { "\82Ì\8d»\93\9c\92Ð\82¯", 100, 1, 0 },
+ { "\82Ì\83s\83\85\81[\83\8c", 500, 1, 0 },
+ { "", 0, 0, 0 } };
+#endif
#define TTSZ SIZE(tintxts)
static char *eatmbuf = 0; /* set by cpostfx() */
return;
} else if (Role_if(PM_KNIGHT) && u.ualign.type == A_LAWFUL) {
adjalign(-1); /* gluttony is unchivalrous */
+/*JP
You_feel("like a glutton!");
+*/
+ You("\91å\90H\8a¿\82Ì\82æ\82¤\82È\8bC\82ª\82µ\82½\81I");
}
exercise(A_CON, FALSE);
if (Breathless || (!Strangled && !rn2(20))) {
/* choking by eating AoS doesn't involve stuffing yourself */
if (food && food->otyp == AMULET_OF_STRANGULATION) {
+/*JP
You("choke, but recover your composure.");
+*/
+ You("\8eñ\82ð\8di\82ß\82ç\82ê\82½\81D\82µ\82©\82µ\82È\82ñ\82Æ\82à\82È\82©\82Á\82½\81D");
return;
}
+/*JP
You("stuff yourself and then vomit voluminously.");
+*/
+ pline("\82ª\82Â\82ª\82Â\82Æ\8cû\82É\8bl\82ß\8d\9e\82ñ\82¾\82ª\81C\83h\83o\82Á\82Æ\93f\82«\8fo\82µ\82Ä\82µ\82Ü\82Á\82½\81D");
morehungry(1000); /* you just got *very* sick! */
vomit();
} else {
* high score list & tombstone. So plan accordingly.
*/
if (food) {
+/*JP
You("choke over your %s.", foodword(food));
+*/
+ You("%s\82ð\8dA\82É\8bl\82Ü\82ç\82¹\82Ä\82µ\82Ü\82Á\82½\81D", foodword(food));
if (food->oclass == COIN_CLASS) {
+/*JP
Strcpy(killer.name, "very rich meal");
+*/
+ Strcpy(killer.name, "\82Æ\82Ä\82à\8d\82\89¿\82È\97¿\97\9d");
} else {
killer.format = KILLED_BY;
Strcpy(killer.name, killer_xname(food));
}
} else {
+/*JP
You("choke over it.");
+*/
+ pline("\8dA\82É\8bl\82Ü\82ç\82¹\82Ä\82µ\82Ü\82Á\82½\81D");
+/*JP
Strcpy(killer.name, "quick snack");
+*/
+ Strcpy(killer.name, "\91\81\90H\82¢");
}
+/*JP
You("die...");
+*/
+ pline("\82 \82È\82½\82Í\8e\80\82É\82Ü\82µ\82½\81D\81D\81D");
done(CHOKING);
}
}
pline1(nomovemsg);
nomovemsg = 0;
} else if (message)
+/*JP
You("finish eating %s.", food_xname(context.victual.piece, TRUE));
+*/
+ You("%s\82ð\90H\82×\8fI\82¦\82½\81D", food_xname(context.victual.piece, TRUE));
if (context.victual.piece->otyp == CORPSE)
cpostfx(context.victual.piece->corpsenm);
&& (your_race(fptr) || (Upolyd && same_race(youmonst.data, fptr)))) {
if (allowmsg) {
if (Upolyd && your_race(fptr))
+/*JP
You("have a bad feeling deep inside.");
+*/
+ You("\8c\99\88«\8a´\82É\82¨\82»\82í\82ê\82½\81D");
+/*JP
You("cannibal! You will regret this!");
+*/
+ pline("\8b¤\8bò\82¢\82¾\81I\8cã\89÷\82·\82é\82¼\81I");
}
HAggravate_monster |= FROMOUTSIDE;
change_luck(-rn1(4, 2)); /* -5..-2 */
if (!Stone_resistance
&& !(poly_when_stoned(youmonst.data)
&& polymon(PM_STONE_GOLEM))) {
+/*JP
Sprintf(killer.name, "tasting %s meat", mons[pm].mname);
+*/
+ Sprintf(killer.name, "%s\82Ì\93÷\82ð\90H\82×", mons[pm].mname);
killer.format = KILLED_BY;
+/*JP
You("turn to stone.");
+*/
+ You("\90Î\82É\82È\82Á\82½\81D");
done(STONING);
if (context.victual.piece)
context.victual.eating = FALSE;
case PM_LARGE_CAT:
/* cannibals are allowed to eat domestic animals without penalty */
if (!CANNIBAL_ALLOWED()) {
+/*JP
You_feel("that eating the %s was a bad idea.", mons[pm].mname);
+*/
+ pline("%s\82ð\90H\82×\82é\82Ì\82Í\82æ\82\82È\82¢\8bC\82ª\82µ\82½\81D", mons[pm].mname);
HAggravate_monster |= FROMOUTSIDE;
}
break;
case PM_DEATH:
case PM_PESTILENCE:
case PM_FAMINE: {
+/*JP
pline("Eating that is instantly fatal.");
+*/
+ pline("\90H\82×\82½\82ç\82·\82®\82É\8e\80\82ñ\82Å\82µ\82Ü\82Á\82½\81D");
+#if 0 /*JP*/
Sprintf(killer.name, "unwisely ate the body of %s", mons[pm].mname);
killer.format = NO_KILLER_PREFIX;
+#else
+ Sprintf(killer.name, "\8bð\82©\82É\82à%s\82Ì\91Ì\82ð\90H\82×\82Ä", mons[pm].mname);
+ killer.format = KILLED_BY;
+#endif
done(DIED);
/* life-saving needed to reach here */
exercise(A_WIS, FALSE);
}
case PM_GREEN_SLIME:
if (!Slimed && !Unchanging && !slimeproof(youmonst.data)) {
+/*JP
You("don't feel very well.");
+*/
+ You("\82·\82²\82\8bC\95ª\82ª\88«\82¢\81D");
make_slimed(10L, (char *) 0);
delayed_killer(SLIMED, KILLED_BY_AN, "");
}
char buf[BUFSZ];
if (Hallucination)
+#if 0 /*JP*/
Sprintf(buf, "What a pity--you just ruined a future piece of %sart!",
ACURR(A_CHA) > 15 ? "fine " : "");
+#else
+ Sprintf(buf, "\82È\82ñ\82Ä\82±\82Æ\82¾\81I%s\8c|\8fp\8dì\95i\82É\82È\82ê\82½\82©\82à\82µ\82ê\82È\82¢\82Ì\82É\81I",
+ ACURR(A_CHA) > 15 ? "\8bM\8fd\82È" : "");
+#endif
else
+/*JP
Strcpy(buf, "You feel limber!");
+*/
+ Strcpy(buf, "\91Ì\82ª\93î\82ç\82©\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81I");
make_stoned(0L, buf, 0, (char *) 0);
}
case FIRE_RES:
debugpline0("Trying to give fire resistance");
if (!(HFire_resistance & FROMOUTSIDE)) {
+/*JP
You(Hallucination ? "be chillin'." : "feel a momentary chill.");
+*/
+ You(Hallucination ? "\81u\83N\81[\83\8b\91î\94z\95Ö\81v\82³\82ê\82Ä\82¢\82é\82æ\82¤\82¾\81D" : "\88ê\8fu\8a¦\82¯\82ª\82µ\82½\81D");
HFire_resistance |= FROMOUTSIDE;
}
break;
case SLEEP_RES:
debugpline0("Trying to give sleep resistance");
if (!(HSleep_resistance & FROMOUTSIDE)) {
+/*JP
You_feel("wide awake.");
+*/
+ You("\82Ï\82Á\82¿\82è\96Ú\82ª\82³\82ß\82½\81D");
HSleep_resistance |= FROMOUTSIDE;
}
break;
case COLD_RES:
debugpline0("Trying to give cold resistance");
if (!(HCold_resistance & FROMOUTSIDE)) {
+/*JP
You_feel("full of hot air.");
+*/
+ You("\94M\95\97\82ð\91S\90g\82É\8a´\82¶\82½\81D");
HCold_resistance |= FROMOUTSIDE;
}
break;
case DISINT_RES:
debugpline0("Trying to give disintegration resistance");
if (!(HDisint_resistance & FROMOUTSIDE)) {
+/*JP
You_feel(Hallucination ? "totally together, man." : "very firm.");
+*/
+ You_feel(Hallucination ? "\90¢\8aE\90l\97Þ\82Æ\8cZ\92í\82É\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D" : "\82Æ\82Ä\82à\8aæ\8fä\82É\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
HDisint_resistance |= FROMOUTSIDE;
}
break;
debugpline0("Trying to give shock resistance");
if (!(HShock_resistance & FROMOUTSIDE)) {
if (Hallucination)
+/*JP
You_feel("grounded in reality.");
+*/
+ You("\8eÀ\82Í\83A\81[\83X\82³\82ê\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
else
+/*JP
Your("health currently feels amplified!");
+*/
+ pline("\8c\92\8dN\82ª\91\9d\95\9d\82³\82ê\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81I");
HShock_resistance |= FROMOUTSIDE;
}
break;
case POISON_RES:
debugpline0("Trying to give poison resistance");
if (!(HPoison_resistance & FROMOUTSIDE)) {
+/*JP
You_feel(Poison_resistance ? "especially healthy." : "healthy.");
+*/
+ You_feel(Poison_resistance ? "\93Á\82É\8c\92\8dN\82É\82È\82Á\82½\8bC\82ª\82µ\82½\81D" : "\8c\92\8dN\82É\82È\82Á\82½\8bC\82ª\82µ\82½\81D");
HPoison_resistance |= FROMOUTSIDE;
}
break;
case TELEPORT:
debugpline0("Trying to give teleport");
if (!(HTeleportation & FROMOUTSIDE)) {
+/*JP
You_feel(Hallucination ? "diffuse." : "very jumpy.");
+*/
+ pline(Hallucination ? "\91Ì\82ª\94ò\82Ñ\8eU\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D" : "\92µ\96ô\97Í\82ª\8d\82\82Ü\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
HTeleportation |= FROMOUTSIDE;
}
break;
case TELEPORT_CONTROL:
debugpline0("Trying to give teleport control");
if (!(HTeleport_control & FROMOUTSIDE)) {
+#if 0 /*JP*/
You_feel(Hallucination ? "centered in your personal space."
: "in control of yourself.");
+#else
+ You_feel(Hallucination ? "\8e©\8cÈ\92\86\90S\93I\82É\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D"
+ : "\8e©\95ª\8e©\90g\82ð\90§\8cä\82Å\82«\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
+#endif
HTeleport_control |= FROMOUTSIDE;
}
break;
case TELEPAT:
debugpline0("Trying to give telepathy");
if (!(HTelepat & FROMOUTSIDE)) {
+#if 0 /*JP*/
You_feel(Hallucination ? "in touch with the cosmos."
: "a strange mental acuity.");
+#else
+ You_feel(Hallucination ? "\89F\92\88\82Ì\90_\94é\82É\90G\82ê\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D"
+ : "\8aï\96\82È\90¸\90_\93I\89s\82³\82ð\8a´\82¶\82½\81D");
+#endif
HTelepat |= FROMOUTSIDE;
/* If blind, make sure monsters show up. */
if (Blind)
u.uen = u.uenmax;
}
if (old_uen != u.uen) {
+/*JP
You_feel("a mild buzz.");
+*/
+ You("\82·\82±\82µ\82Ó\82ç\82Ó\82ç\82µ\82½\81D");
context.botl = 1;
}
}
self_invis_message();
} else {
if (!(HInvis & INTRINSIC))
+/*JP
You_feel("hidden!");
+*/
+ Your("\8ep\82Í\89B\82³\82ê\82½\81I");
HInvis |= FROMOUTSIDE;
HSee_invisible |= FROMOUTSIDE;
}
char buf[BUFSZ];
u.uconduct.polyselfs++; /* you're changing form */
+#if 0 /*JP*/
You_cant("resist the temptation to mimic %s.",
Hallucination ? "an orange" : "a pile of gold");
+#else
+ You("%s\82ð\90^\8e\97\82µ\82½\82¢\97U\98f\82É\82©\82ç\82ê\82½\81D",
+ Hallucination ? "\83I\83\8c\83\93\83W" : "\8bà\89Ý\82Ì\8eR");
+#endif
/* A pile of gold can't ride. */
if (u.usteed)
dismount_steed(DISMOUNT_FELL);
multi_reason = "pretending to be a pile of gold";
Sprintf(buf,
Hallucination
+/*JP
? "You suddenly dread being peeled and mimic %s again!"
+*/
+ ? "\93Ë\91R\8aÛ\97\87\82É\82³\82ê\82é\82Ì\82ª\8b°\82ë\82µ\82\82È\82Á\82Ä\82Ü\82½%s\82Ì\90^\8e\97\82ð\82µ\82½\81I"
+/*JP
: "You now prefer mimicking %s again.",
+*/
+ : "\82±\82ñ\82Ç\82Í\82Ü\82½%s\82Ì\90^\8e\97\82ª\82µ\82½\82\82È\82Á\82½\81D",
an(Upolyd ? youmonst.data->mname : urace.noun));
eatmbuf = dupstr(buf);
nomovemsg = eatmbuf;
}
break;
case PM_QUANTUM_MECHANIC:
+/*JP
Your("velocity suddenly seems very uncertain!");
+*/
+ Your("\91¬\93x\82ª\93Ë\91R\81C\95s\8am\92è\82É\82È\82Á\82½\81I");
if (HFast & INTRINSIC) {
HFast &= ~INTRINSIC;
+/*JP
You("seem slower.");
+*/
+ You("\92x\82\82È\82Á\82½\82æ\82¤\82¾\81D");
} else {
HFast |= FROMOUTSIDE;
+/*JP
You("seem faster.");
+*/
+ You("\91¬\82\82È\82Á\82½\82æ\82¤\82¾\81D");
}
break;
case PM_LIZARD:
if (Unchanging) {
You_feel("momentarily different."); /* same as poly trap */
} else {
+/*JP
You_feel("a change coming over you.");
+*/
+ pline("\95Ï\89»\82ª\96K\82ê\82½\81D");
polyself(0);
}
break;
case PM_MASTER_MIND_FLAYER:
if (ABASE(A_INT) < ATTRMAX(A_INT)) {
if (!rn2(2)) {
+/*JP
pline("Yum! That was real brain food!");
+*/
+ pline("\82¤\82Ü\82¢\81I\82±\82ê\82±\82»\96{\93\96\82Ì\81u\93ª\82Ì\97Ç\82\82È\82é\90H\8e\96\81v\82¾\81I");
(void) adjattrib(A_INT, 1, FALSE);
break; /* don't give them telepathy, too */
}
} else {
+/*JP
pline("For some reason, that tasted bland.");
+*/
+ pline("\82Ç\82¤\82µ\82½\82í\82¯\82©\81C\92W\94\92\82È\96¡\82¾\81D");
}
/*FALLTHRU*/
default: {
if (dmgtype(ptr, AD_STUN) || dmgtype(ptr, AD_HALU)
|| pm == PM_VIOLET_FUNGUS) {
+/*JP
pline("Oh wow! Great stuff!");
+*/
+ pline("\83\8f\81[\83H\81I\82±\82è\82á\82·\82²\82¢\81I");
(void) make_hallucinated((HHallucination & TIMEOUT) + 200L, FALSE,
0L);
}
{
u.uconduct.unvegetarian++;
if (Role_if(PM_MONK)) {
+/*JP
You_feel("guilty.");
+*/
+ pline("\8dß\82ð\8a´\82¶\82½\81D");
adjalign(-1);
}
return;
* This assumes that buf already contains the word "tin",
* as is the case with caller xname().
*/
+/*JP:\81u\8aÊ\8bl\81v\82Í\8cã\82Å\95t\82¯\82é */
void
tin_details(obj, mnum, buf)
struct obj *obj;
if (obj && buf) {
if (r == SPINACH_TIN)
+/*JP
Strcat(buf, " of spinach");
+*/
+ Strcat(buf, "\83z\83E\83\8c\83\93\91\90\82Ì");
else if (mnum == NON_PM)
+/*JP
Strcpy(buf, "empty tin");
+*/
+ Strcat(buf, "\8bó\82Á\82Û\82Ì");
else {
if ((obj->cknown || iflags.override_ID) && obj->spe < 0) {
if (r == ROTTEN_TIN || r == HOMEMADE_TIN) {
Strcpy(eos(buf), " of ");
}
if (vegetarian(&mons[mnum]))
+/*JP
Sprintf(eos(buf), "%s", mons[mnum].mname);
+*/
+ Sprintf(eos(buf), "%s\82Ì", mons[mnum].mname);
else
+/*JP
Sprintf(eos(buf), "%s meat", mons[mnum].mname);
+*/
+ Sprintf(eos(buf), "%s\82Ì\93÷\82Ì", mons[mnum].mname);
}
}
}
if (r != SPINACH_TIN) {
mnum = tin->corpsenm;
if (mnum == NON_PM) {
+/*JP
pline("It turns out to be empty.");
+*/
+ pline("\8aÊ\82Í\8bó\82Á\82Û\82¾\82Á\82½\81D");
tin->dknown = tin->known = 1;
costly_tin(COST_OPEN);
goto use_up_tin;
else if (which == 2)
what = the(what);
+/*JP
pline("It smells like %s.", what);
+*/
+ pline("%s\82Ì\82æ\82¤\82È\93õ\82¢\82ª\82µ\82½\81D", what);
+/*JP
if (yn("Eat it?") == 'n') {
+*/
+ if (yn("\90H\82×\82Ü\82·\82©\81H") == 'n') {
if (flags.verbose)
+/*JP
You("discard the open tin.");
+*/
+ You("\8aJ\82¯\82½\8aÊ\82ð\8eÌ\82Ä\82½\81D");
if (!Hallucination)
tin->dknown = tin->known = 1;
costly_tin(COST_OPEN);
context.victual.fullwarn = context.victual.eating =
context.victual.doreset = FALSE;
+#if 0 /*JP*/
You("consume %s %s.", tintxts[r].txt, mons[mnum].mname);
+#else /*JP: \81u\82Ì\81v\82Å\8en\82Ü\82é\82È\82ç\8cã\92u\81A\82»\82ê\88È\8aO\82È\82ç\91O\92u */
+ if (strstr(tintxts[r].txt, "\82Ì") == tintxts[r].txt) {
+ You("%s%s\82Ì\8aÊ\8bl\82ð\82½\82¢\82ç\82°\82½\81D", mons[mnum].mname, tintxts[r].txt);
+ } else {
+ You("%s%s\82Ì\8aÊ\8bl\82ð\82½\82¢\82ç\82°\82½\81D", tintxts[r].txt, mons[mnum].mname);
+ }
+#endif
eating_conducts(&mons[mnum]);
if (tintxts[r].greasy) {
/* Assume !Glib, because you can't open tins when Glib. */
incr_itimeout(&Glib, rnd(15));
+#if 0 /*JP*/
pline("Eating %s food made your %s very slippery.",
tintxts[r].txt, makeplural(body_part(FINGER)));
+#else
+ pline("\96û\82Á\82Û\82¢\95¨\82ð\90H\82×\82½\82Ì\82Å\82 \82È\82½\82Ì%s\82Í\8a\8a\82è\82â\82·\82\82È\82Á\82½\81D",
+ body_part(FINGER));
+#endif
}
} else { /* spinach... */
if (tin->cursed) {
+#if 0 /*JP*/
pline("It contains some decaying%s%s substance.",
Blind ? "" : " ", Blind ? "" : hcolor(NH_GREEN));
+#else
+ pline("%s\95\85\82Á\82½\95¨\91Ì\82ª\93ü\82Á\82Ä\82¢\82é\81D",
+ Blind ? "" : hcolor(NH_GREEN));
+#endif
} else {
+/*JP
pline("It contains spinach.");
+*/
+ pline("\83z\83E\83\8c\83\93\91\90\82ª\93ü\82Á\82Ä\82¢\82é\81D");
tin->dknown = tin->known = 1;
}
+/*JP
if (yn("Eat it?") == 'n') {
+*/
+ if (yn("\90H\82×\82Ü\82·\82©\81H") == 'n') {
if (flags.verbose)
+/*JP
You("discard the open tin.");
+*/
+ You("\8aJ\82¯\82½\8aÊ\82ð\8eÌ\82Ä\82½\81D");
costly_tin(COST_OPEN);
goto use_up_tin;
}
u.uconduct
.food++; /* don't need vegan/vegetarian checks for spinach */
if (!tin->cursed)
+#if 0 /*JP:T*/
pline("This makes you feel like %s!",
Hallucination ? "Swee'pea" : "Popeye");
+#else
+ pline("%s\82Ì\82æ\82¤\82È\8bC\95ª\82É\82È\82Á\82½\81I",
+ Hallucination ? "\83X\83C\81[\83s\81[" : "\83|\83p\83C");
+#endif
gainstr(tin, 0, FALSE);
costly_tin(COST_OPEN);
&& (!obj_here(context.tin.tin, u.ux, u.uy) || !can_reach_floor(TRUE)))
return 0; /* %% probably we should use tinoid */
if (context.tin.usedtime++ >= 50) {
+/*JP
You("give up your attempt to open the tin.");
+*/
+ You("\8aÊ\82ð\8aJ\82¯\82é\82Ì\82ð\82 \82«\82ç\82ß\82½\81D");
return 0;
}
if (context.tin.usedtime < context.tin.reqtime)
return 1; /* still busy */
+/*JP
consume_tin("You succeed in opening the tin.");
+*/
+ consume_tin("\8aÊ\82ð\8aJ\82¯\82é\82Ì\82É\90¬\8c÷\82µ\82½\81D");
return 0;
}
register int tmp;
if (metallivorous(youmonst.data)) {
+/*JP
mesg = "You bite right into the metal tin...";
+*/
+ mesg = "\8bà\91®\82Ì\8aÊ\82ð\8a\9a\82Ý\82Í\82¶\82ß\82½\81D\81D\81D";
tmp = 0;
} else if (cantwield(youmonst.data)) { /* nohands || verysmall */
+/*JP
You("cannot handle the tin properly to open it.");
+*/
+ You("\8aÊ\82ð\82¤\82Ü\82\8aJ\82¯\82ç\82ê\82È\82¢\81D");
return;
} else if (otmp->blessed) {
/* 50/50 chance for immediate access vs 1 turn delay (unless
or might open immediately on 2nd (or 3rd, 4th, ...) try */
tmp = (uwep && uwep->blessed && uwep->otyp == TIN_OPENER) ? 0 : rn2(2);
if (!tmp)
+/*JP
mesg = "The tin opens like magic!";
+*/
+ mesg = "\8aÊ\82Í\96\82\96@\82Ì\82æ\82¤\82É\8aJ\82¢\82½\81I";
else
pline_The("tin seems easy to open.");
} else if (uwep) {
default:
goto no_opener;
}
+/*JP
pline("Using %s you try to open the tin.", yobjnam(uwep, (char *) 0));
+*/
+ You("%s\82ð\8eg\82Á\82Ä\8aÊ\82ð\8aJ\82¯\82æ\82¤\82Æ\82µ\82½\81D", xname(uwep));
} else {
no_opener:
+/*JP
pline("It is not so easy to open this tin.");
+*/
+ pline("\82±\82Ì\8aÊ\82ð\8aJ\82¯\82é\82Ì\82Í\97e\88Õ\82È\82±\82Æ\82Å\82Í\82È\82¢\81D");
if (Glib) {
+/*JP
pline_The("tin slips from your %s.",
+*/
+ pline("\8aÊ\82Í\82 \82È\82½\82Ì%s\82©\82ç\8a\8a\82è\97\8e\82¿\82½\81D",
makeplural(body_part(FINGER)));
if (otmp->quan > 1L) {
otmp = splitobj(otmp, 1L);
} else {
context.tin.reqtime = tmp;
context.tin.usedtime = 0;
+/*JP
set_occupation(opentin, "opening the tin", 0);
+*/
+ set_occupation(opentin, "\8aÊ\82ð\8aJ\82¯\82é", 0);
}
return;
}
rottenfood(obj)
struct obj *obj;
{
+/*JP
pline("Blecch! Rotten %s!", foodword(obj));
+*/
+ pline("\83Q\83F\81I\95\85\82Á\82½%s\82¾\81I", foodword(obj));
if (!rn2(4)) {
if (Hallucination)
+/*JP
You_feel("rather trippy.");
+*/
+ You("\82Ö\82ë\82Ö\82ë\82µ\82½\81D");
else
+/*JP
You_feel("rather %s.", body_part(LIGHT_HEADED));
+*/
+ You("%s\81D", body_part(LIGHT_HEADED));
make_confused(HConfusion + d(2, 4), FALSE);
} else if (!rn2(4) && !Blind) {
+/*JP
pline("Everything suddenly goes dark.");
+*/
+ pline("\93Ë\91R\91S\82Ä\82ª\88Ã\82\82È\82Á\82½\81D");
make_blinded((long) d(2, 10), FALSE);
if (!Blind)
Your1(vision_clears);
int duration = rnd(10);
if (!Blind)
+/*JP
what = "goes", where = "dark";
+*/
+ what = "\82È\82Á\82½", where = "\88Ã\88Å\82É";
else if (Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz))
+/*JP
what = "you lose control of", where = "yourself";
+*/
+ what = "\90§\8cä\82Å\82«\82È\82\82È\82Á\82½", where = "\8e©\95ª\82ð";
else
+/*JP
what = "you slap against the",
+*/
+ what = "\82É\82Ô\82Â\82©\82Á\82½",
+/*JP
where = (u.usteed) ? "saddle" : surface(u.ux, u.uy);
+*/
+ where = (u.usteed) ? "\88Æ" : surface(u.ux, u.uy);
+/*JP
pline_The("world spins and %s %s.", what, where);
+*/
+ pline("\90¢\8aE\82ª\89ñ\93]\82µ\81C%s%s\81D", where, what);
incr_itimeout(&HDeaf, duration);
nomul(-duration);
multi_reason = "unconscious from rotten food";
+/*JP
nomovemsg = "You are conscious again.";
+*/
+ nomovemsg = "\82 \82È\82½\82Í\82Ü\82½\90³\8bC\82Ã\82¢\82½\81D";
afternmv = Hear_again;
return 1;
}
if (mnum != PM_ACID_BLOB && !stoneable && rotted > 5L) {
boolean cannibal = maybe_cannibal(mnum, FALSE);
+#if 0 /*JP*/
pline("Ulch - that %s was tainted%s!",
mons[mnum].mlet == S_FUNGUS
? "fungoid vegetation"
: !vegetarian(&mons[mnum]) ? "meat" : "protoplasm",
cannibal ? ", you cannibal" : "");
+#else
+ pline("\83I\83F\81I\82±\82Ì%s\82Í\95\85\82Á\82Ä\82¢\82é%s\81I",
+ mons[mnum].mlet == S_FUNGUS
+ ? "\8d×\8bÛ\82É\89\98\90õ\82³\82ê\82½\90A\95¨"
+ : !vegetarian(&mons[mnum]) ? "\93÷" : "\90¶\95¨",
+ cannibal ? "\81D\82µ\82©\82à\8b¤\90H\82¢\82¾" : "");
+#endif
if (Sick_resistance) {
+/*JP
pline("It doesn't seem at all sickening, though...");
+*/
+ pline("\82µ\82©\82µ\81C\82¢\82½\82Á\82Ä\8c³\8bC\82¾\81D\81D\81D");
} else {
long sick_time;
/* make sure new ill doesn't result in improvement */
if (Sick && (sick_time > Sick))
sick_time = (Sick > 1L) ? Sick - 1L : 1L;
+#if 0 /*JP*/
make_sick(sick_time, corpse_xname(otmp, "rotted", CXN_NORMAL),
TRUE, SICK_VOMITABLE);
+#else
+ make_sick(sick_time, corpse_xname(otmp, "\95\85\82Á\82½", CXN_NORMAL),
+ TRUE, SICK_VOMITABLE);
+#endif
}
if (carried(otmp))
useup(otmp);
return 2;
} else if (acidic(&mons[mnum]) && !Acid_resistance) {
tp++;
+#if 0 /*JP:T*/
You("have a very bad case of stomach acid."); /* not body_part() */
+#else
+ pline("\88Ý\8e_\82Ì\92²\8eq\82ª\82Æ\82Ä\82à\88«\82¢\81D");
+#endif
+#if 0 /*JP*/
losehp(rnd(15), "acidic corpse", KILLED_BY_AN); /* acid damage */
+#else
+ losehp(rnd(15), "\8e_\82Ì\8e\80\91Ì\82Å", KILLED_BY_AN);
+#endif
} else if (poisonous(&mons[mnum]) && rn2(5)) {
tp++;
+/*JP
pline("Ecch - that must have been poisonous!");
+*/
+ pline("\83E\83Q\83F\81[\81C\97L\93Å\82¾\82Á\82½\82É\82¿\82ª\82¢\82È\82¢\81I");
if (!Poison_resistance) {
losestr(rnd(4));
+/*JP
losehp(rnd(15), "poisonous corpse", KILLED_BY_AN);
+*/
+ losehp(rnd(15), "\93Å\82Ì\8e\80\91Ì\82Å", KILLED_BY_AN);
} else
+/*JP
You("seem unaffected by the poison.");
+*/
+ You("\93Å\82Ì\89e\8b¿\82ð\8eó\82¯\82È\82¢\82æ\82¤\82¾\81D");
/* now any corpse left too long will make you mildly ill */
} else if ((rotted > 5L || (rotted > 3L && rn2(5))) && !Sick_resistance) {
tp++;
+/*JP
You_feel("%ssick.", (Sick) ? "very " : "");
+*/
+ You("%s\8bC\95ª\82ª\88«\82¢\81D", (Sick) ? "\82Æ\82Ä\82à" : "");
+/*JP
losehp(rnd(8), "cadaver", KILLED_BY_AN);
+*/
+ losehp(rnd(8), "\95\85\97\90\8e\80\91Ì\82Å", KILLED_BY_AN);
}
/* delay is weight dependent */
if (!mons[otmp->corpsenm].cnutrit) {
/* no nutrition: rots away, no message if you passed out */
if (!retcode)
+/*JP
pline_The("corpse rots away completely.");
+*/
+ pline("\8e\80\91Ì\82Í\8a®\91S\82É\95\85\82Á\82Ä\82µ\82Ü\82Á\82½\81D");
if (carried(otmp))
useup(otmp);
else
: (carnivorous(youmonst.data)
&& !herbivorous(youmonst.data));
+#if 0 /*JP*/
pline("%s%s %s!",
type_is_pname(&mons[mnum])
? "" : the_unique_pm(&mons[mnum]) ? "The " : "This ",
: "is gnarly")
: "is grody")
: (yummy ? "is delicious" : "tastes terrible"));
+#else
+ pline("\82±\82Ì%s\82Í%s\81I",
+ food_xname(otmp, FALSE),
+ Hallucination
+ ? (yummy ? ((u.umonnum == PM_TIGER) ? "\83O\83D\83\8c\83C\83g\83D"
+ : "\83C\83P\82Ä\82é")
+ : "\83C\83P\82Ä\82È\82¢")
+ : (yummy ? "\82Æ\82Ä\82à\8e|\82¢" : "\82Ð\82Ç\82¢\96¡\82¾"));
+#endif
}
return retcode;
return;
}
+/*JP
Sprintf(msgbuf, "eating %s", food_xname(otmp, TRUE));
+*/
+ Sprintf(msgbuf, "%s\82ð\90H\82×\82é", food_xname(otmp, TRUE));
set_occupation(eatfood, msgbuf, 0);
}
switch (otmp->otyp) {
case FOOD_RATION:
if (u.uhunger <= 200)
+/*JP
pline(Hallucination ? "Oh wow, like, superior, man!"
+*/
+ pline(Hallucination ? "\82Ü\82Á\82½\82è\82Æ\82µ\82Ä\81C\82»\82ê\82Å\82¢\82Ä\82µ\82Â\82±\82\82È\82¢\81I\82±\82ê\82¼\8b\86\8bÉ\82Ì\83\81\83j\83\85\81[\82¾\81I"
+/*JP
+ : "That food really hit the spot!");
+*/
: "That food really hit the spot!");
else if (u.uhunger <= 700)
+/*JP
pline("That satiated your %s!", body_part(STOMACH));
+*/
+ pline("\96\9e\95 \82É\82È\82Á\82½\81I");
break;
case TRIPE_RATION:
if (carnivorous(youmonst.data) && !humanoid(youmonst.data))
+/*JP
pline("That tripe ration was surprisingly good!");
+*/
+ pline("\82±\82Ì\83\82\83c\93÷\82Í\82¨\82Ç\82ë\82\82Ù\82Ç\8e|\82¢\81I");
else if (maybe_polyd(is_orc(youmonst.data), Race_if(PM_ORC)))
+/*JP
pline(Hallucination ? "Tastes great! Less filling!"
+*/
+ pline(Hallucination ? "\82¤\82Ü\82¢\81I\82à\82Á\82Æ\82Ù\82µ\82\82È\82é\82Ë\81I"
+/*JP
: "Mmm, tripe... not bad!");
+*/
+ : "\82ñ\81[\81C\83\82\83c\82©\81D\81D\81D\88«\82\82È\82¢\81I");
else {
+/*JP
pline("Yak - dog food!");
+*/
+ pline("\82¤\82°\81C\83h\83b\83O\83t\81[\83h\82¾\81I");
more_experienced(1, 0);
newexplevel();
/* not cannibalism, but we use similar criteria
default:
if (otmp->otyp == SLIME_MOLD && !otmp->cursed
&& otmp->spe == context.current_fruit) {
+#if 0 /*JP*/
pline("My, that was a %s %s!",
Hallucination ? "primo" : "yummy",
singular(otmp, xname));
+#else
+ pline("\82¨\82â\81C\82È\82ñ\82Ä%s%s\82¾\81I",
+ Hallucination ? "\8fã\95i\82È" : "\82¨\82¢\82µ\82¢",
+ singular(otmp, xname));
+#endif
} else if (otmp->otyp == APPLE && otmp->cursed && !Sleep_resistance) {
; /* skip core joke; feedback deferred til fpostfx() */
We check MACOSX before UNIX to get the Apple-specific apple
message; the '#if UNIX' code will still kick in for pear. */
} else if (otmp->otyp == APPLE) {
+/*JP
pline("Delicious! Must be a Macintosh!");
+*/
+ pline("\82·\82Î\82ç\82µ\82¢\81I\83}\83b\83L\83\93\83g\83b\83V\83\85\82É\88á\82¢\82È\82¢\81I");
#endif
#ifdef UNIX
}
#endif
} else if (otmp->otyp == EGG && stale_egg(otmp)) {
+#if 0 /*JP*/
pline("Ugh. Rotten egg."); /* perhaps others like it */
+#else
+ pline("\83E\83Q\83F\81[\95\85\82Á\82½\97\91\82¾\81D");
+#endif
make_vomiting((Vomiting & TIMEOUT) + (long) d(10, 4), TRUE);
} else {
give_feedback:
+#if 0 /*JP*/
pline("This %s is %s", singular(otmp, xname),
otmp->cursed
? (Hallucination ? "grody!" : "terrible!")
|| otmp->otyp == C_RATION)
? "bland."
: Hallucination ? "gnarly!" : "delicious!");
+#else
+ pline("\82±\82Ì%s\82Í%s", singular(otmp, xname),
+ otmp->cursed
+ ? (Hallucination ? "\83C\83P\82Ä\82È\82¢\81I" : "\82Ð\82Ç\82¢\96¡\82¾\81I")
+ : (otmp->otyp == CRAM_RATION
+ || otmp->otyp == K_RATION
+ || otmp->otyp == C_RATION)
+ ? "\96¡\8bC\82È\82¢\81D"
+ : Hallucination ? "\83C\83P\82Ä\82é\81I" : "\82¤\82Ü\82¢\81I");
+#endif
}
break; /* default */
} /* switch */
accessory_has_effect(otmp)
struct obj *otmp;
{
+#if 0 /*JP*/
pline("Magic spreads through your body as you digest the %s.",
otmp->oclass == RING_CLASS ? "ring" : "amulet");
+#else
+ pline("\82 \82È\82½\82ª%s\82ð\8fÁ\89»\82·\82é\82Æ\81C\82»\82Ì\96\82\97Í\82ª\91Ì\82É\82µ\82Ý\82±\82ñ\82¾\81D",
+ otmp->oclass == RING_CLASS ? "\8ew\97Ö" : "\96\82\8f\9c\82¯");
+#endif
}
STATIC_OVL void
if (Invis && !oldprop && !ESee_invisible
&& !perceives(youmonst.data) && !Blind) {
newsym(u.ux, u.uy);
+/*JP
pline("Suddenly you can see yourself.");
+*/
+ pline("\93Ë\91R\8e©\95ª\8e©\90g\82ª\8c©\82¦\82é\82æ\82¤\82É\82È\82Á\82½\81D");
makeknown(typ);
}
break;
if (!oldprop && !EInvis && !BInvis && !See_invisible
&& !Blind) {
newsym(u.ux, u.uy);
+#if 0 /*JP*/
Your("body takes on a %s transparency...",
Hallucination ? "normal" : "strange");
+#else
+ pline("%s\82 \82È\82½\82Ì\91Ì\82Í\93§\89ß\90«\82ð\82à\82Á\82½\81D\81D\81D",
+ Hallucination ? "\82 \82½\82è\82Ü\82¦\82È\82±\82Æ\82¾\82ª" : "\8aï\96\82È\82±\82Æ\82É");
+#endif
makeknown(typ);
}
break;
if (!(HSleep_resistance & FROMOUTSIDE))
accessory_has_effect(otmp);
if (!Sleep_resistance)
+/*JP
You_feel("wide awake.");
+*/
+ You("\82Ï\82Á\82¿\82è\96Ú\82ª\82³\82ß\82½\81D");
HSleep_resistance |= FROMOUTSIDE;
break;
case AMULET_OF_CHANGE:
accessory_has_effect(otmp);
makeknown(typ);
change_sex();
+#if 0 /*JP*/
You("are suddenly very %s!",
flags.female ? "feminine" : "masculine");
+#else
+ You("\93Ë\91R\82Æ\82Ä\82à%s\82Á\82Û\82\82È\82Á\82½\81I",
+ flags.female ? "\8f\97" : "\92j");
+#endif
context.botl = 1;
break;
case AMULET_OF_UNCHANGING:
struct obj *otmp = context.victual.piece;
/* lesshungry wants an occupation to handle choke messages correctly */
+/*JP
set_occupation(eatfood, "eating non-food", 0);
+*/
+ set_occupation(eatfood, "\90H\82×\82é", 0);
lesshungry(context.victual.nmod);
occupation = 0;
context.victual.piece = (struct obj *) 0;
/* KMH -- idea by "Tommy the Terrorist" */
if (otmp->otyp == TRIDENT && !otmp->cursed) {
/* sugarless chewing gum which used to be heavily advertised on TV */
+#if 0 /*JP*/
pline(Hallucination ? "Four out of five dentists agree."
: "That was pure chewing satisfaction!");
+#else
+ pline(Hallucination ? "\8cÜ\90l\82É\8el\90l\82Ì\8e\95\88ã\8eÒ\82ª\83g\83\89\83C\83f\83\93\83g\82ð\82¨\91E\82ß\82µ\82Ä\82¢\82Ü\82·\81D"
+ : "\8f\83\90\88\82É\8a\9a\82Ý\82½\82¢\8bC\8e\9d\82ð\96\9e\82½\82µ\82½\81I");
+#endif
exercise(A_WIS, TRUE);
}
if (otmp->otyp == FLINT && !otmp->cursed) {
/* chewable vitamin for kids based on "The Flintstones" TV cartoon */
+/*JP
pline("Yabba-dabba delicious!");
+*/
+ pline("\83\84\83b\83o\83_\83b\83o\82¤\82Ü\82¢\81I");
exercise(A_CON, TRUE);
}
/* NOTE: the order of these words exactly corresponds to the
order of oc_material values #define'd in objclass.h. */
static const char *foodwords[] = {
+#if 0 /*JP*/
"meal", "liquid", "wax", "food", "meat", "paper",
"cloth", "leather", "wood", "bone", "scale", "metal",
"metal", "metal", "silver", "gold", "platinum", "mithril",
"plastic", "glass", "rich food", "stone"
+#else
+ "\93÷", "\89t\91Ì", "\96û", "\90H\97¿", "\93÷", "\8e\86",
+ "\95\9e", "\94ç", "\96Ø", "\8d\9c", "\97Ø", "\8bà\91®",
+ "\8bà\91®", "\8bà\91®", "\8bâ", "\8bà", "\83v\83\89\83`\83i", "\83~\83X\83\8a\83\8b",
+ "\83v\83\89\83X\83`\83b\83N", "\83K\83\89\83X", "\8d\82\8b\89\97¿\97\9d", "\90Î"
+#endif
};
STATIC_OVL const char *
struct obj *otmp;
{
if (otmp->oclass == FOOD_CLASS)
+/*JP
return "food";
+*/
+ return "\90H\97¿";
if (otmp->oclass == GEM_CLASS && objects[otmp->otyp].oc_material == GLASS
&& otmp->dknown)
makeknown(otmp->otyp);
u.uhp = u.uhpmax;
} else if (u.uhp <= 0) {
killer.format = KILLED_BY_AN;
+#if 0 /*JP*/
Strcpy(killer.name, "rotten lump of royal jelly");
done(POISONING);
+#else
+ Strcpy(killer.name, "\95\85\82Á\82½\83\8d\83C\83\84\83\8b\83[\83\8a\81[\82ð\90H\82×\90H\92\86\93Å\82Å");
+ done(DIED);
+#endif
}
}
if (!otmp->cursed)
&& !(poly_when_stoned(youmonst.data)
&& polymon(PM_STONE_GOLEM))) {
if (!Stoned) {
+/*JP
Sprintf(killer.name, "%s egg",
+*/
+ Sprintf(killer.name, "%s\82Ì\97\91\82Å",
mons[otmp->corpsenm].mname);
make_stoned(5L, (char *) 0, KILLED_BY_AN, killer.name);
}
Strcpy(foodsmell, Tobjnam(otmp, "smell"));
Strcpy(it_or_they, (otmp->quan == 1L) ? "it" : "they");
+#if 0 /*JP*/
Sprintf(eat_it_anyway, "Eat %s anyway?",
(otmp->quan == 1L) ? "it" : "one");
+#else
+ Strcpy(eat_it_anyway, "\82»\82ê\82Å\82à\90H\82×\82é\81H");
+#endif
if (cadaver || otmp->otyp == EGG || otmp->otyp == TIN) {
/* These checks must match those in eatcorpse() */
*/
if (cadaver && mnum != PM_ACID_BLOB && rotted > 5L && !Sick_resistance) {
/* Tainted meat */
+#if 0 /*JP*/
Sprintf(buf, "%s like %s could be tainted! %s", foodsmell, it_or_they,
eat_it_anyway);
+#else
+ Sprintf(buf, "%s\82Í\89\98\90õ\82³\82ê\82Ä\82¢\82é\82æ\82¤\82È\82É\82¨\82¢\82ª\82·\82é\81I%s",
+ foodsmell, eat_it_anyway);
+#endif
if (yn_function(buf, ynchars, 'n') == 'n')
return 1;
else
return 2;
}
if (stoneorslime) {
+#if 0 /*JP*/
Sprintf(buf, "%s like %s could be something very dangerous! %s",
foodsmell, it_or_they, eat_it_anyway);
+#else
+ Sprintf(buf, "%s\82Í\82È\82ñ\82¾\82©\82·\82²\82\8aë\8c¯\82»\82¤\82È\82É\82¨\82¢\82ª\82·\82é\81I%s",
+ foodsmell, eat_it_anyway);
+#endif
if (yn_function(buf, ynchars, 'n') == 'n')
return 1;
else
}
if (otmp->orotten || (cadaver && rotted > 3L)) {
/* Rotten */
+#if 0 /*JP*/
Sprintf(buf, "%s like %s could be rotten! %s", foodsmell, it_or_they,
eat_it_anyway);
+#else
+ Sprintf(buf, "%s\82Í\95\85\82Á\82½\82æ\82¤\82È\82É\82¨\82¢\82ª\82·\82é\81I%s",
+ foodsmell, eat_it_anyway);
+#endif
if (yn_function(buf, ynchars, 'n') == 'n')
return 1;
else
}
if (cadaver && poisonous(&mons[mnum]) && !Poison_resistance) {
/* poisonous */
+#if 0 /*JP*/
Sprintf(buf, "%s like %s might be poisonous! %s", foodsmell,
it_or_they, eat_it_anyway);
+#else
+ Sprintf(buf, "%s\82Í\93Å\82ð\82à\82Á\82Ä\82¢\82»\82¤\82È\82É\82¨\82¢\82ª\82·\82é\81I%s",
+ foodsmell, eat_it_anyway);
+#endif
if (yn_function(buf, ynchars, 'n') == 'n')
return 1;
else
}
if (otmp->otyp == APPLE && otmp->cursed && !Sleep_resistance) {
/* causes sleep, for long enough to be dangerous */
+#if 0 /*JP*/
Sprintf(buf, "%s like %s might have been poisoned. %s", foodsmell,
it_or_they, eat_it_anyway);
+#else
+ Sprintf(buf, "%s\82Í\93Å\82ª\93ü\82ê\82ç\82ê\82Ä\82¢\82»\82¤\82È\82É\82¨\82¢\82ª\82·\82é\81I%s",
+ foodsmell, eat_it_anyway);
+#endif
return (yn_function(buf, ynchars, 'n') == 'n') ? 1 : 2;
}
if (cadaver && !vegetarian(&mons[mnum]) && !u.uconduct.unvegetarian
&& Role_if(PM_MONK)) {
+/*JP
Sprintf(buf, "%s unhealthy. %s", foodsmell, eat_it_anyway);
+*/
+ Sprintf(buf, "%s\82Í\8c\92\8dN\82É\88«\82»\82¤\82È\82É\82¨\82¢\82ª\82·\82é\81D%s", foodsmell, eat_it_anyway);
if (yn_function(buf, ynchars, 'n') == 'n')
return 1;
else
return 2;
}
if (cadaver && acidic(&mons[mnum]) && !Acid_resistance) {
+/*JP
Sprintf(buf, "%s rather acidic. %s", foodsmell, eat_it_anyway);
+*/
+ Sprintf(buf, "%s\82Í\8f\82µ\8e_\82Á\82Ï\82»\82¤\82È\82É\82¨\82¢\82ª\82·\82é\81D%s", foodsmell, eat_it_anyway);
if (yn_function(buf, ynchars, 'n') == 'n')
return 1;
else
}
if (Upolyd && u.umonnum == PM_RUST_MONSTER && is_metallic(otmp)
&& otmp->oerodeproof) {
+#if 0 /*JP*/
Sprintf(buf, "%s disgusting to you right now. %s", foodsmell,
eat_it_anyway);
+#else
+ Sprintf(buf, "%s\82Í\8bC\95ª\82ª\88«\82\82È\82é\82É\82¨\82¢\82ª\82·\82é\81D%s", foodsmell,
+ eat_it_anyway);
+#endif
if (yn_function(buf, ynchars, 'n') == 'n')
return 1;
else
&& ((material == LEATHER || material == BONE
|| material == DRAGON_HIDE || material == WAX)
|| (cadaver && !vegan(&mons[mnum])))) {
+#if 0 /*JP*/
Sprintf(buf, "%s foul and unfamiliar to you. %s", foodsmell,
eat_it_anyway);
+#else
+ Sprintf(buf, "%s\82Í\89\98\82ê\82Ä\82¢\82Ä\81C\82 \82È\82½\82É\82È\82¶\82Ü\82È\82¢\82æ\82¤\82È\82É\82¨\82¢\82ª\82·\82é\81D%s", foodsmell,
+ eat_it_anyway);
+#endif
if (yn_function(buf, ynchars, 'n') == 'n')
return 1;
else
&& ((material == LEATHER || material == BONE
|| material == DRAGON_HIDE)
|| (cadaver && !vegetarian(&mons[mnum])))) {
+/*JP
Sprintf(buf, "%s unfamiliar to you. %s", foodsmell, eat_it_anyway);
+*/
+ Sprintf(buf, "%s\82Í\82 \82È\82½\82É\82È\82¶\82Ü\82È\82¢\82æ\82¤\82È\82É\82¨\82¢\82ª\82·\82é\81D%s", foodsmell, eat_it_anyway);
if (yn_function(buf, ynchars, 'n') == 'n')
return 1;
else
if (cadaver && mnum != PM_ACID_BLOB && rotted > 5L && Sick_resistance) {
/* Tainted meat with Sick_resistance */
+#if 0 /*JP*/
Sprintf(buf, "%s like %s could be tainted! %s", foodsmell, it_or_they,
eat_it_anyway);
+#else
+ Sprintf(buf, "%s\82Í\89\98\90õ\82³\82ê\82Ä\82¢\82é\82æ\82¤\82È\82É\82¨\82¢\82ª\82·\82é\81I%s", foodsmell,
+ eat_it_anyway);
+#endif
if (yn_function(buf, ynchars, 'n') == 'n')
return 1;
else
boolean dont_start = FALSE, nodelicious = FALSE;
if (Strangled) {
+/*JP
pline("If you can't breathe air, how can you consume solids?");
+*/
+ pline("\91§\82à\82Å\82«\82È\82¢\82Ì\82É\81C\82Ç\82¤\82â\82Á\82Ä\90H\82×\82½\82ç\82¢\82¢\82ñ\82¾\82¢\81H");
return 0;
}
if (!(otmp = floorfood("eat", 0)))
if (u.uedibility) {
int res = edibility_prompts(otmp);
if (res) {
+#if 0 /*JP*/
Your(
"%s stops tingling and your sense of smell returns to normal.",
body_part(NOSE));
+#else
+ Your("%s\82ª\82¤\82¸\82¤\82¸\82·\82é\82Ì\82Í\8e~\82Ü\82è\81C\9ak\8ao\82Í\95\81\92Ê\82É\96ß\82Á\82½\81D",
+ body_part(NOSE));
+#endif
u.uedibility = 0;
if (res == 1)
return 0;
: touch_artifact(otmp, &youmonst))) {
return 1;
} else if (!is_edible(otmp)) {
+/*JP
You("cannot eat that!");
+*/
+ You("\82»\82ê\82ð\90H\82×\82ç\82ê\82È\82¢\81I");
return 0;
} else if ((otmp->owornmask & (W_ARMOR | W_TOOL | W_AMUL | W_SADDLE))
!= 0) {
/* let them eat rings */
+/*JP
You_cant("eat %s you're wearing.", something);
+*/
+ You("\90g\82É\82Â\82¯\82Ä\82¢\82é\8aÔ\82Í\90H\82×\82ê\82È\82¢\81D");
return 0;
}
if (is_metallic(otmp) && u.umonnum == PM_RUST_MONSTER
else
otmp = splitobj(otmp, 1L);
}
+/*JP
pline("Ulch - that %s was rustproofed!", xname(otmp));
+*/
+ pline("\83E\83Q\83F\81[\81I%s\82Í\96h\8eK\82³\82ê\82Ä\82¢\82é\81I", xname(otmp));
/* The regurgitated object's rustproofing is gone now */
otmp->oerodeproof = 0;
make_stunned((HStun & TIMEOUT) + (long) rn2(10), TRUE);
+#if 0 /*JP*/
You("spit %s out onto the %s.", the(xname(otmp)),
surface(u.ux, u.uy));
+#else
+ You("%s\82ð%s\82É\93f\82«\8fo\82µ\82½\81D", the(xname(otmp)),
+ surface(u.ux, u.uy));
+#endif
if (carried(otmp)) {
freeinv(otmp);
dropy(otmp);
}
/* KMH -- Slow digestion is... indigestible */
if (otmp->otyp == RIN_SLOW_DIGESTION) {
+/*JP
pline("This ring is indigestible!");
+*/
+ pline("\82±\82Ì\8ew\97Ö\82Í\8fÁ\89»\82µ\82É\82\82¢\81I");
(void) rottenfood(otmp);
if (otmp->dknown && !objects[otmp->otyp].oc_name_known
&& !objects[otmp->otyp].oc_uname)
(void) rottenfood(otmp);
if (otmp->oclass == WEAPON_CLASS && otmp->opoisoned) {
+/*JP
pline("Ecch - that must have been poisonous!");
+*/
+ pline("\83E\83Q\83F\81[\81C\97L\93Å\82¾\82Á\82½\82É\88á\82¢\82È\82¢\81I");
if (!Poison_resistance) {
losestr(rnd(4));
+#if 0 /*JP*/
losehp(rnd(15), xname(otmp), KILLED_BY_AN);
+#else
+ {
+ char jbuf[BUFSZ];
+ Sprintf(jbuf, "%s\82Å", xname(otmp));
+ losehp(rnd(15), jbuf, KILLED_BY_AN);
+ }
+#endif
} else
+/*JP
You("seem unaffected by the poison.");
+*/
+ You("\93Å\82Ì\89e\8b¿\82ð\8eó\82¯\82È\82¢\82æ\82¤\82¾\81D");
} else if (!otmp->cursed && !nodelicious) {
+#if 0 /*JP*/
pline("%s%s is delicious!",
(obj_is_pname(otmp)
&& otmp->oartifact < ART_ORB_OF_DETECTION)
(otmp->oclass == COIN_CLASS)
? foodword(otmp)
: singular(otmp, xname));
+#else
+ pline("\82±\82Ì%s\82Í\8e|\82¢\81I",
+ otmp->oclass == COIN_CLASS
+ ? foodword(otmp)
+ : singular(otmp, xname));
+#endif
}
eatspecial();
return 1;
context.victual.piece = touchfood(otmp);
if (context.victual.piece)
context.victual.o_id = context.victual.piece->o_id;
+/*JP
You("resume your meal.");
+*/
+ You("\90H\8e\96\82ð\8dÄ\8aJ\82µ\82½\81D");
start_eating(context.victual.piece);
return 1;
}
if (u.uhunger >= 1500) {
if (!context.victual.eating
|| (context.victual.eating && !context.victual.fullwarn)) {
+/*JP
pline("You're having a hard time getting all of it down.");
+*/
+ pline("\91S\82Ä\82ð\88ù\82Ý\82±\82Þ\82É\82Í\8e\9e\8aÔ\82ª\82©\82©\82é\81D");
+/*JP
nomovemsg = "You're finally finished.";
+*/
+ nomovemsg = "\82â\82Á\82Æ\90H\82×\8fI\82¦\82½\81D";
if (!context.victual.eating) {
multi = -2;
} else {
if (context.victual.canchoke
&& context.victual.reqtime > 1) {
/* a one-gulp food will not survive a stop */
+/*JP
if (yn_function("Continue eating?", ynchars, 'n')
+*/
+ if (yn_function("\90H\82×\91±\82¯\82Ü\82·\82©\81H", ynchars, 'n')
!= 'y') {
reset_eat();
nomovemsg = (char *) 0;
/* stop what you're doing, then faint */
stop_occupation();
+/*JP
You("faint from lack of food.");
+*/
+ You("\95 \82ª\8c¸\82Á\82Ä\93|\82ê\82½\81D");
if (!Levitation)
+/*JP
selftouch("Falling, you");
+*/
+ selftouch("\97\8e\82¿\82È\82ª\82ç\81C\82 \82È\82½\82Í");
incr_itimeout(&HDeaf, duration);
nomul(-duration);
multi_reason = "fainted from lack of food";
+/*JP
nomovemsg = "You regain consciousness.";
+*/
+ nomovemsg = "\82 \82È\82½\82Í\90³\8bC\82Ã\82¢\82½\81D";
afternmv = unfaint;
newhs = FAINTED;
}
u.uhs = STARVED;
context.botl = 1;
bot();
+/*JP
You("die from starvation.");
+*/
+ You("\89ì\8e\80\82µ\82½\81D");
killer.format = KILLED_BY;
+/*JP
Strcpy(killer.name, "starvation");
+*/
+ Strcpy(killer.name, "\90H\97¿\95s\91«\82Å\89ì\8e\80\82µ\82½");
done(STARVING);
/* if we return, we lifesaved, and that calls newuhs */
return;
switch (newhs) {
case HUNGRY:
if (Hallucination) {
+#if 0 /*JP:T*/
You((!incr) ? "now have a lesser case of the munchies."
: "are getting the munchies.");
+#else
+ if (!incr) {
+ You("\83n\83\89\83w\83\8a\82ª\8c¸\82Á\82½\81D");
+ } else {
+ pline("\83n\83\89\83w\83\8a\83w\83\8a\83n\83\89\81D");
+ }
+#endif
} else
+/*JP
You((!incr) ? "only feel hungry now."
+*/
+ You((!incr) ? "\92P\82É\95 \83y\83R\8fó\91Ô\82É\82È\82Á\82½\81D"
: (u.uhunger < 145)
+/*JP
? "feel hungry."
+*/
+ ? "\8bó\95 \8a´\82ð\8a´\82¶\82½\81D"
+/*JP
: "are beginning to feel hungry.");
+*/
+ : "\8bó\95 \8a´\82ð\82¨\82Ú\82¦\82Í\82¶\82ß\82½\81D");
if (incr && occupation
&& (occupation != eatfood && occupation != opentin))
stop_occupation();
break;
case WEAK:
if (Hallucination)
+/*JP
pline((!incr) ? "You still have the munchies."
+*/
+ pline((!incr) ? "\83n\83\89\83w\83\8a\82ª\8c¸\82ç\82È\82¢\81D"
+/*JP
: "The munchies are interfering with your motor capabilities.");
+*/
+ : "\83n\83\89\83w\83\8a\82ª\83\82\81[\83^\81[\90«\94\\82É\89e\8b¿\82ð\97^\82¦\82Ä\82¢\82é\81D");
else if (incr && (Role_if(PM_WIZARD) || Race_if(PM_ELF)
|| Role_if(PM_VALKYRIE)))
+/*JP
pline("%s needs food, badly!",
+*/
+ pline("%s\82É\82Í\8e\8a\8b}\90H\97¿\82ª\95K\97v\82¾\81I",
(Role_if(PM_WIZARD) || Role_if(PM_VALKYRIE))
? urole.name.m
+/*JP
: "Elf");
+*/
+ : "\83G\83\8b\83t");
else
You((!incr)
+/*JP
? "feel weak now."
+*/
+ ? "\90\8a\8eã\8fó\91Ô\82É\82È\82Á\82½\81D"
+/*JP
: (u.uhunger < 45) ? "feel weak."
+*/
+ : (u.uhunger < 45) ? "\90\8a\8eã\82µ\82Ä\82«\82½\81D"
+/*JP
: "are beginning to feel weak.");
+*/
+ : "\8eã\82\82È\82Á\82Ä\82«\82½\82æ\82¤\82É\8a´\82¶\82½\81D");
if (incr && occupation
&& (occupation != eatfood && occupation != opentin))
stop_occupation();
context.botl = 1;
bot();
if ((Upolyd ? u.mh : u.uhp) < 1) {
+/*JP
You("die from hunger and exhaustion.");
+*/
+ You("\8bó\95 \82Æ\90\8a\8eã\82Å\8e\80\82ñ\82¾\81D");
killer.format = KILLED_BY;
+/*JP
Strcpy(killer.name, "exhaustion");
+*/
+ Strcpy(killer.name, "\8bó\95 \82Æ\90\8a\8eã\82Å\8e\80\82ñ\82¾");
done(STARVING);
return;
}
/* Returns an object representing food.
* Object may be either on floor or in inventory.
*/
+/*JP CHECK: 3.4.3 \82Å\82Ì\8cÄ\82Ñ\8fo\82µ\8c³
+apply.c:1959: if (!(corpse = floorfood("\8aÊ\8bl\82ß\82É\82·\82é", 2))) return;
+eat.c:2404: if (!(otmp = floorfood("\90H\82×\82é", 0))) return 0;
+pray.c:1478: if (!(otmp = floorfood("\95ù\82°\82é", 1))) return 0;
+*/
struct obj *
floorfood(verb, corpsecheck)
const char *verb;
boolean feeding = !strcmp(verb, "eat"), /* corpsecheck==0 */
offering = !strcmp(verb, "sacrifice"); /* corpsecheck==1 */
+#if 1 /*JP*/
+ const char *jverb = trans_verb(verb)->jp;
+#endif
+
/* if we can't touch floor objects then use invent food only */
if (!can_reach_floor(TRUE) || (feeding && u.usteed)
|| (is_pool_or_lava(u.ux, u.uy)
/* If not already stuck in the trap, perhaps there should
be a chance to becoming trapped? Probably not, because
then the trap would just get eaten on the _next_ turn... */
+/*JP
Sprintf(qbuf, "There is a bear trap here (%s); eat it?",
+*/
+ Sprintf(qbuf, "\82±\82±\82É\82Í\8cF\82Ìã©(%s)\82ª\82 \82é; \90H\82×\82Ü\82·\82©\81H",
+/*JP
(u.utrap && u.utraptype == TT_BEARTRAP) ? "holding you"
+*/
+ (u.utrap && u.utraptype == TT_BEARTRAP) ? "\82 \82È\82½\82ð\92Í\82Ü\82¦\82Ä\82¢\82é"
+/*JP
: "armed");
+*/
+ : "\89Ò\93®\92\86");
if ((c = yn_function(qbuf, ynqchars, 'n')) == 'y') {
u.utrap = u.utraptype = 0;
deltrap(ttmp);
if (youmonst.data != &mons[PM_RUST_MONSTER]
&& (gold = g_at(u.ux, u.uy)) != 0) {
+#if 0 /*JP*/
if (gold->quan == 1L)
Sprintf(qbuf, "There is 1 gold piece here; eat it?");
else
Sprintf(qbuf, "There are %ld gold pieces here; eat them?",
gold->quan);
+#else
+ Sprintf(qbuf, "\82±\82±\82É\82Í%ld\96\87\82Ì\8bà\89Ý\82ª\82 \82é\81D\90H\82×\82Ü\82·\82©\81H", gold->quan);
+#endif
if ((c = yn_function(qbuf, ynqchars, 'n')) == 'y') {
return gold;
} else if (c == 'q') {
/* "There is <an object> here; <verb> it?" or
"There are <N objects> here; <verb> one?" */
+#if 0 /*JP*/
Sprintf(qbuf, "There %s ", otense(otmp, "are"));
Sprintf(qsfx, " here; %s %s?", verb, one ? "it" : "one");
(void) safe_qbuf(qbuf, qbuf, qsfx, otmp, doname, ansimpleoname,
one ? something : (const char *) "things");
+#else
+ Strcpy(qbuf, "\82±\82±\82É");
+ Sprintf(qsfx, "\82ª\82 \82é; %s%s?", one ? "" : "\88ê\82Â", jverb);
+ (void) safe_qbuf(qbuf, qbuf, qsfx, otmp, doname, ansimpleoname,
+ one ? something : (const char *) "\89½\82©");
+#endif
if ((c = yn_function(qbuf, ynqchars, 'n')) == 'y')
return otmp;
else if (c == 'q')
getobj(feeding ? allobj : offering ? offerfodder : comestibles, verb);
if (corpsecheck && otmp && !(offering && otmp->oclass == AMULET_CLASS))
if (otmp->otyp != CORPSE || (corpsecheck == 2 && !tinnable(otmp))) {
+/*JP
You_cant("%s that!", verb);
+*/
+ You_cant("\82»\82ê\82ð%s\82±\82Æ\82Í\82Å\82«\82È\82¢\81I", jverb);
return (struct obj *) 0;
}
return otmp;
}
#endif /* PANICTRACE */
+#if 0 /*JP*//*\93ú\96{\8cê\82Å\82Í\8eg\82í\82È\82¢*/
/*
* The order of these needs to match the macros in hack.h.
*/
"turned into slime", "genocided", "panic", "trickery", "quit",
"escaped", "ascended"
};
+#endif /*JP*/
static NEARDATA const char *ends[] = {
/* "when you %s" */
+#if 0 /*JP*/
"died", "choked", "were poisoned",
"starved", "drowned", "burned",
"dissolved in the lava",
"turned into slime", "were genocided",
"panicked", "were tricked", "quit",
"escaped", "ascended"
+#else /*JP: \8dÅ\8cã\82É\81u\8eE\82³\82ê\82½\81v\92Ç\89Á */
+ "\8e\80\82ñ\82¾", "\92\82\91§\82µ\82½", "\93Å\82É\82¨\82©\82³\82ê\82½",
+ "\89ì\8e\80\82µ\82½", "\93M\8e\80\82µ\82½", "\8fÄ\8e\80\82µ\82½",
+ "\97n\8aâ\82É\97n\82¯\82½",
+ "\89\9f\82µ\92×\82³\82ê\82½", "\90Î\82É\82È\82Á\82½",
+ "\82Ç\82ë\82Ç\82ë\82É\97n\82¯\82½", "\8bs\8eE\82³\82ê\82½",
+ "\83p\83j\83b\83N\82É\82¨\82¿\82¢\82Á\82½", "\8aï\96\82È\8fo\97\88\8e\96\82É\89ï\82Á\82½", "\94²\82¯\82½",
+ "\92E\8fo\82µ\82½", "\8f¸\93V\82µ\82½", "\8eE\82³\82ê\82½"
+#endif
};
static boolean Schroedingers_cat = FALSE;
int
done2()
{
+/*JP
if (!paranoid_query(ParanoidQuit, "Really quit?")) {
+*/
+ if (!paranoid_query(ParanoidQuit, "\96{\93\96\82É\82â\82ß\82é\81H")) {
#ifndef NO_SIGNAL
(void) signal(SIGINT, (SIG_RET_TYPE) done1);
#endif
mimicker = (mtmp->m_ap_type == M_AP_MONSTER),
imitator = (mptr != champtr || mimicker);
+/*JP
You((how == STONING) ? "turn to stone..." : "die...");
+*/
+ You((how == STONING) ? "\90Î\82É\82È\82Á\82½\81D\81D\81D" : "\8e\80\82É\82Ü\82µ\82½\81D\81D\81D");
mark_synch(); /* flush buffered screen output */
buf[0] = '\0';
killer.format = KILLED_BY_AN;
+#if 0 /*JP*//* \93ú\96{\8cê\82É\82Í\8aÖ\8cW\82È\82¢\82Ì\82Å\82Ü\82Æ\82ß\82Ä\83R\83\81\83\93\83g\83A\83E\83g */
/* "killed by the high priest of Crom" is okay,
"killed by the high priest" alone isn't */
if ((mptr->geno & G_UNIQ) != 0 && !(imitator && !mimicker)
Strcat(buf, "the ");
killer.format = KILLED_BY;
}
+#endif
if (mtmp->minvis)
+/*JP
Strcat(buf, "invisible ");
+*/
+ Strcat(buf, "\93§\96¾\82È");
if (distorted)
+/*JP
Strcat(buf, "hallucinogen-distorted ");
+*/
+ Strcat(buf, "\8c¶\8ao\82Å\98c\82ñ\82¾");
if (imitator) {
char shape[BUFSZ];
realnm, shape);
mptr = mtmp->data; /* reset for mimicker case */
} else if (mptr == &mons[PM_GHOST]) {
+#if 0 /*JP*/
Strcat(buf, "ghost");
if (has_mname(mtmp))
Sprintf(eos(buf), " of %s", MNAME(mtmp));
+#else
+ if (has_mname(mtmp))
+ Sprintf(eos(buf), "%s\82Ì\97H\97ì", MNAME(mtmp));
+ else
+ Strcat(buf, "\97H\97ì");
+#endif
} else if (mtmp->isshk) {
+#if 0 /*JP*/
const char *shknm = shkname(mtmp),
*honorific = shkname_is_pname(mtmp) ? ""
: mtmp->female ? "Ms. " : "Mr. ";
Sprintf(eos(buf), "%s%s, the shopkeeper", honorific, shknm);
+#else
+ Sprintf(eos(buf), "%s\82Æ\82¢\82¤\96¼\82Ì\93X\8eå", shkname(mtmp));
+#endif
killer.format = KILLED_BY;
} else if (mtmp->ispriest || mtmp->isminion) {
/* m_monnam() suppresses "the" prefix plus "invisible", and
it overrides the effect of Hallucination on priestname() */
Strcat(buf, m_monnam(mtmp));
} else {
+#if 0 /*JP*/
Strcat(buf, mptr->mname);
if (has_mname(mtmp))
Sprintf(eos(buf), " called %s", MNAME(mtmp));
+#else
+ Strcat(buf, mptr->mname);
+#endif
}
Strcpy(killer.name, buf);
&& (mvitals[u.ugrave_arise].mvflags & G_GENOD))
u.ugrave_arise = NON_PM;
+#if 1 /*JP*/
+ if (how == STONING){
+ /*JP
+ topten.c \82Ì killed_by_prefix \82ð\8eQ\8fÆ\82Ì\82±\82Æ\81B
+ STONING \82Ì\8fê\8d\87\82Í "\90Î\89»\82µ\82½" \82ª\95â\82í\82ê\82é\81B
+ */
+ Strcat(buf, "\82Ì\8dU\8c\82\82Å");
+ }
+ if (how == DIED){
+ /*JP
+ DIED \82Ì\8fê\8d\87\82Í\92Ê\8fí "\8e\80\82ñ\82¾" \82ª\95â\82í\82ê\82é\82ª\81A
+ \89ö\95¨\82É\82æ\82é\8fê\8d\87\82Í "\82É\8eE\82³\82ê\82½" \82ð\95â\82¤\81B
+ */
+ killer.format = KILLED_SUFFIX;
+ done(DIED);
+ }
+#endif
done(how);
return;
}
}
raw_print(program_state.gameover
+/*JP
? "Postgame wrapup disrupted."
+*/
+ ? "\83Q\81[\83\80\8fI\97¹\8e\9e\82Ì\8f\88\97\9d\82ª\95ö\89ó\82µ\82½\81D"
: !program_state.something_worth_saving
+/*JP
? "Program initialization has failed."
+*/
+ ? "\83v\83\8d\83O\83\89\83\80\82Ì\8f\89\8aú\89»\82É\8e¸\94s\82µ\82½\81D"
+/*JP
: "Suddenly, the dungeon collapses.");
+*/
+ : "\93Ë\91R\96À\8b{\82ª\95ö\82ê\82½\81D");
#ifndef MICRO
#if defined(NOTIFY_NETHACK_BUGS)
if (!wizard)
raw_print("\nError save file being written.\n");
#else
if (!wizard) {
+#if 0 /*JP*/
const char *maybe_rebuild = !program_state.something_worth_saving
? "."
: "\nand it may be possible to rebuild.";
+#else
+ const char *maybe_rebuild = !program_state.something_worth_saving
+ ? "\81D"
+ : "\n\95\9c\8b\8c\82Å\82«\82é\89Â\94\\90«\82ª\82 \82è\82Ü\82·\81D";
+#endif
if (sysopt.support)
raw_printf("To report this error, %s%s", sysopt.support,
raw_printf("To report this error, contact %s%s",
sysopt.fmtd_wizard_list, maybe_rebuild);
else
+#if 0 /*JP*/
raw_printf("Report error to \"%s\"%s", WIZARD_NAME,
maybe_rebuild);
+#else
+ raw_printf("\"%s\"\82É\83G\83\89\81[\82ð\95ñ\8d\90\82µ\82Ä\82\82¾\82³\82¢\81D%s", WIZARD_NAME,
+ maybe_rebuild);
+#endif
}
#endif
/* XXX can we move this above the prints? Then we'd be able to
if (invent && !done_stopprint) {
if (taken)
+#if 0 /*JP*/
Sprintf(qbuf, "Do you want to see what you had when you %s?",
(how == QUIT) ? "quit" : "died");
+#else
+ Sprintf(qbuf,"%s\82Æ\82«\89½\82ð\8e\9d\82Á\82Ä\82¢\82½\82©\8c©\82Ü\82·\82©\81H",
+ (how == QUIT) ? "\82â\82ß\82½" : "\8e\80\82ñ\82¾");
+#endif
else
+/*JP
Strcpy(qbuf, "Do you want your possessions identified?");
+*/
+ Strcpy(qbuf,"\8e\9d\82¿\95¨\82ð\8e¯\95Ê\82µ\82Ü\82·\82©\81H");
ask = should_query_disclose_option('i', &defquery);
c = ask ? yn_function(qbuf, ynqchars, defquery) : defquery;
if (!done_stopprint) {
ask = should_query_disclose_option('a', &defquery);
+#if 0 /*JP*/
c = ask ? yn_function("Do you want to see your attributes?", ynqchars,
defquery)
: defquery;
+#else
+ c = ask ? yn_function("\91®\90«\82ð\8c©\82Ü\82·\82©\81H", ynqchars,
+ defquery)
+ : defquery;
+#endif
if (c == 'y')
enlightenment((BASICENLIGHTENMENT | MAGICENLIGHTENMENT),
(how >= PANICKED) ? ENL_GAMEOVERALIVE
if (!done_stopprint) {
ask = should_query_disclose_option('c', &defquery);
+#if 0 /*JP*/
c = ask ? yn_function("Do you want to see your conduct?", ynqchars,
defquery)
: defquery;
+#else
+ c = ask ? yn_function("\82Ç\82¤\82¢\82¤\8ds\93®\82ð\82Æ\82Á\82½\82©\8c©\82Ü\82·\82©\81H", ynqchars,
+ defquery)
+ : defquery;
+#endif
if (c == 'y')
show_conduct((how >= PANICKED) ? 1 : 2);
if (c == 'q')
}
if (how == CHOKING)
init_uhunger();
+/*JP
nomovemsg = "You survived that attempt on your life.";
+*/
+ nomovemsg = "\82 \82È\82½\82Í\90¶\82«\82È\82ª\82ç\82¦\82½\81D";
context.move = 0;
if (multi > 0)
multi = 0;
makeknown(otmp->otyp);
otmp->known = otmp->dknown = otmp->bknown = otmp->rknown = 1;
/* assumes artifacts don't have quan > 1 */
+#if 0 /*JP*/
Sprintf(pbuf, "%s%s (worth %ld %s and %ld points)",
the_unique_obj(otmp) ? "The " : "",
otmp->oartifact ? artifact_name(xname(otmp), &dummy)
: OBJ_NAME(objects[otmp->otyp]),
value, currency(value), points);
+#else
+ Sprintf(pbuf, "%s(%ld%s\81C%ld\83|\83C\83\93\83g\82Ì\89¿\92l)\81C",
+ otmp->oartifact ? artifact_name(xname(otmp), &dummy)
+ : OBJ_NAME(objects[otmp->otyp]),
+ value, currency(value), points);
+#endif
putstr(endwin, 0, pbuf);
}
}
killer.name[0] = 0;
}
if (wizard) {
+/*JP
You("are a very tricky wizard, it seems.");
+*/
+ You("\82Æ\82Ä\82à\88µ\82¢\82É\82\82¢wizard\82Ì\82æ\82¤\82¾\81D");
return;
}
}
if (!killer.name[0] && (how == STARVING || how == BURNING))
killer.format = KILLED_BY;
if (!killer.name[0] || how >= PANICKED)
+/*JP
Strcpy(killer.name, deaths[how]);
+*/
+ Strcpy(killer.name, ends[how]);
if (how < PANICKED)
u.umortality++;
if (Lifesaved && (how <= GENOCIDED)) {
+/*JP
pline("But wait...");
+*/
+ pline("\82¿\82å\82Á\82Æ\82Ü\82Á\82½\81D\81D\81D");
makeknown(AMULET_OF_LIFE_SAVING);
+/*JP
Your("medallion %s!", !Blind ? "begins to glow" : "feels warm");
+*/
+ Your("\96\82\8f\9c\82¯\82Í%s\81I", !Blind ? "\8bP\82«\82Í\82¶\82ß\82½" : "\92g\82©\82\82È\82è\82Í\82¶\82ß\82½");
if (how == CHOKING)
+/*JP
You("vomit ...");
+*/
+ You("\93f\82¢\82½\81D\81D\81D");
+/*JP
You_feel("much better!");
+*/
+ You("\8bC\95ª\82ª\82æ\82\82È\82Á\82½\81I");
+/*JP
pline_The("medallion crumbles to dust!");
+*/
+ pline("\96\82\8f\9c\82¯\82Í\82±\82È\82²\82È\82É\82\82¾\82¯\82½\81I");
if (uamul)
useup(uamul);
(void) adjattrib(A_CON, -1, TRUE);
savelife(how);
if (how == GENOCIDED) {
+/*JP
pline("Unfortunately you are still genocided...");
+*/
+ pline("\8ec\94O\82È\82ª\82ç\81C\82 \82È\82½\82Í\8bs\8eE\82³\82ê\82½\82Ü\82Ü\82¾\81D\81D\81D");
} else {
killer.name[0] = 0;
killer.format = 0;
}
}
if ((wizard || discover) && (how <= GENOCIDED) &&
+/*JP
!paranoid_query(ParanoidDie, "Die?")) {
+*/
+ !paranoid_query(ParanoidDie, "\8e\80\82ñ\82Å\82Ý\82é\81H")) {
+/*JP
pline("OK, so you don't %s.", (how == CHOKING) ? "choke" : "die");
+*/
+ You("\8e\80\82È\82È\82©\82Á\82½\81D");
savelife(how);
killer.name[0] = 0;
killer.format = 0;
* smiling... :-) -3.
*/
if (moves <= 1 && how < PANICKED) /* You die... --More-- */
+/*JP
pline("Do not pass go. Do not collect 200 %s.", currency(200L));
+*/
+ pline("\92\8d\88Ó\88ê\95b\81C\89ö\89ä\88ê\90¶\81C\8e\80\96S\88ê\95à\81D");
if (have_windows)
wait_synch(); /* flush screen output */
if (u.uhp < 1) {
how = DIED;
u.umortality++; /* skipped above when how==QUIT */
+/*JP
Strcpy(killer.name, "quit while already on Charon's boat");
+*/
+ Strcpy(killer.name, "\8eO\93r\82Ì\90ì\82Ì\93n\82µ\91D\82É\8fæ\82Á\82Ä\82¢\82é\8aÔ\82É\94²\82¯\82½");
}
}
if (how == ESCAPED || how == PANICKED)
: urace.malenum;
}
corpse = mk_named_object(CORPSE, &mons[mnum], u.ux, u.uy, plname);
+/*JP
Sprintf(pbuf, "%s, ", plname);
+*/
+ Sprintf(pbuf, "%s\82Ì\95æ\81C", plname);
formatkiller(eos(pbuf), sizeof pbuf - strlen(pbuf), how);
make_grave(u.ux, u.uy, pbuf);
}
/* give this feedback even if bones aren't going to be created,
so that its presence or absence doesn't tip off the player to
new bones or their lack; it might be a lie if makemon fails */
+/*JP
Your("body rises from the dead as %s...",
+*/
+ Your("\91Ì\82Í%s\82Æ\82µ\82Ä\8e\80\91Ì\82©\82ç\91h\82Á\82½\81D\81D\81D",
an(mons[u.ugrave_arise].mname));
display_nhwindow(WIN_MESSAGE, FALSE);
}
if (bones_ok) {
+/*JP
if (!wizard || paranoid_query(ParanoidBones, "Save bones?"))
+*/
+ if (!wizard || paranoid_query(ParanoidBones, "\8d\9c\82ð\82¤\82ß\82é\81H"))
savebones(how, endtime, corpse);
/* corpse may be invalid pointer now so
ensure that it isn't used again */
done_stopprint = 1; /* just avoid any more output */
if (u.uhave.amulet) {
+/*JP
Strcat(killer.name, " (with the Amulet)");
+*/
+ Strcat(killer.name, "\96\82\8f\9c\82¯\82ð\8eè\82É");
} else if (how == ESCAPED) {
if (Is_astralevel(&u.uz)) /* offered Amulet to wrong deity */
+/*JP
Strcat(killer.name, " (in celestial disgrace)");
+*/
+ Strcat(killer.name, "\93V\8fã\82Å\92p\90J\82ð\8eó\82¯\92E\8fo\82µ\82½");
else if (carrying(FAKE_AMULET_OF_YENDOR))
+/*JP
Strcat(killer.name, " (with a fake Amulet)");
+*/
+ Strcat(killer.name, "\8bU\95¨\82Ì\96\82\8f\9c\82¯\82ð\92Í\82Ü\82³\82ê\92E\8fo\82µ\82½");
/* don't bother counting to see whether it should be plural */
}
if (!done_stopprint) {
+#if 0 /*JP*/
Sprintf(pbuf, "%s %s the %s...", Goodbye(), plname,
(how != ASCENDED)
? (const char *) ((flags.female && urole.name.f)
? urole.name.f
: urole.name.m)
: (const char *) (flags.female ? "Demigoddess" : "Demigod"));
+#else
+ Sprintf(pbuf, "%s%s\82Ì%s\81D\81D\81D", Goodbye(),
+ how != ASCENDED
+ ? (const char *) ((flags.female && urole.name.f)
+ ? urole.name.f
+ : urole.name.m)
+ : (const char *) (flags.female ? "\8f\97\90_" : "\90_"),
+ plname);
+#endif
putstr(endwin, 0, pbuf);
putstr(endwin, 0, "");
}
viz_array[0][0] |= IN_SIGHT; /* need visibility for naming */
mtmp = mydogs;
if (!done_stopprint)
+/*JP
Strcpy(pbuf, "You");
+*/
+ Strcpy(pbuf, "\82 \82È\82½");
if (!Schroedingers_cat) /* check here in case disclosure was off */
Schroedingers_cat = odds_and_ends(invent, CAT_CHECK);
if (Schroedingers_cat) {
mhp = d(m_lev, 8);
nowrap_add(u.urexp, mhp);
if (!done_stopprint)
+/*JP
Strcat(eos(pbuf), " and Schroedinger's cat");
+*/
+ Strcat(eos(pbuf), "\82Æ\83V\83\85\83\8c\83f\83B\83\93\83K\81[\82Ì\94L");
}
if (mtmp) {
while (mtmp) {
if (!done_stopprint)
+/*JP
Sprintf(eos(pbuf), " and %s", mon_nam(mtmp));
+*/
+ Sprintf(eos(pbuf), "\82Æ%s", mon_nam(mtmp));
if (mtmp->mtame)
nowrap_add(u.urexp, mtmp->mhp);
mtmp = mtmp->nmon;
}
+#if 1 /*JP*/
+ if (!done_stopprint)
+ Strcat(pbuf, "\82Í");
+#endif
if (!done_stopprint)
putstr(endwin, 0, pbuf);
pbuf[0] = '\0';
} else {
if (!done_stopprint)
+/*JP
Strcat(pbuf, " ");
+*/
+ Strcat(pbuf, "\82Í");
}
if (!done_stopprint) {
+#if 0 /*JP*/
Sprintf(eos(pbuf), "%s with %ld point%s,",
how == ASCENDED ? "went to your reward"
: "escaped from the dungeon",
u.urexp, plur(u.urexp));
+#else
+ Sprintf(eos(pbuf), "%ld\83|\83C\83\93\83g\83}\81[\83N\82µ%s\81D",
+ u.urexp,
+ how==ASCENDED ? "\8f¸\93V\82µ\82½" : "\96À\8b{\82©\82ç\92E\8fo\82µ\82½");
+#endif
putstr(endwin, 0, pbuf);
}
if (has_oname(otmp))
free_oname(otmp);
otmp->quan = count;
+#if 0 /*JP*/
Sprintf(pbuf, "%8ld %s (worth %ld %s),", count,
xname(otmp), count * (long) objects[typ].oc_cost,
currency(2L));
+#else
+ Sprintf(pbuf, "%ld\8cÂ\82Ì%s(%ld%s\82Ì\89¿\92l)\81C", count,
+ xname(otmp), count * (long) objects[typ].oc_cost,
+ currency(2L));
+#endif
obfree(otmp, (struct obj *) 0);
} else {
+#if 0 /*JP*/
Sprintf(pbuf, "%8ld worthless piece%s of colored glass,",
count, plur(count));
+#else
+ Sprintf(pbuf, "%ld\8cÂ\82Ì\89¿\92l\82Ì\82È\82¢\90F\82Â\82«\83K\83\89\83X\81C",
+ count);
+#endif
}
putstr(endwin, 0, pbuf);
}
if (u.uz.dnum == 0 && u.uz.dlevel <= 0) {
/* level teleported out of the dungeon; `how' is DIED,
due to falling or to "arriving at heaven prematurely" */
+#if 0 /*JP*/
Sprintf(pbuf, "You %s beyond the confines of the dungeon",
(u.uz.dlevel < 0) ? "passed away" : ends[how]);
+#else
+ Sprintf(pbuf, "\96À\8b{\82Ì\97Ì\88æ\82ð\89z\82¦%s\81D",
+ (u.uz.dlevel < 0) ? "\8fÁ\82¦\82³\82Á\82½" : ends[how]);
+#endif
} else {
/* more conventional demise */
const char *where = dungeons[u.uz.dnum].dname;
if (Is_astralevel(&u.uz))
+/*JP
where = "The Astral Plane";
+*/
+ where = "\90¸\97ì\8aE\82É\82Ä";
+/*JP
Sprintf(pbuf, "You %s in %s", ends[how], where);
+*/
+ Sprintf(pbuf, "\82 \82È\82½\82Í%s", where);
if (!In_endgame(&u.uz) && !Is_knox(&u.uz))
+#if 0 /*JP*/
Sprintf(eos(pbuf), " on dungeon level %d",
In_quest(&u.uz) ? dunlev(&u.uz) : depth(&u.uz));
+#else
+ Sprintf(eos(pbuf), "\82Ì\92n\89º%d\8aK\82Å",
+ In_quest(&u.uz) ? dunlev(&u.uz) : depth(&u.uz));
+#endif
}
+/*JP
Sprintf(eos(pbuf), " with %ld point%s,", u.urexp, plur(u.urexp));
+*/
+ Sprintf(eos(pbuf), " %ld\83|\83C\83\93\83g\82ð\83}\81[\83N\82µ\81C", u.urexp);
putstr(endwin, 0, pbuf);
}
if (!done_stopprint) {
+#if 0 /*JP*/
Sprintf(pbuf, "and %ld piece%s of gold, after %ld move%s.", umoney,
plur(umoney), moves, plur(moves));
+#else
+ Sprintf(pbuf, "%ld\96\87\82Ì\8bà\89Ý\82ð\8e\9d\82Á\82Ä\81C%ld\95à\93®\82¢\82½\81D",
+ umoney, moves);
+#endif
putstr(endwin, 0, pbuf);
}
if (!done_stopprint) {
+#if 0 /*JP*/
Sprintf(pbuf,
"You were level %d with a maximum of %d hit point%s when you %s.",
u.ulevel, u.uhpmax, plur(u.uhpmax), ends[how]);
+#else
+ Sprintf(pbuf,
+ "%s\82Æ\82«\81C\82 \82È\82½\82Í\83\8c\83x\83\8b%u\82Å\81C\8dÅ\91å\91Ì\97Í\82Í%d\82Å\82 \82Á\82½\81D",
+ ends[how],u.ulevel, u.uhpmax);
+#endif
putstr(endwin, 0, pbuf);
putstr(endwin, 0, "");
}
goto nextclass;
}
+/*JP
Sprintf(buf, "Contents of %s:", the(xname(box)));
+*/
+ Sprintf(buf, "%s\82Ì\92\86\90g\81F", the(xname(box)));
putstr(tmpwin, 0, buf);
putstr(tmpwin, 0, "");
for (i = 0; i < n; i++) {
}
free(oarray);
if (cat)
+/*JP
putstr(tmpwin, 0, "Schroedinger's cat");
+*/
+ putstr(tmpwin, 0, "\83V\83\85\83\8c\83f\83B\83\93\83K\81[\82Ì\94L");
else if (deadcat)
+/*JP
putstr(tmpwin, 0, "Schroedinger's dead cat");
+*/
+ putstr(tmpwin, 0, "\83V\83\85\83\8c\83f\83B\83\93\83K\81[\82Ì\94L\82Ì\8e\80\91Ì");
display_nhwindow(tmpwin, TRUE);
destroy_nhwindow(tmpwin);
if (all_containers)
container_contents(box->cobj, identified, TRUE,
reportempty);
} else if (cat || deadcat) {
+#if 0 /*JP*/
pline("%s Schroedinger's %scat!", Tobjnam(box, "contain"),
deadcat ? "dead " : "");
+#else
+ pline("%s\82É\82Í\83V\83\85\83\8c\83f\83B\83\93\83K\81[\82Ì\94L%s\82ª\93ü\82Á\82Ä\82¢\82½\81I", xname(box),
+ deadcat ? "\82Ì\8e\80\91Ì" : "");
+#endif
display_nhwindow(WIN_MESSAGE, FALSE);
} else if (reportempty) {
+/*JP
pline("%s is empty.", upstart(thesimpleoname(box)));
+*/
+ pline("%s\82Í\8bó\82Á\82Û\82¾\81D", xname(box));
display_nhwindow(WIN_MESSAGE, FALSE);
}
}
return;
#endif
program_state.exiting = 1;
+#if 1 /*JP*/
+ jputchar('\0'); /* reset terminal */
+#endif
nethack_exit(status);
}
* includes all dead monsters, not just those killed by the player
*/
if (ntypes != 0) {
+#if 0 /*JP*/
c = ask ? yn_function(
"Do you want an account of creatures vanquished?",
ynqchars, defquery)
: defquery;
+#else
+ c = ask ? yn_function(
+ "\93|\82µ\82½\93G\82Ì\88ê\97\97\82ð\8c©\82Ü\82·\82©\81H",
+ ynqchars, defquery)
+ : defquery;
+#endif
if (c == 'q')
done_stopprint++;
if (c == 'y' || c == 'a') {
klwin = create_nhwindow(NHW_MENU);
+/*JP
putstr(klwin, 0, "Vanquished creatures:");
+*/
+ putstr(klwin, 0, "\93|\82µ\82½\93G\81F");
putstr(klwin, 0, "");
/* countdown by monster "toughness" */
if (mons[i].mlevel == lev
&& (nkilled = mvitals[i].died) > 0) {
if ((mons[i].geno & G_UNIQ) && i != PM_HIGH_PRIEST) {
+#if 0 /*JP*/
Sprintf(buf, "%s%s",
!type_is_pname(&mons[i]) ? "The " : "",
mons[i].mname);
+#else
+ Sprintf(buf, "%s", mons[i].mname);
+#endif
if (nkilled > 1) {
+#if 0 /*JP*/
switch (nkilled) {
case 2:
Sprintf(eos(buf), " (twice)");
Sprintf(eos(buf), " (%d times)", nkilled);
break;
}
+#else
+ Sprintf(eos(buf)," (%d\89ñ)", nkilled);
+#endif
}
} else {
/* trolls or undead might have come back,
if (nkilled == 1)
Strcpy(buf, an(mons[i].mname));
else
+#if 0 /*JP*/
Sprintf(buf, "%d %s", nkilled,
makeplural(mons[i].mname));
+#else
+ Sprintf(buf, "%d\91Ì\82Ì%s", nkilled,
+ mons[i].mname);
+#endif
}
putstr(klwin, 0, buf);
}
*/
if (ntypes > 1) {
putstr(klwin, 0, "");
+/*JP
Sprintf(buf, "%ld creatures vanquished.", total_killed);
+*/
+ Sprintf(buf, "%ld\95C\82Ì\93G\82ð\93|\82µ\82½\81D", total_killed);
putstr(klwin, 0, buf);
}
display_nhwindow(klwin, TRUE);
/* genocided or extinct species list */
if (ngenocided != 0 || nextinct != 0) {
+#if 0 /*JP*/
Sprintf(buf, "Do you want a list of %sspecies%s%s?",
(nextinct && !ngenocided) ? "extinct " : "",
(ngenocided) ? " genocided" : "",
(nextinct && ngenocided) ? " and extinct" : "");
+#else
+ Sprintf(buf, "%s%s%s\82µ\82½\8eí\82Ì\88ê\97\97\82ð\8c©\82Ü\82·\82©\81H",
+ (nextinct && !ngenocided) ? "\90â\96Å" : "",
+ (ngenocided) ? "\8bs\8eE" : "",
+ (nextinct && ngenocided) ? "\82¨\82æ\82Ñ\90â\96Å" : "");
+#endif
c = ask ? yn_function(buf, ynqchars, defquery) : defquery;
if (c == 'q')
done_stopprint++;
if (c == 'y') {
klwin = create_nhwindow(NHW_MENU);
+#if 0 /*JP*/
Sprintf(buf, "%s%s species:",
(ngenocided) ? "Genocided" : "Extinct",
(nextinct && ngenocided) ? " or extinct" : "");
+#else
+ Sprintf(buf, "%s%s\82µ\82½\8eí:",
+ (ngenocided) ? "\8bs\8eE" : "\90â\96Å",
+ (nextinct && ngenocided) ? "\82Ü\82½\82Í\90â\96Å" : "");
+#endif
putstr(klwin, 0, buf);
putstr(klwin, 0, "");
for (i = LOW_PM; i < NUMMONS; i++)
if (mvitals[i].mvflags & G_GONE && !(mons[i].geno & G_UNIQ)) {
if ((mons[i].geno & G_UNIQ) && i != PM_HIGH_PRIEST)
+#if 0 /*JP*/
Sprintf(buf, "%s%s",
!type_is_pname(&mons[i]) ? "" : "the ",
mons[i].mname);
+#else
+ Sprintf(buf, "%s", mons[i].mname);
+#endif
else
Strcpy(buf, makeplural(mons[i].mname));
if (!(mvitals[i].mvflags & G_GENOD))
+/*JP
Strcat(buf, " (extinct)");
+*/
+ Strcat(buf, "(\90â\96Å)");
putstr(klwin, 0, buf);
}
putstr(klwin, 0, "");
if (ngenocided > 0) {
+/*JP
Sprintf(buf, "%d species genocided.", ngenocided);
+*/
+ Sprintf(buf, "%d\8eí\97Þ\82Ì\8eí\82ð\8bs\8eE\82µ\82½\81D", ngenocided);
putstr(klwin, 0, buf);
}
if (nextinct > 0) {
+/*JP
Sprintf(buf, "%d species extinct.", nextinct);
+*/
+ Sprintf(buf, "%d\8eí\97Þ\82Ì\8eí\82ð\90â\96Å\82³\82¹\82½\81D", nextinct);
putstr(klwin, 0, buf);
}
/* 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"
#include "lev.h"
int cnt;
unsigned seed; /* for semi-controlled randomization */
{
+#if 0 /*JP*/
char *s;
+#else
+ unsigned char *s;
+#endif
int i, j, nxt, use_rubout, lth = (int) strlen(engr);
if (lth && cnt > 0) {
seed *= 31, seed %= (BUFSZ - 1);
use_rubout = seed & 3;
}
+#if 0 /*JP*/
s = &engr[nxt];
+#else /*JP: \93ú\96{\8cê\82Ì\8fê\8d\87\82Íjrubout()\82ð\8eg\82Á\82Ä\8fÁ\82·*/
+ if (!seed)
+ j = rn2(2);
+ else {
+ seed *= 31, seed %= (BUFSZ-1);
+ j = seed % 2;
+ }
+
+ if(jrubout(engr, nxt, use_rubout, j)){
+ continue;
+ }
+
+ s = (unsigned char *)&engr[nxt];
+#endif
if (*s == ' ')
continue;
register struct rm *lev = &levl[x][y];
if (x == u.ux && y == u.uy && u.uswallow && is_animal(u.ustuck->data))
+/*JP
return "maw";
+*/
+ return "\88Ý\91Ü";
else if (IS_AIR(lev->typ) && Is_airlevel(&u.uz))
+/*JP
return "air";
+*/
+ return "\8bó\92\86";
else if (is_pool(x, y))
+/*JP
return (Underwater && !Is_waterlevel(&u.uz)) ? "bottom" : "water";
+*/
+ return (Underwater && !Is_waterlevel(&u.uz)) ? "\90\85\82Ì\92ê" : "\90\85\92\86";
else if (is_ice(x, y))
+/*JP
return "ice";
+*/
+ return "\95X";
else if (is_lava(x, y))
+/*JP
return "lava";
+*/
+ return "\97n\8aâ";
else if (lev->typ == DRAWBRIDGE_DOWN)
+/*JP
return "bridge";
+*/
+ return "\8b´";
else if (IS_ALTAR(levl[x][y].typ))
+/*JP
return "altar";
+*/
+ return "\8dÕ\92d";
else if (IS_GRAVE(levl[x][y].typ))
+/*JP
return "headstone";
+*/
+ return "\95æ\90Î";
else if (IS_FOUNTAIN(levl[x][y].typ))
+/*JP
return "fountain";
+*/
+ return "\90ò";
else if ((IS_ROOM(lev->typ) && !Is_earthlevel(&u.uz))
|| IS_WALL(lev->typ) || IS_DOOR(lev->typ) || lev->typ == SDOOR)
+/*JP
return "floor";
+*/
+ return "\8f°";
else
+/*JP
return "ground";
+*/
+ return "\92n\96Ê";
}
const char *
* see check_special_room()
*/
if (*in_rooms(x, y, VAULT))
+/*JP
what = "vault's ceiling";
+*/
+ what = "\91q\8cÉ\82Ì\93V\88ä";
else if (*in_rooms(x, y, TEMPLE))
+/*JP
what = "temple's ceiling";
+*/
+ what = "\8e\9b\89@\82Ì\93V\88ä";
else if (*in_rooms(x, y, SHOPBASE))
+/*JP
what = "shop's ceiling";
+*/
+ what = "\93X\82Ì\93V\88ä";
else if (Is_waterlevel(&u.uz))
/* water plane has no surface; its air bubbles aren't below sky */
+/*JP
what = "water above";
+*/
+ what = "\90\85\82Ì\8fã\95û";
else if (IS_AIR(lev->typ))
+/*JP
what = "sky";
+*/
+ what = "\8bó";
else if (Underwater)
+/*JP
what = "water's surface";
+*/
+ what = "\90\85\96Ê";
else if ((IS_ROOM(lev->typ) && !Is_earthlevel(&u.uz))
|| IS_WALL(lev->typ) || IS_DOOR(lev->typ) || lev->typ == SDOOR)
+/*JP
what = "ceiling";
+*/
+ what = "\93V\88ä";
else
+/*JP
what = "rock cavern";
+*/
+ what = "\93´\8cA\82Ì\93V\88ä";
return what;
}
case DUST:
if (!Blind) {
sensed = 1;
+#if 0 /*JP*/
pline("%s is written here in the %s.", Something,
is_ice(x, y) ? "frost" : "dust");
+#else
+ pline("\89½\82©\82Ì\95¶\8e\9a\82ª%s\82É\8f\91\82¢\82Ä\82 \82é\81D",
+ is_ice(x, y) ? "\91\9a" : "\82Ù\82±\82è");
+#endif
}
break;
case ENGRAVE:
case HEADSTONE:
if (!Blind || can_reach_floor(TRUE)) {
sensed = 1;
+/*JP
pline("%s is engraved here on the %s.", Something,
+*/
+ pline("\89½\82©\82Ì\95¶\8e\9a\82ª%s\82É\8d\8f\82Ü\82ê\82Ä\82¢\82é\81D",
surface(x, y));
}
break;
case BURN:
if (!Blind || can_reach_floor(TRUE)) {
sensed = 1;
+#if 0 /*JP*/
pline("Some text has been %s into the %s here.",
is_ice(x, y) ? "melted" : "burned", surface(x, y));
+#else
+ pline("\89½\82©\82Ì\95¶\8e\9a\82ª%s%s\82¢\82é\81D",
+ surface(x,y),
+ is_ice(x,y) ? "\82É\8d\8f\82Ü\82ê\82Ä" : "\82É\8fÄ\82«\95t\82¯\82ç\82ê\82Ä");
+#endif
}
break;
case MARK:
if (!Blind) {
sensed = 1;
+/*JP
pline("There's some graffiti on the %s here.", surface(x, y));
+*/
+ pline("%s\82É\97\8e\8f\91\82ª\82 \82é\81D", surface(x,y));
}
break;
case ENGR_BLOOD:
*/
if (!Blind) {
sensed = 1;
+/*JP
You_see("a message scrawled in blood here.");
+*/
+ You("\8c\8c\95¶\8e\9a\82ª\82È\82®\82è\8f\91\82«\82³\82ê\82Ä\82¢\82é\82Ì\82ð\8c©\82Â\82¯\82½\81D");
}
break;
default:
}
if (sensed) {
char *et;
+/*JP
unsigned maxelen = BUFSZ - sizeof("You feel the words: \"\". ");
+*/
+ unsigned maxelen = BUFSZ - sizeof("\82 \82È\82½\82Í\8e\9f\82Ì\82æ\82¤\82É\8a´\82¶\82½\81F\81u\81v");
if (strlen(ep->engr_txt) > maxelen) {
(void) strncpy(buf, ep->engr_txt, (int) maxelen);
buf[maxelen] = '\0';
et = buf;
} else
et = ep->engr_txt;
+/*JP
You("%s: \"%s\".", (Blind) ? "feel the words" : "read", et);
+*/
+ You("%s\81F\81u%s\81v", (Blind) ? "\8e\9f\82Ì\82æ\82¤\82É\8a´\82¶\82½" : "\93Ç\82ñ\82¾", et);
if (context.run > 1)
nomul(0);
}
}
/*
- * freehand - returns true if player has a free hand
+ * freehand - returns true if player has a free hand
*/
int
freehand()
RING_CLASS, 0 };
/* Mohs' Hardness Scale:
- * 1 - Talc 6 - Orthoclase
- * 2 - Gypsum 7 - Quartz
- * 3 - Calcite 8 - Topaz
- * 4 - Fluorite 9 - Corundum
- * 5 - Apatite 10 - Diamond
+ * 1 - Talc 6 - Orthoclase
+ * 2 - Gypsum 7 - Quartz
+ * 3 - Calcite 8 - Topaz
+ * 4 - Fluorite 9 - Corundum
+ * 5 - Apatite 10 - Diamond
*
* Since granite is an igneous rock hardness ~ 7, anything >= 8 should
* probably be able to scratch the rock.
* Devaluation of less hard gems is not easily possible because obj struct
* does not contain individual oc_cost currently. 7/91
*
- * steel - 5-8.5 (usu. weapon)
- * diamond - 10 * jade - 5-6 (nephrite)
- * ruby - 9 (corundum) * turquoise - 5-6
- * sapphire - 9 (corundum) * opal - 5-6
- * topaz - 8 * glass - ~5.5
- * emerald - 7.5-8 (beryl) * dilithium - 4-5??
- * aquamarine - 7.5-8 (beryl) * iron - 4-5
- * garnet - 7.25 (var. 6.5-8) * fluorite - 4
- * agate - 7 (quartz) * brass - 3-4
- * amethyst - 7 (quartz) * gold - 2.5-3
- * jasper - 7 (quartz) * silver - 2.5-3
- * onyx - 7 (quartz) * copper - 2.5-3
- * moonstone - 6 (orthoclase) * amber - 2-2.5
+ * steel - 5-8.5 (usu. weapon)
+ * diamond - 10 * jade - 5-6 (nephrite)
+ * ruby - 9 (corundum) * turquoise - 5-6
+ * sapphire - 9 (corundum) * opal - 5-6
+ * topaz - 8 * glass - ~5.5
+ * emerald - 7.5-8 (beryl) * dilithium - 4-5??
+ * aquamarine - 7.5-8 (beryl) * iron - 4-5
+ * garnet - 7.25 (var. 6.5-8) * fluorite - 4
+ * agate - 7 (quartz) * brass - 3-4
+ * amethyst - 7 (quartz) * gold - 2.5-3
+ * jasper - 7 (quartz) * silver - 2.5-3
+ * onyx - 7 (quartz) * copper - 2.5-3
+ * moonstone - 6 (orthoclase) * amber - 2-2.5
*/
/* return 1 if action took 1 (or more) moves, 0 if error or aborted */
if (u.uswallow) {
if (is_animal(u.ustuck->data)) {
+/*JP
pline("What would you write? \"Jonah was here\"?");
+*/
+ pline("\89½\82ð\8f\91\82\82ñ\82¾\82¢\81H\81u\83\88\83i\82Í\82±\82±\82É\82¢\82é\81v\81H");
return 0;
} else if (is_whirly(u.ustuck->data)) {
cant_reach_floor(u.ux, u.uy, FALSE, FALSE);
} else
jello = TRUE;
} else if (is_lava(u.ux, u.uy)) {
+/*JP
You_cant("write on the %s!", surface(u.ux, u.uy));
+*/
+ You("%s\82É\93Í\82©\82È\82¢\81D", surface(u.ux,u.uy));
return 0;
} else if (is_pool(u.ux, u.uy) || IS_FOUNTAIN(levl[u.ux][u.uy].typ)) {
+/*JP
You_cant("write on the %s!", surface(u.ux, u.uy));
+*/
+ You("%s\82É\82Í\8f\91\82¯\82È\82¢\81I", surface(u.ux, u.uy));
return 0;
}
if (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz) /* in bubble */) {
+/*JP
You_cant("write in thin air!");
+*/
+ You("\8bó\92\86\82É\82Í\8f\91\82¯\82È\82¢\81I");
return 0;
} else if (!accessible(u.ux, u.uy)) {
/* stone, tree, wall, secret corridor, pool, lava, bars */
+/*JP
You_cant("write here.");
+*/
+ You_cant("\82±\82±\82É\82Í\8f\91\82¯\82È\82¢\81D");
return 0;
}
if (cantwield(youmonst.data)) {
+/*JP
You_cant("even hold anything!");
+*/
+ You("\89½\82©\82ð\8e\9d\82Â\82±\82Æ\82·\82ç\82Å\82«\82È\82¢\81I");
return 0;
}
if (check_capacity((char *) 0))
* while both your hands are tied up.
*/
if (!freehand() && otmp != uwep && !otmp->owornmask) {
+/*JP
You("have no free %s to write with!", body_part(HAND));
+*/
+ pline("%s\82Ì\8e©\97R\82ª\8cø\82©\82È\82¢\82Ì\82Å\8f\91\82¯\82È\82¢\81I", body_part(HAND));
return 0;
}
if (jello) {
+/*JP
You("tickle %s with %s.", mon_nam(u.ustuck), writer);
+*/
+ You("%s\82Å%s\82ð\82\82·\82®\82Á\82½\81D", writer, mon_nam(u.ustuck));
+/*JP
Your("message dissolves...");
+*/
+ Your("\83\81\83b\83Z\81[\83W\82Í\8fÁ\82¦\82½\81D\81D\81D");
return 0;
}
if (otmp->oclass != WAND_CLASS && !can_reach_floor(TRUE)) {
return 0;
}
if (IS_ALTAR(levl[u.ux][u.uy].typ)) {
+/*JP
You("make a motion towards the altar with %s.", writer);
+*/
+ You("%s\82ð\8eg\82Á\82Ä\8dÕ\92d\82É\8f\91\82±\82¤\82Æ\82µ\82½\81D", writer);
altar_wrath(u.ux, u.uy);
return 0;
}
if (IS_GRAVE(levl[u.ux][u.uy].typ)) {
if (otmp == &zeroobj) { /* using only finger */
+/*JP
You("would only make a small smudge on the %s.",
+*/
+ You("\82Í%s\82É\8f¬\82³\82È\82µ\82Ý\82ð\82Â\82¯\82é\82±\82Æ\82µ\82©\82Å\82«\82È\82©\82Á\82½\81D",
surface(u.ux, u.uy));
return 0;
} else if (!levl[u.ux][u.uy].disturbed) {
+/*JP
You("disturb the undead!");
+*/
+ You("\95s\8e\80\82Ì\8eÒ\82Ì\96°\82è\82ð\96W\82°\82½\81I");
levl[u.ux][u.uy].disturbed = 1;
(void) makemon(&mons[PM_GHOUL], u.ux, u.uy, NO_MM_FLAGS);
exercise(A_WIS, FALSE);
/* Objects too large to engrave with */
case BALL_CLASS:
case ROCK_CLASS:
+/*JP
You_cant("engrave with such a large object!");
+*/
+ pline("\82»\82ñ\82È\91å\82«\82È\82à\82Ì\82ð\8eg\82Á\82Ä\95¶\8e\9a\82ð\8d\8f\82ß\82È\82¢\81I");
ptext = FALSE;
break;
/* Objects too silly to engrave with */
case FOOD_CLASS:
case SCROLL_CLASS:
case SPBOOK_CLASS:
+#if 0 /*JP*/
pline("%s would get %s.", Yname2(otmp),
is_ice(u.ux, u.uy) ? "all frosty" : "too dirty");
+#else
+ Your("%s\82Í%s\82È\82Á\82½\81D", xname(otmp),
+ is_ice(u.ux,u.uy) ? "\91\9a\82¾\82ç\82¯\82É" : "\89\98\82È\82");
+#endif
ptext = FALSE;
break;
case RANDOM_CLASS: /* This should mean fingers */
*/
case WAN_STRIKING:
Strcpy(post_engr_text,
+/*JP
"The wand unsuccessfully fights your attempt to write!");
+*/
+ "\82 \82È\82½\82ª\8f\91\82±\82¤\82Æ\82·\82é\82Æ\8fñ\82Í\92ï\8dR\82µ\82½\81I");
break;
case WAN_SLOW_MONSTER:
if (!Blind) {
+/*JP
Sprintf(post_engr_text, "The bugs on the %s slow down!",
+*/
+ Sprintf(post_engr_text, "%s\82Ì\8fã\82Ì\92\8e\82Ì\93®\82«\82ª\92x\82\82È\82Á\82½\81I",
surface(u.ux, u.uy));
}
break;
case WAN_SPEED_MONSTER:
if (!Blind) {
+/*JP
Sprintf(post_engr_text, "The bugs on the %s speed up!",
+*/
+ Sprintf(post_engr_text, "%s\82Ì\8fã\82Ì\92\8e\82Ì\93®\82«\82ª\91¬\82\82È\82Á\82½\81I",
surface(u.ux, u.uy));
}
break;
ptext = TRUE;
if (!Blind) {
Sprintf(post_engr_text,
+/*JP
"The %s is riddled by bullet holes!",
+*/
+ "%s\82Í\8eU\92e\82Å\8d×\82©\82¢\8c\8a\82¾\82ç\82¯\82É\82È\82Á\82½\81I",
surface(u.ux, u.uy));
}
break;
case WAN_SLEEP:
case WAN_DEATH:
if (!Blind) {
+/*JP
Sprintf(post_engr_text, "The bugs on the %s stop moving!",
+*/
+ Sprintf(post_engr_text, "%s\82Ì\8fã\82Ì\92\8e\82Ì\93®\82«\82ª\8e~\82Ü\82Á\82½\81I",
surface(u.ux, u.uy));
}
break;
case WAN_COLD:
if (!Blind)
Strcpy(post_engr_text,
+/*JP
"A few ice cubes drop from the wand.");
+*/
+ "\95X\82Ì\82©\82¯\82ç\82ª\8fñ\82©\82ç\82±\82Ú\82ê\97\8e\82¿\82½\81D");
if (!oep || (oep->engr_type != BURN))
break;
case WAN_CANCELLATION:
case WAN_MAKE_INVISIBLE:
if (oep && oep->engr_type != HEADSTONE) {
if (!Blind)
+/*JP
pline_The("engraving on the %s vanishes!",
+*/
+ pline("%s\82Ì\8fã\82Ì\95¶\8e\9a\82Í\8fÁ\82¦\82½\81I",
surface(u.ux, u.uy));
dengr = TRUE;
}
case WAN_TELEPORTATION:
if (oep && oep->engr_type != HEADSTONE) {
if (!Blind)
+/*JP
pline_The("engraving on the %s vanishes!",
+*/
+ pline("%s\82Ì\8fã\82Ì\95¶\8e\9a\82Í\8fÁ\82¦\82½\81I",
surface(u.ux, u.uy));
teleengr = TRUE;
}
type = ENGRAVE;
if (!objects[otmp->otyp].oc_name_known) {
if (flags.verbose)
+/*JP
pline("This %s is a wand of digging!", xname(otmp));
+*/
+ pline("\82±\82ê\82Í\8c\8a\8c@\82è\82Ì\8fñ\82¾\81I");
doknown = TRUE;
}
+#if 0 /*JP*/
Strcpy(post_engr_text,
Blind
? "You hear drilling!"
== DRAWBRIDGE_DOWN)
? "Splinters fly up from the bridge."
: "Gravel flies up from the floor.");
+#else
+ Strcpy(post_engr_text,
+ Blind
+ ? "\8c\8a\82ª\8aJ\82\89¹\82ð\95·\82¢\82½\81I"
+ : IS_GRAVE(levl[u.ux][u.uy].typ)
+ ? "\95æ\90Î\82©\82ç\94j\95Ð\82ª\94ò\82Ñ\8eU\82Á\82½\81D"
+ : is_ice(u.ux,u.uy)
+ ? "\95X\82Ì\95\\96Ê\82©\82ç\95X\82Ì\82©\82¯\82ç\82ª\94ò\82Ñ\8eU\82Á\82½\81D"
+ : (level.locations[u.ux][u.uy].typ
+ == DRAWBRIDGE_DOWN)
+ ? "\94j\95Ð\82ª\8b´\82©\82ç\95\91\82¢\82 \82ª\82Á\82½\81D"
+ : "\8d»\97\98\82ª\8f°\82©\82ç\94ò\82Ñ\8eU\82Á\82½\81D");
+#endif
break;
/* type = BURN wands */
case WAN_FIRE:
type = BURN;
if (!objects[otmp->otyp].oc_name_known) {
if (flags.verbose)
+/*JP
pline("This %s is a wand of fire!", xname(otmp));
+*/
+ pline("\82±\82ê\82Í\89\8a\82Ì\8fñ\82¾\81I");
doknown = TRUE;
}
+#if 0 /*JP*/
Strcpy(post_engr_text, Blind ? "You feel the wand heat up."
: "Flames fly from the wand.");
+#else
+ Strcpy(post_engr_text, Blind ? "\8fñ\82ª\92g\82©\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D"
+ : "\89\8a\82ª\8fñ\82©\82ç\94ò\82Ñ\8eU\82Á\82½\81D");
+#endif
break;
case WAN_LIGHTNING:
ptext = TRUE;
type = BURN;
if (!objects[otmp->otyp].oc_name_known) {
if (flags.verbose)
+/*JP
pline("This %s is a wand of lightning!", xname(otmp));
+*/
+ pline("\82±\82ê\82Í\97\8b\82Ì\8fñ\82¾\81I");
doknown = TRUE;
}
if (!Blind) {
+/*JP
Strcpy(post_engr_text, "Lightning arcs from the wand.");
+*/
+ Strcpy(post_engr_text, "\89Î\89Ô\82ª\8fñ\82©\82ç\94ò\82Ñ\8eU\82Á\82½\81D");
doblind = TRUE;
} else
+/*JP
Strcpy(post_engr_text, "You hear crackling!");
+*/
+ Strcpy(post_engr_text, "\83p\83`\83p\83`\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81I");
break;
/* type = MARK wands */
zapwand = TRUE;
/* empty wand just doesn't write */
else
+/*JP
pline_The("wand is too worn out to engrave.");
+*/
+ pline_The("\8fñ\82Í\95¶\8e\9a\82ð\8d\8f\82Þ\82É\82Í\8eg\82¢\82·\82¬\82Ä\82¢\82é\81D");
}
}
break;
if ((int) otmp->spe > -3)
type = ENGRAVE;
else
+/*JP
pline("%s too dull for engraving.", Yobjnam2(otmp, "are"));
+*/
+ pline("%s\82Í\90n\82ª\83{\83\8d\83{\83\8d\82Å\81C\95¶\8e\9a\82ð\92¤\82ê\82È\82¢\81D", xname(otmp));
}
break;
case TOOL_CLASS:
if (otmp == ublindf) {
pline(
+/*JP
"That is a bit difficult to engrave with, don't you think?");
+*/
+ "\82¿\82å\82Á\82Æ\82»\82ê\82Å\92¤\82é\82Ì\82Í\91å\95Ï\82¾\82ë\82¤\81C\82»\82¤\8ev\82í\82È\82¢\81H");
return 0;
}
switch (otmp->otyp) {
case MAGIC_MARKER:
if (otmp->spe <= 0)
+/*JP
Your("marker has dried out.");
+*/
+ Your("\83}\81[\83J\82Í\8a£\82«\82«\82Á\82½\81D");
else
type = MARK;
break;
if (is_wet_towel(otmp))
dry_a_towel(otmp, -1, TRUE);
if (!Blind)
+/*JP
You("wipe out the message here.");
+*/
+ You("\83\81\83b\83Z\81[\83W\82ð\90@\82«\82Æ\82Á\82½\81D");
else
+#if 0 /*JP*/
pline("%s %s.", Yobjnam2(otmp, "get"),
is_ice(u.ux, u.uy) ? "frosty" : "dusty");
+#else
+ pline("%s\82Í%s\82É\82È\82Á\82½\81D", xname(otmp),
+ is_ice(u.ux,u.uy) ? "\91\9a\82¾\82ç\82¯" : "\82Ù\82±\82è\82Ü\82Ý\82ê");
+#endif
dengr = TRUE;
} else
+/*JP
pline("%s can't wipe out this engraving.", Yname2(otmp));
+*/
+ pline("\82±\82Ì\95¶\8e\9a\82Í%s\82Å\82Í\90@\82«\82Æ\82ê\82È\82¢\81D", xname(otmp));
else
+#if 0 /*JP*/
pline("%s %s.", Yobjnam2(otmp, "get"),
is_ice(u.ux, u.uy) ? "frosty" : "dusty");
+#else
+ pline("%s\82Í%s\82É\82È\82Á\82½\81D", xname(otmp),
+ is_ice(u.ux,u.uy) ? "\91\9a\82¾\82ç\82¯" : "\82Ù\82±\82è\82Ü\82Ý\82ê");
+#endif
break;
default:
break;
case VENOM_CLASS:
if (wizard) {
+/*JP
pline("Writing a poison pen letter??");
+*/
+ pline("\82Ó\82Þ\81D\82±\82ê\82±\82»\96{\93\96\82Ì\93Å\90ã\82¾\81D");
break;
}
/*FALLTHRU*/
/* Something has changed the engraving here */
if (*buf) {
make_engr_at(u.ux, u.uy, buf, moves, type);
+/*JP
pline_The("engraving now reads: \"%s\".", buf);
+*/
+ pline("\8d\8f\82Ü\82ê\82½\95¶\8e\9a\82ð\93Ç\82ñ\82¾\81F\81u%s\81v\81D", buf);
ptext = FALSE;
}
if (zapwand && (otmp->spe < 0)) {
+#if 0 /*JP*/
pline("%s %sturns to dust.", The(xname(otmp)),
Blind ? "" : "glows violently, then ");
+#else
+ pline("%s\82Í%s\82¿\82è\82Æ\82È\82Á\82½\81D", xname(otmp),
+ Blind ? "" : "\8c\83\82µ\82\8bP\82«\81C");
+#endif
if (!IS_GRAVE(levl[u.ux][u.uy].typ))
+#if 0 /*JP*/
You(
"are not going to get anywhere trying to write in the %s with your dust.",
is_ice(u.ux, u.uy) ? "frost" : "dust");
+#else
+ You(
+ "\90o\82Å%s\82É\89½\82©\8f\91\82±\82¤\82Æ\82µ\82½\82ª\81C\82Å\82«\82È\82©\82Á\82½\81D",
+ is_ice(u.ux,u.uy) ? "\95X" : "\82Ù\82±\82è");
+#endif
useup(otmp);
otmp = 0; /* wand is now gone */
ptext = FALSE;
} else if (type == oep->engr_type
&& (!Blind || oep->engr_type == BURN
|| oep->engr_type == ENGRAVE)) {
+/*JP
c = yn_function("Do you want to add to the current engraving?",
+*/
+ c = yn_function("\89½\82©\8f\91\82«\89Á\82¦\82Ü\82·\82©\81H",
ynqchars, 'y');
if (c == 'q') {
pline1(Never_mind);
|| oep->engr_type == ENGR_BLOOD
|| oep->engr_type == MARK) {
if (!Blind) {
+#if 0 /*JP*/
You("wipe out the message that was %s here.",
(oep->engr_type == DUST)
? "written in the dust"
: (oep->engr_type == ENGR_BLOOD)
? "scrawled in blood"
: "written");
+#else
+ You("%s\83\81\83b\83Z\81[\83W\82ð\90@\82«\82Æ\82Á\82½\81D",
+ (oep->engr_type == DUST)
+ ? "\82Ù\82±\82è\82É\8f\91\82©\82ê\82Ä\82¢\82é"
+ : (oep->engr_type == BLOOD)
+ ? "\8c\8c\95¶\8e\9a\82Å\82È\82®\82è\8f\91\82«\82³\82ê\82Ä\82¢\82é"
+ : "\8f\91\82©\82ê\82Ä\82¢\82é");
+#endif
del_engr(oep);
oep = (struct engr *) 0;
} else
*/
eow = TRUE;
} else if (type == DUST || type == MARK || type == ENGR_BLOOD) {
+#if 0 /*JP*/
You("cannot wipe out the message that is %s the %s here.",
oep->engr_type == BURN
? (is_ice(u.ux, u.uy) ? "melted into" : "burned into")
: "engraved in",
surface(u.ux, u.uy));
+#else
+ You("%s\83\81\83b\83Z\81[\83W\82ð\90@\82«\82Æ\82ê\82È\82©\82Á\82½\81D",
+ oep->engr_type == BURN
+ ? (is_ice(u.ux, u.uy) ? "\8d\8f\82Ü\82ê\82Ä\82¢\82é" : "\8fÄ\82«\95t\82¯\82ç\82ê\82Ä\82¢\82é")
+ : "\8d\8f\82Ü\82ê\82Ä\82¢\82é");
+#endif
return 1;
} else if (type != oep->engr_type || c == 'n') {
if (!Blind || can_reach_floor(TRUE))
+/*JP
You("will overwrite the current message.");
+*/
+ You("\83\81\83b\83Z\81[\83W\82ð\8fã\8f\91\82«\82µ\82æ\82¤\82Æ\82µ\82½\81D");
eow = TRUE;
}
}
eloc = surface(u.ux, u.uy);
switch (type) {
default:
+/*JP
everb = (oep && !eow ? "add to the weird writing on"
+*/
+ everb = (oep && !eow ? "\8aï\96\82È\95¶\8e\9a\97ñ\82É\8f\91\82«\89Á\82¦\82é"
+/*JP
: "write strangely on");
+*/
+ : "\8aï\96\82È\95¶\8e\9a\97ñ\82ð\8f\91\82");
break;
case DUST:
+/*JP
everb = (oep && !eow ? "add to the writing in" : "write in");
+*/
+ everb = (oep && !eow ? "\8f\91\82«\89Á\82¦\82é" : "\8f\91\82");
+/*JP
eloc = is_ice(u.ux, u.uy) ? "frost" : "dust";
+*/
+ eloc = is_ice(u.ux,u.uy) ? "\91\9a" : "\82Ù\82±\82è";
break;
case HEADSTONE:
+/*JP
everb = (oep && !eow ? "add to the epitaph on" : "engrave on");
+*/
+ everb = (oep && !eow ? "\95æ\94è\96Á\82ð\8d\8f\82Ý\89Á\82¦\82é" : "\95æ\94è\96Á\82ð\8d\8f\82Þ");
break;
case ENGRAVE:
+/*JP
everb = (oep && !eow ? "add to the engraving in" : "engrave in");
+*/
+ everb = (oep && !eow ? "\8d\8f\82Ý\89Á\82¦\82é" : "\8d\8f\82Þ");
break;
case BURN:
+#if 0 /*JP*/
everb = (oep && !eow
? (is_ice(u.ux, u.uy) ? "add to the text melted into"
: "add to the text burned into")
: (is_ice(u.ux, u.uy) ? "melt into" : "burn into"));
+#else
+ everb = (oep && !eow
+ ? ( is_ice(u.ux,u.uy) ? "\8d\8f\82Ý\89Á\82¦\82é"
+ : "\94R\82¦\82Ä\82¢\82é\95¶\8e\9a\82É\8f\91\82«\89Á\82¦\82é")
+ : ( is_ice(u.ux,u.uy) ? "\8d\8f\82Þ" : "\8fÄ\88ó\82ð\82¢\82ê\82é"));
+#endif
break;
case MARK:
+/*JP
everb = (oep && !eow ? "add to the graffiti on" : "scribble on");
+*/
+ everb = (oep && !eow ? "\97\8e\8f\91\82É\8f\91\82«\89Á\82¦\82é" : "\82Í\82µ\82è\8f\91\82«\82·\82é");
break;
case ENGR_BLOOD:
+/*JP
everb = (oep && !eow ? "add to the scrawl on" : "scrawl on");
+*/
+ everb = (oep && !eow ? "\82È\82®\82è\8f\91\82«\82É\8f\91\82«\89Á\82¦\82é" : "\82È\82®\82è\8f\91\82«\82·\82é");
break;
}
/* Tell adventurer what is going on */
if (otmp != &zeroobj)
+/*JP
You("%s the %s with %s.", everb, eloc, doname(otmp));
+*/
+ You("%s\82Å%s\82É%s\81D", doname(otmp), eloc, jpast(everb));
else
+#if 0 /*JP*/
You("%s the %s with your %s.", everb, eloc,
makeplural(body_part(FINGER)));
+#else
+ You("%s\82Å%s\82É%s\81D", body_part(FINGER),
+ eloc, jpast(everb));
+#endif
/* Prompt for engraving! */
+/*JP
Sprintf(qbuf, "What do you want to %s the %s here?", everb, eloc);
+*/
+ Sprintf(qbuf,"%s\82É\89½\82Æ%s\82©\81H", eloc, jpolite(everb));
getlin(qbuf, ebuf);
/* convert tabs to spaces and condense consecutive spaces to one */
mungspaces(ebuf);
if (len == 0 || index(ebuf, '\033')) {
if (zapwand) {
if (!Blind)
+#if 0 /*JP*/
pline("%s, then %s.", Tobjnam(otmp, "glow"),
otense(otmp, "fade"));
+#else
+ pline("%s\82Í\8bP\82¢\82½\82ª\81C\82·\82®\82É\8fÁ\82¦\82½\81D", xname(otmp));
+#endif
return 1;
} else {
pline1(Never_mind);
if (((type == DUST || type == ENGR_BLOOD) && !rn2(25))
|| (Blind && !rn2(11)) || (Confusion && !rn2(7))
|| (Stunned && !rn2(4)) || (Hallucination && !rn2(2)))
+#if 0 /*JP*/
*sp = ' ' + rnd(96 - 2); /* ASCII '!' thru '~'
(excludes ' ' and DEL) */
+#else /*JP:\93ú\96{\8cê\82Å\83\89\83\93\83_\83\80\89» */
+ {
+ if(is_kanji1(ebuf, sp-ebuf))
+ jrndm_replace(sp);
+ else if(is_kanji2(ebuf, sp-ebuf))
+ jrndm_replace(sp-1);
+ else
+ *sp = '!' + rn2(93); /* ASCII-code only */
+ }
+#endif
}
/* Previous engraving is overwritten */
default:
multi = -(len / 10);
if (multi)
+/*JP
nomovemsg = "You finish your weird engraving.";
+*/
+ nomovemsg = "\82 \82È\82½\82Í\8aï\96\82È\8d\8f\82Ý\82ð\8fI\82¦\82½\81D";
break;
case DUST:
multi = -(len / 10);
if (multi)
+/*JP
nomovemsg = "You finish writing in the dust.";
+*/
+ nomovemsg = "\82 \82È\82½\82Í\82Ù\82±\82è\82É\8f\91\82«\8fI\82¦\82½\81D";
break;
case HEADSTONE:
case ENGRAVE:
* to engrave "Elbereth" all at once.
* However, you can engrave "Elb", then "ere", then "th".
*/
+/*JP
pline("%s dull.", Yobjnam2(otmp, "get"));
+*/
+ Your("%s\82Í\90n\82±\82Ú\82ê\82µ\82½\81D", xname(otmp));
costly_alteration(otmp, COST_DEGRD);
if (len > maxelen) {
multi = -maxelen;
multi = -len;
}
if (multi)
+/*JP
nomovemsg = "You finish engraving.";
+*/
+ nomovemsg = "\82 \82È\82½\82Í\8d\8f\82Ý\8fI\82¦\82½\81D";
break;
case BURN:
multi = -(len / 10);
if (multi)
nomovemsg = is_ice(u.ux, u.uy)
+/*JP
? "You finish melting your message into the ice."
+*/
+ ? "\95X\82Ö\83\81\83b\83Z\81[\83W\82ð\8d\8f\82Ý\8fI\82¦\82½\81D"
+/*JP
: "You finish burning your message into the floor.";
+*/
+ : "\8f°\82Ö\83\81\83b\83Z\81[\83W\82ð\8fÄ\82«\82¢\82ê\8fI\82¦\82½\81D";
break;
case MARK:
multi = -(len / 10);
if (otmp->otyp == MAGIC_MARKER) {
maxelen = otmp->spe * 2; /* one charge / 2 letters */
if (len > maxelen) {
+/*JP
Your("marker dries out.");
+*/
+ Your("\83}\81[\83J\82Í\8a£\82«\82«\82Á\82½\81D");
otmp->spe = 0;
multi = -(maxelen / 10);
} else if (len > 1)
otmp->spe -= 1; /* Prevent infinite graffiti */
}
if (multi)
+/*JP
nomovemsg = "You finish defacing the dungeon.";
+*/
+ nomovemsg = "\82 \82È\82½\82Í\96À\8b{\82Ö\82Ì\97\8e\8f\91\82ð\8f\91\82«\8fI\82¦\82½\81D";
break;
case ENGR_BLOOD:
multi = -(len / 10);
if (multi)
+/*JP
nomovemsg = "You finish scrawling.";
+*/
+ nomovemsg = "\82Í\82µ\82è\8f\91\82«\82ð\8f\91\82«\8fI\82¦\82½\81D";
break;
}
if (*sp == ' ')
maxelen--;
if (!maxelen && *sp) {
+#if 1 /*JP*//*\8a¿\8e\9a\82Ì1\83o\83C\83g\96Ú\82¾\82¯\82ª\8ec\82ç\82È\82¢\82æ\82¤\82É*/
+ if(is_kanji2(ebuf, sp - ebuf))
+ --sp;
+#endif
*sp = '\0';
if (multi)
+/*JP
nomovemsg = "You cannot write any more.";
+*/
+ nomovemsg = "\82±\82ê\88È\8fã\89½\82à\8f\91\82¯\82È\82©\82Á\82½\81D";
+/*JP
You("are only able to write \"%s\".", ebuf);
+*/
+ You("\81u%s\81v\82Æ\82Ü\82Å\82µ\82©\8f\91\82¯\82È\82©\82Á\82½\81D", ebuf);
}
}
if (post_engr_text[0])
pline("%s", post_engr_text);
if (doblind && !resists_blnd(&youmonst)) {
+/*JP
You("are blinded by the flash!");
+*/
+ You("\82Ü\82Î\82ä\82¢\8cõ\82Å\96Ú\82ª\82\82ç\82ñ\82¾\81I");
make_blinded((long) rnd(50), FALSE);
if (!Blind)
Your1(vision_clears);
return;
if (u.ulevel > 1) {
+/*JP
pline("%s level %d.", Goodbye(), u.ulevel--);
+*/
+ pline("\82³\82æ\82¤\82È\82ç\83\8c\83x\83\8b%d\81D", u.ulevel--);
/* remove intrinsic abilities */
adjabil(u.ulevel + 1, u.ulevel);
reset_rndmonst(NON_PM); /* new monster selection */
int hpinc, eninc;
if (!incr)
+/*JP
You_feel("more experienced.");
+*/
+ You("\82æ\82è\8co\8c±\82ð\82Â\82ñ\82¾\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
/* increase hit points (when polymorphed, do monster form first
in order to retain normal human/whatever increase for later) */
++u.ulevel;
if (u.ulevelmax < u.ulevel)
u.ulevelmax = u.ulevel;
+/*JP
pline("Welcome to experience level %d.", u.ulevel);
+*/
+ pline("\83\8c\83x\83\8b%d\82É\82æ\82¤\82±\82»\81D", u.ulevel);
adjabil(u.ulevel - 1, u.ulevel); /* give new intrinsics */
reset_rndmonst(NON_PM); /* new monster selection */
}
/* Copyright (C) 1990 by Ken Arromdee */
/* 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"
/* Note: Arrays are column first, while the screen is row first */
} else
switch (abs(type) % 10) {
case 0:
+/*JP
str = "magical blast";
+*/
+ str = "\96\82\96@\82Ì\95\97";
adtyp = AD_MAGM;
break;
case 1:
+#if 0 /*JP*/
str = (olet == BURNING_OIL) ? "burning oil"
: (olet == SCROLL_CLASS) ? "tower of flame" : "fireball";
+#else
+ str = (olet == BURNING_OIL) ? "\94R\82¦\82Ä\82¢\82é\96û"
+ : (olet == SCROLL_CLASS) ? "\89Î\92\8c" : "\89Î\82Ì\8bÊ";
+#endif
/* fire damage, not physical damage */
adtyp = AD_FIRE;
break;
case 2:
+/*JP
str = "ball of cold";
+*/
+ str = "\95X\82Ì\8bÊ";
adtyp = AD_COLD;
break;
case 4:
+#if 0 /*JP*/
str = (olet == WAND_CLASS) ? "death field"
: "disintegration field";
+#else
+ str = (olet == WAND_CLASS) ? "\8e\80\82Ì\95\97"
+ : "\95ª\89ð\82Ì\95\97";
+#endif
adtyp = AD_DISN;
break;
case 5:
+/*JP
str = "ball of lightning";
+*/
+ str = "\97\8b\8bÊ";
adtyp = AD_ELEC;
break;
case 6:
+/*JP
str = "poison gas cloud";
+*/
+ str = "\93Å\82Ì\89_";
adtyp = AD_DRST;
break;
case 7:
+/*JP
str = "splash of acid";
+*/
+ str = "\8e_\82Ì\82µ\82Ô\82«";
adtyp = AD_ACID;
break;
default:
tmp_at(DISP_END, 0); /* clear the explosion */
} else {
if (olet == MON_EXPLODE) {
+/*JP
str = "explosion";
+*/
+ str = "\94\9a\94";
generic = TRUE;
}
if (!Deaf && olet != SCROLL_CLASS)
+/*JP
You_hear("a blast.");
+*/
+ You_hear("\94\9a\94\89¹\82ð\95·\82¢\82½\81D");
}
if (dam)
if (is_animal(u.ustuck->data)) {
switch (adtyp) {
case AD_FIRE:
+/*JP
adj = "heartburn";
+*/
+ adj = "\94R\82¦\82½";
break;
case AD_COLD:
+/*JP
adj = "chilly";
+*/
+ adj = "\93\80\82ç\82³\82ê\82½";
break;
case AD_DISN:
if (olet == WAND_CLASS)
+/*JP
adj = "irradiated by pure energy";
+*/
+ adj = "\8fò\89»\82Ì\97Í\82ð\97\81\82Ñ\82½";
else
+/*JP
adj = "perforated";
+*/
+ adj = "\8c\8a\82ð\82 \82¯\82ç\82ê\82½";
break;
case AD_ELEC:
+/*JP
adj = "shocked";
+*/
+ adj = "\93d\8c\82\82ð\82\82ç\82Á\82½";
break;
case AD_DRST:
+/*JP
adj = "poisoned";
+*/
+ adj = "\93Å\82ð\82\82ç\82Á\82½";
break;
case AD_ACID:
+/*JP
adj = "an upset stomach";
+*/
+ adj = "\8e_\82ð\82\82ç\82Á\82½";
break;
default:
+/*JP
adj = "fried";
+*/
+ adj = "\83p\83\8a\83p\83\8a\82É\82È\82Á\82½";
break;
}
+/*JP
pline("%s gets %s!", Monnam(u.ustuck), adj);
+*/
+ pline("%s\82Í%s\81I", Monnam(u.ustuck), adj);
} else {
switch (adtyp) {
case AD_FIRE:
+/*JP
adj = "toasted";
+*/
+ adj = "\8fÅ\82°\82½";
break;
case AD_COLD:
+/*JP
adj = "chilly";
+*/
+ adj = "\93\80\82Á\82½";
break;
case AD_DISN:
if (olet == WAND_CLASS)
+/*JP
adj = "overwhelmed by pure energy";
+*/
+ adj = "\8fò\89»\82Ì\97Í\82ð\97\81\82Ñ\82½";
else
+/*JP
adj = "perforated";
+*/
+ adj = "\8c\8a\82ð\82 \82¯\82ç\82ê\82½";
break;
case AD_ELEC:
+/*JP
adj = "shocked";
+*/
+ adj = "\93d\8c\82\82ð\82\82ç\82Á\82½";
break;
case AD_DRST:
+/*JP
adj = "intoxicated";
+*/
+ adj = "\93Å\82ð\82\82ç\82Á\82½";
break;
case AD_ACID:
+/*JP
adj = "burned";
+*/
+ adj = "\8e_\82ð\82\82ç\82Á\82½";
break;
default:
+/*JP
adj = "fried";
+*/
+ adj = "\83p\83\8a\83p\83\8a\82É\82È\82Á\82½";
break;
}
+/*JP
pline("%s gets slightly %s!", Monnam(u.ustuck), adj);
+*/
+ pline("%s\82Í\8f\82µ\82¾\82¯%s\81I", Monnam(u.ustuck), adj);
}
} else if (cansee(i + x - 1, j + y - 1)) {
if (mtmp->m_ap_type)
seemimic(mtmp);
+/*JP
pline("%s is caught in the %s!", Monnam(mtmp), str);
+*/
+ pline("%s\82Í%s\82É\82Â\82Â\82Ü\82ê\82½\81I", Monnam(mtmp), str);
}
idamres += destroy_mitem(mtmp, SCROLL_CLASS, (int) adtyp);
if (resist(mtmp, olet, 0, FALSE)) {
/* inside_engulfer: <i+x-1,j+y-1> == <u.ux,u.uy> */
if (cansee(i + x - 1, j + y - 1) || inside_engulfer)
+/*JP
pline("%s resists the %s!", Monnam(mtmp), str);
+*/
+ pline("%s\82Í%s\82É\92ï\8dR\82µ\82½\81I", Monnam(mtmp), str);
mdam = (dam + 1) / 2;
}
if (mtmp == u.ustuck)
} while (*hallu_buf != lowc(*hallu_buf));
str = hallu_buf;
}
+/*JP
You("are caught in the %s!", str);
+*/
+ You("%s\82É\82Â\82Â\82Ü\82ê\82½\81I", str);
iflags.last_msg = PLNMSG_CAUGHT_IN_EXPLOSION;
}
/* do property damage first, in case we end up leaving bones */
burn_away_slime();
if (Invulnerable) {
damu = 0;
+/*JP
You("are unharmed!");
+*/
+ You("\8f\9d\82Â\82©\82È\82¢\81I");
} else if (adtyp == AD_PHYS || physical_dmg)
damu = Maybe_Half_Phys(damu);
if (adtyp == AD_FIRE)
else if (str != killer.name && str != hallu_buf)
Strcpy(killer.name, str);
killer.format = KILLED_BY_AN;
+#if 1 /*JP*/
+ Strcat(killer.name, "\82Å");
+#endif
} else if (type >= 0 && olet != SCROLL_CLASS) {
+#if 0 /*JP*/
killer.format = NO_KILLER_PREFIX;
Sprintf(killer.name, "caught %sself in %s own %s", uhim(),
uhis(), str);
+#else
+ killer.format = KILLED_BY;
+ Sprintf(killer.name, "\8e©\95ª\8e©\90g\82Ì%s\82É\82Â\82Â\82Ü\82ê\82Ä",
+ str);
+#endif
} else {
+#if 0 /*JP*//* an \82ð\82Â\82¯\82é\82©\82Ç\82¤\82©\82Í\8aÖ\8cW\82È\82¢ */
killer.format = (!strcmpi(str, "tower of flame")
|| !strcmpi(str, "fireball"))
? KILLED_BY_AN
: KILLED_BY;
Strcpy(killer.name, str);
+#else
+ killer.format = KILLED_BY;
+ Strcpy(killer.name, str);
+ Strcat(killer.name, "\82Å");
+#endif
}
if (iflags.last_msg == PLNMSG_CAUGHT_IN_EXPLOSION
|| iflags.last_msg
}
if (shopdamage) {
+#if 0 /*JP*/
pay_for_damage(adtyp == AD_FIRE
? "burn away"
: adtyp == AD_COLD
: adtyp == AD_DISN ? "disintegrate"
: "destroy",
FALSE);
+#else
+ pay_for_damage(adtyp == AD_FIRE
+ ? "\94R\82â\82·"
+ : adtyp == AD_COLD
+ ? "\95²\81X\82É\82·\82é"
+ : adtyp == AD_DISN ? "\95²\8dÓ\82·\82é"
+ : "\94j\89ó\82·\82é",
+ FALSE);
+#endif
}
/* explosions are noisy */
&& ((otmp->otyp == BOULDER) || (otmp->otyp == STATUE))
&& rn2(10)) {
if (otmp->otyp == BOULDER) {
+/*JP
pline("%s apart.", Tobjnam(otmp, "break"));
+*/
+ pline("%s\82Í\88ê\95\94\95ª\82ª\8dÓ\82¯\82½\81D",xname(otmp));
fracture_rock(otmp);
place_object(otmp, sx, sy);
if ((otmp = sobj_at(BOULDER, sx, sy)) != 0) {
if ((trap = t_at(sx, sy)) && trap->ttyp == STATUE_TRAP)
deltrap(trap);
+/*JP
pline("%s.", Tobjnam(otmp, "crumble"));
+*/
+ pline("%s\82Í\82±\82È\82²\82È\82É\82È\82Á\82½\81D",xname(otmp));
(void) break_statue(otmp);
+#ifndef FIX_BUG_C340_2
place_object(otmp, sx, sy); /* put fragments on floor */
+#endif
}
used_up = TRUE;
*op++ = *sp;
*op = '\0';
cnt++;
+#if 1 /*JP*/
+ } else if (is_kanji1(s, sp - s)) {
+ *op++ = *sp++;
+ *op++ = *sp;
+ *op = '\0';
+ cnt += 2;
+#endif
} else {
(void) sprintf(op, "%c%02X", quotechar, *sp);
op += 3;
settle for `lock' instead of `fq_lock' because the latter
might end up being too big for nethack's BUFSZ */
if (fd < 0 && errbuf)
+#if 0 /*JP*/
Sprintf(errbuf, "Cannot open file \"%s\" for level %d (errno %d).",
lock, lev, errno);
+#else
+ Sprintf(errbuf, "\92n\89º%d\8aK\82Ì\83t\83@\83C\83\8b\"%s\"\82ð\8aJ\82¯\82È\82¢(errno %d)\81D",
+ lev, lock, errno);
+#endif
return fd;
}
return fp;
#else /* should be only UNIX left */
envp = nh_getenv("HOME");
+#if 1 /*JP*//*".jnethackrc"\82ð\97D\90æ\82µ\82Ä\93Ç\82Ý\8d\9e\82Ý*/
+ if (!envp)
+ Strcpy(tmp_config, ".jnethackrc");
+ else
+ Sprintf(tmp_config, "%s/%s", envp, ".jnethackrc");
+
+ (void) strncpy(lastconfigfile, tmp_config, BUFSZ - 1);
+ if ((fp = fopenp(lastconfigfile, "r")) != (FILE *) 0)
+ return fp;
+#endif
if (!envp)
Strcpy(tmp_config, ".nethackrc");
else
/* Code for drinking from fountains. */
+/* JNetHack Copyright */
+/* (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-2000 */
+/* For 3.4-, Copyright (c) SHIRAKATA Kentaro, 2002-2016 */
+/* JNetHack may be freely redistributed. See license for details. */
+
#include "hack.h"
STATIC_DCL void NDECL(dowatersnakes);
floating_above(what)
const char *what;
{
+/*JP
const char *umsg = "are floating high above the %s.";
+*/
+ const char *umsg = "%s\82Ì\97y\82©\8fã\95û\82É\95\82\82¢\82Ä\82¢\82é\81D";
if (u.utrap && (u.utraptype == TT_INFLOOR || u.utraptype == TT_LAVA)) {
/* when stuck in floor (not possible at fountain or sink location,
so must be attempting to move down), override the usual message */
+/*JP
umsg = "are trapped in the %s.";
+*/
+ umsg = "%s\82É\82Â\82©\82Ü\82Á\82Ä\82¢\82é\81D";
what = surface(u.ux, u.uy); /* probably redundant */
}
You(umsg, what);
if (!(mvitals[PM_WATER_MOCCASIN].mvflags & G_GONE)) {
if (!Blind)
+#if 0 /*JP*/
pline("An endless stream of %s pours forth!",
Hallucination ? makeplural(rndmonnam(NULL)) : "snakes");
+#else
+ pline("%s\82ª\82Ç\82Ç\82Á\82Æ\97¬\82ê\8fo\82Ä\82«\82½\81I",
+ Hallucination ? rndmonnam(NULL) : "\8eÖ");
+#endif
else
+/*JP
You_hear("%s hissing!", something);
+*/
+ You_hear("\83V\81[\83b\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81I");
while (num-- > 0)
if ((mtmp = makemon(&mons[PM_WATER_MOCCASIN], u.ux, u.uy,
NO_MM_FLAGS)) != 0
&& t_at(mtmp->mx, mtmp->my))
(void) mintrap(mtmp);
} else
+/*JP
pline_The("fountain bubbles furiously for a moment, then calms.");
+*/
+ pline("\90ò\82Í\93Ë\91R\8c\83\82µ\82\96A\82¾\82¿\81C\82â\82ª\82Ä\90Ã\82©\82É\82È\82Á\82½\81D");
}
/* Water demon */
if ((mtmp = makemon(&mons[PM_WATER_DEMON], u.ux, u.uy,
NO_MM_FLAGS)) != 0) {
if (!Blind)
+/*JP
You("unleash %s!", a_monnam(mtmp));
+*/
+ You("%s\82ð\89ð\82«\95ú\82µ\82½\81I", a_monnam(mtmp));
else
+/*JP
You_feel("the presence of evil.");
+*/
+ You_feel("\8e×\88«\82È\91¶\8dÝ\82ð\8a´\82¶\82½\81I");
/* Give those on low levels a (slightly) better chance of survival
*/
if (rnd(100) > (80 + level_difficulty())) {
+#if 0 /*JP*/
pline("Grateful for %s release, %s grants you a wish!",
mhis(mtmp), mhe(mtmp));
+#else
+ pline("%s\82Í\89ð\95ú\82ð\82Æ\82Ä\82à\8a´\8eÓ\82µ\81C\82Ì\82¼\82Ý\82ð\82©\82È\82¦\82Ä\82\82ê\82é\82æ\82¤\82¾\81I",
+ mhe(mtmp));
+#endif
/* give a wish and discard the monster (mtmp set to null) */
mongrantswish(&mtmp);
} else if (t_at(mtmp->mx, mtmp->my))
(void) mintrap(mtmp);
}
} else
+/*JP
pline_The("fountain bubbles furiously for a moment, then calms.");
+*/
+ pline("\90ò\82Í\93Ë\91R\8c\83\82µ\82\96A\82¾\82¿\81C\82â\82ª\82Ä\90Ã\82©\82É\82È\82Á\82½\81D");
}
/* Water Nymph */
&& (mtmp = makemon(&mons[PM_WATER_NYMPH], u.ux, u.uy,
NO_MM_FLAGS)) != 0) {
if (!Blind)
+/*JP
You("attract %s!", a_monnam(mtmp));
+*/
+ pline("%s\82ª\8c»\82í\82ê\82½\81I", a_monnam(mtmp));
else
+/*JP
You_hear("a seductive voice.");
+*/
+ You_hear("\96£\98f\93I\82È\90º\82ð\95·\82¢\82½\81D");
mtmp->msleeping = 0;
if (t_at(mtmp->mx, mtmp->my))
(void) mintrap(mtmp);
} else if (!Blind)
+/*JP
pline("A large bubble rises to the surface and pops.");
+*/
+ pline("\91å\82«\82È\96A\82ª\95¦\82«\8fo\82Ä\82Í\82¶\82¯\82½\81D");
else
+/*JP
You_hear("a loud pop.");
+*/
+ You_hear("\91å\82«\82È\82à\82Ì\82ª\82Í\82¶\82¯\82é\89¹\82ð\95·\82¢\82½\81D");
}
/* Gushing forth along LOS from (u.ux, u.uy) */
do_clear_area(u.ux, u.uy, 7, gush, (genericptr_t) &madepool);
if (!madepool) {
if (drinking)
+/*JP
Your("thirst is quenched.");
+*/
+ Your("\8a\89\82«\82Í\96ü\82³\82ê\82½\81D");
else
+/*JP
pline("Water sprays all over you.");
+*/
+ pline("\90\85\82µ\82Ô\82«\82ª\82 \82È\82½\82É\82©\82©\82Á\82½\81D");
}
}
return;
if (!((*(int *) poolcnt)++))
+/*JP
pline("Water gushes forth from the overflowing fountain!");
+*/
+ pline("\90ò\82©\82ç\90\85\82ª\82Ç\82Ç\82Á\82Æ\88ì\82ê\8fo\82½\81I");
/* Put a pool at x, y */
levl[x][y].typ = POOL;
dofindgem()
{
if (!Blind)
+/*JP
You("spot a gem in the sparkling waters!");
+*/
+ pline("\82«\82ç\82ß\82\90\85\82Ì\92\86\82É\95ó\90Î\82ð\8c©\82Â\82¯\82½\81I");
else
+/*JP
You_feel("a gem here!");
+*/
+ You_feel("\95ó\90Î\82ª\82 \82é\82æ\82¤\82¾\81I");
(void) mksobj_at(rnd_class(DILITHIUM_CRYSTAL, LUCKSTONE - 1), u.ux, u.uy,
FALSE, FALSE);
SET_FOUNTAIN_LOOTED(u.ux, u.uy);
continue;
if (is_watch(mtmp->data) && couldsee(mtmp->mx, mtmp->my)
&& mtmp->mpeaceful) {
+/*JP
pline("%s yells:", Amonnam(mtmp));
+*/
+ pline("%s\82Í\8b©\82ñ\82¾\81F", Amonnam(mtmp));
+/*JP
verbalize("Hey, stop using that fountain!");
+*/
+ verbalize("\82¨\82¢\81C\90ò\82ð\89\98\82·\82È\81I");
break;
}
}
/* You can see or hear this effect */
if (!mtmp)
+/*JP
pline_The("flow reduces to a trickle.");
+*/
+ pline("\97¬\82ê\82Í\82¿\82å\82ë\82¿\82å\82ë\82É\82È\82Á\82½\81D");
return;
}
if (isyou && wizard) {
+/*JP
if (yn("Dry up fountain?") == 'n')
+*/
+ if (yn("\90ò\82ð\8a±\8fã\82ª\82ç\82¹\82Ü\82·\82©\81H") == 'n')
return;
}
/* replace the fountain with ordinary floor */
levl[x][y].looted = 0;
levl[x][y].blessedftn = 0;
if (cansee(x, y))
+/*JP
pline_The("fountain dries up!");
+*/
+ pline("\90ò\82Í\8a±\8fã\82ª\82Á\82½\81I");
/* The location is seen if the hero/monster is invisible
or felt if the hero is blind. */
newsym(x, y);
register int fate = rnd(30);
if (Levitation) {
+/*JP
floating_above("fountain");
+*/
+ floating_above("\90ò");
return;
}
if (mgkftn && u.uluck >= 0 && fate >= 10) {
int i, ii, littleluck = (u.uluck < 4);
+/*JP
pline("Wow! This makes you feel great!");
+*/
+ pline("\83\8f\83H\81I\82Æ\82Ä\82à\8bC\8e\9d\82¿\82æ\82\82È\82Á\82½\81I");
/* blessed restore ability */
for (ii = 0; ii < A_MAX; ii++)
if (ABASE(ii) < AMAX(ii)) {
i = 0;
}
display_nhwindow(WIN_MESSAGE, FALSE);
+/*JP
pline("A wisp of vapor escapes the fountain...");
+*/
+ pline("\89\8c\82Ì\82©\82½\82Ü\82è\82ª\90ò\82©\82ç\93¦\82°\82½\81D\81D\81D");
exercise(A_WIS, TRUE);
levl[u.ux][u.uy].blessedftn = 0;
return;
}
if (fate < 10) {
+/*JP
pline_The("cool draught refreshes you.");
+*/
+ pline("\97â\82½\82¢\88ê\94t\82Å\82³\82Á\82Ï\82è\82µ\82½\81D");
u.uhunger += rnd(10); /* don't choke on water */
newuhs(FALSE);
if (mgkftn)
} else {
switch (fate) {
case 19: /* Self-knowledge */
+/*JP
You_feel("self-knowledgeable...");
+*/
+ You("\8e©\95ª\8e©\90g\82ª\94»\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D\81D\81D");
display_nhwindow(WIN_MESSAGE, FALSE);
enlightenment(MAGICENLIGHTENMENT, ENL_GAMEINPROGRESS);
exercise(A_WIS, TRUE);
+/*JP
pline_The("feeling subsides.");
+*/
+ pline("\82»\82Ì\8a´\82¶\82Í\82È\82\82È\82Á\82½\81D");
break;
case 20: /* Foul water */
+/*JP
pline_The("water is foul! You gag and vomit.");
+*/
+ pline("\90\85\82Í\82Ð\82Ç\82\95s\89õ\82È\96¡\82ª\82µ\82½\81I\82 \82È\82½\82Í\93f\82«\96ß\82µ\82½\81D");
morehungry(rn1(20, 11));
vomit();
break;
case 21: /* Poisonous */
+/*JP
pline_The("water is contaminated!");
+*/
+ pline("\90\85\82Í\89\98\90õ\82³\82ê\82Ä\82¢\82é\81I");
if (Poison_resistance) {
+/*JP
pline("Perhaps it is runoff from the nearby %s farm.",
+*/
+ pline("\82½\82Ô\82ñ\81C\82±\82ê\82Í\8bß\82\82Ì%s\82Ì\94_\8fê\82©\82ç\97¬\82ê\82Ä\82¢\82é\81D",
fruitname(FALSE));
+/*JP
losehp(rnd(4), "unrefrigerated sip of juice", KILLED_BY_AN);
+*/
+ losehp(rnd(4),"\95\85\82Á\82½\89Ê\8f`\82Ì\82µ\82½\82½\82è\82Å", KILLED_BY_AN);
break;
}
losestr(rn1(4, 3));
+/*JP
losehp(rnd(10), "contaminated water", KILLED_BY);
+*/
+ losehp(rnd(10),"\89\98\90õ\82³\82ê\82½\90\85\82Å", KILLED_BY);
exercise(A_CON, FALSE);
break;
case 22: /* Fountain of snakes! */
case 24: /* Curse an item */ {
register struct obj *obj;
+/*JP
pline("This water's no good!");
+*/
+ pline("\82±\82Ì\90\85\82Í\82Æ\82Ä\82à\82Ü\82¸\82¢\81I");
morehungry(rn1(20, 11));
exercise(A_CON, FALSE);
for (obj = invent; obj; obj = obj->nobj)
case 25: /* See invisible */
if (Blind) {
if (Invisible) {
+/*JP
You("feel transparent.");
+*/
+ You("\93§\96¾\82É\82È\82Á\82½\8bC\82ª\82·\82é\81D");
} else {
+/*JP
You("feel very self-conscious.");
+*/
+ You("\8e©\88Ó\8e¯\89ß\8fè\82É\8a´\82¶\82½\81D");
+/*JP
pline("Then it passes.");
+*/
+ pline("\82»\82Ì\8a´\82¶\82Í\8fÁ\82¦\82½\81D");
}
} else {
+/*JP
You_see("an image of someone stalking you.");
+*/
+ You("\89½\82©\82ª\8e©\95ª\82Ì\8cã\82ð\82Â\82¯\82Ä\82¢\82é\89f\91\9c\82ð\8c©\82½\81D");
+/*JP
pline("But it disappears.");
+*/
+ pline("\82µ\82©\82µ\81C\82»\82ê\82Í\8fÁ\82¦\82Ä\82µ\82Ü\82Á\82½\81D");
}
HSee_invisible |= FROMOUTSIDE;
newsym(u.ux, u.uy);
{
register struct monst *mtmp;
+/*JP
pline("This water gives you bad breath!");
+*/
+ pline("\90\85\82ð\88ù\82ñ\82¾\82ç\91§\82ª\8fL\82\82È\82Á\82½\81I");
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
if (DEADMONSTER(mtmp))
continue;
dogushforth(TRUE);
break;
default:
+/*JP
pline("This tepid water is tasteless.");
+*/
+ pline("\82±\82Ì\82È\82Ü\82Ê\82é\82¢\90\85\82Í\96¡\82ª\82È\82¢\81D");
break;
}
}
register struct obj *obj;
{
if (Levitation) {
+/*JP
floating_above("fountain");
+*/
+ floating_above("\90ò");
return;
}
if (u.ualign.type != A_LAWFUL) {
/* Ha! Trying to cheat her. */
pline(
+/*JP
"A freezing mist rises from the water and envelopes the sword.");
+*/
+ "\95X\82Ì\96¶\82ª\90\85\82©\82ç\97§\82¿\8f¸\82è\81C\8c\95\82ð\82Â\82Â\82ñ\82¾\81D");
+/*JP
pline_The("fountain disappears!");
+*/
+ pline("\90ò\82Í\8fÁ\82¦\82Ä\82µ\82Ü\82Á\82½\81I");
curse(obj);
if (obj->spe > -6 && !rn2(3))
obj->spe--;
/* The lady of the lake acts! - Eric Backus */
/* Be *REAL* nice */
pline(
+/*JP
"From the murky depths, a hand reaches up to bless the sword.");
+*/
+ "\82É\82²\82Á\82½\90[\82Ý\82©\82ç\81C\8c\95\82ð\8fj\95\9f\82¹\82ñ\82Æ\8eè\82ª\90L\82Ñ\82Ä\82«\82½\81D");
+/*JP
pline("As the hand retreats, the fountain disappears!");
+*/
+ pline("\8eè\82ª\91Þ\82\82Æ\81C\90ò\82Í\8fÁ\82¦\82Ä\82µ\82Ü\82Á\82½\81I");
obj = oname(obj, artiname(ART_EXCALIBUR));
discover_artifact(ART_EXCALIBUR);
bless(obj);
case 20: /* Uncurse the item */
if (obj->cursed) {
if (!Blind)
+/*JP
pline_The("water glows for a moment.");
+*/
+ pline("\90\85\82Í\8bP\82«\82¾\82µ\82½\81D");
uncurse(obj);
} else {
+/*JP
pline("A feeling of loss comes over you.");
+*/
+ pline("\8aï\96\82È\92E\97Í\8a´\82ª\82 \82È\82½\82ð\82¨\82»\82Á\82½\81D");
}
break;
case 21: /* Water Demon */
dogushforth(FALSE);
break;
case 26: /* Strange feeling */
+/*JP
pline("A strange tingling runs up your %s.", body_part(ARM));
+*/
+ pline("\8aï\96\82È\82µ\82Ñ\82ê\82ª\82 \82È\82½\82Ì%s\82É\91\96\82Á\82½\81D", body_part(ARM));
break;
case 27: /* Strange feeling */
+/*JP
You_feel("a sudden chill.");
+*/
+ You("\93Ë\91R\8a¦\82¯\82ð\8a´\82¶\82½\81D");
break;
case 28: /* Strange feeling */
+/*JP
pline("An urge to take a bath overwhelms you.");
+*/
+ pline("\95\97\98C\82É\93ü\82è\82½\82¢\82Æ\82¢\82¤\97~\96]\82É\82©\82ç\82ê\82½\81D");
{
long money = money_cnt(invent);
struct obj *otmp;
if (!otmp->quan)
delobj(otmp);
}
+/*JP
You("lost some of your money in the fountain!");
+*/
+ You("\8bà\89Ý\82ð\90\94\96\87\81C\90ò\82É\97\8e\82Æ\82µ\82Ä\82µ\82Ü\82Á\82½\81I");
CLEAR_FOUNTAIN_LOOTED(u.ux, u.uy);
exercise(A_WIS, FALSE);
}
case 29: /* You see coins */
/* We make fountains have more coins the closer you are to the
* surface. After all, there will have been more people going
- * by. Just like a shopping mall! Chris Woodbury */
+ * by. Just like a shopping mall! Chris Woodbury */
if (FOUNTAIN_IS_LOOTED(u.ux, u.uy))
break;
+ 1) * 2) + 5),
u.ux, u.uy);
if (!Blind)
+/*JP
pline("Far below you, you see coins glistening in the water.");
+*/
+ You("\97y\82©\89º\82Ì\90\85\92\86\82É\8bà\89Ý\82Ì\8bP\82«\82ð\82Ý\82Â\82¯\82½\81D");
exercise(A_WIS, TRUE);
newsym(u.ux, u.uy);
break;
int x, y;
{
if (cansee(x, y) || (x == u.ux && y == u.uy))
+/*JP
pline_The("pipes break! Water spurts out!");
+*/
+ pline("\94z\8aÇ\82ª\89ó\82ê\90\85\82ª\95¬\8fo\82µ\82½\81I");
level.flags.nsinks--;
levl[x][y].doormask = 0;
levl[x][y].typ = FOUNTAIN;
struct monst *mtmp;
if (Levitation) {
+/*JP
floating_above("sink");
+*/
+ floating_above("\97¬\82µ\91ä");
return;
}
switch (rn2(20)) {
case 0:
+/*JP
You("take a sip of very cold water.");
+*/
+ You("\82Æ\82Ä\82à\97â\82½\82¢\90\85\82ð\88ê\8cû\88ù\82ñ\82¾\81D");
break;
case 1:
+/*JP
You("take a sip of very warm water.");
+*/
+ You("\82Æ\82Ä\82à\82 \82½\82½\82©\82¢\90\85\82ð\88ê\8cû\88ù\82ñ\82¾\81D");
break;
case 2:
+/*JP
You("take a sip of scalding hot water.");
+*/
+ You("\82Æ\82Ä\82à\94M\82¢\90\85\82ð\88ê\8cû\88ù\82ñ\82¾\81D");
if (Fire_resistance)
+/*JP
pline("It seems quite tasty.");
+*/
+ pline("\82Æ\82Ä\82à\82¨\82¢\82µ\82¢\90\85\82¾\81D");
else
+/*JP
losehp(rnd(6), "sipping boiling water", KILLED_BY);
+*/
+ losehp(rnd(6), "\95¦\93«\82µ\82½\90\85\82ð\88ù\82ñ\82Å", KILLED_BY);
/* boiling water burns considered fire damage */
break;
case 3:
if (mvitals[PM_SEWER_RAT].mvflags & G_GONE)
+/*JP
pline_The("sink seems quite dirty.");
+*/
+ pline("\97¬\82µ\91ä\82Í\82Æ\82Ä\82à\89\98\82È\82ç\82µ\82¢\81D");
else {
mtmp = makemon(&mons[PM_SEWER_RAT], u.ux, u.uy, NO_MM_FLAGS);
if (mtmp)
+#if 0 /*JP*/
pline("Eek! There's %s in the sink!",
(Blind || !canspotmon(mtmp)) ? "something squirmy"
: a_monnam(mtmp));
+#else
+ pline("\82°\81I\97¬\82µ\91ä\82É%s\82ª\82¢\82é\81I",
+ (Blind || !canspotmon(mtmp)) ? "\90g\82à\82¾\82¦\82·\82é\82æ\82¤\82È\82à\82Ì"
+ : a_monnam(mtmp));
+#endif
}
break;
case 4:
}
} while (!otmp);
otmp->cursed = otmp->blessed = 0;
+#if 0 /*JP*/
pline("Some %s liquid flows from the faucet.",
Blind ? "odd" : hcolor(OBJ_DESCR(objects[otmp->otyp])));
+#else
+ pline("\8eÖ\8cû\82©\82ç%s\89t\91Ì\82ª\97¬\82ê\82½\81D",
+ Blind ? "\8aï\96\82È" :
+ hcolor(OBJ_DESCR(objects[otmp->otyp])));
+#endif
otmp->dknown = !(Blind || Hallucination);
otmp->quan++; /* Avoid panic upon useup() */
otmp->fromsink = 1; /* kludge for docall() */
break;
case 5:
if (!(levl[u.ux][u.uy].looted & S_LRING)) {
+/*JP
You("find a ring in the sink!");
+*/
+ You("\97¬\82µ\91ä\82É\8ew\97Ö\82ð\82Ý\82Â\82¯\82½\81I");
(void) mkobj_at(RING_CLASS, u.ux, u.uy, TRUE);
levl[u.ux][u.uy].looted |= S_LRING;
exercise(A_WIS, TRUE);
newsym(u.ux, u.uy);
} else
+/*JP
pline("Some dirty water backs up in the drain.");
+*/
+ pline("\89\98\90\85\82ª\94r\90\85\8cû\82©\82ç\8bt\97¬\82µ\82Ä\82«\82½\81D");
break;
case 6:
breaksink(u.ux, u.uy);
break;
case 7:
+/*JP
pline_The("water moves as though of its own will!");
+*/
+ pline("\90\85\82ª\88Ó\8ev\82ð\8e\9d\82Á\82Ä\82¢\82é\82©\82Ì\82æ\82¤\82É\93®\82¢\82½\81I");
if ((mvitals[PM_WATER_ELEMENTAL].mvflags & G_GONE)
|| !makemon(&mons[PM_WATER_ELEMENTAL], u.ux, u.uy, NO_MM_FLAGS))
+/*JP
pline("But it quiets down.");
+*/
+ pline("\82µ\82©\82µ\81C\90Ã\82©\82É\82È\82Á\82½\81D");
break;
case 8:
+/*JP
pline("Yuk, this water tastes awful.");
+*/
+ pline("\83I\83F\81C\82Æ\82Ä\82à\82Ð\82Ç\82¢\96¡\82ª\82·\82é\81D");
more_experienced(1, 0);
newexplevel();
break;
case 9:
+/*JP
pline("Gaggg... this tastes like sewage! You vomit.");
+*/
+ pline("\83Q\83F\81[\81D\89º\90\85\82Ì\82æ\82¤\82È\96¡\82ª\82·\82é\81I\82 \82È\82½\82Í\93f\82«\96ß\82µ\82½\81D");
morehungry(rn1(30 - ACURR(A_CON), 11));
vomit();
break;
case 10:
+/*JP
pline("This water contains toxic wastes!");
+*/
+ pline("\82±\82Ì\90\85\82Í\97L\93Å\82È\94r\90\85\82ð\8aÜ\82ñ\82Å\82¢\82é\81I");
if (!Unchanging) {
+/*JP
You("undergo a freakish metamorphosis!");
+*/
+ You("\8aï\8c`\82È\95Ï\89»\82ð\82µ\82Í\82¶\82ß\82½\81I");
polyself(0);
}
break;
/* more odd messages --JJB */
case 11:
+/*JP
You_hear("clanking from the pipes...");
+*/
+ You_hear("\94z\8aÇ\82Ì\83J\83`\83\93\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D\81D\81D");
break;
case 12:
+/*JP
You_hear("snatches of song from among the sewers...");
+*/
+ You_hear("\89º\90\85\82Ì\92\86\82©\82ç\82Æ\82¬\82ê\82Æ\82¬\82ê\82Ì\89Ì\82ð\95·\82¢\82½\81D\81D\81D");
break;
case 19:
if (Hallucination) {
+/*JP
pline("From the murky drain, a hand reaches up... --oops--");
+*/
+ pline("\88Ã\82¢\94r\90\85\8cû\82©\82ç\81C\8eè\82ª\90L\82Ñ\82Ä\82«\82½\81D\81D--\82¨\82Á\82Æ--");
break;
}
default:
+#if 0 /*JP*/
You("take a sip of %s water.",
rn2(3) ? (rn2(2) ? "cold" : "warm") : "hot");
+#else
+ You("%s\90\85\82ð\88ê\8cû\88ù\82ñ\82¾\81D",
+ rn2(3) ? (rn2(2) ? "\97â\82½\82¢" : "\82 \82½\82½\82©\82¢") : "\94M\82¢");
+#endif
}
}
/* 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;
register char *p;
for (p = s; *p; p++)
+#if 1 /*JP*//*\8a¿\8e\9a\82Í\8f¬\95¶\8e\9a\89»\82µ\82È\82¢*/
+ if (is_kanji(*(unsigned char *)p)) p++; else
+#endif
if ('A' <= *p && *p <= 'Z')
*p |= 040;
return s;
register char *p;
for (p = s; *p; p++)
+#if 1 /*JP*//*\8a¿\8e\9a\82Í\91å\95¶\8e\9a\89»\82µ\82È\82¢*/
+ if (is_kanji(*(unsigned char *)p)) p++; else
+#endif
if ('a' <= *p && *p <= 'z')
*p &= ~040;
return s;
Static char buf[BUFSZ];
Strcpy(buf, s);
+#if 0 /*JP*//*\93ú\96{\8cê\82Å\82Í\8f\8a\97L\8ai\82Ìs\82ð\95t\82¯\82È\82¢*/
if (!strcmpi(buf, "it")) /* it -> its */
Strcat(buf, "s");
else if (!strcmpi(buf, "you")) /* you -> your */
Strcat(buf, "'");
else /* X -> X's */
Strcat(buf, "'s");
+#endif
return buf;
}
/* 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 NOINVSYM '#'
{
const char *res;
+#if 0 /*JP*/
res = Hallucination ? currencies[rn2(SIZE(currencies))] : "zorkmid";
if (amount != 1L)
res = makeplural(res);
+#else
+ res = Hallucination ? currencies[rn2(SIZE(currencies))] : "\83S\81[\83\8b\83h";
+#endif
return res;
}
!!!! test if gold can be used in unusual ways (eaten etc.)
!!!! may be able to remove "usegold"
*/
+/*JP
+** word \82É\82Í\89p\8cê\82Å\93®\8e\8c\82ª\93ü\82é\81D
+**
+** \93ú\96{\8cê\82Å\82Í\81C\81u\82Ç\82ê\82ð\8f\91\82«\82Ü\82·\82©\81v\82æ\82è\81u\82Ç\82ê\82É\8f\91\82«\82Ü\82·\82©\81v\82Ì\95û\82ª\8e©\91R\82È\82Ì\82Å\81C
+** \8dÅ\8f\89\82Ì\88ê\95¶\8e\9a\82É\81u\82É\81v\82â\81u\82Ì\81v\82ð\8ew\92è\82µ\82½\8fê\8d\87\82Í\8f\95\8e\8c\82ð\95Ï\8dX\82·\82é\81D
+**
+*/
struct obj *
getobj(let, word)
register const char *let, *word;
boolean prezero;
long dummymask;
+#if 1 /*JP*/
+ const char *jword;
+ const char *joshi;
+ const char *what;
+
+ struct trans_verb *tv = trans_verb(word);
+
+ jword = tv->jp;
+ what = tv->what;
+ joshi = tv->particle;
+#endif
if (*let == ALLOW_COUNT)
let++, allowcnt = 1;
if (*let == COIN_CLASS)
*ap = '\0';
if (!foo && !allowall && !allownone) {
+/*JP
You("don't have anything %sto %s.", foox ? "else " : "", word);
+*/
+ You("%s%s\82à\82Ì\82ð\8e\9d\82Á\82Ä\82¢\82È\82¢\81D", foox ? "\91¼\82É" : "", jconj(jword, "\82ê\82é"));
return (struct obj *) 0;
}
for (;;) {
allowcnt = 1; /* abort previous count */
prezero = FALSE;
if (!buf[0]) {
+/*JP
Sprintf(qbuf, "What do you want to %s? [*]", word);
+*/
+ Sprintf(qbuf, "%s%s%s\82©\81H[*]", what, joshi, jpolite(jword));
} else {
+/*JP
Sprintf(qbuf, "What do you want to %s? [%s or ?*]", word, buf);
+*/
+ Sprintf(qbuf, "%s%s%s\82©\81H[%s or ?*]", what, joshi, jpolite(jword), buf);
}
if (in_doagain)
ilet = readchar();
else
ilet = yn_function(qbuf, (char *) 0, '\0');
if (digit(ilet) && !allowcnt) {
+/*JP
pline("No count allowed with this command.");
+*/
+ pline("\82±\82Ì\83R\83}\83\93\83h\82É\90\94\8e\9a\82Í\82Â\82©\82¦\82È\82¢\81D");
continue;
}
if (ilet == '0')
than one invent slot of gold and picking the non-'$' one */
|| (otmp && otmp->oclass == COIN_CLASS)) {
if (!usegold) {
+/*JP
You("cannot %s gold.", word);
+*/
+ You("\8bà\89Ý%s%s\82±\82Æ\82Í\82Å\82«\82È\82¢\81D", joshi, jword);
return (struct obj *) 0;
}
/* Historic note: early Nethack had a bug which was
if (allowcnt == 2 && cnt <= 0) {
if (cnt < 0 || !prezero)
pline_The(
+/*JP
"LRS would be very interested to know you have that much.");
+*/
+ "\82»\82Ì\8bZ\82Í\82Æ\82 \82é\83Q\81[\83\80\82Ì\83J\83W\83m\82Å\8eg\82¦\82½\82¯\82Ç\81C\82à\82Í\82â\8eg\82¦\82È\82¢\82æ\81D");
return (struct obj *) 0;
}
}
if (cnt == 0 && prezero)
return (struct obj *) 0;
if (cnt > 1) {
+/*JP
You("can only throw one item at a time.");
+*/
+ You("\93¯\8e\9e\82É\82½\82\82³\82ñ\82Ì\82à\82Ì\82ð\93\8a\82°\82ç\82ê\82È\82¢\81D");
continue;
}
}
that's been moved above so that otmp can be checked earlier] */
/* verify the chosen object */
if (!otmp) {
+/*JP
You("don't have that object.");
+*/
+ You("\82»\82ñ\82È\82à\82Ì\82Í\8e\9d\82Á\82Ä\82¢\82È\82¢\81D");
if (in_doagain)
return (struct obj *) 0;
continue;
} else if (cnt < 0 || otmp->quan < cnt) {
+/*JP
You("don't have that many! You have only %ld.", otmp->quan);
+*/
+ pline("\82»\82ñ\82È\82É\82½\82\82³\82ñ\82Í\8e\9d\82Á\82Ä\82¢\82È\82¢\81I\82¹\82¢\82º\82¢%ld\8cÂ\82Á\82Ä\82Æ\82±\82¾\81D", otmp->quan);
if (in_doagain)
return (struct obj *) 0;
continue;
}
if (!allowall && let && !index(let, otmp->oclass)
&& !(usegold && otmp->oclass == COIN_CLASS)) {
+#if 0 /*JP*/
silly_thing(word, otmp);
+#else
+ silly_thing(jword, otmp);
+#endif
return (struct obj *) 0;
}
if (allowcnt == 2) { /* cnt given */
/* check for attempted use of accessory commands ('P','R') on armor
and for corresponding armor commands ('W','T') on accessories */
if (ocls == ARMOR_CLASS) {
+#if 0 /*JP*/
if (!strcmp(word, "put on"))
s1 = "W", s2 = "wear", s3 = "";
else if (!strcmp(word, "remove"))
s1 = "T", s2 = "take", s3 = " off";
+#else
+ if (!strcmp(word, "\90g\82É\82Â\82¯\82é"))
+ s1 = "W", s2 = "\90g\82É\82Â\82¯\82é", s3 = "";
+ else if (!strcmp(word, "\82Í\82¸\82·"))
+ s1 = "T", s2 = "\82Í\82¸\82·", s3 = "";
+#endif
} else if ((ocls == RING_CLASS || otyp == MEAT_RING)
|| ocls == AMULET_CLASS
|| (otyp == BLINDFOLD || otyp == TOWEL || otyp == LENSES)) {
+#if 0 /*JP*/
if (!strcmp(word, "wear"))
s1 = "P", s2 = "put", s3 = " on";
else if (!strcmp(word, "take off"))
s1 = "R", s2 = "remove", s3 = "";
+#else
+ if (!strcmp(word, "\90g\82É\82Â\82¯\82é"))
+ s1 = "P", s2 = "\90g\82É\82Â\82¯\82é", s3 = "";
+ else if (!strcmp(word, "\82Í\82¸\82·"))
+ s1 = "R", s2 = "\82Í\82¸\82·", s3 = "";
+#endif
}
if (s1) {
+#if 0 /*JP*/
what = "that";
/* quantity for armor and accessory objects is always 1,
but some things should be referred to as plural */
if (otyp == LENSES || is_gloves(otmp) || is_boots(otmp))
what = "those";
+#endif
+/*JP
pline("Use the '%s' command to %s %s%s.", s1, s2, what, s3);
+*/
+ pline("\82»\82ê\82ð%s\82É\82Í'%s'\83R\83}\83\93\83h\82ð\8eg\82¤\82±\82Æ\81D", s2, s1);
} else
#endif
pline(silly_thing_to, word);
/* interactive version of getobj - used for Drop, Identify and */
/* Takeoff (A). Return the number of times fn was called successfully */
/* If combo is TRUE, we just use this to get a category list */
+/*JP CHECK: 3.4.3 \82Ì\8cÄ\82Ñ\8fo\82µ\8c³
+do.c:864: (result = ggetobj("drop", drop, 0, FALSE, (unsigned *)0)) < -1)
+do.c:925: i = ggetobj("drop", drop, 0, TRUE, &ggoresults);
+do_wear.c:2538: (result = ggetobj("take off", select_off, 0, FALSE, (unsigned *)0)) < -1)
+do_wear.c:2586: if (ggetobj("take off", select_off, 0, TRUE, (unsigned *)0) == -2)
+invent.c:1782: n = ggetobj("identify", identify, id_limit, FALSE, (unsigned *)0);
+*/
int
ggetobj(word, fn, mx, combo, resultflags)
const char *word;
char sym, *ip, olets[MAXOCLASSES + 5], ilets[MAXOCLASSES + 5];
char extra_removeables[3 + 1]; /* uwep,uswapwep,uquiver */
char buf[BUFSZ], qbuf[QBUFSZ];
+#if 1 /*JP*/
+ const char *joshi = "\82ð";
+ const char *jword;
+
+ const struct trans_verb *tv = trans_verb(word);
+ jword = tv->jp;
+ joshi = tv->particle;
+#endif
if (resultflags)
*resultflags = 0;
takeoff = ident = allflag = m_seen = FALSE;
if (!invent) {
+/*JP
You("have nothing to %s.", word);
+*/
+ You("%s\82à\82Ì\82Í\8e\9d\82Á\82Ä\82¢\82È\82¢\81D", jcan(jword));
return 0;
}
add_valid_menu_class(0); /* reset */
ilets[iletct] = '\0';
for (;;) {
+#if 0 /*JP*/
Sprintf(qbuf, "What kinds of thing do you want to %s? [%s]", word,
ilets);
+#else
+ Sprintf(qbuf,"\82Ç\82Ì\8eí\97Þ\82Ì\82à\82Ì%s%s\82©\81H[%s]", joshi,
+ jpolite(jword), ilets);
+#endif
getlin(qbuf, buf);
if (buf[0] == '\033')
return 0;
if (index(extra_removeables, oc_of_sym)) {
; /* skip rest of takeoff checks */
} else if (!index(removeables, oc_of_sym)) {
+/*JP
pline("Not applicable.");
+*/
+ pline("\82»\82ê\82Í\82Å\82«\82È\82¢\81D");
return 0;
} else if (oc_of_sym == ARMOR_CLASS && !wearing_armor()) {
noarmor(FALSE);
return 0;
} else if (oc_of_sym == WEAPON_CLASS && !uwep && !uswapwep
&& !uquiver) {
+/*JP
You("are not wielding anything.");
+*/
+ You("\89½\82à\91\95\94õ\82µ\82Ä\82¢\82È\82¢\81D");
return 0;
} else if (oc_of_sym == RING_CLASS && !uright && !uleft) {
+/*JP
You("are not wearing rings.");
+*/
+ You("\8ew\97Ö\82ð\90g\82É\82Â\82¯\82Ä\82¢\82È\82¢\81D");
return 0;
} else if (oc_of_sym == AMULET_CLASS && !uamul) {
+/*JP
You("are not wearing an amulet.");
+*/
+ You("\96\82\8f\9c\82¯\82ð\90g\82É\82Â\82¯\82Ä\82¢\82È\82¢\81D");
return 0;
} else if (oc_of_sym == TOOL_CLASS && !ublindf) {
+/*JP
You("are not wearing a blindfold.");
+*/
+ You("\96Ú\89B\82µ\82ð\82µ\82Ä\82¢\82È\82¢\81D");
return 0;
}
}
} else if (sym == 'm') {
m_seen = TRUE;
} else if (oc_of_sym == MAXOCLASSES) {
+/*JP
You("don't have any %c's.", sym);
+*/
+ You("%c\82É\91®\82·\82é\95¨\82ð\8e\9d\82Á\82Ä\82¢\82È\82¢\81D", sym);
} else if (oc_of_sym != VENOM_CLASS) { /* suppress venom */
if (!index(olets, oc_of_sym)) {
add_valid_menu_class(oc_of_sym);
* If allflag then no questions are asked. Max gives the max nr of
* objects to be treated. Return the number of objects treated.
*/
+/*JP CHECK: 3.4.3 \82Å\82Ì\8cÄ\82Ñ\8fo\82µ\8c³
+invent.c:1512:ggetobj() int cnt = askchain(&invent, olets, allflag, fn, ckfn, mx, word);
+pickup.c:2615:("nodot") if (askchain((struct obj **)¤t_container->cobj,
+pickup.c:2711:("nodot") (void) askchain((struct obj **)&invent,
+ word\82É\82Í\93®\8e\8c\82ª\89p\8cê\82Å\93ü\82é\81B
+*/
int
askchain(objchn, olets, allflag, fn, ckfn, mx, word)
struct obj **objchn;
Sprintf(qpfx, "%s: ", word), *qpfx = highc(*qpfx);
first = FALSE;
}
+#if 0 /*JP*/
(void) safe_qbuf(
qbuf, qpfx, "?", otmp, ininv ? safeq_xprname : doname,
ininv ? safeq_shortxprname : ansimpleoname, "item");
+#else
+ (void) safe_qbuf(
+ qbuf, qpfx, "\81H", otmp, ininv ? safeq_xprname : doname,
+ ininv ? safeq_shortxprname : ansimpleoname, "\83A\83C\83e\83\80");
+#endif
sym = (takeoff || ident || otmp->quan < 2L) ? nyaq(qbuf)
: nyNaq(qbuf);
} else
if (olets && *olets && *++olets)
goto nextclass;
if (!takeoff && (dud || cnt))
+/*JP
pline("That was all.");
+*/
+ pline("\82±\82ê\82Å\91S\95\94\82¾\81D");
else if (!dud && !cnt)
+/*JP
pline("No applicable objects.");
+*/
+ pline("\82»\82ê\82Í\82Å\82«\82È\82¢\81D");
ret:
bypass_objlist(*objchn, FALSE);
return cnt;
/* assumptions: id_limit > 0 and at least one unID'd item is present */
while (id_limit) {
+#if 0 /*JP:T*/
Sprintf(buf, "What would you like to identify %s?",
first ? "first" : "next");
+#else
+ Sprintf(buf, "\82Ç\82ê\82ð%s\82É\8e¯\95Ê\82µ\82Ü\82·\82©\81H",
+ first ? "\8dÅ\8f\89" : "\8e\9f");
+#endif
n = query_objlist(buf, invent, SIGNAL_NOMENU | SIGNAL_ESCAPE
| USE_INVLET | INVORDER_SORT,
&pick_list, PICK_ANY, not_fully_identified);
} else if (n == -2) { /* player used ESC to quit menu */
break;
} else if (n == -1) { /* no eligible items found */
+/*JP
pline("That was all.");
+*/
+ pline("\82±\82ê\82Å\91S\95\94\82¾\81D");
break;
} else if (!--tryct) { /* stop re-prompting */
pline1(thats_enough_tries);
++unid_cnt, the_obj = obj;
if (!unid_cnt) {
+#if 0 /*JP:T*/
You("have already identified all %sof your possessions.",
learning_id ? "the rest " : "");
+#else
+ You("%s\91S\82Ä\82Ì\8f\8a\97L\95¨\82ð\8e¯\95Ê\82µ\82Ä\82µ\82Ü\82Á\82Ä\82¢\82é\81D",
+ learning_id ? "\8ec\82è" : "");
+#endif
} else if (!id_limit || id_limit >= unid_cnt) {
/* identify everything */
if (unid_cnt == 1) {
{
if (!prefix)
prefix = "";
+#if 0 /*JP*/
pline("%s%s%s", prefix, *prefix ? " " : "",
xprname(obj, (char *) 0, obj_to_let(obj), TRUE, 0L, quan));
+#else
+ pline("%s%s",
+ xprname(obj, (char *)0, obj_to_let(obj), *prefix ? FALSE : TRUE, 0L, quan),
+ prefix);
+#endif
}
char *
*/
if (cost != 0 || let == '*') {
/* if dot is true, we're doing Iu, otherwise Ix */
+#if 0 /*JP*/
Sprintf(li, "%c - %-45s %6ld %s",
+#else
+ Sprintf(li, "%c - %-45s %6ld%s",
+#endif
(dot && use_invlet ? obj->invlet : let),
(txt ? txt : doname(obj)), cost, currency(cost));
} else {
/* ordinary inventory display or pickup message */
Sprintf(li, "%c - %s%s", (use_invlet ? obj->invlet : let),
+/*JP
(txt ? txt : doname(obj)), (dot ? "." : ""));
+*/
+ (txt ? txt : doname(obj)), (dot ? "\81D" : ""));
}
if (savequan)
obj->quan = savequan;
* to here is short circuited away.
*/
if (!invent && !(flags.perm_invent && !lets && !want_reply)) {
+/*JP
pline("Not carrying anything.");
+*/
+ pline("\89½\82à\8e\9d\82Á\82Ä\82¢\82È\82¢\81D");
return 0;
}
}
putstr(win, 0, "");
+#if 0 /*JP*/
putstr(win, 0,
xprname((struct obj *) 0, "Total:", '*', FALSE, totcost, 0L));
+#else
+ putstr(win, 0,
+ xprname((struct obj *) 0, "\8d\87\8cv\81F", '*', FALSE, totcost, 0L));
+#endif
display_nhwindow(win, FALSE);
destroy_nhwindow(win);
}
boolean billx = *u.ushops && doinvbill(0);
menu_item *pick_list;
boolean traditional = TRUE;
+/*JP
const char *prompt = "What type of object do you want an inventory of?";
+*/
+ const char *prompt = "\82Ç\82Ì\8eí\97Þ\82Ì\8e\9d\82¿\95¨\82ð\8c©\82Ü\82·\82©\81H";
if (!invent && !billx) {
+/*JP
You("aren't carrying anything.");
+*/
+ You("\82»\82Ì\8eí\97Þ\82Ì\95¨\82Í\89½\82à\8e\9d\82Á\82Ä\82¢\82È\82¢\81D");
return 0;
}
unpaid_count = count_unpaid(invent);
if (billx)
(void) doinvbill(1);
else
+#if 0 /*JP*/
pline("No used-up objects%s.",
unpaid_count ? " on your shopping bill" : "");
+#else
+ pline("\8eg\82Á\82Ä\82µ\82Ü\82Á\82½\95¨\82Í%s\82È\82¢\81D",
+ unpaid_count ? "\8f¤\93X\82Ì\90¿\8b\81\8f\91\82É\82Í" : "");
+#endif
return 0;
}
if (c == 'u' || (c == 'U' && unpaid_count && !ucnt)) {
if (unpaid_count)
dounpaid();
else
+/*JP
You("are not carrying any unpaid objects.");
+*/
+ You("\96¢\95¥\82¢\82Ì\83A\83C\83e\83\80\82ð\8e\9d\82Á\82Ä\82¢\82È\82¢\81D");
return 0;
}
if (traditional) {
"have no objects whose blessed/uncursed/cursed status is unknown.");
break; /* better phrasing is desirable */
default:
+/*JP
which = "such";
+*/
+ which = "\82»\82Ì\82æ\82¤\82È";
break;
}
if (which)
+/*JP
You("have no %s objects.", which);
+*/
+ You("%s\82à\82Ì\82Í\89½\82à\8e\9d\82Á\82Ä\82¢\82È\82¢\81D", which);
return 0;
}
this_type = oclass;
cmap = S_vodoor;
break; /* "open door" */
case D_BROKEN:
+/*JP
dfeature = "broken door";
+*/
+ dfeature = "\89ó\82ê\82½\94à";
break;
default:
cmap = S_vcdoor;
}
/* override door description for open drawbridge */
if (is_drawbridge_wall(x, y) >= 0)
+/*JP
dfeature = "open drawbridge portcullis", cmap = -1;
+*/
+ dfeature = "\8d~\82è\82Ä\82¢\82é\92µ\82Ë\8b´", cmap = -1;
} else if (IS_FOUNTAIN(ltyp))
cmap = S_fountain; /* "fountain" */
else if (IS_THRONE(ltyp))
else if (is_ice(x, y))
cmap = S_ice; /* "ice" */
else if (is_pool(x, y))
+/*JP
dfeature = "pool of water";
+*/
+ dfeature = "\90\85\82½\82Ü\82è";
else if (IS_SINK(ltyp))
cmap = S_sink; /* "sink" */
else if (IS_ALTAR(ltyp)) {
+#if 0 /*JP*/
Sprintf(altbuf, "%saltar to %s (%s)",
((lev->altarmask & AM_SHRINE)
&& (Is_astralevel(&u.uz) || Is_sanctum(&u.uz)))
: "",
a_gname(),
align_str(Amask2align(lev->altarmask & ~AM_SHRINE)));
+#else
+ Sprintf(altbuf, "%s%s\82Ì\8dÕ\92d(%s)",
+ ((lev->altarmask & AM_SHRINE)
+ && (Is_astralevel(&u.uz) || Is_sanctum(&u.uz)))
+ ? "\8d\82\88Ê\82Ì"
+ : "",
+ a_gname(),
+ align_str(Amask2align(lev->altarmask & ~AM_SHRINE)));
+#endif
dfeature = altbuf;
} else if ((x == xupstair && y == yupstair)
|| (x == sstairs.sx && y == sstairs.sy && sstairs.up))
else if (ltyp == TREE)
cmap = S_tree; /* "tree" */
else if (ltyp == IRONBARS)
+/*JP
dfeature = "set of iron bars";
+*/
+ dfeature = "\93S\82Ì\96_";
if (cmap >= 0)
dfeature = defsyms[cmap].explanation;
{
struct obj *otmp;
struct trap *trap;
+#if 0 /*JP:C*/
const char *verb = Blind ? "feel" : "see";
+#else
+ const char *verb = Blind ? "\82ª\82 \82é\82æ\82¤\82È\8bC\82ª\82µ\82½" : "\82ð\82Ý\82Â\82¯\82½";
+#endif
const char *dfeature = (char *) 0;
char fbuf[BUFSZ], fbuf2[BUFSZ];
winid tmpwin;
skip_objects = (flags.pile_limit > 0 && obj_cnt >= flags.pile_limit);
if (u.uswallow && u.ustuck) {
struct monst *mtmp = u.ustuck;
+#if 0 /*JP:T*/
Sprintf(fbuf, "Contents of %s %s", s_suffix(mon_nam(mtmp)),
mbodypart(mtmp, STOMACH));
+#else
+ Sprintf(fbuf, "%s\82Ì%s\82Ì\92\86\90g", mon_nam(mtmp),
+ mbodypart(mtmp, STOMACH));
+#endif
+#if 0 /*JP*//*\8cê\8f\87\82ª\88á\82¤\82Ì\82Å\91f\92¼\82É*/
/* Skip "Contents of " by using fbuf index 12 */
You("%s to %s what is lying in %s.", Blind ? "try" : "look around",
verb, &fbuf[12]);
+#else
+ You("%s\82Ì%s\82É\89½\82ª\82 \82é\82©%s\81D",
+ mon_nam(mtmp), mbodypart(mtmp, STOMACH),
+ Blind ? "\82³\82®\82Á\82½" : "\8c©\89ñ\82µ\82½");
+#endif
otmp = mtmp->minvent;
if (otmp) {
for (; otmp; otmp = otmp->nobj) {
if (otmp->otyp == CORPSE)
feel_cockatrice(otmp, FALSE);
}
+#if 0 /*JP*/
if (Blind)
Strcpy(fbuf, "You feel");
Strcat(fbuf, ":");
+#else
+ Sprintf(fbuf, "\82±\82±\82É\82 \82é%s\82à\82Ì\82Í\81F", Blind ? "\82ç\82µ\82¢" : "");
+#endif
(void) display_minventory(mtmp, MINV_ALL, fbuf);
} else {
+#if 0 /*JP:C*/
You("%s no objects here.", verb);
+#else
+ pline(Blind ? "\82 \82È\82½\82Í\89½\82à\82È\82¢\82æ\82¤\82È\8bC\82ª\82µ\82½\81D"
+ : "\82 \82È\82½\82Í\89½\82à\82Ý\82Â\82¯\82ç\82ê\82È\82©\82Á\82½\81D");
+#endif
}
return !!Blind;
}
if (!skip_objects && (trap = t_at(u.ux, u.uy)) && trap->tseen)
+/*JP
There("is %s here.",
+*/
+ pline("\82±\82±\82É\82Í%s\82ª\82 \82é\81D",
an(defsyms[trap_to_defsym(trap->ttyp)].explanation));
otmp = level.objects[u.ux][u.uy];
dfeature = dfeature_at(u.ux, u.uy, fbuf2);
+/*JP
if (dfeature && !strcmp(dfeature, "pool of water") && Underwater)
+*/
+ if (dfeature && !strcmp(dfeature, "\90\85\82½\82Ü\82è") && Underwater)
dfeature = 0;
if (Blind) {
boolean drift = Is_airlevel(&u.uz) || Is_waterlevel(&u.uz);
+/*JP
if (dfeature && !strncmp(dfeature, "altar ", 6)) {
+*/
+ if (dfeature && !strncmp(dfeature, "\8dÕ\92d", 4)) {
/* don't say "altar" twice, dfeature has more info */
+/*JP
You("try to feel what is here.");
+*/
+ You("\82±\82±\82É\89½\82ª\82 \82é\82Ì\82©\92²\82×\82æ\82¤\82Æ\82µ\82½\81D");
} else {
+#if 0 /*JP*/
const char *where = (Blind && !can_reach_floor(TRUE))
? "lying beneath you"
: "lying here on the ",
You("try to feel what is %s%s.", drift ? "floating here" : where,
drift ? "" : onwhat);
+#else
+ if (drift) {
+ You("\89½\82ª\95\82\82¢\82Ä\82¢\82é\82Ì\82©\92²\82×\82æ\82¤\82Æ\82µ\82½\81D");
+ } else if (Blind && !can_reach_floor(TRUE)) {
+ You("\89½\82ª\91«\89º\82É\82 \82é\82Ì\82©\92²\82×\82æ\82¤\82Æ\82µ\82½\81D");
+ } else {
+ You("\89½\82ª%s\82Ì\8fã\82É\82 \82é\82Ì\82©\92²\82×\82æ\82¤\82Æ\82µ\82½\81D", surface(u.ux, u.uy));
+ }
+#endif
}
if (dfeature && !drift && !strcmp(dfeature, surface(u.ux, u.uy)))
dfeature = 0; /* ice already identified */
if (!can_reach_floor(TRUE)) {
+/*JP
pline("But you can't reach it!");
+*/
+ pline("\82µ\82©\82µ\93Í\82©\82È\82¢\81I");
return 0;
}
}
if (dfeature)
+/*JP
Sprintf(fbuf, "There is %s here.", an(dfeature));
+*/
+ Sprintf(fbuf, "\82±\82±\82É\82Í%s\82ª\82 \82é\81D", an(dfeature));
if (!otmp || is_lava(u.ux, u.uy)
|| (is_pool(u.ux, u.uy) && !Underwater)) {
pline1(fbuf);
read_engr_at(u.ux, u.uy); /* Eric Backus */
if (!skip_objects && (Blind || !dfeature))
+#if 0 /*JP:C*/
You("%s no objects here.", verb);
+#else
+ pline(Blind ?
+ "\82È\82É\82à\82È\82¢\82æ\82¤\82È\8bC\82ª\82·\82é\81D" :
+ "\82È\82É\82à\82Ý\82Â\82¯\82ç\82ê\82È\82©\82Á\82½\81D");
+#endif
return !!Blind;
}
/* we know there is something here */
if (obj_cnt == 1 && otmp->quan == 1L)
There("is %s object here.", picked_some ? "another" : "an");
else
+#if 0 /*JP*/
There("are %s%s objects here.",
(obj_cnt < 5)
? "a few"
? "several"
: "many",
picked_some ? " more" : "");
+#else
+ pline("\82±\82±\82É\82Í%s%s\82à\82Ì\82ª\82 \82é\81D",
+ picked_some ? "\82³\82ç\82É" : "",
+ (obj_cnt < 10)
+ ? "\82¢\82\82Â\82©\82Ì"
+ : "\82½\82\82³\82ñ\82Ì");
+#endif
for (; otmp; otmp = otmp->nexthere)
if (otmp->otyp == CORPSE && will_feel_cockatrice(otmp, FALSE)) {
pline("%s %s%s.",
if (dfeature)
pline1(fbuf);
read_engr_at(u.ux, u.uy); /* Eric Backus */
+/*JP
You("%s here %s.", verb, doname_with_price(otmp));
+*/
+ pline("%s%s\81D", doname_with_price(otmp), verb);
iflags.last_msg = PLNMSG_ONE_ITEM_HERE;
if (otmp->otyp == CORPSE)
feel_cockatrice(otmp, FALSE);
putstr(tmpwin, 0, fbuf);
putstr(tmpwin, 0, "");
}
+#if 0 /*JP*/
Sprintf(buf, "%s that %s here:",
picked_some ? "Other things" : "Things",
Blind ? "you feel" : "are");
+#else
+ Sprintf(buf, "%s\82±\82±\82É\82 \82é%s\82à\82Ì\82Í\81F",
+ picked_some ? "\91¼\82É" : "",
+ Blind ? "\82ç\82µ\82¢" : "");
+#endif
putstr(tmpwin, 0, buf);
for (; otmp; otmp = otmp->nexthere) {
if (otmp->otyp == CORPSE && will_feel_cockatrice(otmp, FALSE)) {
Strcpy(kbuf, corpse_xname(otmp, (const char *) 0, CXN_PFX_THE));
if (poly_when_stoned(youmonst.data))
+#if 0 /*JP*/
You("touched %s with your bare %s.", kbuf,
makeplural(body_part(HAND)));
+#else
+ You("%s\82Ì\8e\80\91Ì\82É\91f%s\82Å\90G\82Á\82½\81D", kbuf,
+ body_part(HAND));
+#endif
else
+/*JP
pline("Touching %s is a fatal mistake...", kbuf);
+*/
+ pline("%s\82Ì\8e\80\91Ì\82É\90G\82ê\82é\82Ì\82Í\92v\96½\93I\82È\8aÔ\88á\82¢\82¾\81D\81D\81D", kbuf);
/* normalize body shape here; hand, not body_part(HAND) */
+/*JP
Sprintf(kbuf, "touching %s bare-handed", killer_xname(otmp));
+*/
+ Sprintf(kbuf, "%s\82Ì\8e\80\91Ì\82É\90G\82ê\82Ä", killer_xname(otmp));
/* will call polymon() for the poly_when_stoned() case */
instapetrify(kbuf);
}
take containers into account */
long umoney = money_cnt(invent);
if (!umoney)
+/*JP
Your("wallet is empty.");
+*/
+ Your("\8dà\95z\82Í\8bó\82Á\82Û\82¾\81D");
else
+/*JP
Your("wallet contains %ld %s.", umoney, currency(umoney));
+*/
+ Your("\8dà\95z\82É\82Í%ld%s\93ü\82Á\82Ä\82¢\82é\81D", umoney, currency(umoney));
shopper_financial_report();
return 0;
}
doprwep()
{
if (!uwep) {
+/*JP
You("are empty %s.", body_part(HANDED));
+*/
+ if(!uwep) You("%s\82É\95\90\8aí\82ð\82à\82Á\82Ä\82¢\82È\82¢\81D", body_part(HAND));
} else {
prinv((char *) 0, uwep, 0L);
if (u.twoweap)
boolean report_uskin;
{
if (!uskin || !report_uskin) {
+/*JP
You("are not wearing any armor.");
+*/
+ You("\8aZ\82ð\92\85\82Ä\82¢\82È\82¢\81D");
} else {
char *p, *uskinname, buf[BUFSZ];
uskinname = strcpy(buf, simpleonames(uskin));
+#if 0 /*JP*/
/* shorten "set of <color> dragon scales" to "<color> scales"
and "<color> dragon scale mail" to "<color> scale mail" */
if (!strncmpi(uskinname, "set of ", 7))
if ((p = strstri(uskinname, " dragon ")) != 0)
while ((p[1] = p[8]) != '\0')
++p;
+#else /*\81u<\90F>\83h\83\89\83S\83\93\82Ì\97Ø\81v\82ð\81u<\90F>\82Ì\97Ø\81v\82É\82·\82é*/
+ if ((p = strstri(uskinname, "\83h\83\89\83S\83\93\82Ì\97Ø")) != 0)
+ strcpy(p, "\97Ø");
+#endif
+/*JP
You("are not wearing armor but have %s embedded in your skin.",
+*/
+ You("\82Í\8aZ\82ð\92\85\82Ä\82¢\82È\82¢\82ª\81C%s\82ª\94§\82É\96\84\82ß\8d\9e\82Ü\82ê\82Ä\82¢\82é\81D",
uskinname);
}
}
doprring()
{
if (!uleft && !uright)
+/*JP
You("are not wearing any rings.");
+*/
+ You("\8ew\97Ö\82ð\90g\82É\82Â\82¯\82Ä\82¢\82È\82¢\81D");
else {
char lets[3];
register int ct = 0;
dopramulet()
{
if (!uamul)
+/*JP
You("are not wearing an amulet.");
+*/
+ You("\96\82\8f\9c\82¯\82ð\90g\82É\82Â\82¯\82Ä\82¢\82È\82¢\81D");
else
prinv((char *) 0, uamul, 0L);
return 0;
lets[ct++] = obj_to_let(otmp);
lets[ct] = '\0';
if (!ct)
+/*JP
You("are not using any tools.");
+*/
+ You("\8eg\82¦\82é\93¹\8bï\82ð\82à\82Á\82Ä\82¢\82È\82¢\81D");
else
(void) display_inventory(lets, FALSE);
return 0;
lets[ct++] = obj_to_let(otmp);
lets[ct] = '\0';
if (!ct)
+/*JP
You("are not wearing or wielding anything.");
+*/
+ You("\89½\82à\92\85\82Ä\82¢\82È\82¢\82µ\81C\91\95\94õ\82µ\82Ä\82¢\82È\82¢\81D");
else
(void) display_inventory(lets, FALSE);
return 0;
* This must match the object class order.
*/
STATIC_VAR NEARDATA const char *names[] = {
+#if 0 /*JP*/
0, "Illegal objects", "Weapons", "Armor", "Rings", "Amulets", "Tools",
"Comestibles", "Potions", "Scrolls", "Spellbooks", "Wands", "Coins",
"Gems/Stones", "Boulders/Statues", "Iron balls", "Chains", "Venoms"
+#else
+ 0, "\96\82È\95¨\91Ì", "\95\90\8aí", "\8aZ", "\8ew\97Ö", "\96\82\8f\9c\82¯", "\93¹\8bï",
+ "\90H\97¿", "\96ò", "\8aª\95¨", "\96\82\96@\8f\91", "\8fñ", "\8bà\89Ý",
+ "\95ó\90Î", "\8aâ\82Ü\82½\82Í\92¤\91\9c", "\93S\8b\85", "\8d½", "\93Å"
+#endif
};
static NEARDATA const char oth_symbols[] = { CONTAINED_SYM, '\0' };
+/*JP
static NEARDATA const char *oth_names[] = { "Bagged/Boxed items" };
+*/
+static NEARDATA const char *oth_names[] = { "\8bl\82ß\82ç\82ê\82½\93¹\8bï" };
static NEARDATA char *invbuf = (char *) 0;
static NEARDATA unsigned invbufsiz = 0;
else
class_name = names[0];
+/*JP
len = strlen(class_name) + (unpaid ? sizeof "unpaid_" : sizeof "")
+*/
+ len = strlen(class_name) + (unpaid ? sizeof "\96¢\95¥\82¢\82Ì" : sizeof "")
+ (oclass ? (strlen(ocsymfmt) + invbuf_sympadding) : 0);
if (len > invbufsiz) {
if (invbuf)
invbuf = (char *) alloc(invbufsiz);
}
if (unpaid)
+/*JP
Strcat(strcpy(invbuf, "Unpaid "), class_name);
+*/
+ Strcat(strcpy(invbuf, "\96¢\95¥\82¢\82Ì"), class_name);
else
Strcpy(invbuf, class_name);
if ((oclass != 0) && showsym) {
compactify(buf);
/* get 'to' slot to use as destination */
+#if 0 /*JP:T*/
Sprintf(qbuf, "Adjust letter to what [%s]%s?", buf,
invent ? " (? see used letters)" : "");
+#else
+ Sprintf(qbuf, "\82Ç\82Ì\95¶\8e\9a\82É\92²\90®\82µ\82Ü\82·\82©[%s]%s\81H", buf,
+ invent ? " (? \82Å\8eg\82Á\82Ä\82¢\82é\95¶\8e\9a\82ð\95\\8e¦)" : "");
+#endif
for (trycnt = 1; ; ++trycnt) {
let = yn_function(qbuf, (char *) 0, '\0');
if (let == '?' || let == '*') {
break; /* got one */
if (trycnt == 5)
goto noadjust;
+#if 0 /*JP*/
pline("Select an inventory slot letter."); /* else try again */
+#else
+ pline("\8e\9d\82¿\95¨\82Ì\95¶\8e\9a\82ð\91I\82ñ\82Å\82\82¾\82³\82¢\81D");
+#endif
}
/* change the inventory and print the resulting item */
+/*JP
adj_type = !splitting ? "Moving:" : "Splitting:";
+*/
+ adj_type = !splitting ? "\82ð\88Ú\93®\82µ\82½\81D" : "\82ð\95ª\8a\84\82µ\82½\81D";
/*
* don't use freeinv/addinv to avoid double-touching artifacts,
for (otmp = invent; otmp;) {
if (!splitting) {
if (merged(&otmp, &obj)) {
+/*JP
adj_type = "Merging:";
+*/
+ adj_type = "\82ð\8d\87\82í\82¹\82½\81D";
obj = otmp;
otmp = otmp->nobj;
extract_nobj(obj, &invent);
continue; /* otmp has already been updated */
} else if (otmp->invlet == let) {
+/*JP
adj_type = "Swapping:";
+*/
+ adj_type = "\82ð\8cð\8a·\82µ\82½\81D";
otmp->invlet = obj->invlet;
}
} else {
incl_hero = (do_all && u.uswallow && mon == u.ustuck),
have_inv = (mon->minvent != 0), have_any = (have_inv || incl_hero);
+#if 0 /*JP*/
Sprintf(tmp, "%s %s:", s_suffix(noit_Monnam(mon)),
do_all ? "possessions" : "armament");
+#else
+ Sprintf(tmp, "%s\82Ì%s\81F", Monnam(mon),
+ do_all ? "\8e\9d\82¿\95¨" : "\91\95\94õ");
+#endif
if (do_all ? have_any : (mon->misc_worn_check || MON_WEP(mon))) {
/* Fool the 'weapon in hand' routine into
set_uasmon();
} else {
+/*JP
invdisp_nothing(title ? title : tmp, "(none)");
+*/
+ invdisp_nothing(title ? title : tmp, "(\89½\82à\82È\82¢)");
n = 0;
}
int n;
menu_item *selected = 0;
+#if 0 /*JP*/
(void) safe_qbuf(qbuf, "Contents of ", ":", obj, doname, ansimpleoname,
"that");
+#else
+ (void) safe_qbuf(qbuf, "", "\82Ì\92\86\90g\81F", obj, doname, ansimpleoname,
+ "\82»");
+#endif
if (obj->cobj) {
n = query_objlist(qbuf, obj->cobj, INVORDER_SORT, &selected,
PICK_NONE, allow_all);
} else {
+/*JP
invdisp_nothing(qbuf, "(empty)");
+*/
+ invdisp_nothing(qbuf, "(\8bó\82Á\82Û)");
n = 0;
}
if (n > 0) {
if (n) {
only.x = x;
only.y = y;
+/*JP
if (query_objlist("Things that are buried here:", level.buriedobjlist,
+*/
+ if (query_objlist("\82±\82±\82É\96\84\82ß\82ç\82ê\82Ä\82¢\82é\82à\82Ì\81F", level.buriedobjlist,
INVORDER_SORT, &selected, PICK_NONE, only_here) > 0)
free((genericptr_t) selected);
only.x = only.y = 0;
{
switch (arti_light_radius(obj)) {
case 3:
+#if 0 /*JP*/
return "brilliantly"; /* blessed */
+#else
+ return "\83L\83\89\83L\83\89\82Æ"; /* blessed */
+#endif
case 2:
+#if 0 /*JP*/
return "brightly"; /* uncursed */
+#else
+ return "\96¾\82é\82"; /* uncursed */
+#endif
case 1:
+#if 0 /*JP*/
return "dimly"; /* cursed */
+#else
+ return "\94\96\88Ã\82"; /* cursed */
+#endif
default:
break;
}
+/*JP
return "strangely";
+*/
+ return "\95s\8ev\8bc\82É";
}
int
/* 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_PTR int NDECL(picklock);
{
/* "unlocking"+2 == "locking" */
static const char *actions[] = {
+#if 0 /*JP*/
"unlocking the door", /* [0] */
"unlocking the chest", /* [1] */
"unlocking the box", /* [2] */
"picking the lock" /* [3] */
+#else
+ "\94à\82Ì\8c®\82ð\82Í\82¸\82·",
+ "\95ó\94 \82Ì\8c®\82ð\82Í\82¸\82·",
+ "\94 \82Ì\8c®\82ð\82Í\82¸\82·",
+ "\8c®\82ð\82Í\82¸\82·"
+#endif
};
/* if the target is currently unlocked, we're trying to lock it now */
if (xlock.door && !(xlock.door->doormask & D_LOCKED))
+#if 0 /*JP*/
return actions[0] + 2; /* "locking the door" */
+#else /* \89p\8cê\82Í un \82ð\8eæ\82ê\82Î\8bt\82Ì\88Ó\96¡\82É\82È\82é\82ª\81C\93ú\96{\8cê\82Í\82»\82¤\82Í\82¢\82©\82È\82¢\82Ì\82Å\83\8a\83e\83\89\83\8b\82ð\8f\91\82 */
+ return "\94à\82É\8c®\82ð\82©\82¯\82é";
+#endif
else if (xlock.box && !xlock.box->olocked)
+#if 0 /*JP*/
return xlock.box->otyp == CHEST ? actions[1] + 2 : actions[2] + 2;
+#else
+ return xlock.box->otyp == CHEST ? "\95ó\94 \82É\8c®\82ð\82©\82¯\82é" : "\94 \82É\8c®\82ð\82©\82¯\82é";
+#endif
/* otherwise we're trying to unlock it */
else if (xlock.picktyp == LOCK_PICK)
return actions[3]; /* "picking the lock" */
}
switch (xlock.door->doormask) {
case D_NODOOR:
+/*JP
pline("This doorway has no door.");
+*/
+ pline("\8fo\93ü\8cû\82É\82Í\94à\82ª\82È\82¢\81D");
return ((xlock.usedtime = 0));
case D_ISOPEN:
+/*JP
You("cannot lock an open door.");
+*/
+ pline("\8aJ\82¢\82Ä\82é\94à\82É\8c®\82ð\82©\82¯\82ç\82ê\82È\82¢\81D");
return ((xlock.usedtime = 0));
case D_BROKEN:
+/*JP
pline("This door is broken.");
+*/
+ pline("\94à\82Í\89ó\82ê\82Ä\82¢\82é\81D");
return ((xlock.usedtime = 0));
}
}
if (xlock.usedtime++ >= 50 || nohands(youmonst.data)) {
+/*JP
You("give up your attempt at %s.", lock_action());
+*/
+ pline("%s\82Ì\82ð\82 \82«\82ç\82ß\82½\81D", lock_action());
exercise(A_DEX, TRUE); /* even if you don't succeed */
return ((xlock.usedtime = 0));
}
if (rn2(100) >= xlock.chance)
return 1; /* still busy */
+/*JP
You("succeed in %s.", lock_action());
+*/
+ You("%s\82Ì\82É\90¬\8c÷\82µ\82½\81D", lock_action());
if (xlock.door) {
if (xlock.door->doormask & D_TRAPPED) {
+/*JP
b_trapped("door", FINGER);
+*/
+ b_trapped("\94à", FINGER);
xlock.door->doormask = D_NODOOR;
unblock_point(u.ux + u.dx, u.uy + u.dy);
if (*in_rooms(u.ux + u.dx, u.uy + u.dy, SHOPBASE))
peaceful_shk = costly && (boolean) shkp->mpeaceful;
long loss = 0L;
+/*JP
pline("In fact, you've totally destroyed %s.", the(xname(box)));
+*/
+ pline("\8eÀ\8dÛ\82Ì\82Æ\82±\82ë\81C%s\82ð\8a®\91S\82É\89ó\82µ\82Ä\82µ\82Ü\82Á\82½\81D", xname(xlock.box));
/* Put the contents on ground at the hero's feet. */
while ((otmp = box->cobj) != 0) {
obj_extract_self(otmp);
if (costly)
loss += stolen_value(box, u.ux, u.uy, peaceful_shk, TRUE);
if (loss)
+/*JP
You("owe %ld %s for objects destroyed.", loss, currency(loss));
+*/
+ You("\8aí\95¨\94j\91¹\82Å%ld%s\82Ì\8eØ\82è\82ð\82Â\82\82Á\82½\81D", loss, currency(loss));
delobj(box);
}
}
return ((xlock.usedtime = 0)); /* you or it moved */
if (xlock.usedtime++ >= 50 || !uwep || nohands(youmonst.data)) {
+/*JP
You("give up your attempt to force the lock.");
+*/
+ pline("\8c®\82ð\82±\82¶\8aJ\82¯\82é\82Ì\82ð\82 \82«\82ç\82ß\82½\81D");
if (xlock.usedtime >= 50) /* you made the effort */
exercise((xlock.picktyp) ? A_DEX : A_STR, TRUE);
return ((xlock.usedtime = 0));
/* for a +0 weapon, probability that it survives an unsuccessful
* attempt to force the lock is (.992)^50 = .67
*/
+#if 0 /*JP*/
pline("%sour %s broke!", (uwep->quan > 1L) ? "One of y" : "Y",
xname(uwep));
+#else
+ pline("%s\82Í\89ó\82ê\82Ä\82µ\82Ü\82Á\82½\81I",xname(uwep));
+#endif
useup(uwep);
+/*JP
You("give up your attempt to force the lock.");
+*/
+ pline("\8c®\82ð\82±\82¶\8aJ\82¯\82é\82Ì\82ð\82 \82«\82ç\82ß\82½\81D");
exercise(A_DEX, TRUE);
return ((xlock.usedtime = 0));
}
if (rn2(100) >= xlock.chance)
return 1; /* still busy */
+/*JP
You("succeed in forcing the lock.");
+*/
+ pline("\8c®\82ð\82±\82¶\8aJ\82¯\82½\81D");
breakchestlock(xlock.box, (boolean) (!xlock.picktyp && !rn2(3)));
exercise((xlock.picktyp) ? A_DEX : A_STR, TRUE);
/* check whether we're resuming an interrupted previous attempt */
if (xlock.usedtime && picktyp == xlock.picktyp) {
+/*JP
static char no_longer[] = "Unfortunately, you can no longer %s %s.";
+*/
+ static char no_longer[] = "\82´\82ñ\82Ë\82ñ\82È\82ª\82ç\81C\82 \82È\82½\82Í%s%s";
if (nohands(youmonst.data)) {
+/*JP
const char *what = (picktyp == LOCK_PICK) ? "pick" : "key";
+*/
+ const char *what = (picktyp == LOCK_PICK) ? "\8c®\8aJ\82¯\8aí\8bï" : "\8c®";
if (picktyp == CREDIT_CARD)
+/*JP
what = "card";
+*/
+ what = "\83J\81[\83h";
+/*JP
pline(no_longer, "hold the", what);
+*/
+ pline(no_longer, what, "\82ð\82Â\82©\82ß\82È\82¢");
reset_pick();
return PICKLOCK_LEARNED_SOMETHING;
} else if (u.uswallow || (xlock.box && !can_reach_floor(TRUE))) {
+/*JP
pline(no_longer, "reach the", "lock");
+*/
+ pline(no_longer, "\8c®\82É", "\93Í\82©\82È\82¢");
reset_pick();
return PICKLOCK_LEARNED_SOMETHING;
} else {
const char *action = lock_action();
+/*JP
You("resume your attempt at %s.", action);
+*/
+ pline("%s\82Ì\82ð\8dÄ\8aJ\82µ\82½\81D", action);
set_occupation(picklock, action, 0);
return PICKLOCK_DID_SOMETHING;
}
}
if (nohands(youmonst.data)) {
+/*JP
You_cant("hold %s -- you have no hands!", doname(pick));
+*/
+ You("%s\82ð\82Â\82©\82Þ\82±\82Æ\82ª\82Å\82«\82È\82¢\81I\8eè\82ª\82È\82¢\82ñ\82¾\82à\82Ì\81I", xname(pick));
return PICKLOCK_DID_NOTHING;
} else if (u.uswallow) {
You_cant("%sunlock %s.", (picktyp == CREDIT_CARD) ? "" : "lock or ",
}
ch = 0; /* lint suppression */
+/*JP
if (!get_adjacent_loc((char *) 0, "Invalid location!", u.ux, u.uy, &cc))
+*/
+ if (!get_adjacent_loc((char *) 0, "\88Ê\92u\82ª\82¨\82©\82µ\82¢\81I", u.ux, u.uy, &cc))
return PICKLOCK_DID_NOTHING;
if (cc.x == u.ux && cc.y == u.uy) { /* pick lock on a container */
int count;
if (u.dz < 0) {
+#if 0 /*JP*/
There("isn't any sort of lock up %s.",
Levitation ? "here" : "there");
+#else
+ pline("%s\82É\82Í\8c®\82ð\82©\82¯\82é\82æ\82¤\82È\95¨\82Í\82È\82¢\81D",
+ Levitation ? "\82±\82±" : "\89º\95û");
+#endif
return PICKLOCK_LEARNED_SOMETHING;
} else if (is_lava(u.ux, u.uy)) {
+/*JP
pline("Doing that would probably melt %s.", yname(pick));
+*/
+ pline("\82»\82ñ\82È\82±\82Æ\82ð\82µ\82½\82ç%s\82ª\97n\82¯\82Ä\82µ\82Ü\82¤\81D", yname(pick));
return PICKLOCK_LEARNED_SOMETHING;
} else if (is_pool(u.ux, u.uy) && !Underwater) {
+/*JP
pline_The("water has no lock.");
+*/
+ pline("\90\85\82É\8fù\91O\82Í\82È\82¢\81D");
return PICKLOCK_LEARNED_SOMETHING;
}
if (Is_box(otmp)) {
++count;
if (!can_reach_floor(TRUE)) {
+/*JP
You_cant("reach %s from up here.", the(xname(otmp)));
+*/
+ You("\82±\82±\82©\82ç%s\82É\93Í\82©\82È\82¢\81D", the(xname(otmp)));
return PICKLOCK_LEARNED_SOMETHING;
}
it = 0;
if (otmp->obroken)
+/*JP
verb = "fix";
+*/
+ verb = "\8fC\95\9c\82·\82é";
else if (!otmp->olocked)
+/*JP
verb = "lock", it = 1;
+*/
+ verb = "\8c®\82ð\82©\82¯\82é", it = 1;
else if (picktyp != LOCK_PICK)
+/*JP
verb = "unlock", it = 1;
+*/
+ verb = "\8c®\82ð\82Í\82¸\82·", it = 1;
else
+/*JP
verb = "pick";
+*/
+ verb = "\82±\82¶\82 \82¯\82é";
/* "There is <a box> here; <verb> <it|its lock>?" */
+/*JP
Sprintf(qsfx, " here; %s %s?", verb, it ? "it" : "its lock");
+*/
+ Sprintf(qsfx, "\82ª\82 \82é\81D%s\81H", verb);
+#if 0 /*JP*/
(void) safe_qbuf(qbuf, "There is ", qsfx, otmp, doname,
ansimpleoname, "a box");
+#else
+ (void) safe_qbuf(qbuf, "\82±\82±\82É\82Í", qsfx, otmp, doname,
+ ansimpleoname, "\94 ");
+#endif
otmp->lknown = 1;
c = ynq(qbuf);
continue;
if (otmp->obroken) {
+/*JP
You_cant("fix its broken lock with %s.", doname(pick));
+*/
+ You("\89ó\82ê\82½\8c®\82ð%s\82Å\8fC\95\9c\82Å\82«\82È\82¢\81D", doname(pick));
return PICKLOCK_LEARNED_SOMETHING;
} else if (picktyp == CREDIT_CARD && !otmp->olocked) {
/* credit cards are only good for unlocking */
+#if 0 /*JP*/
You_cant("do that with %s.",
an(simple_typename(picktyp)));
+#else
+ pline("%s\82¶\82á\82»\82ñ\82È\82±\82Æ\82Í\82Å\82«\82È\82¢\81D",
+ simple_typename(picktyp));
+#endif
return PICKLOCK_LEARNED_SOMETHING;
}
switch (picktyp) {
}
if (c != 'y') {
if (!count)
+/*JP
There("doesn't seem to be any sort of lock here.");
+*/
+ pline("\82±\82±\82É\82Í\8c®\82ð\82©\82¯\82é\82æ\82¤\82È\95¨\82Í\82È\82¢\82æ\82¤\82¾\81D");
return PICKLOCK_LEARNED_SOMETHING; /* decided against all boxes */
}
} else { /* pick the lock in a door */
struct monst *mtmp;
if (u.utrap && u.utraptype == TT_PIT) {
+/*JP
You_cant("reach over the edge of the pit.");
+*/
+ pline("\97\8e\82µ\8c\8a\82Ì\92\86\82©\82ç\82Å\82Í\93Í\82©\82È\82¢\81D");
return PICKLOCK_LEARNED_SOMETHING;
}
&& mtmp->m_ap_type != M_AP_OBJECT) {
if (picktyp == CREDIT_CARD
&& (mtmp->isshk || mtmp->data == &mons[PM_ORACLE]))
+/*JP
verbalize("No checks, no credit, no problem.");
+*/
+ verbalize("\82¢\82Â\82à\83j\83R\83j\83R\8c»\8bà\95¥\82¢\81D");
else
+#if 0 /*JP*/
pline("I don't think %s would appreciate that.",
mon_nam(mtmp));
+#else
+ pline("%s\82ª\82»\82Ì\89¿\92l\82ð\94F\82ß\82é\82Æ\82Í\8ev\82¦\82È\82¢\81D", mon_nam(mtmp));
+#endif
return PICKLOCK_LEARNED_SOMETHING;
} else if (mtmp && is_door_mappear(mtmp)) {
/* "The door actually was a <mimic>!" */
}
if (!IS_DOOR(door->typ)) {
if (is_drawbridge_wall(cc.x, cc.y) >= 0)
+/*JP
You("%s no lock on the drawbridge.", Blind ? "feel" : "see");
+*/
+ pline("\92µ\82Ë\8b´\82É\82Í\8c®\82ª\82È\82¢%s\81D", Blind ? "\82æ\82¤\82¾" : "\82æ\82¤\82É\8c©\82¦\82é");
else
+/*JP
You("%s no door there.", Blind ? "feel" : "see");
+*/
+ pline("\82±\82±\82É\82Í\94à\82ª\82È\82¢%s\81D", Blind ? "\82æ\82¤\82¾" : "\82æ\82¤\82É\8c©\82¦\82é");
return PICKLOCK_LEARNED_SOMETHING;
}
switch (door->doormask) {
case D_NODOOR:
+/*JP
pline("This doorway has no door.");
+*/
+ pline("\82±\82Ì\8fo\93ü\8cû\82É\82Í\94à\82ª\82È\82¢\81D");
return PICKLOCK_LEARNED_SOMETHING;
case D_ISOPEN:
+/*JP
You("cannot lock an open door.");
+*/
+ pline("\8aJ\82¢\82Ä\82é\94à\82É\82Í\8c®\82ð\82©\82¯\82ç\82ê\82È\82¢\81D");
return PICKLOCK_LEARNED_SOMETHING;
case D_BROKEN:
+/*JP
pline("This door is broken.");
+*/
+ pline("\82±\82Ì\94à\82Í\89ó\82ê\82Ä\82¢\82é\81D");
return PICKLOCK_LEARNED_SOMETHING;
default:
/* credit cards are only good for unlocking */
if (picktyp == CREDIT_CARD && !(door->doormask & D_LOCKED)) {
+/*JP
You_cant("lock a door with a credit card.");
+*/
+ You("\83N\83\8c\83W\83b\83g\83J\81[\83h\82Å\94à\82É\8c®\82ð\82©\82¯\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D");
return PICKLOCK_LEARNED_SOMETHING;
}
+#if 0 /*JP*/
Sprintf(qbuf, "%s it?",
(door->doormask & D_LOCKED) ? "Unlock" : "Lock");
+#else
+ Sprintf(qbuf, "%s\82Ü\82·\82©\81H",
+ (door->doormask & D_LOCKED) ? "\82Í\82¸\82µ" : "\82©\82¯" );
+#endif
c = yn(qbuf);
if (c == 'n')
|| objects[uwep->otyp].oc_skill == P_FLAIL
|| objects[uwep->otyp].oc_skill > P_LANCE)
: uwep->oclass != ROCK_CLASS)) {
+#if 0 /*JP*/
You_cant("force anything %s weapon.",
!uwep ? "when not wielding a"
: (uwep->oclass != WEAPON_CLASS && !is_weptool(uwep))
? "without a proper"
: "with that");
+#else
+ You_cant("%s\95\90\8aí\82È\82µ\82Å\8c®\82ð\82±\82¶\8aJ\82¯\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D",
+ !uwep ? "\91\95\94õ\82µ\82Ä\82¢\82é"
+ : (uwep->oclass != WEAPON_CLASS && !is_weptool(uwep))
+ ? "\93K\90Ø\82È"
+ : "");
+#endif
return 0;
}
if (!can_reach_floor(TRUE)) {
picktyp = is_blade(uwep) && !is_pick(uwep);
if (xlock.usedtime && xlock.box && picktyp == xlock.picktyp) {
+/*JP
You("resume your attempt to force the lock.");
+*/
+ pline("\8c®\82ð\82±\82¶\82 \82¯\82é\82Ì\82ð\8dÄ\8aJ\82µ\82½\81D");
+/*JP
set_occupation(forcelock, "forcing the lock", 0);
+*/
+ set_occupation(forcelock, "\8c®\82ð\82±\82¶\82 \82¯\82é", 0);
return 1;
}
for (otmp = level.objects[u.ux][u.uy]; otmp; otmp = otmp->nexthere)
if (Is_box(otmp)) {
if (otmp->obroken || !otmp->olocked) {
+#if 0 /*JP*/
There("is %s here, but its lock is already %s.", doname(otmp),
otmp->obroken ? "broken" : "unlocked");
+#else
+ pline("\82±\82±\82É\82Í%s\82ª\82 \82é\81C\82µ\82©\82µ\82»\82Ì\8c®\82Í\82à\82¤%s\81D", doname(otmp),
+ otmp->obroken ? "\89ó\82ê\82Ä\82¢\82é" : "\82Í\82¸\82³\82ê\82Ä\82¢\82é");
+#endif
otmp->lknown = 1;
continue;
}
+#if 0 /*JP*/
(void) safe_qbuf(qbuf, "There is ", " here; force its lock?",
otmp, doname, ansimpleoname, "a box");
+#else
+ (void) safe_qbuf(qbuf, "\82±\82±\82É\82Í", "\82ª\82 \82é\81C\8c®\82ð\82±\82¶\8aJ\82¯\82Ü\82·\82©\81H",
+ otmp, doname, ansimpleoname, "\94 ");
+#endif
otmp->lknown = 1;
c = ynq(qbuf);
continue;
if (picktyp)
+/*JP
You("force %s into a crack and pry.", yname(uwep));
+*/
+ You("%s\82ð\82·\82«\8aÔ\82É\8d·\82µ\82±\82ñ\82Å\82±\82¶\82 \82¯\82æ\82¤\82Æ\82µ\82½\81D",xname(uwep));
else
+/*JP
You("start bashing it with %s.", yname(uwep));
+*/
+ pline("%s\82Å\89£\82è\82Â\82¯\82½\81D", xname(uwep));
xlock.box = otmp;
xlock.chance = objects[uwep->otyp].oc_wldam * 2;
xlock.picktyp = picktyp;
}
if (xlock.box)
+/*JP
set_occupation(forcelock, "forcing the lock", 0);
+*/
+ set_occupation(forcelock, "\8c®\82ð\82±\82¶\82 \82¯\82é", 0);
else
+/*JP
You("decide not to force the issue.");
+*/
+ pline("\82»\82ê\82Í\96³\88Ó\96¡\82È\8ds\88×\82¾\81D");
return 1;
}
int res = 0;
if (nohands(youmonst.data)) {
+/*JP
You_cant("open anything -- you have no hands!");
+*/
+ You("\89½\82à\8aJ\82¯\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81I\8eè\82ª\82È\82¢\82ñ\82¾\82à\82Ì\81I");
return 0;
}
if (u.utrap && u.utraptype == TT_PIT) {
+/*JP
You_cant("reach over the edge of the pit.");
+*/
+ pline("\97\8e\82µ\8c\8a\82Ì\92\86\82©\82ç\93Í\82©\82È\82¢\81D");
return 0;
}
if (portcullis || !IS_DOOR(door->typ)) {
/* closed portcullis or spot that opened bridge would span */
if (is_db_wall(cc.x, cc.y) || door->typ == DRAWBRIDGE_UP)
+/*JP
There("is no obvious way to open the drawbridge.");
+*/
+ pline("\92µ\82Ë\8b´\82ð\8d~\82ë\82·\96¾\94\92\82È\95û\96@\82Í\82È\82¢\81D");
else if (portcullis || door->typ == DRAWBRIDGE_DOWN)
+/*JP
pline_The("drawbridge is already open.");
+*/
+ pline_The("\92µ\82Ë\8b´\82Í\82à\82¤\8aJ\82¢\82Ä\82¢\82é\81D");
else
+/*JP
You("%s no door there.", Blind ? "feel" : "see");
+*/
+ pline("\82»\82±\82É\82Í\94à\82Í\82È\82¢\82æ\82¤%s\81D", Blind ? "\82¾" : "\82É\8c©\82¦\82é");
return res;
}
switch (door->doormask) {
case D_BROKEN:
+/*JP
mesg = " is broken";
+*/
+ mesg = "\94à\82Í\89ó\82ê\82Ä\82¢\82é";
break;
case D_NODOOR:
+/*JP
mesg = "way has no door";
+*/
+ mesg = "\8fo\93ü\8cû\82É\82Í\94à\82ª\82È\82¢";
break;
case D_ISOPEN:
+/*JP
mesg = " is already open";
+*/
+ mesg = "\94à\82Í\82à\82¤\8aJ\82¢\82Ä\82¢\82é";
break;
default:
+/*JP
mesg = " is locked";
+*/
+ mesg = "\94à\82É\82Í\8c®\82ª\8a|\82©\82Á\82Ä\82¢\82é";
break;
}
+/*JP
pline("This door%s.", mesg);
+*/
+ pline("%s\81D", mesg);
return res;
}
if (verysmall(youmonst.data)) {
+/*JP
pline("You're too small to pull the door open.");
+*/
+ You("\94à\82ð\89\9f\82·\82É\82Í\8f¬\82³\82·\82¬\82é\81D");
return res;
}
/* door is known to be CLOSED */
if (rnl(20) < (ACURRSTR + ACURR(A_DEX) + ACURR(A_CON)) / 3) {
+/*JP
pline_The("door opens.");
+*/
+ pline("\94à\82Í\8aJ\82¢\82½\81D");
if (door->doormask & D_TRAPPED) {
+/*JP
b_trapped("door", FINGER);
+*/
+ b_trapped("\94à", FINGER);
door->doormask = D_NODOOR;
if (*in_rooms(cc.x, cc.y, SHOPBASE))
add_damage(cc.x, cc.y, 0L);
unblock_point(cc.x, cc.y); /* vision: new see through there */
} else {
exercise(A_STR, TRUE);
+/*JP
pline_The("door resists!");
+*/
+ pline("\82È\82©\82È\82©\8aJ\82©\82È\82¢\81I");
}
return 1;
if (!quietly) {
if ((mtmp->mx != x) || (mtmp->my != y)) {
/* worm tail */
+#if 0 /*JP*/
pline("%s%s blocks the way!",
!canspotmon(mtmp) ? Something : s_suffix(Monnam(mtmp)),
!canspotmon(mtmp) ? "" : " tail");
+#else
+ pline("%s%s\82ª\97§\82¿\82Ó\82³\82ª\82Á\82Ä\82¢\82é\81I",
+ !canspotmon(mtmp) ? "\89½\82©" : Monnam(mtmp),
+ !canspotmon(mtmp) ? "" : "\82Ì\90K\94ö");
+#endif
} else {
+#if 0 /*JP*/
pline("%s blocks the way!",
!canspotmon(mtmp) ? "Some creature" : Monnam(mtmp));
+#else
+ pline("%s\82ª\97§\82¿\82Ó\82³\82ª\82Á\82Ä\82¢\82é\81I",
+ !canspotmon(mtmp) ? "\89½\8eÒ\82©" : Monnam(mtmp));
+#endif
}
}
if (!canspotmon(mtmp))
if (OBJ_AT(x, y)) {
objhere:
if (!quietly)
+/*JP
pline("%s's in the way.", Something);
+*/
+ pline("\89½\82©\82ª\8fo\93ü\8cû\82É\82 \82é\81D");
return TRUE;
}
return FALSE;
int res = 0;
if (nohands(youmonst.data)) {
+/*JP
You_cant("close anything -- you have no hands!");
+*/
+ You("\95Â\82ß\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81I\8eè\82ª\82È\82¢\82ñ\82¾\82à\82Ì\81I");
return 0;
}
if (u.utrap && u.utraptype == TT_PIT) {
+/*JP
You_cant("reach over the edge of the pit.");
+*/
+ pline("\97\8e\82µ\8c\8a\82Ì\92\86\82©\82ç\93Í\82©\82È\82¢\81D");
return 0;
}
x = u.ux + u.dx;
y = u.uy + u.dy;
if ((x == u.ux) && (y == u.uy)) {
+/*JP
You("are in the way!");
+*/
+ pline("\82 \82È\82½\82ª\8fo\93ü\8cû\82É\82¢\82é\82Ì\82Å\95Â\82Ü\82ç\82È\82¢\81I");
return 1;
}
if (portcullis || !IS_DOOR(door->typ)) {
/* is_db_wall: closed portcullis */
if (is_db_wall(x, y) || door->typ == DRAWBRIDGE_UP)
+/*JP
pline_The("drawbridge is already closed.");
+*/
+ pline_The("\92µ\82Ë\8b´\82Í\82à\82¤\95Â\82¶\82Ä\82¢\82é\81D");
else if (portcullis || door->typ == DRAWBRIDGE_DOWN)
+/*JP
There("is no obvious way to close the drawbridge.");
+*/
+ pline("\92µ\82Ë\8b´\82ð\95Â\82ß\82é\96¾\94\92\82È\95û\96@\82Í\82È\82¢\81D");
else {
nodoor:
+/*JP
You("%s no door there.", Blind ? "feel" : "see");
+*/
+ pline("\82»\82±\82É\94à\82Í\82È\82¢\82æ\82¤%s\81D", Blind ? "\82¾" : "\82É\8c©\82¦\82é");
}
return res;
}
if (door->doormask == D_NODOOR) {
+/*JP
pline("This doorway has no door.");
+*/
+ pline("\8fo\93ü\8cû\82É\82Í\94à\82ª\82È\82¢\81D");
return res;
} else if (obstructed(x, y, FALSE)) {
return res;
} else if (door->doormask == D_BROKEN) {
+/*JP
pline("This door is broken.");
+*/
+ pline("\94à\82Í\89ó\82ê\82Ä\82¢\82é\81D");
return res;
} else if (door->doormask & (D_CLOSED | D_LOCKED)) {
+/*JP
pline("This door is already closed.");
+*/
+ pline("\94à\82Í\82à\82¤\95Â\82¶\82Ä\82¢\82é\81D");
return res;
}
if (door->doormask == D_ISOPEN) {
if (verysmall(youmonst.data) && !u.usteed) {
+/*JP
pline("You're too small to push the door closed.");
+*/
+ You("\8f¬\82³\82·\82¬\82Ä\94à\82ð\95Â\82ß\82ç\82ê\82È\82¢\81D");
return res;
}
if (u.usteed
|| rn2(25) < (ACURRSTR + ACURR(A_DEX) + ACURR(A_CON)) / 3) {
+/*JP
pline_The("door closes.");
+*/
+ pline("\94à\82Í\95Â\82¶\82½\81D");
door->doormask = D_CLOSED;
feel_newsym(x, y); /* the hero knows she closed it */
block_point(x, y); /* vision: no longer see there */
} else {
exercise(A_STR, TRUE);
+/*JP
pline_The("door resists!");
+*/
+ pline("\82È\82©\82È\82©\95Â\82Ü\82ç\82È\82¢\81I");
}
}
case WAN_LOCKING:
case SPE_WIZARD_LOCK:
if (!obj->olocked) { /* lock it; fix if broken */
+/*JP
pline("Klunk!");
+*/
+ pline("\83J\83`\81I");
obj->olocked = 1;
obj->obroken = 0;
if (Role_if(PM_WIZARD))
case WAN_OPENING:
case SPE_KNOCK:
if (obj->olocked) { /* unlock; couldn't be broken */
+/*JP
pline("Klick!");
+*/
+ pline("\83R\83\93\83R\83\93\81I");
obj->olocked = 0;
res = 1;
if (Role_if(PM_WIZARD))
boolean res = TRUE;
int loudness = 0;
const char *msg = (const char *) 0;
+/*JP
const char *dustcloud = "A cloud of dust";
+*/
+ const char *dustcloud = "\82Ù\82±\82è";
+/*JP
const char *quickly_dissipates = "quickly dissipates";
+*/
+ const char *quickly_dissipates = "\82 \82Á\82Æ\8c¾\82¤\82Ü\82É\94ò\82Ñ\8eU\82Á\82½";
boolean mysterywand = (otmp->oclass == WAND_CLASS && !otmp->dknown);
if (door->typ == SDOOR) {
door->doormask = D_CLOSED | (door->doormask & D_TRAPPED);
newsym(x, y);
if (cansee(x, y))
+/*JP
pline("A door appears in the wall!");
+*/
+ pline("\95Ç\82©\82ç\94à\82ª\8c»\82ê\82½\81I");
if (otmp->otyp == WAN_OPENING || otmp->otyp == SPE_KNOCK)
return TRUE;
break; /* striking: continue door handling below */
boolean vis = cansee(x, y);
/* Can't have real locking in Rogue, so just hide doorway */
if (vis)
+/*JP
pline("%s springs up in the older, more primitive doorway.",
+*/
+ pline("\8cÃ\82\82³\82¢\81C\8c´\8en\93I\82È\8fo\93ü\8cû\82É%s\82ª\97§\82¿\82±\82ß\82½\81D",
dustcloud);
else
+/*JP
You_hear("a swoosh.");
+*/
+ You_hear("\83V\83\85\81[\83b\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
if (obstructed(x, y, mysterywand)) {
if (vis)
+/*JP
pline_The("cloud %s.", quickly_dissipates);
+*/
+ pline("\82Ù\82±\82è\82Í%s\81D",quickly_dissipates);
return FALSE;
}
block_point(x, y);
door->typ = SDOOR;
if (vis)
+/*JP
pline_The("doorway vanishes!");
+*/
+ pline("\8fo\93ü\8cû\82Í\8fÁ\82¦\82½\81I");
newsym(x, y);
return TRUE;
}
/* & trap doors, but is it ever OK for anything else? */
if (t_at(x, y)) {
/* maketrap() clears doormask, so it should be NODOOR */
+#if 0 /*JP*/
pline("%s springs up in the doorway, but %s.", dustcloud,
quickly_dissipates);
+#else
+ pline("%s\82ª\8fo\93ü\8cû\82É\97§\82¿\82±\82ß\82½\81C\82µ\82©\82µ%s", dustcloud,
+ quickly_dissipates);
+#endif
return FALSE;
}
switch (door->doormask & ~D_TRAPPED) {
case D_CLOSED:
+/*JP
msg = "The door locks!";
+*/
+ msg = "\94à\82É\8c®\82ª\82©\82©\82Á\82½\81I";
break;
case D_ISOPEN:
+/*JP
msg = "The door swings shut, and locks!";
+*/
+ msg = "\94à\82Í\90¨\82¢\82æ\82\95Â\82Ü\82è\81C\8c®\82ª\82©\82©\82Á\82½\81I";
break;
case D_BROKEN:
+/*JP
msg = "The broken door reassembles and locks!";
+*/
+ msg = "\89ó\82ê\82½\94à\82ª\8dÄ\8d\\90¬\82³\82ê\81C\8c®\82ª\82©\82©\82Á\82½\81I";
break;
case D_NODOOR:
msg =
+/*JP
"A cloud of dust springs up and assembles itself into a door!";
+*/
+ "\82Ù\82±\82è\82ª\82½\82¿\82±\82ß\81C\8fW\82Ü\82Á\82Ä\94à\82É\82È\82Á\82½\81I";
break;
default:
res = FALSE;
case WAN_OPENING:
case SPE_KNOCK:
if (door->doormask & D_LOCKED) {
+/*JP
msg = "The door unlocks!";
+*/
+ msg = "\94à\82Ì\8c®\82Í\82Í\82¸\82ê\82½\81I";
door->doormask = D_CLOSED | (door->doormask & D_TRAPPED);
} else
res = FALSE;
(void) mb_trapped(m_at(x, y));
else if (flags.verbose) {
if (cansee(x, y))
+/*JP
pline("KABOOM!! You see a door explode.");
+*/
+ pline("\82¿\82ã\82Ç\81[\82ñ\81I\94à\82ª\94\9a\94\82µ\82½\81D");
else
+/*JP
You_hear("a distant explosion.");
+*/
+ You_hear("\89\93\82\82Ì\94\9a\94\89¹\82ð\95·\82¢\82½\81D");
}
door->doormask = D_NODOOR;
unblock_point(x, y);
door->doormask = D_BROKEN;
if (flags.verbose) {
if (cansee(x, y))
+/*JP
pline_The("door crashes open!");
+*/
+ pline("\94à\82Í\89ó\82ê\8aJ\82¢\82½\81I");
else
+/*JP
You_hear("a crashing sound.");
+*/
+ You_hear("\89½\82©\82ª\89ó\82ê\82é\89¹\82ð\95·\82¢\82½\81D");
}
unblock_point(x, y);
newsym(x, y);
long save_Blinded;
if (otmp->oclass == POTION_CLASS) {
+#if 0 /*JP*/
You("%s %s shatter!", Blind ? "hear" : "see", an(bottlename()));
+#else
+ if (Blind)
+ You_hear("%s\82ª\8a\84\82ê\82é\89¹\82ð\95·\82¢\82½\81I", bottlename());
+ else
+ pline("%s\82ª\8a\84\82ê\82½\81I", bottlename());
+#endif
if (!breathless(youmonst.data) || haseyes(youmonst.data))
potionbreathe(otmp);
return;
Blinded = save_Blinded;
switch (objects[otmp->otyp].oc_material) {
case PAPER:
+/*JP
disposition = "is torn to shreds";
+*/
+ disposition = "\82Í\90¡\92f\82³\82ê\82½";
break;
case WAX:
+/*JP
disposition = "is crushed";
+*/
+ disposition = "\82ð\8f°\82É\82Ô\82¿\82Ü\82¯\82½";
break;
case VEGGY:
+/*JP
disposition = "is pulped";
+*/
+ disposition = "\82Í\82Ç\82ë\82Ç\82ë\82É\82È\82Á\82½";
break;
case FLESH:
+/*JP
disposition = "is mashed";
+*/
+ disposition = "\82Í\82Ç\82ë\82Ç\82ë\82É\82È\82Á\82½";
break;
case GLASS:
+/*JP
disposition = "shatters";
+*/
+ disposition = "\82Í\8a\84\82ê\82½";
break;
case WOOD:
+/*JP
disposition = "splinters to fragments";
+*/
+ disposition = "\82Í\82©\82¯\82ç\82É\82È\82Á\82½";
break;
default:
+/*JP
disposition = "is destroyed";
+*/
+ disposition = "\82Í\89ó\82ê\82½";
break;
}
+/*JP
pline("%s %s!", An(thing), disposition);
+*/
+ pline("%s%s\81I", thing, disposition);
}
/*lock.c*/
/* 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"
#ifdef MAIL
}
/* Let the mail daemon have a larger vocabulary. */
+#if 0 /*JP*/
static NEARDATA const char *mail_text[] = { "Gangway!", "Look out!",
"Pardon me!" };
+#else
+static NEARDATA const char *mail_text[] = { "\82Ç\82¢\82½\82Ç\82¢\82½\81I", "\8bC\82ð\82Â\82¯\82ë\81I",
+ "\82¶\82á\82Ü\82·\82é\82æ\81I" };
+#endif
#define md_exclamations() (mail_text[rn2(3)])
/*
if ((mon = m_at(fx, fy)) != 0) /* save monster at this position */
verbalize1(md_exclamations());
else if (fx == u.ux && fy == u.uy)
+/*JP
verbalize("Excuse me.");
+*/
+ verbalize("\82¿\82å\82Á\82Æ\82µ\82Â\82ê\82¢\81D");
place_monster(md, fx, fy); /* put md down */
newsym(fx, fy); /* see it */
if ((mon = m_at(fx, fy)) != 0) {
place_monster(md, fx, fy); /* display md with text below */
newsym(fx, fy);
+/*JP
verbalize("This place's too crowded. I'm outta here.");
+*/
+ verbalize("\82±\82±\82Í\8d¬\82Ý\82·\82¬\81D\82±\82±\82Å\91Ò\82Á\82Ä\82é\82æ\81D");
if ((mon->mx != fx) || (mon->my != fy)) /* put mon back */
place_worm_seg(mon, fx, fy);
goto go_back;
message_seen = TRUE;
+#if 0 /*JP*/
verbalize("%s, %s! %s.", Hello(md), plname, info->display_txt);
+#else
+ verbalize("%s\81I%s\81D", Hello(md), info->display_txt);
+#endif
if (info->message_typ) {
struct obj *obj = mksobj(SCR_MAIL, FALSE, FALSE);
new_omailcmd(obj, info->response_cmd);
if (distu(md->mx, md->my) > 2)
+/*JP
verbalize("Catch!");
+*/
+ verbalize("\82Ù\82ç\82æ\81I");
display_nhwindow(WIN_MESSAGE, FALSE);
+#if 0 /*JP*/
obj = hold_another_object(obj, "Oops!", (const char *) 0,
(const char *) 0);
+#else
+ obj = hold_another_object(obj, "\82¨\82Á\82Æ\81I", (const char *) 0,
+ (const char *) 0);
+#endif
}
/* zip back to starting location */
/* deliver some classes of messages even if no daemon ever shows up */
give_up:
if (!message_seen && info->message_typ == MSG_OTHER)
+/*JP
pline("Hark! \"%s.\"", info->display_txt);
+*/
+ pline("\81u%s\81D\81v\82Æ\8c¾\82¤\82±\82Æ\82¾\81I", info->display_txt);
}
#if !defined(UNIX) && !defined(VMS)
}
if (--mustgetmail <= 0) {
static struct mail_info deliver = { MSG_MAIL,
+/*JP
"I have some mail for you", 0,
+*/
+ "\83\81\81[\83\8b\82ð\8e\9d\82Á\82Ä\82«\82½\82æ", 0,
0 };
newmail(&deliver);
mustgetmail = -1;
{
static char *junk[] = {
NULL, /* placeholder for "Report bugs to <devteam@nethack.org>.", */
+/*JP
"Please disregard previous letter.", "Welcome to NetHack.",
+*/
+ "\91O\82Ì\83\81\81[\83\8b\82Í\96Y\82ê\82Ä\82\82¾\82³\82¢\81D", "NetHack\82Ö\82æ\82¤\82±\82»\81I",
#ifdef AMIGA
"Only Amiga makes it possible.", "CATS have all the answers.",
#endif
#undef BUGS_FORMAT
}
if (Blind) {
+/*JP
pline("Unfortunately you cannot see what it says.");
+*/
+ pline("\8ec\94O\82È\82ª\82ç\89½\82Æ\8f\91\82¢\82Ä\82 \82é\82Ì\82©\8c©\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D");
} else
+/*JP
pline("It reads: \"%s\"", junk[rn2(SIZE(junk))]);
+*/
+ pline("\82»\82ê\82ð\93Ç\82ñ\82¾\81F\"%s\"", junk[rn2(SIZE(junk))]);
}
#endif /* !UNIX && !VMS */
if (nmstat.st_size) {
static struct mail_info deliver = {
#ifndef NO_MAILREADER
+/*JP
MSG_MAIL, "I have some mail for you",
+*/
+ MSG_MAIL, "\83\81\83C\83\8b\82ð\8e\9d\82Á\82Ä\82«\82½\82æ",
#else
/* suppress creation and delivery of scroll of mail */
+/*JP
MSG_OTHER, "You have some mail in the outside world",
+*/
+ MSG_OTHER, "\8aO\82Ì\90¢\8aE\82©\82ç\82Ì\83\81\81[\83\8b\82¾",
#endif
0, 0
};
ptr = &mons[newtype];
if (mvitals[newtype].mvflags & G_GENOD) { /* allow G_EXTINCT */
if (canspotmon(mtmp))
+#if 0 /*JP*/
pline("As %s grows up into %s, %s %s!", mon_nam(mtmp),
an(ptr->mname), mhe(mtmp),
nonliving(ptr) ? "expires" : "dies");
+#else
+ pline("%s\82ª\90¬\92·\82µ\82Ä%s\82É\82È\82é\82Æ%s\82µ\82Ü\82Á\82½\81I", mon_nam(mtmp),
+ ptr->mname,
+ nonliving(ptr) ? "\8fÁ\82¦\82Ä" : "\8e\80\82ñ\82Å");
+#endif
set_mon_data(mtmp, ptr, -1); /* keep mvitals[] accurate */
mondied(mtmp);
return (struct permonst *) 0;
} else if (canspotmon(mtmp)) {
+#if 0 /*JP*/
pline("%s %s %s.", Monnam(mtmp),
humanoid(ptr) ? "becomes" : "grows up into",
an(ptr->mname));
+#else
+ pline("%s\82Í%s\82É%s\81D", Monnam(mtmp),
+ ptr->mname,
+ humanoid(ptr) ? "\82È\82Á\82½" : "\90¬\92·\82µ\82½");
+#endif
}
set_mon_data(mtmp, ptr, 1); /* preserve intrinsics */
newsym(mtmp->mx, mtmp->my); /* color may change */
/* 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"
/* monster mage spells */
const char *point_msg; /* spellcasting monsters are impolite */
if (undirected)
+/*JP
point_msg = "all around, then curses";
+*/
+ point_msg = "\82 \82½\82è\88ê\96Ê\82ð";
else if ((Invis && !perceives(mtmp->data)
&& (mtmp->mux != u.ux || mtmp->muy != u.uy))
|| is_obj_mappear(&youmonst, STRANGE_OBJECT)
|| u.uundetected)
+/*JP
point_msg = "and curses in your general direction";
+*/
+ point_msg = "\82 \82È\82½\82Ì\82¢\82é\82 \82½\82è\82ð";
else if (Displaced && (mtmp->mux != u.ux || mtmp->muy != u.uy))
+/*JP
point_msg = "and curses at your displaced image";
+*/
+ point_msg = "\82 \82È\82½\82Ì\8c¶\89e\82ð";
else
+/*JP
point_msg = "at you, then curses";
+*/
+ point_msg = "\82 \82È\82½\82ð";
+/*JP
pline("%s points %s.", Monnam(mtmp), point_msg);
+*/
+ pline("%s\82Í%s\8ew\8d·\82µ\81C\8eô\82¢\82ð\82©\82¯\82½\81D", Monnam(mtmp), point_msg);
} else if ((!(moves % 4) || !rn2(4))) {
if (!Deaf)
+/*JP
Norep("You hear a mumbled curse.");
+*/
+ Norep("\8eô\82¢\82Ì\8c¾\97t\82ð\82Â\82Ô\82â\82\90º\82ð\95·\82¢\82½\81D");
}
}
penalizing mspec_used. */
if (!foundyou && thinks_it_foundyou
&& !is_undirected_spell(mattk->adtyp, spellnum)) {
+#if 0 /*JP*/
pline("%s casts a spell at %s!",
canseemon(mtmp) ? Monnam(mtmp) : "Something",
levl[mtmp->mux][mtmp->muy].typ == WATER ? "empty water"
: "thin air");
+#else
+ pline("%s\82Í\89½\82à\82È\82¢%s\82É\96\82\96@\82ð\82©\82¯\82½\81I",
+ canseemon(mtmp) ? Monnam(mtmp) : "\89½\8eÒ\82©",
+ levl[mtmp->mux][mtmp->muy].typ == WATER ? "\90\85\92\86"
+ : "\8bó\8aÔ");
+#endif
return (0);
}
nomul(0);
if (rn2(ml * 10) < (mtmp->mconf ? 100 : 20)) { /* fumbled attack */
if (canseemon(mtmp) && !Deaf)
+/*JP
pline_The("air crackles around %s.", mon_nam(mtmp));
+*/
+ pline("%s\82Ì\89ñ\82è\82Ì\8bó\8bC\82ª\83p\83`\83p\83`\89¹\82ð\82½\82Ä\82Ä\82¢\82é\81D", mon_nam(mtmp));
return (0);
}
if (canspotmon(mtmp) || !is_undirected_spell(mattk->adtyp, spellnum)) {
+#if 0 /*JP*/
pline("%s casts a spell%s!",
canspotmon(mtmp) ? Monnam(mtmp) : "Something",
is_undirected_spell(mattk->adtyp, spellnum)
&& (mtmp->mux != u.ux || mtmp->muy != u.uy))
? " at your displaced image"
: " at you");
+#else
+ char *who = (canspotmon(mtmp) ? Monnam(mtmp) : "\89½\8eÒ\82©");
+ if(is_undirected_spell(mattk->adtyp, spellnum)){
+ pline("%s\82Í\8eô\95¶\82ð\8f¥\82¦\82½\81I", who);
+ } else {
+ pline("%s\82Í\82 \82È\82½%s\82É\96\82\96@\82ð\82©\82¯\82½\81I",
+ who,
+ (Invisible && !perceives(mtmp->data) &&
+ (mtmp->mux != u.ux || mtmp->muy != u.uy)) ?
+ "\82Ì\82·\82®\82»\82Î" :
+ (Displaced && (mtmp->mux != u.ux || mtmp->muy != u.uy)) ?
+ "\82Ì\8c¶\89e" :
+ "");
+ }
+#endif
}
/*
switch (mattk->adtyp) {
case AD_FIRE:
+/*JP
pline("You're enveloped in flames.");
+*/
+ You("\89\8a\82É\82Â\82Â\82Ü\82ê\82½\81D");
if (Fire_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
pline("But you resist the effects.");
+*/
+ pline("\82µ\82©\82µ\81C\82 \82È\82½\82Í\89e\8b¿\82ð\8eó\82¯\82È\82¢\81D");
dmg = 0;
}
burn_away_slime();
break;
case AD_COLD:
+/*JP
pline("You're covered in frost.");
+*/
+ You("\95X\82É\95¢\82í\82ê\82½\81D");
if (Cold_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
pline("But you resist the effects.");
+*/
+ pline("\82µ\82©\82µ\81C\82 \82È\82½\82Í\89e\8b¿\82ð\8eó\82¯\82È\82¢\81D");
dmg = 0;
}
break;
case AD_MAGM:
+/*JP
You("are hit by a shower of missiles!");
+*/
+ You("\96\82\96@\82Ì\96î\82ð\82\82ç\82Á\82½\81I");
if (Antimagic) {
shieldeff(u.ux, u.uy);
+/*JP
pline_The("missiles bounce off!");
+*/
+ pline("\96\82\96@\82Ì\96î\82Í\94½\8eË\82µ\82½\81I");
dmg = 0;
} else
dmg = d((int) mtmp->m_lev / 2 + 1, 6);
switch (spellnum) {
case MGC_DEATH_TOUCH:
+/*JP
pline("Oh no, %s's using the touch of death!", mhe(mtmp));
+*/
+ pline("\82È\82ñ\82Ä\82±\82Á\82½\82¢\81C%s\82Í\8e\80\82Ì\90é\8d\90\82ð\8eg\82Á\82Ä\82¢\82é\81I", mhe(mtmp));
if (nonliving(youmonst.data) || is_demon(youmonst.data)) {
+/*JP
You("seem no deader than before.");
+*/
+ You("\82±\82ê\88È\8fã\8e\80\82Ë\82È\82¢\82æ\82¤\82¾\81D");
} else if (!Antimagic && rn2(mtmp->m_lev) > 12) {
if (Hallucination) {
+/*JP
You("have an out of body experience.");
+*/
+ You("\97H\91Ì\97£\92E\82ð\91Ì\8c±\82µ\82½\81D");
} else {
killer.format = KILLED_BY_AN;
+/*JP
Strcpy(killer.name, "touch of death");
+*/
+ Strcpy(killer.name, "\8e\80\82Ì\90é\8d\90\82Å");
done(DIED);
}
} else {
if (Antimagic)
shieldeff(u.ux, u.uy);
+/*JP
pline("Lucky for you, it didn't work!");
+*/
+ pline("\89^\82Ì\82æ\82¢\82±\82Æ\82É\82È\82ñ\82Æ\82à\82È\82©\82Á\82½\81I");
}
dmg = 0;
break;
case MGC_CLONE_WIZ:
if (mtmp->iswiz && context.no_of_wizards == 1) {
+/*JP
pline("Double Trouble...");
+*/
+ pline("\93ñ\8fd\8bê\82¾\81D\81D\81D");
clonewiz();
dmg = 0;
} else
count = nasty(mtmp); /* summon something nasty */
if (mtmp->iswiz)
+/*JP
verbalize("Destroy the thief, my pet%s!", plur(count));
+*/
+ verbalize("\93\90\91¯\82ð\8eE\82¹\81I\89ä\82ª\89º\96l\82æ\81I");
else {
+#if 0 /*JP*/
const char *mappear =
(count == 1) ? "A monster appears" : "Monsters appear";
+#endif
/* messages not quite right if plural monsters created but
only a single monster is seen */
if (Invisible && !perceives(mtmp->data)
&& (mtmp->mux != u.ux || mtmp->muy != u.uy))
+#if 0 /*JP*/
pline("%s around a spot near you!", mappear);
+#else
+ pline("\89ö\95¨\82ª\82 \82È\82½\82Ì\82·\82®\82»\82Î\82É\8c»\82ê\82½\81I");
+#endif
else if (Displaced && (mtmp->mux != u.ux || mtmp->muy != u.uy))
+#if 0 /*JP*/
pline("%s around your displaced image!", mappear);
+#else
+ pline("\89ö\95¨\82ª\82 \82È\82½\82Ì\8c¶\89e\82Ì\82·\82®\82»\82Î\82É\8c»\82ê\82½\81I");
+#endif
else
+#if 0 /*JP*/
pline("%s from nowhere!", mappear);
+#else
+ pline("\89ö\95¨\82ª\82Ç\82±\82©\82ç\82Æ\82à\82È\82\8c»\82ê\82½\81I");
+#endif
}
dmg = 0;
break;
}
case MGC_AGGRAVATION:
+/*JP
You_feel("that monsters are aware of your presence.");
+*/
+ You_feel("\89ö\95¨\82½\82¿\82ª\82 \82È\82½\82Ì\91¶\8dÝ\82É\8bC\95t\82¢\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
aggravate();
dmg = 0;
break;
case MGC_CURSE_ITEMS:
+/*JP
You_feel("as if you need some help.");
+*/
+ You_feel("\8f\95\82¯\82ª\95K\97v\82È\8bC\82ª\82µ\82½\81D");
rndcurse();
dmg = 0;
break;
case MGC_DESTRY_ARMR:
if (Antimagic) {
shieldeff(u.ux, u.uy);
+/*JP
pline("A field of force surrounds you!");
+*/
+ pline("\95s\8ev\8bc\82È\97Í\82ª\82 \82È\82½\82ð\82Æ\82è\82Ü\82¢\82½\81I");
} else if (!destroy_arm(some_armor(&youmonst))) {
+/*JP
Your("skin itches.");
+*/
+ You("\83\80\83Y\83\80\83Y\82µ\82½\81D");
}
dmg = 0;
break;
case MGC_WEAKEN_YOU: /* drain strength */
if (Antimagic) {
shieldeff(u.ux, u.uy);
+/*JP
You_feel("momentarily weakened.");
+*/
+ You_feel("\88ê\8fu\8eã\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
} else {
+/*JP
You("suddenly feel weaker!");
+*/
+ You("\93Ë\91R\8eã\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
dmg = mtmp->m_lev - 6;
if (Half_spell_damage)
dmg = (dmg + 1) / 2;
case MGC_DISAPPEAR: /* makes self invisible */
if (!mtmp->minvis && !mtmp->invis_blkd) {
if (canseemon(mtmp))
+#if 0 /*JP*/
pline("%s suddenly %s!", Monnam(mtmp),
!See_invisible ? "disappears" : "becomes transparent");
+#else
+ pline("%s\82Í\93Ë\91R%s\81I", Monnam(mtmp),
+ !See_invisible ? "\8fÁ\82¦\82½" : "\93§\96¾\82É\82È\82Á\82½");
+#endif
mon_set_minvis(mtmp);
dmg = 0;
} else
if (Antimagic || Free_action) {
shieldeff(u.ux, u.uy);
if (!Stunned)
+/*JP
You_feel("momentarily disoriented.");
+*/
+ You("\88ê\8fu\95û\8cü\8a´\8ao\82ð\8e¸\82Á\82½\81D");
make_stunned(1L, FALSE);
} else {
+/*JP
You(Stunned ? "struggle to keep your balance." : "reel...");
+*/
+ You(Stunned ? "\83o\83\89\83\93\83X\82ð\8eæ\82ë\82¤\82Æ\82à\82ª\82¢\82½\81D" : "\82æ\82ë\82ß\82¢\82½\81D\81D\81D");
dmg = d(ACURR(A_DEX) < 12 ? 6 : 4, 4);
if (Half_spell_damage)
dmg = (dmg + 1) / 2;
case MGC_CURE_SELF:
if (mtmp->mhp < mtmp->mhpmax) {
if (canseemon(mtmp))
+/*JP
pline("%s looks better.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8bC\95ª\82ª\82æ\82\82È\82Á\82½\82æ\82¤\82¾\81D", Monnam(mtmp));
/* note: player healing does 6d4; this used to do 1d8 */
if ((mtmp->mhp += d(3, 6)) > mtmp->mhpmax)
mtmp->mhp = mtmp->mhpmax;
dmg = (dmg + 1) / 2;
}
if (dmg <= 5)
+/*JP
You("get a slight %sache.", body_part(HEAD));
+*/
+ You("\82¿\82å\82Á\82Æ%s\92É\82ª\82µ\82½\81D",body_part(HEAD));
else if (dmg <= 10)
+/*JP
Your("brain is on fire!");
+*/
+ You("\93{\82è\82É\82Â\82Â\82Ü\82ê\82½\81I");
else if (dmg <= 20)
+/*JP
Your("%s suddenly aches painfully!", body_part(HEAD));
+*/
+ You("\93Ë\91R%s\92É\82É\82¨\82»\82í\82ê\82½\81I", body_part(HEAD));
else
+/*JP
Your("%s suddenly aches very painfully!", body_part(HEAD));
+*/
+ You("\93Ë\91R\8c\83\82µ\82¢%s\92É\82É\82¨\82»\82í\82ê\82½\81I", body_part(HEAD));
break;
default:
impossible("mcastu: invalid magic spell (%d)", spellnum);
/* this is physical damage (force not heat),
* not magical damage or fire damage
*/
+/*JP
pline("A sudden geyser slams into you from nowhere!");
+*/
+ pline("\91÷\97¬\82ª\82Ç\82±\82©\82ç\82Æ\82à\82È\82\8c»\82ê\82Ä\82 \82È\82½\82ð\91Å\82¿\82Â\82¯\82½\81I");
dmg = d(8, 6);
if (Half_physical_damage)
dmg = (dmg + 1) / 2;
break;
case CLC_FIRE_PILLAR:
+/*JP
pline("A pillar of fire strikes all around you!");
+*/
+ pline("\82 \82È\82½\82Ì\8eü\82è\82É\89Î\92\8c\82ª\97§\82Á\82½\81I");
if (Fire_resistance) {
shieldeff(u.ux, u.uy);
dmg = 0;
case CLC_LIGHTNING: {
boolean reflects;
+/*JP
pline("A bolt of lightning strikes down at you from above!");
+*/
+ pline("\82 \82È\82½\82Ì\90^\8fã\82©\82ç\88î\8dÈ\82ª\8d~\82è\92\8d\82¢\82¾\81I");
+/*JP
reflects = ureflects("It bounces off your %s%s.", "");
+*/
+ reflects = ureflects("\82»\82ê\82Í\82 \82È\82½\82Ì%s%s\82Å\92µ\82Ë\95Ô\82Á\82½\81D", "");
if (reflects || Shock_resistance) {
shieldeff(u.ux, u.uy);
dmg = 0;
break;
}
case CLC_CURSE_ITEMS:
+/*JP
You_feel("as if you need some help.");
+*/
+ You_feel("\8f\95\82¯\82ª\95K\97v\82È\8bC\82ª\82µ\82½\81D");
rndcurse();
dmg = 0;
break;
words, no need to fuss with visibility or singularization;
player is told what's happening even if hero is unconscious) */
} else if (!success)
+/*JP
fmt = "%s casts at a clump of sticks, but nothing happens.";
+*/
+ fmt = "%s\82Í\96_\90Ø\82ê\82É\96\82\96@\82ð\82©\82¯\82½\82ª\81C\82È\82É\82à\82¨\82±\82ç\82È\82©\82Á\82½\81D";
else if (let == S_SNAKE)
+/*JP
fmt = "%s transforms a clump of sticks into snakes!";
+*/
+ fmt = "%s\82Í\96_\90Ø\82ê\82ð\83w\83r\82É\95Ï\82¦\82½\81I";
else if (Invisible && !perceives(mtmp->data)
&& (mtmp->mux != u.ux || mtmp->muy != u.uy))
+/*JP
fmt = "%s summons insects around a spot near you!";
+*/
+ fmt = "%s\82Í\92\8e\82ð\82 \82È\82½\82Ì\82·\82®\82»\82Î\82É\8f¢\8a«\82µ\82½\81I";
else if (Displaced && (mtmp->mux != u.ux || mtmp->muy != u.uy))
+/*JP
fmt = "%s summons insects around your displaced image!";
+*/
+ fmt = "%s\82Í\92\8e\82ð\82 \82È\82½\82Ì\8c¶\89e\82Ì\8eü\82è\82É\8f¢\8a«\82µ\82½\81I";
else
+/*JP
fmt = "%s summons insects!";
+*/
+ fmt = "%s\82Í\92\8e\82ð\8f¢\8a«\82µ\82½\81I";
if (fmt)
pline(fmt, Monnam(mtmp));
/* note: resists_blnd() doesn't apply here */
if (!Blinded) {
int num_eyes = eyecount(youmonst.data);
+#if 0 /*JP*/
pline("Scales cover your %s!", (num_eyes == 1)
? body_part(EYE)
: makeplural(body_part(EYE)));
+#else
+ pline("\97Ø\82ª\82 \82È\82½\82Ì%s\82ð\95¢\82Á\82½\81I", body_part(EYE));
+#endif
make_blinded(Half_spell_damage ? 100L : 200L, FALSE);
if (!Blind)
Your1(vision_clears);
if (Antimagic || Free_action) {
shieldeff(u.ux, u.uy);
if (multi >= 0)
+/*JP
You("stiffen briefly.");
+*/
+ You("\88ê\8fu\8dd\92¼\82µ\82½\81D");
nomul(-1);
multi_reason = "paralyzed by a monster";
} else {
if (multi >= 0)
+/*JP
You("are frozen in place!");
+*/
+ You("\82»\82Ì\8fê\82Å\93®\82¯\82È\82\82È\82Á\82½\81I");
dmg = 4 + (int) mtmp->m_lev;
if (Half_spell_damage)
dmg = (dmg + 1) / 2;
case CLC_CONFUSE_YOU:
if (Antimagic) {
shieldeff(u.ux, u.uy);
+/*JP
You_feel("momentarily dizzy.");
+*/
+ You("\88ê\8fu\82ß\82Ü\82¢\82ª\82µ\82½\81D");
} else {
boolean oldprop = !!Confusion;
dmg = (dmg + 1) / 2;
make_confused(HConfusion + dmg, TRUE);
if (Hallucination)
+#if 0 /*JP*/
You_feel("%s!", oldprop ? "trippier" : "trippy");
+#else
+ You("%s\82Ö\82ë\82Ö\82ë\82É\82È\82Á\82½\81I", oldprop ? "\82à\82Á\82Æ" : "");
+#endif
else
+#if 0 /*JP*/
You_feel("%sconfused!", oldprop ? "more " : "");
+#else
+ You("%s\8d¬\97\90\82µ\82½\81I", oldprop ? "\82à\82Á\82Æ" : "");
+#endif
}
dmg = 0;
break;
case CLC_CURE_SELF:
if (mtmp->mhp < mtmp->mhpmax) {
if (canseemon(mtmp))
+#if 0 /*JP*/
pline("%s looks better.", Monnam(mtmp));
+#else
+ pline("%s\82Í\8bC\95ª\82ª\82æ\82\82È\82Á\82½\82æ\82¤\82¾\81D", Monnam(mtmp));
+#endif
/* note: player healing does 6d4; this used to do 1d8 */
if ((mtmp->mhp += d(3, 6)) > mtmp->mhpmax)
mtmp->mhp = mtmp->mhpmax;
dmg = (dmg + 1) / 2;
}
if (dmg <= 5)
+/*JP
Your("skin itches badly for a moment.");
+*/
+ Your("\94ç\95\86\82Í\88ê\8fu\81C\83\80\83Y\83\80\83Y\82Á\82Æ\82µ\82½\81D");
else if (dmg <= 10)
+/*JP
pline("Wounds appear on your body!");
+*/
+ pline("\8f\9d\82ª\82 \82È\82½\82Ì\91Ì\82É\8fo\97\88\82½\81I");
else if (dmg <= 20)
+/*JP
pline("Severe wounds appear on your body!");
+*/
+ pline("\82Ð\82Ç\82¢\8f\9d\82ª\82 \82È\82½\82Ì\91Ì\82É\8fo\97\88\82½\81I");
else
+/*JP
Your("body is covered with painful wounds!");
+*/
+ pline("\91Ì\82ª\8f\9d\82¾\82ç\82¯\82É\82È\82Á\82½\81I");
break;
default:
impossible("mcastu: invalid clerical spell (%d)", spellnum);
nomul(0);
if (mattk->adtyp && (mattk->adtyp < 11)) { /* no cf unsigned >0 */
if (canseemon(mtmp))
+#if 0 /*JP*/
pline("%s zaps you with a %s!", Monnam(mtmp),
flash_types[ad_to_typ(mattk->adtyp)]);
+#else
+ pline("%s\82Í%s\82ð\82 \82È\82½\82É\8cü\82¯\82Ä\95ú\82Á\82½\81D", Monnam(mtmp),
+ flash_types[ad_to_typ(mattk->adtyp)]);
+#endif
buzz(-ad_to_typ(mattk->adtyp), (int) mattk->damn, mtmp->mx,
mtmp->my, sgn(tbx), sgn(tby));
} else
/* 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"
#include "artifact.h"
static NEARDATA struct obj *otmp;
static const char brief_feeling[] =
+/*JP
"have a %s feeling for a moment, then it passes.";
+*/
+ "%s\8bC\8e\9d\82É\82¨\82»\82í\82ê\82½\82ª\81C\82·\82®\82É\89ß\82¬\82³\82Á\82½\81D";
STATIC_DCL char *FDECL(mon_nam_too, (char *, struct monst *, struct monst *));
STATIC_DCL int FDECL(hitmm, (struct monst *, struct monst *,
{
Strcpy(outbuf, mon_nam(mon));
if (mon == other_mon)
+#if 0 /*JP*/
switch (pronoun_gender(mon)) {
case 0:
Strcpy(outbuf, "himself");
Strcpy(outbuf, "itself");
break;
}
+#else
+ Strcpy(outbuf, "\8e©\95ª\8e©\90g");
+#endif
return outbuf;
}
if (!Deaf && (farq != far_noise || moves - noisetime > 10)) {
far_noise = farq;
noisetime = moves;
+#if 0 /*JP*/
You_hear("%s%s.",
(mattk->aatyp == AT_EXPL) ? "an explosion" : "some noises",
farq ? " in the distance" : "");
+#else
+ You_hear("%s%s\82ð\95·\82¢\82½\81D",
+ farq ? "\89\93\82\82Å" : "",
+ (mattk->aatyp == AT_EXPL) ? "\94\9a\94\89¹" : "\89½\82©\82ª\90í\82¤\89¹"
+ );
+#endif
}
}
seemimic(mdef);
if (magr->m_ap_type)
seemimic(magr);
+#if 0 /*JP*/
fmt = (could_seduce(magr, mdef, mattk) && !magr->mcan)
? "%s pretends to be friendly to"
: "%s misses";
+#else
+ fmt = (could_seduce(magr,mdef,mattk) && !magr->mcan)
+ ? "%s\82Í%%s\82É\97F\8dD\93I\82È\82Ó\82è\82ð\82µ\82½\81D"
+ : "%s\82Ì%%s\82Ö\82Ì\8dU\8c\82\82Í\8aO\82ê\82½\81D";
+#endif
Sprintf(buf, fmt, Monnam(magr));
+#if 0 /*JP*/
pline("%s %s.", buf, mon_nam_too(mdef_name, mdef, magr));
+#else
+ pline(buf, mon_nam_too(mdef_name, mdef, magr));
+#endif
} else
noises(magr, mattk);
}
if (monnear(mtmp, mon->mx, mon->my)) {
if (!u.uswallow && (mtmp == u.ustuck)) {
if (!rn2(4)) {
+/*JP
pline("%s releases you!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82ð\89ð\95ú\82µ\82½\81I", Monnam(mtmp));
u.ustuck = 0;
} else
break;
newsym(mdef->mx, mdef->my);
if (canseemon(mdef) && !sensemon(mdef)) {
if (Unaware)
+#if 0 /*JP*/
You("dream of %s.", (mdef->data->geno & G_UNIQ)
? a_monnam(mdef)
: makeplural(m_monnam(mdef)));
+#else
+ You("%s\82Ì\96²\82ð\8c©\82½\81D", a_monnam(mdef));
+#endif
else
+/*JP
pline("Suddenly, you notice %s.", a_monnam(mdef));
+*/
+ pline("\93Ë\91R\81C\82 \82È\82½\82Í%s\82É\8bC\82ª\82Â\82¢\82½\81D", a_monnam(mdef));
}
}
char buf[BUFSZ];
Strcpy(buf, Monnam(mdef));
+#if 0 /*JP*/
pline("%s divides as %s hits it!", buf,
mon_nam(magr));
+#else
+ pline("%s\82Ì\8dU\8c\82\82Å%s\82ª\95ª\97ô\82µ\82½\81I",
+ mon_nam(magr), buf);
+#endif
}
}
}
if (magr->m_ap_type)
seemimic(magr);
if ((compat = could_seduce(magr, mdef, mattk)) && !magr->mcan) {
+#if 0 /*JP*/
Sprintf(buf, "%s %s", Monnam(magr),
mdef->mcansee ? "smiles at" : "talks to");
pline("%s %s %s.", buf, mon_nam(mdef),
compat == 2 ? "engagingly" : "seductively");
+#else
+ Sprintf(buf, "%s\82Í%%s\82É%%s%s\81D", Monnam(magr),
+ mdef->mcansee ? "\94÷\8fÎ\82Ý\82©\82¯\82½" : "\98b\82µ\82©\82¯\82½");
+ pline(buf, mon_nam(mdef),
+ compat == 2 ? "\96£\97Í\93I\82É" : "\97U\98f\93I\82É");
+#endif
} else {
char magr_name[BUFSZ];
Strcpy(magr_name, Monnam(magr));
switch (mattk->aatyp) {
case AT_BITE:
+/*JP
Sprintf(buf, "%s bites", magr_name);
+*/
+ Sprintf(buf,"%s\82Í%%s\82É\8a\9a\82Ý\82Â\82¢\82½\81D", magr_name);
break;
case AT_STNG:
+/*JP
Sprintf(buf, "%s stings", magr_name);
+*/
+ Sprintf(buf,"%s\82Í%%s\82ð\93Ë\82«\82³\82µ\82½\81D", magr_name);
break;
case AT_BUTT:
+/*JP
Sprintf(buf, "%s butts", magr_name);
+*/
+ Sprintf(buf,"%s\82Í%%s\82É\93ª\93Ë\82«\82ð\82\82ç\82í\82µ\82½\81D", magr_name);
break;
case AT_TUCH:
+/*JP
Sprintf(buf, "%s touches", magr_name);
+*/
+ Sprintf(buf,"%s\82Í%%s\82É\90G\82ê\82½\81D", magr_name);
break;
case AT_TENT:
+/*JP
Sprintf(buf, "%s tentacles suck", s_suffix(magr_name));
+*/
+ Sprintf(buf, "%s\82Ì\90G\8eè\82ª%%s\82Ì\91Ì\89t\82ð\8bz\82¢\82Æ\82Á\82½\81D", s_suffix(magr_name));
break;
case AT_HUGS:
if (magr != u.ustuck) {
+/*JP
Sprintf(buf, "%s squeezes", magr_name);
+*/
+ Sprintf(buf,"%s\82Í%%s\82ð\8di\82ß\82½\81D", magr_name);
break;
}
default:
+/*JP
Sprintf(buf, "%s hits", magr_name);
+*/
+ Sprintf(buf,"%s\82Ì%%s\82Ö\82Ì\8dU\8c\82\82Í\96½\92\86\82µ\82½\81D", magr_name);
}
+#if 0 /*JP*/
pline("%s %s.", buf, mon_nam_too(mdef_name, mdef, magr));
+#else
+ pline(buf, mon_nam_too(mdef_name, mdef, magr));
+#endif
}
} else
noises(magr, mattk);
char buf[BUFSZ];
if (vis) {
+#if 0 /*JP*/
Sprintf(buf, "%s gazes at", Monnam(magr));
pline("%s %s...", buf, mon_nam(mdef));
+#else
+ Sprintf(buf,"%s\82Í%%s\82ð\82É\82ç\82Ý\82Â\82¯\82½\81D\81D\81D", Monnam(magr));
+ pline(buf, mon_nam(mdef));
+#endif
}
if (magr->mcan || !magr->mcansee
|| (magr->minvis && !perceives(mdef->data)) || !mdef->mcansee
|| mdef->msleeping) {
if (vis)
+/*JP
pline("but nothing happens.");
+*/
+ pline("\82µ\82©\82µ\89½\82à\82¨\82±\82ç\82È\82©\82Á\82½\81D");
return MM_MISS;
}
/* call mon_reflects 2x, first test, then, if visible, print message */
if (magr->data == &mons[PM_MEDUSA] && mon_reflects(mdef, (char *) 0)) {
if (canseemon(mdef))
+/*JP
(void) mon_reflects(mdef, "The gaze is reflected away by %s %s.");
+*/
+ (void) mon_reflects(mdef, "\82É\82ç\82Ý\82Í%s\82Ì%s\82Å\94½\8eË\82µ\82½\81D");
if (mdef->mcansee) {
if (mon_reflects(magr, (char *) 0)) {
if (canseemon(magr))
(void) mon_reflects(
+/*JP
magr, "The gaze is reflected away by %s %s.");
+*/
+ magr, "\82É\82ç\82Ý\82Í%s\82Ì%s\82Å\94½\8eË\82µ\82½\81D");
return MM_MISS;
}
if (mdef->minvis && !perceives(magr->data)) {
if (canseemon(magr)) {
+#if 0 /*JP*/
pline(
"%s doesn't seem to notice that %s gaze was reflected.",
Monnam(magr), mhis(magr));
+#else
+ pline("\82É\82ç\82Ý\82ª\94½\8eË\82µ\82Ä\82¢\82é\82±\82Æ\82É%s\82Í\8bC\95t\82¢\82Ä\82¢\82È\82¢\82æ\82¤\82¾\81D",
+ Monnam(magr));
+#endif
}
return MM_MISS;
}
if (canseemon(magr))
+/*JP
pline("%s is turned to stone!", Monnam(magr));
+*/
+ pline("%s\82Í\90Î\82É\82È\82Á\82½\81I", Monnam(magr));
monstone(magr);
if (magr->mhp > 0)
return MM_MISS;
return MM_MISS;
if (vis) {
+#if 0 /*JP*/
Sprintf(buf, "%s swallows", Monnam(magr));
pline("%s %s.", buf, mon_nam(mdef));
+#else
+ Sprintf(buf,"%s\82Í%%s\82ð\82®\82Á\82Æ\88ù\82Ý\82±\82ñ\82¾\81D", Monnam(magr));
+ pline(buf, mon_nam(mdef));
+#endif
}
for (obj = mdef->minvent; obj; obj = obj->nobj)
(void) snuff_lit(obj);
newsym(dx, dy);
} else { /* both alive, put them back */
if (cansee(dx, dy))
+/*JP
pline("%s is regurgitated!", Monnam(mdef));
+*/
+ pline("%s\82Í\93f\82«\96ß\82³\82ê\82½\81I", Monnam(mdef));
place_monster(magr, ax, ay);
place_monster(mdef, dx, dy);
return MM_MISS;
if (cansee(magr->mx, magr->my))
+/*JP
pline("%s explodes!", Monnam(magr));
+*/
+ pline("%s\82Í\94\9a\94\82µ\82½\81I", Monnam(magr));
else
noises(magr, mattk);
result |= MM_AGR_DIED;
}
if (magr->mtame) /* give this one even if it was visible */
+/*JP
You(brief_feeling, "melancholy");
+*/
+ You(brief_feeling, "\97J\82¤\82Â\82È");
return result;
}
return MM_HIT; /* no damage during the polymorph */
}
if (vis)
+/*JP
pline("%s turns to stone!", Monnam(magr));
+*/
+ pline("%s\82Í\90Î\82É\82È\82Á\82½\81I", Monnam(magr));
monstone(magr);
if (magr->mhp > 0)
return MM_HIT; /* lifesaved */
else if (magr->mtame && !vis)
+/*JP
You(brief_feeling, "peculiarly sad");
+*/
+ You(brief_feeling, "\82à\82Ì\94ß\82µ\82¢");
return MM_AGR_DIED;
}
}
/* eating a Rider or its corpse is fatal */
if (is_rider(pd)) {
if (vis)
+#if 0 /*JP*/
pline("%s %s!", Monnam(magr),
(pd == &mons[PM_FAMINE])
? "belches feebly, shrivels up and dies"
: (pd == &mons[PM_PESTILENCE])
? "coughs spasmodically and collapses"
: "vomits violently and drops dead");
+#else
+ pline("%s%s\81I", Monnam(magr),
+ (pd == &mons[PM_FAMINE])
+ ? "\8eã\81X\82µ\82\93f\82«\82à\82Ç\82µ\82½\82©\82Æ\8ev\82¤\82Æ\81C\91Ì\82ª\82µ\82Ú\82Ý\8e\80\82ñ\82Å\82µ\82Ü\82Á\82½" :
+ pd == &mons[PM_PESTILENCE]
+ ? "áz\9d¹\82µ\82½\82æ\82¤\82É\82¹\82«\82±\82Ý\93|\82ê\82½"
+ : "\8c\83\82µ\82\9aq\93f\82µ\8e\80\82ñ\82¾");
+#endif
mondied(magr);
if (magr->mhp > 0)
return 0; /* lifesaved */
else if (magr->mtame && !vis)
+/*JP
You(brief_feeling, "queasy");
+*/
+ You(brief_feeling, "\95s\88À\82È");
return MM_AGR_DIED;
}
if (flags.verbose && !Deaf)
+/*JP
verbalize("Burrrrp!");
+*/
+ verbalize("\82°\82Á\82Õ\81I");
tmp = mdef->mhp;
/* Use up amulet of life saving */
if (!!(obj = mlifesaver(mdef)))
if (magr->mcan)
break;
if (canseemon(mdef))
+#if 0 /*JP*/
pline("%s %s for a moment.", Monnam(mdef),
makeplural(stagger(pd, "stagger")));
+#else
+ pline("%s\82Í\82·\82±\82µ\82æ\82ë\82ß\82¢\82½\81D", Monnam(mdef));
+#endif
mdef->mstun = 1;
goto physical;
case AD_LEGS:
break;
}
if (vis)
+/*JP
pline("%s is %s!", Monnam(mdef), on_fire(pd, mattk));
+*/
+ pline("%s\82Í%s\81I", Monnam(mdef), on_fire(pd, mattk));
if (pd == &mons[PM_STRAW_GOLEM] || pd == &mons[PM_PAPER_GOLEM]) {
if (vis)
+/*JP
pline("%s burns completely!", Monnam(mdef));
+*/
+ pline("%s\82Í\8aD\82É\82È\82Á\82½\81I", Monnam(mdef));
mondied(mdef);
if (mdef->mhp > 0)
return 0;
else if (mdef->mtame && !vis)
+/*JP
pline("May %s roast in peace.", mon_nam(mdef));
+*/
+ pline("%s\82æ\81C\88À\82ç\82©\82É\94R\82¦\82ñ\8e\96\82ð\81D", mon_nam(mdef));
return (MM_DEF_DIED | (grow_up(magr, mdef) ? 0 : MM_AGR_DIED));
}
tmp += destroy_mitem(mdef, SCROLL_CLASS, AD_FIRE);
tmp += destroy_mitem(mdef, SPBOOK_CLASS, AD_FIRE);
if (resists_fire(mdef)) {
if (vis)
+/*JP
pline_The("fire doesn't seem to burn %s!", mon_nam(mdef));
+*/
+ pline("%s\82Í\89\8a\82Å\94R\82¦\82È\82¢\82æ\82¤\82¾\81I", mon_nam(mdef));
shieldeff(mdef->mx, mdef->my);
golemeffects(mdef, AD_FIRE, tmp);
tmp = 0;
break;
}
if (vis)
+/*JP
pline("%s is covered in frost!", Monnam(mdef));
+*/
+ pline("%s\82Í\95X\82Å\95¢\82í\82ê\82½\81I", Monnam(mdef));
if (resists_cold(mdef)) {
if (vis)
+/*JP
pline_The("frost doesn't seem to chill %s!", mon_nam(mdef));
+*/
+ pline("\95X\82Í%s\82ð\93\80\82ç\82¹\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\82æ\82¤\82¾\81I", mon_nam(mdef));
shieldeff(mdef->mx, mdef->my);
golemeffects(mdef, AD_COLD, tmp);
tmp = 0;
break;
}
if (vis)
+/*JP
pline("%s gets zapped!", Monnam(mdef));
+*/
+ pline("%s\82Í\8fÕ\8c\82\82ð\82\82ç\82Á\82½\81I", Monnam(mdef));
tmp += destroy_mitem(mdef, WAND_CLASS, AD_ELEC);
if (resists_elec(mdef)) {
if (vis)
+/*JP
pline_The("zap doesn't shock %s!", mon_nam(mdef));
+*/
+ pline("\8fÕ\8c\82\82Í%s\82É\89e\8b¿\82ð\97^\82¦\82È\82¢\81I", mon_nam(mdef));
shieldeff(mdef->mx, mdef->my);
golemeffects(mdef, AD_ELEC, tmp);
tmp = 0;
}
if (resists_acid(mdef)) {
if (vis)
+/*JP
pline("%s is covered in acid, but it seems harmless.",
+*/
+ pline("%s\82Í\8e_\82É\82Â\82Â\82Ü\82ê\82½\81D\82µ\82©\82µ\82È\82ñ\82Æ\82à\82È\82¢\82æ\82¤\82¾\81D",
Monnam(mdef));
tmp = 0;
} else if (vis) {
+#if 0 /*JP*/
pline("%s is covered in acid!", Monnam(mdef));
pline("It burns %s!", mon_nam(mdef));
+#else
+ pline("%s\82Í\8e_\82É\82Â\82Â\82Ü\82ê\82½\81I", Monnam(mdef));
+ pline("%s\82Í\8fÄ\82©\82ê\82½\81I", mon_nam(mdef));
+#endif
}
if (!rn2(30))
erode_armor(mdef, ERODE_CORRODE);
break;
if (pd == &mons[PM_IRON_GOLEM]) {
if (vis)
+/*JP
pline("%s falls to pieces!", Monnam(mdef));
+*/
+ pline("%s\82Í\83o\83\89\83o\83\89\82É\82È\82Á\82½\81I", Monnam(mdef));
mondied(mdef);
if (mdef->mhp > 0)
return 0;
else if (mdef->mtame && !vis)
+/*JP
pline("May %s rust in peace.", mon_nam(mdef));
+*/
+ pline("%s\82æ\81C\88À\82ç\82©\82É\8eK\82Ñ\82ñ\8e\96\82ð\81D", mon_nam(mdef));
return (MM_DEF_DIED | (grow_up(magr, mdef) ? 0 : MM_AGR_DIED));
}
erode_armor(mdef, ERODE_RUST);
break;
if (pd == &mons[PM_WOOD_GOLEM] || pd == &mons[PM_LEATHER_GOLEM]) {
if (vis)
+/*JP
pline("%s falls to pieces!", Monnam(mdef));
+*/
+ pline("%s\82Í\83o\83\89\83o\83\89\82É\82È\82Á\82½\81I", Monnam(mdef));
mondied(mdef);
if (mdef->mhp > 0)
return 0;
else if (mdef->mtame && !vis)
+/*JP
pline("May %s rot in peace.", mon_nam(mdef));
+*/
+ pline("%s\82æ\81C\88À\82ç\82©\82É\95\85\82ç\82ñ\8e\96\82ð\81D", mon_nam(mdef));
return (MM_DEF_DIED | (grow_up(magr, mdef) ? 0 : MM_AGR_DIED));
}
erode_armor(mdef, ERODE_CORRODE);
}
if (!resists_ston(mdef)) {
if (vis)
+/*JP
pline("%s turns to stone!", Monnam(mdef));
+*/
+ pline("%s\82Í\90Î\82É\82È\82Á\82½\81I", Monnam(mdef));
monstone(mdef);
post_stone:
if (mdef->mhp > 0)
return 0;
else if (mdef->mtame && !vis)
+/*JP
You(brief_feeling, "peculiarly sad");
+*/
+ You(brief_feeling, "\82à\82Ì\94ß\82µ\82¢");
return (MM_DEF_DIED | (grow_up(magr, mdef) ? 0 : MM_AGR_DIED));
}
tmp = (mattk->adtyp == AD_STON ? 0 : 1);
mdef->mstrategy &= ~STRAT_WAITFORU;
(void) rloc(mdef, TRUE);
if (vis && !canspotmon(mdef) && mdef != u.usteed)
+/*JP
pline("%s suddenly disappears!", mdef_Monnam);
+*/
+ pline("%s\82Í\93Ë\91R\8fÁ\82¦\82½\81I", mdef_Monnam);
}
break;
case AD_SLEE:
&& sleep_monst(mdef, rnd(10), -1)) {
if (vis) {
Strcpy(buf, Monnam(mdef));
+/*JP
pline("%s is put to sleep by %s.", buf, mon_nam(magr));
+*/
+ pline("%s\82Í%s\82É\82æ\82Á\82Ä\96°\82ç\82³\82ê\82½\81D", buf, mon_nam(magr));
}
mdef->mstrategy &= ~STRAT_WAITFORU;
slept_monst(mdef);
if (!cancelled && mdef->mcanmove) {
if (vis) {
Strcpy(buf, Monnam(mdef));
+/*JP
pline("%s is frozen by %s.", buf, mon_nam(magr));
+*/
+ pline("%s\82Í%s\82É\82æ\82Á\82Ä\93®\82¯\82È\82\82È\82Á\82½\81D", buf, mon_nam(magr));
}
paralyze_monst(mdef, rnd(10));
}
mon_adjust_speed(mdef, -1, (struct obj *) 0);
mdef->mstrategy &= ~STRAT_WAITFORU;
if (mdef->mspeed != oldspeed && vis)
+/*JP
pline("%s slows down.", Monnam(mdef));
+*/
+ pline("%s\82Í\93®\8dì\82ª\82Ì\82ë\82\82È\82Á\82½\81D", Monnam(mdef));
}
break;
case AD_CONF:
*/
if (!magr->mcan && !mdef->mconf && !magr->mspec_used) {
if (vis)
+/*JP
pline("%s looks confused.", Monnam(mdef));
+*/
+ pline("%s\82Í\8d¬\97\90\82µ\82Ä\82¢\82é\82æ\82¤\82É\8c©\82¦\82é\81D", Monnam(mdef));
mdef->mconf = 1;
mdef->mstrategy &= ~STRAT_WAITFORU;
}
register unsigned rnd_tmp;
if (vis && mdef->mcansee)
+/*JP
pline("%s is blinded.", Monnam(mdef));
+*/
+ pline("%s\82Í\96Ú\82ª\8c©\82¦\82È\82\82È\82Á\82½\81D", Monnam(mdef));
rnd_tmp = d((int) mattk->damn, (int) mattk->damd);
if ((rnd_tmp += mdef->mblinded) > 127)
rnd_tmp = 127;
case AD_HALU:
if (!magr->mcan && haseyes(pd) && mdef->mcansee) {
if (vis)
+#if 0 /*JP*/
pline("%s looks %sconfused.", Monnam(mdef),
mdef->mconf ? "more " : "");
+#else
+ pline("%s\82Í%s\8d¬\97\90\82µ\82Ä\82¢\82é\82æ\82¤\82É\8c©\82¦\82é\81D", Monnam(mdef),
+ mdef->mconf ? "\82Ü\82·\82Ü\82·" : "");
+#endif
mdef->mconf = 1;
mdef->mstrategy &= ~STRAT_WAITFORU;
}
were_change(mdef);
if (pd == &mons[PM_CLAY_GOLEM]) {
if (vis) {
+/*JP
pline("Some writing vanishes from %s head!",
+*/
+ pline("\82¢\82\82Â\82©\82Ì\95¶\8e\9a\82ª%s\82Ì\93ª\82©\82ç\8fÁ\82¦\82½\81I",
s_suffix(mon_nam(mdef)));
+/*JP
pline("%s is destroyed!", Monnam(mdef));
+*/
+ pline("%s\82Í\94j\89ó\82³\82ê\82½\81I", Monnam(mdef));
}
mondied(mdef);
if (mdef->mhp > 0)
return 0;
else if (mdef->mtame && !vis)
+/*JP
You(brief_feeling, "strangely sad");
+*/
+ You(brief_feeling, "\96\82É\94ß\82µ\82¢");
return (MM_DEF_DIED
| (grow_up(magr, mdef) ? 0 : MM_AGR_DIED));
}
if (!Deaf) {
if (!vis)
+/*JP
You_hear("laughter.");
+*/
+ You_hear("\8fÎ\82¢\90º\82ð\95·\82¢\82½\81D");
else
+/*JP
pline("%s chuckles.", Monnam(magr));
+*/
+ pline("%s\82Í\82\82·\82\82·\8fÎ\82Á\82½\81D", Monnam(magr));
}
}
break;
mdef->mstrategy &= ~STRAT_WAITFORU;
if (vis) {
Strcpy(buf, Monnam(magr));
+/*JP
pline("%s steals some gold from %s.", buf, mon_nam(mdef));
+*/
+ pline("%s\82Í%s\82©\82ç\8bà\82ð\93\90\82ñ\82¾\81D", buf, mon_nam(mdef));
}
if (!tele_restrict(magr)) {
(void) rloc(magr, TRUE);
if (vis && !canspotmon(magr))
+/*JP
pline("%s suddenly disappears!", buf);
+*/
+ pline("%s\82Í\93Ë\91R\8fÁ\82¦\82½\81I", buf);
}
break;
case AD_DRLI:
if (!cancelled && !rn2(3) && !resists_drli(mdef)) {
tmp = d(2, 6);
if (vis)
+/*JP
pline("%s suddenly seems weaker!", Monnam(mdef));
+*/
+ pline("%s\82Í\93Ë\91R\8eã\82\82È\82Á\82½\82æ\82¤\82É\8c©\82¦\82½\81I", Monnam(mdef));
mdef->mhpmax -= tmp;
if (mdef->m_lev == 0)
tmp = mdef->mhp;
(void) add_to_minv(magr, otmp);
if (vis) {
Strcpy(buf, Monnam(magr));
+/*JP
pline("%s steals %s from %s!", buf, onambuf, mdefnambuf);
+*/
+ pline("%s\82Í%s\82©\82ç%s\82ð\93\90\82ñ\82¾\81I", buf, mdefnambuf, onambuf);
}
possibly_unwield(mdef, FALSE);
mdef->mstrategy &= ~STRAT_WAITFORU;
if (pa->mlet == S_NYMPH && !tele_restrict(magr)) {
(void) rloc(magr, TRUE);
if (vis && !canspotmon(magr))
+/*JP
pline("%s suddenly disappears!", buf);
+*/
+ pline("%s\82Í\93Ë\91R\8fÁ\82¦\82½\81I", buf);
}
}
tmp = 0;
case AD_DRCO:
if (!cancelled && !rn2(8)) {
if (vis)
+#if 0 /*JP*/
pline("%s %s was poisoned!", s_suffix(Monnam(magr)),
mpoisons_subj(magr, mattk));
+#else
+ pline("%s\82Ì%s\82Í\93Å\82³\82ê\82Ä\82¢\82é\81I", Monnam(magr),
+ mpoisons_subj(magr, mattk));
+#endif
if (resists_poison(mdef)) {
if (vis)
+/*JP
pline_The("poison doesn't seem to affect %s.",
+*/
+ pline("%s\82Í\93Å\82Ì\89e\8b¿\82ð\8eó\82¯\82È\82¢\81D",
mon_nam(mdef));
} else {
if (rn2(10))
tmp += rn1(10, 6);
else {
if (vis)
+/*JP
pline_The("poison was deadly...");
+*/
+ pline("\93Å\82Í\92v\8e\80\97Ê\82¾\82Á\82½\81D\81D\81D");
tmp = mdef->mhp;
}
}
case AD_DRIN:
if (notonhead || !has_head(pd)) {
if (vis)
+/*JP
pline("%s doesn't seem harmed.", Monnam(mdef));
+*/
+ pline("%s\82Í\8f\9d\82Â\82¢\82½\82æ\82¤\82É\82Í\8c©\82¦\82È\82¢\81D", Monnam(mdef));
/* Not clear what to do for green slimes */
tmp = 0;
break;
if ((mdef->misc_worn_check & W_ARMH) && rn2(8)) {
if (vis) {
Strcpy(buf, s_suffix(Monnam(mdef)));
+#if 0 /*JP*/
pline("%s helmet blocks %s attack to %s head.", buf,
s_suffix(mon_nam(magr)), mhis(mdef));
+#else
+ pline("%s\82Ì\8a\95\82Í%s\82Ì\93ª\82Ö\82Ì\8dU\8c\82\82ð\96h\82¢\82¾\81D", buf,
+ mon_nam(magr));
+#endif
}
break;
}
{
if ((mon->msleeping || !mon->mcanmove) && mon == u.ustuck
&& !sticks(youmonst.data) && !u.uswallow) {
+/*JP
pline("%s grip relaxes.", s_suffix(Monnam(mon)));
+*/
+ pline("%s\82Ì\88¬\82é\97Í\82ª\8eã\82\82È\82Á\82½\81D", Monnam(mon));
unstuck(mon);
}
}
struct obj *otemp;
{
if (flags.verbose && !Blind && mon_visible(magr)) {
+#if 0 /*JP*/
pline("%s %s %s%s %s at %s.", Monnam(magr),
(objects[otemp->otyp].oc_dir & PIERCE) ? "thrusts" : "swings",
(otemp->quan > 1L) ? "one of " : "", mhis(magr), xname(otemp),
mon_nam(mdef));
+#else
+ pline((objects[otemp->otyp].oc_dir & PIERCE) ?
+ "%s\82Í%s\82Å%s\82ð\93Ë\82¢\82½\81D" :
+ "%s\82Í%s\82ð\90U\82è\82Ü\82í\82µ%s\82ð\8dU\8c\82\82µ\82½\81D", Monnam(magr),
+ xname(otemp), mon_nam(mdef));
+#endif
}
}
if (mhit && !rn2(2)) {
Strcpy(buf, Monnam(magr));
if (canseemon(magr))
+#if 0 /*JP*/
pline("%s is splashed by %s acid!", buf,
s_suffix(mon_nam(mdef)));
+#else
+ pline("%s\82Í%s\82Ì\8e_\82ð\97\81\82Ñ\82½\81I", buf,
+ mon_nam(mdef));
+#endif
if (resists_acid(magr)) {
if (canseemon(magr))
+/*JP
pline("%s is not affected.", Monnam(magr));
+*/
+ pline("%s\82Í\89e\8b¿\82ð\8eó\82¯\82È\82¢\81D", Monnam(magr));
tmp = 0;
}
} else
tmp = 127;
if (magr->mcansee && haseyes(madat) && mdef->mcansee
&& (perceives(madat) || !mdef->minvis)) {
+/*JP
Sprintf(buf, "%s gaze is reflected by %%s %%s.",
+*/
+ Sprintf(buf, "%s\82Ì\82É\82ç\82Ý\82Í%%s\82É\82æ\82Á\82Ä%%s\81D",
s_suffix(Monnam(mdef)));
if (mon_reflects(magr,
canseemon(magr) ? buf : (char *) 0))
return (mdead | mhit);
Strcpy(buf, Monnam(magr));
if (canseemon(magr))
+#if 0 /*JP*/
pline("%s is frozen by %s gaze!", buf,
s_suffix(mon_nam(mdef)));
+#else
+ pline("%s\82Í%s\82Ì\82É\82ç\82Ý\82Å\93®\82¯\82È\82\82È\82Á\82½\81I", buf,
+ mon_nam(mdef));
+#endif
paralyze_monst(magr, tmp);
return (mdead | mhit);
}
} else { /* gelatinous cube */
Strcpy(buf, Monnam(magr));
if (canseemon(magr))
+/*JP
pline("%s is frozen by %s.", buf, mon_nam(mdef));
+*/
+ pline("%s\82Í%s\82É\82æ\82Á\82Ä\93®\82¯\82È\82\82È\82Á\82½\81D", buf, mon_nam(mdef));
paralyze_monst(magr, tmp);
return (mdead | mhit);
}
case AD_COLD:
if (resists_cold(magr)) {
if (canseemon(magr)) {
+/*JP
pline("%s is mildly chilly.", Monnam(magr));
+*/
+ pline("%s\82Í\97â\82¦\82½\81D", Monnam(magr));
golemeffects(magr, AD_COLD, tmp);
}
tmp = 0;
break;
}
if (canseemon(magr))
+/*JP
pline("%s is suddenly very cold!", Monnam(magr));
+*/
+ pline("%s\82Í\93Ë\91R\93\80\82è\82Ã\82¯\82É\82È\82Á\82½\81I", Monnam(magr));
mdef->mhp += tmp / 2;
if (mdef->mhpmax < mdef->mhp)
mdef->mhpmax = mdef->mhp;
if (!magr->mstun) {
magr->mstun = 1;
if (canseemon(magr))
+#if 0 /*JP*/
pline("%s %s...", Monnam(magr),
makeplural(stagger(magr->data, "stagger")));
+#else
+ pline("%s\82Í\82\82ç\82\82ç\82µ\82½\81D\81D\81D", Monnam(magr));
+#endif
}
tmp = 0;
break;
case AD_FIRE:
if (resists_fire(magr)) {
if (canseemon(magr)) {
+/*JP
pline("%s is mildly warmed.", Monnam(magr));
+*/
+ pline("%s\82Í\92g\82©\82\82È\82Á\82½\81D", Monnam(magr));
golemeffects(magr, AD_FIRE, tmp);
}
tmp = 0;
break;
}
if (canseemon(magr))
+/*JP
pline("%s is suddenly very hot!", Monnam(magr));
+*/
+ pline("%s\82Í\93Ë\91R\82Æ\82Ä\82à\94M\82\82È\82Á\82½\81I", Monnam(magr));
break;
case AD_ELEC:
if (resists_elec(magr)) {
if (canseemon(magr)) {
+/*JP
pline("%s is mildly tingled.", Monnam(magr));
+*/
+ pline("%s\82Í\83s\83\8a\83s\83\8a\82µ\82Ä\82¢\82é\81D", Monnam(magr));
golemeffects(magr, AD_ELEC, tmp);
}
tmp = 0;
break;
}
if (canseemon(magr))
+/*JP
pline("%s is jolted with electricity!", Monnam(magr));
+*/
+ pline("%s\82Í\93d\8bC\83V\83\87\83b\83N\82ð\82¤\82¯\82½\81I", Monnam(magr));
break;
default:
tmp = 0;
/* 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"
#include "artifact.h"
/* If same gender, "engagingly" for nymph, normal msg for others */
if ((compat = could_seduce(mtmp, &youmonst, mattk)) && !mtmp->mcan
&& !mtmp->mspec_used) {
+#if 0 /*JP*/
pline("%s %s you %s.", Monnam(mtmp), Blind ? "talks to" : "smiles at",
compat == 2 ? "engagingly" : "seductively");
+#else
+ pline("%s\82Í\82 \82È\82½%s%s\81D", Monnam(mtmp),
+ compat == 2 ? "\82ð\88ø\82«\82Â\82¯\82é\82æ\82¤\82É" : "\82É\8dD\88Ó\82ð\82æ\82¹\82é\82æ\82¤\82É",
+ Blind ? "\98b\82µ\82©\82¯\82½" : "\94÷\8fÎ\82ñ\82¾");
+#endif
} else
switch (mattk->aatyp) {
case AT_BITE:
+/*JP
pline("%s bites!", Monnam(mtmp));
+*/
+ pline("%s\82Í\8a\9a\82Ý\82Â\82¢\82½\81I", Monnam(mtmp));
break;
case AT_KICK:
+#if 0 /*JP*/
pline("%s kicks%c", Monnam(mtmp),
thick_skinned(youmonst.data) ? '.' : '!');
+#else
+ pline("%s\82Í\8fR\82Æ\82Î\82µ\82½%s",Monnam(mtmp),
+ thick_skinned(youmonst.data) ? "\81D" : "\81I");
+#endif
break;
case AT_STNG:
+/*JP
pline("%s stings!", Monnam(mtmp));
+*/
+ pline("%s\82Í\93Ë\82«\82³\82µ\82½\81I", Monnam(mtmp));
break;
case AT_BUTT:
+/*JP
pline("%s butts!", Monnam(mtmp));
+*/
+ pline("%s\82Í\93ª\93Ë\82«\82ð\82\82ç\82í\82µ\82½\81I", Monnam(mtmp));
break;
case AT_TUCH:
+/*JP
pline("%s touches you!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82É\90G\82ê\82½\81I", Monnam(mtmp));
break;
case AT_TENT:
+/*JP
pline("%s tentacles suck you!", s_suffix(Monnam(mtmp)));
+*/
+ pline("%s\82Ì\90G\8eè\82ª\82 \82È\82½\82Ì\91Ì\89t\82ð\8bz\82¢\82Æ\82Á\82½\81I", Monnam(mtmp));
break;
case AT_EXPL:
case AT_BOOM:
+/*JP
pline("%s explodes!", Monnam(mtmp));
+*/
+ pline("%s\82Í\94\9a\94\82µ\82½\81I", Monnam(mtmp));
break;
default:
+/*JP
pline("%s hits!", Monnam(mtmp));
+*/
+ pline("%s\82Ì\8dU\8c\82\82Í\96½\92\86\82µ\82½\81I", Monnam(mtmp));
}
}
map_invisible(mtmp->mx, mtmp->my);
if (could_seduce(mtmp, &youmonst, mattk) && !mtmp->mcan)
+/*JP
pline("%s pretends to be friendly.", Monnam(mtmp));
+*/
+ pline("%s\82Í\97F\8dD\93I\82È\82Ó\82è\82ð\82µ\82Ä\82¢\82é\81D",Monnam(mtmp));
else
+#if 0 /*JP*/
pline("%s %smisses!", Monnam(mtmp),
(nearmiss && flags.verbose) ? "just " : "");
+#else
+ pline("%s\82Ì\8dU\8c\82\82Í%s\82½\81D", Monnam(mtmp),
+ (nearmiss && flags.verbose) ? "\8bó\82ð\90Ø\82Á" : "\82Í\82¸\82ê");
+#endif
stop_occupation();
}
struct obj *otemp;
{
if (flags.verbose && !Blind && mon_visible(mtmp)) {
+#if 0 /*JP*/
pline("%s %s %s%s %s.", Monnam(mtmp),
(objects[otemp->otyp].oc_dir & PIERCE) ? "thrusts" : "swings",
(otemp->quan > 1L) ? "one of " : "", mhis(mtmp), xname(otemp));
+#else
+ pline("%s\82Í%s%s\81D", Monnam(mtmp),
+ xname(otemp),
+ (objects[otemp->otyp].oc_dir & PIERCE) ? "\82ð\93Ë\82¢\82½" : "\82ð\90U\82è\82Ü\82í\82µ\82½");
+#endif
}
}
struct obj *mwep = (mtmp == &youmonst) ? uwep : MON_WEP(mtmp);
/* "Foo's attack was poisoned." is pretty lame, but at least
it's better than "sting" when not a stinging attack... */
+/*JP
return (!mwep || !mwep->opoisoned) ? "attack" : "weapon";
+*/
+ return (!mwep || !mwep->opoisoned) ? "\8dU\8c\82" : "\95\90\8aí";
} else {
+#if 0 /*JP*/
return (mattk->aatyp == AT_TUCH) ? "contact"
: (mattk->aatyp == AT_GAZE) ? "gaze"
: (mattk->aatyp == AT_BITE) ? "bite" : "sting";
+#else
+ return (mattk->aatyp == AT_TUCH) ? "\90Ú\90G"
+ : (mattk->aatyp == AT_GAZE) ? "\82É\82ç\82Ý"
+ : (mattk->aatyp == AT_BITE) ? "\8a\9a\82Ý\82Â\82«" : "\93Ë\82«\82³\82µ";
+#endif
}
}
{
HFast = 0L;
if (!Fast)
+/*JP
You("slow down.");
+*/
+ You("\93®\82«\82ª\92x\82\82È\82Á\82½\81D");
else /* speed boots */
+/*JP
Your("quickness feels less natural.");
+*/
+ You("\91¬\82³\82É\82Â\82¢\82Ä\82¢\82¯\82È\82\82È\82Á\82½\81D");
exercise(A_DEX, FALSE);
}
&& could_seduce(mtmp, &youmonst, (struct attack *) 0));
if (!mtmp->mcansee || (Invis && !perceives(mtmp->data))) {
+#if 0 /*JP*/
const char *swings =
mattk->aatyp == AT_BITE
? "snaps"
|| nolimbs(mtmp->data))
? "lunges"
: "swings";
+#else
+ const char *swings =
+ mattk->aatyp == AT_BITE
+ ? "\8a\9a\82Ý\82Â\82"
+ : mattk->aatyp == AT_KICK
+ ? "\8fR\82Æ\82Î\82·"
+ : (mattk->aatyp == AT_STNG || mattk->aatyp == AT_BUTT
+ || nolimbs(mtmp->data))
+ ? "\93Ë\90i\82·\82é"
+ : "\90U\82è\89ñ\82·";
+#endif
if (compat)
+/*JP
pline("%s tries to touch you and misses!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82É\90G\82ë\82¤\82Æ\82µ\82½\82ª\8e¸\94s\82µ\82½\81I", Monnam(mtmp));
else
switch (rn2(3)) {
case 0:
+/*JP
pline("%s %s wildly and misses!", Monnam(mtmp), swings);
+*/
+ pline("%s\82Í\8c\83\82µ\82%s\82ª\81C\82Í\82¸\82µ\82½\81D", Monnam(mtmp), jpast(swings));
break;
case 1:
+/*JP
pline("%s attacks a spot beside you.", Monnam(mtmp));
+*/
+ pline("%s\82Ì\8dU\8c\82\82Í\82 \82È\82½\82Ì\98e\95 \82ð\82©\82·\82ß\82½\81D", Monnam(mtmp));
break;
case 2:
+#if 0 /*JP*/
pline("%s strikes at %s!", Monnam(mtmp),
levl[mtmp->mux][mtmp->muy].typ == WATER ? "empty water"
: "thin air");
+#else
+ pline("%s\82Í%s\82ð\91Å\82¿\82Â\82¯\82½\81I", Monnam(mtmp),
+ levl[mtmp->mux][mtmp->muy].typ == WATER ? "\90\85"
+ : "\89½\82à\82È\82¢\82Æ\82±\82ë");
+#endif
break;
default:
+/*JP
pline("%s %s wildly!", Monnam(mtmp), swings);
+*/
+ pline("%s\82Í\8c\83\82µ\82%s\81I", Monnam(mtmp), jpast(swings));
break;
}
} else if (Displaced) {
if (compat)
+#if 0 /*JP*/
pline("%s smiles %s at your %sdisplaced image...", Monnam(mtmp),
compat == 2 ? "engagingly" : "seductively",
Invis ? "invisible " : "");
+#else
+ pline("%s\82Í%s\82 \82È\82½\82Ì\8c¶\89e\82É\91Î\82µ\82Ä%s\94÷\8fÎ\82ñ\82¾\81D\81D\81D", Monnam(mtmp),
+ Invis ? "\93§\96¾\82È" : "",
+ compat == 2 ? "\96£\97Í\93I\82É" : "\97U\98f\93I\82É");
+#endif
else
+#if 0 /*JP*/
pline("%s strikes at your %sdisplaced image and misses you!",
/* Note: if you're both invisible and displaced,
* only monsters which see invisible will attack your
* invisible.
*/
Monnam(mtmp), Invis ? "invisible " : "");
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì%s\8c¶\89e\82ð\8dU\8c\82\82µ\81C\82Í\82¸\82µ\82½\81I",
+ Monnam(mtmp), Invis ? "\93§\96¾\82È" : "");
+#endif
} else if (Underwater) {
/* monsters may miss especially on water level where
bubbles shake the player here and there */
if (compat)
+/*JP
pline("%s reaches towards your distorted image.", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\98c\82ñ\82¾\8c¶\89e\82Ì\95û\82Ö\8cü\82©\82Á\82½\81D", Monnam(mtmp));
else
+/*JP
pline("%s is fooled by water reflections and misses!",
+*/
+ pline("%s\82Í\90\85\82Ì\94½\8eË\82É\82¾\82Ü\82³\82ê\81C\82Í\82¸\82µ\82½\81I",
Monnam(mtmp));
} else
{
if (message) {
if (is_animal(mdat))
+/*JP
You("get regurgitated!");
+*/
+ You("\93f\82«\82¾\82³\82ê\82½\81I");
else {
char blast[40];
register int i;
if (is_whirly(mdat)) {
switch (mdat->mattk[i].adtyp) {
case AD_ELEC:
+/*JP
Strcpy(blast, " in a shower of sparks");
+*/
+ Strcpy(blast, "\82Ì\89Î\89Ô\82Ì\89J\82Ì\92\86\82©\82ç");
break;
case AD_COLD:
+/*JP
Strcpy(blast, " in a blast of frost");
+*/
+ Strcpy(blast, "\82Ì\97â\8bC\82Ì\95\97\82Ì\92\86\82©\82ç");
break;
}
} else
+/*JP
Strcpy(blast, " with a squelch");
+*/
+ Strcpy(blast, "\82©\82ç\93f\82«\8fo\82³\82ê\82é\82æ\82¤\82É");
+/*JP
You("get expelled from %s%s!", mon_nam(mtmp), blast);
+*/
+ You("%s%s\92E\8fo\82µ\82½\81I", mon_nam(mtmp), blast);
}
}
}
spoteffects(TRUE);
/* to cover for a case where mtmp is not in a next square */
if (um_dist(mtmp->mx, mtmp->my, 1))
+/*JP
pline("Brrooaa... You land hard at some distance.");
+*/
+ pline("\83u\83\8d\83\8d\83\8d\81D\81D\89\93\82\82É\92\85\97¤\82·\82é\82Ì\82Í\93ï\82µ\82¢\81D");
}
/* select a monster's next attack, possibly substituting for its usual one */
coord cc; /* maybe we need a unexto() function? */
struct obj *obj;
+/*JP
You("fall from the %s!", ceiling(u.ux, u.uy));
+*/
+ You("%s\82©\82ç\97\8e\82¿\82½\81I", ceiling(u.ux,u.uy));
/* take monster off map now so that its location
is eligible for placing hero; we assume that a
removed monster remembers its old spot <mx,my> */
obj = which_armor(mtmp, WORN_HELMET);
if (obj && is_metallic(obj)) {
+#if 0 /*JP*/
Your("blow glances off %s %s.", s_suffix(mon_nam(mtmp)),
helm_simple_name(obj));
+#else
+ Your("\8dU\8c\82\82Í%s\82Ì%s\82ð\82©\82·\82ß\82½\82¾\82¯\82¾\82Á\82½\81D", mon_nam(mtmp),
+ helm_simple_name(obj));
+#endif
} else {
if (3 + find_mac(mtmp) <= rnd(20)) {
+/*JP
pline("%s is hit by a falling piercer (you)!",
+*/
+ pline("%s\82Í\97\8e\82¿\82Ä\82«\82½\90j(\82 \82È\82½)\82Å\8f\9d\82Â\82¢\82½\81I",
Monnam(mtmp));
if ((mtmp->mhp -= d(3, 6)) < 1)
killed(mtmp);
} else
+/*JP
pline("%s is almost hit by a falling piercer (you)!",
+*/
+ pline("%s\82Í\82à\82¤\8f\82µ\82Å\97\8e\82¿\82Ä\82«\82½\90j(\82 \82È\82½)\82Å\8f\9d\82Â\82\82Æ\82±\82ë\82¾\82Á\82½\81I",
Monnam(mtmp));
}
} else {
/* surface hider */
if (!youseeit) {
+/*JP
pline("It tries to move where you are hiding.");
+*/
+ pline("\89½\8eÒ\82©\82ª\82 \82È\82½\82ª\89B\82ê\82Ä\82¢\82é\82Æ\82±\82ë\82ð\88Ú\93®\82µ\82æ\82¤\82Æ\82µ\82½\81D");
} else {
/* Ugly kludge for eggs. The message is phrased so as
* to be directed at the monster, not the player,
if (youmonst.data->mlet == S_EEL
|| u.umonnum == PM_TRAPPER)
pline(
+#if 0 /*JP*/
"Wait, %s! There's a hidden %s named %s there!",
m_monnam(mtmp), youmonst.data->mname, plname);
+#else
+ "\91Ò\82Ä\81C%s\81I%s\82Æ\82¢\82¤\96¼\82Ì%s\82ª\89B\82ê\82Ä\82¢\82é\81I",
+ m_monnam(mtmp), plname, youmonst.data->mname);
+#endif
else
pline(
+#if 0 /*JP*/
"Wait, %s! There's a %s named %s hiding under %s!",
m_monnam(mtmp), youmonst.data->mname, plname,
doname(level.objects[u.ux][u.uy]));
+#else
+ "\91Ò\82Ä\81C%s\81I%s\82Æ\82¢\82¤\96¼\82Ì%s\82ª%s\82Ì\89º\82É\89B\82ê\82Ä\82¢\82é\81I",
+ m_monnam(mtmp), plname, youmonst.data->mname,
+ doname(level.objects[u.ux][u.uy]));
+#endif
if (obj)
obj->spe = save_spe;
} else
if (!canspotmon(mtmp))
map_invisible(mtmp->mx, mtmp->my);
if (sticky && !youseeit)
+/*JP
pline("It gets stuck on you.");
+*/
+ pline("\89½\8eÒ\82©\82ª\82 \82È\82½\82Ì\8fã\82É\82Ì\82µ\82©\82©\82Á\82½\81D");
else
+#if 0 /*JP*/
pline("Wait, %s! That's a %s named %s!", m_monnam(mtmp),
youmonst.data->mname, plname);
+#else
+ pline("\91Ò\82Ä\81C%s\81I\82»\82ê\82Í%s\82Æ\82¢\82¤\96¼\82Ì%s\82¾\81I", m_monnam(mtmp),
+ plname, youmonst.data->mname);
+#endif
if (sticky)
u.ustuck = mtmp;
youmonst.m_ap_type = M_AP_NOTHING;
if (!canspotmon(mtmp))
map_invisible(mtmp->mx, mtmp->my);
if (!youseeit)
+#if 0 /*JP*/
pline("%s %s!", Something, (likes_gold(mtmp->data)
&& youmonst.mappearance == GOLD_PIECE)
? "tries to pick you up"
: "disturbs you");
+#else
+ pline("%s\82Í%s\81I", Something, (likes_gold(mtmp->data)
+ && youmonst.mappearance == GOLD_PIECE)
+ ? "\82 \82È\82½\82ð\8fE\82¨\82¤\82Æ\82µ\82½"
+ : "\96³\8e\8b\82µ\82½");
+#endif
else
+#if 0 /*JP*/
pline("Wait, %s! That %s is really %s named %s!", m_monnam(mtmp),
mimic_obj_name(&youmonst), an(mons[u.umonnum].mname),
plname);
+#else
+ pline("\91Ò\82Ä\81C%s\81I\82»\82Ì%s\82Í%s\82Æ\82¢\82¤\96¼\82Ì%s\82¾\81I", m_monnam(mtmp),
+ mimic_obj_name(&youmonst), plname,
+ mons[u.umonnum].mname);
+#endif
if (multi < 0) { /* this should always be the case */
char buf[BUFSZ];
+#if 0 /*JP*/
Sprintf(buf, "You appear to be %s again.",
Upolyd ? (const char *) an(youmonst.data->mname)
: (const char *) "yourself");
+#else
+ Sprintf(buf, "\82 \82È\82½\82Í\82Ó\82½\82½\82Ñ%s\82É\82È\82Á\82½\81D",
+ Upolyd ? (const char *) youmonst.data->mname
+ : (const char *) "\8e©\95ª\8e©\90g");
+#endif
unmul(buf); /* immediately stop mimicking */
}
return 0;
Strcpy(genericwere, "creature");
numhelp = were_summon(mdat, FALSE, &numseen, genericwere);
if (youseeit) {
+/*JP
pline("%s summons help!", Monnam(mtmp));
+*/
+ pline("%s\82Í\8f\95\82¯\82ð\8cÄ\82ñ\82¾\81I", Monnam(mtmp));
if (numhelp > 0) {
if (numseen == 0)
+/*JP
You_feel("hemmed in.");
+*/
+ pline("\89½\8eÒ\82©\82É\88Í\82Ü\82ê\82½\82æ\82¤\82È\8bC\82ª\82·\82é\81D");
} else
+/*JP
pline("But none comes.");
+*/
+ pline("\82µ\82©\82µ\89½\82à\97\88\82È\82©\82Á\82½\81D");
} else {
const char *from_nowhere;
if (!Deaf) {
+/*JP
pline("%s %s!", Something, makeplural(growl_sound(mtmp)));
+*/
+ pline("\89½\82©\82ª%s\81I", growl_sound(mtmp));
from_nowhere = "";
} else
+/*JP
from_nowhere = " from nowhere";
+*/
+ from_nowhere = "\82Ç\82±\82©\82ç\82Æ\82à\82È\82";
if (numhelp > 0) {
if (numseen < 1)
+/*JP
You_feel("hemmed in.");
+*/
+ pline("\89½\8eÒ\82©\82É\88Í\82Ü\82ê\82½\82æ\82¤\82È\8bC\82ª\82·\82é\81D");
else {
+#if 0 /*JP*/
if (numseen == 1)
Sprintf(buf, "%s appears", an(genericwere));
else
Sprintf(buf, "%s appear",
makeplural(genericwere));
pline("%s%s!", upstart(buf), from_nowhere);
+#else
+ pline("%s\82ª%s\8c»\82ê\82½\81I",
+ strcmp(genericwere, "creature")
+ ? genericwere
+ : "\89½\82©",
+ from_nowhere);
+#endif
}
} /* else no help came; but you didn't know it tried */
}
if (u.uinvulnerable) {
/* monsters won't attack you */
if (mtmp == u.ustuck)
+/*JP
pline("%s loosens its grip slightly.", Monnam(mtmp));
+*/
+ pline("%s\82Í\92÷\82ß\82Â\82¯\82ð\82í\82¸\82©\82É\8aÉ\82ß\82½\81D", Monnam(mtmp));
else if (!range2) {
if (youseeit || sensemon(mtmp))
+/*JP
pline("%s starts to attack you, but pulls back.",
+*/
+ pline("%s\82Í\82 \82È\82½\82ð\8dU\8c\82\82µ\82©\82¯\82½\82ª\81C\82Ð\82Á\82±\82ß\82½\81D",
Monnam(mtmp));
else
+/*JP
You_feel("%s move nearby.", something);
+*/
+ pline("\89½\8eÒ\82©\82ª\82 \82È\82½\82Ì\82»\82Î\82ð\92Ê\82è\82Ê\82¯\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
}
return 0;
}
missmu(mtmp, (tmp == j), mattk);
}
} else if (is_animal(mtmp->data)) {
+/*JP
pline("%s gulps some air!", Monnam(mtmp));
+*/
+ pline("%s\82Í\91§\82ð\8bz\82¢\82±\82ñ\82¾\81I", Monnam(mtmp));
} else {
if (youseeit)
+/*JP
pline("%s lunges forward and recoils!", Monnam(mtmp));
+*/
+ pline("%s\82Í\93Ë\90i\82µ\81C\96ß\82Á\82½\81I", Monnam(mtmp));
else
+#if 0 /*JP*/
You_hear("a %s nearby.",
is_whirly(mtmp->data) ? "rushing noise"
: "splat");
+#else
+ You_hear("\82·\82®\82»\82Î\82Å%s\89¹\82ð\95·\82¢\82½\81D",
+ is_whirly(mtmp->data) ? "\93Ë\8c\82\82µ\82Ä\82\82é"
+ : "\83s\83V\83\83\83b\82Æ\82¢\82¤");
+#endif
}
}
break;
if (sum[i] == 1) { /* successful attack */
if (u.usleep && u.usleep < monstermoves && !rn2(10)) {
multi = -1;
+/*JP
nomovemsg = "The combat suddenly awakens you.";
+*/
+ nomovemsg = "\82 \82È\82½\82Í\8bN\82±\82³\82ê\82½\81D";
}
}
if (sum[i] == 2)
struct permonst *mdat;
{
if (Sick_resistance) {
+/*JP
You_feel("a slight illness.");
+*/
+ You("\82·\82±\82µ\8bC\95ª\82ª\88«\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
return FALSE;
} else {
make_sick(Sick ? Sick / 3L + 1L : (long) rn1(ACURR(A_CON), 20),
protection might fail (33% chance) when the armor is cursed */
if (obj && (obj->greased || obj->otyp == OILSKIN_CLOAK)
&& (!obj->cursed || rn2(3))) {
+#if 0 /*JP*/
pline("%s %s your %s %s!", Monnam(mtmp),
(mattk->adtyp == AD_WRAP) ? "slips off of"
: "grabs you, but cannot hold onto",
(obj->greased || objects[obj->otyp].oc_name_known)
? xname(obj)
: cloak_simple_name(obj));
+#else
+ pline("%s\82Í%s%s%s\81I", Monnam(mtmp),
+ obj->greased ? "\96û\82Ì\93h\82ç\82ê\82½" : "\8a\8a\82è\82â\82·\82¢",
+ (obj->greased || objects[obj->otyp].oc_name_known)
+ ? xname(obj)
+ : cloak_simple_name(obj),
+ (mattk->adtyp == AD_WRAP) ? "\82Å\8a\8a\82Á\82½"
+ : "\82ð\82Â\82©\82Ü\82¦\82æ\82¤\82Æ\82µ\82½\82ª\81C\82Å\82«\82È\82©\82Á\82½");
+#endif
if (obj->greased && !rn2(2)) {
+/*JP
pline_The("grease wears off.");
+*/
+ pline("\8e\89\82Í\97\8e\82¿\82Ä\82µ\82Ü\82Á\82½\81D");
obj->greased = 0;
update_inventory();
}
mtmp->mundetected = 0;
if (!(Blind ? Blind_telepat : Unblind_telepat)) {
struct obj *obj;
+#if 0 /*JP*/
const char *what;
+#endif
if ((obj = level.objects[mtmp->mx][mtmp->my]) != 0) {
+#if 0 /*JP*/
if (Blind && !obj->dknown)
what = something;
else if (is_pool(mtmp->mx, mtmp->my) && !Underwater)
what = doname(obj);
pline("%s was hidden under %s!", Amonnam(mtmp), what);
+#else
+ if (Blind && !obj->dknown)
+ pline("%s\82ª\89½\82©\82Ì\89º\82É\89B\82ê\82Ä\82¢\82é\81I", Amonnam(mtmp));
+ else if (is_pool(mtmp->mx, mtmp->my) && !Underwater)
+ pline("%s\82ª\90\85\92\86\82É\89B\82ê\82Ä\82¢\82é\81I", Amonnam(mtmp));
+ else
+ pline("%s\82ª%s\82Ì\89º\82É\89B\82ê\82Ä\82¢\82é\81I", Amonnam(mtmp), doname(obj));
+#endif
}
newsym(mtmp->mx, mtmp->my);
}
dmg = 0;
} else {
u.ustuck = mtmp;
+/*JP
pline("%s grabs you!", Monnam(mtmp));
+*/
+ pline("%s\82É\82Â\82©\82Ü\82¦\82ç\82ê\82Ä\82¢\82é\81I", Monnam(mtmp));
}
} else if (u.ustuck == mtmp) {
exercise(A_STR, FALSE);
+#if 0 /*JP*/
You("are being %s.", (mtmp->data == &mons[PM_ROPE_GOLEM])
? "choked"
: "crushed");
+#else
+ You("%s\82Ä\82¢\82é\81D", (mtmp->data == &mons[PM_ROPE_GOLEM])
+ ? "\8eñ\82ð\8di\82ß\82ç\82ê"
+ : "\89\9f\82µ\82Â\82Ô\82³\82ê");
+#endif
}
} else { /* hand to hand weapon */
if (mattk->aatyp == AT_WEAP && otmp) {
if (otmp->otyp == CORPSE
&& touch_petrifies(&mons[otmp->corpsenm])) {
dmg = 1;
+#if 0 /*JP*/
pline("%s hits you with the %s corpse.", Monnam(mtmp),
mons[otmp->corpsenm].mname);
+#else
+ pline("%s\82Í%s\82Ì\8e\80\91Ì\82Å\8dU\8c\82\82µ\82½\81D", Monnam(mtmp),
+ mons[otmp->corpsenm].mname);
+#endif
if (!Stoned)
goto do_stone;
}
break;
if (objects[otmp->otyp].oc_material == SILVER
&& Hate_silver) {
+/*JP
pline_The("silver sears your flesh!");
+*/
+ pline("\82 \82È\82½\82Ì\91Ì\82Í\8bâ\82Å\8fÄ\82©\82ê\82½\81I");
exercise(A_CON, FALSE);
}
/* this redundancy necessary because you have
context.botl = 1;
dmg = 0; /* don't inflict more damage below */
if (cloneu())
+/*JP
You("divide as %s hits you!", mon_nam(mtmp));
+*/
+ pline("%s\82Ì\8dU\8c\82\82É\82æ\82Á\82Ä\82 \82È\82½\82Í\95ª\97ô\82µ\82½\81I", mon_nam(mtmp));
}
rustm(&youmonst, otmp);
} else if (mattk->aatyp != AT_TUCH || dmg != 0
case AD_FIRE:
hitmsg(mtmp, mattk);
if (uncancelled) {
+/*JP
pline("You're %s!", on_fire(youmonst.data, mattk));
+*/
+ pline("\82 \82È\82½\82Í%s\81I", on_fire(youmonst.data, mattk));
if (youmonst.data == &mons[PM_STRAW_GOLEM]
|| youmonst.data == &mons[PM_PAPER_GOLEM]) {
+/*JP
You("roast!");
+*/
+ You("\8fÅ\82°\82½\81I");
/* KMH -- this is okay with unchanging */
rehumanize();
break;
} else if (Fire_resistance) {
+/*JP
pline_The("fire doesn't feel hot!");
+*/
+ pline("\89Î\82Í\82º\82ñ\82º\82ñ\94M\82\82È\82¢\81I");
dmg = 0;
}
if ((int) mtmp->m_lev > rn2(20))
case AD_COLD:
hitmsg(mtmp, mattk);
if (uncancelled) {
+/*JP
pline("You're covered in frost!");
+*/
+ You("\95X\82Å\95¢\82í\82ê\82½\81I");
if (Cold_resistance) {
+/*JP
pline_The("frost doesn't seem cold!");
+*/
+ pline("\95X\82Í\97â\82³\82ð\8a´\82¶\82³\82¹\82È\82¢\81I");
dmg = 0;
}
if ((int) mtmp->m_lev > rn2(20))
case AD_ELEC:
hitmsg(mtmp, mattk);
if (uncancelled) {
+/*JP
You("get zapped!");
+*/
+ You("\93d\8c\82\82ð\82\82ç\82Á\82½\81I");
if (Shock_resistance) {
+/*JP
pline_The("zap doesn't shock you!");
+*/
+ pline("\93d\8c\82\82Í\82µ\82Ñ\82ê\82ð\8a´\82¶\82³\82¹\82È\82¢\81I");
dmg = 0;
}
if ((int) mtmp->m_lev > rn2(20))
break;
fall_asleep(-rnd(10), TRUE);
if (Blind)
+/*JP
You("are put to sleep!");
+*/
+ You("\96°\82è\82É\82¨\82¿\82½\81I");
else
+/*JP
You("are put to sleep by %s!", mon_nam(mtmp));
+*/
+ You("%s\82É\96°\82ç\82³\82ê\82½\81I", mon_nam(mtmp));
}
break;
case AD_BLND:
if (can_blnd(mtmp, &youmonst, mattk->aatyp, (struct obj *) 0)) {
if (!Blind)
+/*JP
pline("%s blinds you!", Monnam(mtmp));
+*/
+ pline("%s\82Ì\8dU\8c\82\82Å\96Ú\82ª\8c©\82¦\82È\82\82È\82Á\82½\81I", Monnam(mtmp));
make_blinded(Blinded + (long) dmg, FALSE);
if (!Blind)
Your1(vision_clears);
dopois:
hitmsg(mtmp, mattk);
if (uncancelled && !rn2(8)) {
+#if 0 /*JP*/
Sprintf(buf, "%s %s", s_suffix(Monnam(mtmp)),
mpoisons_subj(mtmp, mattk));
+#else
+ Sprintf(buf, "%s\82Ì%s", Monnam(mtmp),
+ mpoisons_subj(mtmp, mattk));
+#endif
poisoned(buf, ptmp, mdat->mname, 30, FALSE);
}
break;
case AD_DRIN:
hitmsg(mtmp, mattk);
if (defends(AD_DRIN, uwep) || !has_head(youmonst.data)) {
+/*JP
You("don't seem harmed.");
+*/
+ You("\8f\9d\82Â\82¢\82Ä\82¢\82È\82¢\82æ\82¤\82¾\81D");
/* Not clear what to do for green slimes */
break;
}
if (uarmh && rn2(8)) {
/* not body_part(HEAD) */
+/*JP
Your("%s blocks the attack to your head.",
+*/
+ Your("%s\82ª\93ª\82Ö\82Ì\8dU\8c\82\82ð\96h\82¢\82¾\81D",
helm_simple_name(uarmh));
break;
}
hitmsg(mtmp, mattk);
if (uncancelled && multi >= 0 && !rn2(3)) {
if (Free_action) {
+/*JP
You("momentarily stiffen.");
+*/
+ You("\88ê\8fu\8dd\92¼\82µ\82½\81D");
} else {
if (Blind)
+/*JP
You("are frozen!");
+*/
+ You("\93®\82¯\82È\82¢\81I");
else
+/*JP
You("are frozen by %s!", mon_nam(mtmp));
+*/
+ pline("%s\82É\82æ\82Á\82Ä\93®\82¯\82È\82\82È\82Á\82½\81I", mon_nam(mtmp));
nomovemsg = You_can_move_again;
nomul(-rnd(10));
multi_reason = "paralyzed by a monster";
case AD_DRLI:
hitmsg(mtmp, mattk);
if (uncancelled && !rn2(3) && !Drain_resistance) {
+/*JP
losexp("life drainage");
+*/
+ losexp("\90¶\96½\97Í\82ð\8bz\8eû\82³\82ê\82Ä");
}
break;
case AD_LEGS: {
register long side = rn2(2) ? RIGHT_SIDE : LEFT_SIDE;
+/*JP
const char *sidestr = (side == RIGHT_SIDE) ? "right" : "left";
+*/
+ const char *sidestr = (side == RIGHT_SIDE) ? "\89E" : "\8d¶";
/* This case is too obvious to ignore, but Nethack is not in
* general very good at considering height--most short monsters
* [FIXME: why can't a flying attacker overcome this?]
*/
if (u.usteed || Levitation || Flying) {
+#if 0 /*JP*/
pline("%s tries to reach your %s %s!", Monnam(mtmp), sidestr,
body_part(LEG));
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì%s%s\82É\8dU\8c\82\82µ\82æ\82¤\82Æ\82µ\82½\81I", Monnam(mtmp), sidestr,
+ body_part(LEG));
+#endif
dmg = 0;
} else if (mtmp->mcan) {
+#if 0 /*JP*/
pline("%s nuzzles against your %s %s!", Monnam(mtmp), sidestr,
body_part(LEG));
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì%s%s\82É\95@\82ð\82·\82è\82æ\82¹\82½\81I", Monnam(mtmp), sidestr,
+ body_part(LEG));
+#endif
dmg = 0;
} else {
if (uarmf) {
if (rn2(2) && (uarmf->otyp == LOW_BOOTS
|| uarmf->otyp == IRON_SHOES))
+#if 0 /*JP*/
pline("%s pricks the exposed part of your %s %s!",
Monnam(mtmp), sidestr, body_part(LEG));
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì%s%s\82ð\82¿\82\82è\82Æ\8eh\82µ\82½\81I",
+ Monnam(mtmp), sidestr, body_part(LEG));
+#endif
else if (!rn2(5))
+#if 0 /*JP*/
pline("%s pricks through your %s boot!", Monnam(mtmp),
sidestr);
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì%s\82Ì\8cC\82²\82µ\82É\82¿\82\82è\82Æ\8eh\82µ\82½\81I", Monnam(mtmp),
+ sidestr);
+#endif
else {
+#if 0 /*JP*/
pline("%s scratches your %s boot!", Monnam(mtmp),
sidestr);
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì%s\82Ì\8cC\82ð\82Ð\82Á\82©\82¢\82½\81I", Monnam(mtmp),
+ sidestr);
+#endif
dmg = 0;
break;
}
} else
+#if 0 /*JP*/
pline("%s pricks your %s %s!", Monnam(mtmp), sidestr,
body_part(LEG));
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì%s%s\82ð\82¿\82\82è\82Æ\8eh\82µ\82½\81I", Monnam(mtmp), sidestr,
+ body_part(LEG));
+#endif
set_wounded_legs(side, rnd(60 - ACURR(A_DEX)));
exercise(A_STR, FALSE);
exercise(A_DEX, FALSE);
if (!rn2(3)) {
if (mtmp->mcan) {
if (!Deaf)
+/*JP
You_hear("a cough from %s!", mon_nam(mtmp));
+*/
+ You_hear("%s\82ª\83S\83z\83b\83S\83z\83b\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81I", mon_nam(mtmp));
} else {
if (!Deaf)
+/*JP
You_hear("%s hissing!", s_suffix(mon_nam(mtmp)));
+*/
+ You_hear("%s\82ª\83V\83\85\81[\83b\82Æ\82¢\82¤\90º\82ð\95·\82¢\82½\81I", mon_nam(mtmp));
if (!rn2(10)
|| (flags.moonphase == NEW_MOON && !have_lizard())) {
do_stone:
if (u_slip_free(mtmp, mattk)) {
dmg = 0;
} else {
+/*JP
pline("%s swings itself around you!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82É\91Ì\82ð\97\8d\82Ý\82Â\82©\82¹\82½\81I", Monnam(mtmp));
u.ustuck = mtmp;
}
} else if (u.ustuck == mtmp) {
&& !Is_medusa_level(&u.uz)
&& !Is_waterlevel(&u.uz);
+/*JP
pline("%s drowns you...", Monnam(mtmp));
+*/
+ pline("\82 \82È\82½\82Í%s\82É\97\8d\82Ý\82Â\82©\82ê\82Ä\93M\82ê\82½\81D\81D\81D", Monnam(mtmp));
killer.format = KILLED_BY_AN;
+#if 0 /*JP*/
Sprintf(killer.name, "%s by %s",
moat ? "moat" : "pool of water",
an(mtmp->data->mname));
+#else
+ Sprintf(buf, "%s\82Ì%s\82É\97\8d\82Ý\82Â\82©\82ê\82Ä",
+ moat ? "\96x" : "\92r",
+ mtmp->data->mname);
+#endif
done(DROWNING);
} else if (mattk->aatyp == AT_HUGS)
+/*JP
You("are being crushed.");
+*/
+ You("\82Â\82Ô\82³\82ê\82Â\82Â\82 \82é\81D");
} else {
dmg = 0;
if (flags.verbose)
+#if 0 /*JP*/
pline("%s brushes against your %s.", Monnam(mtmp),
body_part(LEG));
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì%s\82É\90G\82ê\82½\81D", Monnam(mtmp),
+ body_part(LEG));
+#endif
}
} else
dmg = 0;
hitmsg(mtmp, mattk);
if (uncancelled && !rn2(4) && u.ulycn == NON_PM
&& !Protection_from_shape_changers && !defends(AD_WERE, uwep)) {
+/*JP
You_feel("feverish.");
+*/
+ You("\94M\82ª\82 \82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
exercise(A_CON, FALSE);
u.ulycn = monsndx(mdat);
retouch_equipment(2);
/* Continue below */
} else if (dmgtype(youmonst.data, AD_SEDU)
|| (SYSOPT_SEDUCE && dmgtype(youmonst.data, AD_SSEX))) {
+#if 0 /*JP*/
pline("%s %s.", Monnam(mtmp),
mtmp->minvent
? "brags about the goods some dungeon explorer provided"
: "makes some remarks about how difficult theft is lately");
+#else
+ pline("%s\82Í%s\81D", Monnam(mtmp),
+ mtmp->minvent
+ ? "\82 \82é\96À\8b{\92T\8c\9f\89Æ\82ª\92u\82¢\82Ä\82Á\82½\95i\95¨\82ð\8e©\96\9d\82µ\82½"
+ : "\8dÅ\8bß\90Þ\93\90\82ª\82¢\82©\82É\8d¢\93ï\82©\92W\81X\82Æ\8fq\82×\82½");
+#endif
if (!tele_restrict(mtmp))
(void) rloc(mtmp, TRUE);
return 3;
} else if (mtmp->mcan) {
if (!Blind) {
+#if 0 /*JP*/
pline("%s tries to %s you, but you seem %s.",
Adjmonnam(mtmp, "plain"),
flags.female ? "charm" : "seduce",
flags.female ? "unaffected" : "uninterested");
+#else
+ pline("%s\82Í\82 \82È\82½\82ð%s\82µ\82æ\82¤\82Æ\82µ\82½\81C\82µ\82©\82µ\82 \82È\82½\82Í%s\81D",
+ Adjmonnam(mtmp, "\92n\96¡\82È"),
+ flags.female ? "\96£\97¹" : "\97U\98f",
+ flags.female ? "\89e\8b¿\82ð\8eó\82¯\82È\82¢" : "\8b»\96¡\82ª\82È\82¢");
+#endif
}
if (rn2(3)) {
if (!tele_restrict(mtmp))
(void) rloc(mtmp, TRUE);
if (is_animal(mtmp->data) && *buf) {
if (canseemon(mtmp))
+#if 0 /*JP*/
pline("%s tries to %s away with %s.", Monnam(mtmp),
locomotion(mtmp->data, "run"), buf);
+#else
+ pline("%s\82Í%s\82ð\8e\9d\82Á\82Ä\93¦\82°\8fo\82µ\82½\81D", Monnam(mtmp),
+ buf);
+#endif
}
monflee(mtmp, 0, FALSE, FALSE);
return 3;
hitmsg(mtmp, mattk);
if (uncancelled) {
if (flags.verbose)
+/*JP
Your("position suddenly seems very uncertain!");
+*/
+ pline("\8e©\95ª\82Ì\82¢\82é\88Ê\92u\82ª\93Ë\91R\95s\96¾\8am\82É\82È\82Á\82½\81I");
tele();
}
break;
if (mtmp->mcan)
break;
if (u.umonnum == PM_IRON_GOLEM) {
+/*JP
You("rust!");
+*/
+ You("\8eK\82Ñ\82Â\82¢\82½\81I");
/* KMH -- this is okay with unchanging */
rehumanize();
break;
if (mtmp->mcan)
break;
if (u.umonnum == PM_WOOD_GOLEM || u.umonnum == PM_LEATHER_GOLEM) {
+/*JP
You("rot!");
+*/
+ You("\95\85\82Á\82½\81I");
/* KMH -- this is okay with unchanging */
rehumanize();
break;
if (!uwep && !uarmu && !uarm && !uarmh && !uarms && !uarmg && !uarmc
&& !uarmf) {
boolean goaway = FALSE;
+/*JP
pline("%s hits! (I hope you don't mind.)", Monnam(mtmp));
+*/
+ pline("%s\82Ì\8dU\8c\82\82Í\96½\92\86\82µ\82½\81D(\8bC\82É\82µ\82È\82¢\82æ\82¤\82É\81D)", Monnam(mtmp));
if (Upolyd) {
u.mh += rnd(7);
if (!rn2(7)) {
} else {
if (Role_if(PM_HEALER)) {
if (!Deaf && !(moves % 5))
+/*JP
verbalize("Doc, I can't help you unless you cooperate.");
+*/
+ verbalize("\83h\83N\83^\81[\81I\8b¦\97Í\82ð\82¨\82Ë\82ª\82¢\82µ\82Ü\82·\82í\81D");
dmg = 0;
} else
hitmsg(mtmp, mattk);
if (!mtmp->mcan && !rn2(10)) {
if (!Deaf) {
if (Blind)
+/*JP
You_hear("laughter.");
+*/
+ You_hear("\8fÎ\82¢\90º\82ð\95·\82¢\82½\81D");
else
+/*JP
pline("%s chuckles.", Monnam(mtmp));
+*/
+ pline("%s\82Í\83N\83X\83N\83X\8fÎ\82Á\82½\81D", Monnam(mtmp));
}
if (u.umonnum == PM_CLAY_GOLEM) {
+/*JP
pline("Some writing vanishes from your head!");
+*/
+ pline("\82¢\82\82Â\82©\82Ì\95¶\8e\9a\82ª\82 \82È\82½\82Ì\93ª\82©\82ç\8fÁ\82¦\82½\81I");
/* KMH -- this is okay with unchanging */
rehumanize();
break;
hitmsg(mtmp, mattk);
if (!mtmp->mcan && !rn2(3))
if (Acid_resistance) {
+/*JP
pline("You're covered in acid, but it seems harmless.");
+*/
+ pline("\8e_\82Å\95¢\82í\82ê\82½\81D\82µ\82©\82µ\8f\9d\82Â\82©\82È\82¢\81D");
dmg = 0;
} else {
+/*JP
pline("You're covered in acid! It burns!");
+*/
+ You("\8e_\82Å\95¢\82í\82ê\8fÄ\82¯\82½\81I");
exercise(A_STR, FALSE);
}
else
if (!mtmp->mcan && !rn2(4) && !mtmp->mspec_used) {
mtmp->mspec_used = mtmp->mspec_used + (dmg + rn2(6));
if (Confusion)
+/*JP
You("are getting even more confused.");
+*/
+ You("\82Ü\82·\82Ü\82·\8d¬\97\90\82µ\82½\81D");
else
+/*JP
You("are getting confused.");
+*/
+ You("\8d¬\97\90\82µ\82Ä\82«\82½\81D");
make_confused(HConfusion + dmg, FALSE);
}
dmg = 0;
break;
case AD_DETH:
+/*JP
pline("%s reaches out with its deadly touch.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8e\80\82Ì\98r\82ð\82Ì\82Î\82µ\82½\81D", Monnam(mtmp));
if (is_undead(youmonst.data)) {
/* Still does normal damage */
+/*JP
pline("Was that the touch of death?");
+*/
+ pline("\8d¡\82Ì\82Í\8e\80\82Ì\90é\8d\90\82¾\82Á\82½\82Ì\82©\82È\81H");
break;
}
switch (rn2(20)) {
case 17:
if (!Antimagic) {
killer.format = KILLED_BY_AN;
+/*JP
Strcpy(killer.name, "touch of death");
+*/
+ Strcpy(killer.name, "\8e\80\82Ì\90é\8d\90\82Å");
done(DIED);
dmg = 0;
break;
} /* else FALLTHRU */
default: /* case 16: ... case 5: */
+/*JP
You_feel("your life force draining away...");
+*/
+ You("\91Ì\97Í\82ª\92D\82í\82ê\82Ä\82¢\82\82æ\82¤\82È\8bC\82ª\82µ\82½\81D\81D\81D");
permdmg = 1; /* actual damage done below */
break;
case 4:
case 0:
if (Antimagic)
shieldeff(u.ux, u.uy);
+/*JP
pline("Lucky for you, it didn't work!");
+*/
+ pline("\89^\82Ì\82æ\82¢\82±\82Æ\82É\82È\82ñ\82Æ\82à\82È\82©\82Á\82½\81I");
dmg = 0;
break;
}
break;
case AD_PEST:
+/*JP
pline("%s reaches out, and you feel fever and chills.", Monnam(mtmp));
+*/
+ pline("%s\82Í\98r\82ð\82Ì\82Î\82µ\82½\81C\82 \82È\82½\82Í\88«\8a¦\82ð\8a´\82¶\82½\81D", Monnam(mtmp));
(void) diseasemu(mdat); /* plus the normal damage */
break;
case AD_FAMN:
+/*JP
pline("%s reaches out, and your body shrivels.", Monnam(mtmp));
+*/
+ pline("%s\82Í\98r\82ð\90L\82Î\82µ\82½\81C\82 \82È\82½\82Ì\91Ì\82Í\82µ\82È\82Ñ\82½\81D", Monnam(mtmp));
exercise(A_CON, FALSE);
if (!is_fainted())
morehungry(rn1(40, 40));
if (!uncancelled)
break;
if (flaming(youmonst.data)) {
+/*JP
pline_The("slime burns away!");
+*/
+ pline_The("\83X\83\89\83C\83\80\82Í\94R\82¦\82½\81I");
dmg = 0;
} else if (Unchanging || noncorporeal(youmonst.data)
|| youmonst.data == &mons[PM_GREEN_SLIME]) {
+/*JP
You("are unaffected.");
+*/
+ You("\89e\8b¿\82ð\8eó\82¯\82È\82¢\81D");
dmg = 0;
} else if (!Slimed) {
+/*JP
You("don't feel very well.");
+*/
+ You("\8bC\95ª\82ª\88«\82¢\81D");
make_slimed(10L, (char *) 0);
delayed_killer(SLIMED, KILLED_BY_AN, mtmp->data->mname);
} else
+/*JP
pline("Yuck!");
+*/
+ pline("\83E\83Q\83F\81[\81I");
break;
case AD_ENCH: /* KMH -- remove enchantment (disenchanter) */
hitmsg(mtmp, mattk);
struct obj *obj = some_armor(&youmonst);
if (drain_item(obj)) {
+/*JP
pline("%s less effective.", Yobjnam2(obj, "seem"));
+*/
+ Your("%s\82©\82ç\96\82\97Í\82ª\8fÁ\82¦\82½\82æ\82¤\82¾\81D", xname(obj));
}
}
break;
* like horses for now :-)
*/
Strcpy(buf, mon_nam(u.usteed));
+#if 0 /*JP*/
pline("%s lunges forward and plucks you off %s!", Monnam(mtmp),
buf);
+#else
+ pline("%s\82Í\93Ë\90i\82µ\82 \82È\82½\82ð%s\82©\82ç\88ø\82«\97\8e\82µ\82½\81I", Monnam(mtmp),
+ buf);
+#endif
dismount_steed(DISMOUNT_ENGULFED);
} else
+/*JP
pline("%s engulfs you!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82ð\88ù\82Ý\82±\82ñ\82¾\81I", Monnam(mtmp));
stop_occupation();
reset_occupations(); /* behave as if you had moved */
if (u.utrap) {
+#if 0 /*JP*/
You("are released from the %s!",
u.utraptype == TT_WEB ? "web" : "trap");
+#else
+ You("%s\82©\82ç\89ð\95ú\82³\82ê\82½\81I",
+ u.utraptype == TT_WEB ? "\82\82à\82Ì\91\83" : "ã©");
+#endif
u.utrap = 0;
}
i = number_leashed();
if (i > 0) {
+#if 0 /*JP*/
const char *s = (i > 1) ? "leashes" : "leash";
pline_The("%s %s loose.", s, vtense(s, "snap"));
+#else
+ pline("\95R\82Í\83p\83`\83\93\82Æ\90Ø\82ê\82½\81D");
+#endif
unleash_all();
}
u.uswldtim = 0;
tmp = 0;
} else if (u.uswldtim == 0) {
+/*JP
pline("%s totally digests you!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82ð\8a®\91S\82É\8fÁ\89»\82µ\82½\81I", Monnam(mtmp));
tmp = u.uhp;
if (Half_physical_damage)
tmp *= 2; /* sorry */
} else {
+#if 0 /*JP*/
pline("%s%s digests you!", Monnam(mtmp),
(u.uswldtim == 2) ? " thoroughly"
: (u.uswldtim == 1) ? " utterly" : "");
+#else
+ pline("%s\82Í\82 \82È\82½\82ð%s\8fÁ\89»\82µ\82Ä\82¢\82é\81I", Monnam(mtmp),
+ (u.uswldtim == 2) ? "\93O\92ê\93I\82É"
+ : (u.uswldtim == 1) ? "\8a®\91S\82É" : "");
+#endif
exercise(A_STR, FALSE);
}
break;
case AD_PHYS:
physical_damage = TRUE;
if (mtmp->data == &mons[PM_FOG_CLOUD]) {
+#if 0 /*JP*/
You("are laden with moisture and %s",
flaming(youmonst.data)
? "are smoldering out!"
: amphibious(youmonst.data)
? "feel comforted."
: "can barely breathe!");
+#else
+ You("\8e¼\8bC\82É\8bê\82µ\82ß\82ç\82ê\81C%s",
+ flaming(youmonst.data)
+ ? "\82\82·\82Ô\82Á\82½\81I"
+ : Breathless ? "\8f\81X\95s\89õ\82É\8a´\82¶\82½\81D"
+ : amphibious(youmonst.data)
+ ? "\88À\82ç\82¬\82ð\8a´\82¶\82½\81D"
+ : "\91§\82ð\82·\82é\82Ì\82ª\82â\82Á\82Æ\82¾\81I");
+#endif
/* NB: Amphibious includes Breathless */
if (Amphibious && !flaming(youmonst.data))
tmp = 0;
} else {
+/*JP
You("are pummeled with debris!");
+*/
+ You("\8a¢âI\82Å\92É\82ß\82Â\82¯\82ç\82ê\82½\81I");
exercise(A_STR, FALSE);
}
break;
case AD_ACID:
if (Acid_resistance) {
+/*JP
You("are covered with a seemingly harmless goo.");
+*/
+ You("\96³\8aQ\82Á\82Û\82¢\82Ë\82Î\82Â\82\82à\82Ì\82Å\82¨\82¨\82í\82ê\82½\81D");
tmp = 0;
} else {
if (Hallucination)
+/*JP
pline("Ouch! You've been slimed!");
+*/
+ pline("\82°\82°\82ñ\81I\82 \82È\82½\82Í\82Ê\82é\82Ê\82é\82¾\81I");
else
+/*JP
You("are covered in slime! It burns!");
+*/
+ You("\82×\82Æ\82×\82Æ\82É\82È\82Á\82½\81D\82»\82µ\82Ä\8e_\82É\8fÄ\82©\82ê\82½\81I");
exercise(A_STR, FALSE);
}
break;
if (!Blind) {
long was_blinded = Blinded;
if (!Blinded)
+/*JP
You_cant("see in here!");
+*/
+ You("\89½\82à\8c©\82¦\82È\82¢\81I");
make_blinded((long) tmp, FALSE);
if (!was_blinded && !Blind)
Your1(vision_clears);
break;
case AD_ELEC:
if (!mtmp->mcan && rn2(2)) {
+/*JP
pline_The("air around you crackles with electricity.");
+*/
+ pline("\82 \82È\82½\82Ì\89ñ\82è\82Ì\8bó\8bC\82Í\93d\8bC\82Å\83s\83\8a\83s\83\8a\82µ\82Ä\82¢\82é\81D");
if (Shock_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
You("seem unhurt.");
+*/
+ You("\8f\9d\82Â\82©\82È\82¢\82æ\82¤\82¾\81D");
ugolemeffects(AD_ELEC, tmp);
tmp = 0;
}
if (!mtmp->mcan && rn2(2)) {
if (Cold_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
You_feel("mildly chilly.");
+*/
+ pline("\82Ð\82ñ\82â\82è\82µ\82½\81D");
ugolemeffects(AD_COLD, tmp);
tmp = 0;
} else
+/*JP
You("are freezing to death!");
+*/
+ You("\93\80\8e\80\82µ\82»\82¤\82¾\81I");
} else
tmp = 0;
break;
if (!mtmp->mcan && rn2(2)) {
if (Fire_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
You_feel("mildly hot.");
+*/
+ pline("\83|\83J\83|\83J\82µ\82½\81D");
ugolemeffects(AD_FIRE, tmp);
tmp = 0;
} else
+/*JP
You("are burning to a crisp!");
+*/
+ You("\94R\82¦\82Ä\83J\83\89\83J\83\89\82É\82È\82Á\82½\81I");
burn_away_slime();
} else
tmp = 0;
stop_occupation();
if (touch_petrifies(youmonst.data) && !resists_ston(mtmp)) {
+#if 0 /*JP*/
pline("%s very hurriedly %s you!", Monnam(mtmp),
is_animal(mtmp->data) ? "regurgitates" : "expels");
+#else
+ pline("%s\82Í\8dQ\82Ä\82Ä\82 \82È\82½\82ð%s\82µ\82½\81I", Monnam(mtmp),
+ is_animal(mtmp->data)? "\93f\82«\96ß" : "\94r\8fo");
+#endif
expels(mtmp, mtmp->data, FALSE);
} else if (!u.uswldtim || youmonst.data->msize >= MZ_HUGE) {
+/*JP
You("get %s!", is_animal(mtmp->data) ? "regurgitated" : "expelled");
+*/
+ You("%s\82³\82ê\82½\81I", is_animal(mtmp->data)? "\93f\82«\96ß" : "\94r\8fo");
if (flags.verbose
&& (is_animal(mtmp->data)
|| (dmgtype(mtmp->data, AD_DGST) && Slow_digestion)))
+/*JP
pline("Obviously %s doesn't like your taste.", mon_nam(mtmp));
+*/
+ You("\82Ç\82¤\82à%s\8dD\82Ý\82Ì\96¡\82¶\82á\82È\82¢\82æ\82¤\82¾\81D", mon_nam(mtmp));
expels(mtmp, mtmp->data, FALSE);
}
return 1;
return 0;
if (!ufound)
+#if 0 /*JP*/
pline("%s explodes at a spot in %s!",
canseemon(mtmp) ? Monnam(mtmp) : "It",
levl[mtmp->mux][mtmp->muy].typ == WATER ? "empty water"
: "thin air");
+#else
+ pline("%s\82Í\89½\82à\82È\82¢%s\82Å\94\9a\94\82µ\82½\81I",
+ canseemon(mtmp) ? Monnam(mtmp) : "\89½\8eÒ\82©",
+ levl[mtmp->mux][mtmp->muy].typ == WATER ? "\90\85\92\86"
+ : "\8bó\8aÔ");
+#endif
else {
register int tmp = d((int) mattk->damn, (int) mattk->damd);
register boolean not_affected = defends((int) mattk->adtyp, uwep);
if (!not_affected) {
if (ACURR(A_DEX) > rnd(20)) {
+/*JP
You("duck some of the blast.");
+*/
+ You("\8fÕ\8c\82\82ð\82³\82¯\82½\81D");
tmp = (tmp + 1) / 2;
} else {
if (flags.verbose)
+/*JP
You("get blasted!");
+*/
+ You("\8fÕ\8c\82\82ð\82\82ç\82Á\82½\81I");
}
if (mattk->adtyp == AD_FIRE)
burn_away_slime();
if (!not_affected) {
/* sometimes you're affected even if it's invisible */
if (mon_visible(mtmp) || (rnd(tmp /= 2) > u.ulevel)) {
+/*JP
You("are blinded by a blast of light!");
+*/
+ You("\82Ü\82Î\82ä\82¢\8cõ\82É\96Ú\82ª\82\82ç\82ñ\82¾\81I");
make_blinded((long) tmp, FALSE);
if (!Blind)
Your1(vision_clears);
} else if (flags.verbose)
+/*JP
You("get the impression it was not terribly bright.");
+*/
+ You("\82»\82ê\82Í\8b°\82ë\82µ\82\82Ü\82Ô\82µ\82¢\82Æ\82¢\82¤\82Ù\82Ç\82¶\82á\82È\82¢\82Æ\8ev\82Á\82½\81D");
}
break;
if (!not_affected) {
boolean chg;
if (!Hallucination)
+/*JP
You("are caught in a blast of kaleidoscopic light!");
+*/
+ You("\96\9c\89Ø\8b¾\82Ì\8cõ\82É\95ß\82ç\82¦\82ç\82ê\82½\81I");
/* avoid hallucinating the black light as it dies */
mondead(mtmp); /* remove it from map now */
kill_agr = FALSE; /* already killed (maybe lifesaved) */
chg =
make_hallucinated(HHallucination + (long) tmp, FALSE, 0L);
+/*JP
You("%s.", chg ? "are freaked out" : "seem unaffected");
+*/
+ You("%s\81D", chg ? "\90\8c\82¢\82µ\82ê\82½" : "\89e\8b¿\82ð\8eó\82¯\82È\82©\82Á\82½");
}
break;
break;
}
if (not_affected) {
+/*JP
You("seem unaffected by it.");
+*/
+ You("\89e\8b¿\82ð\8eó\82¯\82È\82¢\82æ\82¤\82¾\81D");
ugolemeffects((int) mattk->adtyp, tmp);
}
}
register struct attack *mattk;
{
static const char *const reactions[] = {
+#if 0 /*JP*/
"confused", /* [0] */
"stunned", /* [1] */
"puzzled", "dazzled", /* [2,3] */
"irritated", "inflamed", /* [4,5] */
"tired", /* [6] */
"dulled", /* [7] */
+#else
+ "\8d¬\97\90\82µ\82½", /* [0] */
+ "\9eN\9eO\82Æ\82µ\82½", /* [1] */
+ "\8d¢\98f\82µ\82½", "\8c¶\98f\82³\82ê\82½", /* [2,3] */
+ "\83C\83\89\83C\83\89\82µ\82½", "\8b»\95±\82µ\82½", /* [4,5] */
+ "\94æ\82ê\82½", /* [6] */
+ "\82Ú\82ñ\82â\82è\82µ\82½", /* [7] */
+#endif
};
int react = -1;
boolean cancelled = (mtmp->mcan != 0), already = FALSE;
if (cancelled || !mtmp->mcansee) {
if (!canseemon(mtmp))
break; /* silently */
+#if 0 /*JP*/
pline("%s %s.", Monnam(mtmp),
(mtmp->data == &mons[PM_MEDUSA] && mtmp->mcan)
? "doesn't look all that ugly"
: "gazes ineffectually");
+#else
+ pline("%s\82Í%s\81D", Monnam(mtmp),
+ (mtmp->data == &mons[PM_MEDUSA] && mtmp->mcan)
+ ? "\82»\82ê\82Ù\82Ç\8fX\82\82È\82¢\82±\82Æ\82É\8bC\82ª\82Â\82¢\82½"
+ : "\96³\88Ó\96¡\82É\82É\82ç\82ñ\82¾");
+#endif
break;
}
if (Reflecting && couldsee(mtmp->mx, mtmp->my)
boolean useeit = canseemon(mtmp);
if (useeit)
+/*JP
(void) ureflects("%s gaze is reflected by your %s.",
+*/
+ (void) ureflects("%s\82Ì\82É\82ç\82Ý\82Í%s\82Å\94½\8eË\82³\82ê\82½\81D",
s_suffix(Monnam(mtmp)));
if (mon_reflects(
mtmp, !useeit ? (char *) 0
+/*JP
: "The gaze is reflected away by %s %s!"))
+*/
+ : "\82É\82ç\82Ý\82Í%s\82Ì%s\82É\82æ\82Á\82Ä\94½\8eË\82³\82ê\82½\81I"))
break;
if (!m_canseeu(mtmp)) { /* probably you're invisible */
if (useeit)
+#if 0 /*JP*/
pline(
"%s doesn't seem to notice that %s gaze was reflected.",
Monnam(mtmp), mhis(mtmp));
+#else
+ pline("\82É\82ç\82Ý\82ª\94½\8eË\82µ\82Ä\82¢\82é\82±\82Æ\82É%s\82Í\8bC\95t\82¢\82Ä\82¢\82È\82¢\82æ\82¤\82¾\81D",
+ Monnam(mtmp));
+#endif
break;
}
if (useeit)
+/*JP
pline("%s is turned to stone!", Monnam(mtmp));
+*/
+ pline("%s\82Í\90Î\82É\82È\82Á\82½\81I", Monnam(mtmp));
stoned = TRUE;
killed(mtmp);
}
if (canseemon(mtmp) && couldsee(mtmp->mx, mtmp->my)
&& !Stone_resistance) {
+/*JP
You("meet %s gaze.", s_suffix(mon_nam(mtmp)));
+*/
+ You("%s\82É\82É\82ç\82Ü\82ê\82½\81D", s_suffix(mon_nam(mtmp)));
stop_occupation();
if (poly_when_stoned(youmonst.data) && polymon(PM_STONE_GOLEM))
break;
+/*JP
You("turn to stone...");
+*/
+ You("\90Î\82É\82È\82Á\82½\81D\81D\81D");
killer.format = KILLED_BY;
Strcpy(killer.name, mtmp->data->mname);
done(STONING);
mtmp->mspec_used = mtmp->mspec_used + (conf + rn2(6));
if (!Confusion)
+/*JP
pline("%s gaze confuses you!", s_suffix(Monnam(mtmp)));
+*/
+ pline("%s\82Ì\82É\82ç\82Ý\82Å\82 \82È\82½\82Í\8d¬\97\90\82µ\82½\81I", s_suffix(Monnam(mtmp)));
else
+/*JP
You("are getting more and more confused.");
+*/
+ You("\82Ü\82·\82Ü\82·\8d¬\97\90\82µ\82½\81D");
make_confused(HConfusion + conf, FALSE);
stop_occupation();
}
int stun = d(2, 6);
mtmp->mspec_used = mtmp->mspec_used + (stun + rn2(6));
+/*JP
pline("%s stares piercingly at you!", Monnam(mtmp));
+*/
+ pline("%s\82Í\97â\82½\82¢\82Ü\82È\82´\82µ\82ð\82 \82È\82½\82É\8cü\82¯\82½\81I", Monnam(mtmp));
make_stunned((HStun & TIMEOUT) + (long) stun, TRUE);
stop_occupation();
}
} else {
int blnd = d((int) mattk->damn, (int) mattk->damd);
+/*JP
You("are blinded by %s radiance!", s_suffix(mon_nam(mtmp)));
+*/
+ You("%s\82Ì\8cõ\82Å\96Ú\82ª\8c©\82¦\82È\82\82È\82Á\82½\81I", mon_nam(mtmp));
make_blinded((long) blnd, FALSE);
stop_occupation();
/* not blind at this point implies you're wearing
} else {
int dmg = d(2, 6), lev = (int) mtmp->m_lev;
+/*JP
pline("%s attacks you with a fiery gaze!", Monnam(mtmp));
+*/
+ pline("%s\82Í\89\8a\82Ì\82É\82ç\82Ý\8dU\8c\82\82ð\82µ\82Ä\82«\82½\81I", Monnam(mtmp));
stop_occupation();
if (Fire_resistance) {
+/*JP
pline_The("fire doesn't feel hot!");
+*/
+ pline("\89Î\82Í\82º\82ñ\82º\82ñ\94M\82\82È\82¢\81I");
dmg = 0;
}
burn_away_slime();
already = (mtmp->mfrozen != 0); /* can't happen... */
} else {
fall_asleep(-rnd(10), TRUE);
+/*JP
pline("%s gaze makes you very sleepy...",
+*/
+ pline("%s\82Ì\82É\82ç\82Ý\82Å\82 \82È\82½\82Í\96°\82\82È\82Á\82½\81D\81D\81D",
s_suffix(Monnam(mtmp)));
}
}
react = rn2(SIZE(reactions));
/* cancelled/hallucinatory feedback; monster might look "confused",
"stunned",&c but we don't actually set corresponding attribute */
+#if 0 /*JP*/
pline("%s looks %s%s.", Monnam(mtmp),
!rn2(3) ? "" : already ? "quite "
: (!rn2(2) ? "a bit " : "somewhat "),
reactions[react]);
+#else
+ pline("%s\82Í%s%s\82æ\82¤\82¾\81D", Monnam(mtmp),
+ !rn2(3) ? "" : already ? "\82©\82È\82è"
+ : (!rn2(2) ? "\8f\82µ" : "\82¢\82\82ç\82©"),
+ reactions[react]);
+#endif
}
return 0;
}
char qbuf[QBUFSZ];
if (mon->mcan || mon->mspec_used) {
+#if 0 /*JP*/
pline("%s acts as though %s has got a %sheadache.", Monnam(mon),
mhe(mon), mon->mcan ? "severe " : "");
+#else
+ pline("%s\82Í%s\93ª\82ª\92É\82¢\82Ó\82è\82ð\82µ\82½\81D", Monnam(mon),
+ mon->mcan ? "\82Ð\82Ç\82" : "");
+#endif
return 0;
}
if (unconscious()) {
+/*JP
pline("%s seems dismayed at your lack of response.", Monnam(mon));
+*/
+ pline("%s\82Í\95Ô\8e\96\82ª\82È\82¢\82Ì\82Å\8bC\82ª\88Þ\82¦\82½\82æ\82¤\82¾\81D", Monnam(mon));
return 0;
}
if (Blind)
+/*JP
pline("It caresses you...");
+*/
+ pline("\89½\8eÒ\82©\82ª\82 \82È\82½\82ð\95ø\82«\82µ\82ß\82Ä\82¢\82é\81D\81D\81D");
else
+/*JP
You_feel("very attracted to %s.", mon_nam(mon));
+*/
+ You("%s\82É\88ø\82«\82Â\82¯\82ç\82ê\82Ä\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D", mon_nam(mon));
/* if in the process of putting armor on or taking armor off,
interrupt that activity now */
(void) stop_donning((struct obj *) 0);
continue; /* next ring might not be worn */
}
if (rn2(20) < ACURR(A_CHA)) {
+#if 0 /*JP*/
(void) safe_qbuf(qbuf, "\"That ",
" looks pretty. May I have it?\"", ring,
xname, simpleonames, "ring");
+#else
+ (void) safe_qbuf(qbuf, "\81u\82È\82ñ\82Ä\91f\93G\82È",
+ "\82Å\82µ\82å\82¤\81D\82í\82½\82µ\82É\82\82ê\82Ü\82¹\82ñ\81H\81v", ring,
+ xname, simpleonames, "\8ew\97Ö");
+#endif
makeknown(RIN_ADORNMENT);
if (yn(qbuf) == 'n')
continue;
} else
+#if 0 /*JP*/
pline("%s decides she'd like %s, and takes it.",
Blind ? "She" : Monnam(mon), yname(ring));
+#else
+ pline("%s\82Í%s\82ª\82Æ\82Ä\82à\8bC\82É\82¢\82Á\82Ä\81C\82»\82ê\82ð\8eæ\82è\82 \82°\82½\81D",
+ Blind ? "\94Þ\8f\97" : Monnam(mon), xname(ring));
+#endif
makeknown(RIN_ADORNMENT);
if (ring == uleft || ring == uright)
Ring_gone(ring);
if (uarmg) {
/* don't put on ring if gloves are in the way */
if (!tried_gloves++)
+/*JP
mayberem(uarmg, "gloves");
+*/
+ mayberem(uarmg, "\8f¬\8eè");
if (uarmg)
break; /* no point trying further rings */
}
if (rn2(20) < ACURR(A_CHA)) {
+#if 0 /*JP*/
(void) safe_qbuf(qbuf, "\"That ",
" looks pretty. Would you wear it for me?\"",
ring, xname, simpleonames, "ring");
+#else
+ (void) safe_qbuf(qbuf, "\81u\82¨\82â\82È\82ñ\82Ä\82·\82Î\82ç\82µ\82¢",
+ "\82¾\81D\8e\84\82Ì\82½\82ß\82É\8ew\82É\82Í\82ß\82Ä\82\82ê\82È\82¢\82©\82¢\81H\81v",
+ ring, xname, simpleonames, "\8ew\97Ö");
+#endif
makeknown(RIN_ADORNMENT);
if (yn(qbuf) == 'n')
continue;
} else {
+#if 0 /*JP*/
pline("%s decides you'd look prettier wearing %s,",
Blind ? "He" : Monnam(mon), yname(ring));
+#else
+ pline("%s\82Í%s\82ð\82Â\82¯\82½\82 \82È\82½\82ª\82æ\82è\96£\97Í\93I\82¾\82Æ\8dl\82¦\81C",
+ Blind ? "\94Þ" : Monnam(mon), xname(ring));
+#endif
+/*JP
pline("and puts it on your finger.");
+*/
+ pline("\82 \82È\82½\82Ì\8ew\82É\82»\82ê\82ð\82Í\82ß\82½\81D");
}
makeknown(RIN_ADORNMENT);
if (!uright) {
+#if 0 /*JP*/
pline("%s puts %s on your right %s.",
Blind ? "He" : Monnam(mon), the(xname(ring)),
body_part(HAND));
+#else
+ pline("%s\82Í%s\82ð\82 \82È\82½\82Ì\89E%s\82É\82Í\82ß\82½\81D",
+ Blind ? "\94Þ" : Monnam(mon), the(xname(ring)),
+ body_part(HAND));
+#endif
setworn(ring, RIGHT_RING);
} else if (!uleft) {
+#if 0 /*JP*/
pline("%s puts %s on your left %s.",
Blind ? "He" : Monnam(mon), the(xname(ring)),
body_part(HAND));
+#else
+ pline("%s\82Í%s\82ð\82 \82È\82½\82Ì\8d¶%s\82É\82Í\82ß\82½\81D",
+ Blind ? "\94Þ" : Monnam(mon), the(xname(ring)),
+ body_part(HAND));
+#endif
setworn(ring, LEFT_RING);
} else if (uright && uright->otyp != RIN_ADORNMENT) {
+#if 0 /*JP*/
pline("%s replaces %s with %s.", Blind ? "He" : Monnam(mon),
yname(uright), yname(ring));
+#else
+ pline("%s\82Í%s\82ð%s\82É\82Æ\82è\82©\82¦\82½\81D", Blind ? "\94Þ" : Monnam(mon),
+ yname(uright), xname(ring));
+#endif
Ring_gone(uright);
setworn(ring, RIGHT_RING);
} else if (uleft && uleft->otyp != RIN_ADORNMENT) {
+#if 0 /*JP*/
pline("%s replaces %s with %s.", Blind ? "He" : Monnam(mon),
yname(uleft), yname(ring));
+#else
+ pline("%s\82Í%s\82ð%s\82É\82Æ\82è\82©\82¦\82½\81D", Blind ? "\94Þ" : Monnam(mon),
+ yname(uleft), xname(ring));
+#endif
Ring_gone(uleft);
setworn(ring, LEFT_RING);
} else
}
if (!uarmc && !uarmf && !uarmg && !uarms && !uarmh && !uarmu)
+#if 0 /*JP*/
pline("%s murmurs sweet nothings into your ear.",
Blind ? (fem ? "She" : "He") : Monnam(mon));
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì\8e¨\82à\82Æ\82Å\8aÃ\82¢\82³\82³\82â\82«\82ð\82Â\82Ô\82â\82¢\82½\81D",
+ Blind ? (fem ? "\94Þ\8f\97" : "\94Þ") : Monnam(mon));
+#endif
else
+#if 0 /*JP*/
pline("%s murmurs in your ear, while helping you undress.",
Blind ? (fem ? "She" : "He") : Monnam(mon));
+#else
+ pline("%s\82Í\8e¨\82à\82Æ\82Å\82 \82È\82½\82Ì\95\9e\82ð\92E\82ª\82¹\82È\82ª\82ç\82³\82³\82â\82¢\82½\81D",
+ Blind ? (fem ? "\94Þ\8f\97" : "\94Þ") : Monnam(mon));
+#endif
mayberem(uarmc, cloak_simple_name(uarmc));
if (!uarmc)
+/*JP
mayberem(uarm, "suit");
+*/
+ mayberem(uarm, "\83X\81[\83c");
+/*JP
mayberem(uarmf, "boots");
+*/
+ mayberem(uarmf, "\83u\81[\83c");
if (!tried_gloves)
+/*JP
mayberem(uarmg, "gloves");
+*/
+ mayberem(uarmg, "\8f¬\8eè");
+/*JP
mayberem(uarms, "shield");
+*/
+ mayberem(uarms, "\8f\82");
mayberem(uarmh, helm_simple_name(uarmh));
if (!uarmc && !uarm)
+/*JP
mayberem(uarmu, "shirt");
+*/
+ mayberem(uarmu, "\83V\83\83\83c");
if (uarm || uarmc) {
+#if 0 /*JP*/
verbalize("You're such a %s; I wish...",
flags.female ? "sweet lady" : "nice guy");
+#else
+ verbalize("%s\82¾\81D\81D\81D\82Æ\82¢\82¢\82Ì\82É\81D",
+ flags.female ? "\83`\83\83\81[\83~\83\93\83O" : "\82·\82Ä\82«");
+#endif
if (!tele_restrict(mon))
(void) rloc(mon, TRUE);
return 1;
adjalign(1);
/* by this point you have discovered mon's identity, blind or not... */
+/*JP
pline("Time stands still while you and %s lie in each other's arms...",
+*/
+ pline("\82 \82È\82½\82Æ%s\82ª\95ø\82«\8d\87\82¤\82Æ\81C\8e\9e\82ª\8e~\82Ü\82Á\82½\82æ\82¤\82É\8a´\82¶\82½\81D\81D\81D",
noit_mon_nam(mon));
if (rn2(35) > ACURR(A_CHA) + ACURR(A_INT)) {
/* Don't bother with mspec_used here... it didn't get tired! */
+/*JP
pline("%s seems to have enjoyed it more than you...",
+*/
+ pline("%s\82Í\82 \82È\82½\82æ\82è\8ay\82µ\82ñ\82¾\82æ\82¤\82¾\81D\81D\81D",
noit_Monnam(mon));
switch (rn2(5)) {
case 0:
+/*JP
You_feel("drained of energy.");
+*/
+ You("\91Ì\97Í\82ª\8fÁ\96Õ\82µ\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
u.uen = 0;
u.uenmax -= rnd(Half_physical_damage ? 5 : 10);
exercise(A_CON, FALSE);
u.uenmax = 0;
break;
case 1:
+/*JP
You("are down in the dumps.");
+*/
+ You("\88Ó\8bC\8fÁ\92¾\82µ\82½\81D");
(void) adjattrib(A_CON, -1, TRUE);
exercise(A_CON, FALSE);
context.botl = 1;
break;
case 2:
+/*JP
Your("senses are dulled.");
+*/
+ Your("\8cÜ\8a´\82Í\93Ý\82Á\82½\81D");
(void) adjattrib(A_WIS, -1, TRUE);
exercise(A_WIS, FALSE);
context.botl = 1;
break;
case 3:
if (!resists_drli(&youmonst)) {
+/*JP
You_feel("out of shape.");
+*/
+ You("\82\82½\82Ñ\82ê\82½\81D");
+/*JP
losexp("overexertion");
+*/
+ losexp("\89ß\98J\82Å");
} else {
+/*JP
You("have a curious feeling...");
+*/
+ You("\95Ï\82È\8a´\82¶\82ª\82µ\82½\81D\81D\81D");
}
break;
case 4: {
int tmp;
+/*JP
You_feel("exhausted.");
+*/
+ You("\94æ\82ê\82ð\8a´\82¶\82½\81D");
exercise(A_STR, FALSE);
tmp = rn1(10, 6);
+/*JP
losehp(Maybe_Half_Phys(tmp), "exhaustion", KILLED_BY);
+*/
+ losehp(Maybe_Half_Phys(tmp), "\90¸\97Í\82Ì\8eg\82¢\82·\82¬\82Å", KILLED_BY);
break;
}
}
} else {
mon->mspec_used = rnd(100); /* monster is worn out */
+/*JP
You("seem to have enjoyed it more than %s...", noit_mon_nam(mon));
+*/
+ You("%s\82æ\82è\82à\8ay\82µ\82ñ\82¾\82æ\82¤\82¾\81D\81D\81D", noit_mon_nam(mon));
switch (rn2(5)) {
case 0:
+/*JP
You_feel("raised to your full potential.");
+*/
+ You("\90ö\8dÝ\94\\97Í\82ª\8d\82\82Ü\82Á\82½\82æ\82¤\82É\8a´\82¶\82½\81D");
exercise(A_CON, TRUE);
u.uen = (u.uenmax += rnd(5));
break;
case 1:
+/*JP
You_feel("good enough to do it again.");
+*/
+ You("\82à\82¤\88ê\93x\82Å\82«\82é\82Æ\8ev\82Á\82½\81D");
(void) adjattrib(A_CON, 1, TRUE);
exercise(A_CON, TRUE);
context.botl = 1;
break;
case 2:
+/*JP
You("will always remember %s...", noit_mon_nam(mon));
+*/
+ You("\82¢\82Â\82Ü\82Å\82à%s\82ð\8ao\82¦\82Ä\82é\82¾\82ë\82¤\81D\81D\81D", mon_nam(mon));
(void) adjattrib(A_WIS, 1, TRUE);
exercise(A_WIS, TRUE);
context.botl = 1;
break;
case 3:
+/*JP
pline("That was a very educational experience.");
+*/
+ pline("\82Æ\82Ä\82à\8bM\8fd\82È\8co\8c±\82¾\82Á\82½\81D");
pluslvl(FALSE);
exercise(A_WIS, TRUE);
break;
case 4:
+/*JP
You_feel("restored to health!");
+*/
+ You("\82Æ\82Ä\82à\8c\92\8dN\82É\82È\82Á\82½\81I");
u.uhp = u.uhpmax;
if (Upolyd)
u.mh = u.mhmax;
if (mon->mtame) /* don't charge */
;
else if (rn2(20) < ACURR(A_CHA)) {
+#if 0 /*JP*/
pline("%s demands that you pay %s, but you refuse...",
noit_Monnam(mon), Blind ? (fem ? "her" : "him") : mhim(mon));
+#else
+ pline("%s\82Í\82 \82È\82½\82É\8bà\82ð\95¥\82¤\82æ\82¤\97v\8b\81\82µ\82½\82ª\81C\82 \82È\82½\82Í\8b\91\82ñ\82¾\81D\81D\81D",
+ Monnam(mon));
+#endif
} else if (u.umonnum == PM_LEPRECHAUN)
+/*JP
pline("%s tries to take your money, but fails...", noit_Monnam(mon));
+*/
+ pline("%s\82Í\8bà\82ð\8eæ\82ë\82¤\82Æ\82µ\82½\82ª\81C\8e¸\94s\82µ\82½\81D\81D\81D", noit_Monnam(mon));
else {
long cost;
long umoney = money_cnt(invent);
if (cost > umoney)
cost = umoney;
if (!cost)
+/*JP
verbalize("It's on the house!");
+*/
+ verbalize("\82±\82ê\82Í\82¨\82²\82è%s\81I", fem ? "\82æ" : "\82³");
else {
+#if 0 /*JP*/
pline("%s takes %ld %s for services rendered!", noit_Monnam(mon),
cost, currency(cost));
+#else
+ pline("%s\82Í\83T\81[\83r\83X\97¿\82Æ\82µ\82Ä%ld%s\92D\82¢\8eæ\82Á\82½\81I", noit_Monnam(mon),
+ cost, currency(cost));
+#endif
money2mon(mon, cost);
context.botl = 1;
}
return;
if (rn2(20) < ACURR(A_CHA)) {
+#if 0 /*JP*/
Sprintf(qbuf, "\"Shall I remove your %s, %s?\"", str,
(!rn2(2) ? "lover" : !rn2(2) ? "dear" : "sweetheart"));
+#else
+ Sprintf(qbuf,"\81u%s\82ð\8eæ\82Á\82Ä\82¢\82¢\81C%s\81H\81v", str,
+ (!rn2(2) ? "\82Ë\82¥" : flags.female ? "\83n\83j\81[" : "\83_\81[\83\8a\83\93" ));
+#endif
if (yn(qbuf) == 'n')
return;
} else {
char hairbuf[BUFSZ];
+#if 0 /*JP*/
Sprintf(hairbuf, "let me run my fingers through your %s",
body_part(HAIR));
+#else
+ Sprintf(hairbuf,
+ flags.female ? "\82È\82ñ\82ÄãY\97í\82È%s\82È\82ñ\82¾" : "\8a\95\82ð\8eæ\82Á\82½\82ç\82È\82©\82È\82©\83C\83J\83X\82¶\82á\82È\82¢",
+ body_part(HAIR));
+#endif
+#if 0 /*JP*/
verbalize("Take off your %s; %s.", str,
(obj == uarm)
? "let's get a little closer"
? "let me massage you"
/* obj == uarmh */
: hairbuf);
+#else
+ verbalize("%s\82ð\92E\82¢\82Å\81D\81D\81D%s\81D", str,
+ (obj == uarm)
+ ? "\82à\82¤\82¿\82å\82Á\82Æ\8añ\82è\82»\82Á\82Ä"
+ : (obj == uarmc || obj == uarms)
+ ? "\82»\82¤\82»\82¤"
+ : (obj == uarmf)
+ ? (flags.female ? "ãY\97í\82È\91«\82¾\82Ë" : "\82¤\82Ó\82Á\81C\82½\82\82Ü\82µ\82¢\91«\82Ë")
+ : (obj == uarmg)
+ ? (flags.female ? "\82È\82ñ\82Ä\91f\93G\82È\8eè\82¾" : "\82½\82\82Ü\82µ\82¢\98r\82Ë")
+ : (obj == uarmu)
+ ? (flags.female ? "\82«\82ê\82¢\82È\91Ì\82¾" : "\82½\82\82Ü\82µ\82¢\82Ì\82Ë")
+ /* obj == uarmh */
+ : hairbuf);
+#endif
}
remove_worn_item(obj, TRUE);
}
switch (olduasmon->mattk[i].adtyp) {
case AD_ACID:
if (!rn2(2)) {
+/*JP
pline("%s is splashed by your acid!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\8e_\82ð\82\82ç\82Á\82½\81I", Monnam(mtmp));
if (resists_acid(mtmp)) {
+/*JP
pline("%s is not affected.", Monnam(mtmp));
+*/
+ pline("%s\82Í\89e\8b¿\82ð\8eó\82¯\82È\82¢\81D", Monnam(mtmp));
tmp = 0;
}
} else
mon_to_stone(mtmp);
return 1;
}
+/*JP
pline("%s turns to stone!", Monnam(mtmp));
+*/
+ pline("%s\82Í\90Î\82É\82È\82Á\82½\81I", Monnam(mtmp));
stoned = 1;
xkilled(mtmp, 0);
if (mtmp->mhp > 0)
switch (youmonst.data->mattk[i].adtyp) {
case AD_PHYS:
if (youmonst.data->mattk[i].aatyp == AT_BOOM) {
+/*JP
You("explode!");
+*/
+ pline("\82 \82È\82½\82Í\94\9a\94\82µ\82½\81I");
/* KMH, balance patch -- this is okay with unchanging */
rehumanize();
goto assess_dmg;
if (mtmp->mcansee && haseyes(mtmp->data) && rn2(3)
&& (perceives(mtmp->data) || !Invis)) {
if (Blind)
+/*JP
pline("As a blind %s, you cannot defend yourself.",
+*/
+ pline("%s\82Í\96Ú\82ª\8c©\82¦\82È\82¢\82Ì\82Å\81C\82 \82È\82½\82Í\82É\82ç\82Ý\82Å\96h\8cä\82Å\82«\82È\82¢\81D",
youmonst.data->mname);
else {
if (mon_reflects(mtmp,
+/*JP
"Your gaze is reflected by %s %s."))
+*/
+ "\82 \82È\82½\82Ì\82É\82ç\82Ý\82Í%s\82Ì%s\82Å\94½\8eË\82µ\82½\81D"))
return 1;
+/*JP
pline("%s is frozen by your gaze!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\82É\82ç\82Ý\82Å\93®\82¯\82È\82\82È\82Á\82½\81I", Monnam(mtmp));
paralyze_monst(mtmp, tmp);
return 3;
}
}
} else { /* gelatinous cube */
+/*JP
pline("%s is frozen by you.", Monnam(mtmp));
+*/
+ pline("%s\82Í\93®\82¯\82È\82¢\81D", Monnam(mtmp));
paralyze_monst(mtmp, tmp);
return 3;
}
case AD_COLD: /* Brown mold or blue jelly */
if (resists_cold(mtmp)) {
shieldeff(mtmp->mx, mtmp->my);
+/*JP
pline("%s is mildly chilly.", Monnam(mtmp));
+*/
+ pline("%s\82Í\97â\82¦\82½\81D", Monnam(mtmp));
golemeffects(mtmp, AD_COLD, tmp);
tmp = 0;
break;
}
+/*JP
pline("%s is suddenly very cold!", Monnam(mtmp));
+*/
+ pline("%s\82Í\93Ë\91R\93\80\82è\82Ã\82¯\82É\82È\82Á\82½\81I", Monnam(mtmp));
u.mh += tmp / 2;
if (u.mhmax < u.mh)
u.mhmax = u.mh;
case AD_STUN: /* Yellow mold */
if (!mtmp->mstun) {
mtmp->mstun = 1;
+#if 0 /*JP*/
pline("%s %s.", Monnam(mtmp),
makeplural(stagger(mtmp->data, "stagger")));
+#else
+ pline("%s\82Í\82\82ç\82\82ç\82µ\82½\81D", Monnam(mtmp));
+#endif
}
tmp = 0;
break;
case AD_FIRE: /* Red mold */
if (resists_fire(mtmp)) {
shieldeff(mtmp->mx, mtmp->my);
+#if 0 /*JP*/
pline("%s is mildly warm.", Monnam(mtmp));
+#else
+ pline("%s\82Í\92g\82©\82\82È\82Á\82½\81D", Monnam(mtmp));
+#endif
golemeffects(mtmp, AD_FIRE, tmp);
tmp = 0;
break;
}
+#if 0 /*JP*/
pline("%s is suddenly very hot!", Monnam(mtmp));
+#else
+ pline("%s\82Í\93Ë\91R\94M\82\82È\82Á\82½\81I", Monnam(mtmp));
+#endif
break;
case AD_ELEC:
if (resists_elec(mtmp)) {
shieldeff(mtmp->mx, mtmp->my);
+#if 0 /*JP*/
pline("%s is slightly tingled.", Monnam(mtmp));
+#else
+ pline("%s\82Í\82¿\82å\82Á\82Æ\83s\83\8a\83s\83\8a\82µ\82½\81D", Monnam(mtmp));
+#endif
golemeffects(mtmp, AD_ELEC, tmp);
tmp = 0;
break;
}
+#if 0 /*JP*/
pline("%s is jolted with your electricity!", Monnam(mtmp));
+#else
+ pline("%s\82Í\93d\8bC\83V\83\87\83b\83N\82ð\82¤\82¯\82½\81I", Monnam(mtmp));
+#endif
break;
default:
tmp = 0;
assess_dmg:
if ((mtmp->mhp -= tmp) <= 0) {
+/*JP
pline("%s dies!", Monnam(mtmp));
+*/
+ pline("%s\82Í\8e\80\82ñ\82¾\81I", Monnam(mtmp));
xkilled(mtmp, 0);
if (mtmp->mhp > 0)
return 1;
/* 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"
void
}
if (mon) {
if (talk) {
+/*JP
pline_The("voice of %s booms:", align_gname(alignment));
+*/
+ pline("%s\82Ì\90º\82ª\8b¿\82¢\82½:", align_gname(alignment));
+/*JP
verbalize("Thou shalt pay for thine indiscretion!");
+*/
+ verbalize("\93ð\81C\96³\95ª\95Ê\82È\82é\8ds\82¢\82Ì\94±\82ð\8eó\82¯\82é\82×\82µ\81I");
if (!Blind)
+/*JP
pline("%s appears before you.", Amonnam(mon));
+*/
+ pline("%s\82ª\82 \82È\82½\82Ì\91O\82É\8c»\82í\82ê\82½\81D", Amonnam(mon));
mon->mstrategy &= ~STRAT_APPEARMSG;
}
mon->mpeaceful = FALSE;
long cash, demand, offer;
if (uwep && uwep->oartifact == ART_EXCALIBUR) {
+/*JP
pline("%s looks very angry.", Amonnam(mtmp));
+*/
+ pline("%s\82Í\82Æ\82Ä\82à\93{\82Á\82Ä\82¢\82é\82æ\82¤\82É\8c©\82¦\82é\81D", Amonnam(mtmp));
mtmp->mpeaceful = mtmp->mtame = 0;
set_malign(mtmp);
newsym(mtmp->mx, mtmp->my);
mtmp->minvis = mtmp->perminvis = 0;
if (wasunseen && canspotmon(mtmp)) {
+/*JP
pline("%s appears before you.", Amonnam(mtmp));
+*/
+ pline("%s\82ª\96Ú\82Ì\91O\82É\8c»\82í\82ê\82½\81D", Amonnam(mtmp));
mtmp->mstrategy &= ~STRAT_APPEARMSG;
}
newsym(mtmp->mx, mtmp->my);
}
if (youmonst.data->mlet == S_DEMON) { /* Won't blackmail their own. */
+#if 0 /*JP*/
pline("%s says, \"Good hunting, %s.\"", Amonnam(mtmp),
flags.female ? "Sister" : "Brother");
+#else
+ pline("%s\82Í\8c¾\82Á\82½\81u\82æ\82¤\8cZ%s\81I\81v\81D\82»\82µ\82Ä\8fÁ\82¦\82½\81D", Amonnam(mtmp),
+ flags.female ? "\96\85" : "\92í");
+#endif
if (!tele_restrict(mtmp))
(void) rloc(mtmp, TRUE);
return (1);
if (mon_has_amulet(mtmp))
demand = cash + (long) rn1(1000, 40);
+#if 0 /*JP*/
pline("%s demands %ld %s for safe passage.", Amonnam(mtmp), demand,
currency(demand));
+#else
+ pline("%s\82Í\92Ê\8ds\97¿\82Æ\82µ\82Ä%ld%s\97v\8b\81\82µ\82½\81D", Amonnam(mtmp), demand,
+ currency(demand));
+#endif
if ((offer = bribe(mtmp)) >= demand) {
+/*JP
pline("%s vanishes, laughing about cowardly mortals.",
+*/
+ pline("\89°\95a\82È\92è\96½\82Ì\82à\82Ì\82ð\8fÎ\82¢\82È\82ª\82ç\81C%s\82Í\8fÁ\82¦\82½\81D",
Amonnam(mtmp));
} else if (offer > 0L && (long) rnd(40) > (demand - offer)) {
+/*JP
pline("%s scowls at you menacingly, then vanishes.",
+*/
+ pline("%s\82Í\82 \82È\82½\82ð\88Ð\8ad\82µ\81C\8fÁ\82¦\82½\81D",
Amonnam(mtmp));
} else {
+/*JP
pline("%s gets angry...", Amonnam(mtmp));
+*/
+ pline("%s\82Í\93{\82Á\82½\81D\81D\81D", Amonnam(mtmp));
mtmp->mpeaceful = 0;
set_malign(mtmp);
return 0;
long offer;
long umoney = money_cnt(invent);
+/*JP
getlin("How much will you offer?", buf);
+*/
+ getlin("\82¨\8bà\82ð\82¢\82\82ç\97^\82¦\82é\81H", buf);
if (sscanf(buf, "%ld", &offer) != 1)
offer = 0L;
/*Michael Paddon -- fix for negative offer to monster*/
/*JAR880815 - */
if (offer < 0L) {
+/*JP
You("try to shortchange %s, but fumble.", mon_nam(mtmp));
+*/
+ You("%s\82ð\82¾\82Ü\82»\82¤\82Æ\82µ\82½\82ª\81C\8e¸\94s\82µ\82½\81D", mon_nam(mtmp));
return 0L;
} else if (offer == 0L) {
+/*JP
You("refuse.");
+*/
+ You("\8b\91\82ñ\82¾\81D");
return 0L;
} else if (offer >= umoney) {
+/*JP
You("give %s all your gold.", mon_nam(mtmp));
+*/
+ You("%s\82É\82¨\8bà\82ð\91S\82Ä\97^\82¦\82½\81D", mon_nam(mtmp));
offer = umoney;
} else {
+/*JP
You("give %s %ld %s.", mon_nam(mtmp), offer, currency(offer));
+*/
+ You("%s\82É%ld%s\97^\82¦\82½\81D", mon_nam(mtmp), offer, currency(offer));
}
(void) money2mon(mtmp, offer);
context.botl = 1;
if (mon) {
if (canspotmon(mon)) {
if (!Deaf) {
+/*JP
pline("%s rebukes you, saying:", Monnam(mon));
+*/
+ pline("%s\82Í\82 \82È\82½\82ð\94ñ\93ï\82µ\82½\81F", Monnam(mon));
+/*JP
verbalize("Since you desire conflict, have some more!");
+*/
+ verbalize("\93¬\91\88\82ð\96]\82ñ\82Å\82¢\82é\82æ\82¤\82¾\82©\82ç\81C\82à\82Á\82Æ\97^\82¦\82Ä\82â\82ë\82¤\81I");
} else {
+/*JP
pline("%s vanishes!", Monnam(mon));
+*/
+ pline("%s\82Í\8fÁ\82¦\82½\81I", Monnam(mon));
}
}
mongone(mon);
Hear_again(); /* attempt to cure any deafness now (divine
message will be heard even if that fails) */
if (Conflict) {
+/*JP
pline("A voice booms:");
+*/
+ pline("\90º\82ª\8b¿\82¢\82½:");
+/*JP
verbalize("Thy desire for conflict shall be fulfilled!");
+*/
+ verbalize("\81u\93ð\82Ì\93¬\91\88\82Ö\82Ì\96]\82Ý\81C\82©\82È\82¦\82ç\82ê\82é\82×\82µ\81I\81v");
/* send in some hostile angels instead */
lose_guardian_angel((struct monst *) 0);
} else if (u.ualign.record > 8) { /* fervent */
+/*JP
pline("A voice whispers:");
+*/
+ pline("\82³\82³\82â\82«\90º\82ª\95·\82±\82¦\82½:");
+/*JP
verbalize("Thou hast been worthy of me!");
+*/
+ verbalize("\81u\93ð\81C\89ä\82ª\95]\89¿\82ð\93¾\82½\82è\81I\81v");
mm.x = u.ux;
mm.y = u.uy;
if (enexto(&mm, mm.x, mm.y, &mons[PM_ANGEL])
TRUE)) != 0) {
mtmp->mstrategy &= ~STRAT_APPEARMSG;
if (!Blind)
+/*JP
pline("An angel appears near you.");
+*/
+ pline("\93V\8eg\82ª\82 \82È\82½\82Ì\82»\82Î\82É\8c»\82í\82ê\82½\81D");
else
+/*JP
You_feel("the presence of a friendly angel near you.");
+*/
+ You("\8bß\82\82É\97F\8dD\93I\82È\93V\8eg\82Ì\91¶\8dÝ\82ð\8a´\82¶\82½\81D");
/* guardian angel -- the one case mtame doesn't
* imply an edog structure, so we don't want to
* call tamedog().
/* 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"
/* for UNIX, Rand #def'd to (long)lrand48() or (long)random() */
(char *) 0, (char *) 0, (char *) 0, (char *) 0, (char *) 0,
(char *) 0, (char *) 0, (char *) 0, (char *) 0,
/* 14..16: trap door, teleport, level-teleport */
+/*JP
"Vlad was here", "ad aerarium", "ad aerarium", (char *) 0, (char *) 0,
+*/
+ "\83\94\83\89\83h\82Í\82±\82±\82É\82¢\82é", "ad aerarium", "ad aerarium", (char *) 0, (char *) 0,
(char *) 0, (char *) 0, (char *) 0, (char *) 0, (char *) 0,
};
} while (occupied(m.x, m.y) || bydoor(m.x, m.y));
/* Put a grave at m.x, m.y */
+/*JP
make_grave(m.x, m.y, dobell ? "Saved by the bell!" : (char *) 0);
+*/
+ make_grave(m.x, m.y, dobell ? "\83x\83\8b\82É\8b~\82í\82ê\82½\81I" : (char *) 0);
/* Possibly fill it with objects */
if (!rn2(3))
xchar ymin = inv_pos.y, ymax = inv_pos.y;
register xchar i;
+/*JP
pline_The("floor shakes violently under you!");
+*/
+ pline("\82 \82È\82½\82Ì\89º\82Ì\8f°\82ª\93Ë\91R\97h\82ê\82½\81I");
+/*JP
pline_The("walls around you begin to bend and crumble!");
+*/
+ pline("\82»\82µ\82Ä\82Ü\82í\82è\82Ì\95Ç\82ª\82Ë\82¶\82ê\81C\8dÓ\82¯\82½\81I");
display_nhwindow(WIN_MESSAGE, TRUE);
/* any trap hero is stuck in will be going away now */
delay_output();
}
+/*JP
You("are standing at the top of a stairwell leading down!");
+*/
+ You("\89º\82É\91±\82\90\81\82«\94²\82¯\8aK\92i\82Ì\8fã\82É\97§\82Á\82Ä\82¢\82é\81I");
mkstairs(u.ux, u.uy, 0, (struct mkroom *) 0); /* down */
newsym(u.ux, u.uy);
vision_full_recalc = 1; /* everything changed */
branch *br;
schar u_depth;
+/*JP
br = dungeon_branch("Fort Ludios");
+*/
+ br = dungeon_branch("\83\8d\81[\83f\83B\83I\83X\8dÔ");
if (on_level(&knox_level, &br->end1)) {
source = &br->end2;
} else {
return;
if (!(u.uz.dnum == oracle_level.dnum /* in main dungeon */
+#if 0 /*JP*/
&& !at_dgn_entrance("The Quest") /* but not Quest's entry */
+#else
+ && !at_dgn_entrance("\83N\83G\83X\83g") /* but not Quest's entry */
+#endif
&& (u_depth = depth(&u.uz)) > 10 /* beneath 10 */
&& u_depth < depth(&medusa_level))) /* and above Medusa */
return;
/* 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"
#include "sp_lev.h"
#include "lev.h" /* save & restore info */
eff = TRUE;
}
if (eff)
+/*JP
pline("Water turbulence affects your movements.");
+*/
+ pline("\90\85\82Ì\97¬\82ê\82ª\82 \82È\82½\82Ì\93®\82«\82É\89e\8b¿\82ð\97^\82¦\82½\81D");
}
void
ltyp = db_under_typ(lev->drawbridgemask);
if (ltyp == LAVAPOOL)
+/*JP
return "lava";
+*/
+ return "\97n\8aâ";
else if (ltyp == ICE)
+/*JP
return "ice";
+*/
+ return "\95X";
else if (ltyp == POOL)
+/*JP
return "pool of water";
+*/
+ return "\90\85\82½\82Ü\82è";
else if (ltyp == WATER || Is_waterlevel(&u.uz))
; /* fall through to default return value */
else if (Is_juiblex_level(&u.uz))
+/*JP
return "swamp";
+*/
+ return "\8fÀ";
else if (ltyp == MOAT && !Is_medusa_level(&u.uz))
+/*JP
return "moat";
+*/
+ return "\96x";
+/*JP
return "water";
+*/
+ return "\90\85\92\86";
}
STATIC_OVL void
/* 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. */
+
/* If you're using precompiled headers, you don't want this either */
#ifdef MICROPORT_BUG
#define MKROOM_H
#if 0
/* part of the original warning code which was replaced in 3.3.1 */
const char *warnings[] = {
+/*JP
"white", "pink", "red", "ruby", "purple", "black"
+*/
+ "\94\92\82¢", "\83s\83\93\83N\90F\82Ì", "\90Ô\82¢", "\83\8b\83r\81[\90F\82Ì", "\8e\87\82Ì", "\8d\95\82¢"
};
#endif /* 0 */
case PM_BLACK_UNICORN:
if (mtmp->mrevived && rn2(2)) {
if (canseemon(mtmp))
+/*JP
pline("%s recently regrown horn crumbles to dust.",
+*/
+ pline("\8dÅ\8bß\8dÄ\90¶\82µ\82½%s\82Ì\8ap\82Í\95²\81X\82É\82È\82Á\82½\81D",
s_suffix(Monnam(mtmp)));
} else {
obj = mksobj_at(UNICORN_HORN, x, y, TRUE, FALSE);
int dam = d(2, 6);
if (cansee(mtmp->mx, mtmp->my))
+/*JP
pline("%s rusts.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8eK\82Ñ\82½\81D", Monnam(mtmp));
mtmp->mhp -= dam;
if (mtmp->mhpmax > dam)
mtmp->mhpmax -= dam;
if (!is_clinger(mtmp->data) && !likes_lava(mtmp->data)) {
if (!resists_fire(mtmp)) {
if (cansee(mtmp->mx, mtmp->my))
+#if 0 /*JP*/
pline("%s %s.", Monnam(mtmp),
mtmp->data == &mons[PM_WATER_ELEMENTAL]
? "boils away"
: "burns to a crisp");
+#else
+ pline("%s\82Í%s\82½\81D", Monnam(mtmp),
+ mtmp->data == &mons[PM_WATER_ELEMENTAL]
+ ? "\95¦\93«\82µ"
+ : "\94R\82¦\82Ä\83p\83\8a\83p\83\8a\82É\82È\82Á");
+#endif
mondead(mtmp);
} else {
if (--mtmp->mhp < 1) {
if (cansee(mtmp->mx, mtmp->my))
+/*JP
pline("%s surrenders to the fire.", Monnam(mtmp));
+*/
+ pline("%s\82Í\89\8a\82É\93Û\82Ü\82ê\82½\81D", Monnam(mtmp));
mondead(mtmp);
} else if (cansee(mtmp->mx, mtmp->my))
+/*JP
pline("%s burns slightly.", Monnam(mtmp));
+*/
+ pline("%s\82Í\82¿\82å\82Á\82Æ\8fÅ\82°\82½\81D", Monnam(mtmp));
}
if (mtmp->mhp > 0) {
(void) fire_damage_chain(mtmp->minvent, FALSE, FALSE,
if (!is_clinger(mtmp->data) && !is_swimmer(mtmp->data)
&& !amphibious(mtmp->data)) {
if (cansee(mtmp->mx, mtmp->my)) {
+/*JP
pline("%s drowns.", Monnam(mtmp));
+*/
+ pline("%s\82Í\93M\82ê\82½\81D", Monnam(mtmp));
}
if (u.ustuck && u.uswallow && u.ustuck == mtmp) {
/* This can happen after a purple worm plucks you off a
flying steed while you are over water. */
+/*JP
pline("%s sinks as water rushes in and flushes you out.",
+*/
+ pline("%s\82Í\90\85\97¬\82É\92¾\82Ý\81D\82 \82È\82½\82ð\93f\82«\8fo\82µ\82½\81D",
Monnam(mtmp));
}
mondead(mtmp);
&& touch_artifact(otmp, mtmp)) {
if (mtmp->data == &mons[PM_RUST_MONSTER] && otmp->oerodeproof) {
if (canseemon(mtmp) && flags.verbose) {
+#if 0 /*JP*/
pline("%s eats %s!", Monnam(mtmp),
distant_name(otmp, doname));
+#else
+ pline("%s\82Í%s\82ð\90H\82×\82Ä\82¢\82é\81I", Monnam(mtmp),
+ distant_name(otmp,doname));
+#endif
}
/* The object's rustproofing is gone now */
otmp->oerodeproof = 0;
mtmp->mstun = 1;
if (canseemon(mtmp) && flags.verbose) {
+#if 0 /*JP*/
pline("%s spits %s out in disgust!", Monnam(mtmp),
distant_name(otmp, doname));
+#else
+ pline("%s\82Í%s\82ð\83y\83b\82Æ\93f\82«\8fo\82µ\82½\81I", Monnam(mtmp),
+ distant_name(otmp,doname));
+#endif
}
} else {
if (cansee(mtmp->mx, mtmp->my) && flags.verbose)
+#if 0 /*JP*/
pline("%s eats %s!", Monnam(mtmp),
distant_name(otmp, doname));
+#else
+ pline("%s\82Í%s\82ð\90H\82×\82Ä\82¢\82é\81I", Monnam(mtmp),
+ distant_name(otmp,doname));
+#endif
else if (flags.verbose)
+/*JP
You_hear("a crunching sound.");
+*/
+ You_hear("\83o\83\8a\83o\83\8a\82Æ\90H\82×\82é\89¹\82ð\95·\82¢\82½\81D");
mtmp->meating = otmp->owt / 2 + 1;
/* Heal up to the object's weight in hp */
if (mtmp->mhp < mtmp->mhpmax) {
ptr = mtmp->data;
} else if (!resists_ston(mtmp)) {
if (canseemon(mtmp))
+/*JP
pline("%s turns to stone!", Monnam(mtmp));
+*/
+ pline("%s\82Í\90Î\82É\82È\82Á\82½\81I", Monnam(mtmp));
monstone(mtmp);
ptr = (struct permonst *) 0;
}
/* engulf */
++ecount;
if (ecount == 1)
+#if 0 /*JP*/
Sprintf(buf, "%s engulfs %s.", Monnam(mtmp),
distant_name(otmp, doname));
+#else
+ Sprintf(buf, "%s\82Í%s\82ð\88ù\82Ý\8d\9e\82ñ\82¾\81D", Monnam(mtmp),
+ distant_name(otmp,doname));
+#endif
else if (ecount == 2)
+/*JP
Sprintf(buf, "%s engulfs several objects.", Monnam(mtmp));
+*/
+ Sprintf(buf, "%s\82Í\82¢\82\82Â\82©\82Ì\95¨\82ð\88ù\82Ý\8d\9e\82ñ\82¾\81D", Monnam(mtmp));
obj_extract_self(otmp);
(void) mpickobj(mtmp, otmp); /* slurp */
/* devour */
++count;
if (cansee(mtmp->mx, mtmp->my) && flags.verbose)
+#if 0 /*JP*/
pline("%s eats %s!", Monnam(mtmp),
distant_name(otmp, doname));
+#else
+ pline("%s\82Í%s\82ð\90H\82×\82Ä\82¢\82é\81I", Monnam(mtmp),
+ distant_name(otmp, doname));
+#endif
else if (flags.verbose)
+/*JP
You_hear("a slurping sound.");
+*/
+ You_hear("\82²\82\82ñ\82Æ\88ù\82Ý\8d\9e\82Þ\89¹\82ð\95·\82¢\82½\81D");
/* Heal up to the object's weight in hp */
if (mtmp->mhp < mtmp->mhpmax) {
mtmp->mhp += objects[otmp->otyp].oc_weight;
if (cansee(mtmp->mx, mtmp->my) && flags.verbose && buf[0])
pline1(buf);
else if (flags.verbose)
+#if 0 /*JP*/
You_hear("%s slurping sound%s.",
(ecount == 1) ? "a" : "several", plur(ecount));
+#else
+ You_hear("\83Y\83\8b\83Y\83\8b\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
+#endif
}
return (count > 0 || ecount > 0) ? 1 : 0;
}
add_to_minv(mtmp, gold);
if (cansee(mtmp->mx, mtmp->my)) {
if (flags.verbose && !mtmp->isgd)
+#if 0 /*JP*/
pline("%s picks up some %s.", Monnam(mtmp),
mat_idx == GOLD ? "gold" : "money");
+#else
+ pline("%s\82Í\82¨\8bà\82ð\8fE\82Á\82½\81D", Monnam(mtmp));
+#endif
newsym(mtmp->mx, mtmp->my);
}
}
otmp3 = splitobj(otmp, carryamt);
}
if (cansee(mtmp->mx, mtmp->my) && flags.verbose)
+#if 0 /*JP*/
pline("%s picks up %s.", Monnam(mtmp),
(distu(mtmp->mx, mtmp->my) <= 5)
? doname(otmp3)
: distant_name(otmp3, doname));
+#else
+ pline("%s\82Í%s\82ð\8fE\82Á\82½\81D", Monnam(mtmp),
+ (distu(mtmp->mx, mtmp->my) <= 5)
+ ? doname(otmp3)
+ : distant_name(otmp3, doname));
+#endif
obj_extract_self(otmp3); /* remove from floor */
(void) mpickobj(mtmp, otmp3); /* may merge and free otmp3 */
m_dowear(mtmp, FALSE);
* Nor do you check invisibility, because glowing and
* disintegrating amulets are always visible. */
if (cansee(mtmp->mx, mtmp->my)) {
+/*JP
pline("But wait...");
+*/
+ pline("\82µ\82©\82µ\81D\81D\81D");
+/*JP
pline("%s medallion begins to glow!", s_suffix(Monnam(mtmp)));
+*/
+ pline("%s\82Ì\83\81\83_\83\8a\83I\83\93\82ª\8bP\82«\82Í\82¶\82ß\82½\81I", Monnam(mtmp));
makeknown(AMULET_OF_LIFE_SAVING);
/* amulet is visible, but monster might not be */
if (canseemon(mtmp)) {
if (attacktype(mtmp->data, AT_EXPL)
|| attacktype(mtmp->data, AT_BOOM))
+/*JP
pline("%s reconstitutes!", Monnam(mtmp));
+*/
+ pline("%s\82Í\8dÄ\8d\\90¬\82³\82ê\82½\81I", Monnam(mtmp));
else
+/*JP
pline("%s looks much better!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82·\82Á\82©\82è\89ñ\95\9c\82µ\82½\82æ\82¤\82¾\81I", Monnam(mtmp));
}
+/*JP
pline_The("medallion crumbles to dust!");
+*/
+ pline_The("\83\81\83_\83\8a\83I\83\93\82Í\82±\82È\82²\82È\82É\82\82¾\82¯\82Ä\82µ\82Ü\82Á\82½\81I");
}
m_useup(mtmp, lifesave);
/* genocided monster can't be life-saved */
if (cansee(mtmp->mx, mtmp->my))
+/*JP
pline("Unfortunately, %s is still genocided...", mon_nam(mtmp));
+*/
+ pline("\8ec\94O\82È\82ª\82ç%s\82Í\8bs\8eE\82³\82ê\82Ä\82¢\82é\81D\81D\81D", mon_nam(mtmp));
}
mtmp->mhp = 0;
}
if (mdat == &mons[PM_VLAD_THE_IMPALER] || mdat->mlet == S_LICH) {
if (cansee(mon->mx, mon->my) && !was_swallowed)
+/*JP
pline("%s body crumbles into dust.", s_suffix(Monnam(mon)));
+*/
+ pline("%s\82Ì\91Ì\82Í\95²\81X\82É\82È\82Á\82½\81D", Monnam(mon));
return FALSE;
}
tmp = 0;
if (was_swallowed && magr) {
if (magr == &youmonst) {
+/*JP
There("is an explosion in your %s!", body_part(STOMACH));
+*/
+ pline("%s\82Ì\92\86\82Å\94\9a\94\82ª\8bN\82«\82½\81I", body_part(STOMACH));
+#if 0 /*JP*/
Sprintf(killer.name, "%s explosion",
s_suffix(mdat->mname));
+#else
+ Sprintf(killer.name, "%s\82Ì\94\9a\94\82Å", mdat->mname);
+#endif
losehp(Maybe_Half_Phys(tmp), killer.name, KILLED_BY_AN);
} else {
+/*JP
You_hear("an explosion.");
+*/
+ You_hear("\94\9a\94\89¹\82ð\95·\82¢\82½\81D");
magr->mhp -= tmp;
if (magr->mhp < 1)
mondied(magr);
if (magr->mhp < 1) { /* maybe lifesaved */
if (canspotmon(magr))
+/*JP
pline("%s rips open!", Monnam(magr));
+*/
+ pline("%s\82Í\83r\83\8a\82Á\82Æ\94j\82ê\82½\81I", Monnam(magr));
} else if (canseemon(magr))
+/*JP
pline("%s seems to have indigestion.", Monnam(magr));
+*/
+ pline("%s\82Í\8fÁ\89»\95s\97Ç\82Ì\82æ\82¤\82¾\81D", Monnam(magr));
}
return FALSE;
}
+/*JP
Sprintf(killer.name, "%s explosion", s_suffix(mdat->mname));
+*/
+ Sprintf(killer.name, "%s\82Ì\94\9a\94\82Å", mdat->mname);
killer.format = KILLED_BY_AN;
explode(mon->mx, mon->my, -1, tmp, MON_EXPLODE, EXPL_NOXIOUS);
return FALSE;
#endif
/* invocation tools resist even with 0% resistance */
|| obj_resists(obj, 0, 0)) {
+/*JP
if (flooreffects(obj, x, y, "fall"))
+*/
+ if (flooreffects(obj, x, y, "\97\8e\82¿\82é"))
continue;
place_object(obj, x, y);
} else {
mondead(mdef);
if (wasinside) {
if (is_animal(mdef->data))
+#if 0 /*JP*/
You("%s through an opening in the new %s.",
locomotion(youmonst.data, "jump"), xname(otmp));
+#else
+ You("\90V\82µ\82\82Å\82«\82½%s\82©\82ç%s\81D",
+ xname(otmp), jumpedthrough(youmonst.data, "\94ò\82Ñ\8fo\82½"));
+#endif
}
}
if ((mdef->wormno ? worm_known(mdef) : cansee(mdef->mx, mdef->my))
&& fltxt)
+#if 0 /*JP*/
pline("%s is %s%s%s!", Monnam(mdef),
nonliving(mdef->data) ? "destroyed" : "killed",
*fltxt ? " by the " : "", fltxt);
+#else
+ {
+ if(*fltxt)
+ pline("%s\82Í%s\82É\82æ\82Á\82Ä%s\81I", Monnam(mdef), fltxt,
+ nonliving(mdef->data) ? "\93|\82³\82ê\82½" : "\8eE\82³\82ê\82½");
+ else
+ pline("%s\82Í%s\81I", Monnam(mdef),
+ nonliving(mdef->data) ? "\93|\82³\82ê\82½" : "\8eE\82³\82ê\82½");
+ }
+#endif
else
be_sad = (mdef->mtame != 0);
mondied(mdef);
if (be_sad && mdef->mhp <= 0)
+/*JP
You("have a sad feeling for a moment, then it passes.");
+*/
+ You("\94ß\82µ\82¢\8bC\8e\9d\82É\82¨\82»\82í\82ê\82½\82ª\81C\82·\82®\82É\89ß\82¬\82³\82Á\82½\81D");
}
void
u.uconduct.killer++;
if (dest & 1) {
+#if 0 /*JP*/
const char *verb = nonliving(mtmp->data) ? "destroy" : "kill";
+#endif
if (!wasinside && !canspotmon(mtmp))
+/*JP
You("%s it!", verb);
+*/
+ You("\89½\8eÒ\82©\82ð\93|\82µ\82½\81I");
else {
+#if 0 /*JP*/
You("%s %s!", verb,
!mtmp->mtame
? mon_nam(mtmp)
"poor",
(has_mname(mtmp)) ? SUPPRESS_SADDLE : 0,
FALSE));
+#else
+ You("%s%s\82ð\93|\82µ\82½\81I",
+ mtmp->mtame ? "\82©\82í\82¢\82»\82¤\82È" : "",
+ mon_nam(mtmp));
+#endif
}
}
*/
stoned = FALSE;
if (!cansee(x, y) && !vamp_rise_msg)
+/*JP
pline("Maybe not...");
+*/
+ pline("\82¢\82â\81C\88á\82¤\82©\82à\81D\81D\81D");
return;
}
&& u.ualign.type != A_CHAOTIC) {
HTelepat &= ~INTRINSIC;
change_luck(-2);
+/*JP
You("murderer!");
+*/
+ You("\8eE\90l\8bS\82¾\81I");
if (Blind && !Blind_telepat)
see_monsters(); /* Can't sense monsters any more. */
}
change_luck(-1);
if (is_unicorn(mdat) && sgn(u.ualign.type) == sgn(mdat->maligntyp)) {
change_luck(-5);
+/*JP
You_feel("guilty...");
+*/
+ You("\8dß\82ð\8a´\82¶\82½\81D\81D\81D");
}
/* give experience points */
/* adjust alignment points */
if (mtmp->m_id == quest_status.leader_m_id) { /* REAL BAD! */
adjalign(-(u.ualign.record + (int) ALIGNLIM / 2));
+#if 0 /*JP*/
pline("That was %sa bad idea...",
u.uevent.qcompleted ? "probably " : "");
+#else
+ pline("%s\82æ\82\82È\82¢\8ds\88×\82¾\82Á\82½\81D\81D\81D",
+ u.uevent.qcompleted ? "\82½\82Ô\82ñ" : "");
+#endif
} else if (mdat->msound == MS_NEMESIS) { /* Real good! */
adjalign((int) (ALIGNLIM / 4));
} else if (mdat->msound == MS_GUARDIAN) { /* Bad */
adjalign(-(int) (ALIGNLIM / 8));
if (!Hallucination)
+/*JP
pline("That was probably a bad idea...");
+*/
+ pline("\82æ\82\82È\82¢\8ds\88×\82¾\82Á\82½\81D\81D\81D");
else
+/*JP
pline("Whoopsie-daisy!");
+*/
+ pline("\83V\83\93\83W\83}\83b\83^\81[\81I");
} else if (mtmp->ispriest) {
adjalign((p_coaligned(mtmp)) ? -2 : 2);
/* cancel divine protection for killing your priest */
adjalign(-15); /* bad!! */
/* your god is mighty displeased... */
if (!Hallucination)
+/*JP
You_hear("the rumble of distant thunder...");
+*/
+ You_hear("\89\93\82\82Å\97\8b\96Â\82ð\95·\82¢\82½\81D\81D\81D");
else
+/*JP
You_hear("the studio audience applaud!");
+*/
+ pline("\92®\8fO\82Ì\8a\85\8dÑ\82ð\97\81\82Ñ\82½\81I");
} else if (mtmp->mpeaceful)
adjalign(-5);
if (mtmp->data->mlet == S_GOLEM) {
/* it's a golem, and not a stone golem */
if (canseemon(mtmp))
+/*JP
pline("%s solidifies...", Monnam(mtmp));
+*/
+ pline("%s\82Í\8bÃ\8cÅ\82µ\82½\81D\81D\81D", Monnam(mtmp));
if (newcham(mtmp, &mons[PM_STONE_GOLEM], FALSE, FALSE)) {
if (canseemon(mtmp))
+/*JP
pline("Now it's %s.", an(mtmp->data->mname));
+*/
+ pline("\82È\82ñ\82Æ%s\82É\82È\82Á\82Ä\82µ\82Ü\82Á\82½\81D", mtmp->data->mname);
} else {
if (canseemon(mtmp))
+/*JP
pline("... and returns to normal.");
+*/
+ pline("\81D\81D\81D\82»\82µ\82Ä\95\81\92Ê\82É\96ß\82Á\82½\81D");
}
} else
impossible("Can't polystone %s!", a_monnam(mtmp));
{
if (mtmp->data->msound == MS_SHRIEK) {
if (!Deaf) {
+/*JP
pline("%s shrieks.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8bà\90Ø\82è\90º\82ð\82 \82°\82½\81D", Monnam(mtmp));
stop_occupation();
}
if (!rn2(10)) {
adjalign(-1); /* attacking peaceful monsters is bad */
if (couldsee(mtmp->mx, mtmp->my)) {
if (humanoid(mtmp->data) || mtmp->isshk || mtmp->isgd)
+/*JP
pline("%s gets angry!", Monnam(mtmp));
+*/
+ pline("%s\82Í\93{\82Á\82½\81I", Monnam(mtmp));
else if (flags.verbose && !Deaf)
growl(mtmp);
}
}
}
if (got_mad && !Hallucination)
+#if 0 /*JP*/
pline_The("%s appear%s to be angry too...",
got_mad == 1 ? q_guardian->mname
: makeplural(q_guardian->mname),
got_mad == 1 ? "s" : "");
+#else
+ pline("%s\82à\93{\82Á\82½\81D\81D\81D", q_guardian->mname);
+#endif
}
}
/* Does mdat care? */
if (!noncorporeal(mdat) && !amorphous(mdat)
&& !is_whirly(mdat) && (mdat != &mons[PM_YELLOW_LIGHT])) {
+#if 0 /*JP*/
You("break out of %s%s!", mon_nam(mtmp),
(is_animal(mdat) ? "'s stomach" : ""));
+#else
+ You("%s%s\82ð\94j\82è\8fo\82½\81I", mon_nam(mtmp),
+ (is_animal(mdat) ? "\82Ì\88Ý\91Ü" : ""));
+#endif
mtmp->mhp = 1; /* almost dead */
}
expels(mtmp, olddata, FALSE);
save_mname = MNAME(mtmp);
MNAME(mtmp) = (char *) 0;
}
+#if 0 /*JP*/
Strcpy(newname, (mdat == &mons[PM_GREEN_SLIME])
? "slime"
: x_monnam(mtmp, ARTICLE_A, (char *) 0,
SUPPRESS_SADDLE, FALSE));
+#else
+ Strcpy(newname, (mdat == &mons[PM_GREEN_SLIME])
+ ? "\83X\83\89\83C\83\80"
+ : x_monnam(mtmp, ARTICLE_A, (char *) 0,
+ SUPPRESS_SADDLE, FALSE));
+#endif
+/*JP
if (!strcmpi(oldname, "it") && !strcmpi(newname, "it"))
+*/
+ if (!strcmpi(oldname, "\89½\8eÒ\82©") && !strcmpi(newname, "\89½\8eÒ\82©"))
(void) usmellmon(mdat);
else
+/*JP
pline("%s turns into %s!", oldname, newname);
+*/
+ pline("%s\82Í%s\82É\82È\82Á\82½\81I", oldname, newname);
if (save_mname)
MNAME(mtmp) = save_mname;
}
possibly_unwield(mtmp, polyspot); /* might lose use of weapon */
mon_break_armor(mtmp, polyspot);
if (!(mtmp->misc_worn_check & W_ARMG))
+#if 0 /*JP*/
mselftouch(mtmp, "No longer petrify-resistant, ",
!context.mon_moving);
+#else
+ mselftouch(mtmp, "\90Î\89»\82Ö\82Ì\92ï\8dR\97Í\82ª\82È\82\82È\82Á\82Ä\81C",
+ !context.mon_moving);
+#endif
m_dowear(mtmp, FALSE);
/* This ought to re-test can_carry() on each item in the inventory
if (mon->mhp > mon->mhpmax)
mon->mhp = mon->mhpmax;
if (cansee(mon->mx, mon->my))
+/*JP
pline("%s seems healthier.", Monnam(mon));
+*/
+ pline("%s\82Í\8c³\8bC\82É\82È\82Á\82½\82æ\82¤\82É\8c©\82¦\82é\81D", Monnam(mon));
}
}
}
if (ct) {
if (!silent) { /* do we want pline msgs? */
if (slct)
+#if 0 /*JP*/
pline_The("guard%s wake%s up!", slct > 1 ? "s" : "",
slct == 1 ? "s" : "");
+#else
+ pline("\94Ô\95º\82Í\96Ú\82ð\8ao\82Ü\82µ\82½\81I");
+#endif
if (nct || sct) {
if (nct)
+#if 0 /*JP*/
pline_The("guard%s get%s angry!", nct == 1 ? "" : "s",
nct == 1 ? "s" : "");
+#else
+ pline("\94Ô\95º\82Í\93{\82Á\82½\81I");
+#endif
else if (!Blind)
+#if 0 /*JP*/
You_see("%sangry guard%s approaching!",
sct == 1 ? "an " : "", sct > 1 ? "s" : "");
+#else
+ You("\93{\82Á\82½\94Ô\95º\82ª\8bß\8añ\82Á\82Ä\82\82é\82Ì\82ð\8c©\82½\81I");
+#endif
} else
+/*JP
You_hear("the shrill sound of a guard's whistle.");
+*/
+ You_hear("\94Ô\95º\82Ì\93J\82ª\82¯\82½\82½\82Ü\82µ\82\96Â\82é\82Ì\82ð\95·\82¢\82½\81D");
}
return TRUE;
}
break;
case M_AP_OBJECT:
if (otyp == SPE_HEALING || otyp == SPE_EXTRA_HEALING) {
+#if 0 /*JP*/
pline("%s seems a more vivid %s than before.",
The(simple_typename(ap)),
c_obj_colors[objects[ap].oc_color]);
+#else
+ pline("%s\82Í\88È\91O\82æ\82è\82æ\82è\91N\82â\82©\82È%s\82É\82È\82Á\82½\82æ\82¤\82¾\81D",
+ The(simple_typename(ap)),
+ c_obj_colors[objects[ap].oc_color]);
+#endif
}
break;
}
/* 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"
/* These routines provide basic data for any type of monster. */
return mtmp->data;
}
+/*JP
static const char *levitate[4] = { "float", "Float", "wobble", "Wobble" };
+*/
+static const char *levitate[4] = { "\95\82\82", "\95\82\82", "\82æ\82ë\82ß\82", "\82æ\82ë\82ß\82" };
+/*JP
static const char *flys[4] = { "fly", "Fly", "flutter", "Flutter" };
+*/
+static const char *flys[4] = { "\94ò\82Ô", "\94ò\82Ô", "\82Í\82½\82ß\82", "\82Í\82½\82ß\82" };
+/*JP
static const char *flyl[4] = { "fly", "Fly", "stagger", "Stagger" };
+*/
+static const char *flyl[4] = { "\94ò\82Ô", "\94ò\82Ô", "\82æ\82ë\82ß\82", "\82æ\82ë\82ß\82" };
+/*JP
static const char *slither[4] = { "slither", "Slither", "falter", "Falter" };
+*/
+static const char *slither[4] = { "\8a\8a\82é", "\8a\8a\82é", "\82½\82¶\82ë\82®", "\82½\82¶\82ë\82®" };
+/*JP
static const char *ooze[4] = { "ooze", "Ooze", "tremble", "Tremble" };
+*/
+static const char *ooze[4] = { "\82É\82¶\82Ý\8fo\82é", "\82É\82¶\82Ý\8fo\82é", "\90k\82¦\82é", "\90k\82¦\82é" };
+/*JP
static const char *immobile[4] = { "wiggle", "Wiggle", "pulsate", "Pulsate" };
+*/
+static const char *immobile[4] = { "\90k\82¦\82é", "\90k\82¦\82é", "\90k\82¦\82é", "\90k\82¦\82é" };
+/*JP
static const char *crawl[4] = { "crawl", "Crawl", "falter", "Falter" };
+*/
+static const char *crawl[4] = { "\82Í\82¢\82¸\82é", "\82Í\82¢\82¸\82é", "\82½\82¶\82ë\82®", "\82½\82¶\82ë\82®" };
const char *
locomotion(ptr, def)
: nolimbs(ptr) ? crawl[capitalize]
: def);
}
+#if 1 /*JP*/
+static const char *levitate2 = "\95\82\82«\8fo\82½";
+static const char *fly2 = "\94ò\82Ñ\8fo\82½";
+static const char *slither2 = "\8a\8a\82è\8fo\82½";
+static const char *ooze2 = "\82É\82¶\82Ý\8fo\82½";
+static const char *crawl2 = "\82Í\82¢\82¸\82è\8fo\82½";
+
+const char *
+jumpedthrough(ptr, def)
+const struct permonst *ptr;
+const char *def;
+{
+ return (
+ is_floater(ptr) ? levitate2 :
+ is_flyer(ptr) ? fly2 :
+ slithy(ptr) ? slither2 :
+ amorphous(ptr) ? ooze2 :
+ nolimbs(ptr) ? crawl2 :
+ def
+ );
+}
+#endif
/* return phrase describing the effect of fire attack on a type of monster */
const char *
case PM_FIRE_VORTEX:
case PM_FIRE_ELEMENTAL:
case PM_SALAMANDER:
+/*JP
what = "already on fire";
+*/
+ what = "\82·\82Å\82É\89\8a\82É\82Â\82Â\82Ü\82ê\82Ä\82¢\82é";
break;
case PM_WATER_ELEMENTAL:
case PM_FOG_CLOUD:
case PM_STEAM_VORTEX:
+/*JP
what = "boiling";
+*/
+ what = "\95¦\93«\82µ\82½";
break;
case PM_ICE_VORTEX:
case PM_GLASS_GOLEM:
+/*JP
what = "melting";
+*/
+ what = "\97n\82¯\82½";
break;
case PM_STONE_GOLEM:
case PM_CLAY_GOLEM:
case PM_EARTH_ELEMENTAL:
case PM_DUST_VORTEX:
case PM_ENERGY_VORTEX:
+/*JP
what = "heating up";
+*/
+ what = "\94M\82\82È\82Á\82½";
break;
default:
+/*JP
what = (mattk->aatyp == AT_HUGS) ? "being roasted" : "on fire";
+*/
+ what = (mattk->aatyp == AT_HUGS) ? "\8aÛ\8fÄ\82¯\82É\82È\82Á\82½" : "\89Î\82¾\82é\82Ü\82É\82È\82Á\82½";
break;
}
return what;
/* 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"
#include "mfndpos.h"
#include "artifact.h"
{
if (flags.verbose) {
if (cansee(mtmp->mx, mtmp->my) && !Unaware)
+/*JP
pline("KABOOM!! You see a door explode.");
+*/
+ pline("\82¿\82ã\82Ç\81[\82ñ\81I\83h\83A\82ª\94\9a\94\82·\82é\82Ì\82ð\8c©\82½\81D");
else if (!Deaf)
+/*JP
You_hear("a distant explosion.");
+*/
+ You_hear("\89\93\95û\82Å\94\9a\94\82·\82é\89¹\82ð\95·\82¢\82½\81D");
}
wake_nearto(mtmp->mx, mtmp->my, 7 * 7);
mtmp->mstun = 1;
const char *shout;
{
if (canspotmon(mon))
+/*JP
pline("%s yells:", Amonnam(mon));
+*/
+ pline("%s\82Í\8b©\82ñ\82¾\81F", Amonnam(mon));
else
+/*JP
You_hear("someone yell:");
+*/
+ pline("\89½\8eÒ\82©\82Í\8b©\82ñ\82¾\81F");
verbalize1(shout);
}
&& (levl[x][y].doormask & D_LOCKED)) {
if (couldsee(mtmp->mx, mtmp->my)) {
if (levl[x][y].looted & D_WARNED) {
+/*JP
mon_yells(mtmp, "Halt, thief! You're under arrest!");
+*/
+ verbalize("\91Ò\82Ä\81I\82Ê\82·\82Á\82Æ\81I\82¨\82Ü\82¦\82ð\91ß\95ß\82·\82é\81I");
(void) angry_guards(!!Deaf);
} else {
+/*JP
mon_yells(mtmp, "Hey, stop picking that lock!");
+*/
+ verbalize("\82¨\82¢\81C\8c®\82ð\8f\9f\8eè\82É\8aJ\82¯\82é\82ñ\82¶\82á\82È\82¢\81I");
levl[x][y].looted |= D_WARNED;
}
stop_occupation();
expels(mon, mon->data, TRUE);
} else if (!sticks(youmonst.data)) {
unstuck(mon); /* let go */
+/*JP
You("get released!");
+*/
+ You("\89ð\95ú\82³\82ê\82½\81I");
}
}
}
sleep and temporary paralysis, so both conditions
receive the same alternate message */
if (!mtmp->mcanmove || !mtmp->data->mmove)
+/*JP
pline("%s seems to flinch.", Adjmonnam(mtmp, "immobile"));
+*/
+ pline("%s\82Í\82µ\82è\82²\82Ý\82µ\82Ä\82¢\82é\82æ\82¤\82¾\81D", Monnam(mtmp));
else
+/*JP
pline("%s turns to flee.", Monnam(mtmp));
+*/
+ pline("%s\82Í\82¨\82Ñ\82¦\82Ä\93¦\82°\8fo\82µ\82½\81I", Monnam(mtmp));
}
mtmp->mflee = 1;
}
if (nearby && mdat->msound == MS_BRIBE && mtmp->mpeaceful && !mtmp->mtame
&& !u.uswallow) {
if (mtmp->mux != u.ux || mtmp->muy != u.uy) {
+#if 0 /*JP*/
pline("%s whispers at thin air.",
cansee(mtmp->mux, mtmp->muy) ? Monnam(mtmp) : "It");
+#else
+ pline("%s\82ª\82³\82³\82â\82¢\82½\81D",
+ cansee(mtmp->mux, mtmp->muy) ? Monnam(mtmp) : "\89½\82©");
+#endif
if (is_demon(youmonst.data)) {
/* "Good hunting, brother" */
} else {
mtmp->minvis = mtmp->perminvis = 0;
/* Why? For the same reason in real demon talk */
+/*JP
pline("%s gets angry!", Amonnam(mtmp));
+*/
+ pline("%s\82Í\93{\82Á\82½\81I", Amonnam(mtmp));
mtmp->mpeaceful = 0;
set_malign(mtmp);
/* since no way is an image going to pay it off */
struct monst *m2, *nmon = (struct monst *) 0;
if (canseemon(mtmp))
+/*JP
pline("%s concentrates.", Monnam(mtmp));
+*/
+ pline("%s\82Í\90¸\90_\82ð\8fW\92\86\82µ\82Ä\82¢\82é\81D", Monnam(mtmp));
if (distu(mtmp->mx, mtmp->my) > BOLT_LIM * BOLT_LIM) {
+/*JP
You("sense a faint wave of psychic energy.");
+*/
+ You("\83T\83C\83R\83G\83l\83\8b\83M\81[\82Ì\94g\93®\82ð\8a´\82¶\82½\81D");
goto toofar;
}
+/*JP
pline("A wave of psychic energy pours over you!");
+*/
+ pline("\82 \82È\82½\82Í\83T\83C\83R\83G\83l\83\8b\83M\81[\82Ì\94g\93®\82ð\97\81\82Ñ\82½\81I");
if (mtmp->mpeaceful
&& (!Conflict || resist(mtmp, RING_CLASS, 0, 0))) {
+/*JP
pline("It feels quite soothing.");
+*/
+ pline("\90S\82ª\82È\82²\82ñ\82¾\81D");
} else if (!u.uinvulnerable) {
register boolean m_sen = sensemon(mtmp);
if (m_sen || (Blind_telepat && rn2(2)) || !rn2(10)) {
int dmg;
+#if 0 /*JP*/
pline("It locks on to your %s!",
m_sen ? "telepathy" : Blind_telepat ? "latent telepathy"
: "mind");
+#else
+ pline("\82»\82ê\82Í\82 \82È\82½\82Ì%s\82ð\92¼\8c\82\82µ\82½\81I",
+ m_sen ? "\83e\83\8c\83p\83V\81[\94\\97Í" : Blind_telepat ? "\90ö\8dÝ\94\\97Í"
+ : "\90¸\90_");
+#endif
dmg = rnd(15);
if (Half_spell_damage)
dmg = (dmg + 1) / 2;
+/*JP
losehp(dmg, "psychic blast", KILLED_BY_AN);
+*/
+ losehp(dmg, "\83T\83C\83R\8dU\8c\82\82Å", KILLED_BY_AN);
}
}
for (m2 = fmon; m2; m2 = nmon) {
if ((telepathic(m2->data) && (rn2(2) || m2->mblinded))
|| !rn2(10)) {
if (cansee(m2->mx, m2->my))
+/*JP
pline("It locks on to %s.", mon_nam(m2));
+*/
+ pline("%s\82ð\92¼\8c\82\82µ\82½\81D", mon_nam(m2));
m2->mhp -= rnd(15);
if (m2->mhp <= 0)
monkilled(m2, "", AD_DRIN);
register struct monst *mtmp;
{
if (sticks(youmonst.data) && mtmp == u.ustuck && !u.uswallow) {
+/*JP
pline("%s cannot escape from you!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82©\82ç\93¦\82°\82ç\82ê\82È\82¢\81I", Monnam(mtmp));
return TRUE;
}
return FALSE;
#ifdef MAIL
if (ptr == &mons[PM_MAIL_DAEMON]) {
if (!Deaf && canseemon(mtmp))
+/*JP
verbalize("I'm late!");
+*/
+ verbalize("\92x\82\82È\82Á\82Ä\82·\82Ü\82È\82¢\81I");
mongone(mtmp);
return 2;
}
|| (!amorphous(ptr) && can_fog(mtmp)
&& vamp_shift(mtmp, &mons[PM_FOG_CLOUD])))) {
if (flags.verbose && canseemon(mtmp))
+#if 0 /*JP*/
pline("%s %s under the door.", Monnam(mtmp),
(ptr == &mons[PM_FOG_CLOUD]
|| ptr == &mons[PM_YELLOW_LIGHT])
? "flows"
: "oozes");
+#else
+ pline("%s\82Í\94à\82Ì\89º\82©\82ç%s\81D", Monnam(mtmp),
+ (ptr == &mons[PM_FOG_CLOUD]
+ || ptr == &mons[PM_YELLOW_LIGHT])
+ ? "\97¬\82ê\82Å\82½"
+ : "\82É\82¶\82Ý\82Å\82½");
+#endif
} else if (here->doormask & D_LOCKED && can_unlock) {
if (btrapped) {
here->doormask = D_NODOOR;
} else {
if (flags.verbose) {
if (observeit)
+/*JP
pline("%s unlocks and opens a door.",
+*/
+ pline("%s\82Í\8c®\82ð\82Í\82¸\82µ\82Ä\94à\82ð\8aJ\82¯\82½\81D",
Monnam(mtmp));
else if (canseeit)
+/*JP
You_see("a door unlock and open.");
+*/
+ You("\94à\82Ì\8c®\82ª\82Í\82¸\82ê\81C\8aJ\82\82Ì\82ð\8c©\82½\81D");
else if (!Deaf)
+/*JP
You_hear("a door unlock and open.");
+*/
+ You_hear("\94à\82Ì\8c®\82ª\82Í\82¸\82ê\81C\8aJ\82\89¹\82ð\95·\82¢\82½\81D");
}
here->doormask = D_ISOPEN;
/* newsym(mtmp->mx, mtmp->my); */
} else {
if (flags.verbose) {
if (observeit)
+/*JP
pline("%s opens a door.", Monnam(mtmp));
+*/
+ pline("%s\82Í\94à\82ð\8aJ\82¯\82½\81D", Monnam(mtmp));
else if (canseeit)
+/*JP
You_see("a door open.");
+*/
+ You("\94à\82ª\8aJ\82\82Ì\82ð\8c©\82½\81D");
else if (!Deaf)
+/*JP
You_hear("a door open.");
+*/
+ You_hear("\94à\82ª\8aJ\82\89¹\82ð\95·\82¢\82½\81D");
}
here->doormask = D_ISOPEN;
/* newsym(mtmp->mx, mtmp->my); */ /* done below */
} else {
if (flags.verbose) {
if (observeit)
+/*JP
pline("%s smashes down a door.",
+*/
+ pline("%s\82Í\94à\82ð\94j\89ó\82µ\82½\81D",
Monnam(mtmp));
else if (canseeit)
+/*JP
You_see("a door crash open.");
+*/
+ You("\94à\82ª\94j\89ó\82³\82ê\82é\82Ì\82ð\8c©\82½\81D");
else if (!Deaf)
+/*JP
You_hear("a door crash open.");
+*/
+ You_hear("\94à\82ª\94j\89ó\82³\82ê\82é\89¹\82ð\95·\82¢\82½\81D");
}
if (here->doormask & D_LOCKED && !rn2(2))
here->doormask = D_NODOOR;
if (may_dig(mtmp->mx, mtmp->my)
&& (dmgtype(ptr, AD_RUST) || dmgtype(ptr, AD_CORR))) {
if (canseemon(mtmp))
+/*JP
pline("%s eats through the iron bars.", Monnam(mtmp));
+*/
+ pline("%s\82Í\93S\82Ì\96_\82ð\90H\82×\82Ä\92Ê\82è\94²\82¯\82½\81D", Monnam(mtmp));
dissolve_bars(mtmp->mx, mtmp->my);
return 3;
} else if (flags.verbose && canseemon(mtmp))
+#if 0 /*JP*/
Norep("%s %s %s the iron bars.", Monnam(mtmp),
/* pluralization fakes verb conjugation */
makeplural(locomotion(ptr, "pass")),
passes_walls(ptr) ? "through" : "between");
+#else
+ Norep("%s\82Í\93S\82Ì\96_%s\82ð\82·\82è\94²\82¯\82½\81D", Monnam(mtmp),
+ passes_walls(ptr) ? "" : "\82Ì\8aÔ");
+#endif
}
/* possibly dig */
{
boolean fmlkind = is_female(mtmp->data);
const char *devnam;
+#if 1 /*JP*/
+ char tmp_nam[PL_NSIZ];
+#endif
devnam = dev_name();
if (!devnam)
mtmp->female = 1;
else
mtmp->female = 0;
+#if 0 /*JP*/
Strcat(nam, " the ");
Strcat(nam, rank_of((int) mtmp->m_lev, monsndx(mtmp->data),
(boolean) mtmp->female));
+#else /*\8fÌ\8d\86\82ð\91O\82É\95t\82¯\82½\82¢\82Ì\82Åtmp_nam\82É\88ê\92U\8d\\92z\82µ\82Änam\82É\96ß\82·*/
+ Strcpy(tmp_nam, rank_of((int) mtmp->m_lev, monsndx(mtmp->data),
+ (boolean)mtmp->female));
+ Strcat(tmp_nam, "\82Ì");
+ Strcat(tmp_nam, nam);
+ Strcpy(nam, tmp_nam);
+#endif
}
STATIC_OVL void
mplayer_talk(mtmp)
register struct monst *mtmp;
{
+#if 0 /*JP*/
static const char *same_class_msg[3] =
{
"I can't win, and neither will you!", "You don't deserve to win!",
"The low-life wants to talk, eh?", "Fight, scum!",
"Here is what I have to say!",
};
+#else
+ static const char *same_class_msg[2][3] = {
+ {
+ "\8e\84\82Å\82·\82ç\92B\90¬\82Å\82«\82È\82¢\82Ì\82É\81C\82¨\91O\82É\92B\90¬\82Å\82«\82é\82Ì\82©\81H",
+ "\82¨\91O\82ª\90¬\8c÷\82·\82é\82È\82ñ\82Ä\82±\82Æ\82Í\82È\82¢\82È\81D",
+ "\96¼\97_\82ð\89ä\82É\81I\82¨\91O\82¶\82á\82È\82¢\81I",
+ },
+ {
+ "\8e\84\82Å\82·\82ç\92B\90¬\82Å\82«\82È\82¢\82Ì\82É\81C\82 \82È\82½\82É\92B\90¬\82Å\82«\82Ä\81H",
+ "\82 \82È\82½\82ª\90¬\8c÷\82·\82é\82È\82ñ\82Ä\82 \82è\82¦\82Ü\82¹\82ñ\82í\81D",
+ "\96¼\97_\82Í\8e\84\82É\81I\82 \82È\82½\82É\82È\82ñ\82Ä\82Æ\82ñ\82Å\82à\82È\82¢\81D",
+ }
+ },
+ *other_class_msg[2][3] = {
+ {
+ "\89º\8fO\82ª\98b\82µ\82©\82¯\82é\82©\81H\82Í\82Í\81[\82ñ\81H",
+ "\90í\82¦\81I\82±\82Ì\96ì\98Y\81I",
+ "\82¨\91O\82Æ\98b\82·\82±\82Æ\82È\82Ç\82È\82É\82à\82È\82¢\81I",
+ },
+ {
+ "\8e\84\82Æ\98b\82µ\82½\82¢\82Å\82·\82Á\82Ä\81H",
+ "\8c\95\82ð\8eæ\82è\82È\82³\82¢\81I",
+ "\82 \82È\82½\82Æ\98b\82·\82±\82Æ\82È\82Ç\82 \82è\82Ü\82¹\82ñ\82í\81I",
+ }
+ };
+ int female;
+#endif
if (mtmp->mpeaceful)
return; /* will drop to humanoid talk */
+#if 0 /*JP*/
pline("Talk? -- %s", (mtmp->data == &mons[urole.malenum]
|| mtmp->data == &mons[urole.femalenum])
? same_class_msg[rn2(3)]
: other_class_msg[rn2(3)]);
+#else
+ female = (mtmp->female ? 1 : 0);
+ pline("\98b\82·\81H -- %s", (mtmp->data == &mons[urole.malenum]
+ || mtmp->data == &mons[urole.femalenum])
+ ? same_class_msg[female][rn2(3)]
+ : other_class_msg[female][rn2(3)]);
+#endif
}
/*mplayer.c*/
/* 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_DCL int FDECL(drop_throw, (struct obj *, BOOLEAN_P, int, int));
* Keep consistent with breath weapons in zap.c, and AD_* in monattk.h.
*/
STATIC_OVL NEARDATA const char *breathwep[] = {
+#if 0 /*JP*/
"fragments", "fire", "frost", "sleep gas", "a disintegration blast",
"lightning", "poison gas", "acid", "strange breath #8",
"strange breath #9"
+#else
+ "\94j\95Ð", "\89\8a", "\97â\8bC", "\90\87\96°\83K\83X", "\95ª\89ð\82Ì\91§",
+ "\88î\8dÈ", "\93Å\82Ì\91§", "\8e_", "strange breath #8",
+ "strange breath #9"
+#endif
};
extern boolean notonhead; /* for long worms */
knm = strcpy(knmbuf, killer_xname(obj));
kprefix = KILLED_BY; /* killer_name supplies "an" if warranted */
} else {
+#if 0 /*JP*/
knm = name;
/* [perhaps ought to check for plural here to] */
if (!strncmpi(name, "the ", 4) || !strncmpi(name, "an ", 3)
|| !strncmpi(name, "a ", 2))
kprefix = KILLED_BY;
+#else
+ knm = strcpy(knmbuf, name);
+#endif
}
+#if 1 /*JP*/
+ strcat(knmbuf, "\82É\93\96\82½\82Á\82Ä");
+#endif
onm = (obj && obj_is_pname(obj)) ? the(name) : (obj && obj->quan > 1L)
? name
: an(name);
if (u.uac + tlev <= rnd(20)) {
if (Blind || !flags.verbose)
+/*JP
pline("It misses.");
+*/
+ pline("\82»\82ê\82Í\82Í\82¸\82ê\82½\81D");
else
+/*JP
You("are almost hit by %s.", onm);
+*/
+ pline("\82à\82¤\8f\82µ\82Å%s\82É\96½\92\86\82·\82é\82Æ\82±\82ë\82¾\82Á\82½\81I",onm);
return 0;
} else {
if (Blind || !flags.verbose)
+/*JP
You("are hit%s", exclam(dam));
+*/
+ pline("\89½\82©\82ª\82 \82È\82½\82É\96½\92\86\82µ\82½\81I");
else
+/*JP
You("are hit by %s%s", onm, exclam(dam));
+*/
+ pline("%s\82ª\82 \82È\82½\82É\96½\92\86\82µ\82½\81I", onm);
if (obj && objects[obj->otyp].oc_material == SILVER && Hate_silver) {
/* extra damage already applied by dmgval() */
+/*JP
pline_The("silver sears your flesh!");
+*/
+ pline("\82 \82È\82½\82Ì\91Ì\82Í\8bâ\82Å\8fÄ\82©\82ê\82½\81I");
exercise(A_CON, FALSE);
}
if (is_acid && Acid_resistance)
+/*JP
pline("It doesn't seem to hurt you.");
+*/
+ pline("\82 \82È\82½\82Í\8f\9d\82Â\82©\82È\82©\82Á\82½\81D");
else {
if (is_acid)
+/*JP
pline("It burns!");
+*/
+ pline("\8e_\82Å\8fÄ\82©\82ê\82½\81I");
losehp(dam, knm, kprefix); /* acid damage */
exercise(A_STR, FALSE);
}
if (down_gate(x, y) != -1)
objgone = ship_object(obj, x, y, FALSE);
if (!objgone) {
+#if 0 /*JP*/
if (!flooreffects(obj, x, y,
"fall")) { /* don't double-dip on damage */
+#else
+ if (!flooreffects(obj, x, y,
+ "\97\8e\82¿\82é")) { /* don't double-dip on damage */
+#endif
place_object(obj, x, y);
if (!mtmp && x == u.ux && y == u.uy)
mtmp = &youmonst;
if (vis)
miss(distant_name(otmp, mshot_xname), mtmp);
else if (verbose)
+/*JP
pline("It is missed.");
+*/
+ pline("\89½\82©\82ª\82©\82·\82ß\82½\81D");
}
if (!range) { /* Last position; object drops */
(void) drop_throw(otmp, 0, mtmp->mx, mtmp->my);
if (vis)
hit(distant_name(otmp, mshot_xname), mtmp, exclam(damage));
else if (verbose)
+/*JP
pline("%s is hit%s", Monnam(mtmp), exclam(damage));
+*/
+ pline("%s\82É\96½\92\86\82µ\82½%s", Monnam(mtmp), exclam(damage));
if (otmp->opoisoned && is_poisonable(otmp)) {
if (resists_poison(mtmp)) {
if (vis)
+/*JP
pline_The("poison doesn't seem to affect %s.",
+*/
+ pline("%s\82Í\93Å\82Ì\89e\8b¿\82ð\8eó\82¯\82È\82¢\82æ\82¤\82¾\81D",
mon_nam(mtmp));
} else {
if (rn2(30)) {
damage += rnd(6);
} else {
if (vis)
+/*JP
pline_The("poison was deadly...");
+*/
+ pline("\93Å\82Í\92v\8e\80\97Ê\82¾\82Á\82½\81D\81D\81D");
damage = mtmp->mhp;
}
}
if (objects[otmp->otyp].oc_material == SILVER
&& mon_hates_silver(mtmp)) {
if (vis)
+/*JP
pline_The("silver sears %s flesh!", s_suffix(mon_nam(mtmp)));
+*/
+ pline("%s\82Ì\91Ì\82Í\8bâ\82Å\8fÄ\82©\82ê\82½\81I", s_suffix(mon_nam(mtmp)));
else if (verbose)
+/*JP
pline("Its flesh is seared!");
+*/
+ pline("\89½\8eÒ\82©\82Ì\91Ì\82Í\8fÄ\82©\82ê\82½\81I");
}
if (otmp->otyp == ACID_VENOM && cansee(mtmp->mx, mtmp->my)) {
if (resists_acid(mtmp)) {
if (vis || verbose)
+/*JP
pline("%s is unaffected.", Monnam(mtmp));
+*/
+ pline("%s\82Í\89e\8b¿\82ð\8eó\82¯\82È\82¢\81D", Monnam(mtmp));
damage = 0;
} else {
if (vis)
+/*JP
pline_The("acid burns %s!", mon_nam(mtmp));
+*/
+ pline("%s\82Í\8e_\82Å\8fÄ\82©\82ê\82½\81I", mon_nam(mtmp));
else if (verbose)
+/*JP
pline("It is burned!");
+*/
+ pline("\89½\82©\82Í\8fÄ\82©\82ê\82½\81I");
}
}
mtmp->mhp -= damage;
if (mtmp->mhp < 1) {
if (vis || verbose)
+#if 0 /*JP*/
pline("%s is %s!", Monnam(mtmp),
(nonliving(mtmp->data) || is_vampshifter(mtmp)
|| !canspotmon(mtmp))
? "destroyed"
: "killed");
+#else
+ pline("%s\82Í%s\81I", Monnam(mtmp),
+ (nonliving(mtmp->data) || is_vampshifter(mtmp)
+ || !canspotmon(mtmp))
+ ? "\93|\82³\82ê\82½"
+ : "\8e\80\82ñ\82¾");
+#endif
/* don't blame hero for unknown rolling boulder trap */
if (!context.mon_moving
&& (otmp->otyp != BOULDER || range >= 0 || otmp->otrapped))
: AT_WEAP),
otmp)) {
if (vis && mtmp->mcansee)
+/*JP
pline("%s is blinded by %s.", Monnam(mtmp), the(xname(otmp)));
+*/
+ pline("%s\82Í%s\82É\82æ\82Á\82Ä\96Ú\82ª\8c©\82¦\82È\82\82È\82Á\82½\81D", Monnam(mtmp), the(xname(otmp)));
mtmp->mcansee = 0;
tmp = (int) mtmp->mblinded + rnd(25) + 20;
if (tmp > 127)
if ((singleobj->cursed || singleobj->greased) && (dx || dy) && !rn2(7)) {
if (canseemon(mon) && flags.verbose) {
if (is_ammo(singleobj))
+/*JP
pline("%s misfires!", Monnam(mon));
+*/
+ pline("%s\82Í\82Í\82¸\82µ\82½\81I", Monnam(mon));
else
+#if 0 /*JP*/
pline("%s as %s throws it!", Tobjnam(singleobj, "slip"),
mon_nam(mon));
+#else
+ pline("%s\82ª\93\8a\82°\82æ\82¤\82Æ\82µ\82½\82Æ\82½\82ñ%s\82ª\8a\8a\82Á\82½\81I",
+ mon_nam(mon), xname(singleobj));
+#endif
}
dx = rn2(3) - 1;
dy = rn2(3) - 1;
&& singleobj->otyp <= LAST_GEM + 9 /* 9 glass colors */
&& is_unicorn(youmonst.data)) {
if (singleobj->otyp > LAST_GEM) {
+/*JP
You("catch the %s.", xname(singleobj));
+*/
+ You("%s\82ð\82Â\82©\82Ü\82¦\82½\81D", xname(singleobj));
+/*JP
You("are not interested in %s junk.",
+*/
+ You("%s\82Ì\83K\83\89\83N\83^\82É\8b»\96¡\82Í\82È\82¢\81D",
s_suffix(mon_nam(mon)));
makeknown(singleobj->otyp);
dropy(singleobj);
} else {
You(
+/*JP
"accept %s gift in the spirit in which it was intended.",
+*/
+ "\82±\82ê\82ª\97~\82µ\82©\82Á\82½\82ñ\82¾\82Æ\8ev\82¢\82È\82ª\82ç%s\82Ì\91¡\82è\95¨\82ð\8eó\82¯\82Æ\82Á\82½\81D",
s_suffix(mon_nam(mon)));
+#if 0 /*JP*/
(void) hold_another_object(
singleobj, "You catch, but drop, %s.",
xname(singleobj), "You catch:");
+#else
+ (void) hold_another_object(
+ singleobj, "\82 \82È\82½\82Í%s\82ð\82Â\82©\82Ü\82¦\82½\82ª\81C\97\8e\82µ\82½\81D",
+ xname(singleobj), "\82ð\82Â\82©\82Ü\82¦\82½\81D");
+#endif
}
break;
}
blindinc = rnd(25);
if (singleobj->otyp == CREAM_PIE) {
if (!Blind)
+/*JP
pline("Yecch! You've been creamed.");
+*/
+ pline("\83E\83F\81[\81D\83N\83\8a\81[\83\80\82ð\82©\82Ô\82Á\82½\81D");
else
+#if 0 /*JP*/
pline("There's %s sticky all over your %s.",
something, body_part(FACE));
+#else
+ pline("\82 \82È\82½\82Í%s\82É\82×\82Æ\82Â\82\82à\82Ì\82ð\8a´\82¶\82½\81D",
+ body_part(FACE));
+#endif
} else if (singleobj->otyp == BLINDING_VENOM) {
+#if 0 /*JP*/
const char *eyes = body_part(EYE);
if (eyecount(youmonst.data) != 1)
pline_The("venom blinds you.");
else
Your("%s %s.", eyes, vtense(eyes, "sting"));
+#else
+ if(!Blind)
+ pline("\93Å\82Å\96Ú\82ª\8c©\82¦\82È\82\82È\82Á\82½\81D");
+ else
+ Your("%s\82Í\82¿\82\82¿\82\82µ\82½\81D", body_part(EYE));
+#endif
}
}
if (hitu && singleobj->otyp == EGG) {
if (canseemon(mtmp)) {
onm = xname(otmp);
+#if 0 /*JP*/
pline("%s thrusts %s.", Monnam(mtmp),
obj_is_pname(otmp) ? the(onm) : an(onm));
+#else
+ pline("%s\82Í%s\82ð\93Ë\82«\8eh\82µ\82½\81D", Monnam(mtmp), onm);
+#endif
}
dam = dmgval(otmp, &youmonst);
if (multishot > 1) {
/* "N arrows"; multishot > 1 implies otmp->quan > 1, so
xname()'s result will already be pluralized */
+/*JP
Sprintf(onmbuf, "%d %s", multishot, xname(otmp));
+*/
+ Sprintf(onmbuf, "%d%s\82Ì%s", multishot, numeral(otmp), xname(otmp));
onm = onmbuf;
} else {
/* "an arrow" */
onm = obj_is_pname(otmp) ? the(onm) : an(onm);
}
m_shot.s = ammo_and_launcher(otmp, mwep) ? TRUE : FALSE;
+/*JP
pline("%s %s %s!", Monnam(mtmp), m_shot.s ? "shoots" : "throws", onm);
+*/
+ pline("%s\82Í%s\82ð%s!", Monnam(mtmp), onm, m_shot.s ? "\8c\82\82Á\82½" : "\93\8a\82°\82½");
m_shot.o = otmp->otyp;
} else {
m_shot.o = STRANGE_OBJECT; /* don't give multishot feedback */
if (mtmp->mcan) {
if (!Deaf)
+/*JP
pline("A dry rattle comes from %s throat.",
+*/
+ pline("%s\82Ì\8dA\82ª\83K\83\89\83K\83\89\82Æ\96Â\82Á\82½\81D",
s_suffix(mon_nam(mtmp)));
return 0;
}
if (!rn2(BOLT_LIM
- distmin(mtmp->mx, mtmp->my, mtmp->mux, mtmp->muy))) {
if (canseemon(mtmp))
+/*JP
pline("%s spits venom!", Monnam(mtmp));
+*/
+ pline("%s\82Í\93Å\82ð\93f\82¢\82½\81I", Monnam(mtmp));
m_throw(mtmp, mtmp->mx, mtmp->my, sgn(tbx), sgn(tby),
distmin(mtmp->mx, mtmp->my, mtmp->mux, mtmp->muy), otmp);
nomul(0);
if (mtmp->mcan) {
if (!Deaf) {
if (canseemon(mtmp))
+/*JP
pline("%s coughs.", Monnam(mtmp));
+*/
+ pline("%s\82Í\82¹\82«\82ð\82µ\82½\81D", Monnam(mtmp));
else
+/*JP
You_hear("a cough.");
+*/
+ You_hear("\82¹\82«\82Ì\89¹\82ð\95·\82¢\82½\81D");
}
return 0;
}
if (!mtmp->mspec_used && rn2(3)) {
if ((typ >= AD_MAGM) && (typ <= AD_ACID)) {
if (canseemon(mtmp))
+#if 0 /*JP*/
pline("%s breathes %s!", Monnam(mtmp),
breathwep[typ - 1]);
+#else
+ pline("%s\82Í%s\82ð\93f\82¢\82½\81I", Monnam(mtmp),
+ breathwep[typ - 1]);
+#endif
buzz((int) (-20 - (typ - 1)), (int) mattk->damn, mtmp->mx,
mtmp->my, sgn(tbx), sgn(tby));
nomul(0);
*obj_p = otmp = 0; /* object is now gone */
/* breakage makes its own noises */
else if (obj_type == BOULDER || obj_type == HEAVY_IRON_BALL)
+/*JP
pline("Whang!");
+*/
+ pline("\82®\82í\81[\82ñ\81I");
else if (otmp->oclass == COIN_CLASS
|| objects[obj_type].oc_material == GOLD
|| objects[obj_type].oc_material == SILVER)
+/*JP
pline("Clink!");
+*/
+ pline("\83`\83\83\83\8a\83\93\81I");
else
+/*JP
pline("Clonk!");
+*/
+ pline("\83S\83c\83\93\81I");
}
return hits;
/* Copyright (C) 1990 by Ken Arromdee */
/* 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. */
+
/*
* Monster item usage routines.
*/
if (obj->oclass == POTION_CLASS) {
coord cc;
+/*JP
static const char *empty = "The potion turns out to be empty.";
+*/
+ static const char *empty = "\96ò\82Í\8bó\82Á\82Û\82Å\82 \82é\82±\82Æ\82ª\82í\82©\82Á\82½\81D";
const char *potion_descr;
struct monst *mtmp;
pline1(empty);
} else {
if (vis) {
+#if 0 /*JP*/
pline(
"As %s opens the bottle, an enormous %s emerges!",
mon_nam(mon),
Hallucination ? rndmonnam(NULL)
: (const char *) "ghost");
+#else
+ pline(
+ "%s\82ª\95r\82ð\8aJ\82¯\82é\82Æ\81C\8b\90\91å\82È%s\82ª\8fo\82Ä\82«\82½\81I",
+ mon_nam(mon),
+ Hallucination ? rndmonnam(NULL)
+ : (const char *)"\97H\97ì");
+#endif
+/*JP
pline("%s is frightened to death, and unable to move.",
+*/
+ pline("%s\82Í\82Ü\82Á\82³\82¨\82É\82È\82Á\82Ä\8bÁ\82«\81C\93®\82¯\82È\82\82È\82Á\82½\81D",
Monnam(mon));
}
paralyze_monst(mon, 3);
return 2;
}
}
+/*JP
if (potion_descr && !strcmp(potion_descr, "smoky")
+*/
+ if (potion_descr && !strcmp(potion_descr, "\89\8c\82Ì\8fo\82Ä\82¢\82é\96ò")
&& !(mvitals[PM_DJINNI].mvflags & G_GONE)
&& !rn2(POTION_OCCUPANT_CHANCE(mvitals[PM_DJINNI].born))) {
if (!enexto(&cc, mon->mx, mon->my, &mons[PM_DJINNI]))
pline1(empty);
} else {
if (vis)
+/*JP
pline("In a cloud of smoke, %s emerges!", a_monnam(mtmp));
+*/
+ pline("\89\8c\82Ì\92\86\82©\82ç\81C%s\82ª\8c»\82í\82ê\82½\81I", a_monnam(mtmp));
+/*JP
pline("%s speaks.", vis ? Monnam(mtmp) : Something);
+*/
+ pline("%s\82Í\98b\82µ\82½\81D", vis ? Monnam(mtmp) : Something);
/* I suspect few players will be upset that monsters */
/* can't wish for wands of death here.... */
if (rn2(2)) {
+/*JP
verbalize("You freed me!");
+*/
+ verbalize("\89ð\95ú\82µ\82Ä\82\82ê\82½\82Ì\82Í\82¨\91O\82©\81I");
mtmp->mpeaceful = 1;
set_malign(mtmp);
} else {
+/*JP
verbalize("It is about time.");
+*/
+ verbalize("\82³\82ç\82Î\82¾\81I");
if (vis)
+/*JP
pline("%s vanishes.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8fÁ\82¦\82½\81D", Monnam(mtmp));
mongone(mtmp);
}
}
if (!Deaf) {
if (vis)
+#if 0 /*JP*/
pline("%s zaps %s, which suddenly explodes!", Monnam(mon),
an(xname(obj)));
+#else
+ pline("%s\82Í%s\82ð\82Ó\82è\82©\82´\82µ\82½\81C\82»\82ê\82Í\93Ë\91R\94\9a\94\82µ\82½\81I", Monnam(mon),
+ an(xname(obj)));
+#endif
else
+/*JP
You_hear("a zap and an explosion in the distance.");
+*/
+ You_hear("\89\93\95û\82Ì\8fñ\82Ì\89¹\82Æ\94\9a\94\89¹\82ð\95·\82¢\82½\81D");
}
m_useup(mon, obj);
if (mon->mhp <= dam) {
{
if (!canseemon(mtmp)) {
if (!Deaf)
+#if 0 /*JP*/
You_hear("a %s zap.", (distu(mtmp->mx, mtmp->my)
<= (BOLT_LIM + 1) * (BOLT_LIM + 1))
? "nearby"
: "distant");
+#else
+ You_hear("%s\82\82Å\8fñ\82Ì\89¹\82ð\95·\82¢\82½\81D", (distu(mtmp->mx, mtmp->my)
+ <= (BOLT_LIM + 1) * (BOLT_LIM + 1))
+ ? "\8bß"
+ : "\89\93");
+#endif
} else if (self) {
+#if 0 /*JP*/
pline("%s zaps %sself with %s!", Monnam(mtmp), mhim(mtmp),
doname(otmp));
+#else
+ pline("%s\82Í\8e©\95ª\8e©\90g\82É%s\82ð\82Ó\82è\82©\82´\82µ\82½\81I", Monnam(mtmp),
+ doname(otmp));
+#endif
} else {
+/*JP
pline("%s zaps %s!", Monnam(mtmp), an(xname(otmp)));
+*/
+ pline("%s\82Í%s\82ð\82Ó\82è\82©\82´\82µ\82½\81I", Monnam(mtmp), an(xname(otmp)));
stop_occupation();
}
}
otmp->bknown = savebknown;
if (vismon)
+/*JP
pline("%s reads %s!", Monnam(mtmp), onambuf);
+*/
+ pline("%s\82Í%s\82ð\93Ç\82ñ\82¾\81I", Monnam(mtmp), onambuf);
else
+#if 0 /*JP*/
You_hear("%s reading %s.",
x_monnam(mtmp, ARTICLE_A, (char *) 0,
(SUPPRESS_IT | SUPPRESS_INVISIBLE | SUPPRESS_SADDLE),
FALSE),
onambuf);
+#else
+ You_hear("%s\82ª%s\82ð\93Ç\82ñ\82Å\82¢\82é\90º\82ð\95·\82¢\82½\81D",
+ x_monnam(mtmp, ARTICLE_A, (char *)0,
+ (SUPPRESS_IT|SUPPRESS_INVISIBLE|SUPPRESS_SADDLE),
+ FALSE),
+ onambuf);
+#endif
if (mtmp->mconf)
+/*JP
pline("Being confused, %s mispronounces the magic words...",
+*/
+ pline("\8d¬\97\90\82µ\82Ä\82¢\82é\82Ì\82Å\81C%s\82Í\8eô\95¶\82ð\8aÔ\88á\82Á\82Ä\8f¥\82¦\82Ä\82µ\82Ü\82Á\82½\81D\81D\81D",
vismon ? mon_nam(mtmp) : mhe(mtmp));
}
{
if (canseemon(mtmp)) {
otmp->dknown = 1;
+/*JP
pline("%s drinks %s!", Monnam(mtmp), singular(otmp, doname));
+*/
+ pline("%s\82Í%s\82ð\88ù\82ñ\82¾\81I", Monnam(mtmp), singular(otmp, doname));
} else if (!Deaf)
+/*JP
You_hear("a chugging sound.");
+*/
+ You_hear("\83S\83N\83b\81I\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
}
/* Defines for various types of stuff. The order in which monsters prefer
int i, fleetim, how = 0;
struct obj *otmp = m.defensive;
boolean vis, vismon, oseen;
+/*JP
const char *mcsa = "%s can see again.";
+*/
+ const char *mcsa = "%s\82Í\82Ü\82½\8c©\82¦\82é\82æ\82¤\82É\82È\82Á\82½\81D";
if ((i = precheck(mtmp, otmp)) != 0)
return i;
case MUSE_UNICORN_HORN:
if (vismon) {
if (otmp)
+/*JP
pline("%s uses a unicorn horn!", Monnam(mtmp));
+*/
+ pline("%s\82Í\83\86\83j\83R\81[\83\93\82Ì\8ap\82ð\8eg\82Á\82½\81I", Monnam(mtmp));
else
+/*JP
pline_The("tip of %s's horn glows!", mon_nam(mtmp));
+*/
+ pline("%s\82Ì\8ap\82Ì\90æ\92[\82ª\8bP\82¢\82½\81I", mon_nam(mtmp));
}
if (!mtmp->mcansee) {
mtmp->mcansee = 1;
} else if (mtmp->mconf || mtmp->mstun) {
mtmp->mconf = mtmp->mstun = 0;
if (vismon)
+/*JP
pline("%s seems steadier now.", Monnam(mtmp));
+*/
+ pline("%s\82Í\95½\90Ã\82ð\82Æ\82è\82à\82Ç\82µ\82½\81D", Monnam(mtmp));
} else
impossible("No need for unicorn horn?");
return 2;
case MUSE_BUGLE:
if (vismon)
+/*JP
pline("%s plays %s!", Monnam(mtmp), doname(otmp));
+*/
+ pline("%s\82Í%s\82ð\90\81\82¢\82½\81I", Monnam(mtmp), doname(otmp));
else if (!Deaf)
+/*JP
You_hear("a bugle playing reveille!");
+*/
+ You_hear("\8bN\8f°\83\89\83b\83p\82Ì\89¹\82ð\95·\82¢\82½\81I");
awaken_soldiers(mtmp);
return 2;
case MUSE_WAN_TELEPORTATION_SELF:
}
if ((mon_has_amulet(mtmp) || On_W_tower_level(&u.uz)) && !rn2(3)) {
if (vismon)
+/*JP
pline("%s seems disoriented for a moment.", Monnam(mtmp));
+*/
+ pline("%s\82Í\88ê\8fu\95û\8cü\8a´\8ao\82ð\8e¸\82Á\82½\81D", Monnam(mtmp));
return 2;
}
if (oseen && how)
if (mon_has_amulet(mtmp) || In_endgame(&u.uz)) {
if (vismon)
+/*JP
pline("%s seems very disoriented for a moment.",
+*/
+ pline("%s\82Í\88ê\8fu\95û\8cü\8a´\8ao\82ð\8e¸\82Á\82½\81D",
Monnam(mtmp));
return 2;
}
nlev = random_teleport_level();
if (nlev == depth(&u.uz)) {
if (vismon)
+/*JP
pline("%s shudders for a moment.", Monnam(mtmp));
+*/
+ pline("%s\82Í\88ê\8fu\90k\82¦\82½\81D", Monnam(mtmp));
return 2;
}
get_level(&flev, nlev);
|| (is_drawbridge_wall(mtmp->mx, mtmp->my) >= 0)
|| (sstairs.sx && sstairs.sx == mtmp->mx
&& sstairs.sy == mtmp->my)) {
+/*JP
pline_The("digging ray is ineffective.");
+*/
+ pline("\8c@\8dí\8cõ\90ü\82Í\8cø\89Ê\82ª\82È\82¢\81D");
return 2;
}
if (!Can_dig_down(&u.uz) && !levl[mtmp->mx][mtmp->my].candig) {
if (canseemon(mtmp))
+/*JP
pline_The("%s here is too hard to dig in.",
+*/
+ pline("\82±\82±\82Ì%s\82Í\8cÅ\82\82Ä\8c@\82ê\82È\82¢\81D",
surface(mtmp->mx, mtmp->my));
return 2;
}
return 2;
seetrap(ttmp);
if (vis) {
+#if 0 /*JP*/
pline("%s has made a hole in the %s.", Monnam(mtmp),
surface(mtmp->mx, mtmp->my));
+#else
+ pline("%s\82Í%s\82É\8c\8a\82ð\8aJ\82¯\82½\81D", Monnam(mtmp),
+ surface(mtmp->mx, mtmp->my));
+#endif
+#if 0 /*JP*/
pline("%s %s through...", Monnam(mtmp),
is_flyer(mtmp->data) ? "dives" : "falls");
+#else
+ pline("%s\82Í\92Ê\82è\94²\82¯\82Ä%s\81D\81D\81D", Monnam(mtmp),
+ is_flyer(mtmp->data) ? "\94ò\82Ñ\82±\82ñ\82¾" : "\97\8e\82¿\82½");
+#endif
} else if (!Deaf)
+#if 0 /*JP*/
You_hear("%s crash through the %s.", something,
surface(mtmp->mx, mtmp->my));
+#else
+ You_hear("\89½\82©\82ª%s\82ð\92Ê\82è\94²\82¯\82Ä\97\8e\82¿\82é\89¹\82ð\95·\82¢\82½\81D\81D\81D",
+ surface(mtmp->mx, mtmp->my));
+#endif
/* we made sure that there is a level for mtmp to go to */
migrate_to_level(mtmp, ledger_no(&u.uz) + 1, MIGR_RANDOM,
(coord *) 0);
if (vis) {
struct trap *t = t_at(trapx, trapy);
+#if 0 /*JP*/
pline("%s %s into a %s!", Monnam(mtmp),
makeplural(locomotion(mtmp->data, "jump")),
t->ttyp == TRAPDOOR ? "trap door" : "hole");
+#else
+ pline("%s\82Í%s\82É%s\93ü\82Á\82½\81I", Monnam(mtmp),
+ t->ttyp == TRAPDOOR ? "\97\8e\82µ\94à" : "\8c\8a",
+ jconj(locomotion(mtmp->data, "\94ò\82Ô"), "\82Ä"));
+#endif
if (levl[trapx][trapy].typ == SCORR) {
levl[trapx][trapy].typ = CORR;
unblock_point(trapx, trapy);
if (mon_has_special(mtmp))
return 0;
if (vismon)
+/*JP
pline("%s escapes the dungeon!", Monnam(mtmp));
+*/
+ pline("%s\82Í\96À\8b{\82©\82ç\93¦\91\96\82µ\82½\81I", Monnam(mtmp));
mongone(mtmp);
return 2;
}
if (Inhell && mon_has_amulet(mtmp) && !rn2(4)
&& (dunlev(&u.uz) < dunlevs_in_dungeon(&u.uz) - 3)) {
if (vismon)
+#if 0 /*JP*/
pline(
"As %s climbs the stairs, a mysterious force momentarily surrounds %s...",
mon_nam(mtmp), mhim(mtmp));
+#else
+ pline(
+ "%s\82ª\8aK\92i\82ð\82Ì\82Ú\82ë\82¤\82Æ\82·\82é\82Æ\8aï\96\82È\97Í\82ª%s\82ð\82Â\82Â\82ñ\82¾\81D\81D\81D",
+ mon_nam(mtmp), mhim(mtmp));
+#endif
/* simpler than for the player; this will usually be
the Wizard and he'll immediately go right to the
upstairs, so there's not much point in having any
(coord *) 0);
} else {
if (vismon)
+/*JP
pline("%s escapes upstairs!", Monnam(mtmp));
+*/
+ pline("%s\82Í\8aK\92i\82ð\82Ì\82Ú\82Á\82Ä\93¦\82°\82½\81I", Monnam(mtmp));
migrate_to_level(mtmp, ledger_no(&u.uz) - 1, MIGR_STAIRS_DOWN,
(coord *) 0);
}
case MUSE_DOWNSTAIRS:
m_flee(mtmp);
if (vismon)
+/*JP
pline("%s escapes downstairs!", Monnam(mtmp));
+*/
+ pline("%s\82Í\8aK\92i\82ð\8d~\82è\82Ä\93¦\82°\82½\81I", Monnam(mtmp));
migrate_to_level(mtmp, ledger_no(&u.uz) + 1, MIGR_STAIRS_UP,
(coord *) 0);
return 2;
case MUSE_UP_LADDER:
m_flee(mtmp);
if (vismon)
+/*JP
pline("%s escapes up the ladder!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82Í\82µ\82²\82ð\82Ì\82Ú\82Á\82Ä\93¦\82°\82½\81I", Monnam(mtmp));
migrate_to_level(mtmp, ledger_no(&u.uz) - 1, MIGR_LADDER_DOWN,
(coord *) 0);
return 2;
case MUSE_DN_LADDER:
m_flee(mtmp);
if (vismon)
+/*JP
pline("%s escapes down the ladder!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82Í\82µ\82²\82ð\8d~\82è\82Ä\93¦\82°\82½\81I", Monnam(mtmp));
migrate_to_level(mtmp, ledger_no(&u.uz) + 1, MIGR_LADDER_UP,
(coord *) 0);
return 2;
case MUSE_SSTAIRS:
m_flee(mtmp);
if (vismon)
+#if 0 /*JP*/
pline("%s escapes %sstairs!", Monnam(mtmp),
sstairs.up ? "up" : "down");
+#else
+ pline("%s\82Í\8aK\92i\82ð%s\93¦\82°\82½\81I", Monnam(mtmp),
+ sstairs.up ? "\82Ì\82Ú\82Á\82Ä" : "\8d~\82è\82Ä");
+#endif
/* going from the Valley to Castle (Stronghold) has no sstairs
to target, but having sstairs.<sx,sy> == <0,0> will work the
same as specifying MIGR_RANDOM when mon_arrive() eventually
case MUSE_TELEPORT_TRAP:
m_flee(mtmp);
if (vis) {
+#if 0 /*JP*/
pline("%s %s onto a teleport trap!", Monnam(mtmp),
makeplural(locomotion(mtmp->data, "jump")));
+#else
+ pline("%s\82Í\8fu\8aÔ\88Ú\93®\82Ìã©\82É\94ò\82Ñ\8d\9e\82ñ\82¾\81I", Monnam(mtmp));
+#endif
seetrap(t_at(trapx, trapy));
}
/* don't use rloc_to() because worm tails must "move" */
pline(mcsa, Monnam(mtmp));
}
if (vismon)
+/*JP
pline("%s looks better.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8bC\95ª\82ª\82æ\82\82È\82Á\82½\82æ\82¤\82¾\81D", Monnam(mtmp));
if (oseen)
makeknown(POT_HEALING);
m_useup(mtmp, otmp);
pline(mcsa, Monnam(mtmp));
}
if (vismon)
+/*JP
pline("%s looks much better.", Monnam(mtmp));
+*/
+ pline("%s\82Í\82Æ\82Ä\82à\8bC\95ª\82ª\82æ\82\82È\82Á\82½\82æ\82¤\82¾\81D", Monnam(mtmp));
if (oseen)
makeknown(POT_EXTRA_HEALING);
m_useup(mtmp, otmp);
pline(mcsa, Monnam(mtmp));
}
if (vismon)
+/*JP
pline("%s looks completely healed.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8a®\91S\82É\89ñ\95\9c\82µ\82½\82æ\82¤\82¾\81D", Monnam(mtmp));
if (oseen)
makeknown(otmp->otyp);
m_useup(mtmp, otmp);
makeknown(WAN_STRIKING);
if (Antimagic) {
shieldeff(u.ux, u.uy);
+/*JP
pline("Boing!");
+*/
+ pline("\83{\83C\83\93\81I");
} else if (rnd(20) < 10 + u.uac) {
+/*JP
pline_The("wand hits you!");
+*/
+ pline("\8fñ\82Í\82 \82È\82½\82É\96½\92\86\82µ\82½\81I");
tmp = d(2, 12);
if (Half_spell_damage)
tmp = (tmp + 1) / 2;
+/*JP
losehp(tmp, "wand", KILLED_BY_AN);
+*/
+ losehp(tmp, "\8fÕ\8c\82\82Ì\8fñ\82É\82æ\82Á\82Ä", KILLED_BY_AN);
} else
+/*JP
pline_The("wand misses you.");
+*/
+ pline("\8fñ\82Í\82Í\82¸\82ê\82½\81D");
stop_occupation();
nomul(0);
} else if (resists_magm(mtmp)) {
shieldeff(mtmp->mx, mtmp->my);
+/*JP
pline("Boing!");
+*/
+ pline("\83{\83C\83\93\81I");
} else if (rnd(20) < 10 + find_mac(mtmp)) {
tmp = d(2, 12);
+/*JP
hit("wand", mtmp, exclam(tmp));
+*/
+ hit("\8fñ", mtmp, exclam(tmp));
(void) resist(mtmp, otmp->oclass, tmp, TELL);
if (cansee(mtmp->mx, mtmp->my) && zap_oseen)
makeknown(WAN_STRIKING);
} else {
+/*JP
miss("wand", mtmp);
+*/
+ miss("\8fñ", mtmp);
if (cansee(mtmp->mx, mtmp->my) && zap_oseen)
makeknown(WAN_STRIKING);
}
/* for consistency with zap.c, don't identify */
if (mtmp->ispriest && *in_rooms(mtmp->mx, mtmp->my, TEMPLE)) {
if (cansee(mtmp->mx, mtmp->my))
+/*JP
pline("%s resists the magic!", Monnam(mtmp));
+*/
+ pline("%s\82Í\96\82\96@\82ð\96h\82¢\82¾\81I", Monnam(mtmp));
} else if (!tele_restrict(mtmp))
(void) rloc(mtmp, TRUE);
}
case MUSE_FROST_HORN:
if (oseen) {
makeknown(otmp->otyp);
+/*JP
pline("%s plays a %s!", Monnam(mtmp), xname(otmp));
+*/
+ pline("%s\82Í%s\82ð\90\81\82¢\82½\81I", Monnam(mtmp), xname(otmp));
} else
+/*JP
You_hear("a horn being played.");
+*/
+ You_hear("\83z\83\8b\83\93\82Ì\89¹\82ð\95·\82¢\82½\81D");
otmp->spe--;
m_using = TRUE;
buzz(-30 - ((otmp->otyp == FROST_HORN) ? AD_COLD - 1 : AD_FIRE - 1),
mreadmsg(mtmp, otmp);
/* Identify the scroll */
if (canspotmon(mtmp)) {
+#if 0 /*JP*/
pline_The("%s rumbles %s %s!", ceiling(mtmp->mx, mtmp->my),
otmp->blessed ? "around" : "above", mon_nam(mtmp));
+#else
+ pline("%s\82Ì%s\82Ì%s\82©\82ç\83S\83\8d\83S\83\8d\82Æ\89¹\82ª\95·\82±\82¦\82Ä\82«\82½\81D",
+ mon_nam(mtmp),
+ otmp->blessed ? "\82Ü\82í\82è" : "\90^\8fã",
+ ceiling(mtmp->mx, mtmp->my));
+#endif
if (oseen)
makeknown(otmp->otyp);
} else if (cansee(mtmp->mx, mtmp->my)) {
+/*JP
pline_The("%s rumbles in the middle of nowhere!",
+*/
+ pline_The("\82Ç\82±\82©\82Ì%s\82©\82ç\83S\83\8d\83S\83\8d\82Æ\89¹\82ª\95·\82±\82¦\82Ä\82«\82½\81D",
ceiling(mtmp->mx, mtmp->my));
if (mtmp->minvis)
map_invisible(mtmp->mx, mtmp->my);
mreadmsg(mtmp, otmp);
if (mtmp->mconf) {
if (vis)
+/*JP
pline("Oh, what a pretty fire!");
+*/
+ pline("\82í\82\9f\81C\82«\82ê\82¢\82È\89\8a\82¾\81I");
} else {
struct monst *mtmp2;
int num;
if (vis)
+/*JP
pline_The("scroll erupts in a tower of flame!");
+*/
+ pline("\8aª\95¨\82©\82ç\89Î\92\8c\82ª\97§\82¿\8f¸\82Á\82½\81I");
shieldeff(mtmp->mx, mtmp->my);
+/*JP
pline("%s is uninjured.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8f\9d\82Â\82©\82È\82©\82Á\82½\81D", Monnam(mtmp));
(void) destroy_mitem(mtmp, SCROLL_CLASS, AD_FIRE);
(void) destroy_mitem(mtmp, SPBOOK_CLASS, AD_FIRE);
(void) destroy_mitem(mtmp, POTION_CLASS, AD_FIRE);
num = (2 * (rn1(3, 3) + 2 * bcsign(otmp)) + 1) / 3;
if (Fire_resistance)
+/*JP
You("are not harmed.");
+*/
+ You("\8f\9d\82Â\82©\82È\82©\82Á\82½\81D");
burn_away_slime();
if (Half_spell_damage)
num = (num + 1) / 2;
else
+/*JP
losehp(num, "scroll of fire", KILLED_BY_AN);
+*/
+ losehp(num, "\89\8a\82Ì\8aª\95¨\82Å", KILLED_BY_AN);
for (mtmp2 = fmon; mtmp2; mtmp2 = mtmp2->nmon) {
if (DEADMONSTER(mtmp2)) continue;
if (mtmp == mtmp2) continue;
*/
if (cansee(mtmp->mx, mtmp->my)) {
otmp->dknown = 1;
+/*JP
pline("%s hurls %s!", Monnam(mtmp), singular(otmp, doname));
+*/
+ pline("%s\82Í%s\82ð\8b\82\93\8a\82°\82Â\82¯\82½\81I", Monnam(mtmp), singular(otmp, doname));
}
m_throw(mtmp, mtmp->mx, mtmp->my, sgn(mtmp->mux - mtmp->mx),
sgn(mtmp->muy - mtmp->my),
if (on_level(&tolevel, &u.uz))
goto skipmsg;
if (vismon) {
+#if 0 /*JP*/
pline("%s rises up, through the %s!", Monnam(mtmp),
ceiling(mtmp->mx, mtmp->my));
+#else
+ pline("%s\82Í%s\82ð\93Ë\82«\94²\82¯\82½\81I", Monnam(mtmp),
+ ceiling(mtmp->mx, mtmp->my));
+#endif
if (!objects[POT_GAIN_LEVEL].oc_name_known
&& !objects[POT_GAIN_LEVEL].oc_uname)
docall(otmp);
} else {
skipmsg:
if (vismon) {
+/*JP
pline("%s looks uneasy.", Monnam(mtmp));
+*/
+ pline("%s\82Í\95s\88À\82°\82É\8c©\82¦\82é\81D", Monnam(mtmp));
if (!objects[POT_GAIN_LEVEL].oc_name_known
&& !objects[POT_GAIN_LEVEL].oc_uname)
docall(otmp);
}
}
if (vismon)
+/*JP
pline("%s seems more experienced.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8co\8c±\82ð\90Ï\82ñ\82¾\82æ\82¤\82É\8c©\82¦\82é\81D", Monnam(mtmp));
if (oseen)
makeknown(POT_GAIN_LEVEL);
m_useup(mtmp, otmp);
mon_set_minvis(mtmp);
if (vismon && mtmp->minvis) { /* was seen, now invisible */
if (canspotmon(mtmp))
+#if 0 /*JP*/
pline("%s body takes on a %s transparency.",
upstart(s_suffix(nambuf)),
Hallucination ? "normal" : "strange");
+#else
+ pline("%s%s\82Ì\91Ì\82Í\93§\89ß\90«\82ð\82à\82Á\82½\81D",
+ Hallucination ? "\82 \82½\82è\82Ü\82¦\82È\82±\82Æ\82¾\82ª" : "\8aï\96\82È\82±\82Æ\82É",
+ nambuf);
+#endif
else
+/*JP
pline("Suddenly you cannot see %s.", nambuf);
+*/
+ pline("%s\82Í\93Ë\91R\8c©\82¦\82È\82\82È\82Á\82½\81D", nambuf);
if (oseen)
makeknown(otmp->otyp);
}
case MUSE_POT_POLYMORPH:
mquaffmsg(mtmp, otmp);
if (vismon)
+/*JP
pline("%s suddenly mutates!", Monnam(mtmp));
+*/
+ pline("%s\82Í\93Ë\91R\95Ï\89»\82µ\82½\81I", Monnam(mtmp));
(void) newcham(mtmp, muse_newcham_mon(mtmp), FALSE, FALSE);
if (oseen)
makeknown(POT_POLYMORPH);
return 2;
case MUSE_POLY_TRAP:
if (vismon)
+#if 0 /*JP*/
pline("%s deliberately %s onto a polymorph trap!", Monnam(mtmp),
makeplural(locomotion(mtmp->data, "jump")));
+#else
+ pline("%s\82Í\82í\82´\82Æ\95Ï\89»\82Ìã©\82É\94ò\82Ñ\82±\82ñ\82¾\81I", Monnam(mtmp));
+#endif
if (vis)
seetrap(t_at(trapx, trapy));
case MUSE_BULLWHIP:
/* attempt to disarm hero */
{
+/*JP
const char *The_whip = vismon ? "The bullwhip" : "A whip";
+*/
+ const char *The_whip = vismon ? "\95Ú" : "\95Ú";
int where_to = rn2(4);
struct obj *obj = uwep;
const char *hand;
hand = makeplural(hand);
if (vismon)
+#if 0 /*JP*/
pline("%s flicks a bullwhip towards your %s!", Monnam(mtmp),
hand);
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì%s\82É\8cü\82©\82Á\82Ä\95Ú\82ð\91Å\82Á\82½\81I", Monnam(mtmp),
+ hand);
+#endif
if (obj->otyp == HEAVY_IRON_BALL) {
+/*JP
pline("%s fails to wrap around %s.", The_whip, the_weapon);
+*/
+ pline("%s\82Í%s\82É\82Í\82©\82ç\82Ý\82Â\82©\82È\82©\82Á\82½\81D", The_whip, the_weapon);
return 1;
}
+#if 0 /*JP*/
pline("%s wraps around %s you're wielding!", The_whip,
the_weapon);
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì\91\95\94õ\82µ\82Ä\82¢\82é%s\82É\82©\82ç\82Ý\82Â\82¢\82½\81I", The_whip,
+ the_weapon);
+#endif
if (welded(obj)) {
+#if 0 /*JP*/
pline("%s welded to your %s%c",
!is_plural(obj) ? "It is" : "They are", hand,
!obj->bknown ? '!' : '.');
+#else
+ pline("\82µ\82©\82µ\81C\82»\82ê\82Í\82Ü\82¾\82 \82È\82½\82Ì%s\82Ì\92\86\82É\82 \82é%s",
+ hand,
+ !obj->bknown ? "\81I" : "\81D");
+#endif
/* obj->bknown = 1; */ /* welded() takes care of this */
where_to = 0;
}
if (!where_to) {
+#if 0 /*JP*/
pline_The("whip slips free."); /* not `The_whip' */
+#else
+ pline("\95Ú\82Í\82Ù\82Ç\82¯\82½\81D"); /* not `The_whip' */
+#endif
return 1;
} else if (where_to == 3 && mon_hates_silver(mtmp)
&& objects[obj->otyp].oc_material == SILVER) {
freeinv(obj);
switch (where_to) {
case 1: /* onto floor beneath mon */
+#if 0 /*JP*/
pline("%s yanks %s from your %s!", Monnam(mtmp), the_weapon,
hand);
+#else
+ pline("%s\82Í%s\82ð\82 \82È\82½\82Ì%s\82©\82ç\82®\82¢\82Æ\82Ð\82Á\82Ï\82Á\82½\81I", Monnam(mtmp), the_weapon,
+ hand);
+#endif
place_object(obj, mtmp->mx, mtmp->my);
break;
case 2: /* onto floor beneath you */
+#if 0 /*JP*/
pline("%s yanks %s to the %s!", Monnam(mtmp), the_weapon,
surface(u.ux, u.uy));
+#else
+ pline("%s\82Í%s\82ð%s\82É\88ø\82«\97\8e\82µ\82½\81I", Monnam(mtmp), the_weapon,
+ surface(u.ux, u.uy));
+#endif
dropy(obj);
break;
case 3: /* into mon's inventory */
+/*JP
pline("%s snatches %s!", Monnam(mtmp), the_weapon);
+*/
+ pline("%s\82Í%s\82ð\92D\82Á\82½\81I", Monnam(mtmp), the_weapon);
(void) mpickobj(mtmp, obj);
break;
}
you_aggravate(mtmp)
struct monst *mtmp;
{
+/*JP
pline("For some reason, %s presence is known to you.",
+*/
+ pline("\82È\82º\82©\81C\82 \82È\82½\82Í%s\82Ì\91¶\8dÝ\82É\8bC\82ª\82Â\82¢\82½\81D",
s_suffix(noit_mon_nam(mtmp)));
cls();
#ifdef CLIPPING
#endif
show_glyph(mtmp->mx, mtmp->my, mon_to_glyph(mtmp));
display_self();
+/*JP
You_feel("aggravated at %s.", noit_mon_nam(mtmp));
+*/
+ You("%s\82É\95 \82ª\82½\82Á\82½\81D", mon_nam(mtmp));
display_nhwindow(WIN_MAP, TRUE);
docrt();
if (unconscious()) {
multi = -1;
+/*JP
nomovemsg = "Aggravated, you are jolted into full consciousness.";
+*/
+ nomovemsg = "\95 \82ª\82½\82Á\82Ä\82¢\82Ä\81C\83s\83\8a\83s\83\8a\82µ\82Ä\82¢\82é\81D";
}
newsym(mtmp->mx, mtmp->my);
if (!canspotmon(mtmp))
if (orefl && orefl->otyp == SHIELD_OF_REFLECTION) {
if (str) {
+/*JP
pline(str, s_suffix(mon_nam(mon)), "shield");
+*/
+ pline(str, mon_nam(mon), "\8f\82");
makeknown(SHIELD_OF_REFLECTION);
}
return TRUE;
} else if (arti_reflects(MON_WEP(mon))) {
/* due to wielded artifact weapon */
if (str)
+/*JP
pline(str, s_suffix(mon_nam(mon)), "weapon");
+*/
+ pline(str, mon_nam(mon), "\95\90\8aí");
return TRUE;
} else if ((orefl = which_armor(mon, W_AMUL))
&& orefl->otyp == AMULET_OF_REFLECTION) {
if (str) {
+/*JP
pline(str, s_suffix(mon_nam(mon)), "amulet");
+*/
+ pline(str, mon_nam(mon), "\96\82\8f\9c\82¯");
makeknown(AMULET_OF_REFLECTION);
}
return TRUE;
&& (orefl->otyp == SILVER_DRAGON_SCALES
|| orefl->otyp == SILVER_DRAGON_SCALE_MAIL)) {
if (str)
+/*JP
pline(str, s_suffix(mon_nam(mon)), "armor");
+*/
+ pline(str, mon_nam(mon), "\8aZ");
return TRUE;
} else if (mon->data == &mons[PM_SILVER_DRAGON]
|| mon->data == &mons[PM_CHROMATIC_DRAGON]) {
/* Silver dragons only reflect when mature; babies do not */
if (str)
+/*JP
pline(str, s_suffix(mon_nam(mon)), "scales");
+*/
+ pline(str, mon_nam(mon), "\97Ø");
return TRUE;
}
return FALSE;
/* Check from outermost to innermost objects */
if (EReflecting & W_ARMS) {
if (fmt && str) {
+/*JP
pline(fmt, str, "shield");
+*/
+ pline(fmt, str, "\8f\82");
makeknown(SHIELD_OF_REFLECTION);
}
return TRUE;
} else if (EReflecting & W_WEP) {
/* Due to wielded artifact weapon */
if (fmt && str)
+/*JP
pline(fmt, str, "weapon");
+*/
+ pline(fmt, str, "\95\90\8aí");
return TRUE;
} else if (EReflecting & W_AMUL) {
if (fmt && str) {
+/*JP
pline(fmt, str, "medallion");
+*/
+ pline(fmt, str, "\83\81\83_\83\8a\83I\83\93");
makeknown(AMULET_OF_REFLECTION);
}
return TRUE;
} else if (EReflecting & W_ARM) {
if (fmt && str)
+/*JP
pline(fmt, str, uskin ? "luster" : "armor");
+*/
+ pline(fmt, str, uskin ? "\82Â\82â" : "\8aZ");
return TRUE;
} else if (youmonst.data == &mons[PM_SILVER_DRAGON]) {
if (fmt && str)
+/*JP
pline(fmt, str, "scales");
+*/
+ pline(fmt, str, "\97Ø");
return TRUE;
}
return FALSE;
long save_quan = obj->quan;
obj->quan = 1L;
+#if 0 /*JP*/
pline("%s %s %s.", Monnam(mon),
(obj->oclass == POTION_CLASS)
? "quaffs"
: (obj->otyp == TIN) ? "opens and eats the contents of"
: "eats",
distant_name(obj, doname));
+#else
+ pline("%s\82Í%s\82ð%s\81D", Monnam(mon),
+ distant_name(obj, doname),
+ (obj->oclass == POTION_CLASS)
+ ? "\88ù\82ñ\82¾"
+ : (obj->otyp == TIN) ? "\8aJ\82¯\82Ä\92\86\90g\82ð\90H\82×\82½"
+ : "\90H\82×\82½");
+#endif
obj->quan = save_quan;
} else if (!Deaf)
+#if 0 /*JP*/
You_hear("%s.",
(obj->oclass == POTION_CLASS) ? "drinking" : "chewing");
+#else
+ You_hear("%s\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D",
+ (obj->otyp == POT_ACID) ? "\83S\83N\83\93" : "\83N\83`\83\83\83N\83`\83\83");
+#endif
m_useup(mon, obj);
/* obj is now gone */
if (acid && !tinned && !resists_acid(mon)) {
mon->mhp -= rnd(15);
if (vis)
+/*JP
pline("%s has a very bad case of stomach acid.", Monnam(mon));
+*/
+ pline("%s\82Í\88Ý\8e_\82Ì\92²\8eq\82ª\82Æ\82Ä\82à\88«\82¢\81D", Monnam(mon));
if (mon->mhp <= 0) {
+/*JP
pline("%s dies!", Monnam(mon));
+*/
+ pline("%s\82Í\8e\80\82ñ\82¾\81I", Monnam(mon));
if (by_you)
xkilled(mon, 0);
else
}
if (stoning && vis) {
if (Hallucination)
+/*JP
pline("What a pity - %s just ruined a future piece of art!",
+*/
+ pline("\82È\82ñ\82Ä\82±\82Æ\82¾\81I%s\82Í\8c|\8fp\8dì\95i\82É\82È\82ê\82½\82©\82à\82µ\82ê\82È\82¢\82Ì\82É\81I",
mon_nam(mon));
else
+/*JP
pline("%s seems limber!", Monnam(mon));
+*/
+ pline("%s\82Í\91Ì\82ª\8f_\82ç\82©\82\82È\82Á\82½\82æ\82¤\82É\8c©\82¦\82é\81I", Monnam(mon));
}
if (lizard && (mon->mconf || mon->mstun)) {
mon->mconf = 0;
mon->mstun = 0;
if (vis && !is_bat(mon->data) && mon->data != &mons[PM_STALKER])
+/*JP
pline("%s seems steadier now.", Monnam(mon));
+*/
+ pline("%s\82Í\82æ\82è\8fä\95v\82É\82È\82Á\82½\82æ\82¤\82¾\81D", Monnam(mon));
}
if (mon->mtame && !mon->isminion && nutrit > 0) {
struct edog *edog = EDOG(mon);
/* Copyright (c) 1989 by Jean-Christophe Collet */
/* 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. */
+
/*
* This file contains the different functions designed to manipulate the
* musical instruments and their various effects.
newsym(mtmp->mx, mtmp->my);
if (canseemon(mtmp)) {
if (!could_see_mon)
+/*JP
You("notice %s, swaying with the music.", a_monnam(mtmp));
+*/
+ You("%s\82ª\89¹\8ay\82É\8d\87\82í\82¹\82Ä\97h\82ê\82Ä\82¢\82é\82Ì\82É\8bC\95t\82¢\82½\81D", a_monnam(mtmp));
else
+#if 0 /*JP*/
pline("%s freezes, then sways with the music%s.",
Monnam(mtmp),
was_peaceful ? "" : ", and now seems quieter");
+#else
+ pline("%s\82Í\97§\82¿\82·\82\82Ý\81C\89¹\8ay\82É\8d\87\82í\82¹\82Ä\97h\82ê%s\82½\81D",
+ Monnam(mtmp),
+ was_peaceful ? "" : "\81C\82¨\82Æ\82È\82µ\82\82È\82Á");
+#endif
}
}
}
mtmp->mstrategy &= ~STRAT_WAITMASK;
if (canseemon(mtmp))
pline(
+/*JP
"%s listens cheerfully to the music, then seems quieter.",
+*/
+ "%s\82Í\89¹\8ay\82É\95·\82«\82¢\82è\81C\82¨\82Æ\82È\82µ\82\82È\82Á\82½\81D",
Monnam(mtmp));
}
}
mtmp->mcanmove = 1;
mtmp->mstrategy &= ~STRAT_WAITMASK;
if (canseemon(mtmp))
+/*JP
pline("%s is now ready for battle!", Monnam(mtmp));
+*/
+ pline("%s\82Í\90í\82¢\82Ì\8f\80\94õ\82ª\90®\82Á\82½\81I", Monnam(mtmp));
else
+/*JP
Norep("You hear the rattle of battle gear being readied.");
+*/
+ Norep("\82 \82È\82½\82Í\90í\82¢\82Ì\8f\80\94õ\82ª\90®\82Á\82½\82±\82Æ\82ð\8e¦\82·\89¹\82ð\95·\82¢\82½\81D");
} else if ((distm = ((bugler == &youmonst)
? distu(mtmp->mx, mtmp->my)
: dist2(bugler->mx, bugler->my, mtmp->mx,
if (mtmp->mundetected && is_hider(mtmp->data)) {
mtmp->mundetected = 0;
if (cansee(x, y))
+/*JP
pline("%s is shaken loose from the ceiling!",
+*/
+ pline("%s\82Í\97h\82·\82ç\82ê\81C\93V\88ä\82©\82ç\97\8e\82¿\82Ä\82«\82½\81I",
Amonnam(mtmp));
else
+/*JP
You_hear("a thumping sound.");
+*/
+ You_hear("\83h\83\93\83h\83\93\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
if (x == u.ux && y == u.uy)
+/*JP
You("easily dodge the falling %s.", mon_nam(mtmp));
+*/
+ You("\97\8e\82¿\82Ä\82«\82½%s\82ð\8aÈ\92P\82É\82©\82í\82µ\82½\81D", mon_nam(mtmp));
newsym(x, y);
}
}
switch (levl[x][y].typ) {
case FOUNTAIN: /* Make the fountain disappear */
if (cansee(x, y))
+/*JP
pline_The("fountain falls into a chasm.");
+*/
+ pline("\90ò\82Í\92n\8a\84\82ê\82É\97\8e\82¿\82½\81D");
goto do_pit;
case SINK:
if (cansee(x, y))
+/*JP
pline_The("kitchen sink falls into a chasm.");
+*/
+ pline("\97¬\82µ\91ä\82Í\92n\8a\84\82ê\82É\97\8e\82¿\82½\81D");
goto do_pit;
case ALTAR:
if (Is_astralevel(&u.uz) || Is_sanctum(&u.uz))
break;
if (cansee(x, y))
+/*JP
pline_The("altar falls into a chasm.");
+*/
+ pline("\8dÕ\92d\82Í\92n\8a\84\82ê\82É\97\8e\82¿\82½\81D");
goto do_pit;
case GRAVE:
if (cansee(x, y))
+/*JP
pline_The("headstone topples into a chasm.");
+*/
+ pline("\95æ\90Î\82Í\95ö\82ê\82³\82Á\82½\81D");
goto do_pit;
case THRONE:
if (cansee(x, y))
+/*JP
pline_The("throne falls into a chasm.");
+*/
+ pline("\8bÊ\8dÀ\82Í\92n\8a\84\82ê\82É\97\8e\82¿\82½\81D");
/* Falls into next case */
case ROOM:
case CORR: /* Try to make a pit */
if ((otmp = sobj_at(BOULDER, x, y)) != 0) {
if (cansee(x, y))
+#if 0 /*JP*/
pline("KADOOM! The boulder falls into a chasm%s!",
((x == u.ux) && (y == u.uy)) ? " below you"
: "");
+#else
+ pline("\83h\83h\81[\83\93\81I\8aâ\82Í%s\92n\8a\84\82ê\82É\97\8e\82¿\82½\81I",
+ ((x == u.ux) && (y == u.uy)) ? "\82 \82È\82½\82Ì\89º\82Ì"
+ : "");
+#endif
if (mtmp)
mtmp->mtrapped = 0;
obj_extract_self(otmp);
mtmp->mtrapped = 1;
if (!m_already_trapped) { /* suppress messages */
if (cansee(x, y))
+/*JP
pline("%s falls into a chasm!",
+*/
+ pline("%s\82Í\92n\8a\84\82ê\82É\97\8e\82¿\82½\81I",
Monnam(mtmp));
else if (humanoid(mtmp->data))
+/*JP
You_hear("a scream!");
+*/
+ You_hear("\8b©\82Ñ\90º\82ð\95·\82¢\82½\81I");
}
/* Falling is okay for falling down
within a pit from jostling too */
+/*JP
mselftouch(mtmp, "Falling, ", TRUE);
+*/
+ mselftouch(mtmp, "\97\8e\89º\92\86\81C", TRUE);
if (mtmp->mhp > 0)
if ((mtmp->mhp -=
rnd(m_already_trapped ? 4 : 6)) <= 0) {
if (!cansee(x, y))
+/*JP
pline("It is destroyed!");
+*/
+ pline("\89½\8eÒ\82©\82Í\8e\80\82ñ\82¾\81I");
else {
+#if 0 /*JP*/
You("destroy %s!",
mtmp->mtame
? x_monnam(
: 0,
FALSE)
: mon_nam(mtmp));
+#else
+ pline("%s%s\82Í\8e\80\82ñ\82¾\81I",
+ mtmp->mtame
+ ? "\82©\82í\82¢\82»\82¤\82È" : "",
+ mon_nam(mtmp));
+#endif
}
xkilled(mtmp, 0);
}
if (Levitation || Flying
|| is_clinger(youmonst.data)) {
if (!tu_pit) { /* no pit here previously */
+/*JP
pline("A chasm opens up under you!");
+*/
+ pline("\92n\8a\84\82ê\82ª\91«\8c³\82É\8aJ\82¢\82½\81I");
+/*JP
You("don't fall in!");
+*/
+ You("\97\8e\82¿\82È\82©\82Á\82½\81I");
}
} else if (!tu_pit || !u.utrap
|| (u.utrap && u.utraptype != TT_PIT)) {
/* no pit here previously, or you were
not in it even it there was */
+/*JP
You("fall into a chasm!");
+*/
+ You("\92n\8a\84\82ê\82É\97\8e\82¿\82½\81I");
u.utrap = rn1(6, 2);
u.utraptype = TT_PIT;
+#if 0 /*JP*/
losehp(Maybe_Half_Phys(rnd(6)),
"fell into a chasm", NO_KILLER_PREFIX);
+#else
+ losehp(Maybe_Half_Phys(rnd(6)),
+ "\92n\8a\84\82ê\82É\97\8e\82¿\82Ä", NO_KILLER_PREFIX);
+#endif
+/*JP
selftouch("Falling, you");
+*/
+ selftouch("\97\8e\82¿\82È\82ª\82ç\81C\82 \82È\82½\82Í");
} else if (u.utrap && u.utraptype == TT_PIT) {
boolean keepfooting =
((Fumbling && !rn2(5))
if (levl[x][y].doormask == D_NODOOR)
goto do_pit;
if (cansee(x, y))
+/*JP
pline_The("door collapses.");
+*/
+ pline_The("\94à\82Í\82±\82È\82²\82È\82É\82È\82Á\82½\81D");
if (*in_rooms(x, y, SHOPBASE))
add_damage(x, y, 0L);
levl[x][y].doormask = D_NODOOR;
#endif /* MAC || AMIGA || VPIX_MUSIC || PCMUSIC */
if (!do_spec)
+/*JP
pline("What you produce is quite far from music...");
+*/
+ pline("\82 \82È\82½\82ª\91t\82Å\82½\82à\82Ì\82Í\89¹\8ay\82Æ\82Í\82Æ\82Ä\82à\8cÄ\82×\82È\82¢\81D\81D\81D");
else
+/*JP
You("start playing %s.", the(xname(instr)));
+*/
+ You("%s\82ð\91t\82Å\82Í\82¶\82ß\82½\81D", the(xname(instr)));
switch (instr->otyp) {
case MAGIC_FLUTE: /* Make monster fall asleep */
if (do_spec && instr->spe > 0) {
consume_obj_charge(instr, TRUE);
+/*JP
You("produce %s music.", Hallucination ? "piped" : "soft");
+*/
+ You("%s\82ð\91t\82Å\82½\81D", Hallucination ? "\82a\82f\82l" : "\93î\82ç\82©\82¢\8bÈ");
put_monsters_to_sleep(u.ulevel * 5);
exercise(A_DEX, TRUE);
break;
} /* else FALLTHRU */
case WOODEN_FLUTE: /* May charm snakes */
do_spec &= (rn2(ACURR(A_DEX)) + u.ulevel > 25);
+/*JP
pline("%s.", Tobjnam(instr, do_spec ? "trill" : "toot"));
+*/
+ pline("%s\82ð%s\82½\81D", xname(instr), do_spec ? "\91t\82Å" : "\90\81\82¢");
if (do_spec)
charm_snakes(u.ulevel * 3);
exercise(A_DEX, TRUE);
consume_obj_charge(instr, TRUE);
if (!getdir((char *) 0)) {
+/*JP
pline("%s.", Tobjnam(instr, "vibrate"));
+*/
+ pline("%s\82Í\90k\82¦\82½\81D", xname(instr));
break;
} else if (!u.dx && !u.dy && !u.dz) {
if ((damage = zapyourself(instr, TRUE)) != 0) {
char buf[BUFSZ];
+/*JP
Sprintf(buf, "using a magical horn on %sself", uhim());
+*/
+ Strcpy(buf, "\8e©\95ª\8e©\90g\82Ì\96\82\96@\82Ì\83z\83\8b\83\93\82Ì\97Í\82ð\97\81\82Ñ\82Ä");
losehp(damage, buf, KILLED_BY); /* fire or frost damage */
}
} else {
break;
} /* else FALLTHRU */
case TOOLED_HORN: /* Awaken or scare monsters */
+/*JP
You("produce a frightful, grave sound.");
+*/
+ You("\90g\90k\82¢\82·\82é\82æ\82¤\82È\8e\80\8eÒ\82Ì\89¹\8ay\82ð\91t\82Å\82½\81D");
awaken_monsters(u.ulevel * 30);
exercise(A_WIS, FALSE);
break;
case BUGLE: /* Awaken & attract soldiers */
+/*JP
You("extract a loud noise from %s.", the(xname(instr)));
+*/
+ You("%s\82©\82ç\91å\82«\82È\8e¨\8fá\82è\82È\89¹\82ð\8fo\82µ\82½\81D", the(xname(instr)));
awaken_soldiers(&youmonst);
exercise(A_WIS, FALSE);
break;
if (do_spec && instr->spe > 0) {
consume_obj_charge(instr, TRUE);
+/*JP
pline("%s very attractive music.", Tobjnam(instr, "produce"));
+*/
+ pline("%s\82Í\82Æ\82Ä\82à\96£\97Í\93I\82È\89¹\8ay\82ð\91t\82Å\82½\81D", xname(instr));
charm_monsters((u.ulevel - 1) / 3 + 1);
exercise(A_DEX, TRUE);
break;
} /* else FALLTHRU */
case WOODEN_HARP: /* May calm Nymph */
do_spec &= (rn2(ACURR(A_DEX)) + u.ulevel > 25);
+#if 0 /*JP*/
pline("%s %s.", The(xname(instr)),
do_spec ? "produces a lilting melody" : "twangs");
+#else
+ You("%s\81D",
+ do_spec ? "\8cy\89õ\82È\89¹\8ay\82ð\91t\82Å\82½" : "\83|\83\8d\81[\83\93\82Æ\82¢\82¤\89¹\82ð\8fo\82µ\82½");
+#endif
if (do_spec)
calm_nymphs(u.ulevel * 3);
exercise(A_DEX, TRUE);
if (do_spec && instr->spe > 0) {
consume_obj_charge(instr, TRUE);
+/*JP
You("produce a heavy, thunderous rolling!");
+*/
+ You("\8fd\8cú\82È\97\8b\82Ì\82æ\82¤\82È\89¹\82ð\91t\82Å\82½\81I");
+/*JP
pline_The("entire dungeon is shaking around you!");
+*/
+ pline("\82 \82È\82½\82Ì\89ñ\82è\82Ì\96À\8b{\82ª\97h\82ê\82½\81I");
do_earthquake((u.ulevel - 1) / 3 + 1);
/* shake up monsters in a much larger radius... */
awaken_monsters(ROWNO * COLNO);
break;
} /* else FALLTHRU */
case LEATHER_DRUM: /* Awaken monsters */
+/*JP
You("beat a deafening row!");
+*/
+ You("\8e¨\82ª\95·\82±\82¦\82È\82\82È\82é\82\82ç\82¢\92@\82¢\82½\81I");
awaken_monsters(u.ulevel * 40);
incr_itimeout(&HDeaf, rn1(20, 30));
exercise(A_WIS, FALSE);
boolean ok;
if (Underwater) {
+/*JP
You_cant("play music underwater!");
+*/
+ You("\90\85\82Ì\92\86\82Å\82Í\89¹\8ay\82ð\91t\82Å\82ç\82ê\82È\82¢\81I");
return 0;
} else if ((instr->otyp == WOODEN_FLUTE || instr->otyp == MAGIC_FLUTE
|| instr->otyp == TOOLED_HORN || instr->otyp == FROST_HORN
return 0;
}
if (instr->otyp != LEATHER_DRUM && instr->otyp != DRUM_OF_EARTHQUAKE) {
+/*JP
c = ynq("Improvise?");
+*/
+ c = ynq("\91¦\8b»\82Å\89\89\91t\82·\82é\81H");
if (c == 'q')
goto nevermind;
}
if (c == 'n') {
if (u.uevent.uheard_tune == 2)
+/*JP
c = ynq("Play the passtune?");
+*/
+ c = ynq("\83R\81[\83h\82ð\89\89\91t\82·\82é\81H");
if (c == 'q') {
goto nevermind;
} else if (c == 'y') {
Strcpy(buf, tune);
} else {
+/*JP
getlin("What tune are you playing? [5 notes, A-G]", buf);
+*/
+ getlin("\82Ç\82Ì\82æ\82¤\82È\92²\82×\82ð\89\89\91t\82µ\82Ü\82·\82©\81H[A-G \82©\82ç5\89¹\82ð\82¢\82ê\82Ä\82Ë]", buf);
(void) mungspaces(buf);
if (*buf == '\033')
goto nevermind;
*s = 'B';
}
}
+/*JP
You("extract a strange sound from %s!", the(xname(instr)));
+*/
+ You("%s\82©\82ç\8aï\96\82È\89¹\82ð\8fo\82µ\82½\81I", the(xname(instr)));
#ifdef UNIX386MUSIC
/* if user is at the console, play through the console speaker */
if (atconsole())
}
if (tumblers)
if (gears)
+#if 0 /*JP*/
You_hear("%d tumbler%s click and %d gear%s turn.",
tumblers, plur(tumblers), gears,
plur(gears));
+#else
+ You_hear("%d\82Ì\8bà\8bï\82ª\83J\83`\82Á\82Æ\82È\82è\81C%d\82Ì\8e\95\8eÔ\82ª\82Ü\82í\82é\89¹\82ð\95·\82¢\82½\81D",
+ tumblers, gears);
+#endif
else
+#if 0 /*JP*/
You_hear("%d tumbler%s click.", tumblers,
plur(tumblers));
+#else
+ You_hear("%d\82Ì\8bà\8bï\82ª\83J\83`\82Á\82Æ\82È\82é\89¹\82ð\95·\82¢\82½\81D",
+ tumblers);
+#endif
else if (gears) {
+/*JP
You_hear("%d gear%s turn.", gears, plur(gears));
+*/
+ You_hear("%d\82Ì\8e\95\8eÔ\82ª\89ñ\82é\89¹\82ð\95·\82¢\82½\81D", gears);
/* could only get `gears == 5' by playing five
correct notes followed by excess; otherwise,
tune would have matched above */
*/
char *termtype = nh_getenv("TERM");
+/*JP
return (!strcmp(termtype, "AT386") || !strcmp(termtype, "xterm"));
+*/
+ return (!strcmp(termtype, "AT386") || !strcmp(termtype, "xterm") || !strcmp(termtype, "kterm"));
}
STATIC_OVL void
/* 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"
#include "lev.h" /* save & restore info */
winid tmpwin;
tmpwin = create_nhwindow(NHW_MENU);
+/*JP
putstr(tmpwin, 0, "Discoveries");
+*/
+ putstr(tmpwin, 0, "\94\8c©\95¨\88ê\97\97");
putstr(tmpwin, 0, "");
/* gather "unique objects" into a pseudo-class; note that they'll
for (i = dis = 0; i < SIZE(uniq_objs); i++)
if (objects[uniq_objs[i]].oc_name_known) {
if (!dis++)
+/*JP
putstr(tmpwin, iflags.menu_headings, "Unique items");
+*/
+ putstr(tmpwin, iflags.menu_headings, "\93Á\8eê\83A\83C\83e\83\80");
Sprintf(buf, " %s", OBJ_NAME(objects[uniq_objs[i]]));
putstr(tmpwin, 0, buf);
++ct;
}
}
if (ct == 0) {
+/*JP
You("haven't discovered anything yet...");
+*/
+ You("\82Ü\82¾\89½\82à\94\8c©\82µ\82Ä\82¢\82È\82¢\81D\81D\81D");
} else
display_nhwindow(tmpwin, TRUE);
destroy_nhwindow(tmpwin);
/* 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"
/* "an uncursed greased partly eaten guardian naga hatchling [corpse]" */
+#if 0 /*JP*/
#define PREFIX 80 /* (56) */
+#else
+/* \81u\8eô\82í\82ê\82Ä\82¢\82È\82¢\96û\82Ì\93h\82ç\82ê\82½\90H\82×\82©\82¯\82Ì\83N\83\8d\83}\83e\83B\83b\83N\81E\83h\83\89\83S\83\93(\82Ì\8e\80\91Ì)\81v*/
+#define PREFIX 100
+#endif
#define SCHAR_LIM 127
#define NUMOBUF 12
FDECL(singplur_lookup, (char *, char *, BOOLEAN_P, const char *const *));
STATIC_DCL char *FDECL(singplur_compound, (char *));
STATIC_DCL char *FDECL(xname_flags, (struct obj *, unsigned));
+#if 1 /*JP*/
+static char *FDECL(substitute, (char *, char *, char *));
+static char *FDECL(transpose, (char *buf,char *));
+static char *FDECL(delete, (char *, char *str));
+static int FDECL(digit_8, (int));
+static int FDECL(atoi_8, (const char *));
+#endif
struct Jitem {
int item;
register int i = (int) strlen(pref);
if (i > PREFIX) {
- impossible("PREFIX too short (for %d).", i);
+ impossible("PREFIX too short (for %d).%s//%s", i, s, pref);
return s;
}
s -= i;
if (Role_if(PM_SAMURAI) && Japanese_item_name(otyp))
actualn = Japanese_item_name(otyp);
+#if 1 /*JP*/
+ if(un)
+ Sprintf(buf, "%s\82Æ\8cÄ\82Î\82ê\82é", un);
+#endif
switch (ocl->oc_class) {
case COIN_CLASS:
+/*JP
Strcpy(buf, "coin");
+*/
+ Strcat(buf, "\8bà\89Ý");
break;
case POTION_CLASS:
+/*JP
Strcpy(buf, "potion");
+*/
+ Strcat(buf, "\96ò");
break;
case SCROLL_CLASS:
+/*JP
Strcpy(buf, "scroll");
+*/
+ Strcat(buf, "\8aª\95¨");
break;
case WAND_CLASS:
+/*JP
Strcpy(buf, "wand");
+*/
+ Strcat(buf, "\8fñ");
break;
case SPBOOK_CLASS:
+/*JP
Strcpy(buf, "spellbook");
+*/
+ Strcat(buf, "\96\82\96@\8f\91");
break;
case RING_CLASS:
+/*JP
Strcpy(buf, "ring");
+*/
+ Strcat(buf, "\8ew\97Ö");
break;
case AMULET_CLASS:
+#if 0 /*JP*/
if (nn)
Strcpy(buf, actualn);
else
if (dn)
Sprintf(eos(buf), " (%s)", dn);
return buf;
+#else
+ if (nn)
+ Strcat(buf, actualn);
+ else if(un)
+ Strcat(buf, "\96\82\8f\9c\82¯");
+ break;
+#endif
+#if 1 /*JP*/
+ case GEM_CLASS:
+ if(nn)
+ Strcat(buf, actualn);
+ else if(un)
+ Strcat(buf, "\95ó\90Î");
+ break;
+#endif
default:
if (nn) {
+#if 0 /*JP*/
Strcpy(buf, actualn);
if (GemStone(otyp))
Strcat(buf, " stone");
Sprintf(eos(buf), " called %s", un);
if (dn)
Sprintf(eos(buf), " (%s)", dn);
+#else
+ Strcat(buf, actualn);
+#endif
} else {
+#if 0 /*JP*/
Strcpy(buf, dn ? dn : actualn);
if (ocl->oc_class == GEM_CLASS)
Strcat(buf,
(ocl->oc_material == MINERAL) ? " stone" : " gem");
if (un)
Sprintf(eos(buf), " called %s", un);
+#else
+ Strcat(buf, dn ? dn : actualn);
+#endif
}
+#if 0 /*JP*/
return buf;
+#else
+ break;
+#endif
}
/* here for ring/scroll/potion/wand */
if (nn) {
+#if 0 /*JP*/
if (ocl->oc_unique)
Strcpy(buf, actualn); /* avoid spellbook of Book of the Dead */
else
Sprintf(eos(buf), " of %s", actualn);
+#else
+ Strcpy(buf, actualn);
+#endif
}
+#if 0 /*JP*/
if (un)
Sprintf(eos(buf), " called %s", un);
+#endif
if (dn)
+#if 0 /*JP*/
Sprintf(eos(buf), " (%s)", dn);
+#else
+ Sprintf(eos(buf), "(%s%s)", dn,
+ ocl->oc_class == POTION_CLASS ? "\96ò" : "");
+#endif
return buf;
}
fruitname(juice)
boolean juice; /* whether or not to append " juice" to the name */
{
+#if 1 /*JP*//*\93ú\96{\8cê\82Å\82Í\82»\82±\82Ü\82Å\82µ\82È\82¢*/
+ char *buf = nextobuf();
+ Sprintf(buf, "%s%s", pl_fruit, juice ? "\83W\83\85\81[\83X" : "");
+ return buf;
+#else
char *buf = nextobuf();
const char *fruit_nam = strstri(pl_fruit, " of ");
Sprintf(buf, "%s%s", makesingular(fruit_nam), juice ? " juice" : "");
return buf;
+#endif
}
char *
}
if (obj_is_pname(obj))
+#if 0 /*JP*/
+ goto nameit;
+#else
+ {
+ Strcat(buf, ONAME(obj));
goto nameit;
+ }
+#endif
+#if 1 /*JP*/
+ if (has_oname(obj) && dknown) {
+ Strcat(buf, ONAME(obj));
+ Strcat(buf, "\82Æ\96¼\82Ã\82¯\82ç\82ê\82½");
+ }
+#endif
switch (obj->oclass) {
case AMULET_CLASS:
if (!dknown)
+/*JP
Strcpy(buf, "amulet");
+*/
+ Strcat(buf, "\96\82\8f\9c\82¯");
else if (typ == AMULET_OF_YENDOR || typ == FAKE_AMULET_OF_YENDOR)
/* each must be identified individually */
Strcpy(buf, known ? actualn : dn);
else if (nn)
Strcpy(buf, actualn);
else if (un)
+/*JP
Sprintf(buf, "amulet called %s", un);
+*/
+ Sprintf(eos(buf), "%s\82Æ\8cÄ\82Î\82ê\82é\96\82\8f\9c\82¯", un);
else
+/*JP
Sprintf(buf, "%s amulet", dn);
+*/
+ Sprintf(eos(buf), "%s", dn);
break;
case WEAPON_CLASS:
if (is_poisonable(obj) && obj->opoisoned)
+/*JP
Strcpy(buf, "poisoned ");
+*/
+ Strcpy(buf, "\93Å\82Ì\93h\82ç\82ê\82½");
case VENOM_CLASS:
case TOOL_CLASS:
+#if 1 /*JP*/
+ if (typ == FIGURINE)
+ Sprintf(eos(buf), "%s\82Ì", mons[obj->corpsenm].mname);
+#endif
if (typ == LENSES)
+/*JP
Strcpy(buf, "pair of ");
+*/
+ Strcpy(buf, "\88ê\91Î\82Ì");
else if (is_wet_towel(obj))
+/*JP
Strcpy(buf, (obj->spe < 3) ? "moist " : "wet ");
+*/
+ Strcpy(buf, (obj->spe < 3) ? "\8e¼\82Á\82½" : "\94G\82ê\82½");
if (!dknown)
Strcat(buf, dn ? dn : actualn);
else if (nn)
Strcat(buf, actualn);
else if (un) {
+#if 0 /*JP*/
Strcat(buf, dn ? dn : actualn);
Strcat(buf, " called ");
Strcat(buf, un);
+#else
+ Strcat(buf, un);
+ Strcat(buf, "\82Æ\8cÄ\82Î\82ê\82é");
+ Strcat(buf, dn ? dn : actualn);
+#endif
} else
Strcat(buf, dn ? dn : actualn);
+#if 0 /*JP*/ /*\82±\82ê\82Í\8cê\8f\87\82Ì\8aÖ\8cW\82©\82ç\8fã\82Ì\95û\82Å\92è\8b`*/
/* If we use an() here we'd have to remember never to use */
/* it whenever calling doname() or xname(). */
if (typ == FIGURINE && omndx != NON_PM) {
index(vowels, *mons[omndx].mname) ? "n" : "",
mons[omndx].mname);
} else if (is_wet_towel(obj)) {
+#else
+ if (is_wet_towel(obj)) {
+#endif
if (wizard)
Sprintf(eos(buf), " (%d)", obj->spe);
}
case ARMOR_CLASS:
/* depends on order of the dragon scales objects */
if (typ >= GRAY_DRAGON_SCALES && typ <= YELLOW_DRAGON_SCALES) {
+/*JP
Sprintf(buf, "set of %s", actualn);
+*/
+ Sprintf(buf, "%s\88ê\8e®", actualn);
break;
}
if (is_boots(obj) || is_gloves(obj))
+/*JP
Strcpy(buf, "pair of ");
+*/
+ Strcat(buf,"\88ê\91Î\82Ì");
if (obj->otyp >= ELVEN_SHIELD && obj->otyp <= ORCISH_SHIELD
&& !dknown) {
+/*JP
Strcpy(buf, "shield");
+*/
+ Strcat(buf, "\8f\82");
break;
}
if (obj->otyp == SHIELD_OF_REFLECTION && !dknown) {
+/*JP
Strcpy(buf, "smooth shield");
+*/
+ Strcat(buf, "\82·\82×\82·\82×\82µ\82½\8f\82");
break;
}
if (nn)
Strcat(buf, actualn);
else if (un) {
+#if 0 /*JP*/
if (is_boots(obj))
Strcat(buf, "boots");
else if (is_gloves(obj))
Strcpy(buf, "armor");
Strcat(buf, " called ");
Strcat(buf, un);
+#else
+ char *p;
+ if (is_boots(obj))
+ p = "\8cC";
+ else if (is_gloves(obj))
+ p = "\8f¬\8eè";
+ else if (is_cloak(obj))
+ p = "\83N\83\8d\81[\83N";
+ else if (is_helmet(obj))
+ p = "\8a\95";
+ else if (is_shield(obj))
+ p = "\8f\82";
+ else
+ p = "\8aZ";
+ Sprintf(eos(buf), "%s\82Æ\8cÄ\82Î\82ê\82é%s", un, p);
+#endif
} else
Strcat(buf, dn);
break;
if (Is_pudding(obj)) {
Sprintf(buf, "%s%s",
(obj->owt < 100)
+/*JP
? "small "
+*/
+ ? "\8f¬\82³\82¢"
: (obj->owt > 500)
+/*JP
? "very large "
+*/
+ ? "\82Æ\82Ä\82à\91å\82«\82¢"
: (obj->owt > 300)
+/*JP
? "large "
+*/
+ ? "\91å\82«\82¢"
: "",
actualn);
break;
}
+#if 0 /*JP*/
Strcpy(buf, actualn);
if (typ == TIN && known)
tin_details(obj, omndx, buf);
+#else
+ if (typ == TIN && known)
+ /*JP \81u\81`\82Ì\93÷\82Ì\81v*/
+ tin_details(obj, omndx, buf);
+ Strcat(buf, actualn);
+#endif
break;
case COIN_CLASS:
case CHAIN_CLASS:
+#if 0 /*JP*/
Strcpy(buf, actualn);
+#else
+ Strcat(buf, actualn);
+#endif
break;
case ROCK_CLASS:
if (typ == STATUE && omndx != NON_PM)
+#if 0 /*JP*/
Sprintf(buf, "%s%s of %s%s",
(Role_if(PM_ARCHEOLOGIST) && (obj->spe & STATUE_HISTORIC))
? "historic "
? "an "
: "a ",
mons[omndx].mname);
+#else
+ Sprintf(eos(buf), "%s%s\82Ì%s",
+ (Role_if(PM_ARCHEOLOGIST) && (obj->spe & STATUE_HISTORIC))
+ ? "\97ð\8ej\93I\82È"
+ : "",
+ mons[obj->corpsenm].mname, actualn);
+#endif
else
+#if 0 /*JP*/
Strcpy(buf, actualn);
+#else
+ Strcat(buf, actualn);
+#endif
break;
case BALL_CLASS:
+#if 0 /*JP*/
Sprintf(buf, "%sheavy iron ball",
(obj->owt > ocl->oc_weight) ? "very " : "");
+#else
+ Sprintf(eos(buf), "%s\8fd\82¢\93S\8b\85",
+ (obj->owt > ocl->oc_weight) ? "\82Æ\82Ä\82à" : "");
+#endif
break;
case POTION_CLASS:
if (dknown && obj->odiluted)
+/*JP
Strcpy(buf, "diluted ");
+*/
+ Strcat(buf, "\94\96\82Ü\82Á\82½");
if (nn || un || !dknown) {
+#if 0 /*JP*/
Strcat(buf, "potion");
if (!dknown)
break;
+#else
+ if (!dknown){
+ Strcat(buf, "\96ò");
+ break;
+ }
+#endif
if (nn) {
+#if 0 /*JP*/
Strcat(buf, " of ");
+#endif
if (typ == POT_WATER && bknown
&& (obj->blessed || obj->cursed)) {
+/*JP
Strcat(buf, obj->blessed ? "holy " : "unholy ");
+*/
+ Strcat(buf, obj->blessed ? "\90¹" : "\95s\8fò\82È");
}
Strcat(buf, actualn);
} else {
+#if 0 /*JP*/
Strcat(buf, " called ");
Strcat(buf, un);
+#else
+ Strcat(buf, un);
+ Strcat(buf, "\82Æ\8cÄ\82Î\82ê\82é\96ò");
+#endif
}
} else {
Strcat(buf, dn);
+/*JP
Strcat(buf, " potion");
+*/
+ Strcat(buf, "\96ò");
}
break;
case SCROLL_CLASS:
+#if 0 /*JP*/
Strcpy(buf, "scroll");
if (!dknown)
break;
+#else
+ if(!dknown){
+ Strcat(buf,"\8aª\95¨");
+ break;
+ }
+#endif
if (nn) {
+#if 0 /*JP*/
Strcat(buf, " of ");
+#endif
Strcat(buf, actualn);
} else if (un) {
+#if 0 /*JP*/
Strcat(buf, " called ");
Strcat(buf, un);
+#else
+ Strcat(buf, un);
+ Strcat(buf, "\82Æ\8cÄ\82Î\82ê\82é\8aª\95¨");
+#endif
} else if (ocl->oc_magic) {
+#if 0 /*JP*/
Strcat(buf, " labeled ");
+#endif
Strcat(buf, dn);
} else {
+#if 0 /*JP*/
Strcpy(buf, dn);
Strcat(buf, " scroll");
+#else
+ Strcat(buf, dn);
+#endif
}
break;
case WAND_CLASS:
if (!dknown)
+/*JP
Strcpy(buf, "wand");
+*/
+ Strcat(buf, "\8fñ");
else if (nn)
+/*JP
Sprintf(buf, "wand of %s", actualn);
+*/
+ Strcat(buf, actualn);
else if (un)
+/*JP
Sprintf(buf, "wand called %s", un);
+*/
+ Sprintf(eos(buf), "%s\82Æ\8cÄ\82Î\82ê\82é\8fñ", un);
else
+/*JP
Sprintf(buf, "%s wand", dn);
+*/
+ Strcat(buf, dn);
break;
case SPBOOK_CLASS:
if (typ == SPE_NOVEL) { /* 3.6 tribute */
break;
/* end of tribute */
} else if (!dknown) {
+/*JP
Strcpy(buf, "spellbook");
+*/
+ Strcat(buf, "\96\82\96@\8f\91");
} else if (nn) {
+#if 0 /*JP*/
if (typ != SPE_BOOK_OF_THE_DEAD)
Strcpy(buf, "spellbook of ");
+#endif
Strcat(buf, actualn);
} else if (un) {
+/*JP
Sprintf(buf, "spellbook called %s", un);
+*/
+ Sprintf(eos(buf), "%s\82Æ\8cÄ\82Î\82ê\82é\96\82\96@\8f\91", un);
} else
+/*JP
Sprintf(buf, "%s spellbook", dn);
+*/
+ Sprintf(eos(buf), "%s", dn);
break;
case RING_CLASS:
if (!dknown)
+/*JP
Strcpy(buf, "ring");
+*/
+ Strcat(buf, "\8ew\97Ö");
else if (nn)
+/*JP
Sprintf(buf, "ring of %s", actualn);
+*/
+ Strcat(buf, actualn);
else if (un)
+/*JP
Sprintf(buf, "ring called %s", un);
+*/
+ Sprintf(eos(buf), "%s\82Æ\8cÄ\82Î\82ê\82é\8ew\97Ö", un);
else
+/*JP
Sprintf(buf, "%s ring", dn);
+*/
+ Strcat(buf, dn);
break;
case GEM_CLASS: {
+/*JP
const char *rock = (ocl->oc_material == MINERAL) ? "stone" : "gem";
+*/
+ const char *rock = (ocl->oc_material == MINERAL) ? "\90Î" : "\95ó\90Î";
if (!dknown) {
+#if 0 /*JP*/
Strcpy(buf, rock);
+#else
+ Strcat(buf, rock);
+#endif
} else if (!nn) {
if (un)
+/*JP
Sprintf(buf, "%s called %s", rock, un);
+*/
+ Sprintf(eos(buf), "%s\82Æ\8cÄ\82Î\82ê\82é%s", un, rock);
else
+/*JP
Sprintf(buf, "%s %s", dn, rock);
+*/
+ Strcat(buf, dn);
} else {
Strcpy(buf, actualn);
+#if 0 /*JP*/
if (GemStone(typ))
Strcat(buf, " stone");
+#endif
}
break;
}
default:
Sprintf(buf, "glorkum %d %d %d", obj->oclass, typ, obj->spe);
}
+#if 0 /*JP*/
if (pluralize)
Strcpy(buf, makeplural(buf));
+#endif
if (obj->otyp == T_SHIRT && program_state.gameover) {
char tmpbuf[BUFSZ];
Sprintf(eos(buf), " with text \"%s\"", tshirt_text(obj, tmpbuf));
}
+#if 0 /*JP*/
if (has_oname(obj) && dknown) {
Strcat(buf, " named ");
nameit:
if (!strncmpi(buf, "the ", 4))
buf += 4;
+#else
+nameit:
+#endif
return buf;
}
if (m_shot.n > 1 && m_shot.o == obj->otyp) {
/* "the Nth arrow"; value will eventually be passed to an() or
The(), both of which correctly handle this "the " prefix */
+/*JP
Sprintf(tmpbuf, "the %d%s ", m_shot.i, ordin(m_shot.i));
+*/
+ Sprintf(tmpbuf, "%d%s\96Ú\82Ì", m_shot.i, numeral(obj));
onm = strprepend(onm, tmpbuf);
}
return onm;
the_unique_obj(obj)
struct obj *obj;
{
+#if 0 /*JP*/
boolean known = (obj->known || iflags.override_ID);
if (!obj->dknown && !iflags.override_ID)
else
return (boolean) (objects[obj->otyp].oc_unique
&& (known || obj->otyp == AMULET_OF_YENDOR));
+#else
+ return FALSE;
+#endif
}
/* should monster type be prefixed with "the"? (mostly used for corpses) */
if (obj->oeroded && !iscrys) {
switch (obj->oeroded) {
case 2:
+/*JP
Strcat(prefix, "very ");
+*/
+ Strcat(prefix, "\82Æ\82Ä\82à");
break;
case 3:
+/*JP
Strcat(prefix, "thoroughly ");
+*/
+ Strcat(prefix, "\82©\82È\82è");
break;
}
+/*JP
Strcat(prefix, is_rustprone(obj) ? "rusty " : "burnt ");
+*/
+ Strcat(prefix, is_rustprone(obj) ? "\8eK\82Ñ\82½" : "\8f\9d\82Â\82¢\82½");
}
if (obj->oeroded2 && !iscrys) {
switch (obj->oeroded2) {
case 2:
+/*JP
Strcat(prefix, "very ");
+*/
+ Strcat(prefix, "\82Æ\82Ä\82à");
break;
case 3:
+/*JP
Strcat(prefix, "thoroughly ");
+*/
+ Strcat(prefix, "\82©\82È\82è");
break;
}
+/*JP
Strcat(prefix, is_corrodeable(obj) ? "corroded " : "rotted ");
+*/
+ Strcat(prefix, is_corrodeable(obj) ? "\95\85\90H\82µ\82½" : "\95\85\82Á\82½");
}
if (rknown && obj->oerodeproof)
Strcat(prefix, iscrys
+/*JP
? "fixed "
+*/
+ ? "\88À\92è\82µ\82½"
: is_rustprone(obj)
+/*JP
? "rustproof "
+*/
+ ? "\8eK\82Ñ\82È\82¢"
: is_corrodeable(obj)
+#if 0 /*JP*/
? "corrodeproof " /* "stainless"? */
+#else
+ ? "\95\85\90H\82µ\82È\82¢" /* "stainless"? */
+#endif
: is_flammable(obj)
+/*JP
? "fireproof "
+*/
+ ? "\94R\82¦\82È\82¢"
: "");
}
the start of prefix instead of the
end (Strcat is used on the end) */
register char *bp = xname(obj);
+#if 1 /*JP*//*\8f\87\8f\98\93ü\82ê\91Ö\82¦\82É\8eg\82¤*/
+ char preprefix[PREFIX];
+#endif
if (iflags.override_ID) {
known = cknown = bknown = lknown = TRUE;
* combining both into one function taking a parameter.
*/
/* must check opoisoned--someone can have a weirdly-named fruit */
+#if 0 /*JP*/
if (!strncmp(bp, "poisoned ", 9) && obj->opoisoned) {
bp += 9;
ispoisoned = TRUE;
}
+#else
+ if (!strncmp(bp, "\93Å\82Ì\93h\82ç\82ê\82½", 12) && obj->opoisoned) {
+ bp += 12;
+ ispoisoned = TRUE;
+ }
+#endif
+#if 1 /*JP*/
+ /* JP
+ *\81u\8eq\94L\82Ì\82½\82Ü\82Æ\96¼\82Ã\82¯\82ç\82ê\82½\8e\80\91Ì\81v\82æ\82è\81u\82½\82Ü\82Æ\96¼\82Ã\82¯\82ç\82ê\82½\8eq\94L\82Ì\8e\80\91Ì\81v
+ * \82Ì\82Ù\82¤\82ª\8e©\91R\82Å\82 \82é\81D
+ */
+ {
+ char *tp;
+ preprefix[0] = '\0';
+ if((tp = strstri(bp, "\96¼\82Ã\82¯\82ç\82ê\82½")) != NULL){
+ tp += 12; /* \81u\96¼\82Ã\82¯\82ç\82ê\82½\81v*/
+ strncpy(preprefix, bp, tp - bp);
+ preprefix[tp - bp] = '\0';
+ bp = tp;
+ }
+ Strcpy(prefix, "");
+ }
+#endif
if (obj->quan != 1L) {
+#if 0 /*JP*/
Sprintf(prefix, "%ld ", obj->quan);
+#else /* \93ú\96{\8cê\82Æ\82µ\82Ä\82Í\90\94\8e\8c\82ª\82È\82¢\82Ì\82Í\95s\8e©\91R */
+ Sprintf(prefix, "%ld%s\82Ì", obj->quan, numeral(obj));
+#endif
} else if (obj->otyp == CORPSE) {
/* skip article prefix for corpses [else corpse_xname()
would have to be taught how to strip it off again] */
*prefix = '\0';
+#if 0 /*JP*/ /* \8a¥\8e\8c\82Í\95s\97v */
} else if (obj_is_pname(obj) || the_unique_obj(obj)) {
if (!strncmpi(bp, "the ", 4))
bp += 4;
Strcpy(prefix, "the ");
} else {
Strcpy(prefix, "a ");
+#else /*prefix\82Ì\8f\89\8aú\89»*/
+ } else {
+ Strcpy(prefix, "");
+#endif
}
/* "empty" goes at the beginning, but item count goes at the end */
/* not bag of tricks: empty if container which has no contents */
: (Is_container(obj) || obj->otyp == STATUE)
&& !Has_contents(obj)))
+/*JP
Strcat(prefix, "empty ");
+*/
+ Strcat(prefix, "\8bó\82Ì");
if (bknown && obj->oclass != COIN_CLASS
&& (obj->otyp != POT_WATER || !objects[POT_WATER].oc_name_known
* always allow "uncursed potion of water"
*/
if (obj->cursed)
+/*JP
Strcat(prefix, "cursed ");
+*/
+ Strcat(prefix, "\8eô\82í\82ê\82½");
else if (obj->blessed)
+/*JP
Strcat(prefix, "blessed ");
+*/
+ Strcat(prefix, "\8fj\95\9f\82³\82ê\82½");
else if (!iflags.implicit_uncursed
/* For most items with charges or +/-, if you know how many
* charges are left or what the +/- is, then you must have
&& obj->otyp != FAKE_AMULET_OF_YENDOR
&& obj->otyp != AMULET_OF_YENDOR
&& !Role_if(PM_PRIEST)))
+/*JP
Strcat(prefix, "uncursed ");
+*/
+ Strcat(prefix, "\8eô\82í\82ê\82Ä\82¢\82È\82¢");
}
if (lknown && Is_box(obj)) {
if (obj->obroken)
+/*JP
Strcat(prefix, "unlockable ");
+*/
+ Strcat(prefix, "\8c®\82Ì\89ó\82ê\82½");
else if (obj->olocked)
+/*JP
Strcat(prefix, "locked ");
+*/
+ Strcat(prefix, "\8c®\82Ì\8a|\82©\82Á\82½");
else
+/*JP
Strcat(prefix, "unlocked ");
+*/
+ Strcat(prefix, "\8c®\82Ì\8a|\82©\82Á\82Ä\82¢\82È\82¢");
}
if (obj->greased)
+/*JP
Strcat(prefix, "greased ");
+*/
+ Strcat(prefix, "\96û\82Ì\93h\82ç\82ê\82½");
if (cknown && Has_contents(obj)) {
/* we count all objects (obj->quantity); perhaps we should
when there are 2 scrolls plus 1000 gold pieces */
long itemcount = count_contents(obj, FALSE, FALSE, TRUE);
+#if 0 /*JP*/
Sprintf(eos(bp), " containing %ld item%s", itemcount,
plur(itemcount));
+#else
+ Sprintf(eos(bp), "(%ld\8cÂ\93ü\82Á\82Ä\82¢\82é)", itemcount);
+#endif
}
switch (obj->oclass) {
case AMULET_CLASS:
if (obj->owornmask & W_AMUL)
+/*JP
Strcat(bp, " (being worn)");
+*/
+ Strcat(bp, "(\90g\82É\82Â\82¯\82Ä\82¢\82é)");
break;
case WEAPON_CLASS:
if (ispoisoned)
+/*JP
Strcat(prefix, "poisoned ");
+*/
+ Strcat(prefix, "\93Å\82Ì\93h\82ç\82ê\82½");
plus:
add_erosion_words(obj, prefix);
if (known) {
break;
case ARMOR_CLASS:
if (obj->owornmask & W_ARMOR)
+/*JP
Strcat(bp, (obj == uskin) ? " (embedded in your skin)"
+*/
+ Strcat(bp, (obj == uskin) ? "(\94§\82É\96\84\82ß\82±\82Ü\82ê\82Ä\82¢\82é)"
+/*JP
: " (being worn)");
+*/
+ : "(\90g\82É\82Â\82¯\82Ä\82¢\82é)");
goto plus;
case TOOL_CLASS:
/* weptools already get this done when we go to the +n code */
if (!is_weptool(obj))
add_erosion_words(obj, prefix);
if (obj->owornmask & (W_TOOL /* blindfold */ | W_SADDLE)) {
+/*JP
Strcat(bp, " (being worn)");
+*/
+ Strcat(bp, "(\90g\82É\82Â\82¯\82Ä\82¢\82é)");
break;
}
if (obj->otyp == LEASH && obj->leashmon != 0) {
+/*JP
Strcat(bp, " (in use)");
+*/
+ Strcat(bp, "(\8c\8b\82Ñ\82Â\82¯\82Ä\82¢\82é)");
break;
}
if (is_weptool(obj))
goto plus;
if (obj->otyp == CANDELABRUM_OF_INVOCATION) {
+#if 0 /*JP*/
if (!obj->spe)
Strcpy(tmpbuf, "no");
else
Sprintf(tmpbuf, "%d", obj->spe);
Sprintf(eos(bp), " (%s candle%s%s)", tmpbuf, plur(obj->spe),
!obj->lamplit ? " attached" : ", lit");
+#else
+ if(!obj->spe)
+ Sprintf(eos(bp), "(\88ê\96{\82à\8eæ\82è\82Â\82¯\82ç\82ê\82Ä\82¢\82È\82¢)");
+ else {
+ if(!obj->lamplit)
+ Sprintf(eos(bp), "(%d\96{\8eæ\82è\82Â\82¯\82ç\82ê\82Ä\82¢\82é)", obj->spe);
+ else
+ Sprintf(eos(bp), "(%d\96{\8cõ\82Á\82Ä\82¢\82é)", obj->spe);
+ }
+#endif
break;
} else if (obj->otyp == OIL_LAMP || obj->otyp == MAGIC_LAMP
|| obj->otyp == BRASS_LANTERN || Is_candle(obj)) {
if (Is_candle(obj)
&& obj->age < 20L * (long) objects[obj->otyp].oc_cost)
+/*JP
Strcat(prefix, "partly used ");
+*/
+ Strcat(prefix, "\8eg\82¢\82³\82µ\82Ì");
if (obj->lamplit)
+/*JP
Strcat(bp, " (lit)");
+*/
+ Strcat(bp, "(\8cõ\82Á\82Ä\82¢\82é)");
break;
}
if (objects[obj->otyp].oc_charged)
add_erosion_words(obj, prefix);
charges:
if (known)
+/*JP
Sprintf(eos(bp), " (%d:%d)", (int) obj->recharged, obj->spe);
+*/
+ Sprintf(eos(bp), "(%d:%d)", (int) obj->recharged, obj->spe);
break;
case POTION_CLASS:
if (obj->otyp == POT_OIL && obj->lamplit)
+/*JP
Strcat(bp, " (lit)");
+*/
+ Strcat(bp, "(\8cõ\82Á\82Ä\82¢\82é)");
break;
case RING_CLASS:
add_erosion_words(obj, prefix);
ring:
if (obj->owornmask & W_RINGR)
+/*JP
Strcat(bp, " (on right ");
+*/
+ Strcat(bp, "(\89E");
if (obj->owornmask & W_RINGL)
+/*JP
Strcat(bp, " (on left ");
+*/
+ Strcat(bp, "(\8d¶");
if (obj->owornmask & W_RING) {
Strcat(bp, body_part(HAND));
Strcat(bp, ")");
}
if (known && objects[obj->otyp].oc_charged) {
+#if 1 /*JP*/
+ Strcat(prefix, " ");
+#endif
Strcat(prefix, sitoa(obj->spe));
Strcat(prefix, " ");
}
break;
case FOOD_CLASS:
if (obj->oeaten)
+/*JP
Strcat(prefix, "partly eaten ");
+*/
+ Strcat(prefix, "\90H\82×\82©\82¯\82Ì");
if (obj->otyp == CORPSE) {
+#if 0 /*JP*/
Sprintf(prefix, "%s ",
corpse_xname(obj, prefix, CXN_ARTICLE | CXN_NOCORPSE));
+#else
+ Sprintf(prefix, "%s\82Ì",
+ corpse_xname(obj, prefix, CXN_ARTICLE | CXN_NOCORPSE));
+#endif
} else if (obj->otyp == EGG) {
#if 0 /* corpses don't tell if they're stale either */
if (known && stale_egg(obj))
#endif
if (omndx >= LOW_PM
&& (known || (mvitals[omndx].mvflags & MV_KNOWS_EGG))) {
+#if 0 /*JP*/
Strcat(prefix, mons[omndx].mname);
Strcat(prefix, " ");
+#else
+ Strcat(prefix, mons[omndx].mname);
+ Strcat(prefix, "\82Ì");
+#endif
if (obj->spe)
+/*JP
Strcat(bp, " (laid by you)");
+*/
+ Strcat(bp, "(\82 \82È\82½\82ª\8eY\82ñ\82¾)");
}
}
if (obj->otyp == MEAT_RING)
case CHAIN_CLASS:
add_erosion_words(obj, prefix);
if (obj->owornmask & W_BALL)
+/*JP
Strcat(bp, " (chained to you)");
+*/
+ Strcat(bp, "(\82 \82È\82½\82É\8cq\82ª\82ê\82Ä\82¢\82é)");
break;
}
if ((obj->owornmask & W_WEP) && !mrg_to_wielded) {
if (obj->quan != 1L) {
+/*JP
Strcat(bp, " (wielded)");
+*/
+ Strcat(bp, "(\91\95\94õ\82µ\82Ä\82¢\82é)");
} else {
const char *hand_s = body_part(HAND);
if (bimanual(obj))
hand_s = makeplural(hand_s);
+/*JP
Sprintf(eos(bp), " (weapon in %s)", hand_s);
+*/
+ Sprintf(eos(bp), "(%s\82É\82µ\82Ä\82¢\82é)", hand_s);
if (warn_obj_cnt && obj == uwep && (EWarn_of_mon & W_WEP) != 0L) {
/* presumably can be felt when blind */
- Strcat(bp, " (glowing");
+#if 0 /*JP*/
+ Strcat(bp, " (");
if (!Blind)
- Sprintf(eos(bp), " %s", glow_color(obj->oartifact));
- Strcat(bp, ")");
+ Sprintf(eos(bp), "%s\90F\82É", glow_color(obj->oartifact));
+ Strcat(bp, "\8bP\82¢\82Ä\82¢\82é)");
+#else
+#endif
}
}
}
if (obj->owornmask & W_SWAPWEP) {
if (u.twoweap)
+/*JP
Sprintf(eos(bp), " (wielded in other %s)", body_part(HAND));
+*/
+ Sprintf(eos(bp), "(\8d¶%s\82É\82µ\82Ä\82¢\82é)", body_part(HAND));
else
+/*JP
Strcat(bp, " (alternate weapon; not wielded)");
+*/
+ Strcat(bp, "(\97\\94õ\82Ì\95\90\8aí;\91\95\94õ\82µ\82Ä\82¢\82È\82¢)");
}
if (obj->owornmask & W_QUIVER) {
switch (obj->oclass) {
if (is_ammo(obj)) {
if (objects[obj->otyp].oc_skill == -P_BOW) {
/* Ammo for a bow */
+/*JP
Strcat(bp, " (in quiver)");
+*/
+ Strcat(bp, "(\96î\93\9b\82É\93ü\82Á\82Ä\82¢\82é)");
break;
} else {
/* Ammo not for a bow */
+/*JP
Strcat(bp, " (in quiver pouch)");
+*/
+ Strcat(bp, "(\92e\93ü\82ê\82É\93ü\82Á\82Ä\82¢\82é)");
break;
}
} else {
/* Weapons not considered ammo */
+/*JP
Strcat(bp, " (at the ready)");
+*/
+ Strcat(bp, "(\8f\80\94õ\82µ\82Ä\82¢\82é)");
break;
}
/* Small things and ammo not for a bow */
case WAND_CLASS:
case COIN_CLASS:
case GEM_CLASS:
+/*JP
Strcat(bp, " (in quiver pouch)");
+*/
+ Strcat(bp, "(\92e\93ü\82ê\82É\93ü\82Á\82Ä\82¢\82é)");
break;
default: /* odd things */
+/*JP
Strcat(bp, " (at the ready)");
+*/
+ Strcat(bp, "(\8f\80\94õ\82µ\82Ä\82¢\82é)");
}
}
if (!iflags.suppress_price && is_unpaid(obj)) {
if (price > 0)
Sprintf(eos(bp), " (%ld %s)", price, currency(price));
}
+#if 0 /*JP*//*\93ú\96{\8cê\82Å\82Í\95s\97v*/
if (!strncmp(prefix, "a ", 2)
&& index(vowels, *(prefix + 2) ? *(prefix + 2) : *bp)
&& (*(prefix + 2)
Strcpy(prefix, "an ");
Strcpy(prefix + 3, tmpbuf + 2);
}
+#endif
/* show weight for items (debug tourist info)
* aum is stolen from Crawl's "Arbitrary Unit of Measure" */
if (wizard) {
Sprintf(eos(bp), " (%d aum)", obj->owt);
}
+#if 0 /*JP*/
bp = strprepend(bp, prefix);
+#else /*JP:\81u\96¼\95t\82¯\82ç\82ê\82½\81v\82ð\96ß\82·*/
+ Strcat(preprefix, prefix);
+ bp = strprepend(bp, preprefix);
+#endif
return bp;
}
const char *mname;
if (omndx == NON_PM) { /* paranoia */
+/*JP
mname = "thing";
+*/
+ mname = "\89½\82©";
/* [Possible enhancement: check whether corpse has monster traits
attached in order to use priestname() for priests and minions.] */
} else if (omndx == PM_ALIGNED_PRIEST) {
/* avoid "aligned priest"; it just exposes internal details */
+/*JP
mname = "priest";
+*/
+ mname = "\91m\97µ";
} else {
mname = mons[omndx].mname;
if (the_unique_pm(&mons[omndx]) || type_is_pname(&mons[omndx])) {
Name causes it to assume a personal name and return Name as-is;
that's usually the behavior wanted, but here we need to force "the"
to precede capitalized unique monsters (pnames are handled above) */
+#if 0 /*JP*//*\93ú\96{\8cê\82É\92è\8a¥\8e\8c\82Í\95s\97v*/
if (the_prefix)
Strcat(nambuf, "the ");
+#endif
if (!adjective || !*adjective) {
/* normal case: newt corpse */
} else {
/* adjective positioning depends upon format of monster name */
if (possessive) /* Medusa's cursed partly eaten corpse */
+/*JP
Sprintf(eos(nambuf), "%s %s", mname, adjective);
+*/
+ Sprintf(eos(nambuf), "%s%s", mname, adjective);
else /* cursed partly eaten troll corpse */
+/*JP
Sprintf(eos(nambuf), "%s %s", adjective, mname);
+*/
+ Sprintf(eos(nambuf), "%s%s", adjective, mname);
/* in case adjective has a trailing space, squeeze it out */
mungspaces(nambuf);
/* doname() might include a count in the adjective argument;
}
if (!omit_corpse) {
+#if 0 /*JP*/
Strcat(nambuf, " corpse");
/* makeplural(nambuf) => append "s" to "corpse" */
if (otmp->quan > 1L && !ignore_quan) {
Strcat(nambuf, "s");
any_prefix = FALSE; /* avoid "a newt corpses" */
}
+#else
+ Strcat(nambuf, "\82Ì\8e\80\91Ì");
+#endif
}
/* it's safe to overwrite our nambuf after an() has copied
devnull tournament, suppress player supplied fruit names because
those can be used to fake other objects and dungeon features */
buf = nextobuf();
+/*JP
Sprintf(buf, "deadly slime mold%s", plur(obj->quan));
+*/
+ Strcpy(buf, "\8aë\8c¯\82È\82Ë\82Î\82Ë\82Î\83J\83r");
} else {
buf = xname(obj);
}
/* apply an article if appropriate; caller should always use KILLED_BY */
+#if 0 /*JP*//*\93ú\96{\8cê\82Å\82Í\95s\97v*/
if (obj->quan == 1L && !strstri(buf, "'s ") && !strstri(buf, "s' "))
buf = (obj_is_pname(obj) || the_unique_obj(obj)) ? the(buf) : an(buf);
+#endif
objects[obj->otyp].oc_name_known = save_ocknown;
objects[obj->otyp].oc_uname = save_ocuname;
{
char *buf = nextobuf();
+#if 0 /*JP*//*\95s\92è\8a¥\8e\8c\82Í\95s\97v*/
buf[0] = '\0';
if (strncmpi(str, "the ", 4) && strcmp(str, "molten lava")
}
Strcat(buf, str);
+#else /*\92P\82É\83R\83s\81[*/
+ Strcpy(buf, str);
+#endif
return buf;
}
{
char *tmp = an(str);
+#if 0 /*JP*//*\91å\95¶\8e\9a\89»\82µ\82È\82¢*/
*tmp = highc(*tmp);
+#endif
return tmp;
}
const char *str;
{
char *buf = nextobuf();
+#if 0 /*JP*//*\92è\8a¥\8e\8c\82Í\95s\97v*/
boolean insert_the = FALSE;
if (!strncmpi(str, "the ", 4)) {
buf[0] = '\0';
Strcat(buf, str);
+#else /*\92P\82É\83R\83s\81[*/
+ Strcpy(buf, str);
+#endif /*JP*/
return buf;
}
{
char *tmp = the(str);
+#if 0 /*JP*//*\91å\95¶\8e\9a\89»\82µ\82È\82¢*/
*tmp = highc(*tmp);
+#endif
return tmp;
}
+#if 1 /*JP*/
+char *
+aobjnam(otmp, verb)
+register struct obj *otmp;
+register const char *verb;
+{
+ return xname(otmp);
+}
+
+#else
/* returns "count cxname(otmp)" or just cxname(otmp) if count == 1 */
char *
aobjnam(otmp, verb)
}
return bp;
}
+#endif /*JP*/
/* combine yname and aobjnam eg "your count cxname(otmp)" */
char *
{
register char *s = yobjnam(obj, verb);
+#if 0 /*JP*/
*s = highc(*s);
+#endif
return s;
}
{
char *bp = The(xname(otmp));
+#if 0 /*JP*//*\93ú\96{\8cê\82É\82Í\8eO\92P\8c»\82Ìs\82Í\82È\82¢*/
if (verb) {
Strcat(bp, " ");
Strcat(bp, otense(otmp, verb));
}
+#endif /*JP*/
return bp;
}
{
char *s = yname(obj);
+#if 0 /*JP*/
*s = highc(*s);
+#endif
return s;
}
{
char *outbuf = nextobuf();
char *s = shk_your(outbuf, obj); /* assert( s == outbuf ); */
+#if 0 /*JP*/
int space_left = BUFSZ - 1 - strlen(s);
return strncat(s, minimal_xname(obj), space_left);
+#else
+ int space_left = BUFSZ - strlen(s);
+
+ return strncat(s, minimal_xname(obj), space_left);
+#endif
}
/* capitalized variant of ysimple_name() */
{
char *s = ysimple_name(obj);
+#if 0 /*JP*/
*s = highc(*s);
+#endif
return s;
}
{
char *simpleoname = minimal_xname(obj);
+#if 0 /*JP*//*\93ú\96{\8cê\82Í\92P\95¡\93¯\8c^*/
if (obj->quan != 1L)
simpleoname = makeplural(simpleoname);
+#endif
return simpleoname;
}
if (obj->oartifact) {
outbuf = nextobuf();
Strcpy(outbuf, artiname(obj->oartifact));
+#if 0 /*JP*/
if (!strncmp(outbuf, "The ", 4))
outbuf[0] = lowc(outbuf[0]);
+#endif
} else {
outbuf = xname(obj);
}
* if the result of xname(otmp) would be plural. Don't bother
* recomputing xname(otmp) at this time.
*/
+#if 0 /*JP*//*\93ú\96{\8cê\82É\82Í\8eO\92P\8c»\82Ìs\82Í\82È\82¢*/
if (!is_plural(otmp))
return vtense((char *) 0, verb);
+#endif /*JP*/
buf = nextobuf();
Strcpy(buf, verb);
register const char *subj;
register const char *verb;
{
+#if 0 /*JP*//*\93ú\96{\8cê\82É\82Í\8eO\92P\8c»\82Ìs\82Í\82È\82¢*/
char *buf = nextobuf(), *bspot;
int len, ltmp;
const char *sp, *spot;
Strcasecpy(bspot + 1, "s");
}
+#else
+ char *buf;
+
+ buf = nextobuf();
+ Strcpy(buf, verb);
+#endif /*JP*/
return buf;
}
makeplural(oldstr)
const char *oldstr;
{
+#if 0 /*JP*//*\93ú\96{\8cê\82Í\92P\95¡\93¯\8c^*/
register char *spot;
char lo_c, *str = nextobuf();
const char *excess = (char *) 0;
bottom:
if (excess)
Strcat(str, excess);
+#else /*JP*/
+ char *str = nextobuf();
+ Strcpy(str, oldstr);
+#endif
return str;
}
makesingular(oldstr)
const char *oldstr;
{
+#if 0 /*JP*//*\93ú\96{\8cê\82Í\92P\95¡\93¯\8c^*/
register char *p, *bp;
const char *excess = 0;
char *str = nextobuf();
Strcat(bp, excess);
return bp;
+#else /*JP*/
+ char *str = nextobuf();
+ Strcpy(str, oldstr);
+ return str;
+#endif
}
/* compare user string against object name string using fuzzy matching */
* if not an object return &zeroobj; if an error (no matching object),
* return null.
*/
+
struct obj *
readobjnam(bp, no_wish)
register char *bp;
struct fruit *f;
int ftype = context.current_fruit;
char fruitbuf[BUFSZ];
+#if 1 /*JP*/
+ char buf[BUFSZ];
+ char pfx[BUFSZ];
+#endif
/* Fruits may not mess up the ability to wish for real objects (since
* you can leave a fruit in a bones file and it will be added to
* another person's game), so they must be checked for last, after
(void) mungspaces(bp);
/* allow wishing for "nothing" to preserve wishless conduct...
[now requires "wand of nothing" if that's what was really wanted] */
+#if 0 /*JP*/
if (!strcmpi(bp, "nothing") || !strcmpi(bp, "nil")
|| !strcmpi(bp, "none"))
+#else
+ if (!strcmpi(bp, "\82È\82µ") || !strcmpi(bp, "\96³\82µ"))
+#endif
return no_wish;
/* save the [nearly] unmodified choice string */
Strcpy(fruitbuf, bp);
while (*bp == ' ')
bp++;
l = 0;
+#if 0 /*JP*/
} else if (!strncmpi(bp, "blessed ", l = 8)
|| !strncmpi(bp, "holy ", l = 5)) {
+#else
+ } else if (!strncmpi(bp, "\8fj\95\9f\82³\82ê\82½", l = 10)) {
+#endif
blessed = 1;
+#if 0 /*JP*/
} else if (!strncmpi(bp, "moist ", l = 6)
|| !strncmpi(bp, "wet ", l = 4)) {
+#else
+ } else if (!strncmpi(bp, "\8e¼\82Á\82½", l = 6)
+ || !strncmpi(bp, "\94G\82ê\82½", l = 6)) {
+#endif
+#if 0 /*JP*/
if (!strncmpi(bp, "wet ", 4))
+#else
+ if (!strncmpi(bp, "\94G\82ê\82½", 4))
+#endif
wetness = rn2(3) + 3;
else
wetness = rnd(2);
+#if 0 /*JP*/
} else if (!strncmpi(bp, "cursed ", l = 7)
|| !strncmpi(bp, "unholy ", l = 7)) {
+#else
+ } else if (!strncmpi(bp, "\8eô\82í\82ê\82½", l = 8)) {
+#endif
iscursed = 1;
+#if 0 /*JP*/
} else if (!strncmpi(bp, "uncursed ", l = 9)) {
+#else
+ } else if (!strncmpi(bp, "\8eô\82í\82ê\82Ä\82¢\82È\82¢", l = 9)) {
+#endif
uncursed = 1;
+#if 0 /*JP*/
} else if (!strncmpi(bp, "rustproof ", l = 10)
|| !strncmpi(bp, "erodeproof ", l = 11)
|| !strncmpi(bp, "corrodeproof ", l = 13)
|| !strncmpi(bp, "fixed ", l = 6)
|| !strncmpi(bp, "fireproof ", l = 10)
|| !strncmpi(bp, "rotproof ", l = 9)) {
+#else
+ } else if (!strncmpi(bp, "\8eK\82Ñ\82È\82¢", l = 8)
+ || !strncmpi(bp, "\95\85\90H\82µ\82È\82¢", l = 10)
+ || !strncmpi(bp, "\88À\92è\82µ\82½", l = 8)
+ || !strncmpi(bp, "\94R\82¦\82È\82¢", l = 8)) {
+#endif
erodeproof = 1;
} else if (!strncmpi(bp, "lit ", l = 4)
|| !strncmpi(bp, "burning ", l = 8)) {
artifact_exists(otmp, safe_oname(otmp), FALSE);
obfree(otmp, (struct obj *) 0);
otmp = &zeroobj;
+/*JP
pline("For a moment, you feel %s in your %s, but it disappears!",
+*/
+ pline("\88ê\8fu%s\82ª%s\82Ì\92\86\82É\82 \82é\82æ\82¤\82È\8a´\82¶\82ª\82µ\82½\82ª\81C\82·\82®\82É\8fÁ\82¦\82³\82Á\82½\81I",
something, makeplural(body_part(HAND)));
}
if (cloak) {
switch (cloak->otyp) {
case ROBE:
+/*JP
return "robe";
+*/
+ return "\83\8d\81[\83u";
case MUMMY_WRAPPING:
+/*JP
return "wrapping";
+*/
+ return "\95ï\91Ñ";
case ALCHEMY_SMOCK:
return (objects[cloak->otyp].oc_name_known && cloak->dknown)
+/*JP
? "smock"
+*/
+ ? "\83X\83\82\83b\83N"
+/*JP
: "apron";
+*/
+ : "\83G\83v\83\8d\83\93";
default:
break;
}
}
+/*JP
return "cloak";
+*/
+ return "\83N\83\8d\81[\83N";
}
/* helm vs hat for messages */
* fedora, cornuthaum, dunce cap -> hat
* all other types of helmets -> helm
*/
+/*JP
return (helmet && !is_metallic(helmet)) ? "hat" : "helm";
+*/
+ return (helmet && !is_metallic(helmet)) ? "\96X\8eq" : "\8a\95";
}
const char *
&& mtmp->mappearance != STRANGE_OBJECT) {
int idx = objects[mtmp->mappearance].oc_descr_idx;
if (mtmp->mappearance == GOLD_PIECE)
+/*JP
return "gold";
+*/
+ return "\8bà\89Ý";
return obj_descr[idx].oc_name;
}
+/*JP
return "whatcha-may-callit";
+*/
+ return "\89½\82Æ\82©\82¢\82¤\82à\82Ì";
}
/*
* a different format */
int optflags;
} compopt[] = {
+/*JP
{ "align", "your starting alignment (lawful, neutral, or chaotic)", 8,
+*/
+ { "align", "\83Q\81[\83\80\83X\83^\81[\83g\8e\9e\82Ì\91®\90« (lawful, neutral, or chaotic\82Ì\82¢\82¸\82ê\82©)", 8,
DISP_IN_GAME },
+#if 0 /*JP*/
{ "align_message", "message window alignment", 20, DISP_IN_GAME }, /*WC*/
+#else
+ { "align_message", "\83\81\83b\83Z\81[\83W\83E\83B\83\93\83h\83E\82Ì\91µ\82¦", 20, DISP_IN_GAME }, /*WC*/
+#endif
+#if 0 /*JP*/
{ "align_status", "status window alignment", 20, DISP_IN_GAME }, /*WC*/
+#else
+ { "align_status", "\8fó\8bµ\83E\83B\83\93\83h\83E\82Ì\91µ\82¦", 20, DISP_IN_GAME }, /*WC*/
+#endif
+/*JP
{ "altkeyhandler", "alternate key handler", 20, DISP_IN_GAME },
+*/
+ { "altkeyhandler", "ALT\83L\81[\83n\83\93\83h\83\89", 20, DISP_IN_GAME },
#ifdef BACKWARD_COMPAT
+/*JP
{ "boulder", "deprecated (use S_boulder in sym file instead)", 1,
+*/
+ { "boulder", "\8b\90\8aâ\82ð\95\\8e¦\82·\82é\83V\83\93\83{\83\8b\95¶\8e\9a", 1,
SET_IN_FILE },
#endif
+/*JP
{ "catname", "the name of your (first) cat (e.g., catname:Tabby)",
+*/
+ { "catname", "\96`\8c¯\82ð\8b\9f\82É\82·\82é(\8dÅ\8f\89\82Ì)\94L\82Ì\96¼\91O (\97á catname:\82½\82Ü)",
PL_PSIZ, DISP_IN_GAME },
+/*JP
{ "disclose", "the kinds of information to disclose at end of game",
+*/
+ { "disclose", "\83Q\81[\83\80\8fI\97¹\8e\9e\82É\8c©\82é\8fî\95ñ\82Ì\8eí\97Þ",
sizeof(flags.end_disclose) * 2, SET_IN_GAME },
+/*JP
{ "dogname", "the name of your (first) dog (e.g., dogname:Fang)", PL_PSIZ,
+*/
+ { "dogname", "\96`\8c¯\82ð\8b\9f\82É\82·\82é(\8dÅ\8f\89\82Ì)\8c¢\82Ì\96¼\91O (\97á dogname:\83|\83`)", PL_PSIZ,
DISP_IN_GAME },
+/*JP
{ "dungeon", "the symbols to use in drawing the dungeon map",
+*/
+ { "dungeon", "\83_\83\93\83W\83\87\83\93\82ð\95`\89æ\82·\82é\83V\83\93\83{\83\8b\95¶\8e\9a",
MAXDCHARS + 1, SET_IN_FILE },
+/*JP
{ "effects", "the symbols to use in drawing special effects",
+*/
+ { "effects", "\93Á\8eê\8cø\89Ê\82ð\95`\89æ\82·\82é\83V\83\93\83{\83\8b\95¶\8e\9a",
MAXECHARS + 1, SET_IN_FILE },
+/*JP
{ "font_map", "the font to use in the map window", 40,
+*/
+ { "font_map", "\83}\83b\83v\83E\83B\83\93\83h\83E\82É\8eg\97p\82·\82é\83t\83H\83\93\83g", 40,
DISP_IN_GAME }, /*WC*/
+#if 0 /*JP*/
{ "font_menu", "the font to use in menus", 40, DISP_IN_GAME }, /*WC*/
+#else
+ { "font_menu", "\83\81\83j\83\85\81[\82É\8eg\97p\82·\82é\83t\83H\83\93\83g", 40, DISP_IN_GAME }, /*WC*/
+#endif
+/*JP
{ "font_message", "the font to use in the message window", 40,
+*/
+ { "font_message", "\83\81\83b\83Z\81[\83W\83E\83B\83\93\83h\83E\82É\8eg\97p\82·\82é\83t\83H\83\93\83g", 40,
DISP_IN_GAME }, /*WC*/
+#if 0 /*JP*/
{ "font_size_map", "the size of the map font", 20, DISP_IN_GAME }, /*WC*/
+#else
+ { "font_size_map", "\83}\83b\83v\83t\83H\83\93\83g\82Ì\83T\83C\83Y", 20, DISP_IN_GAME }, /*WC*/
+#endif
+/*JP
{ "font_size_menu", "the size of the menu font", 20,
+*/
+ { "font_size_menu", "\83\81\83j\83\85\81[\83t\83H\83\93\83g\82Ì\83T\83C\83Y", 20,
DISP_IN_GAME }, /*WC*/
+/*JP
{ "font_size_message", "the size of the message font", 20,
+*/
+ { "font_size_message", "\83\81\83b\83Z\81[\83W\83t\83H\83\93\83g\82Ì\83T\83C\83Y", 20,
DISP_IN_GAME }, /*WC*/
+/*JP
{ "font_size_status", "the size of the status font", 20,
+*/
+ { "font_size_status", "\8fó\8bµ\83t\83H\83\93\83g\82Ì\83T\83C\83Y", 20,
DISP_IN_GAME }, /*WC*/
+/*JP
{ "font_size_text", "the size of the text font", 20,
+*/
+ { "font_size_text", "\83e\83L\83X\83g\83t\83H\83\93\83g\82Ì\83T\83C\83Y", 20,
DISP_IN_GAME }, /*WC*/
+/*JP
{ "font_status", "the font to use in status window", 40,
+*/
+ { "font_status", "\8fó\8bµ\83E\83B\83\93\83h\83E\82É\8eg\97p\82·\82é\83t\83H\83\93\83g", 40,
DISP_IN_GAME }, /*WC*/
+/*JP
{ "font_text", "the font to use in text windows", 40,
+*/
+ { "font_text", "\83e\83L\83X\83g\83E\83B\83\93\83h\83E\82É\8eg\97p\82·\82é\83t\83H\83\93\83g", 40,
DISP_IN_GAME }, /*WC*/
+/*JP
{ "fruit", "the name of a fruit you enjoy eating", PL_FSIZ, SET_IN_GAME },
+*/
+ { "fruit", "\8dD\95¨\82Ì\89Ê\95¨\82Ì\96¼\91O", PL_FSIZ, SET_IN_GAME },
+/*JP
{ "gender", "your starting gender (male or female)", 8, DISP_IN_GAME },
+*/
+ { "gender", "\83Q\81[\83\80\8aJ\8en\8e\9e\82Ì\90«\95Ê(male \82Ü\82½\82Í female)", 8, DISP_IN_GAME },
+/*JP
{ "horsename", "the name of your (first) horse (e.g., horsename:Silver)",
+*/
+ { "horsename", "\96`\8c¯\82ð\8b\9f\82É\82·\82é(\8dÅ\8f\89\82Ì)\94n\82Ì\96¼\91O (\97á ghoulname:\83V\83\8b\83o\81[)",
PL_PSIZ, DISP_IN_GAME },
+#if 0 /*JP*/
{ "map_mode", "map display mode under Windows", 20, DISP_IN_GAME }, /*WC*/
+#else
+ { "map_mode", "\83E\83B\83\93\83h\83E\95\\8e¦\8e\9e\82Ì\83}\83b\83v\82Ì\95\\8e¦\83\82\81[\83h", 20, DISP_IN_GAME }, /*WC*/
+#endif
+/*JP
{ "menustyle", "user interface for object selection", MENUTYPELEN,
+*/
+ { "menustyle", "\83I\83u\83W\83F\83N\83g\82ð\91I\91ð\82·\82é\82Æ\82«\82Ì\83\86\81[\83U\81[\83C\83\93\83^\83t\83F\81[\83X", MENUTYPELEN,
SET_IN_GAME },
+/*JP
{ "menu_deselect_all", "deselect all items in a menu", 4, SET_IN_FILE },
+*/
+ { "menu_deselect_all", "\91S\82Ä\82Ì\83A\83C\83e\83\80\82ð\94ñ\91I\91ð", 4, SET_IN_FILE },
+/*JP
{ "menu_deselect_page", "deselect all items on this page of a menu", 4,
+*/
+ { "menu_deselect_page", "\8c»\8dÝ\95\\8e¦\82³\82ê\82Ä\82¢\82é\83y\81[\83W\82Ì\83A\83C\83e\83\80\82ð\94ñ\91I\91ð", 4,
SET_IN_FILE },
+/*JP
{ "menu_first_page", "jump to the first page in a menu", 4, SET_IN_FILE },
+*/
+ { "menu_first_page", "\83\81\83j\83\85\81[\82Ì\8dÅ\8f\89\82Ì\83y\81[\83W\82Ö", 4, SET_IN_FILE },
+/*JP
{ "menu_headings", "text attribute for menu headings", 9, SET_IN_GAME },
+*/
+ { "menu_headings", "\8b\92²\81C\94½\93]\82Ü\82½\82Í\89º\90ü\82Å\8eí\97Þ\82ð\95\\8e¦\82·\82é", 9, SET_IN_GAME },
+/*JP
{ "menu_invert_all", "invert all items in a menu", 4, SET_IN_FILE },
+*/
+ { "menu_invert_all", "\91S\82Ä\82Ì\83A\83C\83e\83\80\82ð\94½\93]", 4, SET_IN_FILE },
+/*JP
{ "menu_invert_page", "invert all items on this page of a menu", 4,
+*/
+ { "menu_invert_page", "\8c»\8dÝ\95\\8e¦\82³\82ê\82Ä\82¢\82é\83y\81[\83W\82Ì\83A\83C\83e\83\80\82ð\94½\93]",
SET_IN_FILE },
+/*JP
{ "menu_last_page", "jump to the last page in a menu", 4, SET_IN_FILE },
+*/
+ { "menu_last_page", "\83\81\83j\83\85\81[\82Ì\8dÅ\8cã\82Ì\83y\81[\83W\82Ö", 4, SET_IN_FILE },
+/*JP
{ "menu_next_page", "goto the next menu page", 4, SET_IN_FILE },
+*/
+ { "menu_next_page", "\8e\9f\82Ì\83\81\83j\83\85\81[\82Ì\83y\81[\83W\82Ö", 4, SET_IN_FILE },
+/*JP
{ "menu_previous_page", "goto the previous menu page", 4, SET_IN_FILE },
+*/
+ { "menu_previous_page", "\91O\82Ì\83\81\83j\83\85\81[\82Ì\83y\81[\83W\82Ö", 4, SET_IN_FILE },
+/*JP
{ "menu_search", "search for a menu item", 4, SET_IN_FILE },
+*/
+ { "menu_search", "\83\81\83j\83\85\81[\82Ì\8c\9f\8dõ", 4, SET_IN_FILE },
+/*JP
{ "menu_select_all", "select all items in a menu", 4, SET_IN_FILE },
+*/
+ { "menu_select_all", "\91S\82Ä\82Ì\83A\83C\83e\83\80\82ð\91I\91ð", 4, SET_IN_FILE },
+/*JP
{ "menu_select_page", "select all items on this page of a menu", 4,
+*/
+ { "menu_select_page", "\8c»\8dÝ\95\\8e¦\82³\82ê\82Ä\82¢\82é\91S\82Ä\82Ì\83A\83C\83e\83\80\82ð\91I\91ð", 4,
SET_IN_FILE },
+/*JP
{ "monsters", "the symbols to use for monsters", MAXMCLASSES,
+*/
+ { "monsters", "\83\82\83\93\83X\83^\81[\82É\8eg\97p\82³\82ê\82é\83V\83\93\83{\83\8b\95¶\8e\9a", MAXMCLASSES,
SET_IN_FILE },
+/*JP
{ "msghistory", "number of top line messages to save", 5, DISP_IN_GAME },
+*/
+ { "msghistory", "\90æ\93ª\8ds\82É\95\\8e¦\82³\82ê\82½\83\81\83b\83Z\81[\83W\97\9a\97ð\82Ì\95Û\91¶\90\94", 5, DISP_IN_GAME },
#ifdef TTY_GRAPHICS
+/*JP
{ "msg_window", "the type of message window required", 1, SET_IN_GAME },
+*/
+ {"msg_window", "\83\81\83b\83Z\81[\83W\83E\83B\83\93\83h\83E\82Ì\83^\83C\83v\82ð\90Ý\92è",1, SET_IN_GAME },
#else
+/*JP
{ "msg_window", "the type of message window required", 1, SET_IN_FILE },
+*/
+ {"msg_window", "\83\81\83b\83Z\81[\83W\83E\83B\83\93\83h\83E\82Ì\83^\83C\83v\82ð\90Ý\92è", 1, SET_IN_FILE },
#endif
+/*JP
{ "name", "your character's name (e.g., name:Merlin-W)", PL_NSIZ,
+*/
+ { "name", "\82 \82È\82½\82Ì\96¼\91O (\97á name:\83}\81[\83\8a\83\93-W)", PL_NSIZ,
DISP_IN_GAME },
+/*JP
{ "number_pad", "use the number pad for movement", 1, SET_IN_GAME },
+*/
+ { "number_pad", "\83i\83\93\83o\81[\83p\83b\83h\82ð\8eg\97p\82·\82é", 1, SET_IN_GAME },
+/*JP
{ "objects", "the symbols to use for objects", MAXOCLASSES, SET_IN_FILE },
+*/
+ { "objects", "\83A\83C\83e\83\80\82É\8eg\97p\82³\82ê\82é\83V\83\93\83{\83\8b\95¶\8e\9a", MAXOCLASSES, SET_IN_FILE },
+/*JP
{ "packorder", "the inventory order of the items in your pack",
+*/
+ { "packorder", "\94w\95\89\82¢\91Ü\93à\82Ì\95¨\82Ì\8f\87\94Ô",
MAXOCLASSES, SET_IN_GAME },
#ifdef CHANGE_COLOR
{ "palette",
#ifndef WIN32
+/*JP
"palette (00c/880/-fff is blue/yellow/reverse white)", 15,
+*/
+ "\83p\83\8c\83b\83g (00c/880/-fff\82Í\82»\82ê\82¼\82ê\90Â/\89©/\94½\93]\94\92\82ð\8e¦\82·)", 15,
SET_IN_GAME },
#else
+/*JP
"palette (adjust an RGB color in palette (color-R-G-B)", 15,
+*/
+ "\83p\83\8c\83b\83g (\83p\83\8c\83b\83g\82ÌRGB\90F\82ð\92²\90®\82·\82é (\90F-R-G-B)", 15,
SET_IN_FILE },
#endif
#if defined(MAC)
+/*JP
{ "hicolor", "same as palette, only order is reversed", 15, SET_IN_FILE },
+*/
+ { "hicolor", "\83p\83\8c\83b\83g\82ª\93¯\82¶\82Æ\82«\81A\8ew\8e¦\82µ\82½\82à\82Ì\82¾\82¯\94½\93]\82³\82¹\82é", 15, SET_IN_FILE },
#endif
#endif
{ "paranoid_confirmation", "extra prompting in certain situations", 28,
SET_IN_GAME },
+/*JP
{ "pettype", "your preferred initial pet type", 4, DISP_IN_GAME },
+*/
+ { "pettype", "\82 \82È\82½\82Ì\91I\91ð\82µ\82½\8f\89\8aú\83y\83b\83g\82Ì\8eí\97Þ", 4, DISP_IN_GAME },
+/*JP
{ "pickup_burden", "maximum burden picked up before prompt", 20,
+*/
+ { "pickup_burden", "\8fE\82¤\82Æ\82«\82É\8dÅ\91å\89×\8fd\82É\82È\82é\8eè\91O\82Å\8am\94F\82·\82é", 20,
SET_IN_GAME },
+/*JP
{ "pickup_types", "types of objects to pick up automatically",
+*/
+ { "pickup_types", "\8e©\93®\82Å\8fE\82¢\82 \82°\82é\95¨\82Ì\83V\83\93\83{\83\8b",
MAXOCLASSES, SET_IN_GAME },
{ "pile_limit", "threshold for \"there are many objects here\"", 24,
SET_IN_GAME },
{ "playmode", "normal play, non-scoring explore mode, or debug mode", 8,
DISP_IN_GAME },
+/*JP
{ "player_selection", "choose character via dialog or prompts", 12,
+*/
+ { "player_selection", "\83L\83\83\83\89\83N\83^\81[\91I\91ð\82É\83_\83C\83A\83\8d\83O\82â\8am\94F\89æ\96Ê\82ð\8eg\82¤", 12,
DISP_IN_GAME },
+/*JP
{ "race", "your starting race (e.g., Human, Elf)", PL_CSIZ,
+*/
+ { "race", "\83Q\81[\83\80\8aJ\8en\8e\9e\82Ì\8eí\91° (\97á Human, Elf)", PL_CSIZ,
DISP_IN_GAME },
+/*JP
{ "role", "your starting role (e.g., Barbarian, Valkyrie)", PL_CSIZ,
+*/
+ { "role", "\83Q\81[\83\80\8aJ\8en\8e\9e\82Ì\90E\8bÆ (\97á Barbarian, Valkyrie)", PL_CSIZ,
DISP_IN_GAME },
+/*JP
{ "runmode", "display frequency when `running' or `travelling'",
+*/
+ { "runmode", "\83g\83\89\83x\83\8b\83R\83}\83\93\83h\93\99\82Å\82Ì\98A\91±\88Ú\93®\8e\9e\82Ì\95`\89æ\95p\93x",
sizeof "teleport", SET_IN_GAME },
+/*JP
{ "scores", "the parts of the score list you wish to see", 32,
+*/
+ { "scores", "\83Q\81[\83\80\8fI\97¹\8e\9e\82É\8c©\82é\83X\83R\83A\82Ì\8eí\97Þ", 32,
SET_IN_GAME },
+/*JP
{ "scroll_amount", "amount to scroll map when scroll_margin is reached",
+*/
+ { "scroll_amount", "scroll_margin\82É\93Í\82¢\82½\82Æ\82«\82Ì\83}\83b\83v\83X\83N\83\8d\81[\83\8b\97Ê",
20, DISP_IN_GAME }, /*WC*/
+/*JP
{ "scroll_margin", "scroll map when this far from the edge", 20,
+*/
+ { "scroll_margin", "\83}\83b\83v\92[\82©\82ç\82Ì\83}\83b\83v\83X\83N\83\8d\81[\83\8b\8aJ\8en\8b\97\97£", 20,
DISP_IN_GAME }, /*WC*/
{ "sortloot", "sort object selection lists by description", 4,
SET_IN_GAME },
#ifdef MSDOS
+/*JP
{ "soundcard", "type of sound card to use", 20, SET_IN_FILE },
+*/
+ { "soundcard", "\8eg\97p\82µ\82Ä\82¢\82é\83T\83E\83\93\83h\83J\81[\83h\82Ì\8eí\97Þ", 20, SET_IN_FILE },
#endif
{ "symset", "load a set of display symbols from the symbols file", 70,
SET_IN_GAME },
{ "roguesymset",
"load a set of rogue display symbols from the symbols file", 70,
SET_IN_GAME },
+/*JP
{ "suppress_alert", "suppress alerts about version-specific features", 8,
+*/
+ { "suppress_alert", "\83o\81[\83W\83\87\83\93\8aÔ\82Ì\88á\82¢\82É\8aÖ\82·\82é\8cx\8d\90\83\81\83b\83Z\81[\83W\82Ì\96³\8cø\89»", 8,
SET_IN_GAME },
+#if 0 /*JP*/
{ "tile_width", "width of tiles", 20, DISP_IN_GAME }, /*WC*/
+#else
+ { "tile_width", "\83^\83C\83\8b\82Ì\95\9d", 20, DISP_IN_GAME }, /*WC*/
+#endif
+#if 0 /*JP*/
{ "tile_height", "height of tiles", 20, DISP_IN_GAME }, /*WC*/
+#else
+ { "tile_height", "\83^\83C\83\8b\82Ì\8d\82\82³", 20, DISP_IN_GAME }, /*WC*/
+#endif
+#if 0 /*JP*/
{ "tile_file", "name of tile file", 70, DISP_IN_GAME }, /*WC*/
+#else
+ { "tile_file", "\83^\83C\83\8b\83t\83@\83C\83\8b\82Ì\96¼\91O", 70, DISP_IN_GAME }, /*WC*/
+#endif
+/*JP
{ "traps", "the symbols to use in drawing traps", MAXTCHARS + 1,
+*/
+ { "traps", "ã©\82ð\95`\89æ\82·\82é\83V\83\93\83{\83\8b\95¶\8e\9a", MAXTCHARS + 1,
SET_IN_FILE },
+/*JP
{ "vary_msgcount", "show more old messages at a time", 20,
+*/
+ { "vary_msgcount", "\88ê\93x\82É\95\\8e¦\82·\82é\83\81\83b\83Z\81[\83W\82Ì\90\94", 20,
DISP_IN_GAME }, /*WC*/
#ifdef MSDOS
+/*JP
{ "video", "method of video updating", 20, SET_IN_FILE },
+*/
+ { "video", "\8eg\97p\82·\82é\83r\83f\83I\83\82\81[\83h\82ð\90Ý\92è\82·\82é", 20, SET_IN_FILE },
#endif
#ifdef VIDEOSHADES
+/*JP
{ "videocolors", "color mappings for internal screen routines", 40,
+*/
+ { "videocolors", "\93à\91 \83X\83N\83\8a\81[\83\93\83\8b\81[\83`\83\93\97p\82Ì\83J\83\89\81[\83}\83b\83v\82ð\97p\82¢\82é", 40,
DISP_IN_GAME },
+/*JP
{ "videoshades", "gray shades to map to black/gray/white", 32,
+*/
+ { "videoshades", "\95\\8e¦\82É\83O\83\8c\83C\83X\83P\81[\83\8b\82ð\97p\82¢\82é", 32,
DISP_IN_GAME },
#endif
#ifdef WIN32
+/*JP
{ "subkeyvalue", "override keystroke value", 7, SET_IN_FILE },
+*/
+ {"subkeyvalue", "\83L\81[\83}\83b\83s\83\93\83O\82ð\95Ï\8dX\82·\82é", 7, SET_IN_FILE },
#endif
+#if 0 /*JP*/
{ "windowcolors", "the foreground/background colors of windows", /*WC*/
+#else
+ { "windowcolors", "\83E\83B\83\93\83h\83E\82ð\8ew\92è\82µ\82½\91O\8ci\90F/\94w\8ci\90F\82Å\95\\8e¦\82·\82é", /*WC*/
+#endif
80, DISP_IN_GAME },
+/*JP
{ "windowtype", "windowing system to use", WINTYPELEN, DISP_IN_GAME },
+*/
+ { "windowtype", "\8eg\97p\82·\82é\83E\83C\83\93\83h\83E\83V\83X\83e\83\80", WINTYPELEN, DISP_IN_GAME },
#ifdef WINCHAIN
{ "windowchain", "window processor to use", WINTYPELEN, SET_IN_SYS },
#endif
{ "Macgraphics", "load MACGraphics display symbols", 70, SET_IN_FILE },
#endif
#endif
+#if 1 /*JP*/
+ { "kcode", "\92[\96\96\82Ì\8a¿\8e\9a\83R\81[\83h,", 4, SET_IN_FILE },
+#endif
{ (char *) 0, (char *) 0, 0, 0 }
};
preferred_pet = '\0';
break;
default:
+#if 0 /*JP*/
pline("Unrecognized pet type '%s'.", op);
+#else
+ pline("'%s'\82Í\83y\83b\83g\82Ì\8eí\97Þ\82Æ\82µ\82Ä\8eó\82¯\95t\82¯\82ç\82ê\82Ü\82¹\82ñ\81D", op);
+#endif
break;
}
} else if (negated)
}
}
if (!forig && num >= 100) {
+/*JP
pline("Doing that so many times isn't very fruitful.");
+*/
+ pline("\82»\82ñ\82È\82É\89½\89ñ\82à\82â\82Á\82Ä\82à\82Ù\82Æ\82ñ\82Ç\88Ó\96¡\82Í\82È\82¢\81D");
return;
}
}
if (flags.menu_style == MENU_TRADITIONAL
|| flags.menu_style == MENU_COMBINATION) {
use_menu = FALSE;
+#if 0 /*JP*/
Sprintf(qbuf, "New pickup_types: [%s am] (%s)", ocl,
*tbuf ? tbuf : "all");
+#else
+ Sprintf(qbuf, "\90V\82µ\82¢pickup_type\82ð\93ü\97Í\82µ\82Ä\82\82¾\82³\82¢\81F[%s am] (%s)", ocl,
+ *tbuf ? tbuf : "all");
+#endif
getlin(qbuf, abuf);
op = mungspaces(abuf);
if (abuf[0] == '\0' || abuf[0] == '\033')
use_menu = TRUE;
}
if (use_menu) {
+#if 0 /*JP*/
(void) choose_classes_menu("Auto-Pickup what?", 1, TRUE, ocl,
tbuf);
+#else
+ (void) choose_classes_menu("\82Ç\82ê\82ð\8e©\93®\8fE\82¢\82É\90Ý\92è\82·\82é\81H", 1, TRUE, ocl,
+ tbuf);
+#endif
op = tbuf;
}
}
badoption(opts);
return;
}
+#if 1 /*JP*/
+ if (!strncmpi(opts, "kcode", 3)){
+ if ((op = string_for_env_opt("kcode", opts, FALSE)) != 0){
+ setkcode(*op);
+ }
+ return;
+ }
+#endif
/* scores:5t[op] 5a[round] o[wn] */
if (match_optname(opts, "scores", 4, TRUE)) {
any = zeroany;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
+/*JP
"Booleans (selecting will toggle value):", MENU_UNSELECTED);
+*/
+ "\90^\8bU\83I\83v\83V\83\87\83\93 (\91I\91ð\82·\82é\82Æ\92l\82ª\90Ø\82è\91Ö\82í\82è\82Ü\82·)\81F", MENU_UNSELECTED);
any.a_int = 0;
/* first list any other non-modifiable booleans, then modifiable ones */
for (pass = 0; pass <= 1; pass++)
indexoffset = boolcount;
any = zeroany;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
+#if 0 /*JP*/
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
"Compounds (selecting will prompt for new value):",
MENU_UNSELECTED);
+#else
+ add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
+ "\95¶\8e\9a\97ñ\83I\83v\83V\83\87\83\93 (\91I\91ð\82·\82é\82Æ\90V\82µ\82¢\92l\82Ì\93ü\97Í\82ð\8b\81\82ß\82Ü\82·)\81F",
+ MENU_UNSELECTED);
+#endif
#ifdef notyet /* SYSCF */
/* XXX I think this is still fragile. Fixing initial/from_file and/or
for (i = 0; i < PREFIX_COUNT; i++)
doset_add_menu(tmpwin, fqn_prefix_names[i], 0);
#endif
+/*JP
end_menu(tmpwin, "Set what options?");
+*/
+ end_menu(tmpwin, "\82Ç\82Ì\83I\83v\83V\83\87\83\93\82ð\90Ý\92è\82µ\82Ü\82·\82©\81H");
need_redraw = FALSE;
if ((pick_cnt = select_menu(tmpwin, PICK_ANY, &pick_list)) > 0) {
/*
if (!special_handling(compopt[opt_indx].name, setinitial,
fromfile)) {
+/*JP
Sprintf(buf, "Set %s to what?", compopt[opt_indx].name);
+*/
+ Sprintf(buf, "%s\82É\89½\82ð\90Ý\92è\82·\82é\81H", compopt[opt_indx].name);
getlin(buf, buf2);
if (buf2[0] == '\033')
continue;
char letr;
const char *desc;
} action_titles[] = {
+#if 0 /*JP*/
{ 'a', "add new %s" }, /* [0] */
+#else
+ { 'a', "\90V\82µ\82¢%s\82ð\92Ç\89Á" }, /* [0] */
+#endif
+#if 0 /*JP*/
{ 'l', "list %s" }, /* [1] */
+#else
+ { 'l', "%s\82ð\88ê\97\97\95\\8e¦" }, /* [1] */
+#endif
+#if 0 /*JP*/
{ 'r', "remove existing %s" }, /* [2] */
+#else
+ { 'r', "\8aù\82É\82 \82é%s\82ð\8dí\8f\9c" }, /* [2] */
+#endif
+#if 0 /*JP*/
{ 'x', "exit this menu" }, /* [3] */
+#else
+ { 'x', "\82±\82Ì\83\81\83j\83\85\81[\82ð\95Â\82¶\82é" }, /* [3] */
+#endif
};
opt_idx = 0;
#endif
MENU_UNSELECTED);
}
+/*JP
end_menu(tmpwin, "Do what?");
+*/
+ end_menu(tmpwin, "\82Ç\82¤\82·\82é\81H");
if ((pick_cnt = select_menu(tmpwin, PICK_ONE, &pick_list)) > 0) {
for (pick_idx = 0; pick_idx < pick_cnt; ++pick_idx) {
opt_idx = pick_list[pick_idx].item.a_int - 1;
add_menu(tmpwin, NO_GLYPH, &any, *style_name, 0, ATR_NONE,
style_name, MENU_UNSELECTED);
}
+/*JP
end_menu(tmpwin, "Select menustyle:");
+*/
+ end_menu(tmpwin, "\83\81\83j\83\85\81[\83X\83^\83C\83\8b\82ð\91I\91ð\82µ\82Ä\82\82¾\82³\82¢\81F");
if (select_menu(tmpwin, PICK_ONE, &style_pick) > 0) {
flags.menu_style = style_pick->item.a_int - 1;
free((genericptr_t) style_pick);
add_menu(tmpwin, NO_GLYPH, &any, burden_letters[i], 0, ATR_NONE,
burden_name, MENU_UNSELECTED);
}
+/*JP
end_menu(tmpwin, "Select encumbrance level:");
+*/
+ end_menu(tmpwin, "\8cx\8d\90\82ð\8fo\82·\89×\8fd\83\8c\83x\83\8b\82ð\91I\91ð\82µ\82Ä\82\82¾\82³\82¢\81F");
if (select_menu(tmpwin, PICK_ONE, &burden_pick) > 0) {
flags.pickup_burden = burden_pick->item.a_int - 1;
free((genericptr_t) burden_pick);
ATR_NONE, buf, MENU_UNSELECTED);
disc_cat[i] = 0;
}
+/*JP
end_menu(tmpwin, "Change which disclosure options categories:");
+*/
+ end_menu(tmpwin, "\82Ç\82Ì\83J\83e\83S\83\8a\82Ì\95\\8e¦\8fî\95ñ\83I\83v\83V\83\87\83\93\82ð\95Ï\8dX\82µ\82Ü\82·\82©\81F");
pick_cnt = select_menu(tmpwin, PICK_ANY, &disclosure_pick);
if (pick_cnt > 0) {
for (pick_idx = 0; pick_idx < pick_cnt; ++pick_idx) {
for (i = 0; i < NUM_DISCLOSURE_OPTIONS; i++) {
if (disc_cat[i]) {
+/*JP
Sprintf(buf, "Disclosure options for %s:",
+*/
+ Sprintf(buf, "%s\82Ì\8fo\97Í\8c`\8e®\81F",
disclosure_names[i]);
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
/* 'y','n',and '+' work as alternate selectors; '-' doesn't */
any.a_char = DISCLOSE_NO_WITHOUT_PROMPT;
add_menu(tmpwin, NO_GLYPH, &any, 'a', any.a_char, ATR_NONE,
+/*JP
"Never disclose, without prompting",
+*/
+ "\8am\94F\82¹\82¸\82É\8fo\97Í\82à\82µ\82È\82¢",
MENU_UNSELECTED);
any.a_char = DISCLOSE_YES_WITHOUT_PROMPT;
add_menu(tmpwin, NO_GLYPH, &any, 'b', any.a_char, ATR_NONE,
+/*JP
"Always disclose, without prompting",
+*/
+ "\8am\94F\82¹\82¸\82É\8fo\97Í\82·\82é",
MENU_UNSELECTED);
any.a_char = DISCLOSE_PROMPT_DEFAULT_NO;
add_menu(tmpwin, NO_GLYPH, &any, 'c', any.a_char, ATR_NONE,
+/*JP
"Prompt, with default answer of \"No\"",
+*/
+ "\8am\94F\82·\82é\81C\83f\83t\83H\83\8b\83g\82Í\81u\8fo\97Í\82µ\82È\82¢\81v",
MENU_UNSELECTED);
any.a_char = DISCLOSE_PROMPT_DEFAULT_YES;
add_menu(tmpwin, NO_GLYPH, &any, 'd', any.a_char, ATR_NONE,
+/*JP
"Prompt, with default answer of \"Yes\"",
+*/
+ "\8am\94F\82·\82é\81C\83f\83t\83H\83\8b\83g\82Í\81u\8fo\97Í\82·\82é\81v",
MENU_UNSELECTED);
end_menu(tmpwin, buf);
if (select_menu(tmpwin, PICK_ONE, &disclosure_pick) > 0) {
add_menu(tmpwin, NO_GLYPH, &any, *mode_name, 0, ATR_NONE,
mode_name, MENU_UNSELECTED);
}
+/*JP
end_menu(tmpwin, "Select run/travel display mode:");
+*/
+ end_menu(tmpwin, "\91\96\8ds/\83g\83\89\83x\83\8b\82Ì\95\\8e¦\83\82\81[\83h\82ð\91I\91ð\82µ\82Ä\82\82¾\82³\82¢\81F");
if (select_menu(tmpwin, PICK_ONE, &mode_pick) > 0) {
flags.runmode = mode_pick->item.a_int - 1;
free((genericptr_t) mode_pick);
any.a_char = 'r';
add_menu(tmpwin, NO_GLYPH, &any, 'r', 0, ATR_NONE, "reversed",
MENU_UNSELECTED);
+/*JP
end_menu(tmpwin, "Select message history display type:");
+*/
+ end_menu(tmpwin, "\83\81\83b\83Z\81[\83W\97\9a\97ð\82Ì\95\\8e¦\95û\96@\82ð\91I\91ð\82µ\82Ä\82\82¾\82³\82¢\81F");
if (select_menu(tmpwin, PICK_ONE, &window_pick) > 0) {
iflags.prevmsg_window = window_pick->item.a_char;
free((genericptr_t) window_pick);
any.a_int = ALIGN_RIGHT;
add_menu(tmpwin, NO_GLYPH, &any, 'r', 0, ATR_NONE, "right",
MENU_UNSELECTED);
+#if 0 /*JP*/
Sprintf(abuf, "Select %s window placement relative to the map:",
msg ? "message" : "status");
+#else
+ Sprintf(abuf, "%s\83E\83B\83\93\83h\83E\82Ì\83}\83b\83v\82É\91Î\82·\82é\95\\8e¦\88Ê\92u\82ð\91I\91ð\82µ\82Ä\82\82¾\82³\82¢\81F",
+ msg ? "\83\81\83b\83Z\81[\83W" : "\8fó\91Ô");
+#endif
end_menu(tmpwin, abuf);
if (select_menu(tmpwin, PICK_ONE, &window_pick) > 0) {
if (msg)
destroy_nhwindow(tmpwin);
} else if (!strcmp("number_pad", optname)) {
static const char *npchoices[] = {
+/*JP
" 0 (off)", " 1 (on)", " 2 (on, MSDOS compatible)",
+*/
+ "0 (\96³\8cø)", "1 (\97L\8cø)", "2 (\97L\8cø\81CMSDOS\8cÝ\8a·)",
+/*JP
" 3 (on, phone-style digit layout)",
+*/
+ " 3 (\97L\8cø\81C\93d\98b\8e®\82Ì\90\94\8e\9a\94z\92u)",
+/*JP
" 4 (on, phone-style layout, MSDOS compatible)",
+*/
+ " 4 (\97L\8cø\81C\93d\98b\8e®\82Ì\94z\92u\81CMSDOS \8cÝ\8a·)",
+/*JP
"-1 (off, 'z' to move upper-left, 'y' to zap wands)"
+*/
+ "-1 (\96³\8cø\81C'z' \82Å\8d¶\8fã\82É\88Ú\93®\81C'y' \82Å\8fñ\82ð\90U\82é)"
};
menu_item *mode_pick = (menu_item *) 0;
add_menu(tmpwin, NO_GLYPH, &any, 'a' + i, 0, ATR_NONE,
npchoices[i], MENU_UNSELECTED);
}
+/*JP
end_menu(tmpwin, "Select number_pad mode:");
+*/
+ end_menu(tmpwin, "number_pad\83\82\81[\83h\82ð\91I\91ð\82µ\82Ä\82\82¾\82³\82¢\81F");
if (select_menu(tmpwin, PICK_ONE, &mode_pick) > 0) {
switch (mode_pick->item.a_int - 1) {
case 0:
}
destroy_nhwindow(tmpwin);
} else if (!strcmp("menu_headings", optname)) {
+/*JP
int mhattr = query_attr("How to highlight menu headings:");
+*/
+ int mhattr = query_attr("\83\81\83j\83\85\81[\83w\83b\83_\82Ì\8b\92²\95û\96@\82ð\91I\91ð\82µ\82Ä\82\82¾\82³\82¢\81F");
if (mhattr != -1)
iflags.menu_headings = mhattr;
if (opt_idx == 3) {
; /* done--fall through to function exit */
} else if (opt_idx == 0) { /* add new */
+/*JP
getlin("What new autopickup exception pattern?", &apebuf[1]);
+*/
+ getlin("\90V\82µ\82¢\8e©\93®\8fE\82¢\97á\8aO\82Ì\83p\83^\81[\83\93\82ð\93ü\97Í\82µ\82Ä\82\82¾\82³\82¢\81F", &apebuf[1]);
mungspaces(&apebuf[1]); /* regularize whitespace */
if (apebuf[1] == '\033') {
; /* fall through to function exit */
ape = iflags.autopickup_exceptions[pass];
any = zeroany;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
+/*JP
(pass == 0) ? "Never pickup" : "Always pickup",
+*/
+ (pass == 0) ? "\8fí\82É\8fE\82í\82È\82¢" : "\8fí\82É\8fE\82¤",
MENU_UNSELECTED);
for (i = 0; i < numapes[pass] && ape; i++) {
any.a_void = (opt_idx == 1) ? 0 : ape;
ape = ape->next;
}
}
+#if 0 /*JP*/
Sprintf(apebuf, "%s autopickup exceptions",
(opt_idx == 1) ? "List of" : "Remove which");
+#else
+ Sprintf(apebuf, "%s\8e©\93®\8fE\82¢\97á\8aO%s",
+ (opt_idx == 1) ? "" : "\82Ç\82Ì",
+ (opt_idx == 1) ? "\82Ì\88ê\97\97" : "\82ð\8dí\8f\9c\82µ\82Ü\82·\82©\81H");
+#endif
end_menu(tmpwin, apebuf);
pick_cnt = select_menu(tmpwin,
(opt_idx == 1) ? PICK_NONE : PICK_ANY,
char *buf;
{
char ocl[MAXOCLASSES + 1];
+#if 0 /*JP*/
static const char none[] = "(none)", randomrole[] = "random",
to_be_done[] = "(to be done)", defopt[] = "default",
defbrief[] = "def";
+#else
+ static const char none[] = "(\82È\82µ)", randomrole[] = "\83\89\83\93\83_\83\80",
+ to_be_done[] = "(\96¢\90Ý\92è)", defopt[] = "\83f\83t\83H\83\8b\83g",
+ defbrief[] = "def";
+#endif
int i;
buf[0] = '\0';
if (!strcmp(optname, "align_message"))
+#if 0 /*JP*/
Sprintf(buf, "%s",
iflags.wc_align_message == ALIGN_TOP
? "top"
: iflags.wc_align_message == ALIGN_RIGHT
? "right"
: defopt);
+#else
+ Sprintf(buf, "%s",
+ iflags.wc_align_message == ALIGN_TOP
+ ? "\8fã\91¤"
+ : iflags.wc_align_message == ALIGN_LEFT
+ ? "\8d¶\91¤"
+ : iflags.wc_align_message == ALIGN_BOTTOM
+ ? "\89º\91¤"
+ : iflags.wc_align_message == ALIGN_RIGHT
+ ? "\89E\91¤" : defopt);
+#endif
else if (!strcmp(optname, "align_status"))
+#if 0 /*JP*/
Sprintf(buf, "%s",
iflags.wc_align_status == ALIGN_TOP
? "top"
: iflags.wc_align_status == ALIGN_RIGHT
? "right"
: defopt);
+#else
+ Sprintf(buf, "%s",
+ iflags.wc_align_status == ALIGN_TOP
+ ? "\8fã\91¤"
+ : iflags.wc_align_status == ALIGN_LEFT
+ ? "\8d¶\91¤"
+ : iflags.wc_align_status == ALIGN_BOTTOM
+ ? "\89º\91¤"
+ : iflags.wc_align_status == ALIGN_RIGHT
+ ? "\89E\91¤"
+ : defopt);
+#endif
else if (!strcmp(optname, "align"))
Sprintf(buf, "%s", rolestring(flags.initalign, aligns, adj));
#ifdef WIN32
else if (!strcmp(optname, "altkeyhandler"))
Sprintf(buf, "%s",
+/*JP
iflags.altkeyhandler[0] ? iflags.altkeyhandler : "default");
+*/
+ iflags.altkeyhandler[0] ? iflags.altkeyhandler : defopt);
#endif
#ifdef BACKWARD_COMPAT
else if (!strcmp(optname, "boulder"))
Sprintf(buf, "%s", plname);
} else if (!strcmp(optname, "number_pad")) {
static const char *numpadmodes[] = {
+/*JP
"0=off", "1=on", "2=on, MSDOS compatible",
+*/
+ "0=\96³\8cø", "1=\97L\8cø", "2=\97L\8cø\81CDOS\8cÝ\8a·",
+/*JP
"3=on, phone-style layout",
+*/
+ "3=\97L\8cø\81C\93d\98b\8e®\82Ì\90\94\8e\9a\94z\92u",
+/*JP
"4=on, phone layout, MSDOS compatible",
+*/
+ "4=\97L\8cø\81C\93d\98b\8e®\82Ì\94z\92u\81CMSDOS \8cÝ\8a·",
+#if 0 /*JP*/
"-1=off, y & z swapped", /*[5]*/
+#else
+ "-1=\96³\8cø\81Cy\82Æz\82ð\93ü\82ê\91Ö\82¦", /*[5]*/
+#endif
};
int indx = Cmd.num_pad
? (Cmd.phone_layout ? (Cmd.pcHack_compat ? 4 : 3)
Strcat(tmpbuf, " Remove");
Strcpy(buf, tmpbuf[0] ? &tmpbuf[1] : "none");
} else if (!strcmp(optname, "pettype")) {
+#if 0 /*JP*/
Sprintf(buf, "%s", (preferred_pet == 'c') ? "cat"
: (preferred_pet == 'd') ? "dog"
: (preferred_pet == 'h') ? "horse"
: (preferred_pet == 'n') ? "none"
: "random");
+#else
+ Sprintf(buf, "%s", (preferred_pet == 'c') ? "\94L"
+ : (preferred_pet == 'd') ? "\8c¢"
+ : (preferred_pet == 'h') ? "\94n"
+ : (preferred_pet == 'n') ? "\82È\82µ"
+ : "\83\89\83\93\83_\83\80");
+#endif
} else if (!strcmp(optname, "pickup_burden")) {
Sprintf(buf, "%s", burdentype[flags.pickup_burden]);
} else if (!strcmp(optname, "pickup_types")) {
break;
}
} else if (!strcmp(optname, "player_selection")) {
+#if 0 /*JP*/
Sprintf(buf, "%s", iflags.wc_player_selection ? "prompts" : "dialog");
+#else
+ Sprintf(buf, "%s\93ü\97Í", iflags.wc_player_selection ? "\83v\83\8d\83\93\83v\83g" : "\83_\83C\83A\83\8d\83O");
+#endif
#ifdef MSDOS
} else if (!strcmp(optname, "soundcard")) {
Sprintf(buf, "%s", to_be_done);
if (buf[0])
return buf;
else
+/*JP
return "unknown";
+*/
+ return "\95s\96¾";
}
int
flags.pickup = !flags.pickup;
if (flags.pickup) {
oc_to_str(flags.pickup_types, ocl);
+#if 0 /*JP*/
Sprintf(buf, "ON, for %s objects%s", ocl[0] ? ocl : "all",
(iflags.autopickup_exceptions[AP_LEAVE]
|| iflags.autopickup_exceptions[AP_GRAB])
? ", with one exception"
: ", with some exceptions")
: "");
+#else
+ Sprintf(buf, "%s\83A\83C\83e\83\80\82É\82Â\82¢\82Ä\83I\83\93%s", ocl[0] ? ocl : "\91S\82Ä\82Ì",
+ (iflags.autopickup_exceptions[AP_LEAVE]
+ || iflags.autopickup_exceptions[AP_GRAB])
+ ? "\81C\97á\8aO\82 \82è"
+ : "");
+#endif
} else {
+/*JP
Strcpy(buf, "OFF");
+*/
+ Strcpy(buf, "\83I\83t");
}
+/*JP
pline("Autopickup: %s.", buf);
+*/
+ pline("\8e©\93®\8fE\82¢\81F%s\81D", buf);
return 0;
}
/* data for option_help() */
static const char *opt_intro[] = {
+/*JP
"", " NetHack Options Help:", "",
+*/
+ "", " NetHack\83I\83v\83V\83\87\83\93\83w\83\8b\83v\81F", "",
#define CONFIG_SLOT 3 /* fill in next value at run-time */
(char *) 0,
#if !defined(MICRO) && !defined(MAC)
+/*JP
"or use `NETHACKOPTIONS=\"<options>\"' in your environment",
+*/
+ "\82Ü\82½\82Í\8aÂ\8b«\95Ï\90\94\82É`NETHACKOPTIONS=\"<options>\"'\82Æ\92è\8b`\82Å\82«\82Ü\82·",
#endif
+/*JP
"(<options> is a list of options separated by commas)",
+*/
+ "(<options>\82Í\83J\83\93\83}\82Å\8bæ\90Ø\82Á\82½\83I\83v\83V\83\87\83\93\82Å\82·)",
#ifdef VMS
+/*JP
"-- for example, $ DEFINE NETHACKOPTIONS \"noautopickup,fruit:kumquat\"",
+*/
+ "-- \97á\82¦\82Î\8e\9f\82Ì\82æ\82¤\82É\82µ\82Ü\82·\81F$ DEFINE NETHACKOPTIONS \"noautopickup,fruit:kumquat\"",
#endif
+/*JP
"or press \"O\" while playing and use the menu.", "",
+*/
+ "\82à\82µ\82\82Í\83Q\81[\83\80\83v\83\8c\83C\92\86\82É\"O\"\83{\83^\83\93\82ð\89\9f\82·\82±\82Æ\82Å\90Ý\92è\89Â\94\\82Å\82·\81D",
+/*JP
"Boolean options (which can be negated by prefixing them with '!' or \"no\"):",
+*/
+ "\90^\8bU\92l\83I\83v\83V\83\87\83\93 (\94Û\92è\82Ì\92l\82ð\8ew\92è\82·\82é\8fê\8d\87\81C'!'\82à\82µ\82\82Í\"no\"\82ð\90æ\93ª\82É\95t\89Á\82µ\82Ü\82·):",
(char *) 0
};
static const char *opt_epilog[] = {
"",
+/*JP
"Some of the options can be set only before the game is started; those",
+*/
+ "\83I\83v\83V\83\87\83\93\82É\82Í\83Q\81[\83\80\8aJ\8en\91O\82Ì\82Ý\82É\82µ\82©\90Ý\92è\82Å\82«\82È\82¢\82à\82Ì\82ª\82 \82è\82Ü\82·\81D",
+/*JP
"items will not be selectable in the 'O' command's menu.", (char *) 0
+*/
+ "\82»\82ê\82ç\82Í'O'\83R\83}\83\93\83h\82Ì\83\81\83j\83\85\81[\82Å\82Í\91I\91ð\82·\82é\82±\82Æ\82ª\82Å\82«\82Ü\82¹\82ñ\81D", (char *) 0
};
void
winid datawin;
datawin = create_nhwindow(NHW_TEXT);
+/*JP
Sprintf(buf, "Set options as OPTIONS=<options> in %s", lastconfigfile);
+*/
+ Sprintf(buf, "\83I\83v\83V\83\87\83\93\82Í%s\82Ì\92\86\82ÅOPTIONS=<options>\82Æ\90Ý\92è\82µ\82Ü\82·", lastconfigfile);
opt_intro[CONFIG_SLOT] = (const char *) buf;
for (i = 0; opt_intro[i]; i++)
putstr(datawin, 0, opt_intro[i]);
next_opt(datawin, "");
/* Compound options */
+/*JP
putstr(datawin, 0, "Compound options:");
+*/
+ putstr(datawin, 0, "\95¶\8e\9a\97ñ\83I\83v\83V\83\87\83\93:");
for (i = 0; compopt[i].name; i++) {
Sprintf(buf2, "`%s'", compopt[i].name);
Sprintf(buf, "%-20s - %s%c", buf2, compopt[i].descr,
return 0;
space_left = BUFSZ - strlen(buf) - 1;
+#if 0 /*JP*/
(void) strncat(buf, " or ", space_left);
(void) strncat(buf, new_str, space_left - 4);
+#else
+ (void) strncat(buf, "\82Ü\82½\82Í", space_left);
+ (void) strncat(buf, new_str, space_left - 6);
+#endif
return 1;
}
/* include race with role unless polymorphed */
race[0] = '\0';
if (!Upolyd)
+/*JP
Sprintf(race, "%s ", urace.adj);
+*/
+ Sprintf(race, "%s", urace.adj);
+#if 0 /*JP*/
Sprintf(outbuf, "%s%s%s called %s",
/* being blinded may hide invisibility from self */
(Invis && (senseself() || !Blind)) ? "invisible " : "", race,
mons[u.umonnum].mname, plname);
+#else
+ Sprintf(outbuf, "%s%s%s\82Æ\82¢\82¤\96¼\82Ì%s",
+ (Invis && (senseself() || !Blind)) ? "\8ep\82Ì\8c©\82¦\82È\82¢" : "", race,
+ plname,
+ mons[u.umonnum].mname);
+#endif
if (u.usteed)
+/*JP
Sprintf(eos(outbuf), ", mounted on %s", y_monnam(u.usteed));
+*/
+ Sprintf(eos(outbuf), "\81C%s\82É\8fæ\82Á\82Ä\82¢\82é", y_monnam(u.usteed));
return outbuf;
}
Strcpy(buf, something); /* sanity precaution */
if (levl[x][y].typ == STONE || levl[x][y].typ == SCORR)
+/*JP
Strcat(buf, " embedded in stone");
+*/
+ Strcat(buf, "\81C\8aâ\82É\96\84\82ß\82±\82Ü\82ê\82Ä\82¢\82é");
else if (IS_WALL(levl[x][y].typ) || levl[x][y].typ == SDOOR)
+/*JP
Strcat(buf, " embedded in a wall");
+*/
+ Strcat(buf, "\81C\95Ç\82É\96\84\82ß\82±\82Ü\82ê\82Ä\82¢\82é");
else if (closed_door(x, y))
+/*JP
Strcat(buf, " embedded in a door");
+*/
+ Strcat(buf, "\81C\94à\82É\96\84\82ß\82±\82Ü\82ê\82Ä\82¢\82é");
else if (is_pool(x, y))
+ /*JP 3.4.3 \82±\82Ì\95\94\95ª\82Í\95¨\91Ì\82É\82µ\82©\8eg\82í\82ê\82È\82¢ */
+/*JP
Strcat(buf, " in water");
+*/
+ Strcat(buf, "\81C\90\85\92\86\82É\82 \82é");
else if (is_lava(x, y))
+#if 0 /*JP*/
Strcat(buf, " in molten lava"); /* [can this ever happen?] */
+#else
+ Strcat(buf, "\81C\97n\8aâ\82Ì\92\86\82É\82 \82é"); /* [can this ever happen?] */
+#endif
return;
}
else
name = distant_monnam(mtmp, ARTICLE_NONE, monnambuf);
+#if 0 /*JP*/
Sprintf(buf, "%s%s%s",
(mtmp->mx != x || mtmp->my != y)
? ((mtmp->isshk && accurate) ? "tail of " : "tail of a ")
? "peaceful "
: "",
name);
+#else
+ Sprintf(buf, "%s%s%s",
+ (mtmp->mtame && accurate) ? "\8eè\82È\82¸\82¯\82ç\82ê\82½" :
+ (mtmp->mpeaceful && accurate) ? "\97F\8dD\93I\82È" : "",
+ name,
+ (mtmp->mx != x || mtmp->my != y) ?
+ ((mtmp->isshk && accurate)
+ ? "\82Ì\90K\94ö" : "\82Ì\90K\94ö") : "");
+#endif
if (u.ustuck == mtmp)
Strcat(buf, (Upolyd && sticks(youmonst.data))
+/*JP
? ", being held" : ", holding you");
+*/
+ ? "\81C\82 \82È\82½\82ª\92Í\82Ü\82¦\82Ä\82¢\82é" : "\81C\82 \82È\82½\82ð\92Í\82Ü\82¦\82Ä\82¢\82é");
if (mtmp->mleashed)
+/*JP
Strcat(buf, ", leashed to you");
+*/
+ Strcat(buf, "\81C\95R\82Å\8c\8b\82Î\82ê\82Ä\82¢\82é");
if (mtmp->mtrapped && cansee(mtmp->mx, mtmp->my)) {
struct trap *t = t_at(mtmp->mx, mtmp->my);
/* newsym lets you know of the trap, so mention it here */
if (tt == BEAR_TRAP || tt == PIT || tt == SPIKED_PIT || tt == WEB)
+/*JP
Sprintf(eos(buf), ", trapped in %s",
+*/
+ Sprintf(eos(buf), ", %s\82É\95ß\82Ü\82Á\82Ä\82¢\82é",
an(defsyms[trap_to_defsym(tt)].explanation));
}
monbuf[0] = '\0';
if (how_seen != 0 && how_seen != MONSEEN_NORMAL) {
if (how_seen & MONSEEN_NORMAL) {
+/*JP
Strcat(monbuf, "normal vision");
+*/
+ Strcat(monbuf, "\92Ê\8fí\82Ì\8e\8b\8ao");
how_seen &= ~MONSEEN_NORMAL;
/* how_seen can't be 0 yet... */
if (how_seen)
Strcat(monbuf, ", ");
}
if (how_seen & MONSEEN_SEEINVIS) {
+/*JP
Strcat(monbuf, "see invisible");
+*/
+ Strcat(monbuf, "\8c©\82¦\82È\82¢\82à\82Ì\82ð\8c©\82é\8e\8b\8ao");
how_seen &= ~MONSEEN_SEEINVIS;
if (how_seen)
Strcat(monbuf, ", ");
}
if (how_seen & MONSEEN_INFRAVIS) {
+/*JP
Strcat(monbuf, "infravision");
+*/
+ Strcat(monbuf, "\90Ô\8aO\90ü\82ª\8c©\82¦\82é\8e\8b\8ao");
how_seen &= ~MONSEEN_INFRAVIS;
if (how_seen)
Strcat(monbuf, ", ");
}
if (how_seen & MONSEEN_TELEPAT) {
+/*JP
Strcat(monbuf, "telepathy");
+*/
+ Strcat(monbuf, "\83e\83\8c\83p\83V\81[");
how_seen &= ~MONSEEN_TELEPAT;
if (how_seen)
Strcat(monbuf, ", ");
}
if (how_seen & MONSEEN_XRAYVIS) {
/* Eyes of the Overworld */
+/*JP
Strcat(monbuf, "astral vision");
+*/
+ Strcat(monbuf, "\90¸\90_\82É\82æ\82é\8e\8b\8ao");
how_seen &= ~MONSEEN_XRAYVIS;
if (how_seen)
Strcat(monbuf, ", ");
}
if (how_seen & MONSEEN_DETECT) {
+/*JP
Strcat(monbuf, "monster detection");
+*/
+ Strcat(monbuf, "\89ö\95¨\82ð\94\8c©\82·\82é\94\\97Í");
how_seen &= ~MONSEEN_DETECT;
if (how_seen)
Strcat(monbuf, ", ");
}
if (how_seen & MONSEEN_WARNMON) {
if (Hallucination)
+/*JP
Strcat(monbuf, "paranoid delusion");
+*/
+ Strcat(monbuf, "\95Î\8e·\93I\96Ï\91z");
else
+/*JP
Sprintf(eos(monbuf), "warned of %s",
+*/
+ Sprintf(eos(monbuf), "%s\82ð\8cx\8d\90\82µ\82Ä\82¢\82é",
makeplural(mtmp->data->mname));
how_seen &= ~MONSEEN_WARNMON;
if (how_seen)
}
} else if (u.uswallow) {
/* all locations when swallowed other than the hero are the monster */
+#if 0 /*JP*/
Sprintf(buf, "interior of %s",
Blind ? "a monster" : a_monnam(u.ustuck));
+#else
+ Sprintf(buf, "%s\82Ì\93à\95\94",
+ Blind ? "\89ö\95¨" : a_monnam(u.ustuck));
+#endif
pm = u.ustuck->data;
} else if (glyph_is_monster(glyph)) {
bhitpos.x = x;
Strcpy(buf, defsyms[trap_to_defsym(tnum)].explanation);
} else if (!glyph_is_cmap(glyph)) {
+/*JP
Strcpy(buf, "unexplored area");
+*/
+ Strcpy(buf, "\96¢\92T\8dõ\82Ì\8fê\8f\8a");
} else
switch (glyph_to_cmap(glyph)) {
case S_altar:
+/*JP
Sprintf(buf, "%s %saltar",
+*/
+ Sprintf(buf, "%s%s\8dÕ\92d",
/* like endgame high priests, endgame high altars
are only recognizable when immediately adjacent */
(Is_astralevel(&u.uz) && distu(x, y) > 2)
+/*JP
? "aligned"
+*/
+ ? "\91®\90«\82Ì"
: align_str(
Amask2align(levl[x][y].altarmask & ~AM_SHRINE)),
((levl[x][y].altarmask & AM_SHRINE)
&& (Is_astralevel(&u.uz) || Is_sanctum(&u.uz)))
+/*JP
? "high "
+*/
+ ? "\8d\82\88Ê\82Ì"
: "");
break;
case S_ndoor:
if (is_drawbridge_wall(x, y) >= 0)
+/*JP
Strcpy(buf, "open drawbridge portcullis");
+*/
+ Strcpy(buf,"\8aJ\82¢\82Ä\82¢\82é\92µ\82Ë\8b´");
else if ((levl[x][y].doormask & ~D_TRAPPED) == D_BROKEN)
+/*JP
Strcpy(buf, "broken door");
+*/
+ Strcpy(buf,"\89ó\82ê\82½\94à");
else
+/*JP
Strcpy(buf, "doorway");
+*/
+ Strcpy(buf,"\8fo\93ü\82è\8cû");
break;
case S_cloud:
Strcpy(buf,
+/*JP
Is_airlevel(&u.uz) ? "cloudy area" : "fog/vapor cloud");
+*/
+ Is_airlevel(&u.uz) ? "\93Ü\82Á\82Ä\82¢\82é\8fê\8f\8a" : "\96¶/\8fö\8bC\82Ì\89_");
break;
case S_stone:
if (!levl[x][y].seenv) {
+/*JP
Strcpy(buf, "unexplored");
+*/
+ Strcpy(buf, "\96¢\92T\8dõ");
break;
} else if (levl[x][y].typ == STONE || levl[x][y].typ == SCORR) {
+/*JP
Strcpy(buf, "stone");
+*/
+ Strcpy(buf, "\90Î");
break;
}
/*else FALLTHRU*/
fp = dlb_fopen(DATAFILE, "r");
if (!fp) {
+#if 0 /*JP*/
pline("Cannot open data file!");
+#else
+ pline("\83f\81[\83^\83t\83@\83C\83\8b\82ð\8aJ\82¯\82È\82¢\81I");
+#endif
return;
}
return;
}
+/*JP
if (user_typed_name || without_asking || yn("More info?") == 'y') {
+*/
+ if (user_typed_name || without_asking || yn("\8fÚ\8d×\82ð\8c©\82é\81H") == 'y') {
if (dlb_fseek(fp, (long) txt_offset + entry_offset, SEEK_SET)
< 0) {
+/*JP
pline("? Seek error on 'data' file!");
+*/
+ pline("'data'\83t\83@\83C\83\8b\82Ì\83V\81[\83N\83G\83\89\81[\81I");
(void) dlb_fclose(fp);
return;
}
destroy_nhwindow(datawin);
}
} else if (user_typed_name)
+/*JP
pline("I don't have any information on those things.");
+*/
+ pline("\82»\82ñ\82È\96¼\91O\82Í\95·\82¢\82½\82±\82Æ\82ª\82È\82¢\81D");
(void) dlb_fclose(fp);
}
int skipped_venom = 0;
boolean hit_trap;
const char *x_str;
+/*JP
static const char *mon_interior = "the interior of a monster";
+*/
+ static const char *mon_interior = "\89ö\95¨\82Ì\93à\95\94";
if (looked) {
int oc;
&& cc.x == u.ux && cc.y == u.uy)
: (sym == def_monsyms[S_HUMAN].sym && !flags.showrace))
&& !(Race_if(PM_HUMAN) || Race_if(PM_ELF)) && !Upolyd)
+#if 0 /*JP*/
found += append_str(out_str, "you"); /* tack on "or you" */
+#else
+ found += append_str(out_str, "\82 \82È\82½"); /* tack on "or you" */
+#endif
/* Now check for objects */
for (i = 1; i < MAXOCLASSES; i++) {
/* alt_i is now 3 or more and no longer of interest */
}
if (sym == (looked ? showsyms[i] : defsyms[i].sym) && *x_str) {
+#if 0 /*JP*//*\93ú\96{\8cê\82É\82Í\8aÖ\8cW\82È\82¢*/
/* avoid "an unexplored", "an stone", "an air", "a water",
"a floor of a room", "a dark part of a room";
article==2 => "the", 1 => "an", 0 => (none) */
|| strcmp(x_str, "air") == 0
|| strcmp(x_str, "water") == 0);
+#endif
if (!found) {
if (is_cmap_trap(i)) {
+/*JP
Sprintf(out_str, "%sa trap", prefix);
+*/
+ Sprintf(out_str, "%sã©", prefix);
hit_trap = TRUE;
} else {
+#if 0 /*JP*/
Sprintf(out_str, "%s%s", prefix,
article == 2 ? the(x_str)
: article == 1 ? an(x_str) : x_str);
+#else
+ Sprintf(out_str, "%s%s", prefix, x_str);
+#endif
}
*firstmatch = x_str;
found++;
&& (i != S_vibrating_square || Inhell
|| (looked && glyph_is_trap(glyph)
&& glyph_to_trap(glyph) == VIBRATING_SQUARE))) {
+#if 0 /*JP*/
found += append_str(out_str, (article == 2) ? the(x_str)
: (article == 1) ? an(x_str)
: x_str);
+#else
+ found += append_str(out_str, x_str);
+#endif
if (is_cmap_trap(i))
hit_trap = TRUE;
}
/* handle optional boulder symbol as a special case */
if (iflags.bouldersym && sym == iflags.bouldersym) {
if (!found) {
+/*JP
*firstmatch = "boulder";
+*/
+ *firstmatch = "\8aâ";
Sprintf(out_str, "%s%s", prefix, an(*firstmatch));
found++;
} else {
+/*JP
found += append_str(out_str, "boulder");
+*/
+ found += append_str(out_str, "\8aâ");
}
}
#define LOOK_VERBOSE 3 /* ':' -- show more info w/o asking */
/* also used by getpos hack in do_name.c */
+/*JP
const char what_is_an_unknown_object[] = "an unknown object";
+*/
+const char what_is_an_unknown_object[] = "\93ä\82Ì\95¨\91Ì";
int
do_look(mode, click_cc)
}
case '?':
from_screen = FALSE;
+/*JP
getlin("Specify what? (type the word)", out_str);
+*/
+ getlin("\89½\82ð\92²\82×\82é\81H(\95¶\8e\9a\82ð\93ü\82ê\82Ä\82Ë)", out_str);
if (out_str[0] == '\0' || out_str[0] == '\033')
return 0;
if (from_screen || clicklook) {
if (from_screen) {
if (flags.verbose)
+#if 0 /*JP*/
pline("Please move the cursor to %s.",
what_is_an_unknown_object);
+#else
+ pline("\83J\81[\83\\83\8b\82ð\95¨\91Ì\82É\88Ú\93®\82µ\82Ä\82\82¾\82³\82¢\81D");
+#endif
else
+/*JP
pline("Pick an object.");
+*/
+ pline("\95¨\91Ì\82ð\8ew\92è\82µ\82Ä\82\82¾\82³\82¢\81D");
ans = getpos(&cc, quick, what_is_an_unknown_object);
if (ans < 0 || cc.x < 0) {
(boolean) (ans == LOOK_VERBOSE));
}
} else {
+/*JP
pline("I've never heard of such things.");
+*/
+ pline("\82»\82ñ\82È\96¼\91O\82Í\95·\82¢\82½\82±\82Æ\82ª\82È\82¢\81D");
}
} while (from_screen && !quick && ans != LOOK_ONCE && !clicklook);
break;
}
tt = what_trap(tt);
+#if 0 /*JP*/
pline("That is %s%s%s.",
an(defsyms[trap_to_defsym(tt)].explanation),
!trap->madeby_u
? " dug"
: " set",
!trap->madeby_u ? "" : " by you");
+#else
+ pline("\82»\82ê\82Í%s%s\82¾\81D",
+ !trap->madeby_u
+ ? ""
+ : (tt == WEB)
+ ? "\82 \82È\82½\82ª\92£\82Á\82½"
+ : (tt == HOLE || tt == PIT)
+ ? "\82 \82È\82½\82ª\8c@\82Á\82½"
+ : "\82 \82È\82½\82ª\8ed\8a|\82¯\82½",
+ defsyms[trap_to_defsym(tt)].explanation);
+#endif
return 0;
}
+/*JP
pline("I can't see a trap there.");
+*/
+ pline("\82»\82±\82É\82Íã©\82Í\82Ý\82 \82½\82ç\82È\82¢\81D");
return 0;
}
fp = dlb_fopen(CMDHELPFILE, "r");
if (!fp) {
+#if 0 /*JP*/
pline("Cannot open data file!");
+#else
+ pline("\83f\81[\83^\83t\83@\83C\83\8b\82ð\8aJ\82¯\82È\82¢\81I");
+#endif
return 0;
}
#if defined(UNIX) || defined(VMS)
introff();
#endif
+/*JP
q = yn_function("What command?", (char *) 0, '\0');
+*/
+ q = yn_function("\82Ç\82¤\82¢\82¤\83R\83}\83\93\83h\81H", (char *) 0, '\0');
#if defined(UNIX) || defined(VMS)
intron();
#endif
if (reslt)
pline1(reslt);
else
+/*JP
pline("I've never heard of such commands.");
+*/
+ pline("\82»\82ñ\82È\83R\83}\83\93\83h\82Í\95·\82¢\82½\82±\82Æ\82ª\82È\82¢\81D");
return 0;
}
/* data for help_menu() */
static const char *help_menu_items[] = {
+#if 0 /*JP*/
/* 0*/ "About NetHack (version information).",
/* 1*/ "Long description of the game and commands.",
/* 2*/ "List of game commands.",
#define WIZHLP_SLOT 11
#endif
"List of wizard-mode commands.", "", (char *) 0
+#else /*JP*/
+ /* 0*/ "NetHack\82É\82Â\82¢\82Ä(\83o\81[\83W\83\87\83\93\8fî\95ñ)",
+ /* 1*/ "\83Q\81[\83\80\82¨\82æ\82Ñ\83R\83}\83\93\83h\82Ì\89ð\90à(\92·\95¶)",
+ /* 2*/ "\83R\83}\83\93\83h\88ê\97\97",
+ /* 3*/ "NetHack\82Ì\8aÈ\92P\82È\97ð\8ej",
+ /* 4*/ "\89æ\96Ê\82É\95\\8e¦\82³\82ê\82é\95¶\8e\9a\82Ì\90à\96¾",
+ /* 5*/ "\82±\82Ì\83L\81[\82ª\89½\82ð\88Ó\96¡\82·\82é\82©\82Ì\90à\96¾",
+ /* 6*/ "\83Q\81[\83\80\82Ì\83I\83v\83V\83\87\83\93\88ê\97\97",
+ /* 7*/ "\83Q\81[\83\80\82Ì\83I\83v\83V\83\87\83\93\88ê\97\97(\92·\95¶)",
+ /* 8*/ "\8ag\92£\83R\83}\83\93\83h\88ê\97\97",
+ /* 9*/ "NetHack\82Ì\83\89\83C\83Z\83\93\83X",
+ /* 10*/ "\83T\83|\81[\83g\8fî\95ñ",
+#ifdef PORT_HELP
+ "%s\82É\93Á\97L\82Ì\83w\83\8b\83v\82¨\82æ\82Ñ\83R\83}\83\93\83h",
+#define PORT_HELP_ID 100
+#define WIZHLP_SLOT 12
+#else
+#define WIZHLP_SLOT 11
+#endif
+ "\83E\83B\83U\81[\83h\83\82\81[\83h\82Ì\83R\83}\83\93\83h\88ê\97\97", "", (char *) 0
+#endif /*JP*/
};
STATIC_OVL boolean
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
help_menu_items[i], MENU_UNSELECTED);
}
+/*JP
end_menu(tmpwin, "Select one item:");
+*/
+ end_menu(tmpwin, "\91I\82ñ\82Å\82\82¾\82³\82¢\81F");
n = select_menu(tmpwin, PICK_ONE, &selected);
destroy_nhwindow(tmpwin);
if (n > 0) {
/* 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. */
+
/*
* Contains code for picking objects up, and container use.
*/
static NEARDATA struct obj *current_container;
#define Icebox (current_container->otyp == ICE_BOX)
+/*JP
static const char moderateloadmsg[] = "You have a little trouble lifting";
+*/
+static const char moderateloadmsg[] = "\82ð\8e\9d\82Á\82½\82ç\8f\82µ\82Ó\82ç\82Â\82¢\82½\81D";
+/*JP
static const char nearloadmsg[] = "You have much trouble lifting";
+*/
+static const char nearloadmsg[] = "\82Í\82¸\82Á\82µ\82è\82Æ\8c¨\82É\82Ì\82µ\82©\82©\82Á\82½\81D";
+/*JP
static const char overloadmsg[] = "You have extreme difficulty lifting";
+*/
+static const char overloadmsg[] = "\82ð\8e\9d\82¿\82 \82°\82é\82Ì\82Í\82Æ\82Ä\82à\82Â\82ç\82¢\81D";
/* BUG: this lets you look at cockatrice corpses while blind without
touching them */
* "?/a" or "a?/" or "/a?",&c picks all '?' even though no '/'
* (ie, treated as if it had just been "?a").
*/
+/*JP CHECK: 3.4.3 \82Å\82Ì\8cÄ\82Ñ\8fo\82µ\8c³
+pickup.c:572:("\8fE\82¤") if (!query_classes(oclasses, &selective, &all_of_a_type,
+pickup.c:2604:("\8eæ\82è\8fo\82·") if (query_classes(select, &one_by_one, &allflag,
+pickup.c:2704:("\93ü\82ê\82é") if (query_classes(select, &one_by_one, &allflag, "\93ü\82ê\82é",
+*/
STATIC_OVL boolean
query_classes(oclasses, one_at_a_time, everything, action, objs, here,
menu_on_demand)
oclasses[oclassct = 0] = '\0';
*one_at_a_time = *everything = FALSE;
not_everything = FALSE;
+#if 0 /*JP*/
Sprintf(qbuf, "What kinds of thing do you want to %s? [%s]", action,
ilets);
+#else
+ Sprintf(qbuf,"\82Ç\82Ì\8eí\97Þ\82Ì\82à\82Ì\82ð%s\82©\81H[%s]", jpolite(action),
+ ilets);
+#endif
getlin(qbuf, inbuf);
if (*inbuf == '\033')
return FALSE;
} else {
if (!where)
where =
+/*JP
!strcmp(action, "pick up")
+*/
+ !strcmp(action, "\8fE\82¤")
+/*JP
? "here"
+*/
+ ? "\82±\82±"
+/*JP
: !strcmp(action, "take out") ? "inside" : "";
+*/
+ : !strcmp(action, "\8eæ\82è\8fo\82·") ? "\82Ì\92\86" : "";
if (*where)
+/*JP
There("are no %c's %s.", sym, where);
+*/
+ pline("%c\82Í%s\82É\82È\82¢\81D", sym, where);
else
+/*JP
You("have no %c's.", sym);
+*/
+ You("%c\82Í\8e\9d\82Á\82Ä\82¢\82È\82¢\81D", sym);
not_everything = TRUE;
}
}
return FALSE;
}
+/*JP
pline("Touching %s is a fatal mistake.",
+*/
+ pline("%s\82É\90G\82ê\82é\82Ì\82Í\92v\96½\93I\82È\8aÔ\88á\82¢\82¾\81D",
corpse_xname(obj, (const char *) 0, CXN_SINGULAR | CXN_ARTICLE));
instapetrify(killer_xname(obj));
return TRUE;
if (!obj || obj->otyp != CORPSE || !is_rider(&mons[obj->corpsenm]))
return FALSE;
+/*JP
pline("At your %s, the corpse suddenly moves...",
+*/
+ pline("\82 \82È\82½\82ª%s\82é\82Æ\93Ë\91R\8e\80\91Ì\82ª\93®\82«\8fo\82µ\82½\81D\81D\81D",
+/*JP
remotely ? "attempted acquisition" : "touch");
+*/
+ remotely ? "\8al\93¾\82µ\82æ\82¤\82Æ\82·" : "\90G");
(void) revive_corpse(obj);
exercise(A_WIS, FALSE);
return TRUE;
}
if (notake(youmonst.data)) {
if (!autopickup)
+/*JP
You("are physically incapable of picking anything up.");
+*/
+ You("\95¨\97\9d\93I\82É\8fE\82¢\82 \82°\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D");
else
check_here(FALSE);
return 0;
/* use menus exclusively */
if (count) { /* looking for N of something */
char buf[QBUFSZ];
+/*JP
Sprintf(buf, "Pick %d of what?", count);
+*/
+ Sprintf(buf, "\89½\82ð%d\8cÂ\8fE\82¢\82Ü\82·\82©\81H", count);
val_for_n_or_more = count; /* set up callback selector */
n = query_objlist(buf, objchain, traverse_how | AUTOSELECT_SINGLE
| INVORDER_SORT,
for (i = 0; i < n; i++)
pick_list[i].count = count;
} else {
+/*JP
n = query_objlist("Pick up what?", objchain,
+*/
+ n = query_objlist("\89½\82ð\8fE\82¢\82Ü\82·\82©\81H", objchain,
traverse_how | AUTOSELECT_SINGLE | INVORDER_SORT
| FEEL_COCKATRICE,
&pick_list, PICK_ANY, all_but_uchain);
} else if (ct >= 2) {
int via_menu = 0;
+/*JP
There("are %s objects here.", (ct <= 10) ? "several" : "many");
+*/
+ pline("\82±\82±\82É\82Í%s\82à\82Ì\82ª\82 \82é\81D", (ct <= 10) ? "\82¢\82\82Â\82©" : "\91ò\8eR\82Ì");
if (!query_classes(oclasses, &selective, &all_of_a_type,
+/*JP
"pick up", objchain,
+*/
+ "\8fE\82¤", objchain,
traverse_how == BY_NEXTHERE, &via_menu)) {
if (!via_menu)
return 0;
n = query_objlist(
+/*JP
"Pick up what?", objchain,
+*/
+ "\89½\82ð\8fE\82¢\82Ü\82·\82©\81H", objchain,
traverse_how | (selective ? 0 : INVORDER_SORT),
&pick_list, PICK_ANY,
via_menu == -2 ? allow_all : allow_category);
if (!all_of_a_type) {
char qbuf[BUFSZ];
+#if 0 /*JP*/
(void) safe_qbuf(qbuf, "Pick up ", "?", obj, doname,
ansimpleoname, something);
+#else
+ (void) safe_qbuf(qbuf, "", "\82ð\8fE\82¢\82Ü\82·\82©\81H", obj, doname,
+ ansimpleoname, "\82±\82ê");
+#endif
switch ((obj->quan < 2L) ? ynaq(qbuf) : ynNaq(qbuf)) {
case 'q':
goto end_query; /* out 2 levels */
any = zeroany;
any.a_int = ALL_TYPES_SELECTED;
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
+/*JP
(qflags & WORN_TYPES) ? "All worn types" : "All types",
+*/
+ (qflags & WORN_TYPES) ? "\90g\82É\82Â\82¯\82é\82à\82Ì\91S\82Ä" : "\91S\82Ä",
MENU_UNSELECTED);
invlet = 'b';
} else
invlet = 'u';
any = zeroany;
any.a_int = 'u';
+/*JP
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE, "Unpaid items",
+*/
+ add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE, "\96¢\95¥\82Ì\82à\82Ì",
MENU_UNSELECTED);
}
/* billed items: checked by caller, so always include if BILLED_TYPES */
any = zeroany;
any.a_int = 'x';
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
+/*JP
"Unpaid items already used up", MENU_UNSELECTED);
+*/
+ "\96¢\95¥\82Å\8eg\82Á\82Ä\82µ\82Ü\82Á\82½\82à\82Ì", MENU_UNSELECTED);
}
if (qflags & CHOOSE_ALL) {
invlet = 'A';
any = zeroany;
any.a_int = 'A';
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
+/*JP
(qflags & WORN_TYPES) ? "Auto-select every item being worn"
+*/
+ (qflags & WORN_TYPES) ? "\90g\82É\82Â\82¯\82ç\82ê\82é\95¨\91S\82Ä"
+/*JP
: "Auto-select every item",
+*/
+ : "\91S\82Ä",
MENU_UNSELECTED);
}
/* items with b/u/c/unknown if there are any */
any = zeroany;
any.a_int = 'B';
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
+/*JP
"Items known to be Blessed", MENU_UNSELECTED);
+*/
+ "\8fj\95\9f\82³\82ê\82Ä\82¢\82é\82Æ\82í\82©\82Á\82Ä\82¢\82é\82à\82Ì", MENU_UNSELECTED);
}
if (do_cursed) {
invlet = 'C';
any = zeroany;
any.a_int = 'C';
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
+/*JP
"Items known to be Cursed", MENU_UNSELECTED);
+*/
+ "\8eô\82í\82ê\82Ä\82¢\82é\82Æ\82í\82©\82Á\82Ä\82¢\82é\82à\82Ì", MENU_UNSELECTED);
}
if (do_uncursed) {
invlet = 'U';
any = zeroany;
any.a_int = 'U';
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
+/*JP
"Items known to be Uncursed", MENU_UNSELECTED);
+*/
+ "\8eô\82í\82ê\82Ä\82¢\82È\82¢\82Æ\82í\82©\82Á\82Ä\82¢\82é\82à\82Ì", MENU_UNSELECTED);
}
if (do_buc_unknown) {
invlet = 'X';
any = zeroany;
any.a_int = 'X';
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
+/*JP
"Items of unknown B/C/U status", MENU_UNSELECTED);
+*/
+ "\8fj\95\9f\81^\8eô\82¢\82ª\82í\82©\82ç\82È\82¢\82à\82Ì", MENU_UNSELECTED);
}
end_menu(win, qstr);
n = select_menu(win, how, pick_list);
int wt, iw, ow, oow;
long qq, savequan, umoney;
unsigned saveowt;
+#if 0 /*JP*/
const char *verb, *prefx1, *prefx2, *suffx;
+#else
+ const char *verb, *prefx1;
+#endif
char obj_nambuf[BUFSZ], where[BUFSZ];
savequan = obj->quan;
/* some message will be given */
Strcpy(obj_nambuf, doname(obj));
if (container) {
+/*JP
Sprintf(where, "in %s", the(xname(container)));
+*/
+ Sprintf(where, "%s\82Ì\92\86\82É\93ü\82Á\82Ä\82¢\82é", the(xname(container)));
+/*JP
verb = "carry";
+*/
+ verb = "\89^\82×\82È\82¢";
} else {
+/*JP
Strcpy(where, "lying here");
+*/
+ Strcpy(where, "\82±\82±\82É\92u\82¢\82Ä\82 \82é");
+/*JP
verb = telekinesis ? "acquire" : "lift";
+*/
+ verb = telekinesis ? "\8al\93¾\82Å\82«\82È\82¢" : "\8e\9d\82¿\82 \82°\82ç\82ê\82È\82¢";
}
} else {
/* lint suppression */
/* we can carry qq of them */
if (qq > 0) {
if (qq < count)
+#if 0 /*JP*/
You("can only %s %s of the %s %s.", verb,
(qq == 1L) ? "one" : "some", obj_nambuf, where);
+#else
+ You("%s%s\82Ì\82¤\82¿\82Ì%s\82µ\82©%s\81D",
+ where, obj_nambuf, (qq == 1L) ? "\82P\82Â" : "\82¢\82\82Â\82©", verb);
+#endif
*wt_after = wt;
return qq;
}
if (!container)
+#if 0 /*JP*/
Strcpy(where, "here"); /* slightly shorter form */
+#else
+ Strcpy(where, "\82±\82±\82É\82Í"); /* slightly shorter form */
+#endif
if (invent || umoney) {
+#if 0 /*JP*/
prefx1 = "you cannot ";
prefx2 = "";
suffx = " any more";
+#else
+ prefx1 = "\82±\82ê\88È\8fã";
+#endif
} else {
+#if 0 /*JP*/
prefx1 = (obj->quan == 1L) ? "it " : "even one ";
prefx2 = "is too heavy for you to ";
suffx = "";
+#else
+ prefx1 = "\8fd\82·\82¬\82Ä";
+#endif
}
+#if 0 /*JP:C*/
There("%s %s %s, but %s%s%s%s.", otense(obj, "are"), obj_nambuf, where,
prefx1, prefx2, verb, suffx);
+#else
+ pline("%s%s\82ª\82 \82é\81C\82µ\82©\82µ%s%s\81D",
+ where, obj_nambuf, prefx1, verb);
+#endif
/* *wt_after = iw; */
return 0L;
int result, old_wt, new_wt, prev_encumbr, next_encumbr;
if (obj->otyp == BOULDER && Sokoban) {
+#if 0 /*JP*/
You("cannot get your %s around this %s.", body_part(HAND),
xname(obj));
+#else
+ You("%s\82ð%s\82Å\8e\9d\82¿\82 \82°\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D",
+ xname(obj), body_part(HAND));
+#endif
return -1;
}
/* override weight consideration for loadstone picked up by anybody
return 1; /* lift regardless of current situation */
/* if we reach here, we're out of slots and already have at least
one of these, so treat this one more like a normal item */
+#if 0 /*JP*/
You("are carrying too much stuff to pick up %s %s.",
(obj->quan == 1L) ? "another" : "more", simpleonames(obj));
+#else
+ You("%s\82ð%s\8fE\82¤\82É\82Í\95¨\82ð\8e\9d\82¿\82·\82¬\82Ä\82¢\82é\81D",
+ simpleonames(obj), (obj->quan == 1L) ? "\82à\82¤\88ê\82Â" : "\82à\82Á\82Æ");
+#endif
return -1;
}
/* [exception for gold coins will have to change
if silver/copper ones ever get implemented] */
&& inv_cnt(FALSE) >= 52 && !merge_choice(invent, obj)) {
+/*JP
Your("knapsack cannot accommodate any more items.");
+*/
+ Your("\83i\83b\83v\83U\83b\83N\82Í\82±\82ê\88È\8fã\83A\83C\83e\83\80\82ð\8bl\82ß\8d\9e\82ß\82È\82¢\81D");
result = -1; /* nothing lifted */
} else {
result = 1;
else if (!obj->spe && !obj->cursed)
obj->spe = 1;
else {
+#if 0 /*JP*/
pline_The("scroll%s %s to dust as you %s %s up.", plur(obj->quan),
otense(obj, "turn"), telekinesis ? "raise" : "pick",
(obj->quan == 1L) ? "it" : "them");
+#else
+ pline("\8aª\95¨\82Í\82 \82È\82½\82ª%s\8fã\82°\82é\82Æ\90o\82Æ\82È\82Á\82Ä\82µ\82Ü\82Á\82½\81D",
+ telekinesis ? "\8e\9d\82¿" : "\8fE\82¢");
+#endif
if (!(objects[SCR_SCARE_MONSTER].oc_name_known)
&& !(objects[SCR_SCARE_MONSTER].oc_uname))
docall(obj);
if (oldcap < newcap) {
switch (newcap) {
case 1:
+/*JP
Your("movements are slowed slightly because of your load.");
+*/
+ Your("\93®\82«\82Í\89×\95¨\82Ì\82½\82ß\82É\8f\82µ\92x\82\82È\82Á\82½\81D");
break;
case 2:
+/*JP
You("rebalance your load. Movement is difficult.");
+*/
+ You("\89×\95¨\82Ì\92Þ\8d\87\82ð\82Æ\82è\92¼\82µ\82½\82ª\81C\93®\82«\82É\82\82¢\81D");
break;
case 3:
+#if 0 /*JP*/
You("%s under your heavy load. Movement is very hard.",
stagger(youmonst.data, "stagger"));
+#else
+ You("\89×\95¨\82Ì\8fd\82Ý\82Å\82Ì\82½\82¤\82¿\82Ü\82í\82Á\82½\81D\93®\82\82Ì\82ª\94ñ\8fí\82É\82«\82Â\82¢\81D");
+#endif
break;
default:
+#if 0 /*JP*/
You("%s move a handspan with this load!",
newcap == 4 ? "can barely" : "can't even");
+#else
+ You("\82±\82Ì\8fd\82³\82Å\82Í\8f\82µ\82à\93®\82¯\82È\82¢\81I");
+#endif
break;
}
context.botl = 1;
} else if (oldcap > newcap) {
switch (newcap) {
case 0:
+/*JP
Your("movements are now unencumbered.");
+*/
+ Your("\93®\82«\82Í\8ay\82É\82È\82Á\82½\81D");
break;
case 1:
+/*JP
Your("movements are only slowed slightly by your load.");
+*/
+ You("\82¿\82å\82Á\82Æ\93®\82«\82â\82·\82\82È\82Á\82½\81D");
break;
case 2:
+/*JP
You("rebalance your load. Movement is still difficult.");
+*/
+ You("\89×\95¨\82Ì\92Þ\8d\87\82ð\82Æ\82è\92¼\82µ\82½\81D\82¾\82ª\82Ü\82¾\93®\82\82Ì\82Í\82«\82Â\82¢\81D");
break;
case 3:
+#if 0 /*JP*/
You("%s under your load. Movement is still very hard.",
stagger(youmonst.data, "stagger"));
+#else
+ You("\89×\95¨\82Ì\8fd\82Ý\82ª\82¸\82Á\82µ\82è\82Æ\8c¨\82É\82\82é\81D\82Ü\82¾\93®\82\82Ì\82ª\94ñ\8fí\82É\82«\82Â\82¢\81D");
+#endif
break;
}
context.botl = 1;
int x, y;
boolean looting; /* loot vs tip */
{
+/*JP
const char *verb = looting ? "loot" : "tip";
+*/
+ const char *verb = looting ? "\8aJ\82¯\82é" : "\82Ð\82Á\82\82è\95Ô\82·";
if (!can_reach_floor(TRUE)) {
if (u.usteed && P_SKILL(P_RIDING) < P_BASIC)
} else if ((is_pool(x, y) && (looting || !Underwater)) || is_lava(x, y)) {
/* at present, can't loot in water even when Underwater;
can tip underwater, but not when over--or stuck in--lava */
+#if 0 /*JP*/
You("cannot %s things that are deep in the %s.", verb,
is_lava(x, y) ? "lava" : "water");
+#else
+ You("%s\82É\90[\82\82É\92¾\82ñ\82¾\82à\82Ì\82ð%s\82±\82Æ\82Í\82Å\82«\82È\82¢\81D",
+ is_lava(u.ux, u.uy) ? "\97n\8aâ" : "\90\85", verb);
+#endif
return FALSE;
} else if (nolimbs(youmonst.data)) {
+/*JP
pline("Without limbs, you cannot %s anything.", verb);
+*/
+ pline("\8eè\91«\82ª\82È\82¢\82Ì\82Å\81C%s\82±\82Æ\82Í\82Å\82«\82È\82¢\81D", verb);
return FALSE;
} else if (looting && !freehand()) {
+/*JP
pline("Without a free %s, you cannot loot anything.",
+*/
+ pline("\8e©\97R\82É\82È\82é%s\82ª\82È\82¢\82Ì\82Å\81C\8aJ\82¯\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D",
body_part(HAND));
return FALSE;
}
if (!cobj)
return 0;
if (cobj->olocked) {
+#if 0 /*JP*/
pline("%s locked.",
cobj->lknown ? "It is" : "Hmmm, it turns out to be");
+#else
+ pline("%s\8c®\82ª\82©\82©\82Á\82Ä\82¢\82é\81D", cobj->lknown ? "" : "\82Þ\81[\82ñ\81C");
+#endif
cobj->lknown = 1;
return 0;
}
if (cobj->otyp == BAG_OF_TRICKS) {
int tmp;
+/*JP
You("carefully open the bag...");
+*/
+ You("\90T\8fd\82É\8a\93\82ð\8aJ\82¯\82½\81D\81D\81D");
+/*JP
pline("It develops a huge set of teeth and bites you!");
+*/
+ pline("\8a\93\82©\82ç\91å\82«\82È\8e\95\82ª\90¶\82¦\82Ä\82«\82Ä\81C\82 \82È\82½\82ð\8a\9a\82ñ\82¾\81I");
tmp = rnd(10);
+/*JP
losehp(Maybe_Half_Phys(tmp), "carnivorous bag", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(tmp), "\90H\93÷\8a\93\82É\8a\9a\82Ü\82ê\82Ä", KILLED_BY_AN);
makeknown(BAG_OF_TRICKS);
return 1;
}
+/*JP
You("%sopen %s...", (!cobj->cknown || !cobj->lknown) ? "carefully " : "",
+*/
+ You("%s%s\82ð\8aJ\82¯\82½\81D\81D\81D", (!cobj->cknown || !cobj->lknown) ? "\90T\8fd\82É" : "",
the(xname(cobj)));
return use_container(cobjp, 0);
}
int timepassed = 0;
coord cc;
boolean underfoot = TRUE;
+#if 0 /*JP*/
const char *dont_find_anything = "don't find anything";
+#endif
struct monst *mtmp;
char qbuf[BUFSZ];
int prev_inquiry = 0;
return 0;
}
if (nohands(youmonst.data)) {
+#if 0 /*JP*/
You("have no hands!"); /* not `body_part(HAND)' */
+#else
+ pline("\82 \82È\82½\82É\82Í\8eè\82ª\82È\82¢\81I");
+#endif
return 0;
}
if (Confusion) {
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE,
doname(cobj), MENU_UNSELECTED);
}
+/*JP
end_menu(win, "Loot which containers?");
+*/
+ end_menu(win, "\82Ç\82ê\82ð\8aJ\82¯\82Ü\82·\82©\81H");
n = select_menu(win, PICK_ANY, &pick_list);
destroy_nhwindow(win);
nobj = cobj->nexthere;
if (Is_container(cobj)) {
+#if 0 /*JP*/
c = ynq(safe_qbuf(qbuf, "There is ", " here, loot it?",
cobj, doname, ansimpleoname,
"a container"));
+#else
+ c = ynq(safe_qbuf(qbuf, "\82±\82±\82É\82Í", "\82ª\82 \82é\81C\8aJ\82¯\82Ü\82·\82©\81H",
+ cobj, doname, ansimpleoname,
+ "\93ü\82ê\95¨"));
+#endif
if (c == 'q')
return timepassed;
if (c == 'n')
c = 'y';
}
} else if (IS_GRAVE(levl[cc.x][cc.y].typ)) {
+/*JP
You("need to dig up the grave to effectively loot it...");
+*/
+ You("\95æ\8dr\82ç\82µ\82ð\82·\82é\82É\82Í\8c@\82ç\82È\82\82Ä\82Í\81D\81D\81D");
}
/*
* 3.3.1 introduced directional looting for some things.
*/
if (c != 'y' && mon_beside(u.ux, u.uy)) {
+/*JP
if (!get_adjacent_loc("Loot in what direction?",
+*/
+ if (!get_adjacent_loc("\82Ç\82Ì\95û\8cü\82ð\92²\82×\82é\81H",
+/*JP
"Invalid loot location", u.ux, u.uy, &cc))
+*/
+ "\96³\8cø\82È\95û\8cü", u.ux, u.uy, &cc))
return 0;
if (cc.x == u.ux && cc.y == u.uy) {
underfoot = TRUE;
} else
underfoot = FALSE;
if (u.dz < 0) {
+#if 0 /*JP*/
You("%s to loot on the %s.", dont_find_anything,
ceiling(cc.x, cc.y));
+#else
+ You("%s\82ð\92²\82×\82½\82ª\89½\82à\82Ý\82Â\82©\82ç\82È\82©\82Á\82½\81D",
+ ceiling(cc.x, cc.y));
+#endif
timepassed = 1;
return timepassed;
}
if (!underfoot) {
if (container_at(cc.x, cc.y, FALSE)) {
if (mtmp) {
+#if 0 /*JP*/
You_cant("loot anything %sthere with %s in the way.",
prev_inquiry ? "else " : "", mon_nam(mtmp));
+#else
+ pline("%s\82ª\82¢\82é\82Ì\82Å%s\94 \82ð\8aJ\82¯\82ç\82ê\82È\82¢\81D",
+ mon_nam(mtmp), prev_inquiry ? "\82Ù\82©\82Ì" : "");
+#endif
return timepassed;
} else {
+#if 0 /*JP*/
You("have to be at a container to loot it.");
+#else
+ You("\82Í\94 \82ð\8aJ\82¯\82é\82½\82ß\82É\82Í\93¯\82¶\88Ê\92u\82É\82¢\82È\82¯\82ê\82Î\82È\82ç\82È\82¢\81D");
+#endif
}
} else {
+#if 0 /*JP*/
You("%s %sthere to loot.", dont_find_anything,
(prev_inquiry || prev_loot) ? "else " : "");
+#else
+ pline("\82±\82±\82É\82Í%s\8aJ\82¯\82ç\82ê\82é\82à\82Ì\82Í\82È\82¢\81D",
+ (prev_inquiry || prev_loot) ? "\82Ù\82©\82É" : "");
+#endif
return timepassed;
}
}
} else if (c != 'y' && c != 'n') {
+#if 0 /*JP*/
You("%s %s to loot.", dont_find_anything,
underfoot ? "here" : "there");
+#else
+ pline("%s\82É\82Í\8aJ\82¯\82ç\82ê\82é\82à\82Ì\82Í\82È\82¢\81D",
+ underfoot ? "\82±\82±" : "\82»\82±");
+#endif
}
return timepassed;
}
dropx(goldob);
/* the dropped gold might have fallen to lower level */
if (g_at(x, y))
+/*JP
pline("Ok, now there is loot here.");
+*/
+ pline("\83I\81[\83P\81[\81C\82±\82±\82É\98d\98G\82ð\92u\82¢\82Ä\82¨\82±\82¤\81D");
} else {
/* find original coffers chest if present, otherwise use nearest one
*/
coffers = otmp;
if (coffers) {
+/*JP
verbalize("Thank you for your contribution to reduce the debt.");
+*/
+ verbalize("\90Ô\8e\9a\8d\91\8dÂ\95Ô\8dÏ\82Ì\82½\82ß\82Ì\8añ\95t\82É\8a´\8eÓ\82µ\82Ü\82·\81D");
freeinv(goldob);
(void) add_to_container(coffers, goldob);
coffers->owt = weight(coffers);
(mon = makemon(courtmon(), x, y, NO_MM_FLAGS)) != 0) {
freeinv(goldob);
add_to_minv(mon, goldob);
+/*JP
pline("The exchequer accepts your contribution.");
+*/
+ pline("\8dà\96±\8fÈ\82Í\82 \82È\82½\82Ì\8añ\95t\82ð\8eó\82¯\82Æ\82Á\82½\81D");
if (!rn2(10))
levl[x][y].looted = T_LOOTED;
} else {
if (passed_info)
*passed_info = 1;
Sprintf(
+/*JP
qbuf, "Do you want to remove the saddle from %s?",
+*/
+ qbuf, "%s\82©\82ç\88Æ\82ð\82Í\82¸\82µ\82Ü\82·\82©\81H",
x_monnam(mtmp, ARTICLE_THE, (char *) 0, SUPPRESS_SADDLE, FALSE));
if ((c = yn_function(qbuf, ynqchars, 'n')) == 'y') {
if (nolimbs(youmonst.data)) {
+#if 0 /*JP*/
You_cant("do that without limbs."); /* not body_part(HAND) */
+#else
+ You_cant("\8eè\82ª\82È\82¢\82Æ\82Å\82«\82È\82¢\81D");
+#endif
return 0;
}
if (otmp->cursed) {
+/*JP
You("can't. The saddle seems to be stuck to %s.",
+*/
+ pline("\88Æ\82Í%s\82É\82\82Á\82Â\82¢\82Ä\82¢\82é\82æ\82¤\82¾\81D",
x_monnam(mtmp, ARTICLE_THE, (char *) 0, SUPPRESS_SADDLE,
FALSE));
/* the attempt costs you time */
otmp->owornmask = 0L;
update_mon_intrinsics(mtmp, otmp, FALSE, FALSE);
}
+/*JP
otmp = hold_another_object(otmp, "You drop %s!", doname(otmp),
+*/
+ otmp = hold_another_object(otmp, "%s\82ð\97\8e\82Æ\82µ\82½\81I", doname(otmp),
(const char *) 0);
timepassed = rnd(3);
if (prev_loot)
impossible("<in> no current_container?");
return 0;
} else if (obj == uball || obj == uchain) {
+/*JP
You("must be kidding.");
+*/
+ pline("\82²\8fç\92k\82ð\81D");
return 0;
} else if (obj == current_container) {
+/*JP
pline("That would be an interesting topological exercise.");
+*/
+ pline("\82»\82ê\82Í\8b»\96¡\82ð\82»\82»\82ç\82ê\82é\83g\83|\83\8d\83W\81[\82Ì\96â\91è\82¾\81D");
return 0;
} else if (obj->owornmask & (W_ARMOR | W_ACCESSORY)) {
+#if 0 /*JP*/
Norep("You cannot %s %s you are wearing.",
Icebox ? "refrigerate" : "stash", something);
+#else
+ Norep("\90g\82É\82Â\82¯\82Ä\82¢\82é\82à\82Ì\82ð%s\82±\82Æ\82Í\82Å\82«\82È\82¢\81D",
+ Icebox ? "\97â\93\80\82·\82é" : "\82µ\82Ü\82¤");
+#endif
return 0;
} else if ((obj->otyp == LOADSTONE) && obj->cursed) {
obj->bknown = 1;
+/*JP
pline_The("stone%s won't leave your person.", plur(obj->quan));
+*/
+ pline("\82Ç\82¤\82¢\82¤\82í\82¯\82©\82»\82Ì\90Î\82ð\82µ\82Ü\82¤\82±\82Æ\82Í\82Å\82«\82È\82¢\81D");
return 0;
} else if (obj->otyp == AMULET_OF_YENDOR
|| obj->otyp == CANDELABRUM_OF_INVOCATION
* steal them. It also becomes a pain to check to see if someone
* has the Amulet. Ditto for the Candelabrum, the Bell and the Book.
*/
+/*JP
pline("%s cannot be confined in such trappings.", The(xname(obj)));
+*/
+ pline("%s\82Í\8bl\82ß\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D", The(xname(obj)));
return 0;
} else if (obj->otyp == LEASH && obj->leashmon != 0) {
+/*JP
pline("%s attached to your pet.", Tobjnam(obj, "are"));
+*/
+ pline("%s\82Í\83y\83b\83g\82É\95t\82¯\82ç\82ê\82Ä\82¢\82é\81D", xname(obj));
return 0;
} else if (obj == uwep) {
if (welded(obj)) {
* of evaluation of the parameters is undefined.
*/
Strcpy(buf, the(xname(obj)));
+/*JP
You("cannot fit %s into %s.", buf, the(xname(current_container)));
+*/
+ pline("%s\82ð%s\82É\8bl\82ß\8d\9e\82Þ\82±\82Æ\82Í\82Å\82«\82È\82¢\81D", buf, the(xname(current_container)));
return 0;
}
}
} else if (Is_mbag(current_container) && mbag_explodes(obj, 0)) {
/* explicitly mention what item is triggering the explosion */
+/*JP
pline("As you put %s inside, you are blasted by a magical explosion!",
+*/
+ pline("%s\82ð\92\86\82É\93ü\82ê\82é\82Æ\81C\82 \82È\82½\82Í\96\82\96@\82Ì\94\9a\94\82ð\97\81\82Ñ\82½\81I",
doname(obj));
/* did not actually insert obj yet */
if (was_unpaid)
else
panic("in_container: bag not found.");
+/*JP
losehp(d(6, 6), "magical explosion", KILLED_BY_AN);
+*/
+ losehp(d(6, 6), "\96\82\96@\82Ì\94\9a\94\82Å", KILLED_BY_AN);
current_container = 0; /* baggone = TRUE; */
}
if (current_container) {
Strcpy(buf, the(xname(current_container)));
+/*JP
You("put %s into %s.", doname(obj), buf);
+*/
+ You("%s\82ð%s\82Ì\92\86\82É\82µ\82Ü\82Á\82½\81D", doname(obj), buf);
/* gold in container always needs to be added to credit */
if (floor_container && obj->oclass == COIN_CLASS)
otmp = addinv(obj);
loadlev = near_capacity();
prinv(loadlev
+/*JP
? (loadlev < MOD_ENCUMBER ? "You have a little trouble removing"
+*/
+ ? (loadlev < MOD_ENCUMBER ? "\82ð\89^\82Ô\82Ì\82Í\8f\81X\8d¢\93ï\82¾\81D"
+/*JP
: "You have much trouble removing")
+*/
+ : "\82ð\89^\82Ô\82Ì\82Í\82©\82È\82è\8d¢\93ï\82¾\81D")
: (char *) 0,
otmp, count);
long loss = 0L;
if (item->dknown)
+/*JP
pline("%s %s vanished!", Doname2(item), otense(item, "have"));
+*/
+ pline("%s\82Í\8fÁ\82¦\8b\8e\82Á\82½\81I", Doname2(item));
else
+#if 0 /*JP*/
You("%s %s disappear!", Blind ? "notice" : "see", doname(item));
+#else
+ You("%s\82ª\8c©\82¦\82È\82\82È\82é\82Ì%s\81D", doname(item), Blind ? "\82É\8bC\82Ã\82¢\82½" : "\82ð\8c©\82½");
+#endif
if (*u.ushops && (shkp = shop_keeper(*u.ushops)) != 0) {
if (held ? (boolean) item->unpaid : costly_spot(u.ux, u.uy))
observe_quantum_cat(box)
struct obj *box;
{
+/*JP
static NEARDATA const char sc[] = "Schroedinger's Cat";
+*/
+ static NEARDATA const char sc[] = "\83V\83\85\83\8c\83f\83B\83\93\83K\81[\82Ì\94L";
struct obj *deadcat;
struct monst *livecat;
xchar ox, oy;
livecat->mpeaceful = 1;
set_malign(livecat);
if (!canspotmon(livecat))
+/*JP
You("think %s brushed your %s.", something, body_part(FOOT));
+*/
+ You("%s\82ª\82 \82È\82½\82Ì%s\82ð\82\82·\82®\82Á\82½\81D", something, body_part(FOOT));
else
+/*JP
pline("%s inside the box is still alive!", Monnam(livecat));
+*/
+ pline("\94 \82Ì\82È\82©\82Ì%s\82Í\82Ü\82¾\90¶\82«\82Ä\82¢\82é\81I", Monnam(livecat));
(void) christen_monst(livecat, sc);
} else {
deadcat =
obj_extract_self(deadcat);
(void) add_to_container(box, deadcat);
}
+#if 0 /*JP*/
pline_The("%s inside the box is dead!",
Hallucination ? rndmonnam(NULL) : "housecat");
+#else
+ pline_The("\94 \82Ì\92\86\82Ì%s\82Í\8e\80\82ñ\82Å\82¢\82é\81I",
+ Hallucination ? rndmonnam(NULL) : "\94L");
+#endif
}
box->owt = weight(box);
return;
explain_container_prompt()
{
static const char *const explaintext[] = {
+#if 0 /*JP*/
"Container actions:", "", " : -- Look: examine contents",
" o -- Out: take things out", " i -- In: put things in",
" b -- Both: first take things out, then put things in",
" r -- Reversed: put things in, then take things out",
" s -- Stash: put one item in", " q -- Quit: do nothing",
" ? -- Help: display this text.", "", 0
+#else
+ "\93ü\82ê\95¨\82Ö\82Ì\8ds\93®\81F", "", " : -- Look: \92\86\90g\82ð\92²\82×\82é",
+ " o -- Out: \95¨\82ð\8fo\82·", " i -- In: \95¨\82ð\93ü\82ê\82é",
+ " b -- Both: \82Ü\82¸\95¨\82ð\8fo\82µ\81A\82»\82ê\82©\82ç\95¨\82ð\93ü\82ê\82é",
+ " r -- Reversed: \95¨\82ð\93ü\82ê\81A\82»\82ê\82©\82ç\95¨\82ð\8fo\82·",
+ " s -- Stash: \95¨\82ð\88ê\82Â\93ü\82ê\82é", " q -- Quit: \89½\82à\82µ\82È\82¢",
+ " ? -- Help: \82±\82ê\82ð\95\\8e¦\82·\82é", "", 0
+#endif
};
const char *const *txtpp;
winid win;
u_handsy()
{
if (nohands(youmonst.data)) {
+#if 0 /*JP*/
You("have no hands!"); /* not `body_part(HAND)' */
+#else
+ pline("\82 \82È\82½\82É\82Í\8eè\82ª\82È\82¢\81I"); /* not `body_part(HAND)' */
+#endif
return FALSE;
} else if (!freehand()) {
+/*JP
You("have no free %s.", body_part(HAND));
+*/
+ You("%s\82Ì\8e©\97R\82ª\8cø\82©\82È\82¢\81D", body_part(HAND));
return FALSE;
}
return TRUE;
return 0;
if (obj->olocked) {
+/*JP
pline("%s locked.", Tobjnam(obj, "are"));
+*/
+ pline("%s\82Í\8c®\82ª\82©\82©\82Á\82Ä\82¢\82é\81D", xname(obj));
if (held)
+/*JP
You("must put it down to unlock.");
+*/
+ if (held) pline("\89º\82É\92u\82©\82È\82¢\82±\82Æ\82É\82Í\8c®\82ð\82Í\82¸\82¹\82È\82¢\81D");
obj->lknown = 1;
return 0;
} else if (obj->otrapped) {
if (held)
+/*JP
You("open %s...", the(xname(obj)));
+*/
+ You("%s\82ð\8aJ\82¯\82½\81D\81D\81D", the(xname(obj)));
obj->lknown = 1;
(void) chest_trap(obj, HAND, FALSE);
/* even if the trap fails, you've used up this turn */
}
}
if (loss)
+/*JP
You("owe %ld %s for lost merchandise.", loss, currency(loss));
+*/
+ You("\8e¸\82Á\82½\8f¤\95i\82Ì\82½\82ß\82É%ld%s\82Ì\95\89\8dÂ\82ð\95\89\82Á\82½\81D", loss, currency(loss));
current_container->owt = weight(current_container);
}
inokay = (invent != 0
&& !(invent == current_container && !current_container->nobj));
outokay = Has_contents(current_container);
if (!outokay) /* preformat the empty-container message */
+#if 0 /*JP:T*/
Sprintf(emptymsg, "%s is %sempty.", Ysimple_name2(current_container),
(quantum_cat || cursed_mbag) ? "now " : "");
+#else
+ Sprintf(emptymsg, "%s\82Í%s\8bó\82Á\82Û\82¾\81D", Ysimple_name2(current_container),
+ (quantum_cat || cursed_mbag) ? "\8d¡\82Í" : "");
+#endif
/*
* What-to-do prompt's list of possible actions:
if (cobj->oclass == POTION_CLASS) /* can't pour potions... */
pline_The("%s %s securely sealed.", xname(cobj), otense(cobj, "are"));
else if (cobj->otyp == STATUE)
+/*JP
pline("Nothing interesting happens.");
+*/
+ pline("\96Ê\94\92\82¢\82±\82Æ\82Í\89½\82à\8bN\82«\82È\82©\82Á\82½\81D");
else
pline1(nothing_happens);
return 0;
char *tmp;
VA_START(line);
VA_INIT(line, const char *);
+/*JP
vpline(YouMessage(tmp, "You ", line), VA_ARGS);
+*/
+ vpline(YouMessage(tmp, "\82 \82È\82½\82Í", line), VA_ARGS);
VA_END();
}
char *tmp;
VA_START(line);
VA_INIT(line, const char *);
+/*JP
vpline(YouMessage(tmp, "Your ", line), VA_ARGS);
+*/
+ vpline(YouMessage(tmp, "\82 \82È\82½\82Ì", line), VA_ARGS);
VA_END();
}
VA_START(line);
VA_INIT(line, const char *);
if (Unaware)
+/*JP
YouPrefix(tmp, "You dream that you feel ", line);
+*/
+ YouPrefix(tmp, "\82 \82È\82½\82Í\96²\82Ì\92\86\82Å", line);
else
+/*JP
YouPrefix(tmp, "You feel ", line);
+*/
+ YouPrefix(tmp, "\82 \82È\82½\82Í", line);
vpline(strcat(tmp, line), VA_ARGS);
VA_END();
}
char *tmp;
VA_START(line);
VA_INIT(line, const char *);
+/*JP
vpline(YouMessage(tmp, "You can't ", line), VA_ARGS);
+*/
+ vpline(YouMessage(tmp, "\82 \82È\82½\82Í", line), VA_ARGS);
VA_END();
}
char *tmp;
VA_START(line);
VA_INIT(line, const char *);
+/*JP
vpline(YouMessage(tmp, "The ", line), VA_ARGS);
+*/
+ vpline(YouMessage(tmp, "", line), VA_ARGS);
VA_END();
}
char *tmp;
VA_START(line);
VA_INIT(line, const char *);
+/*JP
vpline(YouMessage(tmp, "There ", line), VA_ARGS);
+*/
+ vpline(YouMessage(tmp, "", line), VA_ARGS);
VA_END();
}
VA_DECL(const char *, line)
{
char *tmp;
+#if 1 /*JP*/
+ char *adj;
+ char *p;
+#endif
if (Deaf || !flags.acoustics)
return;
VA_START(line);
VA_INIT(line, const char *);
+#if 0 /*JP*/
if (Underwater)
YouPrefix(tmp, "You barely hear ", line);
else if (Unaware)
else
YouPrefix(tmp, "You hear ", line);
vpline(strcat(tmp, line), VA_ARGS);
+#else
+ if (Underwater)
+ adj = "\82©\82·\82©\82É";
+ else if (Unaware)
+ adj = "\96²\82Ì\92\86\82Å";
+ else
+ adj = "";
+ tmp = You_buf(strlen(adj) + strlen(line) + sizeof("\82 \82È\82½\82Í "));
+
+ p = (char *)strstr(line, "\95·\82±") ;
+ if (p == NULL)
+ Strcpy(tmp, "\82 \82È\82½\82Í");
+ else
+ Strcpy(tmp, "");
+ if (p != NULL || (p = (char *)strstr(line, "\95·\82¢")) != NULL){
+ strncat(tmp, line, (p - line));
+ strcat(tmp, adj);
+ strcat(tmp, p);
+ } else {
+ Strcat(tmp, line);
+ }
+ vpline(tmp, VA_ARGS);
+#endif
VA_END();
}
VA_START(line);
VA_INIT(line, const char *);
if (Unaware)
+/*JP
YouPrefix(tmp, "You dream that you see ", line);
+*/
+ YouPrefix(tmp, "\82 \82È\82½\82Í\96²\82Ì\92\86\82Å", line);
+#if 0 /*JP*//*\82±\82±\82Í\8cÄ\82Ñ\8fo\82µ\8c³\82Å\8f\88\97\9d\82·\82é?*/
else if (Blind) /* caller should have caught this... */
YouPrefix(tmp, "You sense ", line);
+#endif
else
+/*JP
YouPrefix(tmp, "You see ", line);
+*/
+ YouPrefix(tmp, "\82 \82È\82½\82Í", line);
vpline(strcat(tmp, line), VA_ARGS);
VA_END();
}
VA_START(line);
VA_INIT(line, const char *);
+#if 0 /*JP*/
tmp = You_buf((int) strlen(line) + sizeof "\"\"");
Strcpy(tmp, "\"");
Strcat(tmp, line);
Strcat(tmp, "\"");
+#else
+ tmp = You_buf((int) strlen(line) + sizeof "\81u\81v");
+ Strcpy(tmp, "\81u");
+ Strcat(tmp, line);
+ Strcat(tmp, "\81v");
+#endif
vpline(tmp, VA_ARGS);
VA_END();
}
pbuf[BUFSZ - 1] = '\0'; /* sanity */
paniclog("impossible", pbuf);
pline("%s", pbuf);
+/*JP
pline("Program in disorder - perhaps you'd better #quit.");
+*/
+ pline("\83v\83\8d\83O\83\89\83\80\82É\8fá\8aQ\94\90¶ - #quit\82µ\82½\82Ù\82¤\82ª\82æ\82³\82»\82¤\82¾\81D");
program_state.in_impossible = 0;
VA_END();
}
{
switch ((int) alignment) {
case A_CHAOTIC:
+/*JP
return "chaotic";
+*/
+ return "\8d¬\93×";
case A_NEUTRAL:
+/*JP
return "neutral";
+*/
+ return "\92\86\97§";
case A_LAWFUL:
+/*JP
return "lawful";
+*/
+ return "\92\81\8f\98";
case A_NONE:
+/*JP
return "unaligned";
+*/
+ return "\96³\90S";
}
+/*JP
return "unknown";
+*/
+ return "\95s\96¾";
}
void
info[0] = 0;
if (mtmp->mtame) {
+/*JP
Strcat(info, ", tame");
+*/
+ Strcat(info, ", \8e\94\82¢\82È\82ç\82³\82ê\82Ä\82¢\82é");
if (wizard) {
Sprintf(eos(info), " (%d", mtmp->mtame);
if (!mtmp->isminion)
Strcat(info, ")");
}
} else if (mtmp->mpeaceful)
+/*JP
Strcat(info, ", peaceful");
+*/
+ Strcat(info, ", \97F\8dD\93I");
if (mtmp->cham >= LOW_PM && mtmp->data != &mons[mtmp->cham])
/* don't reveal the innate form (chameleon, vampire, &c),
just expose the fact that this current form isn't it */
+/*JP
Strcat(info, ", shapechanger");
+*/
+
/* pets eating mimic corpses mimic while eating, so this comes first */
if (mtmp->meating)
+/*JP
Strcat(info, ", eating");
+*/
+ Strcat(info, ", \90H\8e\96\92\86");
/* a stethoscope exposes mimic before getting here so this
won't be relevant for it, but wand of probing doesn't */
if (mtmp->m_ap_type)
? an(mons[mtmp->mappearance].mname)
: something); /* impossible... */
if (mtmp->mcan)
+/*JP
Strcat(info, ", cancelled");
+*/
+ Strcat(info, ", \96³\97Í");
if (mtmp->mconf)
+/*JP
Strcat(info, ", confused");
+*/
+ Strcat(info, ", \8d¬\97\90\8fó\91Ô");
if (mtmp->mblinded || !mtmp->mcansee)
+/*JP
Strcat(info, ", blind");
+*/
+ Strcat(info, ", \96Ó\96Ú");
if (mtmp->mstun)
+/*JP
Strcat(info, ", stunned");
+*/
+ Strcat(info, ", \82\82ç\82\82ç\8fó\91Ô");
if (mtmp->msleeping)
+/*JP
Strcat(info, ", asleep");
+*/
+ Strcat(info, ", \90\87\96°\8fó\91Ô");
#if 0 /* unfortunately mfrozen covers temporary sleep and being busy \
(donning armor, for instance) as well as paralysis */
- else if (mtmp->mfrozen) Strcat(info, ", paralyzed");
+ else if (mtmp->mfrozen) Strcat(info, ", paralyzed");
#else
else if (mtmp->mfrozen || !mtmp->mcanmove)
+/*JP
Strcat(info, ", can't move");
+*/
+ Strcat(info, ", \93®\82¯\82È\82¢");
#endif
/* [arbitrary reason why it isn't moving] */
else if (mtmp->mstrategy & STRAT_WAITMASK)
+/*JP
Strcat(info, ", meditating");
+*/
+ Strcat(info, ", \96»\91z\92\86");
if (mtmp->mflee)
+/*JP
Strcat(info, ", scared");
+*/
+ Strcat(info, ", \8b¯\82¦\82Ä\82¢\82é");
if (mtmp->mtrapped)
+/*JP
Strcat(info, ", trapped");
+*/
+ Strcat(info, ", ã©\82É\82©\82©\82Á\82Ä\82¢\82é");
if (mtmp->mspeed)
+#if 0 /*JP:T*/
Strcat(info, mtmp->mspeed == MFAST ? ", fast" : mtmp->mspeed == MSLOW
? ", slow"
: ", ???? speed");
+#else
+ Strcat(info, mtmp->mspeed == MFAST ? ", \91f\91\81\82¢" : mtmp->mspeed == MSLOW
+ ? ", \92x\82¢"
+ : ", \91¬\93x\95s\96¾");
+#endif
if (mtmp->mundetected)
+/*JP
Strcat(info, ", concealed");
+*/
+ Strcat(info, ", \89B\82ê\82Ä\82¢\82é");
if (mtmp->minvis)
+/*JP
Strcat(info, ", invisible");
+*/
+ Strcat(info, ", \95s\89Â\8e\8b");
if (mtmp == u.ustuck)
+#if 0 /*JP:T*/
Strcat(info, sticks(youmonst.data)
? ", held by you"
: !u.uswallow ? ", holding you"
: is_animal(u.ustuck->data)
? ", swallowing you"
: ", engulfing you");
+#else
+ Strcat(info, sticks(youmonst.data)
+ ? ", \82 \82È\82½\82ª\92Í\82Ü\82¦\82Ä\82¢\82é"
+ : !u.uswallow ? ", \92Í\82Ü\82¦\82Ä\82¢\82é"
+ : attacktype_fordmg(u.ustuck->data,
+ AT_ENGL, AD_DGST)
+ ? ", \8fÁ\89»\82µ\82Ä\82¢\82é"
+ : is_animal(u.ustuck->data)
+ ? ", \88ù\82Ý\8d\9e\82ñ\82Å\82¢\82é"
+ : ", \8aª\82«\8d\9e\82ñ\82Å\82¢\82é");
+#endif
if (mtmp == u.usteed)
+/*JP
Strcat(info, ", carrying you");
+*/
+ Strcat(info, ", \82 \82È\82½\82ð\8fæ\82¹\82Ä\82¢\82é");
/* avoid "Status of the invisible newt ..., invisible" */
/* and unlike a normal mon_nam, use "saddled" even if it has a name */
Strcpy(monnambuf, x_monnam(mtmp, ARTICLE_THE, (char *) 0,
(SUPPRESS_IT | SUPPRESS_INVISIBLE), FALSE));
+/*JP
pline("Status of %s (%s): Level %d HP %d(%d) AC %d%s.", monnambuf,
+*/
+ pline("%s\82Ì\8fó\91Ô (%s)\81F Level %d HP %d(%d) AC %d%s", monnambuf,
align_str(alignment), mtmp->m_lev, mtmp->mhp, mtmp->mhpmax,
find_mac(mtmp), info);
}
info[0] = '\0';
if (Sick) {
+#if 0 /*JP*/
Strcat(info, ", dying from");
if (u.usick_type & SICK_VOMITABLE)
Strcat(info, " food poisoning");
Strcat(info, " and");
Strcat(info, " illness");
}
+#else
+ Strcat(info, ", ");
+ if (u.usick_type & SICK_VOMITABLE)
+ Strcat(info, "\90H\92\86\93Å");
+ if (u.usick_type & SICK_NONVOMITABLE) {
+ if (u.usick_type & SICK_VOMITABLE)
+ Strcat(info, "\82Æ");
+ Strcat(info, "\95a\8bC");
+ }
+ Strcat(info, "\82Å\8e\80\82É\82Â\82Â\82 \82é");
+#endif
}
if (Stoned)
+/*JP
Strcat(info, ", solidifying");
+*/
+ Strcat(info, ", \90Î\89»\82µ\82Â\82Â\82 \82é");
if (Slimed)
+/*JP
Strcat(info, ", becoming slimy");
+*/
+ Strcat(info, ", \83X\83\89\83C\83\80\82É\82È\82è\82Â\82Â\82 \82é");
if (Strangled)
+/*JP
Strcat(info, ", being strangled");
+*/
+ Strcat(info, ", \8eñ\82ð\8di\82ß\82ç\82ê\82Ä\82¢\82é");
if (Vomiting)
+#if 0 /*JP*/
Strcat(info, ", nauseated"); /* !"nauseous" */
+#else
+ Strcat(info, ", \93f\82«\8bC\82ª\82·\82é");
+#endif
if (Confusion)
+/*JP
Strcat(info, ", confused");
+*/
+ Strcat(info, ", \8d¬\97\90\8fó\91Ô");
if (Blind) {
+#if 0 /*JP*/
Strcat(info, ", blind");
if (u.ucreamed) {
if ((long) u.ucreamed < Blinded || Blindfolded
Strcat(info, ", cover");
Strcat(info, "ed by sticky goop");
} /* note: "goop" == "glop"; variation is intentional */
+#else
+ Strcat(info, ", ");
+ if (u.ucreamed) {
+ Strcat(info, "\82Ë\82Î\82Ë\82Î\82×\82Æ\82Â\82\82à\82Ì\82Å");
+ if ((long)u.ucreamed < Blinded || Blindfolded
+ || !haseyes(youmonst.data))
+ Strcat(info, "\95¢\82í\82ê\82Ä");
+ }
+ Strcat(info, "\96Ó\96Ú\8fó\91Ô");
+#endif
}
if (Stunned)
+/*JP
Strcat(info, ", stunned");
+*/
+ Strcat(info, ", \82\82ç\82\82ç\8fó\91Ô");
if (!u.usteed && Wounded_legs) {
const char *what = body_part(LEG);
if ((Wounded_legs & BOTH_SIDES) == BOTH_SIDES)
what = makeplural(what);
+/*JP
Sprintf(eos(info), ", injured %s", what);
+*/
+ Sprintf(eos(info), ", %s\82É\82¯\82ª\82ð\82µ\82Ä\82¢\82é", what);
}
if (Glib)
+/*JP
Sprintf(eos(info), ", slippery %s", makeplural(body_part(HAND)));
+*/
+ Sprintf(eos(info), ", %s\82ª\82Ê\82é\82Ê\82é", makeplural(body_part(HAND)));
if (u.utrap)
+/*JP
Strcat(info, ", trapped");
+*/
+ Strcat(info, ", ã©\82É\82©\82©\82Á\82Ä\82¢\82é");
if (Fast)
+/*JP
Strcat(info, Very_fast ? ", very fast" : ", fast");
+*/
+ Strcat(info, Very_fast ? ", \82Æ\82Ä\82à\91f\91\81\82¢" : ", \91f\91\81\82¢");
if (u.uundetected)
+/*JP
Strcat(info, ", concealed");
+*/
+ Strcat(info, ", \89B\82ê\82Ä\82¢\82é");
if (Invis)
+/*JP
Strcat(info, ", invisible");
+*/
+ Strcat(info, ", \95s\89Â\8e\8b");
if (u.ustuck) {
+#if 0 /*JP*/
if (sticks(youmonst.data))
Strcat(info, ", holding ");
else
Strcat(info, ", held by ");
Strcat(info, mon_nam(u.ustuck));
+#else
+ Strcat(info, ", ");
+ Strcat(info, mon_nam(u.ustuck));
+ if (sticks(youmonst.data))
+ Strcat(info, "\82ð\92Í\82Ü\82¦\82Ä\82¢\82é");
+ else
+ Strcat(info, "\82É\92Í\82Ü\82¦\82ç\82ê\82Ä\82¢\82é");
+#endif
}
+/*JP
pline("Status of %s (%s%s): Level %d HP %d(%d) AC %d%s.", plname,
+*/
+ pline("%s\82Ì\8fó\91Ô (%s %s)\81F Level %d HP %d(%d) AC %d%s", plname,
(u.ualign.record >= 20)
+/*JP
? "piously "
+*/
+ ? "\8chåi"
: (u.ualign.record > 13)
+/*JP
? "devoutly "
+*/
+ ? "\90M\90S\90[\82¢"
: (u.ualign.record > 8)
+/*JP
? "fervently "
+*/
+ ? "\94M\97ó"
: (u.ualign.record > 3)
+/*JP
? "stridently "
+*/
+ ? "\90º\82Ì\82©\82ñ\8d\82\82¢"
: (u.ualign.record == 3)
? ""
: (u.ualign.record >= 1)
+/*JP
? "haltingly "
+*/
+ ? "\97L\96¼\96³\8eÀ"
: (u.ualign.record == 0)
+/*JP
? "nominally "
+*/
+ ? "\96À\98f"
+/*JP
: "insufficiently ",
+*/
+ : "\95s\93K\93\96",
align_str(u.ualign.type),
Upolyd ? mons[u.umonnum].mlevel : u.ulevel, Upolyd ? u.mh : u.uhp,
Upolyd ? u.mhmax : u.uhpmax, u.uac, info);
void
self_invis_message()
{
+#if 0 /*JP:T*/
pline("%s %s.",
Hallucination ? "Far out, man! You" : "Gee! All of a sudden, you",
See_invisible ? "can see right through yourself"
: "can't see yourself");
+#else
+ pline("%s\82 \82È\82½\82Í%s\81D",
+ Hallucination ? "\83\8f\81[\83I\81I" : "\82°\81I\93Ë\91R",
+ See_invisible ? "\8e©\95ª\8e©\90g\82ª\82¿\82á\82ñ\82Æ\8c©\82¦\82È\82\82È\82Á\82½"
+ : "\8e©\95ª\8e©\90g\82ª\8c©\82¦\82È\82\82È\82Á\82½");
+#endif
}
void
/* Copyright (C) 1987, 1988, 1989 by Ken Arromdee */
/* 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. */
+
/*
* Polymorph self routine.
*
STATIC_DCL boolean FDECL(polysense, (struct permonst *));
STATIC_VAR const char no_longer_petrify_resistant[] =
+/*JP
"No longer petrify-resistant, you";
+*/
+ "\90Î\89»\82Ö\82Ì\92ï\8dR\97Í\82ª\82È\82\82È\82Á\82Ä\81C\82 \82È\82½\82Í";
/* controls whether taking on new form or becoming new man can also
change sex (ought to be an arg to polymon() and newman() instead) */
Strcpy(killer.name, kptr->name);
} else {
killer.format = KILLED_BY;
+/*JP
Strcpy(killer.name, "self-genocide");
+*/
+ Strcpy(killer.name, "\8e©\8bs\93I\8bs\8eE\82Å");
}
dealloc_killer(kptr);
done(GENOCIDED);
} else {
dead: /* we come directly here if their experience level went to 0 or
less */
+/*JP
Your("new form doesn't seem healthy enough to survive.");
+*/
+ Your("\90V\82µ\82¢\8ep\82Í\90¶\82«\82Ä\82¢\82\82¾\82¯\82Ì\97Í\82ª\82È\82¢\82æ\82¤\82¾\81D");
killer.format = KILLED_BY_AN;
+/*JP
Strcpy(killer.name, "unsuccessful polymorph");
+*/
+ Strcpy(killer.name, "\95Ï\89»\82Ì\8e¸\94s\82Å");
done(DIED);
newuhs(FALSE);
(void) polysense(youmonst.data);
}
}
newuhs(FALSE);
+/*JP
polyman("feel like a new %s!",
+*/
+ polyman("%s\82Æ\82µ\82Ä\90¶\82Ü\82ê\82©\82í\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81I",
/* use saved gender we're about to revert to, not current */
(u.mfemale && urace.individual.f)
? urace.individual.f
: (urace.individual.m) ? urace.individual.m : urace.noun);
if (Slimed) {
+/*JP
Your("body transforms, but there is still slime on you.");
+*/
+ Your("\91Ì\82Í\95Ï\89»\82µ\82½\82ª\81C\83X\83\89\83C\83\80\82ª\82Â\82¢\82½\82Ü\82Ü\82¾\81D");
make_slimed(10L, (const char *) 0);
}
&& !isvamp) {
if (rn2(20) > ACURR(A_CON)) {
You1(shudder_for_moment);
+/*JP
losehp(rnd(30), "system shock", KILLED_BY_AN);
+*/
+ losehp(rnd(30), "\83V\83X\83e\83\80\83V\83\87\83b\83N\82Å", KILLED_BY_AN);
exercise(A_CON, FALSE);
return;
}
tryct = 5;
do {
mntmp = NON_PM;
+/*JP
getlin("Become what kind of monster? [type the name]", buf);
+*/
+ getlin("\82Ç\82Ì\8eí\82Ì\89ö\95¨\82É\82È\82é\81H[\96¼\91O\82ð\93ü\82ê\82Ä\82Ë]", buf);
(void) mungspaces(buf);
if (*buf == '\033') {
/* user is cancelling controlled poly */
}
if (mntmp < LOW_PM) {
if (!class)
+/*JP
pline("I've never heard of such monsters.");
+*/
+ pline("\82»\82ñ\82È\89ö\95¨\82Í\95·\82¢\82½\82±\82Æ\82ª\82È\82¢\81D");
else
+/*JP
You_cant("polymorph into any of those.");
+*/
+ pline("\82»\82ê\82É\82È\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D");
} else if (iswere && (were_beastie(mntmp) == u.ulycn
|| mntmp == counter_were(u.ulycn)
|| (Upolyd && mntmp == PM_HUMAN))) {
/* allow G_EXTINCT */
if (Is_dragon_scales(uarm)) {
/* dragon scales remain intact as uskin */
+/*JP
You("merge with your scaly armor.");
+*/
+ You("\97Ø\82Ì\8aZ\82Æ\88ê\91Ì\89»\82µ\82½\81D");
} else { /* dragon scale mail */
/* d.scale mail first reverts to scales */
char *p, *dsmail;
int mlvl;
if (mvitals[mntmp].mvflags & G_GENOD) { /* allow G_EXTINCT */
+/*JP
You_feel("rather %s-ish.", mons[mntmp].mname);
+*/
+ You("%s\82Á\82Û\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D", mons[mntmp].mname);
exercise(A_WIS, TRUE);
return 0;
}
}
if (dochange) {
flags.female = !flags.female;
+#if 0 /*JP*/
You("%s %s%s!",
(u.umonnum != mntmp) ? "turn into a" : "feel like a new",
(is_male(&mons[mntmp]) || is_female(&mons[mntmp]))
? ""
: flags.female ? "female " : "male ",
mons[mntmp].mname);
+#else
+ You("%s%s\82É\82È\82Á\82½%s\81I",
+ (is_male(&mons[mntmp]) || is_female(&mons[mntmp]))
+ ? ""
+ : flags.female ? "\8f\97\82Ì" : "\92j\82Ì",
+ mons[mntmp].mname,
+ (u.umonnum != mntmp) ? "" : "\82æ\82¤\82È\8bC\82ª\82µ\82½");
+#endif
} else {
if (u.umonnum != mntmp)
+/*JP
You("turn into %s!", an(mons[mntmp].mname));
+*/
+ You("%s\82É\82È\82Á\82½\81I", mons[mntmp].mname);
else
+/*JP
You_feel("like a new %s!", mons[mntmp].mname);
+*/
+ You("\95Ê\82Ì%s\82É\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81I", mons[mntmp].mname);
}
if (Stoned && poly_when_stoned(&mons[mntmp])) {
/* poly_when_stoned already checked stone golem genocide */
mntmp = PM_STONE_GOLEM;
+/*JP
make_stoned(0L, "You turn to stone!", 0, (char *) 0);
+*/
+ make_stoned(0L, "\90Î\82É\82È\82Á\82½\81I", 0, (char *) 0);
}
u.mtimedone = rn1(500, 500);
ABASE(A_STR) = AMAX(A_STR) = STR18(100);
if (Stone_resistance && Stoned) { /* parnes@eniac.seas.upenn.edu */
+/*JP
make_stoned(0L, "You no longer seem to be petrifying.", 0,
+*/
+ make_stoned(0L, "\90Î\89»\82©\82ç\89ð\95ú\82³\82ê\82½\82æ\82¤\82¾\81D", 0,
(char *) 0);
}
if (Sick_resistance && Sick) {
make_sick(0L, (char *) 0, FALSE, SICK_ALL);
+/*JP
You("no longer feel sick.");
+*/
+ You("\95a\8bC\82©\82ç\89ð\95ú\82³\82ê\82½\82æ\82¤\82¾\81D");
}
if (Slimed) {
if (flaming(youmonst.data)) {
+/*JP
make_slimed(0L, "The slime burns away!");
+*/
+ make_slimed(0L, "\83X\83\89\83C\83\80\82Í\94R\82¦\82½\81I");
} else if (mntmp == PM_GREEN_SLIME) {
/* do it silently */
make_slimed(0L, (char *) 0);
}
if (flags.verbose) {
+/*JP
static const char use_thec[] = "Use the command #%s to %s.";
+*/
+ static const char use_thec[] = "#%s\83R\83}\83\93\83h\82Å%s\82±\82Æ\82ª\82Å\82«\82é\81D";
static const char monsterc[] = "monster";
if (can_breathe(youmonst.data))
+/*JP
pline(use_thec, monsterc, "use your breath weapon");
+*/
+ pline(use_thec,monsterc, "\91§\82ð\93f\82«\82©\82¯\82é");
if (attacktype(youmonst.data, AT_SPIT))
+/*JP
pline(use_thec, monsterc, "spit venom");
+*/
+ pline(use_thec,monsterc, "\93Å\82ð\93f\82");
if (youmonst.data->mlet == S_NYMPH)
+/*JP
pline(use_thec, monsterc, "remove an iron ball");
+*/
+ pline(use_thec,monsterc, "\93S\8b\85\82ð\82Í\82¸\82·");
if (attacktype(youmonst.data, AT_GAZE))
+/*JP
pline(use_thec, monsterc, "gaze at monsters");
+*/
+ pline(use_thec,monsterc, "\89ö\95¨\82ðáÉ\82Þ");
if (is_hider(youmonst.data))
+/*JP
pline(use_thec, monsterc, "hide");
+*/
+ pline(use_thec,monsterc, "\89B\82ê\82é");
if (is_were(youmonst.data))
+/*JP
pline(use_thec, monsterc, "summon help");
+*/
+ pline(use_thec,monsterc, "\92\87\8aÔ\82ð\8f¢\8a«\82·\82é");
if (webmaker(youmonst.data))
+/*JP
pline(use_thec, monsterc, "spin a web");
+*/
+ pline(use_thec,monsterc, "\82\82à\82Ì\91\83\82ð\92£\82é");
if (u.umonnum == PM_GREMLIN)
+/*JP
pline(use_thec, monsterc, "multiply in a fountain");
+*/
+ pline(use_thec,monsterc, "\90ò\82Ì\92\86\82Å\95ª\97ô\82·\82é");
if (is_unicorn(youmonst.data))
+/*JP
pline(use_thec, monsterc, "use your horn");
+*/
+ pline(use_thec,monsterc, "\8ap\82ð\8eg\82¤");
if (is_mind_flayer(youmonst.data))
+/*JP
pline(use_thec, monsterc, "emit a mental blast");
+*/
+ pline(use_thec,monsterc, "\90¸\90_\94g\82ð\94\90¶\82³\82¹\82é");
if (youmonst.data->msound == MS_SHRIEK) /* worthless, actually */
+/*JP
pline(use_thec, monsterc, "shriek");
+*/
+ pline(use_thec,monsterc, "\8bà\90Ø\82è\90º\82ð\82 \82°\82é");
if (is_vampire(youmonst.data))
+/*JP
pline(use_thec, monsterc, "change shape");
+*/
+ pline(use_thec, monsterc, "\8ep\82ð\95Ï\82¦\82é");
if (lays_eggs(youmonst.data) && flags.female)
+/*JP
pline(use_thec, "sit", "lay an egg");
+*/
+ pline(use_thec, "sit", "\97\91\82ð\8eY\82Þ");
}
/* you now know what an egg of your type looks like */
&& (u.utraptype == TT_INFLOOR || u.utraptype == TT_BURIEDBALL)) {
u.utrap = 0;
if (u.utraptype == TT_INFLOOR)
+/*JP
pline_The("rock seems to no longer trap you.");
+*/
+ pline("\8aâ\82É\95Â\82¶\8d\9e\82ß\82ç\82ê\82é\82±\82Æ\82Í\82È\82¢\82¾\82ë\82¤\81D");
else {
+/*JP
pline_The("buried ball is no longer bound to you.");
+*/
+ pline_The("\96\84\82Ü\82Á\82½\8b\85\82ª\8e×\96\82\82É\82È\82é\82±\82Æ\82Í\82È\82¢\82¾\82ë\82¤\81D");
buried_ball_to_freedom();
}
} else if (likes_lava(youmonst.data) && u.utrap
&& u.utraptype == TT_LAVA) {
u.utrap = 0;
+/*JP
pline_The("lava now feels soothing.");
+*/
+ pline("\97n\8aâ\82ª\90¸\90_\82ð\97\8e\82¿\82Â\82©\82¹\82Ä\82\82ê\82é\81D");
}
if (amorphous(youmonst.data) || is_whirly(youmonst.data)
|| unsolid(youmonst.data)) {
if (Punished) {
+/*JP
You("slip out of the iron chain.");
+*/
+ You("\93S\82Ì\8d½\82©\82ç\82·\82é\82è\82Æ\94²\82¯\82½\81D");
unpunish();
} else if (u.utrap && u.utraptype == TT_BURIEDBALL) {
+/*JP
You("slip free of the buried ball and chain.");
+*/
+ You("\96\84\82Ü\82Á\82Ä\82¢\82é\8b\85\82Æ\8d½\82©\82ç\82·\82é\82è\82Æ\94²\82¯\82½\81D");
buried_ball_to_freedom();
}
}
&& (amorphous(youmonst.data) || is_whirly(youmonst.data)
|| unsolid(youmonst.data) || (youmonst.data->msize <= MZ_SMALL
&& u.utraptype == TT_BEARTRAP))) {
+#if 0 /*JP*/
You("are no longer stuck in the %s.",
u.utraptype == TT_WEB ? "web" : "bear trap");
+#else
+ You("%s\82©\82ç\92E\8fo\82µ\82½\81D",
+ u.utraptype == TT_WEB ? "\82\82à\82Ì\91\83" : "\8cF\82Ìã©");
+#endif
/* probably should burn webs too if PM_FIRE_ELEMENTAL */
u.utrap = 0;
}
if (webmaker(youmonst.data) && u.utrap && u.utraptype == TT_WEB) {
+/*JP
You("orient yourself on the web.");
+*/
+ You("\82\82à\82Ì\91\83\82É\93K\89\9e\82µ\82½\81D");
u.utrap = 0;
}
check_strangling(TRUE); /* maybe start strangling */
if ((otmp = uarm) != 0) {
if (donning(otmp))
cancel_don();
+/*JP
You("break out of your armor!");
+*/
+ You("\8aZ\82ð\89ó\82µ\82½\81I");
exercise(A_STR, FALSE);
(void) Armor_gone();
useup(otmp);
}
if ((otmp = uarmc) != 0) {
if (otmp->oartifact) {
+/*JP
Your("%s falls off!", cloak_simple_name(otmp));
+*/
+ Your("%s\82Í\92E\82°\97\8e\82¿\82½\81I", cloak_simple_name(otmp));
(void) Cloak_off();
dropx(otmp);
} else {
+/*JP
Your("%s tears apart!", cloak_simple_name(otmp));
+*/
+ Your("%s\82Í\82¸\82½\82¸\82½\82É\88ø\82«\97ô\82©\82ê\82½\81I", cloak_simple_name(otmp));
(void) Cloak_off();
useup(otmp);
}
}
if (uarmu) {
+/*JP
Your("shirt rips to shreds!");
+*/
+ Your("\83V\83\83\83c\82Í\88ø\82«\97ô\82©\82ê\82½\81I");
useup(uarmu);
}
} else if (sliparm(youmonst.data)) {
if (((otmp = uarm) != 0) && (racial_exception(&youmonst, otmp) < 1)) {
if (donning(otmp))
cancel_don();
+/*JP
Your("armor falls around you!");
+*/
+ Your("\8aZ\82Í\82 \82È\82½\82Ì\82Ü\82í\82è\82É\97\8e\82¿\82½\81I");
(void) Armor_gone();
dropx(otmp);
}
if ((otmp = uarmc) != 0) {
if (is_whirly(youmonst.data))
+/*JP
Your("%s falls, unsupported!", cloak_simple_name(otmp));
+*/
+ Your("%s\82Í\82·\82Æ\82ñ\82Æ\97\8e\82¿\82½\81I", cloak_simple_name(otmp));
else
+/*JP
You("shrink out of your %s!", cloak_simple_name(otmp));
+*/
+ You("%s\82©\82ç\8fk\82Ý\8fo\82½\81I", cloak_simple_name(otmp));
(void) Cloak_off();
dropx(otmp);
}
if ((otmp = uarmu) != 0) {
if (is_whirly(youmonst.data))
+/*JP
You("seep right through your shirt!");
+*/
+ You("\83V\83\83\83c\82©\82ç\82µ\82Ý\8fo\82½\81I");
else
+/*JP
You("become much too small for your shirt!");
+*/
+ You("\83V\83\83\83c\82æ\82è\82¸\82Á\82Æ\8f¬\82³\82\82È\82Á\82½\81I");
setworn((struct obj *) 0, otmp->owornmask & W_ARMU);
dropx(otmp);
}
if (has_horns(youmonst.data)) {
if ((otmp = uarmh) != 0) {
if (is_flimsy(otmp) && !donning(otmp)) {
+#if 0 /*JP*/
char hornbuf[BUFSZ];
/* Future possibilities: This could damage/destroy helmet */
Sprintf(hornbuf, "horn%s", plur(num_horns(youmonst.data)));
Your("%s %s through %s.", hornbuf, vtense(hornbuf, "pierce"),
yname(otmp));
+#else
+ Your("\8ap\82ª%s\82ð\82Â\82ç\82Ê\82¢\82½\81D", yname(otmp));
+#endif
} else {
if (donning(otmp))
cancel_don();
+#if 0 /*JP*/
Your("%s falls to the %s!", helm_simple_name(otmp),
surface(u.ux, u.uy));
+#else
+ Your("%s\82Í%s\82É\97\8e\82¿\82½\81I", helm_simple_name(otmp),
+ surface(u.ux, u.uy));
+#endif
(void) Helmet_off();
dropx(otmp);
}
if (donning(otmp))
cancel_don();
/* Drop weapon along with gloves */
+/*JP
You("drop your gloves%s!", uwep ? " and weapon" : "");
+*/
+ You("\8f¬\8eè%s\82ð\97\8e\82µ\82½\81I", uwep ? "\82â\95\90\8aí" : "");
drop_weapon(0);
(void) Gloves_off();
dropx(otmp);
}
if ((otmp = uarms) != 0) {
+/*JP
You("can no longer hold your shield!");
+*/
+ You("\82à\82¤\8f\82\82ð\8e\9d\82Á\82Ä\82ç\82ê\82È\82¢\81I");
(void) Shield_off();
dropx(otmp);
}
if ((otmp = uarmh) != 0) {
if (donning(otmp))
cancel_don();
+#if 0 /*JP*/
Your("%s falls to the %s!", helm_simple_name(otmp),
surface(u.ux, u.uy));
+#else
+ Your("%s\82Í%s\82É\97\8e\82¿\82½\81I", helm_simple_name(otmp),
+ surface(u.ux, u.uy));
+#endif
(void) Helmet_off();
dropx(otmp);
}
if (donning(otmp))
cancel_don();
if (is_whirly(youmonst.data))
+/*JP
Your("boots fall away!");
+*/
+ Your("\8cC\82Í\92E\82°\97\8e\82¿\82½\81I");
else
+#if 0 /*JP*/
Your("boots %s off your feet!",
verysmall(youmonst.data) ? "slide" : "are pushed");
+#else
+ Your("\8cC\82Í\82 \82È\82½\82Ì\91«\82©\82ç%s\81I",
+ verysmall(youmonst.data) ? "\8a\8a\82è\97\8e\82¿\82½" : "\92E\82°\97\8e\82¿\82½");
+#endif
(void) Boots_off();
dropx(otmp);
}
if (uwep->quan != 1L || u.twoweap)
which = makeplural(which);
+#if 0 /*JP*/
You("find you must %s %s %s!", what,
the_your[!!strncmp(which, "corpse", 6)], which);
+#else
+ You("%s\82ð\97\8e\82Æ\82µ\82½\82±\82Æ\82É\8bC\82Ã\82¢\82½\81I", what);
+#endif
}
if (u.twoweap) {
otmp = uswapwep;
/* You can't revert back while unchanging */
if (Unchanging && (u.mh < 1)) {
killer.format = NO_KILLER_PREFIX;
+/*JP
Strcpy(killer.name, "killed while stuck in creature form");
+*/
+ Strcpy(killer.name, "\8c³\82Ì\8ep\82Ö\96ß\82ê\82¸\82É");
done(DIED);
}
if (emits_light(youmonst.data))
del_light_source(LS_MONSTER, monst_to_any(&youmonst));
+/*JP
polyman("return to %s form!", urace.adj);
+*/
+ polyman("%s\82É\96ß\82Á\82½\81I", urace.adj);
if (u.uhp < 1) {
/* can only happen if some bit of code reduces u.uhp
instead of u.mh while poly'd */
+/*JP
Your("old form was not healthy enough to survive.");
+*/
+ Your("\8c³\82Ì\8ep\82Í\90¶\82«\82Ä\82¢\82\82¾\82¯\82Ì\97Í\82ª\82È\82¢\81D");
+/*JP
Sprintf(killer.name, "reverting to unhealthy %s form", urace.adj);
+*/
+ Sprintf(killer.name, "\95s\8c\92\8dN\82È%s\82Ì\8ep\82É\96ß\82Á\82Ä", urace.adj);
killer.format = KILLED_BY;
done(DIED);
}
struct attack *mattk;
if (Strangled) {
+/*JP
You_cant("breathe. Sorry.");
+*/
+ You_cant("\91§\82ð\93f\82\82±\82Æ\82ª\82Å\82«\82È\82¢\81D\8ec\94O\81D");
return 0;
}
if (u.uen < 15) {
+/*JP
You("don't have enough energy to breathe!");
+*/
+ You("\91§\82ð\93f\82\82Ì\82É\8f\\95ª\82È\83G\83l\83\8b\83M\81[\82ª\82È\82©\82Á\82½\81D");
return 0;
}
u.uen -= 15;
{
if (!Punished) {
if (u.utrap && u.utraptype == TT_BURIEDBALL) {
+#if 0 /*JP*/
pline_The("ball and chain are buried firmly in the %s.",
surface(u.ux, u.uy));
+#else
+ pline_The("\8b\85\82Æ\8d½\82Í%s\82É\82µ\82Á\82©\82è\82Æ\96\84\82Ü\82Á\82Ä\82¢\82é\81D.",
+ surface(u.ux, u.uy));
+#endif
return 0;
}
+/*JP
You("are not chained to anything!");
+*/
+ You("\89½\82à\82Â\82È\82ª\82ê\82Ä\82¢\82È\82¢\81I");
return 0;
}
unpunish();
if (Levitation || Is_airlevel(&u.uz) || Underwater
|| Is_waterlevel(&u.uz)) {
+/*JP
You("must be on the ground to spin a web.");
+*/
+ You("\82\82à\82Ì\91\83\82ð\92£\82é\82É\82Í\92n\96Ê\82Ì\8fã\82É\82¢\82È\82\82Ä\82Í\82È\82ç\82È\82¢\81D");
return 0;
}
if (u.uswallow) {
+/*JP
You("release web fluid inside %s.", mon_nam(u.ustuck));
+*/
+ You("%s\82Ì\93à\82Å\82\82à\82Ì\91\83\82ð\93f\82«\8fo\82µ\82½\81D", mon_nam(u.ustuck));
if (is_animal(u.ustuck->data)) {
expels(u.ustuck, u.ustuck->data, TRUE);
return 0;
sweep[0] = '\0';
switch (u.ustuck->data->mattk[i].adtyp) {
case AD_FIRE:
+/*JP
Strcpy(sweep, "ignites and ");
+*/
+ Strcpy(sweep, "\94\89Î\82µ");
break;
case AD_ELEC:
+/*JP
Strcpy(sweep, "fries and ");
+*/
+ Strcpy(sweep, "\8fÅ\82°");
break;
case AD_COLD:
+/*JP
Strcpy(sweep, "freezes, shatters and ");
+*/
+ Strcpy(sweep, "\93\80\82è\82Â\82«\81C\82±\82È\82²\82È\82É\82È\82è");
break;
}
+/*JP
pline_The("web %sis swept away!", sweep);
+*/
+ pline("\82\82à\82Ì\91\83\82Í%s\82È\82\82È\82Á\82½\81I", sweep);
}
return 0;
} /* default: a nasty jelly-like creature */
+/*JP
pline_The("web dissolves into %s.", mon_nam(u.ustuck));
+*/
+ pline("\82\82à\82Ì\91\83\82Í\95ª\89ð\82µ\82Ä%s\82É\82È\82Á\82½\81D", mon_nam(u.ustuck));
return 0;
}
if (u.utrap) {
+/*JP
You("cannot spin webs while stuck in a trap.");
+*/
+ You("ã©\82É\82Í\82Ü\82Á\82Ä\82¢\82é\8aÔ\82Í\82\82à\82Ì\91\83\82ð\92£\82ê\82È\82¢\81D");
return 0;
}
exercise(A_DEX, TRUE);
switch (ttmp->ttyp) {
case PIT:
case SPIKED_PIT:
+/*JP
You("spin a web, covering up the pit.");
+*/
+ You("\82\82à\82Ì\91\83\82ð\92£\82è\81C\97\8e\82µ\8c\8a\82ð\95¢\82Á\82½\81D");
deltrap(ttmp);
bury_objs(u.ux, u.uy);
newsym(u.ux, u.uy);
return 1;
case SQKY_BOARD:
+/*JP
pline_The("squeaky board is muffled.");
+*/
+ pline("\82«\82µ\82Þ\94Â\82Í\95¢\82í\82ê\82½\81D");
deltrap(ttmp);
newsym(u.ux, u.uy);
return 1;
case LEVEL_TELEP:
case MAGIC_PORTAL:
case VIBRATING_SQUARE:
+/*JP
Your("webbing vanishes!");
+*/
+ Your("\82\82à\82Ì\91\83\82Í\8fÁ\82¦\82½\81I");
return 0;
case WEB:
+/*JP
You("make the web thicker.");
+*/
+ You("\82\82à\82Ì\91\83\82ð\82æ\82è\8cú\82\82µ\82½\81D");
return 1;
case HOLE:
case TRAPDOOR:
+#if 0 /*JP*/
You("web over the %s.",
(ttmp->ttyp == TRAPDOOR) ? "trap door" : "hole");
+#else
+ You("%s\82ð\82\82à\82Ì\91\83\82Å\95¢\82Á\82½\81D",
+ (ttmp->ttyp == TRAPDOOR) ? "\97\8e\82µ\94à" : "\8c\8a");
+#endif
deltrap(ttmp);
newsym(u.ux, u.uy);
return 1;
case ROLLING_BOULDER_TRAP:
+/*JP
You("spin a web, jamming the trigger.");
+*/
+ You("\82\82à\82Ì\91\83\82ð\92£\82Á\82Ä\81C\83X\83C\83b\83`\82ð\93®\82©\82È\82\82µ\82½\81D");
deltrap(ttmp);
newsym(u.ux, u.uy);
return 1;
case MAGIC_TRAP:
case ANTI_MAGIC:
case POLY_TRAP:
+/*JP
You("have triggered a trap!");
+*/
+ You("ã©\82ð\8en\93®\82³\82¹\82Ä\82µ\82Ü\82Á\82½\81I");
dotrap(ttmp, 0);
return 1;
default:
}
} else if (On_stairs(u.ux, u.uy)) {
/* cop out: don't let them hide the stairs */
+#if 0 /*JP:T*/
Your("web fails to impede access to the %s.",
(levl[u.ux][u.uy].typ == STAIRS) ? "stairs" : "ladder");
+#else
+ Your("\82\82à\82Ì\91\83\82Í%s\82Ö\82Ì\88Ú\93®\82ð\8e×\96\82\82Å\82«\82È\82¢\81D",
+ (levl[u.ux][u.uy].typ == STAIRS) ? "\8aK\92i" : "\82Í\82µ\82²");
+#endif
return 1;
}
ttmp = maketrap(u.ux, u.uy, WEB);
{
int placeholder;
if (u.uen < 10) {
+/*JP
You("lack the energy to send forth a call for help!");
+*/
+ You("\8f\95\82¯\82ð\8cÄ\82Ô\82¾\82¯\82Ì\91Ì\97Í\82ª\82È\82¢\81I");
return 0;
}
u.uen -= 10;
context.botl = 1;
+/*JP
You("call upon your brethren for help!");
+*/
+ You("\92\87\8aÔ\82ð\8cÄ\82ñ\82¾\81I");
exercise(A_WIS, TRUE);
if (!were_summon(youmonst.data, TRUE, &placeholder, (char *) 0))
+/*JP
pline("But none arrive.");
+*/
+ pline("\82µ\82©\82µ\81C\89½\82à\97\88\82È\82¢\81D");
return 1;
}
}
if (Blind) {
+/*JP
You_cant("see anything to gaze at.");
+*/
+ You("\96Ú\82ª\8c©\82¦\82È\82¢\82Ì\82Å\81C\82É\82ç\82ß\82È\82¢\81D");
return 0;
} else if (Hallucination) {
+/*JP
You_cant("gaze at anything you can see.");
+*/
+ You_cant("\8c©\82¦\82é\82à\82Ì\82ð\89½\82à\82É\82ç\82ß\82È\82¢\81D");
return 0;
}
if (u.uen < 15) {
+/*JP
You("lack the energy to use your special gaze!");
+*/
+ You("\82É\82ç\82Þ\82¾\82¯\82Ì\91Ì\97Í\82ª\82È\82¢\81I");
return 0;
}
u.uen -= 15;
if (canseemon(mtmp) && couldsee(mtmp->mx, mtmp->my)) {
looked++;
if (Invis && !perceives(mtmp->data)) {
+/*JP
pline("%s seems not to notice your gaze.", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\82É\82ç\82Ý\82É\8bC\82ª\82Â\82¢\82Ä\82È\82¢\82æ\82¤\82¾\81D", Monnam(mtmp));
} else if (mtmp->minvis && !See_invisible) {
+/*JP
You_cant("see where to gaze at %s.", Monnam(mtmp));
+*/
+ You("%s\82Í\8c©\82¦\82È\82¢\82Ì\82Å\81C\82É\82ç\82ß\82È\82¢", Monnam(mtmp));
} else if (mtmp->m_ap_type == M_AP_FURNITURE
|| mtmp->m_ap_type == M_AP_OBJECT) {
looked--;
continue;
} else if (flags.safe_dog && mtmp->mtame && !Confusion) {
+/*JP
You("avoid gazing at %s.", y_monnam(mtmp));
+*/
+ You("%s\82©\82ç\96Ú\82ð\82»\82ç\82µ\82Ä\82µ\82Ü\82Á\82½\81D", y_monnam(mtmp));
} else {
if (flags.confirm && mtmp->mpeaceful && !Confusion) {
+#if 0 /*JP*/
Sprintf(qbuf, "Really %s %s?",
(adtyp == AD_CONF) ? "confuse" : "attack",
mon_nam(mtmp));
+#else
+ Sprintf(qbuf, "\96{\93\96\82É%s\82ð%s\81H",
+ mon_nam(mtmp),
+ (adtyp == AD_CONF) ? "\8d¬\97\90\82³\82¹\82é" : "\8dU\8c\82\82·\82é");
+#endif
if (yn(qbuf) != 'y')
continue;
setmangry(mtmp);
*/
if (adtyp == AD_CONF) {
if (!mtmp->mconf)
+/*JP
Your("gaze confuses %s!", mon_nam(mtmp));
+*/
+ Your("\82É\82ç\82Ý\82Í%s\82ð\8d¬\97\90\82³\82¹\82½\81I", mon_nam(mtmp));
else
+/*JP
pline("%s is getting more and more confused.",
+*/
+ pline("%s\82Í\82Ü\82·\82Ü\82·\8d¬\97\90\82µ\82½\81I",
Monnam(mtmp));
mtmp->mconf = 1;
} else if (adtyp == AD_FIRE) {
int dmg = d(2, 6), lev = (int) u.ulevel;
+/*JP
You("attack %s with a fiery gaze!", mon_nam(mtmp));
+*/
+ You("\89\8a\82Ì\82É\82ç\82Ý\82Å%s\82ð\8dU\8c\82\82µ\82½\81I", mon_nam(mtmp));
if (resists_fire(mtmp)) {
+/*JP
pline_The("fire doesn't burn %s!", mon_nam(mtmp));
+*/
+ pline("%s\82Í\89\8a\82Å\94R\82¦\82È\82©\82Á\82½\81I", mon_nam(mtmp));
dmg = 0;
}
if (lev > rn2(20))
if (mtmp->data == &mons[PM_FLOATING_EYE] && !mtmp->mcan) {
if (!Free_action) {
+/*JP
You("are frozen by %s gaze!",
+*/
+ You("%s\82Ì\82É\82ç\82Ý\82Å\93®\82¯\82È\82\82È\82Á\82½\81I",
s_suffix(mon_nam(mtmp)));
nomul((u.ulevel > 6 || rn2(4))
? -d((int) mtmp->m_lev + 1,
nomovemsg = 0;
return 1;
} else
+/*JP
You("stiffen momentarily under %s gaze.",
+*/
+ You("%s\82Ì\82É\82ç\82Ý\82Å\88ê\8fu\8dd\92¼\82µ\82½\81D",
s_suffix(mon_nam(mtmp)));
}
/* Technically this one shouldn't affect you at all because
* effect would be too weird.
*/
if (mtmp->data == &mons[PM_MEDUSA] && !mtmp->mcan) {
+/*JP
pline("Gazing at the awake %s is not a very good idea.",
+*/
+ pline("\96Ú\82ð\8ao\82Ü\82µ\82Ä\82¢\82é%s\82ð\82É\82ç\82Þ\82Ì\82Í\8c«\82¢\82±\82Æ\82¶\82á\82È\82¢\81D",
l_monnam(mtmp));
/* as if gazing at a sleeping anything is fruitful... */
+/*JP
You("turn to stone...");
+*/
+ You("\90Î\82É\82È\82Á\82½\81D\81D\81D");
killer.format = KILLED_BY;
+/*JP
Strcpy(killer.name, "deliberately meeting Medusa's gaze");
+*/
+ Strcpy(killer.name, "\82í\82´\82í\82´\83\81\83f\83\85\81[\83T\82Ì\82É\82ç\82Ý\82ð\82Ü\82Æ\82à\82É\8c©\82Ä");
done(STONING);
}
}
}
}
if (!looked)
+/*JP
You("gaze at no place in particular.");
+*/
+ You("\8eÀ\8dÛ\82É\82Í\89½\82à\82É\82ç\82ß\82È\82©\82Á\82½\81D");
return 1;
}
struct monst *mtmp, *nmon;
if (u.uen < 10) {
+/*JP
You("concentrate but lack the energy to maintain doing so.");
+*/
+ You("\8fW\92\86\82µ\82½\81D\82µ\82©\82µ\83G\83l\83\8b\83M\81[\82ª\91«\82è\82È\82¢\81D");
return 0;
}
u.uen -= 10;
context.botl = 1;
+/*JP
You("concentrate.");
+*/
+ You("\8fW\92\86\82µ\82½\81D");
+/*JP
pline("A wave of psychic energy pours out.");
+*/
+ pline("\90¸\90_\83G\83l\83\8b\83M\81[\94g\82ª\95ú\8eU\82µ\82½\81D");
for (mtmp = fmon; mtmp; mtmp = nmon) {
int u_sen;
continue;
u_sen = telepathic(mtmp->data) && !mtmp->mcansee;
if (u_sen || (telepathic(mtmp->data) && rn2(2)) || !rn2(10)) {
+#if 0 /*JP*/
You("lock in on %s %s.", s_suffix(mon_nam(mtmp)),
u_sen ? "telepathy"
: telepathic(mtmp->data) ? "latent telepathy" : "mind");
+#else
+ pline("%s\82Ì%s\82è\8d\9e\82ñ\82¾\81D", mon_nam(mtmp),
+ u_sen ? "\90¸\90_\82É\93ü"
+ : telepathic(mtmp->data) ? "\90ö\8dÝ\93I\90¸\90_\82É\93ü" : "\90[\91w\88Ó\8e¯\82É\90ö");
+#endif
mtmp->mhp -= rnd(15);
if (mtmp->mhp <= 0)
killed(mtmp);
STATIC_OVL void
uunstick()
{
+/*JP
pline("%s is no longer in your clutches.", Monnam(u.ustuck));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\8eè\82©\82ç\93¦\82ê\82½\81D", Monnam(u.ustuck));
u.ustuck = 0;
}
{
if (uskin) {
if (!silently)
+/*JP
Your("skin returns to its original form.");
+*/
+ Your("\94ç\95\86\82Í\96{\97\88\82Ì\8ep\82É\96ß\82Á\82½\81D");
uarm = uskin;
uskin = (struct obj *) 0;
/* undo save/restore hack */
int part;
{
static NEARDATA const char
+#if 0 /*JP*/
*humanoid_parts[] = { "arm", "eye", "face", "finger",
"fingertip", "foot", "hand", "handed",
"head", "leg", "light headed", "neck",
"spine", "toe", "hair", "blood",
"lung", "nose", "stomach" },
+#else
+ *humanoid_parts[] = { "\98r", "\96Ú", "\8aç", "\8ew",
+ "\8ew\90æ", "\91«", "\8eè", "\8eè\82É\82·\82é",
+ "\93ª", "\91«", "\82ß\82Ü\82¢\82ª\82µ\82½", "\8eñ",
+ "\94w\8d\9c", "\92Ü\90æ", "\94¯", "\8c\8c",
+ "\94x", "\95@", "\88Ý"},
+#endif
+#if 0 /*JP*/
*jelly_parts[] = { "pseudopod", "dark spot", "front",
"pseudopod extension", "pseudopod extremity",
"pseudopod root", "grasp", "grasped",
"middle", "surface", "pseudopod extremity",
"ripples", "juices", "surface", "sensor",
"stomach" },
+#else
+ *jelly_parts[] = { "\8b[\8e\97\90G\8eè", "\8d\95\82¢\94Á\93_", "\91O\96Ê",
+ "\8b[\8e\97\90G\8eè\82Ì\90æ", "\8b[\8e\97\90G\8eè",
+ "\8b[\8e\97\90G\8eè\82Ì\8a²", "\90G\8eè", "\88¬\82é",
+ "\94]\82Ì\97Ì\88æ", "\89º\95û\82Ì\8b[\8e\97\90G\8eè", "\82Ë\82Î\82Ë\82Î\82µ\82Ä\82«\82½",
+ "\92\86\8aÔ\97Ì\88æ", "\95\\96Ê", "\8b[\8e\97\90G\8eè",
+ "\94g\96ä", "\91Ì\89t", "\95\\96Ê", "\8a´\8ao\8aí",
+ "\88Ý"},
+#endif
+#if 0 /*JP*/
*animal_parts[] = { "forelimb", "eye", "face",
"foreclaw", "claw tip", "rear claw",
"foreclaw", "clawed", "head",
"spine", "rear claw tip", "fur",
"blood", "lung", "nose",
"stomach" },
+#else
+ *animal_parts[] = { "\91O\91«", "\96Ú", "\8aç",
+ "\91O\92Ü", "\92Ü\90æ", "\8cã\92Ü",
+ "\91O\92Ü", "\82Ð\82Á\82©\82¯\82é", "\93ª",
+ "\8cã\91«", "\82ß\82Ü\82¢\82ª\82µ\82½", "\8eñ",
+ "\94w\8d\9c", "\8cã\92Ü\90æ", "\96Ñ\94ç",
+ "\8c\8c", "\94x", "\95@",
+ "\88Ý"},
+#endif
+#if 0 /*JP*/
*bird_parts[] = { "wing", "eye", "face", "wing",
"wing tip", "foot", "wing", "winged",
"head", "leg", "light headed", "neck",
"spine", "toe", "feathers", "blood",
"lung", "bill", "stomach" },
+#else
+ *bird_parts[] = { "\97\83", "\96Ú", "\8aç", "\97\83",
+ "\97\83\82Ì\90æ", "\91«", "\97\83", "\97\83\82É\82Æ\82é",
+ "\93ª", "\91«", "\82ß\82Ü\82¢\82ª\82µ\82½", "\8eñ",
+ "\94w\8d\9c", "\92Ü\90æ", "\89H\96Ñ", "\8c\8c",
+ "\94x", "\82\82¿\82Î\82µ", "\88Ý" },
+#endif
+#if 0 /*JP*/
*horse_parts[] = { "foreleg", "eye", "face",
"forehoof", "hoof tip", "rear hoof",
"forehoof", "hooved", "head",
"backbone", "rear hoof tip", "mane",
"blood", "lung", "nose",
"stomach" },
+#else
+ *horse_parts[] = { "\91O\91«", "\96Ú", "\8aç",
+ "\91O\92û", "\92û", "\8cã\92û",
+ "\91O\92Ü", "\92û\82É\82Í\82³\82Þ", "\93ª",
+ "\8cã\91«", "\82ß\82Ü\82¢\82ª\82µ\82½", "\8eñ",
+ "\94w\8d\9c", "\8cã\92Ü\90æ", "\82½\82Ä\82ª\82Ý",
+ "\8c\8c", "\94x", "\95@",
+ "\88Ý" },
+#endif
+#if 0 /*JP*/
*sphere_parts[] = { "appendage", "optic nerve", "body", "tentacle",
"tentacle tip", "lower appendage", "tentacle",
"tentacled", "body", "lower tentacle",
"rotational", "equator", "body",
"lower tentacle tip", "cilia", "life force",
"retina", "olfactory nerve", "interior" },
+#else
+ *sphere_parts[] = { "\93Ë\8bN", "\8e\8b\8ao\90_\8co", "\91Ì", "\90G\8eè",
+ "\90G\8eè\82Ì\90æ", "\89º\82Ì\93Ë\8bN", "\90G\8eè",
+ "\90G\8eè\82É\8e\9d\82Â", "\91Ì", "\89º\82Ì\90G\8eè",
+ "\89ñ\93]\82µ\82½", "\92\86\90S\90ü", "\91Ì",
+ "\89º\82Ì\90G\8eè\82Ì\90æ", "\91@\96Ñ", "\90¶\96½\97Í",
+ "\96Ô\96\8c", "\9ak\8ao\92\86\90\95", "\93à\95\94" },
+#endif
+#if 0 /*JP*/
*fungus_parts[] = { "mycelium", "visual area", "front",
"hypha", "hypha", "root",
"strand", "stranded", "cap area",
"root", "rhizome tip", "spores",
"juices", "gill", "gill",
"interior" },
+#else
+ *fungus_parts[] = { "\8bÛ\8e\85\91Ì", "\8e\8b\8ao\97Ì\88æ", "\91O",
+ "\8bÛ\8e\85", "\8bÛ\8e\85", "\8dª",
+ "\90G\8eè", "\90G\8eè\82É\82©\82ç\82Ý\82Â\82¯\82é", "\8eP",
+ "\8dª\8cs", "\8d¬\97\90\82·\82é", "\8e²",
+ "\8dª", "\8dª\8cs\82Ì\90æ", "\89è\96E",
+ "\91Ì\89t", "\82¦\82ç", "\82¦\82ç",
+ "\93à\95\94"},
+#endif
+#if 0 /*JP*/
*vortex_parts[] = { "region", "eye", "front",
"minor current", "minor current", "lower current",
"swirl", "swirled", "central core",
"currents", "edge", "currents",
"life force", "center", "leading edge",
"interior" },
+#else
+ *vortex_parts[] = { "\97Ì\88æ", "\96Ú", "\91O",
+ "\8f¬\82³\82¢\97¬\82ê", "\8f¬\82³\82¢\97¬\82ê", "\89º\95\94\82Ì\97¬\82ê",
+ "\89Q\8aª", "\89Q\82É\8aª\82", "\89Q\82Ì\92\86\90S",
+ "\89º\95\94\82Ì\97¬\82ê", "\8d¬\97\90\82µ\82½", "\92\86\90S\95\94",
+ "\97¬\82ê", "\8aO\8eü", "\8bC\97¬",
+ "\90¶\96½\97Í", "\92\86\90S", "\91O\89\8f",
+ "\93à\95\94" },
+#endif
+#if 0 /*JP*/
*snake_parts[] = { "vestigial limb", "eye", "face", "large scale",
"large scale tip", "rear region", "scale gap",
"scale gapped", "head", "rear region",
"light headed", "neck", "length", "rear scale",
"scales", "blood", "lung", "forked tongue",
"stomach" },
+#else
+ *snake_parts[] = { "\91Þ\89»\82µ\82½\91«", "\96Ú", "\8aç", "\91å\82«\82È\97Ø",
+ "\91å\82«\82È\97Ø\82Ì\90æ", "\8cã\95\94\95ª", "\97Ø\82Ì\8c\84\8aÔ",
+ "\97Ø\82Ì\8c\84\8aÔ\82É\82Â\82¯\82é", "\93ª", "\8cã\95\94\95ª",
+ "\82ß\82Ü\82¢\82ª\82µ\82½", "\8eñ", "\91Ì", "\8cã\95\94\95ª\82Ì\8aZ",
+ "\97Ø", "\8c\8c", "\94x", "\90ã",
+ "\88Ý" },
+#endif
+#if 0 /*JP*/
*worm_parts[] = { "anterior segment", "light sensitive cell",
"clitellum", "setae", "setae", "posterior segment",
"segment", "segmented", "anterior segment",
"posterior", "over stretched", "clitellum",
"length", "posterior setae", "setae", "blood",
"skin", "prostomium", "stomach" },
+#else
+ *worm_parts[] = { "\91O\8bæ", "\8a´\8cõ\90«\8d×\96E",
+ "\8aÂ\91Ñ", "\8ap", "\8ap", "\8cã\8bæ",
+ "\90ß", "\90ß\82É\82Â\82¯\82é", "\91O\8bæ",
+ "\8cã\95\94", "\90L\82Ñ\82·\82¬\82½", "\8aÂ\91Ñ",
+ "\91Ì", "\8cã\95\94\82Ì\8ap", "\8ap", "\8c\8c",
+ "\94ç\95\86", "\8cû\91O\97t", "\88Ý" },
+#endif
+#if 0 /*JP*/
*fish_parts[] = { "fin", "eye", "premaxillary", "pelvic axillary",
"pelvic fin", "anal fin", "pectoral fin", "finned",
"head", "peduncle", "played out", "gills",
"dorsal fin", "caudal fin", "scales", "blood",
"gill", "nostril", "stomach" };
+#else
+ *fish_parts[] = { "\82Ð\82ê", "\96Ú", "\8aç", "\82Ð\82ê\82Ì\90æ",
+ "\82Ð\82ê\82Ì\90æ", "\94ö\82Ñ\82ê", "\8b¹\82Ð\82ê", "\82Ð\82ê\82Å\8e\9d\82Â",
+ "\93ª", "\94ö\95¿", "\82ß\82Ü\82¢\82ª\82µ\82½", "\82¦\82ç",
+ "\94w\82Ñ\82ê", "\94ö\82Ñ\82ê", "\97Ø", "\8c\8c",
+ "\82¦\82ç", "\95@", "\88Ý" };
+#endif
+#if 0 /*JP*//*\8eg\82í\82È\82¢*/
/* claw attacks are overloaded in mons[]; most humanoids with
such attacks should still reference hands rather than claws */
static const char not_claws[] = {
S_QUANTMECH, S_VAMPIRE, S_ORC, S_GIANT, /* quest nemeses */
'\0' /* string terminator; assert( S_xxx != 0 ); */
};
+#endif
struct permonst *mptr = mon->data;
+#if 0 /*JP*/
+/* paw\82Í\8c¢\82Æ\82©\94L\82Ì\8eè\81Cclaw\82Í\83^\83J\82Ì\91«\82Ì\82æ\82¤\82È\82©\82¬\82Â\82ß\81C
+ \82Ç\82¿\82ç\82à\93ú\96{\8cê\82¶\82á\81u\8eè\81v\82Å\82¢\82¢\82Å\82µ\82å\82¤\81D
+*/
/* some special cases */
if (mptr->mlet == S_DOG || mptr->mlet == S_FELINE
|| mptr->mlet == S_RODENT || mptr == &mons[PM_OWLBEAR]) {
&& !index(not_claws, mptr->mlet) && mptr != &mons[PM_STONE_GOLEM]
&& mptr != &mons[PM_INCUBUS] && mptr != &mons[PM_SUCCUBUS]))
return (part == HAND) ? "claw" : "clawed";
+#endif
+#if 0 /*JP*//*trunk\82Í\8fÛ\82Ì\95@\82ð\88Ó\96¡\82·\82é\82»\82¤\82Å\82·\81B\93ú\96{\8cê\82Å\82Í\92P\82É\95@\82Å\82¢\82¢\82©\82Æ\81B*/
if ((mptr == &mons[PM_MUMAK] || mptr == &mons[PM_MASTODON])
&& part == NOSE)
return "trunk";
+#endif
if (mptr == &mons[PM_SHARK] && part == HAIR)
+#if 0 /*JP*/
return "skin"; /* sharks don't have scales */
+#else
+ return "\93ª"; /* sharks don't have scales */
+#endif
if ((mptr == &mons[PM_JELLYFISH] || mptr == &mons[PM_KRAKEN])
&& (part == ARM || part == FINGER || part == HAND || part == FOOT
|| part == TOE))
+/*JP
return "tentacle";
+*/
+ return "\90G\8eè";
if (mptr == &mons[PM_FLOATING_EYE] && part == EYE)
+/*JP
return "cornea";
+*/
+ return "\8ap\96\8c";
if (humanoid(mptr) && (part == ARM || part == FINGER || part == FINGERTIP
|| part == HAND || part == HANDED))
return humanoid_parts[part];
|| (mptr == &mons[PM_ROTHE] && part != HAIR))
return horse_parts[part];
if (mptr->mlet == S_LIGHT) {
+#if 0 /*JP*/
if (part == HANDED)
return "rayed";
else if (part == ARM || part == FINGER || part == FINGERTIP
return "ray";
else
return "beam";
+#else
+ if (part == HANDED || part == ARM || part == FINGER
+ || part == FINGERTIP || part == HAND) {
+ return "\8cõ";
+ }
+#endif
}
if (mptr == &mons[PM_STALKER] && part == HEAD)
return "head";
if (u.mh > u.mhmax)
u.mh = u.mhmax;
context.botl = 1;
+/*JP
pline("Strangely, you feel better than before.");
+*/
+ pline("\8aï\96\82È\82±\82Æ\82É\81C\91O\82æ\82è\8bC\95ª\82ª\82æ\82\82È\82Á\82½\81D");
exercise(A_STR, TRUE);
}
}
/* 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"
boolean notonhead = FALSE;
if (!xtime && old) {
if (talk)
+/*JP
You_feel("less %s now.", Hallucination ? "trippy" : "confused");
+*/
+ You("%s\82ª\82¨\82³\82Ü\82Á\82½\81D", Hallucination ? "\83w\83\8d\83w\83\8d" : "\8d¬\97\90");
}
if ((xtime && !old) || (!xtime && old))
context.botl = TRUE;
if (!xtime && old) {
if (talk)
+#if 0 /*JP*/
You_feel("%s now.",
Hallucination ? "less wobbly" : "a bit steadier");
+#else
+ You_feel("%s\81D",
+ Hallucination ? "\82Ö\82ë\82è\82ç\82ª\82¨\82³\82Ü\82Á\82½" : "\82¾\82ñ\82¾\82ñ\82µ\82Á\82©\82è\82µ\82Ä\82«\82½");
+#endif
}
if (xtime && !old) {
if (talk) {
if (u.usteed)
+/*JP
You("wobble in the saddle.");
+*/
+ You("\88Æ\82Ì\8fã\82Å\82®\82ç\82®\82ç\82µ\82½\81D");
else
+/*JP
You("%s...", stagger(youmonst.data, "stagger"));
+*/
+ You("%s\81D\81D\81D", stagger(youmonst.data, "\82\82ç\82\82ç\82µ\82½"));
}
}
if ((!xtime && old) || (xtime && !old))
return;
if (!old) {
/* newly sick */
+/*JP
You_feel("deathly sick.");
+*/
+ You("\95a\8bC\82Å\8e\80\82É\82»\82¤\82¾\81D");
} else {
/* already sick */
if (talk)
+/*JP
You_feel("%s worse.", xtime <= Sick / 2L ? "much" : "even");
+*/
+ You("%s\88«\89»\82µ\82½\82æ\82¤\82È\8bC\82ª\82·\82é\81D", xtime <= Sick/2L ? "\82³\82ç\82É" : "\82à\82Á\82Æ");
}
set_itimeout(&Sick, xtime);
u.usick_type |= type;
u.usick_type &= ~type;
if (u.usick_type) { /* only partly cured */
if (talk)
+/*JP
You_feel("somewhat better.");
+*/
+ You("\82¿\82å\82Á\82Æ\82æ\82\82È\82Á\82½\81D");
set_itimeout(&Sick, Sick * 2); /* approximation */
} else {
if (talk)
+/*JP
You_feel("cured. What a relief!");
+*/
+ pline("\89ñ\95\9c\82µ\82½\81D\82 \82 \8f\95\82©\82Á\82½\81I");
Sick = 0L; /* set_itimeout(&Sick, 0L) */
}
context.botl = TRUE;
if (!xtime && old)
if (talk)
+/*JP
You_feel("much less nauseated now.");
+*/
+ You("\93f\82«\8bC\82ª\82¨\82³\82Ü\82Á\82½\81D");
set_itimeout(&Vomiting, xtime);
}
+/*JP
static const char vismsg[] = "vision seems to %s for a moment but is %s now.";
+*/
+static const char vismsg[] = "\8e\8b\8aE\82Í\88ê\8fu%s\82È\82Á\82½\82ª\82Ü\82½%s\82È\82Á\82½\81D";
+/*JP
static const char eyemsg[] = "%s momentarily %s.";
+*/
+static const char eyemsg[] = "%s\82Í\88ê\8fu%s\81D";
void
make_blinded(xtime, talk)
if (can_see_now && !u_could_see) { /* regaining sight */
if (talk) {
if (Hallucination)
+/*JP
pline("Far out! Everything is all cosmic again!");
+*/
+ pline("\82°\81I\82È\82É\82à\82©\82à\82ª\82Ü\82½\93ø\90F\82É\8c©\82¦\82é\81I");
else
+/*JP
You("can see again.");
+*/
+ You("\82Ü\82½\8c©\82¦\82é\82æ\82¤\82É\82È\82Á\82½\81D");
}
} else if (old && !xtime) {
/* clearing temporary blindness without toggling blindness */
if (!haseyes(youmonst.data)) {
strange_feeling((struct obj *) 0, (char *) 0);
} else if (Blindfolded) {
+#if 0 /*JP*/
eyes = body_part(EYE);
if (eyecount(youmonst.data) != 1)
eyes = makeplural(eyes);
Your(eyemsg, eyes, vtense(eyes, "itch"));
+#else
+ Your(eyemsg, body_part(EYE), "\82©\82ä\82\82È\82Á\82½");
+#endif
} else { /* Eyes of the Overworld */
+/*JP
Your(vismsg, "brighten", Hallucination ? "sadder" : "normal");
+*/
+ Your(vismsg, "\96¾\82é\82", Hallucination ? "\8dª\88Ã\82É" : "\95\81\92Ê\82É");
}
}
}
if (u_could_see && !can_see_now) { /* losing sight */
if (talk) {
if (Hallucination)
+/*JP
pline("Oh, bummer! Everything is dark! Help!");
+*/
+ pline("\88Ã\82¢\82æ\81[\81C\8b·\82¢\82æ\81[\81C\8b°\82¢\82æ\81[\81I");
else
+/*JP
pline("A cloud of darkness falls upon you.");
+*/
+ pline("\88Ã\8d\95\82Ì\89_\82ª\82 \82È\82½\82ð\95¢\82Á\82½\81D");
}
/* Before the hero goes blind, set the ball&chain variables. */
if (Punished)
if (!haseyes(youmonst.data)) {
strange_feeling((struct obj *) 0, (char *) 0);
} else if (Blindfolded) {
+#if 0 /*JP*/
eyes = body_part(EYE);
if (eyecount(youmonst.data) != 1)
eyes = makeplural(eyes);
Your(eyemsg, eyes, vtense(eyes, "twitch"));
+#else
+ Your(eyemsg, body_part(EYE), "\83s\83N\83s\83N\82µ\82½");
+#endif
} else { /* Eyes of the Overworld */
+/*JP
Your(vismsg, "dim", Hallucination ? "happier" : "normal");
+*/
+ Your(vismsg, "\94\96\88Ã\82", Hallucination ? "\83n\83b\83s\81[\82É" : "\95\81\92Ê\82É");
}
}
}
if (Unaware)
talk = FALSE;
+#if 0 /*JP*/
message = (!xtime) ? "Everything %s SO boring now."
: "Oh wow! Everything %s so cosmic!";
+#else
+ message = (!xtime) ? "\89½\82à\82©\82à\82ª\81\96\91Þ\8bü\81\96\82É%s\82é\81D"
+ : "\83\8f\81[\83I\81I\89½\82à\82©\82à\93ø\90F\82É%s\82é\81I";
+#endif
+/*JP
verb = (!Blind) ? "looks" : "feels";
+*/
+ verb = (!Blind) ? "\8c©\82¦" : "\8a´\82¶";
if (mask) {
if (HHallucination)
if (!haseyes(youmonst.data)) {
strange_feeling((struct obj *) 0, (char *) 0);
} else if (Blind) {
+#if 0 /*JP*/
const char *eyes = body_part(EYE);
if (eyecount(youmonst.data) != 1)
eyes = makeplural(eyes);
Your(eyemsg, eyes, vtense(eyes, "itch"));
+#else
+ Your(eyemsg, body_part(EYE), "\82©\82ä\82\82È\82Á\82½");
+#endif
} else { /* Grayswandir */
+/*JP
Your(vismsg, "flatten", "normal");
+*/
+ Your(vismsg, "\82¨\82©\82µ\82", "\95\81\92Ê\82É");
}
}
}
struct monst *mtmp = makemon(&mons[PM_GHOST], u.ux, u.uy, NO_MM_FLAGS);
if (!mtmp) {
+/*JP
pline("This bottle turns out to be empty.");
+*/
+ pline("\95r\82Í\8bó\82Á\82Û\82¾\82Á\82½\81D");
return;
}
if (Blind) {
+/*JP
pline("As you open the bottle, %s emerges.", something);
+*/
+ pline("\95r\82ð\8aJ\82¯\82é\82Æ\81C\89½\82©\82ª\8fo\82Ä\82«\82½\81D");
return;
}
+#if 0 /*JP*/
pline("As you open the bottle, an enormous %s emerges!",
Hallucination ? rndmonnam(NULL) : (const char *) "ghost");
+#else
+ pline("\95r\82ð\8aJ\82¯\82é\82Æ\81C\8b\90\91å\82È%s\82ª\8fo\82Ä\82«\82½\81I",
+ Hallucination ? rndmonnam(NULL) : (const char *) "\97H\97ì");
+#endif
if (flags.verbose)
+/*JP
You("are frightened to death, and unable to move.");
+*/
+ You("\82Ü\82Á\82³\82¨\82É\82È\82Á\82Ä\8bÁ\82«\81C\93®\82¯\82È\82\82È\82Á\82½\81D");
nomul(-3);
multi_reason = "being frightened to death";
+/*JP
nomovemsg = "You regain your composure.";
+*/
+ nomovemsg = "\82 \82È\82½\82Í\95½\90Ã\82ð\8eæ\82è\96ß\82µ\82½\81D";
}
/* "Quaffing is like drinking, except you spill more." - Terry Pratchett */
const char *potion_descr;
if (Strangled) {
+/*JP
pline("If you can't breathe air, how can you drink liquid?");
+*/
+ pline("\91§\82à\82Å\82«\82È\82¢\82Ì\82É\81C\82Ç\82¤\82â\82Á\82Ä\89t\91Ì\82ð\88ù\82Þ\82ñ\82¾\82¢\81H");
return 0;
}
/* Is there a fountain to drink from here? */
if (IS_FOUNTAIN(levl[u.ux][u.uy].typ)
/* not as low as floor level but similar restrictions apply */
&& can_reach_floor(FALSE)) {
+/*JP
if (yn("Drink from the fountain?") == 'y') {
+*/
+ if (yn("\90ò\82Ì\90\85\82ð\88ù\82Ý\82Ü\82·\82©\81H") == 'y') {
drinkfountain();
return 1;
}
if (IS_SINK(levl[u.ux][u.uy].typ)
/* not as low as floor level but similar restrictions apply */
&& can_reach_floor(FALSE)) {
+/*JP
if (yn("Drink from the sink?") == 'y') {
+*/
+ if (yn("\97¬\82µ\91ä\82Ì\90\85\82ð\88ù\82Ý\82Ü\82·\82©\81H") == 'y') {
drinksink();
return 1;
}
}
/* Or are you surrounded by water? */
if (Underwater && !u.uswallow) {
+/*JP
if (yn("Drink the water around you?") == 'y') {
+*/
+ if (yn("\82Ü\82í\82è\82Ì\90\85\82ð\88ù\82Ý\82Ü\82·\82©\81H") == 'y') {
+/*JP
pline("Do you know what lives in this water?");
+*/
+ pline("\82±\82Ì\90\85\92\86\82Å\89½\82ª\90¶\82«\82Ä\82¢\82é\82Ì\82©\92m\82Á\82Ä\82é\82©\82¢\81H");
return 1;
}
}
potion_descr = OBJ_DESCR(objects[otmp->otyp]);
if (potion_descr) {
+/*JP
if (!strcmp(potion_descr, "milky")
+*/
+ if (!strcmp(potion_descr, "\83~\83\8b\83N\90F\82Ì")
&& !(mvitals[PM_GHOST].mvflags & G_GONE)
&& !rn2(POTION_OCCUPANT_CHANCE(mvitals[PM_GHOST].born))) {
ghost_from_bottle();
useup(otmp);
return 1;
+/*JP
} else if (!strcmp(potion_descr, "smoky")
+*/
+ } else if (!strcmp(potion_descr, "\89\8c\82ª\82Å\82Ä\82¢\82é")
&& !(mvitals[PM_DJINNI].mvflags & G_GONE)
&& !rn2(POTION_OCCUPANT_CHANCE(mvitals[PM_DJINNI].born))) {
djinni_from_bottle(otmp);
if (nothing) {
unkn++;
+#if 0 /*JP*/
You("have a %s feeling for a moment, then it passes.",
Hallucination ? "normal" : "peculiar");
+#else
+ You("%s\8bC\95ª\82É\82¨\82»\82í\82ê\82½\82ª\81C\82·\82®\82É\8fÁ\82¦\82³\82Á\82½\81D",
+ Hallucination ? "\95\81\92Ê\82Ì" : "\93Æ\93Á\82È");
+#endif
}
if (otmp->dknown && !objects[otmp->otyp].oc_name_known) {
if (!unkn) {
case SPE_RESTORE_ABILITY:
unkn++;
if (otmp->cursed) {
+/*JP
pline("Ulch! This makes you feel mediocre!");
+*/
+ pline("\82¤\81[\82ñ\81C\82Ç\82¤\82à\82³\82¦\82È\82¢\82È\82 \81D");
break;
} else {
/* unlike unicorn horn, overrides Fixed_abil */
+#if 0 /*JP*/
pline("Wow! This makes you feel %s!",
(otmp->blessed)
? (unfixable_trouble_count(FALSE) ? "better" : "great")
: "good");
+#else
+ pline("\83\8f\81[\83I\81I\8bC\95ª\82ª%s\82È\82Á\82½\81I",
+ (otmp->blessed)
+ ? (unfixable_trouble_count(FALSE) ? "\82¾\82¢\82Ô\82æ\82" : "\82Æ\82Ä\82à\82æ\82")
+ : "\82æ\82");
+#endif
i = rn2(A_MAX); /* start at a random point */
for (ii = 0; ii < A_MAX; ii++) {
lim = AMAX(i);
break;
case POT_WATER:
if (!otmp->blessed && !otmp->cursed) {
+/*JP
pline("This tastes like water.");
+*/
+ pline("\90\85\82Ì\82æ\82¤\82È\96¡\82ª\82·\82é\81D");
u.uhunger += rnd(10);
newuhs(FALSE);
break;
if (is_undead(youmonst.data) || is_demon(youmonst.data)
|| u.ualign.type == A_CHAOTIC) {
if (otmp->blessed) {
+/*JP
pline("This burns like acid!");
+*/
+ pline("\8e_\82Ì\82æ\82¤\82É\90ã\82ª\82Ð\82è\82Ð\82è\82·\82é\81I");
exercise(A_CON, FALSE);
if (u.ulycn >= LOW_PM) {
+/*JP
Your("affinity to %s disappears!",
+*/
+ Your("%s\82Ö\82Ì\90e\8bß\8a´\82Í\82È\82\82È\82Á\82½\81I",
makeplural(mons[u.ulycn].mname));
if (youmonst.data == &mons[u.ulycn])
you_unwere(FALSE);
u.ulycn = NON_PM; /* cure lycanthropy */
}
+/*JP
losehp(Maybe_Half_Phys(d(2, 6)), "potion of holy water",
+*/
+ losehp(Maybe_Half_Phys(d(2, 6)), "\90¹\90\85\82Å",
KILLED_BY_AN);
} else if (otmp->cursed) {
+/*JP
You_feel("quite proud of yourself.");
+*/
+ You("\8e©\91¸\90S\82ð\8a´\82¶\82½\81D");
healup(d(2, 6), 0, 0, 0);
if (u.ulycn >= LOW_PM && !Upolyd)
you_were();
}
} else {
if (otmp->blessed) {
+/*JP
You_feel("full of awe.");
+*/
+ You("\88Ø\95|\82Ì\94O\82É\82©\82ç\82ê\82½\81D");
make_sick(0L, (char *) 0, TRUE, SICK_ALL);
exercise(A_WIS, TRUE);
exercise(A_CON, TRUE);
/* make_confused(0L, TRUE); */
} else {
if (u.ualign.type == A_LAWFUL) {
+/*JP
pline("This burns like acid!");
+*/
+ pline("\8e_\82Ì\82æ\82¤\82É\90ã\82ª\82Ð\82è\82Ð\82è\82·\82é\81I");
+/*JP
losehp(Maybe_Half_Phys(d(2, 6)), "potion of unholy water",
+*/
+ losehp(Maybe_Half_Phys(d(2, 6)), "\95s\8fò\82È\90\85\82Å",
KILLED_BY_AN);
} else
+/*JP
You_feel("full of dread.");
+*/
+ You("\8b°\95|\82Ì\94O\82É\82©\82ç\82ê\82½\81D");
if (u.ulycn >= LOW_PM && !Upolyd)
you_were();
exercise(A_CON, FALSE);
break;
case POT_BOOZE:
unkn++;
+#if 0 /*JP*/
pline("Ooph! This tastes like %s%s!",
otmp->odiluted ? "watered down " : "",
Hallucination ? "dandelion wine" : "liquid fire");
+#else
+ pline("\82¤\82¥\82Á\82Õ\81I\82±\82ê\82Í%s%s\82Ì\82æ\82¤\82È\96¡\82ª\82·\82é\81I",
+ otmp->odiluted ? "\90\85\82Å\94\96\82ß\82½" : "",
+ Hallucination ? "\83^\83\93\83|\83|\83\8f\83C\83\93" : "\94R\97¿\83I\83C\83\8b");
+#endif
if (!otmp->blessed)
make_confused(itimeout_incr(HConfusion, d(3, 8)), FALSE);
/* the whiskey makes us feel better */
newuhs(FALSE);
exercise(A_WIS, FALSE);
if (otmp->cursed) {
+/*JP
You("pass out.");
+*/
+ You("\8bC\90â\82µ\82½\81D");
multi = -rnd(15);
+/*JP
nomovemsg = "You awake with a headache.";
+*/
+ nomovemsg = "\96Ú\82ª\82³\82ß\82½\82ª\93ª\92É\82ª\82·\82é\81D";
}
break;
case POT_ENLIGHTENMENT:
if (otmp->cursed) {
unkn++;
+/*JP
You("have an uneasy feeling...");
+*/
+ You("\95s\88À\82È\8bC\8e\9d\82É\82È\82Á\82½\81D\81D\81D");
exercise(A_WIS, FALSE);
} else {
if (otmp->blessed) {
(void) adjattrib(A_INT, 1, FALSE);
(void) adjattrib(A_WIS, 1, FALSE);
}
+/*JP
You_feel("self-knowledgeable...");
+*/
+ You("\8e©\95ª\8e©\90g\82ª\94»\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D\81D\81D");
display_nhwindow(WIN_MESSAGE, FALSE);
enlightenment(MAGICENLIGHTENMENT, ENL_GAMEINPROGRESS);
+/*JP
pline_The("feeling subsides.");
+*/
+ pline("\82»\82Ì\8a´\82¶\82Í\82È\82\82È\82Á\82½\81D");
exercise(A_WIS, TRUE);
}
break;
case SPE_INVISIBILITY:
/* spell cannot penetrate mummy wrapping */
if (BInvis && uarmc->otyp == MUMMY_WRAPPING) {
+/*JP
You_feel("rather itchy under %s.", yname(uarmc));
+*/
+ You("%s\82Ì\89º\82ª\83\80\83Y\83\80\83Y\82µ\82½\81D", xname(uarmc));
break;
}
/* FALLTHRU */
incr_itimeout(&HInvis, rn1(15, 31));
newsym(u.ux, u.uy); /* update position */
if (otmp->cursed) {
+/*JP
pline("For some reason, you feel your presence is known.");
+*/
+ pline("\82È\82º\82©\81C\91¶\8dÝ\82ª\92m\82ç\82ê\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
aggravate();
}
break;
unkn++;
if (otmp->cursed)
+#if 0 /*JP*/
pline("Yecch! This tastes %s.",
Hallucination ? "overripe" : "rotten");
+#else
+ pline("\83I\83F\81[\81I\82±\82ê\82Í%s\83W\83\85\81[\83X\82Ì\96¡\82ª\82·\82é\81D",
+ Hallucination ? "\8fn\82µ\82·\82¬\82½" : "\95\85\82Á\82½");
+#endif
else
+#if 0 /*JP*/
pline(
Hallucination
? "This tastes like 10%% real %s%s all-natural beverage."
: "This tastes like %s%s.",
otmp->odiluted ? "reconstituted " : "", fruitname(TRUE));
+#else
+ pline(
+ Hallucination
+ ? "10%%%s\82Ì\8f\83\8e©\91R\88ù\97¿\82Ì\82æ\82¤\82È\96¡\82ª\82·\82é\81D"
+ : "%s%s\83W\83\85\81[\83X\82Ì\82æ\82¤\82È\96¡\82ª\82·\82é\81D",
+ otmp->odiluted ? "\90¬\95ª\92²\90®\82³\82ê\82½" : "", fruitname(TRUE));
+#endif
if (otmp->otyp == POT_FRUIT_JUICE) {
u.uhunger += (otmp->odiluted ? 5 : 10) * (2 + bcsign(otmp));
newuhs(FALSE);
see_monsters(); /* see invisible monsters */
newsym(u.ux, u.uy); /* see yourself! */
if (msg && !Blind) { /* Blind possible if polymorphed */
+/*JP
You("can see through yourself, but you are visible!");
+*/
+ You("\93§\96¾\82Å\82 \82é\81D\82µ\82©\82µ\8c©\82¦\82é\82æ\82¤\82É\82È\82Á\82½\81I");
unkn--;
}
break;
}
case POT_PARALYSIS:
if (Free_action) {
+/*JP
You("stiffen momentarily.");
+*/
+ You("\88ê\8fu\93®\82¯\82È\82\82È\82Á\82½\81D");
} else {
if (Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz))
+/*JP
You("are motionlessly suspended.");
+*/
+ You("\8bó\92\86\82Å\93®\82¯\82È\82\82È\82Á\82½\81D");
else if (u.usteed)
+/*JP
You("are frozen in place!");
+*/
+ You("\82»\82Ì\8fê\82Å\93®\82¯\82È\82\82È\82Á\82½\81I");
else
+#if 0 /*JP*/
Your("%s are frozen to the %s!", makeplural(body_part(FOOT)),
surface(u.ux, u.uy));
+#else
+ You("\93®\82¯\82È\82\82È\82Á\82½\81I");
+#endif
nomul(-(rn1(10, 25 - 12 * bcsign(otmp))));
multi_reason = "frozen by a potion";
nomovemsg = You_can_move_again;
break;
case POT_SLEEPING:
if (Sleep_resistance || Free_action) {
+/*JP
You("yawn.");
+*/
+ You("\82 \82\82Ñ\82ð\82µ\82½\81D");
} else {
+/*JP
You("suddenly fall asleep!");
+*/
+ pline("\93Ë\91R\96°\82Á\82Ä\82µ\82Ü\82Á\82½\81I");
fall_asleep(-rn1(10, 25 - 12 * bcsign(otmp)), TRUE);
}
break;
}
see_monsters();
if (unkn)
+/*JP
You_feel("lonely.");
+*/
+ You("\90S\8d×\82\82È\82Á\82½\81D");
break;
}
if (monster_detect(otmp, 0))
exercise(A_WIS, TRUE);
break;
case POT_SICKNESS:
+/*JP
pline("Yecch! This stuff tastes like poison.");
+*/
+ pline("\83E\83F\81[\81I\93Å\82Ì\82æ\82¤\82È\96¡\82ª\82·\82é\81D");
if (otmp->blessed) {
+/*JP
pline("(But in fact it was mildly stale %s.)", fruitname(TRUE));
+*/
+ pline("(\82µ\82©\82µ\8eÀ\8dÛ\82»\82ê\82Í\8f\82µ\8cÃ\82\82È\82Á\82½%s\81D)", fruitname(TRUE));
if (!Role_if(PM_HEALER)) {
/* NB: blessed otmp->fromsink is not possible */
+/*JP
losehp(1, "mildly contaminated potion", KILLED_BY_AN);
+*/
+ losehp(1, "\95a\8bC\82É\89\98\90õ\82³\82ê\82½\96ò\82Å", KILLED_BY_AN);
}
} else {
if (Poison_resistance)
+/*JP
pline("(But in fact it was biologically contaminated %s.)",
+*/
+ pline("(\82µ\82©\82µ\8eÀ\8dÛ\82»\82ê\82Í\90¶\95¨\8aw\93I\82É\89\98\90õ\82³\82ê\82½%s\82¾\81D)",
fruitname(TRUE));
if (Role_if(PM_HEALER)) {
+/*JP
pline("Fortunately, you have been immunized.");
+*/
+ pline("\8dK\89^\82È\82±\82Æ\82É\81C\82 \82È\82½\82Í\96Æ\89u\82ª\82 \82é\81D");
} else {
char contaminant[BUFSZ];
int typ = rn2(A_MAX);
+#if 0 /*JP*/
Sprintf(contaminant, "%s%s",
(Poison_resistance) ? "mildly " : "",
(otmp->fromsink) ? "contaminated tap water"
: "contaminated potion");
+#else
+ Sprintf(contaminant, "%s\89\98\90õ\82³\82ê\82½%s\82Å",
+ (Poison_resistance) ? "\8f\82µ" : "",
+ (otmp->fromsink) ? "\90\85"
+ : "\96ò");
+#endif
if (!Fixed_abil) {
poisontell(typ, FALSE);
(void) adjattrib(typ, Poison_resistance ? -1 : -rn1(4, 3),
}
}
if (Hallucination) {
+/*JP
You("are shocked back to your senses!");
+*/
+ You("\8cÜ\8a´\82É\8fÕ\8c\82\82ð\8eó\82¯\82½\81I");
(void) make_hallucinated(0L, FALSE, 0L);
}
break;
case POT_CONFUSION:
if (!Confusion) {
if (Hallucination) {
+/*JP
pline("What a trippy feeling!");
+*/
+ pline("\82È\82ñ\82©\83w\83\8d\83w\83\8d\82·\82é\81I");
unkn++;
} else
+/*JP
pline("Huh, What? Where am I?");
+*/
+ pline("\82Ù\82¦\81H\8e\84\82Í\92N\81H");
} else
nothing++;
make_confused(itimeout_incr(HConfusion,
break;
case POT_GAIN_ABILITY:
if (otmp->cursed) {
+/*JP
pline("Ulch! That potion tasted foul!");
+*/
+ pline("\83E\83F\81I\88«\8fL\82ª\82·\82é\81I");
unkn++;
} else if (Fixed_abil) {
nothing++;
/* FALLTHRU */
case SPE_HASTE_SELF:
if (!Very_fast) { /* wwf@doe.carleton.ca */
+/*JP
You("are suddenly moving %sfaster.", Fast ? "" : "much ");
+*/
+ You("\93Ë\91R%s\91¬\82\88Ú\93®\82Å\82«\82é\82æ\82¤\82É\82È\82Á\82½\81D", Fast ? "" : "\82Æ\82Ä\82à");
} else {
+/*JP
Your("%s get new energy.", makeplural(body_part(LEG)));
+*/
+ pline("%s\82É\83G\83l\83\8b\83M\81[\82ª\92\8d\82¬\82±\82Ü\82ê\82é\82æ\82¤\82È\8a´\82¶\82ª\82µ\82½\81D", body_part(LEG));
unkn++;
}
exercise(A_DEX, TRUE);
/* they went up a level */
if ((ledger_no(&u.uz) == 1 && u.uhave.amulet)
|| Can_rise_up(u.ux, u.uy, &u.uz)) {
+/*JP
const char *riseup = "rise up, through the %s!";
+*/
+ const char *riseup ="%s\82ð\93Ë\82«\94²\82¯\82½\81I";
if (ledger_no(&u.uz) == 1) {
You(riseup, ceiling(u.ux, u.uy));
get_level(&newlevel, newlev);
if (on_level(&newlevel, &u.uz)) {
+/*JP
pline("It tasted bad.");
+*/
+ pline("\82Æ\82Ä\82à\82Ü\82¸\82¢\81D");
break;
} else
You(riseup, ceiling(u.ux, u.uy));
goto_level(&newlevel, FALSE, FALSE, FALSE);
}
} else
+/*JP
You("have an uneasy feeling.");
+*/
+ You("\95s\88À\82È\8bC\8e\9d\82É\82È\82Á\82½\81D");
break;
}
pluslvl(FALSE);
u.uexp = rndexp(TRUE);
break;
case POT_HEALING:
+/*JP
You_feel("better.");
+*/
+ You("\8bC\95ª\82ª\82æ\82\82È\82Á\82½\81D");
healup(d(6 + 2 * bcsign(otmp), 4), !otmp->cursed ? 1 : 0,
!!otmp->blessed, !otmp->cursed);
exercise(A_CON, TRUE);
break;
case POT_EXTRA_HEALING:
+/*JP
You_feel("much better.");
+*/
+ You("\8bC\95ª\82ª\82Æ\82Ä\82à\82æ\82\82È\82Á\82½\81D");
healup(d(6 + 2 * bcsign(otmp), 8),
otmp->blessed ? 5 : !otmp->cursed ? 2 : 0, !otmp->cursed,
TRUE);
exercise(A_STR, TRUE);
break;
case POT_FULL_HEALING:
+/*JP
You_feel("completely healed.");
+*/
+ You("\8a®\91S\82É\89ñ\95\9c\82µ\82½\81D");
healup(400, 4 + 4 * bcsign(otmp), !otmp->cursed, TRUE);
/* Restore one lost level if blessed */
if (otmp->blessed && u.ulevel < u.ulevelmax) {
} else if (has_ceiling(&u.uz)) {
int dmg = uarmh ? 1 : rnd(10);
+#if 0 /*JP*/
You("hit your %s on the %s.", body_part(HEAD),
ceiling(u.ux, u.uy));
+#else
+ You("%s\82ð%s\82É\82Ô\82Â\82¯\82½\81D", body_part(HEAD),
+ ceiling(u.ux,u.uy));
+#endif
+/*JP
losehp(Maybe_Half_Phys(dmg), "colliding with the ceiling",
+*/
+ losehp(Maybe_Half_Phys(dmg), "\93V\88ä\82É\93ª\82ð\82Ô\82Â\82¯\82Ä",
KILLED_BY);
}
} /*cursed*/
int num;
if (otmp->cursed)
+/*JP
You_feel("lackluster.");
+*/
+ You("\88Ó\8bC\8fÁ\92¾\82µ\82½\81D");
else
+/*JP
pline("Magical energies course through your body.");
+*/
+ pline("\96\82\96@\82Ì\83G\83l\83\8b\83M\81[\82ª\82 \82È\82½\82Ì\91Ì\82É\96\9e\82¿\82½\81D");
/* old: num = rnd(5) + 5 * otmp->blessed + 1;
* blessed: +7..11 max & current (+9 avg)
if (otmp->lamplit) {
if (likes_fire(youmonst.data)) {
+/*JP
pline("Ahh, a refreshing drink.");
+*/
+ pline("\82í\81[\82¨\81C\90¶\82«\95Ô\82é\81D");
good_for_you = TRUE;
} else {
+/*JP
You("burn your %s.", body_part(FACE));
+*/
+ Your("%s\82Í\8d\95\8fÅ\82°\82É\82È\82Á\82½\81D", body_part(FACE));
/* fire damage */
+/*JP
losehp(d(Fire_resistance ? 1 : 3, 4), "burning potion of oil",
+*/
+ losehp(d(Fire_resistance ? 1 : 3, 4), "\94R\82¦\82Ä\82¢\82é\96û\82ð\88ù\82ñ\82Å",
KILLED_BY_AN);
}
} else if (otmp->cursed)
+/*JP
pline("This tastes like castor oil.");
+*/
+ pline("\82Ð\82Ü\82µ\96û\82Ì\82æ\82¤\82È\96¡\82ª\82·\82é\81D");
else
+/*JP
pline("That was smooth!");
+*/
+ pline("\8cû\82 \82½\82è\82ª\82æ\82¢\81I");
exercise(A_WIS, good_for_you);
break;
}
case POT_ACID:
if (Acid_resistance) {
/* Not necessarily a creature who _likes_ acid */
+/*JP
pline("This tastes %s.", Hallucination ? "tangy" : "sour");
+*/
+ pline("%s\96¡\82ª\82·\82é\81D", Hallucination ? "\82Ò\82è\82Á\82Æ\82µ\82½" : "\8e_\82Ì");
} else {
int dmg;
+#if 0 /*JP*/
pline("This burns%s!",
otmp->blessed ? " a little" : otmp->cursed ? " a lot"
: " like acid");
+#else
+ pline("%s\8fÅ\82°\82½\81I",
+ otmp->blessed ? "\8f\82µ" : otmp->cursed ? "\82·\82²\82"
+ : "");
+#endif
dmg = d(otmp->cursed ? 2 : 1, otmp->blessed ? 4 : 8);
+/*JP
losehp(Maybe_Half_Phys(dmg), "potion of acid", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(dmg), "\8e_\82Ì\96ò\82ð\88ù\82ñ\82Å", KILLED_BY_AN);
exercise(A_CON, FALSE);
}
if (Stoned)
unkn++; /* holy/unholy water can burn like acid too */
break;
case POT_POLYMORPH:
+/*JP
You_feel("a little %s.", Hallucination ? "normal" : "strange");
+*/
+ You("\8f\82µ%s\82È\8a´\82¶\82ª\82µ\82½\81D", Hallucination ? "\95\81\92Ê" : "\95Ï");
if (!Unchanging)
polyself(0);
break;
return -1;
}
+#ifdef JPEXTENSION
+void
+make_totter(xtime, talk)
+long xtime; /* nonzero if this is an attempt to turn on hallucination */
+boolean talk;
+{
+ const char *message = 0;
+
+ if (!xtime)
+ message = "\95û\8cü\8a´\8ao\82ª\90³\8fí\82É\82È\82Á\82½\81D";
+ else
+ message = "\95û\8cü\8a´\8ao\82ª\96\83á\83\82µ\82½\81D";
+
+ set_itimeout(&Totter, xtime);
+ pline(message);
+}
+#endif
+
void
healup(nhp, nxtra, curesick, cureblind)
int nhp, nxtra;
const char *txt;
{
if (flags.beginner || !txt)
+#if 0 /*JP*/
You("have a %s feeling for a moment, then it passes.",
Hallucination ? "normal" : "strange");
+#else
+ You("%s\8bC\95ª\82É\82¨\82»\82í\82ê\82½\82ª\81C\82·\82®\82É\8fÁ\82¦\82³\82Á\82½\81D",
+ Hallucination ? "\95\81\92Ê\82Ì" : "\8aï\96\82È");
+#endif
else
pline1(txt);
useup(obj);
}
+#if 0 /*JP*/
const char *bottlenames[] = { "bottle", "phial", "flagon", "carafe",
"flask", "jar", "vial" };
+#else
+const char *bottlenames[] = { "\95r", "àÞ\97\9e\95r", "\88ê\8f¡\95r", "\90\85\8d·\82µ",
+ "\83t\83\89\83X\83R", "\92Ù", "\83K\83\89\83X\95r" };
+#endif
const char *
bottlename()
if (isyou) {
distance = 0;
+#if 0 /*JP*/
pline_The("%s crashes on your %s and breaks into shards.", botlnam,
body_part(HEAD));
+#else
+ pline("%s\82ª\82 \82È\82½\82Ì%s\82Ì\8fã\82Å\89ó\82ê\94j\95Ð\82Æ\82È\82Á\82½\81D", botlnam,
+ body_part(HEAD));
+#endif
+/*JP
losehp(Maybe_Half_Phys(rnd(2)), "thrown potion", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(rnd(2)), "\93\8a\82°\82ç\82ê\82½\96ò\82Å", KILLED_BY_AN);
} else {
/* sometimes it hits the saddle */
if (((mon->misc_worn_check & W_SADDLE)
hit_saddle = TRUE;
distance = distu(mon->mx, mon->my);
if (!cansee(mon->mx, mon->my))
+/*JP
pline("Crash!");
+*/
+ pline("\83K\83V\83\83\83\93\81I");
else {
char *mnam = mon_nam(mon);
char buf[BUFSZ];
if (hit_saddle && saddle) {
+/*JP
Sprintf(buf, "%s saddle",
+*/
+ Sprintf(buf, "%s\82Ì\88Æ",
s_suffix(x_monnam(mon, ARTICLE_THE, (char *) 0,
(SUPPRESS_IT | SUPPRESS_SADDLE),
FALSE)));
} else if (has_head(mon->data)) {
+#if 0 /*JP*/
Sprintf(buf, "%s %s", s_suffix(mnam),
(notonhead ? "body" : "head"));
+#else
+ Sprintf(buf, "%s\82Ì%s", s_suffix(mnam),
+ (notonhead ? "\91Ì" : "\93ª"));
+#endif
} else {
Strcpy(buf, mnam);
}
+#if 0 /*JP*/
pline_The("%s crashes on %s and breaks into shards.", botlnam,
buf);
+#else
+ pline("%s\82ª%s\82Ì\8fã\82Å\89ó\82ê\94j\95Ð\82Æ\82È\82Á\82½\81D", botlnam,
+ buf);
+#endif
}
if (rn2(5) && mon->mhp > 1 && !hit_saddle)
mon->mhp--;
/* oil doesn't instantly evaporate; Neither does a saddle hit */
if (obj->otyp != POT_OIL && !hit_saddle && cansee(mon->mx, mon->my))
+/*JP
pline("%s.", Tobjnam(obj, "evaporate"));
+*/
+ pline("%s\82Í\8fö\94\82µ\82½\81D", xname(obj));
if (isyou) {
switch (obj->otyp) {
explode_oil(obj, u.ux, u.uy);
break;
case POT_POLYMORPH:
+/*JP
You_feel("a little %s.", Hallucination ? "normal" : "strange");
+*/
+ You("%s\82È\8a´\82¶\82ª\82µ\82½\81D", Hallucination ? "\95\81\92Ê" : "\95Ï");
if (!Unchanging && !Antimagic)
polyself(0);
break;
case POT_ACID:
if (!Acid_resistance) {
int dmg;
+#if 0 /*JP*/
pline("This burns%s!",
obj->blessed ? " a little"
: obj->cursed ? " a lot" : "");
+#else
+ pline("%s\94R\82¦\82½\81I",
+ obj->blessed ? "\8f\82µ"
+ : obj->cursed ? "\82Í\82°\82µ\82" : "");
+#endif
dmg = d(obj->cursed ? 2 : 1, obj->blessed ? 4 : 8);
+/*JP
losehp(Maybe_Half_Phys(dmg), "potion of acid", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(dmg), "\8e_\82Ì\96ò\82ð\97\81\82Ñ\82Ä", KILLED_BY_AN);
}
break;
}
if (mon->mhp < mon->mhpmax) {
mon->mhp = mon->mhpmax;
if (canseemon(mon))
+/*JP
pline("%s looks sound and hale again.", Monnam(mon));
+*/
+ pline("%s\82Í\8c³\8bC\82É\82È\82Á\82½\82æ\82¤\82É\8c©\82¦\82é\81D", Monnam(mon));
}
break;
case POT_SICKNESS:
/* most common case */
|| resists_poison(mon)) {
if (canseemon(mon))
+#if 0 /*JP*/
pline("%s looks unharmed.", Monnam(mon));
+#else
+ pline("%s\82Í\82È\82ñ\82Æ\82à\82È\82¢\82æ\82¤\82¾\81D", Monnam(mon));
+#endif
break;
}
do_illness:
if (mon->mhp > mon->mhpmax)
mon->mhp = mon->mhpmax;
if (canseemon(mon))
+/*JP
pline("%s looks rather ill.", Monnam(mon));
+*/
+ pline("%s\82Í\95a\8bC\82Á\82Û\82\8c©\82¦\82é\81D", Monnam(mon));
break;
case POT_CONFUSION:
case POT_BOOZE:
case POT_SLEEPING:
/* wakeup() doesn't rouse victims of temporary sleep */
if (sleep_monst(mon, rnd(12), POTION_CLASS)) {
+/*JP
pline("%s falls asleep.", Monnam(mon));
+*/
+ pline("%s\82Í\96°\82Á\82Ä\82µ\82Ü\82Á\82½\81D", Monnam(mon));
slept_monst(mon);
}
break;
if (is_undead(mon->data) || is_demon(mon->data)
|| is_were(mon->data) || is_vampshifter(mon)) {
if (obj->blessed) {
+#if 0 /*JP*/
pline("%s %s in pain!", Monnam(mon),
is_silent(mon->data) ? "writhes" : "shrieks");
+#else
+ pline("%s\82Í\8bê\92É%s\81I", Monnam(mon),
+ is_silent(mon->data) ? "\82É\90g\82à\82¾\82¦\82µ\82½" : "\82Ì\8b©\82Ñ\90º\82ð\82 \82°\82½");
+#endif
if (!is_silent(mon->data))
wake_nearto(mon->mx, mon->my, mon->data->mlevel * 10);
mon->mhp -= d(2, 6);
} else if (obj->cursed) {
angermon = FALSE;
if (canseemon(mon))
+/*JP
pline("%s looks healthier.", Monnam(mon));
+*/
+ pline("%s\82Í\82æ\82è\8c³\8bC\82É\82È\82Á\82½\82æ\82¤\82É\8c©\82¦\82é\81D", Monnam(mon));
mon->mhp += d(2, 6);
if (mon->mhp > mon->mhpmax)
mon->mhp = mon->mhpmax;
(void) split_mon(mon, (struct monst *) 0);
} else if (mon->data == &mons[PM_IRON_GOLEM]) {
if (canseemon(mon))
+/*JP
pline("%s rusts.", Monnam(mon));
+*/
+ pline("%s\82Í\8eK\82Ñ\82½\81D", Monnam(mon));
mon->mhp -= d(1, 6);
/* should only be by you */
if (mon->mhp < 1)
break;
case POT_ACID:
if (!resists_acid(mon) && !resist(mon, POTION_CLASS, 0, NOTELL)) {
+#if 0 /*JP*/
pline("%s %s in pain!", Monnam(mon),
is_silent(mon->data) ? "writhes" : "shrieks");
+#else
+ pline("%s\82Í\8bê\92É%s\81I", Monnam(mon),
+ is_silent(mon->data) ? "\82É\90g\82à\82¾\82¦\82µ\82½" : "\82Ì\8b©\82Ñ\90º\82ð\82 \82°\82½");
+#endif
if (!is_silent(mon->data))
wake_nearto(mon->mx, mon->my, mon->data->mlevel * 10);
mon->mhp -= d(obj->cursed ? 2 : 1, obj->blessed ? 4 : 8);
case POT_GAIN_ABILITY:
if (obj->cursed) {
if (!breathless(youmonst.data))
+/*JP
pline("Ulch! That potion smells terrible!");
+*/
+ pline("\83E\83Q\83F\81I\96ò\82Í\82à\82Ì\82·\82²\82¢\93õ\82¢\82ª\82·\82é\81I");
else if (haseyes(youmonst.data)) {
+#if 0 /*JP*/
const char *eyes = body_part(EYE);
if (eyecount(youmonst.data) != 1)
eyes = makeplural(eyes);
Your("%s %s!", eyes, vtense(eyes, "sting"));
+#else
+ Your("%s\82ª\82¸\82«\82¸\82«\82·\82é\81I", body_part(EYE));
+#endif
}
break;
} else {
}
break;
case POT_HALLUCINATION:
+/*JP
You("have a momentary vision.");
+*/
+ You("\88ê\8fu\8c¶\89e\82É\82Â\82Â\82Ü\82ê\82½\81D");
break;
case POT_CONFUSION:
case POT_BOOZE:
if (!Confusion)
+/*JP
You_feel("somewhat dizzy.");
+*/
+ You("\82ß\82Ü\82¢\82ð\8a´\82¶\82½\81D");
make_confused(itimeout_incr(HConfusion, rnd(5)), FALSE);
break;
case POT_INVISIBILITY:
if (!Blind && !Invis) {
kn++;
+#if 0 /*JP*/
pline("For an instant you %s!",
See_invisible ? "could see right through yourself"
: "couldn't see yourself");
+#else
+ pline("\88ê\8fu\8e©\95ª\8e©\90g\82ª%s\8c©\82¦\82È\82\82È\82Á\82½\81I",
+ See_invisible ? "\90³\82µ\82"
+ : "");
+#endif
}
break;
case POT_PARALYSIS:
kn++;
if (!Free_action) {
+/*JP
pline("%s seems to be holding you.", Something);
+*/
+ pline("%s\82ª\82 \82È\82½\82ð\82Â\82©\82Ü\82¦\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D", Something);
nomul(-rnd(5));
multi_reason = "frozen by a potion";
nomovemsg = You_can_move_again;
exercise(A_DEX, FALSE);
} else
+/*JP
You("stiffen momentarily.");
+*/
+ You("\88ê\8fu\8dd\92¼\82µ\82½\81D");
break;
case POT_SLEEPING:
kn++;
if (!Free_action && !Sleep_resistance) {
+/*JP
You_feel("rather tired.");
+*/
+ You("\82·\82±\82µ\94æ\82ê\82½\81D");
nomul(-rnd(5));
multi_reason = "sleeping off a magical draught";
nomovemsg = You_can_move_again;
exercise(A_DEX, FALSE);
} else
+/*JP
You("yawn.");
+*/
+ You("\82 \82\82Ñ\82ð\82µ\82½\81D");
break;
case POT_SPEED:
if (!Fast)
+/*JP
Your("knees seem more flexible now.");
+*/
+ Your("\95G\82Í\82æ\82è\82·\82Î\82â\82\93®\82\82æ\82¤\82É\82È\82Á\82½\81D");
incr_itimeout(&HFast, rnd(5));
exercise(A_DEX, TRUE);
break;
case POT_BLINDNESS:
if (!Blind && !Unaware) {
kn++;
+/*JP
pline("It suddenly gets dark.");
+*/
+ pline("\93Ë\91R\88Ã\82\82È\82Á\82½\81D");
}
make_blinded(itimeout_incr(Blinded, rnd(5)), FALSE);
if (!Blind && !Unaware)
if (inaccessible_equipment(obj, "dip", FALSE))
return 0;
+#if 0 /*JP*/
Sprintf(qbuf, "dip %s into", thesimpleoname(obj));
+#else
+ Sprintf(qbuf, "%s\82ð\90Z\82µ\82Ü\82·\82©", thesimpleoname(obj));
+#endif
here = levl[u.ux][u.uy].typ;
/* Is there a fountain to dip into here? */
if (IS_FOUNTAIN(here)) {
/* "Dip <the object> into the fountain?" */
+#if 0 /*JP*/
Sprintf(qtoo, "%s the fountain?", qbuf);
+#else
+ Sprintf(qtoo, "\90ò\82É%s\81H", qbuf);
+#endif
if (yn(upstart(qtoo)) == 'y') {
dipfountain(obj);
return 1;
const char *pooltype = waterbody_name(u.ux, u.uy);
/* "Dip <the object> into the {pool, moat, &c}?" */
+#if 0 /*JP*/
Sprintf(qtoo, "%s the %s?", qbuf, pooltype);
+#else
+ Sprintf(qtoo, "%s\82É%s\81H", pooltype, qbuf);
+#endif
if (yn(upstart(qtoo)) == 'y') {
if (Levitation) {
floating_above(pooltype);
if (!potion)
return 0;
if (potion == obj && potion->quan == 1L) {
+/*JP
pline("That is a potion bottle, not a Klein bottle!");
+*/
+ pline("\82±\82ê\82Í\96ò\95r\82¾\81I\83N\83\89\83C\83\93\82Ì\92Ù\82¶\82á\82È\82¢\81I");
return 0;
}
potion->in_use = TRUE; /* assume it will be used up */
prinv((char *) 0, obj, 0L);
return 1;
} else {
+/*JP
pline("Nothing seems to happen.");
+*/
+ pline("\89½\82à\8bN\82±\82ç\82È\82©\82Á\82½\82æ\82¤\82¾\81D");
goto poof;
}
}
} else if (obj->oclass == POTION_CLASS && obj->otyp != potion->otyp) {
long amt = obj->quan;
+#if 0 /*JP*/
Strcpy(qbuf, "The");
+#else
+ Strcpy(qbuf, "");
+#endif
if (amt > (objects[potion->otyp].oc_magic ? 2L : 9L)) {
/* trying to dip multiple potions will usually affect only a
subset; pick an amount between 2 and min(N,9), inclusive */
amt += 1L;
if (amt < obj->quan) {
obj = splitobj(obj, amt);
+#if 0 /*JP*/
Sprintf(qbuf, "%ld of the", obj->quan);
+#else
+ Sprintf(qbuf, "%ld\96{\82Ì", obj->quan);
+#endif
}
}
/* [N of] the {obj(s)} mix(es) with [one of] {the potion}... */
+#if 0 /*JP*/
pline("%s %s %s with %s%s...", qbuf, simpleonames(obj),
otense(obj, "mix"), (potion->quan > 1L) ? "one of " : "",
thesimpleoname(potion));
+#else /* [N\96{\82Ì]{obj}\82ð{the potion}[\82Ì\88ê\82Â]\82Æ\8d¬\82º\82½\81D\81D\81D */
+ pline("%s%s\82ð%s%s\82Æ\8d¬\82º\82½\81D\81D\81D", qbuf, simpleonames(obj),
+ thesimpleoname(potion),
+ (potion->quan > 1L) ? "\82Ì\88ê\82Â" : "");
+#endif
/* Mixing potions is dangerous...
KMH, balance patch -- acid is particularly unstable */
if (obj->cursed || obj->otyp == POT_ACID || !rn2(10)) {
around for potionbreathe() [and we can't set obj->in_use
to 'amt' because that's not implemented] */
obj->in_use = 1;
+/*JP
pline("BOOM! They explode!");
+*/
+ pline("\83o\81[\83\93\81I\94\9a\94\82µ\82½\81I");
wake_nearto(u.ux, u.uy, (BOLT_LIM + 1) * (BOLT_LIM + 1));
exercise(A_STR, FALSE);
if (!breathless(youmonst.data) || haseyes(youmonst.data))
useupall(obj);
useup(potion);
losehp((int) (amt + rnd(9)), /* not physical damage */
+/*JP
"alchemic blast", KILLED_BY_AN);
+*/
+ "\92²\8d\87\82Ì\8e¸\94s\82Å", KILLED_BY_AN);
return 1;
}
useupall(obj);
useup(potion);
if (!Blind)
+/*JP
pline_The("mixture glows brightly and evaporates.");
+*/
+ pline("\8d¬\82º\82é\82Æ\96ò\82Í\96¾\82é\82\8bP\82«\81C\8fö\94\82µ\82½\81D");
return 1;
}
}
obj->odiluted = (obj->otyp != POT_WATER);
if (obj->otyp == POT_WATER && !Hallucination) {
+/*JP
pline_The("mixture bubbles%s.", Blind ? "" : ", then clears");
+*/
+ pline("\96ò\82ð\8d¬\82º\82é\82Æ%s\96A\82¾\82Á\82½\81D", Blind ? "" : "\82µ\82Î\82ç\82");
} else if (!Blind) {
+/*JP
pline_The("mixture looks %s.",
+*/
+ pline("\8d¬\82º\82½\96ò\82Í%s\96ò\82É\8c©\82¦\82é\81D",
hcolor(OBJ_DESCR(objects[obj->otyp])));
}
char buf[BUFSZ];
if (potion->quan > 1L)
+/*JP
Sprintf(buf, "One of %s", the(xname(potion)));
+*/
+ Sprintf(buf, "%s\82Ì\88ê\82Â", the(xname(potion)));
else
Strcpy(buf, The(xname(potion)));
+/*JP
pline("%s forms a coating on %s.", buf, the(xname(obj)));
+*/
+ pline("%s\82ª%s\82É\93h\82ç\82ê\82½\81D", buf, the(xname(obj)));
obj->opoisoned = TRUE;
goto poof;
} else if (obj->opoisoned && (potion->otyp == POT_HEALING
|| potion->otyp == POT_EXTRA_HEALING
|| potion->otyp == POT_FULL_HEALING)) {
+/*JP
pline("A coating wears off %s.", the(xname(obj)));
+*/
+ pline("\93Å\82ª%s\82©\82ç\94\8d\82°\82¨\82¿\82½\81D", the(xname(obj)));
obj->opoisoned = 0;
goto poof;
}
if (potion->lamplit) { /* burning */
fire_damage(obj, TRUE, u.ux, u.uy);
} else if (potion->cursed) {
+/*JP
pline_The("potion spills and covers your %s with oil.",
+*/
+ pline("\96û\82Í\94ò\82Ñ\8eU\82è\82 \82È\82½\82Ì%s\82É\82©\82©\82Á\82½\81D",
makeplural(body_part(FINGER)));
incr_itimeout(&Glib, d(2, 10));
} else if (obj->oclass != WEAPON_CLASS && !is_weptool(obj)) {
} else if ((!is_rustprone(obj) && !is_corrodeable(obj))
|| is_ammo(obj) || (!obj->oeroded && !obj->oeroded2)) {
/* uses up potion, doesn't set obj->greased */
+#if 0 /*JP*/
pline("%s %s with an oily sheen.", Yname2(obj),
otense(obj, "gleam"));
+#else
+ pline("%s\82Í\96û\82Ì\8cõ\91ò\82Å\82«\82ç\82è\82Æ\8cõ\82Á\82½\81D", Yname2(obj));
+#endif
} else {
+#if 0 /*JP*/
pline("%s %s less %s.", Yname2(obj), otense(obj, "are"),
(obj->oeroded && obj->oeroded2)
? "corroded and rusty"
: obj->oeroded ? "rusty" : "corroded");
+#else
+ pline("%s\82Ì%s\82ª\8eæ\82ê\82½\81D", Yname2(obj),
+ (obj->oeroded && obj->oeroded2)
+ ? "\95\85\90H\82Æ\8eK"
+ : obj->oeroded ? "\8eK" : "\95\85\90H");
+#endif
if (obj->oeroded > 0)
obj->oeroded--;
if (obj->oeroded2 > 0)
obj->age = 0;
}
if (obj->age > 1000L) {
+/*JP
pline("%s %s full.", Yname2(obj), otense(obj, "are"));
+*/
+ pline("%s\82É\82Í\82½\82Á\82Õ\82è\93ü\82Á\82Ä\82¢\82é\81D", Yname2(obj));
potion->in_use = FALSE; /* didn't go poof */
} else {
+/*JP
You("fill %s with oil.", yname(obj));
+*/
+ You("%s\82É\96û\82ð\93ü\82ê\82½\81D", yname(obj));
check_unpaid(potion); /* Yendorian Fuel Tax */
obj->age += 2 * potion->age; /* burns more efficiently */
if (obj->age > 1500L)
oldbuf[0] = '\0';
if (potion->dknown) {
old_dknown = TRUE;
+/*JP
Sprintf(oldbuf, "%s ", hcolor(OBJ_DESCR(objects[potion->otyp])));
+*/
+ Sprintf(oldbuf, "%s", hcolor(OBJ_DESCR(objects[potion->otyp])));
}
/* with multiple merged potions, split off one and
just clear it */
singlepotion->dknown = FALSE;
} else {
singlepotion->dknown = !Hallucination;
+#if 0 /*JP*/
if (mixture == POT_WATER && singlepotion->dknown)
Sprintf(newbuf, "clears");
else
hcolor(OBJ_DESCR(objects[mixture])));
pline_The("%spotion%s %s.", oldbuf,
more_than_one ? " that you dipped into" : "", newbuf);
+#else
+ if (mixture == POT_WATER && singlepotion->dknown)
+ Sprintf(newbuf, "\93§\96¾");
+ else
+ Sprintf(newbuf, "%s\96ò",
+ hcolor(OBJ_DESCR(objects[mixture])));
+ pline_The("%s%s\96ò\82Í%s\82É\82È\82Á\82½\81D.", more_than_one ? "\90Z\82µ\82½" : "",
+ oldbuf, newbuf);
+#endif
if (!objects[old_otyp].oc_uname
&& !objects[old_otyp].oc_name_known && old_dknown) {
struct obj fakeobj;
}
obj_extract_self(singlepotion);
singlepotion =
+/*JP
hold_another_object(singlepotion, "You juggle and drop %s!",
+*/
+ hold_another_object(singlepotion, "\82¨\8eè\8bÊ\82µ\82Ä%s\82ð\97\8e\82Æ\82µ\82Ä\82µ\82Ü\82Á\82½\81I",
doname(singlepotion), (const char *) 0);
update_inventory();
return 1;
}
+/*JP
pline("Interesting...");
+*/
+ pline("\96Ê\94\92\82¢\81D\81D\81D");
return 1;
poof:
int chance;
if (!(mtmp = makemon(&mons[PM_DJINNI], u.ux, u.uy, NO_MM_FLAGS))) {
+#if 0 /*JP*/
pline("It turns out to be empty.");
+#else
+ if (obj->otyp == MAGIC_LAMP) {
+ pline("\83\89\83\93\83v\82Í\8bó\82Á\82Û\82¾\82Á\82½\81D");
+ } else {
+ pline("\96ò\82Í\8bó\82Á\82Û\82¾\82Á\82½\81D");
+ }
+#endif
return;
}
if (!Blind) {
+/*JP
pline("In a cloud of smoke, %s emerges!", a_monnam(mtmp));
+*/
+ pline("\89\8c\82Ì\92\86\82©\82ç\81C%s\82ª\8c»\82í\82ê\82½\81I", a_monnam(mtmp));
+/*JP
pline("%s speaks.", Monnam(mtmp));
+*/
+ pline("%s\82Í\98b\82µ\82©\82¯\82½\81D", Monnam(mtmp));
} else {
+/*JP
You("smell acrid fumes.");
+*/
+ You("\83c\83\93\82Æ\82·\82é\93õ\82¢\82ª\82µ\82½\81D");
+/*JP
pline("%s speaks.", Something);
+*/
+ pline("%s\82ª\98b\82µ\82©\82¯\82½\81D", Something);
}
chance = rn2(5);
switch (chance) {
case 0:
+/*JP
verbalize("I am in your debt. I will grant one wish!");
+*/
+ verbalize("\82¨\91O\82É\82Í\8eØ\82è\82ª\82Å\82«\82½\81D\88ê\82Â\8aè\82¢\82ð\82©\82È\82¦\82Ä\82â\82ë\82¤\81I");
/* give a wish and discard the monster (mtmp set to null) */
mongrantswish(&mtmp);
break;
case 1:
+/*JP
verbalize("Thank you for freeing me!");
+*/
+ verbalize("\8e\84\82ð\8f\95\82¯\82Ä\82\82ê\82½\82±\82Æ\82ð\8a´\8eÓ\82·\82é\81I");
(void) tamedog(mtmp, (struct obj *) 0);
break;
case 2:
+/*JP
verbalize("You freed me!");
+*/
+ verbalize("\89ð\95ú\82µ\82Ä\82\82ê\82½\82Ì\82Í\82¨\91O\82©\81I");
mtmp->mpeaceful = TRUE;
set_malign(mtmp);
break;
case 3:
+/*JP
verbalize("It is about time!");
+*/
+ verbalize("\82³\82ç\82Î\82¾\81I");
if (canspotmon(mtmp))
+/*JP
pline("%s vanishes.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8fÁ\82¦\82½\81D", Monnam(mtmp));
mongone(mtmp);
break;
default:
+/*JP
verbalize("You disturbed me, fool!");
+*/
+ verbalize("\82¨\82Ü\82¦\82Í\8e\84\82Ì\96°\82è\82ð\96W\82°\82½\81D\82¨\82ë\82©\82à\82Ì\82ß\81I");
mtmp->mpeaceful = FALSE;
set_malign(mtmp);
break;
reason[0] = '\0';
if (mtmp)
+#if 0 /*JP*/
Sprintf(reason, " from %s heat",
(mtmp == &youmonst) ? the_your[1]
: (const char *) s_suffix(mon_nam(mtmp)));
+#else
+ Sprintf(reason, "%s\82Ì\94M\82Å",
+ (mtmp == &youmonst) ? the_your[1]
+ : (const char *) s_suffix(mon_nam(mtmp)));
+#endif
if (mon == &youmonst) {
mtmp2 = cloneu();
mtmp2->mhpmax = u.mhmax / 2;
u.mhmax -= mtmp2->mhpmax;
context.botl = 1;
+/*JP
You("multiply%s!", reason);
+*/
+ You("%s\95ª\97ô\82µ\82½\81I", reason);
}
} else {
mtmp2 = clone_mon(mon, 0, 0);
mtmp2->mhpmax = mon->mhpmax / 2;
mon->mhpmax -= mtmp2->mhpmax;
if (canspotmon(mon))
+/*JP
pline("%s multiplies%s!", Monnam(mon), reason);
+*/
+ pline("%s\82Í%s\95ª\97ô\82µ\82½\81I", Monnam(mon), reason);
}
}
return mtmp2;
/* Copyright (c) Benson I. Margulies, 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"
STATIC_PTR int NDECL(prayer_done);
* responsible for the theft of the Amulet from Marduk, the Creator.
* Moloch is unaligned.
*/
+/*JP
static const char *Moloch = "Moloch";
+*/
+static const char *Moloch = "\83\82\81[\83\8d\83b\83N";
static const char *godvoices[] = {
+/*JP
"booms out", "thunders", "rings out", "booms",
+*/
+ "\8b¿\82«\82í\82½\82Á\82½", "\97\8b\82Ì\82æ\82¤\82É\8b¿\82¢\82½", "\82Æ\82Ç\82ë\82¢\82½", "\8b¿\82¢\82½",
};
/* values calculated when prayer starts, and used when completed */
int i;
struct obj *otmp = 0;
const char *what = (const char *) 0;
+#if 0 /*JP*/
static NEARDATA const char leftglow[] = "Your left ring softly glows",
rightglow[] = "Your right ring softly glows";
+#else
+ static NEARDATA const char leftglow[] = "\8d¶\82Ì\8ew\97Ö",
+ rightglow[] = "\89E\82Ì\8ew\97Ö";
+#endif
switch (trouble) {
case TROUBLE_STONED:
+/*JP
make_stoned(0L, "You feel more limber.", 0, (char *) 0);
+*/
+ make_stoned(0L, "\93î\82ç\82©\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D", 0, (char *) 0);
break;
case TROUBLE_SLIMED:
+/*JP
make_slimed(0L, "The slime disappears.");
+*/
+ make_slimed(0L, "\82Ç\82ë\82Ç\82ë\8a´\82Í\8fÁ\82¦\82½\81D");
break;
case TROUBLE_STRANGLED:
if (uamul && uamul->otyp == AMULET_OF_STRANGULATION) {
+/*JP
Your("amulet vanishes!");
+*/
+ Your("\96\82\8f\9c\82¯\82Í\8fÁ\82¦\82³\82Á\82½\81I");
useup(uamul);
}
+/*JP
You("can breathe again.");
+*/
+ You("\82Ü\82½\8cÄ\8bz\82Å\82«\82é\82æ\82¤\82É\82È\82Á\82½\81D");
Strangled = 0;
context.botl = 1;
break;
case TROUBLE_LAVA:
+/*JP
You("are back on solid ground.");
+*/
+ You("\8cÅ\82¢\92n\96Ê\82É\96ß\82Á\82½\81D");
/* teleport should always succeed, but if not,
* just untrap them.
*/
losestr(-1);
/*FALLTHRU*/
case TROUBLE_HUNGRY:
+/*JP
Your("%s feels content.", body_part(STOMACH));
+*/
+ Your("\90H\97~\82Í\96\9e\82½\82³\82ê\82½\81D");
init_uhunger();
context.botl = 1;
break;
case TROUBLE_SICK:
+/*JP
You_feel("better.");
+*/
+ You("\8bC\95ª\82ª\97Ç\82\82È\82Á\82½\81D");
make_sick(0L, (char *) 0, FALSE, SICK_ALL);
break;
case TROUBLE_REGION:
/* "fix all troubles" will keep trying if hero has
5 or less hit points, so make sure they're always
boosted to be more than that */
+/*JP
You_feel("much better.");
+*/
+ You("\82Æ\82Ä\82à\8bC\95ª\82ª\97Ç\82\82È\82Á\82½\81D");
if (Upolyd) {
u.mhmax += rnd(5);
if (u.mhmax <= 5)
break;
case TROUBLE_COLLAPSING:
/* override Fixed_abil; uncurse that if feasible */
+#if 0 /*JP*/
You_feel("%sstronger.",
(AMAX(A_STR) - ABASE(A_STR) > 6) ? "much " : "");
+#else
+ You_feel("%s\8b\82\82È\82Á\82½\82æ\82¤\82¾\81D",
+ (AMAX(A_STR) - ABASE(A_STR) > 6) ? "\82Æ\82Ä\82à" : "");
+#endif
ABASE(A_STR) = AMAX(A_STR);
context.botl = 1;
if (Fixed_abil) {
}
break;
case TROUBLE_STUCK_IN_WALL:
+/*JP
Your("surroundings change.");
+*/
+ Your("\8aÂ\8b«\82ª\95Ï\89»\82µ\82½\81D");
/* no control, but works on no-teleport levels */
(void) safe_teleds(FALSE);
break;
}
if (Upolyd && nohands(youmonst.data)) {
if (!Unchanging) {
+/*JP
Your("shape becomes uncertain.");
+*/
+ Your("\91Ì\8c^\82Í\95s\96¾\8am\82É\82È\82Á\82½\81D");
rehumanize(); /* "You return to {normal} form." */
} else if ((otmp = unchanger()) != 0 && otmp->cursed) {
/* otmp is an amulet of unchanging */
/*
*/
case TROUBLE_PUNISHED:
+/*JP
Your("chain disappears.");
+*/
+ Your("\8d½\82Í\8fÁ\82¦\82½\81D");
if (u.utrap && u.utraptype == TT_BURIEDBALL)
buried_ball_to_freedom();
else
return;
}
if (!Blind || (otmp == ublindf && Blindfolded_only)) {
+#if 0 /*JP*/
pline("%s %s.",
what ? what : (const char *) Yobjnam2(otmp, "softly glow"),
hcolor(NH_AMBER));
+#else
+ Your("%s\82Í%s\82â\82í\82ç\82©\82\8bP\82¢\82½\81D",
+ what ? what : (const char *)xname(otmp),
+ jconj_adj(hcolor(NH_AMBER)));
+#endif
iflags.last_msg = PLNMSG_OBJ_GLOWS;
otmp->bknown = TRUE;
}
case TROUBLE_POISONED:
/* override Fixed_abil; ignore items which confer that */
if (Hallucination)
+/*JP
pline("There's a tiger in your tank.");
+*/
+ pline("\82 \82È\82½\82Ì\83^\83\93\83N\82Ì\92\86\82É\83g\83\89\82ª\82¢\82é\81D");
else
+/*JP
You_feel("in good health again.");
+*/
+ You("\82Ü\82½\8c\92\8dN\82É\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
for (i = 0; i < A_MAX; i++) {
if (ABASE(i) < AMAX(i)) {
ABASE(i) = AMAX(i);
(void) encumber_msg();
break;
case TROUBLE_BLIND: {
+#if 0 /*JP*/
const char *eyes = body_part(EYE);
if (eyecount(youmonst.data) != 1)
eyes = makeplural(eyes);
Your("%s %s better.", eyes, vtense(eyes, "feel"));
+#else
+ pline("%s\82ª\89ñ\95\9c\82µ\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D", body_part(EYE));
+#endif
u.ucreamed = 0;
make_blinded(0L, FALSE);
break;
make_confused(0L, TRUE);
break;
case TROUBLE_HALLUCINATION:
+/*JP
pline("Looks like you are back in Kansas.");
+*/
+ pline("\8c©\82Ä\81I\83J\83\93\83U\83X\82É\96ß\82Á\82Ä\82«\82½\82ñ\82¾\82í\81D");
(void) make_hallucinated(0L, FALSE, 0L);
break;
case TROUBLE_SADDLE:
otmp = which_armor(u.usteed, W_SADDLE);
if (!Blind) {
+/*JP
pline("%s %s.", Yobjnam2(otmp, "softly glow"), hcolor(NH_AMBER));
+*/
+ pline("%s\82Í%s\82â\82í\82ç\82©\82\8bP\82¢\82½\81D", y_monnam(u.usteed), hcolor(NH_AMBER));
otmp->bknown = TRUE;
}
uncurse(otmp);
{
if (u.uswallow) {
pline(
+/*JP
"Suddenly a bolt of lightning comes down at you from the heavens!");
+*/
+ "\93Ë\91R\8bó\82©\82ç\88î\8dÈ\82ª\97\8e\82¿\82Ä\82«\82½\81I");
+/*JP
pline("It strikes %s!", mon_nam(u.ustuck));
+*/
+ pline("\88î\8dÈ\82Í%s\82É\96½\92\86\82µ\82½\81I", mon_nam(u.ustuck));
if (!resists_elec(u.ustuck)) {
+/*JP
pline("%s fries to a crisp!", Monnam(u.ustuck));
+*/
+ pline("%s\82Í\83p\83\8a\83p\83\8a\82É\82È\82Á\82½\81I", Monnam(u.ustuck));
/* Yup, you get experience. It takes guts to successfully
* pull off this trick on your god, anyway.
*/
xkilled(u.ustuck, 0);
} else
+/*JP
pline("%s seems unaffected.", Monnam(u.ustuck));
+*/
+ pline("%s\82Í\89e\8b¿\82ð\8eó\82¯\82È\82¢\82æ\82¤\82¾\81D", Monnam(u.ustuck));
} else {
+/*JP
pline("Suddenly, a bolt of lightning strikes you!");
+*/
+ pline("\93Ë\91R\81C\88î\8dÈ\82ª\82 \82È\82½\82É\96½\92\86\82µ\82½\81I");
if (Reflecting) {
shieldeff(u.ux, u.uy);
if (Blind)
+/*JP
pline("For some reason you're unaffected.");
+*/
+ pline("\82È\82º\82©\82 \82È\82½\82Í\89e\8b¿\82ð\8eó\82¯\82È\82¢\81D");
else
+/*JP
(void) ureflects("%s reflects from your %s.", "It");
+*/
+ (void) ureflects("%s\82Í%s\82É\82æ\82Á\82Ä\94½\8eË\82³\82ê\82½\81D", "\89½\82©");
} else if (Shock_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
pline("It seems not to affect you.");
+*/
+ pline("\88î\8dÈ\82Í\89e\8b¿\82ð\97^\82¦\82È\82¢\82æ\82¤\82¾\81D");
} else
fry_by_god(resp_god, FALSE);
}
+/*JP
pline("%s is not deterred...", align_gname(resp_god));
+*/
+ pline("%s\82Í\82 \82«\82ç\82ß\82È\82©\82Á\82½\81D\81D\81D", align_gname(resp_god));
if (u.uswallow) {
+/*JP
pline("A wide-angle disintegration beam aimed at you hits %s!",
+*/
+ pline("\82 \82È\82½\82ð\91_\82Á\82½\8dL\8ap\95²\8dÓ\8cõ\90ü\82ª%s\82É\96½\92\86\82µ\82½\81I",
mon_nam(u.ustuck));
if (!resists_disint(u.ustuck)) {
+/*JP
pline("%s disintegrates into a pile of dust!", Monnam(u.ustuck));
+*/
+ pline("%s\82Í\82¿\82è\82Ì\8eR\82É\82È\82Á\82½\81I", Monnam(u.ustuck));
xkilled(u.ustuck, 2); /* no corpse */
} else
+/*JP
pline("%s seems unaffected.", Monnam(u.ustuck));
+*/
+ pline("%s\82Í\89e\8b¿\82ð\8eó\82¯\82È\82¢\82æ\82¤\82¾\81D", Monnam(u.ustuck));
} else {
+/*JP
pline("A wide-angle disintegration beam hits you!");
+*/
+ pline("\8dL\8ap\95²\8dÓ\8cõ\90ü\82ª\82 \82È\82½\82É\96½\92\86\82µ\82½\81I");
/* disintegrate shield and body armor before disintegrating
* the impudent mortal, like black dragon breath -3.
if (!Disint_resistance)
fry_by_god(resp_god, TRUE);
else {
+/*JP
You("bask in its %s glow for a minute...", NH_BLACK);
+*/
+ You("\82µ\82Î\82ç\82\81C\82»\82Ì%s\8bP\82«\82Å\92g\82Ü\82Á\82½\81D\81D\81D", NH_BLACK);
+/*JP
godvoice(resp_god, "I believe it not!");
+*/
+ godvoice(resp_god, "\90M\82¶\82ç\82ê\82Ê\81I");
}
if (Is_astralevel(&u.uz) || Is_sanctum(&u.uz)) {
/* one more try for high altars */
+/*JP
verbalize("Thou cannot escape my wrath, mortal!");
+*/
+ verbalize("\92è\96½\82Ì\8eÒ\82æ\81C\93ð\89ä\82ª\93{\82è\82©\82ç\93¦\82ª\82ê\82é\82±\82Æ\82È\82ç\82ñ\81I");
summon_minion(resp_god, FALSE);
summon_minion(resp_god, FALSE);
summon_minion(resp_god, FALSE);
+/*JP
verbalize("Destroy %s, my servants!", uhim());
+*/
+ verbalize("%s\82ð\8eE\82¹\81C\82í\82ª\89º\96l\82æ\81I", uhim());
}
}
}
aligntyp resp_god;
boolean via_disintegration;
{
+#if 0 /*JP*/
You("%s!", !via_disintegration ? "fry to a crisp"
: "disintegrate into a pile of dust");
+#else
+ You("%s\81I", !via_disintegration ? "\83p\83\8a\83p\83\8a\82É\82È\82Á\82½"
+ : "\82¿\82è\82Ì\8eR\82É\82È\82Á\82½");
+#endif
killer.format = KILLED_BY;
+/*JP
Sprintf(killer.name, "the wrath of %s", align_gname(resp_god));
+*/
+ Sprintf(killer.name, "%s\82Ì\93{\82è\82É\90G\82ê", align_gname(resp_god));
done(DIED);
}
switch (rn2(maxanger)) {
case 0:
case 1:
+#if 0 /*JP*/
You_feel("that %s is %s.", align_gname(resp_god),
Hallucination ? "bummed" : "displeased");
+#else
+ You("%s\82ª%s\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D", align_gname(resp_god),
+ Hallucination ? "\82Ë\82¾\82Á\82Ä" : "\97§\95 \82µ\82Ä");
+#endif
break;
case 2:
case 3:
godvoice(resp_god, (char *) 0);
+#if 0 /*JP*/
pline("\"Thou %s, %s.\"",
(ugod_is_angry() && resp_god == u.ualign.type)
? "hast strayed from the path"
: "art arrogant",
youmonst.data->mlet == S_HUMAN ? "mortal" : "creature");
+#else
+ pline("\81u\93ð%s\81C%s\82æ\81D\81v",
+ (ugod_is_angry() && resp_god == u.ualign.type)
+ ? "\82»\82Ì\93¹\82©\82ç\93¥\82Ý\8fo\82Ä\82¨\82é"
+ : "\98ü\96\9d\82È\82è",
+ youmonst.data->mlet == S_HUMAN ? "\92è\96½\82Ì\82à\82Ì" : "\90¶\95¨");
+#endif
+/*JP
verbalize("Thou must relearn thy lessons!");
+*/
+ verbalize("\93ð\82¢\82Ü\88ê\93x\8aw\82Ô\82×\82µ\81I");
(void) adjattrib(A_WIS, -1, FALSE);
losexp((char *) 0);
break;
case 5:
gods_angry(resp_god);
if (!Blind && !Antimagic)
+/*JP
pline("%s glow surrounds you.", An(hcolor(NH_BLACK)));
+*/
+ pline("%s\8cõ\82ª\82 \82È\82½\82ð\8eæ\82è\8aª\82¢\82½\81D", An(hcolor(NH_BLACK)));
rndcurse();
break;
case 7:
case 8:
godvoice(resp_god, (char *) 0);
+#if 0 /*JP*/
verbalize("Thou durst %s me?",
(on_altar() && (a_align(u.ux, u.uy) != resp_god))
? "scorn"
: "call upon");
+#else
+ verbalize("\93ð\81C\89ä%s\81H",
+ (on_altar() && (a_align(u.ux,u.uy) != resp_god))
+ ? "\82ð\82³\82°\82·\82Ý\82µ\82©\81H"
+ : "\82É\8bF\82è\82ð\8b\81\82ß\82µ\82©\81H");
+#endif
+#if 0 /*JP*/
pline("\"Then die, %s!\"",
youmonst.data->mlet == S_HUMAN ? "mortal" : "creature");
+#else
+ pline("\81u\8e\80\82Ë\81C%s\82æ\81I\81v",
+ youmonst.data->mlet == S_HUMAN ? "\92è\96½\82Ì\82à\82Ì" : "\90¶\95¨");
+#endif
summon_minion(resp_god, FALSE);
break;
str = Something;
if (u.uswallow) {
/* barrier between you and the floor */
+#if 0 /*JP*/
pline("%s %s into %s %s.", str, vtense(str, "drop"),
s_suffix(mon_nam(u.ustuck)), mbodypart(u.ustuck, STOMACH));
+#else
+ pline("%s\82ª%s\82Ì%s\82É\97\8e\82¿\82½\81D", str,
+ mon_nam(u.ustuck), mbodypart(u.ustuck, STOMACH));
+#endif
} else {
+#if 0 /*JP*/
pline("%s %s %s your %s!", str,
Blind ? "lands" : vtense(str, "appear"),
Levitation ? "beneath" : "at", makeplural(body_part(FOOT)));
+#else
+ pline("%s\82ª\82 \82È\82½\82Ì%s\82É%s\81I", str,
+ Levitation ? "\89º\95û" : "\91«\8c³",
+ Blind ? "\92\85\92n\82µ\82½" : "\8c»\82í\82ê\82½");
+#endif
}
}
switch (u.ualign.type) {
case A_LAWFUL:
u.uevent.uhand_of_elbereth = 1;
+/*JP
verbalize("I crown thee... The Hand of Elbereth!");
+*/
+ verbalize("\93ð\82É\81D\81D\81D\83G\83\8b\83x\83\8c\83X\82Ì\8cä\8eè\82Ì\89h\97_\82ð\82³\82¸\82¯\82æ\82¤\81I");
break;
case A_NEUTRAL:
u.uevent.uhand_of_elbereth = 2;
in_hand = (uwep && uwep->oartifact == ART_VORPAL_BLADE);
already_exists =
exist_artifact(LONG_SWORD, artiname(ART_VORPAL_BLADE));
+/*JP
verbalize("Thou shalt be my Envoy of Balance!");
+*/
+ verbalize("\93ð\81C\89ä\82ª\92²\98a\82Ì\8eg\8eÒ\82È\82è\81I");
break;
case A_CHAOTIC:
u.uevent.uhand_of_elbereth = 3;
in_hand = (uwep && uwep->oartifact == ART_STORMBRINGER);
already_exists =
exist_artifact(RUNESWORD, artiname(ART_STORMBRINGER));
+#if 0 /*JP*/
verbalize("Thou art chosen to %s for My Glory!",
already_exists && !in_hand ? "take lives" : "steal souls");
+#else
+ verbalize("\93ð\81C\89ä\82ª\89h\8cõ\82Ì\82½\82ß%s\8eÒ\82Æ\82µ\82Ä\91I\82Î\82ê\82ñ\81I",
+ already_exists && !in_hand ?
+ "\90¶\82«\82È\82ª\82ç\82¦\82ñ" : "\8d°\82ð\92D\82¢\82µ\82½\82ß\82é");
+#endif
break;
}
obj = mksobj(class_gift, TRUE, FALSE);
bless(obj);
obj->bknown = TRUE;
+/*JP
at_your_feet("A spellbook");
+*/
+ at_your_feet("\96\82\96@\8f\91");
dropy(obj);
u.ugifts++;
/* when getting a new book for known spell, enhance
; /* already got bonus above */
} else if (obj && obj->otyp == LONG_SWORD && !obj->oartifact) {
if (!Blind)
+/*JP
Your("sword shines brightly for a moment.");
+*/
+ Your("\8c\95\82Í\82µ\82Î\82ç\82\82Ì\8aÔ\96¾\82é\82\8bP\82¢\82½\81D");
obj = oname(obj, artiname(ART_EXCALIBUR));
if (obj && obj->oartifact == ART_EXCALIBUR)
u.ugifts++;
if (class_gift != STRANGE_OBJECT) {
; /* already got bonus above */
} else if (obj && in_hand) {
+/*JP
Your("%s goes snicker-snack!", xname(obj));
+*/
+ Your("%s\82Í\83T\83N\83T\83N\82É\82È\82Á\82½\81I", xname(obj));
obj->dknown = TRUE;
} else if (!already_exists) {
obj = mksobj(LONG_SWORD, FALSE, FALSE);
obj = oname(obj, artiname(ART_VORPAL_BLADE));
obj->spe = 1;
+/*JP
at_your_feet("A sword");
+*/
+ at_your_feet("\8c\95");
dropy(obj);
u.ugifts++;
}
case A_CHAOTIC: {
char swordbuf[BUFSZ];
+/*JP
Sprintf(swordbuf, "%s sword", hcolor(NH_BLACK));
+*/
+ Sprintf(swordbuf, "%s\8c\95", hcolor(NH_BLACK));
if (class_gift != STRANGE_OBJECT) {
; /* already got bonus above */
} else if (obj && in_hand) {
+/*JP
Your("%s hums ominously!", swordbuf);
+*/
+ Your("%s\82Í\8bC\96¡\82Ì\88«\82¢\89¹\82ð\97§\82Ä\82½\81I", swordbuf);
obj->dknown = TRUE;
} else if (!already_exists) {
obj = mksobj(RUNESWORD, FALSE, FALSE);
unrestrict_weapon_skill(weapon_type(obj));
} else if (class_gift == STRANGE_OBJECT) {
/* opportunity knocked, but there was nobody home... */
+/*JP
You_feel("unworthy.");
+*/
+ You("\89¿\92l\82ª\82È\82¢\82Æ\8ev\82Á\82½\81D");
}
update_inventory();
int trouble = in_trouble(); /* what's your worst difficulty? */
int pat_on_head = 0, kick_on_butt;
+#if 0 /*JP*/
You_feel("that %s is %s.", align_gname(g_align),
(u.ualign.record >= DEVOUT)
? Hallucination ? "pleased as punch" : "well-pleased"
: (u.ualign.record >= STRIDENT)
? Hallucination ? "ticklish" : "pleased"
: Hallucination ? "full" : "satisfied");
+#else
+ pline("%s\82ª%s\82æ\82¤\82È\8bC\82ª\82µ\82½\81D", align_gname(g_align),
+ (u.ualign.record >= DEVOUT)
+ ? Hallucination ? "\82\82»\8b@\8c\99\82¢\82¢" : "\82²\8b@\8c\99\97í\82µ\82¢"
+ : (u.ualign.record >= STRIDENT)
+ ? Hallucination ? "\82\82·\82®\82Á\82½\82ª\82Á\82Ä\82¢\82é" : "\8fã\8b@\8c\99\82Å\82 \82é"
+ : Hallucination ? "\95 \82¢\82Á\82Ï\82¢\82Å\82 \82é" : "\96\9e\91«\82µ\82Ä\82¢\82é");
+#endif
/* not your deity */
if (on_altar() && p_aligntyp != u.ualign.type) {
*repair_buf = '\0';
if (uwep->oeroded || uwep->oeroded2)
+#if 0 /*JP*/
Sprintf(repair_buf, " and %s now as good as new",
otense(uwep, "are"));
+#else
+ Sprintf(repair_buf, "\82³\82ç\82É\90V\95i\93¯\97l\82É\82È\82Á\82½\81D");
+#endif
if (uwep->cursed) {
if (!Blind) {
+#if 0 /*JP*/
pline("%s %s%s.", Yobjnam2(uwep, "softly glow"),
hcolor(NH_AMBER), repair_buf);
+#else
+ Your("%s\82Í%s\82â\82í\82ç\82©\82\8bP\82¢\82½\81D%s", xname(uwep),
+ jconj_adj(hcolor(NH_AMBER)), repair_buf);
+#endif
iflags.last_msg = PLNMSG_OBJ_GLOWS;
} else
+#if 0 /*JP*/
You_feel("the power of %s over %s.", u_gname(),
yname(uwep));
+#else
+ pline("%s\82Ì\97Í\82ª%s\82É\92\8d\82ª\82ê\82Ä\82¢\82é\82Ì\82ð\8a´\82¶\82½\81D", u_gname(),
+ xname(uwep));
+#endif
uncurse(uwep);
uwep->bknown = TRUE;
*repair_buf = '\0';
} else if (!uwep->blessed) {
if (!Blind) {
+#if 0 /*JP*/
pline("%s with %s aura%s.",
Yobjnam2(uwep, "softly glow"),
an(hcolor(NH_LIGHT_BLUE)), repair_buf);
+#else
+ Your("%s\82Í%s\82â\82í\82ç\82©\82È\83I\81[\83\89\82É\82Â\82Â\82Ü\82ê\82½\81D%s",
+ xname(uwep),
+ an(hcolor(NH_LIGHT_BLUE)), repair_buf);
+#endif
iflags.last_msg = PLNMSG_OBJ_GLOWS;
} else
+#if 0 /*JP*/
You_feel("the blessing of %s over %s.", u_gname(),
yname(uwep));
+#else
+ pline("%s\82Ì\8fj\95\9f\82ª%s\82É\92\8d\82ª\82ê\82Ä\82¢\82é\82Ì\82ð\8a´\82¶\82½\81D", u_gname(),
+ xname(uwep));
+#endif
bless(uwep);
uwep->bknown = TRUE;
*repair_buf = '\0';
/* only give this message if we didn't just bless
or uncurse (which has already given a message) */
if (*repair_buf)
+#if 0 /*JP*/
pline("%s as good as new!",
Yobjnam2(uwep, Blind ? "feel" : "look"));
+#else
+ Your("%s\82Í\90V\95i\93¯\97l\82É\82È\82Á\82½%s\81I",
+ xname(uwep), Blind ? "\82æ\82¤\82È\8bC\82ª\82·\82é" : "");
+#endif
}
update_inventory();
}
if (!u.uevent.uopened_dbridge && !u.uevent.gehennom_entered) {
if (u.uevent.uheard_tune < 1) {
godvoice(g_align, (char *) 0);
+#if 0 /*JP*/
verbalize("Hark, %s!", youmonst.data->mlet == S_HUMAN
? "mortal"
: "creature");
+#else
+ verbalize("%s\82æ\81C\95·\82¯\81I", youmonst.data->mlet == S_HUMAN
+ ? "\92è\96½\82Ì\8eÒ"
+ : "\90¶\95¨");
+#endif
verbalize(
+/*JP
"To enter the castle, thou must play the right tune!");
+*/
+ "\93ð\8fé\82É\93ü\82ç\82ñ\82Æ\97~\82·\82é\82È\82ç\82Î\81C\90³\82µ\82«\92²\82×\82ð\91t\82Å\82é\82×\82µ\81I");
u.uevent.uheard_tune++;
break;
} else if (u.uevent.uheard_tune < 2) {
+/*JP
You_hear("a divine music...");
+*/
+ You_hear("\90_\82Ì\89¹\8ay\82ð\95·\82¢\82½\81D\81D\81D");
+/*JP
pline("It sounds like: \"%s\".", tune);
+*/
+ pline("\82»\82ê\82Í\8e\9f\82Ì\82æ\82¤\82É\95·\82±\82¦\82½: \81u%s\81v", tune);
u.uevent.uheard_tune++;
break;
}
/* Otherwise, falls into next case */
case 2:
if (!Blind)
+/*JP
You("are surrounded by %s glow.", an(hcolor(NH_GOLDEN)));
+*/
+ You("%s\8bP\82«\82É\82Â\82Â\82Ü\82ê\82½\81D", hcolor(NH_GOLDEN));
/* if any levels have been lost (and not yet regained),
treat this effect like blessed full healing */
if (u.ulevel < u.ulevelmax) {
int any = 0;
if (Blind)
+/*JP
You_feel("the power of %s.", u_gname());
+*/
+ You("%s\82Ì\97Í\82ð\8a´\82¶\82½\81D", u_gname());
else
+/*JP
You("are surrounded by %s aura.", an(hcolor(NH_LIGHT_BLUE)));
+*/
+ You("%s\83I\81[\83\89\82É\82Â\82Â\82Ü\82ê\82½\81D", an(hcolor(NH_LIGHT_BLUE)));
for (otmp = invent; otmp; otmp = otmp->nobj) {
if (otmp->cursed) {
if (!Blind) {
+#if 0 /*JP*/
pline("%s %s.", Yobjnam2(otmp, "softly glow"),
hcolor(NH_AMBER));
+#else
+ Your("%s\82Í%s\82â\82í\82ç\82©\82\8bP\82¢\82½\81D", xname(otmp),
+ jconj_adj(hcolor(NH_AMBER)));
+#endif
iflags.last_msg = PLNMSG_OBJ_GLOWS;
otmp->bknown = TRUE;
++any;
}
case 5: {
static NEARDATA const char msg[] =
+/*JP
"\"and thus I grant thee the gift of %s!\"";
+*/
+ "\81u\82³\82ç\82É\93ð\82É%s\82ð\82³\82¸\82¯\82æ\82¤\81I\81v";
godvoice(u.ualign.type,
+/*JP
"Thou hast pleased me with thy progress,");
+*/
+ "\93ð\82Ì\90¬\92·\82Í\94ñ\8fí\82É\96]\82Ü\82µ\82¢\81C");
if (!(HTelepat & INTRINSIC)) {
HTelepat |= FROMOUTSIDE;
+/*JP
pline(msg, "Telepathy");
+*/
+ pline(msg, "\83e\83\8c\83p\83V\81[");
if (Blind)
see_monsters();
} else if (!(HFast & INTRINSIC)) {
HFast |= FROMOUTSIDE;
+/*JP
pline(msg, "Speed");
+*/
+ pline(msg, "\91¬\82³");
} else if (!(HStealth & INTRINSIC)) {
HStealth |= FROMOUTSIDE;
+/*JP
pline(msg, "Stealth");
+*/
+ pline(msg, "\94E\82Ì\97Í");
} else {
if (!(HProtection & INTRINSIC)) {
HProtection |= FROMOUTSIDE;
u.ublessed = rn1(3, 2);
} else
u.ublessed++;
+/*JP
pline(msg, "my protection");
+*/
+ pline(msg, "\89ä\82ª\8cì\82è");
}
+/*JP
verbalize("Use it wisely in my name!");
+*/
+ verbalize("\89ä\82ª\96¼\82É\89\97\82¢\82Ä\97L\8cø\82É\8eg\82¤\82ª\82æ\82¢\81I");
break;
}
case 7:
otmp->otyp = rnd_class(bases[SPBOOK_CLASS], SPE_BLANK_PAPER);
}
bless(otmp);
+/*JP
at_your_feet("A spellbook");
+*/
+ at_your_feet("\96\82\96@\8f\91");
place_object(otmp, u.ux, u.uy);
newsym(u.ux, u.uy);
break;
other = TRUE;
}
if (!Blind && changed) {
+#if 0 /*JP*/
pline("%s potion%s on the altar glow%s %s for a moment.",
((other && changed > 1L) ? "Some of the"
: (other ? "One of the" : "The")),
((other || changed > 1L) ? "s" : ""), (changed > 1L ? "" : "s"),
(bless_water ? hcolor(NH_LIGHT_BLUE) : hcolor(NH_BLACK)));
+#else
+ pline("%s\8dÕ\92d\82Ì\96ò\82Í\88ê\8fu%s\8bP\82¢\82½\81D",
+ (other && changed > 1L) ? "\82¢\82\82Â\82©\82Ì"
+ : "",
+ jconj_adj(bless_water ? hcolor(NH_LIGHT_BLUE) : hcolor(NH_BLACK)));
+#endif
}
return (boolean) (changed > 0L);
}
aligntyp g_align;
const char *words;
{
+#if 0 /*JP*/
const char *quot = "";
if (words)
pline_The("voice of %s %s: %s%s%s", align_gname(g_align),
godvoices[rn2(SIZE(godvoices))], quot, words, quot);
+#else
+ if (words)
+ pline("%s\82Ì\90º\82ª%s: \81u%s\81v", align_gname(g_align),
+ godvoices[rn2(SIZE(godvoices))], words);
+ else
+ pline("%s\82Ì\90º\82ª%s\81F", align_gname(g_align),
+ godvoices[rn2(SIZE(godvoices))]);
+#endif
}
STATIC_OVL void
gods_angry(g_align)
aligntyp g_align;
{
+/*JP
godvoice(g_align, "Thou hast angered me.");
+*/
+ godvoice(g_align, "\93ð\81C\89ä\82ð\93{\82ç\82µ\82ß\82½\82è\81D");
}
/* The g_align god is upset with you. */
if (Hallucination)
switch (rn2(3)) {
case 0:
+/*JP
Your("sacrifice sprouts wings and a propeller and roars away!");
+*/
+ Your("\8c£\8fã\95¨\82Í\89H\82ð\82Í\82â\82µ\81C\83v\83\8d\83y\83\89\82ª\82Ü\82í\82è\81C\94ò\82ñ\82Å\82Á\82½\81I");
break;
case 1:
+/*JP
Your("sacrifice puffs up, swelling bigger and bigger, and pops!");
+*/
+ Your("\8c£\8fã\95¨\82Í\95¬\89\8c\82ð\82 \82°\81C\82Ç\82ñ\82Ç\82ñ\96c\82ê\81C\82»\82µ\82Ä\82Í\82¶\82¯\82½\81I");
break;
case 2:
Your(
+/*JP
"sacrifice collapses into a cloud of dancing particles and fades away!");
+*/
+ "\8c£\8fã\95¨\82Í\8d×\82©\82\8dÓ\82¯\81C\97x\82è\8fo\82µ\81C\82Ç\82±\82©\82É\8ds\82Á\82Ä\82µ\82Ü\82Á\82½\81I");
break;
}
else if (Blind && u.ualign.type == A_LAWFUL)
+/*JP
Your("sacrifice disappears!");
+*/
+ Your("\8c£\8fã\95¨\82Í\8fÁ\82¦\82½\81I");
else
+#if 0 /*JP*/
Your("sacrifice is consumed in a %s!",
u.ualign.type == A_LAWFUL ? "flash of light" : "burst of flame");
+#else
+ Your("\8c£\8fã\95¨\82Í%s\8fÁ\82¦\82³\82Á\82½\81I",
+ u.ualign.type == A_LAWFUL ? "\82Ü\82Î\82ä\82¢\8cõ\82ð\95ú\82¿" : "\89\8a\82ð\8fã\82°");
+#endif
if (carried(otmp))
useup(otmp);
else
dosacrifice()
{
static NEARDATA const char cloud_of_smoke[] =
+/*JP
"A cloud of %s smoke surrounds you...";
+*/
+ "%s\89\8c\82ª\82 \82È\82½\82ð\8eæ\82è\88Í\82ñ\82¾\81D\81D\81D";
register struct obj *otmp;
int value = 0, pm;
boolean highaltar;
aligntyp altaralign = a_align(u.ux, u.uy);
if (!on_altar() || u.uswallow) {
+/*JP
You("are not standing on an altar.");
+*/
+ You("\8dÕ\92d\82Ì\8fã\82É\97§\82Á\82Ä\82¢\82È\82¢\81D");
return 0;
}
highaltar = ((Is_astralevel(&u.uz) || Is_sanctum(&u.uz))
if (your_race(ptr)) {
if (is_demon(youmonst.data)) {
+/*JP
You("find the idea very satisfying.");
+*/
+ You("\82»\82Ì\8dl\82¦\82Í\91f\90°\82µ\82¢\82Æ\8ev\82Á\82½\81D");
exercise(A_WIS, TRUE);
} else if (u.ualign.type != A_CHAOTIC) {
+/*JP
pline("You'll regret this infamous offense!");
+*/
+ pline("\93ð\81C\82±\82Ì\95\8e\90J\82Ì\8ds\82È\82¢\82ð\8cã\89÷\82·\82é\82×\82µ\81I");
exercise(A_WIS, FALSE);
}
goto desecrate_high_altar;
} else if (altaralign != A_CHAOTIC && altaralign != A_NONE) {
/* curse the lawful/neutral altar */
+/*JP
pline_The("altar is stained with %s blood.", urace.adj);
+*/
+ pline("\8dÕ\92d\82Í%s\82Ì\8c\8c\82Å\89\98\82ê\82Ä\82¢\82é\81D", urace.adj);
levl[u.ux][u.uy].altarmask = AM_CHAOTIC;
angry_priest();
} else {
/* is equivalent to demon summoning */
if (altaralign == A_CHAOTIC && u.ualign.type != A_CHAOTIC) {
pline(
+/*JP
"The blood floods the altar, which vanishes in %s cloud!",
+*/
+ "\8c\8c\82ª\8dÕ\92d\82©\82ç\82 \82Ó\82ê\81C\8dÕ\92d\82Í%s\89_\82Æ\82È\82è\8fÁ\82¦\82½\81I",
an(hcolor(NH_BLACK)));
levl[u.ux][u.uy].typ = ROOM;
levl[u.ux][u.uy].altarmask = 0;
newsym(u.ux, u.uy);
angry_priest();
+/*JP
demonless_msg = "cloud dissipates";
+*/
+ demonless_msg = "\89_\82Í\8fÁ\82¦\82½\81D";
} else {
/* either you're chaotic or altar is Moloch's or both */
+/*JP
pline_The("blood covers the altar!");
+*/
+ pline("\8c\8c\82ª\8dÕ\92d\82ð\95¢\82Á\82½\81I");
change_luck(altaralign == A_NONE ? -2 : 2);
+/*JP
demonless_msg = "blood coagulates";
+*/
+ demonless_msg = "\8c\8c\82ª\82±\82Ñ\82è\82Â\82¢\82½";
}
if ((pm = dlord(altaralign)) != NON_PM
&& (dmon = makemon(&mons[pm], u.ux, u.uy, NO_MM_FLAGS))
char dbuf[BUFSZ];
Strcpy(dbuf, a_monnam(dmon));
+/*JP
if (!strcmpi(dbuf, "it"))
+*/
+ if (!strcmpi(dbuf, "\89½\8eÒ\82©"))
+/*JP
Strcpy(dbuf, "something dreadful");
+*/
+ Strcpy(dbuf, "\89½\82©\8b°\82ë\82µ\82¢\82à\82Ì");
else
dmon->mstrategy &= ~STRAT_APPEARMSG;
+/*JP
You("have summoned %s!", dbuf);
+*/
+ You("%s\82ð\8f¢\8a«\82µ\82½\81I", dbuf);
if (sgn(u.ualign.type) == sgn(dmon->data->maligntyp))
dmon->mpeaceful = TRUE;
+/*JP
You("are terrified, and unable to move.");
+*/
+ You("\8b°\95|\82Å\93®\82¯\82È\82\82È\82Á\82½\81D");
nomul(-3);
multi_reason = "being terrified of a demon";
nomovemsg = 0;
} else
+/*JP
pline_The("%s.", demonless_msg);
+*/
+ pline("%s\81D", demonless_msg);
}
if (u.ualign.type != A_CHAOTIC) {
&& mtmp->mtame) {
/* mtmp is a temporary pointer to a tame monster's attributes,
* not a real monster */
+/*JP
pline("So this is how you repay loyalty?");
+*/
+ pline("\82»\82ê\82Å\82±\82ê\82ª\82 \82È\82½\82Ì\92\89\8b`\82É\95ñ\82¢\82é\82à\82Ì\82©\81H");
adjalign(-3);
value = -1;
HAggravate_monster |= FROMOUTSIDE;
if (unicalign == altaralign) {
/* When same as altar, always a very bad action.
*/
+#if 0 /*JP*/
pline("Such an action is an insult to %s!",
(unicalign == A_CHAOTIC) ? "chaos"
: unicalign ? "law" : "balance");
+#else
+ pline("\82»\82Ì\82æ\82¤\82È\8ds\93®\82Í\81w%s\81x\82É\94½\82·\82é\81I",
+ (unicalign == A_CHAOTIC) ? "\8d¬\93×"
+ : unicalign ? "\92\81\8f\98" : "\92²\98a");
+#endif
(void) adjattrib(A_WIS, -1, TRUE);
value = -5;
} else if (u.ualign.type == altaralign) {
* it's a very good action.
*/
if (u.ualign.record < ALIGNLIM)
+/*JP
You_feel("appropriately %s.", align_str(u.ualign.type));
+*/
+ You("%s\82É\82Ó\82³\82í\82µ\82¢\82Æ\8a´\82¶\82½\81D", align_str(u.ualign.type));
else
+/*JP
You_feel("you are thoroughly on the right path.");
+*/
+ You("\8a®\91S\82É\90³\82µ\82¢\93¹\82ð\95à\82ñ\82Å\82¢\82é\82Ì\82ð\8a´\82¶\82½\81D");
adjalign(5);
value += 3;
} else if (unicalign == u.ualign.type) {
fall through to the "ashamed" feedback) */
gods_upset(A_NONE);
else
+#if 0 /*JP*/
You_feel("%s.",
Hallucination
? "homesick"
? "an urge to return to the surface"
/* else headed towards celestial disgrace */
: "ashamed");
+#else
+ You_feel("%s\81D",
+ Hallucination
+ ? "\8cÌ\8b½\82ª\97ö\82µ\82\82È\82Á\82½"
+ /* if on track, give a big hint */
+ : (altaralign == u.ualign.type)
+ ? "\92n\8fã\82É\8bA\82è\82½\82¢\8bC\8e\9d\82É\8bì\82è\97§\82Ä\82ç\82ê\82½"
+ /* else headed towards celestial disgrace */
+ : "\92p\82¸\82©\82µ\82¢\8ev\82¢\82ª\82µ\82½");
+#endif
return 1;
} else {
/* The final Test. Did you win? */
useup(otmp); /* well, it's gone now */
else
useupf(otmp, 1L);
+/*JP
You("offer the Amulet of Yendor to %s...", a_gname());
+*/
+ You("\83C\83F\83\93\83_\81[\82Ì\96\82\8f\9c\82¯\82ð%s\82É\8c£\8fã\82µ\82½\81D\81D\81D",a_gname());
if (altaralign == A_NONE) {
/* Moloch's high altar */
if (u.ualign.record > -99)
/* And the opposing team picks you up and
carries you off on their shoulders */
adjalign(-99);
+#if 0 /*JP*/
pline("%s accepts your gift, and gains dominion over %s...",
a_gname(), u_gname());
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì\91\97\82è\95¨\82ð\8eó\82¯\82Æ\82è\81C%s\82Ì\8c \97Í\82ð\93¾\82½\81D\81D\81D",
+ a_gname(), u_gname());
+#endif
+/*JP
pline("%s is enraged...", u_gname());
+*/
+ pline("%s\82Í\8c\83\93{\82µ\82½\81D\81D\81D", u_gname());
+/*JP
pline("Fortunately, %s permits you to live...", a_gname());
+*/
+ pline("\8dK\89^\82É\82à\81C%s\82Í\82 \82È\82½\82Ì\91¶\8dÝ\82ð\8b\96\82µ\82Ä\82¢\82é\81D\81D\81D",a_gname());
pline(cloud_of_smoke, hcolor(NH_ORANGE));
done(ESCAPED);
} else { /* super big win */
adjalign(10);
u.uachieve.ascended = 1;
pline(
+/*JP
"An invisible choir sings, and you are bathed in radiance...");
+*/
+ "\82Ç\82±\82©\82ç\82Æ\82à\82È\82\90¹\89Ì\91à\82Ì\89Ì\82ª\95·\82±\82¦\81C\82 \82È\82½\82Í\8cõ\82É\95ï\82Ü\82ê\82½\81D\81D\81D");
+/*JP
godvoice(altaralign, "Congratulations, mortal!");
+*/
+ godvoice(altaralign, "\82æ\82\82â\82Á\82½\81I\92è\96½\82Ì\8eÒ\82æ\81I");
display_nhwindow(WIN_MESSAGE, FALSE);
verbalize(
+/*JP
"In return for thy service, I grant thee the gift of Immortality!");
+*/
+ "\93ð\82Ì\88Ì\8bÆ\82É\91Î\82µ\81C\95s\8e\80\82Ì\91Ì\82ð\95ù\82°\82æ\82¤\82¼\81I");
+#if 0 /*JP*/
You("ascend to the status of Demigod%s...",
flags.female ? "dess" : "");
+#else
+ You("\8f¸\93V\82µ\81C%s\90_\82Æ\82È\82Á\82½\81D\81D\81D",
+ flags.female ? "\8f\97" : "");
+#endif
done(ASCENDED);
}
}
if (otmp->otyp == FAKE_AMULET_OF_YENDOR) {
if (!highaltar && !otmp->known)
goto too_soon;
+/*JP
You_hear("a nearby thunderclap.");
+*/
+ You("\8bß\82\82É\97\8b\82ª\97\8e\82¿\82½\89¹\82ð\95·\82¢\82½\81D");
if (!otmp->known) {
+#if 0 /*JP*/
You("realize you have made a %s.",
Hallucination ? "boo-boo" : "mistake");
+#else
+ You("%s\82±\82Æ\82É\8bC\82ª\82Â\82¢\82½\81D",
+ Hallucination ? "\81u\83n\83Y\83\8c\81v\82¾\82Á\82½" : "\8aÔ\88á\82¢\82ð\94Æ\82µ\82½");
+#endif
otmp->known = TRUE;
change_luck(-1);
return 1;
} else {
/* don't you dare try to fool the gods */
if (Deaf)
+#if 0 /*JP*/
pline("Oh, no."); /* didn't hear thunderclap */
+#else
+ pline("\82È\82ñ\82Ä\82±\82Á\82½\81D"); /* didn't hear thunderclap */
+#endif
change_luck(-3);
adjalign(-1);
u.ugangr += 3;
* REAL BAD NEWS!!! High altars cannot be converted. Even an attempt
* gets the god who owns it truly pissed off.
*/
+/*JP
You_feel("the air around you grow charged...");
+*/
+ You("\89ñ\82è\82Ì\8bó\8bC\82É\83G\83l\83\8b\83M\81[\82ª\96\9e\82¿\82Ä\82¢\82\82æ\82¤\82È\8bC\82ª\82µ\82½\81D\81D\81D");
+/*JP
pline("Suddenly, you realize that %s has noticed you...", a_gname());
+*/
+ pline("\93Ë\91R\81C%s\82ª\82 \82È\82½\82ð\82¶\82Á\82Æ\8c©\82Ä\82¢\82é\82Ì\82É\8bC\82ª\82Â\82¢\82½\81D\81D\81D",a_gname());
godvoice(altaralign,
+/*JP
"So, mortal! You dare desecrate my High Temple!");
+*/
+ "\92è\96½\82Ì\8eÒ\82æ\81I\82¨\82Ü\82¦\82Í\89ä\82ª\90_\90¹\82È\82é\8e\9b\89@\82ð\89\98\82·\82Ì\82©\81I");
/* Throw everything we have at the player */
god_zaps_you(altaralign);
} else if (value
if (ugod_is_angry() || (altaralign == A_NONE && Inhell)) {
if (u.ualignbase[A_CURRENT] == u.ualignbase[A_ORIGINAL]
&& altaralign != A_NONE) {
+/*JP
You("have a strong feeling that %s is angry...",
+*/
+ You("%s\82ª\93{\82Á\82Ä\82¢\82é\82Ì\82ð\8am\90M\82µ\82½\81D\81D\81D",
u_gname());
consume_offering(otmp);
+/*JP
pline("%s accepts your allegiance.", a_gname());
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\91®\90«\82ð\8eó\82¯\82¢\82ê\82½\81D", a_gname());
uchangealign(altaralign, 0);
/* Beware, Conversion is costly */
} else {
u.ugangr += 3;
adjalign(-5);
+/*JP
pline("%s rejects your sacrifice!", a_gname());
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\8c£\8fã\95¨\82ð\8eó\82¯\82¢\82ê\82È\82¢\81I", a_gname());
+/*JP
godvoice(altaralign, "Suffer, infidel!");
+*/
+ godvoice(altaralign, "\88Ù\92[\8eÒ\82æ\81I\8e¸\82¹\82ë\81I\81I");
change_luck(-5);
(void) adjattrib(A_WIS, -2, TRUE);
if (!Inhell)
return 1;
} else {
consume_offering(otmp);
+#if 0 /*JP*/
You("sense a conflict between %s and %s.", u_gname(),
a_gname());
+#else
+ You("%s\82Æ%s\8aÔ\82Ì\91\88\82¢\82ð\8a´\82¶\82½\81D", u_gname(),
+ a_gname());
+#endif
if (rn2(8 + u.ulevel) > 5) {
struct monst *pri;
+/*JP
You_feel("the power of %s increase.", u_gname());
+*/
+ You("%s\82Ì\97Í\82ª\91\9d\91å\82µ\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D", u_gname());
exercise(A_WIS, TRUE);
change_luck(1);
/* Yes, this is supposed to be &=, not |= */
levl[u.ux][u.uy].altarmask
| (Align2amask(u.ualign.type));
if (!Blind)
+#if 0 /*JP*/
pline_The("altar glows %s.",
hcolor((u.ualign.type == A_LAWFUL)
? NH_WHITE
: u.ualign.type
? NH_BLACK
: (const char *) "gray"));
+#else
+ pline("\8dÕ\92d\82Í%s\8bP\82¢\82½\81D",
+ jconj_adj(hcolor((u.ualign.type == A_LAWFUL)
+ ? NH_WHITE
+ : u.ualign.type
+ ? NH_BLACK
+ : (const char *)"\8aD\90F\82Ì")));
+#endif
if (rnl(u.ulevel) > 6 && u.ualign.record > 0
&& rnd(u.ualign.record) > (3 * ALIGNLIM) / 4)
&& !p_coaligned(pri))
angry_priest();
} else {
+/*JP
pline("Unluckily, you feel the power of %s decrease.",
+*/
+ pline("\95s\8dK\82É\82à\81C%s\82Ì\97Í\82ª\8c¸\8f\82µ\82½\82Ì\82ð\8a´\82¶\82½\81D",
u_gname());
change_luck(-1);
exercise(A_WIS, FALSE);
u.ugangr = 0;
if (u.ugangr != saved_anger) {
if (u.ugangr) {
+#if 0 /*JP*/
pline("%s seems %s.", u_gname(),
Hallucination ? "groovy" : "slightly mollified");
+#else
+ pline("%s\82Í%s\82É\8c©\82¦\82é\81D", u_gname(),
+ Hallucination ? "\91f\93G" : "\82¿\82å\82Á\82Æ\98a\82ç\82¢\82¾\82æ\82¤");
+#endif
if ((int) u.uluck < 0)
change_luck(1);
} else {
+#if 0 /*JP*/
pline("%s seems %s.", u_gname(),
Hallucination ? "cosmic (not a new fact)"
: "mollified");
+#else
+ pline("%s\82Í%s\82É\8c©\82¦\82é\81D", u_gname(),
+ Hallucination ? "\93ø\90F(\90V\8e\96\8eÀ\82Å\82Í\82È\82¢)"
+ : "\8cy\95Ì\82µ\82½\82æ\82¤");
+#endif
if ((int) u.uluck < 0)
u.uluck = 0;
}
} else { /* not satisfied yet */
if (Hallucination)
+/*JP
pline_The("gods seem tall.");
+*/
+ pline("\90_\82Í\82¨\8d\82\82\82Æ\82Ü\82Á\82Ä\82¢\82é\82æ\82¤\82É\8c©\82¦\82é\81D");
else
+/*JP
You("have a feeling of inadequacy.");
+*/
+ You("\82Ü\82¾\82Ü\82¾\82¾\82Æ\8a´\82¶\82½\81D");
}
} else if (ugod_is_angry()) {
if (value > MAXVALUE)
if (value > -u.ualign.record)
value = -u.ualign.record;
adjalign(value);
+/*JP
You_feel("partially absolved.");
+*/
+ You("\8f\82µ\82¾\82¯\82ä\82é\82µ\82Ä\82à\82ç\82¦\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
} else if (u.ublesscnt > 0) {
u.ublesscnt -= ((value * (u.ualign.type == A_CHAOTIC ? 500 : 300))
/ MAXVALUE);
if (u.ublesscnt != saved_cnt) {
if (u.ublesscnt) {
if (Hallucination)
+/*JP
You("realize that the gods are not like you and I.");
+*/
+ You("\90_\82Æ\83c\81[\83J\81[\82Ì\92\87\82Å\82Í\82È\82¢\82±\82Æ\82ð\8cå\82Á\82½\81D");
else
+/*JP
You("have a hopeful feeling.");
+*/
+ pline("\8aó\96]\82ª\8c©\82¦\82Ä\82«\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
if ((int) u.uluck < 0)
change_luck(1);
} else {
if (Hallucination)
+/*JP
pline("Overall, there is a smell of fried onions.");
+*/
+ pline("\82½\82Ü\82Ë\82¬\82ð\97g\82°\82½\93õ\82¢\82ª\82µ\82½\81D");
else
+/*JP
You("have a feeling of reconciliation.");
+*/
+ You("\8b\96\82³\82ê\82½\8bC\82ª\82µ\82½\81D");
if ((int) u.uluck < 0)
u.uluck = 0;
}
if (otmp->cursed)
uncurse(otmp);
otmp->oerodeproof = TRUE;
+/*JP
at_your_feet("An object");
+*/
+ at_your_feet("\89½\82©");
dropy(otmp);
+/*JP
godvoice(u.ualign.type, "Use my gift wisely!");
+*/
+ godvoice(u.ualign.type, "\89ä\82ª\97^\82¦\82µ\82à\82Ì\8c«\82\8eg\82¤\82×\82µ\81I");
u.ugifts++;
u.ublesscnt = rnz(300 + (50 * nartifacts));
exercise(A_WIS, TRUE);
u.uluck = 0;
if (u.uluck != saved_luck) {
if (Blind)
+#if 0 /*JP*/
You("think %s brushed your %s.", something,
body_part(FOOT));
+#else
+ pline("%s\82ª\82 \82È\82½\82Ì%s\82ð\82\82·\82®\82Á\82½\82æ\82¤\82¾\81D", something,
+ body_part(FOOT));
+#endif
else
+#if 0 /*JP*/
You(Hallucination
? "see crabgrass at your %s. A funny thing in a dungeon."
: "glimpse a four-leaf clover at your %s.",
makeplural(body_part(FOOT)));
+#else
+ You(Hallucination
+ ? "\91«\8c³\82É\83y\83\93\83y\83\93\91\90\82ð\82Ý\82Â\82¯\82½\81D\96À\8b{\82É\82µ\82Ä\82Í\92¿\82µ\82¢\81D"
+ : "\8el\97t\82Ì\83N\83\8d\81[\83o\81[\82ð\91«\8c³\82É\8c©\82Â\82¯\82½\81D");
+#endif
}
}
}
if (is_demon(youmonst.data) && (p_aligntyp != A_CHAOTIC)) {
if (praying)
+#if 0 /*JP*/
pline_The("very idea of praying to a %s god is repugnant to you.",
p_aligntyp ? "lawful" : "neutral");
+#else
+ pline("%s\82Ì\90_\82É\8bF\82è\82ð\82³\82³\82°\82é\82Ì\82Í\8fí\8e¯\82É\94w\82\81D",
+ p_aligntyp ? "\92\81\8f\98" : "\92\86\97§");
+#endif
return FALSE;
}
if (praying)
+/*JP
You("begin praying to %s.", align_gname(p_aligntyp));
+*/
+ You("%s\82É\8bF\82è\82ð\95ù\82°\82½\81D", align_gname(p_aligntyp));
if (u.ualign.type && u.ualign.type == -p_aligntyp)
alignment = -u.ualign.record; /* Opposite alignment altar */
dopray()
{
/* Confirm accidental slips of Alt-P */
+/*JP
if (ParanoidPray && yn("Are you sure you want to pray?") != 'y')
+*/
+ if (ParanoidPray && yn("\8bF\82è\82Ü\82·\82©\81H") != 'y')
return 0;
u.uconduct.gnostic++;
return 0;
if (wizard && p_type >= 0) {
+/*JP
if (yn("Force the gods to be pleased?") == 'y') {
+*/
+ if (yn("\96³\97\9d\96î\97\9d\90_\82É\94÷\8fÎ\82ñ\82Å\82à\82ç\82¢\82Ü\82·\82©\81H") == 'y') {
u.ublesscnt = 0;
if (u.uluck < 0)
u.uluck = 0;
}
nomul(-3);
multi_reason = "praying";
+/*JP
nomovemsg = "You finish your prayer.";
+*/
+ nomovemsg = "\8bF\82è\8fI\82¦\82½\81D";
afternmv = prayer_done;
if (p_type == 3 && !Inhell) {
/* if you've been true to your god you can't die while you pray */
if (!Blind)
+/*JP
You("are surrounded by a shimmering light.");
+*/
+ You("\82©\82·\82©\82È\8cõ\82É\82Â\82Â\82Ü\82ê\82½\81D");
u.uinvulnerable = TRUE;
}
u.uinvulnerable = FALSE;
if (p_type == -1) {
+#if 0 /*JP*/
godvoice(alignment,
(alignment == A_LAWFUL)
? "Vile creature, thou durst call upon me?"
: "Walk no more, perversion of nature!");
+#else
+ godvoice(alignment,
+ (alignment == A_LAWFUL)
+ ? "\94Ú\97ò\82È\90¶\95¨\82æ\81C\93ð\81C\89ä\82É\8bF\82è\82ð\8b\81\82ß\82½\82©\81H"
+ : "\93®\82\82È\81I\8e\80\82É\82¼\82±\82È\82¢\82Ì\90¶\95¨\82æ\81I");
+#endif
+/*JP
You_feel("like you are falling apart.");
+*/
+ You("\83o\83\89\83o\83\89\82É\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
/* KMH -- Gods have mastery over unchanging */
rehumanize();
/* no Half_physical_damage adjustment here */
+/*JP
losehp(rnd(20), "residual undead turning effect", KILLED_BY_AN);
+*/
+ losehp(rnd(20), "\95s\8e\80\82Ì\90¶\95¨\82ð\93y\82É\95Ô\82·\97Í\82Å", KILLED_BY_AN);
exercise(A_CON, FALSE);
return 1;
}
if (Inhell) {
+/*JP
pline("Since you are in Gehennom, %s won't help you.",
+*/
+ pline("\83Q\83w\83i\82É%s\82Ì\97Í\82Í\93Í\82©\82È\82¢\81D",
align_gname(alignment));
/* haltingly aligned is least likely to anger */
if (u.ualign.record <= 0 || rnl(u.ualign.record))
else if (spl_book[sp_no].sp_id == SPE_TURN_UNDEAD)
return spelleffects(sp_no, FALSE);
}
+/*JP
You("don't know how to turn undead!");
+*/
+ You("\95s\8e\80\82Ì\90¶\82«\95¨\82ð\93y\82É\96ß\82·\95û\96@\82ð\92m\82ç\82È\82¢\81I");
return 0;
}
u.uconduct.gnostic++;
if ((u.ualign.type != A_CHAOTIC
&& (is_demon(youmonst.data) || is_undead(youmonst.data)))
|| u.ugangr > 6) { /* "Die, mortal!" */
+/*JP
pline("For some reason, %s seems to ignore you.", u_gname());
+*/
+ pline("\82È\82º\82©\81C%s\82Í\82 \82È\82½\82ð\96³\8e\8b\82µ\82½\82æ\82¤\82¾\81D", u_gname());
aggravate();
exercise(A_WIS, FALSE);
return 0;
}
if (Inhell) {
+/*JP
pline("Since you are in Gehennom, %s won't help you.", u_gname());
+*/
+ pline("\83Q\83w\83i\82É%s\82Ì\97Í\82Í\93Í\82©\82È\82¢\81D", u_gname());
aggravate();
return 0;
}
+/*JP
pline("Calling upon %s, you chant an arcane formula.", u_gname());
+*/
+ pline("%s\82É\8bF\82è\82ð\8b\81\82ß\82é\82Æ\81C\82 \82È\82½\82Í\95s\89Â\8ev\8bc\82È\8c¾\97t\82Ì\90¹\89Ì\82ð\95·\82¢\82½\81D", u_gname());
exercise(A_WIS, TRUE);
/* note: does not perform unturn_dead() on victims' inventories */
mtmp->msleeping = 0;
if (Confusion) {
if (!once++)
+/*JP
pline("Unfortunately, your voice falters.");
+*/
+ pline("\8ec\94O\82È\82ª\82ç\81C\82 \82È\82½\82Ì\90º\82Í\82Ç\82à\82Á\82Ä\82µ\82Ü\82Á\82½\81D");
mtmp->mflee = 0;
mtmp->mfrozen = 0;
mtmp->mcanmove = 1;
break;
default:
impossible("unknown alignment.");
+/*JP
gnam = "someone";
+*/
+ gnam = "\92N\82©";
break;
}
if (*gnam == '_')
}
if (!gnam) {
impossible("No random god name?");
+#if 0 /*JP*/
gnam = "your Friend the Computer"; /* Paranoia */
+#else
+ gnam = "\90e\88¤\82È\82é\83R\83\93\83s\83\85\81[\83^"; /* Paranoia */
+#endif
}
if (*gnam == '_')
++gnam;
align_gtitle(alignment)
aligntyp alignment;
{
+/*JP
const char *gnam, *result = "god";
+*/
+ const char *gnam, *result = "\8eå\90_";
switch (alignment) {
case A_LAWFUL:
break;
}
if (gnam && *gnam == '_')
+/*JP
result = "goddess";
+*/
+ result = "\8f\97\90_";
return result;
}
aligntyp altaralign = a_align(x, y);
if (!strcmp(align_gname(altaralign), u_gname())) {
+/*JP
godvoice(altaralign, "How darest thou desecrate my altar!");
+*/
+ godvoice(altaralign, "\93ð\81C\89ä\82ª\8dÕ\92d\82ð\89\98\82·\82©\81I");
(void) adjattrib(A_WIS, -1, FALSE);
} else {
+/*JP
pline("A voice (could it be %s?) whispers:", align_gname(altaralign));
+*/
+ pline("\82³\82³\82â\82«\90º(\82½\82Ô\82ñ%s\81H)\82ª\95·\82±\82¦\82é:", align_gname(altaralign));
+/*JP
verbalize("Thou shalt pay, infidel!");
+*/
+ verbalize("\88Ù\92[\8eÒ\82æ\81I\95ñ\82¢\82ð\8eó\82¯\82æ\81I");
change_luck(-1);
}
}
/* Copyright (c) Izchak Miller, 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"
#include "mfndpos.h"
check_special_room(FALSE);
if (ib) {
if (cansee(mtmp->mx, mtmp->my))
+#if 0 /*JP*/
pline("%s picks up %s.", Monnam(mtmp),
distant_name(ib, doname));
+#else
+ pline("%s\82Í%s\82ð\8fE\82Á\82½\81D", Monnam(mtmp),
+ distant_name(ib, doname));
+#endif
obj_extract_self(ib);
(void) mpickobj(mtmp, ib);
}
|| (Conflict && !resist(priest, RING_CLASS, 0, 0))) {
if (monnear(priest, u.ux, u.uy)) {
if (Displaced)
+/*JP
Your("displaced image doesn't fool %s!", mon_nam(priest));
+*/
+ Your("\8c¶\89e\82Í%s\82ð\82¾\82Ü\82¹\82È\82©\82Á\82½\81I", mon_nam(priest));
(void) mattacku(priest);
return 0;
} else if (index(u.urooms, temple)) {
return strcpy(pname, what); /* caller must be confused */
*pname = '\0';
+#if 0 /*JP*//*\93ú\96{\8cê\82Å\82Í\95s\97v*/
if (!do_hallu || !bogon_is_pname(whatcode))
Strcat(pname, "the ");
+#endif
if (mon->minvis)
+/*JP
Strcat(pname, "invisible ");
+*/
+ Strcat(pname, "\93§\96¾\82È");
if (mon->isminion && EMIN(mon)->renegade)
+/*JP
Strcat(pname, "renegade ");
+*/
+ Strcat(pname, "\97 \90Ø\82è\8eÒ\82Ì");
if (mon->ispriest || aligned_priest) { /* high_priest implies ispriest */
if (!aligned_priest && !high_priest) {
; /* polymorphed priest; use ``what'' as is */
} else {
if (high_priest)
+#if 0 /*JP*/
Strcat(pname, "high ");
+#else
+ {
+ if (Hallucination)
+ what = "\96³\94\\8d\82\8b\89\8a¯\97»";
+ else
+ what = "\96@\89¤";
+ }
+ else /* \8fã\8bL\82Å\8a®\90¬\82³\82¹\82Ä\81A\88È\89º\82Ì\83R\81[\83h\82Í\92Ê\82ç\82È\82\82·\82é */
+#endif
if (Hallucination)
+/*JP
what = "poohbah";
+*/
+ what = "\96³\94\\8a¯\97»";
else if (mon->female)
+/*JP
what = "priestess";
+*/
+ what = "\93ò\91m";
else
+/*JP
what = "priest";
+*/
+ what = "\91m\97µ";
}
} else {
+/*JP
if (mon->mtame && !strcmpi(what, "Angel"))
+*/
+ if (mon->mtame && !strcmpi(what, "\93V\8eg"))
+/*JP
Strcat(pname, "guardian ");
+*/
+ Strcat(pname, "\8cx\8cì");
}
Strcat(pname, what);
/* same as distant_monnam(), more or less... */
if (do_hallu || !high_priest || !Is_astralevel(&u.uz)
|| distu(mon->mx, mon->my) <= 2 || program_state.gameover) {
+#if 0 /*JP*/
Strcat(pname, " of ");
Strcat(pname, halu_gname(mon_aligntyp(mon)));
+#endif
}
return pname;
}
Moloch so suppress the "of Moloch" for him here too */
if (sanctum && !Hallucination)
priest->ispriest = 0;
+#if 0 /*JP*/
pline("%s intones:",
canseemon(priest) ? Monnam(priest) : "A nearby voice");
+#else
+ pline("%s\82ª\89r\8f¥\82µ\82½\81F",
+ canseemon(priest) ? Monnam(priest) : "\8bß\82\82Å\92N\82©");
+#endif
priest->ispriest = save_priest;
epri_p->intone_time = moves + (long) d(10, 500); /* ~2505 */
/* make sure that we don't suppress entry message when
if (sanctum && Is_sanctum(&u.uz)) {
if (priest->mpeaceful) {
/* first time inside */
+/*JP
msg1 = "Infidel, you have entered Moloch's Sanctum!";
+*/
+ msg1 = "\88Ù\92[\8eÒ\82æ\81I\82±\82±\82Í\81C\83\82\81[\83\8d\83b\83N\82Ì\90¹\88æ\82¾\81I";
+/*JP
msg2 = "Be gone!";
+*/
+ msg2 = "\97§\82¿\82³\82ê\81I";
priest->mpeaceful = 0;
/* became angry voluntarily; no penalty for attacking him */
set_malign(priest);
} else {
/* repeat visit, or attacked priest before entering */
+/*JP
msg1 = "You desecrate this place by your presence!";
+*/
+ msg1 = "\82¨\82Ü\82¦\82Í\82±\82Ì\90_\90¹\82È\8fê\8f\8a\82ð\89\98\82µ\82Ä\82¢\82é\81I";
}
} else if (moves >= epri_p->enter_time) {
+#if 0 /*JP*/
Sprintf(buf, "Pilgrim, you enter a %s place!",
!shrined ? "desecrated" : "sacred");
+#else
+ Sprintf(buf, "\8f\84\97ç\8eÒ\82æ\81C\82¨\82Ü\82¦\82Í%s\92n\82É\82¢\82é\81I",
+ !shrined ? "\95s\8fò\82Ì" : "\90_\90¹\82È\82é");
+#endif
msg1 = buf;
}
if (msg1 && can_speak && !Deaf) {
if (!sanctum) {
if (!shrined || !p_coaligned(priest)
|| u.ualign.record <= ALGN_SINNED) {
+/*JP
msg1 = "have a%s forbidding feeling...";
+*/
+ msg1 = "%s\8bß\82Ã\82«\82ª\82½\82¢\8bC\8e\9d\82ª\82µ\82½\81D\81D\81D";
+/*JP
msg2 = (!shrined || !p_coaligned(priest)) ? "" : " strange";
+*/
+ msg2 = (!shrined || !p_coaligned(priest)) ? "" : "\8aï\96\82È";
this_time = &epri_p->hostile_time;
other_time = &epri_p->peaceful_time;
} else {
+/*JP
msg1 = "experience %s sense of peace.";
+*/
+ msg1 = "%s\96\9e\82¿\91«\82è\82½\8bC\8e\9d\82¿\82É\82È\82Á\82½\81D";
+/*JP
msg2 = (u.ualign.record >= ALGN_PIOUS) ? "a" : "an unusual";
+*/
+ msg2 = (u.ualign.record >= ALGN_PIOUS) ? "a" : "\82¢\82Â\82É\82È\82";
this_time = &epri_p->peaceful_time;
other_time = &epri_p->hostile_time;
}
switch (rn2(4)) {
case 0:
+/*JP
You("have an eerie feeling...");
+*/
+ You("\82¼\82Á\82Æ\82µ\82½\81D\81D\81D");
break;
case 1:
+/*JP
You_feel("like you are being watched.");
+*/
+ You("\8c©\82Â\82ß\82ç\82ê\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
break;
case 2:
+/*JP
pline("A shiver runs down your %s.", body_part(SPINE));
+*/
+ pline("\82 \82È\82½\82Ì%s\82ð\90k\82¦\82ª\91\96\82Á\82½\81D", body_part(SPINE));
break;
default:
break; /* no message; unfortunately there's no
an exclamation to a simple declaration) if hero has
already killed enough ghosts.] */
if (canspotmon(mtmp))
+/*JP
pline("An enormous ghost appears next to you!");
+*/
+ pline("\8b\90\91å\82È\97H\97ì\82ª\82 \82È\82½\82Ì\82·\82®\82»\82Î\82É\8c»\82í\82ê\82½\81I");
else
+/*JP
You("sense a presence close by!");
+*/
+ You("\82·\82®\82»\82Î\82É\89½\82©\82ª\82¢\82é\82Ì\82ð\8a´\82¶\82½\81I");
mtmp->mpeaceful = 0;
set_malign(mtmp);
if (flags.verbose)
+/*JP
You("are frightened to death, and unable to move.");
+*/
+ You("\82Ü\82Á\82³\82¨\82É\82È\82Á\82Ä\8bÁ\82«\81C\93®\82¯\82È\82\82È\82Á\82½\81D");
nomul(-3);
multi_reason = "being terrified of a demon";
+/*JP
nomovemsg = "You regain your composure.";
+*/
+ nomovemsg = "\82 \82È\82½\82Í\95½\90Ã\82ð\8eæ\82è\96ß\82µ\82½\81D";
}
}
}
u.uconduct.gnostic++;
if (priest->mflee || (!priest->ispriest && coaligned && strayed)) {
+/*JP
pline("%s doesn't want anything to do with you!", Monnam(priest));
+*/
+ pline("%s\82Í\82 \82È\82½\82É\8d\\82¢\82½\82\82È\82¢\82æ\82¤\82¾\81I", Monnam(priest));
priest->mpeaceful = 0;
return;
}
if (!inhistemple(priest) || !priest->mpeaceful
|| !priest->mcanmove || priest->msleeping) {
static const char *cranky_msg[3] = {
+/*JP
"Thou wouldst have words, eh? I'll give thee a word or two!",
+*/
+ "\93ð\8c¾\97t\82ð\96]\82Þ\82Ì\82©\81H",
+/*JP
"Talk? Here is what I have to say!",
+*/
+ "\98b\82·\81H\89½\82ð\8c¾\82¦\82Î\82æ\82¢\82Ì\82¾\81I",
+/*JP
"Pilgrim, I would speak no longer with thee."
+*/
+ "\8f\84\97ç\8eÒ\82æ\81C\93ð\82É\8cê\82é\82±\82Æ\82È\82Ç\82È\82¢\81D"
};
if (!priest->mcanmove || priest->msleeping) {
+#if 0 /*JP*/
pline("%s breaks out of %s reverie!", Monnam(priest),
mhis(priest));
+#else
+ pline("%s\82ÍáÒ\91z\82ð\92\86\92f\82µ\82½\81I", Monnam(priest));
+#endif
priest->mfrozen = priest->msleeping = 0;
priest->mcanmove = 1;
}
if (priest->mpeaceful && *in_rooms(priest->mx, priest->my, TEMPLE)
&& !has_shrine(priest)) {
verbalize(
+/*JP
"Begone! Thou desecratest this holy place with thy presence.");
+*/
+ "\97§\82¿\8b\8e\82ê\81I\93ð\82Í\82±\82Ì\90_\90¹\82È\82é\8fê\8f\8a\82ð\89\98\82µ\82Ä\82¢\82é\81D");
priest->mpeaceful = 0;
return;
}
long pmoney = money_cnt(priest->minvent);
if (pmoney > 0L) {
/* Note: two bits is actually 25 cents. Hmm. */
+#if 0 /*JP*/
pline("%s gives you %s for an ale.", Monnam(priest),
(pmoney == 1L) ? "one bit" : "two bits");
+#else
+ pline("%s\82Í\82 \82È\82½\82ª\83G\81[\83\8b\8eð\82ð\88ù\82ß\82é\82æ\82¤\82É\81C%s\82ð\97^\82¦\82½\81D", Monnam(priest),
+ (pmoney == 1L) ? "\8bà\89Ý1\96\87" : "\8bà\89Ý2\96\87");
+#endif
money2u(priest, pmoney > 1L ? 2 : 1);
} else
+/*JP
pline("%s preaches the virtues of poverty.", Monnam(priest));
+*/
+ pline("%s\82Í\90´\95n\82Ì\94ü\93¿\82É\82Â\82¢\82Ä\90à\8b³\82µ\82½\81D", Monnam(priest));
exercise(A_WIS, TRUE);
} else
+/*JP
pline("%s is not interested.", Monnam(priest));
+*/
+ pline("%s\82Í\8b»\96¡\82ð\8e¦\82³\82È\82¢\81D", Monnam(priest));
return;
} else {
long offer;
+/*JP
pline("%s asks you for a contribution for the temple.",
+*/
+ pline("%s\82Í\82 \82È\82½\82É\8e\9b\89@\82Ö\82Ì\8añ\91¡\82ð\8b\81\82ß\82½\81D",
Monnam(priest));
if ((offer = bribe(priest)) == 0) {
+/*JP
verbalize("Thou shalt regret thine action!");
+*/
+ verbalize("\93ð\82Ì\8ds\88×\82Í\90_\82ð\96`\93À\82·\82é\82à\82Ì\82È\82è\81I");
if (coaligned)
adjalign(-1);
} else if (offer < (u.ulevel * 200)) {
if (money_cnt(invent) > (offer * 2L)) {
+/*JP
verbalize("Cheapskate.");
+*/
+ verbalize("\83P\83`\82ß\81D");
} else {
+/*JP
verbalize("I thank thee for thy contribution.");
+*/
+ verbalize("\93ð\82Ì\8añ\91¡\82É\95ñ\82¢\82æ\82¤\82¼\81D");
/* give player some token */
exercise(A_WIS, TRUE);
}
} else if (offer < (u.ulevel * 400)) {
+/*JP
verbalize("Thou art indeed a pious individual.");
+*/
+ verbalize("\93ð\81C\82Ü\82³\82É\8chåi\82È\82è\81D");
if (money_cnt(invent) < (offer * 2L)) {
if (coaligned && u.ualign.record <= ALGN_SINNED)
adjalign(1);
+/*JP
verbalize("I bestow upon thee a blessing.");
+*/
+ verbalize("\93ð\82É\8fj\95\9f\82ð\81D");
incr_itimeout(&HClairvoyant, rn1(500, 500));
}
} else if (offer < (u.ulevel * 600)
&& (!(HProtection & INTRINSIC)
|| (u.ublessed < 20
&& (u.ublessed < 9 || !rn2(u.ublessed))))) {
+/*JP
verbalize("Thy devotion has been rewarded.");
+*/
+ verbalize("\93ð\82ª\8c£\90g\82É\95ñ\82í\82ñ\81D");
if (!(HProtection & INTRINSIC)) {
HProtection |= FROMOUTSIDE;
if (!u.ublessed)
} else
u.ublessed++;
} else {
+/*JP
verbalize("Thy selfless generosity is deeply appreciated.");
+*/
+ verbalize("\93ð\8e©\90g\82Ì\90^\89¿\82Í\91å\82¢\82É\94F\82ß\82ç\82ê\82½\81D");
if (money_cnt(invent) < (offer * 2L) && coaligned) {
if (strayed && (moves - u.ucleansed) > 5000L) {
u.ualign.record = 0; /* cleanse thee */
switch (rn2(3)) {
case 0:
+/*JP
pline("%s roars in anger: \"Thou shalt suffer!\"",
+*/
+ pline("%s\82Í\93{\82è\82Ì\90º\82ð\82 \82°\82½\81F\81u\93ð\81C\8bê\82µ\82Þ\82ª\82æ\82¢\81I\81v",
a_gname_at(ax, ay));
break;
case 1:
+/*JP
pline("%s voice booms: \"How darest thou harm my servant!\"",
+*/
+ pline("%s\82Ì\90º\82ª\8b¿\82¢\82½\81F\81u\82í\82ª\89º\96l\82É\8bê\82µ\82Þ\82ª\82æ\82¢\81I\81v",
s_suffix(a_gname_at(ax, ay)));
break;
default:
+/*JP
pline("%s roars: \"Thou dost profane my shrine!\"",
+*/
+ pline("%s\82Ì\90º\82ª\95·\82±\82¦\82é\81F\81u\93ð\81C\89ä\82ª\90¹\93°\82ð\89\98\82µ\82½\82è\81I\81v",
a_gname_at(ax, ay));
break;
}
/* Copyright 1991, M. Stephenson */
/* 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"
/* quest dungeon branch routines. */
if (wizard && talk) {
if (u.ualign.type != original_alignment) {
+#if 0 /*JP*/
You("are currently %s instead of %s.", align_str(u.ualign.type),
align_str(original_alignment));
+#else
+ You("%s\82Å\82Í\82È\82%s\82Ì\91®\90«\82Å\82 \82é\81D", align_str(original_alignment),
+ align_str(u.ualign.type));
+#endif
} else if (u.ualignbase[A_CURRENT] != original_alignment) {
+/*JP
You("have converted.");
+*/
+ You("\93]\8cü\82µ\82Ä\82¢\82é\81D");
} else if (u.ualign.record < MIN_QUEST_ALIGN) {
+#if 0 /*JP*/
You("are currently %d and require %d.", u.ualign.record,
MIN_QUEST_ALIGN);
+#else
+ Your("\91®\90«\92l\82Í\8c»\8dÝ%d\82Å%d\95K\97v\82¾\81D", u.ualign.record,
+ MIN_QUEST_ALIGN);
+#endif
+/*JP
if (yn_function("adjust?", (char *) 0, 'y') == 'y')
+*/
+ if (yn_function("\92¼\82·\81H", (char *) 0, 'y') == 'y')
u.ualign.record = MIN_QUEST_ALIGN;
}
}
struct trap *t;
int portal_flag;
+/*JP
br = dungeon_branch("The Quest");
+*/
+ br = dungeon_branch("\83N\83G\83X\83g");
dest = (br->end1.dnum == u.uz.dnum) ? &br->end2 : &br->end1;
portal_flag = u.uevent.qexpelled ? 0 /* returned via artifact? */
: !seal ? 1 : -1;
&& (mtmp->mstrategy & STRAT_WAITMASK)) {
/* Awaken the prisoner */
if (canseemon(mtmp))
+/*JP
pline("%s speaks:", Monnam(mtmp));
+*/
+ pline("%s\82Í\98b\82µ\82½\81F", Monnam(mtmp));
+/*JP
verbalize("I'm finally free!");
+*/
+ verbalize("\82Â\82¢\82É\8e©\97R\82¾\81I");
mtmp->mstrategy &= ~STRAT_WAITMASK;
mtmp->mpeaceful = 1;
{
int i = urole.ldrnum;
+#if 0 /*JP*/
Sprintf(nambuf, "%s%s", type_is_pname(&mons[i]) ? "" : "the ",
mons[i].mname);
+#else
+ Strcpy(nambuf, mons[i].mname);
+#endif
return nambuf;
}
{
int i = urole.neminum;
+#if 0 /*JP*/
Sprintf(nambuf, "%s%s", type_is_pname(&mons[i]) ? "" : "the ",
mons[i].mname);
+#else
+ Strcpy(nambuf, mons[i].mname);
+#endif
return nambuf;
}
str = rank_of(MIN_QUEST_LEVEL, Role_switch, flags.female);
break;
case 's':
+/*JP
str = (flags.female) ? "sister" : "brother";
+*/
+ str = (flags.female) ? "\96\85" : "\92í";
break;
case 'S':
+/*JP
str = (flags.female) ? "daughter" : "son";
+*/
+ str = (flags.female) ? "\96º" : "\91§\8eq";
break;
case 'l':
str = ldrname();
str = align_gname(A_LAWFUL);
break;
case 'C':
+/*JP
str = "chaotic";
+*/
+ str = "\8d¬\93×";
break;
case 'N':
+/*JP
str = "neutral";
+*/
+ str = "\92\86\97§";
break;
case 'L':
+/*JP
str = "lawful";
+*/
+ str = "\92\81\8f\98";
break;
case 'x':
+/*JP
str = Blind ? "sense" : "see";
+*/
+ str = Blind ? "\8a´\82¶" : "\8c©";
break;
case 'Z':
str = dungeons[0].dname;
/* 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 Your_Own_Role(mndx) \
/* outrumor has its own blindness check */
if (scroll->otyp == FORTUNE_COOKIE) {
if (flags.verbose)
+/*JP
You("break up the cookie and throw away the pieces.");
+*/
+ You("\83N\83b\83L\81[\82ð\8a\84\82è\81C\82©\82¯\82ç\82ð\93\8a\82°\82·\82Ä\82½\81D");
outrumor(bcsign(scroll), BY_COOKIE);
if (!Blind)
u.uconduct.literate++;
} else if (scroll->otyp == T_SHIRT || scroll->otyp == ALCHEMY_SMOCK) {
char buf[BUFSZ];
if (Blind) {
+/*JP
You_cant("feel any Braille writing.");
+*/
+ You("\93_\8e\9a\82Í\82Ç\82¤\82à\8f\91\82¢\82Ä\82È\82¢\82æ\82¤\82¾\81D");
return 0;
}
/* can't read shirt worn under suit (under cloak is ok though) */
if (scroll->otyp == T_SHIRT && uarm && scroll == uarmu) {
+#if 0 /*JP*/
pline("%s shirt is obscured by %s%s.",
scroll->unpaid ? "That" : "Your", shk_your(buf, uarm),
suit_simple_name(uarm));
+#else
+ pline("\83V\83\83\83c\82Í%s\82Å\89B\82³\82ê\82Ä\82¢\82é\81D",
+ suit_simple_name(uarm));
+#endif
return 0;
}
u.uconduct.literate++;
if (flags.verbose)
+/*JP
pline("It reads:");
+*/
+ pline("\82»\82ê\82ð\93Ç\82ñ\82¾\81F");
+#if 0 /*JP*/
pline("\"%s\"", (scroll->otyp == T_SHIRT) ? tshirt_text(scroll, buf)
: apron_text(scroll, buf));
+#else
+ pline("\81u%s\81v", (scroll->otyp == T_SHIRT) ? tshirt_text(scroll, buf)
+ : apron_text(scroll, buf));
+#endif
return 1;
} else if (scroll->otyp == CREDIT_CARD) {
static const char *card_msgs[] = {
};
if (Blind) {
+/*JP
You("feel the embossed numbers:");
+*/
+ You("\95\82\82«\92¤\82è\82É\82³\82ê\82Ä\82¢\82é\94Ô\8d\86\82ð\8a´\82¶\82½:");
} else {
if (flags.verbose)
+/*JP
pline("It reads:");
+*/
+ pline("\82»\82ê\82ð\93Ç\82ñ\82¾\81F");
+/*JP
pline("\"%s\"",
+*/
+ pline("\81u%s\81v",
scroll->oartifact
? card_msgs[SIZE(card_msgs) - 1]
: card_msgs[scroll->o_id % (SIZE(card_msgs) - 1)]);
u.uconduct.literate++;
return 1;
} else if (scroll->otyp == CAN_OF_GREASE) {
+/*JP
pline("This %s has no label.", singular(scroll, xname));
+*/
+ pline("\82±\82Ì%s\82É\82Í\83\89\83x\83\8b\82ª\82È\82¢\81D", singular(scroll, xname));
return 0;
} else if (scroll->otyp == MAGIC_MARKER) {
if (Blind) {
+/*JP
You_cant("feel any Braille writing.");
+*/
+ You("\93_\8e\9a\82Í\82Ç\82¤\82à\8f\91\82¢\82Ä\82È\82¢\82æ\82¤\82¾\81D");
return 0;
}
if (flags.verbose)
+/*JP
pline("It reads:");
+*/
+ pline("\82»\82ê\82ð\93Ç\82ñ\82¾\81F");
+/*JP
pline("\"Magic Marker(TM) Red Ink Marker Pen. Water Soluble.\"");
+*/
+ pline("\81u\96\82\96@\82Ì\83}\81[\83J(TM) \90Ô\83C\83\93\83N\83}\81[\83J\83y\83\93\81D\90\85\90«\81D\81v");
u.uconduct.literate++;
return 1;
} else if (scroll->oclass == COIN_CLASS) {
if (Blind)
+/*JP
You("feel the embossed words:");
+*/
+ You("\95\82\82«\92¤\82è\82É\82³\82ê\82Ä\82¢\82é\95¶\8e\9a\82ð\8a´\82¶\82½:");
else if (flags.verbose)
+/*JP
You("read:");
+*/
+ pline("\82»\82ê\82ð\93Ç\82ñ\82¾\81F");
pline("\"1 Zorkmid. 857 GUE. In Frobs We Trust.\"");
u.uconduct.literate++;
return 1;
} else if (scroll->oartifact == ART_ORB_OF_FATE) {
if (Blind)
+/*JP
You("feel the engraved signature:");
+*/
+ You("\92¤\82è\8d\9e\82Ü\82ê\82Ä\82¢\82é\83T\83C\83\93\82ð\8a´\82¶\82½\81F");
else
+/*JP
pline("It is signed:");
+*/
+ pline("\83T\83C\83\93\82ª\82 \82é\81F");
+/*JP
pline("\"Odin.\"");
+*/
+ pline("\81u\83I\81[\83f\83B\83\93\81v");
u.uconduct.literate++;
return 1;
} else if (scroll->otyp == CANDY_BAR) {
};
if (Blind) {
+/*JP
You_cant("feel any Braille writing.");
+*/
+ You("\93_\8e\9a\82Í\82Ç\82¤\82à\8f\91\82¢\82Ä\82È\82¢\82æ\82¤\82¾\81D");
return 0;
}
+/*JP
pline("The wrapper reads: \"%s\"",
+*/
+ pline("\95ï\82Ý\8e\86\82Ì\95¶\8e\9a\82ð\93Ç\82ñ\82¾\81F\81u%s\81v",
wrapper_msgs[scroll->o_id % SIZE(wrapper_msgs)]);
u.uconduct.literate++;
return 1;
} else if (scroll->oclass != SCROLL_CLASS
&& scroll->oclass != SPBOOK_CLASS) {
+/*JP
pline(silly_thing_to, "read");
+*/
+ pline(silly_thing_to, "\93Ç\82Þ");
return 0;
} else if (Blind && (scroll->otyp != SPE_BOOK_OF_THE_DEAD)) {
const char *what = 0;
if (scroll->oclass == SPBOOK_CLASS)
+/*JP
what = "mystic runes";
+*/
+ what = "\90_\94é\93I\82È\83\8b\81[\83\93\95¶\8e\9a";
else if (!scroll->dknown)
+/*JP
what = "formula on the scroll";
+*/
+ what = "\8aª\95¨\82Ì\8eô\95¶";
if (what) {
+/*JP
pline("Being blind, you cannot read the %s.", what);
+*/
+ pline("\96Ú\82ª\8c©\82¦\82È\82¢\82Ì\82Å\81C\82 \82È\82½\82Í%s\82ð\93Ç\82Þ\82±\82Æ\82ª\82Å\82«\82È\82¢\81D", what);
return 0;
}
}
|| (scroll->otyp == SCR_REMOVE_CURSE
&& scroll->cursed));
if (Blind)
+#if 0 /*JP*/
pline(nodisappear
? "You %s the formula on the scroll."
: "As you %s the formula on it, the scroll disappears.",
is_silent(youmonst.data) ? "cogitate" : "pronounce");
+#else
+ pline(nodisappear
+ ? "\82 \82È\82½\82Í\8eô\95¶\82ð%s\82½\81D"
+ : "\8eô\95¶\82ð%s\82é\82Æ\81C\8aª\95¨\82Í\8fÁ\82¦\82½\81D",
+ is_silent(youmonst.data) ? "\94O\82¶" : "\8f¥\82¦");
+#endif
else
+#if 0 /*JP*/
pline(nodisappear ? "You read the scroll."
: "As you read the scroll, it disappears.");
+#else
+ pline(nodisappear ? "\82 \82È\82½\82Í\8aª\95¨\82ð\93Ç\82ñ\82¾\81D"
+ : "\8aª\95¨\82ð\93Ç\82Þ\82Æ\81C\82»\82ê\82Í\8fÁ\82¦\82½\81D");
+#endif
if (confused) {
if (Hallucination)
+/*JP
pline("Being so trippy, you screw up...");
+*/
+ pline("\82Æ\82Ä\82à\82Ö\82ë\82Ö\82ë\82È\82Ì\82Å\81C\82\82µ\82á\82\82µ\82á\82É\82µ\82Ä\82µ\82Ü\82Á\82½\81D\81D\81D");
else
+#if 0 /*JP*/
pline("Being confused, you %s the magic words...",
is_silent(youmonst.data) ? "misunderstand"
: "mispronounce");
+#else
+ pline("\8d¬\97\90\82µ\82Ä\82¢\82é\82Ì\82Å\81C\8eô\95¶\82ð\8aÔ\88á\82Á\82Ä\82µ\82Ü\82Á\82½\81D\81D\81D");
+#endif
}
}
if (!seffects(scroll)) {
pline1(nothing_happens);
} else {
/* order matters: message, shop handling, actual transformation */
+/*JP
pline("%s briefly.", Yobjnam2(obj, "vibrate"));
+*/
+ Your("%s\82Í\8f¬\8d\8f\82Ý\82É\90U\93®\82µ\82½\81D",xname(obj));
costly_alteration(obj, COST_UNCHRG);
obj->spe = 0;
if (obj->otyp == OIL_LAMP || obj->otyp == BRASS_LANTERN)
p_glow1(otmp)
register struct obj *otmp;
{
+/*JP
pline("%s briefly.", Yobjnam2(otmp, Blind ? "vibrate" : "glow"));
+*/
+ Your("%s\82Í\8f¬\8d\8f\82Ý\82É%s\81D", xname(otmp), Blind ? "\90U\93®\82µ\82½" : "\8bP\82¢\82½");
}
STATIC_OVL void
register struct obj *otmp;
register const char *color;
{
+#if 0 /*JP*/
pline("%s%s%s for a moment.", Yobjnam2(otmp, Blind ? "vibrate" : "glow"),
Blind ? "" : " ", Blind ? "" : hcolor(color));
+#else
+ Your("%s\82Í\88ê\8fu%s%s\81D", xname(otmp),
+ Blind ? "" : jconj_adj(hcolor(color)),
+ Blind ? "\90U\93®\82µ\82½" : "\8bP\82¢\82½");
+#endif
}
/* Is the object chargeable? For purposes of inventory display; it is
/* destruction depends on current state, not adjustment */
if (obj->spe > rn2(7) || obj->spe <= -5) {
+#if 0 /*JP*/
pline("%s momentarily, then %s!", Yobjnam2(obj, "pulsate"),
otense(obj, "explode"));
+#else
+ Your("%s\82Í\88ê\8fu\96¬\93®\82µ\81C\94\9a\94\82µ\82½\81I", xname(obj));
+#endif
if (is_on)
Ring_gone(obj);
s = rnd(3 * abs(obj->spe)); /* amount of damage */
useup(obj);
+/*JP
losehp(Maybe_Half_Phys(s), "exploding ring", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(s), "\8ew\97Ö\82Ì\94\9a\94\82Å", KILLED_BY_AN);
} else {
long mask = is_on ? (obj == uleft ? LEFT_RING : RIGHT_RING) : 0L;
+#if 0 /*JP*/
pline("%s spins %sclockwise for a moment.", Yname2(obj),
s < 0 ? "counter" : "");
+#else
+ Your("%s\82Í\88ê\8fu%s\8e\9e\8cv\89ñ\82è\82É\89ñ\93]\82µ\82½\81D", xname(obj),
+ s < 0 ? "\94½" : "");
+#endif
if (s < 0)
costly_alteration(obj, COST_DECHNT);
/* cause attributes and/or properties to be updated */
== MAGIC_MARKER) { /* previously recharged */
obj->recharged = 1; /* override increment done above */
if (obj->spe < 3)
+/*JP
Your("marker seems permanently dried out.");
+*/
+ Your("\83}\81[\83J\82Í\8a®\91S\82É\8a£\82«\82«\82Á\82Ä\82µ\82Ü\82Á\82½\81D");
else
pline1(nothing_happens);
} else if (is_blessed) {
stripspe(obj);
if (obj->lamplit) {
if (!Blind)
+#if 0 /*JP*/
pline("%s out!", Tobjnam(obj, "go"));
+#else
+ pline("%s\82Í\8fÁ\82¦\82½\81I", xname(obj));
+#endif
end_burn(obj, TRUE);
}
} else if (is_blessed) {
} else {
not_chargable:
+/*JP
You("have a feeling of loss.");
+*/
+ You("\82È\82É\82©\91¹\82µ\82½\8bC\95ª\82É\82È\82Á\82½\81D");
}
}
{
if (!cansee(x, y) || !ACCESSIBLE(levl[x][y].typ) || distu(x, y) >= 32) {
if (showmsg)
+/*JP
You("smell rotten eggs.");
+*/
+ pline("\82\82³\82Á\82½\97\91\82Ì\82É\82¨\82¢\82ª\82µ\82½\81D");
return FALSE;
}
return TRUE;
known = TRUE;
if (sobj->spe)
pline(
+/*JP
"This seems to be junk mail addressed to the finder of the Eye of Larn.");
+*/
+ "Eye of Larn\82Ì\94\8c©\8eÒ\82É\88¶\82Ä\82ç\82ê\82½\83S\83~\83\81\83C\83\8b\82Ì\82æ\82¤\82¾\81D");
/* note to the puzzled: the game Larn actually sends you junk
* mail if you win!
*/
otmp = some_armor(&youmonst);
if (!otmp) {
+#if 0 /*JP*/
strange_feeling(sobj, !Blind
? "Your skin glows then fades."
: "Your skin feels warm for a moment.");
+#else
+ strange_feeling(sobj, !Blind
+ ? "\82 \82È\82½\82Ì\91Ì\82Í\88ê\8fu\8bP\82¢\82½\81D"
+ : "\82 \82È\82½\82Ì\91Ì\82Í\88ê\8fu\92g\82©\82\82È\82Á\82½\81D");
+#endif
sobj = 0; /* useup() in strange_feeling() */
exercise(A_CON, !scursed);
exercise(A_STR, !scursed);
otmp->oerodeproof = 0; /* for messages */
if (Blind) {
otmp->rknown = FALSE;
+/*JP
pline("%s warm for a moment.", Yobjnam2(otmp, "feel"));
+*/
+ Your("%s\82Í\88ê\8fu\92g\82©\82\82È\82Á\82½\81D", xname(otmp));
} else {
otmp->rknown = TRUE;
+#if 0 /*JP*/
pline("%s covered by a %s %s %s!", Yobjnam2(otmp, "are"),
scursed ? "mottled" : "shimmering",
hcolor(scursed ? NH_BLACK : NH_GOLDEN),
scursed ? "glow"
: (is_shield(otmp) ? "layer" : "shield"));
+#else
+ Your("%s\82Í%s%s%s\82Å\95¢\82í\82ê\82½\81I", xname(otmp),
+ jconj_adj(hcolor(scursed ? NH_BLACK : NH_GOLDEN)),
+ scursed ? "\8cõ\82é\82Ü\82¾\82ç\82Ì" : "\82ä\82ç\82ß\82",
+ scursed ? "\8bP\82«"
+ : "\83o\83\8a\83A");
+#endif
}
if (new_erodeproof && (otmp->oeroded || otmp->oeroded2)) {
otmp->oeroded = otmp->oeroded2 = 0;
+#if 0 /*JP*/
pline("%s as good as new!",
Yobjnam2(otmp, Blind ? "feel" : "look"));
+#else
+ Your("%s\82Í\90V\95i\93¯\97l\82É\82È\82Á\82½\81I",
+ xname(otmp));
+#endif
}
if (old_erodeproof && !new_erodeproof) {
/* restore old_erodeproof before shop charges */
s = scursed ? -otmp->spe : otmp->spe;
if (s > (special_armor ? 5 : 3) && rn2(s)) {
otmp->in_use = TRUE;
+#if 0 /*JP*/
pline("%s violently %s%s%s for a while, then %s.", Yname2(otmp),
otense(otmp, Blind ? "vibrate" : "glow"),
(!Blind && !same_color) ? " " : "",
(Blind || same_color) ? "" : hcolor(scursed ? NH_BLACK
: NH_SILVER),
otense(otmp, "evaporate"));
+#else
+ Your("%s\82Í\82µ\82Î\82ç\82\82Ì\8aÔ\8c\83\82µ\82%s%s\81C\8fö\94\82µ\82½\81D", xname(otmp),
+ (Blind || same_color) ? "" : jconj_adj(hcolor(scursed ? NH_BLACK : NH_SILVER)),
+ Blind ? "\90U\93®\82µ" : "\8bP\82«");
+#endif
remove_worn_item(otmp, FALSE);
useup(otmp);
break;
: sblessed ? rnd(3 - otmp->spe / 3) : 1;
if (s >= 0 && Is_dragon_scales(otmp)) {
/* dragon scales get turned into dragon scale mail */
+/*JP
pline("%s merges and hardens!", Yname2(otmp));
+*/
+ Your("%s\82Í\97Z\8d\87\82µ\8cÅ\82\82È\82Á\82½\81I", xname(otmp));
setworn((struct obj *) 0, W_ARM);
/* assumes same order */
otmp->otyp += GRAY_DRAGON_SCALE_MAIL - GRAY_DRAGON_SCALES;
alter_cost(otmp, 0L); /* shop bill */
break;
}
+#if 0 /*JP*/
pline("%s %s%s%s%s for a %s.", Yname2(otmp),
s == 0 ? "violently " : "",
otense(otmp, Blind ? "vibrate" : "glow"),
(Blind || same_color) ? ""
: hcolor(scursed ? NH_BLACK : NH_SILVER),
(s * s > 1) ? "while" : "moment");
+#else
+ Your("%s\82Í%s%s%s%s\81D", xname(otmp),
+ (s * s > 1) ? "\82µ\82Î\82ç\82\82Ì\8aÔ" : "\88ê\8fu",
+ s == 0 ? "\8c\83\82µ\82" : "",
+ (Blind || same_color) ? ""
+ : jconj_adj(hcolor(sobj->cursed ? NH_BLACK : NH_SILVER)),
+ Blind ? "\90U\93®\82µ\82½" : "\8bP\82¢\82½");
+#endif
/* [this cost handling will need updating if shop pricing is
ever changed to care about curse/bless status of armor] */
if (s < 0)
if ((otmp->spe > (special_armor ? 5 : 3))
&& (special_armor || !rn2(7)))
+#if 0 /*JP*/
pline("%s %s.", Yobjnam2(otmp, "suddenly vibrate"),
Blind ? "again" : "unexpectedly");
+#else
+ Your("%s\82Í\93Ë\91R%s\90U\93®\82µ\82½\81D", xname(otmp),
+ Blind ? "\82Ü\82½" : "\8ev\82¢\82à\82æ\82ç\82¸");
+#endif
break;
}
case SCR_DESTROY_ARMOR: {
otmp = some_armor(&youmonst);
if (confused) {
if (!otmp) {
+/*JP
strange_feeling(sobj, "Your bones itch.");
+*/
+ strange_feeling(sobj, "\8d\9c\82ª\83\80\83Y\83\80\83Y\82·\82é\81D");
sobj = 0; /* useup() in strange_feeling() */
exercise(A_STR, FALSE);
exercise(A_CON, FALSE);
}
if (!scursed || !otmp || !otmp->cursed) {
if (!destroy_arm(otmp)) {
+/*JP
strange_feeling(sobj, "Your skin itches.");
+*/
+ strange_feeling(sobj,"\94ç\95\86\82ª\83\80\83Y\83\80\83Y\82·\82é\81D");
sobj = 0; /* useup() in strange_feeling() */
exercise(A_STR, FALSE);
exercise(A_CON, FALSE);
} else
known = TRUE;
} else { /* armor and scroll both cursed */
+/*JP
pline("%s.", Yobjnam2(otmp, "vibrate"));
+*/
+ Your("%s\82Í\90U\93®\82µ\82½\81D", xname(otmp));
if (otmp->spe >= -6) {
otmp->spe += -1;
adj_abon(otmp, -1);
case SPE_CONFUSE_MONSTER:
if (youmonst.data->mlet != S_HUMAN || scursed) {
if (!HConfusion)
+/*JP
+ You_feel("confused.");
+*/
You_feel("confused.");
make_confused(HConfusion + rnd(100), FALSE);
} else if (confused) {
if (!sblessed) {
+#if 0 /*JP*/
Your("%s begin to %s%s.", makeplural(body_part(HAND)),
Blind ? "tingle" : "glow ",
Blind ? "" : hcolor(NH_PURPLE));
+#else
+ Your("%s\82Í%s%s\82Í\82¶\82ß\82½\81D", makeplural(body_part(HAND)),
+ Blind ? "" : jconj_adj(hcolor(NH_PURPLE)),
+ Blind ? "\83q\83\8a\83q\83\8a\82µ" : "\8bP\82«");
+#endif
make_confused(HConfusion + rnd(100), FALSE);
} else {
+#if 0 /*JP*/
pline("A %s%s surrounds your %s.",
Blind ? "" : hcolor(NH_RED),
Blind ? "faint buzz" : " glow", body_part(HEAD));
+#else
+ pline("%s%s\82ª\82 \82È\82½\82Ì%s\82ð\8eæ\82è\8aª\82¢\82½\81D",
+ Blind ? "" : jconj_adj(hcolor(NH_RED)),
+ Blind ? "\82©\82·\82©\82É\83u\81[\83\93\82Æ\96Â\82é\82à\82Ì" : "\8bP\82\82à\82Ì",
+ body_part(HEAD));
+#endif
make_confused(0L, TRUE);
}
} else {
if (!sblessed) {
+#if 0 /*JP*/
Your("%s%s %s%s.", makeplural(body_part(HAND)),
Blind ? "" : " begin to glow",
Blind ? (const char *) "tingle" : hcolor(NH_RED),
u.umconf ? " even more" : "");
+#else
+ Your("%s\82Í%s%s%s\81D", makeplural(body_part(HAND)),
+ u.umconf ? "\8f\82µ" : "",
+ Blind ? (const char *) "\83q\83\8a\83q\83\8a\82µ\82½" : jconj_adj(hcolor(NH_RED)),
+ Blind ? "" : "\8bP\82«\82Í\82¶\82ß\82½");
+#endif
u.umconf++;
} else {
if (Blind)
+#if 0 /*JP*/
Your("%s tingle %s sharply.", makeplural(body_part(HAND)),
u.umconf ? "even more" : "very");
+#else
+ Your("%s\82Í%s\83s\83\8a\83s\83\8a\82·\82é\81D", makeplural(body_part(HAND)),
+ u.umconf ? "\8f\82µ" : "\82Æ\82Ä\82à");
+#endif
else
+#if 0 /*JP*/
Your("%s glow a%s brilliant %s.",
makeplural(body_part(HAND)),
u.umconf ? "n even more" : "", hcolor(NH_RED));
+#else
+ Your("%s\82Í%s%s\96¾\82é\82\8bP\82¢\82½\81D",
+ makeplural(body_part(HAND)),
+ u.umconf ? "\8f\82µ" : "", jconj_adj(hcolor(NH_RED)));
+#endif
/* after a while, repeated uses become less effective */
if (u.umconf >= 40)
u.umconf++;
}
}
if (otyp == SCR_SCARE_MONSTER || !ct)
+#if 0 /*JP*/
You_hear("%s %s.", (confused || scursed) ? "sad wailing"
: "maniacal laughter",
!ct ? "in the distance" : "close by");
+#else
+ You_hear("\89\93\82\82Å%s\82ð\95·\82¢\82½\81D",
+ (confused || sobj->cursed) ? "\94ß\82µ\82\8b\83\82«\8b©\82Ô\90º"
+ : "\8b¶\82Á\82½\82æ\82¤\82É\8fÎ\82¤\90º");
+#endif
break;
}
case SCR_BLANK_PAPER:
if (Blind)
+/*JP
You("don't remember there being any magic words on this scroll.");
+*/
+ You("\8aª\95¨\82É\8eô\95¶\82ª\8f\91\82¢\82Ä\82È\82©\82Á\82½\82±\82Æ\82ð\8ev\82¢\82¾\82µ\82½\81D");
else
+/*JP
pline("This scroll seems to be blank.");
+*/
+ pline("\82±\82Ì\8aª\95¨\82É\82Í\89½\82à\8f\91\82¢\82Ä\82È\82¢\82æ\82¤\82É\8c©\82¦\82é\81D");
known = TRUE;
break;
case SCR_REMOVE_CURSE:
case SPE_REMOVE_CURSE: {
register struct obj *obj;
+#if 0 /*JP*/
You_feel(!Hallucination
? (!confused ? "like someone is helping you."
: "like you need some help.")
: (!confused ? "in touch with the Universal Oneness."
: "the power of the Force against you!"));
+#else
+ You(!Hallucination
+ ? (!confused ? "\92N\82©\82ª\82 \82È\82½\82ð\8f\95\82¯\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D"
+ : "\8e©\95ª\82ª\8f\95\82¯\82ð\95K\97v\82Æ\82µ\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D")
+ : (!confused ? "\89F\92\88\92²\98a\82Ì\8c´\97\9d\82É\90G\82ê\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D"
+ : "\83t\83H\81[\83X\82Ì\97Í\82ª\82 \82È\82½\82É\82Í\82Þ\82©\82Á\82Ä\82¢\82é\82æ\82¤\82É\8a´\82¶\82½\81I"));
+#endif
if (scursed) {
+/*JP
pline_The("scroll disintegrates.");
+*/
+ pline("\8aª\95¨\82Í\95²\81X\82É\82È\82Á\82½\81D");
} else {
for (obj = invent; obj; obj = obj->nobj) {
long wornmask;
unpunish();
if (u.utrap && u.utraptype == TT_BURIEDBALL) {
buried_ball_to_freedom();
+/*JP
pline_The("clasp on your %s vanishes.", body_part(LEG));
+*/
+ pline_The("%s\82Ì\8bà\8bï\82ª\8fÁ\82¦\82½\81D", body_part(LEG));
}
update_inventory();
break;
uwep->oerodeproof = 0; /* for messages */
if (Blind) {
uwep->rknown = FALSE;
+/*JP
Your("weapon feels warm for a moment.");
+*/
+ pline("\95\90\8aí\82ª\88ê\8fu\92g\82©\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
} else {
uwep->rknown = TRUE;
+#if 0 /*JP*/
pline("%s covered by a %s %s %s!", Yobjnam2(uwep, "are"),
scursed ? "mottled" : "shimmering",
hcolor(scursed ? NH_PURPLE : NH_GOLDEN),
scursed ? "glow" : "shield");
+#else
+ Your("%s\82Í%s%s%s\82Å\95¢\82í\82ê\82½\81I", xname(uwep),
+ jconj_adj(hcolor(scursed ? NH_PURPLE : NH_GOLDEN)),
+ scursed ? "\8cõ\82é\82Ü\82¾\82ç\82Ì" : "\82ä\82ç\82ß\82",
+ scursed ? "\8bP\82«" : "\83o\83\8a\83A");
+#endif
}
if (new_erodeproof && (uwep->oeroded || uwep->oeroded2)) {
uwep->oeroded = uwep->oeroded2 = 0;
+#if 0 /*JP*/
pline("%s as good as new!",
Yobjnam2(uwep, Blind ? "feel" : "look"));
+#else
+ pline("%s\82Í\90V\95i\93¯\97l\82É\82È\82Á\82½\81I", xname(uwep));
+#endif
}
if (old_erodeproof && !new_erodeproof) {
/* restore old_erodeproof before shop charges */
} break;
case SCR_GENOCIDE:
if (!already_known)
+/*JP
You("have found a scroll of genocide!");
+*/
+ pline("\82±\82ê\82Í\8bs\8eE\82Ì\8aª\95¨\82¾\81I");
known = TRUE;
if (sblessed)
do_class_genocide();
useup(sobj);
sobj = 0; /* it's gone */
if (confused)
+/*JP
You("identify this as an identify scroll.");
+*/
+ You("\82±\82ê\82Í\8e¯\95Ê\82Ì\8aª\95¨\82¾\82Æ\8e¯\95Ê\82µ\82½\81D");
else if (!already_known || !invent)
/* force feedback now if invent became
empty after using up this scroll */
+/*JP
pline("This is an identify scroll.");
+*/
+ pline("\82±\82ê\82Í\8e¯\95Ê\82Ì\8aª\95¨\82¾\81D");
if (!already_known)
(void) learnscrolltyp(SCR_IDENTIFY);
/*FALLTHRU*/
case SCR_CHARGING:
if (confused) {
if (scursed) {
+/*JP
You_feel("discharged.");
+*/
+ You_feel("\95ú\8fo\82³\82ê\82½\8bC\82ª\82·\82é\81D");
u.uen = 0;
} else {
+/*JP
You_feel("charged up!");
+*/
+ You_feel("\8f[\93U\82³\82ê\82½\82æ\82¤\82È\8bC\82ª\82·\82é\81I");
u.uen += d(sblessed ? 6 : 4, 4);
if (u.uen > u.uenmax) /* if current energy is already at */
u.uenmax = u.uen; /* or near maximum, increase maximum */
}
/* known = TRUE; -- handled inline here */
if (!already_known) {
+/*JP
pline("This is a charging scroll.");
+*/
+ pline("\82±\82ê\82Í\8f[\93U\82Ì\8aª\95¨\82¾\81I");
learnscroll(sobj);
}
/* use it up now to prevent it from showing in the
break;
case SCR_MAGIC_MAPPING:
if (level.flags.nommap) {
+/*JP
Your("mind is filled with crazy lines!");
+*/
+ Your("\90S\82É\82½\82¾\82È\82ç\82Ê\90ü\81I\90ü\81I\90ü\81I\82ª\95\82\82Ñ\82 \82ª\82Á\82½\81I");
if (Hallucination)
+/*JP
pline("Wow! Modern art.");
+*/
+ pline("\83\8f\83H\81I\83\82\83_\83\93\83A\81[\83g\82¾\81I");
else
+/*JP
Your("%s spins in bewilderment.", body_part(HEAD));
+*/
+ You("\93\96\98f\82µ\82Ä\96Ú\82ª\82Ü\82í\82Á\82½\81D");
make_confused(HConfusion + rnd(30), FALSE);
break;
}
known = TRUE;
case SPE_MAGIC_MAPPING:
if (level.flags.nommap) {
+#if 0 /*JP*/
Your("%s spins as %s blocks the spell!", body_part(HEAD),
something);
+#else
+ You("\89½\82©\82ª\8eô\95¶\82ð\82³\82¦\82¬\82è\81C\96Ú\82ª\82Ü\82í\82Á\82½\81I");
+#endif
make_confused(HConfusion + rnd(30), FALSE);
break;
}
+/*JP
pline("A map coalesces in your mind!");
+*/
+ pline("\92n\90}\82ª\82 \82È\82½\82Ì\90S\82É\97Z\8d\87\82µ\82½\81I");
cval = (scursed && !confused);
if (cval)
HConfusion = 1; /* to screw up map */
do_mapping();
if (cval) {
HConfusion = 0; /* restore */
+/*JP
pline("Unfortunately, you can't grasp the details.");
+*/
+ pline("\8ec\94O\82È\82ª\82ç\81C\82 \82È\82½\82Í\8fÚ\8d×\82ð\93¾\82é\82±\82Æ\82ª\82Å\82«\82È\82©\82Á\82½\81D");
}
break;
case SCR_AMNESIA:
forget((!sblessed ? ALL_SPELLS : 0)
| (!confused || scursed ? ALL_MAP : 0));
if (Hallucination) /* Ommmmmm! */
+/*JP
Your("mind releases itself from mundane concerns.");
+*/
+ Your("\90S\82Í\95½\96}\82È\97\98\8aQ\8aÖ\8cW\82©\82ç\89ð\95ú\82³\82ê\82½\81D");
else if (!strncmpi(plname, "Maud", 4))
pline(
+/*JP
"As your mind turns inward on itself, you forget everything else.");
+*/
+ "\82 \82È\82½\82Ì\90S\82Í\93à\91¤\82É\8cü\82«\81C\91S\82Ä\82ð\96Y\82ê\82Ä\82µ\82Ü\82Á\82½\81D");
else if (rn2(2))
+/*JP
pline("Who was that Maud person anyway?");
+*/
+ pline("Maud\82Á\82Ä\96º\82Í\82¢\82Á\82½\82¢\92N\82¾\82¢\81H");
else
+/*JP
pline("Thinking of Maud you forget everything else.");
+*/
+ pline("Maud\82ð\8dl\82¦\82é\82±\82Æ\88È\8aO\81C\82 \82È\82½\82Í\91S\82Ä\82ð\96Y\82ê\82Ä\82µ\82Ü\82Á\82½\81D");
exercise(A_WIS, FALSE);
break;
case SCR_FIRE:
if (Fire_resistance) {
shieldeff(u.ux, u.uy);
if (!Blind)
+/*JP
pline("Oh, look, what a pretty fire in your %s.",
+*/
+ pline("\82í\82\9f\82²\82ç\82ñ\81D\8f¬\82³\82È\89Î\82ª%s\82É\82 \82é\81D",
makeplural(body_part(HAND)));
else
+/*JP
You_feel("a pleasant warmth in your %s.",
+*/
+ You_feel("%s\82Ì\92\86\82É\89õ\93K\82È\92g\82©\82³\82ð\8a´\82¶\82½\81D",
makeplural(body_part(HAND)));
} else {
+/*JP
pline_The("scroll catches fire and you burn your %s.",
+*/
+ pline("\8aª\95¨\82É\89Î\82ª\94R\82¦\82¤\82Â\82è\81C\82 \82È\82½\82Ì%s\82ð\8fÄ\82¢\82½\81D",
makeplural(body_part(HAND)));
+/*JP
losehp(1, "scroll of fire", KILLED_BY_AN);
+*/
+ losehp(1, "\89\8a\82Ì\8aª\95¨\82Å", KILLED_BY_AN);
}
break;
}
if (Underwater) {
+/*JP
pline_The("water around you vaporizes violently!");
+*/
+ pline("\82 \82È\82½\82Ì\89ñ\82è\82Ì\90\85\82Í\95¦\93«\82µ\82½\81I");
} else {
+/*JP
pline_The("scroll erupts in a tower of flame!");
+*/
+ pline("\8aª\95¨\82©\82ç\89Î\92\8c\82ª\97§\82¿\8f¸\82Á\82½\81I");
iflags.last_msg = PLNMSG_TOWER_OF_FLAME; /* for explode() */
burn_away_slime();
}
/* Identify the scroll */
if (u.uswallow)
+/*JP
You_hear("rumbling.");
+*/
+ You_hear("\83S\83\8d\83S\83\8d\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
else
+#if 0 /*JP*/
pline_The("%s rumbles %s you!", ceiling(u.ux, u.uy),
sblessed ? "around" : "above");
+#else
+ pline("\82 \82È\82½\82Ì%s\82Ì%s\82©\82ç\83S\83\8d\83S\83\8d\82Æ\89¹\82ª\95·\82±\82¦\82Ä\82«\82½\81I",
+ sblessed ? "\82Ü\82í\82è" : "\90^\8fã", ceiling(u.ux,u.uy));
+#endif
known = 1;
sokoban_guilt();
case SCR_PUNISHMENT:
known = TRUE;
if (confused || sblessed) {
+/*JP
You_feel("guilty.");
+*/
+ You("\8dß\82ð\8a´\82¶\82½\81D");
break;
}
punish(sobj);
coord cc;
if (!already_known)
+/*JP
You("have found a scroll of stinking cloud!");
+*/
+ You("\88«\8fL\89_\82Ì\8aª\95¨\82ð\94\8c©\82µ\82½\81I");
known = TRUE;
+#if 0 /*JP*/
pline("Where do you want to center the %scloud?",
already_known ? "stinking " : "");
+#else
+ pline("\89_\82Ì\92\86\90S\82ð\82Ç\82±\82É\82µ\82Ü\82·\82©\81H");
+#endif
cc.x = u.ux;
cc.y = u.uy;
getpos_sethilite(display_stinking_cloud_positions);
+/*JP
if (getpos(&cc, TRUE, "the desired position") < 0) {
+*/
+ if (getpos(&cc, TRUE, "\91_\82¤\8fê\8f\8a") < 0) {
pline1(Never_mind);
break;
}
otmp2->owt = weight(otmp2);
if (!amorphous(youmonst.data) && !Passes_walls
&& !noncorporeal(youmonst.data) && !unsolid(youmonst.data)) {
+/*JP
You("are hit by %s!", doname(otmp2));
+*/
+ pline("%s\82ª\96½\92\86\82µ\82½\81I", doname(otmp2));
dmg = dmgval(otmp2, &youmonst) * otmp2->quan;
if (uarmh && helmet_protects) {
if (is_metallic(uarmh)) {
+/*JP
pline("Fortunately, you are wearing a hard helmet.");
+*/
+ pline("\8dK\89^\82É\82à\81C\82 \82È\82½\82Í\8cÅ\82¢\8a\95\82ð\90g\82É\82Â\82¯\82Ä\82¢\82é\81D");
if (dmg > 2)
dmg = 2;
} else if (flags.verbose) {
+/*JP
pline("%s does not protect you.", Yname2(uarmh));
+*/
+ Your("%s\82Å\82Í\8eç\82ê\82È\82¢\81D", xname(uarmh));
}
}
} else
dmg = 0;
/* Must be before the losehp(), for bones files */
+/*JP
if (!flooreffects(otmp2, u.ux, u.uy, "fall")) {
+*/
+ if (!flooreffects(otmp2, u.ux, u.uy, "\97\8e\82¿\82é")) {
place_object(otmp2, u.ux, u.uy);
stackobj(otmp2);
newsym(u.ux, u.uy);
}
if (dmg)
+/*JP
losehp(Maybe_Half_Phys(dmg), "scroll of earth", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(dmg), "\91å\92n\82Ì\8aª\95¨\82Å", KILLED_BY_AN);
}
boolean
int mdmg;
if (cansee(mtmp->mx, mtmp->my)) {
+/*JP
pline("%s is hit by %s!", Monnam(mtmp), doname(otmp2));
+*/
+ pline("%s\82ª%s\82É\96½\92\86\82µ\82½\81I", doname(otmp2), Monnam(mtmp));
if (mtmp->minvis && !canspotmon(mtmp))
map_invisible(mtmp->mx, mtmp->my);
} else if (u.uswallow && mtmp == u.ustuck)
if (helmet) {
if (is_metallic(helmet)) {
if (canspotmon(mtmp))
+/*JP
pline("Fortunately, %s is wearing a hard helmet.",
+*/
+ pline("\8dK\89^\82É\82à\81C%s\82Í\8cÅ\82¢\8a\95\82ð\90g\82É\82Â\82¯\82Ä\82¢\82é\81D",
mon_nam(mtmp));
else if (!Deaf)
+/*JP
You_hear("a clanging sound.");
+*/
+ You_hear("\83K\83\89\83\93\83K\83\89\83\93\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
if (mdmg > 2)
mdmg = 2;
} else {
if (canspotmon(mtmp))
+#if 0 /*JP*/
pline("%s's %s does not protect %s.", Monnam(mtmp),
xname(helmet), mhim(mtmp));
+#else
+ pline("%s\82Ì%s\82Å\82Í\8eç\82ê\82È\82¢\81D", Monnam(mtmp),
+ xname(helmet));
+#endif
}
}
mtmp->mhp -= mdmg;
return 1;
}
/* Drop the rock/boulder to the floor */
+/*JP
if (!flooreffects(otmp2, x, y, "fall")) {
+*/
+ if (!flooreffects(otmp2, x, y, "\97\8e\82¿\82é")) {
place_object(otmp2, x, y);
stackobj(otmp2);
newsym(x, y); /* map the rock */
struct obj *obj;
int chg; /* recharging */
{
+/*JP
const char *expl = !chg ? "suddenly" : "vibrates violently and";
+*/
+ const char *expl = !chg ? "\93Ë\91R" : "\8c\83\82µ\82\90U\93®\82µ\81C";
int dmg, n, k;
/* number of damage dice */
/* inflict damage and destroy the wand */
dmg = d(n, k);
obj->in_use = TRUE; /* in case losehp() is fatal (or --More--^C) */
+#if 0 /*JP*/
pline("%s %s explodes!", Yname2(obj), expl);
+#else
+ pline("%s\82Í%s\94\9a\94\82µ\82½\81I", xname(obj), expl);
+#endif
+/*JP
losehp(Maybe_Half_Phys(dmg), "exploding wand", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(dmg), "\8fñ\82Ì\94\9a\94\82Å", KILLED_BY_AN);
useup(obj);
/* obscure side-effect */
exercise(A_STR, FALSE);
if (!Blind) {
if (u.uswallow) {
+/*JP
pline("It seems even darker in here than before.");
+*/
+ pline("\91O\82æ\82è\88Ã\82\82È\82Á\82½\82æ\82¤\82É\8c©\82¦\82é\81D");
} else {
if (uwep && artifact_light(uwep) && uwep->lamplit)
+/*JP
pline("Suddenly, the only light left comes from %s!",
+*/
+ pline("\93Ë\91R\81C\96¾\82©\82è\82ª%s\82¾\82¯\82É\82È\82Á\82½\81I",
the(xname(uwep)));
else
+/*JP
You("are surrounded by darkness!");
+*/
+ You("\88Ã\88Å\82É\95¢\82í\82ê\82½\81I");
}
}
if (Blind)
; /* no feedback */
else if (is_animal(u.ustuck->data))
+#if 0 /*JP*/
pline("%s %s is lit.", s_suffix(Monnam(u.ustuck)),
mbodypart(u.ustuck, STOMACH));
+#else
+ pline("%s\82Ì%s\82Í\96¾\82é\82\82È\82Á\82½\81D", Monnam(u.ustuck),
+ mbodypart(u.ustuck, STOMACH));
+#endif
else if (is_whirly(u.ustuck->data))
+/*JP
pline("%s shines briefly.", Monnam(u.ustuck));
+*/
+ pline("%s\82Í\82¿\82å\82Á\82Æ\8bP\82¢\82½\81D", Monnam(u.ustuck));
else
+/*JP
pline("%s glistens.", Monnam(u.ustuck));
+*/
+ pline("%s\82Í\82«\82ç\82«\82ç\8bP\82¢\82½\81D", Monnam(u.ustuck));
} else if (!Blind)
+/*JP
pline("A lit field surrounds you!");
+*/
+ pline("\93\94\82è\82ª\82 \82È\82½\82ð\8eæ\82è\88Í\82ñ\82¾\81I");
}
/* No-op when swallowed or in water */
return;
}
do {
+/*JP
getlin("What class of monsters do you wish to genocide?", buf);
+*/
+ getlin("\82Ç\82Ì\83N\83\89\83X\82É\91®\82·\82é\89ö\95¨\82ð\8bs\8eE\82µ\82Ü\82·\82©\81H[\95¶\8e\9a\82ð\93ü\82ê\82Ä\82Ë]", buf);
(void) mungspaces(buf);
} while (!*buf);
/* choosing "none" preserves genocideless conduct */
+#if 0 /*JP*/
if (*buf == '\033' || !strcmpi(buf, "none")
|| !strcmpi(buf, "nothing"))
+#else
+ if (*buf == '\033' || !strcmpi(buf, "\82È\82µ")
+ || !strcmpi(buf, "\96³\82µ"))
+#endif
return;
class = name_to_monclass(buf, (int *) 0);
if (!goodcnt && class != mons[urole.malenum].mlet
&& class != mons[urace.malenum].mlet) {
if (gonecnt)
+/*JP
pline("All such monsters are already nonexistent.");
+*/
+ pline("\82»\82Ì\89ö\95¨\82Í\82à\82¤\82¢\82È\82¢\81D");
else if (immunecnt || class == S_invisible)
+/*JP
You("aren't permitted to genocide such monsters.");
+*/
+ You("\82»\82Ì\89ö\95¨\82ð\8bs\8eE\82·\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D");
else if (wizard && buf[0] == '*') {
register struct monst *mtmp, *mtmp2;
mongone(mtmp);
gonecnt++;
}
+/*JP
pline("Eliminated %d monster%s.", gonecnt, plur(gonecnt));
+*/
+ pline("%d\82Ì\89ö\95¨\82ð\8f\9c\82¢\82½\81D", gonecnt);
return;
} else
+#if 0 /*JP*/
pline("That %s does not represent any monster.",
strlen(buf) == 1 ? "symbol" : "response");
+#else
+ pline("\82»\82Ì\82æ\82¤\82È\89ö\95¨\82Í\82¢\82È\82¢\81D");
+#endif
continue;
}
reset_rndmonst(i);
kill_genocided_monsters();
update_inventory(); /* eggs & tins */
+/*JP
pline("Wiped out all %s.", nam);
+*/
+ pline("%s\82ð\91S\82Ä\94r\8f\9c\82µ\82½\81D", nam);
if (Upolyd && i == u.umonnum) {
u.mh = -1;
if (Unchanging) {
if (!feel_dead++)
+/*JP
You("die.");
+*/
+ You("\8e\80\82É\82Ü\82µ\82½\81D\81D\81D");
/* finish genociding this class of
monsters before ultimately dying */
gameover = TRUE;
u.uhp = -1;
if (Upolyd) {
if (!feel_dead++)
+/*JP
You_feel("dead inside.");
+*/
+ You("\8d°\82ª\8e\80\82ñ\82¾\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
} else {
if (!feel_dead++)
+/*JP
You("die.");
+*/
+ You("\8e\80\82É\82Ü\82µ\82½\81D\81D\81D");
gameover = TRUE;
}
}
} else if (mvitals[i].mvflags & G_GENOD) {
if (!gameover)
+/*JP
pline("All %s are already nonexistent.", nam);
+*/
+ pline("%s\82Í\8aù\82É\82¢\82È\82¢\81D", nam);
} else if (!gameover) {
/* suppress feedback about quest beings except
for those applicable to our own role */
if (i == PM_HIGH_PRIEST)
uniq = FALSE;
+#if 0 /*JP*/
You("aren't permitted to genocide %s%s.",
(uniq && !named) ? "the " : "",
(uniq || named) ? mons[i].mname : nam);
+#else
+ You("%s\82ð\8bs\8eE\82Å\82«\82È\82¢\81D",
+ (uniq || named) ? mons[i].mname : nam);
+#endif
}
}
}
}
if (gameover || u.uhp == -1) {
killer.format = KILLED_BY_AN;
+/*JP
Strcpy(killer.name, "scroll of genocide");
+*/
+ Strcpy(killer.name, "\8bs\8eE\82Ì\8aª\95¨\82Å");
if (gameover)
done(GENOCIDED);
}
pline1(thats_enough_tries);
return;
}
+/*JP
getlin("What monster do you want to genocide? [type the name]",
+*/
+ getlin("\82Ç\82Ì\89ö\95¨\82ð\8bs\8eE\82µ\82Ü\82·\82©\81H[\96¼\91O\82ð\93ü\82ê\82Ä\82Ë]",
buf);
(void) mungspaces(buf);
/* choosing "none" preserves genocideless conduct */
+/*JP
if (!strcmpi(buf, "none") || !strcmpi(buf, "nothing")) {
+*/
+ if (!strcmpi(buf, "\82È\82µ") || !strcmpi(buf, "\96³\82µ")) {
/* ... but no free pass if cursed */
if (!(how & REALLY)) {
ptr = rndmonst();
mndx = name_to_mon(buf);
if (mndx == NON_PM || (mvitals[mndx].mvflags & G_GENOD)) {
+#if 0 /*JP*/
pline("Such creatures %s exist in this world.",
(mndx == NON_PM) ? "do not" : "no longer");
+#else
+ pline("\82»\82Ì\82æ\82¤\82È\90¶\82«\95¨\82Í%s\82±\82Ì\90¢\8aE\82É\91¶\8dÝ\82µ\82È\82¢\81D",
+ (mndx == NON_PM) ? "" : "\82à\82Í\82â");
+#endif
continue;
}
ptr = &mons[mndx];
* circumstances */
if (flags.verbose)
pline(
+/*JP
"A thunderous voice booms through the caverns:");
+*/
+ "\97\8b\82Ì\82æ\82¤\82È\90º\82ª\93´\8cA\82É\8b¿\82¢\82½\81F");
+/*JP
verbalize("No, mortal! That will not be done.");
+*/
+ pline("\81u\92è\96½\82Ì\8eÒ\82æ\81I\82»\82Ì\96]\82Ý\82Í\82©\82È\82¤\82Ü\82¢\81D\81v");
}
continue;
}
}
}
+/*JP
which = "all ";
+*/
+ which = "\91S\82Ä";
if (Hallucination) {
if (Upolyd)
Strcpy(buf, youmonst.data->mname);
} else {
Strcpy(buf, ptr->mname); /* make sure we have standard singular */
if ((ptr->geno & G_UNIQ) && ptr != &mons[PM_HIGH_PRIEST])
+/*JP
which = !type_is_pname(ptr) ? "the " : "";
+*/
+ which = !type_is_pname(ptr) ? "" : "";
}
if (how & REALLY) {
/* setting no-corpse affects wishing and random tin generation */
mvitals[mndx].mvflags |= (G_GENOD | G_NOCORPSE);
+#if 0 /*JP*/
pline("Wiped out %s%s.", which,
(*which != 'a') ? buf : makeplural(buf));
+#else
+ pline("%s\82ð%s\88ê\91|\82µ\82½\81D", buf, which);
+#endif
if (killplayer) {
/* might need to wipe out dual role */
u.uhp = -1;
if (how & PLAYER) {
killer.format = KILLED_BY;
+/*JP
Strcpy(killer.name, "genocidal confusion");
+*/
+ Strcpy(killer.name, "\8d¬\97\90\82É\82æ\82é\8e©\8bs\93I\8bs\8eE\82Å");
} else if (how & ONTHRONE) {
/* player selected while on a throne */
killer.format = KILLED_BY_AN;
+/*JP
Strcpy(killer.name, "imperious order");
+*/
+ Strcpy(killer.name, "\98ü\96\9d\82È\96½\97ß\82Å");
} else { /* selected player deliberately, not confused */
killer.format = KILLED_BY_AN;
+/*JP
Strcpy(killer.name, "scroll of genocide");
+*/
+ Strcpy(killer.name, "\8bs\8eE\82Ì\8aª\95¨\82Å");
}
/* Polymorphed characters will die as soon as they're rehumanized.
/* KMH -- Unchanging prevents rehumanization */
if (Upolyd && ptr != youmonst.data) {
delayed_killer(POLYMORPH, killer.format, killer.name);
+/*JP
You_feel("dead inside.");
+*/
+ You("\8d°\82ª\8e\80\82ñ\82¾\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
} else
done(GENOCIDED);
} else if (ptr == youmonst.data) {
/* accumulated 'cnt' doesn't take groups into account;
assume bringing in new mon(s) didn't remove any old ones */
cnt = monster_census(FALSE) - census;
+#if 0 /*JP*/
pline("Sent in %s%s.", (cnt > 1) ? "some " : "",
(cnt > 1) ? makeplural(buf) : an(buf));
+#else
+ pline("%s\82ª\91\97\82ç\82ê\82Ä\82«\82½\81D", buf);
+#endif
} else
pline1(nothing_happens);
}
/* KMH -- Punishment is still okay when you are riding */
if (!reuse_ball)
+/*JP
You("are being punished for your misbehavior!");
+*/
+ You("\95s\8dì\96@\82Ì\82½\82ß\94±\82ð\8eó\82¯\82½\81I");
if (Punished) {
+/*JP
Your("iron ball gets heavier.");
+*/
+ Your("\93S\8b\85\82Í\82³\82ç\82É\8fd\82\82È\82Á\82½\81D");
uball->owt += 160 * (1 + sobj->cursed);
return;
}
if (amorphous(youmonst.data) || is_whirly(youmonst.data)
|| unsolid(youmonst.data)) {
if (!reuse_ball) {
+/*JP
pline("A ball and chain appears, then falls away.");
+*/
+ pline("\93S\8b\85\82Æ\8d½\82ª\8c»\82í\82ê\82½\82ª\81C\82·\82é\82Á\82Æ\94²\82¯\82½\81D");
dropy(mkobj(BALL_CLASS, TRUE));
} else {
dropy(reuse_ball);
monclass = MAXMCLASSES;
which = urole.malenum; /* an arbitrary index into mons[] */
maketame = makepeaceful = makehostile = FALSE;
+/*JP
getlin("Create what kind of monster? [type the name or symbol]", buf);
+*/
+ getlin("\82Ç\82Ì\8eí\82Ì\89ö\95¨\82ð\8dì\82è\82Ü\82·\82©\81H[\96¼\91O\82ð\93ü\82ê\82Ä\82Ë]", buf);
bufp = mungspaces(buf);
if (*bufp == '\033')
return FALSE;
/* allow the initial disposition to be specified */
+#if 0 /*JP*/
if (!strncmpi(bufp, "tame ", 5)) {
bufp += 5;
+#else
+ if (!strncmpi(bufp, "\8eè\82È\82¸\82¯\82ç\82ê\82½", 14)) {
+ bufp += 14;
+#endif
maketame = TRUE;
+#if 0 /*JP*/
} else if (!strncmpi(bufp, "peaceful ", 9)) {
bufp += 9;
+#else
+ } else if (!strncmpi(bufp, "\97F\8dD\93I\82È", 8)) {
+ bufp += 8;
+#endif
makepeaceful = TRUE;
+#if 0 /*JP*/
} else if (!strncmpi(bufp, "hostile ", 8)) {
bufp += 8;
+#else
+ } else if (!strncmpi(bufp, "\93G\91Î\93I\82È", 8)) {
+ bufp += 8;
+#endif
makehostile = TRUE;
}
/* decide whether a valid monster was chosen */
+/*JP
if (wizard && (!strcmp(bufp, "*") || !strcmp(bufp, "random"))) {
+*/
+ if (wizard && (!strcmp(bufp, "*") || !strcmp(bufp, "\83\89\83\93\83_\83\80"))) {
randmonst = TRUE;
break;
}
break;
}
/* no good; try again... */
+/*JP
pline("I've never heard of such monsters.");
+*/
+ pline("\82»\82Ì\82æ\82¤\82È\89ö\95¨\82Í\95·\82¢\82½\82±\82Æ\82ª\82È\82¢\81D");
} while (--tryct > 0);
if (!tryct) {
firstchoice = which;
if (cant_revive(&which, FALSE, (struct obj *) 0)) {
/* wizard mode can override handling of special monsters */
+#if 0 /*JP*/
Sprintf(buf, "Creating %s instead; force %s?",
mons[which].mname, mons[firstchoice].mname);
+#else
+ Sprintf(buf, "\91ã\82í\82è\82É%s\82ª\8dì\82ç\82ê\82Ü\82·\81G%s\82É\82·\82é\81H",
+ mons[which].mname, mons[firstchoice].mname);
+#endif
if (yn(buf) == 'y')
which = firstchoice;
}
make_blinded(1L, FALSE);
}
if (!Poison_resistance) {
+#if 0 /*JP*/
pline("%s is burning your %s!", Something,
makeplural(body_part(LUNG)));
+#else
+ pline("\89½\82©\96\82È\82à\82Ì\82ð\8bz\82¢\82±\82ñ\82¾\81I");
+#endif
+/*JP
You("cough and spit blood!");
+*/
+ You("\8aP\82«\82±\82Ý\81C\8c\8c\82ð\93f\82¢\82½\81I");
+/*JP
losehp(Maybe_Half_Phys(rnd(dam) + 5), "gas cloud", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(rnd(dam) + 5), "\83K\83X\89_\82Å", KILLED_BY_AN);
return FALSE;
} else {
+/*JP
You("cough!");
+*/
+ You("\8aP\82«\82±\82ñ\82¾\81I");
return FALSE;
}
} else { /* A monster is inside the cloud */
if (!(nonliving(mtmp->data) || is_vampshifter(mtmp))
&& !breathless(mtmp->data)) {
if (cansee(mtmp->mx, mtmp->my))
+/*JP
pline("%s coughs!", Monnam(mtmp));
+*/
+ pline("%s\82Í\8aP\82«\82±\82ñ\82¾\81I", Monnam(mtmp));
if (heros_fault(reg))
setmangry(mtmp);
if (haseyes(mtmp->data) && mtmp->mcansee) {
if (heros_fault(reg))
killed(mtmp);
else
+/*JP
monkilled(mtmp, "gas cloud", AD_DRST);
+*/
+ monkilled(mtmp, "\83K\83X\89_", AD_DRST);
if (mtmp->mhp <= 0) { /* not lifesaved */
return TRUE;
}
/* 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"
#include "lev.h"
#include "tcap.h" /* for TERMLIB and ASCIIGRAPH */
otmp2 = otmp->nobj;
if (otmp->in_use) {
if (!quietly)
+/*JP
pline("Finishing off %s...", xname(otmp));
+*/
+ pline("%s\82ð\8eg\82¢\8fI\82¦\82½\81D\81D\81D", xname(otmp));
useup(otmp);
}
}
&& uid != (unsigned long) getuid()) { /* strange ... */
/* for wizard mode, issue a reminder; for others, treat it
as an attempt to cheat and refuse to restore this file */
+/*JP
pline("Saved game was not yours.");
+*/
+ pline("\83Z\81[\83u\82³\82ê\82½\83Q\81[\83\80\82Í\82 \82È\82½\82Ì\82à\82Ì\82Å\82Í\82È\82¢\81D");
if (!wizard)
return FALSE;
}
#endif
if (u.uhp <= 0 && (!Upolyd || u.mh <= 0)) {
u.ux = u.uy = 0; /* affects pline() [hence You()] */
+#if 0 /*JP*/
You("were not healthy enough to survive restoration.");
+#else
+ You("\8dÄ\8aJ\82Å\82«\82é\82Ù\82Ç\8c\92\8dN\82Å\82Í\82È\82©\82Á\82½\81D");
+#endif
/* wiz1_level.dlevel is used by mklev.c to see if lots of stuff is
* uninitialized, so we only have to set it and not the other stuff.
*/
/* The savelev can't proceed because the size required
* is greater than the available disk space.
*/
+/*JP
pline("Not enough space on `%s' to restore your game.", levels);
+*/
+ pline("\83Q\81[\83\80\82ð\8dÄ\8aJ\82·\82é\82½\82ß\82Ì'%s'\82Ì\82½\82ß\82Ì\83X\83y\81[\83X\82ª\82È\82¢\81D", levels);
/* Remove levels and bones that may have been created.
*/
return dorecover(fd); /* 0 or 1 */
}
#endif /* ?AMIGA */
+/*JP
pline("Be seeing you...");
+*/
+ pline("\82Ü\82½\89ï\82¢\82Ü\82µ\82å\82¤\81D\81D\81D");
terminate(EXIT_SUCCESS);
}
#endif /* MFLOPPY */
clear_nhwindow(WIN_MAP);
#endif
clear_nhwindow(WIN_MESSAGE);
+#if 0 /*JP*/
You("return to level %d in %s%s.", depth(&u.uz),
dungeons[u.uz.dnum].dname,
flags.debug ? " while in debug mode"
: flags.explore ? " while in explore mode" : "");
+#else
+ You("%s%s\82Ì\92n\89º%d\8aK\82É\96ß\82Á\82Ä\82«\82½\81D",
+ flags.debug ? "\83E\83B\83U\81[\83h\83\82\81[\83h\92\86\82Ì"
+ : flags.explore ? "\92T\8c\9f\83\82\81[\83h\92\86\82Ì" : "",
+ dungeons[u.uz.dnum].dname, depth(&u.uz));
+#endif
curs(WIN_MAP, 1, 1);
dotcnt = 0;
dotrow = 2;
trickery(reason)
char *reason;
{
+/*JP
pline("Strange, this map is not as I remember it.");
+*/
+ pline("\96\82¾\81C\82±\82Ì\92n\90}\82Í\8e\84\82ª\8ao\82¦\82Ä\82¢\82½\82à\82Ì\82Æ\88á\82¤\81D");
+/*JP
pline("Somebody is trying some trickery here...");
+*/
+ pline("\82¾\82ê\82©\82ª\82±\82±\82Å\82¢\82©\82³\82Ü\82ð\82µ\82æ\82¤\82Æ\82µ\82½\82æ\82¤\82¾\81D\81D\81D");
+/*JP
pline("This game is void.");
+*/
+ pline("\82±\82Ì\83Q\81[\83\80\82Í\96³\8cø\82Æ\82È\82é\81D");
Strcpy(killer.name, reason ? reason : "");
done(TRICKED);
}
/* 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_DCL void FDECL(center, (int, char *));
for (line = DEATH_LINE, dpx = buf; line < YEAR_LINE; line++) {
register int i, i0;
char tmpchar;
+#if 1 /*JP*/
+ unsigned char *uc;
+ int jstone_line;
+
+ if ((i0 = strlen(dpx)) <= STONE_LINE_LEN)
+ jstone_line = STONE_LINE_LEN;
+ else if (i0 / 2 <= STONE_LINE_LEN )
+ jstone_line = ((i0 + 3) / 4) * 2;
+ else if (i0 / 3 <= STONE_LINE_LEN )
+ jstone_line = ((i0 + 5) / 6) * 2;
+ else
+ jstone_line = ((i0 + 7) / 8) * 2;
+#endif
if ((i0 = strlen(dpx)) > STONE_LINE_LEN) {
for (i = STONE_LINE_LEN; ((i0 > STONE_LINE_LEN) && i); i--)
if (dpx[i] == ' ')
i0 = i;
if (!i)
+#if 0 /*JP*/
i0 = STONE_LINE_LEN;
+#else
+ {
+ i0 = 0;
+ while(i0 < jstone_line){
+ uc = (unsigned char *)(dpx + i0);
+ if(*uc < 128)
+ ++i0;
+ else
+ i0 += 2;
+ }
+ }
+#endif
}
tmpchar = dpx[i0];
dpx[i0] = 0;
{ "\93´\8cA\8aw\8eÒ", 0 },
{ "\94ü\8fp\8eû\8fW\8eÒ", 0 },
{ "\8aÙ\92·", 0 } },
- "Quetzalcoatl", "Camaxtli", "Huhetotl", /* Central American */
+ "\83P\83c\83A\83\8b\83J\83g\83\8b", "\83J\83}\83L\83V\83g\83\8a", "\83t\83w\83g\83g\83\8b", /* Central American */
#endif
"Arc",
#if 0 /*JP*/
{ "\8eE\9dC\8eÒ", 0 },
{ "\8eñ\97Ì", 0 },
{ "\90ª\95\9e\8eÒ", 0 } },
- "Mitra", "Crom", "Set", /* Hyborian */
+ "\83~\83g\83\89", "\83N\83\8d\83\80", "\83Z\83g", /* Hyborian */
#endif
"Bar",
#if 0 /*JP*/
{ "\97V\96q\96¯", 0 },
{ "\97¬\98Q\8eÒ", 0 },
{ "\90æ\8bì\8eÒ", 0 } },
- "Anu", "_Ishtar", "Anshar", /* Babylonian */
+ "\83A\83k", "_\83C\83V\83\85\83^\83\8b", "\83A\83\93\83V\83\83\83\8b", /* Babylonian */
#endif
"Cav",
#if 0 /*JP*/
{ "\88ã\8et\8eå\94C", 0 },
{ "\93à\89È\88ã", 0 },
{ "\8aO\89È\88ã", 0 } },
- "_Athena", "Hermes", "Poseidon", /* Greek */
+ "_\83A\83e\83i", "\83w\83\8b\83\81\83X", "\83|\83Z\83C\83h\83\93", /* Greek */
#endif
"Hea",
#if 0 /*JP*/
{ "\8fd\8bR\8em", 0 },
{ "\8cM\8bR\8em", 0 },
{ "\90¹\8bR\8em", 0 } },
- "Lugh", "_Brigit", "Manannan Mac Lir", /* Celtic */
+ "\83\8b\81[\83t", "_\83u\83\8a\83W\83b\83g", "\83}\83i\83\93\83i\83\93\81E\83}\83N\83\8a\81[\83\8b", /* Celtic */
#endif
"Kni",
#if 0 /*JP*/
{ "\96Ø\82Ì\8fK\82¢\8eè", 0 },
{ "\89Î\82Ì\8fK\82¢\8eè", 0 },
{ "\96Æ\8b\96\8aF\93`", 0 } },
- "Shan Lai Ching", "Chih Sung-tzu", "Huan Ti", /* Chinese */
+ "\8eR\97\8b\90¸", "\90Ô\8f¼\8eq", "\89©\92é", /* Chinese */
#endif
"Mon",
#if 0 /*JP*/
{ "\93D\96_", 0 },
{ "\8b\93\90", 0 },
{ "\91å\93D\96_", 0 } },
- "Issek", "Mog", "Kos", /* Nehwon */
+ "\83C\83Z\83b\83N", "\83\82\83O", "\83R\83X", /* Nehwon */
#endif
"Rog",
#if 0 /*JP*/
{ "\91å\96¼", "\8d\98\8c³" }, /* a samurai lord */
{ "\8cö\89Æ", 0 }, /* Noble of the Court */
{ "\8cö\89Æ", "\91å\89\9c" } }, /* supreme commander, warlord */
- "_Amaterasu Omikami", "Raijin", "Susanowo", /* Japanese */
+ "_\93V\8fÆ\91å\90_", "\97\8b\90_", "\90{\8d²\94V\92j", /* Japanese */
#endif
"Sam",
#if 0 /*JP*/
{ "\8dq\8aC\8eÒ", 0 },
{ "\92T\8c\9f\89Æ", 0 },
{ "\96`\8c¯\8eÒ", 0 } },
- "Blind Io", "_The Lady", "Offler", /* Discworld */
+ "\96Ó\96Ú\82Ì\83C\83\8d", "_\81\83\8f\97\90_\81\84", "\83I\83t\83\89\81[", /* Discworld */
#endif
"Tou",
#if 0 /*JP*/
{ "\89p\97Y", 0 },
{ "\90æ\93±\8eÒ", 0 },
{ "\83\8d\81[\83h", "\83\8c\83f\83B" } },
- "Tyr", "Odin", "Loki", /* Norse */
+ "\83`\83\85\81[\83\8b", "\83I\81[\83f\83B\83\93", "\83\8d\83L", /* Norse */
#endif
"Val",
#if 0 /*JP*/
{ "\96\82\8fp\8et", 0 },
{ "\96\82\96@\8eg\82¢", 0 },
{ "\91å\96\82\96@\8eg\82¢", 0 } },
- "Ptah", "Thoth", "Anhur", /* Egyptian */
+ "\83v\83^\83n", "\83g\81[\83g", "\83A\83\93\83t\83\8b", /* Egyptian */
#endif
"Wiz",
#if 0 /*JP*/
STATIC_DCL int FDECL(race_alignmentcount, (int));
/* used by str2XXX() */
+/*JP
static char NEARDATA randomstr[] = "random";
+*/
+static char NEARDATA randomstr[] = "\83\89\83\93\83_\83\80";
boolean
validrole(rolenum)
char *buf;
int num_post_attribs;
{
+#if 0 /*JP*/
const char *conjuct = "and ";
if (num_post_attribs > 1 && post_attribs < num_post_attribs
--post_attribs;
if (!post_attribs && num_post_attribs > 1)
Strcat(buf, conjuct);
+#else
+ /*JP: \93ú\96{\8cê\82Å\82Í "A, B, and C" \82Æ\82¢\82¤\8f\88\97\9d\82Í\95s\97v */
+ if(num_post_attribs > post_attribs){
+ Strcat(buf, "\81C");
+ }
+ --post_attribs;
+#endif
return buf;
}
{
int k, gendercount = 0, aligncount = 0;
char buf[BUFSZ];
+/*JP
static char err_ret[] = " character's";
+*/
+ static char err_ret[] = "\83L\83\83\83\89\83N\83^\81[\82Ì";
boolean donefirst = FALSE;
if (!suppliedbuf || buflen < 1)
&& ok_align(rolenum, racenum, gendnum, alignnum)) {
/* if race specified, and multiple choice of alignments for it */
if ((racenum >= 0) && (aligncount > 1)) {
+#if 0 /*JP*/
if (donefirst)
Strcat(buf, " ");
+#endif
Strcat(buf, aligns[alignnum].adj);
donefirst = TRUE;
} else {
+#if 0 /*JP*/
if (donefirst)
Strcat(buf, " ");
+#endif
Strcat(buf, aligns[alignnum].adj);
donefirst = TRUE;
}
and name of role itself does not distinguish gender */
if ((rolenum != ROLE_NONE) && (gendercount > 1)
&& !roles[rolenum].name.f) {
+#if 0 /*JP*/
if (donefirst)
Strcat(buf, " ");
+#endif
Strcat(buf, genders[gendnum].adj);
donefirst = TRUE;
}
} else {
+#if 0 /*JP*/
if (donefirst)
Strcat(buf, " ");
+#endif
Strcat(buf, genders[gendnum].adj);
donefirst = TRUE;
}
if (racenum != ROLE_NONE && racenum != ROLE_RANDOM) {
if (validrole(rolenum)
&& ok_race(rolenum, racenum, gendnum, alignnum)) {
+#if 0 /*JP*/
if (donefirst)
Strcat(buf, " ");
+#endif
Strcat(buf, (rolenum == ROLE_NONE) ? races[racenum].noun
: races[racenum].adj);
donefirst = TRUE;
} else if (!validrole(rolenum)) {
+#if 0 /*JP*/
if (donefirst)
Strcat(buf, " ");
+#endif
Strcat(buf, races[racenum].noun);
donefirst = TRUE;
} else {
/* <your lawful female gnomish> || <your lawful female gnome> */
if (validrole(rolenum)) {
+#if 0 /*JP*/
if (donefirst)
Strcat(buf, " ");
+#endif
if (gendnum != ROLE_NONE) {
if (gendnum == 1 && roles[rolenum].name.f)
Strcat(buf, roles[rolenum].name.f);
if ((racenum == ROLE_NONE || racenum == ROLE_RANDOM)
&& !validrole(rolenum)) {
+#if 0 /*JP*/
if (donefirst)
Strcat(buf, " ");
+#endif
+/*JP
Strcat(buf, "character");
+*/
+ Strcat(buf, "\83L\83\83\83\89\83N\83^\81[");
donefirst = TRUE;
}
/* <your lawful female gnomish cavewoman> || <your lawful female gnome>
char *buf;
int buflen, rolenum, racenum, gendnum, alignnum;
{
+/*JP
const char *defprompt = "Shall I pick a character for you? [ynaq] ";
+*/
+ const char *defprompt = "\93K\93\96\82É\83L\83\83\83\89\83N\83^\81[\82ð\91I\82ñ\82Å\82æ\82¢\82Å\82·\82©\81H[ynaq] ";
int num_post_attribs = 0;
char tmpbuf[BUFSZ], *p;
if (buflen < QBUFSZ)
return (char *) defprompt;
+#if 0 /*JP*/
Strcpy(tmpbuf, "Shall I pick ");
if (racenum != ROLE_NONE || validrole(rolenum))
Strcat(tmpbuf, "your ");
else {
Strcat(tmpbuf, "a ");
}
+#else
+ Strcpy(tmpbuf, "");
+#endif
/* <your> */
(void) root_plselection_prompt(eos(tmpbuf), buflen - strlen(tmpbuf),
rolenum, racenum, gendnum, alignnum);
+#if 0 /*JP*/
Sprintf(buf, "%s", s_suffix(tmpbuf));
+#else
+ Sprintf(buf, "%s\82Ì", tmpbuf);
+#endif
+#if 0 /*JP:\93ú\96{\8cê\82Å\82Í\95s\97v*/
/* don't bother splitting caveman/cavewoman or priest/priestess
in order to apply possessive suffix to both halves, but do
change "priest/priestess'" to "priest/priestess's" */
if ((p = strstri(buf, "priest/priestess'")) != 0
&& p[sizeof "priest/priestess'" - sizeof ""] == '\0')
strkitten(buf, 's');
+#endif
/* buf should now be:
* <your lawful female gnomish cavewoman's>
if (post_attribs) {
if (pa[BP_RACE]) {
(void) promptsep(eos(buf), num_post_attribs);
+/*
Strcat(buf, "race");
+*/
+ Strcat(buf, "\8eí\91°");
}
if (pa[BP_ROLE]) {
(void) promptsep(eos(buf), num_post_attribs);
+/*
Strcat(buf, "role");
+*/
+ Strcat(buf, "\90E\8bÆ");
}
if (pa[BP_GEND]) {
(void) promptsep(eos(buf), num_post_attribs);
+/*JP
Strcat(buf, "gender");
+*/
+ Strcat(buf, "\90«\95Ê");
}
if (pa[BP_ALIGN]) {
(void) promptsep(eos(buf), num_post_attribs);
+/*JP
Strcat(buf, "alignment");
+*/
+ Strcat(buf, "\91®\90«");
}
}
+/*JP
Strcat(buf, " for you? [ynaq] ");
+*/
+ Strcat(buf, "\82ð\93K\93\96\82É\91I\82ñ\82Å\82æ\82ë\82µ\82¢\82Å\82·\82©\81H[ynq] ");
return buf;
}
int which;
winid where;
{
+/*JP
static const char NEARDATA choosing[] = " choosing now",
+*/
+ static const char NEARDATA choosing[] = " \8c»\8dÝ\91I\91ð\92\86",
+/*JP
not_yet[] = " not yet specified",
+*/
+ not_yet[] = " \96¢\91I\91ð",
+/*JP
rand_choice[] = " random";
+*/
+ rand_choice[] = " \83\89\83\93\83_\83\80";
char buf[BUFSZ];
int r, c, g, a, allowmask;
Sprintf(eos(buf), "/%s", roles[r].name.f);
}
putstr(where, 0, buf);
+/*JP
Sprintf(buf, "%12s ", "race:");
+*/
+ Sprintf(buf, "%12s ", "\8eí\91°:");
Strcat(buf, (which == RS_RACE) ? choosing : (c == ROLE_NONE)
? not_yet
: (c == ROLE_RANDOM)
? rand_choice
: races[c].noun);
putstr(where, 0, buf);
+/*JP
Sprintf(buf, "%12s ", "gender:");
+*/
+ Sprintf(buf, "%12s ", "\90«\95Ê:");
Strcat(buf, (which == RS_GENDER) ? choosing : (g == ROLE_NONE)
? not_yet
: (g == ROLE_RANDOM)
? rand_choice
: genders[g].adj);
putstr(where, 0, buf);
+/*JP
Sprintf(buf, "%12s ", "alignment:");
+*/
+ Sprintf(buf, "%12s ", "\91®\90«:");
Strcat(buf, (which == RS_ALGNMNT) ? choosing : (a == ROLE_NONE)
? not_yet
: (a == ROLE_RANDOM)
? rand_choice
+#if 0 /*JP:\93ú\96{\8cê\82Å\82Í\96¼\8e\8c\82ª\8e©\91R*/
: aligns[a].adj);
+#else
+ : aligns[a].noun);
+#endif
putstr(where, 0, buf);
}
Hello(mtmp)
struct monst *mtmp;
{
+#if 0 /*JP*/
switch (Role_switch) {
case PM_KNIGHT:
return "Salutations"; /* Olde English */
default:
return "Hello";
}
+#else
+/*
+ \82 \82¢\82³\82Â\82Í\93ú\96{\8cê\82Æ\82µ\82Ä\8e©\91R\82É\82È\82é\82æ\82¤\91å\82«\82\8ed\97l\82ð\95Ï\8dX
+*/
+ static char helo_buf[BUFSZ];
+
+ switch (Role_switch) {
+ case PM_KNIGHT:
+ Sprintf(helo_buf, "\82æ\82\82¼\8eQ\82Á\82½%s\82æ", plname);
+ break;
+ case PM_SAMURAI:
+ Sprintf(helo_buf, "\82æ\82\82¼\8eQ\82ç\82ê\82½%s\82æ", plname);
+ break;
+ case PM_TOURIST:
+ Sprintf(helo_buf, "\83A\83\8d\81[\83n%s", plname);
+ break;
+ case PM_VALKYRIE:
+ Sprintf(helo_buf, "\8d°\82Ì\8eç\8cì\8eÒ%s\82æ", plname);
+ break;
+ default:
+ Sprintf(helo_buf, "\82æ\82¤\82±\82»%s", plname);
+ break;
+ }
+
+ return helo_buf;
+#endif
}
const char *
Goodbye()
{
+#if 0 /*JP*/
switch (Role_switch) {
case PM_KNIGHT:
return "Fare thee well"; /* Olde English */
default:
return "Goodbye";
}
+#else
+ static char helo_buf[BUFSZ];
+
+ switch (Role_switch) {
+ case PM_KNIGHT:
+ Sprintf(helo_buf, "\82³\82ç\82Î\8chåi\82È\82é");
+ break;
+ case PM_SAMURAI:
+ Sprintf(helo_buf, "\82³\82ç\82Î\95\90\8em\93¹\82ð\8eu\82·");
+ break;
+ case PM_TOURIST:
+ Sprintf(helo_buf, "\83A\83\8d\81[\83n");
+ break;
+ case PM_VALKYRIE:
+ Sprintf(helo_buf, "\82³\82ç\82Î\8d°\82Ì\8eç\8cì\8eÒ");
+ break;
+ default:
+ Sprintf(helo_buf, "\82³\82æ\82¤\82È\82ç");
+ break;
+ }
+
+ return helo_buf;
+#endif
}
/* role.c */
Strcat(rumor_buf, xcrypt(line, xbuf));
} while (
count++ < 50 && exclude_cookie
+#if 0 /*JP*/
&& (strstri(rumor_buf, "fortune") || strstri(rumor_buf, "pity")));
+#else
+ && (strstri(rumor_buf, "\90è") || strstri(rumor_buf, "\82È\82ñ\82Ä\82±\82Æ\82¾")));
+#endif
(void) dlb_fclose(rumors);
if (count >= 50)
impossible("Can't find non-cookie rumor?");
else if (!in_mklev) /* avoid exercizing wisdom for graffiti */
exercise(A_WIS, (adjtruth > 0));
} else {
+/*JP
pline("Can't open rumors file!");
+*/
+ pline("rumors\83t\83@\83C\83\8b\82ª\8aJ\82¯\82È\82¢\81I");
true_rumor_size = -1; /* don't try to open it again */
}
/* this is safe either way, so do it always since we can't get the definition
int mechanism;
{
static const char fortune_msg[] =
+/*JP
"This cookie has a scrap of paper inside.";
+*/
+ "\82±\82Ì\83N\83b\83L\81[\82É\82Í\8e\86\90Ø\82ª\93ü\82Á\82Ä\82¢\82é\81D";
const char *line;
char buf[BUFSZ];
boolean reading = (mechanism == BY_COOKIE || mechanism == BY_PAPER);
else if (Blind) {
if (mechanism == BY_COOKIE)
pline(fortune_msg);
+/*JP
pline("What a pity that you cannot read it!");
+*/
+ pline("\82»\82ê\82ð\93Ç\82ß\82È\82¢\82È\82ñ\82Ä\8bC\82Ì\93Å\82È\81I");
return;
}
}
line = getrumor(truth, buf, reading ? FALSE : TRUE);
if (!*line)
+/*JP
line = "NetHack rumors file closed for renovation.";
+*/
+ line = "\89\\82Ì\90^\91\8a\82Í\8dü\90V\82Ì\82½\82ß\8bx\8a§\82µ\82Ä\82¢\82é\81D";
switch (mechanism) {
case BY_ORACLE:
/* Oracle delivers the rumor */
+#if 0 /*JP*/
pline("True to her word, the Oracle %ssays: ",
(!rn2(4) ? "offhandedly "
: (!rn2(3) ? "casually "
: (rn2(2) ? "nonchalantly " : ""))));
+#else
+ pline("\96ñ\91©\82Ç\82¨\82è\82É\81C\8c«\8eÒ\82Í%s\8fq\82×\82½:",
+ (!rn2(4) ? "\96³\91¢\8dì\82É"
+ : (!rn2(3) ? "\89½\8bC\82È\82"
+ : (rn2(2) ? "\96³\93Ú\92\85\82É" : ""))));
+#endif
verbalize1(line);
/* [WIS exercized by getrumor()] */
return;
pline(fortune_msg);
/* FALLTHRU */
case BY_PAPER:
+/*JP
pline("It reads:");
+*/
+ pline("\82»\82ê\82ð\93Ç\82ñ\82¾:");
break;
}
pline1(line);
if (delphi)
putstr(tmpwin, 0,
special
+/*JP
? "The Oracle scornfully takes all your money and says:"
+*/
+ ? "\8c«\8eÒ\82Í\8cy\95Ì\82µ\82½\82æ\82¤\82É\82 \82È\82½\82Ì\91S\82Ä\82Ì\82¨\8bà\82ð\8eó\82¯\82Æ\82è\81C\8fq\82×\82½\81F"
+/*JP
: "The Oracle meditates for a moment and then intones:");
+*/
+ : "\8c«\8eÒ\82Í\82µ\82Î\82ç\82\96»\91z\82µ\81C\89Ì\82¤\82æ\82¤\82É\98b\82µ\82½\81F");
else
+/*JP
putstr(tmpwin, 0, "The message reads:");
+*/
+ putstr(tmpwin, 0, "\83\81\83b\83Z\81[\83W:");
putstr(tmpwin, 0, "");
while (dlb_fgets(line, COLNO, oracles) && strcmp(line, "---\n")) {
destroy_nhwindow(tmpwin);
(void) dlb_fclose(oracles);
} else {
+/*JP
pline("Can't open oracles file!");
+*/
+ pline("oracles\83t\83@\83C\83\8b\82ð\8aJ\82¯\82È\82¢\81I");
oracle_flg = -1; /* don't try to open it again */
}
}
umoney = money_cnt(invent);
if (!oracl) {
+/*JP
There("is no one here to consult.");
+*/
+ pline("\82±\82±\82É\82Í\90_\91õ\82ð\8fq\82×\82é\90l\82Í\82¢\82È\82¢\81D");
return 0;
} else if (!oracl->mpeaceful) {
+/*JP
pline("%s is in no mood for consultations.", Monnam(oracl));
+*/
+ pline("\8c«\8eÒ\82Í\90_\91õ\82ð\8d\90\82°\82Ä\82\82ê\82é\95µ\88Í\8bC\82Å\82Í\82È\82¢\81D");
return 0;
} else if (!umoney) {
+/*JP
You("have no money.");
+*/
+ You("\82¨\8bà\82ª\82È\82¢\81D");
return 0;
}
+/*JP
Sprintf(qbuf, "\"Wilt thou settle for a minor consultation?\" (%d %s)",
+*/
+ Sprintf(qbuf, "\81u\93ð\81C\92á\88Ê\82Ì\90_\91õ\82ð\8eó\82¯\82é\82©\81H\81v(%d%s)",
minor_cost, currency((long) minor_cost));
switch (ynq(qbuf)) {
default:
return 0;
case 'y':
if (umoney < (long) minor_cost) {
+/*JP
You("don't even have enough money for that!");
+*/
+ You("\82±\82ê\82É\95¥\82¦\82é\82¾\82¯\82Ì\82¨\8bà\82·\82ç\8e\9d\82Á\82Ä\82¢\82È\82¢\81I");
return 0;
}
u_pay = minor_cost;
if (umoney <= (long) minor_cost /* don't even ask */
|| (oracle_cnt == 1 || oracle_flg < 0))
return 0;
- Sprintf(qbuf, "\"Then dost thou desire a major one?\" (%d %s)",
+ Sprintf(qbuf, "\81u\82È\82ç\82Î\93ð\81C\8d\82\88Ê\82Ì\90_\91õ\82ð\8eó\82¯\82é\82©\81H\81v(%d%s)",
major_cost, currency((long) major_cost));
if (yn(qbuf) != 'y')
return 0;
dosave()
{
clear_nhwindow(WIN_MESSAGE);
+/*JP
if (yn("Really save?") == 'n') {
+*/
+ if(yn("\96{\93\96\82É\95Û\91¶\82·\82é\81H") == 'n') {
clear_nhwindow(WIN_MESSAGE);
if (multi > 0)
nomul(0);
} else {
clear_nhwindow(WIN_MESSAGE);
+/*JP
pline("Saving...");
+*/
+ pline("\95Û\91¶\92\86\81D\81D\81D");
#if defined(UNIX) || defined(VMS) || defined(__EMX__)
program_state.done_hup = 0;
#endif
u.uhp = -1; /* universal game's over indicator */
/* make sure they see the Saving message */
display_nhwindow(WIN_MESSAGE, TRUE);
+/*JP
exit_nhwindows("Be seeing you...");
+*/
+ exit_nhwindows("\82Ü\82½\89ï\82¢\82Ü\82µ\82å\82¤\81D\81D\81D");
terminate(EXIT_SUCCESS);
} else
(void) doredraw();
if (fd > 0) {
(void) nhclose(fd);
clear_nhwindow(WIN_MESSAGE);
+/*JP
There("seems to be an old save file.");
+*/
+ pline("\91O\82É\83Z\81[\83u\82µ\82½\83t\83@\83C\83\8b\82ª\82 \82è\82Ü\82·\81D");
+/*JP
if (yn("Overwrite the old file?") == 'n') {
+*/
+ if (yn("\8cÃ\82¢\83t\83@\83C\83\8b\82É\8fã\8f\91\82«\82µ\82Ü\82·\82©\81H") == 'n') {
nh_compress(fq_save);
return 0;
}
/* 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 PAY_SOME 2
extern const struct shclass shtypes[]; /* defined in shknam.c */
STATIC_VAR NEARDATA long int followmsg; /* last time of follow message */
+/*JP
STATIC_VAR const char and_its_contents[] = " and its contents";
+*/
+STATIC_VAR const char and_its_contents[] = "\92\86\90g\82ð\8d\87\82í\82¹\82Ä";
STATIC_VAR const char the_contents_of[] = "the contents of ";
STATIC_DCL void FDECL(append_honorific, (char *));
STATIC_DCL void FDECL(deserted_shop, (char *));
STATIC_DCL boolean FDECL(special_stock, (struct obj *, struct monst *,
BOOLEAN_P));
+#if 0 /*JP*//*\8eg\82í\82È\82¢*/
STATIC_DCL const char *FDECL(cad, (BOOLEAN_P));
+#endif
/*
invariants: obj->unpaid iff onbill(obj) [unless bp->useup]
obj_extract_self(mongold);
if (!merge_choice(invent, mongold) && inv_cnt(FALSE) >= 52) {
+/*JP
You("have no room for the money!");
+*/
+ You("\82¨\8bà\82ð\8e\9d\82Â\97]\97T\82ª\82È\82¢\81I");
dropy(mongold);
} else {
addinv(mongold);
return;
if (!Deaf)
+/*JP
pline("An alarm sounds!");
+*/
+ pline("\8cx\95ñ\82ª\96Â\82è\82Ð\82Ñ\82¢\82½\81I");
nokops = ((mvitals[PM_KEYSTONE_KOP].mvflags & G_GONE)
&& (mvitals[PM_KOP_SERGEANT].mvflags & G_GONE)
if (!angry_guards(!!Deaf) && nokops) {
if (flags.verbose && !Deaf)
+/*JP
pline("But no one seems to respond to it.");
+*/
+ pline("\82µ\82©\82µ\92N\82à\89\9e\93\9a\82µ\82È\82©\82Á\82½\81D");
return;
}
if (nearshop) {
/* Create swarm around you, if you merely "stepped out" */
if (flags.verbose)
+/*JP
pline_The("Keystone Kops appear!");
+*/
+ pline("\8cx\94õ\88õ\82ª\8c»\82í\82ê\82½\81I");
mm.x = u.ux;
mm.y = u.uy;
makekops(&mm);
return;
}
if (flags.verbose)
+/*JP
pline_The("Keystone Kops are after you!");
+*/
+ pline("\8cx\94õ\88õ\82ª\82¢\82é\81I");
/* Create swarm near down staircase (hinders return to level) */
mm.x = xdnstair;
mm.y = ydnstair;
* Player just stepped onto shop-boundary (known from above logic).
* Try to intimidate him into paying his bill
*/
+#if 0 /*JP*/
verbalize(NOTANGRY(shkp) ? "%s! Please pay before leaving."
: "%s! Don't you leave without paying!",
plname);
+#else
+ verbalize(NOTANGRY(shkp) ? "%s\82³\82ñ\81I\8bA\82é\91O\82É\81C\82¨\8bà\82ð\95¥\82Á\82Ä\82¢\82½\82¾\82¯\82Ü\82¹\82ñ\82©\81D"
+ : "%s\81I\8bA\82é\91O\82É\81C\8bà\82ð\95¥\82¦\81I",
+ plname);
+#endif
return;
}
rouse_shk(shkp, TRUE);
total = (addupbill(shkp) + eshkp->debit);
if (eshkp->credit >= total) {
+#if 0 /*JP*/
Your("credit of %ld %s is used to cover your shopping bill.",
+#else
+ Your("\97a\82¯\8bà\82©\82ç%ld%s\82ª\8a¨\92è\82Ì\8ex\95¥\82¢\82É\8eg\82í\82ê\82½\81D",
+#endif
eshkp->credit, currency(eshkp->credit));
total = 0L; /* credit gets cleared by setpaid() */
} else {
+/*JP
You("escaped the shop without paying!");
+*/
+ You("\8bà\82ð\95¥\82í\82¸\82É\93X\82©\82ç\93¦\82°\82½\81I");
total -= eshkp->credit;
}
setpaid(shkp);
/* by this point, we know an actual robbery has taken place */
eshkp->robbed += total;
+/*JP
You("stole %ld %s worth of merchandise.", total, currency(total));
+*/
+ You("\8eG\89Ý\82ð%ld%s\95ª\93\90\82ñ\82¾\81D", total, currency(total));
if (!Role_if(PM_ROGUE)) /* stealing is unlawful */
adjalign(-sgn(u.ualign.type));
if (Blind && !(Blind_telepat || Detect_monsters))
++n; /* force feedback to be less specific */
+#if 0 /*JP*/
pline("This shop %s %s.", (m < n) ? "seems to be" : "is",
!n ? "deserted" : "untended");
+#else
+ pline("\93X\82Í%s%s\81D",
+ !n ? "\94p\9aÐ\82Æ\89»\82µ\82Ä\82¢\82é" : "\95ú\8aü\82³\82ê\82Ä\82¢\82é",
+ (m < n) ? "\82æ\82¤\82¾" : "is");
+#endif
}
void
return; /* no dialog */
if (Invis) {
+/*JP
pline("%s senses your presence.", shkname(shkp));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\91¶\8dÝ\82É\8bC\82ª\82Â\82¢\82½\81D", shkname(shkp));
+/*JP
verbalize("Invisible customers are not welcome!");
+*/
+ verbalize("\93§\96¾\82È\82¨\8bq\82³\82ñ\82Æ\82Í\8a´\90S\82µ\82È\82¢\82È\81I");
return;
}
rt = rooms[*enterstring - ROOMOFFSET].rtype;
if (ANGRY(shkp)) {
+#if 0 /*JP*/
verbalize("So, %s, you dare return to %s %s?!", plname,
s_suffix(shkname(shkp)), shtypes[rt - SHOPBASE].name);
+#else
+ verbalize("%s\81I\82í\82´\82í\82´%s\82Ì%s\82É\96ß\82Á\82Ä\82«\82½\82Ì\82©\81H\81I", plname,
+ s_suffix(shkname(shkp)), shtypes[rt - SHOPBASE].name);
+#endif
} else if (eshkp->robbed) {
+/*JP
pline("%s mutters imprecations against shoplifters.", shkname(shkp));
+*/
+ pline("%s\82Í\93D\96_\82ð\82Ì\82Ì\82µ\82Á\82½\81D", shkname(shkp));
} else {
verbalize("%s, %s! Welcome%s to %s %s!", Hello(shkp), plname,
eshkp->visitct++ ? " again" : "", s_suffix(shkname(shkp)),
if (pick || mattock) {
cnt = 1; /* so far */
if (pick && mattock) { /* carrying both types */
+/*JP
tool = "digging tool";
+*/
+ tool = "\8c@\82é\93¹\8bï";
cnt = 2; /* `more than 1' is all that matters */
} else if (pick) {
+/*JP
tool = "pick-axe";
+*/
+ tool = "\82Â\82é\82Í\82µ";
/* hack: `pick' already points somewhere into inventory */
while ((pick = pick->nobj) != 0)
if (pick->otyp == PICK_AXE)
++cnt;
} else { /* assert(mattock != 0) */
+/*JP
tool = "mattock";
+*/
+ tool = "\82Â\82é\82Í\82µ";
while ((mattock = mattock->nobj) != 0)
if (mattock->otyp == DWARVISH_MATTOCK)
++cnt;
if (!Blind)
makeknown(DWARVISH_MATTOCK);
}
+#if 0 /*JP*/
verbalize(NOTANGRY(shkp)
? "Will you please leave your %s%s outside?"
: "Leave the %s%s outside.",
tool, plur(cnt));
+#else
+ verbalize(NOTANGRY(shkp)
+ ? "%s\82ð\8aO\82É\92u\82¢\82Ä\82«\82Ä\82¢\82½\82¾\82¯\82Ü\82¹\82ñ\82©\81H"
+ : "%s\82ð\8aO\82Ö\92u\82¢\82Ä\82±\82¢\81I",
+ tool);
+#endif
should_block = TRUE;
} else if (u.usteed) {
+#if 0 /*JP*/
verbalize(NOTANGRY(shkp) ? "Will you please leave %s outside?"
: "Leave %s outside.",
y_monnam(u.usteed));
+#else
+ verbalize(NOTANGRY(shkp) ? "%s\82ð\8aO\82É\92u\82¢\82Ä\82«\82Ä\82¢\82½\82¾\82¯\82Ü\82¹\82ñ\82©\81H"
+ : "%s\82ð\8aO\82Ö\92u\82¢\82Ä\82±\82¢\81I",
+ y_monnam(u.usteed));
+#endif
should_block = TRUE;
} else {
should_block =
/* if you bring a sack of N picks into a shop to sell,
don't repeat this N times when they're taken out */
if (moves != pickmovetime)
+#if 0 /*JP*/
verbalize("You sneaky %s! Get out of here with that pick!",
cad(FALSE));
+#else
+ verbalize("\82Ð\82«\82å\82¤\8eÒ\82ß\81I\82Â\82é\82Í\82µ\82ð\8e\9d\82Á\82Ä\8aO\82É\8fo\82ë\81I");
+#endif
pickmovetime = moves;
}
}
eshkp = this_shkp ? ESHK(this_shkp) : 0;
if (eshkp && !(eshkp->credit || shop_debt(eshkp))) {
+/*JP
You("have no credit or debt in here.");
+*/
+ You("\97a\82¯\8bà\82à\8eØ\8bà\82à\82È\82¢\81D");
this_shkp = 0; /* skip first pass */
}
continue;
eshkp = ESHK(shkp);
if ((amt = eshkp->credit) != 0)
+#if 0 /*JP*/
You("have %ld %s credit at %s %s.", amt, currency(amt),
s_suffix(shkname(shkp)),
shtypes[eshkp->shoptype - SHOPBASE].name);
+#else
+ You("%ld%s\82Ì\97a\82¯\8bà\82ª%s\82Ì%s\82É\82 \82é\81D", amt, currency(amt),
+ shkname(shkp),
+ shtypes[eshkp->shoptype - SHOPBASE].name);
+#endif
else if (shkp == this_shkp)
+/*JP
You("have no credit in here.");
+*/
+ You("\97a\82¯\8bà\82Í\82È\82¢\81D");
if ((amt = shop_debt(eshkp)) != 0)
+/*JP
You("owe %s %ld %s.", shkname(shkp), amt, currency(amt));
+*/
+ You("%s\82É%ld%s\82Ì\8eØ\82è\82ª\82 \82é\81D", shkname(shkp), amt, currency(amt));
else if (shkp == this_shkp)
+/*JP
You("don't owe any money here.");
+*/
+ pline("\82±\82Ì\93X\82É\8eØ\82è\82Í\82È\82¢\81D");
}
}
while (--ct >= 0)
if (bp->bo_id == obj->o_id) {
if (!obj->unpaid)
+/*JP
pline("onbill: paid obj on bill?");
+*/
+ pline("\8a¨\92è\81F\95¥\82¤\81H");
return bp;
} else
bp++;
}
if (obj->unpaid & !silent)
+/*JP
pline("onbill: unpaid obj not on bill?");
+*/
+ pline("\8a¨\92è\81F\95¥\82í\82È\82¢\81H");
return (struct bill_x *) 0;
}
if (credit == 0L) {
; /* nothing to do; just 'return tmp;' */
} else if (credit >= tmp) {
+/*JP
pline_The("price is deducted from your credit.");
+*/
+ pline("\91ã\8bà\82Í\97a\82¯\8bà\82©\82ç\8d·\82µ\88ø\82©\82ê\82½\81D");
ESHK(shkp)->credit -= tmp;
tmp = 0L;
} else {
+/*JP
pline_The("price is partially covered by your credit.");
+*/
+ pline("\91ã\8bà\82Ì\88ê\95\94\82Í\82 \82È\82½\82Ì\97a\82¯\8bà\82Å\95â\82í\82ê\82½\81D");
ESHK(shkp)->credit = 0L;
tmp -= credit;
}
if (!shkp->mcanmove || shkp->msleeping) {
/* greed induced recovery... */
if (verbosely && canspotmon(shkp))
+#if 0 /*JP*/
pline("%s %s.", Monnam(shkp),
shkp->msleeping ? "wakes up" : "can move again");
+#else
+ pline("%s\82Í%s\81D", Monnam(shkp),
+ shkp->msleeping ? "\96Ú\82ª\8ao\82ß\82½" : "\82Ó\82½\82½\82Ñ\93®\82¯\82é\82æ\82¤\82É\82È\82Á\82½");
+#endif
shkp->msleeping = 0;
shkp->mfrozen = 0;
shkp->mcanmove = 1;
eshkp->dismiss_kops = TRUE;
}
if (vanished)
+/*JP
pline("Satisfied, %s suddenly disappears!", shk_nam);
+*/
+ pline("%s\82Í\96\9e\91«\82·\82é\82Æ\81C\93Ë\91R\8fÁ\82¦\82½\81I", shk_nam);
} else if (wasmad)
+/*JP
pline("%s calms down.", Monnam(shkp));
+*/
+ pline("%s\82Í\97\8e\92\85\82¢\82½\81D", Monnam(shkp));
make_happy_shoppers(silentkops);
}
sx = shkp->mx, sy = shkp->my;
if (isok(ox, oy) && cansee(ox, oy) && !cansee(sx, sy))
shkp->mx = ox, shkp->my = oy;
+/*JP
pline("%s %s!", Monnam(shkp), !ANGRY(shkp) ? "gets angry" : "is furious");
+*/
+ pline("%s\82Í%s\81I", Monnam(shkp), !ANGRY(shkp) ? "\93{\82Á\82½" : "\93{\82è\8b¶\82Á\82½");
shkp->mx = sx, shkp->my = sy;
hot_pursuit(shkp);
}
+/*JP
STATIC_VAR const char no_money[] = "Moreover, you%s have no money.";
+*/
+STATIC_VAR const char no_money[] = "\82µ\82©\82à\81C\82 \82È\82½\82Í\82¨\8bà\82ª\82È\82¢%s\81D";
STATIC_VAR const char not_enough_money[] =
+/*JP
"Besides, you don't have enough to interest %s.";
+*/
+ "\82µ\82©\82à\81C\82 \82È\82½\82Í%s\82ª\8b»\96¡\82ð\8e\9d\82Â\82Ù\82Ç\82¨\8bà\82ð\8e\9d\82Á\82Ä\82¢\82È\82¢\81I";
STATIC_OVL long
cheapest_item(shkp) /* delivers the cheapest item on the list */
}
if ((!sk && (!Blind || Blind_telepat)) || (!Blind && !seensk)) {
+/*JP
There("appears to be no shopkeeper here to receive your payment.");
+*/
+ pline("\8ex\95¥\82¢\82ð\8eó\82¯\82Æ\82é\93X\8eå\82Í\82±\82±\82É\82Í\82¢\82È\82¢\82æ\82¤\82¾\81D");
return 0;
}
if (!seensk) {
+/*JP
You_cant("see...");
+*/
+ You("\8c©\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D\81D\81D");
return 0;
}
if (canspotmon(shkp))
break;
if (shkp != resident && distu(shkp->mx, shkp->my) > 2) {
+/*JP
pline("%s is not near enough to receive your payment.",
+*/
+ pline("%s\82Í\89\93\82\82É\82¢\82é\82Ì\82Å\8ex\95¥\82¦\82È\82¢\81D",
Monnam(shkp));
return 0;
}
coord cc;
int cx, cy;
+/*JP
pline("Pay whom?");
+*/
+ pline("\92N\82É\95¥\82¤\81H");
cc.x = u.ux;
cc.y = u.uy;
+/*JP
if (getpos(&cc, TRUE, "the creature you want to pay") < 0)
+*/
+ if (getpos(&cc, TRUE, "\8ex\95¥\82¢\82½\82¢\91\8a\8eè") < 0)
return 0; /* player pressed ESC */
cx = cc.x;
cy = cc.y;
if (cx < 0) {
+/*JP
pline("Try again...");
+*/
+ pline("\82à\82¤\88ê\93x\81D\81D\81D");
return 0;
}
if (u.ux == cx && u.uy == cy) {
+/*JP
You("are generous to yourself.");
+*/
+ pline("\8e©\95ª\8e©\90g\82É\82È\82ñ\82Ä\8bC\91O\82Ì\82¢\82¢\82±\82Æ\81I");
return 0;
}
mtmp = m_at(cx, cy);
if (!mtmp) {
+/*JP
There("is no one there to receive your payment.");
+*/
+ pline("\8ex\95¥\82¢\82ð\8eó\82¯\82Æ\82ê\82é\91\8a\8eè\82Í\82¢\82È\82¢\81D");
return 0;
}
if (!mtmp->isshk) {
+/*JP
pline("%s is not interested in your payment.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8ex\95¥\82¢\82É\8b»\96¡\82ð\8e¦\82³\82È\82¢\81D", Monnam(mtmp));
return 0;
}
if (mtmp != resident && distu(mtmp->mx, mtmp->my) > 2) {
+/*JP
pline("%s is too far to receive your payment.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8ex\95¥\82¢\82É\8b»\96¡\82ð\8e¦\82³\82È\82¢\81D", Monnam(mtmp));
return 0;
}
shkp = mtmp;
rouse_shk(shkp, TRUE);
if (!shkp->mcanmove || shkp->msleeping) { /* still asleep/paralyzed */
+#if 0 /*JP:T*/
pline("%s %s.", Monnam(shkp),
rn2(2) ? "seems to be napping" : "doesn't respond");
+#else
+ pline("%s\82Í%s\81D", Monnam(shkp),
+ rn2(2) ? "\8b\8f\96°\82è\82ð\82µ\82Ä\82¢\82é\82æ\82¤\82¾" : "\94½\89\9e\82ª\82È\82¢");
+#endif
return 0;
}
if (shkp != resident && NOTANGRY(shkp)) {
umoney = money_cnt(invent);
if (!ltmp)
+/*JP
You("do not owe %s anything.", mon_nam(shkp));
+*/
+ You("%s\82É\8eØ\82è\82Í\82È\82¢\81D", mon_nam(shkp));
else if (!umoney) {
+/*JP
You("%shave no money.", stashed_gold ? "seem to " : "");
+*/
+ You("\82¨\8bà\82ª\82È\82¢%s\81D", stashed_gold ? "\82æ\82¤\82¾" : "");
if (stashed_gold)
+/*JP
pline("But you have some gold stashed away.");
+*/
+ pline("\82µ\82©\82µ\81C\82 \82È\82½\82É\82Í\82¿\82å\82Á\82Á\82Æ\82µ\82½\83w\83\\83N\83\8a\82ª\82 \82é\81D");
} else {
if (umoney > ltmp) {
+#if 0 /*JP*/
You("give %s the %ld gold piece%s %s asked for.",
shkname(shkp), ltmp, plur(ltmp), mhe(shkp));
+#else
+ You("%s\82É\96]\82Ý\92Ê\82è%ld\96\87\82Ì\8bà\89Ý\82ð\97^\82¦\82½\81D",
+ shkname(shkp), ltmp);
+#endif
pay(ltmp, shkp);
} else {
+#if 0 /*JP*/
You("give %s all your%s gold.", shkname(shkp),
stashed_gold ? " openly kept" : "");
+#else
+ You("%s\82É%s\82¨\8bà\91S\95\94\82ð\97^\82¦\82½\81D", shkname(shkp),
+ stashed_gold ? "\8eè\8e\9d\82¿\82Ì" : "");
+#endif
pay(umoney, shkp);
if (stashed_gold)
+/*JP
pline("But you have hidden gold!");
+*/
+ pline("\82µ\82©\82µ\81C\82 \82È\82½\82Í\83w\83\\83N\83\8a\82ª\82 \82é\81I");
}
if ((umoney < ltmp / 2L) || (umoney < ltmp && stashed_gold))
+/*JP
pline("Unfortunately, %s doesn't look satisfied.", mhe(shkp));
+*/
+ pline("\8ec\94O\82È\82ª\82ç\81C%s\82Í\96\9e\91«\82µ\82Ä\82È\82¢\82æ\82¤\82¾\81D", mhe(shkp));
else
make_happy_shk(shkp, FALSE);
}
if (!eshkp->billct && !eshkp->debit) {
umoney = money_cnt(invent);
if (!ltmp && NOTANGRY(shkp)) {
+/*JP
You("do not owe %s anything.", shkname(shkp));
+*/
+ You("%s\82É\8eØ\82è\82Í\82È\82¢\81D", shkname(shkp));
if (!umoney)
+/*JP
pline(no_money, stashed_gold ? " seem to" : "");
+*/
+ pline(no_money, stashed_gold ? "\82æ\82¤\82¾" : "");
} else if (ltmp) {
+/*JP
pline("%s is after blood, not money!", shkname(shkp));
+*/
+ pline("%s\82Í\8c\8c\82Ü\82Ý\82ê\82¾\81D\82¨\8bà\82Ç\82±\82ë\82¶\82á\82È\82¢\81I", Monnam(shkp));
if (umoney < ltmp / 2L || (umoney < ltmp && stashed_gold)) {
if (!umoney)
+/*JP
pline(no_money, stashed_gold ? " seem to" : "");
+*/
+ pline(no_money, stashed_gold ? "\82æ\82¤\82¾" : "");
else
pline(not_enough_money, mhim(shkp));
return 1;
}
+/*JP
pline("But since %s shop has been robbed recently,", mhis(shkp));
+*/
+ pline("\82µ\82©\82µ\81C%s\93X\82Í\8dÅ\8bß\93\90\82Ý\82É\82 \82Á\82½\82Ì\82Å\81C", mhis(shkp));
+#if 0 /*JP*/
pline("you %scompensate %s for %s losses.",
(umoney < ltmp) ? "partially " : "", shkname(shkp),
mhis(shkp));
+#else
+ pline("%s\82Ì\91¹\8e¸%s\82ð\95â\93U\82µ\82½\81D", mhis(shkp),
+ (umoney < ltmp) ? "\82Ì\88ê\95\94" : "");
+#endif
pay(umoney < ltmp ? umoney : ltmp, shkp);
make_happy_shk(shkp, FALSE);
} else {
/* shopkeeper is angry, but has not been robbed --
* door broken, attacked, etc. */
+/*JP
pline("%s is after your hide, not your money!", Monnam(shkp));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\96½\82ð\91_\82Á\82Ä\82¢\82é\81C\82¨\8bà\82Ç\82±\82ë\82¶\82á\82È\82¢\81I", Monnam(shkp));
if (umoney < 1000L) {
if (!umoney)
+/*JP
pline(no_money, stashed_gold ? " seem to" : "");
+*/
+ pline(no_money, stashed_gold ? "\82æ\82¤\82¾" : "");
else
pline(not_enough_money, mhim(shkp));
return 1;
}
+#if 0 /*JP*/
You("try to appease %s by giving %s 1000 gold pieces.",
x_monnam(shkp, ARTICLE_THE, "angry", 0, FALSE), mhim(shkp));
+#else
+ You("\8bà\89Ý1000\96\87\82ð%s\82É\8eè\93n\82µ\82Ä\82È\82¾\82ß\82æ\82¤\82Æ\82µ\82½\81D",
+ x_monnam(shkp, ARTICLE_THE, "\93{\82Á\82½", 0, FALSE));
+#endif
pay(1000L, shkp);
if (strncmp(eshkp->customer, plname, PL_NSIZ) || rn2(3))
make_happy_shk(shkp, FALSE);
else
+/*JP
pline("But %s is as angry as ever.", shkname(shkp));
+*/
+ pline("\82µ\82©\82µ%s\82Í\82Ü\82¾\93{\82Á\82Ä\82¢\82é\81D", shkname(shkp));
}
return 1;
}
long loan = eshkp->loan;
char sbuf[BUFSZ];
umoney = money_cnt(invent);
+#if 0 /*JP*//*\96\96\94ö\82É\89ñ\82·*/
Sprintf(sbuf, "You owe %s %ld %s ", shkname(shkp), dtmp,
currency(dtmp));
+#endif
if (loan) {
if (loan == dtmp)
+/*JP
Strcat(sbuf, "you picked up in the store.");
+*/
+ Strcpy(sbuf, "\93X\82Ì\92\86\82Å\8fE\82Á\82½\82à\82Ì\82É\91Î\82µ\82Ä\81C");
else
+#if 0 /*JP*/
Strcat(sbuf,
"for gold picked up and the use of merchandise.");
+#else
+ Strcpy(sbuf,"\8fE\82Á\82½\82¨\8bà\82â\8eg\82Á\82½\8eG\89Ý\82É\91Î\82µ\82Ä\81C");
+#endif
} else
+/*JP
Strcat(sbuf, "for the use of merchandise.");
+*/
+ Strcpy(sbuf, "\8eg\82Á\82½\8eG\89Ý\82É\91Î\82µ\82Ä\81C");
+#if 1 /*JP*//*\8fã\82©\82ç\88Ú\93®*/
+ Sprintf(eos(sbuf), "%s\82É%ld%s\82Ì\8eØ\82è\82ª\82 \82é\81D",
+ shkname(shkp), dtmp, currency(dtmp));
+#endif
pline1(sbuf);
if (umoney + eshkp->credit < dtmp) {
+#if 0 /*JP*/
pline("But you don't%s have enough gold%s.",
stashed_gold ? " seem to" : "",
eshkp->credit ? " or credit" : "");
+#else
+ pline("\82µ\82©\82µ\81C\82¨\8bà%s\91«\82è\82È\82¢%s\81D",
+ eshkp->credit ? "\82à\97a\82¯\8bà\82à" : "\82ª",
+ stashed_gold ? "\82æ\82¤\82¾" : "");
+#endif
return 1;
} else {
if (eshkp->credit >= dtmp) {
eshkp->credit -= dtmp;
eshkp->debit = 0L;
eshkp->loan = 0L;
+/*JP
Your("debt is covered by your credit.");
+*/
+ Your("\8eØ\8bà\82Í\97a\82¯\8bà\82Å\95â\82í\82ê\82½\81D");
} else if (!eshkp->credit) {
money2mon(shkp, dtmp);
eshkp->debit = 0L;
eshkp->loan = 0L;
+/*JP
You("pay that debt.");
+*/
+ You("\8eØ\8bà\82ð\95¥\82Á\82½\81D");
context.botl = 1;
} else {
dtmp -= eshkp->credit;
money2mon(shkp, dtmp);
eshkp->debit = 0L;
eshkp->loan = 0L;
+/*JP
pline("That debt is partially offset by your credit.");
+*/
+ pline("\82»\82Ì\8eØ\8bà\82Í\88ê\95\94\97a\82¯\8bà\82Å\91\8a\8eE\82³\82ê\82½\81D");
+/*JP
You("pay the remainder.");
+*/
+ You("\8ec\82è\82ð\95¥\82Á\82½\81D");
context.botl = 1;
}
paid = TRUE;
int iprompt;
umoney = money_cnt(invent);
if (!umoney && !eshkp->credit) {
+#if 0 /*JP*/
You("%shave no money or credit%s.",
stashed_gold ? "seem to " : "", paid ? " left" : "");
+#else
+ You("%s\82¨\8bà\82à\97a\82¯\8bà\82à\8e\9d\82Á\82Ä\82È\82¢%s\81D",
+ paid ? "\82à\82¤" : "", stashed_gold ? "\82æ\82¤\82¾" : "");
+#endif
return 0;
}
if ((umoney + eshkp->credit) < cheapest_item(shkp)) {
+#if 0 /*JP*/
You("don't have enough money to buy%s the item%s you picked.",
eshkp->billct > 1 ? " any of" : "", plur(eshkp->billct));
+#else
+ pline("\8fE\82Á\82½\95i\95¨\82ð\94\83\82¤\82É\82Í\82¨\8bà\82ª\91«\82è\82È\82¢\81D");
+#endif
if (stashed_gold)
+/*JP
pline("Maybe you have some gold stashed away?");
+*/
+ You("\82Ç\82±\82©\82É\82¨\8bà\82ð\89B\82µ\82Ä\82¢\82é\82Ì\82©\82à\81H");
return 0;
}
/* this isn't quite right; it itemizes without asking if the
* single item on the bill is partly used up and partly unpaid */
+/*JP
iprompt = (eshkp->billct > 1 ? ynq("Itemized billing?") : 'y');
+*/
+ iprompt = (eshkp->billct > 1 ? ynq("\8cÂ\95Ê\82É\8a¨\92è\82µ\82Ü\82·\82©\81H") : 'y');
itemize = (iprompt == 'y');
if (iprompt == 'q')
goto thanks;
update_inventory(); /* Done in dopayobj() if itemize. */
}
if (!ANGRY(shkp) && paid && !muteshk(shkp))
+#if 0 /*JP*/
verbalize("Thank you for shopping in %s %s!", s_suffix(shkname(shkp)),
shtypes[eshkp->shoptype - SHOPBASE].name);
+#else
+ verbalize("%s\82Ì%s\82Ö\82Ü\82½\82Ç\82¤\82¼\81I", shkname(shkp),
+ shtypes[eshkp->shoptype - SHOPBASE].name);
+#endif
return 1;
}
return PAY_BUY;
}
if (itemize && umoney + ESHK(shkp)->credit == 0L) {
+#if 0 /*JP*/
You("%shave no money or credit left.",
stashed_gold ? "seem to " : "");
+#else
+ You("\82à\82¤\82¨\8bà\82à\97a\82¯\8bà\82à\82È\82¢%s\81D",
+ stashed_gold ? "\82æ\82¤\82¾" : "");
+#endif
return PAY_BROKE;
}
/* we may need to temporarily adjust the object, if part of the
if (itemize) {
char qbuf[BUFSZ], qsfx[BUFSZ];
+/*JP
Sprintf(qsfx, " for %ld %s. Pay?", ltmp, currency(ltmp));
+*/
+ Sprintf(qsfx, "\82Í%ld%s\82Å\82·.\94\83\82¢\82Ü\82·\82©\81H", ltmp, currency(ltmp));
+#if 0 /*JP*/
(void) safe_qbuf(qbuf, (char *) 0, qsfx, obj,
(quan == 1L) ? Doname2 : doname, ansimpleoname,
(quan == 1L) ? "that" : "those");
+#else
+ (void) safe_qbuf(qbuf, (char *) 0, qsfx, obj,
+ (quan == 1L) ? Doname2 : doname, ansimpleoname,
+ "\82»\82ê");
+#endif
if (yn(qbuf) == 'n') {
buy = PAY_SKIP; /* don't want to buy */
} else if (quan < bp->bquan && !consumed) { /* partly used goods */
obj->quan = bp->bquan - save_quan; /* used up amount */
+#if 0 /*JP*/
verbalize("%s for the other %s before buying %s.",
ANGRY(shkp) ? "Pay" : "Please pay",
simpleonames(obj), /* short name suffices */
save_quan > 1L ? "these" : "this one");
+#else
+ verbalize("\82»\82ê\82ð\94\83\82¤\82Ü\82¦\82É\91¼\82Ì%s\82ð%s",
+ simpleonames(obj),
+ ANGRY(shkp) ? "\95¥\82¦\81I" : "\95¥\82Á\82Ä\82\82¾\82³\82¢\81D");
+#endif
buy = PAY_SKIP; /* shk won't sell */
}
}
if (buy == PAY_BUY && umoney + ESHK(shkp)->credit < ltmp) {
+#if 0 /*JP*/
You("don't%s have gold%s enough to pay for %s.",
stashed_gold ? " seem to" : "",
(ESHK(shkp)->credit > 0L) ? " or credit" : "",
thesimpleoname(obj));
+#else
+ You("%s\82Ì\91ã\8bà\82ð\8ex\95¥\82¤\82¾\82¯\82Ì\82¨\8bà%s\8e\9d\82Á\82Ä\82È\82¢%s\81D",
+ thesimpleoname(obj),
+ (ESHK(shkp)->credit > 0L) ? "\82à\97a\82¯\8bà\82à" : "\82ð",
+ stashed_gold ? "\82æ\82¤\82¾" : "");
+#endif
buy = itemize ? PAY_SKIP : PAY_CANT;
}
}
pay(ltmp, shkp);
+#if 0 /*JP*/
shk_names_obj(shkp, obj,
consumed ? "paid for %s at a cost of %ld gold piece%s.%s"
: "bought %s for %ld gold piece%s.%s",
ltmp, "");
+#else
+ shk_names_obj(shkp, obj,
+ consumed ? "%s\82É\8bà\89Ý%ld\96\87%s\82ð\8ex\95¥\82Á\82½\81D%s"
+ : "%s\82ð\8bà\89Ý%ld\96\87%s\82Å\94\83\82Á\82½\81D%s",
+ ltmp, "");
+#endif
obj->quan = save_quan; /* restore original count */
/* quan => amount just bought, save_quan => remaining unpaid count */
if (consumed) {
if (cansee(shkp->mx, shkp->my) && croaked) {
takes[0] = '\0';
if (has_head(shkp->data) && !rn2(2))
+#if 0 /*JP*/
Sprintf(takes, ", shakes %s %s,", mhis(shkp),
mbodypart(shkp, HEAD));
+#else
+ Strcpy(takes, "\8eñ\82ð\90U\82è\81C");
+#endif
+#if 0 /*JP*/
pline("%s %slooks at your corpse%s and %s.", Monnam(shkp),
(!shkp->mcanmove || shkp->msleeping) ? "wakes up, " : "",
takes, !inhishop(shkp) ? "disappears" : "sighs");
+#else
+ pline("%s\82Í%s\82 \82È\82½\82Ì\8e\80\91Ì\82ð\8c©\82Ä%s%s\81D", Monnam(shkp),
+ (!shkp->mcanmove || shkp->msleeping) ? "\96Ú\82ð\82³\82Ü\82·\82Æ" : "",
+ takes, !inhishop(shkp) ? "\8ep\82ð\8fÁ\82µ\82½" : "\97\91§\82ð\82Â\82¢\82½");
+#endif
}
rouse_shk(shkp, FALSE); /* wake shk for bones */
taken = (roomno == eshkp->shoproom);
&& !eshkp->following) {
taken = (invent != 0);
if (taken)
+/*JP
pline("%s gratefully inherits all your possessions.",
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\8e\9d\82¿\95¨\82ð\82 \82è\82ª\82½\82\8eó\82¯\82Æ\82Á\82½\81D",
shkname(shkp));
set_repo_loc(shkp);
goto clear;
umoney = money_cnt(invent);
takes[0] = '\0';
if (!shkp->mcanmove || shkp->msleeping)
+/*JP
Strcat(takes, "wakes up and ");
+*/
+ Strcat(takes, "\96Ú\82ª\82³\82ß\82é\82Æ\81C");
if (distu(shkp->mx, shkp->my) > 2)
+/*JP
Strcat(takes, "comes and ");
+*/
+ Strcat(takes, "\8bß\82Ã\82«\81C");
+#if 0 /*JP*/
Strcat(takes, "takes");
+#endif
if (loss > umoney || !loss || roomno == eshkp->shoproom) {
eshkp->robbed -= umoney;
if (umoney > 0)
money2mon(shkp, umoney);
context.botl = 1;
+/*JP
pline("%s %s all your possessions.", shkname(shkp), takes);
+*/
+ pline("%s\82Í%s\82 \82È\82½\82Ì\8e\9d\82¿\95¨\82·\82×\82Ä\82ð\82à\82ç\82Á\82½\81D", shkname(shkp), takes);
taken = TRUE;
/* where to put player's invent (after disclosure) */
set_repo_loc(shkp);
} else {
money2mon(shkp, loss);
context.botl = 1;
+#if 0 /*JP*/
pline("%s %s the %ld %s %sowed %s.", Monnam(shkp), takes, loss,
currency(loss),
strncmp(eshkp->customer, plname, PL_NSIZ) ? "" : "you ",
shkp->female ? "her" : "him");
+#else
+ pline("%s\82Í%s%s\8eØ\82è\82Ä\82¢\82é%ld%s\82ð\8eó\82¯\82Æ\82Á\82½\81D", Monnam(shkp), takes,
+ strncmp(eshkp->customer, plname, PL_NSIZ) ?
+ "" : "\82 \82È\82½\82ª",
+ loss, currency(loss));
+#endif
/* shopkeeper has now been paid in full */
pacify_shk(shkp);
eshkp->following = 0;
obj_name = doname(obj);
/* Use an alternate message when extra information is being provided */
if (was_unknown) {
+#if 0 /*JP*/
Sprintf(fmtbuf, "%%s; you %s", fmt);
obj_name[0] = highc(obj_name[0]);
pline(fmtbuf, obj_name, (obj->quan > 1L) ? "them" : "it", amt,
plur(amt), arg);
+#else
+ pline(fmt, obj_name, amt, "", arg);
+#endif
} else {
You(fmt, obj_name, amt, plur(amt), arg);
}
return;
} else if (ESHK(shkp)->billct == BILLSZ) {
if (!silent)
+/*JP
You("got that for free!");
+*/
+ You("\82»\82ê\82ð\82½\82¾\82Å\8eè\82É\93ü\82ê\82½\81I");
return;
}
char buf[BUFSZ];
if (!ltmp) {
+/*JP
pline("%s has no interest in %s.", Monnam(shkp), the(xname(obj)));
+*/
+ pline("%s\82Í%s\82É\8b»\96¡\82ð\8e¦\82³\82È\82¢\81D", Monnam(shkp), xname(obj));
return;
}
if (!ininv) {
+#if 0 /*JP*/
pline("%s will cost you %ld %s%s.", The(xname(obj)), ltmp,
currency(ltmp), (obj->quan > 1L) ? " each" : "");
+#else
+ pline("%s\82Í%s\82½\82Á\82½\82Ì%ld%s\82¾\81D", xname(obj),
+ (obj->quan > 1L) ? "\88ê\82Â" : "", ltmp, currency(ltmp));
+#endif
} else {
long save_quan = obj->quan;
+#if 0 /*JP*/
Strcpy(buf, "\"For you, ");
if (ANGRY(shkp)) {
Strcat(buf, "scum;");
append_honorific(buf);
Strcat(buf, "; only");
}
+#else
+ Strcpy(buf, "\81u");
+ if (ANGRY(shkp)) {
+ Strcat(buf, "\82±\82Ì\83N\83\\82Á\82½\82ê\81C");
+ } else {
+ append_honorific(buf);
+ Strcat(buf, "\81C");
+ }
+#endif
obj->quan = 1L; /* fool xname() into giving singular */
+#if 0 /*JP*/
pline("%s %ld %s %s %s%s.\"", buf, ltmp, currency(ltmp),
(save_quan > 1L) ? "per" : (contentscount && !obj->unpaid)
? "for the contents of this"
: "for this",
xname(obj),
(contentscount && obj->unpaid) ? and_its_contents : "");
+#else
+ pline("%s%s%s\82½\82Á\82½\82Ì%ld%s\82¾\81D\81v", buf, xname(obj),
+ (save_quan > 1L) ? "\82Í\88ê\82Â" : (contentscount && !obj->unpaid)
+ ? "\82Ì\92\86\90g\82Í"
+ : "\82Í",
+ ltmp, currency(ltmp));
+#endif
obj->quan = save_quan;
}
} else if (!silent) {
if (ltmp)
+#if 0 /*JP*/
pline_The("list price of %s%s%s is %ld %s%s.",
(contentscount && !obj->unpaid) ? the_contents_of : "",
the(xname(obj)),
(contentscount && obj->unpaid) ? and_its_contents : "",
ltmp, currency(ltmp), (obj->quan > 1L) ? " each" : "");
+#else
+ pline_The("%s%s%s%s\82½\82Á\82½\82Ì%ld%s\82¾.",
+ the(xname(obj)),
+ (contentscount && !obj->unpaid) ? "\82Ì\92\86\90g\82Í" : "",
+ (contentscount && obj->unpaid) ? and_its_contents : "",
+ (obj->quan > 1L) ? "\82»\82ê\82¼\82ê" : "", ltmp, currency(ltmp));
+#endif
else
+/*JP
pline("%s does not notice.", Monnam(shkp));
+*/
+ pline("%s\82Í\8bC\82ª\82Â\82¢\82Ä\82¢\82È\82¢\81D", Monnam(shkp));
}
}
{
/* (chooses among [0]..[3] normally; [1]..[4] after the
Wizard has been killed or invocation ritual performed) */
+#if 0 /*JP*/
static const char *const honored[] = { "good", "honored", "most gracious",
"esteemed",
"most renowned and sacred" };
+#else
+ static const char *const honored[] = {
+ "\82â\82\9f", "\82â\82\9f\81C\96¼\97_\82 \82é", "\82â\82\9f\81C\8fã\95i\82È",
+ "\82â\82\9f\81C\91¸\8ch\82·\82é",
+ "\82â\82\9f\81C\8d\82\96¼\82Å\90_\90¹\82È"
+ };
+#endif
Strcat(buf, honored[rn2(SIZE(honored) - 1) + u.uevent.udemigod]);
if (is_vampire(youmonst.data))
Strcat(buf, (flags.female) ? " dark lady" : " dark lord");
else if (is_elf(youmonst.data))
Strcat(buf, (flags.female) ? " hiril" : " hir");
else
+#if 0 /*JP*/
Strcat(buf, !is_human(youmonst.data) ? " creature" : (flags.female)
? " lady"
: " sir");
+#else
+ Strcat(buf, !is_human(youmonst.data) ? "\90¶\95¨\82³\82ñ" : (flags.female)
+ ? "\82¨\8fì\82³\82ñ"
+ : "\92U\93ß\82³\82ñ");
+#endif
}
void
if (credit_use) {
if (ESHK(shkp)->credit) {
+#if 0 /*JP*/
You("have %ld %s credit remaining.", ESHK(shkp)->credit,
currency(ESHK(shkp)->credit));
+#else
+ You("%ld%s\82Ì\97a\82¯\8bà\82ª\8ec\82Á\82Ä\82¢\82é\81D", ESHK(shkp)->credit,
+ currency(ESHK(shkp)->credit));
+#endif
return value;
} else if (!value) {
+/*JP
You("have no credit remaining.");
+*/
+ pline("\97a\82¯\8bà\82Í\82È\82\82È\82Á\82½\81D");
return 0;
}
+/*JP
still = "still ";
+*/
+ still = "\82³\82ç\82É";
}
if (obj->oclass == COIN_CLASS)
+#if 0 /*JP*/
You("%sowe %s %ld %s!", still, mon_nam(shkp), value,
currency(value));
+#else
+ You("%s%s\82É%ld%s\82Ì\8eØ\82è\82ð\82Â\82\82Á\82½\81I", still, mon_nam(shkp), value,
+ currency(value));
+#endif
else
+#if 0 /*JP*/
You("%sowe %s %ld %s for %s!", still, mon_nam(shkp), value,
currency(value), obj->quan > 1L ? "them" : "it");
+#else
+ You("%s%s\82É%ld%s\82Ì\8eØ\82è\82ð\82Â\82\82Á\82½\81I", still, mon_nam(shkp), value,
+ currency(value));
+#endif
}
} else {
ESHK(shkp)->robbed += value;
if (!silent) {
if (cansee(shkp->mx, shkp->my)) {
+#if 0 /*JP*/
Norep("%s booms: \"%s, you are a thief!\"", Monnam(shkp),
plname);
+#else
+ Norep("%s\82Í\8b©\82ñ\82¾\81F\81u%s\81C\91Ò\82Ä\81I\82±\82Ì\82Ç\82ë\82Ú\82¤\82ß\81I\81v", Monnam(shkp),
+ plname);
+#endif
} else
+/*JP
Norep("You hear a scream, \"Thief!\"");
+*/
+ Norep("\8bà\90Ø\82è\90º\82ð\95·\82¢\82½\81C\81u\91Ò\82Ä\81I\82±\82Ì\82Ç\82ë\82Ú\82¤\82ß\81I\81v");
}
hot_pursuit(shkp);
(void) angry_guards(FALSE);
if (!unpaid && (sell_how != SELL_DONTSELL)
&& !special_stock(obj, shkp, FALSE))
+/*JP
pline("%s seems uninterested.", Monnam(shkp));
+*/
+ pline("%s\82Í\8b»\96¡\82ª\82È\82¢\82æ\82¤\82¾\81D", Monnam(shkp));
return;
}
if (ANGRY(shkp)) { /* they become shop-objects, no pay */
if (!muteshk(shkp))
+/*JP
verbalize("Thank you, scum!");
+*/
+ verbalize("\82 \82è\82ª\82Æ\82æ\81C\82±\82Ì\83N\83\\82Á\82½\82ê\81I");
subfrombill(obj, shkp);
return;
}
eshkp->robbed = 0L;
if (offer && !muteshk(shkp))
verbalize(
+/*JP
"Thank you for your contribution to restock this recently plundered shop.");
+*/
+ "\8añ\91¡\82ð\82Ç\82¤\82à\82 \82è\82ª\82Æ\82¤\81D\8dÅ\8bß\93\90\82Ý\82É\82 \82Á\82Ä\8eQ\82Á\82Ä\82½\82ñ\82¾\81D");
subfrombill(obj, shkp);
return;
}
eshkp->loan = 0L;
}
eshkp->debit -= gltmp;
+/*JP
Your("debt is %spaid off.", eshkp->debit ? "partially " : "");
+*/
+ Your("\8eØ\8bà\82Í%s\8ex\95¥\82í\82ê\82½\81D", eshkp->debit ? "\88ê\95\94" : "");
} else {
long delta = gltmp - eshkp->debit;
if (eshkp->debit) {
eshkp->debit = 0L;
eshkp->loan = 0L;
+/*JP
Your("debt is paid off.");
+*/
+ Your("\8eØ\8bà\82Í\8ex\95¥\82í\82ê\82½\81D");
}
if (eshkp->credit == delta)
+#if 0 /*JP*/
You("have established %ld %s credit.", delta,
currency(delta));
+#else
+ pline("%ld%s\82ð\97a\82¯\82½\81D", delta,
+ currency(delta));
+#endif
else
pline("%ld %s added to your credit; total is now %ld %s.",
delta, currency(delta), eshkp->credit,
|| offer == 0L || (obj->oclass == FOOD_CLASS && obj->oeaten)
|| (Is_candle(obj)
&& obj->age < 20L * (long) objects[obj->otyp].oc_cost)) {
+#if 0 /*JP*/
pline("%s seems uninterested%s.", Monnam(shkp),
cgold ? " in the rest" : "");
+#else
+ pline("%s\82Í%s\8b»\96¡\82ª\82È\82¢\82æ\82¤\82¾\81D", Monnam(shkp),
+ cgold ? "\8ec\82è\95¨\82É\82Í" : "");
+#endif
if (container)
dropped_container(obj, shkp, FALSE);
obj->no_charge = 1;
if (sell_how == SELL_NORMAL || auto_credit) {
c = sell_response = 'y';
} else if (sell_response != 'n') {
+/*JP
pline("%s cannot pay you at present.", shkname(shkp));
+*/
+ pline("%s\82Í\8d¡\82Ì\82Æ\82±\82ë\82Í\8ex\95¥\82¦\82È\82¢\81D", Monnam(shkp));
+#if 0 /*JP*/
Sprintf(qbuf, "Will you accept %ld %s in credit for ", tmpcr,
currency(tmpcr));
c = ynaq(safe_qbuf(qbuf, qbuf, "?", obj, doname, thesimpleoname,
(obj->quan == 1L) ? "that" : "those"));
+#else
+ Sprintf(qbuf, "\82É\82Â\82¢\82Ä%ld%s\82Ì\97a\82¯\8bà\82ð\8eó\82¯\82¢\82ê\82Ü\82·\82©\81H", tmpcr,
+ currency(tmpcr));
+ c = ynaq(safe_qbuf(qbuf, "", qbuf, obj, doname, thesimpleoname,
+ "\82»\82ê"));
+#endif
if (c == 'a') {
c = 'y';
auto_credit = TRUE;
c = 'n';
if (c == 'y') {
+#if 0 /*JP*/
shk_names_obj(
shkp, obj,
(sell_how != SELL_NORMAL)
? "traded %s for %ld zorkmid%s in %scredit."
: "relinquish %s and acquire %ld zorkmid%s in %scredit.",
tmpcr, (eshkp->credit > 0L) ? "additional " : "");
+#else
+ shk_names_obj(
+ shkp, obj,
+ (sell_how != SELL_NORMAL)
+ ? "%s\82ð\8bà\89Ý%ld\96\87\95ª\82Ì\97a\82¯\8bà\82Å\8eó\82¯\82Æ\82Á\82½%s\81D"
+ : "%s\82ð\93n\82µ\81C\8bà\89Ý%ld\96\87\95ª\82Ì\97a\82¯\8bà\82ð\93¾\82½%s\81D",
+ tmpcr, "");
+#endif
eshkp->credit += tmpcr;
subfrombill(obj, shkp);
} else {
"... your item in the <bag>. Sell it?"
"... your items in the <bag>. Sell them?"
*/
+#if 0 /*JP*/
Sprintf(qbuf, "%s offers%s %ld gold piece%s for %s%s ",
shkname(shkp), short_funds ? " only" : "", offer,
plur(offer),
one ? "it" : "them");
(void) safe_qbuf(qbuf, qbuf, qsfx, obj, xname, simpleonames,
one ? "that" : "those");
+#else
+ Sprintf(qbuf,
+ "%s\82Í\82 \82È\82½\82Ì", Monnam(shkp));
+ Sprintf(qbuf,
+ "%s\82É%ld\82Ì\92l%s\81D\94\84\82è\82Ü\82·\82©\81H",
+ (!ltmp && cltmp) ? "\82Ì\92\86\90g" : "",
+ offer,
+ short_funds ? "\82µ\82©\82Â\82¯\82È\82©\82Á\82½" : "\82ð\82Â\82¯\82½");
+ (void) safe_qbuf(qbuf, qbuf, qsfx, obj, xname, simpleonames,
+ "\82»\82ê");
+#endif
} else
qbuf[0] = '\0'; /* just to pacify lint */
obj->no_charge = 1;
subfrombill(obj, shkp);
pay(-offer, shkp);
+#if 0 /*JP*/
shk_names_obj(shkp, obj,
(sell_how != SELL_NORMAL)
? ((!ltmp && cltmp && only_partially_your_contents)
: "sold %s for %ld gold piece%s.%s")
: "relinquish %s and receive %ld gold piece%s in compensation.%s",
offer, "");
+#else
+ shk_names_obj(shkp, obj,
+ (sell_how != SELL_NORMAL)
+ ? ((!ltmp && cltmp && only_partially_your_contents)
+ ? "%s\82Ì\92\86\90g\82ð\8bà\89Ý%ld\96\87\82Å\94\84\82Á\82½%s\81D%s"
+ : "%s\82ð\8bà\89Ý%ld\96\87\82Å\94\84\82Á\82½%s\81D%s")
+ : "%s\82ð\93n\82µ\81C\8bà\89Ý%ld\96\87\82Ì\91ã\8f\9e\82ð\8eó\82¯\82Æ\82Á\82½%s\81D%s",
+ offer, "");
+#endif
break;
default:
impossible("invalid sell response");
}
datawin = create_nhwindow(NHW_MENU);
+/*JP
putstr(datawin, 0, "Unpaid articles already used up:");
+*/
+ putstr(datawin, 0, "\82·\82Å\82É\8eg\82Á\82Ä\82µ\82Ü\82Á\82½\96¢\95¥\82Ì\95i\96Ú\81F");
putstr(datawin, 0, "");
totused = 0L;
if (totused)
putstr(datawin, 0, "");
totused += eshkp->debit;
+#if 0 /*JP*/
buf_p = xprname((struct obj *) 0, "usage charges and/or other fees",
GOLD_SYM, FALSE, eshkp->debit, 0L);
+#else
+ buf_p = xprname((struct obj *) 0, "\8eg\97p\97¿\82Ü\82½\82Í\91¼\82Ì\8eè\90\94\97¿",
+ GOLD_SYM, FALSE, eshkp->debit, 0L);
+#endif
putstr(datawin, 0, buf_p);
}
+/*JP
buf_p = xprname((struct obj *) 0, "Total:", '*', FALSE, totused, 0L);
+*/
+ buf_p = xprname((struct obj *) 0, "\8d\87\8cv\81F", '*', FALSE, totused, 0L);
putstr(datawin, 0, "");
putstr(datawin, 0, buf_p);
display_nhwindow(datawin, FALSE);
/* if it is the shk's pos, you hit and anger him */
&& (shkp->mx != x || shkp->my != y)) {
if (mnearto(shkp, x, y, TRUE) && !muteshk(shkp))
+/*JP
verbalize("Out of my way, scum!");
+*/
+ verbalize("\82Ç\82¯\81C\83N\83\\82Á\82½\82ê\81I");
if (cansee(x, y)) {
+#if 0 /*JP*/
pline("%s nimbly%s catches %s.", Monnam(shkp),
(x == shkp->mx && y == shkp->my) ? "" : " reaches over and",
the(xname(obj)));
+#else
+ pline("%s\82Í\82·\82Î\82â\82%s%s\82ð\82Â\82©\82Ü\82¦\82½\81D", Monnam(shkp),
+ (x == shkp->mx && y == shkp->my) ? "" : "\8bß\82Ã\82¢\82Ä",
+ xname(obj));
+#endif
if (!canspotmon(shkp))
map_invisible(x, y);
delay_output();
return;
if (saw_untrap) {
- Sprintf(trapmsg, "%s trap%s",
+#if 0 /*JP*/
+ Sprintf(trapmsg, "% trap",
(saw_untrap > 3) ? "several" : (saw_untrap > 1) ? "some"
: "a",
plur(saw_untrap));
Sprintf(eos(trapmsg), " %s", vtense(trapmsg, "are"));
Sprintf(eos(trapmsg), " removed from the %s",
(doorway_trap && saw_untrap == 1) ? "doorway" : "floor");
+#else
+ Sprintf(trapmsg, "%sã©\82ª%s\82©\82ç\8fÁ\82¦",
+ (saw_untrap > 3) ? "\82 \82¿\82±\82¿\82Ì" : (saw_untrap > 1) ? "\89½\83J\8f\8a\82Ì"
+ : "",
+ (doorway_trap && saw_untrap == 1) ? "\94à" : "\8f°");
+#endif
} else
trapmsg[0] = '\0'; /* not just lint suppression... */
if (saw_walls) {
+#if 0 /*JP*/
char wallbuf[BUFSZ];
Sprintf(wallbuf, "section%s", plur(saw_walls));
pline("Suddenly, %s %s of wall %s up!",
(saw_walls == 1) ? "a" : (saw_walls <= 3) ? "some" : "several",
wallbuf, vtense(wallbuf, "close"));
+#else
+ pline("\93Ë\91R\81C\95Ç\82ª%s\95Â\82Ü\82Á\82½\81I",
+ (saw_walls == 1) ? "" : (saw_walls <= 3) ? "\89½\89Ó\8f\8a\82©" : "\82 \82¿\82±\82¿\82Å");
+#endif
if (saw_door)
+/*JP
pline_The("shop door reappears!");
+*/
+ pline("\93X\82Ì\94à\82ª\82Ü\82½\8c»\82í\82ê\82½\81I");
if (saw_floor)
+/*JP
pline_The("floor is repaired!");
+*/
+ pline("\8f°\82Í\8fC\95\9c\82³\82ê\82½\81I");
if (saw_untrap)
+/*JP
pline("%s!", upstart(trapmsg));
+*/
+ pline("%s\82½\81I", trapmsg);
} else {
if (saw_door || saw_floor || saw_untrap)
+#if 0 /*JP*/
pline("Suddenly, %s%s%s%s%s!",
saw_door ? "the shop door reappears" : "",
(saw_door && saw_floor) ? " and " : "",
saw_floor ? "the floor damage is gone" : "",
((saw_door || saw_floor) && *trapmsg) ? " and " : "",
trapmsg);
+#else
+ pline("\93Ë\91R\81C%s%s%s%s%s\82½!",
+ saw_door ? "\93X\82Ì\94à\82ª\82Ü\82½\8c»\82í\82ê" : "",
+ (saw_door && saw_floor) ? "\81C" : "",
+ saw_floor ? "\8f°\82Ì\8f\9d\82ª\8fC\95\9c\82³\82ê" : "",
+ ((saw_door || saw_floor) && *trapmsg) ? "\81C" : "",
+ trapmsg);
+#endif
else if (inside_shop(u.ux, u.uy) == ESHK(shkp)->shoproom)
+/*JP
You_feel("more claustrophobic than before.");
+*/
+ You("\91O\82æ\82è\95Â\8f\8a\8b°\95|\8fÇ\8bC\96¡\82É\82È\82Á\82½\81D");
else if (!Deaf && !rn2(10))
+/*JP
Norep("The dungeon acoustics noticeably change.");
+*/
+ Norep("\96À\8b{\82Ì\89¹\8b¿\82Í\82¢\82¿\82¶\82é\82µ\82\95Ï\82Á\82½\81D");
}
if (stop_picking)
stop_occupation();
* Take the easy way out and put ball&chain under hero.
*/
if (!muteshk(shkp))
+/*JP
verbalize("Get your junk out of my wall!");
+*/
+ verbalize("\82»\82Ì\83K\83\89\83N\83^\82ð\8aO\82É\8e\9d\82Á\82Ä\8ds\82«\82È\81I");
unplacebc(); /* pick 'em up */
placebc(); /* put 'em down */
}
|| (omx == u.ux || omy == u.uy))) {
if (ANGRY(shkp) || (Conflict && !resist(shkp, RING_CLASS, 0, 0))) {
if (Displaced)
+/*JP
Your("displaced image doesn't fool %s!", mon_nam(shkp));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\8c¶\89e\82É\82¾\82Ü\82³\82ê\82È\82©\82Á\82½\81I", mon_nam(shkp));
(void) mattacku(shkp);
return 0;
}
if (eshkp->following) {
if (strncmp(eshkp->customer, plname, PL_NSIZ)) {
if (!muteshk(shkp))
+#if 0 /*JP*/
verbalize("%s, %s! I was looking for %s.", Hello(shkp),
plname, eshkp->customer);
+#else
+ verbalize("%s\81I\82í\82½\82µ\82Í%s\82ð\92T\82µ\82Ä\82¢\82Ü\82·\81D", Hello(shkp),
+ eshkp->customer);
+#endif
eshkp->following = 0;
return 0;
}
if (moves > followmsg + 4) {
if (!muteshk(shkp))
+#if 0 /*JP*/
verbalize("%s, %s! Didn't you forget to pay?",
Hello(shkp), plname);
+#else
+ verbalize("%s\81I\8ex\95¥\82¢\82ð\96Y\82ê\82Ä\82¢\82Ü\82¹\82ñ\82©\81H",
+ Hello(shkp));
+#endif
followmsg = moves;
if (!rn2(9)) {
+#if 0 /*JP*/
pline("%s doesn't like customers who don't pay.",
Monnam(shkp));
+#else
+ pline ("%s\82Í\8bà\82ð\95¥\82í\82È\82¢\8bq\82ª\8c\99\82¢\82Ý\82½\82¢\82¾\81D",
+ Monnam(shkp));
+#endif
rile_shk(shkp);
}
}
{
register struct monst *shkp = shop_keeper(*u.ushops);
int lang;
+/*JP
const char *grabs = "grabs";
+*/
+ const char *grabs = "\82Â\82©\82ñ\82¾";
if (!shkp)
return;
if (!inhishop(shkp)) {
if (Role_if(PM_KNIGHT)) {
+/*JP
You_feel("like a common thief.");
+*/
+ You("\93D\96_\93¯\91R\82È\8bC\82ª\82µ\82½\81D");
adjalign(-sgn(u.ualign.type));
}
return;
if (!fall) {
if (lang == 2) {
if (u.utraptype == TT_PIT)
+#if 0 /*JP*/
verbalize(
"Be careful, %s, or you might fall through the floor.",
flags.female ? "madam" : "sir");
+#else
+ verbalize("\92\8d\88Ó\82µ\82Ä\82\82¾\82³\82¢%s\81C\8f°\82©\82ç\97\8e\82¿\82Ü\82·\82æ\81D",
+ flags.female ? "\82¨\8fì\82³\82ñ" : "\82¨\8bq\82³\82ñ");
+#endif
else
+#if 0 /*JP*/
verbalize("%s, do not damage the floor here!",
flags.female ? "Madam" : "Sir");
+#else
+ verbalize("%s\81C\8f°\82É\8f\9d\82ð\82Â\82¯\82È\82¢\82Å\82\82¾\82³\82¢\81I",
+ flags.female ? "\82¨\8fì\82³\82ñ" : "\82¨\8bq\82³\82ñ");
+#endif
}
if (Role_if(PM_KNIGHT)) {
+/*JP
You_feel("like a common thief.");
+*/
+ You("\93D\96_\93¯\91R\82È\8bC\82ª\82µ\82½\81D");
adjalign(-sgn(u.ualign.type));
}
} else if (!um_dist(shkp->mx, shkp->my, 5)
register struct obj *obj, *obj2;
if (nolimbs(shkp->data)) {
+/*JP
grabs = "knocks off";
+*/
+ grabs = "\92@\82«\97\8e\82µ\82½";
#if 0
/* This is what should happen, but for balance
* reasons, it isn't currently.
/* for some reason the shopkeeper can't come next to you */
if (distu(shkp->mx, shkp->my) > 2) {
if (lang == 2)
+
+/*JP
pline("%s curses you in anger and frustration!",
+*/
+ pline("\93{\82è\82Å\95s\96\9e\82Ì\82½\82Ü\82Á\82Ä\82¢\82é%s\82Í\82 \82È\82½\82ð\8eô\82Á\82½\81I",
shkname(shkp));
else if (lang == 1)
growl(shkp);
rile_shk(shkp);
return;
} else
+#if 0 /*JP*/
pline("%s %s, and %s your backpack!", shkname(shkp),
makeplural(locomotion(shkp->data, "leap")), grabs);
+#else
+ pline("%s\82Í\94ò\82Ñ\82Â\82¢\82Ä\81C\82 \82È\82½\82Ì\94w\95\89\82¢\91Ü\82ð%s\81I", shkname(shkp),
+ grabs);
+#endif
} else
+/*JP
pline("%s %s your backpack!", shkname(shkp), grabs);
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\94w\95\89\82¢\91Ü\82ð%s\81I", shkname(shkp), grabs);
for (obj = invent; obj; obj = obj2) {
obj2 = obj->nobj;
register boolean uinshp = (*u.ushops != '\0');
char qbuf[80];
register xchar x, y;
+#if 0 /*JP*/
boolean dugwall = (!strcmp(dmgstr, "dig into") /* wand */
|| !strcmp(dmgstr, "damage")); /* pick-axe */
+#else
+ boolean ni_wo = !strcmp(dmgstr, "\8c\8a\82ð\82 \82¯\82é"); /* wand */
+ boolean dugwall = (ni_wo || !strcmp(dmgstr, "\8f\9d\82Â\82¯\82é")); /* pick-axe */
+#endif
boolean animal, pursue;
struct damage *tmp_dam, *appear_here = 0;
/* any number >= (80*80)+(24*24) would do, actually */
if (uinshp) {
if (um_dist(shkp->mx, shkp->my, 1)
&& !um_dist(shkp->mx, shkp->my, 3)) {
+/*JP
pline("%s leaps towards you!", shkname(shkp));
+*/
+ pline("%s\82Í\82 \82È\82½\82É\94ò\82Ñ\82©\82©\82Á\82½\81I", shkname(shkp));
mnexto(shkp);
}
pursue = um_dist(shkp->mx, shkp->my, 1);
*/
if (MON_AT(x, y)) {
if (!Deaf && !animal) {
+/*JP
You_hear("an angry voice:");
+*/
+ You("\93{\82è\82Ì\90º\82ð\95·\82¢\82½\81F");
+/*JP
verbalize("Out of my way, scum!");
+*/
+ verbalize("\82Ç\82¯\81I\83N\83\\82Á\82½\82ê\81I");
wait_synch();
#if defined(UNIX) || defined(VMS)
#if defined(SYSV) || defined(ULTRIX) || defined(VMS)
if (animal && shkp->mcanmove && !shkp->msleeping)
yelp(shkp);
} else if (pursue || uinshp || !um_dist(x, y, 1)) {
+#if 0 /*JP*/
verbalize("How dare you %s my %s?", dmgstr,
dugwall ? "shop" : "door");
+#else
+ verbalize("\82Ç\82¤\82µ\82Ä%s%s%s\82è\82µ\82½\82ñ\82¾\81H",
+ dugwall ? "\93X" : "\94à",
+ ni_wo ? "\82É" : "\82ð",
+ jpast(dmgstr));
+#endif
} else {
+/*JP
pline("%s shouts:", shkname(shkp));
+*/
+ pline("%s\82Í\82³\82¯\82ñ\82¾\81F", shkname(shkp));
+#if 0 /*JP*/
verbalize("Who dared %s my %s?", dmgstr,
dugwall ? "shop" : "door");
+#else
+ verbalize("\92N\82ª%s%s%s\82è\82µ\82½\82ñ\82¾\82ë\82¤\81H",
+ dugwall ? "\93X" : "\94à",
+ ni_wo ? "\82É" : "\82ð",
+ jpast(dmgstr));
+#endif
}
hot_pursuit(shkp);
return;
}
if (Invis)
+/*JP
Your("invisibility does not fool %s!", shkname(shkp));
+*/
+ pline("%s\82Í\93§\96¾\82È\82 \82È\82½\82É\82¾\82Ü\82³\82ê\82È\82©\82Á\82½\81I", shkname(shkp));
+#if 0 /*JP*/
Sprintf(qbuf, "%sYou did %ld %s worth of damage!%s Pay?",
!animal ? cad(TRUE) : "", cost_of_damage,
currency(cost_of_damage), !animal ? "\"" : "");
+#else
+ Sprintf(qbuf,"\81u\82¨\82¢\81I%ld%s\82Ì\91¹\8aQ\82¾\81I\81v\95¥\82¢\82Ü\82·\82©\81H",
+ cost_of_damage, currency(cost_of_damage));
+#endif
if (yn(qbuf) != 'n') {
cost_of_damage = check_credit(cost_of_damage, shkp);
money2mon(shkp, cost_of_damage);
context.botl = 1;
+/*JP
pline("Mollified, %s accepts your restitution.", shkname(shkp));
+*/
+ pline("%s\82Í\81C\8a´\8fî\82ð\82â\82í\82ç\82°\94\85\8f\9e\8bà\82ð\8eó\82¯\82Æ\82Á\82½\81D", shkname(shkp));
/* move shk back to his home loc */
home_shk(shkp, FALSE);
pacify_shk(shkp);
} else {
if (!animal)
+/*JP
verbalize("Oh, yes! You'll pay!");
+*/
+ verbalize("\82³\82 \81C\95¥\82¤\82ñ\82¾\81I");
else
growl(shkp);
hot_pursuit(shkp);
struct monst *shkp = shop_keeper(inside_shop(u.ux, u.uy));
tmpwin = create_nhwindow(NHW_MENU);
+/*JP
putstr(tmpwin, 0, "Fine goods for sale:");
+*/
+ putstr(tmpwin, 0, "\94\84\82è\82É\82Å\82Ä\82¢\82é\82·\82Î\82ç\82µ\82¢\8f¤\95i\81F");
putstr(tmpwin, 0, "");
for (otmp = first_obj; otmp; otmp = otmp->nexthere) {
if (otmp->oclass == COIN_CLASS)
if (Has_contents(otmp))
cost += contained_cost(otmp, shkp, 0L, FALSE, FALSE);
if (!cost) {
+/*JP
Strcpy(price, "no charge");
+*/
+ Strcpy(price, "\96³\97¿");
contentsonly = FALSE;
} else {
+#if 0 /*JP*/
Sprintf(price, "%ld %s%s", cost, currency(cost),
(otmp->quan) > 1L ? " each" : "");
+#else
+ Sprintf(price, "%s%ld%s",
+ otmp->quan > 1L ? "\82»\82ê\82¼\82ê" : "", cost, currency(cost));
+#endif
}
+#if 0 /*JP*/
Sprintf(buf, "%s%s, %s", contentsonly ? the_contents_of : "",
doname(otmp), price);
+#else
+ Sprintf(buf, "%s%s\81C%s", doname(otmp),
+ contentsonly ? "\82Ì\92\86\90g" : "", price);
+#endif
putstr(tmpwin, 0, buf), cnt++;
}
if (cnt > 1) {
} else if (cnt == 1) {
if (!cost) {
/* "<doname(obj)>, no charge" */
+#if 0 /*JP*/
pline("%s!", upstart(buf)); /* buf still contains the string */
+#else
+ pline("%s\81I", buf); /* buf still contains the string */
+#endif
} else {
/* print cost in slightly different format, so can't reuse buf;
cost and contentsonly are already set up */
+#if 0 /*JP*/
Sprintf(buf, "%s%s", contentsonly ? the_contents_of : "",
doname(first_obj));
+#else
+ Sprintf(buf, "%s%s", doname(first_obj),
+ contentsonly ? "\82Ì\92\86\90g" : "");
+#endif
+#if 0 /*JP*/
pline("%s, price %ld %s%s%s", upstart(buf), cost, currency(cost),
(first_obj->quan > 1L) ? " each" : "",
contentsonly ? "." : shk_embellish(first_obj, cost));
+#else
+ pline("%s%s\82Í%s%ld%s\82¾\81D",
+ shk_embellish(first_obj, cost), buf,
+ first_obj->quan > 1L ? "\82»\82ê\82¼\82ê" : "",
+ cost, currency(cost));
+#endif
}
}
destroy_nhwindow(tmpwin);
}
+/*JP
+ \93X\8eå\82Ì\94\84\82è\95¶\8bå\81B\89p\8cê\82Å\82Í\96\96\94ö\82É\95t\82\82ª\93ú\96{\8cê\82Å\82Í\90æ\93ª\82É\95t\82\81B
+ \92¼\8cã\82É\83A\83C\83e\83\80\96¼\82ª\97\88\82é\82Ì\82Å\81A\83A\83C\83e\83\80\82É\91Î\82·\82é\8c`\97e\82Å\82à\93Æ\97§\82µ\82½\95¶\82Å\82à\97Ç\82¢\81B
+ */
STATIC_OVL const char *
shk_embellish(itm, cost)
register struct obj *itm;
else
o = itm->oclass;
if (o == FOOD_CLASS)
+/*JP
return ", gourmets' delight!";
+*/
+ return "\83O\83\8b\83\81\82ª\8b\83\82¢\82Ä\8aì\82Ô";
if (objects[itm->otyp].oc_name_known
? objects[itm->otyp].oc_magic
: (o == AMULET_CLASS || o == RING_CLASS || o == WAND_CLASS
|| o == POTION_CLASS || o == SCROLL_CLASS
|| o == SPBOOK_CLASS))
+/*JP
return ", painstakingly developed!";
+*/
+ return "\88ê\8b\89\82Ì\96\82\97Í\82ð\94é\82ß\82½";
+/*JP
return ", superb craftsmanship!";
+*/
+ return "\88ê\97¬\90E\90l\82Ì\8dì\82Á\82½";
case 3:
+/*JP
return ", finest quality.";
+*/
+ return "\8dÅ\8d\82\82Ì\95i\8e¿\82ð\8cÖ\82é";
case 2:
+/*JP
return ", an excellent choice.";
+*/
+ return "\82³\82·\82ª\82¨\8bq\82³\82ñ\96Ú\82ª\8d\82\82¢\81I";
case 1:
+/*JP
return ", a real bargain.";
+*/
+ return "\96{\93ú\82Ì\96Ú\8bÊ\8f¤\95i\81I";
default:
break;
}
} else if (itm->oartifact) {
+/*JP
return ", one of a kind!";
+*/
+ return "\82±\82ê\82Í\90¢\8aE\82É\82Ü\82½\82Æ\82È\82¢\81I";
}
+/*JP
return ".";
+*/
+ return "";
}
/* First 4 supplied by Ronen and Tamar, remainder by development team */
const char *Izchak_speaks[] = {
+/*JP
"%s says: 'These shopping malls give me a headache.'",
+*/
+ "%s\9eH\82\81w\82±\82ê\82ç\83V\83\87\83b\83s\83\93\83O\8aX\82Í\93ª\92É\82Ì\83^\83l\82¾\81D\81x",
+/*JP
"%s says: 'Slow down. Think clearly.'",
+*/
+ "%s\9eH\82\81w\97\8e\82¿\92\85\82¢\82Ä\81C\96¾\9dð\82É\8dl\82¦\82æ\81D\81x",
+/*JP
"%s says: 'You need to take things one at a time.'",
+*/
+ "%s\9eH\82\81w\88ê\93x\82É\88ê\8cÂ\82¸\82Â\8eæ\82é\95K\97v\82ª\82 \82é\81D\81x",
+/*JP
"%s says: 'I don't like poofy coffee... give me Columbian Supremo.'",
+*/
+ "%s\9eH\82\81w\83z\83\82\82Á\82Û\82¢\83R\81[\83q\82Í\8dD\82«\82¶\82á\82È\82¢\81D\81D\81D\83R\83\8d\83\93\83r\83A\83\93\81E\83X\83v\83\8c\83\82\82ð\82½\82Ì\82Þ\81D\81x",
+/*JP
"%s says that getting the devteam's agreement on anything is difficult.",
+*/
+ "\8aJ\94\83`\81[\83\80\82É\89½\82ç\82©\82Ì\8b¦\92è\82ð\8b\81\82ß\82é\82±\82Æ\82Í\8d¢\93ï\82¾\82Æ%s\82Í\8fq\82×\82½\81D",
+/*JP
"%s says that he has noticed those who serve their deity will prosper.",
+*/
+ "%s\82Í\90_\82É\8ed\82¦\82Ä\82¢\82é\82â\82Â\82Í\90¬\8c÷\82µ\82Ä\82¢\82é\82Æ\8fq\82×\82½\81D",
+/*JP
"%s says: 'Don't try to steal from me - I have friends in high places!'",
+*/
+ "%s\9eH\82\81w\8e\84\82©\82ç\93\90\82à\82¤\82È\82ñ\82Ä\8ev\82í\82È\82¢\82±\82Æ\82¾\81D\8fã\82Ì\95û\82É\92m\82è\8d\87\82¢\82ª\82¢\82é\82ñ\82¾\82©\82ç\81D\81x",
+/*JP
"%s says: 'You may well need something from this shop in the future.'",
+*/
+ "%s\9eH\82\81w\8f«\97\88\82±\82Ì\93X\82Ì\89½\82©\82ª\95K\97v\82Æ\82È\82é\82¾\82ë\82¤\81x",
+/*JP
"%s comments about the Valley of the Dead as being a gateway."
+*/
+ "%s\82Í\8e\80\82Ì\92J\82Í\83Q\81[\83g\83E\83F\83C\82¾\82ë\82¤\82Æ\83R\83\81\83\93\83g\82ð\8fq\82×\82½\81D"
};
void
not actually a shk, which could happen if someone
wishes for a shopkeeper statue and then animates it.
(Note: shkname() would be "" in a case like this.) */
+#if 0 /*JP*/
pline("%s asks whether you've seen any untended shops recently.",
+#else
+ pline("%s\82Í\8dÅ\8bß\82Ç\82±\82©\82É\93X\88õ\82Ì\82¢\82È\82¢\93X\82Í\82È\82¢\82©\82Æ\82½\82¸\82Ë\82½\81D",
+#endif
Monnam(shkp));
/* [Perhaps we ought to check whether this conversation
is taking place inside an untended shop, but a shopless
eshk = ESHK(shkp);
if (ANGRY(shkp)) {
+#if 0 /*JP*/
pline("%s mentions how much %s dislikes %s customers.",
shkname(shkp), mhe(shkp), eshk->robbed ? "non-paying" : "rude");
+#else
+ pline("%s\82Í%s\8bq\82Í\91å\8c\99\82¢\82¾\82Æ\8c¾\82Á\82½\81D",
+ shkname(shkp), eshk->robbed ? "\8bà\82ð\8ex\95¥\82í\82È\82¢" : "\96³\97ç\82È");
+#endif
} else if (eshk->following) {
if (strncmp(eshk->customer, plname, PL_NSIZ)) {
+#if 0 /*JP*/
verbalize("%s %s! I was looking for %s.",
Hello(shkp), plname, eshk->customer);
+#else
+ verbalize("%s\81I\8e\84\82Í%s\82ð\92T\82µ\82Ä\82¢\82Ü\82·\81D",
+ Hello(shkp), eshk->customer);
+#endif
eshk->following = 0;
} else {
+#if 0 /*JP*/
verbalize("%s %s! Didn't you forget to pay?",
Hello(shkp), plname);
+#else
+ verbalize("%s\81I\8ex\95¥\82¢\82ð\96Y\82ê\82Ä\82¢\82Ü\82¹\82ñ\82©\81H",
+ Hello(shkp));
+#endif
}
} else if (eshk->billct) {
register long total = addupbill(shkp) + eshk->debit;
+#if 0 /*JP*/
pline("%s says that your bill comes to %ld %s.",
shkname(shkp), total, currency(total));
+#else
+ pline("%s\82Í\8a¨\92è\82ª%ld%s\82É\82È\82é\82Æ\8c¾\82Á\82½\81D",
+ shkname(shkp), total, currency(total));
+#endif
} else if (eshk->debit) {
+#if 0 /*JP*/
pline("%s reminds you that you owe %s %ld %s.",
shkname(shkp), mhim(shkp), eshk->debit, currency(eshk->debit));
+#else
+ pline("\82 \82È\82½\82Í%s\82É%ld%s\82Ì\8eØ\82è\82ª\82 \82é\82±\82Æ\82ð\8ev\82¢\82¾\82µ\82½\81D",
+ shkname(shkp), eshk->debit, currency(eshk->debit));
+#endif
} else if (eshk->credit) {
+#if 0 /*JP*/
pline("%s encourages you to use your %ld %s of credit.",
shkname(shkp), eshk->credit, currency(eshk->credit));
+#else
+ pline("%s\82Í%ld%s\82Ì\97a\82¯\8bà\82ð\8eg\82¤\82æ\82¤\8a©\82ß\82½\81D",
+ shkname(shkp), eshk->credit, currency(eshk->credit));
+#endif
} else if (eshk->robbed) {
+/*JP
pline("%s complains about a recent robbery.", shkname(shkp));
+*/
+ pline("%s\82Í\8dÅ\8bß\82Ì\8b\93\90\82É\82Â\82¢\82Ä\8bð\92s\82ð\82±\82Ú\82µ\82½\81D", shkname(shkp));
} else if ((shkmoney = money_cnt(shkp->minvent)) < 50) {
+/*JP
pline("%s complains that business is bad.", shkname(shkp));
+*/
+ pline("%s\82Í\8f¤\94\84\82ª\8e|\82\82¢\82Á\82Ä\82È\82¢\82Æ\8bð\92s\82ð\82±\82Ú\82µ\82½\81D", shkname(shkp));
} else if (shkmoney > 4000) {
+/*JP
pline("%s says that business is good.", shkname(shkp));
+*/
+ pline("%s\82Í\8f¤\94\84\82ª\8e|\82\82¢\82Á\82Ä\82¢\82é\82Æ\8c¾\82Á\82½\81D", shkname(shkp));
} else if (is_izchak(shkp, FALSE)) {
pline(Izchak_speaks[rn2(SIZE(Izchak_speaks))], shkname(shkp));
} else {
+/*JP
pline("%s talks about the problem of shoplifters.", shkname(shkp));
+*/
+ pline("%s\82Í\96\9c\88ø\82Ì\96â\91è\82É\82Â\82¢\82Ä\98b\82µ\82½\81D", shkname(shkp));
}
}
}
}
if (cnt && !silent)
+#if 0 /*JP*/
pline_The("Kop%s (disappointed) vanish%s into thin air.",
plur(cnt), (cnt == 1) ? "es" : "");
+#else
+ pline("\82ª\82Á\82©\82è\82µ\82½\8cx\8a¯\82Í\8bó\8bC\82É\82Æ\82¯\82Ä\8fÁ\82¦\82½\81D");
+#endif
}
STATIC_OVL long
arg1 = arg2 = "";
if (otmp->oclass == SPBOOK_CLASS) {
+/*JP
fmt = "%sYou owe%s %ld %s.";
+*/
+ fmt = "%s%s%ld%s\82Ì\8eØ\82è\82¾\81D";
+/*JP
Sprintf(buf, "This is no free library, %s! ", cad(FALSE));
+*/
+ Strcpy(buf, "\82¨\82¢\81I\82±\82±\82Í\90}\8f\91\8aÙ\82¶\82á\82È\82¢\81I");
arg1 = rn2(2) ? buf : "";
+/*JP
arg2 = ESHK(shkp)->debit > 0L ? " an additional" : "";
+*/
+ arg2 = ESHK(shkp)->debit > 0L ? "\82³\82ç\82É\8c¾\82¦\82Î" : "";
} else if (otmp->otyp == POT_OIL) {
+/*JP
fmt = "%s%sThat will cost you %ld %s (Yendorian Fuel Tax).";
+*/
+ fmt = "%s%s\92l\92i\82Í%ld%s(\83C\83F\83\93\83_\81[\94R\97¿\90Å)\82¾\81D";
} else if (altusage && (otmp->otyp == BAG_OF_TRICKS
|| otmp->otyp == HORN_OF_PLENTY)) {
fmt = "%s%sEmptying that will cost you %ld %s.";
if (!rn2(3))
arg1 = "Watch it! ";
} else {
+/*JP
fmt = "%s%sUsage fee, %ld %s.";
+*/
+ fmt = "%s%s\8eg\97p\97¿\82Í\81C%ld%s\82¾\81D";
if (!rn2(3))
+/*JP
arg1 = "Hey! ";
+*/
+ arg1 = "\82¨\82¢\81I";
if (!rn2(3))
+/*JP
arg2 = "Ahem. ";
+*/
+ arg2 = "\83S\83z\83\93\81D";
}
if (!muteshk(shkp)) {
eshkp = ESHK(shkp);
if (eshkp->credit >= amount) {
if (eshkp->credit > amount)
+/*JP
Your("credit is reduced by %ld %s.", amount, currency(amount));
+*/
+ Your("\97a\82¯\8bà\82Í%ld%s\8c¸\82Á\82½\81D", amount, currency(amount));
else
+/*JP
Your("credit is erased.");
+*/
+ Your("\97a\82¯\8bà\82Í\92 \8fÁ\82µ\82É\82È\82Á\82½\81D");
eshkp->credit -= amount;
} else {
delta = amount - eshkp->credit;
if (eshkp->credit)
+/*JP
Your("credit is erased.");
+*/
+ Your("\97a\82¯\8bà\82Í\92 \8fÁ\82µ\82É\82È\82Á\82½\81D");
if (eshkp->debit)
+/*JP
Your("debt increases by %ld %s.", delta, currency(delta));
- else
+*/
+ Your("\8eØ\8bà\82Í%ld%s\91\9d\82¦\82½\81D", delta, currency(delta));
+ else
+/*JP
You("owe %s %ld %s.", shkname(shkp), delta, currency(delta));
+*/
+ You("%s\82É%ld%s\82Ì\8eØ\82è\82ð\82Â\82\82Á\82½\81D", shkname(shkp), delta, currency(delta));
eshkp->debit += delta;
eshkp->loan += delta;
eshkp->credit = 0L;
&& ESHK(shkp)->shd.y == y
&& shkp->mcanmove && !shkp->msleeping
&& (ESHK(shkp)->debit || ESHK(shkp)->billct || ESHK(shkp)->robbed)) {
+#if 0 /*JP*/
pline("%s%s blocks your way!", shkname(shkp),
Invis ? " senses your motion and" : "");
+#else
+ pline("%s\82Í%s\82 \82È\82½\82Ì\91O\82É\97§\82¿\82Ó\82³\82ª\82Á\82½\81I", shkname(shkp),
+ Invis ? "\93®\82«\82ð\8a´\82¶\82Æ\82è\81C" : "");
+#endif
return TRUE;
}
return FALSE;
&& (x == sx - 1 || x == sx + 1 || y == sy - 1 || y == sy + 1)
&& (Invis || carrying(PICK_AXE) || carrying(DWARVISH_MATTOCK)
|| u.usteed)) {
+#if 0 /*JP*/
pline("%s%s blocks your way!", shkname(shkp),
Invis ? " senses your motion and" : "");
+#else
+ pline("%s%s\82 \82È\82½\82Ì\91O\82É\97§\82¿\82Ó\82³\82ª\82Á\82½\81I", shkname(shkp),
+ Invis ? "\93®\82«\82ð\8a´\82¶\82Æ\82è\81C" : "");
+#endif
return TRUE;
}
return FALSE;
}
/* "your " or "Foobar's " (note the trailing space) */
+/* \81u\82 \82È\82½\82Ì\81v\82©\81uFoobar\82Ì\81v(\96\96\94ö\82É\8bó\94\92\82Í\95s\97v) */
char *
shk_your(buf, obj)
char *buf;
{
if (!shk_owns(buf, obj) && !mon_owns(buf, obj))
Strcpy(buf, the_your[carried(obj) ? 1 : 0]);
+/*JP
return strcat(buf, " ");
+*/
+ return buf;
}
char *
struct obj *obj;
{
(void) shk_your(buf, obj);
+#if 0 /*JP*/
*buf = highc(*buf);
+#endif
return buf;
}
&& (obj->unpaid || (obj->where == OBJ_FLOOR && !obj->no_charge
&& costly_spot(x, y)))) {
shkp = shop_keeper(inside_shop(x, y));
+#if 0 /*JP*/
return strcpy(buf, shkp ? s_suffix(shkname(shkp)) : the_your[0]);
+#else
+ if (shkp) {
+ strcpy(buf, shkname(shkp));
+ strcat(buf, "\82Ì");
+ } else {
+ strcpy(buf, "");
+ }
+ return buf;
+#endif
}
return (char *) 0;
}
struct obj *obj;
{
if (obj->where == OBJ_MINVENT)
+#if 0 /*JP*/
return strcpy(buf, s_suffix(y_monnam(obj->ocarry)));
+#else
+ {
+ strcpy(buf, mon_nam(obj->ocarry));
+ strcat(buf, "\82Ì");
+ return buf;
+ }
+#endif
return (char *) 0;
}
+#if 0 /*JP*//*\97\90\96\\82É\8cÄ\82Ñ\82©\82¯\82é\82Æ\82«\82Ì\93ñ\90l\8fÌ\81B\93ú\96{\8cê\82Å\82Í\81u\82¨\82¢\81v\82Å\8dÏ\82Þ\82Ì\82Å\8eg\82í\82È\82¢*/
STATIC_OVL const char *
cad(altusage)
boolean altusage; /* used as a verbalized exclamation: \"Cad! ...\" */
}
return res;
}
+#endif /*JP*/
#ifdef __SASC
void
/* shknam.c -- initialize a shop */
+/* 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_DCL boolean FDECL(veggy_item, (struct obj * obj, int));
* (by testing the sign) whether to use mkobj() or mksobj().
*/
const struct shclass shtypes[] = {
+/*JP
{ "general store",
+*/
+ { "\8eG\89Ý\89®",
RANDOM_CLASS,
42,
D_SHOP,
{ 0, 0 },
{ 0, 0 } },
shkgeneral },
+/*JP
{ "used armor dealership",
+*/
+ { "\92\86\8cÃ\8aZ\8f¤\89ï",
ARMOR_CLASS,
14,
D_SHOP,
{ 0, 0 },
{ 0, 0 } },
shkarmors },
+/*JP
{ "second-hand bookstore",
+*/
+ { "\8cÃ\8f\91\93X",
SCROLL_CLASS,
10,
D_SHOP,
{ 0, 0 },
{ 0, 0 } },
shkbooks },
+/*JP
{ "liquor emporium",
+*/
+ {"\82¨\8eð\82Ì\95S\89Ý\93X",
POTION_CLASS,
10,
D_SHOP,
{ 0, 0 },
{ 0, 0 } },
shkliquors },
+/*JP
{ "antique weapons outlet",
+*/
+ { "\8cÃ\95\90\8aí\90ê\96å\8f¬\94\84\93X",
WEAPON_CLASS,
5,
D_SHOP,
{ 0, 0 },
{ 0, 0 } },
shkweapons },
+/*JP
{ "delicatessen",
+*/
+ { "\90H\95i\93X",
FOOD_CLASS,
5,
D_SHOP,
{ 3, -ICE_BOX },
{ 0, 0 } },
shkfoods },
+/*JP
{ "jewelers",
+*/
+ { "\95ó\90Î\93X",
RING_CLASS,
3,
D_SHOP,
{ 0, 0 },
{ 0, 0 } },
shkrings },
+/*JP
{ "quality apparel and accessories",
+*/
+ { "\82¨\83V\83\83\83\8c\82È\97m\95i\93X",
WAND_CLASS,
3,
D_SHOP,
{ 5, -ELVEN_CLOAK },
{ 0, 0 } },
shkwands },
+/*JP
{ "hardware store",
+*/
+ { "\93¹\8bï\89®",
TOOL_CLASS,
3,
D_SHOP,
{ 0, 0 },
{ 0, 0 } },
shktools },
+/*JP
{ "rare books",
+*/
+ { "\8c¶\82Ì\96{\89®",
SPBOOK_CLASS,
3,
D_SHOP,
{ 0, 0 },
{ 0, 0 } },
shkbooks },
+/*JP
{ "health food store",
+*/
+ { "\8c\92\8dN\90H\95i\82Ì\93X",
FOOD_CLASS,
2,
D_SHOP,
* probability of zero. They are only created via the special level
* loader.
*/
+/*JP
{ "lighting store",
+*/
+ { "\8fÆ\96¾\93X",
TOOL_CLASS,
0,
D_SHOP,
n--;
else if (inside_shop(sx, sy - 1))
n++;
+/*JP
Sprintf(buf, "Closed for inventory");
+*/
+ Sprintf(buf, "\92I\89µ\82µ\82Ì\82½\82ß\95Â\93X");
make_engr_at(m, n, buf, 0L, DUST);
}
/* 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"
#include "artifact.h"
}
}
if (!lost_money) {
+/*JP
You_feel("a strange sensation.");
+*/
+ You("\8aï\96\82È\8a´\8ao\82ð\8ao\82¦\82½\81D");
} else {
+/*JP
You("notice you have no money!");
+*/
+ You("\82¨\8bà\82ð\8e\9d\82Á\82Ä\82È\82¢\82±\82Æ\82É\8bC\82ª\82Â\82¢\82½\81I");
context.botl = 1;
}
}
int
dosit()
{
+/*JP
static const char sit_message[] = "sit on the %s.";
+*/
+ static const char sit_message[] = "%s\82É\8dÀ\82Á\82½\81D";
register struct trap *trap = t_at(u.ux, u.uy);
register int typ = levl[u.ux][u.uy].typ;
if (u.usteed) {
+/*JP
You("are already sitting on %s.", mon_nam(u.usteed));
+*/
+ You("\82à\82¤%s\82É\8dÀ\82Á\82Ä\82¢\82é\81D", mon_nam(u.usteed));
return 0;
}
if (u.uundetected && is_hider(youmonst.data) && u.umonnum != PM_TRAPPER)
if (!can_reach_floor(FALSE)) {
if (u.uswallow)
+/*JP
There("are no seats in here!");
+*/
+ pline("\82±\82±\82É\82Í\88Ö\8eq\82ª\82È\82¢\81I");
else if (Levitation)
+/*JP
You("tumble in place.");
+*/
+ You("\82»\82Ì\8fê\82Å\92\88\95Ô\82è\82µ\82½\81D");
else
+/*JP
You("are sitting on air.");
+*/
+ You("\8bó\92\86\82É\8dÀ\82Á\82½\81D");
return 0;
} else if (u.ustuck && !sticks(youmonst.data)) {
/* holding monster is next to hero rather than beneath, but
hero is in no condition to actually sit at has/her own spot */
if (humanoid(u.ustuck->data))
+/*JP
pline("%s won't offer %s lap.", Monnam(u.ustuck), mhis(u.ustuck));
+*/
+ pline("%s\82Í\82Ð\82´\82ð\8fo\82³\82È\82©\82Á\82½\81D", Monnam(u.ustuck));
else
+/*JP
pline("%s has no lap.", Monnam(u.ustuck));
+*/
+ pline("%s\82É\82Í\82Ð\82´\82ª\82È\82¢\81D", Monnam(u.ustuck));
return 0;
} else if (is_pool(u.ux, u.uy) && !Underwater) { /* water walking */
goto in_water;
obj = level.objects[u.ux][u.uy];
if (youmonst.data->mlet == S_DRAGON && obj->oclass == COIN_CLASS) {
+#if 0 /*JP*/
You("coil up around your %shoard.",
(obj->quan + money_cnt(invent) < u.ulevel * 1000) ? "meager "
: "");
+#else
+ You("%s\82¨\95ó\82Ì\82Ü\82í\82è\82Å\82Æ\82®\82ë\82ð\8aª\82¢\82½\81D",
+ (obj->quan + money_cnt(invent) < u.ulevel * 1000) ? "\82í\82¸\82©\82È"
+ : "");
+#endif
} else {
+/*JP
You("sit on %s.", the(xname(obj)));
+*/
+ You("%s\82É\8dÀ\82Á\82½\81D", the(xname(obj)));
if (!(Is_box(obj) || objects[obj->otyp].oc_material == CLOTH))
+/*JP
pline("It's not very comfortable...");
+*/
+ pline("\82 \82Ü\82è\8dÀ\82è\82²\82±\82¿\82ª\82æ\82\82È\82¢\81D\81D\81D");
}
} else if (trap != 0 || (u.utrap && (u.utraptype >= TT_LAVA))) {
if (u.utrap) {
exercise(A_WIS, FALSE); /* you're getting stuck longer */
if (u.utraptype == TT_BEARTRAP) {
+/*JP
You_cant("sit down with your %s in the bear trap.",
+*/
+ pline("%s\82ª\8cF\82Ìã©\82É\82Í\82³\82Ü\82Á\82Ä\82¢\82é\82Ì\82Å\8dÀ\82ê\82È\82¢\81D",
body_part(FOOT));
u.utrap++;
} else if (u.utraptype == TT_PIT) {
if (trap && trap->ttyp == SPIKED_PIT) {
+/*JP
You("sit down on a spike. Ouch!");
+*/
+ You("\83g\83Q\82Ì\8fã\82É\8dÀ\82Á\82½\81D\82¢\82Ä\82Á\81I");
losehp(Half_physical_damage ? rn2(2) : 1,
+/*JP
"sitting on an iron spike", KILLED_BY);
+*/
+ "\93S\82Ì\83g\83Q\82Ì\8fã\82É\8dÀ\82Á\82Ä", KILLED_BY);
exercise(A_STR, FALSE);
} else
+/*JP
You("sit down in the pit.");
+*/
+ You("\97\8e\82µ\8c\8a\82Ì\92\86\82Å\8dÀ\82Á\82½\81D");
u.utrap += rn2(5);
} else if (u.utraptype == TT_WEB) {
+/*JP
You("sit in the spider web and get entangled further!");
+*/
+ You("\82\82à\82Ì\91\83\82Ì\92\86\82Å\8dÀ\82Á\82½\82ç\81C\82Ü\82·\82Ü\82·\97\8d\82Ü\82Á\82½\81I");
u.utrap += rn1(10, 5);
} else if (u.utraptype == TT_LAVA) {
/* Must have fire resistance or they'd be dead already */
+/*JP
You("sit in the lava!");
+*/
+ You("\97n\8aâ\82Ì\92\86\82É\8dÀ\82Á\82½\81I");
if (Slimed)
burn_away_slime();
u.utrap += rnd(4);
+/*JP
losehp(d(2, 10), "sitting in lava",
+*/
+ losehp(d(2, 10), "\97n\8aâ\82Ì\92\86\82É\8dÀ\82Á\82Ä",
KILLED_BY); /* lava damage */
} else if (u.utraptype == TT_INFLOOR
|| u.utraptype == TT_BURIEDBALL) {
+/*JP
You_cant("maneuver to sit!");
+*/
+ You("\8dÀ\82é\82æ\82¤\82È\93®\8dì\82ª\82Å\82«\82È\82¢\81I");
u.utrap++;
}
} else {
+/*JP
You("sit down.");
+*/
+ You("\8dÀ\82Á\82½\81D");
dotrap(trap, 0);
}
} else if (Underwater || Is_waterlevel(&u.uz)) {
if (Is_waterlevel(&u.uz))
+/*JP
There("are no cushions floating nearby.");
+*/
+ pline("\8bß\82\82É\95\82\82¢\82Ä\82¢\82é\83N\83b\83V\83\87\83\93\82Í\82È\82¢\81D");
else
+/*JP
You("sit down on the muddy bottom.");
+*/
+ You("\82Ç\82ë\82Ç\82ë\82µ\82½\92ê\82É\8dÀ\82Á\82½\81D");
} else if (is_pool(u.ux, u.uy)) {
in_water:
+/*JP
You("sit in the water.");
+*/
+ You("\90\85\82Ì\92\86\82Å\8dÀ\82Á\82½\81D");
if (!rn2(10) && uarm)
+/*JP
(void) water_damage(uarm, "armor", TRUE);
+*/
+ (void) water_damage(uarm, "\8aZ", TRUE);
if (!rn2(10) && uarmf && uarmf->otyp != WATER_WALKING_BOOTS)
+/*JP
(void) water_damage(uarm, "armor", TRUE);
+*/
+ (void) water_damage(uarm, "\8aZ", TRUE);
} else if (IS_SINK(typ)) {
You(sit_message, defsyms[S_sink].explanation);
+/*JP
Your("%s gets wet.", humanoid(youmonst.data) ? "rump" : "underside");
+*/
+ Your("%s\82Í\94G\82ê\82½\81D", humanoid(youmonst.data) ? "\90K" : "\89º\95\94");
} else if (IS_ALTAR(typ)) {
You(sit_message, defsyms[S_altar].explanation);
altar_wrath(u.ux, u.uy);
} else if (IS_GRAVE(typ)) {
You(sit_message, defsyms[S_grave].explanation);
} else if (typ == STAIRS) {
+/*JP
You(sit_message, "stairs");
+*/
+ You(sit_message, "\8aK\92i");
} else if (typ == LADDER) {
+/*JP
You(sit_message, "ladder");
+*/
+ You(sit_message, "\82Í\82µ\82²");
} else if (is_lava(u.ux, u.uy)) {
/* must be WWalking */
+/*JP
You(sit_message, "lava");
+*/
+ You(sit_message, "\97n\8aâ");
burn_away_slime();
if (likes_lava(youmonst.data)) {
+/*JP
pline_The("lava feels warm.");
+*/
+ pline("\97n\8aâ\82Í\92g\82©\82¢\81D");
return 1;
}
+/*JP
pline_The("lava burns you!");
+*/
+ You("\97n\8aâ\82Å\94R\82¦\82½\81I");
losehp(d((Fire_resistance ? 2 : 10), 10), /* lava damage */
+/*JP
"sitting on lava", KILLED_BY);
+*/
+ "\97n\8aâ\82É\8dÀ\82Á\82Ä", KILLED_BY);
} else if (is_ice(u.ux, u.uy)) {
You(sit_message, defsyms[S_ice].explanation);
if (!Cold_resistance)
+/*JP
pline_The("ice feels cold.");
+*/
+ pline("\95X\82Í\97â\82½\82\8a´\82¶\82½\81D");
} else if (typ == DRAWBRIDGE_DOWN) {
+/*JP
You(sit_message, "drawbridge");
+*/
+ You(sit_message, "\92µ\82Ë\8b´");
} else if (IS_THRONE(typ)) {
You(sit_message, defsyms[S_throne].explanation);
if (rnd(6) > 4) {
switch (rnd(13)) {
case 1:
(void) adjattrib(rn2(A_MAX), -rn1(4, 3), FALSE);
+/*JP
losehp(rnd(10), "cursed throne", KILLED_BY_AN);
+*/
+ losehp(rnd(10), "\8eô\82í\82ê\82½\8bÊ\8dÀ\82Å", KILLED_BY_AN);
break;
case 2:
(void) adjattrib(rn2(A_MAX), 1, FALSE);
break;
case 3:
+#if 0 /*JP*/
pline("A%s electric shock shoots through your body!",
(Shock_resistance) ? "n" : " massive");
+#else
+ pline("%s\93d\8bC\82ª\82 \82È\82½\82Ì\91Ì\82ð\91\96\82è\94²\82¯\82½\81I",
+ (Shock_resistance) ? "" : "\8c\83\82µ\82¢");
+#endif
+/*JP
losehp(Shock_resistance ? rnd(6) : rnd(30), "electric chair",
+*/
+ losehp(Shock_resistance ? rnd(6) : rnd(30), "\93d\8bC\88Ö\8eq\82Å",
KILLED_BY_AN);
exercise(A_CON, FALSE);
break;
case 4:
+/*JP
You_feel("much, much better!");
+*/
+ You_feel("\82Æ\82Ä\82à\81C\82Æ\82Ä\82à\8c³\8bC\82É\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81I");
if (Upolyd) {
if (u.mh >= (u.mhmax - 5))
u.mhmax += 4;
break;
case 6:
if (u.uluck + rn2(5) < 0) {
+/*JP
You_feel("your luck is changing.");
+*/
+ pline("\89^\82ª\8cü\82¢\82Ä\82«\82½\8bC\82ª\82·\82é\81D");
change_luck(1);
} else
makewish();
int cnt = rnd(10);
/* Magical voice not affected by deafness */
+/*JP
pline("A voice echoes:");
+*/
+ pline("\90º\82ª\8b¿\82¢\82½:");
+#if 0 /*JP*/
verbalize("Thy audience hath been summoned, %s!",
flags.female ? "Dame" : "Sire");
+#else
+ verbalize("%s\82æ\81I\93ð\82Ì\92®\8fO\8f¢\8a«\82³\82ê\82µ\81D",
+ flags.female ? "\8f\97" : "\92j");
+#endif
while (cnt--)
(void) makemon(courtmon(), u.ux, u.uy, NO_MM_FLAGS);
break;
}
case 8:
/* Magical voice not affected by deafness */
+/*JP
pline("A voice echoes:");
+*/
+ pline("\90º\82ª\8b¿\82¢\82½:");
+#if 0 /*JP*/
verbalize("By thine Imperious order, %s...",
flags.female ? "Dame" : "Sire");
+#else
+ verbalize("%s\82æ\81I\93ð\82Ì\98ü\96\9d\95·\82«\82¢\82ê\82æ\82¤\82¼\81D",
+ flags.female ? "\8f\97" : "\92j");
+#endif
do_genocide(5); /* REALLY|ONTHRONE, see do_genocide() */
break;
case 9:
/* Magical voice not affected by deafness */
+/*JP
pline("A voice echoes:");
+*/
+ pline("\90º\82ª\8b¿\82¢\82½:");
verbalize(
+/*JP
"A curse upon thee for sitting upon this most holy throne!");
+*/
+ "\90¹\82È\82é\8bÊ\8dÀ\82É\8dÀ\82è\82µ\93ð\82É\8eô\82¢\82 \82ê\81I");
if (Luck > 0) {
make_blinded(Blinded + rn1(100, 250), TRUE);
} else
case 10:
if (Luck < 0 || (HSee_invisible & INTRINSIC)) {
if (level.flags.nommap) {
+/*JP
pline("A terrible drone fills your head!");
+*/
+ pline("\8b°\82µ\82¢\83u\83\93\83u\83\93\82Æ\82¢\82¤\89¹\82ª\93ª\82É\8b¿\82¢\82½\81I");
make_confused((HConfusion & TIMEOUT) + (long) rnd(30),
FALSE);
} else {
+/*JP
pline("An image forms in your mind.");
+*/
+ pline("\82 \82é\83C\83\81\81[\83W\82ª\93ª\82É\95\82\82ñ\82¾\81D");
do_mapping();
}
} else {
+/*JP
Your("vision becomes clear.");
+*/
+ Your("\8e\8b\8aE\82Í\8dá\82¦\93n\82Á\82½\81D");
HSee_invisible |= FROMOUTSIDE;
newsym(u.ux, u.uy);
}
break;
case 11:
if (Luck < 0) {
+/*JP
You_feel("threatened.");
+*/
+ You("\8bº\94\97\82³\82ê\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
aggravate();
} else {
+/*JP
You_feel("a wrenching sensation.");
+*/
+ You("\82Ë\82¶\82ç\82ê\82½\82æ\82¤\82È\8a´\8ao\82ð\8a´\82¶\82½\81D");
tele(); /* teleport him */
}
break;
case 12:
+/*JP
You("are granted an insight!");
+*/
+ You("\93´\8e@\97Í\82ð\93¾\82½\81I");
if (invent) {
/* rn2(5) agrees w/seffects() */
identify_pack(rn2(5), FALSE);
}
break;
case 13:
+/*JP
Your("mind turns into a pretzel!");
+*/
+ Your("\90S\82Í\83N\83l\83N\83l\82É\82È\82Á\82½\81I");
make_confused((HConfusion & TIMEOUT) + (long) rn1(7, 16),
FALSE);
break;
}
} else {
if (is_prince(youmonst.data))
+/*JP
You_feel("very comfortable here.");
+*/
+ You("\82±\82±\82Í\82Æ\82Ä\82à\97\8e\82¿\92\85\82\81D");
else
+/*JP
You_feel("somehow out of place...");
+*/
+ You("\89½\82©\8fê\88á\82¢\82Ì\8bC\82ª\82µ\82½\81D\81D\81D");
}
if (!rn2(3) && IS_THRONE(levl[u.ux][u.uy].typ)) {
/* may have teleported */
levl[u.ux][u.uy].typ = ROOM;
+/*JP
pline_The("throne vanishes in a puff of logic.");
+*/
+ pline("\8bÊ\8dÀ\82Í\82Ó\82Á\82Æ\8fÁ\82¦\82½\81D");
newsym(u.ux, u.uy);
}
} else if (lays_eggs(youmonst.data)) {
struct obj *uegg;
if (!flags.female) {
+#if 0 /*JP*/
pline("%s can't lay eggs!",
Hallucination
? "You may think you are a platypus, but a male still"
: "Males");
+#else
+ pline("%s\97Y\82Í\97\91\82ð\8eY\82ß\82È\82¢\81I",
+ Hallucination
+ ? "\82 \82È\82½\82Í\8e©\95ª\82ª\83J\83\82\83m\83n\83V\82¾\82Æ\8ev\82Á\82Ä\82¢\82é\82©\82à\82µ\82ê\82È\82¢\82ª\81C\82â\82Á\82Ï\82è"
+ : "");
+#endif
return 0;
} else if (u.uhunger < (int) objects[EGG].oc_nutrition) {
+/*JP
You("don't have enough energy to lay an egg.");
+*/
+ You("\97\91\82ð\8eY\82Þ\82¾\82¯\82Ì\83G\83l\83\8b\83M\81[\82ª\82È\82¢\81D");
return 0;
}
/* this sets hatch timers if appropriate */
set_corpsenm(uegg, egg_type_from_parent(u.umonnum, FALSE));
uegg->known = uegg->dknown = 1;
+/*JP
You("lay an egg.");
+*/
+ You("\97\91\82ð\8eY\82ñ\82¾\81D");
dropy(uegg);
stackobj(uegg);
morehungry((int) objects[EGG].oc_nutrition);
} else {
+/*JP
pline("Having fun sitting on the %s?", surface(u.ux, u.uy));
+*/
+ pline("%s\82É\8dÀ\82Á\82Ä\8ay\82µ\82¢\82©\82¢\81H", surface(u.ux,u.uy));
}
return 1;
}
int nobj = 0;
int cnt, onum;
struct obj *otmp;
+/*JP
static const char mal_aura[] = "feel a malignant aura surround %s.";
+*/
+ static const char mal_aura[] = "\8e×\88«\82È\83I\81[\83\89\82ð%s\82Ì\89ñ\82è\82É\8a´\82¶\82½\81D";
if (uwep && (uwep->oartifact == ART_MAGICBANE) && rn2(20)) {
+/*JP
You(mal_aura, "the magic-absorbing blade");
+*/
+ You(mal_aura, "\96\82\97Í\82ð\8bz\82¢\82Æ\82é\93\81");
return;
}
if (Antimagic) {
shieldeff(u.ux, u.uy);
+/*JP
You(mal_aura, "you");
+*/
+ You(mal_aura, "\82 \82È\82½");
}
for (otmp = invent; otmp; otmp = otmp->nobj) {
if (otmp->oartifact && spec_ability(otmp, SPFX_INTEL)
&& rn2(10) < 8) {
+/*JP
pline("%s!", Tobjnam(otmp, "resist"));
+*/
+ pline("%s\82Í\89e\8b¿\82ð\8eó\82¯\82È\82¢\81I", xname(otmp));
continue;
}
else
curse(otmp);
if (!Blind) {
+#if 0 /*JP*/
pline("%s %s.", Yobjnam2(otmp, "glow"),
hcolor(otmp->cursed ? NH_BLACK : (const char *) "brown"));
+#else
+ pline("%s\82Í%s\8bP\82¢\82½\81D", xname(otmp),
+ jconj_adj(hcolor(otmp->cursed ? NH_BLACK : (const char *)"\92\83\90F\82Ì")));
+#endif
otmp->bknown = TRUE;
}
}
case 1:
if (HFire_resistance & INTRINSIC) {
HFire_resistance &= ~INTRINSIC;
+/*JP
You_feel("warmer.");
+*/
+ You("\92g\82©\82³\82ð\8a´\82¶\82½\81D");
break;
}
case 2:
if (HTeleportation & INTRINSIC) {
HTeleportation &= ~INTRINSIC;
+/*JP
You_feel("less jumpy.");
+*/
+ You("\82¿\82å\82Á\82Æ\97\8e\82¿\82Â\82¢\82½\81D");
break;
}
case 3:
if (HPoison_resistance & INTRINSIC) {
HPoison_resistance &= ~INTRINSIC;
+/*JP
You_feel("a little sick!");
+*/
+ You("\8f\82µ\8bC\95ª\82ª\88«\82\82È\82Á\82½\81I");
break;
}
case 4:
HTelepat &= ~INTRINSIC;
if (Blind && !Blind_telepat)
see_monsters(); /* Can't sense mons anymore! */
+/*JP
Your("senses fail!");
+*/
+ Your("\8cÜ\8a´\82Í\96\83á\83\82µ\82½\81I");
break;
}
case 5:
if (HCold_resistance & INTRINSIC) {
HCold_resistance &= ~INTRINSIC;
+/*JP
You_feel("cooler.");
+*/
+ You("\97Á\82µ\82³\82ð\8a´\82¶\82½\81D");
break;
}
case 6:
if (HInvis & INTRINSIC) {
HInvis &= ~INTRINSIC;
+/*JP
You_feel("paranoid.");
+*/
+ You("\96Ï\91z\82ð\95ø\82¢\82½\81D");
break;
}
case 7:
if (HSee_invisible & INTRINSIC) {
HSee_invisible &= ~INTRINSIC;
+#if 0 /*JP*/
You("%s!", Hallucination ? "tawt you taw a puttie tat"
: "thought you saw something");
+#else
+ if(Hallucination)
+ You("\82¾\82ê\8aI\82Ý\82ç\81C\82ê\82Ä\82¢\82é\81D");
+ else
+ You("\92N\82©\82É\8c©\82ç\82ê\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81I");
+#endif
break;
}
case 8:
if (HFast & INTRINSIC) {
HFast &= ~INTRINSIC;
+/*JP
You_feel("slower.");
+*/
+ You("\92x\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
break;
}
case 9:
if (HStealth & INTRINSIC) {
HStealth &= ~INTRINSIC;
+/*JP
You_feel("clumsy.");
+*/
+ You("\95s\8aí\97p\82É\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
break;
}
case 10:
/* intrinsic protection is just disabled, not set back to 0 */
if (HProtection & INTRINSIC) {
HProtection &= ~INTRINSIC;
+/*JP
You_feel("vulnerable.");
+*/
+ You("\96³\96h\94õ\82É\82È\82Á\82½\8bC\82ª\82µ\82½\81D");
break;
}
case 11:
if (HAggravate_monster & INTRINSIC) {
HAggravate_monster &= ~INTRINSIC;
+/*JP
You_feel("less attractive.");
+*/
+ You("\96£\97Í\82ª\8e¸\82¹\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
break;
}
default:
/* Copyright (c) 1989 Janet Walz, Mike Threepoint */
/* 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_DCL boolean FDECL(mon_is_gecko, (struct monst *));
hallu = Hallucination ? 1 : 0;
if (level.flags.nfountains && !rn2(400)) {
+#if 0 /*JP*/
static const char *const fountain_msg[4] = {
"bubbling water.", "water falling on coins.",
"the splashing of a naiad.", "a soda fountain!",
+#else
+ static const char *const fountain_msg[4] = {
+ "\83S\83{\83S\83{\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D", "\83s\83`\83\83\83s\83`\83\83\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D",
+ "\83o\83V\83\83\83o\83V\83\83\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D", "\92Y\8e_\88ù\97¿\82Ì\83V\83\85\81[\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81I",
+#endif
};
You_hear1(fountain_msg[rn2(3) + hallu]);
}
if (level.flags.nsinks && !rn2(300)) {
+#if 0 /*JP*/
static const char *const sink_msg[3] = {
"a slow drip.", "a gurgling noise.", "dishes being washed!",
+#else
+ static const char *const sink_msg[3] = {
+ "\90\85\82ª\82Û\82½\82Û\82½\82Æ\97\8e\82¿\82é\89¹\82ð\95·\82¢\82½\81D",
+ "\82ª\82ç\82ª\82ç\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D",
+ "\8eM\82ð\90ô\82¤\89¹\82ð\95·\82¢\82½\81I",
+#endif
};
You_hear1(sink_msg[rn2(2) + hallu]);
}
if (level.flags.has_court && !rn2(200)) {
+#if 0 /*JP*/
static const char *const throne_msg[4] = {
"the tones of courtly conversation.",
"a sceptre pounded in judgment.",
"Someone shouts \"Off with %s head!\"", "Queen Beruthiel's cats!",
+#else
+ static const char *const throne_msg[4] = {
+ "\8fã\95i\82È\98b\82µ\90º\82ð\95·\82¢\82½\81D",
+ "\8dÙ\94»\82Åâ\94\82ð\93Ë\82\89¹\82ð\95·\82¢\82½\81D",
+ "\82¾\82ê\82©\82ª\81u\82»\82Ì\82à\82Ì\82Ì\8eñ\82ð\82Í\82Ë\82æ\81I\81v\82Æ\8b©\82Ô\90º\82ð\95·\82¢\82½\81D",
+ "\83x\83\8b\83V\83G\83\8b\89¤\94Ü\82Ì\94L\82Ì\90º\82ð\95·\82¢\82½\81I",
+#endif
};
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
if (DEADMONSTER(mtmp))
}
}
if (level.flags.has_swamp && !rn2(200)) {
+#if 0 /*JP*/
static const char *const swamp_msg[3] = {
"hear mosquitoes!", "smell marsh gas!", /* so it's a smell...*/
"hear Donald Duck!",
+#else
+ static const char *const swamp_msg[3] = {
+ "\89á\82Ì\89H\89¹\82ð\95·\82¢\82½\81D",
+ "\95\85\82Á\82½\93õ\82¢\82ª\82µ\82½\81I", /* so it's a smell...*/
+ "\83h\83i\83\8b\83h\83_\83b\83N\82Ì\90º\82ð\95·\82¢\82½\81I",
+#endif
};
You1(swamp_msg[rn2(2) + hallu]);
return;
#endif /* AZTEC_C_WORKAROUND */
{
if (gold_in_vault)
+#if 0 /*JP*/
You_hear(!hallu
? "someone counting money."
: "the quarterback calling the play.");
+#else
+ You_hear(!hallu
+ ? "\92N\82©\82ª\82¨\8bà\82ð\90\94\82¦\82Ä\82¢\82é\89¹\82ð\95·\82¢\82½\81D"
+ : "\83N\83H\81[\83^\83o\83b\83N\82ª\8ew\8e¦\82ð\82·\82é\90º\82ð\95·\82¢\82½\81D");
+#endif
else
+/*JP
You_hear("someone searching.");
+*/
+ You_hear("\92N\82©\82ª\91{\8dõ\82µ\82Ä\82¢\82é\89¹\82ð\95·\82¢\82½\81D");
break;
}
/* fall into... (yes, even for hallucination) */
}
case 0:
+/*JP
You_hear("the footsteps of a guard on patrol.");
+*/
+ You_hear("\8cx\94õ\88õ\82Ì\83p\83g\83\8d\81[\83\8b\82·\82é\89¹\82ð\95·\82¢\82½\81D");
break;
case 2:
+/*JP
You_hear("Ebenezer Scrooge!");
+*/
+ You_hear("\82±\82¿\8bT\82Ì\97¼\82³\82ñ\82Ì\90º\82ð\95·\82¢\82½\81I");
break;
}
return;
&& mon_in_room(mtmp, BEEHIVE)) {
switch (rn2(2) + hallu) {
case 0:
+/*JP
You_hear("a low buzzing.");
+*/
+ You_hear("\82Ô\81[\82ñ\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
break;
case 1:
+/*JP
You_hear("an angry drone.");
+*/
+ You_hear("\8b»\95±\82µ\82½\97Y\83o\83`\82Ì\89¹\82ð\95·\82¢\82½\81D");
break;
case 2:
+#if 0 /*JP*/
You_hear("bees in your %sbonnet!",
uarmh ? "" : "(nonexistent) ");
+#else
+ You_hear("\83n\83`\82ª\82 \82È\82½\82Ì\96X\8eq%s\82Ì\92\86\82É\82¢\82é\89¹\82ð\95·\82¢\82½\81I",
+ uarmh ? "" : "(\94í\82Á\82Ä\82È\82¢\82¯\82Ç)");
+#endif
break;
}
return;
switch (rn2(2) + hallu) {
case 0:
+/*JP
You("suddenly realize it is unnaturally quiet.");
+*/
+ You("\95s\8e©\91R\82È\82\82ç\82¢\90Ã\82©\82È\82Ì\82É\8bC\82Ã\82¢\82½\81D");
break;
case 1:
+#if 0 /*JP*/
pline_The("%s on the back of your %s %s up.", hair,
body_part(NECK), vtense(hair, "stand"));
+#else
+ pline("\82 \82È\82½\82Ì%s\82Ì\82¤\82µ\82ë\82Ì%s\82ª\8bt\97§\82Á\82½\81D",
+ body_part(NECK), body_part(HAIR));
+#endif
break;
case 2:
+#if 0 /*JP*/
pline_The("%s on your %s %s to stand up.", hair,
body_part(HEAD), vtense(hair, "seem"));
+#else
+ pline("\82 \82È\82½\82Ì%s\82Ì%s\82Í\8bt\97§\82Á\82½\81D",
+ body_part(HEAD), body_part(HAIR));
+#endif
break;
}
return;
}
if (level.flags.has_barracks && !rn2(200)) {
static const char *const barracks_msg[4] = {
+#if 0 /*JP*/
"blades being honed.", "loud snoring.", "dice being thrown.",
"General MacArthur!",
+#else
+ "\90n\95¨\82ð\8c¤\82®\89¹\82ð\95·\82¢\82½\81D",
+ "\91å\82«\82È\82¢\82Ñ\82«\82ð\95·\82¢\82½\81D",
+ "\83_\83C\83X\82ª\90U\82ç\82ê\82é\89¹\82ð\95·\82¢\82½\81D",
+ "\83}\83b\83J\81[\83T\81[\8f«\8cR\82Ì\90º\82ð\95·\82¢\82½\81I",
+#endif
};
int count = 0;
}
if (level.flags.has_zoo && !rn2(200)) {
static const char *const zoo_msg[3] = {
+#if 0 /*JP*/
"a sound reminiscent of an elephant stepping on a peanut.",
"a sound reminiscent of a seal barking.", "Doctor Dolittle!",
+#else
+ "\8fÛ\82ª\83s\81[\83i\83b\83c\82Ì\8fã\82Å\97x\82é\82æ\82¤\82È\89¹\82ð\95·\82¢\82½\81D",
+ "\83A\83V\83J\82ª\96i\82¦\82é\82æ\82¤\82È\89¹\82ð\95·\82¢\82½\81D",
+ "\83h\83\8a\83g\83\8b\90æ\90¶\82Ì\90º\82ð\95·\82¢\82½\81I",
+#endif
};
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
if (DEADMONSTER(mtmp))
if (tended_shop(sroom)
&& !index(u.ushops, (int) (ROOM_INDEX(sroom) + ROOMOFFSET))) {
static const char *const shop_msg[3] = {
+#if 0 /*JP*/
"someone cursing shoplifters.",
"the chime of a cash register.", "Neiman and Marcus arguing!",
+#else
+ "\92N\82©\82ª\93D\96_\82ð\82Ì\82Ì\82µ\82é\90º\82ð\95·\82¢\82½\81D",
+ "\83\8c\83W\82Ì\83`\81[\83\93\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D",
+ "\83C\83g\81[\82Æ\83\88\81[\83J\83h\81[\82Ì\8bc\98_\82ð\95·\82¢\82½\81I",
+#endif
};
You_hear1(shop_msg[rn2(2) + hallu]);
}
care if telepathy or extended detection reveals that the
priest is not currently standing on the altar; he's mobile). */
static const char *const temple_msg[] = {
+#if 0 /*JP*/
"*someone praising %s.", "*someone beseeching %s.",
"#an animal carcass being offered in sacrifice.",
"*a strident plea for donations.",
+#else
+ "*\92N\82©\82ª%s\82ð\8e^\94ü\82µ\82Ä\82¢\82é\82Ì\82ð\95·\82¢\82½\81D",
+ "*\92N\82©\82ª%s\82ð\94M\96]\82µ\82Ä\82¢\82é\82Ì\82ð\95·\82¢\82½\81D",
+ "#\93®\95¨\82Ì\8e\80\91Ì\82ð\90¶\82¯æÑ\82É\95ù\82°\82é\90º\82ð\95·\82¢\82½\81D",
+ "*\8e·\9dX\82É\8añ\95t\82ð\97v\8b\81\82µ\82Ä\82¢\82é\82Ì\82ð\95·\82¢\82½\81D",
+#endif
};
const char *msg;
int trycount = 0, ax = EPRI(mtmp)->shrpos.x,
/* and don't produce silly effects when she's clearly visible */
if (mtmp && (hallu || !canseemon(mtmp))) {
static const char *const ora_msg[5] = {
+#if 0 /*JP*/
"a strange wind.", /* Jupiter at Dodona */
"convulsive ravings.", /* Apollo at Delphi */
"snoring snakes.", /* AEsculapius at Epidaurus */
"someone say \"No more woodchucks!\"",
"a loud ZOT!" /* both rec.humor.oracle */
+#else
+ "\8aï\96\82È\95\97\82Ì\89¹\82ð\95·\82¢\82½\81D",
+ "\94¼\8b¶\97\90\82Ì\90º\82ð\95·\82¢\82½\81D",
+ "\8eÖ\82Ì\82¢\82Ñ\82«\82ð\95·\82¢\82½\81D",
+ "\92N\82©\82ª\81u\82à\82¤\83E\83b\83h\83`\83\83\83b\83N\82Í\82¢\82ç\82È\82¢\81I\81v\82Æ\8c¾\82Á\82Ä\82¢\82é\90º\82ð\95·\82¢\82½\81D",
+ "\91å\82«\82È\82y\82n\82s\82ð\95·\82¢\82½\81I"
+#endif
};
You_hear1(ora_msg[rn2(3) + hallu * 2]);
}
}
static const char *const h_sounds[] = {
+#if 0 /*JP*/
"beep", "boing", "sing", "belche", "creak", "cough",
"rattle", "ululate", "pop", "jingle", "sniffle", "tinkle",
"eep", "clatter", "hum", "sizzle", "twitter", "wheeze",
"rustle", "honk", "lisp", "yodel", "coo", "burp",
"moo", "boom", "murmur", "oink", "quack", "rumble",
"twang", "bellow", "toot", "gargle", "hoot", "warble"
+#else
+ "\83s\81[\83b\82Æ\96Â\82¢\82½",
+ "\91\9b\82¬\82½\82Ä\82½",
+ "\89Ì\82Á\82½",
+ "\82°\82Á\82Õ\82ð\82µ\82½",
+ "\83L\81[\83L\81[\82Æ\96Â\82¢\82½",
+ "\82¹\82«\8d\9e\82ñ\82¾",
+
+ "\83S\83\8d\83S\83\8d\96Â\82Á\82½",
+ "\83z\81[\83z\81[\96Â\82¢\82½",
+ "\83|\83\93\82Æ\96Â\82¢\82½",
+ "\83K\83\89\83\93\83K\83\89\83\93\82Æ\96Â\82¢\82½",
+ "\83N\83\93\83N\83\93\96Â\82¢\82½",
+ "\83`\83\8a\83\93\83`\83\8a\83\93\82Æ\96Â\82¢\82½",
+
+ "\83C\81[\83b\82Æ\96Â\82¢\82½",
+ /*JP \8ec\82è\82Í\96¢\96ó */
+#endif
};
const char *
switch (mtmp->data->msound) {
case MS_MEW:
case MS_HISS:
+/*JP
ret = "hiss";
+*/
+ ret = "\83V\81[\83b\82Æ\96Â\82¢\82½";
break;
case MS_BARK:
case MS_GROWL:
+/*JP
ret = "growl";
+*/
+ ret = "\82Í\82°\82µ\82\96i\82¦\82½";
break;
case MS_ROAR:
+/*JP
ret = "roar";
+*/
+ ret = "\96i\82¦\82½";
break;
case MS_BUZZ:
+/*JP
ret = "buzz";
+*/
+ ret = "\83u\81[\83b\82Æ\96Â\82¢\82½";
break;
case MS_SQEEK:
+/*JP
ret = "squeal";
+*/
+ ret = "\83L\81[\83L\81[\96Â\82¢\82½";
break;
case MS_SQAWK:
+/*JP
ret = "screech";
+*/
+ ret = "\8bà\90Ø\82è\90º\82ð\97§\82Ä\82½";
break;
case MS_NEIGH:
+/*JP
ret = "neigh";
+*/
+ ret = "\82¢\82È\82È\82¢\82½";
break;
case MS_WAIL:
+/*JP
ret = "wail";
+*/
+ ret = "\94ß\82µ\82\96Â\82¢\82½";
break;
case MS_SILENT:
+/*JP
ret = "commotion";
+*/
+ ret = "\8b»\95±\82µ\82½";
break;
default:
+/*JP
ret = "scream";
+*/
+ ret = "\8bà\90Ø\82è\90º\82ð\82 \82°\82½";
}
return ret;
}
else
growl_verb = growl_sound(mtmp);
if (growl_verb) {
+/*JP
pline("%s %s!", Monnam(mtmp), vtense((char *) 0, growl_verb));
+*/
+ pline("%s\82Í%s\81I", Monnam(mtmp), growl_verb);
if (context.run)
nomul(0);
wake_nearto(mtmp->mx, mtmp->my, mtmp->data->mlevel * 18);
else
switch (mtmp->data->msound) {
case MS_MEW:
+/*JP
yelp_verb = "yowl";
+*/
+ yelp_verb = "\94ß\82µ\82\96Â\82¢\82½";
break;
case MS_BARK:
case MS_GROWL:
+/*JP
yelp_verb = "yelp";
+*/
+ yelp_verb = "\83L\83\83\83\93\83L\83\83\83\93\96Â\82¢\82½";
break;
case MS_ROAR:
+/*JP
yelp_verb = "snarl";
+*/
+ yelp_verb = "\82¤\82È\82Á\82½";
break;
case MS_SQEEK:
+/*JP
yelp_verb = "squeal";
+*/
+ yelp_verb = "\83L\81[\83L\81[\96Â\82¢\82½";
break;
case MS_SQAWK:
+/*JP
yelp_verb = "screak";
+*/
+ yelp_verb = "\8bà\90Ø\82è\90º\82ð\97§\82Ä\82½";
break;
case MS_WAIL:
+/*JP
yelp_verb = "wail";
+*/
+ yelp_verb = "\94ß\82µ\82\96Â\82¢\82½";
break;
}
if (yelp_verb) {
+/*JP
pline("%s %s!", Monnam(mtmp), vtense((char *) 0, yelp_verb));
+*/
+ pline("%s\82Í%s\81I", Monnam(mtmp), yelp_verb);
if (context.run)
nomul(0);
wake_nearto(mtmp->mx, mtmp->my, mtmp->data->mlevel * 12);
switch (mtmp->data->msound) {
case MS_MEW:
case MS_GROWL:
+/*JP
whimper_verb = "whimper";
+*/
+ whimper_verb = "\83N\83\93\83N\83\93\96Â\82¢\82½";
break;
case MS_BARK:
+/*JP
whimper_verb = "whine";
+*/
+ whimper_verb = "\83N\81[\83\93\82Æ\96Â\82¢\82½";
break;
case MS_SQEEK:
+/*JP
whimper_verb = "squeal";
+*/
+ whimper_verb = "\83L\81[\83L\81[\96Â\82¢\82½";
break;
}
if (whimper_verb) {
+/*JP
pline("%s %s.", Monnam(mtmp), vtense((char *) 0, whimper_verb));
+*/
+ pline("%s\82Í%s\81D", Monnam(mtmp), whimper_verb);
if (context.run)
nomul(0);
wake_nearto(mtmp->mx, mtmp->my, mtmp->data->mlevel * 6);
else if (mtmp->data->msound >= MS_HUMANOID) {
if (!canspotmon(mtmp))
map_invisible(mtmp->mx, mtmp->my);
+/*JP
verbalize("I'm hungry.");
+*/
+ verbalize("\82Í\82ç\82Ø\82±\82¾\81D");
}
}
} else {
/* approximation of GEICO's advertising slogan (it actually
concludes with "save you 15% or more on car insurance.") */
+/*JP
Sprintf(verbuf, "15 minutes could save you 15 %s.",
+*/
+ Sprintf(verbuf, "15\95ª\92¸\82¯\82ê\82Î15%s\90ß\96ñ\82Å\82«\82Ü\82·\81D",
currency(15L)); /* "zorkmids" */
verbl_msg = verbuf;
}
boolean nightchild =
(Upolyd && (u.umonnum == PM_WOLF || u.umonnum == PM_WINTER_WOLF
|| u.umonnum == PM_WINTER_WOLF_CUB));
+#if 0 /*JP*/
const char *racenoun =
(flags.female && urace.individual.f)
? urace.individual.f
: (urace.individual.m) ? urace.individual.m : urace.noun;
+#else
+ const char *racenoun = (flags.female) ? "\82 \82È\82½" : "\82¨\82Ü\82¦" ;
+#endif
if (mtmp->mtame) {
if (kindred) {
+#if 0 /*JP*/
Sprintf(verbuf, "Good %s to you Master%s",
isnight ? "evening" : "day",
isnight ? "!" : ". Why do we not rest?");
+#else
+ Sprintf(verbuf, "\82²\8eå\90l\97l\81C%s%s",
+ isnight ? "\82±\82ñ\82Î\82ñ\82Í" : "\82±\82ñ\82É\82¿\82Í",
+ isnight ? "!" : "\81D\82¨\8bx\82Ý\82É\82È\82è\82Ü\82¹\82ñ\82©\81H");
+#endif
verbl_msg = verbuf;
} else {
+#if 0 /*JP*/
Sprintf(verbuf, "%s%s",
nightchild ? "Child of the night, " : "",
midnight()
: isnight
? "I beg you, help me satisfy this growing craving!"
: "I find myself growing a little weary.");
+#else
+ Sprintf(verbuf,"%s%s",
+ nightchild ? "\96é\82Ì\8ee\82æ\81C" : "",
+ midnight()
+ ? "\8e\84\82Í\82±\82ê\88È\8fã\8a\89\96]\82ð\97}\82¦\82ç\82ê\82È\82¢\81I"
+ : isnight
+ ? "\82Ó\82\82ê\82 \82ª\82é\8a\89\96]\82ð\96\9e\82½\82·\82Ì\82ð\8f\95\82¯\82Ä\82\82ê\82È\82¢\82©\81H\97\8a\82Þ\81I"
+ : "\8e\84\82Í\8f\81X\94æ\82ê\82½\82æ\82¤\82¾\81D");
+#endif
verbl_msg = verbuf;
}
} else if (mtmp->mpeaceful) {
if (kindred && isnight) {
+#if 0 /*JP*/
Sprintf(verbuf, "Good feeding %s!",
flags.female ? "sister" : "brother");
+#else
+ Sprintf(verbuf, "\82æ\82¤\8cZ\92í\81I");
+#endif
verbl_msg = verbuf;
} else if (nightchild && isnight) {
+/*JP
Sprintf(verbuf, "How nice to hear you, child of the night!");
+*/
+ Sprintf(verbuf, "\96é\82Ì\8ee\82æ\81C\8c³\8bC\82»\82¤\82¾\82È\81I");
verbl_msg = verbuf;
} else
+/*JP
verbl_msg = "I only drink... potions.";
+*/
+ verbl_msg = "\8e\84\82Í\96ò\81D\81D\82µ\82©\88ù\82Ü\82È\82¢\81D";
} else {
int vampindex;
static const char *const vampmsg[] = {
/* These first two (0 and 1) are specially handled below */
+/*JP
"I vant to suck your %s!",
+*/
+ "\82¨\91O\82Ì%s\82ð\82æ\82±\82¹\81I",
+/*JP
"I vill come after %s without regret!",
+*/
+ "\91¶\95ª\82É%s\82ð\92Ç\8c\82\82³\82¹\82Ä\82à\82ç\82¨\82¤\81I",
/* other famous vampire quotes can follow here if desired */
};
if (kindred)
verbl_msg =
+/*JP
"This is my hunting ground that you dare to prowl!";
+*/
+ "\82¨\82Ü\82¦\82ª\82¤\82ë\82Â\82¢\82Ä\82¢\82é\82±\82Ì\82 \82½\82è\82Í\8e\84\82Ì\8eë\8fê\82¾\81I";
else if (youmonst.data == &mons[PM_SILVER_DRAGON]
|| youmonst.data == &mons[PM_BABY_SILVER_DRAGON]) {
/* Silver dragons are silver in color, not made of silver */
+#if 0 /*JP*/
Sprintf(verbuf, "%s! Your silver sheen does not frighten me!",
youmonst.data == &mons[PM_SILVER_DRAGON]
? "Fool"
: "Young Fool");
verbl_msg = verbuf;
+#else
+ verbl_msg = "\82Î\82©\82ß\81I\82¨\82Ü\82¦\82Ì\8bâ\82Ì\8bP\82«\82È\82Ç\95|\82\82È\82¢\82¼\81I";
+#endif
} else {
vampindex = rn2(SIZE(vampmsg));
if (vampindex == 0) {
} break;
case MS_WERE:
if (flags.moonphase == FULL_MOON && (night() ^ !rn2(13))) {
+#if 0 /*JP*/
pline("%s throws back %s head and lets out a blood curdling %s!",
Monnam(mtmp), mhis(mtmp),
ptr == &mons[PM_HUMAN_WERERAT] ? "shriek" : "howl");
+#else
+ pline("%s\82Í\93ª\82ð\82Ì\82¯\82¼\82ç\82µ\94w\8bØ\82ª\93\80\82é\82æ\82¤\82È%s\82ð\82 \82°\82½\81I",
+ Monnam(mtmp),
+ ptr == &mons[PM_HUMAN_WERERAT] ? "\8bà\90Ø\82è\90º" : "\99ô\9aK");
+#endif
wake_nearto(mtmp->mx, mtmp->my, 11 * 11);
} else
pline_msg =
+/*JP
"whispers inaudibly. All you can make out is \"moon\".";
+*/
+ "\95·\82«\82Æ\82ê\82È\82¢\82æ\82¤\82È\90º\82Å\82³\82³\82â\82¢\82½\81D\82©\82ë\82¤\82¶\82Ä\81w\8c\8e\81x\82Æ\82¢\82¤\8c¾\97t\82¾\82¯\82ª\95·\82«\82Æ\82ê\82½\81D";
break;
case MS_BARK:
if (flags.moonphase == FULL_MOON && night()) {
+/*JP
pline_msg = "howls.";
+*/
+ pline_msg = "\96i\82¦\82½\81D";
} else if (mtmp->mpeaceful) {
if (mtmp->mtame
&& (mtmp->mconf || mtmp->mflee || mtmp->mtrapped
|| moves > EDOG(mtmp)->hungrytime || mtmp->mtame < 5))
+/*JP
pline_msg = "whines.";
+*/
+ pline_msg = "\83N\83\93\83N\83\93\96Â\82¢\82½\81D";
else if (mtmp->mtame && EDOG(mtmp)->hungrytime > moves + 1000)
+/*JP
pline_msg = "yips.";
+*/
+ pline_msg = "\83L\83\83\83\93\83L\83\83\83\93\96Â\82¢\82½\81D";
else {
if (mtmp->data
!= &mons[PM_DINGO]) /* dingos do not actually bark */
+/*JP
pline_msg = "barks.";
+*/
+ pline_msg = "\83\8f\83\93\83\8f\83\93\96i\82¦\82½\81D";
}
} else {
+/*JP
pline_msg = "growls.";
+*/
+ pline_msg = "\82¤\82È\82Á\82½\81D";
}
break;
case MS_MEW:
if (mtmp->mtame) {
if (mtmp->mconf || mtmp->mflee || mtmp->mtrapped
|| mtmp->mtame < 5)
+/*JP
pline_msg = "yowls.";
+*/
+ pline_msg = "\94ß\82µ\82\96Â\82¢\82½\81D";
else if (moves > EDOG(mtmp)->hungrytime)
+/*JP
pline_msg = "meows.";
+*/
+ pline_msg = "\83j\83\83\81[\83\93\82Æ\96Â\82¢\82½\81D";
else if (EDOG(mtmp)->hungrytime > moves + 1000)
+/*JP
pline_msg = "purrs.";
+*/
+ pline_msg = "\83S\83\8d\83S\83\8d\82Æ\96Â\82¢\82½\81D";
else
+/*JP
pline_msg = "mews.";
+*/
+ pline_msg = "\83j\83\83\81[\83j\83\83\81[\96Â\82¢\82½\81D";
break;
} /* else FALLTHRU */
case MS_GROWL:
+/*JP
pline_msg = mtmp->mpeaceful ? "snarls." : "growls!";
+*/
+ pline_msg = mtmp->mpeaceful ? "\82¤\82È\82Á\82½\81D" : "\8c\83\82µ\82\82¤\82È\82Á\82½\81I";
break;
case MS_ROAR:
+/*JP
pline_msg = mtmp->mpeaceful ? "snarls." : "roars!";
+*/
+ pline_msg = mtmp->mpeaceful ? "\82¤\82È\82Á\82½\81D" : "\82Æ\82Ä\82à\8c\83\82µ\82\96i\82¦\82½\81I";
break;
case MS_SQEEK:
+/*JP
pline_msg = "squeaks.";
+*/
+ pline_msg = "\83L\81[\83L\81[\96Â\82¢\82½\81D";
break;
case MS_SQAWK:
if (ptr == &mons[PM_RAVEN] && !mtmp->mpeaceful)
+/*JP
verbl_msg = "Nevermore!";
+*/
+ verbl_msg = "\81u\82à\82¤\93ñ\93x\82Æ\81I\81v";
else
+/*JP
pline_msg = "squawks.";
+*/
+ pline_msg = "\83L\81[\83L\81[\96Â\82¢\82½\81D";
break;
case MS_HISS:
if (!mtmp->mpeaceful)
+/*JP
pline_msg = "hisses!";
+*/
+ pline_msg = "\83V\81[\83b\82Æ\96Â\82¢\82½\81I";
else
return 0; /* no sound */
break;
case MS_BUZZ:
+/*JP
pline_msg = mtmp->mpeaceful ? "drones." : "buzzes angrily.";
+*/
+ pline_msg = mtmp->mpeaceful ? "\82Ô\81[\82ñ\82Æ\96Â\82Á\82½\81D" : "\82Ô\82ñ\82Ô\82ñ\96Â\82Á\82½\81D";
break;
case MS_GRUNT:
+/*JP
pline_msg = "grunts.";
+*/
+ pline_msg = "\82Ô\81[\82Ô\81[\96Â\82¢\82½\81D";
break;
case MS_NEIGH:
if (mtmp->mtame < 5)
+/*JP
pline_msg = "neighs.";
+*/
+ pline_msg = "\82¢\82È\82È\82¢\82½\81D";
else if (moves > EDOG(mtmp)->hungrytime)
+/*JP
pline_msg = "whinnies.";
+*/
+ pline_msg = "\83q\83q\81[\83\93\82Æ\96Â\82¢\82½\81D";
else
+/*JP
pline_msg = "whickers.";
+*/
+ pline_msg = "\83q\83q\83q\81[\83\93\82Æ\96Â\82¢\82½\81D";
break;
case MS_WAIL:
+/*JP
pline_msg = "wails mournfully.";
+*/
+ pline_msg = "\94ß\82µ\82°\82É\96Â\82¢\82½\81D";
break;
case MS_GURGLE:
+/*JP
pline_msg = "gurgles.";
+*/
+ pline_msg = "\82²\82ë\82²\82ë\8dA\82ð\96Â\82ç\82µ\82½\81D";
break;
case MS_BURBLE:
+/*JP
pline_msg = "burbles.";
+*/
+ pline_msg = "\82Ø\82¿\82á\82\82¿\82á\82µ\82á\82×\82Á\82½\81D";
break;
case MS_SHRIEK:
+/*JP
pline_msg = "shrieks.";
+*/
+ pline_msg = "\8bà\90Ø\82è\90º\82ð\82 \82°\82½\81D";
aggravate();
break;
case MS_IMITATE:
+/*JP
pline_msg = "imitates you.";
+*/
+ pline_msg = "\82 \82È\82½\82Ì\90^\8e\97\82ð\82µ\82½\81D";
break;
case MS_BONES:
+/*JP
pline("%s rattles noisily.", Monnam(mtmp));
+*/
+ pline("%s\82Í\83P\83^\83P\83^\82Æ\8fÎ\82¢\82¾\82µ\82½\81D",Monnam(mtmp));
+/*JP
You("freeze for a moment.");
+*/
+ You("\88ê\8fu\93\80\82è\82Â\82¢\82½\81D");
nomul(-2);
multi_reason = "scared by rattling";
nomovemsg = 0;
break;
case MS_LAUGH: {
static const char *const laugh_msg[4] = {
+/*JP
"giggles.", "chuckles.", "snickers.", "laughs.",
+*/
+ "\82\82·\82\82·\8fÎ\82Á\82½\81D", "\82\82·\82Á\82Æ\8fÎ\82Á\82½\81D", "\82Î\82©\82É\82µ\82½\82æ\82¤\82É\8fÎ\82Á\82½\81D", "\8fÎ\82Á\82½\81D",
};
pline_msg = laugh_msg[rn2(4)];
} break;
case MS_MUMBLE:
+/*JP
pline_msg = "mumbles incomprehensibly.";
+*/
+ pline_msg = "\95s\89Â\89ð\82È\8c¾\97t\82ð\82Â\82Ô\82â\82¢\82½\81D";
break;
case MS_DJINNI:
if (mtmp->mtame) {
+/*JP
verbl_msg = "Sorry, I'm all out of wishes.";
+*/
+ verbl_msg = "\8e\84\82ð\8f\95\82¯\82Ä\82\82ê\82½\82±\82Æ\82ð\8a´\8eÓ\82·\82é\81I";
} else if (mtmp->mpeaceful) {
if (ptr == &mons[PM_WATER_DEMON])
+/*JP
pline_msg = "gurgles.";
+*/
+ pline_msg = "\83S\83{\83S\83{\83S\83{\83S\83{\81D";
else
+/*JP
verbl_msg = "I'm free!";
+*/
+ verbl_msg = "\82â\82Á\82Æ\8e©\97R\82É\82È\82Á\82½\81I";
} else {
if (ptr != &mons[PM_PRISONER])
+/*JP
verbl_msg = "This will teach you not to disturb me!";
+*/
+ verbl_msg = "\82¶\82á\82Ü\82ð\82µ\82È\82¢\82Å\82\82ê\81I";
#if 0
else
verbl_msg = "??????????";
if (!mtmp->mpeaceful) {
switch (rn2(4)) {
case 0:
+#if 0 /*JP*/
pline("%s boasts about %s gem collection.", Monnam(mtmp),
mhis(mtmp));
+#else
+ pline("%s\82Í\8e©\95ª\82Ì\95ó\90Î\82Ì\83R\83\8c\83N\83V\83\87\83\93\82ð\8e©\96\9d\82µ\82½\81D", Monnam(mtmp));
+#endif
break;
case 1:
+/*JP
pline_msg = "complains about a diet of mutton.";
+*/
+ pline_msg = "\96\88\93ú\97r\82Î\82©\82è\90H\82×\82Ä\82¢\82é\8e\96\82ð\8bð\92s\82Á\82½\81D";
break;
default:
+/*JP
pline_msg = "shouts \"Fee Fie Foe Foo!\" and guffaws.";
+*/
+ pline_msg = "\81w\82í\82Á\82Í\82Á\82Í\82Á\82Í\81I\81x\82Æ\82Î\82©\8fÎ\82¢\82µ\82½\81D";
wake_nearto(mtmp->mx, mtmp->my, 7 * 7);
break;
}
if (In_endgame(&u.uz) && is_mplayer(ptr))
mplayer_talk(mtmp);
else
+/*JP
pline_msg = "threatens you.";
+*/
+ pline_msg = "\82 \82È\82½\82ð\88Ð\8ad\82µ\82½\81D";
break;
}
/* Generic peaceful humanoid behaviour. */
if (mtmp->mflee)
+/*JP
pline_msg = "wants nothing to do with you.";
+*/
+ pline_msg = "\82 \82È\82½\82Æ\8aÖ\82í\82è\82½\82\82È\82¢\82æ\82¤\82¾\81D";
else if (mtmp->mhp < mtmp->mhpmax / 4)
+/*JP
pline_msg = "moans.";
+*/
+ pline_msg = "\82¤\82ß\82«\90º\82ð\82 \82°\82½\81D";
else if (mtmp->mconf || mtmp->mstun)
+/*JP
verbl_msg = !rn2(3) ? "Huh?" : rn2(2) ? "What?" : "Eh?";
+*/
+ verbl_msg = !rn2(3) ? "\82Ö\81H" : rn2(2) ? "\89½\81H" : "\82¦\81H";
else if (!mtmp->mcansee)
+/*JP
verbl_msg = "I can't see!";
+*/
+ verbl_msg = "\89½\82à\8c©\82¦\82È\82¢\81I";
else if (mtmp->mtrapped) {
struct trap *t = t_at(mtmp->mx, mtmp->my);
if (t)
t->tseen = 1;
+/*JP
verbl_msg = "I'm trapped!";
+*/
+ verbl_msg = "ã©\82É\82Í\82Ü\82Á\82Ä\82µ\82Ü\82Á\82½\81I";
} else if (mtmp->mhp < mtmp->mhpmax / 2)
+/*JP
pline_msg = "asks for a potion of healing.";
+*/
+ pline_msg = "\89ñ\95\9c\82Ì\96ò\82ð\8e\9d\82Á\82Ä\82È\82¢\82©\90q\82Ë\82½\81D";
else if (mtmp->mtame && !mtmp->isminion
&& moves > EDOG(mtmp)->hungrytime)
+/*JP
verbl_msg = "I'm hungry.";
+*/
+ verbl_msg = "\95 \82ª\8c¸\82Á\82½\82È\81D";
/* Specific monsters' interests */
else if (is_elf(ptr))
+/*JP
pline_msg = "curses orcs.";
+*/
+ pline_msg = "\83I\81[\83N\82ð\8eô\82Á\82½\81D";
else if (is_dwarf(ptr))
+/*JP
pline_msg = "talks about mining.";
+*/
+ pline_msg = "\8dÌ\8c@\82É\82Â\82¢\82Ä\98b\82µ\82½\81D";
else if (likes_magic(ptr))
+/*JP
pline_msg = "talks about spellcraft.";
+*/
+ pline_msg = "\96\82\8fp\82Ì\92b\98B\82É\82Â\82¢\82Ä\98b\82µ\82½\81D";
else if (ptr->mlet == S_CENTAUR)
+/*JP
pline_msg = "discusses hunting.";
+*/
+ pline_msg = "\97Â\82É\82Â\82¢\82Ä\8bc\98_\82µ\82½\81D";
else
switch (monsndx(ptr)) {
case PM_HOBBIT:
pline_msg =
(mtmp->mhpmax - mtmp->mhp >= 10)
+/*JP
? "complains about unpleasant dungeon conditions."
+*/
+ ? "\95s\96ù\89õ\82È\96À\8b{\82Ì\8fó\91Ô\82É\82Â\82¢\82Ä\95s\96\9e\82ð\8fq\82×\82½\81D"
+/*JP
: "asks you about the One Ring.";
+*/
+ : "\81u\88ê\82Â\82Ì\8ew\97Ö\81v\82É\82Â\82¢\82Ä\90q\82Ë\82½\81D";
break;
case PM_ARCHEOLOGIST:
pline_msg =
+/*JP
"describes a recent article in \"Spelunker Today\" magazine.";
+*/
+ "\81u\93ú\8a§\93´\8cA\81v\82Ì\8dÅ\90V\82Ì\8bL\8e\96\82ð\8e·\95M\82µ\82Ä\82¢\82é\81D";
break;
case PM_TOURIST:
+/*JP
verbl_msg = "Aloha.";
+*/
+ verbl_msg = "\83A\83\8d\81[\83n\81D";
break;
default:
+/*JP
pline_msg = "discusses dungeon exploration.";
+*/
+ pline_msg = "\96À\8b{\92T\8c\9f\82É\82Â\82¢\82Ä\8bc\98_\82µ\82½\81D";
break;
}
break;
swval = ((poly_gender() == 0) ? rn2(3) : 0);
switch (swval) {
case 2:
+#if 0 /*JP*/
verbl_msg = "Hello, sailor.";
+#else
+ switch (poly_gender()) {
+ case 0:
+ verbl_msg = "\82±\82ñ\82É\82¿\82Í\81D\82 \82ç\82¢\82¢\92j\82Ë\81D";
+ break;
+ case 1:
+ verbl_msg = "\82±\82ñ\82É\82¿\82Í\81C\82¨\8fì\82³\82ñ\81D";
+ break;
+ default:
+ verbl_msg = "\82±\82ñ\82É\82¿\82Í\81D";
+ break;
+ }
+#endif
break;
case 1:
+/*JP
pline_msg = "comes on to you.";
+*/
+ pline_msg = "\82 \82È\82½\82Ì\82Ù\82¤\82Ö\82â\82Á\82Ä\82«\82½\81D";
break;
default:
+/*JP
pline_msg = "cajoles you.";
+*/
+ pline_msg = "\82 \82È\82½\82ð\82¨\82¾\82Ä\82½\81D";
}
} break;
case MS_ARREST:
if (mtmp->mpeaceful)
+#if 0 /*JP*/
verbalize("Just the facts, %s.", flags.female ? "Ma'am" : "Sir");
+#else
+ verbalize("\8e\96\8eÀ\82¾\82¯\82ª\92m\82è\82½\82¢\82ñ\82Å\82·\82æ\81C%s\81D", flags.female ? "\89\9c\82³\82ñ" : "\92U\93ß");
+#endif
else {
static const char *const arrest_msg[3] = {
+#if 0 /*JP*/
"Anything you say can be used against you.",
"You're under arrest!", "Stop in the name of the Law!",
+#else
+ "\82¨\82Ü\82¦\82Ì\8c¾\82¤\82±\82Æ\82Í\82¨\82Ü\82¦\82É\82Æ\82Á\82Ä\95s\97\98\82È\8fØ\8b\92\82Æ\82È\82é\82±\82Æ\82ª\82 \82é\81I",
+ "\82¨\82Ü\82¦\82ð\91ß\95ß\82·\82é\81I",
+ "\96@\82Ì\96¼\82Ì\82à\82Æ\92¼\82¿\82É\92\86\8e~\82¹\82æ\81I",
+#endif
};
verbl_msg = arrest_msg[rn2(3)];
}
if (!mtmp->mpeaceful)
cuss(mtmp);
else if (is_lminion(mtmp))
+/*JP
verbl_msg = "It's not too late.";
+*/
+ verbl_msg = "\82Ü\82¾\92x\82\82Í\82È\82¢\81D";
else
+/*JP
verbl_msg = "We're all doomed.";
+*/
+ verbl_msg = "\82Ý\82ñ\82È\82à\82¤\82¨\82µ\82Ü\82¢\82¾\81D";
break;
case MS_SPELL:
/* deliberately vague, since it's not actually casting any spell */
+/*JP
pline_msg = "seems to mutter a cantrip.";
+*/
+ pline_msg = "\82Ô\82Â\82Ô\82Â\82Æ\82Â\82Ô\82â\82¢\82Ä\82¢\82é\81D";
break;
case MS_NURSE:
+/*JP
verbl_msg_mcan = "I hate this job!";
+*/
+ verbl_msg_mcan = "\82±\82ñ\82È\8ed\8e\96\8c\99\82¢\81I";
if (uwep && (uwep->oclass == WEAPON_CLASS || is_weptool(uwep)))
+/*JP
verbl_msg = "Put that weapon away before you hurt someone!";
+*/
+ verbl_msg = "\95\90\8aí\82ð\82¨\82³\82ß\82È\82³\82¢\81I\82»\82ê\82Í\90l\82ð\8f\9d\82Â\82¯\82é\82à\82Ì\82æ\81I";
else if (uarmc || uarm || uarmh || uarms || uarmg || uarmf)
verbl_msg = Role_if(PM_HEALER)
+/*JP
? "Doc, I can't help you unless you cooperate."
+*/
+ ? "\90æ\90¶\81C\82 \82È\82½\82Ì\8b¦\97Í\82È\82µ\82Å\82Í\82Ç\82¤\82µ\82æ\82¤\82à\82 \82è\82Ü\82¹\82ñ\82í\81D"
+/*JP
: "Please undress so I can examine you.";
+*/
+ : "\95\9e\82ð\92E\82¢\82Å\82\82¾\82³\82¢\81D\82 \82È\82½\82ð\90f\8e@\82µ\82Ü\82·\82í\81D";
else if (uarmu)
+/*JP
verbl_msg = "Take off your shirt, please.";
+*/
+ verbl_msg = "\83V\83\83\83c\82ð\92E\82¢\82Å\82\82¾\82³\82¢\81D";
else
+/*JP
verbl_msg = "Relax, this won't hurt a bit.";
+*/
+ verbl_msg = "\82¨\82¿\82Â\82¢\82Ä\81D\82¿\82Á\82Æ\82à\92É\82\82È\82¢\82í\82æ\81D";
break;
case MS_GUARD:
if (money_cnt(invent))
+/*JP
verbl_msg = "Please drop that gold and follow me.";
+*/
+ verbl_msg = "\8bà\82ð\92u\82¢\82Ä\82Â\82¢\82Ä\82«\82Ä\82\82¾\82³\82¢\81D";
else
+/*JP
verbl_msg = "Please follow me.";
+*/
+ verbl_msg = "\82Â\82¢\82Ä\82«\82Ä\82\82¾\82³\82¢\81D";
break;
case MS_SOLDIER: {
static const char
*const soldier_foe_msg[3] =
{
+#if 0 /*JP*/
"Resistance is useless!", "You're dog meat!", "Surrender!",
+#else
+ "\92ï\8dR\82µ\82Ä\82à\96³\91Ê\82¾\81I",
+ "\8c¢\82É\8bò\82í\82ê\82¿\82Ü\82¦\81I",
+ "\8d~\95\9a\82µ\82ë\81I",
+#endif
},
*const soldier_pax_msg[3] = {
+#if 0 /*JP*/
"What lousy pay we're getting here!",
"The food's not fit for Orcs!",
"My feet hurt, I've been on them all day!",
+#else
+ "\82È\82ñ\82Ä\8bà\95¥\82¢\82ª\88«\82¢\82ñ\82¾\81I",
+ "\82È\82ñ\82¾\82¢\81H\83I\81[\83N\82Å\82à\8bò\82¦\82Ë\82¥\82º\81I",
+ "\91«\82ð\89ö\89ä\82µ\82½\81C\82¸\82Á\82Æ\82±\82Ì\92²\8eq\82¾\81I",
+#endif
};
verbl_msg = mtmp->mpeaceful ? soldier_pax_msg[rn2(3)]
: soldier_foe_msg[rn2(3)];
tribtitle = noveltitle(&novelidx);
}
if (tribtitle) {
+/*JP
Sprintf(verbuf, "Ah, so you have a copy of /%s/.", tribtitle);
+*/
+ Sprintf(verbuf, "\82 \82 \81A/%s/\82ð\8e\9d\82Á\82Ä\82¢\82é\82Ì\82©\81D", tribtitle);
/* no Death featured in these two, so exclude them */
if (!(strcmpi(tribtitle, "Snuff") == 0
|| strcmpi(tribtitle, "The Wee Free Men") == 0))
+/*JP
Strcat(verbuf, " I may have been misquoted there.");
+*/
+ Strcat(verbuf, "\82±\82±\82Å\82Í\88ø\97p\82ª\8aÔ\88á\82Á\82Ä\82¢\82é\82©\82à\82µ\82ê\82È\82¢\81D");
verbl_msg = verbuf;
context.tribute.Deathnotice = 1;
}
}
/* end of tribute addition */
else if (ptr == &mons[PM_DEATH] && !rn2(10))
+/*JP
pline_msg = "is busy reading a copy of Sandman #8.";
+*/
+ pline_msg = "\81u\83T\83\93\83h\83}\83\93\81v\82Ì8\8aª\82ð\93Ç\82Þ\82Ì\82É\96Z\82µ\82¢\81D";
else
+/*JP
verbl_msg = "Who do you think you are, War?";
+*/
+ verbl_msg = "\83E\83H\81[\82æ\81C\8e©\95ª\82ª\89½\8eÒ\82©\8dl\82¦\82½\82±\82Æ\82ª\82 \82é\82©\81H";
break;
}
if (pline_msg)
+/*JP
pline("%s %s", Monnam(mtmp), pline_msg);
+*/
+ pline("%s\82Í%s", Monnam(mtmp), pline_msg);
else if (mtmp->mcan && verbl_msg_mcan)
verbalize1(verbl_msg_mcan);
else if (verbl_msg) {
+#if 0 /*JP*//*\83f\83X\82ð\93Á\95Ê\88µ\82¢\82µ\82È\82¢*/
if (ptr == &mons[PM_DEATH]) {
/* Death talks in CAPITAL LETTERS
and without quotation marks */
} else {
verbalize1(verbl_msg);
}
+#else
+ verbalize1(verbl_msg);
+#endif
}
return 1;
}
struct obj *otmp;
if (is_silent(youmonst.data)) {
+/*JP
pline("As %s, you cannot speak.", an(youmonst.data->mname));
+*/
+ pline("\82 \82È\82½\82Í%s\82È\82Ì\82Å\81C\98b\82·\82±\82Æ\82ª\82Å\82«\82È\82¢\81D", youmonst.data->mname);
return 0;
}
if (Strangled) {
+/*JP
You_cant("speak. You're choking!");
+*/
+ You("\98b\82¹\82È\82¢\81D\82 \82È\82½\82Í\8eñ\82ð\8di\82ß\82ç\82ê\82Ä\82¢\82é\81I");
return 0;
}
if (u.uswallow) {
+/*JP
pline("They won't hear you out there.");
+*/
+ You("\8aO\82Ö\8cü\82Á\82Ä\98b\82ð\82µ\82½\82ª\81C\92N\82à\95·\82«\82¢\82ê\82È\82©\82Á\82½\81D");
return 0;
}
if (Underwater) {
+/*JP
Your("speech is unintelligible underwater.");
+*/
+ pline("\90\85\96Ê\89º\82Å\82Í\81C\82 \82È\82½\82Ì\98b\82Í\82ë\82\82É\97\9d\89ð\82³\82ê\82È\82¢\81D");
return 0;
}
if (Deaf) {
+/*JP
pline("How can you hold a conversation when you cannot hear?");
+*/
+ pline("\95·\82\82±\82Æ\82ª\82Å\82«\82È\82¢\82Ì\82É\82Ç\82¤\82â\82Á\82Ä\89ï\98b\82·\82é\82Ì\81H");
return 0;
}
return 1;
}
+/*JP
if (!getdir("Talk to whom? (in what direction)")) {
+*/
+ if (!getdir("\92N\82Æ\98b\82µ\82Ü\82·\82©\81H[\95û\8cü\82ð\93ü\82ê\82Ä\82Ë]")) {
/* decided not to chat */
return 0;
}
if (u.usteed && u.dz > 0) {
if (!u.usteed->mcanmove || u.usteed->msleeping) {
+/*JP
pline("%s seems not to notice you.", Monnam(u.usteed));
+*/
+ pline("%s\82Í\82 \82È\82½\82É\8bC\82ª\82Â\82¢\82Ä\82¢\82È\82¢\82æ\82¤\82¾\81D", Monnam(u.usteed));
return 1;
} else
return domonnoise(u.usteed);
}
if (u.dz) {
+/*JP
pline("They won't hear you %s there.", u.dz < 0 ? "up" : "down");
+*/
+ pline("%s\8cü\82©\82Á\82Ä\98b\82ð\82µ\82Ä\82à\88Ó\96¡\82ª\82È\82¢\81D", u.dz < 0 ? "\8fã\82É" : "\89º\82É");
return 0;
}
return 1;
}
*/
+/*JP
pline("Talking to yourself is a bad habit for a dungeoneer.");
+*/
+ pline("\88ê\90l\8c¾\82Í\96À\8b{\92T\8c\9f\8eÒ\82Ì\88«\82¢\95È\82¾\81D");
return 0;
}
&& (otmp = vobj_at(tx, ty)) != 0 && otmp->otyp == STATUE) {
/* Talking to a statue */
if (!Blind) {
+#if 0 /*JP*/
pline_The("%s seems not to notice you.",
/* if hallucinating, you can't tell it's a statue */
Hallucination ? rndmonnam((char *) 0) : "statue");
+#else
+ pline_The("%s\82Í\82 \82È\82½\82É\8bC\82ª\82Â\82¢\82Ä\82¢\82È\82¢\82æ\82¤\82¾\81D",
+ Hallucination ? rndmonnam((char *) 0) : "\90Î\91\9c");
+#endif
}
return 0;
}
/* If it is unseen, the player can't tell the difference between
not noticing him and just not existing, so skip the message. */
if (canspotmon(mtmp))
+/*JP
pline("%s seems not to notice you.", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82É\8bC\82ª\82Â\82¢\82Ä\82¢\82È\82¢\82æ\82¤\82¾\81D", Monnam(mtmp));
return 0;
}
if (mtmp->mtame && mtmp->meating) {
if (!canspotmon(mtmp))
map_invisible(mtmp->mx, mtmp->my);
+/*JP
pline("%s is eating noisily.", Monnam(mtmp));
+*/
+ pline("%s\82Í\83o\83\8a\83o\83\8a\82Æ\95¨\82ð\90H\82×\82Ä\82¢\82é\81D", Monnam(mtmp));
return 0;
}
/* Copyright (c) M. Stephenson 1988 */
/* 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"
/* spellmenu arguments; 0 thru n-1 used as spl_book[] index when swapping */
#define uarmfbon 2 /* All metal interferes to some degree */
/* since the spellbook itself doesn't blow up, don't say just "explodes" */
+#if 0 /*JP*/
static const char explodes[] = "radiates explosive energy";
+#endif
/* convert a letter into a number in the range 0..51, or -1 if not a letter */
STATIC_OVL int
switch (rn2(lev)) {
case 0:
+/*JP
You_feel("a wrenching sensation.");
+*/
+ You("\82Ë\82¶\82ç\82ê\82½\82æ\82¤\82È\8a´\8ao\82ð\8a´\82¶\82½\81D");
tele(); /* teleport him */
break;
case 1:
+/*JP
You_feel("threatened.");
+*/
+ You("\82¨\82Ç\82³\82ê\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
aggravate();
break;
case 2:
take_gold();
break;
case 4:
+/*JP
pline("These runes were just too much to comprehend.");
+*/
+ pline("\82±\82Ì\83\8b\81[\83\93\95¶\8e\9a\82ð\97\9d\89ð\82·\82é\82Ì\82Í\8d¢\93ï\82¾\81D");
make_confused(HConfusion + rn1(7, 16), FALSE);
break;
case 5:
+/*JP
pline_The("book was coated with contact poison!");
+*/
+ pline("\82±\82Ì\96{\82Í\90Ú\90G\8c^\82Ì\93Å\82Å\95¢\82í\82ê\82Ä\82¢\82é\81I");
if (uarmg) {
erode_obj(uarmg, "gloves", ERODE_CORRODE, EF_GREASE | EF_VERBOSE);
break;
/* temp disable in_use; death should not destroy the book */
bp->in_use = FALSE;
losestr(Poison_resistance ? rn1(2, 1) : rn1(4, 3));
+#if 0 /*JP*/
losehp(rnd(Poison_resistance ? 6 : 10), "contact-poisoned spellbook",
KILLED_BY_AN);
+#else
+ losehp(rnd(Poison_resistance ? 6 : 10), "\90Ú\90G\93Å\82Ì\96\82\96@\8f\91\82Å",
+ KILLED_BY_AN);
+#endif
bp->in_use = TRUE;
break;
case 6:
if (Antimagic) {
shieldeff(u.ux, u.uy);
+/*JP
pline_The("book %s, but you are unharmed!", explodes);
+*/
+ pline("\96{\82Í\8b\97Í\82È\83G\83l\83\8b\83M\81[\82ð\95ú\8fo\82µ\82½\81C\82µ\82©\82µ\82 \82È\82½\82Í\8f\9d\82Â\82©\82È\82¢\81I");
} else {
+/*JP
pline("As you read the book, it %s in your %s!", explodes,
+*/
+ pline("\96{\82Í\8b\97Í\82È\83G\83l\83\8b\83M\81[\82ð\82 \82È\82½\82Ì%s\82É\95ú\8fo\82µ\82½\81I",
body_part(FACE));
dmg = 2 * rnd(10) + 5;
+/*JP
losehp(Maybe_Half_Phys(dmg), "exploding rune", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(dmg), "\8b\97Í\82È\83\8b\81[\83\93\95¶\8e\9a\82Ì\83G\83l\83\8b\83M\81[\82Å", KILLED_BY_AN);
}
return TRUE;
default:
if (!rn2(3) && spellbook->otyp != SPE_BOOK_OF_THE_DEAD) {
spellbook->in_use = TRUE; /* in case called from learn */
pline(
+/*JP
"Being confused you have difficulties in controlling your actions.");
+*/
+ "\8d¬\97\90\82µ\82Ä\82¢\82é\82Ì\82Å\81C\82»\82¤\82¢\82¤\82±\82Æ\82ð\82·\82é\82Ì\82Í\93ï\82µ\82¢\81D");
display_nhwindow(WIN_MESSAGE, FALSE);
+/*JP
You("accidentally tear the spellbook to pieces.");
+*/
+ You("\82¤\82Á\82©\82è\81C\96\82\96@\8f\91\82ð\88ø\82«\82³\82¢\82Ä\82µ\82Ü\82Á\82½\81D");
if (!objects[spellbook->otyp].oc_name_known
&& !objects[spellbook->otyp].oc_uname)
docall(spellbook);
useup(spellbook);
gone = TRUE;
} else {
+#if 0 /*JP*/
You("find yourself reading the %s line over and over again.",
spellbook == context.spbook.book ? "next" : "first");
+#else
+ You("%s\82Ì\8ds\82ð\89½\93x\82à\8cJ\82è\95Ô\82µ\82Ä\93Ç\82ñ\82Å\82¢\82½\82±\82Æ\82É\8bC\95t\82¢\82½\81D",
+ spellbook == context.spbook.book ? "\8e\9f" : "\8dÅ\8f\89");
+#endif
}
return gone;
}
struct monst *mtmp, *mtmp2;
coord mm;
+/*JP
You("turn the pages of the Book of the Dead...");
+*/
+ You("\8e\80\8eÒ\82Ì\8f\91\82Ì\83y\81[\83W\82ð\82ß\82\82Á\82½\81D\81D\81D");
makeknown(SPE_BOOK_OF_THE_DEAD);
/* KMH -- Need ->known to avoid "_a_ Book of the Dead" */
book2->known = 1;
arti_cursed = FALSE;
if (book2->cursed) {
+/*JP
pline_The("runes appear scrambled. You can't read them!");
+*/
+ pline("\83\8b\81[\83\93\95¶\8e\9a\82Í\82²\82¿\82á\82Ü\82º\82É\82È\82Á\82Ä\82¨\82è\81C\93Ç\82Þ\82±\82Æ\82ª\82Å\82«\82È\82©\82Á\82½\81I");
return;
}
if (!u.uhave.bell || !u.uhave.menorah) {
+/*JP
pline("A chill runs down your %s.", body_part(SPINE));
+*/
+ Your("%s\82É\8a¦\82¯\82ª\91\96\82Á\82½\81D", body_part(SPINE));
if (!u.uhave.bell)
+/*JP
You_hear("a faint chime...");
+*/
+ You_hear("\82©\82·\82©\82È\83x\83\8b\82Ì\89¹\82ð\95·\82¢\82½\81D\81D\81D");
if (!u.uhave.menorah)
+/*JP
pline("Vlad's doppelganger is amused.");
+*/
+ pline("\83\94\83\89\83h\82Ì\90¶\97ì\82Í\8fÎ\82Á\82½\81D");
return;
}
}
if (arti_cursed) {
+/*JP
pline_The("invocation fails!");
+*/
+ pline("\93Á\8eê\94\\97Í\82Í\94\8aö\82³\82ê\82È\82©\82Á\82½\81I");
+/*JP
pline("At least one of your artifacts is cursed...");
+*/
+ pline("\8f\82È\82\82Æ\82à\90¹\8aí\82Ì\82Ð\82Æ\82Â\82ª\8eô\82í\82ê\82Ä\82¢\82é\81D\81D\81D");
} else if (arti1_primed && arti2_primed) {
unsigned soon =
(unsigned) d(2, 6); /* time til next intervene() */
if (!u.udg_cnt || u.udg_cnt > soon)
u.udg_cnt = soon;
} else { /* at least one artifact not prepared properly */
+/*JP
You("have a feeling that %s is amiss...", something);
+*/
+ You("\89½\82©\82ª\8aÔ\88á\82Á\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D\81D\81D");
goto raise_dead;
}
return;
if (book2->cursed) {
raise_dead:
+/*JP
You("raised the dead!");
+*/
+ You("\8e\80\8eÒ\82ð\91h\82ç\82¹\82½\81I");
/* first maybe place a dangerous adversary */
if (!rn2(3) && ((mtmp = makemon(&mons[PM_MASTER_LICH], u.ux, u.uy,
NO_MINVENT)) != 0
} else {
switch (rn2(3)) {
case 0:
+/*JP
Your("ancestors are annoyed with you!");
+*/
+ Your("\90æ\91c\82Í\82 \82È\82½\82ª\8c\99\82¢\82È\82æ\82¤\82¾\81I");
break;
case 1:
+/*JP
pline_The("headstones in the cemetery begin to move!");
+*/
+ pline("\95æ\92n\82Ì\95æ\90Î\82ª\93®\82«\82Í\82¶\82ß\82½\81I");
break;
default:
+/*JP
pline("Oh my! Your name appears in the book!");
+*/
+ pline("\82È\82ñ\82Ä\82±\82Á\82½\82¢\81I\82 \82È\82½\82Ì\96¼\91O\82ª\96{\82É\8f\91\82¢\82Ä\82 \82é\81I");
}
}
return;
return 0;
}
+#if 0 /*JP*/
Sprintf(splname,
objects[booktype].oc_name_known ? "\"%s\"" : "the \"%s\" spell",
OBJ_NAME(objects[booktype]));
+#else
+ Sprintf(splname,
+ objects[booktype].oc_name_known ? "\"%s\"" : "\"%s\"",
+ OBJ_NAME(objects[booktype]));
+#endif
for (i = 0; i < MAXSPELL; i++)
if (spellid(i) == booktype || spellid(i) == NO_SPELL)
break;
} else if (spellid(i) == booktype) {
/* normal book can be read and re-read a total of 4 times */
if (book->spestudied > MAX_SPELL_STUDY) {
+/*JP
pline("This spellbook is too faint to be read any more.");
+*/
+ pline("\82±\82Ì\96\82\96@\8f\91\82Ì\95¶\8e\9a\82Í\94\96\82·\82¬\82Ä\82±\82ê\88È\8fã\93Ç\82ß\82È\82¢\81D");
book->otyp = booktype = SPE_BLANK_PAPER;
/* reset spestudied as if polymorph had taken place */
book->spestudied = rn2(book->spestudied);
} else if (spellknow(i) > KEEN / 10) {
+/*JP
You("know %s quite well already.", splname);
+*/
+ You("\82·\82Å\82É%s\82ð\8fn\92m\82µ\82Ä\82¢\82é\81D", splname);
costly = FALSE;
} else { /* spellknow(i) <= KEEN/10 */
+#if 0 /*JP*/
Your("knowledge of %s is %s.", splname,
spellknow(i) ? "keener" : "restored");
+#else
+ Your("%s\82É\91Î\82·\82é\92m\8e¯\82Í%s\82³\82ê\82½\81D", splname,
+ spellknow(i) ? "\82³\82ç\82É\8c¤\82¬\82·\82Ü" : "\95\9c\8c³");
+#endif
incrnknow(i, 1);
book->spestudied++;
exercise(A_WIS, TRUE); /* extra study */
one less reading is available than when re-learning */
if (book->spestudied >= MAX_SPELL_STUDY) {
/* pre-used due to being the product of polymorph */
+/*JP
pline("This spellbook is too faint to read even once.");
+*/
+ pline("\82±\82Ì\96\82\96@\8f\91\82Ì\95¶\8e\9a\82Í\94\96\82·\82¬\82Ä\82±\82ê\88È\8fã\93Ç\82ß\82È\82¢\81D");
book->otyp = booktype = SPE_BLANK_PAPER;
/* reset spestudied as if polymorph had taken place */
book->spestudied = rn2(book->spestudied);
spl_book[i].sp_lev = objects[booktype].oc_level;
incrnknow(i, 1);
book->spestudied++;
+/*JP
You(i > 0 ? "add %s to your repertoire." : "learn %s.", splname);
+*/
+ You(i > 0 ? "%s\82ð\83\8c\83p\81[\83g\83\8a\81[\82É\89Á\82¦\82½\81D" : "%s\82ð\8fK\93¾\82µ\82½\81D", splname);
}
makeknown((int) booktype);
}
/* handle the sequence: start reading, get interrupted, have
context.spbook.book become erased somehow, resume reading it */
&& booktype != SPE_BLANK_PAPER) {
+#if 0 /*JP*/
You("continue your efforts to %s.",
(booktype == SPE_NOVEL) ? "read the novel" : "memorize the spell");
+#else
+ You("%s\82ð\8dÄ\8aJ\82µ\82½\81D",
+ (booktype == SPE_NOVEL) ? "\93Ç\8f\91" : "\96\82\96@\82Ì\8aw\8fK");
+#endif
} else {
/* KMH -- Simplified this code */
if (booktype == SPE_BLANK_PAPER) {
+/*JP
pline("This spellbook is all blank.");
+*/
+ pline("\82±\82Ì\96\82\96@\8f\91\82Í\90^\82Á\94\92\82¾\81D");
makeknown(booktype);
return 1;
}
if (Role_if(PM_WIZARD) && read_ability < 20 && !confused) {
char qbuf[QBUFSZ];
Sprintf(qbuf,
+#if 0 /*JP*/
"This spellbook is %sdifficult to comprehend. Continue?",
(read_ability < 12 ? "very " : ""));
+#else
+ "\82±\82Ì\96\82\96@\8f\91\82ð\97\9d\89ð\82·\82é\82Ì\82Í%s\8d¢\93ï\82¾\81D\91±\82¯\82Ü\82·\82©\81H",
+ (read_ability < 12 ? "\82Æ\82Ä\82à" : ""));
+#endif
if (yn(qbuf) != 'y') {
spellbook->in_use = FALSE;
return 1;
context.spbook.delay = 0;
if (gone || !rn2(3)) {
if (!gone)
+/*JP
pline_The("spellbook crumbles to dust!");
+*/
+ pline("\96\82\96@\8f\91\82Í\90o\82Æ\82È\82Á\82½\81I");
if (!objects[spellbook->otyp].oc_name_known
&& !objects[spellbook->otyp].oc_uname)
docall(spellbook);
}
spellbook->in_use = FALSE;
+#if 0 /*JP*/
You("begin to %s the runes.",
spellbook->otyp == SPE_BOOK_OF_THE_DEAD ? "recite" : "memorize");
+#else
+ You("\83\8b\81[\83\93\95¶\8e\9a\82ð%s\82µ\82Í\82¶\82ß\82½\81D",
+ spellbook->otyp == SPE_BOOK_OF_THE_DEAD ? "\88Ã\8f¥" : "\8bL\89¯");
+#endif
}
context.spbook.book = spellbook;
if (context.spbook.book)
context.spbook.o_id = context.spbook.book->o_id;
+/*JP
set_occupation(learn, "studying", 0);
+*/
+ set_occupation(learn, "\8aw\82Ô", 0);
return 1;
}
* But why isn't lack of free arms (for gesturing) an issue when
* poly'd hero has no limbs?
*/
+/*JP
Your("arms are not free to cast!");
+*/
+ pline("\96\82\96@\82ð\8f¥\82¦\82æ\82¤\82É\82à\98r\82Ì\8e©\97R\82ª\8cø\82©\82È\82¢\81I");
return TRUE;
}
return FALSE;
char ilet, lets[BUFSZ], qbuf[QBUFSZ];
if (spellid(0) == NO_SPELL) {
+/*JP
You("don't know any spells right now.");
+*/
+ You("\8d¡\82Ì\82Æ\82±\82ë\89½\82Ì\96\82\96@\82à\92m\82ç\82È\82¢\81D");
return FALSE;
}
if (rejectcasting())
Sprintf(lets, "a-zA-%c", 'A' + nspells - 27);
for (;;) {
+/*JP
Sprintf(qbuf, "Cast which spell? [%s *?]", lets);
+*/
+ Sprintf(qbuf, "\82Ç\82Ì\96\82\96@\82ð\8f¥\82¦\82é\81H[%s ?]", lets);
ilet = yn_function(qbuf, (char *) 0, '\0');
if (ilet == '*' || ilet == '?')
break; /* use menu mode */
idx = spell_let_to_idx(ilet);
if (idx < 0 || idx >= nspells) {
+/*JP
You("don't know that spell.");
+*/
+ You("\82»\82ñ\82È\96\82\96@\82Í\92m\82ç\82È\82¢\81D");
continue; /* ask again */
}
*spell_no = idx;
return TRUE;
}
}
+/*JP
return dospellmenu("Choose which spell to cast", SPELLMENU_CAST,
+*/
+ return dospellmenu("\82Ç\82Ì\96\82\96@\82ð\8f¥\82¦\82é\81H", SPELLMENU_CAST,
spell_no);
}
{
switch (skill) {
case P_ATTACK_SPELL:
+/*JP
return "attack";
+*/
+ return "\8dU\8c\82";
case P_HEALING_SPELL:
+/*JP
return "healing";
+*/
+ return "\8e¡\96ü";
case P_DIVINATION_SPELL:
+/*JP
return "divination";
+*/
+ return "\97\\92m";
case P_ENCHANTMENT_SPELL:
+/*JP
return "enchantment";
+*/
+ return "\95â\8f\95";
case P_CLERIC_SPELL:
+/*JP
return "clerical";
+*/
+ return "\91m\97µ";
case P_ESCAPE_SPELL:
+/*JP
return "escape";
+*/
+ return "\92E\8fo";
case P_MATTER_SPELL:
+/*JP
return "matter";
+*/
+ return "\95¨\8e¿";
default:
impossible("Unknown spell skill, %d;", skill);
return "";
const char *hgolden = hcolor(NH_GOLDEN), *atmosphere;
if (u.uspellprot) {
+/*JP
pline_The("%s haze around you becomes more dense.", hgolden);
+*/
+ pline("\82 \82È\82½\82Ì\82Ü\82í\82è\82Ì%s\89à\82ª\94Z\82\82È\82Á\82½\81D", hgolden);
} else {
rmtyp = levl[u.ux][u.uy].typ;
atmosphere = u.uswallow
? ((u.ustuck->data == &mons[PM_FOG_CLOUD])
+/*JP
? "mist"
+*/
+ ? "\96¶"
: is_whirly(u.ustuck->data)
+/*JP
? "maelstrom"
+*/
+ ? "\89Q"
: is_animal(u.ustuck->data)
+/*JP
? "maw"
+*/
+ ? "\88Ý"
+/*JP
: "ooze")
+*/
+ : "\82Ë\82Î\82Ë\82Î")
: (u.uinwater
+/*JP
? "water"
+*/
+ ? "\90\85"
: (rmtyp == CLOUD)
+/*JP
? "cloud"
+*/
+ ? "\89_"
: IS_TREE(rmtyp)
+/*JP
? "vegitation"
+*/
+ ? "\96Ø"
: IS_STWALL(rmtyp)
+/*JP
? "stone"
+*/
+ ? "\90Î"
+/*JP
: "air");
+*/
+ : "\8bó\8bC");
+#if 0 /*JP*/
pline_The("%s around you begins to shimmer with %s haze.",
atmosphere, an(hgolden));
+#else
+ pline("\82 \82È\82½\82Ì\82Ü\82í\82è\82Ì%s\82ª%s\96¶\82Å\83L\83\89\83L\83\89\82Æ\8cõ\82è\82Í\82¶\82ß\82½\81D",
+ atmosphere, hgolden);
+#endif
}
}
u.uspellprot += gain;
u.usptime = u.uspmtime;
find_ac();
} else {
+/*JP
Your("skin feels warm for a moment.");
+*/
+ Your("\94§\82Í\88ê\8fu\83|\83J\83|\83J\82µ\82½\81D");
}
}
* decrement of spell knowledge is done every turn.
*/
if (spellknow(spell) <= 0) {
+/*JP
Your("knowledge of this spell is twisted.");
+*/
+ Your("\82±\82Ì\96\82\96@\82É\8aÖ\82·\82é\92m\8e¯\82Í\82æ\82¶\82ê\82½\81D");
+/*JP
pline("It invokes nightmarish images in your mind...");
+*/
+ pline("\82»\82ê\82Í\88«\96²\82ð\90S\82É\95\82\82Î\82¹\82½\81D\81D\81D");
spell_backfire(spell);
return 1;
} else if (spellknow(spell) <= KEEN / 200) { /* 100 turns left */
+/*JP
You("strain to recall the spell.");
+*/
+ You("\96\82\96@\82ð\8ev\82¢\82¾\82·\82Ì\82É\8bê\98J\82µ\82½\81D");
} else if (spellknow(spell) <= KEEN / 40) { /* 500 turns left */
+/*JP
You("have difficulty remembering the spell.");
+*/
+ You("\8eô\95¶\82ð\8ev\82¢\8fo\82·\82Ì\82ª\93ï\82µ\82\82È\82Á\82Ä\82«\82½\81D");
} else if (spellknow(spell) <= KEEN / 20) { /* 1000 turns left */
+/*JP
Your("knowledge of this spell is growing faint.");
+*/
+ Your("\82±\82Ì\96\82\96@\82É\8aÖ\82·\82é\92m\8e¯\82ª\82¨\82Ú\82ë\82°\82É\82È\82Á\82Ä\82«\82½\81D");
} else if (spellknow(spell) <= KEEN / 10) { /* 2000 turns left */
+/*JP
Your("recall of this spell is gradually fading.");
+*/
+ Your("\82±\82Ì\96\82\96@\82É\8aÖ\82·\82é\92m\8e¯\82ª\8f\99\81X\82É\94\96\82ê\82Ä\82«\82½\81D");
}
energy = (spellev(spell) * 5); /* 5 <= energy <= 35 */
if (u.uhunger <= 10 && spellid(spell) != SPE_DETECT_FOOD) {
+/*JP
You("are too hungry to cast that spell.");
+*/
+ pline("\95 \82ª\8c¸\82è\82·\82¬\82Ä\96\82\96@\82ð\8f¥\82¦\82ç\82ê\82È\82¢\81D");
return 0;
} else if (ACURR(A_STR) < 4 && spellid(spell) != SPE_RESTORE_ABILITY) {
+/*JP
You("lack the strength to cast spells.");
+*/
+ pline("\8b\82³\82ª\8f\82È\82·\82¬\82Ä\96\82\96@\82ð\8f¥\82¦\82ç\82ê\82È\82¢\81D");
return 0;
} else if (check_capacity(
+/*JP
"Your concentration falters while carrying so much stuff.")) {
+*/
+ "\82½\82\82³\82ñ\82à\82Ì\82ð\8e\9d\82¿\82·\82¬\82Ä\8fW\92\86\82Å\82«\82È\82¢\81D")){
return 1;
}
if (u.uhave.amulet) {
+/*JP
You_feel("the amulet draining your energy away.");
+*/
+ pline("\96\82\8f\9c\82¯\82ª\82 \82È\82½\82Ì\83G\83l\83\8b\83M\81[\82ð\8bz\82¢\82Æ\82Á\82Ä\82¢\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
energy += rnd(2 * energy);
}
if (energy > u.uen) {
+/*JP
You("don't have enough energy to cast that spell.");
+*/
+ pline("\96\82\96@\82ð\8f¥\82¦\82é\82¾\82¯\82Ì\8f\\95ª\82È\83G\83l\83\8b\83M\81[\82ª\82È\82¢\81D");
return 0;
} else {
if (spellid(spell) != SPE_DETECT_FOOD) {
chance = percent_success(spell);
if (confused || (rnd(100) > chance)) {
+/*JP
You("fail to cast the spell correctly.");
+*/
+ You("\96\82\96@\82ð\90³\82µ\82\8f¥\82¦\82é\82±\82Æ\82ª\82Å\82«\82È\82©\82Á\82½\81D");
u.uen -= energy / 2;
context.botl = 1;
return 1;
if (!u.dx && !u.dy && !u.dz) {
if ((damage = zapyourself(pseudo, TRUE)) != 0) {
char buf[BUFSZ];
+#if 0 /*JP*/
Sprintf(buf, "zapped %sself with a spell",
uhim());
+#else
+ Strcpy(buf, "\8e©\95ª\8e©\90g\82Ì\96\82\96@\82ð\97\81\82Ñ\82Ä");
+#endif
losehp(damage, buf, NO_KILLER_PREFIX);
}
} else {
* spelleffects() is organized means that aborting with
* "nevermind" is not an option.
*/
+/*JP
pline_The("magical energy is released!");
+*/
+ pline("\96\82\96@\82Ì\83G\83l\83\8b\83M\81[\82ª\89ð\95ú\82³\82ê\82½\81I");
}
if (!u.dx && !u.dy && !u.dz) {
if ((damage = zapyourself(pseudo, TRUE)) != 0) {
char buf[BUFSZ];
+/*JP
Sprintf(buf, "zapped %sself with a spell", uhim());
+*/
+ Strcpy(buf, "\8e©\95ª\8e©\90g\82Ì\96\82\96@\82ð\97\81\82Ñ\82Ä");
if (physical_damage)
damage = Maybe_Half_Phys(damage);
losehp(damage, buf, NO_KILLER_PREFIX);
break;
case SPE_CURE_SICKNESS:
if (Sick)
+/*JP
You("are no longer ill.");
+*/
+ Your("\95a\8bC\82Í\92¼\82Á\82½\81D");
if (Slimed)
+/*JP
make_slimed(0L, "The slime disappears!");
+*/
+ make_slimed(0L, "\83X\83\89\83C\83\80\82Í\8fÁ\82¦\82½\81I");
healup(0, 0, TRUE, FALSE);
break;
case SPE_CREATE_FAMILIAR:
do_vicinity_map();
/* at present, only one thing blocks clairvoyance */
else if (uarmh && uarmh->otyp == CORNUTHAUM)
+/*JP
You("sense a pointy hat on top of your %s.", body_part(HEAD));
+*/
+ You("\82Æ\82ª\82Á\82½\96X\8eq\82ð%s\82Ì\8fã\82É\94\8c©\82µ\82½\81D", body_part(HEAD));
break;
case SPE_PROTECTION:
cast_protection();
struct monst *mtmp;
if (u.uinwater) {
+/*JP
pline("You're joking! In this weather?");
+*/
+ pline("\90\85\92\86\82Å\89½\82ð\82µ\82æ\82¤\82Á\82Ä\82¢\82¤\82ñ\82¾\82¢\81H");
return 0;
} else if (Is_waterlevel(&u.uz)) {
+/*JP
You("had better wait for the sun to come out.");
+*/
+ You("\91¾\97z\82ª\8c»\82ê\82é\82Ü\82Å\91Ò\82Á\82½\82Ù\82¤\82ª\82æ\82¢\82¾\82ë\82¤\81D");
return 0;
}
+/*JP
pline("Where do you want to cast the spell?");
+*/
+ pline("\82Ç\82±\82É\8cü\82©\82Á\82Ä\96\82\96@\82ð\8f¥\82¦\82é\81H");
cc.x = u.ux;
cc.y = u.uy;
+/*JP
if (getpos(&cc, TRUE, "the desired position") < 0)
+*/
+ if (getpos(&cc, TRUE, "\96]\82Ý\82Ì\8fê\8f\8a") < 0)
return 0; /* user pressed ESC */
/* The number of moves from hero to where the spell drops.*/
if (distmin(u.ux, u.uy, cc.x, cc.y) > 10) {
+/*JP
pline_The("spell dissipates over the distance!");
+*/
+ pline("\89\93\82·\82¬\82é\81I");
return 0;
} else if (u.uswallow) {
+/*JP
pline_The("spell is cut short!");
+*/
+ pline("\82¾\82ß\82¾\81I\8bß\82·\82¬\82é\81I");
exercise(A_WIS, FALSE); /* What were you THINKING! */
u.dx = 0;
u.dy = 0;
} else if ((!cansee(cc.x, cc.y)
&& (!(mtmp = m_at(cc.x, cc.y)) || !canspotmon(mtmp)))
|| IS_STWALL(levl[cc.x][cc.y].typ)) {
+/*JP
Your("mind fails to lock onto that location!");
+*/
+ You("\82»\82±\82É\8cü\82©\82Á\82Ä\8fW\92\86\82µ\82½\82ª\8e¸\94s\82µ\82½\81I");
return 0;
}
struct spell spl_tmp;
if (spellid(0) == NO_SPELL) {
+/*JP
You("don't know any spells right now.");
+*/
+ You("\96\82\96@\82ð\92m\82ç\82È\82¢\81D");
} else {
+/*JP
while (dospellmenu("Currently known spells",
+*/
+ while (dospellmenu("\8c»\8dÝ\92m\82Á\82Ä\82¢\82é\96\82\96@\88ê\97\97",
SPELLMENU_VIEW, &splnum)) {
if (splnum == SPELLMENU_SORT) {
if (spellsortmenu())
sortspells();
} else {
+/*JP
Sprintf(qbuf, "Reordering spells; swap '%c' with",
+*/
+ Sprintf(qbuf, "'%c'\82Æ\95À\82Ñ\95Ï\82¦\82é\96\82\96@\82Í\81H",
spellet(splnum));
if (!dospellmenu(qbuf, splnum, &othnum))
break;
* given string and are of the form "a - ".
*/
if (!iflags.menu_tab_sep) {
+#if 0 /*JP*/
Sprintf(buf, "%-20s Level %-12s Fail Retention", " Name",
"Category");
+#else
+ Sprintf(buf, "%-20s Level %-12s \90¬\8c÷\97¦", " Name", "\95ª\97Þ");
+#endif
fmt = "%-20s %2d %-12s %3d%% %9s";
} else {
+/*JP
Sprintf(buf, "Name\tLevel\tCategory\tFail\tRetention");
+*/
+ Sprintf(buf, "\96¼\91O\t\83\8c\83x\83\8b\t\95ª\97Þ\t\90¬\8c÷\97¦");
fmt = "%s\t%-d\t%s\t%-d%%\t%s";
}
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings, buf,
/* 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_PTR int NDECL(stealarm);
register struct obj *otmp;
{
return ((otmp == uarmu)
+/*JP
? "shirt"
+*/
+ ? "\83V\83\83\83c"
: (otmp == uarmf)
+/*JP
? "boots"
+*/
+ ? "\8cC"
: (otmp == uarms)
+/*JP
? "shield"
+*/
+ ? "\8f\82"
: (otmp == uarmg)
+/*JP
? "gloves"
+*/
+ ? "\8f¬\8eè"
: (otmp == uarmc)
? cloak_simple_name(otmp)
: (otmp == uarmh)
obj_extract_self(fgold);
add_to_minv(mtmp, fgold);
newsym(u.ux, u.uy);
+#if 0 /*JP*/
if (u.usteed) {
who = u.usteed;
whose = s_suffix(y_monnam(who));
what += 5;
pline("%s quickly snatches some gold from %s %s %s!", Monnam(mtmp),
(Levitation || Flying) ? "beneath" : "between", whose, what);
+#else /*JP:\91«\82ª\96³\82\82Ä\82à\81u\91«\8c³\81v\82Å\82æ\82µ\82Æ\82·\82é*/
+ pline("%s\82Í\91f\91\81\82\82 \82È\82½\82Ì%s\82©\82ç\8bà\82ð\82Ð\82Á\82½\82\82Á\82½\81I", Monnam(mtmp),
+ (Levitation || Flying) ? "\89º" : "\91«\8c³");
+#endif
if (!ygold || !rn2(5)) {
if (!tele_restrict(mtmp))
(void) rloc(mtmp, TRUE);
setnotworn(ygold);
freeinv(ygold);
add_to_minv(mtmp, ygold);
+/*JP
Your("purse feels lighter.");
+*/
+ Your("\8dà\95z\82Í\8cy\82\82È\82Á\82½\81D");
if (!tele_restrict(mtmp))
(void) rloc(mtmp, TRUE);
monflee(mtmp, 0, FALSE, FALSE);
if (otmp->unpaid)
subfrombill(otmp, shop_keeper(*u.ushops));
freeinv(otmp);
+/*JP
pline("%s steals %s!", Monnam(mtmp), doname(otmp));
+*/
+ pline("%s\82Í%s\82ð\93\90\82ñ\82¾\81I", Monnam(mtmp), doname(otmp));
(void) mpickobj(mtmp, otmp); /* may free otmp */
/* Implies seduction, "you gladly hand over ..."
so we don't set mavenge bit here. */
nothing_to_steal:
/* Not even a thousand men in armor can strip a naked man. */
if (Blind)
+/*JP
pline("Somebody tries to rob you, but finds nothing to steal.");
+*/
+ pline("\92N\82©\82ª\82 \82È\82½\82©\82ç\93\90\82à\82¤\82Æ\82µ\82½\82ª\81C\93\90\82Þ\82à\82Ì\82ª\82È\82¢\82±\82Æ\82É\8bC\82ª\82Â\82¢\82½\81D");
else
+/*JP
pline("%s tries to rob you, but there is nothing to steal!",
+*/
+ pline("%s\82Í\82 \82È\82½\82©\82ç\93\90\82à\82¤\82Æ\82µ\82½\82ª\81C\93\90\82Þ\82à\82Ì\82ª\82È\82¢\82±\82Æ\82É\8bC\82ª\82Â\82¢\82½\81I",
Monnam(mtmp));
return 1; /* let her flee */
}
|| (otmp == uleft && welded(uwep) && bimanual(uwep)));
if (ostuck || can_carry(mtmp, otmp) == 0) {
+#if 0 /*JP*/
static const char *const how[] = { "steal", "snatch", "grab",
"take" };
cant_take:
(otmp->owornmask & W_ARMOR) ? "your " : "",
(otmp->owornmask & W_ARMOR) ? equipname(otmp)
: yname(otmp));
+#else
+ cant_take:
+ pline("%s\82Í%s\82ð\93\90\82à\82¤\82Æ\82µ\82½\82ª\92ú\82ß\82½\81D", Monnam(mtmp),
+ (otmp->owornmask & W_ARMOR) ? equipname(otmp)
+ : yname(otmp));
+#endif
/* the fewer items you have, the less likely the thief
is going to stick around to try again (0) instead of
running away (1) */
unmul((char *) 0);
slowly = (armordelay >= 1 || multi < 0);
if (flags.female)
+#if 0 /*JP*/
pline("%s charms you. You gladly %s your %s.",
!seen ? "She" : Monnam(mtmp),
curssv ? "let her take"
: was_doffing ? "continue removing"
: "start removing",
equipname(otmp));
+#else
+ pline("%s\82Í\82 \82È\82½\82ð\96£\97¹\82µ\82½\81D\82 \82È\82½\82Í\82æ\82ë\82±\82ñ\82Å%s\82ð%s\82½\81D",
+ !seen ? "\94Þ\8f\97" : Monnam(mtmp),
+ equipname(otmp),
+ curssv ? "\82Í\82¸\82µ\82Ä\82à\82ç\82Á"
+ : !slowly ? "\82Í\82¸\82µ\82Ä\8eè\93n\82µ"
+ : was_doffing ? "\82Í\82¸\82µ\91±\82¯"
+ : "\82Í\82¸\82µ\8en\82ß");
+#endif
else
+#if 0 /*JP*/
pline("%s seduces you and %s off your %s.",
!seen ? "She" : Adjmonnam(mtmp, "beautiful"),
curssv
: was_doffing ? "you continue taking"
: "you start taking",
equipname(otmp));
+#else
+ pline("%s\82Í\82 \82È\82½\82ð\97U\98f\82µ\82½\81D\82 \82È\82½\82Í%s\82ð%s\81D",
+ !seen ? "\94Þ\8f\97" : Adjmonnam(mtmp, "\94ü\82µ\82¢"),
+ equipname(otmp),
+ curssv
+ ? "\82Í\82¸\82µ\82Ä\82à\82ç\82Á"
+ : !slowly ? "\82Í\82¸\82µ"
+ : was_doffing ? "\82Í\82¸\82µ\91±\82¯"
+ : "\82Í\82¸\82µ\8en\82ß");
+#endif
named++;
/* the following is to set multi for later on */
nomul(-armordelay);
if (otmp->unpaid)
subfrombill(otmp, shop_keeper(*u.ushops));
freeinv(otmp);
+/*JP
pline("%s stole %s.", named ? "She" : Monnam(mtmp), doname(otmp));
+*/
+ pline("%s\82Í%s\82ð\93\90\82ñ\82¾\81D", named ? "\94Þ\8f\97" : Monnam(mtmp), doname(otmp));
could_petrify =
(otmp->otyp == CORPSE && touch_petrifies(&mons[otmp->corpsenm]));
(void) mpickobj(mtmp, otmp); /* may free otmp */
if (obj_sheds_light(otmp) && attacktype(mtmp->data, AT_ENGL)) {
/* this is probably a burning object that you dropped or threw */
if (u.uswallow && mtmp == u.ustuck && !Blind)
+/*JP
pline("%s out.", Tobjnam(otmp, "go"));
+*/
+ pline("%s\82Í\94ò\82Ñ\82¾\82µ\82½\81D", xname(otmp));
snuff_otmp = TRUE;
}
/* for hero owned object on shop floor, mtmp is taking possession
/* mpickobj wont merge otmp because none of the above things
to steal are mergable */
(void) mpickobj(mtmp, otmp); /* may merge and free otmp */
+/*JP
pline("%s stole %s!", Monnam(mtmp), doname(otmp));
+*/
+ pline("%s\82Í%s\82ð\93\90\82ñ\82¾\81I", Monnam(mtmp), doname(otmp));
if (can_teleport(mtmp->data) && !tele_restrict(mtmp))
(void) rloc(mtmp, TRUE);
}
}
/* obj_no_longer_held(obj); -- done by place_object */
if (verbosely && cansee(omx, omy))
+/*JP
pline("%s drops %s.", Monnam(mon), distant_name(obj, doname));
+*/
+ pline("%s\82Í%s\82ð\92u\82¢\82½\81D", Monnam(mon), distant_name(obj, doname));
+/*JP
if (!flooreffects(obj, omx, omy, "fall")) {
+*/
+ if (!flooreffects(obj, omx, omy, "\97\8e\82¿\82é")) {
place_object(obj, omx, omy);
stackobj(obj);
}
/* Copyright (c) Kevin Hugo, 1998-1999. */
/* 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"
/* Monsters that might be ridden */
void
rider_cant_reach()
{
+/*JP
You("aren't skilled enough to reach from %s.", y_monnam(u.usteed));
+*/
+ You("\82Ü\82¾\8f\\95ª\82É\8bZ\97Ê\82ð\90Ï\82ñ\82Å\82¢\82È\82¢\82Ì\82Å\81C%s\82©\82ç\93Í\82©\82È\82¢\81D", y_monnam(u.usteed));
}
/*** Putting the saddle on ***/
return 0;
}
if (!u.dx && !u.dy) {
+/*JP
pline("Saddle yourself? Very funny...");
+*/
+ pline("\8e©\95ª\8e©\90g\82É\88Æ\81H\82¨\82à\82µ\82ë\82¢\81D\81D\81D");
return 0;
}
if (!isok(u.ux + u.dx, u.uy + u.dy)
|| !(mtmp = m_at(u.ux + u.dx, u.uy + u.dy)) || !canspotmon(mtmp)) {
+/*JP
pline("I see nobody there.");
+*/
+ pline("\82»\82±\82É\82Í\92N\82à\82¢\82È\82¢\82æ\82¤\82É\8c©\82¦\82é\81D");
return 1;
}
/* Is this a valid monster? */
if (mtmp->misc_worn_check & W_SADDLE || which_armor(mtmp, W_SADDLE)) {
+/*JP
pline("%s doesn't need another one.", Monnam(mtmp));
+*/
+ pline("%s\82Í\82à\82¤\88Æ\82ª\8eæ\82è\82Â\82¯\82ç\82ê\82Ä\82¢\82é\81D", Monnam(mtmp));
return 1;
}
ptr = mtmp->data;
if (touch_petrifies(ptr) && !uarmg && !Stone_resistance) {
char kbuf[BUFSZ];
+/*JP
You("touch %s.", mon_nam(mtmp));
+*/
+ You("%s\82É\90G\82ê\82½\81D", mon_nam(mtmp));
if (!(poly_when_stoned(youmonst.data) && polymon(PM_STONE_GOLEM))) {
+/*JP
Sprintf(kbuf, "attempting to saddle %s", an(mtmp->data->mname));
+*/
+ Sprintf(kbuf, "%s\82É\88Æ\82ð\8eæ\82è\82Â\82¯\82æ\82¤\82Æ\82µ\82Ä", mtmp->data->mname);
instapetrify(kbuf);
}
}
if (ptr == &mons[PM_INCUBUS] || ptr == &mons[PM_SUCCUBUS]) {
+/*JP
pline("Shame on you!");
+*/
+ pline("\92p\82ð\92m\82ê\81I");
exercise(A_WIS, FALSE);
return 1;
}
if (mtmp->isminion || mtmp->isshk || mtmp->ispriest || mtmp->isgd
|| mtmp->iswiz) {
+/*JP
pline("I think %s would mind.", mon_nam(mtmp));
+*/
+ pline("%s\82Í\8c\99\82ª\82Á\82Ä\82¢\82é\82æ\82¤\82¾\81D", mon_nam(mtmp));
return 1;
}
if (!can_saddle(mtmp)) {
+/*JP
You_cant("saddle such a creature.");
+*/
+ You("\82»\82Ì\90¶\82«\95¨\82É\88Æ\82Í\82Æ\82è\82Â\82¯\82ç\82ê\82È\82¢\81D");
return 1;
}
if (Confusion || Fumbling || Glib)
chance -= 20;
else if (uarmg && (s = OBJ_DESCR(objects[uarmg->otyp])) != (char *) 0
+/*JP
&& !strncmp(s, "riding ", 7))
+*/
+ && !strncmp(s, "\8fæ\94n\97p\82Ì", 8))
/* Bonus for wearing "riding" (but not fumbling) gloves */
chance += 10;
else if (uarmf && (s = OBJ_DESCR(objects[uarmf->otyp])) != (char *) 0
+/*JP
&& !strncmp(s, "riding ", 7))
+*/
+ && !strncmp(s, "\8fæ\94n\97p\82Ì", 8))
/* ... or for "riding boots" */
chance += 10;
if (otmp->cursed)
/* Make the attempt */
if (rn2(100) < chance) {
+/*JP
You("put the saddle on %s.", mon_nam(mtmp));
+*/
+ You("\88Æ\82ð%s\82É\8eæ\82è\82Â\82¯\82½\81D", mon_nam(mtmp));
if (otmp->owornmask)
remove_worn_item(otmp, FALSE);
freeinv(otmp);
otmp->leashmon = mtmp->m_id;
update_mon_intrinsics(mtmp, otmp, TRUE, FALSE);
} else
+/*JP
pline("%s resists!", Monnam(mtmp));
+*/
+ pline("%s\82Í\8b\91\94Û\82µ\82½\81I", Monnam(mtmp));
return 1;
}
if (u.usteed) {
dismount_steed(DISMOUNT_BYCHOICE);
} else if (getdir((char *) 0) && isok(u.ux + u.dx, u.uy + u.dy)) {
+/*JP
if (wizard && yn("Force the mount to succeed?") == 'y')
+*/
+ if (wizard && yn("\96³\97\9d\96î\97\9d\90¬\8c÷\82³\82¹\82Ü\82·\82©\81H") == 'y')
forcemount = TRUE;
return (mount_steed(m_at(u.ux + u.dx, u.uy + u.dy), forcemount));
} else {
/* Sanity checks */
if (u.usteed) {
+/*JP
You("are already riding %s.", mon_nam(u.usteed));
+*/
+ You("\82à\82¤%s\82É\8fæ\82Á\82Ä\82¢\82é\81D", mon_nam(u.usteed));
return (FALSE);
}
/* Is the player in the right form? */
if (Hallucination && !force) {
+#if 0 /*JP*/
pline("Maybe you should find a designated driver.");
+#else
+ pline("\82¨\82»\82ç\82\82 \82È\82½\82Í\8ew\92è\83h\83\89\83C\83o\81[\82ð\92T\82·\82×\82«\82¾\82ë\82¤\81D");
+#endif
return (FALSE);
}
/* While riding Wounded_legs refers to the steed's,
* temporary 1 point Dex loss become permanent.]
*/
if (Wounded_legs) {
+/*JP
Your("%s are in no shape for riding.", makeplural(body_part(LEG)));
+*/
+ pline("%s\82ð\89ö\89ä\82µ\82Ä\82¢\82é\82Ì\82Å\8fæ\82ê\82È\82¢\81D", makeplural(body_part(LEG)));
if (force && wizard && yn("Heal your legs?") == 'y')
HWounded_legs = EWounded_legs = 0;
else
if (Upolyd && (!humanoid(youmonst.data) || verysmall(youmonst.data)
|| bigmonst(youmonst.data) || slithy(youmonst.data))) {
+/*JP
You("won't fit on a saddle.");
+*/
+ You("\88Æ\82É\8d\87\82í\82È\82¢\81D");
return (FALSE);
}
if (!force && (near_capacity() > SLT_ENCUMBER)) {
+/*JP
You_cant("do that while carrying so much stuff.");
+*/
+ You("\91ò\8eR\95¨\82ð\8e\9d\82¿\82·\82¬\82Ä\82¨\82è\8fo\97\88\82È\82¢\81D");
return (FALSE);
}
if (!mtmp || (!force && ((Blind && !Blind_telepat) || mtmp->mundetected
|| mtmp->m_ap_type == M_AP_FURNITURE
|| mtmp->m_ap_type == M_AP_OBJECT))) {
+/*JP
pline("I see nobody there.");
+*/
+ pline("\82»\82±\82É\82Í\89½\82à\8c©\82¦\82È\82¢\81D");
return (FALSE);
}
if (u.uswallow || u.ustuck || u.utrap || Punished
|| !test_move(u.ux, u.uy, mtmp->mx - u.ux, mtmp->my - u.uy,
TEST_MOVE)) {
if (Punished || !(u.uswallow || u.ustuck || u.utrap))
+/*JP
You("are unable to swing your %s over.", body_part(LEG));
+*/
+ You("\88Æ\82ð\82Ü\82½\82®\82±\82Æ\82ª\82Å\82«\82È\82¢\81D");
else
+/*JP
You("are stuck here for now.");
+*/
+ You("\82Í\82Ü\82Á\82Ä\82¢\82é\82Ì\82Å\8fo\97\88\82È\82¢\81D");
return (FALSE);
}
/* Is this a valid monster? */
otmp = which_armor(mtmp, W_SADDLE);
if (!otmp) {
+/*JP
pline("%s is not saddled.", Monnam(mtmp));
+*/
+ pline("%s\82É\82Í\88Æ\82ª\8eæ\82è\82Â\82¯\82ç\82ê\82Ä\82¢\82È\82¢\81D", Monnam(mtmp));
return (FALSE);
}
ptr = mtmp->data;
if (touch_petrifies(ptr) && !Stone_resistance) {
char kbuf[BUFSZ];
+/*JP
You("touch %s.", mon_nam(mtmp));
+*/
+ You("%s\82É\90G\82ê\82½\81D", mon_nam(mtmp));
+/*JP
Sprintf(kbuf, "attempting to ride %s", an(mtmp->data->mname));
+*/
+ Sprintf(kbuf, "%s\82É\8fæ\82ë\82¤\82Æ\82µ\82Ä", a_monnam(mtmp));
instapetrify(kbuf);
}
if (!mtmp->mtame || mtmp->isminion) {
+/*JP
pline("I think %s would mind.", mon_nam(mtmp));
+*/
+ pline("%s\82Í\8c\99\82ª\82Á\82Ä\82¢\82é\82æ\82¤\82¾\81D", mon_nam(mtmp));
return (FALSE);
}
if (mtmp->mtrapped) {
struct trap *t = t_at(mtmp->mx, mtmp->my);
+#if 0 /*JP*/
You_cant("mount %s while %s's trapped in %s.", mon_nam(mtmp),
mhe(mtmp), an(defsyms[trap_to_defsym(t->ttyp)].explanation));
+#else
+ You("%s\82É\95ß\82Ü\82Á\82Ä\82¢\82é%s\82É\82Í\8fæ\82ê\82È\82¢\81D",
+ defsyms[trap_to_defsym(t->ttyp)].explanation, mon_nam(mtmp));
+#endif
return (FALSE);
}
if (!force && !Role_if(PM_KNIGHT) && !(--mtmp->mtame)) {
/* no longer tame */
newsym(mtmp->mx, mtmp->my);
+#if 0 /*JP*/
pline("%s resists%s!", Monnam(mtmp),
mtmp->mleashed ? " and its leash comes off" : "");
+#else
+ pline("%s\82Í\8b\91\94Û%s\81I", Monnam(mtmp),
+ mtmp->mleashed ? "\82µ\82Ä\81C\95R\82ð\82Í\82¸\82µ\82½" : "\82µ\82½");
+#endif
if (mtmp->mleashed)
m_unleash(mtmp, FALSE);
return (FALSE);
}
if (!force && Underwater && !is_swimmer(ptr)) {
+/*JP
You_cant("ride that creature while under water.");
+*/
+ You("\90\85\92\86\82Å\8fæ\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D");
return (FALSE);
}
if (!can_saddle(mtmp) || !can_ride(mtmp)) {
+/*JP
You_cant("ride such a creature.");
+*/
+ You("\82»\82Ì\90¶\82«\95¨\82É\8fæ\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D");
return (0);
}
/* Is the player impaired? */
if (!force && !is_floater(ptr) && !is_flyer(ptr) && Levitation
&& !Lev_at_will) {
+/*JP
You("cannot reach %s.", mon_nam(mtmp));
+*/
+ You("%s\82É\93Í\82©\82È\82¢\81D", mon_nam(mtmp));
return (FALSE);
}
if (!force && uarm && is_metallic(uarm) && greatest_erosion(uarm)) {
+#if 0 /*JP*/
Your("%s armor is too stiff to be able to mount %s.",
uarm->oeroded ? "rusty" : "corroded", mon_nam(mtmp));
+#else
+ Your("%s\8aZ\82Í\83M\83V\83M\83V\82¢\82Á\82Ä\82¨\82è%s\82É\8fæ\82ê\82È\82¢\81D",
+ uarm->oeroded ? "\8eK\82Ñ\82½" : "\95\85\90H\82µ\82½", mon_nam(mtmp));
+#endif
return (FALSE);
}
if (!force
&& (Confusion || Fumbling || Glib || Wounded_legs || otmp->cursed
|| (u.ulevel + mtmp->mtame < rnd(MAXULEV / 2 + 5)))) {
if (Levitation) {
+/*JP
pline("%s slips away from you.", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82©\82ç\82Í\82È\82ê\82Ä\82¢\82Á\82½\81D", Monnam(mtmp));
return FALSE;
}
+/*JP
You("slip while trying to get on %s.", mon_nam(mtmp));
+*/
+ You("%s\82É\8fæ\82ë\82¤\82Æ\82µ\82Ä\82·\82×\82Á\82½\81D", mon_nam(mtmp));
+/*JP
Sprintf(buf, "slipped while mounting %s",
+*/
+ Sprintf(buf, "%s\82É\8fæ\82ë\82¤\82Æ\82µ\82Ä\82·\82×\82è\97\8e\82¿\82Ä",
/* "a saddled mumak" or "a saddled pony called Dobbin" */
x_monnam(mtmp, ARTICLE_A, (char *) 0,
SUPPRESS_IT | SUPPRESS_INVISIBLE
if (!force) {
if (Levitation && !is_floater(ptr) && !is_flyer(ptr))
/* Must have Lev_at_will at this point */
+/*JP
pline("%s magically floats up!", Monnam(mtmp));
+*/
+ pline("%s\82Í\96\82\96@\82Ì\97Í\82Å\95\82\82¢\82½\81I", Monnam(mtmp));
+/*JP
You("mount %s.", mon_nam(mtmp));
+*/
+ You("%s\82É\8fæ\82Á\82½\81D", mon_nam(mtmp));
}
/* setuwep handles polearms differently when you're mounted */
if (uwep && is_pole(uwep))
#if 0 /*JP*/
char He[4];
#else
- /* role.c Gender.he \82Ì\92l\82ª\83R\83s\81[\82³\82ê\82é */
- char He[16];
+ /* role.c Gender.he \82Ì\92l\82ª\83R\83s\81[\82³\82ê\82é */
+ char He[16];
#endif
if (!u.usteed)
return;
u.usteed->mcanmove = 1;
}
if (u.usteed->msleeping || !u.usteed->mcanmove)
+#if 0 /*JP*/
pline("%s stirs.", He);
+#else
+ pline("%s\82Í\90g\82¶\82ë\82¬\82µ\82½\81D", He);
+#endif
else
+#if 0 /*JP*/
pline("%s rouses %sself!", He, mhim(u.usteed));
+#else
+ pline("%s\82Í\95±\8bN\82µ\82½\81I", He);
+#endif
} else
+#if 0 /*JP*/
pline("%s does not respond.", He);
+#else
+ pline("%s\82Í\94½\89\9e\82µ\82È\82¢\81D", He);
+#endif
return;
}
return;
}
+/*JP
pline("%s gallops!", Monnam(u.usteed));
+*/
+ pline("%s\82Í\91¬\91«\82É\82È\82Á\82½\81I", Monnam(u.usteed));
u.ugallop += rn1(20, 30);
return;
}
struct monst *mtmp;
struct obj *otmp;
coord cc;
+/*JP
const char *verb = "fall";
+*/
+ const char *verb = "\97\8e\82¿\82½";
boolean repair_leg_damage = (Wounded_legs != 0L);
unsigned save_utrap = u.utrap;
boolean have_spot = landing_spot(&cc, reason, 0);
otmp = which_armor(mtmp, W_SADDLE);
switch (reason) {
case DISMOUNT_THROWN:
+/*JP
verb = "are thrown";
+*/
+ verb = "\82Ó\82è\97\8e\82³\82ê\82½";
case DISMOUNT_FELL:
+/*JP
You("%s off of %s!", verb, mon_nam(mtmp));
+*/
+ You("%s\82©\82ç%s\81I", mon_nam(mtmp), verb);
if (!have_spot)
have_spot = landing_spot(&cc, reason, 1);
+/*JP
losehp(Maybe_Half_Phys(rn1(10, 10)), "riding accident", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(rn1(10, 10)), "\8bR\8fæ\8e\96\8cÌ\82Å", KILLED_BY_AN);
set_wounded_legs(BOTH_SIDES, (int) HWounded_legs + rn1(5, 5));
repair_leg_damage = FALSE;
break;
case DISMOUNT_POLY:
+/*JP
You("can no longer ride %s.", mon_nam(u.usteed));
+*/
+ You("%s\82É\8fæ\82Á\82Ä\82ç\82ê\82È\82¢\81D", mon_nam(u.usteed));
if (!have_spot)
have_spot = landing_spot(&cc, reason, 1);
break;
case DISMOUNT_BYCHOICE:
default:
if (otmp && otmp->cursed) {
+#if 0 /*JP*/
You("can't. The saddle %s cursed.",
otmp->bknown ? "is" : "seems to be");
+#else
+ You("\8d~\82è\82ç\82ê\82È\82¢\81D\88Æ\82Í\8eô\82í\82ê\82Ä\82¢\82é%s\81D",
+ otmp->bknown ? "" : "\82æ\82¤\82¾");
+#endif
otmp->bknown = TRUE;
return;
}
if (!have_spot) {
+/*JP
You("can't. There isn't anywhere for you to stand.");
+*/
+ pline("\82 \82È\82½\82Ì\97§\82Â\8fê\8f\8a\82ª\82È\82¢\82Ì\82Å\8d~\82è\82ç\82ê\82È\82¢\81D");
return;
}
if (!has_mname(mtmp)) {
+/*JP
pline("You've been through the dungeon on %s with no name.",
+*/
+ pline("\82 \82È\82½\82Í\96¼\91O\82Ì\82È\82¢%s\82Æ\8b¤\82É\96À\8b{\93à\82É\82¢\82é\81D",
an(mtmp->data->mname));
if (Hallucination)
+/*JP
pline("It felt good to get out of the rain.");
+*/
+ pline("\89J\82ª\8d~\82ç\82È\82¢\82Ì\82Æ\82¢\82¤\82Ì\82Í\82¢\82¢\8bC\95ª\82¾\82Á\82½\81D");
} else
+/*JP
You("dismount %s.", mon_nam(mtmp));
+*/
+ You("%s\82©\82ç\8d~\82è\82½\81D", mon_nam(mtmp));
}
/* While riding, Wounded_legs refers to the steed's legs;
after dismounting, it reverts to the hero's legs. */
if (!is_flyer(mdat) && !is_floater(mdat) && !is_clinger(mdat)) {
if (is_pool(u.ux, u.uy)) {
if (!Underwater)
+/*JP
pline("%s falls into the %s!", Monnam(mtmp),
+*/
+ pline("%s\82Í%s\82É\97\8e\82¿\82½\81I", Monnam(mtmp),
surface(u.ux, u.uy));
if (!is_swimmer(mdat) && !amphibious(mdat)) {
killed(mtmp);
adjalign(-1);
}
} else if (is_lava(u.ux, u.uy)) {
+/*JP
pline("%s is pulled into the lava!", Monnam(mtmp));
+*/
+ pline("%s\82Í\97n\8aâ\82Ì\92\86\82É\82Ð\82Á\82Ï\82ç\82ê\82½\81I", Monnam(mtmp));
if (!likes_lava(mdat)) {
killed(mtmp);
adjalign(-1);
/* 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_DCL boolean FDECL(tele_jump_ok, (int, int, int, int));
yelp(mtmp);
return FALSE;
} else {
+/*JP
Your("leash goes slack.");
+*/
+ Your("\95R\82Í\82½\82é\82ñ\82¾\81D");
release_it:
m_unleash(mtmp, FALSE);
return TRUE;
/* Disable teleportation in stronghold && Vlad's Tower */
if (level.flags.noteleport) {
if (!wizard) {
+/*JP
pline("A mysterious force prevents you from teleporting!");
+*/
+ pline("\8aï\96\82È\97Í\82ª\8fu\8aÔ\88Ú\93®\82ð\96h\82¢\82¾\81I");
return TRUE;
}
}
make_blinded(0L, FALSE);
if ((u.uhave.amulet || On_W_tower_level(&u.uz)) && !rn2(3)) {
+/*JP
You_feel("disoriented for a moment.");
+*/
+ You("\88ê\8fu\95û\8cü\8a´\8ao\82ð\8e¸\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
if (!wizard || yn("Override?") != 'y')
return FALSE;
}
if ((Teleport_control && !Stunned) || wizard) {
if (unconscious()) {
+/*JP
pline("Being unconscious, you cannot control your teleport.");
+*/
+ pline("\88Ó\8e¯\82ª\82È\82¢\82Ì\82Å\81C\82 \82È\82½\82Í\8fu\8aÔ\88Ú\93®\82ð\90§\8cä\82Å\82«\82È\82¢\81D");
} else {
+#if 0 /*JP*//*\8eå\8cê\82ð\8fÈ\97ª\82µ\82Ä\8aÈ\97ª\89»*/
char whobuf[BUFSZ];
Strcpy(whobuf, "you");
if (u.usteed)
Sprintf(eos(whobuf), " and %s", mon_nam(u.usteed));
pline("To what position do %s want to be teleported?", whobuf);
+#else
+ pline("\82Ç\82Ì\88Ê\92u\82É\8fu\8aÔ\88Ú\93®\82µ\82Ü\82·\82©\81H");
+#endif
cc.x = u.ux;
cc.y = u.uy;
+/*JP
if (getpos(&cc, TRUE, "the desired position") < 0)
+*/
+ if (getpos(&cc, TRUE, "\88Ú\93®\82µ\82½\82¢\8fê\8f\8a") < 0)
return TRUE; /* abort */
/* possible extensions: introduce a small error if
magic power is low; allow transfer to solid rock */
teleds(cc.x, cc.y, FALSE);
return TRUE;
}
+/*JP
pline("Sorry...");
+*/
+ pline("\82¨\82Á\82Æ\81D\81D\81D");
result = TRUE;
}
} else if (scroll && scroll->blessed) {
if (trap) {
trap_once = trap->once; /* trap may get deleted, save this */
if (trap->once) {
+/*JP
pline("This is a vault teleport, usable once only.");
+*/
+ pline("\88ê\93x\82©\82¬\82è\82Ì\91q\8cÉ\82Ö\82Ì\8fu\8aÔ\88Ú\93®\82Ìã©\82¾\81D");
+/*JP
if (yn("Jump in?") == 'n')
+*/
+ if (yn("\94ò\82Ñ\8d\9e\82Þ\81H") == 'n')
trap = 0;
else {
deltrap(trap);
}
}
if (trap)
+#if 0 /*JP*/
You("%s onto the teleportation trap.",
locomotion(youmonst.data, "jump"));
+#else
+ You("\8fu\8aÔ\88Ú\93®\82Ìã©\82É\94ò\82Ñ\82±\82ñ\82¾\81D");
+#endif
}
if (!trap) {
boolean castit = FALSE;
if (!wizard) {
if (!castit) {
if (!Teleportation)
+/*JP
You("don't know that spell.");
+*/
+ You("\82»\82ñ\82È\96\82\96@\82Í\92m\82ç\82È\82¢\81D");
else
+/*JP
You("are not able to teleport at will.");
+*/
+ You("\8e©\95ª\82Ì\88Ó\8ev\82Å\8fu\8aÔ\88Ú\93®\82Å\82«\82È\82¢\81D");
return 0;
}
}
if (u.uhunger <= 100 || ACURR(A_STR) < 6) {
if (!wizard) {
+#if 0 /*JP*/
You("lack the strength %s.",
castit ? "for a teleport spell" : "to teleport");
+#else
+ You("%s\82¾\82¯\82Ì\97Í\82ª\82È\82¢\81D",
+ castit ? "\8fu\8aÔ\88Ú\93®\82Ì\96\82\96@\82ð\8f¥\82¦\82é" : "\8fu\8aÔ\88Ú\93®\82·\82é");
+#endif
return 1;
}
}
if (wizard)
energy = u.uen;
else {
+#if 0 /*JP*/
You("lack the energy %s.",
castit ? "for a teleport spell" : "to teleport");
+#else
+ You("%s\82¾\82¯\82Ì\83G\83l\83\8b\83M\81[\82ª\82È\82¢\81D",
+ castit ? "\8fu\8aÔ\88Ú\93®\82Ì\96\82\96@\82ð\8f¥\82¦\82é" : "\8fu\8aÔ\88Ú\93®\82·\82é");
+#endif
return 1;
}
}
if (check_capacity(
+/*JP
"Your concentration falters from carrying so much."))
+*/
+ "\91ò\8eR\82à\82Ì\82ð\8e\9d\82¿\82·\82¬\82Ä\8fW\92\86\82Å\82«\82È\82¢\81D"))
return 1;
if (castit) {
if ((u.uhave.amulet || In_endgame(&u.uz) || In_sokoban(&u.uz))
&& !wizard) {
+/*JP
You_feel("very disoriented for a moment.");
+*/
+ You("\88ê\8fu\95û\8cü\8a´\8ao\82ð\91å\82«\82\8e¸\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
return;
}
if ((Teleport_control && !Stunned) || wizard) {
char qbuf[BUFSZ];
int trycnt = 0;
+/*JP
Strcpy(qbuf, "To what level do you want to teleport?");
+*/
+ Strcpy(qbuf, "\89½\8aK\82É\88Ú\93®\82µ\82Ü\82·\82©\81H");
do {
if (++trycnt == 2) {
if (wizard)
Strcat(qbuf, " [type a number or ? for a menu]");
else
+/*JP
Strcat(qbuf, " [type a number]");
+*/
+ Strcat(qbuf, " [\90\94\8e\9a\82ð\82¢\82ê\82Ä\82Ë]");
}
getlin(qbuf, buf);
if (!strcmp(buf, "\033")) { /* cancelled */
if (Confusion && rnl(5)) {
+/*JP
pline("Oops...");
+*/
+ pline("\82¨\82Á\82Æ\81D\81D\81D");
goto random_levtport;
}
return;
} else if (!strcmp(buf, "*")) {
goto random_levtport;
} else if (Confusion && rnl(5)) {
+/*JP
pline("Oops...");
+*/
+ pline("\82¨\82Á\82Æ\81D\81D\81D");
goto random_levtport;
}
if (wizard && !strcmp(buf, "?")) {
if (newlev == 0) {
if (trycnt >= 10)
goto random_levtport;
+/*JP
if (ynq("Go to Nowhere. Are you sure?") != 'y')
+*/
+ if (ynq("\82Ç\82±\82Æ\82à\92m\82ê\82Ê\8fê\8f\8a\82É\8ds\82«\82Ü\82·\81H\82æ\82ë\82µ\82¢\82Å\82·\82©\81H") != 'y')
return;
+#if 0 /*JP*/
You("%s in agony as your body begins to warp...",
is_silent(youmonst.data) ? "writhe" : "scream");
+#else
+ You("\91Ì\82ª\88Ú\93®\82µ\82Í\82¶\82ß\82é\82Æ\81C\8bê\82µ\82Ý%s\81D\81D\81D",
+ is_silent(youmonst.data) ? "\82Å\90g\82à\82¾\82¦\82µ\82½" : "\82Ì\82 \82¦\82¬\90º\82ð\8fo\82µ\82½");
+#endif
display_nhwindow(WIN_MESSAGE, FALSE);
+/*JP
You("cease to exist.");
+*/
+ Your("\91¶\8dÝ\82Í\8fÁ\96Å\82µ\82½\81D");
if (invent)
+/*JP
Your("possessions land on the %s with a thud.",
+*/
+ Your("\8e\9d\82¿\82à\82Ì\82Í\83h\83T\83b\82Æ%s\82É\97\8e\82¿\82½\81D",
surface(u.ux, u.uy));
killer.format = NO_KILLER_PREFIX;
+/*JP
Strcpy(killer.name, "committed suicide");
+*/
+ Strcpy(killer.name, "\8e©\8eE\82µ\82½");
done(DIED);
+/*JP
pline("An energized cloud of dust begins to coalesce.");
+*/
+ pline("\83G\83l\83\8b\83M\81[\82ð\82à\82Á\82½\82Ù\82±\82è\82Ì\89Q\82ª\8c\8b\8d\87\82µ\82Í\82¶\82ß\82½\81D");
+#if 0 /*JP*/
Your("body rematerializes%s.",
invent ? ", and you gather up all your possessions" : "");
+#else
+ Your("\91Ì\82Í\8dÄ\82Ñ\8eÀ\91Ì\89»\82µ\82½\81D%s",
+ invent ? "\82»\82µ\82Ä\91S\82Ä\82Ì\8e\9d\82¿\95¨\82ð\8fE\82¢\8fã\82°\82½\81D" : "");
+#endif
return;
}
int llimit = dunlevs_in_dungeon(&u.uz);
if (newlev >= 0 || newlev <= -llimit) {
+/*JP
You_cant("get there from here.");
+*/
+ You("\82»\82±\82É\82Í\8ds\82¯\82È\82¢\81D");
return;
}
newlevel.dnum = u.uz.dnum;
in_mklev = FALSE;
}
if (newlev <= -10) {
+/*JP
You("arrive in heaven.");
+*/
+ You("\93V\8d\91\82É\92H\82è\82Â\82¢\82½\81D");
+/*JP
verbalize("Thou art early, but we'll admit thee.");
+*/
+ verbalize("\93ð\81C\8e\80\82Ê\82É\82Í\91\81\82·\82¬\82é\82ª\82»\82ê\82à\82æ\82©\82ë\82¤\81D");
killer.format = NO_KILLER_PREFIX;
+/*JP
Strcpy(killer.name, "went to heaven prematurely");
+*/
+ Strcpy(killer.name, "\8eá\82\82µ\82Ä\93V\8d\91\82É\8ds\82Á\82½");
} else if (newlev == -9) {
+/*JP
You_feel("deliriously happy. ");
+*/
+ You("\8b¶\82Á\82½\82æ\82¤\82È\8dK\82¹\82ð\8a´\82¶\82½\81D");
+/*JP
pline("(In fact, you're on Cloud 9!) ");
+*/
+ pline("(\96{\93\96\82É\8bê\82ð\8fæ\82è\89z\82¦\82½\8fê\8f\8a\82É\82¢\82é\81I) ");
display_nhwindow(WIN_MESSAGE, FALSE);
} else
+/*JP
You("are now high above the clouds...");
+*/
+ You("\89_\82Ì\97y\82©\8fã\82É\82¢\82é\81D\81D\81D");
if (killer.name[0]) {
; /* arrival in heaven is pending */
} else if (Levitation) {
+/*JP
escape_by_flying = "float gently down to earth";
+*/
+ escape_by_flying = "\82ä\82Á\82\82è\92n\96Ê\82É\8d~\82è\82½\81D";
} else if (Flying) {
+/*JP
escape_by_flying = "fly down to the ground";
+*/
+ escape_by_flying = "\82ä\82Á\82\82è\92n\96Ê\82É\8d~\82è\82½\81D";
} else {
+/*JP
pline("Unfortunately, you don't know how to fly.");
+*/
+ pline("\8ec\94O\82È\82ª\82ç\81C\82 \82È\82½\82Í\94ò\82Ñ\82©\82½\82ð\92m\82ç\82È\82¢\81D");
+/*JP
You("plummet a few thousand feet to your death.");
+*/
+ pline("\90\94\90ç\83t\83B\81[\83g\82Ì\8e\80\82Ì\83_\83C\83r\83\93\83O\82¾\81I");
+#if 0 /*JP*/
Sprintf(killer.name,
"teleported out of the dungeon and fell to %s death",
uhis());
killer.format = NO_KILLER_PREFIX;
+#else
+ Strcpy(killer.name, "\96À\8b{\82ð\94ò\82Ñ\82¾\82µ\83_\83C\83r\83\93\83O\82µ\82Ä");
+ killer.format = KILLED_BY;
+#endif
}
}
done(DIED);
/* can only get here via life-saving (or declining to die in
explore|debug mode); the hero has now left the dungeon... */
+/*JP
escape_by_flying = "find yourself back on the surface";
+*/
+ escape_by_flying = "\8bC\82ª\82Â\82¢\82½\82ç\92n\8fã\82É\96ß\82Á\82Ä\82¢\82½";
u.uz = lsav; /* restore u.uz so escape code works */
}
/* calls done(ESCAPED) if newlevel==0 */
if (escape_by_flying) {
+/*JP
You("%s.", escape_by_flying);
+*/
+ You("%s\81D", escape_by_flying);
newlevel.dnum = 0; /* specify main dungeon */
newlevel.dlevel = 0; /* escape the dungeon */
/* [dlevel used to be set to 1, but it doesn't make sense to
+ dunlevs_in_dungeon(&u.uz) - 1)) {
newlev = dungeons[u.uz.dnum].depth_start
+ dunlevs_in_dungeon(&u.uz) - 2;
+/*JP
pline("Sorry...");
+*/
+ pline("\82¨\82Á\82Æ\81D\81D\81D");
}
/* no teleporting out of quest dungeon */
if (In_quest(&u.uz) && newlev < depth(&qstart_level))
if (!on_level(&u.uz, &u.uz0))
return;
+/*JP
You("activated a magic portal!");
+*/
+ pline("\96\82\96@\82Ì\93ü\8cû\82ª\8dì\93®\82µ\82½\81I");
/* prevent the poor shnook, whose amulet was stolen while in
* the endgame, from accidently triggering the portal to the
* next level, and thus losing the game
*/
if (In_endgame(&u.uz) && !u.uhave.amulet) {
+/*JP
You_feel("dizzy for a moment, but nothing happens...");
+*/
+ You("\88ê\8fu\82ß\82Ü\82¢\82ð\8a´\82¶\82½\81C\82µ\82©\82µ\89½\82à\8bN\82«\82È\82©\82Á\82½\81D\81D\81D");
return;
}
target_level = ttmp->dst;
schedule_goto(&target_level, FALSE, FALSE, 1,
+/*JP
"You feel dizzy for a moment, but the sensation passes.",
+*/
+ "\88ê\8fu\82ß\82Ü\82¢\82ð\8a´\82¶\82½\81C\82µ\82©\82µ\82»\82Ì\8a´\8ao\82Í\8fÁ\82¦\82½\81D",
(char *) 0);
}
if (In_endgame(&u.uz) || Antimagic) {
if (Antimagic)
shieldeff(u.ux, u.uy);
+/*JP
You_feel("a wrenching sensation.");
+*/
+ You("\82Ë\82¶\82ç\82ê\82½\82æ\82¤\82È\8a´\8ao\82ð\8a´\82¶\82½\81D");
} else if (!next_to_u()) {
You1(shudder_for_moment);
} else if (trap->once) {
level_tele_trap(trap)
struct trap *trap;
{
+#if 0 /*JP*/
You("%s onto a level teleport trap!",
Levitation ? (const char *) "float"
: locomotion(youmonst.data, "step"));
+#else
+ You("\95Ê\82Ì\8aK\82Ö\82Ì\8fu\8aÔ\88Ú\93®\82Ìã©\82ð%s\81I",
+ Levitation ? (const char *) "\8c©\89º\82ë\82µ\82½"
+ : jpast(locomotion(youmonst.data, "\93¥\82Þ")));
+#endif
if (Antimagic) {
shieldeff(u.ux, u.uy);
}
if (Antimagic || In_endgame(&u.uz)) {
+/*JP
You_feel("a wrenching sensation.");
+*/
+ You("\82Ë\82¶\82ç\82ê\82½\82æ\82¤\82È\8a´\8ao\82ð\8a´\82¶\82½\81D");
return;
}
if (!Blind)
+/*JP
You("are momentarily blinded by a flash of light.");
+*/
+ You("\82Ü\82Î\82ä\82¢\8cõ\82Å\88ê\8fu\96Ú\82ª\82\82ç\82ñ\82¾\81D");
else
+/*JP
You("are momentarily disoriented.");
+*/
+ You("\88ê\8fu\95û\8cü\8a´\8ao\82ð\8e¸\82Á\82½\81D");
deltrap(trap);
newsym(u.ux, u.uy); /* get rid of trap symbol */
level_tele();
{
if (level.flags.noteleport) {
if (canseemon(mon))
+#if 0 /*JP*/
pline("A mysterious force prevents %s from teleporting!",
mon_nam(mon));
+#else
+ pline("\8aï\96\82È\97Í\82ª%s\82Ì\8fu\8aÔ\88Ú\93®\82ð\96h\82¢\82¾\81I",
+ mon_nam(mon));
+#endif
return TRUE;
}
return FALSE;
if (in_sight) {
if (canseemon(mtmp))
+/*JP
pline("%s seems disoriented.", monname);
+*/
+ pline("%s\82Í\88ê\8fu\95û\8cü\8a´\8ao\82ð\8e¸\82Á\82½\82æ\82¤\82¾\81D", monname);
else
+/*JP
pline("%s suddenly disappears!", monname);
+*/
+ pline("%s\82Í\93Ë\91R\8fÁ\82¦\82½\81I", monname);
seetrap(trap);
}
}
assign_level(&tolevel, &valley_level);
} else if (Is_botlevel(&u.uz)) {
if (in_sight && trap->tseen)
+#if 0 /*JP*/
pline("%s avoids the %s.", Monnam(mtmp),
(tt == HOLE) ? "hole" : "trap");
+#else
+ pline("%s\82Í%s\82ð\89ñ\94ð\82µ\82½\81D", Monnam(mtmp),
+ (tt == HOLE) ? "\8c\8a" : "ã©");
+#endif
return 0;
} else {
get_level(&tolevel, depth(&u.uz) + 1);
if (In_endgame(&u.uz)
&& (mon_has_amulet(mtmp) || is_home_elemental(mptr))) {
if (in_sight && mptr->mlet != S_ELEMENTAL) {
+/*JP
pline("%s seems to shimmer for a moment.", Monnam(mtmp));
+*/
+ pline("%s\82ª\88ê\8fu\8bP\82¢\82½\82æ\82¤\82É\8c©\82¦\82½\81D", Monnam(mtmp));
seetrap(trap);
}
return 0;
if (mon_has_amulet(mtmp) || In_endgame(&u.uz)) {
if (in_sight)
+/*JP
pline("%s seems very disoriented for a moment.",
+*/
+ pline("%s\82Í\88ê\8fu\95û\8cü\8a´\8ao\82ð\91å\82«\82\8e¸\82Á\82½\82æ\82¤\82¾\81D",
Monnam(mtmp));
return 0;
}
nlev = random_teleport_level();
if (nlev == depth(&u.uz)) {
if (in_sight)
+/*JP
pline("%s shudders for a moment.", Monnam(mtmp));
+*/
+ pline("%s\82Í\88ê\8fu\90k\82¦\82½\81D", Monnam(mtmp));
return 0;
}
get_level(&tolevel, nlev);
}
if (in_sight) {
+/*JP
pline("Suddenly, %s disappears out of sight.", mon_nam(mtmp));
+*/
+ pline("\93Ë\91R%s\82ª\8e\8b\8aE\82©\82ç\8fÁ\82¦\82½\81D", mon_nam(mtmp));
seetrap(trap);
}
migrate_to_level(mtmp, ledger_no(&tolevel), migrate_typ, (coord *) 0);
!= within_bounded_area(otx, oty, dndest.nlx, dndest.nly,
dndest.nhx, dndest.nhy)));
+/*JP
if (flooreffects(obj, tx, ty, "fall")) {
+*/
+ if (flooreffects(obj, tx, ty, "\97\8e\82¿\82é")) {
return FALSE;
} else if (otx == 0 && oty == 0) {
; /* fell through a trap door; no update of old loc needed */
if (mtmp->ispriest && *in_rooms(mtmp->mx, mtmp->my, TEMPLE)) {
if (give_feedback)
+/*JP
pline("%s resists your magic!", Monnam(mtmp));
+*/
+ pline("%s\82Í\96\82\96@\82ð\96h\82¢\82¾\81I", Monnam(mtmp));
return FALSE;
} else if (level.flags.noteleport && u.uswallow && mtmp == u.ustuck) {
if (give_feedback)
+/*JP
You("are no longer inside %s!", mon_nam(mtmp));
+*/
+ You("%s\82Ì\93à\95\94\82©\82ç\92E\8fo\82µ\82½\81I", mon_nam(mtmp));
unstuck(mtmp);
(void) rloc(mtmp, TRUE);
} else if (is_rider(mtmp->data) && rn2(13)
/* 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"
#include "lev.h" /* for checking save modes */
/* He is being petrified - dialogue by inmet!tower */
static NEARDATA const char *const stoned_texts[] = {
+#if 0 /*JP*/
"You are slowing down.", /* 5 */
"Your limbs are stiffening.", /* 4 */
"Your limbs have turned to stone.", /* 3 */
"You have turned to stone.", /* 2 */
"You are a statue." /* 1 */
+#else
+ "\82 \82È\82½\82Í\82Ì\82ë\82\82È\82Á\82½\81D", /* 5 */
+ "\82 \82È\82½\82Ì\8eè\91«\82Í\8dd\92¼\82µ\82½\81D", /* 4 */
+ "\82 \82È\82½\82Ì\8eè\91«\82Í\90Î\89»\82µ\82½\81D", /* 3 */
+ "\82 \82È\82½\82Í\90Î\82É\82È\82Á\82½\81D", /* 2 */
+ "\82 \82È\82½\82Í\92¤\91\9c\82É\82È\82Á\82½\81D" /* 1 */
+#endif
};
STATIC_OVL void
/* He is getting sicker and sicker prior to vomiting */
static NEARDATA const char *const vomiting_texts[] = {
+#if 0 /*JP*/
"are feeling mildly nauseated.", /* 14 */
"feel slightly confused.", /* 11 */
"can't seem to think straight.", /* 8 */
"feel incredibly sick.", /* 5 */
"suddenly vomit!" /* 2 */
+#else
+ "\82¿\82å\82Á\82Æ\93f\82«\8bC\82ª\82µ\82½\81D", /* 14 */
+ "\8f\82µ\8d¬\97\90\82µ\82½\81D", /* 11 */
+ "\82Ü\82Æ\82à\82É\8ev\8dl\82Å\82«\82È\82\82È\82Á\82½\81D", /* 8 */
+ "\82Æ\82Ä\82à\8bC\95ª\82ª\88«\82\82È\82Á\82½\81D", /* 5 */
+ "\93Ë\91R\9aq\93f\82µ\82½\81I" /* 2 */
+#endif
};
STATIC_OVL void
}
static NEARDATA const char *const choke_texts[] = {
+#if 0 /*JP*/
"You find it hard to breathe.", "You're gasping for air.",
"You can no longer breathe.", "You're turning %s.", "You suffocate."
+#else
+ "\82 \82È\82½\82Í\8cÄ\8bz\82ª\8d¢\93ï\82É\82È\82Á\82½\81D",
+ "\82 \82È\82½\82Í\8bê\82µ\82\82Ä\82 \82¦\82¢\82¾\81D",
+ "\82 \82È\82½\82Í\82à\82¤\8cÄ\8bz\82ª\82Å\82«\82È\82¢\81D",
+ "\82 \82È\82½\82Í%s\82È\82Á\82½\81D",
+ "\82 \82È\82½\82Í\92\82\91§\82µ\82½\81D"
+#endif
};
static NEARDATA const char *const choke_texts2[] = {
+#if 0 /*JP*/
"Your %s is becoming constricted.",
"Your blood is having trouble reaching your brain.",
"The pressure on your %s increases.", "Your consciousness is fading.",
"You suffocate."
+#else
+ "\82 \82È\82½\82Ì%s\82Í\8di\82ß\82Â\82¯\82ç\82ê\82½\81D",
+ "\8c\8c\89t\82Ì\82ß\82®\82è\82ª\88«\82\82È\82Á\82½\81D",
+ "%s\82Ì\88³\97Í\82ª\8d\82\82\82È\82Á\82½\81D",
+ "\88Ó\8e¯\82ª\89\93\82\82È\82Á\82Ä\82«\82½\81D",
+ "\82 \82È\82½\82Í\92\82\91§\82µ\82½\81D"
+#endif
};
STATIC_OVL void
const char *str = choke_texts[SIZE(choke_texts) - i];
if (index(str, '%'))
+/*JP
pline(str, hcolor(NH_BLUE));
+*/
+ pline(str, jconj_adj(hcolor(NH_BLUE)));
else
pline1(str);
}
}
static NEARDATA const char *const slime_texts[] = {
+#if 0 /*JP*/
"You are turning a little %s.", /* 5 */
"Your limbs are getting oozy.", /* 4 */
"Your skin begins to peel away.", /* 3 */
"You are turning into %s.", /* 2 */
"You have become %s." /* 1 */
+#else
+ "\8f\82µ%s\82È\82Á\82½\81D", /* 5 */
+ "\8eè\91«\82ª\97n\82¯\82Í\82¶\82ß\82½\81D", /* 4 */
+ "\94§\82ª\82Ç\82ë\82Ç\82ë\82É\82È\82Á\82Ä\82«\82½\81D", /* 3 */
+ "%s\82É\82È\82è\82Í\82¶\82ß\82½\81D", /* 2 */
+ "%s\82É\82È\82Á\82Ä\82µ\82Ü\82Á\82½\81D", /* 1 */
+#endif
};
STATIC_OVL void
if (index(buf, '%')) {
if (i == 4L) { /* "you are turning green" */
if (!Blind) /* [what if you're already green?] */
+/*JP
pline(buf, hcolor(NH_GREEN));
+*/
+ pline(buf, jconj_adj(hcolor(NH_GREEN)));
} else
pline(buf,
+/*JP
an(Hallucination ? rndmonnam(NULL) : "green slime"));
+*/
+ Hallucination ? rndmonnam(NULL) : "\97Î\83X\83\89\83C\83\80");
} else
pline1(buf);
}
burn_away_slime()
{
if (Slimed) {
+/*JP
make_slimed(0L, "The slime that covers you is burned away!");
+*/
+ pline("\82 \82È\82½\82ð\95¢\82Á\82Ä\82¢\82½\83X\83\89\83C\83\80\82Í\8fÄ\82¯\97\8e\82¿\82½\81I");
}
}
u.uspellprot--;
find_ac();
if (!Blind)
+#if 0 /*JP*/
Norep("The %s haze around you %s.", hcolor(NH_GOLDEN),
u.uspellprot ? "becomes less dense" : "disappears");
+#else
+ Norep("\82 \82È\82½\82Ì\89ñ\82è\82Ì%s\96¶\82Í%s\81D", hcolor(NH_GOLDEN),
+ u.uspellprot ? "\8fÁ\82¦\82Í\82¶\82ß\82½" : "\8fÁ\82¦\82½");
+#endif
}
}
if (u.ugallop) {
if (--u.ugallop == 0L && u.usteed)
+/*JP
pline("%s stops galloping.", Monnam(u.usteed));
+*/
+ pline("%s\82Í\91¬\8bì\82¯\82ð\82â\82ß\82½\81D", Monnam(u.usteed));
}
for (upp = u.uprops; upp < u.uprops + SIZE(u.uprops); upp++)
case STONED:
if (kptr && kptr->name[0]) {
killer.format = kptr->format;
+#if 0 /*JP*/
Strcpy(killer.name, kptr->name);
+#else
+ Sprintf(killer.name, "%s\82Ì\8dU\8c\82\82Å", kptr->name);
+#endif
} else {
+#if 0 /*JP*/
killer.format = NO_KILLER_PREFIX;
Strcpy(killer.name, "killed by petrification");
+#else
+ killer.format = KILLED_BY;
+ Strcpy(killer.name, "\90Î\89»\8dU\8c\82\82Å");
+#endif
}
dealloc_killer(kptr);
/* (unlike sliming, you aren't changing form here) */
Strcpy(killer.name, kptr->name);
} else {
killer.format = NO_KILLER_PREFIX;
+/*JP
Strcpy(killer.name, "turned into green slime");
+*/
+ Strcpy(killer.name, "\97Î\83X\83\89\83C\83\80\82É\82È\82Á\82½");
}
dealloc_killer(kptr);
/* involuntarily break "never changed form" conduct */
make_vomiting(0L, TRUE);
break;
case SICK:
+/*JP
You("die from your illness.");
+*/
+ You("\95a\8bC\82Å\8e\80\82ñ\82¾\81D");
if (kptr && kptr->name[0]) {
killer.format = kptr->format;
Strcpy(killer.name, kptr->name);
break;
case FAST:
if (!Very_fast)
+#if 0 /*JP*/
You_feel("yourself slowing down%s.",
Fast ? " a bit" : "");
+#else
+ You("%s\92x\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D",
+ Fast ? "\82¿\82å\82Á\82Æ" : "");
+#endif
break;
case CONFUSION:
/* So make_confused works properly */
case INVIS:
newsym(u.ux, u.uy);
if (!Invis && !BInvis && !Blind) {
+#if 0 /*JP*/
You(!See_invisible
? "are no longer invisible."
: "can no longer see through yourself.");
+#else
+ You(!See_invisible
+ ? "\82à\82¤\93§\96¾\82Å\82Í\82È\82¢\81D"
+ : "\93§\82«\82Æ\82¨\82Á\82Ä\82¢\82È\82¢\81D");
+#endif
stop_occupation();
}
break;
heal_legs();
stop_occupation();
break;
+#ifdef JPEXTENSION
+ case TOTTER:
+ Totter = 0;
+ make_totter(0L, TRUE);
+ stop_occupation();
+ break;
+#endif
case HALLUC:
set_itimeout(&HHallucination, 1L);
(void) make_hallucinated(0L, TRUE, 0L);
if (unconscious() || Sleep_resistance) {
incr_itimeout(&HSleepy, rnd(100));
} else if (Sleepy) {
+/*JP
You("fall asleep.");
+*/
+ You("\96°\82è\82É\97\8e\82¿\82½\81D");
sleeptime = rnd(20);
fall_asleep(-sleeptime, TRUE);
incr_itimeout(&HSleepy, sleeptime + rnd(100));
break;
case STRANGLED:
killer.format = KILLED_BY;
+#if 0 /*JP*/
Strcpy(killer.name,
(u.uburied) ? "suffocation" : "strangulation");
+#else
+ Strcpy(killer.name,
+ (u.uburied) ? "\92\82\91§\82µ\82Ä" : "\8eñ\82ð\8di\82ß\82ç\82ê\82Ä");
+#endif
done(DIED);
/* must be declining to die in explore|wizard mode;
treat like being cured of strangulation by prayer */
* to this number must be thoroughly play tested.
*/
if ((inv_weight() > -500)) {
+/*JP
You("make a lot of noise!");
+*/
+ You("\91å\82«\82È\89¹\82ð\82½\82Ä\82½\81I");
wake_nearby();
}
}
}
/* early wakeup from combat won't be possible until next monster turn */
u.usleep = monstermoves;
+/*JP
nomovemsg = wakeup_msg ? "You wake up." : You_can_move_again;
+*/
+ nomovemsg = wakeup_msg ? "\96Ú\82ð\8ao\82Ü\82µ\82½\81D" : You_can_move_again;
}
/* Attach an egg hatch timeout to the given egg.
boolean siblings = (hatchcount > 1), redraw = FALSE;
if (cansee_hatchspot) {
+#if 0 /*JP*/
Sprintf(monnambuf, "%s%s", siblings ? "some " : "",
siblings ? makeplural(m_monnam(mon)) : an(m_monnam(mon)));
+#else
+ Sprintf(monnambuf, "%s%s", siblings ? "\82¢\82\82Â\82©\82Ì" : "",
+ a_monnam(mon));
+#endif
/* we don't learn the egg type here because learning
an egg type requires either seeing the egg hatch
or being familiar with the egg already,
case OBJ_INVENT:
knows_egg = TRUE; /* true even if you are blind */
if (!cansee_hatchspot)
+#if 0 /*JP*/
You_feel("%s %s from your pack!", something,
locomotion(mon->data, "drop"));
+#else
+ pline("\89½\82©\82ª\82 \82È\82½\82Ì\94w\95\89\82¢\91Ü\82©\82ç%s\82æ\82¤\82È\8bC\82ª\82µ\82½\81D",
+ jpast(locomotion(mon->data, "\97\8e\82¿\82é")));
+#endif
else
+#if 0 /*JP*/
You_see("%s %s out of your pack!", monnambuf,
locomotion(mon->data, "drop"));
+#else
+ You("%s\82ª\82 \82È\82½\82Ì\94w\95\89\82¢\91Ü\82©\82ç%s\82Ì\82ð\8c©\82½\81D", monnambuf,
+ jpast(locomotion(mon->data, "\97\8e\82¿\82é")));
+#endif
if (yours) {
+#if 0 /*JP*/
pline("%s cries sound like \"%s%s\"",
siblings ? "Their" : "Its",
flags.female ? "mommy" : "daddy", egg->spe ? "." : "?");
+#else
+ pline("\82»\82ê\82Í\81w%s%s\81x\82Æ\96Â\82¢\82Ä\82¢\82é\82æ\82¤\82¾\81D",
+ flags.female ? "\83}\83}" : "\83p\83p", egg->spe ? "" : "\81H");
+#endif
} else if (mon->data->mlet == S_DRAGON && !Deaf) {
+#if 0 /*JP*/
verbalize("Gleep!"); /* Mything eggs :-) */
+#else
+ verbalize("\83u\83H\81[\81I"); /* Mything eggs :-) */
+#endif
}
break;
case OBJ_FLOOR:
if (cansee_hatchspot) {
knows_egg = TRUE;
+/*JP
You_see("%s hatch.", monnambuf);
+*/
+ You("%s\82ª\97\91\82©\82ç\82©\82¦\82é\82Ì\82ð\8c©\82½\81D", monnambuf);
redraw = TRUE; /* update egg's map location */
}
break;
if (cansee_hatchspot) {
/* egg carrying monster might be invisible */
if (canseemon(egg->ocarry)) {
+/*JP
Sprintf(carriedby, "%s pack",
+*/
+ Sprintf(carriedby, "%s\82Ì\94w\95\89\82¢\91Ü\82©\82ç",
s_suffix(a_monnam(egg->ocarry)));
knows_egg = TRUE;
} else if (is_pool(mon->mx, mon->my))
+/*JP
Strcpy(carriedby, "empty water");
+*/
+ Strcpy(carriedby, "\89½\82à\82È\82¢\90\85\92\86\82©\82ç");
else
+/*JP
Strcpy(carriedby, "thin air");
+*/
+ Strcpy(carriedby, "\89½\82à\82È\82¢\8bó\8aÔ\82©\82ç");
+#if 0 /*JP*/
You_see("%s %s out of %s!", monnambuf,
locomotion(mon->data, "drop"), carriedby);
+#else
+ You("%s\82ª%s%s\82Ì\82ð\8c©\82½\81D", monnambuf, carriedby,
+ locomotion(mon->data, "\97\8e\82¿\82é"));
+#endif
}
break;
#if 0
name; if not, look for rocks to trip over; trip over
anonymous "something" if there aren't any rocks.
*/
+#if 0 /*JP*/
what = (iflags.last_msg == PLNMSG_ONE_ITEM_HERE)
? ((otmp->quan == 1L) ? "it"
: Hallucination ? "they" : "them")
: ((otmp2 = sobj_at(ROCK, u.ux, u.uy)) == 0
? something
: (otmp2->quan == 1L ? "a rock" : "some rocks"));
+#else
+ what = (iflags.last_msg == PLNMSG_ONE_ITEM_HERE)
+ ? "\82»\82ê"
+ : (otmp->dknown || !Blind)
+ ? doname(otmp)
+ : ((otmp2 = sobj_at(ROCK, u.ux, u.uy)) == 0
+ ? something
+ : "\90Î");
+#endif
if (Hallucination) {
what = strcpy(buf, what);
buf[0] = highc(buf[0]);
+#if 0 /*JP*/
pline("Egads! %s bite%s your %s!", what,
(!otmp || otmp->quan == 1L) ? "s" : "", body_part(FOOT));
+#else
+ pline("\82®\82í\82\9f\81I%s\82ª%s\82É\8a\9a\82Ý\82Â\82¢\82½\81I", what, body_part(FOOT));
+#endif
} else {
+/*JP
You("trip over %s.", what);
+*/
+ You("%s\82É\82Â\82Ü\82Ã\82¢\82½\81D", what);
}
if (!uarmf && otmp->otyp == CORPSE
&& touch_petrifies(&mons[otmp->corpsenm]) && !Stone_resistance) {
instapetrify(killer.name);
}
} else if (rn2(3) && is_ice(u.ux, u.uy)) {
+#if 0 /*JP*/
pline("%s %s%s on the ice.",
u.usteed ? upstart(x_monnam(u.usteed,
(has_mname(u.usteed)) ? ARTICLE_NONE
(char *) 0, SUPPRESS_SADDLE, FALSE))
: "You",
rn2(2) ? "slip" : "slide", on_foot ? "" : "s");
+#else
+ pline("%s\82Í\95X\82Ì\8fã\82Å\8a\8a\82Á\82½\81D",
+ u.usteed ? upstart(x_monnam(u.usteed,
+ (has_mname(u.usteed)) ? ARTICLE_NONE
+ : ARTICLE_THE,
+ (char *) 0, SUPPRESS_SADDLE, FALSE))
+ : "\82 \82È\82½");
+#endif
} else {
if (on_foot) {
switch (rn2(4)) {
case 1:
+#if 0 /*JP*/
You("trip over your own %s.",
Hallucination ? "elbow" : makeplural(body_part(FOOT)));
+#else
+ You("\8e©\95ª\82Ì%s\82ð\93¥\82ñ\82Å\82Â\82Ü\82Ã\82¢\82½\81D",
+ Hallucination ? "\95I" : body_part(FOOT));
+#endif
break;
case 2:
+#if 0 /*JP*/
You("slip %s.",
Hallucination ? "on a banana peel" : "and nearly fall");
+#else
+ You("%s\81D", Hallucination ?
+ "\83o\83i\83i\82Ì\94ç\82Å\8a\8a\82Á\82½" : "\8a\8a\82Á\82Ä\93]\82Ñ\82»\82¤\82É\82È\82Á\82½");
+#endif
break;
case 3:
+/*JP
You("flounder.");
+*/
+ You("\82¶\82½\82Î\82½\82µ\82½\81D");
break;
default:
+/*JP
You("stumble.");
+*/
+ You("\82æ\82ë\82ß\82¢\82½\81D");
break;
}
} else {
switch (rn2(4)) {
case 1:
+#if 0 /*JP*/
Your("%s slip out of the stirrups.",
makeplural(body_part(FOOT)));
+#else
+ You("\82 \82Ô\82Ý\82ð\93¥\82Ý\8aO\82µ\82Ä\82µ\82Ü\82Á\82½\81D");
+#endif
break;
case 2:
+/*JP
You("let go of the reins.");
+*/
+ You("\8eè\8dj\82ð\95ú\82µ\82Ä\82µ\82Ü\82Á\82½\81D");
break;
case 3:
+/*JP
You("bang into the saddle-horn.");
+*/
+ You("\83T\83h\83\8b\83z\81[\83\93\82É\82Ô\82Â\82©\82Á\82Ä\82µ\82Ü\82Á\82½\81D");
break;
default:
+/*JP
You("slide to one side of the saddle.");
+*/
+ You("\82·\82×\82Á\82Ä\88Æ\82Ì\95Ð\91¤\82É\82¸\82ê\82Ä\82µ\82Ü\82Á\82½\81D");
break;
}
dismount_steed(DISMOUNT_FELL);
switch (obj->where) {
case OBJ_INVENT:
case OBJ_MINVENT:
+/*JP
pline("%s flickers%s.", Yname2(obj), tailer);
+*/
+ pline("%s\82Í%s\93_\96Å\82µ\82½\81D", Yname2(obj), tailer);
break;
case OBJ_FLOOR:
+/*JP
You_see("%s flicker%s.", an(xname(obj)), tailer);
+*/
+ You("%s\82ª%s\93_\96Å\82·\82é\82Ì\82ð\8c©\82½\81D", an(xname(obj)), tailer);
break;
}
}
/* from adventure */
switch (obj->where) {
case OBJ_INVENT:
+/*JP
Your("lantern is getting dim.");
+*/
+ Your("\83\89\83\93\83^\83\93\82Í\88Ã\82\82È\82Á\82Ä\82«\82½\81D");
if (Hallucination)
+/*JP
pline("Batteries have not been invented yet.");
+*/
+ pline("\93d\92r\82Í\82Ü\82¾\94\96¾\82³\82ê\82Ä\82È\82¢\82ñ\82¾\82Á\82¯\81D");
break;
case OBJ_FLOOR:
+/*JP
You_see("a lantern getting dim.");
+*/
+ pline("\83\89\83\93\83^\83\93\82ª\88Ã\82\82È\82Á\82Ä\82«\82½\82Ì\82ª\8c©\82¦\82½\81D");
break;
case OBJ_MINVENT:
+/*JP
pline("%s lantern is getting dim.", s_suffix(Monnam(obj->ocarry)));
+*/
+ pline("%s\82Ì\83\89\83\93\83^\83\93\82Í\88Ã\82\82È\82Á\82Ä\82«\82½\81D", Monnam(obj->ocarry));
break;
}
}
switch (obj->where) {
case OBJ_INVENT:
case OBJ_MINVENT:
+/*JP
pline("%spotion of oil has burnt away.", whose);
+*/
+ pline("%s\83I\83C\83\8b\82Í\94R\82¦\82Â\82«\82½\81D", whose);
break;
case OBJ_FLOOR:
+/*JP
You_see("a burning potion of oil go out.");
+*/
+ You("\83I\83C\83\8b\82Ì\89Î\82ª\8fÁ\82¦\82½\82Ì\82ð\8c©\82½\81D");
need_newsym = TRUE;
break;
}
lantern_message(obj);
else
see_lamp_flicker(obj,
+/*JP
obj->age == 50L ? " considerably" : "");
+*/
+ obj->age == 50L ? "\8c\83\82µ\82" : "");
}
break;
switch (obj->where) {
case OBJ_INVENT:
case OBJ_MINVENT:
+/*JP
pline("%s seems about to go out.", Yname2(obj));
+*/
+ pline("%s\82Í\8d¡\82É\82à\8fÁ\82¦\82»\82¤\82¾\81D", Yname2(obj));
break;
case OBJ_FLOOR:
+/*JP
You_see("%s about to go out.", an(xname(obj)));
+*/
+ pline("%s\82ª\8fÁ\82¦\82©\82¯\82Ä\82¢\82é\82Ì\82ª\8c©\82¦\82½\81D", an(xname(obj)));
break;
}
}
case OBJ_INVENT:
case OBJ_MINVENT:
if (obj->otyp == BRASS_LANTERN)
+/*JP
pline("%slantern has run out of power.", whose);
+*/
+ pline("%s\83\89\83\93\83^\83\93\82Ì\97Í\82ð\8eg\82¢\90Ø\82Á\82½\81D", whose);
else
+/*JP
pline("%s has gone out.", Yname2(obj));
+*/
+ pline("%s\82Í\8fÁ\82¦\82½\81D", Yname2(obj));
break;
case OBJ_FLOOR:
if (obj->otyp == BRASS_LANTERN)
+/*JP
You_see("a lantern run out of power.");
+*/
+ You("\83\89\83\93\83^\83\93\82ª\8fÁ\82¦\82é\82Ì\82ð\8c©\82½\81D");
else
+/*JP
You_see("%s go out.", an(xname(obj)));
+*/
+ You("%s\82ª\8fÁ\82¦\82é\82Ì\82ð\8c©\82½\81D", an(xname(obj)));
break;
}
}
switch (obj->where) {
case OBJ_INVENT:
case OBJ_MINVENT:
+#if 0 /*JP*/
pline("%s%scandle%s getting short.", whose,
menorah ? "candelabrum's " : "",
many ? "s are" : " is");
+#else
+ pline("%s%s\82ë\82¤\82»\82\82Í\92Z\82\82È\82Á\82½\81D", whose,
+ menorah ? "\90C\91ä\82Ì" : "");
+#endif
break;
case OBJ_FLOOR:
+#if 0 /*JP*/
You_see("%scandle%s getting short.",
menorah ? "a candelabrum's " : many ? "some "
: "a ",
many ? "s" : "");
+#else
+ You("%s\82ë\82¤\82»\82\82ª\92Z\82\82È\82é\82Ì\82ð\8c©\82½\81D",
+ menorah ? "\90C\91ä\82Ì" : "");
+#endif
break;
}
break;
switch (obj->where) {
case OBJ_INVENT:
case OBJ_MINVENT:
+#if 0 /*JP*/
pline("%s%scandle%s flame%s flicker%s low!", whose,
menorah ? "candelabrum's " : "", many ? "s'" : "'s",
many ? "s" : "", many ? "" : "s");
+#else
+ pline("%s%s\82ë\82¤\82»\82\82Ì\89\8a\82Í\93_\96Å\82µ\81C\88Ã\82\82È\82Á\82½\81I", whose,
+ menorah ? "\90C\91ä\82Ì" : "");
+#endif
break;
case OBJ_FLOOR:
+#if 0 /*JP*/
You_see("%scandle%s flame%s flicker low!",
menorah ? "a candelabrum's " : many ? "some "
: "a ",
many ? "s'" : "'s", many ? "s" : "");
+#else
+ You("%s\82ë\82¤\82»\82\82Ì\89\8a\82ª\93_\96Å\82µ\81C\88Ã\82\82È\82é\82Ì\82ð\8c©\82½\81I",
+ menorah ? "\90C\91ä\82Ì" : "");
+#endif
break;
}
break;
switch (obj->where) {
case OBJ_INVENT:
case OBJ_MINVENT:
+#if 0 /*JP*/
pline("%scandelabrum's flame%s.", whose,
many ? "s die" : " dies");
+#else
+ pline("%s\90C\91ä\82Ì\89\8a\82Í\8fÁ\82¦\82½\81D", whose);
+#endif
break;
case OBJ_FLOOR:
+#if 0 /*JP*/
You_see("a candelabrum's flame%s die.",
many ? "s" : "");
+#else
+ You("\90C\91ä\82Ì\89\8a\82ª\8fÁ\82¦\82é\82Ì\82ð\8c©\82½\81D");
+#endif
break;
}
} else {
switch (obj->where) {
case OBJ_INVENT:
case OBJ_MINVENT:
+#if 0 /*JP*/
pline("%s %s consumed!", Yname2(obj),
many ? "are" : "is");
+#else
+ pline("%s\82Í\94R\82¦\82Â\82«\82½\81I", Yname2(obj));
+#endif
break;
case OBJ_FLOOR:
/*
You see some wax candles consumed!
You see a wax candle consumed!
*/
+#if 0 /*JP*/
You_see("%s%s consumed!", many ? "some " : "",
many ? xname(obj) : an(xname(obj)));
+#else
+ You("%s\82ª\94R\82¦\82Â\82«\82é\82Ì\82ð\8c©\82½\81I", xname(obj));
+#endif
need_newsym = TRUE;
break;
}
/* post message */
+#if 0 /*JP*/
pline(Hallucination
? (many ? "They shriek!" : "It shrieks!")
: Blind ? "" : (many ? "Their flames die."
: "Its flame dies."));
+#else
+ pline(Hallucination ? "\82»\82ê\82Í\90k\82¦\82½\81D"
+ : Blind ? ""
+ : "\89\8a\82Í\8fÁ\82¦\82½\81D");
+#endif
}
}
end_burn(obj, FALSE);
if (levl[u.ux][u.uy].typ == CLOUD) {
/* Inside a cloud during a thunder storm is deafening. */
/* Even if already deaf, we sense the thunder's vibrations. */
+/*JP
pline("Kaboom!!! Boom!! Boom!!");
+*/
+ pline("\83s\83J\83b\81I\81I\83S\83\8d\83S\83\8d\83S\83\8d\83S\83\8d\81I\81I\83h\81[\83\93\81I");
incr_itimeout(&HDeaf, rn1(20, 30));
if (!u.uinvulnerable) {
stop_occupation();
nomovemsg = 0;
}
} else
+/*JP
You_hear("a rumbling noise.");
+*/
+ You_hear("\97\8b\82Ì\89¹\82ð\95·\82¢\82½\81D");
}
/* -------------------------------------------------------------------------
{
static NEARDATA const char *const killed_by_prefix[] = {
/* DIED, CHOKING, POISONING, STARVING, */
+/*JP
"killed by ", "choked on ", "poisoned by ", "died of ",
+*/
+ "\8e\80\82ñ\82¾", "\82Å\92\82\91§\82µ\82½", "\82Ì\93Å\82Å\8e\80\82ñ\82¾", "",
/* DROWNING, BURNING, DISSOLVED, CRUSHING, */
+/*JP
"drowned in ", "burned by ", "dissolved in ", "crushed to death by ",
+*/
+ "\93M\8e\80\82µ\82½","\8fÄ\8e\80\82µ\82½", "\97n\8aâ\82É\97n\82¯\82½", "\89\9f\82µ\92×\82³\82ê\82½",
/* STONING, TURNED_SLIME, GENOCIDED, */
+/*JP
"petrified by ", "turned to slime by ", "killed by ",
+*/
+ "\90Î\82É\82È\82Á\82½", "\82É\83X\83\89\83C\83\80\82É\82³\82ê\82½", "\8bs\8eE\82³\82ê\82½",
/* PANICKED, TRICKED, QUIT, ESCAPED, ASCENDED */
"", "", "", "", ""
};
char *kname = killer.name;
buf[0] = '\0'; /* so strncat() can find the end */
+#if 1 /*JP*//*\90æ\82É\91Î\8fÛ\82ð\83R\83s\81[*/
+ strncat(buf, kname, siz - 1);
+ siz -= strlen(buf);
+#endif
switch (killer.format) {
default:
impossible("bad killer format? (%d)", killer.format);
case NO_KILLER_PREFIX:
break;
case KILLED_BY_AN:
+#if 0 /*JP*//*\93ú\96{\8cê\82Å\82Í\95s\97v*/
kname = an(kname);
+#endif
/*FALLTHRU*/
case KILLED_BY:
+#if 0 /*JP*/
(void) strncat(buf, killed_by_prefix[how], siz - 1);
l = strlen(buf);
buf += l, siz -= l;
+#else /*JP:\8aù\82É\91Î\8fÛ\82ð\83R\83s\81[\82µ\82Ä\82¢\82é\82Ì\82Å\92P\82É\92Ç\89Á*/
+ (void) strncat(buf, killed_by_prefix[how], siz - 1);
+#endif
break;
+#if 1 /*JP*/
+ case KILLED_SUFFIX:
+ (void) strncat(buf, "\82É\8eE\82³\82ê\82½", siz - 1);
+#endif
}
+#if 0 /*JP*//*\8aù\82É\83R\83s\81[\8dÏ\82Ý*/
/* we're writing into buf[0] (after possibly advancing buf) rather than
appending, but strncat() appends a terminator and strncpy() doesn't */
(void) strncat(buf, kname, siz - 1);
+#endif
}
STATIC_OVL void
char pbuf[BUFSZ];
topten_print("");
Sprintf(pbuf,
+#if 0 /*JP*/
"Since you were in %s mode, the score list will not be checked.",
wizard ? "wizard" : "discover");
+#else
+ "%s\83\82\81[\83h\82Å\83v\83\8c\83C\82µ\82½\82Ì\82Å\83X\83R\83A\83\8a\83X\83g\82É\82Í\8dÚ\82ç\82È\82¢\81D",
+ wizard ? "\83E\83B\83U\81[\83h" : "\94\8c©");
+#endif
topten_print(pbuf);
}
goto showwin;
char pbuf[BUFSZ];
Sprintf(pbuf,
+/*JP
"You didn't beat your previous score of %ld points.",
+*/
+ "\82 \82È\82½\82Í\88È\91O\82Ì%ld\83|\83C\83\93\83g\82Ì\83X\83R\83A\82É\93Í\82©\82È\82©\82Á\82½\81D",
t1->points);
topten_print(pbuf);
topten_print("");
if (!done_stopprint)
if (rank0 > 0) {
if (rank0 <= 10) {
+/*JP
topten_print("You made the top ten list!");
+*/
+ topten_print("\82 \82È\82½\82Í\83g\83b\83v10\83\8a\83X\83g\82É\8dÚ\82Á\82½\81I");
} else {
char pbuf[BUFSZ];
+#if 0 /*JP*/
Sprintf(pbuf,
"You reached the %d%s place on the top %d list.",
rank0, ordin(rank0), sysopt.entrymax);
+#else
+ Sprintf(pbuf,
+ "\82 \82È\82½\82Í\81C\83g\83b\83v%d\83\8a\83X\83g\82Ì%d\88Ê\82É\8dÚ\82Á\82½\81D",
+ sysopt.entrymax, rank0);
+#endif
topten_print(pbuf);
}
topten_print("");
char linebuf[BUFSZ];
char *bp, hpbuf[24], linebuf3[BUFSZ];
int hppos, lngr;
+#if 1 /*JP*/
+ char who[BUFSZ];
+ char where[BUFSZ];
+ char action[BUFSZ];
+ char car[BUFSZ];
+ char cdr[BUFSZ];
+ const char *jdeath;
+#endif
+#if 1 /*JP*/
+ who[0] = '\0';
+ where[0] = '\0';
+ action[0] = '\0';
+#endif
linebuf[0] = '\0';
if (rank)
Sprintf(eos(linebuf), "%3d", rank);
*/
Sprintf(eos(linebuf), "-%s", t1->plgend);
if (t1->plalign[0] != '?')
+/*JP
Sprintf(eos(linebuf), "-%s ", t1->plalign);
+*/
+ Sprintf(eos(linebuf), "-%s", t1->plalign);
else
+/*JP
Strcat(linebuf, " ");
+*/
+ Strcat(linebuf, "");
+#if 1 /*JP*/
+ Strcat(linebuf, "\82Í");
+/*JP: \93ú\96{\8cê\82Å\82Í\81u\81\9b\81\9b\82ð\8eè\82É\81v\82ð\90æ\82É\92Ç\89Á\82µ\82È\82¢\82Æ\95s\8e©\91R */
+ jdeath = t1->death;
+ if (!strncmp(jdeath, "\96\82\8f\9c\82¯\82ð\8eè\82É", 12))
+ jdeath += 12;
+ else if (!strncmp(jdeath, "\93V\8fã\82Å\92p\90J\82ð\8eó\82¯", 16))
+ jdeath += 16;
+ else if (!strncmp(jdeath, "\8bU\95¨\82Ì\96\82\8f\9c\82¯\82ð\92Í\82Ü\82³\82ê", 24))
+ jdeath += 24;
+#endif
+#if 0 /*JP*/
if (!strncmp("escaped", t1->death, 7)) {
Sprintf(eos(linebuf), "escaped the dungeon %s[max level %d]",
!strncmp(" (", t1->death + 7, 2) ? t1->death + 7 + 2 : "",
/* fixup for closing paren in "escaped... with...Amulet)[max..." */
if ((bp = index(linebuf, ')')) != 0)
*bp = (t1->deathdnum == astral_level.dnum) ? '\0' : ' ';
+#else
+ if (!strncmp("\92E\8fo\82µ\82½", jdeath, 8)
+ || !strncmp("escaped", jdeath, 7)) {
+ char jbuf[BUFSZ];
+ strncpy(jbuf, t1->death, jdeath - t1->death);
+ jbuf[jdeath - t1->death] = '\0';
+ Sprintf(action, "%s\96À\8b{\82©\82ç\92E\8fo\82µ\82½[\8dÅ\91å\92n\89º%d\8aK]",
+ jbuf, t1->maxlvl);
+#endif
second_line = FALSE;
+#if 0 /*JP*/
} else if (!strncmp("ascended", t1->death, 8)) {
+#else
+ } else if (!strncmp("\8f¸\93V\82µ\82½", jdeath, 8)
+ || !strncmp("ascended", jdeath, 8)) {
+#endif
+#if 0 /*JP:T*/
Sprintf(eos(linebuf), "ascended to demigod%s-hood",
(t1->plgend[0] == 'F') ? "dess" : "");
+#else
+ Sprintf(action, "\8f¸\93V\82µ%s\90_\82Æ\82È\82Á\82½",
+ (t1->plgend[0] == 'F') ? "\8f\97" : "");
+#endif
second_line = FALSE;
} else {
+/*JP
if (!strncmp(t1->death, "quit", 4)) {
+*/
+ if (!strncmp(jdeath, "\94²\82¯\82½", 4)) {
+#if 0 /*JP*/
Strcat(linebuf, "quit");
+#else
+ Strcat(action, t1->death);
+#endif
second_line = FALSE;
+#if 1 /*JP*/
+ }
+#else
} else if (!strncmp(t1->death, "died of st", 10)) {
Strcat(linebuf, "starved to death");
second_line = FALSE;
Strcat(linebuf, "turned to stone");
} else
Strcat(linebuf, "died");
+#endif /*JP*/
if (t1->deathdnum == astral_level.dnum) {
const char *arg, *fmt = " on the Plane of %s";
switch (t1->deathlev) {
case -5:
+#if 0 /*JP*/
fmt = " on the %s Plane";
+#endif
+/*JP
arg = "Astral";
+*/
+ arg = "\93V\8fã\8aE";
break;
case -4:
+/*JP
arg = "Water";
+*/
+ arg = "\90\85\82Ì\90¸\97ì\8aE";
break;
case -3:
+/*JP
arg = "Fire";
+*/
+ arg = "\89Î\82Ì\90¸\97ì\8aE";
break;
case -2:
+/*JP
arg = "Air";
+*/
+ arg = "\95\97\82Ì\90¸\97ì\8aE";
break;
case -1:
+/*JP
arg = "Earth";
+*/
+ arg = "\92n\82Ì\90¸\97ì\8aE";
break;
default:
arg = "Void";
break;
}
+#if 0 /*JP*/
Sprintf(eos(linebuf), fmt, arg);
+#else
+ Sprintf(where, "%s\82É\82Ä", arg);
+#endif
} else {
+/*JP
Sprintf(eos(linebuf), " in %s", dungeons[t1->deathdnum].dname);
+*/
+ Sprintf(eos(linebuf), "%s", dungeons[t1->deathdnum].dname);
if (t1->deathdnum != knox_level.dnum)
+/*JP
Sprintf(eos(linebuf), " on level %d", t1->deathlev);
+*/
+ Sprintf(eos(linebuf), "\82Ì\92n\89º%d\8aK\82É\82Ä", t1->deathlev);
if (t1->deathlev != t1->maxlvl)
+/*JP
Sprintf(eos(linebuf), " [max %d]", t1->maxlvl);
+*/
+ Sprintf(eos(where), "[\8dÅ\91å\92n\89º%d\8aK]", t1->maxlvl);
}
/* kludge for "quit while already on Charon's boat" */
if (!strncmp(t1->death, "quit ", 5))
Strcat(linebuf, t1->death + 4);
}
+#if 0 /*JP*/
Strcat(linebuf, ".");
+#endif
/* Quit, starved, ascended, and escaped contain no second line */
if (second_line)
+/*JP
Sprintf(eos(linebuf), " %c%s.", highc(*(t1->death)), t1->death + 1);
+*/
+ Sprintf(action, "%s", t1->death);
+#if 1 /*JP*/
+ Sprintf(eos(linebuf), "%s%s%s\81D", who, where, action);
+#endif
lngr = (int) strlen(linebuf);
if (t1->hp <= 0)
hpbuf[0] = '-', hpbuf[1] = '\0';
Sprintf(hpbuf, "%d", t1->hp);
/* beginning of hp column after padding (not actually padded yet) */
hppos = COLNO - (sizeof(" Hp [max]") - 1); /* sizeof(str) includes \0 */
+#if 1 /*JP*/
+ while(lngr >= hppos ){
+/*JP hppos\82æ\82è\91O\82Ì\93K\93\96\82È\88Ê\92u\82Å\95ª\8a\84\82·\82é\81D*/
+ car[0] = '\0';
+ cdr[0] = '\0';
+ split_japanese(linebuf, car, cdr, hppos);
+
+ bp = eos(car);
+ if (so) {
+ while (bp < car + (COLNO-1)) *bp++ = ' ';
+ *bp = 0;
+ topten_print_bold(car);
+ } else
+ topten_print(car);
+
+ Sprintf(linebuf, "%15s %s", "", cdr);
+ lngr = (int)strlen(linebuf);
+ }
+/*JP: \93ú\96{\8cê\82ª\93ü\82é\82Æ\95¶\8e\9a\97ñ\82ð\8cã\82©\82ç\8c©\82Ä\82¢\82\82±\82Æ\82Í\82Å\82«\82È\82¢\82½\82ß\83R\83\81\83\93\83g\83A\83E\83g*/
+#else
while (lngr >= hppos) {
for (bp = eos(linebuf); !(*bp == ' ' && (bp - linebuf < hppos)); bp--)
;
Sprintf(linebuf, "%15s %s", "", linebuf3);
lngr = strlen(linebuf);
}
+#endif /*JP*/
/* beginning of hp column not including padding */
hppos = COLNO - 7 - (int) strlen(hpbuf);
bp = eos(linebuf);
/* 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"
extern const char *const destroy_strings[][3]; /* from zap.c */
/* mintrap() should take a flags argument, but for time being we use this */
STATIC_VAR int force_mintrap = 0;
+#if 0 /*JP*/
STATIC_VAR const char *const a_your[2] = { "a", "your" };
STATIC_VAR const char *const A_Your[2] = { "A", "Your" };
STATIC_VAR const char tower_of_flame[] = "tower of flame";
STATIC_VAR const char *const A_gush_of_water_hits = "A gush of water hits";
+#endif
+#if 0 /*JP*/
STATIC_VAR const char *const blindgas[6] = { "humid", "odorless",
"pungent", "chilling",
"acrid", "biting" };
+#else
+STATIC_VAR const char * const blindgas[6] = {
+ "\82Þ\82µ\82Þ\82µ\82·\82é", "\96³\8fL\82Ì",
+ "\8eh\8c\83\8fL\82Ì\82·\82é", "\97â\82½\82¢",
+ "\83c\83\93\82Æ\82µ\82½\82É\82¨\82¢\82Ì", "\82Ð\82è\82Ð\82è\82·\82é"
+ };
+#endif
+#if 1 /*JP*/
+const char *set_you[2] = { "", "\82 \82È\82½\82Ì\8ed\8a|\82¯\82½" };
+STATIC_VAR const char *dig_you[2] = { "", "\82 \82È\82½\82ª\8c@\82Á\82½" };
+STATIC_VAR const char *web_you[2] = { "", "\82 \82È\82½\82ª\92£\82Á\82½" };
+#endif
/* called when you're hit by fire (dofiretrap,buzz,zapyourself,explode);
returns TRUE if hit on torso */
item = hitting_u ? uarmh : which_armor(victim, W_ARMH);
if (item) {
mat_idx = objects[item->otyp].oc_material;
+#if 0 /*JP*/
Sprintf(buf, "%s %s", materialnm[mat_idx],
helm_simple_name(item));
+#else
+ Sprintf(buf, "%s\82Ì%s", materialnm[mat_idx],
+ helm_simple_name(item));
+#endif
}
+/*JP
if (!burn_dmg(item, item ? buf : "helmet"))
+*/
+ if (!burn_dmg(item, item ? buf : "\8a\95"))
continue;
break;
case 1:
}
item = hitting_u ? uarmu : which_armor(victim, W_ARMU);
if (item)
+/*JP
(void) burn_dmg(item, "shirt");
+*/
+ (void) burn_dmg(item, "\83V\83\83\83c");
return TRUE;
case 2:
item = hitting_u ? uarms : which_armor(victim, W_ARMS);
+/*JP
if (!burn_dmg(item, "wooden shield"))
+*/
+ if (!burn_dmg(item, "\96Ø\82Ì\8f\82"))
continue;
break;
case 3:
item = hitting_u ? uarmg : which_armor(victim, W_ARMG);
+/*JP
if (!burn_dmg(item, "gloves"))
+*/
+ if (!burn_dmg(item, "\8f¬\8eè"))
continue;
break;
case 4:
item = hitting_u ? uarmf : which_armor(victim, W_ARMF);
+/*JP
if (!burn_dmg(item, "boots"))
+*/
+ if (!burn_dmg(item, "\8cC"))
continue;
break;
}
int type;
int ef_flags;
{
+#if 0 /*JP*/
static NEARDATA const char *const action[] = { "smoulder", "rust", "rot",
"corrode" };
+#else
+ static NEARDATA const char * const action[] = {
+ "\82\82·\82Ô\82Á\82½", "\8eK\82Ñ\82½", "\95\85\82Á\82½", "\95\85\90H\82µ\82½" };
+#endif
+#if 0 /*JP*/
static NEARDATA const char *const msg[] = { "burnt", "rusted", "rotten",
"corroded" };
+#else
+ static NEARDATA const char * const msg[] = {
+ "\8fÅ\82°\82½", "\8eK\82Ñ\82½", "\95\85\82Á\82½", "\95\85\90H\82µ\82½" };
+#endif
boolean vulnerable = FALSE;
boolean is_primary = TRUE;
boolean check_grease = ef_flags & EF_GREASE;
} else if (!vulnerable || (otmp->oerodeproof && otmp->rknown)) {
if (print && flags.verbose) {
if (victim == &youmonst)
+/*JP
Your("%s %s not affected.", ostr, vtense(ostr, "are"));
+*/
+ Your("%s\82Í\89e\8b¿\82ð\8eó\82¯\82È\82©\82Á\82½\81D",ostr);
else if (vismon)
+#if 0 /*JP*/
pline("%s %s %s not affected.", s_suffix(Monnam(victim)),
ostr, vtense(ostr, "are"));
+#else
+ pline("%s\82Ì%s\82Í\89e\8b¿\82ð\8eó\82¯\82È\82©\82Á\82½\81D", Monnam(victim),
+ ostr);
+#endif
}
return ER_NOTHING;
} else if (otmp->oerodeproof || (otmp->blessed && !rnl(4))) {
if (flags.verbose && (print || otmp->oerodeproof)) {
if (victim == &youmonst)
+#if 0 /*JP*/
pline("Somehow, your %s %s not affected.", ostr,
vtense(ostr, "are"));
+#else
+ pline("\82È\82º\82©\81C%s\82Í\89e\8b¿\82ð\8eó\82¯\82È\82©\82Á\82½\81D",ostr);
+#endif
else if (vismon)
+#if 0 /*JP*/
pline("Somehow, %s %s %s not affected.",
s_suffix(mon_nam(victim)), ostr, vtense(ostr, "are"));
+#else
+ pline("\82È\82º\82©\81C%s\82Ì%s\82Í\89e\8b¿\82ð\8eó\82¯\82È\82©\82Á\82½\81D",
+ mon_nam(victim), ostr);
+#endif
else if (visobj)
pline("Somehow, the %s %s not affected.", ostr,
vtense(ostr, "are"));
return ER_NOTHING;
} else if (erosion < MAX_ERODE) {
+#if 0 /*JP*/
const char *adverb = (erosion + 1 == MAX_ERODE)
? " completely"
: erosion ? " further" : "";
+#else
+ const char *adverb = (erosion + 1 == MAX_ERODE)
+ ? "\8a®\91S\82É"
+ : erosion ? "\82³\82ç\82É" : "";
+#endif
if (victim == &youmonst)
+/*JP
Your("%s %s%s!", ostr, vtense(ostr, action[type]), adverb);
+*/
+ pline("%s\82Í%s%s\81I", ostr, adverb, action[type]);
else if (vismon)
+#if 0 /*JP*/
pline("%s %s %s%s!", s_suffix(Monnam(victim)), ostr,
vtense(ostr, action[type]), adverb);
+#else
+ pline("%s\82Ì%s\82Í%s%s\81I", Monnam(victim), ostr,
+ adverb, action[type]);
+#endif
else if (visobj)
+/*JP
pline("The %s %s%s!", ostr, vtense(ostr, action[type]), adverb);
+*/
+ pline("%s\82Í%s%s\81I", ostr, adverb, action[type]);
if (ef_flags & EF_PAY)
costly_alteration(otmp, cost_type);
} else {
if (flags.verbose && print) {
if (victim == &youmonst)
+#if 0 /*JP*/
Your("%s %s completely %s.", ostr,
vtense(ostr, Blind ? "feel" : "look"), msg[type]);
+#else
+ Your("%s\82Í\8a®\91S\82É%s%s\81D", ostr,
+ msg[type], Blind ? "\82æ\82¤\82¾" : "");
+#endif
else if (vismon)
+#if 0 /*JP*/
pline("%s %s %s completely %s.", s_suffix(Monnam(victim)),
ostr, vtense(ostr, "look"), msg[type]);
+#else
+ pline("%s\82Ì%s\82Í\8a®\91S\82É%s\81D", Monnam(victim),
+ ostr, msg[type]);
+#endif
else if (visobj)
+#if 0 /*JP*/
pline("The %s %s completely %s.", ostr, vtense(ostr, "look"),
msg[type]);
+#else
+ pline("%s\82Í\8a®\91S\82É%s\81D", ostr, msg[type]);
+#endif
}
return ER_NOTHING;
}
const char *ostr;
struct monst *victim;
{
+/*JP
static const char txt[] = "protected by the layer of grease!";
+*/
+ static const char txt[] = "\96û\82Ì\93h\82è\82±\82Ý\82É\82æ\82Á\82Ä\8eç\82ç\82ê\82Ä\82¢\82é\81I";
boolean vismon = victim && (victim != &youmonst) && canseemon(victim);
if (ostr) {
if (victim == &youmonst)
+/*JP
Your("%s %s %s", ostr, vtense(ostr, "are"), txt);
+*/
+ Your("%s\82Í%s", ostr, txt);
else if (vismon)
+#if 0 /*JP*/
pline("%s's %s %s %s", Monnam(victim),
ostr, vtense(ostr, "are"), txt);
+#else
+ pline("%s\82Ì%s\82Í%s", Monnam(victim), ostr, txt);
+#endif
} else if (victim == &youmonst || vismon) {
+/*JP
pline("%s %s", Yobjnam2(otmp, "are"), txt);
+*/
+ Your("%s\82Í%s",xname(otmp), txt);
}
if (!rn2(2)) {
otmp->greased = 0;
if (carried(otmp)) {
+/*JP
pline_The("grease dissolves.");
+*/
+ pline("\96û\82Í\82Í\82°\82Ä\82µ\82Ü\82Á\82½\81D");
update_inventory();
}
return TRUE;
feeltrap(t);
if (!Sokoban) {
if (t->ttyp == TRAPDOOR)
+/*JP
pline("A trap door opens up under you!");
+*/
+ pline("\97\8e\82µ\94à\82ª\82 \82È\82½\82Ì\91«\8c³\82É\8aJ\82¢\82½\81I");
else
+/*JP
pline("There's a gaping hole under you!");
+*/
+ pline("\82 \82È\82½\82Ì\91«\89º\82É\82Û\82Á\82©\82è\82Æ\8c\8a\82ª\8aJ\82¢\82Ä\82¢\82é\81I");
}
} else
+/*JP
pline_The("%s opens up under you!", surface(u.ux, u.uy));
+*/
+ pline("\91«\8c³\82Ì%s\82É\8c\8a\82ª\8aJ\82¢\82½\81I", surface(u.ux,u.uy));
if (Sokoban && Can_fall_thru(&u.uz))
; /* KMH -- You can't escape the Sokoban level traps */
|| (!Can_fall_thru(&u.uz) && !levl[u.ux][u.uy].candig) || Flying
|| is_clinger(youmonst.data)
|| (Inhell && !u.uevent.invoked && newlevel == bottom)) {
+/*JP
dont_fall = "don't fall in.";
+*/
+ dont_fall = "\82µ\82©\82µ\82 \82È\82½\82Í\97\8e\82¿\82È\82©\82Á\82½\81D";
} else if (youmonst.data->msize >= MZ_HUGE) {
+/*JP
dont_fall = "don't fit through.";
+*/
+ dont_fall = "\92Ê\82è\94²\82¯\82é\82É\82Í\83T\83C\83Y\82ª\8d\87\82í\82È\82¢\81D";
} else if (!next_to_u()) {
+/*JP
dont_fall = "are jerked back by your pet!";
+*/
+ dont_fall = "\82 \82È\82½\82Í\83y\83b\83g\82É\82æ\82Á\82Ä\88ø\82Á\82Ï\82è\82à\82Ç\82³\82ê\82½\81I";
}
if (dont_fall) {
+#if 0 /*JP*//*\81u\82 \82È\82½\82Í\81v\82Å\8en\82Ü\82ç\82È\82¢\82à\82Ì\82à\82 \82é*/
You1(dont_fall);
+#else
+ pline1(dont_fall);
+#endif
/* hero didn't fall through, but any objects here might */
impact_drop((struct obj *) 0, u.ux, u.uy, 0);
if (!td) {
display_nhwindow(WIN_MESSAGE, FALSE);
+/*JP
pline_The("opening under you closes up.");
+*/
+ pline_The("\91«\89º\82É\8aJ\82¢\82Ä\82¢\82½\82à\82Ì\82Í\95Â\82¶\82½\81D");
}
return;
}
dtmp.dnum = u.uz.dnum;
dtmp.dlevel = newlevel;
if (dist > 1)
+#if 0 /*JP*/
You("fall down a %s%sshaft!", dist > 3 ? "very " : "",
dist > 2 ? "deep " : "");
+#else
+ You("%s%s\8c\8a\82Ì\92\86\82ð\97\8e\82¿\82Ä\82¢\82Á\82½\81I", dist > 3 ? "\82Æ\82Ä\82à" : "",
+ dist > 2 ? "\90[\82¢" : "");
+#endif
}
if (!td)
+/*JP
Sprintf(msgbuf, "The hole in the %s above you closes up.",
+*/
+ Sprintf(msgbuf, "%s\82É\8aJ\82¢\82½\8c\8a\82Í\95Â\82¶\82½\81D",
ceiling(u.ux, u.uy));
schedule_goto(&dtmp, FALSE, TRUE, 0, (char *) 0,
const char *comes_to_life;
char statuename[BUFSZ], tmpbuf[BUFSZ];
static const char historic_statue_is_gone[] =
+/*JP
"that the historic statue is now gone";
-
+*/
+ "\97ð\8ej\93I\82È\92¤\91\9c\82ª\82È\82\82È\82Á\82Ä\82µ\82Ü\82Á\82½\82±\82Æ";
if (cant_revive(&mnum, TRUE, statue)) {
/* mnum has changed; we won't be animating this statue as itself */
if (mnum != PM_DOPPELGANGER)
set_malign(mon);
}
+#if 0 /*JP*/
comes_to_life = !canspotmon(mon)
? "disappears"
: golem_xform
: (nonliving(mon->data) || is_vampshifter(mon))
? "moves"
: "comes to life";
+#else
+ comes_to_life = !canspotmon(mon)
+ ? "\8fÁ\82¦"
+ : golem_xform
+ ? "\93÷\91Ì\82É\96ß\82Á"
+ : (nonliving(mon->data) || is_vampshifter(mon))
+ ? "\93®\82¢"
+ : "\90¶\96½\82ð\91Ñ\82Ñ";
+#endif
if ((x == u.ux && y == u.uy) || cause == ANIMATE_SPELL) {
/* "the|your|Manlobbi's statue [of a wombat]" */
shkp = shop_keeper(*in_rooms(mon->mx, mon->my, SHOPBASE));
+#if 0 /*JP*/
Sprintf(statuename, "%s%s", shk_your(tmpbuf, statue),
(cause == ANIMATE_SPELL
/* avoid "of a shopkeeper" if it's Manlobbi himself
&& (mon != shkp || carried(statue)))
? xname(statue)
: "statue");
+#else
+ Sprintf(statuename, "%s%s", shk_your(tmpbuf, statue),
+ (cause == ANIMATE_SPELL
+ && (mon != shkp || carried(statue)))
+ ? xname(statue)
+ : "\92¤\91\9c");
+#endif
+/*JP
pline("%s %s!", upstart(statuename), comes_to_life);
+*/
+ pline("%s\82Í%s\82½\81I", upstart(statuename), comes_to_life);
} else if (Hallucination) { /* They don't know it's a statue */
+/*JP
pline_The("%s suddenly seems more animated.", rndmonnam((char *) 0));
+*/
+ pline_The("%s\82Í\93Ë\91R\82æ\82è\8a\88\93®\93I\82É\82È\82Á\82½\81D", rndmonnam((char *) 0));
} else if (cause == ANIMATE_SHATTER) {
if (cansee(x, y))
Sprintf(statuename, "%s%s", shk_your(tmpbuf, statue),
xname(statue));
else
+/*JP
Strcpy(statuename, "a statue");
+*/
+ Strcpy(statuename, "\92¤\91\9c");
+#if 0 /*JP*/
pline("Instead of shattering, %s suddenly %s!", statuename,
comes_to_life);
+#else
+ pline("%s\82Í\8dÓ\82¯\82¸\82É%s\82½\81I", statuename,
+ comes_to_life);
+#endif
} else { /* cause == ANIMATE_NORMAL */
+/*JP
You("find %s posing as a statue.",
+*/
+ You("%s\82ª\92¤\91\9c\82Ì\82Ó\82è\82ð\82µ\82Ä\82¢\82é\82Ì\82ð\8c©\82Â\82¯\82½\81D",
canspotmon(mon) ? a_monnam(mon) : something);
if (!canspotmon(mon) && Blind)
map_invisible(x, y);
FALSE);
if (historic) {
+/*JP
You_feel("guilty %s.", historic_statue_is_gone);
+*/
+ You_feel("%s\82É\8dß\82ð\8a´\82¶\82½\81D", historic_statue_is_gone);
adjalign(-1);
}
} else {
if (historic && cansee(x, y))
+/*JP
You_feel("regret %s.", historic_statue_is_gone);
+*/
+ You_feel("%s\82ð\8cã\89÷\82µ\82½\81D", historic_statue_is_gone);
/* no alignment penalty */
}
* reason why the player cannot escape the trap with a dexterity
* check, clinging to the ceiling, etc.
*/
+#if 0 /*JP*/
pline("Air currents pull you down into %s %s!",
a_your[trap->madeby_u],
defsyms[trap_to_defsym(ttype)].explanation);
+#else
+ pline("\8bó\8bC\82Ì\97¬\82ê\82ª\82 \82È\82½\82ð%s\82É\88ø\82«\96ß\82µ\82½\81I",
+ defsyms[trap_to_defsym(ttype)].explanation);
+#endif
/* then proceed to normal trap effect */
} else if (already_seen && !forcetrap) {
if ((Levitation || (Flying && !plunged))
&& (ttype == PIT || ttype == SPIKED_PIT || ttype == HOLE
|| ttype == BEAR_TRAP)) {
+#if 0 /*JP*/
You("%s over %s %s.", Levitation ? "float" : "fly",
a_your[trap->madeby_u],
defsyms[trap_to_defsym(ttype)].explanation);
+#else
+ You("%s%s\82Ì\8fã%s\81D",
+ set_you[trap->madeby_u],
+ defsyms[trap_to_defsym(ttype)].explanation,
+ Levitation ? "\82ð\8c©\89º\82ë\82µ\82½" : "\82ð\94ò\82ñ\82Å\82¢\82é");
+#endif
return;
}
if (!Fumbling && ttype != MAGIC_PORTAL && ttype != VIBRATING_SQUARE
&& ttype != ANTI_MAGIC && !forcebungle && !plunged && !adj_pit
&& (!rn2(5) || ((ttype == PIT || ttype == SPIKED_PIT)
&& is_clinger(youmonst.data)))) {
+#if 0 /*JP:T*/
You("escape %s %s.", (ttype == ARROW_TRAP && !trap->madeby_u)
? "an"
: a_your[trap->madeby_u],
defsyms[trap_to_defsym(ttype)].explanation);
+#else
+ You("%s%s\82ð\82·\82é\82è\82Æ\94ð\82¯\82½\81D",
+ set_you[trap->madeby_u],
+ defsyms[trap_to_defsym(ttype)].explanation);
+#endif
return;
}
}
switch (ttype) {
case ARROW_TRAP:
if (trap->once && trap->tseen && !rn2(15)) {
+/*JP
You_hear("a loud click!");
+*/
+ You_hear("\83K\83`\83\83\83b\82Æ\82¢\82¤\91å\82«\82È\89¹\82ð\95·\82¢\82½\81I");
deltrap(trap);
newsym(u.ux, u.uy);
break;
}
trap->once = 1;
seetrap(trap);
+/*JP
pline("An arrow shoots out at you!");
+*/
+ pline("\96î\82ª\94ò\82ñ\82Å\82«\82½\81I");
otmp = mksobj(ARROW, TRUE, FALSE);
otmp->quan = 1L;
otmp->owt = weight(otmp);
otmp->opoisoned = 0;
if (u.usteed && !rn2(2) && steedintrap(trap, otmp)) { /* nothing */
;
+/*JP
} else if (thitu(8, dmgval(otmp, &youmonst), otmp, "arrow")) {
+*/
+ } else if (thitu(8, dmgval(otmp, &youmonst), otmp, "\96î")) {
obfree(otmp, (struct obj *) 0);
} else {
place_object(otmp, u.ux, u.uy);
case DART_TRAP:
if (trap->once && trap->tseen && !rn2(15)) {
+/*JP
You_hear("a soft click.");
+*/
+ You_hear("\83J\83`\83b\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
deltrap(trap);
newsym(u.ux, u.uy);
break;
}
trap->once = 1;
seetrap(trap);
+/*JP
pline("A little dart shoots out at you!");
+*/
+ pline("\8f¬\82³\82È\93\8a\82°\96î\82ª\94ò\82ñ\82Å\82«\82½\81I");
otmp = mksobj(DART, TRUE, FALSE);
otmp->quan = 1L;
otmp->owt = weight(otmp);
oldumort = u.umortality;
if (u.usteed && !rn2(2) && steedintrap(trap, otmp)) { /* nothing */
;
+/*JP
} else if (thitu(7, dmgval(otmp, &youmonst), otmp, "little dart")) {
+*/
+ } else if (thitu(7, dmgval(otmp, &youmonst), otmp, "\93\8a\82°\96î")) {
if (otmp->opoisoned)
+#if 0 /*JP*/
poisoned("dart", A_CON, "little dart",
/* if damage triggered life-saving,
poison is limited to attrib loss */
(u.umortality > oldumort) ? 0 : 10, TRUE);
+#else
+ poisoned("\93\8a\82°\96î", A_CON, "\8f¬\82³\82È\93\8a\82°\96î",
+ /* if damage triggered life-saving,
+ poison is limited to attrib loss */
+ (u.umortality > oldumort) ? 0 : 10, TRUE);
+#endif
obfree(otmp, (struct obj *) 0);
} else {
place_object(otmp, u.ux, u.uy);
case ROCKTRAP:
if (trap->once && trap->tseen && !rn2(15)) {
+/*JP
pline("A trap door in %s opens, but nothing falls out!",
+*/
+ pline("\97\8e\82µ\94à\82ª%s\82É\8aJ\82¢\82½\82ª\81C\89½\82à\97\8e\82¿\82Ä\82±\82È\82©\82Á\82½\81I",
the(ceiling(u.ux, u.uy)));
deltrap(trap);
newsym(u.ux, u.uy);
otmp->quan = 1L;
otmp->owt = weight(otmp);
+#if 0 /*JP*/
pline("A trap door in %s opens and %s falls on your %s!",
the(ceiling(u.ux, u.uy)), an(xname(otmp)), body_part(HEAD));
+#else
+ pline("\97\8e\82µ\94à\82ª%s\82É\8aJ\82«\81C%s\82ª\82 \82È\82½\82Ì%s\82É\97\8e\82¿\82Ä\82«\82½\81I",
+ ceiling(u.ux,u.uy), xname(otmp), body_part(HEAD));
+#endif
if (uarmh) {
if (is_metallic(uarmh)) {
+/*JP
pline("Fortunately, you are wearing a hard helmet.");
+*/
+ pline("\8dK\89^\82É\82à\81C\82 \82È\82½\82Í\8cÅ\82¢\8a\95\82ð\90g\82É\82Â\82¯\82Ä\82¢\82½\81D");
dmg = 2;
} else if (flags.verbose) {
+/*JP
pline("%s does not protect you.", Yname2(uarmh));
+*/
+ pline("%s\82Å\82Í\96h\82°\82È\82¢\81D", xname(uarmh));
}
}
stackobj(otmp);
newsym(u.ux, u.uy); /* map the rock */
+/*JP
losehp(Maybe_Half_Phys(dmg), "falling rock", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(dmg), "\97\8e\8aâ\82Å", KILLED_BY_AN);
exercise(A_STR, FALSE);
}
break;
if (!Blind) {
seetrap(trap);
if (Hallucination)
+/*JP
You("notice a crease in the linoleum.");
+*/
+ You("\8f°\82Ì\8ed\8fã\8dÞ\82Ì\82µ\82í\82É\8bC\82ª\82Â\82¢\82½\81D");
else
+/*JP
You("notice a loose board below you.");
+*/
+ You("\91«\8c³\82Ì\8aÉ\82ñ\82¾\94Â\82É\8bC\82ª\82Â\82¢\82½\81D");
}
} else {
seetrap(trap);
+#if 0 /*JP*/
pline("A board beneath you %s%s%s.",
Deaf ? "vibrates" : "squeaks ",
Deaf ? "" : trapnote(trap, 0), Deaf ? "" : " loudly");
+#else
+ if (Deaf) {
+ pline("\91«\8c³\82Ì\94Â\82ª\82ä\82ê\82½\81D");
+ } else {
+ pline("\91«\8c³\82Ì\94Â\82ª\91å\82«\82%s\82Ì\89¹\82É\82«\82µ\82ñ\82¾\81D", trapnote(trap, 0));
+ }
+#endif
wake_nearby();
}
break;
feeltrap(trap);
if (amorphous(youmonst.data) || is_whirly(youmonst.data)
|| unsolid(youmonst.data)) {
+#if 0 /*JP*/
pline("%s bear trap closes harmlessly through you.",
A_Your[trap->madeby_u]);
+#else
+ pline("%s\8cF\82Ìã©\82Í\8a\9a\82Ý\82Â\82¢\82½\82ª\81C\82·\82é\82Á\82Æ\92Ê\82è\94²\82¯\82½\81D",
+ set_you[trap->madeby_u]);
+#endif
break;
}
if (!u.usteed && youmonst.data->msize <= MZ_SMALL) {
+#if 0 /*JP*/
pline("%s bear trap closes harmlessly over you.",
A_Your[trap->madeby_u]);
+#else
+ pline("%s\8cF\82Ìã©\82Í\8a\9a\82Ý\82Â\82¢\82½\82ª\81C\97y\82©\8fã\95û\82¾\82Á\82½\81D",
+ set_you[trap->madeby_u]);
+#endif
break;
}
u.utrap = rn1(4, 4);
u.utraptype = TT_BEARTRAP;
if (u.usteed) {
+#if 0 /*JP*/
pline("%s bear trap closes on %s %s!", A_Your[trap->madeby_u],
s_suffix(mon_nam(u.usteed)), mbodypart(u.usteed, FOOT));
+#else
+ pline("%s\8cF\82Ìã©\82Í%s\82Ì%s\82É\8a\9a\82Ý\82Â\82¢\82½\81I", set_you[trap->madeby_u],
+ mon_nam(u.usteed), mbodypart(u.usteed, FOOT));
+#endif
if (thitm(0, u.usteed, (struct obj *) 0, dmg, FALSE))
u.utrap = 0; /* steed died, hero not trapped */
} else {
+#if 0 /*JP*/
pline("%s bear trap closes on your %s!", A_Your[trap->madeby_u],
body_part(FOOT));
+#else
+ pline("%s\8cF\82Ìã©\82ª\82 \82È\82½\82Ì%s\82É\8a\9a\82Ý\82Â\82¢\82½\81I", set_you[trap->madeby_u],
+ body_part(FOOT));
+#endif
set_wounded_legs(rn2(2) ? RIGHT_SIDE : LEFT_SIDE, rn1(10, 10));
if (u.umonnum == PM_OWLBEAR || u.umonnum == PM_BUGBEAR)
+/*JP
You("howl in anger!");
+*/
+ You("\93{\82è\82Ì\99ô\9aK\82ð\82 \82°\82½\81I");
+/*JP
losehp(Maybe_Half_Phys(dmg), "bear trap", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(dmg), "\8cF\82Ìã©\82Å", KILLED_BY_AN);
}
exercise(A_DEX, FALSE);
break;
case SLP_GAS_TRAP:
seetrap(trap);
if (Sleep_resistance || breathless(youmonst.data)) {
+/*JP
You("are enveloped in a cloud of gas!");
+*/
+ You("\83K\83X\89_\82É\82Â\82Â\82Ü\82ê\82½\81I");
} else {
+/*JP
pline("A cloud of gas puts you to sleep!");
+*/
+ pline("\82 \82È\82½\82Í\83K\83X\89_\82Å\96°\82Á\82Ä\82µ\82Ü\82Á\82½\81I");
fall_asleep(-rnd(25), TRUE);
}
(void) steedintrap(trap, (struct obj *) 0);
*/
switch (rn2(5)) {
case 0:
+/*JP
pline("%s you on the %s!", A_gush_of_water_hits, body_part(HEAD));
+*/
+ pline("\90\85\82ª\95¬\8fo\82µ\82Ä\82 \82È\82½\82Ì%s\82É\96½\92\86\82µ\82½\81I", body_part(HEAD));
(void) water_damage(uarmh, helm_simple_name(uarmh), TRUE);
break;
case 1:
+/*JP
pline("%s your left %s!", A_gush_of_water_hits, body_part(ARM));
+*/
+ pline("\90\85\82ª\95¬\8fo\82µ\82Ä\82 \82È\82½\82Ì\8d¶%s\82É\96½\92\86\82µ\82½\81I", body_part(ARM));
+/*JP
if (water_damage(uarms, "shield", TRUE) != ER_NOTHING)
+*/
+ if (water_damage(uarms, "\8f\82", TRUE) != ER_NOTHING)
break;
if (u.twoweap || (uwep && bimanual(uwep)))
(void) water_damage(u.twoweap ? uswapwep : uwep, 0, TRUE);
glovecheck:
+/*JP
(void) water_damage(uarmg, "gauntlets", TRUE);
+*/
+ (void) water_damage(uarmg, "\8f¬\8eè", TRUE);
/* Not "metal gauntlets" since it gets called
* even if it's leather for the message
*/
break;
case 2:
+/*JP
pline("%s your right %s!", A_gush_of_water_hits, body_part(ARM));
+*/
+ pline("\90\85\82ª\95¬\8fo\82µ\82Ä\82 \82È\82½\82Ì\89E%s\82É\96½\92\86\82µ\82½\81I", body_part(ARM));
(void) water_damage(uwep, 0, TRUE);
goto glovecheck;
default:
+/*JP
pline("%s you!", A_gush_of_water_hits);
+*/
+ pline("\90\85\82ª\95¬\8fo\82µ\82Ä\82 \82È\82½\82É\96½\92\86\82µ\82½\81I");
for (otmp = invent; otmp; otmp = otmp->nobj)
if (otmp->lamplit && otmp != uwep
&& (otmp != uswapwep || !u.twoweap))
if (uarmc)
(void) water_damage(uarmc, cloak_simple_name(uarmc), TRUE);
else if (uarm)
+/*JP
(void) water_damage(uarm, "armor", TRUE);
+*/
+ (void) water_damage(uarm, "\8aZ", TRUE);
else if (uarmu)
+/*JP
(void) water_damage(uarmu, "shirt", TRUE);
+*/
+ (void) water_damage(uarmu, "\83V\83\83\83c", TRUE);
}
update_inventory();
if (u.umonnum == PM_IRON_GOLEM) {
int dam = u.mhmax;
+/*JP
pline("%s you!", A_gush_of_water_hits);
+*/
+ pline("\90\85\82ª\95¬\8fo\82µ\82Ä\82 \82È\82½\82É\96½\92\86\82µ\82½\81I");
+/*JP
You("are covered with rust!");
+*/
+ You("\8eK\82É\95¢\82í\82ê\82½\81I");
+/*JP
losehp(Maybe_Half_Phys(dam), "rusting away", KILLED_BY);
+*/
+ losehp(Maybe_Half_Phys(dam), "\8a®\91S\82É\8eK\82Ñ\82Ä", KILLED_BY);
} else if (u.umonnum == PM_GREMLIN && rn2(3)) {
+/*JP
pline("%s you!", A_gush_of_water_hits);
+*/
+ pline("\90\85\82ª\95¬\8fo\82µ\82Ä\82 \82È\82½\82É\96½\92\86\82µ\82½\81I");
(void) split_mon(&youmonst, (struct monst *) 0);
}
feeltrap(trap);
if (!Sokoban && is_clinger(youmonst.data) && !plunged) {
if (trap->tseen) {
+#if 0 /*JP*/
You_see("%s %spit below you.", a_your[trap->madeby_u],
ttype == SPIKED_PIT ? "spiked " : "");
+#else
+ pline("\91«\8c³\82É%s%s\97\8e\82µ\8c\8a\82ð\94\8c©\82µ\82½\81D", dig_you[trap->madeby_u],
+ ttype == SPIKED_PIT ? "\83g\83Q\82¾\82ç\82¯\82Ì" : "");
+#endif
} else {
+#if 0 /*JP*/
pline("%s pit %sopens up under you!", A_Your[trap->madeby_u],
ttype == SPIKED_PIT ? "full of spikes " : "");
+#else
+ pline("%s%s\97\8e\82µ\8c\8a\82ª\91«\8c³\82É\8aJ\82¢\82½\81I", dig_you[trap->madeby_u],
+ ttype == SPIKED_PIT ? "\83g\83Q\82¾\82ç\82¯\82Ì" : "");
+#endif
+/*JP
You("don't fall in!");
+*/
+ pline("\82µ\82©\82µ\81C\82 \82È\82½\82Í\97\8e\82¿\82È\82©\82Á\82½\81I");
}
break;
}
if (u.usteed) {
if ((trflags & RECURSIVETRAP) != 0)
+/*JP
Sprintf(verbbuf, "and %s fall",
+*/
+ Sprintf(verbbuf, "\82Æ%s",
x_monnam(u.usteed, steed_article, (char *) 0,
SUPPRESS_SADDLE, FALSE));
else
+#if 0 /*JP*/
Sprintf(verbbuf, "lead %s",
x_monnam(u.usteed, steed_article, "poor",
SUPPRESS_SADDLE, FALSE));
+#else
+ Sprintf(verbbuf,"\82Æ%s",
+ x_monnam(u.usteed, steed_article, "\82©\82í\82¢\82»\82¤\82È",
+ SUPPRESS_SADDLE, FALSE));
+#endif
} else if (adj_pit) {
You("move into an adjacent pit.");
} else {
+#if 0 /*JP*/
Strcpy(verbbuf,
!plunged ? "fall" : (Flying ? "dive" : "plunge"));
+#else
+ Strcpy(verbbuf,
+ !plunged ? "\97\8e\82¿\82½" : (Flying ? "\94ò\82Ñ\8d\9e\82ñ\82¾" : "\93Ë\93ü\82µ\82½"));
+#endif
+/*JP
You("%s into %s pit!", verbbuf, a_your[trap->madeby_u]);
+*/
+ You("%s\97\8e\82µ\8c\8a\82É%s!", set_you[trap->madeby_u], verbbuf);
}
}
/* wumpus reference */
if (Role_if(PM_RANGER) && !trap->madeby_u && !trap->once
&& In_quest(&u.uz) && Is_qlocate(&u.uz)) {
+/*JP
pline("Fortunately it has a bottom after all...");
+*/
+ pline("\8dK\82¢\81C\8c\8b\8bÇ\82Í\92ê\82ª\82 \82Á\82½\81D\81D\81D");
trap->once = 1;
} else if (u.umonnum == PM_PIT_VIPER || u.umonnum == PM_PIT_FIEND) {
+/*JP
pline("How pitiful. Isn't that the pits?");
+*/
+ pline("\82±\82Ì\97\8e\82µ\8c\8a\82Í\82¢\82¢\8ed\8e\96\82ð\82µ\82Ä\82¢\82é\81D");
}
if (ttype == SPIKED_PIT) {
+/*JP
const char *predicament = "on a set of sharp iron spikes";
+*/
+ const char *predicament = "\89s\82¢\93S\82Ì\83g\83Q\83g\83Q\82Ì\8fã\82É\97\8e\82¿\82½";
if (u.usteed) {
+#if 0 /*JP*/
pline("%s %s %s!",
upstart(x_monnam(u.usteed, steed_article, "poor",
SUPPRESS_SADDLE, FALSE)),
adj_pit ? "steps" : "lands", predicament);
+#else
+ pline("%s\82Í%s\81I",
+ upstart(x_monnam(u.usteed, steed_article, "\82©\82í\82¢\82»\82¤\82È",
+ SUPPRESS_SADDLE, FALSE)),
+ predicament);
+#endif
} else
+#if 0 /*JP*/
You("%s %s!", adj_pit ? "step" : "land", predicament);
+#else
+ You("%s\81I", predicament);
+#endif
}
u.utrap = rn1(6, 2);
u.utraptype = TT_PIT;
if (!steedintrap(trap, (struct obj *) 0)) {
if (ttype == SPIKED_PIT) {
oldumort = u.umortality;
+#if 0 /*JP*/
losehp(Maybe_Half_Phys(rnd(adj_pit ? 6 : 10)),
plunged
? "deliberately plunged into a pit of iron spikes"
: adj_pit ? "stepped into a pit of iron spikes"
: "fell into a pit of iron spikes",
NO_KILLER_PREFIX);
+#else
+ losehp(Maybe_Half_Phys(rnd(adj_pit ? 6 : 10)),
+ plunged
+ ? "\82í\82´\82í\82´\83g\83Q\82¾\82ç\82¯\82Ì\97\8e\82µ\8c\8a\82É\93Ë\93ü\82µ\82Ä"
+ : adj_pit ? "\83g\83Q\82¾\82ç\82¯\82Ì\97\8e\82µ\8c\8a\82É\93¥\82Ý\8d\9e\82ñ\82Å"
+ : "\83g\83Q\82¾\82ç\82¯\82Ì\97\8e\82µ\8c\8a\82É\97\8e\82¿\82Ä",
+ NO_KILLER_PREFIX);
+#endif
if (!rn2(6))
+#if 0 /*JP*/
poisoned("spikes", A_STR,
adj_pit ? "stepping on poison spikes"
: "fall onto poison spikes",
/* if damage triggered life-saving,
poison is limited to attrib loss */
(u.umortality > oldumort) ? 0 : 8, FALSE);
+#else
+ poisoned("\83g\83Q", A_STR,
+ adj_pit ? "\93Å\82Ì\93h\82ç\82ê\82½\83g\83Q\82ð\93¥\82ñ\82Å"
+ : "\93Å\82Ì\93h\82ç\82ê\82½\83g\83Q\82Ì\8fã\82É\97\8e\82¿\82Ä",
+ /* if damage triggered life-saving,
+ poison is limited to attrib loss */
+ (u.umortality > oldumort) ? 0 : 8, FALSE);
+#endif
} else {
/* plunging flyers take spike damage but not pit damage */
if (!adj_pit
&& !(plunged && (Flying || is_clinger(youmonst.data))))
+#if 0 /*JP*/
losehp(Maybe_Half_Phys(rnd(6)),
plunged ? "deliberately plunged into a pit"
: "fell into a pit",
NO_KILLER_PREFIX);
+#else
+ losehp(Maybe_Half_Phys(rnd(6)),
+ plunged ? "\82í\82´\82í\82´\97\8e\82µ\8c\8a\82É\93Ë\93ü\82µ\82Ä"
+ : "\97\8e\82µ\8c\8a\82É\97\8e\82¿\82Ä",
+ NO_KILLER_PREFIX);
+#endif
}
if (Punished && !carried(uball)) {
unplacebc();
placebc();
}
if (!adj_pit)
+/*JP
selftouch("Falling, you");
+*/
+ selftouch("\97\8e\89º\92\86\81C\82 \82È\82½\82Í");
vision_full_recalc = 1; /* vision limits change */
exercise(A_STR, FALSE);
exercise(A_DEX, FALSE);
if (acidic(youmonst.data) || u.umonnum == PM_GELATINOUS_CUBE
|| u.umonnum == PM_FIRE_ELEMENTAL) {
if (webmsgok)
+#if 0 /*JP*/
You("%s %s spider web!",
(u.umonnum == PM_FIRE_ELEMENTAL) ? "burn"
: "dissolve",
a_your[trap->madeby_u]);
+#else
+ You("%s\82\82à\82Ì\91\83\82ð%s\81I",
+ web_you[trap->madeby_u],
+ (u.umonnum == PM_FIRE_ELEMENTAL) ? "\8fÄ\82¢\82½"
+ : "\82±\82È\82²\82È\82É\82µ\82½");
+#endif
deltrap(trap);
newsym(u.ux, u.uy);
break;
}
if (webmsgok)
+/*JP
You("flow through %s spider web.", a_your[trap->madeby_u]);
+*/
+ You("%s\82\82à\82Ì\91\83\82ð\82·\82é\82è\82Æ\92Ê\82è\94²\82¯\82½\81D", web_you[trap->madeby_u]);
break;
}
if (webmaker(youmonst.data)) {
if (webmsgok)
+#if 0 /*JP*/
pline(trap->madeby_u ? "You take a walk on your web."
: "There is a spider web here.");
+#else
+ pline(trap->madeby_u ? "\8e©\95ª\82Å\92£\82Á\82½\82\82à\82Ì\91\83\82Ì\8fã\82ð\95à\82¢\82½\81D"
+ : "\82±\82±\82É\82Í\82\82à\82Ì\91\83\82ª\82 \82é\81D");
+#endif
break;
}
if (webmsgok) {
char verbbuf[BUFSZ];
+#if 0 /*JP*/
if (forcetrap) {
Strcpy(verbbuf, "are caught by");
} else if (u.usteed) {
: locomotion(youmonst.data, "stumble"));
}
You("%s %s spider web!", verbbuf, a_your[trap->madeby_u]);
+#else
+ if (forcetrap) {
+ Strcpy(verbbuf, "\82 \82È\82½\82Í");
+ } else if (u.usteed) {
+ Sprintf(verbbuf, "\82 \82È\82½\82Æ%s",
+ x_monnam(u.usteed, steed_article, "\82©\82í\82¢\82»\82¤\82È",
+ SUPPRESS_SADDLE, FALSE));
+ } else {
+ Sprintf(verbbuf, "\82 \82È\82½\82Í%s",
+ Levitation ? (const char *) "\95\82\82«\82È\82ª\82ç"
+ : jconj(locomotion(youmonst.data, "\82Â\82Ü\82¸\82"), "\82Ä"));
+ }
+ pline("%s%s\82\82à\82Ì\91\83\82É\82Ð\82Á\82©\82©\82Á\82½\81I", verbbuf, web_you[trap->madeby_u]);
+#endif
}
u.utraptype = TT_WEB;
else {
u.utrap = 0;
if (webmsgok)
+/*JP
You("tear through %s web!", a_your[trap->madeby_u]);
+*/
+ You("%s\82\82à\82Ì\91\83\82ð\90Ø\82è\97ô\82¢\82½\81I", web_you[trap->madeby_u]);
deltrap(trap);
newsym(u.ux, u.uy); /* get rid of trap symbol */
}
if (!rn2(30)) {
deltrap(trap);
newsym(u.ux, u.uy); /* update position */
+/*JP
You("are caught in a magical explosion!");
+*/
+ You("\96\82\96@\82Ì\94\9a\94\82ð\97\81\82Ñ\82½\81I");
+/*JP
losehp(rnd(10), "magical explosion", KILLED_BY_AN);
+*/
+ losehp(rnd(10), "\96\82\96@\82Ì\94\9a\94\82ð\97\81\82Ñ\82Ä", KILLED_BY_AN);
+/*JP
Your("body absorbs some of the magical energy!");
+*/
+ Your("\91Ì\82Í\96\82\96@\82Ì\83G\83l\83\8b\83M\81[\82ð\8f\82µ\8bz\82¢\82Æ\82Á\82½\81I");
u.uen = (u.uenmax += 2);
break;
} else {
if (Passes_walls)
dmgval2 = (dmgval2 + 3) / 4;
+#if 0 /*JP*/
You_feel((dmgval2 >= hp) ? "unbearably torpid!"
: (dmgval2 >= hp / 4) ? "very lethargic."
: "sluggish.");
+#else
+ You_feel((dmgval2 >= hp) ? "\91Ï\82¦\82ç\82ê\82È\82¢\82Ù\82Ç\96³\8bC\97Í\82É\82È\82Á\82½\81I"
+ : (dmgval2 >= hp / 4) ? "\82Æ\82Ä\82à\8bC\82¾\82é\82\82È\82Á\82½\81D"
+ : "\82à\82Ì\82®\82³\82È\8bC\95ª\82É\82È\82Á\82½\81D");
+#endif
/* opposite of magical explosion */
+/*JP
losehp(dmgval2, "anti-magic implosion", KILLED_BY_AN);
+*/
+ losehp(dmgval2, "\94½\96\82\96@\82Ì\93à\95\94\94j\97ô\82Å", KILLED_BY_AN);
}
break;
seetrap(trap);
if (u.usteed)
+/*JP
Sprintf(verbbuf, "lead %s",
+*/
+ Sprintf(verbbuf, "%s\82Æ\82Æ\82à\82É\94ò\82Ñ\8d\9e\82ñ\82¾",
x_monnam(u.usteed, steed_article, (char *) 0,
SUPPRESS_SADDLE, FALSE));
else
+#if 0 /*JP*/
Sprintf(verbbuf, "%s", Levitation
? (const char *) "float"
: locomotion(youmonst.data, "step"));
+#else
+ Sprintf(verbbuf,"%s",
+ jpast(Levitation ? (const char *)"\95\82\82«\82È\82ª\82ç\94ò\82Ñ\82±\82Þ"
+ : locomotion(youmonst.data, "\93¥\82Ý\8d\9e\82Þ")));
+#endif
+/*JP
You("%s onto a polymorph trap!", verbbuf);
+*/
+ You("\95Ï\89»\82Ìã©\82É%s\81I", verbbuf);
if (Antimagic || Unchanging) {
shieldeff(u.ux, u.uy);
+/*JP
You_feel("momentarily different.");
+*/
+ You("\88ê\8fu\88á\82Á\82½\8a´\82¶\82ª\82µ\82½\81D");
/* Trap did nothing; don't remove it --KAA */
} else {
(void) steedintrap(trap, (struct obj *) 0);
deltrap(trap); /* delete trap before polymorph */
newsym(u.ux, u.uy); /* get rid of trap symbol */
+/*JP
You_feel("a change coming over you.");
+*/
+ You("\95Ï\89»\82ª\96K\82ê\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
polyself(0);
}
break;
if (!already_seen && rn2(3))
break;
feeltrap(trap);
+#if 0 /*JP*/
pline("%s %s in a pile of soil below you.",
already_seen ? "There is" : "You discover",
trap->madeby_u ? "the trigger of your mine" : "a trigger");
+#else
+ if(already_seen)
+ pline("\82±\82±\82É\82Í%s\92n\97\8b\82Ì\8bN\94\9a\83X\83C\83b\83`\82ª\82 \82é\81D",
+ set_you[trap->madeby_u]);
+ else
+ You("\91«\89º\82Ì\93y\82Ì\8eR\82É%s\92n\97\8b\82Ì\8bN\94\9a\83X\83C\83b\83`\82ð\82Ý\82Â\82¯\82½\81D",
+ set_you[trap->madeby_u]);
+#endif
if (already_seen && rn2(3))
break;
+#if 0 /*JP*/
pline("KAABLAMM!!! %s %s%s off!",
forcebungle ? "Your inept attempt sets"
: "The air currents set",
already_seen ? a_your[trap->madeby_u] : "",
already_seen ? " land mine" : "it");
+#else
+ pline("\82¿\82ã\82Ç\81[\82ñ\81I\81I%s%s%s\8bN\94\9a\83X\83C\83b\83`\82ª\94\93®\82µ\82½\81I",
+ forcebungle ? "\95s\8aí\97p\82È\82¹\82¢\82Å"
+ : "\8bó\8bC\82Ì\97¬\82ê\82Å",
+ already_seen ? set_you[trap->madeby_u] : "",
+ already_seen ? "\92n\97\8b\82Ì" : "");
+#endif
} else {
/* prevent landmine from killing steed, throwing you to
* the ground, and you being affected again by the same
if (recursive_mine)
break;
feeltrap(trap);
+#if 0 /*JP*/
pline("KAABLAMM!!! You triggered %s land mine!",
a_your[trap->madeby_u]);
+#else
+ pline("\82¿\82ã\82Ç\81[\82ñ\81I\81I%s\92n\97\8b\82Ì\8bN\94\9a\83X\83C\83b\83`\82ð\93¥\82ñ\82¾\81I",
+ set_you[trap->madeby_u]);
+#endif
if (u.usteed)
steed_mid = u.usteed->m_id;
recursive_mine = TRUE;
if (steed_mid && saddle && !u.usteed)
(void) keep_saddle_with_steedcorpse(steed_mid, fobj, saddle);
newsym(u.ux, u.uy); /* update trap symbol */
+/*JP
losehp(Maybe_Half_Phys(rnd(16)), "land mine", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(rnd(16)), "\92n\97\8b\82ð\93¥\82ñ\82Å", KILLED_BY_AN);
/* fall recursively into the pit... */
if ((trap = t_at(u.ux, u.uy)) != 0)
dotrap(trap, RECURSIVETRAP);
int style = ROLL | (trap->tseen ? LAUNCH_KNOWN : 0);
feeltrap(trap);
+/*JP
pline("Click! You trigger a rolling boulder trap!");
+*/
+ pline("\83J\83`\83b\81I\82 \82È\82½\82Í\8b\90\8aâ\82Ìã©\82Ì\83X\83C\83b\83`\82ð\93¥\82ñ\82¾\81I");
if (!launch_obj(BOULDER, trap->launch.x, trap->launch.y,
trap->launch2.x, trap->launch2.y, style)) {
deltrap(trap);
newsym(u.ux, u.uy); /* get rid of trap symbol */
+/*JP
pline("Fortunately for you, no boulder was released.");
+*/
+ pline("\89^\82Ì\82æ\82¢\82±\82Æ\82É\8aâ\82Í\93]\82ª\82Á\82Ä\82±\82È\82©\82Á\82½\81D");
}
break;
}
{
static char tnbuf[12];
const char *tn,
+#if 0 /*JP*/
*tnnames[12] = { "C note", "D flat", "D note", "E flat",
"E note", "F note", "F sharp", "G note",
"G sharp", "A note", "B flat", "B note" };
+#else
+ *tnnames[12] = { "\83h", "\83\8c\81ó", "\83\8c", "\83~\81ó",
+ "\83~", "\83t\83@", "\83t\83@\81ò", "\83\",
+ "\83\\81ò", "\83\89", "\83V\81ó", "\83V" };
+#endif
tnbuf[0] = '\0';
tn = tnnames[trap->tnote];
+#if 0 /*JP*/
if (!noprefix)
Sprintf(tnbuf, "%s ",
(*tn == 'A' || *tn == 'E' || *tn == 'F') ? "an" : "a");
Sprintf(eos(tnbuf), "%s", tn);
+#else
+ Sprintf(tnbuf, "%s\82Ì\89¹", tn);
+#endif
return tnbuf;
}
&& !steed->msleeping && steed->mcanmove) {
if (sleep_monst(steed, rnd(25), -1))
/* no in_sight check here; you can feel it even if blind */
+/*JP
pline("%s suddenly falls asleep!", Monnam(steed));
+*/
+ pline("%s\82Í\82Æ\82Â\82º\82ñ\96°\82Á\82Ä\82µ\82Ü\82Á\82½\81I", Monnam(steed));
}
steedhit = TRUE;
break;
if (!can_saddle(steed) || !can_ride(steed))
dismount_steed(DISMOUNT_POLY);
else
+/*JP
You("have to adjust yourself in the saddle on %s.",
+*/
+ You("%s\82Ì\88Æ\82Ì\8fã\82Å\8dÀ\82è\82È\82¨\82µ\82½\81D",
x_monnam(steed, ARTICLE_A, (char *) 0, SUPPRESS_SADDLE,
FALSE));
}
switch (style) {
case ROLL | LAUNCH_UNSEEN:
if (otyp == BOULDER) {
+#if 0 /*JP*/
You_hear(Hallucination ? "someone bowling."
: "rumbling in the distance.");
+#else
+ You_hear(Hallucination ? "\92N\82©\82ª\83{\81[\83\8a\83\93\83O\82ð\82µ\82Ä\82¢\82é\89¹\82ð\95·\82¢\82½\81D"
+ : "\89\93\82\82Ì\83S\83\8d\83S\83\8d\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
+#endif
}
style &= ~LAUNCH_UNSEEN;
goto roll;
if ((mtmp = m_at(bhitpos.x, bhitpos.y)) != 0) {
if (otyp == BOULDER && throws_rocks(mtmp->data)) {
if (rn2(3)) {
+/*JP
pline("%s snatches the boulder.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8aâ\82ð\82Â\82©\82Ý\8eæ\82Á\82½\81D", Monnam(mtmp));
singleobj->otrapped = 0;
(void) mpickobj(mtmp, singleobj);
used_up = TRUE;
switch (t->ttyp) {
case LANDMINE:
if (rn2(10) > 2) {
+#if 0 /*JP*/
pline(
"KAABLAMM!!!%s",
cansee(bhitpos.x, bhitpos.y)
? " The rolling boulder triggers a land mine."
: "");
+#else
+ pline(
+ "\82¿\82ã\82Ç\81[\82ñ\81I\81I%s",
+ cansee(bhitpos.x, bhitpos.y)
+ ? "\93]\82ª\82Á\82Ä\82«\82½\8aâ\82ª\92n\97\8b\82Ì\8bN\94\9a\83X\83C\83b\83`\82ð\93¥\82ñ\82¾\81D"
+ : "");
+#endif
deltrap(t);
del_engr_at(bhitpos.x, bhitpos.y);
place_object(singleobj, bhitpos.x, bhitpos.y);
case LEVEL_TELEP:
case TELEP_TRAP:
if (cansee(bhitpos.x, bhitpos.y))
+/*JP
pline("Suddenly the rolling boulder disappears!");
+*/
+ pline("\93]\82ª\82Á\82Ä\82«\82½\8aâ\82ª\82Æ\82Â\82º\82ñ\8fÁ\82¦\82½\81I");
else
+/*JP
You_hear("a rumbling stop abruptly.");
+*/
+ pline("\83S\83\8d\83S\83\8d\82Æ\82¢\82¤\89¹\82ª\93Ë\91R\8e~\82Ü\82Á\82½\81D");
singleobj->otrapped = 0;
if (t->ttyp == TELEP_TRAP)
(void) rloco(singleobj);
/* the boulder won't be used up if there is a
monster in the trap; stop rolling anyway */
x2 = bhitpos.x, y2 = bhitpos.y; /* stops here */
+/*JP
if (flooreffects(singleobj, x2, y2, "fall")) {
+*/
+ if (flooreffects(singleobj, x2, y2, "\97\8e\82¿\82é")) {
used_up = TRUE;
launch_drop_spot((struct obj *) 0, 0, 0);
}
if (used_up || dist == -1)
break;
}
+/*JP
if (flooreffects(singleobj, bhitpos.x, bhitpos.y, "fall")) {
+*/
+ if (flooreffects(singleobj, bhitpos.x, bhitpos.y, "\97\8e\82¿\82é")) {
used_up = TRUE;
launch_drop_spot((struct obj *) 0, 0, 0);
break;
}
if (otyp == BOULDER
&& (otmp2 = sobj_at(BOULDER, bhitpos.x, bhitpos.y)) != 0) {
+/*JP
const char *bmsg = " as one boulder sets another in motion";
+*/
+ const char *bmsg = "\82Ð\82Æ\82Â\82Ì\8aâ\82ª\91¼\82Ì\8aâ\82ð\93®\82©\82µ\82½\82©\82Ì\82æ\82¤\82È\81C";
if (!isok(bhitpos.x + dx, bhitpos.y + dy) || !dist
|| IS_ROCK(levl[bhitpos.x + dx][bhitpos.y + dy].typ))
+/*JP
bmsg = " as one boulder hits another";
+*/
+ bmsg = "\82Ð\82Æ\82Â\82Ì\8aâ\82ª\91¼\82Ì\8aâ\82É\93\96\82½\82Á\82½\82æ\82¤\82È";
+/*JP
You_hear("a loud crash%s!",
+*/
+ You_hear("%s\91å\82«\82È\83S\83\93\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81I",
cansee(bhitpos.x, bhitpos.y) ? bmsg : "");
obj_extract_self(otmp2);
/* pass off the otrapped flag to the next boulder */
}
if (otyp == BOULDER && closed_door(bhitpos.x, bhitpos.y)) {
if (cansee(bhitpos.x, bhitpos.y))
+/*JP
pline_The("boulder crashes through a door.");
+*/
+ pline("\8aâ\82Í\94à\82ð\94j\89ó\82µ\82½\81D");
levl[bhitpos.x][bhitpos.y].doormask = D_BROKEN;
if (dist)
unblock_point(bhitpos.x, bhitpos.y);
if (!rn2(2)) {
mtmp->mtrapped = 0;
if (canseemon(mtmp))
+/*JP
pline("%s pulls free...", Monnam(mtmp));
+*/
+ pline("%s\82Í\8f\95\82¯\8fã\82°\82ç\82ê\82½\81D", Monnam(mtmp));
fill_pit(mtmp->mx, mtmp->my);
}
} else {
} else if (metallivorous(mptr)) {
if (trap->ttyp == BEAR_TRAP) {
if (canseemon(mtmp))
+/*JP
pline("%s eats a bear trap!", Monnam(mtmp));
+*/
+ pline("%s\82Í\8cF\82Ìã©\82ð\90H\82×\82½\81I", Monnam(mtmp));
deltrap(trap);
mtmp->meating = 5;
mtmp->mtrapped = 0;
} else if (trap->ttyp == SPIKED_PIT) {
if (canseemon(mtmp))
+/*JP
pline("%s munches on some spikes!", Monnam(mtmp));
+*/
+ pline("%s\82Í\83g\83Q\83g\83Q\82ð\90H\82×\82½\81I", Monnam(mtmp));
trap->ttyp = PIT;
mtmp->meating = 5;
}
case ARROW_TRAP:
if (trap->once && trap->tseen && !rn2(15)) {
if (in_sight && see_it)
+#if 0 /*JP:T*/
pline("%s triggers a trap but nothing happens.",
Monnam(mtmp));
+#else
+ pline("%s\82ª\82í\82È\82ð\8bN\93®\82³\82¹\82½\82ª\89½\82à\8bN\82±\82ç\82È\82©\82Á\82½\81D",
+ Monnam(mtmp));
+#endif
deltrap(trap);
newsym(mtmp->mx, mtmp->my);
break;
case DART_TRAP:
if (trap->once && trap->tseen && !rn2(15)) {
if (in_sight && see_it)
+#if 0 /*JP:T*/
pline("%s triggers a trap but nothing happens.",
Monnam(mtmp));
+#else
+ pline("%s\82ª\82í\82È\82ð\8bN\93®\82³\82¹\82½\82ª\89½\82à\8bN\82±\82ç\82È\82©\82Á\82½\81D",
+ Monnam(mtmp));
+#endif
deltrap(trap);
newsym(mtmp->mx, mtmp->my);
break;
if (trap->once && trap->tseen && !rn2(15)) {
if (in_sight && see_it)
pline(
+/*JP
"A trap door above %s opens, but nothing falls out!",
+*/
+ "%s\82Ì\8fã\82Ì\94à\82ª\8aJ\82¢\82½\82ª\81C\89½\82à\97\8e\82¿\82Ä\82±\82È\82©\82Á\82½\81I",
mon_nam(mtmp));
deltrap(trap);
newsym(mtmp->mx, mtmp->my);
/* stepped on a squeaky board */
if (in_sight) {
if (!Deaf) {
+#if 0 /*JP*/
pline("A board beneath %s squeaks %s loudly.",
mon_nam(mtmp), trapnote(trap, 0));
+#else
+ pline("%s\82Ì\91«\8c³\82Ì\94Â\82ª\91å\82«\82%s\82É\82«\82µ\82ñ\82¾\81D",
+ mon_nam(mtmp), trapnote(trap, 0));
+#endif
seetrap(trap);
} else {
+/*JP
pline("%s stops momentarily and appears to cringe.",
+*/
+ pline("%s\82Í\88ê\8fu\8e~\82Ü\82Á\82Ä\90g\82ð\82·\82\82ß\82½\82æ\82¤\82¾\81D",
Monnam(mtmp));
}
} else
+/*JP
You_hear("a distant %s squeak.", trapnote(trap, 1));
+*/
+ You_hear("\89\93\82\82Å%s\82Å\82«\82µ\82Þ\89¹\82ð\95·\82¢\82½\81D", trapnote(trap, 1));
/* wake up nearby monsters */
wake_nearto(mtmp->mx, mtmp->my, 40);
break;
&& !is_whirly(mptr) && !unsolid(mptr)) {
mtmp->mtrapped = 1;
if (in_sight) {
+#if 0 /*JP*/
pline("%s is caught in %s bear trap!", Monnam(mtmp),
a_your[trap->madeby_u]);
+#else
+ pline("%s\82Í%s\8cF\82Ìã©\82É\82Â\82©\82Ü\82Á\82½\81I", Monnam(mtmp),
+ set_you[trap->madeby_u]);
+#endif
seetrap(trap);
} else {
if (mptr == &mons[PM_OWLBEAR]
|| mptr == &mons[PM_BUGBEAR])
+/*JP
You_hear("the roaring of an angry bear!");
+*/
+ You_hear("\93{\82è\82Ì\99ô\9aK\82ð\95·\82¢\82½\81I");
}
} else if (force_mintrap) {
if (in_sight) {
+#if 0 /*JP*/
pline("%s evades %s bear trap!", Monnam(mtmp),
a_your[trap->madeby_u]);
+#else
+ pline("%s\82Í%s\8cF\82Ìã©\82ð\82½\82\82Ý\82É\94ð\82¯\82½\81I", Monnam(mtmp),
+ set_you[trap->madeby_u]);
+#endif
seetrap(trap);
}
}
if (!resists_sleep(mtmp) && !breathless(mptr) && !mtmp->msleeping
&& mtmp->mcanmove) {
if (sleep_monst(mtmp, rnd(25), -1) && in_sight) {
+/*JP
pline("%s suddenly falls asleep!", Monnam(mtmp));
+*/
+ pline("%s\82Í\93Ë\91R\96°\82è\82É\97\8e\82¿\82½\81I", Monnam(mtmp));
seetrap(trap);
}
}
switch (rn2(5)) {
case 0:
if (in_sight)
+#if 0 /*JP*/
pline("%s %s on the %s!", A_gush_of_water_hits,
mon_nam(mtmp), mbodypart(mtmp, HEAD));
+#else
+ pline("\90\85\82ª\95¬\8fo\82µ\82Ä\81C%s\82Ì%s\82É\96½\92\86\82µ\82½\81I",
+ mon_nam(mtmp), mbodypart(mtmp, HEAD));
+#endif
target = which_armor(mtmp, W_ARMH);
(void) water_damage(target, helm_simple_name(target), TRUE);
break;
case 1:
if (in_sight)
+#if 0 /*JP*/
pline("%s %s's left %s!", A_gush_of_water_hits,
mon_nam(mtmp), mbodypart(mtmp, ARM));
+#else
+ pline("\90\85\82ª\95¬\8fo\82µ\82Ä\81C%s\82Ì\8d¶%s\82É\96½\92\86\82µ\82½\81I",
+ mon_nam(mtmp), mbodypart(mtmp, ARM));
+#endif
target = which_armor(mtmp, W_ARMS);
+/*JP
if (water_damage(target, "shield", TRUE) != ER_NOTHING)
+*/
+ if (water_damage(target, "\8f\82", TRUE) != ER_NOTHING)
break;
target = MON_WEP(mtmp);
if (target && bimanual(target))
(void) water_damage(target, 0, TRUE);
glovecheck:
target = which_armor(mtmp, W_ARMG);
+/*JP
(void) water_damage(target, "gauntlets", TRUE);
+*/
+ (void) water_damage(target, "\8f¬\8eè", TRUE);
break;
case 2:
if (in_sight)
+#if 0 /*JP*/
pline("%s %s's right %s!", A_gush_of_water_hits,
mon_nam(mtmp), mbodypart(mtmp, ARM));
+#else
+ pline("\90\85\82ª\95¬\8fo\82µ\82Ä\81C%s\82Ì\89E%s\82É\96½\92\86\82µ\82½\81I",
+ mon_nam(mtmp), mbodypart(mtmp, ARM));
+#endif
(void) water_damage(MON_WEP(mtmp), 0, TRUE);
goto glovecheck;
default:
if (in_sight)
+/*JP
pline("%s %s!", A_gush_of_water_hits, mon_nam(mtmp));
+*/
+ pline("\90\85\82ª\95¬\8fo\82µ\82Ä\81C%s\82É\96½\92\86\82µ\82½\81I", mon_nam(mtmp));
for (otmp = mtmp->minvent; otmp; otmp = otmp->nobj)
if (otmp->lamplit
&& (otmp->owornmask & (W_WEP | W_SWAPWEP)) == 0)
(void) water_damage(target, cloak_simple_name(target),
TRUE);
else if ((target = which_armor(mtmp, W_ARM)) != 0)
+/*JP
(void) water_damage(target, "armor", TRUE);
+*/
+ (void) water_damage(target, "\8aZ", TRUE);
else if ((target = which_armor(mtmp, W_ARMU)) != 0)
+/*JP
(void) water_damage(target, "shirt", TRUE);
+*/
+ (void) water_damage(target, "\83V\83\83\83c", TRUE);
}
if (mptr == &mons[PM_IRON_GOLEM]) {
if (in_sight)
+/*JP
pline("%s falls to pieces!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82\82¾\82¯\82¿\82Á\82½\81I", Monnam(mtmp));
else if (mtmp->mtame)
+/*JP
pline("May %s rust in peace.", mon_nam(mtmp));
+*/
+ pline("%s\82æ\81C\88À\82ç\82©\82É\8eK\82Ñ\82ñ\8e\96\82ð\81D", mon_nam(mtmp));
mondied(mtmp);
if (mtmp->mhp <= 0)
trapkilled = TRUE;
case FIRE_TRAP:
mfiretrap:
if (in_sight)
+#if 0 /*JP*/
pline("A %s erupts from the %s under %s!", tower_of_flame,
surface(mtmp->mx, mtmp->my), mon_nam(mtmp));
+#else
+ pline("\89Î\92\8c\82ª%s\82Ì\91«\8c³\82Ì%s\82©\82ç\97§\82¿\82Ì\82Ú\82Á\82½\81I",
+ mon_nam(mtmp), surface(mtmp->mx,mtmp->my));
+#endif
else if (see_it) /* evidently `mtmp' is invisible */
+#if 0 /*JP*/
You_see("a %s erupt from the %s!", tower_of_flame,
surface(mtmp->mx, mtmp->my));
+#else
+ You("\89Î\92\8c\82ª%s\82©\82ç\90¶\82¶\82é\82Ì\82ð\8c©\82½\81I",
+ surface(mtmp->mx,mtmp->my));
+#endif
if (resists_fire(mtmp)) {
if (in_sight) {
shieldeff(mtmp->mx, mtmp->my);
+/*JP
pline("%s is uninjured.", Monnam(mtmp));
+*/
+ pline("\82ª\81C%s\82Í\8f\9d\82Â\82©\82È\82¢\81D", Monnam(mtmp));
}
} else {
int num = d(2, 4), alt;
}
if (burn_floor_objects(mtmp->mx, mtmp->my, see_it, FALSE)
&& !see_it && distu(mtmp->mx, mtmp->my) <= 3 * 3)
+/*JP
You("smell smoke.");
+*/
+ pline("\89\8c\82Ì\93õ\82¢\82ª\82µ\82½\81D");
if (is_ice(mtmp->mx, mtmp->my))
melt_ice(mtmp->mx, mtmp->my, (char *) 0);
if (see_it)
break;
case PIT:
case SPIKED_PIT:
+/*JP
fallverb = "falls";
+*/
+ fallverb = "\97\8e\82¿\82é";
if (is_flyer(mptr) || is_floater(mptr)
|| (mtmp->wormno && count_wsegs(mtmp) > 5)
|| is_clinger(mptr)) {
/* openfallingtrap; not inescapable here */
if (in_sight) {
seetrap(trap);
+/*JP
pline("%s doesn't fall into the pit.", Monnam(mtmp));
+*/
+ pline("%s\82Í\97\8e\82µ\8c\8a\82É\97\8e\82¿\82È\82©\82Á\82½\81D", Monnam(mtmp));
}
break; /* inescapable = FALSE; */
}
if (!inescapable)
break; /* avoids trap */
+#if 0 /*JP*/
fallverb = "is dragged"; /* sokoban pit */
+#else
+ fallverb = "\82¸\82è\97\8e\82¿\82é"; /* sokoban pit */
+#endif
}
if (!passes_walls(mptr))
mtmp->mtrapped = 1;
if (in_sight) {
+#if 0 /*JP*/
pline("%s %s into %s pit!", Monnam(mtmp), fallverb,
a_your[trap->madeby_u]);
+#else
+ pline("%s\82Í%s\97\8e\82µ\8c\8a\82É%s\81I", Monnam(mtmp),
+ set_you[trap->madeby_u], jpast(fallverb));
+#endif
if (mptr == &mons[PM_PIT_VIPER]
|| mptr == &mons[PM_PIT_FIEND])
+/*JP
pline("How pitiful. Isn't that the pits?");
+*/
+ pline("\82±\82Ì\97\8e\82µ\8c\8a\82Í\82¢\82¢\8ed\8e\96\82ð\82µ\82Ä\82¢\82é\81D");
seetrap(trap);
}
+/*JP
mselftouch(mtmp, "Falling, ", FALSE);
+*/
+ mselftouch(mtmp, "\97\8e\89º\92\86\81C", FALSE);
if (mtmp->mhp <= 0 || thitm(0, mtmp, (struct obj *) 0,
rnd((tt == PIT) ? 6 : 10), FALSE))
trapkilled = TRUE;
seetrap(trap);
if (tt == TRAPDOOR)
pline(
+/*JP
"A trap door opens, but %s doesn't fall through.",
+*/
+ "\97\8e\82µ\94à\82ª\8aJ\82¢\82½\82ª\81C%s\82Í\97\8e\82¿\82È\82©\82Á\82½\81D",
mon_nam(mtmp));
else /* (tt == HOLE) */
+/*JP
pline("%s doesn't fall through the hole.",
+*/
+ pline("%s\82Í\8c\8a\82É\97\8e\82¿\82È\82©\82Á\82½\81D",
Monnam(mtmp));
}
break; /* inescapable = FALSE; */
}
if (inescapable) { /* sokoban hole */
if (in_sight) {
+/*JP
pline("%s seems to be yanked down!", Monnam(mtmp));
+*/
+ pline("%s\82Í\88ø\82«\97\8e\82³\82ê\82½\82æ\82¤\82¾\81I", Monnam(mtmp));
/* suppress message in mlevel_tele_trap() */
in_sight = FALSE;
seetrap(trap);
if (acidic(mptr) || mptr == &mons[PM_GELATINOUS_CUBE]
|| mptr == &mons[PM_FIRE_ELEMENTAL]) {
if (in_sight)
+#if 0 /*JP*/
pline("%s %s %s spider web!", Monnam(mtmp),
(mptr == &mons[PM_FIRE_ELEMENTAL])
? "burns"
: "dissolves",
a_your[trap->madeby_u]);
+#else
+ pline("%s%s\82\82à\82Ì\91\83\82ð%s\81I",
+ Monnam(mtmp),
+ web_you[trap->madeby_u],
+ (mptr == &mons[PM_FIRE_ELEMENTAL]) ?
+ "\8fÄ\82¢\82½" : "\82±\82È\82²\82È\82É\82µ\82½");
+#endif
deltrap(trap);
newsym(mtmp->mx, mtmp->my);
break;
}
if (in_sight) {
+#if 0 /*JP*/
pline("%s flows through %s spider web.", Monnam(mtmp),
a_your[trap->madeby_u]);
+#else
+ pline("%s\82Í%s\82\82à\82Ì\91\83\82ð\82·\82é\82è\82Æ\92Ê\82è\94²\82¯\82½\81D", Monnam(mtmp),
+ web_you[trap->madeby_u]);
+#endif
seetrap(trap);
}
break;
case PM_OWLBEAR: /* Eric Backus */
case PM_BUGBEAR:
if (!in_sight) {
+/*JP
You_hear("the roaring of a confused bear!");
+*/
+ You_hear("\8d¬\97\90\82Ì\99ô\9aK\82ð\95·\82¢\82½\81I");
mtmp->mtrapped = 1;
break;
}
|| (mtmp->wormno && count_wsegs(mtmp) > 5)) {
tear_web = TRUE;
} else if (in_sight) {
+#if 0 /*JP*/
pline("%s is caught in %s spider web.", Monnam(mtmp),
a_your[trap->madeby_u]);
+#else
+ pline("%s\82Í%s\82\82à\82Ì\91\83\82É\82Â\82©\82Ü\82Á\82½\81D", Monnam(mtmp),
+ web_you[trap->madeby_u]);
+#endif
seetrap(trap);
}
mtmp->mtrapped = tear_web ? 0 : 1;
}
if (tear_web) {
if (in_sight)
+#if 0 /*JP*/
pline("%s tears through %s spider web!", Monnam(mtmp),
a_your[trap->madeby_u]);
+#else
+ pline("%s\82Í%s\82\82à\82Ì\91\83\82ð\88ø\82«\97ô\82¢\82½\81I", Monnam(mtmp),
+ web_you[trap->madeby_u]);
+#endif
deltrap(trap);
newsym(mtmp->mx, mtmp->my);
} else if (force_mintrap && !mtmp->mtrapped) {
if (in_sight) {
+#if 0 /*JP*/
pline("%s avoids %s spider web!", Monnam(mtmp),
a_your[trap->madeby_u]);
+#else
+ pline("%s\82Í%s\82\82à\82Ì\91\83\82ð\94ð\82¯\82½\81I", Monnam(mtmp),
+ web_you[trap->madeby_u]);
+#endif
seetrap(trap);
}
}
mtmp->mspec_used += d(2, 2);
if (in_sight) {
seetrap(trap);
+/*JP
pline("%s seems lethargic.", Monnam(mtmp));
+*/
+ pline("%s\88ê\8fu\96³\8bC\97Í\8a´\82ð\8a´\82¶\82½\81D", Monnam(mtmp));
}
}
} else { /* take some damage */
if ((mtmp->mhp -= dmgval2) <= 0)
monkilled(mtmp,
in_sight
+/*JP
? "compression from an anti-magic field"
+*/
+ ? "\94½\96\82\96@\8bó\8aÔ\82Ì\88³\8fk"
: (const char *) 0,
-AD_MAGM);
if (mtmp->mhp <= 0)
boolean already_seen = trap->tseen;
if (in_sight && !already_seen) {
+/*JP
pline("A trigger appears in a pile of soil below %s.",
+*/
+ pline("%s\82Ì\91«\8c³\82Ì\93y\82Ì\8eR\82É\8bN\94\9a\83X\83C\83b\83`\82ª\8c»\82í\82ê\82½\81D",
mon_nam(mtmp));
seetrap(trap);
}
break;
if (in_sight) {
newsym(mtmp->mx, mtmp->my);
+#if 0 /*JP*/
pline_The("air currents set %s off!",
already_seen ? "a land mine" : "it");
+#else
+ pline("\8bó\8bC\82Ì\97¬\82ê\82Å\83X\83C\83b\83`\82ª\93ü\82Á\82½\81I");
+#endif
}
} else if (in_sight) {
newsym(mtmp->mx, mtmp->my);
+#if 0 /*JP*/
pline("KAABLAMM!!! %s triggers %s land mine!", Monnam(mtmp),
a_your[trap->madeby_u]);
+#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¾\81I", Monnam(mtmp),
+ set_you[trap->madeby_u]);
+#endif
}
if (!in_sight)
+/*JP
pline("Kaablamm! You hear an explosion in the distance!");
+*/
+ pline("\82¿\82ã\82Ç\81[\82ñ\81I\82 \82È\82½\82Í\89\93\95û\82Ì\94\9a\94\89¹\82ð\95·\82¢\82½\81I");
blow_up_landmine(trap);
/* explosion might have destroyed a drawbridge; don't
dish out more damage if monster is already dead */
trapkilled = TRUE;
if (unconscious()) {
multi = -1;
+/*JP
nomovemsg = "The explosion awakens you!";
+*/
+ nomovemsg = "\94\9a\94\82Å\82 \82È\82½\82Í\8bN\82«\82½\81I";
}
break;
case POLY_TRAP:
newsym(mtmp->mx, mtmp->my);
if (in_sight)
+#if 0 /*JP*/
pline("Click! %s triggers %s.", Monnam(mtmp),
trap->tseen ? "a rolling boulder trap" : something);
+#else
+ pline("\83J\83`\83b\81I%s\82Í%s\82Ì\83X\83C\83b\83`\82ð\93¥\82ñ\82¾\81I", Monnam(mtmp),
+ trap->tseen ? "\97\8e\8aâ\82Ìã©" : "\89½\82©");
+#endif
if (launch_obj(BOULDER, trap->launch.x, trap->launch.y,
trap->launch2.x, trap->launch2.y, style)) {
if (in_sight)
case VIBRATING_SQUARE:
if (see_it && !Blind) {
if (in_sight)
+#if 0 /*JP*/
pline("You see a strange vibration beneath %s %s.",
s_suffix(mon_nam(mtmp)),
makeplural(mbodypart(mtmp, FOOT)));
+#else
+ pline("%s\82Ì%s\82ª\95s\8ev\8bc\82É\90U\93®\82µ\82Ä\82¢\82é\82Ì\82ð\8c©\82½\81D",
+ mon_nam(mtmp), mbodypart(mtmp, FOOT));
+#endif
else
+/*JP
pline("You see the ground vibrate in the distance.");
+*/
+ pline("\89\93\82\82Å\92n\96Ê\82ª\90U\93®\82µ\82Ä\82¢\82é\82Ì\82ð\8c©\82½\81D");
seetrap(trap);
}
break;
return;
if (poly_when_stoned(youmonst.data) && polymon(PM_STONE_GOLEM))
return;
+/*JP
You("turn to stone...");
+*/
+ You("\90Î\82É\82È\82Á\82½\81D\81D\81D");
killer.format = KILLED_BY;
if (str != killer.name)
Strcpy(killer.name, str ? str : "");
mon_adjust_speed(mon, -3, (struct obj *) 0);
if (cansee(mon->mx, mon->my))
+/*JP
pline("%s turns to stone.", Monnam(mon));
+*/
+ pline("%s\82Í\90Î\82É\82È\82Á\82½\81D", Monnam(mon));
if (byplayer) {
stoned = TRUE;
xkilled(mon, 0);
if (uwep && uwep->otyp == CORPSE && touch_petrifies(&mons[uwep->corpsenm])
&& !Stone_resistance) {
+/*JP
pline("%s touch the %s corpse.", arg, mons[uwep->corpsenm].mname);
+*/
+ pline("%s%s\82Ì\8e\80\91Ì\82É\90G\82Á\82½\81D", arg, mons[uwep->corpsenm].mname);
+/*JP
Sprintf(kbuf, "%s corpse", an(mons[uwep->corpsenm].mname));
+*/
+ Sprintf(kbuf, "%s\82Ì\8e\80\91Ì\82Å", mons[uwep->corpsenm].mname);
instapetrify(kbuf);
/* life-saved; unwield the corpse if we can't handle it */
if (!uarmg && !Stone_resistance)
allow two-weapon combat when either weapon is a corpse] */
if (u.twoweap && uswapwep && uswapwep->otyp == CORPSE
&& touch_petrifies(&mons[uswapwep->corpsenm]) && !Stone_resistance) {
+/*JP
pline("%s touch the %s corpse.", arg, mons[uswapwep->corpsenm].mname);
+*/
+ pline("%s%s\82Ì\8e\80\91Ì\82É\90G\82Á\82½\81D", arg, mons[uswapwep->corpsenm].mname);
+/*JP
Sprintf(kbuf, "%s corpse", an(mons[uswapwep->corpsenm].mname));
+*/
+ Sprintf(kbuf, "%s\82Ì\8e\80\91Ì\82Å", mons[uswapwep->corpsenm].mname);
instapetrify(kbuf);
/* life-saved; unwield the corpse */
if (!uarmg && !Stone_resistance)
if (mwep && mwep->otyp == CORPSE && touch_petrifies(&mons[mwep->corpsenm])
&& !resists_ston(mon)) {
if (cansee(mon->mx, mon->my)) {
+#if 0 /*JP*/
pline("%s%s touches %s.", arg ? arg : "",
arg ? mon_nam(mon) : Monnam(mon),
corpse_xname(mwep, (const char *) 0, CXN_PFX_THE));
+#else
+ pline("%s%s\82Í%s\82Ì\8e\80\91Ì\82É\90G\82Á\82½\81D", arg ? arg : "",
+ arg ? mon_nam(mon) : Monnam(mon),
+ corpse_xname(mwep, (const char *) 0, CXN_PFX_THE));
+#endif
}
minstapetrify(mon, byplayer);
/* if life-saved, might not be able to continue wielding */
if (u.utrap) {
if (u.utraptype == TT_PIT) {
u.utrap = 0;
+/*JP
You("float up, out of the pit!");
+*/
+ You("\95\82\82«\8fã\82ª\82Á\82Ä\81C\97\8e\82µ\8c\8a\82©\82ç\8fo\82½\81I");
vision_full_recalc = 1; /* vision limits change */
fill_pit(u.ux, u.uy);
} else if (u.utraptype == TT_INFLOOR) {
+/*JP
Your("body pulls upward, but your %s are still stuck.",
+*/
+ Your("\91Ì\82Í\88ø\82«\8fã\82°\82ç\82ê\82½\81D\82µ\82©\82µ%s\82Í\82Ü\82¾\82Í\82Ü\82Á\82Ä\82¢\82é\81D",
makeplural(body_part(LEG)));
} else {
+/*JP
You("float up, only your %s is still stuck.", body_part(LEG));
+*/
+ You("\95\82\82«\8fo\82½\81D%s\82¾\82¯\82ª\82Í\82Ü\82Á\82Ä\82¢\82é\81D", body_part(LEG));
}
#if 0
} else if (Is_waterlevel(&u.uz)) {
+/*JP
pline("It feels as though you've lost some weight.");
+*/
+ You("\82Ü\82é\82Å\91Ì\8fd\82ª\8c¸\82Á\82½\82æ\82¤\82É\8a´\82¶\82½\81D");
#endif
} else if (u.uinwater) {
spoteffects(TRUE);
} else if (u.uswallow) {
+#if 0 /*JP*/
You(is_animal(u.ustuck->data) ? "float away from the %s."
: "spiral up into %s.",
is_animal(u.ustuck->data) ? surface(u.ux, u.uy)
: mon_nam(u.ustuck));
+#else
+ You(is_animal(u.ustuck->data) ? "%s\82Ì\92\86\82Å\95\82\82¢\82½\81D"
+ : "%s\82Ì\92\86\82Å\82®\82é\82®\82é\89ñ\93]\82µ\82½\81D",
+ is_animal(u.ustuck->data) ? surface(u.ux, u.uy)
+ : mon_nam(u.ustuck));
+#endif
} else if (Hallucination) {
+/*JP
pline("Up, up, and awaaaay! You're walking on air!");
+*/
+ pline("\8fã\82ê\81C\8fã\82ê\81C\8fã\82ê\82¥\82¥\82¥\82¥\81I\82 \82È\82½\82Í\8bó\92\86\82ð\95à\82¢\82Ä\82¢\82é\81I");
} else if (Is_airlevel(&u.uz)) {
+/*JP
You("gain control over your movements.");
+*/
+ You("\82¤\82Ü\82\95à\82¯\82é\82æ\82¤\82É\82È\82Á\82½\81D");
} else {
+/*JP
You("start to float in the air!");
+*/
+ You("\8bó\92\86\82É\95\82\82«\82Í\82¶\82ß\82½\81I");
}
if (u.usteed && !is_floater(u.usteed->data)
&& !is_flyer(u.usteed->data)) {
if (Lev_at_will) {
+/*JP
pline("%s magically floats up!", Monnam(u.usteed));
+*/
+ pline("%s\82Í\96\82\96@\82Ì\97Í\82Å\95\82\82¢\82½\81I", Monnam(u.usteed));
} else {
+/*JP
You("cannot stay on %s.", mon_nam(u.usteed));
+*/
+ You("%s\82Ì\8fã\82É\8fæ\82Á\82Ä\82¢\82ç\82ê\82È\82¢\81D", mon_nam(u.usteed));
dismount_steed(DISMOUNT_GENERIC);
}
}
if ((t = t_at(x, y)) && ((t->ttyp == PIT) || (t->ttyp == SPIKED_PIT))
&& (otmp = sobj_at(BOULDER, x, y))) {
obj_extract_self(otmp);
+/*JP
(void) flooreffects(otmp, x, y, "settle");
+*/
+ (void) flooreffects(otmp, x, y, "\82Í\82Ü\82é");
}
}
}
}
if (u.uswallow) {
+#if 0 /*JP*/
You("float down, but you are still %s.",
is_animal(u.ustuck->data) ? "swallowed" : "engulfed");
+#else
+ You("\92\85\92n\82µ\82½\82ª\81C\82Ü\82¾\88ù\82Ý\8d\9e\82Ü\82ê\82½\82Ü\82Ü\82¾\81D");
+#endif
return 1;
}
if (!Flying) {
if (!u.uswallow && u.ustuck) {
if (sticks(youmonst.data))
+#if 0 /*JP:T*/
You("aren't able to maintain your hold on %s.",
mon_nam(u.ustuck));
+#else
+ You("%s\82ð\82Â\82©\82Ü\82¦\91±\82¯\82Ä\82¢\82ç\82ê\82È\82\82È\82Á\82½\81D",
+ mon_nam(u.ustuck));
+#endif
else
+#if 0 /*JP:T*/
pline("Startled, %s can no longer hold you!",
mon_nam(u.ustuck));
+#else
+ pline("%s\82Í\8bÁ\82¢\82Ä\82 \82È\82½\82ð\95ú\82µ\82Ä\82µ\82Ü\82Á\82½\81I",
+ mon_nam(u.ustuck));
+#endif
u.ustuck = 0;
}
/* kludge alert:
if (!trap) {
trap = t_at(u.ux, u.uy);
if (Is_airlevel(&u.uz)) {
+/*JP
You("begin to tumble in place.");
+*/
+ You("\82»\82Ì\8fê\82Å\82Ð\82Á\82\82è\95Ô\82è\82Í\82¶\82ß\82½\81D");
} else if (Is_waterlevel(&u.uz) && !no_msg) {
+/*JP
You_feel("heavier.");
+*/
+ You("\8fd\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
/* u.uinwater msgs already in spoteffects()/drown() */
} else if (!u.uinwater && !no_msg) {
if (!(emask & W_SADDLE)) {
* once levitation ceases knocks you off your feet.
*/
if (Hallucination)
+/*JP
pline("Bummer! You've crashed.");
+*/
+ pline("\82â\82ß\82Ä\82¥\81I\82 \82È\82½\82Í\92@\82«\82Â\82¯\82ç\82ê\82½\81D");
else
+/*JP
You("fall over.");
+*/
+ You("\82Â\82Ü\82Ã\82¢\82½\81D");
+/*JP
losehp(rnd(2), "dangerous winds", KILLED_BY);
+*/
+ losehp(rnd(2), "\8aë\8c¯\82È\95\97\82Å", KILLED_BY);
if (u.usteed)
dismount_steed(DISMOUNT_FELL);
+/*JP
selftouch("As you fall, you");
+*/
+ selftouch("\97\8e\82¿\82È\82ª\82ç\81C\82 \82È\82½\82Í");
} else if (u.usteed && (is_floater(u.usteed->data)
|| is_flyer(u.usteed->data))) {
You("settle more firmly in the saddle.");
? "splashed down"
: "hit the ground");
} else {
+/*JP
You("float gently to the %s.", surface(u.ux, u.uy));
+*/
+ You("\90Ã\82©\82É%s\82Ü\82Å\92H\82è\82Â\82¢\82½\81D", surface(u.ux, u.uy));
}
}
}
*/
if ((box && !carried(box)) ? is_pool(box->ox, box->oy) : Underwater) {
+/*JP
pline("A cascade of steamy bubbles erupts from %s!",
+*/
+ pline("\8fö\8bC\82Ì\96A\82ª%s\82©\82ç\82µ\82ã\81[\82Á\82Æ\94\90¶\82µ\82½\81I",
the(box ? xname(box) : surface(u.ux, u.uy)));
if (Fire_resistance)
+/*JP
You("are uninjured.");
+*/
+ You("\8f\9d\82Â\82©\82È\82¢\81D");
else
+/*JP
losehp(rnd(3), "boiling water", KILLED_BY);
+*/
+ losehp(rnd(3), "\95¦\93«\82µ\82½\90\85\82Å", KILLED_BY);
return;
}
+#if 0 /*JP*/
pline("A %s %s from %s!", tower_of_flame, box ? "bursts" : "erupts",
the(box ? xname(box) : surface(u.ux, u.uy)));
+#else
+ pline("\89Î\92\8c\82ª%s\82©\82ç%s\81I", box ? xname(box) : surface(u.ux,u.uy),
+ box ? "\90\81\82«\8fo\82µ\82½" : "\97§\82¿\82Ì\82Ú\82Á\82½");
+#endif
if (Fire_resistance) {
shieldeff(u.ux, u.uy);
num = rn2(2);
u.uhpmax -= rn2(min(u.uhpmax, num + 1)), context.botl = 1;
}
if (!num)
+/*JP
You("are uninjured.");
+*/
+ You("\8f\9d\82Â\82©\82È\82¢\81D");
else
+#if 0 /*JP*/
losehp(num, tower_of_flame, KILLED_BY_AN); /* fire damage */
+#else
+ losehp(num, "\89Î\92\8c\82Å", KILLED_BY_AN); /* fire damage */
+#endif
burn_away_slime();
if (burnarmor(&youmonst) || rn2(3)) {
destroy_item(POTION_CLASS, AD_FIRE);
}
if (!box && burn_floor_objects(u.ux, u.uy, see_it, TRUE) && !see_it)
+/*JP
You("smell paper burning.");
+*/
+ You("\8e\86\82Ì\82±\82°\82é\93õ\82¢\82ª\82µ\82½\81D");
if (is_ice(u.ux, u.uy))
melt_ice(u.ux, u.uy, (char *) 0);
}
register int cnt = rnd(4);
if (!resists_blnd(&youmonst)) {
+/*JP
You("are momentarily blinded by a flash of light!");
+*/
+ You("\82Ü\82Î\82ä\82¢\8cõ\82Å\88ê\8fu\96Ú\82ª\82\82ç\82ñ\82¾\81I");
make_blinded((long) rn1(5, 10), FALSE);
if (!Blind)
Your1(vision_clears);
} else if (!Blind) {
+/*JP
You_see("a flash of light!");
+*/
+ You("\82Ü\82Î\82ä\82¢\8cõ\82ð\97\81\82Ñ\82½\81I");
} else
+/*JP
You_hear("a deafening roar!");
+*/
+ You_hear("\8e¨\82ð\82Â\82ñ\82´\82\82æ\82¤\82È\99ô\9aK\82ð\95·\82¢\82½\81I");
incr_itimeout(&HDeaf, rn1(20, 30));
while (cnt--)
(void) makemon((struct permonst *) 0, u.ux, u.uy, NO_MM_FLAGS);
/* odd feelings */
case 13:
+/*JP
pline("A shiver runs up and down your %s!", body_part(SPINE));
+*/
+ pline("\90k\82¦\82ª\82 \82È\82½\82Ì%s\82ð\91\96\82Á\82½\81I", body_part(SPINE));
break;
case 14:
+#if 0 /*JP*/
You_hear(Hallucination ? "the moon howling at you."
: "distant howling.");
+#else
+ You_hear(Hallucination ? "\8c\8e\82ª\96i\82¦\82Ä\82¢\82é\82Ì\82ð\95·\82¢\82½\81D"
+ : "\89\93\95û\82Ì\89\93\96i\82ð\95·\82¢\82½\81D");
+#endif
break;
case 15:
if (on_level(&u.uz, &qstart_level))
+#if 0 /*JP*/
You_feel(
"%slike the prodigal son.",
(flags.female || (Upolyd && is_neuter(youmonst.data)))
? "oddly "
: "");
+#else /*JP \90¹\8f\91\82Ì\83\8b\83J\93`\82æ\82è */
+ You("%s\95ú\93 \91§\8eq\82Ì\82æ\82¤\82É\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D",
+ (flags.female || (Upolyd && is_neuter(youmonst.data)))
+ ? "\88Ù\8fí\82É"
+ : "");
+#endif
else
+#if 0 /*JP*/
You("suddenly yearn for %s.",
Hallucination
? "Cleveland"
: (In_quest(&u.uz) || at_dgn_entrance("The Quest"))
? "your nearby homeland"
: "your distant homeland");
+#else
+ You("\93Ë\91R%s\82ª\97ö\82µ\82\82È\82Á\82½\81D",
+ Hallucination ? "\90Â\90X"
+ : (In_quest(&u.uz) || at_dgn_entrance("\83N\83G\83X\83g"))
+ ? "\82·\82®\82»\82±\82É\82 \82é\8cÌ\8b½"
+ : "\82Í\82é\82©\82©\82È\82½\82Ì\8cÌ\8b½");
+#endif
break;
case 16:
+/*JP
Your("pack shakes violently!");
+*/
+ Your("\91Ü\82Í\8c\83\82µ\82\97h\82ê\82½\81I");
break;
case 17:
+/*JP
You(Hallucination ? "smell hamburgers." : "smell charred flesh.");
+*/
+ You(Hallucination ? "\83n\83\93\83o\81[\83K\81[\82Ì\93õ\82¢\82ª\82µ\82½\81D" : "\8d\95\8fÅ\82°\82Ì\93÷\82Ì\93õ\82¢\82ª\82µ\82½\81D");
break;
case 18:
+/*JP
You_feel("tired.");
+*/
+ You("\94æ\82ê\82ð\8a´\82¶\82½\81D");
break;
/* very occasionally something nice happens. */
return FALSE;
/* Container is burnt up - dump contents out */
if (in_sight)
+/*JP
pline("%s catches fire and burns.", Yname2(obj));
+*/
+ pline("%s\82Í\89Î\82ª\82Â\82¢\82Ä\94R\82¦\82½\81D", Yname2(obj));
if (Has_contents(obj)) {
if (in_sight)
+/*JP
pline("Its contents fall out.");
+*/
+ pline("\92\86\90g\82ª\8fo\82Ä\82«\82½\81D");
for (otmp = obj->cobj; otmp; otmp = ncobj) {
ncobj = otmp->nobj;
obj_extract_self(otmp);
return FALSE;
if (obj->otyp == SPE_BOOK_OF_THE_DEAD) {
if (in_sight)
+/*JP
pline("Smoke rises from %s.", the(xname(obj)));
+*/
+ pline("%s\82©\82ç\89\8c\82ª\82 \82ª\82Á\82½\81D", the(xname(obj)));
return FALSE;
}
dindx = (obj->oclass == SCROLL_CLASS) ? 3 : 4;
if (in_sight)
+#if 0 /*JP*/
pline("%s %s.", Yname2(obj),
destroy_strings[dindx][(obj->quan > 1L)]);
+#else
+ pline("%s\82Í%s\81D", Yname2(obj),
+ destroy_strings[dindx][(obj->quan > 1L)]);
+#endif
setnotworn(obj);
delobj(obj);
return TRUE;
} else if (obj->oclass == POTION_CLASS) {
dindx = (obj->otyp != POT_OIL) ? 1 : 2;
if (in_sight)
+#if 0 /*JP*/
pline("%s %s.", Yname2(obj),
destroy_strings[dindx][(obj->quan > 1L)]);
+#else
+ pline("%s\82Í%s\81D", Yname2(obj),
+ destroy_strings[dindx][(obj->quan > 1L)]);
+#endif
setnotworn(obj);
delobj(obj);
return TRUE;
}
if (num && (Blind && !couldsee(x, y)))
+/*JP
You("smell smoke.");
+*/
+ You("\89\8c\82Ì\82É\82¨\82¢\82ª\82µ\82½\81D");
return num;
}
) {
if (!Blind) {
if (victim == &youmonst)
+/*JP
pline("Your %s.", aobjnam(obj, "fade"));
+*/
+ pline("%s\82Ì\95¶\8e\9a\82Í\94\96\82ê\82½\81D", xname(obj));
else if (vismon)
+#if 0 /*JP*/
pline("%s %s.", s_suffix(Monnam(victim)),
aobjnam(obj, "fade"));
+#else
+ pline("%s\82Ì%s\82Ì\95¶\8e\9a\82Í\94\96\82ê\82½\81D", Monnam(victim),
+ xname(obj));
+#endif
}
}
obj->otyp = SCR_BLANK_PAPER;
} else if (Is_container(obj) && !Is_box(obj)
&& (obj->otyp != OILSKIN_SACK || (obj->cursed && !rn2(3)))) {
if (carried(obj))
+/*JP
pline("Water gets into your %s!", ostr);
+*/
+ pline("\90\85\82ª%s\82Ì\92\86\82É\93ü\82Á\82½\81I", ostr);
water_damage_chain(obj->cobj, FALSE);
return ER_NOTHING;
return 0;
#endif
if (carried(obj))
+/*JP
pline("Your %s %s.", ostr, vtense(ostr, "fade"));
+*/
+ pline("%s\82Ì\95¶\8e\9a\82Í\94\96\82ê\82½\81D", ostr);
obj->otyp = SCR_BLANK_PAPER;
obj->dknown = 0;
return ER_DAMAGED;
} else if (obj->oclass == SPBOOK_CLASS) {
if (obj->otyp == SPE_BOOK_OF_THE_DEAD) {
+/*JP
pline("Steam rises from %s.", the(xname(obj)));
+*/
+ pline("\8fö\8bC\82ª%s\82©\82ç\97§\82¿\82Ì\82Ú\82Á\82½\81D", xname(obj));
return 0;
}
if (carried(obj))
+/*JP
pline("Your %s %s.", ostr, vtense(ostr, "fade"));
+*/
+ pline("%s\82Ì\95¶\8e\9a\82Í\94\96\82ê\82½\81D", ostr);
if (obj->otyp == SPE_NOVEL) {
obj->novelidx = 0;
* variant.
*/
bufp = simpleonames(obj);
+#if 0 /*JP*/
pline("%s %s %s!", /* "A potion explodes!" */
!exploded ? (one ? "A" : "Some")
: (one ? "Another" : "More"),
bufp, vtense(bufp, "explode"));
+#else
+ pline("\96ò\95r\82ª\94\9a\94\82µ\82½\81I");
+#endif
if (acid_ctx.ctx_valid) {
if (obj->dknown)
acid_ctx.dkn_boom++;
return ER_DESTROYED;
} else if (obj->odiluted) {
if (carried(obj))
+/*JP
pline("Your %s %s further.", ostr, vtense(ostr, "dilute"));
+*/
+ pline("%s\82Í\82³\82ç\82É\94\96\82Ü\82Á\82½\81D", ostr);
obj->otyp = POT_WATER;
obj->dknown = 0;
return ER_DAMAGED;
} else if (obj->otyp != POT_WATER) {
if (carried(obj))
+/*JP
pline("Your %s %s.", ostr, vtense(ostr, "dilute"));
+*/
+ pline("%s\82Í\94\96\82Ü\82Á\82½\81D", ostr);
obj->odiluted++;
if (carried(obj))
}
if (!u.uinwater) {
+#if 0 /*JP*/
You("%s into the water%c", Is_waterlevel(&u.uz) ? "plunge" : "fall",
Amphibious || Swimming ? '.' : '!');
+#else
+ You("\90\85\82Ì\92\86\82É%s%s", Is_waterlevel(&u.uz) ? "\94ò\82Ñ\82±\82ñ\82¾" : "\97\8e\82¿\82½",
+ Amphibious || Swimming ? "\81D" : "\81I");
+#endif
if (!Swimming && !Is_waterlevel(&u.uz))
+/*JP
You("sink like %s.", Hallucination ? "the Titanic" : "a rock");
+*/
+ You("%s\82Ì\82æ\82¤\82É\92¾\82ñ\82¾\81D", Hallucination ? "\83^\83C\83^\83j\83b\83N\8d\86" : "\8aâ");
}
water_damage_chain(invent, FALSE);
if (u.umonnum == PM_GREMLIN && rn2(3))
(void) split_mon(&youmonst, (struct monst *) 0);
else if (u.umonnum == PM_IRON_GOLEM) {
+/*JP
You("rust!");
+*/
+ You("\8eK\82Ñ\82½\81I");
i = Maybe_Half_Phys(d(2, 6));
if (u.mhmax > i)
u.mhmax -= i;
+/*JP
losehp(i, "rusting away", KILLED_BY);
+*/
+ losehp(i, "\8a®\91S\82É\8eK\82Ñ\82Ä", KILLED_BY);
}
if (inpool_ok)
return FALSE;
if ((i = number_leashed()) > 0) {
+#if 0 /*JP*/
pline_The("leash%s slip%s loose.", (i > 1) ? "es" : "",
(i > 1) ? "" : "s");
+#else
+ pline("\95R\82ª\82ä\82é\82ñ\82¾\81D");
+#endif
unleash_all();
}
if (Amphibious || Swimming) {
if (Amphibious) {
if (flags.verbose)
+/*JP
pline("But you aren't drowning.");
+*/
+ pline("\82µ\82©\82µ\81C\82 \82È\82½\82Í\93M\82ê\82È\82©\82Á\82½\81D");
if (!Is_waterlevel(&u.uz)) {
if (Hallucination)
+/*JP
Your("keel hits the bottom.");
+*/
+ You("\92ê\82É\83j\81[\83h\83\8d\83b\83v\82ð\8c\88\82ß\82½\81D");
else
+/*JP
You("touch bottom.");
+*/
+ You("\92ê\82É\82Â\82¢\82½\81D");
}
}
if (Punished) {
}
if ((Teleportation || can_teleport(youmonst.data)) && !Unaware
&& (Teleport_control || rn2(3) < Luck + 2)) {
+#if 0 /*JP*/
You("attempt a teleport spell."); /* utcsri!carroll */
+#else
+ You("\8fu\8aÔ\88Ú\93®\82Ì\8eô\95¶\82ð\8f¥\82¦\82Ä\82Ý\82½\81D");
+#endif
if (!level.flags.noteleport) {
(void) dotele();
if (!is_pool(u.ux, u.uy))
return TRUE;
} else
+/*JP
pline_The("attempted teleport spell fails.");
+*/
+ pline("\8fu\8aÔ\88Ú\93®\82Ì\8eô\95¶\82Í\8e¸\94s\82µ\82½\81D");
}
if (u.usteed) {
dismount_steed(DISMOUNT_GENERIC);
while still asleep; we can't do that the same way that waking
due to combat is handled; note unmul() clears u.usleep */
if (u.usleep)
+/*JP
unmul("Suddenly you wake up!");
+*/
+ unmul("\93Ë\91R\82 \82È\82½\82Í\96Ú\82ª\8ao\82ß\82½\81I");
/* being doused will revive from fainting */
if (is_fainted())
reset_faint();
/* time to do some strip-tease... */
boolean succ = Is_waterlevel(&u.uz) ? TRUE : emergency_disrobe(&lost);
+/*JP
You("try to crawl out of the water.");
+*/
+ You("\90\85\82©\82ç\82Í\82¢\82 \82ª\82ë\82¤\82Æ\82µ\82½\81D");
if (lost)
+/*JP
You("dump some of your gear to lose weight...");
+*/
+ You("\91Ì\82ð\8cy\82\82·\82é\82½\82ß\82¢\82\82Â\82©\95¨\82ð\93\8a\82°\82·\82Ä\82½\81D\81D\81D");
if (succ) {
+/*JP
pline("Pheew! That was close.");
+*/
+ pline("\83n\83@\83n\83@\81I\82 \82Ô\82È\82©\82Á\82½\81D");
teleds(x, y, TRUE);
return TRUE;
}
/* still too much weight */
+/*JP
pline("But in vain.");
+*/
+ pline("\82ª\81C\96³\91Ê\82¾\82Á\82½\81D");
}
u.uinwater = 1;
+/*JP
You("drown.");
+*/
+ You("\93M\82ê\82½\81D");
for (i = 0; i < 5; i++) { /* arbitrary number of loops */
/* killer format and name are reconstructed every iteration
because lifesaving resets them */
if (safe_teleds(TRUE))
break; /* successful life-save */
/* nowhere safe to land; repeat drowning loop... */
+/*JP
pline("You're still drowning.");
+*/
+ You("\82Ü\82¾\93M\82ê\82Ä\82¢\82é\81D");
}
if (u.uinwater) {
u.uinwater = 0;
+#if 0 /*JP*/
You("find yourself back %s.",
Is_waterlevel(&u.uz) ? "in an air bubble" : "on land");
+#else
+ You("\82¢\82Â\82Ì\82Ü\82É\82©%s\82É\82¢\82é\82Ì\82É\8bC\82ª\82Â\82¢\82½\81D",
+ Is_waterlevel(&u.uz) ? "\8bó\8bC\82Ì\96A\82Ì\92\86" : "\92n\96Ê");
+#endif
}
return TRUE;
}
{
if (!u.uenmax) {
/* energy is completely gone */
+/*JP
You_feel("momentarily lethargic.");
+*/
+ You("\88ê\8fu\96³\8bC\97Í\8a´\82ð\8a´\82¶\82½\81D");
} else {
/* throttle further loss a bit when there's not much left to lose */
if (n > u.uenmax || n > u.ulevel)
n = rnd(n);
+/*JP
You_feel("your magical energy drain away%c", (n > u.uen) ? '!' : '.');
+*/
+ You("\96\82\96@\82Ì\83G\83l\83\8b\83M\81[\82ª\8bz\82¢\82Æ\82ç\82ê\82½\82æ\82¤\82È\8bC\82ª\82µ\82½%s", (n > u.uen) ? "\81I" : "\81D");
u.uen -= n;
if (u.uen < 0) {
u.uenmax -= rnd(-u.uen);
dountrap()
{
if (near_capacity() >= HVY_ENCUMBER) {
+/*JP
pline("You're too strained to do that.");
+*/
+ pline("ã©\82ð\89ð\8f\9c\82µ\82æ\82¤\82É\82à\95¨\82ð\8e\9d\82¿\82·\82¬\82Ä\82¢\82é\81D");
return 0;
}
if ((nohands(youmonst.data) && !webmaker(youmonst.data))
|| !youmonst.data->mmove) {
+/*JP
pline("And just how do you expect to do that?");
+*/
+ pline("\82¢\82Á\82½\82¢\89½\82ð\8aú\91Ò\82µ\82Ä\82¢\82é\82ñ\82¾\82¢\81H");
return 0;
} else if (u.ustuck && sticks(youmonst.data)) {
+/*JP
pline("You'll have to let go of %s first.", mon_nam(u.ustuck));
+*/
+ pline("%s\82ð\8eè\97£\82³\82È\82¢\82±\82Æ\82É\82Í\82Å\82«\82È\82¢\81D", mon_nam(u.ustuck));
return 0;
}
if (u.ustuck || (welded(uwep) && bimanual(uwep))) {
+/*JP
Your("%s seem to be too busy for that.", makeplural(body_part(HAND)));
+*/
+ Your("\82»\82ñ\82È\82±\82Æ\82ð\82·\82é\97]\97T\82È\82ñ\82Ä\82È\82¢\81D");
return 0;
}
return untrap(FALSE);
/* Test for monster first, monsters are displayed instead of trap. */
if (mtmp && (!mtmp->mtrapped || !holdingtrap)) {
+/*JP
pline("%s is in the way.", Monnam(mtmp));
+*/
+ pline("\82»\82±\82É\82Í%s\82ª\82¢\82é\81D", Monnam(mtmp));
return 0;
}
/* We might be forced to move onto the trap's location. */
if (sobj_at(BOULDER, ttmp->tx, ttmp->ty) && !Passes_walls && !under_u) {
+/*JP
There("is a boulder in your way.");
+*/
+ pline("\82»\82±\82É\82Í\8aâ\82ª\82 \82é\81D");
return 0;
}
/* duplicate tight-space checks from test_move */
if ((invent && (inv_weight() + weight_cap() > 600))
|| bigmonst(youmonst.data)) {
/* don't allow untrap if they can't get thru to it */
+#if 0 /*JP*/
You("are unable to reach the %s!",
defsyms[trap_to_defsym(ttype)].explanation);
+#else
+ You("%s\82É\93Í\82©\82È\82¢\81I",
+ defsyms[trap_to_defsym(ttype)].explanation);
+#endif
return 0;
}
}
if (u.usteed && P_SKILL(P_RIDING) < P_BASIC)
rider_cant_reach();
else
+#if 0 /*JP*/
You("are unable to reach the %s!",
defsyms[trap_to_defsym(ttype)].explanation);
+#else
+ You("%s\82É\93Í\82©\82È\82¢\81I",
+ defsyms[trap_to_defsym(ttype)].explanation);
+#endif
return 0;
}
/* Will our hero succeed? */
if (force_failure || untrap_prob(ttmp)) {
if (rnl(5)) {
+/*JP
pline("Whoops...");
+*/
+ pline("\82¤\82í\82Á\81D\81D\81D");
if (mtmp) { /* must be a trap that holds monsters */
if (ttype == BEAR_TRAP) {
if (mtmp->mtame)
if (ttmp2) {
pline_The(
+/*JP
"webbing sticks to you. You're caught too!");
+*/
+ "\82\82à\82Ì\91\83\82ª\82 \82È\82½\82É\82©\82ç\82ñ\82Å\82«\82½\81D\82Ü\82·\82Ü\82·\95ß\82Ü\82Á\82Ä\82µ\82Ü\82Á\82½\81I");
dotrap(ttmp2, NOWEBMSG);
if (u.usteed && u.utrap) {
/* you, not steed, are trapped */
}
}
} else
+/*JP
pline("%s remains entangled.", Monnam(mtmp));
+*/
+ pline("%s\82Í\82©\82ç\82Ü\82Á\82½\82Ü\82Ü\82¾\81D", Monnam(mtmp));
}
} else if (under_u) {
dotrap(ttmp, 0);
move_into_trap(ttmp);
}
} else {
+#if 0 /*JP*/
pline("%s %s is difficult to %s.",
ttmp->madeby_u ? "Your" : under_u ? "This" : "That",
defsyms[trap_to_defsym(ttype)].explanation,
(ttype == WEB) ? "remove" : "disarm");
+#else
+ pline("%s%s\82ð\89ð\8f\9c\82·\82é\82Ì\82Í\8d¢\93ï\82¾\81D",
+ ttmp->madeby_u ? "\82 \82È\82½\82Ì\8ed\8a|\82¯\82½" : under_u ? "\82±\82Ì" : "\82»\82Ì",
+ defsyms[trap_to_defsym(ttype)].explanation);
+#endif
}
return 1;
}
&& mtmp->data->mlet != S_HUMAN) {
mtmp->mpeaceful = 1;
set_malign(mtmp); /* reset alignment */
+/*JP
pline("%s is grateful.", Monnam(mtmp));
+*/
+ pline("%s\82Í\8aì\82ñ\82Å\82¢\82é\81D", Monnam(mtmp));
}
/* Helping someone out of a trap is a nice thing to do,
* A lawful may be rewarded, but not too often. */
if (!rn2(3) && !rnl(8) && u.ualign.type == A_LAWFUL) {
adjalign(1);
+/*JP
You_feel("that you did the right thing.");
+*/
+ You("\90³\82µ\82¢\82±\82Æ\82ð\82µ\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
}
}
}
There's no need for a cockatrice test, only the trap is touched */
if ((mtmp = m_at(ttmp->tx, ttmp->ty)) != 0) {
mtmp->mtrapped = 0;
+#if 0 /*JP*/
You("remove %s %s from %s.", the_your[ttmp->madeby_u],
(ttmp->ttyp == BEAR_TRAP) ? "bear trap" : "webbing",
mon_nam(mtmp));
+#else
+ You("%s%s\82ð%s\82©\82ç\82Í\82¸\82µ\82½\81D", set_you[ttmp->madeby_u],
+ (ttmp->ttyp == BEAR_TRAP) ? "\8cF\82Ìã©" : "\82\82à\82Ì\91\83",
+ mon_nam(mtmp));
+#endif
reward_untrap(ttmp, mtmp);
} else {
if (ttmp->ttyp == BEAR_TRAP) {
+/*JP
You("disarm %s bear trap.", the_your[ttmp->madeby_u]);
+*/
+ You("%s\8cF\82Ìã©\82ð\89ð\8f\9c\82µ\82½\81D", set_you[ttmp->madeby_u]);
cnv_trap_obj(BEARTRAP, 1, ttmp, FALSE);
} else /* if (ttmp->ttyp == WEB) */ {
+/*JP
You("succeed in removing %s web.", the_your[ttmp->madeby_u]);
+*/
+ You("%s\82\82à\82Ì\91\83\82ð\8eæ\82è\8f\9c\82¢\82½\81D", set_you[ttmp->madeby_u]);
deltrap(ttmp);
}
}
if (fails < 2)
return fails;
+/*JP
You("disarm %s land mine.", the_your[ttmp->madeby_u]);
+*/
+ You("%s\92n\97\8b\82ð\89ð\8f\9c\82µ\82½\81D", set_you[ttmp->madeby_u]);
cnv_trap_obj(LAND_MINE, 1, ttmp, FALSE);
return 1;
}
useup(obj); /* oil */
makeknown(POT_OIL);
}
+#if 0 /*JP*/
You("repair the squeaky board."); /* no madeby_u */
+#else
+ You("\82«\82µ\82Þ\94Â\82ð\8fC\97\9d\82µ\82½\81D"); /* no madeby_u */
+#endif
deltrap(ttmp);
newsym(u.ux + u.dx, u.uy + u.dy);
more_experienced(1, 5);
if (fails < 2)
return fails;
+/*JP
You("disarm %s trap.", the_your[ttmp->madeby_u]);
+*/
+ pline("%sã©\82ð\89ð\8f\9c\82µ\82½\81D", set_you[ttmp->madeby_u]);
cnv_trap_obj(otyp, 50 - rnl(50), ttmp, FALSE);
return 1;
}
int wc = weight_cap();
if (((wt * 2) / wc) >= HVY_ENCUMBER) {
+#if 0 /*JP*/
pline("%s is %s for you to lift.", Monnam(mtmp),
stuff ? "carrying too much" : "too heavy");
+#else
+ pline("%s\82Í%s\8e\9d\82¿\82 \82°\82é\82±\82Æ\82ª\82Å\82«\82È\82¢\81D", Monnam(mtmp),
+ stuff ? "\95¨\82ð\8e\9d\82¿\82·\82¬\82Ä\82¨\82è" : "\8fd\82·\82¬\82Ä");
+#endif
if (!ttmp->madeby_u && !mtmp->mpeaceful && mtmp->mcanmove
&& !mindless(mtmp->data) && mtmp->data->mlet != S_HUMAN
&& rnl(10) < 3) {
mtmp->mpeaceful = 1;
set_malign(mtmp); /* reset alignment */
+/*JP
pline("%s thinks it was nice of you to try.", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\93w\97Í\82É\8a´\8eÓ\82µ\82Ä\82¢\82é\82æ\82¤\82¾\81D", Monnam(mtmp));
}
return 0;
}
* Test the monster first - monsters are displayed before traps.
*/
if (!mtmp->mtrapped) {
+/*JP
pline("%s isn't trapped.", Monnam(mtmp));
+*/
+ pline("%s\82Íã©\82É\82©\82©\82Á\82Ä\82¢\82È\82¢\81D", Monnam(mtmp));
return 0;
}
/* Do you have the necessary capacity to lift anything? */
/* Will our hero succeed? */
if ((uprob = untrap_prob(ttmp)) && !mtmp->msleeping && mtmp->mcanmove) {
+#if 0 /*JP*/
You("try to reach out your %s, but %s backs away skeptically.",
makeplural(body_part(ARM)), mon_nam(mtmp));
+#else
+ You("%s\82ð\8d·\82µ\89\84\82×\82æ\82¤\82Æ\82µ\82½\82ª%s\82Í\8cx\89ú\82µ\82Ä\82¢\82é\81D",
+ body_part(ARM), mon_nam(mtmp));
+#endif
return 1;
}
/* is it a cockatrice?... */
if (touch_petrifies(mtmp->data) && !uarmg && !Stone_resistance) {
+#if 0 /*JP*/
You("grab the trapped %s using your bare %s.", mtmp->data->mname,
makeplural(body_part(HAND)));
+#else
+ You("ã©\82É\82©\82©\82Á\82Ä\82¢\82é%s\82ð\91f%s\82Å\92Í\82ñ\82¾\81D", mtmp->data->mname,
+ body_part(HAND));
+#endif
if (poly_when_stoned(youmonst.data) && polymon(PM_STONE_GOLEM)) {
display_nhwindow(WIN_MESSAGE, FALSE);
} else {
char kbuf[BUFSZ];
+#if 0 /*JP*/
Sprintf(kbuf, "trying to help %s out of a pit",
an(mtmp->data->mname));
+#else
+ Sprintf(kbuf, "ã©\82É\82©\82©\82Á\82Ä\82¢\82é%s\82ð\8f\95\82¯\82æ\82¤\82Æ\82µ\82Ä",
+ a_monnam(mtmp));
+#endif
instapetrify(kbuf);
return 1;
}
}
/* need to do cockatrice check first if sleeping or paralyzed */
if (uprob) {
+/*JP
You("try to grab %s, but cannot get a firm grasp.", mon_nam(mtmp));
+*/
+ You("%s\82ð\82Â\82©\82à\82¤\82Æ\82µ\82½\82ª\81C\82µ\82Á\82©\82è\82Æ\88¬\82ê\82È\82©\82Á\82½\81D", mon_nam(mtmp));
if (mtmp->msleeping) {
mtmp->msleeping = 0;
+/*JP
pline("%s awakens.", Monnam(mtmp));
+*/
+ pline("%s\82Í\96Ú\82ð\8ao\82Ü\82µ\82½\81D", Monnam(mtmp));
}
return 1;
}
+#if 0 /*JP*/
You("reach out your %s and grab %s.", makeplural(body_part(ARM)),
mon_nam(mtmp));
+#else
+ You("%s\82ð\90L\82Î\82µ\82Ä%s\82ð\82Â\82©\82ñ\82¾\81D", body_part(ARM),
+ mon_nam(mtmp));
+#endif
if (mtmp->msleeping) {
mtmp->msleeping = 0;
+/*JP
pline("%s awakens.", Monnam(mtmp));
+*/
+ pline("%s\82Í\96Ú\82ð\8ao\82Ü\82µ\82½\81D", Monnam(mtmp));
} else if (mtmp->mfrozen && !rn2(mtmp->mfrozen)) {
/* After such manhandling, perhaps the effect wears off */
mtmp->mcanmove = 1;
mtmp->mfrozen = 0;
+/*JP
pline("%s stirs.", Monnam(mtmp));
+*/
+ pline("%s\82Í\93®\82«\8en\82ß\82½\81D", Monnam(mtmp));
}
/* is the monster too heavy? */
if (!try_lift(mtmp, ttmp, wt, TRUE))
return 1;
+/*JP
You("pull %s out of the pit.", mon_nam(mtmp));
+*/
+ You("%s\82ð\97\8e\82µ\8c\8a\82©\82ç\82Ð\82Á\82Ï\82Á\82½\81D", mon_nam(mtmp));
mtmp->mtrapped = 0;
fill_pit(mtmp->mx, mtmp->my);
reward_untrap(ttmp, mtmp);
x = u.ux + u.dx;
y = u.uy + u.dy;
if (!isok(x, y)) {
+/*JP
pline_The("perils lurking there are beyond your grasp.");
+*/
+ pline_The("\82»\82±\82É\82 \82é\8aë\8c¯\82Í\82 \82È\82½\82Ì\8eè\82É\95\89\82¦\82È\82¢\81D");
return 0;
}
ttmp = t_at(x, y);
if (ttmp)
Strcat(the_trap, an(trapdescr));
if (ttmp && boxcnt)
+/*JP
Strcat(the_trap, " and ");
+*/
+ Strcat(the_trap, "\82Æ");
if (boxcnt)
+/*JP
Strcat(the_trap, (boxcnt == 1) ? "a container" : "containers");
+*/
+ Strcat(the_trap, "\97e\8aí");
useplural = ((ttmp && boxcnt > 0) || boxcnt > 1);
/* note: boxcnt and useplural will always be 0 for !here case */
if (ttmp || boxcnt)
+#if 0 /*JP*/
There("%s %s %s but you can't reach %s%s.",
useplural ? "are" : "is", the_trap, here ? "here" : "there",
useplural ? "them" : "it",
u.usteed ? " while mounted" : "");
+#else
+ pline("%s\82ª\82 \82é\82ª\81C%s\93Í\82©\82È\82¢\81D",
+ the_trap,
+ u.usteed ? "\8fæ\82Á\82Ä\82¢\82é\82Æ" : "");
+#endif
trap_skipped = (ttmp != 0);
} else { /* deal_with_floor_trap */
Strcpy(the_trap, the(trapdescr));
if (boxcnt) {
if (ttmp->ttyp == PIT || ttmp->ttyp == SPIKED_PIT) {
+#if 0 /*JP*/
You_cant("do much about %s%s.", the_trap,
u.utrap ? " that you're stuck in"
: " while standing on the edge of it");
+#else
+ pline("%s%s\82É\91Î\82µ\82Ä\82Í\82½\82¢\82µ\82½\82±\82Æ\82Í\82Å\82«\82È\82¢\81D",
+ u.utrap ? "\8e©\95ª\82ª\82Í\82Ü\82Á\82Ä\82¢\82é"
+ : "\82·\82®\82»\82Î\82Ì",
+ the_trap);
+#endif
trap_skipped = TRUE;
deal_with_floor_trap = FALSE;
} else {
+#if 0 /*JP*/
Sprintf(
qbuf, "There %s and %s here. %s %s?",
(boxcnt == 1) ? "is a container" : "are containers",
an(trapdescr),
(ttmp->ttyp == WEB) ? "Remove" : "Disarm", the_trap);
+#else
+ Sprintf(
+ qbuf, "\94 \82Æ%s\82ª\82 \82é\81D%s\81H",
+ trapdescr,
+ (ttmp->ttyp == WEB) ? "\8eæ\82è\8f\9c\82" : "\89ð\8f\9c\82·\82é");
+#endif
switch (ynq(qbuf)) {
case 'q':
return 0;
}
if (deal_with_floor_trap) {
if (u.utrap) {
+#if 0 /*JP*/
You("cannot deal with %s while trapped%s!", the_trap,
(x == u.ux && y == u.uy) ? " in it" : "");
+#else
+ pline("ã©\82É\82©\82©\82Á\82Ä\82¢\82é\8aÔ\82Íã©\82ð\89ð\8f\9c\82Å\82«\82È\82¢\81I");
+#endif
return 1;
}
if ((mtmp = m_at(x, y)) != 0
case PIT:
case SPIKED_PIT:
if (here) {
+/*JP
You("are already on the edge of the pit.");
+*/
+ You("\82à\82¤\97\8e\82µ\8c\8a\82Ì\92[\82É\82¢\82é\81D");
return 0;
}
if (!mtmp) {
+/*JP
pline("Try filling the pit instead.");
+*/
+ pline("\82È\82ñ\82Æ\82©\96\84\82ß\82é\82±\82Æ\82ð\8dl\82¦\82Ä\82Ý\82½\82ç\81H");
return 0;
}
return help_monster_out(mtmp, ttmp);
default:
+/*JP
You("cannot disable %s trap.", !here ? "that" : "this");
+*/
+ pline("%sã©\82Í\89ð\8f\9c\82Å\82«\82È\82¢\81D", !here ? "\82»\82Ì" : "\82±\82Ì");
return 0;
}
}
if (boxcnt) {
for (otmp = level.objects[x][y]; otmp; otmp = otmp->nexthere)
if (Is_box(otmp)) {
+#if 0 /*JP*/
(void) safe_qbuf(qbuf, "There is ",
" here. Check it for traps?", otmp,
doname, ansimpleoname, "a box");
+#else
+ (void) safe_qbuf(qbuf, "",
+ "\82ª\82 \82é\81Dã©\82ð\92²\82×\82Ü\82·\82©\81H", otmp,
+ doname, ansimpleoname, "\94 ");
+#endif
switch (ynq(qbuf)) {
case 'q':
return 0;
&& (force || (!confused
&& rn2(MAXULEV + 1 - u.ulevel) < 10)))
|| (!force && confused && !rn2(3))) {
+/*JP
You("find a trap on %s!", the(xname(otmp)));
+*/
+ pline("%s\82Éã©\82ð\94\8c©\82µ\82½\81I", the(xname(otmp)));
if (!confused)
exercise(A_WIS, TRUE);
+/*JP
switch (ynq("Disarm it?")) {
+*/
+ switch (ynq("\89ð\8f\9c\82µ\82Ü\82·\82©\81H")) {
case 'q':
return 1;
case 'n':
> ch)) {
(void) chest_trap(otmp, FINGER, TRUE);
} else {
+/*JP
You("disarm it!");
+*/
+ You("\89ð\8f\9c\82µ\82½\81I");
otmp->otrapped = 0;
}
} else
+/*JP
pline("That %s was not trapped.", xname(otmp));
+*/
+ pline("\82»\82Ì%s\82Éã©\82Í\82È\82¢\81D", xname(otmp));
return 1;
} else {
+/*JP
You("find no traps on %s.", the(xname(otmp)));
+*/
+ pline("ã©\82ð\94\8c©\82Å\82«\82È\82©\82Á\82½\81D");
return 1;
}
}
+#if 0 /*JP*/
You(trap_skipped ? "find no other traps here."
: "know of no traps here.");
+#else
+ You(trap_skipped ? "\91¼\82Ìã©\82ð\8c©\82Â\82¯\82ç\82ê\82È\82©\82Á\82½\81D"
+ : "\82±\82±\82Éã©\82ª\82È\82¢\82±\82Æ\82ð\92m\82Á\82Ä\82¢\82é\81D");
+#endif
return 0;
}
if (!IS_DOOR(levl[x][y].typ)) {
if (!trap_skipped)
+/*JP
You("know of no traps there.");
+*/
+ You("\82»\82±\82Éã©\82ª\82È\82¢\82±\82Æ\82ð\92m\82Á\82Ä\82¢\82é\81D");
return 0;
}
switch (levl[x][y].doormask) {
case D_NODOOR:
+/*JP
You("%s no door there.", Blind ? "feel" : "see");
+*/
+ pline("\82»\82±\82É\82Í\94à\82ª\82È\82¢%s\81D", Blind ? "\82æ\82¤\82¾" : "\82æ\82¤\82É\8c©\82¦\82é");
return 0;
case D_ISOPEN:
+/*JP
pline("This door is safely open.");
+*/
+ pline("\82»\82Ì\94à\82Í\88À\91S\82É\8aJ\82¢\82Ä\82¢\82é\81D");
return 0;
case D_BROKEN:
+/*JP
pline("This door is broken.");
+*/
+ pline("\82»\82Ì\94à\82Í\89ó\82ê\82Ä\82¢\82é\81D");
return 0;
}
if ((levl[x][y].doormask & D_TRAPPED
&& (force || (!confused && rn2(MAXULEV - u.ulevel + 11) < 10)))
|| (!force && confused && !rn2(3))) {
+/*JP
You("find a trap on the door!");
+*/
+ pline("\94à\82Éã©\82ð\94\8c©\82µ\82½\81I");
exercise(A_WIS, TRUE);
+/*JP
if (ynq("Disarm it?") != 'y')
+*/
+ if (ynq("\89ð\8f\9c\82µ\82Ü\82·\82©\81H") != 'y')
return 1;
if (levl[x][y].doormask & D_TRAPPED) {
ch = 15 + (Role_if(PM_ROGUE) ? u.ulevel * 3 : u.ulevel);
exercise(A_DEX, TRUE);
if (!force && (confused || Fumbling
|| rnd(75 + level_difficulty() / 2) > ch)) {
+/*JP
You("set it off!");
+*/
+ You("\83X\83C\83b\83`\82ð\93ü\82ê\82Ä\82µ\82Ü\82Á\82½\81I");
+/*JP
b_trapped("door", FINGER);
+*/
+ b_trapped("\94à", FINGER);
levl[x][y].doormask = D_NODOOR;
unblock_point(x, y);
newsym(x, y);
if (*in_rooms(x, y, SHOPBASE))
add_damage(x, y, 0L);
} else {
+/*JP
You("disarm it!");
+*/
+ You("\89ð\8f\9c\82µ\82½\81I");
levl[x][y].doormask &= ~D_TRAPPED;
}
} else
+/*JP
pline("This door was not trapped.");
+*/
+ pline("\94à\82Éã©\82Í\82È\82©\82Á\82½\81D");
return 1;
} else {
+/*JP
You("find no traps on the door.");
+*/
+ pline("\94à\82Éã©\82ð\94\8c©\82Å\82«\82È\82©\82Á\82½\81D");
return 1;
}
}
return FALSE;
trapdescr = defsyms[trap_to_defsym(t->ttyp)].explanation;
+#if 0 /*JP*/
which = t->tseen ? the_your[t->madeby_u]
: index(vowels, *trapdescr) ? "an" : "a";
+#else
+ which = t->tseen ? set_you[t->madeby_u] : "";
+#endif
if (ishero) {
if (!u.utrap)
/* give message only if trap was the expected type */
if (u.utraptype == TT_BEARTRAP || u.utraptype == TT_WEB) {
if (u.usteed)
+/*JP
Sprintf(buf, "%s is", noit_Monnam(u.usteed));
+*/
+ Strcpy(buf, noit_Monnam(u.usteed));
else
+/*JP
Strcpy(buf, "You are");
+*/
+ Strcpy(buf, "\82 \82È\82½");
+/*JP
pline("%s released from %s %s.", buf, which, trapdescr);
+*/
+ pline("%s\82Í%s%s\82©\82ç\89ð\95ú\82³\82ê\82½\81D", buf, which, trapdescr);
}
} else {
if (!mon->mtrapped)
mon->mtrapped = 0;
if (canspotmon(mon)) {
*noticed = TRUE;
+#if 0 /*JP*/
pline("%s is released from %s %s.", Monnam(mon), which,
trapdescr);
+#else
+ pline("%s\82Í%s%s\82©\82ç\89ð\95ú\82³\82ê\82½\81D", Monnam(mon), which,
+ trapdescr);
+#endif
} else if (cansee(t->tx, t->ty) && t->tseen) {
*noticed = TRUE;
if (t->ttyp == WEB)
+#if 0 /*JP*/
pline("%s is released from %s %s.", Something, which,
trapdescr);
+#else
+ pline("\89½\8eÒ\82©\82Í%s%s\82©\82ç\89ð\95ú\82³\82ê\82½\81D", which,
+ trapdescr);
+#endif
else /* BEAR_TRAP */
+/*JP
pline("%s %s opens.", upstart(strcpy(buf, which)), trapdescr);
+*/
+ pline("%s%s\82Í\8aJ\82¢\82½\81D", which, trapdescr);
}
/* might pacify monster if adjacent */
if (rn2(2) && distu(mon->mx, mon->my) <= 2)
otmp->otrapped = 0; /* trap is one-shot; clear flag first in case
chest kills you and ends up in bones file */
+/*JP
You(disarm ? "set it off!" : "trigger a trap!");
+*/
+ You(disarm ? "\83X\83C\83b\83`\82ð\93ü\82ê\82Ä\82µ\82Ü\82Á\82½\81I" : "ã©\82É\82Ð\82Á\82©\82©\82Á\82½\81I");
display_nhwindow(WIN_MESSAGE, FALSE);
if (Luck > -13 && rn2(13 + Luck) > 7) { /* saved by luck */
/* trap went off, but good luck prevents damage */
switch (rn2(13)) {
case 12:
case 11:
+/*JP
msg = "explosive charge is a dud";
+*/
+ msg = "\94\9a\94\82Í\95s\94\82¾\82Á\82½";
break;
case 10:
case 9:
+/*JP
msg = "electric charge is grounded";
+*/
+ msg = "\93d\8c\82\82ª\95ú\8fo\82³\82ê\82½\82ª\83A\81[\83X\82³\82ê\82Ä\82¢\82½";
break;
case 8:
case 7:
+/*JP
msg = "flame fizzles out";
+*/
+ msg = "\89\8a\82Í\83V\83\85\81[\82Á\82Æ\8fÁ\82¦\82½";
break;
case 6:
case 5:
case 4:
+/*JP
msg = "poisoned needle misses";
+*/
+ msg = "\93Å\90j\82Í\8eh\82³\82ç\82È\82©\82Á\82½";
break;
case 3:
case 2:
case 1:
case 0:
+/*JP
msg = "gas cloud blows away";
+*/
+ msg = "\83K\83X\89_\82Í\90\81\82«\94ò\82ñ\82¾";
break;
default:
impossible("chest disarm bug");
break;
}
if (msg)
+/*JP
pline("But luckily the %s!", msg);
+*/
+ pline("\82µ\82©\82µ\89^\82Ì\82æ\82¢\82±\82Æ\82É%s\81I", msg);
} else {
switch (rn2(20) ? ((Luck >= 13) ? 0 : rn2(13 - Luck)) : rn2(26)) {
case 25:
insider = (*u.ushops && inside_shop(u.ux, u.uy)
&& *in_rooms(ox, oy, SHOPBASE) == *u.ushops);
+/*JP
pline("%s!", Tobjnam(obj, "explode"));
+*/
+ pline("%s\82Í\94\9a\94\82µ\82½\81I", xname(obj));
+/*JP
Sprintf(buf, "exploding %s", xname(obj));
+*/
+ Sprintf(buf, "%s\82Ì\94\9a\94\82Å", xname(obj));
if (costly)
loss += stolen_value(obj, ox, oy, (boolean) shkp->mpeaceful,
exercise(A_STR, FALSE);
if (costly && loss) {
if (insider)
+#if 0 /*JP*/
You("owe %ld %s for objects destroyed.", loss,
currency(loss));
+#else
+ You("\8aí\95¨\94j\91¹\82Å%ld%s\82Ì\8eØ\82è\82ð\82Â\82\82Á\82½\81D", loss,
+ currency(loss));
+#endif
else {
+#if 0 /*JP*/
You("caused %ld %s worth of damage!", loss,
currency(loss));
+#else
+ You("%ld%s\95ª\82Ì\91¹\8aQ\82ð\88ø\82«\82¨\82±\82µ\82½\81I", loss,
+ currency(loss));
+#endif
make_angry_shk(shkp, ox, oy);
}
}
case 19:
case 18:
case 17:
+/*JP
pline("A cloud of noxious gas billows from %s.", the(xname(obj)));
+*/
+ pline("\97L\93Å\83K\83X\82ª%s\82©\82ç\89Q\82Ü\82¢\82½\81D", the(xname(obj)));
+/*JP
poisoned("gas cloud", A_STR, "cloud of poison gas", 15, FALSE);
+*/
+ poisoned("\83K\83X\89_", A_STR, "\83K\83X\89_", 15, FALSE);
exercise(A_CON, FALSE);
break;
case 16:
case 15:
case 14:
case 13:
+/*JP
You_feel("a needle prick your %s.", body_part(bodypart));
+*/
+ You("%s\83`\83N\83b\82Æ\82¢\82¤\92É\82Ý\82ð\8a´\82¶\82½\81D", body_part(bodypart));
+/*JP
poisoned("needle", A_CON, "poisoned needle", 10, FALSE);
+*/
+ poisoned("\90j", A_CON, "\93Å\90j", 10, FALSE);
exercise(A_CON, FALSE);
break;
case 12:
case 6: {
int dmg;
+/*JP
You("are jolted by a surge of electricity!");
+*/
+ You("\93d\8bC\83V\83\87\83b\83N\82ð\82\82ç\82Á\82½\81I");
if (Shock_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
You("don't seem to be affected.");
+*/
+ pline("\82µ\82©\82µ\82 \82È\82½\82Í\89e\8b¿\82ð\8eó\82¯\82È\82¢\81D");
dmg = 0;
} else
dmg = d(4, 4);
destroy_item(RING_CLASS, AD_ELEC);
destroy_item(WAND_CLASS, AD_ELEC);
if (dmg)
+/*JP
losehp(dmg, "electric shock", KILLED_BY_AN);
+*/
+ losehp(dmg, "\93d\8bC\83V\83\87\83b\83N\82Å", KILLED_BY_AN);
break;
} /* case 6 */
case 5:
case 4:
case 3:
if (!Free_action) {
+/*JP
pline("Suddenly you are frozen in place!");
+*/
+ pline("\93Ë\91R\82»\82Ì\8fê\82Å\93®\82¯\82È\82\82È\82Á\82½\81I");
nomul(-d(5, 6));
multi_reason = "frozen by a trap";
exercise(A_DEX, FALSE);
nomovemsg = You_can_move_again;
} else
+/*JP
You("momentarily stiffen.");
+*/
+ You("\88ê\8fu\8dd\92¼\82µ\82½\81D");
break;
case 2:
case 1:
case 0:
+#if 0 /*JP*/
pline("A cloud of %s gas billows from %s.",
Blind ? blindgas[rn2(SIZE(blindgas))] : rndcolor(),
the(xname(obj)));
+#else
+ pline("%s\83K\83X\89_\82ª%s\82Ì\92ê\82Å\89Q\82Ü\82¢\82½\81D",
+ Blind ? blindgas[rn2(SIZE(blindgas))] :
+ jconj_adj(rndcolor()), xname(obj));
+#endif
if (!Stunned) {
if (Hallucination)
+/*JP
pline("What a groovy feeling!");
+*/
+ pline("\82È\82ñ\82Ä\91f\93G\82È\82ñ\82¾\81I");
else
+#if 0 /*JP*/
You("%s%s...", stagger(youmonst.data, "stagger"),
Halluc_resistance ? ""
: Blind ? " and get dizzy"
: " and your vision blurs");
+#else
+ You("\82\82ç\82\82ç\82µ%s\82½...",
+ Halluc_resistance ? ""
+ : Blind ? "\81C\82ß\82Ü\82¢\82ª\82µ"
+ : "\81C\8ci\90F\82ª\82Ú\82â\82¯\82Ä\82«");
+#endif
}
make_stunned((HStun & TIMEOUT) + (long) rn1(7, 16), FALSE);
(void) make_hallucinated(
int lvl = level_difficulty(),
dmg = rnd(5 + (lvl < 5 ? lvl : 2 + lvl / 2));
+/*JP
pline("KABOOM!! %s was booby-trapped!", The(item));
+*/
+ pline("\82¿\82ã\82Ç\81[\82ñ\81I\81I%s\82É\83u\81[\83r\81[\83g\83\89\83b\83v\82ª\8ed\8a|\82¯\82ç\82ê\82Ä\82¢\82½\81I", item);
wake_nearby();
+/*JP
losehp(Maybe_Half_Phys(dmg), "explosion", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(dmg), "\83u\81[\83r\81[\83g\83\89\83b\83v\82Ì\94\9a\94\82Å", KILLED_BY_AN);
exercise(A_STR, FALSE);
if (bodypart)
exercise(A_CON, FALSE);
*/
if (!strike) {
if (obj && cansee(mon->mx, mon->my))
+/*JP
pline("%s is almost hit by %s!", Monnam(mon), doname(obj));
+*/
+ pline("\82à\82¤\8f\82µ\82Å%s\82ª%s\82É\96½\92\86\82·\82é\82Æ\82±\82ë\82¾\82Á\82½\81I", doname(obj), Monnam(mon));
} else {
int dam = 1;
if (obj && cansee(mon->mx, mon->my))
+/*JP
pline("%s is hit by %s!", Monnam(mon), doname(obj));
+*/
+ pline("%s\82ª%s\82É\96½\92\86\82µ\82½\81I", doname(obj), Monnam(mon));
if (d_override)
dam = d_override;
else if (obj) {
if (multi >= 0)
return FALSE;
+#if 0 /*JP*/
return (boolean) (u.usleep
|| (nomovemsg
&& (!strncmp(nomovemsg, "You awake", 9)
|| !strncmp(nomovemsg, "You regain con", 14)
|| !strncmp(nomovemsg, "You are consci", 14))));
+#else
+/*JP 3.6.0 \82Å\82Ì\8fo\8c»\88Ê\92u/\89ñ\90\94
+ "You awake" : potion.c(1)
+ "You regain con": eat.c(1)
+ "You are consci": eat.c(1)
+*/
+ return (boolean) (u.usleep
+ || (nomovemsg
+ && (!strncmp(nomovemsg, "\96Ú\82ª\82³\82ß\82½\82ª\93ª\92É", 18)
+ || !strncmp(nomovemsg, "\82 \82È\82½\82Í\90³\8bC\82Ã\82¢\82½", 18)
+ || !strncmp(nomovemsg, "\82 \82È\82½\82Í\82Ü\82½\90³\8bC\82Ã", 18))));
+#endif
}
+/*JP
static const char lava_killer[] = "molten lava";
+*/
+static const char lava_killer[] = "\82Ç\82ë\82Ç\82ë\82Ì\97n\8aâ\82Å";
boolean
lava_effects()
*/
if (Wwalking && uarmf && is_organic(uarmf) && !uarmf->oerodeproof) {
obj = uarmf;
+/*JP
pline("%s into flame!", Yobjnam2(obj, "burst"));
+*/
+ Your("%s\82Í\94R\82¦\82½\81I", xname(obj));
iflags.in_lava_effects++; /* (see above) */
(void) Boots_off();
useup(obj);
if (!Fire_resistance) {
if (Wwalking) {
+/*JP
pline_The("lava here burns you!");
+*/
+ pline("\97n\8aâ\82ª\82 \82È\82½\82ð\8fÄ\82«\82Â\82\82µ\82½\81I");
if (usurvive) {
losehp(dmg, lava_killer, KILLED_BY); /* lava damage */
goto burn_stuff;
}
} else
+/*JP
You("fall into the lava!");
+*/
+ You("\97n\8aâ\82É\97\8e\82¿\82½\81I");
usurvive = Lifesaved || discover;
if (wizard)
/* above, we set in_use for objects which are to be destroyed */
if (obj->otyp == SPE_BOOK_OF_THE_DEAD && !Blind) {
if (usurvive)
+#if 0 /*JP*/
pline("%s glows a strange %s, but remains intact.",
The(xname(obj)), hcolor("dark red"));
+#else
+ pline("%s\82Í\95s\8ev\8bc\82É%s\8bP\82¢\82½\82ª\81C\96³\8f\9d\82Ì\82æ\82¤\82¾\81D",
+ xname(obj), jconj_adj(hcolor("\88Ã\90Ô\90F\82Ì")));
+#endif
} else if (obj->in_use) {
if (obj->owornmask) {
if (usurvive)
+/*JP
pline("%s into flame!", Yobjnam2(obj, "burst"));
+*/
+ Your("%s\82Í\94R\82¦\82½\81I", xname(obj));
remove_worn_item(obj, TRUE);
}
useupall(obj);
because lifesaving resets them */
killer.format = KILLED_BY;
Strcpy(killer.name, lava_killer);
+/*JP
You("%s...", boil_away ? "boil away" : "burn to a crisp");
+*/
+ You("%s\81D\81D\81D", boil_away ? "\95¦\93«\82µ\82½" : "\94R\82¦\82Ä\83p\83\8a\83p\83\8a\82É\82È\82Á\82½");
done(BURNING);
if (safe_teleds(TRUE))
break; /* successful life-save */
/* nowhere safe to land; repeat burning loop */
+/*JP
pline("You're still burning.");
+*/
+ You("\82Ü\82¾\94R\82¦\82Ä\82¢\82é\81D");
}
+/*JP
You("find yourself back on solid %s.", surface(u.ux, u.uy));
+*/
+ You("\82¢\82Â\82Ì\82Ü\82É\82©\8cÅ\82¢%s\82É\96ß\82Á\82Ä\82¢\82½\81D", surface(u.ux, u.uy));
return TRUE;
} else if (!Wwalking && (!u.utrap || u.utraptype != TT_LAVA)) {
boil_away = !Fire_resistance;
hero needs to escape immediately */
u.utrap = rn1(4, 4) + ((boil_away ? 2 : rn1(4, 12)) << 8);
u.utraptype = TT_LAVA;
+#if 0 /*JP*/
You("sink into the lava%s!", !boil_away
? ", but it only burns slightly"
: " and are about to be immolated");
+#else
+ You("\97n\8aâ\82É\92¾\82ñ%s\82¾\81I", !boil_away
+ ? "\82¾\82ª\81C\82¿\82å\82Á\82Æ\8fÅ\82°\82½\82¾\82¯"
+ : "\82Å\8fÄ\82«\8eE\82³\82ê\82»\82¤");
+#endif
if (u.uhp > 1)
losehp(!boil_away ? 1 : (u.uhp / 2), lava_killer,
KILLED_BY); /* lava damage */
void
sink_into_lava()
{
+/*JP
static const char sink_deeper[] = "You sink deeper into the lava.";
+*/
+ static const char sink_deeper[] = "\82 \82È\82½\82Í\82æ\82è\90[\82\97n\8aâ\82É\92¾\82ñ\82¾\81D";
if (!u.utrap || u.utraptype != TT_LAVA) {
; /* do nothing; this shouldn't happen */
u.utrap -= (1 << 8);
if (u.utrap < (1 << 8)) {
killer.format = KILLED_BY;
+/*JP
Strcpy(killer.name, "molten lava");
+*/
+ Strcpy(killer.name, "\82Ç\82ë\82Ç\82ë\82Ì\97n\8aâ\82Å");
+/*JP
You("sink below the surface and die.");
+*/
+ You("\8a®\91S\82É\97n\8aâ\82Ì\92\86\82É\92¾\82ñ\82Å\81A\8e\80\82É\82Ü\82µ\82½\81D\81D\81D");
burn_away_slime(); /* add insult to injury? */
done(DISSOLVED);
} else if (!u.umoved) {
/* 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_DCL boolean FDECL(known_hitum, (struct monst *, struct obj *, int *,
if (!canspotmon(mtmp) && !glyph_is_warning(glyph_at(bhitpos.x, bhitpos.y))
&& !glyph_is_invisible(levl[bhitpos.x][bhitpos.y].glyph)
&& !(!Blind && mtmp->mundetected && hides_under(mtmp->data))) {
+/*JP
pline("Wait! There's %s there you can't see!", something);
+*/
+ pline("\82¿\82å\82Á\82Æ\91Ò\82Á\82½\81I\8ep\82Ì\8c©\82¦\82È\82¢%s\82ª\82¢\82é\81I", something);
map_invisible(bhitpos.x, bhitpos.y);
/* if it was an invisible mimic, treat it as if we stumbled
* onto a visible mimic
struct obj *obj;
if (Blind || (is_pool(mtmp->mx, mtmp->my) && !Underwater))
+/*JP
pline("Wait! There's a hidden monster there!");
+*/
+ pline("\91Ò\82Ä\81I\89ö\95¨\82ª\89B\82ê\82Ä\82¢\82é\81I");
else if ((obj = level.objects[mtmp->mx][mtmp->my]) != 0)
+#if 0 /*JP*/
pline("Wait! There's %s hiding under %s!",
an(l_monnam(mtmp)), doname(obj));
+#else
+ pline("\91Ò\82Ä\81I%s\82Ì\89º\82É%s\82ª\89B\82ê\82Ä\82¢\82é\81I",
+ doname(obj), l_monnam(mtmp));
+#endif
return TRUE;
}
}
return FALSE;
}
if (canspotmon(mtmp)) {
+/*JP
Sprintf(qbuf, "Really attack %s?", mon_nam(mtmp));
+*/
+ Sprintf(qbuf, "\96{\93\96\82É%s\82ð\8dU\8c\82\82·\82é\82Ì\81H", mon_nam(mtmp));
if (!paranoid_query(ParanoidHit, qbuf)) {
context.move = 0;
return TRUE;
if (Role_if(PM_KNIGHT) && u.ualign.type == A_LAWFUL
&& (!mtmp->mcanmove || mtmp->msleeping
|| (mtmp->mflee && !mtmp->mavenge))) {
+/*JP
You("caitiff!");
+*/
+ pline("\82±\82ê\82Í\94Ú\8b¯\82È\8ds\82¢\82¾\81I");
adjalign(-1);
} else if (Role_if(PM_SAMURAI) && mtmp->mpeaceful) {
/* attacking peaceful creatures is bad for the samurai's giri */
+/*JP
You("dishonorably attack the innocent!");
+*/
+ pline("\96³\8eÀ\82Ì\8eÒ\82ð\8dU\8c\82\82·\82é\82Ì\82Í\95s\96¼\97_\82¾\81I");
adjalign(-1);
}
}
monflee(mtmp, rnd(6), FALSE, FALSE);
Strcpy(buf, y_monnam(mtmp));
buf[0] = highc(buf[0]);
+/*JP
You("stop. %s is in the way!", buf);
+*/
+ You("\8e~\82Ü\82Á\82½\81D%s\82ª\93¹\82É\82¢\82é\81I", buf);
return TRUE;
} else if ((mtmp->mfrozen || (!mtmp->mcanmove)
|| (mtmp->data->mmove == 0)) && rn2(6)) {
+/*JP
pline("%s doesn't seem to move!", Monnam(mtmp));
+*/
+ pline("%s\82Í\93®\82¯\82È\82¢\82æ\82¤\82¾\81I", Monnam(mtmp));
return TRUE;
} else
return FALSE;
if (Upolyd && noattacks(youmonst.data)) {
/* certain "pacifist" monsters don't attack */
+/*JP
You("have no way to attack monsters physically.");
+*/
+ You("\95¨\97\9d\93I\82É\89ö\95¨\82ð\8dU\8c\82\82·\82é\82·\82×\82ª\82È\82¢\81D");
mtmp->mstrategy &= ~STRAT_WAITMASK;
goto atk_done;
}
+/*JP
if (check_capacity("You cannot fight while so heavily loaded.")
+*/
+ if (check_capacity("\82 \82È\82½\82Í\95¨\82ð\82½\82\82³\82ñ\8e\9d\82¿\82·\82¬\82Ä\90í\82¦\82È\82¢\81D")
/* consume extra nutrition during combat; maybe pass out */
|| overexertion())
goto atk_done;
unweapon = FALSE;
if (flags.verbose) {
if (uwep)
+/*JP
You("begin bashing monsters with %s.",
+*/
+ You("%s\82Å\89ö\95¨\82ð\82È\82®\82è\82Â\82¯\82½\81D",
yobjnam(uwep, (char *) 0));
else if (!cantwield(youmonst.data))
+#if 0 /*JP*/
You("begin %sing monsters with your %s %s.",
Role_if(PM_MONK) ? "strik" : "bash",
uarmg ? "gloved" : "bare", /* Del Lamb */
makeplural(body_part(HAND)));
+#else
+ You("%s%s\82Å\89ö\95¨\82ð%s\82Â\82¯\82½\81D",
+ uarmg ? "\83O\83\8d\81[\83u\82ð\95t\82¯\82½" : "\91f",
+ body_part(HAND),
+ Role_if(PM_MONK) ? "\91Å\82¿" : "\82È\82®\82è");
+#endif
}
}
exercise(A_STR, TRUE); /* you're exercising muscles */
/* this may need to be generalized if weapons other than
Stormbringer acquire similar anti-social behavior... */
if (flags.verbose)
+/*JP
Your("bloodthirsty blade attacks!");
+*/
+ Your("\95\90\8aí\82Í\8c\8c\82É\8bQ\82¦\82Ä\82¢\82é\81I");
}
if (!*mhit) {
&& rnl(4) == 4 - 1) {
boolean more_than_1 = (obj->quan > 1L);
+#if 0 /*JP*/
pline("As you hit %s, %s%s breaks into splinters.",
mon_nam(mon), more_than_1 ? "one of " : "",
yname(obj));
+#else
+ pline("%s\82ð\8dU\8c\82\82·\82é\82Æ\81C%s%s\82Í\82±\82Á\82Ï\82Ý\82¶\82ñ\82É\82È\82Á\82½\81D",
+ mon_nam(mon), yname(obj),
+ more_than_1 ? "\82Ì\82Ð\82Æ\82Â" : "");
+#endif
if (!more_than_1)
uwepgone(); /* set unweapon */
useup(obj);
} else if (mon->mflee && Role_if(PM_ROGUE) && !Upolyd
/* multi-shot throwing is too powerful here */
&& hand_to_hand) {
+/*JP
You("strike %s from behind!", mon_nam(mon));
+*/
+ You("%s\82ð\94w\8cã\82©\82ç\8dU\8c\82\82µ\82½\81I", mon_nam(mon));
tmp += rnd(u.ulevel);
hittxt = TRUE;
} else if (dieroll == 2 && obj == uwep
*/
setmnotwielded(mon, monwep);
mon->weapon_check = NEED_WEAPON;
+#if 0 /*JP*/
pline("%s from the force of your blow!",
Yobjnam2(monwep, "shatter"));
+#else
+ pline("%s\82Ì%s\82Í\82 \82È\82½\82Ì\88ê\8c\82\82Å\95²\81X\82É\82È\82Á\82½\81I",
+ Monnam(mon), xname(monwep));
+#endif
m_useupall(mon, monwep);
/* If someone just shattered MY weapon, I'd flee! */
if (rn2(4)) {
} else {
if (mdat == &mons[PM_SHADE] && !shade_aware(obj)) {
tmp = 0;
+#if 0 /*JP*/
Strcpy(unconventional, cxname(obj));
+#endif
} else {
switch (obj->otyp) {
case BOULDER: /* 1d20 */
break;
case MIRROR:
if (breaktest(obj)) {
+/*JP
You("break %s. That's bad luck!", ysimple_name(obj));
+*/
+ You("%s\8b¾\82ð\89ó\82µ\82Ä\82µ\82Ü\82Á\82½\81D\82±\82è\82á\82Ü\82¢\82Á\82½\81I", ysimple_name(obj));
change_luck(-2);
useup(obj);
obj = (struct obj *) 0;
tmp = 1;
break;
case EXPENSIVE_CAMERA:
+/*JP
You("succeed in destroying %s. Congratulations!",
+*/
+ You("%s\83J\83\81\83\89\82ð\89ó\82·\82±\82Æ\82ª\82Å\82«\82½\81D\82¨\82ß\82Å\82Æ\82¤\81I",
ysimple_name(obj));
release_camera_demon(obj, u.ux, u.uy);
useup(obj);
if (touch_petrifies(&mons[obj->corpsenm])) {
tmp = 1;
hittxt = TRUE;
+#if 0 /*JP*/
You("hit %s with %s.", mon_nam(mon),
corpse_xname(obj, (const char *) 0,
obj->dknown ? CXN_PFX_THE
: CXN_ARTICLE));
+#else
+ You("%s\82ð%s\82Å\8dU\8c\82\82µ\82½\81D", mon_nam(mon),
+ corpse_xname(obj, (const char *) 0,
+ obj->dknown ? CXN_PFX_THE
+ : CXN_ARTICLE));
+#endif
obj->dknown = 1;
if (!munstone(mon, TRUE))
minstapetrify(mon, TRUE);
if (touch_petrifies(&mons[obj->corpsenm])) {
/*learn_egg_type(obj->corpsenm);*/
+#if 0 /*JP*/
pline("Splat! You hit %s with %s %s egg%s!",
mon_nam(mon),
obj->known ? "the" : cnt > 1L ? "some" : "a",
obj->known ? mons[obj->corpsenm].mname
: "petrifying",
plur(cnt));
+#else
+ pline("\83r\83`\83\83\83b\81I\82 \82È\82½\82Í%s\82É%s%s\82Ì\97\91\82ð\93\8a\82°\82Â\82¯\82½\81I",
+ mon_nam(mon),
+ cnt > 1L ? "\82¢\82\82Â\82©\82Ì" : "",
+ obj->known ? mons[obj->corpsenm].mname
+ : "\90Î\89»");
+#endif
obj->known = 1; /* (not much point...) */
useup_eggs(obj);
if (!munstone(mon, TRUE))
break;
return (boolean) (mon->mhp > 0);
} else { /* ordinary egg(s) */
+#if 0 /*JP*/
const char *eggp =
(obj->corpsenm != NON_PM && obj->known)
? the(mons[obj->corpsenm].mname)
: (cnt > 1L) ? "some" : "an";
You("hit %s with %s egg%s.", mon_nam(mon), eggp,
plur(cnt));
+#else
+ const char *eggp =
+ (obj->corpsenm != NON_PM && obj->known)
+ ? mons[obj->corpsenm].mname : "";
+ You("%s\82É%s%s\97\91\82ð\93\8a\82°\82Â\82¯\82½\81D",
+ mon_nam(mon), eggp, *eggp ? "\82Ì" : "");
+#endif
if (touch_petrifies(mdat) && !stale_egg(obj)) {
+#if 0 /*JP*/
pline_The("egg%s %s alive any more...", plur(cnt),
(cnt == 1L) ? "isn't" : "aren't");
+#else
+ pline("\82à\82¤\97\91\82ª\9bz\89»\82·\82é\82±\82Æ\82Í\82È\82¢\82¾\82ë\82¤\81D\81D\81D");
+#endif
if (obj->timed)
obj_stop_timers(obj);
obj->otyp = ROCK;
if (thrown)
place_object(obj, mon->mx, mon->my);
} else {
+/*JP
pline("Splat!");
+*/
+ pline("\83r\83`\83\83\83b\81I");
useup_eggs(obj);
exercise(A_WIS, FALSE);
}
: AT_WEAP),
obj)) {
if (Blind) {
+#if 0 /*JP*/
pline(obj->otyp == CREAM_PIE ? "Splat!"
: "Splash!");
+#else
+ pline(obj->otyp == CREAM_PIE ? "\83r\83V\83\83\83b\81I"
+ : "\83s\83`\83\83\83b\81I");
+#endif
} else if (obj->otyp == BLINDING_VENOM) {
+#if 0 /*JP*/
pline_The("venom blinds %s%s!", mon_nam(mon),
mon->mcansee ? "" : " further");
+#else
+ pline("\93Å\89t\82Å%s\82Í%s\96Ú\82ª\8c©\82¦\82È\82\82È\82Á\82½\81I", mon_nam(mon),
+ mon->mcansee ? "" : "\82³\82ç\82É");
+#endif
} else {
char *whom = mon_nam(mon);
char *what = The(xname(obj));
/* note: s_suffix returns a modifiable buffer */
if (haseyes(mdat)
&& mdat != &mons[PM_FLOATING_EYE])
+#if 0 /*JP*/
whom = strcat(strcat(s_suffix(whom), " "),
mbodypart(mon, FACE));
+#else
+ whom = strcat(strcat(s_suffix(whom), "\82Ì"),
+ mbodypart(mon, FACE));
+#endif
+#if 0 /*JP*/
pline("%s %s over %s!", what,
vtense(what, "splash"), whom);
+#else
+ pline("%s\82Í%s\82É\82Ô\82¿\82Ü\82¯\82ç\82ê\82½\81I",
+ what, whom);
+#endif
}
setmangry(mon);
mon->mcansee = 0;
else
mon->mblinded += tmp;
} else {
+/*JP
pline(obj->otyp == CREAM_PIE ? "Splat!" : "Splash!");
+*/
+ pline(obj->otyp==CREAM_PIE ? "\83r\83V\83\83\83b\81I" : "\83s\83`\83\83\83b\81I");
setmangry(mon);
}
if (thrown)
break;
case ACID_VENOM: /* thrown (or spit) */
if (resists_acid(mon)) {
+/*JP
Your("venom hits %s harmlessly.", mon_nam(mon));
+*/
+ pline("\93Å\89t\82Í%s\82É\82Í\8cø\89Ê\82ª\82È\82©\82Á\82½\81D", mon_nam(mon));
tmp = 0;
} else {
+/*JP
Your("venom burns %s!", mon_nam(mon));
+*/
+ Your("\93Å\89t\82Í%s\82ð\8fÄ\82¢\82½\81I", mon_nam(mon));
tmp = dmgval(obj, mon);
}
if (thrown)
if (nopoison < 2)
nopoison = 2;
if (Role_if(PM_SAMURAI)) {
+/*JP
You("dishonorably use a poisoned weapon!");
+*/
+ You("\95s\96¼\97_\82É\82à\93Å\82Ì\95\90\8aí\82ð\8eg\97p\82µ\82½\81I");
adjalign(-sgn(u.ualign.type));
} else if (u.ualign.type == A_LAWFUL && u.ualign.record > -10) {
+/*JP
You_feel("like an evil coward for using a poisoned weapon.");
+*/
+ You("\93Å\82Ì\95\90\8aí\82ð\8eg\97p\82·\82é\82Ì\82Í\94Ú\8b¯\82¾\82Æ\8a´\82¶\82½\81D");
adjalign(-1);
}
if (obj && !rn2(nopoison)) {
tmp = 0;
if (mdat == &mons[PM_SHADE]) {
if (!hittxt) {
+#if 0 /*JP*/
const char *what = *unconventional ? unconventional : "attack";
Your("%s %s harmlessly through %s.", what,
vtense(what, "pass"), mon_nam(mon));
+#else
+ Your("\8dU\8c\82\82Í%s\82ð\92Ê\82è\82Ê\82¯\82½\81D", mon_nam(mon));
+#endif
hittxt = TRUE;
}
} else {
if (jousting) {
tmp += d(2, (obj == uwep) ? 10 : 2); /* [was in dmgval()] */
+/*JP
You("joust %s%s", mon_nam(mon), canseemon(mon) ? exclam(tmp) : ".");
+*/
+ You("%s\82É\93Ë\8c\82\82µ\82½%s", mon_nam(mon), canseemon(mon) ? exclam(tmp) : "\81D");
if (jousting < 0) {
+/*JP
pline("%s shatters on impact!", Yname2(obj));
+*/
+ Your("%s\82Í\8fÕ\8c\82\82Å\89ó\82ê\82½\81I", xname(obj));
/* (must be either primary or secondary weapon to get here) */
u.twoweap = FALSE; /* untwoweapon() is too verbose here */
if (obj == uwep)
if (rnd(100) < P_SKILL(P_BARE_HANDED_COMBAT) && !bigmonst(mdat)
&& !thick_skinned(mdat)) {
if (canspotmon(mon))
+#if 0 /*JP*/
pline("%s %s from your powerful strike!", Monnam(mon),
makeplural(stagger(mon->data, "stagger")));
+#else
+ pline("%s\82Í\82 \82È\82½\82Ì\89ï\90S\82Ì\88ê\8c\82\82Å\82æ\82ë\82ß\82¢\82½\81I",
+ Monnam(mon));
+#endif
/* avoid migrating a dead monster */
if (mon->mhp > tmp) {
mhurtle(mon, u.dx, u.dy, 1);
&& obj && obj == uwep && objects[obj->otyp].oc_material == IRON
&& hand_to_hand) {
if (clone_mon(mon, 0, 0)) {
+/*JP
pline("%s divides as you hit it!", Monnam(mon));
+*/
+ pline("\82 \82È\82½\82Ì\8dU\8c\82\82Å%s\82Í\95ª\97ô\82µ\82½\81I", Monnam(mon));
hittxt = TRUE;
}
}
if (thrown)
hit(mshot_xname(obj), mon, exclam(tmp));
else if (!flags.verbose)
+/*JP
You("hit it.");
+*/
+ pline("\8dU\8c\82\82Í\96½\92\86\82µ\82½\81D");
else
+#if 0 /*JP*/
You("%s %s%s", Role_if(PM_BARBARIAN) ? "smite" : "hit",
mon_nam(mon), canseemon(mon) ? exclam(tmp) : ".");
+#else
+ Your("%s\82Ö\82Ì\8dU\8c\82\82Í\96½\92\86\82µ\82½%s",
+ mon_nam(mon), canseemon(mon) ? exclam(tmp) : "\81D");
+#endif
}
if (silvermsg) {
if (canspotmon(mon)) {
if (barehand_silver_rings == 1)
+/*JP
fmt = "Your silver ring sears %s!";
+*/
+ fmt = "%s\82Í\8bâ\82Ì\8ew\97Ö\82Å\8fÄ\82©\82ê\82½\81I";
else if (barehand_silver_rings == 2)
+/*JP
fmt = "Your silver rings sear %s!";
+*/
+ fmt = "%s\82Í\8bâ\82Ì\8ew\97Ö\82Å\8fÄ\82©\82ê\82½\81I";
else if (silverobj && saved_oname[0]) {
+#if 0 /*JP*/
Sprintf(silverobjbuf, "Your %s%s %s %%s!",
strstri(saved_oname, "silver") ? "" : "silver ",
saved_oname, vtense(saved_oname, "sear"));
+#else
+ Sprintf(silverobjbuf, "%%s\82Í%s%s\82Å\8fÄ\82©\82ê\82½\81I",
+ strstri(saved_oname, "\8bâ") ?
+ "" : "\8bâ\82Ì",
+ saved_oname);
+#endif
fmt = silverobjbuf;
} else
+/*JP
fmt = "The silver sears %s!";
+*/
+ fmt = "%s\82Í\8bâ\82Å\8fÄ\82©\82ê\82½\81I";
} else {
*whom = highc(*whom); /* "it" -> "It" */
+/*JP
fmt = "%s is seared!";
+*/
+ fmt = "%s\82Í\8fÄ\82©\82ê\82½\81I";
}
/* note: s_suffix returns a modifiable buffer */
if (!noncorporeal(mdat) && !amorphous(mdat))
+/*JP
whom = strcat(s_suffix(whom), " flesh");
+*/
+ whom = strcat(s_suffix(whom), "\82Ì\93÷");
pline(fmt, whom);
}
/* if a "no longer poisoned" message is coming, it will be last;
/* [note: thrown obj might go away during killed/xkilled call] */
if (needpoismsg)
+/*JP
pline_The("poison doesn't seem to affect %s.", mon_nam(mon));
+*/
+ pline("\93Å\82Í%s\82É\8cø\82©\82È\82©\82Á\82½\82æ\82¤\82¾\81D", mon_nam(mon));
if (poiskilled) {
+/*JP
pline_The("poison was deadly...");
+*/
+ pline("\93Å\82Í\92v\8e\80\97Ê\82¾\82Á\82½\81D\81D\81D");
if (!already_killed)
xkilled(mon, 0);
destroyed = TRUE; /* return FALSE; */
mon->mconf = 1;
if (!mon->mstun && mon->mcanmove && !mon->msleeping
&& canseemon(mon))
+/*JP
pline("%s appears confused.", Monnam(mon));
+*/
+ pline("%s\82Í\8d¬\97\90\82µ\82Ä\82¢\82é\82æ\82¤\82¾\81D", Monnam(mon));
}
}
if (unpoisonmsg)
+#if 0 /*JP*/
Your("%s %s no longer poisoned.", saved_oname,
vtense(saved_oname, "are"));
+#else
+ Your("%s\82Í\82à\82¤\93Å\82ª\93h\82ç\82ê\82Ä\82¢\82È\82¢\81D", xname(obj));
+#endif
return destroyed ? FALSE : TRUE;
}
protection might fail (33% chance) when the armor is cursed */
if (obj && (obj->greased || obj->otyp == OILSKIN_CLOAK)
&& (!obj->cursed || rn2(3))) {
+#if 0 /*JP*/
You("%s %s %s %s!",
mattk->adtyp == AD_WRAP ? "slip off of"
: "grab, but cannot hold onto",
(obj->greased || objects[obj->otyp].oc_name_known)
? xname(obj)
: cloak_simple_name(obj));
+#else
+ You("%s\82Ì%s%s%s\81I",
+ mon_nam(mdef), obj->greased ? "\96û\82Ì\93h\82ç\82ê\82½" : "\8a\8a\82è\82â\82·\82¢",
+ (obj->greased || objects[obj->otyp].oc_name_known)
+ ? xname(obj)
+ : cloak_simple_name(obj),
+ mattk->adtyp == AD_WRAP ? "\82Å\8a\8a\82Á\82½"
+ : "\82ð\82Â\82©\82Ü\82æ\82¤\82Æ\82µ\82½\82ª\81C\82Å\82«\82È\82©\82Á\82½");
+#endif
if (obj->greased && !rn2(2)) {
+/*JP
pline_The("grease wears off.");
+*/
+ pline("\96û\82Í\97\8e\82¿\82Ä\82µ\82Ü\82Á\82½\81D");
obj->greased = 0;
}
return TRUE;
struct permonst *pm;
struct monst *dtmp;
+/*JP
pline("Some hell-p has arrived!");
+*/
+ pline("\92n\8d\96\82Ì\92\87\8aÔ\82ª\8c»\82í\82ê\82½\81I");
i = !rn2(6) ? ndemon(u.ualign.type) : NON_PM;
pm = i != NON_PM ? &mons[i] : youmonst.data;
if ((dtmp = makemon(pm, u.ux, u.uy, NO_MM_FLAGS)) != 0)
if (stealoid) { /* we will be taking everything */
if (gender(mdef) == (int) u.mfemale && youmonst.data->mlet == S_NYMPH)
+/*JP
You("charm %s. She gladly hands over her possessions.",
+*/
+ You("%s\82ð\82¤\82Á\82Æ\82è\82³\82¹\82½\81D\94Þ\8f\97\82Í\82æ\82ë\82±\82ñ\82Å\8e\9d\82¿\95¨\82ð\82³\82µ\82¾\82µ\82½\81D",
mon_nam(mdef));
else
+#if 0 /*JP*/
You("seduce %s and %s starts to take off %s clothes.",
mon_nam(mdef), mhe(mdef), mhis(mdef));
+#else
+ You("%s\82ð\97U\98f\82µ\82½\81D%s\82Í\95\9e\82ð\92E\82¬\82Í\82¶\82ß\82½\81D",
+ mon_nam(mdef), mhe(mdef));
+#endif
}
while ((otmp = mdef->minvent) != 0) {
update_mon_intrinsics(mdef, otmp, FALSE, FALSE);
if (otmp == stealoid) /* special message for final item */
+#if 0 /*JP*/
pline("%s finishes taking off %s suit.", Monnam(mdef),
mhis(mdef));
+#else
+ pline("%s\82Í\92E\82¬\8fI\82¦\82½\81D", Monnam(mdef));
+#endif
}
/* give the object to the character */
+#if 0 /*JP*/
otmp = hold_another_object(otmp, "You snatched but dropped %s.",
doname(otmp), "You steal: ");
+#else
+ otmp = hold_another_object(otmp, "\82 \82È\82½\82Í%s\82ð\93\90\82ñ\82¾\82ª\97\8e\82Æ\82µ\82½\81D",
+ doname(otmp), "\82ð\93\90\82ñ\82¾\81D");
+#endif
if (otmp->where != OBJ_INVENT)
continue;
if (theft_petrifies(otmp))
switch (mattk->adtyp) {
case AD_STUN:
if (!Blind)
+#if 0 /*JP*/
pline("%s %s for a moment.", Monnam(mdef),
makeplural(stagger(pd, "stagger")));
+#else
+ pline("%s\82Í\88ê\8fu\82\82ç\82\82ç\82µ\82½\81D", Monnam(mdef));
+#endif
mdef->mstun = 1;
goto physical;
case AD_LEGS:
break;
}
if (!Blind)
+/*JP
pline("%s is %s!", Monnam(mdef), on_fire(pd, mattk));
+*/
+ pline("%s\82Í%s\81I", Monnam(mdef), on_fire(mdef->data, mattk));
if (pd == &mons[PM_STRAW_GOLEM] || pd == &mons[PM_PAPER_GOLEM]) {
if (!Blind)
+/*JP
pline("%s burns completely!", Monnam(mdef));
+*/
+ pline("%s\82Í\8a®\91S\82É\94R\82¦\90s\82«\82½\81I", Monnam(mdef));
xkilled(mdef, 2);
tmp = 0;
break;
tmp += destroy_mitem(mdef, SPBOOK_CLASS, AD_FIRE);
if (resists_fire(mdef)) {
if (!Blind)
+/*JP
pline_The("fire doesn't heat %s!", mon_nam(mdef));
+*/
+ pline("\89\8a\82Í%s\82É\89e\8b¿\82ª\82È\82¢\81I", mon_nam(mdef));
golemeffects(mdef, AD_FIRE, tmp);
shieldeff(mdef->mx, mdef->my);
tmp = 0;
break;
}
if (!Blind)
+/*JP
pline("%s is covered in frost!", Monnam(mdef));
+*/
+ pline("%s\82Í\95X\82Å\95¢\82í\82ê\82½\81I", Monnam(mdef));
if (resists_cold(mdef)) {
shieldeff(mdef->mx, mdef->my);
if (!Blind)
+/*JP
pline_The("frost doesn't chill %s!", mon_nam(mdef));
+*/
+ pline("\95X\82Í%s\82ð\93\80\82ç\82·\82±\82Æ\82ª\82Å\82«\82È\82¢\81I", mon_nam(mdef));
golemeffects(mdef, AD_COLD, tmp);
tmp = 0;
}
break;
}
if (!Blind)
+/*JP
pline("%s is zapped!", Monnam(mdef));
+*/
+ pline("%s\82Í\93d\8c\82\82ð\82\82ç\82Á\82½\81I", Monnam(mdef));
tmp += destroy_mitem(mdef, WAND_CLASS, AD_ELEC);
if (resists_elec(mdef)) {
if (!Blind)
+/*JP
pline_The("zap doesn't shock %s!", mon_nam(mdef));
+*/
+ pline("\93d\8c\82\82Í%s\82É\89e\8b¿\82ð\97^\82¦\82È\82¢\81I", mon_nam(mdef));
golemeffects(mdef, AD_ELEC, tmp);
shieldeff(mdef->mx, mdef->my);
tmp = 0;
obj_extract_self(mongold);
if (merge_choice(invent, mongold) || inv_cnt(FALSE) < 52) {
addinv(mongold);
+/*JP
Your("purse feels heavier.");
+*/
+ You("\8dà\95z\82ª\8fd\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
} else {
+/*JP
You("grab %s's gold, but find no room in your knapsack.",
+*/
+ You("%s\82Ì\82¨\8bà\82ð\82Â\82©\82ñ\82¾\82ª\81C\8e\9d\82¿\95¨\91Ü\82É\93ü\82ç\82È\82©\82Á\82½\81D",
mon_nam(mdef));
dropy(mongold);
}
Strcpy(nambuf, Monnam(mdef));
if (u_teleport_mon(mdef, FALSE) && u_saw_mon
&& !(canseemon(mdef) || (u.uswallow && u.ustuck == mdef)))
+/*JP
pline("%s suddenly disappears!", nambuf);
+*/
+ pline("%s\82Í\93Ë\91R\8fÁ\82¦\82½\81I", nambuf);
}
break;
case AD_BLND:
if (can_blnd(&youmonst, mdef, mattk->aatyp, (struct obj *) 0)) {
if (!Blind && mdef->mcansee)
+/*JP
pline("%s is blinded.", Monnam(mdef));
+*/
+ pline("%s\82Í\96Ú\82ª\8c©\82¦\82È\82\82È\82Á\82½\81D", Monnam(mdef));
mdef->mcansee = 0;
tmp += mdef->mblinded;
if (tmp > 127)
if (night() && !rn2(10) && !mdef->mcan) {
if (pd == &mons[PM_CLAY_GOLEM]) {
if (!Blind)
+/*JP
pline("Some writing vanishes from %s head!",
+*/
+ pline("%s\82Ì\93ª\82É\8f\91\82¢\82Ä\82 \82é\95¶\8e\9a\82Ì\82¢\82\82Â\82©\82ª\8fÁ\82¦\82½\81I",
s_suffix(mon_nam(mdef)));
xkilled(mdef, 0);
/* Don't return yet; keep hp<1 and tmp=0 for pet msg */
} else {
mdef->mcan = 1;
+/*JP
You("chuckle.");
+*/
+ You("\82\82·\82\82·\8fÎ\82Á\82½\81D");
}
}
tmp = 0;
case AD_DRLI:
if (!negated && !rn2(3) && !resists_drli(mdef)) {
int xtmp = d(2, 6);
+/*JP
pline("%s suddenly seems weaker!", Monnam(mdef));
+*/
+ pline("%s\82Í\93Ë\91R\8eã\82\82È\82Á\82½\82æ\82¤\82É\8c©\82¦\82½\81I", Monnam(mdef));
mdef->mhpmax -= xtmp;
if ((mdef->mhp -= xtmp) <= 0 || !mdef->m_lev) {
+/*JP
pline("%s dies!", Monnam(mdef));
+*/
+ pline("%s\82Í\8e\80\82ñ\82¾\81I", Monnam(mdef));
xkilled(mdef, 0);
} else
mdef->m_lev--;
break;
case AD_RUST:
if (pd == &mons[PM_IRON_GOLEM]) {
+/*JP
pline("%s falls to pieces!", Monnam(mdef));
+*/
+ pline("%s\82Í\83o\83\89\83o\83\89\82É\82È\82Á\82½\81I", Monnam(mdef));
xkilled(mdef, 0);
}
erode_armor(mdef, ERODE_RUST);
break;
case AD_DCAY:
if (pd == &mons[PM_WOOD_GOLEM] || pd == &mons[PM_LEATHER_GOLEM]) {
+/*JP
pline("%s falls to pieces!", Monnam(mdef));
+*/
+ pline("%s\82Í\83o\83\89\83o\83\89\82É\82È\82Á\82½\81I", Monnam(mdef));
xkilled(mdef, 0);
}
erode_armor(mdef, ERODE_ROT);
case AD_DRDX:
case AD_DRCO:
if (!negated && !rn2(8)) {
+/*JP
Your("%s was poisoned!", mpoisons_subj(&youmonst, mattk));
+*/
+ Your("%s\82Í\93Å\82³\82ê\82Ä\82¢\82é\81I", mpoisons_subj(&youmonst, mattk));
if (resists_poison(mdef))
+/*JP
pline_The("poison doesn't seem to affect %s.", mon_nam(mdef));
+*/
+ pline("\93Å\82Í%s\82É\89e\8b¿\82ð\97^\82¦\82È\82¢\81D", mon_nam(mdef));
else {
if (!rn2(10)) {
+/*JP
Your("poison was deadly...");
+*/
+ Your("\97^\82¦\82½\93Å\82Í\92v\8e\80\97Ê\82¾\82Á\82½\81D\81D\81D");
tmp = mdef->mhp;
} else
tmp += rn1(10, 6);
struct obj *helmet;
if (notonhead || !has_head(pd)) {
+/*JP
pline("%s doesn't seem harmed.", Monnam(mdef));
+*/
+ pline("%s\82Í\8f\9d\82Â\82¢\82½\82æ\82¤\82É\82Í\8c©\82¦\82È\82¢\81D", Monnam(mdef));
tmp = 0;
if (!Unchanging && pd == &mons[PM_GREEN_SLIME]) {
if (!Slimed) {
+/*JP
You("suck in some slime and don't feel very well.");
+*/
+ You("\83X\83\89\83C\83\80\82ð\8bz\82¢\8eæ\82Á\82Ä\81C\8bï\8d\87\82ª\88«\82\82È\82Á\82½\81D");
make_slimed(10L, (char *) 0);
}
}
break;
if ((helmet = which_armor(mdef, W_ARMH)) != 0 && rn2(8)) {
+#if 0 /*JP*/
pline("%s %s blocks your attack to %s head.",
s_suffix(Monnam(mdef)), helm_simple_name(helmet),
mhis(mdef));
+#else
+ pline("%s\82Ì%s\82ª\93ª\82Ö\82Ì\8dU\8c\82\82ð\96h\82¢\82¾\81D",
+ Monnam(mdef), helm_simple_name(helmet));
+#endif
break;
}
if (m_slips_free(mdef, mattk)) {
tmp = 0;
} else {
+/*JP
You("swing yourself around %s!", mon_nam(mdef));
+*/
+ You("%s\82É\90g\91Ì\82ð\97\8d\82Ý\82Â\82©\82¹\82½\81I", mon_nam(mdef));
u.ustuck = mdef;
}
} else if (u.ustuck == mdef) {
/* Monsters don't wear amulets of magical breathing */
if (is_pool(u.ux, u.uy) && !is_swimmer(pd)
&& !amphibious(pd)) {
+/*JP
You("drown %s...", mon_nam(mdef));
+*/
+ You("%s\82ð\93M\82ê\82³\82¹\82½\81D\81D\81D", mon_nam(mdef));
tmp = mdef->mhp;
} else if (mattk->aatyp == AT_HUGS)
+/*JP
pline("%s is being crushed.", Monnam(mdef));
+*/
+ pline("%s\82Í\89\9f\82µ\82Â\82Ô\82³\82ê\82Ä\82¢\82é\81D", Monnam(mdef));
} else {
tmp = 0;
if (flags.verbose)
+#if 0 /*JP*/
You("brush against %s %s.", s_suffix(mon_nam(mdef)),
mbodypart(mdef, LEG));
+#else
+ You("%s\82Ì%s\82É\90G\82ê\82½\81D", mon_nam(mdef),
+ mbodypart(mdef, LEG));
+#endif
}
} else
tmp = 0;
case AD_PLYS:
if (!negated && mdef->mcanmove && !rn2(3) && tmp < mdef->mhp) {
if (!Blind)
+/*JP
pline("%s is frozen by you!", Monnam(mdef));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\82É\82ç\82Ý\82Å\93®\82¯\82È\82\82È\82Á\82½\81I", Monnam(mdef));
paralyze_monst(mdef, rnd(10));
}
break;
case AD_SLEE:
if (!negated && !mdef->msleeping && sleep_monst(mdef, rnd(10), -1)) {
if (!Blind)
+/*JP
pline("%s is put to sleep by you!", Monnam(mdef));
+*/
+ pline("%s\82Í\93Ë\91R\96°\82è\82É\82¨\82¿\82½\81I", Monnam(mdef));
slept_monst(mdef);
}
break;
if (!munslime(mdef, TRUE) && mdef->mhp > 0) {
/* this assumes newcham() won't fail; since hero has
a slime attack, green slimes haven't been geno'd */
+/*JP
You("turn %s into slime.", mon_nam(mdef));
+*/
+ pline("%s\82Í\83X\83\89\83C\83\80\82É\82È\82Á\82½\81D", mon_nam(mdef));
if (newcham(mdef, &mons[PM_GREEN_SLIME], FALSE, FALSE))
pd = mdef->data;
}
mon_adjust_speed(mdef, -1, (struct obj *) 0);
if (mdef->mspeed != oldspeed && canseemon(mdef))
+/*JP
pline("%s slows down.", Monnam(mdef));
+*/
+ pline("%s\82Í\82Ì\82ë\82\82È\82Á\82½\81D", Monnam(mdef));
}
break;
case AD_CONF:
if (!mdef->mconf) {
if (canseemon(mdef))
+/*JP
pline("%s looks confused.", Monnam(mdef));
+*/
+ pline("%s\82Í\8d¬\97\90\82µ\82½\82æ\82¤\82¾\81D", Monnam(mdef));
mdef->mconf = 1;
}
break;
mdef->mstrategy &= ~STRAT_WAITFORU; /* in case player is very fast */
if ((mdef->mhp -= tmp) < 1) {
if (mdef->mtame && !cansee(mdef->mx, mdef->my)) {
+/*JP
You_feel("embarrassed for a moment.");
+*/
+ You("\82µ\82Î\82ç\82\8d¢\98f\82µ\82½\81D");
if (tmp)
xkilled(mdef, 0); /* !tmp but hp<1: already killed */
} else if (!flags.verbose) {
+/*JP
You("destroy it!");
+*/
+ You("\93|\82µ\82½\81I");
if (tmp)
xkilled(mdef, 0);
} else if (tmp)
{
register int tmp = d((int) mattk->damn, (int) mattk->damd);
+/*JP
You("explode!");
+*/
+ You("\94\9a\94\82µ\82½\81I");
switch (mattk->adtyp) {
boolean resistance; /* only for cold/fire/elec */
case AD_BLND:
if (!resists_blnd(mdef)) {
+/*JP
pline("%s is blinded by your flash of light!", Monnam(mdef));
+*/
+ pline("%s\82Í\82Ü\82Î\82ä\82¢\8cõ\82Å\96Ú\82ª\82\82ç\82ñ\82¾\81I", Monnam(mdef));
mdef->mblinded = min((int) mdef->mblinded + tmp, 127);
mdef->mcansee = 0;
}
break;
case AD_HALU:
if (haseyes(mdef->data) && mdef->mcansee) {
+/*JP
pline("%s is affected by your flash of light!", Monnam(mdef));
+*/
+ pline("%s\82Í\82Ü\82Î\82ä\82¢\8cõ\82Å\89e\8b¿\82ð\8eó\82¯\82½\81I", Monnam(mdef));
mdef->mconf = 1;
}
break;
resistance = resists_elec(mdef);
common:
if (!resistance) {
+/*JP
pline("%s gets blasted!", Monnam(mdef));
+*/
+ pline("%s\82Í\94\9a\94\82ð\97\81\82Ñ\82½\81I", Monnam(mdef));
mdef->mhp -= tmp;
if (mdef->mhp <= 0) {
killed(mdef);
if (is_golem(mdef->data))
golemeffects(mdef, (int) mattk->adtyp, tmp);
else
+/*JP
pline_The("blast doesn't seem to affect %s.", mon_nam(mdef));
+*/
+ pline("\94\9a\94\82Í%s\82É\89e\8b¿\82ð\97^\82¦\82È\82©\82Á\82½\82æ\82¤\82¾\81D", mon_nam(mdef));
}
break;
default:
tmp_at(DISP_ALWAYS, mon_to_glyph(&youmonst));
tmp_at(mdef->mx, mdef->my);
}
+/*JP
You("engulf %s!", mon_nam(mdef));
+*/
+ You("%s\82ð\88ù\82Ý\8d\9e\82ñ\82¾\81I", mon_nam(mdef));
delay_output();
delay_output();
}
case AD_DGST:
/* eating a Rider or its corpse is fatal */
if (is_rider(pd)) {
+/*JP
pline("Unfortunately, digesting any of it is fatal.");
+*/
+ pline("\8ec\94O\82È\82ª\82ç\81C\82»\82ê\82ð\90H\82×\82é\82Ì\82Í\92v\96½\93I\82È\8aÔ\88á\82¢\82¾\81D");
end_engulf();
+#if 0 /*JP*/
Sprintf(killer.name, "unwisely tried to eat %s",
pd->mname);
killer.format = NO_KILLER_PREFIX;
+#else
+ Sprintf(killer.name, "\8bð\82©\82É\82à%s\82ð\90H\82×\82æ\82¤\82Æ\82µ\82Ä",
+ pd->mname);
+ killer.format = KILLED_BY;
+#endif
done(DIED);
return 0; /* lifesaved */
}
newuhs(FALSE);
xkilled(mdef, 2);
if (mdef->mhp > 0) { /* monster lifesaved */
+/*JP
You("hurriedly regurgitate the sizzling in your %s.",
+*/
+ You("%s\82Ì\92\86\82Å\83V\83\85\81[\83V\83\85\81[\82Æ\82¢\82¤\89¹\82ð\97§\82Ä\82Ä\82¢\82é\82à\82Ì\82ð\91å\8b}\82¬\82Å\93f\82«\96ß\82µ\82½\81D",
body_part(STOMACH));
} else {
tmp = 1 + (pd->cwt >> 8);
u.uhunger += (pd->cnutrit + 1) / 2;
} else
tmp = 0;
+/*JP
Sprintf(msgbuf, "You totally digest %s.", mon_nam(mdef));
+*/
+ Sprintf(msgbuf, "\82 \82È\82½\82Í%s\82ð\8a®\91S\82É\8fÁ\89»\82µ\82½\81D", mon_nam(mdef));
if (tmp != 0) {
/* setting afternmv = end_engulf is tempting,
* but will cause problems if the player is
* attacked (which uses his real location) or
* if his See_invisible wears off
*/
+/*JP
You("digest %s.", mon_nam(mdef));
+*/
+ You("%s\82ð\8fÁ\89»\82µ\82Ä\82¢\82é\81D", mon_nam(mdef));
if (Slow_digestion)
tmp *= 2;
nomul(-tmp);
} else
pline1(msgbuf);
if (pd == &mons[PM_GREEN_SLIME]) {
+/*JP
Sprintf(msgbuf, "%s isn't sitting well with you.",
+*/
+ Sprintf(msgbuf, "%s\82Í\82 \82È\82½\82Æ\82¤\82Ü\82\90Ü\82è\8d\87\82¢\82ð\82Â\82¯\82ç\82ê\82È\82¢\82æ\82¤\82¾\81D",
The(pd->mname));
if (!Unchanging) {
make_slimed(5L, (char *) 0);
return 2;
case AD_PHYS:
if (youmonst.data == &mons[PM_FOG_CLOUD]) {
+/*JP
pline("%s is laden with your moisture.", Monnam(mdef));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\8e¼\8bC\82É\8bê\82µ\82ß\82ç\82ê\82Ä\82¢\82é\81D", Monnam(mdef));
if (amphibious(pd) && !flaming(pd)) {
dam = 0;
+/*JP
pline("%s seems unharmed.", Monnam(mdef));
+*/
+ pline("%s\82Í\8f\9d\82Â\82¢\82Ä\82¢\82È\82¢\82æ\82¤\82¾\81D", Monnam(mdef));
}
} else
+/*JP
pline("%s is pummeled with your debris!", Monnam(mdef));
+*/
+ pline("%s\82Í\8a¢âI\82Å\92É\82ß\82Â\82¯\82ç\82ê\82½\81I", Monnam(mdef));
break;
case AD_ACID:
+/*JP
pline("%s is covered with your goo!", Monnam(mdef));
+*/
+ pline("%s\82Í\82Ë\82Î\82Â\82\82à\82Ì\82Å\95¢\82í\82ê\82½\81I", Monnam(mdef));
if (resists_acid(mdef)) {
+/*JP
pline("It seems harmless to %s.", mon_nam(mdef));
+*/
+ pline("\82µ\82©\82µ\81C%s\82Í\82È\82ñ\82Æ\82à\82È\82¢\81D", mon_nam(mdef));
dam = 0;
}
break;
if (can_blnd(&youmonst, mdef, mattk->aatyp,
(struct obj *) 0)) {
if (mdef->mcansee)
+/*JP
pline("%s can't see in there!", Monnam(mdef));
+*/
+ pline("%s\82Í\96Ú\82ª\8c©\82¦\82È\82\82È\82Á\82½\81I", mon_nam(mdef));
mdef->mcansee = 0;
dam += mdef->mblinded;
if (dam > 127)
break;
case AD_ELEC:
if (rn2(2)) {
+/*JP
pline_The("air around %s crackles with electricity.",
+*/
+ pline("%s\82Ì\89ñ\82è\82Ì\8bó\8bC\82Í\93d\8bC\82Å\83s\83\8a\83s\83\8a\82µ\82Ä\82¢\82é\81D",
mon_nam(mdef));
if (resists_elec(mdef)) {
+/*JP
pline("%s seems unhurt.", Monnam(mdef));
+*/
+ pline("\82µ\82©\82µ\81C%s\82Í\95½\8bC\82È\82æ\82¤\82¾\81D", Monnam(mdef));
dam = 0;
}
golemeffects(mdef, (int) mattk->adtyp, dam);
case AD_COLD:
if (rn2(2)) {
if (resists_cold(mdef)) {
+/*JP
pline("%s seems mildly chilly.", Monnam(mdef));
+*/
+ pline("%s\82Í\97â\82¦\82½\82æ\82¤\82¾\81D", Monnam(mdef));
dam = 0;
} else
+/*JP
pline("%s is freezing to death!", Monnam(mdef));
+*/
+ pline("%s\82Í\93\80\8e\80\82µ\82»\82¤\82¾\81I", Monnam(mdef));
golemeffects(mdef, (int) mattk->adtyp, dam);
} else
dam = 0;
case AD_FIRE:
if (rn2(2)) {
if (resists_fire(mdef)) {
+/*JP
pline("%s seems mildly hot.", Monnam(mdef));
+*/
+ pline("%s\82Í\92g\82©\82\82È\82Á\82½\82æ\82¤\82¾\81D", Monnam(mdef));
dam = 0;
} else
+/*JP
pline("%s is burning to a crisp!", Monnam(mdef));
+*/
+ pline("%s\82Í\94R\82¦\82Ä\83J\83\89\83J\83\89\82É\82È\82Á\82½\81I", Monnam(mdef));
golemeffects(mdef, (int) mattk->adtyp, dam);
} else
dam = 0;
if (mdef->mhp <= 0) /* not lifesaved */
return 2;
}
+#if 0 /*JP*/
You("%s %s!", is_animal(youmonst.data) ? "regurgitate" : "expel",
mon_nam(mdef));
+#else
+ You("%s\82ð%s\82µ\82½\81I", mon_nam(mdef),
+ is_animal(youmonst.data) ? "\93f\82«\96ß" : "\94r\8fo");
+#endif
if (Slow_digestion || is_animal(youmonst.data)) {
+/*JP
pline("Obviously, you didn't like %s taste.",
+*/
+ pline("\82Ç\82¤\82à%s\82Ì\96¡\82Í\8dD\82«\82É\82È\82ê\82È\82¢\81D",
s_suffix(mon_nam(mdef)));
}
}
Your("armor is rather cumbersome...");
if (could_seduce(&youmonst, mdef, mattk))
+/*JP
You("pretend to be friendly to %s.", mon_nam(mdef));
+*/
+ You("%s\82É\97F\8dD\93I\82È\82Ó\82è\82ð\82µ\82½\81D", mon_nam(mdef));
else if (canspotmon(mdef) && flags.verbose)
+/*JP
You("miss %s.", mon_nam(mdef));
+*/
+ Your("%s\82Ö\82Ì\8dU\8c\82\82Í\8aO\82ê\82½\81D", mon_nam(mdef));
else
+/*JP
You("miss it.");
+*/
+ Your("\89½\8eÒ\82©\82Ö\82Ì\8dU\8c\82\82Í\8aO\82ê\82½\81D");
if (!mdef->msleeping && mdef->mcanmove)
wakeup(mdef);
}
if (!u.uswallow
&& (compat = could_seduce(&youmonst, mon, mattk))) {
+#if 0 /*JP*/
You("%s %s %s.",
mon->mcansee && haseyes(mon->data) ? "smile at"
: "talk to",
mon_nam(mon),
compat == 2 ? "engagingly" : "seductively");
+#else
+ You("%s\82Ö%s%s\81D",
+ mon_nam(mon),
+ compat == 2 ? "\96£\97Í\93I\82É" : "\97U\98f\93I\82É",
+ mon->mcansee && haseyes(mon->data) ? "\94÷\8fÎ\82Ý\82©\82¯\82½"
+ : "\98b\82µ\82©\82¯\82½");
+#endif
/* doesn't anger it; no wakeup() */
sum[i] = damageum(mon, mattk);
break;
if (mon->data == &mons[PM_SHADE]
&& !(mattk->aatyp == AT_KICK && uarmf
&& uarmf->blessed)) {
+/*JP
Your("attack passes harmlessly through %s.",
+*/
+ Your("\8dU\8c\82\82Í%s\82ð\82·\82Á\82Æ\92Ê\82è\82Ê\82¯\82½\81D",
mon_nam(mon));
break;
}
if (mattk->aatyp == AT_KICK)
+/*JP
You("kick %s.", mon_nam(mon));
+*/
+ You("%s\82ð\8fR\82Á\82½\81D", mon_nam(mon));
else if (mattk->aatyp == AT_BITE)
+/*JP
You("bite %s.", mon_nam(mon));
+*/
+ You("%s\82É\8a\9a\82Ý\82Â\82¢\82½\81D", mon_nam(mon));
else if (mattk->aatyp == AT_STNG)
+/*JP
You("sting %s.", mon_nam(mon));
+*/
+ You("%s\82É\93Ë\82«\82³\82µ\82½\81D", mon_nam(mon));
else if (mattk->aatyp == AT_BUTT)
+/*JP
You("butt %s.", mon_nam(mon));
+*/
+ You("%s\82É\93ª\93Ë\82«\82ð\82\82ç\82í\82µ\82½\81D", mon_nam(mon));
else if (mattk->aatyp == AT_TUCH)
+/*JP
You("touch %s.", mon_nam(mon));
+*/
+ You("%s\82É\90G\82ê\82½\81D", mon_nam(mon));
else if (mattk->aatyp == AT_TENT)
+/*JP
Your("tentacles suck %s.", mon_nam(mon));
+*/
+ Your("\90G\8eè\82ª%s\82Ì\91Ì\89t\82ð\8bz\82¢\82Æ\82Á\82½\81D", mon_nam(mon));
else
+/*JP
You("hit %s.", mon_nam(mon));
+*/
+ Your("%s\82Ö\82Ì\8dU\8c\82\82Í\96½\92\86\82µ\82½\81D", mon_nam(mon));
sum[i] = damageum(mon, mattk);
} else {
missum(mon, mattk, (tmp + armorpenalty > dieroll));
dhit = 1;
wakeup(mon);
if (mon->data == &mons[PM_SHADE])
+/*JP
Your("hug passes harmlessly through %s.", mon_nam(mon));
+*/
+ You("%s\82ð\82Â\82©\82Ü\82¦\82æ\82¤\82Æ\82µ\82½\82ª\92Ê\82è\82Ê\82¯\82½\81D", mon_nam(mon));
else if (!sticks(mon->data) && !u.uswallow) {
if (mon == u.ustuck) {
+#if 0 /*JP*/
pline("%s is being %s.", Monnam(mon),
u.umonnum == PM_ROPE_GOLEM ? "choked" : "crushed");
+#else
+ pline("%s\82Í%s\81D", Monnam(mon),
+ u.umonnum==PM_ROPE_GOLEM ? "\8eñ\82ð\8di\82ß\82ç\82ê\82Ä\82¢\82é"
+ : "\89\9f\82µ\82Â\82Ô\82³\82ê\82Ä\82¢\82é");
+#endif
sum[i] = damageum(mon, mattk);
} else if (i >= 2 && sum[i - 1] && sum[i - 2]) {
+/*JP
You("grab %s!", mon_nam(mon));
+*/
+ You("%s\82ð\82Â\82©\82Ü\82¦\82½\81I", mon_nam(mon));
u.ustuck = mon;
sum[i] = damageum(mon, mattk);
}
if ((dhit = (tmp > rnd(20 + i)))) {
wakeup(mon);
if (mon->data == &mons[PM_SHADE])
+/*JP
Your("attempt to surround %s is harmless.", mon_nam(mon));
+*/
+ You("%s\82ð\88ù\82Ý\82±\82à\82¤\82Æ\82µ\82½\82ª\8e¸\94s\82µ\82½\81D", mon_nam(mon));
else {
sum[i] = gulpum(mon, mattk);
if (sum[i] == 2 && (mon->data->mlet == S_ZOMBIE
|| mon->data->mlet == S_MUMMY)
&& rn2(5) && !Sick_resistance) {
+/*JP
You_feel("%ssick.", (Sick) ? "very " : "");
+*/
+ You_feel("%s\8bC\95ª\82ª\88«\82¢\81D", (Sick) ? "\82Æ\82Ä\82à" : "");
mdamageu(mon, rnd(8));
}
}
case AD_ACID:
if (mhit && rn2(2)) {
if (Blind || !flags.verbose)
+/*JP
You("are splashed!");
+*/
+ You("\89½\82©\82ð\97\81\82Ñ\82¹\82ç\82ê\82½\81I");
else
+/*JP
You("are splashed by %s acid!", s_suffix(mon_nam(mon)));
-
+*/
+ You("%s\82Ì\8e_\82ð\97\81\82Ñ\82¹\82ç\82ê\82½\81I", s_suffix(mon_nam(mon)));
+
if (!Acid_resistance)
mdamageu(mon, tmp);
if (!rn2(30))
/* wrath of gods for attacking Oracle */
if (Antimagic) {
shieldeff(u.ux, u.uy);
+/*JP
pline("A hail of magic missiles narrowly misses you!");
+*/
+ pline("\96\82\96@\82Ì\96î\82Ì\89J\82ð\82È\82ñ\82Æ\82©\82©\82í\82µ\82½\81I");
} else {
+/*JP
You("are hit by magic missiles appearing from thin air!");
+*/
+ pline("\93Ë\94@\8bó\92\86\82É\8c»\82í\82ê\82½\96\82\96@\82Ì\96î\82ª\96½\92\86\82µ\82½\81I");
mdamageu(mon, tmp);
}
break;
break;
}
if (mon->mcansee) {
+/*JP
if (ureflects("%s gaze is reflected by your %s.",
+*/
+ if (ureflects("%s\82Ì\82É\82ç\82Ý\82Í%s\82É\82æ\82Á\82Ä\94½\8eË\82³\82ê\82½\81D",
s_suffix(Monnam(mon)))) {
;
} else if (Free_action) {
+/*JP
You("momentarily stiffen under %s gaze!",
+*/
+ You("%s\82Ì\82É\82ç\82Ý\82Å\88ê\8fu\8dd\92¼\82µ\82½\81I",
s_suffix(mon_nam(mon)));
} else if (Hallucination && rn2(4)) {
pline("%s looks %s%s.", Monnam(mon),
!rn2(2) ? "" : "rather ",
!rn2(2) ? "numb" : "stupified");
} else {
+/*JP
You("are frozen by %s gaze!", s_suffix(mon_nam(mon)));
+*/
+ You("%s\82Ì\82É\82ç\82Ý\82Å\93®\82¯\82È\82\82È\82Á\82½\81I", mon_nam(mon));
nomul((ACURR(A_WIS) > 12 || rn2(4)) ? -tmp : -127);
multi_reason = "frozen by a monster's gaze";
nomovemsg = 0;
}
} else {
+#if 0 /*JP*/
pline("%s cannot defend itself.",
Adjmonnam(mon, "blind"));
+#else
+ pline("%s\82Í\96h\8cä\82Å\82«\82È\82¢\81D",
+ Adjmonnam(mon,"\96Ú\82Ì\8c©\82¦\82È\82¢"));
+#endif
if (!rn2(500))
change_luck(-1);
}
} else if (Free_action) {
+/*JP
You("momentarily stiffen.");
+*/
+ You("\88ê\8fu\8dd\92¼\82µ\82½\81D");
} else { /* gelatinous cube */
+/*JP
You("are frozen by %s!", mon_nam(mon));
+*/
+ You("%s\82É\82æ\82Á\82Ä\93®\82¯\82È\82\82È\82Á\82½\81I", mon_nam(mon));
nomovemsg = You_can_move_again;
nomul(-tmp);
multi_reason = "frozen by a monster";
if (monnear(mon, u.ux, u.uy)) {
if (Cold_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
You_feel("a mild chill.");
+*/
+ You("\8a¦\82³\82ð\8a´\82¶\82½\81D");
ugolemeffects(AD_COLD, tmp);
break;
}
+/*JP
You("are suddenly very cold!");
+*/
+ You("\93Ë\91R\81C\96Ò\97ó\82É\8a¦\82\82È\82Á\82½\81I");
mdamageu(mon, tmp);
/* monster gets stronger with your heat! */
mon->mhp += tmp / 2;
if (monnear(mon, u.ux, u.uy)) {
if (Fire_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
You_feel("mildly warm.");
+*/
+ You("\92g\82©\82³\82ð\8a´\82¶\82½\81D");
ugolemeffects(AD_FIRE, tmp);
break;
}
+/*JP
You("are suddenly very hot!");
+*/
+ You("\93Ë\91R\81C\96Ò\97ó\82É\94M\82\82È\82Á\82½\81I");
mdamageu(mon, tmp); /* fire damage */
}
break;
case AD_ELEC:
if (Shock_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
You_feel("a mild tingle.");
+*/
+ You("\83s\83\8a\83s\83\8a\82Æá\83\82ê\82ð\8a´\82¶\82½\81D");
ugolemeffects(AD_ELEC, tmp);
break;
}
+/*JP
You("are jolted with electricity!");
+*/
+ You("\93d\8bC\83V\83\87\83b\83N\82ð\82¤\82¯\82½\81I");
mdamageu(mon, tmp);
break;
default:
if (!mon->mcan) {
if (drain_item(obj) && carried(obj)
&& (obj->known || obj->oclass == ARMOR_CLASS)) {
+/*JP
pline("%s less effective.", Yobjnam2(obj, "seem"));
+*/
+ Your("%s\82©\82ç\96\82\97Í\82ª\8fÁ\82¦\82½\82æ\82¤\82¾\81D", xname(obj));
}
break;
}
stumble_onto_mimic(mtmp)
struct monst *mtmp;
{
+/*JP
const char *fmt = "Wait! That's %s!", *generic = "a monster", *what = 0;
+*/
+ const char *fmt = "\82¿\82å\82Á\82Æ\82Ü\82Á\82½\81I%s\82¾\81I", *generic = "\89ö\95¨", *what = 0;
if (!u.ustuck && !mtmp->mflee && dmgtype(mtmp->data, AD_STCK))
u.ustuck = mtmp;
if (glyph_is_cmap(glyph) && (glyph_to_cmap(glyph) == S_hcdoor
|| glyph_to_cmap(glyph) == S_vcdoor))
+/*JP
fmt = "The door actually was %s!";
+*/
+ fmt = "\94à\82Í\8eÀ\8dÛ\82É\82Í%s\82¾\82Á\82½\81I";
else if (glyph_is_object(glyph) && glyph_to_obj(glyph) == GOLD_PIECE)
+/*JP
fmt = "That gold was %s!";
+*/
+ fmt = "\8bà\89Ý\82Í%s\82¾\82Á\82½\81I";
/* cloned Wiz starts out mimicking some other monster and
might make himself invisible before being revealed */
return;
if (u.umconf == 1) {
if (Blind)
+/*JP
Your("%s stop tingling.", hands);
+*/
+ Your("%s\82Ìá\83\82ê\82ª\82Æ\82ê\82½\81D", hands);
else
+/*JP
Your("%s stop glowing %s.", hands, hcolor(NH_RED));
+*/
+ Your("%s\82Ì%s\8bP\82«\82Í\82È\82\82È\82Á\82½\81D", hands, hcolor(NH_RED));
} else {
if (Blind)
+/*JP
pline_The("tingling in your %s lessens.", hands);
+*/
+ pline("%s\82Ìá\83\82ê\82ª\82Æ\82ê\82Ä\82«\82½\81D",hands);
else
+/*JP
Your("%s no longer glow so brightly %s.", hands, hcolor(NH_RED));
+*/
+ Your("%s\82Ì%s\8bP\82«\82ª\82È\82\82È\82Á\82Ä\82«\82½\81D",hands, hcolor(NH_RED));
}
u.umconf--;
}
if (mtmp->msleeping) {
mtmp->msleeping = 0;
if (useeit) {
+/*JP
pline_The("flash awakens %s.", mon_nam(mtmp));
+*/
+ pline("\91M\8cõ\82Å%s\82ª\96Ú\82ð\8ao\82Ü\82µ\82½\81D", mon_nam(mtmp));
res = 1;
}
} else if (mtmp->data->mlet != S_LIGHT) {
if (!resists_blnd(mtmp)) {
tmp = dist2(otmp->ox, otmp->oy, mtmp->mx, mtmp->my);
if (useeit) {
+/*JP
pline("%s is blinded by the flash!", Monnam(mtmp));
+*/
+ pline("%s\82Í\91M\8cõ\82Å\96Ú\82ª\8c©\82¦\82È\82\82È\82Á\82½\81I", Monnam(mtmp));
res = 1;
}
if (mtmp->data == &mons[PM_GREMLIN]) {
struct monst *mon;
int dmg;
{
+#if 0 /*JP*/
pline("%s %s!", Monnam(mon),
(dmg > mon->mhp / 2) ? "wails in agony" : "cries out in pain");
+#else
+ pline("%s\82Í%s\81I", Monnam(mon),
+ (dmg > mon->mhp / 2) ? "\8bê\92É\82Ì\90º\82ð\82 \82°\82½" : "\8c\83\92É\82Å\8b©\82ñ\82¾");
+#endif
if ((mon->mhp -= dmg) <= 0) {
if (context.mon_moving)
monkilled(mon, (char *) 0, AD_BLND);
/* 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_DCL struct monst *NDECL(findgd);
egrd->fcbeg++;
}
if (sawcorridor)
+/*JP
pline_The("corridor disappears.");
+*/
+ pline("\92Ê\98H\82Í\8fÁ\82¦\82½\81D");
if (IS_ROCK(levl[u.ux][u.uy].typ))
+/*JP
You("are encased in rock.");
+*/
+ You("\90Î\82É\82Â\82Â\82Ü\82ê\82½\81D");
return TRUE;
}
reset_faint(); /* if fainted - wake up */
gsensed = !canspotmon(guard);
if (!gsensed)
+#if 0 /*JP*/
pline("Suddenly one of the Vault's %s enters!",
makeplural(guard->data->mname));
+#else
+ pline("\93Ë\91R\81C\91q\8cÉ\82Ì\94Ô\95º\82ª\93ü\82Á\82Ä\82«\82½\81I");
+#endif
else
+/*JP
pline("Someone else has entered the Vault.");
+*/
+ pline("\92N\82©\82ª\91q\8cÉ\82É\93ü\82Á\82Ä\82«\82½\81D");
newsym(guard->mx, guard->my);
if (u.uswallow) {
/* can't interrogate hero, don't interrogate engulfer */
if (youmonst.m_ap_type == M_AP_OBJECT || u.uundetected) {
if (youmonst.m_ap_type == M_AP_OBJECT
&& youmonst.mappearance != GOLD_PIECE)
+/*JP
verbalize("Hey! Who left that %s in here?",
+*/
+ verbalize("\82¨\82¢\81I\82¾\82ê\82ª\82±\82Ì%s\82ð\82±\82±\82É\92u\82¢\82Ä\8ds\82Á\82½\82ñ\82¾\81H",
mimic_obj_name(&youmonst));
/* You're mimicking some object or you're hidden. */
+/*JP
pline("Puzzled, %s turns around and leaves.", mhe(guard));
+*/
+ pline("%s\82Í\8d¢\98f\82µ\82È\82ª\82ç\81C\8cü\82«\92¼\82Á\82Ä\8b\8e\82Á\82Ä\82¢\82Á\82½\81D", mhe(guard));
mongone(guard);
return;
}
/* [we ought to record whether this this message has already
been given in order to vary it upon repeat visits, but
discarding the monster and its egd data renders that hard] */
+/*JP
verbalize("I'll be back when you're ready to speak to me!");
+*/
+ verbalize("\98b\82¹\82é\82æ\82¤\82É\82È\82Á\82½\82ç\96ß\82Á\82Ä\82«\82Ä\82â\82é\81I");
mongone(guard);
return;
}
}
trycount = 5;
do {
+/*JP
getlin("\"Hello stranger, who are you?\" -", buf);
+*/
+ getlin("\81u\8c©\82È\82¢\8aç\82¾\82È\81C\82¨\82Ü\82¦\82Í\92N\82¾\81H\81v-", buf);
(void) mungspaces(buf);
+#if 0 /*JP*/
} while (!letter(buf[0]) && --trycount > 0);
+#else
+ } while (!letter(buf[0]) && !is_kanji(buf[0]) && --trycount > 0);
+#endif
if (u.ualign.type == A_LAWFUL
/* ignore trailing text, in case player includes rank */
adjalign(-1); /* Liar! */
}
+#if 0 /*JP*/
if (!strcmpi(buf, "Croesus") || !strcmpi(buf, "Kroisos")
|| !strcmpi(buf, "Creosote")) {
+#else
+ if (!strcmpi(buf, "Croesus") || !strcmpi(buf, "Kroisos")
+ || !strcmpi(buf, "Creosote")
+ || !strcmp(buf, "\83N\83\8d\83C\83\\83X") || !strcmp(buf, "\83N\83\8c\83I\83\\81[\83g")) {
+#endif
if (!mvitals[PM_CROESUS].died) {
verbalize(
+/*JP
"Oh, yes, of course. Sorry to have disturbed you.");
+*/
+ "\82¢\82â\81C\82±\82è\82á\81C\82¦\81[\82Æ\81C\82¨\91\9b\82ª\82¹\82µ\82Ü\82µ\82½\81D");
mongone(guard);
} else {
setmangry(guard);
+/*JP
verbalize("Back from the dead, are you? I'll remedy that!");
+*/
+ verbalize("\82Ù\82¤\81I\8e\80\82Ì\90¢\8aE\82©\82ç\96ß\82Á\82Ä\82«\82½\82Ì\82©\81H\82¤\82»\82È\82ç\8fã\8eè\82É\82Â\82¯\81I");
/* don't want guard to waste next turn wielding a weapon */
if (!MON_WEP(guard)) {
guard->weapon_check = NEED_HTH_WEAPON;
}
return;
}
+/*JP
verbalize("I don't know you.");
+*/
+ verbalize("\92m\82ç\82ñ\82È\81D");
umoney = money_cnt(invent);
if (Deaf) {
;
} else if (!umoney && !hidden_gold()) {
+/*JP
verbalize("Please follow me.");
+*/
+ verbalize("\8e\84\82Ì\8cã\82É\82Â\82¢\82Ä\82«\82È\82³\82¢\81D");
} else {
if (!umoney)
+/*JP
verbalize("You have hidden gold.");
+*/
+ verbalize("\82Ü\82¾\8bà\89Ý\82ð\89B\82µ\82Ä\82é\82È\81D");
verbalize(
+/*JP
"Most likely all your gold was stolen from this vault.");
+*/
+ "\91q\8cÉ\82©\82ç\93\90\82ñ\82¾\8bà\89Ý\82ª\82 \82é\82¾\82ë\82¤\81D");
+/*JP
verbalize("Please drop that gold and follow me.");
+*/
+ verbalize("\82»\82ê\82ð\82»\82Á\82\82è\96ß\82µ\82Ä\82©\82ç\81C\8e\84\82Ì\8cã\82É\82Â\82¢\82Ä\82«\82È\82³\82¢\81D");
}
EGD(guard)->gdx = gx;
EGD(guard)->gdy = gy;
if (movedgold || fixed) {
if (in_fcorridor(grd, grd->mx, grd->my) || cansee(grd->mx, grd->my))
+/*JP
pline("%s whispers an incantation.", noit_Monnam(grd));
+*/
+ pline("%s\82Í\8eô\95¶\82ð\82³\82³\82â\82¢\82½\81D", noit_Monnam(grd));
else
+/*JP
You_hear("a distant chant.");
+*/
+ You_hear("\89\93\95û\82Å\82Ì\8eô\95¶\82ð\95·\82¢\82½\81D");
if (movedgold)
+/*JP
pline("A mysterious force moves the gold into the vault.");
+*/
+ pline("\95s\8ev\8bc\82È\97Í\82ª\8bà\89Ý\82ð\91q\8cÉ\82Ö\89^\82ñ\82¾\81D");
if (fixed)
+/*JP
pline_The("damaged vault's walls are magically restored!");
+*/
+ pline("\8f\9d\82Â\82¢\82½\91q\8cÉ\82Ì\95Ç\82Í\96\82\96@\82Å\95\9c\8c³\82³\82ê\82½\81I");
}
}
if (egrd->fcend == 1) {
if (u_in_vault && (u_carry_gold || um_dist(grd->mx, grd->my, 1))) {
if (egrd->warncnt == 3 && !Deaf)
+#if 0 /*JP*/
verbalize("I repeat, %sfollow me!",
u_carry_gold
? (!umoney ? "drop that hidden money and "
: "drop that money and ")
: "");
+#else
+ verbalize("\8cJ\82è\95Ô\82·\81I%s\8e\84\82É\82Â\82¢\82Ä\82±\82¢\81I",
+ u_carry_gold
+ ? (!umoney ? "\89B\82µ\8e\9d\82Á\82Ä\82é\8bà\82ð\92u\82¢\82Ä"
+ : "\8bà\82ð\92u\82¢\82Ä")
+ : "");
+#endif
if (egrd->warncnt == 7) {
m = grd->mx;
n = grd->my;
if (!Deaf)
+/*JP
verbalize("You've been warned, knave!");
+*/
+ verbalize("\8cx\8d\90\82Í\82µ\82½\82¼\81C\88«\93}\82ß\81I");
mnexto(grd);
levl[m][n].typ = egrd->fakecorr[0].ftyp;
newsym(m, n);
grd->mpeaceful = 0;
letknow:
if (!cansee(grd->mx, grd->my) || !mon_visible(grd))
+/*JP
You_hear("the shrill sound of a guard's whistle.");
+*/
+ You_hear("\94Ô\95º\82Ì\89s\82¢\93J\82Ì\89¹\82ð\95·\82¢\82½\81D");
else
+#if 0 /*JP*/
You(um_dist(grd->mx, grd->my, 2)
? "see %s approaching."
: "are confronted by %s.",
/* "an angry guard" */
x_monnam(grd, ARTICLE_A, "angry", 0, FALSE));
+#else
+ You(um_dist(grd->mx, grd->my, 2)
+ ? "%s\82ª\8bß\82Ã\82¢\82Ä\82\82é\82Ì\82ð\8c©\82½\81D"
+ : "%s\82Æ\91Î\9b³\82µ\82½\81D",
+ x_monnam(grd, ARTICLE_A, "\93{\82Á\82½", 0, FALSE));
+#endif
return -1;
} else {
if (!Deaf)
+/*JP
verbalize("Well, begone.");
+*/
+ verbalize("\97§\82¿\8b\8e\82ê\81D");
wallify_vault(grd);
egrd->gddone = 1;
goto cleanup;
&& !egrd->gddone && !in_fcorridor(grd, u.ux, u.uy)
&& levl[egrd->fakecorr[0].fx][egrd->fakecorr[0].fy].typ
== egrd->fakecorr[0].ftyp) {
+/*JP
pline("%s, confused, disappears.", noit_Monnam(grd));
+*/
+ pline("%s\82Í\8d¬\97\90\82µ\81C\8fÁ\82¦\82½\81D", noit_Monnam(grd));
disappear_msg_seen = TRUE;
goto cleanup;
}
if (egrd->warncnt < 6) {
egrd->warncnt = 6;
if (!Deaf)
+/*JP
verbalize("Drop all your gold, scoundrel!");
+*/
+ verbalize("\8bà\82ð\91S\95\94\92u\82¢\82Ä\82ä\82¯\81C\82È\82ç\82¸\82à\82Ì\81I");
return 0;
} else {
if (!Deaf)
+/*JP
verbalize("So be it, rogue!");
+*/
+ verbalize("\93\90\90l\82ß\81I");
grd->mpeaceful = 0;
return -1;
}
/* just for insurance... */
if (MON_AT(m, n) && m != grd->mx && n != grd->my) {
if (!Deaf)
+/*JP
verbalize("Out of my way, scum!");
+*/
+ verbalize("\96Ú\82Ì\91O\82©\82ç\8fÁ\82¦\82ë\81C\83N\83\\82Á\82½\82ê\81I");
(void) rloc(m_at(m, n), FALSE);
}
remove_monster(grd->mx, grd->my);
mpickgold(grd); /* does a newsym */
}
if (cansee(m, n))
+#if 0 /*JP*/
pline("%s%s picks up the gold.", Monnam(grd),
grd->mpeaceful ? " calms down and" : "");
+#else
+ pline("%s\82Í%s\8bà\89Ý\82ð\8fE\82Á\82½\81D", Monnam(grd),
+ grd->mpeaceful ? "\93{\82è\82ð\90Ã\82ß" : "");
+#endif
if (x != grd->mx || y != grd->my) {
remove_monster(grd->mx, grd->my);
newsym(grd->mx, grd->my);
if (um_dist(grd->mx, grd->my, 1) || egrd->gddone) {
if (!egrd->gddone && !rn2(10) && !Deaf && !u.uswallow
&& !(u.ustuck && !sticks(youmonst.data)))
+/*JP
verbalize("Move along!");
+*/
+ verbalize("\97£\82ê\82é\82È\81I");
restfakecorr(grd);
return 0; /* didn't move */
}
restfakecorr(grd);
if (!semi_dead && (in_fcorridor(grd, u.ux, u.uy) || cansee(x, y))) {
if (!disappear_msg_seen && see_guard)
+/*JP
pline("Suddenly, %s disappears.", noit_mon_nam(grd));
+*/
+ pline("\93Ë\91R\81C%s\82Í\8fÁ\82¦\82½\81D", noit_mon_nam(grd));
return 1;
}
return -2;
return;
if (u.uinvault) {
+#if 0 /*JP*/
Your("%ld %s goes into the Magic Memory Vault.", umoney,
currency(umoney));
+#else
+ Your("%ld%s\82Í\96\82\96@\82Ì\8bL\94O\91q\8cÉ\82É\93ü\82Á\82½\81D", umoney,
+ currency(umoney));
+#endif
gx = u.ux;
gy = u.uy;
} else {
return;
}
mnexto(grd);
+/*JP
pline("%s remits your gold to the vault.", Monnam(grd));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\8bà\89Ý\82ð\91q\8cÉ\82É\91\97\82Á\82½\81D", Monnam(grd));
gx = rooms[EGD(grd)->vroom].lx + rn2(2);
gy = rooms[EGD(grd)->vroom].ly + rn2(2);
+#if 0 /*JP*/
Sprintf(buf, "To Croesus: here's the gold recovered from %s the %s.",
plname, mons[u.umonster].mname);
+#else
+ Sprintf(buf, "\83N\83\8d\83C\83\\83X\82Ö: \82±\82±\82É%s\82Ì%s\82©\82ç\8eæ\82è\96ß\82µ\82½\8bà\89Ý\82ð\91\97\82é\81D",
+ mons[u.umonster].mname, plname);
+#endif
make_grave(gx, gy, buf);
}
for (coins = invent; coins; coins = nextcoins) {
/* 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"
#include "dlb.h"
#include "date.h"
*/
#ifdef SHORT_FILENAMES
#include "patchlev.h"
+#include "../japanese/jpatchle.h"
#else
#include "patchlevel.h"
+#include "../japanese/jpatchlevel.h"
#endif
#define BETA_INFO ""
char buf[BUFSZ];
pline("%s", getversionstring(buf));
+#if 1 /*JP*/
+ pline("%s", JVERSION_ID);
+#endif
return 0;
}
* bonuses for any given weapon used, as well as weapons selection
* code for monsters.
*/
+
+/* 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"
/* Categories whose names don't come from OBJ_NAME(objects[type])
give_may_advance_msg(skill)
int skill;
{
+#if 0 /*JP*/
You_feel("more confident in your %sskills.",
skill == P_NONE ? "" : skill <= P_LAST_WEAPON
? "weapon "
: skill <= P_LAST_SPELL
? "spell casting "
: "fighting ");
+#else
+ You("%s\83X\83L\83\8b\82ð\8d\82\82ß\82é\8e©\90M\82ª\97N\82¢\82Ä\82«\82½\81D",
+ skill == P_NONE ? "" : skill <= P_LAST_WEAPON
+ ? "\95\90\8aí\82Ì"
+ : skill <= P_LAST_SPELL
+ ? "\96\82\96@\82Ì"
+ : "\90í\82¢\82Ì");
+#endif
}
STATIC_DCL boolean FDECL(can_advance, (int, BOOLEAN_P));
mon->weapon_check = NO_WEAPON_WANTED;
obj_extract_self(obj);
if (cansee(mon->mx, mon->my)) {
+/*JP
pline("%s drops %s.", Monnam(mon), distant_name(obj, doname));
+*/
+ pline("%s\82Í%s\82ð\92u\82¢\82½\81D", Monnam(mon), distant_name(obj, doname));
newsym(mon->mx, mon->my);
}
/* might be dropping object into water or lava */
+/*JP
if (!flooreffects(obj, mon->mx, mon->my, "drop")) {
+*/
+ if (!flooreffects(obj, mon->mx, mon->my, "\97\8e\82¿\82é")) {
if (polyspot)
bypass_obj(obj);
place_object(obj, mon->mx, mon->my);
if (bimanual(mw_tmp))
mon_hand = makeplural(mon_hand);
+#if 0 /*JP*/
Sprintf(welded_buf, "%s welded to %s %s",
otense(mw_tmp, "are"), mhis(mon), mon_hand);
+#endif
if (obj->otyp == PICK_AXE) {
+#if 0 /*JP*/
pline("Since %s weapon%s %s,", s_suffix(mon_nam(mon)),
plur(mw_tmp->quan), welded_buf);
+#else
+ pline("%s\82Í\95\90\8aí\82ð\8eè\82É\82µ\82æ\82¤\82Æ\82µ\82½\82ª\81C", mon_nam(mon));
+#endif
+#if 0 /*JP*/
pline("%s cannot wield that %s.", mon_nam(mon),
xname(obj));
+#else
+ pline("%s\82Í%s\82ð\91\95\94õ\82Å\82«\82È\82©\82Á\82½\81D", mon_nam(mon),
+ xname(obj));
+#endif
} else {
+/*JP
pline("%s tries to wield %s.", Monnam(mon), doname(obj));
+*/
+ pline("%s\82Í%s\82ð\91\95\94õ\82µ\82æ\82¤\82Æ\82µ\82½\81D", Monnam(mon), doname(obj));
+/*JP
pline("%s %s!", Yname2(mw_tmp), welded_buf);
+*/
+ pline("%s\82Í%s\82ð\8eè\82É\82µ\82½\81I", Monnam(mon), xname(mw_tmp));
}
mw_tmp->bknown = 1;
}
setmnotwielded(mon, mw_tmp);
mon->weapon_check = NEED_WEAPON;
if (canseemon(mon)) {
+/*JP
pline("%s wields %s!", Monnam(mon), doname(obj));
+*/
+ pline("%s\82Í%s\82ð\91\95\94õ\82µ\82½\81I", Monnam(mon), doname(obj));
if (mwelded(mw_tmp)) {
+#if 0 /*JP*/
pline("%s %s to %s %s!", Tobjnam(obj, "weld"),
is_plural(obj) ? "themselves" : "itself",
s_suffix(mon_nam(mon)), mbodypart(mon, HAND));
+#else
+ pline("%s\82Í\8f\9f\8eè\82É%s\82Ì%s\82É\91\95\94õ\82³\82ê\82½\81I",
+ xname(obj),
+ mon_nam(mon), mbodypart(mon, HAND));
+#endif
obj->bknown = 1;
}
}
if (artifact_light(obj) && !obj->lamplit) {
begin_burn(obj, FALSE);
if (canseemon(mon))
+#if 0 /*JP*/
pline("%s %s in %s %s!", Tobjnam(obj, "shine"),
arti_light_description(obj), s_suffix(mon_nam(mon)),
mbodypart(mon, HAND));
+#else
+ pline("%s\82Í%s\82Ì%s\82Ì\92\86\82Å%s\8bP\82¢\82½\81I",
+ xname(obj), mon_nam(mon),
+ mbodypart(mon, HAND), arti_light_description(obj));
+#endif
}
obj->owornmask = W_WEP;
return 1;
switch (P_SKILL(skill)) {
case P_UNSKILLED:
+/*JP
ptr = "Unskilled";
+*/
+ ptr = "\8f\89\90S\8eÒ";
break;
case P_BASIC:
+/*JP
ptr = "Basic";
+*/
+ ptr = "\93ü\96å\8eÒ";
break;
case P_SKILLED:
+/*JP
ptr = "Skilled";
+*/
+ ptr = "\8fn\97û\8eÒ";
break;
case P_EXPERT:
+/*JP
ptr = "Expert";
+*/
+ ptr = "\83G\83L\83X\83p\81[\83g";
break;
/* these are for unarmed combat/martial arts only */
case P_MASTER:
+/*JP
ptr = "Master";
+*/
+ ptr = "\83}\83X\83^\81[";
break;
case P_GRAND_MASTER:
+/*JP
ptr = "Grand Master";
+*/
+ ptr = "\83O\83\89\83\93\83h\83}\83X\83^\81[";
break;
default:
+/*JP
ptr = "Unknown";
+*/
+ ptr = "\95s\96¾";
break;
}
Strcpy(buf, ptr);
P_SKILL(skill)++;
u.skill_record[u.skills_advanced++] = skill;
/* subtly change the advance message to indicate no more advancement */
+#if 0 /*JP*/
You("are now %s skilled in %s.",
P_SKILL(skill) >= P_MAX_SKILL(skill) ? "most" : "more",
P_NAME(skill));
+#else
+ Your("%s\82Ì\83X\83L\83\8b\82ð%s\8d\82\82ß\82½\81D",
+ P_NAME(skill),
+ P_SKILL(skill) >= P_MAX_SKILL(skill) ? "\8dÅ\8d\82\82É" : "\82³\82ç\82É");
+#endif
}
static const struct skill_range {
short first, last;
const char *name;
} skill_ranges[] = {
+/*JP
{ P_FIRST_H_TO_H, P_LAST_H_TO_H, "Fighting Skills" },
+*/
+ { P_FIRST_H_TO_H, P_LAST_H_TO_H, "\90í\82¢\82Ì\83X\83L\83\8b" },
+/*JP
{ P_FIRST_WEAPON, P_LAST_WEAPON, "Weapon Skills" },
+*/
+ { P_FIRST_WEAPON, P_LAST_WEAPON, "\95\90\8aí\82Ì\83X\83L\83\8b" },
+/*JP
{ P_FIRST_SPELL, P_LAST_SPELL, "Spellcasting Skills" },
+*/
+ { P_FIRST_SPELL, P_LAST_SPELL, "\96\82\96@\82Ì\83X\83L\83\8b" },
};
/*
if (eventually_advance > 0 || maxxed_cnt > 0) {
any = zeroany;
if (eventually_advance > 0) {
+#if 0 /*JP*/
Sprintf(buf, "(Skill%s flagged by \"*\" may be enhanced %s.)",
plur(eventually_advance),
(u.ulevel < MAXULEV)
? "when you're more experienced"
: "if skill slots become available");
+#else
+ Sprintf(buf, "(\"*\"\82ª\82Â\82¢\82Ä\82¢\82é\83X\83L\83\8b\82Í%s\8d\82\82ß\82ç\82ê\82é\81D)",
+ (u.ulevel < MAXULEV)
+ ? "\82à\82Á\82Æ\8co\8c±\82ð\82Â\82ß\82Î"
+ : "\83X\83L\83\8b\83X\83\8d\83b\83g\82ª\8eg\82¦\82é\82æ\82¤\82É\82È\82ê\82Î");
+#endif
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, buf,
MENU_UNSELECTED);
}
if (maxxed_cnt > 0) {
+#if 0 /*JP*/
Sprintf(buf,
"(Skill%s flagged by \"#\" cannot be enhanced any further.)",
plur(maxxed_cnt));
+#else
+ Sprintf(buf,
+ "(\"#\"\82ª\82Â\82¢\82Ä\82¢\82é\83X\83L\83\8b\82Í\82±\82ê\88È\8fã\8d\82\82ß\82ç\82ê\82È\82¢\81D)");
+#endif
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, buf,
MENU_UNSELECTED);
}
MENU_UNSELECTED);
}
+#if 0 /*JP*/
Strcpy(buf, (to_advance > 0) ? "Pick a skill to advance:"
: "Current skills:");
+#else
+ Strcpy(buf, (to_advance > 0) ? "\83X\83L\83\8b\82ð\91I\91ð\82µ\82Ä\82\82¾\82³\82¢\81F"
+ : "\8c»\8dÝ\82Ì\83X\83L\83\8b\81F");
+#endif
if (wizard && !speedy)
Sprintf(eos(buf), " (%d slot%s available)", u.weapon_slots,
plur(u.weapon_slots));
for (n = i = 0; i < P_NUM_SKILLS; i++) {
if (can_advance(i, speedy)) {
if (!speedy)
+/*JP
You_feel("you could be more dangerous!");
+*/
+ You("\82³\82ç\82É\83X\83L\83\8b\82ð\8d\82\82ß\82é\82±\82Æ\82ª\82Å\82«\82»\82¤\82È\8bC\82ª\82µ\82½\81I");
n++;
break;
}
if (artifact_light(obj) && obj->lamplit) {
end_burn(obj, FALSE);
if (canseemon(mon))
+#if 0 /*JP*/
pline("%s in %s %s %s shining.", The(xname(obj)),
s_suffix(mon_nam(mon)), mbodypart(mon, HAND),
otense(obj, "stop"));
+#else
+ pline("%s\82ª\8e\9d\82Â%s\82Ì\8bP\82«\82ª\8fÁ\82¦\82½\81D",
+ mon_nam(mon), xname(obj));
+#endif
}
if (MON_WEP(mon) == obj)
MON_NOWEP(mon);
switch (monsndx(mon->data)) {
case PM_WEREWOLF:
+/*JP
howler = "wolf";
+*/
+ howler = "\98T";
break;
case PM_WEREJACKAL:
+/*JP
howler = "jackal";
+*/
+ howler = "\83W\83\83\83b\83J\83\8b";
break;
default:
howler = (char *) 0;
break;
}
if (howler)
+/*JP
You_hear("a %s howling at the moon.", howler);
+*/
+ You_hear("\8c\8e\96é\82É%s\82ª\96i\82¦\82é\90º\82ð\95·\82¢\82½\81D", howler);
}
}
} else if (!rn2(30) || Protection_from_shape_changers) {
}
if (canseemon(mon) && !Hallucination)
+#if 0 /*JP*/
pline("%s changes into a %s.", Monnam(mon),
is_human(&mons[pm]) ? "human" : mons[pm].mname + 4);
+#else
+ pline("%s\82Í%s\82Ì\8ep\82É\82È\82Á\82½\81D", Monnam(mon),
+ is_human(&mons[pm]) ? "\90l\8aÔ" : mons[pm].mname + 4);
+#endif
set_mon_data(mon, &mons[pm], 0);
if (mon->msleeping || !mon->mcanmove) {
typ =
rn2(3) ? PM_SEWER_RAT : rn2(3) ? PM_GIANT_RAT : PM_RABID_RAT;
if (genbuf)
+/*JP
Strcpy(genbuf, "rat");
+*/
+ Strcpy(genbuf, "\83l\83Y\83~");
break;
case PM_WEREJACKAL:
case PM_HUMAN_WEREJACKAL:
typ = PM_JACKAL;
if (genbuf)
+/*JP
Strcpy(genbuf, "jackal");
+*/
+ Strcpy(genbuf, "\83W\83\83\83b\83J\83\8b");
break;
case PM_WEREWOLF:
case PM_HUMAN_WEREWOLF:
typ = rn2(5) ? PM_WOLF : PM_WINTER_WOLF;
if (genbuf)
+/*JP
Strcpy(genbuf, "wolf");
+*/
+ Strcpy(genbuf, "\98T");
break;
default:
continue;
if (Unchanging || (u.umonnum == u.ulycn))
return;
if (controllable_poly) {
+#if 0 /*JP*/
/* `+4' => skip "were" prefix to get name of beast */
Sprintf(qbuf, "Do you want to change into %s?",
an(mons[u.ulycn].mname + 4));
+#else /*JP: \93ú\96{\8cê\82Å\82Í\82»\82±\82Ü\82Å\82µ\82È\82¢ */
+ Sprintf(qbuf,"%s\82É\95Ï\89»\82µ\82Ü\82·\82©\81H",
+ mons[u.ulycn].mname + 4);
+#endif
if (yn(qbuf) == 'n')
return;
}
boolean controllable_poly = Polymorph_control && !(Stunned || Unaware);
if (purify) {
+/*JP
You_feel("purified.");
+*/
+ You("\8fò\82ß\82ç\82ê\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81D");
u.ulycn = NON_PM; /* cure lycanthropy */
}
if (!Unchanging && is_were(youmonst.data)
+/*JP
&& (!controllable_poly || yn("Remain in beast form?") == 'n'))
+*/
+ && (!controllable_poly || yn("\8fb\82Ì\8ep\82Ì\82Ü\82Ü\82Å\82¢\82é\81H") == 'n'))
rehumanize();
}
/* 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"
/* KMH -- Differences between the three weapon slots.
if (uwep == obj && artifact_light(olduwep) && olduwep->lamplit) {
end_burn(olduwep, FALSE);
if (!Blind)
+/*JP
pline("%s shining.", Tobjnam(olduwep, "stop"));
+*/
+ pline("%s\82Í\8bP\82«\82ð\8e~\82ß\82½\81D", xname(olduwep));
}
/* Note: Explicitly wielding a pick-axe will not give a "bashing"
* message. Wielding one via 'a'pplying it will.
return FALSE;
/* Prevent wielding cockatrice when not wearing gloves --KAA */
+#if 0 /*JP*/
You("wield %s in your bare %s.",
corpse_xname(obj, (const char *) 0, CXN_PFX_THE),
makeplural(body_part(HAND)));
+#else
+ You("%s\82ð%s\82É\82µ\82½\81D",
+ corpse_xname(obj, (const char *) 0, CXN_PFX_THE),
+ body_part(HAND));
+#endif
+/*JP
Sprintf(kbuf, "wielding %s bare-handed", killer_xname(obj));
+*/
+ Sprintf(kbuf, "%s\82ð\91f\8eè\82Å\8eè\82É\82µ\82Ä", killer_xname(obj));
instapetrify(kbuf);
return TRUE;
}
if (!wep) {
/* No weapon */
if (uwep) {
+/*JP
You("are empty %s.", body_part(HANDED));
+*/
+ You("%s\82ð\8bó\82¯\82½\81D", body_part(HAND));
setuwep((struct obj *) 0);
res++;
} else
+/*JP
You("are already empty %s.", body_part(HANDED));
+*/
+ You("\89½\82à%s\82É\82µ\82Ä\82¢\82È\82¢\81I", body_part(HAND));
} else if (wep->otyp == CORPSE && cant_wield_corpse(wep)) {
/* hero must have been life-saved to get here; use a turn */
res++; /* corpse won't be wielded */
} else if (uarms && bimanual(wep)) {
+#if 0 /*JP*/
You("cannot wield a two-handed %s while wearing a shield.",
is_sword(wep) ? "sword" : wep->otyp == BATTLE_AXE ? "axe"
: "weapon");
+#else
+ pline("\8f\82\82ð\91\95\94õ\82µ\82Ä\82¢\82é\82Æ\82«\82É\97¼\8eè\8e\9d\82¿\82Ì%s\82ð\91\95\94õ\82Å\82«\82È\82¢\81D",
+ is_sword(wep) ? "\8c\95" : wep->otyp == BATTLE_AXE ? "\95\80"
+ : "\95\90\8aí");
+#endif
} else if (!retouch_object(&wep, FALSE)) {
res++; /* takes a turn even though it doesn't get wielded */
} else {
/* Weapon WILL be wielded after this point */
res++;
if (will_weld(wep)) {
+#if 0 /*JP*//*\8eg\82í\82È\82¢*/
const char *tmp = xname(wep), *thestr = "The ";
if (strncmp(tmp, thestr, 4) && !strncmp(The(tmp), thestr, 4))
tmp = thestr;
else
tmp = "";
+#endif
+#if 0 /*JP*/
pline("%s%s %s to your %s!", tmp, aobjnam(wep, "weld"),
(wep->quan == 1L) ? "itself" : "themselves", /* a3 */
bimanual(wep) ? (const char *) makeplural(body_part(HAND))
: body_part(HAND));
+#else
+ pline("%s\82Í\8f\9f\8eè\82É\82 \82È\82½\82Ì%s\82É\91\95\94õ\82³\82ê\82½\81D",
+ xname(wep), body_part(HAND));
+#endif
wep->bknown = TRUE;
} else {
/* The message must be printed before setuwep (since
if (artifact_light(wep) && !wep->lamplit) {
begin_burn(wep, FALSE);
if (!Blind)
+#if 0 /*JP*/
pline("%s to shine %s!", Tobjnam(wep, "begin"),
arti_light_description(wep));
+#else
+ pline("%s\82Í%s\8bP\82«\82Í\82¶\82ß\82½\81I", xname(wep),
+ arti_light_description(wep));
+#endif
}
#if 0
/* we'll get back to this someday, but it's not balanced yet */
if ((this_shkp = shop_keeper(inside_shop(u.ux, u.uy)))
!= (struct monst *) 0) {
+#if 0 /*JP*/
pline("%s says \"You be careful with my %s!\"",
shkname(this_shkp), xname(wep));
+#else
+ pline("%s\82Í\8fq\82×\82½\81u%s\82Ì\88µ\82¢\82Í\8bC\82ð\82Â\82¯\82Ä\82\82ê\82æ\81I\81v",
+ shkname(this_shkp), xname(wep));
+#endif
}
}
}
/* May we attempt this? */
multi = 0;
if (cantwield(youmonst.data)) {
+/*JP
pline("Don't be ridiculous!");
+*/
+ pline("\82Î\82©\82Î\82©\82µ\82¢\81I");
return 0;
}
/* Cancelled */
return 0;
else if (wep == uwep) {
+/*JP
You("are already wielding that!");
+*/
+ You("\82à\82¤\82»\82ê\82ð%s\82É\82µ\82Ä\82¢\82é\81I", body_part(HAND));
if (is_weptool(wep) || is_wet_towel(wep))
unweapon = FALSE; /* [see setuwep()] */
return 0;
else if (wep == uquiver)
setuqwep((struct obj *) 0);
else if (wep->owornmask & (W_ARMOR | W_ACCESSORY | W_SADDLE)) {
+/*JP
You("cannot wield that!");
+*/
+ You("\82»\82ê\82ð\91\95\94õ\82Å\82«\82È\82¢\81I");
return 0;
}
/* May we attempt this? */
multi = 0;
if (cantwield(youmonst.data)) {
+/*JP
pline("Don't be ridiculous!");
+*/
+ pline("\82Î\82©\82Î\82©\82µ\82¢\81I");
return 0;
}
if (welded(uwep)) {
if (uswapwep)
prinv((char *) 0, uswapwep, 0L);
else
+/*JP
You("have no secondary weapon readied.");
+*/
+ You("\97\\94õ\82Ì\95\90\8aí\82Ì\97p\88Ó\82ð\82â\82ß\82½\81D");
}
if (u.twoweap && !can_twoweapon())
if (newquiver == &zeroobj) {
/* Explicitly nothing */
if (uquiver) {
+/*JP
You("now have no ammunition readied.");
+*/
+ pline("\91\95\93U\82·\82é\82½\82ß\82Ì\96î\92e\82ª\82È\82\82È\82Á\82½\81D");
setuqwep(newquiver = (struct obj *) 0);
} else {
+/*JP
You("already have no ammunition readied!");
+*/
+ pline("\91\95\93U\82·\82é\82½\82ß\82Ì\96î\92e\82ª\82È\82¢\81D");
return 0;
}
} else if (newquiver == uquiver) {
+/*JP
pline("That ammunition is already readied!");
+*/
+ pline("\82à\82¤\91\95\93U\82³\82ê\82Ä\82¢\82é\81I");
return 0;
} else if (newquiver == uwep) {
/* Prevent accidentally readying the main weapon */
+#if 0 /*JP*/
pline("%s already being used as a weapon!",
!is_plural(uwep) ? "That is" : "They are");
+#else
+ pline("\82à\82¤\95\90\8aí\82Æ\82µ\82Ä\8eg\82í\82ê\82Ä\82¢\82é\81I");
+#endif
return 0;
} else if (newquiver->owornmask & (W_ARMOR | W_ACCESSORY | W_SADDLE)) {
+/*JP
You("cannot ready that!");
+*/
+ You("\82»\82ê\82Í\8eg\82¦\82È\82¢\81I");
return 0;
} else {
long dummy;
if (obj == uwep)
return TRUE; /* nothing to do if already wielding it */
+#if 0 /*JP*/
if (!verb)
verb = "wield";
+#endif
what = xname(obj);
+#if 0 /*JP*/
more_than_1 = (obj->quan > 1L || strstri(what, "pair of ") != 0
|| strstri(what, "s of ") != 0);
+#endif
if (obj->owornmask & (W_ARMOR | W_ACCESSORY)) {
+#if 0 /*JP*/
You_cant("%s %s while wearing %s.", verb, yname(obj),
more_than_1 ? "them" : "it");
+#else
+ pline("\90g\82É\82Â\82¯\82½\82Ü\82Ü\82Å\82Í%s\82Í\8eg\82¦\82È\82¢\81D", yname(obj));
+#endif
return FALSE;
}
if (welded(uwep)) {
if (flags.verbose) {
+#if 0 /*JP*/
const char *hand = body_part(HAND);
if (bimanual(uwep))
pline(
"Since your weapon is welded to your %s, you cannot %s %s %s.",
hand, verb, more_than_1 ? "those" : "that", xname(obj));
+#else
+ pline("\95\90\8aí\82ð\8eè\82É\82µ\82Ä\82¢\82é\82Ì\82Å\81C%s\82ð\8eg\82¦\82È\82¢\81D", xname(obj));
+#endif
} else {
+/*JP
You_cant("do that.");
+*/
+ pline("\82»\82ê\82Í\82Å\82«\82È\82¢\81D");
}
return FALSE;
}
if (cantwield(youmonst.data)) {
+/*JP
You_cant("hold %s strongly enough.", more_than_1 ? "them" : "it");
+*/
+ You("\82»\82ê\82ð\8e\9d\82Â\82Ù\82Ç\97Í\82ª\82È\82¢\81D");
return FALSE;
}
/* check shield */
if (uarms && bimanual(obj)) {
+#if 0 /*JP*/
You("cannot %s a two-handed %s while wearing a shield.", verb,
(obj->oclass == WEAPON_CLASS) ? "weapon" : "tool");
+#else
+ pline("\8f\82\82ð\91\95\94õ\82µ\82½\82Ü\82Ü\97¼\8eè\8e\9d\82¿\82Ì%s\82ð\91\95\94õ\82Å\82«\82È\82¢\81D",
+ (obj->oclass == WEAPON_CLASS) ? "\95\90\8aí" : "\93¹\8bï");
+#endif
return FALSE;
}
} else {
struct obj *oldwep = uwep;
+/*JP
You("now wield %s.", doname(obj));
+*/
+ You("%s\82ð\91\95\94õ\82µ\82½\81D", doname(obj));
setuwep(obj);
if (flags.pushweapon && oldwep && uwep != oldwep)
setuswapwep(oldwep);
#define NOT_WEAPON(obj) (!is_weptool(obj) && obj->oclass != WEAPON_CLASS)
if (!could_twoweap(youmonst.data)) {
if (Upolyd)
+/*JP
You_cant("use two weapons in your current form.");
+*/
+ pline("\8c»\8dÝ\82Ì\8ep\82Å\82Í\93ñ\93\81\97¬\82Í\8eg\82¦\82È\82¢\81D");
else
+/*JP
pline("%s aren't able to use two weapons at once.",
+*/
+ pline("%s\82Í\93ñ\82Â\82Ì\95\90\8aí\82ð\93¯\8e\9e\82É\88µ\82¦\82È\82¢\81D",
makeplural((flags.female && urole.name.f) ? urole.name.f
: urole.name.m));
} else if (!uwep || !uswapwep)
+#if 0 /*JP*/
Your("%s%s%s empty.", uwep ? "left " : uswapwep ? "right " : "",
body_part(HAND), (!uwep && !uswapwep) ? "s are" : " is");
+#else
+ Your("%s%s\82Í\8bó\82Á\82Û\82¾\81D", uwep ? "\8d¶\82Ì" : uswapwep ? "\89E\82Ì" : "",
+ body_part(HAND));
+#endif
else if (NOT_WEAPON(uwep) || NOT_WEAPON(uswapwep)) {
otmp = NOT_WEAPON(uwep) ? uwep : uswapwep;
+#if 0 /*JP*/
pline("%s %s.", Yname2(otmp),
is_plural(otmp) ? "aren't weapons" : "isn't a weapon");
+#else
+ pline("%s\82Í\95\90\8aí\82¶\82á\82È\82¢\81D", Yname2(otmp));
+#endif
} else if (bimanual(uwep) || bimanual(uswapwep)) {
otmp = bimanual(uwep) ? uwep : uswapwep;
+/*JP
pline("%s isn't one-handed.", Yname2(otmp));
+*/
+ pline("%s\82Í\95Ð\8eè\8e\9d\82¿\82Ì\95\90\8aí\82¶\82á\82È\82¢\81D", Yname2(otmp));
} else if (uarms)
+/*JP
You_cant("use two weapons while wearing a shield.");
+*/
+ You("\8f\82\82ð\8e\9d\82Á\82Ä\82¢\82é\8aÔ\82Í\97¼\8eè\8e\9d\82¿\82Å\82«\82È\82¢\81D");
else if (uswapwep->oartifact)
+#if 0 /*JP*/
pline("%s being held second to another weapon!",
Yobjnam2(uswapwep, "resist"));
+#else
+ pline("%s\82Í\97\\94õ\82Ì\95\90\8aí\82Æ\82µ\82Ä\88µ\82í\82ê\82é\82±\82Æ\82ð\8b\91\82ñ\82¾\81I",
+ Yname2(uswapwep));
+#endif
else if (uswapwep->otyp == CORPSE && cant_wield_corpse(uswapwep)) {
/* [Note: NOT_WEAPON() check prevents ever getting here...] */
; /* must be life-saved to reach here; return FALSE */
/* Avoid trashing makeplural's static buffer */
Strcpy(str, makeplural(body_part(HAND)));
+/*JP
pline("%s from your %s!", Yobjnam2(obj, "slip"), str);
+*/
+ You("%s\82ð\97\8e\82µ\82Ä\82µ\82Ü\82Á\82½\81I", xname(obj));
dropx(obj);
}
{
/* You can always toggle it off */
if (u.twoweap) {
+/*JP
You("switch to your primary weapon.");
+*/
+ You("\88ê\82Â\82Ì\95\90\8aí\82Å\90í\93¬\82·\82é\82±\82Æ\82É\82µ\82½\81D");
u.twoweap = 0;
update_inventory();
return 0;
/* May we use two weapons? */
if (can_twoweapon()) {
/* Success! */
+/*JP
You("begin two-weapon combat.");
+*/
+ You("\93ñ\93\81\97¬\82Å\90í\93¬\82·\82é\82±\82Æ\82É\82µ\82½\81D");
u.twoweap = 1;
update_inventory();
return (rnd(20) > ACURR(A_DEX));
if (artifact_light(uwep) && uwep->lamplit) {
end_burn(uwep, FALSE);
if (!Blind)
+/*JP
pline("%s shining.", Tobjnam(uwep, "stop"));
+*/
+ pline("%s\82Í\8bP\82«\82ð\8e~\82ß\82½\81D", xname(uwep));
}
setworn((struct obj *) 0, W_WEP);
unweapon = TRUE;
untwoweapon()
{
if (u.twoweap) {
+/*JP
You("can no longer use two weapons at once.");
+*/
+ You("\82à\82¤\82Q\82Â\82Ì\95\90\8aí\82ð\93¯\8e\9e\82É\8eg\97p\82·\82é\82±\82Æ\82Í\82Å\82«\82È\82¢\81D");
u.twoweap = FALSE;
update_inventory();
}
if (!uwep || (uwep->oclass != WEAPON_CLASS && !is_weptool(uwep))) {
char buf[BUFSZ];
+#if 0 /*JP*/
Sprintf(buf, "Your %s %s.", makeplural(body_part(HAND)),
(amount >= 0) ? "twitch" : "itch");
+#else
+ Sprintf(buf, "\82 \82È\82½\82Ì%s\82Í%s\81D", makeplural(body_part(HAND)),
+ (amount >= 0) ? "\82Ð\82«\82Â\82Á\82½" : "\83\80\83Y\83\80\83Y\82µ\82½");
+#endif
strange_feeling(otmp, buf);
exercise(A_DEX, (boolean) (amount >= 0));
return 0;
if (uwep->otyp == WORM_TOOTH && amount >= 0) {
multiple = (uwep->quan > 1L);
/* order: message, transformation, shop handling */
+#if 0 /*JP*/
Your("%s %s much sharper now.", simpleonames(uwep),
multiple ? "fuse, and become" : "is");
+#else
+ Your("%s\82Í%s\82æ\82è\89s\82³\82ð\91\9d\82µ\82½\82æ\82¤\82¾\81D", simpleonames(uwep),
+ multiple ? "\97Z\8d\87\82µ\82Ä\81C" : "");
+#endif
uwep->otyp = CRYSKNIFE;
uwep->oerodeproof = 0;
if (multiple) {
} else if (uwep->otyp == CRYSKNIFE && amount < 0) {
multiple = (uwep->quan > 1L);
/* order matters: message, shop handling, transformation */
+#if 0 /*JP*/
Your("%s %s much duller now.", simpleonames(uwep),
multiple ? "fuse, and become" : "is");
+#else
+ Your("%s\82Í%s\82æ\82è\93Ý\82\82È\82Á\82Ä\82µ\82Ü\82Á\82½\82æ\82¤\82¾\81D", simpleonames(uwep),
+ multiple ? "\97Z\8d\87\82µ\82Ä\81C" : "");
+#endif
costly_alteration(uwep, COST_DEGRD); /* DECHNT? other? */
uwep->otyp = WORM_TOOTH;
uwep->oerodeproof = 0;
wepname = ONAME(uwep);
if (amount < 0 && uwep->oartifact && restrict_name(uwep, wepname)) {
if (!Blind)
+/*JP
pline("%s %s.", Yobjnam2(uwep, "faintly glow"), color);
+*/
+ Your("%s\82Í\82í\82¸\82©\82É%s\8bP\82¢\82½\81D", xname(uwep),jconj_adj(color));
return 1;
}
/* there is a (soft) upper and lower limit to uwep->spe */
if (((uwep->spe > 5 && amount >= 0) || (uwep->spe < -5 && amount < 0))
&& rn2(3)) {
if (!Blind)
+#if 0 /*JP*/
pline("%s %s for a while and then %s.",
Yobjnam2(uwep, "violently glow"), color,
otense(uwep, "evaporate"));
+#else
+ Your("%s\82Í\82µ\82Î\82ç\82\8c\83\82µ\82%s\8bP\82«\81C\8fö\94\82µ\82½\81D",
+ xname(uwep), jconj_adj(color));
+#endif
else
+/*JP
pline("%s.", Yobjnam2(uwep, "evaporate"));
+*/
+ Your("%s\82Í\8fö\94\82µ\82½\81D", xname(uwep));
useupall(uwep); /* let all of them disappear */
return 1;
}
if (!Blind) {
+/*JP
xtime = (amount * amount == 1) ? "moment" : "while";
+*/
+ xtime = (amount*amount == 1) ? "\88ê\8fu" : "\82µ\82Î\82ç\82\82Ì\8aÔ";
+#if 0 /*JP*/
pline("%s %s for a %s.",
Yobjnam2(uwep, amount == 0 ? "violently glow" : "glow"), color,
xtime);
+#else
+ Your("%s\82Í%s%s%s\8bP\82¢\82½\81D",
+ xname(uwep), xtime, jconj_adj(color),
+ amount == 0 ? "\8c\83\82µ\82" : "");
+#endif
if (otyp != STRANGE_OBJECT && uwep->known
&& (amount > 0 || (amount < 0 && otmp->bknown)))
makeknown(otyp);
* spe dependent. Give an obscure clue here.
*/
if (uwep->oartifact == ART_MAGICBANE && uwep->spe >= 0) {
+#if 0 /*JP*/
Your("right %s %sches!", body_part(HAND),
(((amount > 1) && (uwep->spe > 1)) ? "flin" : "it"));
+#else
+ Your("\89E%s\82Í%s\81I",
+ body_part(HAND),
+ (((amount > 1) && (uwep->spe > 1)) ? "\82Ð\82è\82Ð\82è\82µ\82½" : "\83\80\83Y\83\80\83Y\82µ\82½"));
+#endif
}
/* an elven magic clue, cookie@keebler */
/* elven weapons vibrate warningly when enchanted beyond a limit */
if ((uwep->spe > 5)
&& (is_elven_weapon(uwep) || uwep->oartifact || !rn2(7)))
+/*JP
pline("%s unexpectedly.", Yobjnam2(uwep, "suddenly vibrate"));
+*/
+ Your("%s\82Í\93Ë\91R\90k\82¦\82¾\82µ\82½\81D", xname(uwep));
return 1;
}
long savewornmask;
savewornmask = obj->owornmask;
+#if 0 /*JP*/
pline("%s welded to your %s!", Yobjnam2(obj, "are"),
bimanual(obj) ? (const char *) makeplural(body_part(HAND))
: body_part(HAND));
+#else
+ You("%s\82ð%s\82É\8d\\82¦\82½\81I", xname(obj), body_part(HAND));
+#endif
obj->owornmask = savewornmask;
}
/* 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. */
+
/* wizard code - inspired by rogue code from Merlyn Leroy (digi-g!brian) */
/* - heavily modified to give the wiz balls. (genat!mike) */
/* - dewimped and given some maledictions. -3. */
if (ttmp->ttyp == MAGIC_PORTAL) {
int du = distu(ttmp->tx, ttmp->ty);
if (du <= 9)
+/*JP
pline("%s hot!", Tobjnam(amu, "feel"));
+*/
+ pline("%s\82Í\94M\82\8a´\82¶\82½\81I", xname(amu));
else if (du <= 64)
+/*JP
pline("%s very warm.", Tobjnam(amu, "feel"));
+*/
+ pline("%s\82Í\82Æ\82Ä\82à\92g\82©\82\8a´\82¶\82½\81D", xname(amu));
else if (du <= 144)
+/*JP
pline("%s warm.", Tobjnam(amu, "feel"));
+*/
+ pline("%s\82Í\92g\82©\82\8a´\82¶\82½\81D", xname(amu));
/* else, the amulet feels normal */
break;
}
mtmp->msleeping = 0;
if (distu(mtmp->mx, mtmp->my) > 2)
You(
+/*JP
"get the creepy feeling that somebody noticed your taking the Amulet.");
+*/
+ "\82 \82È\82½\82ª\96\82\8f\9c\82¯\82ð\8e\9d\82Á\82Ä\82¢\82é\82±\82Æ\82ª\92N\82©\82É\92m\82ç\82ê\82½\82Æ\8a´\82¶\82Ä\82¼\82Á\82Æ\82µ\82½\81D");
return;
}
}
if ((otmp = on_ground(which_arti(targ))) != 0) {
if (cansee(mtmp->mx, mtmp->my))
+#if 0 /*JP*/
pline("%s picks up %s.", Monnam(mtmp),
(distu(mtmp->mx, mtmp->my) <= 5)
? doname(otmp)
: distant_name(otmp, doname));
+#else
+ pline("%s\82Í%s\82ð\8fE\82Á\82½\81D", Monnam(mtmp),
+ (distu(mtmp->mx, mtmp->my) <= 5)
+ ? doname(otmp)
+ : distant_name(otmp, doname));
+#endif
obj_extract_self(otmp);
(void) mpickobj(mtmp, otmp);
return 1;
if (!context.no_of_wizards) {
/* make a new Wizard */
+/*JP
verb = "kill";
+*/
+ verb = "\82ð\93¢\82Ä\82µ";
mtmp = makemon(&mons[PM_WIZARD_OF_YENDOR], u.ux, u.uy, MM_NOWAIT);
/* affects experience; he's not coming back from a corpse
but is subject to repeated killing like a revived corpse */
if (mtmp) mtmp->mrevived = 1;
} else {
/* look for a migrating Wizard */
+/*JP
verb = "elude";
+*/
+ verb = "\82æ\82è\93¦\82ê\82ñ";
mmtmp = &migrating_mons;
while ((mtmp = *mmtmp) != 0) {
if (mtmp->iswiz
mtmp->mtame = mtmp->mpeaceful = 0; /* paranoia */
set_malign(mtmp);
if (!Deaf) {
+/*JP
pline("A voice booms out...");
+*/
+ pline("\90º\82ª\8d\82\82\96Â\82è\8b¿\82¢\82½\81D\81D\81D");
+/*JP
verbalize("So thou thought thou couldst %s me, fool.", verb);
+*/
+ verbalize("\97]%s\82Æ\8ev\82¢\82µ\82©\81C\92s\82ê\8eÒ\82ª\81D", verb);
}
}
}
switch (which) {
case 0:
case 1:
+/*JP
You_feel("vaguely nervous.");
+*/
+ You("\89½\82Æ\82È\82\95s\88À\82É\82È\82Á\82½\81D");
break;
case 2:
if (!Blind)
+/*JP
You("notice a %s glow surrounding you.", hcolor(NH_BLACK));
+*/
+ pline("%s\8cõ\82ª\82 \82È\82½\82ð\82Æ\82è\82Ü\82¢\82Ä\82¢\82é\82Ì\82É\8bC\82ª\82Â\82¢\82½\81D", hcolor(NH_BLACK));
rndcurse();
break;
case 3:
}
const char *const random_insult[] = {
+#if 0 /*JP*/
"antic", "blackguard", "caitiff", "chucklehead",
"coistrel", "craven", "cretin", "cur",
"dastard", "demon fodder", "dimwit", "dolt",
"rattlepate", "reprobate", "scapegrace", "varlet",
"villein", /* (sic.) */
"wittol", "worm", "wretch",
+#else
+ "\82Ó\82´\82¯\82½\96ì\98Y", "\88«\93}", "\82\82»\82Á\82½\82ê", "\82Ì\82ë\82Ü",
+ "\82 \82ñ\82Û\82ñ\82½\82ñ", "\89°\95a\8eÒ", "\94\92\92s", "\82ë\82\82Å\82È\82µ",
+ "\82¤\82Â\82¯", "\88«\96\82\82Ì\89a\90H", "\82¤\82·\82Ì\82ë", "\82Ü\82Ê\82¯",
+ "\94n\8e", "\82¨\82¢\82Í\82¬", "\8bð\82©\8eÒ", "\82È\82ç\82¸\8eÒ",
+ "\88«\90l", "\8bÉ\88«\90l", "\94n\8e\82½\82ê", "\94Ú\8b¯\8eÒ",
+ "\95\97\91D\93ª", "\93¹\8ay\8eÒ", "\96ï\89î\8eÒ", "\89º\98Y",
+ "\93z\97ê", /* (sic.) */
+ "\82Ó\82È\82Þ\82µ", "åv\92\8e", "\90l\82Å\82È\82µ",
+#endif
};
const char *const random_malediction[] = {
+#if 0 /*JP*/
"Hell shall soon claim thy remains,", "I chortle at thee, thou pathetic",
"Prepare to die, thou", "Resistance is useless,",
"Surrender or die, thou", "There shall be no mercy, thou",
"Thou shalt repent of thy cunning,", "Thou art as a flea to me,",
"Thou art doomed,", "Thy fate is sealed,",
"Verily, thou shalt be one dead"
+#else
+ "\92n\8d\96\82Í\82¢\82Ã\82ê\81C\93ð\82Ì\96S\8a[\82ð\97v\8b\81\82·\82é\82Å\82 \82ë\82¤\81C",
+ "\88£\82ê\82È\82â\82Â\82æ\82Ì\82¤\81D\97]\82Í\96\9e\91«\82¶\82á",
+ "\93ð\81C\8e\80\82É\94õ\82¦\82æ",
+ "\92ï\8dR\82µ\82Ä\82à\96³\91Ê\82¶\82á\81C",
+ "\8d~\8eQ\82¹\82æ\81D\82³\82à\82È\82\82Î\8e\80\82¶\82á\81D",
+ "\8e\9c\94ß\82Í\96³\82©\82ç\82ñ",
+ "\93ð\81C\82¸\82é\82ð\8cã\89÷\82·\82×\82µ\81C",
+ "\93ð\82Í\97]\82É\82Æ\82Á\82Ä\83m\83~\82Ì\82æ\82¤\82È\82à\82Ì\82¶\82á\81C",
+ "\93ð\82Í\8eô\82í\82ê\82Ä\82¨\82é\81C",
+ "\93ð\82Ì\89^\96½\82Í\95\95\88ó\82³\82ê\82Ä\82¨\82é\81C",
+ "\82Ü\82±\82Æ\82É\93ð\82Í\8e\80\82É\82½\82é\8eÒ\82È\82è"
+#endif
};
/* Insult or intimidate the player */
return;
if (mtmp->iswiz) {
if (!rn2(5)) /* typical bad guy action */
+/*JP
pline("%s laughs fiendishly.", Monnam(mtmp));
+*/
+ pline("%s\82Í\88«\96\82\82Ì\82æ\82¤\82É\8fÎ\82Á\82½\81D", Monnam(mtmp));
else if (u.uhave.amulet && !rn2(SIZE(random_insult)))
+/*JP
verbalize("Relinquish the amulet, %s!",
+*/
+ verbalize("\96\82\82æ\82¯\82ð\8eè\95ú\82¹\81C%s\81I",
random_insult[rn2(SIZE(random_insult))]);
else if (u.uhp < 5 && !rn2(2)) /* Panic */
+#if 0 /*JP*/
verbalize(rn2(2) ? "Even now thy life force ebbs, %s!"
: "Savor thy breath, %s, it be thy last!",
random_insult[rn2(SIZE(random_insult))]);
+#else
+ verbalize(rn2(2) ? "\8d¡\82Æ\82È\82Á\82Ä\82à\82È\82¨\93ð\82Ì\96½\82Í\82 \82¦\82Ä\90\8a\82¦\82é\82Ì\82¾\81C%s\81I"
+ : "\91§\82ð\96¡\82í\82Á\82Ä\82¨\82¯\81C%s\81C\93ð\82Ì\8dÅ\8aú\82Ì\8e\9e\82¾\81I",
+ random_insult[rn2(SIZE(random_insult))]);
+#endif
else if (mtmp->mhp < 5 && !rn2(2)) /* Parthian shot */
+/*JP
verbalize(rn2(2) ? "I shall return." : "I'll be back.");
+*/
+ verbalize(rn2(2) ? "\97]\82Í\95K\82¸\8bA\82Á\82Ä\82\82é\81D" : "\97]\82Í\96ß\82Á\82Ä\82\82é\81D");
else
+#if 0 /*JP*/
verbalize("%s %s!",
random_malediction[rn2(SIZE(random_malediction))],
random_insult[rn2(SIZE(random_insult))]);
+#else
+ verbalize("%s\81C%s\81I",
+ random_malediction[rn2(SIZE(random_malediction))],
+ random_insult[rn2(SIZE(random_insult))]);
+#endif
} else if (is_lminion(mtmp)) {
com_pager(rn2(QTN_ANGELIC - 1 + (Hallucination ? 1 : 0))
+ QT_ANGELIC);
} else {
if (!rn2(5))
+/*JP
pline("%s casts aspersions on your ancestry.", Monnam(mtmp));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\89Æ\95¿\82ð\92\86\8f\9d\82µ\82½\81D", Monnam(mtmp));
else
com_pager(rn2(QTN_DEMONIC) + QT_DEMONIC);
}
/* 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"
#include "lev.h"
if (!new_worm) {
if (context.mon_moving) {
if (canspotmon(worm))
+#if 0 /*JP*/
pline("Part of %s tail has been cut off.",
s_suffix(mon_nam(worm)));
+#else
+ pline("%s\82Ì\90K\94ö\82Ì\88ê\95\94\95ª\82ª\90Ø\82è\97\8e\82Æ\82³\82ê\82½\81D",
+ mon_nam(worm));
+#endif
} else
+/*JP
You("cut part of the tail off of %s.", mon_nam(worm));
+*/
+ You("%s\82Ì\90K\94ö\82Ì\88ê\95\94\95ª\82ð\90Ø\82Á\82½\81D", mon_nam(worm));
toss_wsegs(new_tail, TRUE);
if (worm->mhp > 1)
worm->mhp /= 2;
place_wsegs(new_worm);
if (context.mon_moving)
+/*JP
pline("%s is cut in half.", Monnam(worm));
+*/
+ pline("%s\82Í\90^\82Á\82Õ\82½\82Â\82É\82³\82ê\82½\81D", Monnam(worm));
else
+/*JP
You("cut %s in half.", mon_nam(worm));
+*/
+ You("%s\82ð\90^\82Á\82Õ\82½\82Â\82É\82µ\82½\81D", mon_nam(worm));
}
/*
/* 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_DCL void FDECL(m_lose_armor, (struct monst *, struct obj *));
&& !(mon->mfrozen || mon->msleeping) && canseemon(mon)) {
/* fast to slow (skipping intermediate state) or vice versa */
const char *howmuch =
+/*JP
(mon->mspeed + oldspeed == MFAST + MSLOW) ? "much " : "";
+*/
+ (mon->mspeed + oldspeed == MFAST + MSLOW) ? "\82·\82²\82" : "";
if (petrify) {
/* mimic the player's petrification countdown; "slowing down"
even if fast movement rate retained via worn speed boots */
if (flags.verbose)
+/*JP
pline("%s is slowing down.", Monnam(mon));
+*/
+ pline("%s\82Í\82Ì\82ë\82\82È\82Á\82½\81D", Monnam(mon));
} else if (adjust > 0 || mon->mspeed == MFAST)
+/*JP
pline("%s is suddenly moving %sfaster.", Monnam(mon), howmuch);
+*/
+ pline("%s\82Ì\93®\82«\82Í\93Ë\91R%s\82·\82Î\82â\82\82È\82Á\82½\81D", Monnam(mon), howmuch);
else
+/*JP
pline("%s seems to be moving %sslower.", Monnam(mon), howmuch);
+*/
+ pline("%s\82Ì\93®\82«\82Í%s\82Ì\82ë\82\82È\82Á\82½\82æ\82¤\82É\8c©\82¦\82é\81D", Monnam(mon), howmuch);
/* might discover an object if we see the speed change happen */
if (obj != 0)
char buf[BUFSZ];
if (old)
+/*JP
Sprintf(buf, " removes %s and", distant_name(old, doname));
+*/
+ Sprintf(buf, "%s\82ð\82Í\82¸\82µ\82Ä", distant_name(old, doname));
else
buf[0] = '\0';
+#if 0 /*JP*/
pline("%s%s puts on %s.", Monnam(mon), buf,
distant_name(best, doname));
+#else
+ pline("%s\82Í%s%s\82ð\90g\82É\82Â\82¯\82½\81D", Monnam(mon), buf,
+ distant_name(best,doname));
+#endif
if (autocurse)
pline("%s %s %s %s for a moment.", s_suffix(Monnam(mon)),
simpleonames(best), otense(best, "glow"),
/* if couldn't see it but now can, or vice versa, */
if (!creation && (unseen ^ !canseemon(mon))) {
if (mon->minvis && !See_invisible) {
+/*JP
pline("Suddenly you cannot see %s.", nambuf);
+*/
+ pline("\93Ë\91R%s\82ª\8c©\82¦\82È\82\82È\82Á\82½\81D", nambuf);
makeknown(best->otyp);
} /* else if (!mon->minvis) pline("%s suddenly appears!",
Amonnam(mon)); */
struct permonst *mdat = mon->data;
boolean vis = cansee(mon->mx, mon->my);
boolean handless_or_tiny = (nohands(mdat) || verysmall(mdat));
+#if 0 /*JP*//*\8eg\82í\82È\82¢*/
const char *pronoun = mhim(mon), *ppronoun = mhis(mon);
+#endif
if (breakarm(mdat)) {
if ((otmp = which_armor(mon, W_ARM)) != 0) {
"the dragon merges with his scaly armor" is odd
and the monster's previous form is already gone */
else if (vis)
+/*JP
pline("%s breaks out of %s armor!", Monnam(mon), ppronoun);
+*/
+ pline("%s\82Í\8aZ\82ð\82â\82Ô\82è\8fo\82½\81I", Monnam(mon));
else
+/*JP
You_hear("a cracking sound.");
+*/
+ You_hear("\83o\83\8a\83o\83\8a\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
m_useup(mon, otmp);
}
if ((otmp = which_armor(mon, W_ARMC)) != 0) {
if (otmp->oartifact) {
if (vis)
+#if 0 /*JP*/
pline("%s %s falls off!", s_suffix(Monnam(mon)),
cloak_simple_name(otmp));
+#else
+ pline("%s\82Ì%s\82Í\97\8e\82¿\82½\81I", Monnam(mon),
+ cloak_simple_name(otmp));
+#endif
if (polyspot)
bypass_obj(otmp);
m_lose_armor(mon, otmp);
} else {
if (vis)
+#if 0 /*JP*/
pline("%s %s tears apart!", s_suffix(Monnam(mon)),
cloak_simple_name(otmp));
+#else
+ pline("%s\82Ì%s\82Í\82¸\82½\82¸\82½\82É\82È\82Á\82½\81I", Monnam(mon),
+ cloak_simple_name(otmp));
+#endif
else
+/*JP
You_hear("a ripping sound.");
+*/
+ You_hear("\83r\83\8a\83b\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
m_useup(mon, otmp);
}
}
if ((otmp = which_armor(mon, W_ARMU)) != 0) {
if (vis)
+/*JP
pline("%s shirt rips to shreds!", s_suffix(Monnam(mon)));
+*/
+ pline("%s\82Ì\83V\83\83\83c\82Í\82¸\82½\82¸\82½\82É\82È\82Á\82½\81I", Monnam(mon));
else
+/*JP
You_hear("a ripping sound.");
+*/
+ You_hear("\83r\83\8a\83b\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
m_useup(mon, otmp);
}
} else if (sliparm(mdat)) {
if ((otmp = which_armor(mon, W_ARM)) != 0) {
if (vis)
+#if 0 /*JP*/
pline("%s armor falls around %s!", s_suffix(Monnam(mon)),
pronoun);
+#else
+ pline("%s\82Ì\8aZ\82ª\89ñ\82è\82É\97\8e\82¿\82½\81I", Monnam(mon));
+#endif
else
+/*JP
You_hear("a thud.");
+*/
+ You_hear("\83h\83V\83\93\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
if (polyspot)
bypass_obj(otmp);
m_lose_armor(mon, otmp);
if ((otmp = which_armor(mon, W_ARMC)) != 0) {
if (vis) {
if (is_whirly(mon->data))
+#if 0 /*JP*/
pline("%s %s falls, unsupported!", s_suffix(Monnam(mon)),
cloak_simple_name(otmp));
+#else
+ pline("%s\82Ì%s\82Í\8ex\82¦\82«\82ê\82¸\82É\97\8e\82¿\82½\81I", Monnam(mon),
+ cloak_simple_name(otmp));
+#endif
else
+#if 0 /*JP*/
pline("%s shrinks out of %s %s!", Monnam(mon), ppronoun,
cloak_simple_name(otmp));
+#else
+ pline("%s\82Í%s\82æ\82è\8fk\82ñ\82¾\81I", Monnam(mon),
+ cloak_simple_name(otmp));
+#endif
}
if (polyspot)
bypass_obj(otmp);
if ((otmp = which_armor(mon, W_ARMU)) != 0) {
if (vis) {
if (sliparm(mon->data))
+#if 0 /*JP*/
pline("%s seeps right through %s shirt!", Monnam(mon),
ppronoun);
+#else
+ pline("%s\82Í\8e©\95ª\82Ì\83V\83\83\83c\82É\82µ\82Ý\8d\9e\82ñ\82¾\81I", Monnam(mon));
+#endif
else
+#if 0 /*JP*/
pline("%s becomes much too small for %s shirt!",
Monnam(mon), ppronoun);
+#else
+ pline("%s\82Í\8e©\95ª\82Ì\83V\83\83\83c\82æ\82è\82¸\82Á\82Æ\8f¬\82³\82\82È\82Á\82½\81I",
+ Monnam(mon));
+#endif
}
if (polyspot)
bypass_obj(otmp);
/* [caller needs to handle weapon checks] */
if ((otmp = which_armor(mon, W_ARMG)) != 0) {
if (vis)
+#if 0 /*JP*/
pline("%s drops %s gloves%s!", Monnam(mon), ppronoun,
MON_WEP(mon) ? " and weapon" : "");
+#else
+ pline("%s\82Í\8f¬\8eè%s\82ð\97\8e\82µ\82½\81I", Monnam(mon),
+ MON_WEP(mon) ? "\82Æ\95\90\8aí" : "");
+#endif
if (polyspot)
bypass_obj(otmp);
m_lose_armor(mon, otmp);
}
if ((otmp = which_armor(mon, W_ARMS)) != 0) {
if (vis)
+#if 0 /*JP*/
pline("%s can no longer hold %s shield!", Monnam(mon),
ppronoun);
+#else
+ pline("%s\82Í\82à\82Í\82â\8f\82\82ð\8e\9d\82Â\82±\82Æ\82ª\82Å\82«\82È\82¢\81I", Monnam(mon));
+#endif
else
+/*JP
You_hear("a clank.");
+*/
+ You_hear("\83J\83\89\83\93\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
if (polyspot)
bypass_obj(otmp);
m_lose_armor(mon, otmp);
/* flimsy test for horns matches polyself handling */
&& (handless_or_tiny || !is_flimsy(otmp))) {
if (vis)
+#if 0 /*JP*/
pline("%s helmet falls to the %s!", s_suffix(Monnam(mon)),
surface(mon->mx, mon->my));
+#else
+ pline("%s\82Ì\8a\95\82Í%s\82Ö\97\8e\82¿\82½\81I",
+ Monnam(mon), surface(mon->mx, mon->my));
+#endif
else
+/*JP
You_hear("a clank.");
+*/
+ You_hear("\83K\83`\83\83\83\93\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
if (polyspot)
bypass_obj(otmp);
m_lose_armor(mon, otmp);
if ((otmp = which_armor(mon, W_ARMF)) != 0) {
if (vis) {
if (is_whirly(mon->data))
+/*JP
pline("%s boots fall away!", s_suffix(Monnam(mon)));
+*/
+ pline("%s\82Ì\8cC\82Í\82Ê\82°\97\8e\82¿\82½\81I", Monnam(mon));
else
+#if 0 /*JP*/
pline("%s boots %s off %s feet!", s_suffix(Monnam(mon)),
verysmall(mdat) ? "slide" : "are pushed", ppronoun);
+#else
+ pline("%s\82Ì\8cC\82Í\91«\82©\82ç%s\81I", Monnam(mon),
+ verysmall(mdat) ? "\8a\8a\82è\97\8e\82¿\82½" : "\89\9f\82µ\8fo\82³\82ê\82½");
+#endif
}
if (polyspot)
bypass_obj(otmp);
bypass_obj(otmp);
m_lose_armor(mon, otmp);
if (vis)
+/*JP
pline("%s saddle falls off.", s_suffix(Monnam(mon)));
+*/
+ pline("%s\82©\82ç\88Æ\82ª\97\8e\82¿\82½\81D", Monnam(mon));
}
if (mon == u.usteed)
goto noride;
} else if (mon == u.usteed && !can_ride(mon)) {
noride:
+/*JP
You("can no longer ride %s.", mon_nam(mon));
+*/
+ You("\82à\82¤%s\82É\8fæ\82Á\82Ä\82¢\82ç\82ê\82È\82¢\81D", mon_nam(mon));
if (touch_petrifies(u.usteed->data) && !Stone_resistance && rnl(3)) {
char buf[BUFSZ];
+/*JP
You("touch %s.", mon_nam(u.usteed));
+*/
+ You("%s\82É\90G\82Á\82½\81D", mon_nam(u.usteed));
+/*JP
Sprintf(buf, "falling off %s", an(u.usteed->data->mname));
+*/
+ Sprintf(buf, "%s\82©\82ç\97\8e\82¿\82Ä", u.usteed->data->mname);
instapetrify(buf);
}
dismount_steed(DISMOUNT_FELL);
/* NetHack 3.6 write.c $NHDT-Date: 1446078770 2015/10/29 00:32:50 $ $NHDT-Branch: master $:$NHDT-Revision: 1.16 $ */
/* 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_DCL int FDECL(cost, (struct obj *));
const char *typeword;
if (nohands(youmonst.data)) {
+/*JP
You("need hands to be able to write!");
+*/
+ You("\8f\91\82\82½\82ß\82É\82Í\8eè\82ª\95K\97v\82¾\81I");
return 0;
} else if (Glib) {
+#if 0 /*JP*/
pline("%s from your %s.", Tobjnam(pen, "slip"),
makeplural(body_part(FINGER)));
+#else
+ pline("%s\82ª%s\82©\82ç\8a\8a\82è\82¨\82¿\82½\81D", xname(pen),
+ body_part(FINGER));
+#endif
dropx(pen);
return 1;
}
return 0;
/* can't write on a novel (unless/until it's been converted into a blank
spellbook), but we want messages saying so to avoid "spellbook" */
+#if 0 /*JP*/
typeword = (paper->otyp == SPE_NOVEL)
? "book"
: (paper->oclass == SPBOOK_CLASS)
? "spellbook"
: "scroll";
+#else
+ typeword = (paper->otyp == SPE_NOVEL)
+ ? "\96{"
+ : (paper->oclass == SPBOOK_CLASS)
+ ? "\96\82\96@\8f\91"
+ : "\8aª\95¨";
+#endif
if (Blind) {
if (!paper->dknown) {
+/*JP
You("don't know if that %s is blank or not.", typeword);
+*/
+ You("%s\82ª\94\92\8e\86\82©\82Ç\82¤\82©\82í\82©\82ç\82È\82¢\81I", typeword);
return 1;
} else if (paper->oclass == SPBOOK_CLASS) {
/* can't write a magic book while blind */
}
paper->dknown = 1;
if (paper->otyp != SCR_BLANK_PAPER && paper->otyp != SPE_BLANK_PAPER) {
+/*JP
pline("That %s is not blank!", typeword);
+*/
+ pline("%s\82Í\94\92\8e\86\82¶\82á\82È\82¢\81I", typeword);
exercise(A_WIS, FALSE);
return 1;
}
/* what to write */
+/*JP
Sprintf(qbuf, "What type of %s do you want to write?", typeword);
+*/
+ Sprintf(qbuf, "\82Ç\82Ì\8eí\82Ì%s\82Ì\8eô\95¶\82ð\8f\91\82«\82Ü\82·\82©\81H", typeword);
getlin(qbuf, namebuf);
(void) mungspaces(namebuf); /* remove any excess whitespace */
if (namebuf[0] == '\033' || !namebuf[0])
return 1;
nm = namebuf;
+#if 0 /*JP*//*\93ú\96{\8cê\82Å\82Í\95s\97v*/
if (!strncmpi(nm, "scroll ", 7))
nm += 7;
else if (!strncmpi(nm, "spellbook ", 10))
(void) strncpy(bp, " armor ", 7); /* won't add '\0' */
(void) mungspaces(bp + 1); /* remove the extra space */
}
+#endif
deferred = 0; /* not any scroll or book */
deferralchance = 0; /* incremented for each oc_uname match */
goto found;
}
+/*JP
There("is no such %s!", typeword);
+*/
+ pline("\82»\82Ì\82æ\82¤\82È%s\82Í\82È\82¢\81I", typeword);
return 1;
found:
if (i == SCR_BLANK_PAPER || i == SPE_BLANK_PAPER) {
+/*JP
You_cant("write that!");
+*/
+ pline("\94\92\8e\86\82É\94\92\8e\86\82ð\8f\91\82\81H\81I");
+/*JP
pline("It's obscene!");
+*/
+ pline("\82»\82¤\82¢\82¤\82â\82è\82©\82½\82Í\82¿\82å\82Á\82Æ\95s\96ù\89õ\82¾\82È\81I");
return 1;
} else if (i == SPE_BOOK_OF_THE_DEAD) {
+/*JP
pline("No mere dungeon adventurer could write that.");
+*/
+ pline("\88ê\89î\82Ì\96À\8b{\96`\8c¯\89Æ\82É\82Í\8f\91\82¯\82é\82à\82Ì\82Å\82Í\82È\82¢\81D");
return 1;
} else if (by_descr && paper->oclass == SPBOOK_CLASS
&& !objects[i].oc_name_known) {
/* can't write unknown spellbooks by description */
+/*JP
pline("Unfortunately you don't have enough information to go on.");
+*/
+ pline("\8ec\94O\82È\82ª\82ç\82»\82ê\82ð\8f\91\82\82¾\82¯\82Ì\8f\\95ª\82È\92m\8e¯\82ª\82È\82¢\81D");
return 1;
}
/* see if there's enough ink */
basecost = cost(new_obj);
if (pen->spe < basecost / 2) {
+/*JP
Your("marker is too dry to write that!");
+*/
+ Your("\83}\81[\83J\82Í\8a£\82«\82·\82¬\82Ä\82¨\82è\82¤\82Ü\82\8f\91\82¯\82È\82©\82Á\82½\81I");
obfree(new_obj, (struct obj *) 0);
return 1;
}
/* dry out marker */
if (pen->spe < actualcost) {
pen->spe = 0;
+/*JP
Your("marker dries out!");
+*/
+ pline("\8f\91\82¢\82Ä\82¢\82é\93r\92\86\82Å\83}\81[\83J\82Í\8a£\82«\82«\82Á\82½\81I");
/* scrolls disappear, spellbooks don't */
if (paper->oclass == SPBOOK_CLASS) {
+/*JP
pline_The("spellbook is left unfinished and your writing fades.");
+*/
+ pline_The("\96\82\96@\8f\91\82É\82Í\8f\91\82«\82«\82ê\82È\82©\82Á\82½\81D\82»\82µ\82Ä\8f\91\82¢\82½\95¶\8e\9a\82Í\8fÁ\82¦\82Ä\82µ\82Ü\82Á\82½\81D");
update_inventory(); /* pen charges */
} else {
+/*JP
pline_The("scroll is now useless and disappears!");
+*/
+ pline_The("\8aª\95¨\82Í\8eg\82¢\82à\82Ì\82É\82È\82ç\82È\82\82È\82Á\82Ä\8fÁ\96Å\82µ\82½\81I");
useup(paper);
}
obfree(new_obj, (struct obj *) 0);
&& !(by_descr && label_known(new_obj->otyp, invent))
/* and Luck might override after both checks have failed */
&& rnl(Role_if(PM_WIZARD) ? 5 : 15)) {
+/*JP
You("%s to write that.", by_descr ? "fail" : "don't know how");
+*/
+ You("%s\81I", by_descr ? "\8f\91\82\82Ì\82É\8e¸\94s\82µ\82½" : "\82Ç\82¤\82â\82Á\82Ä\8f\91\82\82Ì\82©\92m\82ç\82È\82¢");
/* scrolls disappear, spellbooks don't */
if (paper->oclass == SPBOOK_CLASS) {
You(
+/*JP
"write in your best handwriting: \"My Diary\", but it quickly fades.");
+*/
+ "\92\9a\94J\82É\8f\91\82¢\82½\81F\81u\89ä\82ª\93ú\8bL\81v\81D\82µ\82©\82µ\82 \82Á\82Æ\8c¾\82¤\8aÔ\82É\8fÁ\82¦\82Ä\82µ\82Ü\82Á\82½\81D");
update_inventory(); /* pen charges */
} else {
if (by_descr) {
Strcpy(namebuf, OBJ_DESCR(objects[new_obj->otyp]));
wipeout_text(namebuf, (6 + MAXULEV - u.ulevel) / 6, 0);
} else
+/*JP
Sprintf(namebuf, "%s was here!", plname);
+*/
+ Sprintf(namebuf, "%s\82Í\82±\82±\82É\82 \82è\81I", plname);
+/*JP
You("write \"%s\" and the scroll disappears.", namebuf);
+*/
+ You("\81u%s\81v\82Æ\8f\91\82¢\82½\81D\82·\82é\82Æ\8aª\95¨\82Í\8fÁ\82¦\82Ä\82µ\82Ü\82Á\82½\81D", namebuf);
useup(paper);
}
obfree(new_obj, (struct obj *) 0);
/* success */
if (new_obj->oclass == SPBOOK_CLASS) {
/* acknowledge the change in the object's description... */
+#if 0 /*JP*/
pline_The("spellbook warps strangely, then turns %s.",
new_book_description(new_obj->otyp, namebuf));
+#else
+ pline("\96\82\96@\8f\91\82Í\96\82É\94½\82è\82©\82¦\82è\81C\82»\82µ\82Ä%s\82É\82È\82Á\82½\81D",
+ new_book_description(new_obj->otyp, namebuf));
+#endif
}
new_obj->blessed = (curseval > 0);
new_obj->cursed = (curseval < 0);
if (new_obj->otyp == SCR_MAIL)
new_obj->spe = 1;
#endif
+#if 0 /*JP*/
new_obj =
hold_another_object(new_obj, "Oops! %s out of your grasp!",
The(aobjnam(new_obj, "slip")), (const char *) 0);
+#else
+ new_obj =
+ hold_another_object(new_obj, "\82¨\82Á\82Æ\81I%s\82Í\82 \82È\82½\82Ì\8eè\82©\82ç\8a\8a\82è\97\8e\82¿\82½\81I",
+ xname(new_obj), (const char *) 0);
+#endif
return 1;
}
/* 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"
/* Disintegration rays have special treatment; corpses are never left.
((ptr)->mlet == S_EEL || amphibious(ptr) || is_swimmer(ptr))
STATIC_VAR const char are_blinded_by_the_flash[] =
+/*JP
"are blinded by the flash!";
+*/
+ "\82Ü\82Î\82ä\82¢\8cõ\82Å\96Ú\82ª\8c©\82¦\82È\82\82È\82Á\82½\81I";
const char *const flash_types[] =
{ /* also used in buzzmu(mcastu.c) */
+#if 0 /*JP*/
"magic missile", /* Wands must be 0-9 */
"bolt of fire", "bolt of cold", "sleep ray", "death ray",
"bolt of lightning", "", "", "", "",
+#else
+ "\96\82\96@\82Ì\96î", /* Wands must be 0-9 */
+ "\89Î\82Ì\91M\8cõ",
+ "\95X\82Ì\91M\8cõ",
+ "\96°\82è\8cõ\90ü",
+ "\8e\80\82Ì\8cõ\90ü",
+ "\88î\8dÈ\82Ì\91M\8cõ",
+ "",
+ "",
+ "",
+ "",
+#endif
+#if 0 /*JP*/
"magic missile", /* Spell equivalents must be 10-19 */
"fireball", "cone of cold", "sleep ray", "finger of death",
"bolt of lightning", /* There is no spell, used for retribution */
"", "", "", "",
+#else
+ "\96\82\96@\82Ì\96î", /* Spell equivalents must be 10-19 */
+ "\89Î\82Ì\8bÊ",
+ "\97â\8bC",
+ "\96°\82è\8cõ\90ü",
+ "\8e\80\82Ì\8ew",
+ "\88î\8dÈ\82Ì\91M\8cõ", /* There is no spell, used for retribution */
+ "",
+ "",
+ "",
+ "",
+#endif
+#if 0 /*JP*/
"blast of missiles", /* Dragon breath equivalents 20-29*/
"blast of fire", "blast of frost", "blast of sleep gas",
"blast of disintegration", "blast of lightning", "blast of poison gas",
"blast of acid", "", ""
+#else
+ "\96\82\96@\82Ì\96î\82Ì\91§", /* Dragon breath equivalents 20-29*/
+ "\89Î\82Ì\91§",
+ "\95X\82Ì\91§",
+ "\90\87\96°\83K\83X\82Ì\91§",
+ "\95ª\89ð\82Ì\91§",
+ "\88î\8dÈ\82Ì\91§",
+ "\93Å\83K\83X\82Ì\91§",
+ "\8e_\82Ì\91§",
+ "",
+ ""
+#endif
};
/*
boolean reveal_invis = FALSE, learn_it = FALSE;
boolean dbldam = Role_if(PM_KNIGHT) && u.uhave.questart;
int dmg, otyp = otmp->otyp;
+/*JP
const char *zap_type_text = "spell";
+*/
+ const char *zap_type_text = "\96\82\96@";
struct obj *obj;
boolean disguised_mimic =
(mtmp->data->mlet == S_MIMIC && mtmp->m_ap_type != M_AP_NOTHING);
switch (otyp) {
case WAN_STRIKING:
+/*JP
zap_type_text = "wand";
+*/
+ zap_type_text = "\8fñ";
/* fall through */
case SPE_FORCE_BOLT:
reveal_invis = TRUE;
if (resists_magm(mtmp)) { /* match effect on player */
shieldeff(mtmp->mx, mtmp->my);
+/*JP
pline("Boing!");
+*/
+ pline("\83{\83C\83\93\81I");
break; /* skip makeknown */
} else if (u.uswallow || rnd(20) < 10 + find_mac(mtmp)) {
dmg = d(2, 12);
mon_adjust_speed(mtmp, -1, otmp);
m_dowear(mtmp, FALSE); /* might want speed boots */
if (u.uswallow && (mtmp == u.ustuck) && is_whirly(mtmp->data)) {
+/*JP
You("disrupt %s!", mon_nam(mtmp));
+*/
+ You("%s\82ð\83o\83\89\83o\83\89\82É\82µ\82½\81I", mon_nam(mtmp));
+/*JP
pline("A huge hole opens up...");
+*/
+ pline("\92E\8fo\82Å\82«\82»\82¤\82È\8c\8a\82ª\8aJ\82¢\82½\81D\81D\81D");
expels(mtmp, mtmp->data, TRUE);
}
}
with their metabolism...) */
if (mtmp->cham == NON_PM && !rn2(25)) {
if (canseemon(mtmp)) {
+/*JP
pline("%s shudders!", Monnam(mtmp));
+*/
+ pline("%s\82Í\90g\90k\82¢\82µ\82½\81I", Monnam(mtmp));
learn_it = TRUE;
}
/* context.bypasses = TRUE; ## for make_corpse() */
Strcpy(nambuf, Monnam(mtmp));
mon_set_minvis(mtmp);
if (!oldinvis && knowninvisible(mtmp)) {
+/*JP
pline("%s turns transparent!", nambuf);
+*/
+ pline("%s\82Í\93§\96¾\82É\82È\82Á\82½\81I", nambuf);
learn_it = TRUE;
}
break;
if (u.uswallow && mtmp == u.ustuck) {
if (is_animal(mtmp->data)) {
if (Blind)
+/*JP
You_feel("a sudden rush of air!");
+*/
+ You("\93Ë\91R\8c\83\82µ\82¢\8bó\8bC\82Ì\97¬\82ê\82ð\8a´\82¶\82½\81I");
else
+/*JP
pline("%s opens its mouth!", Monnam(mtmp));
+*/
+ pline("%s\82Í\8cû\82ð\8aJ\82¢\82½\81I", Monnam(mtmp));
}
expels(mtmp, mtmp->data, TRUE);
/* zap which hits steed will only release saddle if it
} else
mimic_hit_msg(mtmp, otyp);
} else
+#if 0 /*JP*/
pline("%s looks%s better.", Monnam(mtmp),
otyp == SPE_EXTRA_HEALING ? " much" : "");
+#else
+ pline("%s\82Í%s\8c³\8bC\82É\82È\82Á\82½\82æ\82¤\82¾\81D", Monnam(mtmp),
+ otyp == SPE_EXTRA_HEALING ? "\82Æ\82Ä\82à" : "" );
+#endif
}
if (mtmp->mtame || mtmp->mpeaceful) {
adjalign(Role_if(PM_HEALER) ? 1 : sgn(u.ualign.type));
/* turn into flesh golem */
if (newcham(mtmp, &mons[PM_FLESH_GOLEM], FALSE, FALSE)) {
if (canseemon(mtmp))
+/*JP
pline("%s turns to flesh!", name);
+*/
+ pline("%s\82Ì\90Î\89»\82ª\89ð\82¯\82½\81I", name);
} else {
if (canseemon(mtmp))
+/*JP
pline("%s looks rather fleshy for a moment.", name);
+*/
+ pline("%s\82Í\88ê\8fu\90Î\89»\82ª\89ð\82¯\82½\81D", name);
}
} else
wake = FALSE;
else {
mtmp->m_lev--;
if (canseemon(mtmp))
+/*JP
pline("%s suddenly seems weaker!", Monnam(mtmp));
+*/
+ pline("%s\82Í\82Æ\82Â\82º\82ñ\8eã\82\82È\82Á\82½\82æ\82¤\82È\8bC\82ª\82µ\82½\81I", Monnam(mtmp));
}
}
break;
}
(void) display_minventory(mtmp, MINV_ALL | MINV_NOLET, (char *) 0);
} else {
+#if 0 /*JP*/
pline("%s is not carrying anything%s.", noit_Monnam(mtmp),
(u.uswallow && mtmp == u.ustuck) ? " besides you" : "");
+#else
+ pline("%s\82Í%s\89½\82à\8e\9d\82Á\82Ä\82¢\82È\82¢\81D", noit_Monnam(mtmp),
+ (u.uswallow && mtmp == u.ustuck) ? "\82 \82È\82½\88È\8aO\82É" : "");
+#endif
}
}
ghost = find_mid(m_id, FM_FMON);
if (ghost && ghost->data == &mons[PM_GHOST]) {
if (canseemon(ghost))
+#if 0 /*JP*/
pline("%s is suddenly drawn into its former body!",
+#else
+ pline("%s\82Í\93Ë\91R\82à\82Æ\82Ì\91Ì\82É\88ø\82«\8d\9e\82Ü\82ê\82½\81I",
+#endif
Monnam(ghost));
/* transfer the ghost's inventory along with it */
while ((otmp = ghost->minvent) != 0) {
++res;
if (youseeit) {
if (!once++)
+/*JP
Strcpy(owner, (mon == &youmonst) ? "Your"
+*/
+ Strcpy(owner, (mon == &youmonst) ? "\82 \82È\82½"
: s_suffix(Monnam(mon)));
+/*JP
pline("%s %s suddenly comes alive!", owner, corpse);
+*/
+ pline("%s\82Ì%s\82Í\93Ë\91R\90¶\96½\82ð\91Ñ\82Ñ\82½\81I", owner, corpse);
} else if (canseemon(mtmp2))
+/*JP
pline("%s suddenly appears!", Amonnam(mtmp2));
+*/
+ pline("%s\82ª\93Ë\91R\8c»\82í\82ê\82½\81I", Amonnam(mtmp2));
}
}
return res;
case METAL:
case MITHRIL:
pm_index = PM_IRON_GOLEM;
+/*JP
material = "metal ";
+*/
+ material = "\8bà\91®";
break;
case COPPER:
case SILVER:
case GEMSTONE:
case MINERAL:
pm_index = rn2(2) ? PM_STONE_GOLEM : PM_CLAY_GOLEM;
+/*JP
material = "lithic ";
+*/
+ material = "\8dz\95¨";
break;
case 0:
case FLESH:
/* there is no flesh type, but all food is type 0, so we use it */
pm_index = PM_FLESH_GOLEM;
+/*JP
material = "organic ";
+*/
+ material = "\97L\8b@\95¨";
break;
case WOOD:
pm_index = PM_WOOD_GOLEM;
+/*JP
material = "wood ";
+*/
+ material = "\96Ø\8dÞ";
break;
case LEATHER:
pm_index = PM_LEATHER_GOLEM;
+/*JP
material = "leather ";
+*/
+ material = "\8av";
break;
case CLOTH:
pm_index = PM_ROPE_GOLEM;
+/*JP
material = "cloth ";
+*/
+ material = "\95z";
break;
case BONE:
pm_index = PM_SKELETON; /* nearest thing to "bone golem" */
+/*JP
material = "bony ";
+*/
+ material = "\8d\9c";
break;
case GOLD:
pm_index = PM_GOLD_GOLEM;
+/*JP
material = "gold ";
+*/
+ material = "\8bà";
break;
case GLASS:
pm_index = PM_GLASS_GOLEM;
+/*JP
material = "glassy ";
+*/
+ material = "\83K\83\89\83X";
break;
case PAPER:
pm_index = PM_PAPER_GOLEM;
+/*JP
material = "paper ";
+*/
+ material = "\8e\86";
break;
default:
/* if all else fails... */
pm_index = PM_STRAW_GOLEM;
+#if 0 /*JP*/
material = "";
+#else
+ material = "\95¨\91Ì";
+#endif
break;
}
polyuse(obj, okind, (int) mons[pm_index].cwt);
if (mtmp && cansee(mtmp->mx, mtmp->my)) {
+#if 0 /*JP*/
pline("Some %sobjects meld, and %s arises from the pile!", material,
a_monnam(mtmp));
+#else
+ pline("\82¢\82\82Â\82©\82Ì%s\82ª\97n\82¯\81C\82»\82Ì\8eR\82©\82ç%s\82ª\8c»\82í\82ê\82½\81I", material,
+ a_monnam(mtmp));
+#endif
}
}
&& !costly_spot(u.ux, u.uy))
make_angry_shk(shkp, ox, oy);
else {
+/*JP
pline("%s gets angry!", Monnam(shkp));
+*/
+ pline("%s\82Í\8c\83\93{\82µ\82½\81I", Monnam(shkp));
hot_pursuit(shkp);
}
} else
+/*JP
Norep("%s is furious!", Monnam(shkp));
+*/
+ Norep("%s\82Í\93{\82Á\82½\81I", Monnam(shkp));
}
}
delobj(obj);
else
delobj(obj);
if (cansee(mon->mx, mon->my))
+#if 0 /*JP*/
pline_The("figurine %sanimates!",
golem_xform ? "turns to flesh and " : "");
+#else
+ pline_The("\90l\8c`\82Í%s\93®\82«\82¾\82µ\82½\81I",
+ golem_xform ? "\90Î\89»\82ª\89ð\82¯\82Ä" : "");
+#endif
}
}
if (mon) {
non-eating, or something stranger) */
if (Role_if(PM_MONK) || !u.uconduct.unvegetarian
|| !carnivorous(youmonst.data))
+/*JP
Norep("You smell the odor of meat.");
+*/
+ Norep("\93÷\82Ì\88«\8fL\82ª\95Y\82Á\82½\81D");
else
+/*JP
Norep("You smell a delicious smell.");
+*/
+ Norep("\82·\82Î\82ç\82µ\82¢\8d\81\82è\82¾\81I");
}
newsym(oox, ooy);
return res;
so just make probing be inconclusive for it */
if (catbox)
obj->cknown = 0;
+/*JP
pline("%s empty.", Tobjnam(obj, catbox ? "seem" : "are"));
+*/
+ pline("%s\82Í\8bó\82Á\82Û%s\82¾\81D", xname(obj), catbox ? "\82Ì\82æ\82¤" : "");
} else {
struct obj *o;
/* view contents (not recursively) */
if (wand->spe < 0 || (wand->spe == 0 && rn2(121)))
return 0;
if (wand->spe == 0)
+/*JP
You("wrest one last charge from the worn-out wand.");
+*/
+ You("\8eg\82¢\82«\82Á\82½\8fñ\82©\82ç\8dÅ\8cã\82Ì\97Í\82ð\82µ\82Ú\82è\82Æ\82Á\82½\81D");
wand->spe--;
return 1;
}
case WAN_WISHING:
known = TRUE;
if (Luck + rn2(5) < 0) {
+/*JP
pline("Unfortunately, nothing happens.");
+*/
+ pline("\8ec\94O\82È\82ª\82ç\81C\89½\82à\8bN\82«\82È\82©\82Á\82½\81D");
break;
}
makewish();
break;
case WAN_ENLIGHTENMENT:
known = TRUE;
+/*JP
You_feel("self-knowledgeable...");
+*/
+ You("\8e©\95ª\8e©\90g\82ª\94»\82é\82æ\82¤\82È\8bC\82ª\82µ\82½\81D\81D\81D");
display_nhwindow(WIN_MESSAGE, FALSE);
enlightenment(MAGICENLIGHTENMENT, ENL_GAMEINPROGRESS);
+/*JP
pline_The("feeling subsides.");
+*/
+ pline("\82»\82Ì\8a´\82¶\82Í\82È\82\82È\82Á\82½\81D");
exercise(A_WIS, TRUE);
break;
}
{
int dmg;
otmp->in_use = TRUE; /* in case losehp() is fatal */
+/*JP
pline("%s suddenly explodes!", The(xname(otmp)));
+*/
+ pline("%s\82Í\93Ë\91R\94\9a\94\82µ\82½\81I", xname(otmp));
dmg = d(otmp->spe + 2, 6);
+/*JP
losehp(Maybe_Half_Phys(dmg), "exploding wand", KILLED_BY_AN);
+*/
+ losehp(Maybe_Half_Phys(dmg), "\8fñ\82Ì\94\9a\94\82Å", KILLED_BY_AN);
useup(otmp);
}
return 1;
} else if (!(objects[obj->otyp].oc_dir == NODIR) && !getdir((char *) 0)) {
if (!Blind)
+/*JP
pline("%s glows and fades.", The(xname(obj)));
+*/
+ pline("%s\82Í\88ê\8fu\8bP\82¢\82½\81D", The(xname(obj)));
/* make him pay for knowing !NODIR */
} else if (!u.dx && !u.dy && !u.dz
&& !(objects[obj->otyp].oc_dir == NODIR)) {
if ((damage = zapyourself(obj, TRUE)) != 0) {
+#if 0 /*JP*/
char buf[BUFSZ];
Sprintf(buf, "zapped %sself with a wand", uhim());
losehp(Maybe_Half_Phys(damage), buf, NO_KILLER_PREFIX);
+#else
+ losehp(Maybe_Half_Phys(damage), "\8e©\95ª\8e©\90g\82Ì\8fñ\82Ì\97Í\82ð\97\81\82Ñ\82Ä", NO_KILLER_PREFIX);
+#endif
}
} else {
/* Are we having fun yet?
current_wand = 0;
}
if (obj && obj->spe < 0) {
+/*JP
pline("%s to dust.", Tobjnam(obj, "turn"));
+*/
+ pline("%s\82Í\82¿\82è\82Æ\82È\82Á\82½\81D", xname(obj));
useup(obj);
}
update_inventory(); /* maybe used a charge */
learn_it = TRUE;
if (Antimagic) {
shieldeff(u.ux, u.uy);
+/*JP
pline("Boing!");
+*/
+ pline("\83{\83C\83\93\81I");
} else {
if (ordinary) {
+/*JP
You("bash yourself!");
+*/
+ You("\8e©\95ª\8e©\90g\82ð\91Å\82¿\82Â\82¯\82½\81I");
damage = d(2, 12);
} else
damage = d(1 + obj->spe, 6);
case WAN_LIGHTNING:
learn_it = TRUE;
if (!Shock_resistance) {
+/*JP
You("shock yourself!");
+*/
+ You("\93d\8c\82\82ð\82¤\82¯\82½\81I");
damage = d(12, 6);
exercise(A_CON, FALSE);
} else {
shieldeff(u.ux, u.uy);
+/*JP
You("zap yourself, but seem unharmed.");
+*/
+ You("\8e©\95ª\82É\8fñ\82ð\82Ó\82è\82©\82´\82µ\82½\82ª\81C\89ö\89ä\82Í\82µ\82È\82©\82Á\82½\82æ\82¤\82¾\81D");
ugolemeffects(AD_ELEC, d(12, 6));
}
destroy_item(WAND_CLASS, AD_ELEC);
break;
case SPE_FIREBALL:
+/*JP
You("explode a fireball on top of yourself!");
+*/
+ Your("\93ª\8fã\82Å\89Î\82Ì\8bÊ\82ª\94\9a\94\82µ\82½\81I");
explode(u.ux, u.uy, 11, d(6, 6), WAND_CLASS, EXPL_FIERY);
break;
case WAN_FIRE:
learn_it = TRUE;
if (Fire_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
You_feel("rather warm.");
+*/
+ You("\82¿\82å\82Á\82Æ\92g\82©\82\8a´\82¶\82½\81D");
ugolemeffects(AD_FIRE, d(12, 6));
} else {
+/*JP
pline("You've set yourself afire!");
+*/
+ You("\89\8a\82É\82Â\82Â\82Ü\82ê\82½\81I");
damage = d(12, 6);
}
burn_away_slime();
learn_it = TRUE;
if (Cold_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
You_feel("a little chill.");
+*/
+ You("\82¿\82å\82Á\82Æ\97â\82½\82\8a´\82¶\82½\81D");
ugolemeffects(AD_COLD, d(12, 6));
} else {
+/*JP
You("imitate a popsicle!");
+*/
+ You("\83A\83C\83X\83L\83\83\83\93\83f\81[\82Ì\82æ\82¤\82É\82È\82Á\82½\81I");
damage = d(12, 6);
}
destroy_item(POTION_CLASS, AD_COLD);
learn_it = TRUE;
if (Antimagic) {
shieldeff(u.ux, u.uy);
+/*JP
pline_The("missiles bounce!");
+*/
+ pline("\96\82\96@\82Ì\96î\82Í\82Í\82Ë\82©\82¦\82Á\82½\81I");
} else {
damage = d(4, 6);
+/*JP
pline("Idiot! You've shot yourself!");
+*/
+ pline("\89½\82â\82Á\82Ä\82ñ\82¾\81I\82 \82È\82½\82Í\8e©\95ª\8e©\90g\82ð\8c\82\82Á\82½\81I");
}
break;
case SPE_DRAIN_LIFE:
if (!Drain_resistance) {
learn_it = TRUE; /* (no effect for spells...) */
+/*JP
losexp("life drainage");
+*/
+ losexp("\90¶\96½\97Í\82ð\8bz\8eû\82³\82ê\82Ä");
}
damage = 0; /* No additional damage */
break;
if (BInvis && uarmc->otyp == MUMMY_WRAPPING) {
/* A mummy wrapping absorbs it and protects you */
+/*JP
You_feel("rather itchy under %s.", yname(uarmc));
+*/
+ You("%s\82Ì\89º\82ª\83\80\83Y\83\80\83Y\82µ\82½\81D", xname(uarmc));
break;
}
if (ordinary || !rn2(10)) { /* permanent */
if (!(HFast & INTRINSIC)) {
learn_it = TRUE;
if (!Fast)
+/*JP
You("speed up.");
+*/
+ You("\93®\82«\82ª\91¬\82\82È\82Á\82½\81D");
else
+/*JP
Your("quickness feels more natural.");
+*/
+ You("\91¬\82³\82É\8aµ\82ê\82Ä\82«\82½\81D");
exercise(A_DEX, TRUE);
}
HFast |= FROMOUTSIDE;
learn_it = TRUE;
if (Sleep_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
You("don't feel sleepy!");
+*/
+ You("\96°\82\82È\82ç\82È\82¢\81I");
} else {
+/*JP
pline_The("sleep ray hits you!");
+*/
+ pline("\96°\82è\8cõ\90ü\82ª\82 \82È\82½\82É\96½\92\86\82µ\82½\81I");
fall_asleep(-rnd(50), TRUE);
}
break;
case SPE_FINGER_OF_DEATH:
if (nonliving(youmonst.data) || is_demon(youmonst.data)) {
pline((obj->otyp == WAN_DEATH)
+/*JP
? "The wand shoots an apparently harmless beam at you."
+*/
+ ? "\8fñ\82Ì\8cõ\90ü\82Í\82Ç\82¤\82â\82ç\82 \82È\82½\82É\89e\8b¿\82ð\97^\82¦\82È\82¢\82à\82Ì\82Ì\82æ\82¤\82¾\81D"
+/*JP
: "You seem no deader than before.");
+*/
+ : "\82 \82È\82½\82Í\82±\82ê\88È\8fã\8e\80\82Ë\82È\82¢\82æ\82¤\82¾\81D");
break;
}
learn_it = TRUE;
+/*JP
Sprintf(killer.name, "shot %sself with a death ray", uhim());
+*/
+ Strcpy(killer.name, "\8e©\95ª\82ª\8c\82\82Á\82½\8e\80\82Ì\8cõ\90ü\82É\82æ\82Á\82Ä");
killer.format = NO_KILLER_PREFIX;
+/*JP
You("irradiate yourself with pure energy!");
+*/
+ You("\83G\83l\83\8b\83M\81[\82ð\8e©\95ª\8e©\90g\82É\8fÆ\8eË\82µ\82½\81D");
+/*JP
You("die.");
+*/
+ pline("\82 \82È\82½\82Í\8e\80\82É\82Ü\82µ\82½\81D");
/* They might survive with an amulet of life saving */
done(DIED);
break;
learn_it = TRUE;
(void) unturn_dead(&youmonst);
if (is_undead(youmonst.data)) {
+#if 0 /*JP*/
You_feel("frightened and %sstunned.",
Stunned ? "even more " : "");
+#else
+ You("\8b°\95|\82µ%s\82\82ç\82\82ç\82µ\82½\81D",
+ Stunned ? "\82³\82ç\82É" : "");
+#endif
make_stunned((HStun & TIMEOUT) + (long) rnd(30), FALSE);
} else
+/*JP
You("shudder in dread.");
+*/
+ You("\8b°\95|\82Å\90k\82¦\82½\81D");
break;
case SPE_HEALING:
case SPE_EXTRA_HEALING:
learn_it = TRUE; /* (no effect for spells...) */
healup(d(6, obj->otyp == SPE_EXTRA_HEALING ? 8 : 4), 0, FALSE,
(obj->otyp == SPE_EXTRA_HEALING));
+/*JP
You_feel("%sbetter.", obj->otyp == SPE_EXTRA_HEALING ? "much " : "");
+*/
+ You("%s\8bC\95ª\82ª\82æ\82\82È\82Á\82½\81D", obj->otyp == SPE_EXTRA_HEALING ? "\82Æ\82Ä\82à" : "");
break;
case WAN_LIGHT: /* (broken wand) */
/* assert( !ordinary ); */
{
boolean youdefend = (mdef == &youmonst);
static const char writing_vanishes[] =
+/*JP
"Some writing vanishes from %s head!";
+*/
+ "\89½\82©\82Ì\95¶\8e\9a\82ª%s\82Ì\93ª\82©\82ç\8fÁ\82¦\82½\81I";
+#if 0 /*JP:T*/
static const char your[] = "your"; /* should be extern */
+#else
+ static const char your[] = "\82 \82È\82½"; /* should be extern */
+#endif
if (youdefend ? (!youattack && Antimagic)
: resist(mdef, obj->oclass, 0, NOTELL))
pline(writing_vanishes, your);
if (Unchanging)
+/*JP
Your("amulet grows hot for a moment, then cools.");
+*/
+ Your("\96\82\8f\9c\82¯\82Í\82µ\82Î\82ç\82\94M\82\82È\82è\81C\82â\82ª\82Ä\8c³\82É\96ß\82Á\82½\81D");
else
rehumanize();
}
case WAN_PROBING:
ptmp = 0;
if (u.dz < 0) {
+/*JP
You("probe towards the %s.", ceiling(x, y));
+*/
+ You("\8fã\95û\82Ì%s\82ð\92²\82×\82½\81D", ceiling(x,y));
} else {
ptmp += bhitpile(obj, bhito, x, y, u.dz);
+/*JP
You("probe beneath the %s.", surface(x, y));
+*/
+ You("\89º\95û\82Ì%s\82ð\92²\82×\82½\81D", surface(x,y));
ptmp += display_binventory(x, y, TRUE);
}
if (!ptmp)
+/*JP
Your("probe reveals nothing.");
+*/
+ pline("\92²\8d¸\82Ì\8c\8b\89Ê\89½\82à\82Å\82Ä\82±\82È\82©\82Á\82½\81D");
return TRUE; /* we've done our own bhitpile */
case WAN_OPENING:
case SPE_KNOCK:
/* can't use the stairs down to quest level 2 until
leader "unlocks" them; give feedback if you try */
on_level(&u.uz, &qstart_level) && !ok_to_quest()) {
+/*JP
pline_The("stairs seem to ripple momentarily.");
+*/
+ pline("\8aK\92i\82ª\88ê\8fu\97h\82ê\82½\82æ\82¤\82É\8c©\82¦\82½\81D");
disclose = TRUE;
}
/* down will release you from bear trap or web */
&& !Is_qstart(&u.uz)) {
int dmg;
/* similar to zap_dig() */
+#if 0 /*JP*/
pline("A rock is dislodged from the %s and falls on your %s.",
ceiling(x, y), body_part(HEAD));
+#else
+ pline("%s\82©\82ç\8aâ\82ª\97\8e\82¿\82Ä\82 \82È\82½\82Ì%s\82É\96½\92\86\82µ\82½\81D",
+ ceiling(x, y), body_part(HEAD));
+#endif
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);
if ((otmp = mksobj_at(ROCK, x, y, FALSE, FALSE)) != 0) {
(void) xname(otmp); /* set dknown, maybe bknown */
stackobj(otmp);
} else if (striking && ttmp->ttyp == TRAPDOOR) {
/* striking transforms trapdoor into hole */
if (Blind && !ttmp->tseen) {
+/*JP
pline("%s beneath you shatters.", Something);
+*/
+ pline("\82 \82È\82½\82Ì\89º\82É\82 \82é\89½\82©\82ª\82±\82È\82²\82È\82É\82È\82Á\82½\81D");
} else if (!ttmp->tseen) { /* => !Blind */
+/*JP
pline("There's a trapdoor beneath you; it shatters.");
+*/
+ pline("\82 \82È\82½\82Ì\89º\82É\82Í\97\8e\82µ\94à\82ª\82 \82Á\82½\81G\82»\82ê\82Í\82±\82È\82²\82È\82É\82È\82Á\82½\81D");
} else {
+/*JP
pline("The trapdoor beneath you shatters.");
+*/
+ pline("\82 \82È\82½\82Ì\89º\82É\82 \82é\97\8e\82µ\94à\82Í\82±\82È\82²\82È\82É\82È\82Á\82½\81D");
disclose = TRUE;
}
ttmp->ttyp = HOLE;
/* locking transforms hole into trapdoor */
ttmp->ttyp = TRAPDOOR;
if (Blind || !ttmp->tseen) {
+#if 0 /*JP*/
pline("Some %s swirls beneath you.",
is_ice(x, y) ? "frost" : "dust");
+#else
+ pline("\82 \82È\82½\82Ì\89º\82Å%s\82ª\82¤\82¸\82ð\8aª\82\82Ì\82ª\8c©\82¦\82½\81D",
+ is_ice(x,y) ? "\91\9a" : "\82Ù\82±\82è");
+#endif
} else {
ttmp->tseen = 1;
newsym(x, y);
+/*JP
pline("A trapdoor appears beneath you.");
+*/
+ pline("\82 \82È\82½\82Ì\89º\82É\97\8e\82µ\94à\82ª\82 \82ç\82í\82ê\82½\81D");
disclose = TRUE;
}
/* hadn't fallen down hole; won't fall now */
|| (Is_qstart(&u.uz) && u.dz < 0)) {
pline1(nothing_happens);
} else if (u.dz < 0) { /* we should do more... */
+/*JP
pline("Blood drips on your %s.", body_part(FACE));
+*/
+ pline("\8c\8c\82ª\82 \82È\82½\82Ì%s\82Ö\82µ\82½\82½\82è\97\8e\82¿\82Ä\82«\82½\81D", body_part(FACE));
} else if (u.dz > 0 && !OBJ_AT(u.ux, u.uy)) {
/*
Print this message only if there wasn't an engraving
if (is_pool(u.ux, u.uy) || is_ice(u.ux, u.uy))
pline1(nothing_happens);
else
+#if 0 /*JP:T*/
pline("Blood %ss %s your %s.",
is_lava(u.ux, u.uy) ? "boil" : "pool",
Levitation ? "beneath" : "at",
makeplural(body_part(FOOT)));
+#else
+ pline("%s%s%s\81D",
+ makeplural(body_part(FOOT)),
+ Levitation ? "\82Ì\89º" : "\8c³",
+ is_lava(u.ux, u.uy) ?
+ "\82Å\8c\8c\82ª\95¦\93«\82µ\82½" : "\82É\8c\8c\82¾\82Ü\82è\82ª\8fo\97\88\82½");
+#endif
}
}
break;
case SPE_STONE_TO_FLESH:
if (e->engr_type == ENGRAVE) {
/* only affects things in stone */
+#if 0 /*JP*/
pline_The(Hallucination
? "floor runs like butter!"
: "edges on the floor get smoother.");
+#else
+ pline(Hallucination
+ ? "\8f°\82ª\83o\83^\81[\82Ì\82æ\82¤\82É\91\96\82Á\82Ä\82¢\82Á\82½\81I"
+ : "\8f°\82Ì\89\8f\82ª\82È\82ß\82ç\82©\82É\82È\82Á\82½\81D");
+#endif
wipe_engr_at(x, y, d(2, 4), TRUE);
}
break;
{
/* if do_osshock() set obj_zapped while polying, give a message now */
if (obj_zapped)
+/*JP
You_feel("shuddering vibrations.");
+*/
+ You("\82¼\82Á\82Æ\82·\82é\90U\93®\82ð\8a´\82¶\82½\81D");
obj_zapped = FALSE;
}
/* force == 0 occurs e.g. with sleep ray */
/* note that large force is usual with wands so that !! would
require information about hand/weapon/wand */
+/*JP
return (const char *) ((force < 0) ? "?" : (force <= 4) ? "." : "!");
+*/
+ return (const char *) ((force < 0) ? "\81H" : (force <= 4) ? "\81D" : "\81I");
}
void
{
if ((!cansee(bhitpos.x, bhitpos.y) && !canspotmon(mtmp)
&& !(u.uswallow && mtmp == u.ustuck)) || !flags.verbose)
+/*JP
pline("%s %s it.", The(str), vtense(str, "hit"));
+*/
+ pline("%s\82Í\89½\82©\82É\96½\92\86\82µ\82½\81D", str);
else
+#if 0 /*JP*/
pline("%s %s %s%s", The(str), vtense(str, "hit"),
mon_nam(mtmp), force);
+#else
+ pline("%s\82Í%s\82É\96½\92\86\82µ\82½%s", str,
+ mon_nam(mtmp), force);
+#endif
}
void
register const char *str;
register struct monst *mtmp;
{
+#if 0 /*JP*/
pline(
"%s %s %s.", The(str), vtense(str, "miss"),
((cansee(bhitpos.x, bhitpos.y) || canspotmon(mtmp)) && flags.verbose)
? mon_nam(mtmp)
: "it");
+#else
+ pline(
+ "%s\82Ì%s\82Ö\82Ì\8dU\8c\82\82Í\82Í\82¸\82ê\82½\81D", str,
+ ((cansee(bhitpos.x,bhitpos.y) || canspotmon(mtmp)) && flags.verbose)
+ ? mon_nam(mtmp)
+ : "\89½\8eÒ\82©");
+#endif
}
STATIC_OVL void
struct trap *t;
if ((bobj = sobj_at(BOULDER, x, y)) != 0) {
if (cansee(x, y))
+#if 0 /*JP*/
pline("%s hits %s.", The(distant_name(obj, xname)),
an(xname(bobj)));
+#else
+ pline("%s\82Í%s\82É\96½\92\86\82µ\82½\81D", distant_name(obj, xname),
+ xname(bobj));
+#endif
range = 0;
} else if (obj == uball) {
if (!test_move(x - ddx, y - ddy, ddx, ddy, TEST_MOVE)) {
/* nb: it didn't hit anything directly */
if (cansee(x, y))
+#if 0 /*JP*/
pline("%s jerks to an abrupt halt.",
The(distant_name(obj, xname))); /* lame */
+#else
+ pline("%s\82Í\82Æ\82Â\82º\82ñ\83K\83N\83\93\82Æ\8e~\82Ü\82Á\82½\81D",
+ distant_name(obj, xname)); /* lame */
+#endif
range = 0;
} else if (Sokoban && (t = t_at(x, y)) != 0
&& (t->ttyp == PIT || t->ttyp == SPIKED_PIT
tmp_at(DISP_END, 0);
if (shopdoor)
+/*JP
pay_for_damage("destroy", FALSE);
+*/
+ pay_for_damage("\94j\89ó\82·\82é", FALSE);
return (struct monst *) 0;
}
if (Fumbling || rn2(20) >= ACURR(A_DEX)) {
/* we hit ourselves */
(void) thitu(10 + obj->spe, dmgval(obj, &youmonst), obj,
+/*JP
"boomerang");
+*/
+ "\83u\81[\83\81\83\89\83\93");
endmultishot(TRUE);
break;
} else { /* we catch it */
tmp_at(DISP_END, 0);
+/*JP
You("skillfully catch the boomerang.");
+*/
+ You("\8fã\8eè\82É\83u\81[\83\81\83\89\83\93\82ð\92Í\82Ü\82¦\82½\81D");
return &youmonst;
}
}
xchar sx, sy;
{
int dam = 0, abstyp = abs(type);
+#if 1 /*JP*/
+ char buf[BUFSZ];
+
+ Sprintf(buf, "%s\82É\82æ\82Á\82Ä", fltxt);
+ fltxt = buf;
+#endif
switch (abstyp % 10) {
case ZT_MAGIC_MISSILE:
if (Antimagic) {
shieldeff(sx, sy);
+/*JP
pline_The("missiles bounce off!");
+*/
+ pline("\96\82\96@\82Ì\96î\82Í\94½\8eË\82µ\82½\81I");
} else {
dam = d(nd, 6);
exercise(A_STR, FALSE);
case ZT_FIRE:
if (Fire_resistance) {
shieldeff(sx, sy);
+/*JP
You("don't feel hot!");
+*/
+ You("\94M\82³\82ð\8a´\82¶\82È\82¢\81I");
ugolemeffects(AD_FIRE, d(nd, 6));
} else {
dam = d(nd, 6);
case ZT_COLD:
if (Cold_resistance) {
shieldeff(sx, sy);
+/*JP
You("don't feel cold.");
+*/
+ You("\97â\82½\82³\82ð\8a´\82¶\82È\82¢\81D");
ugolemeffects(AD_COLD, d(nd, 6));
} else {
dam = d(nd, 6);
case ZT_SLEEP:
if (Sleep_resistance) {
shieldeff(u.ux, u.uy);
+/*JP
You("don't feel sleepy.");
+*/
+ You("\96°\82\82È\82ç\82È\82¢\81D");
} else {
fall_asleep(-d(nd, 25), TRUE); /* sleep ray */
}
case ZT_DEATH:
if (abstyp == ZT_BREATH(ZT_DEATH)) {
if (Disint_resistance) {
+/*JP
You("are not disintegrated.");
+*/
+ You("\95ª\89ð\82³\82ê\82È\82¢\81D");
break;
} else if (uarms) {
/* destroy shield; other possessions are safe */
(void) destroy_arm(uarmu);
} else if (nonliving(youmonst.data) || is_demon(youmonst.data)) {
shieldeff(sx, sy);
+/*JP
You("seem unaffected.");
+*/
+ You("\89e\8b¿\82ð\8eó\82¯\82È\82¢\82æ\82¤\82¾\81D");
break;
} else if (Antimagic) {
shieldeff(sx, sy);
+/*JP
You("aren't affected.");
+*/
+ You("\89e\8b¿\82ð\8eó\82¯\82È\82¢\81D");
break;
}
killer.format = KILLED_BY_AN;
case ZT_LIGHTNING:
if (Shock_resistance) {
shieldeff(sx, sy);
+/*JP
You("aren't affected.");
+*/
+ You("\89e\8b¿\82ð\8eó\82¯\82È\82¢\81D");
ugolemeffects(AD_ELEC, d(nd, 6));
} else {
dam = d(nd, 6);
destroy_item(RING_CLASS, AD_ELEC);
break;
case ZT_POISON_GAS:
+/*JP
poisoned("blast", A_DEX, "poisoned blast", 15, FALSE);
+*/
+ poisoned("\91§", A_DEX, "\93Å\82Ì\91§", 15, FALSE);
break;
case ZT_ACID:
if (Acid_resistance) {
+/*JP
pline_The("acid doesn't hurt.");
+*/
+ pline("\8e_\82Å\82Í\8f\9d\82Â\82©\82È\82©\82Á\82½\81D");
dam = 0;
} else {
+/*JP
pline_The("acid burns!");
+*/
+ pline("\8e_\82Å\8fÄ\82¯\82½\81I");
dam = d(nd, 6);
exercise(A_STR, FALSE);
}
cnt += delquan;
if (give_feedback) {
if (delquan > 1L)
+#if 0 /*JP*/
pline("%ld %s burn.", delquan, buf2);
+#else
+ pline("%ld%s\82Ì%s\82ª\94R\82¦\82½\81D",
+ delquan,
+ obj->oclass == SCROLL_CLASS ? "\96\87" : "\8dû",
+ buf2);
+#endif
else
+/*JP
pline("%s burns.", An(buf1));
+*/
+ pline("%s\82Í\94R\82¦\82½\81D", buf1);
}
}
}
if (canseemon(mon)) {
if (!m_amulet)
+/*JP
pline("%s is disintegrated!", Monnam(mon));
+*/
+ pline("%s\82Í\82±\82È\82²\82È\82É\82È\82Á\82½\81I", Monnam(mon));
else
+/*JP
hit(fltxt, mon, "!");
+*/
+ hit(fltxt, mon, "\81I");
}
/* note: worn amulet of life saving must be preserved in order to operate */
if (!u.ustuck)
u.uswallow = 0;
else
+#if 0 /*JP*/
pline("%s rips into %s%s", The(fltxt), mon_nam(u.ustuck),
exclam(tmp));
+#else
+ pline("%s\82Í%s\82ð\82Ð\82«\82³\82¢\82½%s", fltxt, mon_nam(u.ustuck),
+ exclam(tmp));
+#endif
/* Using disintegration from the inside only makes a hole... */
if (tmp == MAGIC_COOKIE)
u.ustuck->mhp = 0;
if (cansee(mon->mx, mon->my)) {
hit(fltxt, mon, exclam(0));
shieldeff(mon->mx, mon->my);
+#if 0 /*JP*/
(void) mon_reflects(mon,
"But it reflects from %s %s!");
+#else
+ (void) mon_reflects(mon,
+ "\82µ\82©\82µ\82»\82ê\82Í%s\82Ì%s\82Å\94½\8eË\82µ\82½\81I");
+#endif
}
dx = -dx;
dy = -dy;
&& abs(type) == ZT_BREATH(ZT_DEATH)) {
if (canseemon(mon)) {
hit(fltxt, mon, ".");
+/*JP
pline("%s disintegrates.", Monnam(mon));
+*/
+ pline("%s\82Í\82±\82È\82²\82È\82É\82È\82Á\82½\81D", Monnam(mon));
+#if 0 /*JP*/
pline("%s body reintegrates before your %s!",
s_suffix(Monnam(mon)),
(eyecount(youmonst.data) == 1)
? body_part(EYE)
: makeplural(body_part(EYE)));
+#else
+ pline("%s\82Ì\91Ì\82Í\82 \82È\82½\82Ì\96Ú\82Ì\91O\82Å\8dÄ\8c\8b\8d\87\82µ\82½\81I",
+ Monnam(mon));
+#endif
+/*JP
pline("%s resurrects!", Monnam(mon));
+*/
+ pline("%s\82Í\91h\82Á\82½\81I", Monnam(mon));
}
mon->mhp = mon->mhpmax;
break; /* Out of while loop */
}
if (mon->data == &mons[PM_DEATH] && abstype == ZT_DEATH) {
if (canseemon(mon)) {
+/*JP
hit(fltxt, mon, ".");
+*/
+ hit(fltxt, mon, "\81D");
+#if 0 /*JP*/
pline("%s absorbs the deadly %s!", Monnam(mon),
type == ZT_BREATH(ZT_DEATH) ? "blast"
: "ray");
+#else
+ pline("%s\82Í\8e\80\82Ì%s\82ð\8bz\8eû\82µ\82½\81I", Monnam(mon),
+ type == ZT_BREATH(ZT_DEATH) ? "\91§"
+ : "\8cõ\90ü");
+#endif
+/*JP
pline("It seems even stronger than before.");
+*/
+ pline("\82³\82ç\82É\8b\82\82È\82Á\82½\82æ\82¤\82È\8bC\82³\82¦\82·\82é\81D");
}
break; /* Out of while loop */
}
} else {
/* some armor was destroyed; no damage done */
if (canseemon(mon))
+/*JP
pline("%s %s is disintegrated!",
+*/
+ pline("%s\82Ì%s\82Í\82±\82È\82²\82È\82É\82È\82Á\82½\81I",
s_suffix(Monnam(mon)),
distant_name(otmp, xname));
m_useup(mon, otmp);
goto buzzmonst;
} else if (zap_hit((int) u.uac, 0)) {
range -= 2;
+/*JP
pline("%s hits you!", The(fltxt));
+*/
+ pline("%s\82Í\82 \82È\82½\82É\96½\92\86\82µ\82½\81I", fltxt);
if (Reflecting) {
if (!Blind) {
+#if 0 /*JP*/
(void) ureflects("But %s reflects from your %s!",
"it");
+#else
+ (void) ureflects("\82µ\82©\82µ\81C%s\82Í\82 \82È\82½\82Ì%s\82É\82æ\82Á\82Ä\94½\8eË\82µ\82½\81D",
+ "\82»\82ê");
+#endif
} else
+/*JP
pline("For some reason you are not affected.");
+*/
+ pline("\82È\82º\82©\82 \82È\82½\82Í\89e\8b¿\82ð\8eó\82¯\82È\82©\82Á\82½\81D");
dx = -dx;
dy = -dy;
shieldeff(sx, sy);
zhitu(type, nd, fltxt, sx, sy);
}
} else if (!Blind) {
+/*JP
pline("%s whizzes by you!", The(fltxt));
+*/
+ pline("%s\82Í\82 \82È\82½\82Ì\82»\82Î\82ð\82©\82·\82ß\82½\81I", fltxt);
} else if (abstype == ZT_LIGHTNING) {
Your("%s tingles.", body_part(ARM));
}
explode(sx, sy, type, d(12, 6), 0, EXPL_FIERY);
get_out_buzz:
if (shopdamage)
+#if 0 /*JP*/
pay_for_damage(abstype == ZT_FIRE
? "burn away"
: abstype == ZT_COLD
? "disintegrate"
: "destroy",
FALSE);
+#else
+ pay_for_damage(abstype == ZT_FIRE
+ ? "\94R\82â\82·"
+ : abstype == ZT_COLD
+ ? "\95²\81X\82É\82·\82é"
+ : abstype == ZT_ACID
+ ? "\8f\9d\82Â\82¯\82é"
+ : abstype == ZT_DEATH
+ ? "\95²\8dÓ\82·\82é"
+ : "\94j\89ó\82·\82é",
+ FALSE);
+#endif
bhitpos = save_bhitpos;
}
struct obj *otmp;
if (!msg)
+/*JP
msg = "The ice crackles and melts.";
+*/
+ msg = "\95X\82Í\83s\83L\83s\83L\96Â\82è\81C\97n\82¯\82½\81D";
if (lev->typ == DRAWBRIDGE_UP) {
lev->drawbridgemask &= ~DB_ICE; /* revert to DB_MOAT */
} else { /* lev->typ == ICE */
Norep("%s", msg);
if ((otmp = sobj_at(BOULDER, x, y)) != 0) {
if (cansee(x, y))
+/*JP
pline("%s settles...", An(xname(otmp)));
+*/
+ pline("%s\82Í\82Í\82Ü\82Á\82½\81D\81D\81D", xname(otmp));
do {
obj_extract_self(otmp); /* boulder isn't being pushed */
if (!boulder_hits_pool(otmp, x, y, FALSE))
if (t && t->ttyp == WEB) {
/* a burning web is too flimsy to notice if you can't see it */
if (see_it)
+/*JP
Norep("A web bursts into flames!");
+*/
+ Norep("\82\82à\82Ì\91\83\82Í\89\8a\82É\95ï\82Ü\82ê\82½\81I");
(void) delfloortrap(t);
if (see_it)
newsym(x, y);
if (is_ice(x, y)) {
melt_ice(x, y, (char *) 0);
} else if (is_pool(x, y)) {
+/*JP
const char *msgtxt = "You hear hissing gas.";
+*/
+ const char *msgtxt = "\82µ\82ã\81[\82Á\82Æ\82¢\82¤\83K\83X\82Ì\89¹\82ð\95·\82¢\82½\81D";
if (lev->typ != POOL) { /* MOAT or DRAWBRIDGE_UP */
if (see_it)
+/*JP
msgtxt = "Some water evaporates.";
+*/
+ msgtxt = "\82·\82±\82µ\90\85\82ª\8fö\94\82µ\82½\81D";
} else {
rangemod -= 3;
lev->typ = ROOM;
if (t)
t->tseen = 1;
if (see_it)
+/*JP
msgtxt = "The water evaporates.";
+*/
+ msgtxt = "\90\85\82ª\8fö\94\82µ\82½\81D";
}
Norep("%s", msgtxt);
if (lev->typ == ROOM)
newsym(x, y);
} else if (IS_FOUNTAIN(lev->typ)) {
if (see_it)
+/*JP
pline("Steam billows from the fountain.");
+*/
+ pline("\90ò\82©\82ç\8fö\8bC\82ª\97§\82¿\82Ì\82Ú\82Á\82½\81D");
rangemod -= 1;
dryup(x, y, type > 0);
}
if (lev->typ == WATER) {
/* For now, don't let WATER freeze. */
if (see_it)
+/*JP
pline_The("water freezes for a moment.");
+*/
+ pline("\90\85\82Í\88ê\8fu\93\80\82Á\82½\81D");
else
+/*JP
You_hear("a soft crackling.");
+*/
+ You_hear("\83s\83L\81I\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
rangemod -= 1000; /* stop */
} else {
rangemod -= 3;
bury_objs(x, y);
if (see_it) {
if (lava)
+/*JP
Norep("The lava cools and solidifies.");
+*/
+ Norep("\97n\8aâ\82Í\97â\82¦\8cÅ\82Ü\82Á\82½\81D");
else if (moat)
+/*JP
Norep("The %s is bridged with ice!",
+*/
+ Norep("%s\82É\95X\82Ì\8b´\82ª\82©\82¯\82ç\82ê\82½\81I",
waterbody_name(x, y));
else
+/*JP
Norep("The water freezes.");
+*/
+ Norep("\90\85\82Í\93\80\82Á\82½\81D");
newsym(x, y);
} else if (!lava)
+/*JP
You_hear("a crackling sound.");
+*/
+ You_hear("\83s\83L\83s\83L\83b\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D");
if (x == u.ux && y == u.uy) {
if (u.uinwater) { /* not just `if (Underwater)' */
} else if (u.utrap && u.utraptype == TT_LAVA) {
if (Passes_walls) {
u.utrap = 0;
+/*JP
You("pass through the now-solid rock.");
+*/
+ You("\82¢\82Ü\8cÅ\82\82È\82Á\82½\82Î\82©\82è\82Ì\90Î\82Ì\92\86\82ð\82·\82è\94²\82¯\82½\81D");
} else {
u.utrap = rn1(50, 20);
u.utraptype = TT_INFLOOR;
+/*JP
You("are firmly stuck in the cooling rock.");
+*/
+ You("\97â\82¦\82½\8aâ\82Ì\82È\82©\82É\82µ\82Á\82©\82è\82Æ\96\84\82Ü\82Á\82½\81D");
}
}
} else if ((mon = m_at(x, y)) != 0) {
/* set up zap text for possible door feedback; for exploding wand, we
want "the blast" rather than "your blast" even if hero caused it */
yourzap = (type >= 0 && !exploding_wand_typ);
+#if 0 /*JP*/
zapverb = "blast"; /* breath attack or wand explosion */
+#else
+ zapverb = "\8fÕ\8c\82"; /* breath attack or wand explosion */
+#endif
if (!exploding_wand_typ) {
if (abs(type) < ZT_SPELL(0))
+#if 0 /*JP*/
zapverb = "bolt"; /* wand zap */
+#else
+ zapverb = "\8cõ\90ü"; /* wand zap */
+#endif
else if (abs(type) < ZT_BREATH(0))
+/*JP
zapverb = "spell";
+*/
+ zapverb = "\8eô\95¶";
}
/* secret door gets revealed, converted into regular door */
switch (abstype) {
case ZT_FIRE:
new_doormask = D_NODOOR;
+/*JP
see_txt = "The door is consumed in flames!";
+*/
+ see_txt = "\94à\82Í\89\8a\82Å\8fÄ\82«\82Â\82\82³\82ê\82½\81I";
+/*JP
sense_txt = "smell smoke.";
+*/
+ sense_txt = "\89\8c\82Ì\93õ\82¢\82ª\82µ\82½\81D";
break;
case ZT_COLD:
new_doormask = D_NODOOR;
+/*JP
see_txt = "The door freezes and shatters!";
+*/
+ see_txt = "\94à\82Í\93\80\82è\81C\82±\82È\82²\82È\82É\82È\82Á\82½\81I";
+/*JP
sense_txt = "feel cold.";
+*/
+ sense_txt = "\97â\8bC\82ð\8a´\82¶\82½\81D";
break;
case ZT_DEATH:
/* death spells/wands don't disintegrate */
if (abs(type) != ZT_BREATH(ZT_DEATH))
goto def_case;
new_doormask = D_NODOOR;
+/*JP
see_txt = "The door disintegrates!";
+*/
+ see_txt = "\94à\82Í\95²\8dÓ\82³\82ê\82½\81I";
+/*JP
hear_txt = "crashing wood.";
+*/
+ hear_txt = "\96Ø\82Ì\89ó\82ê\82é\89¹\82ð\95·\82¢\82½\81D";
break;
case ZT_LIGHTNING:
new_doormask = D_BROKEN;
+/*JP
see_txt = "The door splinters!";
+*/
+ see_txt = "\94à\82Í\82¸\82½\82¸\82½\82É\82È\82Á\82½\81I";
+/*JP
hear_txt = "crackling.";
+*/
+ hear_txt = "\83s\83L\83s\83L\82Æ\82¢\82¤\89¹\82ð\95·\82¢\82½\81D";
break;
default:
def_case:
inaccurate for an exploding wand since
other adjacent locations still get hit */
if (exploding_wand_typ)
+/*JP
pline_The("door remains intact.");
+*/
+ pline_The("\94à\82Í\96³\8f\9d\82¾\81D");
else
+#if 0 /*JP*/
pline_The("door absorbs %s %s!", yourzap ? "your" : "the",
zapverb);
+#else
+ pline_The("\94à\82Í%s%s\82ð\8bz\8eû\82µ\82½\81I", yourzap ? "\82 \82È\82½\82ª\95ú\82Á\82½" : "",
+ zapverb);
+#endif
} else
+/*JP
You_feel("vibrations.");
+*/
+ You("\90U\93®\82ð\8a´\82¶\82½\81D");
break;
}
if (new_doormask >= 0) { /* door gets broken */
pline1(see_txt);
newsym(x, y);
} else if (sense_txt) {
+#if 0 /*JP*//*\81u\82 \82È\82½\82Í\81v\82ª\95s\93K\90Ø\82È\95¶\82à\82 \82é*/
You1(sense_txt);
+#else
+ pline1(sense_txt);
+#endif
} else if (hear_txt)
You_hear1(hear_txt);
if (picking_at(x, y)) {
if (OBJ_AT(x, y) && abstype == ZT_FIRE)
if (burn_floor_objects(x, y, FALSE, type > 0) && couldsee(x, y)) {
newsym(x, y);
+/*JP
You("%s of smoke.", !Blind ? "see a puff" : "smell a whiff");
+*/
+ pline("%s\81D", !Blind ? "\82Û\82í\82Á\82Æ\89\8c\82ª\82 \82ª\82Á\82½" : "\89\8c\82Ì\83v\83\93\82Æ\82¢\82¤\93õ\82¢\82ª\82µ\82½");
}
if ((mon = m_at(x, y)) != 0) {
/* Cannot use wakeup() which also angers the monster */
place_object(item, obj->ox, obj->oy);
}
if (by_you && Role_if(PM_ARCHEOLOGIST) && (obj->spe & STATUE_HISTORIC)) {
+/*JP
You_feel("guilty about damaging such a historic statue.");
+*/
+ You_feel("\82±\82Ì\82æ\82¤\82È\97ð\8ej\93I\82È\92¤\91\9c\82É\8f\9d\82ð\82Â\82¯\82é\82Ì\82Í\8dß\90[\82¢\82±\82Æ\82¾\82Æ\8ev\82Á\82½\81D");
adjalign(-1);
}
obj->spe = 0;
*/
const char *const destroy_strings[][3] = {
/* also used in trap.c */
+/*JP
{ "freezes and shatters", "freeze and shatter", "shattered potion" },
+*/
+ { "\93\80\8c\8b\82µ\82Ä\8dÓ\82¯\82½", "\93\80\8c\8b\82µ\82Ä\8dÓ\82¯\82½", "\8dÓ\82¯\82½\96ò\95r\82Å" },
+/*JP
{ "boils and explodes", "boil and explode", "boiling potion" },
+*/
+ { "\95¦\93«\82µ\82Ä\94\9a\94\82µ\82½", "\95¦\93«\82µ\82Ä\94\9a\94\82µ\82½", "\95¦\93«\82µ\82½\96ò\82Å" },
+/*JP
{ "ignites and explodes", "ignite and explode", "exploding potion" },
+*/
+ { "\89Î\82ª\82Â\82¢\82Ä\94\9a\94\82µ\82½", "\89Î\82ª\82Â\82¢\82Ä\94\9a\94\82µ\82½", "\94\9a\94\82µ\82½\96ò\82Å" },
+/*JP
{ "catches fire and burns", "catch fire and burn", "burning scroll" },
+*/
+ { "\89Î\82ª\82Â\82¢\82Ä\94R\82¦\82½", "\89Î\82ª\82Â\82¢\82Ä\94R\82¦\82½", "\94R\82¦\82½\8aª\95¨\82Å" },
+/*JP
{ "catches fire and burns", "", "burning book" },
+*/
+ { "\89Î\82ª\82Â\82¢\82Ä\94R\82¦\82½", "\89Î\82ª\82Â\82¢\82Ä\94R\82¦\82½", "\94R\82¦\82½\96\82\96@\8f\91\82Å" },
+/*JP
{ "turns to dust and vanishes", "", "" },
+*/
+ { "\90o\82É\82È\82Á\82Ä\8fÁ\82¦\82½", "\90o\82É\82È\82Á\82Ä\8fÁ\82¦\82½", "" },
+/*JP
{ "breaks apart and explodes", "", "exploding wand" },
+*/
+ { "\82Î\82ç\82Î\82ç\82É\89ó\82ê\82Ä\94\9a\94\82µ\82½", "\82Î\82ç\82Î\82ç\82É\89ó\82ê\82Ä\94\9a\94\82µ\82½", "\8fñ\82Ì\94\9a\94\82Å" },
};
void
if (obj->otyp == SPE_BOOK_OF_THE_DEAD) {
skip++;
if (!Blind)
+#if 0 /*JP:T*/
pline("%s glows a strange %s, but remains intact.",
The(xname(obj)), hcolor("dark red"));
+#else
+ pline("%s\82Í\8aï\96\82É%s\8bP\82¢\82½\82ª\89½\82à\95Ï\89»\82µ\82È\82©\82Á\82½\81D",
+ xname(obj), jconj_adj(hcolor("\88Ã\8a\8c\90F\82Ì")));
+#endif
+
}
quan = obj->quan;
switch (osym) {
if (!cnt)
continue;
+#if 0 /*JP*/
mult = (cnt == quan)
? (quan > 1) ? "All of your " : "Your"
: (cnt == 1L) ? "One of your" : "Some of your";
+#else
+ mult = (cnt == quan)
+ ? ""
+ : (cnt == 1L) ? "\82Ì\82Ð\82Æ\82Â" : "\82Ì\82¢\82\82Â\82©";
+#endif
+#if 0 /*JP*/
pline("%s %s %s!", mult, xname(obj),
destroy_strings[dindx][(cnt > 1L)]);
+#else
+ pline("\82 \82È\82½\82Ì%s%s\82Í%s\81I", xname(obj), mult,
+ destroy_strings[dindx][(cnt > 1L)]);
+#endif
if (osym == POTION_CLASS && dmgtyp != AD_COLD) {
if (!breathless(youmonst.data) || haseyes(youmonst.data))
potionbreathe(obj);
useup(obj);
if (dmg) {
if (xresist)
+/*JP
You("aren't hurt!");
+*/
+ You("\8f\9d\82Â\82©\82È\82¢\81I");
else {
const char *how = destroy_strings[dindx][2];
boolean one = (cnt == 1L);
if (obj->otyp == SPE_BOOK_OF_THE_DEAD) {
skip++;
if (vis)
+#if 0 /*JP*/
pline("%s glows a strange %s, but remains intact.",
The(distant_name(obj, xname)), hcolor("dark red"));
+#else
+ pline("%s\82Í\8aï\96\82É%s\8bP\82¢\82½\82ª\89½\82à\95Ï\89»\82µ\82È\82©\82Á\82½\81D",
+ The(distant_name(obj, xname)), jconj_adj(hcolor("\88Ã\8a\8c\90F\82Ì")));
+#endif
}
quan = obj->quan;
switch (osym) {
if (!cnt)
continue;
if (vis)
+#if 0 /*JP*/
pline("%s%s %s!",
(cnt == obj->quan) ? "" : (cnt > 1L) ? "Some of "
: "One of ",
(cnt == obj->quan) ? Yname2(obj) : yname(obj),
destroy_strings[dindx][(cnt > 1L)]);
+#else
+ pline("%s%s\82Í%s\81I",
+ (cnt == obj->quan) ? Yname2(obj) : yname(obj),
+ (cnt == obj->quan) ? "" : (cnt > 1L) ? "\82Ì\82¢\82\82Â\82©"
+ : "\82Ì\82Ð\82Æ\82Â",
+ destroy_strings[dindx][(cnt > 1L)]);
+#endif
for (i = 0; i < cnt; i++)
m_useup(mtmp, obj);
}
if (resisted) {
if (tell) {
shieldeff(mtmp->mx, mtmp->my);
+/*JP
pline("%s resists!", Monnam(mtmp));
+*/
+ pline("%s\82Í\96h\82¢\82¾\81I", Monnam(mtmp));
}
damage = (damage + 1) / 2;
}
promptbuf[0] = '\0';
nothing = zeroobj; /* lint suppression; only its address matters */
if (flags.verbose)
+/*JP
You("may wish for an object.");
+*/
+ You("\96]\82Ý\82Ì\82à\82Ì\82ð\8eè\82É\93ü\82ê\82ç\82ê\82é\81D");
retry:
+/*JP
Strcpy(promptbuf, "For what do you wish");
+*/
+ Strcpy(promptbuf, "\89½\82ð\82¨\96]\82Ý");
if (iflags.cmdassist && tries > 0)
+/*JP
Strcat(promptbuf, " (enter 'help' for assistance)");
+*/
+ Strcat(promptbuf, " (\8f\95\82¯\82ª\95K\97v\82È\82ç 'help' \82Æ\93ü\97Í)");
+/*JP
Strcat(promptbuf, "?");
+*/
+ Strcat(promptbuf, "\81H");
getlin(promptbuf, buf);
(void) mungspaces(buf);
if (buf[0] == '\033') {
*/
otmp = readobjnam(buf, ¬hing);
if (!otmp) {
+/*JP
pline("Nothing fitting that description exists in the game.");
+*/
+ pline("\82¤\81[\82ñ\81D\82»\82ñ\82È\82à\82Ì\82Í\91¶\8dÝ\82µ\82È\82¢\82æ\82¤\82¾\81D");
if (++tries < MAXWISHTRY)
goto retry;
pline1(thats_enough_tries);
if (otmp != &zeroobj) {
const char
+/*JP
*verb = ((Is_airlevel(&u.uz) || u.uinwater) ? "slip" : "drop"),
+*/
+ *verb = ((Is_airlevel(&u.uz) || u.uinwater) ? "\8a\8a\82è\97\8e\82¿\82½" : "\97\8e\82¿\82½"),
+#if 0 /*JP*/
*oops_msg = (u.uswallow
? "Oops! %s out of your reach!"
: (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)
|| levl[u.ux][u.uy].typ >= ICE)
? "Oops! %s away from you!"
: "Oops! %s to the floor!");
+#else
+ *oops_msg = (u.uswallow
+ ? "\82¨\82Á\82Æ\81C\93Í\82©\82È\82¢\82Æ\82±\82ë\82É%s\81I"
+ : (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)
+ || levl[u.ux][u.uy].typ < IRONBARS
+ || levl[u.ux][u.uy].typ >= ICE)
+ ? "\82¨\82Á\82Æ\81C\8eè\82©\82ç%s\81I"
+ : "\82¨\82Á\82Æ\81C\8f°\82É%s\81I");
+#endif
/* The(aobjnam()) is safe since otmp is unidentified -dlc */
(void) hold_another_object(otmp, oops_msg,