* 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);