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