/* 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,