/* Copyright (C) 1990 by Ken Arromdee */
/* NetHack may be freely redistributed. See license for details. */
+/* JNetHack Copyright */
+/* (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-2000 */
+/* For 3.4-, Copyright (c) SHIRAKATA Kentaro, 2002-2016 */
+/* JNetHack may be freely redistributed. See license for details. */
+
#include "hack.h"
/* Note: Arrays are column first, while the screen is row first */
} else
switch (abs(type) % 10) {
case 0:
+/*JP
str = "magical blast";
+*/
+ str = "\96\82\96@\82Ì\95\97";
adtyp = AD_MAGM;
break;
case 1:
+#if 0 /*JP*/
str = (olet == BURNING_OIL) ? "burning oil"
: (olet == SCROLL_CLASS) ? "tower of flame" : "fireball";
+#else
+ str = (olet == BURNING_OIL) ? "\94R\82¦\82Ä\82¢\82é\96û"
+ : (olet == SCROLL_CLASS) ? "\89Î\92\8c" : "\89Î\82Ì\8bÊ";
+#endif
/* fire damage, not physical damage */
adtyp = AD_FIRE;
break;
case 2:
+/*JP
str = "ball of cold";
+*/
+ str = "\95X\82Ì\8bÊ";
adtyp = AD_COLD;
break;
case 4:
+#if 0 /*JP*/
str = (olet == WAND_CLASS) ? "death field"
: "disintegration field";
+#else
+ str = (olet == WAND_CLASS) ? "\8e\80\82Ì\95\97"
+ : "\95ª\89ð\82Ì\95\97";
+#endif
adtyp = AD_DISN;
break;
case 5:
+/*JP
str = "ball of lightning";
+*/
+ str = "\97\8b\8bÊ";
adtyp = AD_ELEC;
break;
case 6:
+/*JP
str = "poison gas cloud";
+*/
+ str = "\93Å\82Ì\89_";
adtyp = AD_DRST;
break;
case 7:
+/*JP
str = "splash of acid";
+*/
+ str = "\8e_\82Ì\82µ\82Ô\82«";
adtyp = AD_ACID;
break;
default:
tmp_at(DISP_END, 0); /* clear the explosion */
} else {
if (olet == MON_EXPLODE) {
+/*JP
str = "explosion";
+*/
+ str = "\94\9a\94";
generic = TRUE;
}
if (!Deaf && olet != SCROLL_CLASS)
+/*JP
You_hear("a blast.");
+*/
+ You_hear("\94\9a\94\89¹\82ð\95·\82¢\82½\81D");
}
if (dam)
if (is_animal(u.ustuck->data)) {
switch (adtyp) {
case AD_FIRE:
+/*JP
adj = "heartburn";
+*/
+ adj = "\94R\82¦\82½";
break;
case AD_COLD:
+/*JP
adj = "chilly";
+*/
+ adj = "\93\80\82ç\82³\82ê\82½";
break;
case AD_DISN:
if (olet == WAND_CLASS)
+/*JP
adj = "irradiated by pure energy";
+*/
+ adj = "\8fò\89»\82Ì\97Í\82ð\97\81\82Ñ\82½";
else
+/*JP
adj = "perforated";
+*/
+ adj = "\8c\8a\82ð\82 \82¯\82ç\82ê\82½";
break;
case AD_ELEC:
+/*JP
adj = "shocked";
+*/
+ adj = "\93d\8c\82\82ð\82\82ç\82Á\82½";
break;
case AD_DRST:
+/*JP
adj = "poisoned";
+*/
+ adj = "\93Å\82ð\82\82ç\82Á\82½";
break;
case AD_ACID:
+/*JP
adj = "an upset stomach";
+*/
+ adj = "\8e_\82ð\82\82ç\82Á\82½";
break;
default:
+/*JP
adj = "fried";
+*/
+ adj = "\83p\83\8a\83p\83\8a\82É\82È\82Á\82½";
break;
}
+/*JP
pline("%s gets %s!", Monnam(u.ustuck), adj);
+*/
+ pline("%s\82Í%s\81I", Monnam(u.ustuck), adj);
} else {
switch (adtyp) {
case AD_FIRE:
+/*JP
adj = "toasted";
+*/
+ adj = "\8fÅ\82°\82½";
break;
case AD_COLD:
+/*JP
adj = "chilly";
+*/
+ adj = "\93\80\82Á\82½";
break;
case AD_DISN:
if (olet == WAND_CLASS)
+/*JP
adj = "overwhelmed by pure energy";
+*/
+ adj = "\8fò\89»\82Ì\97Í\82ð\97\81\82Ñ\82½";
else
+/*JP
adj = "perforated";
+*/
+ adj = "\8c\8a\82ð\82 \82¯\82ç\82ê\82½";
break;
case AD_ELEC:
+/*JP
adj = "shocked";
+*/
+ adj = "\93d\8c\82\82ð\82\82ç\82Á\82½";
break;
case AD_DRST:
+/*JP
adj = "intoxicated";
+*/
+ adj = "\93Å\82ð\82\82ç\82Á\82½";
break;
case AD_ACID:
+/*JP
adj = "burned";
+*/
+ adj = "\8e_\82ð\82\82ç\82Á\82½";
break;
default:
+/*JP
adj = "fried";
+*/
+ adj = "\83p\83\8a\83p\83\8a\82É\82È\82Á\82½";
break;
}
+/*JP
pline("%s gets slightly %s!", Monnam(u.ustuck), adj);
+*/
+ pline("%s\82Í\8f\82µ\82¾\82¯%s\81I", Monnam(u.ustuck), adj);
}
} else if (cansee(i + x - 1, j + y - 1)) {
if (mtmp->m_ap_type)
seemimic(mtmp);
+/*JP
pline("%s is caught in the %s!", Monnam(mtmp), str);
+*/
+ pline("%s\82Í%s\82É\82Â\82Â\82Ü\82ê\82½\81I", Monnam(mtmp), str);
}
idamres += destroy_mitem(mtmp, SCROLL_CLASS, (int) adtyp);
if (resist(mtmp, olet, 0, FALSE)) {
/* inside_engulfer: <i+x-1,j+y-1> == <u.ux,u.uy> */
if (cansee(i + x - 1, j + y - 1) || inside_engulfer)
+/*JP
pline("%s resists the %s!", Monnam(mtmp), str);
+*/
+ pline("%s\82Í%s\82É\92ï\8dR\82µ\82½\81I", Monnam(mtmp), str);
mdam = (dam + 1) / 2;
}
if (mtmp == u.ustuck)
} while (*hallu_buf != lowc(*hallu_buf));
str = hallu_buf;
}
+/*JP
You("are caught in the %s!", str);
+*/
+ You("%s\82É\82Â\82Â\82Ü\82ê\82½\81I", str);
iflags.last_msg = PLNMSG_CAUGHT_IN_EXPLOSION;
}
/* do property damage first, in case we end up leaving bones */
burn_away_slime();
if (Invulnerable) {
damu = 0;
+/*JP
You("are unharmed!");
+*/
+ You("\8f\9d\82Â\82©\82È\82¢\81I");
} else if (adtyp == AD_PHYS || physical_dmg)
damu = Maybe_Half_Phys(damu);
if (adtyp == AD_FIRE)
else if (str != killer.name && str != hallu_buf)
Strcpy(killer.name, str);
killer.format = KILLED_BY_AN;
+#if 1 /*JP*/
+ Strcat(killer.name, "\82Å");
+#endif
} else if (type >= 0 && olet != SCROLL_CLASS) {
+#if 0 /*JP*/
killer.format = NO_KILLER_PREFIX;
Sprintf(killer.name, "caught %sself in %s own %s", uhim(),
uhis(), str);
+#else
+ killer.format = KILLED_BY;
+ Sprintf(killer.name, "\8e©\95ª\8e©\90g\82Ì%s\82É\82Â\82Â\82Ü\82ê\82Ä",
+ str);
+#endif
} else {
+#if 0 /*JP*//* an \82ð\82Â\82¯\82é\82©\82Ç\82¤\82©\82Í\8aÖ\8cW\82È\82¢ */
killer.format = (!strcmpi(str, "tower of flame")
|| !strcmpi(str, "fireball"))
? KILLED_BY_AN
: KILLED_BY;
Strcpy(killer.name, str);
+#else
+ killer.format = KILLED_BY;
+ Strcpy(killer.name, str);
+ Strcat(killer.name, "\82Å");
+#endif
}
if (iflags.last_msg == PLNMSG_CAUGHT_IN_EXPLOSION
|| iflags.last_msg
}
if (shopdamage) {
+#if 0 /*JP*/
pay_for_damage(adtyp == AD_FIRE
? "burn away"
: adtyp == AD_COLD
: adtyp == AD_DISN ? "disintegrate"
: "destroy",
FALSE);
+#else
+ pay_for_damage(adtyp == AD_FIRE
+ ? "\94R\82â\82·"
+ : adtyp == AD_COLD
+ ? "\95²\81X\82É\82·\82é"
+ : adtyp == AD_DISN ? "\95²\8dÓ\82·\82é"
+ : "\94j\89ó\82·\82é",
+ FALSE);
+#endif
}
/* explosions are noisy */
&& ((otmp->otyp == BOULDER) || (otmp->otyp == STATUE))
&& rn2(10)) {
if (otmp->otyp == BOULDER) {
+/*JP
pline("%s apart.", Tobjnam(otmp, "break"));
+*/
+ pline("%s\82Í\88ê\95\94\95ª\82ª\8dÓ\82¯\82½\81D",xname(otmp));
fracture_rock(otmp);
place_object(otmp, sx, sy);
if ((otmp = sobj_at(BOULDER, sx, sy)) != 0) {
if ((trap = t_at(sx, sy)) && trap->ttyp == STATUE_TRAP)
deltrap(trap);
+/*JP
pline("%s.", Tobjnam(otmp, "crumble"));
+*/
+ pline("%s\82Í\82±\82È\82²\82È\82É\82È\82Á\82½\81D",xname(otmp));
(void) break_statue(otmp);
+#ifndef FIX_BUG_C340_2
place_object(otmp, sx, sy); /* put fragments on floor */
+#endif
}
used_up = TRUE;