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