diff -c -r ../nethack-3.2.2/sys/msdos/Makefile.GCC ./sys/msdos/Makefile.GCC *** ../nethack-3.2.2/sys/msdos/Makefile.GCC Sat Dec 28 21:54:09 1996 --- ./sys/msdos/Makefile.GCC Tue Jul 22 23:18:44 1997 *************** *** 21,29 **** # Game Installation Variables # NOTE: Make sure GAMEDIR exists before make is started. ! GAME = nethack # The GNU Make has a problem if you include a drive spec below (unfortunately). ! GAMEDIR = \games\nethackd # # Directories, gcc likes unix style directory specs --- 21,29 ---- # Game Installation Variables # NOTE: Make sure GAMEDIR exists before make is started. ! GAME = jnethack # The GNU Make has a problem if you include a drive spec below (unfortunately). ! GAMEDIR = \games\jnethack # # Directories, gcc likes unix style directory specs *************** *** 45,50 **** --- 45,51 ---- UTIL = ..\util WIN = ..\win\tty WSHR = ..\win\share + JP = ..\japanese # # Executables. *************** *** 198,203 **** --- 199,205 ---- VOBJ20 = were.o wield.o windows.o wintty.o wizard.o VOBJ21 = worm.o worn.o write.o zap.o light.o VOBJ22 = dlb.o dig.o teleport.o + VOBJ23 = jlib.o jtrns.o jconj.o SOBJ = msdos.o sound.o sys.o tty.o unix.o video.o \ vidtxt.o pckeys.o *************** *** 208,214 **** $(VOBJ06) $(VOBJ07) $(VOBJ08) $(VOBJ09) $(VOBJ10) \ $(VOBJ11) $(VOBJ12) $(VOBJ13) $(VOBJ14) $(VOBJ15) \ $(VOBJ16) $(VOBJ17) $(VOBJ18) $(VOBJ19) $(VOBJ20) \ ! $(VOBJ21) $(VOBJ22) ALLOBJ = $(VOBJ) $(SOBJ) $(TILOBJ) $(VVOBJ) --- 210,216 ---- $(VOBJ06) $(VOBJ07) $(VOBJ08) $(VOBJ09) $(VOBJ10) \ $(VOBJ11) $(VOBJ12) $(VOBJ13) $(VOBJ14) $(VOBJ15) \ $(VOBJ16) $(VOBJ17) $(VOBJ18) $(VOBJ19) $(VOBJ20) \ ! $(VOBJ21) $(VOBJ22) $(VOBJ23) ALLOBJ = $(VOBJ) $(SOBJ) $(TILOBJ) $(VVOBJ) *************** *** 354,359 **** --- 356,362 ---- @echo $(VOBJ20) >> $@ @echo $(VOBJ21) >> $@ @echo $(VOBJ22) >> $@ + @echo $(VOBJ23) >> $@ @echo $(SOBJ) >> $@ @echo $(TILOBJ) >> $@ @echo $(VVOBJ) >> $@ *************** *** 441,446 **** --- 444,452 ---- if exist sp_lev.tag del sp_lev.tag if exist $(PLANAR_TIB) del $(PLANAR_TIB) if exist $(OVERVIEW_TIB) del $(OVERVIEW_TIB) + if exist $(SRC)\jlib.c del $(SRC)\jlib.c + if exist $(SRC)\jtrns.c del $(SRC)\jtrns.c + if exist $(SRC)\jconj.c del $(SRC)\jconj.c # *************** *** 470,475 **** --- 476,483 ---- vis_tab.c: makedefs.exe -makedefs -z + $(INCL)\jdata.h: makedefs.exe + -makedefs -j # # Makedefs Stuff # *************** *** 806,812 **** $(DAT)\caveman.des $(DAT)\elf.des $(DAT)\healer.des \ $(DAT)\knight.des $(DAT)\priest.des $(DAT)\rogue.des \ $(DAT)\samurai.des $(DAT)\tourist.des $(DAT)\valkyrie.des \ ! $(DAT)\wizard.des copy $(SRC)\lev_comp.exe $(DAT)\lev_comp.exe cd $(DAT) lev_comp bigroom.des --- 814,820 ---- $(DAT)\caveman.des $(DAT)\elf.des $(DAT)\healer.des \ $(DAT)\knight.des $(DAT)\priest.des $(DAT)\rogue.des \ $(DAT)\samurai.des $(DAT)\tourist.des $(DAT)\valkyrie.des \ ! $(DAT)\wizard.des $(DAT)\fighter.des copy $(SRC)\lev_comp.exe $(DAT)\lev_comp.exe cd $(DAT) lev_comp bigroom.des *************** *** 831,836 **** --- 839,845 ---- lev_comp tourist.des lev_comp valkyrie.des lev_comp wizard.des + lev_comp fighter.des cd $(SRC) echo sp_levs done > sp_lev.tag *************** *** 850,867 **** @copy $(MSYS)\msdoshlp.txt . @echo data >dlb.lst @echo dungeon >>dlb.lst ! @echo oracles >>dlb.lst @echo options >>dlb.lst @echo quest.dat >>dlb.lst ! @echo rumors >>dlb.lst ! @echo help >>dlb.lst ! @echo hh >>dlb.lst ! @echo cmdhelp >>dlb.lst @echo history >>dlb.lst ! @echo opthelp >>dlb.lst ! @echo wizhelp >>dlb.lst @echo license >>dlb.lst @echo msdoshlp.txt >>dlb.lst $(LS) *.lev >>dlb.lst dlb_main cvIf dlb.lst nhdat @cd $(SRC) --- 859,877 ---- @copy $(MSYS)\msdoshlp.txt . @echo data >dlb.lst @echo dungeon >>dlb.lst ! @echo joracles >>dlb.lst @echo options >>dlb.lst @echo quest.dat >>dlb.lst ! @echo jrumors >>dlb.lst ! @echo jhelp >>dlb.lst ! @echo jhh >>dlb.lst ! @echo jcmdhelp >>dlb.lst @echo history >>dlb.lst ! @echo jopthelp >>dlb.lst ! @echo jwizhelp >>dlb.lst @echo license >>dlb.lst @echo msdoshlp.txt >>dlb.lst + @echo jjj >>dlb.lst $(LS) *.lev >>dlb.lst dlb_main cvIf dlb.lst nhdat @cd $(SRC) *************** *** 949,954 **** --- 959,977 ---- wintty.o : $(CONFIG_H) $(WIN)\wintty.c copy $(WIN)\wintty.c . $(CC) $(CFLAGS) -o$@ wintty.c + + jlib.o: $(JP)\jlib.c + copy $(JP)\jlib.c . + $(CC) $(CFLAGS) -o$@ jlib.c + + jconj.o: $(JP)\jconj.c + copy $(JP)\jconj.c . + $(CC) $(CFLAGS) -o$@ jconj.c + + jtrns.o: $(JP)\jtrns.c $(INCL)\jdata.h + copy $(INCL)\jdata.h . + copy $(JP)\jtrns.c . + $(CC) $(CFLAGS) -o$@ jtrns.c # src dependencies allmain.o: $(HACK_H) diff -c -r ../nethack-3.2.2/sys/msdos/pcvideo.h ./sys/msdos/pcvideo.h *** ../nethack-3.2.2/sys/msdos/pcvideo.h Sat Dec 28 21:54:11 1996 --- ./sys/msdos/pcvideo.h Tue Jul 22 23:18:45 1997 *************** *** 235,240 **** --- 235,242 ---- E void FDECL(txt_startup,(int*,int*)); E void FDECL(txt_xputs, (const char *, int, int)); E void FDECL(txt_xputc, (CHAR_P, int)); + /*JP*/ + E void FDECL(txt_xputc2, (CHAR_P, CHAR_P, int)); /* ### vidvga.c ### */ *************** *** 266,274 **** --- 268,279 ---- E void NDECL(vga_tty_end_screen); E void FDECL(vga_tty_startup,(int*,int*)); E void FDECL(vga_WriteChar, (int, int, int, int)); + E void FDECL(vga_WriteChar2, (int, int, int, int, int)); E void FDECL(vga_WriteStr, (char *, int, int, int, int)); E void FDECL(vga_xputs, (const char *, int, int)); E void FDECL(vga_xputc, (CHAR_P, int)); + /*JP*/ + E void FDECL(vga_xputc2, (CHAR_P, CHAR_P, int)); E void FDECL(vga_xputg, (int, int)); E void FDECL(vga_userpan, (BOOLEAN_P)); E void FDECL(vga_overview, (BOOLEAN_P)); diff -c -r ../nethack-3.2.2/sys/msdos/setup.bat ./sys/msdos/setup.bat *** ../nethack-3.2.2/sys/msdos/setup.bat Fri Feb 23 05:06:30 1996 --- ./sys/msdos/setup.bat Tue Jul 22 23:18:45 1997 *************** *** 45,54 **** --- 45,58 ---- :long2a echo "Copying ..\..\include\patchlevel.h -> ..\..\include\patchlev.h" copy ..\..\include\patchlevel.h ..\..\include\patchlev.h + echo "Copying ..\..\japanese\jpatchlevel.h -> ..\..\japanese\jpatchle.h" + copy ..\..\japanese\jpatchlevel.h ..\..\japanese\jpatchle.h goto long2ok :long2b echo "Copying ..\..\include\patchl~1.h -> ..\..\include\patchlev.h" copy ..\..\include\patchl~1.h ..\..\include\patchlev.h + echo "Copying ..\..\japanese\jpatch~1.h -> ..\..\japanese\jpatchle.h" + copy ..\..\japanese\jpatch~1.h ..\..\japanese\jpatchle.h :long2ok REM Missing guidebook is not fatal to the build process diff -c -r ../nethack-3.2.2/sys/msdos/video.c ./sys/msdos/video.c *** ../nethack-3.2.2/sys/msdos/video.c Sat Dec 28 21:54:12 1996 --- ./sys/msdos/video.c Tue Jul 22 23:18:45 1997 *************** *** 584,589 **** --- 584,612 ---- } } + /*JP*/ + void + xputc2(ch, ch2) /* write 2 bytes character (and attribute) */ + char ch; + char ch2; + { + int i; + char attribute; + + i = flags.grmode ? attrib_gr_normal + : attrib_text_normal; + + attribute = (char)((g_attribute == 0) ? i : g_attribute); + if (!flags.grmode) { + txt_xputc2(ch, ch2, attribute); + # ifdef SCREEN_VGA + } else if (flags.usevga) { + vga_xputc2(ch, ch2, attribute); + # endif /*SCREEN_VGA*/ + } + } + + void xputg(glyphnum,ch) /* write out a glyph picture at current location */ int glyphnum; diff -c -r ../nethack-3.2.2/sys/msdos/vidtxt.c ./sys/msdos/vidtxt.c *** ../nethack-3.2.2/sys/msdos/vidtxt.c Sat Dec 28 21:54:12 1996 --- ./sys/msdos/vidtxt.c Tue Jul 22 23:18:46 1997 *************** *** 306,329 **** */ # ifdef OVL0 void ! txt_xputs(s,col,row) ! const char *s; ! int col,row; { ! char c; ! if (s != (char *)0) { ! while (*s != '\0') { ! txt_gotoxy(col,row); ! c = *s++; ! txt_xputc(c,g_attribute); ! if (col < (CO-1)) col++; ! txt_gotoxy(col,row); ! } ! } ! } void txt_xputc(ch,attr) /* write out character (and attribute) */ char ch; --- 306,384 ---- */ # ifdef OVL0 + /*JP*/ void ! txt_xputc2(ch, ch2, attr) /* write out 2byte code character */ ! char ch; ! char ch2; ! int attr; { ! # ifdef PC9800 ! unsigned char uc1, uc2; ! uc1 = *((unsigned char *)&ch); ! uc2 = *((unsigned char *)&ch2); ! ! union REGS regs; ! ! regs.h.dl = attr98[attr]; ! regs.h.ah = SETATT; ! regs.h.cl = DIRECT_CON_IO; ! ! (void) int86(DOS_EXT_FUNC, ®s, ®s); ! ! regs.h.dl = uc1; ! regs.h.ah = PUTCHAR; ! regs.h.cl = DIRECT_CON_IO; ! ! (void) int86(DOS_EXT_FUNC, ®s, ®s); ! ! regs.h.dl = uc2; ! regs.h.ah = PUTCHAR; ! regs.h.cl = DIRECT_CON_IO; ! ! (void) int86(DOS_EXT_FUNC, ®s, ®s); ! # else ! # ifdef SCREEN_BIOS ! union REGS regs; ! # endif ! int col,row; ! unsigned char uc1, uc2; ! ! uc1 = *((unsigned char *)&ch); ! uc2 = *((unsigned char *)&ch2); + txt_get_cursor(&col,&row); + /* + ++col; + txt_gotoxy(col,row); + */ + + # ifdef SCREEN_DJGPPFAST + ScreenPutChar((int)uc1,attr,col,row); + ScreenPutChar((int)uc2,attr,col,row); + # endif + # ifdef SCREEN_BIOS + regs.h.ah = PUTCHARATT; /* write att & character */ + regs.h.al = uc1; /* character */ + regs.h.bh = 0; /* display page */ + regs.h.bl = (char)attr; /* BL = attribute */ + regs.x.cx = 1; /* one character */ + (void) int86(VIDEO_BIOS, ®s, ®s); + if (col < (CO - 1)) ++col; + txt_gotoxy(col,row); + + regs.h.ah = PUTCHARATT; /* write att & character */ + regs.h.al = uc2; /* character */ + regs.h.bh = 0; /* display page */ + regs.h.bl = (char)attr; /* BL = attribute */ + regs.x.cx = 1; /* one character */ + (void) int86(VIDEO_BIOS, ®s, ®s); + # endif + if (col < (CO - 1 )) ++col; + txt_gotoxy(col,row); + # endif /* PC9800 */ + } void txt_xputc(ch,attr) /* write out character (and attribute) */ char ch; *************** *** 355,368 **** union REGS regs; # endif int col,row; - txt_get_cursor(&col,&row); switch(ch) { case '\n': - #if 0 - col = 0; - ++row; - #endif break; default: # ifdef SCREEN_DJGPPFAST --- 410,418 ---- *************** *** 370,379 **** # endif # ifdef SCREEN_BIOS regs.h.ah = PUTCHARATT; /* write att & character */ ! regs.h.al = ch; /* character */ regs.h.bh = 0; /* display page */ ! regs.h.bl = (char)attr; /* BL = attribute */ ! regs.x.cx = 1; /* one character */ (void) int86(VIDEO_BIOS, ®s, ®s); # endif if (col < (CO -1 )) ++col; --- 420,429 ---- # endif # ifdef SCREEN_BIOS regs.h.ah = PUTCHARATT; /* write att & character */ ! regs.h.al = ch; /* character */ regs.h.bh = 0; /* display page */ ! regs.h.bl = (char)attr; /* BL = attribute */ ! regs.x.cx = 1; /* one character */ (void) int86(VIDEO_BIOS, ®s, ®s); # endif if (col < (CO -1 )) ++col; *************** *** 381,386 **** --- 431,453 ---- } /* end switch */ txt_gotoxy(col,row); # endif /* PC9800 */ + } + + void + txt_xputs(s,col,row) + const char *s; + int col,row; + { + unsigned int buf[2]; + + if(s){ + while(*s){ + txt_gotoxy(col, row); + jbuffer(*s, buf, NULL, xputc, xputc2); + ++col; + ++s; + } + } } # endif /* OVL0 */ diff -c -r ../nethack-3.2.2/sys/msdos/vidvga.c ./sys/msdos/vidvga.c *** ../nethack-3.2.2/sys/msdos/vidvga.c Sat Dec 28 21:54:12 1996 --- ./sys/msdos/vidvga.c Tue Jul 22 23:18:46 1997 *************** *** 347,357 **** const char *s; int col,row; { - if (s != (char *)0) { vga_WriteStr((char *)s,strlen(s),col,row,g_attribute); } } void vga_xputc(ch,attr) /* write out character (and attribute) */ --- 347,371 ---- const char *s; int col,row; { if (s != (char *)0) { vga_WriteStr((char *)s,strlen(s),col,row,g_attribute); } } + void + vga_xputc2(ch, ch2, attr) + char ch; + char ch2; + int attr; + { + int col, row; + + col = curcol; + row = currow; + + vga_WriteChar2((unsigned char)ch,(unsigned char)ch2,col,row,attr); + if (col < (CO -2 )) col+=2; + vga_gotoloc(col,row); + } void vga_xputc(ch,attr) /* write out character (and attribute) */ *************** *** 434,439 **** --- 448,455 ---- { curcol = min(col,CO - 1); /* protection from callers */ currow = min(row,LI - 1); + /*JP*/ + txt_gotoxy(col, row); } # if defined(USE_TILES) && defined(CLIPPING) *************** *** 843,848 **** --- 859,897 ---- return 0; } + void + vga_WriteChar2(chr, chr2, col, row, colour) + int chr, chr2, col, row, colour; + { + int saved_col, saved_row; + + saved_col = curcol; + saved_row = currow; + + vga_gotoloc(col, row); + txt_xputc2(chr, chr2, 14); + + curcol = saved_col; + currow = saved_row; + } + + void + vga_WriteChar(chr, col, row, colour) + int chr, col, row, colour; + { + int saved_col, saved_row; + + saved_col = curcol; + saved_row = currow; + + vga_gotoloc(col, row); + txt_xputc(chr, 14); + + curcol = saved_col; + currow = saved_row; + } + + #if 0 /*JP*/ /* * Write character 'ch', at (x,y) and * do it using the colour 'colour'. *************** *** 887,892 **** --- 936,942 ---- outportb(0x3ce,8); outportb(0x3cf,255); } + #endif /* * This is the routine that displays a high-res "cell" pointed to by 'gp' *************** *** 965,970 **** --- 1015,1035 ---- char *s; int len,col,row,colour; { + /*JP*/ + int i = 0; + + g_attribute = 14; + + if(s) + while(*s && iyysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar) ! # define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;} ! # define yymore() (yymorfg=1) ! # define ECHO fprintf(yyout, "%s",yytext) ! # define REJECT { nstr = yyreject(); goto yyfussy;} ! int yyleng; extern char yytext[]; ! int yymorfg; ! extern char *yysptr, yysbuf[]; ! int yytchar; ! FILE *yyin = {stdin}, *yyout = {stdout}; ! extern int yylineno; ! struct yysvf { ! struct yywork *yystoff; ! struct yysvf *yyother; ! int *yystops;}; ! struct yysvf *yyestate; ! extern struct yysvf yysvec[], *yybgin; /* SCCS Id: @(#)lev_lex.c 3.2 96/05/16 */ /* Copyright (c) 1989 by Jean-Christophe Collet */ /* NetHack may be freely redistributed. See license for details. */ --- 1,730 ---- ! /* A lexical scanner generated by flex */ ! ! /* Scanner skeleton version: ! * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.85 95/04/24 10:48:47 vern Exp $ ! */ ! ! #define FLEX_SCANNER ! #define YY_FLEX_MAJOR_VERSION 2 ! #define YY_FLEX_MINOR_VERSION 5 ! ! #include ! ! ! /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ ! #ifdef c_plusplus ! #ifndef __cplusplus ! #define __cplusplus ! #endif ! #endif ! ! ! #ifdef __cplusplus ! ! #include ! #include ! ! /* Use prototypes in function declarations. */ ! #define YY_USE_PROTOS ! ! /* The "const" storage-class-modifier is valid. */ ! #define YY_USE_CONST ! ! #else /* ! __cplusplus */ ! ! #if __STDC__ ! ! #define YY_USE_PROTOS ! #define YY_USE_CONST ! ! #endif /* __STDC__ */ ! #endif /* ! __cplusplus */ ! ! #ifdef __TURBOC__ ! #pragma warn -rch ! #pragma warn -use ! #include ! #include ! #define YY_USE_CONST ! #define YY_USE_PROTOS ! #endif ! ! #ifdef YY_USE_CONST ! #define yyconst const ! #else ! #define yyconst ! #endif ! ! ! #ifdef YY_USE_PROTOS ! #define YY_PROTO(proto) proto ! #else ! #define YY_PROTO(proto) () ! #endif ! ! /* Returned upon end-of-file. */ ! #define YY_NULL 0 ! ! /* Promotes a possibly negative, possibly signed char to an unsigned ! * integer for use as an array index. If the signed char is negative, ! * we want to instead treat it as an 8-bit unsigned char, hence the ! * double cast. ! */ ! #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) ! ! /* Enter a start condition. This macro really ought to take a parameter, ! * but we do it the disgusting crufty way forced on us by the ()-less ! * definition of BEGIN. ! */ ! #define BEGIN yy_start = 1 + 2 * ! ! /* Translate the current start state into a value that can be later handed ! * to BEGIN to return to the state. The YYSTATE alias is for lex ! * compatibility. ! */ ! #define YY_START ((yy_start - 1) / 2) ! #define YYSTATE YY_START ! ! /* Action number for EOF rule of a given start state. */ ! #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) ! ! /* Special action meaning "start processing a new file". */ ! #define YY_NEW_FILE yyrestart( yyin ) ! ! #define YY_END_OF_BUFFER_CHAR 0 ! ! /* Size of default input buffer. */ ! #define YY_BUF_SIZE 16384 ! ! typedef struct yy_buffer_state *YY_BUFFER_STATE; ! ! extern int yyleng; ! extern FILE *yyin, *yyout; ! ! #define EOB_ACT_CONTINUE_SCAN 0 ! #define EOB_ACT_END_OF_FILE 1 ! #define EOB_ACT_LAST_MATCH 2 ! ! /* The funky do-while in the following #define is used to turn the definition ! * int a single C statement (which needs a semi-colon terminator). This ! * avoids problems with code like: ! * ! * if ( condition_holds ) ! * yyless( 5 ); ! * else ! * do_something_else(); ! * ! * Prior to using the do-while the compiler would get upset at the ! * "else" because it interpreted the "if" statement as being all ! * done when it reached the ';' after the yyless() call. ! */ ! ! /* Return all but the first 'n' matched characters back to the input stream. */ ! ! #define yyless(n) \ ! do \ ! { \ ! /* Undo effects of setting up yytext. */ \ ! *yy_cp = yy_hold_char; \ ! yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ ! YY_DO_BEFORE_ACTION; /* set up yytext again */ \ ! } \ ! while ( 0 ) ! ! #define unput(c) yyunput( c, yytext_ptr ) ! ! /* The following is because we cannot portably get our hands on size_t ! * (without autoconf's help, which isn't available because we want ! * flex-generated scanners to compile on their own). ! */ ! typedef unsigned int yy_size_t; ! ! ! struct yy_buffer_state ! { ! FILE *yy_input_file; ! ! char *yy_ch_buf; /* input buffer */ ! char *yy_buf_pos; /* current position in input buffer */ ! ! /* Size of input buffer in bytes, not including room for EOB ! * characters. ! */ ! yy_size_t yy_buf_size; ! ! /* Number of characters read into yy_ch_buf, not including EOB ! * characters. ! */ ! int yy_n_chars; ! ! /* Whether we "own" the buffer - i.e., we know we created it, ! * and can realloc() it to grow it, and should free() it to ! * delete it. ! */ ! int yy_is_our_buffer; ! ! /* Whether this is an "interactive" input source; if so, and ! * if we're using stdio for input, then we want to use getc() ! * instead of fread(), to make sure we stop fetching input after ! * each newline. ! */ ! int yy_is_interactive; ! ! /* Whether we're considered to be at the beginning of a line. ! * If so, '^' rules will be active on the next match, otherwise ! * not. ! */ ! int yy_at_bol; ! ! /* Whether to try to fill the input buffer when we reach the ! * end of it. ! */ ! int yy_fill_buffer; ! ! int yy_buffer_status; ! #define YY_BUFFER_NEW 0 ! #define YY_BUFFER_NORMAL 1 ! /* When an EOF's been seen but there's still some text to process ! * then we mark the buffer as YY_EOF_PENDING, to indicate that we ! * shouldn't try reading from the input source any more. We might ! * still have a bunch of tokens to match, though, because of ! * possible backing-up. ! * ! * When we actually see the EOF, we change the status to "new" ! * (via yyrestart()), so that the user can continue scanning by ! * just pointing yyin at a new input file. ! */ ! #define YY_BUFFER_EOF_PENDING 2 ! }; ! ! static YY_BUFFER_STATE yy_current_buffer = 0; ! ! /* We provide macros for accessing buffer states in case in the ! * future we want to put the buffer states in a more general ! * "scanner state". ! */ ! #define YY_CURRENT_BUFFER yy_current_buffer ! ! ! /* yy_hold_char holds the character lost when yytext is formed. */ ! static char yy_hold_char; ! ! static int yy_n_chars; /* number of characters read into yy_ch_buf */ ! ! ! int yyleng; ! ! /* Points to current character in buffer. */ ! static char *yy_c_buf_p = (char *) 0; ! static int yy_init = 1; /* whether we need to initialize */ ! static int yy_start = 0; /* start state number */ ! ! /* Flag which is used to allow yywrap()'s to do buffer switches ! * instead of setting up a fresh yyin. A bit of a hack ... ! */ ! static int yy_did_buffer_switch_on_eof; ! ! void yyrestart YY_PROTO(( FILE *input_file )); ! ! void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); ! void yy_load_buffer_state YY_PROTO(( void )); ! YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); ! void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); ! void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); ! void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); ! #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) ! ! YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); ! YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *str )); ! YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); ! ! static void *yy_flex_alloc YY_PROTO(( yy_size_t )); ! static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); ! static void yy_flex_free YY_PROTO(( void * )); ! ! #define yy_new_buffer yy_create_buffer ! ! #define yy_set_interactive(is_interactive) \ ! { \ ! if ( ! yy_current_buffer ) \ ! yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ ! yy_current_buffer->yy_is_interactive = is_interactive; \ ! } ! ! #define yy_set_bol(at_bol) \ ! { \ ! if ( ! yy_current_buffer ) \ ! yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ ! yy_current_buffer->yy_at_bol = at_bol; \ ! } ! ! #define YY_AT_BOL() (yy_current_buffer->yy_at_bol) ! ! typedef unsigned char YY_CHAR; ! FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; ! typedef int yy_state_type; ! extern char *yytext; ! #define yytext_ptr yytext ! ! static yy_state_type yy_get_previous_state YY_PROTO(( void )); ! static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); ! static int yy_get_next_buffer YY_PROTO(( void )); ! static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); ! ! /* Done after the current pattern has been matched and before the ! * corresponding action - sets up yytext. ! */ ! #define YY_DO_BEFORE_ACTION \ ! yytext_ptr = yy_bp; \ ! yyleng = (int) (yy_cp - yy_bp); \ ! yy_hold_char = *yy_cp; \ ! *yy_cp = '\0'; \ ! yy_c_buf_p = yy_cp; ! ! #define YY_NUM_RULES 108 ! #define YY_END_OF_BUFFER 109 ! static yyconst short int yy_accept[594] = ! { 0, ! 0, 0, 0, 0, 109, 107, 105, 104, 107, 107, ! 107, 102, 4, 107, 107, 107, 107, 107, 107, 107, ! 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, ! 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, ! 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, ! 2, 105, 107, 107, 107, 107, 107, 107, 107, 107, ! 107, 107, 107, 107, 105, 0, 103, 0, 102, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 85, 0, 0, 3, 0, 2, 105, 0, ! 0, 0, 0, 0, 0, 0, 2, 0, 106, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 72, 0, 0, 67, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, ! 0, 0, 0, 40, 0, 0, 0, 6, 0, 0, ! 42, 0, 0, 0, 33, 0, 0, 0, 36, 32, ! 0, 0, 0, 16, 0, 0, 101, 0, 0, 0, ! 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, ! ! 86, 89, 51, 0, 0, 0, 0, 0, 0, 60, ! 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, ! 0, 55, 0, 0, 0, 45, 0, 0, 0, 0, ! 0, 0, 0, 0, 88, 0, 0, 0, 53, 12, ! 0, 0, 25, 0, 0, 0, 0, 0, 0, 10, ! 0, 0, 0, 0, 8, 0, 0, 0, 7, 0, ! 0, 0, 0, 0, 0, 27, 0, 0, 0, 59, ! 84, 0, 78, 0, 0, 0, 0, 74, 0, 0, ! 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, ! ! 0, 58, 0, 64, 0, 0, 0, 52, 0, 0, ! 68, 0, 0, 30, 43, 0, 0, 0, 0, 0, ! 0, 0, 26, 0, 0, 0, 0, 0, 13, 28, ! 0, 21, 0, 0, 0, 77, 0, 66, 49, 62, ! 46, 0, 95, 0, 69, 0, 0, 0, 0, 0, ! 47, 0, 0, 0, 0, 0, 0, 48, 99, 0, ! 56, 0, 54, 0, 0, 83, 0, 0, 1, 0, ! 0, 0, 0, 0, 0, 0, 0, 5, 15, 0, ! 0, 0, 37, 0, 20, 93, 0, 90, 0, 0, ! 0, 76, 0, 0, 0, 0, 57, 73, 71, 0, ! ! 0, 82, 0, 0, 0, 0, 39, 0, 0, 31, ! 11, 9, 19, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 81, 0, 75, ! 0, 94, 70, 14, 0, 41, 0, 0, 0, 0, ! 0, 0, 0, 96, 61, 0, 98, 44, 79, 80, ! 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, ! 63, 97, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 34, 35, 0, 0, 0, 0, 0, 100, 0, ! 0, 0, 24, 0, 0, 0, 22, 0, 0, 23, ! 29, 38, 0 ! ! } ; ! ! static yyconst int yy_ec[256] = ! { 0, ! 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 4, 1, 5, 6, 1, 7, 1, 8, 1, ! 1, 1, 9, 1, 10, 11, 1, 12, 12, 12, ! 12, 12, 12, 12, 12, 12, 12, 13, 1, 1, ! 1, 1, 1, 1, 14, 15, 16, 17, 18, 19, ! 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, ! 1, 30, 31, 32, 33, 34, 35, 1, 36, 37, ! 38, 11, 39, 1, 40, 1, 41, 42, 43, 44, ! ! 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, ! 55, 56, 1, 57, 58, 59, 60, 61, 62, 1, ! 1, 1, 11, 11, 11, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1 ! } ; ! ! static yyconst int yy_meta[63] = ! { 0, ! 1, 2, 3, 2, 1, 2, 1, 1, 2, 2, ! 2, 1, 1, 2, 2, 2, 1, 1, 1, 1, ! 2, 2, 1, 2, 2, 1, 1, 1, 2, 1, ! 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1 ! } ; ! ! static yyconst short int yy_base[598] = ! { 0, ! 0, 57, 81, 60, 702, 703, 63, 703, 696, 0, ! 688, 687, 703, 673, 667, 43, 40, 669, 44, 60, ! 668, 59, 61, 66, 679, 665, 86, 76, 63, 678, ! 70, 49, 63, 74, 70, 83, 72, 76, 87, 98, ! 88, 85, 95, 103, 107, 94, 100, 646, 687, 132, ! 703, 155, 161, 163, 165, 167, 170, 662, 174, 178, ! 150, 161, 170, 199, 183, 683, 703, 679, 674, 653, ! 670, 669, 177, 654, 667, 660, 665, 645, 649, 651, ! 653, 657, 639, 635, 640, 643, 643, 173, 645, 188, ! 640, 646, 637, 637, 649, 647, 636, 646, 634, 207, ! ! 167, 86, 606, 616, 611, 596, 599, 596, 598, 610, ! 595, 595, 591, 585, 588, 587, 597, 591, 590, 160, ! 583, 578, 176, 580, 595, 180, 580, 582, 575, 188, ! 584, 588, 591, 590, 576, 582, 574, 170, 567, 570, ! 565, 197, 703, 566, 620, 703, 202, 703, 248, 251, ! 253, 230, 240, 244, 245, 250, 703, 0, 703, 608, ! 594, 593, 587, 588, 587, 581, 585, 594, 586, 586, ! 594, 578, 592, 590, 589, 575, 574, 586, 589, 562, ! 583, 575, 567, 581, 575, 570, 571, 572, 563, 574, ! 562, 565, 232, 542, 547, 542, 535, 527, 525, 532, ! ! 528, 522, 525, 521, 519, 519, 522, 516, 515, 516, ! 514, 519, 524, 525, 509, 703, 508, 509, 703, 514, ! 519, 508, 520, 510, 502, 500, 506, 502, 503, 510, ! 495, 508, 507, 497, 507, 506, 504, 499, 503, 488, ! 495, 484, 703, 497, 481, 491, 490, 479, 534, 251, ! 510, 252, 505, 518, 517, 518, 509, 703, 515, 515, ! 497, 495, 508, 703, 485, 506, 498, 487, 507, 488, ! 703, 490, 250, 502, 703, 503, 488, 487, 703, 703, ! 484, 485, 483, 703, 489, 234, 703, 456, 452, 463, ! 462, 448, 450, 459, 703, 458, 444, 456, 459, 454, ! ! 703, 703, 703, 457, 452, 451, 485, 448, 444, 703, ! 447, 446, 449, 435, 438, 703, 428, 429, 436, 429, ! 442, 703, 434, 429, 437, 703, 434, 433, 422, 417, ! 416, 415, 419, 424, 703, 414, 418, 410, 703, 703, ! 454, 262, 703, 446, 448, 443, 447, 433, 428, 703, ! 447, 428, 433, 428, 703, 443, 436, 437, 703, 432, ! 439, 420, 426, 424, 422, 703, 420, 419, 427, 703, ! 703, 389, 703, 399, 390, 388, 384, 703, 396, 390, ! 394, 376, 703, 392, 229, 383, 382, 386, 388, 372, ! 372, 384, 383, 386, 379, 368, 368, 703, 378, 363, ! ! 375, 703, 367, 703, 359, 360, 372, 703, 358, 363, ! 703, 385, 269, 703, 703, 386, 384, 389, 388, 387, ! 378, 393, 703, 381, 387, 374, 383, 371, 703, 703, ! 361, 703, 374, 369, 362, 703, 353, 703, 703, 703, ! 703, 342, 703, 350, 703, 349, 344, 337, 346, 341, ! 703, 329, 329, 344, 329, 333, 330, 703, 703, 327, ! 703, 322, 703, 328, 331, 703, 334, 333, 703, 359, ! 346, 358, 347, 346, 336, 342, 346, 703, 703, 349, ! 337, 266, 703, 335, 703, 703, 321, 703, 319, 317, ! 308, 703, 307, 304, 315, 300, 703, 703, 703, 303, ! ! 305, 703, 309, 311, 310, 323, 703, 332, 331, 703, ! 703, 703, 703, 336, 314, 320, 319, 331, 320, 304, ! 299, 283, 293, 283, 285, 293, 280, 703, 279, 703, ! 287, 703, 703, 703, 316, 703, 318, 318, 301, 303, ! 306, 314, 297, 703, 703, 267, 703, 703, 703, 703, ! 266, 265, 703, 298, 297, 291, 289, 301, 302, 299, ! 703, 703, 271, 297, 289, 291, 280, 295, 292, 289, ! 264, 703, 703, 290, 288, 261, 260, 268, 703, 261, ! 244, 215, 703, 178, 165, 155, 703, 134, 45, 703, ! 703, 703, 703, 295, 298, 300, 302 ! ! } ; ! ! static yyconst short int yy_def[598] = ! { 0, ! 593, 1, 1, 3, 593, 593, 593, 593, 594, 595, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 596, 593, ! 593, 597, 597, 597, 597, 597, 597, 593, 597, 597, ! 57, 57, 60, 596, 593, 594, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 596, 593, 593, 593, 597, 597, ! 597, 60, 593, 60, 60, 60, 593, 64, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 60, ! 593, 60, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 60, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 60, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 0, 593, 593, 593, 593 ! ! } ; ! ! static yyconst short int yy_nxt[766] = ! { 0, ! 6, 7, 8, 7, 9, 6, 6, 10, 11, 11, ! 6, 12, 13, 14, 15, 16, 17, 18, 19, 20, ! 6, 21, 6, 6, 22, 23, 24, 25, 26, 27, ! 28, 29, 6, 6, 30, 6, 6, 31, 6, 6, ! 32, 33, 34, 35, 36, 37, 6, 38, 6, 6, ! 6, 39, 40, 41, 42, 43, 44, 45, 46, 47, ! 6, 48, 49, 72, 65, 64, 65, 74, 77, 75, ! 73, 78, 82, 100, 84, 592, 83, 79, 85, 87, ! 97, 101, 50, 51, 52, 50, 53, 80, 86, 54, ! 54, 53, 98, 88, 55, 56, 57, 94, 58, 91, ! ! 102, 53, 59, 92, 53, 60, 103, 95, 96, 61, ! 104, 62, 118, 93, 105, 63, 120, 106, 109, 107, ! 119, 110, 108, 116, 114, 111, 131, 122, 112, 115, ! 121, 123, 129, 113, 194, 124, 117, 126, 127, 133, ! 132, 125, 130, 135, 195, 147, 134, 137, 140, 85, ! 141, 136, 128, 142, 138, 143, 65, 148, 149, 86, ! 591, 139, 593, 148, 593, 148, 593, 148, 593, 148, ! 150, 593, 148, 193, 69, 593, 148, 90, 101, 593, ! 148, 150, 155, 156, 65, 590, 65, 593, 593, 151, ! 152, 154, 95, 96, 589, 83, 71, 73, 179, 180, ! ! 81, 157, 158, 163, 158, 588, 164, 158, 158, 158, ! 100, 213, 158, 158, 158, 182, 214, 183, 101, 158, ! 158, 217, 158, 158, 240, 221, 241, 158, 227, 158, ! 249, 228, 222, 158, 223, 286, 218, 286, 175, 245, ! 229, 230, 246, 250, 231, 587, 232, 593, 247, 65, ! 148, 149, 593, 148, 593, 148, 251, 150, 150, 167, ! 173, 593, 593, 150, 150, 150, 360, 593, 593, 593, ! 287, 187, 287, 586, 252, 150, 342, 255, 361, 593, ! 446, 516, 150, 413, 160, 447, 593, 435, 585, 584, ! 583, 517, 582, 518, 519, 66, 66, 66, 68, 68, ! ! 145, 145, 145, 150, 150, 581, 580, 579, 578, 577, ! 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, ! 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, ! 556, 555, 554, 553, 552, 551, 550, 549, 548, 547, ! 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, ! 536, 535, 534, 533, 532, 531, 530, 529, 528, 527, ! 526, 525, 524, 523, 522, 521, 520, 515, 514, 513, ! 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, ! 502, 501, 500, 499, 498, 497, 496, 495, 494, 493, ! 492, 491, 490, 489, 488, 487, 486, 485, 484, 483, ! ! 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, ! 472, 471, 470, 469, 468, 467, 466, 465, 464, 463, ! 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, ! 452, 451, 450, 449, 448, 445, 444, 443, 442, 441, ! 440, 439, 438, 437, 436, 435, 434, 433, 432, 431, ! 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, ! 420, 419, 418, 417, 416, 415, 414, 412, 411, 410, ! 409, 408, 407, 406, 405, 404, 403, 402, 401, 400, ! 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, ! 389, 388, 387, 386, 385, 384, 383, 382, 381, 380, ! ! 379, 378, 377, 376, 375, 374, 373, 372, 371, 370, ! 369, 368, 367, 366, 365, 364, 363, 362, 359, 358, ! 357, 356, 355, 354, 353, 352, 351, 350, 349, 348, ! 347, 346, 345, 344, 343, 341, 340, 339, 338, 337, ! 336, 335, 334, 333, 332, 331, 330, 329, 328, 327, ! 326, 325, 324, 323, 322, 321, 320, 319, 318, 317, ! 316, 315, 314, 313, 312, 311, 310, 309, 308, 307, ! 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, ! 296, 295, 294, 293, 292, 291, 290, 289, 288, 285, ! 284, 283, 282, 281, 280, 279, 278, 277, 276, 275, ! ! 274, 273, 272, 271, 270, 269, 268, 267, 266, 265, ! 264, 263, 262, 261, 260, 259, 258, 257, 256, 255, ! 254, 253, 146, 248, 244, 243, 242, 239, 238, 237, ! 236, 235, 234, 233, 226, 225, 224, 220, 219, 216, ! 215, 212, 211, 210, 209, 208, 207, 206, 205, 204, ! 203, 202, 201, 200, 199, 198, 197, 196, 192, 191, ! 190, 189, 188, 187, 186, 185, 184, 181, 178, 177, ! 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, ! 166, 165, 162, 161, 160, 69, 159, 67, 153, 146, ! 144, 99, 90, 89, 81, 76, 71, 70, 69, 69, ! ! 67, 593, 5, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593 ! } ; ! ! static yyconst short int yy_chk[766] = ! { 0, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 2, 16, 7, 4, 7, 17, 19, 17, ! 16, 19, 22, 31, 23, 589, 22, 20, 23, 24, ! 29, 31, 2, 3, 3, 4, 3, 20, 23, 3, ! 3, 3, 29, 24, 3, 3, 3, 28, 3, 27, ! ! 32, 3, 3, 27, 3, 3, 32, 28, 28, 3, ! 32, 3, 37, 27, 33, 3, 38, 33, 34, 33, ! 37, 34, 33, 36, 35, 34, 42, 39, 34, 35, ! 38, 39, 41, 34, 102, 39, 36, 40, 40, 43, ! 42, 39, 41, 44, 102, 50, 43, 45, 46, 50, ! 46, 44, 40, 47, 45, 47, 52, 52, 52, 50, ! 588, 45, 53, 53, 54, 54, 55, 55, 56, 56, ! 61, 57, 57, 101, 54, 59, 59, 61, 101, 60, ! 60, 62, 62, 63, 65, 586, 65, 63, 62, 55, ! 57, 60, 62, 62, 585, 60, 56, 57, 88, 88, ! ! 59, 64, 64, 73, 64, 584, 73, 64, 64, 64, ! 100, 120, 64, 64, 64, 90, 120, 90, 100, 64, ! 64, 123, 64, 64, 138, 126, 138, 64, 130, 64, ! 147, 130, 126, 64, 126, 193, 123, 286, 147, 142, ! 130, 130, 142, 152, 130, 582, 130, 152, 142, 149, ! 149, 149, 150, 150, 151, 151, 153, 154, 155, 153, ! 154, 154, 155, 156, 250, 252, 273, 156, 250, 252, ! 193, 155, 286, 581, 156, 342, 252, 250, 273, 342, ! 385, 482, 413, 342, 151, 385, 413, 413, 580, 578, ! 577, 482, 576, 482, 482, 594, 594, 594, 595, 595, ! ! 596, 596, 596, 597, 597, 575, 574, 571, 570, 569, ! 568, 567, 566, 565, 564, 563, 560, 559, 558, 557, ! 556, 555, 554, 552, 551, 546, 543, 542, 541, 540, ! 539, 538, 537, 535, 531, 529, 527, 526, 525, 524, ! 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, ! 509, 508, 506, 505, 504, 503, 501, 500, 496, 495, ! 494, 493, 491, 490, 489, 487, 484, 481, 480, 477, ! 476, 475, 474, 473, 472, 471, 470, 468, 467, 465, ! 464, 462, 460, 457, 456, 455, 454, 453, 452, 450, ! 449, 448, 447, 446, 444, 442, 437, 435, 434, 433, ! ! 431, 428, 427, 426, 425, 424, 422, 421, 420, 419, ! 418, 417, 416, 412, 410, 409, 407, 406, 405, 403, ! 401, 400, 399, 397, 396, 395, 394, 393, 392, 391, ! 390, 389, 388, 387, 386, 384, 382, 381, 380, 379, ! 377, 376, 375, 374, 372, 369, 368, 367, 365, 364, ! 363, 362, 361, 360, 358, 357, 356, 354, 353, 352, ! 351, 349, 348, 347, 346, 345, 344, 341, 338, 337, ! 336, 334, 333, 332, 331, 330, 329, 328, 327, 325, ! 324, 323, 321, 320, 319, 318, 317, 315, 314, 313, ! 312, 311, 309, 308, 307, 306, 305, 304, 300, 299, ! ! 298, 297, 296, 294, 293, 292, 291, 290, 289, 288, ! 285, 283, 282, 281, 278, 277, 276, 274, 272, 270, ! 269, 268, 267, 266, 265, 263, 262, 261, 260, 259, ! 257, 256, 255, 254, 253, 251, 249, 248, 247, 246, ! 245, 244, 242, 241, 240, 239, 238, 237, 236, 235, ! 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, ! 224, 223, 222, 221, 220, 218, 217, 215, 214, 213, ! 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, ! 202, 201, 200, 199, 198, 197, 196, 195, 194, 192, ! 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, ! ! 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, ! 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, ! 161, 160, 145, 144, 141, 140, 139, 137, 136, 135, ! 134, 133, 132, 131, 129, 128, 127, 125, 124, 122, ! 121, 119, 118, 117, 116, 115, 114, 113, 112, 111, ! 110, 109, 108, 107, 106, 105, 104, 103, 99, 98, ! 97, 96, 95, 94, 93, 92, 91, 89, 87, 86, ! 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, ! 75, 74, 72, 71, 70, 69, 68, 66, 58, 49, ! 48, 30, 26, 25, 21, 18, 15, 14, 12, 11, ! ! 9, 5, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, ! 593, 593, 593, 593, 593 ! } ; ! ! static yy_state_type yy_last_accepting_state; ! static char *yy_last_accepting_cpos; ! ! /* The intent behind this definition is that it'll catch ! * any uses of REJECT which flex missed. ! */ ! #define REJECT reject_used_but_not_detected ! #define yymore() yymore_used_but_not_detected ! #define YY_MORE_ADJ 0 ! char *yytext; ! #line 1 "..\\..\\util\\lev_comp.l" ! #define INITIAL 0 ! #line 2 "..\\..\\util\\lev_comp.l" /* SCCS Id: @(#)lev_lex.c 3.2 96/05/16 */ /* Copyright (c) 1989 by Jean-Christophe Collet */ /* NetHack may be freely redistributed. See license for details. */ *************** *** 122,136 **** } #endif /* applec && !FLEX_SCANNER && !FLEXHACK_SCANNER */ ! # define MAPC 2 ! # define YYNEWLINE 10 ! yylex(){ ! int nstr; extern int yyprevious; ! while((nstr = yylook()) >= 0) ! yyfussy: switch(nstr){ ! case 0: ! if(yywrap()) return(0); break; case 1: { BEGIN(INITIAL); yylval.map = (char *) alloc(map_cnt + 1); --- 822,1068 ---- } #endif /* applec && !FLEX_SCANNER && !FLEXHACK_SCANNER */ ! #define MAPC 1 ! ! #line 835 "lexyy.c" ! ! /* Macros after this point can all be overridden by user definitions in ! * section 1. ! */ ! ! #ifndef YY_SKIP_YYWRAP ! #ifdef __cplusplus ! extern "C" int yywrap YY_PROTO(( void )); ! #else ! extern int yywrap YY_PROTO(( void )); ! #endif ! #endif ! ! #ifndef YY_NO_UNPUT ! static void yyunput YY_PROTO(( int c, char *buf_ptr )); ! #endif ! ! #ifndef yytext_ptr ! static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); ! #endif ! ! #ifndef YY_NO_INPUT ! #ifdef __cplusplus ! static int yyinput YY_PROTO(( void )); ! #else ! static int input YY_PROTO(( void )); ! #endif ! #endif ! ! #if YY_STACK_USED ! static int yy_start_stack_ptr = 0; ! static int yy_start_stack_depth = 0; ! static int *yy_start_stack = 0; ! #ifndef YY_NO_PUSH_STATE ! static void yy_push_state YY_PROTO(( int new_state )); ! #endif ! #ifndef YY_NO_POP_STATE ! static void yy_pop_state YY_PROTO(( void )); ! #endif ! #ifndef YY_NO_TOP_STATE ! static int yy_top_state YY_PROTO(( void )); ! #endif ! ! #else ! #define YY_NO_PUSH_STATE 1 ! #define YY_NO_POP_STATE 1 ! #define YY_NO_TOP_STATE 1 ! #endif ! ! #ifdef YY_MALLOC_DECL ! YY_MALLOC_DECL ! #else ! #if __STDC__ ! #ifndef __cplusplus ! #include ! #endif ! #else ! /* Just try to get by without declaring the routines. This will fail ! * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) ! * or sizeof(void*) != sizeof(int). ! */ ! #endif ! #endif ! ! /* Amount of stuff to slurp up with each read. */ ! #ifndef YY_READ_BUF_SIZE ! #define YY_READ_BUF_SIZE 8192 ! #endif ! ! /* Copy whatever the last rule matched to the standard output. */ ! ! #ifndef ECHO ! /* This used to be an fputs(), but since the string might contain NUL's, ! * we now use fwrite(). ! */ ! #define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) ! #endif ! ! /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, ! * is returned in "result". ! */ ! #ifndef YY_INPUT ! #define YY_INPUT(buf,result,max_size) \ ! if ( yy_current_buffer->yy_is_interactive ) \ ! { \ ! int c = '*', n; \ ! for ( n = 0; n < max_size && \ ! (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ ! buf[n] = (char) c; \ ! if ( c == '\n' ) \ ! buf[n++] = (char) c; \ ! if ( c == EOF && ferror( yyin ) ) \ ! YY_FATAL_ERROR( "input in flex scanner failed" ); \ ! result = n; \ ! } \ ! else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ ! && ferror( yyin ) ) \ ! YY_FATAL_ERROR( "input in flex scanner failed" ); ! #endif ! ! /* No semi-colon after return; correct usage is to write "yyterminate();" - ! * we don't want an extra ';' after the "return" because that will cause ! * some compilers to complain about unreachable statements. ! */ ! #ifndef yyterminate ! #define yyterminate() return YY_NULL ! #endif ! ! /* Number of entries by which start-condition stack grows. */ ! #ifndef YY_START_STACK_INCR ! #define YY_START_STACK_INCR 25 ! #endif ! ! /* Report a fatal error. */ ! #ifndef YY_FATAL_ERROR ! #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) ! #endif ! ! /* Default declaration of generated scanner - a define so the user can ! * easily add parameters. ! */ ! #ifndef YY_DECL ! #define YY_DECL int yylex YY_PROTO(( void )) ! #endif ! ! /* Code executed at the beginning of each rule, after yytext and yyleng ! * have been set up. ! */ ! #ifndef YY_USER_ACTION ! #define YY_USER_ACTION ! #endif ! ! /* Code executed at the end of each rule. */ ! #ifndef YY_BREAK ! #define YY_BREAK break; ! #endif ! ! #define YY_RULE_SETUP \ ! if ( yyleng > 0 ) \ ! yy_current_buffer->yy_at_bol = \ ! (yytext[yyleng - 1] == '\n'); \ ! YY_USER_ACTION ! ! YY_DECL ! { ! register yy_state_type yy_current_state; ! register char *yy_cp, *yy_bp; ! register int yy_act; ! ! #line 111 "..\\..\\util\\lev_comp.l" ! ! #line 987 "lexyy.c" ! ! if ( yy_init ) ! { ! yy_init = 0; ! ! #ifdef YY_USER_INIT ! YY_USER_INIT; ! #endif ! ! if ( ! yy_start ) ! yy_start = 1; /* first start state */ ! ! if ( ! yyin ) ! yyin = stdin; ! ! if ( ! yyout ) ! yyout = stdout; ! ! if ( ! yy_current_buffer ) ! yy_current_buffer = ! yy_create_buffer( yyin, YY_BUF_SIZE ); ! ! yy_load_buffer_state(); ! } ! ! while ( 1 ) /* loops until end-of-file is reached */ ! { ! yy_cp = yy_c_buf_p; ! ! /* Support of yytext. */ ! *yy_cp = yy_hold_char; ! ! /* yy_bp points to the position in yy_ch_buf of the start of ! * the current run. ! */ ! yy_bp = yy_cp; ! ! yy_current_state = yy_start; ! yy_current_state += YY_AT_BOL(); ! yy_match: ! do ! { ! register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; ! if ( yy_accept[yy_current_state] ) ! { ! yy_last_accepting_state = yy_current_state; ! yy_last_accepting_cpos = yy_cp; ! } ! while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) ! { ! yy_current_state = (int) yy_def[yy_current_state]; ! if ( yy_current_state >= 594 ) ! yy_c = yy_meta[(unsigned int) yy_c]; ! } ! yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ! ++yy_cp; ! } ! while ( yy_base[yy_current_state] != 703 ); ! ! yy_find_action: ! yy_act = yy_accept[yy_current_state]; ! if ( yy_act == 0 ) ! { /* have to back up */ ! yy_cp = yy_last_accepting_cpos; ! yy_current_state = yy_last_accepting_state; ! yy_act = yy_accept[yy_current_state]; ! } ! ! YY_DO_BEFORE_ACTION; ! ! ! do_action: /* This label is used only to access EOF actions. */ ! ! ! switch ( yy_act ) ! { /* beginning of action switch */ ! case 0: /* must back up */ ! /* undo the effects of YY_DO_BEFORE_ACTION */ ! *yy_cp = yy_hold_char; ! yy_cp = yy_last_accepting_cpos; ! yy_current_state = yy_last_accepting_state; ! goto yy_find_action; ! case 1: + YY_RULE_SETUP + #line 112 "..\\..\\util\\lev_comp.l" { BEGIN(INITIAL); yylval.map = (char *) alloc(map_cnt + 1); *************** *** 139,477 **** map_cnt = 0; return MAP_ID; } ! break; case 2: { line_number++; (void) strncpy(map + map_cnt, yytext, yyleng); map_cnt += yyleng; map[map_cnt] = 0; } ! break; case 3: ! { line_number++; } ! break; case 4: ! { colon_line_number = line_number; return ':'; } ! break; case 5: ! return MESSAGE_ID; ! break; case 6: ! return MAZE_ID; ! break; case 7: ! return NOMAP_ID; ! break; case 8: ! return LEVEL_ID; ! break; case 9: return LEV_INIT_ID; ! break; case 10: ! return FLAGS_ID; ! break; case 11: return GEOMETRY_ID; ! break; case 12: ! { BEGIN(MAPC); line_number++; } ! break; case 13: ! return OBJECT_ID; ! break; case 14: return COBJECT_ID; ! break; case 15: ! return MONSTER_ID; ! break; case 16: ! return TRAP_ID; ! break; case 17: ! return DOOR_ID; ! break; case 18: return DRAWBRIDGE_ID; ! break; case 19: return MAZEWALK_ID; ! break; case 20: ! return WALLIFY_ID; ! break; case 21: ! return REGION_ID; ! break; case 22: return RANDOM_OBJECTS_ID; ! break; case 23: return RANDOM_MONSTERS_ID; ! break; case 24: return RANDOM_PLACES_ID; ! break; case 25: ! return ALTAR_ID; ! break; case 26: ! return LADDER_ID; ! break; case 27: ! return STAIR_ID; ! break; case 28: ! return PORTAL_ID; ! break; case 29: return TELEPRT_ID; ! break; case 30: ! return BRANCH_ID; ! break; case 31: return FOUNTAIN_ID; ! break; case 32: ! return SINK_ID; ! break; case 33: ! return POOL_ID; ! break; case 34: return NON_DIGGABLE_ID; ! break; case 35: return NON_PASSWALL_ID; ! break; case 36: ! return ROOM_ID; ! break; case 37: ! return SUBROOM_ID; ! break; case 38: return RAND_CORRIDOR_ID; ! break; case 39: return CORRIDOR_ID; ! break; case 40: ! return GOLD_ID; ! break; case 41: return ENGRAVING_ID; ! break; case 42: ! return NAME_ID; ! break; case 43: ! return CHANCE_ID; ! break; case 44: return LEV; ! break; case 45: ! { yylval.i=D_ISOPEN; return DOOR_STATE; } ! break; case 46: ! { yylval.i=D_CLOSED; return DOOR_STATE; } ! break; case 47: ! { yylval.i=D_LOCKED; return DOOR_STATE; } ! break; case 48: ! { yylval.i=D_NODOOR; return DOOR_STATE; } ! break; case 49: ! { yylval.i=D_BROKEN; return DOOR_STATE; } ! break; case 50: ! { yylval.i=W_NORTH; return DIRECTION; } ! break; case 51: ! { yylval.i=W_EAST; return DIRECTION; } ! break; case 52: ! { yylval.i=W_SOUTH; return DIRECTION; } ! break; case 53: ! { yylval.i=W_WEST; return DIRECTION; } ! break; case 54: ! { yylval.i = -1; return RANDOM_TYPE; } ! break; case 55: ! { yylval.i = -2; return NONE; } ! break; case 56: ! return O_REGISTER; ! break; case 57: ! return M_REGISTER; ! break; case 58: ! return P_REGISTER; ! break; case 59: ! return A_REGISTER; ! break; case 60: ! { yylval.i=1; return LEFT_OR_RIGHT; } ! break; case 61: { yylval.i=2; return LEFT_OR_RIGHT; } ! break; case 62: ! { yylval.i=3; return CENTER; } ! break; case 63: { yylval.i=4; return LEFT_OR_RIGHT; } ! break; case 64: ! { yylval.i=5; return LEFT_OR_RIGHT; } ! break; case 65: ! { yylval.i=1; return TOP_OR_BOT; } ! break; case 66: ! { yylval.i=5; return TOP_OR_BOT; } ! break; case 67: ! { yylval.i=1; return LIGHT_STATE; } ! break; case 68: ! { yylval.i=0; return LIGHT_STATE; } ! break; case 69: ! { yylval.i=0; return FILLING; } ! break; case 70: { yylval.i=1; return FILLING; } ! break; case 71: ! { yylval.i= AM_NONE; return ALIGNMENT; } ! break; case 72: ! { yylval.i= AM_LAWFUL; return ALIGNMENT; } ! break; case 73: ! { yylval.i= AM_NEUTRAL; return ALIGNMENT; } ! break; case 74: ! { yylval.i= AM_CHAOTIC; return ALIGNMENT; } ! break; case 75: { yylval.i=1; return MON_ATTITUDE; } ! break; case 76: ! { yylval.i=0; return MON_ATTITUDE; } ! break; case 77: ! { yylval.i=1; return MON_ALERTNESS; } ! break; case 78: ! { yylval.i=0; return MON_ALERTNESS; } ! break; case 79: { yylval.i= M_AP_FURNITURE; return MON_APPEARANCE; } ! break; case 80: { yylval.i= M_AP_MONSTER; return MON_APPEARANCE; } ! break; case 81: { yylval.i= M_AP_OBJECT; return MON_APPEARANCE; } ! break; case 82: ! { yylval.i=2; return ALTAR_TYPE; } ! break; case 83: ! { yylval.i=1; return ALTAR_TYPE; } ! break; case 84: ! { yylval.i=0; return ALTAR_TYPE; } ! break; case 85: ! { yylval.i=1; return UP_OR_DOWN; } ! break; case 86: ! { yylval.i=0; return UP_OR_DOWN; } ! break; case 87: ! { yylval.i=0; return BOOLEAN; } ! break; case 88: ! { yylval.i=1; return BOOLEAN; } ! break; case 89: ! { yylval.i=DUST; return ENGRAVING_TYPE; } ! break; case 90: ! { yylval.i=ENGRAVE; return ENGRAVING_TYPE; } ! break; case 91: ! { yylval.i=BURN; return ENGRAVING_TYPE; } ! break; case 92: ! { yylval.i=MARK; return ENGRAVING_TYPE; } ! break; case 93: ! { yylval.i=1; return CURSE_TYPE; } ! break; case 94: { yylval.i=2; return CURSE_TYPE; } ! break; case 95: ! { yylval.i=3; return CURSE_TYPE; } ! break; case 96: { return CONTAINED; } ! break; case 97: { yylval.i=NOTELEPORT; return FLAG_TYPE; } ! break; case 98: { yylval.i=HARDFLOOR; return FLAG_TYPE; } ! break; case 99: ! { yylval.i=NOMMAP; return FLAG_TYPE; } ! break; case 100: { yylval.i=SHORTSIGHTED; return FLAG_TYPE; } ! break; case 101: { yylval.i = atoi(yytext + 1); return PERCENT; } ! break; case 102: { yylval.i=atoi(yytext); return INTEGER; } ! break; case 103: { yytext[yyleng-1] = 0; /* Discard the trailing \" */ yylval.map = (char *) alloc(strlen(yytext+1)+1); Strcpy(yylval.map, yytext+1); /* Discard the first \" */ return STRING; } ! break; case 104: ! { line_number++; } ! break; case 105: ! ; ! break; case 106: ! { yylval.i = yytext[1]; return CHAR; } ! break; case 107: ! { return yytext[0]; } ! break; ! case -1: ! break; ! default: ! fprintf(yyout,"bad switch yylook %d",nstr); ! } return(0); } ! /* end of yylex */ #ifdef AMIGA long *alloc(n) unsigned n; --- 1071,2485 ---- map_cnt = 0; return MAP_ID; } ! YY_BREAK case 2: + YY_RULE_SETUP + #line 120 "..\\..\\util\\lev_comp.l" { line_number++; (void) strncpy(map + map_cnt, yytext, yyleng); map_cnt += yyleng; map[map_cnt] = 0; } ! YY_BREAK case 3: ! YY_RULE_SETUP ! #line 126 "..\\..\\util\\lev_comp.l" ! { line_number++; } ! YY_BREAK case 4: ! YY_RULE_SETUP ! #line 127 "..\\..\\util\\lev_comp.l" ! { colon_line_number = line_number; return ':'; } ! YY_BREAK case 5: ! YY_RULE_SETUP ! #line 128 "..\\..\\util\\lev_comp.l" ! return MESSAGE_ID; ! YY_BREAK case 6: ! YY_RULE_SETUP ! #line 129 "..\\..\\util\\lev_comp.l" ! return MAZE_ID; ! YY_BREAK case 7: ! YY_RULE_SETUP ! #line 130 "..\\..\\util\\lev_comp.l" ! return NOMAP_ID; ! YY_BREAK case 8: ! YY_RULE_SETUP ! #line 131 "..\\..\\util\\lev_comp.l" ! return LEVEL_ID; ! YY_BREAK case 9: + YY_RULE_SETUP + #line 132 "..\\..\\util\\lev_comp.l" return LEV_INIT_ID; ! YY_BREAK case 10: ! YY_RULE_SETUP ! #line 133 "..\\..\\util\\lev_comp.l" ! return FLAGS_ID; ! YY_BREAK case 11: + YY_RULE_SETUP + #line 134 "..\\..\\util\\lev_comp.l" return GEOMETRY_ID; ! YY_BREAK case 12: ! YY_RULE_SETUP ! #line 135 "..\\..\\util\\lev_comp.l" ! { BEGIN(MAPC); line_number++; } ! YY_BREAK case 13: ! YY_RULE_SETUP ! #line 136 "..\\..\\util\\lev_comp.l" ! return OBJECT_ID; ! YY_BREAK case 14: + YY_RULE_SETUP + #line 137 "..\\..\\util\\lev_comp.l" return COBJECT_ID; ! YY_BREAK case 15: ! YY_RULE_SETUP ! #line 138 "..\\..\\util\\lev_comp.l" ! return MONSTER_ID; ! YY_BREAK case 16: ! YY_RULE_SETUP ! #line 139 "..\\..\\util\\lev_comp.l" ! return TRAP_ID; ! YY_BREAK case 17: ! YY_RULE_SETUP ! #line 140 "..\\..\\util\\lev_comp.l" ! return DOOR_ID; ! YY_BREAK case 18: + YY_RULE_SETUP + #line 141 "..\\..\\util\\lev_comp.l" return DRAWBRIDGE_ID; ! YY_BREAK case 19: + YY_RULE_SETUP + #line 142 "..\\..\\util\\lev_comp.l" return MAZEWALK_ID; ! YY_BREAK case 20: ! YY_RULE_SETUP ! #line 143 "..\\..\\util\\lev_comp.l" ! return WALLIFY_ID; ! YY_BREAK case 21: ! YY_RULE_SETUP ! #line 144 "..\\..\\util\\lev_comp.l" ! return REGION_ID; ! YY_BREAK case 22: + YY_RULE_SETUP + #line 145 "..\\..\\util\\lev_comp.l" return RANDOM_OBJECTS_ID; ! YY_BREAK case 23: + YY_RULE_SETUP + #line 146 "..\\..\\util\\lev_comp.l" return RANDOM_MONSTERS_ID; ! YY_BREAK case 24: + YY_RULE_SETUP + #line 147 "..\\..\\util\\lev_comp.l" return RANDOM_PLACES_ID; ! YY_BREAK case 25: ! YY_RULE_SETUP ! #line 148 "..\\..\\util\\lev_comp.l" ! return ALTAR_ID; ! YY_BREAK case 26: ! YY_RULE_SETUP ! #line 149 "..\\..\\util\\lev_comp.l" ! return LADDER_ID; ! YY_BREAK case 27: ! YY_RULE_SETUP ! #line 150 "..\\..\\util\\lev_comp.l" ! return STAIR_ID; ! YY_BREAK case 28: ! YY_RULE_SETUP ! #line 151 "..\\..\\util\\lev_comp.l" ! return PORTAL_ID; ! YY_BREAK case 29: + YY_RULE_SETUP + #line 152 "..\\..\\util\\lev_comp.l" return TELEPRT_ID; ! YY_BREAK case 30: ! YY_RULE_SETUP ! #line 153 "..\\..\\util\\lev_comp.l" ! return BRANCH_ID; ! YY_BREAK case 31: + YY_RULE_SETUP + #line 154 "..\\..\\util\\lev_comp.l" return FOUNTAIN_ID; ! YY_BREAK case 32: ! YY_RULE_SETUP ! #line 155 "..\\..\\util\\lev_comp.l" ! return SINK_ID; ! YY_BREAK case 33: ! YY_RULE_SETUP ! #line 156 "..\\..\\util\\lev_comp.l" ! return POOL_ID; ! YY_BREAK case 34: + YY_RULE_SETUP + #line 157 "..\\..\\util\\lev_comp.l" return NON_DIGGABLE_ID; ! YY_BREAK case 35: + YY_RULE_SETUP + #line 158 "..\\..\\util\\lev_comp.l" return NON_PASSWALL_ID; ! YY_BREAK case 36: ! YY_RULE_SETUP ! #line 159 "..\\..\\util\\lev_comp.l" ! return ROOM_ID; ! YY_BREAK case 37: ! YY_RULE_SETUP ! #line 160 "..\\..\\util\\lev_comp.l" ! return SUBROOM_ID; ! YY_BREAK case 38: + YY_RULE_SETUP + #line 161 "..\\..\\util\\lev_comp.l" return RAND_CORRIDOR_ID; ! YY_BREAK case 39: + YY_RULE_SETUP + #line 162 "..\\..\\util\\lev_comp.l" return CORRIDOR_ID; ! YY_BREAK case 40: ! YY_RULE_SETUP ! #line 163 "..\\..\\util\\lev_comp.l" ! return GOLD_ID; ! YY_BREAK case 41: + YY_RULE_SETUP + #line 164 "..\\..\\util\\lev_comp.l" return ENGRAVING_ID; ! YY_BREAK case 42: ! YY_RULE_SETUP ! #line 165 "..\\..\\util\\lev_comp.l" ! return NAME_ID; ! YY_BREAK case 43: ! YY_RULE_SETUP ! #line 166 "..\\..\\util\\lev_comp.l" ! return CHANCE_ID; ! YY_BREAK case 44: + YY_RULE_SETUP + #line 167 "..\\..\\util\\lev_comp.l" return LEV; ! YY_BREAK case 45: ! YY_RULE_SETUP ! #line 168 "..\\..\\util\\lev_comp.l" ! { yylval.i=D_ISOPEN; return DOOR_STATE; } ! YY_BREAK case 46: ! YY_RULE_SETUP ! #line 169 "..\\..\\util\\lev_comp.l" ! { yylval.i=D_CLOSED; return DOOR_STATE; } ! YY_BREAK case 47: ! YY_RULE_SETUP ! #line 170 "..\\..\\util\\lev_comp.l" ! { yylval.i=D_LOCKED; return DOOR_STATE; } ! YY_BREAK case 48: ! YY_RULE_SETUP ! #line 171 "..\\..\\util\\lev_comp.l" ! { yylval.i=D_NODOOR; return DOOR_STATE; } ! YY_BREAK case 49: ! YY_RULE_SETUP ! #line 172 "..\\..\\util\\lev_comp.l" ! { yylval.i=D_BROKEN; return DOOR_STATE; } ! YY_BREAK case 50: ! YY_RULE_SETUP ! #line 173 "..\\..\\util\\lev_comp.l" ! { yylval.i=W_NORTH; return DIRECTION; } ! YY_BREAK case 51: ! YY_RULE_SETUP ! #line 174 "..\\..\\util\\lev_comp.l" ! { yylval.i=W_EAST; return DIRECTION; } ! YY_BREAK case 52: ! YY_RULE_SETUP ! #line 175 "..\\..\\util\\lev_comp.l" ! { yylval.i=W_SOUTH; return DIRECTION; } ! YY_BREAK case 53: ! YY_RULE_SETUP ! #line 176 "..\\..\\util\\lev_comp.l" ! { yylval.i=W_WEST; return DIRECTION; } ! YY_BREAK case 54: ! YY_RULE_SETUP ! #line 177 "..\\..\\util\\lev_comp.l" ! { yylval.i = -1; return RANDOM_TYPE; } ! YY_BREAK case 55: ! YY_RULE_SETUP ! #line 178 "..\\..\\util\\lev_comp.l" ! { yylval.i = -2; return NONE; } ! YY_BREAK case 56: ! YY_RULE_SETUP ! #line 179 "..\\..\\util\\lev_comp.l" ! return O_REGISTER; ! YY_BREAK case 57: ! YY_RULE_SETUP ! #line 180 "..\\..\\util\\lev_comp.l" ! return M_REGISTER; ! YY_BREAK case 58: ! YY_RULE_SETUP ! #line 181 "..\\..\\util\\lev_comp.l" ! return P_REGISTER; ! YY_BREAK case 59: ! YY_RULE_SETUP ! #line 182 "..\\..\\util\\lev_comp.l" ! return A_REGISTER; ! YY_BREAK case 60: ! YY_RULE_SETUP ! #line 183 "..\\..\\util\\lev_comp.l" ! { yylval.i=1; return LEFT_OR_RIGHT; } ! YY_BREAK case 61: + YY_RULE_SETUP + #line 184 "..\\..\\util\\lev_comp.l" { yylval.i=2; return LEFT_OR_RIGHT; } ! YY_BREAK case 62: ! YY_RULE_SETUP ! #line 185 "..\\..\\util\\lev_comp.l" ! { yylval.i=3; return CENTER; } ! YY_BREAK case 63: + YY_RULE_SETUP + #line 186 "..\\..\\util\\lev_comp.l" { yylval.i=4; return LEFT_OR_RIGHT; } ! YY_BREAK case 64: ! YY_RULE_SETUP ! #line 187 "..\\..\\util\\lev_comp.l" ! { yylval.i=5; return LEFT_OR_RIGHT; } ! YY_BREAK case 65: ! YY_RULE_SETUP ! #line 188 "..\\..\\util\\lev_comp.l" ! { yylval.i=1; return TOP_OR_BOT; } ! YY_BREAK case 66: ! YY_RULE_SETUP ! #line 189 "..\\..\\util\\lev_comp.l" ! { yylval.i=5; return TOP_OR_BOT; } ! YY_BREAK case 67: ! YY_RULE_SETUP ! #line 190 "..\\..\\util\\lev_comp.l" ! { yylval.i=1; return LIGHT_STATE; } ! YY_BREAK case 68: ! YY_RULE_SETUP ! #line 191 "..\\..\\util\\lev_comp.l" ! { yylval.i=0; return LIGHT_STATE; } ! YY_BREAK case 69: ! YY_RULE_SETUP ! #line 192 "..\\..\\util\\lev_comp.l" ! { yylval.i=0; return FILLING; } ! YY_BREAK case 70: + YY_RULE_SETUP + #line 193 "..\\..\\util\\lev_comp.l" { yylval.i=1; return FILLING; } ! YY_BREAK case 71: ! YY_RULE_SETUP ! #line 194 "..\\..\\util\\lev_comp.l" ! { yylval.i= AM_NONE; return ALIGNMENT; } ! YY_BREAK case 72: ! YY_RULE_SETUP ! #line 195 "..\\..\\util\\lev_comp.l" ! { yylval.i= AM_LAWFUL; return ALIGNMENT; } ! YY_BREAK case 73: ! YY_RULE_SETUP ! #line 196 "..\\..\\util\\lev_comp.l" ! { yylval.i= AM_NEUTRAL; return ALIGNMENT; } ! YY_BREAK case 74: ! YY_RULE_SETUP ! #line 197 "..\\..\\util\\lev_comp.l" ! { yylval.i= AM_CHAOTIC; return ALIGNMENT; } ! YY_BREAK case 75: + YY_RULE_SETUP + #line 198 "..\\..\\util\\lev_comp.l" { yylval.i=1; return MON_ATTITUDE; } ! YY_BREAK case 76: ! YY_RULE_SETUP ! #line 199 "..\\..\\util\\lev_comp.l" ! { yylval.i=0; return MON_ATTITUDE; } ! YY_BREAK case 77: ! YY_RULE_SETUP ! #line 200 "..\\..\\util\\lev_comp.l" ! { yylval.i=1; return MON_ALERTNESS; } ! YY_BREAK case 78: ! YY_RULE_SETUP ! #line 201 "..\\..\\util\\lev_comp.l" ! { yylval.i=0; return MON_ALERTNESS; } ! YY_BREAK case 79: + YY_RULE_SETUP + #line 202 "..\\..\\util\\lev_comp.l" { yylval.i= M_AP_FURNITURE; return MON_APPEARANCE; } ! YY_BREAK case 80: + YY_RULE_SETUP + #line 203 "..\\..\\util\\lev_comp.l" { yylval.i= M_AP_MONSTER; return MON_APPEARANCE; } ! YY_BREAK case 81: + YY_RULE_SETUP + #line 204 "..\\..\\util\\lev_comp.l" { yylval.i= M_AP_OBJECT; return MON_APPEARANCE; } ! YY_BREAK case 82: ! YY_RULE_SETUP ! #line 205 "..\\..\\util\\lev_comp.l" ! { yylval.i=2; return ALTAR_TYPE; } ! YY_BREAK case 83: ! YY_RULE_SETUP ! #line 206 "..\\..\\util\\lev_comp.l" ! { yylval.i=1; return ALTAR_TYPE; } ! YY_BREAK case 84: ! YY_RULE_SETUP ! #line 207 "..\\..\\util\\lev_comp.l" ! { yylval.i=0; return ALTAR_TYPE; } ! YY_BREAK case 85: ! YY_RULE_SETUP ! #line 208 "..\\..\\util\\lev_comp.l" ! { yylval.i=1; return UP_OR_DOWN; } ! YY_BREAK case 86: ! YY_RULE_SETUP ! #line 209 "..\\..\\util\\lev_comp.l" ! { yylval.i=0; return UP_OR_DOWN; } ! YY_BREAK case 87: ! YY_RULE_SETUP ! #line 210 "..\\..\\util\\lev_comp.l" ! { yylval.i=0; return BOOLEAN; } ! YY_BREAK case 88: ! YY_RULE_SETUP ! #line 211 "..\\..\\util\\lev_comp.l" ! { yylval.i=1; return BOOLEAN; } ! YY_BREAK case 89: ! YY_RULE_SETUP ! #line 212 "..\\..\\util\\lev_comp.l" ! { yylval.i=DUST; return ENGRAVING_TYPE; } ! YY_BREAK case 90: ! YY_RULE_SETUP ! #line 213 "..\\..\\util\\lev_comp.l" ! { yylval.i=ENGRAVE; return ENGRAVING_TYPE; } ! YY_BREAK case 91: ! YY_RULE_SETUP ! #line 214 "..\\..\\util\\lev_comp.l" ! { yylval.i=BURN; return ENGRAVING_TYPE; } ! YY_BREAK case 92: ! YY_RULE_SETUP ! #line 215 "..\\..\\util\\lev_comp.l" ! { yylval.i=MARK; return ENGRAVING_TYPE; } ! YY_BREAK case 93: ! YY_RULE_SETUP ! #line 216 "..\\..\\util\\lev_comp.l" ! { yylval.i=1; return CURSE_TYPE; } ! YY_BREAK case 94: + YY_RULE_SETUP + #line 217 "..\\..\\util\\lev_comp.l" { yylval.i=2; return CURSE_TYPE; } ! YY_BREAK case 95: ! YY_RULE_SETUP ! #line 218 "..\\..\\util\\lev_comp.l" ! { yylval.i=3; return CURSE_TYPE; } ! YY_BREAK case 96: + YY_RULE_SETUP + #line 219 "..\\..\\util\\lev_comp.l" { return CONTAINED; } ! YY_BREAK case 97: + YY_RULE_SETUP + #line 220 "..\\..\\util\\lev_comp.l" { yylval.i=NOTELEPORT; return FLAG_TYPE; } ! YY_BREAK case 98: + YY_RULE_SETUP + #line 221 "..\\..\\util\\lev_comp.l" { yylval.i=HARDFLOOR; return FLAG_TYPE; } ! YY_BREAK case 99: ! YY_RULE_SETUP ! #line 222 "..\\..\\util\\lev_comp.l" ! { yylval.i=NOMMAP; return FLAG_TYPE; } ! YY_BREAK case 100: + YY_RULE_SETUP + #line 223 "..\\..\\util\\lev_comp.l" { yylval.i=SHORTSIGHTED; return FLAG_TYPE; } ! YY_BREAK case 101: + YY_RULE_SETUP + #line 224 "..\\..\\util\\lev_comp.l" { yylval.i = atoi(yytext + 1); return PERCENT; } ! YY_BREAK case 102: + YY_RULE_SETUP + #line 225 "..\\..\\util\\lev_comp.l" { yylval.i=atoi(yytext); return INTEGER; } ! YY_BREAK case 103: + YY_RULE_SETUP + #line 226 "..\\..\\util\\lev_comp.l" { yytext[yyleng-1] = 0; /* Discard the trailing \" */ yylval.map = (char *) alloc(strlen(yytext+1)+1); Strcpy(yylval.map, yytext+1); /* Discard the first \" */ return STRING; } ! YY_BREAK case 104: ! YY_RULE_SETUP ! #line 230 "..\\..\\util\\lev_comp.l" ! { line_number++; } ! YY_BREAK case 105: ! YY_RULE_SETUP ! #line 231 "..\\..\\util\\lev_comp.l" ! ; ! YY_BREAK case 106: ! YY_RULE_SETUP ! #line 232 "..\\..\\util\\lev_comp.l" ! { yylval.i = yytext[1]; return CHAR; } ! YY_BREAK case 107: ! YY_RULE_SETUP ! #line 233 "..\\..\\util\\lev_comp.l" ! { return yytext[0]; } ! YY_BREAK ! case 108: ! YY_RULE_SETUP ! #line 234 "..\\..\\util\\lev_comp.l" ! ECHO; ! YY_BREAK ! #line 1626 "lexyy.c" ! case YY_STATE_EOF(INITIAL): ! case YY_STATE_EOF(MAPC): ! yyterminate(); ! ! case YY_END_OF_BUFFER: ! { ! /* Amount of text matched not including the EOB char. */ ! int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; ! ! /* Undo the effects of YY_DO_BEFORE_ACTION. */ ! *yy_cp = yy_hold_char; ! ! if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) ! { ! /* We're scanning a new file or input source. It's ! * possible that this happened because the user ! * just pointed yyin at a new source and called ! * yylex(). If so, then we have to assure ! * consistency between yy_current_buffer and our ! * globals. Here is the right place to do so, because ! * this is the first action (other than possibly a ! * back-up) that will match for the new input source. ! */ ! yy_n_chars = yy_current_buffer->yy_n_chars; ! yy_current_buffer->yy_input_file = yyin; ! yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; ! } ! ! /* Note that here we test for yy_c_buf_p "<=" to the position ! * of the first EOB in the buffer, since yy_c_buf_p will ! * already have been incremented past the NUL character ! * (since all states make transitions on EOB to the ! * end-of-buffer state). Contrast this with the test ! * in input(). ! */ ! if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) ! { /* This was really a NUL. */ ! yy_state_type yy_next_state; ! ! yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; ! ! yy_current_state = yy_get_previous_state(); ! ! /* Okay, we're now positioned to make the NUL ! * transition. We couldn't have ! * yy_get_previous_state() go ahead and do it ! * for us because it doesn't know how to deal ! * with the possibility of jamming (and we don't ! * want to build jamming into it because then it ! * will run more slowly). ! */ ! ! yy_next_state = yy_try_NUL_trans( yy_current_state ); ! ! yy_bp = yytext_ptr + YY_MORE_ADJ; ! ! if ( yy_next_state ) ! { ! /* Consume the NUL. */ ! yy_cp = ++yy_c_buf_p; ! yy_current_state = yy_next_state; ! goto yy_match; ! } ! ! else ! { ! yy_cp = yy_c_buf_p; ! goto yy_find_action; ! } ! } ! ! else switch ( yy_get_next_buffer() ) ! { ! case EOB_ACT_END_OF_FILE: ! { ! yy_did_buffer_switch_on_eof = 0; ! ! if ( yywrap() ) ! { ! /* Note: because we've taken care in ! * yy_get_next_buffer() to have set up ! * yytext, we can now set up ! * yy_c_buf_p so that if some total ! * hoser (like flex itself) wants to ! * call the scanner after we return the ! * YY_NULL, it'll still work - another ! * YY_NULL will get returned. ! */ ! yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; ! ! yy_act = YY_STATE_EOF(YY_START); ! goto do_action; ! } ! ! else ! { ! if ( ! yy_did_buffer_switch_on_eof ) ! YY_NEW_FILE; ! } ! break; ! } ! ! case EOB_ACT_CONTINUE_SCAN: ! yy_c_buf_p = ! yytext_ptr + yy_amount_of_matched_text; ! ! yy_current_state = yy_get_previous_state(); ! ! yy_cp = yy_c_buf_p; ! yy_bp = yytext_ptr + YY_MORE_ADJ; ! goto yy_match; ! ! case EOB_ACT_LAST_MATCH: ! yy_c_buf_p = ! &yy_current_buffer->yy_ch_buf[yy_n_chars]; ! ! yy_current_state = yy_get_previous_state(); ! ! yy_cp = yy_c_buf_p; ! yy_bp = yytext_ptr + YY_MORE_ADJ; ! goto yy_find_action; ! } ! break; ! } ! ! default: ! YY_FATAL_ERROR( ! "fatal flex scanner internal error--no action found" ); ! } /* end of action switch */ ! } /* end of scanning one token */ ! } /* end of yylex */ ! ! ! /* yy_get_next_buffer - try to read in a new buffer ! * ! * Returns a code representing an action: ! * EOB_ACT_LAST_MATCH - ! * EOB_ACT_CONTINUE_SCAN - continue scanning from current position ! * EOB_ACT_END_OF_FILE - end of file ! */ ! ! static int yy_get_next_buffer() ! { ! register char *dest = yy_current_buffer->yy_ch_buf; ! register char *source = yytext_ptr; ! register int number_to_move, i; ! int ret_val; ! ! if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) ! YY_FATAL_ERROR( ! "fatal flex scanner internal error--end of buffer missed" ); ! ! if ( yy_current_buffer->yy_fill_buffer == 0 ) ! { /* Don't try to fill the buffer, so this is an EOF. */ ! if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) ! { ! /* We matched a singled characater, the EOB, so ! * treat this as a final EOF. ! */ ! return EOB_ACT_END_OF_FILE; ! } ! ! else ! { ! /* We matched some text prior to the EOB, first ! * process it. ! */ ! return EOB_ACT_LAST_MATCH; ! } ! } ! ! /* Try to read more data. */ ! ! /* First move last chars to start of buffer. */ ! number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; ! ! for ( i = 0; i < number_to_move; ++i ) ! *(dest++) = *(source++); ! ! if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) ! /* don't do the read, it's not guaranteed to return an EOF, ! * just force an EOF ! */ ! yy_n_chars = 0; ! ! else ! { ! int num_to_read = ! yy_current_buffer->yy_buf_size - number_to_move - 1; ! ! while ( num_to_read <= 0 ) ! { /* Not enough room in the buffer - grow it. */ ! #ifdef YY_USES_REJECT ! YY_FATAL_ERROR( ! "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); ! #else ! ! /* just a shorter name for the current buffer */ ! YY_BUFFER_STATE b = yy_current_buffer; ! ! int yy_c_buf_p_offset = ! (int) (yy_c_buf_p - b->yy_ch_buf); ! ! if ( b->yy_is_our_buffer ) ! { ! int new_size = b->yy_buf_size * 2; ! ! if ( new_size <= 0 ) ! b->yy_buf_size += b->yy_buf_size / 8; ! else ! b->yy_buf_size *= 2; ! ! b->yy_ch_buf = (char *) ! /* Include room in for 2 EOB chars. */ ! yy_flex_realloc( (void *) b->yy_ch_buf, ! b->yy_buf_size + 2 ); ! } ! else ! /* Can't grow it, we don't own it. */ ! b->yy_ch_buf = 0; ! ! if ( ! b->yy_ch_buf ) ! YY_FATAL_ERROR( ! "fatal error - scanner input buffer overflow" ); ! ! yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; ! ! num_to_read = yy_current_buffer->yy_buf_size - ! number_to_move - 1; ! #endif ! } ! ! if ( num_to_read > YY_READ_BUF_SIZE ) ! num_to_read = YY_READ_BUF_SIZE; ! ! /* Read in more data. */ ! YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), ! yy_n_chars, num_to_read ); ! } ! ! if ( yy_n_chars == 0 ) ! { ! if ( number_to_move == YY_MORE_ADJ ) ! { ! ret_val = EOB_ACT_END_OF_FILE; ! yyrestart( yyin ); ! } ! ! else ! { ! ret_val = EOB_ACT_LAST_MATCH; ! yy_current_buffer->yy_buffer_status = ! YY_BUFFER_EOF_PENDING; ! } ! } ! ! else ! ret_val = EOB_ACT_CONTINUE_SCAN; ! ! yy_n_chars += number_to_move; ! yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; ! yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; ! ! yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; ! ! return ret_val; ! } ! ! ! /* yy_get_previous_state - get the state just before the EOB char was reached */ ! ! static yy_state_type yy_get_previous_state() ! { ! register yy_state_type yy_current_state; ! register char *yy_cp; ! ! yy_current_state = yy_start; ! yy_current_state += YY_AT_BOL(); ! ! for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) ! { ! register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); ! if ( yy_accept[yy_current_state] ) ! { ! yy_last_accepting_state = yy_current_state; ! yy_last_accepting_cpos = yy_cp; ! } ! while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) ! { ! yy_current_state = (int) yy_def[yy_current_state]; ! if ( yy_current_state >= 594 ) ! yy_c = yy_meta[(unsigned int) yy_c]; ! } ! yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ! } ! ! return yy_current_state; ! } ! ! ! /* yy_try_NUL_trans - try to make a transition on the NUL character ! * ! * synopsis ! * next_state = yy_try_NUL_trans( current_state ); ! */ ! ! #ifdef YY_USE_PROTOS ! static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) ! #else ! static yy_state_type yy_try_NUL_trans( yy_current_state ) ! yy_state_type yy_current_state; ! #endif ! { ! register int yy_is_jam; ! register char *yy_cp = yy_c_buf_p; ! ! register YY_CHAR yy_c = 1; ! if ( yy_accept[yy_current_state] ) ! { ! yy_last_accepting_state = yy_current_state; ! yy_last_accepting_cpos = yy_cp; ! } ! while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) ! { ! yy_current_state = (int) yy_def[yy_current_state]; ! if ( yy_current_state >= 594 ) ! yy_c = yy_meta[(unsigned int) yy_c]; ! } ! yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ! yy_is_jam = (yy_current_state == 593); ! ! return yy_is_jam ? 0 : yy_current_state; ! } ! ! ! #ifndef YY_NO_UNPUT ! #ifdef YY_USE_PROTOS ! static void yyunput( int c, register char *yy_bp ) ! #else ! static void yyunput( c, yy_bp ) ! int c; ! register char *yy_bp; ! #endif ! { ! register char *yy_cp = yy_c_buf_p; ! ! /* undo effects of setting up yytext */ ! *yy_cp = yy_hold_char; ! ! if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) ! { /* need to shift things up to make room */ ! /* +2 for EOB chars. */ ! register int number_to_move = yy_n_chars + 2; ! register char *dest = &yy_current_buffer->yy_ch_buf[ ! yy_current_buffer->yy_buf_size + 2]; ! register char *source = ! &yy_current_buffer->yy_ch_buf[number_to_move]; ! ! while ( source > yy_current_buffer->yy_ch_buf ) ! *--dest = *--source; ! ! yy_cp += (int) (dest - source); ! yy_bp += (int) (dest - source); ! yy_n_chars = yy_current_buffer->yy_buf_size; ! ! if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) ! YY_FATAL_ERROR( "flex scanner push-back overflow" ); ! } ! ! *--yy_cp = (char) c; ! ! ! yytext_ptr = yy_bp; ! yy_hold_char = *yy_cp; ! yy_c_buf_p = yy_cp; ! } ! #endif /* ifndef YY_NO_UNPUT */ ! ! ! #ifdef __cplusplus ! static int yyinput() ! #else ! static int input() ! #endif ! { ! int c; ! ! *yy_c_buf_p = yy_hold_char; ! ! if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) ! { ! /* yy_c_buf_p now points to the character we want to return. ! * If this occurs *before* the EOB characters, then it's a ! * valid NUL; if not, then we've hit the end of the buffer. ! */ ! if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) ! /* This was really a NUL. */ ! *yy_c_buf_p = '\0'; ! ! else ! { /* need more input */ ! yytext_ptr = yy_c_buf_p; ! ++yy_c_buf_p; ! ! switch ( yy_get_next_buffer() ) ! { ! case EOB_ACT_END_OF_FILE: ! { ! if ( yywrap() ) ! { ! yy_c_buf_p = ! yytext_ptr + YY_MORE_ADJ; ! return EOF; ! } ! ! if ( ! yy_did_buffer_switch_on_eof ) ! YY_NEW_FILE; ! #ifdef __cplusplus ! return yyinput(); ! #else ! return input(); ! #endif ! } ! ! case EOB_ACT_CONTINUE_SCAN: ! yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; ! break; ! ! case EOB_ACT_LAST_MATCH: ! #ifdef __cplusplus ! YY_FATAL_ERROR( ! "unexpected last match in yyinput()" ); ! #else ! YY_FATAL_ERROR( ! "unexpected last match in input()" ); ! #endif ! } ! } ! } ! ! c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ ! *yy_c_buf_p = '\0'; /* preserve yytext */ ! yy_hold_char = *++yy_c_buf_p; ! ! yy_current_buffer->yy_at_bol = (c == '\n'); ! ! return c; ! } ! ! ! #ifdef YY_USE_PROTOS ! void yyrestart( FILE *input_file ) ! #else ! void yyrestart( input_file ) ! FILE *input_file; ! #endif ! { ! if ( ! yy_current_buffer ) ! yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); ! ! yy_init_buffer( yy_current_buffer, input_file ); ! yy_load_buffer_state(); ! } ! ! ! #ifdef YY_USE_PROTOS ! void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) ! #else ! void yy_switch_to_buffer( new_buffer ) ! YY_BUFFER_STATE new_buffer; ! #endif ! { ! if ( yy_current_buffer == new_buffer ) ! return; ! ! if ( yy_current_buffer ) ! { ! /* Flush out information for old buffer. */ ! *yy_c_buf_p = yy_hold_char; ! yy_current_buffer->yy_buf_pos = yy_c_buf_p; ! yy_current_buffer->yy_n_chars = yy_n_chars; ! } ! ! yy_current_buffer = new_buffer; ! yy_load_buffer_state(); ! ! /* We don't actually know whether we did this switch during ! * EOF (yywrap()) processing, but the only time this flag ! * is looked at is after yywrap() is called, so it's safe ! * to go ahead and always set it. ! */ ! yy_did_buffer_switch_on_eof = 1; ! } ! ! ! #ifdef YY_USE_PROTOS ! void yy_load_buffer_state( void ) ! #else ! void yy_load_buffer_state() ! #endif ! { ! yy_n_chars = yy_current_buffer->yy_n_chars; ! yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; ! yyin = yy_current_buffer->yy_input_file; ! yy_hold_char = *yy_c_buf_p; ! } ! ! ! #ifdef YY_USE_PROTOS ! YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) ! #else ! YY_BUFFER_STATE yy_create_buffer( file, size ) ! FILE *file; ! int size; ! #endif ! { ! YY_BUFFER_STATE b; ! ! b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); ! if ( ! b ) ! YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); ! ! b->yy_buf_size = size; ! ! /* yy_ch_buf has to be 2 characters longer than the size given because ! * we need to put in 2 end-of-buffer characters. ! */ ! b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); ! if ( ! b->yy_ch_buf ) ! YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); ! ! b->yy_is_our_buffer = 1; ! ! yy_init_buffer( b, file ); ! ! return b; ! } ! ! ! #ifdef YY_USE_PROTOS ! void yy_delete_buffer( YY_BUFFER_STATE b ) ! #else ! void yy_delete_buffer( b ) ! YY_BUFFER_STATE b; ! #endif ! { ! if ( ! b ) ! return; ! ! if ( b == yy_current_buffer ) ! yy_current_buffer = (YY_BUFFER_STATE) 0; ! ! if ( b->yy_is_our_buffer ) ! yy_flex_free( (void *) b->yy_ch_buf ); ! ! yy_flex_free( (void *) b ); ! } ! ! ! #ifndef YY_ALWAYS_INTERACTIVE ! #ifndef YY_NEVER_INTERACTIVE ! extern int isatty YY_PROTO(( int )); ! #endif ! #endif ! ! #ifdef YY_USE_PROTOS ! void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) ! #else ! void yy_init_buffer( b, file ) ! YY_BUFFER_STATE b; ! FILE *file; ! #endif ! ! ! { ! yy_flush_buffer( b ); ! ! b->yy_input_file = file; ! b->yy_fill_buffer = 1; ! ! #if YY_ALWAYS_INTERACTIVE ! b->yy_is_interactive = 1; ! #else ! #if YY_NEVER_INTERACTIVE ! b->yy_is_interactive = 0; ! #else ! b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; ! #endif ! #endif ! } ! ! ! #ifdef YY_USE_PROTOS ! void yy_flush_buffer( YY_BUFFER_STATE b ) ! #else ! void yy_flush_buffer( b ) ! YY_BUFFER_STATE b; ! #endif ! ! { ! b->yy_n_chars = 0; ! ! /* We always need two end-of-buffer characters. The first causes ! * a transition to the end-of-buffer state. The second causes ! * a jam in that state. ! */ ! b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; ! b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; ! ! b->yy_buf_pos = &b->yy_ch_buf[0]; ! ! b->yy_at_bol = 1; ! b->yy_buffer_status = YY_BUFFER_NEW; ! ! if ( b == yy_current_buffer ) ! yy_load_buffer_state(); ! } ! ! ! #ifndef YY_NO_SCAN_BUFFER ! #ifdef YY_USE_PROTOS ! YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) ! #else ! YY_BUFFER_STATE yy_scan_buffer( base, size ) ! char *base; ! yy_size_t size; ! #endif ! { ! YY_BUFFER_STATE b; ! ! if ( size < 2 || ! base[size-2] != YY_END_OF_BUFFER_CHAR || ! base[size-1] != YY_END_OF_BUFFER_CHAR ) ! /* They forgot to leave room for the EOB's. */ ! return 0; ! ! b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); ! if ( ! b ) ! YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); ! ! b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ ! b->yy_buf_pos = b->yy_ch_buf = base; ! b->yy_is_our_buffer = 0; ! b->yy_input_file = 0; ! b->yy_n_chars = b->yy_buf_size; ! b->yy_is_interactive = 0; ! b->yy_at_bol = 1; ! b->yy_fill_buffer = 0; ! b->yy_buffer_status = YY_BUFFER_NEW; ! ! yy_switch_to_buffer( b ); ! ! return b; ! } ! #endif ! ! ! #ifndef YY_NO_SCAN_STRING ! #ifdef YY_USE_PROTOS ! YY_BUFFER_STATE yy_scan_string( yyconst char *str ) ! #else ! YY_BUFFER_STATE yy_scan_string( str ) ! yyconst char *str; ! #endif ! { ! int len; ! for ( len = 0; str[len]; ++len ) ! ; ! ! return yy_scan_bytes( str, len ); ! } ! #endif ! ! ! #ifndef YY_NO_SCAN_BYTES ! #ifdef YY_USE_PROTOS ! YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) ! #else ! YY_BUFFER_STATE yy_scan_bytes( bytes, len ) ! yyconst char *bytes; ! int len; ! #endif ! { ! YY_BUFFER_STATE b; ! char *buf; ! yy_size_t n; ! int i; ! ! /* Get memory for full buffer, including space for trailing EOB's. */ ! n = len + 2; ! buf = (char *) yy_flex_alloc( n ); ! if ( ! buf ) ! YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); ! ! for ( i = 0; i < len; ++i ) ! buf[i] = bytes[i]; ! ! buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; ! ! b = yy_scan_buffer( buf, n ); ! if ( ! b ) ! YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); ! ! /* It's okay to grow etc. this buffer, and we should throw it ! * away when we're done. ! */ ! b->yy_is_our_buffer = 1; ! ! return b; ! } ! #endif ! ! ! #ifndef YY_NO_PUSH_STATE ! #ifdef YY_USE_PROTOS ! static void yy_push_state( int new_state ) ! #else ! static void yy_push_state( new_state ) ! int new_state; ! #endif ! { ! if ( yy_start_stack_ptr >= yy_start_stack_depth ) ! { ! yy_size_t new_size; ! ! yy_start_stack_depth += YY_START_STACK_INCR; ! new_size = yy_start_stack_depth * sizeof( int ); ! ! if ( ! yy_start_stack ) ! yy_start_stack = (int *) yy_flex_alloc( new_size ); ! ! else ! yy_start_stack = (int *) yy_flex_realloc( ! (void *) yy_start_stack, new_size ); ! ! if ( ! yy_start_stack ) ! YY_FATAL_ERROR( ! "out of memory expanding start-condition stack" ); ! } ! ! yy_start_stack[yy_start_stack_ptr++] = YY_START; ! ! BEGIN(new_state); ! } ! #endif ! ! ! #ifndef YY_NO_POP_STATE ! static void yy_pop_state() ! { ! if ( --yy_start_stack_ptr < 0 ) ! YY_FATAL_ERROR( "start-condition stack underflow" ); ! ! BEGIN(yy_start_stack[yy_start_stack_ptr]); ! } ! #endif ! ! ! #ifndef YY_NO_TOP_STATE ! static int yy_top_state() ! { ! return yy_start_stack[yy_start_stack_ptr - 1]; ! } ! #endif ! ! #ifndef YY_EXIT_FAILURE ! #define YY_EXIT_FAILURE 2 ! #endif ! ! #ifdef YY_USE_PROTOS ! static void yy_fatal_error( yyconst char msg[] ) ! #else ! static void yy_fatal_error( msg ) ! char msg[]; ! #endif ! { ! (void) fprintf( stderr, "%s\n", msg ); ! exit( YY_EXIT_FAILURE ); ! } ! ! ! ! /* Redefine yyless() so it works in section 3 code. */ ! ! #undef yyless ! #define yyless(n) \ ! do \ ! { \ ! /* Undo effects of setting up yytext. */ \ ! yytext[yyleng] = yy_hold_char; \ ! yy_c_buf_p = yytext + n - YY_MORE_ADJ; \ ! yy_hold_char = *yy_c_buf_p; \ ! *yy_c_buf_p = '\0'; \ ! yyleng = n; \ ! } \ ! while ( 0 ) ! ! ! /* Internal utility routines. */ ! ! #ifndef yytext_ptr ! #ifdef YY_USE_PROTOS ! static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) ! #else ! static void yy_flex_strncpy( s1, s2, n ) ! char *s1; ! yyconst char *s2; ! int n; ! #endif ! { ! register int i; ! for ( i = 0; i < n; ++i ) ! s1[i] = s2[i]; ! } ! #endif ! ! ! #ifdef YY_USE_PROTOS ! static void *yy_flex_alloc( yy_size_t size ) ! #else ! static void *yy_flex_alloc( size ) ! yy_size_t size; ! #endif ! { ! return (void *) malloc( size ); ! } ! ! #ifdef YY_USE_PROTOS ! static void *yy_flex_realloc( void *ptr, yy_size_t size ) ! #else ! static void *yy_flex_realloc( ptr, size ) ! void *ptr; ! yy_size_t size; ! #endif ! { ! /* The cast to (char *) in the following accommodates both ! * implementations that use char* generic pointers, and those ! * that use void* generic pointers. It works with the latter ! * because both ANSI C and C++ allow castless assignment from ! * any pointer type to void*, and deal with argument conversions ! * as though doing an assignment. ! */ ! return (void *) realloc( (char *) ptr, size ); ! } ! ! #ifdef YY_USE_PROTOS ! static void yy_flex_free( void *ptr ) ! #else ! static void yy_flex_free( ptr ) ! void *ptr; ! #endif ! { ! free( ptr ); ! } ! ! #if YY_MAIN ! int main() ! { ! yylex(); ! return 0; ! } ! #endif ! #line 234 "..\\..\\util\\lev_comp.l" ! #ifdef AMIGA long *alloc(n) unsigned n; *************** *** 499,2042 **** } /*lev_comp.l*/ - int yyvstop[] = { - 0, - - 107, - 0, - - 105, - 107, - 0, - - 104, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 102, - 107, - 0, - - 4, - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 2, - 104, - 0, - - 105, - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 107, - 0, - - 105, - 0, - - 103, - 0, - - 102, - 0, - - 85, - 0, - - 3, - 0, - - 2, - 0, - - 105, - 0, - - 2, - 3, - 0, - - 106, - 0, - - 72, - 0, - - 67, - 0, - - 65, - 0, - - 17, - 0, - - 40, - 0, - - 6, - 0, - - 42, - 0, - - 33, - 0, - - 36, - 0, - - 32, - 0, - - 16, - 0, - - 101, - 0, - - 91, - 0, - - 86, - 0, - - 89, - 0, - - 51, - 0, - - 60, - 0, - - 92, - 0, - - 55, - 0, - - 45, - 0, - - 88, - 0, - - 53, - 0, - - 12, - 0, - - 25, - 0, - - 10, - 0, - - 8, - 0, - - 7, - 0, - - 27, - 0, - - 59, - 0, - - 84, - 0, - - 78, - 0, - - 74, - 0, - - 87, - 0, - - 50, - 0, - - 58, - 0, - - 64, - 0, - - 52, - 0, - - 68, - 0, - - 30, - 0, - - 43, - 0, - - 26, - 0, - - 13, - 0, - - 28, - 0, - - 21, - 0, - - 77, - 0, - - 66, - 0, - - 49, - 0, - - 62, - 0, - - 46, - 0, - - 95, - 0, - - 69, - 0, - - 47, - 0, - - 48, - 0, - - 99, - 0, - - 56, - 0, - - 54, - 0, - - 83, - 0, - - 1, - 0, - - 5, - 0, - - 15, - 0, - - 37, - 0, - - 20, - 0, - - 93, - 0, - - 90, - 0, - - 76, - 0, - - 57, - 0, - - 73, - 0, - - 71, - 0, - - 82, - 0, - - 39, - 0, - - 31, - 0, - - 11, - 0, - - 9, - 0, - - 19, - 0, - - 81, - 0, - - 75, - 0, - - 94, - 0, - - 70, - 0, - - 14, - 0, - - 41, - 0, - - 96, - 0, - - 61, - 0, - - 98, - 0, - - 44, - 0, - - 79, - 0, - - 80, - 0, - - 18, - 0, - - 63, - 0, - - 97, - 0, - - 34, - 0, - - 35, - 0, - - 100, - 0, - - 24, - 0, - - 22, - 0, - - 23, - 0, - - 29, - 0, - - 38, - 0, - 0}; - # define YYTYPE int - struct yywork { YYTYPE verify, advance; } yycrank[] = { - 0,0, 0,0, 1,5, 0,0, - 0,0, 0,0, 0,0, 0,0, - 8,65, 0,0, 1,6, 1,7, - 0,0, 0,0, 6,64, 0,0, - 8,65, 8,65, 0,0, 0,0, - 0,0, 0,0, 0,0, 0,0, - 0,0, 0,0, 0,0, 0,0, - 0,0, 0,0, 0,0, 0,0, - 0,0, 1,6, 0,0, 1,8, - 1,5, 6,64, 0,0, 8,65, - 1,9, 8,66, 8,65, 0,0, - 1,10, 0,0, 0,0, 0,0, - 0,0, 1,11, 8,65, 0,0, - 0,0, 0,0, 0,0, 8,65, - 0,0, 0,0, 0,0, 1,12, - 0,0, 0,0, 0,0, 0,0, - 0,0, 0,0, 1,13, 1,14, - 1,15, 1,16, 1,17, 1,18, - 1,19, 0,0, 1,20, 0,0, - 24,88, 1,21, 1,22, 1,23, - 1,24, 1,25, 29,98, 1,26, - 1,27, 1,28, 13,69, 15,71, - 1,29, 14,70, 16,73, 17,75, - 1,30, 16,74, 15,72, 20,80, - 19,78, 25,89, 1,31, 1,32, - 1,33, 1,34, 1,35, 1,36, - 18,76, 1,37, 19,79, 18,77, - 28,96, 1,38, 1,39, 1,40, - 1,41, 1,42, 2,5, 1,43, - 1,44, 1,45, 1,46, 47,143, - 1,47, 28,97, 2,6, 2,7, - 10,68, 10,68, 10,68, 10,68, - 10,68, 10,68, 10,68, 10,68, - 10,68, 10,68, 21,81, 22,83, - 23,86, 26,90, 21,82, 22,84, - 34,113, 26,91, 27,93, 49,146, - 35,115, 2,6, 34,114, 2,8, - 2,48, 22,85, 23,87, 26,92, - 2,9, 27,94, 27,95, 31,101, - 2,10, 35,116, 37,119, 2,5, - 36,117, 2,11, 31,102, 41,130, - 32,104, 40,128, 31,103, 32,105, - 36,118, 42,132, 32,106, 2,12, - 37,120, 32,107, 54,150, 40,129, - 42,133, 41,131, 2,13, 2,14, - 2,15, 2,16, 2,17, 2,18, - 2,19, 2,5, 2,20, 55,70, - 2,5, 2,21, 2,49, 2,23, - 2,24, 2,25, 38,121, 2,26, - 2,27, 2,28, 38,122, 43,134, - 2,29, 57,152, 38,123, 45,139, - 2,30, 2,5, 45,140, 43,135, - 38,124, 56,151, 2,31, 2,32, - 2,33, 2,34, 2,35, 2,36, - 56,72, 2,37, 3,50, 58,80, - 60,89, 2,38, 2,39, 2,40, - 2,41, 2,42, 62,155, 2,43, - 2,44, 2,45, 2,46, 67,158, - 2,47, 39,125, 44,136, 39,126, - 2,5, 2,5, 2,5, 30,99, - 3,51, 44,137, 46,141, 3,52, - 46,142, 69,159, 59,153, 3,9, - 44,138, 39,127, 59,82, 3,53, - 70,160, 71,161, 73,164, 30,100, - 30,100, 30,100, 30,100, 30,100, - 30,100, 30,100, 30,100, 30,100, - 30,100, 72,162, 3,12, 74,165, - 75,166, 72,163, 76,167, 61,154, - 77,168, 3,54, 3,55, 3,56, - 3,16, 3,57, 3,18, 3,19, - 78,169, 3,58, 61,94, 61,95, - 3,59, 3,22, 3,23, 3,24, - 3,60, 79,170, 3,26, 3,61, - 3,28, 80,171, 81,172, 3,62, - 82,173, 83,174, 84,175, 3,30, - 85,176, 86,177, 87,178, 87,179, - 4,50, 3,31, 3,32, 3,33, - 3,34, 3,35, 3,36, 88,180, - 3,37, 90,183, 63,156, 91,184, - 3,38, 3,39, 3,40, 3,41, - 3,42, 92,185, 3,43, 3,44, - 3,45, 3,46, 4,51, 3,47, - 33,108, 4,63, 93,186, 33,109, - 94,187, 4,9, 95,188, 33,110, - 63,157, 4,53, 33,111, 63,157, - 4,52, 96,189, 89,181, 97,190, - 33,112, 89,182, 98,191, 63,157, - 102,195, 103,196, 104,197, 105,198, - 4,12, 106,199, 107,200, 108,201, - 109,202, 101,193, 110,203, 4,54, - 4,55, 4,56, 4,16, 4,57, - 4,18, 4,19, 4,52, 4,58, - 101,194, 4,52, 4,59, 4,49, - 4,23, 4,24, 4,60, 111,204, - 4,26, 4,61, 4,28, 112,205, - 113,206, 4,62, 114,207, 115,208, - 116,209, 4,30, 4,52, 117,210, - 118,211, 120,214, 121,215, 4,31, - 4,32, 4,33, 4,34, 4,35, - 4,36, 123,218, 4,37, 124,219, - 126,223, 127,224, 4,38, 4,39, - 4,40, 4,41, 4,42, 9,67, - 4,43, 4,44, 4,45, 4,46, - 122,216, 4,47, 48,144, 9,67, - 9,0, 4,52, 4,52, 4,52, - 119,212, 128,225, 48,144, 48,145, - 125,220, 130,232, 119,213, 131,233, - 122,217, 51,64, 51,147, 125,221, - 132,234, 125,222, 133,235, 134,236, - 135,237, 136,238, 9,67, 137,239, - 9,67, 9,67, 137,240, 138,241, - 139,242, 48,144, 140,243, 48,144, - 48,144, 9,67, 141,244, 143,247, - 51,148, 141,245, 9,67, 51,149, - 48,144, 146,248, 150,159, 141,246, - 151,249, 48,144, 153,172, 51,149, - 154,186, 51,149, 51,149, 146,174, - 155,251, 52,147, 53,68, 53,68, - 53,68, 53,68, 53,68, 53,68, - 53,68, 53,68, 53,68, 53,68, - 152,250, 159,252, 160,253, 152,166, - 161,254, 51,149, 51,149, 51,149, - 162,255, 163,256, 164,257, 52,149, - 51,149, 51,149, 52,149, 51,149, - 51,149, 157,156, 129,226, 165,258, - 51,149, 129,227, 52,149, 51,149, - 52,149, 52,149, 166,259, 51,149, - 167,260, 168,261, 129,228, 129,229, - 51,149, 169,262, 170,263, 129,230, - 171,264, 129,231, 172,265, 157,157, - 173,266, 174,267, 157,157, 175,268, - 52,149, 52,149, 52,149, 176,269, - 177,270, 178,271, 157,157, 52,149, - 52,149, 179,272, 52,149, 52,149, - 180,273, 181,274, 182,275, 52,149, - 183,276, 100,192, 52,149, 51,149, - 51,149, 51,149, 52,149, 184,277, - 185,278, 186,279, 187,280, 52,149, - 100,100, 100,100, 100,100, 100,100, - 100,100, 100,100, 100,100, 100,100, - 100,100, 100,100, 188,281, 189,282, - 190,283, 191,284, 192,192, 193,286, - 194,287, 195,288, 196,289, 197,290, - 198,291, 199,292, 200,293, 201,294, - 202,295, 203,296, 204,297, 205,298, - 206,299, 207,300, 52,149, 52,149, - 52,149, 208,301, 209,302, 210,303, - 211,304, 212,305, 213,306, 214,307, - 216,308, 217,309, 219,310, 220,311, - 221,312, 222,313, 223,314, 224,315, - 225,316, 226,317, 227,318, 228,319, - 229,320, 230,321, 231,322, 232,323, - 233,324, 234,325, 235,326, 236,327, - 237,328, 238,329, 239,330, 240,331, - 241,332, 243,333, 244,334, 245,335, - 246,336, 247,337, 248,338, 249,254, - 250,339, 251,340, 252,341, 192,285, - 253,342, 254,343, 255,344, 256,345, - 258,346, 259,347, 260,348, 261,349, - 262,350, 264,351, 265,352, 266,353, - 267,354, 268,355, 269,356, 271,357, - 272,358, 273,360, 275,361, 276,362, - 277,363, 280,364, 281,365, 282,366, - 284,367, 286,368, 287,369, 288,370, - 272,359, 289,371, 290,372, 291,373, - 292,374, 294,375, 295,376, 296,377, - 297,378, 298,379, 302,380, 303,381, - 304,382, 305,383, 306,384, 307,385, - 309,386, 310,387, 311,388, 312,389, - 313,390, 315,391, 316,392, 317,393, - 318,394, 319,395, 321,396, 322,397, - 323,398, 325,399, 326,400, 327,401, - 328,402, 329,403, 330,404, 331,405, - 332,406, 334,407, 335,408, 336,409, - 339,410, 340,411, 342,412, 343,413, - 344,414, 345,415, 346,416, 347,417, - 349,418, 350,419, 351,420, 352,421, - 354,422, 355,423, 356,424, 358,425, - 359,426, 360,427, 361,428, 362,429, - 363,430, 365,431, 366,432, 367,433, - 370,434, 372,435, 373,436, 374,437, - 375,438, 377,439, 378,440, 379,441, - 380,442, 382,443, 383,444, 384,446, - 385,447, 386,448, 387,449, 388,450, - 383,445, 389,451, 390,452, 391,453, - 392,454, 393,455, 394,456, 395,457, - 397,458, 398,459, 399,460, 401,461, - 403,462, 404,463, 405,464, 407,465, - 408,466, 410,467, 411,433, 414,468, - 415,469, 416,470, 417,471, 418,472, - 419,473, 420,474, 422,475, 423,476, - 424,477, 425,478, 426,479, 429,480, - 431,481, 432,482, 433,483, 435,484, - 440,485, 442,486, 444,487, 445,488, - 446,489, 447,490, 448,491, 450,492, - 451,493, 452,494, 453,495, 454,496, - 455,497, 458,498, 460,499, 462,500, - 463,501, 465,502, 466,503, 468,504, - 469,505, 470,506, 471,507, 472,508, - 473,509, 474,510, 475,511, 478,512, - 479,513, 480,514, 482,518, 485,519, - 487,520, 488,521, 489,522, 491,523, - 492,524, 493,525, 494,526, 480,515, - 498,527, 480,516, 480,517, 499,528, - 501,529, 502,530, 503,531, 504,532, - 506,533, 507,534, 512,535, 513,536, - 514,537, 515,538, 516,539, 517,540, - 518,541, 519,542, 520,543, 521,544, - 522,545, 523,546, 524,547, 525,548, - 527,549, 529,550, 533,551, 535,552, - 536,553, 537,554, 538,555, 539,556, - 540,557, 541,558, 544,559, 549,560, - 550,561, 552,562, 553,563, 554,564, - 555,565, 556,566, 557,567, 558,568, - 561,569, 562,570, 563,571, 564,572, - 565,573, 566,574, 567,575, 568,576, - 569,577, 572,578, 573,579, 574,580, - 575,581, 576,582, 578,583, 579,584, - 580,585, 582,586, 583,587, 584,588, - 586,589, 587,590, 0,0, 0,0, - 0,0}; - struct yysvf yysvec[] = { - 0, 0, 0, - yycrank+-1, 0, 0, - yycrank+-113, 0, 0, - yycrank+-208, yysvec+1, 0, - yycrank+-294, yysvec+2, 0, - yycrank+0, 0, yyvstop+1, - yycrank+5, 0, yyvstop+3, - yycrank+0, 0, yyvstop+6, - yycrank+-7, 0, yyvstop+8, - yycrank+-406, 0, yyvstop+10, - yycrank+76, 0, yyvstop+12, - yycrank+0, yysvec+10, yyvstop+14, - yycrank+0, 0, yyvstop+17, - yycrank+10, 0, yyvstop+20, - yycrank+7, 0, yyvstop+22, - yycrank+15, 0, yyvstop+24, - yycrank+11, 0, yyvstop+26, - yycrank+13, 0, yyvstop+28, - yycrank+28, 0, yyvstop+30, - yycrank+27, 0, yyvstop+32, - yycrank+17, 0, yyvstop+34, - yycrank+69, 0, yyvstop+36, - yycrank+70, 0, yyvstop+38, - yycrank+71, 0, yyvstop+40, - yycrank+10, 0, yyvstop+42, - yycrank+18, 0, yyvstop+44, - yycrank+72, 0, yyvstop+46, - yycrank+69, 0, yyvstop+48, - yycrank+39, 0, yyvstop+50, - yycrank+17, 0, yyvstop+52, - yycrank+207, 0, yyvstop+54, - yycrank+47, 0, yyvstop+56, - yycrank+56, 0, yyvstop+58, - yycrank+227, 0, yyvstop+60, - yycrank+29, 0, yyvstop+62, - yycrank+47, 0, yyvstop+64, - yycrank+63, 0, yyvstop+66, - yycrank+61, 0, yyvstop+68, - yycrank+97, 0, yyvstop+70, - yycrank+138, 0, yyvstop+72, - yycrank+64, 0, yyvstop+74, - yycrank+65, 0, yyvstop+76, - yycrank+68, 0, yyvstop+78, - yycrank+102, 0, yyvstop+80, - yycrank+137, 0, yyvstop+82, - yycrank+92, 0, yyvstop+84, - yycrank+132, 0, yyvstop+86, - yycrank+18, 0, yyvstop+88, - yycrank+-413, 0, yyvstop+90, - yycrank+78, yysvec+22, yyvstop+92, - yycrank+0, 0, yyvstop+94, - yycrank+420, 0, yyvstop+97, - yycrank+459, 0, yyvstop+100, - yycrank+422, yysvec+52, yyvstop+102, - yycrank+98, yysvec+52, yyvstop+104, - yycrank+105, yysvec+52, yyvstop+106, - yycrank+137, yysvec+52, yyvstop+108, - yycrank+123, 0, yyvstop+110, - yycrank+141, yysvec+52, yyvstop+112, - yycrank+181, yysvec+52, yyvstop+114, - yycrank+141, yysvec+52, yyvstop+116, - yycrank+198, yysvec+52, yyvstop+118, - yycrank+161, yysvec+52, yyvstop+120, - yycrank+-304, yysvec+48, yyvstop+122, - yycrank+0, yysvec+6, yyvstop+124, - yycrank+0, yysvec+8, 0, - yycrank+0, 0, yyvstop+126, - yycrank+192, 0, 0, - yycrank+0, yysvec+10, yyvstop+128, - yycrank+161, 0, 0, - yycrank+187, 0, 0, - yycrank+188, 0, 0, - yycrank+187, 0, 0, - yycrank+175, 0, 0, - yycrank+202, 0, 0, - yycrank+197, 0, 0, - yycrank+205, 0, 0, - yycrank+187, 0, 0, - yycrank+201, 0, 0, - yycrank+213, 0, 0, - yycrank+220, 0, 0, - yycrank+226, 0, 0, - yycrank+210, 0, 0, - yycrank+207, 0, 0, - yycrank+215, 0, 0, - yycrank+222, 0, 0, - yycrank+224, 0, 0, - yycrank+225, 0, 0, - yycrank+237, 0, 0, - yycrank+263, 0, 0, - yycrank+235, 0, 0, - yycrank+244, 0, 0, - yycrank+242, 0, 0, - yycrank+252, 0, 0, - yycrank+267, 0, 0, - yycrank+268, 0, 0, - yycrank+265, 0, 0, - yycrank+278, 0, 0, - yycrank+270, 0, 0, - yycrank+0, yysvec+30, 0, - yycrank+504, 0, 0, - yycrank+252, 0, 0, - yycrank+240, 0, 0, - yycrank+252, 0, 0, - yycrank+249, 0, 0, - yycrank+235, 0, 0, - yycrank+242, 0, 0, - yycrank+240, 0, 0, - yycrank+245, 0, 0, - yycrank+259, 0, 0, - yycrank+247, 0, 0, - yycrank+265, 0, 0, - yycrank+265, 0, 0, - yycrank+261, 0, 0, - yycrank+267, 0, 0, - yycrank+268, 0, 0, - yycrank+281, 0, 0, - yycrank+279, 0, 0, - yycrank+280, 0, 0, - yycrank+312, 0, 0, - yycrank+274, 0, 0, - yycrank+271, 0, 0, - yycrank+310, 0, 0, - yycrank+281, 0, 0, - yycrank+300, 0, 0, - yycrank+322, 0, 0, - yycrank+286, 0, 0, - yycrank+291, 0, 0, - yycrank+304, 0, 0, - yycrank+401, 0, 0, - yycrank+319, 0, 0, - yycrank+326, 0, 0, - yycrank+335, 0, 0, - yycrank+337, 0, 0, - yycrank+325, 0, 0, - yycrank+333, 0, 0, - yycrank+327, 0, 0, - yycrank+328, 0, 0, - yycrank+326, 0, 0, - yycrank+332, 0, 0, - yycrank+329, 0, 0, - yycrank+351, 0, 0, - yycrank+0, 0, yyvstop+130, - yycrank+336, 0, 0, - yycrank+0, yysvec+48, 0, - yycrank+0, 0, yyvstop+132, - yycrank+377, 0, 0, - yycrank+0, 0, yyvstop+134, - yycrank+0, yysvec+51, yyvstop+136, - yycrank+0, yysvec+52, 0, - yycrank+374, yysvec+52, 0, - yycrank+395, yysvec+52, 0, - yycrank+412, 0, 0, - yycrank+394, yysvec+52, 0, - yycrank+386, yysvec+52, 0, - yycrank+392, yysvec+52, 0, - yycrank+0, 0, yyvstop+138, - yycrank+-487, yysvec+48, 0, - yycrank+0, 0, yyvstop+141, - yycrank+416, 0, 0, - yycrank+404, 0, 0, - yycrank+406, 0, 0, - yycrank+404, 0, 0, - yycrank+407, 0, 0, - yycrank+408, 0, 0, - yycrank+412, 0, 0, - yycrank+424, 0, 0, - yycrank+437, 0, 0, - yycrank+431, 0, 0, - yycrank+436, 0, 0, - yycrank+446, 0, 0, - yycrank+432, 0, 0, - yycrank+450, 0, 0, - yycrank+451, 0, 0, - yycrank+452, 0, 0, - yycrank+440, 0, 0, - yycrank+444, 0, 0, - yycrank+459, 0, 0, - yycrank+464, 0, 0, - yycrank+438, 0, 0, - yycrank+467, 0, 0, - yycrank+461, 0, 0, - yycrank+454, 0, 0, - yycrank+472, 0, 0, - yycrank+474, 0, 0, - yycrank+471, 0, 0, - yycrank+474, 0, 0, - yycrank+477, 0, 0, - yycrank+480, 0, 0, - yycrank+494, 0, 0, - yycrank+484, 0, 0, - yycrank+489, 0, 0, - yycrank+534, 0, 0, - yycrank+464, 0, 0, - yycrank+471, 0, 0, - yycrank+468, 0, 0, - yycrank+463, 0, 0, - yycrank+456, 0, 0, - yycrank+456, 0, 0, - yycrank+466, 0, 0, - yycrank+464, 0, 0, - yycrank+459, 0, 0, - yycrank+465, 0, 0, - yycrank+462, 0, 0, - yycrank+462, 0, 0, - yycrank+464, 0, 0, - yycrank+470, 0, 0, - yycrank+465, 0, 0, - yycrank+469, 0, 0, - yycrank+472, 0, 0, - yycrank+472, 0, 0, - yycrank+480, 0, 0, - yycrank+487, 0, 0, - yycrank+490, 0, 0, - yycrank+475, 0, 0, - yycrank+0, 0, yyvstop+143, - yycrank+476, 0, 0, - yycrank+479, 0, 0, - yycrank+0, 0, yyvstop+145, - yycrank+487, 0, 0, - yycrank+494, 0, 0, - yycrank+485, 0, 0, - yycrank+499, 0, 0, - yycrank+491, 0, 0, - yycrank+484, 0, 0, - yycrank+484, 0, 0, - yycrank+493, 0, 0, - yycrank+491, 0, 0, - yycrank+494, 0, 0, - yycrank+503, 0, 0, - yycrank+489, 0, 0, - yycrank+505, 0, 0, - yycrank+506, 0, 0, - yycrank+498, 0, 0, - yycrank+510, 0, 0, - yycrank+511, 0, 0, - yycrank+511, 0, 0, - yycrank+508, 0, 0, - yycrank+514, 0, 0, - yycrank+500, 0, 0, - yycrank+510, 0, 0, - yycrank+500, 0, 0, - yycrank+0, 0, yyvstop+147, - yycrank+516, 0, 0, - yycrank+501, 0, 0, - yycrank+514, 0, 0, - yycrank+515, 0, 0, - yycrank+505, 0, 0, - yycrank+612, 0, 0, - yycrank+545, yysvec+52, 0, - yycrank+547, 0, 0, - yycrank+549, yysvec+52, 0, - yycrank+544, 0, 0, - yycrank+561, 0, 0, - yycrank+562, 0, 0, - yycrank+565, 0, 0, - yycrank+558, 0, 0, - yycrank+0, 0, yyvstop+149, - yycrank+566, 0, 0, - yycrank+568, 0, 0, - yycrank+551, 0, 0, - yycrank+551, 0, 0, - yycrank+567, 0, 0, - yycrank+0, 0, yyvstop+151, - yycrank+542, 0, 0, - yycrank+569, 0, 0, - yycrank+563, 0, 0, - yycrank+553, 0, yyvstop+153, - yycrank+576, 0, 0, - yycrank+558, 0, 0, - yycrank+0, 0, yyvstop+155, - yycrank+563, 0, 0, - yycrank+576, 0, 0, - yycrank+578, 0, 0, - yycrank+0, 0, yyvstop+157, - yycrank+581, 0, 0, - yycrank+568, 0, 0, - yycrank+569, 0, 0, - yycrank+0, 0, yyvstop+159, - yycrank+0, 0, yyvstop+161, - yycrank+567, 0, 0, - yycrank+571, 0, 0, - yycrank+571, 0, 0, - yycrank+0, 0, yyvstop+163, - yycrank+579, 0, 0, - yycrank+0, 0, yyvstop+165, - yycrank+543, 0, 0, - yycrank+540, 0, 0, - yycrank+554, 0, 0, - yycrank+556, 0, 0, - yycrank+543, 0, 0, - yycrank+548, 0, 0, - yycrank+559, 0, 0, - yycrank+0, 0, yyvstop+167, - yycrank+560, 0, 0, - yycrank+547, 0, 0, - yycrank+562, 0, 0, - yycrank+567, 0, 0, - yycrank+564, 0, 0, - yycrank+0, 0, yyvstop+169, - yycrank+0, 0, yyvstop+171, - yycrank+0, 0, yyvstop+173, - yycrank+569, 0, 0, - yycrank+566, 0, 0, - yycrank+567, 0, 0, - yycrank+624, 0, 0, - yycrank+568, 0, 0, - yycrank+566, 0, 0, - yycrank+0, 0, yyvstop+175, - yycrank+571, 0, 0, - yycrank+572, 0, 0, - yycrank+577, 0, 0, - yycrank+565, 0, 0, - yycrank+570, 0, 0, - yycrank+0, 0, yyvstop+177, - yycrank+561, 0, 0, - yycrank+564, 0, 0, - yycrank+574, 0, 0, - yycrank+569, 0, 0, - yycrank+584, 0, 0, - yycrank+0, 0, yyvstop+179, - yycrank+578, 0, 0, - yycrank+575, 0, 0, - yycrank+585, 0, 0, - yycrank+0, 0, yyvstop+181, - yycrank+584, 0, 0, - yycrank+585, 0, 0, - yycrank+576, 0, 0, - yycrank+572, 0, 0, - yycrank+573, 0, 0, - yycrank+574, 0, 0, - yycrank+581, 0, 0, - yycrank+588, 0, 0, - yycrank+0, 0, yyvstop+183, - yycrank+579, 0, 0, - yycrank+586, 0, 0, - yycrank+579, 0, 0, - yycrank+0, 0, yyvstop+185, - yycrank+0, 0, yyvstop+187, - yycrank+631, 0, 0, - yycrank+624, yysvec+52, 0, - yycrank+0, 0, yyvstop+189, - yycrank+626, 0, 0, - yycrank+630, 0, 0, - yycrank+627, 0, 0, - yycrank+633, 0, 0, - yycrank+620, 0, 0, - yycrank+617, 0, 0, - yycrank+0, 0, yyvstop+191, - yycrank+639, 0, 0, - yycrank+621, 0, 0, - yycrank+629, 0, 0, - yycrank+625, 0, 0, - yycrank+0, 0, yyvstop+193, - yycrank+643, 0, 0, - yycrank+638, 0, 0, - yycrank+641, 0, 0, - yycrank+0, 0, yyvstop+195, - yycrank+638, 0, 0, - yycrank+647, 0, 0, - yycrank+629, 0, 0, - yycrank+638, 0, 0, - yycrank+638, 0, 0, - yycrank+638, 0, 0, - yycrank+0, 0, yyvstop+197, - yycrank+638, 0, 0, - yycrank+639, 0, 0, - yycrank+649, 0, 0, - yycrank+0, 0, yyvstop+199, - yycrank+0, 0, yyvstop+201, - yycrank+608, 0, 0, - yycrank+0, 0, yyvstop+203, - yycrank+620, 0, 0, - yycrank+613, 0, 0, - yycrank+613, 0, 0, - yycrank+610, 0, 0, - yycrank+0, 0, yyvstop+205, - yycrank+625, 0, 0, - yycrank+621, 0, 0, - yycrank+627, 0, 0, - yycrank+610, 0, 0, - yycrank+0, 0, yyvstop+207, - yycrank+629, 0, 0, - yycrank+622, 0, 0, - yycrank+623, 0, 0, - yycrank+624, 0, 0, - yycrank+630, 0, 0, - yycrank+634, 0, 0, - yycrank+619, 0, 0, - yycrank+622, 0, 0, - yycrank+637, 0, 0, - yycrank+638, 0, 0, - yycrank+643, 0, 0, - yycrank+638, 0, 0, - yycrank+628, 0, 0, - yycrank+631, 0, 0, - yycrank+0, 0, yyvstop+209, - yycrank+643, 0, 0, - yycrank+629, 0, 0, - yycrank+644, 0, 0, - yycrank+0, 0, yyvstop+211, - yycrank+638, 0, 0, - yycrank+0, 0, yyvstop+213, - yycrank+631, 0, 0, - yycrank+634, 0, 0, - yycrank+649, 0, 0, - yycrank+0, 0, yyvstop+215, - yycrank+636, 0, 0, - yycrank+644, 0, 0, - yycrank+0, 0, yyvstop+217, - yycrank+673, 0, 0, - yycrank+684, yysvec+52, 0, - yycrank+0, 0, yyvstop+219, - yycrank+0, 0, yyvstop+221, - yycrank+677, 0, 0, - yycrank+677, 0, 0, - yycrank+684, 0, 0, - yycrank+685, 0, 0, - yycrank+686, 0, 0, - yycrank+678, 0, 0, - yycrank+696, 0, 0, - yycrank+0, 0, yyvstop+223, - yycrank+686, 0, 0, - yycrank+694, 0, 0, - yycrank+682, 0, 0, - yycrank+694, 0, 0, - yycrank+683, 0, 0, - yycrank+0, 0, yyvstop+225, - yycrank+0, 0, yyvstop+227, - yycrank+672, 0, 0, - yycrank+0, 0, yyvstop+229, - yycrank+691, 0, 0, - yycrank+687, 0, 0, - yycrank+681, 0, 0, - yycrank+0, 0, yyvstop+231, - yycrank+671, 0, 0, - yycrank+0, 0, yyvstop+233, - yycrank+0, 0, yyvstop+235, - yycrank+0, 0, yyvstop+237, - yycrank+0, 0, yyvstop+239, - yycrank+662, 0, 0, - yycrank+0, 0, yyvstop+241, - yycrank+672, 0, 0, - yycrank+0, 0, yyvstop+243, - yycrank+673, 0, 0, - yycrank+670, 0, 0, - yycrank+665, 0, 0, - yycrank+676, 0, 0, - yycrank+673, 0, 0, - yycrank+0, 0, yyvstop+245, - yycrank+662, 0, 0, - yycrank+664, 0, 0, - yycrank+682, 0, 0, - yycrank+668, 0, 0, - yycrank+675, 0, 0, - yycrank+674, 0, 0, - yycrank+0, 0, yyvstop+247, - yycrank+0, 0, yyvstop+249, - yycrank+673, 0, 0, - yycrank+0, 0, yyvstop+251, - yycrank+669, 0, 0, - yycrank+0, 0, yyvstop+253, - yycrank+678, 0, 0, - yycrank+683, 0, 0, - yycrank+0, 0, yyvstop+255, - yycrank+688, 0, 0, - yycrank+689, 0, 0, - yycrank+0, 0, yyvstop+257, - yycrank+722, 0, 0, - yycrank+710, 0, 0, - yycrank+725, 0, 0, - yycrank+716, 0, 0, - yycrank+717, 0, 0, - yycrank+707, 0, 0, - yycrank+717, 0, 0, - yycrank+723, 0, 0, - yycrank+0, 0, yyvstop+259, - yycrank+0, 0, yyvstop+261, - yycrank+728, 0, 0, - yycrank+717, 0, 0, - yycrank+734, 0, 0, - yycrank+0, 0, yyvstop+263, - yycrank+718, 0, 0, - yycrank+0, 0, yyvstop+265, - yycrank+0, 0, yyvstop+267, - yycrank+702, 0, 0, - yycrank+0, 0, yyvstop+269, - yycrank+702, 0, 0, - yycrank+702, 0, 0, - yycrank+695, 0, 0, - yycrank+0, 0, yyvstop+271, - yycrank+696, 0, 0, - yycrank+694, 0, 0, - yycrank+708, 0, 0, - yycrank+694, 0, 0, - yycrank+0, 0, yyvstop+273, - yycrank+0, 0, yyvstop+275, - yycrank+0, 0, yyvstop+277, - yycrank+701, 0, 0, - yycrank+707, 0, 0, - yycrank+0, 0, yyvstop+279, - yycrank+713, 0, 0, - yycrank+717, 0, 0, - yycrank+718, 0, 0, - yycrank+737, 0, 0, - yycrank+0, 0, yyvstop+281, - yycrank+749, 0, 0, - yycrank+750, 0, 0, - yycrank+0, 0, yyvstop+283, - yycrank+0, 0, yyvstop+285, - yycrank+0, 0, yyvstop+287, - yycrank+0, 0, yyvstop+289, - yycrank+757, 0, 0, - yycrank+736, 0, 0, - yycrank+745, 0, 0, - yycrank+746, 0, 0, - yycrank+760, 0, 0, - yycrank+751, 0, 0, - yycrank+733, 0, 0, - yycrank+729, 0, 0, - yycrank+714, 0, 0, - yycrank+727, 0, 0, - yycrank+718, 0, 0, - yycrank+723, 0, 0, - yycrank+733, 0, 0, - yycrank+721, 0, 0, - yycrank+0, 0, yyvstop+291, - yycrank+722, 0, 0, - yycrank+0, 0, yyvstop+293, - yycrank+733, 0, 0, - yycrank+0, 0, yyvstop+295, - yycrank+0, 0, yyvstop+297, - yycrank+0, 0, yyvstop+299, - yycrank+769, 0, 0, - yycrank+0, 0, yyvstop+301, - yycrank+773, 0, 0, - yycrank+775, 0, 0, - yycrank+759, 0, 0, - yycrank+764, 0, 0, - yycrank+769, 0, 0, - yycrank+779, 0, 0, - yycrank+763, 0, 0, - yycrank+0, 0, yyvstop+303, - yycrank+0, 0, yyvstop+305, - yycrank+730, 0, 0, - yycrank+0, 0, yyvstop+307, - yycrank+0, 0, yyvstop+309, - yycrank+0, 0, yyvstop+311, - yycrank+0, 0, yyvstop+313, - yycrank+731, 0, 0, - yycrank+732, 0, 0, - yycrank+0, 0, yyvstop+315, - yycrank+773, 0, 0, - yycrank+774, 0, 0, - yycrank+769, 0, 0, - yycrank+769, 0, 0, - yycrank+784, 0, 0, - yycrank+787, 0, 0, - yycrank+786, 0, 0, - yycrank+0, 0, yyvstop+317, - yycrank+0, 0, yyvstop+319, - yycrank+755, 0, 0, - yycrank+788, 0, 0, - yycrank+782, 0, 0, - yycrank+786, 0, 0, - yycrank+776, 0, 0, - yycrank+794, 0, 0, - yycrank+793, 0, 0, - yycrank+792, 0, 0, - yycrank+764, 0, 0, - yycrank+0, 0, yyvstop+321, - yycrank+0, 0, yyvstop+323, - yycrank+797, 0, 0, - yycrank+797, 0, 0, - yycrank+783, 0, 0, - yycrank+785, 0, 0, - yycrank+796, 0, 0, - yycrank+0, 0, yyvstop+325, - yycrank+791, 0, 0, - yycrank+789, 0, 0, - yycrank+789, 0, 0, - yycrank+0, 0, yyvstop+327, - yycrank+794, 0, 0, - yycrank+792, 0, 0, - yycrank+792, 0, 0, - yycrank+0, 0, yyvstop+329, - yycrank+798, 0, 0, - yycrank+794, 0, 0, - yycrank+0, 0, yyvstop+331, - yycrank+0, 0, yyvstop+333, - yycrank+0, 0, yyvstop+335, - 0, 0, 0}; - struct yywork *yytop = yycrank+877; - struct yysvf *yybgin = yysvec+1; - char yymatch[] = { - 00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , - 01 ,011 ,012 ,01 ,01 ,01 ,01 ,01 , - 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , - 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , - 040 ,01 ,'"' ,'#' ,01 ,01 ,01 ,01 , - 01 ,01 ,01 ,'+' ,01 ,'+' ,'#' ,01 , - '0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' , - '0' ,'0' ,01 ,01 ,01 ,01 ,01 ,01 , - 01 ,'#' ,'#' ,'#' ,01 ,01 ,01 ,01 , - '#' ,'#' ,01 ,'#' ,'#' ,01 ,01 ,01 , - '#' ,01 ,01 ,'#' ,01 ,01 ,01 ,'#' , - 01 ,01 ,01 ,01 ,'#' ,01 ,01 ,01 , - 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , - 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , - 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , - 01 ,01 ,01 ,'#' ,'#' ,'#' ,01 ,01 , - 0}; - char yyextra[] = { - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0}; - #ifndef lint - static char ncform_sccsid[] = "@(#)ncform 1.6 88/02/08 SMI"; /* from S5R2 1.2 */ - #endif - - int yylineno =1; - # define YYU(x) x - # define NLSTATE yyprevious=YYNEWLINE - char yytext[YYLMAX]; - struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp; - char yysbuf[YYLMAX]; - char *yysptr = yysbuf; - int *yyfnd; - extern struct yysvf *yyestate; - int yyprevious = YYNEWLINE; - yylook(){ - register struct yysvf *yystate, **lsp; - register struct yywork *yyt; - struct yysvf *yyz; - int yych, yyfirst; - struct yywork *yyr; - # ifdef LEXDEBUG - int debug; - # endif - char *yylastch; - /* start off machines */ - # ifdef LEXDEBUG - debug = 0; - # endif - yyfirst=1; - if (!yymorfg) - yylastch = yytext; - else { - yymorfg=0; - yylastch = yytext+yyleng; - } - for(;;){ - lsp = yylstate; - yyestate = yystate = yybgin; - if (yyprevious==YYNEWLINE) yystate++; - for (;;){ - # ifdef LEXDEBUG - if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1); - # endif - yyt = yystate->yystoff; - if(yyt == yycrank && !yyfirst){ /* may not be any transitions */ - yyz = yystate->yyother; - if(yyz == 0)break; - if(yyz->yystoff == yycrank)break; - } - *yylastch++ = yych = input(); - yyfirst=0; - tryagain: - # ifdef LEXDEBUG - if(debug){ - fprintf(yyout,"char "); - allprint(yych); - putchar('\n'); - } - # endif - yyr = yyt; - if ( (int)yyt > (int)yycrank){ - yyt = yyr + yych; - if (yyt <= yytop && yyt->verify+yysvec == yystate){ - if(yyt->advance+yysvec == YYLERR) /* error transitions */ - {unput(*--yylastch);break;} - *lsp++ = yystate = yyt->advance+yysvec; - goto contin; - } - } - # ifdef YYOPTIM - else if((int)yyt < (int)yycrank) { /* r < yycrank */ - yyt = yyr = yycrank+(yycrank-yyt); - # ifdef LEXDEBUG - if(debug)fprintf(yyout,"compressed state\n"); - # endif - yyt = yyt + yych; - if(yyt <= yytop && yyt->verify+yysvec == yystate){ - if(yyt->advance+yysvec == YYLERR) /* error transitions */ - {unput(*--yylastch);break;} - *lsp++ = yystate = yyt->advance+yysvec; - goto contin; - } - yyt = yyr + YYU(yymatch[yych]); - # ifdef LEXDEBUG - if(debug){ - fprintf(yyout,"try fall back character "); - allprint(YYU(yymatch[yych])); - putchar('\n'); - } - # endif - if(yyt <= yytop && yyt->verify+yysvec == yystate){ - if(yyt->advance+yysvec == YYLERR) /* error transition */ - {unput(*--yylastch);break;} - *lsp++ = yystate = yyt->advance+yysvec; - goto contin; - } - } - if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){ - # ifdef LEXDEBUG - if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1); - # endif - goto tryagain; - } - # endif - else - {unput(*--yylastch);break;} - contin: - # ifdef LEXDEBUG - if(debug){ - fprintf(yyout,"state %d char ",yystate-yysvec-1); - allprint(yych); - putchar('\n'); - } - # endif - ; - } - # ifdef LEXDEBUG - if(debug){ - fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1); - allprint(yych); - putchar('\n'); - } - # endif - while (lsp-- > yylstate){ - *yylastch-- = 0; - if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){ - yyolsp = lsp; - if(yyextra[*yyfnd]){ /* must backup */ - while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){ - lsp--; - unput(*yylastch--); - } - } - yyprevious = YYU(*yylastch); - yylsp = lsp; - yyleng = yylastch-yytext+1; - yytext[yyleng] = 0; - # ifdef LEXDEBUG - if(debug){ - fprintf(yyout,"\nmatch "); - sprint(yytext); - fprintf(yyout," action %d\n",*yyfnd); - } - # endif - return(*yyfnd++); - } - unput(*yylastch); - } - if (yytext[0] == 0 /* && feof(yyin) */) - { - yysptr=yysbuf; - return(0); - } - yyprevious = yytext[0] = input(); - if (yyprevious>0) - output(yyprevious); - yylastch=yytext; - # ifdef LEXDEBUG - if(debug)putchar('\n'); - # endif - } - } - yyback(p, m) - int *p; - { - if (p==0) return(0); - while (*p) - { - if (*p++ == m) - return(1); - } - return(0); - } - /* the following are only used in the lex library */ - yyinput(){ - return(input()); - } - yyoutput(c) - int c; { - output(c); - } - yyunput(c) - int c; { - unput(c); - } --- 2507,2509 ---- diff -c -r ../nethack-3.2.2/sys/share/pcmain.c ./sys/share/pcmain.c *** ../nethack-3.2.2/sys/share/pcmain.c Sat Dec 28 21:54:15 1996 --- ./sys/share/pcmain.c Tue Jul 22 23:18:47 1997 *************** *** 4,9 **** --- 4,15 ---- /* main.c - MSDOS, OS/2, ST, Amiga, and NT NetHack */ + /* + ** Japanese version Copyright (C) Issei Numata, 1994 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "dlb.h" *************** *** 70,76 **** --- 76,86 ---- extern void FDECL(pcmain, (int,char **)); #ifdef OVLB + #ifdef FIGHTER + const char *classes = "ABCEFHKPRSTVW"; + #else const char *classes = "ABCEHKPRSTVW"; + #endif #else extern const char *classes; #endif *************** *** 163,168 **** --- 173,183 ---- ami_wininit_data(); #endif + /* Line like "OPTIONS=name:foo-@" may exist in config file. + * In this case, need to select random class, + * so must call setrandom() before initoptions(). + */ + setrandom(); initoptions(); #ifdef AMIGA *************** *** 207,213 **** --- 222,231 ---- #ifdef CHDIR chdirx(hackdir,0); #endif + /*JP*/ + init_jtrns(); prscore(argc, argv); + jputchar('\0'); /* reset */ nethack_exit(EXIT_SUCCESS); } /* Don't inialize the window system just to print usage */ *************** *** 221,227 **** /* * It seems you really want to play. */ - setrandom(); #ifdef TOS if (comp_times((long)time(&clock_time))) --- 239,244 ---- *************** *** 238,243 **** --- 255,262 ---- chdirx(hackdir,1); #endif + /*JP*/ + init_jtrns(); init_nhwindows(&argc,argv); process_options(argc, argv); *************** *** 317,323 **** iflags.news = FALSE; } #endif ! pline("Restoring save file..."); mark_synch(); /* flush output */ if(!dorecover(fd)) --- 336,343 ---- iflags.news = FALSE; } #endif ! /*JP pline("Restoring save file...");*/ ! pline("¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤òÉü¸µÃæ¡¥¡¥¡¥"); mark_synch(); /* flush output */ if(!dorecover(fd)) *************** *** 325,337 **** #ifdef WIZARD if(!wizard && remember_wiz_mode) wizard = TRUE; #endif ! pline("Hello %s, welcome back to NetHack!", plname); check_special_room(FALSE); if (discover) ! You("are in non-scoring discovery mode."); if (discover || wizard) { ! if(yn("Do you want to keep the save file?") == 'n'){ (void) delete_savefile(); } # ifdef AMIGA --- 345,360 ---- #ifdef WIZARD if(!wizard && remember_wiz_mode) wizard = TRUE; #endif ! /*JP pline("Hello %s, welcome back to NetHack!", plname);*/ ! pline("¤è¤¦¤³¤½ %s, ¤Þ¤¿NetHack¤ÎÀ¤³¦¤Ø¡ª", plname); check_special_room(FALSE); if (discover) ! /*JP You("are in non-scoring discovery mode.");*/ ! pline("õº÷¥â¡¼¥É¤Ç¤Ï¥¹¥³¥¢¤Ï¤Î¤é¤Ê¤¤¤è¡¥"); if (discover || wizard) { ! /*JP if(yn("Do you want to keep the save file?") == 'n'){*/ ! if(yn("¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤ò»Ä¤·¤Æ¤ª¤­¤Þ¤¹¤«¡©") == 'n'){ (void) delete_savefile(); } # ifdef AMIGA *************** *** 346,354 **** player_selection(); newgame(); /* give welcome message before pickup messages */ ! pline("Hello %s, welcome to NetHack!", plname); if (discover) ! You("are in non-scoring discovery mode."); flags.move = 0; set_wear(); --- 369,379 ---- player_selection(); newgame(); /* give welcome message before pickup messages */ ! /*JP pline("Hello %s, welcome to NetHack!", plname);*/ ! pline("¤è¤¦¤³¤½ %s, NetHack¤ÎÀ¤³¦¤Ø¡ª", plname); if (discover) ! /*JP You("are in non-scoring discovery mode.");*/ ! pline("õº÷¥â¡¼¥É¤Ç¤Ï¥¹¥³¥¢¤Ï¤Î¤é¤Ê¤¤¤è¡¥"); flags.move = 0; set_wear(); diff -c -r ../nethack-3.2.2/sys/share/pcunix.c ./sys/share/pcunix.c *** ../nethack-3.2.2/sys/share/pcunix.c Wed Sep 13 01:40:25 1995 --- ./sys/share/pcunix.c Tue Jul 22 23:18:47 1997 *************** *** 7,12 **** --- 7,16 ---- #include "hack.h" #include + /*JP*/ + #if 0 + #include + #endif #ifdef OVLB *************** *** 110,118 **** */ register char *s; { ! register char *lp; ! for (lp = s; *lp; lp++) if (*lp <= ' ' || *lp == '"' || (*lp >= '*' && *lp <= ',') || *lp == '.' || *lp == '/' || (*lp >= ':' && *lp <= '?') || # ifdef OS2 --- 114,134 ---- */ register char *s; { ! /*JP register char *lp;*/ ! register unsigned char *lp; ! ! #ifdef MSDOS ! lp = (unsigned char *)ic2str( s ); ! strcpy(s, lp); ! #endif ! for (lp = s; *lp; lp++){ ! /*JP*/ ! if (is_kanji(*lp)){ ! /* lp += 2;*/ ! lp++; ! continue; ! } if (*lp <= ' ' || *lp == '"' || (*lp >= '*' && *lp <= ',') || *lp == '.' || *lp == '/' || (*lp >= ':' && *lp <= '?') || # ifdef OS2 *************** *** 120,125 **** --- 136,142 ---- # endif *lp == '|' || *lp >= 127 || (*lp >= '[' && *lp <= ']')) *lp = '_'; + } } # endif /* WIN32 */ #endif /* OVLB */ diff -c -r ../nethack-3.2.2/sys/unix/Makefile.dat ./sys/unix/Makefile.dat *** ../nethack-3.2.2/sys/unix/Makefile.dat Tue Sep 12 20:01:37 1995 --- ./sys/unix/Makefile.dat Tue Jul 22 23:18:47 1997 *************** *** 1,7 **** # NetHack Makefile. ! # SCCS Id: @(#)Makefile.dat 3.2 92/09/18 ! VARDAT = data rumors quest.dat oracles options all: $(VARDAT) spec_levs quest_levs dungeon --- 1,9 ---- # NetHack Makefile. ! # SCCS Id: @(#)Makefile.dat 3.1 92/09/18 ! # by issei 1994/2/5 ! #VARDAT = data rumors quest.dat oracles options ! VARDAT = data jrumors quest.dat joracles options all: $(VARDAT) spec_levs quest_levs dungeon *************** *** 28,44 **** rip.xpm: ../win/X11/rip.xpm cp ../win/X11/rip.xpm rip.xpm - data: data.base ../util/makedefs ../util/makedefs -d ! rumors: rumors.tru rumors.fal ../util/makedefs ../util/makedefs -r quest.dat: quest.txt ../util/makedefs ../util/makedefs -q ! oracles: oracles.txt ../util/makedefs ../util/makedefs -h # note: 'options' should have already been made when include/date.h was created --- 30,48 ---- rip.xpm: ../win/X11/rip.xpm cp ../win/X11/rip.xpm rip.xpm data: data.base ../util/makedefs ../util/makedefs -d ! #rumors: rumors.tru rumors.fal ../util/makedefs ! jrumors: jrumors.tru jrumors.fal ../util/makedefs ../util/makedefs -r quest.dat: quest.txt ../util/makedefs ../util/makedefs -q ! # by issei 1994/2/5 ! #oracles: oracles.txt ../util/makedefs ! joracles: joracles.txt ../util/makedefs ../util/makedefs -h # note: 'options' should have already been made when include/date.h was created *************** *** 62,73 **** touch spec_levs quest_levs: ../util/lev_comp \ ! Arch.des Barb.des Caveman.des Elf.des Healer.des Knight.des \ Priest.des Rogue.des Samurai.des Tourist.des Valkyrie.des Wizard.des ../util/lev_comp Arch.des ../util/lev_comp Barb.des ../util/lev_comp Caveman.des ../util/lev_comp Elf.des ../util/lev_comp Healer.des ../util/lev_comp Knight.des ../util/lev_comp Priest.des --- 66,78 ---- touch spec_levs quest_levs: ../util/lev_comp \ ! Arch.des Barb.des Caveman.des Elf.des Fighter.des Healer.des Knight.des \ Priest.des Rogue.des Samurai.des Tourist.des Valkyrie.des Wizard.des ../util/lev_comp Arch.des ../util/lev_comp Barb.des ../util/lev_comp Caveman.des ../util/lev_comp Elf.des + ../util/lev_comp Fighter.des ../util/lev_comp Healer.des ../util/lev_comp Knight.des ../util/lev_comp Priest.des *************** *** 84,87 **** spotless: -rm -f spec_levs quest_levs *.lev $(VARDAT) dungeon dungeon.pdf - -rm -f nhdat x11tiles pet_mark.xbm rip.xpm --- 89,91 ---- diff -c -r ../nethack-3.2.2/sys/unix/Makefile.src ./sys/unix/Makefile.src *** ../nethack-3.2.2/sys/unix/Makefile.src Sat Dec 28 21:54:16 1996 --- ./sys/unix/Makefile.src Tue Jul 22 23:18:48 1997 *************** *** 50,55 **** --- 50,58 ---- #SYSSRC = ../sys/be/bemain.c ../sys/share/unixtty.c ../sys/share/ioctl.c #SYSOBJ = bemain.o unixtty.o ioctl.o + #JP by issei(93/11/10) + JSRC = ../japanese/jconj.c ../japanese/jtrns.c ../japanese/jlib.c + JOBJ = jconj.o jtrns.o jlib.o # if you are using gcc as your compiler: # uncomment the CC definition below if it's not in your environment *************** *** 64,70 **** # # If you are using GCC 2.2.2 or higher on a DPX/2, just use: # ! # CC = gcc -ansi # # if you're debugging and want gcc to check as much as possible, use: # CC = gcc -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -DGCC_WARN --- 67,73 ---- # # If you are using GCC 2.2.2 or higher on a DPX/2, just use: # ! CC = gcc -ansi # # if you're debugging and want gcc to check as much as possible, use: # CC = gcc -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -DGCC_WARN *************** *** 124,131 **** # flags for debugging: # CFLAGS = -g -I../include ! CFLAGS = -O -I../include ! LFLAGS = # Set the WINSRC, WINOBJ, and WINLIB lines to correspond to your desired --- 127,134 ---- # flags for debugging: # CFLAGS = -g -I../include ! CFLAGS = -g -I../include ! LFLAGS = -g # Set the WINSRC, WINOBJ, and WINLIB lines to correspond to your desired *************** *** 197,206 **** # IRIX 4.0.x needs -lsun if NIS (YP) is being used for passwd file lookup # LIBS = -lsun # LIBS = # make NetHack ! GAME = nethack # if you defined RANDOM in unixconf.h/tosconf.h since your system did not come # with a reasonable random number generator --- 200,215 ---- # IRIX 4.0.x needs -lsun if NIS (YP) is being used for passwd file lookup # LIBS = -lsun # + # FreeBSD-2.2 needs -lxpg4 to use locale + # + # LIBS = -lxpg4 + # LIBS = # make NetHack ! #JP by issei(96/5/27) ! #GAME = nethack ! GAME = jnethack # if you defined RANDOM in unixconf.h/tosconf.h since your system did not come # with a reasonable random number generator *************** *** 245,254 **** WINCSRC = $(WINTTYSRC) $(WINX11SRC) # .c files for this version (for date.h) ! VERSOURCES = $(HACKCSRC) $(SYSSRC) $(WINSRC) monstr.c vis_tab.c # .c files for all UNIX versions (for lint and tags) ! CSOURCES = $(HACKCSRC) $(SYSSRC) $(WINCSRC) monstr.c vis_tab.c # all .h files except date.h, onames.h, pm.h, and vis_tab.h which would --- 254,263 ---- WINCSRC = $(WINTTYSRC) $(WINX11SRC) # .c files for this version (for date.h) ! VERSOURCES = $(HACKCSRC) $(JSRC) $(SYSSRC) $(WINSRC) monstr.c vis_tab.c # .c files for all UNIX versions (for lint and tags) ! CSOURCES = $(HACKCSRC) $(JSRC) $(SYSSRC) $(WINCSRC) monstr.c vis_tab.c # all .h files except date.h, onames.h, pm.h, and vis_tab.h which would *************** *** 285,291 **** teleport.o timeout.o topten.o track.o trap.o u_init.o uhitm.o \ vault.o vision.o vis_tab.o weapon.o were.o wield.o windows.o \ wizard.o worm.o worn.o write.o zap.o \ ! $(RANDOBJ) $(SYSOBJ) $(WINOBJ) version.o # the .o files from the HACKCSRC, SYSSRC, and WINSRC lists $(GAME): $(SYSTEM) --- 294,300 ---- teleport.o timeout.o topten.o track.o trap.o u_init.o uhitm.o \ vault.o vision.o vis_tab.o weapon.o were.o wield.o windows.o \ wizard.o worm.o worn.o write.o zap.o \ ! $(RANDOBJ) $(JOBJ) $(SYSOBJ) $(WINOBJ) version.o # the .o files from the HACKCSRC, SYSSRC, and WINSRC lists $(GAME): $(SYSTEM) *************** *** 293,299 **** Sysunix: $(HOBJ) Makefile @echo "Loading ..." ! @$(CC) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB) $(LIBS) @touch Sysunix Sys3B2: $(HOBJ) Makefile --- 302,308 ---- Sysunix: $(HOBJ) Makefile @echo "Loading ..." ! $(CC) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB) $(LIBS) @touch Sysunix Sys3B2: $(HOBJ) Makefile *************** *** 377,382 **** --- 386,394 ---- @( cd ../util ; $(MAKE) ../src/vis_tab.c ) ../src/./tile.c: ../win/share/tilemap.c ../include/hack.h @( cd ../util ; $(MAKE) ../src/tile.c ) + #JP by issei(94/07/13) + ../include/jdata.h: $(MAKEDEFS) ../dat/jtrnsobj.dat ../dat/jtrnsmon.dat + @( cd ../util ; $(MAKE) ../include/jdata.h ) # date.h should be remade any time any of the source or include code # is modified. Unfortunately, this would make the contents of this *************** *** 407,417 **** --- 419,433 ---- clean: -rm -f *.o + #JP by issei(93/11/26) + -rm -f ../japanese/*.o spotless: clean -rm -f a.out core $(GAME) Sys* -rm -f ../include/date.h ../include/onames.h ../include/pm.h -rm -f monstr.c ../include/vis_tab.h vis_tab.c tile.c + #JP by issei(93/7/13) + -rm -f ../include/jdata.h depend: *************** *** 456,461 **** --- 472,491 ---- -e '$$s;.*;&\ $$(CC) $$(CFLAGS) -c '$$i';p' \ >> makedep); done + #/*JP*/ + for i in ${JSRC}; do\ + ( echo '#include ""' | cat - $$i | \ + /bin/grep '^#[ ]*include[ ]*"' | sed -n \ + -e 's/[^"]*"\([^"]*\)".*/\1/' \ + -e 's/patchlev.h//' \ + -e 's/.*\.h/..\/include\/&/' \ + -e H \ + -e '$$g' -e '$$s/\n/ /g' \ + -e '$$s;.*;'$$i': '$$i'&;' \ + -e '$$s;\.\./[^/]*/\([^.]*\)\.c;\1.o;' \ + -e '$$s;.*;&\ + $$(CC) $$(CFLAGS) -c '$$i';p' \ + >> makedep); done for i in ${HACKCSRC}; do \ ( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \ -e 's/[^"]*"\([^"]*\)".*/\1/' \ *************** *** 553,558 **** --- 583,594 ---- $(CC) $(CFLAGS) -c ../win/X11/winval.c tile.o: ../src/./tile.c ../include/hack.h $(CC) $(CFLAGS) -c ../src/./tile.c + jconj.o: ../japanese/jconj.c ../include/hack.h + $(CC) $(CFLAGS) -c ../japanese/jconj.c + jtrns.o: ../japanese/jtrns.c ../include/hack.h ../include/jdata.h + $(CC) $(CFLAGS) -c ../japanese/jtrns.c + jlib.o: ../japanese/jlib.c ../include/hack.h + $(CC) $(CFLAGS) -c ../japanese/jlib.c allmain.o: ../include/hack.h alloc.o: ../include/config.h apply.o: ../include/hack.h ../include/edog.h *************** *** 576,582 **** dokick.o: ../include/hack.h ../include/eshk.h dothrow.o: ../include/hack.h drawing.o: ../include/hack.h ../include/termcap.h ! dungeon.o: ../include/hack.h ../include/dgn_file.h ../include/dlb.h eat.o: ../include/hack.h end.o: ../include/hack.h ../include/eshk.h ../include/dlb.h engrave.o: ../include/hack.h ../include/lev.h --- 612,618 ---- dokick.o: ../include/hack.h ../include/eshk.h dothrow.o: ../include/hack.h drawing.o: ../include/hack.h ../include/termcap.h ! dungeon.o: ../include/hack.h ../include/dgn_file.h ../include/dlb.h ../include/../japanese/emalloc.h eat.o: ../include/hack.h end.o: ../include/hack.h ../include/eshk.h ../include/dlb.h engrave.o: ../include/hack.h ../include/lev.h *************** *** 651,657 **** u_init.o: ../include/hack.h uhitm.o: ../include/hack.h vault.o: ../include/hack.h ../include/vault.h ! version.o: ../include/hack.h ../include/date.h ../include/patchlevel.h vision.o: ../include/hack.h ../include/vis_tab.h weapon.o: ../include/hack.h were.o: ../include/hack.h --- 687,693 ---- u_init.o: ../include/hack.h uhitm.o: ../include/hack.h vault.o: ../include/hack.h ../include/vault.h ! version.o: ../include/hack.h ../include/date.h ../include/patchlevel.h ../include/../japanese/jpatchlevel.h vision.o: ../include/hack.h ../include/vis_tab.h weapon.o: ../include/hack.h were.o: ../include/hack.h *************** *** 666,674 **** touch ../include/amiconf.h ../include/config.h: ../include/tradstdc.h ../include/global.h touch ../include/config.h ! ../include/decl.h: ../include/quest.h ../include/spell.h ../include/color.h \ ! ../include/obj.h ../include/you.h ../include/onames.h \ ! ../include/pm.h touch ../include/decl.h ../include/display.h: ../include/vision.h ../include/mondata.h touch ../include/display.h --- 702,708 ---- touch ../include/amiconf.h ../include/config.h: ../include/tradstdc.h ../include/global.h touch ../include/config.h ! ../include/decl.h: ../include/quest.h ../include/spell.h ../include/color.h ../include/obj.h ../include/you.h ../include/onames.h ../include/pm.h touch ../include/decl.h ../include/display.h: ../include/vision.h ../include/mondata.h touch ../include/display.h *************** *** 703,710 **** touch ../include/os2conf.h ../include/pcconf.h: ../include/micro.h ../include/system.h touch ../include/pcconf.h ! ../include/permonst.h: ../include/monattk.h ../include/monflag.h \ ! ../include/align.h touch ../include/permonst.h ../include/rm.h: ../include/align.h touch ../include/rm.h --- 737,743 ---- touch ../include/os2conf.h ../include/pcconf.h: ../include/micro.h ../include/system.h touch ../include/pcconf.h ! ../include/permonst.h: ../include/monattk.h ../include/monflag.h ../include/align.h touch ../include/permonst.h ../include/rm.h: ../include/align.h touch ../include/rm.h diff -c -r ../nethack-3.2.2/sys/unix/Makefile.top ./sys/unix/Makefile.top *** ../nethack-3.2.2/sys/unix/Makefile.top Fri Jun 21 02:25:52 1996 --- ./sys/unix/Makefile.top Tue Jul 22 23:18:48 1997 *************** *** 14,20 **** # MAKE = make # make NetHack ! GAME = nethack GAMEUID = games GAMEGRP = bin --- 14,22 ---- # MAKE = make # make NetHack ! # by issei 1996/5/27 ! #GAME = nethack ! GAME = jnethack GAMEUID = games GAMEGRP = bin *************** *** 40,48 **** # VARDATND = x11tiles pet_mark.xbm # VARDATND = x11tiles pet_mark.xbm rip.xpm ! VARDATD = data oracles options quest.dat rumors VARDAT = $(VARDATD) $(VARDATND) # Some versions of make use the SHELL environment variable as the shell # for running commands. We need this to be a Bourne shell. # SHELL = /bin/sh --- 42,54 ---- # VARDATND = x11tiles pet_mark.xbm # VARDATND = x11tiles pet_mark.xbm rip.xpm ! #JP ! # by issei 1996/5/20 ! #VARDATD = data oracles options quest.dat rumors ! VARDATD = data joracles options quest.dat jrumors VARDAT = $(VARDATD) $(VARDATND) + # Some versions of make use the SHELL environment variable as the shell # for running commands. We need this to be a Bourne shell. # SHELL = /bin/sh *************** *** 59,65 **** # end of configuration # ! DATHELP = help hh cmdhelp history opthelp wizhelp SPEC_LEVS = asmodeus.lev baalz.lev bigrm-?.lev castle.lev fakewiz?.lev \ juiblex.lev knox.lev medusa-?.lev minend-?.lev minefill.lev \ --- 65,73 ---- # end of configuration # ! # by issei 1994/2/5, 1994/6/25 ! #DATHELP = help hh cmdhelp history opthelp wizhelp ! DATHELP = jhelp jhh jcmdhelp history jopthelp jwizhelp jjj SPEC_LEVS = asmodeus.lev baalz.lev bigrm-?.lev castle.lev fakewiz?.lev \ juiblex.lev knox.lev medusa-?.lev minend-?.lev minefill.lev \ *************** *** 86,96 **** data: ( cd dat ; $(MAKE) data ) ! rumors: ! ( cd dat ; $(MAKE) rumors ) ! ! oracles: ! ( cd dat ; $(MAKE) oracles ) # Note: options should have already been made with make, but... options: --- 94,106 ---- data: ( cd dat ; $(MAKE) data ) ! #JP ! jrumors: ! ( cd dat ; $(MAKE) jrumors ) ! ! #JP ! joracles: ! ( cd dat ; $(MAKE) joracles ) # Note: options should have already been made with make, but... options: diff -c -r ../nethack-3.2.2/sys/unix/Makefile.utl ./sys/unix/Makefile.utl *** ../nethack-3.2.2/sys/unix/Makefile.utl Sat Dec 28 21:54:16 1996 --- ./sys/unix/Makefile.utl Tue Jul 22 23:18:48 1997 *************** *** 15,21 **** # if you are using gcc as your compiler, # uncomment the CC definition below if it's not in your environment ! # CC = gcc # # For Bull DPX/2 systems at B.O.S. 2.0 or higher use the following: # --- 15,21 ---- # if you are using gcc as your compiler, # uncomment the CC definition below if it's not in your environment ! CC = gcc # # For Bull DPX/2 systems at B.O.S. 2.0 or higher use the following: # *************** *** 84,94 **** # yacc/lex programs to use to generate *_comp.h, *_lex.c, and *_yacc.c. # if, instead of yacc/lex you have bison/flex, comment/uncomment the following. ! YACC = yacc ! LEX = lex ! # YACC = bison -y # YACC = byacc ! # LEX = flex # these are the names of the output files from YACC/LEX. Under MS-DOS # and similar systems, they may differ --- 84,94 ---- # yacc/lex programs to use to generate *_comp.h, *_lex.c, and *_yacc.c. # if, instead of yacc/lex you have bison/flex, comment/uncomment the following. ! # YACC = yacc ! # LEX = lex ! YACC = bison -y # YACC = byacc ! LEX = flex -8 # these are the names of the output files from YACC/LEX. Under MS-DOS # and similar systems, they may differ *************** *** 160,165 **** --- 160,167 ---- ./makedefs -z ../src/vis_tab.c: makedefs ./makedefs -z + ../include/jdata.h: makedefs + ./makedefs -j lintdefs: @lint -axbh -I../include -DLINT $(MAKESRC) ../src/monst.c ../src/objects.c | sed '/_flsbuf/d' diff -c -r ../nethack-3.2.2/sys/unix/unixmain.c ./sys/unix/unixmain.c *** ../nethack-3.2.2/sys/unix/unixmain.c Sat Dec 28 21:54:16 1996 --- ./sys/unix/unixmain.c Tue Jul 22 23:18:49 1997 *************** *** 4,9 **** --- 4,15 ---- /* main.c - Unix NetHack */ + /* + ** Japanese version Copyright (C) Issei Numata, 1994 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "dlb.h" *************** *** 97,103 **** --- 103,114 ---- #ifdef CHDIR chdirx(dir,0); #endif + /*JP*/ + setkcode('I'); + initoptions(); + init_jtrns(); prscore(argc, argv); + jputchar('\0'); /* reset */ exit(EXIT_SUCCESS); } } *************** *** 108,113 **** --- 119,125 ---- */ gethdate(hname); + /* * We cannot do chdir earlier, otherwise gethdate will fail. * Change directories before we initialize the window system so *************** *** 120,125 **** --- 132,142 ---- #ifdef _M_UNIX check_sco_console(); #endif + /* Line like "OPTIONS=name:foo-@" may exist in config file. + * In this case, need to select random class, + * so must call setrandom() before initoptions(). + */ + setrandom(); initoptions(); init_nhwindows(&argc,argv); exact_username = whoami(); *************** *** 130,141 **** /* * It seems you really want to play. */ - setrandom(); u.uhp = 1; /* prevent RIP on early quits */ (void) signal(SIGHUP, (SIG_RET_TYPE) hangup); #ifdef SIGXCPU (void) signal(SIGXCPU, (SIG_RET_TYPE) hangup); #endif process_options(argc, argv); /* command line options */ --- 147,159 ---- /* * It seems you really want to play. */ u.uhp = 1; /* prevent RIP on early quits */ (void) signal(SIGHUP, (SIG_RET_TYPE) hangup); #ifdef SIGXCPU (void) signal(SIGXCPU, (SIG_RET_TYPE) hangup); #endif + /*JP*/ + init_jtrns(); process_options(argc, argv); /* command line options */ *************** *** 220,233 **** iflags.news = FALSE; /* in case dorecover() fails */ } #endif ! pline("Restoring save file..."); mark_synch(); /* flush output */ if(!dorecover(fd)) goto not_recovered; #ifdef WIZARD if(!wizard && remember_wiz_mode) wizard = TRUE; #endif ! pline("Hello %s, welcome back to NetHack!", plname); check_special_room(FALSE); wd_message(); --- 238,253 ---- iflags.news = FALSE; /* in case dorecover() fails */ } #endif ! /*JP pline("Restoring save file...");*/ ! pline("¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤òÉü¸µÃæ¡¥¡¥¡¥"); mark_synch(); /* flush output */ if(!dorecover(fd)) goto not_recovered; #ifdef WIZARD if(!wizard && remember_wiz_mode) wizard = TRUE; #endif ! /*JP pline("Hello %s, welcome back to NetHack!", plname);*/ ! pline("¤è¤¦¤³¤½ %s, ¤Þ¤¿NetHack¤ÎÀ¤³¦¤Ø¡ª", plname); check_special_room(FALSE); wd_message(); *************** *** 245,251 **** player_selection(); newgame(); /* give welcome message before pickup messages */ ! pline("Hello %s, welcome to NetHack!", plname); wd_message(); flags.move = 0; --- 265,272 ---- player_selection(); newgame(); /* give welcome message before pickup messages */ ! /*JP pline("Hello %s, welcome to NetHack!", plname);*/ ! pline("¤è¤¦¤³¤½ %s, NetHack¤ÎÀ¤³¦¤Ø¡ª", plname); wd_message(); flags.move = 0; *************** *** 424,439 **** { #ifdef WIZARD if (wiz_error_flag) { ! pline("Only user \"%s\" may access debug (wizard) mode.", # ifndef KR1ED WIZARD); # else WIZARD_NAME); # endif ! pline("Entering discovery mode instead."); } else #endif if (discover) ! You("are in non-scoring discovery mode."); } /*unixmain.c*/ --- 445,463 ---- { #ifdef WIZARD if (wiz_error_flag) { ! /*JP pline("Only user \"%s\" may access debug (wizard) mode.",*/ ! pline("¡Ö%s¡×¤Î¤ß¤¬¥Ç¥Ð¥Ã¥°(wizard)¥â¡¼¥É¤ò»ÈÍѤǤ­¤ë¡¥", # ifndef KR1ED WIZARD); # else WIZARD_NAME); # endif ! /*JP pline("Entering discovery mode instead.");*/ ! pline("¤«¤ï¤ê¤Ëȯ¸«¥â¡¼¥É¤Ø°Ü¹Ô¤¹¤ë¡¥"); } else #endif if (discover) ! /*JP You("are in non-scoring discovery mode.");*/ ! You("¥¹¥³¥¢¤ÎºÜ¤é¤Ê¤¤È¯¸«¥â¡¼¥É¤Çµ¯Æ°¤·¤¿¡¥"); } /*unixmain.c*/ diff -c -r ../nethack-3.2.2/src/allmain.c ./src/allmain.c *** ../nethack-3.2.2/src/allmain.c Sat Dec 28 21:53:33 1996 --- ./src/allmain.c Tue Jul 22 23:18:09 1997 *************** *** 4,9 **** --- 4,16 ---- /* various code that was replicated in *main.c */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #ifndef NO_SIGNAL *************** *** 28,41 **** flags.moonphase = phase_of_the_moon(); if(flags.moonphase == FULL_MOON) { ! You("are lucky! Full moon tonight."); change_luck(1); } else if(flags.moonphase == NEW_MOON) { ! pline("Be careful! New moon tonight."); } flags.friday13 = friday_13th(); if (flags.friday13) { ! pline("Watch out! Bad things can happen on Friday the 13th."); change_luck(-1); } --- 35,51 ---- flags.moonphase = phase_of_the_moon(); if(flags.moonphase == FULL_MOON) { ! /*JP You("are lucky! Full moon tonight.");*/ ! pline("¥é¥Ã¥­¡¼¡ªº£ÈÕ¤ÏËþ·î¤À¡¥"); change_luck(1); } else if(flags.moonphase == NEW_MOON) { ! /*JP pline("Be careful! New moon tonight.");*/ ! pline("Ãí°Õ¤·¤í¡ªº£ÈդϿ··î¤À¡¥"); } flags.friday13 = friday_13th(); if (flags.friday13) { ! /*JP pline("Watch out! Bad things can happen on Friday the 13th.");*/ ! pline("ÍÑ¿´¤·¤í¡ª£±£³Æü¤Î¶âÍËÆü¤Ë¤Ï¤è¤¯¤Ê¤¤¤³¤È¤¬¤¢¤ë¡¥") ; change_luck(-1); } *************** *** 170,176 **** } else if (!Upolyd && u.uhp > 1) { u.uhp--; } else { ! You("pass out from exertion!"); exercise(A_CON, FALSE); fall_asleep(-10, FALSE); } --- 180,187 ---- } else if (!Upolyd && u.uhp > 1) { u.uhp--; } else { ! /*JP You("pass out from exertion!");*/ ! pline("ÈèÏ«¤Ç°Õ¼±¤ò¼º¤Ã¤¿¡ª"); exercise(A_CON, FALSE); fall_asleep(-10, FALSE); } *************** *** 317,327 **** u.utrap -= 1<<8; if(u.utrap < 1<<8) { killer_format = KILLED_BY; ! killer = "molten lava"; ! You("sink below the surface and die."); done(DISSOLVED); } else if(didmove && !u.umoved) { ! Norep("You sink deeper into the lava."); u.utrap += rnd(4); } } --- 328,341 ---- u.utrap -= 1<<8; if(u.utrap < 1<<8) { killer_format = KILLED_BY; ! /*JP killer = "molten lava";*/ ! /*JP You("sink below the surface and die.");*/ ! killer = "¤É¤í¤É¤í¤ÎÍÏ´ä¤Ç"; ! You("ÍÏ´ä¤Ë¿¼¤¯ÄÀ¤ß¡¤ÍϤ±¤¿¡¥"); done(DISSOLVED); } else if(didmove && !u.umoved) { ! /*JP Norep("You sink deeper into the lava.");*/ ! Norep("ÍÏ´ä¤Ë¿¼¤¯ÄÀ¤ó¤À¡¥"); u.utrap += rnd(4); } } *************** *** 368,374 **** stop_occupation() { if(occupation) { ! You("stop %s.", occtxt); occupation = 0; /* fainting stops your occupation, there's no reason to sync. sync_hunger(); --- 382,389 ---- stop_occupation() { if(occupation) { ! /*JP You("stop %s.", occtxt);*/ ! You("%s¤Î¤òÃæÃǤ·¤¿¡¥", occtxt); occupation = 0; /* fainting stops your occupation, there's no reason to sync. sync_hunger(); diff -c -r ../nethack-3.2.2/src/apply.c ./src/apply.c *** ../nethack-3.2.2/src/apply.c Sat Dec 28 21:53:34 1996 --- ./src/apply.c Tue Sep 23 07:10:06 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "edog.h" *************** *** 24,29 **** --- 31,39 ---- static void FDECL(use_bell, (struct obj *)); static void FDECL(use_candelabrum, (struct obj *)); static void FDECL(use_candle, (struct obj *)); + + + static void FDECL(use_lamp, (struct obj *)); static void FDECL(light_cocktail, (struct obj *)); static void FDECL(use_tinning_kit, (struct obj *)); *************** *** 37,43 **** void FDECL( amii_speaker, ( struct obj *, char *, int ) ); #endif ! static char no_elbow_room[] = "don't have enough elbow-room to maneuver."; #ifdef TOURIST static int --- 47,54 ---- void FDECL( amii_speaker, ( struct obj *, char *, int ) ); #endif ! /*JPstatic char no_elbow_room[] = "don't have enough elbow-room to maneuver.";*/ ! static char no_elbow_room[] = "¤½¤ì¤ò¤¹¤ë¤À¤±¤Î¤æ¤È¤ê¤¬¤Ê¤¤¡¥"; #ifdef TOURIST static int *************** *** 47,53 **** register struct monst *mtmp; if(Underwater) { ! pline("Using your camera underwater would void the warranty."); return(0); } if(!getdir((char *)0)) return(0); --- 58,65 ---- register struct monst *mtmp; if(Underwater) { ! /*JP pline("Using your camera underwater would void the warranty.");*/ ! pline("¤½¤ó¤Ê¤³¤È¤ò¤·¤¿¤éÊݾڤ¬¸ú¤«¤Ê¤¯¤Ê¤ë¡¥"); return(0); } if(!getdir((char *)0)) return(0); *************** *** 55,64 **** if (obj->cursed && !rn2(2)) { (void) zapyourself(obj, TRUE); } else if (u.uswallow) { ! You("take a picture of %s %s.", s_suffix(mon_nam(u.ustuck)), ! is_animal(u.ustuck->data) ? "stomach" : "interior"); } else if (u.dz) { ! You("take a picture of the %s.", (u.dz > 0) ? surface(u.ux,u.uy) : ceiling(u.ux,u.uy)); } else if (!u.dx && !u.dy) { (void) zapyourself(obj, TRUE); --- 67,79 ---- if (obj->cursed && !rn2(2)) { (void) zapyourself(obj, TRUE); } else if (u.uswallow) { ! /*JP You("take a picture of %s %s.", s_suffix(mon_nam(u.ustuck)), ! is_animal(u.ustuck->data) ? "stomach" : "interior");*/ ! You("%s¤Î%s¤Î¼Ì¿¿¤ò»£¤Ã¤¿¡¥", mon_nam(u.ustuck), ! is_animal(u.ustuck->data) ? "°ß" : "ÆâÉô"); } else if (u.dz) { ! /*JP You("take a picture of the %s.",*/ ! You("%s¤Î¼Ì¿¿¤ò»£¤Ã¤¿", (u.dz > 0) ? surface(u.ux,u.uy) : ceiling(u.ux,u.uy)); } else if (!u.dx && !u.dy) { (void) zapyourself(obj, TRUE); *************** *** 76,85 **** struct obj *obj; { if(!freehand()) { ! You("have no free %s!", body_part(HAND)); return 0; } else if (obj->owornmask) { ! You("cannot use it while you're wearing it!"); return 0; } else if (obj->cursed) { long old; --- 91,102 ---- struct obj *obj; { if(!freehand()) { ! /*JP You("have no free %s!", body_part(HAND));*/ ! You("%s¤Î¼«Í³¤¬¸ú¤«¤Ê¤¤¡ª", body_part(HAND)); return 0; } else if (obj->owornmask) { ! /*JP You("cannot use it while you're wearing it!");*/ ! You("¤½¤ì¤ò¿È¤Ë¤Ä¤±¤Æ¤¤¤ë¤Î¤Ç»ÈÍѤǤ­¤Ê¤¤¡ª"); return 0; } else if (obj->cursed) { long old; *************** *** 87,109 **** --- 104,140 ---- case 2: old = Glib; Glib += rn1(10, 3); + /*JP Your("%s %s!", makeplural(body_part(HAND)), (old ? "are filthier than ever" : "get slimy")); + */ + Your("%s¤Ï%s¡ª", makeplural(body_part(HAND)), + (old ? "¤Þ¤¹¤Þ¤¹±ø¤Ê¤¯¤Ê¤Ã¤¿" : "¤Ì¤ë¤Ì¤ë¤Ë¤Ê¤Ã¤¿")); return 1; case 1: if (!Blindfolded) { old = u.ucreamed; u.ucreamed += rn1(10, 3); + /*JP pline("Yecch! Your %s %s gunk on it!", body_part(FACE), (old ? "has more" : "now has")); + */ + pline("¥²¥§¡¼¡ª¤¢¤Ê¤¿¤Î%s¤Ï%s¤Ù¤È¤Ù¤È¤Ë¤Ê¤Ã¤¿¡ª", body_part(FACE), + (old ? "¤â¤Ã¤È" : "")); make_blinded(Blinded + (long)u.ucreamed - old, TRUE); } else { if (ublindf->cursed) { + /*JP You("push your blindfold %s.", rn2(2) ? "cock-eyed" : "crooked"); + */ + pline("Ìܱ£¤·¤¬¤º¤ì¤¿¡¥"); } else { struct obj *saved_ublindf = ublindf; + /*JP You("push your blindfold off."); + */ + pline("Ìܱ£¤·¤¬¤º¤êÍî¤Á¤¿¡¥"); Blindf_off(ublindf); dropx(saved_ublindf); } *************** *** 116,138 **** if (Glib) { Glib = 0; ! You("wipe off your %s.", makeplural(body_part(HAND))); return 1; } else if(u.ucreamed) { Blinded -= u.ucreamed; u.ucreamed = 0; if (!Blinded) { ! pline("You've got the glop off."); Blinded = 1; make_blinded(0L,TRUE); } else { ! Your("%s feels clean now.", body_part(FACE)); } return 1; } ! Your("%s and %s are already clean.", body_part(FACE), makeplural(body_part(HAND))); return 0; --- 147,172 ---- if (Glib) { Glib = 0; ! /*JP You("wipe off your %s.", makeplural(body_part(HAND)));*/ ! You("%s¤ò¿¡¤¤¤¿¡¥", makeplural(body_part(HAND))); return 1; } else if(u.ucreamed) { Blinded -= u.ucreamed; u.ucreamed = 0; if (!Blinded) { ! /*JP pline("You've got the glop off.");*/ ! You("¤µ¤Ã¤Ñ¤ê¤·¤¿¡¥"); Blinded = 1; make_blinded(0L,TRUE); } else { ! pline("%s¤Î±ø¤ì¤ò¿¡¤­¤È¤Ã¤¿¡¥", body_part(FACE)); } return 1; } ! /*JP Your("%s and %s are already clean.",*/ ! Your("%s¤ä%s¤Ï±ø¤ì¤Æ¤¤¤Ê¤¤¡¥", body_part(FACE), makeplural(body_part(HAND))); return 0; *************** *** 150,156 **** if (Hallucination && sobj_at(CORPSE, rx, ry)) { /* (a corpse doesn't retain the monster's sex, so we're forced to use generic pronoun here) */ ! You_hear("a voice say, \"It's dead, Jim.\""); *resp = 1; return TRUE; } else if (Role_is('H') && ((otmp = sobj_at(CORPSE, rx, ry)) != 0 || --- 184,191 ---- if (Hallucination && sobj_at(CORPSE, rx, ry)) { /* (a corpse doesn't retain the monster's sex, so we're forced to use generic pronoun here) */ ! /*JP You_hear("a voice say, \"It's dead, Jim.\"");*/ ! You("À¼¤¬Ê¹¤³¤¨¤¿¡Ö¤½¤ì¤Ï»à¤ó¤Ç¤ë¤¼¡¤¥¸¥à¡×"); *resp = 1; return TRUE; } else if (Role_is('H') && ((otmp = sobj_at(CORPSE, rx, ry)) != 0 || *************** *** 159,179 **** if both types are present, but it's not worth the effort */ if (vobj_at(rx, ry)->otyp == STATUE) otmp = vobj_at(rx, ry); if (otmp->otyp == CORPSE) { ! You("determine that %s unfortunate being is dead.", ! (rx == u.ux && ry == u.uy) ? "this" : "that"); } else { ttmp = t_at(rx, ry); ! pline("%s appears to be in %s health for a statue.", The(mons[otmp->corpsenm].mname), (ttmp && ttmp->ttyp == STATUE_TRAP) ? ! "extraordinary" : "excellent"); } return TRUE; } return FALSE; } ! ! static char hollow_str[] = "a hollow sound. This must be a secret %s!"; /* Strictly speaking it makes no sense for usage of a stethoscope to not take any time; however, unless it did, the stethoscope would be --- 194,220 ---- if both types are present, but it's not worth the effort */ if (vobj_at(rx, ry)->otyp == STATUE) otmp = vobj_at(rx, ry); if (otmp->otyp == CORPSE) { ! /*JP You("determine that %s unfortunate being is dead.", ! (rx == u.ux && ry == u.uy) ? "this" : "that");*/ ! You("%sÉÔ¹¬¤ÊÀ¸¤­Êª¤Ï»à¤ó¤Ç¤¤¤ë¤È·ëÏÀ¤·¤¿¡¥", ! (rx == u.ux && ry == u.uy) ? "¤³¤Î" : "¤½¤Î"); } else { ttmp = t_at(rx, ry); ! /*JP pline("%s appears to be in %s health for a statue.", ! The(mons[otmp->corpsenm].mname), ! (ttmp && ttmp->ttyp == STATUE_TRAP) ? ! "extraordinary" : "excellent");*/ ! pline("ĦÁü¤È¤·¤Æ¤Î%s¤Ï%sºîÉʤÀ¡¥", The(mons[otmp->corpsenm].mname), (ttmp && ttmp->ttyp == STATUE_TRAP) ? ! "·ò¹¯Åª¤Ê" : "ÌöưŪ¤Ê"); } return TRUE; } return FALSE; } ! /*JPstatic char hollow_str[] = "a hollow sound. This must be a secret %s!";*/ ! static char hollow_str[] = "¤¦¤Ä¤í¤Ê²»¤òʹ¤¤¤¿¡¥ÈëÌ©¤Î%s¤Ë°ã¤¤¤Ê¤¤¡ª"; /* Strictly speaking it makes no sense for usage of a stethoscope to not take any time; however, unless it did, the stethoscope would be *************** *** 189,198 **** int rx, ry, res; if (nohands(uasmon)) { /* should also check for no ears and/or deaf */ ! You("have no hands!"); /* not `body_part(HAND)' */ return 0; } else if (!freehand()) { ! You("have no free %s.", body_part(HAND)); return 0; } if (!getdir((char *)0)) return 0; --- 230,241 ---- int rx, ry, res; if (nohands(uasmon)) { /* should also check for no ears and/or deaf */ ! /*JP You("have no hands!");*/ /* not `body_part(HAND)' */ ! pline("¤¢¤Ê¤¿¤Ë¤Ï¼ê¤¬¤Ê¤¤¡ª"); return 0; } else if (!freehand()) { ! /*JP You("have no free %s.", body_part(HAND));*/ ! You("%s¤Î¼«Í³¤¬¸ú¤«¤Ê¤¤¡¥", body_part(HAND)); return 0; } if (!getdir((char *)0)) return 0; *************** *** 205,223 **** return res; } else if (u.dz) { if (Underwater) ! You_hear("faint splashing."); else if (u.dz < 0 || !can_reach_floor()) ! You_cant("reach the %s.", (u.dz > 0) ? surface(u.ux,u.uy) : ceiling(u.ux,u.uy)); else if (its_dead(u.ux, u.uy, &res)) ; /* message already given */ else if (Is_stronghold(&u.uz)) ! You_hear("the crackling of hellfire."); else ! pline_The("%s seems healthy enough.", surface(u.ux,u.uy)); return res; } else if (obj->cursed && !rn2(2)) { ! You_hear("your heart beat."); return res; } if (Stunned || (Confusion && !rn2(5))) confdir(); --- 248,272 ---- return res; } else if (u.dz) { if (Underwater) ! /*JP You_hear("faint splashing.");*/ ! You("¤«¤¹¤«¤Ë¥Ð¥·¥ã¥Ð¥·¥ã¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); else if (u.dz < 0 || !can_reach_floor()) ! /*JP You_cant("reach the %s.", ! (u.dz > 0) ? surface(u.ux,u.uy) : ceiling(u.ux,u.uy));*/ ! You("%s¤ËÆϤ«¤Ê¤¤¡¥", (u.dz > 0) ? surface(u.ux,u.uy) : ceiling(u.ux,u.uy)); else if (its_dead(u.ux, u.uy, &res)) ; /* message already given */ else if (Is_stronghold(&u.uz)) ! /*JP You_hear("the crackling of hellfire.");*/ ! You("ÃϹö¤Î±ê¤¬¥Ñ¥Á¥Ñ¥Ádz¤¨¤Æ¤¤¤ë²»¤òʹ¤¤¤¿¡¥"); else ! /*JP pline_The("%s seems healthy enough.", surface(u.ux,u.uy));*/ ! pline("%s¤Ï½¼Ê¬·ò¹¯¤Î¤è¤¦¤À¡¥", surface(u.ux,u.uy)); return res; } else if (obj->cursed && !rn2(2)) { ! /*JP You_hear("your heart beat.");*/ ! You("¼«Ê¬¤Î¿´Â¡¤Î¸ÝÆ°¤òʹ¤¤¤¿¡¥"); return res; } if (Stunned || (Confusion && !rn2(5))) confdir(); *************** *** 227,233 **** } rx = u.ux + u.dx; ry = u.uy + u.dy; if (!isok(rx,ry)) { ! You_hear("a faint typing noise."); return 0; } if ((mtmp = m_at(rx,ry)) != 0) { --- 276,283 ---- } rx = u.ux + u.dx; ry = u.uy + u.dy; if (!isok(rx,ry)) { ! /*JP You_hear("a faint typing noise.");*/ ! You("¤«¤¹¤«¤Ë¤À¤ì¤«¤¬¥¿¥¤¥Ô¥ó¥°¤·¤Æ¤¤¤ë²»¤òʹ¤¤¤¿¡¥"); return 0; } if ((mtmp = m_at(rx,ry)) != 0) { *************** *** 242,254 **** --- 292,310 ---- lev = &levl[rx][ry]; switch(lev->typ) { case SDOOR: + /*JP You_hear(hollow_str, "door"); + */ + You_hear(hollow_str, "Èâ"); cvt_sdoor_to_door(lev); /* ->typ = DOOR */ if (Blind) feel_location(rx,ry); else newsym(rx,ry); return res; case SCORR: + /*JP You_hear(hollow_str, "passage"); + */ + You_hear(hollow_str, "ÄÌÏ©"); lev->typ = CORR; if (Blind) feel_location(rx,ry); else newsym(rx,ry); *************** *** 256,272 **** } if (!its_dead(rx, ry, &res)) ! You("hear nothing special."); /* not You_hear() */ return res; } ! static char whistle_str[] = "produce a %s whistling sound."; static void use_whistle(obj) struct obj *obj; { You(whistle_str, obj->cursed ? "shrill" : "high"); wake_nearby(); } --- 312,333 ---- } if (!its_dead(rx, ry, &res)) ! /*JP You("hear nothing special."); /* not You_hear() */ ! pline("Ê̤˲¿¤âʹ¤³¤¨¤Ê¤¤¡¥"); return res; } ! /*JPstatic char whistle_str[] = "produce a %s whistling sound.";*/ ! static char whistle_str[] = "Å«¤ò¿á¤¤¤Æ%s²»¤ò¤¿¤Æ¤¿¡¥"; static void use_whistle(obj) struct obj *obj; { + /*JP You(whistle_str, obj->cursed ? "shrill" : "high"); + */ + You(whistle_str, obj->cursed ? "ÉÔµ¤Ì£¤Ê" : "¤«¤ó¹â¤¤"); wake_nearby(); } *************** *** 277,287 **** register struct monst *mtmp, *nextmon; if(obj->cursed && !rn2(2)) { ! You("produce a high-pitched humming noise."); wake_nearby(); } else { int pet_cnt = 0; ! You(whistle_str, Hallucination ? "normal" : "strange"); for(mtmp = fmon; mtmp; mtmp = nextmon) { nextmon = mtmp->nmon; /* trap might kill mon */ if (mtmp->mtame) { --- 338,350 ---- register struct monst *mtmp, *nextmon; if(obj->cursed && !rn2(2)) { ! /*JP You("produce a high-pitched humming noise.");*/ ! You("Ä´»Ò¤Î¹â¤¤¤¦¤Ê¤ë¤è¤¦¤Ê²»¤ò¤¿¤Æ¤¿¡¥"); wake_nearby(); } else { int pet_cnt = 0; ! /*JP You(whistle_str, Hallucination ? "normal" : "strange");*/ ! You(whistle_str, Hallucination ? "Å«¤Î¤è¤¦¤Ê" : "´ñ̯¤Ê"); for(mtmp = fmon; mtmp; mtmp = nextmon) { nextmon = mtmp->nmon; /* trap might kill mon */ if (mtmp->mtame) { *************** *** 366,372 **** int spotmon; if(!obj->leashmon && number_leashed() >= MAXLEASHED) { ! You("cannot leash any more pets."); return; } --- 429,436 ---- int spotmon; if(!obj->leashmon && number_leashed() >= MAXLEASHED) { ! /*JP You("cannot leash any more pets.");*/ ! You("¤³¤ì°Ê¾å¥Ú¥Ã¥È¤Ëɳ¤ò¤«¤±¤é¤ì¤Ê¤¤¡¥"); return; } *************** *** 376,387 **** y = u.uy + u.dy; if((x == u.ux) && (y == u.uy)) { ! pline("Leash yourself? Very funny..."); return; } if(!(mtmp = m_at(x, y))) { ! pline("There is no creature there."); return; } --- 440,453 ---- y = u.uy + u.dy; if((x == u.ux) && (y == u.uy)) { ! /*JP pline("Leash yourself? Very funny...");*/ ! pline("¼«Ê¬¤òÇû¤ë¡©ÊѤʤΡ¥¡¥¡¥"); return; } if(!(mtmp = m_at(x, y))) { ! /*JP pline("There is no creature there.");*/ ! pline("¤½¤³¤Ë¤ÏÀ¸¤­Êª¤Ï¤¤¤Ê¤¤¡¥"); return; } *************** *** 389,426 **** if(!mtmp->mtame) { if(!spotmon) ! pline("There is no creature there."); else ! pline("%s %s leashed!", Monnam(mtmp), (!obj->leashmon) ? ! "cannot be" : "is not"); return; } if(!obj->leashmon) { if(mtmp->mleashed) { ! pline("This %s is already leashed.", ! spotmon ? l_monnam(mtmp) : "monster"); return; } ! You("slip the leash around %s%s.", ! spotmon ? "your " : "", l_monnam(mtmp)); mtmp->mleashed = 1; obj->leashmon = (int)mtmp->m_id; if(mtmp->msleep) mtmp->msleep = 0; return; } if(obj->leashmon != (int)mtmp->m_id) { ! pline("This leash is not attached to that creature."); return; } else { if(obj->cursed) { ! pline_The("leash would not come off!"); obj->bknown = TRUE; return; } mtmp->mleashed = 0; obj->leashmon = 0; ! You("remove the leash from %s%s.", ! spotmon ? "your " : "", l_monnam(mtmp)); } return; } --- 455,503 ---- if(!mtmp->mtame) { if(!spotmon) ! /*JP pline("There is no creature there.");*/ ! pline("¤½¤³¤Ë¤ÏÀ¸¤­Êª¤Ï¤¤¤Ê¤¤¡¥"); else ! /*JP pline("%s %s leashed!", Monnam(mtmp), (!obj->leashmon) ? ! "cannot be" : "is not");*/ ! pline("%s¤Ïɳ¤Ç%s¡ª", Monnam(mtmp), (!obj->leashmon) ? ! "·ë¤Ù¤Ê¤¤" : "·ë¤Ð¤ì¤Æ¤¤¤Ê¤¤"); return; } if(!obj->leashmon) { if(mtmp->mleashed) { ! /*JP pline("This %s is already leashed.", ! spotmon ? l_monnam(mtmp) : "monster");*/ ! pline("¤³¤Î%s¤Ï¤â¤¦·ë¤ó¤Ç¤¢¤ë¡¥", ! spotmon ? l_monnam(mtmp) : "²øʪ"); return; } ! /*JP You("slip the leash around %s%s.", ! spotmon ? "your " : "", l_monnam(mtmp));*/ ! You("%s¤òɳ¤Ç·ë¤Ó¤Ä¤±¤¿¡¥", ! l_monnam(mtmp)); mtmp->mleashed = 1; obj->leashmon = (int)mtmp->m_id; if(mtmp->msleep) mtmp->msleep = 0; return; } if(obj->leashmon != (int)mtmp->m_id) { ! /*JP pline("This leash is not attached to that creature.");*/ ! pline("¤³¤Îɳ¤Ï¤½¤ì¤Ë¤Ï·ë¤Ð¤ì¤Æ¤¤¤Ê¤¤¡¥"); return; } else { if(obj->cursed) { ! /*JP pline_The("leash would not come off!");*/ ! pline("ɳ¤¬¤Ï¤º¤ì¤Ê¤¤¡ª"); obj->bknown = TRUE; return; } mtmp->mleashed = 0; obj->leashmon = 0; ! /*JP You("remove the leash from %s%s.", ! spotmon ? "your " : "", l_monnam(mtmp));*/ ! You("%s¤«¤éɳ¤ò¤Ï¤º¤·¤¿¡¥", ! l_monnam(mtmp)); } return; } *************** *** 457,464 **** if(otmp->otyp == LEASH && otmp->leashmon == (int)mtmp->m_id) { if(otmp->cursed) return(FALSE); ! You_feel("%s leash go slack.", ! (number_leashed() > 1) ? "a" : "the"); mtmp->mleashed = 0; otmp->leashmon = 0; } --- 534,542 ---- if(otmp->otyp == LEASH && otmp->leashmon == (int)mtmp->m_id) { if(otmp->cursed) return(FALSE); ! /*JP You_feel("%s leash go slack.", ! (number_leashed() > 1) ? "a" : "the");*/ ! You("ɳ¤¬¤¿¤ë¤ó¤À¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); mtmp->mleashed = 0; otmp->leashmon = 0; } *************** *** 486,505 **** ) { if(otmp->cursed) { if(um_dist(mtmp->mx, mtmp->my, 5)) { ! pline("%s chokes to death!",Monnam(mtmp)); mondied(mtmp); } else if(um_dist(mtmp->mx, mtmp->my, 3)) ! pline("%s chokes on the leash!", Monnam(mtmp)); } else { if(um_dist(mtmp->mx, mtmp->my, 5)) { ! pline("%s leash snaps loose!", s_suffix(Monnam(mtmp))); m_unleash(mtmp); } else { if(um_dist(mtmp->mx, mtmp->my, 3)) { ! You("pull on the leash."); if (mtmp->data->msound != MS_SILENT) switch(rn2(3)) { case 0: growl(mtmp); break; --- 564,587 ---- ) { if(otmp->cursed) { if(um_dist(mtmp->mx, mtmp->my, 5)) { ! /*JP pline("%s chokes to death!",Monnam(mtmp));*/ ! pline("%s¤Ï¹Ê¤á»¦¤µ¤ì¤¿¡ª",Monnam(mtmp)); mondied(mtmp); } else if(um_dist(mtmp->mx, mtmp->my, 3)) ! /*JP pline("%s chokes on the leash!",*/ ! pline("%s¤Ïɳ¤Ç¼ó¤ò¹Ê¤á¤é¤ì¤¿¡ª", Monnam(mtmp)); } else { if(um_dist(mtmp->mx, mtmp->my, 5)) { ! /*JP pline("%s leash snaps loose!",*/ ! pline("%s¤Îɳ¤Ï¥Ñ¥Á¥ó¤È³°¤ì¤¿¡ª", s_suffix(Monnam(mtmp))); m_unleash(mtmp); } else { if(um_dist(mtmp->mx, mtmp->my, 3)) { ! /*JP You("pull on the leash.");*/ ! You("ɳ¤ò°ú¤Ã¤Ñ¤Ã¤¿¡¥"); if (mtmp->data->msound != MS_SILENT) switch(rn2(3)) { case 0: growl(mtmp); break; *************** *** 525,543 **** if(welded(uwep)) { /* Andreas Bormann - ihnp4!decvax!mcvax!unido!ab */ if(flags.verbose) { ! pline("Since your weapon is welded to your %s,", bimanual(uwep) ? (const char *)makeplural(body_part(HAND)) : body_part(HAND)); ! pline("you cannot wield that %s.", xname(obj)); } return(FALSE); } if (cantwield(uasmon)) { ! You_cant("hold it strongly enough."); return(FALSE); } ! You("now wield %s.", doname(obj)); setuwep(obj); if (uwep != obj) return(FALSE); /* rewielded old object after dying */ unweapon = TRUE; --- 607,630 ---- if(welded(uwep)) { /* Andreas Bormann - ihnp4!decvax!mcvax!unido!ab */ if(flags.verbose) { ! /*JP pline("Since your weapon is welded to your %s,", bimanual(uwep) ? (const char *)makeplural(body_part(HAND)) : body_part(HAND)); ! pline("you cannot wield that %s.", xname(obj));*/ ! pline("Éð´ï¤ò%s¤ËÁõÈ÷¤·¤Æ¤¤¤ë¤Î¤Ç¡¤", ! body_part(HAND)); ! You("%s¤òÁõÈ÷¤Ç¤­¤Ê¤¤¡¥", xname(obj)); } return(FALSE); } if (cantwield(uasmon)) { ! /*JP You_cant("hold it strongly enough.");*/ ! You("¤½¤ì¤ò»ý¤Ä¤Û¤ÉÎϤ¬¤Ê¤¤¡¥"); return(FALSE); } ! /*JP You("now wield %s.", doname(obj));*/ ! You("%s¤ò%s¤Ë¤·¤¿¡¥", doname(obj), body_part(HAND)); setuwep(obj); if (uwep != obj) return(FALSE); /* rewielded old object after dying */ unweapon = TRUE; *************** *** 546,552 **** #define WEAK 3 /* from eat.c */ ! static char look_str[] = "look %s."; static int use_mirror(obj) --- 633,640 ---- #define WEAK 3 /* from eat.c */ ! /*JPstatic char look_str[] = "look %s.";*/ ! static char look_str[] = "%s¸«¤¨¤ë¡¥"; static int use_mirror(obj) *************** *** 559,612 **** if(!getdir((char *)0)) return 0; if(obj->cursed && !rn2(2)) { if (!Blind) ! pline_The("mirror fogs up and doesn't reflect!"); return 1; } if(!u.dx && !u.dy && !u.dz) { if(!Blind && !Invisible) { if (u.umonnum == PM_FLOATING_EYE) { pline(Hallucination ? ! "Yow! The mirror stares back!" : ! "Yikes! You've frozen yourself!"); nomul(-rnd((MAXULEV+6) - u.ulevel)); } else if (u.usym == S_VAMPIRE) ! You("don't have a reflection."); else if (u.umonnum == PM_UMBER_HULK) { ! pline("Huh? That doesn't look like you!"); make_confused(HConfusion + d(3,4),FALSE); } else if (Hallucination) ! You(look_str, hcolor((char *)0)); else if (Sick) ! You(look_str, "peaked"); else if (u.uhs >= WEAK) ! You(look_str, "undernourished"); ! else You("look as %s as ever.", ACURR(A_CHA) > 14 ? (poly_gender()==1 ? "beautiful" : "handsome") : ! "ugly"); } else { ! You_cant("see your %s %s.", ACURR(A_CHA) > 14 ? (poly_gender()==1 ? "beautiful" : "handsome") : "ugly", body_part(FACE)); } return 1; } if(u.uswallow) { ! if (!Blind) You("reflect %s %s.", s_suffix(mon_nam(u.ustuck)), ! is_animal(u.ustuck->data)? "stomach" : "interior"); return 1; } if(Underwater) { ! You(Hallucination ? ! "give the fish a chance to fix their makeup." : ! "reflect the murky water."); return 1; } if(u.dz) { if (!Blind) ! You("reflect the %s.", (u.dz > 0) ? surface(u.ux,u.uy) : ceiling(u.ux,u.uy)); return 1; } --- 647,721 ---- if(!getdir((char *)0)) return 0; if(obj->cursed && !rn2(2)) { if (!Blind) ! /*JP pline_The("mirror fogs up and doesn't reflect!");*/ ! pline("¶À¤ÏÆޤꡤ±Ç¤é¤Ê¤¯¤Ê¤Ã¤¿¡ª"); return 1; } if(!u.dx && !u.dy && !u.dz) { if(!Blind && !Invisible) { if (u.umonnum == PM_FLOATING_EYE) { pline(Hallucination ? ! /*JP "Yow! The mirror stares back!" : ! "Yikes! You've frozen yourself!");*/ ! "¤ª¤î¡ª¶À¤¬¤¢¤Ê¤¿¤ò¤Ë¤é¤ßÊÖ¤·¤¿¡ª" : ! "¤ª¤î¡ª¤¢¤Ê¤¿¤ÏÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡ª"); nomul(-rnd((MAXULEV+6) - u.ulevel)); } else if (u.usym == S_VAMPIRE) ! /*JP You("don't have a reflection.");*/ ! You("¶À¤Ë±Ç¤é¤Ê¤«¤Ã¤¿¡¥"); else if (u.umonnum == PM_UMBER_HULK) { ! /*JP pline("Huh? That doesn't look like you!");*/ ! pline("¤Û¤¨¡©¼Ì¤Ã¤Æ¤ë¤Î¤Ï¤¢¤Ê¤¿¤¸¤ã¤Ê¤¤¤ß¤¿¤¤¤À¡ª"); make_confused(HConfusion + d(3,4),FALSE); } else if (Hallucination) ! You(look_str, jconj_adj(hcolor((char *)0))); else if (Sick) ! /*JP You(look_str, "peaked");*/ ! You(look_str, "´é¿§¤¬°­¤¯"); else if (u.uhs >= WEAK) ! /*JP You(look_str, "undernourished");*/ ! You(look_str, "±ÉÍܼºÄ´¤Î¤è¤¦¤Ë"); ! /*JP else You("look as %s as ever.", ACURR(A_CHA) > 14 ? (poly_gender()==1 ? "beautiful" : "handsome") : ! "ugly");*/ ! else You("¤¢¤¤¤«¤ï¤é¤º%s¸«¤¨¤ë¡¥", ! ACURR(A_CHA) > 14 ? ! (poly_gender()==1 ? "Èþ¤·¤¯" : "¤ê¤ê¤·¤¯") : ! "½¹¤¯"); } else { ! /*JP You_cant("see your %s %s.", ACURR(A_CHA) > 14 ? (poly_gender()==1 ? "beautiful" : "handsome") : "ugly", + body_part(FACE));*/ + You("¼«Ê¬¤Î%s%s¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥", + ACURR(A_CHA) > 14 ? + (poly_gender()==1 ? "Èþ¤·¤¤" : "¤ê¤ê¤·¤¤") : + "½¹¤¤", body_part(FACE)); } return 1; } if(u.uswallow) { ! /*JP if (!Blind) You("reflect %s %s.", s_suffix(mon_nam(u.ustuck)), ! is_animal(u.ustuck->data)? "stomach" : "interior");*/ ! if (!Blind) You("%s¤Î%s¤ò±Ç¤·¤¿¡¥", mon_nam(u.ustuck), ! is_animal(u.ustuck->data)? "°ß" : "ÆâÉô"); return 1; } if(Underwater) { ! pline(Hallucination ? ! /*JP "give the fish a chance to fix their makeup." : ! "reflect the murky water.");*/ ! "µû¤¬¤ä¤Ã¤Æ¤­¤Æ²½¾Ñľ¤·¤ò¤·¤¿¡¥": ! "¤¢¤Ê¤¿¤Ï±¢µ¤¤Ê¿å¤ò±Ç¤·¤¿¡¥"); return 1; } if(u.dz) { if (!Blind) ! /*JP You("reflect the %s.",*/ ! You("%s¤ò±Ç¤·¤¿¡¥", (u.dz > 0) ? surface(u.ux,u.uy) : ceiling(u.ux,u.uy)); return 1; } *************** *** 619,638 **** mlet = mtmp->data->mlet; if(mtmp->msleep) { if (vis) ! pline ("%s is too tired to look at your mirror.", Monnam(mtmp)); } else if (!mtmp->mcansee) { if (vis) ! pline("%s can't see anything right now.", Monnam(mtmp)); /* some monsters do special things */ } else if (mlet == S_VAMPIRE || mlet == S_GHOST) { if (vis) ! pline ("%s doesn't have a reflection.", Monnam(mtmp)); } else if(!mtmp->mcan && mtmp->data == &mons[PM_MEDUSA]) { ! if (mon_reflects(mtmp, "The gaze is reflected away by %s %s!")) return 1; if (vis) ! pline("%s is turned to stone!", Monnam(mtmp)); stoned = TRUE; killed(mtmp); } else if(!mtmp->mcan && !mtmp->minvis && --- 728,752 ---- mlet = mtmp->data->mlet; if(mtmp->msleep) { if (vis) ! /*JP pline ("%s is too tired to look at your mirror.",*/ ! pline ("%s¤Ï¤È¤Æ¤âÈè¤ì¤Æ¤¤¤Æ¶À¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥", Monnam(mtmp)); } else if (!mtmp->mcansee) { if (vis) ! /*JP pline("%s can't see anything right now.", Monnam(mtmp));*/ ! pline("%s¤Ï¸¸³Ð¤Ë½±¤ï¤ì¤Æ¤¤¤Æ¡¤¤Á¤ã¤ó¤È¸«¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥", Monnam(mtmp)); /* some monsters do special things */ } else if (mlet == S_VAMPIRE || mlet == S_GHOST) { if (vis) ! /*JP pline ("%s doesn't have a reflection.", Monnam(mtmp));*/ ! pline ("%s¤Ï¶À¤Ë¼Ì¤é¤Ê¤¤¡¥", Monnam(mtmp)); } else if(!mtmp->mcan && mtmp->data == &mons[PM_MEDUSA]) { ! /*JP if (mon_reflects(mtmp, "The gaze is reflected away by %s %s!"))*/ ! if (mon_reflects(mtmp, "¤Ë¤é¤ß¤Ï%s¤Î%s¤ÇÈ¿¼Í¤·¤¿¡ª")) return 1; if (vis) ! /*JP pline("%s is turned to stone!", Monnam(mtmp));*/ ! pline("%s¤ÏÀФˤʤä¿¡ª", Monnam(mtmp)); stoned = TRUE; killed(mtmp); } else if(!mtmp->mcan && !mtmp->minvis && *************** *** 643,664 **** * but Medusa and umber hulks can. */ if (vis) ! pline("%s is frozen by its reflection.", Monnam(mtmp)); ! else You_hear("%s stop moving.",something); mtmp->mcanmove = 0; if ( (int) mtmp->mfrozen + tmp > 127) mtmp->mfrozen = 127; else mtmp->mfrozen += tmp; } else if(!mtmp->mcan && mtmp->data == &mons[PM_UMBER_HULK]) { if (vis) ! pline ("%s confuses itself!", Monnam(mtmp)); mtmp->mconf = 1; } else if(!mtmp->mcan && !mtmp->minvis && (mlet == S_NYMPH || mtmp->data==&mons[PM_SUCCUBUS])) { if (vis) { ! pline ("%s admires herself in your mirror.", Monnam(mtmp)); ! pline ("She takes it!"); ! } else pline ("It steals your mirror!"); setnotworn(obj); /* in case mirror was wielded */ freeinv(obj); mpickobj(mtmp,obj); --- 757,785 ---- * but Medusa and umber hulks can. */ if (vis) ! /*JP pline("%s is frozen by its reflection.", Monnam(mtmp));*/ ! pline("%s¤Ï¼«Ê¬¤Î»Ñ¤ò¸«¤ÆÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡¥", Monnam(mtmp)); ! ! /*JP else You_hear("%s stop moving.",something);*/ ! else You_hear("²¿¤«¤¬Æ°¤±¤Ê¤¯¤Ê¤Ã¤¿²»¤òʹ¤¤¤¿¡¥"); mtmp->mcanmove = 0; if ( (int) mtmp->mfrozen + tmp > 127) mtmp->mfrozen = 127; else mtmp->mfrozen += tmp; } else if(!mtmp->mcan && mtmp->data == &mons[PM_UMBER_HULK]) { if (vis) ! /*JP pline ("%s confuses itself!", Monnam(mtmp));*/ ! pline ("%s¤Ïº®Í𤷤¿¡ª", Monnam(mtmp)); mtmp->mconf = 1; } else if(!mtmp->mcan && !mtmp->minvis && (mlet == S_NYMPH || mtmp->data==&mons[PM_SUCCUBUS])) { if (vis) { ! /*JP pline ("%s admires herself in your mirror.", Monnam(mtmp)); ! pline ("She takes it!");*/ ! pline ("%s¤Ï¼«Ê¬¤Î»Ñ¤Ë¤¦¤Ã¤È¤ê¤·¤¿¡¥", Monnam(mtmp)); ! pline ("Èà½÷¤Ï¤½¤ì¤òÃ¥¤Ã¤¿¡ª"); ! /*JP } else pline ("It steals your mirror!");*/ ! } else pline ("²¿¼Ô¤«¤¬¤¢¤Ê¤¿¤Î¶À¤òÅð¤ó¤À¡ª"); setnotworn(obj); /* in case mirror was wielded */ freeinv(obj); mpickobj(mtmp,obj); *************** *** 666,672 **** } else if (mlet != S_UNICORN && !humanoid(mtmp->data) && (!mtmp->minvis || perceives(mtmp->data)) && rn2(5)) { if (vis) ! pline ("%s is frightened by its reflection.", Monnam(mtmp)); mtmp->mflee = 1; mtmp->mfleetim += d(2,4); --- 787,794 ---- } else if (mlet != S_UNICORN && !humanoid(mtmp->data) && (!mtmp->minvis || perceives(mtmp->data)) && rn2(5)) { if (vis) ! /*JP pline ("%s is frightened by its reflection.",*/ ! pline ("%s¤Ï¼«Ê¬¤Î»Ñ¤ò¸«¤ÆÉݤ¬¤Ã¤¿¡¥", Monnam(mtmp)); mtmp->mflee = 1; mtmp->mfleetim += d(2,4); *************** *** 675,685 **** ; else if ((mtmp->minvis && !perceives(mtmp->data)) || !haseyes(mtmp->data)) ! pline("%s doesn't seem to notice its reflection.", Monnam(mtmp)); else ! pline("%s ignores %s reflection.", ! Monnam(mtmp), his[pronoun_gender(mtmp)]); } return 1; } --- 797,810 ---- ; else if ((mtmp->minvis && !perceives(mtmp->data)) || !haseyes(mtmp->data)) ! /*JP pline("%s doesn't seem to notice its reflection.",*/ ! pline("%s¤Ï¼«Ê¬¤Î»Ñ¤Ëµ¤¤¬¤Ä¤¤¤Æ¤Ê¤¤¤è¤¦¤À¡¥", Monnam(mtmp)); else ! /*JP pline("%s ignores %s reflection.", ! Monnam(mtmp), his[pronoun_gender(mtmp)]);*/ ! pline("%s¤Ï¼«Ê¬¤Î»Ñ¤ò̵»ë¤·¤¿¡¥", ! Monnam(mtmp)); } return 1; } *************** *** 694,710 **** invoking = (obj->otyp == BELL_OF_OPENING && invocation_pos(u.ux, u.uy) && !On_stairs(u.ux, u.uy)); ! You("ring %s.", the(xname(obj))); if (Underwater || (u.uswallow && ordinary)) { #ifdef AMIGA amii_speaker( obj, "AhDhGqEqDhEhAqDqFhGw", AMII_MUFFLED_VOLUME ); #endif ! pline("But the sound is muffled."); } else if (invoking && ordinary) { /* needs to be recharged... */ ! pline("But it makes no sound."); learno = TRUE; /* help player figure out why */ } else if (ordinary) { --- 819,838 ---- invoking = (obj->otyp == BELL_OF_OPENING && invocation_pos(u.ux, u.uy) && !On_stairs(u.ux, u.uy)); ! /*JP You("ring %s.", the(xname(obj)));*/ ! You("%s¤òÌĤ餷¤¿¡¥", the(xname(obj))); if (Underwater || (u.uswallow && ordinary)) { #ifdef AMIGA amii_speaker( obj, "AhDhGqEqDhEhAqDqFhGw", AMII_MUFFLED_VOLUME ); #endif ! /*JP pline("But the sound is muffled.");*/ ! pline("¤·¤«¤·²»¤Ï¤«¤­¾Ã¤µ¤ì¤¿¡¥"); } else if (invoking && ordinary) { /* needs to be recharged... */ ! /*JP pline("But it makes no sound.");(/ ! pline("¤·¤«¤·¡¤²»¤ÏÌĤé¤Ê¤«¤Ã¤¿¡¥"); learno = TRUE; /* help player figure out why */ } else if (ordinary) { *************** *** 718,726 **** !(mvitals[PM_MOUNTAIN_NYMPH].mvflags & G_GONE) && (mtmp = makemon(mkclass(S_NYMPH, 0), u.ux, u.uy, NO_MINVENT)) != 0) { ! You("summon %s!", a_monnam(mtmp)); if (!obj_resists(obj, 93, 100)) { ! pline("%s has shattered!", The(xname(obj))); useup(obj); } else switch (rn2(3)) { default: --- 846,856 ---- !(mvitals[PM_MOUNTAIN_NYMPH].mvflags & G_GONE) && (mtmp = makemon(mkclass(S_NYMPH, 0), u.ux, u.uy, NO_MINVENT)) != 0) { ! /*JP You("summon %s!", a_monnam(mtmp));*/ ! You("%s¤ò¾¤´­¤·¤¿¡ª", a_monnam(mtmp)); if (!obj_resists(obj, 93, 100)) { ! /*JP pline("%s has shattered!", The(xname(obj)));*/ ! pline("%s¤ÏÊ´¡¹¤Ë¤Ê¤Ã¤¿¡ª", The(xname(obj))); useup(obj); } else switch (rn2(3)) { default: *************** *** 755,761 **** wakem = TRUE; } else if (invoking) { ! pline("%s issues an unsettling shrill sound...", The(xname(obj))); #ifdef AMIGA amii_speaker( obj, "aefeaefeaefeaefeaefe", AMII_LOUDER_VOLUME ); --- 885,892 ---- wakem = TRUE; } else if (invoking) { ! /*JP pline("%s issues an unsettling shrill sound...",*/ ! pline("%s¤ÏÉÔµ¤Ì£¤Ê±Ô¤¤²»¤ò½Ð¤·¤¿¡¥¡¥¡¥", The(xname(obj))); #ifdef AMIGA amii_speaker( obj, "aefeaefeaefeaefeaefe", AMII_LOUDER_VOLUME ); *************** *** 770,778 **** #endif switch (openit()) { case 0: pline(nothing_happens); break; ! case 1: pline("%s opens...", Something); learno = TRUE; break; ! default: pline("Things open around you..."); learno = TRUE; break; } --- 901,911 ---- #endif switch (openit()) { case 0: pline(nothing_happens); break; ! /*JP case 1: pline("%s opens...", Something);*/ ! case 1: pline("²¿¤«¤¬³«¤¤¤¿"); learno = TRUE; break; ! /*JP default: pline("Things open around you...");*/ ! default: pline("¤Þ¤ï¤ê¤Îʪ¤¬³«¤¤¤¿¡¥¡¥¡¥"); learno = TRUE; break; } *************** *** 798,845 **** register struct obj *obj; { if(Underwater) { ! You("cannot make fire under water."); return; } if(obj->lamplit) { ! You("snuff the candle%s.", obj->spe > 1 ? "s" : ""); end_burn(obj, TRUE); return; } if(obj->spe <= 0) { ! pline("This %s has no candles.", xname(obj)); return; } if(u.uswallow || obj->cursed) { ! pline_The("candle%s flicker%s for a moment, then die%s.", obj->spe > 1 ? "s" : "", obj->spe > 1 ? "" : "s", ! obj->spe > 1 ? "" : "s"); return; } if(obj->spe < 7) { ! pline("There %s only %d candle%s in %s.", obj->spe == 1 ? "is" : "are", obj->spe, obj->spe > 1 ? "s" : "", ! the(xname(obj))); if (!Blind) ! pline("%s lit. %s shines dimly.", ! obj->spe == 1 ? "It is" : "They are", The(xname(obj))); } else { ! pline("%s's candles burn%s", The(xname(obj)), ! (Blind ? "." : " brightly!")); } if (!invocation_pos(u.ux, u.uy)) { ! pline_The("candle%s being rapidly consumed!", ! (obj->spe > 1 ? "s are" : " is")); obj->age /= 2; } else { if(obj->spe == 7) { if (Blind) ! pline("%s radiates a strange warmth!", The(xname(obj))); else ! pline("%s glows with a strange light!", The(xname(obj))); } obj->known = 1; } --- 931,992 ---- register struct obj *obj; { if(Underwater) { ! /*JP You("cannot make fire under water.");*/ ! You("¿åÃæ¤Ç²Ð¤Ï¤ª¤³¤»¤Ê¤¤¡¥"); return; } if(obj->lamplit) { ! /*JP You("snuff the candle%s.", obj->spe > 1 ? "s" : "");*/ ! You("¤í¤¦¤½¤¯¤ò¿á¤­¾Ã¤·¤¿¡¥"); end_burn(obj, TRUE); return; } if(obj->spe <= 0) { ! /*JP pline("This %s has no candles.", xname(obj));*/ ! pline("¤³¤Î%s¤Ë¤Ï¤í¤¦¤½¤¯¤¬¤Ê¤¤¡¥", xname(obj)); return; } if(u.uswallow || obj->cursed) { ! /*JP pline_The("candle%s flicker%s for a moment, then die%s." obj->spe > 1 ? "s" : "", obj->spe > 1 ? "" : "s", ! obj->spe > 1 ? "" : "s");*/ ! pline("¤í¤¦¤½¤¯¤Î±ê¤Ï¤·¤Ð¤é¤¯ÅÀÌǤ·¡¤¾Ã¤¨¤¿¡¥"); return; } if(obj->spe < 7) { ! /*JP pline("There %s only %d candle%s in %s.", obj->spe == 1 ? "is" : "are", obj->spe, obj->spe > 1 ? "s" : "", ! the(xname(obj)));*/ ! pline("%s¤Ë¤Ï¤¿¤Ã¤¿%dËÜ¤Î¤í¤¦¤½¤¯¤·¤«¤Ê¤¤¡¥", ! the(xname(obj)), ! obj->spe); if (!Blind) ! /*JP pline("%s lit. %s shines dimly.", ! obj->spe == 1 ? "It is" : "They are", The(xname(obj)));*/ ! pline("%s¤Ë²Ð¤ò¤Ä¤±¤¿¡¥%s¤Ï¤Û¤Î¤«¤Ëµ±¤¤¤¿¡¥", ! The(xname(obj)),xname(obj)); } else { ! /*JP pline("%s's candles burn%s", The(xname(obj)), ! (Blind ? "." : " brightly!"));*/ ! pline("%s¤Î¤í¤¦¤½¤¯¤Ï%sdz¤¨¤¢¤¬¤Ã¤¿¡ª", The(xname(obj)), ! (Blind ? "" : "ÌÀ¤ë¤¯")); } if (!invocation_pos(u.ux, u.uy)) { ! /*JP pline_The("candle%s being rapidly consumed!", ! (obj->spe > 1 ? "s are" : " is"));*/ ! pline("¤í¤¦¤½¤¯¤Ï¤¢¤Ã¤È¤¤¤¦¤Þ¤Ëdz¤¨¤Ä¤­¤¿¡ª"); obj->age /= 2; } else { if(obj->spe == 7) { if (Blind) ! /*JP pline("%s radiates a strange warmth!", The(xname(obj)));*/ ! pline("´ñ̯¤ÊÃȤ«¤µ¤ò%s¤Ë´¶¤¸¤¿¡ª", The(xname(obj))); else ! /*JP pline("%s glows with a strange light!", The(xname(obj)));*/ ! pline("%s¤Ï´ñ̯¤Ê¸÷¤òȯ¤·¤Æ¤¤¤ë¡ª", The(xname(obj))); } obj->known = 1; } *************** *** 863,869 **** return; } if(Underwater) { ! pline("Sorry, fire and water don't mix."); return; } --- 1010,1017 ---- return; } if(Underwater) { ! /*JP pline("Sorry, fire and water don't mix.");*/ ! pline("»ÄÇ°¤Ê¤¬¤é¡¤²Ð¤È¿å¤Ï¤Þ¤¶¤é¤Ê¤¤¡¥"); return; } *************** *** 876,903 **** return; } ! Sprintf(qbuf, "Attach %s", the(xname(obj))); ! Sprintf(eos(qbuf), " to %s?", the(xname(otmp))); if(yn(qbuf) == 'n') { ! You("try to light %s...", the(xname(obj))); use_lamp(obj); return; } else { register long needed = 7L - (long)otmp->spe; ! You("attach %ld%s candle%s to %s.", obj->quan >= needed ? needed : obj->quan, !otmp->spe ? "" : " more", (needed > 1L && obj->quan > 1L) ? "s" : "", the(xname(otmp))); ! if(otmp->lamplit) pline_The("new candle%s magically ignite%s!", (needed > 1L && obj->quan > 1L) ? "s" : "", ! (needed > 1L && obj->quan > 1L) ? "" : "s"); if(obj->unpaid) ! verbalize("You burn %s, you bought %s!", ! (needed > 1L && obj->quan > 1L) ? "them" : "it", ! (needed > 1L && obj->quan > 1L) ? "them" : "it"); if(!otmp->spe || otmp->age > obj->age) otmp->age = obj->age; if(obj->quan > needed) { --- 1024,1062 ---- return; } ! /*JP Sprintf(qbuf, "Attach %s", the(xname(obj))); ! Sprintf(eos(qbuf), " to %s?", the(xname(otmp)));*/ ! Sprintf(qbuf, "%s¤ò", the(xname(obj))); ! Sprintf(eos(qbuf), "%s¤Ë¼è¤ê¤Ä¤±¤Þ¤¹¤«¡©", the(xname(otmp))); if(yn(qbuf) == 'n') { ! /*JP You("try to light %s...", the(xname(obj)));*/ ! You("%s¤Ë²Ð¤ò¤Ä¤±¤è¤¦¤È¤·¤¿¡¥¡¥¡¥", the(xname(obj))); use_lamp(obj); return; } else { register long needed = 7L - (long)otmp->spe; ! /*JP You("attach %ld%s candle%s to %s.", obj->quan >= needed ? needed : obj->quan, !otmp->spe ? "" : " more", (needed > 1L && obj->quan > 1L) ? "s" : "", + the(xname(otmp)));*/ + You("%ldËÜ¤Î¤í¤¦¤½¤¯¤ò%s%s¤Ø¼è¤ê¤Ä¤±¤¿¡¥", + obj->quan >= needed ? needed : obj->quan, + !otmp->spe ? "" : "¤µ¤é¤Ë", the(xname(otmp))); ! /*JP if(otmp->lamplit) pline_The("new candle%s magically ignite%s!", (needed > 1L && obj->quan > 1L) ? "s" : "", ! (needed > 1L && obj->quan > 1L) ? "" : "s");*/ ! if(otmp->lamplit) ! pline("¿·¤·¤¤¤í¤¦¤½¤¯¤ÏÉԻ׵Ĥʱê¤ò¤¢¤²¤¿¡ª"); if(obj->unpaid) ! /*JP verbalize("You burn %s, you bought %s!", ! (needed > 1L && obj->quan > 1L) ? "them" : "it", ! (needed > 1L && obj->quan > 1L) ? "them" : "it");*/ ! verbalize("²Ð¤ò¤Ä¤±¤¿¤Ê¡¤Çã¤Ã¤Æ¤â¤é¤ª¤¦¡ª"); ! if(!otmp->spe || otmp->age > obj->age) otmp->age = obj->age; if(obj->quan > needed) { *************** *** 922,929 **** obfree(obj, (struct obj *)0); } if(needed < 7L && otmp->spe == 7) ! pline("%s now has seven%s candles attached.", ! The(xname(otmp)), otmp->lamplit ? " lit" : ""); } } --- 1081,1090 ---- obfree(obj, (struct obj *)0); } if(needed < 7L && otmp->spe == 7) ! /*JP pline("%s now has seven%s candles attached.", ! The(xname(otmp)), otmp->lamplit ? " lit" : "");*/ ! pline("%s¤Ë¤Ï¤â¤¦7ËܤÎ%s¤í¤¦¤½¤¯¤¬¼è¤ê¤Ä¤±¤é¤ì¤Æ¤¤¤ë¡¥", ! The(xname(otmp)), otmp->lamplit ? "dz¤¨¤Æ¤¤¤ë" : ""); } } *************** *** 937,950 **** otmp->lamplit) { char buf[BUFSZ]; xchar x, y; ! register boolean many = candle ? otmp->quan > 1L : otmp->spe > 1; (void) get_obj_location(otmp, &x, &y, 0); if (otmp->where == OBJ_MINVENT ? cansee(x,y) : !Blind) ! pline("%s %scandle%s flame%s extinguished.", Shk_Your(buf, otmp), (candle ? "" : "candelabrum's "), ! (many ? "s'" : "'s"), (many ? "s are" : " is")); end_burn(otmp, TRUE); return(TRUE); } --- 1098,1114 ---- otmp->lamplit) { char buf[BUFSZ]; xchar x, y; ! /*JP register boolean many = candle ? otmp->quan > 1L : otmp->spe > 1;*/ (void) get_obj_location(otmp, &x, &y, 0); if (otmp->where == OBJ_MINVENT ? cansee(x,y) : !Blind) ! /*JP pline("%s %scandle%s flame%s extinguished.", Shk_Your(buf, otmp), (candle ? "" : "candelabrum's "), ! (many ? "s'" : "'s"), (many ? "s are" : " is"));*/ ! pline("%s%s¤í¤¦¤½¤¯¤Î±ê¤Ï¾Ã¤¨¤¿", ! Shk_Your(buf, otmp), ! candle ? "" : "¿¤Âæ¤Î"); end_burn(otmp, TRUE); return(TRUE); } *************** *** 965,971 **** --- 1129,1138 ---- obj->otyp == BRASS_LANTERN || obj->otyp == POT_OIL) { (void) get_obj_location(obj, &x, &y, 0); if (obj->where == OBJ_MINVENT ? cansee(x,y) : !Blind) + /*JP pline("%s goes out!", Yname2(obj)); + */ + pline("%s¤Ï¾Ã¤¨¤¿¡ª", Yname2(obj)); end_burn(obj, TRUE); return TRUE; } *************** *** 981,995 **** --- 1148,1171 ---- char buf[BUFSZ]; if(Underwater) { + /*JP pline("This is not a diving lamp."); + */ + pline("¤³¤ì¤ÏÀø¿åÍѤΥé¥ó¥×¤¸¤ã¤Ê¤¤¡¥"); return; } if(obj->lamplit) { if(obj->otyp == OIL_LAMP || obj->otyp == MAGIC_LAMP || obj->otyp == BRASS_LANTERN) + /*JP pline("%s lamp is now off.", Shk_Your(buf, obj)); + */ + pline("%s¥é¥ó¥×¤ÎÅô¤Ï¾Ã¤¨¤¿¡¥", Shk_Your(buf, obj)); else + /*JP You("snuff out %s.", yname(obj)); + */ + pline("%s¤ò¿¡¤­¾Ã¤·¤¿¡¥", yname(obj)); end_burn(obj, TRUE); return; } *************** *** 997,1026 **** --- 1173,1223 ---- if ((!Is_candle(obj) && obj->age == 0) || (obj->otyp == MAGIC_LAMP && obj->spe == 0)) { if (obj->otyp == BRASS_LANTERN) + /*JP Your("lamp has run out of power."); + */ + Your("¥é¥ó¥×¤ò»È¤¤ÀڤäƤ·¤Þ¤Ã¤¿¡ª"); + /*JP else pline("This %s has no oil.", xname(obj)); + */ + else pline("¤³¤Î%s¤Ë¤Ï¤â¤¦¥ª¥¤¥ë¤¬¤Ê¤¤¡¥", xname(obj)); return; } if (obj->cursed && !rn2(2)) { + /*JP pline("%s flicker%s for a moment, then die%s.", The(xname(obj)), obj->quan > 1L ? "" : "s", obj->quan > 1L ? "" : "s"); + */ + pline("%s¤Ï¤·¤Ð¤é¤¯¤Î´ÖÅÀÌǤ·¡¤¾Ã¤¨¤¿", + The(xname(obj))); } else { if(obj->otyp == OIL_LAMP || obj->otyp == MAGIC_LAMP || obj->otyp == BRASS_LANTERN) { check_unpaid(obj); + /*JP pline("%s lamp is now on.", Shk_Your(buf, obj)); + */ + pline("%s¥é¥ó¥×¤ËÅô¤¬Åô¤Ã¤¿¡¥", Shk_Your(buf, obj)); } else { /* candle(s) */ + /*JP pline("%s flame%s burn%s%s", s_suffix(Yname2(obj)), obj->quan > 1L ? "s" : "", obj->quan > 1L ? "" : "s", Blind ? "." : " brightly!"); + */ + pline("%s¤Ï%sdz¤¨¤¢¤¬¤Ã¤¿¡ª", + s_suffix(Yname2(obj)), + Blind ? "" : "ÌÀ¤ë¤¯"); if (obj->unpaid && obj->age == 20L * (long)objects[obj->otyp].oc_cost) { + /*JP const char *ithem = obj->quan > 1L ? "them" : "it"; verbalize("You burn %s, you bought %s!", ithem, ithem); + */ + verbalize("Åô¤ò¤Ä¤±¤¿¤Ê¡¤Çã¤Ã¤Æ¤â¤é¤ª¤¦¡ª"); bill_dummy_object(obj); } } *************** *** 1032,1038 **** light_cocktail(obj) struct obj *obj; /* obj is a potion of oil */ { ! char buf[BUFSZ]; if (u.uswallow) { You(no_elbow_room); --- 1229,1235 ---- light_cocktail(obj) struct obj *obj; /* obj is a potion of oil */ { ! /*JP char buf[BUFSZ];*/ if (u.uswallow) { You(no_elbow_room); *************** *** 1040,1046 **** } if (obj->lamplit) { ! You("snuff the lit potion."); end_burn(obj, TRUE); /* * Free & add to re-merge potion. This will average the --- 1237,1244 ---- } if (obj->lamplit) { ! /*JP You("snuff the lit potion.");*/ ! You("ÌýÉӤβФò¿á¤­¾Ã¤·¤¿¡¥"); end_burn(obj, TRUE); /* * Free & add to re-merge potion. This will average the *************** *** 1052,1058 **** return; } ! You("light %s potion. It gives off a dim light.", shk_your(buf, obj)); if (obj->unpaid) { check_unpaid(obj); /* surcharge for use of unpaid item */ bill_dummy_object(obj); /* treat it as having been used up */ --- 1250,1257 ---- return; } ! /*JP You("light %s potion. It gives off a dim light.", shk_your(buf, obj));*/ ! You("ÌýÉӤ˲Фò¤Ä¤±¤¿¡¥ÌýÉӤϰŤ¤¸÷¤ò¤Ï¤Ê¤Ã¤¿¡¥"); if (obj->unpaid) { check_unpaid(obj); /* surcharge for use of unpaid item */ bill_dummy_object(obj); /* treat it as having been used up */ *************** *** 1067,1073 **** obj_extract_self(obj); /* free from inv */ /* shouldn't merge */ ! obj = hold_another_object(obj, "You drop %s!", doname(obj), (const char *)0); } else begin_burn(obj, FALSE); --- 1266,1273 ---- obj_extract_self(obj); /* free from inv */ /* shouldn't merge */ ! /*JP obj = hold_another_object(obj, "You drop %s!",*/ ! obj = hold_another_object(obj, "¤¢¤Ê¤¿¤Ï%s¤òÍ¤¿¡ª", doname(obj), (const char *)0); } else begin_burn(obj, FALSE); *************** *** 1078,1084 **** int dorub() { ! struct obj *obj = getobj(cuddly, "rub"); if(!obj || (obj != uwep && !wield_tool(obj))) return 0; --- 1278,1285 ---- int dorub() { ! /*JP struct obj *obj = getobj(cuddly, "rub");*/ ! struct obj *obj = getobj(cuddly, "¤³¤¹¤ë"); if(!obj || (obj != uwep && !wield_tool(obj))) return 0; *************** *** 1094,1105 **** uwep->age = rn1(500,1000); if (uwep->lamplit) begin_burn(uwep, TRUE); } else if (rn2(2) && !Blind) ! You("see a puff of smoke."); else pline(nothing_happens); } else if (obj->otyp == BRASS_LANTERN) { /* message from Adventure */ ! pline("Rubbing the electric lamp is not particularly rewarding."); ! pline("Anyway, nothing exciting happens."); } else pline(nothing_happens); return 1; } --- 1295,1309 ---- uwep->age = rn1(500,1000); if (uwep->lamplit) begin_burn(uwep, TRUE); } else if (rn2(2) && !Blind) ! /*JP You("see a puff of smoke.");*/ ! pline("¤±¤à¤ê¤¬Éñ¤¤¤¢¤¬¤Ã¤¿¡¥"); else pline(nothing_happens); } else if (obj->otyp == BRASS_LANTERN) { /* message from Adventure */ ! /*JP pline("Rubbing the electric lamp is not particularly rewarding.");*/ ! pline("Åŵ¤¥é¥ó¥×¤ò¤³¤¹¤Ã¤Æ¤â°ÕÌ£¤Ï¤Ê¤¤¤È»×¤¦¤¬¡¥¡¥¡¥"); ! /*JP pline("Anyway, nothing exciting happens.");*/ ! pline("¤ä¤Ã¤Ñ¤ê¡¤²¿¤âµ¯¤­¤Ê¤«¤Ã¤¿¡¥"); } else pline(nothing_happens); return 1; } *************** *** 1113,1140 **** if (nolimbs(uasmon) || slithy(uasmon)) { /* normally (nolimbs || slithy) implies !Jumping, but that isn't necessarily the case for knights */ ! You_cant("jump; you have no legs!"); return 0; } else if (!Jumping) { ! You_cant("jump very far."); return 0; } else if (u.uswallow) { ! pline("You've got to be kidding!"); return 0; } else if (u.uinwater) { ! pline("This calls for swimming, not jumping!"); return 0; } else if (u.ustuck) { ! You("cannot escape from %s!", mon_nam(u.ustuck)); return 0; } else if (Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) { ! You("don't have enough traction to jump."); return 0; } else if (near_capacity() > UNENCUMBERED) { ! You("are carrying too much to jump!"); return 0; } else if (u.uhunger <= 100 || ACURR(A_STR) < 6) { ! You("lack the strength to jump!"); return 0; } else if (Wounded_legs) { /* note: dojump() has similar code */ --- 1317,1352 ---- if (nolimbs(uasmon) || slithy(uasmon)) { /* normally (nolimbs || slithy) implies !Jumping, but that isn't necessarily the case for knights */ ! /*JP You_cant("jump; you have no legs!");*/ ! pline("­¤¬Ìµ¤¯¤Æ¤ÏÈô¤Ù¤Ê¤¤¡ª"); return 0; } else if (!Jumping) { ! /*JP You_cant("jump very far.");*/ ! You_cant("¤½¤ó¤Ê±ó¤¯¤Þ¤ÇÈô¤Ù¤Ê¤¤¡¥"); return 0; } else if (u.uswallow) { ! /*JP pline("You've got to be kidding!");*/ ! pline("¾éÃ̤Ϥ褷¤³¤µ¤ó¡ª"); return 0; } else if (u.uinwater) { ! /*JP pline("This calls for swimming, not jumping!");*/ ! pline("¤½¤ì¤Ï¡Ø±Ë¤°¡Ù¤Ç¤¢¤Ã¤Æ¡¤¡ØÈô¤Ö¡Ù¤¸¤ã¤Ê¤¤¡ª"); return 0; } else if (u.ustuck) { ! /*JP You("cannot escape from %s!", mon_nam(u.ustuck));*/ ! You("%s¤«¤éƨ¤ì¤é¤ì¤Ê¤¤¡ª", mon_nam(u.ustuck)); return 0; } else if (Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) { ! /*JP You("don't have enough traction to jump.");*/ ! You("Èô¤Ö¤¿¤á¤ÎÈ¿Æ°¤¬¤Ä¤±¤é¤ì¤Ê¤¤¡¥"); return 0; } else if (near_capacity() > UNENCUMBERED) { ! /*JP You("are carrying too much to jump!");*/ ! You("¤¿¤¯¤µ¤óʪ¤ò»ý¤Á¤¹¤®¤ÆÈô¤Ù¤Ê¤¤¡ª"); return 0; } else if (u.uhunger <= 100 || ACURR(A_STR) < 6) { ! /*JP You("lack the strength to jump!");*/ ! You("Èô¤Ù¤ë¤À¤±¤ÎÎϤ¬¤Ê¤¤¡ª"); return 0; } else if (Wounded_legs) { /* note: dojump() has similar code */ *************** *** 1142,1200 **** const char *bp = body_part(LEG); if (wl == BOTH_SIDES) bp = makeplural(bp); Your("%s%s %s in no shape for jumping.", (wl == LEFT_SIDE) ? "left " : (wl == RIGHT_SIDE) ? "right " : "", bp, (wl == BOTH_SIDES) ? "are" : "is"); return 0; } pline("Where do you want to jump?"); cc.x = u.ux; cc.y = u.uy; getpos(&cc, TRUE, "the desired position"); if(cc.x == -10) return 0; /* user pressed esc */ if (!(Jumping & ~INTRINSIC) && distu(cc.x, cc.y) != 5) { ! pline("Illegal move!"); return 0; } else if (distu(cc.x, cc.y) > 9) { ! pline("Too far!"); return 0; } else if (!cansee(cc.x, cc.y)) { ! You("cannot see where to land!"); return 0; } else if ((mtmp = m_at(cc.x, cc.y)) != 0) { ! You("cannot trample %s!", mon_nam(mtmp)); return 0; } else if (!isok(cc.x, cc.y) || ((IS_ROCK(levl[cc.x][cc.y].typ) || sobj_at(BOULDER, cc.x, cc.y) || closed_door(cc.x, cc.y)) && !(passes_walls(uasmon) && may_passwall(cc.x, cc.y)))) { You("cannot jump there!"); return 0; } else { if(u.utrap) switch(u.utraptype) { case TT_BEARTRAP: { register long side = rn2(3) ? LEFT_SIDE : RIGHT_SIDE; You("rip yourself free of the bear trap! Ouch!"); losehp(rnd(10), "jumping out of a bear trap", KILLED_BY); set_wounded_legs(side, rn1(1000,500)); break; } case TT_PIT: You("leap from the pit!"); break; case TT_WEB: You("tear the web apart as you pull yourself free!"); deltrap(t_at(u.ux,u.uy)); break; case TT_LAVA: You("pull yourself above the lava!"); u.utrap = 0; return 1; case TT_INFLOOR: You("strain your %s, but you're still stuck in the floor.", makeplural(body_part(LEG))); set_wounded_legs(LEFT_SIDE, rn1(10, 11)); set_wounded_legs(RIGHT_SIDE, rn1(10, 11)); --- 1354,1447 ---- const char *bp = body_part(LEG); if (wl == BOTH_SIDES) bp = makeplural(bp); + /*JP Your("%s%s %s in no shape for jumping.", (wl == LEFT_SIDE) ? "left " : (wl == RIGHT_SIDE) ? "right " : "", bp, (wl == BOTH_SIDES) ? "are" : "is"); + */ + You("%s%s¤ò²ø²æ¤ò¤·¤Æ¤ª¤êÈô¤Ù¤Ê¤¤¡¥", + (wl == LEFT_SIDE) ? "º¸" : + (wl == RIGHT_SIDE) ? "±¦" : "", + bp); return 0; } + /*JP pline("Where do you want to jump?"); + */ + pline("¤É¤³¤ËÈô¤Ó¤Þ¤¹¤«¡©"); cc.x = u.ux; cc.y = u.uy; + /*JP getpos(&cc, TRUE, "the desired position"); + */ + getpos(&cc, TRUE, "Èô¤Ó¤¿¤¤¾ì½ê"); if(cc.x == -10) return 0; /* user pressed esc */ if (!(Jumping & ~INTRINSIC) && distu(cc.x, cc.y) != 5) { ! /*JP pline("Illegal move!");*/ ! pline("¤½¤Î°ÜÆ°¤Ï·ËÇÏÈô¤Ó¤¸¤ã¤Ê¤¤¡ª"); return 0; } else if (distu(cc.x, cc.y) > 9) { ! /*JP pline("Too far!");*/ ! pline("±ó¤¹¤®¤ë¡ª"); return 0; } else if (!cansee(cc.x, cc.y)) { ! /*JP You("cannot see where to land!");*/ ! You("ÃåÃÏÅÀ¤¬¸«¤¨¤Ê¤¤¡ª"); return 0; } else if ((mtmp = m_at(cc.x, cc.y)) != 0) { ! /*JP You("cannot trample %s!", mon_nam(mtmp));*/ ! You("%s¤Ë¤Ï¾è¤Ã¤«¤ì¤Ê¤¤¡ª", mon_nam(mtmp)); return 0; } else if (!isok(cc.x, cc.y) || ((IS_ROCK(levl[cc.x][cc.y].typ) || sobj_at(BOULDER, cc.x, cc.y) || closed_door(cc.x, cc.y)) && !(passes_walls(uasmon) && may_passwall(cc.x, cc.y)))) { + /*JP You("cannot jump there!"); + */ + You("¤½¤³¤Ë¤ÏÈô¤Ù¤Ê¤¤¡ª"); return 0; } else { if(u.utrap) switch(u.utraptype) { case TT_BEARTRAP: { register long side = rn2(3) ? LEFT_SIDE : RIGHT_SIDE; + /*JP You("rip yourself free of the bear trap! Ouch!"); losehp(rnd(10), "jumping out of a bear trap", KILLED_BY); + */ + You("¼«Ê¬¤ò·§¤Î櫤«¤é¤Ò¤­¤Ï¤¬¤·¤¿¡¤¤¤¤Æ¤Ã¡ª"); + losehp(rnd(10), "·§¤Î櫤«¤éÈô¤Ó½Ð¤è¤¦¤È¤·¤Æ", KILLED_BY); set_wounded_legs(side, rn1(1000,500)); break; } case TT_PIT: + /*JP You("leap from the pit!"); + */ + You("Í·ê¤«¤éÈô¤Ó½Ð¤¿¡ª"); break; case TT_WEB: + /*JP You("tear the web apart as you pull yourself free!"); + */ + You("ÃØéá¤ÎÁã¤ò¤Ò¤­¤µ¤­¡¤¼«Í³¤Ë¤Ê¤Ã¤¿¡ª"); deltrap(t_at(u.ux,u.uy)); break; case TT_LAVA: + /*JP You("pull yourself above the lava!"); + */ + You("Íϴ䤫¤éÈô¤Ó½Ð¤¿¡ª"); u.utrap = 0; return 1; case TT_INFLOOR: + /*JP You("strain your %s, but you're still stuck in the floor.", + */ + You("%s¤ò°ú¤Ã¤Ñ¤Ã¤¿¡¤¤·¤«¤·¡¤¤¢¤Ê¤¿¤Ï¤Þ¤À¾²¤Ë¤¦¤Þ¤Ã¤Æ¤¤¤ë¡¥", makeplural(body_part(LEG))); set_wounded_legs(LEFT_SIDE, rn1(10, 11)); set_wounded_legs(RIGHT_SIDE, rn1(10, 11)); *************** *** 1227,1259 **** /* This takes only 1 move. If this is to be changed to take many * moves, we've got to deal with decaying corpses... */ ! if (!(corpse = floorfood("tin", 2))) return; if (corpse->oeaten) { ! You("cannot tin %s which is partly eaten.",something); return; } if ((corpse->corpsenm == PM_COCKATRICE) && !resists_ston(&youmonst) && !uarmg) { ! pline("Tinning a cockatrice without wearing gloves is a fatal mistake..."); /* this will have to change if more monsters can poly */ if (!(poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM))) { ! You("turn to stone..."); killer_format = KILLED_BY; ! killer = "trying to tin a cockatrice without gloves"; done(STONING); } } if (is_rider(&mons[corpse->corpsenm])) { (void) revive_corpse(corpse); ! verbalize("Yes... But War does not preserve its enemies..."); return; } if (mons[corpse->corpsenm].cnutrit == 0) { ! pline("That's too insubstantial to tin."); return; } if ((can = mksobj(TIN, FALSE, FALSE)) != 0) { ! static const char you_buy_it[] = "You tin it, you bought it!"; can->corpsenm = corpse->corpsenm; can->cursed = obj->cursed; --- 1474,1514 ---- /* This takes only 1 move. If this is to be changed to take many * moves, we've got to deal with decaying corpses... */ ! /*JP if (!(corpse = floorfood("tin", 2))) return;*/ ! if (!(corpse = floorfood("´ÌµÍ¤á¤Ë¤¹¤ë", 2))) return; if (corpse->oeaten) { ! /*JP You("cannot tin %s which is partly eaten.",something);*/ ! You("¿©¤Ù¤«¤±¤Î¤â¤Î¤ò´ÌµÍ¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥"); return; } if ((corpse->corpsenm == PM_COCKATRICE) && !resists_ston(&youmonst) && !uarmg) { ! /*JPpline("Tinning a cockatrice without wearing gloves is a fatal mistake...");*/ ! pline("¥³¥«¥È¥ê¥¹¤ò¾®¼ê¤Ê¤·¤Ç´ÌµÍ¤Ë¤¹¤ë¤Î¤ÏÃ×̿Ū¤Ê´Ö°ã¤¤¤À¡¥¡¥¡¥"); /* this will have to change if more monsters can poly */ if (!(poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM))) { ! /*JP You("turn to stone...");*/ ! You("Àв½¤·¤¿¡¥¡¥¡¥"); killer_format = KILLED_BY; ! /*JP killer = "trying to tin a cockatrice without gloves";*/ ! killer = "¾®¼ê¤ò¤Ä¤±¤º¤Ë¥³¥«¥È¥ê¥¹¤ò´ÌµÍ¤Ë¤·¤è¤¦¤È¤·¤Æ"; done(STONING); } } if (is_rider(&mons[corpse->corpsenm])) { (void) revive_corpse(corpse); ! /*JP verbalize("Yes... But War does not preserve its enemies...");*/ ! verbalize("¤½¤¦¤À¡¥¡¥¡¥¡ÖÀïÁè¡×¤ÏŨ¤Ë°Â¤é¤®¤òÍ¿¤¨¤Ì¡¥¡¥¡¥"); return; } if (mons[corpse->corpsenm].cnutrit == 0) { ! /*JP pline("That's too insubstantial to tin.");*/ ! pline("¼ÂÂΤ¬¤Ê¤¤¤Î¤Ç´ÌµÍ¤Ë¤Ç¤­¤Ê¤¤¡¥"); return; } if ((can = mksobj(TIN, FALSE, FALSE)) != 0) { ! /*JP static const char you_buy_it[] = "You tin it, you bought it!";*/ ! static const char you_buy_it[] = "´ÌµÍ¤Ë¤·¤¿¤Ê¡ªÇã¤Ã¤Æ¤â¤é¤ª¤¦¡ª"; can->corpsenm = corpse->corpsenm; can->cursed = obj->cursed; *************** *** 1270,1276 **** verbalize(you_buy_it); useupf(corpse); } ! can = hold_another_object(can, "You make, but cannot pick up, %s.", doname(can), (const char *)0); } else impossible("Tinning failed."); } --- 1525,1532 ---- verbalize(you_buy_it); useupf(corpse); } ! /*JP can = hold_another_object(can, "You make, but cannot pick up, %s.",*/ ! can = hold_another_object(can, "´ÌµÍ¤Ë¤Ç¤­¤¿¤¬¡¤%s¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥", doname(can), (const char *)0); } else impossible("Tinning failed."); } *************** *** 1295,1302 **** case 1: make_blinded(Blinded + lcount, TRUE); break; case 2: if (!Confusion) ! You("suddenly feel %s.", ! Hallucination ? "trippy" : "confused"); make_confused(HConfusion + lcount, TRUE); break; case 3: make_stunned(HStun + lcount, TRUE); --- 1551,1560 ---- case 1: make_blinded(Blinded + lcount, TRUE); break; case 2: if (!Confusion) ! /*JP You("suddenly feel %s.", ! Hallucination ? "trippy" : "confused");*/ ! You("ÆÍÁ³%s¡¥", ! Hallucination ? "¤Ø¤í¤Ø¤í¤Ë¤Ê¤Ã¤¿" : "º®Í𤷤¿"); make_confused(HConfusion + lcount, TRUE); break; case 3: make_stunned(HStun + lcount, TRUE); *************** *** 1409,1419 **** } if (did_attr) ! pline("This makes you feel %s!", (did_prop + did_attr) == (trouble_count + unfixable_trbl) ? ! "great" : "better"); else if (!did_prop) ! pline("Nothing seems to happen."); flags.botl = (did_attr || did_prop); #undef PROP_COUNT --- 1667,1681 ---- } if (did_attr) ! /*JP pline("This makes you feel %s!", ! (did_prop + did_attr) == (trouble_count + unfixable_trbl) ? ! "great" : "better");*/ ! pline("µ¤Ê¬¤¬%s¤è¤¯¤Ê¤Ã¤¿¡ª", (did_prop + did_attr) == (trouble_count + unfixable_trbl) ? ! "¤È¤Æ¤â" : "¤è¤ê"); else if (!did_prop) ! /*JP pline("Nothing seems to happen.");*/ ! pline("²¿¤âµ¯¤­¤¿¤è¤¦¤Êµ¤¤¬¤·¤Ê¤¤¡¥"); flags.botl = (did_attr || did_prop); #undef PROP_COUNT *************** *** 1436,1468 **** } x = u.ux + u.dx; y = u.uy + u.dy; if (!isok(x,y)) { ! You("cannot put the figurine there."); return; } if (IS_ROCK(levl[x][y].typ) && !(passes_walls(&mons[obj->corpsenm]) && may_passwall(x,y))) { ! You("cannot place a figurine in solid rock!"); return; } if (sobj_at(BOULDER,x,y) && !passes_walls(&mons[obj->corpsenm]) && !throws_rocks(&mons[obj->corpsenm])) { ! You("cannot fit the figurine on the boulder."); return; } ! You("%s and it transforms.", (u.dx||u.dy) ? "set the figurine beside you" : (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) ? "release the figurine" : (u.dz < 0 ? "toss the figurine into the air" : ! "set the figurine on the ground")); make_familiar(obj, u.ux+u.dx, u.uy+u.dy); useup(obj); } static NEARDATA const char lubricables[] = { ALL_CLASSES, ALLOW_NONE, 0 }; static NEARDATA const char need_to_remove_outer_armor[] = ! "need to remove your %s to grease your %s."; static void use_grease(obj) --- 1698,1741 ---- } x = u.ux + u.dx; y = u.uy + u.dy; if (!isok(x,y)) { ! /*JP You("cannot put the figurine there.");*/ ! You("¤³¤³¤Ë¿Í·Á¤òÃÖ¤±¤Ê¤¤¡¥"); return; } if (IS_ROCK(levl[x][y].typ) && !(passes_walls(&mons[obj->corpsenm]) && may_passwall(x,y))) { ! /*JP You("cannot place a figurine in solid rock!");*/ ! You("¸Ç¤¤ÀФÎÃæ¤Ë¤Ï¿Í·Á¤òÃÖ¤±¤Ê¤¤¡ª"); return; } if (sobj_at(BOULDER,x,y) && !passes_walls(&mons[obj->corpsenm]) && !throws_rocks(&mons[obj->corpsenm])) { ! /*JP You("cannot fit the figurine on the boulder.");*/ ! You("´ä¤Î¾å¤Ë¿Í·Á¤òÃÖ¤±¤Ê¤¤¡¥"); return; } ! /*JP You("%s and it transforms.", (u.dx||u.dy) ? "set the figurine beside you" : (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) ? "release the figurine" : (u.dz < 0 ? "toss the figurine into the air" : ! "set the figurine on the ground"));*/ ! You("%s¡¥¤¹¤ë¤È¤½¤ì¤ÏÊÑ·Á¤·¤¿¡¥", ! (u.dx||u.dy) ? "¤½¤Ð¤Ë¿Í·Á¤òÃÖ¤¤¤¿" : ! (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) ? ! "¿Í·Á¤òÊü¤Ã¤¿" : ! (u.dz < 0 ? ! "¿Í·Á¤ò¶õÃæ¤ËÅꤲ¤¿" : ! "¿Í·Á¤òÃÏÌ̤ËÃÖ¤¤¤¿")); make_familiar(obj, u.ux+u.dx, u.uy+u.dy); useup(obj); } static NEARDATA const char lubricables[] = { ALL_CLASSES, ALLOW_NONE, 0 }; static NEARDATA const char need_to_remove_outer_armor[] = ! /*JP "need to remove your %s to grease your %s.";*/ ! "%s¤ËÌý¤òÅɤë¤Ë¤Ï%s¤ò¤Ï¤º¤¹É¬Íפ¬¤¢¤ë¡¥"; static void use_grease(obj) *************** *** 1473,1479 **** if (Glib) { dropx(obj); ! pline("%s slips from your %s.", The(xname(obj)), makeplural(body_part(FINGER))); return; } --- 1746,1753 ---- if (Glib) { dropx(obj); ! /*JP pline("%s slips from your %s.", The(xname(obj)),*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î%s¤«¤é³ê¤êÍî¤Á¤¿¡¥", The(xname(obj)), makeplural(body_part(FINGER))); return; } *************** *** 1483,1527 **** check_unpaid(obj); obj->spe--; dropx(obj); pline("%s slips from your %s.", The(xname(obj)), makeplural(body_part(FINGER))); return; } otmp = getobj(lubricables, "grease"); if (!otmp) return; if ((otmp->owornmask & WORN_ARMOR) && uarmc) { Strcpy(buf, xname(uarmc)); ! You(need_to_remove_outer_armor, buf, xname(otmp)); return; } #ifdef TOURIST if ((otmp->owornmask & WORN_SHIRT) && (uarmc || uarm)) { Strcpy(buf, uarmc ? xname(uarmc) : ""); if (uarmc && uarm) Strcat(buf, " and "); Strcat(buf, uarm ? xname(uarm) : ""); You(need_to_remove_outer_armor, buf, xname(otmp)); return; } #endif check_unpaid(obj); obj->spe--; if (otmp != &zeroobj) { You("cover %s with a thick layer of grease.", yname(otmp)); otmp->greased = 1; if (obj->cursed && !nohands(uasmon)) { Glib += rnd(15); pline("Some of the grease gets all over your %s.", makeplural(body_part(HAND))); } } else { Glib += rnd(15); You("coat your %s with grease.", makeplural(body_part(FINGER))); } } else { pline("%s %s empty.", The(xname(obj)), obj->known ? "is" : "seems to be"); } } --- 1757,1827 ---- check_unpaid(obj); obj->spe--; dropx(obj); + /*JP pline("%s slips from your %s.", The(xname(obj)), + */ + pline("%s¤Ï¤¢¤Ê¤¿¤Î%s¤«¤é³ê¤êÍî¤Á¤¿¡¥", The(xname(obj)), makeplural(body_part(FINGER))); return; } + /*JP otmp = getobj(lubricables, "grease"); + */ + otmp = getobj(lubricables, "¤ËÅɤë"); if (!otmp) return; if ((otmp->owornmask & WORN_ARMOR) && uarmc) { Strcpy(buf, xname(uarmc)); ! /*JP You(need_to_remove_outer_armor, buf, xname(otmp));*/ ! You(need_to_remove_outer_armor, xname(otmp), buf); return; } #ifdef TOURIST if ((otmp->owornmask & WORN_SHIRT) && (uarmc || uarm)) { Strcpy(buf, uarmc ? xname(uarmc) : ""); + /*JP if (uarmc && uarm) Strcat(buf, " and "); + */ + if (uarmc && uarm) Strcat(buf, "¤È"); Strcat(buf, uarm ? xname(uarm) : ""); + /*JP You(need_to_remove_outer_armor, buf, xname(otmp)); + */ + You(need_to_remove_outer_armor, xname(otmp), buf); return; } #endif check_unpaid(obj); obj->spe--; if (otmp != &zeroobj) { + /*JP You("cover %s with a thick layer of grease.", + */ + You("%s¤Ë»é¤òðǰ¤ËÅɤä¿¡¥", yname(otmp)); otmp->greased = 1; if (obj->cursed && !nohands(uasmon)) { Glib += rnd(15); + /*JP pline("Some of the grease gets all over your %s.", + */ + pline("¤¢¤Ö¤é¤¬¾¯¤·%s¤Ë¤Ä¤¤¤¿¡¥", makeplural(body_part(HAND))); } } else { Glib += rnd(15); + /*JP You("coat your %s with grease.", + */ + You("%s¤Ë»é¤òÅɤä¿¡¥", makeplural(body_part(FINGER))); } } else { + /*JP pline("%s %s empty.", The(xname(obj)), obj->known ? "is" : "seems to be"); + */ + pline("%s¤Ï¶õ¤Ã¤Ý%s¡¥", The(xname(obj)), + obj->known ? "¤À" : "¤Ë¸«¤¨¤ë"); } } *************** *** 1535,1559 **** const char *what = (char *)0; if (u.uswallow) ! what = is_animal(u.ustuck->data) ? "while swallowed" : ! "while engulfed"; else if (Underwater) ! what = "underwater"; else if (Levitation) ! what = "while levitating"; else if (is_pool(u.ux, u.uy)) ! what = "in water"; else if (is_lava(u.ux, u.uy)) ! what = "in lava"; else if (On_stairs(u.ux, u.uy)) what = (u.ux == xdnladder || u.ux == xupladder) ? ! "on the ladder" : "on the stairs"; else if (IS_FURNITURE(levl[u.ux][u.uy].typ) || IS_ROCK(levl[u.ux][u.uy].typ) || closed_door(u.ux, u.uy) || t_at(u.ux, u.uy)) ! what = "here"; if (what) { ! You_cant("set a trap %s!",what); return; } ttyp = (otmp->otyp == LAND_MINE) ? LANDMINE : BEAR_TRAP; --- 1835,1868 ---- const char *what = (char *)0; if (u.uswallow) ! /*JP what = is_animal(u.ustuck->data) ? "while swallowed" : ! "while engulfed";*/ ! what = is_animal(u.ustuck->data) ? "°û¤ß¹þ¤Þ¤ì¤Æ¤¤¤ë´Ö¤Ï" : ! "´¬¤­¹þ¤Þ¤ì¤Æ¤¤¤ë´Ö¤Ï"; else if (Underwater) ! /*JP what = "underwater";*/ ! what = "¿åÌ̲¼¤Ç¤Ï"; else if (Levitation) ! /*JP what = "while levitating";*/ ! what = "É⤤¤Æ¤¤¤ë´Ö¤Ï"; else if (is_pool(u.ux, u.uy)) ! /*JP what = "in water";*/ ! what = "¿åÃæ¤Ç¤Ï"; else if (is_lava(u.ux, u.uy)) ! /*JP what = "in lava";*/ ! what = "ÍÏ´ä¤ÎÃæ¤Ç¤Ï"; else if (On_stairs(u.ux, u.uy)) what = (u.ux == xdnladder || u.ux == xupladder) ? ! /*JP "on the ladder" : "on the stairs";*/ ! "¤Ï¤·¤´¤Î¾å¤Ç¤Ï" : "³¬Ãʤξå¤Ç¤Ï"; else if (IS_FURNITURE(levl[u.ux][u.uy].typ) || IS_ROCK(levl[u.ux][u.uy].typ) || closed_door(u.ux, u.uy) || t_at(u.ux, u.uy)) ! /*JP what = "here";*/ ! what = "¤³¤³¤Ç¤Ï"; if (what) { ! /*JP You_cant("set a trap %s!",what);*/ ! You_cant("%s櫤ò»Å³Ý¤±¤é¤ì¤Ê¤¤¡ª",what); return; } ttyp = (otmp->otyp == LAND_MINE) ? LANDMINE : BEAR_TRAP; *************** *** 1565,1576 **** if (*in_rooms(u.ux,u.uy,SHOPBASE)) { add_damage(u.ux, u.uy, 0L); /* schedule removal */ } ! You("set and arm %s.", ! an(defsyms[trap_to_defsym(ttyp)].explanation)); if ((otmp->cursed || Fumbling) && (rnl(10) > 5)) dotrap(ttmp); } else { /* this shouldn't happen */ ! Your("attempt fails."); } useup(otmp); } --- 1874,1888 ---- if (*in_rooms(u.ux,u.uy,SHOPBASE)) { add_damage(u.ux, u.uy, 0L); /* schedule removal */ } ! /*JP You("set and arm %s.", ! an(defsyms[trap_to_defsym(ttyp)].explanation));*/ ! You("%s¤ò»Å³Ý¤±¤¿¡¥", ! jtrns_obj('^', defsyms[trap_to_defsym(ttyp)].explanation)); if ((otmp->cursed || Fumbling) && (rnl(10) > 5)) dotrap(ttmp); } else { /* this shouldn't happen */ ! /*JP Your("attempt fails.");*/ ! Your("¼ºÇÔ¤·¤¿¡¥"); } useup(otmp); } *************** *** 1584,1591 **** register int rx, ry; int res = 0; int proficient = 0; ! const char *msg_slipsfree = "The bullwhip slips free."; ! const char *msg_snap = "Snap!"; struct obj *otmp; if (obj != uwep) { --- 1896,1905 ---- register int rx, ry; int res = 0; int proficient = 0; ! /*JP const char *msg_slipsfree = "The bullwhip slips free."; ! const char *msg_snap = "Snap!";*/ ! const char *msg_slipsfree = "ÊܤϤۤɤ±¤¿¡¥"; ! const char *msg_snap = "¥Ô¥·¥Ã¡ª"; struct obj *otmp; if (obj != uwep) { *************** *** 1610,1629 **** if (proficient < 0) proficient = 0; if (u.uswallow && attack(u.ustuck)) ! pline("There is not enough room to flick your bullwhip."); else if (Underwater) ! pline("There is too much resistance to flick your bullwhip."); else if (u.dz < 0) ! You("flick a bug off of the %s.",ceiling(u.ux,u.uy)); else if((!u.dx && !u.dy) || (u.dz > 0)) { int dam; if (Levitation) { /* Have a shot at snaring something on the floor */ otmp = level.objects[u.ux][u.uy]; if (otmp && proficient) { ! You("wrap your bullwhip around %s on the %s.", an(singular(otmp,xname)), ! surface(u.ux, u.uy)); if (!rnl(6)) if (pickup_object(otmp, 1L, TRUE) > 0) return 1; --- 1924,1950 ---- if (proficient < 0) proficient = 0; if (u.uswallow && attack(u.ustuck)) ! /*JP pline("There is not enough room to flick your bullwhip.");*/ ! pline("ÊܤòÂǤĤÀ¤±¤Î;͵¤¬¤Ê¤¤¡¥"); else if (Underwater) ! /*JP pline("There is too much resistance to flick your bullwhip.");*/ ! pline("¿å¤ÎÄñ¹³¤¬¤¢¤ê¤¹¤®¤ÆÊܤòÂǤĤ³¤È¤¬¤Ç¤­¤Ê¤¤¡¥"); else if (u.dz < 0) ! /*JP You("flick a bug off of the %s.",ceiling(u.ux,u.uy));*/ ! You("%s¤ÎÃî¤òÂǤÁÍ¤¿¡¥",ceiling(u.ux,u.uy)); else if((!u.dx && !u.dy) || (u.dz > 0)) { int dam; if (Levitation) { /* Have a shot at snaring something on the floor */ otmp = level.objects[u.ux][u.uy]; if (otmp && proficient) { ! /*JP You("wrap your bullwhip around %s on the %s.", an(singular(otmp,xname)), ! surface(u.ux, u.uy));*/ ! if (!rnl(6)) ! You("Êܤò%s¤Î¾å¤Î%s¤Ë¤«¤é¤Þ¤»¤¿¡¥", ! surface(u.ux, u.uy), ! an(singular(otmp,xname))); if (!rnl(6)) if (pickup_object(otmp, 1L, TRUE) > 0) return 1; *************** *** 1633,1647 **** } dam = rnd(2) + dbon() + obj->spe; if (dam <= 0) dam = 1; ! You("hit your %s with your bullwhip.", body_part(FOOT)); /* self_pronoun() won't work twice in a sentence */ ! Strcpy(buf, self_pronoun("killed %sself with %%s bullwhip", ! "him")); ! losehp(dam, self_pronoun(buf, "his"), NO_KILLER_PREFIX); flags.botl=1; return(1); } else if ((Fumbling || Glib) && !rn2(5)) { ! pline_The("bullwhip slips out of your %s.", body_part(HAND)); dropx(obj); setuwep((struct obj *)0); --- 1954,1972 ---- } dam = rnd(2) + dbon() + obj->spe; if (dam <= 0) dam = 1; ! /*JP You("hit your %s with your bullwhip.", body_part(FOOT));*/ ! You("¼«Ê¬¤Î%s¤ò¼«Ê¬¤ÇÂǤÁ¤Ä¤±¤¿¡¥", body_part(FOOT)); /* self_pronoun() won't work twice in a sentence */ ! /*JP Strcpy(buf, self_pronoun("killed %sself with %%s bullwhip", ! "him"));*/ ! Strcpy(buf, "¼«Ê¬¼«¿È¤òÊÜÂǤäÆ"); ! /*JP losehp(dam, self_pronoun(buf, "his"), NO_KILLER_PREFIX);*/ ! losehp(dam, buf, KILLED_BY); flags.botl=1; return(1); } else if ((Fumbling || Glib) && !rn2(5)) { ! /*JP pline_The("bullwhip slips out of your %s.",*/ ! pline("¤¢¤Ê¤¿¤Ï%s¤«¤éÊܤòÍ¤¿¡¥", body_part(HAND)); dropx(obj); setuwep((struct obj *)0); *************** *** 1678,1693 **** if (IS_FURNITURE(levl[rx][ry].typ)) wrapped_what = something; else if (sobj_at(BOULDER, rx, ry)) ! wrapped_what = "a boulder"; } if (wrapped_what) { coord cc; cc.x = rx; cc.y = ry; ! You("wrap your bullwhip around %s.", wrapped_what); if (proficient && rn2(proficient + 2)) { if (!mtmp || enexto(&cc, rx, ry, &playermon)) { ! You("yank yourself out of the pit!"); teleds(cc.x, cc.y); u.utrap = 0; vision_full_recalc = 1; --- 2003,2021 ---- if (IS_FURNITURE(levl[rx][ry].typ)) wrapped_what = something; else if (sobj_at(BOULDER, rx, ry)) ! /*JP wrapped_what = "a boulder";*/ ! wrapped_what = "´ä"; } if (wrapped_what) { coord cc; cc.x = rx; cc.y = ry; ! /*JP You("wrap your bullwhip around %s.", wrapped_what);*/ ! You("Êܤò%s¤Ë¤«¤é¤Þ¤»¤¿", wrapped_what); if (proficient && rn2(proficient + 2)) { if (!mtmp || enexto(&cc, rx, ry, &playermon)) { ! /*JP You("yank yourself out of the pit!");*/ ! You("¤°¤¤¤È°ú¤Ã¤Ñ¤Ã¤¿¡ª"); teleds(cc.x, cc.y); u.utrap = 0; vision_full_recalc = 1; *************** *** 1698,1704 **** } else if (mtmp) { otmp = MON_WEP(mtmp); /* can be null */ if (otmp) { ! You("wrap your bullwhip around %s %s.", s_suffix(mon_nam(mtmp)), xname(otmp)); if (proficient && (!Fumbling || !rn2(10))) { obj_extract_self(otmp); --- 2026,2033 ---- } else if (mtmp) { otmp = MON_WEP(mtmp); /* can be null */ if (otmp) { ! /*JP You("wrap your bullwhip around %s %s.",*/ ! You("Êܤò%s¤Î%s¤Ë¤«¤é¤Þ¤»¤¿¡¥", s_suffix(mon_nam(mtmp)), xname(otmp)); if (proficient && (!Fumbling || !rn2(10))) { obj_extract_self(otmp); *************** *** 1707,1713 **** switch(rn2(proficient + 1)) { case 2: /* to floor near you */ ! You("yank %s %s to the %s!", s_suffix(mon_nam(mtmp)), xname(otmp), surface(u.ux, u.uy)); --- 2036,2043 ---- switch(rn2(proficient + 1)) { case 2: /* to floor near you */ ! /*JP You("yank %s %s to the %s!",*/ ! You("%s¤Î%s¤ò%s¤Ë°ú¤­Í¤¿¡ª", s_suffix(mon_nam(mtmp)), xname(otmp), surface(u.ux, u.uy)); *************** *** 1718,1728 **** case 3: /* right into your inventory */ if (rn2(25)) { ! You("snatch %s %s!", s_suffix(mon_nam(mtmp)), xname(otmp)); otmp = hold_another_object(otmp, ! "You drop %s!", doname(otmp), (const char *)0); /* proficient with whip, but maybe not so proficient at catching weapons */ --- 2048,2060 ---- case 3: /* right into your inventory */ if (rn2(25)) { ! /*JP You("snatch %s %s!",*/ ! You("%s¤Î%s¤òÃ¥¤Ã¤¿¡ª", s_suffix(mon_nam(mtmp)), xname(otmp)); otmp = hold_another_object(otmp, ! /*JP "You drop %s!", doname(otmp),*/ ! "%s¤òÍ¤¿¡ª", doname(otmp), (const char *)0); /* proficient with whip, but maybe not so proficient at catching weapons */ *************** *** 1750,1756 **** u.usym = mtmp->data->mlet; uasmon = mtmp->data; /* to floor beneath mon */ ! You("yank %s from %s %s!", the(xname(otmp)), s_suffix(mon_nam(mtmp)), body_part(HAND)); --- 2082,2092 ---- u.usym = mtmp->data->mlet; uasmon = mtmp->data; /* to floor beneath mon */ ! /*JP You("yank %s from %s %s!", ! the(xname(otmp)), ! s_suffix(mon_nam(mtmp)), ! body_part(HAND));*/ ! You("%s¤ò%s¤Î%s¤«¤é¤Ò¤Ã¤Ñ¤Ã¤¿¡ª", the(xname(otmp)), s_suffix(mon_nam(mtmp)), body_part(HAND)); *************** *** 1765,1771 **** pline(msg_slipsfree); } } else { ! You("flick your bullwhip towards %s.", mon_nam(mtmp)); if (proficient) if (attack(mtmp)) return(1); else --- 2101,2108 ---- pline(msg_slipsfree); } } else { ! /*JP You("flick your bullwhip towards %s.", mon_nam(mtmp));*/ ! You("%s¤Ë¸þ¤Ã¤ÆÊܤòÂǤä¿¡¥", mon_nam(mtmp)); if (proficient) if (attack(mtmp)) return(1); else *************** *** 1773,1779 **** } } else if (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) { /* it must be air -- water checked above */ ! You("snap your whip through thin air."); } else pline(msg_snap); return(1); --- 2110,2117 ---- } } else if (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) { /* it must be air -- water checked above */ ! /*JP You("snap your whip through thin air.");*/ ! You("²¿¤â¤Ê¤¤¤È¤³¤í¤Ç¥à¥Á¤òÂǤä¿¡¥"); } else pline(msg_snap); return(1); *************** *** 1787,1793 **** --- 2125,2134 ---- do_break_wand(obj) struct obj *obj; { + /*JP static const char nothing_else_happens[] = "But nothing else happens..."; + */ + static const char nothing_else_happens[] = "¤·¤«¤·¡¤²¿¤âµ¯¤­¤Ê¤«¤Ã¤¿¡¥¡¥¡¥"; register int i, x, y; register struct monst *mon; int dmg, damage; *************** *** 1795,1811 **** --- 2136,2164 ---- char confirm[QBUFSZ], the_wand[BUFSZ]; Strcpy(the_wand, yname(obj)); + /*JP Sprintf(confirm, "Are you really sure you want to break %s?", the_wand); + */ + Sprintf(confirm, "ËÜÅö¤Ë%s¤ò²õ¤¹¤Î¡©", the_wand); if (yn(confirm) == 'n' ) return 0; if (nohands(uasmon)) { + /*JP You_cant("break %s without hands!", the_wand); + */ + You("¼ê¤¬Ìµ¤¤¤Î¤Ç%s¤ò²õ¤»¤Ê¤¤¡ª", the_wand); return 0; } else if (ACURR(A_STR) < 10) { + /*JP You("don't have the strength to break %s!", the_wand); + */ + You("%s¤ò²õ¤¹¤À¤±¤ÎÎϤ¬¤Ê¤¤¡ª", the_wand); return 0; } + /*JP pline("Raising %s high above your %s, you break it in two!", + */ + pline("%s¤ò%s¤Î¾å¤Ë¤¢¤²Æó¤Ä¤Ë¤Ø¤·Àޤä¿¡ª", the_wand, body_part(HEAD)); if (obj->spe <= 0) { pline(nothing_else_happens); *************** *** 1838,1844 **** goto discard_broken_wand; case WAN_STRIKING: /* we want this before the explosion instead of at the very end */ ! pline("A wall of force smashes down around you!"); dmg = d(1 + obj->spe,6); /* normally 2d12 */ case WAN_CANCELLATION: case WAN_POLYMORPH: --- 2191,2198 ---- goto discard_broken_wand; case WAN_STRIKING: /* we want this before the explosion instead of at the very end */ ! /*JP pline("A wall of force smashes down around you!");*/ ! pline("¤¢¤Ê¤¿¤ÏËâÎϤÎÊɤˤĤĤޤ줿¡ª"); dmg = d(1 + obj->spe,6); /* normally 2d12 */ case WAN_CANCELLATION: case WAN_POLYMORPH: *************** *** 1873,1881 **** damage = zapyourself(obj, FALSE); if (damage) losehp(damage, ! self_pronoun("killed %sself by breaking a wand", ! "him"), ! NO_KILLER_PREFIX); if (flags.botl) bot(); /* blindness */ } else if ((mon = m_at(x, y)) != 0) { (void) bhitm(mon, obj); --- 2227,2237 ---- damage = zapyourself(obj, FALSE); if (damage) losehp(damage, ! /*JP self_pronoun("killed %sself by breaking a wand", ! "him"),*/ ! "¼«Ê¬¼«¿È¤Ç¾ó¤ò²õ¤·¤Æ¥À¥á¡¼¥¸¤ò¼õ¤±", ! /*JP NO_KILLER_PREFIX);*/ ! KILLED_BY); if (flags.botl) bot(); /* blindness */ } else if ((mon = m_at(x, y)) != 0) { (void) bhitm(mon, obj); *************** *** 1906,1912 **** register int res = 1; if(check_capacity((char *)0)) return (0); ! obj = getobj(carrying(POT_OIL) ? tools_too : tools, "use or apply"); if(!obj) return 0; if (obj->oclass == WAND_CLASS) --- 2262,2269 ---- register int res = 1; if(check_capacity((char *)0)) return (0); ! /*JP obj = getobj(carrying(POT_OIL) ? tools_too : tools, "use or apply");*/ ! obj = getobj(carrying(POT_OIL) ? tools_too : tools, "»È¤¦"); if(!obj) return 0; if (obj->oclass == WAND_CLASS) *************** *** 1919,1926 **** else Blindf_off(obj); } else if (!ublindf) Blindf_on(obj); ! else You("are already %s.", ublindf->otyp == TOWEL ? ! "covered by a towel" : "wearing a blindfold"); break; case BULLWHIP: res = use_whip(obj); --- 2276,2285 ---- else Blindf_off(obj); } else if (!ublindf) Blindf_on(obj); ! /*JP else You("are already %s.", ublindf->otyp == TOWEL ? ! "covered by a towel" : "wearing a blindfold");*/ ! else You("¤â¤¦%s¡¥", ublindf->otyp == TOWEL ? ! "¥¿¥ª¥ë¤ò´¬¤¤¤Æ¤¤¤ë" : "Ìܱ£¤·¤ò¤Ä¤±¤Æ¤¤¤ë"); break; case BULLWHIP: res = use_whip(obj); *************** *** 2013,2026 **** break; case TIN_OPENER: if(!carrying(TIN)) { ! You("have no tin to open."); goto xit; } ! You("cannot open a tin without eating or discarding its contents."); if(flags.verbose) ! pline("In order to eat, use the 'e' command."); if(obj != uwep) ! pline("Opening the tin will be much easier if you wield the tin opener."); goto xit; case FIGURINE: --- 2372,2389 ---- break; case TIN_OPENER: if(!carrying(TIN)) { ! /*JP You("have no tin to open.");*/ ! You("´Ì¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡¥"); goto xit; } ! /*JP You("cannot open a tin without eating or discarding its contents.");*/ ! pline("Ãæ¿È¤ò¿©¤Ù¤ë¤«¡¤¼Î¤Æ¤ë¤«¤·¤Ê¤¤¤È´Ì¤ò¶õ¤Ë¤Ç¤­¤Ê¤¤¡¥"); if(flags.verbose) ! /*JP pline("In order to eat, use the 'e' command.");*/ ! pline("¿©¤Ù¤ë¤Ë¤Ï¡¤'e'¥³¥Þ¥ó¥É¤ò»È¤¨¤Ð¤è¤¤¡¥"); if(obj != uwep) ! /*JP pline("Opening the tin will be much easier if you wield the tin opener.");*/ ! pline("´ÌÀÚ¤ê¤òÁõÈ÷¤·¤Æ¤¤¤ì¤Ð¡¤¤º¤Ã¤È´Êñ¤Ë³«¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥"); goto xit; case FIGURINE: *************** *** 2053,2075 **** if (objects[otmp->otyp].oc_magic) do { otmp->otyp = rnd_class(POT_BOOZE, POT_WATER); } while (otmp->otyp == POT_SICKNESS); ! what = "A potion"; } else { otmp = mkobj(FOOD_CLASS, FALSE); if (otmp->otyp == FOOD_RATION && !rn2(7)) otmp->otyp = LUMP_OF_ROYAL_JELLY; ! what = "Some food"; } ! pline("%s spills out.", what); otmp->blessed = obj->blessed; otmp->cursed = obj->cursed; otmp->owt = weight(otmp); otmp = hold_another_object(otmp, (u.uswallow || Is_airlevel(&u.uz) || u.uinwater || Is_waterlevel(&u.uz)) ? ! "Oops! %s away from you!" : "Oops! %s to the floor!", ! The(aobjnam(otmp, "slip")), (const char *)0); makeknown(HORN_OF_PLENTY); } else --- 2416,2445 ---- if (objects[otmp->otyp].oc_magic) do { otmp->otyp = rnd_class(POT_BOOZE, POT_WATER); } while (otmp->otyp == POT_SICKNESS); ! /*JP what = "A potion";*/ ! what = "Ìô"; } else { otmp = mkobj(FOOD_CLASS, FALSE); if (otmp->otyp == FOOD_RATION && !rn2(7)) otmp->otyp = LUMP_OF_ROYAL_JELLY; ! /*JP what = "Some food";*/ ! what = "¿©¤Ùʪ"; } ! /*JP pline("%s spills out.", what);*/ ! pline("%s¤¬Èô¤Ó½Ð¤Æ¤­¤¿¡¥", what); otmp->blessed = obj->blessed; otmp->cursed = obj->cursed; otmp->owt = weight(otmp); otmp = hold_another_object(otmp, (u.uswallow || Is_airlevel(&u.uz) || u.uinwater || Is_waterlevel(&u.uz)) ? ! /*JP "Oops! %s away from you!" : "Oops! %s to the floor!", ! The(aobjnam(otmp, "slip")),*/ ! "¤ª¤Ã¤È¡ª%s¤Ï¤¢¤Ê¤¿¤Î¼ê¤«¤é³ê¤êÍî¤Á¤¿" : ! "¤ª¤Ã¤È¡ª%s¤Ï¾²¤Ë³ê¤êÍî¤Á¤¿", ! /*JP The(aobjnam(otmp, "slip")),*/ ! The(xname(otmp)), (const char *)0); makeknown(HORN_OF_PLENTY); } else *************** *** 2080,2086 **** use_trap(obj); break; default: ! pline("Sorry, I don't know how to use that."); xit: nomul(0); return 0; --- 2450,2457 ---- use_trap(obj); break; default: ! /*JP pline("Sorry, I don't know how to use that.");*/ ! pline("¤½¤ì¤ò¤É¤¦¤ä¤Ã¤Æ»È¤¦¤ó¤À¤¤¡©"); xit: nomul(0); return 0; diff -c -r ../nethack-3.2.2/src/artifact.c ./src/artifact.c *** ../nethack-3.2.2/src/artifact.c Sat Dec 28 21:53:34 1996 --- ./src/artifact.c Tue Jul 22 23:18:10 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "artifact.h" #ifdef OVLB *************** *** 397,402 **** --- 404,414 ---- if (on) Half_physical_damage |= wp_mask; else Half_physical_damage &= ~wp_mask; } + /*JP*/ + if (spfx & SPFX_PCTRL) { + if (on) Polymorph_control |= wp_mask; + else Polymorph_control &= ~wp_mask; + } if(wp_mask == W_ART && !on && oart->inv_prop) { /* might have to turn off invoked power too */ *************** *** 455,470 **** char buf[BUFSZ]; if (!yours) return 0; ! You("are blasted by %s power!", s_suffix(the(xname(obj)))); dmg = d((Antimagic ? 2 : 4), (self_willed ? 10 : 4)); ! Sprintf(buf, "touching %s", oart->name); losehp(dmg, buf, KILLED_BY); exercise(A_WIS, FALSE); } /* can pick it up unless you're totally non-synch'd with the artifact */ if (badclass && badalign && self_willed) { ! if (yours) pline("%s evades your grasp!", The(xname(obj))); return 0; } --- 467,485 ---- char buf[BUFSZ]; if (!yours) return 0; ! /*JP You("are blasted by %s power!", s_suffix(the(xname(obj))));*/ ! You("%s¤ÎÎϤòÍá¤Ó¤¿¡ª", s_suffix(the(xname(obj)))); dmg = d((Antimagic ? 2 : 4), (self_willed ? 10 : 4)); ! /*JP Sprintf(buf, "touching %s", oart->name);*/ ! Sprintf(buf, "%s¤Ë¿¨¤ì¤Æ", jtrns_obj('A',oart->name)); losehp(dmg, buf, KILLED_BY); exercise(A_WIS, FALSE); } /* can pick it up unless you're totally non-synch'd with the artifact */ if (badclass && badalign && self_willed) { ! /*JP if (yours) pline("%s evades your grasp!", The(xname(obj)));*/ ! if (yours) pline("%s¤Ï°®¤í¤¦¤È¤¹¤ë¤È¤¹¤ë¤ê¤ÈÈ´¤±¤¿¡ª", The(xname(obj))); return 0; } *************** *** 593,599 **** || (!youdefend && cansee(mdef->mx, mdef->my)); boolean realizes_damage; ! static const char you[] = "you"; const char *hittee = youdefend ? you : mon_nam(mdef); /* The following takes care of most of the damage, but not all-- --- 608,615 ---- || (!youdefend && cansee(mdef->mx, mdef->my)); boolean realizes_damage; ! /*JP static const char you[] = "you";*/ ! static const char you[] = "¤¢¤Ê¤¿"; const char *hittee = youdefend ? you : mon_nam(mdef); /* The following takes care of most of the damage, but not all-- *************** *** 615,643 **** /* the four basic attacks: fire, cold, shock and missiles */ if (attacks(AD_FIRE, otmp)) { if (realizes_damage) { ! pline_The("fiery blade burns %s!", hittee); return TRUE; } } if (attacks(AD_COLD, otmp)) { if (realizes_damage) { ! pline_The("ice-cold blade freezes %s!", hittee); return TRUE; } } if (attacks(AD_ELEC, otmp)) { if (realizes_damage) { if(youattack && otmp != uwep) ! pline("%s hits %s!", The(xname(otmp)), hittee); ! pline("Lightning strikes %s!", hittee); return TRUE; } } if (attacks(AD_MAGM, otmp)) { if (realizes_damage) { if(youattack && otmp != uwep) ! pline("%s hits %s!", The(xname(otmp)), hittee); ! pline("A hail of magic missiles strikes %s!", hittee); return TRUE; } } --- 631,665 ---- /* the four basic attacks: fire, cold, shock and missiles */ if (attacks(AD_FIRE, otmp)) { if (realizes_damage) { ! /*JP pline_The("fiery blade burns %s!", hittee);*/ ! pline("ÌԲФ¬%s¤ò¾Æ¤¤¤¿¡ª", hittee); return TRUE; } } if (attacks(AD_COLD, otmp)) { if (realizes_damage) { ! /*JP pline_The("ice-cold blade freezes %s!", hittee);*/ ! pline("ÌÔ¿áÀ㤬%s¤òʤ¤¤¤Ä¤¯¤·¤¿¡ª",hittee); return TRUE; } } if (attacks(AD_ELEC, otmp)) { if (realizes_damage) { if(youattack && otmp != uwep) ! /*JP pline("%s hits %s!", The(xname(otmp)), hittee);*/ ! pline("%s¤Ï%s¤ËÌ¿Ã椷¤¿¡ª", The(xname(otmp)), hittee); ! /*JP pline("Lightning strikes %s!", hittee);*/ ! pline("Í뤬%s¤ËÌ¿Ã椷¤¿¡ª", hittee); return TRUE; } } if (attacks(AD_MAGM, otmp)) { if (realizes_damage) { if(youattack && otmp != uwep) ! /*JP pline("%s hits %s!", The(xname(otmp)), hittee);*/ ! pline("%s¤Ï%s¤ËÌ¿Ã椷¤¿¡ª", The(xname(otmp)), hittee); ! /*JP pline("A hail of magic missiles strikes %s!", hittee);*/ ! pline("ËâË¡¤ÎÌ𤬱«¤¢¤é¤ì¤È%s¤ËÌ¿Ã椷¤¿¡ª", hittee); return TRUE; } } *************** *** 695,701 **** if ((magr == u.ustuck) && sticks(uasmon)) { u.ustuck = (struct monst *)0; ! You("release %s!", mon_nam(magr)); } } } else if (youattack) { --- 717,724 ---- if ((magr == u.ustuck) && sticks(uasmon)) { u.ustuck = (struct monst *)0; ! /*JP You("release %s!", mon_nam(magr));*/ ! You("%s¤ò²òÊü¤·¤¿¡ª", mon_nam(magr)); } } } else if (youattack) { *************** *** 708,714 **** else { if (!sticks(uasmon)) { u.ustuck = (struct monst *)0; ! You("get released!"); } } } --- 731,738 ---- else { if (!sticks(uasmon)) { u.ustuck = (struct monst *)0; ! /*JP You("get released!");*/ ! You("²òÊü¤µ¤ì¤¿¡ª"); } } } *************** *** 751,766 **** if (youdefend || mdef->mhp > 0) { /* ??? -dkh- */ static const char *mb_verb[4] = ! {"probe", "stun", "scare", "purge"}; if (youattack || youdefend || vis) { ! pline_The("magic-absorbing blade %ss %s!", ! mb_verb[attack_index], hittee); if (MB_RESISTED_ATTACK) { ! pline("%s resist%s!", ! youdefend ? "You" : Monnam(mdef), ! youdefend ? "" : "s"); shieldeff(youdefend ? u.ux : mdef->mx, youdefend ? u.uy : mdef->my); --- 775,795 ---- if (youdefend || mdef->mhp > 0) { /* ??? -dkh- */ static const char *mb_verb[4] = ! /*JP {"probe", "stun", "scare", "purge"};*/ ! {"Ä´¤Ù", "¤¯¤é¤¯¤é¤µ¤»", "¶±¤¨¤µ¤»", "¾ô²½¤·"}; if (youattack || youdefend || vis) { ! /*JP pline_The("magic-absorbing blade %ss %s!", ! mb_verb[attack_index], hittee);*/ ! pline("ËâÎϤòµÛ¤¤¤È¤ë¿Ï¤¬%s¤ò%s¤¿¡ª", ! hittee, mb_verb[attack_index] ); if (MB_RESISTED_ATTACK) { ! /*JP pline("%s resist%s!",*/ ! pline("%s¤ÏËɤ¤¤À¡ª", ! /*JP youdefend ? "You" : Monnam(mdef),*/ ! youdefend ? "¤¢¤Ê¤¿" : Monnam(mdef)); ! /*JP youdefend ? "" : "s");*/ shieldeff(youdefend ? u.ux : mdef->mx, youdefend ? u.uy : mdef->my); *************** *** 772,792 **** if (attack_index == MB_INDEX_PURGE) { if (!MB_RESISTED_ATTACK && attacktype(mdef->data, AT_MAGC)) { ! You("absorb magical energy!"); u.uenmax++; u.uen++; flags.botl = 1; } } else if (attack_index == MB_INDEX_PROBE) { if (!rn2(4 * otmp->spe)) { ! pline_The("probe is insightful!"); /* pre-damage status */ probe_monster(mdef); } } } else if (youdefend && !MB_RESISTED_ATTACK && (attack_index == MB_INDEX_PURGE)) { ! You("lose magical energy!"); if (u.uenmax > 0) u.uenmax--; if (u.uen > 0) u.uen--; flags.botl = 1; --- 801,824 ---- if (attack_index == MB_INDEX_PURGE) { if (!MB_RESISTED_ATTACK && attacktype(mdef->data, AT_MAGC)) { ! /*JP You("absorb magical energy!");*/ ! You("ËâË¡¤Î¥¨¥Í¥ë¥®¡¼¤òµÛ¤¤¤È¤Ã¤¿¡ª"); u.uenmax++; u.uen++; flags.botl = 1; } } else if (attack_index == MB_INDEX_PROBE) { if (!rn2(4 * otmp->spe)) { ! /*JP pline_The("probe is insightful!");*/ ! pline("¼±Ê̤Ǥ­¤¿¡ª"); /* pre-damage status */ probe_monster(mdef); } } } else if (youdefend && !MB_RESISTED_ATTACK && (attack_index == MB_INDEX_PURGE)) { ! /*JP You("lose magical energy!");*/ ! You("ËâË¡¤Î¥¨¥Í¥ë¥®¡¼¤ò¼º¤Ã¤¿¡ª"); if (u.uenmax > 0) u.uenmax--; if (u.uen > 0) u.uen--; flags.botl = 1; *************** *** 800,808 **** mdef->mconf = 1; if (youattack || youdefend || vis) ! pline("%s %s confused.", youdefend ? "You" : Monnam(mdef), ! youdefend ? "are" : "is"); } } return TRUE; --- 832,842 ---- mdef->mconf = 1; if (youattack || youdefend || vis) ! /*JP pline("%s %s confused.", youdefend ? "You" : Monnam(mdef), ! youdefend ? "are" : "is");*/ ! pline("%s¤Ïº®Í𤷤¿¡¥", ! youdefend ? "¤¢¤Ê¤¿" : Monnam(mdef)); } } return TRUE; *************** *** 815,821 **** if (otmp->oartifact == ART_TSURUGI_OF_MURAMASA && dieroll == 1) { /* not really beheading, but so close, why add another SPFX */ if (youattack && u.uswallow && mdef == u.ustuck) { ! You("slice %s wide open!", mon_nam(mdef)); *dmgptr = mdef->mhp + FATAL_DAMAGE; return TRUE; } --- 849,856 ---- if (otmp->oartifact == ART_TSURUGI_OF_MURAMASA && dieroll == 1) { /* not really beheading, but so close, why add another SPFX */ if (youattack && u.uswallow && mdef == u.ustuck) { ! /*JP You("slice %s wide open!", mon_nam(mdef));*/ ! You("%s¤òÎØÀÚ¤ê¤Ë¤·¤¿¡ª", mon_nam(mdef)); *dmgptr = mdef->mhp + FATAL_DAMAGE; return TRUE; } *************** *** 826,847 **** if (bigmonst(mdef->data)) { if (youattack) ! You("slice deeply into %s!", mon_nam(mdef)); else if (vis) ! pline("%s cuts deeply into %s!", Monnam(magr), mon_nam(mdef)); *dmgptr *= 2; return TRUE; } *dmgptr = mdef->mhp + FATAL_DAMAGE; ! pline_The("razor-sharp blade cuts %s in half!", mon_nam(mdef)); otmp->dknown = TRUE; return TRUE; } else { if (bigmonst(uasmon)) { ! pline("%s cuts deeply into you!", Monnam(magr)); *dmgptr *= 2; return TRUE; --- 861,886 ---- if (bigmonst(mdef->data)) { if (youattack) ! /*JP You("slice deeply into %s!",*/ ! You("%s¤òºÙÀÚ¤ì¤Ë¤·¤¿¡ª", mon_nam(mdef)); else if (vis) ! /*JP pline("%s cuts deeply into %s!",*/ ! pline("%s¤Ï%s¤òºÙÀÚ¤ì¤Ë¤·¤¿¡ª", Monnam(magr), mon_nam(mdef)); *dmgptr *= 2; return TRUE; } *dmgptr = mdef->mhp + FATAL_DAMAGE; ! /*JP pline_The("razor-sharp blade cuts %s in half!",*/ ! pline("»ÂÅ´·õ¤¬%s¤ò¿¿¤ÃÆó¤Ä¤Ë¤·¤¿¡ª", mon_nam(mdef)); otmp->dknown = TRUE; return TRUE; } else { if (bigmonst(uasmon)) { ! /*JP pline("%s cuts deeply into you!",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤òºÙÀÚ¤ì¤Ë¤·¤¿¡ª", Monnam(magr)); *dmgptr *= 2; return TRUE; *************** *** 853,867 **** --- 892,913 ---- * damage does not prevent death. */ *dmgptr = (Upolyd ? u.mh : u.uhp) + FATAL_DAMAGE; + /*JP pline_The("razor-sharp blade cuts you in half!"); + */ + pline("»ÂÅ´·õ¤¬¤¢¤Ê¤¿¤ò¿¿¤ÃÆó¤Ä¤Ë¤·¤¿¡ª"); otmp->dknown = TRUE; return TRUE; } } else if (otmp->oartifact == ART_VORPAL_BLADE && (dieroll == 1 || mdef->data == &mons[PM_JABBERWOCK])) { static const char *behead_msg[2] = { + /*JP "%s beheads %s!", "%s decapitates %s!" + */ + "%s¤Ï%s¤Î¼ó¤òÀڤä¿¡ª", + "%s¤Ï%s¤Î¼ó¤òÀÚ¤êÍ¤¿¡ª" }; if (youattack && u.uswallow && mdef == u.ustuck) *************** *** 869,909 **** --- 915,980 ---- if (!youdefend) { if (!has_head(mdef->data) || notonhead || u.uswallow) { if (youattack) + /*JP pline("Somehow, you miss %s wildly.", + */ + pline("¤·¤«¤·¤Ê¤¬¤é¡¤%s¤Ø¤Î¹¶·â¤Ï¤Ï¤º¤ì¤¿¡¥", mon_nam(mdef)); else if (vis) + /*JP pline("Somehow, %s misses wildly.", + */ + pline("¤·¤«¤·¤Ê¤¬¤é¡¤%s¤Î¹¶·â¤Ï¤Ï¤º¤ì¤¿¡¥", mon_nam(magr)); *dmgptr = 0; return ((boolean)(youattack || vis)); } if (noncorporeal(mdef->data) || amorphous(mdef->data)) { + /*JP pline("%s slices through %s neck.", + */ + pline("%s¤Ï%s¤Î¼ó¤òÀÚ¤êÍ¤¿¡¥", + /*JP artilist[ART_VORPAL_BLADE].name, + */ + jtrns_obj('A', artilist[ART_VORPAL_BLADE].name), s_suffix(mon_nam(mdef))); return TRUE; } *dmgptr = mdef->mhp + FATAL_DAMAGE; pline(behead_msg[rn2(SIZE(behead_msg))], + /*JP artilist[ART_VORPAL_BLADE].name, + */ + jtrns_obj('A',artilist[ART_VORPAL_BLADE].name), mon_nam(mdef)); otmp->dknown = TRUE; return TRUE; } else { if (!has_head(uasmon)) { + /*JP pline("Somehow, %s misses you wildly.", + */ + pline("¤·¤«¤·¤Ê¤¬¤é¡¤%s¤Î¹¶·â¤Ï¤Ï¤º¤ì¤¿¡¥", mon_nam(magr)); *dmgptr = 0; return TRUE; } if (noncorporeal(uasmon) || amorphous(uasmon)) { + /*JP pline("%s slices through your neck.", artilist[ART_VORPAL_BLADE].name); + */ + pline("%s¤Ï¤¢¤Ê¤¿¤Î¼ó¤òÀÚ¤êÍ¤¿¡¥", + jtrns_obj('A',artilist[ART_VORPAL_BLADE].name)); return TRUE; } *dmgptr = (Upolyd ? u.mh : u.uhp) + FATAL_DAMAGE; pline(behead_msg[rn2(SIZE(behead_msg))], + /*JP artilist[ART_VORPAL_BLADE].name, "you"); + */ + jtrns_obj('A',artilist[ART_VORPAL_BLADE].name), "¤¢¤Ê¤¿"); otmp->dknown = TRUE; /* Should amulets fall off? */ return TRUE; *************** *** 914,924 **** if (!youdefend) { if (vis) { if(otmp->oartifact == ART_STORMBRINGER) ! pline_The("%s blade draws the life from %s!", hcolor(Black), mon_nam(mdef)); else ! pline("%s draws the life from %s!", The(distant_name(otmp, xname)), mon_nam(mdef)); } --- 985,997 ---- if (!youdefend) { if (vis) { if(otmp->oartifact == ART_STORMBRINGER) ! /*JP pline_The("%s blade draws the life from %s!",*/ ! pline("%s¿Ï¤¬%s¤ÎÀ¸Ì¿ÎϤòÃ¥¤Ã¤¿¡ª", hcolor(Black), mon_nam(mdef)); else ! /*JP pline("%s draws the life from %s!",*/ ! pline("%s¤Ï%s¤ÎÀ¸Ì¿ÎϤòÃ¥¤Ã¤¿¡ª", The(distant_name(otmp, xname)), mon_nam(mdef)); } *************** *** 937,950 **** int oldhpmax = u.uhpmax; if (Blind) ! You_feel("an %s drain your life!", otmp->oartifact == ART_STORMBRINGER ? ! "unholy blade" : "object"); else if (otmp->oartifact == ART_STORMBRINGER) ! pline_The("%s blade drains your life!", hcolor(Black)); else ! pline("%s drains your life!", The(distant_name(otmp, xname))); losexp(); if (magr->mhp < magr->mhpmax) { --- 1010,1027 ---- int oldhpmax = u.uhpmax; if (Blind) ! /*JP You_feel("an %s drain your life!",*/ ! pline("%s¤ËÀ¸Ì¿ÎϤòÃ¥¤ï¤ì¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡ª", otmp->oartifact == ART_STORMBRINGER ? ! /*JP "unholy blade" : "object");*/ ! "ÉÔ¾ô¤Ê¿Ï" : "²¿¤«"); else if (otmp->oartifact == ART_STORMBRINGER) ! /*JP pline_The("%s blade drains your life!",*/ ! pline("%s¿Ï¤¬¤¢¤Ê¤¿¤ÎÀ¸Ì¿ÎϤòÃ¥¤Ã¤¿¡ª", hcolor(Black)); else ! /*JP pline("%s drains your life!",*/ ! pline("%s¤¬¤¢¤Ê¤¿¤ÎÀ¸Ì¿ÎϤòÃ¥¤Ã¤¿¡ª", The(distant_name(otmp, xname))); losexp(); if (magr->mhp < magr->mhpmax) { *************** *** 966,972 **** { register struct obj *obj; ! obj = getobj(invoke_types, "invoke"); if(!obj) return 0; return arti_invoke(obj); } --- 1043,1050 ---- { register struct obj *obj; ! /*JP obj = getobj(invoke_types, "invoke");*/ ! obj = getobj(invoke_types, "¤ÎËâÎϤò»È¤¦"); if(!obj) return 0; return arti_invoke(obj); } *************** *** 981,987 **** if(obj->otyp == CRYSTAL_BALL) use_crystal_ball(obj); else ! pline("Nothing happens."); return 1; } --- 1059,1066 ---- if(obj->otyp == CRYSTAL_BALL) use_crystal_ball(obj); else ! /*JP pline("Nothing happens.");*/ ! pline("²¿¤âµ¯¤­¤Ê¤«¤Ã¤¿¡¥"); return 1; } *************** *** 989,995 **** /* It's a special power, not "just" a property */ if(obj->age > monstermoves) { /* the artifact is tired :-) */ ! You_feel("that %s is ignoring you.", the(xname(obj))); /* and just got more so; patience is essential... */ obj->age += (long) d(3,10); return 1; --- 1068,1075 ---- /* It's a special power, not "just" a property */ if(obj->age > monstermoves) { /* the artifact is tired :-) */ ! /*JP You_feel("that %s is ignoring you.", the(xname(obj)));*/ ! pline("%s¤¬Ìµ»ë¤·¤Æ¤¤¤ë¤è¤¦¤Ë´¶¤¸¤¿¡¥", the(xname(obj))); /* and just got more so; patience is essential... */ obj->age += (long) d(3,10); return 1; *************** *** 1009,1015 **** int healamt = (u.uhpmax + 1 - u.uhp) / 2; if (Upolyd) healamt = (u.mhmax + 1 - u.mh) / 2; if(healamt || Sick || (Blinded > 1)) ! You_feel("better."); else goto nothing_special; if (healamt > 0) { --- 1089,1096 ---- int healamt = (u.uhpmax + 1 - u.uhp) / 2; if (Upolyd) healamt = (u.mhmax + 1 - u.mh) / 2; if(healamt || Sick || (Blinded > 1)) ! /*JP You_feel("better.");*/ ! You("µ¤Ê¬¤¬¤è¤¯¤Ê¤Ã¤¿¡¥"); else goto nothing_special; if (healamt > 0) { *************** *** 1026,1032 **** if (epboost > 120) epboost = 120; /* arbitrary */ else if (epboost < 12) epboost = u.uenmax - u.uen; if(epboost) { ! You_feel("re-energized."); u.uen += epboost; flags.botl = 1; } else --- 1107,1114 ---- if (epboost > 120) epboost = 120; /* arbitrary */ else if (epboost < 12) epboost = u.uenmax - u.uen; if(epboost) { ! /*JP You_feel("re-energized.");*/ ! You("¥¨¥Í¥ë¥®¡¼¤¬Ëþ¤¿¤µ¤ì¤¿¡¥"); u.uen += epboost; flags.botl = 1; } else *************** *** 1041,1047 **** break; } case CHARGE_OBJ: { ! struct obj *otmp = getobj(recharge_type, "charge"); boolean b_effect; if (!otmp) { --- 1123,1130 ---- break; } case CHARGE_OBJ: { ! /*JP struct obj *otmp = getobj(recharge_type, "charge");*/ ! struct obj *otmp = getobj(recharge_type, "½¼Å¶¤¹¤ë"); boolean b_effect; if (!otmp) { *************** *** 1069,1079 **** if (!dungeons[i].dunlev_ureached) continue; any.a_int = i+1; add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, ! dungeons[i].dname, MENU_UNSELECTED); num_ok_dungeons++; last_ok_dungeon = i; } ! end_menu(tmpwin, "Open a portal to which dungeon?"); if (num_ok_dungeons > 1) { /* more than one entry; display menu for choices */ menu_item *selected; --- 1152,1164 ---- if (!dungeons[i].dunlev_ureached) continue; any.a_int = i+1; add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, ! /*JP dungeons[i].dname, MENU_UNSELECTED);*/ ! jtrns_obj('d', dungeons[i].dname), MENU_UNSELECTED); num_ok_dungeons++; last_ok_dungeon = i; } ! /*JP end_menu(tmpwin, "Open a portal to which dungeon?");*/ ! end_menu(tmpwin, "¤É¤Î̵ܤؤÎËâË¡¤ÎÆþ¸ý¤ò³«¤­¤Þ¤¹¤«¡©"); if (num_ok_dungeons > 1) { /* more than one entry; display menu for choices */ menu_item *selected; *************** *** 1103,1112 **** newlev.dlevel = dungeons[i].dunlev_ureached; if(u.uhave.amulet || In_endgame(&u.uz) || In_endgame(&newlev) || newlev.dnum == u.uz.dnum) { ! You_feel("very disoriented for a moment."); } else { ! if(!Blind) You("are surrounded by a shimmering sphere!"); ! else You_feel("weightless for a moment."); goto_level(&newlev, FALSE, FALSE, FALSE); } break; --- 1188,1200 ---- newlev.dlevel = dungeons[i].dunlev_ureached; if(u.uhave.amulet || In_endgame(&u.uz) || In_endgame(&newlev) || newlev.dnum == u.uz.dnum) { ! /*JP You_feel("very disoriented for a moment.");*/ ! You("°ì½ÖÊý¸þ´¶³Ð¤ò¼º¤Ã¤¿¡¥"); } else { ! /*JP if(!Blind) You("are surrounded by a shimmering sphere!"); ! else You_feel("weightless for a moment.");*/ ! if(!Blind) You("¥Á¥«¥Á¥«¸÷¤ëµåÂΤËʤ¤ï¤ì¤¿¡ª"); ! else You("°ì½Ö¡¤Ìµ½ÅÎÏ´¶¤ò´¶¤¸¤¿¡ª"); goto_level(&newlev, FALSE, FALSE, FALSE); } break; *************** *** 1119,1125 **** if(on && obj->age > monstermoves) { /* the artifact is tired :-) */ u.uprops[oart->inv_prop].p_flgs ^= W_ARTI; ! You_feel("that %s is ignoring you.", the(xname(obj))); return 1; } else if(!on) { /* when turning off property, determine downtime */ --- 1207,1214 ---- if(on && obj->age > monstermoves) { /* the artifact is tired :-) */ u.uprops[oart->inv_prop].p_flgs ^= W_ARTI; ! /*JP You_feel("that %s is ignoring you.", the(xname(obj)));*/ ! pline("¤¢¤Ê¤¿¤ò¤Ï%s¤¬Ìµ»ë¤·¤Æ¤¤¤ë¤è¤¦¤Ë´¶¤¸¤¿¡¥", the(xname(obj))); return 1; } else if(!on) { /* when turning off property, determine downtime */ *************** *** 1131,1143 **** nothing_special: /* you had the property from some other source too */ if (carried(obj)) ! You_feel("a surge of power, but nothing seems to happen."); return 1; } switch(oart->inv_prop) { case CONFLICT: ! if(on) You_feel("like a rabble-rouser."); ! else You_feel("the tension decrease around you."); break; case LEVITATION: if(on) float_up(); --- 1220,1235 ---- nothing_special: /* you had the property from some other source too */ if (carried(obj)) ! /*JP You_feel("a surge of power, but nothing seems to happen.");*/ ! You("ÎϤ¬±²´¬¤¤¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¤¤·¤«¤·²¿¤âµ¯¤­¤Ê¤«¤Ã¤¿¡¥"); return 1; } switch(oart->inv_prop) { case CONFLICT: ! /*JP if(on) You_feel("like a rabble-rouser.");*/ ! if(on) You("̱½°ÀðÆ°²È¤Î¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); ! /*JP else You_feel("the tension decrease around you.");*/ ! else pline("¤Þ¤ï¤ê¤Î¶ÛÄ¥´¶¤¬¤Ê¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); break; case LEVITATION: if(on) float_up(); *************** *** 1147,1156 **** if (!See_invisible && !Blind) { newsym(u.ux,u.uy); if (on) { ! Your("body takes on a %s transparency...", ! Hallucination ? "normal" : "strange"); } else { ! Your("body seems to unfade..."); } } else goto nothing_special; break; --- 1239,1251 ---- if (!See_invisible && !Blind) { newsym(u.ux,u.uy); if (on) { ! /*JP Your("body takes on a %s transparency...",*/ ! pline("%s¡¤ÂΤÏÆ©²áÀ­¤ò¤â¤Ã¤¿¡¥¡¥¡¥", ! /*JP Hallucination ? "normal" : "strange");*/ ! Hallucination ? "¤¢¤¿¤ê¤Þ¤¨¤Î¤³¤È¤À¤¬" : "´ñ̯¤Ê¤³¤È¤Ë"); } else { ! /*JP Your("body seems to unfade...");*/ ! Your("ÂΤϼ¡Âè¤Ë¸½¤ì¤Æ¤­¤¿¡¥¡¥¡¥"); } } else goto nothing_special; break; diff -c -r ../nethack-3.2.2/src/attrib.c ./src/attrib.c *** ../nethack-3.2.2/src/attrib.c Sat Dec 28 21:53:34 1996 --- ./src/attrib.c Tue Jul 22 23:18:10 1997 *************** *** 2,7 **** --- 2,15 ---- /* Copyright 1988, 1989, 1990, 1992, M. Stephenson */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + + /* attribute modification routines. */ #include "hack.h" *************** *** 14,23 **** /* part of the output on gain or loss of attribute */ static const char *plusattr[] = { ! "strong", "smart", "wise", "agile", "tough", "charismatic" }, *minusattr[] = { ! "weak", "stupid", "foolish", "clumsy", "vulnerable", "ugly" }; /* maximum and minimum values for the attributes */ --- 22,33 ---- /* part of the output on gain or loss of attribute */ static const char *plusattr[] = { ! /*JP "strong", "smart", "wise", "agile", "tough", "charismatic"*/ ! "¶¯¤¤","¸­ÌÀ¤À","¸­¤¤","µ¡ÉÒ¤À","´è¾æ¤À","Ì¥ÎÏŪ¤À" }, *minusattr[] = { ! /*JP "weak", "stupid", "foolish", "clumsy", "vulnerable", "ugly"*/ ! "¼å¤¤","¶ò¤«¤À","´ÖÈ´¤±¤À","ÉÔ´ïÍѤÀ","¤Ò¼å¤À","½¹¤¤" }; /* maximum and minimum values for the attributes */ *************** *** 35,50 **** const char *gainstr, *losestr; } a_abil[] = { { 1, &(Stealth), "", "" }, { 1, &(Fast), "", "" }, ! { 10, &(Searching), "perceptive", "" }, { 0, 0, 0, 0 } }, b_abil[] = { { 1, &(HPoison_resistance), "", "" }, ! { 7, &(Fast), "quick", "slow" }, ! { 15, &(Stealth), "stealthy", "" }, { 0, 0, 0, 0 } }, ! c_abil[] = { { 7, &(Fast), "quick", "slow" }, ! { 15, &(Warning), "sensitive", "" }, { 0, 0, 0, 0 } }, e_abil[] = { { 1, &(Fast), "", "" }, --- 45,65 ---- const char *gainstr, *losestr; } a_abil[] = { { 1, &(Stealth), "", "" }, { 1, &(Fast), "", "" }, ! /*JP { 10, &(Searching), "perceptive", "" },*/ ! { 10, &(Searching), "ÃγÐÎϤòÆÀ¤¿", "ÃγÐÎϤò¼º¤Ã¤¿" }, { 0, 0, 0, 0 } }, b_abil[] = { { 1, &(HPoison_resistance), "", "" }, ! /*JP { 7, &(Fast), "quick", "slow" }, ! { 15, &(Stealth), "stealthy", "" },*/ ! { 7, &(Fast), "ÁÇÁᤵ¤òÆÀ¤¿", "ÃÙ¤¯¤Ê¤Ã¤¿" }, ! { 15, &(Stealth), "¿ÍÌܤòÅð¤àÎϤòÆÀ¤¿", "¿ÍÌܤòÅð¤àÎϤò¼º¤Ã¤¿" }, { 0, 0, 0, 0 } }, ! /*JP c_abil[] = { { 7, &(Fast), "quick", "slow" }, ! { 15, &(Warning), "sensitive", "" },*/ ! c_abil[] = { { 7, &(Fast), "ÁÇÁᤵ¤òÆÀ¤¿", "ÃÙ¤¯¤Ê¤Ã¤¿" }, ! { 15, &(Warning), "ÉÒ´¶¤Ë¤Ê¤Ã¤¿", "Æß´¶¤Ë¤Ê¤Ã¤¿" }, { 0, 0, 0, 0 } }, e_abil[] = { { 1, &(Fast), "", "" }, *************** *** 52,88 **** { 1, &(Searching), "", "" }, { 1, &(HSleep_resistance), "", "" }, { 0, 0, 0, 0 } }, h_abil[] = { { 1, &(HPoison_resistance), "", "" }, ! { 15, &(Warning), "sensitive", "" }, { 0, 0, 0, 0 } }, ! k_abil[] = { { 7, &(Fast), "quick", "slow" }, { 0, 0, 0, 0 } }, ! p_abil[] = { { 15, &(Warning), "sensitive", "" }, ! { 20, &(HFire_resistance), "cool", "warmer" }, { 0, 0, 0, 0 } }, r_abil[] = { { 1, &(Stealth), "", "" }, ! { 10, &(Searching), "perceptive", "" }, { 0, 0, 0, 0 } }, s_abil[] = { { 1, &(Fast), "", "" }, ! { 15, &(Stealth), "stealthy", "" }, { 0, 0, 0, 0 } }, ! t_abil[] = { { 10, &(Searching), "perceptive", "" }, ! { 20, &(HPoison_resistance), "hardy", "" }, { 0, 0, 0, 0 } }, v_abil[] = { { 1, &(HCold_resistance), "", "" }, { 1, &(Stealth), "", "" }, ! { 7, &(Fast), "quick", "slow" }, { 0, 0, 0, 0 } }, ! w_abil[] = { { 15, &(Warning), "sensitive", "" }, ! { 17, &(HTeleport_control), "controlled","uncontrolled" }, { 0, 0, 0, 0 } }; static --- 67,118 ---- { 1, &(Searching), "", "" }, { 1, &(HSleep_resistance), "", "" }, { 0, 0, 0, 0 } }, + #ifdef FIGHTER + f_abil[] = { { 7, &(Fast), "ÁÇÁᤵ¤òÆÀ¤¿", "ÃÙ¤¯¤Ê¤Ã¤¿" }, + { 0, 0, 0, 0 } }, + #endif h_abil[] = { { 1, &(HPoison_resistance), "", "" }, ! /*JP { 15, &(Warning), "sensitive", "" },*/ ! { 15, &(Warning), "ÉÒ´¶¤Ë¤Ê¤Ã¤¿", "Æß´¶¤Ë¤Ê¤Ã¤¿" }, { 0, 0, 0, 0 } }, ! /*JP k_abil[] = { { 7, &(Fast), "quick", "slow" },*/ ! k_abil[] = { { 7, &(Fast), "ÁÇÁᤵ¤òÆÀ¤¿", "ÃÙ¤¯¤Ê¤Ã¤¿" }, { 0, 0, 0, 0 } }, ! /*JP p_abil[] = { { 15, &(Warning), "sensitive", "" },*/ ! p_abil[] = { { 15, &(Warning), "ÉÒ´¶¤Ë¤Ê¤Ã¤¿", "Æß´¶¤Ë¤Ê¤Ã¤¿" }, ! /*JP { 20, &(HFire_resistance), "cool", "warmer" },*/ ! { 20, &(HFire_resistance), "Î䤿¤¯¤Ê¤Ã¤¿", "ÃȤ«¤¯¤Ê¤Ã¤¿" }, { 0, 0, 0, 0 } }, r_abil[] = { { 1, &(Stealth), "", "" }, ! /*JP { 10, &(Searching), "perceptive", "" },*/ ! { 10, &(Searching), "ÃγÐÎϤòÆÀ¤¿", "ÃγÐÎϤò¼º¤Ã¤¿" }, { 0, 0, 0, 0 } }, s_abil[] = { { 1, &(Fast), "", "" }, ! /*JP { 15, &(Stealth), "stealthy", "" },*/ ! { 15, &(Stealth), "¿ÍÌܤòÅð¤àÎϤòÆÀ¤¿", "¿ÍÌܤòÅð¤àÎϤò¼º¤Ã¤¿" }, { 0, 0, 0, 0 } }, ! /*JP t_abil[] = { { 10, &(Searching), "perceptive", "" },*/ ! t_abil[] = { { 10, &(Searching), "ÃγÐÎϤòÆÀ¤¿", "ÃγÐÎϤò¼º¤Ã¤¿" }, ! /*JP { 20, &(HPoison_resistance), "hardy", "" },*/ ! { 20, &(HPoison_resistance), "ÌȱÖÎϤòÆÀ¤¿", "ÌȱÖÎϤò¼º¤Ã¤¿" }, { 0, 0, 0, 0 } }, v_abil[] = { { 1, &(HCold_resistance), "", "" }, { 1, &(Stealth), "", "" }, ! /*JP { 7, &(Fast), "quick", "slow" },*/ ! { 7, &(Fast), "ÁÇÁᤵ¤òÆÀ¤¿", "ÃÙ¤¯¤Ê¤Ã¤¿" }, { 0, 0, 0, 0 } }, ! /*JP w_abil[] = { { 15, &(Warning), "sensitive", "" },*/ ! w_abil[] = { { 15, &(Warning), "ÉÒ´¶¤Ë¤Ê¤Ã¤¿", "Æß´¶¤Ë¤Ê¤Ã¤¿" }, ! /*JP { 17, &(HTeleport_control), "controlled","uncontrolled" },*/ ! { 17, &(HTeleport_control), "À©¸æÎϤòÆÀ¤¿","À©¸æÎϤò¼º¤Ã¤¿" }, { 0, 0, 0, 0 } }; static *************** *** 113,119 **** e_attr = { {{ 13, 13, 13, 9, 13, 7 }}, /* Elf (ranger) */ {{ 30, 10, 10, 20, 20, 10 }}, { A_CHAOTIC, 10 }, 15, 10, 11, 2, e_abil }, ! h_attr = { {{ 7, 7, 13, 7, 11, 16 }}, /* Healer (druid) */ {{ 15, 20, 20, 15, 25, 10 }}, { A_NEUTRAL, 10 }, 13, 10, 20, 2, h_abil }, --- 143,153 ---- e_attr = { {{ 13, 13, 13, 9, 13, 7 }}, /* Elf (ranger) */ {{ 30, 10, 10, 20, 20, 10 }}, { A_CHAOTIC, 10 }, 15, 10, 11, 2, e_abil }, ! #ifdef FIGHTER ! f_attr = { {{ 13, 13, 6, 12, 12, 18 }}, ! {{ 30, 10, 10, 20, 20, 10 }}, ! { A_LAWFUL, 10 }, 15, 10, 11, 2, f_abil }, ! #endif h_attr = { {{ 7, 7, 13, 7, 11, 16 }}, /* Healer (druid) */ {{ 15, 20, 20, 15, 25, 10 }}, { A_NEUTRAL, 10 }, 13, 10, 20, 2, h_abil }, *************** *** 168,181 **** if ((ndx == A_INT || ndx == A_WIS) && uarmh && uarmh->otyp == DUNCE_CAP) { if (msgflg == 0) ! Your("cap constricts briefly, then relaxes again."); return FALSE; } if (incr > 0) { if ((AMAX(ndx) >= ATTRMAX(ndx)) && (ACURR(ndx) >= AMAX(ndx))) { if (msgflg == 0 && flags.verbose) ! pline("You're already as %s as you can get.", plusattr[ndx]); ABASE(ndx) = AMAX(ndx) = ATTRMAX(ndx); /* just in case */ return FALSE; --- 202,217 ---- if ((ndx == A_INT || ndx == A_WIS) && uarmh && uarmh->otyp == DUNCE_CAP) { if (msgflg == 0) ! /*JP Your("cap constricts briefly, then relaxes again.");*/ ! Your("˹»Ò¤¬¥­¥å¤Ã¤ÈÄù¤á¤Ä¤±¤¿¡¥¤Õ¡¼¡¤¤Þ¤¿¥ê¥é¥Ã¥¯¥¹¤Ç¤­¤ë¡¥"); return FALSE; } if (incr > 0) { if ((AMAX(ndx) >= ATTRMAX(ndx)) && (ACURR(ndx) >= AMAX(ndx))) { if (msgflg == 0 && flags.verbose) ! /*JP pline("You're already as %s as you can get.",*/ ! You("¤â¤¦½½Ê¬¤Ë%s¡¥", plusattr[ndx]); ABASE(ndx) = AMAX(ndx) = ATTRMAX(ndx); /* just in case */ return FALSE; *************** *** 192,198 **** } else { if (ABASE(ndx) <= ATTRMIN(ndx)) { if (msgflg == 0 && flags.verbose) ! pline("You're already as %s as you can get.", minusattr[ndx]); ABASE(ndx) = ATTRMIN(ndx); /* just in case */ return FALSE; --- 228,235 ---- } else { if (ABASE(ndx) <= ATTRMIN(ndx)) { if (msgflg == 0 && flags.verbose) ! /*JP pline("You're already as %s as you can get.",*/ ! You("¤â¤¦½½Ê¬%s¡¥", minusattr[ndx]); ABASE(ndx) = ATTRMIN(ndx); /* just in case */ return FALSE; *************** *** 208,216 **** } } if (msgflg <= 0) ! You_feel("%s%s!", (incr > 1 || incr < -1) ? "very ": "", ! (incr > 0) ? plusattr[ndx] : minusattr[ndx]); flags.botl = 1; if (moves > 0 && (ndx == A_STR || ndx == A_CON)) (void)encumber_msg(); --- 245,256 ---- } } if (msgflg <= 0) ! /*JP You_feel("%s%s!", (incr > 1 || incr < -1) ? "very ": "", ! (incr > 0) ? plusattr[ndx] : minusattr[ndx]);*/ ! You("%s%s¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡ª", ! (incr > 1 || incr < -1) ? "¤È¤Æ¤â ": "", ! jconj_adj((incr > 0) ? plusattr[ndx] : minusattr[ndx])); flags.botl = 1; if (moves > 0 && (ndx == A_STR || ndx == A_CON)) (void)encumber_msg(); *************** *** 463,482 **** /* then print an explanation */ switch(i) { case A_STR: You((mod_val >0) ? ! "must have been exercising." : ! "must have been abusing your body."); break; case A_WIS: You((mod_val >0) ? ! "must have been very observant." : ! "haven't been paying attention."); break; case A_DEX: You((mod_val >0) ? ! "must have been working on your reflexes." : ! "haven't been working on reflexes lately."); break; case A_CON: You((mod_val >0) ? ! "must be leading a healthy life-style." : ! "haven't been watching your health."); break; } } --- 503,530 ---- /* then print an explanation */ switch(i) { case A_STR: You((mod_val >0) ? ! /*JP "must have been exercising." : ! "must have been abusing your body.");*/ ! "±¿Æ°¤·¤¿¤Ë°ã¤¤¤Ê¤¤¡¥" : ! "ÂΤò¹ó»È¤·¤¿¤Ë°ã¤¤¤Ê¤¤¡¥"); break; case A_WIS: You((mod_val >0) ? ! /*JP "must have been very observant." : ! "haven't been paying attention.");*/ ! "¿µ½Å¤Ë¹ÔÆ°¤·¤Æ¤¿¤Ë°ã¤¤¤Ê¤¤¡¥" : ! "Ãí°ÕÉÔ­¤À¤Ã¤¿¤Ë°ã¤¤¤Ê¤¤¡¥"); break; case A_DEX: You((mod_val >0) ? ! /*JP "must have been working on your reflexes." : ! "haven't been working on reflexes lately.");*/ ! "È¿¼Í¿À·Ð¤ò»È¤Ã¤¿¤Ë°ã¤¤¤Ê¤¤¡¥" : ! "ºÇ¶áÈ¿¼Í¿À·Ð¤ò»È¤Ã¤Æ¤Ê¤«¤Ã¤¿¤Ë°ã¤¤¤Ê¤¤¡¥"); break; case A_CON: You((mod_val >0) ? ! /*JP "must be leading a healthy life-style." : ! "haven't been watching your health.");*/ ! "·ò¹¯Åª¤ÊÀ¸³è¤ò¤·¤Æ¤¤¤¿¤Ë°ã¤¤¤Ê¤¤¡¥" : ! "·ò¹¯´ÉÍý¤òÂդäƤ¤¤¿¤Ë°ã¤¤¤Ê¤¤¡¥"); break; } } *************** *** 509,514 **** --- 557,566 ---- break; case 'E': attr = &e_attr; break; + #ifdef FIGHTER + case 'F': attr = &f_attr; + break; + #endif case 'H': attr = &h_attr; break; case 'K': attr = &k_attr; *************** *** 644,656 **** *(abil->ability) |= FROMEXPER; if(!(*(abil->ability) & FROMOUTSIDE)) { if(*(abil->gainstr)) ! You_feel("%s!", abil->gainstr); } } else if (oldlevel >= abil->ulevel && newlevel < abil->ulevel) { *(abil->ability) &= ~FROMEXPER; if((*(abil->ability) & INTRINSIC)) { if(*(abil->losestr)) ! You_feel("%s!", abil->losestr); else if(*(abil->gainstr)) You_feel("less %s!", abil->gainstr); } --- 696,713 ---- *(abil->ability) |= FROMEXPER; if(!(*(abil->ability) & FROMOUTSIDE)) { if(*(abil->gainstr)) ! /*JP You_feel("%s!", abil->gainstr);*/ ! You("%s¤è¤¦¤Êµ¤¤¬¤·¤¿¡ª", abil->gainstr); } } else if (oldlevel >= abil->ulevel && newlevel < abil->ulevel) { *(abil->ability) &= ~FROMEXPER; if((*(abil->ability) & INTRINSIC)) { if(*(abil->losestr)) ! /*JP You_feel("%s!", abil->losestr);*/ ! You("%s¤è¤¦¤Êµ¤¤¬¤·¤¿¡ª", abil->losestr); ! /* ! ** ¤³¤Î¾ò·ï¤ÏËþ¤µ¤Ê¤¤¤Ï¤º¡¥ ! */ else if(*(abil->gainstr)) You_feel("less %s!", abil->gainstr); } diff -c -r ../nethack-3.2.2/src/ball.c ./src/ball.c *** ../nethack-3.2.2/src/ball.c Fri Feb 16 02:37:02 1996 --- ./src/ball.c Tue Jul 22 23:18:10 1997 *************** *** 4,9 **** --- 4,16 ---- /* Ball & Chain =============================================================*/ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" static int NDECL(bc_order); *************** *** 17,23 **** gets_hit = (((uball->ox != u.ux) || (uball->oy != u.uy)) && ((uwep == uball)? FALSE : (boolean)rn2(5))); if (carried(uball)) { ! pline("Startled, you drop the iron ball."); if (uwep == uball) setuwep((struct obj *)0); if (uwep != uball) --- 24,31 ---- gets_hit = (((uball->ox != u.ux) || (uball->oy != u.uy)) && ((uwep == uball)? FALSE : (boolean)rn2(5))); if (carried(uball)) { ! /*JP pline("Startled, you drop the iron ball.");*/ ! pline("¶Ã¤¤¤Æ¤¢¤Ê¤¿¤ÏÅ´µå¤òÍ¤¿¡¥"); if (uwep == uball) setuwep((struct obj *)0); if (uwep != uball) *************** *** 25,40 **** } if(gets_hit){ int dmg = rn1(7,25); ! pline_The("iron ball falls on your %s.", body_part(HEAD)); if (uarmh) if(is_metallic(uarmh)) { ! pline("Fortunately, you are wearing a hard helmet."); dmg = 3; } else if (flags.verbose) ! Your("%s does not protect you.", xname(uarmh)); ! losehp(dmg, "Crunched in the head by an iron ball", ! NO_KILLER_PREFIX); } } --- 33,53 ---- } if(gets_hit){ int dmg = rn1(7,25); ! /*JP pline_The("iron ball falls on your %s.",*/ ! pline("Å´µå¤Ï¤¢¤Ê¤¿¤Î%s¤Î¾å¤ËÍî¤Á¤¿¡¥", body_part(HEAD)); if (uarmh) if(is_metallic(uarmh)) { ! /*JP pline("Fortunately, you are wearing a hard helmet.");*/ ! pline("¹¬±¿¤Ë¤â¡¤¤¢¤Ê¤¿¤Ï¸Ç¤¤³õ¤ò¿È¤Ë¤Ä¤±¤Æ¤¤¤¿¡¥"); dmg = 3; } else if (flags.verbose) ! /*JP Your("%s does not protect you.", xname(uarmh));*/ ! Your("%s¤Ï¤¢¤Ê¤¿¤ò¼é¤ì¤­¤ì¤Ê¤«¤Ã¤¿¡¥", xname(uarmh)); ! /*JP losehp(dmg, "Crunched in the head by an iron ball", ! NO_KILLER_PREFIX);*/ ! losehp(dmg, "Å´µå¤ÇƬ¤òÂǤäÆ", ! KILLED_BY); } } *************** *** 388,395 **** } if (near_capacity() > SLT_ENCUMBER) { ! You("cannot %sdrag the heavy iron ball.", ! invent ? "carry all that and also " : ""); nomul(0); return FALSE; } --- 401,410 ---- } if (near_capacity() > SLT_ENCUMBER) { ! /*JP You("cannot %sdrag the heavy iron ball.", ! invent ? "carry all that and also " : "");*/ ! You("½Å¤¤Å´µå¤ò%s°ú¤­¤º¤Ã¤ÆÊ⤱¤Ê¤¤¡¥", ! invent ? "»ý¤Á¤¢¤²¤Æ¡¤¤«¤Ä" : ""); nomul(0); return FALSE; } *************** *** 406,417 **** t->ttyp == TRAPDOOR)) ) { if (Levitation) { ! You_feel("a tug from the iron ball."); if (t) t->tseen = 1; } else { struct monst *victim; ! You("are jerked back by the iron ball!"); if ((victim = m_at(uchain->ox, uchain->oy)) != 0) { int tmp; --- 421,434 ---- t->ttyp == TRAPDOOR)) ) { if (Levitation) { ! /*JP You_feel("a tug from the iron ball.");*/ ! You("Å´µå¤Ë°ú¤Ã¤Ñ¤é¤ì¤¿¡¥"); if (t) t->tseen = 1; } else { struct monst *victim; ! /*JP You("are jerked back by the iron ball!");*/ ! You("Å´µå¤Ë¤°¤¤¤È°ú¤Ã¤Ñ¤é¤ì¤¿¡ª"); if ((victim = m_at(uchain->ox, uchain->oy)) != 0) { int tmp; *************** *** 483,511 **** if (x != u.ux || y != u.uy) { struct trap *t; ! const char *pullmsg = "The ball pulls you out of the %s!"; if (u.utrap && u.utraptype != TT_INFLOOR) { switch(u.utraptype) { case TT_PIT: ! pline(pullmsg, "pit"); break; case TT_WEB: ! pline(pullmsg, "web"); ! pline_The("web is destroyed!"); deltrap(t_at(u.ux,u.uy)); break; case TT_LAVA: ! pline(pullmsg, "lava"); break; case TT_BEARTRAP: { register long side = rn2(3) ? LEFT_SIDE : RIGHT_SIDE; ! pline(pullmsg, "bear trap"); ! Your("%s %s is severely damaged.", (side == LEFT_SIDE) ? "left" : "right", body_part(LEG)); set_wounded_legs(side, rn1(1000, 500)); ! losehp(2, "leg damage from being pulled out of a bear trap", KILLED_BY); break; } --- 500,538 ---- if (x != u.ux || y != u.uy) { struct trap *t; ! /*JP const char *pullmsg = "The ball pulls you out of the %s!";*/ ! const char *pullmsg = "Å´µå¤Ï%s¤«¤é¤¢¤Ê¤¿¤ò°ú¤Ã¤Ñ¤ê½Ð¤·¤¿¡ª"; if (u.utrap && u.utraptype != TT_INFLOOR) { switch(u.utraptype) { case TT_PIT: ! /*JP pline(pullmsg, "pit");*/ ! pline(pullmsg, "Í·ê"); break; case TT_WEB: ! /*JP pline(pullmsg, "web");*/ ! pline(pullmsg, "ÃØéá¤ÎÁã"); ! /*JP pline_The("web is destroyed!");*/ ! pline("ÃØéá¤ÎÁã¤Ï¤³¤Ê¤´¤Ê¤Ë¤Ê¤Ã¤¿¡ª"); deltrap(t_at(u.ux,u.uy)); break; case TT_LAVA: ! /*JP pline(pullmsg, "lava");*/ ! pline(pullmsg, "ÍÏ´ä"); break; case TT_BEARTRAP: { register long side = rn2(3) ? LEFT_SIDE : RIGHT_SIDE; ! /*JP pline(pullmsg, "bear trap");*/ ! pline(pullmsg, "·§¤Îæ«"); ! /*JP Your("%s %s is severely damaged.", (side == LEFT_SIDE) ? "left" : "right", + body_part(LEG));*/ + Your("%s%s¤ÏÃ×̿Ū¤Ê½ý¤òÉé¤Ã¤¿¡¥", + (side == LEFT_SIDE) ? "º¸" : "±¦", body_part(LEG)); set_wounded_legs(side, rn1(1000, 500)); ! /*JP losehp(2, "leg damage from being pulled out of a bear trap",*/ ! losehp(2, "·§¤Î櫤«¤éÈ´¤±¤è¤¦¤È­¤ò°ú¤Ã¤Ñ¤Ã¤Æ", KILLED_BY); break; } *************** *** 560,567 **** if (otmp == uwep) setuwep((struct obj *)0); if ((otmp != uwep) && (canletgo(otmp, ""))) { ! Your("%s you down the stairs.", ! aobjnam(otmp, "follow")); dropx(otmp); } } --- 587,596 ---- if (otmp == uwep) setuwep((struct obj *)0); if ((otmp != uwep) && (canletgo(otmp, ""))) { ! /*JP Your("%s you down the stairs.", ! aobjnam(otmp, "follow"));*/ ! You("%s¤È°ì½ï¤Ë³¬Ãʤò¹ß¤ê¤¿¡¥", ! xname(otmp)); dropx(otmp); } } *************** *** 587,612 **** forward = carried(uball) && (uwep == uball || !uwep || !rn2(3)); if (carried(uball)) ! You("lose your grip on the iron ball."); if (forward) { if(rn2(6)) { ! pline_The("iron ball drags you downstairs!"); ! losehp(rnd(6), "dragged downstairs by an iron ball", ! NO_KILLER_PREFIX); litter(); } } else { if(rn2(2)) { ! pline_The("iron ball smacks into you!"); ! losehp(rnd(20), "iron ball collision", KILLED_BY_AN); exercise(A_STR, FALSE); dragchance -= 2; } if( (int) dragchance >= rnd(6)) { ! pline_The("iron ball drags you downstairs!"); ! losehp(rnd(3), "dragged downstairs by an iron ball", ! NO_KILLER_PREFIX); exercise(A_STR, FALSE); litter(); } --- 616,650 ---- forward = carried(uball) && (uwep == uball || !uwep || !rn2(3)); if (carried(uball)) ! /*JP You("lose your grip on the iron ball.");*/ ! You("Å´µå¤ò¼ê¤«¤éÍ¤Æ¤·¤Þ¤Ã¤¿¡¥"); if (forward) { if(rn2(6)) { ! /*JP pline_The("iron ball drags you downstairs!");*/ ! You("Å´µå¤Ë¤è¤Ã¤Æ³¬Ãʤò¤³¤í¤¬¤êÍî¤Á¤¿¡ª"); ! /*JP losehp(rnd(6), "dragged downstairs by an iron ball", ! NO_KILLER_PREFIX);*/ ! losehp(rnd(6), "Å´µå¤Ë¤è¤ê³¬Ãʤò¤³¤í¤¬¤êÍî¤Á¤Æ", ! KILLED_BY); litter(); } } else { if(rn2(2)) { ! /*JP pline_The("iron ball smacks into you!");*/ ! pline("Å´µå¤Ï¤¢¤Ê¤¿¤Ë¥¬¥·¥ã¡¼¥ó¤È¤Ö¤Ä¤«¤Ã¤¿¡ª"); ! /*JP losehp(rnd(20), "iron ball collision", KILLED_BY_AN);*/ ! losehp(rnd(20), "Å´µå¤Î¾×ÆͤÇ", KILLED_BY_AN); exercise(A_STR, FALSE); dragchance -= 2; } if( (int) dragchance >= rnd(6)) { ! /*JP pline_The("iron ball drags you downstairs!");*/ ! You("Å´µå¤Ë¤è¤Ã¤Æ³¬Ãʤò¤³¤í¤¬¤êÍî¤Á¤¿¡ª"); ! /*JP losehp(rnd(3), "dragged downstairs by an iron ball", ! NO_KILLER_PREFIX);*/ ! losehp(rnd(3), "Å´µå¤Ë¤è¤ê³¬Ãʤò¤³¤í¤¬¤êÍî¤Á¤Æ", ! KILLED_BY); exercise(A_STR, FALSE); litter(); } *************** *** 614,616 **** --- 652,655 ---- } /*ball.c*/ + diff -c -r ../nethack-3.2.2/src/bones.c ./src/bones.c *** ../nethack-3.2.2/src/bones.c Sat Dec 28 21:53:34 1996 --- ./src/bones.c Tue Jul 22 23:18:11 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985,1993. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "lev.h" *************** *** 255,262 **** } mtmp = christen_monst(mtmp, plname); newsym(u.ux, u.uy); ! Your("body rises from the dead as %s...", ! an(mons[u.ugrave_arise].mname)); display_nhwindow(WIN_MESSAGE, FALSE); drop_upon_death(mtmp, (struct obj *)0); m_dowear(mtmp, TRUE); --- 262,271 ---- } mtmp = christen_monst(mtmp, plname); newsym(u.ux, u.uy); ! /*JP Your("body rises from the dead as %s...", ! an(mons[u.ugrave_arise].mname));*/ ! Your("ÂΤÏ%s¤È¤·¤Æ»àÂΤ«¤éÁɤä¿¡¥¡¥¡¥", ! jtrns_mon(mons[u.ugrave_arise].mname, mtmp->female)); display_nhwindow(WIN_MESSAGE, FALSE); drop_upon_death(mtmp, (struct obj *)0); m_dowear(mtmp, TRUE); diff -c -r ../nethack-3.2.2/src/botl.c ./src/botl.c *** ../nethack-3.2.2/src/botl.c Sat Dec 28 21:53:35 1996 --- ./src/botl.c Tue Jul 22 23:18:11 1997 *************** *** 2,19 **** /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ #include "hack.h" #ifdef OVL0 extern const char *hu_stat[]; /* defined in eat.c */ const char *enc_stat[] = { ! "", "Burdened", "Stressed", "Strained", "Overtaxed", ! "Overloaded" }; static void NDECL(bot1); --- 2,32 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #ifdef OVL0 extern const char *hu_stat[]; /* defined in eat.c */ const char *enc_stat[] = { ! /*JP "", "Burdened", "Stressed", "Strained", "Overtaxed", ! "Overloaded"*/ ! "", ! "¤è¤í¤á¤­", ! "°µÇ÷", ! "¸Â³¦", ! "²Ù½Å", ! "Ķ²á" }; static void NDECL(bot1); *************** *** 65,70 **** --- 78,85 ---- static const struct class_ranks all_classes[] = { { 'A',0, PM_ARCHEOLOGIST, { + /*JP*/ + #if 0 {"Digger", 0}, {"Field Worker",0}, {"Investigator",0}, *************** *** 74,81 **** --- 89,108 ---- {"Speleologist",0}, {"Collector", 0}, {"Curator", 0} + #endif + {"¹Û°÷", 0}, + {"ϫƯ¼Ô", 0}, + {"Ä´ºº¼Ô", 0}, + {"ȯ·¡¼Ô", 0}, + {"·¡ºï¼Ô", 0}, + {"õ¸¡¼Ô", 0}, + {"ƶ·¢³Ø¼Ô", 0}, + {"Èþ½Ñ¼ý½¸¼Ô", 0}, + {"´ÛĹ", 0} } }, { 'B',0, PM_BARBARIAN, { + /*JP*/ + #if 0 {"Plunderer", "Plunderess"}, {"Pillager", 0}, {"Bandit", 0}, *************** *** 85,92 **** --- 112,131 ---- {"Slayer", 0}, {"Chieftain", "Chieftainess"}, {"Conqueror", "Conqueress"} + #endif + {"Åð±", "½÷Åð±"}, + {"άå¼Ô", 0}, + {"°­´Á", 0}, + {"»³Â±", 0}, + {"¿¯Î¬¼Ô", 0}, + {"¶¯Åð", 0}, + {"»¦Ù¤¼Ô", 0}, + {"¼óÎÎ", "½÷¼óÎÎ"}, + {"À¬Éþ¼Ô", 0} } }, { 'C',0, PM_CAVEMAN, { + /*JP*/ + #if 0 {"Troglodyte", 0}, {"Aborigine", 0}, {"Wanderer", 0}, *************** *** 96,103 **** --- 135,154 ---- {"Nomad", 0}, {"Rover", 0}, {"Pioneer", 0} + #endif + {"·êµï¿Í", 0}, + {"¸¶½»Ì±", 0}, + {"Êüϲ¼Ô", 0}, + {"Éâϲ¼Ô", 0}, + {"ι¹Ô¼Ô", 0}, + {"ÊüÍ·¼Ô", 0}, + {"Í·ËÒ̱", 0}, + {"ήϲ¼Ô", 0}, + {"Àè¶î¼Ô", 0} } }, { 'E',0, PM_ELF, { + /*JP*/ + #if 0 {"Edhel", "Elleth"}, {"Edhel", "Elleth"}, /* elf-maid */ {"Ohtar", "Ohtie"}, /* warrior */ *************** *** 109,116 **** --- 160,194 ---- {"Aredhel", "Arwen"}, /* noble elf, maiden (S.) */ {"Ernil", "Elentariel"}, /* prince (S.), elf-maiden (Q.) */ {"Elentar", "Elentari"} /* Star-king, -queen (Q.) */ + #endif + {"¥¨¥ë¥Õ", "¥¨¥ì¥¹"}, + {"¥¨¥ë¥Õ", "¥¨¥ì¥¹"}, /* elf-maid */ + {"¥¨¥ë¥Õ¤ÎÀï»Î", "¥¨¥ì¥¹¤Î½÷Àï»Î"}, /* warrior */ + {"¥¨¥ë¥Õ¤Î»Ø´ø¼Ô", /* commander (Q.) ['a] */ + "¥¨¥ì¥¹¤Î»Ø´ø¼Ô"}, /* educated guess, until further research- SAC */ + {"²¦¤Î½¾¼Ô", /* king's servant, minister (Q.) - guess */ + "²¦¤Î»ø½÷"}, /* educated guess */ + {"¥¨¥ë¥Õ¤Î·¯¼ç", "¥¨¥ì¥¹¤Îɱ"}, /* lord, lady (S.) ['ir] */ + {"¹âµ®¤Ê¥¨¥ë¥Õ", "¹âµ®¤Ê¥¨¥ì¥¹"}, /* noble elf, maiden (S.) */ + {"¥¨¥ë¥Õ¤Î²¦»Ò", "¥¨¥ì¥¹¤Î²¦½÷"}, /* prince (S.), elf-maiden (Q.) */ + {"À±¤Î²¦", "À±¤ÎÈÞ"} /* Star-king, -queen (Q.) */ + } }, + #ifdef FIGHTER + { 'F',0, PM_FIGHTER, { + {"¥Þ¡¼¥­¥å¥ê¡¼", 0}, + {"¥Ó¡¼¥Ê¥¹", 0}, + {"¥Þ¡¼¥º", 0}, + {"¥¸¥å¥Ô¥¿¡¼", 0}, + {"¥µ¥¿¡¼¥ó", 0}, + {"¥¦¥é¥Ì¥¹", 0}, + {"¥Í¥×¥Á¥å¡¼¥ó", 0}, + {"¥×¥ë¡¼¥È", 0}, + {"¥à¡¼¥ó", 0} } }, + #endif { 'H',0, PM_HEALER, { + /*JP*/ + #if 0 {"Rhizotomist", 0}, {"Empiric", 0}, {"Embalmer", 0}, *************** *** 120,127 **** --- 198,217 ---- {"Magister", 0}, {"Physician", 0}, {"Chirurgeon", 0} + #endif + {"¸«½¬¤¤", 0}, + {"°å»Õ¸«½¬¤¤", 0}, + {"´Ç¸î»Õ", "´Ç¸îÉØ"}, + {"°å»Õ½õ¼ê", 0}, + {"Ìôʪ¼çǤ", 0}, + {"°å»Õ¼çǤ", "´Ç¸î¼çǤ"}, + {"´ÁÊý°å", 0}, + {"Æâ²Ê°å", 0}, + {"³°²Ê°å", 0} } }, { 'K',0, PM_KNIGHT, { + /*JP*/ + #if 0 {"Gallant", 0}, {"Esquire", 0}, {"Bachelor", 0}, *************** *** 131,138 **** --- 221,240 ---- {"Chevalier", 0}, {"Seignieur", 0}, {"Paladin", 0} + #endif + {"¸«½¬¤¤", 0}, + {"Êâʼ", 0}, + {"Àï»Î", "½÷Àï»Î"}, + {"µ³Ê¼", 0}, + {"½ÅÀï»Î", 0}, + {"µ³»Î", 0}, + {"½Åµ³»Î", 0}, + {"·®µ³»Î", 0}, + {"À»µ³»Î", 0} } }, { 'P',0, PM_PRIEST, { + /*JP*/ + #if 0 {"Aspirant", 0}, {"Acolyte", 0}, {"Adept", 0}, *************** *** 142,149 **** --- 244,263 ---- {"Lama", 0}, {"Patriarch", "Matriarch"}, {"High Priest", "High Priestess"} + #endif + {"½¤Æ»¼Ô", "½¤Æ»½÷"}, + {"»ø¼Ô", 0}, + {"»øº×", 0}, + {"ÁÎη", "ÆôÁÎ"}, + {"½õǤ»Êº×", 0}, + {"À»¼Ô", "À»½÷"}, + {"»Ê¶µ", 0}, + {"Âç»Ê¶µ", 0}, + {"ÂçÁξå", 0} } }, { 'R',0, PM_ROGUE, { + /*JP*/ + #if 0 {"Footpad", 0}, {"Cutpurse", 0}, {"Rogue", 0}, *************** *** 153,160 **** --- 267,286 ---- {"Filcher", 0}, {"Magsman", "Magswoman"}, {"Thief", 0} + #endif + {"Äɤ¤¤Ï¤®", 0}, + {"¤Ò¤Ã¤¿¤¯¤ê", 0}, + {"¥¹¥ê", 0}, + {"¤´¤í¤Ä¤­", 0}, + {"¤³¤½¤É¤í", 0}, + {"¶õÁã", 0}, + {"Å¥ËÀ", "½÷Å¥ËÀ"}, + {"¶¯Åð", 0}, + {"ÂçÅ¥ËÀ", 0} } }, { 'S',0, PM_SAMURAI, { + /*JP*/ + #if 0 {"Hatamoto", 0}, /* Banner Knight */ {"Ronin", 0}, /* no allegiance */ {"Ninja", 0}, /* secret society */ *************** *** 164,172 **** --- 290,310 ---- {"Daimyo", 0}, /* a samurai lord */ {"Kuge", 0}, /* Noble of the Court */ {"Shogun", 0} /* supreme commander, warlord */ + #endif + {"´úËÜ", 0}, /* Banner Knight */ + {"ϲ¿Í", 0}, /* no allegiance */ + {"Ǧ¼Ô", "¤¯¥Î°ì"}, /* secret society */ + {"¾ë¼ç", 0}, /* heads a castle */ + {"Îμç", 0}, /* has a territory */ + {"¹ñ¼ç", 0}, /* heads a province */ + {"Âç̾", "¹ø¸µ"}, /* a samurai lord */ + {"¸ø²È", 0}, /* Noble of the Court */ + {"¾­·³", "Âç±ü"} /* supreme commander, warlord */ } }, #ifdef TOURIST { 'T',0, PM_TOURIST, { + /*JP*/ + #if 0 {"Rambler", 0}, {"Sightseer", 0}, {"Excursionist",0}, *************** *** 176,184 **** --- 314,333 ---- {"Voyager", 0}, {"Explorer", 0}, {"Adventurer", 0} + #endif + {"¥×¡¼ÂÀϺ", "¥×¡¼»Ò"}, + {"´Ñ¸÷µÒ", 0}, + {"¼þͷι¹Ô¼Ô", 0}, + {"Ê×Îò¼Ô", 0}, + {"ι¹Ô¼Ô", 0}, + {"ι¿Í", 0}, + {"¹Ò³¤¼Ô", 0}, + {"õ¸¡²È", 0}, + {"ËÁ¸±¼Ô", 0} } }, #endif { 'V',0, PM_VALKYRIE, { + #if 0 {"Stripling", 0}, {"Skirmisher", 0}, {"Fighter", 0}, *************** *** 188,195 **** --- 337,356 ---- {"Hero", "Heroine"}, {"Champion", 0}, {"Lord", "Lady"} + #endif + {"¸«½¬¤¤", 0}, + {"Êâʼ", 0}, + {"Àï»Î", "½÷Àï»Î"}, + {"µ³Ê¼", "½÷½Åµ³Ê¼"}, + {"ÀïƮʼ", 0}, + {"¹¶·âʼ", 0}, + {"±Ñͺ", 0}, + {"Æ®»Î", "½÷Æ®»Î"}, + {"Çì¼ß", "½÷Çì¼ß"} } }, { 'W',0, PM_WIZARD, { + /*JP*/ + #if 0 {"Evoker", 0}, {"Conjurer", 0}, {"Thaumaturge", 0}, *************** *** 199,204 **** --- 360,375 ---- {"Necromancer", 0}, {"Wizard", 0}, {"Mage", 0} + #endif + {"¼êÉÊ»Õ", 0}, + {"´ñ½Ñ»Õ", 0}, + {"Àꤤ»Õ", 0}, + {"Îî´¶»Õ", 0}, + {"¾¤´­»Õ", 0}, + {"ÍŽѻÕ", 0}, + {"Ëâ½Ñ»Õ", 0}, + {"ËâË¡»È¤¤", "Ëâ½÷"}, + {"ÂçËâË¡»È¤¤", 0} } }, }; *************** *** 321,334 **** --- 492,513 ---- Strcpy(newbot1, plname); if('a' <= newbot1[0] && newbot1[0] <= 'z') newbot1[0] += 'A'-'a'; + if( is_kanji1(newbot1, 9) ) /*JP*/ + newbot1[9] = '_'; newbot1[10] = 0; + /*JP Sprintf(nb = eos(newbot1)," the "); + */ + Sprintf(nb = eos(newbot1)," "); if (Upolyd) { char mbot[BUFSZ]; int k = 0; + /*JP Strcpy(mbot, mons[u.umonnum].mname); + */ + Strcpy(mbot, jtrns_mon(mons[u.umonnum].mname, flags.female)); while(mbot[k] != 0) { if ((k == 0 || (k > 0 && mbot[k-1] == ' ')) && 'a' <= mbot[k] && mbot[k] <= 'z') *************** *** 346,366 **** Sprintf(nb = eos(nb),"%*s", i-j, " "); /* pad with spaces */ if (ACURR(A_STR) > 18) { if (ACURR(A_STR) > 118) ! Sprintf(nb = eos(nb),"St:%2d ",ACURR(A_STR)-100); else if (ACURR(A_STR) < 118) ! Sprintf(nb = eos(nb), "St:18/%02d ",ACURR(A_STR)-18); else ! Sprintf(nb = eos(nb),"St:18/** "); } else ! Sprintf(nb = eos(nb), "St:%-1d ",ACURR(A_STR)); Sprintf(nb = eos(nb), ! "Dx:%-1d Co:%-1d In:%-1d Wi:%-1d Ch:%-1d", ACURR(A_DEX), ACURR(A_CON), ACURR(A_INT), ACURR(A_WIS), ACURR(A_CHA)); ! Sprintf(nb = eos(nb), (u.ualign.type == A_CHAOTIC) ? " Chaotic" : ! (u.ualign.type == A_NEUTRAL) ? " Neutral" : " Lawful"); #ifdef SCORE_ON_BOTL if (flags.showscore) ! Sprintf(nb = eos(nb), " S:%ld", botl_score()); #endif curs(WIN_STATUS, 1, 0); putstr(WIN_STATUS, 0, newbot1); --- 525,553 ---- Sprintf(nb = eos(nb),"%*s", i-j, " "); /* pad with spaces */ if (ACURR(A_STR) > 18) { if (ACURR(A_STR) > 118) ! /*JP Sprintf(nb = eos(nb),"St:%2d ",ACURR(A_STR)-100);*/ ! Sprintf(nb = eos(nb),"¶¯:%2d ",ACURR(A_STR)-100); else if (ACURR(A_STR) < 118) ! /*JP Sprintf(nb = eos(nb), "St:18/%02d ",ACURR(A_STR)-18);*/ ! Sprintf(nb = eos(nb), "¶¯:18/%02d ",ACURR(A_STR)-18); else ! /*JP Sprintf(nb = eos(nb),"St:18/** ");*/ ! Sprintf(nb = eos(nb),"¶¯:18/** "); } else ! /*JP Sprintf(nb = eos(nb), "St:%-1d ",ACURR(A_STR));*/ ! Sprintf(nb = eos(nb), "¶¯:%-1d ",ACURR(A_STR)); Sprintf(nb = eos(nb), ! /*JP "Dx:%-1d Co:%-1d In:%-1d Wi:%-1d Ch:%-1d",*/ ! "Áá:%-1d ÂÑ:%-1d ÃÎ:%-1d ¸­:%-1d Ì¥:%-1d", ACURR(A_DEX), ACURR(A_CON), ACURR(A_INT), ACURR(A_WIS), ACURR(A_CHA)); ! /*JP Sprintf(nb = eos(nb), (u.ualign.type == A_CHAOTIC) ? " Chaotic" : ! (u.ualign.type == A_NEUTRAL) ? " Neutral" : " Lawful");*/ ! Sprintf(nb = eos(nb), (u.ualign.type == A_CHAOTIC) ? " º®ÆÙ" : ! (u.ualign.type == A_NEUTRAL) ? " ÃæΩ" : " Ãá½ø"); #ifdef SCORE_ON_BOTL if (flags.showscore) ! /*JP Sprintf(nb = eos(nb), " S:%ld", botl_score());*/ ! Sprintf(nb = eos(nb), " ÅÀ:%ld", botl_score()); #endif curs(WIN_STATUS, 1, 0); putstr(WIN_STATUS, 0, newbot1); *************** *** 380,412 **** --- 567,624 ---- if(hp < 0) hp = 0; /* TODO: Add in dungeon name */ if (Is_knox(&u.uz)) + /*JP Sprintf(newbot2, "%s ", dungeons[u.uz.dnum].dname); + */ + Sprintf(newbot2, "%s ", jtrns_obj('d', dungeons[u.uz.dnum].dname)); else if (In_quest(&u.uz)) + /*JP Sprintf(newbot2, "Home %d ", dunlev(&u.uz)); + */ + Sprintf(newbot2, "¸Î¶¿ %d ", dunlev(&u.uz)); else if (In_endgame(&u.uz)) Sprintf(newbot2, + /*JP Is_astralevel(&u.uz) ? "Astral Plane " : "End Game "); + */ + Is_astralevel(&u.uz) ? "ÀºÎ " : "ºÇ½ª»îÎý "); else + /*JP Sprintf(newbot2, "Dlvl:%-2d ", depth(&u.uz)); + */ + Sprintf(newbot2, "Ãϲ¼:%-2d ", depth(&u.uz)); Sprintf(nb = eos(newbot2), + /*JP "%c:%-2ld HP:%d(%d) Pw:%d(%d) AC:%-2d", oc_syms[GOLD_CLASS], + */ + "%c:%-2ld ÂÎ:%d(%d) Ëâ:%d(%d) ³»:%-2d", oc_syms[GOLD_CLASS], u.ugold, hp, hpmax, u.uen, u.uenmax, u.uac); if (Upolyd) Sprintf(nb = eos(nb), " HD:%d", mons[u.umonnum].mlevel); #ifdef EXP_ON_BOTL else if(flags.showexp) + /*JP Sprintf(nb = eos(nb), " Xp:%u/%-1ld", u.ulevel,u.uexp); + */ + Sprintf(nb = eos(nb), " ·Ð¸³:%u/%-1ld", u.ulevel,u.uexp); #endif else + /*JP Sprintf(nb = eos(nb), " Exp:%u", u.ulevel); + */ + Sprintf(nb = eos(nb), " ·Ð¸³:%u", u.ulevel); if(flags.time) + /*JP Sprintf(nb = eos(nb), " T:%ld", moves); + */ + Sprintf(nb = eos(nb), " Êâ:%ld", moves); if(strcmp(hu_stat[u.uhs], " ")) { Sprintf(nb = eos(nb), " "); Strcat(newbot2, hu_stat[u.uhs]); } + #if 0 /*JP*/ if(Confusion) Sprintf(nb = eos(nb), " Conf"); if(Sick) { if (u.usick_type & SICK_VOMITABLE) *************** *** 417,422 **** --- 629,645 ---- if(Blind) Sprintf(nb = eos(nb), " Blind"); if(Stunned) Sprintf(nb = eos(nb), " Stun"); if(Hallucination) Sprintf(nb = eos(nb), " Hallu"); + #endif + if(Confusion) Sprintf(nb = eos(nb), " º®Íð"); + if(Sick) { + if (u.usick_type & SICK_VOMITABLE) + Sprintf(nb = eos(nb), " ¿©ÆÇ"); + if (u.usick_type & SICK_NONVOMITABLE) + Sprintf(nb = eos(nb), " ɵ¤"); + } + if(Blind) Sprintf(nb = eos(nb), " ÌÕÌÜ"); + if(Stunned) Sprintf(nb = eos(nb), " âÁÚô"); + if(Hallucination) Sprintf(nb = eos(nb), " ¸¸³Ð"); if(cap > UNENCUMBERED) Sprintf(nb = eos(nb), " %s", enc_stat[cap]); curs(WIN_STATUS, 1, 1); diff -c -r ../nethack-3.2.2/src/cmd.c ./src/cmd.c *** ../nethack-3.2.2/src/cmd.c Sat Dec 28 21:53:36 1996 --- ./src/cmd.c Tue Sep 23 07:10:06 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "func_tab.h" /* #define DEBUG /* uncomment for debugging */ *************** *** 283,291 **** --- 290,304 ---- datawin = create_nhwindow(NHW_TEXT); putstr(datawin, 0, ""); + /*JP putstr(datawin, 0, " Extended Commands List"); + */ + putstr(datawin, 0, " ³ÈÄ¥¥³¥Þ¥ó¥É°ìÍ÷"); putstr(datawin, 0, ""); + /*JP putstr(datawin, 0, " Press '#', then type:"); + */ + putstr(datawin, 0, " '#'¤ò²¡¤·¤¿¤¢¤È¥¿¥¤¥×¤»¤è:"); putstr(datawin, 0, ""); for(efp = extcmdlist; efp->ef_txt; efp++) { *************** *** 312,334 **** struct monst *mtmp; if ((mtmp = cloneu()) != 0) { mtmp->mhpmax = (u.mhmax /= 2); ! You("multiply."); dryup(u.ux,u.uy); } ! } else pline("There is no fountain here."); } else if (u.usym == S_UNICORN) { use_unicorn_horn((struct obj *)0); return 1; } else if (u.umonnum == PM_MIND_FLAYER) return domindblast(); else if (uasmon->msound == MS_SHRIEK) { ! You("shriek."); if(u.uburied) ! pline("Unfortunately sound does not carry well through rock."); else aggravate(); } else if (Upolyd) ! pline("Any special ability you may have is purely reflexive."); ! else You("don't have a special ability!"); return 0; } --- 325,353 ---- struct monst *mtmp; if ((mtmp = cloneu()) != 0) { mtmp->mhpmax = (u.mhmax /= 2); ! /*JP You("multiply.");*/ ! You("ʬÎö¤·¤¿¡¥"); dryup(u.ux,u.uy); } ! /*JP } else pline("There is no fountain here.");*/ ! } else pline("¤³¤³¤Ë¤ÏÀô¤Ï¤Ê¤¤¡¥"); } else if (u.usym == S_UNICORN) { use_unicorn_horn((struct obj *)0); return 1; } else if (u.umonnum == PM_MIND_FLAYER) return domindblast(); else if (uasmon->msound == MS_SHRIEK) { ! /*JP You("shriek.");*/ ! You("¶âÀÚ¤êÀ¼¤ò¤¢¤²¤¿¡¥"); if(u.uburied) ! /*JP pline("Unfortunately sound does not carry well through rock.");*/ ! pline("ÉÔ¹¬¤Ë¤â²»¤Ï´ä¤ò¤¦¤Þ¤¯ÅÁ¤ï¤é¤Ê¤¤¡¥"); else aggravate(); } else if (Upolyd) ! /*JP pline("Any special ability you may have is purely reflexive.");*/ ! pline("¤¢¤Ê¤¿¤Î»ý¤Ã¤Æ¤¤¤ëÆüìǽÎϤϤɤì¤â¼õưŪ¤À¡¥"); ! /*JP else You("don't have a special ability!");*/ ! else You("ÆüìǽÎϤò»ý¤Ã¤Æ¤¤¤Ê¤¤¡ª"); return 0; } *************** *** 336,350 **** enter_explore_mode() { if(!discover && !wizard) { ! pline("Beware! From explore mode there will be no return to normal game."); ! if (yn("Do you want to enter explore mode?") == 'y') { clear_nhwindow(WIN_MESSAGE); ! You("are now in non-scoring explore mode."); discover = TRUE; } else { clear_nhwindow(WIN_MESSAGE); ! pline("Resuming normal game."); } } return 0; --- 355,373 ---- enter_explore_mode() { if(!discover && !wizard) { ! /*JP pline("Beware! From explore mode there will be no return to normal game.");*/ ! pline("·Ù¹ð¡ªÈ¯¸«¥â¡¼¥É¤ËÆþ¤Ã¤¿¤éÄ̾ï¥â¡¼¥É¤Ë¤ÏÌá¤ì¤Ê¤¤¡¥"); ! /*JP if (yn("Do you want to enter explore mode?") == 'y') {*/ ! if (yn("ȯ¸«¥â¡¼¥É¤Ë°Ü¤ê¤Þ¤¹¤«¡©") == 'y') { clear_nhwindow(WIN_MESSAGE); ! /*JP You("are now in non-scoring explore mode.");*/ ! You("¥¹¥³¥¢¤¬¤Î¤é¤Ê¤¤È¯¸«¥â¡¼¥É¤Ë°Ü¹Ô¤·¤¿¡¥"); discover = TRUE; } else { clear_nhwindow(WIN_MESSAGE); ! /*JP pline("Resuming normal game.");*/ ! pline("Ä̾ï¥â¡¼¥É¤òºÆ³«¡¥"); } } return 0; *************** *** 362,368 **** flags.verbose = save_verbose; (void) encumber_msg(); } else ! pline("Unavailable command '^W'."); return 0; } --- 385,392 ---- flags.verbose = save_verbose; (void) encumber_msg(); } else ! /*JP pline("Unavailable command '^W'.");*/ ! pline("'^W'¥³¥Þ¥ó¥É¤Ï»È¤¨¤Ê¤¤¡¥"); return 0; } *************** *** 370,376 **** wiz_identify() { if (wizard) identify_pack(0); ! else pline("Unavailable command '^I'."); return 0; } --- 394,401 ---- wiz_identify() { if (wizard) identify_pack(0); ! /*JP else pline("Unavailable command '^I'.");*/ ! else pline("'^I'¥³¥Þ¥ó¥É¤Ï»È¤¨¤Ê¤¤¡¥"); return 0; } *************** *** 378,384 **** wiz_map() { if (wizard) do_mapping(); ! else pline("Unavailable command '^F'."); return 0; } --- 403,410 ---- wiz_map() { if (wizard) do_mapping(); ! /*JP else pline("Unavailable command '^F'.");*/ ! else pline("'^F'¥³¥Þ¥ó¥É¤Ï»È¤¨¤Ê¤¤¡¥"); return 0; } *************** *** 386,392 **** wiz_genesis() { if (wizard) (void) create_particular(); ! else pline("Unavailable command '^G'."); return 0; } --- 412,419 ---- wiz_genesis() { if (wizard) (void) create_particular(); ! /*JP else pline("Unavailable command '^G'.");*/ ! else pline("'^G'¥³¥Þ¥ó¥É¤Ï»È¤¨¤Ê¤¤¡¥"); return 0; } *************** *** 394,400 **** wiz_where() { if (wizard) print_dungeon(); ! else pline("Unavailable command '^O'."); return 0; } --- 421,428 ---- wiz_where() { if (wizard) print_dungeon(); ! /*JP else pline("Unavailable command '^O'.");*/ ! else pline("'^O'¥³¥Þ¥ó¥É¤Ï»È¤¨¤Ê¤¤¡¥"); return 0; } *************** *** 402,408 **** wiz_detect() { if(wizard) (void) findit(); ! else pline("Unavailable command '^E'."); return 0; } --- 430,437 ---- wiz_detect() { if(wizard) (void) findit(); ! /*JP else pline("Unavailable command '^E'.");*/ ! else pline("'^E'¥³¥Þ¥ó¥É¤Ï»È¤¨¤Ê¤¤¡¥"); return 0; } *************** *** 410,416 **** wiz_level_tele() { if (wizard) level_tele(); ! else pline("Unavailable command '^V'."); return 0; } --- 439,446 ---- wiz_level_tele() { if (wizard) level_tele(); ! /*JP else pline("Unavailable command '^V'.");*/ ! else pline("'^V'¥³¥Þ¥ó¥É¤Ï»È¤¨¤Ê¤¤¡¥"); return 0; } *************** *** 527,539 **** /* -enlightenment- */ static winid en_win; static const char ! *You_ = "You ", *are = "are ", *were = "were ", *have = "have ", *had = "had ", ! *can = "can ", *could = "could "; #define enl_msg(prefix,present,past,suffix) \ ! enlght_line(prefix, final ? past : present, suffix) #define you_are(attr) enl_msg(You_,are,were,attr) #define you_have(attr) enl_msg(You_,have,had,attr) #define you_can(attr) enl_msg(You_,can,could,attr) --- 557,573 ---- /* -enlightenment- */ static winid en_win; static const char ! /*JP *You_ = "You ", *are = "are ", *were = "were ", *have = "have ", *had = "had ", ! *can = "can ", *could = "could ";*/ ! *You_ = "¤¢¤Ê¤¿¤Ï", ! *are = "¤Ç¤¢¤ë", *were = "¤Ç¤¢¤Ã¤¿", ! *have = "¤ò¤â¤Ã¤Æ¤¤¤ë", *had = "¤ò¤â¤Ã¤Æ¤¤¤¿", ! *can = "¤Ç¤­¤ë", *could = "¤Ç¤­¤¿"; #define enl_msg(prefix,present,past,suffix) \ ! enlght_line(prefix, suffix, final ? past : present) #define you_are(attr) enl_msg(You_,are,were,attr) #define you_have(attr) enl_msg(You_,have,had,attr) #define you_can(attr) enl_msg(You_,can,could,attr) *************** *** 544,550 **** { char buf[BUFSZ]; ! Sprintf(buf, "%s%s%s.", start, middle, end); putstr(en_win, 0, buf); } --- 578,584 ---- { char buf[BUFSZ]; ! Sprintf(buf, "%s%s%s¡¥", start, middle, end); putstr(en_win, 0, buf); } *************** *** 556,576 **** char buf[BUFSZ]; en_win = create_nhwindow(NHW_MENU); ! putstr(en_win, 0, final ? "Final Attributes:" : "Current Attributes:"); putstr(en_win, 0, ""); #ifdef ELBERETH if (u.uevent.uhand_of_elbereth) { static const char *hofe_titles[3] = { ! "the Hand of Elbereth", "the Envoy of Balance", ! "the Glory of Arioch" }; ! you_are(hofe_titles[u.uevent.uhand_of_elbereth - 1]); } #endif /* note: piousness 20 matches MIN_QUEST_ALIGN (quest.h) */ if (u.ualign.record >= 20) you_are("piously aligned"); else if (u.ualign.record > 13) you_are("devoutly aligned"); else if (u.ualign.record > 8) you_are("fervently aligned"); --- 590,619 ---- char buf[BUFSZ]; en_win = create_nhwindow(NHW_MENU); ! /*JP putstr(en_win, 0, final ? "Final Attributes:" : "Current Attributes:");*/ ! putstr(en_win, 0, final ? "ºÇ½ªÂ°À­¡§" : "¸½ºß¤Î°À­¡§"); putstr(en_win, 0, ""); #ifdef ELBERETH if (u.uevent.uhand_of_elbereth) { static const char *hofe_titles[3] = { ! /*JP "the Hand of Elbereth", "the Envoy of Balance", ! "the Glory of Arioch"*/ ! "¥¨¥ë¥Ù¥ì¥¹¤Î¸æ¼ê", ! "ĴϤλȼÔ", ! "¥¢¥ê¥ª¥Ã¥Á¤Î̾ÍÀ" }; ! /*JP*/ ! if(u.uevent.uhand_of_elbereth == 2) ! you_are(hofe_titles[u.uevent.uhand_of_elbereth - 1]); ! else ! you_have(hofe_titles[u.uevent.uhand_of_elbereth - 1]); } #endif /* note: piousness 20 matches MIN_QUEST_ALIGN (quest.h) */ + #if 0 /*JP*/ if (u.ualign.record >= 20) you_are("piously aligned"); else if (u.ualign.record > 13) you_are("devoutly aligned"); else if (u.ualign.record > 8) you_are("fervently aligned"); *************** *** 581,593 **** else if (u.ualign.record >= -3) you_have("strayed"); else if (u.ualign.record >= -8) you_have("sinned"); else you_have("transgressed"); #ifdef WIZARD if (wizard) { Sprintf(buf, " %d", u.ualign.record); ! enl_msg("Your alignment ", "is", "was", buf); } #endif if (Telepat) you_are("telepathic"); if (Searching) you_have("automatic searching"); if (Teleportation) you_can("teleport"); --- 624,814 ---- else if (u.ualign.record >= -3) you_have("strayed"); else if (u.ualign.record >= -8) you_have("sinned"); else you_have("transgressed"); + #endif /*JP*/ + if (u.ualign.record >= 20) you_are("·ÉéʤʿʹÖ"); + else if (u.ualign.record > 13) you_are("¿®¿´¿¼¤¤¿Í´Ö"); + else if (u.ualign.record > 8) you_are("Ç®Îõ¤Ê¿Í´Ö"); + else if (u.ualign.record > 3) you_are("À¼¤Î¤«¤ó¹â¤¤¿Í´Ö"); + else if (u.ualign.record == 3) you_are("ÉáÄ̤οʹÖ"); + else if (u.ualign.record > 0) you_are("¤É¤â¤ê¤Î¿Í´Ö"); + else if (u.ualign.record == 0) you_are("̵ͭ̾¼Â¤Î¿Í´Ö"); + else if (u.ualign.record >= -3) you_are("ÌÂÏǤʿʹÖ"); + else if (u.ualign.record >= -8) you_are("µö¤·¤¬¤¿¤¤ºá¤òÉé¤Ã¤¿¿Í´Ö"); + else you_are("°ï椷¤¿¿Í´Ö"); #ifdef WIZARD if (wizard) { Sprintf(buf, " %d", u.ualign.record); ! /*JP enl_msg("Your alignment ", "is", "was", buf);*/ ! enl_msg("¤¢¤Ê¤¿¤Î°À­ÃͤÏ", "¤Ç¤¢¤ë", "¤Ç¤¢¤Ã¤¿",buf); } #endif + if (Telepat) you_have("¥Æ¥ì¥Ñ¥·¡¼Ç½ÎÏ"); + if (Searching) you_have("õººÇ½ÎÏ"); + if (Teleportation) you_can("½Ö´Ö°ÜÆ°"); + if (Teleport_control) you_have("½Ö´Ö°ÜÆ°¤ÎÀ©¸æǽÎÏ"); + if (See_invisible) enl_msg(You_, "¸«¤ì¤ë", "¸«¤ì¤¿", "¸«¤¨¤Ê¤¤¤â¤Î¤ò"); + if (Invisible) you_are("Æ©ÌÀ"); + else if (Invis) you_are("¾¿Í¤ËÂФ·¤ÆÆ©ÌÀ"); + else if ((HInvis & I_BLOCKED) != 0L && + ((HInvis & ~I_BLOCKED) != 0L || pm_invisible(uasmon))) + you_are("¤Þ¤ë¸«¤¨"); + if (Fast) you_have((Fast & ~INTRINSIC) ? "¤È¤Æ¤âÁÇÁ᤯¹ÔÆ°¤¹¤ëǽÎÏ" : "ÁÇÁ᤯¹ÔÆ°¤¹¤ëǽÎÏ"); + if (Stealth) you_have("¿ÍÌܤòÅð¤àǽÎÏ"); + if (Regeneration) you_have("ºÆÀ¸Ç½ÎÏ"); + if (Hunger) enl_msg("¤¢¤Ê¤¿¤Ï¤¹¤°¤Ë", "Ê¢¤¬¸º¤ë", "Ê¢¤¬¸º¤Ã¤¿", ""); + if (Conflict) enl_msg("¤¢¤Ê¤¿¤Ï", "°ú¤­µ¯¤³¤·¤Æ¤¤¤ë","°ú¤­µ¯¤³¤·¤Æ¤¤¤¿","Æ®Áè¤ò"); + if (Aggravate_monster) enl_msg("¤¢¤Ê¤¿¤Ï","È¿´¶¤ò¤«¤Ã¤Æ¤¤¤ë","È¿´¶¤ò¤«¤Ã¤Æ¤¤¤¿",""); + if (Poison_resistance) you_have("ÆǤؤÎÂÑÀ­"); + if (Fire_resistance) you_have("²Ð¤Ø¤ÎÂÑÀ­"); + if (Cold_resistance) you_have("´¨¤µ¤Ø¤ÎÂÑÀ­"); + if (Shock_resistance) you_have("¥·¥ç¥Ã¥¯¤Ø¤ÎÂÑÀ­"); + if (Sleep_resistance) you_have("̲¤ê¤Ø¤ÎÂÑÀ­"); + if (Disint_resistance) you_have("Ê´ºÕ¤Ø¤ÎÂÑÀ­"); + if (Protection_from_shape_changers) + you_have("ÊѲ½²øʪ¤Ø¤ÎÂÑÀ­"); + if (Polymorph) enl_msg("¤¢¤Ê¤¿¤Ï","ÊѲ½¤·¤Æ¤¤¤ë","ÊѲ½¤·¤Æ¤¤¤¿",""); + if (Polymorph_control) you_have("ÊѲ½¤ÎÀ©¸æǽÎÏ"); + if (HHalluc_resistance) + you_have("¸¸³Ð¤Ø¤ÎÂÑÀ­"); + if (final) { + if (Hallucination) you_are("¸¸³Ð¾õÂÖ"); + if (Stunned) you_are("¤¯¤é¤¯¤é¾õÂÖ"); + if (Confusion) you_are("º®Íð¾õÂÖ"); + if (Sick) { + if (u.usick_type & SICK_VOMITABLE) + enl_msg("¤¢¤Ê¤¿¤Ï¿©ÃæÆǤǵ¤Ê¬¤¬", "°­¤¤", "°­¤«¤Ã¤¿", ""); + if (u.usick_type & SICK_NONVOMITABLE) + enl_msg("¤¢¤Ê¤¿¤Ïɵ¤¤Çµ¤Ê¬¤¬", "°­¤¤", "°­¤«¤Ã¤¿", ""); + } + if (Blinded) you_are("ÌÕÌÜ"); + } + if (Wounded_legs) { + Sprintf(buf, "¤¢¤Ê¤¿¤Ï%s¤òÉé½ý¤·¤Æ", makeplural(body_part(LEG))); + enl_msg(buf,"¤¤¤ë","¤¤¤¿",""); + } + if (Glib) { + Sprintf(buf, "%s¤¬¤Ì¤ë¤Ì¤ë¤·¤Æ", makeplural(body_part(FINGER))); + enl_msg(buf,"¤¤¤ë","¤¤¤¿",""); + } + if (Strangled) { + Sprintf(buf, "¤¢¤Ê¤¿¤Ï%s", (u.uburied) ? "Ã⩤·¤Æ" : "¼ó¤ò¹Ê¤á¤é¤ì¤Æ"); + enl_msg(buf,"¤¤¤ë","¤¤¤¿",""); + } + if (Stoned) you_are("Àв½¾õÂÖ"); + if (Lifesaved) + enl_msg("¤¢¤Ê¤¿¤ÎÀ¸Ì¿¤Ï","Êݸ¤µ¤ì¤Æ¤¤¤ë","Êݸ¤µ¤ì¤Æ¤¤¤¿",""); + if (Adornment) you_have("Áõ¾þÉÊ"); + if (Warning) enl_msg("¤¢¤Ê¤¿¤Ï","·Ù²üǽÎϤò»ý¤Ã¤Æ¤¤¤ë","·Ù²üǽÎϤò»ý¤Ã¤Æ¤¤¤¿",""); + if (Protection) enl_msg("¤¢¤Ê¤¿¤Ï","¼é¤é¤ì¤Æ¤¤¤ë","¼é¤é¤ì¤Æ¤¤¤¿",""); + if (Reflecting) you_have("È¿¼ÍǽÎÏ"); + if ((HLevitation & (I_SPECIAL|W_ARTI)) != 0L && + (HLevitation & ~(I_SPECIAL|W_ARTI|TIMEOUT)) == 0L && + !is_floater(uasmon)) enl_msg("¤¢¤Ê¤¿¤Ï¼«Ê¬¤Î°Õ»Ö¤ÇÉ⤤¤Æ", "¤¤¤ë", "¤¤¤¿", ""); + else if (Levitation) you_are("ÉâÍ·¾õÂÖ"); + else if (is_flyer(uasmon)) you_can("Èô¹Ô"); + if (Fumbling) enl_msg("¤¢¤Ê¤¿¤Ï¤è¤¯Êª¤ò","Í¤Æ¤¤¤ë","Í¤¿",""); + if (Jumping) you_can("Ä·Ìö"); + if (Wwalking) you_can("¿å¾åÊâ¹Ô"); + if (passes_walls(uasmon)) you_can("ÊɤòÄ̤ê¤Ì¤±¤ë¤³¤È¤¬"); + if (Breathless) you_can("¶õµ¤¤Ê¤·¤ÇÀ¸Â¸¤¹¤ë¤³¤È¤¬"); + else if (Amphibious) you_can("¿åÃæ¸ÆµÛ"); + if (Antimagic) you_have("ËâË¡ËɸæǽÎÏ"); + if (Displaced) you_have("¸¸±ÆǽÎÏ"); + if (Clairvoyant) you_have("ÀéΤ´ãǽÎÏ"); + if (u.ulycn >= LOW_PM) { + Strcpy(buf, jtrns_mon(mons[u.ulycn].mname, flags.female)); + you_are(buf); + } + if (Upolyd) { + if (u.ulycn >= LOW_PM) Strcpy(buf, "¤¢¤Ê¤¿¤Ï½Ã¤Î»Ñ¤ò¤·¤Æ"); + else Sprintf(buf, "¤¢¤Ê¤¿¤Ï%s¤ËÊѲ½¤·¤Æ", jtrns_mon(uasmon->mname, flags.female)); + #ifdef WIZARD + if (wizard) Sprintf(eos(buf), " (%d)", u.mtimedone); + #endif + enl_msg(buf, "¤¤¤ë", "¤¤¤¿", ""); + } + if (Luck) { + ltmp = abs((int)Luck); + Sprintf(buf, "%s%s", + ltmp >= 10 ? "ÌÔÎõ¤Ë" : ltmp >= 5 ? "¤È¤Æ¤â" : "", + Luck < 0 ? "ÉÔ¹¬" : "¹¬Ê¡"); + #ifdef WIZARD + if (wizard) Sprintf(eos(buf), "(%d)", Luck); + #endif + you_are(buf); + } + #ifdef WIZARD + else if (wizard) enl_msg("¤¢¤Ê¤¿¤Î±¿¤Ï¥¼¥í", "¤Ç¤¢¤ë", "¤Ç¤¢¤Ã¤¿", ""); + #endif + if (u.moreluck > 0) you_have("¤µ¤é¤Ê¤ë¹¬±¿"); + else if (u.moreluck < 0) you_have("¤µ¤é¤Ê¤ë°­±¿"); + if (carrying(LUCKSTONE) || stone_luck(TRUE)) { + ltmp = stone_luck(FALSE); + if (ltmp <= 0) + enl_msg("°­±¿¤Ï", "µî¤Ã¤Æ¤¤¤Ê¤¤", "µî¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿", ""); + if (ltmp >= 0) + enl_msg("¹¬±¿¤Ï", "µî¤Ã¤Æ¤¤¤Ê¤¤", "µî¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿", ""); + } + if (u.ugangr) { + Sprintf(buf, "%s¤Ï%sÅܤäÆ", u_gname(), + u.ugangr > 6 ? "ÌÔÎõ¤Ë" : u.ugangr > 3 ? "¤È¤Æ¤â" : ""); + if(final) + Strcat(buf, "¤¤¤¿"); + else + Strcat(buf, "¤¤¤ë"); + #ifdef WIZARD + if (wizard) Sprintf(eos(buf), "(%d)", u.ugangr); + #endif + enl_msg("", buf, buf, ""); + } else + /* + * We need to suppress this when the game is over, because death + * can change the value calculated by can_pray(), potentially + * resulting in a false claim that you could have prayed safely. + */ + if (!final) { + if(can_pray(FALSE)) + Sprintf(buf, "¤Ç¤­¤ë"); + else + Sprintf(buf, "¤Ç¤­¤Ê¤¤"); + #ifdef WIZARD + if (wizard) Sprintf(eos(buf), "(%d)", u.ublesscnt); + #endif + + enl_msg("¤¢¤Ê¤¿¤Ï", buf, buf, "°ÂÁ´¤Ëµ§¤ë¤³¤È¤¬"); + } + { + const char *p; + + buf[0] = '\0'; + if (final < 2) { /* still in progress, or quit/escaped/ascended */ + p = "»à¤ó¤À¸åÉü³è¤·¤Æ¤¿"; + switch (u.umortality) { + case 0: p = !final ? (char *)0 : "À¸¤­±ä¤Ó¤Æ¤¤¤¿"; break; + case 1: Strcpy(buf, "°ìÅÙ"); break; + case 2: Strcpy(buf, "ÆóÅÙ"); break; + case 3: Strcpy(buf, "»°ÅÙ"); break; + default: Sprintf(buf, "%d²ó", u.umortality); + break; + } + } else { /* game ended in character's death */ + p = "»à¤ó¤Ç¤¤¤ë"; + switch (u.umortality) { + case 0: impossible("dead without dying?"); + case 1: break; /* just "are dead" */ + default: Sprintf(buf, "(%d²ó¡ª)", u.umortality); + break; + } + } + if (p) enl_msg(You_, "»à¤ó¤Ç¤¤¤ë", p, buf); + } + + display_nhwindow(en_win, TRUE); + destroy_nhwindow(en_win); + return; + + #if 0 /*JP*/ if (Telepat) you_are("telepathic"); if (Searching) you_have("automatic searching"); if (Teleportation) you_can("teleport"); *************** *** 752,757 **** --- 973,979 ---- display_nhwindow(en_win, TRUE); destroy_nhwindow(en_win); return; + #endif /*JP*/ } STATIC_PTR int *************** *** 760,766 **** if (wizard || discover) enlightenment(0); else ! pline("Unavailable command '^X'."); return 0; } --- 982,989 ---- if (wizard || discover) enlightenment(0); else ! /*JP pline("Unavailable command '^X'.");*/ ! pline("'^X'¥³¥Þ¥ó¥É¤Ï»È¤¨¤Ê¤¤¡¥"); return 0; } *************** *** 849,855 **** {'r', FALSE, doread}, {'R', FALSE, doremring}, {M('r'), FALSE, dorub}, ! {'s', TRUE, dosearch, "searching"}, {'S', TRUE, dosave}, {M('s'), FALSE, dosit}, {'t', FALSE, dothrow}, --- 1072,1079 ---- {'r', FALSE, doread}, {'R', FALSE, doremring}, {M('r'), FALSE, dorub}, ! /*JP {'s', TRUE, dosearch, "searching"},*/ ! {'s', TRUE, dosearch, "Áܤ¹"}, {'S', TRUE, dosave}, {M('s'), FALSE, dosit}, {'t', FALSE, dothrow}, *************** *** 878,891 **** #ifdef SHELL {'!', TRUE, dosh}, #endif ! {'.', TRUE, donull, "waiting"}, ! {' ', TRUE, donull, "waiting"}, {',', FALSE, dopickup}, {':', TRUE, dolook}, {';', TRUE, doquickwhatis}, {'^', TRUE, doidtrap}, {'\\', TRUE, dodiscovered}, /* Robert Viduya */ {'@', TRUE, dotogglepickup}, {WEAPON_SYM, TRUE, doprwep}, {ARMOR_SYM, TRUE, doprarm}, {RING_SYM, TRUE, doprring}, --- 1102,1119 ---- #ifdef SHELL {'!', TRUE, dosh}, #endif ! /*JP {'.', TRUE, donull, "waiting"}, ! {' ', TRUE, donull, "waiting"},*/ ! {'.', TRUE, donull, "µÙ·Æ¤¹¤ë"}, ! {' ', TRUE, donull, "µÙ·Æ¤¹¤ë"}, {',', FALSE, dopickup}, {':', TRUE, dolook}, {';', TRUE, doquickwhatis}, {'^', TRUE, doidtrap}, {'\\', TRUE, dodiscovered}, /* Robert Viduya */ {'@', TRUE, dotogglepickup}, + /*JP*/ + {'`', TRUE, dotogglelang}, {WEAPON_SYM, TRUE, doprwep}, {ARMOR_SYM, TRUE, doprarm}, {RING_SYM, TRUE, doprring}, *************** *** 898,903 **** --- 1126,1132 ---- }; struct ext_func_tab extcmdlist[] = { + #if 0 /*JP*/ {"adjust", "adjust inventory letters", doorganize, TRUE}, {"chat", "talk to someone", dotalk, TRUE}, /* converse? */ {"dip", "dip an object into something", dodip, FALSE}, *************** *** 921,926 **** --- 1150,1179 ---- doextversion, TRUE}, {"wipe", "wipe off your face", dowipe, FALSE}, {"?", "get this list of extended commands", doextlist, TRUE}, + #endif /*JP*/ + + {"adjust", "»ý¤Áʪ°ìÍ÷¤ÎÄ´À°", doorganize, TRUE}, + {"chat", "狼¤ÈÏä¹", dotalk, TRUE}, /* converse? */ + {"dip", "²¿¤«¤Ëʪ¤ò¿»¤¹", dodip, FALSE}, + #ifdef WEAPON_SKILLS + {"enhance", "Éð´ï½ÏÎýÅÙ¤ò¹â¤á¤ë", enhance_weapon_skill, TRUE}, + #endif /* WEAPON_SKILLS */ + {"force", "¸°¤ò¤³¤¸¤¢¤±¤ë", doforce, FALSE}, + {"invoke", "ʪ¤ÎÆÃÊ̤ÊÎϤò»È¤¦", doinvoke, TRUE}, + {"jump", "¾¤Î°ÌÃÖ¤ËÈô¤Ó¤¦¤Ä¤ë", dojump, FALSE}, + {"loot", "¾²¤Î¾å¤ÎÈ¢¤ò³«¤±¤ë", doloot, TRUE}, + {"monster", "²øʪ¤ÎÆÃÊÌǽÎϤò»È¤¦", domonability, TRUE}, + {"name", "¥¢¥¤¥Æ¥à¤äʪ¤Ë̾Á°¤ò¤Ä¤±¤ë", ddocall, TRUE}, + {"offer", "¿À¤Ë¶¡Êª¤òÊû¤²¤ë", dosacrifice, FALSE}, + {"pray", "¿À¤Ëµ§¤ë", dopray, TRUE}, + {"rub", "¥é¥ó¥×¤ò¤³¤¹¤ë", dorub, FALSE}, + {"sit", "ºÂ¤ë", dosit, FALSE}, + {"turn", "¥¢¥ó¥Ç¥Ã¥È¤òÅÚ¤ËÊÖ¤¹", doturn, TRUE}, + {"untrap", "櫤ò¤Ï¤º¤¹", dountrap, FALSE}, + {"version", "¥³¥ó¥Ñ¥¤¥ë»þ¤Î¥ª¥×¥·¥ç¥ó¤òɽ¼¨¤¹¤ë", + doextversion, TRUE}, + {"wipe", "´é¤ò¿¡¤¦", dowipe, FALSE}, + {"?", "¤³¤Î³ÈÄ¥¥³¥Þ¥ó¥É°ìÍ÷¤òɽ¼¨¤¹¤ë", doextlist, TRUE}, #if defined(WIZARD) /* * There must be a blank entry here for every entry in the table *************** *** 1279,1285 **** if ((*cmd & 0xff) != (tlist->f_char & 0xff)) continue; if (u.uburied && !tlist->can_if_buried) { ! You_cant("do that while you are buried!"); res = 0; } else { /* we discard 'const' because some compilers seem to have --- 1532,1539 ---- if ((*cmd & 0xff) != (tlist->f_char & 0xff)) continue; if (u.uburied && !tlist->can_if_buried) { ! /*JP You_cant("do that while you are buried!");*/ ! You("Ëä¤Þ¤Ã¤Æ¤¤¤ë»þ¤Ë¤½¤ó¤Ê¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡ª"); res = 0; } else { /* we discard 'const' because some compilers seem to have *************** *** 1316,1322 **** } } *cp = '\0'; ! Norep("Unknown command '%s'.", expcmd); } /* didn't move */ flags.move = FALSE; --- 1570,1577 ---- } } *cp = '\0'; ! /*JP Norep("Unknown command '%s'.", expcmd);*/ ! Norep("'%s'¥³¥Þ¥ó¥É¡©", expcmd); } /* didn't move */ flags.move = FALSE; *************** *** 1377,1383 **** dirsym = readchar(); else #endif ! dirsym = yn_function (s ? s : "In what direction?", (char *)0, '\0'); #ifdef REDO savech(dirsym); --- 1632,1639 ---- dirsym = readchar(); else #endif ! /*JP dirsym = yn_function (s ? s : "In what direction?",*/ ! dirsym = yn_function (s ? s : "¤É¤ÎÊý¸þ¡©", (char *)0, '\0'); #ifdef REDO savech(dirsym); *************** *** 1386,1392 **** u.dx = u.dy = u.dz = 0; else if(!movecmd(dirsym) && !u.dz) { if(!index(quitchars, dirsym)) ! pline("What a strange direction!"); return 0; } if(!u.dz && (Stunned || (Confusion && !rn2(5)))) confdir(); --- 1642,1649 ---- u.dx = u.dy = u.dz = 0; else if(!movecmd(dirsym) && !u.dz) { if(!index(quitchars, dirsym)) ! /*JP pline("What a strange direction!");*/ ! pline("¤º¤¤¤Ö¤ó¤È´ñ̯¤ÊÊý¸þ¤À¡ª"); return 0; } if(!u.dz && (Stunned || (Confusion && !rn2(5)))) confdir(); *************** *** 1474,1480 **** if (multi < 0 || multi >= LARGEST_INT) multi = LARGEST_INT; if (multi > 9) { clear_nhwindow(WIN_MESSAGE); ! Sprintf(in_line, "Count: %d", multi); pline(in_line); mark_synch(); } --- 1731,1738 ---- if (multi < 0 || multi >= LARGEST_INT) multi = LARGEST_INT; if (multi > 9) { clear_nhwindow(WIN_MESSAGE); ! /*JP Sprintf(in_line, "Count: %d", multi);*/ ! Sprintf(in_line, "¿ô: %d", multi); pline(in_line); mark_synch(); } diff -c -r ../nethack-3.2.2/src/dbridge.c ./src/dbridge.c *** ../nethack-3.2.2/src/dbridge.c Fri Jun 21 02:24:53 1996 --- ./src/dbridge.c Tue Jul 22 23:18:12 1997 *************** *** 10,15 **** --- 10,22 ---- * deal with players as well. - 11/89 */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #ifdef OVLB *************** *** 300,306 **** e_nam(etmp) struct entity *etmp; { ! return(is_u(etmp)? "you" : mon_nam(etmp->emon)); } #ifdef D_DEBUG --- 307,314 ---- e_nam(etmp) struct entity *etmp; { ! /*JP return(is_u(etmp)? "you" : mon_nam(etmp->emon));*/ ! return(is_u(etmp)? "¤¢¤Ê¤¿" : mon_nam(etmp->emon)); } #ifdef D_DEBUG *************** *** 312,318 **** Enam(etmp) struct entity *etmp; { ! return(is_u(etmp)? "You" : Monnam(etmp->emon)); } #endif /* D_DEBUG */ --- 320,327 ---- Enam(etmp) struct entity *etmp; { ! /*JP return(is_u(etmp)? "You" : Monnam(etmp->emon));*/ ! return(is_u(etmp)? "¤¢¤Ê¤¿" : Monnam(etmp->emon)); } #endif /* D_DEBUG */ *************** *** 327,338 **** const char *verb; { static char wholebuf[80]; ! char verbbuf[30]; ! Strcpy(wholebuf, is_u(etmp) ? "You" : Monnam(etmp->emon)); if (!*verb) return(wholebuf); ! Strcat(wholebuf, " "); verbbuf[0] = '\0'; if (is_u(etmp)) Strcpy(verbbuf, verb); --- 336,350 ---- const char *verb; { static char wholebuf[80]; ! /* char verbbuf[30];*/ ! /*JP Strcpy(wholebuf, is_u(etmp) ? "You" : Monnam(etmp->emon));*/ ! Strcpy(wholebuf, is_u(etmp) ? "¤¢¤Ê¤¿" : Monnam(etmp->emon)); ! return wholebuf; ! #if 0 if (!*verb) return(wholebuf); ! Strcat(wholebuf, "¤Ï"); verbbuf[0] = '\0'; if (is_u(etmp)) Strcpy(verbbuf, verb); *************** *** 361,366 **** --- 373,379 ---- } Strcat(wholebuf, verbbuf); return(wholebuf); + #endif } /* *************** *** 402,414 **** coord xy; killer_format = KILLED_BY_AN; ! killer = "falling drawbridge"; done(how); /* So, you didn't die */ if (!e_survives_at(etmp, etmp->ex, etmp->ey)) { if (enexto(&xy, etmp->ex, etmp->ey, etmp->edata)) { ! pline("A %s force teleports you away...", ! Hallucination ? "normal" : "strange"); teleds(xy.x, xy.y); } /* otherwise on top of the drawbridge is the --- 415,430 ---- coord xy; killer_format = KILLED_BY_AN; ! /*JP killer = "falling drawbridge";*/ ! killer = "¹ß¤ê¤Æ¤­¤¿Ä·¤Í¶¶¤Ç"; done(how); /* So, you didn't die */ if (!e_survives_at(etmp, etmp->ex, etmp->ey)) { if (enexto(&xy, etmp->ex, etmp->ey, etmp->edata)) { ! /*JP pline("A %s force teleports you away...", ! Hallucination ? "normal" : "strange");*/ ! pline("%sÎϤ¬¤¢¤Ê¤¿¤ò±ó¤¯¤Ë±¿¤ó¤À¡¥¡¥¡¥", ! Hallucination ? "ÉáÄ̤Î" : "´ñ̯¤Ê"); teleds(xy.x, xy.y); } /* otherwise on top of the drawbridge is the *************** *** 536,549 **** if (automiss(etmp) && e_survives_at(etmp, oldx, oldy)) { if (e_inview && (at_portcullis || IS_DRAWBRIDGE(crm->typ))) ! pline_The("%s passes through %s!", at_portcullis ? "portcullis" : "drawbridge", e_nam(etmp)); return; } if (e_missed(etmp, FALSE)) { if (at_portcullis) ! pline_The("portcullis misses %s!", e_nam(etmp)); #ifdef D_DEBUG else --- 552,569 ---- if (automiss(etmp) && e_survives_at(etmp, oldx, oldy)) { if (e_inview && (at_portcullis || IS_DRAWBRIDGE(crm->typ))) ! /*JP pline_The("%s passes through %s!", at_portcullis ? "portcullis" : "drawbridge", + e_nam(etmp));*/ + pline_The("%s¤Ï%s¤òÄ̤êÈ´¤±¤¿¡ª", + at_portcullis ? "Í³Ê»Ò" : "Ä·¤Í¶¶", e_nam(etmp)); return; } if (e_missed(etmp, FALSE)) { if (at_portcullis) ! /*JP pline_The("portcullis misses %s!",*/ ! pline("Í³Ê»Ò¤Ï%s¤ËÌ¿Ã椷¤Ê¤«¤Ã¤¿¡ª", e_nam(etmp)); #ifdef D_DEBUG else *************** *** 563,569 **** } } else { if (crm->typ == DRAWBRIDGE_DOWN) { ! pline("%s crushed underneath the drawbridge.", E_phrase(etmp, "are")); /* no jump */ e_died(etmp, e_inview? 3 : 2, CRUSHING);/* no corpse */ return; /* Note: Beyond this point, we know we're */ --- 583,590 ---- } } else { if (crm->typ == DRAWBRIDGE_DOWN) { ! /*JP pline("%s crushed underneath the drawbridge.",*/ ! pline("%s¤ÏÄ·¤Í¶¶¤Î²¼Éߤˤʤä¿¡¥", E_phrase(etmp, "are")); /* no jump */ e_died(etmp, e_inview? 3 : 2, CRUSHING);/* no corpse */ return; /* Note: Beyond this point, we know we're */ *************** *** 579,588 **** #endif } else { if (e_inview) ! pline("%s crushed by the falling portcullis!", E_phrase(etmp, "are")); else if (flags.soundok) ! You_hear("a crushing sound."); e_died(etmp, e_inview? 3 : 2, CRUSHING); /* no corpse */ return; --- 600,611 ---- #endif } else { if (e_inview) ! /*JP pline("%s crushed by the falling portcullis!",*/ ! pline("%sÍî¤Á¤Æ¤­¤¿Í³Ê»Ò¤ËÄÙ¤µ¤ì¤¿¡ª", E_phrase(etmp, "are")); else if (flags.soundok) ! /*JP You_hear("a crushing sound.");*/ ! You("²¿¤«¤¬ÄÙ¤ì¤ë²»¤òʹ¤¤¤¿¡¥"); e_died(etmp, e_inview? 3 : 2, CRUSHING); /* no corpse */ return; *************** *** 678,695 **** #endif if (e_inview) { if (is_u(etmp)) { ! You("tumble towards the closed portcullis!"); if (automiss(etmp)) ! You("pass through it!"); else ! pline_The("drawbridge closes in..."); } else ! pline("%s behind the drawbridge.", E_phrase(etmp, "disappear")); } if (!e_survives_at(etmp, etmp->ex, etmp->ey)) { killer_format = KILLED_BY_AN; ! killer = "closing drawbridge"; e_died(etmp, 0, CRUSHING); /* no message */ return; } --- 701,723 ---- #endif if (e_inview) { if (is_u(etmp)) { ! /*JP You("tumble towards the closed portcullis!");*/ ! You("ÊĤޤ꤫¤±¤ÎÍ³Ê»Ò¤ò¤³¤í¤Ö¤è¤¦¤Ë¤¹¤ê¤Ì¤±¤¿¡ª"); if (automiss(etmp)) ! /*JP You("pass through it!");*/ ! You("Ä̤ê¤Ì¤±¤¿¡ª"); else ! /*JP pline_The("drawbridge closes in...");*/ ! pline_The("Ä·¤Í¶¶¤ÏÊĤ¸¤¿¡¥¡¥¡¥"); } else ! /*JP pline("%s behind the drawbridge.",*/ ! pline("%s¤ÏÄ·¤Í¶¶¤Î΢¤Ë°ÜÆ°¤·¤¿¡¥", E_phrase(etmp, "disappear")); } if (!e_survives_at(etmp, etmp->ex, etmp->ey)) { killer_format = KILLED_BY_AN; ! /*JP killer = "closing drawbridge";*/ ! killer = "ÊĤ¸¤Æ¤¤¤¯Ä·¤Í¶¶¤Ë¶¹¤Þ¤ì¤Æ"; e_died(etmp, 0, CRUSHING); /* no message */ return; } *************** *** 702,712 **** #endif if (is_pool(etmp->ex, etmp->ey) && !e_inview) if (flags.soundok) ! You_hear("a splash."); if (e_survives_at(etmp, etmp->ex, etmp->ey)) { if (e_inview && !is_flyer(etmp->edata) && !is_floater(etmp->edata)) ! pline("%s from the bridge.", E_phrase(etmp, "fall")); return; } --- 730,742 ---- #endif if (is_pool(etmp->ex, etmp->ey) && !e_inview) if (flags.soundok) ! /*JP You_hear("a splash.");*/ ! You("¥Ñ¥·¥ã¥Ñ¥·¥ã¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); if (e_survives_at(etmp, etmp->ex, etmp->ey)) { if (e_inview && !is_flyer(etmp->edata) && !is_floater(etmp->edata)) ! /*JP pline("%s from the bridge.",*/ ! pline("%s¤Ï¶¶¤«¤éÍî¤Á¤¿", E_phrase(etmp, "fall")); return; } *************** *** 719,734 **** boolean lava = is_lava(etmp->ex, etmp->ey); if (Hallucination) ! pline("%s the %s and disappears.", E_phrase(etmp, "drink"), ! lava ? "lava" : "moat"); else ! pline("%s into the %s.", E_phrase(etmp, "fall"), ! lava ? "lava" : "moat"); } ! killer_format = NO_KILLER_PREFIX; ! killer = "fell from a drawbridge"; e_died(etmp, e_inview ? 3 : 2, /* CRUSHING is arbitrary */ (is_pool(etmp->ex, etmp->ey)) ? DROWNING : (is_lava(etmp->ex, etmp->ey)) ? BURNING : --- 749,772 ---- boolean lava = is_lava(etmp->ex, etmp->ey); if (Hallucination) ! /*JP pline("%s the %s and disappears.", E_phrase(etmp, "drink"), ! lava ? "lava" : "moat");*/ ! pline("%s¤Ï%s¤ò°û¤ß¡¤¾Ã¤¨¤¿¡¥", ! E_phrase(etmp, "drink"), ! lava ? "ÍÏ´ä" : "ËÙ"); else ! /*JP pline("%s into the %s.", ! E_phrase(etmp, "fall"), ! lava ? "lava" : "moat");*/ ! pline("%s¤Ï%s¤ÎÃæ¤ËÍî¤Á¤¿¡¥", E_phrase(etmp, "fall"), ! lava ? "ÍÏ´ä" : "ËÙ"); } ! /*JP killer_format = NO_KILLER_PREFIX;*/ ! killer_format = KILLED_BY; ! /*JP killer = "fell from a drawbridge";*/ ! killer = "Ä·¤Í¶¶¤«¤éÍî¤Á¤Æ"; e_died(etmp, e_inview ? 3 : 2, /* CRUSHING is arbitrary */ (is_pool(etmp->ex, etmp->ey)) ? DROWNING : (is_lava(etmp->ex, etmp->ey)) ? BURNING : *************** *** 754,762 **** x2 = x; y2 = y; get_wall_for_db(&x2,&y2); if (cansee(x,y) || cansee(x2,y2)) ! You("see a drawbridge %s up!", (((u.ux == x || u.uy == y) && !Underwater) || ! distu(x2,y2) < distu(x,y)) ? "coming" : "going"); lev1->typ = DRAWBRIDGE_UP; lev2 = &levl[x2][y2]; lev2->typ = DBWALL; --- 792,801 ---- x2 = x; y2 = y; get_wall_for_db(&x2,&y2); if (cansee(x,y) || cansee(x2,y2)) ! /*JP You("see a drawbridge %s up!", (((u.ux == x || u.uy == y) && !Underwater) || ! distu(x2,y2) < distu(x,y)) ? "coming" : "going");*/ ! You("Ä·¤Í¶¶¤¬ÊĤ¸¤Æ¤¤¤¯¤Î¤ò¸«¤¿¡ª"); lev1->typ = DRAWBRIDGE_UP; lev2 = &levl[x2][y2]; lev2->typ = DBWALL; *************** *** 777,783 **** set_entity(x2, y2, &(occupants[1])); /* do_entity for worm tail */ do_entity(&(occupants[1])); if(OBJ_AT(x,y) && flags.soundok) ! You_hear("smashing and crushing."); (void) revive_nasty(x,y,(char *)0); (void) revive_nasty(x2,y2,(char *)0); delallobj(x, y); --- 816,823 ---- set_entity(x2, y2, &(occupants[1])); /* do_entity for worm tail */ do_entity(&(occupants[1])); if(OBJ_AT(x,y) && flags.soundok) ! /*JP You_hear("smashing and crushing.");*/ ! You("¥¬¥·¥ã¥ó¡¤¥¬¥é¥ó¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); (void) revive_nasty(x,y,(char *)0); (void) revive_nasty(x2,y2,(char *)0); delallobj(x, y); *************** *** 806,813 **** x2 = x; y2 = y; get_wall_for_db(&x2,&y2); if (cansee(x,y) || cansee(x2,y2)) ! You("see a drawbridge %s down!", ! (distu(x2,y2) < distu(x,y)) ? "going" : "coming"); lev1->typ = DRAWBRIDGE_DOWN; lev2 = &levl[x2][y2]; lev2->typ = DOOR; --- 846,854 ---- x2 = x; y2 = y; get_wall_for_db(&x2,&y2); if (cansee(x,y) || cansee(x2,y2)) ! /*JP You("see a drawbridge %s down!", ! (distu(x2,y2) < distu(x,y)) ? "going" : "coming");*/ ! You("Ä·¤Í¶¶¤¬³«¤¯¤Î¤ò¸«¤¿¡ª"); lev1->typ = DRAWBRIDGE_DOWN; lev2 = &levl[x2][y2]; lev2->typ = DOOR; *************** *** 853,880 **** boolean lava = (lev1->drawbridgemask & DB_UNDER) == DB_LAVA; if (lev1->typ == DRAWBRIDGE_UP) { if (cansee(x2,y2)) ! pline_The("portcullis of the drawbridge falls into the %s!", ! lava ? "lava" : "moat"); else if (flags.soundok) ! You_hear("a loud *SPLASH*!"); } else { if (cansee(x,y)) ! pline_The("drawbridge collapses into the %s!", ! lava ? "lava" : "moat"); else if (flags.soundok) ! You_hear("a loud *SPLASH*!"); } lev1->typ = lava ? LAVAPOOL : MOAT; lev1->drawbridgemask = 0; if ((otmp = sobj_at(BOULDER,x,y)) != 0) { obj_extract_self(otmp); ! (void) flooreffects(otmp,x,y,"fall"); } } else { if (cansee(x,y)) ! pline_The("drawbridge disintegrates!"); else ! You_hear("a loud *CRASH*!"); lev1->typ = ((lev1->drawbridgemask & DB_ICE) ? ICE : ROOM); lev1->icedpool = --- 894,930 ---- boolean lava = (lev1->drawbridgemask & DB_UNDER) == DB_LAVA; if (lev1->typ == DRAWBRIDGE_UP) { if (cansee(x2,y2)) ! /*JP pline_The("portcullis of the drawbridge falls into the %s!", ! lava ? "lava" : "moat");*/ ! pline("Ä·¤Í¶¶¤ÎÍ³Ê»Ò¤¬%s¤ËÍî¤Á¤¿¡ª", ! lava ? "ÍÏ´ä" : "ËÙ"); else if (flags.soundok) ! /*JP You_hear("a loud *SPLASH*!");*/ ! You("Â礭¤Ê¥Ð¥Ã¥·¥ã¡¼¥ó¤È¤¤¤¦²»¤òʹ¤¤¤¿¡ª"); } else { if (cansee(x,y)) ! /*JP pline_The("drawbridge collapses into the %s!", ! lava ? "lava" : "moat");*/ ! pline("Ä·¤Í¶¶¤Ï%s¤Ë¤¯¤º¤ìÍî¤Á¤¿¡ª", ! lava ? "ÍÏ´ä" : "ËÙ"); else if (flags.soundok) ! /*JP You_hear("a loud *SPLASH*!");*/ ! You("Â礭¤Ê¥Ð¥Ã¥·¥ã¡¼¥ó¤È¤¤¤¦²»¤òʹ¤¤¤¿¡ª"); } lev1->typ = lava ? LAVAPOOL : MOAT; lev1->drawbridgemask = 0; if ((otmp = sobj_at(BOULDER,x,y)) != 0) { obj_extract_self(otmp); ! /*JP (void) flooreffects(otmp,x,y,"fall");*/ ! (void) flooreffects(otmp,x,y,"Íî¤Á¤ë"); } } else { if (cansee(x,y)) ! /*JP pline_The("drawbridge disintegrates!");*/ ! pline("Ä·¤Í¶¶¤Ï¤³¤Ê¤´¤Ê¤Ë¤Ê¤Ã¤¿¡ª"); else ! /*JP You_hear("a loud *CRASH*!");*/ ! You("Â礭¤Ê¥¬¥·¥ã¡¼¥ó¤È¤¤¤¦²»¤òʹ¤¤¤¿¡ª"); lev1->typ = ((lev1->drawbridgemask & DB_ICE) ? ICE : ROOM); lev1->icedpool = *************** *** 895,904 **** e_inview = e_canseemon(etmp2); if (!automiss(etmp2)) { if (e_inview) ! pline("%s blown apart by flying debris.", E_phrase(etmp2, "are")); killer_format = KILLED_BY_AN; ! killer = "exploding drawbridge"; e_died(etmp2, e_inview? 3 : 2, CRUSHING); /*no corpse*/ } /* nothing which is vulnerable can survive this */ } --- 945,956 ---- e_inview = e_canseemon(etmp2); if (!automiss(etmp2)) { if (e_inview) ! /*JP pline("%s blown apart by flying debris.",*/ ! pline("%s¤ÏÈô¤Ó»¶¤Ã¤¿´¤ãª¤ÎÇËÊÒ¤òÍá¤Ó¤¿¡¥", E_phrase(etmp2, "are")); killer_format = KILLED_BY_AN; ! /*JP killer = "exploding drawbridge";*/ ! killer = "Ä·¤Í¶¶¤ÎÇúȯ¤Ç"; e_died(etmp2, e_inview? 3 : 2, CRUSHING); /*no corpse*/ } /* nothing which is vulnerable can survive this */ } *************** *** 912,925 **** } else { if (e_inview) { if (!is_u(etmp1) && Hallucination) ! pline("%s into some heavy metal", E_phrase(etmp1, "get")); else ! pline("%s hit by a huge chunk of metal!", E_phrase(etmp1, "are")); } else { if (flags.soundok && !is_u(etmp1) && !is_pool(x,y)) ! You_hear("a crushing sound."); #ifdef D_DEBUG else pline("%s from shrapnel", --- 964,980 ---- } else { if (e_inview) { if (!is_u(etmp1) && Hallucination) ! /*JP pline("%s into some heavy metal",*/ ! pline("%s¤Ï¤¤¤¯¤Ä¤«¤Î½Å¶â°¤ò¼õ¤±¤¿¡¥", E_phrase(etmp1, "get")); else ! /*JP pline("%s hit by a huge chunk of metal!",*/ ! pline("Â礭¤ÊÅ´¤Î²ô¤¬%s¤ËÌ¿Ã椷¤¿¡ª", E_phrase(etmp1, "are")); } else { if (flags.soundok && !is_u(etmp1) && !is_pool(x,y)) ! /*JP You_hear("a crushing sound.");*/ ! You_hear("¥¬¥é¥ó¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); #ifdef D_DEBUG else pline("%s from shrapnel", *************** *** 927,933 **** #endif } killer_format = KILLED_BY_AN; ! killer = "collapsing drawbridge"; e_died(etmp1, e_inview? 3 : 2, CRUSHING); /*no corpse*/ if(lev1->typ == MOAT) do_entity(etmp1); } --- 982,989 ---- #endif } killer_format = KILLED_BY_AN; ! /*JP killer = "collapsing drawbridge";*/ ! killer = "¥Ð¥é¥Ð¥é¤Ë¤Ê¤Ã¤¿Ä·¤Í¶¶¤Ç"; e_died(etmp1, e_inview? 3 : 2, CRUSHING); /*no corpse*/ if(lev1->typ == MOAT) do_entity(etmp1); } diff -c -r ../nethack-3.2.2/src/decl.c ./src/decl.c *** ../nethack-3.2.2/src/decl.c Sat Dec 28 21:53:37 1996 --- ./src/decl.c Tue Jul 22 23:18:12 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" int NDECL((*afternmv)); *************** *** 178,186 **** --- 185,198 ---- NEARDATA struct obj zeroobj = DUMMY; /* monster pronouns, index is return value of gender(mtmp) */ + #if 0 /*JP*/ const char *he[3] = { "he", "she", "it" }; const char *him[3] = { "him", "her", "it" }; const char *his[3] = { "his", "her", "its" }; + #endif + const char *he[3] = { "Èà", "Èà½÷", "¤½¤ì" }; + const char *him[3] = { "Èà", "Èà½÷", "¤½¤ì" }; + const char *his[3] = { "Èà", "Èà½÷", "¤½¤ì" }; /* originally from dog.c */ NEARDATA char dogname[PL_PSIZ] = DUMMY; *************** *** 194,209 **** NEARDATA struct mvitals mvitals[NUMMONS]; NEARDATA struct c_color_names c_color_names = { ! "black", "amber", "golden", "light blue", "red", "green", "silver", "blue", "purple", ! "white" }; struct c_common_strings c_common_strings = { ! "Nothing happens.", "That's enough tries!", "That is a silly thing to %s.", "shudder for a moment.", ! "something", "Something", "You can move again." }; /* Vision */ --- 206,228 ---- NEARDATA struct mvitals mvitals[NUMMONS]; NEARDATA struct c_color_names c_color_names = { ! /*JP "black", "amber", "golden", "light blue", "red", "green", "silver", "blue", "purple", ! "white"*/ ! "¹õ¤¤", "àèàῧ¤Î", "¶â¿§¤Î", ! "¿å¿§¤Î", "ÀÖ¤¤", "Î理Î", ! "¶ä¿§¤Î", "ÀĤ¤", "»ç¿§¤Î", ! "Çò¤¤" }; struct c_common_strings c_common_strings = { ! /*JP "Nothing happens.", "That's enough tries!", "That is a silly thing to %s.", "shudder for a moment.", ! "something", "Something", "You can move again."*/ ! "²¿¤âµ¯¤­¤Ê¤«¤Ã¤¿¡¥", "¤¤¤¤²Ã¸º¤Ë¤·¤í¡ª", ! "%s¡©¤½¤ê¤ã¤Ð¤«¤²¤Æ¤¤¤ë¡¥", "°ì½Ö¿Ì¤¨¤¿¡¥", ! "²¿¤«", "²¿¤«", "¤Þ¤¿Æ°¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥" }; /* Vision */ *************** *** 218,224 **** --- 237,247 ---- struct tc_gbl_data tc_gbl_data = { 0,0, 0,0 }; /* AS,AE, LI,CO */ #ifdef TOURIST + #ifdef FIGHTER + const char *pl_classes = "ABCEFHKPRSTVW"; + #else const char *pl_classes = "ABCEHKPRSTVW"; + #endif #else const char *pl_classes = "ABCEHKPRSVW"; #endif diff -c -r ../nethack-3.2.2/src/detect.c ./src/detect.c *** ../nethack-3.2.2/src/detect.c Sat Dec 28 21:53:37 1996 --- ./src/detect.c Tue Jul 22 23:18:12 1997 *************** *** 7,12 **** --- 7,19 ---- * command. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1996 + ** changing point is marked `JP' (96/7/21) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "artifact.h" *************** *** 144,155 **** if (!known) { /* no gold found */ ! if (sobj) strange_feeling(sobj, "You feel materially poor."); return(1); } /* only under me - no separate display required */ if (stale) docrt(); ! You("notice some gold between your %s.", makeplural(body_part(FOOT))); return(0); outgoldmap: --- 151,164 ---- if (!known) { /* no gold found */ ! /*JP if (sobj) strange_feeling(sobj, "You feel materially poor.");*/ ! if (sobj) strange_feeling(sobj, "¤¢¤Ê¤¿¤Ï¤Ò¤â¤¸¤µ¤ò´¶¤¸¤¿¡¥"); return(1); } /* only under me - no separate display required */ if (stale) docrt(); ! /*JPYou("notice some gold between your %s.", makeplural(body_part(FOOT)));*/ ! You("%s¤Î´Ö¤Ë¿ô¥´¡¼¥ë¥É¤¢¤ë¤Î¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥", makeplural(body_part(FOOT))); return(0); outgoldmap: *************** *** 182,188 **** } newsym(u.ux,u.uy); ! You_feel("very greedy, and sense gold!"); exercise(A_WIS, TRUE); display_nhwindow(WIN_MAP, TRUE); docrt(); --- 191,198 ---- } newsym(u.ux,u.uy); ! /*JP You_feel("very greedy, and sense gold!");*/ ! You("¤É¤óÍߤˤʤ俤褦¤Êµ¤¤¬¤·¤¿¡¤¤½¤·¤Æ¥´¡¼¥ë¥É¤Î°ÌÃÖ¤ò´¶ÃΤ·¤¿¡ª"); exercise(A_WIS, TRUE); display_nhwindow(WIN_MAP, TRUE); docrt(); *************** *** 203,209 **** register int ct = 0, ctu = 0; boolean confused = (Confusion || (sobj && sobj->cursed)), stale; char oclass = confused ? POTION_CLASS : FOOD_CLASS; ! const char *what = confused ? something : "food"; int uw = u.uinwater; stale = clear_stale_map(oclass); --- 213,220 ---- register int ct = 0, ctu = 0; boolean confused = (Confusion || (sobj && sobj->cursed)), stale; char oclass = confused ? POTION_CLASS : FOOD_CLASS; ! /*JP const char *what = confused ? something : "food";*/ ! const char *what = confused ? "¥Ï¥é¥Ø¥ê" : "¿©¤Ùʪ"; int uw = u.uinwater; stale = clear_stale_map(oclass); *************** *** 224,236 **** known = stale && !confused; if (stale) { docrt(); ! You("sense a lack of %s nearby.", what); } else if (sobj) ! strange_feeling(sobj, "Your nose twitches."); return !stale; } else if (!ct) { known = TRUE; ! You("%s %s nearby.", sobj ? "smell" : "sense", what); } else { struct obj *temp; known = TRUE; --- 235,250 ---- known = stale && !confused; if (stale) { docrt(); ! /*JP You("sense a lack of %s nearby.", what);*/ ! You("%s¤¬¸º¤Ã¤Æ¤¤¤ë¤Î¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥",what); } else if (sobj) ! /*JP strange_feeling(sobj, "Your nose twitches.");*/ ! strange_feeling(sobj, "¤¢¤Ê¤¿¤ÎÉ¡¤¬¤Ô¤¯¤Ã¤ÈÆ°¤¤¤¿¡¥"); return !stale; } else if (!ct) { known = TRUE; ! /*JP You("%s %s nearby.", sobj ? "smell" : "sense", what);*/ ! You("¶á¤¯¤Î%s¤ò%s¡¥", what, sobj ? "Ó̤®¤Ä¤±¤¿" : "´¶ÃΤ·¤¿"); } else { struct obj *temp; known = TRUE; *************** *** 253,260 **** break; /* skip rest of this monster's inventory */ } newsym(u.ux,u.uy); ! if (sobj) Your("nose tingles and you smell %s.", what); ! else You("sense %s.", what); display_nhwindow(WIN_MAP, TRUE); exercise(A_WIS, TRUE); docrt(); --- 267,276 ---- break; /* skip rest of this monster's inventory */ } newsym(u.ux,u.uy); ! /*JP if (sobj) Your("nose tingles and you smell %s.", what);*/ ! if (sobj) Your("É¡¤Ï¤¦¤º¤¦¤º¤·¡¤%s¤ÎÆ÷¤¤¤òÓ̤®¤È¤Ã¤¿¡¥",what); ! /*JP else You("sense %s.", what);*/ ! else You("%s¤ò´¶ÃΤ·¤¿¡¥", what); display_nhwindow(WIN_MAP, TRUE); exercise(A_WIS, TRUE); docrt(); *************** *** 292,300 **** } if (Hallucination || (Confusion && class == SCROLL_CLASS)) ! stuff = something; else ! stuff = class ? oclass_names[class] : "objects"; if (do_dknown) for(obj = invent; obj; obj = obj->nobj) do_dknown_of(obj); --- 308,318 ---- } if (Hallucination || (Confusion && class == SCROLL_CLASS)) ! /*JP stuff = something;*/ ! stuff = "¥¢¥ë¥â¥Î"; else ! /*JP stuff = class ? oclass_names[class] : "objects";*/ ! stuff = class ? oclass_names[class] : "ʪÂÎ"; if (do_dknown) for(obj = invent; obj; obj = obj->nobj) do_dknown_of(obj); *************** *** 331,341 **** if (!clear_stale_map(!class ? ALL_CLASSES : class) && !ct) { if (!ctu) { if (detector) ! strange_feeling(detector, "You feel a lack of something."); return 1; } ! You("sense %s nearby.", stuff); return 0; } --- 349,361 ---- if (!clear_stale_map(!class ? ALL_CLASSES : class) && !ct) { if (!ctu) { if (detector) ! /*JP strange_feeling(detector, "You feel a lack of something.");*/ ! strange_feeling(detector, "¤¢¤Ê¤¿¤Ï²¿¤«¤¬·ç˳¤·¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); return 1; } ! /*JP You("sense %s nearby.", stuff);*/ ! You("¶á¤¯¤Î%s¤ò´¶ÃΤ·¤¿¡¥", stuff); return 0; } *************** *** 412,418 **** } newsym(u.ux,u.uy); ! You("detect the %s of %s.", ct ? "presence" : "absence", stuff); display_nhwindow(WIN_MAP, TRUE); /* * What are we going to do when the hero does an object detect while blind --- 432,439 ---- } newsym(u.ux,u.uy); ! /*JP You("detect the %s of %s.", ct ? "presence" : "absence", stuff);*/ ! You("%s%s¡¥", stuff, ct ? "¤òȯ¸«¤·¤¿" : "¤Ï²¿¤â¤Ê¤¤¤³¤È¤¬¤ï¤«¤Ã¤¿" ); display_nhwindow(WIN_MAP, TRUE); /* * What are we going to do when the hero does an object detect while blind *************** *** 442,449 **** if (!fmon) { if (otmp) strange_feeling(otmp, Hallucination ? ! "You get the heebie jeebies." : ! "You feel threatened."); return 1; } else { boolean woken = FALSE; --- 463,472 ---- if (!fmon) { if (otmp) strange_feeling(otmp, Hallucination ? ! /*JP "You get the heebie jeebies." : ! "You feel threatened.");*/ ! "¤¢¤Ê¤¿¤Ï¶âÄ»¤Î²Æ¤Ç¥­¥ó¥Á¥ç¡¼¤·¤¿¡¥" : ! "¤¢¤Ê¤¿¤Ï¶²ÉݤǤ¾¤¯¤¾¤¯¤·¤¿¡¥"); return 1; } else { boolean woken = FALSE; *************** *** 461,469 **** } } display_self(); ! You("sense the presence of monsters."); if (woken) ! pline("Monsters sense the presence of you."); display_nhwindow(WIN_MAP, TRUE); docrt(); if (Underwater) under_water(2); --- 484,494 ---- } } display_self(); ! /*JP You("sense the presence of monsters.");*/ ! You("²øʪ¤Î¸ºß¤òÓ̤®¤Ä¤±¤¿¡¥"); if (woken) ! /*JP pline("Monsters sense the presence of you.");*/ ! pline("²øʪ¤Ï¤¢¤Ê¤¿¤Î¸ºß¤òÓ̤®¤Ä¤±¤¿¡¥"); display_nhwindow(WIN_MAP, TRUE); docrt(); if (Underwater) under_water(2); *************** *** 539,550 **** } if (!found) { char buf[42]; ! Sprintf(buf, "Your %s stop itching.", makeplural(body_part(TOE))); strange_feeling(sobj,buf); return(1); } /* traps exist, but only under me - no separate display required */ ! Your("%s itch.", makeplural(body_part(TOE))); return(0); outtrapmap: cls(); --- 564,578 ---- } if (!found) { char buf[42]; ! /*JP Sprintf(buf, "Your %s stop itching.", makeplural(body_part(TOE)));*/ ! Sprintf(buf, "¤¢¤Ê¤¿¤Î%s¤Î¤«¤æ¤ß¤Ï¤ª¤µ¤Þ¤Ã¤¿¡¥", makeplural(body_part(TOE))); ! strange_feeling(sobj,buf); return(1); } /* traps exist, but only under me - no separate display required */ ! /*JP Your("%s itch.", makeplural(body_part(TOE)));*/ ! Your("%s¤Ï¤à¤º¤à¤º¤·¤¿¡¥", makeplural(body_part(TOE))); return(0); outtrapmap: cls(); *************** *** 564,570 **** } newsym(u.ux,u.uy); ! You_feel("%s.", sobj && sobj->cursed ? "very greedy" : "entrapped"); display_nhwindow(WIN_MAP, TRUE); docrt(); u.uinwater = uw; --- 592,599 ---- } newsym(u.ux,u.uy); ! /*JP You("feel %s.", sobj && sobj->cursed ? "very greedy" : "entrapped");*/ ! You("%sµ¤»ý¤Ë¤Ê¤Ã¤¿¡¥", sobj && sobj->cursed ? "¤È¤Æ¤â¤É¤óÍߤÊ" : "¤À¤Þ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ê"); display_nhwindow(WIN_MAP, TRUE); docrt(); u.uinwater = uw; *************** *** 582,618 **** if (ll < 0) { if (ll < (-8 - rn2(3))) ! if (!indun) return "far away"; ! else return "far below"; else if (ll < -1) ! if (!indun) return "away below you"; ! else return "below you"; else ! if (!indun) return "in the distance"; ! else return "just below"; } else if (ll > 0) { if (ll > (8 + rn2(3))) ! if (!indun) return "far away"; ! else return "far above"; else if (ll > 1) ! if (!indun) return "away above you"; ! else return "above you"; else ! if (!indun) return "in the distance"; ! else return "just above"; } else ! if (!indun) return "in the distance"; ! else return "near you"; } static struct { const char *what; d_level *where; } level_detects[] = { ! { "Delphi", &oracle_level }, { "Medusa's lair", &medusa_level }, { "a castle", &stronghold_level }, ! { "the Wizard of Yendor's tower", &wiz1_level }, }; void --- 611,666 ---- if (ll < 0) { if (ll < (-8 - rn2(3))) ! /*JP if (!indun) return "far away"; ! else return "far below";*/ ! if (!indun) return "¤Ï¤ë¤«ÈàÊý¤Ë"; ! else return "¤Ï¤ë¤«²¼Êý¤Ë"; else if (ll < -1) ! /*JP if (!indun) return "away below you"; ! else return "below you";*/ ! if (!indun) return "¤º¤Ã¤È²¼Êý¤Ë"; ! else return "²¼Êý¤Ë"; else ! /*JP if (!indun) return "in the distance"; ! else return "just below";*/ ! if (!indun) return "±ó¤¯¤Ë"; ! else return "¿¿²¼¤Ë"; } else if (ll > 0) { if (ll > (8 + rn2(3))) ! /*JP if (!indun) return "far away"; ! else return "far above";*/ ! if (!indun) return "¤Ï¤ë¤«ÈàÊý¤Ë"; ! else return "¤Ï¤ë¤«¾åÊý¤Ë"; else if (ll > 1) ! /*JP if (!indun) return "away above you"; ! else return "above you";*/ ! if (!indun) return "¤º¤Ã¤È¾åÊý¤Ë"; ! else return "¾åÊý¤Ë"; else ! /*JP if (!indun) return "in the distance"; ! else return "just above";*/ ! if (!indun) return "±ó¤¯¤Ë"; ! else return "¿¿¾å¤Ë"; ! } else ! /*JP if (!indun) return "in the distance"; ! else return "near you";*/ ! if (!indun) return "±ó¤¯¤Ë"; ! else return "¶á¤¯¤Ë"; } static struct { const char *what; d_level *where; } level_detects[] = { ! /*JP { "Delphi", &oracle_level }, { "Medusa's lair", &medusa_level }, { "a castle", &stronghold_level }, ! { "the Wizard of Yendor's tower", &wiz1_level },*/ ! { "¥Ç¥ë¥Õ¥¡¥¤", &oracle_level }, ! { "¥á¥Ç¥å¡¼¥µ¤Î½»¤ß¤«", &medusa_level }, ! { "¾ë", &stronghold_level }, ! { "¥¤¥§¥ó¥À¡¼¤ÎÅã", &wiz1_level }, }; void *************** *** 624,654 **** const char *bname = xname(obj); if (Blind) { ! pline("Too bad you can't see %s", the(bname)); return; } oops = (rnd(20) > ACURR(A_INT) || obj->cursed); if (oops && (obj->spe > 0)) { switch (rnd(obj->oartifact ? 4 : 5)) { ! case 1 : pline("%s is too much to comprehend!", The(bname)); break; ! case 2 : pline("%s confuses you!", The(bname)); make_confused(HConfusion + rnd(100),FALSE); break; case 3 : if (!resists_blnd(&youmonst)) { ! pline("%s damages your vision!", The(bname)); make_blinded(Blinded + rnd(100),FALSE); } else { ! pline("%s assaults your vision.", The(bname)); ! You("are unaffected!"); } break; ! case 4 : pline("%s zaps your mind!", The(bname)); make_hallucinated(HHallucination + rnd(100),FALSE,0L); break; ! case 5 : pline("%s explodes!", The(bname)); useup(obj); ! losehp(rnd(30), "exploding crystal ball", KILLED_BY_AN); break; } check_unpaid(obj); --- 672,711 ---- const char *bname = xname(obj); if (Blind) { ! /*JP pline("Too bad you can't see %s", the(bname));*/ ! pline("¤Ê¤ó¤Æ¤³¤È¤À¡¥%s¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥", the(bname)); return; } oops = (rnd(20) > ACURR(A_INT) || obj->cursed); if (oops && (obj->spe > 0)) { switch (rnd(obj->oartifact ? 4 : 5)) { ! /*JP case 1 : pline("%s is too much to comprehend!", The(bname));*/ ! case 1 : pline("%s¤òÇÁ¤¤¤¿¤¬²¿¤Î¤³¤È¤À¤«¤µ¤Ã¤Ñ¤ê¤ï¤«¤é¤Ê¤«¤Ã¤¿¡ª", The(bname)); break; ! /*JP case 2 : pline("%s confuses you!", The(bname));*/ ! case 2 : pline("%s¤òÇÁ¤¤¤Æ¤ë¤È¤Õ¤é¤Ä¤¤¤¿¤­¤¿¡ª", The(bname)); make_confused(HConfusion + rnd(100),FALSE); break; case 3 : if (!resists_blnd(&youmonst)) { ! /*JP pline("%s damages your vision!", The(bname));*/ ! pline("%s¤òÇÁ¤¤¤Æ¤¤¤ë¤È»ë³Ð¤¬¤ª¤«¤·¤¯¤Ê¤Ã¤¿¤­¤¿¡ª", The(bname)); make_blinded(Blinded + rnd(100),FALSE); } else { ! /*JP pline("%s assaults your vision.", The(bname)); ! You("are unaffected!");*/ ! pline("%s¤¬¤¢¤Ê¤¿¤Î»ë³¦¤ËÇ÷¤Ã¤Æ¤­¤¿¡¥", The(bname)); ! pline("¤¬¡¤¤¢¤Ê¤¿¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡ª"); } break; ! /*JP case 4 : pline("%s zaps your mind!", The(bname));*/ ! case 4 : pline("%s¤òÇÁ¤¤¤Æ¤¤¤ë¤È¸Þ´¶¤¬¤ª¤«¤·¤¯¤Ê¤Ã¤Æ¤­¤¿¡ª", The(bname)); make_hallucinated(HHallucination + rnd(100),FALSE,0L); break; ! /*JP case 5 : pline("%s explodes!", The(bname));*/ ! case 5 : pline("%s¤ÏÇúȯ¤·¤¿¡ª", The(bname)); useup(obj); ! /*JP losehp(rnd(30), "exploding crystal ball", KILLED_BY_AN);*/ ! losehp(rnd(30), "¿å¾½¶Ì¤ÎÇúȯ¤Ç", KILLED_BY_AN); break; } check_unpaid(obj); *************** *** 658,679 **** if (Hallucination) { if (!obj->spe) { ! pline("All you see is funky %s haze.", hcolor((char *)0)); } else { ! switch(rnd(6)) { ! case 1 : You("grok some groovy globs of incandescent lava."); break; ! case 2 : pline("Whoa! Psychedelic colors, %s!", ! poly_gender() == 1 ? "babe" : "dude"); break; ! case 3 : pline_The("crystal pulses with sinister %s light!", hcolor((char *)0)); break; ! case 4 : You("see goldfish swimming above fluorescent rocks."); break; ! case 5 : You("see tiny snowflakes spinning around a miniature farmhouse."); break; ! default: pline("Oh wow... like a kaleidoscope!"); break; } check_unpaid(obj); --- 715,793 ---- if (Hallucination) { if (!obj->spe) { ! /*JP pline("All you see is funky %s haze.", hcolor((char *)0));*/ ! pline("¤ª¤ª¡ª¥Õ¥¡¥ó¥­¡¼¥â¥ó¥­¡¼¤Ê%s¤â¤ä¤¬¸«¤¨¤ë¡¥", hcolor((char *)0)); } else { ! switch(rnd(8)) { ! /*JP case 1 : You("grok some groovy globs of incandescent lava.");*/ ! case 1 : You("¿åÌç¤Î¸°¤ò¤â¤Ã¤¿¿å¸Í²«Ì礬ÊɤαƤ˱£¤ì¤Æ¤¤¤ë¤Î¤ò¸«¤¿¡¥"); break; ! /*JP case 2 : pline("Whoa! Psychedelic colors, %s!", ! poly_gender() == 1 ? "babe" : "dude");*/ ! case 2 : pline("¥ï¡¼¥ª¡ª¥é¥ê¤Ã¤Æ¤ë¤«¤¤¡©%s¡ª", ! poly_gender() == 1 ? "¥Ù¥¤¥Ó¡¼" : "¥æ¡¼"); break; ! /*JP case 3 : pline_The("crystal pulses with sinister %s light!",*/ ! case 3 : pline("¿å¾½¤ÏÉԵȤÊ%s¥Ñ¥ë¥¹¤òȯ¤·¤¿¡ª", hcolor((char *)0)); break; ! /*JP case 4 : You("see goldfish swimming above fluorescent rocks.");*/ ! case 4 : You("·Ö¸÷´ä¤Î¾å¤ò¶âµû¤¬±Ë¤¤¤Ç¤¤¤ë¤Î¤ò¸«¤¿¡¥"); ! break; ! /*JP case 5 : You("see tiny snowflakes spinning around a miniature farmhouse.");*/ ! case 5 : You("¾®¤µ¤¤ÀãÊÒ¤¬¥ß¥Ë¥Á¥å¥¢¤ÎÇÀ²È¤Î²È¤Î¤Þ¤ï¤ê¤òÉñ¤Ã¤Æ¤ë¤Î¤ò¸«¤¿¡¥"); ! break; ! case 6 : You("¼¡¤ÎÌ̤ÎÊõÈ¢¤Î°ÌÃÖ¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤¿¡¥"); ! break; ! case 7 : ! switch(rnd(20)){ ! /* ˺¤ì¤Æ¤Ê¤¤¤è¤Ê¡© */ ! case 0: ! pline("Æ£ºê»í¿¥¤¬´ÑÍ÷¼Ö¤Ç¿Ì¤¨¤Æ¤¤¤ë»Ñ¤¬¸«¤¨¤¿¡¥"); ! break; ! case 1: ! pline("À¶Àî˾¤¬¥É¡¼¥Ð¡¼³¤¶®¤ò±Ë¤¤¤ÇÅϤäƤ¤¤ë»Ñ¤¬¸«¤¨¤¿¡¥"); ! break; ! case 2: ! pline("ɳ½ï·ëÆब¿¿¡¦À¤³¦À¬Éþ¥í¥Ü¤òÀ½ºî¤·¤Æ¤¤¤ë»Ñ¤¬¸«¤¨¤¿¡¥"); ! break; ! case 3: ! pline("ÆúÌ´õ¤¬¤ªÊÛÅö¤òºî¤Ã¤Æ¤¤¤ë»Ñ¤¬¸«¤¨¤¿¡¥"); ! break; ! case 4: ! pline("ÊҶͺ̻Ҥ¬¥«¥é¥ª¥±¤ÇÀ侧¤·¤Æ¤¤¤ë»Ñ¤¬¸«¤¨¤¿¡¥"); ! break; ! case 5: ! pline("Ä«ÆüÆàͼ»Ò¤¬¿¦°÷¼¼¤Ë¸Æ¤Ð¤ì¤Æ¤¤¤ë»Ñ¤¬¸«¤¨¤¿¡¥"); break; ! case 6: ! pline("´ÛÎÓ¸«À²¤¬Éô³è¤Î±þ±ç¤ËÍè¤Æ¤¯¤ì¤¿»Ñ¤¬¸«¤¨¤¿¡¥"); break; ! case 7: ! pline("¶ÀÌ¥Í夬¥ª¥Ð¥±²°Éߤǿ̤¨¤Æ¤¤¤ë»Ñ¤¬¸«¤¨¤¿¡¥"); ! break; ! case 8: ! pline("Áá²µ½÷Í¥Èþ¤¬¡Ø¥×¥í¥ì¥¹¤À¤¡¡ª¥¦¥©¥¦¥©¡¼¡Ù¤ÈÀ侧¤·¤Æ¤¤¤ë»Ñ¤¬¸«¤¨¤¿¡¥"); ! break; ! case 9: ! pline("Èþ¼ù¸¶°¦¤¬¤ª±î¤Ë¸«¤È¤ì¤Æ¤¤¤ë»Ñ¤¬¸«¤¨¤¿¡¥"); ! break; ! case 10: ! pline("¸Å¼°¤æ¤«¤ê¤¬¿å²´Û¤Ç¿å¤ò¤«¤Ö¤Ã¤Æ¤¤¤ë»Ñ¤¬¸«¤¨¤¿¡¥"); ! break; ! case 11: ! pline("Ç¡·î̤½ï¤¬¿Þ½ñ´Û¤ÇÆɽñ¤·¤Æ¤¤¤ë»Ñ¤¬¸«¤¨¤¿¡¥"); ! break; ! case 12: ! pline("Áá²µ½÷¹¥Íº¤¬½÷¤Î»Ò¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¤¤ë»Ñ¤¬¸«¤¨¤¿¡¥"); ! break; ! default: ! pline("°Ë½¸±¡¥ì¥¤¤¬¹â¾Ð¤¤¤·¤Æ¤¤¤ë»Ñ¤¬¸«¤¨¤¿¡¥"); ! break; ! } ! break; ! /*JP default: pline("Oh wow... like a kaleidoscope!");*/ ! default: pline("¥ï¡¼¥ª¡¥Ëü²Ú¶À¤Î¤è¤¦¤À¡ª"); break; } check_unpaid(obj); *************** *** 683,699 **** } /* read a single character */ ! if (flags.verbose) You("may look for an object or monster symbol."); ! ch = yn_function("What do you look for?", (char *)0, '\0'); if (index(quitchars,ch)) { ! if (flags.verbose) pline("Never mind."); return; } ! You("peer into %s...", the(bname)); nomul(-rnd(10)); nomovemsg = ""; if (obj->spe <= 0) ! pline_The("vision is unclear."); else { int class; int ret = 0; --- 797,819 ---- } /* read a single character */ ! /*JP if (flags.verbose) You("may look for an object or monster symbol."); ! ch = yn_function("What do you look for?", (char *)0, '\0');*/ ! if (flags.verbose) You("ʪÂΤä²øʪ¤Îµ­¹æ¤òõ¤»¤ë¡¥"); ! ch = yn_function("²¿¤òõ¤·¤Þ¤¹¤«¡©", (char *)0, '\0'); ! if (index(quitchars,ch)) { ! /*JP if (flags.verbose) pline("Never mind.");*/ ! if (flags.verbose) pline("¤Ø¡©"); return; } ! /*JP You("peer into %s...", the(bname));*/ ! You("%s¤òÇÁ¤­¤³¤ó¤À¡¥¡¥¡¥", the(bname)); nomul(-rnd(10)); nomovemsg = ""; if (obj->spe <= 0) ! /*JP pline_The("vision is unclear.");*/ ! pline("±ÇÁü¤ÏÉÔÁ¯ÌÀ¤Ë¤Ê¤Ã¤¿¡¥"); else { int class; int ret = 0; *************** *** 713,719 **** default: { int i = rn2(SIZE(level_detects)); ! You("see %s, %s.", level_detects[i].what, level_distance(level_detects[i].where)); } --- 833,840 ---- default: { int i = rn2(SIZE(level_detects)); ! /*JP You("see %s, %s.",*/ ! You("%s¤ò%s¸«¤¿¡¥", level_detects[i].what, level_distance(level_detects[i].where)); } *************** *** 723,730 **** if (ret) { if (!rn2(100)) /* make them nervous */ ! You("see the Wizard of Yendor gazing out at you."); ! else pline_The("vision is unclear."); } } return; --- 844,853 ---- if (ret) { if (!rn2(100)) /* make them nervous */ ! /*JP You("see the Wizard of Yendor gazing out at you.");*/ ! You("¥¤¥§¥ó¥À¡¼¤ÎËâË¡»È¤¤¤¬¤¢¤Ê¤¿¤òâˤó¤Ç¤¤¤ë¤Î¤ò¸«¤¿¡¥"); ! /*JP else pline_The("vision is unclear.");*/ ! else pline("±ÇÁü¤ÏÉÔÁ¯ÌÀ¤Ë¤Ê¤Ã¤¿¡¥"); } } return; *************** *** 881,891 **** if(levl[zx][zy].typ == SDOOR) cvt_sdoor_to_door(&levl[zx][zy]); /* .typ = DOOR */ if(levl[zx][zy].doormask & D_TRAPPED) { ! if(distu(zx, zy) < 3) b_trapped("door", 0); ! else Norep("You %s an explosion!", cansee(zx, zy) ? "see" : (flags.soundok ? "hear" : ! "feel the shock of")); wake_nearto(zx, zy, 11*11); levl[zx][zy].doormask = D_NODOOR; } else --- 1004,1019 ---- if(levl[zx][zy].typ == SDOOR) cvt_sdoor_to_door(&levl[zx][zy]); /* .typ = DOOR */ if(levl[zx][zy].doormask & D_TRAPPED) { ! /*JP if(distu(zx, zy) < 3) b_trapped("door", 0);*/ ! if(distu(zx, zy) < 3) b_trapped("Èâ", 0); ! /*JP else Norep("You %s an explosion!", cansee(zx, zy) ? "see" : (flags.soundok ? "hear" : ! "feel the shock of"));*/ ! else Norep("¤¢¤Ê¤¿¤ÏÇúȯ%s¡ª", ! cansee(zx, zy) ? "¤ò¸«¤¿" : ! (flags.soundok ? "²»¤òʹ¤¤¤¿" : ! "¤Î¾×·â¤ò´¶¤¸¤¿")); wake_nearto(zx, zy, 11*11); levl[zx][zy].doormask = D_NODOOR; } else *************** *** 926,933 **** if(u.uswallow) { if (is_animal(u.ustuck->data)) { ! if (Blind) pline("Its mouth opens!"); ! else pline("%s opens its mouth!", Monnam(u.ustuck)); } expels(u.ustuck, u.ustuck->data, TRUE); return(-1); --- 1054,1063 ---- if(u.uswallow) { if (is_animal(u.ustuck->data)) { ! /*JP if (Blind) pline("Its mouth opens!");*/ ! if (Blind) pline("²¿¼Ô¤«¤Î¸ý¤¬³«¤¤¤¿¡ª"); ! /*JP else pline("%s opens its mouth!", Monnam(u.ustuck));*/ ! else pline("%s¤Ï¸ý¤ò³«¤¤¤¿¡ª", Monnam(u.ustuck)); } expels(u.ustuck, u.ustuck->data, TRUE); return(-1); *************** *** 956,962 **** if(u.uswallow) { if (!aflag) ! pline("What are you looking for? The exit?"); } else { int fund = (uwep && uwep->oartifact && spec_ability(uwep, SPFX_SEARCH)) ? --- 1086,1093 ---- if(u.uswallow) { if (!aflag) ! /*JP pline("What are you looking for? The exit?");*/ ! pline("²¿¤òõ¤¹¤ó¤À¤¤¡©Èó¾ï¸ý¡©"); } else { int fund = (uwep && uwep->oartifact && spec_ability(uwep, SPFX_SEARCH)) ? *************** *** 989,997 **** seemimic(mtmp); exercise(A_WIS, TRUE); if (!canspotmon(mtmp)) ! You_feel("an invisible monster!"); else ! You("find %s.", a_monnam(mtmp)); return(1); } if(mtmp->mundetected && --- 1120,1130 ---- seemimic(mtmp); exercise(A_WIS, TRUE); if (!canspotmon(mtmp)) ! /*JP You_feel("an invisible monster!");*/ ! You("Æ©ÌÀ¤Ê²øʪ¤Îµ¤ÇÛ¤ò´¶¤¸¤¿¡ª"); else ! /*JP You("find %s.", a_monnam(mtmp));*/ ! You("%s¤ò¸«¤Ä¤±¤¿¡¥", a_monnam(mtmp)); return(1); } if(mtmp->mundetected && *************** *** 1000,1008 **** newsym(x,y); exercise(A_WIS, TRUE); if (!canspotmon(mtmp)) ! You_feel("an invisible monster!"); else ! You("find %s.", a_monnam(mtmp)); return(1); } } --- 1133,1143 ---- newsym(x,y); exercise(A_WIS, TRUE); if (!canspotmon(mtmp)) ! /*JP You_feel("an invisible monster!");*/ ! You("Æ©ÌÀ¤Ê²øʪ¤Îµ¤ÇÛ¤ò´¶¤¸¤¿¡ª"); else ! /*JP You("find %s.", a_monnam(mtmp));*/ ! You("%s¤ò¸«¤Ä¤±¤¿¡¥", a_monnam(mtmp)); return(1); } } *************** *** 1015,1024 **** exercise(A_WIS, TRUE); return(1); } else { ! You("find %s.", an(defsyms[ trap_to_defsym(Hallucination ? rn1(TRAPNUM-3, 2) : ! trap->ttyp)].explanation)); trap->tseen = 1; exercise(A_WIS, TRUE); if(Blind) --- 1150,1163 ---- exercise(A_WIS, TRUE); return(1); } else { ! /*JP You("find %s.", an(defsyms[ ! trap_to_defsym(Hallucination ? ! rn1(TRAPNUM-3, 2) : ! trap->ttyp)].explanation));*/ ! You("%s¤òȯ¸«¤·¤¿¡¥", jtrns_obj('^', (defsyms[ trap_to_defsym(Hallucination ? rn1(TRAPNUM-3, 2) : ! trap->ttyp)].explanation))); trap->tseen = 1; exercise(A_WIS, TRUE); if(Blind) diff -c -r ../nethack-3.2.2/src/dig.c ./src/dig.c *** ../nethack-3.2.2/src/dig.c Sat Dec 28 21:53:37 1996 --- ./src/dig.c Tue Jul 22 23:18:13 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1996 + ** changing point is marked `JP' (94/7/16) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "edog.h" /* #define DEBUG /* turn on for diagnostics */ *************** *** 83,91 **** register xchar i; register boolean waslit = rm_waslit(); ! if(rockit) pline("Crash! The ceiling collapses around you!"); ! else pline("A mysterious force %s cave around you!", ! (levl[u.ux][u.uy].typ == CORR) ? "creates a" : "extends the"); display_nhwindow(WIN_MESSAGE, TRUE); for(dist = 1; dist <= 2; dist++) { --- 90,101 ---- register xchar i; register boolean waslit = rm_waslit(); ! /*JP if(rockit) pline("Crash! The ceiling collapses around you!");*/ ! if(rockit) pline("¤²¤²¤ó¡ª¤¢¤Ê¤¿¤Î¤Þ¤ï¤ê¤ÎÅ·°æ¤¬Êø¤ì¤¿¡ª"); ! /*JP else pline("A mysterious force %s cave around you!", ! (levl[u.ux][u.uy].typ == CORR) ? "creates a" : "extends the");*/ ! else pline("¿ÀÈëŪ¤ÊÎϤˤè¤ê¤¢¤Ê¤¿¤Î¤Þ¤ï¤ê%s¡ª", ! (levl[u.ux][u.uy].typ == CORR) ? "¤Ëƶ·¢¤¬¤Ç¤­¤¿" : "¤Îƶ·¢¤¬¹­¤¬¤Ã¤¿"); display_nhwindow(WIN_MESSAGE, TRUE); for(dist = 1; dist <= 2; dist++) { *************** *** 143,173 **** --- 153,205 ---- if (On_stairs(x, y)) { if (x == xdnladder || x == xupladder) { + /*JP if(verbose) pline_The("ladder resists your effort."); } else if(verbose) pline_The("stairs are too hard to dig in."); + */ + if(verbose) pline("Äô»Ò¤¬¼ÙËâ¤ò¤·¤¿¡¥"); + } else if(verbose) pline("³¬ÃʤϤȤƤâ¸Ç¤¯¤Æ·¡¤ì¤Ê¤¤¡¥"); return(FALSE); } else if (IS_THRONE(levl[x][y].typ) && madeby != BY_OBJECT) { + /*JP if(verbose) pline_The("throne is too hard to break apart."); + */ + if(verbose) pline("¶ÌºÂ¤Ï¤È¤Æ¤â¸Ç¤¯¤ÆºÕ¤±¤Ê¤¤¡¥"); return(FALSE); } else if (IS_ALTAR(levl[x][y].typ) && (madeby != BY_OBJECT || Is_astralevel(&u.uz) || Is_sanctum(&u.uz))) { + /*JP if(verbose) pline_The("altar is too hard to break apart."); + */ + if(verbose) pline_The("º×ÃŤϤȤƤâ¸Ç¤¯¤ÆºÕ¤±¤Ê¤¤¡¥"); return(FALSE); } else if (Is_airlevel(&u.uz)) { + /*JP if(verbose) You("cannot dig in thin air."); + */ + if(verbose) You("²¿¤â¤Ê¤¤¶õ´Ö¤Ï·¡¤ì¤Ê¤¤¡¥"); return(FALSE); } else if (Is_waterlevel(&u.uz)) { + /*JP if(verbose) pline_The("water splashes and subsides."); + */ + if(verbose) pline("¿å¤¬¥Ô¥·¥ã¥Ã¤ÈÄ·¤Í¤¿¡¥"); return(FALSE); } else if ((IS_WALL(levl[x][y].typ) && (levl[x][y].wall_info & W_NONDIGGABLE) != 0) || (ttmp && (ttmp->ttyp == MAGIC_PORTAL || !Can_dig_down(&u.uz)))) { + /*JP if(verbose) pline_The("%s here is too hard to dig in.", + */ + if(verbose) pline("%s¤Ï¤È¤Æ¤â¸Ç¤¯¤Æ·¡¤ì¤Ê¤¤¡¥", surface(x,y)); return(FALSE); } else if (sobj_at(BOULDER, x, y)) { + /*JP if(verbose) pline("There isn't enough room to dig here."); + */ + if(verbose) pline("·ê¤ò·¡¤ì¤ë¤À¤±¤Î¹­¤µ¤¬¤Ê¤¤¡¥"); return(FALSE); } else if (madeby == BY_OBJECT && /* the block against existing traps is mainly to *************** *** 198,223 **** if(!dig_check(BY_YOU, TRUE, u.ux, u.uy)) return(0); } else { /* !digging.down */ if (IS_ROCK(lev->typ) && !may_dig(dpx,dpy) && !dig_typ(dpx, dpy)) { ! pline("This wall is too hard to dig into."); return(0); } } if(Fumbling && !rn2(3)) { switch(rn2(3)) { case 0: if(!welded(uwep)) { ! You("fumble and drop your %s.", xname(uwep)); dropx(uwep); setuwep((struct obj *)0); } else { ! pline("Ouch! Your %s bounces and hits you!", xname(uwep)); set_wounded_legs(RIGHT_SIDE, 5 + rnd(5)); } break; ! case 1: pline("Bang! You hit with the broad side of %s!", the(xname(uwep))); break; ! default: Your("swing misses its mark."); break; } return(0); --- 230,260 ---- if(!dig_check(BY_YOU, TRUE, u.ux, u.uy)) return(0); } else { /* !digging.down */ if (IS_ROCK(lev->typ) && !may_dig(dpx,dpy) && !dig_typ(dpx, dpy)) { ! /*JP pline("This wall is too hard to dig into.");*/ ! pline("¤³¤ÎÊɤϤȤƤâ¸Ç¤¯¤Æ·¡¤ì¤Ê¤¤¡¥"); return(0); } } if(Fumbling && !rn2(3)) { switch(rn2(3)) { case 0: if(!welded(uwep)) { ! /*JP You("fumble and drop your %s.", xname(uwep));*/ ! You("¼ê¤¬³ê¤ê%s¤òÍ¤¿¡¥", xname(uwep)); dropx(uwep); setuwep((struct obj *)0); } else { ! /*JP pline("Ouch! Your %s bounces and hits you!",*/ ! pline("¤¤¤Æ¤Ã¡ª%s¤ÏÄ·¤Í¤«¤¨¤ê¤¢¤Ê¤¿¤ËÌ¿Ã椷¤¿¡ª", xname(uwep)); set_wounded_legs(RIGHT_SIDE, 5 + rnd(5)); } break; ! /*JP case 1: pline("Bang! You hit with the broad side of %s!",*/ ! case 1: pline("¥Ð¥ó¡ª%s¤ÎÊÁ¤ÇÂǤäƤ·¤Þ¤Ã¤¿¡ª", the(xname(uwep))); break; ! /*JP default: Your("swing misses its mark.");*/ ! default: You("ÁÀ¤¤¤òÄê¤á¤Æ¿¶¤ê¤ª¤í¤·¤¿¤¬¶õ¿¶¤·¤¿¡¥"); break; } return(0); *************** *** 259,265 **** if ((obj = sobj_at(STATUE, dpx, dpy)) != 0) { if (break_statue(obj)) ! digtxt = "The statue shatters."; else /* it was a statue trap; break_statue() * printed a message and updated the screen --- 296,303 ---- if ((obj = sobj_at(STATUE, dpx, dpy)) != 0) { if (break_statue(obj)) ! /*JP digtxt = "The statue shatters.";*/ ! digtxt = "ĦÁü¤Ï¤³¤Ê¤´¤Ê¤Ë¤Ê¤Ã¤¿¡¥"; else /* it was a statue trap; break_statue() * printed a message and updated the screen *************** *** 267,273 **** digtxt = (char *)0; } else if ((obj = sobj_at(BOULDER, dpx, dpy)) != 0) { fracture_rock(obj); ! digtxt = "The boulder falls apart."; } else if (lev->typ == STONE || lev->typ == SCORR) { if(Is_earthlevel(&u.uz)) { if(uwep->blessed && !rn2(3)) { --- 305,312 ---- digtxt = (char *)0; } else if ((obj = sobj_at(BOULDER, dpx, dpy)) != 0) { fracture_rock(obj); ! /*JP digtxt = "The boulder falls apart.";*/ ! digtxt = "´ä¤Ï¤³¤Ê¤´¤Ê¤Ë¤Ê¤Ã¤¿¡¥"; } else if (lev->typ == STONE || lev->typ == SCORR) { if(Is_earthlevel(&u.uz)) { if(uwep->blessed && !rn2(3)) { *************** *** 280,290 **** } } lev->typ = CORR; ! digtxt = "You succeed in cutting away some rock."; } else if(IS_WALL(lev->typ)) { if(shopedge) { add_damage(dpx, dpy, 10L * ACURRSTR); ! dmgtxt = "damage"; } if (level.flags.is_maze_lev) { lev->typ = ROOM; --- 319,331 ---- } } lev->typ = CORR; ! /*JP digtxt = "You succeed in cutting away some rock.";*/ ! digtxt = "´ä¤ò¾¯¤·ÀÚ¤ê¤È¤Ã¤¿¡¥"; } else if(IS_WALL(lev->typ)) { if(shopedge) { add_damage(dpx, dpy, 10L * ACURRSTR); ! /*JP dmgtxt = "damage";*/ ! dmgtxt = "½ý¤Ä¤±¤ë"; } if (level.flags.is_maze_lev) { lev->typ = ROOM; *************** *** 294,310 **** --- 335,363 ---- lev->typ = DOOR; lev->doormask = D_NODOOR; } + /*JP digtxt = "You make an opening in the wall."; + */ + digtxt = "Êɤ˷ê¤ò¶õ¤±¤¿¡¥"; } else if(lev->typ == SDOOR) { cvt_sdoor_to_door(lev); /* ->typ = DOOR */ + /*JP digtxt = "You break through a secret door!"; + */ + digtxt = "ÈëÌ©¤ÎÈâ¤òÄ̤êÈ´¤±¤¿¡ª"; if(!(lev->doormask & D_TRAPPED)) lev->doormask = D_BROKEN; } else if(closed_door(dpx, dpy)) { + /*JP digtxt = "You break through the door."; + */ + digtxt = "Èâ¤òÄ̤êÈ´¤±¤¿¡¥"; if(shopedge) { add_damage(dpx, dpy, 400L); + /*JP dmgtxt = "break"; + */ + dmgtxt = "²õ¤¹"; } if(!(lev->doormask & D_TRAPPED)) lev->doormask = D_BROKEN; *************** *** 332,342 **** dpx, dpy, NO_MM_FLAGS); break; } ! if(mtmp) pline_The("debris from your digging comes to life!"); } if(IS_DOOR(lev->typ) && (lev->doormask & D_TRAPPED)) { lev->doormask = D_NODOOR; ! b_trapped("door", 0); newsym(dpx, dpy); } cleanup: --- 385,396 ---- dpx, dpy, NO_MM_FLAGS); break; } ! /*JP if(mtmp) pline_The("debris from your digging comes to life!");*/ ! if(mtmp) pline("´ä¤ÎÇËÊÒ¤¬À¸Ì¿¤òÂÓ¤Ó¤¿¡ª"); } if(IS_DOOR(lev->typ) && (lev->doormask & D_TRAPPED)) { lev->doormask = D_NODOOR; ! b_trapped("Èâ", 0); newsym(dpx, dpy); } cleanup: *************** *** 345,364 **** return(0); } else { /* not enough effort has been spent yet */ static const char *d_target[4] = { ! "rock", "statue", "boulder", "door" }; int dig_target = dig_typ(dpx, dpy); if (IS_WALL(lev->typ) || dig_target == 3) { if(*in_rooms(dpx, dpy, SHOPBASE)) { ! pline("This %s seems too hard to dig into.", ! IS_DOOR(lev->typ) ? "door" : "wall"); return(0); } } else if (!IS_ROCK(lev->typ) && !dig_target) return(0); /* statue or boulder got taken */ if(!did_dig_msg) { ! You("hit the %s with all your might.", d_target[dig_target]); did_dig_msg = TRUE; } --- 399,423 ---- return(0); } else { /* not enough effort has been spent yet */ static const char *d_target[4] = { ! /*JP "rock", "statue", "boulder", "door"*/ ! "ÀÐ", "ĦÁü", "´ä", "Èâ" }; int dig_target = dig_typ(dpx, dpy); if (IS_WALL(lev->typ) || dig_target == 3) { if(*in_rooms(dpx, dpy, SHOPBASE)) { ! /*JP pline("This %s seems too hard to dig into.", ! IS_DOOR(lev->typ) ? "door" : "wall");*/ ! pline("¤³¤Î%s¤Ï¤È¤Æ¤â¸Ç¤¯¤Æ·¡¤ì¤Ê¤¤¡¥", ! IS_DOOR(lev->typ) ? "Èâ" : "ÊÉ"); return(0); } } else if (!IS_ROCK(lev->typ) && !dig_target) return(0); /* statue or boulder got taken */ if(!did_dig_msg) { ! /*JP You("hit the %s with all your might.", ! d_target[dig_target]);*/ ! You("%s¤òÎÏ°ìÇÕÂǤÁ¤Ä¤±¤¿¡¥", d_target[dig_target]); did_dig_msg = TRUE; } *************** *** 459,470 **** if (ttyp == PIT) { if(madeby_u) { ! You("dig a pit in the %s.", surface_type); if (shopdoor) pay_for_damage("ruin"); } else if (!madeby_obj && canseemon(madeby)) ! pline("%s digs a pit in the %s.", Monnam(madeby), surface_type); else if (cansee(x, y) && flags.verbose) ! pline("A pit appears in the %s.", surface_type); if(at_u) { if (!wont_fall) { --- 518,532 ---- if (ttyp == PIT) { if(madeby_u) { ! /*JP You("dig a pit in the %s.", surface_type);*/ ! You("%s¤ËÍ·ê¤ò·¡¤Ã¤¿¡¥", surface_type); if (shopdoor) pay_for_damage("ruin"); } else if (!madeby_obj && canseemon(madeby)) ! /*JP pline("%s digs a pit in the %s.", Monnam(madeby), surface_type);*/ ! pline("%s¤Ï%s¤ËÍ·ê¤ò·¡¤Ã¤¿¡¥", Monnam(madeby), surface_type); else if (cansee(x, y) && flags.verbose) ! /*JP pline("A pit appears in the %s.", surface_type);*/ ! pline("Í·ê¤¬%s¤Ë¸½¤ï¤ì¤¿¡¥", surface_type); if(at_u) { if (!wont_fall) { *************** *** 478,502 **** } else if(mtmp) { if(is_flyer(mtmp->data) || is_floater(mtmp->data)) { if(canseemon(mtmp)) ! pline("%s %s over the pit.", Monnam(mtmp), (is_flyer(mtmp->data)) ? ! "flies" : "floats"); } else if(mtmp != madeby) (void) mintrap(mtmp); } } else { /* was TRAPDOOR now a HOLE*/ if(madeby_u) ! You("dig a hole through the %s.", surface_type); else if(!madeby_obj && canseemon(madeby)) ! pline("%s digs a hole through the %s.", Monnam(madeby), surface_type); else if(cansee(x, y) && flags.verbose) ! pline("A hole appears in the %s.", surface_type); if (at_u) { if (!u.ustuck && !wont_fall && !next_to_u()) { ! You("are jerked back by your pet!"); wont_fall = TRUE; } --- 540,571 ---- } else if(mtmp) { if(is_flyer(mtmp->data) || is_floater(mtmp->data)) { if(canseemon(mtmp)) ! /*JP pline("%s %s over the pit.", Monnam(mtmp), ! (is_flyer(mtmp->data)) ? ! "flies" : "floats");*/ ! pline("%s¤Ï%sÍ·ê¤ò±Û¤¨¤¿¡¥", Monnam(mtmp), (is_flyer(mtmp->data)) ? ! "Èô¤ó¤Ç" : "É⤤¤Æ"); } else if(mtmp != madeby) (void) mintrap(mtmp); } } else { /* was TRAPDOOR now a HOLE*/ if(madeby_u) ! /*JP You("dig a hole through the %s.", surface_type);*/ ! You("%s¤Ë·ê¤ò³«¤±¤¿¡¥", surface_type); else if(!madeby_obj && canseemon(madeby)) ! /*JP pline("%s digs a hole through the %s.",*/ ! pline("%s¤Ï%s¤Ë·ê¤ò³«¤±¤¿¡¥", Monnam(madeby), surface_type); else if(cansee(x, y) && flags.verbose) ! /*JP pline("A hole appears in the %s.", surface_type);*/ ! pline("·ê¤¬%s¤Ë¸½¤ï¤ì¤¿¡¥", surface_type); if (at_u) { if (!u.ustuck && !wont_fall && !next_to_u()) { ! /*JP You("are jerked back by your pet!");*/ ! You("¥Ú¥Ã¥È¤Ë¤è¤Ã¤Æ°ú¤­Ìᤵ¤ì¤¿¡ª"); wont_fall = TRUE; } *************** *** 509,515 **** impact_drop((struct obj *)0, x, y, 0); if (oldobjs != newobjs) pickup(1); ! if (shopdoor && madeby_u) pay_for_damage("ruin"); } else { d_level newlevel; --- 578,585 ---- impact_drop((struct obj *)0, x, y, 0); if (oldobjs != newobjs) pickup(1); ! /*JP if (shopdoor && madeby_u) pay_for_damage("ruin");*/ ! if (shopdoor && madeby_u) pay_for_damage("¤á¤Á¤ã¤á¤Á¤ã¤Ë¤¹¤ë"); } else { d_level newlevel; *************** *** 517,523 **** if (*u.ushops && madeby_u) shopdig(1); /* shk might snatch pack */ ! You("fall through..."); /* Earlier checks must ensure that the destination * level exists and is in the present dungeon. */ --- 587,594 ---- if (*u.ushops && madeby_u) shopdig(1); /* shk might snatch pack */ ! /*JP You("fall through...");*/ ! You("Íî¤Á¤¿¡¥¡¥¡¥"); /* Earlier checks must ensure that the destination * level exists and is in the present dungeon. */ *************** *** 526,532 **** goto_level(&newlevel, FALSE, TRUE, FALSE); } } else { ! if (shopdoor && madeby_u) pay_for_damage("ruin"); if (newobjs) impact_drop((struct obj *)0, x, y, 0); if (mtmp) { --- 597,604 ---- goto_level(&newlevel, FALSE, TRUE, FALSE); } } else { ! /*JP if (shopdoor && madeby_u) pay_for_damage("ruin");*/ ! if (shopdoor && madeby_u) pay_for_damage("¤á¤Á¤ã¤á¤Á¤ã¤Ë¤¹¤ë"); if (newobjs) impact_drop((struct obj *)0, x, y, 0); if (mtmp) { *************** *** 545,551 **** assign_level(&tolevel, &valley_level); } else if (Is_botlevel(&u.uz)) { if (canseemon(mtmp)) ! pline("%s avoids the trap.", Monnam(mtmp)); return; } else { get_level(&tolevel, depth(&u.uz) + 1); --- 617,624 ---- assign_level(&tolevel, &valley_level); } else if (Is_botlevel(&u.uz)) { if (canseemon(mtmp)) ! /*JP pline("%s avoids the trap.", Monnam(mtmp));*/ ! pline("%s¤Ï櫤òÈò¤±¤¿¡¥", Monnam(mtmp)); return; } else { get_level(&tolevel, depth(&u.uz) + 1); *************** *** 571,581 **** if ((ttmp && (ttmp->ttyp == MAGIC_PORTAL || nohole)) || (IS_WALL(lev->typ) && (lev->wall_info & W_NONDIGGABLE) != 0)) { ! pline_The("%s here is too hard to dig in.", surface(u.ux,u.uy)); } else if (is_pool(u.ux, u.uy) || is_lava(u.ux, u.uy)) { ! pline_The("%s sloshes furiously for a moment, then subsides.", ! is_lava(u.ux, u.uy) ? "lava" : "water"); wake_nearby(); /* splashing */ } else if (lev->typ == DRAWBRIDGE_DOWN || --- 644,657 ---- if ((ttmp && (ttmp->ttyp == MAGIC_PORTAL || nohole)) || (IS_WALL(lev->typ) && (lev->wall_info & W_NONDIGGABLE) != 0)) { ! /*JP pline_The("%s here is too hard to dig in.", surface(u.ux,u.uy));*/ ! pline("%s¤Ï¤È¤Æ¤â¸Ç¤¯¤Æ·¡¤ì¤Ê¤¤¡¥", surface(u.ux,u.uy)); } else if (is_pool(u.ux, u.uy) || is_lava(u.ux, u.uy)) { ! /*JP pline_The("%s sloshes furiously for a moment, then subsides.", ! is_lava(u.ux, u.uy) ? "lava" : "water");*/ ! pline("%s¤Ï·ã¤·¤¯ÇȤ¦¤Ã¤¿¡¥", ! is_lava(u.ux, u.uy) ? "ÍÏ´ä" : "¿å"); wake_nearby(); /* splashing */ } else if (lev->typ == DRAWBRIDGE_DOWN || *************** *** 584,590 **** bridge is extended; drawbridge_wall is the open "doorway" or closed "door" where the portcullis/mechanism is located */ if (pit_only) { ! pline_The("drawbridge seems too hard to dig through."); return FALSE; } else { int x = u.ux, y = u.uy; --- 660,667 ---- bridge is extended; drawbridge_wall is the open "doorway" or closed "door" where the portcullis/mechanism is located */ if (pit_only) { ! /*JP pline_The("drawbridge seems too hard to dig through.");*/ ! pline("Ä·¤Í¶¶¤Ï¤È¤Æ¤â¸Ç¤¯¤Æ·¡¤ì¤½¤¦¤Ë¤Ê¤¤¡¥"); return FALSE; } else { int x = u.ux, y = u.uy; *************** *** 597,610 **** } else if ((boulder_here = sobj_at(BOULDER, u.ux, u.uy)) != 0) { if (ttmp && (ttmp->ttyp == PIT || ttmp->ttyp == SPIKED_PIT) && rn2(2)) { ! pline_The("boulder settles into the pit."); ttmp->ttyp = PIT; /* crush spikes */ } else { /* * digging makes a hole, but the boulder immediately * fills it. Final outcome: no hole, no boulder. */ ! pline("KADOOM! The boulder falls in!"); (void) delfloortrap(ttmp); } delobj(boulder_here); --- 674,689 ---- } else if ((boulder_here = sobj_at(BOULDER, u.ux, u.uy)) != 0) { if (ttmp && (ttmp->ttyp == PIT || ttmp->ttyp == SPIKED_PIT) && rn2(2)) { ! /*JP pline_The("boulder settles into the pit.");*/ ! pline("´ä¤ÏÍ·ê¤òËä¤á¤¿¡¥"); ttmp->ttyp = PIT; /* crush spikes */ } else { /* * digging makes a hole, but the boulder immediately * fills it. Final outcome: no hole, no boulder. */ ! /*JP pline("KADOOM! The boulder falls in!");*/ ! pline("¤É¤É¡¼¤ó¡ª´ä¤ÏÍî¤Á¤¿¡ª"); (void) delfloortrap(ttmp); } delobj(boulder_here); *************** *** 620,626 **** * We can't dig a hole here since that will destroy * the drawbridge. The following is a cop-out. --dlc */ ! pline_The("%s here is too hard to dig in.", surface(u.ux, u.uy)); return FALSE; } --- 699,706 ---- * We can't dig a hole here since that will destroy * the drawbridge. The following is a cop-out. --dlc */ ! /*JP pline_The("%s here is too hard to dig in.",*/ ! pline("%s¤Ï¤È¤Æ¤â¸Ç¤¯¤Æ·¡¤ì¤Ê¤¤¡¥", surface(u.ux, u.uy)); return FALSE; } *************** *** 633,640 **** /* if any objects were frozen here, they're released now */ unearth_objs(u.ux, u.uy); ! pline("As you dig, the hole fills with %s!", ! typ == LAVAPOOL ? "lava" : "water"); if (!Levitation && !is_flyer(uasmon)) { if (typ == LAVAPOOL) (void) lava_effects(); --- 713,722 ---- /* if any objects were frozen here, they're released now */ unearth_objs(u.ux, u.uy); ! /*JP pline("As you dig, the hole fills with %s!", ! typ == LAVAPOOL ? "lava" : "water");*/ ! pline("¤¢¤Ê¤¿¤¬·¡¤ë¤È¡¤%s¤¬Í¯¤¤¤Æ¤­¤¿¡ª", ! typ == LAVAPOOL ? "ÍÏ´ä" : "¿å"); if (!Levitation && !is_flyer(uasmon)) { if (typ == LAVAPOOL) (void) lava_effects(); *************** *** 645,654 **** /* the following two are here for the wand of digging */ } else if (IS_THRONE(lev->typ)) { ! pline_The("throne is too hard to break apart."); } else if (IS_ALTAR(lev->typ)) { ! pline_The("altar is too hard to break apart."); } else { typ = fillholetyp(u.ux,u.uy); --- 727,738 ---- /* the following two are here for the wand of digging */ } else if (IS_THRONE(lev->typ)) { ! /*JP pline_The("throne is too hard to break apart.");*/ ! pline("¶ÌºÂ¤Ï¤È¤Æ¤â¸Ç¤¯¤ÆºÕ¤±¤Ê¤¤¡¥"); } else if (IS_ALTAR(lev->typ)) { ! /*JP pline_The("altar is too hard to break apart.");*/ ! pline("º×ÃŤϤȤƤâ¸Ç¤¯¤ÆºÕ¤±¤Ê¤¤¡¥"); } else { typ = fillholetyp(u.ux,u.uy); *************** *** 688,697 **** --- 772,785 ---- else res = 1; } if (u.utrap && u.utraptype == TT_WEB) { + #if 0 /*JP*/ pline("%s you can't dig while entangled in a web.", /* res==0 => no prior message; res==1 => just got "You now wield a pick-axe." message */ !res ? "Unfortunately," : "But"); + #endif + pline("%sÃØéá¤ÎÁã¤Ë¤Ò¤«¤«¤Ã¤Æ¤¤¤ë´Ö¤Ï·¡¤ì¤Ê¤¤¡¥", + !res ? "»ÄÇ°¤Ê¤¬¤é" : "¤·¤«¤·"); return res; } *************** *** 705,733 **** sdp++; } *dsp = 0; ! Sprintf(qbuf, "In what direction do you want to dig? [%s]", dirsyms); if(!getdir(qbuf)) return(res); if (u.uswallow && attack(u.ustuck)) { ; /* return(1) */ } else if (Underwater) { ! pline("Turbulence torpedoes your digging attempts."); } else if(u.dz < 0) { if(Levitation) ! You("don't have enough leverage."); else ! You_cant("reach the %s.",ceiling(u.ux,u.uy)); } else if(!u.dx && !u.dy && !u.dz) { char buf[BUFSZ]; int dam; dam = rnd(2) + dbon() + obj->spe; if (dam <= 0) dam = 1; ! You("hit yourself with your pick-axe."); /* self_pronoun() won't work twice in a sentence */ ! Strcpy(buf, self_pronoun("killed %sself with %%s pick-axe", ! "him")); ! losehp(dam, self_pronoun(buf, "his"), NO_KILLER_PREFIX); flags.botl=1; return(1); } else if(u.dz == 0) { --- 793,828 ---- sdp++; } *dsp = 0; ! /*JP Sprintf(qbuf, "In what direction do you want to dig? [%s]", dirsyms);*/ ! Sprintf(qbuf, "¤É¤ÎÊý¸þ¤ò·¡¤ê¤Þ¤¹¤«¡©[%s]", dirsyms); if(!getdir(qbuf)) return(res); if (u.uswallow && attack(u.ustuck)) { ; /* return(1) */ } else if (Underwater) { ! /*JP pline("Turbulence torpedoes your digging attempts.");*/ ! pline("¤½¤ê¤ã¡¤Íò¤Î¤Ê¤«¤ÎµûÍë¤Î¤è¤¦¤À¡¥"); } else if(u.dz < 0) { if(Levitation) ! /*JP You("don't have enough leverage.");*/ ! You("É⤤¤Æ¤¤¤ë¤Î¤Ç¤Õ¤ó¤Ð¤ê¤¬¤­¤«¤Ê¤¤¡¥"); else ! /*JP You_cant("reach the %s.",ceiling(u.ux,u.uy));*/ ! You("Å·°æ¤ËÆϤ«¤Ê¤¤¡¥"); } else if(!u.dx && !u.dy && !u.dz) { char buf[BUFSZ]; int dam; dam = rnd(2) + dbon() + obj->spe; if (dam <= 0) dam = 1; ! /*JP You("hit yourself with your pick-axe.");*/ ! You("¼«Ê¬¼«¿È¤ò¤Ä¤ë¤Ï¤·¤Çᤤ¤¿¡¥"); /* self_pronoun() won't work twice in a sentence */ ! /*JP Strcpy(buf, self_pronoun("killed %sself with %%s pick-axe", ! "him"));*/ ! Strcpy(buf, "¼«Ê¬¼«¿È¤ò¤Ä¤ë¤Ï¤·¤Çᤤ¤Æ"); ! /*JP losehp(dam, self_pronoun(buf, "his"), NO_KILLER_PREFIX);*/ ! losehp(dam, buf, KILLED_BY); flags.botl=1; return(1); } else if(u.dz == 0) { *************** *** 735,741 **** rx = u.ux + u.dx; ry = u.uy + u.dy; if(!isok(rx, ry)) { ! pline("Clash!"); return(1); } lev = &levl[rx][ry]; --- 830,837 ---- rx = u.ux + u.dx; ry = u.uy + u.dy; if(!isok(rx, ry)) { ! /*JP pline("Clash!");*/ ! pline("¥¬¥é¥¬¥é¡ª"); return(1); } lev = &levl[rx][ry]; *************** *** 749,771 **** if (trap && trap->ttyp == WEB) { if (!trap->tseen) { seetrap(trap); ! pline("There is a spider web there!"); } ! Your("%s becomes entangled in the web.", ! aobjnam(obj, (char *)0)); /* you ought to be able to let go; tough luck */ /* (maybe `move_into_trap()' would be better) */ nomul(-d(2,2)); ! nomovemsg = "You pull free."; } else ! You("swing your %s through thin air.", ! aobjnam(obj, (char *)0)); } else { static const char *d_action[4] = { ! "digging", "chipping the statue", "hitting the boulder", ! "chopping at the door" }; if (digging.pos.x != rx || digging.pos.y != ry || !on_level(&digging.level, &u.uz) || digging.down) { --- 845,883 ---- if (trap && trap->ttyp == WEB) { if (!trap->tseen) { seetrap(trap); ! /*JP pline("There is a spider web there!");*/ ! pline("¤½¤³¤Ë¤ÏÃØéá¤ÎÁ㤬¤¢¤ë¡ª"); } ! /*JP Your("%s becomes entangled in the web.", ! aobjnam(obj, (char *)0));*/ ! Your("%s¤ÏÃØéá¤ÎÁã¤Ë¤«¤é¤Þ¤Ã¤¿¡¥", ! xname(obj)); /* you ought to be able to let go; tough luck */ /* (maybe `move_into_trap()' would be better) */ nomul(-d(2,2)); ! /*JP nomovemsg = "You pull free.";*/ ! nomovemsg = "¤Ò¤­¤Ï¤Ê¤·¤¿¡¥"; } else ! /*JP You("swing your %s through thin air.", ! aobjnam(obj, (char *)0));*/ ! You("²¿¤â¤Ê¤¤¶õ´Ö¤Ç%s¤ò¿¶¤ê¤Þ¤ï¤·¤¿¡¥", ! xname(obj)); } else { static const char *d_action[4] = { ! /*JP "digging", "chipping the statue", "hitting the boulder", ! "chopping at the door"*/ ! "·¡¤ê", ! "ĦÁü¤òºï¤ê", ! "´ä¤òÂǤÁ¤Ä¤±", ! "Èâ¤òºï¤ê" ! }; ! static const char *d_action2[4] = { ! "·¡¤ë", ! "ĦÁü¤òºï¤ë", ! "´ä¤òÂǤÁ¤Ä¤±¤ë", ! "Èâ¤òºï¤ë" }; if (digging.pos.x != rx || digging.pos.y != ry || !on_level(&digging.level, &u.uz) || digging.down) { *************** *** 774,796 **** digging.pos.y = ry; assign_level(&digging.level, &u.uz); digging.effort = 0; ! You("start %s.", d_action[dig_target]); } else { ! You("%s %s.", digging.chew ? "begin" : "continue", ! d_action[dig_target]); digging.chew = FALSE; } did_dig_msg = FALSE; ! set_occupation(dig, "digging", 0); } } else if (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) { /* it must be air -- water checked above */ ! You("swing your %s through thin air.", aobjnam(obj, (char *)0)); } else if (!can_reach_floor()) { ! You_cant("reach the %s.", surface(u.ux,u.uy)); } else if (is_pool(u.ux, u.uy)) { /* Monsters which swim also happen not to be able to dig */ ! You("cannot stay underwater long enough."); } else { if (digging.pos.x != u.ux || digging.pos.y != u.uy || !on_level(&digging.level, &u.uz) || !digging.down) { --- 886,915 ---- digging.pos.y = ry; assign_level(&digging.level, &u.uz); digging.effort = 0; ! /*JP You("start %s.", d_action[dig_target]);*/ ! You("%s¤Ï¤¸¤á¤¿¡¥", d_action[dig_target]); } else { ! /*JP You("%s %s.", digging.chew ? "begin" : "continue", ! d_action[dig_target]);*/ ! You("%s¤Î¤òºÆ³«¤·¤¿", ! d_action2[dig_target]); digging.chew = FALSE; } did_dig_msg = FALSE; ! /*JP set_occupation(dig, "digging", 0);*/ ! set_occupation(dig, "·¡¤ë", 0); } } else if (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) { /* it must be air -- water checked above */ ! /*JP You("swing your %s through thin air.", aobjnam(obj, (char *)0));*/ ! You("%s¤ò²¿¤â¤Ê¤¤¶õ´Ö¤Ç¿¶¤ê¤Þ¤ï¤·¤¿¡¥", xname(obj)); } else if (!can_reach_floor()) { ! /*JP You_cant("reach the %s.", surface(u.ux,u.uy));*/ ! You("%s¤ËÆϤ«¤Ê¤¤¡¥", surface(u.ux,u.uy)); } else if (is_pool(u.ux, u.uy)) { /* Monsters which swim also happen not to be able to dig */ ! /*JP You("cannot stay underwater long enough.");*/ ! You("¿åÌ̲¼¤Ë¤ÏĹ»þ´Ö¤¤¤é¤ì¤Ê¤¤¡¥"); } else { if (digging.pos.x != u.ux || digging.pos.y != u.uy || !on_level(&digging.level, &u.uz) || !digging.down) { *************** *** 800,811 **** digging.pos.y = u.uy; assign_level(&digging.level, &u.uz); digging.effort = 0; ! You("start digging downward."); if (*u.ushops) shopdig(0); } else ! You("continue digging downward."); did_dig_msg = FALSE; ! set_occupation(dig, "digging", 0); } return(1); } --- 919,933 ---- digging.pos.y = u.uy; assign_level(&digging.level, &u.uz); digging.effort = 0; ! /*JP You("start digging downward.");*/ ! You("²¼¤Ë¸þ¤Ã¤Æ·¡¤ê¤Ï¤¸¤á¤¿¡¥"); if (*u.ushops) shopdig(0); } else ! /*JP You("continue digging downward.");*/ ! You("²¼¤Ë¸þ¤Ã¤Æ·¡¤ë¤Î¤òºÆ³«¤·¤¿¡¥"); did_dig_msg = FALSE; ! /*JP set_occupation(dig, "digging", 0);*/ ! set_occupation(dig, "·¡¤ë", 0); } return(1); } *************** *** 838,844 **** } } else { if (!rn2(3) && flags.verbose) /* not too often.. */ ! You_feel("an unexpected draft."); here->doormask = D_BROKEN; } newsym(mtmp->mx, mtmp->my); --- 960,967 ---- } } else { if (!rn2(3) && flags.verbose) /* not too often.. */ ! /*JP You_feel("an unexpected draft.");*/ ! You("»×¤¤¤â¤è¤é¤º¡¤¤¹¤­¤ÞÉ÷¤ò´¶¤¸¤¿¡¥"); here->doormask = D_BROKEN; } newsym(mtmp->mx, mtmp->my); *************** *** 857,863 **** if (IS_WALL(here->typ)) { if (flags.soundok && flags.verbose && !rn2(5)) ! You_hear("crashing rock."); if (*in_rooms(mtmp->mx, mtmp->my, SHOPBASE)) add_damage(mtmp->mx, mtmp->my, 0L); if (level.flags.is_maze_lev) { --- 980,987 ---- if (IS_WALL(here->typ)) { if (flags.soundok && flags.verbose && !rn2(5)) ! /*JP You_hear("crashing rock.");*/ ! You("´ä¤Î¤¯¤À¤±¤ë²»¤òʹ¤¤¤¿¡¥"); if (*in_rooms(mtmp->mx, mtmp->my, SHOPBASE)) add_damage(mtmp->mx, mtmp->my, 0L); if (level.flags.is_maze_lev) { *************** *** 908,914 **** if (!is_whirly(mtmp->data)) { if (is_animal(mtmp->data)) ! You("pierce %s stomach wall!", s_suffix(mon_nam(mtmp))); mtmp->mhp = 1; /* almost dead */ expels(mtmp, mtmp->data, !is_animal(mtmp->data)); } --- 1032,1039 ---- if (!is_whirly(mtmp->data)) { if (is_animal(mtmp->data)) ! /*JP You("pierce %s stomach wall!", s_suffix(mon_nam(mtmp)));*/ ! You("%s¤Î°ß¤ÎÊɤ˷ê¤ò³«¤±¤¿¡ª", s_suffix(mon_nam(mtmp))); mtmp->mhp = 1; /* almost dead */ expels(mtmp, mtmp->data, !is_animal(mtmp->data)); } *************** *** 919,931 **** if (!Is_airlevel(&u.uz) && !Is_waterlevel(&u.uz)) { if (u.dz < 0 || On_stairs(u.ux, u.uy)) { if (On_stairs(u.ux, u.uy)) ! pline_The("beam bounces off the %s and hits the %s.", (u.ux == xdnladder || u.ux == xupladder) ? ! "ladder" : "stairs", ceiling(u.ux, u.uy)); ! You("loosen a rock from the %s.", ceiling(u.ux, u.uy)); ! pline("It falls on your %s!", body_part(HEAD)); losehp(rnd((uarmh && is_metallic(uarmh)) ? 2 : 6), ! "falling rock", KILLED_BY_AN); if ((otmp = mksobj_at(ROCK, u.ux, u.uy, FALSE)) != 0) { (void)xname(otmp); /* set dknown, maybe bknown */ stackobj(otmp); --- 1044,1062 ---- if (!Is_airlevel(&u.uz) && !Is_waterlevel(&u.uz)) { if (u.dz < 0 || On_stairs(u.ux, u.uy)) { if (On_stairs(u.ux, u.uy)) ! /*JP pline_The("beam bounces off the %s and hits the %s.", ! (u.ux == xdnladder || u.ux == xupladder) ? ! "ladder" : "stairs", ceiling(u.ux, u.uy));*/ ! pline("¸÷Àþ¤Ï%s¤ÇÈ¿¼Í¤·%s¤ËÌ¿Ã椷¤¿¡¥", (u.ux == xdnladder || u.ux == xupladder) ? ! "¤Ï¤·¤´" : "³¬ÃÊ", ceiling(u.ux, u.uy)); ! /*JP You("loosen a rock from the %s.", ceiling(u.ux, u.uy));*/ ! You("%s¤Î´ä¤¬¥¬¥¿¥¬¥¿¤·¤Ï¤¸¤á¤¿¡¥", ceiling(u.ux, u.uy)); ! /*JP pline("It falls on your %s!", body_part(HEAD));*/ ! pline("¤½¤ì¤Ï¤¢¤Ê¤¿¤Î%s¤ËÍî¤Á¤Æ¤­¤¿¡ª", body_part(HEAD)); losehp(rnd((uarmh && is_metallic(uarmh)) ? 2 : 6), ! /*JP "falling rock", KILLED_BY_AN);*/ ! "Íî´ä¤Ç", KILLED_BY_AN); if ((otmp = mksobj_at(ROCK, u.ux, u.uy, FALSE)) != 0) { (void)xname(otmp); /* set dknown, maybe bknown */ stackobj(otmp); *************** *** 958,964 **** if (room->typ == SDOOR) room->typ = DOOR; else if (cansee(zx, zy)) ! pline_The("door is razed!"); room->doormask = D_NODOOR; unblock_point(zx,zy); /* vision */ digdepth -= 2; --- 1089,1096 ---- if (room->typ == SDOOR) room->typ = DOOR; else if (cansee(zx, zy)) ! /*JP pline_The("door is razed!");*/ ! pline("Èâ¤ÏÊø¤ìÍî¤Á¤¿¡ª"); room->doormask = D_NODOOR; unblock_point(zx,zy); /* vision */ digdepth -= 2; *************** *** 973,986 **** room->typ = ROOM; unblock_point(zx,zy); /* vision */ } else if (!Blind) ! pline_The("wall glows then fades."); break; } else if (room->typ == STONE || room->typ == SCORR) { if (!(room->wall_info & W_NONDIGGABLE)) { room->typ = CORR; unblock_point(zx,zy); /* vision */ } else if (!Blind) ! pline_The("rock glows then fades."); break; } } else if (IS_ROCK(room->typ)) { --- 1105,1120 ---- room->typ = ROOM; unblock_point(zx,zy); /* vision */ } else if (!Blind) ! /*JP pline_The("wall glows then fades.");*/ ! pline("Êɤϰì½Öµ±¤¤¤¿¡¥"); break; } else if (room->typ == STONE || room->typ == SCORR) { if (!(room->wall_info & W_NONDIGGABLE)) { room->typ = CORR; unblock_point(zx,zy); /* vision */ } else if (!Blind) ! /*JP pline_The("rock glows then fades.");*/ ! pline("ÀФϰì½Öµ±¤¤¤¿¡¥"); break; } } else if (IS_ROCK(room->typ)) { *************** *** 1008,1014 **** } /* while */ tmp_at(DISP_END,0); /* closing call */ if (shopdoor || shopwall) ! pay_for_damage(shopdoor ? "destroy" : "dig into"); return; } --- 1142,1149 ---- } /* while */ tmp_at(DISP_END,0); /* closing call */ if (shopdoor || shopwall) ! /*JP pay_for_damage(shopdoor ? "destroy" : "dig into");*/ ! pay_for_damage(shopdoor ? "Ç˲õ¤¹¤ë" : "·ê¤ò¤¢¤±¤ë"); return; } *************** *** 1150,1158 **** y = obj->oy; } else if (in_invent) { if (flags.verbose) ! Your("%s%s rot%s away%c", obj == uwep ? "wielded " : "", corpse_xname(obj, FALSE), ! obj->quan == 1L ? "s" : "", obj == uwep ? '!' : '.'); if (obj == uwep) { uwepgone(); /* now bare handed */ stop_occupation(); --- 1285,1296 ---- y = obj->oy; } else if (in_invent) { if (flags.verbose) ! /*JP Your("%s%s rot%s away%c", obj == uwep ? "wielded " : "", corpse_xname(obj, FALSE), ! obj->quan == 1L ? "s" : "", obj == uwep ? '!' : '.');*/ ! pline("¤¢¤Ê¤¿¤Î%s%s¤ÏÉå¤Ã¤Æ¤·¤Þ¤Ã¤¿%s¡¥", ! obj == uwep ? "¼ê¤Ë¤·¤Æ¤¤¤ë" : "", corpse_xname(obj, FALSE), ! obj == uwep ? "¡ª" : "¡¥"); if (obj == uwep) { uwepgone(); /* now bare handed */ stop_occupation(); diff -c -r ../nethack-3.2.2/src/do.c ./src/do.c *** ../nethack-3.2.2/src/do.c Sat Dec 28 21:53:37 1996 --- ./src/do.c Tue Jul 22 23:18:13 1997 *************** *** 4,9 **** --- 4,16 ---- /* Contains code for 'd', 'D' (drop), '>', '<' (up, down) */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "lev.h" *************** *** 50,56 **** int result, i = (invent || u.ugold) ? 0 : (SIZE(drop_types) - 1); if (*u.ushops) sellobj_state(TRUE); ! result = drop(getobj(&drop_types[i], "drop")); if (*u.ushops) sellobj_state(FALSE); reset_occupations(); --- 57,64 ---- int result, i = (invent || u.ugold) ? 0 : (SIZE(drop_types) - 1); if (*u.ushops) sellobj_state(TRUE); ! /*JP result = drop(getobj(&drop_types[i], "drop"));*/ ! result = drop(getobj(&drop_types[i], "ÃÖ¤¯")); if (*u.ushops) sellobj_state(FALSE); reset_occupations(); *************** *** 74,80 **** impossible("Not a boulder?"); else if (!Is_waterlevel(&u.uz) && (is_pool(rx,ry) || is_lava(rx,ry))) { boolean lava = is_lava(rx,ry), fills_up; ! const char *what = lava ? "lava" : "water"; schar ltyp = levl[rx][ry].typ; int chance = rn2(10); /* water: 90%; lava: 10% */ fills_up = lava ? chance == 0 : chance != 0; --- 82,89 ---- impossible("Not a boulder?"); else if (!Is_waterlevel(&u.uz) && (is_pool(rx,ry) || is_lava(rx,ry))) { boolean lava = is_lava(rx,ry), fills_up; ! /*JP const char *what = lava ? "lava" : "water";*/ ! const char *what = lava ? "ÍÏ´ä" : "¿åÃæ"; schar ltyp = levl[rx][ry].typ; int chance = rn2(10); /* water: 90%; lava: 10% */ fills_up = lava ? chance == 0 : chance != 0; *************** *** 89,97 **** bury_objs(rx, ry); newsym(rx,ry); if (pushing) { ! You("push %s into the %s.", the(xname(otmp)), what); if (flags.verbose && !Blind) ! pline("Now you can cross it!"); /* no splashing in this case */ } } --- 98,108 ---- bury_objs(rx, ry); newsym(rx,ry); if (pushing) { ! /*JP You("push %s into the %s.", the(xname(otmp)), what);*/ ! You("%s¤ò%s¤ÎÃæ¤Ø²¡¤·¤³¤ó¤À¡¥", the(xname(otmp)), what); if (flags.verbose && !Blind) ! /*JP pline("Now you can cross it!");*/ ! pline("¤µ¤¡ÅϤì¤ë¤¾¡ª"); /* no splashing in this case */ } } *************** *** 101,112 **** boolean moat = (ltyp != WATER) && !Is_medusa_level(&u.uz) && !Is_waterlevel(&u.uz); ! pline("There is a large splash as %s %s the %s.", the(xname(otmp)), fills_up? "fills":"falls into", lava ? "lava" : ltyp==POOL ? "pool" : ! moat ? "moat" : "water"); } else if (flags.soundok) ! You_hear("a%s splash.", lava ? " sizzling" : ""); wake_nearto(rx, ry, 40); } --- 112,129 ---- boolean moat = (ltyp != WATER) && !Is_medusa_level(&u.uz) && !Is_waterlevel(&u.uz); ! /*JP pline("There is a large splash as %s %s the %s.", the(xname(otmp)), fills_up? "fills":"falls into", lava ? "lava" : ltyp==POOL ? "pool" : ! moat ? "moat" : "water");*/ ! pline("%s¤ò%s¤Ë%s¤ÈÂ礭¤Ê¿å¤·¤Ö¤­¤¬¤¢¤¬¤Ã¤¿¡¥", ! the(xname(otmp)), ! lava ? "ÍÏ´ä" : ltyp==POOL ? "¿å¤¿¤Þ¤ê" : ! moat ? "ËÙ" : "¿åÃæ", ! fills_up? "Ëä¤á¹þ¤à" : "Í" ); } else if (flags.soundok) ! /*JP You_hear("a%s splash.", lava ? " sizzling" : "");*/ ! You("%s¤È¸À¤¦²»¤òʹ¤¤¤¿¡¥",lava ? "¥·¥å¡¼¥Ã" : "¥Ñ¥·¥ã¥Ã"); wake_nearto(rx, ry, 40); } *************** *** 114,128 **** u.uinwater = 0; docrt(); vision_full_recalc = 1; ! You("find yourself on dry land again!"); } else if (lava && distu(rx,ry) <= 2) { ! You("are hit by molten lava%c", ! Fire_resistance ? '.' : '!'); losehp(d((Fire_resistance ? 1 : 3), 6), ! "molten lava", KILLED_BY); } else if (!fills_up && flags.verbose && (pushing ? !Blind : cansee(rx,ry))) ! pline("It sinks without a trace!"); } /* boulder is now gone */ --- 131,150 ---- u.uinwater = 0; docrt(); vision_full_recalc = 1; ! /*JP You("find yourself on dry land again!");*/ ! You("¤¤¤Ä¤Î¤Þ¤Ë¤«´¥¤¤¤¿¾ì½ê¤Ë¤¤¤¿¡ª"); } else if (lava && distu(rx,ry) <= 2) { ! /*JP You("are hit by molten lava%c", ! Fire_resistance ? '.' : '!');*/ ! You("¤É¤í¤É¤í¤ÎÍÏ´ä¤Ç¥À¥á¡¼¥¸¤ò¼õ¤±¤¿%s", ! Fire_resistance ? "¡¥" : "¡ª"); losehp(d((Fire_resistance ? 1 : 3), 6), ! /*JP "molten lava", KILLED_BY);*/ ! "¤É¤í¤É¤í¤ÎÍÏ´ä¤Ç", KILLED_BY); } else if (!fills_up && flags.verbose && (pushing ? !Blind : cansee(rx,ry))) ! /*JP pline("It sinks without a trace!");*/ ! pline("¤½¤ì¤Ï¸«¤¨¤Ê¤¯¤Ê¤ë¤Þ¤ÇÄÀ¤ó¤À¡ª"); } /* boulder is now gone */ *************** *** 160,167 **** if (((mtmp = m_at(x, y)) && mtmp->mtrapped) || (u.utrap && u.ux == x && u.uy == y)) { if (*verb) ! pline_The("boulder %ss into the pit%s.", verb, ! (mtmp) ? "" : " with you"); if (mtmp) { if (!passes_walls(mtmp->data) && !throws_rocks(mtmp->data)) { --- 182,191 ---- if (((mtmp = m_at(x, y)) && mtmp->mtrapped) || (u.utrap && u.ux == x && u.uy == y)) { if (*verb) ! /*JP pline_The("boulder %ss into the pit%s.", verb,*/ ! pline("´ä¤Ï%sÍ·ê¤Ø%s¡¥", ! (mtmp) ? "" : "¤¢¤Ê¤¿¤È¤¤¤Ã¤·¤ç¤Ë", ! jconj(verb,"¤¿")); if (mtmp) { if (!passes_walls(mtmp->data) && !throws_rocks(mtmp->data)) { *************** *** 170,177 **** } else mtmp->mtrapped = 0; } else { if (!passes_walls(uasmon) && !throws_rocks(uasmon)) { ! losehp(rnd(15), "squished under a boulder", ! NO_KILLER_PREFIX); return FALSE; /* player remains trapped */ } else u.utrap = 0; } --- 194,203 ---- } else mtmp->mtrapped = 0; } else { if (!passes_walls(uasmon) && !throws_rocks(uasmon)) { ! /*JP losehp(rnd(15), "squished under a boulder",*/ ! losehp(rnd(15), "´ä¤Î²¼¤ÇÄÙ¤µ¤ì¤Æ", ! /*JP NO_KILLER_PREFIX);*/ ! KILLED_BY); return FALSE; /* player remains trapped */ } else u.utrap = 0; } *************** *** 179,193 **** if (*verb) { if (Blind) { if ((x == u.ux) && (y == u.uy)) ! You_hear("a CRASH! beneath you."); else ! You_hear("the boulder %s.", verb); } else if (cansee(x, y)) { ! pline_The("boulder %s%s.", t->tseen ? "" : "triggers and ", t->ttyp == TRAPDOOR ? "plugs a trap door" : t->ttyp == HOLE ? "plugs a hole" : ! "fills a pit"); } } deltrap(t); --- 205,225 ---- if (*verb) { if (Blind) { if ((x == u.ux) && (y == u.uy)) ! /*JP You_hear("a CRASH! beneath you.");*/ ! You("­¸µ¤Ç²¿¤«¤¬ºÕ¤±¤ë²»¤òʹ¤¤¤¿¡¥"); else ! /*JP You_hear("the boulder %s.", verb);*/ ! You("´ä¤¬%s²»¤òʹ¤¤¤¿", verb); } else if (cansee(x, y)) { ! /*JP pline_The("boulder %s%s.", t->tseen ? "" : "triggers and ", t->ttyp == TRAPDOOR ? "plugs a trap door" : t->ttyp == HOLE ? "plugs a hole" : ! "fills a pit");*/ ! pline_The("´ä¤Ï%s¡¥", ! t->ttyp == TRAPDOOR ? "ÍÈâ¤òËä¤á¤¿" : ! t->ttyp == HOLE ? "·ê¤òËä¤á¤¿" : ! "Í·ê¤òËä¤á¤¿"); } } deltrap(t); *************** *** 210,223 **** { if (Blind) return; if (obj->blessed || obj->cursed) { ! pline("There is %s flash as %s hit%s the altar.", an(hcolor(obj->blessed ? amber : Black)), doname(obj), ! (obj->quan == 1L) ? "s" : ""); if (!Hallucination) obj->bknown = 1; } else { ! pline("%s land%s on the altar.", Doname2(obj), ! (obj->quan == 1L) ? "s" : ""); obj->bknown = 1; } } --- 242,259 ---- { if (Blind) return; if (obj->blessed || obj->cursed) { ! /*JP pline("There is %s flash as %s hit%s the altar.", an(hcolor(obj->blessed ? amber : Black)), doname(obj), ! (obj->quan == 1L) ? "s" : "");*/ ! pline("%s¤¬º×ÃŤ˿¨¤ì¤ë¤È%s¸÷¤Ã¤¿¡¥", ! doname(obj), ! an(jconj_adj(hcolor(obj->blessed ? amber : Black)))); if (!Hallucination) obj->bknown = 1; } else { ! /*JP pline("%s land%s on the altar.", Doname2(obj), ! (obj->quan == 1L) ? "s" : "");*/ ! pline("%s¤òº×ÃŤξå¤ËÃÖ¤¤¤¿¡¥", Doname2(obj)); obj->bknown = 1; } } *************** *** 241,253 **** register struct obj *otmp,*otmp2; register boolean ideed = TRUE; ! You("drop %s down the drain.", doname(obj)); #ifndef NO_SIGNAL obj->in_use = TRUE; /* block free identification via interrupt */ #endif switch(obj->otyp) { /* effects that can be noticed without eyes */ case RIN_SEARCHING: ! You("thought your %s got lost in the sink, but there it is!", xname(obj)); #ifndef NO_SIGNAL obj->in_use = FALSE; --- 277,291 ---- register struct obj *otmp,*otmp2; register boolean ideed = TRUE; ! /*JP You("drop %s down the drain.", doname(obj));*/ ! You("%s¤òÇÓ¿å¸ý¤ËÍ¤¿¡¥", doname(obj)); #ifndef NO_SIGNAL obj->in_use = TRUE; /* block free identification via interrupt */ #endif switch(obj->otyp) { /* effects that can be noticed without eyes */ case RIN_SEARCHING: ! /*JP You("thought your %s got lost in the sink, but there it is!",*/ ! You("%s¤ò¼º¤Ã¤¿µ¤¤¬¤·¤¿¤¬¡¤µ¤¤Î¤»¤¤¤À¤Ã¤¿¡ª", xname(obj)); #ifndef NO_SIGNAL obj->in_use = FALSE; *************** *** 256,282 **** trycall(obj); return; case RIN_LEVITATION: ! pline_The("sink quivers upward for a moment."); break; case RIN_POISON_RESISTANCE: ! You("smell rotten %s.", makeplural(pl_fruit)); break; case RIN_AGGRAVATE_MONSTER: ! pline("Several flies buzz angrily around the sink."); break; case RIN_SHOCK_RESISTANCE: ! pline("Static electricity surrounds the sink."); break; case RIN_CONFLICT: ! You_hear("loud noises coming from the drain."); break; case RIN_GAIN_STRENGTH: ! pline_The("water flow seems %ser now.", ! (obj->spe<0) ? "weak" : "strong"); break; case RIN_INCREASE_DAMAGE: ! pline_The("water's force seems %ser now.", ! (obj->spe<0) ? "small" : "great"); break; case RIN_HUNGER: ideed = FALSE; --- 294,329 ---- trycall(obj); return; case RIN_LEVITATION: ! /*JP pline_The("sink quivers upward for a moment.");*/ ! pline("ή¤·Âæ¤Ï°ì½Ö¡¤¾å²¼¤Ë¿Ì¤¨¤¿¡¥"); break; case RIN_POISON_RESISTANCE: ! /*JP You("smell rotten %s.", makeplural(pl_fruit));*/ ! pline("Éå¤Ã¤¿%s¤Î¤è¤¦¤ÊÆ÷¤¤¤¬¤·¤¿¡¥", makeplural(pl_fruit)); break; case RIN_AGGRAVATE_MONSTER: ! /*JP pline("Several flies buzz angrily around the sink.");*/ ! pline("¿ôɤ¤Î¥Ï¥¨¤¬¥Ö¥ó¥Ö¥óή¤·Âæ¤Î²ó¤ê¤òÈô¤Ó¤Þ¤ï¤Ã¤¿¡¥"); break; case RIN_SHOCK_RESISTANCE: ! /*JP pline("Static electricity surrounds the sink.");*/ ! pline("ή¤·Â椬¥Ô¥ê¥Ô¥ê¤·¤Ï¤¸¤á¤¿¡¥"); break; case RIN_CONFLICT: ! /*JP You_hear("loud noises coming from the drain.");*/ ! pline("ÇÓ¿å¸ý¤«¤éÂ礭¤Ê²»¤¬Ê¹¤³¤¨¤Æ¤­¤¿¡¥"); break; case RIN_GAIN_STRENGTH: ! /*JP pline_The("water flow seems %ser now.", ! (obj->spe<0) ? "weak" : "strong");*/ ! pline("¿å¤Îή¤ì¤¬%s¤Ê¤Ã¤¿¤è¤¦¤Ë¸«¤¨¤¿¡¥", ! (obj->spe<0) ? "¼å¤¯" : "¶¯¤¯"); break; case RIN_INCREASE_DAMAGE: ! /*JP pline_The("water's force seems %ser now.", ! (obj->spe<0) ? "small" : "great");*/ ! pline("¿å¤ÎÎϤ¬%s¤Ê¤Ã¤¿¤è¤¦¤Ë¸«¤¨¤¿¡¥", ! (obj->spe<0) ? "¼å¤¯" : "¶¯¤¯"); break; case RIN_HUNGER: ideed = FALSE; *************** *** 284,290 **** otmp2 = otmp->nexthere; if(otmp != uball && otmp != uchain) { if (!Blind) { ! pline("Suddenly, %s vanishes from the sink!", doname(otmp)); ideed = TRUE; } --- 331,338 ---- otmp2 = otmp->nexthere; if(otmp != uball && otmp != uchain) { if (!Blind) { ! /*JP pline("Suddenly, %s vanishes from the sink!",*/ ! pline("ÆÍÁ³¡¤%s¤Ïή¤·Â椫¤é¾Ã¤¨¤¿¡ª", doname(otmp)); ideed = TRUE; } *************** *** 300,355 **** ideed = TRUE; switch(obj->otyp) { /* effects that need eyes */ case RIN_ADORNMENT: ! pline_The("faucets flash brightly for a moment."); break; case RIN_REGENERATION: ! pline_The("sink looks as good as new."); break; case RIN_INVISIBILITY: ! You("don't see anything happen to the sink."); break; case RIN_SEE_INVISIBLE: ! You("see some air in the sink."); break; case RIN_STEALTH: ! pline_The("sink seems to blend into the floor for a moment."); break; case RIN_FIRE_RESISTANCE: ! pline_The("hot water faucet flashes brightly for a moment."); break; case RIN_COLD_RESISTANCE: ! pline_The("cold water faucet flashes brightly for a moment."); break; case RIN_PROTECTION_FROM_SHAPE_CHAN: ! pline_The("sink looks nothing like a fountain."); break; case RIN_PROTECTION: ! pline_The("sink glows %s for a moment.", ! hcolor((obj->spe<0) ? Black : silver)); break; case RIN_WARNING: ! pline_The("sink glows %s for a moment.", hcolor(White)); break; case RIN_TELEPORTATION: ! pline_The("sink momentarily vanishes."); break; case RIN_TELEPORT_CONTROL: ! pline_The("sink looks like it is being beamed aboard somewhere."); break; case RIN_POLYMORPH: ! pline_The("sink momentarily looks like a fountain."); break; case RIN_POLYMORPH_CONTROL: ! pline_The("sink momentarily looks like a regularly erupting geyser."); break; } } if(ideed) trycall(obj); else ! You_hear("the ring bouncing down the drainpipe."); if (!rn2(20)) { ! pline_The("sink backs up, leaving %s.", doname(obj)); #ifndef NO_SIGNAL obj->in_use = FALSE; #endif --- 348,420 ---- ideed = TRUE; switch(obj->otyp) { /* effects that need eyes */ case RIN_ADORNMENT: ! /*JP pline_The("faucets flash brightly for a moment.");*/ ! pline("¼Ø¸ý¤Ï°ì½ÖÌÀ¤ë¤¯µ±¤¤¤¿¡¥"); break; case RIN_REGENERATION: ! /*JP pline_The("sink looks as good as new.");*/ ! pline("ή¤·Â椬¿·ÉʤΤ褦¤Ë¸«¤¨¤¿¡¥"); break; case RIN_INVISIBILITY: ! /*JP You("don't see anything happen to the sink.");*/ ! pline("ή¤·Âæ¤Ë²¿¤¬µ¯¤­¤¿¤Î¤«¸«¤¨¤Ê¤«¤Ã¤¿¡¥"); break; case RIN_SEE_INVISIBLE: ! /*JP You("see some air in the sink.");*/ ! You("ή¤·Âæ¤Î¾å¤Ë²¿¤é¤«¤Îµ¤ÂΤ¬¸«¤¨¤¿¡¥"); break; case RIN_STEALTH: ! /*JP pline_The("sink seems to blend into the floor for a moment.");*/ ! pline("°ì½Ö¡¤Î®¤·Â椬¾²¤ËÍϤ±¤³¤ó¤À¤è¤¦¤Ë¸«¤¨¤¿¡¥"); break; case RIN_FIRE_RESISTANCE: ! /*JP pline_The("hot water faucet flashes brightly for a moment.");*/ ! pline("°ì½Ö¡¤Ç®Åò¤Î¼Ø¸ý¤¬ÌÀ¤ë¤¯µ±¤¤¤¿¡¥"); break; case RIN_COLD_RESISTANCE: ! /*JP pline_The("cold water faucet flashes brightly for a moment.");*/ ! pline("°ì½Ö¡¤Îä¿å¤Î¼Ø¸ý¤¬ÌÀ¤ë¤¯µ±¤¤¤¿¡¥"); break; case RIN_PROTECTION_FROM_SHAPE_CHAN: ! /*JP pline_The("sink looks nothing like a fountain.");*/ ! pline("ή¤·Âæ¤Ï¾Ã¤¨¡¤Àô¤Î¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥"); break; case RIN_PROTECTION: ! /*JP pline_The("sink glows %s for a moment.", ! hcolor((obj->spe<0) ? Black : silver));*/ ! pline("ή¤·Âæ¤Ï°ì½Ö%sµ±¤¤¤¿¡¥", ! jconj_adj(hcolor((obj->spe<0) ? Black : silver))); break; case RIN_WARNING: ! /*JP pline_The("sink glows %s for a moment.", hcolor(White));*/ ! pline("ή¤·Âæ¤Ï°ì½Ö%sµ±¤¤¤¿¡¥", jconj_adj(hcolor(White))); break; case RIN_TELEPORTATION: ! /*JP pline_The("sink momentarily vanishes.");*/ ! pline("ή¤·Âæ¤Ï°ì½Ö¾Ã¤¨¤¿¡¥"); break; case RIN_TELEPORT_CONTROL: ! /*JP pline_The("sink looks like it is being beamed aboard somewhere.");*/ ! pline("ή¤·Âæ¤Ï¤É¤³¤«¤ËÅÅÇȤòÊü½Ð¤·¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤¿¡¥"); break; case RIN_POLYMORPH: ! /*JP pline_The("sink momentarily looks like a fountain.");*/ ! pline("ή¤·Âæ¤Ï°ì½ÖÀô¤Î¤è¤¦¤Ë¸«¤¨¤¿¡¥"); break; case RIN_POLYMORPH_CONTROL: ! /*JP pline_The("sink momentarily looks like a regularly erupting geyser.");*/ ! pline("ή¤·Âæ¤Ï°ì½Ö¤è¤¯¤¢¤ëÅòʨ¤«¤·µ¡¤Î¤è¤¦¤Ëdz¤¨¤¿¡¥"); break; } } if(ideed) trycall(obj); else ! /*JP You_hear("the ring bouncing down the drainpipe.");*/ ! You("»ØÎؤ¬ÇÓ¿å¸ý¤ËÅö¤ê¤Ê¤¬¤éÍî¤ë²»¤òʹ¤¤¤¿¡¥"); if (!rn2(20)) { ! /*JP pline_The("sink backs up, leaving %s.", doname(obj));*/ ! pline("¤·¤«¤·¡¤Î®¤·Âæ¤Ë%s¤Ïή¤ì¤Æ¤Ê¤¤¡¥", doname(obj)); #ifndef NO_SIGNAL obj->in_use = FALSE; #endif *************** *** 371,384 **** { if(obj->owornmask & (W_ARMOR | W_RING | W_AMUL | W_TOOL)){ if (*word) ! Norep("You cannot %s %s you are wearing.",word, ! something); return(FALSE); } if (obj->otyp == LOADSTONE && obj->cursed) { if (*word) ! pline("For some reason, you cannot %s the stone%s!", ! word, plur(obj->quan)); /* Kludge -- see invent.c */ if (obj->corpsenm) { struct obj *otmp; --- 436,453 ---- { if(obj->owornmask & (W_ARMOR | W_RING | W_AMUL | W_TOOL)){ if (*word) ! /*JP Norep("You cannot %s %s you are wearing.",word, ! something);*/ ! Norep("¤¢¤Ê¤¿¤¬¿È¤Ë¤Ä¤±¤Æ¤¤¤ë¤â¤Î¤ò%s¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥", ! word); return(FALSE); } if (obj->otyp == LOADSTONE && obj->cursed) { if (*word) ! /*JP pline("For some reason, you cannot %s the stone%s!", ! word, plur(obj->quan));*/ ! pline("¤É¤¦¤¤¤¦¤ï¤±¤«¡¤¤¢¤Ê¤¿¤ÏÀФò%s¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡ª", ! word); /* Kludge -- see invent.c */ if (obj->corpsenm) { struct obj *otmp; *************** *** 395,401 **** } if (obj->otyp == LEASH && obj->leashmon != 0) { if (*word) ! pline ("The leash is tied around your %s.", body_part(HAND)); return(FALSE); } --- 464,471 ---- } if (obj->otyp == LEASH && obj->leashmon != 0) { if (*word) ! /*JP pline ("The leash is tied around your %s.",*/ ! pline ("ɳ¤¬¤¢¤Ê¤¿¤Î%s¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤Æ¤¤¤ë¡¥", body_part(HAND)); return(FALSE); } *************** *** 408,414 **** register struct obj *obj; { if(!obj) return(0); ! if(!canletgo(obj,"drop")) return(0); if(obj == uwep) { if(welded(uwep)) { --- 478,485 ---- register struct obj *obj; { if(!obj) return(0); ! /*JP if(!canletgo(obj,"drop"))*/ ! if(!canletgo(obj,"ÃÖ¤¯")) return(0); if(obj == uwep) { if(welded(uwep)) { *************** *** 422,431 **** if (u.uswallow) { /* barrier between you and the floor */ if(flags.verbose) ! You("drop %s into %s %s.", doname(obj), s_suffix(mon_nam(u.ustuck)), is_animal(u.ustuck->data) ? ! "stomach" : "interior"); } else { #ifdef SINKS if((obj->oclass == RING_CLASS) && IS_SINK(levl[u.ux][u.uy].typ)) { --- 493,506 ---- if (u.uswallow) { /* barrier between you and the floor */ if(flags.verbose) ! /*JP You("drop %s into %s %s.", doname(obj), s_suffix(mon_nam(u.ustuck)), is_animal(u.ustuck->data) ? ! "stomach" : "interior");*/ ! You("%s¤ò%s¤Î%s¤ËÃÖ¤¤¤¿¡¥", doname(obj), ! s_suffix(mon_nam(u.ustuck)), ! is_animal(u.ustuck->data) ? ! "°ßÂÞ¤ÎÃæ" : "ÆâÉô"); } else { #ifdef SINKS if((obj->oclass == RING_CLASS) && IS_SINK(levl[u.ux][u.uy].typ)) { *************** *** 434,440 **** } #endif if (!can_reach_floor()) { ! if(flags.verbose) You("drop %s.", doname(obj)); if (obj->oclass != GOLD_CLASS || obj == invent) freeinv(obj); hitfloor(obj); return(1); --- 509,516 ---- } #endif if (!can_reach_floor()) { ! /*JP if(flags.verbose) You("drop %s.", doname(obj));*/ ! if(flags.verbose) You("%s¤òÃÖ¤¤¤¿¡¥", doname(obj)); if (obj->oclass != GOLD_CLASS || obj == invent) freeinv(obj); hitfloor(obj); return(1); *************** *** 442,448 **** if (IS_ALTAR(levl[u.ux][u.uy].typ)) { doaltarobj(obj); /* set bknown */ } else ! if(flags.verbose) You("drop %s.", doname(obj)); } dropx(obj); return(1); --- 518,525 ---- if (IS_ALTAR(levl[u.ux][u.uy].typ)) { doaltarobj(obj); /* set bknown */ } else ! /*JP if(flags.verbose) You("drop %s.", doname(obj));*/ ! if(flags.verbose) You("%s¤òÃÖ¤¤¤¿¡¥", doname(obj)); } dropx(obj); return(1); *************** *** 463,469 **** dropy(obj) register struct obj *obj; { ! if (!u.uswallow && flooreffects(obj,u.ux,u.uy,"drop")) return; if(obj->otyp == CRYSKNIFE) obj->otyp = WORM_TOOTH; /* uswallow check done by GAN 01/29/87 */ --- 540,547 ---- dropy(obj) register struct obj *obj; { ! /*JP if (!u.uswallow && flooreffects(obj,u.ux,u.uy,"drop")) return;*/ ! if (!u.uswallow && flooreffects(obj,u.ux,u.uy,"Íî¤Á¤ë")) return; if(obj->otyp == CRYSKNIFE) obj->otyp = WORM_TOOTH; /* uswallow check done by GAN 01/29/87 */ *************** *** 493,499 **** add_valid_menu_class(0); /* clear any classes already there */ if (*u.ushops) sellobj_state(TRUE); if (flags.menu_style != MENU_TRADITIONAL || ! (result = ggetobj("drop", drop, 0, FALSE)) < -1) result = menu_drop(result); if (*u.ushops) sellobj_state(FALSE); reset_occupations(); --- 571,578 ---- add_valid_menu_class(0); /* clear any classes already there */ if (*u.ushops) sellobj_state(TRUE); if (flags.menu_style != MENU_TRADITIONAL || ! /*JP (result = ggetobj("drop", drop, 0, FALSE)) < -1)*/ ! (result = ggetobj("ÃÖ¤¯", drop, 0, FALSE)) < -1) result = menu_drop(result); if (*u.ushops) sellobj_state(FALSE); reset_occupations(); *************** *** 527,533 **** all_categories = (retry == -2); } else if (flags.menu_style == MENU_FULL) { all_categories = FALSE; ! n = query_category("Drop what type of items?", invent, UNPAID_TYPES | ALL_TYPES | CHOOSE_ALL, &pick_list, PICK_ANY); --- 606,613 ---- all_categories = (retry == -2); } else if (flags.menu_style == MENU_FULL) { all_categories = FALSE; ! /*JP n = query_category("Drop what type of items?",*/ ! n = query_category("¤É¤Î¼ïÎà¤ÎÆ»¶ñ¤òÃÖ¤­¤Þ¤¹¤«¡©", invent, UNPAID_TYPES | ALL_TYPES | CHOOSE_ALL, &pick_list, PICK_ANY); *************** *** 544,550 **** } else if (flags.menu_style == MENU_COMBINATION) { all_categories = FALSE; /* Gather valid classes via traditional NetHack method */ ! i = ggetobj("drop", drop, 0, TRUE); if (i == -2) all_categories = TRUE; } --- 624,631 ---- } else if (flags.menu_style == MENU_COMBINATION) { all_categories = FALSE; /* Gather valid classes via traditional NetHack method */ ! /*JP i = ggetobj("drop", drop, 0, TRUE);*/ ! i = ggetobj("ÃÖ¤¯", drop, 0, TRUE); if (i == -2) all_categories = TRUE; } *************** *** 555,561 **** } } else { /* should coordinate with perm invent, maybe not show worn items */ ! n = query_objlist("What would you like to drop?", invent, USE_INVLET|INVORDER_SORT, &pick_list, PICK_ANY, all_categories ? allow_all : allow_category); if (n > 0) { --- 636,643 ---- } } else { /* should coordinate with perm invent, maybe not show worn items */ ! /*JP n = query_objlist("What would you like to drop?", invent,*/ ! n = query_objlist("¤É¤ì¤òÃÖ¤­¤Þ¤¹¤«¡©", invent, USE_INVLET|INVORDER_SORT, &pick_list, PICK_ANY, all_categories ? allow_all : allow_category); if (n > 0) { *************** *** 604,642 **** if (float_down(I_SPECIAL|W_ARTI|TIMEOUT)) return 1; /* came down, so moved */ } ! floating_above(stairs_down ? "stairs" : ladder_down ? ! "ladder" : surface(u.ux, u.uy)); return 0; /* didn't move */ } if (!stairs_down && !ladder_down) { if (!(trap = t_at(u.ux,u.uy)) || (trap->ttyp != TRAPDOOR && trap->ttyp != HOLE) || !Can_fall_thru(&u.uz) || !trap->tseen) { ! You_cant("go down here."); return(0); } } if(u.ustuck) { ! You("are being held, and cannot go down."); return(1); } if (on_level(&valley_level, &u.uz) && !u.uevent.gehennom_entered) { ! You("are standing at the gate to Gehennom."); ! pline("Unspeakable cruelty and harm lurk down there."); ! if (yn("Are you sure you want to enter?") != 'y') return(0); ! else pline("So be it."); u.uevent.gehennom_entered = 1; /* don't ask again */ } if(!next_to_u()) { ! You("are held back by your pet!"); return(0); } if (trap) ! You("%s %s.", locomotion(uasmon, "jump"), ! trap->ttyp == HOLE ? "down the hole" : "through the trap door"); if (trap && Is_stronghold(&u.uz)) { goto_hell(TRUE, TRUE); --- 686,735 ---- if (float_down(I_SPECIAL|W_ARTI|TIMEOUT)) return 1; /* came down, so moved */ } ! /*JP floating_above(stairs_down ? "stairs" : ladder_down ? ! "ladder" : surface(u.ux, u.uy));*/ ! floating_above(stairs_down ? "³¬ÃÊ" : ladder_down ? ! "¤Ï¤·¤´" : surface(u.ux, u.uy)); return 0; /* didn't move */ } if (!stairs_down && !ladder_down) { if (!(trap = t_at(u.ux,u.uy)) || (trap->ttyp != TRAPDOOR && trap->ttyp != HOLE) || !Can_fall_thru(&u.uz) || !trap->tseen) { ! /*JP You_cant("go down here.");*/ ! pline("¤³¤³¤Ç¤Ï¹ß¤ê¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥"); return(0); } } if(u.ustuck) { ! /*JP You("are being held, and cannot go down.");*/ ! You("¤Ä¤«¤Þ¤¨¤é¤ì¤Æ¤¤¤Æ¹ß¤ê¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥"); return(1); } if (on_level(&valley_level, &u.uz) && !u.uevent.gehennom_entered) { ! /*JP You("are standing at the gate to Gehennom.");*/ ! You("¥²¥Ø¥Ê¤ÎÌç¤ÎÁ°¤ËΩ¤Ã¤Æ¤¤¤ë¡¥"); ! /*JP pline("Unspeakable cruelty and harm lurk down there.");*/ ! pline("¸ÀÍդˤ¹¤é¤Ç¤­¤Ê¤¤»ÄµÔ¤È»´»ö¤¬¤³¤Î²¼¤ËÀø¤ó¤Ç¤¤¤ë¡¥"); ! /*JP if (yn("Are you sure you want to enter?") != 'y')*/ ! if (yn("ËÜÅö¤ËÆþ¤ê¤Þ¤¹¤«¡©") != 'y') return(0); ! /*JP else pline("So be it.");*/ ! else pline("±¿Ì¿¤Ï·è¤Þ¤Ã¤¿¡¥"); u.uevent.gehennom_entered = 1; /* don't ask again */ } if(!next_to_u()) { ! /*JP You("are held back by your pet!");*/ ! You("¥Ú¥Ã¥È¤ò¸Æ¤Ó¤â¤É¤·¤¿¡ª"); return(0); } if (trap) ! /*JP You("%s %s.", locomotion(uasmon, "jump"), ! trap->ttyp == HOLE ? "down the hole" : "through the trap door");*/ ! You("%s%s¡¥", locomotion(uasmon, "Èô¤Ö"), ! trap->ttyp == HOLE ? "·ê¤ËÍî¤Á¤¿" : "ÍÈâ¤ËÆþ¤Ã¤¿"); if (trap && Is_stronghold(&u.uz)) { goto_hell(TRUE, TRUE); *************** *** 656,680 **** && (!sstairs.sx || u.ux != sstairs.sx || u.uy != sstairs.sy || !sstairs.up) ) { ! You_cant("go up here."); return(0); } if(u.ustuck) { ! You("are being held, and cannot go up."); return(1); } if(near_capacity() > SLT_ENCUMBER) { /* No levitation check; inv_weight() already allows for it */ ! Your("load is too heavy to climb the %s.", ! levl[u.ux][u.uy].typ == STAIRS ? "stairs" : "ladder"); return(1); } if(ledger_no(&u.uz) == 1) { ! if (yn("Beware, there will be no return! Still climb?") != 'y') return(0); } if(!next_to_u()) { ! You("are held back by your pet!"); return(0); } if (levl[u.ux][u.uy].typ == LADDER) at_ladder = TRUE; --- 749,780 ---- && (!sstairs.sx || u.ux != sstairs.sx || u.uy != sstairs.sy || !sstairs.up) ) { ! /*JP You_cant("go up here.");*/ ! You("¤³¤³¤Ç¤Ï¾å¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥"); return(0); } if(u.ustuck) { ! /*JP You("are being held, and cannot go up.");*/ ! You("¤Ä¤«¤Þ¤¨¤é¤ì¤Æ¤¤¤Æ¾å¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥"); return(1); } if(near_capacity() > SLT_ENCUMBER) { /* No levitation check; inv_weight() already allows for it */ ! /*JP Your("load is too heavy to climb the %s.", ! levl[u.ux][u.uy].typ == STAIRS ? "stairs" : "ladder");*/ ! You("ʪ¤ò»ý¤Á¤¹¤®¤Æ%s¤ò¾å¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥", ! levl[u.ux][u.uy].typ == STAIRS ? "³¬ÃÊ" : "¤Ï¤·¤´"); return(1); } if(ledger_no(&u.uz) == 1) { ! /*JP if (yn("Beware, there will be no return! Still climb?") != 'y')*/ ! if (yn("µ¤¤ò¤Ä¤±¤í¡¤Ìá¤ì¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¤¾¡ª¤½¤ì¤Ç¤â¾å¤ê¤Þ¤¹¤«¡©") != 'y') ! return(0); } if(!next_to_u()) { ! /*JP You("are held back by your pet!");*/ ! You("¥Ú¥Ã¥È¤ò¸Æ¤Ó¤â¤É¤·¤¿¡ª"); return(0); } if (levl[u.ux][u.uy].typ == LADDER) at_ladder = TRUE; *************** *** 705,711 **** * Another possibility is that the directory was not * writable. */ ! pline("Cannot create level file for level %d.", ledger_no(&u.uz)); return -1; } --- 805,812 ---- * Another possibility is that the directory was not * writable. */ ! /*JP pline("Cannot create level file for level %d.",*/ ! pline("Ãϲ¼%d³¬¤Î¥Õ¥¡¥¤¥ë¤òºî¤ì¤Ê¤¤¡¥", ledger_no(&u.uz)); return -1; } *************** *** 714,721 **** if (!savelev(fd, ledger_no(&u.uz), COUNT_SAVE)) { (void) close(fd); delete_levelfile(ledger_no(&u.uz)); ! pline("NetHack is out of disk space for making levels!"); ! You("can save, quit, or continue playing."); return -1; } #endif --- 815,824 ---- if (!savelev(fd, ledger_no(&u.uz), COUNT_SAVE)) { (void) close(fd); delete_levelfile(ledger_no(&u.uz)); ! /*JP pline("NetHack is out of disk space for making levels!"); ! You("can save, quit, or continue playing.");*/ ! pline("¥Ç¥£¥¹¥¯¤¬Â­¤ê¤Ê¤¤¡ª"); ! You("¥»¡¼¥Ö¤·½ªÎ»¤·¡¤¤¢¤È¤Ç³¹Ô¤Ç¤­¤ë¡¥"); return -1; } #endif *************** *** 806,812 **** new_ledger = ledger_no(newlevel); ! pline("A mysterious force momentarily surrounds you..."); if (on_level(newlevel, &u.uz)) { (void) safe_teleds(); (void) next_to_u(); --- 909,916 ---- new_ledger = ledger_no(newlevel); ! /*JP pline("A mysterious force momentarily surrounds you...");*/ ! pline("°ì½Ö´ñ̯¤ÊÎϤ¬¤¢¤Ê¤¿¤òÊñ¤ó¤À¡¥¡¥¡¥"); if (on_level(newlevel, &u.uz)) { (void) safe_teleds(); (void) next_to_u(); *************** *** 820,826 **** * (s)he has been given the go-ahead by the leader. */ if (on_level(&u.uz, &qstart_level) && !newdungeon && !ok_to_quest()) { ! pline("A mysterious force prevents you from descending."); return; } --- 924,931 ---- * (s)he has been given the go-ahead by the leader. */ if (on_level(&u.uz, &qstart_level) && !newdungeon && !ok_to_quest()) { ! /*JP pline("A mysterious force prevents you from descending.");*/ ! pline("´ñ̯¤ÊÎϤ¬¤¢¤Ê¤¿¤¬¹ß¤ê¤ë¤Î¤òËɤ¤¤À¡¥"); return; } *************** *** 898,906 **** /* returning to previously visited level; reload it */ fd = open_levelfile(new_ledger); if (fd < 0) { ! pline("Cannot open file (#%d) for level %d (errno %d).", (int) new_ledger, depth(&u.uz), errno); ! pline("Probably someone removed it."); done(TRICKED); } minit(); /* ZEROCOMP */ --- 1003,1015 ---- /* returning to previously visited level; reload it */ fd = open_levelfile(new_ledger); if (fd < 0) { ! /*JP pline("Cannot open file (#%d) for level %d (errno %d).", (int) new_ledger, depth(&u.uz), errno); ! pline("Probably someone removed it.");*/ ! pline("Ãϲ¼%d³¬¤Î¥Õ¥¡¥¤¥ë¤ò³«¤±¤Ê¤¤(#%d)(errno %d).", ! depth(&u.uz), ledger_no(&u.uz), errno); ! /*JP pline("Probably someone removed it.");*/ ! pline("¤ª¤½¤é¤¯Ã¯¤«¤¬ºï½ü¤·¤¿¤Î¤À¤í¤¦¡¥"); done(TRICKED); } minit(); /* ZEROCOMP */ *************** *** 940,949 **** } /* Remove bug which crashes with levitation/punishment KAA */ if (Punished && !Levitation) { ! pline("With great effort you climb the %s.", ! at_ladder ? "ladder" : "stairs"); } else if (at_ladder) ! You("climb up the ladder."); } else { /* down */ if (at_ladder) { u_on_newpos(xupladder, yupladder); --- 1049,1061 ---- } /* Remove bug which crashes with levitation/punishment KAA */ if (Punished && !Levitation) { ! /*JP pline("With great effort you climb the %s.", ! at_ladder ? "ladder" : "stairs");*/ ! pline("¤ä¤Ã¤È¤³¤µ%s¤ò¾å¤Ã¤¿¡¥", ! at_ladder ? "¤Ï¤·¤´" : "³¬ÃÊ"); } else if (at_ladder) ! /*JP You("climb up the ladder.");*/ ! You("¤Ï¤·¤´¤ò¾å¤Ã¤¿¡¥"); } else { /* down */ if (at_ladder) { u_on_newpos(xupladder, yupladder); *************** *** 953,959 **** } if (u.dz && (near_capacity() > UNENCUMBERED || Punished || Fumbling)) { ! You("fall down the %s.", at_ladder ? "ladder" : "stairs"); if (Punished) { drag_down(); if (carried(uball)) { --- 1065,1072 ---- } if (u.dz && (near_capacity() > UNENCUMBERED || Punished || Fumbling)) { ! /*JP You("fall down the %s.", at_ladder ? "ladder" : "stairs");*/ ! You("%s¤òž¤²Íî¤Á¤¿¡¥", at_ladder ? "¤Ï¤·¤´" : "³¬ÃÊ"); if (Punished) { drag_down(); if (carried(uball)) { *************** *** 962,971 **** freeinv(uball); } } ! losehp(rnd(3), "falling downstairs", KILLED_BY); ! selftouch("Falling, you"); } else if (u.dz && at_ladder) ! You("climb down the ladder."); } } else { /* trap door or level_tele or In_endgame */ if (was_in_W_tower && On_W_tower_level(&u.uz)) --- 1075,1087 ---- freeinv(uball); } } ! /*JP losehp(rnd(3), "falling downstairs", KILLED_BY); ! selftouch("Falling, you");*/ ! losehp(rnd(3), "³¬Ãʤòž¤²Íî¤Á¤Æ", KILLED_BY); ! selftouch("Íî¤Á¤Ê¤¬¤é¡¤¤¢¤Ê¤¿¤Ï"); } else if (u.dz && at_ladder) ! /*JP You("climb down the ladder.");*/ ! You("¤Ï¤·¤´¤ò¹ß¤ê¤¿¡¥"); } } else { /* trap door or level_tele or In_endgame */ if (was_in_W_tower && On_W_tower_level(&u.uz)) *************** *** 988,994 **** LR_DOWNTELE, (d_level *) 0); if (falling) { if (Punished) ballfall(); ! selftouch("Falling, you"); } } --- 1104,1111 ---- LR_DOWNTELE, (d_level *) 0); if (falling) { if (Punished) ballfall(); ! /*JP selftouch("Falling, you");*/ ! selftouch("Íî¤Á¤Ê¤¬¤é¡¤¤¢¤Ê¤¿¤Ï"); } } *************** *** 1036,1061 **** /* Check whether we just entered Gehennom. */ if (!In_hell(&u.uz0) && Inhell) { if (Is_valley(&u.uz)) { ! You("arrive at the Valley of the Dead..."); ! pline_The("odor of burnt flesh and decay pervades the air."); #ifdef MICRO display_nhwindow(WIN_MESSAGE, FALSE); #endif ! You_hear("groans and moans everywhere."); ! } else pline("It is hot here. You smell smoke..."); } if (familiar) { static const char *fam_msgs[4] = { ! "You have a sense of deja vu.", "You feel like you've been here before.", ! "This place looks familiar...", 0 /* no message */ }; static const char *halu_fam_msgs[4] = { ! "Whoa! Everything looks different.", "You are surrounded by twisty little passages, all alike.", ! "Gee, this looks like uncle Conan's place...", 0 /* no message */ }; const char *mesg; --- 1153,1188 ---- /* Check whether we just entered Gehennom. */ if (!In_hell(&u.uz0) && Inhell) { if (Is_valley(&u.uz)) { ! /*JP You("arrive at the Valley of the Dead...");*/ ! You("»à¤Îë¤ËÅþ㤷¤¿¡¥¡¥¡¥"); ! /*JP pline_The("odor of burnt flesh and decay pervades the air.");*/ ! pline("»àÆù¤äÉåÆù¤Îdz¤¨¤ë°­½­¤¬¤¿¤À¤è¤Ã¤Æ¤¤¤ë¡¥"); #ifdef MICRO display_nhwindow(WIN_MESSAGE, FALSE); #endif ! /*JP You_hear("groans and moans everywhere.");*/ ! pline("¤¦¤á¤­À¼¤ä¤¦¤Ê¤êÀ¼¤¬¤¢¤Á¤³¤Á¤«¤éʹ¤³¤¨¤ë¡¥"); ! /*JP } else pline("It is hot here. You smell smoke...");*/ ! } else pline("¤³¤³¤Ï½ë¤¤¡¥±ì¤ê¤ÎÆ÷¤¤¤¬¤·¤¿¡¥¡¥¡¥"); } if (familiar) { static const char *fam_msgs[4] = { ! /*JP "You have a sense of deja vu.", "You feel like you've been here before.", ! "This place looks familiar...",*/ ! "¥Ç¥¸¥ã¥ô¥å¤Ë¤ª¤½¤ï¤ì¤¿¡¥", ! "Á°¤Ë¤³¤³¤ËÍ褿¤³¤È¤¬¤¢¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥", ! "¤³¤Î¾ì½ê¤Ï²û¤«¤·¤¤¡¥¡¥¡¥", 0 /* no message */ }; static const char *halu_fam_msgs[4] = { ! /*JP "Whoa! Everything looks different.", "You are surrounded by twisty little passages, all alike.", ! "Gee, this looks like uncle Conan's place...",*/ ! "¥ª¥ï¥Ã¡ª¤Þ¤Ã¤¿¤¯ÊѤï¤Ã¤Á¤Þ¤Ã¤Æ¤ë¡¥", ! "¤¢¤Ê¤¿¤Ï¤Þ¤¬¤ê¤¯¤Í¤Ã¤¿ÄÌÏ©¤Ë¤«¤³¤Þ¤ì¤Æ¤¤¤¿¡¥¡¥¡¥", ! "¥²¡¼¡ª¥³¥Ê¥ó¤ª¤¸¤µ¤ó¤Î¾ì½ê¤Ë»÷¤Æ¤¤¤ë¡¥¡¥¡¥", 0 /* no message */ }; const char *mesg; *************** *** 1070,1082 **** #ifdef REINCARNATION if (new && Is_rogue_level(&u.uz)) ! You("enter what seems to be an older, more primitive world."); #endif /* Final confrontation */ if (In_endgame(&u.uz) && newdungeon && u.uhave.amulet) resurrect(); if (newdungeon && In_V_tower(&u.uz) && In_hell(&u.uz0)) ! pline_The("heat and smoke are gone."); /* the message from your quest leader */ if (!In_quest(&u.uz0) && at_dgn_entrance("The Quest") && --- 1197,1211 ---- #ifdef REINCARNATION if (new && Is_rogue_level(&u.uz)) ! /*JP You("enter what seems to be an older, more primitive world.");*/ ! You("¤È¤Æ¤â¸Å¤¯¤µ¤¯¸«¤¨¤ëÉô²°¤ËÆþ¤Ã¤¿¡¤¤º¤¤¤Ö¤óñ½ã¤ÊÀ¤³¦¤À¡¥"); #endif /* Final confrontation */ if (In_endgame(&u.uz) && newdungeon && u.uhave.amulet) resurrect(); if (newdungeon && In_V_tower(&u.uz) && In_hell(&u.uz0)) ! /*JP pline_The("heat and smoke are gone.");*/ ! pline("Ç®¤È±ì¤ê¤Ï¾Ã¤¨¤µ¤Ã¤¿¡¥"); /* the message from your quest leader */ if (!In_quest(&u.uz0) && at_dgn_entrance("The Quest") && *************** *** 1094,1101 **** if (Is_knox(&u.uz) && (new || !mvitals[PM_CROESUS].died)) { register struct monst *mtmp; ! You("penetrated a high security area!"); ! pline("An alarm sounds!"); for(mtmp = fmon; mtmp; mtmp = mtmp->nmon) if(mtmp->msleep) mtmp->msleep = 0; } --- 1223,1232 ---- if (Is_knox(&u.uz) && (new || !mvitals[PM_CROESUS].died)) { register struct monst *mtmp; ! /*JP You("penetrated a high security area!");*/ ! You("ºÇ¹âµ¡Ì©¤Î¾ì½ê¤ØƧ¤ß¹þ¤ó¤À¡ª"); ! /*JP pline("An alarm sounds!");*/ ! pline("·ÙÊ󤬤ʤä¿¡ª"); for(mtmp = fmon; mtmp; mtmp = mtmp->nmon) if(mtmp->msleep) mtmp->msleep = 0; } *************** *** 1114,1120 **** if (Conflict) { coord mm; int i = rnd(4); ! pline("A voice booms: \"Thy desire for conflict shall be fulfilled!\""); while(i--) { mm.x = u.ux; mm.y = u.uy; --- 1245,1252 ---- if (Conflict) { coord mm; int i = rnd(4); ! /*JP pline("A voice booms: \"Thy desire for conflict shall be fulfilled!\"");*/ ! pline("À¼¤¬¶Á¤¤¤¿:¡ÖÆò¤ÎÏÀÁè¤Ø¤Î˾¡¤¤«¤Ê¤¨¤é¤ì¤ë¤Ù¤·¡ª¡×"); while(i--) { mm.x = u.ux; mm.y = u.uy; *************** *** 1126,1132 **** } else if(u.ualign.record > 8 /* fervent */) { coord mm; ! pline("A voice whispers: \"Thou hast been worthy of me!\""); mm.x = u.ux; mm.y = u.uy; if (enexto(&mm, mm.x, mm.y, &mons[PM_ANGEL])) { --- 1258,1265 ---- } else if(u.ualign.record > 8 /* fervent */) { coord mm; ! /*JP pline("A voice whispers: \"Thou hast been worthy of me!\"");*/ ! pline("¤µ¤µ¤ä¤­À¼¤¬Ê¹¤³¤¨¤¿:¡ÖÆò¡¤²æ¤¬É¾²Á¤òÆÀ¤¿¡ª¡×"); mm.x = u.ux; mm.y = u.uy; if (enexto(&mm, mm.x, mm.y, &mons[PM_ANGEL])) { *************** *** 1135,1143 **** register struct obj *otmp; if (!Blind) ! pline("An angel appears near you."); else ! You_feel("the presence of a friendly angel near you."); /* guardian angel -- the one case mtame doesn't * imply an edog structure, so we don't want to * call tamedog(). --- 1268,1278 ---- register struct obj *otmp; if (!Blind) ! /*JP pline("An angel appears near you.");*/ ! pline("Å·»È¤¬¤¢¤Ê¤¿¤Î¤½¤Ð¤Ë¸½¤ï¤ì¤¿¡¥"); else ! /*JP You_feel("the presence of a friendly angel near you.");*/ ! You("¶á¤¯¤Ëͧ¹¥Åª¤ÊÅ·»È¤Î¸ºß¤ò´¶¤¸¤¿¡¥"); /* guardian angel -- the one case mtame doesn't * imply an edog structure, so we don't want to * call tamedog(). *************** *** 1250,1256 **** where = corpse->where; is_uwep = corpse == uwep; ! cname = eos(strcpy(cname_buf, "bite-covered ")); Strcpy(cname, corpse_xname(corpse, TRUE)); mcarry = (where == OBJ_MINVENT) ? corpse->ocarry : 0; mtmp = revive(corpse); /* corpse is gone if successful */ --- 1385,1392 ---- where = corpse->where; is_uwep = corpse == uwep; ! /*JP cname = eos(strcpy(cname_buf, "bite-covered "));*/ ! cname = eos(strcpy(cname_buf, "»õ·¿¤Î¤Ä¤¤¤¿")); Strcpy(cname, corpse_xname(corpse, TRUE)); mcarry = (where == OBJ_MINVENT) ? corpse->ocarry : 0; mtmp = revive(corpse); /* corpse is gone if successful */ *************** *** 1261,1285 **** switch (where) { case OBJ_INVENT: if (is_uwep) ! pline_The("%s writhes out of your grasp!", cname); else ! You_feel("squirming in your backpack!"); break; case OBJ_FLOOR: if (cansee(mtmp->mx, mtmp->my)) ! pline("%s rises from the dead!", chewed ? ! Adjmonnam(mtmp, "bite-covered") : Monnam(mtmp)); break; case OBJ_MINVENT: /* probably a nymph's */ if (cansee(mtmp->mx, mtmp->my)) { if (canseemon(mcarry)) ! pline("Startled, %s drops %s as it revives!", ! mon_nam(mcarry), an(cname)); else ! pline("%s suddenly appears!", chewed ? ! Adjmonnam(mtmp, "bite-covered") : Monnam(mtmp)); } break; --- 1397,1429 ---- switch (where) { case OBJ_INVENT: if (is_uwep) ! /*JP pline_The("%s writhes out of your grasp!", cname);*/ ! pline_The("%s¤Ï¤â¤¬¤¤¤¿¡ª", cname); else ! /*JP You_feel("squirming in your backpack!");*/ ! pline("ÇØÉ餤ÂޤDz¿¤«¤¬¤â¤¬¤¤¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡ª"); break; case OBJ_FLOOR: if (cansee(mtmp->mx, mtmp->my)) ! /*JP pline("%s rises from the dead!", chewed ? ! Adjmonnam(mtmp, "bite-covered") : Monnam(mtmp));*/ ! pline("%s%s¤¬Áɤä¿¡ª", ! chewed ? "»õ·¿¤Î¤Ä¤¤¤¿" : "", Monnam(mtmp)); break; case OBJ_MINVENT: /* probably a nymph's */ if (cansee(mtmp->mx, mtmp->my)) { if (canseemon(mcarry)) ! /*JP pline("Startled, %s drops %s as it revives!", ! mon_nam(mcarry), an(cname));*/ ! pline("%s¤¬À¸¤­¤«¤¨¤Ã¤¿¤Î¤Ë¤Ó¤Ã¤¯¤ê¤·¤Æ¡¤%s¤Ï%s¤òÍ¤¿¡ª", ! cname, mon_nam(mcarry), an(cname)); else ! /*JP pline("%s suddenly appears!", chewed ? ! Adjmonnam(mtmp, "bite-covered") : Monnam(mtmp));*/ ! pline("%s¤¬ÆÍÁ³¸½¤ï¤ì¤¿¡ª", chewed ? ! Adjmonnam(mtmp, "»õ·¿¤Î¤Ä¤¤¤¿") : Monnam(mtmp)); } break; *************** *** 1305,1311 **** /* if we succeed, the corpse is gone, otherwise, rot it away */ if (!revive_corpse(body)) { if (is_rider(&mons[body->corpsenm])) ! You_feel("less hassled."); (void) start_timer(250L - (monstermoves-body->age), TIMER_OBJECT, ROT_CORPSE, arg); } --- 1449,1456 ---- /* if we succeed, the corpse is gone, otherwise, rot it away */ if (!revive_corpse(body)) { if (is_rider(&mons[body->corpsenm])) ! /*JP You_feel("less hassled.");*/ ! You("¤Û¤Ã¤È¤·¤¿¡¥"); (void) start_timer(250L - (monstermoves-body->age), TIMER_OBJECT, ROT_CORPSE, arg); } *************** *** 1328,1340 **** if (Blinded < 4) Blinded = 0; else Blinded -= 4; if (!Blinded) { ! pline("You've got the glop off."); u.ucreamed = 0; Blinded = 1; make_blinded(0L,TRUE); return(0); } else if (!u.ucreamed) { ! Your("%s feels clean now.", body_part(FACE)); return(0); } return(1); /* still busy */ --- 1473,1487 ---- if (Blinded < 4) Blinded = 0; else Blinded -= 4; if (!Blinded) { ! /*JP pline("You've got the glop off.");*/ ! You("%s¤«¤éÇ´¤ê¤Ä¤¯¤â¤Î¤¬¤È¤ì¤¿¡¥", body_part(FACE)); u.ucreamed = 0; Blinded = 1; make_blinded(0L,TRUE); return(0); } else if (!u.ucreamed) { ! /*JP Your("%s feels clean now.", body_part(FACE));*/ ! Your("%s¤Ï¤­¤ì¤¤¤Ë¤Ê¤Ã¤¿¡¥", body_part(FACE)); return(0); } return(1); /* still busy */ *************** *** 1346,1359 **** if(u.ucreamed) { static NEARDATA char buf[39]; ! Sprintf(buf, "wiping off your %s", body_part(FACE)); set_occupation(wipeoff, buf, 0); /* Not totally correct; what if they change back after now * but before they're finished wiping? */ return(1); } ! Your("%s is already clean.", body_part(FACE)); return(1); } --- 1493,1508 ---- if(u.ucreamed) { static NEARDATA char buf[39]; ! /*JP Sprintf(buf, "wiping off your %s", body_part(FACE));*/ ! Sprintf(buf, "%s¤ò¿¡¤¤¤Æ¤¤¤ë", body_part(FACE)); set_occupation(wipeoff, buf, 0); /* Not totally correct; what if they change back after now * but before they're finished wiping? */ return(1); } ! /*JP Your("%s is already clean.", body_part(FACE));*/ ! Your("%s¤Ï±ø¤ì¤Æ¤¤¤Ê¤¤¡¥", body_part(FACE)); return(1); } *************** *** 1384,1393 **** } if((Wounded_legs & BOTH_SIDES) == BOTH_SIDES) { ! Your("%s feel somewhat better.", makeplural(body_part(LEG))); } else { ! Your("%s feels somewhat better.", body_part(LEG)); } Wounded_legs = 0; --- 1533,1544 ---- } if((Wounded_legs & BOTH_SIDES) == BOTH_SIDES) { ! /*JP Your("%s feel somewhat better.",*/ ! Your("ξ%s¤Ï²óÉü¤·¤¿¡¥", makeplural(body_part(LEG))); } else { ! /*JP Your("%s feels somewhat better.",*/ ! Your("%s¤Ï²óÉü¤·¤¿¡¥", body_part(LEG)); } Wounded_legs = 0; *************** *** 1398,1400 **** --- 1549,1552 ---- #endif /* OVLB */ /*do.c*/ + diff -c -r ../nethack-3.2.2/src/do_name.c ./src/do_name.c *** ../nethack-3.2.2/src/do_name.c Sat Dec 28 21:53:38 1996 --- ./src/do_name.c Tue Sep 23 06:50:04 1997 *************** *** 2,7 **** --- 2,15 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + + #include "hack.h" #ifdef OVLB *************** *** 21,27 **** if(iflags.num_pad) sdp = ndir; else sdp = sdir; /* DICE workaround */ if (flags.verbose) { ! pline("(For instructions type a ?)"); msg_given = TRUE; } cx = cc->x; --- 29,36 ---- if(iflags.num_pad) sdp = ndir; else sdp = sdir; /* DICE workaround */ if (flags.verbose) { ! /*JP pline("(For instructions type a ?)");*/ ! pline("(?¤Ç¥Ø¥ë¥×)"); msg_given = TRUE; } cx = cc->x; *************** *** 66,80 **** --- 75,100 ---- if(c == '?'){ char sbuf[80]; winid tmpwin = create_nhwindow(NHW_MENU); + /*JP Sprintf(sbuf, "Use [%s] to move the cursor to %s.", + */ + Sprintf(sbuf, "[%s]¤Ç%s¤Ø°ÜÆ°¤Ç¤­¤ë¡¥", iflags.num_pad ? "2468" : "hjkl", goal); putstr(tmpwin, 0, sbuf); + #if 0 /*JP*/ putstr(tmpwin, 0, "Use [HJKL] to move the cursor 8 units at a time."); putstr(tmpwin, 0, "Or enter a background symbol (ex. <)."); putstr(tmpwin, 0, "Type a . when you are at the right place."); if(!force) putstr(tmpwin, 0, "Type Space or Escape when you're done."); + #endif + putstr(tmpwin, 0, + "[HJKL]¤Ç°ìÅÙ¤Ë8Êâ°ÜÆ°¤Ç¤­¤ë¡¥"); + putstr(tmpwin, 0, "[<]¤Ç¸µ¤Î°ÌÃÖ¤ËÌá¤ë¡¥"); + putstr(tmpwin, 0, "[.]¤Ç·èÄê¡¥"); + if(!force) + putstr(tmpwin, 0, "¥¹¥Ú¡¼¥¹¤Þ¤¿¤Ï¥¨¥¹¥±¡¼¥×¤Ç½ªÎ»¡¥"); putstr(tmpwin, 0, ""); display_nhwindow(tmpwin, TRUE); destroy_nhwindow(tmpwin); *************** *** 109,127 **** --- 129,161 ---- } /* column */ } /* row */ } /* pass */ + /*JP pline("Can't find dungeon feature '%c'", c); + */ + pline("'%c'¡©", c); msg_given = TRUE; goto nxtc; } else { + #if 0 /*JP*/ pline("Unknown direction: '%s' (%s).", visctrl((char)c), !force ? "aborted" : iflags.num_pad ? "use 2468 or ." : "use hjkl or ."); + #endif + pline("¤½¤ÎÊý¸þ¤Ï¤Ê¤¤: '%s' (%s).", + visctrl((char)c), + force ? + iflags.num_pad ? "[2468]¤Ç°ÜÆ°¡¤[.]¤Ç½ªÎ»" : + "[hjkl]¤Ç°ÜÆ°¡¤[.]¤Ç½ªÎ»" : + "ÃæÃǤ·¤¿"); msg_given = TRUE; } /* k => matching */ } /* !quitchars */ if (force) goto nxtc; + /*JP pline("Done."); + */ + pline("°Ê¾å¡¥"); msg_given = FALSE; /* suppress clear */ cx = -1; cy = 0; *************** *** 164,169 **** --- 198,207 ---- if (lth) Strcpy(NAME(mtmp), name); return mtmp; } + /*JP*/ + if(is_kanji2(name,lth-1)) + --lth; + mtmp2 = newmonst(mtmp->mxlth + lth); *mtmp2 = *mtmp; for(i=0; imxlth; i++) *************** *** 184,203 **** char qbuf[QBUFSZ]; if (Hallucination) { ! You("would never recognize it anyway."); return 0; } cc.x = u.ux; cc.y = u.uy; ! getpos(&cc, FALSE, "the monster you want to name"); cx = cc.x; cy = cc.y; if(cx < 0) return(0); if (cx == u.ux && cy == u.uy) { ! pline("This %s creature is called %s and cannot be renamed.", ACURR(A_CHA) > 14 ? ! (flags.female ? "beautiful" : "handsome") : ! "ugly", plname); return(0); } --- 222,246 ---- char qbuf[QBUFSZ]; if (Hallucination) { ! /*JP You("would never recognize it anyway.");*/ ! You("¤½¤ì¤òǧ¼±¤Ç¤­¤Ê¤¤¡¥"); return 0; } cc.x = u.ux; cc.y = u.uy; ! /*JP getpos(&cc, FALSE, "the monster you want to name");*/ ! getpos(&cc, FALSE, "¤¢¤Ê¤¿¤¬Ì¾¤Å¤±¤¿¤¤²øʪ"); cx = cc.x; cy = cc.y; if(cx < 0) return(0); if (cx == u.ux && cy == u.uy) { ! /*JP pline("This %s creature is called %s and cannot be renamed.",*/ ! pline("¤³¤Î%sÀ¸¤­Êª¤Ï%s¤È¸Æ¤Ð¤ì¤Æ¤¤¤Æ¡¤Ì¾Á°¤ÏÊѹ¹¤Ç¤­¤Ê¤¤¡¥", ACURR(A_CHA) > 14 ? ! /*JP (flags.female ? "beautiful" : "handsome") : ! "ugly",*/ ! (flags.female ? "Èþ¿Í¤Î" : "¤«¤Ã¤³¤¤¤¤") : ! "½¹¤¤", plname); return(0); } *************** *** 207,228 **** --- 250,280 ---- || mtmp->m_ap_type == M_AP_FURNITURE || mtmp->m_ap_type == M_AP_OBJECT || (mtmp->minvis && !See_invisible)))) { + /*JP pline("I see no monster there."); + */ + pline("¤½¤³¤Ë²øʪ¤Ï¤¤¤Ê¤¤¡¥"); return(0); } /* special case similar to the one in lookat() */ + /*JP if (mtmp->data != &mons[PM_HIGH_PRIEST]) Strcpy(buf, x_monnam(mtmp, 0, (char *)0, 1)); else Sprintf(buf, "the high priest%s", mtmp->female ? "ess" : ""); Sprintf(qbuf, "What do you want to call %s?", buf); + */ + Sprintf(qbuf, "%s¤ò²¿¤È¸Æ¤Ó¤Þ¤¹¤«¡©", x_monnam(mtmp, 0, (char *)0, 1)); getlin(qbuf,buf); if(!*buf || *buf == '\033') return(0); /* strip leading and trailing spaces; unnames monster if all spaces */ (void)mungspaces(buf); if (mtmp->iswiz || type_is_pname(mtmp->data)) + /*JP pline("%s doesn't like being called names!", Monnam(mtmp)); + */ + pline("%s¤Ï̾Á°¤Ç¸Æ¤Ð¤ì¤ë¤Î¤¬·ù¤¤¤Ê¤è¤¦¤À¡ª", Monnam(mtmp)); else (void) christen_monst(mtmp, buf); return(0); } *************** *** 241,247 **** const char *aname; short objtyp; ! Sprintf(qbuf, "What do you want to name %s?", doname(obj)); getlin(qbuf, buf); if(!*buf || *buf == '\033') return; /* strip leading and trailing spaces; unnames item if all spaces */ --- 293,300 ---- const char *aname; short objtyp; ! /*JP Sprintf(qbuf, "What do you want to name %s?", doname(obj));*/ ! Sprintf(qbuf, "%s¤ò²¿¤È̾¤Å¤±¤Þ¤¹¤«¡©", doname(obj)); getlin(qbuf, buf); if(!*buf || *buf == '\033') return; /* strip leading and trailing spaces; unnames item if all spaces */ *************** *** 252,258 **** Strcpy(buf, aname); if (obj->oartifact) { ! pline_The("artifact seems to resist the attempt."); return; } else if (restrict_name(obj, buf) || exist_artifact(obj->otyp, buf)) { int n = rn2((int)strlen(buf)); --- 305,312 ---- Strcpy(buf, aname); if (obj->oartifact) { ! /*JP pline_The("artifact seems to resist the attempt.");*/ ! pline("À»´ï¤Ï̾¤Å¤±¤òµñÈݤ·¤Æ¤¤¤ë¤è¤¦¤À¡¥"); return; } else if (restrict_name(obj, buf) || exist_artifact(obj->otyp, buf)) { int n = rn2((int)strlen(buf)); *************** *** 261,269 **** c1 = lowc(buf[n]); do c2 = 'a' + rn2('z'-'a'); while (c1 == c2); buf[n] = (buf[n] == c1) ? c2 : highc(c2); /* keep same case */ ! pline("While engraving your %s slips.", body_part(HAND)); display_nhwindow(WIN_MESSAGE, FALSE); ! You("engrave: \"%s\".",buf); } obj = oname(obj, buf); if (obj->where == OBJ_INVENT) --- 315,325 ---- c1 = lowc(buf[n]); do c2 = 'a' + rn2('z'-'a'); while (c1 == c2); buf[n] = (buf[n] == c1) ? c2 : highc(c2); /* keep same case */ ! /*JP pline("While engraving your %s slips.", body_part(HAND));*/ ! pline("¹ï¤ó¤Ç¤¤¤ë´Ö¤Ë%s¤¬³ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡¥", body_part(HAND)); display_nhwindow(WIN_MESSAGE, FALSE); ! /*JP You("engrave: \"%s\".",buf);*/ ! You("¹ï¤ó¤À: ¡Ö%s¡×¡¥",buf); } obj = oname(obj, buf); if (obj->where == OBJ_INVENT) *************** *** 372,377 **** --- 428,437 ---- lth = *name ? (int)(strlen(name) + 1) : 0; if (lth > PL_PSIZ) { + /*JP*/ + if(is_kanji2(buf,lth-1)) + --lth; + lth = PL_PSIZ; name = strncpy(buf, name, PL_PSIZ - 1); buf[PL_PSIZ - 1] = '\0'; *************** *** 411,417 **** #ifdef REDO ch = #endif ! ynq("Name an individual object?")) { case 'q': break; case 'y': --- 471,478 ---- #ifdef REDO ch = #endif ! /*JP ynq("Name an individual object?")) {*/ ! ynq("»ý¤Áʪ¤Ë¸ÄÊ̤Î̾Á°¤ò¤Ä¤±¤Þ¤¹¤«¡©")) { case 'q': break; case 'y': *************** *** 419,435 **** savech(ch); #endif allowall[0] = ALL_CLASSES; allowall[1] = '\0'; ! obj = getobj(allowall, "name"); if(obj) do_oname(obj); break; default : #ifdef REDO savech(ch); #endif ! obj = getobj(callable, "call"); if (obj) { if (!obj->dknown) { ! You("would never recognize another one."); return 0; } docall(obj); --- 480,499 ---- savech(ch); #endif allowall[0] = ALL_CLASSES; allowall[1] = '\0'; ! /*JP obj = getobj(allowall, "name");*/ ! obj = getobj(allowall, "̾¤Å¤±¤ë"); if(obj) do_oname(obj); break; default : #ifdef REDO savech(ch); #endif ! /*JP obj = getobj(callable, "call");*/ ! obj = getobj(callable, "¸Æ¤Ö"); if (obj) { if (!obj->dknown) { ! /*JP You("would never recognize another one.");*/ ! You("¾¤Ëǧ¼±¤Ç¤­¤Ê¤¤¡¥"); return 0; } docall(obj); *************** *** 456,465 **** #endif if (objects[otemp.otyp].oc_class == POTION_CLASS && otemp.corpsenm) /* kludge, meaning it's sink water */ Sprintf(qbuf,"Call a stream of %s fluid:", ! OBJ_DESCR(objects[otemp.otyp])); else Sprintf(qbuf, "Call %s:", an(xname(&otemp))); getlin(qbuf, buf); if(!*buf || *buf == '\033') return; --- 520,537 ---- #endif if (objects[otemp.otyp].oc_class == POTION_CLASS && otemp.corpsenm) /* kludge, meaning it's sink water */ + /*JP Sprintf(qbuf,"Call a stream of %s fluid:", ! */ ! Sprintf(qbuf,"%s¤Î±ÕÂÎ:", ! /*JP OBJ_DESCR(objects[otemp.otyp]));*/ ! jtrns_obj('!', OBJ_DESCR(objects[otemp.otyp]))); ! else + /*JP Sprintf(qbuf, "Call %s:", an(xname(&otemp))); + */ + Sprintf(qbuf, "%s:", an(xname(&otemp))); getlin(qbuf, buf); if(!*buf || *buf == '\033') return; *************** *** 526,531 **** --- 598,604 ---- char buf[BUFSZ]; #else static char buf[BUFSZ]; + static char mname[BUFSZ]; #endif struct permonst *mdat = mtmp->data; char *name = 0; *************** *** 543,549 **** if (!trunam && !canspotmon(mtmp) && !(u.uswallow && mtmp == u.ustuck) && !killer) { if (!(cansee(bhitpos.x, bhitpos.y) && mon_visible(mtmp))) { ! Strcpy(buf, "it"); return buf; } } --- 616,623 ---- if (!trunam && !canspotmon(mtmp) && !(u.uswallow && mtmp == u.ustuck) && !killer) { if (!(cansee(bhitpos.x, bhitpos.y) && mon_visible(mtmp))) { ! /*JP Strcpy(buf, "it");*/ ! Strcpy(buf, "²¿¼Ô¤«"); return buf; } } *************** *** 556,562 **** * For unusual ones, 'Asidonhopo the invisible shopkeeper' * or 'Asidonhopo the blue dragon'. */ ! Strcat(buf, " "); } else if (mtmp->mnamelth) { name = NAME(mtmp); } --- 630,637 ---- * For unusual ones, 'Asidonhopo the invisible shopkeeper' * or 'Asidonhopo the blue dragon'. */ ! /*JP Strcat(buf, " ");*/ ! Strcat(buf, "¤È¤¤¤¦Ì¾¤Î"); } else if (mtmp->mnamelth) { name = NAME(mtmp); } *************** *** 565,587 **** if (!trunam) { force_the = (!Hallucination && (mdat == &mons[PM_WIZARD_OF_YENDOR] || mtmp->isshk)); if (force_the || ((article == 1 || ((!name || called) && article == 0)) && (Hallucination || !type_is_pname(mdat)))) Strcat(buf, "the "); if (adjective) ! Strcat(strcat(buf, adjective), " "); if (mtmp->minvis && !Blind) ! Strcat(buf, "invisible "); } if (name && !called) { Strcat(buf, name); goto bot_nam; } if (Hallucination && !trunam) { ! Strcat(buf, rndmonnam()); } else if (mdat == &mons[PM_GHOST]) { register const char *gn = (const char *) mtmp->mextra; if (!*gn) { --- 640,671 ---- if (!trunam) { force_the = (!Hallucination && (mdat == &mons[PM_WIZARD_OF_YENDOR] || mtmp->isshk)); + #if 0 /*JP*/ if (force_the || ((article == 1 || ((!name || called) && article == 0)) && (Hallucination || !type_is_pname(mdat)))) Strcat(buf, "the "); + #endif /*JP*/ if (adjective) ! /*JP Strcat(strcat(buf, adjective), " ");*/ ! Strcat(buf, adjective); if (mtmp->minvis && !Blind) ! /*JP Strcat(buf, "invisible ");*/ ! Strcat(buf, "»Ñ¤Î¸«¤¨¤Ê¤¤"); } if (name && !called) { Strcat(buf, name); goto bot_nam; } + if (name) { + Strcat(buf, NAME(mtmp)); + Strcat(buf, "¤È¸Æ¤Ð¤ì¤ë"); + } if (Hallucination && !trunam) { ! /*JP Strcat(buf, rndmonnam());*/ ! Strcat(buf, jtrns_mon(rndmonnam(), 0)); } else if (mdat == &mons[PM_GHOST]) { register const char *gn = (const char *) mtmp->mextra; if (!*gn) { *************** *** 591,597 **** (const char *)plname; Strcpy((char *) mtmp->mextra, gn); } ! Sprintf(buf, "%s ghost", s_suffix((char *) mtmp->mextra)); } else if (is_mplayer(mdat) && !In_endgame(&u.uz)) { char pbuf[BUFSZ]; Strcpy(pbuf, rank_of((int)mtmp->m_lev, --- 675,682 ---- (const char *)plname; Strcpy((char *) mtmp->mextra, gn); } ! /*JP Sprintf(buf, "%s ghost", s_suffix((char *) mtmp->mextra));*/ ! Sprintf(buf, "%s¤ÎÍ©Îî", s_suffix((char *) mtmp->mextra)); } else if (is_mplayer(mdat) && !In_endgame(&u.uz)) { char pbuf[BUFSZ]; Strcpy(pbuf, rank_of((int)mtmp->m_lev, *************** *** 599,611 **** (boolean)mtmp->female)); Strcat(buf, lcase(pbuf)); } else { ! Strcat(buf, mdat->mname); } if (name) { /* if we reach here, `name' implies `called' */ Strcat(buf, " called "); Strcat(buf, NAME(mtmp)); } bot_nam: if (article == 2 && !force_the && (!name || called) && (Hallucination || !type_is_pname(mdat))) --- 684,699 ---- (boolean)mtmp->female)); Strcat(buf, lcase(pbuf)); } else { ! /*JP Strcat(buf, mdat->mname);*/ ! Strcat(buf, jtrns_mon(mdat->mname, mtmp->female)); } + #if 0 /*JP*/ if (name) { /* if we reach here, `name' implies `called' */ Strcat(buf, " called "); Strcat(buf, NAME(mtmp)); } + #endif bot_nam: if (article == 2 && !force_the && (!name || called) && (Hallucination || !type_is_pname(mdat))) *************** *** 641,646 **** --- 729,735 ---- register char *bp = mon_nam(mtmp); *bp = highc(*bp); + return(bp); } *************** *** 746,754 **** name = rn1(SPECIAL_PM + SIZE(bogusmons) - LOW_PM, LOW_PM); } while (name < SPECIAL_PM && (type_is_pname(&mons[name]) || (mons[name].geno & G_NOGEN))); ! if (name >= SPECIAL_PM) return bogusmons[name - SPECIAL_PM]; return mons[name].mname; } const char *pronoun_pairs[][2] = { --- 835,846 ---- name = rn1(SPECIAL_PM + SIZE(bogusmons) - LOW_PM, LOW_PM); } while (name < SPECIAL_PM && (type_is_pname(&mons[name]) || (mons[name].geno & G_NOGEN))); ! /*JP if (name >= SPECIAL_PM) return bogusmons[name - SPECIAL_PM]; return mons[name].mname; + */ + if (name >= SPECIAL_PM) return jtrns_mon(bogusmons[name - SPECIAL_PM], 0); + return jtrns_mon(mons[name].mname, rn2(2)); } const char *pronoun_pairs[][2] = { *************** *** 800,806 **** #ifdef OVL2 static NEARDATA const char *hcolors[] = { ! "ultraviolet", "infrared", "bluish-orange", "reddish-green", "dark white", "light black", "sky blue-pink", "salty", "sweet", "sour", "bitter", "striped", "spiral", "swirly", "plaid", "checkered", "argyle", --- 892,898 ---- #ifdef OVL2 static NEARDATA const char *hcolors[] = { ! /*JP "ultraviolet", "infrared", "bluish-orange", "reddish-green", "dark white", "light black", "sky blue-pink", "salty", "sweet", "sour", "bitter", "striped", "spiral", "swirly", "plaid", "checkered", "argyle", *************** *** 808,814 **** "square", "round", "triangular", "cabernet", "sangria", "fuchsia", "wisteria", "lemon-lime", "strawberry-banana", "peppermint", ! "romantic", "incandescent" }; const char * --- 900,915 ---- "square", "round", "triangular", "cabernet", "sangria", "fuchsia", "wisteria", "lemon-lime", "strawberry-banana", "peppermint", ! "romantic", "incandescent"*/ ! "»ç³°¿§¤Î", "ÀÖ³°¿§¤Î", "ÀÄ¿§¤¬¤«¤Ã¤¿¥ª¥ì¥ó¥¸¿§¤Î", ! "À֤ߤ¬¤«¤Ã¤¿Î理Î", "°Å¤¤Çò¿§¤Î", "ÌÀ¤ë¤¤¹õ¤Î", "¿å¿§¤¬¤«¤Ã¤¿¥Ô¥ó¥¯¿§¤Î", ! "±ö¿É¤¤", "´Å¤¤", "¤¹¤Ã¤Ñ¤¤", "¶ì¤¤", ! "¤·¤ÞÌÏÍͤÎ", "¤é¤»¤ó¾õ¤Î", "ÇȾõ¤Î", "³Ê»ÒÌÏÍ;õ¤Î", "¥Á¥§¥Ã¥¯¾õ¤Î", "Êü¼Í¾õ¤Î", ! "¥Ú¡¼¥º¥ê¡¼ÌÏÍͤÎ", "¤·¤ß¾õ¤Î", "ÀÄ¿§¤ÎÈÃÅÀ¾õ¤Î", "ÅÀ¾õ¤Î", ! "»Í³Ñ·Á¾õ¤Î", "´Ý¾õ¤Î", "»°³Ñ¾õ¤Î", ! "ÆüËܼò¿§¤Î", "¤Ö¤É¤¦¼ò¿§¤Î", "ºù¿§¤Î", "Æ£¿§¤Î", ! "¥ì¥â¥ó¥é¥¤¥à¿§¤Î", "çõ¥Ð¥Ê¥Ê¿§¤Î", "¥Ú¥Ñ¡¼¥ß¥ó¥È¿§¤Î", ! "¥í¥Þ¥ó¥Á¥Ã¥¯¤Ê¿§¤Î", "¤Þ¤Ö¤·¤¤" }; const char * diff -c -r ../nethack-3.2.2/src/do_wear.c ./src/do_wear.c *** ../nethack-3.2.2/src/do_wear.c Sat Dec 28 21:53:38 1996 --- ./src/do_wear.c Tue Jul 22 23:18:14 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #ifndef OVLB *************** *** 16,21 **** --- 23,29 ---- static NEARDATA const char see_yourself[] = "see yourself"; static NEARDATA const char unknown_type[] = "Unknown type of %s (%d)"; + /*JP static NEARDATA const char *c_armor = "armor", *c_suit = "suit", #ifdef TOURIST *************** *** 30,35 **** --- 38,58 ---- *c_sword = "sword", *c_axe = "axe", *c_that_ = "that"; + */ + static NEARDATA const char *c_armor = "³»", + *c_suit = "Éþ", + #ifdef TOURIST + *c_shirt = "¥·¥ã¥Ä", + #endif + *c_cloak = "¥¯¥í¡¼¥¯", + *c_gloves = "¾®¼ê", + *c_boots = "·¤", + *c_helmet = "³õ", + *c_shield = "½â", + *c_weapon = "Éð´ï", + *c_sword = "·õ", + *c_axe = "Éà", + *c_that_ = "¤½¤ì"; static NEARDATA const long takeoff_order[] = { WORN_BLINDF, 1L, /* weapon */ WORN_SHIELD, WORN_GLOVES, LEFT_RING, RIGHT_RING, WORN_CLOAK, *************** *** 51,64 **** static struct obj *NDECL(do_takeoff); STATIC_PTR int NDECL(take_off); static int FDECL(menu_remarm, (int)); static void FDECL(already_wearing, (const char*)); void off_msg(otmp) register struct obj *otmp; { if(flags.verbose) ! You("were wearing %s.", doname(otmp)); } /* for items that involve no delay */ --- 74,95 ---- static struct obj *NDECL(do_takeoff); STATIC_PTR int NDECL(take_off); static int FDECL(menu_remarm, (int)); + /*JP static void FDECL(already_wearing, (const char*)); + */ + static void FDECL(already_wearing, (const char*, struct obj*)); void off_msg(otmp) register struct obj *otmp; { + const char *j; + const char *m; + m = joffmsg(otmp, &j); + if(flags.verbose) ! /*JP You("were wearing %s.", doname(otmp));*/ ! You("%s%s%s¡¥", doname(otmp), j, jpast(m)); } /* for items that involve no delay */ *************** *** 66,74 **** on_msg(otmp) register struct obj *otmp; { if(flags.verbose) ! You("are now wearing %s.", ! obj_is_pname(otmp) ? the(xname(otmp)) : an(xname(otmp))); } /* --- 97,110 ---- on_msg(otmp) register struct obj *otmp; { + const char *j; + const char *m; + m = jonmsg(otmp, &j); + if(flags.verbose) ! /*JP You("are now wearing %s.",*/ ! /*JP obj_is_pname(otmp) ? the(xname(otmp)) : an(xname(otmp)));*/ ! You("%s%s%s¡¥", xname(otmp), j, jpast(m)); } /* *************** *** 76,81 **** --- 112,118 ---- * The Type_off() functions call setworn() themselves. */ + STATIC_PTR int Boots_on() *************** *** 96,109 **** /* though not better than potion speed */ if (!(oldprop & TIMEOUT)) { makeknown(uarmf->otyp); ! You_feel("yourself speed up%s.", ! oldprop ? " a bit more" : ""); } break; case ELVEN_BOOTS: if (!oldprop) { makeknown(uarmf->otyp); ! You("walk very quietly."); } break; case FUMBLE_BOOTS: --- 133,149 ---- /* though not better than potion speed */ if (!(oldprop & TIMEOUT)) { makeknown(uarmf->otyp); ! /*JP You_feel("yourself speed up%s.", ! oldprop ? " a bit more" : "");*/ ! You("%sÁÇÁ᤯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥", ! oldprop ? "¤µ¤é¤Ë" : ""); } break; case ELVEN_BOOTS: if (!oldprop) { makeknown(uarmf->otyp); ! /*JP You("walk very quietly.");*/ ! Your("­²»¤Ï¾®¤µ¤¯¤Ê¤Ã¤¿¡¥"); } break; case FUMBLE_BOOTS: *************** *** 135,142 **** case SPEED_BOOTS: if (!(oldprop & TIMEOUT)) { makeknown(otyp); ! You_feel("yourself slow down%s.", ! oldprop ? " a bit" : ""); } break; case WATER_WALKING_BOOTS: --- 175,184 ---- case SPEED_BOOTS: if (!(oldprop & TIMEOUT)) { makeknown(otyp); ! /*JP You_feel("yourself slow down%s.", ! oldprop ? " a bit" : "");*/ ! You("%s¤Î¤í¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥", ! oldprop ? "¤Á¤ç¤Ã¤È" : ""); } break; case WATER_WALKING_BOOTS: *************** *** 150,156 **** case ELVEN_BOOTS: if (!oldprop) { makeknown(otyp); ! You("sure are noisy."); } break; case FUMBLE_BOOTS: --- 192,199 ---- case ELVEN_BOOTS: if (!oldprop) { makeknown(otyp); ! /*JP You("sure are noisy.");*/ ! Your("­²»¤ÏÂ礭¤¯¤Ê¤Ã¤¿¡¥"); } break; case FUMBLE_BOOTS: *************** *** 193,199 **** if (((HInvis & ~I_BLOCKED) || pm_invisible(uasmon)) && !See_invisible && !Blind) { newsym(u.ux,u.uy); ! You("can %s!", see_yourself); } break; case CLOAK_OF_INVISIBILITY: --- 236,243 ---- if (((HInvis & ~I_BLOCKED) || pm_invisible(uasmon)) && !See_invisible && !Blind) { newsym(u.ux,u.uy); ! /*JP You("can %s!", see_yourself);*/ ! pline("¼«Ê¬¼«¿È¤¬¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥"); } break; case CLOAK_OF_INVISIBILITY: *************** *** 202,212 **** if (!oldprop && !See_invisible && !Blind) { makeknown(uarmc->otyp); newsym(u.ux,u.uy); ! pline("Suddenly you cannot %s.", see_yourself); } break; case OILSKIN_CLOAK: ! pline("%s fits very tightly.",The(xname(uarmc))); break; default: impossible(unknown_type, c_cloak, uarmc->otyp); } --- 246,258 ---- if (!oldprop && !See_invisible && !Blind) { makeknown(uarmc->otyp); newsym(u.ux,u.uy); ! /*JP pline("Suddenly you cannot %s.", see_yourself);*/ ! pline("ÆÍÁ³¡¤¼«Ê¬¼«¿È¤¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡¥"); } break; case OILSKIN_CLOAK: ! /*JP pline("%s fits very tightly.",The(xname(uarmc)));*/ ! pline("%s¤Ï¤È¤Æ¤â¤Ô¤Ã¤Á¤ê¹ç¤¦¡¥",The(xname(uarmc))); break; default: impossible(unknown_type, c_cloak, uarmc->otyp); } *************** *** 233,246 **** case MUMMY_WRAPPING: if (Invisible && !Blind) { newsym(u.ux,u.uy); ! You("can no longer %s.", see_yourself); } break; case CLOAK_OF_INVISIBILITY: if (!oldprop && !See_invisible && !Blind) { makeknown(CLOAK_OF_INVISIBILITY); newsym(u.ux,u.uy); ! pline("Suddenly you can %s.", see_yourself); } break; default: impossible(unknown_type, c_cloak, otyp); --- 279,294 ---- case MUMMY_WRAPPING: if (Invisible && !Blind) { newsym(u.ux,u.uy); ! /*JP You("can no longer %s.", see_yourself);*/ ! You("¼«Ê¬¼«¿È¤¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡¥"); } break; case CLOAK_OF_INVISIBILITY: if (!oldprop && !See_invisible && !Blind) { makeknown(CLOAK_OF_INVISIBILITY); newsym(u.ux,u.uy); ! /*JP pline("Suddenly you can %s.", see_yourself);*/ ! pline("ÆÍÁ³¡¤¼«Ê¬¼«¿È¤¬¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥"); } break; default: impossible(unknown_type, c_cloak, otyp); *************** *** 282,301 **** /*FALLTHRU*/ case DUNCE_CAP: if (!uarmh->cursed) { ! pline("%s %s%s for a moment.", The(xname(uarmh)), Blind ? "vibrates" : "glows ", ! Blind ? (const char *)"" : hcolor(Black)); curse(uarmh); } flags.botl = 1; /* reveal new alignment or INT & WIS */ if (Hallucination) { ! pline("My brain hurts!"); /* Monty Python's Flying Circus */ } else if (uarmh->otyp == DUNCE_CAP) { ! You_feel("%s.", /* track INT change; ignore WIS */ ACURR(A_INT) <= (ABASE(A_INT) + ABON(A_INT) + ATEMP(A_INT)) ? ! "like sitting in a corner" : "giddy"); } else { ! Your("mind oscillates briefly."); makeknown(HELM_OF_OPPOSITE_ALIGNMENT); } break; --- 330,357 ---- /*FALLTHRU*/ case DUNCE_CAP: if (!uarmh->cursed) { ! /*JP pline("%s %s%s for a moment.", The(xname(uarmh)), Blind ? "vibrates" : "glows ", ! Blind ? (const char *)"" : hcolor(Black));*/ ! pline("%s¤Ï°ì½Ö%s%s¡¥", The(xname(uarmh)), ! Blind ? (const char *)"" : jconj_adj(hcolor(Black)), ! Blind ? "¿Ì¤¨¤¿" : "µ±¤¤¤¿"); curse(uarmh); } flags.botl = 1; /* reveal new alignment or INT & WIS */ if (Hallucination) { ! /*JP pline("My brain hurts!"); * Monty Python's Flying Circus */ ! pline("¤Î¡¼¤ß¡¼¤½¥Ð¡¼¥ó¡ª"); /*¥â¥ó¥Æ¥£¥Ñ¥¤¥½¥ó¤È¤Ï¤Á¤ç¤Ã¤È°ã¤¦¤±¤É*/ } else if (uarmh->otyp == DUNCE_CAP) { ! /*JP You_feel("%s.", * track INT change; ignore WIS * ! ACURR(A_INT) <= (ABASE(A_INT) + ABON(A_INT) + ATEMP(A_INT)) ? ! "like sitting in a corner" : "giddy");*/ ! You("%s¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥", ACURR(A_INT) <= (ABASE(A_INT) + ABON(A_INT) + ATEMP(A_INT)) ? ! "³¹³Ñ¤ËºÂ¤Ã¤Æ¤¤¤ë¤è¤¦¤Ê" : "Ìܤ¬¤Þ¤ï¤Ã¤¿"); } else { ! /*JP Your("mind oscillates briefly.");*/ ! You("¾¯¤·¤â̤鷺¤Í¤¬¤¨¤Ã¤¿¡¥"); makeknown(HELM_OF_OPPOSITE_ALIGNMENT); } break; *************** *** 392,400 **** setworn((struct obj *)0, W_ARMG); if (uwep && uwep->otyp == CORPSE && uwep->corpsenm == PM_COCKATRICE) { /* Prevent wielding cockatrice when not wearing gloves */ ! You("wield the cockatrice corpse in your bare %s.", makeplural(body_part(HAND))); ! instapetrify("cockatrice corpse"); uwepgone(); /* life-saved still doesn't allow touching cockatrice */ } return 0; --- 448,458 ---- setworn((struct obj *)0, W_ARMG); if (uwep && uwep->otyp == CORPSE && uwep->corpsenm == PM_COCKATRICE) { /* Prevent wielding cockatrice when not wearing gloves */ ! /*JP You("wield the cockatrice corpse in your bare %s.",*/ ! You("¥³¥«¥È¥ê¥¹¤Î»àÂΤòÁÇ%s¤Ç»ý¤Ã¤¿¡¥", makeplural(body_part(HAND))); ! /*JP instapetrify("cockatrice corpse");*/ ! instapetrify("¥³¥«¥È¥ê¥¹¤Î»àÂΤ˿¨¤ì¤Æ"); uwepgone(); /* life-saved still doesn't allow touching cockatrice */ } return 0; *************** *** 447,453 **** int Armor_on() { ! return 0; } int --- 505,521 ---- int Armor_on() { ! #ifdef FIGHTER ! switch(uarm->otyp) { ! case SAILOR_BLOUSE: ! if(flags.female || Role_is('F')) ! ; ! else ! curse(uarm); ! break; ! } ! #endif ! return 0; } int *************** *** 482,496 **** makeknown(AMULET_OF_CHANGE); change_sex(); /* Don't use same message as polymorph */ ! You("are suddenly very %s!", flags.female ? "feminine" ! : "masculine"); flags.botl = 1; ! pline_The("amulet disintegrates!"); useup(uamul); break; case AMULET_OF_STRANGULATION: makeknown(AMULET_OF_STRANGULATION); ! pline("It constricts your throat!"); Strangled = 6; break; case AMULET_OF_RESTFUL_SLEEP: --- 550,568 ---- makeknown(AMULET_OF_CHANGE); change_sex(); /* Don't use same message as polymorph */ ! /*JP You("are suddenly very %s!", flags.female ? "feminine" ! : "masculine");*/ ! You("ÆÍÁ³%s¡ª", flags.female ? "½÷¤Ã¤Ý¤¯¤Ê¤Ã¤¿" ! : "¶ÚÆù¼Á¤Ë¤Ê¤Ã¤¿"); flags.botl = 1; ! /*JP pline_The("amulet disintegrates!");*/ ! pline("Ëâ½ü¤±¤Ï¤³¤Ê¤´¤Ê¤Ë¤Ê¤Ã¤¿¡ª"); useup(uamul); break; case AMULET_OF_STRANGULATION: makeknown(AMULET_OF_STRANGULATION); ! /*JP pline("It constricts your throat!");*/ ! pline("Ëâ½ü¤±¤Ï¤¢¤Ê¤¿¤Î¹¢¤ò¹Ê¤á¤Ä¤±¤¿¡ª"); Strangled = 6; break; case AMULET_OF_RESTFUL_SLEEP: *************** *** 519,525 **** if (Underwater) { if (!breathless(uasmon) && !amphibious(uasmon) && !is_swimmer(uasmon)) ! You("suddenly inhale an unhealthy amount of water!"); /* HMagical_breathing must be set off before calling drown() */ setworn((struct obj *)0, W_AMUL); --- 591,598 ---- if (Underwater) { if (!breathless(uasmon) && !amphibious(uasmon) && !is_swimmer(uasmon)) ! /*JP You("suddenly inhale an unhealthy amount of water!");*/ ! You("ÆÍÁ³¡¤ÂçÎ̤οå¤òµÛ¤¤¤³¤ó¤À¡ª"); /* HMagical_breathing must be set off before calling drown() */ setworn((struct obj *)0, W_AMUL); *************** *** 532,538 **** break; case AMULET_OF_STRANGULATION: if (Strangled) { ! You("can breathe more easily!"); Strangled = 0; } break; --- 605,612 ---- break; case AMULET_OF_STRANGULATION: if (Strangled) { ! /*JP You("can breathe more easily!");*/ ! You("³Ú¤Ë¸ÆµÛ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡ª"); Strangled = 0; } break; *************** *** 580,586 **** if (Invis && !oldprop && !perceives(uasmon) && !Blind) { newsym(u.ux,u.uy); ! pline("Suddenly you can see yourself."); makeknown(RIN_SEE_INVISIBLE); } break; --- 654,661 ---- if (Invis && !oldprop && !perceives(uasmon) && !Blind) { newsym(u.ux,u.uy); ! /*JP pline("Suddenly you can see yourself.");*/ ! pline("ÆÍÁ³¡¤¼«Ê¬¼«¿È¤¬¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥"); makeknown(RIN_SEE_INVISIBLE); } break; *************** *** 588,595 **** if (!oldprop && !See_invisible && !Blind) { makeknown(RIN_INVISIBILITY); newsym(u.ux,u.uy); ! Your("body takes on a %s transparency...", ! Hallucination ? "normal" : "strange"); } break; case RIN_ADORNMENT: --- 663,672 ---- if (!oldprop && !See_invisible && !Blind) { makeknown(RIN_INVISIBILITY); newsym(u.ux,u.uy); ! /*JP Your("body takes on a %s transparency...", ! Hallucination ? "normal" : "strange");*/ ! pline("%s¤¢¤Ê¤¿¤ÎÂΤÏÆ©²áÀ­¤ò¤â¤Ã¤¿¡¥¡¥¡¥", ! Hallucination ? "¤¢¤¿¤ê¤Þ¤¨¤Ê¤³¤È¤À¤¬" : "´ñ̯¤Ê¤³¤È¤Ë"); } break; case RIN_ADORNMENT: *************** *** 647,652 **** --- 724,730 ---- if(!(u.uprops[objects[obj->otyp].oc_oprop].p_flgs & mask)) impossible("Strange... I didn't know you had that ring."); + if(gone) setnotworn(obj); else setworn((struct obj *)0, obj->owornmask); switch(obj->otyp) { *************** *** 675,681 **** if (Invisible && !Blind) { newsym(u.ux,u.uy); ! pline("Suddenly you cannot see yourself."); makeknown(RIN_SEE_INVISIBLE); } break; --- 753,760 ---- if (Invisible && !Blind) { newsym(u.ux,u.uy); ! /*JP pline("Suddenly you cannot see yourself.");*/ ! pline("ÆÍÁ³¡¤¼«Ê¬¼«¿È¤¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡¥"); makeknown(RIN_SEE_INVISIBLE); } break; *************** *** 683,689 **** if (!Invis && !(HInvis & I_BLOCKED) && !See_invisible && !Blind) { newsym(u.ux,u.uy); ! Your("body seems to unfade..."); makeknown(RIN_INVISIBILITY); } break; --- 762,769 ---- if (!Invis && !(HInvis & I_BLOCKED) && !See_invisible && !Blind) { newsym(u.ux,u.uy); ! /*JP Your("body seems to unfade...");*/ ! Your("ÂΤ¬¼¡Âè¤Ë¸½¤ï¤ì¤Æ¤­¤¿¡¥¡¥¡¥"); makeknown(RIN_INVISIBILITY); } break; *************** *** 739,745 **** setuwep((struct obj *) 0); setworn(otmp, W_TOOL); if (otmp->otyp == TOWEL && flags.verbose) ! You("wrap %s around your %s.", an(xname(otmp)), body_part(HEAD)); on_msg(otmp); if (!already_blinded) { if (Punished) set_bc(0); /* Set ball&chain variables before */ --- 819,826 ---- setuwep((struct obj *) 0); setworn(otmp, W_TOOL); if (otmp->otyp == TOWEL && flags.verbose) ! /*HP You("wrap %s around your %s.", an(xname(otmp)), body_part(HEAD));*/ ! You("%s¤Ë%s¤ò´¬¤­¤Ä¤±¤¿¡¥", body_part(HEAD), xname(otmp)); on_msg(otmp); if (!already_blinded) { if (Punished) set_bc(0); /* Set ball&chain variables before */ *************** *** 761,767 **** vision_full_recalc = 1; /* recalc vision limits */ flags.botl = 1; } else ! You("still cannot see."); } /* called in main to set intrinsics of worn start-up items */ --- 842,849 ---- vision_full_recalc = 1; /* recalc vision limits */ flags.botl = 1; } else ! /*JP You("still cannot see.");*/ ! You("¤Þ¤ÀÌܤ¬¸«¤¨¤Ê¤¤¡¥"); } /* called in main to set intrinsics of worn start-up items */ *************** *** 806,811 **** --- 888,895 ---- { register struct obj *otmp = (struct obj *)0; int armorpieces = 0; + const char *j; + const char *m; #define MOREARM(x) if (x) { armorpieces++; otmp = x; } MOREARM(uarmh); *************** *** 827,844 **** if (!armorpieces) { /* assert( GRAY_DRAGON_SCALES > YELLOW_DRAGON_SCALE_MAIL ); */ if (uskin) ! pline_The("%s merged with your skin!", uskin->otyp >= GRAY_DRAGON_SCALES ? ! "dragon scales are" : "dragon scale mail is"); else ! pline("Not wearing any armor."); return 0; } if (armorpieces > 1) ! otmp = getobj(clothes, "take off"); if (otmp == 0) return(0); if (!(otmp->owornmask & W_ARMOR)) { ! You("are not wearing that."); return(0); } /* note: the `uskin' case shouldn't be able to happen here; dragons --- 911,934 ---- if (!armorpieces) { /* assert( GRAY_DRAGON_SCALES > YELLOW_DRAGON_SCALE_MAIL ); */ if (uskin) ! /*JP pline_The("%s merged with your skin!", ! uskin->otyp >= GRAY_DRAGON_SCALES ? ! "dragon scales are" : "dragon scale mail is");*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ÎÈ©¤ÈÍ»¹ç¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¡ª", uskin->otyp >= GRAY_DRAGON_SCALES ? ! "¥É¥é¥´¥ó¤ÎÎÚ" : "¥É¥é¥´¥ó¤ÎÎÚ³»"); else ! /*JP pline("Not wearing any armor.");*/ ! pline("³»¤ÎÎà¤òÁõÈ÷¤·¤Æ¤¤¤Ê¤¤¡¥"); return 0; } if (armorpieces > 1) ! /*JP otmp = getobj(clothes, "take off");*/ ! otmp = getobj(clothes, "¤ÎÁõÈ÷¤ò²ò¤¯"); if (otmp == 0) return(0); if (!(otmp->owornmask & W_ARMOR)) { ! /*JP You("are not wearing that.");*/ ! You("¤½¤ì¤ÏÁõÈ÷¤·¤Æ¤¤¤Ê¤¤¡¥"); return(0); } /* note: the `uskin' case shouldn't be able to happen here; dragons *************** *** 848,873 **** || ((otmp == uarmu) && (uarmc || uarm)) #endif ) { ! You_cant("take that off."); return 0; } if (otmp == uarmg && welded(uwep)) { ! You("seem unable to take off the gloves while holding your %s.", is_sword(uwep) ? c_sword : c_weapon); uwep->bknown = TRUE; return 0; } if (otmp == uarmg && Glib) { ! You_cant("remove the slippery gloves with your slippery fingers."); return 0; } if (otmp == uarmf && u.utrap && (u.utraptype == TT_BEARTRAP || u.utraptype == TT_INFLOOR)) { /* -3. */ if(u.utraptype == TT_BEARTRAP) ! pline_The("bear trap prevents you from pulling your %s out.", body_part(FOOT)); else ! You("are stuck in the %s, and cannot pull your %s out.", surface(u.ux, u.uy), makeplural(body_part(FOOT))); return(0); } --- 938,970 ---- || ((otmp == uarmu) && (uarmc || uarm)) #endif ) { ! /*JP You_cant("take that off.");*/ ! m = joffmsg(otmp, &j); ! You("¤½¤ì%s%s¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥", j, m); return 0; } if (otmp == uarmg && welded(uwep)) { ! /*JP You("seem unable to take off the gloves while holding your %s.", ! is_sword(uwep) ? c_sword : c_weapon);*/ ! You("%s¤ò»ý¤Ã¤¿¤Þ¤Þ¾®¼ê¤ò¤Ï¤º¤¹¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥", is_sword(uwep) ? c_sword : c_weapon); uwep->bknown = TRUE; return 0; } if (otmp == uarmg && Glib) { ! /*JP You_cant("remove the slippery gloves with your slippery fingers.");*/ ! You("³ê¤ê¤ä¤¹¤¤¾®¼ê¤ò³ê¤ê¤ä¤¹¤¤»Ø¤«¤é¤Ï¤º¤»¤Ê¤¤¡¥"); return 0; } if (otmp == uarmf && u.utrap && (u.utraptype == TT_BEARTRAP || u.utraptype == TT_INFLOOR)) { /* -3. */ if(u.utraptype == TT_BEARTRAP) ! /*JP pline_The("bear trap prevents you from pulling your %s out.",*/ ! pline("%s¤¬·§¤Î櫤ˤĤ«¤Þ¤Ã¤Æ¤¤¤ë¤Î¤Ç椰¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥", body_part(FOOT)); else ! /*JP You("are stuck in the %s, and cannot pull your %s out.",*/ ! You("%s¤¬%s¤Ë¤Ï¤Þ¤Ã¤Æ¤¤¤ë¤Î¤Ç椰¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥", surface(u.ux, u.uy), makeplural(body_part(FOOT))); return(0); } *************** *** 889,926 **** MOREACC(ublindf); if(!Accessories) { ! pline("Not wearing any accessories."); return(0); } ! if (Accessories != 1) otmp = getobj(accessories, "take off"); if(!otmp) return(0); if(!(otmp->owornmask & (W_RING | W_AMUL | W_TOOL))) { ! You("are not wearing that."); return(0); } if(cursed(otmp)) return(0); if(otmp->oclass == RING_CLASS) { if (nolimbs(uasmon)) { ! pline("It seems to be stuck."); return(0); } if (uarmg && uarmg->cursed) { uarmg->bknown = TRUE; You( ! "seem unable to remove your ring without taking off your gloves."); return(0); } if (welded(uwep) && bimanual(uwep)) { uwep->bknown = TRUE; You( ! "seem unable to remove the ring while your hands hold your %s.", is_sword(uwep) ? c_sword : c_weapon); return(0); } if (welded(uwep) && otmp==uright) { uwep->bknown = TRUE; You( ! "seem unable to remove the ring while your right hand holds your %s.", is_sword(uwep) ? c_sword : c_weapon); return(0); } --- 986,1030 ---- MOREACC(ublindf); if(!Accessories) { ! /*JP pline("Not wearing any accessories.");*/ ! pline("Áõ¾þÉʤϿȤˤĤ±¤Æ¤¤¤Ê¤¤¡¥"); return(0); } ! /*JP if (Accessories != 1) otmp = getobj(accessories, "take off");*/ ! if (Accessories != 1) otmp = getobj(accessories, "¤Ï¤º¤¹"); if(!otmp) return(0); if(!(otmp->owornmask & (W_RING | W_AMUL | W_TOOL))) { ! /*JP You("are not wearing that.");*/ ! You("¤½¤ì¤Ï¿È¤Ë¤Ä¤±¤Æ¤¤¤Ê¤¤¡¥"); return(0); } if(cursed(otmp)) return(0); if(otmp->oclass == RING_CLASS) { if (nolimbs(uasmon)) { ! /*JP pline("It seems to be stuck.");*/ ! pline("ÂΤËËä¤Þ¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤Ï¤º¤»¤Ê¤¤¡¥"); return(0); } if (uarmg && uarmg->cursed) { uarmg->bknown = TRUE; You( ! /*JP "seem unable to remove your ring without taking off your gloves.");*/ ! "¾®¼ê¤ò³°¤µ¤Ê¤¤¤³¤È¤Ë¤Ï»ØÎؤò¤Ï¤º¤»¤Ê¤¤¡¥"); return(0); } if (welded(uwep) && bimanual(uwep)) { uwep->bknown = TRUE; You( ! /*JP "seem unable to remove the ring while your hands hold your %s.",*/ ! "%s¤ò¼ê¤Ë¤·¤Æ¤¤¤ë¤Î¤Ç»ØÎؤò¤Ï¤º¤»¤Ê¤¤¡¥", is_sword(uwep) ? c_sword : c_weapon); return(0); } if (welded(uwep) && otmp==uright) { uwep->bknown = TRUE; You( ! /*JP "seem unable to remove the ring while your right hand holds your %s.",*/ ! "±¦¼ê¤¬%s¤ÇºÉ¤¬¤Ã¤Æ¤¤¤ë¤Î¤Ç¤Ï¤º¤»¤Ê¤¤¡¥", is_sword(uwep) ? c_sword : c_weapon); return(0); } *************** *** 946,954 **** { /* Curses, like chickens, come home to roost. */ if((otmp == uwep) ? welded(otmp) : (int)otmp->cursed) { ! You("can't. %s to be cursed.", (is_boots(otmp) || is_gloves(otmp) || otmp->quan > 1L) ! ? "They seem" : "It seems"); otmp->bknown = TRUE; return(1); } --- 1050,1061 ---- { /* Curses, like chickens, come home to roost. */ if((otmp == uwep) ? welded(otmp) : (int)otmp->cursed) { ! /*JP You("can't. %s to be cursed.", (is_boots(otmp) || is_gloves(otmp) || otmp->quan > 1L) ! ? "They seem" : "It seems");*/ ! pline("̵Íý¤À¡¥%s¤Ï¼ö¤ï¤ì¤Æ¤¤¤ë¤è¤¦¤À¡¥", ! (is_boots(otmp) || is_gloves(otmp) || otmp->quan > 1L) ! ? "¤½¤ì¤é" : "¤½¤ì"); otmp->bknown = TRUE; return(1); } *************** *** 965,983 **** if(delay) { nomul(delay); if (is_helmet(otmp)) { ! nomovemsg = "You finish taking off your helmet."; afternmv = Helmet_off; } else if (is_gloves(otmp)) { nomovemsg = "You finish taking off your gloves."; afternmv = Gloves_off; } else if (is_boots(otmp)) { nomovemsg = "You finish taking off your boots."; afternmv = Boots_off; } else { nomovemsg = "You finish taking off your suit."; afternmv = Armor_off; } } else { --- 1072,1094 ---- if(delay) { nomul(delay); if (is_helmet(otmp)) { ! /*JP nomovemsg = "You finish taking off your helmet.";*/ ! nomovemsg = "¤¢¤Ê¤¿¤Ï³õ¤ò椮¤ª¤¨¤¿¡¥"; afternmv = Helmet_off; } else if (is_gloves(otmp)) { nomovemsg = "You finish taking off your gloves."; + nomovemsg = "¤¢¤Ê¤¿¤Ï¾®¼ê¤ò椮¤ª¤¨¤¿¡¥"; afternmv = Gloves_off; } else if (is_boots(otmp)) { nomovemsg = "You finish taking off your boots."; + nomovemsg = "¤¢¤Ê¤¿¤Ï·¤¤ò椮¤ª¤¨¤¿¡¥"; afternmv = Boots_off; } else { nomovemsg = "You finish taking off your suit."; + nomovemsg = "¤¢¤Ê¤¿¤ÏÃå¤Æ¤¤¤ëʪ¤ò椮¤ª¤¨¤¿¡¥"; afternmv = Armor_off; } } else { *************** *** 1007,1017 **** return(1); } static void ! already_wearing(cc) const char *cc; { ! You("are already wearing %s%c", cc, (cc == c_that_) ? '!' : '.'); } /* the 'W' command */ --- 1118,1137 ---- return(1); } + /* + ** ʪ¤Ë¤è¤Ã¤ÆÆ°»ì¤¬ÊѲ½¤¹¤ë¤Î¤Ç otmp¤òÄɲà + */ static void ! already_wearing(cc, otmp) const char *cc; + struct obj *otmp; { ! const char *j; ! const char *m; ! m = jconj(jonmsg(otmp, &j), "¤Æ¤¤¤ë"); ! ! /*JP You("are already wearing %s%c", cc, (cc == c_that_) ? '!' : '.');*/ ! You("¤â¤¦%s%s%s%s", cc, j, m, (cc == c_that_) ? "¡ª" : "¡¥"); } /* the 'W' command */ *************** *** 1023,1037 **** register int err = 0; long mask = 0; const char *which; /* cantweararm checks for suits of armor */ /* verysmall or nohands checks for shields, gloves, etc... */ if ((verysmall(uasmon) || nohands(uasmon))) { ! pline("Don't even bother."); return(0); } ! otmp = getobj(clothes, "wear"); if(!otmp) return(0); which = is_cloak(otmp) ? c_cloak : --- 1143,1161 ---- register int err = 0; long mask = 0; const char *which; + const char *j; + const char *m; /* cantweararm checks for suits of armor */ /* verysmall or nohands checks for shields, gloves, etc... */ if ((verysmall(uasmon) || nohands(uasmon))) { ! /*JP pline("Don't even bother.");*/ ! pline("¤½¤ó¤Ê¤Ä¤Þ¤é¤Ê¤¤¤³¤È¤Ë¤³¤À¤ï¤ë¤Ê¡¥"); return(0); } ! /*JP otmp = getobj(clothes, "wear");*/ ! otmp = getobj(clothes, "¿È¤Ë¤Ä¤±¤ë"); if(!otmp) return(0); which = is_cloak(otmp) ? c_cloak : *************** *** 1042,1085 **** if (which && cantweararm(uasmon) && /* same exception for cloaks as used in m_dowear() */ (which != c_cloak || uasmon->msize != MZ_SMALL)) { ! pline_The("%s will not fit on your body.", which); return 0; } else if (otmp->owornmask & W_ARMOR) { ! already_wearing(c_that_); return 0; } if(is_helmet(otmp)) { if(uarmh) { ! already_wearing(an(c_helmet)); err++; } else mask = W_ARMH; } else if(is_shield(otmp)){ if(uarms) { ! already_wearing(an(c_shield)); err++; } if(uwep && bimanual(uwep)) { ! You("cannot wear a shield while wielding a two-handed %s.", is_sword(uwep) ? c_sword : ! uwep->otyp == BATTLE_AXE ? c_axe : c_weapon); err++; } if(!err) mask = W_ARMS; } else if(is_boots(otmp)) { if (uarmf) { ! already_wearing(c_boots); err++; } else if (Upolyd && slithy(uasmon)) { ! You("have no feet..."); /* not body_part(FOOT) */ err++; } else if (u.utrap && (u.utraptype == TT_BEARTRAP || u.utraptype == TT_INFLOOR)) { if (u.utraptype == TT_BEARTRAP) ! Your("%s is trapped!", body_part(FOOT)); else ! Your("%s are stuck in the %s!", makeplural(body_part(FOOT)), surface(u.ux, u.uy)); err++; --- 1166,1222 ---- if (which && cantweararm(uasmon) && /* same exception for cloaks as used in m_dowear() */ (which != c_cloak || uasmon->msize != MZ_SMALL)) { ! /*JP pline_The("%s will not fit on your body.", which);*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ÎÂΤ˹ç¤ï¤Ê¤¤¡¥", which); return 0; } else if (otmp->owornmask & W_ARMOR) { ! /*JP already_wearing(c_that_);*/ ! already_wearing(c_that_, otmp); return 0; } if(is_helmet(otmp)) { if(uarmh) { ! /*JP already_wearing(an(c_helmet));*/ ! already_wearing(an(c_helmet), uarmh); err++; } else mask = W_ARMH; } else if(is_shield(otmp)){ if(uarms) { ! /*JP already_wearing(an(c_shield));*/ ! already_wearing(an(c_shield), uarms); err++; } if(uwep && bimanual(uwep)) { ! /*JP You("cannot wear a shield while wielding a two-handed %s.", ! is_sword(uwep) ? c_sword : ! uwep->otyp == BATTLE_AXE ? c_axe : c_weapon);*/ ! m = jconj(jonmsg(otmp, &j), "¤Æ¤¤¤ë"); ! You("ξ¼ê»ý¤Á¤Î%s%s%s¤Î¤Ç½â¤Ç¿È¤ò¼é¤ì¤Ê¤¤¡¥", is_sword(uwep) ? c_sword : ! uwep->otyp == BATTLE_AXE ? c_axe : c_weapon, ! j, m); err++; } if(!err) mask = W_ARMS; } else if(is_boots(otmp)) { if (uarmf) { ! /*JP already_wearing(c_boots);*/ ! already_wearing(c_boots, uarmf); err++; } else if (Upolyd && slithy(uasmon)) { ! /*JP You("have no feet..."); /* not body_part(FOOT) */ ! You("­¤¬¤Ê¤¤¡¥¡¥¡¥"); /* not body_part(FOOT) */ err++; } else if (u.utrap && (u.utraptype == TT_BEARTRAP || u.utraptype == TT_INFLOOR)) { if (u.utraptype == TT_BEARTRAP) ! /*JP Your("%s is trapped!", body_part(FOOT));*/ ! Your("%s¤Ï櫤ˤ«¤«¤Ã¤Æ¤¤¤ë¡ª", body_part(FOOT)); else ! /*JP Your("%s are stuck in the %s!",*/ ! Your("%s¤Ï%s¤Ë¤Ï¤Þ¤Ã¤Æ¤¤¤ë¡ª", makeplural(body_part(FOOT)), surface(u.ux, u.uy)); err++; *************** *** 1087,1096 **** mask = W_ARMF; } else if(is_gloves(otmp)) { if(uarmg) { ! already_wearing(c_gloves); err++; } else if (welded(uwep)) { ! You("cannot wear gloves over your %s.", is_sword(uwep) ? c_sword : c_weapon); err++; } else --- 1224,1235 ---- mask = W_ARMF; } else if(is_gloves(otmp)) { if(uarmg) { ! /*JP already_wearing(c_gloves);*/ ! already_wearing(c_gloves, uarmg); err++; } else if (welded(uwep)) { ! /*JP You("cannot wear gloves over your %s.",*/ ! You("%s¤Î¾å¤«¤é¾®¼ê¤òÁõÈ÷¤Ç¤­¤Ê¤¤¡¥", is_sword(uwep) ? c_sword : c_weapon); err++; } else *************** *** 1099,1107 **** } else if(is_shirt(otmp)) { if (uarm || uarmc || uarmu) { if(uarmu) ! already_wearing(an(c_shirt)); else ! You_cant("wear that over your %s.", (uarm && !uarmc) ? c_armor : c_cloak); err++; } else --- 1238,1248 ---- } else if(is_shirt(otmp)) { if (uarm || uarmc || uarmu) { if(uarmu) ! /*JP already_wearing(an(c_shirt));*/ ! already_wearing(an(c_shirt), uarmu); else ! /*JP You_cant("wear that over your %s.",*/ ! You("%s¤Î¾å¤«¤éÃå¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥", (uarm && !uarmc) ? c_armor : c_cloak); err++; } else *************** *** 1109,1124 **** #endif } else if(is_cloak(otmp)) { if(uarmc) { ! already_wearing(an(c_cloak)); err++; } else mask = W_ARMC; } else { if(uarmc) { ! You("cannot wear armor over a cloak."); err++; } else if(uarm) { ! already_wearing("some armor"); err++; } if(!err) mask = W_ARM; --- 1250,1268 ---- #endif } else if(is_cloak(otmp)) { if(uarmc) { ! /*JP already_wearing(an(c_cloak));*/ ! already_wearing(an(c_cloak), uarmc); err++; } else mask = W_ARMC; } else { if(uarmc) { ! /*JP You("cannot wear armor over a cloak.");*/ ! You("¥¯¥í¡¼¥¯¤Î¾å¤«¤éÃå¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥"); err++; } else if(uarm) { ! /*JP already_wearing("some armor");*/ ! already_wearing("³»", uarm); err++; } if(!err) mask = W_ARM; *************** *** 1137,1143 **** if (otmp->otyp == HELM_OF_OPPOSITE_ALIGNMENT && qstart_level.dnum == u.uz.dnum) { /* in quest */ ! You("narrowly avoid losing all chance at your goal."); u.ublessed = 0; /* lose your god's protection */ makeknown(otmp->otyp); flags.botl = 1; --- 1281,1288 ---- if (otmp->otyp == HELM_OF_OPPOSITE_ALIGNMENT && qstart_level.dnum == u.uz.dnum) { /* in quest */ ! /*JP You("narrowly avoid losing all chance at your goal.");*/ ! You("ÌÜŪãÀ®¤Î¤¿¤á¤Î²ÄǽÀ­¤ò¼º¤¦¤³¤È¤ò¤Ê¤ó¤È¤«²óÈò¤·¤¿¡¥"); u.ublessed = 0; /* lose your god's protection */ makeknown(otmp->otyp); flags.botl = 1; *************** *** 1155,1164 **** if(is_helmet(otmp)) afternmv = Helmet_on; if(is_gloves(otmp)) afternmv = Gloves_on; if(otmp == uarm) afternmv = Armor_on; ! nomovemsg = "You finish your dressing maneuver."; } else { if(is_cloak(otmp)) (void) Cloak_on(); /* if(is_shield(otmp)) (void) Shield_on(); */ on_msg(otmp); } takeoff_mask = taking_off = 0L; --- 1300,1313 ---- if(is_helmet(otmp)) afternmv = Helmet_on; if(is_gloves(otmp)) afternmv = Gloves_on; if(otmp == uarm) afternmv = Armor_on; ! /*JP nomovemsg = "You finish your dressing maneuver.";*/ ! nomovemsg = "¤¢¤Ê¤¿¤ÏÁõÈ÷¤·½ª¤Ã¤¿¡¥"; } else { if(is_cloak(otmp)) (void) Cloak_on(); /* if(is_shield(otmp)) (void) Shield_on(); */ + #ifdef FIGHTER + if(otmp == uarm) (void) Armor_on(); + #endif on_msg(otmp); } takeoff_mask = taking_off = 0L; *************** *** 1172,1186 **** long mask = 0L; if(uleft && uright && uamul && ublindf) { ! Your("%s%s are full, and you're already wearing an amulet and a blindfold.", humanoid(uasmon) ? "ring-" : "", ! makeplural(body_part(FINGER))); ! return(0); } ! otmp = getobj(accessories, "wear"); if(!otmp) return(0); if(otmp->owornmask & (W_RING | W_AMUL | W_TOOL)) { ! already_wearing(c_that_); return(0); } if(welded(otmp)) { --- 1321,1339 ---- long mask = 0L; if(uleft && uright && uamul && ublindf) { ! /*JP Your("%s%s are full, and you're already wearing an amulet and a blindfold.", humanoid(uasmon) ? "ring-" : "", ! makeplural(body_part(FINGER)));*/ ! Your("%s%s¤Ï¤Õ¤µ¤¬¤Ã¤Æ¤ë¤·¡¤¤¹¤Ç¤ËËâ½ü¤±¤ÈÌܱ£¤·¤â¿È¤Ë¤Ä¤±¤Æ¤¤¤ë¡¥", ! humanoid(uasmon) ? "Ìô" : "", ! makeplural(body_part(FINGER))); ! return(0); } ! /*JP otmp = getobj(accessories, "wear");*/ ! otmp = getobj(accessories, "¿È¤Ë¤Ä¤±¤ë"); if(!otmp) return(0); if(otmp->owornmask & (W_RING | W_AMUL | W_TOOL)) { ! already_wearing(c_that_, otmp); return(0); } if(welded(otmp)) { *************** *** 1191,1202 **** setuwep((struct obj *)0); if(otmp->oclass == RING_CLASS) { if(nolimbs(uasmon)) { ! You("cannot make the ring stick to your body."); return(0); } if(uleft && uright){ ! pline("There are no more %s%s to fill.", humanoid(uasmon) ? "ring-" : "", makeplural(body_part(FINGER))); return(0); } --- 1344,1359 ---- setuwep((struct obj *)0); if(otmp->oclass == RING_CLASS) { if(nolimbs(uasmon)) { ! /*JP You("cannot make the ring stick to your body.");*/ ! You("»ØÎؤò¤Ï¤á¤ì¤Ê¤¤ÂΤÀ¡¥"); return(0); } if(uleft && uright){ ! /*JP pline("There are no more %s%s to fill.", humanoid(uasmon) ? "ring-" : "", + makeplural(body_part(FINGER)));*/ + pline("¤Ï¤á¤ë¤³¤È¤Î¤Ç¤­¤ë%s%s¤¬¤Ê¤¤¡¥", + humanoid(uasmon) ? "Ìô" : "", makeplural(body_part(FINGER))); return(0); } *************** *** 1206,1213 **** char qbuf[QBUFSZ]; char answer; ! Sprintf(qbuf, "What %s%s, Right or Left?", humanoid(uasmon) ? "ring-" : "", body_part(FINGER)); if(!(answer = yn_function(qbuf, "rl", '\0'))) return(0); --- 1363,1373 ---- char qbuf[QBUFSZ]; char answer; ! /*JP Sprintf(qbuf, "What %s%s, Right or Left?", humanoid(uasmon) ? "ring-" : "", + body_part(FINGER));*/ + Sprintf(qbuf, "¤É¤Á¤é¤Î%s%s¡¤±¦(r)¤½¤ì¤È¤âº¸(l)¡©", + humanoid(uasmon) ? "Ìô" : "", body_part(FINGER)); if(!(answer = yn_function(qbuf, "rl", '\0'))) return(0); *************** *** 1224,1247 **** } while(!mask); if (uarmg && uarmg->cursed) { uarmg->bknown = TRUE; ! You("cannot remove your gloves to put on the ring."); return(0); } if (welded(uwep) && bimanual(uwep)) { /* welded will set bknown */ ! You("cannot free your weapon hands to put on the ring."); return(0); } if (welded(uwep) && mask==RIGHT_RING) { /* welded will set bknown */ ! You("cannot free your weapon hand to put on the ring."); return(0); } setworn(otmp, mask); Ring_on(otmp); } else if (otmp->oclass == AMULET_CLASS) { if(uamul) { ! already_wearing("an amulet"); return(0); } setworn(otmp, W_AMUL); --- 1384,1411 ---- } while(!mask); if (uarmg && uarmg->cursed) { uarmg->bknown = TRUE; ! /*JP You("cannot remove your gloves to put on the ring.");*/ ! You("»ØÎؤò¤Ï¤á¤è¤¦¤È¤·¤¿¤¬¾®¼ê¤¬Ã¦¤²¤Ê¤¤¡¥"); return(0); } if (welded(uwep) && bimanual(uwep)) { /* welded will set bknown */ ! /*JP You("cannot free your weapon hands to put on the ring.");*/ ! You("»ØÎؤò¤Ï¤á¤è¤¦¤È¤·¤¿¤¬ÍøÏӤμ«Í³¤¬¤­¤«¤Ê¤¤¡¥"); return(0); } if (welded(uwep) && mask==RIGHT_RING) { /* welded will set bknown */ ! /*JP You("cannot free your weapon hand to put on the ring.");*/ ! You("»ØÎؤò¤Ï¤á¤è¤¦¤È¤·¤¿¤¬ÍøÏӤμ«Í³¤¬¤­¤«¤Ê¤¤¡¥"); return(0); } setworn(otmp, mask); Ring_on(otmp); } else if (otmp->oclass == AMULET_CLASS) { if(uamul) { ! /*JP already_wearing("an amulet");*/ ! already_wearing("Ëâ½ü¤±", uamul); return(0); } setworn(otmp, W_AMUL); *************** *** 1254,1267 **** } else { /* it's a blindfold */ if (ublindf) { if (ublindf->otyp == TOWEL) ! Your("%s is already covered by a towel.", ! body_part(FACE)); else ! already_wearing("a blindfold"); return(0); } if (otmp->otyp != BLINDFOLD && otmp->otyp != TOWEL) { ! You_cant("wear that!"); return(0); } Blindf_on(otmp); --- 1418,1434 ---- } else { /* it's a blindfold */ if (ublindf) { if (ublindf->otyp == TOWEL) ! /*JP Your("%s is already covered by a towel.", ! body_part(FACE));*/ ! You("´û¤Ë¥¿¥ª¥ë¤ò¿È¤Ë¤Ä¤±¤Æ¤¤¤ë¡¥"); else ! /*JP already_wearing("a blindfold");*/ ! already_wearing("Ìܱ£", ublindf); return(0); } if (otmp->otyp != BLINDFOLD && otmp->otyp != TOWEL) { ! /*JP You_cant("wear that!");*/ ! You("¤½¤ì¤ò¿È¤Ë¤Ä¤±¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡ª"); return(0); } Blindf_on(otmp); *************** *** 1313,1320 **** rightfall = (uright && !uright->cursed && (!welded(uwep))); if (!uarmg && (leftfall || rightfall) && !nolimbs(uasmon)) { /* changed so cursed rings don't fall off, GAN 10/30/86 */ ! Your("%s off your %s.", ! (leftfall && rightfall) ? "rings slip" : "ring slips", makeplural(body_part(FINGER))); xfl++; if (leftfall) { --- 1480,1488 ---- rightfall = (uright && !uright->cursed && (!welded(uwep))); if (!uarmg && (leftfall || rightfall) && !nolimbs(uasmon)) { /* changed so cursed rings don't fall off, GAN 10/30/86 */ ! /*JP Your("%s off your %s.", ! (leftfall && rightfall) ? "rings slip" : "ring slips",*/ ! Your("»ØÎؤÏ%s¤«¤é³ê¤êÍî¤Á¤¿¡¥", makeplural(body_part(FINGER))); xfl++; if (leftfall) { *************** *** 1331,1340 **** otmp = uwep; if (otmp && !welded(otmp)) { /* changed so cursed weapons don't fall, GAN 10/30/86 */ ! Your("%s %sslips from your %s.", is_sword(otmp) ? c_sword : makesingular(oclass_names[(int)otmp->oclass]), xfl ? "also " : "", makeplural(body_part(HAND))); setuwep((struct obj *)0); if (otmp->otyp != LOADSTONE || !otmp->cursed) --- 1499,1513 ---- otmp = uwep; if (otmp && !welded(otmp)) { /* changed so cursed weapons don't fall, GAN 10/30/86 */ ! /*JP Your("%s %sslips from your %s.", is_sword(otmp) ? c_sword : makesingular(oclass_names[(int)otmp->oclass]), xfl ? "also " : "", + makeplural(body_part(HAND)));*/ + You("%s%s%s¤«¤é³ê¤êÍî¤È¤·¤¿¡¥", + is_sword(otmp) ? c_sword : + jtrns_obj('S',oclass_names[(int)otmp->oclass]), + xfl ? "¤â¤Þ¤¿" : "¤ò", makeplural(body_part(HAND))); setuwep((struct obj *)0); if (otmp->otyp != LOADSTONE || !otmp->cursed) *************** *** 1370,1390 **** if (otmph->oerodeproof || (acid_dmg ? !is_corrodeable(otmph) : !is_rustprone(otmph))) { if (flags.verbose || !(otmph->oerodeproof && otmph->rknown)) ! Your("%s not affected.", aobjnam(otmph, "are")); if (otmph->oerodeproof) otmph->rknown = TRUE; return; } if (otmph->oeroded < MAX_ERODE) { ! Your("%s%s!", aobjnam(otmph, acid_dmg ? "corrode" : "rust"), otmph->oeroded+1 == MAX_ERODE ? " completely" : ! otmph->oeroded ? " further" : ""); otmph->oeroded++; return; } if (flags.verbose) ! Your("%s completely %s.", aobjnam(otmph, Blind ? "feel" : "look"), ! acid_dmg ? "corroded" : "rusty"); } } --- 1543,1572 ---- if (otmph->oerodeproof || (acid_dmg ? !is_corrodeable(otmph) : !is_rustprone(otmph))) { if (flags.verbose || !(otmph->oerodeproof && otmph->rknown)) ! /*JP Your("%s not affected.", aobjnam(otmph, "are"));*/ ! Your("%s¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤«¤Ã¤¿¡¥", xname(otmph)); if (otmph->oerodeproof) otmph->rknown = TRUE; return; } if (otmph->oeroded < MAX_ERODE) { ! /*JP Your("%s%s!", aobjnam(otmph, acid_dmg ? "corrode" : "rust"), otmph->oeroded+1 == MAX_ERODE ? " completely" : ! otmph->oeroded ? " further" : "");*/ ! Your("%s¤Ï%s%s¡ª", xname(otmph), ! otmph->oeroded+1 == MAX_ERODE ? "´°Á´¤Ë" : ! otmph->oeroded ? "¤µ¤é¤Ë" : "", ! acid_dmg ? "Éå¿©¤·¤¿" : "»¬¤Ó¤¿"); otmph->oeroded++; return; } if (flags.verbose) ! /*JP Your("%s completely %s.", aobjnam(otmph, Blind ? "feel" : "look"), ! acid_dmg ? "corroded" : "rusty");*/ ! Your("%s¤Ï´°Á´¤Ë%s%s¡¥", ! xname(otmph), ! acid_dmg ? "Éå¿©¤·¤¿" : "»¬¤Ó¤¿", ! Blind ? "¤è¤¦¤À" : "¤è¤¦¤Ë¸«¤¨¤ë"); } } *************** *** 1450,1456 **** if (taking_off == 1L) { /* weapon */ if(!cursed(uwep)) { setuwep((struct obj *) 0); ! You("are empty %s.", body_part(HANDED)); } } else if (taking_off == WORN_ARMOR) { otmp = uarm; --- 1632,1639 ---- if (taking_off == 1L) { /* weapon */ if(!cursed(uwep)) { setuwep((struct obj *) 0); ! /*JP You("are empty %s.", body_part(HANDED));*/ ! You("²¿¤â%s¤Ë¤·¤Æ¤¤¤Ê¤¤¡¥", body_part(HAND)); } } else if (taking_off == WORN_ARMOR) { otmp = uarm; *************** *** 1489,1495 **** if(!cursed(ublindf)) { setworn((struct obj *)0, ublindf->owornmask); if(!Blinded) make_blinded(1L,FALSE); /* See on next move */ ! else You("still cannot see."); } } else impossible("do_takeoff: taking off %lx", taking_off); --- 1672,1679 ---- if(!cursed(ublindf)) { setworn((struct obj *)0, ublindf->owornmask); if(!Blinded) make_blinded(1L,FALSE); /* See on next move */ ! /*JP else You("still cannot see.");*/ ! else You("¤Þ¤À¸«¤¨¤Ê¤¤¡¥"); } } else impossible("do_takeoff: taking off %lx", taking_off); *************** *** 1524,1530 **** todelay = 0; if (taking_off == 0L) { ! You("finish disrobing."); return 0; } else if (taking_off == 1L) { todelay = 1; --- 1708,1715 ---- todelay = 0; if (taking_off == 0L) { ! /*JP You("finish disrobing.");*/ ! You("ÁõÈ÷¤ò²ò¤­¤ª¤¨¤¿¡¥"); return 0; } else if (taking_off == 1L) { todelay = 1; *************** *** 1566,1572 **** } if (otmp) todelay += objects[otmp->otyp].oc_delay; ! set_occupation(take_off, "disrobing", 0); return(1); /* get busy */ } --- 1751,1758 ---- } if (otmp) todelay += objects[otmp->otyp].oc_delay; ! /*JP set_occupation(take_off, "disrobing", 0);*/ ! set_occupation(take_off, "ÁõÈ÷¤ò²ò¤¤¤Æ¤¤¤ë", 0); return(1); /* get busy */ } *************** *** 1588,1605 **** int result = 0; if (taking_off || takeoff_mask) { ! You("continue disrobing."); ! set_occupation(take_off, "disrobing", 0); return(take_off()); } else if (!uwep && !uamul && !ublindf && !uleft && !uright && !wearing_armor()) { ! You("are not wearing anything."); return 0; } add_valid_menu_class(0); /* reset */ if (flags.menu_style != MENU_TRADITIONAL || ! (result = ggetobj("take off", select_off, 0, FALSE)) < -1) result = menu_remarm(result); return takeoff_mask ? take_off() : 0; --- 1774,1794 ---- int result = 0; if (taking_off || takeoff_mask) { ! /*JP You("continue disrobing.");*/ ! You("ÁõÈ÷¤ò²ò¤¯¤Î¤òºÆ³«¤·¤¿¡¥"); ! set_occupation(take_off, "ÁõÈ÷¤ò²ò¤¤¤Æ¤¤¤ë", 0); return(take_off()); } else if (!uwep && !uamul && !ublindf && !uleft && !uright && !wearing_armor()) { ! /*JP You("are not wearing anything.");*/ ! You("²¿¤âÁõÈ÷¤·¤Æ¤¤¤Ê¤¤¡¥"); return 0; } add_valid_menu_class(0); /* reset */ if (flags.menu_style != MENU_TRADITIONAL || ! /*JP (result = ggetobj("take off", select_off, 0, FALSE)) < -1)*/ ! (result = ggetobj("¤ÎÁõÈ÷¤ò²ò¤¯", select_off, 0, FALSE)) < -1) result = menu_remarm(result); return takeoff_mask ? take_off() : 0; *************** *** 1617,1623 **** all_worn_categories = (retry == -2); } else if (flags.menu_style == MENU_FULL) { all_worn_categories = FALSE; ! n = query_category("What type of things do you want to take off?", invent, WORN_TYPES|ALL_TYPES, &pick_list, PICK_ANY); if (!n) return 0; for (i = 0; i < n; i++) { --- 1806,1813 ---- all_worn_categories = (retry == -2); } else if (flags.menu_style == MENU_FULL) { all_worn_categories = FALSE; ! /*JP n = query_category("What type of things do you want to take off?",*/ ! n = query_category("¤É¤Î¥¿¥¤¥×¤Îʪ¤ÎÁõÈ÷¤ò²ò¤­¤Þ¤¹¤«¡©", invent, WORN_TYPES|ALL_TYPES, &pick_list, PICK_ANY); if (!n) return 0; for (i = 0; i < n; i++) { *************** *** 1629,1639 **** free((genericptr_t) pick_list); } else if (flags.menu_style == MENU_COMBINATION) { all_worn_categories = FALSE; ! if (ggetobj("take off", select_off, 0, TRUE) == -2) all_worn_categories = TRUE; } ! n = query_objlist("What do you want to take off?", invent, SIGNAL_NOMENU|USE_INVLET|INVORDER_SORT, &pick_list, PICK_ANY, all_worn_categories ? is_worn : is_worn_by_type); --- 1819,1831 ---- free((genericptr_t) pick_list); } else if (flags.menu_style == MENU_COMBINATION) { all_worn_categories = FALSE; ! /*JP if (ggetobj("take off", select_off, 0, TRUE) == -2)*/ ! if (ggetobj("¤ÎÁõÈ÷¤ò²ò¤¯", select_off, 0, TRUE) == -2) all_worn_categories = TRUE; } ! /*JP n = query_objlist("What do you want to take off?", invent,*/ ! n = query_objlist("¤É¤ÎÁõÈ÷¤ò²ò¤­¤Þ¤¹¤«¡©", invent, SIGNAL_NOMENU|USE_INVLET|INVORDER_SORT, &pick_list, PICK_ANY, all_worn_categories ? is_worn : is_worn_by_type); *************** *** 1642,1648 **** (void) select_off(pick_list[i].item.a_obj); free((genericptr_t) pick_list); } else if (n < 0) { ! pline("There is nothing else you can remove or unwield."); } return 0; } --- 1834,1841 ---- (void) select_off(pick_list[i].item.a_obj); free((genericptr_t) pick_list); } else if (n < 0) { ! /*JP pline("There is nothing else you can remove or unwield.");*/ ! pline("ÁõÈ÷¤ò²ò¤±¤ë¤â¤Î¤Ï²¿¤â¤Ê¤¤¡¥"); } return 0; } *************** *** 1657,1695 **** (!obj_resists(otmp, 0, 90))) if (DESTROY_ARM(uarmc)) { ! Your("cloak crumbles and turns to dust!"); (void) Cloak_off(); useup(otmp); } else if (DESTROY_ARM(uarm)) { /* may be disintegrated by spell or dragon breath... */ if (donning(otmp)) cancel_don(); ! Your("armor turns to dust and falls to the %s!", surface(u.ux,u.uy)); (void) Armor_gone(); useup(otmp); #ifdef TOURIST } else if (DESTROY_ARM(uarmu)) { ! Your("shirt crumbles into tiny threads and falls apart!"); useup(otmp); #endif } else if (DESTROY_ARM(uarmh)) { if (donning(otmp)) cancel_don(); ! Your("helmet turns to dust and is blown away!"); (void) Helmet_off(); useup(otmp); } else if (DESTROY_ARM(uarmg)) { if (donning(otmp)) cancel_don(); ! Your("gloves vanish!"); (void) Gloves_off(); useup(otmp); ! selftouch("You"); } else if (DESTROY_ARM(uarmf)) { if (donning(otmp)) cancel_don(); ! Your("boots disintegrate!"); (void) Boots_off(); useup(otmp); } else if (DESTROY_ARM(uarms)) { ! Your("shield crumbles away!"); (void) Shield_off(); useup(otmp); } else return(0); /* could not destroy anything */ --- 1850,1897 ---- (!obj_resists(otmp, 0, 90))) if (DESTROY_ARM(uarmc)) { ! /*JP Your("cloak crumbles and turns to dust!");*/ ! Your("¥¯¥í¡¼¥¯¤ÏºÕ¤±¤Æ¿Ð¤È¤Ê¤Ã¤¿¡ª"); (void) Cloak_off(); useup(otmp); } else if (DESTROY_ARM(uarm)) { /* may be disintegrated by spell or dragon breath... */ if (donning(otmp)) cancel_don(); ! /*JP Your("armor turns to dust and falls to the %s!", ! surface(u.ux,u.uy));*/ ! Your("³»¤Ï¿Ð¤È¤Ê¤ê%s¤ËÍî¤Á¤¿¡ª", surface(u.ux,u.uy)); (void) Armor_gone(); useup(otmp); #ifdef TOURIST } else if (DESTROY_ARM(uarmu)) { ! /*JP Your("shirt crumbles into tiny threads and falls apart!");*/ ! Your("¥·¥ã¥Ä¤Ï¥º¥¿¥º¥¿¤ËÎö¤±¡¤¾®¤µ¤Ê»å¶ý¤È¤Ê¤êÍî¤Á¤¿¡ª"); useup(otmp); #endif } else if (DESTROY_ARM(uarmh)) { if (donning(otmp)) cancel_don(); ! /*JP Your("helmet turns to dust and is blown away!");*/ ! Your("³õ¤Ï¿Ð¤È¤Ê¤ê¿á¤­¤È¤ó¤À¡ª"); (void) Helmet_off(); useup(otmp); } else if (DESTROY_ARM(uarmg)) { if (donning(otmp)) cancel_don(); ! /*JP Your("gloves vanish!");*/ ! Your("¾®¼ê¤Ï¾Ã¤¨¤¿¡ª"); (void) Gloves_off(); useup(otmp); ! /*JP selftouch("You");*/ ! selftouch("¤½¤Î¤È¤­¤¢¤Ê¤¿¤Ï"); } else if (DESTROY_ARM(uarmf)) { if (donning(otmp)) cancel_don(); ! /*JP Your("boots disintegrate!");*/ ! Your("·¤¤ÏÊ´¡¹¤ËºÕ¤±¤¿¡ª"); (void) Boots_off(); useup(otmp); } else if (DESTROY_ARM(uarms)) { ! /*JP Your("shield crumbles away!");*/ ! Your("½â¤ÏºÕ¤±»¶¤Ã¤¿¡ª"); (void) Shield_off(); useup(otmp); } else return(0); /* could not destroy anything */ diff -c -r ../nethack-3.2.2/src/dog.c ./src/dog.c *** ../nethack-3.2.2/src/dog.c Sat Dec 28 21:53:38 1996 --- ./src/dog.c Tue Jul 22 23:18:14 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "edog.h" *************** *** 39,44 **** --- 46,54 ---- pettype = PM_LITTLE_DOG; break; case 'W': + #ifdef FIGHTER + case 'F': + #endif pettype = PM_KITTEN; break; /* otherwise, see if the player has a preference */ *************** *** 70,76 **** } else { pm = rndmonst(); if (!pm) { ! pline("There seems to be nothing available for a familiar."); break; } } --- 80,86 ---- } else { pm = rndmonst(); if (!pm) { ! pline("²¼Ëͤϸ½¤ì¤Ê¤«¤Ã¤¿¡¥"); break; } } *************** *** 79,85 **** mtmp = makemon(pm, x, y, NO_MM_FLAGS); pm->pxlth -= sizeof (struct edog); if (otmp && !mtmp) { /* monster was genocided or square occupied */ ! pline_The("figurine writhes and then shatters into pieces!"); break; } } while (!mtmp && --trycnt > 0); --- 89,96 ---- mtmp = makemon(pm, x, y, NO_MM_FLAGS); pm->pxlth -= sizeof (struct edog); if (otmp && !mtmp) { /* monster was genocided or square occupied */ ! /*JP pline_The("figurine writhes and then shatters into pieces!");*/ ! pline("¿Í·Á¤Ï¤â¤¬¤­¡¤¤¯¤À¤±»¶¤Ã¤¿¡ª"); break; } } while (!mtmp && --trycnt > 0); *************** *** 95,101 **** if (chance > 0) { mtmp->mtame = 0; /* not tame after all */ if (chance == 2) { /* hostile (cursed figurine) */ ! You("get a bad feeling about this."); mtmp->mpeaceful = 0; } } --- 106,113 ---- if (chance > 0) { mtmp->mtame = 0; /* not tame after all */ if (chance == 2) { /* hostile (cursed figurine) */ ! /*JP You("get a bad feeling about this.");*/ ! You("·ù¤Êͽ´¶¤¬¤·¤¿¡¥"); mtmp->mpeaceful = 0; } } *************** *** 129,137 **** --- 141,157 ---- /* default pet names */ if (!*petname) { + #if 0 /*JP*/ if(Role_is('C')) petname = "Slasher"; /* The Warrior */ if(Role_is('S')) petname = "Hachi"; /* Shibuya Station */ if(Role_is('B')) petname = "Idefix"; /* Obelix */ + #endif + if(Role_is('C')) petname = "¥¹¥é¥Ã¥·¥ã¡¼"; /* The Warrior */ + if(Role_is('S')) petname = "¥Ï¥Á¸ø"; /* Shibuya Station */ + if(Role_is('B')) petname = "¥¤¥Ç¥Õ¥£¥¯¥¹"; /* Obelix */ + #ifdef FIGHTER + if(Role_is('F')) petname = rn2(2) ? "¥ë¥Ê" : "¥¢¥ë¥Æ¥ß¥¹"; + #endif } mons[pettype].pxlth = sizeof(struct edog); *************** *** 392,411 **** stay_behind = FALSE; if (mtmp->mtame && mtmp->meating) { if (canseemon(mtmp)) ! pline("%s is still eating.", Monnam(mtmp)); stay_behind = TRUE; } else if (mon_has_amulet(mtmp)) { if (canseemon(mtmp)) ! pline("%s seems very disoriented for a moment.", Monnam(mtmp)); stay_behind = TRUE; } if (stay_behind) { if (mtmp->mleashed) { ! pline("%s leash suddenly comes loose.", humanoid(mtmp->data) ? (mtmp->female ? "Her" : "His") ! : "Its"); m_unleash(mtmp); } continue; --- 412,439 ---- stay_behind = FALSE; if (mtmp->mtame && mtmp->meating) { if (canseemon(mtmp)) ! /*JP pline("%s is still eating.", Monnam(mtmp));*/ ! pline("%s¤Ï¤Þ¤À¿©¤Ù¤Æ¤¤¤ë¡¥", Monnam(mtmp)); ! stay_behind = TRUE; } else if (mon_has_amulet(mtmp)) { if (canseemon(mtmp)) ! /*JP pline("%s seems very disoriented for a moment.",*/ ! pline("%s¤Ï°ì½ÖÊý¸þ´¶³Ð¤ò¼º¤Ã¤¿¤è¤¦¤À¡¥", ! Monnam(mtmp)); stay_behind = TRUE; } if (stay_behind) { if (mtmp->mleashed) { ! /*JP pline("%s leash suddenly comes loose.", humanoid(mtmp->data) ? (mtmp->female ? "Her" : "His") ! : "Its");*/ ! pline("%s¤Ë·ë¤Ð¤ì¤¿É³¤ÏÆÍÁ³¤æ¤ë¤ó¤À¡¥", ! humanoid(mtmp->data) ! ? (mtmp->female ? "Èà½÷¤Î" : "Èà¤Î") ! : "¤½¤ÎÀ¸Êª¤Î"); m_unleash(mtmp); } continue; *************** *** 443,449 **** } else if (mtmp->mleashed) { /* this can happen if your quest leader ejects you from the "home" level while a leashed pet isn't next to you */ ! pline("%s leash goes slack.", s_suffix(Monnam(mtmp))); m_unleash(mtmp); } } --- 471,478 ---- } else if (mtmp->mleashed) { /* this can happen if your quest leader ejects you from the "home" level while a leashed pet isn't next to you */ ! /*JP pline("%s leash goes slack.", s_suffix(Monnam(mtmp)));*/ ! pline("%s¤Ë·ë¤Ð¤ì¤¿É³¤Ï¤¿¤ë¤ó¤À¡¥", s_suffix(Monnam(mtmp))); m_unleash(mtmp); } } *************** *** 488,494 **** if (mtmp->mleashed) { m_unleash(mtmp); mtmp->mtame--; ! pline_The("leash comes off!"); } newsym(mtmp->mx,mtmp->my); --- 517,524 ---- if (mtmp->mleashed) { m_unleash(mtmp); mtmp->mtame--; ! /*JP pline_The("leash comes off!");*/ ! pline("ɳ¤Ï¤Ï¤º¤ì¤¿¡ª"); } newsym(mtmp->mx,mtmp->my); *************** *** 637,647 **** boolean big_corpse = (obj->otyp == CORPSE && obj->corpsenm >= LOW_PM && mons[obj->corpsenm].msize > mtmp->data->msize); ! pline("%s catches %s%s", Monnam(mtmp), the(xname(obj)), ! !big_corpse ? "." : ", or vice versa!"); } else if (cansee(mtmp->mx,mtmp->my)) ! pline("%s stops.", The(xname(obj))); /* dog_eat expects a floor object */ place_object(obj, mtmp->mx, mtmp->my); (void) dog_eat(mtmp, obj, mtmp->mx, mtmp->my, FALSE); --- 667,681 ---- boolean big_corpse = (obj->otyp == CORPSE && obj->corpsenm >= LOW_PM && mons[obj->corpsenm].msize > mtmp->data->msize); ! /*JP pline("%s catches %s%s", ! Monnam(mtmp), the(xname(obj)), ! !big_corpse ? "." : ", or vice versa!");*/ ! pline("%s¤Ï%s¤ò¤Ä¤«¤Þ¤¨¤¿%s", Monnam(mtmp), the(xname(obj)), ! !big_corpse ? "¡¥" : "¤È¸À¤¦¤è¤ê¤½¤ÎµÕ¤«¡ª"); } else if (cansee(mtmp->mx,mtmp->my)) ! /*JP pline("%s stops.", The(xname(obj)));*/ ! pline("%s¤Ï»ß¤Þ¤Ã¤¿¡¥", The(xname(obj))); /* dog_eat expects a floor object */ place_object(obj, mtmp->mx, mtmp->my); (void) dog_eat(mtmp, obj, mtmp->mx, mtmp->my, FALSE); diff -c -r ../nethack-3.2.2/src/dogmove.c ./src/dogmove.c *** ../nethack-3.2.2/src/dogmove.c Fri Jun 21 02:24:58 1996 --- ./src/dogmove.c Tue Jul 22 23:18:15 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "mfndpos.h" *************** *** 142,151 **** } /* hack: observe the action if either new or old location is in view */ if (cansee(x, y) || cansee(mtmp->mx, mtmp->my)) ! pline("%s %s %s.", Monnam(mtmp), devour ? "devours" : "eats", (obj->oclass == FOOD_CLASS) ? ! singular(obj, doname) : doname(obj)); /* It's a reward if it's DOGFOOD and the player dropped/threw it. */ /* We know the player had it if invlet is set -dlc */ if(dogfood(mtmp,obj) == DOGFOOD && obj->invlet) --- 149,162 ---- } /* hack: observe the action if either new or old location is in view */ if (cansee(x, y) || cansee(mtmp->mx, mtmp->my)) ! /*JP pline("%s %s %s.", Monnam(mtmp), devour ? "devours" : "eats", (obj->oclass == FOOD_CLASS) ? ! singular(obj, doname) : doname(obj));*/ ! pline("%s¤Ï%s¤ò%s¡¥", Monnam(mtmp), ! (obj->oclass == FOOD_CLASS) ? ! singular(obj, doname) : doname(obj), ! devour ? "°û¤ß¹þ¤ó¤Ç¤¤¤ë" : "¿©¤Ù¤Æ¤¤¤ë"); /* It's a reward if it's DOGFOOD and the player dropped/threw it. */ /* We know the player had it if invlet is set -dlc */ if(dogfood(mtmp,obj) == DOGFOOD && obj->invlet) *************** *** 173,179 **** cansee(mtmp->mx, mtmp->my)) { uchar save_mnamelth = mtmp->mnamelth; mtmp->mnamelth = 0; ! pline("%s turns into %s!", oldpet, a_monnam(mtmp)); mtmp->mnamelth = save_mnamelth; } } --- 184,191 ---- cansee(mtmp->mx, mtmp->my)) { uchar save_mnamelth = mtmp->mnamelth; mtmp->mnamelth = 0; ! /*JP pline("%s turns into %s!", oldpet, a_monnam(mtmp));*/ ! pline("%s¤Ï%s¤Ë¤Ê¤Ã¤¿¡ª", oldpet, a_monnam(mtmp)); mtmp->mnamelth = save_mnamelth; } } *************** *** 205,231 **** mtmp->mhp = mtmp->mhpmax; if (mtmp->mhp < 1) goto dog_died; if (cansee(mtmp->mx, mtmp->my)) ! pline("%s is confused from hunger.", Monnam(mtmp)); else if (couldsee(mtmp->mx, mtmp->my)) beg(mtmp); else { char buf[BUFSZ]; ! Strcpy(buf, "the "); You_feel("worried about %s.", mtmp->mnamelth ? NAME(mtmp) : strcat(buf, Hallucination ! ? rndmonnam() : mtmp->data->mname)); } } else if (moves > edog->hungrytime + 750 || mtmp->mhp < 1) { dog_died: if (mtmp->mleashed) ! Your("leash goes slack."); else if (cansee(mtmp->mx, mtmp->my)) ! pline("%s dies%s.", Monnam(mtmp), ! (mtmp->mhp >= 1) ? "" : " from hunger"); else ! You_feel("%s for a moment.", ! Hallucination ? "bummed" : "sad"); mondied(mtmp); return(TRUE); } --- 217,253 ---- mtmp->mhp = mtmp->mhpmax; if (mtmp->mhp < 1) goto dog_died; if (cansee(mtmp->mx, mtmp->my)) ! /*JP pline("%s is confused from hunger.", Monnam(mtmp));*/ ! pline("%s¤Ï¶õÊ¢¤Î¤¿¤áº®Í𤷤Ƥ¤¤ë¡¥", Monnam(mtmp)); else if (couldsee(mtmp->mx, mtmp->my)) beg(mtmp); else { char buf[BUFSZ]; ! /*JP Strcpy(buf, "the "); You_feel("worried about %s.", mtmp->mnamelth ? NAME(mtmp) : strcat(buf, Hallucination ! ? rndmonnam() : mtmp->data->mname));*/ ! Strcpy(buf, ""); ! You("%s¤¬¿´Çۤˤʤä¿¡¥", mtmp->mnamelth ? ! NAME(mtmp) : strcat(buf, Hallucination ! ? rndmonnam() : jtrns_mon(mtmp->data->mname, mtmp->female))); } } else if (moves > edog->hungrytime + 750 || mtmp->mhp < 1) { dog_died: if (mtmp->mleashed) ! /*JP Your("leash goes slack.");*/ ! Your("ɳ¤Ï¤¿¤ë¤ó¤À¡¥"); else if (cansee(mtmp->mx, mtmp->my)) ! /*JP pline("%s dies%s.", Monnam(mtmp), ! (mtmp->mhp >= 1) ? "" : " from hunger");*/ ! pline("%s¤Ï%s»à¤ó¤À¡¥", Monnam(mtmp), ! (mtmp->mhp >= 1) ? "" : "¶õÊ¢¤Î¤¿¤á"); else ! /*JP You_feel("%s for a moment.", ! Hallucination ? "bummed" : "sad");*/ ! You("%sµ¤Ê¬¤Ë¤ª¤½¤ï¤ì¤¿¡¥", ! Hallucination ? "¤¬¤Ã¤«¤ê¤·¤¿" : "Èᤷ¤¤"); mondied(mtmp); return(TRUE); } *************** *** 273,279 **** if(rn2(20) < edog->apport+3) if (rn2(udist) || !rn2(edog->apport)) { if (cansee(omx, omy) && flags.verbose) ! pline("%s picks up %s.", Monnam(mtmp), distant_name(obj, doname)); obj_extract_self(obj); newsym(omx,omy); --- 295,302 ---- if(rn2(20) < edog->apport+3) if (rn2(udist) || !rn2(edog->apport)) { if (cansee(omx, omy) && flags.verbose) ! /*JP pline("%s picks up %s.", Monnam(mtmp),*/ ! pline("%s¤Ï%s¤ò½¦¤Ã¤¿¡¥", Monnam(mtmp), distant_name(obj, doname)); obj_extract_self(obj); newsym(omx,omy); *************** *** 491,498 **** * it disappears, angrily, and sends in some nasties */ if (canspotmon(mtmp)) { ! pline("%s rebukes you, saying:", Monnam(mtmp)); ! verbalize("Since you desire conflict, have some more!"); } mongone(mtmp); i = rnd(4); --- 514,523 ---- * it disappears, angrily, and sends in some nasties */ if (canspotmon(mtmp)) { ! /*JP pline("%s rebukes you, saying:", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤òÈóÆñ¤·¤¿¡§", Monnam(mtmp)); ! /*JP verbalize("Since you desire conflict, have some more!");*/ ! verbalize("ÏÀÁè¤ò˾¤ó¤Ç¤¤¤ë¤è¤¦¤À¤«¤é¡¤¤â¤Ã¤ÈÍ¿¤¨¤Æ¤ä¤í¤¦¡ª"); } mongone(mtmp); i = rnd(4); *************** *** 645,651 **** if (nix != omx || niy != omy) { if (info[chi] & ALLOW_U) { if (mtmp->mleashed) { /* play it safe */ ! pline("%s breaks loose of %s leash!", Monnam(mtmp), his[pronoun_gender(mtmp)]); m_unleash(mtmp); } --- 670,677 ---- if (nix != omx || niy != omy) { if (info[chi] & ALLOW_U) { if (mtmp->mleashed) { /* play it safe */ ! /*JP pline("%s breaks loose of %s leash!",*/ ! pline("%s¤Ï%s¤Îɳ¤Ç¼«Í³¤òÃ¥¤ï¤ì¤¿¡ª", Monnam(mtmp), his[pronoun_gender(mtmp)]); m_unleash(mtmp); } *************** *** 656,662 **** remove_monster(omx, omy); place_monster(mtmp, nix, niy); if (cursemsg[chi] && (cansee(omx,omy) || cansee(nix,niy))) ! pline("%s moves only reluctantly.", Monnam(mtmp)); for (j=MTSZ-1; j>0; j--) mtmp->mtrack[j] = mtmp->mtrack[j-1]; mtmp->mtrack[0].x = omx; mtmp->mtrack[0].y = omy; --- 682,689 ---- remove_monster(omx, omy); place_monster(mtmp, nix, niy); if (cursemsg[chi] && (cansee(omx,omy) || cansee(nix,niy))) ! /*JP pline("%s moves only reluctantly.", Monnam(mtmp));*/ ! pline("%s¤Ï¤¤¤ä¤¤¤äÆ°¤¤¤¿¡¥", Monnam(mtmp)); for (j=MTSZ-1; j>0; j--) mtmp->mtrack[j] = mtmp->mtrack[j-1]; mtmp->mtrack[0].x = omx; mtmp->mtrack[0].y = omy; diff -c -r ../nethack-3.2.2/src/dokick.c ./src/dokick.c *** ../nethack-3.2.2/src/dokick.c Sat Dec 28 21:53:39 1996 --- ./src/dokick.c Tue Sep 23 07:10:07 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Izchak Miller, Mike Stephenson, Steve Linhart, 1989. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "eshk.h" *************** *** 78,84 **** mdx = mon->mx + u.dx; mdy = mon->my + u.dy; if(goodpos(mdx, mdy, mon, mon->data)) { ! pline("%s reels from the blow.", Monnam(mon)); remove_monster(mon->mx, mon->my); newsym(mon->mx, mon->my); place_monster(mon, mdx, mdy); --- 85,92 ---- mdx = mon->mx + u.dx; mdy = mon->my + u.dy; if(goodpos(mdx, mdy, mon, mon->data)) { ! /*JP pline("%s reels from the blow.", Monnam(mon));*/ ! pline("%s¤Ï¶¯ÂǤµ¤ì¤è¤í¤á¤¤¤¿¡¥", Monnam(mon)); remove_monster(mon->mx, mon->my); newsym(mon->mx, mon->my); place_monster(mon, mdx, mdy); *************** *** 122,128 **** if (tmp > rnd(20)) { int sum; ! You("kick %s.", mon_nam(mon)); sum = damageum(mon, &(uasmon->mattk[i])); if (sum == 2) (void)passive(mon, 1, 0, TRUE); --- 130,137 ---- if (tmp > rnd(20)) { int sum; ! /*JP You("kick %s.", mon_nam(mon));*/ ! You("%s¤ò½³¤Ã¤¿¡¥", mon_nam(mon)); sum = damageum(mon, &(uasmon->mattk[i])); if (sum == 2) (void)passive(mon, 1, 0, TRUE); *************** *** 137,149 **** } if(noncorporeal(mon->data)) { ! Your("kick passes through!"); return; } if(Levitation && !rn2(3) && verysmall(mon->data) && !is_flyer(mon->data)) { ! pline("Floating in the air, you miss wildly!"); exercise(A_DEX, FALSE); (void) passive(mon, FALSE, 1, TRUE); return; --- 146,160 ---- } if(noncorporeal(mon->data)) { ! /*JP Your("kick passes through!");*/ ! Your("½³¤ê¤Ï¶õ¤ò¤­¤Ã¤¿¡ª"); return; } if(Levitation && !rn2(3) && verysmall(mon->data) && !is_flyer(mon->data)) { ! /*JP pline("Floating in the air, you miss wildly!");*/ ! pline("¶õÃæ¤ËÉ⤤¤Æ¤¤¤ë¤Î¤Ç¡¤Â礭¤¯³°¤·¤¿¡ª"); exercise(A_DEX, FALSE); (void) passive(mon, FALSE, 1, TRUE); return; *************** *** 155,161 **** if(i < (j*3)/10) { if(!rn2((i < j/10) ? 2 : (i < j/5) ? 3 : 4)) { if(martial() && !rn2(2)) goto doit; ! Your("clumsy kick does no damage."); (void) passive(mon, FALSE, 1, TRUE); return; } --- 166,173 ---- if(i < (j*3)/10) { if(!rn2((i < j/10) ? 2 : (i < j/5) ? 3 : 4)) { if(martial() && !rn2(2)) goto doit; ! /*JP Your("clumsy kick does no damage.");*/ ! Your("ÉÔ´ïÍѤʽ³¤ê¤Ï¥À¥á¡¼¥¸¤òÍ¿¤¨¤Ê¤¤¡¥"); (void) passive(mon, FALSE, 1, TRUE); return; } *************** *** 168,187 **** --- 180,207 ---- else if(uarm && objects[uarm->otyp].oc_bulky && ACURR(A_DEX) < rnd(25)) clumsy = TRUE; doit: + /*JP You("kick %s.", mon_nam(mon)); + */ + You("%s¤ò½³¤Ã¤¿¡¥", mon_nam(mon)); if(!rn2(clumsy ? 3 : 4) && (clumsy || !bigmonst(mon->data)) && mon->mcansee && !mon->mtrapped && !thick_skinned(mon->data) && mon->data->mlet != S_EEL && haseyes(mon->data) && mon->mcanmove && !mon->mstun && !mon->mconf && !mon->msleep && mon->data->mmove >= 12) { if(!nohands(mon->data) && !rn2(martial() ? 5 : 3)) { + /*JP pline("%s blocks your %skick.", Monnam(mon), clumsy ? "clumsy " : ""); + */ + pline("%s¤Ï¤¢¤Ê¤¿¤Î%s½³¤ê¤òËɤ¤¤À¡¥", Monnam(mon), + clumsy ? "ÉÔ´ïÍѤÊ" : ""); (void) passive(mon, FALSE, 1, TRUE); return; } else { mnexto(mon); if(mon->mx != x || mon->my != y) { + #if 0 /*JP*/ pline("%s %s, %s evading your %skick.", Monnam(mon), (can_teleport(mon->data) ? "teleports" : is_floater(mon->data) ? "floats" : *************** *** 190,195 **** --- 210,224 ---- "slides" : "jumps"), clumsy ? "easily" : "nimbly", clumsy ? "clumsy " : ""); + #endif + pline("%s¤Ï%s¡¤%s¤¢¤Ê¤¿¤Î%s½³¤ê¤ò¤¿¤¯¤ß¤ËÈò¤±¤¿¡¥", Monnam(mon), + (can_teleport(mon->data) ? "½Ö´Ö°ÜÆ°¤·" : + is_floater(mon->data) ? "É⤭" : + is_flyer(mon->data) ? "¤Ï¤Ð¤¿¤­" : + (nolimbs(mon->data) || slithy(mon->data)) + ? "²£¤Ë³ê¤ê" : "Ä·¤Í"), + clumsy ? "³Ú¡¹¤È" : "ÁÇÁ᤯", + clumsy ? "ÉÔ´ïÍѤÊ" : ""); (void) passive(mon, FALSE, 1, TRUE); return; } *************** *** 213,219 **** } else if (!mtmp->mcanmove) { /* too light to do real damage */ if (canseemon(mtmp)) ! pline_The("gold hits %s.", mon_nam(mtmp)); } else { mtmp->msleep = 0; mtmp->meating = 0; --- 242,249 ---- } else if (!mtmp->mcanmove) { /* too light to do real damage */ if (canseemon(mtmp)) ! /*JP pline_The("gold hits %s.", mon_nam(mtmp));*/ ! pline("¥´¡¼¥ë¥É¤Ï%s¤ËÌ¿Ã椷¤¿¡¥", mon_nam(mtmp)); } else { mtmp->msleep = 0; mtmp->meating = 0; *************** *** 221,227 **** /* greedy monsters catch gold */ if (cansee(mtmp->mx, mtmp->my)) ! pline("%s catches the gold.", Monnam(mtmp)); mtmp->mgold += gold->quan; if (mtmp->isshk) { long robbed = ESHK(mtmp)->robbed; --- 251,258 ---- /* greedy monsters catch gold */ if (cansee(mtmp->mx, mtmp->my)) ! /*JP pline("%s catches the gold.", Monnam(mtmp));*/ ! pline("%s¤Ï¥´¡¼¥ë¥É¤ò¼õ¤±¤È¤Ã¤¿¡¥", Monnam(mtmp)); mtmp->mgold += gold->quan; if (mtmp->isshk) { long robbed = ESHK(mtmp)->robbed; *************** *** 229,236 **** if (robbed) { robbed -= gold->quan; if (robbed < 0) robbed = 0; ! pline_The("amount %scovers %s recent losses.", ! !robbed ? "" : "partially ", his[mtmp->female]); ESHK(mtmp)->robbed = robbed; if(!robbed) --- 260,269 ---- if (robbed) { robbed -= gold->quan; if (robbed < 0) robbed = 0; ! /*JP pline_The("amount %scovers %s recent losses.", ! !robbed ? "" : "partially ",*/ ! pline("%s%s¤Î»¼º¤òÊäŶ¤¹¤ë¤Î¤Ë»È¤ï¤ì¤¿¡¥", ! !robbed ? "" : "¶â¤Î°ìÉô¤Ï", his[mtmp->female]); ESHK(mtmp)->robbed = robbed; if(!robbed) *************** *** 238,252 **** } else { if(mtmp->mpeaceful) { ESHK(mtmp)->credit += gold->quan; ! You("have %ld zorkmid%s in credit.", ESHK(mtmp)->credit, ! plur(ESHK(mtmp)->credit)); ! } else verbalize("Thanks, scum!"); } } else if (mtmp->ispriest) { if (mtmp->mpeaceful) ! verbalize("Thank you for your contribution."); ! else verbalize("Thanks, scum!"); } else if (is_mercenary(mtmp->data)) { long goldreqd = 0L; --- 271,292 ---- } else { if(mtmp->mpeaceful) { ESHK(mtmp)->credit += gold->quan; ! /*JP You("have %ld zorkmid%s in credit.", ESHK(mtmp)->credit, ! plur(ESHK(mtmp)->credit));*/ ! You("%ld¥´¡¼¥ë¥É¤ò¥¯¥ì¥¸¥Ã¥È¤Ë¤·¤¿¡¥", ! ESHK(mtmp)->credit); ! /*JP } else verbalize("Thanks, scum!");*/ ! } else verbalize("¤¢¤ê¤¬¤È¤è¡ª¤¯¤½¤Ã¤¿¤ì¡ª"); ! } } else if (mtmp->ispriest) { if (mtmp->mpeaceful) ! /*JP verbalize("Thank you for your contribution."); ! else verbalize("Thanks, scum!");*/ ! verbalize("´óÉÕ¤ò¤É¤¦¤â¤¢¤ê¤¬¤È¤¦¡¥"); ! else verbalize("¤¢¤ê¤¬¤È¤è¡ª¤¯¤½¤Ã¤¿¤ì¡ª"); ! } else if (is_mercenary(mtmp->data)) { long goldreqd = 0L; *************** *** 267,274 **** } } if (mtmp->mpeaceful) ! verbalize("That should do. Now beat it!"); ! else verbalize("That's not enough, coward!"); } dealloc_obj(gold); --- 307,316 ---- } } if (mtmp->mpeaceful) ! /*JP verbalize("That should do. Now beat it!");*/ ! verbalize("¤Ê¤ó¤À¤¤¡©¤³¤ì¤Ï¡©"); ! /*JP else verbalize("That's not enough, coward!");*/ ! else verbalize("¤½¤ó¤Ê¤â¤Î¤ÇºÑ¤à¤«¡¤Èܶ±¼Ô¡ª"); } dealloc_obj(gold); *************** *** 300,324 **** if (((trap->ttyp == PIT || trap->ttyp == SPIKED_PIT) && !passes_walls(uasmon)) || trap->ttyp == WEB) { ! You_cant("kick %s that's in a %s!", something, ! trap->ttyp == WEB ? "web" : "pit"); return(1); } } if(Fumbling && !rn2(3)) { ! Your("clumsy kick missed."); return(1); } if(kickobj->otyp == CORPSE && kickobj->corpsenm == PM_COCKATRICE && !resists_ston(&youmonst) && !uarmf) { ! You("kick the cockatrice corpse with your bare %s.", makeplural(body_part(FOOT))); if (!(poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM))) { ! You("turn to stone..."); killer_format = KILLED_BY; ! killer = "kicking a cockatrice corpse without boots"; done(STONING); } } --- 342,373 ---- if (((trap->ttyp == PIT || trap->ttyp == SPIKED_PIT) && !passes_walls(uasmon)) || trap->ttyp == WEB) { ! /*JP You_cant("kick %s that's in a %s!", something, ! trap->ttyp == WEB ? "web" : "pit");*/ ! You("%s¤ÎÃæ¤Ç¤Ï½³¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤", ! trap->ttyp == WEB ? "¤¯¤â¤ÎÁã" : "Í·ê"); ! return(1); } } if(Fumbling && !rn2(3)) { ! /*JP Your("clumsy kick missed.");*/ ! Your("ÉÔ´ïÍѤʽ³¤ê¤Ï³°¤ì¤¿¡¥"); return(1); } if(kickobj->otyp == CORPSE && kickobj->corpsenm == PM_COCKATRICE && !resists_ston(&youmonst) && !uarmf) { ! /*JP You("kick the cockatrice corpse with your bare %s.",*/ ! You("ÁÇ%s¤Ç¥³¥«¥È¥ê¥¹¤Î»àÂΤò½³¤Ã¤¿¡¥", makeplural(body_part(FOOT))); if (!(poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM))) { ! /*JP You("turn to stone...");*/ ! You("Àв½¤·¤¿¡¥¡¥¡¥"); killer_format = KILLED_BY; ! /*JP killer = "kicking a cockatrice corpse without boots";*/ ! killer = "·¤Ìµ¤·¤Ç¥³¥«¥È¥ê¥¹¤Î»àÂΤò½³¤Ã¤Æ"; done(STONING); } } *************** *** 355,361 **** struct obj *otmp2; long loss = 0L; ! if(range < 2) pline("THUD!"); for(otmp = kickobj->cobj; otmp; otmp = otmp2) { const char *result = (char *)0; --- 404,411 ---- struct obj *otmp2; long loss = 0L; ! /*JP if(range < 2) pline("THUD!");*/ ! if(range < 2) pline("¥¬¥ó¡ª"); for(otmp = kickobj->cobj; otmp; otmp = otmp2) { const char *result = (char *)0; *************** *** 364,375 **** if (objects[otmp->otyp].oc_material == GLASS && otmp->oclass != GEM_CLASS && !obj_resists(otmp, 33, 100)) { ! result = "shatter"; } else if (otmp->otyp == EGG && !rn2(3)) { ! result = "cracking"; } if (result) { ! You_hear("a muffled %s.",result); if(costly) loss += stolen_value(otmp, x, y, (boolean)shkp->mpeaceful, TRUE); if (otmp->quan > 1L) --- 414,428 ---- if (objects[otmp->otyp].oc_material == GLASS && otmp->oclass != GEM_CLASS && !obj_resists(otmp, 33, 100)) { ! /*JP result = "shatter";*/ ! result = "¥¬¥Á¥ã¥ó"; } else if (otmp->otyp == EGG && !rn2(3)) { ! /*JP result = "cracking";*/ ! result = "¥°¥·¥ã¥Ã"; } if (result) { ! /*JP You_hear("a muffled %s.",result);*/ ! You_hear("%s¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥", result); if(costly) loss += stolen_value(otmp, x, y, (boolean)shkp->mpeaceful, TRUE); if (otmp->quan > 1L) *************** *** 382,398 **** } if(costly && loss) { if(!insider) { ! You("caused %ld zorkmids worth of damage!", loss); make_angry_shk(shkp, x, y); } else { ! You("owe %s %ld zorkmids for objects destroyed.", mon_nam(shkp), loss); } } if (kickobj->olocked) { if (!rn2(5) || (martial() && !rn2(2))) { ! You("break open the lock!"); kickobj->olocked = 0; kickobj->obroken = 1; if (otrp) (void) chest_trap(kickobj, LEG, FALSE); --- 435,454 ---- } if(costly && loss) { if(!insider) { ! /*JP You("caused %ld zorkmids worth of damage!", loss);*/ ! You("%ld¥´¡¼¥ë¥Éʬ¤Î¥À¥á¡¼¥¸¤ò¤¯¤é¤Ã¤¿¡ª", loss); make_angry_shk(shkp, x, y); } else { ! /*JP You("owe %s %ld zorkmids for objects destroyed.",*/ ! You("´ïʪÇË»¤Ç%s¤Ë%ld¥´¡¼¥ë¥É¤Î¼Ú¤ê¤ò¤Ä¤¯¤Ã¤¿¡¥", mon_nam(shkp), loss); } } if (kickobj->olocked) { if (!rn2(5) || (martial() && !rn2(2))) { ! /*JP You("break open the lock!");*/ ! You("¸°¤ò²õ¤·³«¤±¤¿¡ª"); kickobj->olocked = 0; kickobj->obroken = 1; if (otrp) (void) chest_trap(kickobj, LEG, FALSE); *************** *** 400,406 **** } } else { if (!rn2(3) || (martial() && !rn2(2))) { ! pline_The("lid slams open, then falls shut."); if (otrp) (void) chest_trap(kickobj, LEG, FALSE); return(1); } --- 456,463 ---- } } else { if (!rn2(3) || (martial() && !rn2(2))) { ! /*JP pline_The("lid slams open, then falls shut.");*/ ! pline("³¸¤¬¤Ð¤¿¤ó¤È³«¤­¡¤ÊĤ¸¤¿¡¥"); if (otrp) (void) chest_trap(kickobj, LEG, FALSE); return(1); } *************** *** 415,436 **** if(IS_ROCK(levl[x][y].typ)) { if ((!martial() && rn2(20) > ACURR(A_DEX)) || IS_ROCK(levl[u.ux][u.uy].typ)) { ! if (Blind) pline("It doesn't come loose."); ! else pline("%s do%sn't come loose.", The(distant_name(kickobj, xname)), ! (kickobj->quan == 1L) ? "es" : ""); return(!rn2(3) || martial()); } ! if (Blind) pline("It comes loose."); ! else pline("%s come%s loose.", The(distant_name(kickobj, xname)), ! (kickobj->quan == 1L) ? "s" : ""); obj_extract_self(kickobj); newsym(x, y); if (costly && (!costly_spot(u.ux, u.uy) || !index(u.urooms, *in_rooms(x, y, SHOPBASE)))) addtobill(kickobj, FALSE, FALSE, FALSE); ! if(!flooreffects(kickobj,u.ux,u.uy,"fall")) { place_object(kickobj, u.ux, u.uy); stackobj(kickobj); newsym(u.ux, u.uy); --- 472,500 ---- if(IS_ROCK(levl[x][y].typ)) { if ((!martial() && rn2(20) > ACURR(A_DEX)) || IS_ROCK(levl[u.ux][u.uy].typ)) { ! /*JP if (Blind) pline("It doesn't come loose.");*/ ! if (Blind) pline("¤Ó¤¯¤È¤â¤·¤Ê¤¤¡¥"); ! /*JP else pline("%s do%sn't come loose.", The(distant_name(kickobj, xname)), ! (kickobj->quan == 1L) ? "es" : "");*/ ! else pline("%s¤Ï¤Ó¤¯¤È¤â¤·¤Ê¤¤¡¥", ! The(distant_name(kickobj, xname))); return(!rn2(3) || martial()); } ! /*JP if (Blind) pline("It comes loose.");*/ ! if (Blind) pline("¥Ò¥Ó¤¬Æþ¤Ã¤Æ¤­¤¿¡¥"); ! /*JP else pline("%s come%s loose.", The(distant_name(kickobj, xname)), ! (kickobj->quan == 1L) ? "s" : "");*/ ! else pline("%s¤Ë¥Ò¥Ó¤¬Æþ¤Ã¤Æ¤­¤¿¡¥", ! The(distant_name(kickobj, xname))); obj_extract_self(kickobj); newsym(x, y); if (costly && (!costly_spot(u.ux, u.uy) || !index(u.urooms, *in_rooms(x, y, SHOPBASE)))) addtobill(kickobj, FALSE, FALSE, FALSE); ! /*JP if(!flooreffects(kickobj,u.ux,u.uy,"fall")) {*/ ! if(!flooreffects(kickobj,u.ux,u.uy,"Íî¤Á¤ë")) { place_object(kickobj, u.ux, u.uy); stackobj(kickobj); newsym(u.ux, u.uy); *************** *** 445,459 **** * from its current position */ if(range < 2 || (isgold && kickobj->quan > 300L)) { ! if(!Is_box(kickobj)) pline("Thump!"); return(!rn2(3) || martial()); } if (kickobj->quan > 1L && !isgold) (void) splitobj(kickobj, 1L); if (slide && !Blind) ! pline("Whee! %s slide%s across the %s.", Doname2(kickobj), kickobj->quan > 1L ? "" : "s", surface(x,y)); obj_extract_self(kickobj); --- 509,526 ---- * from its current position */ if(range < 2 || (isgold && kickobj->quan > 300L)) { ! /*JP if(!Is_box(kickobj)) pline("Thump!");*/ ! if(!Is_box(kickobj)) pline("¥´¥Ä¥ó¡ª"); return(!rn2(3) || martial()); } if (kickobj->quan > 1L && !isgold) (void) splitobj(kickobj, 1L); if (slide && !Blind) ! /*JP pline("Whee! %s slide%s across the %s.", Doname2(kickobj), kickobj->quan > 1L ? "" : "s", + surface(x,y));*/ + pline("¥º¥ë¥Ã¡ª%s¤Ï%s¤Î¾å¤ò³ê¤Ã¤¿¡¥", Doname2(kickobj), surface(x,y)); obj_extract_self(kickobj); *************** *** 487,493 **** (boolean)shkp->mpeaceful, FALSE); } ! if(flooreffects(kickobj,bhitpos.x,bhitpos.y,"fall")) return(1); place_object(kickobj, bhitpos.x, bhitpos.y); stackobj(kickobj); newsym(kickobj->ox, kickobj->oy); --- 554,561 ---- (boolean)shkp->mpeaceful, FALSE); } ! /*JP if(flooreffects(kickobj,bhitpos.x,bhitpos.y,"fall")) return(1);*/ ! if(flooreffects(kickobj,bhitpos.x,bhitpos.y,"Íî¤Á¤ë")) return(1); place_object(kickobj, bhitpos.x, bhitpos.y); stackobj(kickobj); newsym(kickobj->ox, kickobj->oy); *************** *** 500,505 **** --- 568,574 ---- { const char *what; + #if 0 /*JP*/ if (kickobj) what = distant_name(kickobj,doname); else if (IS_DOOR(maploc->typ)) what = "a door"; else if (IS_STWALL(maploc->typ)) what = "a wall"; *************** *** 514,519 **** --- 583,606 ---- else if (maploc->typ == LADDER) what = "a ladder"; else what = "something weird"; return strcat(strcpy(buf, "kicking "), what); + #endif + if (kickobj) what = distant_name(kickobj,doname); + else if (IS_DOOR(maploc->typ)) what = "Èâ"; + else if (IS_STWALL(maploc->typ)) what = "ÊÉ"; + else if (IS_ROCK(maploc->typ)) what = "´ä"; + else if (IS_THRONE(maploc->typ)) what = "¶ÌºÂ"; + #ifdef SINKS + else if (IS_SINK(maploc->typ)) what = "ή¤·Âæ"; + #endif + else if (IS_ALTAR(maploc->typ)) what = "º×ÃÅ"; + else if (IS_DRAWBRIDGE(maploc->typ)) what = "Ä·¤Í¶¶"; + else if (maploc->typ == STAIRS) what = "³¬ÃÊ"; + else if (maploc->typ == LADDER) what = "¤Ï¤·¤´"; + else what = "²¿¤«Ì¯¤Ê¤â¤Î"; + /*JP return strcat(strcpy(buf, "kicking "), what);*/ + + Sprintf(buf, "%s¤ò½³¤Ã¤Æ", what); + return buf; } int *************** *** 527,536 **** --- 614,629 ---- char buf[BUFSZ]; if (nolimbs(uasmon) || slithy(uasmon)) { + /*JP You("have no legs to kick with."); + */ + You("²¿¤«¤ò½³¤í¤¦¤Ë¤â­¤¬¤Ê¤¤¡¥"); no_kick = TRUE; } else if (verysmall(uasmon)) { + /*JP You("are too small to do any kicking."); + */ + You("²¿¤«¤ò½³¤ë¤Ë¤Ï¾®¤µ¤¹¤®¤ë¡¥"); no_kick = TRUE; } else if (Wounded_legs) { /* note: dojump() has similar code */ *************** *** 538,562 **** --- 631,673 ---- const char *bp = body_part(LEG); if (wl == BOTH_SIDES) bp = makeplural(bp); + /*JP Your("%s%s %s in no shape for kicking.", (wl == LEFT_SIDE) ? "left " : (wl == RIGHT_SIDE) ? "right " : "", bp, (wl == BOTH_SIDES) ? "are" : "is"); + */ + You("%s%s¤ò²ø²æ¤ò¤·¤Æ¤ª¤ê½³¤ì¤Ê¤¤¡¥", + (wl == LEFT_SIDE) ? "º¸" : + (wl == RIGHT_SIDE) ? "±¦" : "", + bp); no_kick = TRUE; } else if (near_capacity() > SLT_ENCUMBER) { + /*JP Your("load is too heavy to balance yourself for a kick."); + */ + You("¤¿¤¯¤µ¤ó¤â¤Î¤ò»ý¤Á¤¹¤®¤Æ½³¤ê¤Î¤¿¤á¤Î¥Ð¥é¥ó¥¹¤¬¤È¤ì¤Ê¤¤¡¥"); no_kick = TRUE; } else if (u.uinwater && !rn2(2)) { + /*JP Your("slow motion kick doesn't hit anything."); + */ + Your("ÃÙ¤¤Æ°¤­¤Î½³¤ê¤Ç¤ÏÌ¿Ã椷¤è¤¦¤¬¤Ê¤¤¡¥"); no_kick = TRUE; } else if (u.utrap) { switch (u.utraptype) { case TT_PIT: + /*JP pline("There's not enough room to kick down here."); + */ + pline("Í·ê¤Ë¤Ï¤Þ¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¤½³¤ì¤Ê¤¤¡¥"); break; case TT_WEB: case TT_BEARTRAP: + /*JP You_cant("move your %s!", body_part(LEG)); + */ + You("%s¤òÆ°¤«¤¹¤³¤È¤¬¤Ç¤­¤Ê¤¤¡ª", body_part(LEG)); break; default: break; *************** *** 580,592 **** if(u.uswallow) { switch(rn2(3)) { ! case 0: You_cant("move your %s!", body_part(LEG)); break; case 1: if (is_animal(u.ustuck->data)) { ! pline("%s burps loudly.", Monnam(u.ustuck)); break; } ! default: Your("feeble kick has no effect."); break; } return(1); } --- 691,706 ---- if(u.uswallow) { switch(rn2(3)) { ! /*JP case 0: You_cant("move your %s!", body_part(LEG));*/ ! case 0: You("%s¤òÆ°¤«¤¹¤³¤È¤¬¤Ç¤­¤Ê¤¤¡ª", body_part(LEG)); break; case 1: if (is_animal(u.ustuck->data)) { ! /*JP pline("%s burps loudly.", Monnam(u.ustuck));*/ ! pline("%s¤ÏÂ礭¤Ê¥²¥Ã¥×¤ò¤·¤¿¡¥", Monnam(u.ustuck)); break; } ! /*JP default: Your("feeble kick has no effect."); break;*/ ! default: Your("¼å¡¹¤·¤¤½³¤ê¤Ï¸ú²Ì¤¬¤Ê¤¤"); break; } return(1); } *************** *** 602,608 **** if (isok(xx,yy) && !IS_ROCK(levl[xx][yy].typ) && !IS_DOOR(levl[xx][yy].typ) && (!Is_airlevel(&u.uz) || !OBJ_AT(xx,yy))) { ! You("have nothing to brace yourself against."); return(0); } } --- 716,723 ---- if (isok(xx,yy) && !IS_ROCK(levl[xx][yy].typ) && !IS_DOOR(levl[xx][yy].typ) && (!Is_airlevel(&u.uz) || !OBJ_AT(xx,yy))) { ! /*JP You("have nothing to brace yourself against.");*/ ! pline("»Ù¤¨¤Ë¤Ç¤­¤ë¤è¤¦¤Ê¤â¤Î¤¬Ìµ¤¤¡¥"); return(0); } } *************** *** 634,640 **** if (is_pool(x, y) ^ !!u.uinwater) { /* objects normally can't be removed from water by kicking */ ! You("splash some water around."); return 1; } --- 749,756 ---- if (is_pool(x, y) ^ !!u.uinwater) { /* objects normally can't be removed from water by kicking */ ! /*JP You("splash some water around.");*/ ! You("¿å¤ò²ó¤ê¤Ë¤Þ¤­¤Á¤é¤·¤¿¡¥"); return 1; } *************** *** 654,668 **** --- 770,793 ---- if(maploc->typ == SDOOR) { if(!Levitation && rn2(30) < avrg_attrib) { cvt_sdoor_to_door(maploc); /* ->typ = DOOR */ + /*JP pline("Crash! %s a secret door!", + */ + pline("¥¬¥·¥ã¥ó¡ª¤¢¤Ê¤¿¤ÏÈëÌ©¤ÎÈâ¤ò%s¡ª", /* don't "kick open" when it's locked unless it also happens to be trapped */ (maploc->doormask & (D_LOCKED|D_TRAPPED)) == D_LOCKED ? + /*JP "Your kick uncovers" : "You kick open"); + */ + "ȯ¸«¤·¤¿" : "½³¤ê³«¤±¤¿"); exercise(A_DEX, TRUE); if(maploc->doormask & D_TRAPPED) { maploc->doormask = D_NODOOR; + /*JP b_trapped("door", FOOT); + */ + b_trapped("Èâ", FOOT); } else if (maploc->doormask != D_NODOOR && !(maploc->doormask & D_LOCKED)) maploc->doormask = D_ISOPEN; *************** *** 678,684 **** } if(maploc->typ == SCORR) { if(!Levitation && rn2(30) < avrg_attrib) { ! pline("Crash! You kick open a secret passage!"); exercise(A_DEX, TRUE); maploc->typ = CORR; if (Blind) --- 803,810 ---- } if(maploc->typ == SCORR) { if(!Levitation && rn2(30) < avrg_attrib) { ! /*JP pline("Crash! You kick open a secret passage!");*/ ! pline("¥¬¥·¥ã¥ó¡ª¤¢¤Ê¤¿¤ÏÈëÌ©¤ÎÄÌÏ©¤ò½³¤ê¤ä¤Ö¤Ã¤¿¡ª"); exercise(A_DEX, TRUE); maploc->typ = CORR; if (Blind) *************** *** 697,705 **** maploc->doormask = 0; /* don't leave loose ends.. */ mkgold((long)rnd(200), x, y); if (Blind) ! pline("CRASH! You destroy it."); else { ! pline("CRASH! You destroy the throne."); newsym(x, y); } exercise(A_DEX, TRUE); --- 823,833 ---- maploc->doormask = 0; /* don't leave loose ends.. */ mkgold((long)rnd(200), x, y); if (Blind) ! /*JP pline("CRASH! You destroy it.");*/ ! pline("¥¬¥·¥ã¥ó¡ª¤¢¤Ê¤¿¤Ï²¿¤«¤òÇ˲õ¤·¤¿¡¥"); else { ! /*JP pline("CRASH! You destroy the throne.");*/ ! pline("¥¬¥·¥ã¥ó¡ª¤¢¤Ê¤¿¤Ï¶ÌºÂ¤òÇ˲õ¤·¤¿¡¥"); newsym(x, y); } exercise(A_DEX, TRUE); *************** *** 710,718 **** if(i > 6) i = 6; while(i--) (void) mkobj_at(GEM_CLASS, x, y, TRUE); if (Blind) ! You("kick %s loose!", something); else { ! You("kick loose some ornamental coins and gems!"); newsym(x, y); } /* prevent endless milking */ --- 838,848 ---- if(i > 6) i = 6; while(i--) (void) mkobj_at(GEM_CLASS, x, y, TRUE); if (Blind) ! /*JP You("kick %s loose!", something);*/ ! You("¤Ê¤Ë¤«¤ò½³¤ê»¶¤é¤·¤¿¡ª"); else { ! /*JP You("kick loose some ornamental coins and gems!");*/ ! You("Áõ¾þÍѤζâ²ß¤äÊõÀФò½³¤ê»¶¤é¤·¤¿¡ª"); newsym(x, y); } /* prevent endless milking */ *************** *** 728,734 **** } if(IS_ALTAR(maploc->typ)) { if(Levitation) goto dumb; ! You("kick %s.",(Blind ? something : "the altar")); if(!rn2(3)) goto ouch; altar_wrath(x, y); exercise(A_DEX, TRUE); --- 858,865 ---- } if(IS_ALTAR(maploc->typ)) { if(Levitation) goto dumb; ! /*JP You("kick %s.",(Blind ? something : "the altar"));*/ ! You("%s¤ò½³¤Ã¤¿¡¥",(Blind ? "²¿¤«¤ò" : "º×ÃŤò")); if(!rn2(3)) goto ouch; altar_wrath(x, y); exercise(A_DEX, TRUE); *************** *** 736,747 **** } if(IS_FOUNTAIN(maploc->typ)) { if(Levitation) goto dumb; ! You("kick %s.",(Blind ? something : "the fountain")); if(!rn2(3)) goto ouch; /* make metal boots rust */ if(uarmf && rn2(3)) ! if (!rust_dmg(uarmf, "metal boots", 1, FALSE)) { ! Your("boots get wet."); /* could cause short-lived fumbling here */ } exercise(A_DEX, TRUE); --- 867,881 ---- } if(IS_FOUNTAIN(maploc->typ)) { if(Levitation) goto dumb; ! /*JP You("kick %s.",(Blind ? something : "the fountain"));*/ ! You("%s¤ò½³¤Ã¤¿¡¥",(Blind ? "²¿¤«¤ò" : "Àô")); if(!rn2(3)) goto ouch; /* make metal boots rust */ if(uarmf && rn2(3)) ! /*JP if (!rust_dmg(uarmf, "metal boots", 1, FALSE)) {*/ ! if (!rust_dmg(uarmf, "¶â°¤Î·¤", 1, FALSE)) { ! /*JP Your("boots get wet.");*/ ! Your("·¤¤ÏǨ¤ì¤¿¡¥"); /* could cause short-lived fumbling here */ } exercise(A_DEX, TRUE); *************** *** 752,767 **** if(Levitation) goto dumb; if(rn2(5)) { if(flags.soundok) ! pline("Klunk! The pipes vibrate noisily."); ! else pline("Klunk!"); exercise(A_DEX, TRUE); return(1); } else if(!(maploc->looted & S_LPUDDING) && !rn2(3) && !(mvitals[PM_BLACK_PUDDING].mvflags & G_GONE)) { if (Blind) ! You_hear("a gushing sound."); else ! pline("A %s ooze gushes up from the drain!", hcolor(Black)); (void) makemon(&mons[PM_BLACK_PUDDING], x, y, NO_MM_FLAGS); --- 886,905 ---- if(Levitation) goto dumb; if(rn2(5)) { if(flags.soundok) ! /*JP pline("Klunk! The pipes vibrate noisily.");*/ ! pline("¥¬¥é¥ó¡ª¥Ñ¥¤¥×¤Ï¤¦¤ë¤µ¤¯¿¶Æ°¤·¤¿¡¥"); ! /*JP else pline("Klunk!");*/ ! else pline("¥¬¥é¥ó¡ª"); exercise(A_DEX, TRUE); return(1); } else if(!(maploc->looted & S_LPUDDING) && !rn2(3) && !(mvitals[PM_BLACK_PUDDING].mvflags & G_GONE)) { if (Blind) ! /*JP You_hear("a gushing sound.");*/ ! You("¤Ê¤Ë¤«¤¬Ê®½Ð¤¹¤ë²»¤òʹ¤¤¤¿¡¥"); else ! /*JP pline("A %s ooze gushes up from the drain!",*/ ! pline("%s±ÕÂΤ¬ÇÓ¿å¸ý¤«¤é¤Ë¤¸¤ß½Ð¤¿¡ª", hcolor(Black)); (void) makemon(&mons[PM_BLACK_PUDDING], x, y, NO_MM_FLAGS); *************** *** 773,780 **** !(mvitals[poly_gender() == 1 ? PM_INCUBUS : PM_SUCCUBUS].mvflags & G_GONE)) { /* can't resist... */ ! pline("%s returns!", (Blind ? Something : ! "The dish washer")); if (makemon(&mons[poly_gender() == 1 ? PM_INCUBUS : PM_SUCCUBUS], x, y, NO_MM_FLAGS)) newsym(x,y); --- 911,921 ---- !(mvitals[poly_gender() == 1 ? PM_INCUBUS : PM_SUCCUBUS].mvflags & G_GONE)) { /* can't resist... */ ! /*JP pline("%s returns!", (Blind ? Something : ! "The dish washer"));*/ ! pline("%s¤ÏÌá¤Ã¤¿¡ª", (Blind ? "²¿¤«" : ! "»®Àö¤¤")); ! if (makemon(&mons[poly_gender() == 1 ? PM_INCUBUS : PM_SUCCUBUS], x, y, NO_MM_FLAGS)) newsym(x,y); *************** *** 782,793 **** exercise(A_DEX, TRUE); return(1); } else if(!rn2(3)) { ! pline("Flupp! %s.", (Blind ? "You hear a sloshing sound" : ! "Muddy waste pops up from the drain")); if(!(maploc->looted & S_LRING)) { /* once per sink */ if (!Blind) ! You("see a ring shining in its midst."); (void) mkobj_at(RING_CLASS, x, y, TRUE); newsym(x, y); exercise(A_DEX, TRUE); --- 923,938 ---- exercise(A_DEX, TRUE); return(1); } else if(!rn2(3)) { ! /*JP pline("Flupp! %s.", (Blind ? "You hear a sloshing sound" : ! "Muddy waste pops up from the drain"));*/ ! pline("¤¦¤ï¡ª%s¡¥", (Blind ? ! "¤¢¤Ê¤¿¤Ï¡¤¥Ð¥Á¥ã¥Ð¥Á¥ã¤¹¤ë²»¤òʹ¤¤¤¿" : ! "ÇÓ¿å¸ý¤«¤éÅ¥¡¹¤ÎÇÑ´þʪ¤¬½Ð¤Æ¤¯¤ë¡¥")); if(!(maploc->looted & S_LRING)) { /* once per sink */ if (!Blind) ! /*JP You("see a ring shining in its midst.");*/ ! You("¤½¤ÎÃæ±û¤Ë¸÷¤ë»ØÎؤò¸«¤Ä¤±¤¿¡¥"); (void) mkobj_at(RING_CLASS, x, y, TRUE); newsym(x, y); exercise(A_DEX, TRUE); *************** *** 804,810 **** if(!IS_STWALL(maploc->typ) && maploc->ladder == LA_DOWN) goto dumb; ouch: ! pline("Ouch! That hurts!"); exercise(A_DEX, FALSE); exercise(A_STR, FALSE); if (Blind) feel_location(x,y); /* we know we hit it */ --- 949,956 ---- if(!IS_STWALL(maploc->typ) && maploc->ladder == LA_DOWN) goto dumb; ouch: ! /*JP pline("Ouch! That hurts!");*/ ! pline("¤¤¤Æ¤Ã¡ª²ø²æ¤·¤¿¡ª"); exercise(A_DEX, FALSE); exercise(A_STR, FALSE); if (Blind) feel_location(x,y); /* we know we hit it */ *************** *** 816,822 **** return(1); } if (is_drawbridge_wall(x,y) >= 0) { ! pline_The("drawbridge is unaffected."); if(Levitation) hurtle(-u.dx, -u.dy, rn1(2,4)); /* it's heavy */ return(1); --- 962,969 ---- return(1); } if (is_drawbridge_wall(x,y) >= 0) { ! /*JP pline_The("drawbridge is unaffected.");*/ ! pline("Ä·¤Í¶¶¤Ï¤Ó¤¯¤È¤â¤·¤Ê¤¤¡¥"); if(Levitation) hurtle(-u.dx, -u.dy, rn1(2,4)); /* it's heavy */ return(1); *************** *** 830,839 **** dumb: exercise(A_DEX, FALSE); if (martial() || ACURR(A_DEX) >= 16 || rn2(3)) { ! You("kick at empty space."); if (Blind) feel_location(x,y); } else { ! pline("Dumb move! You strain a muscle."); exercise(A_STR, FALSE); set_wounded_legs(RIGHT_SIDE, 5 + rnd(5)); } --- 977,988 ---- dumb: exercise(A_DEX, FALSE); if (martial() || ACURR(A_DEX) >= 16 || rn2(3)) { ! /*JP You("kick at empty space.");*/ ! You("²¿¤â¤Ê¤¤¶õ´Ö¤ò½³¤Ã¤¿¡¥"); if (Blind) feel_location(x,y); } else { ! /*JP pline("Dumb move! You strain a muscle.");*/ ! pline("¤Ð¤«¤²¤¿Æ°¤­¤À¡ª¶ÚÆù¤òÄˤ᤿¡¥"); exercise(A_STR, FALSE); set_wounded_legs(RIGHT_SIDE, 5 + rnd(5)); } *************** *** 853,868 **** boolean shopdoor = *in_rooms(x, y, SHOPBASE) ? TRUE : FALSE; /* break the door */ if(maploc->doormask & D_TRAPPED) { ! if (flags.verbose) You("kick the door."); exercise(A_STR, FALSE); maploc->doormask = D_NODOOR; ! b_trapped("door", FOOT); } else if(ACURR(A_STR) > 18 && !rn2(5) && !shopdoor) { ! pline("As you kick the door, it shatters to pieces!"); exercise(A_STR, TRUE); maploc->doormask = D_NODOOR; } else { ! pline("As you kick the door, it crashes open!"); exercise(A_STR, TRUE); maploc->doormask = D_BROKEN; } --- 1002,1021 ---- boolean shopdoor = *in_rooms(x, y, SHOPBASE) ? TRUE : FALSE; /* break the door */ if(maploc->doormask & D_TRAPPED) { ! /*JP if (flags.verbose) You("kick the door.");*/ ! if (flags.verbose) You("Èâ¤ò½³¤Ã¤¿¡¥"); exercise(A_STR, FALSE); maploc->doormask = D_NODOOR; ! /*JP b_trapped("door", FOOT);*/ ! b_trapped("Èâ", FOOT); } else if(ACURR(A_STR) > 18 && !rn2(5) && !shopdoor) { ! /*JP pline("As you kick the door, it shatters to pieces!");*/ ! pline("Èâ¤ò½³¤ë¤È¡¤¤³¤Ê¤´¤Ê¤Ë¤¯¤À¤±¤¿¡ª"); exercise(A_STR, TRUE); maploc->doormask = D_NODOOR; } else { ! /*JP pline("As you kick the door, it crashes open!");*/ ! pline("Èâ¤ò½³¤ë¤È¡¤²õ¤ì¤Æ³«¤¤¤¿¡ª"); exercise(A_STR, TRUE); maploc->doormask = D_BROKEN; } *************** *** 873,879 **** unblock_point(x,y); /* vision */ if (shopdoor) { add_damage(x, y, 400L); ! pay_for_damage("break"); } if ((slev = Is_special(&u.uz)) && slev->flags.town) for(mtmp = fmon; mtmp; mtmp = mtmp->nmon) { --- 1026,1033 ---- unblock_point(x,y); /* vision */ if (shopdoor) { add_damage(x, y, 400L); ! /*JP pay_for_damage("break");*/ ! pay_for_damage("Ç˲õ¤¹¤ë"); } if ((slev = Is_special(&u.uz)) && slev->flags.town) for(mtmp = fmon; mtmp; mtmp = mtmp->nmon) { *************** *** 881,888 **** mtmp->data == &mons[PM_WATCH_CAPTAIN]) && couldsee(mtmp->mx, mtmp->my) && mtmp->mpeaceful) { ! pline("%s yells:", Amonnam(mtmp)); ! verbalize("Halt, thief! You're under arrest!"); (void) angry_guards(FALSE); break; } --- 1035,1044 ---- mtmp->data == &mons[PM_WATCH_CAPTAIN]) && couldsee(mtmp->mx, mtmp->my) && mtmp->mpeaceful) { ! /*JP pline("%s yells:", Amonnam(mtmp));*/ ! pline("%s¤Ï¶«¤ó¤À¡§", Amonnam(mtmp)); ! /*JP verbalize("Halt, thief! You're under arrest!");*/ ! verbalize("»ß¤Þ¤ìÅ¥ËÀ¡ª¤ª¤Þ¤¨¤òÂáÊ᤹¤ë¡ª"); (void) angry_guards(FALSE); break; } *************** *** 890,907 **** } else { if (Blind) feel_location(x,y); /* we know we hit it */ exercise(A_STR, TRUE); ! pline("WHAMMM!!!"); if ((slev = Is_special(&u.uz)) && slev->flags.town) for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) { if ((mtmp->data == &mons[PM_WATCHMAN] || mtmp->data == &mons[PM_WATCH_CAPTAIN]) && mtmp->mpeaceful && couldsee(mtmp->mx, mtmp->my)) { ! pline("%s yells:", Amonnam(mtmp)); if(levl[x][y].looted & D_WARNED) { ! verbalize("Halt, vandal! You're under arrest!"); (void) angry_guards(FALSE); } else { ! verbalize("Hey, stop damaging that door!"); levl[x][y].looted |= D_WARNED; } break; --- 1046,1068 ---- } else { if (Blind) feel_location(x,y); /* we know we hit it */ exercise(A_STR, TRUE); ! /*JP pline("WHAMMM!!!");*/ ! pline("¤°¤¡¤¡¤¡¤ó"); if ((slev = Is_special(&u.uz)) && slev->flags.town) for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) { if ((mtmp->data == &mons[PM_WATCHMAN] || mtmp->data == &mons[PM_WATCH_CAPTAIN]) && mtmp->mpeaceful && couldsee(mtmp->mx, mtmp->my)) { ! /*JP pline("%s yells:", Amonnam(mtmp));*/ ! pline("%s¤Ï¶«¤ó¤À¡§", Amonnam(mtmp)); ! if(levl[x][y].looted & D_WARNED) { ! /*JP verbalize("Halt, vandal! You're under arrest!");*/ ! verbalize("»ß¤Þ¤ìÌîÈÚ¿Í¡ª¤ª¤Þ¤¨¤òÂáÊ᤹¤ë¡ª"); (void) angry_guards(FALSE); } else { ! /*JP verbalize("Hey, stop damaging that door!");*/ ! verbalize("¤ª¤¤¡¤Èâ¤òÇ˲õ¤¹¤ë¤Î¤ò¤ä¤á¤í¡ª"); levl[x][y].looted |= D_WARNED; } break; *************** *** 1023,1059 **** --- 1184,1251 ---- } if (dct && cansee(x,y)) { /* at least one object fell */ + /*JP const char *what = (dct == 1L ? "object falls" : "objects fall"); + */ + const char *what = "ʪ"; if (missile) + /*JP pline("From the impact, %sother %s.", dct == oct ? "the " : dct == 1L ? "an" : "", what); + */ + pline("¾×·â¤Ç¡¤Â¾¤Î%s¤¬Íî¤Á¤¿¡¥",what); else if (oct == dct) + /*JP pline("%s adjacent %s %s.", dct == 1L ? "The" : "All the", what, gate_str); + */ + pline("¶á¤¯¤Ë¤¢¤Ã¤¿%s¤¬%sÍî¤Á¤¿¡¥", + what, gate_str); else + /*JP pline("%s adjacent %s %s.", dct == 1L ? "One of the" : "Some of the", dct == 1L ? "objects falls" : what, gate_str); + */ + pline("¶á¤¯¤Ë¤¢¤Ã¤¿%s%s%sÍî¤Á¤¿¡¥", + what, + dct == 1L ? "¤Ï" : "¤Î¤¤¤¯¤Ä¤«¤Ï", + gate_str); } if(costly && shkp && price) { if(ESHK(shkp)->robbed > robbed) { + /*JP You("removed %ld zorkmids worth of goods!", price); + */ + You("%ld¥´¡¼¥ë¥Éʬ¤ÎÉÊʪ¤ò¼è¤ê¤µ¤Ã¤¿¡ª",price); if(cansee(shkp->mx, shkp->my)) { if(ESHK(shkp)->customer[0] == 0) (void) strncpy(ESHK(shkp)->customer, plname, PL_NSIZ); if(angry) + /*JP pline("%s is infuriated!", Monnam(shkp)); + */ + pline("%s¤Ï·ãÅܤ·¤¿¡ª", Monnam(shkp)); + /*JP else pline("\"%s, you are a thief!\"", plname); + */ + else pline("¡Ö%s¡¤¤ª¤Þ¤¨¤ÏÅð±¤À¤Ê¡ª¡×", plname); + /*JP } else You_hear("a scream, \"Thief!\""); + */ + } else You("¶âÀÚ¤êÀ¼¤òʹ¤¤¤¿¡ÖÅ¥ËÀ¡ª¡×"); hot_pursuit(shkp); (void) angry_guards(FALSE); return; } if(ESHK(shkp)->debit > debit) + /*JP You("owe %s %ld zorkmids for goods lost.", + */ + You("ÉÊʪ¾Ã¼º¤Î¤¿¤á%s¤Ë%ld¥´¡¼¥ë¥É¤Î¼Ú¤ê¤ò¤Ä¤¯¤Ã¤¿¡¥", Monnam(shkp), (ESHK(shkp)->debit - debit)); } *************** *** 1202,1227 **** { char obuf[BUFSZ]; ! Sprintf(obuf, "%s%s", (otmp->otyp == CORPSE && type_is_pname(&mons[otmp->corpsenm])) ? "" : "The ", xname(otmp)); if(num) { /* means: other objects are impacted */ ! Sprintf(eos(obuf), " hit%s %s object%s", otmp->quan == 1L ? "s" : "", num == 1 ? "another" : "other", ! num > 1 ? "s" : ""); if(nodrop) ! Sprintf(eos(obuf), " and stop%s.", ! otmp->quan == 1L ? "s" : ""); else ! Sprintf(eos(obuf), " and fall%s %s.", ! otmp->quan == 1L ? "s" : "", gate_str); pline(obuf); } else if(!nodrop) ! pline("%s fall%s %s.", obuf, ! otmp->quan == 1L ? "s" : "", gate_str); } /* migration destination for objects which fall down to next level */ --- 1394,1426 ---- { char obuf[BUFSZ]; ! /*JP Sprintf(obuf, "%s%s", (otmp->otyp == CORPSE && type_is_pname(&mons[otmp->corpsenm])) ? "" : "The ", + xname(otmp));*/ + Sprintf(obuf, "%s¤Ï", xname(otmp)); if(num) { /* means: other objects are impacted */ ! /*JP Sprintf(eos(obuf), " hit%s %s object%s", otmp->quan == 1L ? "s" : "", num == 1 ? "another" : "other", ! num > 1 ? "s" : "");*/ ! Sprintf(eos(obuf), "¾¤ÎʪÂΤËÌ¿Ã椷¤Æ"); if(nodrop) ! /*JP Sprintf(eos(obuf), " and stop%s.", ! otmp->quan == 1L ? "s" : "");*/ ! Sprintf(eos(obuf), "»ß¤Þ¤Ã¤¿¡¥"); else ! /*JP Sprintf(eos(obuf), " and fall%s %s.", ! otmp->quan == 1L ? "s" : "", gate_str);*/ ! Sprintf(eos(obuf), "%sÍî¤Á¤¿¡¥", gate_str); pline(obuf); } else if(!nodrop) ! /*JP pline("%s fall%s %s.", obuf, ! otmp->quan == 1L ? "s" : "", gate_str);*/ ! pline("%s¤Ï%sÍî¤Á¤¿¡¥", obuf, ! gate_str); } /* migration destination for objects which fall down to next level */ *************** *** 1238,1256 **** if ((xdnstair == x && ydnstair == y) || (sstairs.sx == x && sstairs.sy == y && !sstairs.up)) { ! gate_str = "down the stairs"; return (xdnstair == x && ydnstair == y) ? MIGR_STAIRS_UP : MIGR_SSTAIRS; } if (xdnladder == x && ydnladder == y) { ! gate_str = "down the ladder"; return MIGR_LADDER_UP; } if (((ttmp = t_at(x, y)) != 0 && ttmp->tseen) && (ttmp->ttyp == TRAPDOOR || ttmp->ttyp == HOLE)) { gate_str = (ttmp->ttyp == TRAPDOOR) ? ! "through the trap door" : "through the hole"; return MIGR_RANDOM; } return MIGR_NOWHERE; --- 1437,1458 ---- if ((xdnstair == x && ydnstair == y) || (sstairs.sx == x && sstairs.sy == y && !sstairs.up)) { ! /*JP gate_str = "down the stairs";*/ ! gate_str = "³¬Ãʤ«¤é"; return (xdnstair == x && ydnstair == y) ? MIGR_STAIRS_UP : MIGR_SSTAIRS; } if (xdnladder == x && ydnladder == y) { ! /*JP gate_str = "down the ladder";*/ ! gate_str = "¤Ï¤·¤´¤«¤é"; return MIGR_LADDER_UP; } if (((ttmp = t_at(x, y)) != 0 && ttmp->tseen) && (ttmp->ttyp == TRAPDOOR || ttmp->ttyp == HOLE)) { gate_str = (ttmp->ttyp == TRAPDOOR) ? ! /*JP "through the trap door" : "through the hole";*/ ! "ÍÈâ¤Ë" : "·ê¤Ë"; return MIGR_RANDOM; } return MIGR_NOWHERE; diff -c -r ../nethack-3.2.2/src/dothrow.c ./src/dothrow.c *** ../nethack-3.2.2/src/dothrow.c Sat Dec 28 21:53:39 1996 --- ./src/dothrow.c Tue Jul 22 23:18:16 1997 *************** *** 4,9 **** --- 4,16 ---- /* Contains code for 't' (throw) */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" static int FDECL(gem_accept, (struct monst *, struct obj *)); *************** *** 29,35 **** register struct obj *obj; if(check_capacity((char *)0)) return(0); ! obj = getobj(uwep && uwep->otyp==SLING ? bullets : toss_objs, "throw"); /* it is also possible to throw food */ /* (or jewels, or iron balls... ) */ --- 36,43 ---- register struct obj *obj; if(check_capacity((char *)0)) return(0); ! /*JP obj = getobj(uwep && uwep->otyp==SLING ? bullets : toss_objs, "throw");*/ ! obj = getobj(uwep && uwep->otyp==SLING ? bullets : toss_objs, "Åꤲ¤ë"); /* it is also possible to throw food */ /* (or jewels, or iron balls... ) */ *************** *** 46,65 **** if(obj->oclass == GOLD_CLASS) return(throw_gold(obj)); ! if(!canletgo(obj,"throw")) return(0); if (obj->oartifact == ART_MJOLLNIR && obj != uwep) { ! pline("%s must be wielded before it can be thrown.", The(xname(obj))); return(0); } if ((obj->oartifact == ART_MJOLLNIR && ACURR(A_STR) < 125) || (obj->otyp == BOULDER && !throws_rocks(uasmon))) { ! pline("It's too heavy."); return(1); } if(!u.dx && !u.dy && !u.dz) { ! You("cannot throw an object at yourself."); return(0); } u_wipe_engr(2); --- 54,77 ---- if(obj->oclass == GOLD_CLASS) return(throw_gold(obj)); ! /*JP if(!canletgo(obj,"throw"))*/ ! if(!canletgo(obj, "Åꤲ¤ë")) return(0); if (obj->oartifact == ART_MJOLLNIR && obj != uwep) { ! /*JP pline("%s must be wielded before it can be thrown.",*/ ! pline("Åꤲ¤ëÁ°¤Ë%s¤òÁõÈ÷¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥", The(xname(obj))); return(0); } if ((obj->oartifact == ART_MJOLLNIR && ACURR(A_STR) < 125) || (obj->otyp == BOULDER && !throws_rocks(uasmon))) { ! /*JP pline("It's too heavy.");*/ ! pline("½Å¤¹¤®¤ÆÅꤲ¤é¤ì¤Ê¤¤¡¥"); return(1); } if(!u.dx && !u.dy && !u.dz) { ! /*JP You("cannot throw an object at yourself.");*/ ! pline("¼«Ê¬¤Ë¸þ¤«¤Ã¤Æ¤ÏÅꤲ¤é¤ì¤Ê¤¤¡¥"); return(0); } u_wipe_engr(2); *************** *** 98,105 **** if (IS_ALTAR(levl[u.ux][u.uy].typ)) doaltarobj(obj); else ! pline("%s hit%s the %s.", Doname2(obj), ! (obj->quan == 1L) ? "s" : "", surface(u.ux,u.uy)); if (hero_breaks(obj, u.ux, u.uy, TRUE)) return; if (ship_object(obj, u.ux, u.uy, FALSE)) return; --- 110,119 ---- if (IS_ALTAR(levl[u.ux][u.uy].typ)) doaltarobj(obj); else ! /*JP pline("%s hit%s the %s.", Doname2(obj), ! (obj->quan == 1L) ? "s" : "", surface(u.ux,u.uy));*/ ! pline("%s¤Ï%s¤ËÌ¿Ã椷¤¿¡¥", Doname2(obj), ! surface(u.ux,u.uy)); if (hero_breaks(obj, u.ux, u.uy, TRUE)) return; if (ship_object(obj, u.ux, u.uy, FALSE)) return; *************** *** 132,144 **** * for diagonal movement, give the player a message and return. */ if(Punished && !carried(uball)) { ! You_feel("a tug from the iron ball."); nomul(0); return; } else if (u.utrap) { ! You("are anchored by the %s.", u.utraptype == TT_WEB ? "web" : u.utraptype == TT_LAVA ? "lava" : ! u.utraptype == TT_INFLOOR ? surface(u.ux,u.uy) : "trap"); nomul(0); return; } --- 146,162 ---- * for diagonal movement, give the player a message and return. */ if(Punished && !carried(uball)) { ! /*JP You_feel("a tug from the iron ball.");*/ ! You_feel("Å´µå¤Ë¤Ò¤Ã¤Ñ¤é¤ì¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); nomul(0); return; } else if (u.utrap) { ! /*JP You("are anchored by the %s.", u.utraptype == TT_WEB ? "web" : u.utraptype == TT_LAVA ? "lava" : ! u.utraptype == TT_INFLOOR ? surface(u.ux,u.uy) : "trap");*/ ! You("%s¤Ë¿ø¤¨¤Ä¤±¤é¤ì¤Æ¤¤¤ë¡¥", ! u.utraptype == TT_WEB ? "ÃØéá¤ÎÁã" : u.utraptype == TT_LAVA ? "ÍÏ´ä" : ! u.utraptype == TT_INFLOOR ? surface(u.ux,u.uy) : "æ«"); nomul(0); return; } *************** *** 146,152 **** if(!range || (!dx && !dy) || u.ustuck) return; /* paranoia */ nomul(-range); ! You("%s in the opposite direction.", range > 1 ? "hurtle" : "float"); while(range--) { nx = u.ux + dx; ny = u.uy + dy; --- 164,171 ---- if(!range || (!dx && !dy) || u.ustuck) return; /* paranoia */ nomul(-range); ! /*JP You("%s in the opposite direction.", range > 1 ? "hurtle" : "float");*/ ! You("È¿Æ°¤ÇÈ¿ÂФÎÊý¸þ¤Ë%s¡¥", range > 1 ? "ž¤¬¤Ã¤¿" : "Èô¤ó¤À"); while(range--) { nx = u.ux + dx; ny = u.uy + dy; *************** *** 154,168 **** if(!isok(nx,ny)) break; if(IS_ROCK(levl[nx][ny].typ) || closed_door(nx,ny) || (IS_DOOR(levl[nx][ny].typ) && (levl[nx][ny].doormask & D_ISOPEN))) { ! pline("Ouch!"); losehp(rnd(2+range), IS_ROCK(levl[nx][ny].typ) ? ! "bumping into a wall" : "bumping into a door", KILLED_BY); break; } if ((obj = sobj_at(BOULDER,nx,ny)) != 0) { ! You("bump into a %s. Ouch!", xname(obj)); ! losehp(rnd(2+range), "bumping into a boulder", KILLED_BY); break; } --- 173,191 ---- if(!isok(nx,ny)) break; if(IS_ROCK(levl[nx][ny].typ) || closed_door(nx,ny) || (IS_DOOR(levl[nx][ny].typ) && (levl[nx][ny].doormask & D_ISOPEN))) { ! /*JP pline("Ouch!");*/ ! pline("¤¤¤Æ¤Ã¡ª"); losehp(rnd(2+range), IS_ROCK(levl[nx][ny].typ) ? ! /*JP "bumping into a wall" : "bumping into a door", KILLED_BY);*/ ! "Êɤˤ֤Á¤¢¤¿¤Ã¤Æ" : "Èâ¤Ë¤Ö¤Á¤¢¤Ã¤¿¤Ã¤Æ", KILLED_BY); break; } if ((obj = sobj_at(BOULDER,nx,ny)) != 0) { ! /*JP You("bump into a %s. Ouch!", xname(obj));*/ ! You("%s¤Ë¤Ö¤Á¤¢¤¿¤Ã¤¿¡¥¤¤¤Æ¤Ã¡ª", xname(obj)); ! /*JP losehp(rnd(2+range), "bumping into a boulder", KILLED_BY);*/ ! losehp(rnd(2+range), "´ä¤Ë¤Ö¤Á¤¢¤¿¤Ã¤Æ", KILLED_BY); break; } *************** *** 170,176 **** u.uy = ny; newsym(u.ux - dx, u.uy - dy); if ((mon = m_at(u.ux, u.uy)) != 0) { ! You("bump into %s.", a_monnam(mon)); wakeup(mon); if(Is_airlevel(&u.uz)) mnexto(mon); --- 193,200 ---- u.uy = ny; newsym(u.ux - dx, u.uy - dy); if ((mon = m_at(u.ux, u.uy)) != 0) { ! /*JP You("bump into %s.", a_monnam(mon));*/ ! You("%s¤Ë¤Ö¤Á¤¢¤¿¤Ã¤¿¡¥", a_monnam(mon)); wakeup(mon); if(Is_airlevel(&u.uz)) mnexto(mon); *************** *** 242,257 **** if (hitsroof) { if (breaktest(obj)) { ! pline("%s hits the %s.", Doname2(obj), ceiling(u.ux, u.uy)); breakmsg(obj, !Blind); breakobj(obj, u.ux, u.uy, TRUE, TRUE); return FALSE; } almost = ""; } else { ! almost = " almost"; } ! pline("%s%s hits the %s, then falls back on top of your %s.", Doname2(obj), almost, ceiling(u.ux,u.uy), body_part(HEAD)); /* object now hits you */ --- 266,284 ---- if (hitsroof) { if (breaktest(obj)) { ! /*JP pline("%s hits the %s.", Doname2(obj), ceiling(u.ux, u.uy));*/ ! pline("%s¤Ï%s¤ËÌ¿Ã椷¤¿¡¥", Doname2(obj), ceiling(u.ux, u.uy)); breakmsg(obj, !Blind); breakobj(obj, u.ux, u.uy, TRUE, TRUE); return FALSE; } almost = ""; } else { ! /*JP almost = " almost";*/ ! almost = "¤µ¤é¤Ë"; } ! /*JP pline("%s%s hits the %s, then falls back on top of your %s.",*/ ! pline("%s%s%s¤ËÌ¿Ã椷¤¿¡¤¤½¤·¤Æ%s¤Î¾å¤ËÍî¤Á¤Æ¤­¤¿¡¥", Doname2(obj), almost, ceiling(u.ux,u.uy), body_part(HEAD)); /* object now hits you */ *************** *** 273,285 **** --- 300,318 ---- goto petrify; case CREAM_PIE: case BLINDING_VENOM: + /*JP pline("You've got it all over your face!"); + */ + pline("¤½¤ì¤Ï´é¤ò¤Ù¤Ã¤È¤ê¤Èʤ¤Ã¤¿¡ª"); blindinc = rnd(25); if (blindinc && !Blindfolded) { if (otyp != BLINDING_VENOM) u.ucreamed += blindinc; else if (!Blind) + /*JP pline("It blinds you!"); + */ + pline("Ìܤ¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡ª"); make_blinded(Blinded + blindinc, FALSE); } break; *************** *** 305,328 **** --- 338,374 ---- if (uarmh) { if (less_damage && dmg < (Upolyd ? u.mh : u.uhp)) + /*JP pline("Fortunately, you are wearing a hard helmet."); + */ + pline("¹¬±¿¤Ë¤â¡¤¤¢¤Ê¤¿¤Ï¸Ç¤¤³õ¤ò¿È¤Ë¤Ä¤±¤Æ¤¤¤¿¡¥"); else if (flags.verbose && !(obj->otyp == CORPSE && obj->corpsenm == PM_COCKATRICE)) + /*JP Your("%s does not protect you.", xname(uarmh)); + */ + Your("%s¤Ç¤ÏËɤ®¤­¤ì¤Ê¤«¤Ã¤¿¡¥", xname(uarmh)); } else if (obj->otyp == CORPSE && obj->corpsenm == PM_COCKATRICE) { if (!resists_ston(&youmonst) && !(poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM))) { petrify: killer_format = KILLED_BY; + #if 0 /*JP*/ killer = "elementary physics"; /* "what goes up..." */ You("turn to stone."); + #endif + killer = "½éÅùʪÍý¤Ë¤è¤ê"; /* "what goes up..." */ + You("Àв½¤·¤¿¡¥"); if (obj) dropy(obj); /* bypass most of hitfloor() */ done(STONING); return obj ? TRUE : FALSE; } } hitfloor(obj); + /*JP losehp(dmg, "falling object", KILLED_BY_AN); + */ + losehp(dmg, "Íʪ¤Ç", KILLED_BY_AN); } return TRUE; } *************** *** 342,348 **** && uwep && (objects[obj->otyp].w_propellor > 0) && (objects[obj->otyp].w_propellor == -objects[uwep->otyp].w_propellor)) ! pline("%s misfires!", The(xname(obj))); else { /* only slip if it's greased or meant to be thrown */ if (obj->greased || --- 388,394 ---- && uwep && (objects[obj->otyp].w_propellor > 0) && (objects[obj->otyp].w_propellor == -objects[uwep->otyp].w_propellor)) ! pline("%s¤Ï¤Ï¤º¤ì¤¿¡ª", The(xname(obj))); else { /* only slip if it's greased or meant to be thrown */ if (obj->greased || *************** *** 354,360 **** --- 400,409 ---- obj->otyp == WAR_HAMMER || obj->otyp == AKLYS))) /* BUG: this message is grammatically incorrect if obj has a plural name; greased gloves or boots for instance. */ + /*JP pline("%s slips as you throw it!", The(xname(obj))); + */ + pline("%s¤òÅꤲ¤è¤¦¤È¤·¤¿¤¬¡¤¤º¤êÍî¤Á¤Æ¤·¤Þ¤Ã¤¿¡ª", The(xname(obj))); else slipok = FALSE; } if (slipok) { *************** *** 372,378 **** } else if(u.dz) { if (u.dz < 0 && Role_is('V') && obj->oartifact == ART_MJOLLNIR && !impaired) { ! pline("%s hits the %s and returns to your hand!", The(xname(obj)), ceiling(u.ux,u.uy)); obj = addinv(obj); (void) encumber_msg(); --- 421,428 ---- } else if(u.dz) { if (u.dz < 0 && Role_is('V') && obj->oartifact == ART_MJOLLNIR && !impaired) { ! /*JP pline("%s hits the %s and returns to your hand!",*/ ! pline("%s¤Ï%s¤ËÌ¿Ã椷¤¢¤Ê¤¿¤Î¼ê¤ËÌá¤Ã¤Æ¤­¤¿¡ª", The(xname(obj)), ceiling(u.ux,u.uy)); obj = addinv(obj); (void) encumber_msg(); *************** *** 486,492 **** } if (!impaired && rn2(100)) { ! pline("%s returns to your hand!", The(xname(obj))); obj = addinv(obj); (void) encumber_msg(); setuwep(obj); --- 536,543 ---- } if (!impaired && rn2(100)) { ! /*JP pline("%s returns to your hand!", The(xname(obj)));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î¼ê¤ËÌá¤Ã¤Æ¤­¤¿¡ª", The(xname(obj))); obj = addinv(obj); (void) encumber_msg(); setuwep(obj); *************** *** 495,504 **** } else { int dmg = rnd(4); if (Blind) ! pline("%s hits your %s!", The(xname(obj)), body_part(ARM)); else ! pline("%s flies back toward you, hitting your %s!", The(xname(obj)), body_part(ARM)); (void) artifact_hit((struct monst *) 0, &youmonst, obj, &dmg, 0); --- 546,557 ---- } else { int dmg = rnd(4); if (Blind) ! /*JP pline("%s hits your %s!",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î%s¤ËÌ¿Ã椷¤¿¡ª", The(xname(obj)), body_part(ARM)); else ! /*JP pline("%s flies back toward you, hitting your %s!",*/ ! pline("%s¤ÏÌá¤Ã¤Æ¤­¤Æ¡¤¤¢¤Ê¤¿¤Î%s¤ËÌ¿Ã椷¤¿¡ª", The(xname(obj)), body_part(ARM)); (void) artifact_hit((struct monst *) 0, &youmonst, obj, &dmg, 0); *************** *** 520,531 **** breakobj(obj, bhitpos.x, bhitpos.y, TRUE, TRUE); return; } ! if(flooreffects(obj,bhitpos.x,bhitpos.y,"fall")) return; if(obj->otyp == CRYSKNIFE) obj->otyp = WORM_TOOTH; if (mon && mon->isshk && obj->otyp == PICK_AXE) { if (cansee(bhitpos.x, bhitpos.y)) ! pline("%s snatches up %s.", Monnam(mon), the(xname(obj))); mpickobj(mon, obj); if(*u.ushops) --- 573,586 ---- breakobj(obj, bhitpos.x, bhitpos.y, TRUE, TRUE); return; } ! /*JP if(flooreffects(obj,bhitpos.x,bhitpos.y,"fall")) return;*/ ! if(flooreffects(obj,bhitpos.x,bhitpos.y,"Íî¤Á¤ë")) return; if(obj->otyp == CRYSKNIFE) obj->otyp = WORM_TOOTH; if (mon && mon->isshk && obj->otyp == PICK_AXE) { if (cansee(bhitpos.x, bhitpos.y)) ! /*JP pline("%s snatches up %s.",*/ ! pline("%s¤Ï%s¤òÃ¥¤¤¤È¤Ã¤¿¡¥", Monnam(mon), the(xname(obj))); mpickobj(mon, obj); if(*u.ushops) *************** *** 654,663 **** if (obj->oclass == GEM_CLASS && mon->data->mlet == S_UNICORN) { if (mon->mtame) { ! pline("%s catches and drops %s.", Monnam(mon), the(xname(obj))); return 0; } else { ! pline("%s catches %s.", Monnam(mon), the(xname(obj))); return gem_accept(mon, obj); } } --- 709,720 ---- if (obj->oclass == GEM_CLASS && mon->data->mlet == S_UNICORN) { if (mon->mtame) { ! /*JP pline("%s catches and drops %s.", Monnam(mon), the(xname(obj)));*/ ! pline("%s¤Ï%s¤ò¤¯¤ï¤¨¤ÆÃÖ¤¤¤¿¡¥", Monnam(mon), the(xname(obj))); return 0; } else { ! /*JP pline("%s catches %s.", Monnam(mon), the(xname(obj)));*/ ! pline("%s¤Ï%s¤ò¤¯¤ï¤¨¤¿¡¥", Monnam(mon), the(xname(obj))); return gem_accept(mon, obj); } } *************** *** 666,672 **** at leader.... */ if (mon->data->msound == MS_LEADER && is_quest_artifact(obj)) { if (mon->mcanmove) ! pline("%s ignores %s.", Monnam(mon), the(xname(obj))); return(0); } --- 723,730 ---- at leader.... */ if (mon->data->msound == MS_LEADER && is_quest_artifact(obj)) { if (mon->mcanmove) ! /*JP pline("%s ignores %s.", Monnam(mon), the(xname(obj)));*/ ! pline("%s¤Ï%s¤ò̵»ë¤·¤¿¡¥", Monnam(mon), the(xname(obj))); return(0); } *************** *** 753,763 **** } else { if (guaranteed_hit) /* this assumes that guaranteed_hit is due to swallowing */ ! pline("%s vanishes into %s %s.", The(xname(obj)), s_suffix(mon_nam(mon)), ! is_animal(u.ustuck->data) ? "entrails" : "currents"); else ! pline("%s misses %s.", The(xname(obj)), mon_nam(mon)); } return 0; --- 811,825 ---- } else { if (guaranteed_hit) /* this assumes that guaranteed_hit is due to swallowing */ ! /*JP pline("%s vanishes into %s %s.", The(xname(obj)), s_suffix(mon_nam(mon)), ! is_animal(u.ustuck->data) ? "entrails" : "currents");*/ ! pline("%s¤Ï%s¤Î%s¤Ø¾Ã¤¨¤¿¡¥", ! The(xname(obj)), s_suffix(mon_nam(mon)), ! is_animal(u.ustuck->data) ? "Æ⢤ÎÃæ" : "ή¤ì"); else ! /*JP pline("%s misses %s.", The(xname(obj)), mon_nam(mon));*/ ! pline("%s¤Ï¤Ï¤º¤ì¤¿¡¥", The(xname(obj))); } return 0; *************** *** 772,782 **** boolean is_buddy = sgn(mon->data->maligntyp) == sgn(u.ualign.type); boolean is_gem = objects[obj->otyp].oc_material == GEMSTONE; int ret = 0; ! static NEARDATA const char nogood[] = " is not interested in your junk."; static NEARDATA const char acceptgift[] = " accepts your gift."; static NEARDATA const char maybeluck[] = " hesitatingly"; static NEARDATA const char noluck[] = " graciously"; ! static NEARDATA const char addluck[] = " gratefully"; Strcpy(buf,Monnam(mon)); mon->mpeaceful = 1; --- 834,849 ---- boolean is_buddy = sgn(mon->data->maligntyp) == sgn(u.ualign.type); boolean is_gem = objects[obj->otyp].oc_material == GEMSTONE; int ret = 0; ! /*JP static NEARDATA const char nogood[] = " is not interested in your junk."; static NEARDATA const char acceptgift[] = " accepts your gift."; static NEARDATA const char maybeluck[] = " hesitatingly"; static NEARDATA const char noluck[] = " graciously"; ! static NEARDATA const char addluck[] = " gratefully";*/ ! static NEARDATA const char nogood[] = "¤¢¤Ê¤¿¤Î¥¬¥é¥¯¥¿¤Ë¶½Ì£¤ò¼¨¤µ¤Ê¤¤¡¥"; ! static NEARDATA const char acceptgift[] = "¤¢¤Ê¤¿¤Î£¤êʪ¤ò¼õ¤±¤È¤Ã¤¿¡¥"; ! static NEARDATA const char maybeluck[] = "¤¿¤á¤é¤¤¤Ê¤¬¤é"; ! static NEARDATA const char noluck[] = "Ãú½Å¤Ë"; ! static NEARDATA const char addluck[] = "´î¤ó¤Ç"; Strcpy(buf,Monnam(mon)); mon->mpeaceful = 1; *************** *** 924,930 **** else if (distu(x,y) <= 2) { /* [what about "familiar odor" when known?] */ if (obj->otyp != POT_WATER) ! You("smell a peculiar odor..."); potionbreathe(obj); } /* monster breathing isn't handled... [yet?] */ --- 991,998 ---- else if (distu(x,y) <= 2) { /* [what about "familiar odor" when known?] */ if (obj->otyp != POT_WATER) ! /*JP You("smell a peculiar odor...");*/ ! You("Ìô¤Ã¤Ý¤¤Æ÷¤¤¤¬¤·¤¿¡¥¡¥¡¥"); potionbreathe(obj); } /* monster breathing isn't handled... [yet?] */ *************** *** 1008,1030 **** #ifdef TOURIST case EXPENSIVE_CAMERA: #endif ! to_pieces = " into a thousand pieces"; /*FALLTHRU*/ case POT_WATER: /* really, all potions */ if (!in_view) ! You_hear("%s shatter!", something); else ! pline("%s shatters%s!", Doname2(obj), to_pieces); break; case EGG: ! pline("Splat!"); break; case CREAM_PIE: ! if (in_view) pline("What a mess!"); break; case ACID_VENOM: case BLINDING_VENOM: ! pline("Splash!"); break; } } --- 1076,1104 ---- #ifdef TOURIST case EXPENSIVE_CAMERA: #endif ! /*JP to_pieces = " into a thousand pieces";*/ ! to_pieces = "1000¸Ä¤Î¥«¥±¥é¤Ë¤¯¤À¤±"; /*FALLTHRU*/ case POT_WATER: /* really, all potions */ if (!in_view) ! /*JP You_hear("%s shatter!", something);*/ ! You_hear("%s¤ò²õ¤·¤¿¡ª", something); else ! /*JP pline("%s shatters%s!", Doname2(obj), to_pieces);*/ ! pline("%s¤Ï%s¤³¤Ê¤´¤Ê¤Ë¤Ê¤Ã¤¿¡ª", Doname2(obj), to_pieces); break; case EGG: ! /*JP pline("Splat!");*/ ! pline("¥Ó¥Á¥ã¡ª"); break; case CREAM_PIE: ! /*JP if (in_view) pline("What a mess!");*/ ! if (in_view) pline("¤³¤ê¤ã¤Ò¤É¤¤¡ª"); break; case ACID_VENOM: case BLINDING_VENOM: ! /*JP pline("Splash!");*/ ! pline("¥Ó¥Á¥ã¡ª"); break; } } *************** *** 1042,1049 **** if(u.uswallow) { pline(is_animal(u.ustuck->data) ? ! "%s in the %s's entrails." : "%s into %s.", ! "The gold disappears", mon_nam(u.ustuck)); u.ustuck->mgold += zorks; dealloc_obj(obj); return(1); --- 1116,1125 ---- if(u.uswallow) { pline(is_animal(u.ustuck->data) ? ! /*JP "%s in the %s's entrails." : "%s into %s.", ! "The gold disappears", mon_nam(u.ustuck));*/ ! "%s¤ÎÊ¢¤ÎÃæ¤Ë%s¡¥" : "%s¤ÎÃæ¤Ë%s¡¥", mon_nam(u.ustuck), ! "¥´¡¼¥ë¥É¤Ï¾Ã¤¨¤Æ¤¤¤Ã¤¿"); u.ustuck->mgold += zorks; dealloc_obj(obj); return(1); *************** *** 1052,1061 **** if(u.dz) { if (u.dz < 0 && !Is_airlevel(&u.uz) && !Underwater && !Is_waterlevel(&u.uz)) { ! pline_The("gold hits the %s, then falls back on top of your %s.", ceiling(u.ux,u.uy), body_part(HEAD)); /* some self damage? */ ! if(uarmh) pline("Fortunately, you are wearing a helmet!"); } bhitpos.x = u.ux; bhitpos.y = u.uy; --- 1128,1140 ---- if(u.dz) { if (u.dz < 0 && !Is_airlevel(&u.uz) && !Underwater && !Is_waterlevel(&u.uz)) { ! /*JP pline_The("gold hits the %s, then falls back on top of your %s.",*/ ! pline("¥´¡¼¥ë¥É¤Ï%s¤ËÌ¿Ã椷¡¤¤¢¤Ê¤¿¤Î%s¤Î¿¿¾å¤ËÍî¤Á¤Æ¤­¤¿¡¥", ceiling(u.ux,u.uy), body_part(HEAD)); /* some self damage? */ ! /*JP if(uarmh) pline("Fortunately, you are wearing a helmet!");*/ ! if(uarmh) pline("¹¬±¿¤Ê¤³¤È¤Ë¡¤¤¢¤Ê¤¿¤Ï³õ¤ò¿È¤Ë¤Ä¤±¤Æ¤¤¤ë¡ª"); ! } bhitpos.x = u.ux; bhitpos.y = u.uy; *************** *** 1082,1090 **** } } ! if(flooreffects(obj,bhitpos.x,bhitpos.y,"fall")) return(1); if(u.dz > 0) ! pline_The("gold hits the %s.", surface(bhitpos.x,bhitpos.y)); place_object(obj,bhitpos.x,bhitpos.y); if(*u.ushops) sellobj(obj, bhitpos.x, bhitpos.y); stackobj(obj); --- 1161,1171 ---- } } ! /*JP if(flooreffects(obj,bhitpos.x,bhitpos.y,"fall")) return(1);*/ ! if(flooreffects(obj,bhitpos.x,bhitpos.y,"Íî¤Á¤ë")) return(1); if(u.dz > 0) ! /*JP pline_The("gold hits the %s.", surface(bhitpos.x,bhitpos.y));*/ ! pline("¥´¡¼¥ë¥É¤Ï%s¤ËÌ¿Ã椷¤¿¡¥", surface(bhitpos.x,bhitpos.y)); place_object(obj,bhitpos.x,bhitpos.y); if(*u.ushops) sellobj(obj, bhitpos.x, bhitpos.y); stackobj(obj); diff -c -r ../nethack-3.2.2/src/drawing.c ./src/drawing.c *** ../nethack-3.2.2/src/drawing.c Sat Dec 28 21:53:39 1996 --- ./src/drawing.c Tue Jul 22 23:18:16 1997 *************** *** 637,643 **** if (ascgraphics_mode_callback) (*ascgraphics_mode_callback)(); #endif break; ! #ifdef ASCIIGRAPH case IBM_GRAPHICS: /* * Use the nice IBM Extended ASCII line-drawing characters (codepage 437). --- 637,644 ---- if (ascgraphics_mode_callback) (*ascgraphics_mode_callback)(); #endif break; ! /* #ifdef ASCIIGRAPH */ ! # if 0 case IBM_GRAPHICS: /* * Use the nice IBM Extended ASCII line-drawing characters (codepage 437). *************** *** 705,710 **** --- 706,712 ---- VENOM_SYM }; + #if 0 /*JP*/ # ifdef ASCIIGRAPH static const uchar IBM_r_oc_syms[MAXOCLASSES] = { /* a la EPYX Rogue */ /* 0*/ '\0', *************** *** 727,732 **** --- 729,735 ---- VENOM_SYM }; # endif /* ASCIIGRAPH */ + #endif /*JP*/ void assign_rogue_graphics(is_rlevel) *************** *** 756,761 **** --- 759,765 ---- * all of this info and to simply initialize it via a for() loop like r_oc_syms. */ + #if 0 /*JP*/ # ifdef ASCIIGRAPH if (!iflags.IBMgraphics # if defined(USE_TILES) && defined(MSDOS) *************** *** 763,770 **** --- 767,776 ---- # endif ) { # endif + #endif /*JP*/ showsyms[S_vodoor] = showsyms[S_hodoor] = showsyms[S_ndoor] = '+'; showsyms[S_upstair] = showsyms[S_dnstair] = '%'; + #if 0 /*JP*/ # ifdef ASCIIGRAPH } else { /* a la EPYX Rogue */ *************** *** 810,817 **** --- 816,825 ---- showsyms[S_polymorph_trap] = 0x04; } #endif /* ASCIIGRAPH */ + #endif /* JP */ for (i = 0; i < MAXOCLASSES; i++) { + #if 0 /* JP */ #ifdef ASCIIGRAPH if (iflags.IBMgraphics # if defined(USE_TILES) && defined(MSDOS) *************** *** 821,826 **** --- 829,835 ---- oc_syms[i] = IBM_r_oc_syms[i]; else #endif /* ASCIIGRAPH */ + #endif /* JP */ oc_syms[i] = r_oc_syms[i]; } #if defined(MSDOS) diff -c -r ../nethack-3.2.2/src/dungeon.c ./src/dungeon.c *** ../nethack-3.2.2/src/dungeon.c Sat Dec 28 21:53:40 1996 --- ./src/dungeon.c Tue Jul 22 23:18:16 1997 *************** *** 6,11 **** --- 6,16 ---- #include "dgn_file.h" #include "dlb.h" + #ifdef _MSC_VER + #include "../japanese/emalloc.h" + #define alloc(s) emalloc(s) + #endif + #ifdef OVL1 #define DUNGEON_FILE "dungeon" diff -c -r ../nethack-3.2.2/src/eat.c ./src/eat.c *** ../nethack-3.2.2/src/eat.c Sat Dec 28 21:53:40 1996 --- ./src/eat.c Tue Sep 23 07:10:07 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" /* #define DEBUG /* uncomment to enable new eat code debugging */ *************** *** 72,78 **** STATIC_OVL boolean force_save_hs = FALSE; ! const char *hu_stat[] = { "Satiated", " ", "Hungry ", --- 79,85 ---- STATIC_OVL boolean force_save_hs = FALSE; ! /*JP const char *hu_stat[] = { "Satiated", " ", "Hungry ", *************** *** 80,85 **** --- 87,101 ---- "Fainting", "Fainted ", "Starved " + }; */ + const char *hu_stat[] = { + "ËþÊ¢ ", + " ", + "¤Ú¤³¤Ú¤³", + "¿ê¼å ", + "¤Õ¤é¤Õ¤é", + "´ÅÝ ", + "²î»à " }; #endif /* OVLB */ *************** *** 122,128 **** u.uhs = NOT_HUNGRY; } ! static const struct { const char *txt; int nut; } tintxts[] = { {"deep fried", 60}, {"pickled", 40}, {"soup made from", 20}, --- 138,144 ---- u.uhs = NOT_HUNGRY; } ! /*JP static const struct { const char *txt; int nut; } tintxts[] = { {"deep fried", 60}, {"pickled", 40}, {"soup made from", 20}, *************** *** 130,135 **** --- 146,160 ---- {"rotten", -50}, {"homemade", 50}, {"", 0} + }; */ + static const struct { const char *txt; int nut; } tintxts[] = { + {"¤ÎÍȤ²Êª", 60}, + {"¤ÎÄÒʪ", 40}, + {"¤Î¥¹¡¼¥×", 20}, + {"¤Î¥Ô¥å¡¼¥ì", 500}, + {"Éå¤Ã¤¿", -50}, + {"¼«²ÈÀ½¤Î", 50}, + {"", 0} }; #define TTSZ SIZE(tintxts) *************** *** 177,196 **** --- 202,229 ---- boolean the_pfx; { const char *result; + #if 0 /*JP*/ int mnum = food->corpsenm; if (food->otyp == CORPSE && (mons[mnum].geno & G_UNIQ)) { /* grab xname()'s modifiable return buffer for our own use */ char *bufp = xname(food); + /*JP Sprintf(bufp, "%s%s corpse", (the_pfx && !type_is_pname(&mons[mnum])) ? "the " : "", s_suffix(mons[mnum].mname)); + */ + Sprintf(bufp, "%s¤Î»àÂÎ", + s_suffix(mons[mnum].mname)); result = bufp; } else { + #endif /* the ordinary case */ result = singular(food, xname); if (the_pfx) result = the(result); + #if 0 /*JP*/ } + #endif return result; } *************** *** 217,226 **** if (Breathless || (!Strangled && !rn2(20))) { /* choking by eating AoS doesn't involve stuffing yourself */ if (food->otyp == AMULET_OF_STRANGULATION) { ! You("choke, but recover your composure."); return; } ! You("stuff yourself and then vomit voluminously."); morehungry(1000); /* you just got *very* sick! */ vomit(); } else { --- 250,261 ---- if (Breathless || (!Strangled && !rn2(20))) { /* choking by eating AoS doesn't involve stuffing yourself */ if (food->otyp == AMULET_OF_STRANGULATION) { ! /*JP You("choke, but recover your composure.");*/ ! You("¼ó¤ò¹Ê¤á¤é¤ì¤¿¡¥¤·¤«¤·¤Ê¤ó¤È¤â¤Ê¤«¤Ã¤¿¡¥"); return; } ! /*JP You("stuff yourself and then vomit voluminously.");*/ ! pline("¤¬¤Ä¤¬¤Ä¤È¸ý¤ËµÍ¤á¹þ¤ó¤À¤¬, ¥É¥Ð¤Ã¤ÈÅǤ­½Ð¤·¤Æ¤·¤Þ¤Ã¤¿¡¥"); morehungry(1000); /* you just got *very* sick! */ vomit(); } else { *************** *** 230,246 **** --- 265,294 ---- * high score list & tombstone. So plan accordingly. */ if(food) { + /*JP You("choke over your %s.", foodword(food)); + */ + You("%s¤ò¹¢¤ËµÍ¤Þ¤é¤»¤Æ¤·¤Þ¤Ã¤¿¡¥", foodword(food)); if (food->oclass == GOLD_CLASS) { + /*JP killer = "a very rich meal"; + */ + killer = "¤È¤Æ¤â¹ë²Ú¤ÊÎÁÍý¤Ç"; } else { killer = food_xname(food, FALSE); } } else { + /*JP You("choke over it."); killer = "quick snack"; + */ + pline("¹¢¤ËµÍ¤Þ¤é¤»¤Æ¤·¤Þ¤Ã¤¿¡¥"); + killer = "Áá¿©¤¤¤Ç"; } + /*JP You("die..."); + */ + pline("¤¢¤Ê¤¿¤Ï»à¤Ë¤Þ¤·¤¿¡¥¡¥¡¥"); done(CHOKING); } } *************** *** 298,304 **** || otmp->unpaid) && (otmp->otyp == CORPSE || objects[otmp->otyp].oc_delay > 1)) { /* create a dummy duplicate to put on bill */ ! verbalize("You bit it, you bought it!"); bill_dummy_object(otmp); otmp->no_charge = 1; /* you now own this */ } --- 346,353 ---- || otmp->unpaid) && (otmp->otyp == CORPSE || objects[otmp->otyp].oc_delay > 1)) { /* create a dummy duplicate to put on bill */ ! /*JP verbalize("You bit it, you bought it!");*/ ! verbalize("¶ô¤Ã¤¿¤Ê¤é¤ªÇ㤤¤¢¤²¤¤¤¿¤À¤³¤¦¡ª"); bill_dummy_object(otmp); otmp->no_charge = 1; /* you now own this */ } *************** *** 384,390 **** --- 433,442 ---- if (message) pline(nomovemsg); nomovemsg = 0; } else if (message) + /*JP You("finish eating %s.", food_xname(victual.piece, TRUE)); + */ + You("%s¤ò¿©¤Ù½ª¤¨¤¿¡¥", food_xname(victual.piece, TRUE)); if(victual.piece->otyp == CORPSE) cpostfx(victual.piece->corpsenm); *************** *** 405,413 **** if (Role_is('E') ? is_elf(&mons[pm]) : is_human(&mons[pm])) { if (uasmon != &playermon) { ! You("have a bad feeling deep inside."); } ! You("cannibal! You will regret this!"); Aggravate_monster |= FROMOUTSIDE; change_luck(-rn1(4,2)); /* -5..-2 */ } --- 457,467 ---- if (Role_is('E') ? is_elf(&mons[pm]) : is_human(&mons[pm])) { if (uasmon != &playermon) { ! /*JP You("have a bad feeling deep inside.");*/ ! You("·ù°­´¶¤Ë¤ª¤½¤ï¤ì¤¿¡¥"); } ! /*JP You("cannibal! You will regret this!");*/ ! pline("¶¦¶ô¤¤¤À¡ª¸å²ù¤¹¤ë¤¾¡ª"); Aggravate_monster |= FROMOUTSIDE; change_luck(-rn1(4,2)); /* -5..-2 */ } *************** *** 419,425 **** case PM_KITTEN: case PM_HOUSECAT: case PM_LARGE_CAT: ! You_feel("that eating the %s was a bad idea.", mons[pm].mname); Aggravate_monster |= FROMOUTSIDE; break; case PM_COCKATRICE: --- 473,480 ---- case PM_KITTEN: case PM_HOUSECAT: case PM_LARGE_CAT: ! /*JP You_feel("that eating the %s was a bad idea.", mons[pm].mname); */ ! pline("%s¤ò¿©¤Ù¤ë¤Î¤Ï¤è¤¯¤Ê¤¤µ¤¤¬¤·¤¿¡¥", jtrns_mon(mons[pm].mname, -1)); Aggravate_monster |= FROMOUTSIDE; break; case PM_COCKATRICE: *************** *** 428,437 **** --- 483,498 ---- !(poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM))) { char kbuf[BUFSZ]; + /*JP Sprintf(kbuf, "tasting %s meat", mons[pm].mname); + */ + Sprintf(kbuf, "%s¤ÎÆù¤ò¿©¤Ù¤Æ", jtrns_mon(mons[pm].mname, -1)); killer_format = KILLED_BY; killer = kbuf; + /*JP You("turn to stone."); + */ + You("Àв½¤·¤¿¡¥"); done(STONING); } break; *************** *** 442,452 **** case PM_PESTILENCE: case PM_FAMINE: { char buf[BUFSZ]; ! pline("Eating that is instantly fatal."); ! Sprintf(buf, "unwisely ate the body of %s", ! mons[pm].mname); killer = buf; ! killer_format = NO_KILLER_PREFIX; done(DIED); /* It so happens that since we know these monsters */ /* cannot appear in tins, victual.piece will always */ --- 503,516 ---- case PM_PESTILENCE: case PM_FAMINE: { char buf[BUFSZ]; ! /*JP pline("Eating that is instantly fatal."); */ ! pline("¿©¤Ù¤¿¤é¤¹¤°¤Ë»à¤ó¤Ç¤·¤Þ¤Ã¤¿¡¥"); ! /*JP Sprintf(buf, "unwisely ate the body of %s",*/ ! Sprintf(buf, "¶ò¤«¤Ë¤â%s¤ò¿©¤Ù¤Æ", ! jtrns_mon(mons[pm].mname,-1)); killer = buf; ! /*JP killer_format = NO_KILLER_PREFIX;*/ ! killer_format = KILLED_BY; done(DIED); /* It so happens that since we know these monsters */ /* cannot appear in tins, victual.piece will always */ *************** *** 463,472 **** if (fix_petrification) { Stoned = 0; if (!Hallucination) ! You_feel("limber!"); else ! pline("What a pity - you just ruined a future piece of %sart!", ! ACURR(A_CHA) > 15 ? "fine " : ""); } return; --- 527,539 ---- if (fix_petrification) { Stoned = 0; if (!Hallucination) ! /*JP You_feel("limber!");*/ ! You("ÂΤ¬Æð¤é¤«¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡ª"); else ! /*JP pline("What a pity - you just ruined a future piece of %sart!", ! ACURR(A_CHA) > 15 ? "fine " : "");*/ ! pline("¤Ê¤ó¤Æ¤³¤È¤À¡ª%s·Ý½ÑºîÉʤˤʤ줿¤«¤â¤·¤ì¤Ê¤¤¤Î¤Ë¡ª", ! ACURR(A_CHA) > 15 ? "µ®½Å¤Ê" : ""); } return; *************** *** 621,628 **** debugpline("Trying to give fire resistance"); #endif if(!(HFire_resistance & FROMOUTSIDE)) { ! You(Hallucination ? "be chillin'." : ! "feel a momentary chill."); HFire_resistance |= FROMOUTSIDE; } break; --- 688,697 ---- debugpline("Trying to give fire resistance"); #endif if(!(HFire_resistance & FROMOUTSIDE)) { ! /*JP You(Hallucination ? "be chillin'." : ! "feel a momentary chill."); */ ! You(Hallucination ? "¡Ö¥¯¡¼¥ëÂðÇÛÊءפµ¤ì¤Æ¤¤¤ë¤è¤¦¤À" : ! "°ì½Ö´¨¤±¤¬¤·¤¿¡¥"); HFire_resistance |= FROMOUTSIDE; } break; *************** *** 631,638 **** debugpline("Trying to give sleep resistance"); #endif if(!(HSleep_resistance & FROMOUTSIDE)) { ! You_feel("wide awake."); ! HSleep_resistance |= FROMOUTSIDE; } break; case COLD_RES: --- 700,708 ---- debugpline("Trying to give sleep resistance"); #endif if(!(HSleep_resistance & FROMOUTSIDE)) { ! /*JP You_feel("wide awake."); */ ! You("¤Ñ¤Ã¤Á¤êÌܤ¬¤µ¤á¤¿¡¥"); ! HSleep_resistance |= FROMOUTSIDE; } break; case COLD_RES: *************** *** 640,646 **** debugpline("Trying to give cold resistance"); #endif if(!(HCold_resistance & FROMOUTSIDE)) { ! You_feel("full of hot air."); HCold_resistance |= FROMOUTSIDE; } break; --- 710,717 ---- debugpline("Trying to give cold resistance"); #endif if(!(HCold_resistance & FROMOUTSIDE)) { ! /*JP You_feel("full of hot air."); */ ! You("Ç®É÷¤òÁ´¿È¤Ë´¶¤¸¤¿¡¥"); HCold_resistance |= FROMOUTSIDE; } break; *************** *** 650,657 **** #endif if(!(HDisint_resistance & FROMOUTSIDE)) { You_feel(Hallucination ? ! "totally together, man." : ! "very firm."); HDisint_resistance |= FROMOUTSIDE; } break; --- 721,730 ---- #endif if(!(HDisint_resistance & FROMOUTSIDE)) { You_feel(Hallucination ? ! /*JP "totally together, man." : ! "very firm.");*/ ! "À¤³¦¿ÍÎà¤È·»Äï¤Ë¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥" : ! "¤È¤Æ¤â´è¾æ¤Ë¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); HDisint_resistance |= FROMOUTSIDE; } break; *************** *** 661,669 **** #endif if(!(HShock_resistance & FROMOUTSIDE)) { if (Hallucination) ! You_feel("grounded in reality."); else ! Your("health currently feels amplified!"); HShock_resistance |= FROMOUTSIDE; } break; --- 734,744 ---- #endif if(!(HShock_resistance & FROMOUTSIDE)) { if (Hallucination) ! /*JP You_feel("grounded in reality."); */ ! You("¥¢¡¼¥¹¤µ¤ì¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); else ! /*JP Your("health currently feels amplified!");*/ ! pline("·ò¹¯¤¬ÁýÉý¤µ¤ì¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡ª"); HShock_resistance |= FROMOUTSIDE; } break; *************** *** 672,678 **** debugpline("Trying to give poison resistance"); #endif if(!(HPoison_resistance & FROMOUTSIDE)) { ! You_feel("healthy."); HPoison_resistance |= FROMOUTSIDE; } break; --- 747,754 ---- debugpline("Trying to give poison resistance"); #endif if(!(HPoison_resistance & FROMOUTSIDE)) { ! /*JP You_feel("healthy.");*/ ! You("·ò¹¯Åª¤Ë¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); HPoison_resistance |= FROMOUTSIDE; } break; *************** *** 681,688 **** debugpline("Trying to give teleport"); #endif if(!(HTeleportation & FROMOUTSIDE)) { ! You_feel(Hallucination ? "diffuse." : ! "very jumpy."); HTeleportation |= FROMOUTSIDE; } break; --- 757,766 ---- debugpline("Trying to give teleport"); #endif if(!(HTeleportation & FROMOUTSIDE)) { ! /*JP You_feel(Hallucination ? "diffuse." : ! "very jumpy.");*/ ! pline(Hallucination ? "ÂΤ¬Èô¤Ó»¶¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥" : ! "Ä·ÌöÎϤ¬¹â¤Þ¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); HTeleportation |= FROMOUTSIDE; } break; *************** *** 692,699 **** #endif if(!(HTeleport_control & FROMOUTSIDE)) { You_feel(Hallucination ? ! "centered in your personal space." : ! "in control of yourself."); HTeleport_control |= FROMOUTSIDE; } break; --- 770,779 ---- #endif if(!(HTeleport_control & FROMOUTSIDE)) { You_feel(Hallucination ? ! /*JP "centered in your personal space." : ! "in control of yourself.");*/ ! "¼«¸ÊÃ濴Ū¤Ë¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥" : ! "¼«Ê¬¼«¿È¤òÀ©¸æ¤Ç¤­¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); HTeleport_control |= FROMOUTSIDE; } break; *************** *** 703,710 **** #endif if(!(HTelepat & FROMOUTSIDE)) { You_feel(Hallucination ? ! "in touch with the cosmos." : ! "a strange mental acuity."); HTelepat |= FROMOUTSIDE; /* If blind, make sure monsters show up. */ if (Blind) see_monsters(); --- 783,792 ---- #endif if(!(HTelepat & FROMOUTSIDE)) { You_feel(Hallucination ? ! /*JP "in touch with the cosmos." : ! "a strange mental acuity.");*/ ! "±§Ãè¤Î¿ÀÈë¤Ë¿¨¤ì¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥" : ! "´ñ̯¤ÊÀº¿ÀŪ±Ô¤µ¤ò´¶¤¸¤¿¡¥"); HTelepat |= FROMOUTSIDE; /* If blind, make sure monsters show up. */ if (Blind) see_monsters(); *************** *** 750,756 **** if(!Invis) { set_itimeout(&HInvis, (long)rn1(100, 50)); } else { ! if (!(HInvis & INTRINSIC)) You_feel("hidden!"); HInvis |= FROMOUTSIDE; HSee_invisible |= FROMOUTSIDE; } --- 832,839 ---- if(!Invis) { set_itimeout(&HInvis, (long)rn1(100, 50)); } else { ! /*JP if (!(HInvis & INTRINSIC)) You_feel("hidden!");*/ ! if (!(HInvis & INTRINSIC)) Your("»Ñ¤Ï±£¤µ¤ì¤¿¡ª"); HInvis |= FROMOUTSIDE; HSee_invisible |= FROMOUTSIDE; } *************** *** 775,785 **** --- 858,876 ---- if (u.usym != S_MIMIC) { char buf[BUFSZ]; + /*JP You_cant("resist the temptation to mimic a pile of gold."); + */ + You("¶â²ß¤Î»³¤ò¿¿»÷¤·¤¿¤¤Í¶ÏǤˤ«¤é¤ì¤¿¡¥"); nomul(-tmp); + /*JP Sprintf(buf, "You now prefer mimicking %s again.", an(Upolyd ? uasmon->mname : Role_is('E') ? "elf" : "human")); + */ + Sprintf(buf, "¤³¤ó¤É¤Ï%s¤Î¿¿»÷¤¬¤·¤¿¤¯¤Ê¤Ã¤¿¡¥", + an(Upolyd ? uasmon->mname : + Role_is('E') ? "¥¨¥ë¥Õ" : "¿Í´Ö")); eatmbuf = strcpy((char *) alloc(strlen(buf) + 1), buf); nomovemsg = eatmbuf; afternmv = eatmdone; *************** *** 791,803 **** } break; case PM_QUANTUM_MECHANIC: ! Your("velocity suddenly seems very uncertain!"); if (Fast & INTRINSIC) { Fast &= ~INTRINSIC; ! You("seem slower."); } else { Fast |= FROMOUTSIDE; ! You("seem faster."); } break; case PM_LIZARD: --- 882,897 ---- } break; case PM_QUANTUM_MECHANIC: ! /*JP Your("velocity suddenly seems very uncertain!");*/ ! Your("®ÅÙ¤¬ÆÍÁ³¡¢ÉÔ³ÎÄê¤Ë¤Ê¤Ã¤¿¡ª"); if (Fast & INTRINSIC) { Fast &= ~INTRINSIC; ! /*JP You("seem slower.");*/ ! You("ÃÙ¤¯¤Ê¤Ã¤¿¤è¤¦¤À¡¥"); } else { Fast |= FROMOUTSIDE; ! /*JP You("seem faster.");*/ ! You("®¤¯¤Ê¤Ã¤¿¤è¤¦¤À¡¥"); } break; case PM_LIZARD: *************** *** 805,823 **** if (HConfusion > 2) make_confused(2L,FALSE); break; case PM_CHAMELEON: ! You_feel("a change coming over you."); polyself(); break; case PM_MIND_FLAYER: if (ABASE(A_INT) < ATTRMAX(A_INT)) { if (!rn2(2)) { ! pline("Yum! That was real brain food!"); (void) adjattrib(A_INT, 1, FALSE); break; /* don't give them telepathy, too */ } } else { ! pline("For some reason, that tasted bland."); } /* fall through to default case */ default: { --- 899,920 ---- if (HConfusion > 2) make_confused(2L,FALSE); break; case PM_CHAMELEON: ! /*JP You_feel("a change coming over you.");*/ ! pline("ÊѲ½¤¬Ë¬¤ì¤¿¡¥"); polyself(); break; case PM_MIND_FLAYER: if (ABASE(A_INT) < ATTRMAX(A_INT)) { if (!rn2(2)) { ! /*JP pline("Yum! That was real brain food!");*/ ! pline("¥¦¥§¡ª¤³¤ì¤³¤½ËÜÅö¤ÎǾ̣Á¹¤À¡ª"); (void) adjattrib(A_INT, 1, FALSE); break; /* don't give them telepathy, too */ } } else { ! /*JP pline("For some reason, that tasted bland.");*/ ! pline("¤É¤¦¤·¤¿¤ï¤±¤«¡¤¸ý¤¢¤¿¤ê¤¬¤¤¤¤¡¥"); } /* fall through to default case */ default: { *************** *** 826,832 **** if (dmgtype(ptr, AD_STUN) || dmgtype(ptr, AD_HALU) || pm == PM_VIOLET_FUNGUS) { ! pline ("Oh wow! Great stuff!"); make_hallucinated(HHallucination + 200,FALSE,0L); } if(is_giant(ptr)) gainstr((struct obj *)0, 0); --- 923,930 ---- if (dmgtype(ptr, AD_STUN) || dmgtype(ptr, AD_HALU) || pm == PM_VIOLET_FUNGUS) { ! /*JP pline ("Oh wow! Great stuff!");*/ ! pline ("¥ï¡¼¥©¡ª¤Ê¤ó¤À¤³¤ì¤Ï¡ª"); make_hallucinated(HHallucination + 200,FALSE,0L); } if(is_giant(ptr)) gainstr((struct obj *)0, 0); *************** *** 893,912 **** /* perhaps it was stolen? */ return(0); /* %% probably we should use tinoid */ if(tin.usedtime++ >= 50) { ! You("give up your attempt to open the tin."); return(0); } if(tin.usedtime < tin.reqtime) return(1); /* still busy */ if(tin.tin->otrapped || (tin.tin->cursed && tin.tin->spe != -1 && !rn2(8))) { ! b_trapped("tin", 0); goto use_me; } ! You("succeed in opening the tin."); if(tin.tin->spe != 1) { if (tin.tin->corpsenm == NON_PM) { ! pline("It turns out to be empty."); tin.tin->dknown = tin.tin->known = TRUE; goto use_me; } --- 991,1014 ---- /* perhaps it was stolen? */ return(0); /* %% probably we should use tinoid */ if(tin.usedtime++ >= 50) { ! /*JP You("give up your attempt to open the tin.");*/ ! You("´Ì¤ò³«¤±¤ë¤Î¤ò¤¢¤­¤é¤á¤¿¡¥"); return(0); } if(tin.usedtime < tin.reqtime) return(1); /* still busy */ if(tin.tin->otrapped || (tin.tin->cursed && tin.tin->spe != -1 && !rn2(8))) { ! /*JP b_trapped("tin", 0);*/ ! b_trapped("´Ì", 0); goto use_me; } ! /*JP You("succeed in opening the tin.");*/ ! You("´Ì¤ò³«¤±¤ë¤Î¤ËÀ®¸ù¤·¤¿¡¥"); if(tin.tin->spe != 1) { if (tin.tin->corpsenm == NON_PM) { ! /*JP pline("It turns out to be empty.");*/ ! pline("´Ì¤Ï¶õ¤Ã¤Ý¤À¤Ã¤¿¡¥"); tin.tin->dknown = tin.tin->known = TRUE; goto use_me; } *************** *** 924,941 **** which = type_is_pname(&mons[tin.tin->corpsenm]) ? 1 : 2; } if (which == 0) what = makeplural(what); ! pline("It smells like %s%s.", (which == 2) ? "the " : "", what); ! if (yn("Eat it?") == 'n') { if (!Hallucination) tin.tin->dknown = tin.tin->known = TRUE; ! if (flags.verbose) You("discard the open tin."); goto use_me; } /* in case stop_occupation() was called on previous meal */ victual.piece = (struct obj *)0; victual.fullwarn = victual.eating = victual.doreset = FALSE; ! You("consume %s %s.", tintxts[r].txt, ! mons[tin.tin->corpsenm].mname); tin.tin->dknown = tin.tin->known = TRUE; cprefx(tin.tin->corpsenm); cpostfx(tin.tin->corpsenm); --- 1026,1054 ---- which = type_is_pname(&mons[tin.tin->corpsenm]) ? 1 : 2; } if (which == 0) what = makeplural(what); ! /*JP pline("It smells like %s%s.", (which == 2) ? "the " : "", what);*/ ! pline("%s¤Î¤è¤¦¤ÊÆ÷¤¤¤¬¤·¤¿¡¥", jtrns_mon(what, -1)); ! ! /*JP if (yn("Eat it?") == 'n') {*/ ! if (yn("¿©¤Ù¤Þ¤¹¤«¡©") == 'n') { if (!Hallucination) tin.tin->dknown = tin.tin->known = TRUE; ! /*JP if (flags.verbose) You("discard the open tin.");*/ ! if (flags.verbose) You("³«¤±¤¿´Ì¤ò¼Î¤Æ¤¿¡¥"); goto use_me; } /* in case stop_occupation() was called on previous meal */ victual.piece = (struct obj *)0; victual.fullwarn = victual.eating = victual.doreset = FALSE; ! /*JP You("consume %s %s.", tintxts[r].txt, ! mons[tin.tin->corpsenm].mname); */ ! /*JP ! tintexts¤Ë¤ÏºÇ½é¤Î4¤Ä¤Ë¡¤ÍȤ²Êª¡¤ÄÒʪ¡¤¥¹¡¼¥×¡¤¥Ô¥å¡¼¥ì¤¬Æþ¤Ã¤Æ ! ¤ª¤ê¡¤¤³¤ì¤é¤Ï¡Ö¡û¡û¤Î¥¹¡¼¥×¡×¤Î¤è¤¦¤Ëµ­½Ò¤¹¤ë¤Î¤¬¼«Á³¤Ç¤¢¤ë¡¥ ! */ ! You("%s%s¤ò¤¿¤¤¤é¤²¤¿¡¥", ! (r < 4) ? jtrns_mon(mons[tin.tin->corpsenm].mname, -1) : tintxts[r].txt, ! (r < 4) ? tintxts[r].txt : jtrns_mon(mons[tin.tin->corpsenm].mname, -1)); tin.tin->dknown = tin.tin->known = TRUE; cprefx(tin.tin->corpsenm); cpostfx(tin.tin->corpsenm); *************** *** 946,971 **** if(r == 0) { /* Deep Fried */ /* Assume !Glib, because you can't open tins when Glib. */ incr_itimeout(&Glib, rnd(15)); ! pline("Eating deep fried food made your %s very slippery.", makeplural(body_part(FINGER))); } } else { if (tin.tin->cursed) ! pline("It contains some decaying %s substance.", hcolor(green)); else ! pline("It contains spinach."); ! if (yn("Eat it?") == 'n') { if (!Hallucination && !tin.tin->cursed) tin.tin->dknown = tin.tin->known = TRUE; if (flags.verbose) ! You("discard the open tin."); goto use_me; } if (!tin.tin->cursed) ! pline("This makes you feel like %s!", ! Hallucination ? "Swee'pea" : "Popeye"); lesshungry(600); gainstr(tin.tin, 0); } --- 1059,1091 ---- if(r == 0) { /* Deep Fried */ /* Assume !Glib, because you can't open tins when Glib. */ incr_itimeout(&Glib, rnd(15)); ! /*JP pline("Eating deep fried food made your %s very slippery.",*/ ! pline("¤¢¤Ê¤¿¤Î%s¤ÏÍȤ²¤¹¤®¤¿¿©¤Ùʪ¤Î¤¿¤á³ê¤ê¤ä¤¹¤¯¤Ê¤Ã¤¿¡¥", makeplural(body_part(FINGER))); } } else { if (tin.tin->cursed) ! /*JP pline("It contains some decaying %s substance.",*/ ! pline("%sÉå¤Ã¤¿ÊªÂΤ¬Æþ¤Ã¤Æ¤¤¤ë¡¥", hcolor(green)); else ! /*JP pline("It contains spinach.");*/ ! pline("¥Û¥¦¥ì¥óÁð¤¬Æþ¤Ã¤Æ¤¤¤ë¡¥"); ! /*JP if (yn("Eat it?") == 'n') {*/ ! if (yn("¿©¤Ù¤Þ¤¹¤«¡©") == 'n') { if (!Hallucination && !tin.tin->cursed) tin.tin->dknown = tin.tin->known = TRUE; if (flags.verbose) ! /*JP You("discard the open tin.");*/ ! You("³«¤±¤¿´Ì¤ò¼Î¤Æ¤¿¡¥"); goto use_me; } if (!tin.tin->cursed) ! /*JP pline("This makes you feel like %s!", ! Hallucination ? "Swee'pea" : "Popeye");*/ ! pline("%s¤Î¤è¤¦¤Êµ¤Ê¬¤Ë¤Ê¤Ã¤¿¡ª", ! Hallucination ? "¥¹¥¦¥£¥Ã¥Ô¡¼" : "¥Ý¥Ñ¥¤"); lesshungry(600); gainstr(tin.tin, 0); } *************** *** 984,996 **** register int tmp; if (metallivorous(uasmon)) { ! You("bite right into the metal tin..."); tmp = 1; } else if (nolimbs(uasmon)) { ! You("cannot handle the tin properly to open it."); return; } else if (otmp->blessed) { ! pline_The("tin opens like magic!"); tmp = 1; } else if(uwep) { switch(uwep->otyp) { --- 1104,1119 ---- register int tmp; if (metallivorous(uasmon)) { ! /*JP You("bite right into the metal tin...");*/ ! You("¶â°¤Î´Ì¤ò³ú¤ß¤Ï¤¸¤á¤¿¡¥¡¥¡¥"); tmp = 1; } else if (nolimbs(uasmon)) { ! /*JP You("cannot handle the tin properly to open it.");*/ ! You("´Ì¤ò¤¦¤Þ¤¯³«¤±¤é¤ì¤Ê¤¤¡¥"); return; } else if (otmp->blessed) { ! /*JP pline_The("tin opens like magic!");*/ ! pline("´Ì¤ÏËâË¡¤Î¤è¤¦¤Ë³«¤¤¤¿¡ª"); tmp = 1; } else if(uwep) { switch(uwep->otyp) { *************** *** 1011,1023 **** default: goto no_opener; } ! pline("Using your %s you try to open the tin.", ! aobjnam(uwep, (char *)0)); } else { no_opener: ! pline("It is not so easy to open this tin."); if(Glib) { ! pline_The("tin slips from your %s.", makeplural(body_part(FINGER))); if(otmp->quan > 1L) { register struct obj *obj; --- 1134,1150 ---- default: goto no_opener; } ! /*JP pline("Using your %s you try to open the tin.", ! aobjnam(uwep, (char *)0));*/ ! You("%s¤ò»È¤Ã¤Æ´Ì¤ò³«¤±¤è¤¦¤È¤·¤¿¡¥", ! xname(uwep)); } else { no_opener: ! /*JP pline("It is not so easy to open this tin.");*/ ! pline("¤³¤Î´Ì¤ò³«¤±¤ë¤Î¤ÏÍưפʤ³¤È¤Ç¤Ï¤Ê¤¤¡¥"); if(Glib) { ! /*JP pline_The("tin slips from your %s.",*/ ! pline("´Ì¤Ï¤¢¤Ê¤¿¤Î%s¤«¤é³ê¤êÍî¤Á¤¿¡¥", makeplural(body_part(FINGER))); if(otmp->quan > 1L) { register struct obj *obj; *************** *** 1033,1039 **** tin.reqtime = tmp; tin.usedtime = 0; tin.tin = otmp; ! set_occupation(opentin, "opening the tin", 0); return; } --- 1160,1167 ---- tin.reqtime = tmp; tin.usedtime = 0; tin.tin = otmp; ! /*JP set_occupation(opentin, "opening the tin", 0);*/ ! set_occupation(opentin, "´Ì¤ò³«¤±¤ë", 0); return; } *************** *** 1049,1075 **** rottenfood(obj) struct obj *obj; { ! pline("Blecch! Rotten %s!", foodword(obj)); if(!rn2(4)) { ! if (Hallucination) You_feel("rather trippy."); ! else You_feel("rather %s.", body_part(LIGHT_HEADED)); make_confused(HConfusion + d(2,4),FALSE); } else if(!rn2(4) && !Blind) { ! pline("Everything suddenly goes dark."); make_blinded((long)d(2,10),FALSE); } else if(!rn2(3)) { const char *what, *where; if (!Blind) ! what = "goes", where = "dark"; else if (Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) ! what = "you lose control of", where = "yourself"; else ! what = "you slap against the", where = surface(u.ux,u.uy); ! pline_The("world spins and %s %s.", what, where); flags.soundok = 0; nomul(-rnd(10)); ! nomovemsg = "You are conscious again."; afternmv = Hear_again; return(1); } --- 1177,1212 ---- rottenfood(obj) struct obj *obj; { ! /*JP pline("Blecch! Rotten %s!", foodword(obj));*/ ! pline("¥²¥§¡ªÉå¤Ã¤¿%s¤À¡ª", foodword(obj)); if(!rn2(4)) { ! /*JP if (Hallucination) You_feel("rather trippy.");*/ ! if (Hallucination) You("¤Ø¤í¤Ø¤í¤·¤¿¡¥"); ! /*JP else You_feel("rather %s.", body_part(LIGHT_HEADED));*/ ! else You("%s¡¥", body_part(LIGHT_HEADED)); make_confused(HConfusion + d(2,4),FALSE); } else if(!rn2(4) && !Blind) { ! /*JP pline("Everything suddenly goes dark.");*/ ! pline("ÆÍÁ³Á´¤Æ¤¬°Å¤¯¤Ê¤Ã¤¿¡¥"); make_blinded((long)d(2,10),FALSE); } else if(!rn2(3)) { const char *what, *where; if (!Blind) ! /*JP what = "goes", where = "dark";*/ ! what = "¤Ê¤Ã¤¿", where = "°Å°Ç¤Ë"; else if (Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) ! /*JP what = "you lose control of", where = "yourself";*/ ! what = "À©¸æ¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿", where = "¼«Ê¬¤ò"; else ! /*JP what = "you slap against the", where = surface(u.ux,u.uy);*/ ! what = "¤Ë¤Ö¤Ä¤«¤Ã¤¿", where = surface(u.ux,u.uy); ! /*JP pline_The("world spins and %s %s.", what, where);*/ ! pline("À¤³¦¤¬²óž¤·¡¤%s%s.", where, what); flags.soundok = 0; nomul(-rnd(10)); ! /*JP nomovemsg = "You are conscious again.";*/ ! nomovemsg = "¤¢¤Ê¤¿¤Ï¤Þ¤¿Àµµ¤¤Å¤¤¤¿¡¥"; afternmv = Hear_again; return(1); } *************** *** 1093,1103 **** --- 1230,1248 ---- } if (mnum != PM_ACID_BLOB && rotted > 5L) { + /*JP pline("Ulch - that %s was tainted!", mons[mnum].mlet == S_FUNGUS ? "fungoid vegetation" : is_meaty(&mons[mnum]) ? "meat" : "protoplasm"); + */ + pline("¥ª¥§¡ª¤³¤Î%s¤ÏÉå¤Ã¤Æ¤¤¤ë¡ª", + mons[mnum].mlet == S_FUNGUS ? "ºÙ¶Ý¤Ë±øÀ÷¤µ¤ì¤¿¿¢Êª" : + is_meaty(&mons[mnum]) ? "Æù" : "À¸Êª"); if (u.usym == S_FUNGUS) { + /*JP pline("It doesn't seem at all sickening, though..."); + */ + pline("¤·¤«¤·¡¤¤¤¤¿¤Ã¤Æ¸µµ¤¤À¡¥¡¥¡¥"); } else { char buf[BUFSZ]; long sick_time; *************** *** 1106,1117 **** --- 1251,1265 ---- /* make sure new ill doesn't result in improvement */ if (Sick && (sick_time > Sick)) sick_time = (Sick > 1L) ? Sick - 1L : 1L; + /*JP if (!uniq) Sprintf(buf, "rotted %s", corpse_xname(otmp,TRUE)); else Sprintf(buf, "%s%s rotted corpse", !type_is_pname(&mons[mnum]) ? "the " : "", s_suffix(mons[mnum].mname)); + */ + Sprintf(buf, "Éå¤Ã¤¿%s¤ò¿©¤Ù¿©ÃæÆǤÇ", corpse_xname(otmp,TRUE)); make_sick(sick_time, buf, TRUE, SICK_VOMITABLE); } if (carried(otmp)) useup(otmp); *************** *** 1119,1139 **** --- 1267,1302 ---- return(1); } else if (acidic(&mons[mnum]) && !resists_acid(&youmonst)) { tp++; + /*JP You("have a very bad case of stomach acid."); losehp(rnd(15), "acidic corpse", KILLED_BY_AN); + */ + pline("°ß»À¤ÎÄ´»Ò¤¬¤È¤Æ¤â°­¤¤¡¥"); + losehp(rnd(15), "»À¤Î»àÂΤÇ", KILLED_BY_AN); } else if (poisonous(&mons[mnum]) && rn2(5)) { tp++; + /*JP pline("Ecch - that must have been poisonous!"); + */ + pline("¥¦¥²¥§¡¼¡¤Í­ÆǤÀ¤Ã¤¿¤Ë¤Á¤¬¤¤¤Ê¤¤¡ª"); if(!Poison_resistance) { losestr(rnd(4)); + /*JP losehp(rnd(15), "poisonous corpse", KILLED_BY_AN); } else You("seem unaffected by the poison."); + */ + losehp(rnd(15), "Í­ÆǤʻàÂΤÇ", KILLED_BY_AN); + } else You("ÆǤαƶÁ¤ò¼õ¤±¤Ê¤¤¤è¤¦¤À¡¥"); /* now any corpse left too long will make you mildly ill */ } else if ((rotted > 5L || (rotted > 3L && rn2(5))) && u.usym != S_FUNGUS) { tp++; + /*JP You("feel%s sick.", (Sick) ? " very" : ""); losehp(rnd(8), "cadaver", KILLED_BY_AN); + */ + You("%sµ¤Ê¬¤¬°­¤¤¡¥", (Sick) ? "¤È¤Æ¤â" : ""); + losehp(rnd(8), "»àÂΤÇ", KILLED_BY_AN); } if (!tp && mnum != PM_LIZARD && (otmp->orotten || !rn2(7))) { if (rottenfood(otmp)) { *************** *** 1143,1153 **** --- 1306,1321 ---- } otmp->oeaten >>= 2; } else { + /*JP pline("%s%s %s!", !uniq ? "This " : !type_is_pname(&mons[mnum]) ? "The " : "", food_xname(otmp, FALSE), (carnivorous(uasmon) && !herbivorous(uasmon)) ? "is delicious" : "tastes terrible"); + */ + pline("¤³¤Î%s¤Ï%s¡ª", food_xname(otmp, FALSE), + (carnivorous(uasmon) && !herbivorous(uasmon)) ? + "¤È¤Æ¤â»Ý¤¤" : "¤Ò¤É¤¤Ì£¤À"); } /* delay is weight dependent */ *************** *** 1183,1189 **** --- 1351,1360 ---- return; } + /*JP Sprintf(msgbuf, "eating %s", food_xname(otmp, TRUE)); + */ + Sprintf(msgbuf, "%s¤ò¿©¤Ù¤ë", food_xname(otmp, TRUE)); set_occupation(eatfood, msgbuf, 0); } *************** *** 1196,1210 **** case FOOD_RATION: if(u.uhunger <= 200) if (Hallucination) pline("Oh wow, like, superior, man!"); else pline("That food really hit the spot!"); else if(u.uhunger <= 700) pline("That satiated your stomach!"); break; case TRIPE_RATION: if (carnivorous(uasmon) && !humanoid(uasmon)) ! pline("That tripe ration was surprisingly good!"); else { ! pline("Yak - dog food!"); more_experienced(1,0); flags.botl = 1; } --- 1367,1389 ---- case FOOD_RATION: if(u.uhunger <= 200) + /*JP if (Hallucination) pline("Oh wow, like, superior, man!"); else pline("That food really hit the spot!"); else if(u.uhunger <= 700) pline("That satiated your stomach!"); + */ + + if (Hallucination) pline("¤Þ¤Ã¤¿¤ê¤È¤·¤Æ¡¤¤½¤ì¤Ç¤¤¤Æ¤·¤Ä¤³¤¯¤Ê¤¤¡ª¤³¤ì¤¾µæ¶Ë¤Î¥á¥Ë¥å¡¼¤À¡ª"); + else pline("¤³¤Î¿©¤Ùʪ¤ÏËÜÅö¤Ë¿½¤·Ê¬¤Ê¤¤¡ª"); + else if(u.uhunger <= 700) pline("ËþÊ¢¤Ë¤Ê¤Ã¤¿¡ª"); break; case TRIPE_RATION: if (carnivorous(uasmon) && !humanoid(uasmon)) ! /*JP pline("That tripe ration was surprisingly good!");*/ ! pline("¤³¤Î¤Û¤·Æù¤Ï¤ª¤É¤í¤¯¤Û¤É»Ý¤¤¡ª"); else { ! /*JP pline("Yak - dog food!");*/ ! pline("¥¦¥§¡¼¡¤¥É¥Ã¥°¥Õ¡¼¥É¤À¡ª"); more_experienced(1,0); flags.botl = 1; } *************** *** 1221,1233 **** default: if (otmp->otyp==SLIME_MOLD && !otmp->cursed && otmp->spe == current_fruit) ! pline("My, that was a %s %s!", ! Hallucination ? "primo" : "yummy", singular(otmp, xname)); else #ifdef UNIX if (otmp->otyp == APPLE || otmp->otyp == PEAR) { ! if (!Hallucination) pline("Core dumped."); else { /* This is based on an old Usenet joke, a fake a.out manual page */ int x = rnd(100); --- 1400,1414 ---- default: if (otmp->otyp==SLIME_MOLD && !otmp->cursed && otmp->spe == current_fruit) ! /*JP pline("My, that was a %s %s!",*/ ! pline("¤ª¤ä¡¤¤Ê¤ó¤Æ%s%s¤À¡ª", ! /*JP Hallucination ? "primo" : "yummy",*/ ! Hallucination ? "¾åÉʤÊ" : "¤ª¤¤¤·¤¤", singular(otmp, xname)); else #ifdef UNIX if (otmp->otyp == APPLE || otmp->otyp == PEAR) { ! if (!Hallucination) pline("Core dumped"); else { /* This is based on an old Usenet joke, a fake a.out manual page */ int x = rnd(100); *************** *** 1240,1248 **** } else #endif if (otmp->otyp == EGG && stale_egg(otmp)) { ! pline("Ugh. Rotten egg."); /* perhaps others like it */ make_vomiting(Vomiting+d(10,4), TRUE); } else pline("This %s is %s", singular(otmp, xname), otmp->cursed ? (Hallucination ? "grody!" : "terrible!") : (otmp->otyp == CRAM_RATION --- 1421,1431 ---- } else #endif if (otmp->otyp == EGG && stale_egg(otmp)) { ! /*JP pline("Ugh. Rotten egg."); /* perhaps others like it */ ! pline("¥¦¥²¥§¡¼Éå¤Ã¤¿Íñ¤À¡¥"); make_vomiting(Vomiting+d(10,4), TRUE); } else + #if 0 /*JP*/ pline("This %s is %s", singular(otmp, xname), otmp->cursed ? (Hallucination ? "grody!" : "terrible!") : (otmp->otyp == CRAM_RATION *************** *** 1250,1255 **** --- 1433,1443 ---- || otmp->otyp == C_RATION) ? "bland." : Hallucination ? "gnarly!" : "delicious!"); + #endif /*JP*/ + pline("¤³¤Î%s¤Ï%s", singular(otmp, xname), + otmp->cursed ? (Hallucination ? "¼ò¤Ã¤Ý¤¤¡ª" : "¤Ò¤É¤¤Ì£¤À¡ª") : + otmp->otyp == CRAM_RATION ? "¤µ¤Ã¤Ñ¤ê¤·¤Æ¤¤¤ë" : + Hallucination ? "¤³¤Ö¤³¤Ö¤·¤Æ¤¤¤ë¡ª" : "¤¦¤Þ¤¤¡ª"); break; } } *************** *** 1271,1278 **** if (!objects[typ].oc_oprop) break; /* should never happen */ if (!(u.uprops[objects[typ].oc_oprop].p_flgs & FROMOUTSIDE)) ! pline("Magic spreads through your body as you digest the %s.", ! otmp->oclass == RING_CLASS ? "ring" : "amulet"); u.uprops[objects[typ].oc_oprop].p_flgs |= FROMOUTSIDE; --- 1459,1468 ---- if (!objects[typ].oc_oprop) break; /* should never happen */ if (!(u.uprops[objects[typ].oc_oprop].p_flgs & FROMOUTSIDE)) ! /*JP pline("Magic spreads through your body as you digest the %s.",*/ ! pline("¤¢¤Ê¤¿¤¬%s¤ò¾Ã²½¤¹¤ë¤È¡¤¤½¤ÎËâÎϤ¬ÂΤˤ·¤ß¤³¤ó¤À¡¥", ! /*JP otmp->oclass == RING_CLASS ? "ring" : "amulet");*/ ! otmp->oclass == RING_CLASS ? "»ØÎØ" : "Ëâ½ü¤±"); u.uprops[objects[typ].oc_oprop].p_flgs |= FROMOUTSIDE; *************** *** 1282,1296 **** see_monsters(); if (Invis && !oldprop && !perceives(uasmon) && !Blind) { newsym(u.ux,u.uy); ! pline("Suddenly you can see yourself."); makeknown(typ); } break; case RIN_INVISIBILITY: if (!oldprop && !See_invisible && !Blind) { newsym(u.ux,u.uy); ! Your("body takes on a %s transparency...", ! Hallucination ? "normal" : "strange"); makeknown(typ); } break; --- 1472,1489 ---- see_monsters(); if (Invis && !oldprop && !perceives(uasmon) && !Blind) { newsym(u.ux,u.uy); ! /*JP pline("Suddenly you can see yourself.");*/ ! pline("ÆÍÁ³¼«Ê¬¼«¿È¤¬¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥"); makeknown(typ); } break; case RIN_INVISIBILITY: if (!oldprop && !See_invisible && !Blind) { newsym(u.ux,u.uy); ! /*JP Your("body takes on a %s transparency...", ! Hallucination ? "normal" : "strange");*/ ! pline("%s¤¢¤Ê¤¿¤ÎÂΤÏÆ©²áÀ­¤ò¤â¤Ã¤¿¡¥¡¥¡¥", ! Hallucination ? "¤¢¤¿¤ê¤Þ¤¨¤Ê¤³¤È¤À¤¬" : "´ñ̯¤Ê¤³¤È¤Ë"); makeknown(typ); } break; *************** *** 1325,1332 **** case AMULET_OF_CHANGE: makeknown(typ); change_sex(); ! You("are suddenly very %s!", ! flags.female ? "feminine" : "masculine"); flags.botl = 1; break; case AMULET_OF_STRANGULATION: /* bad idea! */ --- 1518,1527 ---- case AMULET_OF_CHANGE: makeknown(typ); change_sex(); ! /*JP You("are suddenly very %s!", ! flags.female ? "feminine" : "masculine");*/ ! You("ÆÍÁ³%s¡ª", ! flags.female ? "½÷¤Ã¤Ý¤¯¤Ê¤Ã¤¿" : "¶ÚÆù¼Á¤Ë¤Ê¤Ã¤¿"); flags.botl = 1; break; case AMULET_OF_STRANGULATION: /* bad idea! */ *************** *** 1375,1391 **** /* NOTE: the order of these words exactly corresponds to the order of oc_material values #define'd in objclass.h. */ static const char *foodwords[] = { ! "meal", "liquid", "wax", "food", "meat", "paper", "cloth", "leather", "wood", "bone", "scale", "metal", "metal", "metal", "silver", "gold", "platinum", "mithril", ! "plastic", "glass", "rich food", "stone" }; static const char * foodword(otmp) register struct obj *otmp; { ! if (otmp->oclass == FOOD_CLASS) return "food"; if (otmp->oclass == GEM_CLASS && objects[otmp->otyp].oc_material == GLASS && otmp->dknown) --- 1570,1591 ---- /* NOTE: the order of these words exactly corresponds to the order of oc_material values #define'd in objclass.h. */ static const char *foodwords[] = { ! /*JP "meal", "liquid", "wax", "food", "meat", "paper", "cloth", "leather", "wood", "bone", "scale", "metal", "metal", "metal", "silver", "gold", "platinum", "mithril", ! "plastic", "glass", "rich food", "stone"*/ ! "Æù", "±ÕÂÎ", "Ìý", "¿©ÎÁ", "Æù", ! "»æ", "Éþ", "Èé", "ÌÚ", "¹ü", "ÎÚ", ! "¶â°", "¶â°", "¶â°", "¶ä", "¶â", "¥×¥é¥Á¥Ê", "¥ß¥¹¥ê¥ë", ! "¥×¥é¥¹¥Á¥Ã¥¯", "¥¬¥é¥¹", "¹âµéÎÁÍý", "ÀÐ" }; static const char * foodword(otmp) register struct obj *otmp; { ! /*JP if (otmp->oclass == FOOD_CLASS) return "food";*/ ! if (otmp->oclass == FOOD_CLASS) return "¿©ÎÁ"; if (otmp->oclass == GEM_CLASS && objects[otmp->otyp].oc_material == GLASS && otmp->dknown) *************** *** 1426,1433 **** u.uhp = u.uhpmax; } else if (u.uhp <= 0) { killer_format = KILLED_BY_AN; ! killer = "rotten lump of royal jelly"; ! done(POISONING); } } if(!otmp->cursed) heal_legs(); --- 1626,1634 ---- u.uhp = u.uhpmax; } else if (u.uhp <= 0) { killer_format = KILLED_BY_AN; ! /*JP killer = "rotten lump of royal jelly";*/ ! killer = "Éå¤Ã¤¿¥í¥¤¥ä¥ë¥¼¥ê¡¼¤ò¿©¤Ù¿©ÃæÆǤÇ"; ! done(DIED); } } if(!otmp->cursed) heal_legs(); *************** *** 1438,1444 **** !(poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM))) { if (!Stoned) Stoned = 5; killer_format = KILLED_BY_AN; ! killer = "cockatrice egg"; } } break; --- 1639,1646 ---- !(poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM))) { if (!Stoned) Stoned = 5; killer_format = KILLED_BY_AN; ! /*JP killer = "cockatrice egg";*/ ! killer = "¥³¥«¥È¥ê¥¹¤ÎÍñ¤Ç"; } } break; *************** *** 1453,1462 **** int basenutrit; /* nutrition of full item */ if (Strangled) { ! pline("If you can't breathe air, how can you consume solids?"); return 0; } ! if (!(otmp = floorfood("eat", 0))) return 0; if (check_capacity((char *)0)) return 0; /* We have to make non-foods take 1 move to eat, unless we want to --- 1655,1666 ---- int basenutrit; /* nutrition of full item */ if (Strangled) { ! /*JP pline("If you can't breathe air, how can you consume solids?");*/ ! pline("©¤â¤Ç¤­¤Ê¤¤¤Î¤Ë¡¤¤É¤¦¤ä¤Ã¤Æ¿©¤Ù¤¿¤é¤¤¤¤¤ó¤À¤¤¡©"); return 0; } ! /*JP if (!(otmp = floorfood("eat", 0))) return 0;*/ ! if (!(otmp = floorfood("¿©¤Ù¤ë", 0))) return 0; if (check_capacity((char *)0)) return 0; /* We have to make non-foods take 1 move to eat, unless we want to *************** *** 1465,1474 **** * metallic meal, etc.... */ if (!is_edible(otmp)) { ! You("cannot eat that!"); return 0; } else if ((otmp->owornmask & (W_ARMOR|W_TOOL|W_RING|W_AMUL)) != 0) { ! You_cant("eat %s you're wearing.", something); return 0; } if (is_metallic(otmp) && --- 1669,1680 ---- * metallic meal, etc.... */ if (!is_edible(otmp)) { ! /*JP You("cannot eat that!");*/ ! You("¤½¤ì¤ò¿©¤Ù¤é¤ì¤Ê¤¤¡ª"); return 0; } else if ((otmp->owornmask & (W_ARMOR|W_TOOL|W_RING|W_AMUL)) != 0) { ! /*JP You_cant("eat %s you're wearing.", something);*/ ! You("¿È¤Ë¤Ä¤±¤Æ¤¤¤ë´Ö¤Ï¿©¤Ù¤ì¤Ê¤¤¡¥"); return 0; } if (is_metallic(otmp) && *************** *** 1480,1490 **** else otmp = splitobj(otmp, otmp->quan - 1L); } ! pline("Ulch - That %s was rustproofed!", xname(otmp)); /* The regurgitated object's rustproofing is gone now */ otmp->oerodeproof = 0; make_stunned(HStun + rn2(10), TRUE); ! pline("You spit %s out onto the %s.", the(xname(otmp)), surface(u.ux, u.uy)); if (carried(otmp)) { freeinv(otmp); --- 1686,1698 ---- else otmp = splitobj(otmp, otmp->quan - 1L); } ! /*JP pline("Ulch - That %s was rustproofed!", xname(otmp));*/ ! pline("¥¦¥²¥§¡¼¡ª%s¤ÏËÉ»¬¤µ¤ì¤Æ¤¤¤ë¡ª", xname(otmp)); /* The regurgitated object's rustproofing is gone now */ otmp->oerodeproof = 0; make_stunned(HStun + rn2(10), TRUE); ! /*JP pline("You spit %s out onto the %s.", the(xname(otmp)),*/ ! pline("¤¢¤Ê¤¿¤Ï%s¤ò%s¤ËÅǤ­½Ð¤·¤¿¡¥", the(xname(otmp)), surface(u.ux, u.uy)); if (carried(otmp)) { freeinv(otmp); *************** *** 1515,1528 **** (void) rottenfood(otmp); if (otmp->oclass == WEAPON_CLASS && otmp->opoisoned) { ! pline("Ecch - that must have been poisonous!"); if(!Poison_resistance) { losestr(rnd(4)); ! losehp(rnd(15), xname(otmp), KILLED_BY_AN); } else ! You("seem unaffected by the poison."); } else if (!otmp->cursed) ! pline("This %s is delicious!", otmp->oclass == GOLD_CLASS ? foodword(otmp) : singular(otmp, xname)); eatspecial(); --- 1723,1746 ---- (void) rottenfood(otmp); if (otmp->oclass == WEAPON_CLASS && otmp->opoisoned) { ! /*JP pline("Ecch - that must have been poisonous!");*/ ! pline("¥¦¥²¥§¡¼¡¤Í­ÆǤÀ¤Ã¤¿¤Ë°ã¤¤¤Ê¤¤¡ª"); if(!Poison_resistance) { losestr(rnd(4)); ! /*JP*/ ! /*JP losehp(rnd(15), xname(otmp), KILLED_BY_AN);*/ ! { ! char jbuf[BUFSIZ]; ! Strcpy(jbuf,xname(otmp)); ! Strcat(jbuf,"¤Ç"); ! losehp(rnd(15), jbuf, KILLED_BY_AN); ! } } else ! /*JP You("seem unaffected by the poison.");*/ ! You("ÆǤαƶÁ¤ò¼õ¤±¤Ê¤¤¤è¤¦¤À¡¥"); } else if (!otmp->cursed) ! /*JP pline("This %s is delicious!",*/ ! pline("¤³¤Î%s¤Ï»Ý¤¤¡ª", otmp->oclass == GOLD_CLASS ? foodword(otmp) : singular(otmp, xname)); eatspecial(); *************** *** 1540,1546 **** if(victual.piece->quan > 1L) (void) splitobj(victual.piece, 1L); } ! You("resume your meal."); start_eating(victual.piece); return(1); } --- 1758,1765 ---- if(victual.piece->quan > 1L) (void) splitobj(victual.piece, 1L); } ! /*JP You("resume your meal.");*/ ! You("¿©»ö¤òºÆ³«¤·¤¿¡¥"); start_eating(victual.piece); return(1); } *************** *** 1715,1729 **** */ if (u.uhunger >= 1500) { if (!victual.eating || (victual.eating && !victual.fullwarn)) { ! pline("You're having a hard time getting all of it down."); ! nomovemsg = "You're finally finished."; if (!victual.eating) multi = -2; else { victual.fullwarn = TRUE; if (victual.canchoke && victual.reqtime > 1) { /* a one-gulp food will not survive a stop */ ! if (yn_function("Stop eating?",ynchars,'y')=='y') { reset_eat(); nomovemsg = (char *)0; } --- 1934,1951 ---- */ if (u.uhunger >= 1500) { if (!victual.eating || (victual.eating && !victual.fullwarn)) { ! /*JP pline("You're having a hard time getting all of it down."); ! nomovemsg = "You're finally finished.";*/ ! pline("Á´¤Æ¤ò°û¤ß¤³¤à¤Ë¤Ï»þ´Ö¤¬¤«¤«¤ë¡¥"); ! nomovemsg = "¤ä¤Ã¤È¿©¤Ù½ª¤¨¤¿¡¥"; if (!victual.eating) multi = -2; else { victual.fullwarn = TRUE; if (victual.canchoke && victual.reqtime > 1) { /* a one-gulp food will not survive a stop */ ! /*JP if (yn_function("Stop eating?",ynchars,'y')=='y') {*/ ! if (yn_function("¿©¤Ù¤ë¤Î¤òÃæÃǤ·¤Þ¤¹¤«¡©",ynchars,'y')=='y') { reset_eat(); nomovemsg = (char *)0; } *************** *** 1771,1777 **** flags.soundok = 0; nomul(-10+(u.uhunger/10)); ! nomovemsg = "You regain consciousness."; afternmv = unfaint; } } --- 1993,2000 ---- flags.soundok = 0; nomul(-10+(u.uhunger/10)); ! /*JP nomovemsg = "You regain consciousness.";*/ ! nomovemsg = "¤¢¤Ê¤¿¤ÏÀµµ¤¤Å¤¤¤¿¡¥"; afternmv = unfaint; } } *************** *** 1833,1842 **** if(!is_fainted() && multi >= 0 /* %% */) { /* stop what you're doing, then faint */ stop_occupation(); ! You("faint from lack of food."); flags.soundok = 0; nomul(-10+(u.uhunger/10)); ! nomovemsg = "You regain consciousness."; afternmv = unfaint; newhs = FAINTED; } --- 2056,2067 ---- if(!is_fainted() && multi >= 0 /* %% */) { /* stop what you're doing, then faint */ stop_occupation(); ! /*JP You("faint from lack of food.");*/ ! You("Ê¢¤¬¸º¤Ã¤ÆÅݤ줿¡¥"); flags.soundok = 0; nomul(-10+(u.uhunger/10)); ! /*JP nomovemsg = "You regain consciousness.";*/ ! nomovemsg = "¤¢¤Ê¤¿¤ÏÀµµ¤¤Å¤¤¤¿¡¥"; afternmv = unfaint; newhs = FAINTED; } *************** *** 1845,1853 **** u.uhs = STARVED; flags.botl = 1; bot(); ! You("die from starvation."); killer_format = KILLED_BY; ! killer = "starvation"; done(STARVING); /* if we return, we lifesaved, and that calls newuhs */ return; --- 2070,2079 ---- u.uhs = STARVED; flags.botl = 1; bot(); ! /*JP You("die from starvation.");*/ ! You("²î»à¤·¤¿¡¥"); killer_format = KILLED_BY; ! killer = "¿©ÎÁÉÔ­¤Ç²î»à¤·¤¿"; done(STARVING); /* if we return, we lifesaved, and that calls newuhs */ return; *************** *** 1863,1874 **** case HUNGRY: if (Hallucination) { pline((!incr) ? ! "You now have a lesser case of the munchies." : ! "You are getting the munchies."); } else ! You((!incr) ? "only feel hungry now." : (u.uhunger < 145) ? "feel hungry." : ! "are beginning to feel hungry."); if (incr && occupation && (occupation != eatfood && occupation != opentin)) stop_occupation(); --- 2089,2105 ---- case HUNGRY: if (Hallucination) { pline((!incr) ? ! /*JP "You now have a lesser case of the munchies." : ! "You are getting the munchies.");*/ ! "¥Ï¥é¥Ø¥ê¤¬¸º¤Ã¤¿¡¥": ! "¥Ï¥é¥Ø¥ê¥Ø¥ê¥Ï¥é¡¥"); } else ! /*JP You((!incr) ? "only feel hungry now." : (u.uhunger < 145) ? "feel hungry." : ! "are beginning to feel hungry.");*/ ! You((!incr) ? "ñ¤ËÊ¢¥Ú¥³¾õÂ֤ˤʤä¿¡¥" : ! (u.uhunger < 145) ? "¶õÊ¢´¶¤ò´¶¤¸¤¿¡¥" : ! "¶õÊ¢´¶¤ò¤ª¤Ü¤¨¤Ï¤¸¤á¤¿¡¥"); if (incr && occupation && (occupation != eatfood && occupation != opentin)) stop_occupation(); *************** *** 1876,1890 **** case WEAK: if (Hallucination) pline((!incr) ? ! "You still have the munchies." : ! "The munchies are interfering with your motor capabilities."); else if (incr && (Role_is('W') || Role_is('E') || Role_is('V'))) ! pline("%s needs food, badly!", pl_character); else ! You((!incr) ? "feel weak now." : (u.uhunger < 45) ? "feel weak." : ! "are beginning to feel weak."); if (incr && occupation && (occupation != eatfood && occupation != opentin)) stop_occupation(); --- 2107,2127 ---- case WEAK: if (Hallucination) pline((!incr) ? ! /*JP "You still have the munchies." : ! "The munchies are interfering with your motor capabilities.");*/ ! "¥Ï¥é¥Ø¥ê¤¬¸º¤é¤Ê¤¤¡¥": ! "¥Ï¥é¥Ø¥ê¤¬¥â¡¼¥¿¡¼À­Ç½¤ò˸³²¤·¤Æ¤¤¤ë¡¥"); else if (incr && (Role_is('W') || Role_is('E') || Role_is('V'))) ! /*JP pline("%s needs food, badly!", pl_character);*/ ! pline("%s¤Ë¤Ï»êµÞ¿©ÎÁ¤¬É¬ÍפÀ¡ª", jtrns_mon(pl_character, flags.female)); else ! /*JP You((!incr) ? "feel weak now." : (u.uhunger < 45) ? "feel weak." : ! "are beginning to feel weak.");*/ ! You((!incr) ? "¿ê¼å¾õÂ֤ˤʤä¿¡¥": ! (u.uhunger < 45) ? "¿ê¼å¤·¤Æ¤­¤¿¡¥" : ! "¼å¤¯¤Ê¤Ã¤Æ¤­¤¿¤è¤¦¤Ë´¶¤¸¤¿¡¥"); if (incr && occupation && (occupation != eatfood && occupation != opentin)) stop_occupation(); *************** *** 1894,1902 **** flags.botl = 1; bot(); if(u.uhp < 1) { ! You("die from hunger and exhaustion."); killer_format = KILLED_BY; ! killer = "exhaustion"; done(STARVING); return; } --- 2131,2140 ---- flags.botl = 1; bot(); if(u.uhp < 1) { ! /*JP You("die from hunger and exhaustion.");*/ ! You("¶õÊ¢¤È¿ê¼å¤Ç»à¤ó¤À¡¥"); killer_format = KILLED_BY; ! killer = "¿ê¼å¤Ç"; done(STARVING); return; } *************** *** 1917,1923 **** register struct obj *otmp; char qbuf[QBUFSZ]; char c; ! boolean feeding = (!strcmp(verb, "eat")); if (feeding && metallivorous(uasmon)) { struct obj *gold; --- 2155,2162 ---- register struct obj *otmp; char qbuf[QBUFSZ]; char c; ! /*JP boolean feeding = (!strcmp(verb, "eat"));*/ ! boolean feeding = (!strcmp(verb, "¿©¤Ù¤ë")); if (feeding && metallivorous(uasmon)) { struct obj *gold; *************** *** 1927,1935 **** /* If not already stuck in the trap, perhaps there should be a chance to becoming trapped? Probably not, because then the trap would just get eaten on the _next_ turn... */ ! Sprintf(qbuf, "There is a bear trap here (%s); eat it?", (u.utrap && u.utraptype == TT_BEARTRAP) ? ! "holding you" : "armed"); if ((c = yn_function(qbuf, ynqchars, 'n')) == 'y') { u.utrap = u.utraptype = 0; deltrap(ttmp); --- 2166,2176 ---- /* If not already stuck in the trap, perhaps there should be a chance to becoming trapped? Probably not, because then the trap would just get eaten on the _next_ turn... */ ! /*JP Sprintf(qbuf, "There is a bear trap here (%s); eat it?",*/ ! Sprintf(qbuf, "¤³¤³¤Ë¤Ï·§¤Îæ«(%s)¤¬¤¢¤ë", (u.utrap && u.utraptype == TT_BEARTRAP) ? ! /*JP "holding you" : "armed");*/ ! "¤¢¤Ê¤¿¤òÄϤޤ¨¤Æ¤¤¤ë" : "ÄϤޤ¨¤Æ¤¤¤ë"); if ((c = yn_function(qbuf, ynqchars, 'n')) == 'y') { u.utrap = u.utraptype = 0; deltrap(ttmp); *************** *** 1941,1949 **** if ((gold = g_at(u.ux, u.uy)) != 0) { if (gold->quan == 1L) ! Sprintf(qbuf, "There is 1 gold piece here; eat it?"); else ! Sprintf(qbuf, "There are %ld gold pieces here; eat them?", gold->quan); if ((c = yn_function(qbuf, ynqchars, 'n')) == 'y') { obj_extract_self(gold); --- 2182,2192 ---- if ((gold = g_at(u.ux, u.uy)) != 0) { if (gold->quan == 1L) ! /*JP Sprintf(qbuf, "There is 1 gold piece here; eat it?");*/ ! Sprintf(qbuf, "¤³¤³¤Ë¤Ï1¥´¡¼¥ë¥É¤¢¤ë¡¥¿©¤Ù¤Þ¤¹¤«¡©"); else ! /*JP Sprintf(qbuf, "There are %ld gold pieces here; eat them?",*/ ! Sprintf(qbuf, "¤³¤³¤Ë¤Ï%ld¥´¡¼¥ë¥É¤¢¤ë¡¥¿©¤Ù¤Þ¤¹¤«¡©", gold->quan); if ((c = yn_function(qbuf, ynqchars, 'n')) == 'y') { obj_extract_self(gold); *************** *** 1962,1971 **** (otmp->otyp==CORPSE && (corpsecheck == 1 || tinnable(otmp))) : feeding ? (otmp->oclass != GOLD_CLASS && is_edible(otmp)) : otmp->oclass==FOOD_CLASS) { ! Sprintf(qbuf, "There %s %s here; %s %s?", (otmp->quan == 1L) ? "is" : "are", doname(otmp), verb, ! (otmp->quan == 1L) ? "it" : "one"); if((c = yn_function(qbuf,ynqchars,'n')) == 'y') return(otmp); else if(c == 'q') --- 2205,2216 ---- (otmp->otyp==CORPSE && (corpsecheck == 1 || tinnable(otmp))) : feeding ? (otmp->oclass != GOLD_CLASS && is_edible(otmp)) : otmp->oclass==FOOD_CLASS) { ! /*JP Sprintf(qbuf, "There %s %s here; %s %s?", (otmp->quan == 1L) ? "is" : "are", doname(otmp), verb, ! (otmp->quan == 1L) ? "it" : "one");*/ ! Sprintf(qbuf, "¤³¤³¤Ë¤Ï%s¤¬¤¢¤ë¡¥%s¡©", ! doname(otmp), jconj(verb,"¤Þ¤¹¤«")); if((c = yn_function(qbuf,ynqchars,'n')) == 'y') return(otmp); else if(c == 'q') *************** *** 1980,1986 **** (const char *)comestibles, verb); if (corpsecheck && otmp) if (otmp->otyp != CORPSE || (corpsecheck == 2 && !tinnable(otmp))) { ! You_cant("%s that!", verb); return (struct obj *)0; } return otmp; --- 2225,2232 ---- (const char *)comestibles, verb); if (corpsecheck && otmp) if (otmp->otyp != CORPSE || (corpsecheck == 2 && !tinnable(otmp))) { ! /*JP You_cant("%s that!", verb);*/ ! You_cant("¤½¤ì¤ò%s¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡ª", verb); return (struct obj *)0; } return otmp; diff -c -r ../nethack-3.2.2/src/end.c ./src/end.c *** ../nethack-3.2.2/src/end.c Sat Dec 28 21:53:40 1996 --- ./src/end.c Tue Sep 23 07:10:08 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #define NEED_VARARGS /* comment line for pre-compiled headers */ #include "hack.h" *************** *** 44,57 **** /* * The order of these needs to match the macros in hack.h. */ static NEARDATA const char *deaths[] = { /* the array of death */ "died", "choked", "poisoned", "starvation", "drowning", "burning", "dissolving under the heat and pressure", ! "crushed", "turned to stone", "genocided", "panic", "trickery", "quit", "escaped", "ascended" }; static NEARDATA const char *ends[] = { /* "when you..." */ "died", "choked", "were poisoned", "starved", "drowned", "burned", "dissolved in the lava", --- 51,90 ---- /* * The order of these needs to match the macros in hack.h. */ + + /*JP + ** ÆüËܸì¤Ç¤Ï¡Ö»à¤ó¤À¡×¤È¡Ö»¦¤µ¤ì¤¿¡×¤Ï¥Ë¥å¥¢¥ó¥¹¤¬°ã¤¦¤è¤Ã¤Æ + ** ¥¹¥Æ¡¼¥¿¥¹¤ò1¤ÄÄɲ乤롥 + + /*JP + #define KILLED 0 <- (Êѹ¹) + #define CHOKING 1 + #define POISONING 2 + #define STARVING 3 + #define DROWNING 4 + #define BURNING 5 + #define DISSOLVED 6 + #define CRUSHING 7 + #define STONING 8 + #define DIED 9 <- (ÄɲÃ) + #define GENOCIDED 10 + #define PANICKED 11 + #define TRICKED 12 + #define QUIT 13 + #define ESCAPED 14 + #define ASCENDED 15 + */ + static NEARDATA const char *deaths[] = { /* the array of death */ "died", "choked", "poisoned", "starvation", "drowning", "burning", "dissolving under the heat and pressure", ! /*JP "crushed", "turned to stone", "genocided",*/ ! "crushed", "turned to stone", "died", "genocided", "panic", "trickery", "quit", "escaped", "ascended" }; + #if 0 /*JP*/ static NEARDATA const char *ends[] = { /* "when you..." */ "died", "choked", "were poisoned", "starved", "drowned", "burned", "dissolved in the lava", *************** *** 59,64 **** --- 92,105 ---- "panicked", "were tricked", "quit", "escaped", "ascended" }; + #endif /*JP*/ + static NEARDATA const char *ends[] = { /* "when you..." */ + "»¦¤µ¤ì¤¿", "Ã⩤·¤¿", "ÆǤˤª¤«¤µ¤ì¤¿", "²î»à¤·¤¿", "Å®»à¤·¤¿", + "dz»à¤·¤¿", "ÍÏ´ä¤ËÍϤ±¤¿", + "²¡¤·ÄÙ¤µ¤ì¤¿", "ÀФˤʤä¿", "»à¤ó¤À", "µÔ»¦¤µ¤ì¤¿", + "¥Ñ¥Ë¥Ã¥¯¤Ë¤ª¤Á¤¤¤Ã¤¿", "´ñ̯¤Ê½ÐÍè»ö¤Ë²ñ¤Ã¤¿", + "È´¤±¤¿", "æ½Ð¤·¤¿", "¾ºÅ·¤·¤¿" + }; /* these probably ought to be generated by makedefs, like LAST_GEM */ #define FIRST_GEM DILITHIUM_CRYSTAL *************** *** 98,104 **** int done2() { ! if(yn("Really quit?") == 'n') { #ifndef NO_SIGNAL (void) signal(SIGINT, (SIG_RET_TYPE) done1); #endif --- 139,146 ---- int done2() { ! /*JP if(yn("Really quit?") == 'n') {*/ ! if(yn("ËÜÅö¤Ë?") == 'n') { #ifndef NO_SIGNAL (void) signal(SIGINT, (SIG_RET_TYPE) done1); #endif *************** *** 171,209 **** --- 213,281 ---- char buf[BUFSZ]; boolean distorted = (boolean)(Hallucination && canspotmon(mtmp)); + /*JP You("die..."); + */ + pline("¤¢¤Ê¤¿¤Ï»à¤Ë¤Þ¤·¤¿¡¥¡¥¡¥"); mark_synch(); /* flush buffered screen output */ buf[0] = '\0'; if ((mtmp->data->geno & G_UNIQ) != 0) { + /*JP if (!type_is_pname(mtmp->data)) Strcat(buf, "the "); + */ killer_format = KILLED_BY; } if (mtmp->minvis && !(mtmp->ispriest || mtmp->isminion)) + /*JP Strcat(buf, "invisible "); + */ + Strcat(buf, "Æ©ÌÀ¤Ê"); if (distorted) + /*JP Strcat(buf, "hallucinogen-distorted "); + */ + Strcat(buf, "¸¸³Ð¤ÇÏĤó¤À"); + + if (mtmp->mnamelth) Sprintf(eos(buf), "%s¤È¸Æ¤Ð¤ì¤ë", NAME(mtmp)); if(mtmp->data == &mons[PM_GHOST]) { register char *gn = (char *) mtmp->mextra; if (!distorted && !mtmp->minvis && *gn) { + /*JP Strcat(buf, "the "); + */ killer_format = KILLED_BY; } + /*JP Sprintf(eos(buf), (*gn ? "ghost of %s" : "ghost%s"), gn); + */ + Sprintf(eos(buf), (*gn ? "%s¤ÎÍ©Îî" : "ghost%s"), gn); } else if(mtmp->isshk) { + /*JP Sprintf(eos(buf), "%s %s, the shopkeeper", (mtmp->female ? "Ms." : "Mr."), shkname(mtmp)); + */ + Sprintf(eos(buf), "%s¤È¤¤¤¦Ì¾¤ÎŹ¼ç", + shkname(mtmp)); killer_format = KILLED_BY; } else if (mtmp->ispriest || mtmp->isminion) { char priestnambuf[BUFSZ]; killer = priestname(mtmp, priestnambuf); + /*JP if (!strncmp(killer, "the ", 4)) Strcat(buf, killer+4); else Strcat(buf, killer); + */ + Strcat(buf, killer); + /*JP } else Strcat(buf, mtmp->data->mname); + */ + } else Strcat(buf, jtrns_mon(mtmp->data->mname, mtmp->female)); + /*JP if (mtmp->mnamelth) Sprintf(eos(buf), " called %s", NAME(mtmp)); + */ killer = buf; if (mtmp->data->mlet == S_WRAITH) u.ugrave_arise = PM_WRAITH; *************** *** 217,223 **** if (mtmp->data->mlet == S_COCKATRICE) done(STONING); else ! done(DIED); return; } --- 289,296 ---- if (mtmp->data->mlet == S_COCKATRICE) done(STONING); else ! /*JP done(DIED);*/ ! done(KILLED); return; } *************** *** 238,255 **** } raw_print(!program_state.something_worth_saving ? "Program initialization has failed." : "Suddenly, the dungeon collapses."); #if defined(WIZARD) && !defined(MICRO) if (!wizard) ! raw_printf("Report error to \"%s\"%s.", # ifdef WIZARD_NAME /*(KR1ED)*/ WIZARD_NAME, # else WIZARD, # endif !program_state.something_worth_saving ? "" : ! " and it may be possible to rebuild."); if (program_state.something_worth_saving) { set_error_savefile(); (void) dosave0(); --- 311,334 ---- } raw_print(!program_state.something_worth_saving ? + #if 0 /*JP*/ "Program initialization has failed." : "Suddenly, the dungeon collapses."); + #endif /*JP*/ + "¥×¥í¥°¥é¥à¤Î½é´ü²½¤Ë¼ºÇÔ¤·¤¿¡¥" : + "ÆÍÁ³Ìµܤ¬Êø¤ì¤¿¡¥"); #if defined(WIZARD) && !defined(MICRO) if (!wizard) ! /*JP raw_printf("Report error to \"%s\"%s.",*/ ! raw_printf("%s¤ËÊó¹ð¡¥%s", # ifdef WIZARD_NAME /*(KR1ED)*/ WIZARD_NAME, # else WIZARD, # endif !program_state.something_worth_saving ? "" : ! /*JP " and it may be possible to rebuild.");*/ ! "¥¨¥é¡¼È¯À¸¡¥ºÆ¼Â¹ÔÉÔ²Äǽ¡¥"); if (program_state.something_worth_saving) { set_error_savefile(); (void) dosave0(); *************** *** 279,288 **** if (invent && !done_stopprint && (!flags.end_disclose[0] || index(flags.end_disclose, 'i'))) { if(taken) ! Sprintf(qbuf,"Do you want to see what you had when you %s?", ! (how == QUIT) ? "quit" : "died"); else ! Strcpy(qbuf,"Do you want your possessions identified?"); if ((c = yn_function(qbuf, ynqchars, 'y')) == 'y') { /* New dump format by maartenj@cs.vu.nl */ struct obj *obj; --- 358,370 ---- if (invent && !done_stopprint && (!flags.end_disclose[0] || index(flags.end_disclose, 'i'))) { if(taken) ! /*JP Sprintf(qbuf,"Do you want to see what you had when you %s?", ! (how == QUIT) ? "quit" : "died");*/ ! Sprintf(qbuf,"%s¤È¤­²¿¤ò»ý¤Ã¤Æ¤¤¤¿¤«¸«¤Þ¤¹¤«¡©", ! (how == QUIT) ? "¤ä¤á¤¿" : "»à¤ó¤À"); else ! /*JP Strcpy(qbuf,"Do you want your possessions identified?");*/ ! Strcpy(qbuf,"»ý¤Áʪ¤ò¼±Ê̤·¤Þ¤¹¤«¡©"); if ((c = yn_function(qbuf, ynqchars, 'y')) == 'y') { /* New dump format by maartenj@cs.vu.nl */ struct obj *obj; *************** *** 299,305 **** if (!done_stopprint && (!flags.end_disclose[0] || index(flags.end_disclose, 'a'))) { ! c = yn_function("Do you want to see your attributes?",ynqchars,'y'); if (c == 'y') enlightenment(how >= PANICKED ? 1 : 2); /* final */ if (c == 'q') done_stopprint++; } --- 381,388 ---- if (!done_stopprint && (!flags.end_disclose[0] || index(flags.end_disclose, 'a'))) { ! /*JP c = yn_function("Do you want to see your attributes?",ynqchars,'y');*/ ! c = yn_function("°À­¤ò¸«¤Þ¤¹¤«¡©",ynqchars,'y'); if (c == 'y') enlightenment(how >= PANICKED ? 1 : 2); /* final */ if (c == 'q') done_stopprint++; } *************** *** 327,333 **** newuhs(FALSE); } if (how == CHOKING) init_uhunger(); ! nomovemsg = "You survived that attempt on your life."; flags.move = 0; if(multi > 0) multi = 0; else multi = -1; if(u.utrap && u.utraptype == TT_LAVA) u.utrap = 0; --- 410,417 ---- newuhs(FALSE); } if (how == CHOKING) init_uhunger(); ! /*JP nomovemsg = "You survived that attempt on your life.";*/ ! nomovemsg = "¤¢¤Ê¤¿¤ÏÀ¸¤­¤Ê¤¬¤é¤¨¤¿¡¥"; flags.move = 0; if(multi > 0) multi = 0; else multi = -1; if(u.utrap && u.utraptype == TT_LAVA) u.utrap = 0; *************** *** 396,401 **** --- 480,487 ---- char kilbuf[BUFSZ], pbuf[BUFSZ]; winid endwin = WIN_ERR; boolean bones_ok, have_windows = iflags.window_inited; + /*JP*/ + char amulet_tmp[BUFSZ]; /* kilbuf: used to copy killer in case it comes from something like * xname(), which would otherwise get overwritten when we call *************** *** 407,436 **** /* Avoid killed by "a" burning or "a" starvation */ if (!killer && (how == STARVING || how == BURNING)) killer_format = KILLED_BY; ! Strcpy(kilbuf, (!killer || how >= PANICKED ? deaths[how] : killer)); killer = kilbuf; #ifdef WIZARD if (wizard && how == TRICKED) { ! You("are a very tricky wizard, it seems."); return; } #endif if (how < PANICKED) u.umortality++; if (Lifesaved && how <= GENOCIDED) { ! pline("But wait..."); makeknown(AMULET_OF_LIFE_SAVING); ! Your("medallion %s!", ! !Blind ? "begins to glow" : "feels warm"); ! if (how == CHOKING) You("vomit ..."); ! You_feel("much better!"); ! pline_The("medallion crumbles to dust!"); useup(uamul); (void) adjattrib(A_CON, -1, TRUE); if(u.uhpmax <= 0) u.uhpmax = 10; /* arbitrary */ savelife(how); if (how == GENOCIDED) ! pline("Unfortunately you are still genocided..."); else { killer = 0; killer_format = 0; --- 493,532 ---- /* Avoid killed by "a" burning or "a" starvation */ if (!killer && (how == STARVING || how == BURNING)) killer_format = KILLED_BY; ! /*JP Strcpy(kilbuf, (!killer || how >= PANICKED ? deaths[how] : killer));*/ ! Strcpy(kilbuf, (!killer || how >= PANICKED ? ends[how] : killer)); killer = kilbuf; #ifdef WIZARD if (wizard && how == TRICKED) { ! /*JP You("are a very tricky wizard, it seems.");*/ ! You("¤È¤Æ¤â°·¤¤¤Ë¤¯¤¤ËâË¡»È¤¤¤Î¤è¤¦¤À¡¥"); return; } #endif if (how < PANICKED) u.umortality++; if (Lifesaved && how <= GENOCIDED) { ! /*JP pline("But wait...");*/ ! pline("¤Á¤ç¤Ã¤È¤Þ¤Ã¤¿¡¥¡¥¡¥"); makeknown(AMULET_OF_LIFE_SAVING); ! /*JP Your("medallion %s!", ! !Blind ? "begins to glow" : "feels warm");*/ ! Your("Ëâ½ü¤±¤Ï%s¡ª", ! !Blind ? "µ±¤­¤Ï¤¸¤á¤¿" : "ÃȤ«¤¯¤Ê¤ê¤Ï¤¸¤á¤¿"); ! /*JP if (how == CHOKING) You("vomit ...");*/ ! if (how == CHOKING) You("°ß¤ÎÃæ¤Î¤â¤Î¤òÅǤ¤¤¿¡¥¡¥¡¥"); ! /*JP You_feel("much better!");*/ ! /*JP pline_The("medallion crumbles to dust!");*/ ! You("µ¤Ê¬¤¬¤è¤¯¤Ê¤Ã¤¿¡ª"); ! pline("Ëâ½ü¤±¤Ï¤³¤Ê¤´¤Ê¤Ë¤¯¤À¤±¤¿¡ª"); ! useup(uamul); (void) adjattrib(A_CON, -1, TRUE); if(u.uhpmax <= 0) u.uhpmax = 10; /* arbitrary */ savelife(how); if (how == GENOCIDED) ! /*JP pline("Unfortunately you are still genocided...");*/ ! pline("¤Ê¤ó¤Æ¤³¤È¤À¡¥¤¢¤Ê¤¿¤ÏµÔ»¦¤µ¤ì¤Æ¤·¤Þ¤Ã¤¿¡¥¡¥¡¥"); else { killer = 0; killer_format = 0; *************** *** 438,446 **** } } if ((wizard || discover) && how <= GENOCIDED) { ! if(yn("Die?") == 'y') goto die; ! pline("OK, so you don't %s.", ! (how == CHOKING) ? "choke" : "die"); if(u.uhpmax <= 0) u.uhpmax = u.ulevel * 8; /* arbitrary */ savelife(how); killer = 0; --- 534,545 ---- } } if ((wizard || discover) && how <= GENOCIDED) { ! /*JP if(yn("Die?") == 'y') goto die;*/ ! if(yn("»à¤ó¤Ç¤ß¤ë¡©") == 'y') goto die; ! /*JP pline("OK, so you don't %s.", ! (how == CHOKING) ? "choke" : "die");*/ ! You("%s¤Ê¤«¤Ã¤¿¡¥", ! (how == CHOKING) ? "¹Ê»¦¤µ¤ì" : "»à¤Ê"); if(u.uhpmax <= 0) u.uhpmax = u.ulevel * 8; /* arbitrary */ savelife(how); killer = 0; *************** *** 454,460 **** */ if (moves <= 1 && how < PANICKED) /* You die... --More-- */ ! pline("Do not pass go. Do not collect 200 zorkmids."); die: if (have_windows) wait_synch(); /* flush screen output */ --- 553,560 ---- */ if (moves <= 1 && how < PANICKED) /* You die... --More-- */ ! /*JP pline("Do not pass go. Do not collect 200 zorkmids.");*/ ! pline("Ãí°Õ°ìÉᤲø²æ°ìÀ¸¡¤»àË´°ìÊâ¡¥"); die: if (have_windows) wait_synch(); /* flush screen output */ *************** *** 484,490 **** --- 584,593 ---- how = DIED; u.umortality++; /* skipped above when how==QUIT */ /* note that killer is pointing at kilbuf */ + /*JP Strcpy(kilbuf, "quit while already on Charon's boat"); + */ + Strcpy(kilbuf, "¥«¥í¥ó¤Î½®¤Ë¾è¤Ã¤Æ¤¤¤ë´Ö¤ËÈ´¤±¤¿"); } } if (how == ESCAPED || how == PANICKED) *************** *** 528,534 **** if (bones_ok) { #ifdef WIZARD ! if (!wizard || yn("Save bones?") == 'y') #endif savebones(); } --- 631,638 ---- if (bones_ok) { #ifdef WIZARD ! /*JP if (!wizard || yn("Save bones?") == 'y')*/ ! if (!wizard || yn("¹ü¤ò¤¦¤á¤ë¡©") == 'y') #endif savebones(); } *************** *** 549,564 **** /* changing kilbuf really changes killer. we do it this way because killer is declared a (const char *) */ ! if (u.uhave.amulet) Strcat(kilbuf, " (with the Amulet)"); else if (how == ESCAPED) { if (Is_astralevel(&u.uz)) /* offered Amulet to wrong deity */ ! Strcat(kilbuf, " (in celestial disgrace)"); else if (carrying(FAKE_AMULET_OF_YENDOR)) ! Strcat(kilbuf, " (with a fake Amulet)"); /* don't bother counting to see whether it should be plural */ } if (!done_stopprint) { Sprintf(pbuf, "%s %s the %s...", Role_is('S') ? "Sayonara" : #ifdef TOURIST --- 653,676 ---- /* changing kilbuf really changes killer. we do it this way because killer is declared a (const char *) */ ! /*JP if (u.uhave.amulet) Strcat(kilbuf, " (with the Amulet)");*/ ! if (u.uhave.amulet){ ! Strcpy(amulet_tmp,kilbuf); ! Strcpy(kilbuf,"Ëâ½ü¤±¤ò¼ê¤Ë"); ! Strcat(kilbuf,amulet_tmp); ! } else if (how == ESCAPED) { if (Is_astralevel(&u.uz)) /* offered Amulet to wrong deity */ ! /*JP Strcat(kilbuf, " (in celestial disgrace)");*/ ! Strcpy(kilbuf, "Å·¾å¤ÇÃÑ¿«¤ò¼õ¤±Ã¦½Ð¤·¤¿"); else if (carrying(FAKE_AMULET_OF_YENDOR)) ! /*JP Strcat(kilbuf, " (with a fake Amulet)");*/ ! Strcpy(kilbuf, "µ¶Êª¤ÎËâ½ü¤±¤òÄϤޤµ¤ìæ½Ð¤·¤¿"); /* don't bother counting to see whether it should be plural */ } if (!done_stopprint) { + #if 0 /*JP*/ Sprintf(pbuf, "%s %s the %s...", Role_is('S') ? "Sayonara" : #ifdef TOURIST *************** *** 567,572 **** --- 679,694 ---- "Goodbye", plname, how != ASCENDED ? (const char *) pl_character : (const char *) (flags.female ? "Demigoddess" : "Demigod")); + #endif /*JP*/ + Sprintf(pbuf, "%s¡¥%s¤Î%s¡¥¡¥¡¥¡¥", + Role_is('S') ? "Éð»ÎÆ»¤È¤Ï»à¤Ì¤³¤È" : + #ifdef TOURIST + Role_is('T') ? "¥¢¥í¡¼¥Ï" : + #endif + "¤µ¤è¤¦¤Ê¤é", + how != ASCENDED ? (const char *) jtrns_mon(pl_character, flags.female) : + (const char *) (flags.female ? "½÷¿À" : "¿À"), + plname ); putstr(endwin, 0, pbuf); putstr(endwin, 0, ""); } *************** *** 595,619 **** keepdogs(TRUE); viz_array[0][0] |= IN_SIGHT; /* need visibility for naming */ mtmp = mydogs; ! if (!done_stopprint) Strcpy(pbuf, "You"); if (mtmp) { while (mtmp) { if (!done_stopprint) ! Sprintf(eos(pbuf), " and %s", mon_nam(mtmp)); if (mtmp->mtame) u.urexp += mtmp->mhp; mtmp = mtmp->nmon; } if (!done_stopprint) putstr(endwin, 0, pbuf); pbuf[0] = '\0'; } else { ! if (!done_stopprint) Strcat(pbuf, " "); } if (!done_stopprint) { Sprintf(eos(pbuf), "%s with %ld point%s,", how==ASCENDED ? "went to your reward" : "escaped from the dungeon", u.urexp, plur(u.urexp)); putstr(endwin, 0, pbuf); } --- 717,757 ---- keepdogs(TRUE); viz_array[0][0] |= IN_SIGHT; /* need visibility for naming */ mtmp = mydogs; ! /*JP if (!done_stopprint) Strcpy(pbuf, "You");*/ ! if (!done_stopprint) Strcpy(pbuf, "¤¢¤Ê¤¿"); if (mtmp) { while (mtmp) { if (!done_stopprint) ! /*JP Sprintf(eos(pbuf), " and %s", mon_nam(mtmp));*/ ! { ! Strcat(pbuf, "¤È"); ! Strcat(pbuf, mon_nam(mtmp)); ! } ! /* ! Strcat(pbuf, "¤Ï"); ! */ if (mtmp->mtame) u.urexp += mtmp->mhp; mtmp = mtmp->nmon; } + /*JP*/ + if (!done_stopprint) Strcat(pbuf, "¤Ï"); if (!done_stopprint) putstr(endwin, 0, pbuf); pbuf[0] = '\0'; } else { ! /*JP if (!done_stopprint) Strcat(pbuf, " ");*/ ! if (!done_stopprint) Strcat(pbuf, "¤Ï"); } if (!done_stopprint) { + #if 0 /*JP*/ Sprintf(eos(pbuf), "%s with %ld point%s,", how==ASCENDED ? "went to your reward" : "escaped from the dungeon", u.urexp, plur(u.urexp)); + #endif /*JP*/ + Sprintf(eos(pbuf), "%ld¥Ý¥¤¥ó¥È¥Þ¡¼¥¯¤·%s¡¥", + u.urexp, + how==ASCENDED ? "Êó½·¤ò¼õ¤±¤È¤Ã¤¿" : "̵ܤ«¤éæ½Ð¤·¤¿"); putstr(endwin, 0, pbuf); } *************** *** 626,638 **** makeknown(otmp->otyp); otmp->known = 1; /* for fake amulets */ otmp->onamelth = 0; ! Sprintf(pbuf, "%8ld %s (worth %ld zorkmids),", otmp->quan, xname(otmp), otmp->quan * (long)objects[otmp->otyp].oc_cost); } else { Sprintf(pbuf, ! "%8ld worthless piece%s of colored glass,", ! otmp->quan, plur(otmp->quan)); } putstr(endwin, 0, pbuf); } --- 764,779 ---- makeknown(otmp->otyp); otmp->known = 1; /* for fake amulets */ otmp->onamelth = 0; ! /*JP Sprintf(pbuf, "%8ld %s (worth %ld zorkmids),",*/ ! Sprintf(pbuf, "%8ld¸Ä¤Î%s(%ld¥´¡¼¥ë¥É¤Î²ÁÃÍ)¡¥", otmp->quan, xname(otmp), otmp->quan * (long)objects[otmp->otyp].oc_cost); } else { Sprintf(pbuf, ! /*JP "%8ld worthless piece%s of colored glass,",*/ ! /*JP otmp->quan, plur(otmp->quan));*/ ! "%ld¸Ä¤Î²ÁÃͤΤʤ¤¿§¤Ä¤­¥¬¥é¥¹¡¥", ! otmp->quan); } putstr(endwin, 0, pbuf); } *************** *** 640,665 **** } else if (!done_stopprint) { /* did not escape or ascend */ ! const char *where = dungeons[u.uz.dnum].dname; ! if (Is_astralevel(&u.uz)) where = "The Astral Plane"; ! Sprintf(pbuf, "You %s in %s", ends[how], where); if (!In_endgame(&u.uz) && !Is_knox(&u.uz)) ! Sprintf(eos(pbuf), " on dungeon level %d", In_quest(&u.uz) ? dunlev(&u.uz) : depth(&u.uz)); ! Sprintf(eos(pbuf), " with %ld point%s,", ! u.urexp, plur(u.urexp)); putstr(endwin, 0, pbuf); } if (!done_stopprint) { ! Sprintf(pbuf, "and %ld piece%s of gold, after %ld move%s.", ! u.ugold, plur(u.ugold), moves, plur(moves)); putstr(endwin, 0, pbuf); } if (!done_stopprint) { Sprintf(pbuf, ! "You were level %d with a maximum of %d hit point%s when you %s.", ! u.ulevel, u.uhpmax, plur(u.uhpmax), ends[how]); putstr(endwin, 0, pbuf); putstr(endwin, 0, ""); } --- 781,818 ---- } else if (!done_stopprint) { /* did not escape or ascend */ ! /*JP const char *where = dungeons[u.uz.dnum].dname;*/ ! const char *where = jtrns_obj('d', dungeons[u.uz.dnum].dname); ! /*JP if (Is_astralevel(&u.uz)) where = "The Astral Plane";*/ ! if (In_endgame(&u.uz)) where = "ÀºÎ¤Ë¤Æ"; ! /*JP Sprintf(pbuf, "You %s in %s", ends[how], where);*/ ! Sprintf(pbuf, "¤¢¤Ê¤¿¤Ï%s", where); if (!In_endgame(&u.uz) && !Is_knox(&u.uz)) ! /*JP Sprintf(eos(pbuf), " on dungeon level %d",*/ ! Sprintf(eos(pbuf), "¤ÎÃϲ¼%d³¬¤Ç", In_quest(&u.uz) ? dunlev(&u.uz) : depth(&u.uz)); ! /*JP Sprintf(eos(pbuf), " with %ld point%s,", ! u.urexp, plur(u.urexp));*/ ! Sprintf(eos(pbuf), " %ld¥Ý¥¤¥ó¥È¥Þ¡¼¥¯¤·", ! u.urexp); putstr(endwin, 0, pbuf); } if (!done_stopprint) { ! /*JP Sprintf(pbuf, "and %ld piece%s of gold, after %ld move%s.", ! u.ugold, plur(u.ugold), moves, plur(moves));*/ ! Sprintf(pbuf, "%ld¥´¡¼¥ë¥É¤òÆÀ¡¤%ldÊâÆ°¤¤¤¿¡¥", ! u.ugold, moves); ! putstr(endwin, 0, pbuf); } if (!done_stopprint) { Sprintf(pbuf, ! /*JP "You were level %d with a maximum of %d hit point%s when you %s.", ! u.ulevel, u.uhpmax, plur(u.uhpmax), ends[how]);*/ ! "%s¤È¤­¡¤¤¢¤Ê¤¿¤Ï¥ì¥Ù¥ë%u¤Ç¡¤ºÇÂçÂÎÎϤÏ%d¤Ç¤¢¤Ã¤¿¡¥", ! ends[how],u.ulevel, u.uhpmax); ! putstr(endwin, 0, pbuf); putstr(endwin, 0, ""); } *************** *** 697,703 **** if (Is_container(box) && box->otyp != BAG_OF_TRICKS) { if (box->cobj) { winid tmpwin = create_nhwindow(NHW_MENU); ! Sprintf(buf, "Contents of %s:", the(xname(box))); putstr(tmpwin, 0, buf); putstr(tmpwin, 0, ""); for (obj = box->cobj; obj; obj = obj->nobj) { --- 850,857 ---- if (Is_container(box) && box->otyp != BAG_OF_TRICKS) { if (box->cobj) { winid tmpwin = create_nhwindow(NHW_MENU); ! /*JP Sprintf(buf, "Contents of %s:", the(xname(box)));*/ ! Sprintf(buf, "%s¤ÎÃæ¿È¡§", the(xname(box))); putstr(tmpwin, 0, buf); putstr(tmpwin, 0, ""); for (obj = box->cobj; obj; obj = obj->nobj) { *************** *** 713,719 **** if (all_containers) container_contents(box->cobj, identified, TRUE); } else { ! pline("%s is empty.", The(xname(box))); display_nhwindow(WIN_MESSAGE, FALSE); } } --- 867,874 ---- if (all_containers) container_contents(box->cobj, identified, TRUE); } else { ! /*JP pline("%s is empty.", The(xname(box)));*/ ! pline("%s¤Ï¶õ¤Ã¤Ý¤À¡¥", The(xname(box))); display_nhwindow(WIN_MESSAGE, FALSE); } } *************** *** 738,744 **** freedynamicdata(); dlb_cleanup(); } ! nethack_exit(status); } --- 893,905 ---- freedynamicdata(); dlb_cleanup(); } ! jputchar('\0'); /* reset terminal */ ! if (iflags.DECgraphics){ ! putchar(033); ! putchar('$'); ! putchar(')'); ! putchar('B'); ! } nethack_exit(status); } *************** *** 763,774 **** * includes all dead monsters, not just those killed by the player */ if (ntypes != 0) { ! c = yn_function("Do you want an account of creatures vanquished?", ynqchars, 'n'); if (c == 'q') done_stopprint++; if (c == 'y') { klwin = create_nhwindow(NHW_MENU); ! putstr(klwin, 0, "Vanquished creatures:"); putstr(klwin, 0, ""); /* countdown by monster "toughness" */ --- 924,937 ---- * includes all dead monsters, not just those killed by the player */ if (ntypes != 0) { ! /*JP c = yn_function("Do you want an account of creatures vanquished?",*/ ! c = yn_function("Åݤ·¤¿Å¨¤Î°ìÍ÷¤ò¸«¤Þ¤¹¤«¡©", ynqchars, 'n'); if (c == 'q') done_stopprint++; if (c == 'y') { klwin = create_nhwindow(NHW_MENU); ! /*JP putstr(klwin, 0, "Vanquished creatures:");*/ ! putstr(klwin, 0, "Åݤ·¤¿Å¨¡§"); putstr(klwin, 0, ""); /* countdown by monster "toughness" */ *************** *** 776,795 **** for (i = LOW_PM; i < NUMMONS; i++) if (mons[i].mlevel == lev && (nkilled = mvitals[i].died) > 0) { if ((mons[i].geno & G_UNIQ) && i != PM_HIGH_PRIEST) { ! Sprintf(buf, "%s%s", !type_is_pname(&mons[i]) ? "The " : "", ! mons[i].mname); if (nkilled > 1) ! Sprintf(eos(buf)," (%d time%s)", ! nkilled, plur(nkilled)); } else { /* trolls or undead might have come back, but we don't keep track of that */ if (nkilled == 1) ! Strcpy(buf, an(mons[i].mname)); else ! Sprintf(buf, "%d %s", ! nkilled, makeplural(mons[i].mname)); } putstr(klwin, 0, buf); } --- 939,965 ---- for (i = LOW_PM; i < NUMMONS; i++) if (mons[i].mlevel == lev && (nkilled = mvitals[i].died) > 0) { if ((mons[i].geno & G_UNIQ) && i != PM_HIGH_PRIEST) { ! /*JP Sprintf(buf, "%s%s", !type_is_pname(&mons[i]) ? "The " : "", ! mons[i].mname);*/ ! Sprintf(buf, "%s", ! jtrns_mon(mons[i].mname, -1)); if (nkilled > 1) ! /*JP Sprintf(eos(buf)," (%d time%s)", ! nkilled, plur(nkilled));*/ ! Sprintf(eos(buf)," (%d ²ó)", ! nkilled); } else { /* trolls or undead might have come back, but we don't keep track of that */ if (nkilled == 1) ! /*JP Strcpy(buf, an(mons[i].mname));*/ ! Strcpy(buf, jtrns_mon(mons[i].mname, -1)); else ! /*JP Sprintf(buf, "%d %s", ! nkilled, makeplural(mons[i].mname));*/ ! Sprintf(buf, "%dɤ¤Î%s", ! nkilled, jtrns_mon(mons[i].mname, -1)); } putstr(klwin, 0, buf); } *************** *** 799,805 **** */ if (ntypes > 1) { putstr(klwin, 0, ""); ! Sprintf(buf, "%ld creatures vanquished.", total_killed); putstr(klwin, 0, buf); } display_nhwindow(klwin, TRUE); --- 969,976 ---- */ if (ntypes > 1) { putstr(klwin, 0, ""); ! /*JP Sprintf(buf, "%ld creatures vanquished.", total_killed);*/ ! Sprintf(buf, "%ldɤ¤ÎÀ¸Êª¤òÅݤ·¤¿¡¥", total_killed); putstr(klwin, 0, buf); } display_nhwindow(klwin, TRUE); *************** *** 824,850 **** /* genocided species list */ if (ngenocided != 0) { ! c = yn_function("Do you want a list of species genocided?", ynqchars, 'n'); if (c == 'q') done_stopprint++; if (c == 'y') { klwin = create_nhwindow(NHW_MENU); ! putstr(klwin, 0, "Genocided species:"); putstr(klwin, 0, ""); for (i = LOW_PM; i < NUMMONS; i++) if (mvitals[i].mvflags & G_GENOD) { if ((mons[i].geno & G_UNIQ) && i != PM_HIGH_PRIEST) Sprintf(buf, "%s%s", !type_is_pname(&mons[i]) ? "" : "the ", mons[i].mname); else ! Strcpy(buf, makeplural(mons[i].mname)); putstr(klwin, 0, buf); } putstr(klwin, 0, ""); ! Sprintf(buf, "%d species genocided.", ngenocided); putstr(klwin, 0, buf); display_nhwindow(klwin, TRUE); --- 995,1029 ---- /* genocided species list */ if (ngenocided != 0) { ! /*JP c = yn_function("Do you want a list of species genocided?",*/ ! c = yn_function("µÔ»¦¤·¤¿¼ï¤Î°ìÍ÷¤ò¸«¤Þ¤¹¤«¡©", ynqchars, 'n'); if (c == 'q') done_stopprint++; if (c == 'y') { klwin = create_nhwindow(NHW_MENU); ! /*JP putstr(klwin, 0, "Genocided species:");*/ ! putstr(klwin, 0, "µÔ»¦¤·¤¿¼ï:"); putstr(klwin, 0, ""); for (i = LOW_PM; i < NUMMONS; i++) if (mvitals[i].mvflags & G_GENOD) { if ((mons[i].geno & G_UNIQ) && i != PM_HIGH_PRIEST) + #if 0 /*JP*/ Sprintf(buf, "%s%s", !type_is_pname(&mons[i]) ? "" : "the ", mons[i].mname); + #endif /*JP*/ + Sprintf(buf, "%s", + jtrns_mon(mons[i].mname, -1)); else ! /*JP Strcpy(buf, makeplural(mons[i].mname));*/ ! Strcpy(buf, jtrns_mon(mons[i].mname, -1)); putstr(klwin, 0, buf); } putstr(klwin, 0, ""); ! /*JP Sprintf(buf, "%d species genocided.", ngenocided);*/ ! Sprintf(buf, "%d¼ïÎà¤Î¼ï¤òµÔ»¦¤·¤¿¡¥", ngenocided); putstr(klwin, 0, buf); display_nhwindow(klwin, TRUE); diff -c -r ../nethack-3.2.2/src/engrave.c ./src/engrave.c *** ../nethack-3.2.2/src/engrave.c Fri Jun 21 02:25:01 1996 --- ./src/engrave.c Tue Jul 22 23:18:18 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "lev.h" #include *************** *** 25,30 **** --- 32,40 ---- "See you next Wednesday", /* Thriller */ "notary sojak", /* Smokey Stover */ "For a good time call 8?7-5309", + "Moon prism power make up!", /* Sailor Moon */ + "Lizard's Tail!", /* Mahoujin Guru Guru */ + "It's a show time!" /* St. Tail */ }; char * *************** *** 61,66 **** --- 71,77 ---- {'0', "C("}, {'1', "|"}, {'6', "o"}, {'7', "/"}, {'8', "3o"} }; + /*JP*/ void wipeout_text(engr, cnt, seed) *************** *** 68,74 **** int cnt; unsigned seed; /* for semi-controlled randomization */ { ! char *s; int i, j, nxt, use_rubout, lth = (int)strlen(engr); if (lth && cnt > 0) { --- 79,85 ---- int cnt; unsigned seed; /* for semi-controlled randomization */ { ! unsigned char *s; int i, j, nxt, use_rubout, lth = (int)strlen(engr); if (lth && cnt > 0) { *************** *** 87,101 **** seed *= 31, seed %= (BUFSZ-1); use_rubout = seed & 3; } ! s = &engr[nxt]; if (*s == ' ') continue; /* rub out unreadable & small punctuation marks */ if (index("?.,'`-|_", *s)) { *s = ' '; continue; } - if (!use_rubout) i = SIZE(rubouts); else --- 98,134 ---- seed *= 31, seed %= (BUFSZ-1); use_rubout = seed & 3; } ! /*JP ! ** 2BYTEʸ»ú¤ò´Ö°ã¤ï¤º¤Ë¾Ã¤¹ ! ** ! ** ±Ñ¸ì¤Ç¤Ï¡¤'E' -> 'F' ¤Ê¤ÉÃÇÊÒŪ¤Ëʸ»ú¤¬¾Ã¤¨¤Æ¤¤¤¯¤è¤¦¤Ê¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò ! ** ¤·¤Æ¤¤¤ë¤¬¡¤ÆüËܸì¤Ç¤Ï¤È¤ê¤¢¤¨¤ºÊÝα¡¥ ! */ ! ! if(is_kanji2(engr, nxt)) ! --nxt; ! ! s = (unsigned char *)&engr[nxt]; if (*s == ' ') continue; + if(is_kanji1(engr, nxt)){ + + if(engr[nxt] == "¡©"[0] && engr[nxt+1] == "¡©"[1]){ + s[0] = ' '; + s[1] = ' '; + continue; + } + else{ + s[0] = "¡©"[0]; + s[1] = "¡©"[1]; + continue; + } + } /* rub out unreadable & small punctuation marks */ if (index("?.,'`-|_", *s)) { *s = ' '; continue; } if (!use_rubout) i = SIZE(rubouts); else *************** *** 140,163 **** if ((x == u.ux) && (y == u.uy) && u.uswallow && is_animal(u.ustuck->data)) ! return "maw"; else if (IS_AIR(lev->typ)) ! return "air"; else if (is_pool(x,y)) ! return "water"; else if (is_ice(x,y)) ! return "ice"; else if (is_lava(x,y)) ! return "lava"; else if (lev->typ == DRAWBRIDGE_DOWN) ! return "bridge"; else if(IS_ALTAR(levl[x][y].typ)) ! return "altar"; else if ((IS_ROOM(lev->typ) && !Is_earthlevel(&u.uz)) || IS_WALL(lev->typ) || IS_DOOR(lev->typ) || lev->typ == SDOOR) ! return "floor"; else ! return "ground"; } const char * --- 173,205 ---- if ((x == u.ux) && (y == u.uy) && u.uswallow && is_animal(u.ustuck->data)) ! /*JP return "maw";*/ ! return "°ßÂÞ"; else if (IS_AIR(lev->typ)) ! /*JP return "air";*/ ! return "¶õÃæ"; else if (is_pool(x,y)) ! /*JP return "water";*/ ! return "¿åÃæ"; else if (is_ice(x,y)) ! /*JP return "ice";*/ ! return "ɹ"; else if (is_lava(x,y)) ! /*JP return "lava";*/ ! return "ÍÏ´ä"; else if (lev->typ == DRAWBRIDGE_DOWN) ! /*JP return "bridge";*/ ! return "¶¶"; else if(IS_ALTAR(levl[x][y].typ)) ! /*JP return "altar";*/ ! return "º×ÃÅ"; else if ((IS_ROOM(lev->typ) && !Is_earthlevel(&u.uz)) || IS_WALL(lev->typ) || IS_DOOR(lev->typ) || lev->typ == SDOOR) ! /*JP return "floor";*/ ! return "¾²"; else ! /*JP return "ground";*/ ! return "ÃÏÌÌ"; } const char * *************** *** 171,190 **** * see check_special_room() */ if (*in_rooms(x,y,VAULT)) ! what = "vault's ceiling"; else if (*in_rooms(x,y,TEMPLE)) ! what = "temple's ceiling"; else if (*in_rooms(x,y,SHOPBASE)) ! what = "shop's ceiling"; else if (IS_AIR(lev->typ)) ! what = "sky"; else if (Underwater) ! what = "water's surface"; else if ((IS_ROOM(lev->typ) && !Is_earthlevel(&u.uz)) || IS_WALL(lev->typ) || IS_DOOR(lev->typ) || lev->typ == SDOOR) ! what = "ceiling"; else ! what = "rock above"; return what; } --- 213,239 ---- * see check_special_room() */ if (*in_rooms(x,y,VAULT)) ! /*JP what = "vault's ceiling";*/ ! what = "ÁҸˤÎÅ·°æ"; else if (*in_rooms(x,y,TEMPLE)) ! /*JP what = "temple's ceiling";*/ ! what = "»û±¡¤ÎÅ·°æ"; else if (*in_rooms(x,y,SHOPBASE)) ! /*JP what = "shop's ceiling";*/ ! what = "Ź¤ÎÅ·°æ"; else if (IS_AIR(lev->typ)) ! /*JP what = "sky";*/ ! what = "¶õ"; else if (Underwater) ! /*JP what = "water's surface";*/ ! what = "¿åÌÌ"; else if ((IS_ROOM(lev->typ) && !Is_earthlevel(&u.uz)) || IS_WALL(lev->typ) || IS_DOOR(lev->typ) || lev->typ == SDOOR) ! /*JP what = "ceiling";*/ ! what = "Å·°æ"; else ! /*JP what = "rock above";*/ ! what = "¾åÊý¤Î´ä"; return what; } *************** *** 265,294 **** case DUST: if(!Blind) { sensed = 1; ! pline("%s is written here in the %s.", Something, ! is_ice(x,y) ? "frost" : "dust"); } break; case ENGRAVE: if (!Blind || can_reach_floor()) { sensed = 1; ! pline("%s is engraved here on the %s.", Something, ! surface(x,y)); } break; case BURN: if (!Blind || can_reach_floor()) { sensed = 1; ! pline("Some text has been %s into the %s here.", is_ice(x,y) ? "melted" : "burned", ! surface(x,y)); } break; case MARK: if(!Blind) { sensed = 1; ! pline("There's some graffiti on the %s here.", surface(x,y)); } break; --- 314,353 ---- case DUST: if(!Blind) { sensed = 1; ! /*JP pline("%s is written here in the %s.", Something, ! is_ice(x,y) ? "frost" : "dust");*/ ! pline("²¿¤«¤Îʸ»ú¤¬%s¤Ë½ñ¤¤¤Æ¤¢¤ë¡¥", ! is_ice(x,y) ? "ɹ" : "¤Û¤³¤ê"); ! } break; case ENGRAVE: if (!Blind || can_reach_floor()) { sensed = 1; ! /*JP pline("%s is engraved here on the %s.", Something, ! surface(x,y));*/ ! pline("²¿¤«¤Îʸ»ú¤¬%s¤Ë¹ï¤Þ¤ì¤Æ¤¤¤ë¡¥", ! surface(x,y)); ! } break; case BURN: if (!Blind || can_reach_floor()) { sensed = 1; ! /*JP pline("Some text has been %s into the %s here.", is_ice(x,y) ? "melted" : "burned", ! surface(x,y));*/ ! pline("²¿¤«¤Îʸ»ú¤¬%s¤Ë%s¤¤¤ë¡¥", ! surface(x,y), ! is_ice(x,y) ? "¹ï¤Þ¤ì¤Æ" : "dz¤¨¤Æ"); } break; case MARK: if(!Blind) { sensed = 1; ! /*JP pline("There's some graffiti on the %s here.",*/ ! pline("²¿¤«¤ÎÍî½ñ¤¬%s¤Ë¤¢¤ë¡¥", surface(x,y)); } break; *************** *** 299,305 **** */ if(!Blind) { sensed = 1; ! You("see a message scrawled in blood here."); } break; default: --- 358,365 ---- */ if(!Blind) { sensed = 1; ! /*JP You("see a message scrawled in blood here.");*/ ! You("·ìʸ»ú¤¬¤Ê¤°¤ê½ñ¤­¤µ¤ì¤Æ¤¤¤ë¤Î¤ò¸«¤Ä¤±¤¿¡¥"); } break; default: *************** *** 308,315 **** sensed = 1; } if (sensed) { ! You("%s: \"%s\".", ! (Blind) ? "feel the words" : "read", ep->engr_txt); if(flags.run > 1) nomul(0); } } --- 368,377 ---- sensed = 1; } if (sensed) { ! /*JP You("%s: \"%s\".", ! (Blind) ? "feel the words" : "read", ep->engr_txt);*/ ! You("%s¡§¡Ö%s¡×", ! (Blind) ? "¼¡¤Î¤è¤¦¤Ë´¶¤¸¤¿" : "Æɤó¤À", ep->engr_txt); if(flags.run > 1) nomul(0); } } *************** *** 358,363 **** --- 420,426 ---- int freehand() { + return(!uwep || !welded(uwep) || (!bimanual(uwep) && (!uarms || !uarms->cursed))); /* if ((uwep && bimanual(uwep)) || *************** *** 439,464 **** if(u.uswallow) { if (is_animal(u.ustuck->data)) { ! pline("What would you write? \"Jonah was here\"?"); return(0); } else if (is_whirly(u.ustuck->data)) { ! You_cant("reach the %s.", surface(u.ux,u.uy)); return(0); } else jello = TRUE; } else if (is_lava(u.ux, u.uy)) { ! You_cant("write on the lava!"); return(0); } else if (is_pool(u.ux,u.uy) || IS_FOUNTAIN(levl[u.ux][u.uy].typ)) { ! You_cant("write on the water!"); return(0); } if(Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)/* in bubble */) { ! You_cant("write in thin air!"); return(0); } if (cantwield(uasmon)) { ! You_cant("even hold anything!"); return(0); } if (check_capacity((char *)0)) return (0); --- 502,533 ---- if(u.uswallow) { if (is_animal(u.ustuck->data)) { ! /*JP pline("What would you write? \"Jonah was here\"?");*/ ! pline("²¿¤ò½ñ¤¯¤ó¤À¤¤¡©¡Ö¥è¥Ê¤Ï¤³¤³¤Ë¤¤¤ë¡×¡©"); return(0); } else if (is_whirly(u.ustuck->data)) { ! /*JP You_cant("reach the %s.", surface(u.ux,u.uy));*/ ! You("%s¤ËÆϤ«¤Ê¤¤¡¥", surface(u.ux,u.uy)); return(0); } else jello = TRUE; } else if (is_lava(u.ux, u.uy)) { ! /*JP You_cant("write on the lava!");*/ ! You("ÍÏ´ä¤Ë¤Ï½ñ¤±¤Ê¤¤¡ª"); return(0); } else if (is_pool(u.ux,u.uy) || IS_FOUNTAIN(levl[u.ux][u.uy].typ)) { ! /*JP You_cant("write on the water!");*/ ! You("¿å¤Ë¤Ï½ñ¤±¤Ê¤¤¡ª"); return(0); } if(Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)/* in bubble */) { ! /*JP You_cant("write in thin air!");*/ ! You("¶õÃæ¤Ë¤Ï½ñ¤±¤Ê¤¤¡ª"); return(0); } if (cantwield(uasmon)) { ! /*JP You_cant("even hold anything!");*/ ! You("²¿¤â»ý¤Æ¤Ê¤¤¡ª"); return(0); } if (check_capacity((char *)0)) return (0); *************** *** 467,473 **** * Edited by GAN 10/20/86 so as not to change weapon wielded. */ ! otmp = getobj(styluses, "write with"); if(!otmp) return(0); /* otmp == zeroobj if fingers */ if (otmp == &zeroobj) writer = makeplural(body_part(FINGER)); --- 536,543 ---- * Edited by GAN 10/20/86 so as not to change weapon wielded. */ ! /*JP otmp = getobj(styluses, "write with");*/ ! otmp = getobj(styluses, "»È¤Ã¤Æ½ñ¤¯"); if(!otmp) return(0); /* otmp == zeroobj if fingers */ if (otmp == &zeroobj) writer = makeplural(body_part(FINGER)); *************** *** 477,497 **** * while both your hands are tied up. */ if (!freehand() && otmp != uwep && !otmp->owornmask) { ! You("have no free %s to write with!", body_part(HAND)); return(0); } if (jello) { ! You("tickle %s with your %s.", mon_nam(u.ustuck), writer); ! Your("message dissolves..."); return(0); } if (otmp->oclass != WAND_CLASS && !can_reach_floor()) { ! You_cant("reach the %s!", surface(u.ux,u.uy)); return(0); } if (IS_ALTAR(levl[u.ux][u.uy].typ)) { ! You("make a motion towards the altar with your %s.", writer); altar_wrath(u.ux, u.uy); return(0); } --- 547,573 ---- * while both your hands are tied up. */ if (!freehand() && otmp != uwep && !otmp->owornmask) { ! /*JP You("have no free %s to write with!", body_part(HAND));*/ ! pline("%s¤Î¼«Í³¤¬¸ú¤«¤Ê¤¤¤Î¤Ç½ñ¤±¤Ê¤¤¡ª", body_part(HAND)); ! /*JP You("have no free %s to write with!", body_part(HAND));*/ return(0); } if (jello) { ! /*JP You("tickle %s with your %s.", mon_nam(u.ustuck), writer); ! Your("message dissolves...");*/ ! You("%s¤Ç%s¤ò¤¯¤¹¤°¤Ã¤¿¡¥", writer, mon_nam(u.ustuck)); ! Your("¥á¥Ã¥»¡¼¥¸¤Ï¾Ã¤¨¤¿¡¥¡¥¡¥"); return(0); } if (otmp->oclass != WAND_CLASS && !can_reach_floor()) { ! /*JP You_cant("reach the %s!", surface(u.ux,u.uy));*/ ! You("%s¤ËÆϤ«¤Ê¤¤¡ª", surface(u.ux,u.uy)); return(0); } if (IS_ALTAR(levl[u.ux][u.uy].typ)) { ! /*JP You("make a motion towards the altar with your %s.", writer);*/ ! You("%s¤ò»È¤Ã¤Æº×ÃŤ˽ñ¤³¤¦¤È¤·¤¿¡¥", writer); altar_wrath(u.ux, u.uy); return(0); } *************** *** 525,531 **** /* Objects too large to engrave with */ case BALL_CLASS: case ROCK_CLASS: ! You_cant("engrave with such a large object!"); ptext = FALSE; break; --- 601,608 ---- /* Objects too large to engrave with */ case BALL_CLASS: case ROCK_CLASS: ! /*JP You_cant("engrave with such a large object!");*/ ! pline("¤½¤ó¤ÊÂ礭¤Ê¤â¤Î¤ò»È¤Ã¤Æʸ»ú¤ò¹ï¤á¤Ê¤¤¡ª"); ptext = FALSE; break; *************** *** 533,540 **** case FOOD_CLASS: case SCROLL_CLASS: case SPBOOK_CLASS: ! Your("%s would get %s.", xname(otmp), ! is_ice(u.ux,u.uy) ? "all frosty" : "too dirty"); ptext = FALSE; break; --- 610,619 ---- case FOOD_CLASS: case SCROLL_CLASS: case SPBOOK_CLASS: ! /*JP Your("%s would get %s.", xname(otmp), ! is_ice(u.ux,u.uy) ? "all frosty" : "too dirty");*/ ! Your("%s¤Ï%s¤Ê¤Ã¤¿¡¥", xname(otmp), ! is_ice(u.ux,u.uy) ? "ɹ¤Å¤±¤Ë" : "±ø¤Ê¤¯"); ptext = FALSE; break; *************** *** 573,592 **** */ case WAN_STRIKING: Strcpy(post_engr_text, ! "The wand unsuccessfully fights your attempt to write!" ); break; case WAN_SLOW_MONSTER: if (!Blind) { Sprintf(post_engr_text, ! "The bugs on the %s slow down!", surface(u.ux, u.uy)); } break; case WAN_SPEED_MONSTER: if (!Blind) { Sprintf(post_engr_text, ! "The bugs on the %s speed up!", surface(u.ux, u.uy)); } break; --- 652,674 ---- */ case WAN_STRIKING: Strcpy(post_engr_text, ! /*JP "The wand unsuccessfully fights your attempt to write!"*/ ! "¤¢¤Ê¤¿¤¬½ñ¤³¤¦¤È¤¹¤ë¤È¾ó¤ÏÄñ¹³¤·¤¿¡ª" ); break; case WAN_SLOW_MONSTER: if (!Blind) { Sprintf(post_engr_text, ! /*JP "The bugs on the %s slow down!",*/ ! "%s¤Î¾å¤ÎÃî¤ÎÆ°¤­¤¬ÃÙ¤¯¤Ê¤Ã¤¿¡ª", surface(u.ux, u.uy)); } break; case WAN_SPEED_MONSTER: if (!Blind) { Sprintf(post_engr_text, ! /*JP "The bugs on the %s speed up!",*/ ! "%s¤Î¾å¤ÎÃî¤ÎÆ°¤­¤¬Â®¤¯¤Ê¤Ã¤¿¡ª", surface(u.ux, u.uy)); } break; *************** *** 611,617 **** ptext = TRUE; if (!Blind) { Sprintf(post_engr_text, ! "The %s is riddled by bullet holes!", surface(u.ux, u.uy)); } break; --- 693,700 ---- ptext = TRUE; if (!Blind) { Sprintf(post_engr_text, ! /*JP "The %s is riddled by bullet holes!",*/ ! "%s¤Ï»¶ÃƤǺ٤¤·ê¤À¤é¤±¤Ë¤Ê¤Ã¤¿¡ª", surface(u.ux, u.uy)); } break; *************** *** 621,627 **** case WAN_DEATH: if (!Blind) { Sprintf(post_engr_text, ! "The bugs on the %s stop moving!", surface(u.ux, u.uy)); } break; --- 704,711 ---- case WAN_DEATH: if (!Blind) { Sprintf(post_engr_text, ! /*JP "The bugs on the %s stop moving!",*/ ! "%s¤Î¾å¤ÎÃî¤ÎÆ°¤­¤¬»ß¤Þ¤Ã¤¿¡ª", surface(u.ux, u.uy)); } break; *************** *** 629,642 **** case WAN_COLD: if (!Blind) Strcpy(post_engr_text, ! "A few ice cubes drop from the wand."); if(!oep || (oep->engr_type != BURN)) break; case WAN_CANCELLATION: case WAN_MAKE_INVISIBLE: if(oep) { if (!Blind) ! pline_The("engraving on the %s vanishes!", surface(u.ux,u.uy)); dengr = TRUE; } --- 713,728 ---- case WAN_COLD: if (!Blind) Strcpy(post_engr_text, ! /*JP "A few ice cubes drop from the wand.");*/ ! "ɹ¤Î¤«¤±¤é¤¬¾ó¤«¤é¤³¤Ü¤ìÍî¤Á¤¿¡¥"); if(!oep || (oep->engr_type != BURN)) break; case WAN_CANCELLATION: case WAN_MAKE_INVISIBLE: if(oep) { if (!Blind) ! /*JP pline_The("engraving on the %s vanishes!",*/ ! pline("%s¤Î¾å¤Îʸ»ú¤Ï¾Ã¤¨¤¿¡ª", surface(u.ux,u.uy)); dengr = TRUE; } *************** *** 644,650 **** case WAN_TELEPORTATION: if (oep) { if (!Blind) ! pline_The("engraving on the %s vanishes!", surface(u.ux,u.uy)); teleengr = TRUE; } --- 730,737 ---- case WAN_TELEPORTATION: if (oep) { if (!Blind) ! /*JP pline_The("engraving on the %s vanishes!",*/ ! pline("%s¤Î¾å¤Îʸ»ú¤Ï¾Ã¤¨¤¿¡ª", surface(u.ux,u.uy)); teleengr = TRUE; } *************** *** 656,672 **** type = ENGRAVE; if(!objects[otmp->otyp].oc_name_known) { if (flags.verbose) ! pline("This %s is a wand of digging!", ! xname(otmp)); doknown = TRUE; } if (!Blind) Strcpy(post_engr_text, is_ice(u.ux,u.uy) ? ! "Ice chips fly up from the ice surface!" : ! "Gravel flies up from the floor."); else ! Strcpy(post_engr_text, "You hear drilling!"); break; /* type = BURN wands */ --- 743,763 ---- type = ENGRAVE; if(!objects[otmp->otyp].oc_name_known) { if (flags.verbose) ! /*JP pline("This %s is a wand of digging!", ! xname(otmp));*/ ! pline("¤³¤ì¤Ï·ê·¡¤ê¤Î¾ó¤À¡ª"); doknown = TRUE; } if (!Blind) Strcpy(post_engr_text, is_ice(u.ux,u.uy) ? ! /*JP "Ice chips fly up from the ice surface!" : ! "Gravel flies up from the floor.");*/ ! "ɹ¤ÎɽÌ̤«¤éɹ¤Î¤«¤±¤é¤¬Èô¤Ó»¶¤Ã¤¿¡¥" : ! "º½Íø¤¬¾²¤«¤éÈô¤Ó»¶¤Ã¤¿¡¥"); else ! /*JP Strcpy(post_engr_text, "You hear drilling!");*/ ! Strcpy(post_engr_text, "·ê¤¬³«¤¯²»¤òʹ¤¤¤¿¡ª"); break; /* type = BURN wands */ *************** *** 675,702 **** type = BURN; if(!objects[otmp->otyp].oc_name_known) { if (flags.verbose) ! pline("This %s is a wand of fire!", xname(otmp)); doknown = TRUE; } Strcpy(post_engr_text, ! Blind ? "You feel the wand heat up." : ! "Flames fly from the wand."); break; case WAN_LIGHTNING: ptext = TRUE; type = BURN; if(!objects[otmp->otyp].oc_name_known) { if (flags.verbose) ! pline("This %s is a wand of lightning!", ! xname(otmp)); doknown = TRUE; } if (!Blind) { Strcpy(post_engr_text, ! "Lightning arcs from the wand."); doblind = TRUE; } else ! Strcpy(post_engr_text, "You hear crackling!"); break; /* type = MARK wands */ --- 766,801 ---- type = BURN; if(!objects[otmp->otyp].oc_name_known) { if (flags.verbose) ! /*JP pline("This %s is a wand of fire!", xname(otmp));*/ ! pline("¤³¤ì¤Ï±ê¤Î¾ó¤À¡ª"); doknown = TRUE; } Strcpy(post_engr_text, ! /*JP Blind ? "You feel the wand heat up." : ! "Flames fly from the wand.");*/ ! Hallucination ? "¥È¥«¥²¤Î¿¬Èø¤¬Èô¤Ó½Ð¤·¤¿¡ª" : ! Blind ? "¾ó¤¬ÃȤ«¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥" : ! "±ê¤¬¾ó¤«¤éÈô¤Ó»¶¤Ã¤¿¡¥"); break; case WAN_LIGHTNING: ptext = TRUE; type = BURN; if(!objects[otmp->otyp].oc_name_known) { if (flags.verbose) ! /*JP pline("This %s is a wand of lightning!", ! xname(otmp));*/ ! pline("¤³¤ì¤ÏÍë¤Î¾ó¤À¡ª"); doknown = TRUE; } if (!Blind) { Strcpy(post_engr_text, ! /*JP "Lightning arcs from the wand.");*/ ! Hallucination ? "¥Ù¡¼¥à¥Ù¡¼¥à¤¬¸½¤ï¤ì¤¿¡ª" : ! "²Ð²Ö¤¬¾ó¤«¤éÈô¤Ó»¶¤Ã¤¿¡¥"); doblind = TRUE; } else ! /*JP Strcpy(post_engr_text, "You hear crackling!");*/ ! Strcpy(post_engr_text, "¥Ñ¥Á¥Ñ¥Á¤È¤¤¤¦²»¤òʹ¤¤¤¿¡ª"); break; /* type = MARK wands */ *************** *** 704,710 **** } } else /* end if zappable */ if (!can_reach_floor()) { ! You_cant("reach the %s!", surface(u.ux,u.uy)); return(0); } break; --- 803,810 ---- } } else /* end if zappable */ if (!can_reach_floor()) { ! /*JP You_cant("reach the %s!", surface(u.ux,u.uy));*/ ! You("%s¤ËÆϤ«¤Ê¤¤¡ª", surface(u.ux,u.uy)); return(0); } break; *************** *** 714,732 **** if ((int)otmp->spe > -3) type = ENGRAVE; else ! Your("%s too dull for engraving.", aobjnam(otmp,"are")); break; case TOOL_CLASS: if(otmp == ublindf) { pline( ! "That is a bit difficult to engrave with, don't you think?"); return(0); } switch (otmp->otyp) { case MAGIC_MARKER: if (otmp->spe <= 0) ! Your("marker has dried out."); else type = MARK; break; --- 814,835 ---- if ((int)otmp->spe > -3) type = ENGRAVE; else ! /*JP Your("%s too dull for engraving.", aobjnam(otmp,"are"));*/ ! pline("%s¤Ï¿Ï¤¬¥Ü¥í¥Ü¥í¤Ç¡¤Ê¸»ú¤òĦ¤ì¤Ê¤¤¡¥",xname(otmp)); break; case TOOL_CLASS: if(otmp == ublindf) { pline( ! /*JP "That is a bit difficult to engrave with, don't you think?");*/ ! "¤Á¤ç¤Ã¤È¤½¤ì¤ÇĦ¤ë¤Î¤ÏÂçÊѤÀ¤í¤¦¡¤¤½¤¦»×¤ï¤Ê¤¤¡©"); return(0); } switch (otmp->otyp) { case MAGIC_MARKER: if (otmp->spe <= 0) ! /*JP Your("marker has dried out.");*/ ! Your("¥Þ¡¼¥«¤Ï³å¤­¤­¤Ã¤¿¡¥"); else type = MARK; break; *************** *** 738,755 **** (oep->engr_type == BLOOD) || (oep->engr_type == MARK )) { if (!Blind) ! You("wipe out the message here."); else ! Your("%s gets %s.", xname(otmp), is_ice(u.ux,u.uy) ? ! "frosty" : "dusty"); dengr = TRUE; } else ! Your("%s can't wipe out this engraving.", xname(otmp)); else ! Your("%s gets %s.", xname(otmp), ! is_ice(u.ux,u.uy) ? "frosty" : "dusty"); break; default: break; --- 841,865 ---- (oep->engr_type == BLOOD) || (oep->engr_type == MARK )) { if (!Blind) ! /*JP You("wipe out the message here.");*/ ! You("¥á¥Ã¥»¡¼¥¸¤ò¿¡¤­¤È¤Ã¤¿¡¥"); else ! /*JP Your("%s gets %s.", xname(otmp), is_ice(u.ux,u.uy) ? ! "frosty" : "dusty");*/ ! pline("%s¤Ï%s¤Ê¤Ã¤¿¡¥", xname(otmp), ! is_ice(u.ux,u.uy) ? ! "ɹ¤Å¤±¤Ë" : "¤Û¤³¤ê¤Þ¤ß¤ì¤Ë"); dengr = TRUE; } else ! /*JP Your("%s can't wipe out this engraving.",*/ ! pline("¤³¤Îʸ»ú¤Ï%s¤Ç¤Ï¿¡¤­¤È¤ì¤Ê¤¤¡¥", xname(otmp)); else ! /*JP Your("%s gets %s.", xname(otmp), ! is_ice(u.ux,u.uy) ? "frosty" : "dusty");*/ ! pline("%s¤Ï%s¤Ê¤Ã¤¿¡¥", xname(otmp), ! is_ice(u.ux,u.uy) ? "ɹ¤Å¤±¤Ë" : "¤Û¤³¤ê¤Þ¤ß¤ì¤Ë"); break; default: break; *************** *** 759,765 **** case VENOM_CLASS: #ifdef WIZARD if (wizard) { ! pline("Writing a poison pen letter??"); break; } #endif --- 869,876 ---- case VENOM_CLASS: #ifdef WIZARD if (wizard) { ! /*JP pline("Writing a poison pen letter??");*/ ! pline("¤Õ¤à¡¥¤³¤ì¤³¤½ËÜÅö¤ÎÆÇÀå¤À¡¥"); break; } #endif *************** *** 789,810 **** /* Something has changed the engraving here */ if (*buf) { make_engr_at(u.ux, u.uy, buf, moves, type); ! pline_The("engraving now reads: \"%s\".", buf); ptext = FALSE; } if (zapwand && (otmp->spe < 0)) { pline("%s %sturns to dust.", The(xname(otmp)), Blind ? "" : "glows violently, then "); You("are not going to get anywhere trying to write in the %s with your dust.", is_ice(u.ux,u.uy) ? "frost" : "dust"); useup(otmp); ptext = FALSE; } if (!ptext) { /* Early exit for some implements. */ if (otmp->oclass == WAND_CLASS && !can_reach_floor()) ! You_cant("reach the %s!", surface(u.ux,u.uy)); return(1); } --- 900,931 ---- /* Something has changed the engraving here */ if (*buf) { make_engr_at(u.ux, u.uy, buf, moves, type); ! /*JP pline_The("engraving now reads: \"%s\".", buf);*/ ! pline("¹ï¤Þ¤ì¤¿Ê¸»ú¤òÆɤó¤À¡§¡Ö%s¡×¡¥", buf); ptext = FALSE; } if (zapwand && (otmp->spe < 0)) { + #if 0 /*JP*/ pline("%s %sturns to dust.", The(xname(otmp)), Blind ? "" : "glows violently, then "); You("are not going to get anywhere trying to write in the %s with your dust.", is_ice(u.ux,u.uy) ? "frost" : "dust"); + #endif + pline("%s¤Ï%s¿Ð¤È¤Ê¤Ã¤¿¡¥", + The(xname(otmp)), Blind ? "" : "·ã¤·¤¯µ±¤­"); + /*JP You("are not going to get anywhere trying to write in the %s with your dust.", + is_ice(u.ux,u.uy) ? "frost" : "dust");*/ + You("¿Ð¤Ç%s¤Ë²¿¤«½ñ¤³¤¦¤È¤·¤¿¤¬¡¤¤Ç¤­¤Ê¤«¤Ã¤¿¡¥", + is_ice(u.ux,u.uy) ? "ɹ" : "¤Û¤³¤ê"); useup(otmp); ptext = FALSE; } if (!ptext) { /* Early exit for some implements. */ if (otmp->oclass == WAND_CLASS && !can_reach_floor()) ! /*JP You_cant("reach the %s!", surface(u.ux,u.uy));*/ ! You("%s¤ËÆϤ«¤Ê¤¤¡ª", surface(u.ux,u.uy)); return(1); } *************** *** 819,828 **** if ( (type == oep->engr_type) && (!Blind || (oep->engr_type == BURN) || (oep->engr_type == ENGRAVE)) ) { ! c = yn_function("Do you want to add to the current engraving?", ynqchars, 'y'); if (c == 'q') { ! pline("Never mind."); return(0); } } --- 940,951 ---- if ( (type == oep->engr_type) && (!Blind || (oep->engr_type == BURN) || (oep->engr_type == ENGRAVE)) ) { ! /*JP c = yn_function("Do you want to add to the current engraving?",*/ ! c = yn_function("²¿¤«½ñ¤­²Ã¤¨¤Þ¤¹¤«¡©", ynqchars, 'y'); if (c == 'q') { ! /*JP pline("Never mind.");*/ ! pline("¤Ø¡©"); return(0); } } *************** *** 832,841 **** if( (oep->engr_type == DUST) || (oep->engr_type == BLOOD) || (oep->engr_type == MARK) ) { if (!Blind) { ! You("wipe out the message that was %s here.", ((oep->engr_type == DUST) ? "written in the dust" : ((oep->engr_type == BLOOD) ? "scrawled in blood" : ! "written"))); del_engr(oep); oep = (struct engr *)0; } else --- 955,968 ---- if( (oep->engr_type == DUST) || (oep->engr_type == BLOOD) || (oep->engr_type == MARK) ) { if (!Blind) { ! /*JP You("wipe out the message that was %s here.", ((oep->engr_type == DUST) ? "written in the dust" : ((oep->engr_type == BLOOD) ? "scrawled in blood" : ! "written")));*/ ! You("%s¥á¥Ã¥»¡¼¥¸¤ò¿¡¤­¤È¤Ã¤¿¡¥", ! ((oep->engr_type == DUST) ? "¤Û¤³¤ê¤Ë½ñ¤«¤ì¤Æ¤¤¤ë" : ! ((oep->engr_type == BLOOD) ? "·ìʸ»ú¤Ç¤Ê¤°¤ê½ñ¤­¤µ¤ì¤Æ¤¤¤ë" : ! "½ñ¤«¤ì¤Æ¤¤¤ë"))); del_engr(oep); oep = (struct engr *)0; } else *************** *** 843,858 **** eow = TRUE; } else if ( (type == DUST) || (type == MARK) || (type == BLOOD) ) { ! You( "cannot wipe out the message that is %s the %s here.", oep->engr_type == BURN ? (is_ice(u.ux,u.uy) ? "melted into" : "burned into") : ! "engraved in", surface(u.ux,u.uy)); return(1); } else if ( (type != oep->engr_type) || (c == 'n') ) { if (!Blind || can_reach_floor()) ! You("will overwrite the current message."); eow = TRUE; } } --- 970,991 ---- eow = TRUE; } else if ( (type == DUST) || (type == MARK) || (type == BLOOD) ) { ! /*JP You( "cannot wipe out the message that is %s the %s here.", oep->engr_type == BURN ? (is_ice(u.ux,u.uy) ? "melted into" : "burned into") : ! "engraved in", surface(u.ux,u.uy));*/ ! You("%s¤Ë%s¥á¥Ã¥»¡¼¥¸¤ò¿¡¤­¤È¤ì¤Ê¤«¤Ã¤¿¡¥", ! surface(u.ux, u.uy), ! oep->engr_type == BURN ? ! (is_ice(u.ux,u.uy) ? "¹ï¤Þ¤ì¤Æ¤¤¤ë" : "dz¤¨¤Æ¤¤¤ë") : ! "¹ï¤Þ¤ì¤Æ¤¤¤ë"); return(1); } else if ( (type != oep->engr_type) || (c == 'n') ) { if (!Blind || can_reach_floor()) ! /*JP You("will overwrite the current message.");*/ ! You("¥á¥Ã¥»¡¼¥¸¤ò¾å½ñ¤­¤·¤è¤¦¤È¤·¤¿¡¥"); eow = TRUE; } } *************** *** 860,902 **** eloc = surface(u.ux,u.uy); switch(type){ default: ! everb = (oep && !eow ? "add to the weird writing on" : ! "write strangely on"); break; case DUST: ! everb = (oep && !eow ? "add to the writing in" : ! "write in"); ! eloc = is_ice(u.ux,u.uy) ? "frost" : "dust"; break; case ENGRAVE: ! everb = (oep && !eow ? "add to the engraving in" : ! "engrave in"); break; case BURN: everb = (oep && !eow ? ! ( is_ice(u.ux,u.uy) ? "add to the text melted into" : "add to the text burned into") : ! ( is_ice(u.ux,u.uy) ? "melt into" : "burn into")); break; case MARK: ! everb = (oep && !eow ? "add to the graffiti on" : ! "scribble on"); break; case BLOOD: ! everb = (oep && !eow ? "add to the scrawl on" : ! "scrawl on"); break; } /* Tell adventurer what is going on */ if (otmp != &zeroobj) ! You("%s the %s with %s.", everb, eloc, doname(otmp)); else ! You("%s the %s with your %s.", everb, eloc, ! makeplural(body_part(FINGER))); /* Prompt for engraving! */ ! Sprintf(qbuf,"What do you want to %s the %s here?", everb, eloc); getlin(qbuf, ebuf); /* Mix up engraving if surface or state of mind is unsound. */ --- 993,1053 ---- eloc = surface(u.ux,u.uy); switch(type){ default: ! /*JP everb = (oep && !eow ? "add to the weird writing on" : ! "write strangely on");*/ ! everb = (oep && !eow ? "´ñ̯¤Êʸ»úÎó¤Ë½ñ¤­²Ã¤¨¤ë" : ! "´ñ̯¤Êʸ»úÎó¤ò½ñ¤¯"); break; case DUST: ! /*JP everb = (oep && !eow ? "add to the writing in" : ! "write in");*/ ! everb = (oep && !eow ? "½ñ¤­²Ã¤¨¤ë" : ! "½ñ¤¯"); ! /*JP eloc = is_ice(u.ux,u.uy) ? "frost" : "dust";*/ ! eloc = is_ice(u.ux,u.uy) ? "ɹ" : "¤Û¤³¤ê"; break; case ENGRAVE: ! /*JP everb = (oep && !eow ? "add to the engraving in" : ! "engrave in");*/ ! everb = (oep && !eow ? "¹ï¤ß²Ã¤¨¤ë" : ! "¹ï¤à"); break; case BURN: everb = (oep && !eow ? ! /*JP ( is_ice(u.ux,u.uy) ? "add to the text melted into" : "add to the text burned into") : ! ( is_ice(u.ux,u.uy) ? "melt into" : "burn into"));*/ ! ( is_ice(u.ux,u.uy) ? "¹ï¤ß²Ã¤¨¤ë" : ! "dz¤¨¤Æ¤¤¤ëʸ»ú¤Ë½ñ¤­²Ã¤¨¤ë") : ! ( is_ice(u.ux,u.uy) ? "¹ï¤à" : "¾Æ°õ¤ò¤¤¤ì¤ë")); break; case MARK: ! /*JP everb = (oep && !eow ? "add to the graffiti on" : ! "scribble on");*/ ! everb = (oep && !eow ? "Íî½ñ¤Ë½ñ¤­²Ã¤¨¤ë" : ! "¤Ï¤·¤ê½ñ¤­¤¹¤ë"); break; case BLOOD: ! /*JP everb = (oep && !eow ? "add to the scrawl on" : ! "scrawl on");*/ ! everb = (oep && !eow ? "¤Ê¤°¤ê½ñ¤­¤Ë½ñ¤­²Ã¤¨¤ë" : ! "¤Ê¤°¤ê½ñ¤­¤¹¤ë"); break; } /* Tell adventurer what is going on */ if (otmp != &zeroobj) ! /*JP You("%s the %s with %s.", everb, eloc, doname(otmp));*/ ! You("%s¤Ç%s¤Ë%s", doname(otmp), eloc, jconj(everb,"¤¿")); else ! /*JP You("%s the %s with your %s.", everb, eloc, ! makeplural(body_part(FINGER)));*/ ! You("%s¤Ç%s¤Ë%s", makeplural(body_part(FINGER)), ! eloc, jconj(everb,"¤¿")); /* Prompt for engraving! */ ! /*JP Sprintf(qbuf,"What do you want to %s the %s here?", everb, eloc);*/ ! Sprintf(qbuf,"%s¤Ë²¿¤È%s¡©", eloc, jconj(everb,"¤Þ¤¹¤«")); getlin(qbuf, ebuf); /* Mix up engraving if surface or state of mind is unsound. */ *************** *** 904,924 **** for (sp = ebuf; *sp; sp++) if ( ((type == DUST || type == BLOOD) && !rn2(25)) || (Blind && !rn2(9)) || (Confusion && !rn2(12)) || ! (Stunned && !rn2(4)) || (Hallucination && !rn2(1)) ) ! *sp = '!' + rn2(93); /* ASCII-code only */ /* Count the actual # of chars engraved not including spaces */ len = strlen(ebuf); ! for (sp = ebuf, spct = 0; *sp; sp++) if (isspace(*sp)) spct++; if ( (len == spct) || index(ebuf, '\033') ) { if (zapwand) { if (!Blind) ! pline("%s glows, then fades.", The(xname(otmp))); return(1); } else { ! pline("Never mind."); return(0); } } --- 1055,1085 ---- for (sp = ebuf; *sp; sp++) if ( ((type == DUST || type == BLOOD) && !rn2(25)) || (Blind && !rn2(9)) || (Confusion && !rn2(12)) || ! (Stunned && !rn2(4)) || (Hallucination && !rn2(1)) ){ ! /*JP*/ ! if(is_kanji1(ebuf, sp-ebuf)) ! jrndm_replace(sp); ! else if(is_kanji2(ebuf, sp-ebuf)) ! jrndm_replace(sp-1); ! else ! *sp = '!' + rn2(93); /* ASCII-code only */ ! } /* Count the actual # of chars engraved not including spaces */ len = strlen(ebuf); ! /*JP for (sp = ebuf, spct = 0; *sp; sp++) if (isspace(*sp)) spct++;*/ ! for (sp = ebuf, spct = 0; *sp; sp++) if (isspace_8(*sp)) spct++; if ( (len == spct) || index(ebuf, '\033') ) { if (zapwand) { if (!Blind) ! /*JP pline("%s glows, then fades.", The(xname(otmp)));*/ ! pline("%s¤Ïµ±¤¤¤¿¤¬¡¤¤¹¤°¤Ë¾Ã¤¨¤¿¡¥", The(xname(otmp))); return(1); } else { ! /*JP pline("Never mind.");*/ ! pline("¤Ø¡©"); return(0); } } *************** *** 937,947 **** switch(type){ default: multi = -(len/10); ! if (multi) nomovemsg = "You finish your weird engraving."; break; case DUST: multi = -(len/10); ! if (multi) nomovemsg = "You finish writing in the dust."; break; case ENGRAVE: multi = -(len/10); --- 1098,1110 ---- switch(type){ default: multi = -(len/10); ! /*JP if (multi) nomovemsg = "You finish your weird engraving.";*/ ! if (multi) nomovemsg = "¤¢¤Ê¤¿¤Ï´ñ̯¤Ê¹ï¤ß¤ò½ª¤¨¤¿¡¥"; break; case DUST: multi = -(len/10); ! /*JP if (multi) nomovemsg = "You finish writing in the dust.";*/ ! if (multi) nomovemsg = "¤¢¤Ê¤¿¤Ï¤Û¤³¤ê¤Ë½ñ¤­½ª¤¨¤¿¡¥"; break; case ENGRAVE: multi = -(len/10); *************** *** 955,961 **** * However, you could now engrave "Elb", then * "ere", then "th". */ ! Your("%s dull.", aobjnam(otmp, "get")); if (len > maxelen) { multi = -maxelen; otmp->spe = -3; --- 1118,1125 ---- * However, you could now engrave "Elb", then * "ere", then "th". */ ! /*JP Your("%s dull.", aobjnam(otmp, "get"));*/ ! Your("%s¤Ï¿Ï¤³¤Ü¤ì¤·¤¿¡¥", xname(otmp)); if (len > maxelen) { multi = -maxelen; otmp->spe = -3; *************** *** 966,979 **** if ( (otmp->oclass == RING_CLASS) || (otmp->oclass == GEM_CLASS) ) multi = -len; ! if (multi) nomovemsg = "You finish engraving."; break; case BURN: multi = -(len/10); if (multi) nomovemsg = is_ice(u.ux,u.uy) ? ! "You finish melting your message into the ice.": ! "You finish burning your message into the floor."; break; case MARK: multi = -(len/10); --- 1130,1146 ---- if ( (otmp->oclass == RING_CLASS) || (otmp->oclass == GEM_CLASS) ) multi = -len; ! /*JP if (multi) nomovemsg = "You finish engraving.";*/ ! if (multi) nomovemsg = "¤¢¤Ê¤¿¤Ï¹ï¤ß½ª¤¨¤¿¡¥"; break; case BURN: multi = -(len/10); if (multi) nomovemsg = is_ice(u.ux,u.uy) ? ! /*JP "You finish melting your message into the ice.": ! "You finish burning your message into the floor.";*/ ! "ɹ¤Ø¥á¥Ã¥»¡¼¥¸¤ò¹ï¤ß½ª¤¨¤¿¡¥": ! "±ê¤Ø¥á¥Ã¥»¡¼¥¸¤òdz°õ¤ò¤¤¤ì½ª¤¨¤¿¡¥"; break; case MARK: multi = -(len/10); *************** *** 981,1009 **** (otmp->otyp == MAGIC_MARKER)) { maxelen = (otmp->spe) * 2; /* one charge / 2 letters */ if (len > maxelen) { ! Your("marker dries out."); otmp->spe = 0; multi = -(maxelen/10); } else if (len > 1) otmp->spe -= len >> 1; else otmp->spe -= 1; /* Prevent infinite grafitti */ } ! if (multi) nomovemsg = "You finish defacing the dungeon."; break; case BLOOD: multi = -(len/10); ! if (multi) nomovemsg = "You finish scrawling."; break; } /* Chop engraving down to size if necessary */ if (len > maxelen) { for (sp = ebuf; (maxelen && *sp); sp++) ! if (!isspace(*sp)) maxelen--; if (!maxelen && *sp) { *sp = (char)0; ! if (multi) nomovemsg = "You cannot write any more."; ! You("only are able to write \"%s\"", ebuf); } } --- 1148,1184 ---- (otmp->otyp == MAGIC_MARKER)) { maxelen = (otmp->spe) * 2; /* one charge / 2 letters */ if (len > maxelen) { ! /*JP Your("marker dries out.");*/ ! Your("¥Þ¡¼¥«¤Ï³å¤­¤­¤Ã¤¿¡¥"); otmp->spe = 0; multi = -(maxelen/10); } else if (len > 1) otmp->spe -= len >> 1; else otmp->spe -= 1; /* Prevent infinite grafitti */ } ! /*JP if (multi) nomovemsg = "You finish defacing the dungeon.";*/ ! if (multi) nomovemsg = "¤¢¤Ê¤¿¤Ï̵ܤؤÎÍî½ñ¤ò½ñ¤­½ª¤¨¤¿¡¥"; break; case BLOOD: multi = -(len/10); ! /*JP if (multi) nomovemsg = "You finish scrawling.";*/ ! if (multi) nomovemsg = "¤Ï¤·¤ê½ñ¤­¤ò½ñ¤­½ª¤¨¤¿¡¥"; break; } /* Chop engraving down to size if necessary */ if (len > maxelen) { for (sp = ebuf; (maxelen && *sp); sp++) ! /*JP if (!isspace(*sp)) maxelen--;*/ ! if (!isspace_8(*sp)) maxelen--; if (!maxelen && *sp) { + if(is_kanji2(ebuf, sp - ebuf)) + --sp; *sp = (char)0; ! /*JP if (multi) nomovemsg = "You cannot write any more.";*/ ! if (multi) nomovemsg = "¤³¤ì°Ê¾å²¿¤â½ñ¤±¤Ê¤«¤Ã¤¿¡¥"; ! /*JP You("only are able to write \"%s\"", ebuf);*/ ! You("ñ¤Ë¡Ö%s¡×¤È½ñ¤±¤¿¤À¤±¤À¡¥", ebuf); } } *************** *** 1017,1023 **** if (post_engr_text[0]) pline(post_engr_text); if (doblind && !resists_blnd(&youmonst)) { ! You("are blinded by the flash!"); make_blinded((long)rnd(50),FALSE); } --- 1192,1199 ---- if (post_engr_text[0]) pline(post_engr_text); if (doblind && !resists_blnd(&youmonst)) { ! /*JP You("are blinded by the flash!");*/ ! You("¤Þ¤Ð¤æ¤¤¸÷¤ÇÌܤ¬¤¯¤é¤ó¤À¡ª"); make_blinded((long)rnd(50),FALSE); } diff -c -r ../nethack-3.2.2/src/exper.c ./src/exper.c *** ../nethack-3.2.2/src/exper.c Sat Dec 28 21:53:41 1996 --- ./src/exper.c Tue Jul 22 23:18:18 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" static long FDECL(newuexp, (int)); *************** *** 107,113 **** if (resists_drli(&youmonst)) return; if(u.ulevel > 1) { ! pline("Goodbye level %d.", u.ulevel--); /* remove intrinsic abilities */ adjabil(u.ulevel + 1, u.ulevel); reset_rndmonst(NON_PM); /* new monster selection */ --- 114,121 ---- if (resists_drli(&youmonst)) return; if(u.ulevel > 1) { ! /*JP pline("Goodbye level %d.", u.ulevel--);*/ ! pline("¤µ¤è¤¦¤Ê¤é¥ì¥Ù¥ë%d¡¥", u.ulevel--); /* remove intrinsic abilities */ adjabil(u.ulevel + 1, u.ulevel); reset_rndmonst(NON_PM); /* new monster selection */ *************** *** 140,146 **** u.ulevel++; if (u.uexp >= newuexp(u.ulevel)) u.uexp = newuexp(u.ulevel) - 1; ! pline("Welcome to experience level %d.", u.ulevel); /* give new intrinsics */ adjabil(u.ulevel - 1, u.ulevel); reset_rndmonst(NON_PM); /* new monster selection */ --- 148,155 ---- u.ulevel++; if (u.uexp >= newuexp(u.ulevel)) u.uexp = newuexp(u.ulevel) - 1; ! /*JP pline("Welcome to experience level %d.", u.ulevel);*/ ! pline("¥ì¥Ù¥ë%d¤Ë¤è¤¦¤³¤½¡¥", u.ulevel); /* give new intrinsics */ adjabil(u.ulevel - 1, u.ulevel); reset_rndmonst(NON_PM); /* new monster selection */ *************** *** 159,165 **** { register int num; ! You_feel("more experienced."); num = newhp(); u.uhpmax += num; u.uhp += num; --- 168,175 ---- { register int num; ! /*JP You_feel("more experienced.");*/ ! You("¤è¤ê·Ð¸³¤ò¤Ä¤ó¤À¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); num = newhp(); u.uhpmax += num; u.uhp += num; *************** *** 168,174 **** u.uen += num; if(u.ulevel < MAXULEV) { u.uexp = newuexp(u.ulevel); ! pline("Welcome to experience level %d.", ++u.ulevel); adjabil(u.ulevel - 1, u.ulevel); reset_rndmonst(NON_PM); /* new monster selection */ } --- 178,185 ---- u.uen += num; if(u.ulevel < MAXULEV) { u.uexp = newuexp(u.ulevel); ! /*JP pline("Welcome to experience level %d.", ++u.ulevel);*/ ! pline("¥ì¥Ù¥ë%d¤Ë¤è¤¦¤³¤½¡¥", ++u.ulevel); adjabil(u.ulevel - 1, u.ulevel); reset_rndmonst(NON_PM); /* new monster selection */ } diff -c -r ../nethack-3.2.2/src/explode.c ./src/explode.c *** ../nethack-3.2.2/src/explode.c Fri Jun 21 02:25:02 1996 --- ./src/explode.c Tue Jul 22 23:18:18 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (C) 1990 by Ken Arromdee */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #ifdef OVL0 *************** *** 52,72 **** } switch (abs(type) % 10) { ! case 0: str = "magical blast"; adtyp = AD_MAGM; break; ! case 1: str = olet == BURNING_OIL ? "burning oil" : olet == SCROLL_CLASS ? "tower of flame" : ! "fireball"; adtyp = AD_FIRE; break; ! case 2: str = "ball of cold"; adtyp = AD_COLD; break; ! case 4: str = "disintegration field"; adtyp = AD_DISN; break; ! case 5: str = "ball lightning"; adtyp = AD_ELEC; break; default: impossible("explosion base type %d?", type); return; --- 59,86 ---- } switch (abs(type) % 10) { ! /*JP case 0: str = "magical blast";*/ ! case 0: str = "ËâË¡¤ÎÉ÷"; adtyp = AD_MAGM; break; ! /*JP case 1: str = olet == BURNING_OIL ? "burning oil" : olet == SCROLL_CLASS ? "tower of flame" : ! "fireball";*/ ! case 1: str = olet == BURNING_OIL ? "dz¤¨¤Æ¤¤¤ëÌý" : ! olet == SCROLL_CLASS ? "²ÐÃì" : ! "²Ð¤Î¶Ì"; adtyp = AD_FIRE; break; ! /*JP case 2: str = "ball of cold";*/ ! case 2: str = "ɹ¤Î¶Ì"; adtyp = AD_COLD; break; ! /*JP case 4: str = "disintegration field";*/ ! case 4: str = "Ê´ºÕ¤ÎÉ÷"; adtyp = AD_DISN; break; ! /*JP case 5: str = "ball lightning";*/ ! case 5: str = "Íëµå"; adtyp = AD_ELEC; break; default: impossible("explosion base type %d?", type); return; *************** *** 169,175 **** } } else { ! if (flags.soundok) You_hear("a blast."); } if (dam) --- 183,190 ---- } } else { ! /*JP if (flags.soundok) You_hear("a blast.");*/ ! if (flags.soundok) You("ÇúÉ÷¤Î²»¤òʹ¤¤¤¿¡ª"); } if (dam) *************** *** 185,208 **** if (!mtmp) continue; if (u.uswallow && mtmp == u.ustuck) { if (is_animal(u.ustuck->data)) ! pline("%s gets %s!", Monnam(u.ustuck), (adtyp == AD_FIRE) ? "heartburn" : (adtyp == AD_COLD) ? "chilly" : (adtyp == AD_DISN) ? "perforated" : (adtyp == AD_ELEC) ? "shocked" : "fried"); else pline("%s gets slightly %s!", Monnam(u.ustuck), ! (adtyp == AD_FIRE) ? "toasted" : ! (adtyp == AD_COLD) ? "chilly" : ! (adtyp == AD_DISN) ? "perforated" : ! (adtyp == AD_ELEC) ? "shocked" : "fried"); } else ! pline("%s is caught in the %s!", ! cansee(i+x-1, j+y-1) ? Monnam(mtmp) : "It", str); idamres += destroy_mitem(mtmp, SCROLL_CLASS, (int) adtyp); idamres += destroy_mitem(mtmp, SPBOOK_CLASS, (int) adtyp); --- 200,232 ---- if (!mtmp) continue; if (u.uswallow && mtmp == u.ustuck) { if (is_animal(u.ustuck->data)) ! /*JP pline("%s gets %s!", Monnam(u.ustuck), (adtyp == AD_FIRE) ? "heartburn" : (adtyp == AD_COLD) ? "chilly" : (adtyp == AD_DISN) ? "perforated" : (adtyp == AD_ELEC) ? "shocked" : + "fried");*/ + pline("%s¤Ï%s¡ª", + Monnam(u.ustuck), + (adtyp == AD_FIRE) ? "dz¤¨¤¿" : + (adtyp == AD_COLD) ? "Åà¤é¤µ¤ì¤¿" : + (adtyp == AD_DISN) ? "·ê¤ò¤¢¤±¤é¤ì¤¿" : + (adtyp == AD_ELEC) ? "ÅÅ·â¤ò¤¯¤é¤Ã¤¿" : "fried"); else pline("%s gets slightly %s!", Monnam(u.ustuck), ! (adtyp == AD_FIRE) ? "¾Ç¤²¤¿" : ! (adtyp == AD_COLD) ? "Åà¤é¤µ¤ì¤¿" : ! (adtyp == AD_DISN) ? "·ê¤ò¤¢¤±¤é¤ì¤¿" : ! (adtyp == AD_ELEC) ? "ÅÅ·â¤ò¤¯¤é¤Ã¤¿" : "fried"); } else ! /*JP pline("%s is caught in the %s!", ! cansee(i+x-1, j+y-1) ? Monnam(mtmp) : "It", str);*/ ! pline("%s¤Ï%s¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡ª", ! cansee(i+x-1, j+y-1) ? Monnam(mtmp) : "²¿¼Ô¤«", str); idamres += destroy_mitem(mtmp, SCROLL_CLASS, (int) adtyp); idamres += destroy_mitem(mtmp, SPBOOK_CLASS, (int) adtyp); *************** *** 221,229 **** int mdam = dam; if (resist(mtmp, olet, 0, FALSE)) { ! pline("%s resists the magical blast!", cansee(i+x-1,j+y-1) ? Monnam(mtmp) ! : "It"); mdam = dam/2; } if (mtmp == u.ustuck) --- 245,255 ---- int mdam = dam; if (resist(mtmp, olet, 0, FALSE)) { ! /*JP pline("%s resists the magical blast!",*/ ! pline("%s¤ÏËâË¡¤ÎÉ÷¤ò̵¸ú²½¤·¤¿¡ª", cansee(i+x-1,j+y-1) ? Monnam(mtmp) ! /*JP : "It");*/ ! : "²¿¼Ô¤«"); mdam = dam/2; } if (mtmp == u.ustuck) *************** *** 246,252 **** /* Do your injury last */ if (uhurt) { if (type >= 0 && flags.verbose && olet != SCROLL_CLASS) ! You("are caught in the %s!", str); /* do property damage first, in case we end up leaving bones */ if (adtyp == AD_FIRE) (void) burnarmor(); destroy_item(SCROLL_CLASS, (int) adtyp); --- 272,279 ---- /* Do your injury last */ if (uhurt) { if (type >= 0 && flags.verbose && olet != SCROLL_CLASS) ! /*JP You("are caught in the %s!", str);*/ ! You("%s¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡ª", str); /* do property damage first, in case we end up leaving bones */ if (adtyp == AD_FIRE) (void) burnarmor(); destroy_item(SCROLL_CLASS, (int) adtyp); *************** *** 262,270 **** char buf[BUFSZ]; if (type >= 0 && olet != SCROLL_CLASS) { ! killer_format = NO_KILLER_PREFIX; ! Sprintf(buf, "caught %sself in %s own %s.", ! him[flags.female], his[flags.female], str); } else { killer_format = KILLED_BY; Strcpy(buf, str); --- 289,300 ---- char buf[BUFSZ]; if (type >= 0 && olet != SCROLL_CLASS) { ! /*JP killer_format = NO_KILLER_PREFIX;*/ ! killer_format = KILLED_BY; ! /*JP Sprintf(buf, "caught %sself in %s own %s.", ! him[flags.female], his[flags.female], str);*/ ! Sprintf(buf, "¼«Ê¬¼«¿È¤Î%s¤Ë¤Ä¤Ä¤Þ¤ì¤Æ", ! str); } else { killer_format = KILLED_BY; Strcpy(buf, str); *************** *** 279,287 **** } if (shopdamage) { ! pay_for_damage(adtyp == AD_FIRE ? "burn away" : adtyp == AD_COLD ? "shatter" : ! adtyp == AD_DISN ? "disintegrate" : "destroy"); } } #endif /* OVL0 */ --- 309,320 ---- } if (shopdamage) { ! /*JP pay_for_damage(adtyp == AD_FIRE ? "burn away" : adtyp == AD_COLD ? "shatter" : ! adtyp == AD_DISN ? "disintegrate" : "destroy");*/ ! pay_for_damage(adtyp == AD_FIRE ? "¾Æ¤¯" : ! adtyp == AD_COLD ? "¤³¤Ê¤´¤Ê¤Ë¤¹¤ë" : ! adtyp == AD_DISN ? "¤³¤Ê¤´¤Ê¤Ë¤¹¤ë" : "Ç˲õ¤¹¤ë"); } } #endif /* OVL0 */ *************** *** 337,343 **** && ((otmp->otyp == BOULDER) || (otmp->otyp == STATUE)) && rn2(10)) { if (otmp->otyp == BOULDER) { ! pline("%s breaks apart.",The(xname(otmp))); fracture_rock(otmp); place_object(otmp, sx, sy); /* put fragments on floor */ } else { --- 370,377 ---- && ((otmp->otyp == BOULDER) || (otmp->otyp == STATUE)) && rn2(10)) { if (otmp->otyp == BOULDER) { ! /*JP pline("%s breaks apart.",The(xname(otmp)));*/ ! pline("%s¤Ï°ìÉôʬ¤¬ºÕ¤±¤¿¡¥",The(xname(otmp))); fracture_rock(otmp); place_object(otmp, sx, sy); /* put fragments on floor */ } else { *************** *** 345,351 **** if ((trap = t_at(sx,sy)) && trap->ttyp == STATUE_TRAP) deltrap(trap); ! pline("%s crumbles.",The(xname(otmp))); (void) break_statue(otmp); place_object(otmp, sx, sy); /* put fragments on floor */ } --- 379,386 ---- if ((trap = t_at(sx,sy)) && trap->ttyp == STATUE_TRAP) deltrap(trap); ! /*JP pline("%s crumbles.",The(xname(otmp)));*/ ! pline("%s¤Ï¤³¤Ê¤´¤Ê¤Ë¤Ê¤Ã¤¿¡¥",The(xname(otmp))); (void) break_statue(otmp); place_object(otmp, sx, sy); /* put fragments on floor */ } diff -c -r ../nethack-3.2.2/src/files.c ./src/files.c *** ../nethack-3.2.2/src/files.c Sat Dec 28 21:53:41 1996 --- ./src/files.c Tue Jul 22 23:18:19 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "dlb.h" *************** *** 951,956 **** --- 958,971 ---- if ((fp = fopenp(tmp_config, "r")) != (FILE *)0) return(fp); # else /* should be only UNIX left */ + /* + ** Kazuhiro Fujieda 94/6/22 + */ + Sprintf(tmp_config, "%s/%s", getenv("HOME"), ".jnethackrc"); + if ((fp = fopenp(tmp_config, "r")) != (FILE *)0) { + configfile = ".jnethackrc"; + return(fp); + } Sprintf(tmp_config, "%s/%s", getenv("HOME"), ".nethackrc"); if ((fp = fopenp(tmp_config, "r")) != (FILE *)0) return(fp); *************** *** 1036,1042 **** /* remove trailing whitespace */ bufp = eos(buf); ! while (--bufp > buf && isspace(*bufp)) continue; if (bufp <= buf) --- 1051,1058 ---- /* remove trailing whitespace */ bufp = eos(buf); ! /*JP while (--bufp > buf && isspace(*bufp))*/ ! while (--bufp > buf && isspace_8(*bufp)) continue; if (bufp <= buf) *************** *** 1051,1057 **** if (!bufp) return 0; /* skip whitespace between '=' and value */ ! do { ++bufp; } while (isspace(*bufp)); /* Go through possible variables */ if (!strncmpi(buf, "OPTIONS", 4)) { --- 1067,1074 ---- if (!bufp) return 0; /* skip whitespace between '=' and value */ ! /*JP do { ++bufp; } while (isspace(*bufp));*/ ! do { ++bufp; } while (isspace_8(*bufp)); /* Go through possible variables */ if (!strncmpi(buf, "OPTIONS", 4)) { *************** *** 1235,1240 **** --- 1252,1259 ---- # endif #endif char buf[BUFSZ]; + /*JP*/ + char jbuf[BUFSZ]; FILE *fp; #ifdef MAC *************** *** 1271,1278 **** --- 1290,1302 ---- #endif while (fgets(buf, BUFSZ, fp)) { + Strcpy(jbuf, str2ic(buf)); + if (!parse_config_line(fp, jbuf, tmp_ramdisk, tmp_levels)) { + raw_printf("Bad option line: \"%s\"", jbuf); + /*JP if (!parse_config_line(fp, buf, tmp_ramdisk, tmp_levels)) { raw_printf("Bad option line: \"%s\"", buf); + */ wait_synch(); } } diff -c -r ../nethack-3.2.2/src/fountain.c ./src/fountain.c *** ../nethack-3.2.2/src/fountain.c Fri Jun 21 02:25:03 1996 --- ./src/fountain.c Tue Jul 22 23:18:19 1997 *************** *** 4,9 **** --- 4,16 ---- /* Code for drinking from fountains. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" static void NDECL(dowatersnakes); *************** *** 16,22 **** floating_above(what) const char *what; { ! You("are floating high above the %s.", what); } static void --- 23,30 ---- floating_above(what) const char *what; { ! /*JP You("are floating high above the %s.", what);*/ ! You("%s¤ÎÍÚ¤«¾åÊý¤ËÉ⤤¤Æ¤¤¤ë¡¥", what); } static void *************** *** 27,42 **** if (!(mvitals[PM_WATER_MOCCASIN].mvflags & G_GONE)) { if (!Blind) ! pline("An endless stream of %s pours forth!", ! Hallucination ? makeplural(rndmonnam()) : "snakes"); else ! You_hear("%s hissing!", something); while(num-- > 0) if((mtmp = makemon(&mons[PM_WATER_MOCCASIN], u.ux, u.uy, NO_MM_FLAGS)) && t_at(mtmp->mx, mtmp->my)) (void) mintrap(mtmp); } else ! pline_The("fountain bubbles furiously for a moment, then calms."); } static --- 35,54 ---- if (!(mvitals[PM_WATER_MOCCASIN].mvflags & G_GONE)) { if (!Blind) ! /*JP pline("An endless stream of %s pours forth!", ! Hallucination ? makeplural(rndmonnam()) : "snakes");*/ ! pline("%s¤¬¤É¤É¤Ã¤Èή¤ì¤¿¡ª", ! Hallucination ? makeplural(rndmonnam()) : "¼Ø"); else ! /*JP You_hear("something hissing!");*/ ! You_hear("¥·¡¼¥Ã¤È¤¤¤¦²»¤òʹ¤¤¤¿¡ª"); while(num-- > 0) if((mtmp = makemon(&mons[PM_WATER_MOCCASIN], u.ux, u.uy, NO_MM_FLAGS)) && t_at(mtmp->mx, mtmp->my)) (void) mintrap(mtmp); } else ! /*JP pline_The("fountain bubbles furiously for a moment, then calms.");*/ ! pline("Àô¤ÏÆÍÁ³·ã¤·¤¯Ë¢¤À¤Á¡¤¸µ¤ËÌá¤Ã¤¿¡¥"); } static *************** *** 48,61 **** if(mvitals[PM_WATER_DEMON].mvflags & G_GONE) return; if((mtmp = makemon(&mons[PM_WATER_DEMON],u.ux,u.uy, NO_MM_FLAGS))) { if (!Blind) ! You("unleash %s!", a_monnam(mtmp)); else ! You_feel("the presence of evil."); /* Give those on low levels a (slightly) better chance of survival */ if (rnd(100) > (80 + level_difficulty())) { ! pline("Grateful for %s release, %s grants you a wish!", ! his[pronoun_gender(mtmp)], he[pronoun_gender(mtmp)]); makewish(); mongone(mtmp); } else if (t_at(mtmp->mx, mtmp->my)) --- 60,77 ---- if(mvitals[PM_WATER_DEMON].mvflags & G_GONE) return; if((mtmp = makemon(&mons[PM_WATER_DEMON],u.ux,u.uy, NO_MM_FLAGS))) { if (!Blind) ! /*JP You("unleash %s!", a_monnam(mtmp));*/ ! You("%s¤ò²ò¤­Êü¤·¤¿¡ª", a_monnam(mtmp)); else ! /*JP You_feel("the presence of evil.");*/ ! You("¼Ù°­¤Ê¸ºß¤ò´¶¤¸¤¿¡ª"); /* Give those on low levels a (slightly) better chance of survival */ if (rnd(100) > (80 + level_difficulty())) { ! /*JP pline("Grateful for %s release, %s grants you a wish!", ! his[pronoun_gender(mtmp)], he[pronoun_gender(mtmp)]);*/ ! pline("%s¤Ï²òÊü¤ò¤È¤Æ¤â´¶¼Õ¤·¡¤¤Î¤¾¤ß¤ò¤«¤Ê¤¨¤Æ¤¯¤ì¤ë¤è¤¦¤À¡ª", ! his[pronoun_gender(mtmp)]); makewish(); mongone(mtmp); } else if (t_at(mtmp->mx, mtmp->my)) *************** *** 71,87 **** if(mvitals[PM_WATER_NYMPH].mvflags & G_GONE) return; if((mtmp = makemon(&mons[PM_WATER_NYMPH],u.ux,u.uy, NO_MM_FLAGS))) { if (!Blind) ! You("attract %s!", a_monnam(mtmp)); else ! You_hear("a seductive voice."); mtmp->msleep = 0; if (t_at(mtmp->mx, mtmp->my)) (void) mintrap(mtmp); } else if (!Blind) ! pline("A large bubble rises to the surface and pops."); else ! You_hear("a loud pop."); } void --- 87,107 ---- if(mvitals[PM_WATER_NYMPH].mvflags & G_GONE) return; if((mtmp = makemon(&mons[PM_WATER_NYMPH],u.ux,u.uy, NO_MM_FLAGS))) { if (!Blind) ! /*JP You("attract %s!", a_monnam(mtmp));*/ ! pline("%s¤¬¸½¤ï¤ì¤¿¡ª", a_monnam(mtmp)); else ! /*JP You_hear("a seductive voice.");*/ ! You("Ì¥ÏÇŪ¤ÊÀ¼¤òʹ¤¤¤¿¡¥"); mtmp->msleep = 0; if (t_at(mtmp->mx, mtmp->my)) (void) mintrap(mtmp); } else if (!Blind) ! /*JP pline("A large bubble rises to the surface and pops.");*/ ! pline("Â礭¤ÊË¢¤¬Ê¨¤­½Ð¤Æ¤Ï¤¸¤±¤¿¡¥"); else ! /*JP You_hear("a loud pop.");*/ ! You("Â礭¤Ê¤â¤Î¤¬¤Ï¤¸¤±¤ë²»¤òʹ¤¤¤¿¡¥"); } void *************** *** 93,101 **** do_clear_area(u.ux, u.uy, 7, gush, (genericptr_t)&madepool); if (!madepool) if (drinking) ! Your("thirst is quenched."); else ! pline("Water sprays all over you."); } STATIC_PTR void --- 113,123 ---- do_clear_area(u.ux, u.uy, 7, gush, (genericptr_t)&madepool); if (!madepool) if (drinking) ! /*JP Your("thirst is quenched.");*/ ! Your("³é¤ÏÌþ¤µ¤ì¤¿¡¥"); else ! /*JP pline("Water sprays all over you.");*/ ! pline("¿å¤·¤Ö¤­¤¬¤¢¤Ê¤¿¤Ë¤«¤«¤Ã¤¿¡¥"); } STATIC_PTR void *************** *** 116,122 **** return; if (!((*(int *)poolcnt)++)) ! pline("Water gushes forth from the overflowing fountain!"); /* Put a pool at x, y */ levl[x][y].typ = POOL; --- 138,145 ---- return; if (!((*(int *)poolcnt)++)) ! /*JP pline("Water gushes forth from the overflowing fountain!");*/ ! pline("Àô¤«¤é¿å¤¬¤É¤É¤Ã¤È°î¤ì½Ð¤¿¡ª"); /* Put a pool at x, y */ levl[x][y].typ = POOL; *************** *** 132,138 **** static void dofindgem() /* Find a gem in the sparkling waters. */ { ! if (!Blind) You("spot a gem in the sparkling waters!"); (void) mksobj_at(rnd_class(DILITHIUM_CRYSTAL, LUCKSTONE-1), u.ux, u.uy, FALSE); levl[u.ux][u.uy].looted |= F_LOOTED; --- 155,162 ---- static void dofindgem() /* Find a gem in the sparkling waters. */ { ! /*JP if (!Blind) You("spot a gem in the sparkling waters!");*/ ! if (!Blind) pline("¤­¤é¤á¤¯¿å¤ÎÃæ¤ËÊõÀФò¸«¤Ä¤±¤¿¡ª"); (void) mksobj_at(rnd_class(DILITHIUM_CRYSTAL, LUCKSTONE-1), u.ux, u.uy, FALSE); levl[u.ux][u.uy].looted |= F_LOOTED; *************** *** 159,180 **** mtmp->data == &mons[PM_WATCH_CAPTAIN]) && couldsee(mtmp->mx, mtmp->my) && mtmp->mpeaceful) { ! pline("%s yells:", Amonnam(mtmp)); ! verbalize("Hey, stop using that fountain!"); break; } } /* You can see or hear this effect */ ! if(!mtmp) pline_The("flow reduces to a trickle."); return; } #ifdef WIZARD if (isyou && wizard) { ! if (yn("Dry up fountain?") == 'n') return; } #endif ! if (cansee(x,y)) pline_The("fountain dries up!"); levl[x][y].typ = ROOM; levl[x][y].looted = 0; levl[x][y].blessedftn = 0; --- 183,209 ---- mtmp->data == &mons[PM_WATCH_CAPTAIN]) && couldsee(mtmp->mx, mtmp->my) && mtmp->mpeaceful) { ! /*JP pline("%s yells:", Amonnam(mtmp));*/ ! pline("%s¤Ï¶«¤ó¤À¡§", Amonnam(mtmp)); ! /*JP verbalize("Hey, stop using that fountain!");*/ ! verbalize("¤ª¤¤¡¤Àô¤ò±ø¤¹¤Ê¡ª"); break; } } /* You can see or hear this effect */ ! /*JP if(!mtmp) pline_The("flow reduces to a trickle.");*/ ! if(!mtmp) pline("ή¤ì¤Ï¤Á¤ç¤í¤Á¤ç¤í¤Ë¤Ê¤Ã¤¿¡¥"); return; } #ifdef WIZARD if (isyou && wizard) { ! /*JP if (yn("Dry up fountain?") == 'n')*/ ! if (yn("Àô¤ò°û¤ß¤Û¤·¤Þ¤¹¤«¡©") == 'n') return; } #endif ! /*JP if (cansee(x,y)) pline_The("fountain dries up!");*/ ! if (cansee(x,y)) pline("Àô¤Ï´³¾å¤¬¤Ã¤¿¡ª"); levl[x][y].typ = ROOM; levl[x][y].looted = 0; levl[x][y].blessedftn = 0; *************** *** 195,208 **** register int fate = rnd(30); if (Levitation) { ! floating_above("fountain"); return; } if (mgkftn && u.uluck >= 0 && fate >= 10) { int i, ii, littleluck = (u.uluck < 4); ! pline("Wow! This makes you feel great!"); /* blessed restore ability */ for (ii = 0; ii < A_MAX; ii++) if (ABASE(ii) < AMAX(ii)) { --- 224,239 ---- register int fate = rnd(30); if (Levitation) { ! /*JP floating_above("fountain");*/ ! floating_above("Àô"); return; } if (mgkftn && u.uluck >= 0 && fate >= 10) { int i, ii, littleluck = (u.uluck < 4); ! /*JP pline("Wow! This makes you feel great!");*/ ! pline("¥ï¥©¡ª¤È¤Æ¤âµ¤»ý¤Á¤è¤¯¤Ê¤Ã¤¿¡ª"); /* blessed restore ability */ for (ii = 0; ii < A_MAX; ii++) if (ABASE(ii) < AMAX(ii)) { *************** *** 217,230 **** if (++i >= A_MAX) i = 0; } display_nhwindow(WIN_MESSAGE, FALSE); ! pline("A wisp of vapor escapes the fountain..."); exercise(A_WIS, TRUE); levl[u.ux][u.uy].blessedftn = 0; return; } if (fate < 10) { ! pline_The("cool draught refreshes you."); u.uhunger += rnd(10); /* don't choke on water */ newuhs(FALSE); if(mgkftn) return; --- 248,263 ---- if (++i >= A_MAX) i = 0; } display_nhwindow(WIN_MESSAGE, FALSE); ! /*JP pline("A wisp of vapor escapes the fountain...");*/ ! pline("±ì¤Î¤«¤¿¤Þ¤ê¤¬Àô¤«¤éƨ¤²¤¿¡¥¡¥¡¥"); exercise(A_WIS, TRUE); levl[u.ux][u.uy].blessedftn = 0; return; } if (fate < 10) { ! /*JP pline_The("cool draught refreshes you.");*/ ! pline("Î䤿¤¤°ìÇդϤ¢¤Ê¤¿¤ò¤µ¤Ã¤Ñ¤ê¤µ¤»¤¿¡¥"); u.uhunger += rnd(10); /* don't choke on water */ newuhs(FALSE); if(mgkftn) return; *************** *** 233,263 **** case 19: /* Self-knowledge */ ! You_feel("self-knowledgeable..."); display_nhwindow(WIN_MESSAGE, FALSE); enlightenment(0); exercise(A_WIS, TRUE); ! pline_The("feeling subsides."); break; case 20: /* Foul water */ ! pline_The("water is foul! You gag and vomit."); morehungry(rn1(20, 11)); vomit(); break; case 21: /* Poisonous */ ! pline_The("water is contaminated!"); if (Poison_resistance) { ! pline("Perhaps it is runoff from the nearby %s farm.", pl_fruit); ! losehp(rnd(4),"unrefrigerated sip of juice", KILLED_BY_AN); break; } losestr(rn1(4,3)); ! losehp(rnd(10),"contaminated water", KILLED_BY); exercise(A_CON, FALSE); break; --- 266,303 ---- case 19: /* Self-knowledge */ ! /*JP You_feel("self-knowledgeable...");*/ ! You("¼«Ê¬¼«¿È¤¬È½¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥¡¥¡¥"); display_nhwindow(WIN_MESSAGE, FALSE); enlightenment(0); exercise(A_WIS, TRUE); ! /*JP pline_The("feeling subsides.");*/ ! pline("¤½¤Î´¶¤¸¤Ï¤Ê¤¯¤Ê¤Ã¤¿¡¥"); break; case 20: /* Foul water */ ! /*JP pline_The("water is foul! You gag and vomit.");*/ ! pline("¿å¤Ï¤Ò¤É¤¯ÉÔ²÷¤ÊÌ£¤¬¤·¤¿¡ª¤¢¤Ê¤¿¤ÏÅǤ­Ìᤷ¤¿¡¥"); morehungry(rn1(20, 11)); vomit(); break; case 21: /* Poisonous */ ! /*JP pline_The("water is contaminated!");*/ ! pline("¿å¤Ï±øÀ÷¤µ¤ì¤Æ¤¤¤ë¡ª"); if (Poison_resistance) { ! /*JP pline("Perhaps it is runoff from the nearby %s farm.", pl_fruit);*/ ! pline("¤¿¤Ö¤ó¡¤¤³¤ì¤Ï%s¤ÎÇÀ¾ì¤Î¶á¤¯¤«¤éή¤ì¤Æ¤¤¤ë¡¥", pl_fruit); ! /*JP losehp(rnd(4),"unrefrigerated sip of juice",*/ ! losehp(rnd(4),"Éå¤Ã¤¿²Ì½Á¤Î¤·¤¿¤¿¤ê¤Ç", KILLED_BY_AN); break; } losestr(rn1(4,3)); ! /*JP losehp(rnd(10),"contaminated water", KILLED_BY);*/ ! losehp(rnd(10),"±øÀ÷¤µ¤ì¤¿¿å¤Ç", KILLED_BY); exercise(A_CON, FALSE); break; *************** *** 273,279 **** case 24: /* Curse an item */ { register struct obj *obj; ! pline("This water's no good!"); morehungry(rn1(20, 11)); exercise(A_CON, FALSE); for(obj = invent; obj ; obj = obj->nobj) --- 313,320 ---- case 24: /* Curse an item */ { register struct obj *obj; ! /*JP pline("This water's no good!");*/ ! pline("¤³¤Î¿å¤Ï¤È¤Æ¤â¤Þ¤º¤¤¡ª"); morehungry(rn1(20, 11)); exercise(A_CON, FALSE); for(obj = invent; obj ; obj = obj->nobj) *************** *** 283,290 **** case 25: /* See invisible */ ! You("see an image of someone stalking you."); ! pline("But it disappears."); HSee_invisible |= FROMOUTSIDE; newsym(u.ux,u.uy); exercise(A_WIS, TRUE); --- 324,333 ---- case 25: /* See invisible */ ! /*JP You("see an image of someone stalking you."); ! pline("But it disappears.");*/ ! You("¸å¤ò¤Ä¤±¤Æ¤¤¤ë²¿¤«¤Î±ÇÁü¤ò¸«¤¿¡¥"); ! pline("¤·¤«¤·¡¤¤½¤ì¤Ï¾Ã¤¨¤Æ¤·¤Þ¤Ã¤¿¡¥"); HSee_invisible |= FROMOUTSIDE; newsym(u.ux,u.uy); exercise(A_WIS, TRUE); *************** *** 311,317 **** case 29: /* Scare */ { register struct monst *mtmp; ! pline("This water gives you bad breath!"); for(mtmp = fmon; mtmp; mtmp = mtmp->nmon) mtmp->mflee = 1; } --- 354,361 ---- case 29: /* Scare */ { register struct monst *mtmp; ! /*JP pline("This water gives you bad breath!");*/ ! pline("¿å¤ò°û¤ó¤À¤é©¤¬½­¤¯¤Ê¤Ã¤¿¡ª"); for(mtmp = fmon; mtmp; mtmp = mtmp->nmon) mtmp->mflee = 1; } *************** *** 324,330 **** default: ! pline("This tepid water is tasteless."); break; } } --- 368,375 ---- default: ! /*JP pline("This tepid water is tasteless.");*/ ! pline("¤³¤Î¤Ê¤Þ¤Ì¤ë¤¤¿å¤ÏÌ£¤¬¤Ê¤¤"); break; } } *************** *** 336,342 **** register struct obj *obj; { if (Levitation) { ! floating_above("fountain"); return; } --- 381,388 ---- register struct obj *obj; { if (Levitation) { ! /*JP floating_above("fountain");*/ ! floating_above("Àô"); return; } *************** *** 348,355 **** && !exist_artifact(LONG_SWORD, artiname(ART_EXCALIBUR))) { if (u.ualign.type != A_LAWFUL) { /* Ha! Trying to cheat her. */ ! pline("A freezing mist rises from the water and envelopes the sword."); ! pline_The("fountain disappears!"); curse(obj); if (obj->spe > -6 && !rn2(3)) obj->spe--; obj->oerodeproof = FALSE; --- 394,403 ---- && !exist_artifact(LONG_SWORD, artiname(ART_EXCALIBUR))) { if (u.ualign.type != A_LAWFUL) { /* Ha! Trying to cheat her. */ ! /*JP pline("A freezing mist rises from the water and envelopes the sword."); ! pline_The("fountain disappears!");*/ ! pline("ɹ¤Î̸¤¬¿å¤«¤éΩ¤Á¾º¤ê¡¤·õ¤ò¤Ä¤Ä¤ó¤À¡¥"); ! pline("Àô¤Ï¾Ã¤¨¤Æ¤·¤Þ¤Ã¤¿¡ª"); curse(obj); if (obj->spe > -6 && !rn2(3)) obj->spe--; obj->oerodeproof = FALSE; *************** *** 357,364 **** } else { /* The lady of the lake acts! - Eric Backus */ /* Be *REAL* nice */ ! pline("From the murky depths, a hand reaches up to bless the sword."); ! pline("As the hand retreats, the fountain disappears!"); obj = oname(obj, artiname(ART_EXCALIBUR)); bless(obj); obj->oeroded = 0; --- 405,414 ---- } else { /* The lady of the lake acts! - Eric Backus */ /* Be *REAL* nice */ ! /*JP pline("From the murky depths, a hand reaches up to bless the sword."); ! pline("As the hand retreats, the fountain disappears!");*/ ! pline("±¢µ¤¤Ê¿¼¤ß¤«¤é¡¤½ËÊ¡¤µ¤ì¤¿·õ¤Ë¼ê¤¬¿­¤Ó¤Æ¤­¤¿¡¥"); ! pline("¼ê¤¬Âय¤È¡¤Àô¤Ï¾Ã¤¨¤Æ¤·¤Þ¤Ã¤¿¡ª"); obj = oname(obj, artiname(ART_EXCALIBUR)); bless(obj); obj->oeroded = 0; *************** *** 382,391 **** case 20: /* Uncurse the item */ if(obj->cursed) { if (!Blind) ! pline_The("water glows for a moment."); uncurse(obj); } else { ! pline("A feeling of loss comes over you."); } break; case 21: /* Water Demon */ --- 432,443 ---- case 20: /* Uncurse the item */ if(obj->cursed) { if (!Blind) ! /*JP pline_The("water glows for a moment.");*/ ! pline("¿å¤Ïµ±¤­¤À¤·¤¿¡¥"); uncurse(obj); } else { ! /*JP pline("A feeling of loss comes over you.");*/ ! pline("´ñ̯¤ÊæÎÏ´¶¤¬¤¢¤Ê¤¿¤ò¤ª¤½¤Ã¤¿¡¥"); } break; case 21: /* Water Demon */ *************** *** 404,420 **** dogushforth(FALSE); break; case 26: /* Strange feeling */ ! pline("A strange tingling runs up your %s.", body_part(ARM)); break; case 27: /* Strange feeling */ ! You_feel("a sudden chill."); break; case 28: /* Strange feeling */ ! pline("An urge to take a bath overwhelms you."); if (u.ugold > 10) { u.ugold -= somegold() / 10; ! You("lost some of your gold in the fountain!"); levl[u.ux][u.uy].looted &= ~F_LOOTED; exercise(A_WIS, FALSE); } --- 456,476 ---- dogushforth(FALSE); break; case 26: /* Strange feeling */ ! /*JP pline("A strange tingling runs up your %s.",*/ ! pline("´ñ̯¤Ê¤·¤Ó¤ì¤¬¤¢¤Ê¤¿¤Î%s¤ËÁö¤Ã¤¿¡¥", body_part(ARM)); break; case 27: /* Strange feeling */ ! /*JP You_feel("a sudden chill.");*/ ! You("ÆÍÁ³´¨¤±¤ò´¶¤¸¤¿¡¥"); break; case 28: /* Strange feeling */ ! /*JP pline("An urge to take a bath overwhelms you.");*/ ! pline("É÷Ϥ¤ËÆþ¤ê¤¿¤¤¤È¤¤¤¦Íß˾¤Ë¤«¤é¤ì¤¿¡¥"); if (u.ugold > 10) { u.ugold -= somegold() / 10; ! /*JP You("lost some of your gold in the fountain!");*/ ! You("¿ô¥´¡¼¥ë¥ÉÀô¤ÎÃæ¤Ë¼º¤Ã¤¿¡ª"); levl[u.ux][u.uy].looted &= ~F_LOOTED; exercise(A_WIS, FALSE); } *************** *** 429,435 **** (rnd((dunlevs_in_dungeon(&u.uz)-dunlev(&u.uz)+1)*2)+5), u.ux, u.uy); if (!Blind) ! pline("Far below you, you see coins glistening in the water."); exercise(A_WIS, TRUE); newsym(u.ux,u.uy); break; --- 485,492 ---- (rnd((dunlevs_in_dungeon(&u.uz)-dunlev(&u.uz)+1)*2)+5), u.ux, u.uy); if (!Blind) ! /*JP pline("Far below you, you see coins glistening in the water.");*/ ! You("ÍÚ¤«²¼¤Î¿åÃæ¤Ë¶â²ß¤Îµ±¤­¤ò¤ß¤Ä¤±¤¿¡¥"); exercise(A_WIS, TRUE); newsym(u.ux,u.uy); break; *************** *** 443,449 **** int x, y; { if(cansee(x,y) || (x == u.ux && y == u.uy)) ! pline_The("pipes break! Water spurts out!"); level.flags.nsinks--; levl[x][y].doormask = 0; levl[x][y].typ = FOUNTAIN; --- 500,507 ---- int x, y; { if(cansee(x,y) || (x == u.ux && y == u.uy)) ! /*JP pline_The("pipes break! Water spurts out!");*/ ! pline("Ç۴ɤ¬²õ¤ì¿å¤¬Ê®½Ð¤·¤¿¡ª"); level.flags.nsinks--; levl[x][y].doormask = 0; levl[x][y].typ = FOUNTAIN; *************** *** 458,483 **** struct monst *mtmp; if (Levitation) { ! floating_above("sink"); return; } switch(rn2(20)) { ! case 0: You("take a sip of very cold water."); break; ! case 1: You("take a sip of very warm water."); break; ! case 2: You("take a sip of scalding hot water."); if (Fire_resistance) ! pline("It seems quite tasty."); ! else losehp(rnd(6), "sipping boiling water", KILLED_BY); break; case 3: if (mvitals[PM_SEWER_RAT].mvflags & G_GONE) ! pline_The("sink seems quite dirty."); else { mtmp = makemon(&mons[PM_SEWER_RAT], u.ux, u.uy, NO_MM_FLAGS); ! pline("Eek! There's %s in the sink!", Blind ? "something squirmy" : a_monnam(mtmp)); } break; --- 516,551 ---- struct monst *mtmp; if (Levitation) { ! /*JP floating_above("sink");*/ ! floating_above("ή¤·Âæ"); return; } switch(rn2(20)) { ! /*JP case 0: You("take a sip of very cold water.");*/ ! case 0: You("¤È¤Æ¤âÎ䤤¿å¤ò°ì¸ý°û¤ó¤À¡¥"); break; ! /*JP case 1: You("take a sip of very warm water.");*/ ! case 1: You("¤È¤Æ¤â¤Ì¤ë¤¤¿å¤ò°ì¸ý°û¤ó¤À¡¥"); break; ! /*JP case 2: You("take a sip of scalding hot water.");*/ ! case 2: You("¤È¤Æ¤âÇ®¤¤¿å¤ò°ì¸ý°û¤ó¤À¡¥"); if (Fire_resistance) ! /*JP pline("It seems quite tasty.");*/ ! pline("¤È¤Æ¤â¤ª¤¤¤·¤¤¿å¤À¡¥"); ! /*JP else losehp(rnd(6), "sipping boiling water", KILLED_BY);*/ ! else losehp(rnd(6), "ʨƭ¤·¤¿¿å¤ò°û¤ó¤Ç", KILLED_BY); break; case 3: if (mvitals[PM_SEWER_RAT].mvflags & G_GONE) ! /*JP pline_The("sink seems quite dirty.");*/ ! pline("ή¤·Âæ¤Ï¤È¤Æ¤â±ø¤Ê¤é¤·¤¤¡¥"); else { mtmp = makemon(&mons[PM_SEWER_RAT], u.ux, u.uy, NO_MM_FLAGS); ! /*JP pline("Eek! There's %s in the sink!", Blind ? "something squirmy" : + a_monnam(mtmp));*/ + pline("¤²¡ªÎ®¤·Âæ¤Ë%s¤¬¤¤¤ë¡ª", + Blind ? "¿È¤â¤À¤¨¤¹¤ë¤è¤¦¤Ê¤â¤Î" : a_monnam(mtmp)); } break; *************** *** 489,497 **** } } while(!otmp); otmp->cursed = otmp->blessed = 0; ! pline("Some %s liquid flows from the faucet.", Blind ? "odd" : ! hcolor(OBJ_DESCR(objects[otmp->otyp]))); otmp->dknown = !(Blind || Hallucination); otmp->quan++; /* Avoid panic upon useup() */ otmp->corpsenm = 1; /* kludge for docall() */ --- 557,570 ---- } } while(!otmp); otmp->cursed = otmp->blessed = 0; ! /*JP pline("Some %s liquid flows from the faucet.", Blind ? "odd" : ! hcolor(OBJ_DESCR(objects[otmp->otyp])));*/ ! pline("¼Ø¸ý¤«¤é%s%s¤¬Î®¤ì¤¿¡¥", ! Blind ? "´ñ̯¤Ê" : ! hcolor(jtrns_obj('!',OBJ_DESCR(objects[otmp->otyp]))), ! (Blind || Hallucination) ? "±ÕÂÎ" : ""); ! otmp->dknown = !(Blind || Hallucination); otmp->quan++; /* Avoid panic upon useup() */ otmp->corpsenm = 1; /* kludge for docall() */ *************** *** 499,542 **** obfree(otmp, (struct obj *)0); break; case 5: if (!(levl[u.ux][u.uy].looted & S_LRING)) { ! You("find a ring in the sink!"); (void) mkobj_at(RING_CLASS, u.ux, u.uy, TRUE); levl[u.ux][u.uy].looted |= S_LRING; exercise(A_WIS, TRUE); newsym(u.ux,u.uy); ! } else pline("Some dirty water backs up in the drain."); break; case 6: breaksink(u.ux,u.uy); break; ! case 7: pline_The("water moves as though of its own will!"); if ((mvitals[PM_WATER_ELEMENTAL].mvflags & G_GONE) || !makemon(&mons[PM_WATER_ELEMENTAL], u.ux, u.uy, NO_MM_FLAGS)) ! pline("But it quiets down."); break; ! case 8: pline("Yuk, this water tastes awful."); more_experienced(1,0); newexplevel(); break; ! case 9: pline("Gaggg... this tastes like sewage! You vomit."); morehungry(rn1(30-ACURR(A_CON), 11)); vomit(); break; ! case 10: pline("This water contains toxic wastes!"); ! You("undergo a freakish metamorphosis!"); polyself(); break; /* more odd messages --JJB */ ! case 11: You_hear("clanking from the pipes..."); break; ! case 12: You_hear("snatches of song from among the sewers..."); break; case 19: if (Hallucination) { ! pline("From the murky drain, a hand reaches up... --oops--"); break; } ! default: You("take a sip of %s water.", ! rn2(3) ? (rn2(2) ? "cold" : "warm") : "hot"); } } #endif /* SINKS */ --- 572,628 ---- obfree(otmp, (struct obj *)0); break; case 5: if (!(levl[u.ux][u.uy].looted & S_LRING)) { ! /*JP You("find a ring in the sink!");*/ ! You("ή¤·Âæ¤Ë»ØÎؤò¤ß¤Ä¤±¤¿¡ª"); (void) mkobj_at(RING_CLASS, u.ux, u.uy, TRUE); levl[u.ux][u.uy].looted |= S_LRING; exercise(A_WIS, TRUE); newsym(u.ux,u.uy); ! /*JP } else pline("Some dirty water backs up in the drain.");*/ ! } else pline("±ø¤Ê¤¤¿å¤¬ÇÓ¿å¸ý¤Ëή¤ì¤¿¡¥"); break; case 6: breaksink(u.ux,u.uy); break; ! /*JP case 7: pline_The("water moves as though of its own will!");*/ ! case 7: pline("¿å¤¬°Õ»×¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤Î¤è¤¦¤ËÆ°¤¤¤¿¡ª"); if ((mvitals[PM_WATER_ELEMENTAL].mvflags & G_GONE) || !makemon(&mons[PM_WATER_ELEMENTAL], u.ux, u.uy, NO_MM_FLAGS)) ! /*JP pline("But it quiets down.");*/ ! pline("¤·¤«¤·¡¤ÀŤ«¤Ë¤Ê¤Ã¤¿¡¥"); break; ! /*JP case 8: pline("Yuk, this water tastes awful.");*/ ! case 8: pline("¥ª¥§¡¤¤È¤Æ¤â¤Ò¤É¤¤Ì£¤¬¤¹¤ë¡¥"); more_experienced(1,0); newexplevel(); break; ! /*JP case 9: pline("Gaggg... this tastes like sewage! You vomit.");*/ ! case 9: pline("¥²¥§¡¼¡¥²¼¿å¤Î¤è¤¦¤ÊÌ£¤¬¤¹¤ë¡ª¤¢¤Ê¤¿¤ÏÅǤ­Ìᤷ¤¿¡¥"); morehungry(rn1(30-ACURR(A_CON), 11)); vomit(); break; ! /*JP case 10: pline("This water contains toxic wastes!"); ! You("undergo a freakish metamorphosis!");*/ ! case 10: pline("¤³¤Î¿å¤ÏÍ­ÆǤÊÇÓ¿å¤ò´Þ¤ó¤Ç¤¤¤ë¡ª"); ! You("´ñ·Á¤ÊÊѲ½¤ò¤·¤Ï¤¸¤á¤¿¡ª"); polyself(); break; /* more odd messages --JJB */ ! /*JP case 11: You_hear("clanking from the pipes...");*/ ! case 11: You("Ç۴ɤΥ«¥Á¥ó¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥¡¥¡¥"); break; ! /*JP case 12: You_hear("snatches of song from among the sewers...");*/ ! case 12: You("²¼¿å¤ÎÃ椫¤é¤È¤®¤ì¤È¤®¤ì¤Î²Î¤òʹ¤¤¤¿¡¥¡¥¡¥"); break; case 19: if (Hallucination) { ! /*JP pline("From the murky drain, a hand reaches up... --oops--");*/ ! pline("°Å¤¤ÇÓ¿å¸ý¤«¤é¼ê¤¬¿­¤Ó¤Æ¤­¤¿¡¥¡¥--¤ª¤Ã¤È--"); break; } ! /*JP default: You("take a sip of %s water.", ! rn2(3) ? (rn2(2) ? "cold" : "warm") : "hot");*/ ! default: You("%s¿å¤ò°ì¸ý°û¤ó¤À¡¥", ! rn2(3) ? (rn2(2) ? "Î䤤" : "¤Ì¤ë¤¤") : "Ç®¤¤"); } } #endif /* SINKS */ diff -c -r ../nethack-3.2.2/src/hack.c ./src/hack.c *** ../nethack-3.2.2/src/hack.c Sat Dec 28 21:53:41 1996 --- ./src/hack.c Tue Sep 23 11:33:11 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" STATIC_DCL int NDECL(moverock); *************** *** 71,83 **** --- 78,96 ---- nomul(0); if (Levitation || Is_airlevel(&u.uz)) { if (Blind) feel_location(sx, sy); + /*JP You("don't have enough leverage to push %s.", the(xname(otmp))); + */ + You("ÂΤ¬É⤤¤Æ¤¤¤ë¤Î¤Ç%s¤ò²¡¤»¤Ê¤¤¡¥", the(xname(otmp))); /* Give them a chance to climb over it? */ return -1; } if (verysmall(uasmon)) { if (Blind) feel_location(sx, sy); + /*JP pline("You're too small to push that %s.", xname(otmp)); + */ + You("¾®¤µ¤¹¤®¤Æ%s¤ò²¡¤»¤Ê¤¤¡¥",xname(otmp)); goto cannot_push; } if (isok(rx,ry) && !IS_ROCK(levl[rx][ry].typ) && *************** *** 90,110 **** --- 103,139 ---- ttmp = t_at(rx, ry); mtmp = m_at(rx, ry); + /*JP if (revive_nasty(rx, ry, "You sense movement on the other side.")) + */ + { + char jbuf[BUFSIZ]; + Sprintf(jbuf,"%s¤ÎÈ¿ÂЦ¤ËÆ°¤­¤ò´¶¤¸¤¿¡¥",xname(otmp)); + if (revive_nasty(rx, ry, jbuf)) return (-1); + } if (mtmp && !noncorporeal(mtmp->data) && (!mtmp->mtrapped || !(ttmp && ((ttmp->ttyp == PIT) || (ttmp->ttyp == SPIKED_PIT))))) { if (canspotmon(mtmp)) + /*JP pline("There's %s on the other side.", mon_nam(mtmp)); + */ + pline("%s¤ÎÈ¿ÂЦ¤Ë%s¤¬¤¤¤ë¡¥",xname(otmp),mon_nam(mtmp)); else { if (Blind) feel_location(sx, sy); + /*JP You_hear("a monster behind %s.", the(xname(otmp))); + */ + pline("%s¤ÎÇظå¤Ë²øʪ¤Îµ¤ÇÛ¤¬¤¹¤ë¡¥", the(xname(otmp))); } if (flags.verbose) + /*JP pline("Perhaps that's why you cannot move it."); + */ + pline("¤¿¤Ö¤ó¤³¤ì¤¬¡¤Æ°¤«¤»¤Ê¤¤Íýͳ¤À¡¥"); goto cannot_push; } *************** *** 112,120 **** switch(ttmp->ttyp) { case LANDMINE: if (rn2(10)) { ! pline("KAABLAMM!!! %s triggers %s land mine.", The(xname(otmp)), ! ttmp->madeby_u ? "your" : "a"); obj_extract_self(otmp); place_object(otmp, rx, ry); deltrap(ttmp); --- 141,152 ---- switch(ttmp->ttyp) { case LANDMINE: if (rn2(10)) { ! /*JP pline("KAABLAMM!!! %s triggers %s land mine.", The(xname(otmp)), ! ttmp->madeby_u ? "your" : "a");*/ ! pline("¤Á¤å¤É¡¼¤ó¡ª¡ª%s¤Ç%sÃÏÍë¤Îµ¯Çú¥¹¥¤¥Ã¥Á¤¬Æþ¤Ã¤¿¡¥", ! The(xname(otmp)), ! ttmp->madeby_u ? "¤¢¤Ê¤¿¤Î»Å³Ý¤±¤¿" : ""); obj_extract_self(otmp); place_object(otmp, rx, ry); deltrap(ttmp); *************** *** 131,148 **** --- 163,190 ---- the pit will temporarily be seen even if this is one among multiple boulders */ if (!Blind) viz_array[ry][rx] |= IN_SIGHT; + /*JP if (!flooreffects(otmp, rx, ry, "fall")) { + */ + if (!flooreffects(otmp, rx, ry, "Íî¤Á¤¿")) { place_object(otmp, rx, ry); } if (mtmp && !Blind) newsym(rx, ry); continue; case HOLE: case TRAPDOOR: + /*JP pline("%s %s and plugs a %s in the %s!", The(xname(otmp)), (ttmp->ttyp == TRAPDOOR) ? "triggers" : "falls into", (ttmp->ttyp == TRAPDOOR) ? "trap door" : "hole", surface(rx, ry)); + */ + pline("%s¤Ï%s%s¤Î%s¤òËä¤á¤¿¡ª", + The(xname(otmp)), + "Íî¤Á¤Æ", + surface(rx, ry), + (ttmp->ttyp == TRAPDOOR) ? "ÍÈâ" : "·ê"); deltrap(ttmp); delobj(otmp); bury_objs(rx, ry); *************** *** 150,156 **** continue; case LEVEL_TELEP: case TELEP_TRAP: ! You("push %s and suddenly it disappears!", the(xname(otmp))); if (ttmp->ttyp == TELEP_TRAP) rloco(otmp); --- 192,199 ---- continue; case LEVEL_TELEP: case TELEP_TRAP: ! /*JP You("push %s and suddenly it disappears!",*/ ! You("%s¤ò²¡¤·¤¿¡¥ÆÍÁ³¤½¤ì¤Ï¾ÃÌǤ·¤¿¡ª", the(xname(otmp))); if (ttmp->ttyp == TELEP_TRAP) rloco(otmp); *************** *** 193,199 **** /* note: this var contains garbage initially and after a restore */ if (moves > lastmovetime+2 || moves < lastmovetime) ! pline("With great effort you move %s.", the(xname(otmp))); exercise(A_STR, TRUE); lastmovetime = moves; } --- 236,243 ---- /* note: this var contains garbage initially and after a restore */ if (moves > lastmovetime+2 || moves < lastmovetime) ! /*JP pline("With great effort you move %s.", the(xname(otmp)));*/ ! pline("ÎϤò¤³¤á¤Æ%s¤ò¤Ê¤ó¤È¤«²¡¤·¤¿¡¥", the(xname(otmp))); exercise(A_STR, TRUE); lastmovetime = moves; } *************** *** 208,226 **** --- 252,280 ---- } } else { nopushmsg: + /*JP You("try to move %s, but in vain.", the(xname(otmp))); + */ + You("%s¤òÆ°¤«¤½¤¦¤È¤·¤¿¤¬¡¤¤À¤á¤À¤Ã¤¿¡¥", the(xname(otmp))); if (Blind) feel_location(sx, sy); cannot_push: if (throws_rocks(uasmon)) { + /*JP pline("However, you can easily %s.", flags.pickup ? "pick it up" : "push it aside"); + */ + pline("¤·¤«¤·¡¤¤¢¤Ê¤¿¤Ï´Êñ¤Ë¤½¤ì¤ò%s¡¥", + flags.pickup ? "½¦¤¨¤¿" : "Ê̤ÎÊý¤Ë²¡¤»¤¿"); break; } if (((!invent || inv_weight() <= -850) && (!u.dx || !u.dy || (IS_ROCK(levl[u.ux][sy].typ) && IS_ROCK(levl[sx][u.uy].typ)))) || verysmall(uasmon)) { + /*JP pline("However, you can squeeze yourself into a small opening."); + */ + pline("¤·¤«¤·¡¤¤¢¤Ê¤¿¤Ï¾®¤µ¤¤·ä´Ö¤Ë¤³¤¸Æþ¤Ã¤¿¡¥"); break; } else return (-1); *************** *** 247,253 **** (void) memset((genericptr_t)&digging, 0, sizeof digging); if (!boulder && IS_ROCK(lev->typ) && !may_dig(x,y)) { ! You("hurt your teeth on the hard stone."); nomul(0); return 1; } else if (digging.pos.x != x || digging.pos.y != y || --- 301,308 ---- (void) memset((genericptr_t)&digging, 0, sizeof digging); if (!boulder && IS_ROCK(lev->typ) && !may_dig(x,y)) { ! /*JP You("hurt your teeth on the hard stone.");*/ ! You("¸Ç¤¤´ä¤Ç»õ¤òÄˤ᤿¡¥"); nomul(0); return 1; } else if (digging.pos.x != x || digging.pos.y != y || *************** *** 259,280 **** assign_level(&digging.level, &u.uz); /* solid rock takes more work & time to dig through */ digging.effort = (IS_ROCK(lev->typ) ? 30 : 60) + u.udaminc; ! You("start chewing %s %s.", boulder ? "on a" : "a hole in the", ! boulder ? "boulder" : IS_ROCK(lev->typ) ? "rock" : "door"); return 1; } else if ((digging.effort += (30 + u.udaminc)) <= 100) { if (flags.verbose) ! You("%s chewing on the %s.", digging.chew ? "continue" : "begin", ! boulder ? "boulder" : IS_ROCK(lev->typ) ? "rock" : "door"); digging.chew = TRUE; return 1; } if (boulder) { delobj(boulder); /* boulder goes bye-bye */ ! You("eat the boulder."); /* yum */ /* * The location could still block because of --- 314,342 ---- assign_level(&digging.level, &u.uz); /* solid rock takes more work & time to dig through */ digging.effort = (IS_ROCK(lev->typ) ? 30 : 60) + u.udaminc; ! /*JP You("start chewing %s %s.", boulder ? "on a" : "a hole in the", ! boulder ? "boulder" : IS_ROCK(lev->typ) ? "rock" : "door");*/ ! You("%s%s¡¥", ! boulder ? "´ä" : IS_ROCK(lev->typ) ? "ÀÐ" : "Èâ", ! boulder ? "¤ò³ú¤ß¤Ï¤¸¤á¤¿" : "¤Ë·ê¤ò¤¢¤±¤Ï¤¸¤á¤¿"); return 1; } else if ((digging.effort += (30 + u.udaminc)) <= 100) { if (flags.verbose) ! /*JP You("%s chewing on the %s.", digging.chew ? "continue" : "begin", ! boulder ? "boulder" : IS_ROCK(lev->typ) ? "rock" : "door");*/ ! You("%s¤ò³ú¤ß%s¡¥", ! boulder ? "´ä" : IS_ROCK(lev->typ) ? "ÀÐ" : "Èâ", ! digging.chew ? "³¤±¤¿" : "¤Ï¤¸¤á¤¿"); digging.chew = TRUE; return 1; } if (boulder) { delobj(boulder); /* boulder goes bye-bye */ ! /*JP You("eat the boulder."); /* yum */ ! You("´ä¤ò¿©¤Ù¤¿¡¥"); /* yum */ /* * The location could still block because of *************** *** 293,301 **** } else if (IS_WALL(lev->typ)) { if (*in_rooms(x, y, SHOPBASE)) { add_damage(x, y, 10L * ACURRSTR); ! dmgtxt = "damage"; } ! digtxt = "chew a hole in the wall."; if (level.flags.is_maze_lev) { lev->typ = ROOM; } else if (level.flags.is_cavernous_lev) { --- 355,365 ---- } else if (IS_WALL(lev->typ)) { if (*in_rooms(x, y, SHOPBASE)) { add_damage(x, y, 10L * ACURRSTR); ! /*JP dmgtxt = "damage";*/ ! dmgtxt = "½ý¤Ä¤±¤ë"; } ! /*JP digtxt = "chew a hole in the wall.";*/ ! digtxt = "Êɤ˷ê¤ò³«¤±¤¿¡¥"; if (level.flags.is_maze_lev) { lev->typ = ROOM; } else if (level.flags.is_cavernous_lev) { *************** *** 307,315 **** } else if (lev->typ == SDOOR) { if (lev->doormask & D_TRAPPED) { lev->doormask = D_NODOOR; ! b_trapped("secret door", 0); } else { ! digtxt = "chew through the secret door."; lev->doormask = D_BROKEN; } lev->typ = DOOR; --- 371,381 ---- } else if (lev->typ == SDOOR) { if (lev->doormask & D_TRAPPED) { lev->doormask = D_NODOOR; ! /*JP b_trapped("secret door", 0);*/ ! b_trapped("ÈëÌ©¤ÎÈâ", 0); } else { ! /*JP digtxt = "chew through the secret door.";*/ ! digtxt = "ÈëÌ©¤ÎÈâ¤ò³ú¤ßºÕ¤¤¤¿¡¥"; lev->doormask = D_BROKEN; } lev->typ = DOOR; *************** *** 317,334 **** } else if (IS_DOOR(lev->typ)) { if (*in_rooms(x, y, SHOPBASE)) { add_damage(x, y, 400L); ! dmgtxt = "break"; } if (lev->doormask & D_TRAPPED) { lev->doormask = D_NODOOR; ! b_trapped("door", 0); } else { ! digtxt = "chew through the door."; lev->doormask = D_BROKEN; } } else { /* STONE or SCORR */ ! digtxt = "chew a passage through the rock."; lev->typ = CORR; } --- 383,404 ---- } else if (IS_DOOR(lev->typ)) { if (*in_rooms(x, y, SHOPBASE)) { add_damage(x, y, 400L); ! /*JP dmgtxt = "break";*/ ! dmgtxt = "²õ¤¹"; } if (lev->doormask & D_TRAPPED) { lev->doormask = D_NODOOR; ! /*JP b_trapped("door", 0);*/ ! b_trapped("Èâ", 0); } else { ! /*JP digtxt = "chew through the door.";*/ ! digtxt = "Èâ¤òºÕ¤¤¤¿¡¥"; lev->doormask = D_BROKEN; } } else { /* STONE or SCORR */ ! /*JP digtxt = "chew a passage through the rock.";*/ ! digtxt = "´ä¤ò³ú¤ßºÕ¤¤¤ÆÄ̤êÈ´¤±¤¿¡¥"; lev->typ = CORR; } *************** *** 356,362 **** } #ifdef SINKS ! static NEARDATA const char fell_on_sink[] = "fell onto a sink"; STATIC_OVL void dosinkfall() --- 426,433 ---- } #ifdef SINKS ! /*JPstatic NEARDATA const char fell_on_sink[] = "fell onto a sink";*/ ! static NEARDATA const char fell_on_sink[] = "ή¤·Âæ¤ËÍî¤Á¤Æ"; STATIC_OVL void dosinkfall() *************** *** 364,379 **** register struct obj *obj; if (is_floater(uasmon) || (HLevitation & FROMOUTSIDE)) { ! You("wobble unsteadily for a moment."); } else { ! You("crash to the floor!"); losehp((rn1(10, 20 - (int)ACURR(A_CON))), ! fell_on_sink, NO_KILLER_PREFIX); exercise(A_DEX, FALSE); for(obj = level.objects[u.ux][u.uy]; obj; obj = obj->nexthere) if(obj->oclass == WEAPON_CLASS) { ! You("fell on %s.",doname(obj)); ! losehp(rnd(3), fell_on_sink, NO_KILLER_PREFIX); exercise(A_CON, FALSE); } } --- 435,455 ---- register struct obj *obj; if (is_floater(uasmon) || (HLevitation & FROMOUTSIDE)) { ! /*JP You("wobble unsteadily for a moment.");*/ ! You("¤Á¤ç¤Ã¤È¤Õ¤é¤Ä¤¤¤¿¡¥"); } else { ! /*JP You("crash to the floor!");*/ ! You("¾²¤Ë᤭ÉÕ¤±¤é¤ì¤¿¡¥"); losehp((rn1(10, 20 - (int)ACURR(A_CON))), ! /*JP fell_on_sink, NO_KILLER_PREFIX);*/ ! fell_on_sink, KILLED_BY); exercise(A_DEX, FALSE); for(obj = level.objects[u.ux][u.uy]; obj; obj = obj->nexthere) if(obj->oclass == WEAPON_CLASS) { ! /*JP You("fell on %s.",doname(obj));*/ ! You("%s¤Î¾å¤ËÍî¤Á¤¿¡¥",doname(obj)); ! /*JP losehp(rnd(3), fell_on_sink, NO_KILLER_PREFIX);*/ ! losehp(rnd(3), fell_on_sink, KILLED_BY); exercise(A_CON, FALSE); } } *************** *** 460,469 **** : (u.uhp < 10 && u.uhp != u.uhpmax)))) && !Is_airlevel(&u.uz)) { if(wtcap < OVERLOADED) { ! You("don't have enough stamina to move."); exercise(A_CON, FALSE); } else ! You("collapse under your load."); nomul(0); return; } --- 536,547 ---- : (u.uhp < 10 && u.uhp != u.uhpmax)))) && !Is_airlevel(&u.uz)) { if(wtcap < OVERLOADED) { ! /*JP You("don't have enough stamina to move.");*/ ! You("¤Ø¤È¤Ø¤È¤ÇÆ°¤±¤Ê¤¤¡¥"); exercise(A_CON, FALSE); } else ! /*JP You("collapse under your load.");*/ ! pline("ʪ¤ò»ý¤Á¤¹¤®¤ÆÅݤ줿¡¥"); nomul(0); return; } *************** *** 477,489 **** !Levitation && !is_flyer(uasmon)) { switch(rn2(3)) { case 0: ! You("tumble in place."); exercise(A_DEX, FALSE); break; case 1: ! You_cant("control your movements very well."); break; case 2: ! pline("It's hard to walk in thin air."); exercise(A_DEX, TRUE); break; } --- 555,570 ---- !Levitation && !is_flyer(uasmon)) { switch(rn2(3)) { case 0: ! /*JP You("tumble in place.");*/ ! You("¤½¤Î¾ì¤ÇÅݤ줿¡¥"); exercise(A_DEX, FALSE); break; case 1: ! /*JP You_cant("control your movements very well."); break;*/ ! You("¤¦¤Þ¤¯Ê⤱¤Ê¤¤¡¥"); break; case 2: ! /*JP pline("It's hard to walk in thin air.");*/ ! pline("¶õÃæ¤òÊ⤯¤Î¤ÏÆñ¤·¤¤¡¥"); exercise(A_DEX, TRUE); break; } *************** *** 555,561 **** /* When polymorphed into a sticking monster, * u.ustuck means it's stuck to you, not you to it. */ ! You("release %s.", mon_nam(u.ustuck)); u.ustuck = 0; } else { /* If holder is asleep or paralyzed: --- 636,643 ---- /* When polymorphed into a sticking monster, * u.ustuck means it's stuck to you, not you to it. */ ! /*JP You("release %s.", mon_nam(u.ustuck));*/ ! You("%s¤òÊü¤·¤¿¡¥", mon_nam(u.ustuck)); u.ustuck = 0; } else { /* If holder is asleep or paralyzed: *************** *** 567,573 **** */ switch (rn2(!u.ustuck->mcanmove ? 8 : 40)) { case 0: case 1: case 2: ! You("pull free from %s.", mon_nam(u.ustuck)); u.ustuck = 0; break; case 3: --- 649,656 ---- */ switch (rn2(!u.ustuck->mcanmove ? 8 : 40)) { case 0: case 1: case 2: ! /*JP You("pull free from %s.", mon_nam(u.ustuck));*/ ! You("%s¤ò¤Ò¤­¤Ï¤Ê¤·¤¿¡¥", mon_nam(u.ustuck)); u.ustuck = 0; break; case 3: *************** *** 578,584 **** } /*FALLTHRU*/ default: ! You("cannot escape from %s!", mon_nam(u.ustuck)); nomul(0); return; } --- 661,668 ---- } /*FALLTHRU*/ default: ! /*JP You("cannot escape from %s!", mon_nam(u.ustuck));*/ ! You("%s¤«¤éƨ¤²¤é¤ì¤Ê¤¤¡ª", mon_nam(u.ustuck)); nomul(0); return; } *************** *** 626,632 **** --- 710,719 ---- } else if (!Upolyd && u.uhp > 1) { u.uhp--; } else { + /*JP You("pass out from exertion!"); + */ + You("µ¤À䤷¤¿¡¥"); exercise(A_CON, FALSE); fall_asleep(-10, FALSE); } *************** *** 641,674 **** /* not attacking an animal, so we try to move */ if(!uasmon->mmove) { ! You("are rooted %s.", Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz) ? ! "in place" : "to the ground"); nomul(0); return; } if(u.utrap) { if(u.utraptype == TT_PIT) { if (!rn2(2) && sobj_at(BOULDER, u.ux, u.uy)) { ! Your("%s gets stuck in a crevice.", body_part(LEG)); display_nhwindow(WIN_MESSAGE, FALSE); clear_nhwindow(WIN_MESSAGE); ! You("free your %s.", body_part(LEG)); } else if (!(--u.utrap)) { ! You("crawl to the edge of the pit."); fill_pit(u.ux, u.uy); vision_full_recalc = 1; /* vision limits change */ } else if (flags.verbose) ! Norep( (Hallucination && !rn2(5)) ? "You've fallen, and you can't get up." : ! "You are still in a pit." ); } else if (u.utraptype == TT_LAVA) { if(flags.verbose) ! Norep("You are stuck in the lava."); if(!is_lava(x,y)) { u.utrap--; if((u.utrap & 0xff) == 0) { ! You("pull yourself to the edge of the lava."); u.utrap = 0; } } --- 728,772 ---- /* not attacking an animal, so we try to move */ if(!uasmon->mmove) { ! /*JP You("are rooted %s.", ! Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz) ? ! "in place" : "to the ground");*/ ! You("%s¤ËΩ¤Á¤¹¤¯¤ó¤À¡¥", Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz) ? ! "¤½¤Î¾ì" : "¤½¤Î¾ì"); nomul(0); return; } if(u.utrap) { if(u.utraptype == TT_PIT) { if (!rn2(2) && sobj_at(BOULDER, u.ux, u.uy)) { ! /*JP Your("%s gets stuck in a crevice.", body_part(LEG));*/ ! Your("%s¤Ï³ä¤ìÌܤˤϤޤä¿¡¥", body_part(LEG)); display_nhwindow(WIN_MESSAGE, FALSE); clear_nhwindow(WIN_MESSAGE); ! /*JP You("free your %s.", body_part(LEG));*/ ! You("%s¤Ï¼«Í³¤Ë¤Ê¤Ã¤¿¡¥", body_part(LEG)); } else if (!(--u.utrap)) { ! /*JP You("crawl to the edge of the pit.");*/ ! You("Í·ê¤Î¤Ï¤¸¤Þ¤ÇÇç¤Ã¤Æ¤Ã¤¿¡¥"); fill_pit(u.ux, u.uy); vision_full_recalc = 1; /* vision limits change */ } else if (flags.verbose) ! /*JP Norep( (Hallucination && !rn2(5)) ? "You've fallen, and you can't get up." : ! "You are still in a pit." );*/ ! Norep( (Hallucination && !rn2(5)) ? ! "¤¢¤Ê¤¿¤ÏÍî¤Á¤¿¡¤µ¯¤­¤¢¤¬¤ì¤Ê¤¤¤è¤¦¡¥": ! "¤Þ¤ÀÍ·ê¤Ë¤¤¤ë¡¥"); } else if (u.utraptype == TT_LAVA) { if(flags.verbose) ! /*JP Norep("You are stuck in the lava.");*/ ! Norep("¤¢¤Ê¤¿¤ÏÍÏ´ä¤Ë¤Ï¤Þ¤Ã¤¿¡¥"); if(!is_lava(x,y)) { u.utrap--; if((u.utrap & 0xff) == 0) { ! /*JP You("pull yourself to the edge of the lava.");*/ ! You("ÍÏ´ä¤Îü¤Þ¤Ç¤«¤í¤¦¤¸¤Æ¡¤¤¿¤É¤ê¤Ä¤¤¤¿¡¥"); u.utrap = 0; } } *************** *** 676,696 **** } else if (u.utraptype == TT_WEB) { if(uwep && uwep->oartifact == ART_STING) { u.utrap = 0; ! pline("Sting cuts through the web!"); return; } if(--u.utrap) { if(flags.verbose) ! Norep("You are stuck to the web."); ! } else You("disentangle yourself."); } else if (u.utraptype == TT_INFLOOR) { if(--u.utrap) { if(flags.verbose) ! Norep("You are stuck in the floor."); ! } else You("finally wiggle free."); } else { if(flags.verbose) ! Norep("You are caught in a bear trap."); if((u.dx && u.dy) || !rn2(5)) u.utrap--; } return; --- 774,800 ---- } else if (u.utraptype == TT_WEB) { if(uwep && uwep->oartifact == ART_STING) { u.utrap = 0; ! /*JP pline("Sting cuts through the web!");*/ ! pline("¥¹¥Æ¥£¥ó¥°¤ÏÃØéá¤ÎÁã¤òÀڤꤵ¤¤¤¿¡ª"); return; } if(--u.utrap) { if(flags.verbose) ! /*JP Norep("You are stuck to the web.");*/ ! Norep("ÃØéá¤ÎÁã¤Ë¤Ò¤Ã¤«¤«¤Ã¤¿¡¥"); ! /*JP } else You("disentangle yourself.");*/ ! } else You("¼«Ê¬¤Ç¤Û¤É¤¤¤¿¡¥"); } else if (u.utraptype == TT_INFLOOR) { if(--u.utrap) { if(flags.verbose) ! /*JP Norep("You are stuck in the floor.");*/ ! Norep("¾²¤Ë¤Ï¤Þ¤Ã¤¿¡¥"); ! /*JP } else You("finally wiggle free.");*/ ! } else You("ÂΤò¤¯¤Í¤é¤»¤Æ¤Ì¤±¤¿¡¥"); } else { if(flags.verbose) ! /*JP Norep("You are caught in a bear trap.");*/ ! Norep("·§¤Î櫤ˤĤ«¤Þ¤Ã¤¿¡¥"); if((u.dx && u.dy) || !rn2(5)) u.utrap--; } return; *************** *** 709,715 **** if (still_chewing(x,y)) return; } else { if (Is_stronghold(&u.uz) && is_db_wall(x,y)) ! pline_The("drawbridge is up!"); flags.move = 0; nomul(0); return; --- 813,820 ---- if (still_chewing(x,y)) return; } else { if (Is_stronghold(&u.uz) && is_db_wall(x,y)) ! /*JP pline_The("drawbridge is up!");*/ ! pline("Ä·¤Í¶¶¤Ï¾å¤Ã¤Æ¤¤¤ë¡ª"); flags.move = 0; nomul(0); return; *************** *** 720,726 **** if (passes_walls(uasmon)) ; /* do nothing */ else if (amorphous(uasmon)) ! You("ooze under the door."); else if (tunnels(uasmon) && !needspick(uasmon)) { /* Eat the door. */ if (still_chewing(x,y)) return; --- 825,832 ---- if (passes_walls(uasmon)) ; /* do nothing */ else if (amorphous(uasmon)) ! /* You("ooze under the door.");*/ ! You("¥É¥¢¤Î²¼¤«¤é¤Ë¤¸¤ß½Ð¤¿¡¥"); else if (tunnels(uasmon) && !needspick(uasmon)) { /* Eat the door. */ if (still_chewing(x,y)) return; *************** *** 728,736 **** flags.move = 0; if (x == u.ux || y == u.uy) { if (Blind || Stunned || ACURR(A_DEX) < 10 || Fumbling) { ! pline("Ouch! You bump into a door."); exercise(A_DEX, FALSE); ! } else pline("That door is closed."); } nomul(0); return; --- 834,844 ---- flags.move = 0; if (x == u.ux || y == u.uy) { if (Blind || Stunned || ACURR(A_DEX) < 10 || Fumbling) { ! /*JP pline("Ouch! You bump into a door.");*/ ! pline("¤¤¤Æ¤Ã¡ªÆ¬¤òÈâ¤Ë¤Ö¤Ä¤±¤¿¡¥"); exercise(A_DEX, FALSE); ! /*JP } else pline("That door is closed.");*/ ! } else pline("Èâ¤ÏÊĤޤäƤ¤¤ë¡¥"); } nomul(0); return; *************** *** 752,763 **** && bad_rock(uasmon,u.ux,y) && bad_rock(uasmon,x,u.uy)) { /* Move at a diagonal. */ if (bigmonst(uasmon)) { ! Your("body is too large to fit through."); nomul(0); return; } if (invent && (inv_weight() + weight_cap() > 600)) { ! You("are carrying too much to get through."); nomul(0); return; } --- 860,873 ---- && bad_rock(uasmon,u.ux,y) && bad_rock(uasmon,x,u.uy)) { /* Move at a diagonal. */ if (bigmonst(uasmon)) { ! /*JP Your("body is too large to fit through.");*/ ! Your("ÂΤ¬Â礭¤¹¤®¤ÆÄ̤ê¤Ì¤±¤é¤ì¤Ê¤¤¡¥"); nomul(0); return; } if (invent && (inv_weight() + weight_cap() > 600)) { ! /*JP You("are carrying too much to get through.");*/ ! pline("ʪ¤ò»ý¤Á¤¹¤®¤ÆÄ̤ê¤Ì¤±¤é¤ì¤Ê¤¤¡¥"); nomul(0); return; } *************** *** 845,852 **** /* check for displacing it into pools and traps */ switch (minwater(mtmp) ? 2 : mintrap(mtmp)) { case 0: ! You("%s %s.", mtmp->mtame ? "displaced" : "frightened", ! mtmp->mnamelth ? NAME(mtmp) : mon_nam(mtmp)); break; case 1: /* trapped */ case 3: /* changed levels */ --- 955,965 ---- /* check for displacing it into pools and traps */ switch (minwater(mtmp) ? 2 : mintrap(mtmp)) { case 0: ! /*JP You("%s %s.", mtmp->mtame ? "displaced" : "frightened", ! mtmp->mnamelth ? NAME(mtmp) : mon_nam(mtmp));*/ ! You("%s%s¤¿¡¥", ! mtmp->mnamelth ? NAME(mtmp) : mon_nam(mtmp), ! mtmp->mtame ? "¤ÈÆþ¤ì´¹¤ï¤Ã" : "¤òÉݤ¬¤é¤»"); break; case 1: /* trapped */ case 3: /* changed levels */ *************** *** 859,865 **** * treat a pet! your god gets angry. */ if (rn2(4)) { ! You_feel("guilty about losing your pet like this."); u.ugangr++; adjalign(-15); } --- 972,979 ---- * treat a pet! your god gets angry. */ if (rn2(4)) { ! /*JP You_feel("guilty about losing your pet like this.");*/ ! pline("¤³¤Î¤è¤¦¤Ê·Á¤Ç¥Ú¥Ã¥È¤ò¼º¤¦¤È¤Ïºá¿¼¤¤¤³¤È¤À¤È»×¤Ã¤¿¡¥"); u.ugangr++; adjalign(-15); } *************** *** 919,929 **** if(invocation_pos(u.ux, u.uy) && !On_stairs(u.ux, u.uy)) { struct obj *otmp = carrying(CANDELABRUM_OF_INVOCATION); ! You_feel("a strange vibration under your %s.", makeplural(body_part(FOOT))); if (otmp && otmp->spe == 7 && otmp->lamplit) ! pline("%s %s!", The(xname(otmp)), ! Blind ? "throbs palpably" : "glows with a strange light"); } } --- 1033,1047 ---- if(invocation_pos(u.ux, u.uy) && !On_stairs(u.ux, u.uy)) { struct obj *otmp = carrying(CANDELABRUM_OF_INVOCATION); ! /*JP You_feel("a strange vibration under your %s.",*/ ! You("%s²¼¤Ë´ñ̯¤Ê¿¶Æ°¤ò´¶¤¸¤¿¡¥", makeplural(body_part(FOOT))); if (otmp && otmp->spe == 7 && otmp->lamplit) ! /*JP pline("%s %s!", The(xname(otmp)), ! Blind ? "throbs palpably" : "glows with a strange light");*/ ! pline("%s", ! Blind ? "¤«¤¹¤«¤Ë¿¶Æ°¤·¤¿¡ª" : "´ñ̯¤Ê¸÷¤òȯ¤·¤¿¡ª"); ! } } *************** *** 941,961 **** if (!is_pool(u.ux,u.uy)) { if (Is_waterlevel(&u.uz)) ! You("pop into an air bubble."); else if (is_lava(u.ux, u.uy)) ! You("leave the water..."); /* oops! */ else ! You("are on solid %s again.", ! is_ice(u.ux, u.uy) ? "ice" : "land"); } else if (Is_waterlevel(&u.uz)) goto stillinwater; else if (Levitation) ! You("pop out of the water like a cork!"); else if (is_flyer(uasmon)) ! You("fly out of the water."); else if (Wwalking) ! You("slowly rise above the surface."); else goto stillinwater; was_underwater = Underwater && !Is_waterlevel(&u.uz); --- 1059,1087 ---- if (!is_pool(u.ux,u.uy)) { if (Is_waterlevel(&u.uz)) ! /*JP You("pop into an air bubble.");*/ ! You("¤Ò¤ç¤¤¤È¶õµ¤¤ÎË¢¤ËÆþ¤Ã¤¿¡¥"); else if (is_lava(u.ux, u.uy)) ! /*JP You("leave the water..."); /* oops! */ ! You("¿å¤«¤éÈ´¤±¤À¤·¤¿¡¥¡¥¡¥"); /* oops! */ else ! /*JP You("are on solid %s again.", ! is_ice(u.ux, u.uy) ? "ice" : "land");*/ ! You("¸Ç¤¤%s¤Î¾å¤Ë¤Þ¤¿Ìá¤Ã¤¿¡¥", ! is_ice(u.ux, u.uy) ? "ɹ" : "ÃÏÌÌ"); ! } else if (Is_waterlevel(&u.uz)) goto stillinwater; else if (Levitation) ! /*JP You("pop out of the water like a cork!");*/ ! You("¥³¥ë¥¯¤Î¤è¤¦¤ËÈô¤Ó¤À¤·¤¿¡ª"); else if (is_flyer(uasmon)) ! /*JP You("fly out of the water.");*/ ! You("¿å¤«¤éÈô¤Ó¤À¤·¤¿¡¥"); else if (Wwalking) ! /*JP You("slowly rise above the surface.");*/ ! You("¤æ¤Ã¤¯¤ê¿åÌ̤ޤǾ夬¤Ã¤¿¡¥"); else goto stillinwater; was_underwater = Underwater && !Is_waterlevel(&u.uz); *************** *** 985,1003 **** mtmp->mundetected = mtmp->msleep = 0; switch(mtmp->data->mlet) { case S_PIERCER: ! pline("%s suddenly drops from the %s!", ! Amonnam(mtmp), ceiling(u.ux,u.uy)); if(mtmp->mtame) /* jumps to greet you, not attack */ ; else if(uarmh) ! pline("Its blow glances off your helmet."); else if (u.uac + 3 <= rnd(20)) ! You("are almost hit by %s!", ! x_monnam(mtmp, 2, "falling", 1)); else { int dmg; ! You("are hit by %s!", ! x_monnam(mtmp, 2, "falling", 1)); dmg = d(4,6); if(Half_physical_damage) dmg = (dmg+1) / 2; mdamageu(mtmp, dmg); --- 1111,1136 ---- mtmp->mundetected = mtmp->msleep = 0; switch(mtmp->data->mlet) { case S_PIERCER: ! /*JP pline("%s suddenly drops from the %s!", ! Amonnam(mtmp), ceiling(u.ux,u.uy));*/ ! pline("%s¤¬ÆÍÁ³%s¤«¤éÍî¤Á¤Æ¤­¤¿¡ª", ! Amonnam(mtmp), ceiling(u.ux,u.uy)); if(mtmp->mtame) /* jumps to greet you, not attack */ ; else if(uarmh) ! /*JP pline("Its blow glances off your helmet.");*/ ! pline("¹¶·â¤Ï¤¢¤Ê¤¿¤Î³õ¤ò¤«¤¹¤á¤¿¤À¤±¤À¤Ã¤¿¡¥"); else if (u.uac + 3 <= rnd(20)) ! /*JP You("are almost hit by %s!", ! x_monnam(mtmp, 2, "falling", 1));*/ ! You("Íî¤Á¤Æ¤­¤¿%s¤Ë¤â¤¦¾¯¤·¤ÇÅö¤¿¤ë¤È¤³¤í¤À¤Ã¤¿¡¥", ! Monnam(mtmp)); else { int dmg; ! /*JP You("are hit by %s!", ! x_monnam(mtmp, 2, "falling", 1));*/ ! You("Íî¤Á¤Æ¤­¤¿%s¤ËÅö¤¿¤Ã¤¿¡ª", ! Monnam(mtmp)); dmg = d(4,6); if(Half_physical_damage) dmg = (dmg+1) / 2; mdamageu(mtmp, dmg); *************** *** 1005,1019 **** break; default: /* monster surprises you. */ if(mtmp->mtame) ! pline("%s jumps near you from the %s.", Amonnam(mtmp), ceiling(u.ux,u.uy)); else if(mtmp->mpeaceful) { ! You("surprise %s!", Blind && !sensemon(mtmp) ? something : a_monnam(mtmp)); mtmp->mpeaceful = 0; } else ! pline("%s attacks you by surprise!", Amonnam(mtmp)); break; } --- 1138,1158 ---- break; default: /* monster surprises you. */ if(mtmp->mtame) ! /*JP pline("%s jumps near you from the %s.", ! Amonnam(mtmp));*/ ! pline("%s¤¬%s¤«¤é¤¢¤Ê¤¿¤Î¶á¤¯¤ËÈô¤ó¤Ç¤­¤¿¡¥", Amonnam(mtmp), ceiling(u.ux,u.uy)); else if(mtmp->mpeaceful) { ! /*JP You("surprise %s!", ! Blind && !sensemon(mtmp) ? ! something : a_monnam(mtmp));*/ ! You("%s¤ò¶Ã¤«¤·¤¿¡ª", Blind && !sensemon(mtmp) ? something : a_monnam(mtmp)); mtmp->mpeaceful = 0; } else ! /*JP pline("%s attacks you by surprise!",*/ ! pline("%s¤Ï¶Ã¤¤¤Æ¤¢¤Ê¤¿¤ò¹¶·â¤·¤¿¡ª", Amonnam(mtmp)); break; } *************** *** 1173,1210 **** * but everything else gives a message only the first time */ switch (rt) { case ZOO: ! pline("Welcome to David's treasure zoo!"); break; case SWAMP: ! pline("It %s rather %s down here.", Blind ? "feels" : "looks", ! Blind ? "humid" : "muddy"); break; case COURT: ! You("enter an opulent throne room!"); break; case MORGUE: if(midnight()) { ! const char *run = locomotion(uasmon, "Run"); ! pline("%s away! %s away!", run, run); } else ! You("have an uncanny feeling..."); break; case BEEHIVE: ! You("enter a giant beehive!"); break; case BARRACKS: if(monstinroom(&mons[PM_SOLDIER], roomno) || monstinroom(&mons[PM_SERGEANT], roomno) || monstinroom(&mons[PM_LIEUTENANT], roomno) || monstinroom(&mons[PM_CAPTAIN], roomno)) ! You("enter a military barracks!"); else ! You("enter an abandoned barracks."); break; case DELPHI: if(monstinroom(&mons[PM_ORACLE], roomno)) ! verbalize("Hello, %s, welcome to Delphi!", plname); break; case TEMPLE: intemple(roomno + ROOMOFFSET); --- 1312,1363 ---- * but everything else gives a message only the first time */ switch (rt) { case ZOO: ! /*JP pline("Welcome to David's treasure zoo!");*/ ! pline("¥Ç¥Ó¥Ã¥ÈÊõȢưʪ±à¤Ë¤è¤¦¤³¤½¡ª"); ! break; case SWAMP: ! /*JP pline("It %s rather %s down here.", Blind ? "feels" : "looks", ! Blind ? "humid" : "muddy");*/ ! pline("¤«¤Ê¤ê%s%s¡¥", ! Blind ? "¼¾µ¤¤¬¤¢¤ë" : "¤É¤í¤É¤í¤·¤Æ¤¤¤ë", ! Blind ? "¾ì½ê¤Î¤è¤¦¤À" : "¾ì½ê¤À"); break; case COURT: ! /*JP You("enter an opulent throne room!");*/ ! You("²Ú¤ä¤«¤Ê¶ÌºÂ¤Î´Ö¤ËÆþ¤Ã¤¿¡ª"); break; case MORGUE: if(midnight()) { ! /*JP const char *run = locomotion(uasmon, "Run");*/ ! const char *run = locomotion(uasmon, "Áö¤ì"); ! /*JP pline("%s away! %s away!", run, run);*/ ! pline("%s¡ª%s¡ªÆ¨¤²¤í¡ª", run, run); } else ! /*JP You("have an uncanny feeling...");*/ ! You("ÉÔµ¤Ì£¤Ê´¶¤¸¤¬¤·¤¿¡¥¡¥¡¥"); break; case BEEHIVE: ! /*JP You("enter a giant beehive!");*/ ! You("µðÂç¤Ê˪¤ÎÁã¤ËÆþ¤Ã¤¿¡ª"); break; case BARRACKS: if(monstinroom(&mons[PM_SOLDIER], roomno) || monstinroom(&mons[PM_SERGEANT], roomno) || monstinroom(&mons[PM_LIEUTENANT], roomno) || monstinroom(&mons[PM_CAPTAIN], roomno)) ! /*JP You("enter a military barracks!");*/ ! You("·³¿Í¤ÎʼçÒ¤ËÆþ¤Ã¤¿¡ª"); ! else ! /*JP You("enter an abandoned barracks.");*/ ! You("ÊüÃÖ¤·¤¿¤Þ¤Þ¤ÎʼçÒ¤ËÆþ¤Ã¤¿¡¥"); break; case DELPHI: if(monstinroom(&mons[PM_ORACLE], roomno)) ! /*JP verbalize("Hello, %s, welcome to Delphi!", plname);*/ ! verbalize("¤ª¤ª%s, ¥Ç¥ë¥Õ¥¡¥¤¤Î¿ÀÂ÷½ê¤Ë¤è¤¯¤¾¤Þ¤¤¤é¤ì¤¿¡ª", plname); break; case TEMPLE: intemple(roomno + ROOMOFFSET); *************** *** 1264,1293 **** --- 1417,1466 ---- /* uswallow case added by GAN 01/29/87 */ if(u.uswallow) { if (is_animal(u.ustuck->data)) { + /*JP You("pick up %s tongue.", s_suffix(mon_nam(u.ustuck))); pline("But it's kind of slimy, so you drop it."); + */ + You("%s¤ÎÀå¤ò½¦¤Ã¤¿¡¥", s_suffix(mon_nam(u.ustuck))); + pline("¤·¤«¤·¡¤¤½¤ì¤Ï¤Ì¤ë¤Ì¤ë¤·¤ÆÉÔ²÷¤À¤Ã¤¿¤Î¤Ç¼Î¤Æ¤Æ¤·¤Þ¤Ã¤¿¡¥"); } else + /*JP You("don't %s anything in here to pick up.", Blind ? "feel" : "see"); + */ + pline("¤³¤³¤Ë¤Ï½¦¤¨¤ë¤â¤Î¤¬¤Ê¤¤%s¡¥", + Blind ? "¤è¤¦¤À" : ""); return(1); } if(is_pool(u.ux, u.uy)) { if (Wwalking || is_floater(uasmon) || is_clinger(uasmon) || (is_flyer(uasmon) && !Breathless)) { + /*JP You("cannot dive into the water to pick things up."); + */ + You("ʪ¤ò½¦¤¤¤¢¤²¤ë¤¿¤á¤Ë¿å¤ËÈô¤Ó¤³¤á¤Ê¤¤¡¥"); return(1); } else if (!Underwater) { + /*JP You_cant("even see the bottom, let alone pick up %s.", something); + */ + pline("Ä줵¤¨¸«¤¨¤Ê¤¤, ½¦¤¦¤Î¤Ï¤ä¤á¤è¤¦¡¥"); return(1); } } if(!OBJ_AT(u.ux, u.uy)) { + /*JP pline("There is nothing here to pick up."); + */ + pline("¤³¤³¤Ë¤Ï½¦¤¨¤ë¤â¤Î¤Ï¤Ê¤¤¡¥"); return(0); } if (!can_reach_floor()) { + /*JP You("cannot reach the %s.", surface(u.ux,u.uy)); + */ + You("%s¤Ë¤¿¤É¤ê¤Ä¤¯¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥", surface(u.ux,u.uy)); return(1); } pickup(-count); *************** *** 1494,1506 **** if(u.uhp < 1) { killer_format = k_format; killer = knam; /* the thing that killed you */ ! You("die..."); done(DIED); } else if(u.uhp*10 < u.uhpmax && moves-wailmsg > 50 && n > 0){ wailmsg = moves; if (Role_is('W') || Role_is('E') || Role_is('V')) { if (u.uhp == 1) ! pline("%s is about to die.", pl_character); else if (4 <= (!!(HTeleportation & INTRINSIC)) + (!!(HSee_invisible & INTRINSIC)) + (!!(HPoison_resistance & INTRINSIC)) + --- 1667,1681 ---- if(u.uhp < 1) { killer_format = k_format; killer = knam; /* the thing that killed you */ ! /*JP You("die...");*/ ! pline("¤¢¤Ê¤¿¤Ï»à¤Ë¤Þ¤·¤¿¡¥¡¥¡¥"); done(DIED); } else if(u.uhp*10 < u.uhpmax && moves-wailmsg > 50 && n > 0){ wailmsg = moves; if (Role_is('W') || Role_is('E') || Role_is('V')) { if (u.uhp == 1) ! /*JP pline("%s is about to die.", pl_character);*/ ! pline("%s¤Ï»à¤Ë¤«¤±¤Æ¤¤¤ë¡¥", jtrns_mon(pl_character, flags.female)); else if (4 <= (!!(HTeleportation & INTRINSIC)) + (!!(HSee_invisible & INTRINSIC)) + (!!(HPoison_resistance & INTRINSIC)) + *************** *** 1513,1528 **** (!!(Stealth & INTRINSIC)) + (!!(Fast & INTRINSIC)) + (!!(HInvis & INTRINSIC))) ! pline("%s, all your powers will be lost...", ! pl_character); else ! pline("%s, your life force is running out.", ! pl_character); } else { if(u.uhp == 1) ! You_hear("the wailing of the Banshee..."); else ! You_hear("the howling of the CwnAnnwn..."); } } } --- 1688,1709 ---- (!!(Stealth & INTRINSIC)) + (!!(Fast & INTRINSIC)) + (!!(HInvis & INTRINSIC))) ! /*JP pline("%s, all your powers will be lost...", ! pl_character);*/ ! pline("%s¡¤¤¢¤Ê¤¿¤ÎÁ´¤Æ¤ÎǽÎϤϼº¤ï¤ì¤¿¡¥¡¥¡¥", ! jtrns_mon(pl_character, flags.female)); else ! /*JP pline("%s, your life force is running out.", ! pl_character);*/ ! pline("%s¡¤¤¢¤Ê¤¿¤Î°Õ¼±¤¬±ó¤Î¤¤¤Æ¤¤¤¯¡¥¡¥¡¥", ! jtrns_mon(pl_character, flags.female)); } else { if(u.uhp == 1) ! /*JP You_hear("the wailing of the Banshee...");*/ ! pline("¥Ð¥ó¥·¡¼¤Î¤¹¤¹¤êµã¤­¤¬Ê¹¤³¤¨¤ë¡¥¡¥¡¥"); else ! /*JP You_hear("the howling of the CwnAnnwn...");*/ ! pline("±óËʤ¬Ê¹¤³¤¨¤ë¡¥¡¥¡¥"); } } } *************** *** 1621,1627 **** if(str) pline(str); else ! You_cant("do that while carrying so much stuff."); return 1; } return 0; --- 1802,1809 ---- if(str) pline(str); else ! /*JP You_cant("do that while carrying so much stuff.");*/ ! You("Âô»³¤â¤Î¤ò»ý¤Á¤¹¤®¤Æ¤¤¤ë¤Î¤Ç¡¤¤½¤ó¤Ê¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥"); return 1; } return 0; diff -c -r ../nethack-3.2.2/src/hacklib.c ./src/hacklib.c *** ../nethack-3.2.2/src/hacklib.c Fri Jun 21 02:25:04 1996 --- ./src/hacklib.c Tue Jul 22 23:18:20 1997 *************** *** 40,45 **** --- 40,46 ---- int night (void) int midnight (void) =*/ + #ifdef LINT # define Static /* pacify lint */ #else *************** *** 118,124 **** --- 119,136 ---- while (*s) s++; /* s += strlen(s); */ return s; } + /* there are no `possessive' in Japanese */ + /* by issei@jaist.ac.jp */ + char * + s_suffix(s) + const char *s; + { + Static char buf[BUFSZ]; + Strcpy(buf, s); + return buf; + } + #if 0 char * s_suffix(s) /* return a name converted to possessive */ const char *s; *************** *** 134,140 **** Strcat(buf, "'s"); return buf; } ! char * xcrypt(str, buf) /* trivial text encryption routine (see makedefs) */ const char *str; --- 146,152 ---- Strcat(buf, "'s"); return buf; } ! #endif char * xcrypt(str, buf) /* trivial text encryption routine (see makedefs) */ const char *str; diff -c -r ../nethack-3.2.2/src/invent.c ./src/invent.c *** ../nethack-3.2.2/src/invent.c Sat Dec 28 21:53:41 1996 --- ./src/invent.c Tue Jul 22 23:18:23 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "artifact.h" *************** *** 551,556 **** --- 558,570 ---- * (struct obj *) 0 error return: no object. * &zeroobj explicitly no object (as in w-). */ + /*JP + ** word ¤Ë¤ÏÆ°»ì¤¬Æþ¤ë¡¥ + ** + ** ÆüËܸì¤Ç¤Ï¡¤¡Ö¤É¤ì¤ò½ñ¤­¤Þ¤¹¤«¡×¤è¤ê¡Ö¤É¤ì¤Ë½ñ¤­¤Þ¤¹¤«¡×¤ÎÊý¤¬¼«Á³¤Ê¤Î¤Ç¡¤ + ** ºÇ½é¤Î°ìʸ»ú¤Ë¡Ö¤Ë¡×¤ä¡Ö¤Î¡×¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï½õ»ì¤òÊѹ¹¤¹¤ë¡¥ + ** + */ struct obj * getobj(let,word) register const char *let,*word; *************** *** 572,583 **** long cnt; boolean prezero = FALSE; if(*let == ALLOW_COUNT) let++, allowcnt = 1; if(*let == GOLD_CLASS) let++, usegold = TRUE, allowgold = (u.ugold ? TRUE : FALSE); /* Equivalent of an "ugly check" for gold */ ! if (usegold && !strcmp(word, "eat") && !metallivorous(uasmon)) usegold = allowgold = FALSE; if(*let == ALL_CLASSES) let++, allowall = TRUE; --- 586,612 ---- long cnt; boolean prezero = FALSE; + /*JP*/ + const char *joshi = "¤ò"; + const char *what = "¤É¤ì"; + + if(!strncmp(word, "¤Ë", 2)){ + word += 2; + joshi = "¤Ë"; + } + else if(!strncmp(word, "¤Î", 2)){ + word += 2; + joshi = "¤Î"; + what = "¤É"; + } + if(*let == ALLOW_COUNT) let++, allowcnt = 1; if(*let == GOLD_CLASS) let++, usegold = TRUE, allowgold = (u.ugold ? TRUE : FALSE); /* Equivalent of an "ugly check" for gold */ ! /*JP if (usegold && !strcmp(word, "eat") && !metallivorous(uasmon))*/ ! if (usegold && (!strcmp(word, "eat")||!strcmp(word,"¿©¤Ù¤ë")) && !metallivorous(uasmon)) usegold = allowgold = FALSE; if(*let == ALL_CLASSES) let++, allowall = TRUE; *************** *** 588,594 **** * them is handled a bit differently (and also requires that we set * allowall in the caller) */ ! if(allowall && !strcmp(word, "read")) allowall = FALSE; if(allownone) *bp++ = '-'; if(allowgold) *bp++ = def_oc_syms[GOLD_CLASS]; --- 617,625 ---- * them is handled a bit differently (and also requires that we set * allowall in the caller) */ ! /*JP if(allowall && !strcmp(word, "read")) allowall = FALSE;*/ ! if(allowall && (!strcmp(word, "read")||!strcmp(word,"Æɤà"))) ! allowall = FALSE; if(allownone) *bp++ = '-'; if(allowgold) *bp++ = def_oc_syms[GOLD_CLASS]; *************** *** 602,618 **** bp[foo++] = otmp->invlet; /* ugly check: remove inappropriate things */ ! if((!strcmp(word, "take off") && (!(otmp->owornmask & (W_ARMOR | W_RING | W_AMUL | W_TOOL)) || (otmp==uarm && uarmc) #ifdef TOURIST || (otmp==uarmu && (uarm || uarmc)) #endif )) ! || (!strcmp(word, "wear") && (otmp->owornmask & (W_ARMOR | W_RING | W_AMUL | W_TOOL))) /* already worn */ ! || (!strcmp(word, "wield") && (otmp->owornmask & W_WEP)) ) { foo--; --- 633,652 ---- bp[foo++] = otmp->invlet; /* ugly check: remove inappropriate things */ ! /*JP if((!strcmp(word, "take off") &&*/ ! if(((!strcmp(word, "take off")||!strcmp(word,"椰")||!strcmp(word,"¤Ï¤º¤¹")||!strcmp(word,"ÁõÈ÷¤ò²ò¤¯")) && (!(otmp->owornmask & (W_ARMOR | W_RING | W_AMUL | W_TOOL)) || (otmp==uarm && uarmc) #ifdef TOURIST || (otmp==uarmu && (uarm || uarmc)) #endif )) ! /*JP || (!strcmp(word, "wear") &&*/ ! || ((!strcmp(word, "wear")||!strcmp(word,"Ãå¤ë")||!strcmp(word,"¿È¤Ë¤Ä¤±¤ë")) && (otmp->owornmask & (W_ARMOR | W_RING | W_AMUL | W_TOOL))) /* already worn */ ! /*JP || (!strcmp(word, "wield") &&*/ ! || ((!strcmp(word, "wield")||!strcmp(word,"ÁõÈ÷¤¹¤ë")) && (otmp->owornmask & W_WEP)) ) { foo--; *************** *** 622,647 **** /* Second ugly check; unlike the first it won't trigger an * "else" in "you don't have anything else to ___". */ ! else if ((!strcmp(word, "wear") && (otmp->oclass == TOOL_CLASS && otyp != BLINDFOLD && otyp != TOWEL)) ! || (!strcmp(word, "wield") && (otmp->oclass == TOOL_CLASS && !is_weptool(otmp))) ! || (!strcmp(word, "eat") && !is_edible(otmp)) ! || (!strcmp(word, "sacrifice") && (otyp != CORPSE && otyp != AMULET_OF_YENDOR && otyp != FAKE_AMULET_OF_YENDOR)) ! || (!strcmp(word, "write with") && (otmp->oclass == TOOL_CLASS && otyp != MAGIC_MARKER && otyp != TOWEL)) ! || (!strcmp(word, "tin") && (otyp != CORPSE || !tinnable(otmp))) ! || (!strcmp(word, "rub") && (otmp->oclass == TOOL_CLASS && otyp != OIL_LAMP && otyp != MAGIC_LAMP && otyp != BRASS_LANTERN)) ! || ((!strcmp(word, "use or apply") || ! !strcmp(word, "untrap with")) && /* only applicable weapon is BULLWHIP */ ((otmp->oclass == WEAPON_CLASS && otyp != BULLWHIP) || (otmp->oclass == POTION_CLASS && --- 656,690 ---- /* Second ugly check; unlike the first it won't trigger an * "else" in "you don't have anything else to ___". */ ! /*JP else if ((!strcmp(word, "wear") &&*/ ! else if (((!strcmp(word, "wear")||!strcmp(word,"¿È¤Ë¤Ä¤±¤ë")) && (otmp->oclass == TOOL_CLASS && otyp != BLINDFOLD && otyp != TOWEL)) ! /*JP || (!strcmp(word, "wield") &&*/ ! || ((!strcmp(word, "wield")||!strcmp(word,"ÁõÈ÷¤¹¤ë")) && (otmp->oclass == TOOL_CLASS && !is_weptool(otmp))) ! /*JP || (!strcmp(word, "eat") && !is_edible(otmp))*/ ! || ((!strcmp(word, "eat")||!strcmp(word,"¿©¤Ù¤ë")) && !is_edible(otmp)) ! /*JP || (!strcmp(word, "sacrifice") &&*/ ! || ((!strcmp(word, "sacrifice")||!strcmp(word,"Êû¤²¤ë")) && (otyp != CORPSE && otyp != AMULET_OF_YENDOR && otyp != FAKE_AMULET_OF_YENDOR)) ! /*JP || (!strcmp(word, "write with") &&*/ ! || ((!strcmp(word, "write with")||!strcmp(word,"»È¤Ã¤Æ½ñ¤¯")) && (otmp->oclass == TOOL_CLASS && otyp != MAGIC_MARKER && otyp != TOWEL)) ! /*JP || (!strcmp(word, "tin") &&*/ ! || ((!strcmp(word, "tin")||!strcmp(word,"¤«¤óµÍ¤á¤Ë¤¹¤ë")) && (otyp != CORPSE || !tinnable(otmp))) ! /*JP || (!strcmp(word, "rub") &&*/ ! || ((!strcmp(word, "rub")||!strcmp(word,"¤³¤¹¤ë")) && (otmp->oclass == TOOL_CLASS && otyp != OIL_LAMP && otyp != MAGIC_LAMP && otyp != BRASS_LANTERN)) ! /*JP || ((!strcmp(word, "use or apply") || ! !strcmp(word, "untrap with")) &&*/ ! || ((!strcmp(word, "use or apply") || !strcmp(word, "»È¤¦") || ! !strcmp(word, "untrap with") || !strcmp(word, "»È¤Ã¤Æ櫤ò¤Ï¤º¤¹")) && /* only applicable weapon is BULLWHIP */ ((otmp->oclass == WEAPON_CLASS && otyp != BULLWHIP) || (otmp->oclass == POTION_CLASS && *************** *** 649,655 **** be offered as a choice when already discovered */ (otyp != POT_OIL || !otmp->dknown || !objects[POT_OIL].oc_name_known)))) ! || (!strcmp(word, "invoke") && (!otmp->oartifact && !objects[otyp].oc_unique && (otyp != FAKE_AMULET_OF_YENDOR || otmp->known) && otyp != CRYSTAL_BALL && /* #invoke synonym for apply */ --- 692,699 ---- be offered as a choice when already discovered */ (otyp != POT_OIL || !otmp->dknown || !objects[POT_OIL].oc_name_known)))) ! /*JP || (!strcmp(word, "invoke") &&*/ ! || ((!strcmp(word, "invoke") || !strcmp(word, "ËâÎϤò»È¤¦")) && (!otmp->oartifact && !objects[otyp].oc_unique && (otyp != FAKE_AMULET_OF_YENDOR || otmp->known) && otyp != CRYSTAL_BALL && /* #invoke synonym for apply */ *************** *** 658,679 **** otyp != MIRROR && otyp != MAGIC_LAMP && (otyp != OIL_LAMP || /* don't list known oil lamp */ (otmp->dknown && objects[OIL_LAMP].oc_name_known)))) ! || (!strcmp(word, "untrap with") && (otmp->oclass == TOOL_CLASS && otyp != CAN_OF_GREASE)) ! || (!strcmp(word, "charge") && !is_chargeable(otmp)) ) foo--; } else { /* "ugly check" for reading fortune cookies, part 2 */ ! if ((!strcmp(word, "read") && (otmp->otyp == FORTUNE_COOKIE #ifdef TOURIST || otmp->otyp == T_SHIRT - #endif ))) allowall = TRUE; } if(ilet == 'z') ilet = 'A'; else ilet++; } --- 702,726 ---- otyp != MIRROR && otyp != MAGIC_LAMP && (otyp != OIL_LAMP || /* don't list known oil lamp */ (otmp->dknown && objects[OIL_LAMP].oc_name_known)))) ! /*JP || (!strcmp(word, "untrap with") &&*/ ! || ((!strcmp(word, "untrap with") || !strcmp(word, "»È¤Ã¤Æ櫤ò¤Ï¤º¤¹")) && (otmp->oclass == TOOL_CLASS && otyp != CAN_OF_GREASE)) ! /*JP || (!strcmp(word, "charge") && !is_chargeable(otmp))*/ ! || ((!strcmp(word, "charge") || !strcmp(word, "½¼Å¶¤¹¤ë")) && !is_chargeable(otmp)) ) foo--; } else { /* "ugly check" for reading fortune cookies, part 2 */ ! /*JP if ((!strcmp(word, "read") &&*/ ! if (((!strcmp(word, "read")||!strcmp(word, "Æɤà")) && (otmp->otyp == FORTUNE_COOKIE #ifdef TOURIST || otmp->otyp == T_SHIRT ))) allowall = TRUE; } + #endif if(ilet == 'z') ilet = 'A'; else ilet++; } *************** *** 684,701 **** compactify(bp); if(!foo && !allowall && !allowgold && !allownone) { ! You("don't have anything %sto %s.", ! foox ? "else " : "", word); return((struct obj *)0); } for(;;) { cnt = 0; if (allowcnt == 2) allowcnt = 1; /* abort previous count */ if(!buf[0]) { ! Sprintf(qbuf, "What do you want to %s? [*]", word); } else { ! Sprintf(qbuf, "What do you want to %s? [%s or ?*]", ! word, buf); } #ifdef REDO if (in_doagain) --- 731,752 ---- compactify(bp); if(!foo && !allowall && !allowgold && !allownone) { ! /*JP You("don't have anything %sto %s.", ! foox ? "else " : "", word);*/ ! You("%s%s¤â¤Î¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡¥", ! foox ? "¾¤Ë" : "", jconj(word, "¤ì¤ë")); return((struct obj *)0); } for(;;) { cnt = 0; if (allowcnt == 2) allowcnt = 1; /* abort previous count */ if(!buf[0]) { ! /*JP Sprintf(qbuf, "What do you want to %s? [*]", word);*/ ! Sprintf(qbuf, "%s%s%s¤«¡©[*]", what, joshi, jconj(word,"¤Þ¤¹")); } else { ! /*JP Sprintf(qbuf, "What do you want to %s? [%s or ?*]",*/ ! Sprintf(qbuf, "%s%s%s¤«¡©[%s or ?*]", what, joshi, ! jconj(word,"¤Þ¤¹"), buf); } #ifdef REDO if (in_doagain) *************** *** 713,724 **** ilet = readchar(); } if(digit(ilet)) { ! pline("No count allowed with this command."); continue; } if(index(quitchars,ilet)) { if(flags.verbose) ! pline("Never mind."); return((struct obj *)0); } if(ilet == '-') { --- 764,777 ---- ilet = readchar(); } if(digit(ilet)) { ! /*JP pline("No count allowed with this command.");*/ ! pline("¤³¤Î¥³¥Þ¥ó¥É¤Ë¿ô»ú¤Ï¤Ä¤«¤¨¤Ê¤¤¡¥"); continue; } if(index(quitchars,ilet)) { if(flags.verbose) ! /*JP pline("Never mind.");*/ ! pline("¤¨¡©"); return((struct obj *)0); } if(ilet == '-') { *************** *** 726,735 **** } if(ilet == def_oc_syms[GOLD_CLASS]) { if(!usegold){ ! You("cannot %s gold.", word); return(struct obj *)0; } else if (!allowgold) { ! You("are not carrying any gold."); return(struct obj *)0; } if(cnt == 0 && prezero) return((struct obj *)0); --- 779,790 ---- } if(ilet == def_oc_syms[GOLD_CLASS]) { if(!usegold){ ! /*JP You("cannot %s gold.", word);*/ ! You("¶â²ß%s%s¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥", joshi,word); return(struct obj *)0; } else if (!allowgold) { ! /*JP You("are not carrying any gold.");*/ ! You("°ìÁ¬¤â»ý¤Ã¤Æ¤Ê¤¤¡¥"); return(struct obj *)0; } if(cnt == 0 && prezero) return((struct obj *)0); *************** *** 740,746 **** * from Larn. */ if(cnt < 0) { ! pline_The("LRS would be very interested to know you have that much."); return(struct obj *)0; } --- 795,802 ---- * from Larn. */ if(cnt < 0) { ! /*JP pline_The("LRS would be very interested to know you have that much.");*/ ! pline("¤½¤Îµ»¤Ï¤È¤¢¤ë¥²¡¼¥à¤Î¥«¥¸¥Î¤Ç»È¤¨¤¿¤±¤É¡¤¤â¤Ï¤ä»È¤¨¤Ê¤¤¤è¡¥"); return(struct obj *)0; } *************** *** 748,761 **** cnt = u.ugold; return(mkgoldobj(cnt)); } ! if(allowcnt == 2 && !strcmp(word,"throw")) { /* permit counts for throwing gold, but don't accept * counts for other things since the throw code will * split off a single item anyway */ allowcnt = 1; if(cnt == 0 && prezero) return((struct obj *)0); if(cnt > 1) { ! You("can only throw one item at a time."); continue; } } --- 804,819 ---- cnt = u.ugold; return(mkgoldobj(cnt)); } ! /*JP if(allowcnt == 2 && !strcmp(word,"throw")) {*/ ! if(allowcnt == 2 && (!strcmp(word,"throw")||!strcmp(word,"Åꤲ¤ë"))) { /* permit counts for throwing gold, but don't accept * counts for other things since the throw code will * split off a single item anyway */ allowcnt = 1; if(cnt == 0 && prezero) return((struct obj *)0); if(cnt > 1) { ! /*JP You("can only throw one item at a time.");*/ ! You("Ʊ»þ¤Ë¤¿¤¯¤µ¤ó¤Î¤â¤Î¤òÅꤲ¤é¤ì¤Ê¤¤¡¥"); continue; } } *************** *** 764,770 **** if(!ilet) continue; if(ilet == '\033') { if(flags.verbose) ! pline("Never mind."); return((struct obj *)0); } /* they typed a letter (not a space) at the prompt */ --- 822,829 ---- if(!ilet) continue; if(ilet == '\033') { if(flags.verbose) ! /*JP pline("Never mind.");*/ ! pline("¤¨¡©"); return((struct obj *)0); } /* they typed a letter (not a space) at the prompt */ *************** *** 775,787 **** for (otmp = invent; otmp; otmp = otmp->nobj) if (otmp->invlet == ilet) break; if(!otmp) { ! You("don't have that object."); #ifdef REDO if (in_doagain) return((struct obj *) 0); #endif continue; } else if (cnt < 0 || otmp->quan < cnt) { ! You("don't have that many! You have only %ld.", otmp->quan); #ifdef REDO if (in_doagain) return((struct obj *) 0); --- 834,848 ---- for (otmp = invent; otmp; otmp = otmp->nobj) if (otmp->invlet == ilet) break; if(!otmp) { ! /*JP You("don't have that object.");*/ ! You("¤½¤ó¤Ê¤â¤Î¤ò»ý¤Ã¤Æ¤Ê¤¤¡¥"); #ifdef REDO if (in_doagain) return((struct obj *) 0); #endif continue; } else if (cnt < 0 || otmp->quan < cnt) { ! /*JP You("don't have that many! You have only %ld.",*/ ! You("¤½¤ó¤Ê¤Ë»ý¤Æ¤Ê¤¤¡ª¤»¤¤¤¼¤¤%ld¤Ã¤Æ¤³¤À¡¥", otmp->quan); #ifdef REDO if (in_doagain) return((struct obj *) 0); *************** *** 802,808 **** * to drop one of several loadstones and having the loadstone * now be separate. */ ! if (!strcmp(word, "drop") && obj->otyp == LOADSTONE && obj->cursed) otmp->corpsenm = obj->invlet; if(otmp == uwep) setuwep(obj); --- 863,870 ---- * to drop one of several loadstones and having the loadstone * now be separate. */ ! /*JP if (!strcmp(word, "drop") &&*/ ! if ((!strcmp(word, "drop")||(!strcmp(word,"ÃÖ¤¯"))) && obj->otyp == LOADSTONE && obj->cursed) otmp->corpsenm = obj->invlet; if(otmp == uwep) setuwep(obj); *************** *** 856,873 **** int oletct, iletct, allowgold, unpaid, oc_of_sym; char sym, *ip, olets[MAXOCLASSES+5], ilets[MAXOCLASSES+5]; char buf[BUFSZ], qbuf[QBUFSZ]; ! allowgold = (u.ugold && !strcmp(word, "drop")) ? 1 : 0; takeoff = ident = allflag = m_seen = FALSE; if(!invent && !allowgold){ ! You("have nothing to %s.", word); return(0); } if (combo) add_valid_menu_class(0); /* reset */ ! if (!strcmp(word, "take off")) { takeoff = TRUE; filter = is_worn; ! } else if (!strcmp(word, "identify")) { ident = TRUE; filter = not_fully_identified; } --- 918,950 ---- int oletct, iletct, allowgold, unpaid, oc_of_sym; char sym, *ip, olets[MAXOCLASSES+5], ilets[MAXOCLASSES+5]; char buf[BUFSZ], qbuf[QBUFSZ]; + /*JP*/ + const char *joshi = "¤ò"; ! if(!strncmp(word, "¤Ë", 2)){ ! word += 2; ! joshi = "¤Ë"; ! } ! else if(!strncmp(word, "¤Î", 2)){ ! word += 2; ! joshi = "¤Î"; ! } ! ! /*JP allowgold = (u.ugold && !strcmp(word, "drop")) ? 1 : 0;*/ ! allowgold = (u.ugold && (!strcmp(word, "drop")||!strcmp(word, "ÃÖ¤¯"))) ? 1 : 0; takeoff = ident = allflag = m_seen = FALSE; if(!invent && !allowgold){ ! /*JP You("have nothing to %s.", word);*/ ! You("%s¤â¤Î¤Ï»ý¤Ã¤Æ¤¤¤Ê¤¤¡¥", jcan(word)); return(0); } if (combo) add_valid_menu_class(0); /* reset */ ! /*JP if (!strcmp(word, "take off")) {*/ ! if (!strcmp(word, "take off")||!strcmp(word, "椰")||!strcmp(word, "¤Ï¤º¤¹") || !strcmp(word, "ÁõÈ÷¤ò²ò¤¯")) { takeoff = TRUE; filter = is_worn; ! /*JP } else if (!strcmp(word, "identify")) {*/ ! } else if (!strcmp(word, "identify")|| !strcmp(word, "¼±Ê̤¹¤ë")) { ident = TRUE; filter = not_fully_identified; } *************** *** 891,898 **** ilets[iletct] = '\0'; for (;;) { ! Sprintf(qbuf,"What kinds of thing do you want to %s? [%s]", ! word, ilets); getlin(qbuf, buf); if (buf[0] == '\033') return(0); if (index(buf, 'i')) { --- 968,976 ---- ilets[iletct] = '\0'; for (;;) { ! /*JP Sprintf(qbuf,"What kinds of thing do you want to %s? [%s]",*/ ! Sprintf(qbuf,"¤É¤Î¼ïÎà¤Î¤â¤Î%s%s¤«¡©[%s]",joshi, ! jconj(word,"¤Þ¤¹"), ilets); getlin(qbuf, buf); if (buf[0] == '\033') return(0); if (index(buf, 'i')) { *************** *** 909,930 **** if (takeoff && !(uwep && oc_of_sym == uwep->oclass) && (oc_of_sym != MAXOCLASSES)) { if (!index(removeables, oc_of_sym)) { ! pline("Not applicable."); return 0; } else if (oc_of_sym == ARMOR_CLASS && !wearing_armor()) { ! You("are not wearing any armor."); return 0; } else if (oc_of_sym == WEAPON_CLASS && !uwep) { ! You("are not wielding anything."); return 0; } else if (oc_of_sym == RING_CLASS && !uright && !uleft) { ! You("are not wearing rings."); return 0; } else if (oc_of_sym == AMULET_CLASS && !uamul) { ! You("are not wearing an amulet."); return 0; } else if (oc_of_sym == TOOL_CLASS && !ublindf) { ! You("are not wearing a blindfold."); return 0; } } --- 987,1014 ---- if (takeoff && !(uwep && oc_of_sym == uwep->oclass) && (oc_of_sym != MAXOCLASSES)) { if (!index(removeables, oc_of_sym)) { ! /*JP pline("Not applicable.");*/ ! pline("¤½¤ì¤Ï¤Ç¤­¤Ê¤¤¡¥"); return 0; } else if (oc_of_sym == ARMOR_CLASS && !wearing_armor()) { ! /*JP You("are not wearing any armor.");*/ ! You("³»¤òÃå¤Æ¤¤¤Ê¤¤¡¥"); return 0; } else if (oc_of_sym == WEAPON_CLASS && !uwep) { ! /*JP You("are not wielding anything.");*/ ! You("²¿¤âÁõÈ÷¤·¤Æ¤¤¤Ê¤¤¡¥"); return 0; } else if (oc_of_sym == RING_CLASS && !uright && !uleft) { ! /*JP You("are not wearing rings.");*/ ! You("»ØÎؤò¿È¤Ë¤Ä¤±¤Æ¤¤¤Ê¤¤¡¥"); return 0; } else if (oc_of_sym == AMULET_CLASS && !uamul) { ! /*JP You("are not wearing an amulet.");*/ ! You("Ëâ½ü¤±¤ò¿È¤Ë¤Ä¤±¤Æ¤¤¤Ê¤¤¡¥"); return 0; } else if (oc_of_sym == TOOL_CLASS && !ublindf) { ! /*JP You("are not wearing a blindfold.");*/ ! You("Ìܱ£¤·¤ò¤·¤Æ¤¤¤Ê¤¤¡¥"); return 0; } } *************** *** 933,939 **** if (allowgold == 1) (*fn)(mkgoldobj(u.ugold)); else if (!u.ugold) ! You("have no gold."); allowgold = 2; } else if (sym == 'a' || sym == 'A') { allflag = TRUE; --- 1017,1024 ---- if (allowgold == 1) (*fn)(mkgoldobj(u.ugold)); else if (!u.ugold) ! /*JP You("have no gold.");*/ ! You("°ìÁ¬¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¡¥"); allowgold = 2; } else if (sym == 'a' || sym == 'A') { allflag = TRUE; *************** *** 943,949 **** } else if (sym == 'm') { m_seen = TRUE; } else if (oc_of_sym == MAXOCLASSES) { ! You("don't have any %c's.", sym); } else if (oc_of_sym != VENOM_CLASS) { /* suppress venom */ if (!index(olets, oc_of_sym)) { add_valid_menu_class(oc_of_sym); --- 1028,1035 ---- } else if (sym == 'm') { m_seen = TRUE; } else if (oc_of_sym == MAXOCLASSES) { ! /*JP You("don't have any %c's.", sym);*/ ! You("%c¤Ë°¤¹¤ëʪ¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡¥", sym); } else if (oc_of_sym != VENOM_CLASS) { /* suppress venom */ if (!index(olets, oc_of_sym)) { add_valid_menu_class(oc_of_sym); *************** *** 983,992 **** boolean takeoff, nodot, ident, ininv; char qbuf[QBUFSZ]; ! takeoff = !strcmp(word, "take off"); ident = !strcmp(word, "identify"); nodot = (!strcmp(word, "nodot") || !strcmp(word, "drop") || ! ident || takeoff); ininv = (*objchn == invent); /* Changed so the askchain is interrogated in the order specified. * For example, if a person specifies =/ then first all rings will be --- 1069,1082 ---- boolean takeoff, nodot, ident, ininv; char qbuf[QBUFSZ]; ! /*JP takeoff = !strcmp(word, "take off"); ident = !strcmp(word, "identify"); nodot = (!strcmp(word, "nodot") || !strcmp(word, "drop") || ! ident || takeoff);*/ ! takeoff = (!strcmp(word, "take off")||!strcmp(word,"椰")||!strcmp(word,"¤Ï¤º¤¹")||!strcmp(word,"ÁõÈ÷¤ò²ò¤¯")); ! ident = (!strcmp(word, "identify")||!strcmp(word,"¼±Ê̤¹¤ë")); ! nodot = (!strcmp(word, "nodot") || !strcmp(word, "drop") || ! !strcmp(word, "ÃÖ¤¯") || ident || takeoff); ininv = (*objchn == invent); /* Changed so the askchain is interrogated in the order specified. * For example, if a person specifies =/ then first all rings will be *************** *** 1006,1012 **** if (!allflag) { Strcpy(qbuf, !ininv ? doname(otmp) : xprname(otmp, (char *)0, ilet, !nodot, 0L)); ! Strcat(qbuf, "?"); sym = (takeoff || ident || otmp->quan < 2L) ? nyaq(qbuf) : nyNaq(qbuf); } --- 1096,1103 ---- if (!allflag) { Strcpy(qbuf, !ininv ? doname(otmp) : xprname(otmp, (char *)0, ilet, !nodot, 0L)); ! /*JP Strcat(qbuf, "?");*/ ! Strcat(qbuf, "¡©"); sym = (takeoff || ident || otmp->quan < 2L) ? nyaq(qbuf) : nyNaq(qbuf); } *************** *** 1053,1060 **** } if (olets && *olets && *++olets) goto nextclass; ! if(!takeoff && (dud || cnt)) pline("That was all."); ! else if(!dud && !cnt) pline("No applicable objects."); ret: return(cnt); } --- 1144,1153 ---- } if (olets && *olets && *++olets) goto nextclass; ! /*JP if(!takeoff && (dud || cnt)) pline("That was all.");*/ ! if(!takeoff && (dud || cnt)) pline("¤³¤ì¤ÇÁ´Éô¤À¡¥"); ! /*JP else if(!dud && !cnt) pline("No applicable objects.");*/ ! else if(!dud && !cnt) pline("¤½¤ì¤Ï¤Ç¤­¤Ê¤¤¡¥"); ret: return(cnt); } *************** *** 1096,1103 **** /* assumptions: id_limit > 0 and at least one unID'd item is present */ while (id_limit) { ! Sprintf(buf, "What would you like to identify %s?", ! first ? "first" : "next"); n = query_objlist(buf, invent, SIGNAL_NOMENU|USE_INVLET|INVORDER_SORT, &pick_list, PICK_ANY, not_fully_identified); --- 1189,1198 ---- /* assumptions: id_limit > 0 and at least one unID'd item is present */ while (id_limit) { ! /*JP Sprintf(buf, "What would you like to identify %s?", ! first ? "first" : "next");*/ ! Sprintf(buf, "¤É¤ì¤ò%s¤Ë¼±Ê̤·¤Þ¤¹¤«¡©", ! first ? "ºÇ½é" : "¼¡"); n = query_objlist(buf, invent, SIGNAL_NOMENU|USE_INVLET|INVORDER_SORT, &pick_list, PICK_ANY, not_fully_identified); *************** *** 1108,1114 **** free((genericptr_t) pick_list); mark_synch(); /* Before we loop to pop open another menu */ } else { ! if (n < 0) pline("That was all."); id_limit = 0; /* Stop now */ } first = 0; --- 1203,1210 ---- free((genericptr_t) pick_list); mark_synch(); /* Before we loop to pop open another menu */ } else { ! /*JP if (n < 0) pline("That was all.");*/ ! if (n < 0) pline("¤³¤ì¤ÇÁ´Éô¤À¡¥"); id_limit = 0; /* Stop now */ } first = 0; *************** *** 1129,1135 **** if (not_fully_identified(obj)) ++unid_cnt, the_obj = obj; if (!unid_cnt) { ! You("have already identified all of your possessions."); } else if (!id_limit) { /* identify everything */ if (unid_cnt == 1) { --- 1225,1232 ---- if (not_fully_identified(obj)) ++unid_cnt, the_obj = obj; if (!unid_cnt) { ! /*JP You("have already identified all of your possessions.");*/ ! You("Á´¤Æ¤Î½êͭʪ¤ò¼±Ê̤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¡¥"); } else if (!id_limit) { /* identify everything */ if (unid_cnt == 1) { *************** *** 1146,1152 **** n = 0; if (flags.menu_style == MENU_TRADITIONAL) do { ! n = ggetobj("identify", identify, id_limit, FALSE); if (n < 0) break; /* quit or no eligible items */ } while ((id_limit -= n) > 0); if (n == 0 || n < -1) --- 1243,1250 ---- n = 0; if (flags.menu_style == MENU_TRADITIONAL) do { ! /*JP n = ggetobj("identify", identify, id_limit, FALSE);*/ ! n = ggetobj("¼±Ê̤¹¤ë", identify, id_limit, FALSE); if (n < 0) break; /* quit or no eligible items */ } while ((id_limit -= n) > 0); if (n == 0 || n < -1) *************** *** 1184,1192 **** long savequan = obj->quan; if (quan) obj->quan = quan; if (!prefix) prefix = ""; ! pline("%s%s%s", prefix, *prefix ? " " : "", ! xprname(obj, (char *)0, obj_to_let(obj), TRUE, 0L)); if (quan) obj->quan = savequan; } --- 1282,1293 ---- long savequan = obj->quan; if (quan) obj->quan = quan; if (!prefix) prefix = ""; ! /*JP pline("%s%s%s", prefix, *prefix ? " " : "", ! xprname(obj, (char *)0, obj_to_let(obj), TRUE, 0L));*/ ! pline("%s%s", ! xprname(obj, (char *)0, obj_to_let(obj), *prefix ? FALSE : TRUE, 0L), ! prefix); if (quan) obj->quan = savequan; } *************** *** 1214,1230 **** */ if (cost != 0 || let == '*') { /* if dot is true, we're doing Iu, otherwise Ix */ ! Sprintf(li, "%c - %-45s %6ld zorkmid%s", (dot && use_invlet ? obj->invlet : let), ! (txt ? txt : doname(obj)), cost, plur(cost)); } else if (obj->oclass == GOLD_CLASS) { ! Sprintf(li, "%ld gold piece%s%s", obj->quan, plur(obj->quan), ! (dot ? "." : "")); } else { /* ordinary inventory display or pickup message */ Sprintf(li, "%c - %s%s", (use_invlet ? obj->invlet : let), ! (txt ? txt : doname(obj)), (dot ? "." : "")); } return li; } --- 1315,1337 ---- */ if (cost != 0 || let == '*') { /* if dot is true, we're doing Iu, otherwise Ix */ ! /*JP Sprintf(li, "%c - %-45s %6ld zorkmid%s", (dot && use_invlet ? obj->invlet : let), ! (txt ? txt : doname(obj)), cost, plur(cost));*/ ! Sprintf(li, "%c - %-45s %6ld¥´¡¼¥ë¥É", ! (dot && use_invlet ? obj->invlet : let), ! (txt ? txt : doname(obj)), cost); } else if (obj->oclass == GOLD_CLASS) { ! /*JP Sprintf(li, "%ld gold piece%s%s", obj->quan, plur(obj->quan), ! (dot ? "." : ""));*/ ! Sprintf(li, "%ld¥´¡¼¥ë¥É¤Î¶â²ô%s", obj->quan, ! (dot ? "¡¥" : "")); } else { /* ordinary inventory display or pickup message */ Sprintf(li, "%c - %s%s", (use_invlet ? obj->invlet : let), ! /*JP (txt ? txt : doname(obj)), (dot ? "." : ""));*/ ! (txt ? txt : doname(obj)), (dot ? "¡¥" : "")); } return li; } *************** *** 1232,1238 **** #endif /* OVL1 */ #ifdef OVLB - /* the 'i' command */ int ddoinv() { --- 1339,1344 ---- *************** *** 1304,1312 **** win = WIN_INVEN; if (!invent) { ! pline("Not carrying anything%s.", u.ugold ? " except gold" : ""); return 0; } /* oxymoron? temporarily assign permanent inventory letters */ if (!flags.invlet_constant) reassign(); --- 1410,1421 ---- win = WIN_INVEN; if (!invent) { ! /*JP pline("Not carrying anything%s.", u.ugold ? " except gold" : "");*/ ! pline("%s²¿¤â»ý¤Ã¤Æ¤¤¤Ê¤¤", u.ugold ? "¤ª¶â°Ê³°" : ""); return 0; } + if(!query_lang_mode()) + set_trns_mode(0); /* oxymoron? temporarily assign permanent inventory letters */ if (!flags.invlet_constant) reassign(); *************** *** 1324,1329 **** --- 1433,1440 ---- break; } } + /*JP*/ + set_trns_mode(1); return ret; } *************** *** 1366,1371 **** --- 1477,1483 ---- } else ret = !n ? '\0' : '\033'; /* cancelled */ + set_trns_mode(1); return ret; } *************** *** 1470,1476 **** } putstr(win, 0, ""); ! putstr(win, 0, xprname((struct obj *)0, "Total:", '*', FALSE, totcost)); display_nhwindow(win, FALSE); destroy_nhwindow(win); } --- 1582,1589 ---- } putstr(win, 0, ""); ! /*JP putstr(win, 0, xprname((struct obj *)0, "Total:", '*', FALSE, totcost));*/ ! putstr(win, 0, xprname((struct obj *)0, "¹ç·×¡§", '*', FALSE, totcost)); display_nhwindow(win, FALSE); destroy_nhwindow(win); } *************** *** 1497,1506 **** boolean billx = *u.ushops && doinvbill(0); menu_item *pick_list; boolean traditional = TRUE; ! const char *prompt = "What type of object do you want an inventory of?"; if (!invent && !u.ugold && !billx) { ! You("aren't carrying anything."); return 0; } unpaid_count = count_unpaid(invent); --- 1610,1621 ---- boolean billx = *u.ushops && doinvbill(0); menu_item *pick_list; boolean traditional = TRUE; ! /*JP const char *prompt = "What type of object do you want an inventory of?";*/ ! const char *prompt = "¤É¤Î¼ïÎà¤Î»ý¤Áʪ¤ò¸«¤Þ¤¹¤«¡©"; if (!invent && !u.ugold && !billx) { ! /*JP You("aren't carrying anything.");*/ ! You("¤½¤Î¼ïÎà¤Îʪ¤Ï²¿¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¡¥"); return 0; } unpaid_count = count_unpaid(invent); *************** *** 1565,1578 **** if (billx) (void) doinvbill(1); else ! pline("No used-up objects on your shopping bill."); return 0; } if (c == 'u') { if (unpaid_count) dounpaid(); else ! You("are not carrying any unpaid objects."); return 0; } if (traditional) { --- 1680,1696 ---- if (billx) (void) doinvbill(1); else ! /*JP pline("No used-up objects on your shopping bill.");*/ ! pline("¾¦Å¹¤ÎÀÁµá½ñ¤Ë»È¤Ã¤Æ¤·¤Þ¤Ã¤¿Êª¤Ï¤Ê¤¤¡¥"); ! return 0; } if (c == 'u') { if (unpaid_count) dounpaid(); else ! /*JP You("are not carrying any unpaid objects.");*/ ! You("̤ʧ¤¤¤Î¥¢¥¤¥Æ¥à¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡¥"); return 0; } if (traditional) { *************** *** 1580,1586 **** if (oclass == GOLD_CLASS) { return doprgold(); } else if (index(types, c) > index(types, '\033')) { ! You("have no such objects."); return 0; } this_type = oclass; --- 1698,1705 ---- if (oclass == GOLD_CLASS) { return doprgold(); } else if (index(types, c) > index(types, '\033')) { ! /*JP You("have no such objects.");*/ ! You("²¿¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¡¥"); return 0; } this_type = oclass; *************** *** 1598,1695 **** { register struct obj *otmp, *otmp0; struct trap *trap; ! const char *verb = Blind ? "feel" : "see"; const char *dfeature = (char*) 0; char fbuf[BUFSZ], fbuf2[BUFSZ]; boolean no_article = FALSE; winid tmpwin; if(u.uswallow) { ! You("%s no objects here.", verb); return(!!Blind); } read_engr_at(u.ux, u.uy); /* Eric Backus */ if ((trap = t_at(u.ux,u.uy)) && trap->tseen) ! pline("There is %s here.", ! an(defsyms[trap_to_defsym(trap->ttyp)].explanation)); otmp0 = level.objects[u.ux][u.uy]; if(IS_DOOR(levl[u.ux][u.uy].typ)) { switch(levl[u.ux][u.uy].doormask) { case D_NODOOR: ! dfeature = "doorway"; break; case D_ISOPEN: ! dfeature = "open door"; break; case D_BROKEN: ! dfeature = "broken door"; break; default: ! dfeature = "closed door"; } /* override door description for open drawbridge */ if (is_drawbridge_wall(u.ux, u.uy) >= 0) ! dfeature = "open drawbridge portcullis"; } else if(IS_FOUNTAIN(levl[u.ux][u.uy].typ)) /* added by GAN 10/30/86 */ ! dfeature = "fountain"; else if(IS_THRONE(levl[u.ux][u.uy].typ)) ! dfeature = "opulent throne"; else if(is_lava(u.ux,u.uy)) ! dfeature = "molten lava", no_article = TRUE; else if(is_ice(u.ux,u.uy)) ! dfeature = "ice", no_article = TRUE; else if(is_pool(u.ux,u.uy) && !Underwater) ! dfeature = "pool of water"; #ifdef SINKS else if(IS_SINK(levl[u.ux][u.uy].typ)) ! dfeature = "kitchen sink"; #endif else if(IS_ALTAR(levl[u.ux][u.uy].typ)) { ! Sprintf(fbuf2, "altar to %s (%s)", a_gname(), align_str(Amask2align(levl[u.ux][u.uy].altarmask & ~AM_SHRINE))); dfeature = fbuf2; } else if(u.ux == xupstair && u.uy == yupstair) ! dfeature = "stairway up"; else if(u.ux == xdnstair && u.uy == ydnstair) ! dfeature = "stairway down"; else if(u.ux == sstairs.sx && u.uy == sstairs.sy) { if (sstairs.up) ! dfeature = "stairway up"; else ! dfeature = "stairway down"; } else if(u.ux == xupladder && u.uy == yupladder) ! dfeature = "ladder up"; else if(u.ux == xdnladder && u.uy == ydnladder) ! dfeature = "ladder down"; else if (levl[u.ux][u.uy].typ == DRAWBRIDGE_DOWN) ! dfeature = "lowered drawbridge"; else if (levl[u.ux][u.uy].typ == DBWALL) ! dfeature = "raised drawbridge"; if (Blind) { boolean drift = Is_airlevel(&u.uz) || Is_waterlevel(&u.uz); ! You("try to feel what is %s%s.", drift ? "floating here" : "lying here on the ", ! drift ? "" : surface(u.ux, u.uy)); if (dfeature && !drift && !strcmp(dfeature, surface(u.ux,u.uy))) dfeature = 0; /* ice already identifed */ if (!can_reach_floor()) { ! pline("But you can't reach it!"); return(0); } } if (dfeature) ! Sprintf(fbuf, "There is %s%s here.", no_article ? "" : ! index(vowels,dfeature[0]) ? "an " : "a ", dfeature); if(!otmp0 || (is_pool(u.ux,u.uy) && !Underwater)) { if (dfeature) pline(fbuf); ! if (Blind || !dfeature) You("%s no objects here.", verb); return(!!Blind); } /* we know there is something here */ --- 1717,1845 ---- { register struct obj *otmp, *otmp0; struct trap *trap; ! /*JP const char *verb = Blind ? "feel" : "see";*/ ! const char *verb = Blind ? "¤¬¤¢¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿" : "¤ò¤ß¤Ä¤±¤¿"; const char *dfeature = (char*) 0; char fbuf[BUFSZ], fbuf2[BUFSZ]; boolean no_article = FALSE; winid tmpwin; if(u.uswallow) { ! /*JP You("%s no objects here.", verb);*/ ! pline(Blind?"¤¢¤Ê¤¿¤Ï²¿¤â¤Ê¤¤¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥":"¤¢¤Ê¤¿¤Ï²¿¤â¤ß¤Ä¤±¤é¤ì¤Ê¤«¤Ã¤¿¡¥"); return(!!Blind); } read_engr_at(u.ux, u.uy); /* Eric Backus */ if ((trap = t_at(u.ux,u.uy)) && trap->tseen) ! /*JP pline("There is %s here.",*/ ! pline("¤³¤³¤Ë¤Ï%s¤¬¤¢¤ë¡¥", ! jtrns_obj('^', (defsyms[trap_to_defsym(trap->ttyp)].explanation))); otmp0 = level.objects[u.ux][u.uy]; if(IS_DOOR(levl[u.ux][u.uy].typ)) { switch(levl[u.ux][u.uy].doormask) { case D_NODOOR: ! /*JP dfeature = "doorway"; break;*/ ! dfeature = "½ÐÆþ¸ý"; break; case D_ISOPEN: ! /*JP dfeature = "open door"; break;*/ ! dfeature = "³«¤¤¤Æ¤¤¤ëÈâ"; break; case D_BROKEN: ! /*JP dfeature = "broken door"; break;*/ ! dfeature = "²õ¤ì¤Æ¤¤¤ëÈâ"; break; default: ! /*JP dfeature = "closed door";*/ ! dfeature = "ÊĤ¸¤Æ¤¤¤ëÈâ"; } /* override door description for open drawbridge */ if (is_drawbridge_wall(u.ux, u.uy) >= 0) ! /*JP dfeature = "open drawbridge portcullis";*/ ! dfeature = "¹ß¤ê¤Æ¤¤¤ëÄ·¤Í¶¶"; } else if(IS_FOUNTAIN(levl[u.ux][u.uy].typ)) /* added by GAN 10/30/86 */ ! /*JP dfeature = "fountain";*/ ! dfeature = "Àô"; else if(IS_THRONE(levl[u.ux][u.uy].typ)) ! /*JP dfeature = "opulent throne";*/ ! dfeature = "²Ú¤ä¤«¤Ê¶ÌºÂ"; else if(is_lava(u.ux,u.uy)) ! /*JP dfeature = "molten lava", no_article = TRUE;*/ ! dfeature = "¥É¥í¥É¥í¤ÎÍÏ´ä", no_article = TRUE; else if(is_ice(u.ux,u.uy)) ! /*JP dfeature = "ice", no_article = TRUE;*/ ! dfeature = "ɹ", no_article = TRUE; else if(is_pool(u.ux,u.uy) && !Underwater) ! /*JP dfeature = "pool of water";*/ ! dfeature = "¿å¤¿¤Þ¤ê"; #ifdef SINKS else if(IS_SINK(levl[u.ux][u.uy].typ)) ! /*JP dfeature = "kitchen sink";*/ ! dfeature = "ή¤·Âæ"; #endif else if(IS_ALTAR(levl[u.ux][u.uy].typ)) { ! /*JP Sprintf(fbuf2, "altar to %s (%s)",*/ ! Sprintf(fbuf2, "%s¤Îº×ÃÅ(%s)", a_gname(), align_str(Amask2align(levl[u.ux][u.uy].altarmask & ~AM_SHRINE))); dfeature = fbuf2; } else if(u.ux == xupstair && u.uy == yupstair) ! /*JP dfeature = "stairway up";*/ ! dfeature = "¾å¤Ø¤Î³¬ÃÊ"; else if(u.ux == xdnstair && u.uy == ydnstair) ! /*JP dfeature = "stairway down";*/ ! dfeature = "²¼¤Ø¤Î³¬ÃÊ"; else if(u.ux == sstairs.sx && u.uy == sstairs.sy) { if (sstairs.up) ! /*JP dfeature = "stairway up";*/ ! dfeature = "¾å¤Ø¤Î³¬ÃÊ"; else ! /*JP dfeature = "stairway down";*/ ! dfeature = "²¼¤Ø¤Î³¬ÃÊ"; } else if(u.ux == xupladder && u.uy == yupladder) ! /*JP dfeature = "ladder up";*/ ! dfeature = "¾å¤Ø¤Î¤Ï¤·¤´"; else if(u.ux == xdnladder && u.uy == ydnladder) ! /*JP dfeature = "ladder down";*/ ! dfeature = "²¼¤Ø¤Î¤Ï¤·¤´"; else if (levl[u.ux][u.uy].typ == DRAWBRIDGE_DOWN) ! /*JP dfeature = "lowered drawbridge";*/ ! dfeature = "¹ß¤ê¤¿Ä·¤Í¶¶"; else if (levl[u.ux][u.uy].typ == DBWALL) ! /*JP dfeature = "raised drawbridge";*/ ! dfeature = "¾å¤¬¤Ã¤Æ¤¤¤ëÄ·¤Í¶¶"; if (Blind) { boolean drift = Is_airlevel(&u.uz) || Is_waterlevel(&u.uz); ! /*JP You("try to feel what is %s%s.", drift ? "floating here" : "lying here on the ", ! drift ? "" : surface(u.ux, u.uy));*/ ! You("²¿¤¬%s%s¤Î¤«Ä´¤Ù¤è¤¦¤È¤·¤¿¡¥", ! drift ? "" : surface(u.ux, u.uy), ! drift ? "É⤤¤Æ¤¤¤ë" : "¤Î¾å¤Ë¤¢¤ë"); if (dfeature && !drift && !strcmp(dfeature, surface(u.ux,u.uy))) dfeature = 0; /* ice already identifed */ if (!can_reach_floor()) { ! /*JP pline("But you can't reach it!");*/ ! pline("¤·¤«¤·ÆϤ«¤Ê¤¤¡ª"); return(0); } } if (dfeature) ! /*JP Sprintf(fbuf, "There is %s%s here.", no_article ? "" : ! index(vowels,dfeature[0]) ? "an " : "a ",*/ ! Sprintf(fbuf, "¤³¤³¤Ë¤Ï%s¤¬¤¢¤ë¡¥", dfeature); if(!otmp0 || (is_pool(u.ux,u.uy) && !Underwater)) { if (dfeature) pline(fbuf); ! /*JP if (Blind || !dfeature) You("%s no objects here.", verb);*/ ! pline(Blind ? ! "¤Ê¤Ë¤â¤Ê¤¤¤è¤¦¤Êµ¤¤¬¤¹¤ë¡¥" : ! "¤Ê¤Ë¤â¤ß¤Ä¤±¤é¤ì¤Ê¤«¤Ã¤¿¡¥"); return(!!Blind); } /* we know there is something here */ *************** *** 1697,1703 **** --- 1847,1856 ---- if (!otmp0->nexthere) { /* only one object */ if (dfeature) pline(fbuf); + /*JP You("%s here %s.", verb, doname(otmp0)); + */ + pline("%s%s¡¥",doname(otmp0),verb); feel_cockatrice(otmp0, FALSE); } else { display_nhwindow(WIN_MESSAGE, FALSE); *************** *** 1706,1712 **** putstr(tmpwin, 0, fbuf); putstr(tmpwin, 0, ""); } ! putstr(tmpwin, 0, "Things that are here:"); for(otmp = otmp0; otmp; otmp = otmp->nexthere) { putstr(tmpwin, 0, doname(otmp)); feel_cockatrice(otmp, FALSE); --- 1859,1866 ---- putstr(tmpwin, 0, fbuf); putstr(tmpwin, 0, ""); } ! /*JP putstr(tmpwin, 0, "Things that are here:");*/ ! putstr(tmpwin, 0, "¤³¤³¤Ë¤Ï¤¢¤ë¤â¤Î¤Ï¡¥¡¥¡¥"); for(otmp = otmp0; otmp; otmp = otmp->nexthere) { putstr(tmpwin, 0, doname(otmp)); feel_cockatrice(otmp, FALSE); *************** *** 1726,1736 **** !uarmg && !resists_ston(&youmonst) && (otmp->otyp == CORPSE && otmp->corpsenm == PM_COCKATRICE)) { if(poly_when_stoned(uasmon)) ! You("touched the cockatrice corpse with your bare %s.", makeplural(body_part(HAND))); else ! pline("Touching the cockatrice corpse is a fatal mistake..."); ! instapetrify("cockatrice corpse"); } } --- 1880,1893 ---- !uarmg && !resists_ston(&youmonst) && (otmp->otyp == CORPSE && otmp->corpsenm == PM_COCKATRICE)) { if(poly_when_stoned(uasmon)) ! /*JP You("touched the cockatrice corpse with your bare %s.",*/ ! You("¥³¥«¥È¥ê¥¹¤Î»àÂΤËÁÇ%s¤Ç¿¨¤Ã¤¿¡¥", makeplural(body_part(HAND))); else ! /*JP pline("Touching the cockatrice corpse is a fatal mistake...");*/ ! pline("¥³¥«¥È¥ê¥¹¤Î»àÂΤ˿¨¤ì¤ë¤Î¤ÏÃ×̿Ū¤Ê´Ö°ã¤¤¤À¡¥¡¥¡¥"); ! /*JP instapetrify("cockatrice corpse");*/ ! instapetrify("¥³¥«¥È¥ê¥¹¤Î»àÂΤÇ"); } } *************** *** 1821,1829 **** /* the messages used to refer to "carrying gold", but that didn't take containers into account */ if(!u.ugold) ! Your("wallet is empty."); else ! Your("wallet contains %ld gold piece%s.", u.ugold, plur(u.ugold)); shopper_financial_report(); return 0; } --- 1978,1988 ---- /* the messages used to refer to "carrying gold", but that didn't take containers into account */ if(!u.ugold) ! /*JP Your("wallet is empty.");*/ ! Your("ºâÉۤ϶õ¤Ã¤Ý¤À¡¥"); else ! /*JP Your("wallet contains %ld gold piece%s.", u.ugold, plur(u.ugold));*/ ! Your("ºâÉۤˤÏ%ld¥´¡¼¥ë¥ÉÆþ¤Ã¤Æ¤¤¤ë¡¥", u.ugold); shopper_financial_report(); return 0; } *************** *** 1834,1840 **** int doprwep() { ! if(!uwep) You("are empty %s.", body_part(HANDED)); else prinv((char *)0, uwep, 0L); return 0; } --- 1993,2000 ---- int doprwep() { ! /*JP if(!uwep) You("are empty %s.", body_part(HANDED));*/ ! if(!uwep) You("%s¤ËÉð´ï¤ò¤â¤Ã¤Æ¤¤¤Ê¤¤¡¥", body_part(HAND)); else prinv((char *)0, uwep, 0L); return 0; } *************** *** 1843,1849 **** doprarm() { if(!wearing_armor()) ! You("are not wearing any armor."); else { #ifdef TOURIST char lets[8]; --- 2003,2010 ---- doprarm() { if(!wearing_armor()) ! /*JP You("are not wearing any armor.");*/ ! You("³»¤òÃå¤Æ¤¤¤Ê¤¤¡¥"); else { #ifdef TOURIST char lets[8]; *************** *** 1871,1877 **** doprring() { if(!uleft && !uright) ! You("are not wearing any rings."); else { char lets[3]; register int ct = 0; --- 2032,2039 ---- doprring() { if(!uleft && !uright) ! /*JP You("are not wearing any rings.");*/ ! You("»ØÎؤò¿È¤Ë¤Ä¤±¤Æ¤¤¤Ê¤¤¡¥"); else { char lets[3]; register int ct = 0; *************** *** 1888,1894 **** dopramulet() { if (!uamul) ! You("are not wearing an amulet."); else prinv((char *)0, uamul, 0L); return 0; --- 2050,2057 ---- dopramulet() { if (!uamul) ! /*JP You("are not wearing an amulet.");*/ ! You("Ëâ½ü¤±¤ò¿È¤Ë¤Ä¤±¤Æ¤¤¤Ê¤¤¡¥"); else prinv((char *)0, uamul, 0L); return 0; *************** *** 1909,1915 **** lets[ct++] = obj_to_let(otmp); } lets[ct] = 0; ! if (!ct) You("are not using any tools."); else (void) display_inventory(lets, FALSE); return 0; } --- 2072,2079 ---- lets[ct++] = obj_to_let(otmp); } lets[ct] = 0; ! /*JP if (!ct) You("are not using any tools.");*/ ! if (!ct) You("Æ»¶ñ¤ò»È¤Ã¤Æ¤¤¤Ê¤¤¡¥"); else (void) display_inventory(lets, FALSE); return 0; } *************** *** 1947,1956 **** --- 2111,2126 ---- * This must match the object class order. */ STATIC_VAR NEARDATA const char *names[] = { 0, + #if 0 /*JP*/ "Illegal objects", "Weapons", "Armor", "Rings", "Amulets", "Tools", "Comestibles", "Potions", "Scrolls", "Spellbooks", "Wands", "Coins", "Gems", "Boulders/Statues", "Iron balls", "Chains", "Venoms" + #endif + "̯¤ÊʪÂÎ", "Éð´ï", "³»", "»ØÎØ", "Ëâ½ü¤±", + "Æ»¶ñ", "¿©ÎÁ", "Ìô", "´¬Êª", "ËâË¡½ñ", + "¾ó", "¶â²ß", "ÊõÀÐ", "´ä¤Þ¤¿¤ÏĦÁü", "Å´µå", + "º¿", "ÆÇ" }; static NEARDATA const char oth_symbols[] = { *************** *** 1959,1965 **** }; static NEARDATA const char *oth_names[] = { ! "Bagged/Boxed items" }; char * --- 2129,2136 ---- }; static NEARDATA const char *oth_names[] = { ! /*JP "Bagged/Boxed items"*/ ! "µÍ¤á¤é¤ì¤¿Æ»¶ñ" }; char * *************** *** 1981,1994 **** else class_name = names[0]; ! len = strlen(class_name) + (unpaid ? sizeof "unpaid_" : sizeof ""); if (len > bufsiz) { if (buf) free((genericptr_t)buf), buf = (char *)0; bufsiz = len + 10; /* add slop to reduce incremental realloc */ buf = (char *) alloc(bufsiz); } if (unpaid) ! Strcat(strcpy(buf, "Unpaid "), class_name); else Strcpy(buf, class_name); return (buf); --- 2152,2167 ---- else class_name = names[0]; ! /*JP len = strlen(class_name) + (unpaid ? sizeof "unpaid_" : sizeof "");*/ ! len = strlen(class_name) + (unpaid ? sizeof "̤ʧ¤¤¤Î" : sizeof ""); if (len > bufsiz) { if (buf) free((genericptr_t)buf), buf = (char *)0; bufsiz = len + 10; /* add slop to reduce incremental realloc */ buf = (char *) alloc(bufsiz); } if (unpaid) ! /*JP Strcat(strcpy(buf, "Unpaid "), class_name);*/ ! Strcat(strcpy(buf, "̤ʧ¤¤¤Î"), class_name); else Strcpy(buf, class_name); return (buf); *************** *** 2025,2031 **** if (!flags.invlet_constant) reassign(); /* get a pointer to the object the user wants to organize */ allowall[0] = ALL_CLASSES; allowall[1] = '\0'; ! if (!(obj = getobj(allowall,"adjust"))) return(0); /* initialize the list with all upper and lower case letters */ for (let = 'a', ix = 0; let <= 'z';) alphabet[ix++] = let++; --- 2198,2205 ---- if (!flags.invlet_constant) reassign(); /* get a pointer to the object the user wants to organize */ allowall[0] = ALL_CLASSES; allowall[1] = '\0'; ! /*JP if (!(obj = getobj(allowall,"adjust"))) return(0);*/ ! if (!(obj = getobj(allowall,"Ä´À°¤¹¤ë"))) return(0); /* initialize the list with all upper and lower case letters */ for (let = 'a', ix = 0; let <= 'z';) alphabet[ix++] = let++; *************** *** 2049,2068 **** /* get new letter to use as inventory letter */ for (;;) { ! Sprintf(qbuf, "Adjust letter to what [%s]?",buf); let = yn_function(qbuf, (char *)0, '\0'); if(index(quitchars,let)) { ! pline("Never mind."); return(0); } if (let == '@' || !letter(let)) ! pline("Select an inventory slot letter."); else break; } /* change the inventory and print the resulting item */ ! adj_type = "Moving:"; /* * don't use freeinv/addinv to avoid double-touching artifacts, --- 2223,2246 ---- /* get new letter to use as inventory letter */ for (;;) { ! /*JP Sprintf(qbuf, "Adjust letter to what [%s]?",buf);*/ ! Sprintf(qbuf, "¤É¤Îʸ»ú¤ËÄ´À°¤·¤Þ¤¹¤«[%s]¡©",buf); let = yn_function(qbuf, (char *)0, '\0'); if(index(quitchars,let)) { ! /*JP pline("Never mind.");*/ ! pline("¤¨¡©"); return(0); } if (let == '@' || !letter(let)) ! /*JP pline("Select an inventory slot letter.");*/ ! pline("»ý¤Áʪ¤Îʸ»ú¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤¡¥"); else break; } /* change the inventory and print the resulting item */ ! /*JP adj_type = "Moving:";*/ ! adj_type = "¤ò°ÜÆ°¤·¤¿¡¥"; /* * don't use freeinv/addinv to avoid double-touching artifacts, *************** *** 2072,2084 **** for (otmp = invent; otmp;) if (merged(&otmp,&obj)) { ! adj_type = "Merging:"; obj = otmp; otmp = otmp->nobj; extract_nobj(obj, &invent); } else { if (otmp->invlet == let) { ! adj_type = "Swapping:"; otmp->invlet = obj->invlet; } otmp = otmp->nobj; --- 2250,2264 ---- for (otmp = invent; otmp;) if (merged(&otmp,&obj)) { ! /*JP adj_type = "Merging:";*/ ! adj_type = "¤ò¹ç¤ï¤»¤¿¡¥"; obj = otmp; otmp = otmp->nobj; extract_nobj(obj, &invent); } else { if (otmp->invlet == let) { ! /*JP adj_type = "Swapping:";*/ ! adj_type = "¤ò¸ò´¹¤·¤¿¡¥"; otmp->invlet = obj->invlet; } otmp = otmp->nobj; *************** *** 2153,2160 **** int do_all = (dflags & MINV_ALL) != 0, do_gold = (do_all && mon->mgold); ! Sprintf(tmp,"%s %s:", s_suffix(Monnam(mon)), ! do_all ? "possessions" : "armament"); if (do_all ? (mon->minvent || mon->mgold) : (mon->misc_worn_check || MON_WEP(mon))) { --- 2333,2342 ---- int do_all = (dflags & MINV_ALL) != 0, do_gold = (do_all && mon->mgold); ! /*JP Sprintf(tmp,"%s %s:", s_suffix(Monnam(mon)), ! do_all ? "possessions" : "armament");*/ ! Sprintf(tmp,"%s¤Î%s¡§", s_suffix(Monnam(mon)), ! do_all ? "»ý¤Áʪ" : "ÁõÈ÷"); if (do_all ? (mon->minvent || mon->mgold) : (mon->misc_worn_check || MON_WEP(mon))) { *************** *** 2184,2190 **** u.usym = save_usym; set_uasmon(); } else { ! invdisp_nothing(tmp, "(none)"); n = 0; } --- 2366,2373 ---- u.usym = save_usym; set_uasmon(); } else { ! /*JP invdisp_nothing(tmp, "(none)");*/ ! invdisp_nothing(tmp, "(²¿¤â¤Ê¤¤)"); n = 0; } *************** *** 2215,2227 **** int n; menu_item *selected = 0; ! Sprintf(tmp,"Contents of %s:", doname(obj)); if (obj->cobj) { n = query_objlist(tmp, obj->cobj, INVORDER_SORT, &selected, PICK_NONE, allow_all); } else { ! invdisp_nothing(tmp, "(empty)"); n = 0; } if (n > 0) { --- 2398,2412 ---- int n; menu_item *selected = 0; ! /*JP Sprintf(tmp,"Contents of %s:", doname(obj));*/ ! Sprintf(tmp,"%s¤ÎÃæ¿È¡§", doname(obj)); if (obj->cobj) { n = query_objlist(tmp, obj->cobj, INVORDER_SORT, &selected, PICK_NONE, allow_all); } else { ! /*JP invdisp_nothing(tmp, "(empty)");*/ ! invdisp_nothing(tmp, "(¶õ¤Ã¤Ý)"); n = 0; } if (n > 0) { *************** *** 2267,2273 **** if (n) { only.x = x; only.y = y; ! if (query_objlist("Things that are buried here:", level.buriedobjlist, INVORDER_SORT, &selected, PICK_NONE, only_here) > 0) free((genericptr_t)selected); --- 2452,2459 ---- if (n) { only.x = x; only.y = y; ! /*JP if (query_objlist("Things that are buried here:",*/ ! if (query_objlist("¤³¤³¤ËËä¤á¤é¤ì¤Æ¤¤¤ë¤â¤Î¡§", level.buriedobjlist, INVORDER_SORT, &selected, PICK_NONE, only_here) > 0) free((genericptr_t)selected); diff -c -r ../nethack-3.2.2/src/lock.c ./src/lock.c *** ../nethack-3.2.2/src/lock.c Sat Dec 28 21:53:42 1996 --- ./src/lock.c Tue Jul 22 23:18:23 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" STATIC_PTR int NDECL(picklock); *************** *** 47,63 **** { /* "unlocking"+2 == "locking" */ static const char *actions[] = { /* [0] */ "unlocking the door", /* [1] */ "unlocking the chest", /* [2] */ "unlocking the box", /* [3] */ "picking the lock" }; /* if the target is currently unlocked, we're trying to lock it now */ if (xlock.door && !(xlock.door->doormask & D_LOCKED)) ! return actions[0]+2; /* "locking the door" */ else if (xlock.box && !xlock.box->olocked) ! return xlock.box->otyp == CHEST ? actions[1]+2 : actions[2]+2; /* otherwise we're trying to unlock it */ else if (xlock.picktyp == LOCK_PICK) return actions[3]; /* "picking the lock" */ --- 54,82 ---- { /* "unlocking"+2 == "locking" */ static const char *actions[] = { + /* + ** ±Ñ¸ì¤Ï un ¤ò¤Ä¤±¤ë¤À¤±¤ÇµÕ¤Î°ÕÌ£¤Ë¤Ê¤ë¤¬¡¤ÆüËܸì¤Ï¤½¤¦¤Ï¤¤¤«¤Ê¤¤¡¥ + ** ï¤À¡©¤³¤ó¤Ê¿ô¥Ð¥¤¥È¤±¤Á¤ë¥³¡¼¥É½ñ¤¤¤¿¤ä¤Ä¤Ï¡© + */ + #if 0 /*JP*/ /* [0] */ "unlocking the door", /* [1] */ "unlocking the chest", /* [2] */ "unlocking the box", /* [3] */ "picking the lock" + #endif /*JP*/ + /* [0] */ "Èâ¤Î¸°¤ò¤Ï¤º¤¹", + /* [1] */ "ÊõÈ¢¤Î¸°¤ò¤Ï¤º¤¹", + /* [2] */ "È¢¤Î¸°¤ò¤Ï¤º¤¹", + /* [3] */ "¸°¤ò¤Ï¤º¤¹" }; /* if the target is currently unlocked, we're trying to lock it now */ if (xlock.door && !(xlock.door->doormask & D_LOCKED)) ! /*JP return actions[0]+2; /* "locking the door" */ ! return "Èâ¤Ë¸°¤ò¤«¤±¤ë"; else if (xlock.box && !xlock.box->olocked) ! /*JP return xlock.box->otyp == CHEST ? actions[1]+2 : actions[2]+2;*/ ! return xlock.box->otyp == CHEST ? "ÊõÈ¢¤Ë¸°¤ò¤«¤±¤ë" : "È¢¤Ë¸°¤ò¤«¤±¤ë"; /* otherwise we're trying to unlock it */ else if (xlock.picktyp == LOCK_PICK) return actions[3]; /* "picking the lock" */ *************** *** 86,114 **** } switch (xlock.door->doormask) { case D_NODOOR: ! pline("This doorway has no door."); return((xlock.usedtime = 0)); case D_ISOPEN: ! You("cannot lock an open door."); return((xlock.usedtime = 0)); case D_BROKEN: ! pline("This door is broken."); return((xlock.usedtime = 0)); } } if (xlock.usedtime++ >= 50 || nohands(uasmon)) { ! You("give up your attempt at %s.", lock_action()); exercise(A_DEX, TRUE); /* even if you don't succeed */ return((xlock.usedtime = 0)); } if(rn2(100) > xlock.chance) return(1); /* still busy */ ! You("succeed in %s.", lock_action()); if (xlock.door) { if(xlock.door->doormask & D_TRAPPED) { ! b_trapped("door", FINGER); xlock.door->doormask = D_NODOOR; unblock_point(u.ux+u.dx, u.uy+u.dy); if (*in_rooms(u.ux+u.dx, u.uy+u.dy, SHOPBASE)) --- 105,139 ---- } switch (xlock.door->doormask) { case D_NODOOR: ! /*JP pline("This doorway has no door.");*/ ! pline("½ÐÆþ¸ý¤Ë¤ÏÈ⤬¤Ê¤¤¡¥"); return((xlock.usedtime = 0)); case D_ISOPEN: ! /*JP You("cannot lock an open door.");*/ ! pline("³«¤¤¤Æ¤ëÈâ¤Ë¸°¤ò¤«¤±¤ì¤Ê¤¤¡¥"); return((xlock.usedtime = 0)); case D_BROKEN: ! /*JP pline("This door is broken.");*/ ! pline("Èâ¤Ï²õ¤ì¤Æ¤¤¤ë"); return((xlock.usedtime = 0)); } } if (xlock.usedtime++ >= 50 || nohands(uasmon)) { ! /*JP You("give up your attempt at %s.", lock_action());*/ ! pline("%s¤Î¤ò¤¢¤­¤é¤á¤¿¡¥", lock_action()); exercise(A_DEX, TRUE); /* even if you don't succeed */ return((xlock.usedtime = 0)); } if(rn2(100) > xlock.chance) return(1); /* still busy */ ! /*JP You("succeed in %s.", lock_action());*/ ! You("%s¤Î¤ËÀ®¸ù¤·¤¿¡¥", lock_action()); if (xlock.door) { if(xlock.door->doormask & D_TRAPPED) { ! /*JP b_trapped("door", FINGER);*/ ! b_trapped("Èâ", FINGER); xlock.door->doormask = D_NODOOR; unblock_point(u.ux+u.dx, u.uy+u.dy); if (*in_rooms(u.ux+u.dx, u.uy+u.dy, SHOPBASE)) *************** *** 137,143 **** return((xlock.usedtime = 0)); /* you or it moved */ if (xlock.usedtime++ >= 50 || !uwep || nohands(uasmon)) { ! You("give up your attempt to force the lock."); if(xlock.usedtime >= 50) /* you made the effort */ exercise((xlock.picktyp) ? A_DEX : A_STR, TRUE); return((xlock.usedtime = 0)); --- 162,169 ---- return((xlock.usedtime = 0)); /* you or it moved */ if (xlock.usedtime++ >= 50 || !uwep || nohands(uasmon)) { ! /*JP You("give up your attempt to force the lock.");*/ ! pline("¸°¤ò¤³¤¸³«¤±¤ë¤Î¤ò¤¢¤­¤é¤á¤¿¡¥"); if(xlock.usedtime >= 50) /* you made the effort */ exercise((xlock.picktyp) ? A_DEX : A_STR, TRUE); return((xlock.usedtime = 0)); *************** *** 150,159 **** /* for a +0 weapon, probability that it survives an unsuccessful * attempt to force the lock is (.992)^50 = .67 */ pline("%sour %s broke!", (uwep->quan > 1L) ? "One of y" : "Y", xname(uwep)); useup(uwep); ! You("give up your attempt to force the lock."); exercise(A_DEX, TRUE); return((xlock.usedtime = 0)); } --- 176,189 ---- /* for a +0 weapon, probability that it survives an unsuccessful * attempt to force the lock is (.992)^50 = .67 */ + /*JP pline("%sour %s broke!", (uwep->quan > 1L) ? "One of y" : "Y", xname(uwep)); + */ + pline("¤¢¤Ê¤¿¤Î%s¤Ï²õ¤ì¤Æ¤·¤Þ¤Ã¤¿¡ª",xname(uwep)); useup(uwep); ! /*JP You("give up your attempt to force the lock.");*/ ! pline("¸°¤ò¤³¤¸³«¤±¤ë¤Î¤ò¤¢¤­¤é¤á¤¿¡¥"); exercise(A_DEX, TRUE); return((xlock.usedtime = 0)); } *************** *** 162,168 **** if(rn2(100) > xlock.chance) return(1); /* still busy */ ! You("succeed in forcing the lock."); xlock.box->olocked = 0; xlock.box->obroken = 1; if(!xlock.picktyp && !rn2(3)) { --- 192,199 ---- if(rn2(100) > xlock.chance) return(1); /* still busy */ ! /*JP You("succeed in forcing the lock.");*/ ! pline("¸°¤ò¤³¤¸³«¤±¤¿¡¥"); xlock.box->olocked = 0; xlock.box->obroken = 1; if(!xlock.picktyp && !rn2(3)) { *************** *** 173,179 **** costly = (*u.ushops && costly_spot(u.ux, u.uy)); shkp = costly ? shop_keeper(*u.ushops) : 0; ! pline("In fact, you've totally destroyed %s.", the(xname(xlock.box))); /* Put the contents on ground at the hero's feet. */ --- 204,212 ---- costly = (*u.ushops && costly_spot(u.ux, u.uy)); shkp = costly ? shop_keeper(*u.ushops) : 0; ! /*JP pline("In fact, you've totally destroyed %s.", ! the(xname(xlock.box)));*/ ! pline("%s¤ò´°Á´¤Ë²õ¤·¤Æ¤·¤Þ¤Ã¤¿¡¥", the(xname(xlock.box))); /* Put the contents on ground at the hero's feet. */ *************** *** 201,207 **** if (costly) loss += stolen_value(xlock.box, u.ux, u.uy, (boolean)shkp->mpeaceful, TRUE); ! if(loss) You("owe %ld zorkmids for objects destroyed.", loss); delobj(xlock.box); } exercise((xlock.picktyp) ? A_DEX : A_STR, TRUE); --- 234,241 ---- if (costly) loss += stolen_value(xlock.box, u.ux, u.uy, (boolean)shkp->mpeaceful, TRUE); ! /*JP if(loss) You("owe %ld zorkmids for objects destroyed.", loss);*/ ! if(loss) You("´ïʪÇË»¤Ç%ld¥´¡¼¥ë¥É¤Î¼Ú¤ê¤ò¤Ä¤¯¤Ã¤¿¡¥", loss); delobj(xlock.box); } exercise((xlock.picktyp) ? A_DEX : A_STR, TRUE); *************** *** 235,264 **** /* check whether we're resuming an interrupted previous attempt */ if (xlock.usedtime && picktyp == xlock.picktyp) { ! static char no_longer[] = "Unfortunately, you can no longer %s %s."; if (nohands(uasmon)) { ! const char *what = (picktyp == LOCK_PICK) ? "pick" : "key"; #ifdef TOURIST ! if (picktyp == CREDIT_CARD) what = "card"; #endif ! pline(no_longer, "hold the", what); reset_pick(); return 0; } else if (xlock.box && !can_reach_floor()) { ! pline(no_longer, "reach the", "lock"); reset_pick(); return 0; } else { const char *action = lock_action(); ! You("resume your attempt at %s.", action); set_occupation(picklock, action, 0); return(1); } } if(nohands(uasmon)) { ! You_cant("hold %s -- you have no hands!", doname(pick)); return(0); } --- 269,305 ---- /* check whether we're resuming an interrupted previous attempt */ if (xlock.usedtime && picktyp == xlock.picktyp) { ! /*JP static char no_longer[] = "Unfortunately, you can no longer %s %s.";*/ ! static char no_longer[] = "ÉÔ¹¬¤Ë¤â¡¤¤¢¤Ê¤¿¤Ï%s%s"; if (nohands(uasmon)) { ! /*JP const char *what = (picktyp == LOCK_PICK) ? "pick" : "key";*/ ! const char *what = (picktyp == LOCK_PICK) ? "¸°³«¤±´ï¶ñ" : "¸°"; #ifdef TOURIST ! /*JP if (picktyp == CREDIT_CARD) what = "card";*/ ! if (picktyp == CREDIT_CARD) what = "¥«¡¼¥É"; #endif ! /*JP pline(no_longer, "hold the", what);*/ ! pline(no_longer, what, "¤ò¤Ä¤«¤á¤Ê¤¤"); reset_pick(); return 0; } else if (xlock.box && !can_reach_floor()) { ! /*JP pline(no_longer, "reach the", "lock");*/ ! pline(no_longer, "¸°¤Ë", "ÆϤ«¤Ê¤¤"); reset_pick(); return 0; } else { const char *action = lock_action(); ! /*JP You("resume your attempt at %s.", action);*/ ! pline("%s¤òºÆ³«¤·¤¿¡¥", action); set_occupation(picklock, action, 0); return(1); } } if(nohands(uasmon)) { ! /*JP You_cant("hold %s -- you have no hands!", doname(pick));*/ ! You("%s¤ò¤Ä¤«¤à¤³¤È¤¬¤Ç¤­¤Ê¤¤¡ª--¤¢¤Ê¤¿¤Ë¤Ï¼ê¤¬¤Ê¤¤¡ª", xname(pick)); return(0); } *************** *** 281,295 **** int count; if (u.dz < 0) { ! pline("There isn't any sort of lock up %s.", ! Levitation ? "here" : "there"); return 0; } else if (is_lava(u.ux, u.uy)) { ! pline("Doing that would probably melt your %s.", xname(pick)); return 0; } else if (is_pool(u.ux, u.uy) && !Underwater) { ! pline_The("water has no lock."); return 0; } --- 322,340 ---- int count; if (u.dz < 0) { ! /*JP pline("There isn't any sort of lock up %s.", ! Levitation ? "here" : "there");*/ ! pline("%s¤Ë¤Ï¸°¤ò¤«¤±¤ë¤è¤¦¤Êʪ¤Ï¤Ê¤¤¡¥", ! Levitation ? "¤³¤³" : "²¼Êý"); return 0; } else if (is_lava(u.ux, u.uy)) { ! /*JP pline("Doing that would probably melt your %s.",*/ ! pline("¤½¤ó¤Ê¤³¤È¤ò¤·¤¿¤é%s¤¬ÍϤ±¤Æ¤·¤Þ¤¦¡¥", xname(pick)); return 0; } else if (is_pool(u.ux, u.uy) && !Underwater) { ! /*JP pline_The("water has no lock.");*/ ! pline("¿å¤Ë¾ûÁ°¤Ï¤Ê¤¤"); return 0; } *************** *** 299,327 **** if (Is_box(otmp)) { ++count; if (!can_reach_floor()) { ! You_cant("reach %s from up here.", the(xname(otmp))); return 0; } it = 0; if (otmp->obroken) verb = "fix"; else if (!otmp->olocked) verb = "lock", it = 1; else if (picktyp != LOCK_PICK) verb = "unlock", it = 1; else verb = "pick"; ! Sprintf(qbuf, "There is %s here, %s %s?", ! doname(otmp), verb, it ? "it" : "its lock"); c = ynq(qbuf); if(c == 'q') return(0); if(c == 'n') continue; if (otmp->obroken) { ! You_cant("fix its broken lock with %s.", doname(pick)); return 0; } #ifdef TOURIST else if (picktyp == CREDIT_CARD && !otmp->olocked) { /* credit cards are only good for unlocking */ ! You_cant("do that with %s.", doname(pick)); return 0; } #endif --- 344,383 ---- if (Is_box(otmp)) { ++count; if (!can_reach_floor()) { ! /*JP You_cant("reach %s from up here.", the(xname(otmp)));*/ ! You("¤³¤³¤Ë¤¢¤ë%s¤ËÆϤ«¤Ê¤¤¡¥", the(xname(otmp))); return 0; } it = 0; + #if 0 /*JP*/ if (otmp->obroken) verb = "fix"; else if (!otmp->olocked) verb = "lock", it = 1; else if (picktyp != LOCK_PICK) verb = "unlock", it = 1; else verb = "pick"; ! #endif /*JP*/ ! if (otmp->obroken) verb = "½¤Éü¤¹¤ë"; ! else if (!otmp->olocked) verb = "¸°¤ò¤«¤±¤ë", it = 1; ! else if (picktyp != LOCK_PICK) verb = "¸°¤ò¤Ï¤º¤¹", it = 1; ! else verb = "¤³¤¸¤¢¤±¤ë"; ! /*JP Sprintf(qbuf, "There is %s here, %s %s?", ! doname(otmp), verb, it ? "it" : "its lock");*/ ! Sprintf(qbuf, "¤³¤³¤Ë¤Ï%s¤¬¤¢¤ë¡¥%s¡©", ! doname(otmp), jconj(verb,"¤Þ¤¹¤«")); c = ynq(qbuf); if(c == 'q') return(0); if(c == 'n') continue; if (otmp->obroken) { ! /*JP You_cant("fix its broken lock with %s.", doname(pick));*/ ! You("²õ¤ì¤¿¸°¤ò%s¤Ç½¤Éü¤Ç¤­¤Ê¤¤¡¥", doname(pick)); return 0; } #ifdef TOURIST else if (picktyp == CREDIT_CARD && !otmp->olocked) { /* credit cards are only good for unlocking */ ! /*JP You_cant("do that with %s.", doname(pick));*/ ! pline("%s¤¸¤ã¤½¤ó¤Ê¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥", doname(pick)); return 0; } #endif *************** *** 348,354 **** } if (c != 'y') { if (!count) ! pline("There doesn't seem to be any sort of lock here."); return(0); /* decided against all boxes */ } } else { /* pick the lock in a door */ --- 404,411 ---- } if (c != 'y') { if (!count) ! /*JP pline("There doesn't seem to be any sort of lock here.");*/ ! pline("¤³¤³¤Ë¤Ï¸°¤ò¤«¤±¤ë¤è¤¦¤Êʪ¤Ï¤Ê¤¤¤è¤¦¤À¡¥"); return(0); /* decided against all boxes */ } } else { /* pick the lock in a door */ *************** *** 361,402 **** #ifdef TOURIST if (picktyp == CREDIT_CARD && (mtmp->isshk || mtmp->data == &mons[PM_ORACLE])) ! verbalize("No checks, no credit, no problem."); else #endif ! pline("I don't think %s would appreciate that.", mon_nam(mtmp)); return(0); } if(!IS_DOOR(door->typ)) { if (is_drawbridge_wall(x,y) >= 0) ! You("%s no lock on the drawbridge.", ! Blind ? "feel" : "see"); else ! You("%s no door there.", ! Blind ? "feel" : "see"); return(0); } switch (door->doormask) { case D_NODOOR: ! pline("This doorway has no door."); return(0); case D_ISOPEN: ! You("cannot lock an open door."); return(0); case D_BROKEN: ! pline("This door is broken."); return(0); default: #ifdef TOURIST /* credit cards are only good for unlocking */ if(picktyp == CREDIT_CARD && !(door->doormask & D_LOCKED)) { ! You_cant("lock a door with a credit card."); return(0); } #endif Sprintf(qbuf,"%sock it?", ! (door->doormask & D_LOCKED) ? "Unl" : "L" ); c = yn(qbuf); if(c == 'n') return(0); --- 418,475 ---- #ifdef TOURIST if (picktyp == CREDIT_CARD && (mtmp->isshk || mtmp->data == &mons[PM_ORACLE])) ! /*JP verbalize("No checks, no credit, no problem.");*/ ! verbalize("¤¤¤Ä¤â¥Ë¥³¥Ë¥³¸½¶âʧ¤¤¡¥"); else #endif ! /*JP pline("I don't think %s would appreciate that.", mon_nam(mtmp));*/ ! pline("%s¤¬¤½¤Î²ÁÃͤòǧ¤á¤ë¤È¤Ï»×¤¨¤Ê¤¤¡¥", mon_nam(mtmp)); return(0); } if(!IS_DOOR(door->typ)) { if (is_drawbridge_wall(x,y) >= 0) ! /*JP You("%s no lock on the drawbridge.", ! Blind ? "feel" : "see");*/ ! pline("Ä·¤Í¶¶¤Ë¤Ï¸°¤¬¤Ê¤¤%s¡¥", ! Blind ? "¤è¤¦¤À" : "¤è¤¦¤Ë¸«¤¨¤ë"); else ! /*JP You("%s no door there.", ! Blind ? "feel" : "see");*/ ! pline("¤³¤³¤Ë¤ÏÈ⤬¤Ê¤¤%s¡¥", ! Blind ? "¤è¤¦¤À" : "¤è¤¦¤Ë¸«¤¨¤ë"); return(0); } switch (door->doormask) { case D_NODOOR: ! /*JP pline("This doorway has no door.");*/ ! pline("½ÐÆþ¸ý¤Ë¤ÏÈ⤬¤Ê¤¤¡¥"); return(0); case D_ISOPEN: ! /*JP You("cannot lock an open door.");*/ ! pline("³«¤¤¤Æ¤ëÈâ¤Ë¸°¤ò¤«¤±¤ì¤Ê¤¤¡¥"); return(0); case D_BROKEN: ! /*JP pline("This door is broken.");*/ ! pline("Èâ¤Ï²õ¤ì¤Æ¤¤¤ë"); return(0); default: #ifdef TOURIST /* credit cards are only good for unlocking */ if(picktyp == CREDIT_CARD && !(door->doormask & D_LOCKED)) { ! /*JP You_cant("lock a door with a credit card.");*/ ! You("¥¯¥ì¥¸¥Ã¥È¥«¡¼¥É¤Ç¸°¤ò¤«¤±¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥"); return(0); } #endif + /*JP + ¤³¤ì¤³¤½¿¿¤ËÍøÍѲÁÃͤΤʤ¤¥Æ¥¯¥Ë¥«¥ë¤Ê¥³¡¼¥Ç¥£¥ó¥°¤À¡ª + --issei Sprintf(qbuf,"%sock it?", ! (door->doormask & D_LOCKED) ? "Unl" : "L" );*/ ! Sprintf(qbuf,"%s¡©", ! (door->doormask & D_LOCKED) ? "¤Ï¤º¤·¤Þ¤¹¤«" : "¤«¤±¤Þ¤¹¤«" ); ! c = yn(qbuf); if(c == 'n') return(0); *************** *** 446,460 **** || uwep->otyp == RUBBER_HOSE #endif ) { ! You_cant("force anything without a %sweapon.", ! (uwep) ? "proper " : ""); return(0); } picktyp = is_blade(uwep); if(xlock.usedtime && xlock.box && picktyp == xlock.picktyp) { ! You("resume your attempt to force the lock."); ! set_occupation(forcelock, "forcing the lock", 0); return(1); } --- 519,537 ---- || uwep->otyp == RUBBER_HOSE #endif ) { ! /*JP You_cant("force anything without a %sweapon.", ! (uwep) ? "proper " : "");*/ ! pline("%sÉð´ï¤Ê¤·¤Ç¸°¤ò¤³¤¸¤¢¤±¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥", ! (uwep) ? "ŬÀÚ¤Ê" : ""); return(0); } picktyp = is_blade(uwep); if(xlock.usedtime && xlock.box && picktyp == xlock.picktyp) { ! /*JP You("resume your attempt to force the lock.");*/ ! pline("¸°¤ò¤³¤¸¤¢¤±¤ë¤Î¤òºÆ³«¤·¤¿¡¥"); ! /*JP set_occupation(forcelock, "forcing the lock", 0);*/ ! set_occupation(forcelock, "¸°¤ò¤³¤¸¤¢¤±¤ë", 0); return(1); } *************** *** 463,482 **** for(otmp = level.objects[u.ux][u.uy]; otmp; otmp = otmp->nexthere) if(Is_box(otmp)) { if (otmp->obroken || !otmp->olocked) { ! pline("There is %s here, but its lock is already %s.", ! doname(otmp), otmp->obroken ? "broken" : "unlocked"); continue; } ! Sprintf(qbuf,"There is %s here, force its lock?", doname(otmp)); c = ynq(qbuf); if(c == 'q') return(0); if(c == 'n') continue; if(picktyp) ! You("force your %s into a crack and pry.", xname(uwep)); else ! You("start bashing it with your %s.", xname(uwep)); xlock.box = otmp; xlock.chance = objects[otmp->otyp].oc_wldam * 2; xlock.picktyp = picktyp; --- 540,563 ---- for(otmp = level.objects[u.ux][u.uy]; otmp; otmp = otmp->nexthere) if(Is_box(otmp)) { if (otmp->obroken || !otmp->olocked) { ! /*JP pline("There is %s here, but its lock is already %s.",*/ ! pline("¤³¤³¤Ë¤Ï%s¤¬¤¢¤ë¡¤¤·¤«¤·¤½¤Î¸°¤Ï¤â¤¦%s¡¥", ! doname(otmp), otmp->obroken ? "²õ¤ì¤Æ¤¤¤ë" : "¤Ï¤º¤µ¤ì¤Æ¤¤¤ë"); continue; } ! /*JP Sprintf(qbuf,"There is %s here, force its lock?", doname(otmp));*/ ! Sprintf(qbuf,"¤³¤³¤Ë¤Ï%s¤¬¤¢¤ë¡¤¸°¤ò¤³¤¸¤¢¤±¤Þ¤¹¤«¡©", doname(otmp)); c = ynq(qbuf); if(c == 'q') return(0); if(c == 'n') continue; if(picktyp) ! /*JP You("force your %s into a crack and pry.", xname(uwep));*/ ! You("%s¤ò¸°·ê¤ËÆþ¤ì¤Æ¥«¥Á¥ã¥«¥Á¥ã¤·¤¿¡¥",xname(uwep)); else ! /*JP You("start bashing it with your %s.", xname(uwep));*/ ! pline("%s¤Ç²¥¤ê¤Ä¤±¤¿¡¥", xname(uwep)); xlock.box = otmp; xlock.chance = objects[otmp->otyp].oc_wldam * 2; xlock.picktyp = picktyp; *************** *** 484,491 **** break; } ! if(xlock.box) set_occupation(forcelock, "forcing the lock", 0); ! else You("decide not to force the issue."); return(1); } --- 565,574 ---- break; } ! /*JP if(xlock.box) set_occupation(forcelock, "forcing the lock", 0); ! else You("decide not to force the issue.");*/ ! if(xlock.box) set_occupation(forcelock, "¸°¤ò¤³¤¸¤¢¤±¤ë", 0); ! else pline("¤½¤ì¤Ï̵°ÕÌ£¤Ê¹Ô°Ù¤À¡¥"); return(1); } *************** *** 497,503 **** struct monst *mtmp; if (u.utrap && u.utraptype == TT_PIT) { ! You_cant("reach over the edge of the pit."); return 0; } --- 580,587 ---- struct monst *mtmp; if (u.utrap && u.utraptype == TT_PIT) { ! /*JP You_cant("reach over the edge of the pit.");*/ ! pline("Í·ê¤ÎÃ椫¤éÆϤ«¤Ê¤¤¡¥"); return 0; } *************** *** 521,535 **** --- 605,627 ---- if(!IS_DOOR(door->typ)) { if (is_db_wall(x,y)) { + /*JP pline("There is no obvious way to open the drawbridge."); + */ + pline("¼«ÌÀ¤ÊÊýË¡¤¸¤ãÄ·¤Í¶¶¤Ï¹ß¤ê¤Ê¤¤¡¥"); return(0); } + /*JP You("%s no door there.", Blind ? "feel" : "see"); + */ + pline("¤½¤³¤Ë¤ÏÈâ¤Ï¤Ê¤¤%s¡¥", + Blind ? "¤è¤¦¤À" : "¤è¤¦¤Ë¸«¤¨¤ë"); return(0); } if (!(door->doormask & D_CLOSED)) { + /*JP const char *mesg; switch (door->doormask) { *************** *** 539,558 **** --- 631,666 ---- default: mesg = " is locked"; break; } pline("This door%s.", mesg); + */ + switch(door->doormask) { + case D_BROKEN: pline("Èâ¤Ï²õ¤ì¤Æ¤¤¤ë¡¥"); break; + case D_NODOOR: pline("½ÐÆþ¸ý¤Ë¤ÏÈ⤬¤Ê¤¤¡¥"); break; + case D_ISOPEN: pline("Èâ¤Ï¤â¤¦³«¤¤¤Æ¤¤¤ë¡¥"); break; + default: pline("Èâ¤Ë¤Ï¸°¤¬³Ý¤«¤Ã¤Æ¤¤¤ë"); break; + } if (Blind) feel_location(x,y); return(0); } if(verysmall(uasmon)) { + /*JP pline("You're too small to pull the door open."); + */ + You("¾®¤µ¤¹¤®¤ÆÈâ¤ò³«¤±¤é¤ì¤Ê¤¤¡¥"); return(0); } /* door is known to be CLOSED */ if (rnl(20) < (ACURRSTR+ACURR(A_DEX)+ACURR(A_CON))/3) { + /*JP pline_The("door opens."); + */ + pline("Èâ¤Ï³«¤¤¤¿¡¥"); if(door->doormask & D_TRAPPED) { + /*JP b_trapped("door", FINGER); + */ + b_trapped("Èâ", FINGER); door->doormask = D_NODOOR; if (*in_rooms(x, y, SHOPBASE)) add_damage(x, y, 0L); } else *************** *** 564,570 **** unblock_point(x,y); /* vision: new see through there */ } else { exercise(A_STR, TRUE); ! pline_The("door resists!"); } return(1); --- 672,679 ---- unblock_point(x,y); /* vision: new see through there */ } else { exercise(A_STR, TRUE); ! /*JP pline_The("door resists!");*/ ! pline("¤Ê¤«¤Ê¤«³«¤«¤Ê¤¤¡ª"); } return(1); *************** *** 579,590 **** if(mtmp && mtmp->m_ap_type != M_AP_FURNITURE) { if (mtmp->m_ap_type == M_AP_OBJECT) goto objhere; ! pline("%s stands in the way!", Blind ? ! "Some creature" : Monnam(mtmp)); return(TRUE); } if (OBJ_AT(x, y)) { ! objhere: pline("%s's in the way.", Something); return(TRUE); } return(FALSE); --- 688,702 ---- if(mtmp && mtmp->m_ap_type != M_AP_FURNITURE) { if (mtmp->m_ap_type == M_AP_OBJECT) goto objhere; ! /*JP pline("%s stands in the way!", Blind ? ! "Some creature" : Monnam(mtmp));*/ ! pline("%s¤¬Î©¤Á¤Õ¤µ¤¬¤Ã¤Æ¤¤¤ë¡¥", Blind ? ! "²¿¼Ô¤«" : Monnam(mtmp)); return(TRUE); } if (OBJ_AT(x, y)) { ! /*JPobjhere: pline("%s's in the way.", Something);*/ ! objhere: pline("²¿¤«½ÐÆþ¸ý¤Ë¤¢¤ë¡¥"); return(TRUE); } return(FALSE); *************** *** 598,604 **** struct monst *mtmp; if (u.utrap && u.utraptype == TT_PIT) { ! You_cant("reach over the edge of the pit."); return 0; } --- 710,717 ---- struct monst *mtmp; if (u.utrap && u.utraptype == TT_PIT) { ! /*JP You_cant("reach over the edge of the pit.");*/ ! pline("Í·ê¤ÎÃ椫¤éÆϤ«¤Ê¤¤¡¥"); return 0; } *************** *** 607,613 **** x = u.ux + u.dx; y = u.uy + u.dy; if((x == u.ux) && (y == u.uy)) { ! You("are in the way!"); return(1); } --- 720,727 ---- x = u.ux + u.dx; y = u.uy + u.dy; if((x == u.ux) && (y == u.uy)) { ! /*JP You("are in the way!");*/ ! pline("¤¢¤Ê¤¿¤¬½ÐÆþ¸ý¤Ë¤¤¤ë¤Î¤ÇÊĤޤé¤Ê¤¤¡¥"); return(1); } *************** *** 625,661 **** if(!IS_DOOR(door->typ)) { if (door->typ == DRAWBRIDGE_DOWN) ! pline("There is no obvious way to close the drawbridge."); else ! You("%s no door there.", ! Blind ? "feel" : "see"); return(0); } if(door->doormask == D_NODOOR) { ! pline("This doorway has no door."); return(0); } if(obstructed(x, y)) return(0); if(door->doormask == D_BROKEN) { ! pline("This door is broken."); return(0); } if(door->doormask & (D_CLOSED | D_LOCKED)) { ! pline("This door is already closed."); return(0); } if(door->doormask == D_ISOPEN) { if(verysmall(uasmon)) { ! pline("You're too small to push the door closed."); return(0); } if (rn2(25) < (ACURRSTR+ACURR(A_DEX)+ACURR(A_CON))/3) { ! pline_The("door closes."); door->doormask = D_CLOSED; if (Blind) feel_location(x,y); /* the hero knows she closed it */ --- 739,783 ---- if(!IS_DOOR(door->typ)) { if (door->typ == DRAWBRIDGE_DOWN) ! /*JP pline("There is no obvious way to close the drawbridge.");*/ ! pline("¼«ÌÀ¤ÊÊýË¡¤¸¤ãÄ·¤Í¶¶¤Ï¾å¤¬¤é¤¤¡¥"); else ! /*JP You("%s no door there.", ! Blind ? "feel" : "see");*/ ! pline("¤½¤³¤ËÈâ¤Ï¤Ê¤¤%s¡¥", ! Blind ? "¤è¤¦¤À" : "¤è¤¦¤Ë¸«¤¨¤ë"); return(0); } if(door->doormask == D_NODOOR) { ! /*JP pline("This doorway has no door.");*/ ! pline("½ÐÆþ¸ý¤Ë¤ÏÈ⤬¤Ê¤¤¡¥"); return(0); } if(obstructed(x, y)) return(0); if(door->doormask == D_BROKEN) { ! /*JP pline("This door is broken.");*/ ! pline("Èâ¤Ï²õ¤ì¤Æ¤¤¤ë¡¥"); return(0); } if(door->doormask & (D_CLOSED | D_LOCKED)) { ! /*JP pline("This door is already closed.");*/ ! pline("Èâ¤Ï¤â¤¦ÊĤ¸¤Æ¤¤¤ë¡¥"); return(0); } if(door->doormask == D_ISOPEN) { if(verysmall(uasmon)) { ! /*JP pline("You're too small to push the door closed.");*/ ! You("¾®¤µ¤¹¤®¤ÆÈâ¤òÊĤá¤é¤ì¤Ê¤¤¡¥"); return(0); } if (rn2(25) < (ACURRSTR+ACURR(A_DEX)+ACURR(A_CON))/3) { ! /*JP pline_The("door closes.");*/ ! pline("Èâ¤ÏÊĤ¸¤¿¡¥"); door->doormask = D_CLOSED; if (Blind) feel_location(x,y); /* the hero knows she closed it */ *************** *** 665,671 **** } else { exercise(A_STR, TRUE); ! pline_The("door resists!"); } } --- 787,794 ---- } else { exercise(A_STR, TRUE); ! /*JP pline_The("door resists!");*/ ! pline("¤Ê¤«¤Ê¤«ÊĤޤé¤Ê¤¤¡ª"); } } *************** *** 682,688 **** case WAN_LOCKING: case SPE_WIZARD_LOCK: if (!obj->olocked) { /* lock it; fix if broken */ ! pline("Klunk!"); obj->olocked = 1; obj->obroken = 0; res = 1; --- 805,812 ---- case WAN_LOCKING: case SPE_WIZARD_LOCK: if (!obj->olocked) { /* lock it; fix if broken */ ! /*JP pline("Klunk!");*/ ! pline("¥«¥Á¡ª"); obj->olocked = 1; obj->obroken = 0; res = 1; *************** *** 691,697 **** case WAN_OPENING: case SPE_KNOCK: if (obj->olocked) { /* unlock; couldn't be broken */ ! pline("Klick!"); obj->olocked = 0; res = 1; } else /* silently fix if broken */ --- 815,822 ---- case WAN_OPENING: case SPE_KNOCK: if (obj->olocked) { /* unlock; couldn't be broken */ ! /*JP pline("Klick!");*/ ! pline("¥³¥ó¥³¥ó¡ª"); obj->olocked = 0; res = 1; } else /* silently fix if broken */ *************** *** 717,724 **** boolean res = TRUE; int loudness = 0; const char *msg = (const char *)0; ! const char *dustcloud = "A cloud of dust"; ! const char *quickly_dissipates = "quickly dissipates"; if (door->typ == SDOOR) { switch (otmp->otyp) { --- 842,851 ---- boolean res = TRUE; int loudness = 0; const char *msg = (const char *)0; ! /*JP const char *dustcloud = "A cloud of dust"; ! const char *quickly_dissipates = "quickly dissipates";*/ ! const char *dustcloud = "¤Û¤³¤ê"; ! const char *quickly_dissipates = "¤¢¤Ã¤È¸À¤¦¤Þ¤ËÈô¤Ó»¶¤Ã¤¿"; if (door->typ == SDOOR) { switch (otmp->otyp) { *************** *** 729,735 **** door->typ = DOOR; door->doormask = D_CLOSED | (door->doormask & D_TRAPPED); newsym(x,y); ! if (cansee(x,y)) pline("A door appears in the wall!"); if (otmp->otyp == WAN_OPENING || otmp->otyp == SPE_KNOCK) return TRUE; break; /* striking: continue door handling below */ --- 856,863 ---- door->typ = DOOR; door->doormask = D_CLOSED | (door->doormask & D_TRAPPED); newsym(x,y); ! /*JP if (cansee(x,y)) pline("A door appears in the wall!");*/ ! if (cansee(x,y)) pline("ÊɤΰìÉô¤¬³«¤¤¤¿¡ª"); if (otmp->otyp == WAN_OPENING || otmp->otyp == SPE_KNOCK) return TRUE; break; /* striking: continue door handling below */ *************** *** 746,760 **** #ifdef REINCARNATION if (Is_rogue_level(&u.uz)) { /* Can't have real locking in Rogue, so just hide doorway */ ! pline("%s springs up in the older, more primitive doorway.", dustcloud); if (obstructed(x,y)) { ! pline_The("cloud %s.",quickly_dissipates); return FALSE; } block_point(x, y); door->typ = SDOOR; ! if (cansee(x,y)) pline_The("doorway vanishes!"); newsym(x,y); return TRUE; } --- 874,891 ---- #ifdef REINCARNATION if (Is_rogue_level(&u.uz)) { /* Can't have real locking in Rogue, so just hide doorway */ ! /*JP pline("%s springs up in the older, more primitive doorway.",*/ ! pline("¸Å¤¯¤µ¤¤¡¤¸¶»ÏŪ¤Ê½ÐÆþ¸ý¤Ë%s¤¬Î©¤Á¤³¤á¤¿¡¥", dustcloud); if (obstructed(x,y)) { ! /*JP pline_The("cloud %s.",quickly_dissipates);*/ ! pline("¤Û¤³¤ê¤Ï%s¡¥",quickly_dissipates); return FALSE; } block_point(x, y); door->typ = SDOOR; ! /*JP if (cansee(x,y)) pline_The("doorway vanishes!");*/ ! if (cansee(x,y)) pline("½ÐÆþ¸ý¤Ï¾Ã¤¨¤¿¡ª"); newsym(x,y); return TRUE; } *************** *** 765,788 **** if (t_at(x,y)) { /* maketrap() clears doormask, so it should be NODOOR */ pline( ! "%s springs up in the doorway, but %s.", dustcloud, quickly_dissipates); return FALSE; } switch (door->doormask & ~D_TRAPPED) { case D_CLOSED: ! msg = "The door locks!"; break; case D_ISOPEN: ! msg = "The door swings shut, and locks!"; break; case D_BROKEN: ! msg = "The broken door reassembles and locks!"; break; case D_NODOOR: msg = ! "A cloud of dust springs up and assembles itself into a door!"; break; default: res = FALSE; --- 896,924 ---- if (t_at(x,y)) { /* maketrap() clears doormask, so it should be NODOOR */ pline( ! /*JP "%s springs up in the doorway, but %s.",*/ ! "%s¤¬½ÐÆþ¸ý¤ËΩ¤Á¤³¤á¤¿¡¤¤·¤«¤·%s", dustcloud, quickly_dissipates); return FALSE; } switch (door->doormask & ~D_TRAPPED) { case D_CLOSED: ! /*JP msg = "The door locks!";*/ ! msg = "Èâ¤Ë¸°¤¬¤«¤«¤Ã¤¿¡ª"; break; case D_ISOPEN: ! /*JP msg = "The door swings shut, and locks!";*/ ! msg = "Èâ¤ÏÀª¤¤¤è¤¯ÊĤޤꡤ¸°¤¬¤«¤«¤Ã¤¿¡ª"; break; case D_BROKEN: ! /*JP msg = "The broken door reassembles and locks!";*/ ! msg = "²õ¤ì¤¿È⤬½¸¤Þ¤Ã¤Æ¡¤¸°¤¬¤«¤«¤Ã¤¿¡ª"; break; case D_NODOOR: msg = ! /*JP "A cloud of dust springs up and assembles itself into a door!";*/ ! "¤Û¤³¤ê¤¬¤¿¤Á¤³¤á¡¤½¸¤Þ¤Ã¤ÆÈâ¤Ë¤Ê¤Ã¤¿¡ª"; break; default: res = FALSE; *************** *** 795,801 **** case WAN_OPENING: case SPE_KNOCK: if (door->doormask & D_LOCKED) { ! msg = "The door unlocks!"; door->doormask = D_CLOSED | (door->doormask & D_TRAPPED); } else res = FALSE; break; --- 931,938 ---- case WAN_OPENING: case SPE_KNOCK: if (door->doormask & D_LOCKED) { ! /*JP msg = "The door unlocks!";*/ ! msg = "Èâ¤Î¸°¤Ï¤Ï¤º¤ì¤¿¡ª"; door->doormask = D_CLOSED | (door->doormask & D_TRAPPED); } else res = FALSE; break; *************** *** 807,815 **** (void) mb_trapped(m_at(x,y)); else if (flags.verbose) { if (cansee(x,y)) ! pline("KABOOM!! You see a door explode."); else if (flags.soundok) ! You_hear("a distant explosion."); } door->doormask = D_NODOOR; unblock_point(x,y); --- 944,954 ---- (void) mb_trapped(m_at(x,y)); else if (flags.verbose) { if (cansee(x,y)) ! /*JP pline("KABOOM!! You see a door explode.");*/ ! pline("¤Á¤å¤É¡¼¤ó¡ª¤¢¤Ê¤¿¤ÏÈ⤬Çúȯ¤·¤¿¤Î¤ò¸«¤¿¡¥"); else if (flags.soundok) ! /*JP You_hear("a distant explosion.");*/ ! You_hear("±ó¤¯¤ÎÇúȯ²»¤òʹ¤¤¤¿¡¥"); } door->doormask = D_NODOOR; unblock_point(x,y); *************** *** 820,828 **** door->doormask = D_BROKEN; if (flags.verbose) { if (cansee(x,y)) ! pline_The("door crashes open!"); else if (flags.soundok) ! You_hear("a crashing sound."); } unblock_point(x,y); newsym(x,y); --- 959,969 ---- door->doormask = D_BROKEN; if (flags.verbose) { if (cansee(x,y)) ! /*JP pline_The("door crashes open!");*/ ! pline("Èâ¤Ï²õ¤ì³«¤¤¤¿¡ª"); else if (flags.soundok) ! /*JP You_hear("a crashing sound.");*/ ! You_hear("²¿¤«¤¬²õ¤ì¤ë²»¤òʹ¤¤¤¿¡¥"); } unblock_point(x,y); newsym(x,y); *************** *** 851,862 **** chest_shatter_msg(otmp) struct obj *otmp; { ! const char *disposition, *article = (otmp->quan > 1L) ? "A" : "The"; const char *thing; long save_Blinded; if (otmp->oclass == POTION_CLASS) { ! You("%s a flask shatter!", Blind ? "hear" : "see"); potionbreathe(otmp); return; } --- 992,1005 ---- chest_shatter_msg(otmp) struct obj *otmp; { ! /*JP const char *disposition, *article = (otmp->quan > 1L) ? "A" : "The";*/ ! const char *disposition; const char *thing; long save_Blinded; if (otmp->oclass == POTION_CLASS) { ! /*JP You("%s a flask shatter!", Blind ? "hear" : "see");*/ ! You("ÌôÉÓ¤¬³ä¤ì¤ë%s¡ª", Blind ? "²»¤òʹ¤¤¤¿" : "¤Î¤ò¸«¤¿"); potionbreathe(otmp); return; } *************** *** 867,888 **** thing = singular(otmp, xname); Blinded = save_Blinded; switch (objects[otmp->otyp].oc_material) { ! case PAPER: disposition = "is torn to shreds"; break; ! case WAX: disposition = "is crushed"; break; ! case VEGGY: disposition = "is pulped"; break; ! case FLESH: disposition = "is mashed"; break; ! case GLASS: disposition = "shatters"; break; ! case WOOD: disposition = "splinters to fragments"; break; ! default: disposition = "is destroyed"; break; } ! pline("%s %s %s!", article, thing, disposition); } #endif /* OVLB */ --- 1010,1039 ---- thing = singular(otmp, xname); Blinded = save_Blinded; switch (objects[otmp->otyp].oc_material) { ! /*JP case PAPER: disposition = "is torn to shreds";*/ ! case PAPER: disposition = "¤ÏÀ£ÃǤµ¤ì¤¿"; break; ! /*JP case WAX: disposition = "is crushed";*/ ! case WAX: disposition = "¤ò¾²¤Ë¤Ö¤Á¤Þ¤±¤¿"; break; ! /*JP case VEGGY: disposition = "is pulped";*/ ! case VEGGY: disposition = "¤Ï¤É¤í¤É¤í¤Ë¤Ê¤Ã¤¿"; break; ! /*JP case FLESH: disposition = "is mashed";*/ ! case FLESH: disposition = "¤Ï¤É¤í¤É¤í¤Ë¤Ê¤Ã¤¿"; break; ! /*JP case GLASS: disposition = "shatters";*/ ! case GLASS: disposition = "¤Ï³ä¤ì¤¿"; break; ! /*JP case WOOD: disposition = "splinters to fragments";*/ ! case WOOD: disposition = "¤Ï¤«¤±¤é¤Ë¤Ê¤Ã¤¿"; break; ! /*JP default: disposition = "is destroyed";*/ ! default: disposition = "¤Ï²õ¤ì¤¿"; break; } ! /*JP pline("%s %s %s!", article, thing, disposition);*/ ! pline("%s%s¡ª", thing, disposition); } #endif /* OVLB */ diff -c -r ../nethack-3.2.2/src/mail.c ./src/mail.c *** ../nethack-3.2.2/src/mail.c Sat Dec 28 21:53:42 1996 --- ./src/mail.c Tue Sep 23 07:10:08 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #ifdef MAIL *************** *** 250,258 **** /* Let the mail daemon have a larger vocabulary. */ static NEARDATA const char *mail_text[] = { ! "Gangway!", "Look out!", ! "Pardon me!" }; #define md_exclamations() (mail_text[rn2(3)]) --- 257,268 ---- /* Let the mail daemon have a larger vocabulary. */ static NEARDATA const char *mail_text[] = { ! /*JP "Gangway!", "Look out!", ! "Pardon me!"*/ ! "¤É¤¤¤¿¤É¤¤¤¿¡ª", ! "µ¤¤ò¤Ä¤±¤í¡ª", ! "¤¸¤ã¤Þ¤¹¤ë¤è¡ª" }; #define md_exclamations() (mail_text[rn2(3)]) *************** *** 312,318 **** if ((mon = m_at(fx,fy)) != 0) /* save monster at this position */ verbalize(md_exclamations()); else if (fx == u.ux && fy == u.uy) ! verbalize("Excuse me."); place_monster(md,fx,fy); /* put md down */ newsym(fx,fy); /* see it */ --- 322,329 ---- if ((mon = m_at(fx,fy)) != 0) /* save monster at this position */ verbalize(md_exclamations()); else if (fx == u.ux && fy == u.uy) ! /*JP verbalize("Excuse me.");*/ ! verbalize("¤Á¤ç¤Ã¤È¤·¤Ä¤ì¤¤¡¥"); place_monster(md,fx,fy); /* put md down */ newsym(fx,fy); /* see it */ *************** *** 337,343 **** if ((mon = m_at(fx, fy)) != 0) { place_monster(md, fx, fy); /* display md with text below */ newsym(fx, fy); ! verbalize("This place's too crowded. I'm outta here."); if ((mon->mx != fx) || (mon->my != fy)) /* put mon back */ place_worm_seg(mon, fx, fy); --- 348,355 ---- if ((mon = m_at(fx, fy)) != 0) { place_monster(md, fx, fy); /* display md with text below */ newsym(fx, fy); ! /*JP verbalize("This place's too crowded. I'm outta here.");*/ ! verbalize("¤³¤³¤Ïº®¤ß¤¹¤®¡¥¤³¤³¤ÇÂԤäƤë¤è¡¥"); if ((mon->mx != fx) || (mon->my != fy)) /* put mon back */ place_worm_seg(mon, fx, fy); *************** *** 375,386 **** if (!md_rush(md, stop.x, stop.y)) goto go_back; message_seen = TRUE; ! verbalize("Hello, %s! %s.", plname, info->display_txt); if (info->message_typ) { struct obj *obj = mksobj(SCR_MAIL, FALSE, FALSE); if (distu(md->mx,md->my) > 2) ! verbalize("Catch!"); display_nhwindow(WIN_MESSAGE, FALSE); if (info->object_nam) { obj = oname(obj, info->object_nam); --- 387,400 ---- if (!md_rush(md, stop.x, stop.y)) goto go_back; message_seen = TRUE; ! /*JP verbalize("Hello, %s! %s.", plname, info->display_txt);*/ ! verbalize("¤ä¤¡%s!%s¡¥", plname, info->display_txt); if (info->message_typ) { struct obj *obj = mksobj(SCR_MAIL, FALSE, FALSE); if (distu(md->mx,md->my) > 2) ! /*JP verbalize("Catch!");*/ ! verbalize("¤Û¤é¤è¡ª"); display_nhwindow(WIN_MESSAGE, FALSE); if (info->object_nam) { obj = oname(obj, info->object_nam); *************** *** 393,399 **** /* Note: renaming object will discard the hidden command. */ } } ! obj = hold_another_object(obj, "Oops!", (const char *)0, (const char *)0); } --- 407,414 ---- /* Note: renaming object will discard the hidden command. */ } } ! /*JP obj = hold_another_object(obj, "Oops!",*/ ! obj = hold_another_object(obj, "¤ª¤Ã¤È¡ª", (const char *)0, (const char *)0); } *************** *** 404,410 **** /* deliver some classes of messages even if no daemon ever shows up */ give_up: if (!message_seen && info->message_typ == MSG_OTHER) ! pline("Hark! \"%s.\"", info->display_txt); } # if !defined(UNIX) && !defined(VMS) --- 419,426 ---- /* deliver some classes of messages even if no daemon ever shows up */ give_up: if (!message_seen && info->message_typ == MSG_OTHER) ! /*JP pline("Hark! \"%s.\"", info->display_txt);*/ ! pline("¡Ö%s¡¥¡×¤È¸À¤¦¤³¤È¤À¡ª", info->display_txt); } # if !defined(UNIX) && !defined(VMS) *************** *** 421,427 **** } if (--mustgetmail <= 0) { static struct mail_info ! deliver = {MSG_MAIL,"I have some mail for you",0,0}; newmail(&deliver); mustgetmail = -1; } --- 437,444 ---- } if (--mustgetmail <= 0) { static struct mail_info ! /*JP deliver = {MSG_MAIL,"I have some mail for you",0,0};*/ ! deliver = {MSG_MAIL,"¥á¥¤¥ë¤ò»ý¤Ã¤Æ¤­¤¿¤è",0,0}; newmail(&deliver); mustgetmail = -1; } *************** *** 433,448 **** --- 450,475 ---- struct obj *otmp; { char *junk[]={ + /*JP "Please disregard previous letter.", "Welcome to NetHack 3.2.2!", + */ + "Á°¤Î¥á¡¼¥ë¤Ï˺¤ì¤Æ¤¯¤À¤µ¤¤¡¥", + "NetHack 3.2.2¤Ø¤è¤¦¤³¤½¡ª", #ifdef AMIGA "Only Amiga makes it possible.", "CATS have all the answers.", #endif + /*JP "Report bugs to nethack-bugs@linc.cis.upenn.edu" + */ + "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï jnethack-bugs@norisuke.jaist.ac.jp ¤Ø" }; + /*JP pline("It reads: \"%s\"", junk[rn2(SIZE(junk))]); + */ + pline("¤½¤ì¤òÆɤó¤À¡§\"%s\"", junk[rn2(SIZE(junk))]); } # endif /* !UNIX && !VMS */ *************** *** 471,480 **** if (nmstat.st_size) { static struct mail_info deliver = { # ifndef NO_MAILREADER ! MSG_MAIL, "I have some mail for you", # else /* suppress creation and delivery of scroll of mail */ ! MSG_OTHER, "You have some mail in the outside world", # endif 0, 0 }; --- 498,509 ---- if (nmstat.st_size) { static struct mail_info deliver = { # ifndef NO_MAILREADER ! /*JP MSG_MAIL, "I have some mail for you",*/ ! MSG_MAIL, "¥á¥¤¥ë¤ò»ý¤Ã¤Æ¤­¤¿¤è", # else /* suppress creation and delivery of scroll of mail */ ! /*JP MSG_OTHER, "You have some mail in the outside world",*/ ! MSG_OTHER, "³°¤ÎÀ¤³¦¤«¤é¤Î¥á¡¼¥ë¤À", # endif 0, 0 }; diff -c -r ../nethack-3.2.2/src/makemon.c ./src/makemon.c *** ../nethack-3.2.2/src/makemon.c Sat Dec 28 21:53:42 1996 --- ./src/makemon.c Tue Jul 22 23:18:23 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "epri.h" #include "emin.h" *************** *** 885,890 **** --- 892,933 ---- /* no initial inventory is allowed */ if (mtmp->minvent) discard_minvent(mtmp); } + #ifdef FIGHTER + if(ptr == &mons[PM_PLANETARY_FIGHTER]){ + static uniq_num = 0; + const char *cn; + /*Àï»Î¤ÏÁ´¤Æ½÷À­¤ÇÏÇÀ±¤Î̾Á°¤ò»ý¤Ä*/ + mtmp->female = 1; + switch(uniq_num){ + case 0: + cn = "¥Þ¡¼¥­¥å¥ê¡¼"; + break; + case 1: + cn = "¥ô¥£¡¼¥Ê¥¹"; + break; + case 2: + cn = "¥Þ¡¼¥º"; + break; + case 3: + cn = "¥¸¥å¥Ô¥¿¡¼"; + break; + case 4: + cn = "¥¦¥é¥Ì¥¹"; + break; + case 5: + cn = "¥Í¥×¥Á¥å¡¼¥ó"; + break; + case 6: + cn = "¥×¥ë¡¼¥È"; + break; + default: + cn = "¥µ¥¿¡¼¥ó"; + break; + } + ++uniq_num; + christen_monst(mtmp, cn); + } + #endif if (ptr->mflags3 & M3_WAITMASK) { if (ptr->mflags3 & M3_WAITFORU) mtmp->mstrategy |= STRAT_WAITFORU; *************** *** 1235,1243 **** if ((int)++mtmp->m_lev >= mons[newtype].mlevel && newtype != oldtype) { ptr = &mons[newtype]; if (mvitals[newtype].mvflags & G_GENOD) { /* allow G_EXTINCT */ ! pline("As %s grows up into %s, %s %s!", mon_nam(mtmp), an(ptr->mname), he[pronoun_gender(mtmp)], ! nonliving(ptr) ? "expires" : "dies"); set_mon_data(mtmp, ptr, -1); /* keep mvitals[] accurate */ mondied(mtmp); return (struct permonst *)0; --- 1278,1291 ---- if ((int)++mtmp->m_lev >= mons[newtype].mlevel && newtype != oldtype) { ptr = &mons[newtype]; if (mvitals[newtype].mvflags & G_GENOD) { /* allow G_EXTINCT */ ! /*JP pline("As %s grows up into %s, %s %s!", mon_nam(mtmp), an(ptr->mname), he[pronoun_gender(mtmp)], ! nonliving(ptr) ? "expires" : "dies");*/ ! pline("%s¤¬À®Ä¹¤·¤Æ%s¤Ë¤Ê¤ë¤È%s¡ª", ! mon_nam(mtmp), ! jtrns_mon(ptr->mname, mtmp->female), ! nonliving(ptr) ? "¾Ã¤¨¤Æ¤·¤Þ¤Ã¤¿" : "»à¤ó¤Ç¤·¤Þ¤Ã¤¿"); ! set_mon_data(mtmp, ptr, -1); /* keep mvitals[] accurate */ mondied(mtmp); return (struct permonst *)0; diff -c -r ../nethack-3.2.2/src/mcastu.c ./src/mcastu.c *** ../nethack-3.2.2/src/mcastu.c Fri Jun 21 02:25:07 1996 --- ./src/mcastu.c Tue Jul 22 23:18:24 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" STATIC_DCL void FDECL(cursetxt,(struct monst *)); *************** *** 19,33 **** if ((Invis && !perceives(mtmp->data) && (mtmp->mux != u.ux || mtmp->muy != u.uy)) || u.usym == S_MIMIC_DEF || u.uundetected) ! pline("%s points and curses in your general direction.", Monnam(mtmp)); else if (Displaced && (mtmp->mux != u.ux || mtmp->muy != u.uy)) ! pline("%s points and curses at your displaced image.", Monnam(mtmp)); else ! pline("%s points at you, then curses.", Monnam(mtmp)); } else if((!(moves%4) || !rn2(4)) && flags.soundok) ! Norep("You hear a mumbled curse."); } #endif /* OVL0 */ --- 26,44 ---- if ((Invis && !perceives(mtmp->data) && (mtmp->mux != u.ux || mtmp->muy != u.uy)) || u.usym == S_MIMIC_DEF || u.uundetected) ! /*JP pline("%s points and curses in your general direction.",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î¤¤¤ë¤¢¤¿¤ê¤ò»Øº¹¤·¡¤¼ö¤¤¤ò¤«¤±¤¿¡¥", Monnam(mtmp)); else if (Displaced && (mtmp->mux != u.ux || mtmp->muy != u.uy)) ! /*JP pline("%s points and curses at your displaced image.",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¸¸±Æ¤ò»Øº¹¤·¡¤¼ö¤¤¤ò¤«¤±¤¿¡¥", Monnam(mtmp)); else ! /*JP pline("%s points at you, then curses.", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ò»Øº¹¤·¡¤¼ö¤¤¤ò¤«¤±¤¿¡¥", Monnam(mtmp)); } else if((!(moves%4) || !rn2(4)) && flags.soundok) ! /*JP Norep("You hear a mumbled curse.");*/ ! Norep("¼ö¤¤¤Î¸ÀÍÕ¤ò¤Ä¤Ö¤ä¤¯À¼¤òʹ¤¤¤¿¡¥"); } #endif /* OVL0 */ *************** *** 47,53 **** nomul(0); if(rn2(ml*10) < (mtmp->mconf ? 100 : 20)) { /* fumbled attack */ if (canseemon(mtmp) && flags.soundok) ! pline_The("air crackles around %s.", mon_nam(mtmp)); return(0); } } --- 58,65 ---- nomul(0); if(rn2(ml*10) < (mtmp->mconf ? 100 : 20)) { /* fumbled attack */ if (canseemon(mtmp) && flags.soundok) ! /*JP pline_The("air crackles around %s.", mon_nam(mtmp));*/ ! pline("%s¤Î²ó¤ê¤Î¶õµ¤¤Ï¥Ô¥ê¥Ô¥ê¤·¤Æ¤¤¤ë¡¥", mon_nam(mtmp)); return(0); } } *************** *** 63,88 **** switch(mattk->adtyp) { case AD_FIRE: ! pline("You're enveloped in flames."); if(Fire_resistance) { shieldeff(u.ux, u.uy); ! pline("But you resist the effects."); dmg = 0; } break; case AD_COLD: ! pline("You're covered in frost."); if(Cold_resistance) { shieldeff(u.ux, u.uy); ! pline("But you resist the effects."); dmg = 0; } break; case AD_MAGM: ! You("are hit by a shower of missiles!"); if(Antimagic) { shieldeff(u.ux, u.uy); ! pline_The("missiles bounce off!"); dmg = 0; } else dmg = d((int)mtmp->m_lev/2 + 1,6); break; --- 75,106 ---- switch(mattk->adtyp) { case AD_FIRE: ! /*JP pline("You're enveloped in flames.");*/ ! You("±ê¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡¥"); if(Fire_resistance) { shieldeff(u.ux, u.uy); ! /*JP pline("But you resist the effects.");*/ ! pline("¤·¤«¤·¡¤¤¢¤Ê¤¿¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡¥"); dmg = 0; } break; case AD_COLD: ! /*JP pline("You're covered in frost.");*/ ! You("ɹ¤Ëʤ¤ï¤ì¤¿¡¥"); if(Cold_resistance) { shieldeff(u.ux, u.uy); ! /*JP pline("But you resist the effects.");*/ ! pline("¤·¤«¤·¡¤¤¢¤Ê¤¿¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡¥"); dmg = 0; } break; case AD_MAGM: ! /*JP You("are hit by a shower of missiles!");*/ ! You("ËâË¡¤ÎÌð¤ò¤¯¤é¤Ã¤¿¡ª"); if(Antimagic) { shieldeff(u.ux, u.uy); ! /*JP pline_The("missiles bounce off!");*/ ! pline("ËâË¡¤ÎÌð¤ÏÈ¿¼Í¤·¤¿¡ª"); dmg = 0; } else dmg = d((int)mtmp->m_lev/2 + 1,6); break; *************** *** 94,125 **** case 22: case 21: case 20: ! pline("Oh no, %s's using the touch of death!", humanoid(mtmp->data) ? (mtmp->female ? "she" : "he") : "it" ! ); if (nonliving(uasmon) || is_demon(uasmon)) ! You("seem no deader than before."); else if (!Antimagic && rn2(ml) > 12) { if(Hallucination) ! You("have an out of body experience."); else { killer_format = KILLED_BY_AN; ! killer = "touch of death"; done(DIED); } } else { if(Antimagic) shieldeff(u.ux, u.uy); ! pline("Lucky for you, it didn't work!"); } dmg = 0; break; case 19: case 18: if(mtmp->iswiz && flags.no_of_wizards == 1) { ! pline("Double Trouble..."); clonewiz(); dmg = 0; break; --- 112,150 ---- case 22: case 21: case 20: ! /*JP pline("Oh no, %s's using the touch of death!", humanoid(mtmp->data) ? (mtmp->female ? "she" : "he") : "it" ! );*/ ! pline("¤Ê¤ó¤Æ¤³¤Ã¤¿¤¤¡¤%s¤Ï»à¤ÎÀë¹ð¤ò»È¤Ã¤Æ¤¤¤ë¡ª", ! Monnam(mtmp)); if (nonliving(uasmon) || is_demon(uasmon)) ! /*JP You("seem no deader than before.");*/ ! You("»à¤Ê¤Ê¤¤ÂΤΤ褦¤À¡¥"); else if (!Antimagic && rn2(ml) > 12) { if(Hallucination) ! /*JP You("have an out of body experience.");*/ ! You("Í©ÂÎΥæ¤ÎÂ賤ò¤·¤¿¡¥"); else { killer_format = KILLED_BY_AN; ! /*JP killer = "touch of death";*/ ! killer = "»à¤ÎÀë¹ð¤Ç"; done(DIED); } } else { if(Antimagic) shieldeff(u.ux, u.uy); ! /*JP pline("Lucky for you, it didn't work!");*/ ! pline("±¿¤Î¤è¤¤¤³¤È¤Ë¤Ê¤ó¤È¤â¤Ê¤«¤Ã¤¿¡ª"); } dmg = 0; break; case 19: case 18: if(mtmp->iswiz && flags.no_of_wizards == 1) { ! /*JP pline("Double Trouble...");*/ ! pline("Æó½Å¶ì¤À¡¥¡¥¡¥"); clonewiz(); dmg = 0; break; *************** *** 128,134 **** case 16: case 15: if(mtmp->iswiz) ! verbalize("Destroy the thief, my pets!"); nasty(mtmp); /* summon something nasty */ /* fall into the next case */ case 14: /* aggravate all monsters */ --- 153,160 ---- case 16: case 15: if(mtmp->iswiz) ! /*JP verbalize("Destroy the thief, my pets!");*/ ! verbalize("Åð±¤ò»¦¤»¡ª²¼Ëͤ衪"); nasty(mtmp); /* summon something nasty */ /* fall into the next case */ case 14: /* aggravate all monsters */ *************** *** 146,163 **** case 8: /* destroy armor */ if (Antimagic) { shieldeff(u.ux, u.uy); ! pline("A field of force surrounds you!"); } else if(!destroy_arm(some_armor())) ! Your("skin itches."); dmg = 0; break; case 7: case 6: /* drain strength */ if(Antimagic) { shieldeff(u.ux, u.uy); ! You_feel("momentarily weakened."); } else { ! You("suddenly feel weaker!"); dmg = ml - 6; if(Half_spell_damage) dmg = (dmg+1) / 2; losestr(rnd(dmg)); --- 172,193 ---- case 8: /* destroy armor */ if (Antimagic) { shieldeff(u.ux, u.uy); ! /*JP pline("A field of force surrounds you!");*/ ! pline("ÉԻ׵ĤÊÎϤ¬¤¢¤Ê¤¿¤ò¤È¤ê¤«¤³¤ó¤À¡ª"); } else if(!destroy_arm(some_armor())) ! /*JP Your("skin itches.");*/ ! Your("ÈéÉæ¤Ï¥à¥º¥à¥º¤·¤¿¡¥"); dmg = 0; break; case 7: case 6: /* drain strength */ if(Antimagic) { shieldeff(u.ux, u.uy); ! /*JP You_feel("momentarily weakened.");*/ ! You("°ì½Ö¼å¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); } else { ! /*JP You("suddenly feel weaker!");*/ ! You("ÆÍÁ³¼å¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); dmg = ml - 6; if(Half_spell_damage) dmg = (dmg+1) / 2; losestr(rnd(dmg)); *************** *** 170,176 **** case 4: if (!mtmp->minvis && !mtmp->invis_blkd) { if(canseemon(mtmp) && !See_invisible) ! pline("%s suddenly disappears!", Monnam(mtmp)); mon_set_minvis(mtmp); dmg = 0; break; --- 200,207 ---- case 4: if (!mtmp->minvis && !mtmp->invis_blkd) { if(canseemon(mtmp) && !See_invisible) ! /*JP pline("%s suddenly disappears!", Monnam(mtmp));*/ ! pline("%s¤ÏÆÍÁ³¾Ã¤¨¤¿¡ª", Monnam(mtmp)); mon_set_minvis(mtmp); dmg = 0; break; *************** *** 179,191 **** if(Antimagic) { shieldeff(u.ux, u.uy); if(!Stunned) ! You_feel("momentarily disoriented."); make_stunned(1L, FALSE); } else { if (Stunned) ! You("struggle to keep your balance."); else ! You("reel..."); dmg = d(ACURR(A_DEX) < 12 ? 6 : 4, 4); if(Half_spell_damage) dmg = (dmg+1) / 2; make_stunned(HStun + dmg, FALSE); --- 210,225 ---- if(Antimagic) { shieldeff(u.ux, u.uy); if(!Stunned) ! /*JP You_feel("momentarily disoriented.");*/ ! You("°ì½ÖÊý¸þ´¶³Ð¤ò¼º¤Ã¤¿¡¥"); make_stunned(1L, FALSE); } else { if (Stunned) ! /*JP You("struggle to keep your balance.");*/ ! You("¥Ð¥é¥ó¥¹¤ò¼è¤í¤¦¤È¤â¤¬¤¤¤¿¡¥"); else ! /*JP You("reel...");*/ ! You("¤è¤í¤á¤¤¤¿¡¥¡¥¡¥"); dmg = d(ACURR(A_DEX) < 12 ? 6 : 4, 4); if(Half_spell_damage) dmg = (dmg+1) / 2; make_stunned(HStun + dmg, FALSE); *************** *** 207,218 **** default: /* psi bolt */ if(Antimagic) { shieldeff(u.ux, u.uy); ! You("get a slight %sache.",body_part(HEAD)); dmg = 1; } else { if (dmg <= 10) ! Your("brain is on fire!"); ! else Your("%s suddenly aches!", body_part(HEAD)); } break; } --- 241,255 ---- default: /* psi bolt */ if(Antimagic) { shieldeff(u.ux, u.uy); ! /*JP You("get a slight %sache.",body_part(HEAD));*/ ! You("¤Á¤ç¤Ã¤È%sÄˤ¬¤·¤¿¡¥",body_part(HEAD)); dmg = 1; } else { if (dmg <= 10) ! /*JP Your("brain is on fire!");*/ ! You("Åܤê¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡ª"); ! /*JP else Your("%s suddenly aches!", body_part(HEAD));*/ ! else Your("%s¤ÏÆÍÁ³Äˤߤò´¶¤¸¤¿¡ª", body_part(HEAD)); } break; } *************** *** 229,235 **** default: /* confuse */ if(Antimagic) { shieldeff(u.ux, u.uy); ! You_feel("momentarily dizzy."); } else { dmg = (int)mtmp->m_lev; if(Half_spell_damage) dmg = (dmg+1) / 2; --- 266,273 ---- default: /* confuse */ if(Antimagic) { shieldeff(u.ux, u.uy); ! /*JP You_feel("momentarily dizzy.");*/ ! You("°ì½Ö¤á¤Þ¤¤¤¬¤·¤¿¡¥"); } else { dmg = (int)mtmp->m_lev; if(Half_spell_damage) dmg = (dmg+1) / 2; *************** *** 267,273 **** case 7: /* blindness */ /* note: resists_blnd() doesn't apply here */ if (!Blinded) { ! pline("Scales cover your eyes!"); make_blinded(Half_spell_damage ? 100L:200L, FALSE); dmg = 0; break; --- 305,312 ---- case 7: /* blindness */ /* note: resists_blnd() doesn't apply here */ if (!Blinded) { ! /*JP pline("Scales cover your eyes!");*/ ! pline("ÎÚ¤¬¤¢¤Ê¤¿¤ÎÌܤòʤ¤Ã¤¿¡ª"); make_blinded(Half_spell_damage ? 100L:200L, FALSE); dmg = 0; break; *************** *** 276,285 **** case 5: /* wound */ if(Antimagic) { shieldeff(u.ux, u.uy); ! Your("skin itches badly for a moment."); dmg = 0; } else { ! pline("Wounds appear on your body!"); dmg = d(2,8) + 1; if (Half_spell_damage) dmg = (dmg+1) / 2; } --- 315,326 ---- case 5: /* wound */ if(Antimagic) { shieldeff(u.ux, u.uy); ! /*JP Your("skin itches badly for a moment.");*/ ! Your("ÈéÉæ¤Ï°ì½Ö¡¤¥à¥¹¥à¥¹¤Ã¤È¤·¤¿¡¥"); dmg = 0; } else { ! /*JP pline("Wounds appear on your body!");*/ ! pline("½ý¤¬¤¢¤Ê¤¿¤ÎÂΤ˽ÐÍ褿¡ª"); dmg = d(2,8) + 1; if (Half_spell_damage) dmg = (dmg+1) / 2; } *************** *** 288,298 **** if(Antimagic) { shieldeff(u.ux, u.uy); if(multi >= 0) ! You("stiffen briefly."); nomul(-1); } else { if (multi >= 0) ! You("are frozen in place!"); dmg = 4 + (int)mtmp->m_lev; if (Half_spell_damage) dmg = (dmg+1) / 2; nomul(-dmg); --- 329,341 ---- if(Antimagic) { shieldeff(u.ux, u.uy); if(multi >= 0) ! /*JP You("stiffen briefly.");*/ ! You("°ì½Ö¹Åľ¤·¤¿¡¥"); nomul(-1); } else { if (multi >= 0) ! /*JP You("are frozen in place!");*/ ! You("¤½¤Î¾ì¤ÇÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡ª"); dmg = 4 + (int)mtmp->m_lev; if (Half_spell_damage) dmg = (dmg+1) / 2; nomul(-dmg); *************** *** 332,338 **** nomul(0); if(mattk->adtyp && (mattk->adtyp < 11)) { /* no cf unsigned >0 */ if(canseemon(mtmp)) ! pline("%s zaps you with a %s!", Monnam(mtmp), flash_types[ad_to_typ(mattk->adtyp)]); buzz(-ad_to_typ(mattk->adtyp), (int)mattk->damn, mtmp->mx, mtmp->my, sgn(tbx), sgn(tby)); --- 375,382 ---- nomul(0); if(mattk->adtyp && (mattk->adtyp < 11)) { /* no cf unsigned >0 */ if(canseemon(mtmp)) ! /*JP pline("%s zaps you with a %s!", Monnam(mtmp),*/ ! pline("%s¤Ï%s¤ò¤¢¤Ê¤¿¤Ë¸þ¤±¤ÆÊü¤Ã¤¿¡¥", Monnam(mtmp), flash_types[ad_to_typ(mattk->adtyp)]); buzz(-ad_to_typ(mattk->adtyp), (int)mattk->damn, mtmp->mx, mtmp->my, sgn(tbx), sgn(tby)); diff -c -r ../nethack-3.2.2/src/mhitm.c ./src/mhitm.c *** ../nethack-3.2.2/src/mhitm.c Sat Dec 28 21:53:43 1996 --- ./src/mhitm.c Tue Sep 23 07:10:09 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "artifact.h" #include "edog.h" *************** *** 13,19 **** static NEARDATA struct obj *otmp; static const char brief_feeling[] = ! "have a %s feeling for a moment, then it passes."; static char *FDECL(mon_nam_too, (char *,struct monst *,struct monst *)); static void FDECL(mrustm, (struct monst *, struct monst *, struct obj *)); --- 20,27 ---- static NEARDATA struct obj *otmp; static const char brief_feeling[] = ! /*JP "have a %s feeling for a moment, then it passes.";*/ ! "%sµ¤»ý¤Ë¤ª¤½¤ï¤ì¤¿¤¬¡¤¤¹¤°¤Ë²á¤®¤µ¤Ã¤¿¡¥"; static char *FDECL(mon_nam_too, (char *,struct monst *,struct monst *)); static void FDECL(mrustm, (struct monst *, struct monst *, struct obj *)); *************** *** 42,52 **** { Strcpy(outbuf, mon_nam(mon)); if (mon == other_mon) ! switch (pronoun_gender(mon)) { case 0: Strcpy(outbuf, "himself"); break; case 1: Strcpy(outbuf, "herself"); break; default: Strcpy(outbuf, "itself"); break; ! } return outbuf; } --- 50,61 ---- { Strcpy(outbuf, mon_nam(mon)); if (mon == other_mon) ! Strcpy(outbuf, "¼«Ê¬¼«¿È"); ! /*JP switch (pronoun_gender(mon)) { case 0: Strcpy(outbuf, "himself"); break; case 1: Strcpy(outbuf, "herself"); break; default: Strcpy(outbuf, "itself"); break; ! }*/ return outbuf; } *************** *** 60,68 **** if(flags.soundok && (farq != far_noise || moves-noisetime > 10)) { far_noise = farq; noisetime = moves; ! You_hear("%s%s.", (mattk->aatyp == AT_EXPL) ? "an explosion" : "some noises", ! farq ? " in the distance" : ""); } } --- 69,81 ---- if(flags.soundok && (farq != far_noise || moves-noisetime > 10)) { far_noise = farq; noisetime = moves; ! /*JP You_hear("%s%s.", (mattk->aatyp == AT_EXPL) ? "an explosion" : "some noises", ! farq ? " in the distance" : "");*/ ! You("%s%s¤òʹ¤¤¤¿¡¥", ! farq ? "±ó¤¯¤Ç" : "", ! (mattk->aatyp == AT_EXPL) ? "Çúȯ²»" : "²¿¤«¤¬À臘²»" ! ); } } *************** *** 79,87 **** --- 92,106 ---- if (mdef->m_ap_type) seemimic(mdef); if (magr->m_ap_type) seemimic(magr); fmt = (could_seduce(magr,mdef,mattk) && !magr->mcan) ? + /*JP "%s pretends to be friendly to" : "%s misses"; + */ + "%s¤Ï%%s¤Ëͧ¹¥Åª¤Ê¤Õ¤ê¤ò¤·¤¿¡¥" : "%s¤Î%%s¤Ø¤Î¹¶·â¤Ï³°¤ì¤¿¡¥"; Sprintf(buf, fmt, Monnam(magr)); + /*JP pline("%s %s.", buf, mon_nam_too(mdef_name, mdef, magr)); + */ + pline(buf, mon_nam_too(mdef_name, mdef, magr)); } else noises(magr, mattk); } *************** *** 123,129 **** if(monnear(mtmp,mon->mx,mon->my)) { if(!u.uswallow && (mtmp == u.ustuck)) { if(!rn2(4)) { ! pline("%s releases you!", Monnam(mtmp)); u.ustuck = 0; } else break; --- 142,149 ---- if(monnear(mtmp,mon->mx,mon->my)) { if(!u.uswallow && (mtmp == u.ustuck)) { if(!rn2(4)) { ! /*JP pline("%s releases you!", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ò²òÊü¤·¤¿¡ª", Monnam(mtmp)); u.ustuck = 0; } else break; *************** *** 203,209 **** mdef->mundetected = 0; newsym(mdef->mx, mdef->my); if(canseemon(mdef) && !sensemon(mdef)) ! pline("Suddenly, you notice %s.", a_monnam(mdef)); } /* Elves hate orcs. */ --- 223,230 ---- mdef->mundetected = 0; newsym(mdef->mx, mdef->my); if(canseemon(mdef) && !sensemon(mdef)) ! /*JP pline("Suddenly, you notice %s.", a_monnam(mdef));*/ ! pline("¤¢¤Ê¤¿¤Ï%s¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥", a_monnam(mdef)); } /* Elves hate orcs. */ *************** *** 326,367 **** if(mdef->m_ap_type) seemimic(mdef); if(magr->m_ap_type) seemimic(magr); if((compat = could_seduce(magr,mdef,mattk)) && !magr->mcan) { Sprintf(buf, "%s %s", Monnam(magr), mdef->mcansee ? "smiles at" : "talks to"); pline("%s %s %s.", buf, mon_nam(mdef), compat == 2 ? "engagingly" : "seductively"); } else { char magr_name[BUFSZ]; Strcpy(magr_name, Monnam(magr)); switch (mattk->aatyp) { case AT_BITE: ! Sprintf(buf,"%s bites", magr_name); break; case AT_STNG: ! Sprintf(buf,"%s stings", magr_name); break; case AT_BUTT: ! Sprintf(buf,"%s butts", magr_name); break; case AT_TUCH: ! Sprintf(buf,"%s touches", magr_name); break; case AT_TENT: ! Sprintf(buf, "%s tentacles suck", s_suffix(magr_name)); break; case AT_HUGS: if (magr != u.ustuck) { ! Sprintf(buf,"%s squeezes", magr_name); break; } default: ! Sprintf(buf,"%s hits", magr_name); } } pline("%s %s.", buf, mon_nam_too(mdef_name, mdef, magr)); } else noises(magr, mattk); return(mdamagem(magr, mdef, mattk)); } --- 347,405 ---- if(mdef->m_ap_type) seemimic(mdef); if(magr->m_ap_type) seemimic(magr); if((compat = could_seduce(magr,mdef,mattk)) && !magr->mcan) { + #if 0 /*JP*/ Sprintf(buf, "%s %s", Monnam(magr), mdef->mcansee ? "smiles at" : "talks to"); pline("%s %s %s.", buf, mon_nam(mdef), compat == 2 ? "engagingly" : "seductively"); + #endif + Sprintf(buf, "%s¤Ï%%s¤Ë%%s%s¡¥", Monnam(magr), + mdef->mcansee ? "Èù¾Ð¤ß¤«¤±¤¿" : "Ïä·¤«¤±¤¿"); + pline(buf, mon_nam(mdef), + compat == 2 ? + "Ì¥ÎÏŪ¤Ë" : "ͶÏÇŪ¤Ë"); } else { char magr_name[BUFSZ]; Strcpy(magr_name, Monnam(magr)); switch (mattk->aatyp) { case AT_BITE: ! /*JP Sprintf(buf,"%s bites", magr_name);*/ ! Sprintf(buf,"%s¤Ï%%s¤Ë³ú¤ß¤Ä¤¤¤¿¡¥", magr_name); break; case AT_STNG: ! /*JP Sprintf(buf,"%s stings", magr_name);*/ ! Sprintf(buf,"%s¤Ï%%s¤òÆͤ­¤µ¤·¤¿¡¥", magr_name); break; case AT_BUTT: ! /*JP Sprintf(buf,"%s butts", magr_name);*/ ! Sprintf(buf,"%s¤Ï%%s¤ËƬÆͤ­¤ò¤¯¤é¤ï¤·¤¿¡¥", magr_name); break; case AT_TUCH: ! /*JP Sprintf(buf,"%s touches", magr_name);*/ ! Sprintf(buf,"%s¤Ï%%s¤Ë¿¨¤ì¤¿¡¥", magr_name); break; case AT_TENT: ! /*JP Sprintf(buf, "%s tentacles suck",*/ ! Sprintf(buf, "%s¤Î¿¨¼ê¤¬%%s¤ÎÂαդòµÛ¤¤¤È¤Ã¤¿¡¥", s_suffix(magr_name)); break; case AT_HUGS: if (magr != u.ustuck) { ! /*JP Sprintf(buf,"%s squeezes", magr_name);*/ ! Sprintf(buf,"%s¤Ï%%s¤ò¹Ê¤á¤¿¡¥", magr_name); break; } default: ! /*JP Sprintf(buf,"%s hits", magr_name);*/ ! Sprintf(buf,"%s¤Î%%s¤Ø¤Î¹¶·â¤ÏÌ¿Ã椷¤¿¡¥", magr_name); } + pline(buf, mon_nam_too(mdef_name, mdef, magr)); } + /*JP pline("%s %s.", buf, mon_nam_too(mdef_name, mdef, magr)); + */ } else noises(magr, mattk); return(mdamagem(magr, mdef, mattk)); } *************** *** 375,386 **** char buf[BUFSZ]; if(vis) { ! Sprintf(buf,"%s gazes at", Monnam(magr)); ! pline("%s %s...", buf, mon_nam(mdef)); } if (!mdef->mcansee || mdef->msleep) { ! if(vis) pline("but nothing happens."); return(MM_MISS); } --- 413,427 ---- char buf[BUFSZ]; if(vis) { ! /*JP Sprintf(buf,"%s gazes at", Monnam(magr)); ! pline("%s %s...", buf, mon_nam(mdef));*/ ! Sprintf(buf,"%s¤Ï%%s¤ò¤Ë¤é¤ß¤Ä¤±¤¿¡¥¡¥¡¥", Monnam(magr)); ! pline(buf, mon_nam(mdef)); } if (!mdef->mcansee || mdef->msleep) { ! /*JP if(vis) pline("but nothing happens.");*/ ! if(vis) pline("¤·¤«¤·²¿¤â¤ª¤³¤é¤Ê¤«¤Ã¤¿¡¥"); return(MM_MISS); } *************** *** 401,408 **** if (mdef->data->msize >= MZ_HUGE) return MM_MISS; if (vis) { ! Sprintf(buf,"%s swallows", Monnam(magr)); ! pline("%s %s.", buf, mon_nam(mdef)); } for (obj = mdef->minvent; obj; obj = obj->nobj) (void) snuff_lit(obj); --- 442,451 ---- if (mdef->data->msize >= MZ_HUGE) return MM_MISS; if (vis) { ! /*JP Sprintf(buf,"%s swallows", Monnam(magr)); ! pline("%s %s.", buf, mon_nam(mdef));*/ ! Sprintf(buf,"%s¤Ï%%s¤ò¤°¤Ã¤È°û¤ß¤³¤ó¤À¡¥", Monnam(magr)); ! pline(buf, mon_nam(mdef)); } for (obj = mdef->minvent; obj; obj = obj->nobj) (void) snuff_lit(obj); *************** *** 445,451 **** } else { /* both alive, put them back */ if (cansee(dx, dy)) ! pline("%s is regurgitated!", Monnam(mdef)); place_monster(magr, ax, ay); place_monster(mdef, dx, dy); --- 488,495 ---- } else { /* both alive, put them back */ if (cansee(dx, dy)) ! /*JP pline("%s is regurgitated!", Monnam(mdef));*/ ! pline("%s¤ÏÅǤ­Ìᤵ¤ì¤¿¡ª", Monnam(mdef)); place_monster(magr, ax, ay); place_monster(mdef, dx, dy); *************** *** 464,470 **** int result; if(cansee(magr->mx, magr->my)) ! pline("%s explodes!", Monnam(magr)); else noises(magr, mattk); result = mdamagem(magr, mdef, mattk); --- 508,515 ---- int result; if(cansee(magr->mx, magr->my)) ! /*JP pline("%s explodes!", Monnam(magr));*/ ! pline("%s¤ÏÇúȯ¤·¤¿¡ª", Monnam(magr)); else noises(magr, mattk); result = mdamagem(magr, mdef, mattk); *************** *** 475,482 **** if (magr->mhp > 0) return result; /* life saved */ result |= MM_AGR_DIED; } ! if (magr->mtame) /* give this one even if it was visible */ ! You(brief_feeling, "melancholy"); return result; } --- 520,544 ---- if (magr->mhp > 0) return result; /* life saved */ result |= MM_AGR_DIED; } ! if (magr->mtame){ /* give this one even if it was visible */ ! /*JP You(brief_feeling, "melancholy");*/ ! if(!Hallucination) ! You(brief_feeling, "¤â¤ÎÈᤷ¤¤"); ! else{ ! switch(rn2(3)){ ! case 0: ! /*By Shigehiro Miyashita*/ ! You(brief_feeling, ! rn2(2) ? "²£»³ÃÒº´¤Î¥µ¥¤¥ó²ñ¤Ë»²²Ã¤·¤Æ¤ë¤è¤¦¤Ê" : ! "À¾¸¶µ×Èþ»Ò¤Î¥µ¥¤¥ó²ñ¤Ë»²²Ã¤·¤Æ¤¤¤ë¤è¤¦¤Ê"); ! break; ! default: ! /*By Issei Numata*/ ! You(brief_feeling, "½½»°Ï¢º¿¤ò¤¯¤é¤Ã¤¿¤è¤¦¤Ê"); ! break; ! } ! } ! } return result; } *************** *** 501,511 **** mon_to_stone(magr); return MM_HIT; /* no damage during the polymorph */ } ! if (vis) pline("%s turns to stone!", Monnam(magr)); monstone(magr); if (magr->mhp > 0) return 0; else if (magr->mtame && !vis) ! You(brief_feeling, "peculiarly sad"); return MM_AGR_DIED; } --- 563,575 ---- mon_to_stone(magr); return MM_HIT; /* no damage during the polymorph */ } ! /*JP if (vis) pline("%s turns to stone!", Monnam(magr));*/ ! if (vis) pline("%s¤ÏÀФˤʤä¿¡ª", Monnam(magr)); monstone(magr); if (magr->mhp > 0) return 0; else if (magr->mtame && !vis) ! /*JP You(brief_feeling, "peculiarly sad");*/ ! You(brief_feeling, "¤È¤Æ¤âÈᤷ¤¤"); return MM_AGR_DIED; } *************** *** 514,537 **** /* eating a Rider or its corpse is fatal */ if (is_rider(mdef->data)) { if (vis) ! pline("%s %s!", Monnam(magr), mdef->data == &mons[PM_FAMINE] ? "belches feebly, shrivels up and dies" : mdef->data == &mons[PM_PESTILENCE] ? "coughs spasmodically and collapses" : ! "vomits violently and drops dead"); mondied(magr); if (magr->mhp > 0) return 0; /* lifesaved */ else if (magr->mtame && !vis) ! You(brief_feeling, "queasy"); return MM_AGR_DIED; } ! if(flags.verbose && flags.soundok) verbalize("Burrrrp!"); tmp = mdef->mhp; break; case AD_STUN: if (magr->mcan) break; ! if(vis) pline("%s staggers for a moment.", Monnam(mdef)); mdef->mstun = 1; /* fall through */ case AD_WERE: --- 578,610 ---- /* eating a Rider or its corpse is fatal */ if (is_rider(mdef->data)) { if (vis) ! /*JP pline("%s %s!", Monnam(magr), mdef->data == &mons[PM_FAMINE] ? "belches feebly, shrivels up and dies" : mdef->data == &mons[PM_PESTILENCE] ? "coughs spasmodically and collapses" : ! "vomits violently and drops dead");*/ ! pline("%s%s¡ª", Monnam(magr), ! mdef->data == &mons[PM_FAMINE] ? ! "¼å¡¹¤·¤¯ÅǤ­¤â¤É¤·¤¿¤«¤È»×¤¦¤È¡¤ÂΤ¬¤·¤Ü¤ß»à¤ó¤Ç¤·¤Þ¤Ã¤¿" : ! mdef->data == &mons[PM_PESTILENCE] ? ! "áÛÚ»¤·¤¿¤è¤¦¤Ë¤»¤­¤³¤ßÅݤ줿" : ! "·ã¤·¤¯ÓÒÅǤ·»à¤ó¤À"); mondied(magr); if (magr->mhp > 0) return 0; /* lifesaved */ else if (magr->mtame && !vis) ! /*JP You(brief_feeling, "queasy");*/ ! You(brief_feeling, "É԰¤Ê"); return MM_AGR_DIED; } ! /*JP if(flags.verbose && flags.soundok) verbalize("Burrrrp!");*/ ! if(flags.verbose && flags.soundok) verbalize("¤²¤Ã¤×¡ª"); tmp = mdef->mhp; break; case AD_STUN: if (magr->mcan) break; ! /*JP if(vis) pline("%s staggers for a moment.", Monnam(mdef));*/ ! if(vis) pline("%s¤Ïáã¤ì¤¿¡¥", Monnam(mdef)); mdef->mstun = 1; /* fall through */ case AD_WERE: *************** *** 563,576 **** break; } if (vis) ! pline("%s is %s!", Monnam(mdef), mattk->aatyp == AT_HUGS ? ! "being roasted" : "on fire"); tmp += destroy_mitem(mdef, SCROLL_CLASS, AD_FIRE); tmp += destroy_mitem(mdef, SPBOOK_CLASS, AD_FIRE); if (resists_fire(mdef)) { if (vis) ! pline_The("fire doesn't seem to burn %s!", mon_nam(mdef)); shieldeff(mdef->mx, mdef->my); golemeffects(mdef, AD_FIRE, tmp); --- 636,653 ---- break; } if (vis) ! /*JP pline("%s is %s!", Monnam(mdef), ! mattk->aatyp == AT_HUGS ? ! "being roasted" : "on fire");*/ ! pline("%s¤Ï%s¤Ë¤Ê¤Ã¤¿¡ª", Monnam(mdef), mattk->aatyp == AT_HUGS ? ! "´Ý¾Æ¤±" : "²Ð¤À¤ë¤Þ"); tmp += destroy_mitem(mdef, SCROLL_CLASS, AD_FIRE); tmp += destroy_mitem(mdef, SPBOOK_CLASS, AD_FIRE); if (resists_fire(mdef)) { if (vis) ! /*JP pline_The("fire doesn't seem to burn %s!",*/ ! pline("%s¤Ï±ê¤Çdz¤¨¤Ê¤¤¤è¤¦¤À¡ª", mon_nam(mdef)); shieldeff(mdef->mx, mdef->my); golemeffects(mdef, AD_FIRE, tmp); *************** *** 584,593 **** tmp = 0; break; } ! if (vis) pline("%s is covered in frost!", Monnam(mdef)); if (resists_cold(mdef)) { if (vis) ! pline_The("frost doesn't seem to chill %s!", mon_nam(mdef)); shieldeff(mdef->mx, mdef->my); golemeffects(mdef, AD_COLD, tmp); --- 661,672 ---- tmp = 0; break; } ! /*JP if (vis) pline("%s is covered in frost!", Monnam(mdef));*/ ! if (vis) pline("%s¤Ïɹ¤Çʤ¤ï¤ì¤¿¡ª", Monnam(mdef)); if (resists_cold(mdef)) { if (vis) ! /*JP pline_The("frost doesn't seem to chill %s!",*/ ! pline("ɹ¤Ï%s¤òÅà¤é¤¹¤³¤È¤¬¤Ç¤­¤Ê¤¤¤è¤¦¤À¡ª", mon_nam(mdef)); shieldeff(mdef->mx, mdef->my); golemeffects(mdef, AD_COLD, tmp); *************** *** 600,609 **** tmp = 0; break; } ! if (vis) pline("%s gets zapped!", Monnam(mdef)); tmp += destroy_mitem(mdef, WAND_CLASS, AD_ELEC); if (resists_elec(mdef)) { ! if (vis) pline_The("zap doesn't shock %s!", mon_nam(mdef)); shieldeff(mdef->mx, mdef->my); golemeffects(mdef, AD_ELEC, tmp); tmp = 0; --- 679,690 ---- tmp = 0; break; } ! /*JP if (vis) pline("%s gets zapped!", Monnam(mdef));*/ ! if (vis) pline("%s¤Ï¾×·â¤ò¤¯¤é¤Ã¤¿¡ª", Monnam(mdef)); tmp += destroy_mitem(mdef, WAND_CLASS, AD_ELEC); if (resists_elec(mdef)) { ! /*JP if (vis) pline_The("zap doesn't shock %s!", mon_nam(mdef));*/ ! if (vis) pline("¾×·â¤Ï%s¤Ë±Æ¶Á¤òÍ¿¤¨¤Ê¤¤¡ª", mon_nam(mdef)); shieldeff(mdef->mx, mdef->my); golemeffects(mdef, AD_ELEC, tmp); tmp = 0; *************** *** 618,638 **** } if (resists_acid(mdef)) { if (vis) ! pline("%s is covered in acid, but it seems harmless.", Monnam(mdef)); tmp = 0; } else if (vis) { ! pline("%s is covered in acid!", Monnam(mdef)); ! pline("It burns %s!", mon_nam(mdef)); } break; case AD_RUST: if (!magr->mcan && pd == &mons[PM_IRON_GOLEM]) { ! if (vis) pline("%s falls to pieces!", Monnam(mdef)); mondied(mdef); if (mdef->mhp > 0) return 0; else if (mdef->mtame && !vis) pline("May %s rust in peace.", mon_nam(mdef)); return (MM_DEF_DIED | (grow_up(magr,mdef) ? 0 : MM_AGR_DIED)); } --- 699,725 ---- } if (resists_acid(mdef)) { if (vis) ! /*JP pline("%s is covered in acid, but it seems harmless.",*/ ! pline("%s¤Ï»À¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡¥¤·¤«¤·½ý¤Ä¤«¤Ê¤¤¡¥", Monnam(mdef)); tmp = 0; } else if (vis) { ! /*JP pline("%s is covered in acid!", Monnam(mdef)); ! pline("It burns %s!", mon_nam(mdef));*/ ! pline("%s¤Ï»À¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡ª", Monnam(mdef)); ! pline("%s¤òdz¤ä¤·¤¿¡ª", mon_nam(mdef)); } break; case AD_RUST: if (!magr->mcan && pd == &mons[PM_IRON_GOLEM]) { ! /*JP if (vis) pline("%s falls to pieces!", Monnam(mdef));*/ ! if (vis) pline("%s¤Ï¥Ð¥é¥Ð¥é¤Ë¤Ê¤Ã¤¿¡ª", Monnam(mdef)); mondied(mdef); if (mdef->mhp > 0) return 0; else if (mdef->mtame && !vis) pline("May %s rust in peace.", mon_nam(mdef)); + /*JP pline("May %s rust in peace.", mon_nam(mdef));*/ + pline("%s¤Ï¥Ð¥é¥Ð¥é¤Ë¤Ê¤Ã¤Æ»¬¤Ó¤¿¡¥", mon_nam(mdef)); return (MM_DEF_DIED | (grow_up(magr,mdef) ? 0 : MM_AGR_DIED)); } *************** *** 641,651 **** case AD_DCAY: if (!magr->mcan && (pd == &mons[PM_WOOD_GOLEM] || pd == &mons[PM_LEATHER_GOLEM])) { ! if (vis) pline("%s falls to pieces!", Monnam(mdef)); mondied(mdef); if (mdef->mhp > 0) return 0; else if (mdef->mtame && !vis) ! pline("May %s rot in peace.", mon_nam(mdef)); return (MM_DEF_DIED | (grow_up(magr,mdef) ? 0 : MM_AGR_DIED)); } --- 728,740 ---- case AD_DCAY: if (!magr->mcan && (pd == &mons[PM_WOOD_GOLEM] || pd == &mons[PM_LEATHER_GOLEM])) { ! /*JP if (vis) pline("%s falls to pieces!", Monnam(mdef));*/ ! if (vis) pline("%s¤Ï¥Ð¥é¥Ð¥é¤Ë¤Ê¤Ã¤¿¡ª", Monnam(mdef)); mondied(mdef); if (mdef->mhp > 0) return 0; else if (mdef->mtame && !vis) ! /*JP pline("May %s rot in peace.", mon_nam(mdef));*/ ! pline("%s¤Ï¥Ð¥é¥Ð¥é¤Ë¤Ê¤Ã¤ÆÉå¤Ã¤¿¡¥", mon_nam(mdef)); return (MM_DEF_DIED | (grow_up(magr,mdef) ? 0 : MM_AGR_DIED)); } *************** *** 661,671 **** break; } if (!resists_ston(mdef)) { ! if (vis) pline("%s turns to stone!", Monnam(mdef)); monstone(mdef); label2: if (mdef->mhp > 0) return 0; else if (mdef->mtame && !vis) ! You(brief_feeling, "peculiarly sad"); return (MM_DEF_DIED | (grow_up(magr,mdef) ? 0 : MM_AGR_DIED)); } --- 750,761 ---- break; } if (!resists_ston(mdef)) { ! /*JP if (vis) pline("%s turns to stone!", Monnam(mdef));*/ ! if (vis) pline("%s¤ÏÀФˤʤä¿¡ª", Monnam(mdef)); monstone(mdef); label2: if (mdef->mhp > 0) return 0; else if (mdef->mtame && !vis) ! You(brief_feeling, "¤â¤ÎÈᤷ¤¤"); return (MM_DEF_DIED | (grow_up(magr,mdef) ? 0 : MM_AGR_DIED)); } *************** *** 679,685 **** if (vis) Strcpy(mdef_Monnam, Monnam(mdef)); rloc(mdef); if (vis && !cansee(mdef->mx, mdef->my)) ! pline("%s suddenly disappears!", mdef_Monnam); } break; case AD_SLEE: --- 769,776 ---- if (vis) Strcpy(mdef_Monnam, Monnam(mdef)); rloc(mdef); if (vis && !cansee(mdef->mx, mdef->my)) ! /*JP pline("%s suddenly disappears!", mdef_Monnam);*/ ! pline("%s¤ÏÆÍÁ³¾Ã¤¨¤¿¡ª", Monnam(mdef)); } break; case AD_SLEE: *************** *** 687,693 **** sleep_monst(mdef, rnd(10), -1)) { if (vis) { Strcpy(buf, Monnam(mdef)); ! pline("%s is put to sleep by %s.", buf, mon_nam(magr)); } slept_monst(mdef); } --- 778,785 ---- sleep_monst(mdef, rnd(10), -1)) { if (vis) { Strcpy(buf, Monnam(mdef)); ! /*JP pline("%s is put to sleep by %s.", buf, mon_nam(magr));*/ ! pline("%s¤Ï%s¤Ë¤è¤Ã¤Æ̲¤é¤µ¤ì¤¿¡¥", buf, mon_nam(magr)); } slept_monst(mdef); } *************** *** 696,702 **** if(!magr->mcan && mdef->mcanmove) { if (vis) { Strcpy(buf, Monnam(mdef)); ! pline("%s is frozen by %s.", buf, mon_nam(magr)); } mdef->mcanmove = 0; mdef->mfrozen = rnd(10); --- 788,795 ---- if(!magr->mcan && mdef->mcanmove) { if (vis) { Strcpy(buf, Monnam(mdef)); ! /*JP pline("%s is frozen by %s.", buf, mon_nam(magr));*/ ! pline("%s¤Ï%s¤Ë¤è¤Ã¤ÆÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡¥", buf, mon_nam(magr)); } mdef->mcanmove = 0; mdef->mfrozen = rnd(10); *************** *** 704,710 **** break; case AD_SLOW: if(!magr->mcan && vis && mdef->mspeed != MSLOW) { ! if (vis) pline("%s slows down.", Monnam(mdef)); if (mdef->mspeed == MFAST) mdef->mspeed = 0; else mdef->mspeed = MSLOW; } --- 797,804 ---- break; case AD_SLOW: if(!magr->mcan && vis && mdef->mspeed != MSLOW) { ! /*JP if (vis) pline("%s slows down.", Monnam(mdef));*/ ! if (vis) pline("%s¤ÏÆ°ºî¤¬¤Î¤í¤¯¤Ê¤Ã¤¿¡¥", Monnam(mdef)); if (mdef->mspeed == MFAST) mdef->mspeed = 0; else mdef->mspeed = MSLOW; } *************** *** 715,721 **** * we still should check for it). */ if (!magr->mcan && !mdef->mconf && !magr->mspec_used) { ! if (vis) pline("%s looks confused.", Monnam(mdef)); mdef->mconf = 1; } break; --- 809,816 ---- * we still should check for it). */ if (!magr->mcan && !mdef->mconf && !magr->mspec_used) { ! /*JP if (vis) pline("%s looks confused.", Monnam(mdef));*/ ! if (vis) pline("%s¤Ïº®Í𤷤Ƥ¤¤ë¤è¤¦¤Ë¸«¤¨¤ë¡¥", Monnam(mdef)); mdef->mconf = 1; } break; *************** *** 724,730 **** register unsigned rnd_tmp; if (vis) ! pline("%s is blinded.", Monnam(mdef)); rnd_tmp = d((int)mattk->damn, (int)mattk->damd); if ((rnd_tmp += mdef->mblinded) > 127) rnd_tmp = 127; mdef->mblinded = rnd_tmp; --- 819,826 ---- register unsigned rnd_tmp; if (vis) ! /*JP pline("%s is blinded.", Monnam(mdef));*/ ! pline("%s¤ÏÌܤ¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡¥", Monnam(mdef)); rnd_tmp = d((int)mattk->damn, (int)mattk->damd); if ((rnd_tmp += mdef->mblinded) > 127) rnd_tmp = 127; mdef->mblinded = rnd_tmp; *************** *** 734,741 **** break; case AD_HALU: if (!magr->mcan && haseyes(pd) && mdef->mcansee) { ! if (vis) pline("%s looks %sconfused.", ! Monnam(mdef), mdef->mconf ? "more " : ""); mdef->mconf = 1; } tmp = 0; --- 830,839 ---- break; case AD_HALU: if (!magr->mcan && haseyes(pd) && mdef->mcansee) { ! /*JP if (vis) pline("%s looks %sconfused.", ! Monnam(mdef), mdef->mconf ? "more " : "");*/ ! if (vis) pline("%s¤Ï%sº®Í𤷤Ƥ¤¤ë¤è¤¦¤Ë¸«¤¨¤ë¡¥", ! Monnam(mdef), mdef->mconf ? "¤Þ¤¹¤Þ¤¹" : ""); mdef->mconf = 1; } tmp = 0; *************** *** 748,767 **** were_change(mdef); if (pd == &mons[PM_CLAY_GOLEM]) { if (vis) { ! pline("Some writing vanishes from %s head!", s_suffix(mon_nam(mdef))); ! pline("%s is destroyed!", Monnam(mdef)); } mondied(mdef); if (mdef->mhp > 0) return 0; else if (mdef->mtame && !vis) ! You(brief_feeling, "strangely sad"); return (MM_DEF_DIED | (grow_up(magr,mdef) ? 0 : MM_AGR_DIED)); } if (flags.soundok) { ! if (!vis) You_hear("laughter."); ! else pline("%s chuckles.", Monnam(magr)); } } break; --- 846,870 ---- were_change(mdef); if (pd == &mons[PM_CLAY_GOLEM]) { if (vis) { ! /*JP pline("Some writing vanishes from %s head!",*/ ! pline("²¿¤«¤Îʸ»ú¤¬%s¤ÎƬ¤«¤é¾Ã¤¨¤¿¡ª", s_suffix(mon_nam(mdef))); ! /*JP pline("%s is destroyed!", Monnam(mdef));*/ ! pline("%s¤ÏÇ˲õ¤µ¤ì¤¿¡ª", Monnam(mdef)); } mondied(mdef); if (mdef->mhp > 0) return 0; else if (mdef->mtame && !vis) ! /*JP You(brief_feeling, "strangely sad");*/ ! You(brief_feeling, "̯¤ËÈᤷ¤¤"); return (MM_DEF_DIED | (grow_up(magr,mdef) ? 0 : MM_AGR_DIED)); } if (flags.soundok) { ! /*JP if (!vis) You_hear("laughter."); ! else pline("%s chuckles.", Monnam(magr));*/ ! if (!vis) You("¾Ð¤¤À¼¤òʹ¤¤¤¿¡¥"); ! else pline("%s¤Ï¤¯¤¹¤¯¤¹¾Ð¤Ã¤¿¡¥", Monnam(magr)); } } break; *************** *** 775,781 **** mdef->mgold = 0; if (vis) { Strcpy(buf, Monnam(magr)); ! pline("%s steals some gold from %s.", buf, mon_nam(mdef)); } break; --- 878,885 ---- mdef->mgold = 0; if (vis) { Strcpy(buf, Monnam(magr)); ! /*JP pline("%s steals some gold from %s.", buf,*/ ! pline("%s¤Ï%s¤«¤é¶â¤òÃ¥¤¤¤È¤Ã¤¿¡¥", buf, mon_nam(mdef)); } break; *************** *** 783,789 **** if (rn2(2) && !resists_drli(mdef)) { tmp = d(2,6); if (vis) ! pline("%s suddenly seems weaker!", Monnam(mdef)); mdef->mhpmax -= tmp; if (mdef->m_lev == 0) tmp = mdef->mhp; --- 887,894 ---- if (rn2(2) && !resists_drli(mdef)) { tmp = d(2,6); if (vis) ! /*JP pline("%s suddenly seems weaker!", Monnam(mdef));*/ ! pline("%s¤ÏÆÍÁ³¼å¤¯¤Ê¤Ã¤¿¤è¤¦¤Ë¸«¤¨¤¿¡ª", Monnam(mdef)); mdef->mhpmax -= tmp; if (mdef->m_lev == 0) tmp = mdef->mhp; *************** *** 812,818 **** add_to_minv(magr, otmp); if (vis) { Strcpy(buf, Monnam(magr)); ! pline("%s steals %s from %s!", buf, onambuf, mon_nam(mdef)); } possibly_unwield(mdef); --- 917,924 ---- add_to_minv(magr, otmp); if (vis) { Strcpy(buf, Monnam(magr)); ! /*JP pline("%s steals %s from %s!", buf,*/ ! pline("%s¤Ï%s¤ò%s¤«¤éÅð¤ó¤À¡ª", buf, onambuf, mon_nam(mdef)); } possibly_unwield(mdef); *************** *** 828,843 **** case AD_DRCO: if (!magr->mcan && !rn2(8)) { if (vis) ! pline("%s %s was poisoned!", s_suffix(Monnam(magr)), mpoisons_subj(magr, mattk)); if (resists_poison(mdef)) { if (vis) ! pline_The("poison doesn't seem to affect %s.", mon_nam(mdef)); } else { if (rn2(10)) tmp += rn1(10,6); else { ! if (vis) pline_The("poison was deadly..."); tmp = mdef->mhp; } } --- 934,952 ---- case AD_DRCO: if (!magr->mcan && !rn2(8)) { if (vis) ! /*JP pline("%s %s was poisoned!", s_suffix(Monnam(magr)),*/ ! pline("%s¤Î%s¤ÏÆǤµ¤ì¤Æ¤¤¤ë¡ª", s_suffix(Monnam(magr)), mpoisons_subj(magr, mattk)); if (resists_poison(mdef)) { if (vis) ! /*JP pline_The("poison doesn't seem to affect %s.",*/ ! pline("%s¤ÏÆǤαƶÁ¤òÍ¿¤¨¤Ê¤¤¡¥", mon_nam(mdef)); } else { if (rn2(10)) tmp += rn1(10,6); else { ! /*JP if (vis) pline_The("poison was deadly...");*/ ! if (vis) pline("ÆǤǻà¤Ë¤«¤±¤Æ¤¤¤ë¡¥¡¥¡¥"); tmp = mdef->mhp; } } *************** *** 845,865 **** break; case AD_DRIN: if (!has_head(pd)) { ! if (vis) pline("%s doesn't seem harmed.", Monnam(mdef)); tmp = 0; break; } if ((mdef->misc_worn_check & W_ARMH) && rn2(8)) { if (vis) { Strcpy(buf, s_suffix(Monnam(mdef))); ! pline("%s helmet blocks %s attack to his head.", buf, s_suffix(mon_nam(magr))); } break; } ! if (vis) pline("%s brain is eaten!", s_suffix(Monnam(mdef))); if (mindless(pd)) { ! if (vis) pline("%s doesn't notice.", Monnam(mdef)); break; } tmp += rnd(10); /* fakery, since monsters lack INT scores */ --- 954,978 ---- break; case AD_DRIN: if (!has_head(pd)) { ! /*JP if (vis) pline("%s doesn't seem harmed.", Monnam(mdef));*/ ! if (vis) pline("%s¤Ï½ý¤Ä¤¤¤¿¤è¤¦¤Ë¤Ï¸«¤¨¤Ê¤¤¡¥", Monnam(mdef)); tmp = 0; break; } if ((mdef->misc_worn_check & W_ARMH) && rn2(8)) { if (vis) { Strcpy(buf, s_suffix(Monnam(mdef))); ! /*JP pline("%s helmet blocks %s attack to his head.",*/ ! pline("%s¤Î³õ¤Ï%s¤ÎƬ¤Ø¤Î¹¶·â¤òËɤ¤¤À¡¥", buf, s_suffix(mon_nam(magr))); } break; } ! /*JP if (vis) pline("%s brain is eaten!", s_suffix(Monnam(mdef)));*/ ! if (vis) pline("%s¤ÎǾ¤Ï¿©¤Ù¤é¤ì¤¿¡ª", s_suffix(Monnam(mdef))); if (mindless(pd)) { ! /*JP if (vis) pline("%s doesn't notice.", Monnam(mdef));*/ ! if (vis) pline("%s¤Ïµ¤¤¬¤Ä¤«¤Ê¤¤¡¥", Monnam(mdef)); break; } tmp += rnd(10); /* fakery, since monsters lack INT scores */ *************** *** 868,874 **** magr->mconf = 0; } if (tmp >= mdef->mhp && vis) ! pline("%s last thought fades away...", s_suffix(Monnam(mdef))); break; case AD_STCK: --- 981,988 ---- magr->mconf = 0; } if (tmp >= mdef->mhp && vis) ! /*JP pline("%s last thought fades away...",*/ ! pline("%s¤ÎºÇ¸å¤Î»×¤¤¤¬¤è¤³¤®¤ë¡¥¡¥¡¥", s_suffix(Monnam(mdef))); break; case AD_STCK: *************** *** 937,943 **** { if ((mon->msleep || !mon->mcanmove) && mon == u.ustuck && !sticks(uasmon) && !u.uswallow) { ! pline("%s grip relaxes.", s_suffix(Monnam(mon))); unstuck(mon); } } --- 1051,1058 ---- { if ((mon->msleep || !mon->mcanmove) && mon == u.ustuck && !sticks(uasmon) && !u.uswallow) { ! /*JP pline("%s grip relaxes.", s_suffix(Monnam(mon)));*/ ! pline("%s¤Ï¤¦¤Ä¤í¤Ë¤Ê¤Ã¤¿¡¥", s_suffix(Monnam(mon))); unstuck(mon); } } *************** *** 955,968 **** is_rustprone(obj) && obj->oeroded < MAX_ERODE) { if (obj->greased || obj->oerodeproof || (obj->blessed && rn2(3))) { if (cansee(mdef->mx, mdef->my) && flags.verbose) ! pline("%s weapon is not affected.", s_suffix(Monnam(magr))); if (obj->greased && !rn2(2)) obj->greased = 0; } else { if (cansee(mdef->mx, mdef->my)) { ! pline("%s %s%s!", s_suffix(Monnam(magr)), aobjnam(obj, "rust"), ! obj->oeroded ? " further" : ""); } obj->oeroded++; } --- 1070,1087 ---- is_rustprone(obj) && obj->oeroded < MAX_ERODE) { if (obj->greased || obj->oerodeproof || (obj->blessed && rn2(3))) { if (cansee(mdef->mx, mdef->my) && flags.verbose) ! /*JP pline("%s weapon is not affected.",*/ ! pline("%s¤ÎÉð´ï¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡¥", s_suffix(Monnam(magr))); if (obj->greased && !rn2(2)) obj->greased = 0; } else { if (cansee(mdef->mx, mdef->my)) { ! /*JP pline("%s %s%s!", s_suffix(Monnam(magr)), aobjnam(obj, "rust"), ! obj->oeroded ? " further" : "");*/ ! pline("%s¤Î%s¤Ï%s»¬¤Ó¤¿¡ª", s_suffix(Monnam(magr)), ! xname(obj), ! obj->oeroded ? "¤µ¤é¤Ë" : ""); } obj->oeroded++; } *************** *** 977,985 **** char buf[BUFSZ]; Strcpy(buf, mon_nam(mdef)); if (!flags.verbose || Blind) return; ! pline("%s %s %s %s at %s.", Monnam(magr), (objects[otemp->otyp].oc_dir & PIERCE) ? "thrusts" : "swings", ! his[pronoun_gender(magr)], xname(otemp), buf); } /* --- 1096,1109 ---- char buf[BUFSZ]; Strcpy(buf, mon_nam(mdef)); if (!flags.verbose || Blind) return; ! /*JP pline("%s %s %s %s at %s.", Monnam(magr), (objects[otemp->otyp].oc_dir & PIERCE) ? "thrusts" : "swings", ! his[pronoun_gender(magr)], xname(otemp), buf);*/ ! pline("%s¤Ï%s%s%s¤ò%s", Monnam(magr), ! xname(otemp), ! (objects[otemp->otyp].oc_dir & PIERCE) ? "¤Ç" : "¤ò¿¶¤ê¤Þ¤ï¤·", ! buf, ! (objects[otemp->otyp].oc_dir & PIERCE) ? "Æͤ¤¤¿" : "¹¶·â¤·¤¿"); } /* *************** *** 1015,1025 **** if (mhit && !rn2(2)) { Strcpy(buf, Monnam(magr)); if(canseemon(magr)) ! pline("%s is splashed by %s acid!", buf, s_suffix(mon_nam(mdef))); if (resists_acid(magr)) { if(canseemon(magr)) ! pline("%s is not affected.", Monnam(magr)); tmp = 0; } } else tmp = 0; --- 1139,1151 ---- if (mhit && !rn2(2)) { Strcpy(buf, Monnam(magr)); if(canseemon(magr)) ! /*JP pline("%s is splashed by %s acid!",*/ ! pline("%s¤Ï%s¤Î»À¤òÍá¤Ó¤¿¡ª", buf, s_suffix(mon_nam(mdef))); if (resists_acid(magr)) { if(canseemon(magr)) ! /*JP pline("%s is not affected.", Monnam(magr));*/ ! pline("%s¤Ï±Æ¶Á¤ò¤¦¤±¤Ê¤¤¡¥", Monnam(magr)); tmp = 0; } } else tmp = 0; *************** *** 1037,1050 **** if (!rn2(4)) tmp = 127; if (magr->mcansee && haseyes(madat) && mdef->mcansee && (perceives(madat) || !mdef->minvis)) { ! Sprintf(buf, "%s gaze is reflected by %%s %%s.", s_suffix(mon_nam(mdef))); if (mon_reflects(magr, canseemon(magr) ? buf : (char *)0)) return(mdead|mhit); Strcpy(buf, Monnam(magr)); if(canseemon(magr)) ! pline("%s is frozen by %s gaze!", buf, s_suffix(mon_nam(mdef))); magr->mcanmove = 0; magr->mfrozen = tmp; --- 1163,1178 ---- if (!rn2(4)) tmp = 127; if (magr->mcansee && haseyes(madat) && mdef->mcansee && (perceives(madat) || !mdef->minvis)) { ! /*JP Sprintf(buf, "%s gaze is reflected by %%s %%s.",*/ ! Sprintf(buf, "%s¤Î¤Ë¤é¤ß¤Ï%%s¤Ë¤è¤Ã¤Æ%%s¡¥", s_suffix(mon_nam(mdef))); if (mon_reflects(magr, canseemon(magr) ? buf : (char *)0)) return(mdead|mhit); Strcpy(buf, Monnam(magr)); if(canseemon(magr)) ! /*JP pline("%s is frozen by %s gaze!",*/ ! pline("%s¤Ï%s¤Î¤Ë¤é¤ß¤ÇÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡ª", buf, s_suffix(mon_nam(mdef))); magr->mcanmove = 0; magr->mfrozen = tmp; *************** *** 1053,1059 **** } else { /* gelatinous cube */ Strcpy(buf, Monnam(magr)); if(canseemon(magr)) ! pline("%s is frozen by %s.", buf, mon_nam(mdef)); magr->mcanmove = 0; magr->mfrozen = tmp; return (mdead|mhit); --- 1181,1188 ---- } else { /* gelatinous cube */ Strcpy(buf, Monnam(magr)); if(canseemon(magr)) ! /*JP pline("%s is frozen by %s.", buf, mon_nam(mdef));*/ ! pline("%s¤Ï%s¤Ë¤è¤Ã¤ÆÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡¥", buf, mon_nam(mdef)); magr->mcanmove = 0; magr->mfrozen = tmp; return (mdead|mhit); *************** *** 1062,1075 **** case AD_COLD: if (resists_cold(magr)) { if (canseemon(magr)) { ! pline("%s is mildly chilly.", Monnam(magr)); golemeffects(magr, AD_COLD, tmp); } tmp = 0; break; } if(canseemon(magr)) ! pline("%s is suddenly very cold!", Monnam(magr)); mdef->mhp += tmp / 2; if (mdef->mhpmax < mdef->mhp) mdef->mhpmax = mdef->mhp; if (mdef->mhpmax > ((int) (mdef->m_lev+1) * 8)) { --- 1191,1206 ---- case AD_COLD: if (resists_cold(magr)) { if (canseemon(magr)) { ! /*JP pline("%s is mildly chilly.", Monnam(magr));*/ ! pline("%s¤ÏÎ䤨¤¿¡¥", Monnam(magr)); golemeffects(magr, AD_COLD, tmp); } tmp = 0; break; } if(canseemon(magr)) ! /*JP pline("%s is suddenly very cold!", Monnam(magr));*/ ! pline("%s¤ÏÆÍÁ³Åà¤ê¤Å¤±¤Ë¤Ê¤Ã¤¿¡ª", Monnam(magr)); mdef->mhp += tmp / 2; if (mdef->mhpmax < mdef->mhp) mdef->mhpmax = mdef->mhp; if (mdef->mhpmax > ((int) (mdef->m_lev+1) * 8)) { *************** *** 1079,1085 **** mtmp->mhpmax = mdef->mhpmax /= 2; if(canseemon(magr)) { Strcpy(buf, Monnam(mdef)); ! pline("%s multiplies from %s heat!", buf, s_suffix(mon_nam(magr))); } } --- 1210,1217 ---- mtmp->mhpmax = mdef->mhpmax /= 2; if(canseemon(magr)) { Strcpy(buf, Monnam(mdef)); ! /*JP pline("%s multiplies from %s heat!",*/ ! pline("%s¤Ï%s¤ÎÇ®¤ÇʬÎö¤·¤¿¡ª", buf, s_suffix(mon_nam(magr))); } } *************** *** 1089,1121 **** if (!magr->mstun) { magr->mstun = 1; if (canseemon(magr)) ! pline("%s staggers...", Monnam(magr)); } tmp = 0; break; case AD_FIRE: if (resists_fire(magr)) { if (canseemon(magr)) { ! pline("%s is mildly warmed.", Monnam(magr)); golemeffects(magr, AD_FIRE, tmp); } tmp = 0; break; } if(canseemon(magr)) ! pline("%s is suddenly very hot!", Monnam(magr)); break; case AD_ELEC: if (resists_elec(magr)) { if (canseemon(magr)) { ! pline("%s is mildly tingled.", Monnam(magr)); golemeffects(magr, AD_ELEC, tmp); } tmp = 0; break; } if(canseemon(magr)) ! pline("%s is jolted with electricity!", Monnam(magr)); break; default: tmp = 0; break; --- 1221,1258 ---- if (!magr->mstun) { magr->mstun = 1; if (canseemon(magr)) ! /*JP pline("%s staggers...", Monnam(magr));*/ ! pline("%s¤Ï¤¯¤é¤¯¤é¤·¤¿¡¥¡¥¡¥", Monnam(magr)); } tmp = 0; break; case AD_FIRE: if (resists_fire(magr)) { if (canseemon(magr)) { ! /*JP pline("%s is mildly warmed.", Monnam(magr));*/ ! pline("%s¤ÏÃȤ«¤¯¤Ê¤Ã¤¿¡¥", Monnam(magr)); golemeffects(magr, AD_FIRE, tmp); } tmp = 0; break; } if(canseemon(magr)) ! /*JP pline("%s is suddenly very hot!", Monnam(magr));*/ ! pline("%s¤ÏÆÍÁ³¤È¤Æ¤âÇ®¤¯¤Ê¤Ã¤¿¡ª", Monnam(magr)); break; case AD_ELEC: if (resists_elec(magr)) { if (canseemon(magr)) { ! /*JP pline("%s is mildly tingled.", Monnam(magr));*/ ! pline("%s¤Ï¥Ô¥ê¥Ô¥ê¤·¤Æ¤¤¤ë¡¥", Monnam(magr)); golemeffects(magr, AD_ELEC, tmp); } tmp = 0; break; } if(canseemon(magr)) ! /*JP pline("%s is jolted with electricity!", Monnam(magr));*/ ! pline("%s¤ÏÅŵ¤¥·¥ç¥Ã¥¯¤ò¤¦¤±¤¿¡ª", Monnam(magr)); break; default: tmp = 0; break; diff -c -r ../nethack-3.2.2/src/mhitu.c ./src/mhitu.c *** ../nethack-3.2.2/src/mhitu.c Sat Dec 28 21:53:43 1996 --- ./src/mhitu.c Tue Jul 22 23:18:25 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "artifact.h" *************** *** 48,83 **** /* If same gender, "engagingly" for nymph, normal msg for others */ if((compat = could_seduce(mtmp, &youmonst, mattk)) && !mtmp->mcan && !mtmp->mspec_used) { ! pline("%s %s you %s.", Monnam(mtmp), Blind ? "talks to" : "smiles at", ! compat == 2 ? "engagingly" : "seductively"); } else switch (mattk->aatyp) { case AT_BITE: ! pline("%s bites!", Monnam(mtmp)); break; case AT_KICK: ! pline("%s kicks%c", Monnam(mtmp), ! thick_skinned(uasmon) ? '.' : '!'); break; case AT_STNG: ! pline("%s stings!", Monnam(mtmp)); break; case AT_BUTT: ! pline("%s butts!", Monnam(mtmp)); break; case AT_TUCH: ! pline("%s touches you!", Monnam(mtmp)); break; case AT_TENT: ! pline("%s tentacles suck you!", ! s_suffix(Monnam(mtmp))); break; case AT_EXPL: ! pline("%s explodes!", Monnam(mtmp)); break; default: ! pline("%s hits!", Monnam(mtmp)); } } --- 55,105 ---- /* If same gender, "engagingly" for nymph, normal msg for others */ if((compat = could_seduce(mtmp, &youmonst, mattk)) && !mtmp->mcan && !mtmp->mspec_used) { ! /*JP pline("%s %s you %s.", Monnam(mtmp), Blind ? "talks to" : "smiles at", ! compat == 2 ? "engagingly" : "seductively");*/ ! pline("%s¤Ï¤¢¤Ê¤¿%s%s¡¥", Monnam(mtmp), ! compat == 2 ? "¤ò°ú¤­¤Ä¤±¤ë¤è¤¦¤Ë" : "¤Ë¹¥°Õ¤ò¤è¤»¤ë¤è¤¦¤Ë", ! Blind ? "Ïä·¤«¤±¤¿" : "Èù¾Ð¤ó¤À"); ! ! } else switch (mattk->aatyp) { case AT_BITE: ! /*JP pline("%s bites!", Monnam(mtmp));*/ ! pline("%s¤Ï³ú¤ß¤Ä¤¤¤¿¡ª", Monnam(mtmp)); break; case AT_KICK: ! /*JP pline("%s kicks%c", Monnam(mtmp), ! thick_skinned(uasmon) ? '.' : '!');*/ ! pline("%s¤Ï½³¤È¤Ð¤·¤¿%s",Monnam(mtmp), ! thick_skinned(uasmon) ? "¡¥" : "¡ª"); break; case AT_STNG: ! /*JP pline("%s stings!", Monnam(mtmp));*/ ! pline("%s¤ÏÆͤ­¤µ¤·¤¿¡ª", Monnam(mtmp)); break; case AT_BUTT: ! /*JP pline("%s butts!", Monnam(mtmp));*/ ! pline("%s¤ÏƬÆͤ­¤ò¤¯¤é¤ï¤·¤¿¡ª", Monnam(mtmp)); break; case AT_TUCH: ! /*JP pline("%s touches you!", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Ë¿¨¤ì¤¿¡ª", Monnam(mtmp)); break; case AT_TENT: ! /*JP pline("%s tentacles suck you!", ! s_suffix(Monnam(mtmp)));*/ ! pline("%s¤Î¿¨¼ê¤¬¤¢¤Ê¤¿¤ÎÂαդòµÛ¤¤¤È¤Ã¤¿¡ª", ! Monnam(mtmp)); break; case AT_EXPL: ! /*JP pline("%s explodes!", Monnam(mtmp));*/ ! pline("%s¤ÏÇúȯ¤·¤¿¡ª", Monnam(mtmp)); break; default: ! /*JP pline("%s hits!", Monnam(mtmp));*/ ! pline("%s¤Î¹¶·â¤ÏÌ¿Ã椷¤¿¡ª", Monnam(mtmp)); } } *************** *** 88,99 **** register struct attack *mattk; { if(could_seduce(mtmp, &youmonst, mattk) && !mtmp->mcan) ! pline("%s pretends to be friendly.", Monnam(mtmp)); else { if (!flags.verbose || !nearmiss) ! pline("%s misses.", Monnam(mtmp)); else ! pline("%s just misses!", Monnam(mtmp)); } } --- 110,124 ---- register struct attack *mattk; { if(could_seduce(mtmp, &youmonst, mattk) && !mtmp->mcan) ! /*JP pline("%s pretends to be friendly.", Monnam(mtmp));*/ ! pline("%s¤Ïͧ¹¥Åª¤Ê¤Õ¤ê¤ò¤·¤Æ¤¤¤ë¡¥",Monnam(mtmp)); else { if (!flags.verbose || !nearmiss) ! /*JP pline("%s misses.", Monnam(mtmp));*/ ! pline("%s¤Î¹¶·â¤Ï¤Ï¤º¤ì¤¿¡¥", Monnam(mtmp)); else ! /*JP pline("%s just misses!", Monnam(mtmp));*/ ! pline("%s¤Î¹¶·â¤Ï¶õ¤òÀڤä¿¡¥", Monnam(mtmp)); } } *************** *** 104,112 **** --- 129,142 ---- { if (!flags.verbose || Blind || !mon_visible(mtmp)) return; + #if 0 /*JP*/ pline("%s %s %s %s.", Monnam(mtmp), (objects[otemp->otyp].oc_dir & PIERCE) ? "thrusts" : "swings", his[pronoun_gender(mtmp)], xname(otemp)); + #endif + pline("%s¤Ï%s%s¡¥", Monnam(mtmp), + xname(otemp), + (objects[otemp->otyp].oc_dir & PIERCE) ? "¤òÆͤ¤¤¿" : "¤ò¿¶¤ê¤Þ¤ï¤·¤¿"); } /* return how a poison attack was delivered */ *************** *** 119,128 **** struct obj *mwep = (mtmp == &youmonst) ? uwep : MON_WEP(mtmp); /* "Foo's attack was poisoned." is pretty lame, but at least it's better than "sting" when not a stinging attack... */ ! return (!mwep || !mwep->opoisoned) ? "attack" : "weapon"; } else { ! return (mattk->aatyp == AT_TUCH) ? "contact" : ! (mattk->aatyp == AT_BITE) ? "bite" : "sting"; } } --- 149,161 ---- struct obj *mwep = (mtmp == &youmonst) ? uwep : MON_WEP(mtmp); /* "Foo's attack was poisoned." is pretty lame, but at least it's better than "sting" when not a stinging attack... */ ! /*JP return (!mwep || !mwep->opoisoned) ? "attack" : "weapon";*/ ! return (!mwep || !mwep->opoisoned) ? "¹¶·â" : "Éð´ï"; } else { ! /*JP return (mattk->aatyp == AT_TUCH) ? "contact" : ! (mattk->aatyp == AT_BITE) ? "bite" : "sting";*/ ! return (mattk->aatyp == AT_TUCH) ? "ÀÜ¿¨" : ! (mattk->aatyp == AT_BITE) ? "³ú¤ß¤Ä¤­" : "Æͤ­¤µ¤·"; } } *************** *** 132,140 **** { Fast &= ~(INTRINSIC|TIMEOUT); if (!Fast) ! You("slow down."); else /* speed boots */ ! Your("quickness feels less natural."); exercise(A_DEX, FALSE); } --- 165,175 ---- { Fast &= ~(INTRINSIC|TIMEOUT); if (!Fast) ! /*JP You("slow down.");*/ ! You("Æ°¤­¤¬ÃÙ¤¯¤Ê¤Ã¤¿¡¥"); else /* speed boots */ ! /*JP Your("quickness feels less natural.");*/ ! You("®¤µ¤Ë¤Ä¤¤¤Æ¤¤¤±¤Ê¤¯¤Ê¤Ã¤¿¡¥"); exercise(A_DEX, FALSE); } *************** *** 157,172 **** if (!mtmp->mcansee || (Invis && !perceives(mtmp->data))) { const char *swings = ! mattk->aatyp == AT_BITE ? "snaps" : mattk->aatyp == AT_KICK ? "kicks" : (mattk->aatyp == AT_STNG || mattk->aatyp == AT_BUTT || ! nolimbs(mtmp->data)) ? "lunges" : "swings"; if (compat) ! pline("%s tries to touch you and misses!", Monnam(mtmp)); else switch(rn2(3)) { case 0: pline("%s %s wildly and misses!", Monnam(mtmp), swings); break; --- 192,214 ---- if (!mtmp->mcansee || (Invis && !perceives(mtmp->data))) { const char *swings = ! /*JP mattk->aatyp == AT_BITE ? "snaps" : mattk->aatyp == AT_KICK ? "kicks" : (mattk->aatyp == AT_STNG || mattk->aatyp == AT_BUTT || ! nolimbs(mtmp->data)) ? "lunges" : "swings";*/ ! mattk->aatyp == AT_BITE ? "³ú¤ß¤Ä¤¯" : ! mattk->aatyp == AT_KICK ? "½³¤È¤Ð¤¹" : ! (mattk->aatyp == AT_STNG || ! mattk->aatyp == AT_BUTT || ! nolimbs(mtmp->data)) ? "ÆͿʤ¹¤ë" : "¿¶¤ê²ó¤¹"; if (compat) ! /*JP pline("%s tries to touch you and misses!", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Ë¿¨¤í¤¦¤È¤·¤¿¤¬¼ºÇÔ¤·¤¿¡ª", Monnam(mtmp)); else switch(rn2(3)) { + #if 0 /*JP*/ case 0: pline("%s %s wildly and misses!", Monnam(mtmp), swings); break; *************** *** 177,207 **** break; default:pline("%s %s wildly!", Monnam(mtmp), swings); break; ! } } else if (Displaced) { if (compat) ! pline("%s smiles %s at your %sdisplaced image...", Monnam(mtmp), compat == 2 ? "engagingly" : "seductively", ! Invis ? "invisible " : ""); else ! pline("%s strikes at your %sdisplaced image and misses you!", /* Note: if you're both invisible and displaced, * only monsters which see invisible will attack your * displaced image, since the displaced image is also * invisible. */ Monnam(mtmp), ! Invis ? "invisible " : ""); } else if (Underwater) { /* monsters may miss especially on water level where bubbles shake the player here and there */ if (compat) ! pline("%s reaches towards your distorted image.",Monnam(mtmp)); else ! pline("%s is fooled by water reflections and misses!",Monnam(mtmp)); } else impossible("%s attacks you without knowing your location?", Monnam(mtmp)); --- 219,269 ---- break; default:pline("%s %s wildly!", Monnam(mtmp), swings); break; ! #endif /*JP*/ ! case 0: pline("%s¤Ï·ã¤·¤¯%s¤¬¡¤¤Ï¤º¤·¤¿¡¥", Monnam(mtmp), ! jconj(swings, "¤¿")); ! break; ! case 1: pline("%s¤Î¹¶·â¤Ï¤¢¤Ê¤¿¤ÎÏÆÊ¢¤ò¤«¤¹¤á¤¿¡¥", Monnam(mtmp)); ! break; ! case 2: pline("%s¤Ï%s¤òÂǤÁ¤Ä¤±¤¿¡ª", Monnam(mtmp), ! Underwater ? "¿å" : "²¿¤â¤Ê¤¤¤È¤³¤í"); ! break; ! default:pline("%s¤Ï·ã¤·¤¯%s¡ª", Monnam(mtmp), ! jconj(swings, "¤¿")); ! break; + } } else if (Displaced) { if (compat) ! /*JP pline("%s smiles %s at your %sdisplaced image...", Monnam(mtmp), compat == 2 ? "engagingly" : "seductively", ! Invis ? "invisible " : "");*/ ! pline("%s¤Ï%s¤¢¤Ê¤¿¤Î¸¸±Æ¤ËÂФ·¤Æ%sÈù¾Ð¤ó¤À¡¥¡¥¡¥", ! Monnam(mtmp), ! Invis ? "Æ©ÌÀ¤Ê" : "", ! compat == 2 ? "Ì¥ÎÏŪ¤Ë" : "ͶÏÇŪ¤Ë"); else ! /*JP pline("%s strikes at your %sdisplaced image and misses you!",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î%s¸¸±Æ¤òÂǤÁ¡¤¤Ï¤º¤·¤¿¡ª", /* Note: if you're both invisible and displaced, * only monsters which see invisible will attack your * displaced image, since the displaced image is also * invisible. */ Monnam(mtmp), ! /*JP Invis ? "invisible " : "");*/ ! Invis ? "Æ©ÌÀ¤Ê" : ""); } else if (Underwater) { /* monsters may miss especially on water level where bubbles shake the player here and there */ if (compat) ! /* pline("%s reaches towards your distorted image.",Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ÎÏĤó¤À¸¸±Æ¤ÎÊý¤Ø¸þ¤«¤Ã¤¿¡¥",Monnam(mtmp)); else ! /*JP pline("%s is fooled by water reflections and misses!",Monnam(mtmp));*/ ! pline("%s¤Ï¿å¤ÎÈ¿¼Í¤Ë¤À¤Þ¤µ¤ì¡¤¤Ï¤º¤·¤¿¡ª",Monnam(mtmp)); } else impossible("%s attacks you without knowing your location?", Monnam(mtmp)); *************** *** 215,221 **** { if (message) { if (is_animal(mdat)) ! You("get regurgitated!"); else { char blast[40]; register int i; --- 277,284 ---- { if (message) { if (is_animal(mdat)) ! /*JP You("get regurgitated!");*/ ! You("ÅǤ­¤À¤µ¤ì¤¿¡ª"); else { char blast[40]; register int i; *************** *** 231,246 **** switch (mdat->mattk[i].adtyp) { case AD_ELEC: Strcpy(blast, ! " in a shower of sparks"); break; case AD_COLD: Strcpy(blast, ! " in a blast of frost"); break; } } else ! Strcpy(blast, " with a squelch"); ! You("get expelled from %s%s!", mon_nam(mtmp), blast); } } --- 294,317 ---- switch (mdat->mattk[i].adtyp) { case AD_ELEC: Strcpy(blast, ! /*JP " in a shower of sparks");*/ ! "¤Î²Ð²Ö¤Î±«¤ÎÃ椫¤é"); break; case AD_COLD: Strcpy(blast, ! /*JP " in a blast of frost");*/ ! "¤ÎÎ䵤¤ÎÉ÷¤ÎÃ椫¤é"); ! break; ! /*By Hiramoto Kouji*/ default: ! Strcpy(blast, ! "¤«¤é"); break; } } else ! /*JP Strcpy(blast, " with a squelch");*/ ! Strcpy(blast, "¤«¤éÅǤ­½Ð¤µ¤ì¤ë¤è¤¦¤Ë"); ! /*JP You("get expelled from %s%s!",*/ ! You("%s%sæ½Ð¤·¤¿¡ª", mon_nam(mtmp), blast); } } *************** *** 251,257 **** spoteffects(); /* to cover for a case where mtmp is not in a next square */ if(um_dist(mtmp->mx,mtmp->my,1)) ! pline("Brrooaa... You land hard at some distance."); } #endif /* OVLB */ --- 322,329 ---- spoteffects(); /* to cover for a case where mtmp is not in a next square */ if(um_dist(mtmp->mx,mtmp->my,1)) ! /*JP pline("Brrooaa... You land hard at some distance.");*/ ! pline("¥Ö¥í¥í¥í¡¥¡¥±ó¤¯¤ËÃåΦ¤¹¤ë¤Î¤ÏÆñ¤·¤¤¡¥"); } #endif /* OVLB */ *************** *** 304,310 **** if (is_hider(uasmon)) { coord cc; /* maybe we need a unexto() function? */ ! You("fall from the %s!", ceiling(u.ux,u.uy)); if (enexto(&cc, u.ux, u.uy, &playermon)) { remove_monster(mtmp->mx, mtmp->my); newsym(mtmp->mx,mtmp->my); --- 376,383 ---- if (is_hider(uasmon)) { coord cc; /* maybe we need a unexto() function? */ ! /*JP You("fall from the %s!", ceiling(u.ux,u.uy));*/ ! You("%s¤«¤éÍî¤Á¤¿¡ª", ceiling(u.ux,u.uy)); if (enexto(&cc, u.ux, u.uy, &playermon)) { remove_monster(mtmp->mx, mtmp->my); newsym(mtmp->mx,mtmp->my); *************** *** 314,320 **** set_apparxy(mtmp); newsym(u.ux,u.uy); } else { ! pline("%s is killed by a falling %s (you)!", Monnam(mtmp), uasmon->mname); killed(mtmp); newsym(u.ux,u.uy); --- 387,394 ---- set_apparxy(mtmp); newsym(u.ux,u.uy); } else { ! /*JP pline("%s is killed by a falling %s (you)!",*/ ! pline("%s¤ÏÍî¤Á¤Æ¤­¤¿%s(¤¢¤Ê¤¿)¤Ë¤è¤Ã¤Æ»à¤ó¤À¡ª", Monnam(mtmp), uasmon->mname); killed(mtmp); newsym(u.ux,u.uy); *************** *** 325,345 **** return(0); /* trappers don't attack */ if (which_armor(mtmp, WORN_HELMET)) { ! Your("blow glances off %s helmet.", s_suffix(mon_nam(mtmp))); } else { if (3 + find_mac(mtmp) <= rnd(20)) { ! pline("%s is hit by a falling piercer (you)!", Monnam(mtmp)); if ((mtmp->mhp -= d(3,6)) < 1) killed(mtmp); } else ! pline("%s is almost hit by a falling piercer (you)!", Monnam(mtmp)); } } else { if (!youseeit) ! pline("It tries to move where you are hiding."); else { /* Ugly kludge for eggs. The message is phrased so as * to be directed at the monster, not the player, --- 399,423 ---- return(0); /* trappers don't attack */ if (which_armor(mtmp, WORN_HELMET)) { ! /*JP Your("blow glances off %s helmet.",*/ ! Your("¹¶·â¤Ï%s¤Î³õ¤ò¤«¤¹¤á¤¿¡¥", s_suffix(mon_nam(mtmp))); } else { if (3 + find_mac(mtmp) <= rnd(20)) { ! /*JP pline("%s is hit by a falling piercer (you)!",*/ ! pline("%s¤ÏÍî¤Á¤ë¿Ë(¤¢¤Ê¤¿)¤Ç½ý¤Ä¤¤¤¿¡ª", Monnam(mtmp)); if ((mtmp->mhp -= d(3,6)) < 1) killed(mtmp); } else ! /*JP pline("%s is almost hit by a falling piercer (you)!",*/ ! pline("%s¤Ï¤â¤¦¾¯¤·¤ÇÍî¤Á¤ë¿Ë(¤¢¤Ê¤¿)¤Ç½ý¤Ä¤¯¤È¤³¤í¤À¤Ã¤¿¡ª", Monnam(mtmp)); } } else { if (!youseeit) ! /*JP pline("It tries to move where you are hiding.");*/ ! pline("²¿¼Ô¤«¤¬¤¢¤Ê¤¿¤¬±£¤ì¤Æ¤¤¤ë¤È¤³¤í¤ò°ÜÆ°¤·¤è¤¦¤È¤·¤¿¡¥"); else { /* Ugly kludge for eggs. The message is phrased so as * to be directed at the monster, not the player, *************** *** 357,368 **** if (obj->otyp == EGG) obj->spe = 0; } if (uasmon->mlet == S_EEL) ! pline("Wait, %s! There's a hidden %s named %s there!", ! m_monnam(mtmp), uasmon->mname, plname); else pline("Wait, %s! There's a %s named %s hiding under %s!", m_monnam(mtmp), uasmon->mname, plname, doname(level.objects[u.ux][u.uy])); if (obj) obj->spe = save_spe; } else impossible("hiding under nothing?"); --- 435,454 ---- if (obj->otyp == EGG) obj->spe = 0; } if (uasmon->mlet == S_EEL) ! /*JP pline("Wait, %s! There's a hidden %s named %s there!",*/ ! /*JP m_monnam(mtmp), uasmon->mname, plname);*/ ! pline("ÂԤơ¤%s¡ª%s¤È¤¤¤¦Ì¾¤Î%s¤¬±£¤ì¤Æ¤¤¤ë¡ª", ! m_monnam(mtmp), plname, jtrns_mon(uasmon->mname, flags.female)); else + #if 0 /*JP*/ pline("Wait, %s! There's a %s named %s hiding under %s!", m_monnam(mtmp), uasmon->mname, plname, doname(level.objects[u.ux][u.uy])); + #endif /*JP*/ + pline("ÂԤơ¤%s¡ª%s¤È¤¤¤¦Ì¾¤Î%s¤¬%s¤Î²¼¤Ë±£¤ì¤Æ¤¤¤ë¡ª", + m_monnam(mtmp), plname, jtrns_mon(uasmon->mname, flags.female), + doname(level.objects[u.ux][u.uy])); + if (obj) obj->spe = save_spe; } else impossible("hiding under nothing?"); *************** *** 372,380 **** --- 458,472 ---- return(0); } if (u.usym == S_MIMIC_DEF && !range2 && foundyou && !u.uswallow) { + #if 0 /*JP*/ if (!youseeit) pline("It gets stuck on you."); else pline("Wait, %s! That's a %s named %s!", m_monnam(mtmp), uasmon->mname, plname); + #endif /*JP*/ + if (!youseeit) pline("²¿¼Ô¤«¤¬¤¢¤Ê¤¿¤Î¾å¤Ë¤Î¤·¤«¤«¤Ã¤¿"); + else pline("ÂԤơ¤%s¡ª¤½¤ì¤Ï%s¤È¤¤¤¦Ì¾¤Î%s¤À¡ª", + m_monnam(mtmp), + plname, jtrns_mon(uasmon->mname, flags.female)); u.ustuck = mtmp; u.usym = S_MIMIC; newsym(u.ux,u.uy); *************** *** 384,400 **** --- 476,507 ---- /* player might be mimicking gold */ if (u.usym == 0 && !range2 && foundyou && !u.uswallow) { if (!youseeit) + /*JP pline("%s %s!", Something, likes_gold(mtmp->data) ? "tries to pick you up" : "disturbs you"); + */ + pline("%s¤Ï%s¡ª", Something, likes_gold(mtmp->data) ? + "¤¢¤Ê¤¿¤ò½¦¤ª¤¦¤È¤·¤¿" : "̵»ë¤·¤¿"); + /*JP else pline("Wait, %s! That gold is really %s named %s!", m_monnam(mtmp), an(Upolyd ? uasmon->mname : player_mon()->mname), plname); + */ + else pline("ÂԤơ¤%s!¤½¤Î¶â²ô¤Ï%s¤È¤¤¤¦Ì¾¤Î%s¤À¡ª", + m_monnam(mtmp), + plname, + an(Upolyd ? uasmon->mname : player_mon()->mname)); if (multi < 0) { /* this should always be the case */ char buf[BUFSIZ]; + /*JP Sprintf(buf, "You appear to be %s again.", Upolyd ? (const char *) an(uasmon->mname) : (const char *) "yourself"); + */ + Sprintf(buf, "¤¢¤Ê¤¿¤Ï%s¤È¤Ê¤Ã¤¿", + Upolyd ? (const char *) an(uasmon->mname) : + (const char *) "¼«Ê¬¼«¿È"); unmul(buf); /* immediately stop mimicking gold */ } return 0; *************** *** 432,458 **** if(!rn2(10) && !mtmp->mcan) { if(youseeit) { ! pline("%s summons help!", Monnam(mtmp)); } else ! You_feel("hemmed in."); /* Technically wrong; we really should check if you can see the * help, but close enough... */ if (!were_summon(mdat,FALSE) && youseeit) ! pline("But none comes."); } } if(u.uinvulnerable) { /* monster's won't attack you */ if(mtmp == u.ustuck) ! pline("%s loosens its grip slightly.", Monnam(mtmp)); else if(!range2) { if(youseeit) ! pline("%s starts to attack you, but pulls back.", Monnam(mtmp)); else ! You_feel("%s move nearby.", something); } return (0); } --- 539,571 ---- if(!rn2(10) && !mtmp->mcan) { if(youseeit) { ! /*JP pline("%s summons help!", Monnam(mtmp));*/ ! pline("%s¤Ï½õ¤±¤ò¸Æ¤ó¤À¡ª", Monnam(mtmp)); } else ! /*JP You_feel("hemmed in.");*/ ! pline("²¿Êª¤«¤Ë°Ï¤Þ¤ì¤¿¤è¤¦¤Êµ¤¤¬¤¹¤ë¡¥"); /* Technically wrong; we really should check if you can see the * help, but close enough... */ if (!were_summon(mdat,FALSE) && youseeit) ! /*JP pline("But none comes.");*/ ! pline("¤·¤«¤·²¿¤âÍè¤Ê¤«¤Ã¤¿¡¥"); } } if(u.uinvulnerable) { /* monster's won't attack you */ if(mtmp == u.ustuck) ! /*JP pline("%s loosens its grip slightly.", Monnam(mtmp));*/ ! pline("%s¤Ï°®¤ê¤·¤á¤¿¤½¤Î¼ê¤ò¤ï¤º¤«¤Ë´Ë¤á¤¿¡¥", Monnam(mtmp)); else if(!range2) { if(youseeit) ! /*JP pline("%s starts to attack you, but pulls back.",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ò¹¶·â¤·¤«¤±¤¿¤¬¡¤¤Ò¤Ã¤³¤á¤¿¡¥", Monnam(mtmp)); else ! /*JP You_feel("%s move nearby.", something);*/ ! pline("²¿¼Ô¤«¤¬¤¢¤Ê¤¿¤Î¤½¤Ð¤òÄ̤ê¤Ì¤±¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); } return (0); } *************** *** 523,539 **** missmu(mtmp, (tmp == j), mattk); } } else if (is_animal(mtmp->data)) ! pline("%s gulps some air!", youseeit ? ! Monnam(mtmp) : "It"); else if (youseeit) ! pline("%s lunges forward and recoils!", Monnam(mtmp)); else ! You_hear("a %s nearby.", is_whirly(mtmp->data)? ! "rushing noise" : ! "splat"); } break; case AT_BREA: --- 636,655 ---- missmu(mtmp, (tmp == j), mattk); } } else if (is_animal(mtmp->data)) ! /*JP pline("%s gulps some air!", youseeit ? ! Monnam(mtmp) : "It");*/ ! pline("%s¤Ï©¤òµÛ¤¤¤³¤ó¤¿¡ª", youseeit ? ! Monnam(mtmp) : "²¿¼Ô¤«"); else if (youseeit) ! /*JP pline("%s lunges forward and recoils!",*/ ! pline("%s¤ÏÆͿʤ·Ìá¤Ã¤¿¡ª", Monnam(mtmp)); else ! You_hear("%s¤ò¤½¤Ð¤Çʹ¤¤¤¿¡¥", is_whirly(mtmp->data)? ! "Æͷ⤷¤Æ¤¯¤ë²»" : ! "¥Ô¥·¥ã¥Ã¤È¤¤¤¦²»"); } break; case AT_BREA: *************** *** 584,591 **** if (foundyou) sum[i] = castmu(mtmp, mattk); else ! pline("%s casts a spell at thin air!", ! youseeit ? Monnam(mtmp) : "It"); /* Not totally right since castmu allows other * spells, such as the monster healing itself, * that should work even when not next to you-- --- 700,709 ---- if (foundyou) sum[i] = castmu(mtmp, mattk); else ! /*JP pline("%s casts a spell at thin air!", ! youseeit ? Monnam(mtmp) : "It");*/ ! pline("%s¤Ï²¿¤â¤Ê¤¤¶õ´Ö¤ËËâË¡¤ò¤«¤±¤¿¡ª", ! youseeit ? Monnam(mtmp) : "²¿¼Ô¤«"); /* Not totally right since castmu allows other * spells, such as the monster healing itself, * that should work even when not next to you-- *************** *** 602,608 **** if(sum[i] == 1) { /* successful attack */ if (u.usleep && u.usleep < monstermoves && !rn2(10)) { multi = -1; ! nomovemsg = "The combat suddenly awakens you."; } } if(sum[i] == 2) return 1; /* attacker dead */ --- 720,727 ---- if(sum[i] == 1) { /* successful attack */ if (u.usleep && u.usleep < monstermoves && !rn2(10)) { multi = -1; ! /*JP nomovemsg = "The combat suddenly awakens you.";*/ ! nomovemsg = "¤¢¤Ê¤¿¤Ïµ¯¤³¤µ¤ì¤¿¡¥"; } } if(sum[i] == 2) return 1; /* attacker dead */ *************** *** 646,659 **** while (1) { switch(rn2(5)) { case 0: ! if (!rust_dmg(uarmh, rusting ? "helmet" : "leather helmet", hurt, FALSE)) continue; break; case 1: if (uarmc) { if (!rusting) ! (void)rust_dmg(uarmc, "cloak", hurt, TRUE); break; } /* Note the difference between break and continue; --- 765,780 ---- while (1) { switch(rn2(5)) { case 0: ! /*JP if (!rust_dmg(uarmh, rusting ? "helmet" : "leather helmet",*/ ! if (!rust_dmg(uarmh, rusting ? "³õ" : "Èé¤Î³õ", hurt, FALSE)) continue; break; case 1: if (uarmc) { if (!rusting) ! /*JP (void)rust_dmg(uarmc, "cloak", hurt, TRUE);*/ ! (void)rust_dmg(uarmc, "¥¯¥í¡¼¥¯", hurt, TRUE); break; } /* Note the difference between break and continue; *************** *** 662,687 **** * something else did. */ if (getbronze) ! (void)rust_dmg(uarm, "bronze armor", 3, TRUE); else if (uarm) (void)rust_dmg(uarm, xname(uarm), hurt, TRUE); #ifdef TOURIST else if (uarmu) ! (void)rust_dmg(uarmu, "shirt", hurt, TRUE); #endif break; case 2: ! if (!rust_dmg(uarms, rusting ? "shield" : "wooden shield", hurt, FALSE)) continue; break; case 3: ! if (!rust_dmg(uarmg, rusting ? "metal gauntlets" : "gloves", hurt, FALSE)) continue; break; case 4: ! if (!rust_dmg(uarmf, rusting ? "metal boots" : "boots", hurt, FALSE)) continue; break; --- 783,814 ---- * something else did. */ if (getbronze) ! /*JP (void)rust_dmg(uarm, "bronze armor", 3, TRUE);*/ ! (void)rust_dmg(uarm, "ÀÄƼ¤Î³»", 3, TRUE); else if (uarm) (void)rust_dmg(uarm, xname(uarm), hurt, TRUE); #ifdef TOURIST else if (uarmu) ! /*JP (void)rust_dmg(uarmu, "shirt", hurt, TRUE);*/ ! (void)rust_dmg(uarmu, "¥·¥ã¥Ä", hurt, TRUE); #endif break; case 2: ! /*JP if (!rust_dmg(uarms, rusting ? "shield" : "wooden shield", ! hurt, FALSE))*/ ! if (!rust_dmg(uarms, rusting ? "½â" : "Ìڤνâ", hurt, FALSE)) continue; break; case 3: ! /*JP if (!rust_dmg(uarmg, rusting ? "metal gauntlets" : "gloves",*/ ! if (!rust_dmg(uarmg, rusting ? "¶â°¤Î¾®¼ê" : "¾®¼ê", hurt, FALSE)) continue; break; case 4: ! /*JP if (!rust_dmg(uarmf, rusting ? "metal boots" : "boots",*/ ! if (!rust_dmg(uarmf, rusting ? "¶â°¤Î·¤" : "·¤", hurt, FALSE)) continue; break; *************** *** 697,708 **** diseasemu(mdat) struct permonst *mdat; { if (defends(AD_DISE,uwep) || u.usym == S_FUNGUS) { ! You_feel("a slight illness."); return FALSE; } else { make_sick(Sick ? Sick/3L + 1L : (long)rn1(ACURR(A_CON), 20), ! mdat->mname, TRUE, SICK_NONVOMITABLE); return TRUE; } } --- 824,842 ---- diseasemu(mdat) struct permonst *mdat; { + static char jbuf[BUFSZ]; + + Strcpy(jbuf, jtrns_mon(mdat->mname, -1)); + Strcat(jbuf, "¤Ë¤è¤Ã¤Æ"); + if (defends(AD_DISE,uwep) || u.usym == S_FUNGUS) { ! /*JP You_feel("a slight illness.");*/ ! You("¤¹¤³¤·µ¤Ê¬¤¬°­¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); return FALSE; } else { make_sick(Sick ? Sick/3L + 1L : (long)rn1(ACURR(A_CON), 20), ! /*JP mdat->mname, TRUE, SICK_NONVOMITABLE);*/ ! jbuf, TRUE, SICK_NONVOMITABLE); return TRUE; } } *************** *** 722,739 **** /* if your cloak/armor is greased, monster slips off */ if (obj && (obj->greased || obj->otyp == OILSKIN_CLOAK)) { ! pline("%s %s your %s %s!", Monnam(mtmp), (mattk->adtyp == AD_WRAP) ? "slips off of" : "grabs you, but cannot hold onto", obj->greased ? "greased" : "slippery", /* avoid "slippery slippery cloak" for undiscovered oilskin cloak */ - (obj->greased || objects[obj->otyp].oc_name_known) ? - xname(obj) : "cloak"); if (obj->greased && !rn2(2)) { ! pline_The("grease wears off."); obj->greased = 0; } return TRUE; --- 856,883 ---- /* if your cloak/armor is greased, monster slips off */ if (obj && (obj->greased || obj->otyp == OILSKIN_CLOAK)) { ! /*JP pline("%s %s your %s %s!", Monnam(mtmp), (mattk->adtyp == AD_WRAP) ? "slips off of" : "grabs you, but cannot hold onto", obj->greased ? "greased" : "slippery", + * avoid "slippery slippery cloak" + for undiscovered oilskin cloak * + (obj->greased || objects[obj->otyp].oc_name_known) ? + xname(obj) : "cloak");*/ + pline("%s¤Ï%s%s%s¡ª", + Monnam(mtmp), + obj->greased ? "Ìý¤ÎÅɤé¤ì¤¿" : "³ê¤ê¤ä¤¹¤¤", + (obj->greased || objects[obj->otyp].oc_name_known) ? + xname(obj) : "¥¯¥í¡¼¥¯", + (mattk->adtyp == AD_WRAP) ? + "¤Ç³ê¤Ã¤¿" : "¤ò¤Ä¤«¤Þ¤¨¤è¤¦¤È¤·¤¿¡¤¤·¤«¤·¤Ç¤­¤Ê¤«¤Ã¤¿"); /* avoid "slippery slippery cloak" for undiscovered oilskin cloak */ if (obj->greased && !rn2(2)) { ! /*JP pline_The("grease wears off.");*/ ! pline("Ìý¤ÏÍî¤Á¤Æ¤·¤Þ¤Ã¤¿¡¥"); obj->greased = 0; } return TRUE; *************** *** 772,782 **** if (Blind && !obj->dknown) what = something; else if (is_pool(mtmp->mx, mtmp->my) && !Underwater) ! what = "the water"; else ! what = doname(obj); ! pline("%s was hidden under %s!", Amonnam(mtmp), what); } newsym(mtmp->mx, mtmp->my); } --- 916,928 ---- if (Blind && !obj->dknown) what = something; else if (is_pool(mtmp->mx, mtmp->my) && !Underwater) ! /*JP what = "the water";*/ ! pline("%s¤¬¿åÃæ¤Ë±£¤ì¤Æ¤¤¤ë¡ª", Amonnam(mtmp)); else ! /*JP what = doname(obj);*/ ! pline("%s¤¬%s¤Î²¼¤Ë±£¤ì¤Æ¤¤¤ë¡ª", Amonnam(mtmp), doname(obj)); ! /*JP pline("%s was hidden under %s!", Amonnam(mtmp), what);*/ } newsym(mtmp->mx, mtmp->my); } *************** *** 809,829 **** dmg = 0; } else { u.ustuck = mtmp; ! pline("%s grabs you!", Monnam(mtmp)); } } else if(u.ustuck == mtmp) { exercise(A_STR, FALSE); ! You("are being %s.", (mtmp->data == &mons[PM_ROPE_GOLEM]) ! ? "choked" : "crushed"); } } else { /* hand to hand weapon */ if(mattk->aatyp == AT_WEAP && otmp) { if (otmp->otyp == CORPSE && otmp->corpsenm == PM_COCKATRICE) { dmg = 1; ! pline("%s hits you with the cockatrice corpse.", ! Monnam(mtmp)); if (!Stoned) goto do_stone; } --- 955,981 ---- dmg = 0; } else { u.ustuck = mtmp; ! /*JP pline("%s grabs you!", Monnam(mtmp));*/ ! pline("%s¤Ë¤Ä¤«¤Þ¤¨¤é¤ì¤Æ¤¤¤ë¡ª", Monnam(mtmp)); } } else if(u.ustuck == mtmp) { exercise(A_STR, FALSE); ! /*JP You("are being %s.", ! (mtmp->data == &mons[PM_ROPE_GOLEM]) ! ? "choked" : "crushed");*/ ! You("%s¤Æ¤¤¤ë¡¥", (mtmp->data == &mons[PM_ROPE_GOLEM]) ! ? "¼ó¤ò¹Ê¤á¤é¤ì" : "²¡¤·¤Ä¤Ö¤µ¤ì"); } } else { /* hand to hand weapon */ if(mattk->aatyp == AT_WEAP && otmp) { if (otmp->otyp == CORPSE && otmp->corpsenm == PM_COCKATRICE) { dmg = 1; ! /*JP pline("%s hits you with the cockatrice corpse.", ! Monnam(mtmp));*/ ! pline("%s¤Ï¥³¥«¥È¥ê¥¹¤Î»àÂΤǹ¶·â¤·¤¿¡¥", ! Monnam(mtmp)); if (!Stoned) goto do_stone; } *************** *** 846,852 **** flags.botl = 1; dmg = 0; if(cloneu()) ! You("divide as %s hits you!",mon_nam(mtmp)); } urustm(mtmp, otmp); } else if (mattk->aatyp != AT_TUCH || dmg != 0 || --- 998,1005 ---- flags.botl = 1; dmg = 0; if(cloneu()) ! /*JP You("divide as %s hits you!",mon_nam(mtmp));*/ ! pline("%s¤Î¹¶·â¤Ë¤è¤Ã¤Æ¤¢¤Ê¤¿¤ÏʬÎö¤·¤¿¡ª",mon_nam(mtmp)); } urustm(mtmp, otmp); } else if (mattk->aatyp != AT_TUCH || dmg != 0 || *************** *** 861,871 **** case AD_FIRE: hitmsg(mtmp, mattk); if (uncancelled) { ! pline("You're %s!", mattk->aatyp == AT_HUGS ? "being roasted" : ! "on fire"); if (Fire_resistance) { ! pline_The("fire doesn't feel hot!"); dmg = 0; } if((int) mtmp->m_lev > rn2(20)) --- 1014,1028 ---- case AD_FIRE: hitmsg(mtmp, mattk); if (uncancelled) { ! /*JP pline("You're %s!", mattk->aatyp == AT_HUGS ? "being roasted" : ! "on fire");*/ ! You("%s¤Ë¤Ê¤Ã¤¿¡ª", ! mattk->aatyp == AT_HUGS ? "¹õ¾Ç¤²¤Ë¤Ê¤Ã¤¿" : ! "²Ð¤À¤ë¤Þ"); if (Fire_resistance) { ! /*JP pline_The("fire doesn't feel hot!");*/ ! pline("²Ð¤Ï¤¼¤ó¤¼¤óÇ®¤¯¤Ê¤¤¡ª"); dmg = 0; } if((int) mtmp->m_lev > rn2(20)) *************** *** 879,887 **** case AD_COLD: hitmsg(mtmp, mattk); if (uncancelled) { ! pline("You're covered in frost!"); if (Cold_resistance) { ! pline_The("frost doesn't seem cold!"); dmg = 0; } if((int) mtmp->m_lev > rn2(20)) --- 1036,1046 ---- case AD_COLD: hitmsg(mtmp, mattk); if (uncancelled) { ! /*JP pline("You're covered in frost!");*/ ! You("ɹ¤Çʤ¤ï¤ì¤¿¡ª"); if (Cold_resistance) { ! /*JP pline_The("frost doesn't seem cold!");*/ ! pline("ɹ¤ÏÎ䤵¤ò´¶¤¸¤µ¤»¤Ê¤¤¡ª"); dmg = 0; } if((int) mtmp->m_lev > rn2(20)) *************** *** 891,899 **** case AD_ELEC: hitmsg(mtmp, mattk); if (uncancelled) { ! You("get zapped!"); if (Shock_resistance) { ! pline_The("zap doesn't shock you!"); dmg = 0; } if((int) mtmp->m_lev > rn2(20)) --- 1050,1060 ---- case AD_ELEC: hitmsg(mtmp, mattk); if (uncancelled) { ! /*JP You("get zapped!");*/ ! You("ÅÅ·â¤ò¤¯¤é¤Ã¤¿¡ª"); if (Shock_resistance) { ! /*JP pline_The("zap doesn't shock you!");*/ ! pline("ÅÅ·â¤Ï¤·¤Ó¤ì¤ò´¶¤¸¤µ¤»¤Ê¤¤¡ª"); dmg = 0; } if((int) mtmp->m_lev > rn2(20)) *************** *** 907,914 **** if (uncancelled && multi >= 0 && !rn2(5)) { if (Sleep_resistance) break; fall_asleep(-rnd(10), TRUE); ! if (Blind) You("are put to sleep!"); ! else You("are put to sleep by %s!", mon_nam(mtmp)); } break; case AD_DRST: --- 1068,1077 ---- if (uncancelled && multi >= 0 && !rn2(5)) { if (Sleep_resistance) break; fall_asleep(-rnd(10), TRUE); ! /*JP if (Blind) You("are put to sleep!");*/ ! if (Blind) You("̲¤ê¤Ë¤ª¤Á¤¿¡ª"); ! /*JP else You("are put to sleep by %s!", mon_nam(mtmp));*/ ! else You("%s¤Ë̲¤é¤µ¤ì¤¿¡ª", mon_nam(mtmp)); } break; case AD_DRST: *************** *** 922,952 **** --- 1085,1137 ---- dopois: hitmsg(mtmp, mattk); if (uncancelled && !rn2(8)) { + /*JP Sprintf(buf, "%s %s", !canspotmon(mtmp) ? "Its" : Hallucination ? s_suffix(rndmonnam()) : s_suffix(mdat->mname), + */ + Sprintf(buf, "%s¤Î%s", + !canspotmon(mtmp) ? "²¿¼Ô¤«" : + Hallucination ? s_suffix(rndmonnam()) : + Monnam(mtmp), mpoisons_subj(mtmp, mattk)); + /*JP poisoned(buf, ptmp, mdat->mname, 30); + */ + { + char jbuf[BUFSZ]; + Sprintf(jbuf, "%s", jtrns_mon(mdat->mname, mtmp->female)); + poisoned(buf, ptmp, jbuf, 30); + } } break; case AD_DRIN: hitmsg(mtmp, mattk); if (defends(AD_DRIN, uwep) || !has_head(uasmon)) { + /*JP You("don't seem harmed."); + */ + You("½ý¤Ä¤¤¤Æ¤¤¤Ê¤¤¤è¤¦¤À¡¥"); break; } if (u_slip_free(mtmp,mattk)) break; if (uarmh && rn2(8)) { + /*JP Your("helmet blocks the attack to your head."); + */ + Your("³õ¤¬Æ¬¤Ø¤Î¹¶·â¤òËɤ¤¤À¡¥"); break; } if (Half_physical_damage) dmg = (dmg+1) / 2; losehp(dmg, mon_nam(mtmp), KILLED_BY_AN); if (!uarmh || uarmh->otyp != DUNCE_CAP) { + /*JP Your("brain is eaten!"); + */ + Your("Ǿ¤Ï¿©¤Ù¤é¤ì¤¿¡ª"); /* No such thing as mindless players... */ if (ABASE(A_INT) <= ATTRMIN(A_INT)) { int lifesaved = 0; *************** *** 963,978 **** /* explicitly chose not to die; arbitrarily boost intelligence */ ABASE(A_INT) = ATTRMIN(A_INT) + 2; ! You_feel("like a scarecrow."); break; } } if (lifesaved) ! pline("Unfortunately your brain is still gone."); else ! Your("last thought fades away."); ! killer = "brainlessness"; killer_format = KILLED_BY; done(DIED); lifesaved++; --- 1148,1167 ---- /* explicitly chose not to die; arbitrarily boost intelligence */ ABASE(A_INT) = ATTRMIN(A_INT) + 2; ! /*JP You_feel("like a scarecrow.");*/ ! You("¤«¤«¤·¤Î¤è¤¦¤Êµ¤»ý¤¬¤·¤¿¡¥"); break; } } if (lifesaved) ! /*JP pline("Unfortunately your brain is still gone.");*/ ! pline("»ÄÇ°¤Ê¤¬¤é¤¢¤Ê¤¿¤Ë¤ÏǾ¤¬¤Ê¤¤¡¥"); else ! /*JP Your("last thought fades away.");*/ ! Your("ºÇ¸å¤Î»×¤¤¤¬ÁöÇÏÅõ¤Î¤è¤¦¤Ë²£¤®¤Ã¤¿¡¥"); ! /*JP killer = "brainlessness";*/ ! killer = "Ǿ¤ò¼º¤·¤Ê¤Ã¤Æ"; killer_format = KILLED_BY; done(DIED); lifesaved++; *************** *** 988,995 **** case AD_PLYS: hitmsg(mtmp, mattk); if (uncancelled && multi >= 0 && !rn2(3)) { ! if (Blind) You("are frozen!"); ! else You("are frozen by %s!", mon_nam(mtmp)); nomovemsg = 0; /* default: "you can move again" */ nomul(-rnd(10)); exercise(A_DEX, FALSE); --- 1177,1186 ---- case AD_PLYS: hitmsg(mtmp, mattk); if (uncancelled && multi >= 0 && !rn2(3)) { ! /*JP if (Blind) You("are frozen!");*/ ! if (Blind) You("Æ°¤±¤Ê¤¤¡ª"); ! /*JP else You("are frozen by %s!", mon_nam(mtmp));*/ ! else pline("%s¤Ë¤è¤Ã¤ÆÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡ª", mon_nam(mtmp)); nomovemsg = 0; /* default: "you can move again" */ nomul(-rnd(10)); exercise(A_DEX, FALSE); *************** *** 1002,1026 **** break; case AD_LEGS: { register long side = rn2(2) ? RIGHT_SIDE : LEFT_SIDE; ! const char *sidestr = (side == RIGHT_SIDE) ? "right" : "left"; if (mtmp->mcan) { ! pline("%s nuzzles against your %s %s!", Monnam(mtmp), sidestr, body_part(LEG)); } else { if (uarmf) { if (rn2(2) && (uarmf->otyp == LOW_BOOTS || uarmf->otyp == IRON_SHOES)) ! pline("%s pricks the exposed part of your %s %s!", Monnam(mtmp), sidestr, body_part(LEG)); else if (!rn2(5)) ! pline("%s pricks through your %s boot!", Monnam(mtmp), sidestr); else { ! pline("%s scratches your %s boot!", Monnam(mtmp), sidestr); break; } ! } else pline("%s pricks your %s %s!", Monnam(mtmp), sidestr, body_part(LEG)); set_wounded_legs(side, rnd(60-ACURR(A_DEX))); exercise(A_STR, FALSE); --- 1193,1224 ---- break; case AD_LEGS: { register long side = rn2(2) ? RIGHT_SIDE : LEFT_SIDE; ! /*JP const char *sidestr = (side == RIGHT_SIDE) ? "right" : "left";*/ ! const char *sidestr = (side == RIGHT_SIDE) ? "±¦" : "º¸"; if (mtmp->mcan) { ! /*JP pline("%s nuzzles against your %s %s!", Monnam(mtmp), ! sidestr, body_part(LEG));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î%s%s¤ËÉ¡¤ò¤¹¤ê¤è¤»¤¿¡ª", Monnam(mtmp), sidestr, body_part(LEG)); } else { if (uarmf) { if (rn2(2) && (uarmf->otyp == LOW_BOOTS || uarmf->otyp == IRON_SHOES)) ! /*JP pline("%s pricks the exposed part of your %s %s!",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î%s%s¤ò¤Á¤¯¤ê¤È»É¤·¤¿¡ª", Monnam(mtmp), sidestr, body_part(LEG)); else if (!rn2(5)) ! /*JP pline("%s pricks through your %s boot!",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î%s¤Î·¤¤ò¤Á¤¯¤ê¤È»É¤·¤¿¡ª", Monnam(mtmp), sidestr); else { ! /*JP pline("%s scratches your %s boot!", Monnam(mtmp),*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î%s¤Î·¤¤ò¤Ò¤Ã¤«¤¤¤¿¡ª", Monnam(mtmp), sidestr); break; } ! /*JP } else pline("%s pricks your %s %s!", Monnam(mtmp),*/ ! } else pline("%s¤Ï¤¢¤Ê¤¿¤Î%s%s¤ò¤Á¤¯¤ê¤È»É¤·¤¿¡ª", Monnam(mtmp), sidestr, body_part(LEG)); set_wounded_legs(side, rnd(60-ACURR(A_DEX))); exercise(A_STR, FALSE); *************** *** 1033,1042 **** if(!rn2(3) && !Stoned) { if (mtmp->mcan) { if (flags.soundok) ! You_hear("a cough from %s!", mon_nam(mtmp)); } else { if (flags.soundok) ! You_hear("%s hissing!", s_suffix(mon_nam(mtmp))); if(!rn2(10) || (flags.moonphase == NEW_MOON && !have_lizard())) { do_stone: --- 1231,1242 ---- if(!rn2(3) && !Stoned) { if (mtmp->mcan) { if (flags.soundok) ! /*JP You_hear("a cough from %s!", mon_nam(mtmp));*/ ! You("%s¤¬¥´¥Û¥Ã¥´¥Û¥Ã¤È¤¤¤¦²»¤òʹ¤¤¤¿¡ª", mon_nam(mtmp)); } else { if (flags.soundok) ! /*JP You_hear("%s hissing!", s_suffix(mon_nam(mtmp)));*/ ! You("%s¤¬¥·¡¼¥Ã¤È¤¤¤¦À¼¤òʹ¤¤¤¿¡ª", s_suffix(mon_nam(mtmp))); if(!rn2(10) || (flags.moonphase == NEW_MOON && !have_lizard())) { do_stone: *************** *** 1063,1069 **** if (u_slip_free(mtmp, mattk)) { dmg = 0; } else { ! pline("%s swings itself around you!", Monnam(mtmp)); u.ustuck = mtmp; } --- 1263,1270 ---- if (u_slip_free(mtmp, mattk)) { dmg = 0; } else { ! /*JP pline("%s swings itself around you!",*/ ! pline("%s¤Ï¼«Ê¬¼«¿È¤òÍí¤ß¤Ä¤«¤»¤Æ¤­¤¿¡ª", Monnam(mtmp)); u.ustuck = mtmp; } *************** *** 1075,1093 **** !Is_medusa_level(&u.uz) && !Is_waterlevel(&u.uz); ! pline("%s drowns you...", Monnam(mtmp)); killer_format = KILLED_BY_AN; ! Sprintf(buf, "%s by %s", moat ? "moat" : "pool of water", a_monnam(mtmp)); killer = buf; done(DROWNING); } else if(mattk->aatyp == AT_HUGS) ! You("are being crushed."); } else { dmg = 0; if(flags.verbose) ! pline("%s brushes against your %s.", Monnam(mtmp), body_part(LEG)); } } else dmg = 0; --- 1276,1300 ---- !Is_medusa_level(&u.uz) && !Is_waterlevel(&u.uz); ! /*JP pline("%s drowns you...", Monnam(mtmp));*/ ! pline("¤¢¤Ê¤¿¤Ï%s¤ËÍí¤ß¤Ä¤«¤ì¤ÆÅ®¤ì¤¿¡¥¡¥¡¥", Monnam(mtmp)); killer_format = KILLED_BY_AN; ! /*JP Sprintf(buf, "%s by %s", moat ? "moat" : "pool of water", + a_monnam(mtmp)) */ + Sprintf(buf, "%s¤Î%s¤ËÍí¤ß¤Ä¤«¤ì¤Æ", + moat ? "ËÙ" : "ÃÓ", a_monnam(mtmp)); killer = buf; done(DROWNING); } else if(mattk->aatyp == AT_HUGS) ! /*JP You("are being crushed.");*/ ! You("²¡¤·¤Ä¤Ö¤µ¤ì¤¿¡¥"); } else { dmg = 0; if(flags.verbose) ! /*JP pline("%s brushes against your %s.", Monnam(mtmp),*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î%s¤Ë¿¨¤ì¤¿¡¥", Monnam(mtmp), body_part(LEG)); } } else dmg = 0; *************** *** 1097,1103 **** if (uncancelled && !rn2(4) && u.ulycn == PM_PLAYERMON && !Protection_from_shape_changers && !defends(AD_WERE,uwep)) { ! You_feel("feverish."); exercise(A_CON, FALSE); u.ulycn = monsndx(mdat); } --- 1304,1310 ---- if (uncancelled && !rn2(4) && u.ulycn == PM_PLAYERMON && !Protection_from_shape_changers && !defends(AD_WERE,uwep)) { ! You("Ç®¤¬¤¢¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); exercise(A_CON, FALSE); u.ulycn = monsndx(mdat); } *************** *** 1116,1134 **** #endif ) { if (mtmp->minvent) ! pline("%s brags about the goods some dungeon explorer provided.", Monnam(mtmp)); else ! pline("%s makes some remarks about how difficult theft is lately.", Monnam(mtmp)); if (!tele_restrict(mtmp)) rloc(mtmp); return 3; } else if (mtmp->mcan) { if (!Blind) { ! pline("%s tries to %s you, but you seem %s.", Adjmonnam(mtmp, "plain"), flags.female ? "charm" : "seduce", ! flags.female ? "unaffected" : "uninterested"); } if(rn2(3)) { if (!tele_restrict(mtmp)) rloc(mtmp); --- 1323,1347 ---- #endif ) { if (mtmp->minvent) ! /*JP pline("%s brags about the goods some dungeon explorer provided.",*/ ! pline("%s¤Ï¤¢¤ë̵Üõ¸±²È¤¬ÃÖ¤¤¤Æ¤Ã¤¿ÉÊʪ¤ò¼«Ëý¤·¤¿", Monnam(mtmp)); else ! /*JP pline("%s makes some remarks about how difficult theft is lately.",*/ ! pline("%s¤ÏºÇ¶á¡¤ÀàÅ𤬤¤¤«¤Ëº¤Æñ¤«Ã¸¡¹¤È½Ò¤Ù¤¿¡¥", Monnam(mtmp)); if (!tele_restrict(mtmp)) rloc(mtmp); return 3; } else if (mtmp->mcan) { if (!Blind) { ! /*JP pline("%s tries to %s you, but you seem %s.", Adjmonnam(mtmp, "plain"), flags.female ? "charm" : "seduce", ! flags.female ? "unaffected" : "uninterested");*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ò%s¤·¤è¤¦¤È¤·¤¿¡¤¤·¤«¤·¤¢¤Ê¤¿¤Ï%s", ! Adjmonnam(mtmp, "ÉáÄ̤Î"), ! flags.female ? "̥λ" : "ͶÏÇ", ! flags.female ? "±Æ¶Á¤ò¤¦¤±¤Ê¤¤" : "¶½Ì£¤¬¤Ê¤¤"); } if(rn2(3)) { if (!tele_restrict(mtmp)) rloc(mtmp); *************** *** 1168,1174 **** hitmsg(mtmp, mattk); if (uncancelled) { if(flags.verbose) ! Your("position suddenly seems very uncertain!"); tele(); } break; --- 1381,1388 ---- hitmsg(mtmp, mattk); if (uncancelled) { if(flags.verbose) ! /*JP Your("position suddenly seems very uncertain!");*/ ! pline("¼«Ê¬¤Î¤¤¤ë°ÌÃÖ¤¬ÆÍÁ³ÉÔÌÀ³Î¤Ë¤Ê¤Ã¤¿¡ª"); tele(); } break; *************** *** 1176,1182 **** hitmsg(mtmp, mattk); if (mtmp->mcan) break; if (u.umonnum == PM_IRON_GOLEM) { ! You("rust!"); rehumanize(); break; } --- 1390,1397 ---- hitmsg(mtmp, mattk); if (mtmp->mcan) break; if (u.umonnum == PM_IRON_GOLEM) { ! /*JP You("rust!");*/ ! You("»¬¤Ó¤Ä¤¤¤¿¡ª"); rehumanize(); break; } *************** *** 1187,1193 **** if (mtmp->mcan) break; if (u.umonnum == PM_WOOD_GOLEM || u.umonnum == PM_LEATHER_GOLEM) { ! You("rot!"); rehumanize(); break; } --- 1402,1409 ---- if (mtmp->mcan) break; if (u.umonnum == PM_WOOD_GOLEM || u.umonnum == PM_LEATHER_GOLEM) { ! /*JP You("rot!");*/ ! You("Éå¤Ã¤¿¡ª"); rehumanize(); break; } *************** *** 1200,1206 **** --- 1416,1425 ---- #endif && !uarm && !uarmh && !uarms && !uarmg && !uarmc && !uarmf) { boolean goaway = FALSE; + /*JP pline("%s hits! (I hope you don't mind.)", Monnam(mtmp)); + */ + pline("%s¤Î¹¶·â¤ÏÌ¿Ã椷¤¿(µ¤¤Ë¤·¤Ê¤¤¤è¤¦¤Ë)", Monnam(mtmp)); if (Upolyd) { u.mh += rnd(7); if (!rn2(7)) { *************** *** 1238,1244 **** } else { if (Role_is('H')) { if (flags.soundok && !(moves % 5)) ! verbalize("Doc, I can't help you unless you cooperate."); dmg = 0; } else hitmsg(mtmp, mattk); } --- 1457,1464 ---- } else { if (Role_is('H')) { if (flags.soundok && !(moves % 5)) ! /*JP verbalize("Doc, I can't help you unless you cooperate.");*/ ! verbalize("¥É¥¯¥¿¡¼¡ª¶¨ÎϤò¤ª¤Í¤¬¤¤¤·¤Þ¤¹¤ï¡¥"); dmg = 0; } else hitmsg(mtmp, mattk); } *************** *** 1248,1257 **** if(!night() && mdat == &mons[PM_GREMLIN]) break; if(!mtmp->mcan && !rn2(10)) { if (flags.soundok) ! if (Blind) You_hear("laughter."); ! else pline("%s chuckles.", Monnam(mtmp)); if (u.umonnum == PM_CLAY_GOLEM) { ! pline("Some writing vanishes from your head!"); rehumanize(); break; } --- 1468,1480 ---- if(!night() && mdat == &mons[PM_GREMLIN]) break; if(!mtmp->mcan && !rn2(10)) { if (flags.soundok) ! /*JP if (Blind) You_hear("laughter."); ! else pline("%s chuckles.", Monnam(mtmp));*/ ! if (Blind) You_hear("¾Ð¤¤À¼¤òʹ¤¤¤¿¡¥"); ! else pline("%s¤Ï¥¯¥¹¥¯¥¹¾Ð¤Ã¤¿¡¥", Monnam(mtmp)); if (u.umonnum == PM_CLAY_GOLEM) { ! /*JP pline("Some writing vanishes from your head!");*/ ! pline("¤¤¤¯¤Ä¤«¤Îʸ»ú¤¬¤¢¤Ê¤¿¤ÎƬ¤«¤é¾Ã¤¨¤¿¡ª"); rehumanize(); break; } *************** *** 1269,1278 **** hitmsg(mtmp, mattk); if(!mtmp->mcan && !rn2(3)) if (resists_acid(&youmonst)) { ! pline("You're covered in acid, but it seems harmless."); dmg = 0; } else { ! pline("You're covered in acid! It burns!"); exercise(A_STR, FALSE); } else dmg = 0; --- 1492,1503 ---- hitmsg(mtmp, mattk); if(!mtmp->mcan && !rn2(3)) if (resists_acid(&youmonst)) { ! /*JP pline("You're covered in acid, but it seems harmless.");*/ ! pline("»À¤Çʤ¤ï¤ì¤¿¡¥¤·¤«¤·½ý¤Ä¤«¤Ê¤¤¡¥"); dmg = 0; } else { ! /*JP pline("You're covered in acid! It burns!");*/ ! You("»À¤Çʤ¤ï¤ì¾Æ¤±¤¿¡ª"); exercise(A_STR, FALSE); } else dmg = 0; *************** *** 1294,1330 **** if(!mtmp->mcan && !rn2(4) && !mtmp->mspec_used) { mtmp->mspec_used = mtmp->mspec_used + (dmg + rn2(6)); if(Confusion) ! You("are getting even more confused."); ! else You("are getting confused."); make_confused(HConfusion + dmg, FALSE); } /* fall through to next case */ case AD_DETH: ! pline("%s reaches out with its deadly touch.", Monnam(mtmp)); if (is_undead(uasmon)) { /* Still does normal damage */ ! pline("Was that the touch of death?"); break; } if(!Antimagic && rn2(20) > 16) { killer_format = KILLED_BY_AN; ! killer = "touch of death"; done(DIED); } else { if(!rn2(5)) { if(Antimagic) shieldeff(u.ux, u.uy); ! pline("Lucky for you, it didn't work!"); dmg = 0; ! } else You_feel("your life force draining away..."); } break; case AD_PEST: ! pline("%s reaches out, and you feel fever and chills.", Monnam(mtmp)); (void) diseasemu(mdat); /* plus the normal damage */ break; case AD_FAMN: ! pline("%s reaches out, and your body shrivels.", Monnam(mtmp)); exercise(A_CON, FALSE); if (!is_fainted()) morehungry(rn1(40,40)); --- 1519,1564 ---- if(!mtmp->mcan && !rn2(4) && !mtmp->mspec_used) { mtmp->mspec_used = mtmp->mspec_used + (dmg + rn2(6)); if(Confusion) ! /*JP You("are getting even more confused.");*/ ! You("¤Þ¤¹¤Þ¤¹º®Í𤷤¿¡¥"); ! /*JP else You("are getting confused.");*/ ! else You("º®Í𤷤Ƥ­¤¿¡¥"); make_confused(HConfusion + dmg, FALSE); } /* fall through to next case */ case AD_DETH: ! /*JP pline("%s reaches out with its deadly touch.", Monnam(mtmp));*/ ! pline("%s¤Ï»à¤ÎÏÓ¤ò¤Î¤Ð¤·¤¿¡¥", Monnam(mtmp)); if (is_undead(uasmon)) { /* Still does normal damage */ ! /*JP pline("Was that the touch of death?");*/ ! pline("¤³¤ì¤Ï»à¤ÎÀë¹ð¤«¤Ê¡©"); break; } if(!Antimagic && rn2(20) > 16) { killer_format = KILLED_BY_AN; ! /*JP killer = "touch of death";*/ ! killer = "»à¤ÎÏÓ¤Ç"; done(DIED); } else { if(!rn2(5)) { if(Antimagic) shieldeff(u.ux, u.uy); ! /*JP pline("Lucky for you, it didn't work!");*/ ! pline("±¿¤Î¤è¤¤¤³¤È¤Ë¤Ê¤ó¤È¤â¤Ê¤«¤Ã¤¿¡ª"); dmg = 0; ! /*JP } else You_feel("your life force draining away...");*/ ! } else You("ÂÎÎϤ¬Ã¥¤ï¤ì¤Æ¤¤¤¯¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥¡¥¡¥"); } break; case AD_PEST: ! /*JP pline("%s reaches out, and you feel fever and chills.",*/ ! pline("%s¤ÏÏÓ¤ò¤Î¤Ð¤·¤¿¡¤¤¢¤Ê¤¿¤Ï°­´¨¤ò´¶¤¸¤¿¡¥", Monnam(mtmp)); (void) diseasemu(mdat); /* plus the normal damage */ break; case AD_FAMN: ! /*JP pline("%s reaches out, and your body shrivels.",*/ ! pline("%s¤ÏÏÓ¤ò¿­¤Ð¤·¤¿¡¤¤¢¤Ê¤¿¤ÎÂΤϤ·¤Ü¤ó¤À¡¥", Monnam(mtmp)); exercise(A_CON, FALSE); if (!is_fainted()) morehungry(rn1(40,40)); *************** *** 1385,1404 **** place_monster(mtmp, u.ux, u.uy); u.ustuck = mtmp; newsym(mtmp->mx,mtmp->my); ! pline("%s engulfs you!", Monnam(mtmp)); stop_occupation(); if (u.utrap) { ! You("are released from the %s!", ! u.utraptype==TT_WEB ? "web" : "trap"); u.utrap = 0; } i = number_leashed(); if (i > 0) { ! pline_The("leash%s snap%s loose.", (i > 1) ? "es" : "", ! (i > 1) ? "" : "s"); unleash_all(); } --- 1619,1642 ---- place_monster(mtmp, u.ux, u.uy); u.ustuck = mtmp; newsym(mtmp->mx,mtmp->my); ! /*JP pline("%s engulfs you!", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ò°û¤ß¤³¤ó¤À¡ª", Monnam(mtmp)); stop_occupation(); if (u.utrap) { ! /*JP You("are released from the %s!", ! u.utraptype==TT_WEB ? "web" : "trap");*/ ! You("%s¤«¤é²òÊü¤µ¤ì¤¿¡ª", ! u.utraptype==TT_WEB ? "ÃØéá¤ÎÁã" : "æ«"); u.utrap = 0; } i = number_leashed(); if (i > 0) { ! /*JP pline_The("leash%s snap%s loose.", (i > 1) ? "es" : "", ! (i > 1) ? "" : "s");*/ ! pline("ɳ¤Ï¥Ñ¥Á¥ó¤ÈÀڤ줿¡¥"); unleash_all(); } *************** *** 1427,1458 **** case AD_DGST: if(u.uswldtim <= 1) { /* a3 *//*no cf unsigned <=0*/ ! pline("%s totally digests you!", Monnam(mtmp)); tmp = u.uhp; if (Half_physical_damage) tmp *= 2; /* sorry */ } else { ! pline("%s digests you!", Monnam(mtmp)); exercise(A_STR, FALSE); } break; case AD_PHYS: ! You("are pummeled with debris!"); exercise(A_STR, FALSE); break; case AD_ACID: if (resists_acid(&youmonst)) { ! You("are covered with a seemingly harmless goo."); tmp = 0; } else { ! if (Hallucination) pline("Ouch! You've been slimed!"); ! else You("are covered in slime! It burns!"); exercise(A_STR, FALSE); } break; case AD_BLND: if (!resists_blnd(&youmonst)) { if(!Blind) { ! You_cant("see in here!"); make_blinded((long)tmp,FALSE); } else /* keep him blind until disgorged */ --- 1665,1703 ---- case AD_DGST: if(u.uswldtim <= 1) { /* a3 *//*no cf unsigned <=0*/ ! /*JP pline("%s totally digests you!", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ò´°Á´¤Ë¾Ã²½¤·¤¿¡ª", Monnam(mtmp)); tmp = u.uhp; if (Half_physical_damage) tmp *= 2; /* sorry */ } else { ! /*JP pline("%s digests you!", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ò¾Ã²½¤·¤Æ¤¤¤ë¡ª", Monnam(mtmp)); exercise(A_STR, FALSE); } break; case AD_PHYS: ! /*JP You("are pummeled with debris!");*/ ! You("´¤ãª¤ÇÄˤá¤Ä¤±¤é¤ì¤¿¡ª"); exercise(A_STR, FALSE); break; case AD_ACID: if (resists_acid(&youmonst)) { ! /*JP You("are covered with a seemingly harmless goo.");*/ ! You("¤Í¤Ð¤Ä¤¯¤â¤Î¤Ç¤ª¤ï¤ì¤¿¡¥"); tmp = 0; } else { ! /*JP if (Hallucination) pline("Ouch! You've been slimed!"); ! else You("are covered in slime! It burns!");*/ ! if (Hallucination) pline("¤²¤²¤ó¡ª¤¢¤Ê¤¿¤Ï¤Ì¤ë¤Ì¤ë¤À¡ª"); ! else You("¥¹¥é¥¤¥à¤Ëʤ¤ï¤ì¤¿¡¥¤½¤·¤Æ»À¤Ë¾Æ¤«¤ì¤¿¡ª"); exercise(A_STR, FALSE); } break; case AD_BLND: if (!resists_blnd(&youmonst)) { if(!Blind) { ! /*JP You_cant("see in here!");*/ ! You("²¿¤â¸«¤¨¤Ê¤¤¡ª"); make_blinded((long)tmp,FALSE); } else /* keep him blind until disgorged */ *************** *** 1462,1471 **** break; case AD_ELEC: if(!mtmp->mcan && rn2(2)) { ! pline_The("air around you crackles with electricity."); if (Shock_resistance) { shieldeff(u.ux, u.uy); ! You("seem unhurt."); ugolemeffects(AD_ELEC,tmp); tmp = 0; } --- 1707,1719 ---- break; case AD_ELEC: if(!mtmp->mcan && rn2(2)) { ! /*JP pline_The("air around you crackles with electricity.");*/ ! pline("¤¢¤Ê¤¿¤Î²ó¤ê¤Î¶õµ¤¤ÏÀÅÅŵ¤¤Ç¥Ô¥ê¥Ô¥ê¤·¤Æ¤¤¤ë¡¥"); ! if (Shock_resistance) { shieldeff(u.ux, u.uy); ! /*JP You("seem unhurt.");*/ ! You("½ý¤Ä¤«¤Ê¤¤¤è¤¦¤À¡¥"); ugolemeffects(AD_ELEC,tmp); tmp = 0; } *************** *** 1475,1494 **** if(!mtmp->mcan && rn2(2)) { if (Cold_resistance) { shieldeff(u.ux, u.uy); ! You_feel("mildly chilly."); ugolemeffects(AD_COLD,tmp); tmp = 0; ! } else You("are freezing to death!"); } else tmp = 0; break; case AD_FIRE: if(!mtmp->mcan && rn2(2)) { if (Fire_resistance) { shieldeff(u.ux, u.uy); ! You_feel("mildly hot."); ugolemeffects(AD_FIRE,tmp); tmp = 0; ! } else You("are burning to a crisp!"); } else tmp = 0; break; case AD_DISE: --- 1723,1746 ---- if(!mtmp->mcan && rn2(2)) { if (Cold_resistance) { shieldeff(u.ux, u.uy); ! /*JP You_feel("mildly chilly.");*/ ! pline("¤Ò¤ó¤ä¤ê¤·¤¿¡¥"); ugolemeffects(AD_COLD,tmp); tmp = 0; ! /*JP } else You("are freezing to death!");*/ ! } else You("Åà»à¤·¤½¤¦¤À¡ª"); } else tmp = 0; break; case AD_FIRE: if(!mtmp->mcan && rn2(2)) { if (Fire_resistance) { shieldeff(u.ux, u.uy); ! /*JP You_feel("mildly hot.");*/ ! pline("¥Ý¥«¥Ý¥«¤·¤¿¡¥"); ugolemeffects(AD_FIRE,tmp); tmp = 0; ! /*JP } else You("are burning to a crisp!");*/ ! } else You("dz¤¨¤Æ¥«¥é¥«¥é¤Ë¤Ê¤Ã¤¿¡ª"); } else tmp = 0; break; case AD_DISE: *************** *** 1506,1518 **** if(u.uswldtim) --u.uswldtim; if (u.umonnum == PM_COCKATRICE && !resists_ston(mtmp)) { ! pline("%s very hurriedly %s you!", Monnam(mtmp), ! is_animal(mtmp->data)? "regurgitates" : "expels"); expels(mtmp, mtmp->data, FALSE); } else if (!u.uswldtim || uasmon->msize >= MZ_HUGE) { ! You("get %s!", is_animal(mtmp->data)? "regurgitated" : "expelled"); if (flags.verbose && is_animal(mtmp->data)) ! pline("Obviously %s doesn't like your taste.", mon_nam(mtmp)); expels(mtmp, mtmp->data, FALSE); } --- 1758,1774 ---- if(u.uswldtim) --u.uswldtim; if (u.umonnum == PM_COCKATRICE && !resists_ston(mtmp)) { ! /*JP pline("%s very hurriedly %s you!", Monnam(mtmp), ! is_animal(mtmp->data)? "regurgitates" : "expels");*/ ! pline("%s¤ÏµÞ¤¤¤Ç¤¢¤Ê¤¿¤ò%s¤·¤¿¡ª", Monnam(mtmp), ! is_animal(mtmp->data)? "ÅǤ­Ìá" : "ÇÓ½Ð"); expels(mtmp, mtmp->data, FALSE); } else if (!u.uswldtim || uasmon->msize >= MZ_HUGE) { ! /*JP You("get %s!", is_animal(mtmp->data)? "regurgitated" : "expelled");*/ ! You("%s¤µ¤ì¤¿¡ª", is_animal(mtmp->data)? "ÅǤ­Ìá" : "ÇÓ½Ð"); if (flags.verbose && is_animal(mtmp->data)) ! /*JP pline("Obviously %s doesn't like your taste.",*/ ! You("¤É¤¦¤â%s¹¥¤ß¤ÎÌ£¤¸¤ã¤Ê¤¤¤è¤¦¤À¡¥", mon_nam(mtmp)); expels(mtmp, mtmp->data, FALSE); } *************** *** 1528,1535 **** if (mtmp->mcan) return(0); if (!ufound) ! pline("%s explodes at a spot in thin air!", ! canseemon(mtmp) ? Monnam(mtmp) : "It"); else { register int tmp = d((int)mattk->damn, (int)mattk->damd); register boolean not_affected = defends((int)mattk->adtyp, uwep); --- 1784,1793 ---- if (mtmp->mcan) return(0); if (!ufound) ! /*JP pline("%s explodes at a spot in thin air!", ! canseemon(mtmp) ? Monnam(mtmp) : "It");*/ ! pline("%s¤Ï²¿¤â¤Ê¤¤¤È¤³¤í¤ÇÇúȯ¤·¤¿¡ª", ! canseemon(mtmp) ? Monnam(mtmp) : "²¿¼Ô¤«"); else { register int tmp = d((int)mattk->damn, (int)mattk->damd); register boolean not_affected = defends((int)mattk->adtyp, uwep); *************** *** 1542,1551 **** if (!not_affected) { if (ACURR(A_DEX) > rnd(20)) { ! You("duck some of the blast."); tmp = (tmp+1) / 2; } else { ! if (flags.verbose) You("get blasted!"); } if (Half_physical_damage) tmp = (tmp+1) / 2; mdamageu(mtmp, tmp); --- 1800,1811 ---- if (!not_affected) { if (ACURR(A_DEX) > rnd(20)) { ! /*JP You("duck some of the blast.");*/ ! You("ÇúÉ÷¤ò¤µ¤±¤¿¡¥"); tmp = (tmp+1) / 2; } else { ! /*JP if (flags.verbose) You("get blasted!");*/ ! if (flags.verbose) You("ÇúÉ÷¤ò¤¯¤é¤Ã¤¿¡ª"); } if (Half_physical_damage) tmp = (tmp+1) / 2; mdamageu(mtmp, tmp); *************** *** 1557,1567 **** if (!not_affected) { /* sometimes you're affected even if it's invisible */ if (mon_visible(mtmp) || (rnd(tmp /= 2) > u.ulevel)) { ! You("are blinded by a blast of light!"); make_blinded((long)tmp, FALSE); } else if (flags.verbose) ! You("get the impression it was not terribly bright."); } break; --- 1817,1829 ---- if (!not_affected) { /* sometimes you're affected even if it's invisible */ if (mon_visible(mtmp) || (rnd(tmp /= 2) > u.ulevel)) { ! /*JP You("are blinded by a blast of light!");*/ ! You("¤Þ¤Ð¤æ¤¤¸÷¤ËÌܤ¬¤¯¤é¤ó¤À¡ª"); make_blinded((long)tmp, FALSE); } else if (flags.verbose) ! /*JP You("get the impression it was not terribly bright.");*/ ! You("¤½¤ì¤Ï¶²¤í¤·¤¤¸÷¤¸¤ã¤Ê¤¤¤È»×¤Ã¤¿¡¥"); } break; *************** *** 1572,1578 **** dmgtype(uasmon, AD_STUN)); if (!not_affected) { if (!Hallucination) ! You("are freaked by a blast of kaleidoscopic light!"); make_hallucinated(HHallucination + (long)tmp,FALSE,0L); } break; --- 1834,1841 ---- dmgtype(uasmon, AD_STUN)); if (!not_affected) { if (!Hallucination) ! /*JP You("are freaked by a blast of kaleidoscopic light!");*/ ! You("Ëü²Ú¶À¤Î¸÷¤Ë¿ì¤¤¤·¤ì¤¿¡ª"); make_hallucinated(HHallucination + (long)tmp,FALSE,0L); } break; *************** *** 1581,1587 **** break; } if (not_affected) { ! You("seem unaffected by it."); ugolemeffects((int)mattk->adtyp, tmp); } } --- 1844,1851 ---- break; } if (not_affected) { ! /*JP You("seem unaffected by it.");*/ ! You("±Æ¶Á¤ò¼õ¤±¤Ê¤¤¤è¤¦¤À¡¥"); ugolemeffects((int)mattk->adtyp, tmp); } } *************** *** 1599,1605 **** case AD_STON: if (mtmp->mcan) { if (mtmp->data == &mons[PM_MEDUSA] && canseemon(mtmp)) ! pline("%s doesn't look all that ugly.", Monnam(mtmp)); break; } if(Reflecting && m_canseeu(mtmp) && --- 1863,1870 ---- case AD_STON: if (mtmp->mcan) { if (mtmp->data == &mons[PM_MEDUSA] && canseemon(mtmp)) ! /*JP pline("%s doesn't look all that ugly.", Monnam(mtmp));*/ ! You("%s¤Ï¤½¤ì¤Û¤É½¹¤¯¤Ê¤¤¤³¤È¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥", mon_nam(mtmp)); break; } if(Reflecting && m_canseeu(mtmp) && *************** *** 1609,1621 **** makeknown(AMULET_OF_REFLECTION); else makeknown(SHIELD_OF_REFLECTION); ! pline("%s gaze is reflected by your %s.", s_suffix(Monnam(mtmp)), (Reflecting & W_AMUL) ? ! "medallion" : "shield"); ! if (mon_reflects(mtmp, "The gaze is reflected away by %s %s!")) break; ! pline("%s is turned to stone!", Monnam(mtmp)); } stoned = TRUE; killed(mtmp); --- 1874,1893 ---- makeknown(AMULET_OF_REFLECTION); else makeknown(SHIELD_OF_REFLECTION); ! /*JP pline("%s gaze is reflected by your %s.", s_suffix(Monnam(mtmp)), (Reflecting & W_AMUL) ? ! "medallion" : "shield");*/ ! pline("%s¤Î¤Ë¤é¤ß¤Ï%s¤ÇÈ¿¼Í¤µ¤ì¤¿¡¥", ! s_suffix(Monnam(mtmp)), ! (Reflecting & W_AMUL) ? ! "Ëâ½ü¤±" : "½â"); ! pline("%s¤ÏÀФˤʤä¿¡ª", Monnam(mtmp)); ! /*JP if (mon_reflects(mtmp, "The gaze is reflected away by %s %s!"))*/ ! if (mon_reflects(mtmp, "¤Ë¤é¤ß¤Ï%s¤Î%s¤Ë¤è¤Ã¤ÆÈ¿¼Í¤µ¤ì¤¿¡¥")) break; ! /*JP pline("%s is turned to stone!", Monnam(mtmp));*/ ! pline("%s¤ÏÀФˤʤä¿¡ª", Monnam(mtmp)); } stoned = TRUE; killed(mtmp); *************** *** 1624,1635 **** return 2; } if (canseemon(mtmp) && !resists_ston(&youmonst)) { ! You("look upon %s.", mon_nam(mtmp)); if(poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM)) break; ! You("turn to stone..."); killer_format = KILLED_BY; ! killer = mons[PM_MEDUSA].mname; done(STONING); } break; --- 1896,1913 ---- return 2; } if (canseemon(mtmp) && !resists_ston(&youmonst)) { ! char jbuf[BUFSZ]; ! /*JP You("look upon %s.", mon_nam(mtmp));*/ ! You("%s¤ò¸«¤¿¡¥", mon_nam(mtmp)); if(poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM)) break; ! /*JP You("turn to stone...");*/ ! You("Àв½¤·¤¿¡¥¡¥¡¥"); killer_format = KILLED_BY; ! /*JP killer = mons[PM_MEDUSA].mname;*/ ! Strcpy(jbuf, jtrns_mon(mons[PM_MEDUSA].mname, -1)); ! Strcat(jbuf, "¤Î¤Ë¤é¤ß¤Ç"); ! killer = jbuf; done(STONING); } break; *************** *** 1640,1649 **** mtmp->mspec_used = mtmp->mspec_used + (conf + rn2(6)); if(!Confusion) ! pline("%s gaze confuses you!", s_suffix(Monnam(mtmp))); else ! You("are getting more and more confused."); make_confused(HConfusion + conf, FALSE); } break; --- 1918,1929 ---- mtmp->mspec_used = mtmp->mspec_used + (conf + rn2(6)); if(!Confusion) ! /*JP pline("%s gaze confuses you!",*/ ! pline("%s¤Î¤Ë¤é¤ß¤Ç¤¢¤Ê¤¿¤Ïº®Í𤷤¿¡ª", s_suffix(Monnam(mtmp))); else ! /*JP You("are getting more and more confused.");*/ ! You("¤Þ¤¹¤Þ¤¹º®Í𤷤¿¡¥"); make_confused(HConfusion + conf, FALSE); } break; *************** *** 1654,1660 **** mtmp->mspec_used = mtmp->mspec_used + (stun + rn2(6)); make_stunned(HStun + stun, TRUE); ! pline("%s stares piercingly at you!", Monnam(mtmp)); } break; case AD_BLND: --- 1934,1941 ---- mtmp->mspec_used = mtmp->mspec_used + (stun + rn2(6)); make_stunned(HStun + stun, TRUE); ! /*JP pline("%s stares piercingly at you!", Monnam(mtmp));*/ ! pline("%s¤ÏÎ䤤¤Þ¤Ê¤¶¤·¤ò¤¢¤Ê¤¿¤Ë¸þ¤±¤¿¡ª", Monnam(mtmp)); } break; case AD_BLND: *************** *** 1663,1669 **** int blnd = d((int)mattk->damn, (int)mattk->damd); make_blinded((long)blnd,FALSE); make_stunned((long)d(1,3),TRUE); ! You("are blinded by %s radiance!", s_suffix(mon_nam(mtmp))); } break; --- 1944,1951 ---- int blnd = d((int)mattk->damn, (int)mattk->damd); make_blinded((long)blnd,FALSE); make_stunned((long)d(1,3),TRUE); ! /*JP You("are blinded by %s radiance!",*/ ! You("%s¤Î¸÷¤ÇÌܤ¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡ª", s_suffix(mon_nam(mtmp))); } break; *************** *** 1671,1677 **** case AD_SLEE: if(multi >= 0 && !rn2(5) && !Sleep_resistance) { fall_asleep(-rnd(10), TRUE); ! pline("%s gaze makes you very sleepy...", s_suffix(Monnam(mtmp))); } break; --- 1953,1960 ---- case AD_SLEE: if(multi >= 0 && !rn2(5) && !Sleep_resistance) { fall_asleep(-rnd(10), TRUE); ! /*JP pline("%s gaze makes you very sleepy...",*/ ! pline("%s¤Î¤Ë¤é¤ß¤Ç¤¢¤Ê¤¿¤Ï̲¤¯¤Ê¤Ã¤¿¡¥¡¥¡¥", s_suffix(Monnam(mtmp))); } break; *************** *** 1721,1734 **** is_rustprone(obj) && obj->oeroded < MAX_ERODE) { if (obj->greased || obj->oerodeproof || (obj->blessed && rn2(3))) { if (vis) ! pline("Somehow, %s weapon is not affected.", s_suffix(mon_nam(mon))); if (obj->greased && !rn2(2)) obj->greased = 0; } else { if (vis) ! pline("%s %s%s!", s_suffix(Monnam(mon)), aobjnam(obj, "rust"), ! obj->oeroded ? " further" : ""); obj->oeroded++; } } --- 2004,2021 ---- is_rustprone(obj) && obj->oeroded < MAX_ERODE) { if (obj->greased || obj->oerodeproof || (obj->blessed && rn2(3))) { if (vis) ! /*JP pline("Somehow, %s weapon is not affected.",*/ ! pline("¤É¤¦¤¤¤¦¤ï¤±¤«¡¤%s¤ÎÉð´ï¤Ï±Æ¶Á¤ò¤¦¤±¤Ê¤¤¡¥", s_suffix(mon_nam(mon))); if (obj->greased && !rn2(2)) obj->greased = 0; } else { if (vis) ! /*JP pline("%s %s%s!", s_suffix(Monnam(mon)), aobjnam(obj, "rust"), ! obj->oeroded ? " further" : "");*/ ! pline("%s¤Î%s¤Ï%s»¬¤Ó¤¿¡ª", ! s_suffix(Monnam(mon)), xname(obj), ! obj->oeroded ? "¤µ¤é¤Ë" : ""); obj->oeroded++; } } *************** *** 1801,1832 **** char qbuf[QBUFSZ]; if (mon->mcan || mon->mspec_used) { ! pline("%s acts as though %s has got a %sheadache.", Monnam(mon), he[pronoun_gender(mon)], ! mon->mcan ? "severe " : ""); return 0; } if (unconscious()) { ! pline("%s seems dismayed at your lack of response.", Monnam(mon)); return 0; } ! if (Blind) pline("It caresses you..."); ! else You_feel("very attracted to %s.", mon_nam(mon)); for(ring = invent; ring; ring = nring) { nring = ring->nobj; if (ring->otyp != RIN_ADORNMENT) continue; if (fem) { if (rn2(20) < ACURR(A_CHA)) { ! Sprintf(qbuf, "\"That %s looks pretty. May I have it?\"", xname(ring)); makeknown(RIN_ADORNMENT); if (yn(qbuf) == 'n') continue; ! } else pline("%s decides she'd like your %s, and takes it.", ! Blind ? "She" : Monnam(mon), xname(ring)); makeknown(RIN_ADORNMENT); if (ring==uleft || ring==uright) Ring_gone(ring); if (ring==uwep) setuwep((struct obj *)0); --- 2088,2128 ---- char qbuf[QBUFSZ]; if (mon->mcan || mon->mspec_used) { ! /*JP pline("%s acts as though %s has got a %sheadache.", Monnam(mon), he[pronoun_gender(mon)], ! mon->mcan ? "severe " : "");*/ ! pline("%s¤Ï%sƬ¤¬Äˤ¤¤Õ¤ê¤ò¤·¤¿¡¥", ! Monnam(mon), ! mon->mcan ? "¤Ò¤É¤¯" : ""); return 0; } if (unconscious()) { ! /*JP pline("%s seems dismayed at your lack of response.",*/ ! pline("%s¤ÏÊÖ»ö¤¬¤Ê¤¤¤Î¤Çµ¤¤¬°à¤¨¤¿¤è¤¦¤À¡¥", Monnam(mon)); return 0; } ! /*JP if (Blind) pline("It caresses you..."); ! else You_feel("very attracted to %s.", mon_nam(mon));*/ ! if (Blind) pline("²¿¼Ô¤«¤Ï¤¢¤Ê¤¿¤òÊú¤­¤·¤á¤Æ¤ë¡¥¡¥¡¥"); ! else You("%s¤Ë°ú¤­¤Ä¤±¤é¤ì¤Æ¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥", mon_nam(mon)); for(ring = invent; ring; ring = nring) { nring = ring->nobj; if (ring->otyp != RIN_ADORNMENT) continue; if (fem) { if (rn2(20) < ACURR(A_CHA)) { ! /*JP Sprintf(qbuf, "\"That %s looks pretty. May I have it?\"",*/ ! Sprintf(qbuf, "¡Ö¤Ê¤ó¤ÆÁÇŨ¤Ê%s¤Ç¤·¤ç¤¦¡¥¤ï¤¿¤·¤Ë¤¯¤ì¤Þ¤»¤ó¡©¡×", xname(ring)); makeknown(RIN_ADORNMENT); if (yn(qbuf) == 'n') continue; ! /*JP } else pline("%s decides she'd like your %s, and takes it.", ! Blind ? "She" : Monnam(mon), xname(ring));*/ ! } else pline("%s¤Ï%s¤¬¤È¤Æ¤âµ¤¤Ë¤¤¤Ã¤Æ¡¤¤½¤ì¤ò¼è¤ê¤¢¤²¤¿¡¥", ! Blind ? "Èà½÷" : Monnam(mon), xname(ring)); makeknown(RIN_ADORNMENT); if (ring==uleft || ring==uright) Ring_gone(ring); if (ring==uwep) setuwep((struct obj *)0); *************** *** 1840,1873 **** break; if (ring==uleft || ring==uright) continue; if (rn2(20) < ACURR(A_CHA)) { ! Sprintf(qbuf,"\"That %s looks pretty. Would you wear it for me?\"", xname(ring)); makeknown(RIN_ADORNMENT); if (yn(qbuf) == 'n') continue; } else { ! pline("%s decides you'd look prettier wearing your %s,", Blind ? "He" : Monnam(mon), xname(ring)); ! pline("and puts it on your finger."); } makeknown(RIN_ADORNMENT); if (!uright) { ! pline("%s puts %s on your right hand.", ! Blind ? "He" : Monnam(mon), the(xname(ring))); setworn(ring, RIGHT_RING); } else if (!uleft) { ! pline("%s puts %s on your left hand.", ! Blind ? "He" : Monnam(mon), the(xname(ring))); setworn(ring, LEFT_RING); } else if (uright && uright->otyp != RIN_ADORNMENT) { Strcpy(buf, xname(uright)); ! pline("%s replaces your %s with your %s.", ! Blind ? "He" : Monnam(mon), buf, xname(ring)); Ring_gone(uright); setworn(ring, RIGHT_RING); } else if (uleft && uleft->otyp != RIN_ADORNMENT) { Strcpy(buf, xname(uleft)); ! pline("%s replaces your %s with your %s.", ! Blind ? "He" : Monnam(mon), buf, xname(ring)); Ring_gone(uleft); setworn(ring, LEFT_RING); } else impossible("ring replacement"); --- 2136,2181 ---- break; if (ring==uleft || ring==uright) continue; if (rn2(20) < ACURR(A_CHA)) { ! /*JP Sprintf(qbuf,"\"That %s looks pretty. Would you wear it for me?\"",*/ ! Sprintf(qbuf,"¡Ö¤ª¤ä¤Ê¤ó¤Æ¤¹¤Ð¤é¤·¤¤%s¤À¡¥»ä¤Î¤¿¤á¤Ë»Ø¤Ë¤Ï¤á¤Æ¤¯¤ì¤Ê¤¤¤«¤¤¡©¡×", xname(ring)); makeknown(RIN_ADORNMENT); if (yn(qbuf) == 'n') continue; } else { ! /*JP pline("%s decides you'd look prettier wearing your %s,", Blind ? "He" : Monnam(mon), xname(ring)); ! pline("and puts it on your finger.");*/ ! pline("%s¤Ï%s¤ò¤Ä¤±¤¿¤¢¤Ê¤¿¤¬¤è¤êÌ¥ÎÏŪ¤À¤È¹Í¤¨¡¤", ! Blind ? "Èà" : Monnam(mon), xname(ring)); ! pline("¤¢¤Ê¤¿¤Î»Ø¤Ë¤½¤ì¤ò¤Ï¤á¤¿¡¥"); } makeknown(RIN_ADORNMENT); if (!uright) { ! /*JP pline("%s puts %s on your right hand.", ! Blind ? "He" : Monnam(mon), the(xname(ring)));*/ ! pline("%s¤Ï%s¤ò¤¢¤Ê¤¿¤Î±¦¼ê¤Ë¤Ï¤á¤¿¡¥", ! Blind ? "Èà" : Monnam(mon), the(xname(ring))); setworn(ring, RIGHT_RING); } else if (!uleft) { ! /*JP pline("%s puts %s on your left hand.", ! Blind ? "He" : Monnam(mon), the(xname(ring)));*/ ! pline("%s¤Ï%s¤ò¤¢¤Ê¤¿¤Îº¸¼ê¤Ë¤Ï¤á¤¿¡¥", ! Blind ? "Èà" : Monnam(mon), the(xname(ring))); setworn(ring, LEFT_RING); } else if (uright && uright->otyp != RIN_ADORNMENT) { Strcpy(buf, xname(uright)); ! /*JP pline("%s replaces your %s with your %s.", ! Blind ? "He" : Monnam(mon), buf, xname(ring));*/ ! pline("%s¤Ï%s¤ò%s¤Ë¤È¤ê¤«¤¨¤¿¡¥", ! Blind ? "Èà" : Monnam(mon), buf, xname(ring)); Ring_gone(uright); setworn(ring, RIGHT_RING); } else if (uleft && uleft->otyp != RIN_ADORNMENT) { Strcpy(buf, xname(uleft)); ! /*JP pline("%s replaces your %s with your %s.", ! Blind ? "He" : Monnam(mon), buf, xname(ring));*/ ! pline("%s¤Ï%s¤ò%s¤Ë¤È¤ê¤«¤¨¤¿¡¥", ! Blind ? "Èà" : Monnam(mon), buf, xname(ring)); Ring_gone(uleft); setworn(ring, LEFT_RING); } else impossible("ring replacement"); *************** *** 1881,1907 **** && !uarmu #endif ) ! pline("%s murmurs sweet nothings into your ear.", ! Blind ? (fem ? "She" : "He") : Monnam(mon)); else ! pline("%s murmurs in your ear, while helping you undress.", ! Blind ? (fem ? "She" : "He") : Monnam(mon)); ! mayberem(uarmc, "cloak"); if(!uarmc) ! mayberem(uarm, "suit"); ! mayberem(uarmf, "boots"); if(!uwep || !welded(uwep)) ! mayberem(uarmg, "gloves"); ! mayberem(uarms, "shield"); ! mayberem(uarmh, "helmet"); #ifdef TOURIST if(!uarmc && !uarm) ! mayberem(uarmu, "shirt"); #endif if (uarm || uarmc) { ! verbalize("You're such a %s; I wish...", ! flags.female ? "sweet lady" : "nice guy"); if (!tele_restrict(mon)) rloc(mon); return 1; } --- 2189,2227 ---- && !uarmu #endif ) ! /*JP pline("%s murmurs sweet nothings into your ear.", ! Blind ? (fem ? "She" : "He") : Monnam(mon));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î¼ª¤â¤È¤Ç´Å¤¤¤µ¤µ¤ä¤­¤ò¤Ä¤Ö¤ä¤¤¤¿¡¥", ! Blind ? (fem ? "Èà½÷" : "Èà") : Monnam(mon)); else ! /*JP pline("%s murmurs in your ear, while helping you undress.", ! Blind ? (fem ? "She" : "He") : Monnam(mon));*/ ! pline("%s¤Ï¼ª¤â¤È¤Ç¤¢¤Ê¤¿¤ÎÉþ¤ò椬¤»¤Ê¤¬¤é¤µ¤µ¤ä¤¤¤¿", ! Blind ? (fem ? "Èà½÷" : "Èà") : Monnam(mon)); ! /*JP mayberem(uarmc, "cloak");*/ ! mayberem(uarmc, "¥¯¥í¡¼¥¯"); if(!uarmc) ! /*JP mayberem(uarm, "suit");*/ ! mayberem(uarm, "¥¹¡¼¥Ä"); ! /*JP mayberem(uarmf, "boots");*/ ! mayberem(uarmf, "¥Ö¡¼¥Ä"); if(!uwep || !welded(uwep)) ! /*JP mayberem(uarmg, "gloves");*/ ! mayberem(uarmg, "¾®¼ê"); ! /*JP mayberem(uarms, "shield"); ! mayberem(uarmh, "helmet");*/ ! mayberem(uarms, "½â"); ! mayberem(uarmh, "³õ"); #ifdef TOURIST if(!uarmc && !uarm) ! /*JP mayberem(uarmu, "shirt");*/ ! mayberem(uarmu, "¥·¥ã¥Ä"); #endif if (uarm || uarmc) { ! /*JP verbalize("You're such a %s; I wish...", ! flags.female ? "sweet lady" : "nice guy");*/ ! verbalize( flags.female ? "¥Á¥ã¡¼¥ß¥ó¥°¤À¡¥¡¥¡¥¤È¤¤¤¤¤Î¤Ë" : "¤¹¤Æ¤­¡¥¡¥¡¥¤À¤È¤¤¤¤¤Î¤Ë"); if (!tele_restrict(mon)) rloc(mon); return 1; } *************** *** 1909,1983 **** adjalign(1); /* by this point you have discovered mon's identity, blind or not... */ ! pline("Time stands still while you and %s lie in each other's arms...", mon_nam(mon)); if (rn2(35) > ACURR(A_CHA) + ACURR(A_INT)) { /* Don't bother with mspec_used here... it didn't get tired! */ ! pline("%s seems to have enjoyed it more than you...", ! Monnam(mon)); switch (rn2(5)) { ! case 0: You_feel("drained of energy."); u.uen = 0; u.uenmax -= rnd(Half_physical_damage ? 5 : 10); exercise(A_CON, FALSE); if (u.uenmax < 0) u.uenmax = 0; break; ! case 1: You("are down in the dumps."); (void) adjattrib(A_CON, -1, TRUE); exercise(A_CON, FALSE); flags.botl = 1; break; ! case 2: Your("senses are dulled."); (void) adjattrib(A_WIS, -1, TRUE); exercise(A_WIS, FALSE); flags.botl = 1; break; case 3: if (!resists_drli(&youmonst)) { ! You_feel("out of shape."); losexp(); if(u.uhp <= 0) { killer_format = KILLED_BY; ! killer = "overexertion"; done(DIED); } } else { ! You("have a curious feeling..."); } break; case 4: { int tmp; ! You_feel("exhausted."); exercise(A_STR, FALSE); tmp = rn1(10, 6); if(Half_physical_damage) tmp = (tmp+1) / 2; ! losehp(tmp, "exhaustion", KILLED_BY); break; } } } else { mon->mspec_used = rnd(100); /* monster is worn out */ ! You("seem to have enjoyed it more than %s...", mon_nam(mon)); switch (rn2(5)) { ! case 0: You_feel("raised to your full potential."); exercise(A_CON, TRUE); u.uen = (u.uenmax += rnd(5)); break; ! case 1: You_feel("good enough to do it again."); (void) adjattrib(A_CON, 1, TRUE); exercise(A_CON, TRUE); flags.botl = 1; break; ! case 2: You("will always remember %s...", mon_nam(mon)); (void) adjattrib(A_WIS, 1, TRUE); exercise(A_WIS, TRUE); flags.botl = 1; break; ! case 3: pline("That was a very educational experience."); pluslvl(); exercise(A_WIS, TRUE); break; ! case 4: You_feel("restored to health!"); u.uhp = u.uhpmax; if (Upolyd) u.mh = u.mhmax; exercise(A_STR, TRUE); --- 2229,2321 ---- adjalign(1); /* by this point you have discovered mon's identity, blind or not... */ ! ! ! /*JP pline("Time stands still while you and %s lie in each other's arms...",*/ ! pline("¤¢¤Ê¤¿¤È%s¤¬Êú¤­¹ç¤¦´Ö¡¤»þ¤Ï»ß¤Þ¤Ã¤¿¤è¤¦¤À¤Ã¤¿¡¥¡¥¡¥", mon_nam(mon)); if (rn2(35) > ACURR(A_CHA) + ACURR(A_INT)) { /* Don't bother with mspec_used here... it didn't get tired! */ ! /*JP pline("%s seems to have enjoyed it more than you...",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤è¤ê¤º¤Ã¤È³Ú¤·¤ó¤À¤è¤¦¤À¡¥¡¥¡¥", ! Monnam(mon)); switch (rn2(5)) { ! /*JP case 0: You_feel("drained of energy.");*/ ! case 0: You("ÂÎÎϤ¬¾ÃÌפ·¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); u.uen = 0; u.uenmax -= rnd(Half_physical_damage ? 5 : 10); exercise(A_CON, FALSE); if (u.uenmax < 0) u.uenmax = 0; break; ! /*JP case 1: You("are down in the dumps.");*/ ! case 1: You("°Õµ¤¾ÃÄÀ¤·¤¿¡¥"); (void) adjattrib(A_CON, -1, TRUE); exercise(A_CON, FALSE); flags.botl = 1; break; ! /*JP case 2: Your("senses are dulled.");*/ ! case 2: Your("¸Þ´¶¤ÏÆߤä¿¡¥"); (void) adjattrib(A_WIS, -1, TRUE); exercise(A_WIS, FALSE); flags.botl = 1; break; case 3: if (!resists_drli(&youmonst)) { ! /*JP You_feel("out of shape.");*/ ! You("¤¯¤¿¤Ó¤ì¤¿¡¥"); losexp(); if(u.uhp <= 0) { killer_format = KILLED_BY; ! /*JP killer = "overexertion";*/ ! killer = "²áÏ«¤Ç"; done(DIED); } } else { ! /*JP You("have a curious feeling...");*/ ! You("ÊѤʴ¶¤¸¤¬¤·¤¿¡¥¡¥¡¥"); } break; case 4: { int tmp; ! /*JP You_feel("exhausted.");*/ ! You("ÀºÎϤ¬¿Ô¤­¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); exercise(A_STR, FALSE); tmp = rn1(10, 6); if(Half_physical_damage) tmp = (tmp+1) / 2; ! /*JP losehp(tmp, "exhaustion", KILLED_BY);*/ ! losehp(tmp, "ÀºÎϤλȤ¤¤¹¤®¤Ç", KILLED_BY); break; } } } else { mon->mspec_used = rnd(100); /* monster is worn out */ ! /*JP You("seem to have enjoyed it more than %s...", mon_nam(mon));*/ ! You("%s¤è¤ê¤â³Ú¤·¤ó¤Ç¤¤¤ë¤è¤¦¤À¡¥¡¥¡¥", mon_nam(mon)); switch (rn2(5)) { ! /*JP case 0: You_feel("raised to your full potential.");*/ ! case 0: You("Àäĺ¤Ë㤷¤¿¡ª"); exercise(A_CON, TRUE); u.uen = (u.uenmax += rnd(5)); break; ! /*JP case 1: You_feel("good enough to do it again.");*/ ! case 1: You("¤Þ¤À¤Ç¤­¤ë¤È»×¤Ã¤¿¡¥"); (void) adjattrib(A_CON, 1, TRUE); exercise(A_CON, TRUE); flags.botl = 1; break; ! /*JP case 2: You("will always remember %s...", mon_nam(mon));*/ ! case 2: You("¤¤¤Ä¤Þ¤Ç¤â%s¤ò³Ð¤¨¤Æ¤ë¤À¤í¤¦¡¥¡¥¡¥", mon_nam(mon)); (void) adjattrib(A_WIS, 1, TRUE); exercise(A_WIS, TRUE); flags.botl = 1; break; ! /*JP case 3: pline("That was a very educational experience.");*/ ! case 3: pline("¤³¤ì¤â·Ð¸³¤Î¤¦¤Á¤À"); pluslvl(); exercise(A_WIS, TRUE); break; ! /*JP case 4: You_feel("restored to health!");*/ ! case 4: You("¤È¤Æ¤â·ò¹¯¤Ë¤Ê¤Ã¤¿¡ª"); u.uhp = u.uhpmax; if (Upolyd) u.mh = u.mhmax; exercise(A_STR, TRUE); *************** *** 1988,1997 **** if (mon->mtame) /* don't charge */ ; else if (rn2(20) < ACURR(A_CHA)) { ! pline("%s demands that you pay %s, but you refuse...", ! Monnam(mon), him[fem]); } else if (u.umonnum == PM_LEPRECHAUN) ! pline("%s tries to take your money, but fails...", Monnam(mon)); else { long cost; --- 2326,2339 ---- if (mon->mtame) /* don't charge */ ; else if (rn2(20) < ACURR(A_CHA)) { ! /*JP pline("%s demands that you pay %s, but you refuse...", ! Monnam(mon), him[fem]);*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Ë¶â¤òʧ¤¦¤è¤¦Í׵ᤷ¤¿¡¤¤·¤«¤·¤¢¤Ê¤¿¤Ïµñ¤ó¤À¡¥¡¥¡¥", ! Monnam(mon)); ! } else if (u.umonnum == PM_LEPRECHAUN) ! /*JP pline("%s tries to take your money, but fails...",*/ ! pline("%s¤Ï¶â¤ò¼è¤í¤¦¤È¤·¤¿¤¬¡¤¼ºÇÔ¤·¤¿¡¥¡¥¡¥", Monnam(mon)); else { long cost; *************** *** 2005,2014 **** if (!cost) cost = 1L; } if (cost > u.ugold) cost = u.ugold; ! if (!cost) verbalize("It's on the house!"); else { ! pline("%s takes %ld zorkmid%s for services rendered!", ! Monnam(mon), cost, plur(cost)); u.ugold -= cost; mon->mgold += cost; flags.botl = 1; --- 2347,2359 ---- if (!cost) cost = 1L; } if (cost > u.ugold) cost = u.ugold; ! /*JP if (!cost) verbalize("It's on the house!");*/ ! if (!cost) verbalize("¤³¤ì¤Ï¤ª¤´¤ê%s¡ª",fem?"¤è":"¤µ"); else { ! /*JP pline("%s takes %ld zorkmid%s for services rendered!", ! Monnam(mon), cost, plur(cost));*/ ! pline("%s¤Ï¥µ¡¼¥Ó¥¹ÎÁ¤È¤·¤Æ%ld¥´¡¼¥ë¥É¼õ¤±¤È¤Ã¤¿¡¥", ! Monnam(mon), cost); u.ugold -= cost; mon->mgold += cost; flags.botl = 1; *************** *** 2029,2043 **** if (!obj || !obj->owornmask) return; if (rn2(20) < ACURR(A_CHA)) { Sprintf(qbuf,"\"Shall I remove your %s, %s?\"", str, ! (!rn2(2) ? "lover" : !rn2(2) ? "dear" : "sweetheart")); if (yn(qbuf) == 'n') return; } else { char hairbuf[BUFSZ]; ! Sprintf(hairbuf,"let me run run my fingers through your %s", body_part(HAIR)); verbalize("Take off your %s; %s.", str, (obj == uarm) ? "let's get a little closer" : (obj == uarmc || obj == uarms) ? "it's in the way" : --- 2374,2396 ---- if (!obj || !obj->owornmask) return; if (rn2(20) < ACURR(A_CHA)) { + /*JP Sprintf(qbuf,"\"Shall I remove your %s, %s?\"", str, ! (!rn2(2) ? "lover" : !rn2(2) ? "dear" : "sweetheart"));*/ ! Sprintf(qbuf,"¡Ö%s¤ò¼è¤Ã¤Æ¤¤¤¤¡¤%s¡©¡×", ! str, ! (!rn2(2) ? "¤Í¤§" : flags.female ? "¥Ï¥Ë¡¼" : "¥À¡¼¥ê¥ó" )); ! if (yn(qbuf) == 'n') return; } else { char hairbuf[BUFSZ]; ! /*JP Sprintf(hairbuf,"let me run run my fingers through your %s",*/ ! Sprintf(hairbuf, ! flags.female ? "¤Ê¤ó¤ÆåºÎï¤Ê%s¤Ê¤ó¤À" : "³õ¤ò¼è¤Ã¤¿¤é¤Ê¤«¤Ê¤«¥¤¥«¥¹¤¸¤ã¤Ê¤¤", body_part(HAIR)); + #if 0 /*JP*/ verbalize("Take off your %s; %s.", str, (obj == uarm) ? "let's get a little closer" : (obj == uarmc || obj == uarms) ? "it's in the way" : *************** *** 2048,2053 **** --- 2401,2418 ---- #endif /* obj == uarmh */ hairbuf); + #endif /*JP*/ + + verbalize("%s¤ò椤¤Ç¡¥¡¥¡¥%s¡¥", str, + (obj == uarm) ? "¤Á¤ç¤Ã¤È´ó¤ê¤½¤Ã¤Æ" : + (obj == uarmc || obj == uarms) ? "¤½¤¦¤½¤¦" : + (obj == uarmf) ?(flags.female ? "åºÎï¤Ê­¤À¤Í" : "¤¦¤Õ¤Ã¡¤¤¿¤¯¤Þ¤·¤¤Â­¤Í") : + (obj == uarmg) ?(flags.female ? "¤Ê¤ó¤ÆÁÇŨ¤Ê¼ê¤À" : "¤¿¤¯¤Þ¤·¤¤ÏÓ¤Í") : + #ifdef TOURIST + (obj == uarmu) ? "¤¢¤Ê¤¿¤Ø¤³¤Î»×¤¤¤òÅÁ¤¨¤¿¤¤" : + #endif + /* obj == uarmh */ + hairbuf); } if (donning(obj)) cancel_don(); if (obj == uarm) (void) Armor_off(); *************** *** 2087,2095 **** switch(olduasmon->mattk[i].adtyp) { case AD_ACID: if (!rn2(2)) { ! pline("%s is splashed by your acid!", Monnam(mtmp)); if (resists_acid(mtmp)) { ! pline("%s is not affected.", Monnam(mtmp)); tmp = 0; } } else tmp = 0; --- 2452,2462 ---- switch(olduasmon->mattk[i].adtyp) { case AD_ACID: if (!rn2(2)) { ! /*JP pline("%s is splashed by your acid!", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î»À¤ò¤¯¤é¤Ã¤¿¡ª", Monnam(mtmp)); if (resists_acid(mtmp)) { ! /*JP pline("%s is not affected.", Monnam(mtmp));*/ ! pline("%s¤Ï±Æ¶Á¤ò¤¦¤±¤Ê¤¤¡¥", Monnam(mtmp)); tmp = 0; } } else tmp = 0; *************** *** 2104,2110 **** mon_to_stone(mtmp); return (1); } ! pline("%s turns to stone!", Monnam(mtmp)); stoned = 1; xkilled(mtmp, 0); if (mtmp->mhp > 0) return 1; --- 2471,2478 ---- mon_to_stone(mtmp); return (1); } ! /*JP pline("%s turns to stone!", Monnam(mtmp));*/ ! pline("%s¤ÏÀФˤʤä¿¡ª", Monnam(mtmp)); stoned = 1; xkilled(mtmp, 0); if (mtmp->mhp > 0) return 1; *************** *** 2125,2144 **** if (mtmp->mcansee && haseyes(mtmp->data) && rn2(3) && (perceives(mtmp->data) || !Invis)) { if (Blind) ! pline("As a blind %s, you cannot defend yourself.", ! uasmon->mname); else { if (mon_reflects(mtmp, ! "Your gaze is reflected by %s %s.")) return 1; ! pline("%s is frozen by your gaze!", Monnam(mtmp)); mtmp->mcanmove = 0; mtmp->mfrozen = tmp; return 3; } } } else { /* gelatinous cube */ ! pline("%s is frozen by you.", Monnam(mtmp)); mtmp->mcanmove = 0; mtmp->mfrozen = tmp; return 3; --- 2493,2517 ---- if (mtmp->mcansee && haseyes(mtmp->data) && rn2(3) && (perceives(mtmp->data) || !Invis)) { if (Blind) ! /*JP pline("As a blind %s, you cannot defend yourself.", ! uasmon->mname);*/ ! pline("%s¤ÏÌܤ¬¸«¤¨¤Ê¤¤¤Î¤Ç¡¤Ëɸæ¤Ç¤­¤Ê¤¤¡¥", ! jtrns_mon(uasmon->mname, flags.female)); else { if (mon_reflects(mtmp, ! /*JP "Your gaze is reflected by %s %s."))*/ ! "¤¢¤Ê¤¿¤Î¤Ë¤é¤ß¤Ï%s¤Î%s¤Ë¤è¤Ã¤ÆÈ¿¼Í¤µ¤ì¤¿¡¥")) return 1; ! /*JP pline("%s is frozen by your gaze!", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î¤Ë¤é¤ß¤ÇÆ°¤±¤Ê¤¤¡ª", Monnam(mtmp)); mtmp->mcanmove = 0; mtmp->mfrozen = tmp; return 3; } } } else { /* gelatinous cube */ ! /*JP pline("%s is frozen by you.", Monnam(mtmp));*/ ! pline("%s¤ÏÆ°¤±¤Ê¤¤¡¥.", Monnam(mtmp)); mtmp->mcanmove = 0; mtmp->mfrozen = tmp; return 3; *************** *** 2147,2158 **** case AD_COLD: /* Brown mold or blue jelly */ if (resists_cold(mtmp)) { shieldeff(mtmp->mx, mtmp->my); ! pline("%s is mildly chilly.", Monnam(mtmp)); golemeffects(mtmp, AD_COLD, tmp); tmp = 0; break; } ! pline("%s is suddenly very cold!", Monnam(mtmp)); u.mh += tmp / 2; if (u.mhmax < u.mh) u.mhmax = u.mh; if (u.mhmax > ((uasmon->mlevel+1) * 8)) { --- 2520,2533 ---- case AD_COLD: /* Brown mold or blue jelly */ if (resists_cold(mtmp)) { shieldeff(mtmp->mx, mtmp->my); ! /*JP pline("%s is mildly chilly.", Monnam(mtmp));*/ ! pline("%s¤ÏÎ䤨¤¿¡¥", Monnam(mtmp)); golemeffects(mtmp, AD_COLD, tmp); tmp = 0; break; } ! /*JP pline("%s is suddenly very cold!", Monnam(mtmp));*/ ! pline("%s¤ÏÆÍÁ³Åà¤ê¤Å¤±¤Ë¤Ê¤Ã¤¿¡ª", Monnam(mtmp)); u.mh += tmp / 2; if (u.mhmax < u.mh) u.mhmax = u.mh; if (u.mhmax > ((uasmon->mlevel+1) * 8)) { *************** *** 2160,2166 **** if ((mon = cloneu()) != 0) { mon->mhpmax = u.mhmax /= 2; ! You("multiply from %s heat!", s_suffix(mon_nam(mtmp))); } } --- 2535,2542 ---- if ((mon = cloneu()) != 0) { mon->mhpmax = u.mhmax /= 2; ! /*JP You("multiply from %s heat!",*/ ! You("%s¤ÎÇ®¤ÇʬÎö¤·¤¿¡ª", s_suffix(mon_nam(mtmp))); } } *************** *** 2168,2196 **** case AD_STUN: /* Yellow mold */ if (!mtmp->mstun) { mtmp->mstun = 1; ! pline("%s staggers.", Monnam(mtmp)); } tmp = 0; break; case AD_FIRE: /* Red mold */ if (resists_fire(mtmp)) { shieldeff(mtmp->mx, mtmp->my); ! pline("%s is mildly warm.", Monnam(mtmp)); golemeffects(mtmp, AD_FIRE, tmp); tmp = 0; break; } ! pline("%s is suddenly very hot!", Monnam(mtmp)); break; case AD_ELEC: if (resists_elec(mtmp)) { shieldeff(mtmp->mx, mtmp->my); ! pline("%s is slightly tingled.", Monnam(mtmp)); golemeffects(mtmp, AD_ELEC, tmp); tmp = 0; break; } ! pline("%s is jolted with your electricity!", Monnam(mtmp)); break; default: tmp = 0; break; --- 2544,2577 ---- case AD_STUN: /* Yellow mold */ if (!mtmp->mstun) { mtmp->mstun = 1; ! /*JP pline("%s staggers.", Monnam(mtmp));*/ ! pline("%s¤Ï¤¯¤é¤¯¤é¤·¤¿¡¥", Monnam(mtmp)); } tmp = 0; break; case AD_FIRE: /* Red mold */ if (resists_fire(mtmp)) { shieldeff(mtmp->mx, mtmp->my); ! /*JP pline("%s is mildly warm.", Monnam(mtmp));*/ ! pline("%s¤ÏÃȤ«¤¯¤Ê¤Ã¤¿¡¥", Monnam(mtmp)); golemeffects(mtmp, AD_FIRE, tmp); tmp = 0; break; } ! /*JP pline("%s is suddenly very hot!", Monnam(mtmp));*/ ! pline("%s¤ÏÆÍÁ³Ç®¤¯¤Ê¤Ã¤¿¡ª", Monnam(mtmp)); break; case AD_ELEC: if (resists_elec(mtmp)) { shieldeff(mtmp->mx, mtmp->my); ! /*JP pline("%s is slightly tingled.", Monnam(mtmp));*/ ! pline("%s¤Ï¤Á¤ç¤Ã¤È¥Ô¥ê¥Ô¥ê¤·¤¿¡¥", Monnam(mtmp)); golemeffects(mtmp, AD_ELEC, tmp); tmp = 0; break; } ! /*JP pline("%s is jolted with your electricity!", Monnam(mtmp));*/ ! pline("%s¤ÏÅŵ¤¥·¥ç¥Ã¥¯¤ò¤¦¤±¤¿¡ª", Monnam(mtmp)); break; default: tmp = 0; break; *************** *** 2199,2205 **** assess_dmg: if((mtmp->mhp -= tmp) <= 0) { ! pline("%s dies!", Monnam(mtmp)); xkilled(mtmp,0); if (mtmp->mhp > 0) return 1; return 2; --- 2580,2587 ---- assess_dmg: if((mtmp->mhp -= tmp) <= 0) { ! /*JP pline("%s dies!", Monnam(mtmp));*/ ! pline("%s¤Ï»à¤ó¤À¡ª", Monnam(mtmp)); xkilled(mtmp,0); if (mtmp->mhp > 0) return 1; return 2; diff -c -r ../nethack-3.2.2/src/minion.c ./src/minion.c *** ../nethack-3.2.2/src/minion.c Fri Jun 21 02:25:09 1996 --- ./src/minion.c Tue Jul 22 23:18:25 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "emin.h" #include "epri.h" *************** *** 94,103 **** mon = makemon(&mons[mnum], u.ux, u.uy, NO_MM_FLAGS); if (mon) { if (talk) { ! pline_The("voice of %s booms:", align_gname(alignment)); ! verbalize("Thou shalt pay for thy indiscretion!"); if (!Blind) ! pline("%s appears before you.", Amonnam(mon)); } mon->mpeaceful = FALSE; /* don't call set_malign(); player was naughty */ --- 101,113 ---- mon = makemon(&mons[mnum], u.ux, u.uy, NO_MM_FLAGS); if (mon) { if (talk) { ! /*JP pline_The("voice of %s booms:", align_gname(alignment));*/ ! pline("%s¤ÎÀ¼¤¬¶Á¤¤¤¿:", align_gname(alignment)); ! /*JP verbalize("Thou shalt pay for thy indiscretion!");*/ ! verbalize("Æò¡¤ÌµÊ¬Ê̤ʹÔÆ°¤Îȳ¤ò¼õ¤±¤è¡ª"); if (!Blind) ! /*JP pline("%s appears before you.", Amonnam(mon));*/ ! pline("%s¤¬¤¢¤Ê¤¿¤ÎÁ°¤Ë¸½¤ï¤ì¤¿¡¥", Amonnam(mon)); } mon->mpeaceful = FALSE; /* don't call set_malign(); player was naughty */ *************** *** 113,119 **** long demand, offer; if (uwep && uwep->oartifact == ART_EXCALIBUR) { ! pline("%s looks very angry.", Amonnam(mtmp)); mtmp->mpeaceful = mtmp->mtame = 0; newsym(mtmp->mx, mtmp->my); return 0; --- 123,130 ---- long demand, offer; if (uwep && uwep->oartifact == ART_EXCALIBUR) { ! /*JP pline("%s looks very angry.", Amonnam(mtmp));*/ ! pline("%s¤Ï¤È¤Æ¤âÅܤäƤ¤¤ë¤è¤¦¤Ë¸«¤¨¤ë¡¥", Amonnam(mtmp)); mtmp->mpeaceful = mtmp->mtame = 0; newsym(mtmp->mx, mtmp->my); return 0; *************** *** 122,133 **** /* Slight advantage given. */ if (is_dprince(mtmp->data) && mtmp->minvis) { mtmp->minvis = mtmp->perminvis = 0; ! if (!Blind) pline("%s appears before you.", Amonnam(mtmp)); newsym(mtmp->mx,mtmp->my); } if (u.usym == S_DEMON) { /* Won't blackmail their own. */ ! pline("%s says, \"Good hunting, %s.\" and vanishes.", ! Amonnam(mtmp), flags.female ? "Sister" : "Brother"); rloc(mtmp); return(1); } --- 133,147 ---- /* Slight advantage given. */ if (is_dprince(mtmp->data) && mtmp->minvis) { mtmp->minvis = mtmp->perminvis = 0; ! /*JP if (!Blind) pline("%s appears before you.", Amonnam(mtmp));*/ ! if (!Blind) pline("%s¤¬ÌܤÎÁ°¤Ë¸½¤ï¤ì¤¿¡¥", Amonnam(mtmp)); newsym(mtmp->mx,mtmp->my); } if (u.usym == S_DEMON) { /* Won't blackmail their own. */ ! /*JP pline("%s says, \"Good hunting, %s.\" and vanishes.", ! Amonnam(mtmp), flags.female ? "Sister" : "Brother");*/ ! pline("%s¤Ï¸À¤Ã¤¿¡Ö¤è¤¦·»%s¡ª¡×¡¥¤½¤·¤Æ¾Ã¤¨¤¿¡¥", ! Amonnam(mtmp), flags.female ? "Ëå" : "Äï"); rloc(mtmp); return(1); } *************** *** 136,153 **** if (!demand) /* you have no gold */ return mtmp->mpeaceful = 0; else { ! pline("%s demands %ld zorkmid%s for safe passage.", ! Amonnam(mtmp), demand, plur(demand)); if ((offer = bribe(mtmp)) >= demand) { ! pline("%s vanishes, laughing about cowardly mortals.", Amonnam(mtmp)); } else { if ((long)rnd(40) > (demand - offer)) { ! pline("%s scowls at you menacingly, then vanishes.", Amonnam(mtmp)); } else { ! pline("%s gets angry...", Amonnam(mtmp)); return mtmp->mpeaceful = 0; } } --- 150,172 ---- if (!demand) /* you have no gold */ return mtmp->mpeaceful = 0; else { ! /*JP pline("%s demands %ld zorkmid%s for safe passage.", ! Amonnam(mtmp), demand, plur(demand));*/ ! pline("%s¤ÏÄ̹ÔÎÁ¤È¤·¤Æ%ld¥´¡¼¥ë¥ÉÍ׵ᤷ¤¿¡¥", ! Amonnam(mtmp), demand); if ((offer = bribe(mtmp)) >= demand) { ! /*JP pline("%s vanishes, laughing about cowardly mortals.",*/ ! pline("»à¤¹¤Ù¤­Èܤ·¤­¤â¤Î¤ò¾Ð¤¤¤Ê¤¬¤é¡¤%s¤Ï¾Ã¤¨¤¿¡¥", Amonnam(mtmp)); } else { if ((long)rnd(40) > (demand - offer)) { ! /*JP pline("%s scowls at you menacingly, then vanishes.",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ò°Ò³Å¤·¡¤¾Ã¤¨¤¿¡¥", Amonnam(mtmp)); } else { ! /*JP pline("%s gets angry...", Amonnam(mtmp));*/ ! pline("%s¤ÏÅܤä¿¡¥¡¥¡¥", Amonnam(mtmp)); return mtmp->mpeaceful = 0; } } *************** *** 163,184 **** char buf[BUFSZ]; long offer; ! getlin("How much will you offer?", buf); (void) sscanf(buf, "%ld", &offer); /*Michael Paddon -- fix for negative offer to monster*/ /*JAR880815 - */ if (offer < 0L) { ! You("try to shortchange %s, but fumble.", mon_nam(mtmp)); offer = 0L; } else if (offer == 0L) { ! You("refuse."); } else if (offer >= u.ugold) { ! You("give %s all your gold.", mon_nam(mtmp)); offer = u.ugold; ! } else You("give %s %ld zorkmid%s.", mon_nam(mtmp), offer, ! plur(offer)); u.ugold -= offer; mtmp->mgold += offer; --- 182,208 ---- char buf[BUFSZ]; long offer; ! /*JP getlin("How much will you offer?", buf);*/ ! getlin("²¿¥´¡¼¥ë¥ÉÍ¿¤¨¤ë¡©", buf); (void) sscanf(buf, "%ld", &offer); /*Michael Paddon -- fix for negative offer to monster*/ /*JAR880815 - */ if (offer < 0L) { ! /*JP You("try to shortchange %s, but fumble.",*/ ! You("%s¤ò¤À¤Þ¤½¤¦¤È¤·¤¿¤¬¡¤¼ºÇÔ¤·¤¿¡¥", mon_nam(mtmp)); offer = 0L; } else if (offer == 0L) { ! /*JP You("refuse.");*/ ! You("µñ¤ó¤À¡¥"); } else if (offer >= u.ugold) { ! /*JP You("give %s all your gold.", mon_nam(mtmp));*/ ! You("%s¤Ë¤ª¶â¤òÁ´¤ÆÍ¿¤¨¤¿¡¥", mon_nam(mtmp)); offer = u.ugold; ! /*JP } else You("give %s %ld zorkmid%s.", mon_nam(mtmp), offer, ! plur(offer));*/ ! } else You("%s¤Ë%ld¥´¡¼¥ë¥ÉÍ¿¤¨¤¿¡¥", mon_nam(mtmp), offer); u.ugold -= offer; mtmp->mgold += offer; diff -c -r ../nethack-3.2.2/src/mklev.c ./src/mklev.c *** ../nethack-3.2.2/src/mklev.c Fri Jun 21 02:25:09 1996 --- ./src/mklev.c Tue Jul 22 23:18:26 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" /* #define DEBUG /* uncomment to enable code debugging */ *************** *** 449,455 **** (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, /* 14..16: trapdoor, teleport, level-teleport */ ! "Vlad was here", "ad aerarium", "ad aerarium", (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, }; --- 456,463 ---- (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, /* 14..16: trapdoor, teleport, level-teleport */ ! /*JP "Vlad was here", "ad aerarium", "ad aerarium",*/ ! "¥ô¥é¥É¤Ï¤³¤³¤Ë¤¤¤ë", "ad aerarium", "ad aerarium", (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, (char *)0, }; *************** *** 1361,1368 **** --- 1369,1381 ---- xchar ymin = inv_pos.y, ymax = inv_pos.y; register xchar i; + /*JP pline_The("floor shakes violently under you!"); pline_The("walls around you begin to bend and crumble!"); + */ + pline("¤¢¤Ê¤¿¤Î²¼¤Î¾²¤¬ÆÍÁ³Íɤ줿¡ª"); + pline("¤½¤·¤Æ¤Þ¤ï¤ê¤ÎÊɤ¬¤Í¤¸¤ì¡¤ºÕ¤±¤¿¡ª"); + display_nhwindow(WIN_MESSAGE, TRUE); mkinvpos(xmin, ymin, 0); /* middle, before placing stairs */ *************** *** 1389,1395 **** delay_output(); } ! You("are standing at the top of a stairwell leading down!"); mkstairs(u.ux, u.uy, 0, (struct mkroom *)0); /* down */ newsym(u.ux, u.uy); vision_full_recalc = 1; /* everything changed */ --- 1402,1409 ---- delay_output(); } ! /*JP You("are standing at the top of a stairwell leading down!");*/ ! You("²¼¤Ë³¤¯¿á¤­È´¤±³¬Ãʤξå¤ËΩ¤Ã¤Æ¤¤¤ë¡ª"); mkstairs(u.ux, u.uy, 0, (struct mkroom *)0); /* down */ newsym(u.ux, u.uy); vision_full_recalc = 1; /* everything changed */ diff -c -r ../nethack-3.2.2/src/mkmaze.c ./src/mkmaze.c *** ../nethack-3.2.2/src/mkmaze.c Sat Dec 28 21:53:43 1996 --- ./src/mkmaze.c Tue Jul 22 23:18:26 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "sp_lev.h" #include "lev.h" /* save & restore info */ *************** *** 1055,1061 **** u.dx = dx; eff = TRUE; } ! if (eff) pline("Water turbulence affects your movements."); } void --- 1062,1069 ---- u.dx = dx; eff = TRUE; } ! /*JP if (eff) pline("Water turbulence affects your movements.");*/ ! if (eff) pline("¿å¤Îή¤ì¤¬¤¢¤Ê¤¿¤ÎÆ°¤­¤Ë±Æ¶Á¤òÍ¿¤¨¤¿¡¥"); } void diff -c -r ../nethack-3.2.2/src/mon.c ./src/mon.c *** ../nethack-3.2.2/src/mon.c Sat Dec 28 21:53:44 1996 --- ./src/mon.c Tue Jul 22 23:18:26 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + /* If you're using precompiled headers, you don't want this either */ #ifdef MICROPORT_BUG #define MKROOM_H *************** *** 30,36 **** int lastwarnlev; const char *warnings[] = { ! "white", "pink", "red", "ruby", "purple", "black" }; static void NDECL(warn_effects); --- 37,44 ---- int lastwarnlev; const char *warnings[] = { ! /*JP "white", "pink", "red", "ruby", "purple", "black"*/ ! "Çò¤¤","¥Ô¥ó¥¯¿§¤Î","ÀÖ¤¤","¥ë¥Ó¡¼¿§¤Î","»ç¤Î","¹õ¤¤" }; static void NDECL(warn_effects); *************** *** 195,202 **** if (warnlevel == 100) { if(!Blind && (warnlevel > lastwarnlev || moves > lastwarntime + warnDelay)) { ! Your("%s %s!", aobjnam(uwep, "glow"), ! hcolor(light_blue)); lastwarnlev = warnlevel; lastwarntime = moves; } --- 203,212 ---- if (warnlevel == 100) { if(!Blind && (warnlevel > lastwarnlev || moves > lastwarntime + warnDelay)) { ! /*JP Your("%s %s!", aobjnam(uwep, "glow"), ! hcolor(light_blue));*/ ! Your("%s¤Ï%sµ±¤¤¤¿¡ª", xname(uwep), ! jconj_adj(hcolor(light_blue))); lastwarnlev = warnlevel; lastwarntime = moves; } *************** *** 214,237 **** lastwarnlev = warnlevel; switch((int) (Warning & (LEFT_RING | RIGHT_RING))) { case LEFT_RING: ! rr = Hallucination ? "left mood ring glows" : "left ring glows"; break; case RIGHT_RING: ! rr = Hallucination ? "right mood ring glows" ! : "right ring glows"; break; case LEFT_RING | RIGHT_RING: ! rr = Hallucination ? "mood rings glow" : "rings both glow"; break; default: if (Hallucination) ! Your("spider-sense is tingling..."); else ! You_feel("apprehensive as you sense a %s flash.", warnings[warnlevel]); return; } ! Your("%s %s!", rr, hcolor(warnings[warnlevel])); } } --- 224,254 ---- lastwarnlev = warnlevel; switch((int) (Warning & (LEFT_RING | RIGHT_RING))) { case LEFT_RING: ! /*JP rr = Hallucination ? "left mood ring glows" : "left ring glows";*/ ! rr = Hallucination ? "º¸¼ê¤Îή¹Ô¤Î»ØÎØ" : "º¸¼ê¤Î»ØÎØ"; break; case RIGHT_RING: ! /*JP rr = Hallucination ? "right mood ring glows" ! : "right ring glows";*/ ! rr = Hallucination ? "±¦¼ê¤Îή¹Ô¤Î»ØÎØ" ! : "±¦¼ê¤Î»ØÎØ"; break; case LEFT_RING | RIGHT_RING: ! /*JP rr = Hallucination ? "mood rings glow" : "rings both glow";*/ ! rr = Hallucination ? "ή¹Ô¤Î»ØÎØ" : "ξ¼ê¤Î»ØÎØ"; break; default: if (Hallucination) ! /*JP Your("spider-sense is tingling...");*/ ! Your("ÃØéáŪ´¶³Ð¤Ï¥Ô¥ê¥Ô¥ê¤·¤¿¡¥¡¥¡¥"); else ! /*JP You_feel("apprehensive as you sense a %s flash.",*/ ! You("%s¸÷¤ò´¶¤¸¡¤¤È¤Æ¤âÉ԰¤˻פä¿¡¥", warnings[warnlevel]); return; } ! /*JP Your("%s %s!", rr, hcolor(warnings[warnlevel]));*/ ! Your("%s¤Ï%sµ±¤¤¤¿¡ª", rr, jconj_adj(hcolor(warnings[warnlevel]))); } } *************** *** 256,262 **** if (mtmp2) { mtmp2->mhpmax = (mtmp->mhpmax /= 2); if(cansee(mtmp->mx,mtmp->my)) ! pline("%s multiplies.", Monnam(mtmp)); dryup(mtmp->mx,mtmp->my); } if (inpool) water_damage(mtmp->minvent, FALSE, FALSE); --- 273,280 ---- if (mtmp2) { mtmp2->mhpmax = (mtmp->mhpmax /= 2); if(cansee(mtmp->mx,mtmp->my)) ! /*JP pline("%s multiplies.", Monnam(mtmp));*/ ! pline("%s¤ÏʬÎö¤·¤¿¡¥", Monnam(mtmp)); dryup(mtmp->mx,mtmp->my); } if (inpool) water_damage(mtmp->minvent, FALSE, FALSE); *************** *** 270,276 **** if (!is_clinger(mtmp->data) && !is_swimmer(mtmp->data) && !amphibious(mtmp->data)) { if (cansee(mtmp->mx,mtmp->my)) ! pline("%s drowns.", Monnam(mtmp)); mondead(mtmp); if (mtmp->mhp > 0) { rloc(mtmp); --- 288,295 ---- if (!is_clinger(mtmp->data) && !is_swimmer(mtmp->data) && !amphibious(mtmp->data)) { if (cansee(mtmp->mx,mtmp->my)) ! /*JP pline("%s drowns.", Monnam(mtmp));*/ ! pline("%s¤ÏÅ®¤ì¤¿¡¥", Monnam(mtmp)); mondead(mtmp); if (mtmp->mhp > 0) { rloc(mtmp); *************** *** 405,426 **** touch_artifact(otmp,mtmp)) { if (mtmp->data == &mons[PM_RUST_MONSTER] && otmp->oerodeproof) { if (canseemon(mtmp) && flags.verbose) { ! pline("%s eats %s!", Monnam(mtmp), distant_name(otmp,doname)); } /* The object's rustproofing is gone now */ otmp->oerodeproof = 0; mtmp->mstun = 1; ! pline("%s spits %s out in disgust!", Monnam(mtmp), distant_name(otmp,doname)); } else { if (cansee(mtmp->mx,mtmp->my) && flags.verbose) ! pline("%s eats %s!", Monnam(mtmp), distant_name(otmp,doname)); else if (flags.soundok && flags.verbose) ! You_hear("a crunching sound."); mtmp->meating = otmp->owt/2 + 1; /* Heal up to the object's weight in hp */ if (mtmp->mhp < mtmp->mhpmax) { --- 424,449 ---- touch_artifact(otmp,mtmp)) { if (mtmp->data == &mons[PM_RUST_MONSTER] && otmp->oerodeproof) { if (canseemon(mtmp) && flags.verbose) { ! /*JP pline("%s eats %s!",*/ ! pline("%s¤Ï%s¤ò¿©¤Ù¤Æ¤¤¤ë¡ª", Monnam(mtmp), distant_name(otmp,doname)); } /* The object's rustproofing is gone now */ otmp->oerodeproof = 0; mtmp->mstun = 1; ! /*JP pline("%s spits %s out in disgust!",*/ ! pline("%s¤Ï%s¤ò¥Ú¥Ã¤ÈÅǤ­½Ð¤·¤¿¡ª", Monnam(mtmp), distant_name(otmp,doname)); } else { if (cansee(mtmp->mx,mtmp->my) && flags.verbose) ! /*JP pline("%s eats %s!", Monnam(mtmp),*/ ! pline("%s¤Ï%s¤ò¿©¤Ù¤Æ¤¤¤ë¡ª", Monnam(mtmp), distant_name(otmp,doname)); else if (flags.soundok && flags.verbose) ! /*JP You_hear("a crunching sound.");*/ ! You("¥Ð¥ê¥Ð¥ê¤È¿©¤Ù¤ë²»¤òʹ¤¤¤¿¡¥"); mtmp->meating = otmp->owt/2 + 1; /* Heal up to the object's weight in hp */ if (mtmp->mhp < mtmp->mhpmax) { *************** *** 450,456 **** ptr = mtmp->data; } else if (!resists_ston(mtmp)) { if (canseemon(mtmp)) ! pline("%s turns to stone!", Monnam(mtmp)); monstone(mtmp); ptr = (struct permonst *)0; } --- 473,480 ---- ptr = mtmp->data; } else if (!resists_ston(mtmp)) { if (canseemon(mtmp)) ! /*JP pline("%s turns to stone!", Monnam(mtmp));*/ ! pline("%s¤ÏÀв½¤·¤¿¡ª", Monnam(mtmp)); monstone(mtmp); ptr = (struct permonst *)0; } *************** *** 490,499 **** continue; ++count; if (cansee(mtmp->mx,mtmp->my) && flags.verbose) ! pline("%s eats %s!", Monnam(mtmp), distant_name(otmp, doname)); else if (flags.soundok && flags.verbose) ! You_hear("a slurping sound."); /* Heal up to the object's weight in hp */ if (mtmp->mhp < mtmp->mhpmax) { mtmp->mhp += objects[otmp->otyp].oc_weight; --- 514,525 ---- continue; ++count; if (cansee(mtmp->mx,mtmp->my) && flags.verbose) ! /*JP pline("%s eats %s!", Monnam(mtmp),*/ ! pline("%s¤Ï%s¤ò¿©¤Ù¤Æ¤¤¤ë¡ª", Monnam(mtmp), distant_name(otmp, doname)); else if (flags.soundok && flags.verbose) ! /*JP You_hear("a slurping sound.");*/ ! You("¤´¤¯¤ó¤È°û¤ß¹þ¤à²»¤òʹ¤¤¤¿¡¥"); /* Heal up to the object's weight in hp */ if (mtmp->mhp < mtmp->mhpmax) { mtmp->mhp += objects[otmp->otyp].oc_weight; *************** *** 530,536 **** } else if (otmp->oclass != ROCK_CLASS && otmp != uball && otmp != uchain) { if (cansee(mtmp->mx, mtmp->my) && flags.verbose) ! pline("%s engulfs %s.", Monnam(mtmp), distant_name(otmp,doname)); obj_extract_self(otmp); mpickobj(mtmp, otmp); /* slurp */ --- 556,563 ---- } else if (otmp->oclass != ROCK_CLASS && otmp != uball && otmp != uchain) { if (cansee(mtmp->mx, mtmp->my) && flags.verbose) ! /*JP pline("%s engulfs %s.", Monnam(mtmp),*/ ! pline("%s¤Ï%s¤ò°û¤ß¹þ¤ó¤À¡¥", Monnam(mtmp), distant_name(otmp,doname)); obj_extract_self(otmp); mpickobj(mtmp, otmp); /* slurp */ *************** *** 552,558 **** delobj(gold); if (cansee(mtmp->mx, mtmp->my) ) { if (flags.verbose && !mtmp->isgd) ! pline("%s picks up some gold.", Monnam(mtmp)); newsym(mtmp->mx, mtmp->my); } } --- 579,586 ---- delobj(gold); if (cansee(mtmp->mx, mtmp->my) ) { if (flags.verbose && !mtmp->isgd) ! /*JP pline("%s picks up some gold.", Monnam(mtmp));*/ ! pline("%s¤Ï¤ª¶â¤ò½¦¤Ã¤¿¡¥", Monnam(mtmp)); newsym(mtmp->mx, mtmp->my); } } *************** *** 588,594 **** if (!touch_artifact(otmp,mtmp)) continue; if (!can_carry(mtmp,otmp)) continue; if (cansee(mtmp->mx,mtmp->my) && flags.verbose) ! pline("%s picks up %s.", Monnam(mtmp), (distu(mtmp->my, mtmp->my) <= 5) ? doname(otmp) : distant_name(otmp, doname)); obj_extract_self(otmp); --- 616,623 ---- if (!touch_artifact(otmp,mtmp)) continue; if (!can_carry(mtmp,otmp)) continue; if (cansee(mtmp->mx,mtmp->my) && flags.verbose) ! /*JP pline("%s picks up %s.", Monnam(mtmp),*/ ! pline("%s¤Ï%s¤ò½¦¤Ã¤¿¡¥", Monnam(mtmp), (distu(mtmp->my, mtmp->my) <= 5) ? doname(otmp) : distant_name(otmp, doname)); obj_extract_self(otmp); *************** *** 1012,1023 **** /* Nor do you check invisibility, because glowing and disinte- */ /* grating amulets are always visible. */ if (cansee(mtmp->mx, mtmp->my)) { ! pline("But wait..."); ! pline("%s medallion begins to glow!", s_suffix(Monnam(mtmp))); makeknown(AMULET_OF_LIFE_SAVING); ! pline("%s looks much better!", Monnam(mtmp)); ! pline_The("medallion crumbles to dust!"); } m_useup(mtmp, lifesave); if (mtmp->mhpmax <= 0) mtmp->mhpmax = 10; --- 1041,1057 ---- /* Nor do you check invisibility, because glowing and disinte- */ /* grating amulets are always visible. */ if (cansee(mtmp->mx, mtmp->my)) { ! /*JP pline("But wait...");*/ ! pline("¤·¤«¤·¡¥¡¥¡¥"); ! /*JP pline("%s medallion begins to glow!", ! s_suffix(Monnam(mtmp)));*/ ! pline("%s¤Î¥á¥À¥ê¥ª¥ó¤¬µ±¤­¤Ï¤¸¤á¤¿¡ª", s_suffix(Monnam(mtmp))); makeknown(AMULET_OF_LIFE_SAVING); ! /*JP pline("%s looks much better!", Monnam(mtmp));*/ ! pline("%s¤Ï¤¹¤Ã¤«¤ê²óÉü¤·¤¿¤è¤¦¤À¡ª", Monnam(mtmp)); ! /*JP pline_The("medallion crumbles to dust!");*/ ! pline_The("¥á¥À¥ê¥ª¥ó¤Ï¤³¤Ê¤´¤Ê¤Ë¤¯¤À¤±¤Æ¤·¤Þ¤Ã¤¿¡ª"); } m_useup(mtmp, lifesave); if (mtmp->mhpmax <= 0) mtmp->mhpmax = 10; *************** *** 1030,1036 **** edog->hungrytime = moves+500; } if (mvitals[monsndx(mtmp->data)].mvflags & G_GENOD) ! pline("Unfortunately %s is still genocided...", mon_nam(mtmp)); else return; --- 1064,1071 ---- edog->hungrytime = moves+500; } if (mvitals[monsndx(mtmp->data)].mvflags & G_GENOD) ! /*JP pline("Unfortunately %s is still genocided...",*/ ! pline("¤·¤«¤·%s¤ÏµÔ»¦¤µ¤ì¤Æ¤¤¤ë¡¥¡¥¡¥", mon_nam(mtmp)); else return; *************** *** 1122,1129 **** if (mdat == &mons[PM_VLAD_THE_IMPALER] || mdat->mlet == S_LICH) { if (cansee(mon->mx, mon->my)) ! pline("%s%ss body crumbles into dust.", Monnam(mon), ! canseemon(mon) ? "'" : ""); return FALSE; } --- 1157,1166 ---- if (mdat == &mons[PM_VLAD_THE_IMPALER] || mdat->mlet == S_LICH) { if (cansee(mon->mx, mon->my)) ! /*JP pline("%s%ss body crumbles into dust.", Monnam(mon), ! canseemon(mon) ? "'" : "");*/ ! pline("%s¤ÎÂΤϤۤ³¤ê¤Ë¤Ê¤Ã¤¿¡¥", Monnam(mon)); ! return FALSE; } *************** *** 1199,1205 **** (obj->otyp == STATUE && mons[obj->corpsenm].msize >= mdef->data->msize) || #endif obj_resists(obj, 0, 0)) { ! if (flooreffects(obj, x, y, "fall")) continue; place_object(obj, x, y); } else { if (obj->lamplit) end_burn(obj, TRUE); --- 1236,1243 ---- (obj->otyp == STATUE && mons[obj->corpsenm].msize >= mdef->data->msize) || #endif obj_resists(obj, 0, 0)) { ! /*JP if (flooreffects(obj, x, y, "fall")) continue;*/ ! if (flooreffects(obj, x, y, "Íî¤Á¤ë")) continue; place_object(obj, x, y); } else { if (obj->lamplit) end_burn(obj, TRUE); *************** *** 1233,1244 **** boolean be_sad = FALSE; /* true if unseen pet is killed */ if ((mdef->wormno ? worm_known(mdef) : cansee(mdef->mx, mdef->my)) ! && fltxt) ! pline("%s is %s%s%s!", Monnam(mdef), nonliving(mdef->data) ? "destroyed" : "killed", *fltxt ? " by the " : "", fltxt ! ); else be_sad = (mdef->mtame != 0); --- 1271,1289 ---- boolean be_sad = FALSE; /* true if unseen pet is killed */ if ((mdef->wormno ? worm_known(mdef) : cansee(mdef->mx, mdef->my)) ! && fltxt){ ! /*JP pline("%s is %s%s%s!", Monnam(mdef), nonliving(mdef->data) ? "destroyed" : "killed", *fltxt ? " by the " : "", fltxt ! );*/ ! if( *fltxt ) ! pline("%s¤Ï%s¤Ë¤è¤Ã¤Æ%s¡ª", Monnam(mdef), fltxt, ! nonliving(mdef->data) ? "Åݤµ¤ì¤¿" : "»¦¤µ¤ì¤¿"); ! else ! pline("%s¤Ï%s¡ª", Monnam(mdef), ! nonliving(mdef->data) ? "Åݤµ¤ì¤¿" : "»¦¤µ¤ì¤¿"); ! } else be_sad = (mdef->mtame != 0); *************** *** 1249,1255 **** mondied(mdef); if (be_sad && mdef->mhp <= 0) ! You("have a sad feeling for a moment, then it passes."); } void --- 1294,1301 ---- mondied(mdef); if (be_sad && mdef->mhp <= 0) ! /*JP You("have a sad feeling for a moment, then it passes.");*/ ! You("Èᤷ¤¤µ¤»ý¤Ë¤ª¤½¤ï¤ì¤¿¤¬¡¤¤¹¤°¤Ë²á¤®¤µ¤Ã¤¿¡¥"); } void *************** *** 1297,1307 **** if (dest & 1) { if(!wasinside && !canspotmon(mtmp)) ! You("destroy it!"); else { ! You("destroy %s!", mtmp->mtame ? x_monnam(mtmp, 0, "poor", 0) ! : mon_nam(mtmp)); } } --- 1343,1357 ---- if (dest & 1) { if(!wasinside && !canspotmon(mtmp)) ! /*JP You("destroy it!");*/ ! You("²¿¼Ô¤«¤òÅݤ·¤¿¡ª"); else { ! /*JP You("destroy %s!", mtmp->mtame ? x_monnam(mtmp, 0, "poor", 0) ! : mon_nam(mtmp));*/ ! You("%s%s¤òÅݤ·¤¿¡ª", ! mtmp->mtame ? "²Ä°¥ÁÛ¤Ê" : "", ! mon_nam(mtmp)); } } *************** *** 1325,1331 **** * kill it (as opposed to visible lifesaving which always * appears). */ ! if (!cansee(x,y)) pline("Maybe not..."); return; } --- 1375,1382 ---- * kill it (as opposed to visible lifesaving which always * appears). */ ! /*JP if (!cansee(x,y)) pline("Maybe not...");*/ ! if (!cansee(x,y)) pline("¤Ê¤ó¤«ÊѤÀ¡¥¡¥¡¥"); return; } *************** *** 1436,1445 **** if(mtmp->data->mlet == S_GOLEM) { /* it's a golem, and not a stone golem */ if(canseemon(mtmp)) ! pline("%s solidifies...", Monnam(mtmp)); (void) newcham(mtmp, &mons[PM_STONE_GOLEM]); if(canseemon(mtmp)) ! pline("Now it's %s.", an(mtmp->data->mname)); } else impossible("Can't polystone %s!", a_monnam(mtmp)); } --- 1487,1498 ---- if(mtmp->data->mlet == S_GOLEM) { /* it's a golem, and not a stone golem */ if(canseemon(mtmp)) ! /*JP pline("%s solidifies...", Monnam(mtmp));*/ ! pline("%s¤Ï¶Å¸Ç¤·¤¿¡¥¡¥¡¥", Monnam(mtmp)); (void) newcham(mtmp, &mons[PM_STONE_GOLEM]); if(canseemon(mtmp)) ! /*JP pline("Now it's %s.", an(mtmp->data->mname));*/ ! pline("¤Ê¤ó¤È%s¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡¥", a_monnam(mtmp)); } else impossible("Can't polystone %s!", a_monnam(mtmp)); } *************** *** 1507,1515 **** static const char *poiseff[] = { ! " feel weaker", "r brain is on fire", "r judgement is impaired", "r muscles won't obey you", ! " feel very sick", " break out in hives" }; void --- 1560,1571 ---- static const char *poiseff[] = { ! /*JP " feel weaker", "r brain is on fire", "r judgement is impaired", "r muscles won't obey you", ! " feel very sick", " break out in hives"*/ ! "¤È¤Æ¤â¿ê¼å¤·¤¿", "Ƭ¤Ë·ì¤¬¤Î¤Ü¤Ã¤¿", ! "ȽÃÇÎϤò¼º¤Ã¤¿", "»×¤¦¤è¤¦¤ËÆ°¤±¤Ê¤¤", ! "¤È¤Æ¤âµ¤Ê¬¤¬°­¤¤", "¤¸¤ó¤Þ¤·¤ó¤¬¤¢¤é¤ï¤ì¤¿" }; void *************** *** 1517,1523 **** int typ; { ! pline("You%s.", poiseff[typ]); } void --- 1573,1580 ---- int typ; { ! /*JP pline("You%s.", poiseff[typ]);*/ ! You("%s¡¥", poiseff[typ]); } void *************** *** 1526,1559 **** register int typ, fatal; { register int i, plural; ! boolean thrown_weapon = !strncmp(string, "poison", 6); /* admittedly a kludge... */ ! if(strcmp(string, "blast") && !thrown_weapon) { /* 'blast' has already given a 'poison gas' message */ /* so have "poison arrow", "poison dart", etc... */ plural = (string[strlen(string) - 1] == 's')? 1 : 0; /* avoid "The" Orcus's sting was poisoned... */ ! pline("%s%s %s poisoned!", isupper(*string) ? "" : "The ", ! string, plural ? "were" : "was"); } if(Poison_resistance) { ! if(!strcmp(string, "blast")) shieldeff(u.ux, u.uy); ! pline_The("poison doesn't seem to affect you."); return; } i = rn2(fatal + 20*thrown_weapon); if(i == 0 && typ != A_CHA) { u.uhp = -1; ! pline_The("poison was deadly..."); } else if(i <= 5) { ! pline("You%s!", poiseff[typ]); (void) adjattrib(typ, thrown_weapon ? -1 : -rn1(3,3), TRUE); } else { i = thrown_weapon ? rnd(6) : rn1(10,6); if(Half_physical_damage) i = (i+1) / 2; ! losehp(i, pname, KILLED_BY_AN); } if(u.uhp < 1) { killer_format = KILLED_BY_AN; --- 1583,1632 ---- register int typ, fatal; { register int i, plural; ! /*JP boolean thrown_weapon = !strncmp(string, "poison", 6);*/ ! boolean thrown_weapon = !strncmp(string, "poison", 6) || !strncmp(string, "ÆÇ", 2); ! /* admittedly a kludge... */ ! /*JP if(strcmp(string, "blast") && !thrown_weapon) {*/ ! if((strcmp(string, "blast") && strcmp(string,"É÷") && strcmp(string,"©")) && !thrown_weapon) { ! /* 'blast' has already given a 'poison gas' message */ /* so have "poison arrow", "poison dart", etc... */ plural = (string[strlen(string) - 1] == 's')? 1 : 0; /* avoid "The" Orcus's sting was poisoned... */ ! /*JP pline("%s%s %s poisoned!", isupper(*string) ? "" : "The ", ! string, plural ? "were" : "was");*/ ! pline("%s¤ÏÆǤˤª¤«¤µ¤ì¤Æ¤¤¤ë¡ª",string); } if(Poison_resistance) { ! /*JP if(!strcmp(string, "blast")) shieldeff(u.ux, u.uy); ! pline_The("poison doesn't seem to affect you.");*/ ! if(!(strcmp(string, "blast")||strcmp(string,"É÷"))) ! shieldeff(u.ux, u.uy); ! /*JP pline_The("poison doesn't seem to affect you.");*/ ! pline("ÆǤϸú¤«¤Ê¤«¤Ã¤¿¤è¤¦¤À¡¥"); return; } i = rn2(fatal + 20*thrown_weapon); if(i == 0 && typ != A_CHA) { u.uhp = -1; ! /*JP pline_The("poison was deadly...");*/ ! pline("ÆǤÏÃ×»àÎ̤À¤Ã¤¿¡¥¡¥¡¥"); } else if(i <= 5) { ! /*JP pline("You%s!", poiseff[typ]);*/ ! You("%s¡ª", poiseff[typ]); (void) adjattrib(typ, thrown_weapon ? -1 : -rn1(3,3), TRUE); } else { + /*JP*/ + char ptmp[BUFSZ]; + i = thrown_weapon ? rnd(6) : rn1(10,6); if(Half_physical_damage) i = (i+1) / 2; ! Sprintf(ptmp, "%s¤Î¹¶·â¤Ç", pname); ! /*JP losehp(i, pname, KILLED_BY_AN);*/ ! losehp(i, ptmp, KILLED_BY_AN); } if(u.uhp < 1) { killer_format = KILLED_BY_AN; *************** *** 1571,1577 **** { if(mtmp->data->msound == MS_SHRIEK) { if(flags.soundok) { ! pline("%s shrieks.", Monnam(mtmp)); stop_occupation(); } if (!rn2(10)) { --- 1644,1651 ---- { if(mtmp->data->msound == MS_SHRIEK) { if(flags.soundok) { ! /*JP pline("%s shrieks.", Monnam(mtmp));*/ ! pline("%s¤Ï¶âÀÚ¤êÀ¼¤ò¤¢¤²¤¿¡¥", Monnam(mtmp)); stop_occupation(); } if (!rn2(10)) { *************** *** 1610,1616 **** } else adjalign(-1); /* attacking peaceful monsters is bad */ if(humanoid(mtmp->data) || mtmp->isshk || mtmp->isgd) ! pline("%s gets angry!", Monnam(mtmp)); else if (flags.verbose && flags.soundok) growl(mtmp); /* attacking your own quest leader will anger his or her guardians */ --- 1684,1691 ---- } else adjalign(-1); /* attacking peaceful monsters is bad */ if(humanoid(mtmp->data) || mtmp->isshk || mtmp->isgd) ! /*JP pline("%s gets angry!", Monnam(mtmp));*/ ! pline("%s¤ÏÅܤä¿¡ª", Monnam(mtmp)); else if (flags.verbose && flags.soundok) growl(mtmp); /* attacking your own quest leader will anger his or her guardians */ *************** *** 1627,1636 **** if (canseemon(mon)) ++got_mad; } if (got_mad && !Hallucination) ! pline_The("%s appear%s to be angry too...", got_mad == 1 ? q_guardian->mname : makeplural(q_guardian->mname), ! got_mad == 1 ? "s" : ""); } } --- 1702,1713 ---- if (canseemon(mon)) ++got_mad; } if (got_mad && !Hallucination) ! /*JP pline_The("%s appear%s to be angry too...", got_mad == 1 ? q_guardian->mname : makeplural(q_guardian->mname), ! got_mad == 1 ? "s" : "");*/ ! pline_The("%s¤â¤Þ¤¿Åܤä¿¡¥¡¥¡¥", ! q_guardian->mname); } } *************** *** 1854,1862 **** if (!noncorporeal(mdat) && !amorphous(mdat) && !is_whirly(mdat) && (mdat != &mons[PM_YELLOW_LIGHT])) { ! You("break out of %s%s!", mon_nam(mtmp), (is_animal(mdat)? ! "'s stomach" : "")); mtmp->mhp = 1; /* almost dead */ } expels(mtmp, olddata, FALSE); --- 1931,1942 ---- if (!noncorporeal(mdat) && !amorphous(mdat) && !is_whirly(mdat) && (mdat != &mons[PM_YELLOW_LIGHT])) { ! /*JP You("break out of %s%s!", mon_nam(mtmp), ! (is_animal(mdat)? ! "'s stomach" : ""));*/ ! You("%s%s¤òÇˤê½Ð¤¿¡ª", mon_nam(mtmp), (is_animal(mdat)? ! "¤Î°ßÂÞ" : "")); mtmp->mhp = 1; /* almost dead */ } expels(mtmp, olddata, FALSE); *************** *** 1884,1890 **** mon_break_armor(mtmp); if (!(mtmp->misc_worn_check & W_ARMG)) ! mselftouch(mtmp, "No longer petrify-resistant, ", !flags.mon_moving); possibly_unwield(mtmp); m_dowear(mtmp, FALSE); --- 1964,1971 ---- mon_break_armor(mtmp); if (!(mtmp->misc_worn_check & W_ARMG)) ! /*JP mselftouch(mtmp, "No longer petrify-resistant, ",*/ ! mselftouch(mtmp, "Àв½¤Ø¤ÎÄñ¹³ÎϤ¬¤Ê¤¯¤Ê¤Ã¤Æ¡¤", !flags.mon_moving); possibly_unwield(mtmp); m_dowear(mtmp, FALSE); *************** *** 2065,2071 **** if (mon->mspeed == MFAST) mon->mspeed = 0; else mon->mspeed = MSLOW; if (cansee(mon->mx, mon->my)) ! pline("%s seems to be moving slower.", Monnam(mon)); } } --- 2146,2153 ---- if (mon->mspeed == MFAST) mon->mspeed = 0; else mon->mspeed = MSLOW; if (cansee(mon->mx, mon->my)) ! /* pline("%s seems to be moving slower.",*/ ! pline("%s¤ÎÆ°¤­¤Ï¤Î¤í¤¯¤Ê¤Ã¤¿¤è¤¦¤Ë¸«¤¨¤ë¡¥", Monnam(mon)); } } *************** *** 2074,2080 **** mon->mhp += dam; if (mon->mhp > mon->mhpmax) mon->mhp = mon->mhpmax; if (cansee(mon->mx, mon->my)) ! pline("%s seems healthier.", Monnam(mon)); } } } --- 2156,2163 ---- mon->mhp += dam; if (mon->mhp > mon->mhpmax) mon->mhp = mon->mhpmax; if (cansee(mon->mx, mon->my)) ! /*JP pline("%s seems healthier.", Monnam(mon));*/ ! pline("%s¤Ï¸µµ¤¤Ë¤Ê¤Ã¤¿¤è¤¦¤Ë¸«¤¨¤ë¡¥", Monnam(mon)); } } } *************** *** 2104,2119 **** } if(ct) { if(!silent) { /* do we want pline msgs? */ ! if(slct) pline_The("guard%s wake%s up!", ! slct > 1 ? "s" : "", slct == 1 ? "s" : ""); if(nct || sct) { ! if(nct) pline_The("guard%s get%s angry!", ! nct == 1 ? "" : "s", nct == 1 ? "s" : ""); else if(!Blind) ! You("see %sangry guard%s approaching!", ! sct == 1 ? "an " : "", sct > 1 ? "s" : ""); } else if(flags.soundok) ! You_hear("the shrill sound of a guard's whistle."); } return(TRUE); } --- 2187,2206 ---- } if(ct) { if(!silent) { /* do we want pline msgs? */ ! /*JP if(slct) pline_The("guard%s wake%s up!", ! slct > 1 ? "s" : "", slct == 1 ? "s" : "");*/ ! if(slct) pline("ÈÖʼ¤ÏÌܤò³Ð¤Þ¤·¤¿¡ª"); if(nct || sct) { ! /*JP if(nct) pline_The("guard%s get%s angry!", ! nct == 1 ? "" : "s", nct == 1 ? "s" : "");*/ ! if(nct) pline("ÈÖʼ¤ÏÅܤä¿¡ª"); else if(!Blind) ! /*JP You("see %sangry guard%s approaching!", ! sct == 1 ? "an " : "", sct > 1 ? "s" : "");*/ ! You("Åܤä¿ÈÖʼ¤¬¶á´ó¤Ã¤Æ¤¯¤ë¤Î¤¬¸«¤¨¤¿¡ª"); } else if(flags.soundok) ! /*JP You_hear("the shrill sound of a guard's whistle.");*/ ! You("ÈÖʼ¤ÎÅ«¤¬¤±¤¿¤¿¤Þ¤·¤¯ÌĤë¤Î¤¬Ê¹¤³¤¨¤¿¡¥"); } return(TRUE); } diff -c -r ../nethack-3.2.2/src/mondata.c ./src/mondata.c *** ../nethack-3.2.2/src/mondata.c Fri Jun 21 02:25:12 1996 --- ./src/mondata.c Tue Jul 22 23:18:27 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "eshk.h" #include "epri.h" *************** *** 408,413 **** --- 415,423 ---- case 'B': return &mons[PM_BARBARIAN]; case 'C': if (flags.female) return &mons[PM_CAVEWOMAN]; else return &mons[PM_CAVEMAN]; + #ifdef FIGHTER + case 'F': return &mons[PM_FIGHTER]; + #endif case 'E': return &mons[PM_ELF]; case 'H': return &mons[PM_HEALER]; case 'K': return &mons[PM_KNIGHT]; *************** *** 509,520 **** if(montype == grownups[i][1]) return grownups[i][0]; return montype; } ! static const char *levitate[2] = { "float", "Float" }; static const char *fly[2] = { "fly", "Fly" }; static const char *slither[2] = { "slither", "Slither" }; static const char *ooze[2] = { "ooze", "Ooze" }; ! static const char *crawl[2] = { "crawl", "Crawl" }; const char * locomotion(ptr, def) --- 519,535 ---- if(montype == grownups[i][1]) return grownups[i][0]; return montype; } ! /*JP static const char *levitate[2] = { "float", "Float" }; static const char *fly[2] = { "fly", "Fly" }; static const char *slither[2] = { "slither", "Slither" }; static const char *ooze[2] = { "ooze", "Ooze" }; ! static const char *crawl[2] = { "crawl", "Crawl" };*/ ! static const char *levitate[2] = { "É⤯", "É⤯" }; ! static const char *fly[2] = { "Èô¤Ö", "Èô¤Ö" }; ! static const char *slither[2] = { "³ê¤ë", "³ê¤ë" }; ! static const char *ooze[2] = { "¤Ë¤¸¤ß½Ð¤ë", "¤Ë¤¸¤ß½Ð¤ë" }; ! static const char *crawl[2] = { "¤Ï¤¤¤º¤ë", "¤Ï¤¤¤º¤ë" }; const char * locomotion(ptr, def) *************** *** 532,537 **** --- 547,573 ---- def ); + } + /*JP*/ + static const char *levitate2 = "É⤱"; + static const char *fly2 = "Èô¤Ù"; + static const char *slither2 = "³ê¤í"; + static const char *ooze2 = "¤Ë¤¸¤ß½Ð¤í"; + static const char *crawl2 = "¤Ï¤¤¤º¤ì"; + + const char * + locomotion2(ptr, def) + const struct permonst *ptr; + const char *def; + { + return ( + is_floater(ptr) ? levitate2 : + is_flyer(ptr) ? fly2 : + slithy(ptr) ? slither2 : + amorphous(ptr) ? ooze2 : + nolimbs(ptr) ? crawl2 : + def + ); } #endif /* OVLB */ diff -c -r ../nethack-3.2.2/src/monmove.c ./src/monmove.c *** ../nethack-3.2.2/src/monmove.c Sat Dec 28 21:53:44 1996 --- ./src/monmove.c Tue Jul 22 23:18:27 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "mfndpos.h" #include "artifact.h" *************** *** 22,30 **** { if (flags.verbose) { if (cansee(mtmp->mx, mtmp->my)) ! pline("KABOOM!! You see a door explode."); else if (flags.soundok) ! You_hear("a distant explosion."); } wake_nearto(mtmp->mx, mtmp->my, 7*7); mtmp->mstun = 1; --- 29,40 ---- { if (flags.verbose) { if (cansee(mtmp->mx, mtmp->my)) ! /*JP pline("KABOOM!! You see a door explode.");*/ ! pline("¥Ð¡¼¥ó¡ª¥É¥¢¤¬Çúȯ¤¹¤ë¤Î¤ò¸«¤¿¡¥"); ! else if (flags.soundok) ! /*JP You_hear("a distant explosion.");*/ ! pline("±óÊý¤ÇÇúȯ¤¹¤ë²»¤òʹ¤¤¤¿¡¥"); } wake_nearto(mtmp->mx, mtmp->my, 7*7); mtmp->mstun = 1; *************** *** 57,68 **** if(couldsee(mtmp->mx, mtmp->my)) { ! pline("%s yells:", Amonnam(mtmp)); if(levl[x][y].looted & D_WARNED) { ! verbalize("Halt, thief! You're under arrest!"); (void) angry_guards(!(flags.soundok)); } else { ! verbalize("Hey, stop picking that lock!"); levl[x][y].looted |= D_WARNED; } stop_occupation(); --- 67,81 ---- if(couldsee(mtmp->mx, mtmp->my)) { ! /*JP pline("%s yells:", Amonnam(mtmp));*/ ! pline("%s¤Ï¶«¤ó¤À¡§", Amonnam(mtmp)); if(levl[x][y].looted & D_WARNED) { ! /*JP verbalize("Halt, thief! You're under arrest!");*/ ! verbalize("ÂԤơª¤Ì¤¹¤Ã¤È¡ª¤ª¤Þ¤¨¤òÂáÊ᤹¤ë¡ª"); (void) angry_guards(!(flags.soundok)); } else { ! /*JP verbalize("Hey, stop picking that lock!");*/ ! verbalize("¤ª¤¤¡¤¸°¤ò¾¡¼ê¤Ë³«¤±¤ë¤ó¤¸¤ã¤Ê¤¤¡ª"); levl[x][y].looted |= D_WARNED; } stop_occupation(); *************** *** 349,363 **** if(nearby && mdat->msound == MS_BRIBE && mtmp->mpeaceful && !mtmp->mtame && !u.uswallow) { if (mtmp->mux != u.ux || mtmp->muy != u.uy) { ! pline("%s whispers at thin air.", ! cansee(mtmp->mux, mtmp->muy) ? Monnam(mtmp) : "It"); if (is_demon(uasmon)) rloc(mtmp); /* "Good hunting, brother" */ else { mtmp->minvis = mtmp->perminvis = 0; /* Why? For the same reason in real demon talk */ ! pline("%s gets angry!", Amonnam(mtmp)); mtmp->mpeaceful = 0; /* since no way is an image going to pay it off */ } --- 362,379 ---- if(nearby && mdat->msound == MS_BRIBE && mtmp->mpeaceful && !mtmp->mtame && !u.uswallow) { if (mtmp->mux != u.ux || mtmp->muy != u.uy) { ! /*JP pline("%s whispers at thin air.", ! cansee(mtmp->mux, mtmp->muy) ? Monnam(mtmp) : "It");*/ ! pline("%s¤¬¤µ¤µ¤ä¤¤¤¿¡¥", ! cansee(mtmp->mux, mtmp->muy) ? Monnam(mtmp) : "²¿¼Ô¤«"); if (is_demon(uasmon)) rloc(mtmp); /* "Good hunting, brother" */ else { mtmp->minvis = mtmp->perminvis = 0; /* Why? For the same reason in real demon talk */ ! /*JP pline("%s gets angry!", Amonnam(mtmp));*/ ! pline("%s¤ÏÅܤä¿¡ª", Amonnam(mtmp)); mtmp->mpeaceful = 0; /* since no way is an image going to pay it off */ } *************** *** 372,397 **** struct monst *m2, *nmon = (struct monst *)0; if (canseemon(mtmp)) ! pline("%s concentrates.", Monnam(mtmp)); if (distu(mtmp->mx, mtmp->my) > BOLT_LIM * BOLT_LIM) { ! You("sense a faint wave of psychic energy."); goto toofar; } ! pline("A wave of psychic energy pours over you!"); if (mtmp->mpeaceful && (!Conflict || resist(mtmp, RING_CLASS, 0, 0))) ! pline("It feels quite soothing."); else { register boolean m_sen = sensemon(mtmp); if (m_sen || (Telepat && rn2(2)) || !rn2(10)) { int dmg; ! pline("It locks on to your %s!", m_sen ? "telepathy" : ! Telepat ? "latent telepathy" : "mind"); dmg = rnd(15); if (Half_spell_damage) dmg = (dmg+1) / 2; ! losehp(dmg, "psychic blast", KILLED_BY_AN); } } for(m2=fmon; m2; m2 = nmon) { --- 388,421 ---- struct monst *m2, *nmon = (struct monst *)0; if (canseemon(mtmp)) ! /*JP pline("%s concentrates.", Monnam(mtmp));*/ ! pline("%s¤ÏÀº¿À¤ò½¸Ã椷¤Æ¤¤¤ë¡¥", Monnam(mtmp)); if (distu(mtmp->mx, mtmp->my) > BOLT_LIM * BOLT_LIM) { ! /*JP You("sense a faint wave of psychic energy.");*/ ! You("¥µ¥¤¥³¥¨¥Í¥ë¥®¡¼¤ÎÇÈÆ°¤ò´¶¤¸¤¿¡¥"); goto toofar; } ! /*JP pline("A wave of psychic energy pours over you!");*/ ! pline("¤¢¤Ê¤¿¤Ï¥µ¥¤¥³¥¨¥Í¥ë¥®¡¼¤ÎÇÈÆ°¤òÍá¤Ó¤¿¡ª"); if (mtmp->mpeaceful && (!Conflict || resist(mtmp, RING_CLASS, 0, 0))) ! /*JP pline("It feels quite soothing.");*/ ! pline("¿´¤¬¤Ê¤´¤ó¤À¡¥"); else { register boolean m_sen = sensemon(mtmp); if (m_sen || (Telepat && rn2(2)) || !rn2(10)) { int dmg; ! /*JP pline("It locks on to your %s!", m_sen ? "telepathy" : ! Telepat ? "latent telepathy" : "mind");*/ ! pline("¤½¤ì¤Ï¤¢¤Ê¤¿¤Î%s¤òľ·â¤·¤¿¡ª", ! m_sen ? "¥Æ¥ì¥Ñ¥·¡¼Ç½ÎÏ" : ! Telepat ? "ÀøºßǽÎÏ" : "Àº¿À"); dmg = rnd(15); if (Half_spell_damage) dmg = (dmg+1) / 2; ! /*JP losehp(dmg, "psychic blast", KILLED_BY_AN);*/ ! losehp(dmg, "¥µ¥¤¥³¹¶·â¤Ç", KILLED_BY_AN); } } for(m2=fmon; m2; m2 = nmon) { *************** *** 402,408 **** if ((telepathic(m2->data) && (rn2(2) || m2->mblinded)) || !rn2(10)) { if (cansee(m2->mx, m2->my)) ! pline("It locks on to %s.", mon_nam(m2)); m2->mhp -= rnd(15); if (m2->mhp <= 0) monkilled(m2, "", AD_DRIN); --- 426,433 ---- if ((telepathic(m2->data) && (rn2(2) || m2->mblinded)) || !rn2(10)) { if (cansee(m2->mx, m2->my)) ! /*JP pline("It locks on to %s.", mon_nam(m2));*/ ! pline("%s¤òľ·â¤·¤¿¡¥", mon_nam(m2)); m2->mhp -= rnd(15); if (m2->mhp <= 0) monkilled(m2, "", AD_DRIN); *************** *** 498,504 **** register struct monst *mtmp; { if (sticks(uasmon) && mtmp==u.ustuck && !u.uswallow) { ! pline("%s cannot escape from you!", Monnam(mtmp)); return(TRUE); } return(FALSE); --- 523,530 ---- register struct monst *mtmp; { if (sticks(uasmon) && mtmp==u.ustuck && !u.uswallow) { ! /*JP pline("%s cannot escape from you!", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤«¤éƨ¤²¤é¤ì¤Ê¤¤¡ª", Monnam(mtmp)); return(TRUE); } return(FALSE); *************** *** 609,615 **** #ifdef MAIL if(ptr == &mons[PM_MAIL_DAEMON]) { if(flags.soundok && canseemon(mtmp)) ! verbalize("I'm late!"); mongone(mtmp); return(2); } --- 635,642 ---- #ifdef MAIL if(ptr == &mons[PM_MAIL_DAEMON]) { if(flags.soundok && canseemon(mtmp)) ! /*JP verbalize("I'm late!");*/ ! verbalize("ÃÙ¤¯¤Ê¤Ã¤Æ¤¹¤Þ¤Ê¤¤¡ª"); mongone(mtmp); return(2); } *************** *** 948,957 **** if(here->doormask & (D_LOCKED|D_CLOSED) && amorphous(ptr)) { if (flags.verbose && canseeit) ! pline("%s %ss under the door.", Monnam(mtmp), (ptr == &mons[PM_FOG_CLOUD] || ptr == &mons[PM_YELLOW_LIGHT]) ! ? "flow" : "ooze"); } else if(here->doormask & D_LOCKED && can_unlock) { if(btrapped) { here->doormask = D_NODOOR; --- 975,988 ---- if(here->doormask & (D_LOCKED|D_CLOSED) && amorphous(ptr)) { if (flags.verbose && canseeit) ! /*JP pline("%s %ss under the door.", Monnam(mtmp), (ptr == &mons[PM_FOG_CLOUD] || ptr == &mons[PM_YELLOW_LIGHT]) ! ? "flow" : "ooze");*/ ! pline("%s¤ÏÈâ¤Î²¼¤«¤é%s¡¥", Monnam(mtmp), ! (ptr == &mons[PM_FOG_CLOUD] || ! ptr == &mons[PM_YELLOW_LIGHT]) ! ? "ή¤ì¤Ç¤¿" : "¤Ë¤¸¤ß¤Ç¤¿"); } else if(here->doormask & D_LOCKED && can_unlock) { if(btrapped) { here->doormask = D_NODOOR; *************** *** 961,969 **** } else { if (flags.verbose) { if (canseeit) ! You("see a door unlock and open."); else if (flags.soundok) ! You_hear("a door unlock and open."); } here->doormask = D_ISOPEN; /* newsym(mtmp->mx, mtmp->my); */ --- 992,1003 ---- } else { if (flags.verbose) { if (canseeit) ! /*JP You("see a door unlock and open.");*/ ! You("Èâ¤Î¸°¤¬¤Ï¤º¤ì¡¤³«¤¯¤Î¤ò¸«¤¿¡¥"); else if (flags.soundok) ! /*JP You_hear("a door unlock and open.");*/ ! You_hear("Èâ¤Î¸°¤¬¤Ï¤º¤ì¡¤³«¤¯²»¤òʹ¤¤¤¿¡¥"); ! } here->doormask = D_ISOPEN; /* newsym(mtmp->mx, mtmp->my); */ *************** *** 978,986 **** } else { if (flags.verbose) { if (canseeit) ! You("see a door open."); else if (flags.soundok) ! You_hear("a door open."); } here->doormask = D_ISOPEN; /* newsym(mtmp->mx, mtmp->my); */ /* done below */ --- 1012,1022 ---- } else { if (flags.verbose) { if (canseeit) ! /*JP You("see a door open.");*/ ! You("È⤬³«¤¯¤Î¤ò¸«¤¿¡¥"); else if (flags.soundok) ! /*JP You_hear("a door open.");*/ ! You_hear("È⤬³«¤¯²»¤òʹ¤¤¤¿¡¥"); } here->doormask = D_ISOPEN; /* newsym(mtmp->mx, mtmp->my); */ /* done below */ *************** *** 996,1004 **** } else { if (flags.verbose) { if (canseeit) ! You("see a door crash open."); else if (flags.soundok) ! You_hear("a door crash open."); } if (here->doormask & D_LOCKED && !rn2(2)) here->doormask = D_NODOOR; --- 1032,1042 ---- } else { if (flags.verbose) { if (canseeit) ! /*JP You("see a door crash open.");*/ ! You("È⤬Ç˲õ¤µ¤ì¤ë¤Î¤ò¸«¤¿¡¥"); else if (flags.soundok) ! /*JP You_hear("a door crash open.");*/ ! You_hear("È⤬Ç˲õ¤µ¤ì¤ë²»¤òʹ¤¤¤¿¡¥"); } if (here->doormask & D_LOCKED && !rn2(2)) here->doormask = D_NODOOR; diff -c -r ../nethack-3.2.2/src/monst.c ./src/monst.c *** ../nethack-3.2.2/src/monst.c Sat Dec 28 21:53:44 1996 --- ./src/monst.c Tue Jul 22 23:18:28 1997 *************** *** 2519,2524 **** --- 2519,2533 ---- SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, M2_NOPOLY|M2_ELF|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), + #ifdef FIGHTER + MON("fighter", S_HUMAN, + LVL(10, 12, 10, 2, 3), G_NOGEN, + A(ATTK(AT_WEAP, AD_PHYS, 1, 8), + NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), + SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, + M1_HUMANOID|M1_OMNIVORE, + M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, 0, HI_DOMESTIC), + #endif MON("healer", S_HUMAN, LVL(10, 10, 10, 1, 0), G_NOGEN, A(ATTK(AT_WEAP, AD_PHYS, 1, 6), *************** *** 2635,2640 **** --- 2644,2660 ---- M2_NOPOLY|M2_ELF|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG| M2_FEMALE|M2_COLLECT|M2_MAGIC, M3_CLOSE, HI_LORD), + #ifdef FIGHTER + MON("Princess of Moon", S_HUMAN, + LVL(20, 15, 0, 80, 20), (G_NOGEN|G_UNIQ), + A(ATTK(AT_WEAP, AD_PHYS, 1, 8), + NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), + SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_COLD, 0, + M1_HUMANOID|M1_OMNIVORE, + M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_FEMALE| + M2_COLLECT|M2_MAGIC, + M3_CLOSE, HI_LORD), + #endif MON("Hippocrates", S_HUMAN, LVL(20, 12, 0, 40, 0), (G_NOGEN|G_UNIQ), A(ATTK(AT_WEAP, AD_PHYS, 1, 6), *************** *** 2757,2762 **** --- 2777,2793 ---- M2_NOPOLY|M2_ORC|M2_HOSTILE|M2_STRONG|M2_STALK|M2_NASTY|M2_MALE| M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MAGIC, M3_WANTSARTI|M3_WAITFORU, HI_LORD), + #ifdef FIGHTER + MON("Jedeite", S_HUMAN, + LVL(15, 10, 10, 0, -15), (G_NOGEN|G_UNIQ), + A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), + ATTK(AT_CLAW, AD_SAMU, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK), + SIZ(750, 350, 0, MS_NEMESIS, MZ_HUMAN), 0, 0, + M1_HUMANOID|M1_OMNIVORE, + M2_NOPOLY|M2_ORC|M2_HOSTILE|M2_STRONG|M2_STALK|M2_NASTY|M2_MALE| + M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MAGIC, + M3_WANTSARTI|M3_WAITFORU, HI_LORD), + #endif MON("Cyclops", S_GIANT, LVL(18, 10, 0, 0, -15), (G_NOGEN|G_UNIQ), A(ATTK(AT_WEAP, AD_PHYS, 4, 8), ATTK(AT_WEAP, AD_PHYS, 4, 8), *************** *** 2862,2867 **** --- 2893,2907 ---- SIZ(WT_ELF, 350, 0, MS_GUARDIAN, MZ_HUMAN), MR_SLEEP, MR_SLEEP, M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, M2_NOPOLY|M2_ELF|M2_PEACEFUL|M2_COLLECT, 0, HI_DOMESTIC), + #ifdef FIGHTER + MON("planetary fighter", S_HUMAN, + LVL(5, 12, 10, 10, 7), G_NOGEN, + A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_MAGC, AD_CLRC, 0, 0), + NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), + SIZ(WT_HUMAN, 350, 0, MS_GUARDIAN, MZ_HUMAN), MR_SLEEP, MR_SLEEP, + M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, + M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_COLLECT, 0, HI_DOMESTIC), + #endif MON("attendant", S_HUMAN, LVL(5, 10, 10, 10, 3), G_NOGEN, A(ATTK(AT_WEAP, AD_PHYS, 1, 6), diff -c -r ../nethack-3.2.2/src/mplayer.c ./src/mplayer.c *** ../nethack-3.2.2/src/mplayer.c Fri Jun 21 02:25:15 1996 --- ./src/mplayer.c Tue Jul 22 23:18:28 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Izchak Miller, 1992. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" static const char *NDECL(dev_name); *************** *** 33,38 **** --- 40,47 ---- "Timo", /* VMS team */ "Joshua", "Pat", + /* Japanese team */ + "Issei", "Nao", "Mya", ""}; *************** *** 69,74 **** --- 78,85 ---- { boolean fmlkind = is_female(mtmp->data); const char *devnam; + /*JP*/ + char tmp_nam[PL_NSIZ]; devnam = dev_name(); if (!devnam) *************** *** 81,90 **** mtmp->female = 1; else mtmp->female = 0; ! Strcat(nam, " the "); Strcat(nam, rank_of(rn1(11, 20), highc(mtmp->data->mname[0]), (boolean)mtmp->female)); } static void --- 92,107 ---- mtmp->female = 1; else mtmp->female = 0; ! /*JP Strcat(nam, " the "); Strcat(nam, rank_of(rn1(11, 20), highc(mtmp->data->mname[0]), + (boolean)mtmp->female));*/ + Strcpy(tmp_nam, rank_of(rn1(11, 20), + highc(mtmp->data->mname[0]), (boolean)mtmp->female)); + Strcat(tmp_nam, "¤Î"); + Strcat(tmp_nam, nam); + Strcpy(nam, tmp_nam); } static void *************** *** 279,284 **** --- 296,303 ---- mplayer_talk(mtmp) register struct monst *mtmp; { + /*JP*/ + #if 0 static const char *same_class_msg[3] = { "I can't win, and neither will you!", "You don't deserve to win!", *************** *** 288,298 **** "Fight, scum!", "Here is what I have to say!", }; if(mtmp->mpeaceful) return; /* will drop to humanoid talk */ ! pline("Talk? -- %s", u.role == highc(*mtmp->data->mname) ? same_class_msg[rn2(3)] : other_class_msg[rn2(3)]); } /*mplayer.c*/ --- 307,344 ---- "Fight, scum!", "Here is what I have to say!", }; + #endif /*JP*/ + static const char *same_class_msg_f[3] = { + "»ä¤Ç¤¹¤éãÀ®¤Ç¤­¤Ê¤¤¤Î¤Ë¡¤¤¢¤Ê¤¿¤ËãÀ®¤Ç¤­¤Æ¡©", + "¤¢¤Ê¤¿¤¬À®¸ù¤¹¤ë¤Ê¤ó¤Æ¤¢¤ê¤¨¤Þ¤»¤ó¤ï¡¥", + "̾ÍÀ¤Ï»ä¤Ë¡ª¤¢¤Ê¤¿¤Ë¤Ê¤ó¤Æ¤È¤ó¤Ç¤â¤Ê¤¤¡¥", + }, *other_class_msg_f[3] = { + "»ä¤ÈÏä·¤¿¤¤¤Ç¤¹¤Ã¤Æ¡©", + "·õ¤ò¼è¤ê¤Ê¤µ¤¤¡ª", + "¤¢¤Ê¤¿¤ÈÏ乤³¤È¤Ê¤É¤¢¤ê¤Þ¤»¤ó¤ï¡ª", + }; + static const char *same_class_msg[3] = { + "»ä¤Ç¤¹¤éãÀ®¤Ç¤­¤Ê¤¤¤Î¤Ë¡¤¤ªÁ°¤ËãÀ®¤Ç¤­¤ë¤Î¤«¡©", + "¤ªÁ°¤¬À®¸ù¤¹¤ë¤Ê¤ó¤Æ¤³¤È¤Ï¤Ê¤¤¤Ê¡¥", + "̾ÍÀ¤ò²æ¤Ë¡ª¤ªÁ°¤¸¤ã¤Ê¤¤¡ª", + }, *other_class_msg[3] = { + "²¼½°¤¬Ïä·¤«¤±¤ë¤«¡©¤Ï¤Ï¡¼¤ó¡©", + "À廊¡ª¤³¤ÎÌîϺ", + "¤ªÁ°¤ÈÏ乤³¤È¤Ê¤É¤Ê¤Ë¤â¤Ê¤¤¡ª", + }; + if(mtmp->mpeaceful) return; /* will drop to humanoid talk */ ! /*JP pline("Talk? -- %s", u.role == highc(*mtmp->data->mname) ? ! same_class_msg[rn2(3)] : other_class_msg[rn2(3)]);*/ ! if(mtmp->female) ! pline("Ï乡© -- %s", u.role == highc(*mtmp->data->mname) ? ! same_class_msg[rn2(3)] : other_class_msg_f[rn2(3)]); ! else ! pline("Ï乡© -- %s", u.role == highc(*mtmp->data->mname) ? same_class_msg[rn2(3)] : other_class_msg[rn2(3)]); } /*mplayer.c*/ + diff -c -r ../nethack-3.2.2/src/mthrowu.c ./src/mthrowu.c *** ../nethack-3.2.2/src/mthrowu.c Sat Dec 28 21:53:45 1996 --- ./src/mthrowu.c Tue Sep 23 07:10:09 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" STATIC_DCL int FDECL(drop_throw,(struct obj *,BOOLEAN_P,int,int)); *************** *** 18,24 **** * Keep consistent with breath weapons in zap.c, and AD_* in monattk.h. */ STATIC_OVL NEARDATA const char *breathwep[] = { ! "fragments", "fire", "frost", "sleep gas", --- 25,31 ---- * Keep consistent with breath weapons in zap.c, and AD_* in monattk.h. */ STATIC_OVL NEARDATA const char *breathwep[] = { ! /*JP "fragments", "fire", "frost", "sleep gas", *************** *** 27,32 **** --- 34,49 ---- "poison gas", "acid", "strange breath #8", + "strange breath #9"*/ + "ÇËÊÒ", + "±ê", + "Î䵤", + "¿ç̲¥¬¥¹", + "»à¤Î¸÷Àþ", + "°ðºÊ", + "ÆǤΩ", + "»À", + "strange breath #8", "strange breath #9" }; *************** *** 39,65 **** const char *onm = (obj && obj_is_pname(obj)) ? the(name) : (obj && obj->quan > 1) ? name : an(name); boolean is_acid = (obj && obj->otyp == ACID_VENOM); if(u.uac + tlev <= rnd(20)) { ! if(Blind || !flags.verbose) pline("It misses."); ! else You("are almost hit by %s!", onm); return(0); } else { ! if(Blind || !flags.verbose) You("are hit!"); ! else You("are hit by %s!", onm); if (obj && objects[obj->otyp].oc_material == SILVER && hates_silver(uasmon)) { dam += rnd(20); ! pline_The("silver sears your flesh!"); exercise(A_CON, FALSE); } if (is_acid && resists_acid(&youmonst)) ! pline("It doesn't seem to hurt you."); else { ! if (is_acid) pline("It burns!"); if (Half_physical_damage) dam = (dam+1) / 2; ! losehp(dam, name, (obj && obj_is_pname(obj)) ? KILLED_BY : KILLED_BY_AN); exercise(A_STR, FALSE); } --- 56,93 ---- const char *onm = (obj && obj_is_pname(obj)) ? the(name) : (obj && obj->quan > 1) ? name : an(name); boolean is_acid = (obj && obj->otyp == ACID_VENOM); + static char jbuf[256]; if(u.uac + tlev <= rnd(20)) { ! /*JP if(Blind || !flags.verbose) pline("It misses.");*/ ! if(Blind || !flags.verbose) pline("¤½¤ì¤Ï¤Ï¤º¤ì¤¿¡¥"); ! /*JP else You("are almost hit by %s!", onm);*/ ! else pline("¤â¤¦¾¯¤·¤Ç%s¤ËÌ¿Ã椹¤ë¤È¤³¤í¤À¤Ã¤¿¡ª",onm); return(0); } else { ! /*JP if(Blind || !flags.verbose) You("are hit!"); ! else You("are hit by %s!", onm);*/ ! if(Blind || !flags.verbose) pline("²¿¤«¤¬¤¢¤Ê¤¿¤ËÌ¿Ã椷¤¿¡ª"); ! else pline("%s¤¬¤¢¤Ê¤¿¤ËÌ¿Ã椷¤¿¡ª", onm); if (obj && objects[obj->otyp].oc_material == SILVER && hates_silver(uasmon)) { dam += rnd(20); ! /*JP pline_The("silver sears your flesh!");*/ ! pline("¤¢¤Ê¤¿¤ÎÂΤ϶ä¤Ç¾Æ¤«¤ì¤¿¡ª"); exercise(A_CON, FALSE); } if (is_acid && resists_acid(&youmonst)) ! /*JP pline("It doesn't seem to hurt you.");*/ ! pline("¤¢¤Ê¤¿¤Ï½ý¤Ä¤«¤Ê¤«¤Ã¤¿¡¥"); else { ! /*JP if (is_acid) pline("It burns!");*/ ! if (is_acid) pline("»À¤Ç¾Æ¤«¤ì¤¿¡ª"); if (Half_physical_damage) dam = (dam+1) / 2; ! Strcpy(jbuf, name); ! Strcat(jbuf, "¤Ç"); ! /*JP losehp(dam, name, (obj && obj_is_pname(obj)) ?*/ ! losehp(dam, jbuf, (obj && obj_is_pname(obj)) ? KILLED_BY : KILLED_BY_AN); exercise(A_STR, FALSE); } *************** *** 100,106 **** if (down_gate(x, y) != -1) objgone = ship_object(obj, x, y, FALSE); if (!objgone) { ! if (!flooreffects(obj,x,y,"fall")) { /* don't double-dip on damage */ place_object(obj, x, y); stackobj(obj); retvalu = 0; --- 128,135 ---- if (down_gate(x, y) != -1) objgone = ship_object(obj, x, y, FALSE); if (!objgone) { ! /*JP if (!flooreffects(obj,x,y,"fall")) { /* don't double-dip on damage */ ! if (!flooreffects(obj,x,y,"Íî¤Á¤ë")) { /* don't double-dip on damage */ place_object(obj, x, y); stackobj(obj); retvalu = 0; *************** *** 135,141 **** if (tmp < rnd(20)) { if (!ismimic) { if (vis) miss(distant_name(otmp, xname), mtmp); ! else if (verbose) pline("It is missed."); } if (!range) { /* Last position; object drops */ (void) drop_throw(otmp, 0, mtmp->mx, mtmp->my); --- 164,171 ---- if (tmp < rnd(20)) { if (!ismimic) { if (vis) miss(distant_name(otmp, xname), mtmp); ! /*JP else if (verbose) pline("It is missed.");*/ ! else if (verbose) pline("²¿¤«¤¬¤«¤¹¤á¤¿¡¥"); } if (!range) { /* Last position; object drops */ (void) drop_throw(otmp, 0, mtmp->mx, mtmp->my); *************** *** 154,203 **** if (ismimic) seemimic(mtmp); mtmp->msleep = 0; if (vis) hit(distant_name(otmp,xname), mtmp, exclam(damage)); ! else if (verbose) pline("It is hit%s", exclam(damage)); if (otmp->opoisoned) { if (resists_poison(mtmp)) { ! if (vis) pline_The("poison doesn't seem to affect %s.", mon_nam(mtmp)); } else { if (rn2(30)) { damage += rnd(6); } else { ! if (vis) pline_The("poison was deadly..."); damage = mtmp->mhp; } } } if (objects[otmp->otyp].oc_material == SILVER && hates_silver(mtmp->data)) { ! if (vis) pline_The("silver sears %s flesh!", s_suffix(mon_nam(mtmp))); ! else if (verbose) pline("Its flesh is seared!"); } if (otmp->otyp == ACID_VENOM && cansee(mtmp->mx,mtmp->my)) { if (resists_acid(mtmp)) { if (vis || verbose) ! pline("%s is unaffected.", Monnam(mtmp)); damage = 0; } else { ! if (vis) pline_The("acid burns %s!", mon_nam(mtmp)); ! else if (verbose) pline("It is burned!"); } } mtmp->mhp -= damage; if (mtmp->mhp < 1) { if (vis || verbose) ! pline("%s is %s!", Monnam(mtmp), (nonliving(mtmp->data) || !vis) ! ? "destroyed" : "killed"); mondied(mtmp); } if ((otmp->otyp == CREAM_PIE || otmp->otyp == BLINDING_VENOM) && haseyes(mtmp->data)) { /* note: resists_blnd() doesn't apply here */ ! if (vis) pline("%s is blinded by %s.", Monnam(mtmp), the(xname(otmp))); mtmp->mcansee = 0; tmp = (int)mtmp->mblinded + rnd(25) + 20; --- 184,246 ---- if (ismimic) seemimic(mtmp); mtmp->msleep = 0; if (vis) hit(distant_name(otmp,xname), mtmp, exclam(damage)); ! /*JP else if (verbose) pline("It is hit%s", exclam(damage));*/ ! else if (verbose) pline("²¿¤«¤¬Ì¿Ã椷¤¿%s", exclam(damage)); if (otmp->opoisoned) { if (resists_poison(mtmp)) { ! /*JP if (vis) pline_The("poison doesn't seem to affect %s.",*/ ! if (vis) pline("%s¤ÏÆǤαƶÁ¤ò¼õ¤±¤Ê¤¤¡¥", mon_nam(mtmp)); } else { if (rn2(30)) { damage += rnd(6); } else { ! /*JP if (vis) pline_The("poison was deadly...");*/ ! if (vis) pline("ÆǤÏÃ×»àÎ̤À¤Ã¤¿¡¥¡¥¡¥"); damage = mtmp->mhp; } } } if (objects[otmp->otyp].oc_material == SILVER && hates_silver(mtmp->data)) { ! /*JP if (vis) pline_The("silver sears %s flesh!",*/ ! if (vis) pline("%s¤ÎÂΤ϶ä¤Ç¾Æ¤«¤ì¤¿¡ª", s_suffix(mon_nam(mtmp))); ! /*JP else if (verbose) pline("Its flesh is seared!");*/ ! else if (verbose) pline("²¿¼Ô¤«¤ÎÂΤϾƤ«¤ì¤¿¡ª"); } if (otmp->otyp == ACID_VENOM && cansee(mtmp->mx,mtmp->my)) { if (resists_acid(mtmp)) { if (vis || verbose) ! /*JP pline("%s is unaffected.", Monnam(mtmp));*/ ! pline("%s¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡¥", Monnam(mtmp)); damage = 0; } else { ! /*JP if (vis) pline_The("acid burns %s!", mon_nam(mtmp)); ! else if (verbose) pline("It is burned!");*/ ! if (vis) pline("%s¤Ï»À¤Ç¾Æ¤«¤ì¤¿¡ª", mon_nam(mtmp)); ! else if (verbose) pline("²¿Êª¤«¤Ï¾Æ¤«¤ì¤¿¡ª"); } } mtmp->mhp -= damage; if (mtmp->mhp < 1) { if (vis || verbose) ! /*JP pline("%s is %s!", Monnam(mtmp), ! (nonliving(mtmp->data) || !vis) ! ? "destroyed" : "killed");*/ ! pline("%s¤Ï%s¡ª", Monnam(mtmp), (nonliving(mtmp->data) || !vis) ! ? "Åݤµ¤ì¤¿" : "»à¤ó¤À"); mondied(mtmp); } if ((otmp->otyp == CREAM_PIE || otmp->otyp == BLINDING_VENOM) && haseyes(mtmp->data)) { /* note: resists_blnd() doesn't apply here */ ! /*JP if (vis) pline("%s is blinded by %s.", ! Monnam(mtmp), the(xname(otmp)));*/ ! if (vis) pline("%s¤Ï%s¤Ë¤è¤Ã¤ÆÌܤ¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡¥", Monnam(mtmp), the(xname(otmp))); mtmp->mcansee = 0; tmp = (int)mtmp->mblinded + rnd(25) + 20; *************** *** 261,270 **** if((singleobj->oclass == WEAPON_CLASS || singleobj->oclass == GEM_CLASS) && objects[singleobj->otyp].w_propellor) ! pline("%s misfires!", Monnam(mon)); else ! pline("%s slips as %s throws it!", ! The(xname(singleobj)), mon_nam(mon)); } dx = rn2(3)-1; dy = rn2(3)-1; --- 304,315 ---- if((singleobj->oclass == WEAPON_CLASS || singleobj->oclass == GEM_CLASS) && objects[singleobj->otyp].w_propellor) ! /*JP pline("%s misfires!", Monnam(mon));*/ ! pline("%s¤Ï¤Ï¤º¤·¤¿¡ª", Monnam(mon)); else ! /*JP pline("%s slips as %s throws it!",*/ ! pline("%s¤¬Åꤲ¤è¤¦¤È¤·¤¿¤È¤¿¤ó%s¤¬³ê¤Ã¤¿¡ª", ! mon_nam(mon),The(xname(singleobj))); } dx = rn2(3)-1; dy = rn2(3)-1; *************** *** 296,312 **** singleobj->otyp <= LAST_GEM+6 /* 6 glass colors */ && u.usym == S_UNICORN) { if (singleobj->otyp > LAST_GEM) { ! You("catch the %s.", xname(singleobj)); ! You("are not interested in %s junk.", s_suffix(mon_nam(mon))); makeknown(singleobj->otyp); dropy(singleobj); } else { ! You("accept %s gift in the spirit in which it was intended.", s_suffix(mon_nam(mon))); (void)hold_another_object(singleobj, ! "You catch, but drop, %s.", xname(singleobj), ! "You catch:"); } break; } --- 341,362 ---- singleobj->otyp <= LAST_GEM+6 /* 6 glass colors */ && u.usym == S_UNICORN) { if (singleobj->otyp > LAST_GEM) { ! /*JP You("catch the %s.", xname(singleobj));*/ ! You("%s¤ò¤Ä¤«¤Þ¤¨¤¿¡¥", xname(singleobj)); ! /*JP You("are not interested in %s junk.",*/ ! You("%s¤Î¥¬¥é¥¯¥¿¤Ë¶½Ì£¤Ï¤Ê¤¤¡¥", s_suffix(mon_nam(mon))); makeknown(singleobj->otyp); dropy(singleobj); } else { ! /*JP You("accept %s gift in the spirit in which it was intended.",*/ ! You("¤³¤ì¤¬Íߤ·¤«¤Ã¤¿¤ó¤À¤È»×¤¤¤Ê¤¬¤é%¤Î£¤êʪ¤ò¼õ¤±¤È¤Ã¤¿¡¥", s_suffix(mon_nam(mon))); (void)hold_another_object(singleobj, ! /*JP "You catch, but drop, %s.", xname(singleobj), ! "You catch:");*/ ! "¤¢¤Ê¤¿¤Ï%s¤ò¤Ä¤«¤Þ¤¨¤¿¤¬¡¤Í¤¿¡¥", xname(singleobj), ! "¤ò¤Ä¤«¤Þ¤¨¤¿"); } break; } *************** *** 342,362 **** singleobj, xname(singleobj)); } if (hitu && singleobj->opoisoned) { char *singlename = xname(singleobj); poisoned(singlename, A_STR, singlename, 10); } if(hitu && (singleobj->otyp == CREAM_PIE || singleobj->otyp == BLINDING_VENOM)) { blindinc = rnd(25); if(singleobj->otyp == CREAM_PIE) { if(!Blind) pline("Yecch! You've been creamed."); else pline("There's %s sticky all over your %s.", something, body_part(FACE)); } else { /* venom in the eyes */ if(Blindfolded) /* nothing */ ; ! else if(!Blind) pline_The("venom blinds you."); ! else Your("%s sting.", makeplural(body_part(EYE))); } } --- 392,425 ---- singleobj, xname(singleobj)); } if (hitu && singleobj->opoisoned) { + /*JP char *singlename = xname(singleobj); + */ + char singlename[BUFSZ]; + /*JP Sprintf(singlename, "%s¤Î", xname(singleobj));*/ + Sprintf(singlename, "%s", xname(singleobj)); poisoned(singlename, A_STR, singlename, 10); } if(hitu && (singleobj->otyp == CREAM_PIE || singleobj->otyp == BLINDING_VENOM)) { blindinc = rnd(25); if(singleobj->otyp == CREAM_PIE) { + /*JP if(!Blind) pline("Yecch! You've been creamed."); + */ + if(!Blind) pline("¥¦¥§¡¼¡¥¥¯¥ê¡¼¥à¤ò¤«¤Ö¤Ã¤¿¡¥"); + /*JP else pline("There's %s sticky all over your %s.", something, + */ + else pline("¤¢¤Ê¤¿¤Ï%s¤Ë¤Ù¤È¤Ä¤¯¤â¤Î¤ò´¶¤¸¤¿¡¥", body_part(FACE)); } else { /* venom in the eyes */ if(Blindfolded) /* nothing */ ; ! /*JP else if(!Blind) pline_The("venom blinds you.");*/ ! else if(!Blind) pline("ÆǤÇÌܤ¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡¥"); ! /*JP else Your("%s sting.",*/ ! else Your("%s¤Ï¤Á¤¯¤Á¤¯¤·¤¿¡¥", makeplural(body_part(EYE))); } } *************** *** 441,457 **** if(!URETREATING(x,y) || !rn2(BOLT_LIM-distmin(x,y,mtmp->mux,mtmp->muy))) { ! const char *verb = "throws"; if (otmp->otyp == ARROW || otmp->otyp == ELVEN_ARROW || otmp->otyp == ORCISH_ARROW ! || otmp->otyp == CROSSBOW_BOLT) verb = "shoots"; if (canseemon(mtmp)) { ! pline("%s %s %s!", Monnam(mtmp), verb, obj_is_pname(otmp) ? the(singular(otmp, xname)) : ! an(singular(otmp, xname))); } m_throw(mtmp, mtmp->mx, mtmp->my, sgn(tbx), sgn(tby), distmin(mtmp->mx,mtmp->my,mtmp->mux,mtmp->muy), otmp); --- 504,523 ---- if(!URETREATING(x,y) || !rn2(BOLT_LIM-distmin(x,y,mtmp->mux,mtmp->muy))) { ! /*JP const char *verb = "throws";*/ ! const char *verb = "Åꤲ¤¿"; if (otmp->otyp == ARROW || otmp->otyp == ELVEN_ARROW || otmp->otyp == ORCISH_ARROW ! /*JP || otmp->otyp == CROSSBOW_BOLT) verb = "shoots";*/ ! || otmp->otyp == CROSSBOW_BOLT) verb = "·â¤Ã¤¿"; if (canseemon(mtmp)) { ! /*JP pline("%s %s %s!", Monnam(mtmp), verb,*/ ! pline("%s¤Ï%s¤ò%s¡ª", Monnam(mtmp), obj_is_pname(otmp) ? the(singular(otmp, xname)) : ! an(singular(otmp, xname)),verb); } m_throw(mtmp, mtmp->mx, mtmp->my, sgn(tbx), sgn(tby), distmin(mtmp->mx,mtmp->my,mtmp->mux,mtmp->muy), otmp); *************** *** 475,481 **** if(mtmp->mcan) { if(flags.soundok) ! pline("A dry rattle comes from %s throat", s_suffix(mon_nam(mtmp))); return 0; } --- 541,548 ---- if(mtmp->mcan) { if(flags.soundok) ! /*JP pline("A dry rattle comes from %s throat",*/ ! pline("¥¬¥é¥¬¥éÀ¼¤¬%s¤Î¹¢¤«¤éʹ¤³¤¨¤¿", s_suffix(mon_nam(mtmp))); return 0; } *************** *** 494,500 **** } if(!rn2(BOLT_LIM-distmin(mtmp->mx,mtmp->my,mtmp->mux,mtmp->muy))) { if (canseemon(mtmp)) ! pline("%s spits venom!", Monnam(mtmp)); m_throw(mtmp, mtmp->mx, mtmp->my, sgn(tbx), sgn(tby), distmin(mtmp->mx,mtmp->my,mtmp->mux,mtmp->muy), otmp); nomul(0); --- 561,568 ---- } if(!rn2(BOLT_LIM-distmin(mtmp->mx,mtmp->my,mtmp->mux,mtmp->muy))) { if (canseemon(mtmp)) ! /*JP pline("%s spits venom!", Monnam(mtmp));*/ ! pline("%s¤ÏÆǤòÅǤ¤¤¿¡ª", Monnam(mtmp)); m_throw(mtmp, mtmp->mx, mtmp->my, sgn(tbx), sgn(tby), distmin(mtmp->mx,mtmp->my,mtmp->mux,mtmp->muy), otmp); nomul(0); *************** *** 520,528 **** if(mtmp->mcan) { if(flags.soundok) { if(canseemon(mtmp)) ! pline("%s coughs.", Monnam(mtmp)); else ! You_hear("a cough."); } return(0); } --- 588,598 ---- if(mtmp->mcan) { if(flags.soundok) { if(canseemon(mtmp)) ! /*JP pline("%s coughs.", Monnam(mtmp));*/ ! pline("%s¤Ï¤»¤­¤ò¤·¤¿¡¥", Monnam(mtmp)); else ! /*JP You_hear("a cough.");*/ ! You("¤»¤­¤Î²»¤òʹ¤¤¤¿¡¥"); } return(0); } *************** *** 531,537 **** if((typ >= AD_MAGM) && (typ <= AD_ACID)) { if(canseemon(mtmp)) ! pline("%s breathes %s!", Monnam(mtmp), breathwep[typ-1]); buzz((int) (-20 - (typ-1)), (int)mattk->damn, mtmp->mx, mtmp->my, sgn(tbx), sgn(tby)); --- 601,608 ---- if((typ >= AD_MAGM) && (typ <= AD_ACID)) { if(canseemon(mtmp)) ! /*JP pline("%s breathes %s!", Monnam(mtmp),*/ ! pline("%s¤Ï%s¤òÅǤ¤¤¿¡ª", Monnam(mtmp), breathwep[typ-1]); buzz((int) (-20 - (typ-1)), (int)mattk->damn, mtmp->mx, mtmp->my, sgn(tbx), sgn(tby)); diff -c -r ../nethack-3.2.2/src/muse.c ./src/muse.c *** ../nethack-3.2.2/src/muse.c Sat Dec 28 21:53:45 1996 --- ./src/muse.c Tue Jul 22 23:18:29 1997 *************** *** 6,11 **** --- 6,18 ---- * Monster item usage routines. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "edog.h" *************** *** 62,68 **** if (obj->oclass == POTION_CLASS) { coord cc; ! static const char *empty = "The potion turns out to be empty."; const char *potion_descr; struct monst *mtmp; #define POTION_OCCUPANT_CHANCE(n) (13 + 2*(n)) /* also in potion.c */ --- 69,76 ---- if (obj->oclass == POTION_CLASS) { coord cc; ! /*JP static const char *empty = "The potion turns out to be empty.";*/ ! static const char *empty = "Ìô¤Ï¶õ¤Ã¤Ý¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤¿¡¥"; const char *potion_descr; struct monst *mtmp; #define POTION_OCCUPANT_CHANCE(n) (13 + 2*(n)) /* also in potion.c */ *************** *** 79,88 **** if (vis) pline(empty); } else { if (vis) { ! pline("As %s opens the bottle, an enormous %s emerges!", mon_nam(mon), ! Hallucination ? rndmonnam() : (const char *)"ghost"); ! pline("%s is frightened to death, and unable to move.", Monnam(mon)); } mon->mcanmove = 0; --- 87,99 ---- if (vis) pline(empty); } else { if (vis) { ! /*JP pline("As %s opens the bottle, an enormous %s emerges!",*/ ! pline("%s¤¬ÉÓ¤ò³«¤±¤ë¤È¡¤µðÂç¤Ê%s¤¬½Ð¤Æ¤­¤¿¡ª", mon_nam(mon), ! /*JP Hallucination ? rndmonnam() : (const char *)"ghost");*/ ! jtrns_mon(Hallucination ? rndmonnam() : (const char *)"Í©Îî", -1)); ! /*JP pline("%s is frightened to death, and unable to move.",*/ ! pline("%s¤Ï¤Þ¤Ã¤µ¤ª¤Ë¤Ê¤Ã¤Æ¶Ã¤­¡¤Æ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡¥", Monnam(mon)); } mon->mcanmove = 0; *************** *** 101,118 **** if (vis) pline(empty); } else { if (vis) ! pline("In a cloud of smoke, %s emerges!", a_monnam(mtmp)); ! pline("%s speaks.", vis ? Monnam(mtmp) : Something); /* I suspect few players will be upset that monsters */ /* can't wish for wands of death here.... */ if (rn2(2)) { ! verbalize("You freed me!"); mtmp->mpeaceful = 1; set_malign(mtmp); } else { ! verbalize("It is about time."); ! if (vis) pline("%s vanishes.", Monnam(mtmp)); mongone(mtmp); } } --- 112,134 ---- if (vis) pline(empty); } else { if (vis) ! /*JP pline("In a cloud of smoke, %s emerges!",*/ ! pline("±ì¤ÎÃ椫¤é¡¤%s¤¬¸½¤ï¤ì¤¿¡ª", a_monnam(mtmp)); ! /*JP pline("%s speaks.", vis ? Monnam(mtmp) : Something);*/ ! pline("%s¤ÏÏä·¤¿¡¥", vis ? Monnam(mtmp) : Something); /* I suspect few players will be upset that monsters */ /* can't wish for wands of death here.... */ if (rn2(2)) { ! /*JP verbalize("You freed me!");*/ ! verbalize("²òÊü¤·¤Æ¤¯¤ì¤¿¤Î¤Ï¤ªÁ°¤«¡ª"); mtmp->mpeaceful = 1; set_malign(mtmp); } else { ! /*JP verbalize("It is about time.");*/ ! verbalize("¤µ¤é¤Ð¤À¡ª"); ! /*JP if (vis) pline("%s vanishes.", Monnam(mtmp));*/ ! if (vis) pline("%s¤Ï¾Ã¤¨¤¿¡¥", Monnam(mtmp)); mongone(mtmp); } } *************** *** 123,131 **** int dam = d(obj->spe+2, 6); if (flags.soundok) { ! if (vis) pline("%s zaps %s, which suddenly explodes!", Monnam(mon), an(xname(obj))); ! else You_hear("a zap and an explosion in the distance."); } m_useup(mon, obj); if (mon->mhp <= dam) { --- 139,149 ---- int dam = d(obj->spe+2, 6); if (flags.soundok) { ! /*JP if (vis) pline("%s zaps %s, which suddenly explodes!",*/ ! if (vis) pline("%s¤Ï%s¤ò¤Õ¤ê¤«¤¶¤·¤¿¡¤¤½¤ì¤ÏÆÍÁ³Çúȯ¤·¤¿¡ª", Monnam(mon), an(xname(obj))); ! /*JP else You_hear("a zap and an explosion in the distance.");*/ ! else You("±óÊý¤Î¾ó¤Î²»¤ÈÇúȯ²»¤òʹ¤¤¤¿¡¥"); } m_useup(mon, obj); if (mon->mhp <= dam) { *************** *** 147,158 **** { if (!canseemon(mtmp)) { if (flags.soundok) ! You_hear("a distant zap."); } else if (self) ! pline("%s zaps %sself with %s!", ! Monnam(mtmp), him[pronoun_gender(mtmp)], doname(otmp)); else { ! pline("%s zaps %s!", Monnam(mtmp), an(xname(otmp))); stop_occupation(); } } --- 165,180 ---- { if (!canseemon(mtmp)) { if (flags.soundok) ! /*JP You_hear("a distant zap.");*/ ! You("±óÊý¤Ç¤Î¾ó¤Î²»¤òʹ¤¤¤¿¡¥"); } else if (self) ! /*JP pline("%s zaps %sself with %s!", ! Monnam(mtmp), him[pronoun_gender(mtmp)], doname(otmp));*/ ! pline("%s¤Ï¼«Ê¬¼«¿È¤Ë%s¤ò¤Õ¤ê¤«¤¶¤·¤¿¡ª", ! Monnam(mtmp), doname(otmp)); else { ! /*JP pline("%s zaps %s!", Monnam(mtmp), an(xname(otmp)));*/ ! pline("%s¤Ï%s¤ò¤Õ¤ê¤«¤¶¤·¤¿¡ª", Monnam(mtmp), an(xname(otmp))); stop_occupation(); } } *************** *** 183,196 **** u.role = saverole; if (vismon) ! pline("%s reads %s!", Monnam(mtmp), onambuf); else ! You_hear("%s reading %s.", ! an(Hallucination ? rndmonnam() : mtmp->data->mname), onambuf); if (mtmp->mconf) ! pline("Being confused, %s mispronounces the magic words...", vismon ? mon_nam(mtmp) : he[pronoun_gender(mtmp)]); } --- 205,222 ---- u.role = saverole; if (vismon) ! /*JP pline("%s reads %s!", Monnam(mtmp), onambuf);*/ ! pline("%s¤Ï%s¤òÆɤó¤À¡ª", Monnam(mtmp), onambuf); else ! /*JP You_hear("%s reading %s.",*/ ! You_hear("%s¤¬%s¤òÆɤó¤Ç¤¤¤ëÀ¼¤òʹ¤¤¤¿¡¥", ! /*JP an(Hallucination ? rndmonnam() : mtmp->data->mname),*/ ! jtrns_mon(Hallucination ? rndmonnam() : mtmp->data->mname, mtmp->female), onambuf); if (mtmp->mconf) ! /*JP pline("Being confused, %s mispronounces the magic words...",*/ ! pline("º®Í𤷤Ƥ¤¤ë¤Î¤Ç¡¤%s¤Ï¼öʸ¤ò´Ö°ã¤Ã¤Æ¾§¤¨¤Æ¤·¤Þ¤Ã¤¿¡¥¡¥¡¥", vismon ? mon_nam(mtmp) : he[pronoun_gender(mtmp)]); } *************** *** 201,210 **** { if (canseemon(mtmp)) { otmp->dknown = 1; ! pline("%s drinks %s!", Monnam(mtmp), singular(otmp, doname)); } else if (flags.soundok) ! You_hear("a chugging sound."); } /* Defines for various types of stuff. The order in which monsters prefer --- 227,238 ---- { if (canseemon(mtmp)) { otmp->dknown = 1; ! /*JP pline("%s drinks %s!", Monnam(mtmp), singular(otmp, doname));*/ ! pline("%s¤Ï%s¤ò°û¤ó¤À¡ª", Monnam(mtmp), singular(otmp, doname)); } else if (flags.soundok) ! /*JP You_hear("a chugging sound.");*/ ! You_hear("¥´¥¯¥Ã¡ª¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); } /* Defines for various types of stuff. The order in which monsters prefer *************** *** 461,467 **** int i, fleetim, how = 0; struct obj *otmp = m.defensive; boolean vis, vismon, oseen; ! const char *mcsa = "%s can see again."; if ((i = precheck(mtmp, otmp)) != 0) return i; vis = cansee(mtmp->mx, mtmp->my); --- 489,496 ---- int i, fleetim, how = 0; struct obj *otmp = m.defensive; boolean vis, vismon, oseen; ! /*JP const char *mcsa = "%s can see again.";*/ ! const char *mcsa = "%s¤Ï¤Þ¤¿¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥"; if ((i = precheck(mtmp, otmp)) != 0) return i; vis = cansee(mtmp->mx, mtmp->my); *************** *** 478,486 **** case MUSE_UNICORN_HORN: if (vismon) { if (otmp) pline("%s uses a unicorn horn!", Monnam(mtmp)); else ! pline("The tip of %s's horn glows!", mon_nam(mtmp)); } if (!mtmp->mcansee) { mtmp->mcansee = 1; --- 507,519 ---- case MUSE_UNICORN_HORN: if (vismon) { if (otmp) + /*JP pline("%s uses a unicorn horn!", Monnam(mtmp)); + */ + pline("%s¤Ï¥æ¥Ë¥³¡¼¥ó¤Î³Ñ¤ò»È¤Ã¤¿¡ª", Monnam(mtmp)); else ! /*JP pline("The tip of %s's horn glows!", mon_nam(mtmp));*/ ! pline("%s¤Î³Ñ¤ÎÀèü¤¬µ±¤¤¤¿¡ª", mon_nam(mtmp)); } if (!mtmp->mcansee) { mtmp->mcansee = 1; *************** *** 489,502 **** } else if (mtmp->mconf || mtmp->mstun) { mtmp->mconf = mtmp->mstun = 0; if (vismon) ! pline("%s seems steadier now.", Monnam(mtmp)); } else impossible("No need for unicorn horn?"); return 2; case MUSE_BUGLE: if (vismon) ! pline("%s plays %s!", Monnam(mtmp), doname(otmp)); else if (flags.soundok) ! You_hear("a bugle playing reveille!"); awaken_soldiers(); return 2; case MUSE_WAN_TELEPORTATION_SELF: --- 522,538 ---- } else if (mtmp->mconf || mtmp->mstun) { mtmp->mconf = mtmp->mstun = 0; if (vismon) ! /*JP pline("%s seems steadier now.", Monnam(mtmp));*/ ! pline("%s¤ÏÊ¿ÀŤò¤È¤ê¤â¤É¤·¤¿¡¥", Monnam(mtmp)); } else impossible("No need for unicorn horn?"); return 2; case MUSE_BUGLE: if (vismon) ! /*JP pline("%s plays %s!", Monnam(mtmp), doname(otmp));*/ ! pline("%s¤Ï%s¤ò¿á¤¤¤¿¡ª", Monnam(mtmp), doname(otmp)); else if (flags.soundok) ! /*JP You_hear("a bugle playing reveille!");*/ ! You("µ¯¾²¥é¥Ã¥Ñ¤Î²»¤òʹ¤¤¤¿¡ª"); awaken_soldiers(); return 2; case MUSE_WAN_TELEPORTATION_SELF: *************** *** 518,524 **** #endif On_W_tower_level(&u.uz)) && !rn2(3)) { if (vismon) ! pline("%s seems disoriented for a moment.", Monnam(mtmp)); return 2; } --- 554,561 ---- #endif On_W_tower_level(&u.uz)) && !rn2(3)) { if (vismon) ! /*JP pline("%s seems disoriented for a moment.",*/ ! pline("%s¤Ï°ì½ÖÊý¸þ´¶³Ð¤ò¼º¤Ã¤¿¡¥", Monnam(mtmp)); return 2; } *************** *** 548,561 **** if (mon_has_amulet(mtmp) || In_endgame(&u.uz)) { if (vismon) ! pline("%s seems very disoriented for a moment.", Monnam(mtmp)); return 2; } nlev = random_teleport_level(); if (nlev == depth(&u.uz)) { if (vismon) ! pline("%s shudders for a moment.", Monnam(mtmp)); return 2; } --- 585,600 ---- if (mon_has_amulet(mtmp) || In_endgame(&u.uz)) { if (vismon) ! /*JP pline("%s seems very disoriented for a moment.",*/ ! pline("%s¤Ï°ì½ÖÊý¸þ´¶³Ð¤ò¼º¤Ã¤¿¡¥", Monnam(mtmp)); return 2; } nlev = random_teleport_level(); if (nlev == depth(&u.uz)) { if (vismon) ! /*JP pline("%s shudders for a moment.",*/ ! pline("%s¤Ï°ì½Ö¿Ì¤¨¤¿¡¥", Monnam(mtmp)); return 2; } *************** *** 578,600 **** (is_drawbridge_wall(mtmp->mx, mtmp->my) >= 0) || (sstairs.sx && sstairs.sx == mtmp->mx && sstairs.sy == mtmp->my)) { ! pline_The("digging ray is ineffective."); return 2; } if (!Can_dig_down(&u.uz)) { if(canseemon(mtmp)) ! pline_The("floor here is too hard to dig in."); return 2; } ttmp = maketrap(mtmp->mx, mtmp->my, HOLE); if (!ttmp) return 2; seetrap(ttmp); if (vis) { ! pline("%s has made a hole in the floor.", Monnam(mtmp)); pline("%s %s through...", Monnam(mtmp), ! is_flyer(mtmp->data) ? "dives" : "falls"); } else if (flags.soundok) ! You_hear("%s crash through the floor.", something); /* we made sure that there is a level for mtmp to go to */ migrate_to_level(mtmp, ledger_no(&u.uz) + 1, MIGR_RANDOM, (coord *)0); --- 617,645 ---- (is_drawbridge_wall(mtmp->mx, mtmp->my) >= 0) || (sstairs.sx && sstairs.sx == mtmp->mx && sstairs.sy == mtmp->my)) { ! /*JP pline_The("digging ray is ineffective.");*/ ! pline("·¡ºï¤Î¸÷¤Ï¸ú²Ì¤¬¤Ê¤¤¡¥"); return 2; } if (!Can_dig_down(&u.uz)) { if(canseemon(mtmp)) ! /*JP pline_The("floor here is too hard to dig in.");*/ ! pline("¤³¤³¤Î¾²¤Ï¸Ç¤¯¤Æ·¡¤ì¤Ê¤¤¡¥"); return 2; } ttmp = maketrap(mtmp->mx, mtmp->my, HOLE); if (!ttmp) return 2; seetrap(ttmp); if (vis) { ! /*JP pline("%s has made a hole in the floor.", Monnam(mtmp)); pline("%s %s through...", Monnam(mtmp), ! is_flyer(mtmp->data) ? "dives" : "falls");*/ ! pline("%s¤Ï¾²¤Ë·ê¤ò³«¤±¤¿¡¥", Monnam(mtmp)); ! pline("%s¤ÏÄ̤êÈ´¤±¤Æ%s¡¥¡¥¡¥", Monnam(mtmp), ! is_flyer(mtmp->data) ? "Èô¤Ó¤³¤ó¤À" : "Íî¤Á¤¿"); } else if (flags.soundok) ! /*JP You_hear("%s crash through the floor.", something);*/ ! You_hear("%s¤¬¾²¤òÄ̤êÈ´¤±¤ÆÍî¤Á¤ë²»¤òʹ¤¤¤¿¡¥¡¥¡¥", something); /* we made sure that there is a level for mtmp to go to */ migrate_to_level(mtmp, ledger_no(&u.uz) + 1, MIGR_RANDOM, (coord *)0); *************** *** 658,666 **** if (vis) { struct trap *t; t = t_at(trapx,trapy); ! pline("%s %s into a %s!", Monnam(mtmp), makeplural(locomotion(mtmp->data, "jump")), ! t->ttyp == TRAPDOOR ? "trapdoor" : "hole"); seetrap(t_at(trapx,trapy)); } --- 703,714 ---- if (vis) { struct trap *t; t = t_at(trapx,trapy); ! /*JP pline("%s %s into a %s!", Monnam(mtmp), makeplural(locomotion(mtmp->data, "jump")), ! t->ttyp == TRAPDOOR ? "trapdoor" : "hole");*/ ! pline("%s¤Ï%s¤Ë%sÆþ¤Ã¤¿¡ª", Monnam(mtmp), ! t->ttyp == TRAPDOOR ? "ÍÈâ" : "·ê", ! jconj(locomotion(mtmp->data, "Èô¤Ö"), "¤Æ")); seetrap(t_at(trapx,trapy)); } *************** *** 685,691 **** if (mon_has_special(mtmp)) return 0; if (vismon) ! pline("%s escapes the dungeon!", Monnam(mtmp)); mongone(mtmp); return 2; } --- 733,740 ---- if (mon_has_special(mtmp)) return 0; if (vismon) ! /*JP pline("%s escapes the dungeon!", Monnam(mtmp));*/ ! pline("%s¤Ï̵ܤ«¤éƨÁö¤·¤¿¡ª", Monnam(mtmp)); mongone(mtmp); return 2; } *************** *** 693,700 **** if (Inhell && mon_has_amulet(mtmp) && !rn2(4) && (dunlev(&u.uz) < dunlevs_in_dungeon(&u.uz) - 3)) { if (vismon) pline( ! "As %s climbs the stairs, a mysterious force momentarily surrounds %s...", ! mon_nam(mtmp), him[pronoun_gender(mtmp)]); /* simpler than for the player; this will usually be the Wizard and he'll immediately go right to the upstairs, so there's not much point in having any --- 742,751 ---- if (Inhell && mon_has_amulet(mtmp) && !rn2(4) && (dunlev(&u.uz) < dunlevs_in_dungeon(&u.uz) - 3)) { if (vismon) pline( ! /*JP "As %s climbs the stairs, a mysterious force momentarily surrounds %s...", ! mon_nam(mtmp), him[pronoun_gender(mtmp)]);*/ ! "%s¤¬³¬Ãʤò¤Î¤Ü¤í¤¦¤È¤¹¤ë¤È´ñ̯¤ÊÎϤ¬%s¤ò¤Ä¤Ä¤ó¤À¡¥¡¥¡¥", ! mon_nam(mtmp), mon_nam(mtmp)); /* simpler than for the player; this will usually be the Wizard and he'll immediately go right to the upstairs, so there's not much point in having any *************** *** 702,727 **** migrate_to_level(mtmp, ledger_no(&u.uz) + 1, MIGR_RANDOM, (coord *)0); } else { ! if (vismon) pline("%s escapes upstairs!", Monnam(mtmp)); migrate_to_level(mtmp, ledger_no(&u.uz) - 1, MIGR_STAIRS_DOWN, (coord *)0); } return 2; case MUSE_DOWNSTAIRS: m_flee(mtmp); ! if (vismon) pline("%s escapes downstairs!", Monnam(mtmp)); migrate_to_level(mtmp, ledger_no(&u.uz) + 1, MIGR_STAIRS_UP, (coord *)0); return 2; case MUSE_UP_LADDER: m_flee(mtmp); ! if (vismon) pline("%s escapes up the ladder!", Monnam(mtmp)); migrate_to_level(mtmp, ledger_no(&u.uz) - 1, MIGR_LADDER_DOWN, (coord *)0); return 2; case MUSE_DN_LADDER: m_flee(mtmp); ! if (vismon) pline("%s escapes down the ladder!", Monnam(mtmp)); migrate_to_level(mtmp, ledger_no(&u.uz) + 1, MIGR_LADDER_UP, (coord *)0); return 2; --- 753,782 ---- migrate_to_level(mtmp, ledger_no(&u.uz) + 1, MIGR_RANDOM, (coord *)0); } else { ! /*JP if (vismon) pline("%s escapes upstairs!", Monnam(mtmp));*/ ! if (vismon) pline("%s¤Ï³¬Ãʤò¤Î¤Ü¤Ã¤Æƨ¤²¤¿¡ª", Monnam(mtmp)); migrate_to_level(mtmp, ledger_no(&u.uz) - 1, MIGR_STAIRS_DOWN, (coord *)0); } return 2; case MUSE_DOWNSTAIRS: m_flee(mtmp); ! /*JP if (vismon) pline("%s escapes downstairs!", Monnam(mtmp));*/ ! if (vismon) pline("%s¤Ï³¬Ãʤò¹ß¤ê¤Æƨ¤²¤¿¡ª", Monnam(mtmp)); migrate_to_level(mtmp, ledger_no(&u.uz) + 1, MIGR_STAIRS_UP, (coord *)0); return 2; case MUSE_UP_LADDER: m_flee(mtmp); ! /*JP if (vismon) pline("%s escapes up the ladder!", Monnam(mtmp));*/ ! if (vismon) pline("%s¤ÏÄô»Ò¤ò¤Î¤Ü¤Ã¤Æƨ¤²¤¿¡ª", Monnam(mtmp)); migrate_to_level(mtmp, ledger_no(&u.uz) - 1, MIGR_LADDER_DOWN, (coord *)0); return 2; case MUSE_DN_LADDER: m_flee(mtmp); ! /*JP if (vismon) pline("%s escapes down the ladder!", Monnam(mtmp));*/ ! if (vismon) pline("%s¤ÏÄô»Ò¤ò¹ß¤ê¤Æƨ¤²¤¿¡ª", Monnam(mtmp)); migrate_to_level(mtmp, ledger_no(&u.uz) + 1, MIGR_LADDER_UP, (coord *)0); return 2; *************** *** 731,752 **** /* regular stairs, not sstairs. */ if (sstairs.up) { if (vismon) ! pline("%s escapes upstairs!", Monnam(mtmp)); if(Inhell) { migrate_to_level(mtmp, ledger_no(&sstairs.tolev), MIGR_RANDOM, (coord *)0); return 2; } } else if (vismon) ! pline("%s escapes downstairs!", Monnam(mtmp)); migrate_to_level(mtmp, ledger_no(&sstairs.tolev), MIGR_SSTAIRS, (coord *)0); return 2; case MUSE_TELEPORT_TRAP: m_flee(mtmp); if (vis) { ! pline("%s %s onto a teleport trap!", Monnam(mtmp), ! makeplural(locomotion(mtmp->data, "jump"))); seetrap(t_at(trapx,trapy)); } /* don't use rloc_to() because worm tails must "move" */ --- 786,811 ---- /* regular stairs, not sstairs. */ if (sstairs.up) { if (vismon) ! /*JP pline("%s escapes upstairs!", Monnam(mtmp));*/ ! pline("%s¤Ï¤Î¤Ü¤ê³¬ÃʤËƨ¤²¤¿¡ª", Monnam(mtmp)); if(Inhell) { migrate_to_level(mtmp, ledger_no(&sstairs.tolev), MIGR_RANDOM, (coord *)0); return 2; } } else if (vismon) ! /*JP pline("%s escapes downstairs!", Monnam(mtmp));*/ ! pline("%s¤Ï¹ß¤ê³¬ÃʤËƨ¤²¤¿¡ª", Monnam(mtmp)); migrate_to_level(mtmp, ledger_no(&sstairs.tolev), MIGR_SSTAIRS, (coord *)0); return 2; case MUSE_TELEPORT_TRAP: m_flee(mtmp); if (vis) { ! /*JP pline("%s %s onto a teleport trap!", Monnam(mtmp), ! makeplural(locomotion(mtmp->data, "jump")));*/ ! if (vis) pline("%s¤Ï½Ö´Ö°ÜÆ°¤Î櫤Ë%sÆþ¤Ã¤¿¡ª", Monnam(mtmp), ! jconj(locomotion(mtmp->data, "Èô¤Ö"),"¤Æ")); seetrap(t_at(trapx,trapy)); } /* don't use rloc_to() because worm tails must "move" */ *************** *** 767,773 **** mtmp->mblinded = 0; if (vismon) pline(mcsa, Monnam(mtmp)); } ! if (vismon) pline("%s looks better.", Monnam(mtmp)); if (oseen) makeknown(POT_HEALING); m_useup(mtmp, otmp); return 2; --- 826,834 ---- mtmp->mblinded = 0; if (vismon) pline(mcsa, Monnam(mtmp)); } ! /*JP if (vismon) pline("%s looks better.", Monnam(mtmp));*/ ! if (vismon) pline("%s¤Ïµ¤Ê¬¤¬¤è¤¯¤Ê¤Ã¤¿¤è¤¦¤À¡¥", Monnam(mtmp)); ! if (oseen) makeknown(POT_HEALING); m_useup(mtmp, otmp); return 2; *************** *** 782,788 **** mtmp->mblinded = 0; if (vismon) pline(mcsa, Monnam(mtmp)); } ! if (vismon) pline("%s looks much better.", Monnam(mtmp)); if (oseen) makeknown(POT_EXTRA_HEALING); m_useup(mtmp, otmp); return 2; --- 843,850 ---- mtmp->mblinded = 0; if (vismon) pline(mcsa, Monnam(mtmp)); } ! /*JP if (vismon) pline("%s looks much better.", Monnam(mtmp));*/ ! if (vismon) pline("%s¤È¤Æ¤âµ¤Ê¬¤¬¤è¤¯¤Ê¤Ã¤¿¤è¤¦¤À¡¥", Monnam(mtmp)); if (oseen) makeknown(POT_EXTRA_HEALING); m_useup(mtmp, otmp); return 2; *************** *** 969,990 **** if (mtmp == &youmonst) { if (zap_oseen) makeknown(WAN_STRIKING); if (rnd(20) < 10 + u.uac) { ! pline_The("wand hits you!"); tmp = d(2,12); if(Half_spell_damage) tmp = (tmp+1) / 2; ! losehp(tmp, "wand", KILLED_BY_AN); ! } else pline_The("wand misses you."); stop_occupation(); nomul(0); } else if (rnd(20) < 10+find_mac(mtmp)) { tmp = d(2,12); if(Half_spell_damage) tmp = (tmp+1) / 2; ! hit("wand", mtmp, exclam(tmp)); (void) resist(mtmp, otmp->oclass, tmp, TELL); if (cansee(mtmp->mx, mtmp->my) && zap_oseen) makeknown(WAN_STRIKING); } else { ! miss("wand", mtmp); if (cansee(mtmp->mx, mtmp->my) && zap_oseen) makeknown(WAN_STRIKING); } --- 1031,1057 ---- if (mtmp == &youmonst) { if (zap_oseen) makeknown(WAN_STRIKING); if (rnd(20) < 10 + u.uac) { ! /*JP pline_The("wand hits you!");*/ ! pline("¾ó¤Ï¤¢¤Ê¤¿¤ËÌ¿Ã椷¤¿¡ª"); tmp = d(2,12); if(Half_spell_damage) tmp = (tmp+1) / 2; ! /*JP losehp(tmp, "wand", KILLED_BY_AN);*/ ! losehp(tmp, "¾×·â¤Î¾ó¤Ë¤è¤Ã¤Æ", KILLED_BY_AN); ! /*JP } else pline_The("wand misses you.");*/ ! } else pline("¾ó¤Ï¤Ï¤º¤ì¤¿¡¥"); stop_occupation(); nomul(0); } else if (rnd(20) < 10+find_mac(mtmp)) { tmp = d(2,12); if(Half_spell_damage) tmp = (tmp+1) / 2; ! /*JP hit("wand", mtmp, exclam(tmp));*/ ! hit("¾ó", mtmp, exclam(tmp)); (void) resist(mtmp, otmp->oclass, tmp, TELL); if (cansee(mtmp->mx, mtmp->my) && zap_oseen) makeknown(WAN_STRIKING); } else { ! /*JP miss("wand", mtmp);*/ ! miss("¾ó", mtmp); if (cansee(mtmp->mx, mtmp->my) && zap_oseen) makeknown(WAN_STRIKING); } *************** *** 998,1004 **** if (mtmp->ispriest && *in_rooms(mtmp->mx, mtmp->my, TEMPLE)) { if (cansee(mtmp->mx, mtmp->my)) ! pline("%s resists the magic!", Monnam(mtmp)); mtmp->msleep = 0; if(mtmp->m_ap_type) seemimic(mtmp); } else --- 1065,1072 ---- if (mtmp->ispriest && *in_rooms(mtmp->mx, mtmp->my, TEMPLE)) { if (cansee(mtmp->mx, mtmp->my)) ! /*JP pline("%s resists the magic!", Monnam(mtmp));*/ ! pline("%s¤ÏËâË¡¤òËɤ¤¤À¡ª", Monnam(mtmp)); mtmp->msleep = 0; if(mtmp->m_ap_type) seemimic(mtmp); } else *************** *** 1141,1149 **** case MUSE_FROST_HORN: if (oseen) { makeknown(otmp->otyp); ! pline("%s plays a %s!", Monnam(mtmp), xname(otmp)); } else ! You_hear("a horn being played."); otmp->spe--; m_using = TRUE; buzz(-30 - ((otmp->otyp==FROST_HORN) ? AD_COLD-1 : AD_FIRE-1), --- 1209,1219 ---- case MUSE_FROST_HORN: if (oseen) { makeknown(otmp->otyp); ! /*JP pline("%s plays a %s!", Monnam(mtmp), xname(otmp));*/ ! pline("%s¤Ï%s¤ò¿á¤¤¤¿¡ª", Monnam(mtmp), xname(otmp)); } else ! /*JP You_hear("a horn being played.");*/ ! You_hear("¥Û¥ë¥ó¤Î²»¤òʹ¤¤¤¿¡¥"); otmp->spe--; m_using = TRUE; buzz(-30 - ((otmp->otyp==FROST_HORN) ? AD_COLD-1 : AD_FIRE-1), *************** *** 1168,1190 **** mreadmsg(mtmp, otmp); if (mtmp->mconf) { if (vis) ! pline("Oh, what a pretty fire!"); } else { struct monst *mtmp2; int num; if (vis) ! pline_The("scroll erupts in a tower of flame!"); shieldeff(mtmp->mx, mtmp->my); ! pline("%s is uninjured.", Monnam(mtmp)); (void) destroy_mitem(mtmp, SCROLL_CLASS, AD_FIRE); (void) destroy_mitem(mtmp, SPBOOK_CLASS, AD_FIRE); (void) destroy_mitem(mtmp, POTION_CLASS, AD_FIRE); num = (2*(rn1(3, 3) + 2 * bcsign(otmp)) + 1)/3; if (Fire_resistance) ! You("are not affected."); if (Half_spell_damage) num = (num+1) / 2; ! else losehp(num, "scroll of fire", KILLED_BY_AN); for(mtmp2 = fmon; mtmp2; mtmp2 = mtmp2->nmon) { if(mtmp == mtmp2) continue; if(dist2(mtmp2->mx,mtmp2->my,mtmp->mx,mtmp->my) < 3){ --- 1238,1264 ---- mreadmsg(mtmp, otmp); if (mtmp->mconf) { if (vis) ! /*JP pline("Oh, what a pretty fire!");*/ ! pline("¤ª¤ä¡¤¤Ê¤ó¤Æ¾®¤µ¤¤²Ð¤À¡ª"); } else { struct monst *mtmp2; int num; if (vis) ! /*JP pline_The("scroll erupts in a tower of flame!");*/ ! pline("´¬Êª¤«¤é²ÐÃ줬Ω¤Á¤Î¤Ü¤Ã¤¿¡ª"); shieldeff(mtmp->mx, mtmp->my); ! /*JP pline("%s is uninjured.", Monnam(mtmp));*/ ! pline("%s¤Ï½ý¤Ä¤«¤Ê¤¤¡¥", Monnam(mtmp)); (void) destroy_mitem(mtmp, SCROLL_CLASS, AD_FIRE); (void) destroy_mitem(mtmp, SPBOOK_CLASS, AD_FIRE); (void) destroy_mitem(mtmp, POTION_CLASS, AD_FIRE); num = (2*(rn1(3, 3) + 2 * bcsign(otmp)) + 1)/3; if (Fire_resistance) ! /*JP You("are not affected.");*/ ! You("±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡¥"); if (Half_spell_damage) num = (num+1) / 2; ! else losehp(num, "±ê¤Î´¬Êª¤Ç", KILLED_BY_AN); for(mtmp2 = fmon; mtmp2; mtmp2 = mtmp2->nmon) { if(mtmp == mtmp2) continue; if(dist2(mtmp2->mx,mtmp2->my,mtmp->mx,mtmp->my) < 3){ *************** *** 1212,1218 **** */ if (cansee(mtmp->mx, mtmp->my)) { otmp->dknown = 1; ! pline("%s hurls %s!", Monnam(mtmp), singular(otmp, doname)); } m_throw(mtmp, mtmp->mx, mtmp->my, sgn(mtmp->mux-mtmp->mx), --- 1286,1293 ---- */ if (cansee(mtmp->mx, mtmp->my)) { otmp->dknown = 1; ! /*JP pline("%s hurls %s!", Monnam(mtmp),*/ ! pline("%s¤Ï%s¤ò¶¯¤¯Åꤲ¤Ä¤±¤¿¡ª", Monnam(mtmp), singular(otmp, doname)); } m_throw(mtmp, mtmp->mx, mtmp->my, sgn(mtmp->mux-mtmp->mx), *************** *** 1396,1402 **** /* insurance against future changes... */ if(on_level(&tolevel, &u.uz)) goto skipmsg; if (vismon) { ! pline("%s rises up, through the %s!", Monnam(mtmp), ceiling(mtmp->mx, mtmp->my)); if(!objects[POT_GAIN_LEVEL].oc_name_known && !objects[POT_GAIN_LEVEL].oc_uname) --- 1471,1478 ---- /* insurance against future changes... */ if(on_level(&tolevel, &u.uz)) goto skipmsg; if (vismon) { ! /*JP pline("%s rises up, through the %s!",*/ ! pline("%s¤Ï%s¤òÆͤ­È´¤±¤¿¡ª", Monnam(mtmp), ceiling(mtmp->mx, mtmp->my)); if(!objects[POT_GAIN_LEVEL].oc_name_known && !objects[POT_GAIN_LEVEL].oc_uname) *************** *** 1409,1415 **** } else { skipmsg: if (vismon) { ! pline("%s looks uneasy.", Monnam(mtmp)); if(!objects[POT_GAIN_LEVEL].oc_name_known && !objects[POT_GAIN_LEVEL].oc_uname) docall(otmp); --- 1485,1492 ---- } else { skipmsg: if (vismon) { ! /*JP pline("%s looks uneasy.", Monnam(mtmp));*/ ! pline("%s¤ÏÉ԰¤²¤Ë¸«¤¨¤ë¡¥", Monnam(mtmp)); if(!objects[POT_GAIN_LEVEL].oc_name_known && !objects[POT_GAIN_LEVEL].oc_uname) docall(otmp); *************** *** 1418,1424 **** return 2; } } ! if (vismon) pline("%s seems more experienced.", Monnam(mtmp)); if (oseen) makeknown(POT_GAIN_LEVEL); m_useup(mtmp, otmp); if (!grow_up(mtmp,(struct monst *)0)) return 1; --- 1495,1502 ---- return 2; } } ! /*JP if (vismon) pline("%s seems more experienced.", Monnam(mtmp));*/ ! if (vismon) pline("%s¤Ï·Ð¸³¤òÀѤó¤À¤è¤¦¤Ë¸«¤¨¤ë¡¥", Monnam(mtmp)); if (oseen) makeknown(POT_GAIN_LEVEL); m_useup(mtmp, otmp); if (!grow_up(mtmp,(struct monst *)0)) return 1; *************** *** 1434,1444 **** --- 1512,1530 ---- mon_set_minvis(mtmp); if (vismon && mtmp->minvis) { /* was seen, now invisible */ if (See_invisible) + /*JP pline("%s body takes on a %s transparency.", s_suffix(Monnam(mtmp)), Hallucination ? "normal" : "strange"); + */ + pline("%s%s¤ÎÂΤÏÆ©²áÀ­¤ò¤â¤Ã¤¿¡¥", + Hallucination ? "¤¢¤¿¤ê¤Þ¤¨¤Ê¤³¤È¤À¤¬" : "´ñ̯¤Ê¤³¤È¤Ë", + s_suffix(Monnam(mtmp))); else + /*JP pline("Suddenly you cannot see %s.", mon_nam(mtmp)); + */ + pline("ÆÍÁ³%s¤¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡¥", mon_nam(mtmp)); if (oseen) makeknown(POT_INVISIBILITY); } if (otmp->cursed) you_aggravate(mtmp); *************** *** 1452,1458 **** return 2; case MUSE_POT_SPEED: mquaffmsg(mtmp, otmp); ! if (vismon) pline("%s is suddenly moving much faster.", Monnam(mtmp)); if (oseen) makeknown(POT_SPEED); if (mtmp->mspeed == MSLOW) mtmp->mspeed = 0; --- 1538,1545 ---- return 2; case MUSE_POT_SPEED: mquaffmsg(mtmp, otmp); ! /*JP if (vismon) pline("%s is suddenly moving much faster.",*/ ! if (vismon) pline("%s¤ÏÆÍÁ³Â®¤¯Æ°¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥", Monnam(mtmp)); if (oseen) makeknown(POT_SPEED); if (mtmp->mspeed == MSLOW) mtmp->mspeed = 0; *************** *** 1467,1473 **** return 2; case MUSE_POLY_TRAP: if (vismon) ! pline("%s deliberately goes onto a polymorph trap!", Monnam(mtmp)); if (vis) seetrap(t_at(trapx,trapy)); --- 1554,1561 ---- return 2; case MUSE_POLY_TRAP: if (vismon) ! /*JP pline("%s deliberately goes onto a polymorph trap!",*/ ! pline("%s¤Ï¤ï¤¶¤ÈÊѲ½¤Î櫤ËÈô¤Ó¤³¤ó¤À¡ª", Monnam(mtmp)); if (vis) seetrap(t_at(trapx,trapy)); *************** *** 1488,1513 **** struct obj *obj = uwep; if (vismon) ! pline("%s flicks a bullwhip towards your %s!", Monnam(mtmp), body_part(HAND)); if (obj->otyp == HEAVY_IRON_BALL) { ! pline_The("bullwhip does not wrap around %s.", the(xname(obj))); return 1; } ! pline_The("bullwhip wraps around %s %s!", the(xname(obj)), ! "you're wielding"); if (!where_to) { ! pline_The("bullwhip slips free."); return 1; } freeinv(obj); setuwep((struct obj *)0); switch (where_to) { case 1: /* onto floor beneath mon */ ! pline("%s yanks %s from your %s!", Monnam(mtmp), the(xname(obj)), body_part(HAND)); --- 1576,1610 ---- struct obj *obj = uwep; if (vismon) ! /*JP pline("%s flicks a bullwhip towards your %s!",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î%s¤Ë¸þ¤«¤Ã¤ÆÊܤòÂǤä¿¡ª", Monnam(mtmp), body_part(HAND)); if (obj->otyp == HEAVY_IRON_BALL) { ! /*JP pline_The("bullwhip does not wrap around %s.",*/ ! pline("ÊܤÏ%s¤Ë¤Ï¤«¤é¤ß¤Ä¤«¤Ê¤«¤Ã¤¿¡¥.", the(xname(obj))); return 1; } ! /*JP pline_The("bullwhip wraps around %s %s!", the(xname(obj)), ! "you're wielding");*/ ! pline("ÊܤϤ¢¤Ê¤¿¤ÎÁõÈ÷¤·¤Æ¤¤¤ë%s¤Ë¤«¤é¤ß¤Ä¤¤¤¿¡ª", ! the(xname(obj))); if (!where_to) { ! /*JP pline_The("bullwhip slips free.");*/ ! pline("ÊܤϤۤɤ±¤¿"); return 1; } freeinv(obj); setuwep((struct obj *)0); switch (where_to) { case 1: /* onto floor beneath mon */ ! /*JP pline("%s yanks %s from your %s!", ! Monnam(mtmp), ! the(xname(obj)), ! body_part(HAND));*/ ! pline("%s¤Ï%s¤ò¤¢¤Ê¤¿¤Î%s¤«¤é¤°¤¤¤È¤Ò¤Ã¤Ñ¤Ã¤¿¡ª", Monnam(mtmp), the(xname(obj)), body_part(HAND)); *************** *** 1516,1536 **** place_object(obj, mtmp->mx, mtmp->my); break; case 2: /* onto floor beneath you */ ! pline("%s yanks %s to the %s!", Monnam(mtmp), the(xname(obj)), surface(u.ux, u.uy)); dropy(obj); break; case 3: /* into mon's inventory */ ! pline("%s snatches %s!", Monnam(mtmp), the(xname(obj))); mpickobj(mtmp,obj); break; default: /* shouldn't happen */ ! pline("Where's your weapon!"); place_object(obj,u.ux, u.uy); } return 1; --- 1613,1641 ---- place_object(obj, mtmp->mx, mtmp->my); break; case 2: /* onto floor beneath you */ ! /*JP pline("%s yanks %s to the %s!", ! Monnam(mtmp), ! the(xname(obj)), ! surface(u.ux, u.uy));*/ ! pline("%s¤Ï%s¤ò%s¤Ë°ú¤­Í¤¿¡ª", Monnam(mtmp), the(xname(obj)), surface(u.ux, u.uy)); dropy(obj); break; case 3: /* into mon's inventory */ ! /*JP pline("%s snatches %s!", ! Monnam(mtmp), ! the(xname(obj)));*/ ! pline("%s¤Ï%s¤òÃ¥¤Ã¤¿¡ª", Monnam(mtmp), the(xname(obj))); mpickobj(mtmp,obj); break; default: /* shouldn't happen */ ! /*JP pline("Where's your weapon!");*/ ! pline("Éð´ï¤Ï¤É¤³¤À¡ª"); place_object(obj,u.ux, u.uy); } return 1; *************** *** 1550,1556 **** struct monst *mtmp; { killer = ""; /* hack: prevent "it" in names */ ! pline("For some reason, %s presence is known to you.", s_suffix(mon_nam(mtmp))); cls(); #ifdef CLIPPING --- 1655,1662 ---- struct monst *mtmp; { killer = ""; /* hack: prevent "it" in names */ ! /*JP pline("For some reason, %s presence is known to you.",*/ ! pline("¤Ê¤ó¤é¤«¤ÎÍýͳ¤Ç¡¤¤¢¤Ê¤¿¤Ï%s¤Î¸ºß¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥", s_suffix(mon_nam(mtmp))); cls(); #ifdef CLIPPING *************** *** 1558,1570 **** #endif show_glyph(mtmp->mx, mtmp->my, mon_to_glyph(mtmp)); display_self(); ! You_feel("aggravated at %s.", mon_nam(mtmp)); display_nhwindow(WIN_MAP, TRUE); docrt(); if (unconscious()) { multi = -1; nomovemsg = ! "Aggravated, you are jolted into full consciousness."; } killer = 0; newsym(mtmp->mx,mtmp->my); --- 1664,1678 ---- #endif show_glyph(mtmp->mx, mtmp->my, mon_to_glyph(mtmp)); display_self(); ! /*JP You_feel("aggravated at %s.", mon_nam(mtmp));*/ ! You("%s¤ËÊ¢¤¬¤¿¤Ã¤¿¡¥", mon_nam(mtmp)); display_nhwindow(WIN_MAP, TRUE); docrt(); if (unconscious()) { multi = -1; nomovemsg = ! /*JP "Aggravated, you are jolted into full consciousness.";*/ ! "Ê¢¤¬¤¿¤Ã¤Æ¤¤¤Æ¡¤¥Ô¥ê¥Ô¥ê¤·¤Æ¤¤¤ë¡¥"; } killer = 0; newsym(mtmp->mx,mtmp->my); *************** *** 1657,1670 **** if (orefl && orefl->otyp == SHIELD_OF_REFLECTION) { if (str) { ! pline(str, s_suffix(mon_nam(mon)), "shield"); makeknown(SHIELD_OF_REFLECTION); } return TRUE; } else if ((orefl = which_armor(mon, W_AMUL)) && orefl->otyp == AMULET_OF_REFLECTION) { if (str) { ! pline(str, s_suffix(mon_nam(mon)), "amulet"); makeknown(AMULET_OF_REFLECTION); } return TRUE; --- 1765,1780 ---- if (orefl && orefl->otyp == SHIELD_OF_REFLECTION) { if (str) { ! /*JP pline(str, s_suffix(mon_nam(mon)), "shield");*/ ! pline(str, s_suffix(mon_nam(mon)), "½â"); makeknown(SHIELD_OF_REFLECTION); } return TRUE; } else if ((orefl = which_armor(mon, W_AMUL)) && orefl->otyp == AMULET_OF_REFLECTION) { if (str) { ! /*JP pline(str, s_suffix(mon_nam(mon)), "amulet");*/ ! pline(str, s_suffix(mon_nam(mon)), "Ëâ½ü¤±"); makeknown(AMULET_OF_REFLECTION); } return TRUE; *************** *** 1692,1718 **** long save_quan = obj->quan; obj->quan = 1L; ! pline("%s eats %s.", Monnam(mon), distant_name(obj,doname)); obj->quan = save_quan; ! } else if (flags.soundok) You("hear chewing."); m_useup(mon, obj); if (acidic(&mons[obj->corpsenm]) && !resists_acid(mon)) { mon->mhp -= rnd(15); ! pline("%s has a very bad case of stomach acid.", Monnam(mon)); } if (mon->mhp <= 0) { ! pline("%s dies!", Monnam(mon)); if (by_you) xkilled(mon, 0); else mondead(mon); return TRUE; } if (canseemon(mon)) { if (Hallucination) ! pline("What a pity - %s just ruined a future piece of art!", mon_nam(mon)); else pline("%s seems limber!", Monnam(mon)); } if (mon->mtame && !mon->isminion) { struct edog *edog = EDOG(mon); --- 1802,1834 ---- long save_quan = obj->quan; obj->quan = 1L; ! /*JP pline("%s eats %s.", Monnam(mon), distant_name(obj,doname));*/ ! pline("%s¤Ï%s¤ò¿©¤Ù¤¿¡¥", Monnam(mon), distant_name(obj,doname)); obj->quan = save_quan; ! /*JP } else if (flags.soundok) You("hear chewing.");*/ ! } else if (flags.soundok) You_hear("¥¯¥Á¥ã¥¯¥Á¥ã¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); m_useup(mon, obj); if (acidic(&mons[obj->corpsenm]) && !resists_acid(mon)) { mon->mhp -= rnd(15); ! /*JP pline("%s has a very bad case of stomach acid.",*/ ! pline("%s¤Ï°ß»À¤ÎÄ´»Ò¤¬¤È¤Æ¤â°­¤¤¡¥", Monnam(mon)); } if (mon->mhp <= 0) { ! /*JP pline("%s dies!", Monnam(mon));*/ ! pline("%s¤Ï»à¤ó¤À¡ª", Monnam(mon)); if (by_you) xkilled(mon, 0); else mondead(mon); return TRUE; } if (canseemon(mon)) { if (Hallucination) ! /*JP pline("What a pity - %s just ruined a future piece of art!",*/ ! pline("¤Ê¤ó¤Æ¤³¤È¤À¡ª%s¤Ï·Ý½ÑºîÉʤˤʤ줿¤«¤â¤·¤ì¤Ê¤¤¤Î¤Ë¡ª", mon_nam(mon)); else pline("%s seems limber!", Monnam(mon)); + pline("%s¤ÏÂΤ¬½À¤é¤«¤¯¤Ê¤Ã¤¿¤è¤¦¤Ë¸«¤¨¤ë¡ª", Monnam(mon)); } if (mon->mtame && !mon->isminion) { struct edog *edog = EDOG(mon); diff -c -r ../nethack-3.2.2/src/music.c ./src/music.c *** ../nethack-3.2.2/src/music.c Tue Mar 12 15:03:47 1996 --- ./src/music.c Tue Sep 23 06:58:37 1997 *************** *** 26,31 **** --- 26,38 ---- * called here chasms. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" static void FDECL(awaken_monsters,(int)); *************** *** 120,131 **** newsym(mtmp->mx, mtmp->my); if (canseemon(mtmp)) { if (!could_see_mon) ! You("notice %s, swaying with the music.", an(mon_nam(mtmp))); else ! pline("%s freezes, then sways with the music%s.", Monnam(mtmp), ! was_peaceful ? "" : ", and now seems quieter"); } } mtmp = mtmp->nmon; --- 127,142 ---- newsym(mtmp->mx, mtmp->my); if (canseemon(mtmp)) { if (!could_see_mon) ! /*JP You("notice %s, swaying with the music.",*/ ! You("²»³Ú¤Ë¹ç¤ï¤»¤ÆÍɤì¤Æ¤¤¤ë%s¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥", an(mon_nam(mtmp))); else ! /*JP pline("%s freezes, then sways with the music%s.", ! Monnam(mtmp), ! was_peaceful ? "" : ", and now seems quieter");*/ ! pline("%s¤ÏΩ¤Á¤¹¤¯¤ß¡¤²»³Ú¤Ë¹ç¤ï¤»¤ÆÍɤì%s¤¿¡¥", Monnam(mtmp), ! was_peaceful ? "" : "¡¤¤ª¤È¤Ê¤·¤¯¤Ê¤Ã"); } } mtmp = mtmp->nmon; *************** *** 149,155 **** mtmp->mpeaceful = 1; if (canseemon(mtmp)) pline( ! "%s listens cheerfully to the music, then seems quieter.", Monnam(mtmp)); } mtmp = mtmp->nmon; --- 160,167 ---- mtmp->mpeaceful = 1; if (canseemon(mtmp)) pline( ! /*JP "%s listens cheerfully to the music, then seems quieter.",*/ ! "%s¤Ï²»³Ú¤Ëʹ¤­¤¤¤ê¡¤¤ª¤È¤Ê¤·¤¯¤Ê¤Ã¤¿¡¥", Monnam(mtmp)); } mtmp = mtmp->nmon; *************** *** 168,176 **** mtmp->mpeaceful = mtmp->msleep = mtmp->mfrozen = 0; mtmp->mcanmove = 1; if (canseemon(mtmp)) ! pline("%s is now ready for battle!", Monnam(mtmp)); else ! Norep("You hear the rattle of battle gear being readied."); } mtmp = mtmp->nmon; } --- 180,190 ---- mtmp->mpeaceful = mtmp->msleep = mtmp->mfrozen = 0; mtmp->mcanmove = 1; if (canseemon(mtmp)) ! /*JP pline("%s is now ready for battle!", Monnam(mtmp));*/ ! pline("%s¤ÏÀ襤¤Î½àÈ÷¤¬À°¤Ã¤¿¡ª", Monnam(mtmp)); else ! /*JP Norep("You hear the rattle of battle gear being readied.");*/ ! Norep("¤¢¤Ê¤¿¤ÏÀ襤¤Î½àÈ÷¤¬À°¤Ã¤¿¤³¤È¤ò¼¨¤¹²»¤òʹ¤¤¤¿¡¥"); } mtmp = mtmp->nmon; } *************** *** 222,233 **** if (mtmp->mundetected && is_hider(mtmp->data)) { mtmp->mundetected = 0; if (cansee(x,y)) ! pline("%s is shaken loose from the ceiling!", Amonnam(mtmp)); else ! You_hear("a thumping sound."); if (x==u.ux && y==u.uy) ! You("easily dodge the falling %s.", mon_nam(mtmp)); newsym(x,y); } --- 236,250 ---- if (mtmp->mundetected && is_hider(mtmp->data)) { mtmp->mundetected = 0; if (cansee(x,y)) ! /*JP pline("%s is shaken loose from the ceiling!",*/ ! pline("%s¤ÏÍɤ¹¤é¤ì¡¤Å·°æ¤«¤éÍî¤Á¤Æ¤­¤¿¡ª", Amonnam(mtmp)); else ! /*JP You_hear("a thumping sound.");*/ ! You("¥É¥ó¥É¥ó¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); if (x==u.ux && y==u.uy) ! /*JP You("easily dodge the falling %s.",*/ ! You("´Êñ¤ËÍî¤Á¤Æ¤­¤¿%s¤ò¤«¤ï¤·¤¿¡¥", mon_nam(mtmp)); newsym(x,y); } *************** *** 235,255 **** if (!rn2(14 - force)) switch (levl[x][y].typ) { case FOUNTAIN : /* Make the fountain disappear */ if (cansee(x,y)) ! pline_The("fountain falls into a chasm."); goto do_pit; #ifdef SINKS case SINK : if (cansee(x,y)) ! pline_The("kitchen sink falls into a chasm."); goto do_pit; #endif case ALTAR : if (cansee(x,y)) ! pline_The("altar falls into a chasm."); goto do_pit; case THRONE : if (cansee(x,y)) ! pline_The("throne falls into a chasm."); /* Falls into next case */ case ROOM : case CORR : /* Try to make a pit */ --- 252,276 ---- if (!rn2(14 - force)) switch (levl[x][y].typ) { case FOUNTAIN : /* Make the fountain disappear */ if (cansee(x,y)) ! /*JP pline_The("fountain falls into a chasm.");*/ ! pline("Àô¤ÏÃϳä¤ì¤ËÍî¤Á¤¿¡¥"); goto do_pit; #ifdef SINKS case SINK : if (cansee(x,y)) ! /*JP pline_The("kitchen sink falls into a chasm.");*/ ! pline("ή¤·Âæ¤ÏÃϳä¤ì¤ËÍî¤Á¤¿¡¥"); goto do_pit; #endif case ALTAR : if (cansee(x,y)) ! /*JP pline_The("altar falls into a chasm.");*/ ! pline("º×ÃŤÏÃϳä¤ì¤ËÍî¤Á¤¿¡¥"); goto do_pit; case THRONE : if (cansee(x,y)) ! /*JP pline_The("throne falls into a chasm.");*/ ! pline("¶ÌºÂ¤ÏÃϳä¤ì¤ËÍî¤Á¤¿¡¥"); /* Falls into next case */ case ROOM : case CORR : /* Try to make a pit */ *************** *** 263,270 **** if ((otmp = sobj_at(BOULDER, x, y)) != 0) { if (cansee(x, y)) ! pline("KADOOM! The boulder falls into a chasm%s!", ! ((x == u.ux) && (y == u.uy)) ? " below you" : ""); if (mtmp) mtmp->mtrapped = 0; obj_extract_self(otmp); --- 284,293 ---- if ((otmp = sobj_at(BOULDER, x, y)) != 0) { if (cansee(x, y)) ! /*JP pline("KADOOM! The boulder falls into a chasm%s!", ! ((x == u.ux) && (y == u.uy)) ? " below you" : "");*/ ! pline("¥É¥É¡¼¥ó¡ª´ä¤Ï%sÃϳä¤ì¤ËÍî¤Á¤¿¡ª", ! ((x == u.ux) && (y == u.uy)) ? "¤¢¤Ê¤¿¤Î²¼¤Î" : ""); if (mtmp) mtmp->mtrapped = 0; obj_extract_self(otmp); *************** *** 279,296 **** if(!is_flyer(mtmp->data) && !is_clinger(mtmp->data)) { mtmp->mtrapped = 1; if(cansee(x,y)) ! pline("%s falls into a chasm!", Monnam(mtmp)); else if (flags.soundok && humanoid(mtmp->data)) ! You_hear("a scream!"); ! mselftouch(mtmp, "Falling, ", TRUE); if (mtmp->mhp > 0) if ((mtmp->mhp -= rnd(6)) <= 0) { if(!cansee(x,y)) ! pline("It is destroyed!"); else { ! You("destroy %s!", mtmp->mtame ? x_monnam(mtmp, 0, "poor", 0) : ! mon_nam(mtmp)); } xkilled(mtmp,0); } --- 302,327 ---- if(!is_flyer(mtmp->data) && !is_clinger(mtmp->data)) { mtmp->mtrapped = 1; if(cansee(x,y)) ! /*JP pline("%s falls into a chasm!", Monnam(mtmp));*/ ! pline("%s¤ÏÃϳä¤ì¤ËÍî¤Á¤¿¡ª", Monnam(mtmp)); else if (flags.soundok && humanoid(mtmp->data)) ! /*JP You_hear("a scream!");*/ ! You("¶«¤ÓÀ¼¤òʹ¤¤¤¿¡ª"); ! /*JP mselftouch(mtmp, "Falling, ", TRUE);*/ ! mselftouch(mtmp, "Íî²¼Ã桤", TRUE); if (mtmp->mhp > 0) if ((mtmp->mhp -= rnd(6)) <= 0) { if(!cansee(x,y)) ! /*JP pline("It is destroyed!");*/ ! pline("²¿¼Ô¤«¤Ï»à¤ó¤À¡ª"); else { ! /*JP You("destroy %s!", mtmp->mtame ? x_monnam(mtmp, 0, "poor", 0) : ! mon_nam(mtmp));*/ ! pline("%s%s¤Ï»à¤ó¤À¡ª", mtmp->mtame ? ! "²Ä°¦¤½¤¦¤Ë" : "", ! mon_nam(mtmp)); ! } xkilled(mtmp,0); } *************** *** 298,319 **** } else if (x == u.ux && y == u.uy) { if (Levitation || is_flyer(uasmon) || is_clinger(uasmon)) { ! pline("A chasm opens up under you!"); ! You("don't fall in!"); } else { ! You("fall into a chasm!"); u.utrap = rn1(6,2); u.utraptype = TT_PIT; ! losehp(rnd(6),"fell into a chasm", ! NO_KILLER_PREFIX); ! selftouch("Falling, you"); } } else newsym(x,y); break; case DOOR : /* Make the door collapse */ if (levl[x][y].doormask == D_NODOOR) goto do_pit; if (cansee(x,y)) ! pline_The("door collapses."); if (*in_rooms(x, y, SHOPBASE)) add_damage(x, y, 0L); levl[x][y].doormask = D_NODOOR; --- 329,357 ---- } else if (x == u.ux && y == u.uy) { if (Levitation || is_flyer(uasmon) || is_clinger(uasmon)) { ! /*JP pline("A chasm opens up under you!");*/ ! pline("Ãϳä¤ì¤¬¤¢¤Ê¤¿¤Î²¼¤Ë³«¤¤¤¿¡ª"); ! /*JP You("don't fall in!");*/ ! You("Íî¤Á¤Ê¤«¤Ã¤¿¡ª"); } else { ! /*JP You("fall into a chasm!");*/ ! You("Ãϳä¤ì¤ËÍî¤Á¤¿¡ª"); u.utrap = rn1(6,2); u.utraptype = TT_PIT; ! /*JP losehp(rnd(6),"fell into a chasm", ! NO_KILLER_PREFIX);*/ ! losehp(rnd(6),"Ãϳä¤ì¤ËÍî¤Á¤Æ", ! KILLED_BY); ! /*JP selftouch("Falling, you");*/ ! selftouch("Íî¤Á¤Ê¤¬¤é¡¤¤¢¤Ê¤¿¤Ï"); } } else newsym(x,y); break; case DOOR : /* Make the door collapse */ if (levl[x][y].doormask == D_NODOOR) goto do_pit; if (cansee(x,y)) ! /*JP pline_The("door collapses.");*/ ! pline("Èâ¤Ï¤³¤Ê¤´¤Ê¤Ë¤Ê¤Ã¤¿¡¥"); if (*in_rooms(x, y, SHOPBASE)) add_damage(x, y, 0L); levl[x][y].doormask = D_NODOOR; *************** *** 355,378 **** #endif /* MAC || AMIGA || VPIX_MUSIC || PCMUSIC */ if (!do_spec) ! pline("What you produce is quite far from music..."); else ! You("start playing %s.", the(xname(instr))); ! switch (instr->otyp) { case MAGIC_FLUTE: /* Make monster fall asleep */ if (do_spec && instr->spe > 0) { check_unpaid(instr); instr->spe--; ! You("produce soft music."); put_monsters_to_sleep(u.ulevel * 5); exercise(A_DEX, TRUE); break; } /* else FALLTHRU */ case WOODEN_FLUTE: /* May charm snakes */ do_spec &= (rn2(ACURR(A_DEX)) + u.ulevel > 25); ! pline("%s %s.", The(xname(instr)), ! do_spec ? "trills" : "toots"); if (do_spec) charm_snakes(u.ulevel * 3); exercise(A_DEX, TRUE); break; --- 393,420 ---- #endif /* MAC || AMIGA || VPIX_MUSIC || PCMUSIC */ if (!do_spec) ! /*JP pline("What you produce is quite far from music...");*/ ! pline("¤¢¤Ê¤¿¤¬ÁդǤ¿¤â¤Î¤Ï²»³Ú¤È¤Ï¤È¤Æ¤â¸Æ¤Ù¤Ê¤¤¡¥¡¥¡¥"); else ! /*JP You("start playing %s.", the(xname(instr)));*/ ! You("%s¤òÁդǤ褦¤È¤·¤¿¡¥", the(xname(instr))); switch (instr->otyp) { case MAGIC_FLUTE: /* Make monster fall asleep */ if (do_spec && instr->spe > 0) { check_unpaid(instr); instr->spe--; ! /*JP You("produce soft music.");*/ ! You("½À¤é¤«¤¤²»¿§¤òÁդǤ¿¡¥"); put_monsters_to_sleep(u.ulevel * 5); exercise(A_DEX, TRUE); break; } /* else FALLTHRU */ case WOODEN_FLUTE: /* May charm snakes */ do_spec &= (rn2(ACURR(A_DEX)) + u.ulevel > 25); ! /*JP pline("%s %s.", The(xname(instr)), ! do_spec ? "trills" : "toots");*/ ! pline("%s%s¡¥", The(xname(instr)), ! do_spec ? "ÁդǤ¿" : "¤ò¿á¤¤¤¿"); if (do_spec) charm_snakes(u.ulevel * 3); exercise(A_DEX, TRUE); break; *************** *** 382,395 **** check_unpaid(instr); instr->spe--; if (!getdir((char *)0)) { ! pline("%s vibrates.", The(xname(instr))); break; } else if (!u.dx && !u.dy && !u.dz) { if ((damage = zapyourself(instr, TRUE)) != 0) losehp(damage, ! self_pronoun("using a magical horn on %sself", ! "him"), ! NO_KILLER_PREFIX); } else { buzz((instr->otyp == FROST_HORN) ? AD_COLD-1 : AD_FIRE-1, rn1(6,6), u.ux, u.uy, u.dx, u.dy); --- 424,440 ---- check_unpaid(instr); instr->spe--; if (!getdir((char *)0)) { ! /*JP pline("%s vibrates.", The(xname(instr)));*/ ! pline("%s¤Ï¿Ì¤¨¤¿¡¥", The(xname(instr))); break; } else if (!u.dx && !u.dy && !u.dz) { if ((damage = zapyourself(instr, TRUE)) != 0) losehp(damage, ! /*JP self_pronoun("using a magical horn on %sself", ! "him"),*/ ! "¼«Ê¬¼«¿È¤ÎËâË¡¤Î¥Û¥ë¥ó¤ÎÎϤòÍá¤Ó¤Æ", ! /*JP NO_KILLER_PREFIX);*/ ! KILLED_BY); } else { buzz((instr->otyp == FROST_HORN) ? AD_COLD-1 : AD_FIRE-1, rn1(6,6), u.ux, u.uy, u.dx, u.dy); *************** *** 398,409 **** break; } /* else FALLTHRU */ case TOOLED_HORN: /* Awaken or scare monsters */ ! You("produce a frightful, grave sound."); awaken_monsters(u.ulevel * 30); exercise(A_WIS, FALSE); break; case BUGLE: /* Awaken & attract soldiers */ ! You("extract a loud noise from %s.", the(xname(instr))); awaken_soldiers(); exercise(A_WIS, FALSE); break; --- 443,456 ---- break; } /* else FALLTHRU */ case TOOLED_HORN: /* Awaken or scare monsters */ ! /*JP You("produce a frightful, grave sound.");*/ ! You("¿È¿Ì¤¤¤¹¤ë¤è¤¦¤Ê»à¼Ô¤Î²»³Ú¤òÁդǤ¿¡¥"); awaken_monsters(u.ulevel * 30); exercise(A_WIS, FALSE); break; case BUGLE: /* Awaken & attract soldiers */ ! /*JP You("extract a loud noise from %s.", the(xname(instr)));*/ ! You("%s¤«¤éÂ礭¤Ê¼ª¾ã¤ê¤Ê²»¤ò½Ð¤·¤¿¡¥", the(xname(instr))); awaken_soldiers(); exercise(A_WIS, FALSE); break; *************** *** 411,426 **** if (do_spec && instr->spe > 0) { check_unpaid(instr); instr->spe--; ! pline("%s produces very attractive music.", ! The(xname(instr))); charm_monsters((u.ulevel - 1) / 3 + 1); exercise(A_DEX, TRUE); break; } /* else FALLTHRU */ case WOODEN_HARP: /* May calm Nymph */ do_spec &= (rn2(ACURR(A_DEX)) + u.ulevel > 25); ! pline("%s %s.", The(xname(instr)), ! do_spec ? "produces a lilting melody" : "twangs"); if (do_spec) calm_nymphs(u.ulevel * 3); exercise(A_DEX, TRUE); break; --- 458,476 ---- if (do_spec && instr->spe > 0) { check_unpaid(instr); instr->spe--; ! /*JP pline("%s produces very attractive music.", ! The(xname(instr)));*/ ! You("¤È¤Æ¤âÌ¥ÎÏŪ¤Ê²»³Ú¤òÁդǤ¿¡¥"); charm_monsters((u.ulevel - 1) / 3 + 1); exercise(A_DEX, TRUE); break; } /* else FALLTHRU */ case WOODEN_HARP: /* May calm Nymph */ do_spec &= (rn2(ACURR(A_DEX)) + u.ulevel > 25); ! /*JP pline("%s %s.", The(xname(instr)), ! do_spec ? "produces a lilting melody" : "twangs");*/ ! You("%s¡¥", ! do_spec ? "·Ú²÷¤Ê²»³Ú¤òÁդǤ¿" : "¥Ý¥í¡¼¥ó¤È¤¤¤¦²»¤ò½Ð¤·¤¿"); if (do_spec) calm_nymphs(u.ulevel * 3); exercise(A_DEX, TRUE); break; *************** *** 428,435 **** if (do_spec && instr->spe > 0) { check_unpaid(instr); instr->spe--; ! You("produce a heavy, thunderous rolling!"); ! pline_The("entire dungeon is shaking around you!"); do_earthquake((u.ulevel - 1) / 3 + 1); /* shake up monsters in a much larger radius... */ awaken_monsters(ROWNO * COLNO); --- 478,487 ---- if (do_spec && instr->spe > 0) { check_unpaid(instr); instr->spe--; ! /*JP You("produce a heavy, thunderous rolling!");*/ ! You("½Å¸ü¤ÊÍë¤Î¤è¤¦¤Ê²»¤òÁդǤ¿¡ª"); ! /*JP pline_The("entire dungeon is shaking around you!");*/ ! pline("¤¢¤Ê¤¿¤Î²ó¤ê¤Î̵ܤ¬Íɤ줿¡ª"); do_earthquake((u.ulevel - 1) / 3 + 1); /* shake up monsters in a much larger radius... */ awaken_monsters(ROWNO * COLNO); *************** *** 437,443 **** break; } /* else FALLTHRU */ case LEATHER_DRUM: /* Awaken monsters */ ! You("beat a deafening row!"); awaken_monsters(u.ulevel * 40); exercise(A_WIS, FALSE); break; --- 489,496 ---- break; } /* else FALLTHRU */ case LEATHER_DRUM: /* Awaken monsters */ ! /*JP You("beat a deafening row!");*/ ! You("¼ª¤¬Ê¹¤³¤¨¤Ê¤¯¤Ê¤ë¤¯¤é¤¤Ã¡¤¤¤¿¡ª"); awaken_monsters(u.ulevel * 40); exercise(A_WIS, FALSE); break; *************** *** 464,485 **** boolean ok; if (Underwater) { ! You_cant("play music underwater!"); return(0); } if (instr->otyp != LEATHER_DRUM && instr->otyp != DRUM_OF_EARTHQUAKE) { ! c = yn("Improvise?"); } if (c == 'n') { ! if (u.uevent.uheard_tune == 2 && yn("Play the passtune?") == 'y') Strcpy(buf, tune); else ! getlin("What tune are you playing? [what 5 notes]", buf); #ifndef AMIGA /* The AMIGA supports two octaves of notes */ for (s=buf; *s; s++) *s = highc(*s); #endif ! You("extract a strange sound from %s!", the(xname(instr))); #ifdef UNIX386MUSIC /* if user is at the console, play through the console speaker */ if (atconsole()) --- 517,543 ---- boolean ok; if (Underwater) { ! /*JP You_cant("play music underwater!");*/ ! You("¿å¤ÎÄì¤Ç¤Ï²»³Ú¤òÁդǤé¤ì¤Ê¤¤¡ª"); return(0); } if (instr->otyp != LEATHER_DRUM && instr->otyp != DRUM_OF_EARTHQUAKE) { ! /*JP c = yn("Improvise?");*/ ! c = yn("¨¶½¤Ç±éÁÕ¤¹¤ë¡©"); } if (c == 'n') { ! /*JP if (u.uevent.uheard_tune == 2 && yn("Play the passtune?") == 'y')*/ ! if (u.uevent.uheard_tune == 2 && yn("¥³¡¼¥É¤ò±éÁÕ¤¹¤ë¡©") == 'y') Strcpy(buf, tune); else ! /*JP getlin("What tune are you playing? [what 5 notes]", buf);*/ ! getlin("¤É¤Î¤è¤¦¤ÊÄ´¤Ù¤ò±éÁÕ¤·¤Þ¤¹¤«¡©[ºÇ½é¤Î5²»¤ò¤¤¤ì¤Æ¤Í]", buf); #ifndef AMIGA /* The AMIGA supports two octaves of notes */ for (s=buf; *s; s++) *s = highc(*s); #endif ! /*JP You("extract a strange sound from %s!", the(xname(instr)));*/ ! You("%s¤«¤é´ñ̯¤Ê²»¤ò½Ð¤·¤¿¡ª", the(xname(instr))); #ifdef UNIX386MUSIC /* if user is at the console, play through the console speaker */ if (atconsole()) *************** *** 563,575 **** } if(tumblers) if(gears) ! You_hear("%d tumbler%s click and %d gear%s turn.", ! tumblers, plur(tumblers), gears, plur(gears)); else ! You_hear("%d tumbler%s click.", ! tumblers, plur(tumblers)); else if(gears) { ! You_hear("%d gear%s turn.", gears, plur(gears)); /* could only get `gears == 5' by playing five correct notes followed by excess; otherwise, tune would have matched above */ --- 621,638 ---- } if(tumblers) if(gears) ! /*JP You_hear("%d tumbler%s click and %d gear%s turn.", ! tumblers, plur(tumblers), gears, plur(gears));*/ ! You("%d¤Î¶â¶ñ¤¬¥«¥Á¤Ã¤È¤Ê¤ê¡¤%d¤Î»õ¼Ö¤¬¤Þ¤ï¤ë²»¤òʹ¤¤¤¿", ! tumblers, gears); else ! /*JP You_hear("%d tumbler%s click.", ! tumblers, plur(tumblers));*/ ! You("%d¤Î¶â¶ñ¤¬¥«¥Á¤Ã¤È¤Ê¤ë²»¤òʹ¤¤¤¿¡¥", ! tumblers); else if(gears) { ! /*JP You_hear("%d gear%s turn.", gears, plur(gears));*/ ! You("%d¤Î»õ¼Ö¤¬²ó¤ë²»¤òʹ¤¤¤¿¡¥", gears); /* could only get `gears == 5' by playing five correct notes followed by excess; otherwise, tune would have matched above */ *************** *** 603,609 **** */ char *termtype = getenv("TERM"); ! return(!strcmp(termtype, "AT386") || !strcmp(termtype, "xterm")); } static void --- 666,673 ---- */ char *termtype = getenv("TERM"); ! /*JP return(!strcmp(termtype, "AT386") || !strcmp(termtype, "xterm"));*/ ! return(!strcmp(termtype, "AT386") || !strcmp(termtype, "xterm") || !strcmp(termtype, "kterm")); } static void diff -c -r ../nethack-3.2.2/src/o_init.c ./src/o_init.c *** ../nethack-3.2.2/src/o_init.c Sat Dec 28 21:53:45 1996 --- ./src/o_init.c Tue Jul 22 23:18:29 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "lev.h" /* save & restore info */ *************** *** 363,369 **** winid tmpwin; tmpwin = create_nhwindow(NHW_MENU); ! putstr(tmpwin, 0, "Discoveries"); putstr(tmpwin, 0, ""); /* several classes are omitted from packorder; one is of interest here */ --- 370,377 ---- winid tmpwin; tmpwin = create_nhwindow(NHW_MENU); ! /*JP putstr(tmpwin, 0, "Discoveries");*/ ! putstr(tmpwin, 0, "ȯ¸«Êª°ìÍ÷"); putstr(tmpwin, 0, ""); /* several classes are omitted from packorder; one is of interest here */ *************** *** 385,396 **** putstr(tmpwin, ATR_INVERSE, let_to_name(oclass, FALSE)); prev_class = oclass; } putstr(tmpwin, 0, typename(dis)); } } } if (ct == 0) { ! You("haven't discovered anything yet..."); } else display_nhwindow(tmpwin, TRUE); destroy_nhwindow(tmpwin); --- 393,408 ---- putstr(tmpwin, ATR_INVERSE, let_to_name(oclass, FALSE)); prev_class = oclass; } + /*JP putstr(tmpwin, 0, typename(dis)); + */ + putstr(tmpwin, 0, jtypename(dis)); } } } if (ct == 0) { ! /*JP You("haven't discovered anything yet...");*/ ! You("¤Þ¤À²¿¤âȯ¸«¤·¤Æ¤¤¤Ê¤¤¡¥¡¥¡¥"); } else display_nhwindow(tmpwin, TRUE); destroy_nhwindow(tmpwin); diff -c -r ../nethack-3.2.2/src/objects.c ./src/objects.c *** ../nethack-3.2.2/src/objects.c Sat Dec 28 21:53:46 1996 --- ./src/objects.c Tue Jul 22 23:18:30 1997 *************** *** 377,386 **** --- 377,395 ---- 1, 0, 0, 0, 75, 5, 250, 100, 7, 0, ARM_SUIT, IRON, HI_METAL), ARMOR("orcish ring mail", "crude ring mail", 0, 0, 0, 0, 20, 5, 250, 80, 8, 1, ARM_SUIT, IRON, CLR_BLACK), + #ifdef FIGHTER + ARMOR("leather armor", (char *)0, + 1, 0, 0, 0, 73, 3, 150, 5, 8, 0, ARM_SUIT, LEATHER, HI_LEATHER), + #else ARMOR("leather armor", (char *)0, 1, 0, 0, 0, 85, 3, 150, 5, 8, 0, ARM_SUIT, LEATHER, HI_LEATHER), + #endif ARMOR("leather jacket", (char *)0, 1, 0, 0, 0, 12, 0, 30, 10, 9, 0, ARM_SUIT, LEATHER, CLR_BLACK), + #ifdef FIGHTER + ARMOR("sailor blouse", (char *)0, + 1, 0, 0, 0, 12, 0, 30, 200, 7, 0, ARM_SUIT, CLOTH, CLR_WHITE), + #endif #ifdef TOURIST /* shirts */ diff -c -r ../nethack-3.2.2/src/objnam.c ./src/objnam.c *** ../nethack-3.2.2/src/objnam.c Sat Dec 28 21:53:46 1996 --- ./src/objnam.c Tue Sep 23 07:10:10 1997 *************** *** 4,11 **** --- 4,21 ---- #include "hack.h" + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + /* "an uncursed greased partly eaten guardian naga hatchling [corpse]" */ + #if 0 /*JP*/ #define PREFIX 80 /* (56) */ + #endif + #define PREFIX 100 #define SCHAR_LIM 127 STATIC_DCL char *FDECL(strprepend,(char *,const char *)); *************** *** 147,152 **** --- 157,265 ---- return(buf); } + /*JP*/ + /* + ** by issei (Fri Jun 10 12:04:29 JST 1994) + */ + char * + jtypename(otyp) + register int otyp; + { + #ifdef LINT /* static char buf[BUFSZ]; */ + char buf[BUFSZ]; + #else + static char NEARDATA buf[BUFSZ]; + #endif + register struct objclass *ocl = &objects[otyp]; + register const char *actualn = OBJ_NAME(*ocl); + register const char *dn = OBJ_DESCR(*ocl); + register const char *un = ocl->oc_uname; + register int nn = ocl->oc_name_known; + /*JP*/ + char type; + char type_name[BUFSZ]; + + if (pl_character[0] == 'S' && Japanese_item_name(otyp)) + actualn = Japanese_item_name(otyp); + + buf[0]='\0'; + type_name[0]='\0'; + if(un) + Sprintf(buf, "%s¤È¸Æ¤Ð¤ì¤ë", un); + switch(ocl->oc_class) { + case GOLD_CLASS: + if(nn) + Strcat(buf,jtrns_obj('$',actualn)); + type = '$'; + break; + case POTION_CLASS: + if(nn) + Strcat(buf,jtrns_obj('!',actualn)); + else if(un) + Strcat(buf, "Ìô"); + type = '!'; + break; + case SCROLL_CLASS: + if(nn) + Strcat(buf,jtrns_obj('?',actualn)); + else if(un) + Strcat(buf, "´¬Êª"); + type = '?'; + break; + case WAND_CLASS: + if(nn) + Strcat(buf,jtrns_obj('/',actualn)); + else if(un) + Strcat(buf, "¾ó"); + type = '/'; + break; + case SPBOOK_CLASS: + if(nn) + Strcat(buf,jtrns_obj('+',actualn)); + else if(un) + Strcat(buf, "ËâË¡½ñ"); + type = '+'; + break; + case RING_CLASS: + if(nn) + Strcat(buf,jtrns_obj('=',actualn)); + else if(un) + Strcat(buf, "»ØÎØ"); + type = '='; + break; + case AMULET_CLASS: + if(nn) + Strcat(buf,jtrns_obj('"',actualn)); + else if(un) + Strcat(buf, "Ëâ½ü¤±"); + type = '"'; + break; + case GEM_CLASS: + if(nn) + Strcat(buf,jtrns_obj('*',actualn)); + else if(un) + Strcat(buf, "ÊõÀÐ"); + type = '*'; + break; + default: + type = ' '; + if(nn) { + Strcat(buf, jtrns_obj(' ',actualn)); + } else { + Strcat(buf, dn ? jtrns_obj(' ',dn) + : jtrns_obj(' ',actualn)); + } + break; + } + if(dn) + Sprintf(eos(buf), "(%s)", jtrns_obj(type, dn)); + /* + */ + /* Sprintf(eos(buf),"(%s)",typename(otyp));*/ + + return buf; + } + boolean obj_is_pname(obj) register struct obj *obj; *************** *** 197,202 **** --- 310,317 ---- register const char *actualn = OBJ_NAME(*ocl); register const char *dn = OBJ_DESCR(*ocl); register const char *un = ocl->oc_uname; + /*JP*/ + register const char *jactualn,*jdn; if (Role_is('S') && Japanese_item_name(typ)) actualn = Japanese_item_name(typ); *************** *** 204,288 **** buf[0] = '\0'; if (!Blind) obj->dknown = TRUE; if (Role_is('P')) obj->bknown = TRUE; ! if (obj_is_pname(obj)) goto nameit; switch (obj->oclass) { case AMULET_CLASS: ! if (!obj->dknown) ! Strcpy(buf, "amulet"); else if (typ == FAKE_AMULET_OF_YENDOR) /* each must be identified individually */ ! Strcpy(buf, obj->known ? actualn : dn); else if (nn) /* should be true for the Amulet of Yendor */ ! Strcpy(buf, actualn); else if (un) ! Sprintf(buf,"amulet called %s", un); else ! Sprintf(buf,"%s amulet", dn); break; case WEAPON_CLASS: if (typ <= SHURIKEN && obj->opoisoned) ! Strcpy(buf, "poisoned "); case VENOM_CLASS: case TOOL_CLASS: if (!obj->dknown) ! Strcpy(buf, !dn ? actualn : dn); else if (nn) ! Strcat(buf, actualn); else if (un) ! Sprintf(buf, "%s called %s", !dn ? actualn : dn, un); else ! Strcat(buf, !dn ? actualn : dn); /* If we use an() here we'd have to remember never to use */ /* it whenever calling doname() or xname(). */ if (typ == FIGURINE) Sprintf(eos(buf), " of a%s %s", index(vowels,*(mons[obj->corpsenm].mname)) ? "n" : "", mons[obj->corpsenm].mname); break; case ARMOR_CLASS: /* depends on order of the dragon scales objects */ if (typ >= GRAY_DRAGON_SCALES && typ <= YELLOW_DRAGON_SCALES) { Sprintf(buf, "set of %s", actualn); break; } ! if(is_boots(obj) || is_gloves(obj)) Strcpy(buf,"pair of "); if(obj->otyp >= ELVEN_SHIELD && obj->otyp <= ORCISH_SHIELD && !obj->dknown) { ! Strcpy(buf, "shield"); break; } if(obj->otyp == SHIELD_OF_REFLECTION && !obj->dknown) { ! Strcpy(buf, "smooth shield"); break; } ! if(nn) Strcat(buf, actualn); else if(un) { if(is_boots(obj)) ! Strcat(buf,"boots"); else if(is_gloves(obj)) ! Strcat(buf,"gloves"); else if(is_cloak(obj)) ! Strcpy(buf,"cloak"); else if(is_helmet(obj)) ! Strcpy(buf,"helmet"); else if(is_shield(obj)) ! Strcpy(buf,"shield"); else ! Strcpy(buf,"armor"); ! Strcat(buf, " called "); ! Strcat(buf, un); ! } else Strcat(buf, dn); break; case FOOD_CLASS: if (typ == SLIME_MOLD) { register struct fruit *f; for(f=ffruit; f; f = f->nextf) { if(f->fid == obj->spe) { ! Strcpy(buf, f->fname); break; } } --- 319,461 ---- buf[0] = '\0'; if (!Blind) obj->dknown = TRUE; if (Role_is('P')) obj->bknown = TRUE; ! if (obj_is_pname(obj)){ ! /*JP*/ ! Strcat(buf, jtrns_obj('A', ONAME(obj))); goto nameit; + } + if (obj->onamelth && obj->dknown) { + if(!obj->oartifact) + Strcat(buf, ONAME(obj)); + else + Strcat(buf, jtrns_obj('A', ONAME(obj))); + Strcat(buf, "¤È̾¤Å¤±¤é¤ì¤¿"); + } + switch (obj->oclass) { case AMULET_CLASS: ! jactualn = jtrns_obj('"', actualn); ! jdn = jtrns_obj('"', dn); ! if (!obj->dknown){ ! /*JP Strcpy(buf, "amulet");*/ ! Strcat(buf, "Ëâ½ü¤±"); ! } else if (typ == FAKE_AMULET_OF_YENDOR) /* each must be identified individually */ ! /*JP Strcpy(buf, obj->known ? actualn : dn);*/ ! Strcat(buf, obj->known ? jactualn : jdn); else if (nn) /* should be true for the Amulet of Yendor */ ! /*JP Strcpy(buf, actualn);*/ ! Strcat(buf, jactualn); else if (un) ! /*JP Sprintf(buf,"amulet called %s", un);*/ ! Sprintf(eos(buf),"%s¤È¸Æ¤Ð¤ì¤ëËâ½ü¤±", un); else ! /*JP Sprintf(buf,"%s amulet", dn);*/ ! Sprintf(eos(buf),"%s", jdn); break; case WEAPON_CLASS: + jactualn = jtrns_obj(')',actualn); + jdn = jtrns_obj(')',dn); if (typ <= SHURIKEN && obj->opoisoned) ! /*JP Strcpy(buf, "poisoned ");*/ ! Strcpy(buf, "ÆǤÎÅɤé¤ì¤¿"); case VENOM_CLASS: case TOOL_CLASS: + if(obj->oclass == VENOM_CLASS){ + jactualn = jtrns_obj('\'',actualn); + jdn = jtrns_obj('\'',dn); + } + else if(obj->oclass == TOOL_CLASS){ + jactualn = jtrns_obj('(',actualn); + jdn = jtrns_obj('(',dn); + } + if (typ == FIGURINE) + Sprintf(eos(buf), "%s¤Î",jtrns_mon(mons[obj->corpsenm].mname, -1)); if (!obj->dknown) ! /*JP Strcpy(buf, !dn ? actualn : dn);*/ ! Strcat(buf, !jdn ? jactualn : jdn); else if (nn) ! /*JP Strcat(buf, actualn);*/ ! Strcat(buf, jactualn); else if (un) ! /*JP Sprintf(buf, "%s called %s", !dn ? actualn : dn, un);*/ ! Sprintf(eos(buf), "%s¤È¸Æ¤Ð¤ì¤ë%s", un, !dn ? jactualn : jdn); else ! /*JP Strcat(buf, !dn ? actualn : dn);*/ ! Strcat(buf, !dn ? jactualn : jdn); /* If we use an() here we'd have to remember never to use */ /* it whenever calling doname() or xname(). */ + #if 0 /*JP*/ if (typ == FIGURINE) Sprintf(eos(buf), " of a%s %s", index(vowels,*(mons[obj->corpsenm].mname)) ? "n" : "", mons[obj->corpsenm].mname); + #endif /*JP*/ break; case ARMOR_CLASS: + jactualn = jtrns_obj(']',actualn); + jdn = jtrns_obj(']',dn); /* depends on order of the dragon scales objects */ if (typ >= GRAY_DRAGON_SCALES && typ <= YELLOW_DRAGON_SCALES) { + /*JP Sprintf(buf, "set of %s", actualn); + */ + Sprintf(buf, "%s°ì¼°", jactualn); break; } ! /*JP if(is_boots(obj) || is_gloves(obj)) Strcpy(buf,"pair of ");*/ ! if(is_boots(obj) || is_gloves(obj)) Strcat(buf,"°ìÂФÎ"); if(obj->otyp >= ELVEN_SHIELD && obj->otyp <= ORCISH_SHIELD && !obj->dknown) { ! /*JP Strcpy(buf, "shield");*/ ! Strcat(buf, "½â"); break; } if(obj->otyp == SHIELD_OF_REFLECTION && !obj->dknown) { ! /*JP Strcpy(buf, "smooth shield");*/ ! Strcat(buf, "¤¹¤Ù¤¹¤Ù¤·¤¿½â"); break; } ! /*JP if(nn) Strcat(buf, actualn);*/ ! if(nn) Strcat(buf, jactualn); else if(un) { + Strcat(buf, un); + Strcat(buf, "¤È¸Æ¤Ð¤ì¤ë"); if(is_boots(obj)) ! /*JP Strcat(buf,"boots");*/ ! Strcat(buf,"·¤"); else if(is_gloves(obj)) ! /*JP Strcat(buf,"gloves");*/ ! Strcat(buf,"¾®¼ê"); else if(is_cloak(obj)) ! /*JP Strcpy(buf,"cloak");*/ ! Strcat(buf,"¥¯¥í¡¼¥¯"); else if(is_helmet(obj)) ! /*JP Strcpy(buf,"helmet");*/ ! Strcat(buf,"³õ"); else if(is_shield(obj)) ! /*JP Strcpy(buf,"shield");*/ ! Strcat(buf,"½â"); else ! /*JP Strcpy(buf,"armor");*/ ! Strcat(buf,"³»"); ! /*JP Strcat(buf, " called ");*/ ! /*JP Strcat(buf, un);*/ ! /*JP } else Strcat(buf, dn);*/ ! } else Strcat(buf, jdn); break; case FOOD_CLASS: + jactualn = jtrns_obj('%',actualn); + jdn = jtrns_obj('%',dn); if (typ == SLIME_MOLD) { register struct fruit *f; for(f=ffruit; f; f = f->nextf) { if(f->fid == obj->spe) { ! Strcat(buf, f->fname); break; } } *************** *** 290,416 **** break; } ! Strcpy(buf, actualn); if (typ == TIN && obj->known) { if(obj->spe > 0) ! Strcat(buf, " of spinach"); else if (obj->corpsenm == NON_PM) ! Strcpy(buf, "empty tin"); else if (is_meaty(&mons[obj->corpsenm])) ! Sprintf(eos(buf), " of %s meat", mons[obj->corpsenm].mname); else ! Sprintf(eos(buf), " of %s", mons[obj->corpsenm].mname); } break; case GOLD_CLASS: case CHAIN_CLASS: ! Strcpy(buf, actualn); break; case ROCK_CLASS: if (typ == STATUE) ! Sprintf(buf, "%s of %s%s", actualn, type_is_pname(&mons[obj->corpsenm]) ? "" : (mons[obj->corpsenm].geno & G_UNIQ) ? "the " : (index(vowels,*(mons[obj->corpsenm].mname)) ? "an " : "a "), ! mons[obj->corpsenm].mname); ! else Strcpy(buf, actualn); break; case BALL_CLASS: ! Sprintf(buf, "%sheavy iron ball", ! (obj->owt > ocl->oc_weight) ? "very " : ""); break; case POTION_CLASS: if (obj->dknown && obj->odiluted) ! Strcpy(buf, "diluted "); if(nn || un || !obj->dknown) { ! Strcat(buf, "potion"); ! if(!obj->dknown) break; if(nn) { ! Strcat(buf, " of "); if (typ == POT_WATER && obj->bknown && (obj->blessed || obj->cursed)) { ! Strcat(buf, obj->blessed ? "holy " : "unholy "); } ! Strcat(buf, actualn); } else { ! Strcat(buf, " called "); Strcat(buf, un); } } else { ! Strcat(buf, dn); ! Strcat(buf, " potion"); } break; case SCROLL_CLASS: ! Strcpy(buf, "scroll"); ! if(!obj->dknown) break; if(nn) { ! Strcat(buf, " of "); ! Strcat(buf, actualn); } else if(un) { ! Strcat(buf, " called "); Strcat(buf, un); } else if (ocl->oc_magic) { ! Strcat(buf, " labeled "); ! Strcat(buf, dn); } else { ! Strcpy(buf, dn); ! Strcat(buf, " scroll"); } break; case WAND_CLASS: if(!obj->dknown) ! Strcpy(buf, "wand"); else if(nn) ! Sprintf(buf, "wand of %s", actualn); else if(un) ! Sprintf(buf, "wand called %s", un); else ! Sprintf(buf, "%s wand", dn); break; case SPBOOK_CLASS: if (!obj->dknown) { ! Strcpy(buf, "spellbook"); } else if (nn) { ! if (typ != SPE_BOOK_OF_THE_DEAD) ! Strcpy(buf, "spellbook of "); ! Strcat(buf, actualn); } else if (un) { ! Sprintf(buf, "spellbook called %s", un); } else ! Sprintf(buf, "%s spellbook", dn); break; case RING_CLASS: if(!obj->dknown) ! Strcpy(buf, "ring"); else if(nn) ! Sprintf(buf, "ring of %s", actualn); else if(un) ! Sprintf(buf, "ring called %s", un); else ! Sprintf(buf, "%s ring", dn); break; case GEM_CLASS: { const char *rock = ! (ocl->oc_material == MINERAL) ? "stone" : "gem"; if (!obj->dknown) { ! Strcpy(buf, rock); } else if (!nn) { if (un) Sprintf(buf,"%s called %s", rock, un); else Sprintf(buf, "%s %s", dn, rock); } else { ! Strcpy(buf, actualn); ! if (GemStone(typ)) Strcat(buf, " stone"); } break; } default: Sprintf(buf,"glorkum %d %d %d", obj->oclass, typ, obj->spe); } if (obj->quan != 1L) Strcpy(buf, makeplural(buf)); if (obj->onamelth && obj->dknown) { Strcat(buf, " named "); nameit: --- 463,659 ---- break; } ! /*JP Strcpy(buf, actualn);*/ if (typ == TIN && obj->known) { if(obj->spe > 0) ! /*JP Strcat(buf, " of spinach");*/ ! Strcat(buf, "¥Û¥¦¥ì¥óÁð¤Î"); else if (obj->corpsenm == NON_PM) ! /*JP Strcpy(buf, "empty tin");*/ ! Strcat(buf, "¶õ¤Ã¤Ý¤Î"); else if (is_meaty(&mons[obj->corpsenm])) ! /*JP Sprintf(eos(buf), " of %s meat", mons[obj->corpsenm].mname);*/ ! Sprintf(eos(buf), "%s¤ÎÆù¤Î", jtrns_mon(mons[obj->corpsenm].mname, -1)); else ! /*JP Sprintf(eos(buf), " of %s", mons[obj->corpsenm].mname);*/ ! Sprintf(eos(buf), "%s¤Î", jtrns_mon(mons[obj->corpsenm].mname, -1)); } + Strcat(buf, jactualn); break; case GOLD_CLASS: + jactualn = jtrns_obj('$',actualn); + jdn = jtrns_obj('$',dn); + Strcat(buf, jactualn); + break; case CHAIN_CLASS: ! jactualn = jtrns_obj('_',actualn); ! jdn = jtrns_obj('_',dn); ! /*JP Strcpy(buf, actualn);*/ ! Strcat(buf, jactualn); break; case ROCK_CLASS: + jactualn = jtrns_obj('\'',actualn); + jdn = jtrns_obj('\'',dn); if (typ == STATUE) ! /*JP Sprintf(buf, "%s of %s%s", actualn, type_is_pname(&mons[obj->corpsenm]) ? "" : (mons[obj->corpsenm].geno & G_UNIQ) ? "the " : (index(vowels,*(mons[obj->corpsenm].mname)) ? "an " : "a "), ! mons[obj->corpsenm].mname);*/ ! Sprintf(eos(buf), "%s¤Î%s", ! jtrns_mon(mons[obj->corpsenm].mname, -1), jactualn); ! /*JP else Strcpy(buf, actualn);*/ ! else Strcat(buf, jactualn); break; case BALL_CLASS: ! jactualn = jtrns_obj('0',actualn); ! jdn = jtrns_obj('0',dn); ! /*JP Sprintf(buf, "%sheavy iron ball", ! (obj->owt > ocl->oc_weight) ? "very " : "");*/ ! Sprintf(eos(buf), "%s½Å¤¤Å´¤Î¶Ì", ! (obj->owt > ocl->oc_weight) ? "¤È¤Æ¤â" : ""); break; case POTION_CLASS: + jactualn = jtrns_obj('!',actualn); + jdn = jtrns_obj('!',dn); if (obj->dknown && obj->odiluted) ! /*JP Strcpy(buf, "diluted ");*/ ! Strcat(buf, "Çö¤Þ¤Ã¤¿"); if(nn || un || !obj->dknown) { ! /*JP Strcpy(buf, "potion");*/ ! Strcat(buf,""); ! /*JP if(!obj->dknown) break;*/ ! if(!obj->dknown){ ! Strcat(buf,"Ìô"); ! break; ! } if(nn) { ! /*JP Strcat(buf, " of ");*/ if (typ == POT_WATER && obj->bknown && (obj->blessed || obj->cursed)) { ! /*JP Strcat(buf, obj->blessed ? "holy " : "unholy ");*/ ! Strcat(buf, obj->blessed ? "À»" : "ÉÔ¾ô¤Ê"); } ! /*JP Strcat(buf, actualn);*/ ! Strcat(buf, jactualn); } else { ! /*JP Strcat(buf, " called ");*/ Strcat(buf, un); + Strcat(buf, "¤È¸Æ¤Ð¤ì¤ëÌô"); } } else { ! Strcat(buf, jdn); ! /*JP Strcat(buf, dn);*/ ! /*JP Strcat(buf, " potion");*/ } break; case SCROLL_CLASS: ! jactualn = jtrns_obj('?',actualn); ! jdn = jtrns_obj('?',dn); ! /*JP Strcpy(buf, "scroll");*/ ! /*JP if(!obj->dknown) break;*/ ! if(!obj->dknown){ ! Strcat(buf,"´¬Êª"); ! break; ! } if(nn) { ! /*JP Strcat(buf, " of ");*/ ! /*JP Strcat(buf, actualn);*/ ! Strcat(buf, jactualn); } else if(un) { ! /*JP Strcat(buf, " called ");*/ Strcat(buf, un); + Strcat(buf, "¤È¸Æ¤Ð¤ì¤ë´¬Êª"); } else if (ocl->oc_magic) { ! /*JP Strcat(buf, " labeled ");*/ ! /*JP Strcat(buf, dn);*/ ! Strcat(buf, jdn); } else { ! /*JP Strcat(buf, " scroll");*/ ! Strcat(buf, jdn); } break; case WAND_CLASS: + jactualn = jtrns_obj('/',actualn); + jdn = jtrns_obj('/',dn); if(!obj->dknown) ! /*JP Strcpy(buf, "wand");*/ ! Strcat(buf, "¾ó"); else if(nn) ! /*JP Sprintf(buf, "wand of %s", actualn);*/ ! Strcat(buf, jactualn); else if(un) ! /*JP Sprintf(buf, "wand called %s", un);*/ ! Sprintf(eos(buf), "%s¤È¸Æ¤Ð¤ì¤ë¾ó", un); else ! /*JP Sprintf(buf, "%s wand", dn);*/ ! Strcat(buf, jdn); break; case SPBOOK_CLASS: + jactualn = jtrns_obj('+',actualn); + jdn = jtrns_obj('+',dn); if (!obj->dknown) { ! /*JP Strcpy(buf, "spellbook");*/ ! Strcat(buf, "ËâË¡½ñ"); } else if (nn) { ! /*JP if (typ != SPE_BOOK_OF_THE_DEAD)*/ ! /*JP Strcpy(buf, "spellbook of ");*/ ! Strcat(buf, jactualn); } else if (un) { ! /*JP Sprintf(buf, "spellbook called %s", un);*/ ! Sprintf(eos(buf), "%s¤È¸Æ¤Ð¤ì¤ëËâË¡½ñ", un); } else ! /*JP Sprintf(buf, "%s spellbook", dn);*/ ! Sprintf(eos(buf), "%s", jdn); break; case RING_CLASS: + jactualn = jtrns_obj('=',actualn); + jdn = jtrns_obj('=',dn); if(!obj->dknown) ! /*JP Strcpy(buf, "ring");*/ ! Strcat(buf, "»ØÎØ"); else if(nn) ! /*JP Sprintf(buf, "ring of %s", actualn);*/ ! Strcat(buf, jactualn); else if(un) ! /*JP Sprintf(buf, "ring called %s", un);*/ ! Sprintf(eos(buf), "%s¤È¸Æ¤Ð¤ì¤ë»ØÎØ", un); else ! /*JP Sprintf(buf, "%s ring", dn);*/ ! Strcat(buf, jdn); break; case GEM_CLASS: + jactualn = jtrns_obj('*',actualn); + jdn = jtrns_obj('*',dn); { const char *rock = ! /*JP (ocl->oc_material == MINERAL) ? "stone" : "gem";*/ ! (ocl->oc_material == MINERAL) ? "ÀÐ" : "ÊõÀÐ"; if (!obj->dknown) { ! Strcat(buf, rock); } else if (!nn) { + #if 0 /*JP*/ if (un) Sprintf(buf,"%s called %s", rock, un); else Sprintf(buf, "%s %s", dn, rock); + #endif /*JP*/ + if (un) Sprintf(eos(buf), "%s¤È¸Æ¤Ð¤ì¤ë%s", un, rock); + else Strcat(buf, jdn); } else { ! /*JP Strcpy(buf, actualn); ! if (GemStone(typ)) Strcat(buf, " stone");*/ ! Strcpy(buf, jactualn); } break; } default: Sprintf(buf,"glorkum %d %d %d", obj->oclass, typ, obj->spe); } + /*JP if (obj->quan != 1L) Strcpy(buf, makeplural(buf)); + */ + #if 0 /*JP*/ if (obj->onamelth && obj->dknown) { Strcat(buf, " named "); nameit: *************** *** 418,423 **** --- 661,668 ---- } if (!strncmpi(buf, "the ", 4)) buf += 4; + #endif /*JP*/ + nameit: return(buf); } *************** *** 444,473 **** { boolean ispoisoned = FALSE; char prefix[PREFIX]; ! char tmpbuf[PREFIX+1]; /* when we have to add something at the start of prefix instead of the * end (Strcat is used on the end) */ register char *bp = xname(obj); /* When using xname, we want "poisoned arrow", and when using * doname, we want "poisoned +0 arrow". This kludge is about the only * way to do it, at least until someone overhauls xname() and doname(), * combining both into one function taking a parameter. */ ! if (!strncmp(bp, "poisoned ", 9)) { ! bp += 9; ispoisoned = TRUE; } ! ! if(obj->quan != 1L) ! Sprintf(prefix, "%ld ", obj->quan); else if (obj_is_pname(obj) || the_unique_obj(obj)) { if (!strncmpi(bp, "the ", 4)) bp += 4; Strcpy(prefix, "the "); } else Strcpy(prefix, "a "); if (obj->bknown && obj->oclass != GOLD_CLASS && --- 689,800 ---- { boolean ispoisoned = FALSE; char prefix[PREFIX]; ! /*JP char tmpbuf[PREFIX+1];*/ /* when we have to add something at the start of prefix instead of the * end (Strcat is used on the end) */ register char *bp = xname(obj); + /*JP*/ + char preprefix[PREFIX], *tp; /* When using xname, we want "poisoned arrow", and when using * doname, we want "poisoned +0 arrow". This kludge is about the only * way to do it, at least until someone overhauls xname() and doname(), * combining both into one function taking a parameter. */ ! /*JP if (!strncmp(bp, "poisoned ", 9)) {*/ ! if (!strncmp(bp, "ÆǤÎÅɤé¤ì¤¿",12)) { ! /*JP bp += 9;*/ ! bp += 12; ispoisoned = TRUE; } ! /* JP ! *¡Ö»ÒÇ­¤Î¤¿¤Þ¤È̾¤Å¤±¤é¤ì¤¿»àÂΡפè¤ê¡Ö¤¿¤Þ¤È̾¤Å¤±¤é¤ì¤¿»ÒÇ­¤Î»àÂÎ¡× ! * ¤Î¤Û¤¦¤¬¼«Á³¤Ç¤¢¤ë¡¥ ! */ ! preprefix[0]='\0'; ! if(tp = strstri(bp,"̾¤Å¤±¤é¤ì¤¿")){ ! tp += 12; ! strncpy(preprefix,bp,tp-bp); ! preprefix[tp-bp]='\0'; ! bp = tp; ! } ! ! Strcpy(prefix,""); ! ! if(obj->quan != 1L){ ! /*JP Sprintf(prefix, "%ld ", obj->quan);*/ ! /*JP ÆüËܸì¤È¤·¤Æ¤Ï¿ô»ì¤¬¤Ê¤¤¤Î¤ÏÉÔ¼«Á³ */ ! Sprintf(prefix, "%ld", obj->quan); ! switch(obj->oclass){ ! case WEAPON_CLASS: ! case WAND_CLASS: ! if(obj->otyp==SHURIKEN) ! Strcat(prefix,"Ëç¤Î"); ! else ! Strcat(prefix,"ËܤÎ"); ! break; ! case ARMOR_CLASS: ! Strcat(prefix,"Ãå¤Î"); ! break; ! case GEM_CLASS: ! case ROCK_CLASS: ! case BALL_CLASS: ! Strcat(prefix,"¸Ä¤Î"); ! break; ! case SCROLL_CLASS: ! Strcat(prefix,"Ëç¤Î"); ! break; ! case SPBOOK_CLASS: ! Strcat(prefix,"ºý¤Î"); ! break; ! case POTION_CLASS: ! case RING_CLASS: ! case AMULET_CLASS: ! case FOOD_CLASS: ! if(obj->quan < 10L) ! Strcat(prefix,"¤Ä¤Î"); ! else ! Strcat(prefix,"¤Î"); ! break; ! case GOLD_CLASS: ! break; ! default: ! switch(obj->otyp){ ! case CREDIT_CARD: ! case TOWEL: ! case BLINDFOLD: ! Strcat(prefix,"Ëç¤Î"); ! break; ! case SKELETON_KEY: ! case TALLOW_CANDLE: ! case WAX_CANDLE: ! case PICK_AXE: ! case UNICORN_HORN: ! case LEASH: ! case STETHOSCOPE: ! case MAGIC_MARKER: ! Strcat(prefix,"ËܤÎ"); ! break; ! case CRYSTAL_BALL: ! Strcat(prefix,"¸Ä¤Î"); ! break; ! default: ! if(obj->quan < 10L) ! Strcat(prefix,"¤Ä¤Î"); ! else ! Strcat(prefix,"¤Î"); ! } ! } ! } ! #if 0 /*JP*/ /* ´§»ì¤ÏÉÔÍ× */ else if (obj_is_pname(obj) || the_unique_obj(obj)) { if (!strncmpi(bp, "the ", 4)) bp += 4; Strcpy(prefix, "the "); } else Strcpy(prefix, "a "); + #endif /*JP*/ if (obj->bknown && obj->oclass != GOLD_CLASS && *************** *** 477,485 **** * always allow "uncursed potion of water" */ if (obj->cursed) ! Strcat(prefix, "cursed "); else if (obj->blessed) ! Strcat(prefix, "blessed "); else if ((!obj->known || !objects[obj->otyp].oc_charged || (obj->oclass == ARMOR_CLASS || obj->oclass == RING_CLASS)) --- 804,814 ---- * always allow "uncursed potion of water" */ if (obj->cursed) ! /*JP Strcat(prefix, "cursed ");*/ ! Strcat(prefix, "¼ö¤ï¤ì¤¿"); else if (obj->blessed) ! /*JP Strcat(prefix, "blessed ");*/ ! Strcat(prefix, "½ËÊ¡¤µ¤ì¤¿"); else if ((!obj->known || !objects[obj->otyp].oc_charged || (obj->oclass == ARMOR_CLASS || obj->oclass == RING_CLASS)) *************** *** 499,599 **** && obj->otyp != FAKE_AMULET_OF_YENDOR && obj->otyp != AMULET_OF_YENDOR && !Role_is('P')) ! Strcat(prefix, "uncursed "); } ! if (obj->greased) Strcat(prefix, "greased "); switch(obj->oclass) { case AMULET_CLASS: if(obj->owornmask & W_AMUL) ! Strcat(bp, " (being worn)"); break; case WEAPON_CLASS: if(ispoisoned) ! Strcat(prefix, "poisoned "); plus: if (obj->oeroded) { switch (obj->oeroded) { case 2: Strcat(prefix, "very "); break; case 3: Strcat(prefix, "thoroughly "); break; } Strcat(prefix, is_rustprone(obj) ? "rusty " : is_corrodeable(obj) ? "corroded " : /* is_flammable(obj) ? "burnt " : "eroded " */ "damaged "); } else if (obj->rknown && obj->oerodeproof) Strcat(prefix, is_rustprone(obj) ? "rustproof " : is_corrodeable(obj) ? "corrodeproof " : /* "stainless"? */ is_flammable(obj) ? "fireproof " : ""); if(obj->known) { Strcat(prefix, sitoa(obj->spe)); Strcat(prefix, " "); } break; case ARMOR_CLASS: if(obj->owornmask & W_ARMOR) Strcat(bp, (obj == uskin) ? " (embedded in your skin)" : " (being worn)"); goto plus; case TOOL_CLASS: /* temp. hack by GAN 11/18/86 */ if(obj->owornmask & W_TOOL) { /* blindfold */ ! Strcat(bp, " (being worn)"); break; } if(obj->otyp == LEASH && obj->leashmon != 0) { ! Strcat(bp, " (in use)"); break; } if (is_weptool(obj)) goto plus; if (Is_candle(obj) && obj->age < 20L * (long)objects[obj->otyp].oc_cost) ! Strcat(prefix, "partly used "); if (obj->otyp == OIL_LAMP || obj->otyp == MAGIC_LAMP || obj->otyp == BRASS_LANTERN || Is_candle(obj) || obj->otyp == CANDELABRUM_OF_INVOCATION) { if(obj->lamplit) ! Strcat(bp, " (lit)"); break; } if(!objects[obj->otyp].oc_charged) break; /* if special tool, fall through to show charges */ case WAND_CLASS: if(obj->known) ! Sprintf(eos(bp), " (%d)", obj->spe); break; case POTION_CLASS: if (obj->otyp == POT_OIL && obj->lamplit) ! Strcat(bp, " (lit)"); break; case RING_CLASS: if(obj->owornmask & W_RINGR) Strcat(bp, " (on right "); if(obj->owornmask & W_RINGL) Strcat(bp, " (on left "); if(obj->owornmask & W_RING) { Strcat(bp, body_part(HAND)); Strcat(bp, ")"); } if(obj->known && objects[obj->otyp].oc_charged) { Strcat(prefix, sitoa(obj->spe)); Strcat(prefix, " "); } break; case FOOD_CLASS: if (obj->oeaten) ! Strcat(prefix, "partly eaten "); if (obj->otyp == CORPSE) { if (mons[obj->corpsenm].geno & G_UNIQ) { Sprintf(prefix, "%s%s ", (type_is_pname(&mons[obj->corpsenm]) ? "" : "the "), s_suffix(mons[obj->corpsenm].mname)); ! if (obj->oeaten) Strcat(prefix, "partly eaten "); } else { Strcat(prefix, mons[obj->corpsenm].mname); Strcat(prefix, " "); } } else if (obj->otyp == EGG) { #if 0 /* corpses don't tell if they're stale either */ --- 828,981 ---- && obj->otyp != FAKE_AMULET_OF_YENDOR && obj->otyp != AMULET_OF_YENDOR && !Role_is('P')) ! /*JP Strcat(prefix, "uncursed ");*/ ! Strcat(prefix, "¼ö¤ï¤ì¤Æ¤¤¤Ê¤¤"); } ! /*JP if (obj->greased) Strcat(prefix, "greased ");*/ ! if (obj->greased) Strcat(prefix, "Ìý¤ÎÅɤé¤ì¤¿"); switch(obj->oclass) { case AMULET_CLASS: if(obj->owornmask & W_AMUL) ! /*JP Strcat(bp, " (being worn)");*/ ! Strcat(bp, "(¿È¤Ë¤Ä¤±¤Æ¤¤¤ë)"); break; case WEAPON_CLASS: if(ispoisoned) ! /*JP Strcat(prefix, "poisoned ");*/ ! Strcat(prefix, "ÆǤÎÅɤé¤ì¤¿"); plus: if (obj->oeroded) { switch (obj->oeroded) { + #if 0 /*JP*/ case 2: Strcat(prefix, "very "); break; case 3: Strcat(prefix, "thoroughly "); break; + #endif /*JP*/ + case 2: Strcat(prefix, "¤È¤Æ¤â"); break; + case 3: Strcat(prefix, "¤«¤Ê¤ê"); break; } Strcat(prefix, + #if 0 /*JP*/ is_rustprone(obj) ? "rusty " : is_corrodeable(obj) ? "corroded " : /* is_flammable(obj) ? "burnt " : "eroded " */ "damaged "); + #endif /*JP*/ + is_rustprone(obj) ? "»¬¤Ó¤¿" : + is_corrodeable(obj) ? "Éå¿©¤·¤¿" : + "½ý¤Ä¤¤¤¿"); } else if (obj->rknown && obj->oerodeproof) Strcat(prefix, + #if 0 /*JP*/ is_rustprone(obj) ? "rustproof " : is_corrodeable(obj) ? "corrodeproof " : /* "stainless"? */ is_flammable(obj) ? "fireproof " : ""); + #endif /*JP*/ + is_rustprone(obj) ? "»¬¤Ó¤Ê¤¤" : + is_corrodeable(obj) ? "Éå¿©¤·¤Ê¤¤" : /* "stainless"? */ + is_flammable(obj) ? "dz¤¨¤Ê¤¤" : ""); + if(obj->known) { + Strcat(prefix, " "); Strcat(prefix, sitoa(obj->spe)); Strcat(prefix, " "); } break; case ARMOR_CLASS: if(obj->owornmask & W_ARMOR) + #if 0 /*JP*/ Strcat(bp, (obj == uskin) ? " (embedded in your skin)" : " (being worn)"); + #endif /*JP*/ + if(obj == uskin){ + Strcat(bp, "(È©¤ËËä¤á¤³¤Þ¤ì¤Æ¤¤¤ë)"); + } + else{ + const char *dummy; + + Strcat(bp, "("); + Strcat(bp, jconj(jonmsg(obj, &dummy), "¤Æ¤¤¤ë")); + Strcat(bp, ")"); + } goto plus; case TOOL_CLASS: /* temp. hack by GAN 11/18/86 */ if(obj->owornmask & W_TOOL) { /* blindfold */ ! /*JP Strcat(bp, " (being worn)");*/ ! Strcat(bp, "(¿È¤Ë¤Ä¤±¤Æ¤¤¤ë)"); break; } if(obj->otyp == LEASH && obj->leashmon != 0) { ! /*JP Strcat(bp, " (in use)");*/ ! Strcat(bp, "(·ë¤Ó¤Ä¤±¤Æ¤¤¤ë)"); break; } if (is_weptool(obj)) goto plus; if (Is_candle(obj) && obj->age < 20L * (long)objects[obj->otyp].oc_cost) ! /*JP Strcat(prefix, "partly used ");*/ ! Strcat(prefix, "»È¤¤¤¬¤±¤Î"); if (obj->otyp == OIL_LAMP || obj->otyp == MAGIC_LAMP || obj->otyp == BRASS_LANTERN || Is_candle(obj) || obj->otyp == CANDELABRUM_OF_INVOCATION) { if(obj->lamplit) ! /*JP Strcat(bp, " (lit)");*/ ! Strcat(bp, "(¸÷¤Ã¤Æ¤¤¤ë)"); break; } if(!objects[obj->otyp].oc_charged) break; /* if special tool, fall through to show charges */ case WAND_CLASS: if(obj->known) ! /*JP Sprintf(eos(bp), " (%d)", obj->spe);*/ ! Sprintf(eos(bp), "(%d)", obj->spe); break; case POTION_CLASS: if (obj->otyp == POT_OIL && obj->lamplit) ! /*JP Strcat(bp, " (lit)");*/ ! Strcat(bp, "(¸÷¤Ã¤Æ¤¤¤ë)"); break; case RING_CLASS: + #if 0 /*JP*/ if(obj->owornmask & W_RINGR) Strcat(bp, " (on right "); if(obj->owornmask & W_RINGL) Strcat(bp, " (on left "); + #endif + if(obj->owornmask & W_RINGR) Strcat(bp, "(±¦"); + if(obj->owornmask & W_RINGL) Strcat(bp, "(º¸"); if(obj->owornmask & W_RING) { Strcat(bp, body_part(HAND)); Strcat(bp, ")"); } if(obj->known && objects[obj->otyp].oc_charged) { + Strcat(prefix, " "); Strcat(prefix, sitoa(obj->spe)); Strcat(prefix, " "); } break; case FOOD_CLASS: if (obj->oeaten) ! /*JP Strcat(prefix, "partly eaten ");*/ ! Strcat(prefix, "¿©¤Ù¤«¤±¤Î"); if (obj->otyp == CORPSE) { if (mons[obj->corpsenm].geno & G_UNIQ) { + #if 0 /*JP*/ Sprintf(prefix, "%s%s ", (type_is_pname(&mons[obj->corpsenm]) ? "" : "the "), s_suffix(mons[obj->corpsenm].mname)); ! #endif /*JP*/ ! /*JP if (obj->oeaten) Strcat(prefix, "partly eaten ");*/ ! if (obj->oeaten) Strcat(prefix, "¿©¤Ù¤«¤±¤Î"); ! Sprintf(eos(prefix), "%s¤Î", ! jtrns_mon(mons[obj->corpsenm].mname, -1)); } else { + #if 0 /*JP*/ Strcat(prefix, mons[obj->corpsenm].mname); Strcat(prefix, " "); + #endif + Strcat(prefix, jtrns_mon(mons[obj->corpsenm].mname, -1)); + Strcat(prefix, "¤Î"); } } else if (obj->otyp == EGG) { #if 0 /* corpses don't tell if they're stale either */ *************** *** 603,612 **** if (obj->corpsenm >= LOW_PM && (obj->known || mvitals[obj->corpsenm].mvflags & MV_KNOWS_EGG)) { ! Strcat(prefix, mons[obj->corpsenm].mname); ! Strcat(prefix, " "); if (obj->spe) ! Strcat(bp, " (laid by you)"); } } break; --- 985,997 ---- if (obj->corpsenm >= LOW_PM && (obj->known || mvitals[obj->corpsenm].mvflags & MV_KNOWS_EGG)) { ! /*JP Strcat(prefix, mons[obj->corpsenm].mname); ! Strcat(prefix, " ");*/ ! Strcat(prefix, jtrns_mon(mons[obj->corpsenm].mname, -1)); ! Strcat(prefix, "¤Î"); if (obj->spe) ! /*JP Strcat(bp, " (laid by you)");*/ ! Strcat(bp, "(¤¢¤Ê¤¿¤¬»º¤ó¤À)"); } } break; *************** *** 614,640 **** case CHAIN_CLASS: if (obj->oeroded) { switch(obj->oeroded) { ! case 2: Strcat(prefix, "very "); break; ! case 3: Strcat(prefix, "thoroughly "); break; } ! Strcat(prefix, "rusty "); } if(obj->owornmask & W_BALL) ! Strcat(bp, " (chained to you)"); break; } if((obj->owornmask & W_WEP) && !mrg_to_wielded) { if (obj->quan != 1L) ! Strcat(bp, " (wielded)"); else { ! Strcat(bp, " (weapon in "); Strcat(bp, body_part(HAND)); ! Strcat(bp, ")"); } } if(obj->unpaid) ! Strcat(bp, " (unpaid)"); if (!strncmp(prefix, "a ", 2) && index(vowels, *(prefix+2) ? *(prefix+2) : *bp) && (*(prefix+2) || (strncmp(bp, "uranium", 7) --- 999,1033 ---- case CHAIN_CLASS: if (obj->oeroded) { switch(obj->oeroded) { ! /*JP case 2: Strcat(prefix, "very "); break; ! case 3: Strcat(prefix, "thoroughly "); break;*/ ! case 2: Strcat(prefix, "¤È¤Æ¤â"); break; ! case 3: Strcat(prefix, "¤«¤Ê¤ê"); break; } ! /*JP Strcat(prefix, "rusty ");*/ ! Strcat(prefix, "»¬¤Ó¤¿"); } if(obj->owornmask & W_BALL) ! /*JP Strcat(bp, " (chained to you)");*/ ! Strcat(bp, " (¤¢¤Ê¤¿¤Ë·Ò¤¬¤ì¤Æ¤¤¤ë)"); break; } if((obj->owornmask & W_WEP) && !mrg_to_wielded) { if (obj->quan != 1L) ! /*JP Strcat(bp, " (wielded)");*/ ! Strcat(bp, "(ÁõÈ÷¤·¤Æ¤¤¤ë)"); else { ! /*jP Strcat(bp, " (weapon in ");*/ ! Strcat(bp, "("); Strcat(bp, body_part(HAND)); ! Strcat(bp, "¤Ë¤·¤Æ¤¤¤ë)"); } } if(obj->unpaid) ! /*JP Strcat(bp, " (unpaid)");*/ ! Strcat(bp, "(̤ʧ¤¤)"); ! #if 0 /*JP*/ if (!strncmp(prefix, "a ", 2) && index(vowels, *(prefix+2) ? *(prefix+2) : *bp) && (*(prefix+2) || (strncmp(bp, "uranium", 7) *************** *** 644,649 **** --- 1037,1045 ---- Strcpy(prefix+3, tmpbuf+2); } bp = strprepend(bp, prefix); + #endif + Strcat(preprefix,prefix); + bp = strprepend(bp, preprefix); return(bp); } *************** *** 691,696 **** --- 1087,1096 ---- { static char NEARDATA nambuf[40]; + Sprintf(nambuf, "%s¤Î»àÂÎ", jtrns_mon(mons[otmp->corpsenm].mname, -1)); + return nambuf; + + #if 0 /*JP*/ /* assert( strlen(mons[otmp->corpsenm].mname) <= 32 ); */ Sprintf(nambuf, "%s corpse", mons[otmp->corpsenm].mname); *************** *** 698,703 **** --- 1098,1104 ---- return nambuf; else return makeplural(nambuf); + #endif } /* *************** *** 728,733 **** --- 1129,1136 ---- { static char NEARDATA buf[BUFSZ]; + Strcpy(buf, str); + #if 0 /*JP*/ buf[0] = '\0'; if (strncmpi(str, "the ", 4) && *************** *** 743,748 **** --- 1146,1152 ---- } Strcat(buf, str); + #endif /*JP*/ return buf; } *************** *** 751,757 **** --- 1155,1163 ---- const char *str; { register char *tmp = an(str); + /*JP *tmp = highc(*tmp); + */ return tmp; } *************** *** 764,771 **** const char *str; { static char NEARDATA buf[BUFSZ]; ! boolean insert_the = FALSE; if (!strncmpi(str, "the ", 4)) { buf[0] = lowc(*str); Strcpy(&buf[1], str+1); --- 1170,1178 ---- const char *str; { static char NEARDATA buf[BUFSZ]; ! /*JP boolean insert_the = FALSE;*/ + #if 0 /*JP*/ if (!strncmpi(str, "the ", 4)) { buf[0] = lowc(*str); Strcpy(&buf[1], str+1); *************** *** 802,808 **** else buf[0] = '\0'; Strcat(buf, str); ! return buf; } --- 1209,1216 ---- else buf[0] = '\0'; Strcat(buf, str); ! #endif /*JP*/ ! Strcpy(buf, str); return buf; } *************** *** 811,827 **** const char *str; { register char *tmp = the(str); *tmp = highc(*tmp); return tmp; } char * aobjnam(otmp,verb) register struct obj *otmp; register const char *verb; { register char *bp = xname(otmp); ! char prefix[PREFIX]; if(otmp->quan != 1L) { Sprintf(prefix, "%ld ", otmp->quan); --- 1219,1250 ---- const char *str; { register char *tmp = the(str); + /*JP *tmp = highc(*tmp); + */ return tmp; } + + #if 0 char * aobjnam(otmp,verb) register struct obj *otmp; register const char *verb; { register char *bp = xname(otmp); ! static char prefix[PREFIX]; ! ! Strcpy(prefix,bp); ! if(verb){ ! Strcat(prefix,"¤Ï"); ! Strcat(prefix,verb); ! } ! ! return prefix; ! /*JP*/ ! #if 0 ! return prefix; if(otmp->quan != 1L) { Sprintf(prefix, "%ld ", otmp->quan); *************** *** 841,847 **** --- 1264,1272 ---- } } return(bp); + #endif } + #endif 0 /* capitalized variant of doname() */ char * *************** *** 861,869 **** --- 1286,1299 ---- { static char outbuf[BUFSZ]; char *s = shk_your(outbuf, obj); /* assert( s == outbuf ); */ + #if 0 /*JP*/ int space_left = sizeof outbuf - strlen(s) - sizeof " "; return strncat(strcat(s, " "), xname(obj), space_left); + #endif + int space_left = sizeof outbuf - strlen(s) - sizeof ""; + + return strncat(s, xname(obj), space_left); } /* capitalized variant of yname() */ *************** *** 907,912 **** --- 1337,1350 ---- makeplural(oldstr) const char *oldstr; { + /*JP + ** Japanese is simple..... + */ + static char NEARDATA str[BUFSZ]; + Strcpy(str, oldstr); + return str; + #if 0 /*JP*/ + /* Note: cannot use strcmpi here -- it'd give MATZot, CAVEMeN,... */ register char *spot; static char NEARDATA str[BUFSZ]; *************** *** 1101,1106 **** --- 1539,1545 ---- bottom: if (excess) Strcpy(eos(str), excess); return str; + #endif /*JP*/ } #endif /* OVL0 */ *************** *** 1279,1284 **** --- 1718,1851 ---- * (no matching object), return (struct obj *)0. Giving readobjnam() a null * pointer skips the error return and creates a random object instead. */ + + /* + ** ʸ»úÎó buf ¤Î str1¤ò str2¤ØÃÖ´¹ + ** buf¤ÏÃÖ´¹¸å¤Îʸ»úÎó¤¬Æþ¤ë¤À¤±¤ÎÎΰ褬ɬÍ× + */ + static + char * + substitute(buf, str1, str2) + char *buf; + char *str1; + char *str2; + { + unsigned char *p, *pp; + char tmp[BUFSZ]; + int len = strlen(str1); + + if(!buf) + return buf; + + p = (unsigned char *)buf; + + while(*p){ + if(!strncmp(p, str1, len)){ + Strcpy(tmp, p + len); + while(*str2) + *(p++) = *(str2++); + + pp = tmp; + while(*pp) + *(p++) = *(pp++); + *(p++) = '\0'; + return buf; + } + if(*p >= 0x80) + p += 2; + else + ++p; + } + + return (char *)0; + } + + /* + ** ʸ»úÎó buf ¤Î str¤ÎÁ°¤ÎÉôʬ¤È str¤Î¸å¤ÎÉôʬ¤ò¸ò´¹¤¹¤ë¡¥ + ** + ** EX) ¤Û¤¨¤Û¤¨(¤È̾¤Å¤±¤é¤ì¤¿)¸¤ -> ¸¤(¤È̾¤Å¤±¤é¤ì¤¿)¤Û¤¨¤Û¤¨ + */ + static + char * + transpose(buf, str) + char *buf; + char *str; + { + unsigned char *p, *pp, *ppp; + char tmp[BUFSZ]; + int len = strlen(str); + + Strcpy(tmp, buf); + ppp = pp = p = (unsigned char *)tmp; + + while(*p){ + if(!strncmp(p, str, len)){ + Strcpy(buf, p + len); + Strcat(buf, str); + ppp = eos(buf); + while(pp != p) + *(ppp++) = *(pp++); + *(ppp++) = '\0'; + return buf; + } + if(*p >= 0x80) + p += 2; + else + ++p; + } + + return (char *)0; + + } + /* + ** ʸ»úÎó buf ¤ÎÀèƬ¤Ë str¤òÁÞÆþ¤¹¤ë + */ + static + char * + insert(buf, str) + char *buf; + char *str; + { + return substitute(buf, "", str); + } + + /* + ** ʸ»úÎó buf ¤«¤é str¤ò¼è¤ê½ü¤¯¡¥ + */ + static + char * + delete(buf, str) + char *buf; + char *str; + { + return substitute(buf, str, (char *)""); + } + + static int + digit_8(c) + int c; + { + unsigned int uc = c; + + return (uc >= '0' && uc <= '9') ? 1 : 0; + } + + static int + atoi_8(s) + const char *s; + { + char *pp; + char tmp[BUFSZ]; + + pp = tmp; + + while(digit_8(*s)) + *(pp++) = *(s++); + *pp = '\0'; + + return atoi(tmp); + } + struct obj * readobjnam(bp) register char *bp; *************** *** 1295,1300 **** --- 1862,1875 ---- struct fruit *f; int ftype = current_fruit; char fruitbuf[BUFSZ]; + /*JP*/ + char buf[BUFSZ]; + char pfx[BUFSZ]; + /*JP + char buf2[BUFSZ]; + unsigned char *up, *up2; + */ + /* We want to check for fruits last so that, for example, someone * who names their fruit "katana" and wishes for a katana gets a real * one. But, we have to keep around the old buf since in the meantime *************** *** 1317,1327 **** oclass = 0; actualn = dn = un = 0; /* first, remove extra whitespace they may have typed */ if (bp) (void)mungspaces(bp); for(;;) { ! register int l; if (!bp || !*bp) goto any; if (!strncmpi(bp, "an ", l=3) || --- 1892,2032 ---- oclass = 0; actualn = dn = un = 0; + if(!bp) + goto skip; + + /* 2¥Ð¥¤¥Èʸ»ú¤Î¥¹¥Ú¡¼¥¹¤òºï½ü */ + + #undef WISHDEBUG + + #ifdef WISHDEBUG + pline("Wish DEBUG[%s]\n", bp); + #endif + while(delete(bp, "¡¡")) + ; + #ifdef WISHDEBUG + pline("Wish DEBUG[%s]\n", bp); + #endif + Strcpy(buf, bp); + + #define S(a, b) substitute(buf, (a), (b)) + #define T(a) transpose(buf, (a)) + #define D(a) delete(buf, (a)) + #define I(a) insert(buf, (a)) + + /* Æüì2¥Ð¥¤¥Èʸ»ú¤ò1¥Ð¥¤¥Èʸ»ú¤ØÊÑ´¹ */ + + while(S("¡Ü", "+") || + S("¡Ý", "-") || + S("¡Ê", "(") || + S("¡Ë", ")") || + S("£°", "0") || + S("£±", "1") || + S("£²", "2") || + S("£³", "3") || + S("£´", "4") || + S("£µ", "5") || + S("£¶", "6") || + S("£·", "7") || + S("£¸", "8") || + S("£¹", "9")) + ; + + #ifdef WISHDEBUG + pline("Wish DEBUG0[%s]\n", bp); + #endif + + T("¤È̾¤Å¤±¤é¤ì¤¿"); + T("¤È¸Æ¤Ð¤ì¤ë"); + T("¤È¸À¤¦Ì¾¤Î"); + T("¤È¤¤¤¦Ì¾¤Î"); + + S("¤È̾¤Å¤±¤é¤ì¤¿", " named "); + S("¤È¸Æ¤Ð¤ì¤ë", " called "); + S("¤È¸À¤¦Ì¾¤Î", " named "); + S("¤È¤¤¤¦Ì¾¤Î", " named "); + + T("¥Û¥¦¥ì¥óÁð¤Î"); + S("¥Û¥¦¥ì¥óÁð¤Î", " of spinach "); + + T("¤Î»àÂÎ"); + S("¤Î»àÂÎ", " corpse of "); + + T("¤Î»à³¼"); + S("¤Î»à³¼", " corpse of "); + + T("¤ÎÁü"); + S("¤ÎÁü", " statue of "); + + T("¤Î¿Í·Á"); + S("¤Î¿Í·Á", " figurine of "); + + S("½ËÊ¡¤µ¤ì¤¿", "blessed "); + S("À»¿å", "holy water "); + S("À»¤Ê¤ë", "blessed "); + + S("¼ö¤ï¤ì¤¿", "cursed "); + S("ÉÔ¾ô¤Ê", "cursed "); + + S("¼ö¤ï¤ì¤Æ¤¤¤Ê¤¤", "uncursed "); + + S("»¬¤Ó¤Ê¤¤", "rustproof "); + S("Éå¿©¤·¤Ê¤¤", "erodeproof "); + S("dz¤¨¤Ê¤¤", "corrodeproof "); + S("½ý¤Ä¤«¤Ê¤¤", "fireproof "); + + S("¸÷¤Ã¤Æ¤¤¤ë", "lit "); + S("dz¤¨¤Æ¤¤¤ë", "burning "); + S("¾Ã¤¨¤Æ¤¤¤ë", "unlit "); + S("¥é¥Ù¥ë¤Î¤Ê¤¤", "unlabelled "); + S("¿¿¤ÃÇò¤Ê", "blank "); + + S("ÆǤÎÅɤé¤ì¤¿", "poisoned "); + S("Ìý¤ÎÅɤé¤ì¤¿", "greased "); + S("»é¤ÎÅɤé¤ì¤¿", "greased "); + + S("¤È¤Æ¤â", "very "); + S("¤«¤Ê¤ê", "thoroughly "); + + S("»¬¤Ó¤¿", "rusty "); + S("Éå¿©¤·¤¿", "eroded "); + S("½ý¤Ä¤¤¤¿", "damaged "); + S("Éå¤Ã¤¿", "rotted "); + S("dz¤¨¤¿", "burned "); + + S("¿©¤Ù¤«¤±¤Î", "partly eaten "); + + S("Çö¤¤", "diluted "); + S("Çö¤Þ¤Ã¤¿", "diluted "); + + S("¶õ¤Î", "empty "); + S("¶õ¤Ã¤Ý¤Î", "empty "); + + D("°ì¼°"); + + if(strlen(buf)>4 && !strcmp(buf + strlen(buf) - 4, "´¬Êª")) + Strcpy(pfx, "scroll of "); + else if(strlen(buf)>6 && !strcmp(buf + strlen(buf) - 6, "´¬¤­Êª")) + Strcpy(pfx, "scroll of "); + else if(strlen(buf)>6 && !strcmp(buf + strlen(buf) - 6, "ËâË¡½ñ")) + Strcpy(pfx, "spellbook of "); + else if(strlen(buf)>2 && !strcmp(buf + strlen(buf) - 2, "¾ó")) + Strcpy(pfx, "wand of "); + else if(strlen(buf)>4 && !strcmp(buf + strlen(buf) - 4, "»ØÎØ")) + Strcpy(pfx, "ring of "); + else + pfx[0] = '\0'; + + bp = buf; + #ifdef WISHDEBUG + pline("Wish DEBUG1[%s]\n", bp); + #endif /* first, remove extra whitespace they may have typed */ if (bp) (void)mungspaces(bp); + skip: for(;;) { ! register int l = 0; if (!bp || !*bp) goto any; if (!strncmpi(bp, "an ", l=3) || *************** *** 1329,1339 **** cnt = 1; } else if (!strncmpi(bp, "the ", l=4)) { ; /* just increment `bp' by `l' below */ ! } else if (!cnt && digit(*bp)) { ! cnt = atoi(bp); ! while(digit(*bp)) bp++; while(*bp == ' ') bp++; l = 0; } else if (!strncmpi(bp, "blessed ", l=8) || !strncmpi(bp, "holy ", l=5)) { blessed = 1; --- 2034,2104 ---- cnt = 1; } else if (!strncmpi(bp, "the ", l=4)) { ; /* just increment `bp' by `l' below */ ! } else if (!cnt && digit_8(*bp)) { ! cnt = atoi_8(bp); ! while(digit_8(*bp)) bp++; while(*bp == ' ') bp++; l = 0; + /* ¸å¤Ë¿ô»ì¤¬¤¢¤ë¤È¤­¤Ïºï½ü */ + if(!strncmp(bp, "ºý¤Î", l = 4) || + !strncmp(bp, "ËܤÎ", l = 4) || + !strncmp(bp, "Ãå¤Î", l = 4) || + !strncmp(bp, "¸Ä¤Î", l = 4) || + !strncmp(bp, "Ëç¤Î", l = 4) || + !strncmp(bp, "¤Ä¤Î", l = 4) || + !strncmp(bp, "¤Î", l = 2)) + ; + else + l = 0; + #if 1 + /* + ´Á»ú¤Ç¿ô»ú¤ò»ØÄꤹ¤ë¤È¤­¤Ï¿ô»ì¤¬É¬Í× + */ + } else if(!cnt && + (!strncmp(bp + 2, "ºý¤Î", l = 4) || + !strncmp(bp + 2, "ËܤÎ", l = 4) || + !strncmp(bp + 2, "Ãå¤Î", l = 4) || + !strncmp(bp + 2, "¸Ä¤Î", l = 4) || + !strncmp(bp + 2, "Ëç¤Î", l = 4) || + !strncmp(bp + 2, "¤Ä¤Î", l = 4) || + !strncmp(bp + 2, "¤Î", l = 2))){ + if(!strncmp(bp, "°ì", 2)){ + cnt = 1; + } + else if(!strncmp(bp, "Æó", 2)){ + cnt = 2; + } + else if(!strncmp(bp, "»°", 2)){ + cnt = 3; + } + else if(!strncmp(bp, "»Í", 2)){ + cnt = 4; + } + else if(!strncmp(bp, "¸Þ", 2)){ + cnt = 5; + } + else if(!strncmp(bp, "Ï»", 2)){ + cnt = 6; + } + else if(!strncmp(bp, "¼·", 2)){ + cnt = 7; + } + else if(!strncmp(bp, "Ȭ", 2)){ + cnt = 8; + } + else if(!strncmp(bp, "¶å", 2)){ + cnt = 9; + } + else if(!strncmp(bp, "½½", 2)){ + cnt = 10; + } + if(cnt) + l += 2; + else{ + l = 0; + cnt = 1; + } + #endif } else if (!strncmpi(bp, "blessed ", l=8) || !strncmpi(bp, "holy ", l=5)) { blessed = 1; *************** *** 1396,1403 **** if (strlen(bp) > 1) { if (*bp == '+' || *bp == '-') { spesgn = (*bp++ == '+') ? 1 : -1; ! spe = atoi(bp); ! while(digit(*bp)) bp++; while(*bp == ' ') bp++; } else if ((p = rindex(bp, '(')) != 0) { if (p > bp && p[-1] == ' ') p[-1] = 0; --- 2161,2168 ---- if (strlen(bp) > 1) { if (*bp == '+' || *bp == '-') { spesgn = (*bp++ == '+') ? 1 : -1; ! spe = atoi_8(bp); ! while(digit_8(*bp)) bp++; while(*bp == ' ') bp++; } else if ((p = rindex(bp, '(')) != 0) { if (p > bp && p[-1] == ' ') p[-1] = 0; *************** *** 1406,1412 **** if (!strcmpi(p, "lit)")) islit = 1; else { ! spe = atoi(p); while(digit(*p)) p++; if (*p != ')') spe = 0; else { --- 2171,2177 ---- if (!strcmpi(p, "lit)")) islit = 1; else { ! spe = atoi_8(p); while(digit(*p)) p++; if (*p != ')') spe = 0; else { *************** *** 1417,1422 **** --- 2182,2257 ---- } } } + /*JP*/ + while(*bp == ' ') + ++bp; + /* + Å·¼Ùµ´¤Î¤¿¤á¤Ë 1¤«¤é10¤Þ¤Ç¤Ï¥µ¥Ý¡¼¥È¡¥ + */ + if(!strncmp(bp, "°ì", 2)){ + spe = 1; bp += 2; + } + else if(!strncmp(bp, "Æó", 2)){ + spe = 2; bp += 2; + } + else if(!strncmp(bp, "»°", 2)){ + spe = 3; bp += 2; + } + else if(!strncmp(bp, "»Í", 2)){ + spe = 4; bp += 2; + } + else if(!strncmp(bp, "¸Þ", 2)){ + spe = 5; bp += 2; + } + else if(!strncmp(bp, "Ï»", 2)){ + spe = 6; bp += 2; + } + else if(!strncmp(bp, "¼·", 2)){ + spe = 7; bp += 2; + } + else if(!strncmp(bp, "Ȭ", 2)){ + spe = 8; bp += 2; + } + else if(!strncmp(bp, "¶å", 2)){ + spe = 9; bp += 2; + } + else if(!strncmp(bp, "½½", 2)){ + spe = 10; bp += 2; + } + + while(*bp == ' ') + ++bp; + + while(1) + { + unsigned char *bp2, *bp1; + unsigned char buf1[BUFSZ]; + const char *en; + + bp1 = buf1; + bp2 = (unsigned char *)bp; + + while(!(*bp2 & 0x80)) + ++bp2; + + while(*bp2 & 0x80){ + *(bp1++) = *(bp2++); + *(bp1++) = *(bp2++); + } + *bp1 = '\0'; + + #ifdef WISHDEBUG + pline("Wish DEBUG2[%s]\n", bp); + #endif + en = etrns_obj(' ', buf1); + Strcat(pfx, en); + if(!strcmp(en, buf1) || !substitute(bp, buf1, pfx)) + break; + } + #ifdef WISHDEBUG + pline("Wish DEBUG3[%s]", bp); + #endif + /* otmp->spe is type schar; so we don't want spe to be any bigger or smaller. also, spe should always be positive -- some cheaters may try to confuse *************** *** 2075,2081 **** obfree(otmp, (struct obj *) 0); otmp = &zeroobj; pline( ! "For a moment, you feel %s in your %s, but it disappears!", something, makeplural(body_part(HAND))); } --- 2910,2919 ---- obfree(otmp, (struct obj *) 0); otmp = &zeroobj; pline( ! /*JP "For a moment, you feel %s in your %s, but it disappears!", ! something, ! makeplural(body_part(HAND)));*/ ! "°ì½Ö%s¤¬%s¤ÎÃæ¤Ë¤¢¤ë¤è¤¦¤Ê´¶¤¸¤¬¤·¤¿¤¬¡¤¤¹¤°¤Ë¾Ã¤¨¤µ¤Ã¤¿¡ª", something, makeplural(body_part(HAND))); } diff -c -r ../nethack-3.2.2/src/options.c ./src/options.c *** ../nethack-3.2.2/src/options.c Sat Dec 28 21:53:47 1996 --- ./src/options.c Tue Jul 22 23:18:31 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #ifdef OPTION_LISTS_ONLY /* (AMIGA) external program for opt lists */ #include "config.h" #include "objclass.h" *************** *** 178,183 **** --- 185,191 ---- * typing when game maintains information in * a different format */ } compopt[] = { + #if 0 /* JP */ { "catname", "the name of your (first) cat (e.g., catname:Tabby)", PL_PSIZ }, { "disclose", "the kinds of information to disclose at end of game", *************** *** 231,236 **** --- 239,293 ---- #endif { "windowtype", "windowing system to use", WINTYPELEN }, { (char *)0, (char *)0, 0 } + #endif /* JP */ + + { "catname", "ºÇ½é¤ËËÁ¸±¤ò¶¡¤Ë¤¹¤ëÇ­¤Î̾Á° (Îã catname:¥¿¥Þ),", PL_PSIZ }, + { "disclose", "¥²¡¼¥à½ªÎ»»þ¤Ë¸«¤ë¾ðÊó¤Î¥¿¥¤¥×,", sizeof(flags.end_disclose)}, + { "dogname", "ºÇ½é¤ËËÁ¸±¤ò¶¡¤Ë¤¹¤ë¸¤¤Î̾Á° (Îã dogname:¥Ý¥Á),", PL_PSIZ }, + { "dungeon", "¥À¥ó¥¸¥ç¥ó¤òÉÁ¤¯¤Î¤Ë»È¤¦µ­¹æ", MAXDCHARS+1}, + { "effects", "Æüì¸ú²Ì¤òÉÁ¤¯¤Î¤Ë»È¤¦µ­¹æ", MAXDCHARS+1}, + { "fruit", "¹¥Êª¤Î¿©¤Ùʪ," }, + { "menustyle","¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤¹¤ë¤È¤­¤Î¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹", MENUTYPELEN}, + { "menu_deselect_all", "Á´¤Æ¤Î¥¢¥¤¥Æ¥à¤òÁªÂò", 4}, + { "menu_deselect_page", "¸½ºßɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥Ú¡¼¥¸¤Î¥¢¥¤¥Æ¥à¤òÈóÁªÂò", 4}, + { "menu_first_page", "¥á¥Ë¥å¡¼¤ÎºÇ½é¤Î¥Ú¡¼¥¸¤Ø", 4}, + { "menu_invert_all", "Á´¤Æ¤Î¥¢¥¤¥Æ¥à¤òȿž", 4}, + { "menu_invert_page", "¸½ºßɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥Ú¡¼¥¸¤Î¥¢¥¤¥Æ¥à¤òȿž", 4}, + { "menu_last_page", "¥á¥Ë¥å¡¼¤ÎºÇ¸å¤Î¥Ú¡¼¥¸¤Ø", 4}, + { "menu_next_page", "¼¡¤Î¥á¥Ë¥å¡¼¤Î¥Ú¡¼¥¸¤Ø", 4}, + { "menu_previous_page", "Á°¤Î¥á¥Ë¥å¡¼¤Î¥Ú¡¼¥¸¤Ø", 4}, + { "menu_search", "¥á¥Ë¥å¡¼¤Î¸¡º÷", 4}, + { "menu_select_all", "Á´¤Æ¤Î¥¢¥¤¥Æ¥à¤òÁªÂò", 4}, + { "menu_select_page", "¸½ºßɽ¼¨¤µ¤ì¤Æ¤¤¤ëÁ´¤Æ¤Î¥¢¥¤¥Æ¥à¤òÁªÂò", 4}, + { "monsters", "²øʪ¤Ë»ÈÍѤ¹¤ëµ­¹æ,", MAXMCLASSES }, + { "msghistory", "¥»¡¼¥Ö¤¹¤ëÀèƬ¹Ô¤Î¿ô,", 5 }, + { "name", "¥­¥ã¥é¥¯¥¿¡¼¤Î̾Á° (Îã name:¥Û¥¤¥ß¥ó),", PL_NSIZ }, + { "objects", "ʪÂΤ˻ÈÍѤ¹¤ëµ­¹æ,", MAXOCLASSES }, + { "packorder", "¥¢¥¤¥Æ¥à°ìÍ÷¤Î½çÈÖ,", MAXOCLASSES }, + #ifdef CHANGE_COLOR + { "palette", "¥Ñ¥ì¥Ã¥È(00c/880/-fff ¤Ï¡¤ÀÄ/²«/Çò¤Îȿž),", 15 }, + # if defined(MAC) + { "hicolor", "¥Ñ¥ì¥Ã¥È¤ÈƱ¤¸¤À¤¬È¿Å¾¤Î¤ß,", 15 }, + # endif + #endif + { "pettype", "ºÇ½é¤Î¥Ú¥Ã¥È¤Î¼ïÎà,", 4 }, + { "pickup_types", "¼«Æ°¤Ç½¦¤¦ÊªÂΤμïÎà,", MAXOCLASSES }, + { "scores", "¥²¡¼¥à¤ÎºÇ¸å¤Ë¸«¤ë¥¹¥³¥¢¤Î¼ïÎà,", 32 }, + #ifdef MSDOS + { "soundcard", "»ÈÍѤ¹¤ë¥µ¥¦¥ó¥É¥«¡¼¥É¤Î¥¿¥¤¥×", 20 }, + #endif + { "traps", "櫤òÉÁ¤¯¤Î¤Ë»ÈÍѤ¹¤ëµ­¹æ", MAXTCHARS+1 }, + #ifdef MSDOS + { "video", "²èÁü¤Î¹¹¿·ÊýË¡", 20 }, + #endif + #ifdef VIDEOSHADES + { "videocolors", "color mappings for internal screen routines,", 4}, + { "videoshades", "gray shades to map to black/gray/white,", 32 }, + #endif + { "windowtype", "»ÈÍѤ¹¤ë¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à,", WINTYPELEN }, + /*JP*/ + { "kcode","üËö¤Î´Á»ú¥³¡¼¥É,", 4 }, + { NULL, NULL } }; #ifdef OPTION_LISTS_ONLY *************** *** 353,358 **** --- 410,417 ---- initoptions() { char *opts; + /*JP*/ + char jopts[BUFSIZ]; int i; for (i = 0; boolopt[i].name; i++) { *************** *** 386,392 **** * config file/environment variable below. */ /* this detects the IBM-compatible console on most 386 boxes */ ! if (!strncmp(getenv("TERM"), "AT", 2)) { switch_graphics(IBM_GRAPHICS); # ifdef TEXTCOLOR iflags.use_color = TRUE; --- 445,452 ---- * config file/environment variable below. */ /* this detects the IBM-compatible console on most 386 boxes */ ! /*JP if (!strncmp(getenv("TERM"), "AT", 2)) {*/ ! if (getenv("TERM") && !strncmp(getenv("TERM"), "AT", 2)) { switch_graphics(IBM_GRAPHICS); # ifdef TEXTCOLOR iflags.use_color = TRUE; *************** *** 396,402 **** #if defined(UNIX) || defined(VMS) # ifdef TTY_GRAPHICS /* detect whether a "vt" terminal can handle alternate charsets */ ! if (!strncmpi(getenv("TERM"), "vt", 2) && (AS && AE) && index(AS, '\016') && index(AE, '\017')) { switch_graphics(DEC_GRAPHICS); } --- 456,464 ---- #if defined(UNIX) || defined(VMS) # ifdef TTY_GRAPHICS /* detect whether a "vt" terminal can handle alternate charsets */ ! /*JP if (!strncmpi(getenv("TERM"), "vt", 2) && (AS && AE) && ! index(AS, '\016') && index(AE, '\017')) {*/ ! if (getenv("TERM") && !strncmpi(getenv("TERM"), "vt", 2) && (AS && AE) && index(AS, '\016') && index(AE, '\017')) { switch_graphics(DEC_GRAPHICS); } *************** *** 413,426 **** nmcpy(pl_fruit, OBJ_NAME(objects[SLIME_MOLD]), PL_FSIZ); opts = getenv("NETHACKOPTIONS"); if (!opts) opts = getenv("HACKOPTIONS"); if (opts) { if (*opts == '/' || *opts == '\\' || *opts == '@') { if (*opts == '@') opts++; /* @filename */ /* looks like a filename */ read_config_file(opts); } else { read_config_file((char *)0); ! parseoptions(opts, TRUE, FALSE); } } else { read_config_file((char *)0); --- 475,492 ---- nmcpy(pl_fruit, OBJ_NAME(objects[SLIME_MOLD]), PL_FSIZ); opts = getenv("NETHACKOPTIONS"); if (!opts) opts = getenv("HACKOPTIONS"); + /*JP*/ if (opts) { + /* becouse str2ic() has side effects. */ + Strcpy(jopts, str2ic(opts)); if (*opts == '/' || *opts == '\\' || *opts == '@') { if (*opts == '@') opts++; /* @filename */ /* looks like a filename */ read_config_file(opts); } else { read_config_file((char *)0); ! /*JP parseoptions(opts, TRUE, FALSE);*/ ! parseoptions(jopts, TRUE, FALSE); } } else { read_config_file((char *)0); *************** *** 437,443 **** --- 503,513 ---- if (flags.female) { /* should have been set in NETHACKOPTIONS */ roles[2] = "Cavewoman"; + #ifdef FIGHTER + roles[7] = "Priestess"; + #else roles[6] = "Priestess"; + #endif } } *************** *** 549,555 **** # endif pline("\"%s\" settable only from %s.", optname, configfile); #else ! pline("%s can be set only from NETHACKOPTIONS or %s.", optname, configfile); #endif } --- 619,626 ---- # endif pline("\"%s\" settable only from %s.", optname, configfile); #else ! /*JP pline("%s can be set only from NETHACKOPTIONS or %s.", optname,*/ ! pline("%s¤Ï NETHACKOPTIONS¤« %s¤Ç¤Ê¤¤¤ÈÀßÄê¤Ç¤­¤Ê¤¤¡¥", optname, configfile); #endif } *************** *** 561,569 **** if (!initial) { if (!strncmp(opts, "h", 1) || !strncmp(opts, "?", 1)) option_help(); ! else ! pline("Bad syntax: %s. Enter \"?g\" for help.", opts); ! return; } # ifdef AMIGA if(ami_wbench_badopt(opts)) { --- 632,641 ---- if (!initial) { if (!strncmp(opts, "h", 1) || !strncmp(opts, "?", 1)) option_help(); ! else ! /*JP pline("Bad syntax: %s. Enter \"?g\" for help.", opts);*/ ! pline("%s:¥ª¥×¥·¥ç¥ó¥¨¥é¡¼¡ª¥Ø¥ë¥×¤ò¸«¤ë¤Ë¤Ï\"?g\"¤È¥¿¥¤¥×¤»¤è¡¥", opts); ! return; } # ifdef AMIGA if(ami_wbench_badopt(opts)) { *************** *** 583,588 **** --- 655,661 ---- char *opts; boolean val_optional; { + char *jopt,*p; register char *colon; colon = index(opts, ':'); *************** *** 590,596 **** if (!val_optional) badoption(opts); return (char *)0; } ! return colon; } static char * --- 663,679 ---- if (!val_optional) badoption(opts); return (char *)0; } ! /* return colon;*/ ! /* JP */ ! p = jopt = (char *)malloc(strlen(colon)+1); ! while(*colon){ ! if(*colon > 0 && *colon < 0x20) ! ++colon; ! else ! *(p++) = *(colon++); ! } ! *p = '\0'; ! return jopt; } static char * *************** *** 699,707 **** } /* strip leading and trailing white space */ ! while (isspace(*opts)) opts++; op = eos(opts); ! while (--op >= opts && isspace(*op)) *op = '\0'; if (!*opts) return; negated = FALSE; --- 782,792 ---- } /* strip leading and trailing white space */ ! /*JP while (isspace(*opts)) opts++;*/ ! while (isspace_8(*opts)) opts++; op = eos(opts); ! /*JP while (--op >= opts && isspace(*op)) *op = '\0';*/ ! while (--op >= opts && isspace_8(*op)) *op = '\0'; if (!*opts) return; negated = FALSE; *************** *** 1100,1105 **** --- 1185,1197 ---- } return; } + /*JP*/ + if (!strncmpi(opts, "kcode", 3)){ + if ((op = string_for_env_opt("kcode", opts, FALSE)) != 0){ + setkcode(*op); + } + return; + } /* scores:5t[op] 5a[round] o[wn] */ if (match_optname(opts, "scores", 4, TRUE)) { *************** *** 1650,1687 **** flags.pickup = !flags.pickup; if (flags.pickup) { oc_to_str(flags.pickup_types, ocl); ! Sprintf(buf, "ON, for %s objects", ocl[0] ? ocl : "all"); } else { ! Strcpy(buf, "OFF"); } ! pline("Autopickup: %s.", buf); return 0; } /* data for option_help() */ static const char *opt_intro[] = { "", ! " NetHack Options Help:", "", #define CONFIG_SLOT 3 /* fill in next value at run-time */ (char *)0, #if !defined(MICRO) && !defined(MAC) ! "or use `NETHACKOPTIONS=\"\"' in your environment;", # ifdef VMS "-- for example, $ DEFINE NETHACKOPTIONS \"noautopickup,fruit:kumquat\"", # endif #endif ! "or press \"O\" while playing, and type your at the prompt.", "In all cases, is a list of options separated by commas.", "", ! "Boolean options (which can be negated by prefixing them with '!' or \"no\"):", (char *)0 }; static const char *opt_epilog[] = { "", "Some of the options can be set only before the game is started. You will", "be so informed, if you attempt to set them while in the game.", (char *)0 }; --- 1742,1790 ---- flags.pickup = !flags.pickup; if (flags.pickup) { oc_to_str(flags.pickup_types, ocl); ! /*JP Sprintf(buf, "ON, for %s objects", ocl[0] ? ocl : "all");*/ ! Sprintf(buf, "%s¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤Æ¥ª¥ó", ocl[0] ? ocl : "Á´¤Æ"); } else { ! Strcpy(buf, "¥ª¥Õ"); } ! /*JP pline("Autopickup: %s.", buf);*/ ! pline("¥ª¡¼¥È¥Ô¥Ã¥¯¥¢¥Ã¥×¡§%s¡¥", buf); return 0; } /* data for option_help() */ static const char *opt_intro[] = { "", ! " JNetHack Options Help:", "", #define CONFIG_SLOT 3 /* fill in next value at run-time */ (char *)0, #if !defined(MICRO) && !defined(MAC) ! /*JP "or use `NETHACKOPTIONS=\"\"' in your environment;",*/ ! "¤Þ¤¿¤Ï¡¤´Ä¶­ÊÑ¿ô¡¤`NETHACKOPTIONS=\"\"'¤òÀßÄꤹ¤ë¡¥", # ifdef VMS "-- for example, $ DEFINE NETHACKOPTIONS \"noautopickup,fruit:kumquat\"", # endif #endif ! /*JP "or press \"O\" while playing, and type your at the prompt.", "In all cases, is a list of options separated by commas.", + */ + "¤Þ¤¿¤Ï¥²¡¼¥àÃæ\"O\"¥³¥Þ¥ó¥É¤Ç¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¡¥", + "Á´¤Æ¤Î¾ì¹ç¥ª¥×¥·¥ç¥ó¤Ï¥«¥ó¥Þ¤Ç¶èÀڤäÆÀßÄꤹ¤ë¡¥", "", ! /*JP "Boolean options (which can be negated by prefixing them with '!' or \"no\"):",*/ ! "¿¿µ¶¥ª¥×¥·¥ç¥ó(Ƭ¤Ë'!'¤Þ¤¿¤Ï\"no\"¤ò¤Ä¤±¤ë¤³¤È¤Ë¤è¤êµ¶¤Ë¤Ê¤ë):", (char *)0 }; static const char *opt_epilog[] = { "", + /*JP "Some of the options can be set only before the game is started. You will", "be so informed, if you attempt to set them while in the game.", + */ + "¤¤¤¯¤Ä¤«¤Î¥ª¥×¥·¥ç¥ó¤Ï¥²¡¼¥à¥¹¥¿¡¼¥È»þ¤Ë¤·¤«ÀßÄê¤Ç¤­¤Ê¤¤¡¥", + "¥²¡¼¥àÃæ¤Ë¥»¥Ã¥È¤·¤è¤¦¤È¤¹¤ë¤È¤½¤Î»Ý¤Î¥á¥Ã¥»¡¼¥¸¤¬¤Ç¤ë¡¥", (char *)0 }; *************** *** 1698,1704 **** Sprintf(buf,"Set options as OPTIONS= in %s or in icon;",configfile); } else #endif ! Sprintf(buf, "Set options as OPTIONS= in %s;", configfile); opt_intro[CONFIG_SLOT] = (const char *) buf; for (i = 0; opt_intro[i]; i++) putstr(datawin, 0, opt_intro[i]); --- 1801,1808 ---- Sprintf(buf,"Set options as OPTIONS= in %s or in icon;",configfile); } else #endif ! /*JP Sprintf(buf, "Set options as OPTIONS= in %s;", configfile);*/ ! Sprintf(buf, "%s¥Õ¥¡¥¤¥ëÆâ¤Ç¡¤OPTIONS=¤Î¤è¤¦¤ËÀßÄꤹ¤ë¡¥", configfile); opt_intro[CONFIG_SLOT] = (const char *) buf; for (i = 0; opt_intro[i]; i++) putstr(datawin, 0, opt_intro[i]); *************** *** 1711,1717 **** next_opt(datawin, ""); /* Compound options */ ! putstr(datawin, 0, "Compound options:"); for (i = 0; compopt[i].name; i++) { Sprintf(buf2, "`%s'", compopt[i].name); Sprintf(buf, "%-20s - %s%c", buf2, compopt[i].descr, --- 1815,1822 ---- next_opt(datawin, ""); /* Compound options */ ! /*JP putstr(datawin, 0, "Compound options:");*/ ! putstr(datawin, 0, "¥Ñ¥é¥á¡¼¥¿¤Ä¤­¥ª¥×¥·¥ç¥ó:"); for (i = 0; compopt[i].name; i++) { Sprintf(buf2, "`%s'", compopt[i].name); Sprintf(buf, "%-20s - %s%c", buf2, compopt[i].descr, diff -c -r ../nethack-3.2.2/src/pager.c ./src/pager.c *** ../nethack-3.2.2/src/pager.c Fri Jun 21 02:25:18 1996 --- ./src/pager.c Tue Jul 22 23:18:31 1997 *************** *** 5,16 **** /* This file contains the command routines dowhatis() and dohelp() and */ /* a few other help related facilities */ #include "hack.h" #include "dlb.h" static boolean FDECL(is_swallow_sym, (int)); static int FDECL(append_str, (char *, const char *)); ! static void FDECL(lookat, (int, int, char *)); static void FDECL(checkfile, (char *, BOOLEAN_P)); static int FDECL(do_look, (BOOLEAN_P)); static boolean FDECL(help_menu, (int *)); --- 5,24 ---- /* This file contains the command routines dowhatis() and dohelp() and */ /* a few other help related facilities */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "dlb.h" static boolean FDECL(is_swallow_sym, (int)); static int FDECL(append_str, (char *, const char *)); ! /*JP static void FDECL(lookat, (int, int, char *));*/ ! static void FDECL(lookat, (int, int, char *, char *)); static void FDECL(checkfile, (char *, BOOLEAN_P)); static int FDECL(do_look, (BOOLEAN_P)); static boolean FDECL(help_menu, (int *)); *************** *** 44,50 **** if (strstri(buf, new_str)) return 0; space_left = BUFSZ - strlen(buf) - 1; ! (void) strncat(buf, " or ", space_left); (void) strncat(buf, new_str, space_left - 4); return 1; } --- 52,59 ---- if (strstri(buf, new_str)) return 0; space_left = BUFSZ - strlen(buf) - 1; ! /*JP (void) strncat(buf, " or ", space_left);*/ ! (void) strncat(buf, "¤Þ¤¿¤Ï", space_left); (void) strncat(buf, new_str, space_left - 4); return 1; } *************** *** 53,77 **** * Return the name of the glyph found at (x,y). */ static void ! lookat(x, y, buf) int x, y; char *buf; { register struct monst *mtmp; int glyph; buf[0] = 0; glyph = glyph_at(x,y); if (u.ux == x && u.uy == y && canseeself()) { ! Sprintf(buf, "%s%s called %s", Invis ? "invisible " : "", u.mtimedone ? mons[u.umonnum].mname : player_mon()->mname, ! plname); } else if (u.uswallow) { /* all locations when swallowed other than the hero are the monster */ ! Sprintf(buf, "interior of %s", ! Blind ? "a monster" : a_monnam(u.ustuck)); } else if (glyph_is_monster(glyph)) { bhitpos.x = x; --- 62,104 ---- * Return the name of the glyph found at (x,y). */ static void ! /*JP lookat(x, y, buf)*/ ! lookat(x, y, buf, buf2) int x, y; char *buf; + /*JP `buf2' is English name for search data file easily. */ + char *buf2; { register struct monst *mtmp; int glyph; + /*JP*/ + if(!query_lang_mode()) + (void)set_trns_mode(0); + buf[0] = 0; + buf2[0] = 0; glyph = glyph_at(x,y); if (u.ux == x && u.uy == y && canseeself()) { ! /*JP Sprintf(buf, "%s%s called %s", Invis ? "invisible " : "", u.mtimedone ? mons[u.umonnum].mname : player_mon()->mname, ! plname);*/ ! Sprintf(buf, "%s%s¤È¤¤¤¦Ì¾¤Î%s", ! Invis ? "»Ñ¤Î¸«¤¨¤Ê¤¤" : "", ! plname, ! u.mtimedone ? jtrns_mon(mons[u.umonnum].mname, flags.female) : ! jtrns_mon(player_mon()->mname, flags.female)); ! Strcpy(buf2, ! u.mtimedone ? mons[u.umonnum].mname : player_mon()->mname); } else if (u.uswallow) { /* all locations when swallowed other than the hero are the monster */ ! /*JP Sprintf(buf, "interior of %s", ! Blind ? "a monster" : a_monnam(u.ustuck));*/ ! Sprintf(buf, "%s¤ÎÆâÉô", ! Blind ? "²øʪ" : a_monnam(u.ustuck)); ! Strcpy(buf2, Blind ? "a monster" : a_monnam(u.ustuck)); } else if (glyph_is_monster(glyph)) { bhitpos.x = x; *************** *** 80,98 **** if(mtmp != (struct monst *) 0) { register boolean hp = (mtmp->data == &mons[PM_HIGH_PRIEST]); ! Sprintf(buf, "%s%s%s", (mtmp->mx != x || mtmp->my != y) ? ((mtmp->isshk && !Hallucination) ? "tail of " : "tail of a ") : "", (!hp && mtmp->mtame && !Hallucination) ? "tame " : (!hp && mtmp->mpeaceful && !Hallucination) ? "peaceful " : "", ! (hp ? "high priest" : l_monnam(mtmp))); if (u.ustuck == mtmp) Strcat(buf, (Upolyd && sticks(uasmon)) ? ! ", being held" : ", holding you"); if (mtmp->mleashed) ! Strcat(buf, ", leashed to you"); } } else if (glyph_is_object(glyph)) { --- 107,137 ---- if(mtmp != (struct monst *) 0) { register boolean hp = (mtmp->data == &mons[PM_HIGH_PRIEST]); ! /*JP Sprintf(buf, "%s%s%s", (mtmp->mx != x || mtmp->my != y) ? ((mtmp->isshk && !Hallucination) ? "tail of " : "tail of a ") : "", (!hp && mtmp->mtame && !Hallucination) ? "tame " : (!hp && mtmp->mpeaceful && !Hallucination) ? "peaceful " : "", ! (hp ? "high priest" : l_monnam(mtmp)));*/ ! Sprintf(buf, "%s%s%s", ! (!hp && mtmp->mtame && !Hallucination) ? "¼ê¤Ê¤º¤±¤é¤ì¤¿" : ! (!hp && mtmp->mpeaceful && !Hallucination) ? ! "ͧ¹¥Åª¤Ê" : "", ! (hp ? "¹âÁÎ" : l_monnam(mtmp)), ! (mtmp->mx != x || mtmp->my != y) ? ! ((mtmp->isshk && !Hallucination) ! ? "¤Î¿¬Èø" : "¤Î¿¬Èø") : ""); if (u.ustuck == mtmp) + /*JP Strcat(buf, (Upolyd && sticks(uasmon)) ? + ", being held" : ", holding you");*/ Strcat(buf, (Upolyd && sticks(uasmon)) ? ! "¡¤¤¢¤Ê¤¿¤¬ÄϤޤ¨¤Æ¤¤¤ë" : "¡¤¤¢¤Ê¤¿¤òÄϤޤ¨¤Æ¤¤¤ë"); if (mtmp->mleashed) ! /*JP Strcat(buf, ", leashed to you");*/ ! Strcat(buf, "¡¤É³¤Ç·ë¤Ð¤ì¤Æ¤¤¤ë"); ! Strcpy(buf2, mtmp->data->mname); } } else if (glyph_is_object(glyph)) { *************** *** 105,156 **** otmp->quan = 2L; /* to force pluralization */ else if (otmp->otyp == SLIME_MOLD) otmp->spe = current_fruit; /* give the fruit a type */ Strcpy(buf, distant_name(otmp, xname)); dealloc_obj(otmp); } ! } else Strcpy(buf, distant_name(otmp, xname)); if (levl[x][y].typ == STONE || levl[x][y].typ == SCORR) ! Strcat(buf, " embedded in stone"); else if (IS_WALL(levl[x][y].typ) || levl[x][y].typ == SDOOR) ! Strcat(buf, " embedded in a wall"); else if (closed_door(x,y)) ! Strcat(buf, " embedded in a door"); else if (is_pool(x,y)) ! Strcat(buf, " in water"); else if (is_lava(x,y)) ! Strcat(buf, " in molten lava"); /* [can this ever happen?] */ } else if (glyph_is_trap(glyph)) { int tnum = glyph_to_trap(glyph); ! Strcpy(buf, defsyms[ ! trap_to_defsym(Hallucination ? rn2(TRAPNUM-3)+3 : tnum)].explanation); } else if(!glyph_is_cmap(glyph)) ! Strcpy(buf,"dark part of a room"); else switch(glyph_to_cmap(glyph)) { case S_altar: if(!In_endgame(&u.uz)) ! Sprintf(buf, "%s altar", align_str(Amask2align(levl[x][y].altarmask & ~AM_SHRINE))); ! else Sprintf(buf, "aligned altar"); break; case S_ndoor: if (is_drawbridge_wall(x, y) >= 0) ! Strcpy(buf,"open drawbridge portcullis"); else if ((levl[x][y].doormask & ~D_TRAPPED) == D_BROKEN) ! Strcpy(buf,"broken door"); else ! Strcpy(buf,"doorway"); break; case S_cloud: ! Strcpy(buf, Is_airlevel(&u.uz) ? "cloudy area" : "fog/vapor cloud"); break; default: ! Strcpy(buf,defsyms[glyph_to_cmap(glyph)].explanation); break; } } /* --- 144,219 ---- otmp->quan = 2L; /* to force pluralization */ else if (otmp->otyp == SLIME_MOLD) otmp->spe = current_fruit; /* give the fruit a type */ + /*JP*/ Strcpy(buf, distant_name(otmp, xname)); + set_trns_mode(0); /* English mode */ + Strcpy(buf2, distant_name(otmp, xname)); /* English name */ + set_trns_mode(query_lang_mode()); /* reset trns mode */ dealloc_obj(otmp); } ! } else { Strcpy(buf, distant_name(otmp, xname)); + set_trns_mode(0); /* English mode */ + Strcpy(buf2, distant_name(otmp, xname)); /* English name */ + set_trns_mode(query_lang_mode()); /* reset trns mode */ + } if (levl[x][y].typ == STONE || levl[x][y].typ == SCORR) ! /*JP Strcat(buf, " embedded in stone");*/ ! Strcat(buf, "¡¤´ä¤ËËä¤á¤³¤Þ¤ì¤Æ¤¤¤ë"); else if (IS_WALL(levl[x][y].typ) || levl[x][y].typ == SDOOR) ! /*JP Strcat(buf, " embedded in a wall");*/ ! Strcat(buf, "¡¤ÊɤËËä¤á¤³¤Þ¤ì¤Æ¤¤¤ë"); else if (closed_door(x,y)) ! /*JP Strcat(buf, " embedded in a door");*/ ! Strcat(buf, "¡¤Èâ¤ËËä¤á¤³¤Þ¤ì¤Æ¤¤¤ë"); else if (is_pool(x,y)) ! /*JP Strcat(buf, " in water");*/ ! Strcat(buf, "¡¤¿åÃæ¤Ë¤¤¤ë"); else if (is_lava(x,y)) ! /*JP Strcat(buf, " in molten lava"); /* [can this ever happen?] */ ! Strcat(buf, "¡¤ÍÏ´ä¤ÎÃæ¤Ë¤¤¤ë"); /* [can this ever happen?] */ } else if (glyph_is_trap(glyph)) { int tnum = glyph_to_trap(glyph); ! Strcpy(buf, jtrns_obj('^', defsyms[ ! trap_to_defsym(Hallucination ? rn2(TRAPNUM-3)+3 : tnum)].explanation)); } else if(!glyph_is_cmap(glyph)) ! /*JP Strcpy(buf,"dark part of a room");*/ ! Strcpy(buf,"Éô²°¤Î°Å¤¤Éôʬ"); else switch(glyph_to_cmap(glyph)) { case S_altar: if(!In_endgame(&u.uz)) ! /*JP Sprintf(buf, "%s altar", ! align_str(Amask2align(levl[x][y].altarmask & ~AM_SHRINE)));*/ ! Sprintf(buf, "%s¤Îº×ÃÅ", align_str(Amask2align(levl[x][y].altarmask & ~AM_SHRINE))); ! /*JP else Sprintf(buf, "aligned altar");*/ ! else Sprintf(buf, "°À­¤Îº×ÃÅ"); break; case S_ndoor: if (is_drawbridge_wall(x, y) >= 0) ! /*JP Strcpy(buf,"open drawbridge portcullis");*/ ! Strcpy(buf,"¹ß¤ê¤Æ¤¤¤ëÄ·¤Í¶¶"); else if ((levl[x][y].doormask & ~D_TRAPPED) == D_BROKEN) ! /*JP Strcpy(buf,"broken door");*/ ! Strcpy(buf,"²õ¤ì¤¿Èâ"); else ! /*JP Strcpy(buf,"doorway");*/ ! Strcpy(buf,"ÄÌÏ©"); break; case S_cloud: ! /*JP Strcpy(buf, Is_airlevel(&u.uz) ? "cloudy area" : "fog/vapor cloud");*/ ! Strcpy(buf, Is_airlevel(&u.uz) ? "ÆޤäƤ¤¤ë¾ì½ê" : "̸/¾øµ¤¤Î±À"); break; default: ! /*JP Strcpy(buf,defsyms[glyph_to_cmap(glyph)].explanation);*/ ! Strcpy(buf, jtrns_obj('S', defsyms[glyph_to_cmap(glyph)].explanation)); break; } + /*JP*/ + set_trns_mode(1); } /* *************** *** 277,283 **** return; } ! if (user_typed_name || yn("More info?") == 'y') { winid datawin; if (dlb_fseek(fp, txt_offset + entry_offset, SEEK_SET) < 0) { --- 340,347 ---- return; } ! /*JP if (user_typed_name || yn("More info?") == 'y') {*/ ! if (user_typed_name || yn("¾ÜºÙ¤ò¸«¤ë¡©") == 'y') { winid datawin; if (dlb_fseek(fp, txt_offset + entry_offset, SEEK_SET) < 0) { *************** *** 296,302 **** destroy_nhwindow(datawin); } } else if (user_typed_name) ! pline("I don't have any information on those things."); (void) dlb_fclose(fp); } --- 360,367 ---- destroy_nhwindow(datawin); } } else if (user_typed_name) ! /*JP pline("I don't have any information on those things.");*/ ! pline("¤½¤ó¤Ê̾Á°¤Ïʹ¤¤¤¿¤³¤È¤¬¤Ê¤¤¡¥"); (void) dlb_fclose(fp); } *************** *** 306,312 **** --- 371,381 ---- boolean quick; /* use cursor && don't search for "more info" */ { char out_str[BUFSZ], look_buf[BUFSZ]; + /*JP*/ + char look_buf2[BUFSZ]; const char *x_str, *firstmatch = 0; + /*JP*/ + const char *firstmatch2 = 0; int i; int sym; /* typed symbol or converted glyph */ int found; /* count of matching syms found */ *************** *** 316,327 **** boolean need_to_look; /* need to get explan. from glyph */ boolean hit_trap; /* true if found trap explanation */ int skipped_venom = 0; /* non-zero if we ignored "splash of venom" */ ! static const char *mon_interior = "the interior of a monster"; if (quick) { from_screen = TRUE; /* yes, we want to use the cursor */ } else { ! i = ynq("Specify unknown object by cursor?"); if (i == 'q') return 0; from_screen = (i == 'y'); } --- 385,398 ---- boolean need_to_look; /* need to get explan. from glyph */ boolean hit_trap; /* true if found trap explanation */ int skipped_venom = 0; /* non-zero if we ignored "splash of venom" */ ! /*JP static const char *mon_interior = "the interior of a monster";*/ ! static const char *mon_interior = "²øʪ¤ÎÆâÉô"; if (quick) { from_screen = TRUE; /* yes, we want to use the cursor */ } else { ! /*JP i = ynq("Specify unknown object by cursor?");*/ ! i = ynq("¥«¡¼¥½¥ë¤ÇʪÂΤò»ØÄꤹ¤ë¡©"); if (i == 'q') return 0; from_screen = (i == 'y'); } *************** *** 331,337 **** cc.y = u.uy; sym = 0; /* gcc -Wall lint */ } else { ! getlin("Specify what? (type the word)", out_str); if (out_str[0] == '\0' || out_str[0] == '\033') return 0; --- 402,409 ---- cc.y = u.uy; sym = 0; /* gcc -Wall lint */ } else { ! /*JP getlin("Specify what? (type the word)", out_str);*/ ! getlin("²¿¤òÄ´¤Ù¤ë¡©(ʸ»ú¤òÆþ¤ì¤Æ¤Í)", out_str); if (out_str[0] == '\0' || out_str[0] == '\033') return 0; *************** *** 358,368 **** int glyph; /* glyph at selected position */ if (flags.verbose) ! pline("Please move the cursor to an unknown object."); else ! pline("Pick an object."); ! getpos(&cc, FALSE, "an unknown object"); if (cc.x < 0) { flags.verbose = save_verbose; return 0; /* done */ --- 430,443 ---- int glyph; /* glyph at selected position */ if (flags.verbose) ! /*JP pline("Please move the cursor to an unknown object.");*/ ! pline("¥«¡¼¥½¥ë¤òʪÂΤ˰ÜÆ°¤·¤Æ¤¯¤À¤µ¤¤¡¥"); else ! /*JP pline("Pick an object.");*/ ! pline("ʪÂΤò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡¥"); ! /*JP getpos(&cc, FALSE, "an unknown object");*/ ! getpos(&cc, FALSE, "ʪÂÎ"); if (cc.x < 0) { flags.verbose = save_verbose; return 0; /* done */ *************** *** 398,408 **** if (sym == (from_screen ? monsyms[i] : def_monsyms[i])) { need_to_look = TRUE; if (!found) { ! Sprintf(out_str, "%c %s", sym, an(monexplain[i])); ! firstmatch = monexplain[i]; found++; } else { ! found += append_str(out_str, an(monexplain[i])); } } } --- 473,487 ---- if (sym == (from_screen ? monsyms[i] : def_monsyms[i])) { need_to_look = TRUE; if (!found) { ! /*JP Sprintf(out_str, "%c %s", sym, an(monexplain[i]));*/ ! Sprintf(out_str, "%c %s", sym, jtrns_obj('S', monexplain[i])); ! /*JP firstmatch = monexplain[i];*/ ! firstmatch = jtrns_obj('S',monexplain[i]); ! firstmatch2 = monexplain[i]; found++; } else { ! /*JP found += append_str(out_str, an(monexplain[i]));*/ ! found += append_str(out_str, jtrns_obj('S',monexplain[i])); } } } *************** *** 416,421 **** --- 495,501 ---- if (!found) { Sprintf(out_str, "%c %s", sym, mon_interior); firstmatch = mon_interior; + firstmatch2 = "the interior of a monster"; } else { found += append_str(out_str, mon_interior); } *************** *** 431,441 **** continue; } if (!found) { ! Sprintf(out_str, "%c %s", sym, an(objexplain[i])); ! firstmatch = objexplain[i]; found++; } else { ! found += append_str(out_str, an(objexplain[i])); } } } --- 511,525 ---- continue; } if (!found) { ! /*JP Sprintf(out_str, "%c %s", sym, an(objexplain[i]));*/ ! Sprintf(out_str, "%c %s", sym, jtrns_obj('S',objexplain[i])); ! /*JP firstmatch = objexplain[i];*/ ! firstmatch = jtrns_obj('S',objexplain[i]); ! firstmatch2 = objexplain[i]; found++; } else { ! /*JP found += append_str(out_str, an(objexplain[i]));*/ ! found += append_str(out_str, jtrns_obj('S',objexplain[i])); } } } *************** *** 454,473 **** if (!found) { if (is_cmap_trap(i)) { ! Sprintf(out_str, "%c a trap", sym); hit_trap = TRUE; } else { ! Sprintf(out_str, "%c %s", sym, article == 2 ? the(x_str) : ! article == 1 ? an(x_str) : x_str); } ! firstmatch = x_str; found++; } else if (!u.uswallow && !(hit_trap && is_cmap_trap(i)) && !(found >= 3 && is_cmap_drawbridge(i))) { ! found += append_str(out_str, article == 2 ? the(x_str) : ! article == 1 ? an(x_str) : x_str); if (is_cmap_trap(i)) hit_trap = TRUE; } --- 538,562 ---- if (!found) { if (is_cmap_trap(i)) { ! /*JP Sprintf(out_str, "%c a trap", sym);*/ ! Sprintf(out_str, "%c æ«", sym); hit_trap = TRUE; } else { ! /*JP Sprintf(out_str, "%c %s", sym, article == 2 ? the(x_str) : ! article == 1 ? an(x_str) : x_str);*/ ! Sprintf(out_str, "%c %s", sym, ! jtrns_obj('S', x_str)); } ! firstmatch = jtrns_obj('S', x_str); ! firstmatch2 = x_str; found++; } else if (!u.uswallow && !(hit_trap && is_cmap_trap(i)) && !(found >= 3 && is_cmap_drawbridge(i))) { ! /*JP found += append_str(out_str, article == 2 ? the(x_str) : ! article == 1 ? an(x_str) : x_str);*/ ! found += append_str(out_str, jtrns_obj('S', x_str)); if (is_cmap_trap(i)) hit_trap = TRUE; } *************** *** 480,490 **** if (skipped_venom && found < 2) { x_str = objexplain[VENOM_CLASS]; if (!found) { ! Sprintf(out_str, "%c %s", sym, an(x_str)); ! firstmatch = x_str; found++; } else { ! found += append_str(out_str, an(x_str)); } } --- 569,583 ---- if (skipped_venom && found < 2) { x_str = objexplain[VENOM_CLASS]; if (!found) { ! /*JP Sprintf(out_str, "%c %s", sym, an(x_str)); ! firstmatch = x_str;*/ ! Sprintf(out_str, "%c %s", sym, jtrns_obj('S', (x_str))); ! firstmatch = jtrns_obj('S', x_str); ! firstmatch2 = x_str; found++; } else { ! /*JP found += append_str(out_str, an(x_str));*/ ! found += append_str(out_str, jtrns_obj('S', x_str)); } } *************** *** 494,501 **** */ if (from_screen) { if (found > 1 || need_to_look) { ! lookat(cc.x, cc.y, look_buf); firstmatch = look_buf; if (*firstmatch) { char temp_buf[BUFSZ]; Sprintf(temp_buf, " (%s)", firstmatch); --- 587,596 ---- */ if (from_screen) { if (found > 1 || need_to_look) { ! /*JP lookat(cc.x, cc.y, look_buf);*/ ! lookat(cc.x, cc.y, look_buf, look_buf2); firstmatch = look_buf; + firstmatch2 = look_buf2; if (*firstmatch) { char temp_buf[BUFSZ]; Sprintf(temp_buf, " (%s)", firstmatch); *************** *** 511,521 **** /* check the data file for information about this thing */ if (found == 1 && !quick && flags.help) { char temp_buf[BUFSZ]; ! Strcpy(temp_buf, firstmatch); checkfile(temp_buf, FALSE); } } else { ! pline("I've never heard of such things."); } } while (from_screen && !quick); --- 606,618 ---- /* check the data file for information about this thing */ if (found == 1 && !quick && flags.help) { char temp_buf[BUFSZ]; ! /*JP Strcpy(temp_buf, firstmatch);*/ ! Strcpy(temp_buf, firstmatch2); checkfile(temp_buf, FALSE); } } else { ! /*JP pline("I've never heard of such things.");*/ ! pline("¤½¤ó¤Ê̾Á°¤Ïʹ¤¤¤¿¤³¤È¤¬¤Ê¤¤¡¥"); } } while (from_screen && !quick); *************** *** 555,571 **** tt == ROCKTRAP) break; } if (Hallucination) tt = rn1(TRAPNUM-3, 3); ! pline("That is %s%s%s.", an(defsyms[trap_to_defsym(tt)].explanation), !trap->madeby_u ? "" : (tt == WEB) ? " woven" : /* trap doors & spiked pits can't be made by player, and should be considered at least ! as much "set" as "dug" anyway */ (tt == HOLE || tt == PIT) ? " dug" : " set", ! !trap->madeby_u ? "" : " by you"); return 0; } ! pline("I can't see a trap there."); return 0; } --- 652,673 ---- tt == ROCKTRAP) break; } if (Hallucination) tt = rn1(TRAPNUM-3, 3); ! /*JP pline("That is %s%s%s.", an(defsyms[trap_to_defsym(tt)].explanation), !trap->madeby_u ? "" : (tt == WEB) ? " woven" : /* trap doors & spiked pits can't be made by player, and should be considered at least ! as much "set" as "dug" anyway * (tt == HOLE || tt == PIT) ? " dug" : " set", ! !trap->madeby_u ? "" : " by you");*/ ! pline("¤½¤ì¤Ï%s%s¤À¡¥", ! !trap->madeby_u ? "" : (tt == WEB) ? "¤¢¤Ê¤¿¤¬Ä¥¤Ã¤¿" : ! (tt == HOLE || tt == PIT) ? "¤¢¤Ê¤¿¤¬·¡¤Ã¤¿" : "¤¢¤Ê¤¿¤¬»Å³Ý¤±¤¿", ! jtrns_obj('^', defsyms[trap_to_defsym(tt)].explanation)); return 0; } ! /*JP pline("I can't see a trap there.");*/ ! pline("¤½¤³¤Ë¤Ï櫤Ϥʤ¤¡¥"); return 0; } *************** *** 585,591 **** #if defined(UNIX) || defined(VMS) introff(); #endif ! q = yn_function("What command?", (char *)0, '\0'); #if defined(UNIX) || defined(VMS) intron(); #endif --- 687,694 ---- #if defined(UNIX) || defined(VMS) introff(); #endif ! /*JP q = yn_function("What command?", (char *)0, '\0');*/ ! q = yn_function("¤É¤¦¤¤¤¦¥³¥Þ¥ó¥É¡©", (char *)0, '\0'); #if defined(UNIX) || defined(VMS) intron(); #endif *************** *** 614,626 **** (void) dlb_fclose(fp); return 0; } ! pline("I've never heard of such commands."); (void) dlb_fclose(fp); return 0; } /* data for help_menu() */ static const char *help_menu_items[] = { /* 0*/ "Long description of the game and commands.", /* 1*/ "List of game commands.", /* 2*/ "Concise history of NetHack.", --- 717,731 ---- (void) dlb_fclose(fp); return 0; } ! /*JP pline("I've never heard of such commands.");*/ ! pline("¤½¤ó¤Ê¥³¥Þ¥ó¥É¤ÏÃΤé¤Ê¤¤¡¥"); (void) dlb_fclose(fp); return 0; } /* data for help_menu() */ static const char *help_menu_items[] = { + #if 0 /*JP*/ /* 0*/ "Long description of the game and commands.", /* 1*/ "List of game commands.", /* 2*/ "Concise history of NetHack.", *************** *** 640,645 **** --- 745,772 ---- #ifdef WIZARD "List of wizard-mode commands.", #endif + #endif + /* 0*/ "¥²¡¼¥à¤ª¤è¤Ó¥³¥Þ¥ó¥É¤Î²òÀâ¡¥(Ĺʸ)", + /* 1*/ "¥³¥Þ¥ó¥É°ìÍ÷¡¥", + /* 2*/ "NetHack¤Î´Êñ¤ÊÎò»Ë¡¥", + /* "JNetHack¤Î´Êñ¤ÊÎò»Ë¡¥",*/ + /* 3*/ "²èÌ̤Ëɽ¼¨¤µ¤ì¤ëʸ»ú¤ÎÀâÌÀ¡¥", + /* 4*/ "¤³¤Î¥­¡¼¤¬²¿¤ò°ÕÌ£¤¹¤ë¤«¤ÎÀâÌÀ¡¥", + /* 5*/ "¥²¡¼¥à¤Î¥ª¥×¥·¥ç¥ó°ìÍ÷¡¥", + /* 6*/ "¥²¡¼¥à¤Î¥ª¥×¥·¥ç¥ó°ìÍ÷¡¥(Ĺʸ)", + /* 7*/ "³ÈÄ¥¥³¥Þ¥ó¥É°ìÍ÷¡¥", + /* 8*/ "NetHack¤Î¥é¥¤¥»¥ó¥¹¡¥", + /* 9*/ "±Ñ̾-ÏÂ̾¤Îɽ¡¥", + #ifdef PORT_HELP + "%s¤ËʬÎव¤ì¤ë¥Ø¥ë¥×¤ª¤è¤Ó¥³¥Þ¥ó¥É¡¥", + #define PORT_HELP_ID 100 + #define WIZHLP_SLOT 11 + #else + #define WIZHLP_SLOT 10 + #endif + #ifdef WIZARD + "¥¦¥£¥¶¡¼¥É¥â¡¼¥É¤Î¥³¥Þ¥ó¥É°ìÍ÷¡¥", + #endif "", (char *)0 }; *************** *** 677,683 **** add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, help_menu_items[i], MENU_UNSELECTED); } ! end_menu(tmpwin, "Select one item:"); n = select_menu(tmpwin, PICK_ONE, &selected); destroy_nhwindow(tmpwin); if (n > 0) { --- 804,811 ---- add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, help_menu_items[i], MENU_UNSELECTED); } ! /*JP end_menu(tmpwin, "Select one item:");*/ ! end_menu(tmpwin, "Áª¤ó¤Ç¤¯¤À¤µ¤¤¡§"); n = select_menu(tmpwin, PICK_ONE, &selected); destroy_nhwindow(tmpwin); if (n > 0) { *************** *** 704,709 **** --- 832,839 ---- case 6: display_file(OPTIONFILE, TRUE); break; case 7: (void) doextlist(); break; case 8: display_file(LICENSE, TRUE); break; + /*JP*/ + case 9: display_file(JJJ, TRUE); break; #ifdef WIZARD /* handle slot 9 or 10 */ default: display_file(DEBUGHELP, TRUE); break; diff -c -r ../nethack-3.2.2/src/pickup.c ./src/pickup.c *** ../nethack-3.2.2/src/pickup.c Sat Dec 28 21:53:47 1996 --- ./src/pickup.c Tue Sep 23 07:10:10 1997 *************** *** 3,8 **** --- 3,15 ---- /* NetHack may be freely redistributed. See license for details. */ /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + + /* * Contains code for picking objects up, and container use. */ *************** *** 45,53 **** --- 52,66 ---- /* if you can figure this out, give yourself a hearty pat on the back... */ #define GOLD_CAPACITY(w,n) (((w) * -100L) - ((n) + 50L) - 1L) + #if 0 /*JP*/ static const char moderateloadmsg[] = "You have a little trouble lifting"; static const char nearloadmsg[] = "You have much trouble lifting"; static const char overloadmsg[] = "You have extreme difficulty lifting"; + #endif + + static const char moderateloadmsg[] = "¤ò»ý¤Ã¤¿¤é¾¯¤·¤Õ¤é¤Ä¤¤¤¿¡¥"; + static const char nearloadmsg[] = "¤Ï¤º¤Ã¤·¤ê¤È¸ª¤Ë¤Î¤·¤«¤«¤Ã¤¿¡¥"; + static const char overloadmsg[] = "¤ò»ý¤Á¤¢¤²¤ë¤Î¤Ï¤È¤Æ¤â¤Ä¤é¤¤¡¥"; /* BUG: this lets you look at cockatrice corpses while blind without touching them */ *************** *** 154,161 **** --- 167,178 ---- oclasses[oclassct = 0] = '\0'; *one_at_a_time = *everything = FALSE; not_everything = FALSE; + /*JP Sprintf(qbuf,"What kinds of thing do you want to %s? [%s]", action, ilets); + */ + Sprintf(qbuf,"¤É¤Î¼ïÎà¤Î¤â¤Î¤ò%s¤«¡©[%s]", + jconj(action,"¤Þ¤¹"), ilets); getlin(qbuf,inbuf); if (*inbuf == '\033') return FALSE; *************** *** 179,184 **** --- 196,202 ---- oclasses[oclassct++] = oc_of_sym; oclasses[oclassct] = '\0'; } else { + #if 0 /*JP*/ if (!where) where = !strcmp(action,"pick up") ? "here" : !strcmp(action,"take out") ? *************** *** 187,192 **** --- 205,219 ---- pline("There are no %c's %s.", sym, where); else You("have no %c's.", sym); + #endif /*JP*/ + if (!where) + where = (!strcmp(action,"pick up")||!strcmp(action,"½¦¤¦")) ? "¤³¤³" : + (!strcmp(action,"take out")||!strcmp(action,"¼è¤ê½Ð¤¹")) ? + "¤ÎÃæ" : ""; + if (*where) + pline("%c¤Ï%s¤Ë¤Ê¤¤¡¥", sym, where); + else + You("%c¤Ï»ý¤Ã¤Æ¤¤¤Ê¤¤¡¥", sym); not_everything = TRUE; } } *************** *** 227,234 **** --- 254,265 ---- (void) dolook(); } else { read_engr_at(u.ux,u.uy); + /*JP pline("There are several %sobjects here.", picked_some ? "more " : ""); + */ + pline("¤³¤³¤Ë¤Ï%s¤¤¤¯¤Ä¤«¤â¤Î¤¬¤¢¤ë¡¥", + picked_some ? "¤µ¤é¤Ë" : ""); } } else { read_engr_at(u.ux,u.uy); *************** *** 379,385 **** if (count) { /* looking for N of something */ char buf[QBUFSZ]; ! Sprintf(buf, "Pick %d of what?", count); val_for_n_or_more = count; /* set up callback selector */ n = query_objlist(buf, level.objects[u.ux][u.uy], BY_NEXTHERE|AUTOSELECT_SINGLE|INVORDER_SORT, --- 410,417 ---- if (count) { /* looking for N of something */ char buf[QBUFSZ]; ! /*JP Sprintf(buf, "Pick %d of what?", count);*/ ! Sprintf(buf, "²¿¤ò%d¸Ä½¦¤¤¤Þ¤¹¤«¡©", count); val_for_n_or_more = count; /* set up callback selector */ n = query_objlist(buf, level.objects[u.ux][u.uy], BY_NEXTHERE|AUTOSELECT_SINGLE|INVORDER_SORT, *************** *** 388,394 **** for (i = 0; i < n; i++) pick_list[i].count = count; } else { ! n = query_objlist("Pick up what?", level.objects[u.ux][u.uy], BY_NEXTHERE|AUTOSELECT_SINGLE|INVORDER_SORT, &pick_list, PICK_ANY, all_but_uchain); } --- 420,427 ---- for (i = 0; i < n; i++) pick_list[i].count = count; } else { ! /*JP n = query_objlist("Pick up what?", level.objects[u.ux][u.uy],*/ ! n = query_objlist("²¿¤ò½¦¤¤¤Þ¤¹¤«¡©", level.objects[u.ux][u.uy], BY_NEXTHERE|AUTOSELECT_SINGLE|INVORDER_SORT, &pick_list, PICK_ANY, all_but_uchain); } *************** *** 428,439 **** } else if (ct >= 2) { int via_menu = 0; ! pline("There are several objects here."); if (!query_classes(oclasses, &selective, &all_of_a_type, ! "pick up", level.objects[u.ux][u.uy], TRUE, FALSE, &via_menu)) { if (!via_menu) return; ! n = query_objlist("Pick up what?", level.objects[u.ux][u.uy], BY_NEXTHERE|(selective ? 0 : INVORDER_SORT), &pick_list, PICK_ANY, --- 461,475 ---- } else if (ct >= 2) { int via_menu = 0; ! /*JP pline("There are several objects here.");*/ ! pline("¤³¤³¤Ë¤Ï¤¤¤¯¤Ä¤«¤â¤Î¤¬¤¢¤ë¡¥"); if (!query_classes(oclasses, &selective, &all_of_a_type, ! /*JP "pick up", level.objects[u.ux][u.uy],*/ ! "½¦¤¦", level.objects[u.ux][u.uy], TRUE, FALSE, &via_menu)) { if (!via_menu) return; ! /*JP n = query_objlist("Pick up what?",*/ ! n = query_objlist("²¿¤ò½¦¤¤¤Þ¤¹¤«¡©", level.objects[u.ux][u.uy], BY_NEXTHERE|(selective ? 0 : INVORDER_SORT), &pick_list, PICK_ANY, *************** *** 451,457 **** if (!all_of_a_type) { char qbuf[QBUFSZ]; ! Sprintf(qbuf, "Pick up %s?", doname(obj)); switch ((obj->quan < 2L) ? ynaq(qbuf) : ynNaq(qbuf)) { case 'q': goto end_query; /* out 2 levels */ case 'n': continue; --- 487,494 ---- if (!all_of_a_type) { char qbuf[QBUFSZ]; ! /*JP Sprintf(qbuf, "Pick up %s?", doname(obj));*/ ! Sprintf(qbuf, "%s¤ò½¦¤¤¤Þ¤¹¤«¡©", doname(obj)); switch ((obj->quan < 2L) ? ynaq(qbuf) : ynNaq(qbuf)) { case 'q': goto end_query; /* out 2 levels */ case 'n': continue; *************** *** 682,688 **** any.a_void = 0; any.a_int = ALL_TYPES_SELECTED; add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE, ! (qflags & WORN_TYPES) ? "All worn types" : "All types", MENU_UNSELECTED); invlet = 'b'; } else --- 719,726 ---- any.a_void = 0; any.a_int = ALL_TYPES_SELECTED; add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE, ! /*JP (qflags & WORN_TYPES) ? "All worn types" : "All types",*/ ! (qflags & WORN_TYPES) ? "¿È¤Ë¤Ä¤±¤ë¤â¤ÎÁ´¤Æ" : "Á´¤Æ", MENU_UNSELECTED); invlet = 'b'; } else *************** *** 717,723 **** any.a_void = 0; any.a_int = 'u'; add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE, ! "Unpaid items", MENU_UNSELECTED); } /* billed items: checked by caller, so always include if BILLED_TYPES */ if (qflags & BILLED_TYPES) { --- 755,762 ---- any.a_void = 0; any.a_int = 'u'; add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE, ! /*JP "Unpaid items", MENU_UNSELECTED);*/ ! "̤ʧ¤ÎÆ»¶ñ", MENU_UNSELECTED); } /* billed items: checked by caller, so always include if BILLED_TYPES */ if (qflags & BILLED_TYPES) { *************** *** 725,731 **** any.a_void = 0; any.a_int = 'x'; add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE, ! "Unpaid items already used up", MENU_UNSELECTED); } if (qflags & CHOOSE_ALL) { invlet = 'A'; --- 764,771 ---- any.a_void = 0; any.a_int = 'x'; add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE, ! /*JP "Unpaid items already used up", MENU_UNSELECTED);*/ ! "̤ʧ¤Ç»È¤Ã¤Æ¤·¤Þ¤Ã¤¿Æ»¶ñ", MENU_UNSELECTED); } if (qflags & CHOOSE_ALL) { invlet = 'A'; *************** *** 733,740 **** --- 773,784 ---- any.a_int = 'A'; add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE, (qflags & WORN_TYPES) ? + /*JP "Auto-select every item being worn" : "Auto-select every item", MENU_UNSELECTED); + */ + "¿È¤Ë¤Ä¤±¤é¤ì¤ëʪÁ´¤Æ" : + "Á´¤Æ", MENU_UNSELECTED); } end_menu(win, qstr); n = select_menu(win, how, pick_list); *************** *** 786,792 **** int wt, iw, ow, oow; long qq, savequan; unsigned saveowt; ! const char *verb, *prefx1, *prefx2, *suffx; char obj_nambuf[BUFSZ], where[BUFSZ]; savequan = obj->quan; --- 830,836 ---- int wt, iw, ow, oow; long qq, savequan; unsigned saveowt; ! const char *verb, *prefx1;/*JP, *prefx2, *suffx;*/ char obj_nambuf[BUFSZ], where[BUFSZ]; savequan = obj->quan; *************** *** 865,875 **** /* some message will be given */ Strcpy(obj_nambuf, doname(obj)); if (container) { ! Sprintf(where, "in %s", the(xname(container))); ! verb = "carry"; } else { ! Strcpy(where, "lying here"); ! verb = telekinesis ? "acquire" : "lift"; } } else { /* lint supppression */ --- 909,923 ---- /* some message will be given */ Strcpy(obj_nambuf, doname(obj)); if (container) { ! /*JP Sprintf(where, "in %s", the(xname(container)));*/ ! Sprintf(where, "%s¤ÎÃæ¤ËÆþ¤Ã¤Æ¤¤¤ë", the(xname(container))); ! /*JP verb = "carry";*/ ! verb = "±¿¤Ù¤Ê¤¤"; } else { ! /*JP Strcpy(where, "lying here");*/ ! Strcpy(where, "¤³¤³¤ËÃÖ¤¤¤Æ¤¢¤ë"); ! /*JP verb = telekinesis ? "acquire" : "lift";*/ ! verb = telekinesis ? "³ÍÆÀ¤Ç¤­¤Ê¤¤" : "»ý¤Á¤¢¤²¤é¤ì¤Ê¤¤"; } } else { /* lint supppression */ *************** *** 879,903 **** /* we can carry qq of them */ if (qq > 0) { if (qq < count) You("can only %s %s of the %s %s.", verb, (qq == 1L) ? "one" : "some", obj_nambuf, where); *wt_after = wt; return qq; } ! if (!container) Strcpy(where, "here"); /* slightly shorter form */ if (invent || u.ugold) { prefx1 = "you cannot "; prefx2 = ""; suffx = " any more"; } else { prefx1 = (obj->quan == 1L) ? "it " : "even one "; prefx2 = "is too heavy for you to "; suffx = ""; } pline("There %s %s %s, but %s%s%s%s.", (obj->quan == 1L) ? "is" : "are", obj_nambuf, where, prefx1, prefx2, verb, suffx); /* *wt_after = iw; */ return 0L; --- 927,966 ---- /* we can carry qq of them */ if (qq > 0) { if (qq < count) + /*JP You("can only %s %s of the %s %s.", verb, (qq == 1L) ? "one" : "some", obj_nambuf, where); + */ + You("%s%s¤Î¤¦¤Á¤Î%s¤·¤«%s¤Ç¤­¤Ê¤¤¡¥", + where, obj_nambuf, (qq == 1L) ? "£±¤Ä" : "¤¤¤¯¤Ä¤«", verb); *wt_after = wt; return qq; } ! /*JP if (!container) Strcpy(where, "here"); /* slightly shorter form */ ! if (!container) Strcpy(where, "¤³¤³¤Ë¤Ï"); /* slightly shorter form */ if (invent || u.ugold) { + /*JP prefx1 = "you cannot "; prefx2 = ""; suffx = " any more"; + */ + prefx1 = "¤³¤ì°Ê¾å"; } else { + /*JP prefx1 = (obj->quan == 1L) ? "it " : "even one "; prefx2 = "is too heavy for you to "; suffx = ""; + */ + prefx1 = "½Å¤¹¤®¤Æ"; } + /*JP pline("There %s %s %s, but %s%s%s%s.", (obj->quan == 1L) ? "is" : "are", obj_nambuf, where, prefx1, prefx2, verb, suffx); + */ + pline("%s%s¤¬¤¢¤ë¡¤¤·¤«¤·%s¡¥", + where, obj_nambuf, verb); /* *wt_after = iw; */ return 0L; *************** *** 921,927 **** result = -1; /* nothing lifted */ } else if (obj->oclass != GOLD_CLASS && inv_cnt() >= 52 && !merge_choice(invent, obj)) { ! Your("knapsack cannot accommodate any more items."); result = -1; /* nothing lifted */ } else { result = 1; --- 984,991 ---- result = -1; /* nothing lifted */ } else if (obj->oclass != GOLD_CLASS && inv_cnt() >= 52 && !merge_choice(invent, obj)) { ! /*JP Your("knapsack cannot accommodate any more items.");*/ ! Your("¥Ê¥Ã¥×¥¶¥Ã¥¯¤Ï¤³¤ì°Ê¾å¥¢¥¤¥Æ¥à¤òµÍ¤á¹þ¤á¤Ê¤¤¡¥"); result = -1; /* nothing lifted */ } else { result = 1; *************** *** 936,944 **** --- 1000,1014 ---- long savequan = obj->quan; obj->quan = *cnt_p; + /*JP Sprintf(qbuf, "%s %s. Continue?", next_encumbr==HVY_ENCUMBER ? nearloadmsg : overloadmsg, doname(obj)); + */ + Sprintf(qbuf, "%s%s¡¥Â³¤±¤Þ¤¹¤«¡©", + doname(obj), + next_encumbr==HVY_ENCUMBER ? nearloadmsg : overloadmsg); + obj->quan = savequan; switch (ynq(qbuf)) { case 'q': result = -1; break; *************** *** 987,1012 **** --- 1057,1101 ---- long gold_capacity = GOLD_CAPACITY(iw, u.ugold); if (gold_capacity <= 0L) { + /*JP pline("There %s %ld gold piece%s here, but you cannot carry any more.", (obj->quan == 1L) ? "is" : "are", obj->quan, plur(obj->quan)); + */ + pline("¤³¤³¤Ë¤Ï%ld¸Ä¤Î¶â²ô¤¬¤¢¤ë, ¤·¤«¤·¤³¤ì°Ê¾å»ý¤Æ¤Ê¤¤¡¥", + obj->quan); return 0; } else if (gold_capacity < count) { + /*JP You("can only %s %s of the %ld gold pieces lying here.", telekinesis ? "acquire" : "carry", gold_capacity == 1L ? "one" : "some", obj->quan); + */ + You("%ld¸Ä¤Î¶â²ô¤Î%s¤·¤«%s¡¥", + obj->quan, gold_capacity == 1L ? "¤Ò¤È¤Ä" : "°ìÉô", + telekinesis ? "³ÍÆÀ¤Ç¤­¤Ê¤¤" : "±¿¤Ù¤Ê¤¤"); + /*JP pline("%s %ld gold piece%s.", nearloadmsg, gold_capacity, plur(gold_capacity)); + */ + pline("%ld¸Ä¤Î¶â²ô%s¡¥", + gold_capacity, nearloadmsg); u.ugold += gold_capacity; obj->quan -= gold_capacity; costly_gold(obj->ox, obj->oy, gold_capacity); } else { u.ugold += count; if ((nearload = near_capacity()) != 0) + /*JP pline("%s %ld gold piece%s.", nearload < MOD_ENCUMBER ? moderateloadmsg : nearloadmsg, count, plur(count)); + */ + pline("%ld¸Ä¤Î¶â²ô%s", + count, + nearload < MOD_ENCUMBER ? + moderateloadmsg : nearloadmsg); else prinv((char *) 0, obj, count); costly_gold(obj->ox, obj->oy, count); *************** *** 1024,1036 **** if (poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM)) display_nhwindow(WIN_MESSAGE, FALSE); else { ! pline("Touching the cockatrice corpse is a fatal mistake."); ! instapetrify("cockatrice corpse"); return -1; } } else if (is_rider(&mons[obj->corpsenm])) { ! pline("At your %s, the corpse suddenly moves...", ! telekinesis ? "attempted acquisition" : "touch"); (void) revive_corpse(obj); exercise(A_WIS, FALSE); return -1; --- 1113,1129 ---- if (poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM)) display_nhwindow(WIN_MESSAGE, FALSE); else { ! /*JP pline("Touching the cockatrice corpse is a fatal mistake.");*/ ! pline("¥³¥«¥È¥ê¥¹¤Î»àÂΤ˿¨¤ì¤ë¤Î¤ÏÃ×̿Ū¤Ê´Ö°ã¤¤¤À¡¥"); ! /*JP instapetrify("cockatrice corpse");*/ ! instapetrify("¥³¥«¥È¥ê¥¹¤Î»àÂΤ˿¨¤ì¤Æ"); return -1; } } else if (is_rider(&mons[obj->corpsenm])) { ! /*JP pline("At your %s, the corpse suddenly moves...", ! telekinesis ? "attempted acquisition" : "touch");*/ ! pline("¤¢¤Ê¤¿¤¬%sÆÍÁ³»àÂΤ¬Æ°¤­½Ð¤·¤¿¡¥¡¥¡¥", ! telekinesis ? "³ÍÆÀ¤·¤è¤¦¤È¤¹¤ë¤È" : "¿¨¤ë¤È"); (void) revive_corpse(obj); exercise(A_WIS, FALSE); return -1; *************** *** 1039,1048 **** --- 1132,1145 ---- if (obj->blessed) obj->blessed = 0; else if (!obj->spe && !obj->cursed) obj->spe = 1; else { + /*JP pline_The("scroll%s turn%s to dust as you %s %s up.", plur(obj->quan), (obj->quan == 1L) ? "s" : "", telekinesis ? "raise" : "pick", (obj->quan == 1L) ? "it" : "them"); + */ + pline("%s´¬Êª¤Ï¤¢¤Ê¤¿¤¬½¦¤¤¾å¤²¤ë¤È¿Ð¤È¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡¥", + (obj->quan == 1L) ? "¤½¤Î" : "¤½¤ì¤é¤Î"); if (!(objects[SCR_SCARE_MONSTER].oc_name_known) && !(objects[SCR_SCARE_MONSTER].oc_uname)) docall(obj); *************** *** 1100,1105 **** --- 1197,1203 ---- if(oldcap < newcap) { switch(newcap) { + #if 0 /*JP*/ case 1: Your("movements are slowed slightly because of your load."); break; case 2: You("rebalance your load. Movement is difficult."); *************** *** 1108,1118 **** --- 1206,1227 ---- break; default: You("%s move a handspan with this load!", newcap == 4 ? "can barely" : "can't even"); + #endif + case 1: Your("Æ°¤­¤Ï²Ùʪ¤Î¤¿¤á¤Ë¾¯¤·ÃÙ¤¯¤Ê¤Ã¤¿¡¥"); + break; + case 2: You("²Ùʪ¤ÎÄà¹ç¤ò¤È¤êľ¤·¤¿¤¬¡¤Æ°¤­¤Ë¤¯¤¤¡¥"); + break; + case 3: You("²Ùʪ¤Î½Å¤ß¤Ç¤Î¤¿¤¦¤Á¤Þ¤ï¤Ã¤¿¡¥Æ°¤¯¤Î¤¬Èó¾ï¤Ë¤­¤Ä¤¤¡¥"); + break; + case 4: You("¤«¤í¤¦¤¸¤Æ¡¤Æ°¤¯¤³¤È¤¬¤Ç¤­¤ë¡¥"); + break; + default: You("¤³¤Î½Å¤µ¤Ç¤Ï¾¯¤·¤âÆ°¤±¤Ê¤¤¡ª"); break; } flags.botl = 1; } else if(oldcap > newcap) { switch(newcap) { + #if 0 /*JP*/ case 0: Your("movements are now unencumbered."); break; case 1: Your("movements are only slowed slightly by your load."); *************** *** 1121,1126 **** --- 1230,1244 ---- break; case 3: You("stagger under your load. Movement is still very hard."); break; + #endif + case 0: Your("Æ°¤­¤Ï³Ú¤Ë¤Ê¤Ã¤¿¡¥"); + break; + case 1: You("¤Á¤ç¤Ã¤ÈÆ°¤­¤ä¤¹¤¯¤Ê¤Ã¤¿¡¥"); + break; + case 2: You("²Ùʪ¤ÎÄà¹ç¤ò¤È¤êľ¤·¤¿¡¥¤À¤¬¤Þ¤ÀÆ°¤¯¤Î¤Ï¤­¤Ä¤¤¡¥"); + break; + case 3: You("²Ùʪ¤Î½Å¤ß¤¬¤º¤Ã¤·¤ê¤È¸ª¤Ë¤¯¤ë¡¥¤Þ¤ÀÆ°¤¯¤Î¤¬Èó¾ï¤Ë¤­¤Ä¤¤¡¥"); + break; } flags.botl = 1; } *************** *** 1140,1154 **** /* "Can't do that while carrying so much stuff." */ return 0; } else if (!can_reach_floor()) { ! You("cannot reach the %s.", surface(u.ux, u.uy)); return(0); } else if (is_pool(u.ux, u.uy) || is_lava(u.ux, u.uy)) { /* at present, can't loot in water even when Underwater */ You("cannot loot things that are deep in the %s.", is_lava(u.ux, u.uy) ? "lava" : "water"); return(0); } else if (nolimbs(uasmon)) { ! pline("Without limbs, you cannot loot anything."); return(0); } --- 1258,1279 ---- /* "Can't do that while carrying so much stuff." */ return 0; } else if (!can_reach_floor()) { ! /*JP You("cannot reach the %s.", surface(u.ux, u.uy));*/ ! pline("%s¤ËÆϤ«¤Ê¤¤", surface(u.ux, u.uy)); return(0); } else if (is_pool(u.ux, u.uy) || is_lava(u.ux, u.uy)) { /* at present, can't loot in water even when Underwater */ + /*JP You("cannot loot things that are deep in the %s.", is_lava(u.ux, u.uy) ? "lava" : "water"); + */ + You("%s¤Ë¿¼¤¯¤ËÄÀ¤ó¤À¤â¤Î¤ò³«¤±¤ë¤³¤È¤Ç¤­¤Ê¤¤¡¥", + is_lava(u.ux, u.uy) ? "ÍÏ´ä" : "¿å"); + return(0); } else if (nolimbs(uasmon)) { ! /*JP pline("Without limbs, you cannot loot anything.");*/ ! pline("¼ê­¤¬¤Ê¤¤¤Î¤Ç¡¤³«¤±¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥"); return(0); } *************** *** 1158,1184 **** if(Is_container(cobj)) { char qbuf[QBUFSZ]; ! Sprintf(qbuf, "There is %s here, loot it?", doname(cobj)); c = ynq(qbuf); if(c == 'q') return (timepassed); if(c == 'n') continue; if(cobj->olocked) { ! pline("Hmmm, it seems to be locked."); continue; } if(cobj->otyp == BAG_OF_TRICKS) { ! You("carefully open the bag..."); ! pline("It develops a huge set of teeth and bites you!"); c = rnd(10); if(Half_physical_damage) c = (c+1) / 2; ! losehp(c, "carnivorous bag", KILLED_BY_AN); makeknown(BAG_OF_TRICKS); timepassed = 1; continue; } ! You("carefully open %s...", the(xname(cobj))); timepassed |= use_container(cobj, 0); if (multi < 0) return 1; /* chest trap */ } --- 1283,1316 ---- if(Is_container(cobj)) { char qbuf[QBUFSZ]; ! /*JP Sprintf(qbuf, "There is %s here, loot it?", doname(cobj));*/ ! Sprintf(qbuf, "¤³¤³¤Ë¤Ï%s¤¬¤¢¤ë¡¥³«¤±¤Þ¤¹¤«¡©", ! doname(cobj)); c = ynq(qbuf); if(c == 'q') return (timepassed); if(c == 'n') continue; if(cobj->olocked) { ! /*JP pline("Hmmm, it seems to be locked.");*/ ! pline("¤à¡¼¤ó¡¤¸°¤¬¤«¤«¤Ã¤Æ¤¤¤ë¤è¤¦¤À¡¥"); continue; } if(cobj->otyp == BAG_OF_TRICKS) { ! /*JP You("carefully open the bag..."); ! pline("It develops a huge set of teeth and bites you!");*/ ! You("¿µ½Å¤Ë³ó¤ò³«¤±¤¿¡¥¡¥¡¥"); ! pline("³ó¤«¤éÂ礭¤Ê»õ¤¬À¸¤¨¤Æ¤­¤Æ¡¤¤¢¤Ê¤¿¤ò³ú¤ó¤À¡ª"); c = rnd(10); if(Half_physical_damage) c = (c+1) / 2; ! /*JP losehp(c, "carnivorous bag", KILLED_BY_AN);*/ ! losehp(c, "¿©Æù³ó¤Ë¤è¤Ã¤Æ", KILLED_BY_AN); makeknown(BAG_OF_TRICKS); timepassed = 1; continue; } ! /*JP You("carefully open %s...", the(xname(cobj)));*/ ! You("¿µ½Å¤Ë%s¤ò³«¤±¤¿¡¥¡¥¡¥", the(xname(cobj))); timepassed |= use_container(cobj, 0); if (multi < 0) return 1; /* chest trap */ } *************** *** 1199,1205 **** --- 1331,1340 ---- gotit: if(coffers){ struct obj *tmp; + /*JP verbalize("Thank you for your contribution to reduce the debt."); + */ + verbalize("ÀÖ»ú·úÀß¹ñºÄÊֺѤΤ¿¤á¤Î´óÉդ˴¶¼Õ¤·¤Þ¤¹¡¥"); for (tmp = coffers->cobj; tmp; tmp = tmp->nobj) if (tmp->otyp == goldob->otyp) break; *************** *** 1216,1233 **** mon->mgold += goldob->quan; delobj(goldob); pline( ! "The exchequer accepts your contribution."); } else { dropx(goldob); } } } else { dropx(goldob); ! pline("Ok, now there is loot here."); } } } else { ! You("don't find anything here to loot."); } } return (timepassed); --- 1351,1371 ---- mon->mgold += goldob->quan; delobj(goldob); pline( ! /*JP "The exchequer accepts your contribution.");*/ ! "Â碾ʤϤ¢¤Ê¤¿¤Î´óÉÕ¤ò¼õ¤±¤È¤Ã¤¿¡¥"); } else { dropx(goldob); } } } else { dropx(goldob); ! /*JP pline("Ok, now there is loot here.");*/ ! pline("¥ª¡¼¥±¡¼¡¤¤³¤³¤ËÏÅϨ¤òÃÖ¤¤¤Æ¤ª¤³¤¦¡¥"); } } } else { ! /*JP You("don't find anything here to loot.");*/ ! You("¤³¤³¤Ë¤Ï³«¤±¤ë¤â¤Î¤¬¤Ê¤¤¡¥"); } } return (timepassed); *************** *** 1279,1297 **** impossible(" no current_container?"); return 0; } else if (obj == uball || obj == uchain) { ! You("must be kidding."); return 0; } else if (obj == current_container) { ! pline("That would be an interesting topological exercise."); return 0; } else if (obj->owornmask & (W_ARMOR | W_RING | W_AMUL | W_TOOL)) { Norep("You cannot %s %s you are wearing.", Icebox ? "refrigerate" : "stash", something); return 0; } else if ((obj->otyp == LOADSTONE) && obj->cursed) { obj->bknown = 1; ! pline_The("stone%s won't leave your person.", plur(obj->quan)); ! return 0; } else if (obj->otyp == AMULET_OF_YENDOR || obj->otyp == CANDELABRUM_OF_INVOCATION || obj->otyp == BELL_OF_OPENING || --- 1417,1444 ---- impossible(" no current_container?"); return 0; } else if (obj == uball || obj == uchain) { ! /*JP You("must be kidding.");*/ ! You("¤Õ¤¶¤±¤Æ¤¤¤ë¡¥"); return 0; } else if (obj == current_container) { ! /*JP pline("That would be an interesting topological exercise.");*/ ! pline("¤½¤ì¤Ï¶½Ì£¤ò¤½¤½¤é¤ì¤ë¥È¥Ý¥í¥¸¡¼¤ÎÌäÂê¤À¡¥"); return 0; } else if (obj->owornmask & (W_ARMOR | W_RING | W_AMUL | W_TOOL)) { + /*JP Norep("You cannot %s %s you are wearing.", Icebox ? "refrigerate" : "stash", something); + */ + Norep("¿È¤Ë¤Ä¤±¤Æ¤¤¤ë¤â¤Î¤ò%s¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥", + Icebox ? "ÎäÅह¤ë" : "¤·¤Þ¤¦"); return 0; } else if ((obj->otyp == LOADSTONE) && obj->cursed) { obj->bknown = 1; ! /*JP ! pline_The("stone%s won't leave your person.", plur(obj->quan)); ! */ ! pline("¤É¤¦¤¤¤¦¤ï¤±¤«¤½¤ÎÀФò¤·¤Þ¤¦¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥"); ! return 0; } else if (obj->otyp == AMULET_OF_YENDOR || obj->otyp == CANDELABRUM_OF_INVOCATION || obj->otyp == BELL_OF_OPENING || *************** *** 1300,1309 **** --- 1447,1462 ---- * steal them. It also becomes a pain to check to see if someone * has the Amulet. Ditto for the Candelabrum, the Bell and the Book. */ + /*JP pline("%s cannot be confined in such trappings.", The(xname(obj))); + */ + pline("%s¤ÏµÍ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥", The(xname(obj))); return 0; } else if (obj->otyp == LEASH && obj->leashmon != 0) { + /*JP pline("%s is attached to your pet.", The(xname(obj))); + */ + pline("%s¤Ï¥Ú¥Ã¥È¤ËÉÕ¤±¤é¤ì¤Æ¤¤¤ë¡¥", The(xname(obj))); return 0; } else if (obj == uwep) { if (welded(obj)) { *************** *** 1323,1329 **** * of evaluation of the parameters is undefined. */ Strcpy(buf, the(xname(obj))); ! You("cannot fit %s into %s.", buf, the(xname(current_container))); return 0; } --- 1476,1483 ---- * of evaluation of the parameters is undefined. */ Strcpy(buf, the(xname(obj))); ! /*JP You("cannot fit %s into %s.", buf,*/ ! pline("%s¤ò%s¤ËµÍ¤á¹þ¤à¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥", buf, the(xname(current_container))); return 0; } *************** *** 1345,1351 **** current_container->owt = weight(current_container); Strcpy(buf, the(xname(current_container))); ! You("put %s into %s.", doname(obj), buf); if (obj_is_burning(obj)) /* this used to be part of freeinv() */ (void) snuff_lit(obj); --- 1499,1506 ---- current_container->owt = weight(current_container); Strcpy(buf, the(xname(current_container))); ! /*JP You("put %s into %s.", doname(obj), buf);*/ ! You("%s¤ò%s¤ÎÃæ¤Ë¤·¤Þ¤Ã¤¿¡¥", doname(obj), buf); if (obj_is_burning(obj)) /* this used to be part of freeinv() */ (void) snuff_lit(obj); *************** *** 1366,1372 **** } else if (Is_mbag(current_container) && mbag_explodes(obj, 0)) { ! You("are blasted by a magical explosion!"); /* the !floor_container case is taken care of */ if(*u.ushops && costly_spot(u.ux, u.uy) && floor_container) { --- 1521,1528 ---- } else if (Is_mbag(current_container) && mbag_explodes(obj, 0)) { ! /*JP You("are blasted by a magical explosion!");*/ ! You("ËâË¡¤ÎÇúȯ¤òÍá¤Ó¤¿¡ª"); /* the !floor_container case is taken care of */ if(*u.ushops && costly_spot(u.ux, u.uy) && floor_container) { *************** *** 1384,1390 **** else panic("in_container: bag not found."); ! losehp(d(6,6),"magical explosion", KILLED_BY_AN); current_container = 0; /* baggone = TRUE; */ } --- 1540,1547 ---- else panic("in_container: bag not found."); ! /*JP losehp(d(6,6),"magical explosion", KILLED_BY_AN);*/ ! losehp(d(6,6),"ËâË¡¤ÎÇúȯ¤Ç", KILLED_BY_AN); current_container = 0; /* baggone = TRUE; */ } *************** *** 1453,1460 **** --- 1610,1621 ---- loadlev = near_capacity(); prinv(loadlev ? (loadlev < MOD_ENCUMBER ? + /*JP "You have a little trouble removing" : "You have much trouble removing") : (char *)0, + */ + "¤ò±¿¤Ö¤Î¤Ï¾¯¡¹º¤Æñ¤À¡¥" : + "¤ò±¿¤Ö¤Î¤Ï¤«¤Ê¤êº¤Æñ¤À¡¥") : (char *)0, otmp, count); if (is_gold) { *************** *** 1481,1491 **** menu_on_request; if (obj->olocked) { ! pline("%s seems to be locked.", The(xname(obj))); ! if (held) You("must put it down to unlock."); return 0; } else if (obj->otrapped) { ! if (held) You("open %s...", the(xname(obj))); (void) chest_trap(obj, HAND, FALSE); /* even if the trap fails, you've used up this turn */ if (multi >= 0) { /* in case we didn't become paralyzed */ --- 1642,1655 ---- menu_on_request; if (obj->olocked) { ! /*JP pline("%s seems to be locked.", The(xname(obj))); ! if (held) You("must put it down to unlock.");*/ ! pline("%s¤Ï¸°¤¬¤«¤«¤Ã¤Æ¤¤¤ë¤è¤¦¤À¡¥", The(xname(obj))); ! if (held) pline("²¼¤ËÃÖ¤«¤Ê¤¤¤³¤È¤Ë¤Ï¸°¤ò¤Ï¤º¤»¤Ê¤¤¡¥"); return 0; } else if (obj->otrapped) { ! /*JP if (held) You("open %s...", the(xname(obj)));*/ ! if (held) You("%s¤ò³«¤±¤¿¡¥¡¥¡¥", the(xname(obj))); (void) chest_trap(obj, HAND, FALSE); /* even if the trap fails, you've used up this turn */ if (multi >= 0) { /* in case we didn't become paralyzed */ *************** *** 1497,1503 **** current_container = obj; /* for use by in/out_container */ if (obj->spe == 1) { ! static NEARDATA const char sc[] = "Schroedinger's Cat"; struct obj *ocat; struct monst *cat; --- 1661,1668 ---- current_container = obj; /* for use by in/out_container */ if (obj->spe == 1) { ! /*JP static NEARDATA const char sc[] = "Schroedinger's Cat";*/ ! static NEARDATA const char sc[] = "¥·¥å¥ì¥Ç¥£¥ó¥¬¡¼¤ÎÇ­"; struct obj *ocat; struct monst *cat; *************** *** 1512,1521 **** cat->mpeaceful = 1; set_malign(cat); if (Blind) ! You("think %s brushed your %s.", something, body_part(FOOT)); else ! pline("%s inside the box is still alive!", Monnam(cat)); (void) christen_monst(cat, sc); } else { ocat = mk_named_object(CORPSE, &mons[PM_HOUSECAT], --- 1677,1688 ---- cat->mpeaceful = 1; set_malign(cat); if (Blind) ! /*JP You("think %s brushed your %s.", something,*/ ! You("%s¤¬¤¢¤Ê¤¿¤Î%s¤ò¤¯¤¹¤°¤Ã¤¿¡¥", something, body_part(FOOT)); else ! /*JP pline("%s inside the box is still alive!", Monnam(cat));*/ ! pline("È¢¤Î¤Ê¤«¤Î%s¤Ï¤Þ¤ÀÀ¸¤­¤Æ¤¤¤ë¡ª", Monnam(cat)); (void) christen_monst(cat, sc); } else { ocat = mk_named_object(CORPSE, &mons[PM_HOUSECAT], *************** *** 1524,1531 **** obj_extract_self(ocat); add_to_container(obj, ocat); /* weight handled below */ } ! pline_The("%s inside the box is dead!", ! Hallucination ? rndmonnam() : "housecat"); } used = 1; } --- 1691,1700 ---- obj_extract_self(ocat); add_to_container(obj, ocat); /* weight handled below */ } ! /*JP pline_The("%s inside the box is dead!", ! Hallucination ? rndmonnam() : "housecat");*/ ! pline("È¢¤ÎÃæ¤Î%s¤Ï»à¤ó¤Ç¤¤¤ë¡ª", ! Hallucination ? rndmonnam() : jtrns_mon("housecat", -1)); } used = 1; } *************** *** 1535,1544 **** otmp = curr->nobj; if (Is_mbag(obj) && obj->cursed && !rn2(13)) { if (curr->dknown) ! pline("%s to have vanished!", The(aobjnam(curr,"seem"))); else ! You("%s %s disappear.", Blind ? "notice" : "see", ! doname(curr)); obj_extract_self(curr); if (*u.ushops && (shkp = shop_keeper(*u.ushops)) != 0) { if(held) { --- 1704,1717 ---- otmp = curr->nobj; if (Is_mbag(obj) && obj->cursed && !rn2(13)) { if (curr->dknown) ! /*JP pline("%s to have vanished!", The(aobjnam(curr,"seem")));*/ ! pline("%s¤Ï¾Ã¤¨µî¤Ã¤¿¡ª", The(xname(curr))); else ! /*JP You("%s %s disappear.", Blind ? "notice" : "see", ! doname(curr));*/ ! You("%s¤¬¸«¤¨¤Ê¤¯¤Ê¤ë¤Î%s¡¥", ! doname(curr), ! Blind ? "¤Ëµ¤¤Å¤¤¤¿" : "¤ò¸«¤¿"); obj_extract_self(curr); if (*u.ushops && (shkp = shop_keeper(*u.ushops)) != 0) { if(held) { *************** *** 1561,1579 **** --- 1734,1765 ---- } if (cnt && loss) + /*JP You("owe %ld zorkmids for lost item%s.", loss, lcnt > 1 ? "s" : ""); + */ + You("¤Ê¤¯¤Ê¤Ã¤¿¥¢¥¤¥Æ¥à¤Î¤¿¤á¤Ë%ld¥´¡¼¥ë¥É¤Î¼Ú¤ê¤ò¤Ä¤¯¤Ã¤¿¡¥", + loss); obj->owt = weight(obj); if (!cnt) { + /*JP pline("%s is empty.", Yname2(obj)); + */ + pline("%s¤Ï¶õ¤Ã¤Ý¤À¡¥", Yname2(obj)); } else { + /*JP Sprintf(qbuf, "Do you want to take %s out of %s?", something, yname(obj)); + */ + Sprintf(qbuf, "%s¤«¤é²¿¤«¼è¤ê½Ð¤·¤Þ¤¹¤«¡©", yname(obj)); if (flags.menu_style != MENU_TRADITIONAL) { if (flags.menu_style == MENU_FULL) { + /*JP int t = in_or_out_menu("Do what?", current_container); + */ + int t = in_or_out_menu("¤É¤¦¤¹¤ë¡©", current_container); if (t <= 0) return 0; loot_out = (t & 0x01) != 0; loot_in = (t & 0x02) != 0; *************** *** 1594,1600 **** container_contents(current_container, FALSE, FALSE); goto ask_again2; case 'y': ! if (query_classes(select, &one_by_one, &allflag, "take out", current_container->cobj, FALSE, FALSE, &menu_on_request)) { if (askchain((struct obj **)¤t_container->cobj, --- 1780,1787 ---- container_contents(current_container, FALSE, FALSE); goto ask_again2; case 'y': ! /*JP if (query_classes(select, &one_by_one, &allflag, "take out",*/ ! if (query_classes(select, &one_by_one, &allflag, "¼è¤ê½Ð¤¹", current_container->cobj, FALSE, FALSE, &menu_on_request)) { if (askchain((struct obj **)¤t_container->cobj, *************** *** 1617,1627 **** if (!invent && u.ugold == 0) { /* nothing to put in, but some feedback is necessary */ ! You("don't have anything to put in."); return used; } if (flags.menu_style != MENU_FULL || !cnt) { ! loot_in = (yn_function("Do you wish to put something in?", ynqchars, 'n') == 'y'); } /* --- 1804,1816 ---- if (!invent && u.ugold == 0) { /* nothing to put in, but some feedback is necessary */ ! /*JP You("don't have anything to put in.");*/ ! You("Æþ¤ì¤ë¤â¤Î¤¬²¿¤â¤Ê¤¤¡¥"); return used; } if (flags.menu_style != MENU_FULL || !cnt) { ! /*JP loot_in = (yn_function("Do you wish to put something in?",*/ ! loot_in = (yn_function("Ãæ¤Ë²¿¤«Æþ¤ì¤Þ¤¹¤«¡©", ynqchars, 'n') == 'y'); } /* *************** *** 1646,1652 **** } else { /* traditional code */ menu_on_request = 0; ! if (query_classes(select, &one_by_one, &allflag, "put in", invent, FALSE, (u.ugold != 0L), &menu_on_request)) { (void) askchain((struct obj **)&invent, --- 1835,1842 ---- } else { /* traditional code */ menu_on_request = 0; ! /*JP if (query_classes(select, &one_by_one, &allflag, "put in",*/ ! if (query_classes(select, &one_by_one, &allflag, "Æþ¤ì¤ë", invent, FALSE, (u.ugold != 0L), &menu_on_request)) { (void) askchain((struct obj **)&invent, *************** *** 1680,1686 **** int n, i, n_looted = 0; boolean all_categories = TRUE, loot_everything = FALSE; char buf[BUFSZ]; ! const char *takeout = "Take out", *putin = "Put in"; menu_item *pick_list; int mflags, res; --- 1870,1877 ---- int n, i, n_looted = 0; boolean all_categories = TRUE, loot_everything = FALSE; char buf[BUFSZ]; ! /*JP const char *takeout = "Take out", *putin = "Put in";*/ ! const char *takeout = "¼è¤ê½Ð¤·¤Þ¤¹¤«", *putin = "Æþ¤ì¤Þ¤¹¤«"; menu_item *pick_list; int mflags, res; *************** *** 1688,1694 **** all_categories = (retry == -2); } else if (flags.menu_style == MENU_FULL) { all_categories = FALSE; ! Sprintf(buf,"%s what type of objects?", put_in ? putin : takeout); mflags = put_in ? ALL_TYPES : ALL_TYPES|CHOOSE_ALL; n = query_category(buf, put_in ? invent : container->cobj, mflags, &pick_list, PICK_ANY); --- 1879,1886 ---- all_categories = (retry == -2); } else if (flags.menu_style == MENU_FULL) { all_categories = FALSE; ! /*JP Sprintf(buf,"%s what type of objects?", put_in ? putin : takeout);*/ ! Sprintf(buf,"¤É¤Î¥¿¥¤¥×¤ÎʪÂΤò%s¡©", put_in ? putin : takeout); mflags = put_in ? ALL_TYPES : ALL_TYPES|CHOOSE_ALL; n = query_category(buf, put_in ? invent : container->cobj, mflags, &pick_list, PICK_ANY); *************** *** 1715,1721 **** } else { mflags = INVORDER_SORT; if (put_in && flags.invlet_constant) mflags |= USE_INVLET; ! Sprintf(buf,"%s what?", put_in ? putin : takeout); n = query_objlist(buf, put_in ? invent : container->cobj, mflags, &pick_list, PICK_ANY, all_categories ? allow_all : allow_category); --- 1907,1914 ---- } else { mflags = INVORDER_SORT; if (put_in && flags.invlet_constant) mflags |= USE_INVLET; ! /*JP Sprintf(buf,"%s what?", put_in ? putin : takeout);*/ ! Sprintf(buf,"²¿¤ò%s¡©", put_in ? putin : takeout); n = query_objlist(buf, put_in ? invent : container->cobj, mflags, &pick_list, PICK_ANY, all_categories ? allow_all : allow_category); *************** *** 1752,1765 **** win = create_nhwindow(NHW_MENU); start_menu(win); any.a_int = 1; ! Sprintf(buf,"Take something out of %s", the(xname(obj))); add_menu(win, NO_GLYPH, &any, 'a', 0, ATR_NONE, buf, MENU_UNSELECTED); any.a_int = 2; ! Sprintf(buf,"Put something into %s",the(xname(obj))); add_menu(win, NO_GLYPH, &any, 'b', 0, ATR_NONE, buf, MENU_UNSELECTED); any.a_int = 3; add_menu(win, NO_GLYPH, &any, 'c', 0, ATR_NONE, ! "Both of the above", MENU_UNSELECTED); end_menu(win, prompt); n = select_menu(win, PICK_ONE, &pick_list); destroy_nhwindow(win); --- 1945,1961 ---- win = create_nhwindow(NHW_MENU); start_menu(win); any.a_int = 1; ! /*JP Sprintf(buf,"Take something out of %s", the(xname(obj)));*/ ! Sprintf(buf,"%s¤«¤é½Ð¤¹", the(xname(obj))); add_menu(win, NO_GLYPH, &any, 'a', 0, ATR_NONE, buf, MENU_UNSELECTED); any.a_int = 2; ! /*JP Sprintf(buf,"Put something into %s",the(xname(obj)));*/ ! Sprintf(buf,"%s¤ØÆþ¤ì¤ë",the(xname(obj))); add_menu(win, NO_GLYPH, &any, 'b', 0, ATR_NONE, buf, MENU_UNSELECTED); any.a_int = 3; add_menu(win, NO_GLYPH, &any, 'c', 0, ATR_NONE, ! /*JP "Both of the above", MENU_UNSELECTED);*/ ! "ξÊý", MENU_UNSELECTED); end_menu(win, prompt); n = select_menu(win, PICK_ONE, &pick_list); destroy_nhwindow(win); diff -c -r ../nethack-3.2.2/src/pline.c ./src/pline.c *** ../nethack-3.2.2/src/pline.c Sat Dec 28 21:53:47 1996 --- ./src/pline.c Tue Sep 23 07:10:11 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #define NEED_VARARGS /* Uses ... */ /* comment line for pre-compiled headers */ #include "hack.h" #include "epri.h" *************** *** 104,110 **** char *tmp; VA_START(line); VA_INIT(line, const char *); ! vpline(YouMessage(tmp, "You ", line), VA_ARGS); VA_END(); } --- 111,118 ---- char *tmp; VA_START(line); VA_INIT(line, const char *); ! /*JP vpline(YouMessage(tmp, "You ", line), VA_ARGS);*/ ! vpline(YouMessage(tmp, "¤¢¤Ê¤¿¤Ï", line), VA_ARGS); VA_END(); } *************** *** 114,120 **** char *tmp; VA_START(line); VA_INIT(line, const char *); ! vpline(YouMessage(tmp, "Your ", line), VA_ARGS); VA_END(); } --- 122,129 ---- char *tmp; VA_START(line); VA_INIT(line, const char *); ! /*JP vpline(YouMessage(tmp, "Your ", line), VA_ARGS);*/ ! vpline(YouMessage(tmp, "¤¢¤Ê¤¿¤Î", line), VA_ARGS); VA_END(); } *************** *** 124,130 **** char *tmp; VA_START(line); VA_INIT(line, const char *); ! vpline(YouMessage(tmp, "You feel ", line), VA_ARGS); VA_END(); } --- 133,140 ---- char *tmp; VA_START(line); VA_INIT(line, const char *); ! /*JP vpline(YouMessage(tmp, "You feel ", line), VA_ARGS);*/ ! vpline(YouMessage(tmp, "¤¢¤Ê¤¿¤Ï", line), VA_ARGS); VA_END(); } *************** *** 135,141 **** char *tmp; VA_START(line); VA_INIT(line, const char *); ! vpline(YouMessage(tmp, "You can't ", line), VA_ARGS); VA_END(); } --- 145,152 ---- char *tmp; VA_START(line); VA_INIT(line, const char *); ! /*JP vpline(YouMessage(tmp, "You can't ", line), VA_ARGS);*/ ! vpline(YouMessage(tmp, "¤¢¤Ê¤¿¤Ï", line), VA_ARGS); VA_END(); } *************** *** 145,151 **** char *tmp; VA_START(line); VA_INIT(line, const char *); ! vpline(YouMessage(tmp, "The ", line), VA_ARGS); VA_END(); } --- 156,163 ---- char *tmp; VA_START(line); VA_INIT(line, const char *); ! /*JP vpline(YouMessage(tmp, "The ", line), VA_ARGS);*/ ! vpline(YouMessage(tmp, "", line), VA_ARGS); VA_END(); } *************** *** 153,165 **** void You_hear VA_DECL(const char *,line) char *tmp; VA_START(line); VA_INIT(line, const char *); if (!Underwater) ! YouPrefix(tmp, "You hear ", line); else ! YouPrefix(tmp, "You barely hear ", line); ! vpline(strcat(tmp, line), VA_ARGS); VA_END(); } --- 165,196 ---- void You_hear VA_DECL(const char *,line) char *tmp; + const char *adj; + char *p; VA_START(line); VA_INIT(line, const char *); + if (!Underwater) ! /*JP YouPrefix(tmp, "You hear ", line);*/ ! adj = ""; else ! /*JP YouPrefix(tmp, "You barely hear ", line);*/ ! adj = "¤«¤¹¤«¤Ë"; ! ! tmp = You_buf(strlen(adj) + strlen(line) + sizeof("¤¢¤Ê¤¿¤Ï ")); ! ! Strcpy(tmp, "¤¢¤Ê¤¿¤Ï"); ! if(p = (char *)strstr(line, "ʹ¤¤")){ ! strncat(tmp, line, (p - line)); ! strcat(tmp, adj); ! strcat(tmp, p); ! } ! else{ ! Strcat(tmp, line); ! } ! ! /*JP vpline(strcat(tmp, line), VA_ARGS);*/ ! vpline(tmp, VA_ARGS); VA_END(); } *************** *** 171,179 **** VA_START(line); VA_INIT(line, const char *); tmp = You_buf((int)strlen(line) + sizeof "\"\""); ! Strcpy(tmp, "\""); Strcat(tmp, line); ! Strcat(tmp, "\""); vpline(tmp, VA_ARGS); VA_END(); } --- 202,212 ---- VA_START(line); VA_INIT(line, const char *); tmp = You_buf((int)strlen(line) + sizeof "\"\""); ! /*JP Strcpy(tmp, "\"");*/ ! Strcpy(tmp, "¡Ö"); Strcat(tmp, line); ! /*JP Strcat(tmp, "\"");*/ ! Strcat(tmp, "¡×"); vpline(tmp, VA_ARGS); VA_END(); } *************** *** 234,245 **** aligntyp alignment; { switch ((int)alignment) { ! case A_CHAOTIC: return "chaotic"; case A_NEUTRAL: return "neutral"; case A_LAWFUL: return "lawful"; ! case A_NONE: return "unaligned"; } ! return "unknown"; } void --- 267,283 ---- aligntyp alignment; { switch ((int)alignment) { ! /*JP case A_CHAOTIC: return "chaotic"; case A_NEUTRAL: return "neutral"; case A_LAWFUL: return "lawful"; ! case A_NONE: return "unaligned";*/ ! case A_CHAOTIC: return "º®ÆÙ"; ! case A_NEUTRAL: return "ÃæΩ"; ! case A_LAWFUL: return "Ãá½ø"; ! case A_NONE: return "̵¿´"; } ! /*JP return "unknown";*/ ! return "ÉÔÌÀ"; } void *************** *** 259,264 **** --- 297,303 ---- A_NEUTRAL; info[0] = 0; + #if 0 /*JP*/ if (mtmp->mtame) { Strcat(info, ", tame"); #ifdef WIZARD if (wizard) Sprintf(eos(info), " (%d)", mtmp->mtame); *************** *** 296,311 **** --- 335,391 ---- ", swallowed you" : ", engulfed you") : ", holding you"); + #endif /*JP*/ + if (mtmp->mtame) { Strcat(info, ", »ô¤¤¤Ê¤é¤µ¤ì¤Æ¤¤¤ë"); + #ifdef WIZARD + if (wizard) Sprintf(eos(info), " (%d)", mtmp->mtame); + #endif + } + if (mtmp->mblinded || !mtmp->mcansee) + Strcat(info, ", ÌÕÌÜ"); + if (mtmp->mstun) Strcat(info, ", ¤¯¤é¤¯¤é¾õÂÖ"); + if (mtmp->msleep) Strcat(info, ", ̲¤Ã¤Æ¤¤¤ë"); + #if 0 /* unfortunately mfrozen covers temporary sleep and being busy + (donning armor, for instance) as well as paralysis */ + else if (mtmp->mfrozen) Strcat(info, ", Ëãáã¾õÂÖ"); + #else + else if (mtmp->mfrozen || !mtmp->mcanmove) + Strcat(info, ", Æ°¤±¤Ê¤¤"); + #endif + /* [arbitrary reason why it isn't moving] */ + else if (mtmp->mstrategy & STRAT_WAITMASK) + Strcat(info, ", ÌÛÁÛÃæ"); + else if (mtmp->mflee) Strcat(info, ", ¶±¤¨¤Æ¤¤¤ë"); + if (mtmp->mtrapped) Strcat(info, ", 櫤ˤ«¤«¤Ã¤Æ¤¤¤ë"); + if (mtmp->mspeed) Strcat(info, + mtmp->mspeed == MFAST ? ", ÁÇÁᤤ" : + mtmp->mspeed == MSLOW ? ", ÃÙ¤¤" : + ", ®ÅÙ ????"); + if (mtmp->mundetected) Strcat(info, ", ±£¤ì¤Æ¤¤¤ë"); + if (mtmp->minvis) Strcat(info, ", ÉԲĻë"); + if (mtmp == u.ustuck) Strcat(info, + (Upolyd && sticks(uasmon)) ? ", ¤¢¤Ê¤¿¤¬ÄϤޤ¨¤Æ¤¤¤ë" : + u.uswallow ? (is_animal(u.ustuck->data) ? + ", ¤¢¤Ê¤¿¤ò°û¤ß¹þ¤ó¤Ç¤¤¤ë" : + ", ¤¢¤Ê¤¿¤ò´¬¤­¹þ¤ó¤Ç¤¤¤ë") : + ", ¤¢¤Ê¤¿¤òÄϤޤ¨¤Æ¤¤¤ë"); Strcpy(monnambuf, mon_nam(mtmp)); /* avoid "Status of the invisible newt ..., invisible" */ + /*JP if (mtmp->minvis && strstri(monnambuf, "invisible")) { + */ + if (mtmp->minvis && (strstri(monnambuf, "invisible") || + strstr(monnambuf, "»Ñ¤Î¸«¤¨¤Ê¤¤"))) { mtmp->minvis = 0; Strcpy(monnambuf, mon_nam(mtmp)); mtmp->minvis = 1; } + /*JP pline("Status of %s (%s): Level %d HP %d(%d) AC %d%s.", + */ + pline("%s¤Î¾õÂÖ (%s): Level %d HP %d(%d) AC %d%s.", monnambuf, align_str(alignment), mtmp->m_lev, *************** *** 322,372 **** --- 402,506 ---- info[0] = '\0'; if (Sick) { + /*JP Strcat(info, ", dying from"); + */ + Strcat(info, ", "); if (u.usick_type & SICK_VOMITABLE) + /*JP Strcat(info, " food poisoning"); + */ + Strcat(info, "¿©ÃæÆÇ"); if (u.usick_type & SICK_NONVOMITABLE) { if (u.usick_type & SICK_VOMITABLE) + /*JP Strcat(info, " and"); Strcat(info, " illness"); + */ + Strcat(info, "¤È"); + Strcat(info, "ɵ¤"); } + Strcat(info, "¤Ç»à¤Ë¤Ä¤Ä¤¢¤ë"); } + #if 0 /*JP*/ if (Stoned) Strcat(info, ", solidifying"); if (Strangled) Strcat(info, ", being strangled"); if (Vomiting) Strcat(info, ", nauseated"); /* !"nauseous" */ if (Confusion) Strcat(info, ", confused"); + #endif + if (Stoned) Strcat(info, ", Àв½¤·¤Ä¤Ä¤¢¤ë"); + if (Strangled) Strcat(info, ", ¼ó¤òÄù¤á¤é¤ì¤Æ¤¤¤ë"); + if (Vomiting) Strcat(info, ", ÅǤ­µ¤¤¬¤¹¤ë"); + if (Confusion) Strcat(info, ", º®Íð¾õÂÖ"); if (Blind) { + /*JP Strcat(info, ", blind"); + */ + Strcat(info, ", "); if (u.ucreamed) { + /*JP if ((long)u.ucreamed < Blinded || Blindfolded || !haseyes(uasmon)) Strcat(info, ", cover"); Strcat(info, "ed by sticky goop"); + */ + Strcat(info, "¤Í¤Ð¤Í¤Ð¤Ù¤È¤Ä¤¯¤â¤Î¤Ç"); + if ((long)u.ucreamed < Blinded || Blindfolded + || !haseyes(uasmon)) + Strcat(info, "ʤ¤ï¤ì¤Æ¤¤¤ë, "); } /* note: "goop" == "glop"; variation is intentional */ + Strcat(info, "ÌÕÌÜ"); } + /*JP if (Stunned) Strcat(info, ", stunned"); + */ + if (Stunned) Strcat(info, ", ¤¯¤é¤¯¤é¾õÂÖ"); if (Wounded_legs) { const char *what = body_part(LEG); if ((Wounded_legs & BOTH_SIDES) == BOTH_SIDES) what = makeplural(what); + /*JP Sprintf(eos(info), ", injured %s", what); + */ + Sprintf(eos(info), ", %s¤Ë¤±¤¬¤ò¤·¤Æ¤¤¤ë", what); } + /*JP if (Glib) Sprintf(eos(info), ", slippery %s", + */ + if (Glib) Sprintf(eos(info), ", %s¤¬¤Ì¤ë¤Ì¤ë", makeplural(body_part(HAND))); + #if 0 /*JP*/ if (u.utrap) Strcat(info, ", trapped"); if (Fast) Strcat(info, ", fast"); if (u.uundetected) Strcat(info, ", concealed"); if (Invis) Strcat(info, ", invisible"); + #endif + if (u.utrap) Strcat(info, ", 櫤ˤ«¤«¤Ã¤Æ¤¤¤ë"); + if (Fast) Strcat(info, ", ÁÇÁᤤ"); + if (u.uundetected) Strcat(info, ", ±£¤ì¤Æ¤¤¤ë"); + if (Invis) Strcat(info, ", ÉԲĻë"); if (u.ustuck) { + #if 0 /*JP*/ if (Upolyd && sticks(uasmon)) Strcat(info, ", holding "); else Strcat(info, ", held by "); Strcat(info, mon_nam(u.ustuck)); + #endif + Strcat(info, ", "); + Strcat(info, mon_nam(u.ustuck)); + if (Upolyd && sticks(uasmon)) + Strcat(info, "¤òÄϤޤ¨¤Æ¤¤¤ë"); + else + Strcat(info, "¤ËÄϤޤ¨¤é¤ì¤Æ¤¤¤ë"); } + /*JP pline("Status of %s (%s%s): Level %d HP %d(%d) AC %d%s.", + */ + pline("%s¤Î¾õÂÖ (%s %s): Level %d HP %d(%d) AC %d%s.", plname, + #if 0 /*JP*/ (u.ualign.record >= 20) ? "piously " : (u.ualign.record > 13) ? "devoutly " : (u.ualign.record > 8) ? "fervently " : *************** *** 375,380 **** --- 509,523 ---- (u.ualign.record >= 1) ? "haltingly " : (u.ualign.record == 0) ? "nominally " : "insufficiently ", + #endif + (u.ualign.record >= 20) ? "·ÉéÊ" : + (u.ualign.record > 13) ? "¿®¿´¿¼¤¤" : + (u.ualign.record > 8) ? "Ç®Îõ" : + (u.ualign.record > 3) ? "À¼¤Î¤«¤ó¹â¤¤" : + (u.ualign.record == 3) ? "" : + (u.ualign.record >= 1) ? "̵ͭ̾¼Â" : + (u.ualign.record == 0) ? "ÌÂÏÇ" : + "ÉÔŬÅö", align_str(u.ualign.type), Upolyd ? mons[u.umonnum].mlevel : u.ulevel, Upolyd ? u.mh : u.uhp, *************** *** 386,388 **** --- 529,532 ---- #endif /* OVLB */ /*pline.c*/ + diff -c -r ../nethack-3.2.2/src/polyself.c ./src/polyself.c *** ../nethack-3.2.2/src/polyself.c Sat Dec 28 21:53:48 1996 --- ./src/polyself.c Tue Sep 23 07:10:11 1997 *************** *** 3,8 **** --- 3,15 ---- /* NetHack may be freely redistributed. See license for details. */ /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + + /* * Polymorph self routine. * * Note: the light source handling code assumes that both youmonst.m_id *************** *** 77,85 **** /* check whether player foolishly genocided self while poly'd */ if (mvitals[u.umonster].mvflags & G_GENOD) { /* intervening activity might have clobbered genocide info */ ! if (!killer || !strstri(killer, "genocid")) { killer_format = KILLED_BY; ! killer = "self-genocide"; } done(GENOCIDED); } --- 84,95 ---- /* check whether player foolishly genocided self while poly'd */ if (mvitals[u.umonster].mvflags & G_GENOD) { /* intervening activity might have clobbered genocide info */ ! /*JP if (!killer || !strstri(killer, "genocid")) {*/ ! if (!killer || !strstr(killer, "µÔ»¦") || ! !strstri(killer, "genocid")) { killer_format = KILLED_BY; ! /*JP killer = "self-genocide";*/ ! killer = "¼«µÔŪµÔ»¦¤Ç"; } done(GENOCIDED); } *************** *** 107,112 **** --- 117,124 ---- newman() { int tmp, tmp2; + /*JP*/ + int saved_sex = flags.female; if (!rn2(10)) change_sex(); *************** *** 159,172 **** if (u.uhp <= 0) u.uhp = 1; if (u.uhpmax <= 0) u.uhpmax = 1; } else { ! Your("new form doesn't seem healthy enough to survive."); killer_format = KILLED_BY_AN; ! killer="unsuccessful polymorph"; done(DIED); } } ! polyman("feel like a new %s!", ! Role_is('E') ? "elf" : flags.female ? "woman" : "man"); flags.botl = 1; (void) encumber_msg(); } --- 171,193 ---- if (u.uhp <= 0) u.uhp = 1; if (u.uhpmax <= 0) u.uhpmax = 1; } else { ! /*JP Your("new form doesn't seem healthy enough to survive."); ! Your("¿·¤·¤¤»Ñ¤ÏÀ¸¤­¤Æ¤¯¤À¤±¤ÎÎϤ¬¤Ê¤¤¤è¤¦¤À¡¥"); killer_format = KILLED_BY_AN; ! /*JP killer="unsuccessful polymorph";*/ ! killer="ÊѲ½¤Î¼ºÇÔ¤Ç"; done(DIED); } } ! /*JP polyman("feel like a new %s!", ! Role_is('E') ? "elf" : flags.female ? "woman" : "man");*/ ! if(saved_sex == flags.female) ! polyman("Ê̤Î%s¤È¤·¤ÆÀ¸¤Þ¤ì¤«¤ï¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡ª", ! pl_character[0] == 'E' ? "¥¨¥ë¥Õ" : "¿Í´Ö"); ! else ! polyman("%s¤È¤·¤ÆÀ¸¤Þ¤ì¤«¤ï¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡ª", ! flags.female ? "½÷" : "ÃË"); ! flags.botl = 1; (void) encumber_msg(); } *************** *** 188,194 **** if(!Polymorph_control && !draconian && !iswere && !isvamp) { if (rn2(20) > ACURR(A_CON)) { You(shudder_for_moment); ! losehp(rnd(30), "system shock", KILLED_BY_AN); exercise(A_CON, FALSE); return; } --- 209,216 ---- if(!Polymorph_control && !draconian && !iswere && !isvamp) { if (rn2(20) > ACURR(A_CON)) { You(shudder_for_moment); ! /*JP losehp(rnd(30), "system shock", KILLED_BY_AN);*/ ! losehp(rnd(30), "¥·¥¹¥Æ¥à¥·¥ç¥Ã¥¯¤Ç", KILLED_BY_AN); exercise(A_CON, FALSE); return; } *************** *** 197,214 **** if (Polymorph_control) { do { ! getlin("Become what kind of monster? [type the name]", ! buf); mntmp = name_to_mon(buf); if (mntmp < LOW_PM) ! pline("I've never heard of such monsters."); /* Note: humans are illegal as monsters, but an * illegal monster forces newman(), which is what we * want if they specified a human.... */ else if (!polyok(&mons[mntmp]) && (Role_is('E') ? !is_elf(&mons[mntmp]) : !is_human(&mons[mntmp]))) ! You("cannot polymorph into that."); else break; } while(++tries < 5); if (tries==5) pline(thats_enough_tries); --- 219,240 ---- if (Polymorph_control) { do { ! /*JP getlin("Become what kind of monster? [type the name]", ! buf);*/ ! getlin("¤É¤Î¼ï¤Î²øʪ¤Ë¤Ê¤ë¡©[±Ñ¸ì̾¤òÆþ¤ì¤Æ¤Í]", ! buf); mntmp = name_to_mon(buf); if (mntmp < LOW_PM) ! /*JP pline("I've never heard of such monsters.");*/ ! pline("¤½¤ó¤Ê²øʪ¤Ïʹ¤¤¤¿¤³¤È¤¬¤Ê¤¤¡¥"); /* Note: humans are illegal as monsters, but an * illegal monster forces newman(), which is what we * want if they specified a human.... */ else if (!polyok(&mons[mntmp]) && (Role_is('E') ? !is_elf(&mons[mntmp]) : !is_human(&mons[mntmp]))) ! /*JP You("cannot polymorph into that.");*/ ! You("¤½¤ì¤Ë¤Ê¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥"); else break; } while(++tries < 5); if (tries==5) pline(thats_enough_tries); *************** *** 223,229 **** mntmp = armor_to_dragon(uarm->otyp); if (!(mvitals[mntmp].mvflags & G_GENOD)) { /* allow G_EXTINCT */ ! You("merge with your scaly armor."); uskin = uarm; uarm = (struct obj *)0; /* save/restore hack */ --- 249,256 ---- mntmp = armor_to_dragon(uarm->otyp); if (!(mvitals[mntmp].mvflags & G_GENOD)) { /* allow G_EXTINCT */ ! /*JP You("merge with your scaly armor.");*/ ! You("Îڤγ»¤È°ìÂ⽤·¤¿¡¥"); uskin = uarm; uarm = (struct obj *)0; /* save/restore hack */ *************** *** 260,266 **** newman(); else if(!polymon(mntmp)) return; ! if (!uarmg) selftouch("No longer petrify-resistant, you"); made_change: new_light = (u.umonnum >= LOW_PM) ? emits_light(uasmon) : 0; --- 287,294 ---- newman(); else if(!polymon(mntmp)) return; ! /*JP if (!uarmg) selftouch("No longer petrify-resistant, you");*/ ! if (!uarmg) selftouch("¤â¤¦¡¤Àв½Äñ¹³ÎϤϤ¢¤Ê¤¿¤Ë¤Ê¤¤"); made_change: new_light = (u.umonnum >= LOW_PM) ? emits_light(uasmon) : 0; *************** *** 284,290 **** int tmp; if (mvitals[mntmp].mvflags & G_GENOD) { /* allow G_EXTINCT */ ! You_feel("rather %s-ish.",mons[mntmp].mname); exercise(A_WIS, TRUE); return(0); } --- 312,320 ---- int tmp; if (mvitals[mntmp].mvflags & G_GENOD) { /* allow G_EXTINCT */ ! /*JP You_feel("rather %s-ish.",mons[mntmp].mname);*/ ! You("%s¤Ã¤Ý¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿", ! jtrns_mon(mons[mntmp].mname, mntmp)); exercise(A_WIS, TRUE); return(0); } *************** *** 312,330 **** } if (dochange) { flags.female = !flags.female; ! You("%s %s %s!", (u.umonnum != mntmp) ? "turn into a" : "feel like a new", flags.female ? "female" : "male", ! mons[mntmp].mname); } else { if (u.umonnum != mntmp) ! You("turn into %s!", an(mons[mntmp].mname)); else ! You_feel("like a new %s!", mons[mntmp].mname); } if (Stoned && poly_when_stoned(&mons[mntmp])) { /* poly_when_stoned already checked stone golem genocide */ ! You("turn to stone!"); mntmp = PM_STONE_GOLEM; Stoned = 0; } --- 342,369 ---- } if (dochange) { flags.female = !flags.female; ! /*JP You("%s %s %s!", (u.umonnum != mntmp) ? "turn into a" : "feel like a new", flags.female ? "female" : "male", ! mons[mntmp].mname);*/ ! You("%s¤Î%s%s¡ª", ! flags.female ? "½÷" : "ÃË", ! jtrns_mon(mons[mntmp].mname, flags.female), ! (u.umonnum != mntmp) ? "¤Ë¤Ê¤Ã¤¿¡¥" : "¤Ë¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿"); } else { if (u.umonnum != mntmp) ! /*JP You("turn into %s!", an(mons[mntmp].mname));*/ ! You("%s¤Ë¤Ê¤Ã¤¿¡ª", ! jtrns_mon(mons[mntmp].mname, flags.female)); else ! /*JP You_feel("like a new %s!", mons[mntmp].mname);*/ ! You("Ê̤Î%s¤Ë¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡ª", ! jtrns_mon(mons[mntmp].mname, flags.female)); } if (Stoned && poly_when_stoned(&mons[mntmp])) { /* poly_when_stoned already checked stone golem genocide */ ! /*JP You("turn to stone!");*/ ! You("Àв½¤·¤¿¡ª"); mntmp = PM_STONE_GOLEM; Stoned = 0; } *************** *** 340,350 **** if (resists_ston(&youmonst) && Stoned) { /* parnes@eniac.seas.upenn.edu */ Stoned = 0; ! You("no longer seem to be petrifying."); } if (u.usym == S_FUNGUS && Sick) { make_sick(0L, (char *) 0, FALSE, SICK_ALL); ! You("no longer feel sick."); } if (nohands(uasmon)) Glib = 0; --- 379,390 ---- if (resists_ston(&youmonst) && Stoned) { /* parnes@eniac.seas.upenn.edu */ Stoned = 0; ! /*JP You("no longer seem to be petrifying.");*/ ! You("Àв½¤«¤é²òÊü¤µ¤ì¤¿¤è¤¦¤À¡¥"); } if (u.usym == S_FUNGUS && Sick) { make_sick(0L, (char *) 0, FALSE, SICK_ALL); ! You("ɵ¤¤«¤é²òÊü¤µ¤ì¤¿¤è¤¦¤À¡¥"); } if (nohands(uasmon)) Glib = 0; *************** *** 396,427 **** else if (sticky && !sticks(uasmon)) uunstick(); if (flags.verbose) { ! static const char use_thec[] = "Use the command #%s to %s."; static const char monsterc[] = "monster"; if (can_breathe(uasmon)) ! pline(use_thec,monsterc,"use your breath weapon"); if (attacktype(uasmon, AT_SPIT)) ! pline(use_thec,monsterc,"spit venom"); if (u.usym == S_NYMPH) ! pline(use_thec,monsterc,"remove an iron ball"); if (u.usym == S_UMBER) ! pline(use_thec,monsterc,"confuse monsters"); if (is_hider(uasmon)) ! pline(use_thec,monsterc,"hide"); if (is_were(uasmon)) ! pline(use_thec,monsterc,"summon help"); if (webmaker(uasmon)) ! pline(use_thec,monsterc,"spin a web"); if (u.umonnum == PM_GREMLIN) ! pline(use_thec,monsterc,"multiply in a fountain"); if (u.usym == S_UNICORN) ! pline(use_thec,monsterc,"use your horn"); if (u.umonnum == PM_MIND_FLAYER) ! pline(use_thec,monsterc,"emit a mental blast"); if (uasmon->msound == MS_SHRIEK) /* worthless, actually */ ! pline(use_thec,monsterc,"shriek"); if (lays_eggs(uasmon) && flags.female) ! pline(use_thec,"sit","lay an egg"); } /* you now know what an egg of your type looks like */ if (lays_eggs(uasmon)) { --- 436,481 ---- else if (sticky && !sticks(uasmon)) uunstick(); if (flags.verbose) { ! /*JP static const char use_thec[] = "Use the command #%s to %s."; ! static const char monsterc[] = "monster";*/ ! static const char use_thec[] = "#%s¥³¥Þ¥ó¥É¤Ç%s¤³¤È¤¬¤Ç¤­¤ë¡¥"; static const char monsterc[] = "monster"; if (can_breathe(uasmon)) ! /*JP pline(use_thec,monsterc,"use your breath weapon");*/ ! pline(use_thec,monsterc,"©¤òÅǤ­¤«¤±¤ë"); if (attacktype(uasmon, AT_SPIT)) ! /*JP pline(use_thec,monsterc,"spit venom");*/ ! pline(use_thec,monsterc,"ÆǤòÅǤ¯"); if (u.usym == S_NYMPH) ! /*JP pline(use_thec,monsterc,"remove an iron ball");*/ ! pline(use_thec,monsterc,"Å´µå¤ò¤Ï¤º¤¹"); if (u.usym == S_UMBER) ! /*JP pline(use_thec,monsterc,"confuse monsters");*/ ! pline(use_thec,monsterc,"²øʪ¤òº®Í𤵤»¤ë"); if (is_hider(uasmon)) ! /*JP pline(use_thec,monsterc,"hide");*/ ! pline(use_thec,monsterc,"±£¤ì¤ë"); if (is_were(uasmon)) ! /*JP pline(use_thec,monsterc,"summon help");*/ ! pline(use_thec,monsterc,"Ãç´Ö¤ò¾¤´­¤¹¤ë"); if (webmaker(uasmon)) ! /*JP pline(use_thec,monsterc,"spin a web");*/ ! pline(use_thec,monsterc,"ÃØéá¤ÎÁã¤òÄ¥¤ë"); if (u.umonnum == PM_GREMLIN) ! /*JP pline(use_thec,monsterc,"multiply in a fountain");*/ ! pline(use_thec,monsterc,"Àô¤ÎÃæ¤ÇʬÎö¤¹¤ë"); if (u.usym == S_UNICORN) ! /*JP pline(use_thec,monsterc,"use your horn");*/ ! pline(use_thec,monsterc,"³Ñ¤ò»È¤¦"); if (u.umonnum == PM_MIND_FLAYER) ! /*JP pline(use_thec,monsterc,"emit a mental blast");*/ ! pline(use_thec,monsterc,"Àº¿ÀÇȤòȯÀ¸¤µ¤»¤ë"); if (uasmon->msound == MS_SHRIEK) /* worthless, actually */ ! /*JP pline(use_thec,monsterc,"shriek");*/ ! pline(use_thec,monsterc,"¶âÀÚ¤êÀ¼¤ò¤¢¤²¤ë"); if (lays_eggs(uasmon) && flags.female) ! /*JP pline(use_thec,"sit","lay an egg");*/ ! pline(use_thec,"ºÂ¤ë","Íñ¤ò»º¤à"); } /* you now know what an egg of your type looks like */ if (lays_eggs(uasmon)) { *************** *** 436,462 **** spoteffects(); if (passes_walls(uasmon) && u.utrap && u.utraptype == TT_INFLOOR) { u.utrap = 0; ! pline_The("rock seems to no longer trap you."); } else if (likes_lava(uasmon) && u.utrap && u.utraptype == TT_LAVA) { u.utrap = 0; ! pline_The("lava now feels soothing."); } if (amorphous(uasmon) || is_whirly(uasmon) || unsolid(uasmon)) { if (Punished) { ! You("slip out of the iron chain."); unpunish(); } } if (u.utrap && (u.utraptype == TT_WEB || u.utraptype == TT_BEARTRAP) && (amorphous(uasmon) || is_whirly(uasmon) || unsolid(uasmon) || (uasmon->msize <= MZ_SMALL && u.utraptype == TT_BEARTRAP))) { ! You("are no longer stuck in the %s.", ! u.utraptype == TT_WEB ? "web" : "bear trap"); /* probably should burn webs too if PM_FIRE_ELEMENTAL */ u.utrap = 0; } if (uasmon->mlet == S_SPIDER && u.utrap && u.utraptype == TT_WEB) { ! You("orient yourself on the web."); u.utrap = 0; } flags.botl = 1; --- 490,522 ---- spoteffects(); if (passes_walls(uasmon) && u.utrap && u.utraptype == TT_INFLOOR) { u.utrap = 0; ! /*JP pline_The("rock seems to no longer trap you.");*/ ! pline("´ä¤ËÊĤ¸¹þ¤á¤é¤ì¤ë¤³¤È¤Ï¤Ê¤¤¤À¤í¤¦¡¥"); } else if (likes_lava(uasmon) && u.utrap && u.utraptype == TT_LAVA) { u.utrap = 0; ! /*JP pline_The("lava now feels soothing.");*/ ! pline("Íϴ䤬Àº¿À¤òÍî¤Á¤Ä¤«¤»¤Æ¤¯¤ì¤ë¡¥"); } if (amorphous(uasmon) || is_whirly(uasmon) || unsolid(uasmon)) { if (Punished) { ! /*JP You("slip out of the iron chain.");*/ ! You("Å´¤Îº¿¤«¤é¤¹¤ë¤ê¤ÈÈ´¤±¤¿¡¥"); unpunish(); } } if (u.utrap && (u.utraptype == TT_WEB || u.utraptype == TT_BEARTRAP) && (amorphous(uasmon) || is_whirly(uasmon) || unsolid(uasmon) || (uasmon->msize <= MZ_SMALL && u.utraptype == TT_BEARTRAP))) { ! /*JP You("are no longer stuck in the %s.", ! u.utraptype == TT_WEB ? "web" : "bear trap");*/ ! You("%s¤«¤éæ½Ð¤·¤¿¡¥", ! u.utraptype == TT_WEB ? "ÃØéá¤ÎÁã" : "·§¤Îæ«"); /* probably should burn webs too if PM_FIRE_ELEMENTAL */ u.utrap = 0; } if (uasmon->mlet == S_SPIDER && u.utrap && u.utraptype == TT_WEB) { ! /*JP You("orient yourself on the web.");*/ ! You("ÃØéá¤ÎÁã¤Î¾å¤ËŬ±þ¤·¤¿¡¥"); u.utrap = 0; } flags.botl = 1; *************** *** 475,521 **** if (breakarm(uasmon)) { if ((otmp = uarm) != 0) { if (donning(otmp)) cancel_don(); ! You("break out of your armor!"); exercise(A_STR, FALSE); (void) Armor_gone(); useup(otmp); } if ((otmp = uarmc) != 0) { if(otmp->oartifact) { ! Your("cloak falls off!"); (void) Cloak_off(); dropx(otmp); } else { ! Your("cloak tears apart!"); (void) Cloak_off(); useup(otmp); } } #ifdef TOURIST if (uarmu) { ! Your("shirt rips to shreds!"); useup(uarmu); } #endif } else if (sliparm(uasmon)) { if ((otmp = uarm) != 0) { if (donning(otmp)) cancel_don(); ! Your("armor falls around you!"); (void) Armor_gone(); dropx(otmp); } if ((otmp = uarmc) != 0) { if (is_whirly(uasmon)) ! Your("cloak falls, unsupported!"); ! else You("shrink out of your cloak!"); (void) Cloak_off(); dropx(otmp); } #ifdef TOURIST if ((otmp = uarmu) != 0) { if (is_whirly(uasmon)) ! You("seep right through your shirt!"); ! else You("become much too small for your shirt!"); setworn((struct obj *)0, otmp->owornmask & W_ARMU); dropx(otmp); } --- 535,590 ---- if (breakarm(uasmon)) { if ((otmp = uarm) != 0) { if (donning(otmp)) cancel_don(); ! /*JP You("break out of your armor!");*/ ! You("³»¤ò²õ¤·¤ä¤Ö¤Ã¤¿¡ª"); exercise(A_STR, FALSE); (void) Armor_gone(); useup(otmp); } if ((otmp = uarmc) != 0) { if(otmp->oartifact) { ! /*JP Your("cloak falls off!");*/ ! Your("¥¯¥í¡¼¥¯¤Ï椲Íî¤Á¤¿¡ª"); (void) Cloak_off(); dropx(otmp); } else { ! /*JP Your("cloak tears apart!");*/ ! Your("¥¯¥í¡¼¥¯¤Ï¤º¤¿¤º¤¿¤Ë°ú¤­Îö¤«¤ì¤¿¡ª"); (void) Cloak_off(); useup(otmp); } } #ifdef TOURIST if (uarmu) { ! /*JP Your("shirt rips to shreds!");*/ ! Your("¥·¥ã¥Ä¤Ï°ú¤­Îö¤«¤ì¤¿¡ª"); useup(uarmu); } #endif } else if (sliparm(uasmon)) { if ((otmp = uarm) != 0) { if (donning(otmp)) cancel_don(); ! /*JP Your("armor falls around you!");*/ ! Your("³»¤Ï¤¢¤Ê¤¿¤Î¤Þ¤ï¤ê¤ËÍî¤Á¤¿¡ª"); (void) Armor_gone(); dropx(otmp); } if ((otmp = uarmc) != 0) { if (is_whirly(uasmon)) ! /*JP Your("cloak falls, unsupported!");*/ ! Your("¥¯¥í¡¼¥¯¤Ï¤¹¡¼¤Ã¤ÈÍî¤Á¤¿¡ª"); ! /*JP else You("shrink out of your cloak!");*/ ! else You("¥¯¥í¡¼¥¯¤«¤é½Ì¤ß½Ð¤¿¡ª"); (void) Cloak_off(); dropx(otmp); } #ifdef TOURIST if ((otmp = uarmu) != 0) { if (is_whirly(uasmon)) ! /*JP You("seep right through your shirt!");*/ ! You("¥·¥ã¥Ä¤«¤é¤·¤ß½Ð¤¿¡ª"); ! /*JP else You("become much too small for your shirt!");*/ ! else You("¥·¥ã¥Ä¤è¤ê¤º¤Ã¤È¾®¤µ¤¯¤Ê¤Ã¤¿¡ª"); setworn((struct obj *)0, otmp->owornmask & W_ARMU); dropx(otmp); } *************** *** 525,543 **** if ((otmp = uarmg) != 0) { if (donning(otmp)) cancel_don(); /* Drop weapon along with gloves */ ! You("drop your gloves%s!", uwep ? " and weapon" : ""); drop_weapon(0); (void) Gloves_off(); dropx(otmp); } if ((otmp = uarms) != 0) { ! You("can no longer hold your shield!"); (void) Shield_off(); dropx(otmp); } if ((otmp = uarmh) != 0) { if (donning(otmp)) cancel_don(); ! Your("helmet falls to the %s!", surface(u.ux, u.uy)); (void) Helmet_off(); dropx(otmp); } --- 594,615 ---- if ((otmp = uarmg) != 0) { if (donning(otmp)) cancel_don(); /* Drop weapon along with gloves */ ! /*JP You("drop your gloves%s!", uwep ? " and weapon" : "");*/ ! You("¾®¼ê%s¤òÍ¤¿¡ª", uwep ? "¤äÉð´ï" : ""); drop_weapon(0); (void) Gloves_off(); dropx(otmp); } if ((otmp = uarms) != 0) { ! /*JP You("can no longer hold your shield!");*/ ! You("¤â¤¦½â¤ò»ý¤Ã¤Æ¤é¤ì¤Ê¤¤¡ª"); (void) Shield_off(); dropx(otmp); } if ((otmp = uarmh) != 0) { if (donning(otmp)) cancel_don(); ! /*JP Your("helmet falls to the %s!", surface(u.ux, u.uy));*/ ! Your("³õ¤Ï%s¤ËÍî¤Á¤¿¡ª", surface(u.ux, u.uy)); (void) Helmet_off(); dropx(otmp); } *************** *** 547,555 **** if ((otmp = uarmf) != 0) { if (donning(otmp)) cancel_don(); if (is_whirly(uasmon)) ! Your("boots fall away!"); ! else Your("boots %s off your feet!", ! verysmall(uasmon) ? "slide" : "are pushed"); (void) Boots_off(); dropx(otmp); } --- 619,630 ---- if ((otmp = uarmf) != 0) { if (donning(otmp)) cancel_don(); if (is_whirly(uasmon)) ! /*JP Your("boots fall away!");*/ ! Your("·¤¤Ï椲Íî¤Á¤¿¡ª"); ! /*JP else Your("boots %s off your feet!", ! verysmall(uasmon) ? "slide" : "are pushed");*/ ! else Your("·¤¤Ï¤¢¤Ê¤¿¤Î­¤«¤é%s", ! verysmall(uasmon) ? "³ê¤êÍî¤Á¤¿" : "椲Íî¤Á¤¿"); (void) Boots_off(); dropx(otmp); } *************** *** 569,575 **** if (!alone || cantwield(uasmon)) { struct obj *wep = uwep; ! if (alone) You("find you must drop your weapon!"); uwepgone(); if (!wep->cursed || wep->otyp != LOADSTONE) dropx(otmp); --- 644,651 ---- if (!alone || cantwield(uasmon)) { struct obj *wep = uwep; ! /*JP if (alone) You("find you must drop your weapon!");*/ ! if (alone) You("Éð´ï¤òÍ¤¿¤³¤È¤Ëµ¤¤¬¤Ä¤¤¤¿¡ª"); uwepgone(); if (!wep->cursed || wep->otyp != LOADSTONE) dropx(otmp); *************** *** 580,600 **** --- 656,688 ---- void rehumanize() { + /*JP const char *uform = Role_is('E') ? "elven" : "human"; + */ + const char *uform = Role_is('E') ? "¥¨¥ë¥Õ" : "¿Í´Ö"; if (emits_light(uasmon)) del_light_source(LS_MONSTER, (genericptr_t)&youmonst); + /*JP polyman("return to %s form!", uform); + */ + polyman("%s¤ËÌá¤Ã¤¿¡ª", uform); if (u.uhp < 1) { char kbuf[256]; + /*JP Sprintf(kbuf, "reverting to unhealthy %s form", uform); + */ + Sprintf(kbuf, "ÉÔ·ò¹¯¤Ê%s¤Î»Ñ¤ËÌá¤Ã¤Æ", uform); killer_format = KILLED_BY; killer = kbuf; done(DIED); } + /*JP if (!uarmg) selftouch("No longer petrify-resistant, you"); + */ + if (!uarmg) selftouch("¤â¤¦Àв½Äñ¹³ÎϤϤ¢¤Ê¤¿¤Ë¤Ï¤Ê¤¤¡¤"); nomul(0); flags.botl = 1; *************** *** 605,616 **** int dobreathe() { if (Strangled) { ! You_cant("breathe. Sorry."); return(0); } if (!getdir((char *)0)) return(0); if (rn2(4)) ! You("produce a loud and noxious belch."); else { register struct attack *mattk; register int i; --- 693,706 ---- int dobreathe() { if (Strangled) { ! /*JP You_cant("breathe. Sorry.");*/ ! You_cant("©¤òÅǤ¯¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥»ÄÇ°¡¥"); return(0); } if (!getdir((char *)0)) return(0); if (rn2(4)) ! /*JP You("produce a loud and noxious belch.");*/ ! You("Í­ÆǤÊÂ礭¤Ê¤²¤Ã¤×¤ò¤·¤¿¡¥"); else { register struct attack *mattk; register int i; *************** *** 640,646 **** int doremove() { if (!Punished) { ! You("are not chained to anything!"); return(0); } unpunish(); --- 730,737 ---- int doremove() { if (!Punished) { ! /*JP You("are not chained to anything!");*/ ! You("²¿¤â¤Ä¤Ê¤¬¤ì¤Æ¤¤¤Ê¤¤¡ª"); return(0); } unpunish(); *************** *** 654,664 **** if (Levitation || Is_airlevel(&u.uz) || Underwater || Is_waterlevel(&u.uz)) { ! You("must be on the ground to spin a web."); return(0); } if (u.uswallow) { ! You("release web fluid inside %s.", mon_nam(u.ustuck)); if (is_animal(u.ustuck->data)) { expels(u.ustuck, u.ustuck->data, TRUE); return(0); --- 745,757 ---- if (Levitation || Is_airlevel(&u.uz) || Underwater || Is_waterlevel(&u.uz)) { ! /*JP You("must be on the ground to spin a web.");*/ ! You("ÃØéá¤ÎÁã¤òÄ¥¤ë¤Ë¤ÏÃÏÌ̤ξå¤Ë¤¤¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥"); return(0); } if (u.uswallow) { ! /*JP You("release web fluid inside %s.", mon_nam(u.ustuck));*/ ! You("%sÆâ¤ÎÃØéá¤ÎÁã¤òÅǤ­½Ð¤·¤¿¡¥", mon_nam(u.ustuck)); if (is_animal(u.ustuck->data)) { expels(u.ustuck, u.ustuck->data, TRUE); return(0); *************** *** 677,712 **** sweep[0] = '\0'; switch(u.ustuck->data->mattk[i].adtyp) { case AD_FIRE: ! Strcpy(sweep, "ignites and "); break; case AD_ELEC: ! Strcpy(sweep, "fries and "); break; case AD_COLD: Strcpy(sweep, ! "freezes, shatters and "); break; } ! pline_The("web %sis swept away!", sweep); } return(0); } /* default: a nasty jelly-like creature */ ! pline_The("web dissolves into %s.", mon_nam(u.ustuck)); return(0); } if (u.utrap) { ! You("cannot spin webs while stuck in a trap."); return(0); } exercise(A_DEX, TRUE); if (ttmp) switch (ttmp->ttyp) { case PIT: ! case SPIKED_PIT: You("spin a web, covering up the pit."); deltrap(ttmp); bury_objs(u.ux, u.uy); if (Invisible) newsym(u.ux, u.uy); return(1); ! case SQKY_BOARD: pline_The("squeaky board is muffled."); deltrap(ttmp); if (Invisible) newsym(u.ux, u.uy); return(1); --- 770,813 ---- sweep[0] = '\0'; switch(u.ustuck->data->mattk[i].adtyp) { case AD_FIRE: ! /*JP Strcpy(sweep, "ignites and ");*/ ! Strcpy(sweep, "ȯ²Ð¤·"); break; case AD_ELEC: ! /*JP Strcpy(sweep, "fries and ");*/ ! Strcpy(sweep, "¾Ç¤²"); break; case AD_COLD: Strcpy(sweep, ! /*JP "freezes, shatters and ");*/ ! "Åà¤ê¤Ä¤­¡¤¤³¤Ê¤´¤Ê¤Ë¤Ê¤ê"); break; } ! /*JP pline_The("web %sis swept away!", sweep);*/ ! pline("ÃØéá¤ÎÁã¤Ï%s¤Ê¤¯¤Ê¤Ã¤¿¡ª", sweep); } return(0); } /* default: a nasty jelly-like creature */ ! /*JP pline_The("web dissolves into %s.", mon_nam(u.ustuck));*/ ! pline("ÃØéá¤ÎÁã¤Ïʬ²ò¤·¤Æ%s¤Ë¤Ê¤Ã¤¿¡¥", mon_nam(u.ustuck)); return(0); } if (u.utrap) { ! /*JP You("cannot spin webs while stuck in a trap.");*/ ! You("櫤ˤϤޤäƤ¤¤ë´Ö¤ÏÃØéá¤ÎÁã¤òÄ¥¤ì¤Ê¤¤¡¥"); return(0); } exercise(A_DEX, TRUE); if (ttmp) switch (ttmp->ttyp) { case PIT: ! /*JP case SPIKED_PIT: You("spin a web, covering up the pit.");*/ ! case SPIKED_PIT: You("ÃØéá¤ÎÁã¤òÄ¥¤ê¡¤Í·ê¤òʤ¤Ã¤¿¡¥"); deltrap(ttmp); bury_objs(u.ux, u.uy); if (Invisible) newsym(u.ux, u.uy); return(1); ! /*JP case SQKY_BOARD: pline_The("squeaky board is muffled.");*/ ! case SQKY_BOARD: pline("¤­¤·¤àÈĤÏʤ¤ï¤ì¤¿¡¥"); deltrap(ttmp); if (Invisible) newsym(u.ux, u.uy); return(1); *************** *** 714,726 **** case LEVEL_TELEP: case MAGIC_PORTAL: Your("webbing vanishes!"); return(0); ! case WEB: You("make the web thicker."); return(1); case HOLE: case TRAPDOOR: ! You("web over the %s.", ! (ttmp->ttyp == TRAPDOOR) ? "trap door" : "hole"); deltrap(ttmp); if (Invisible) newsym(u.ux, u.uy); return 1; --- 815,831 ---- case LEVEL_TELEP: case MAGIC_PORTAL: Your("webbing vanishes!"); + Your("ÃØéá¤ÎÁã¤Ï¾Ã¤¨¤¿¡ª"); return(0); ! /*JP case WEB: You("make the web thicker.");*/ ! case WEB: You("¤è¤ê¸ü¤¤ÃØéá¤ÎÁã¤òºî¤Ã¤¿¡¥"); return(1); case HOLE: case TRAPDOOR: ! /*JP You("web over the %s.", ! (ttmp->ttyp == TRAPDOOR) ? "trap door" : "hole");*/ ! You("%s¤òÃØéá¤ÎÁã¤Çʤ¤Ã¤¿¡¥", ! (ttmp->ttyp == TRAPDOOR) ? "ÍÈâ" : "·ê"); deltrap(ttmp); if (Invisible) newsym(u.ux, u.uy); return 1; *************** *** 733,739 **** case MAGIC_TRAP: case ANTI_MAGIC: case POLY_TRAP: ! You("have triggered a trap!"); dotrap(ttmp); return(1); default: --- 838,845 ---- case MAGIC_TRAP: case ANTI_MAGIC: case POLY_TRAP: ! /*JP You("have triggered a trap!");*/ ! You("櫤ò»ÏÆ°¤µ¤»¤Æ¤·¤Þ¤Ã¤¿¡ª"); dotrap(ttmp); return(1); default: *************** *** 752,761 **** int dosummon() { ! You("call upon your brethren for help!"); exercise(A_WIS, TRUE); if (!were_summon(uasmon,TRUE)) ! pline("But none arrive."); return(1); } --- 858,869 ---- int dosummon() { ! /*JP You("call upon your brethren for help!");*/ ! You("Ãç´Ö¤ò¸Æ¤ó¤À¡ª"); exercise(A_WIS, TRUE); if (!were_summon(uasmon,TRUE)) ! /*JP pline("But none arrive.");*/ ! pline("¤·¤«¤·¡¤²¿¤âÍè¤Ê¤¤¡¥"); return(1); } *************** *** 767,782 **** char qbuf[QBUFSZ]; if (Blind) { ! You_cant("see anything to gaze at."); return 0; } for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) { if (canseemon(mtmp)) { looked++; if (Invis && !perceives(mtmp->data)) ! pline("%s seems not to notice your gaze.", Monnam(mtmp)); else if (mtmp->minvis && !See_invisible) ! You_cant("see where to gaze at %s.", Monnam(mtmp)); else if (mtmp->m_ap_type == M_AP_FURNITURE || mtmp->m_ap_type == M_AP_OBJECT) { looked--; --- 875,893 ---- char qbuf[QBUFSZ]; if (Blind) { ! /*JP You_cant("see anything to gaze at.");*/ ! You("Ìܤ¬¸«¤¨¤Ê¤¤¤Î¤Ç¡¤âˤá¤Ê¤¤¡¥"); return 0; } for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) { if (canseemon(mtmp)) { looked++; if (Invis && !perceives(mtmp->data)) ! /*JP pline("%s seems not to notice your gaze.", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î¤Ë¤é¤ß¤Ëµ¤¤¬¤Ä¤¤¤Æ¤Ê¤¤¡¥", Monnam(mtmp)); else if (mtmp->minvis && !See_invisible) ! /*JP You_cant("see where to gaze at %s.", Monnam(mtmp));*/ ! You("%s¤Ï¸«¤¨¤Ê¤¤¤Î¤Ç¡¤âˤá¤Ê¤¤", Monnam(mtmp)); else if (mtmp->m_ap_type == M_AP_FURNITURE || mtmp->m_ap_type == M_AP_OBJECT) { looked--; *************** *** 784,797 **** } else if (flags.safe_dog && !Confusion && !Hallucination && mtmp->mtame) { if (mtmp->mnamelth) ! You("avoid gazing at %s.", NAME(mtmp)); else ! You("avoid gazing at your %s.", ! mtmp->data->mname); } else { if (flags.confirm && mtmp->mpeaceful && !Confusion && !Hallucination) { ! Sprintf(qbuf, "Really confuse %s?", mon_nam(mtmp)); if (yn(qbuf) != 'y') continue; setmangry(mtmp); } --- 895,911 ---- } else if (flags.safe_dog && !Confusion && !Hallucination && mtmp->mtame) { if (mtmp->mnamelth) ! /*JP You("avoid gazing at %s.", NAME(mtmp));*/ ! You("%s¤«¤éÌܤò¤½¤é¤·¤Æ¤·¤Þ¤Ã¤¿¡¥", NAME(mtmp)); else ! /*JP You("avoid gazing at your %s.",*/ ! You("%s¤òâˤà¤Î¤ò¤ä¤á¤¿¡¥", ! jtrns_mon(mtmp->data->mname, mtmp->female)); } else { if (flags.confirm && mtmp->mpeaceful && !Confusion && !Hallucination) { ! /*JP Sprintf(qbuf, "Really confuse %s?", mon_nam(mtmp));*/ ! Sprintf(qbuf, "ËÜÅö¤Ë%s¤òº®Í𤵤»¤Þ¤¹¤«¡©", mon_nam(mtmp)); if (yn(qbuf) != 'y') continue; setmangry(mtmp); } *************** *** 800,815 **** looked--; continue; } ! if (!mon_reflects(mtmp,"Your gaze is reflected by %s %s.")){ if (!mtmp->mconf) ! Your("gaze confuses %s!", mon_nam(mtmp)); else ! pline("%s is getting more and more confused.", Monnam(mtmp)); mtmp->mconf = 1; } if ((mtmp->data==&mons[PM_FLOATING_EYE]) && !mtmp->mcan) { ! You("are frozen by %s gaze!", s_suffix(mon_nam(mtmp))); nomul((u.ulevel > 6 || rn2(4)) ? -d((int)mtmp->m_lev+1, --- 914,933 ---- looked--; continue; } ! /*JP if (!mon_reflects(mtmp,"Your gaze is reflected by %s %s.")){*/ ! if (!mon_reflects(mtmp,"¤¢¤Ê¤¿¤Î¤Ë¤é¤ß¤Ï%s¤Î%s¤ÇÈ¿¼Í¤µ¤ì¤¿¡¥")){ if (!mtmp->mconf) ! /*JP Your("gaze confuses %s!", mon_nam(mtmp));*/ ! Your("¤Ë¤é¤ß¤Ï%s¤òº®Í𤵤»¤¿¡ª", mon_nam(mtmp)); else ! /*JP pline("%s is getting more and more confused.",*/ ! pline("%s¤Ï¤Þ¤¹¤Þ¤¹º®Í𤷤¿¡ª", Monnam(mtmp)); mtmp->mconf = 1; } if ((mtmp->data==&mons[PM_FLOATING_EYE]) && !mtmp->mcan) { ! /*JP You("are frozen by %s gaze!",*/ ! You("%s¤Î¤Ë¤é¤ß¤ÇÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡ª", s_suffix(mon_nam(mtmp))); nomul((u.ulevel > 6 || rn2(4)) ? -d((int)mtmp->m_lev+1, *************** *** 819,836 **** --- 937,968 ---- } if ((mtmp->data == &mons[PM_MEDUSA]) && !mtmp->mcan) { pline( + /*JP "Gazing at the awake Medusa is not a very good idea."); + */ + "Ìܤò³Ð¤Þ¤·¤Æ¤¤¤ë¥á¥Ç¥å¡¼¥µ¤òâˤà¤Î¤Ï¸­¤¤¤³¤È¤¸¤ã¤Ê¤¤¡¥"); + /* as if gazing at a sleeping anything is fruitful... */ + /*JP You("turn to stone..."); + */ + You("Àв½¤·¤¿¡¥¡¥¡¥"); killer_format = KILLED_BY; killer = + /*JP "deliberately gazing at Medusa's hideous countenance"; + */ + "¸Î°Õ¤Ë½¹°­¤Ê¥á¥Ç¥å¡¼¥µ¤Î´é¤òâˤó¤Ç"; + done(STONING); } } } } + /*JP if (!looked) You("gaze at no place in particular."); + */ + if (!looked) You("¼ÂºÝ¤Ë¤Ï²¿¤ââˤá¤Ê¤«¤Ã¤¿¡¥"); return 1; } *************** *** 838,844 **** dohide() { if (u.uundetected || u.usym == S_MIMIC_DEF) { ! You("are already hiding."); return(0); } if (u.usym == S_MIMIC) { --- 970,977 ---- dohide() { if (u.uundetected || u.usym == S_MIMIC_DEF) { ! /*JP You("are already hiding.");*/ ! You("¤â¤¦±£¤ì¤Æ¤¤¤ë¡¥"); return(0); } if (u.usym == S_MIMIC) { *************** *** 855,863 **** { struct monst *mtmp, *nmon; ! You("concentrate."); if (rn2(3)) return 0; ! pline("A wave of psychic energy pours out."); for(mtmp=fmon; mtmp; mtmp = nmon) { int u_sen; --- 988,998 ---- { struct monst *mtmp, *nmon; ! /*JP You("concentrate.");*/ ! You("½¸Ã椷¤¿¡¥"); if (rn2(3)) return 0; ! /*JP pline("A wave of psychic energy pours out.");*/ ! pline("Àº¿À¥¨¥Í¥ë¥®¡¼ÇȤ¬Êü»¶¤·¤¿¡¥"); for(mtmp=fmon; mtmp; mtmp = nmon) { int u_sen; *************** *** 868,877 **** continue; u_sen = telepathic(mtmp->data) && !mtmp->mcansee; if (u_sen || (telepathic(mtmp->data) && rn2(2)) || !rn2(10)) { ! You("lock in on %s %s.", s_suffix(mon_nam(mtmp)), u_sen ? "telepathy" : telepathic(mtmp->data) ? "latent telepathy" : ! "mind"); mtmp->mhp -= rnd(15); if (mtmp->mhp <= 0) killed(mtmp); --- 1003,1016 ---- continue; u_sen = telepathic(mtmp->data) && !mtmp->mcansee; if (u_sen || (telepathic(mtmp->data) && rn2(2)) || !rn2(10)) { ! /*JP You("lock in on %s %s.", s_suffix(mon_nam(mtmp)), u_sen ? "telepathy" : telepathic(mtmp->data) ? "latent telepathy" : ! "mind");*/ ! pline("%s¤Î%s¡¥", mon_nam(mtmp), ! u_sen ? "Àº¿À¤ËÆþ¤ê¹þ¤ó¤À" : ! telepathic(mtmp->data) ? "ÀøºßŪÀº¿À¤ËÆþ¤ê¹þ¤ó¤À" : ! "¿¼ÁØ°Õ¼±¤ËÀø¤ê¹þ¤ó¤À"); mtmp->mhp -= rnd(15); if (mtmp->mhp <= 0) killed(mtmp); *************** *** 883,889 **** static void uunstick() { ! pline("%s is no longer in your clutches.", Monnam(u.ustuck)); u.ustuck = 0; } --- 1022,1029 ---- static void uunstick() { ! /*JP pline("%s is no longer in your clutches.", Monnam(u.ustuck));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î¼ê¤«¤éƨ¤ì¤¿¡¥", Monnam(u.ustuck)); u.ustuck = 0; } *************** *** 891,897 **** skinback() { if (uskin) { ! Your("skin returns to its original form."); uarm = uskin; uskin = (struct obj *)0; /* undo save/restore hack */ --- 1031,1038 ---- skinback() { if (uskin) { ! /*JP Your("skin returns to its original form.");*/ ! Your("ÈéÉæ¤Ï¤½¤ìËÜÍè¤Î»Ñ¤ËÌá¤Ã¤¿¡¥"); uarm = uskin; uskin = (struct obj *)0; /* undo save/restore hack */ *************** *** 905,910 **** --- 1046,1052 ---- body_part(part) int part; { + #if 0 /*JP*/ static NEARDATA const char *humanoid_parts[] = { "arm", "eye", "face", "finger", "fingertip", "foot", "hand", "handed", "head", "leg", *************** *** 936,941 **** --- 1078,1115 ---- "large scale tip", "rear region", "scale gap", "scale gapped", "head", "rear region", "light headed", "neck", "length", "rear scale", "scales" }; + #endif + static NEARDATA const char + *humanoid_parts[] = { "ÏÓ", "ÌÜ", "´é", "»Ø", + "»ØÀè", "­", "¼ê", "¼ê¤Ë¤¹¤ë", "Ƭ", "­", + "¤á¤Þ¤¤¤¬¤·¤¿", "¼ó", "Çعü", "ÄÞÀè", "ȱ" }, + *jelly_parts[] = { "µ¼»÷¿¨¼ê", "¹õ¤¤ÈÃÅÀ", "Á°ÌÌ", + "µ¼»÷¿¨¼ê¤ÎÀè", "µ¼»÷¿¨¼ê", + "µ¼»÷¿¨¼ê¤Î´´", "¿¨¼ê", "°®¤ë", "Ǿ¤ÎÎΰè", + "²¼Êý¤Îµ¼»÷¿¨¼ê", "¤Í¤Ð¤Í¤Ð¤·¤Æ¤­¤¿", "Ãæ´ÖÎΰè", "ɽÌÌ", + "µ¼»÷¿¨¼ê", "ÇÈÌæ" }, + *animal_parts[] = { "Á°Â­", "ÌÜ", "´é", "Á°ÄÞ", "ÄÞÀè", + "¸åÄÞ", "Á°ÄÞ", "¤Ò¤Ã¤«¤±¤ë", "Ƭ", "¸å­", + "¤á¤Þ¤¤¤¬¤·¤¿", "¼ó", "Çعü", "¸åÄÞÀè", "ÌÓÈé" }, + *horse_parts[] = { "Á°Â­", "ÌÜ", "´é", "Á°Äý", "Äý", + "¸åÄý", "Á°ÄÞ", "Äý¤Ë¤Ï¤µ¤à", "Ƭ", "¸å­", + "¤á¤Þ¤¤¤¬¤·¤¿", "¼ó", "Çعü", "¸åÄÞÀè", "¤¿¤Æ¤¬¤ß" }, + *sphere_parts[] = { "Æ͵¯", "»ë³Ð¿À·Ð", "ÂÎ", "¿¨¼ê", + "¿¨¼ê¤ÎÀè", "²¼¤ÎÆ͵¯", "¿¨¼ê", "¿¨¼ê¤Ë»ý¤Ä", + "ÂÎ", "²¼¤Î¿¨¼ê", "²óž¤·¤¿", "Ãæ¿´Àþ", "ÂÎ", + "²¼¤Î¿¨¼ê¤ÎÀè", "Á¡ÌÓ" }, + *fungus_parts[] = { "¶Ý»åÂÎ", "»ë³ÐÎΰè", "Á°", "¶Ý»å", + "¶Ý»å", "º¬", "¿¨¼ê", "¿¨¼ê¤Ë¤«¤é¤ß¤Ä¤±¤ë", "»±", + "º¬·Ô", "º®Í𤹤ë", "¼´", "º¬", "º¬·Ô¤ÎÀè", "²ê˦" }, + *vortex_parts[] = { "Îΰè", "ÌÜ", "Á°", "¾®¤µ¤¤Î®¤ì", + "¾®¤µ¤¤Î®¤ì", "²¼Éô¤Îή¤ì", "±²´¬", "±²¤Ë´¬¤¯", + "±²¤ÎÃæ¿´", "²¼Éô¤Îή¤ì", "º®Í𤷤¿", "Ãæ¿´Éô", + "ή¤ì", "³°¼þ", "µ¤Î®" }, + *snake_parts[] = { "Âಽ¤·¤¿Â­", "ÌÜ", "´é", "Â礭¤ÊÎÚ", + "Â礭¤ÊÎÚ¤ÎÀè", "¸åÉôʬ", "Îڤηä´Ö", "Îڤηä´Ö¤Ë¤Ä¤±¤ë", + "Ƭ", "¸åÉôʬ", "¤á¤Þ¤¤¤¬¤·¤¿", "¼ó", "ÂÎ", + "¸åÉôʬ¤Î³»", "ÎÚ" }; + /* claw attacks are overloaded in mons[]; most humanoids with such attacks should still reference hands rather than claws */ static const char not_claws[] = { *************** *** 945,950 **** --- 1119,1128 ---- '\0' /* string terminator; assert( S_xxx != 0 ); */ }; + #if 0 /*JP*/ + /* paw¤Ï¸¤¤È¤«Ç­¤Î¼ê¡¤claw¤Ï¥¿¥«¤Î­¤Î¤è¤¦¤Ê¤«¤®¤Ä¤á¡¤ + /* ¤É¤Ã¤Á¤é¤âÆüËܸ줸¤ã¡Ö¼ê¡×¤Ç¤¤¤¤¤Ç¤·¤ç¤¦¡¥ + if (part == HAND || part == HANDED) { /* some special cases */ if (u.usym == S_DOG || u.usym == S_FELINE || u.usym == S_YETI) return part == HAND ? "paw" : "pawed"; *************** *** 953,958 **** --- 1131,1137 ---- && u.umonnum != PM_INCUBUS && u.umonnum != PM_SUCCUBUS) return part == HAND ? "claw" : "clawed"; } + #endif if (humanoid(uasmon) && (part==ARM || part==FINGER || part==FINGERTIP || part==HAND || part==HANDED)) return humanoid_parts[part]; if (u.usym==S_CENTAUR || u.usym==S_UNICORN) return horse_parts[part]; *************** *** 1017,1023 **** u.mh += heal; if (u.mh > u.mhmax) u.mh = u.mhmax; flags.botl = 1; ! pline("Strangely, you feel better than before."); exercise(A_STR, TRUE); } } --- 1196,1203 ---- u.mh += heal; if (u.mh > u.mhmax) u.mh = u.mhmax; flags.botl = 1; ! /*JP pline("Strangely, you feel better than before.");*/ ! pline("´ñ̯¤Ê¤³¤È¤Ë¡¤Á°¤è¤êµ¤Ê¬¤¬¤è¤¯¤Ê¤Ã¤¿¡¥"); exercise(A_STR, TRUE); } } diff -c -r ../nethack-3.2.2/src/potion.c ./src/potion.c *** ../nethack-3.2.2/src/potion.c Sat Dec 28 21:53:48 1996 --- ./src/potion.c Tue Sep 23 07:10:12 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #ifdef OVLB *************** *** 62,69 **** if (!xtime && old) { if (talk) ! You_feel("less %s now.", ! Hallucination ? "trippy" : "confused"); } if ((xtime && !old) || (!xtime && old)) flags.botl = TRUE; --- 69,78 ---- if (!xtime && old) { if (talk) ! /*JP You_feel("less %s now.", ! Hallucination ? "trippy" : "confused");*/ ! You("%s¤¬¤ª¤µ¤Þ¤Ã¤¿", ! Hallucination ? "¥Ø¥í¥Ø¥í" : "º®Íð"); } if ((xtime && !old) || (!xtime && old)) flags.botl = TRUE; *************** *** 79,89 **** if (!xtime && old) { if (talk) ! You_feel("%s now.", ! Hallucination ? "less wobbly" : "a bit steadier"); } if (xtime && !old) { ! if (talk) You("stagger..."); } if ((!xtime && old) || (xtime && !old)) flags.botl = TRUE; --- 88,101 ---- if (!xtime && old) { if (talk) ! /*JP You_feel("%s now.", ! Hallucination ? "less wobbly" : "a bit steadier");*/ ! You_feel("%s¡¥", ! Hallucination ? "¤Ø¤í¤ê¤é¤¬¤ª¤µ¤Þ¤Ã¤¿" : "¤À¤ó¤À¤ó¤·¤Ã¤«¤ê¤·¤Æ¤­¤¿"); } if (xtime && !old) { ! /*JP if (talk) You("stagger...");*/ ! if (talk) You("¤¯¤é¤¯¤é¤·¤¿¡¥¡¥¡¥"); } if ((!xtime && old) || (xtime && !old)) flags.botl = TRUE; *************** *** 103,113 **** if (u.usym == S_FUNGUS) return; if (!old) { /* newly sick */ ! You_feel("deathly sick."); } else { /* already sick */ ! if (talk) You_feel("%s worse.", ! xtime <= Sick/2L ? "much" : "even"); } set_itimeout(&Sick, xtime); u.usick_type |= type; --- 115,128 ---- if (u.usym == S_FUNGUS) return; if (!old) { /* newly sick */ ! /*JP You_feel("deathly sick.");*/ ! You("ɵ¤¤Ç»à¤Ë¤½¤¦¤À¡¥"); } else { /* already sick */ ! /*JP if (talk) You_feel("%s worse.", ! xtime <= Sick/2L ? "much" : "even");*/ ! if (talk) You("%s°­²½¤·¤¿¤è¤¦¤Êµ¤¤¬¤¹¤ë¡¥", ! xtime <= Sick/2L ? "¤µ¤é¤Ë" : "¤â¤Ã¤È"); } set_itimeout(&Sick, xtime); u.usick_type |= type; *************** *** 116,125 **** /* was sick, now not */ u.usick_type &= ~type; if (u.usick_type) { /* only partly cured */ ! if (talk) You_feel("somewhat better."); set_itimeout(&Sick, Sick * 2); /* approximation */ } else { ! if (talk) pline("What a relief!"); Sick = 0L; /* set_itimeout(&Sick, 0L) */ } flags.botl = TRUE; --- 131,142 ---- /* was sick, now not */ u.usick_type &= ~type; if (u.usick_type) { /* only partly cured */ ! /*JP if (talk) You_feel("somewhat better.");*/ ! if (talk) You("¤Á¤ç¤Ã¤È¤è¤¯¤Ê¤Ã¤¿¡¥"); set_itimeout(&Sick, Sick * 2); /* approximation */ } else { ! /*JP if (talk) pline("What a relief!");*/ ! if (talk) pline("¤¢¤¢¤³¤ì¤Ç¤Û¤Ã¤È¤·¤¿¡ª"); Sick = 0L; /* set_itimeout(&Sick, 0L) */ } flags.botl = TRUE; *************** *** 145,151 **** long old = Vomiting; if(!xtime && old) ! if(talk) You_feel("much less nauseous now."); set_itimeout(&Vomiting, xtime); } --- 162,169 ---- long old = Vomiting; if(!xtime && old) ! /*JP if(talk) You_feel("much less nauseous now.");*/ ! if(talk) You("ÅǤ­µ¤¤¬¤ª¤µ¤Þ¤Ã¤¿¡¥"); set_itimeout(&Vomiting, xtime); } *************** *** 164,180 **** if (!xtime && old && !Blindfolded && haseyes(uasmon)) { if (talk) { if (Hallucination) ! pline("Far out! Everything is all cosmic again!"); ! else You("can see again."); } changed = TRUE; } if (xtime && !old && !Blindfolded && haseyes(uasmon)) { if (talk) { if (Hallucination) ! pline("Oh, bummer! Everything is dark! Help!"); else ! pline("A cloud of darkness falls upon you."); } changed = TRUE; --- 182,202 ---- if (!xtime && old && !Blindfolded && haseyes(uasmon)) { if (talk) { if (Hallucination) ! /*JP pline("Far out! Everything is all cosmic again!");*/ ! pline("¤²¡ª¤Ê¤Ë¤â¤«¤â¤¬¤Þ¤¿Æú¿§¤Ë¸«¤¨¤ë¡ª"); ! /*JP else You("can see again.");*/ ! else You("¤Þ¤¿¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥"); } changed = TRUE; } if (xtime && !old && !Blindfolded && haseyes(uasmon)) { if (talk) { if (Hallucination) ! /*JP pline("Oh, bummer! Everything is dark! Help!");*/ ! pline("°Å¤¤¤è¡¼¡¤¶¹¤¤¤è¡¼¡¤¶²¤¤¤è¡¼¡ª"); else ! /*JP pline("A cloud of darkness falls upon you.");*/ ! pline("°Å¹õ¤Î±À¤¬¤¢¤Ê¤¿¤òʤ¤Ã¤¿¡¥"); } changed = TRUE; *************** *** 203,211 **** #endif if (!xtime) ! message = "Everything looks SO boring now."; else ! message = "Oh wow! Everything seems so cosmic!"; if (mask) { if (HHallucination) changed = TRUE; --- 225,235 ---- #endif if (!xtime) ! /*JP message = "Everything looks SO boring now.";*/ ! message = "²¿¤â¤«¤â¤¬¡öÂà¶þ¡ö¤Ë¸«¤¨¤ë¡¥"; else ! /*JP message = "Oh wow! Everything seems so cosmic!";*/ ! message = "¥ï¡¼¥ª¡ª²¿¤â¤«¤âÆú¿§¤Ë¸«¤¨¤ë¡ª"; if (mask) { if (HHallucination) changed = TRUE; *************** *** 237,255 **** struct monst *mtmp = makemon(&mons[PM_GHOST], u.ux, u.uy, NO_MM_FLAGS); if (!mtmp) { ! pline("This bottle turns out to be empty."); return; } if (Blind) { ! pline("As you open the bottle, %s emerges.", something); return; } ! pline("As you open the bottle, an enormous %s emerges!", ! Hallucination ? rndmonnam() : (const char *)"ghost"); if(flags.verbose) ! You("are frightened to death, and unable to move."); nomul(-3); ! nomovemsg = "You regain your composure."; } int --- 261,285 ---- struct monst *mtmp = makemon(&mons[PM_GHOST], u.ux, u.uy, NO_MM_FLAGS); if (!mtmp) { ! /*JP pline("This bottle turns out to be empty.");*/ ! pline("ÉӤ϶õ¤Ã¤Ý¤À¤Ã¤¿¡¥"); return; } if (Blind) { ! /*JP pline("As you open the bottle, %s emerges.", something);*/ ! pline("ÉÓ¤ò³«¤±¤ë¤È¡¤²¿¤«¤¬½Ð¤Æ¤­¤¿¡¥"); return; } ! /*JP pline("As you open the bottle, an enormous %s emerges!", ! Hallucination ? rndmonnam() : (const char *)"ghost");*/ ! pline("ÉÓ¤ò³«¤±¤ë¤È¡¤µðÂç¤Ê%s¤¬½Ð¤Æ¤­¤¿¡ª", ! Hallucination ? rndmonnam() : (const char *)"Í©Îî"); if(flags.verbose) ! /*JP You("are frightened to death, and unable to move.");*/ ! You("¤Þ¤Ã¤µ¤ª¤Ë¤Ê¤Ã¤Æ¶Ã¤­¡¤Æ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡¥"); nomul(-3); ! /*JP nomovemsg = "You regain your composure.";*/ ! nomovemsg = "¤¢¤Ê¤¿¤ÏÊ¿ÀŤò¼è¤êÌᤷ¤¿¡¥"; } int *************** *** 258,269 **** const char *potion_descr; if (Strangled) { ! pline("If you can't breathe air, how can you drink liquid?"); return 0; } /* Is there a fountain to drink from here? */ if (IS_FOUNTAIN(levl[u.ux][u.uy].typ) && !Levitation) { ! if(yn("Drink from the fountain?") == 'y') { drinkfountain(); return 1; } --- 288,301 ---- const char *potion_descr; if (Strangled) { ! /*JP pline("If you can't breathe air, how can you drink liquid?");*/ ! pline("©¤â¤Ç¤­¤Ê¤¤¤Î¤Ë¡¤¤É¤¦¤ä¤Ã¤Æ±ÕÂΤò°û¤à¤ó¤À¤¤¡©"); return 0; } /* Is there a fountain to drink from here? */ if (IS_FOUNTAIN(levl[u.ux][u.uy].typ) && !Levitation) { ! /*JP if(yn("Drink from the fountain?") == 'y') {*/ ! if(yn("Àô¤Î¿å¤ò°û¤ß¤Þ¤¹¤«¡©") == 'y') { drinkfountain(); return 1; } *************** *** 271,277 **** #ifdef SINKS /* Or a kitchen sink? */ if (IS_SINK(levl[u.ux][u.uy].typ)) { ! if (yn("Drink from the sink?") == 'y') { drinksink(); return 1; } --- 303,310 ---- #ifdef SINKS /* Or a kitchen sink? */ if (IS_SINK(levl[u.ux][u.uy].typ)) { ! /*JP if (yn("Drink from the sink?") == 'y') {*/ ! if (yn("ή¤·Âæ¤Î¿å¤ò°û¤ß¤Þ¤¹¤«¡©") == 'y') { drinksink(); return 1; } *************** *** 280,292 **** /* Or are you surrounded by water? */ if (Underwater) { ! if (yn("Drink the water around you?") == 'y') { ! pline("Do you know what lives in this water!"); return 1; } } ! otmp = getobj(beverages, "drink"); if(!otmp) return(0); #ifndef NO_SIGNAL otmp->in_use = TRUE; /* you've opened the stopper */ --- 313,328 ---- /* Or are you surrounded by water? */ if (Underwater) { ! /*JP if (yn("Drink the water around you?") == 'y') {*/ ! if (yn("¤Þ¤ï¤ê¤Î¿å¤ò°û¤ß¤Þ¤¹¤«¡©") == 'y') { ! /*JP pline("Do you know what lives in this water!");*/ ! pline("¤³¤Î¿åÃæ¤Ç²¿¤¬À¸¤­¤Æ¤¤¤ë¤Î¤«ÃΤäƤ뤫¤¤¡ª"); return 1; } } ! /*JP otmp = getobj(beverages, "drink");*/ ! otmp = getobj(beverages, "°û¤à"); if(!otmp) return(0); #ifndef NO_SIGNAL otmp->in_use = TRUE; /* you've opened the stopper */ *************** *** 321,328 **** if(nothing) { unkn++; ! You("have a %s feeling for a moment, then it passes.", ! Hallucination ? "normal" : "peculiar"); } if(otmp->dknown && !objects[otmp->otyp].oc_name_known) { if(!unkn) { --- 357,367 ---- if(nothing) { unkn++; ! /*JP You("have a %s feeling for a moment, then it passes.", ! Hallucination ? "normal" : "peculiar");*/ ! ! You("%sµ¤Ê¬¤Ë¤ª¤½¤ï¤ì¤¿¤¬¡¤¤¹¤°¤Ë¾Ã¤¨¤µ¤Ã¤¿¡¥", ! Hallucination ? "ÉáÄ̤Î" : "ÆÈÆäÊ"); } if(otmp->dknown && !objects[otmp->otyp].oc_name_known) { if(!unkn) { *************** *** 346,356 **** case SPE_RESTORE_ABILITY: unkn++; if(otmp->cursed) { ! pline("Ulch! This makes you feel mediocre!"); break; } else { ! pline("Wow! This makes you feel %s!", ! (otmp->blessed) ? "great" : "good"); i = rn2(A_MAX); /* start at a random point */ for (ii = 0; ii < A_MAX; ii++) { lim = AMAX(i); --- 385,398 ---- case SPE_RESTORE_ABILITY: unkn++; if(otmp->cursed) { ! /*JP pline("Ulch! This makes you feel mediocre!");*/ ! pline("¤¦¡¼¤ó¡¢¤É¤¦¤â¤µ¤¨¤Ê¤¤¤Ê¤¢¡£"); break; } else { ! /*JP pline("Wow! This makes you feel %s!", ! (otmp->blessed) ? "great" : "good");*/ ! pline("¥ï¡¼¥ª¡ªµ¤Ê¬¤¬%s¤Ê¤Ã¤¿¡ª", ! (otmp->blessed) ? "¤È¤Æ¤â¤è¤¯" : "¤è¤¯"); i = rn2(A_MAX); /* start at a random point */ for (ii = 0; ii < A_MAX; ii++) { lim = AMAX(i); *************** *** 373,379 **** break; case POT_WATER: if(!otmp->blessed && !otmp->cursed) { ! pline("This tastes like water."); u.uhunger += rnd(10); newuhs(FALSE); break; --- 415,422 ---- break; case POT_WATER: if(!otmp->blessed && !otmp->cursed) { ! /*JP pline("This tastes like water.");*/ ! pline("¿å¤Î¤è¤¦¤ÊÌ£¤¬¤¹¤ë"); u.uhunger += rnd(10); newuhs(FALSE); break; *************** *** 382,406 **** --- 425,464 ---- if(is_undead(uasmon) || is_demon(uasmon) || u.ualign.type == A_CHAOTIC) { if(otmp->blessed) { + /*JP pline("This burns like acid!"); + */ + pline("»À¤Î¤è¤¦¤ËÀ夬¤Ò¤ê¤Ò¤ê¤¹¤ë¡ª"); exercise(A_CON, FALSE); if (u.ulycn >= LOW_PM) { + /*JP Your("affinity to %s disappears!", + */ + Your("%s¤Ø¤Î¿Æ¶á´¶¤Ï¤Ê¤¯¤Ê¤Ã¤¿¡ª", makeplural(mons[u.ulycn].mname)); if (uasmon == &mons[u.ulycn]) you_unwere(FALSE); u.ulycn = NON_PM; /* cure lycanthropy */ } + /*JP losehp(d(2,6), "potion of holy water", KILLED_BY_AN); + */ + losehp(d(2,6), "À»¿å¤Ç", KILLED_BY_AN); } else if(otmp->cursed) { + /*JP You_feel("quite proud of yourself."); + */ + You("¼«Âº¿´¤ò´¶¤¸¤¿¡¥"); healup(d(2,6),0,0,0); if (u.ulycn >= LOW_PM && !Upolyd) you_were(); exercise(A_CON, TRUE); } } else { if(otmp->blessed) { + /*JP You_feel("full of awe."); + */ + You("°ÚÉݤÎÇ°¤Ë¤«¤é¤ì¤¿¡¥"); make_sick(0L, (char *) 0, TRUE, SICK_ALL); exercise(A_WIS, TRUE); exercise(A_CON, TRUE); *************** *** 409,419 **** --- 467,484 ---- /* make_confused(0L,TRUE); */ } else { if(u.ualign.type == A_LAWFUL) { + /*JP pline("This burns like acid!"); losehp(d(2,6), "potion of unholy water", + */ + pline("»À¤Î¤è¤¦¤ËÀ夬¤Ò¤ê¤Ò¤ê¤¹¤ë¡ª"); + losehp(d(2,6), "ÉÔ¾ô¿å¤Ç", KILLED_BY_AN); } else + /*JP You_feel("full of dread."); + */ + You("¶²ÉݤÎÇ°¤Ë¤«¤é¤ì¤¿¡¥"); if (u.ulycn >= LOW_PM && !Upolyd) you_were(); exercise(A_CON, FALSE); } *************** *** 421,429 **** --- 486,499 ---- break; case POT_BOOZE: unkn++; + /*JP pline("Ooph! This tastes like %s%s!", otmp->odiluted ? "watered down " : "", Hallucination ? "dandelion wine" : "liquid fire"); + */ + pline("¤¦¤§¤Ã¤×¡ª¤³¤ì¤Ï%s%s¤Î¤è¤¦¤ÊÌ£¤¬¤¹¤ë¡ª", + otmp->odiluted ? "¿å¤ÇÇö¤á¤¿" : "", + Hallucination ? "¥¿¥ó¥Ý¥Ý¥ï¥¤¥ó" : "dzÎÁ¥ª¥¤¥ë"); if (!otmp->blessed) make_confused(itimeout_incr(HConfusion, d(3,8)), FALSE); /* the whiskey makes us feel better */ *************** *** 432,456 **** newuhs(FALSE); exercise(A_WIS, FALSE); if(otmp->cursed) { ! You("pass out."); multi = -rnd(15); ! nomovemsg = "You awake with a headache."; } break; case POT_ENLIGHTENMENT: if(otmp->cursed) { unkn++; ! You("have an uneasy feeling..."); exercise(A_WIS, FALSE); } else { if (otmp->blessed) { (void) adjattrib(A_INT, 1, FALSE); (void) adjattrib(A_WIS, 1, FALSE); } ! You_feel("self-knowledgeable..."); display_nhwindow(WIN_MESSAGE, FALSE); enlightenment(0); ! pline_The("feeling subsides."); exercise(A_WIS, TRUE); } break; --- 502,531 ---- newuhs(FALSE); exercise(A_WIS, FALSE); if(otmp->cursed) { ! /*JP You("pass out.");*/ ! You("µ¤À䤷¤¿"); multi = -rnd(15); ! /*JP nomovemsg = "You awake with a headache.";*/ ! nomovemsg = "Ìܤ¬¤µ¤á¤¿¤¬Æ¬Äˤ¬¤¹¤ë¡¥"; } break; case POT_ENLIGHTENMENT: if(otmp->cursed) { unkn++; ! /*JP You("have an uneasy feeling...");*/ ! You("É԰¤ʵ¤»ý¤Ë¤Ê¤Ã¤¿¡¥¡¥¡¥"); exercise(A_WIS, FALSE); } else { if (otmp->blessed) { (void) adjattrib(A_INT, 1, FALSE); (void) adjattrib(A_WIS, 1, FALSE); } ! /*JP You_feel("self-knowledgeable...");*/ ! You("¼«Ê¬¼«¿È¤¬È½¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥¡¥¡¥"); display_nhwindow(WIN_MESSAGE, FALSE); enlightenment(0); ! /*JP pline_The("feeling subsides.");*/ ! pline("¤½¤Î´¶¤¸¤Ï¤Ê¤¯¤Ê¤Ã¤¿¡¥"); exercise(A_WIS, TRUE); } break; *************** *** 460,478 **** nothing++; } else if (Blind || /* current effect sensed */ (HInvis & I_BLOCKED)) { ! You_feel("rather airy."), unkn++; } else if (See_invisible) { /* eyes override sensing */ nothing++; } else { /* current effect seen */ pline(Hallucination ? ! "Far out, man! You can see right through yourself!" : ! "Gee! All of a sudden, you can't see yourself."); } if (otmp->blessed) HInvis |= FROMOUTSIDE; else incr_itimeout(&HInvis, rn1(15,31)); newsym(u.ux,u.uy); /* update position */ if(otmp->cursed) { ! pline("For some reason, you feel your presence is known."); aggravate(); } break; --- 535,558 ---- nothing++; } else if (Blind || /* current effect sensed */ (HInvis & I_BLOCKED)) { ! /*JP You_feel("rather airy."), unkn++;*/ ! You("¶õµ¤¤Î¤è¤¦¤Ë¤Ê¤Ã¤¿µ¤¤¬¤·¤¿¡¥"), unkn++; ! } else if (See_invisible) { /* eyes override sensing */ nothing++; } else { /* current effect seen */ pline(Hallucination ? ! /*JP "Far out, man! You can see right through yourself!" : ! "Gee! All of a sudden, you can't see yourself.");*/ ! "¤Ê¤ó¤Æ¤³¤Ã¤¿¤¤¡ª¼«Ê¬¼«¿È¤òÄ̤·¤Æ¿¿¼Â¤¬¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡ª": ! "¤²¡ªÆÍÁ³¤¢¤Ê¤¿¤Î»Ñ¤Ï¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡¥"); } if (otmp->blessed) HInvis |= FROMOUTSIDE; else incr_itimeout(&HInvis, rn1(15,31)); newsym(u.ux,u.uy); /* update position */ if(otmp->cursed) { ! /*JP pline("For some reason, you feel your presence is known.");*/ ! pline("¤Ê¤ó¤é¤«¤ÎÍýͳ¤Ç¡¤Â¸ºß¤¬ÃΤé¤ì¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); aggravate(); } break; *************** *** 481,492 **** case POT_FRUIT_JUICE: unkn++; if (otmp->cursed) ! pline("Yecch! This tastes %s.", ! Hallucination ? "overripe" : "rotten"); else pline(Hallucination ? ! "This tastes like 10%% real %s%s juice all-natural beverage." : "This tastes like %s%s juice.", ! otmp->odiluted ? "reconstituted " : "", pl_fruit); if (otmp->otyp == POT_FRUIT_JUICE) { u.uhunger += (otmp->odiluted ? 5 : 10) * (2 + bcsign(otmp)); newuhs(FALSE); --- 561,577 ---- case POT_FRUIT_JUICE: unkn++; if (otmp->cursed) ! /*JP pline("Yecch! This tastes %s.", ! Hallucination ? "overripe" : "rotten");*/ ! pline("¥ª¥§¡¼¡ª¤³¤ì¤Ï%s¥¸¥å¡¼¥¹¤ÎÌ£¤¬¤¹¤ë¡¥", ! Hallucination ? "½Ï¤·¤¹¤®¤¿" : "Éå¤Ã¤¿"); else pline(Hallucination ? ! /*JP "This tastes like 10%% real %s%s juice all-natural beverage." : "This tastes like %s%s juice.", ! otmp->odiluted ? "reconstituted " : "", pl_fruit);*/ ! "10%%%s¤Î½ã¼«Á³°ûÎÁ¤Î¤è¤¦¤ÊÌ£¤¬¤¹¤ë¡¥" : ! "%s%s¥¸¥å¡¼¥¹¤Î¤è¤¦¤ÊÌ£¤¬¤¹¤ë¡¥", ! otmp->odiluted ? "À®Ê¬Ä´À°¤µ¤ì¤¿" : "", pl_fruit); if (otmp->otyp == POT_FRUIT_JUICE) { u.uhunger += (otmp->odiluted ? 5 : 10) * (2 + bcsign(otmp)); newuhs(FALSE); *************** *** 508,517 **** break; case POT_PARALYSIS: if (Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) ! You("are motionlessly suspended."); else ! Your("%s are frozen to the %s!", ! makeplural(body_part(FOOT)), surface(u.ux, u.uy)); nomul(-(rn1(10, 25 - 12*bcsign(otmp)))); nomovemsg = You_can_move_again; exercise(A_DEX, FALSE); --- 593,604 ---- break; case POT_PARALYSIS: if (Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)) ! /*JP You("are motionlessly suspended.");*/ ! You("¶õÃæ¤ÇÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡¥"); else ! /*JP Your("%s are frozen to the %s!", ! makeplural(body_part(FOOT)), surface(u.ux, u.uy));*/ ! You("Æ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡ª"); nomul(-(rn1(10, 25 - 12*bcsign(otmp)))); nomovemsg = You_can_move_again; exercise(A_DEX, FALSE); *************** *** 529,547 **** exercise(A_WIS, TRUE); break; case POT_SICKNESS: ! pline("Yecch! This stuff tastes like poison."); if (otmp->blessed) { ! pline("(But in fact it was mildly stale %s juice.)", pl_fruit); if (!Role_is('H')) ! losehp(1, "mildly contaminated potion", KILLED_BY_AN); } else { if(Poison_resistance) pline( ! "(But in fact it was biologically contaminated %s juice.)", pl_fruit); if (Role_is('H')) ! pline("Fortunately, you have been immunized."); else { int typ = rn2(A_MAX); poisontell(typ); --- 616,639 ---- exercise(A_WIS, TRUE); break; case POT_SICKNESS: ! /*JP pline("Yecch! This stuff tastes like poison.");*/ ! pline("¥¦¥§¡¼¡ªÆǤΤ褦¤ÊÌ£¤¬¤¹¤ë¡¥"); if (otmp->blessed) { ! /*JP pline("(But in fact it was mildly stale %s juice.)",*/ ! pline("(¤·¤«¤·¼ÂºÝ¤½¤ì¤ÏÉå¤ê¤«¤±¤¿%s¥¸¥å¡¼¥¹¤À¡¥)", pl_fruit); if (!Role_is('H')) ! /*JP losehp(1, "mildly contaminated potion", KILLED_BY_AN);*/ ! losehp(1, "ɵ¤¤Ë±øÀ÷¤µ¤ì¤¿Ìô¤Ç", KILLED_BY_AN); } else { if(Poison_resistance) pline( ! /*JP "(But in fact it was biologically contaminated %s juice.)",*/ ! "(¤·¤«¤·¼ÂºÝ¤½¤ì¤ÏºÙ¶Ý¤Ë±øÀ÷¤µ¤ì¤¿%s¥¸¥å¡¼¥¹¤À¡¥)", pl_fruit); if (Role_is('H')) ! /*JP pline("Fortunately, you have been immunized.");*/ ! pline("¹¬±¿¤Ê¤³¤È¤Ë¡¤¤¢¤Ê¤¿¤ÏÌȱ֤¬¤¢¤ë¡¥"); else { int typ = rn2(A_MAX); poisontell(typ); *************** *** 550,571 **** TRUE); if(!Poison_resistance) losehp(rnd(10)+5*!!(otmp->cursed), ! "contaminated potion", KILLED_BY_AN); exercise(A_CON, FALSE); } } if(Hallucination) { ! You("are shocked back to your senses!"); make_hallucinated(0L,FALSE,0L); } break; case POT_CONFUSION: if(!Confusion) if (Hallucination) { ! pline("What a trippy feeling!"); unkn++; } else ! pline("Huh, What? Where am I?"); else nothing++; make_confused(itimeout_incr(HConfusion, rn1(7, 16 - 8 * bcsign(otmp))), --- 642,667 ---- TRUE); if(!Poison_resistance) losehp(rnd(10)+5*!!(otmp->cursed), ! /*JP "contaminated potion", KILLED_BY_AN);*/ ! "±Öɤ˱øÀ÷¤µ¤ì¤¿Ìô¤Ç", KILLED_BY_AN); exercise(A_CON, FALSE); } } if(Hallucination) { ! /*JP You("are shocked back to your senses!");*/ ! You("¸Þ´¶¤Ë¾×·â¤ò¼õ¤±¤¿¡ª"); make_hallucinated(0L,FALSE,0L); } break; case POT_CONFUSION: if(!Confusion) if (Hallucination) { ! /*JP pline("What a trippy feeling!");*/ ! pline("¤Ê¤ó¤«¥Ø¥í¥Ø¥í¤¹¤ë¡ª"); unkn++; } else ! /*JP pline("Huh, What? Where am I?");*/ ! pline("¤Û¤¨¡©»ä¤Ïï¡©"); else nothing++; make_confused(itimeout_incr(HConfusion, rn1(7, 16 - 8 * bcsign(otmp))), *************** *** 573,579 **** break; case POT_GAIN_ABILITY: if(otmp->cursed) { ! pline("Ulch! That potion tasted foul!"); unkn++; } else { /* If blessed, increase all; if not, try up to */ int itmp; /* 6 times to find one which can be increased. */ --- 669,676 ---- break; case POT_GAIN_ABILITY: if(otmp->cursed) { ! /*JP pline("Ulch! That potion tasted foul!");*/ ! pline("¥¦¥§¡ª°­½­¤¬¤¹¤ë¡ª"); unkn++; } else { /* If blessed, increase all; if not, try up to */ int itmp; /* 6 times to find one which can be increased. */ *************** *** 596,605 **** } /* and fall through */ case SPE_HASTE_SELF: if(!(Fast & ~INTRINSIC)) /* wwf@doe.carleton.ca */ ! You("are suddenly moving %sfaster.", ! Fast ? "" : "much "); else { ! Your("%s get new energy.", makeplural(body_part(LEG))); unkn++; } --- 693,705 ---- } /* and fall through */ case SPE_HASTE_SELF: if(!(Fast & ~INTRINSIC)) /* wwf@doe.carleton.ca */ ! /*JP You("are suddenly moving %sfaster.", ! Fast ? "" : "much ");*/ ! You("ÆÍÁ³%s®¤¯°ÜÆ°¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥", ! Fast ? "" : "¤È¤Æ¤â"); else { ! /*JP Your("%s get new energy.",*/ ! pline("%s¤Ë¥¨¥Í¥ë¥®¡¼¤¬Ãí¤®¤³¤Þ¤ì¤ë¤è¤¦¤Ê´¶¤¸¤¬¤·¤¿", makeplural(body_part(LEG))); unkn++; } *************** *** 618,624 **** /* they went up a level */ if((ledger_no(&u.uz) == 1 && u.uhave.amulet) || Can_rise_up(u.ux, u.uy, &u.uz)) { ! const char *riseup ="rise up, through the %s!"; if(ledger_no(&u.uz) == 1) { You(riseup, ceiling(u.ux,u.uy)); goto_level(&earth_level, FALSE, FALSE, FALSE); --- 718,725 ---- /* they went up a level */ if((ledger_no(&u.uz) == 1 && u.uhave.amulet) || Can_rise_up(u.ux, u.uy, &u.uz)) { ! /*JP const char *riseup ="rise up, through the %s!";*/ ! const char *riseup ="%s¤òÆͤ­È´¤±¤¿¡ª"; if(ledger_no(&u.uz) == 1) { You(riseup, ceiling(u.ux,u.uy)); goto_level(&earth_level, FALSE, FALSE, FALSE); *************** *** 628,640 **** get_level(&newlevel, newlev); if(on_level(&newlevel, &u.uz)) { ! pline("It tasted bad."); break; } else You(riseup, ceiling(u.ux,u.uy)); goto_level(&newlevel, FALSE, FALSE, FALSE); } } ! else You("have an uneasy feeling."); break; } pluslvl(); --- 729,743 ---- get_level(&newlevel, newlev); if(on_level(&newlevel, &u.uz)) { ! /*JP pline("It tasted bad.");*/ ! pline("¤È¤Æ¤â¤Þ¤º¤¤¡¥"); break; } else You(riseup, ceiling(u.ux,u.uy)); goto_level(&newlevel, FALSE, FALSE, FALSE); } } ! /*JP else You("have an uneasy feeling.");*/ ! else You("É԰¤ʵ¤»ý¤Ë¤Ê¤Ã¤¿¡¥"); break; } pluslvl(); *************** *** 645,657 **** u.uexp = rndexp(); break; case POT_HEALING: ! You_feel("better."); healup(d(6 + 2 * bcsign(otmp), 4), !otmp->cursed ? 1 : 0, !!otmp->blessed, !otmp->cursed); exercise(A_CON, TRUE); break; case POT_EXTRA_HEALING: ! You_feel("much better."); healup(d(6 + 2 * bcsign(otmp), 8), otmp->blessed ? 5 : !otmp->cursed ? 2 : 0, !otmp->cursed, TRUE); --- 748,762 ---- u.uexp = rndexp(); break; case POT_HEALING: ! /*JP You_feel("better.");*/ ! You("µ¤Ê¬¤¬¤è¤¯¤Ê¤Ã¤¿¡¥"); healup(d(6 + 2 * bcsign(otmp), 4), !otmp->cursed ? 1 : 0, !!otmp->blessed, !otmp->cursed); exercise(A_CON, TRUE); break; case POT_EXTRA_HEALING: ! /*JP You_feel("much better.");*/ ! You("µ¤Ê¬¤¬¤È¤Æ¤â¤è¤¯¤Ê¤Ã¤¿¡¥"); healup(d(6 + 2 * bcsign(otmp), 8), otmp->blessed ? 5 : !otmp->cursed ? 2 : 0, !otmp->cursed, TRUE); *************** *** 673,683 **** && (u.ux != sstairs.sx || u.uy != sstairs.sy || !sstairs.up) && (!xupladder || u.ux != xupladder || u.uy != yupladder) ) { ! You("hit your %s on the %s.", body_part(HEAD), ceiling(u.ux,u.uy)); losehp(uarmh ? 1 : rnd(10), "colliding with the ceiling", KILLED_BY); } else (void) doup(); } --- 778,794 ---- && (u.ux != sstairs.sx || u.uy != sstairs.sy || !sstairs.up) && (!xupladder || u.ux != xupladder || u.uy != yupladder) ) { ! /*JP You("hit your %s on the %s.", body_part(HEAD), ceiling(u.ux,u.uy)); losehp(uarmh ? 1 : rnd(10), "colliding with the ceiling", + KILLED_BY);*/ + You("%s¤ò%s¤Ë¤Ö¤Ä¤±¤¿¡¥", + body_part(HEAD), + ceiling(u.ux,u.uy)); + losehp(uarmh ? 1 : rnd(10), + "Å·°æ¤ËƬ¤ò¤Ö¤Ä¤±¤Æ", KILLED_BY); } else (void) doup(); } *************** *** 691,699 **** case POT_GAIN_ENERGY: /* M. Stephenson */ { register int num; if(otmp->cursed) ! You_feel("lackluster."); else ! pline("Magical energies course through your body."); num = rnd(5) + 5 * otmp->blessed + 1; u.uenmax += (otmp->cursed) ? -num : num; u.uen += (otmp->cursed) ? -num : num; --- 802,812 ---- case POT_GAIN_ENERGY: /* M. Stephenson */ { register int num; if(otmp->cursed) ! /*JP You_feel("lackluster.");*/ ! You("°Õµ¤¾ÃÄÀ¤·¤¿¡¥"); else ! /*JP pline("Magical energies course through your body.");*/ ! pline("ËâË¡¤Î¥¨¥Í¥ë¥®¡¼¤¬¤¢¤Ê¤¿¤ÎÂΤËËþ¤¿¤µ¤ì¤¿¡¥"); num = rnd(5) + 5 * otmp->blessed + 1; u.uenmax += (otmp->cursed) ? -num : num; u.uen += (otmp->cursed) ? -num : num; *************** *** 709,725 **** if (otmp->lamplit) { if (likes_fire(uasmon)) { ! pline("Ahh, a refreshing drink."); good_for_you = TRUE; } else { ! You("burn your %s", body_part(FACE)); losehp(d(Fire_resistance ? 1 : 3, 4), ! "burning potion of oil", KILLED_BY_AN); } } else if(otmp->cursed) ! pline("This tastes like castor oil."); else ! pline("That was smooth!"); exercise(A_WIS, good_for_you); } break; --- 822,843 ---- if (otmp->lamplit) { if (likes_fire(uasmon)) { ! /*JP pline("Ahh, a refreshing drink.");*/ ! pline("¤ï¡¼¤ª¡¤À¸¤­Ê֤롥"); good_for_you = TRUE; } else { ! /*JP You("burn your %s", body_part(FACE));*/ ! Your("%s¤Ï¹õ¾Ç¤²¤Ë¤Ê¤Ã¤¿¡¥", body_part(FACE)); losehp(d(Fire_resistance ? 1 : 3, 4), ! /*JP "burning potion of oil", KILLED_BY_AN);*/ ! "dz¤¨¤Æ¤¤¤ëÌý¤ò°û¤ó¤Ç", KILLED_BY_AN); } } else if(otmp->cursed) ! /*JP pline("This tastes like castor oil.");*/ ! pline("¥Ó¡¼¥Ð¡¼¹á¤Î¤è¤¦¤ÊÌ£¤¬¤¹¤ë¡¥"); else ! /*JP pline("That was smooth!");*/ ! pline("¸ý¤¢¤¿¤ê¤¬¤è¤¤¡ª"); exercise(A_WIS, good_for_you); } break; *************** *** 756,763 **** register const char *txt; { if(flags.beginner) ! You("have a %s feeling for a moment, then it passes.", ! Hallucination ? "normal" : "strange"); else pline(txt); --- 874,883 ---- register const char *txt; { if(flags.beginner) ! /*JP You("have a %s feeling for a moment, then it passes.", ! Hallucination ? "normal" : "strange");*/ ! You("%sµ¤Ê¬¤Ë¤ª¤½¤ï¤ì¤¿¤¬¡¤¤¹¤°¤Ë¾Ã¤¨¤µ¤Ã¤¿¡¥", ! Hallucination ? "ÉáÄ̤Î" : "´ñ̯¤Ê"); else pline(txt); *************** *** 771,777 **** } const char *bottlenames[] = { ! "bottle", "phial", "flagon", "carafe", "flask", "jar", "vial" }; void --- 891,898 ---- } const char *bottlenames[] = { ! /*JP "bottle", "phial", "flagon", "carafe", "flask", "jar", "vial"*/ ! "ÉÓ","ÌôÉÓ","°ì¾£ÉÓ","¿åº¹¤·","¥Õ¥é¥¹¥³","ÄÛ","¥¬¥é¥¹ÉÓ" }; void *************** *** 785,809 **** if(isyou) { distance = 0; ! pline_The("%s crashes on your %s and breaks into shards.", botlnam, body_part(HEAD)); ! losehp(rnd(2), "thrown potion", KILLED_BY_AN); } else { distance = distu(mon->mx,mon->my); if (mon->msleep) mon->msleep = 0; ! if (!cansee(mon->mx,mon->my)) pline("Crash!"); else { char *mnam = mon_nam(mon); char buf[BUFSZ]; if(has_head(mon->data)) { ! Sprintf(buf, "%s %s", s_suffix(mnam), ! (notonhead ? "body" : "head")); } else { Strcpy(buf, mnam); } ! pline_The("%s crashes on %s and breaks into shards.", botlnam, buf); } if(rn2(5) && mon->mhp > 1) --- 906,936 ---- if(isyou) { distance = 0; ! /*JP pline_The("%s crashes on your %s and breaks into shards.",*/ ! pline("%s¤¬¤¢¤Ê¤¿¤Î%s¤Î¾å¤Ç²õ¤ìÇËÊҤȤʤä¿¡¥", botlnam, body_part(HEAD)); ! /*JP losehp(rnd(2), "thrown potion", KILLED_BY_AN);*/ ! losehp(rnd(2), "Åꤲ¤é¤ì¤¿Ìô¤Ç", KILLED_BY_AN); } else { distance = distu(mon->mx,mon->my); if (mon->msleep) mon->msleep = 0; ! /*JP if (!cansee(mon->mx,mon->my)) pline("Crash!");*/ ! if (!cansee(mon->mx,mon->my)) pline("¥¬¥·¥ã¥ó¡ª"); else { char *mnam = mon_nam(mon); char buf[BUFSZ]; if(has_head(mon->data)) { ! /*JP Sprintf(buf, "%s %s",*/ ! Sprintf(buf, "%s¤Î%s", s_suffix(mnam), ! /*JP (notonhead ? "body" : "head"));*/ ! (notonhead ? "ÂÎ" : "Ƭ")); } else { Strcpy(buf, mnam); } ! /*JP pline_The("%s crashes on %s and breaks into shards.",*/ ! pline("%s¤¬%s¤Î¾å¤Ç²õ¤ìÇËÊҤȤʤä¿¡¥", botlnam, buf); } if(rn2(5) && mon->mhp > 1) *************** *** 812,818 **** /* oil doesn't instantly evaporate */ if (obj->otyp != POT_OIL && cansee(mon->mx,mon->my)) ! pline("%s evaporates.", The(xname(obj))); if (isyou) switch (obj->otyp) { case POT_OIL: --- 939,946 ---- /* oil doesn't instantly evaporate */ if (obj->otyp != POT_OIL && cansee(mon->mx,mon->my)) ! /*JP pline("%s evaporates.", The(xname(obj)));*/ ! pline("%s¤Ï¾øȯ¤·¤¿¡¥", The(xname(obj))); if (isyou) switch (obj->otyp) { case POT_OIL: *************** *** 829,835 **** if(mon->mhp < mon->mhpmax) { mon->mhp = mon->mhpmax; if (canseemon(mon)) ! pline("%s looks sound and hale again.", Monnam(mon)); } break; case POT_SICKNESS: --- 957,964 ---- if(mon->mhp < mon->mhpmax) { mon->mhp = mon->mhpmax; if (canseemon(mon)) ! /*JP pline("%s looks sound and hale again.", Monnam(mon));*/ ! pline("%s¤Ï¸µµ¤¤Ë¤Ê¤Ã¤¿¤è¤¦¤Ë¸«¤¨¤ë¡¥", Monnam(mon)); } break; case POT_SICKNESS: *************** *** 839,845 **** mon->mhp /= 2; if (mon->mhp > mon->mhpmax) mon->mhp = mon->mhpmax; if (canseemon(mon)) ! pline("%s looks rather ill.", Monnam(mon)); break; case POT_CONFUSION: case POT_BOOZE: --- 968,975 ---- mon->mhp /= 2; if (mon->mhp > mon->mhpmax) mon->mhp = mon->mhpmax; if (canseemon(mon)) ! /*JP pline("%s looks rather ill.", Monnam(mon));*/ ! pline("%s¤Ïɵ¤¤Ã¤Ý¤¯¸«¤¨¤ë¡¥", Monnam(mon)); break; case POT_CONFUSION: case POT_BOOZE: *************** *** 874,887 **** --- 1004,1023 ---- if (is_undead(mon->data) || is_demon(mon->data) || is_were(mon->data)) { if (obj->blessed) { + /*JP pline("%s shrieks in pain!", Monnam(mon)); + */ + pline("%s¤Ï¶ìÄˤ櫤ÓÀ¼¤ò¤¢¤²¤¿¡ª", Monnam(mon)); mon->mhp -= d(2,6); if (mon->mhp < 1) killed(mon); else if (is_were(mon->data) && !is_human(mon->data)) new_were(mon); /* revert to human */ } else if (obj->cursed) { if (canseemon(mon)) + /*JP pline("%s looks healthier.", Monnam(mon)); + */ + pline("%s¤Ï¤è¤ê¸µµ¤¤Ë¤Ê¤Ã¤¿¤è¤¦¤Ë¸«¤¨¤ë¡¥", Monnam(mon)); mon->mhp += d(2,6); if (mon->mhp > mon->mhpmax) mon->mhp = mon->mhpmax; if (is_were(mon->data) && is_human(mon->data) && *************** *** 894,900 **** if (mtmp2) { mtmp2->mhpmax = (mon->mhpmax /= 2); if (canseemon(mon)) ! pline("%s multiplies.", Monnam(mon)); } } break; --- 1030,1037 ---- if (mtmp2) { mtmp2->mhpmax = (mon->mhpmax /= 2); if (canseemon(mon)) ! /*JP pline("%s multiplies.", Monnam(mon));*/ ! pline("%s¤ÏʬÎö¤·¤¿¡¥", Monnam(mon)); } } break; *************** *** 942,948 **** case POT_RESTORE_ABILITY: case POT_GAIN_ABILITY: if(obj->cursed) { ! pline("Ulch! That potion smells terrible!"); break; } else { i = rn2(A_MAX); /* start at a random point */ --- 1079,1086 ---- case POT_RESTORE_ABILITY: case POT_GAIN_ABILITY: if(obj->cursed) { ! /*JP pline("Ulch! That potion smells terrible!");*/ ! pline("¥¦¥²¥§¡ªÌô¤Ï¤â¤Î¤¹¤´¤¤Æ÷¤¤¤¬¤¹¤ë¡ª"); break; } else { i = rn2(A_MAX); /* start at a random point */ *************** *** 978,1011 **** } break; case POT_HALLUCINATION: ! You("have a momentary vision."); break; case POT_CONFUSION: case POT_BOOZE: if(!Confusion) ! You_feel("somewhat dizzy."); make_confused(itimeout_incr(HConfusion, rnd(5)), FALSE); break; case POT_INVISIBILITY: if (!See_invisible && !Invis) ! pline("For an instant you could see through yourself!"); break; case POT_PARALYSIS: kn++; ! pline("%s seems to be holding you.", Something); nomul(-rnd(5)); nomovemsg = You_can_move_again; exercise(A_DEX, FALSE); break; case POT_SPEED: ! if (!Fast) Your("knees seem more flexible now."); incr_itimeout(&Fast, rnd(5)); exercise(A_DEX, TRUE); break; case POT_BLINDNESS: if (!Blind && !u.usleep) { kn++; ! pline("It suddenly gets dark."); } make_blinded(itimeout_incr(Blinded, rnd(5)), FALSE); break; --- 1116,1155 ---- } break; case POT_HALLUCINATION: ! /*JP You("have a momentary vision.");*/ ! You("°ì½Ö¸¸±Æ¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡¥"); break; case POT_CONFUSION: case POT_BOOZE: if(!Confusion) ! /*JP You_feel("somewhat dizzy.");*/ ! You("¤á¤Þ¤¤¤ò´¶¤¸¤¿¡¥"); make_confused(itimeout_incr(HConfusion, rnd(5)), FALSE); break; case POT_INVISIBILITY: if (!See_invisible && !Invis) ! /*JP pline("For an instant you could see through yourself!");*/ ! pline("°ì½Ö¼«Ê¬¼«¿È¤¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡ª"); break; case POT_PARALYSIS: kn++; ! /*JP pline("%s seems to be holding you.", Something);*/ ! pline("%s¤¬¤¢¤Ê¤¿¤ò¤Ä¤«¤Þ¤¨¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥", Something); nomul(-rnd(5)); nomovemsg = You_can_move_again; exercise(A_DEX, FALSE); break; case POT_SPEED: ! /*JP if (!Fast) Your("knees seem more flexible now.");*/ ! if (!Fast) Your("ɨ¤Ï¤è¤êÉÒ®¤ËÆ°¤¯¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥"); incr_itimeout(&Fast, rnd(5)); exercise(A_DEX, TRUE); break; case POT_BLINDNESS: if (!Blind && !u.usleep) { kn++; ! /*JP pline("It suddenly gets dark.");*/ ! pline("ÆÍÁ³°Å¤¯¤Ê¤Ã¤¿¡¥"); } make_blinded(itimeout_incr(Blinded, rnd(5)), FALSE); break; *************** *** 1014,1020 **** struct monst *mtmp; if ((mtmp = cloneu()) != 0) { mtmp->mhpmax = (u.mhmax /= 2); ! You("multiply."); } } else if (u.ulycn >= LOW_PM) { /* vapor from [un]holy water will trigger --- 1158,1165 ---- struct monst *mtmp; if ((mtmp = cloneu()) != 0) { mtmp->mhpmax = (u.mhmax /= 2); ! /*JP You("multiply.");*/ ! You("ʬÎö¤·¤¿¡¥"); } } else if (u.ulycn >= LOW_PM) { /* vapor from [un]holy water will trigger *************** *** 1151,1166 **** --- 1296,1319 ---- case WEAPON_CLASS: if (!obj->oerodeproof && is_rustprone(obj) && (obj->oeroded < MAX_ERODE) && !rn2(10)) { + /*JP pline("%s %s some%s.", Your_buf, aobjnam(obj, "rust"), obj->oeroded ? " more" : "what"); + */ + pline("%s%s¤Ï%s»¬¤Ó¤¿", Your_buf, xname(obj), + obj->oeroded ? "¤µ¤é¤Ë" : ""); obj->oeroded++; return TRUE; } else break; case POTION_CLASS: if (obj->otyp == POT_WATER) return FALSE; + /*JP pline("%s %s%s.", Your_buf, aobjnam(obj,"dilute"), obj->odiluted ? " further" : ""); + */ + pline("%s%s¤Ï%sÇö¤Þ¤Ã¤¿¡¥", Your_buf, xname(obj), + obj->odiluted ? "¤µ¤é¤Ë" : ""); if (obj->odiluted) { obj->odiluted = 0; #ifdef UNIXPC *************** *** 1179,1192 **** #endif ) { if (!Blind) { ! boolean oq1 = obj->quan == 1L; ! pline_The("scroll%s fade%s.", oq1 ? "" : "s", ! oq1 ? "s" : ""); } if(obj->unpaid) { subfrombill(obj, shop_keeper(*u.ushops)); ! You("erase it, you pay for it."); bill_dummy_object(obj); } obj->otyp = SCR_BLANK_PAPER; --- 1332,1347 ---- #endif ) { if (!Blind) { ! /*JP boolean oq1 = obj->quan == 1L;*/ ! /*JP pline_The("scroll%s fade%s.", oq1 ? "" : "s", ! oq1 ? "s" : "");*/ ! pline("´¬Êª¤Îʸ»ú¤ÏÇö¤ì¤¿¡¥"); } if(obj->unpaid) { subfrombill(obj, shop_keeper(*u.ushops)); ! /*JP You("erase it, you pay for it.");*/ ! You("ʸ»ú¤ò¾Ã¤·¤Æ¤·¤Þ¤Ã¤¿¡¤Çå½þ¤»¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥"); bill_dummy_object(obj); } obj->otyp = SCR_BLANK_PAPER; *************** *** 1197,1213 **** if (obj->otyp != SPE_BLANK_PAPER) { if (obj->otyp == SPE_BOOK_OF_THE_DEAD) { ! pline("%s suddenly heats up; steam rises and it remains dry.", The(xname(obj))); } else { if (!Blind) { ! boolean oq1 = obj->quan == 1L; ! pline_The("spellbook%s fade%s.", ! oq1 ? "" : "s", oq1 ? "s" : ""); } if(obj->unpaid) { subfrombill(obj, shop_keeper(*u.ushops)); ! You("erase it, you pay for it."); bill_dummy_object(obj); } obj->otyp = SPE_BLANK_PAPER; --- 1352,1371 ---- if (obj->otyp != SPE_BLANK_PAPER) { if (obj->otyp == SPE_BOOK_OF_THE_DEAD) { ! /*JP pline("%s suddenly heats up; steam rises and it remains dry.",*/ ! pline("%s¤ÏÆÍÁ³Ç®¤¯¤Ê¤ê¡¤¾øµ¤¤¬¤¿¤Á¤³¤á¡¤´¥¤¤¤Æ¤·¤Þ¤Ã¤¿¡¥", The(xname(obj))); } else { if (!Blind) { ! /*JP boolean oq1 = obj->quan == 1L;*/ ! /*JP pline_The("spellbook%s fade%s.", ! oq1 ? "" : "s", oq1 ? "s" : "");*/ ! pline("ËâË¡½ñ¤Îʸ»ú¤ÏÇö¤ì¤¿¡¥"); } if(obj->unpaid) { subfrombill(obj, shop_keeper(*u.ushops)); ! /*JP You("erase it, you pay for it.");*/ ! You("ʸ»ú¤ò¾Ã¤·¤Æ¤·¤Þ¤Ã¤¿¡¤Çå½þ¤»¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥"); bill_dummy_object(obj); } obj->otyp = SPE_BLANK_PAPER; *************** *** 1215,1221 **** --- 1373,1382 ---- return TRUE; } } + /*JP pline("%s %s wet.", Your_buf, aobjnam(obj,"get")); + */ + pline("%s%s¤ÏǨ¤ì¤¿", Your_buf, xname(obj)); return FALSE; } *************** *** 1230,1248 **** char qbuf[QBUFSZ], Your_buf[BUFSZ]; allowall[0] = ALL_CLASSES; allowall[1] = '\0'; ! if(!(obj = getobj(allowall, "dip"))) return(0); here = levl[u.ux][u.uy].typ; /* Is there a fountain to dip into here? */ if (IS_FOUNTAIN(here)) { ! if(yn("Dip it into the fountain?") == 'y') { dipfountain(obj); return(1); } } else if (is_pool(u.ux,u.uy)) { ! tmp = (here == POOL) ? "pool" : "moat"; ! Sprintf(qbuf, "Dip it into the %s?", tmp); if (yn(qbuf) == 'y') { if (Levitation) floating_above(tmp); --- 1391,1413 ---- char qbuf[QBUFSZ], Your_buf[BUFSZ]; allowall[0] = ALL_CLASSES; allowall[1] = '\0'; ! /*JP if(!(obj = getobj(allowall, "dip")))*/ ! if(!(obj = getobj(allowall, "¿»¤¹"))) return(0); here = levl[u.ux][u.uy].typ; /* Is there a fountain to dip into here? */ if (IS_FOUNTAIN(here)) { ! /*JP if(yn("Dip it into the fountain?") == 'y') {*/ ! if(yn("Àô¤Ë¿»¤·¤Þ¤¹¤«¡©") == 'y') { dipfountain(obj); return(1); } } else if (is_pool(u.ux,u.uy)) { ! /*JP tmp = (here == POOL) ? "pool" : "moat";*/ ! tmp = (here == POOL) ? "¿å¤¿¤Þ¤ê" : "ËÙ"; ! /*JP Sprintf(qbuf, "Dip it into the %s?", tmp);*/ ! Sprintf(qbuf, "%s¤Ë¿»¤·¤Þ¤¹¤«¡©", tmp); if (yn(qbuf) == 'y') { if (Levitation) floating_above(tmp); *************** *** 1252,1261 **** --- 1417,1432 ---- } } + /*JP if(!(potion = getobj(beverages, "dip into"))) + */ + if(!(potion = getobj(beverages, "¤Ë¿»¤¹"))) return(0); if (potion == obj && potion->quan == 1L) { + /*JP pline("That is a potion bottle, not a Klein bottle!"); + */ + pline("¤³¤ì¤ÏÌôÉÓ¤À¡ª¥¯¥é¥¤¥ó¤ÎÄÛ¤¸¤ã¤Ê¤¤¡ª"); return 0; } if(potion->otyp == POT_WATER) { *************** *** 1264,1273 **** --- 1435,1450 ---- if (potion->blessed) { if (obj->cursed) { if (useeit) + /*JP pline("%s %s %s.", Your_buf, aobjnam(obj, "softly glow"), hcolor(amber)); + */ + pline("%s%s¤Ï¤¦¤Ã¤¹¤é¤È%sµ±¤¤¤¿¡¥", + Your_buf, + xname(obj), + jconj_adj(hcolor("àèàῧ¤Î"))); uncurse(obj); obj->bknown=1; poof: *************** *** 1279,1288 **** --- 1456,1469 ---- } else if(!obj->blessed) { if (useeit) { tmp = hcolor(light_blue); + /*JP pline("%s %s with a%s %s aura.", Your_buf, aobjnam(obj, "softly glow"), index(vowels, *tmp) ? "n" : "", tmp); + */ + pline("%s%s¤Ï¤Ü¤ó¤ä¤ê¤È¤·¤¿%s¥ª¡¼¥é¤Ë¤Ä¤Ä¤Þ¤ì¤¿", + Your_buf, xname(obj), tmp); } bless(obj); obj->bknown=1; *************** *** 1291,1310 **** --- 1472,1500 ---- } else if (potion->cursed) { if (obj->blessed) { if (useeit) + /*JP pline("%s %s %s.", Your_buf, aobjnam(obj, "glow"), hcolor((const char *)"brown")); + */ + pline("%s%s¤Ï%sµ±¤¤¤¿", + Your_buf, xname(obj), + jconj_adj(hcolor((const char *)"Ã㿧¤Î"))); unbless(obj); obj->bknown=1; goto poof; } else if(!obj->cursed) { if (useeit) { tmp = hcolor(Black); + /*JP pline("%s %s with a%s %s aura.", Your_buf, aobjnam(obj, "glow"), index(vowels, *tmp) ? "n" : "", tmp); + */ + pline("%s%s¤Ï%s¥ª¡¼¥é¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡¥", + Your_buf, xname(obj),tmp); } curse(obj); obj->bknown=1; *************** *** 1316,1329 **** } else if(obj->oclass == POTION_CLASS && obj->otyp != potion->otyp) { /* Mixing potions is dangerous... */ ! pline_The("potions mix..."); if (obj->cursed || !rn2(10)) { ! pline("BOOM! They explode!"); exercise(A_STR, FALSE); potionbreathe(obj); useup(obj); useup(potion); ! losehp(rnd(10), "alchemic blast", KILLED_BY_AN); return(1); } --- 1506,1522 ---- } else if(obj->oclass == POTION_CLASS && obj->otyp != potion->otyp) { /* Mixing potions is dangerous... */ ! /*JP pline_The("potions mix...");*/ ! pline("Ìô¤ÏÄ´¹ç¤µ¤ì¤¿¡¥¡¥¡¥"); if (obj->cursed || !rn2(10)) { ! /*JP pline("BOOM! They explode!");*/ ! pline("¥Ð¡¼¥ó¡ªÇúȯ¤·¤¿¡ª"); exercise(A_STR, FALSE); potionbreathe(obj); useup(obj); useup(potion); ! /*JP losehp(rnd(10), "alchemic blast", KILLED_BY_AN);*/ ! losehp(rnd(10), "Ä´¹ç¤Î¼ºÇÔ¤Ç", KILLED_BY_AN); return(1); } *************** *** 1351,1357 **** break; default: if (!Blind) ! pline_The("mixture glows brightly and evaporates."); useup(obj); useup(potion); return(1); --- 1544,1551 ---- break; default: if (!Blind) ! /*JP pline_The("mixture glows brightly and evaporates.");*/ ! pline("º®¤¼¤ë¤ÈÌô¤ÏÌÀ¤ë¤¯µ±¤­¾øȯ¤·¤¿¡¥"); useup(obj); useup(potion); return(1); *************** *** 1362,1372 **** obj->odiluted = (obj->otyp != POT_WATER); if (obj->otyp == POT_WATER && !Hallucination) { ! pline_The("mixture bubbles%s.", ! Blind ? "" : ", then clears"); } else if (!Blind) { ! pline_The("mixture looks %s.", ! hcolor(OBJ_DESCR(objects[obj->otyp]))); } useup(potion); --- 1556,1570 ---- obj->odiluted = (obj->otyp != POT_WATER); if (obj->otyp == POT_WATER && !Hallucination) { ! /*JP pline_The("mixture bubbles%s.", ! Blind ? "" : ", then clears");*/ ! pline("Ìô¤òº®¤¼¤ë¤È%sË¢¤À¤Ã¤¿¡¥", ! Blind ? "" : "¤·¤Ð¤é¤¯"); } else if (!Blind) { ! /*JP pline_The("mixture looks %s.", ! hcolor(OBJ_DESCR(objects[obj->otyp])));*/ ! pline("º®¤¼¤¿Ìô¤Ï%s¤Ë¸«¤¨¤ë¡¥", ! jtrns_obj('!',OBJ_DESCR(objects[obj->otyp]))); } useup(potion); *************** *** 1377,1390 **** if(potion->otyp == POT_SICKNESS && !obj->opoisoned) { char buf[BUFSZ]; Strcpy(buf, The(xname(potion))); ! pline("%s form%s a coating on %s.", ! buf, potion->quan == 1L ? "s" : "", the(xname(obj))); obj->opoisoned = TRUE; goto poof; } else if(obj->opoisoned && (potion->otyp == POT_HEALING || potion->otyp == POT_EXTRA_HEALING)) { ! pline("A coating wears off %s.", the(xname(obj))); obj->opoisoned = 0; goto poof; } --- 1575,1591 ---- if(potion->otyp == POT_SICKNESS && !obj->opoisoned) { char buf[BUFSZ]; Strcpy(buf, The(xname(potion))); ! /*JP pline("%s form%s a coating on %s.", ! buf, potion->quan == 1L ? "s" : "", the(xname(obj)));*/ ! pline("%s¤¬%s¤ËÀ÷¤ß¤³¤ó¤À¡¥", ! buf, the(xname(obj))); obj->opoisoned = TRUE; goto poof; } else if(obj->opoisoned && (potion->otyp == POT_HEALING || potion->otyp == POT_EXTRA_HEALING)) { ! /*JP pline("A coating wears off %s.", the(xname(obj)));*/ ! pline("ÆǤ¬%s¤«¤éÇí¤²¤ª¤Á¤¿¡¥", the(xname(obj))); obj->opoisoned = 0; goto poof; } *************** *** 1398,1411 **** --- 1599,1620 ---- if (obj->oerodeproof || obj_resists(obj, 5, 95) || /* `METAL' should not be confused with is_metallic() */ omat == METAL || omat == MITHRIL || omat == BONE) { + /*JP pline("%s seem%s to burn for a moment.", Yname2(obj), (obj->quan > 1L) ? "" : "s"); + */ + pline("%s¤Ï¤·¤Ð¤é¤¯¤Î´Ödz¤¨¤¿¡¥", Yname2(obj)); } else { if (omat == PLASTIC) obj->oeroded = MAX_ERODE; + /*JP pline_The("burning oil %s %s.", obj->oeroded == MAX_ERODE ? "destroys" : "damages", yname(obj)); + */ + pline("%s¤Ïdz¤¨¤Æ¤¤¤ëÌý¤Ë¤è¤Ã¤Æ%s¡¥", + yname(obj), + obj->oeroded == MAX_ERODE ? "Ç˲õ¤µ¤ì¤¿" : "½ý¤Ä¤±¤é¤ì¤¿"); if (obj->oeroded == MAX_ERODE) { obj_extract_self(obj); obfree(obj, (struct obj *)0); *************** *** 1420,1438 **** --- 1629,1658 ---- /* arrows,&c are classed as metallic due to arrowhead material, but dipping in oil shouldn't repair them */ objects[obj->otyp].oc_wepcat == WEP_AMMO) { + /*JP pline_The("potion spills and covers your %s with oil.", makeplural(body_part(FINGER))); + */ + pline("Ìý¤ÏÈô¤Ó»¶¤ê¤¢¤Ê¤¿¤Î%s¤Ë¤«¤«¤Ã¤¿¡¥", + makeplural(body_part(FINGER))); incr_itimeout(&Glib, d(2,10)); } else if (!obj->oeroded) { /* uses up potion, doesn't set obj->greased */ + /*JP pline("%s gleam%s with an oily sheen.", Yname2(obj), (obj->quan > 1L) ? "" : "s"); + */ + pline("%s¤ÏÌý¤Î¸÷Âô¤Ç¤­¤é¤ê¤È¸÷¤Ã¤¿¡¥", + Yname2(obj)); } else { + /*JP pline("%s %s less %s.", Yname2(obj), (obj->quan > 1L) ? "are" : "is", is_corrodeable(obj) ? "corroded" : "rusty"); + */ + pline("%s¤Î»¬¤¬¼è¤ì¤¿¡¥", Yname2(obj)); obj->oeroded--; wisx = TRUE; } *************** *** 1458,1466 **** --- 1678,1692 ---- obj->age = 0; } if (obj->age > 1000L) { + /*JP pline("%s is full.", Yname2(obj)); + */ + pline("%s¤Ë¤ÏÂô»³Æþ¤Ã¤Æ¤¤¤ë¡¥", Yname2(obj)); } else { + /*JP You("fill %s with oil.", yname(obj)); + */ + You("%s¤ËÌý¤òÆþ¤ì¤¿¡¥", yname(obj)); check_unpaid(potion); /* surcharge for using unpaid item */ obj->age += 2*potion->age; /* burns more efficiently */ if (obj->age > 1500L) obj->age = 1500L; *************** *** 1493,1511 **** #else (potion->dknown = !Hallucination) != 0) #endif ! pline_The("potion%s clear%s.", more_than_one ? "s" : "", ! more_than_one ? "" : "s"); else ! pline_The("potion%s turn%s %s.", more_than_one ? "s" : "", more_than_one ? "" : "s", ! hcolor(OBJ_DESCR(objects[mixture]))); } return(1); } ! pline("Interesting..."); return(1); } --- 1719,1741 ---- #else (potion->dknown = !Hallucination) != 0) #endif ! /*JP pline_The("potion%s clear%s.", more_than_one ? "s" : "", ! more_than_one ? "" : "s");*/ ! pline("Ìô¤ÏÆ©ÌÀ¤Ë¤Ê¤Ã¤¿¡¥"); else ! /*JP pline_The("potion%s turn%s %s.", more_than_one ? "s" : "", more_than_one ? "" : "s", ! hcolor(OBJ_DESCR(objects[mixture])));*/ ! pline("Ìô¤Ï%s¤Ë¤Ê¤Ã¤¿¡¥", ! jconj_adj(jtrns_obj('!', hcolor(OBJ_DESCR(objects[mixture]))))); } return(1); } ! /*JP pline("Interesting...");*/ ! pline("ÌÌÇò¤¤¡¥¡¥¡¥"); return(1); } *************** *** 1518,1533 **** int chance; if(!(mtmp = makemon(&mons[PM_DJINNI], u.ux, u.uy, NO_MM_FLAGS))){ ! pline("It turns out to be empty."); return; } if (!Blind) { ! pline("In a cloud of smoke, %s emerges!", a_monnam(mtmp)); ! pline("%s speaks.", Monnam(mtmp)); } else { ! You("smell acrid fumes."); ! pline("%s speaks.", Something); } chance = rn2(5); --- 1748,1768 ---- int chance; if(!(mtmp = makemon(&mons[PM_DJINNI], u.ux, u.uy, NO_MM_FLAGS))){ ! /*JP pline("It turns out to be empty.");*/ ! pline("Ìô¤Ï¶õ¤Ã¤Ý¤À¤Ã¤¿¡¥"); return; } if (!Blind) { ! /*JP pline("In a cloud of smoke, %s emerges!", a_monnam(mtmp)); ! pline("%s speaks.", Monnam(mtmp));*/ ! pline("±ì¤ÎÃ椫¤é¡¤%s¤¬¸½¤ï¤ì¤¿¡ª", a_monnam(mtmp)); ! pline("%s¤ÏÏä·¤¿¡¥", Monnam(mtmp)); } else { ! /*JP You("smell acrid fumes."); ! pline("%s speaks.", Something);*/ ! You("¥Ä¥ó¤È¤¹¤ëÆ÷¤¤¤¬¤·¤¿¡¥"); ! pline("%s¤¬Ïä·¤«¤±¤¿¡¥", Something); } chance = rn2(5); *************** *** 1536,1557 **** /* 0,1,2,3,4: b=80%,5,5,5,5; nc=20%,20,20,20,20; c=5%,5,5,5,80 */ switch (chance) { ! case 0 : verbalize("I am in your debt. I will grant one wish!"); makewish(); mongone(mtmp); break; ! case 1 : verbalize("Thank you for freeing me!"); (void) tamedog(mtmp, (struct obj *)0); break; ! case 2 : verbalize("You freed me!"); mtmp->mpeaceful = TRUE; set_malign(mtmp); break; ! case 3 : verbalize("It is about time!"); ! pline("%s vanishes.", Monnam(mtmp)); mongone(mtmp); break; ! default: verbalize("You disturbed me, fool!"); break; } } --- 1771,1798 ---- /* 0,1,2,3,4: b=80%,5,5,5,5; nc=20%,20,20,20,20; c=5%,5,5,5,80 */ switch (chance) { ! /*JP case 0 : verbalize("I am in your debt. I will grant one wish!");*/ ! case 0 : verbalize("¤ªÁ°¤Ë¤Ï¼Ú¤ê¤¬¤Ç¤­¤¿¡¥£±¤Ä´ê¤¤¤ò¤«¤Ê¤¨¤Æ¤ä¤í¤¦¡ª"); makewish(); mongone(mtmp); break; ! /*JP case 1 : verbalize("Thank you for freeing me!");*/ ! case 1 : verbalize("»ä¤ò½õ¤±¤Æ¤¯¤ì¤¿¤³¤È¤ò´¶¼Õ¤¹¤ë¡ª"); (void) tamedog(mtmp, (struct obj *)0); break; ! /*JP case 2 : verbalize("You freed me!");*/ ! case 2 : verbalize("²òÊü¤·¤Æ¤¯¤ì¤¿¤Î¤Ï¤ªÁ°¤«¡ª"); mtmp->mpeaceful = TRUE; set_malign(mtmp); break; ! /*JP case 3 : verbalize("It is about time!");*/ ! case 3 : verbalize("¤µ¤é¤Ð¤À¡ª"); ! /*JP pline("%s vanishes.", Monnam(mtmp));*/ ! pline("%s¤Ï¾Ã¤¨¤¿¡¥", Monnam(mtmp)); mongone(mtmp); break; ! /*JP default: verbalize("You disturbed me, fool!");*/ ! default: verbalize("¤ª¤Þ¤¨¤Ï»ä¤Î̲¤ê¤Î¼ÙËâ¤ò¤·¤¿¡¥¤ª¤í¤«¤â¤Î¤á¡ª"); break; } } diff -c -r ../nethack-3.2.2/src/pray.c ./src/pray.c *** ../nethack-3.2.2/src/pray.c Sat Dec 28 21:53:48 1996 --- ./src/pray.c Tue Sep 23 07:10:12 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Benson I. Margulies, Mike Stephenson, Steve Linhart, 1989. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "epri.h" *************** *** 39,44 **** --- 46,54 ---- {'C', /* Babylonian */ "Anu", "Ishtar", "Anshar"}, {'E', /* Elven */ "Solonor Thelandira", "Aerdrie Faenya", "Erevan Ilesere"}, + #ifdef FIGHTER + {'F', /* Fighter */ "Selene", "Helios", "Eos"}, + #endif {'H', /* Greek */ "Athena", "Hermes", "Poseidon"}, {'K', /* Celtic */ "Lugh", "Brigit", "Manannan Mac Lir"}, {'P', /* Chinese */ "Shan Lai Ching", "Chih Sung-tzu", "Huan Ti"}, *************** *** 60,69 **** --- 70,85 ---- static const char *Moloch = "Moloch"; static const char *godvoices[] = { + /*JP "booms out", "thunders", "rings out", "booms", + */ + "¶Á¤­¤ï¤¿¤Ã¤¿", + "Íë¤Î¤è¤¦¤Ë¶Á¤¤¤¿", + "¤È¤É¤í¤¤¤¿", + "¶Á¤¤¤¿", }; /* values calculated when prayer starts, and used when completed */ *************** *** 189,196 **** --- 205,216 ---- return(0); } + /*JP const char leftglow[] = "left ring softly glows"; const char rightglow[] = "right ring softly glows"; + */ + const char leftglow[] = "º¸¤Î»ØÎØ"; + const char rightglow[] = "±¦¤Î»ØÎØ"; static void fix_worst_trouble(trouble) *************** *** 202,220 **** switch (trouble) { case TROUBLE_STONED: ! You_feel("more limber."); Stoned = 0; break; case TROUBLE_STRANGLED: if (uamul && uamul->otyp == AMULET_OF_STRANGULATION) { ! Your("amulet vanishes!"); useup(uamul); } ! You("can breathe again."); Strangled = 0; break; case TROUBLE_LAVA: ! You("are back on solid ground."); /* teleport should always succeed, but if not, * just untrap them. */ --- 222,244 ---- switch (trouble) { case TROUBLE_STONED: ! /*JP You_feel("more limber.");*/ ! You("Æð¤é¤«¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); Stoned = 0; break; case TROUBLE_STRANGLED: if (uamul && uamul->otyp == AMULET_OF_STRANGULATION) { ! /*JP Your("amulet vanishes!");*/ ! Your("Ëâ½ü¤±¤Ï¾Ã¤¨¤µ¤Ã¤¿¡ª"); useup(uamul); } ! /*JP You("can breathe again.");*/ ! You("¸ÆµÛ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥"); Strangled = 0; break; case TROUBLE_LAVA: ! /*JP You("are back on solid ground.");*/ ! You("¸Ç¤¤ÃÏÌ̤ËÌá¤Ã¤¿¡¥"); /* teleport should always succeed, but if not, * just untrap them. */ *************** *** 225,240 **** --- 249,273 ---- losestr(-1); /* fall into... */ case TROUBLE_HUNGRY: + /*JP Your("stomach feels content."); + */ + Your("°ßÂÞ¤ÏËþ¤¿¤µ¤ì¤¿¡¥"); init_uhunger (); flags.botl = 1; break; case TROUBLE_SICK: + /*JP You_feel("better."); + */ + You("µ¤Ê¬¤¬Îɤ¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); make_sick(0L, (char *) 0, FALSE, SICK_ALL); break; case TROUBLE_HIT: + /*JP You_feel("much better."); + */ + You("¤È¤Æ¤âµ¤Ê¬¤¬¤è¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); if (Upolyd) u.mh = u.mhmax += rnd(5); if (u.uhpmax < u.ulevel * 5 + 11) u.uhp = u.uhpmax += rnd(5); *************** *** 247,253 **** flags.botl = 1; break; case TROUBLE_STUCK_IN_WALL: ! Your("surroundings change."); tele(); break; case TROUBLE_CURSED_LEVITATION: --- 280,287 ---- flags.botl = 1; break; case TROUBLE_STUCK_IN_WALL: ! /*JP Your("surroundings change.");*/ ! Your("´Ä¶­¤¬ÊѲ½¤·¤¿¡¥"); tele(); break; case TROUBLE_CURSED_LEVITATION: *************** *** 270,276 **** --- 304,313 ---- you_unwere(TRUE); break; case TROUBLE_PUNISHED: + /*JP Your("chain disappears."); + */ + Your("º¿¤Ï¾Ã¤¨¤¿¡¥"); unpunish(); break; case TROUBLE_CURSED_ITEMS: *************** *** 320,335 **** uncurse(otmp); otmp->bknown = TRUE; if (!Blind) Your("%s %s.", what ? what : (const char *)aobjnam (otmp, "softly glow"), hcolor(amber)); break; case TROUBLE_POISONED: if (Hallucination) ! pline("There's a tiger in your tank."); else ! You_feel("in good health again."); for(i=0; ibknown = TRUE; if (!Blind) + /*JP Your("%s %s.", what ? what : (const char *)aobjnam (otmp, "softly glow"), hcolor(amber)); + */ + Your("%s¤Ï%s¤¦¤Ã¤¹¤é¤Èµ±¤¤¤¿¡¥", + what ? what : + (const char *)xname (otmp), + jconj_adj(hcolor(amber))); break; case TROUBLE_POISONED: if (Hallucination) ! /*JP pline("There's a tiger in your tank.");*/ ! pline("¤¢¤Ê¤¿¤Î¥¿¥ó¥¯¤ÎÃæ¤Ë¥È¥é¤¬¤¤¤ë¡¥"); else ! /*JP You_feel("in good health again.");*/ ! You("¤Þ¤¿·ò¹¯¤Ë¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); for(i=0; i 1) { losexp(); --- 544,569 ---- switch (rn2(maxanger)) { case 0: ! /*JP case 1: You_feel("that %s is %s.", align_gname(resp_god), ! Hallucination ? "bummed" : "displeased");*/ ! case 1: You("%s¤¬%s¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥", align_gname(resp_god), ! Hallucination ? "¤Í¤À¤Ã¤Æ" : "Ωʢ¤·¤Æ"); break; case 2: case 3: godvoice(resp_god,(char *)0); ! /*JP pline("\"Thou %s, %s.\"", (ugod_is_angry() && resp_god == u.ualign.type) ? "hast strayed from the path" : "art arrogant", ! u.usym == S_HUMAN ? "mortal" : "creature");*/ ! pline("¡ÖÆò%s¡¤%s¡¥¡×", ! (ugod_is_angry() && resp_god == u.ualign.type) ! ? "¤½¤ÎÆ»¤«¤éƧ¤ß½Ð¤Æ¤ª¤ë": ! "ÐþËý¤Ê¤ê", ! u.usym == S_HUMAN ? "¿Í´Ö¤è" : "À¸Êª¤è"); ! /*JP verbalize("Thou must relearn thy lessons!");*/ ! verbalize("Æò¤â¤¦°ìÅٳؤ֤٤·¡ª"); (void) adjattrib(A_WIS, -1, FALSE); if (u.ulevel > 1) { losexp(); *************** *** 507,524 **** --- 582,612 ---- case 4: case 5: gods_angry(resp_god); if (!Blind && !Antimagic) + /*JP pline("%s glow surrounds you.", An(hcolor(Black))); + */ + pline("%s¸÷¤¬¤¢¤Ê¤¿¤ò¼è¤ê´¬¤¤¤¿¡¥", + An(hcolor(Black))); rndcurse(); break; case 7: case 8: godvoice(resp_god,(char *)0); + #if 0 /*JP*/ verbalize("Thou durst %s me?", (on_altar() && (a_align(u.ux,u.uy) != resp_god)) ? "scorn":"call upon"); pline("\"Then die, %s!\"", u.usym == S_HUMAN ? "mortal" : "creature"); + #endif /*JP*/ + verbalize("Æò¡¤²æ%s¡©", + (on_altar() && + (a_align(u.ux,u.uy) != resp_god)) ? + "¤ò¤µ¤²¤¹¤à¤«¡©" : "¤Ëµ§¤ê¤òµá¤á¤·¤«¡©"); + pline("¡Ö»à¤Í¡¤%s¡ª¡×", + u.usym == S_HUMAN ? "¿Í´Ö¤è" : "À¸Êª¤è"); + summon_minion(resp_god, FALSE); break; *************** *** 537,548 **** int trouble = p_trouble; /* what's your worst difficulty? */ int pat_on_head = 0, kick_on_butt; ! You_feel("that %s is %s.", align_gname(g_align), u.ualign.record >= DEVOUT ? Hallucination ? "pleased as punch" : "well-pleased" : u.ualign.record >= STRIDENT ? Hallucination ? "ticklish" : "pleased" : ! Hallucination ? "full" : "satisfied"); /* not your deity */ if (on_altar() && p_aligntyp != u.ualign.type) { --- 625,642 ---- int trouble = p_trouble; /* what's your worst difficulty? */ int pat_on_head = 0, kick_on_butt; ! /*JP You_feel("that %s is %s.", align_gname(g_align), u.ualign.record >= DEVOUT ? Hallucination ? "pleased as punch" : "well-pleased" : u.ualign.record >= STRIDENT ? Hallucination ? "ticklish" : "pleased" : ! Hallucination ? "full" : "satisfied");*/ ! pline("%s¤¬%s¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥", align_gname(g_align), ! u.ualign.record >= DEVOUT ? ! Hallucination ? "¤¯¤½µ¡·ù¤¤¤¤" : "¤´µ¡·ùÎ路¤¤" : ! u.ualign.record >= STRIDENT ? ! Hallucination ? "¤¯¤¹¤°¤Ã¤¿¤¬¤Ã¤Æ¤¤¤ë" : "¾åµ¡·ù¤Ç¤¢¤ë" : ! Hallucination ? "Ê¢¤¤¤Ã¤Ñ¤¤¤Ç¤¢¤ë" : "Ëþ­¤·¤Æ¤¤¤ë"); /* not your deity */ if (on_altar() && p_aligntyp != u.ualign.type) { *************** *** 598,614 **** uwep->cursed = FALSE; uwep->bknown = TRUE; if (!Blind) Your("%s %s.", aobjnam(uwep, "softly glow"), hcolor(amber)); ! else You_feel("the power of %s over your %s.", u_gname(), xname(uwep)); } else if(uwep->otyp < BOW || uwep->otyp > CROSSBOW) { uwep->blessed = uwep->bknown = TRUE; if (!Blind) Your("%s with %s aura.", aobjnam(uwep, "softly glow"), an(hcolor(light_blue))); ! else You_feel("the blessing of %s over your %s.", u_gname(), xname(uwep)); } } --- 692,719 ---- uwep->cursed = FALSE; uwep->bknown = TRUE; if (!Blind) + /*JP Your("%s %s.", aobjnam(uwep, "softly glow"), hcolor(amber)); ! */ ! Your("%s¤Ï%s¤¦¤Ã¤¹¤é¤Èµ±¤¤¤¿¡¥", xname(uwep), ! jconj_adj(hcolor(amber))); ! /*JP else You_feel("the power of %s over your %s.",*/ ! else pline("%s¤ÎÎϤ¬%s¤ËÃí¤¬¤ì¤Æ¤¤¤ë¤Î¤ò´¶¤¸¤¿¡¥", u_gname(), xname(uwep)); } else if(uwep->otyp < BOW || uwep->otyp > CROSSBOW) { uwep->blessed = uwep->bknown = TRUE; if (!Blind) + /*JP Your("%s with %s aura.", aobjnam(uwep, "softly glow"), an(hcolor(light_blue))); ! */ ! Your("%s¤Ï%s¤Ü¤ó¤ä¤ê¤·¤¿¥ª¡¼¥é¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡¥", ! xname(uwep), ! an(hcolor(light_blue))); ! /*JP else You_feel("the blessing of %s over your %s.",*/ ! else pline("%s¤Î½ËÊ¡¤¬%s¤ËÃí¤¬¤ì¤Æ¤¤¤ë¤Î¤ò´¶¤¸¤¿¡¥", u_gname(), xname(uwep)); } } *************** *** 618,632 **** --- 723,747 ---- if (flags.soundok && !u.uevent.uopened_dbridge) { if(u.uevent.uheard_tune < 1) { godvoice(g_align,(char *)0); + /*JP verbalize("Hark, %s!", u.usym == S_HUMAN ? "mortal" : "creature"); verbalize( "To enter the castle, thou must play the right tune!"); + */ + verbalize("ʹ¤±¡¤%s¡ª", + u.usym == S_HUMAN ? "¿Í´Ö¤è" : "À¸Êª¤è"); + verbalize( + "Æò¾ë¤ËÆþ¤é¤ó¤È¤¹¤ë¤Ê¤é¡¤Àµ¤·¤­ÀûΧ¤Ç±éÁÕ¤»¤Í¤Ð¤Ê¤é¤Ì¡ª"); u.uevent.uheard_tune++; break; } else if (u.uevent.uheard_tune < 2) { + /*JP You_hear(Hallucination ? "a funeral march..." : "a divine music..."); pline("It sounds like: \"%s\".", tune); + */ + You(Hallucination ? "Áò¼°¤Î¹Ô¿Ê¶Ê¤òʹ¤¤¤¿¡¥¡¥¡¥" : "¿À¤Î²»³Ú¤òʹ¤¤¤¿¡¥¡¥¡¥"); + pline("¤½¤ì¤Ï¼¡¤Î¤è¤¦¤Ëʹ¤³¤¨¤¿: ¡Ö%s¡×", tune); u.uevent.uheard_tune++; break; } *************** *** 634,640 **** /* Otherwise, falls into next case */ case 2: if (!Blind) ! You("are surrounded by %s glow.", an(hcolor(golden))); if (Upolyd) u.mh = u.mhmax += 5; u.uhp = u.uhpmax += 5; --- 749,757 ---- /* Otherwise, falls into next case */ case 2: if (!Blind) ! /*JP You("are surrounded by %s glow.", ! an(Hallucination ? hcolor() : golden));*/ ! You("%sµ±¤­¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡¥", an(hcolor(golden))); if (Upolyd) u.mh = u.mhmax += 5; u.uhp = u.uhpmax += 5; *************** *** 648,662 **** register struct obj *otmp; if (Blind) ! You_feel("the power of %s.", u_gname()); ! else You("are surrounded by %s aura.", an(hcolor(light_blue))); for(otmp=invent; otmp; otmp=otmp->nobj) { if (otmp->cursed) { uncurse(otmp); if (!Blind) { Your("%s %s.", aobjnam(otmp, "softly glow"), hcolor(amber)); otmp->bknown = TRUE; } } --- 765,785 ---- register struct obj *otmp; if (Blind) ! /*JP You_feel("the power of %s.", u_gname());*/ ! You("%s¤ÎÎϤò´¶¤¸¤¿¡¥", u_gname()); ! /*JP else You("are surrounded by %s aura.",*/ ! else You("%s¥ª¡¼¥é¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡¥", an(hcolor(light_blue))); for(otmp=invent; otmp; otmp=otmp->nobj) { if (otmp->cursed) { uncurse(otmp); if (!Blind) { + /*JP Your("%s %s.", aobjnam(otmp, "softly glow"), hcolor(amber)); + */ + Your("%s¤Ï%s¤¦¤Ã¤¹¤é¤Èµ±¤¤¤¿¡¥", xname(otmp), + jconj_adj(hcolor(amber))); otmp->bknown = TRUE; } } *************** *** 664,689 **** break; } case 5: { ! const char *msg="\"and thus I grant thee the gift of %s!\""; ! godvoice(u.ualign.type, "Thou hast pleased me with thy progress,"); if (!(HTelepat & INTRINSIC)) { HTelepat |= FROMOUTSIDE; ! pline(msg, "Telepathy"); if (Blind) see_monsters(); } else if (!(Fast & INTRINSIC)) { Fast |= FROMOUTSIDE; ! pline(msg, "Speed"); } else if (!(Stealth & INTRINSIC)) { Stealth |= FROMOUTSIDE; ! pline(msg, "Stealth"); } else { if (!(Protection & INTRINSIC)) { Protection |= FROMOUTSIDE; if (!u.ublessed) u.ublessed = rn1(3, 2); } else u.ublessed++; ! pline(msg, "my protection"); } ! verbalize("Use it wisely in my name!"); break; } case 7: --- 787,819 ---- break; } case 5: { ! /*JP const char *msg="\"and thus I grant thee the gift of %s!\"";*/ ! const char *msg="¡Ö¤µ¤é¤ËÆò¤Ë%s¤ò¤µ¤º¤±¤è¤¦¡ª¡×"; ! /*JP godvoice(u.ualign.type, "Thou hast pleased me with thy progress,");*/ ! godvoice(u.ualign.type, "Æò¤ÎÀ®Ä¹¤ÏÈó¾ï¤Ë˾¤Þ¤·¤¤¡¤"); if (!(HTelepat & INTRINSIC)) { HTelepat |= FROMOUTSIDE; ! /*JP pline(msg, "Telepathy");*/ ! pline(msg, "¥Æ¥ì¥Ñ¥·¡¼"); if (Blind) see_monsters(); } else if (!(Fast & INTRINSIC)) { Fast |= FROMOUTSIDE; ! /*JP pline(msg, "Speed");*/ ! pline(msg, "®¤µ"); } else if (!(Stealth & INTRINSIC)) { Stealth |= FROMOUTSIDE; ! /*JP pline(msg, "Stealth");*/ ! pline(msg, "Ǧ¤ÎÎÏ"); } else { if (!(Protection & INTRINSIC)) { Protection |= FROMOUTSIDE; if (!u.ublessed) u.ublessed = rn1(3, 2); } else u.ublessed++; ! /*JP pline(msg, "my protection");*/ ! pline(msg, "²æ¤¬¸î¤ê"); } ! /*JP verbalize("Use it wisely in my name!");*/ ! verbalize("²æ̾¤Ë±÷¤¤¤ÆÍ­¸ú¤Ë»È¤¦¤¬¤è¤¤¡ª"); break; } case 7: *************** *** 702,708 **** switch(u.ualign.type) { case A_LAWFUL: u.uevent.uhand_of_elbereth = 1; ! verbalize("I crown thee... The Hand of Elbereth!"); if (obj && (obj->otyp == LONG_SWORD) && !obj->oartifact) { obj = oname(obj, artiname(ART_EXCALIBUR)); } --- 832,839 ---- switch(u.ualign.type) { case A_LAWFUL: u.uevent.uhand_of_elbereth = 1; ! /*JP verbalize("I crown thee... The Hand of Elbereth!");*/ ! verbalize("Æò¤Ë¤µ¤º¤±¤è¤¦¡¥¡¥¡¥ ¥¨¥ë¥Ù¥ì¥¹¤Î¸æ¼ê¤ò¡ª"); if (obj && (obj->otyp == LONG_SWORD) && !obj->oartifact) { obj = oname(obj, artiname(ART_EXCALIBUR)); } *************** *** 712,730 **** break; case A_NEUTRAL: u.uevent.uhand_of_elbereth = 2; ! verbalize("Thou shalt be my Envoy of Balance!"); if (uwep && uwep->oartifact == ART_VORPAL_BLADE) { obj = uwep; /* to be blessed and rustproofed */ ! Your("%s goes snicker-snack!", xname(obj)); obj->dknown = TRUE; } else if (!exist_artifact(LONG_SWORD, artiname(ART_VORPAL_BLADE))) { obj = mksobj(LONG_SWORD, FALSE, FALSE); obj = oname(obj, artiname(ART_VORPAL_BLADE)); pline("%s %s %s your %s!", Blind ? Something : "A", Blind ? "lands" : "sword appears", Levitation ? "beneath" : "at", makeplural(body_part(FOOT))); obj->spe = 1; dropy(obj); #ifdef WEAPON_SKILLS --- 843,870 ---- break; case A_NEUTRAL: u.uevent.uhand_of_elbereth = 2; ! /*JP verbalize("Thou shalt be my Envoy of Balance!");*/ ! verbalize("Æò¡¤²æ¤¬Ä´Ï¤λȼԤʤꡪ"); if (uwep && uwep->oartifact == ART_VORPAL_BLADE) { obj = uwep; /* to be blessed and rustproofed */ ! /*JP Your("%s goes snicker-snack!", xname(obj));*/ ! Your("%s¤Ï·Ú¤¯¤Ê¤Ã¤¿¡ª", xname(obj)); obj->dknown = TRUE; } else if (!exist_artifact(LONG_SWORD, artiname(ART_VORPAL_BLADE))) { obj = mksobj(LONG_SWORD, FALSE, FALSE); obj = oname(obj, artiname(ART_VORPAL_BLADE)); + #if 0 pline("%s %s %s your %s!", Blind ? Something : "A", Blind ? "lands" : "sword appears", Levitation ? "beneath" : "at", makeplural(body_part(FOOT))); + #endif + pline("%s¤¬¤¢¤Ê¤¿¤Î%s%s¤Ë%s¡ª", + Blind ? "²¿¤«" : "·õ", + makeplural(body_part(FOOT)), + Levitation ? "¤Î²¼Êý¤Ë" : "¸µ", + Blind ? "ÃåÃϤ·¤¿" : "¸½¤ï¤ì¤¿"); obj->spe = 1; dropy(obj); #ifdef WEAPON_SKILLS *************** *** 749,767 **** in_hand = (uwep && uwep->oartifact == ART_STORMBRINGER); already_exists = exist_artifact(RUNESWORD, artiname(ART_STORMBRINGER)); ! verbalize("Thou art chosen to %s for My Glory!", already_exists && !in_hand ? ! "take lives" : "steal souls"); if (in_hand) { obj = uwep; /* to be blessed and rustproofed */ } else if (!already_exists) { obj = mksobj(RUNESWORD, FALSE, FALSE); obj = oname(obj, artiname(ART_STORMBRINGER)); pline("%s %s %s your %s!", Blind ? Something : An(hcolor(Black)), Blind ? "lands" : "sword appears", Levitation ? "beneath" : "at", makeplural(body_part(FOOT))); obj->spe = 1; dropy(obj); #ifdef WEAPON_SKILLS --- 889,918 ---- in_hand = (uwep && uwep->oartifact == ART_STORMBRINGER); already_exists = exist_artifact(RUNESWORD, artiname(ART_STORMBRINGER)); ! /*JP verbalize("Thou art chosen to %s for My Glory!", ! already_exists && !in_hand ? ! "take lives" : "steal souls");*/ ! verbalize("Æò¡¤²æ¤¬±É¸÷¤Î¤¿¤á%s¤È¤·¤ÆÁª¤Ð¤ì¤ó¡ª", already_exists && !in_hand ? ! "À¸¤­¤Ê¤¬¤é¤¨¤ó¼Ô" : "º²¤òÃ¥¤¤¤·¤¿¤á¤ë¼Ô"); if (in_hand) { obj = uwep; /* to be blessed and rustproofed */ } else if (!already_exists) { obj = mksobj(RUNESWORD, FALSE, FALSE); obj = oname(obj, artiname(ART_STORMBRINGER)); + /*JP pline("%s %s %s your %s!", Blind ? Something : An(hcolor(Black)), Blind ? "lands" : "sword appears", Levitation ? "beneath" : "at", makeplural(body_part(FOOT))); + */ + pline("%s%s¤¬¤¢¤Ê¤¿¤Î%s%s¤Ë%s¡ª", + Blind ? Something : An(hcolor(Black)), + Blind ? "" : "·õ", + makeplural(body_part(FOOT)), + Levitation ? "¤Î²¼Êý¤Ë" : "¸µ", + Blind ? "ÃåÃϤ·¤¿" : "¸½¤ï¤ì¤¿"); obj->spe = 1; dropy(obj); #ifdef WEAPON_SKILLS *************** *** 790,796 **** struct obj *otmp; int sp_no, trycnt = u.ulevel + 1; ! pline("An object appears at your %s!", makeplural(body_part(FOOT))); /* not yet known spells given preference over already known ones */ otmp = mkobj(SPBOOK_CLASS, TRUE); --- 941,948 ---- struct obj *otmp; int sp_no, trycnt = u.ulevel + 1; ! /*JP pline("An object appears at your %s!",*/ ! pline ("ʪÂΤ¬¤¢¤Ê¤¿¤Î%s¸µ¤Ë¸½¤ï¤ì¤¿¡ª", makeplural(body_part(FOOT))); /* not yet known spells given preference over already known ones */ otmp = mkobj(SPBOOK_CLASS, TRUE); *************** *** 845,854 **** other = TRUE; } if(!Blind && changed) { ! pline("%s potion%s on the altar glow%s %s for a moment.", ((other && changed > 1L) ? "Some of the" : (other ? "A" : "The")), (changed > 1L ? "s" : ""), (changed > 1L ? "" : "s"), ! (bless_water ? amber : Black)); } return((boolean)(changed > 0L)); } --- 997,1009 ---- other = TRUE; } if(!Blind && changed) { ! /*JP pline("%s potion%s on the altar glow%s %s for a moment.", ((other && changed > 1L) ? "Some of the" : (other ? "A" : "The")), (changed > 1L ? "s" : ""), (changed > 1L ? "" : "s"), ! (bless_water ? amber : Black));*/ ! pline("%sº×ÃŤÎÌô¤Ï°ì½Ö%sµ±¤¤¤¿¡¥", ! (other && changed > 1L) ? "¤¤¤¯¤Ä¤«¤Î" : "", ! jconj_adj(bless_water ? amber : Black)); } return((boolean)(changed > 0L)); } *************** *** 858,863 **** --- 1013,1019 ---- aligntyp g_align; const char *words; { + #if 0 /*JP*/ const char *quot = ""; if(words) quot = "\""; *************** *** 866,878 **** pline_The("voice of %s %s: %s%s%s", align_gname(g_align), godvoices[rn2(SIZE(godvoices))], quot, words, quot); } static void gods_angry(g_align) aligntyp g_align; { ! godvoice(g_align, "Thou hast angered me."); } /* The g_align god is upset with you. */ --- 1022,1042 ---- pline_The("voice of %s %s: %s%s%s", align_gname(g_align), godvoices[rn2(SIZE(godvoices))], quot, words, quot); + #endif /*JP*/ + if(words) + pline("%s¤ÎÀ¼¤¬%s: ¡Ö%s¡×", align_gname(g_align), + godvoices[rn2(SIZE(godvoices))], words); + else + pline("%s¤ÎÀ¼¤¬%s¡§", align_gname(g_align), + godvoices[rn2(SIZE(godvoices))]); } static void gods_angry(g_align) aligntyp g_align; { ! /*JP godvoice(g_align, "Thou hast angered me.");*/ ! godvoice(g_align, "Æò¡¤²æ¤òÅܤꤷ¤á¤¿¡¥"); } /* The g_align god is upset with you. */ *************** *** 894,912 **** if (Hallucination) switch (rn2(3)) { case 0: ! Your("sacrifice sprouts wings and a propeller and roars away!"); break; case 1: ! Your("sacrifice puffs up, swelling bigger and bigger, and pops!"); break; case 2: ! Your("sacrifice collapses into a cloud of dancing particles and fades away!"); break; } else if (Blind && u.ualign.type == A_LAWFUL) ! Your("sacrifice disappears!"); ! else Your("sacrifice is consumed in a %s!", ! u.ualign.type == A_LAWFUL ? "flash of light" : "burst of flame"); if (carried(otmp)) useup(otmp); else useupf(otmp); exercise(A_WIS, TRUE); --- 1058,1082 ---- if (Hallucination) switch (rn2(3)) { case 0: ! /*JP Your("sacrifice sprouts wings and a propeller and roars away!");*/ ! Your("¸¥¾åʪ¤Ï±©¤ò¤Ï¤ä¤·¡¤¥×¥í¥Ú¥é¤¬¤Þ¤ï¤ê¡¤Èô¤ó¤Ç¤Ã¤¿¡ª"); break; case 1: ! /*JP Your("sacrifice puffs up, swelling bigger and bigger, and pops!");*/ ! Your("¸¥¾åʪ¤ÏÊ®±ì¤ò¤¢¤²¡¤¤É¤ó¤É¤óËĤ졤¤½¤·¤Æ¤Ï¤¸¤±¤¿¡ª"); break; case 2: ! /*JP Your("sacrifice collapses into a cloud of dancing particles and fades away!");*/ ! Your("¸¥¾åʪ¤ÏºÙ¤«¤¯ºÕ¤±¡¤ÍÙ¤ê½Ð¤·¡¤¤É¤³¤«¤Ë¹Ô¤Ã¤Æ¤·¤Þ¤Ã¤¿¡ª"); break; } else if (Blind && u.ualign.type == A_LAWFUL) ! /*JP Your("sacrifice disappears!");*/ ! Your("¸¥¾åʪ¤Ï¾Ã¤¨¤¿¡ª"); ! /*JP else Your("sacrifice is consumed in a %s!", ! u.ualign.type == A_LAWFUL ? "flash of light" : "burst of flame");*/ ! else Your("¸¥¾åʪ¤Ï%s¾Ã¤¨¤µ¤Ã¤¿¡ª", ! u.ualign.type == A_LAWFUL ? "¤Þ¤Ð¤æ¤¤¸÷¤òÊü¤Á" : "±ê¤ò¾å¤²"); if (carried(otmp)) useup(otmp); else useupf(otmp); exercise(A_WIS, TRUE); *************** *** 920,934 **** --- 1090,1114 ---- aligntyp altaralign = a_align(u.ux,u.uy); if (!on_altar()) { + /*JP You("are not standing on an altar."); + */ + You("º×ÃŤξå¤ËΩ¤Ã¤Æ¤¤¤Ê¤¤¡¥"); return 0; } + #if 0 /*JP*/ if (In_endgame(&u.uz)) { if (!(otmp = getobj(sacrifice_types, "sacrifice"))) return 0; } else { if (!(otmp = floorfood("sacrifice", 1))) return 0; } + #endif + if (In_endgame(&u.uz)) { + if (!(otmp = getobj(sacrifice_types, "Êû¤²¤ë"))) return 0; + } else { + if (!(otmp = floorfood("Êû¤²¤ë", 1))) return 0; + } /* Was based on nutritional value and aging behavior (< 50 moves). Sacrificing a food ration got you max luck instantly, making the *************** *** 957,973 **** if (Role_is('E') ? is_elf(ptr) : is_human(ptr)) { if (is_demon(uasmon)) { ! You("find the idea very satisfying."); exercise(A_WIS, TRUE); } else if (u.ualign.type != A_CHAOTIC) { ! pline("You'll regret this infamous offense!"); exercise(A_WIS, FALSE); } if (altaralign != A_CHAOTIC && altaralign != A_NONE) { /* curse the lawful/neutral altar */ pline_The("altar is stained with %s blood.", Role_is('E') ? "elven" : "human"); if(!Is_astralevel(&u.uz)) levl[u.ux][u.uy].altarmask = AM_CHAOTIC; angry_priest(); --- 1137,1159 ---- if (Role_is('E') ? is_elf(ptr) : is_human(ptr)) { if (is_demon(uasmon)) { ! /*JP You("find the idea very satisfying.");*/ ! You("¤½¤Î¹Í¤¨¤ÏÁÇÀ²¤·¤¤¤È»×¤Ã¤¿¡¥"); exercise(A_WIS, TRUE); } else if (u.ualign.type != A_CHAOTIC) { ! /*JP pline("You'll regret this infamous offense!");*/ ! pline("Æò¡¢¤³¤ÎÉî¿«¤Î¹Ô¤Ê¤¤¤ò¸å²ù¤¹¤ë¤Ù¤·¡ª"); exercise(A_WIS, FALSE); } if (altaralign != A_CHAOTIC && altaralign != A_NONE) { /* curse the lawful/neutral altar */ + /*JP pline_The("altar is stained with %s blood.", Role_is('E') ? "elven" : "human"); + */ + pline("º×ÃŤÏ%s¤Î·ì¤Ç±ø¤ì¤Æ¤¤¤ë¡¥", + (pl_character[0]=='E') ? "¥¨¥ë¥Õ" : "¿Í"); if(!Is_astralevel(&u.uz)) levl[u.ux][u.uy].altarmask = AM_CHAOTIC; angry_priest(); *************** *** 979,1005 **** /* is equivalent to demon summoning */ if (altaralign == A_CHAOTIC && u.ualign.type != A_CHAOTIC) { pline( ! "The blood floods the altar, which vanishes in %s cloud!", ! an(hcolor(Black))); levl[u.ux][u.uy].typ = ROOM; levl[u.ux][u.uy].altarmask = 0; if(Invisible) newsym(u.ux, u.uy); angry_priest(); ! demonless_msg = "cloud dissipates"; } else { /* either you're chaotic or altar is Moloch's or both */ ! pline_The("blood covers the altar!"); change_luck(altaralign == A_NONE ? -2 : 2); ! demonless_msg = "blood coagulates"; } if ((dmon = makemon(&mons[dlord(altaralign)], u.ux, u.uy, NO_MM_FLAGS ))) { ! You("have summoned %s!", a_monnam(dmon)); if (sgn(u.ualign.type) == sgn(dmon->data->maligntyp)) dmon->mpeaceful = TRUE; ! You("are terrified, and unable to move."); nomul(-3); ! } else pline_The("%s.", demonless_msg); } if (u.ualign.type != A_CHAOTIC) { --- 1165,1199 ---- /* is equivalent to demon summoning */ if (altaralign == A_CHAOTIC && u.ualign.type != A_CHAOTIC) { pline( ! /*JP "The blood floods the altar, which vanishes in %s cloud!", ! an(hcolor(Black)));*/ ! "·ì¤¬º×ÃŤ«¤é°î¤ì¡¤º×ÃŤÏ%s±À¤È¤Ê¤ê¾Ã¤¨¤¿¡ª", ! an(hcolor(Black))); levl[u.ux][u.uy].typ = ROOM; levl[u.ux][u.uy].altarmask = 0; if(Invisible) newsym(u.ux, u.uy); angry_priest(); ! /*JP demonless_msg = "cloud dissipates";*/ ! demonless_msg = "±À¤ÏÈô¤Ó»¶¤Ã¤¿¡¥"; } else { /* either you're chaotic or altar is Moloch's or both */ ! /*JP pline_The("blood covers the altar!");*/ ! pline("·ì¤¬º×ÃŤòʤ¤Ã¤¿¡ª"); change_luck(altaralign == A_NONE ? -2 : 2); ! /*JP demonless_msg = "blood coagulates";*/ ! demonless_msg = "·ì¤¬¤³¤Ó¤ê¤Ä¤¤¤¿"; } if ((dmon = makemon(&mons[dlord(altaralign)], u.ux, u.uy, NO_MM_FLAGS ))) { ! /*JP You("have summoned %s!", a_monnam(dmon));*/ ! You("%s¤ò¾¤´­¤·¤¿¡ª", a_monnam(dmon)); if (sgn(u.ualign.type) == sgn(dmon->data->maligntyp)) dmon->mpeaceful = TRUE; ! /*JP You("are terrified, and unable to move.");*/ ! You("¶²¤¯¤Ê¤ê¡¤Æ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡¥"); nomul(-3); ! /*JP } else pline_The("%s.", demonless_msg);*/ ! } else pline("%s.", demonless_msg); } if (u.ualign.type != A_CHAOTIC) { *************** *** 1020,1036 **** /* If same as altar, always a very bad action. */ if (unicalign == altaralign) { ! pline("Such an action is an insult to %s!", (unicalign == A_CHAOTIC) ! ? "chaos" : unicalign ? "law" : "balance"); (void) adjattrib(A_WIS, -1, TRUE); value = -5; } else if (u.ualign.type == altaralign) { /* If different from altar, and altar is same as yours, */ /* it's a very good action */ if (u.ualign.record < ALIGNLIM) ! You_feel("appropriately %s.", align_str(u.ualign.type)); ! else You_feel("you are thoroughly on the right path."); adjalign(5); value += 3; } else --- 1214,1235 ---- /* If same as altar, always a very bad action. */ if (unicalign == altaralign) { ! /*JP pline("Such an action is an insult to %s!", ! (unicalign == A_CHAOTIC) ! ? "chaos" : unicalign ? "law" : "balance");*/ ! pline("¤½¤Î¤è¤¦¤Ê¹ÔÆ°¤Ï¡Ø%s¡Ù¤ËÈ¿¤¹¤ë¡ª", (unicalign == A_CHAOTIC) ! ? "º®ÆÙ" : unicalign ? "Ãá½ø" : "Ä´ÏÂ"); (void) adjattrib(A_WIS, -1, TRUE); value = -5; } else if (u.ualign.type == altaralign) { /* If different from altar, and altar is same as yours, */ /* it's a very good action */ if (u.ualign.record < ALIGNLIM) ! /*JP You_feel("appropriately %s.", align_str(u.ualign.type));*/ ! You("%s¤Ë¤Õ¤µ¤ï¤·¤¤¤È´¶¤¸¤¿¡¥", align_str(u.ualign.type)); ! /*JP else You_feel("you are thoroughly on the right path.");*/ ! else You("´°Á´¤ËÀµ¤·¤¤Æ»¤òÊâ¤ó¤Ç¤¤¤ë¤Î¤ò´¶¤¸¤¿¡¥"); adjalign(5); value += 3; } else *************** *** 1046,1054 **** if (otmp->otyp == AMULET_OF_YENDOR) { if (!In_endgame(&u.uz)) { if (Hallucination) ! You_feel("homesick."); else ! You_feel("an urge to return to the surface."); return 1; } else { /* The final Test. Did you win? */ --- 1245,1255 ---- if (otmp->otyp == AMULET_OF_YENDOR) { if (!In_endgame(&u.uz)) { if (Hallucination) ! /*JP You_feel("homesick.");*/ ! You("¸Î¶¿¤¬Îø¤·¤¯¤Ê¤Ã¤¿¡¥"); else ! /*JP You_feel("an urge to return to the surface.");*/ ! You("ÃϾå¤Ëµ¢¤ê¤¿¤¤µ¤»ý¤Ë¶î¤êΩ¤Æ¤é¤ì¤¿¡¥"); return 1; } else { /* The final Test. Did you win? */ *************** *** 1056,1081 **** u.uevent.ascended = 1; if(carried(otmp)) useup(otmp); /* well, it's gone now */ else useupf(otmp); ! You("offer the Amulet of Yendor to %s...", a_gname()); if (u.ualign.type != altaralign) { /* And the opposing team picks you up and carries you off on their shoulders */ adjalign(-99); ! pline("%s accepts your gift, and gains dominion over %s...", a_gname(), u_gname()); ! pline("%s is enraged...", u_gname()); ! pline("Fortunately, %s permits you to live...", a_gname()); ! pline("A cloud of %s smoke surrounds you...", ! hcolor((const char *)"orange")); done(ESCAPED); } else { /* super big win */ adjalign(10); ! pline("An invisible choir sings, and you are bathed in radiance..."); ! godvoice(altaralign, "Congratulations, mortal!"); display_nhwindow(WIN_MESSAGE, FALSE); ! verbalize("In return for thy service, I grant thee the gift of Immortality!"); You("ascend to the status of Demigod%s...", flags.female ? "dess" : ""); done(ASCENDED); } } --- 1257,1295 ---- u.uevent.ascended = 1; if(carried(otmp)) useup(otmp); /* well, it's gone now */ else useupf(otmp); ! /*JP You("offer the Amulet of Yendor to %s...", a_gname());*/ ! You("¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤ò%s¤Ë¸¥¾å¤·¤¿¡¥¡¥¡¥",a_gname()); if (u.ualign.type != altaralign) { /* And the opposing team picks you up and carries you off on their shoulders */ adjalign(-99); ! /*JP pline("%s accepts your gift, and gains dominion over %s...",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ÎÁ÷¤êʪ¤ò¼õ¤±¤È¤ê¡¤%s¤Î¸¢ÎϤòÆÀ¤¿¡¥¡¥¡¥", a_gname(), u_gname()); ! /*JP pline("%s is enraged...", u_gname());*/ ! pline("%s¤Ï·ãÅܤ·¤¿¡¥¡¥¡¥", u_gname()); ! /*JP pline("Fortunately, %s permits you to live...", a_gname());*/ ! pline("¹¬±¿¤Ë¤â¡¤%s¤Ï¤¢¤Ê¤¿¤Î¸ºß¤òµö¤·¤Æ¤¤¤ë¡¥¡¥¡¥",a_gname()); ! /*JP pline("A cloud of %s smoke surrounds you...", ! hcolor((const char *)"orange"));*/ ! pline("%s±ì¤¬¤¢¤Ê¤¿¤ò¼è¤ê°Ï¤ó¤À¡¥¡¥¡¥", ! hcolor((const char *)"¥ª¥ì¥ó¥¸¿§¤Î")); done(ESCAPED); } else { /* super big win */ adjalign(10); ! /*JPpline("An invisible choir sings, and you are bathed in radiance...");*/ ! pline("¤É¤³¤«¤é¤È¤â¤Ê¤¯À»²ÎÂâ¤Î²Î¤¬Ê¹¤³¤¨¡¤¤¢¤Ê¤¿¤Ï¸÷¤ËÊñ¤Þ¤ì¤¿¡¥¡¥¡¥"); ! /*JP godvoice(altaralign, "Congratulations, mortal!");*/ ! godvoice(altaralign, "¤è¤¯¤ä¤Ã¤¿¡ª¿Í´Ö¤è¡ª"); display_nhwindow(WIN_MESSAGE, FALSE); ! /*JPverbalize("In return for thy service, I grant thee the gift of Immortality!");*/ ! verbalize("Æò¤Î°Î¶È¤ËÂФ·¡¤ÉÔ»à¤ÎÂΤòÊû¤²¤è¤¦¤¾¡ª"); ! /*JP You("ascend to the status of Demigod%s...", flags.female ? "dess" : ""); + */ + You("¾ºÅ·¤·¡¤%s¿À¤È¤Ê¤Ã¤¿¡¥¡¥¡¥", + flags.female ? "½÷" : ""); done(ASCENDED); } } *************** *** 1083,1092 **** if (otmp->otyp == FAKE_AMULET_OF_YENDOR) { if (flags.soundok) ! You_hear("a nearby thunderclap."); if (!otmp->known) { ! You("realize you have made a %s.", ! Hallucination ? "boo-boo" : "mistake"); otmp->known = TRUE; change_luck(-1); return 1; --- 1297,1309 ---- if (otmp->otyp == FAKE_AMULET_OF_YENDOR) { if (flags.soundok) ! /*JP You_hear("a nearby thunderclap.");*/ ! You("¶á¤¯¤ËÍ뤬Íî¤Á¤¿²»¤òʹ¤¤¤¿¡¥"); if (!otmp->known) { ! /*JP You("realize you have made a %s.", ! Hallucination ? "boo-boo" : "mistake");*/ ! You("%s¤òÈȤ·¤¿¤³¤È¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥", ! Hallucination ? "¥Ö¡¼¥Ö¡¼" : "´Ö°ã¤¤"); otmp->known = TRUE; change_luck(-1); return 1; *************** *** 1110,1118 **** * REAL BAD NEWS!!! High altars cannot be converted. Even an attempt * gets the god who owns it truely pissed off. */ ! You_feel("the air around you grow charged..."); ! pline("Suddenly, you realize that %s has noticed you...", a_gname()); ! godvoice(altaralign, "So, mortal! You dare desecrate my High Temple!"); /* Throw everything we have at the player */ god_zaps_you(altaralign); } else if (value < 0) { /* I don't think the gods are gonna like this... */ --- 1327,1338 ---- * REAL BAD NEWS!!! High altars cannot be converted. Even an attempt * gets the god who owns it truely pissed off. */ ! /*JP You_feel("the air around you grow charged...");*/ ! You("²ó¤ê¤Î¶õµ¤¤Ë¥¨¥Í¥ë¥®¡¼¤¬Ëþ¤Á¤Æ¤¤¤¯¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥¡¥¡¥"); ! /*JP pline("Suddenly, you realize that %s has noticed you...", a_gname());*/ ! pline("ÆÍÁ³¡¤%s¤¬¤¢¤Ê¤¿¤ò¤¸¤Ã¤È¸«¤Æ¤¤¤ë¤Î¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥¡¥¡¥",a_gname()); ! /*JP godvoice(altaralign, "So, mortal! You dare desecrate my High Temple!");*/ ! godvoice(altaralign, "¿Í´Ö¤è¡ª¤ª¤Þ¤¨¤Ï²æ¤¬¿ÀÀ»¤Ê¤ë»û±¡¤ò±ø¤¹¤Î¤«¡ª"); /* Throw everything we have at the player */ god_zaps_you(altaralign); } else if (value < 0) { /* I don't think the gods are gonna like this... */ *************** *** 1129,1137 **** if (ugod_is_angry() || (altaralign == A_NONE && Inhell)) { if(u.ualignbase[0] == u.ualignbase[1] && altaralign != A_NONE) { ! You("have a strong feeling that %s is angry...", u_gname()); consume_offering(otmp); ! pline("%s accepts your allegiance.", a_gname()); /* The player wears a helm of opposite alignment? */ if (uarmh && uarmh->otyp == HELM_OF_OPPOSITE_ALIGNMENT) --- 1349,1359 ---- if (ugod_is_angry() || (altaralign == A_NONE && Inhell)) { if(u.ualignbase[0] == u.ualignbase[1] && altaralign != A_NONE) { ! /*JP You("have a strong feeling that %s is angry...", u_gname());*/ ! You("%s¤¬ÅܤäƤ¤¤ë¤Î¤ò³Î¿®¤·¤¿¡¥¡¥¡¥", u_gname()); consume_offering(otmp); ! /*JP pline("%s accepts your allegiance.", a_gname());*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î°À­¤ò¼õ¤±¤¤¤ì¤¿¡¥", a_gname()); /* The player wears a helm of opposite alignment? */ if (uarmh && uarmh->otyp == HELM_OF_OPPOSITE_ALIGNMENT) *************** *** 1141,1147 **** u.ublessed = 0; flags.botl = 1; ! You("have a sudden sense of a new direction."); /* Beware, Conversion is costly */ change_luck(-3); u.ublesscnt += 300; --- 1363,1371 ---- u.ublessed = 0; flags.botl = 1; ! /*JP You("have a sudden sense of a new direction.");*/ ! You("ÆÍÁ³¡¤Ê̤δ¶³Ð¤Ë¤á¤¶¤á¤¿¡¥"); ! /* Beware, Conversion is costly */ change_luck(-3); u.ublesscnt += 300; *************** *** 1149,1156 **** } else { u.ugangr += 3; adjalign(-5); ! pline("%s rejects your sacrifice!", a_gname()); ! godvoice(altaralign, "Suffer, infidel!"); change_luck(-5); (void) adjattrib(A_WIS, -2, TRUE); if (!Inhell) angrygods(u.ualign.type); --- 1373,1382 ---- } else { u.ugangr += 3; adjalign(-5); ! /*JP pline("%s rejects your sacrifice!", a_gname());*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î¸¥¾åʪ¤ò¼õ¤±¤¤¤ì¤Ê¤¤¡ª", a_gname()); ! /*JP godvoice(altaralign, "Suffer, infidel!");*/ ! godvoice(altaralign, "°Ûü¼Ô¤è¡ª¼º¤»¤í¡ª¡ª"); change_luck(-5); (void) adjattrib(A_WIS, -2, TRUE); if (!Inhell) angrygods(u.ualign.type); *************** *** 1158,1168 **** return(1); } else { consume_offering(otmp); ! You("sense a conflict between %s and %s.", u_gname(), a_gname()); if (rn2(8 + u.ulevel) > 5) { struct monst *pri; ! You_feel("the power of %s increase.", u_gname()); exercise(A_WIS, TRUE); change_luck(1); /* Yes, this is supposed to be &=, not |= */ --- 1384,1396 ---- return(1); } else { consume_offering(otmp); ! /*JP You("sense a conflict between %s and %s.",*/ ! You("%s¤È%s´Ö¤ÎÁ褤¤ò´¶¤¸¤¿¡¥", u_gname(), a_gname()); if (rn2(8 + u.ulevel) > 5) { struct monst *pri; ! /*JP You_feel("the power of %s increase.", u_gname());*/ ! You("%s¤ÎÎϤ¬ÁýÂ礷¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥", u_gname()); exercise(A_WIS, TRUE); change_luck(1); /* Yes, this is supposed to be &=, not |= */ *************** *** 1171,1180 **** --- 1399,1414 ---- levl[u.ux][u.uy].altarmask = levl[u.ux][u.uy].altarmask | (Align2amask(u.ualign.type)); if (!Blind) + #if 0 /*JP*/ pline_The("altar glows %s.", hcolor( u.ualign.type == A_LAWFUL ? White : u.ualign.type ? Black : (const char *)"gray")); + #endif /*JP*/ + pline("º×ÃŤÏ%sµ±¤¤¤¿¡¥", + jconj_adj(hcolor( + u.ualign.type == A_LAWFUL ? White : + u.ualign.type ? Black : (const char *)"³¥¿§¤Î"))); if (rnl(u.ulevel) > 6 && u.ualign.record > 0 && rnd(u.ualign.record) > (3*ALIGNLIM)/4) *************** *** 1184,1190 **** !p_coaligned(pri)) angry_priest(); } else { ! pline("Unluckily, you feel the power of %s decrease.", u_gname()); change_luck(-1); exercise(A_WIS, FALSE); --- 1418,1425 ---- !p_coaligned(pri)) angry_priest(); } else { ! /*JP pline("Unluckily, you feel the power of %s decrease.",*/ ! pline("ÉÔ¹¬¤Ë¤â¡¤%s¤ÎÎϤ¬¸º¾¯¤·¤¿¤Î¤ò´¶¤¸¤¿¡¥", u_gname()); change_luck(-1); exercise(A_WIS, FALSE); *************** *** 1204,1229 **** if(u.ugangr < 0) u.ugangr = 0; if(u.ugangr != saved_anger) { if (u.ugangr) { ! pline("%s seems %s.", u_gname(), ! Hallucination ? "groovy" : "slightly mollified"); if ((int)u.uluck < 0) change_luck(1); } else { ! pline("%s seems %s.", u_gname(), Hallucination ? ! "cosmic (not a new fact)" : "mollified"); if ((int)u.uluck < 0) u.uluck = 0; } } else { /* not satisfied yet */ if (Hallucination) ! pline_The("gods seem tall."); ! else You("have a feeling of inadequacy."); } } else if(ugod_is_angry()) { if(value > MAXVALUE) value = MAXVALUE; if(value > -u.ualign.record) value = -u.ualign.record; adjalign(value); ! You_feel("partially absolved."); } else if (u.ublesscnt > 0) { u.ublesscnt -= ((value * (u.ualign.type == A_CHAOTIC ? 500 : 300)) / MAXVALUE); --- 1439,1471 ---- if(u.ugangr < 0) u.ugangr = 0; if(u.ugangr != saved_anger) { if (u.ugangr) { ! /*JP pline("%s seems %s.", u_gname(), ! Hallucination ? "groovy" : "slightly mollified");*/ ! pline("%s¤Ï%s¤Ë¸«¤¨¤ë¡¥", u_gname(), ! Hallucination ? "ÁÇŨ" : "¤Á¤ç¤Ã¤ÈϤ餤¤À¤è¤¦"); if ((int)u.uluck < 0) change_luck(1); } else { ! /*JP pline("%s seems %s.", u_gname(), Hallucination ? ! "cosmic (not a new fact)" : "mollified");*/ ! pline("%s¤Ï%s¤Ë¸«¤¨¤ë¡¥", u_gname(), Hallucination ? ! "Æú¿§(¿·»ö¼Â¤Ç¤Ï¤Ê¤¤)" : "·ÚÊΤ·¤¿¤è¤¦"); if ((int)u.uluck < 0) u.uluck = 0; } } else { /* not satisfied yet */ if (Hallucination) ! /*JP pline_The("gods seem tall.");*/ ! pline("¿À¤Ï¤ª¹â¤¯¤È¤Þ¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤ë¡¥"); ! /*JP else You("have a feeling of inadequacy.");*/ ! else You("¤Þ¤À¤Þ¤À¤À¤È´¶¤¸¤¿¡¥"); } } else if(ugod_is_angry()) { if(value > MAXVALUE) value = MAXVALUE; if(value > -u.ualign.record) value = -u.ualign.record; adjalign(value); ! /*JP You_feel("partially absolved.");*/ ! You("¾¯¤·¤À¤±¤æ¤ë¤·¤Æ¤â¤é¤¨¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); } else if (u.ublesscnt > 0) { u.ublesscnt -= ((value * (u.ualign.type == A_CHAOTIC ? 500 : 300)) / MAXVALUE); *************** *** 1231,1245 **** if(u.ublesscnt != saved_cnt) { if (u.ublesscnt) { if (Hallucination) ! You("realize that the gods are not like you and I."); else ! You("have a hopeful feeling."); if ((int)u.uluck < 0) change_luck(1); } else { if (Hallucination) ! pline("Overall, there is a smell of fried onions."); else ! You("have a feeling of reconciliation."); if ((int)u.uluck < 0) u.uluck = 0; } } --- 1473,1491 ---- if(u.ublesscnt != saved_cnt) { if (u.ublesscnt) { if (Hallucination) ! /*JP You("realize that the gods are not like you and I.");*/ ! You("¿À¤Î¥Ä¡¼¥«¡¼¤ÎÃç¤Ç¤Ï¤Ê¤¤¤³¤È¤ò¸ç¤Ã¤¿¡¥"); else ! /*JP You("have a hopeful feeling.");*/ ! pline("´õ˾¤¬¸«¤¨¤Æ¤­¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); if ((int)u.uluck < 0) change_luck(1); } else { if (Hallucination) ! /*JP pline("Overall, there is a smell of fried onions.");*/ ! pline("¤¿¤Þ¤Í¤®¤òÍȤ²¤¿Æ÷¤¤¤¬¤·¤¿¡¥"); else ! /*JP You("have a feeling of reconciliation.");*/ ! You("°ìÂ䶤ò´¶¤¸¤¿¡¥"); if ((int)u.uluck < 0) u.uluck = 0; } } *************** *** 1255,1263 **** if (otmp->spe < 0) otmp->spe = 0; if (otmp->cursed) uncurse(otmp); dropy(otmp); ! pline("An object appears at your %s!", makeplural(body_part(FOOT))); ! godvoice(u.ualign.type, "Use my gift wisely!"); u.ublesscnt = rnz(300 + (50 * nartifacts)); exercise(A_WIS, TRUE); #ifdef WEAPON_SKILLS --- 1501,1511 ---- if (otmp->spe < 0) otmp->spe = 0; if (otmp->cursed) uncurse(otmp); dropy(otmp); ! /*JP pline("An object appears at your %s!",*/ ! pline("¤¢¤Ê¤¿¤Î%s¸µ¤ËʪÂΤ¬¸½¤ì¤¿¡ª", makeplural(body_part(FOOT))); ! /*JP godvoice(u.ualign.type, "Use my gift wisely!");*/ ! godvoice(u.ualign.type, "²æ¤ìÍ¿¤¨¤·¤â¤Î¸­¤¯»È¤¦¤Ù¤·¡ª"); u.ublesscnt = rnz(300 + (50 * nartifacts)); exercise(A_WIS, TRUE); #ifdef WEAPON_SKILLS *************** *** 1270,1279 **** change_luck((value * LUCKMAX) / (MAXVALUE * 2)); if (u.uluck != saved_luck) { if (Blind) ! You("think %s brushed your %s.",something, body_part(FOOT)); else You(Hallucination ? "see crabgrass at your %s. A funny thing in a dungeon." : "glimpse a four-leaf clover at your %s.", makeplural(body_part(FOOT))); } } --- 1518,1532 ---- change_luck((value * LUCKMAX) / (MAXVALUE * 2)); if (u.uluck != saved_luck) { if (Blind) ! /*JP You("think %s brushed your %s.",something, body_part(FOOT));*/ ! pline("%s¤¬¤¢¤Ê¤¿¤Î%s¤ò¤¯¤¹¤°¤Ã¤¿¡¥", something, body_part(FOOT)); else You(Hallucination ? + /*JP "see crabgrass at your %s. A funny thing in a dungeon." : "glimpse a four-leaf clover at your %s.", + */ + "%s¸µ¤Ë¥Ú¥ó¥Ú¥óÁð¤ò¤ß¤Ä¤±¤¿¡¥Ìµܤˤ·¤Æ¤ÏÄÁ¤·¤¤¡¥": + "»ÍÍդΥ¯¥í¡¼¥Ð¡¼¤ò%s¸µ¤Ë¸«¤Ä¤±¤¿¡¥", makeplural(body_part(FOOT))); } } *************** *** 1293,1305 **** if (is_demon(uasmon) && (p_aligntyp != A_CHAOTIC)) { if (praying) ! pline_The("very idea of praying to a %s god is repugnant to you.", ! p_aligntyp ? "lawful" : "neutral"); ! return FALSE; } if (praying) ! You("begin praying to %s.", align_gname(p_aligntyp)); if (u.ualign.type && u.ualign.type == -p_aligntyp) alignment = -u.ualign.record; /* Opposite alignment altar */ --- 1546,1561 ---- if (is_demon(uasmon) && (p_aligntyp != A_CHAOTIC)) { if (praying) ! /*JP pline_The("very idea of praying to a %s god is repugnant to you.",* ! /*JP p_aligntyp ? "lawful" : "neutral");*/ ! pline("%s¤Î¿À¤Ëµ§¤ê¤ò¤µ¤µ¤²¤ë¤Î¤Ï¾ï¼±¤ËÇؤ¯¡¥", ! p_aligntyp ? "Ãá½ø" : "ÃæΩ"); ! return FALSE; } if (praying) ! /*JP You("begin praying to %s.", align_gname(p_aligntyp));*/ ! You("%s¤Ëµ§¤ê¤òÊû¤²¤¿¡¥", align_gname(p_aligntyp)); if (u.ualign.type && u.ualign.type == -p_aligntyp) alignment = -u.ualign.record; /* Opposite alignment altar */ *************** *** 1338,1344 **** #ifdef WIZARD if (wizard && p_type >= 0) { ! if (yn("Force the gods to be pleased?") == 'y') { u.ublesscnt = 0; if (u.uluck < 0) u.uluck = 0; if (u.ualign.record <= 0) u.ualign.record = 1; --- 1594,1601 ---- #ifdef WIZARD if (wizard && p_type >= 0) { ! /*JP if (yn("Force the gods to be pleased?") == 'y') {*/ ! if (yn("̵ÍýÌðÍý¿À¤ËÈù¾Ð¤ó¤Ç¤â¤é¤¤¤Þ¤¹¤«¡©") == 'y') { u.ublesscnt = 0; if (u.uluck < 0) u.uluck = 0; if (u.ualign.record <= 0) u.ualign.record = 1; *************** *** 1348,1360 **** } #endif nomul(-3); ! nomovemsg = "You finish your prayer."; afternmv = prayer_done; if(p_type == 3 && !Inhell) { /* if you've been true to your god you can't die while you pray */ if (!Blind) ! You("are surrounded by a shimmering light."); u.uinvulnerable = TRUE; } --- 1605,1619 ---- } #endif nomul(-3); ! /*JP nomovemsg = "You finish your prayer.";*/ ! nomovemsg = "µ§¤ê½ª¤¨¤¿¡¥"; afternmv = prayer_done; if(p_type == 3 && !Inhell) { /* if you've been true to your god you can't die while you pray */ if (!Blind) ! /*JP You("are surrounded by a shimmering light.");*/ ! You("¤«¤¹¤«¤Ê¸÷¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡¥"); u.uinvulnerable = TRUE; } *************** *** 1370,1385 **** if(p_type == -1) { godvoice(alignment, alignment == A_LAWFUL ? ! "Vile creature, thou durst call upon me?" : ! "Walk no more, perversion of nature!"); ! You_feel("like you are falling apart."); rehumanize(); ! losehp(rnd(20), "residual undead turning effect", KILLED_BY_AN); exercise(A_CON, FALSE); return(1); } if (Inhell) { ! pline("Since you are in Gehennom, %s won't help you.", align_gname(alignment)); /* haltingly aligned is least likely to anger */ if (u.ualign.record <= 0 || rnl(u.ualign.record)) --- 1629,1649 ---- if(p_type == -1) { godvoice(alignment, alignment == A_LAWFUL ? ! /*JP "Vile creature, thou durst call upon me?" : ! "Walk no more, perversion of nature!");*/ ! "ÈÜÎô¤ÊÀ¸Êª¤è¡¤Æò¡¤²æ¤Ëµ§¤ê¤òµá¤á¤¿¤«¡©" : ! "Æ°¤¯¤Ê¡ª»à¤Ë¤¾¤³¤Ê¤¤¤ÎÀ¸Êª¤è¡ª"); ! /*JP You_feel("like you are falling apart.");*/ ! You("¥Ð¥é¥Ð¥é¤Ë¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); rehumanize(); ! /*JP losehp(rnd(20), "residual undead turning effect", KILLED_BY_AN);*/ ! losehp(rnd(20), "ÉÔ»à¤ÎÀ¸Êª¤òÅÚ¤ËÊÖ¤¹ÎϤÇ", KILLED_BY_AN); exercise(A_CON, FALSE); return(1); } if (Inhell) { ! /*JP pline("Since you are in Gehennom, %s won't help you.",*/ ! pline("¥²¥Ø¥Ê¤Ë%s¤ÎÎϤÏÆϤ«¤Ê¤¤¡¥", align_gname(alignment)); /* haltingly aligned is least likely to anger */ if (u.ualign.record <= 0 || rnl(u.ualign.record)) *************** *** 1433,1457 **** return spelleffects(sp_no, TRUE); } ! You("don't know how to turn undead!"); return(0); } if ((u.ualign.type != A_CHAOTIC && (is_demon(uasmon) || is_undead(uasmon))) || u.ugangr > 6 /* "Die, mortal!" */) { ! pline("For some reason, %s seems to ignore you.", u_gname()); aggravate(); exercise(A_WIS, FALSE); return(0); } if (Inhell) { ! pline("Since you are in Gehennom, %s won't help you.", u_gname()); aggravate(); return(0); } ! pline("Calling upon %s, you chant an arcane formula.", u_gname()); exercise(A_WIS, TRUE); /* note: does not perform unturn_dead() on victims' inventories */ --- 1697,1725 ---- return spelleffects(sp_no, TRUE); } ! /*JP You("don't know how to turn undead!");*/ ! You("ÉÔ»à¤ÎÀ¸¤­Êª¤òÅÚ¤ËÌ᤹ÊýË¡¤òÃΤé¤Ê¤¤¡ª"); return(0); } if ((u.ualign.type != A_CHAOTIC && (is_demon(uasmon) || is_undead(uasmon))) || u.ugangr > 6 /* "Die, mortal!" */) { ! /*JP pline("For some reason, %s seems to ignore you.", u_gname());*/ ! pline("²¿¤é¤«¤ÎÍýͳ¤Ç¡¤%s¤Ï¤¢¤Ê¤¿¤ò̵»ë¤·¤¿¤è¤¦¤À¡¥", u_gname()); aggravate(); exercise(A_WIS, FALSE); return(0); } if (Inhell) { ! /*JP pline("Since you are in Gehennom, %s won't help you.", u_gname());*/ ! pline("¥²¥Ø¥Ê¤Ë%s¤ÎÎϤÏÆϤ«¤Ê¤¤¡¥", u_gname()); aggravate(); return(0); } ! /*JP pline("Calling upon %s, you chant an arcane formula.", u_gname());*/ ! pline("%s¤Ëµ§¤ê¤òµá¤á¤ë¤È¡¤¤¢¤Ê¤¿¤ÏÉԲĻ׵ĤʸÀÍÕ¤ÎÀ»²Î¤òʹ¤¤¤¿¡¥",u_gname()); exercise(A_WIS, TRUE); /* note: does not perform unturn_dead() on victims' inventories */ *************** *** 1469,1475 **** mtmp->msleep = FALSE; if (Confusion) { if (!once++) ! pline("Unfortunately, your voice falters."); mtmp->mflee = FALSE; mtmp->mfrozen = 0; mtmp->mcanmove = TRUE; --- 1737,1744 ---- mtmp->msleep = FALSE; if (Confusion) { if (!once++) ! /*JP pline("Unfortunately, your voice falters.");*/ ! pline("ÉÔ¹¬¤Ë¤â¤¢¤Ê¤¿¤ÎÀ¼¤Ï¤É¤â¤Ã¤Æ¤·¤Þ¤Ã¤¿¡¥"); mtmp->mflee = FALSE; mtmp->mfrozen = 0; mtmp->mcanmove = TRUE; *************** *** 1531,1549 **** { register struct ghods *aghod; ! if(alignment == A_NONE) return(Moloch); for(aghod=gods; aghod->classlet; aghod++) if (aghod->classlet == u.role) switch(alignment) { case A_CHAOTIC: return(aghod->chaos); case A_NEUTRAL: return(aghod->balance); case A_LAWFUL: return(aghod->law); default: impossible("unknown alignment."); return("Balance"); } impossible("unknown character's god?"); ! return("someone"); } void --- 1800,1825 ---- { register struct ghods *aghod; ! /*JP if(alignment == A_NONE) return(Moloch);*/ ! if(alignment == A_NONE) return(jtrns_mon(Moloch, -1)); for(aghod=gods; aghod->classlet; aghod++) if (aghod->classlet == u.role) switch(alignment) { + #if 0 /*JP*/ case A_CHAOTIC: return(aghod->chaos); case A_NEUTRAL: return(aghod->balance); case A_LAWFUL: return(aghod->law); + #endif + case A_CHAOTIC: return(jtrns_mon(aghod->chaos, -1)); + case A_NEUTRAL: return(jtrns_mon(aghod->balance, -1)); + case A_LAWFUL: return(jtrns_mon(aghod->law, -1)); default: impossible("unknown alignment."); return("Balance"); } impossible("unknown character's god?"); ! /*JP return("someone");*/ ! return("狼"); } void *************** *** 1553,1564 **** aligntyp altaralign = a_align(x,y); if(!strcmp(align_gname(altaralign), u_gname())) { ! godvoice(altaralign, "How darest thou desecrate my altar!"); (void) adjattrib(A_WIS, -1, FALSE); } else { ! pline("A voice (could it be %s?) whispers:", align_gname(altaralign)); ! verbalize("Thou shalt pay, infidel!"); change_luck(-1); } } --- 1829,1843 ---- aligntyp altaralign = a_align(x,y); if(!strcmp(align_gname(altaralign), u_gname())) { ! /*JP godvoice(altaralign, "How darest thou desecrate my altar!");*/ ! godvoice(altaralign, "Æò¡¤²æ¤¬º×ÃŤò±ø¤¹¤«¡ª"); (void) adjattrib(A_WIS, -1, FALSE); } else { ! /*JP pline("A voice (could it be %s?) whispers:",*/ ! pline("¤µ¤µ¤ä¤­À¼¤¬Ê¹¤³¤¨¤ë(¤¿¤Ö¤ó%s¡©):", align_gname(altaralign)); ! /*JP verbalize("Thou shalt pay, infidel!");*/ ! verbalize("°Ûü¼Ô¤è¡ª¸¥¶â¤»¤è¡ª"); change_luck(-1); } } diff -c -r ../nethack-3.2.2/src/priest.c ./src/priest.c *** ../nethack-3.2.2/src/priest.c Sat Dec 28 21:53:49 1996 --- ./src/priest.c Tue Jul 22 23:18:34 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Izchak Miller, Steve Linhart, 1989. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "mfndpos.h" #include "eshk.h" *************** *** 98,104 **** check_special_room(FALSE); if(ib) { if (cansee(mtmp->mx,mtmp->my)) ! pline("%s picks up %s.", Monnam(mtmp), distant_name(ib,doname)); obj_extract_self(ib); mpickobj(mtmp, ib); --- 105,112 ---- check_special_room(FALSE); if(ib) { if (cansee(mtmp->mx,mtmp->my)) ! /*JP pline("%s picks up %s.", Monnam(mtmp),*/ ! pline("%s¤Ï%s¤ò½¦¤Ã¤¿¡¥", Monnam(mtmp), distant_name(ib,doname)); obj_extract_self(ib); mpickobj(mtmp, ib); *************** *** 164,170 **** (Conflict && !resist(priest, RING_CLASS, 0, 0))) { if(monnear(priest, u.ux, u.uy)) { if(Displaced) ! Your("displaced image doesn't fool %s!", mon_nam(priest)); (void) mattacku(priest); return(0); --- 172,179 ---- (Conflict && !resist(priest, RING_CLASS, 0, 0))) { if(monnear(priest, u.ux, u.uy)) { if(Displaced) ! /*JP Your("displaced image doesn't fool %s!",*/ ! Your("¸¸±Æ¤Ï%s¤ò¤À¤Þ¤»¤Ê¤«¤Ã¤¿¡ª", mon_nam(priest)); (void) mattacku(priest); return(0); *************** *** 254,289 **** register struct monst *mon; char *pname; /* caller-supplied output buffer */ { Strcpy(pname, "the "); if (mon->minvis) Strcat(pname, "invisible "); if (mon->ispriest || mon->data == &mons[PM_ALIGNED_PRIEST] || mon->data == &mons[PM_ANGEL]) { /* use epri */ if (mon->mtame && mon->data == &mons[PM_ANGEL]) Strcat(pname, "guardian "); if (mon->data != &mons[PM_ALIGNED_PRIEST] && mon->data != &mons[PM_HIGH_PRIEST]) { Strcat(pname, mon->data->mname); Strcat(pname, " "); } if (mon->data != &mons[PM_ANGEL]) { if (!mon->ispriest && EPRI(mon)->renegade) ! Strcat(pname, "renegade "); if (mon->data == &mons[PM_HIGH_PRIEST]) ! Strcat(pname, "high "); if (mon->female) ! Strcat(pname, "priestess "); else ! Strcat(pname, "priest "); } Strcat(pname, "of "); Strcat(pname, align_gname((int)EPRI(mon)->shralign)); return(pname); } /* use emin instead of epri */ Strcat(pname, mon->data->mname); Strcat(pname, " of "); Strcat(pname, align_gname(EMIN(mon)->min_align)); return(pname); } --- 263,321 ---- register struct monst *mon; char *pname; /* caller-supplied output buffer */ { + /*JP Strcpy(pname, "the "); if (mon->minvis) Strcat(pname, "invisible "); + */ + Strcpy(pname, ""); + if (mon->minvis) Strcat(pname, "Æ©ÌÀ¤Ê"); if (mon->ispriest || mon->data == &mons[PM_ALIGNED_PRIEST] || mon->data == &mons[PM_ANGEL]) { /* use epri */ + Strcat(pname, align_gname((int)EPRI(mon)->shralign)); + Strcat(pname, "¤Î"); if (mon->mtame && mon->data == &mons[PM_ANGEL]) + /*JP Strcat(pname, "guardian "); + */ + Strcat(pname, "·Ù¸î¤Î"); if (mon->data != &mons[PM_ALIGNED_PRIEST] && mon->data != &mons[PM_HIGH_PRIEST]) { + /*JP Strcat(pname, mon->data->mname); Strcat(pname, " "); + */ + Strcat(pname, jtrns_mon(mon->data->mname, mon->female)); } if (mon->data != &mons[PM_ANGEL]) { if (!mon->ispriest && EPRI(mon)->renegade) ! /*JP Strcat(pname, "renegade ");*/ ! Strcat(pname, "΢ÀÚ¤ê¼Ô¤Î"); if (mon->data == &mons[PM_HIGH_PRIEST]) ! /*JP Strcat(pname, "high ");*/ ! Strcat(pname, "°Ì¤Î¹â¤¤"); if (mon->female) ! /*JP Strcat(pname, "priestess ");*/ ! Strcat(pname, "ÆôÁÎ"); else ! /*JP Strcat(pname, "priest ");*/ ! Strcat(pname, "ÁÎη"); } + /*JP Strcat(pname, "of "); Strcat(pname, align_gname((int)EPRI(mon)->shralign)); + */ + /* Strcat(pname, jtrns_mon(mon->data->mname, mon->female));*/ return(pname); } /* use emin instead of epri */ + /*JP Strcat(pname, mon->data->mname); Strcat(pname, " of "); + */ Strcat(pname, align_gname(EMIN(mon)->min_align)); + Strcat(pname, "¤Î²½¿È¤Î"); + Strcat(pname, jtrns_mon(mon->data->mname, mon->female)); return(pname); } *************** *** 339,358 **** (Is_sanctum(&u.uz) || In_endgame(&u.uz))); can_speak = (priest->mcanmove && !priest->msleep); if (can_speak) ! pline("%s intones:", ! (!Blind ? Monnam(priest) : "A nearby voice")); msg2 = 0; if(sanctum && Is_sanctum(&u.uz)) { if(priest->mpeaceful) { ! msg1 = "Infidel, you entered Moloch's Sanctum!"; ! msg2 = "Be gone!"; priest->mpeaceful = 0; set_malign(priest); } else ! msg1 = "You desecrate this place by your presence!"; } else { ! Sprintf(buf, "Pilgrim, you enter a %s place!", ! !shrined ? "desecrated" : "sacred"); msg1 = buf; } if (can_speak) { --- 371,401 ---- (Is_sanctum(&u.uz) || In_endgame(&u.uz))); can_speak = (priest->mcanmove && !priest->msleep); if (can_speak) ! /*JP pline("%s intones:", ! (!Blind ? Monnam(priest) : "A nearby voice"));*/ ! if(Blind) ! pline("¶á¤¯¤Ç狼¤¬±Ó¾§¤·¤¿¡§"); ! else ! pline("%s¤Ï±Ó¾§¤·¤¿¡§", Monnam(priest)); ! ! msg2 = 0; if(sanctum && Is_sanctum(&u.uz)) { if(priest->mpeaceful) { ! /*JP msg1 = "Infidel, you entered Moloch's Sanctum!"; ! msg2 = "Be gone!";*/ ! msg1 = "°Ûü¼Ô¤è¡ª¤³¤³¤Ï¡¤¥â¡¼¥í¥Ã¥¯¤ÎÀ»°è¤À¡ª"; ! msg2 = "Ω¤Á¤µ¤ì¡ª"; priest->mpeaceful = 0; set_malign(priest); } else ! /*JP msg1 = "You desecrate this place by your presence!";*/ ! msg1 = "¤ª¤Þ¤¨¤Ï¤³¤Î¿ÀÀ»¤Ê¾ì½ê¤ò±ø¤·¤Æ¤¤¤ë¡ª"; } else { ! /*JP Sprintf(buf, "Pilgrim, you enter a %s place!", ! !shrined ? "desecrated" : "sacred");*/ ! Sprintf(buf, "½äÎé¼Ô¤è¡¤¤ª¤Þ¤¨¤Ï%sÃϤˤ¤¤ë¡ª", ! !shrined ? "ÉÔ¾ô¤Î" : "¿ÀÀ»¤Ê¤ë"); msg1 = buf; } if (can_speak) { *************** *** 363,377 **** /* !tended -> !shrined */ if(!shrined || !p_coaligned(priest) || u.ualign.record < -5) ! You("have a%s forbidding feeling...", ! (!shrined) ? "" : " strange"); ! else You("experience a strange sense of peace."); } } else { switch(rn2(3)) { ! case 0: You("have an eerie feeling..."); break; ! case 1: You_feel("like you are being watched."); break; ! default: pline("A shiver runs down your %s.", body_part(SPINE)); break; } if(!rn2(5)) { --- 406,426 ---- /* !tended -> !shrined */ if(!shrined || !p_coaligned(priest) || u.ualign.record < -5) ! /*JP You("have a%s forbidding feeling...", ! (!shrined) ? "" : " strange");*/ ! You("%s¶á¤Å¤­¤¬¤¿¤¤µ¤»ý¤¬¤·¤¿¡¥¡¥¡¥", ! (!shrined) ? "" : "´ñ̯¤Ê"); ! /*JP else You("experience a strange sense of peace.");*/ ! else You("´ñ̯¤ÊÃá½ø¤¢¤ëÊ·°Ïµ¤¤òÂ賤·¤¿¡¥"); } } else { switch(rn2(3)) { ! /*JP case 0: You("have an eerie feeling..."); break;*/ ! case 0: You("¤¾¤Ã¤È¤·¤¿¡¥¡¥¡¥"); break; ! /*JP case 1: You_feel("like you are being watched."); break;*/ ! case 1: You("¸«¤Ä¤á¤é¤ì¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); break; ! /*JP default: pline("A shiver runs down your %s.",*/ ! default: pline("¿Ì¤¨¤¬¤¢¤Ê¤¿¤Î%s¤òÁö¤Ã¤¿¡¥", body_part(SPINE)); break; } if(!rn2(5)) { *************** *** 379,391 **** if(!(mtmp = makemon(&mons[PM_GHOST],u.ux,u.uy,NO_MM_FLAGS))) return; ! pline("An enormous ghost appears next to you!"); mtmp->mpeaceful = 0; set_malign(mtmp); if(flags.verbose) ! You("are frightened to death, and unable to move."); nomul(-3); ! nomovemsg = "You regain your composure."; } } } --- 428,443 ---- if(!(mtmp = makemon(&mons[PM_GHOST],u.ux,u.uy,NO_MM_FLAGS))) return; ! /*JP pline("An enormous ghost appears next to you!");*/ ! pline("µðÂç¤ÊÍ©Î¤¢¤Ê¤¿¤ÎÎ٤˸½¤ï¤ì¤¿¡ª"); mtmp->mpeaceful = 0; set_malign(mtmp); if(flags.verbose) ! /*JP You("are frightened to death, and unable to move.");*/ ! You("¤Þ¤Ã¤µ¤ª¤Ë¤Ê¤Ã¤Æ¶Ã¤­¡¤Æ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡¥"); nomul(-3); ! /*JP nomovemsg = "You regain your composure.";*/ ! nomovemsg = "¤¢¤Ê¤¿¤ÏÊ¿ÀŤò¼è¤êÌᤷ¤¿¡¥"; } } } *************** *** 399,405 **** boolean strayed = (u.ualign.record < 0); if(priest->mflee || (!priest->ispriest && coaligned && strayed)) { ! pline("%s doesn't want anything to do with you!", Monnam(priest)); priest->mpeaceful = 0; return; --- 451,458 ---- boolean strayed = (u.ualign.record < 0); if(priest->mflee || (!priest->ispriest && coaligned && strayed)) { ! /*JP pline("%s doesn't want anything to do with you!",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Ë¤«¤Þ¤¤¤¿¤¯¤Ê¤¤¤è¤¦¤À¡ª", Monnam(priest)); priest->mpeaceful = 0; return; *************** *** 409,421 **** if(!histemple_at(priest,priest->mx,priest->my) || !priest->mpeaceful || !priest->mcanmove || priest->msleep) { static const char *cranky_msg[3] = { ! "Thou wouldst have words, eh? I'll give thee a word or two!", "Talk? Here is what I have to say!", ! "Pilgrim, I would speak no longer with thee." }; if(!priest->mcanmove || priest->msleep) { ! pline("%s breaks out of %s reverie!", Monnam(priest), his[pronoun_gender(priest)]); priest->mfrozen = priest->msleep = 0; priest->mcanmove = 1; --- 462,478 ---- if(!histemple_at(priest,priest->mx,priest->my) || !priest->mpeaceful || !priest->mcanmove || priest->msleep) { static const char *cranky_msg[3] = { ! /*JP "Thou wouldst have words, eh? I'll give thee a word or two!", "Talk? Here is what I have to say!", ! "Pilgrim, I would speak no longer with thee."*/ ! "Æò¸ÀÍÕ¤ò˾¤à¤Î¤«¡©", ! "Ï乡©²¿¤ò¸À¤¨¤Ð¤è¤¤¤Î¤À¡ª", ! "½äÎé¼Ô¤è¡¤Æò¤Ë¸ì¤ë¤³¤È¤Ê¤É¤Ê¤¤¡¥" }; if(!priest->mcanmove || priest->msleep) { ! /*JP pline("%s breaks out of %s reverie!",*/ ! pline("%s¤Ï%s¤Î̽ÁÛ¤òÃæÃǤ·¤¿¡ª", Monnam(priest), his[pronoun_gender(priest)]); priest->mfrozen = priest->msleep = 0; priest->mcanmove = 1; *************** *** 428,434 **** /* you desecrated the temple and now you want to chat? */ if(priest->mpeaceful && *in_rooms(priest->mx, priest->my, TEMPLE) && !has_shrine(priest)) { ! verbalize("Begone! Thou desecratest this holy place with thy presence."); priest->mpeaceful = 0; return; } --- 485,493 ---- /* you desecrated the temple and now you want to chat? */ if(priest->mpeaceful && *in_rooms(priest->mx, priest->my, TEMPLE) && !has_shrine(priest)) { ! /*JP verbalize("Begone! Thou desecratest this holy place with thy presence.");*/ ! ! verbalize("Ω¤Áµî¤ì¡ªÆò¤Ï¤³¤Î¿ÀÀ»¤Ê¤ë¾ì½ê¤ò±ø¤·¤Æ¤¤¤ë¡¥"); priest->mpeaceful = 0; return; } *************** *** 437,444 **** if(coaligned && !strayed) { if (priest->mgold > 0L) { /* Note: two bits is actually 25 cents. Hmm. */ ! pline("%s gives you %s for an ale.", Monnam(priest), ! (priest->mgold == 1L) ? "one bit" : "two bits"); if (priest->mgold > 1L) u.ugold = 2L; else --- 496,505 ---- if(coaligned && !strayed) { if (priest->mgold > 0L) { /* Note: two bits is actually 25 cents. Hmm. */ ! /*JP pline("%s gives you %s for an ale.", Monnam(priest), ! (priest->mgold == 1L) ? "one bit" : "two bits");*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Ë%s¥¨¡¼¥ë¼ò¤òÍ¿¤¨¤¿¡¥", Monnam(priest), ! (priest->mgold == 1L) ? "°ì¸ý" : "Æó¸ý"); if (priest->mgold > 1L) u.ugold = 2L; else *************** *** 446,488 **** priest->mgold -= u.ugold; flags.botl = 1; } else ! pline("%s preaches the virtues of poverty.", Monnam(priest)); exercise(A_WIS, TRUE); } else ! pline("%s is not interested.", Monnam(priest)); return; } else { long offer; ! pline("%s asks you for a contribution for the temple.", Monnam(priest)); if((offer = bribe(priest)) == 0) { ! verbalize("Thou shalt regret thine action!"); if(coaligned) adjalign(-1); } else if(offer < (u.ulevel * 200)) { ! if(u.ugold > (offer * 2L)) verbalize("Cheapskate."); else { ! verbalize("I thank thee for thy contribution."); /* give player some token */ exercise(A_WIS, TRUE); } } else if(offer < (u.ulevel * 400)) { ! verbalize("Thou art indeed a pious individual."); if(u.ugold < (offer * 2L)) { if(coaligned && u.ualign.record < -5) adjalign(1); ! verbalize("I bestow upon thee a blessing."); HClairvoyant += rn1(500,500); } } else if(offer < (u.ulevel * 600) && u.ublessed < 20 && (u.ublessed < 9 || !rn2(u.ublessed))) { ! verbalize("Thy devotion has been rewarded."); if (!(Protection & INTRINSIC)) { Protection |= FROMOUTSIDE; if (!u.ublessed) u.ublessed = rn1(3, 2); } else u.ublessed++; } else { ! verbalize("Thy selfless generosity is deeply appreciated."); if(u.ugold < (offer * 2L) && coaligned) { if(strayed && (moves - u.ucleansed) > 5000L) { u.ualign.record = 0; /* cleanse thee */ --- 507,559 ---- priest->mgold -= u.ugold; flags.botl = 1; } else ! /*JP pline("%s preaches the virtues of poverty.", Monnam(priest));*/ ! pline("%s¤ÏÉϺ¤¤ÎÈþÆÁ¤Ë¤Ä¤¤¤ÆÀⶵ¤·¤¿¡¥", Monnam(priest)); exercise(A_WIS, TRUE); } else ! /*JP pline("%s is not interested.", Monnam(priest));*/ ! pline("%s¤Ï¶½Ì£¤ò¼¨¤µ¤Ê¤¤¡¥", Monnam(priest)); return; } else { long offer; ! /*JP pline("%s asks you for a contribution for the temple.",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Ë»û±¡¤Ø¤Î´ó£¤òµá¤á¤¿¡¥", Monnam(priest)); if((offer = bribe(priest)) == 0) { ! /*JP verbalize("Thou shalt regret thine action!");*/ ! verbalize("Æò¤Î¹Ô°Ù¤Ï¿À¤òËÁƤ¹¤ë¤â¤Î¤Ê¤ê¡ª"); if(coaligned) adjalign(-1); } else if(offer < (u.ulevel * 200)) { ! /*JP if(u.ugold > (offer * 2L)) verbalize("Cheapskate.");*/ ! if(u.ugold > (offer * 2L)) verbalize("¥±¥Á¤á¡¥"); else { ! /*JP verbalize("I thank thee for thy contribution.");*/ ! verbalize("Æò¤Î´ó£¤ËÊ󤤤褦¤¾¡¥"); /* give player some token */ exercise(A_WIS, TRUE); } } else if(offer < (u.ulevel * 400)) { ! /*JP verbalize("Thou art indeed a pious individual.");*/ ! verbalize("Æò¡¤¤Þ¤µ¤Ë·ÉéʤʿÍʪ¤Ê¤ê¡¥"); if(u.ugold < (offer * 2L)) { if(coaligned && u.ualign.record < -5) adjalign(1); ! /*JP verbalize("I bestow upon thee a blessing.");*/ ! verbalize("Æò¤Ë½ËÊ¡¤ò¡¥"); HClairvoyant += rn1(500,500); } } else if(offer < (u.ulevel * 600) && u.ublessed < 20 && (u.ublessed < 9 || !rn2(u.ublessed))) { ! /*JP verbalize("Thy devotion has been rewarded.");*/ ! verbalize("Æò¤Î¸¥¿È¤ËÊó¤ï¤ó¡¥"); if (!(Protection & INTRINSIC)) { Protection |= FROMOUTSIDE; if (!u.ublessed) u.ublessed = rn1(3, 2); } else u.ublessed++; } else { ! /*JP verbalize("Thy selfless generosity is deeply appreciated.");*/ ! verbalize("Æò¼«¿È¤Î¿¿²Á¤ÏÂ礤¤Ëǧ¤á¤é¤ì¤¿¡¥"); if(u.ugold < (offer * 2L) && coaligned) { if(strayed && (moves - u.ucleansed) > 5000L) { u.ualign.record = 0; /* cleanse thee */ *************** *** 599,613 **** switch(rn2(3)) { case 0: ! pline("%s roars in anger: \"Thou shalt suffer!\"", a_gname_at(ax, ay)); break; case 1: ! pline("%s voice booms: \"How darest thou harm my servant!\"", s_suffix(a_gname_at(ax, ay))); break; default: ! pline("%s roars: \"Thou dost profane my shrine!\"", a_gname_at(ax, ay)); break; } --- 670,687 ---- switch(rn2(3)) { case 0: ! /*JP pline("%s roars in anger: \"Thou shalt suffer!\"",*/ ! pline("%s¤ÏÅܤê¤ÎÀ¼¤ò¤¢¤²¤¿¡§¡ÖÆò¡¤¶ì¤·¤à¤¬¤è¤¤¡ª¡×", a_gname_at(ax, ay)); break; case 1: ! /*JP pline("%s voice booms: \"How darest thou harm my servant!\"",*/ ! pline("%s¤ÎÀ¼¤¬¶Á¤¤¤¿¡§¡Ö¤ï¤¬²¼Ëͤ˶줷¤à¤¬¤è¤¤¡ª¡×", s_suffix(a_gname_at(ax, ay))); break; default: ! /*JP pline("%s roars: \"Thou dost profane my shrine!\"",*/ ! pline("%s¤ÎÀ¼¤¬Ê¹¤³¤¨¤ë¡§¡ÖÆò¡¤²æ¤¬À»Æ²¤ò±ø¤·¤¿¤ê¡×", a_gname_at(ax, ay)); break; } diff -c -r ../nethack-3.2.2/src/quest.c ./src/quest.c *** ../nethack-3.2.2/src/quest.c Sat Dec 28 21:53:49 1996 --- ./src/quest.c Tue Jul 22 23:18:34 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright 1991, M. Stephenson */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" /* quest dungeon branch routines. */ *************** *** 143,156 **** #ifdef WIZARD if (wizard && talk) { if (u.ualign.type != original_alignment) { ! You("are currently %s instead of %s.", ! align_str(u.ualign.type), align_str(original_alignment)); } else if (u.ualignbase[0] != original_alignment) { ! You("have converted."); } else if (u.ualign.record < MIN_QUEST_ALIGN) { ! You("are currently %d and require %d.", u.ualign.record, MIN_QUEST_ALIGN); ! if (yn_function("adjust?", (char *)0, 'y') == 'y') u.ualign.record = MIN_QUEST_ALIGN; } } --- 150,168 ---- #ifdef WIZARD if (wizard && talk) { if (u.ualign.type != original_alignment) { ! /*JP You("are currently %s instead of %s.",*/ ! You("%s¤Ç¤Ï¤Ê¤¯%s¤Î°À­¤Ç¤¢¤ë¡¥", ! /*JP align_str(u.ualign.type), align_str(original_alignment));*/ ! align_str(original_alignment), align_str(u.ualign.type)); } else if (u.ualignbase[0] != original_alignment) { ! /*JP You("have converted.");*/ ! You("Êѹ¹¤µ¤ì¤Æ¤¤¤ë¡¥"); } else if (u.ualign.record < MIN_QUEST_ALIGN) { ! /*JP You("are currently %d and require %d.",*/ ! Your("°À­Ãͤϸ½ºß%d¤Ç%dɬÍפÀ¡¥", u.ualign.record, MIN_QUEST_ALIGN); ! /*JP if (yn_function("adjust?", (char *)0, 'y') == 'y')*/ ! if (yn_function("ľ¤·¤Þ¤¹¤«¡©", (char *)0, 'y') == 'y') u.ualign.record = MIN_QUEST_ALIGN; } } diff -c -r ../nethack-3.2.2/src/questpgr.c ./src/questpgr.c *** ../nethack-3.2.2/src/questpgr.c Sat Dec 28 21:53:49 1996 --- ./src/questpgr.c Tue Jul 22 23:18:34 1997 *************** *** 2,12 **** --- 2,24 ---- /* Copyright 1991, M. Stephenson */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "dlb.h" /* quest-specific pager routines. */ + #ifdef _MSC_VER + #include "../japanese/emalloc.h" + #define alloc(s) emalloc(s) + #endif + #include "qtext.h" #define QTEXT_FILE "quest.dat" *************** *** 158,243 **** short artinum; /* index of quest artifact */ } qt_matrix[] = { ! /* A */ { "the tomb of the Toltec Kings", "the College of Archeology", PM_LORD_CARNARVON, PM_MINION_OF_HUHETOTL, PM_STUDENT, 0, PM_HUMAN_MUMMY, S_SNAKE, S_MUMMY, ART_ORB_OF_DETECTION }, ! /* B */ { "the Duali Oasis", "the Camp of the Duali Tribe", PM_PELIAS, PM_THOTH_AMON, PM_CHIEFTAIN, PM_OGRE, PM_TROLL, S_OGRE, S_TROLL, ART_HEART_OF_AHRIMAN }, ! /* C */ { "the Dragon's Lair", "the Caves of the Ancestors", PM_SHAMAN_KARNOV, PM_CHROMATIC_DRAGON, PM_NEANDERTHAL, PM_BUGBEAR, PM_HILL_GIANT, S_HUMANOID, S_GIANT, ART_SCEPTRE_OF_MIGHT }, ! /* E */ { "the Goblins' Cave", "the great Circle of Earendil", PM_EARENDIL, PM_GOBLIN_KING, PM_HIGH_ELF, PM_URUK_HAI, PM_OGRE, S_ORC, S_OGRE, ART_PALANTIR_OF_WESTERNESSE }, ! /* E */ { "the Goblins' Cave", "the great Circle of Elwing", PM_ELWING, PM_GOBLIN_KING, PM_HIGH_ELF, PM_URUK_HAI, PM_OGRE, S_ORC, S_OGRE, ART_PALANTIR_OF_WESTERNESSE }, ! /* H */ { "the Temple of Coeus", "the Temple of Epidaurus", PM_HIPPOCRATES, PM_CYCLOPS, PM_ATTENDANT, PM_GIANT_RAT, PM_SNAKE, S_RODENT, S_YETI, ART_STAFF_OF_AESCULAPIUS }, ! /* K */ { "the Isle of Glass", "Camelot Castle", PM_KING_ARTHUR, PM_IXOTH, PM_PAGE, PM_QUASIT, PM_OCHRE_JELLY, S_IMP, S_JELLY, ART_MAGIC_MIRROR_OF_MERLIN }, ! /* P */ { "the Temple of Nalzok", "the Great Temple", PM_ARCH_PRIEST, PM_NALZOK, PM_ACOLYTE, PM_HUMAN_ZOMBIE, PM_WRAITH, S_ZOMBIE, S_WRAITH, ART_MITRE_OF_HOLINESS }, ! /* R */ { "the Assassins' Guild Hall", "the Thieves' Guild Hall", PM_MASTER_OF_THIEVES, PM_MASTER_ASSASSIN, PM_THUG, PM_LEPRECHAUN, PM_GUARDIAN_NAGA, S_NYMPH, S_NAGA, ART_MASTER_KEY_OF_THIEVERY }, ! /* S */ { "the Shogun's Castle", "the castle of the Taro Clan", PM_LORD_SATO, PM_ASHIKAGA_TAKAUJI, PM_ROSHI, PM_WOLF, PM_STALKER, S_DOG, S_STALKER, ART_TSURUGI_OF_MURAMASA }, #ifdef TOURIST /* T */ { "the Thieves' Guild Hall", "Ankh-Morpork", PM_TWOFLOWER, PM_MASTER_OF_THIEVES, PM_GUIDE, PM_GIANT_SPIDER, PM_FOREST_CENTAUR, S_SPIDER, S_CENTAUR, ART_YENDORIAN_EXPRESS_CARD }, #endif ! /* V */ { "the cave of Surtur", "the Shrine of Destiny", PM_NORN, PM_LORD_SURTUR, PM_WARRIOR, PM_FIRE_ANT, PM_FIRE_GIANT, S_ANT, S_GIANT, ART_ORB_OF_FATE }, ! /* W */ { "the Tower of Darkness", "the Tower of the Balance", PM_WIZARD_OF_BALANCE, PM_DARK_ONE, PM_APPRENTICE, PM_VAMPIRE_BAT, PM_XORN, S_BAT, S_WRAITH, ART_EYE_OF_THE_AETHIOPICA }, /* - */ { "", "", 0, 0, 0, 0, 0, 0, 0, 0 } }; --- 170,354 ---- short artinum; /* index of quest artifact */ } qt_matrix[] = { ! /*JP*/ ! #if 0 /* A */ { "the tomb of the Toltec Kings", "the College of Archeology", PM_LORD_CARNARVON, PM_MINION_OF_HUHETOTL, PM_STUDENT, 0, PM_HUMAN_MUMMY, S_SNAKE, S_MUMMY, ART_ORB_OF_DETECTION }, ! #endif ! /* A */ { "¥È¥ë¥Æ¥Ã¥¯²¦¤ÎÊè", ! "¹Í¸Å³ØÂç³Ø", ! PM_LORD_CARNARVON, PM_MINION_OF_HUHETOTL, PM_STUDENT, ! 0, PM_HUMAN_MUMMY, S_SNAKE, S_MUMMY, ! ART_ORB_OF_DETECTION }, ! /*JP*/ ! #if 0 /* B */ { "the Duali Oasis", "the Camp of the Duali Tribe", PM_PELIAS, PM_THOTH_AMON, PM_CHIEFTAIN, PM_OGRE, PM_TROLL, S_OGRE, S_TROLL, ART_HEART_OF_AHRIMAN }, ! #endif ! /* B */ { "¥Â¥å¥¢¥ê¤Î¥ª¥¢¥·¥¹", ! "¥Â¥å¥¢¥ê²¤Î¥­¥ã¥ó¥×", ! PM_PELIAS, PM_THOTH_AMON, PM_CHIEFTAIN, ! PM_OGRE, PM_TROLL, S_OGRE, S_TROLL, ! ART_HEART_OF_AHRIMAN }, ! /*JP*/ ! #if 0 /* C */ { "the Dragon's Lair", "the Caves of the Ancestors", PM_SHAMAN_KARNOV, PM_CHROMATIC_DRAGON, PM_NEANDERTHAL, PM_BUGBEAR, PM_HILL_GIANT, S_HUMANOID, S_GIANT, ART_SCEPTRE_OF_MIGHT }, ! #endif ! /* C */ { "ε¤Î±£¤ì²È", ! "ÂÀ¸Å¤Îƶ·¢", ! PM_SHAMAN_KARNOV, PM_CHROMATIC_DRAGON, PM_NEANDERTHAL, ! PM_BUGBEAR, PM_HILL_GIANT, S_HUMANOID, S_GIANT, ! ART_SCEPTRE_OF_MIGHT }, ! /*JP*/ ! #if 0 /* E */ { "the Goblins' Cave", "the great Circle of Earendil", PM_EARENDIL, PM_GOBLIN_KING, PM_HIGH_ELF, PM_URUK_HAI, PM_OGRE, S_ORC, S_OGRE, ART_PALANTIR_OF_WESTERNESSE }, ! #endif ! /* E */ { "¥´¥Ö¥ê¥ó¤Îƶ·¢", ! "¥¨¥¢¥ì¥ó¥Ç¥£¥ë¤Î°ÎÂç¤Ê¤ëÃÏ", ! PM_EARENDIL, PM_GOBLIN_KING, PM_HIGH_ELF, ! PM_URUK_HAI, PM_OGRE, S_ORC, S_OGRE, ! ART_PALANTIR_OF_WESTERNESSE }, ! /*JP*/ ! #if 0 /* E */ { "the Goblins' Cave", "the great Circle of Elwing", PM_ELWING, PM_GOBLIN_KING, PM_HIGH_ELF, PM_URUK_HAI, PM_OGRE, S_ORC, S_OGRE, ART_PALANTIR_OF_WESTERNESSE }, ! #endif ! /* E */ { "¥´¥Ö¥ê¥ó¤Îƶ·¢", ! "¥¨¥ë¥¦¥£¥ó¤Î°ÎÂç¤Ê¤ëÃÏ", ! PM_ELWING, PM_GOBLIN_KING, PM_HIGH_ELF, ! PM_URUK_HAI, PM_OGRE, S_ORC, S_OGRE, ! ART_PALANTIR_OF_WESTERNESSE }, ! #ifdef FIGHTER ! /* F */ { "Ãϵå", ! "·î¤ÎµÜÅÂ", ! PM_PRINCESS_OF_MOON, PM_JEDEITE, PM_PLANETARY_FIGHTER, ! S_SNAKE, S_ZOMBIE, S_SNAKE, S_ZOMBIE, ! ART_SILVER_CRYSTAL }, ! #endif /* FIGHTER */ ! /*JP*/ ! #if 0 /* H */ { "the Temple of Coeus", "the Temple of Epidaurus", PM_HIPPOCRATES, PM_CYCLOPS, PM_ATTENDANT, PM_GIANT_RAT, PM_SNAKE, S_RODENT, S_YETI, ART_STAFF_OF_AESCULAPIUS }, ! #endif ! /* H */ { "¥³¥ª¥¹»û±¡", ! "¥¨¥Ô¥À¥¦¥é¥¹»û±¡", ! PM_HIPPOCRATES, PM_CYCLOPS, PM_ATTENDANT, ! PM_GIANT_RAT, PM_SNAKE, S_RODENT, S_YETI, ! ART_STAFF_OF_AESCULAPIUS }, ! /*JP*/ ! #if 0 /* K */ { "the Isle of Glass", "Camelot Castle", PM_KING_ARTHUR, PM_IXOTH, PM_PAGE, PM_QUASIT, PM_OCHRE_JELLY, S_IMP, S_JELLY, ART_MAGIC_MIRROR_OF_MERLIN }, ! #endif ! /* K */ { "¥¬¥é¥¹¤ÎÅç", ! "¥­¥ã¥á¥í¥Ã¥È¾ë", ! PM_KING_ARTHUR, PM_IXOTH, PM_PAGE, ! PM_QUASIT, PM_OCHRE_JELLY, S_IMP, S_JELLY, ! ART_MAGIC_MIRROR_OF_MERLIN }, ! /*JP*/ ! #if 0 /* P */ { "the Temple of Nalzok", "the Great Temple", PM_ARCH_PRIEST, PM_NALZOK, PM_ACOLYTE, PM_HUMAN_ZOMBIE, PM_WRAITH, S_ZOMBIE, S_WRAITH, ART_MITRE_OF_HOLINESS }, ! #endif ! /* P */ { "¥Ê¥ë¥¾¥¯»û±¡", ! "°ÎÂç¤Ê¤ë»û±¡", ! PM_ARCH_PRIEST, PM_NALZOK, PM_ACOLYTE, ! PM_HUMAN_ZOMBIE, PM_WRAITH, S_ZOMBIE, S_WRAITH, ! ART_MITRE_OF_HOLINESS }, ! /*JP*/ ! #if 0 /* R */ { "the Assassins' Guild Hall", "the Thieves' Guild Hall", PM_MASTER_OF_THIEVES, PM_MASTER_ASSASSIN, PM_THUG, PM_LEPRECHAUN, PM_GUARDIAN_NAGA, S_NYMPH, S_NAGA, ART_MASTER_KEY_OF_THIEVERY }, ! #endif ! /* R */ { "°Å»¦¼Ô¤Î¥®¥ë¥É", ! "Åð±¤Î¥®¥ë¥É", ! PM_MASTER_OF_THIEVES, PM_MASTER_ASSASSIN, PM_THUG, ! PM_LEPRECHAUN, PM_GUARDIAN_NAGA, S_NYMPH, S_NAGA, ! ART_MASTER_KEY_OF_THIEVERY }, ! /*JP*/ ! #if 0 /* S */ { "the Shogun's Castle", "the castle of the Taro Clan", PM_LORD_SATO, PM_ASHIKAGA_TAKAUJI, PM_ROSHI, PM_WOLF, PM_STALKER, S_DOG, S_STALKER, ART_TSURUGI_OF_MURAMASA }, + #endif + /* S */ { "¾­·³¤Î¾ë", + "ÂÀϺ°ì²¤Î¾ë", + PM_LORD_SATO, PM_ASHIKAGA_TAKAUJI, PM_NINJA, + PM_WOLF, PM_STALKER, S_DOG, S_STALKER, + ART_TSURUGI_OF_MURAMASA }, #ifdef TOURIST + /*JP*/ + #if 0 /* T */ { "the Thieves' Guild Hall", "Ankh-Morpork", PM_TWOFLOWER, PM_MASTER_OF_THIEVES, PM_GUIDE, PM_GIANT_SPIDER, PM_FOREST_CENTAUR, S_SPIDER, S_CENTAUR, ART_YENDORIAN_EXPRESS_CARD }, #endif ! /* T */ { "Åð±¤Î¥®¥ë¥É", ! "ι¹Ô¥È¥é¥Ö¥ë¥»¥ó¥¿¡¼", ! PM_TWOFLOWER, PM_MASTER_OF_THIEVES, PM_GUIDE, ! PM_GIANT_SPIDER, PM_FOREST_CENTAUR, S_SPIDER, S_CENTAUR, ! ART_YENDORIAN_EXPRESS_CARD }, ! #endif ! /*JP*/ ! #if 0 /* V */ { "the cave of Surtur", "the Shrine of Destiny", PM_NORN, PM_LORD_SURTUR, PM_WARRIOR, PM_FIRE_ANT, PM_FIRE_GIANT, S_ANT, S_GIANT, ART_ORB_OF_FATE }, ! #endif ! /* V */ { "¥µ¡¼¥¿¡¼¤Îƶ·¢", ! "±¿Ì¿¤ÎÀ»Æ²", ! PM_NORN, PM_LORD_SURTUR, PM_WARRIOR, ! PM_FIRE_ANT, PM_FIRE_GIANT, S_ANT, S_GIANT, ! ART_ORB_OF_FATE }, ! /*JP*/ ! #if 0 /* W */ { "the Tower of Darkness", "the Tower of the Balance", PM_WIZARD_OF_BALANCE, PM_DARK_ONE, PM_APPRENTICE, PM_VAMPIRE_BAT, PM_XORN, S_BAT, S_WRAITH, ART_EYE_OF_THE_AETHIOPICA }, + #endif + /* W */ { "°Å¹õ¤ÎÅã", + "ĴϤÎÅã", + PM_WIZARD_OF_BALANCE, PM_DARK_ONE, PM_APPRENTICE, + PM_VAMPIRE_BAT, PM_XORN, S_BAT, S_WRAITH, + ART_EYE_OF_THE_AETHIOPICA }, /* - */ { "", "", 0, 0, 0, 0, 0, 0, 0, 0 } }; *************** *** 251,256 **** --- 362,368 ---- case 'B': return(1); case 'C': return(2); case 'E': return((unsigned)(3+flags.female)); + #ifndef FIGHTER case 'H': return(5); case 'K': return(6); case 'P': return(7); *************** *** 266,271 **** --- 378,401 ---- case 'W': return(11); default: return(12); #endif + #else /* FIGHTER */ + case 'F': return(5); + case 'H': return(6); + case 'K': return(7); + case 'P': return(8); + case 'R': return(9); + case 'S': return(10); + #ifdef TOURIST + case 'T': return(11); + case 'V': return(12); + case 'W': return(13); + default: return(14); + #else + case 'V': return(11); + case 'W': return(12); + default: return(13); + #endif + #endif /* FIGHTER */ } } *************** *** 290,299 **** --- 420,432 ---- { int i = qt_matrix[class_index()].ldrnum; + /*JP Sprintf(nambuf, "%s%s", type_is_pname(&mons[i]) ? "" : "the ", mons[i].mname); return nambuf; + */ + return(jtrns_mon(mons[i].mname, -1)); } static const char * *************** *** 314,323 **** --- 447,459 ---- { int i = qt_matrix[class_index()].neminum; + /*JP Sprintf(nambuf, "%s%s", type_is_pname(&mons[i]) ? "" : "the ", mons[i].mname); return nambuf; + */ + return(jtrns_mon(mons[i].mname, -1)); } static const char * *************** *** 325,331 **** --- 461,470 ---- { int i = qt_matrix[class_index()].guardnum; + /*JP return(mons[i].mname); + */ + return(jtrns_mon(mons[i].mname, -1)); } static const char * *************** *** 366,387 **** case 'p': str = plname; break; ! case 'c': str = pl_character; break; case 'r': str = rank_of(u.ulevel, pl_character[0], flags.female); break; case 'R': str = rank_of(MIN_QUEST_LEVEL, pl_character[0], flags.female); break; ! case 's': str = (flags.female) ? "sister" : "brother"; break; ! case 'S': str = (flags.female) ? "daughter" : "son"; break; case 'l': str = ldrname(); break; case 'i': str = intermed(); break; case 'o': str = the(artiname(qt_matrix[class_index()].artinum)); break; case 'n': str = neminame(); break; --- 505,531 ---- case 'p': str = plname; break; ! case 'c': str = jtrns_mon(pl_character, flags.female); break; case 'r': str = rank_of(u.ulevel, pl_character[0], flags.female); break; case 'R': str = rank_of(MIN_QUEST_LEVEL, pl_character[0], flags.female); break; ! /*JP case 's': str = (flags.female) ? "sister" : "brother";*/ ! case 's': str = (flags.female) ? "Ëå" : "Äï"; break; ! /*JP case 'S': str = (flags.female) ? "daughter" : "son";*/ ! case 'S': str = (flags.female) ? "̼" : "©»Ò"; break; case 'l': str = ldrname(); break; case 'i': str = intermed(); break; + /*JP case 'o': str = the(artiname(qt_matrix[class_index()].artinum)); + */ + case 'o': str = jtrns_obj('A',(artiname(qt_matrix[class_index()].artinum))); break; case 'n': str = neminame(); break; *************** *** 397,409 **** break; case 'D': str = align_gname(A_LAWFUL); break; ! case 'C': str = "chaotic"; break; ! case 'N': str = "neutral"; break; ! case 'L': str = "lawful"; break; ! case 'x': str = Blind ? "sense" : "see"; break; case '%': str = "%"; break; --- 541,557 ---- break; case 'D': str = align_gname(A_LAWFUL); break; ! /*JP case 'C': str = "chaotic";*/ ! case 'C': str = "º®ÆÙ"; break; ! /*JP case 'N': str = "neutral";*/ ! case 'N': str = "ÃæΩ"; break; ! /*JP case 'L': str = "lawful";*/ ! case 'L': str = "Ãá½ø"; break; ! /*JP case 'x': str = Blind ? "sense" : "see";*/ ! case 'x': str = Blind ? "´¶¤¸" : "¸«"; break; case '%': str = "%"; break; diff -c -r ../nethack-3.2.2/src/read.c ./src/read.c *** ../nethack-3.2.2/src/read.c Sat Dec 28 21:53:49 1996 --- ./src/read.c Tue Jul 22 23:18:35 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #define Your_Own_Role(mndx) (\ *************** *** 43,55 **** known = FALSE; if(check_capacity((char *)0)) return (0); ! scroll = getobj(readable, "read"); if(!scroll) return(0); /* outrumor has its own blindness check */ if(scroll->otyp == FORTUNE_COOKIE) { if(flags.verbose) ! You("break up the cookie and throw away the pieces."); outrumor(bcsign(scroll), TRUE); useup(scroll); return(1); --- 50,64 ---- known = FALSE; if(check_capacity((char *)0)) return (0); ! /*JP scroll = getobj(readable, "read");*/ ! scroll = getobj(readable, "Æɤà"); if(!scroll) return(0); /* outrumor has its own blindness check */ if(scroll->otyp == FORTUNE_COOKIE) { if(flags.verbose) ! /*JP You("break up the cookie and throw away the pieces.");*/ ! You("¥¯¥Ã¥­¡¼¤ò³ä¤ê¡¤¤«¤±¤é¤òÅꤲ¤¹¤Æ¤¿¡¥"); outrumor(bcsign(scroll), TRUE); useup(scroll); return(1); *************** *** 58,94 **** char buf[BUFSZ]; if (Blind) { ! You_cant("feel any Braille writing."); return 0; } if(flags.verbose) ! pline("It reads:"); ! Sprintf(buf, "I explored the Dungeons of Doom, %s.", Hallucination ? (scroll == uarmu ? /* (force these two to have identical length) */ ! "and never did any laundry..." : ! "and couldn't find my way out") : ! "but all I got was this lousy T-shirt"); if (scroll->oeroded) wipeout_text(buf, (int)(strlen(buf) * scroll->oeroded / (2*MAX_ERODE)), scroll->o_id ^ (unsigned)u.ubirthday); ! pline("\"%s\"", buf); return 1; #endif /* TOURIST */ } else if (scroll->oclass != SCROLL_CLASS && scroll->oclass != SPBOOK_CLASS) { ! pline(silly_thing_to, "read"); return(0); } else if (Blind) { const char *what = 0; if (scroll->oclass == SPBOOK_CLASS) ! what = "mystic runes"; else if (!scroll->dknown) ! what = "formula on the scroll"; if (what) { ! pline("Being blind, you cannot read the %s.", what); return(0); } } --- 67,114 ---- char buf[BUFSZ]; if (Blind) { ! /*JP You_cant("feel any Braille writing.");*/ ! You("ÅÀ»ú¤Ï¤É¤¦¤â½ñ¤¤¤Æ¤Ê¤¤¤è¤¦¤À¡¥"); return 0; } if(flags.verbose) ! /*JP pline("It reads:");*/ ! pline("¤½¤ì¤òÆɤó¤À¡§"); ! /*JP Sprintf(buf, "I explored the Dungeons of Doom, %s.",*/ ! Sprintf(buf, "»ä¤Ï±¿Ì¿¤Î̵ܤòÄ´ºº¤·¤Æ¤¤¤¿¡¤%s", Hallucination ? (scroll == uarmu ? /* (force these two to have identical length) */ ! /*JP "and never did any laundry..." :*/ ! "¤½¤ì¤Ë¤è¤ë¤È¥¯¥ê¡¼¥Ë¥ó¥°²°¤Ï¤Ê¤¤¤è¤¦¤À¡¥¡¥¡¥": ! /*JP "and couldn't find my way out") :*/ ! "¤¬½Ð¸ý¤ò¸«¼º¤Ã¤Æ¤·¤Þ¤Ã¤¿¡¥") : ! /*JP "but all I got was this lousy T-shirt");*/ ! "¤¬¼ê¤ËÆþ¤ì¤¿¤Î¤Ï¤­¤¿¤Ê¤¤£Ô¥·¥ã¥Ä¤À¤±¤À¡¥"); if (scroll->oeroded) wipeout_text(buf, (int)(strlen(buf) * scroll->oeroded / (2*MAX_ERODE)), scroll->o_id ^ (unsigned)u.ubirthday); ! /*JP pline("\"%s\"", buf);*/ ! pline("¡Ö%s¡×", buf); return 1; #endif /* TOURIST */ } else if (scroll->oclass != SCROLL_CLASS && scroll->oclass != SPBOOK_CLASS) { ! /*JP pline(silly_thing_to, "read");*/ ! pline(silly_thing_to, "Æɤà"); return(0); } else if (Blind) { const char *what = 0; if (scroll->oclass == SPBOOK_CLASS) ! /*JP what = "mystic runes";*/ ! what = "¿ÀÈëŪ¤Ê¥ë¡¼¥óʸ»ú"; else if (!scroll->dknown) ! /*JP what = "formula on the scroll";*/ ! what = "´¬Êª¤Î¼öʸ"; if (what) { ! /*JP pline("Being blind, you cannot read the %s.", what);*/ ! pline("Ìܤ¬¸«¤¨¤Ê¤¤¤Î¤Ç¡¤¤¢¤Ê¤¿¤Ï%s¤òÆɤळ¤È¤¬¤Ç¤­¤Ê¤¤¡¥", what); return(0); } } *************** *** 99,105 **** #endif if(scroll->oclass == SPBOOK_CLASS) { if(confused) { ! You("cannot grasp the meaning of this tome."); return(0); } else return(study_book(scroll)); --- 119,126 ---- #endif if(scroll->oclass == SPBOOK_CLASS) { if(confused) { ! /*JP You("cannot grasp the meaning of this tome.");*/ ! You("¤³¤ÎËܤΰÕÌ£¤òÍý²ò¤Ç¤­¤Ê¤¤¡¥"); return(0); } else return(study_book(scroll)); *************** *** 109,122 **** #endif if(scroll->otyp != SCR_BLANK_PAPER) { if(Blind) ! pline("As you pronounce the formula on it, the scroll disappears."); else ! pline("As you read the scroll, it disappears."); if(confused) { if (Hallucination) ! pline("Being so trippy, you screw up..."); else ! pline("Being confused, you mispronounce the magic words..."); } } if(!seffects(scroll)) { --- 130,147 ---- #endif if(scroll->otyp != SCR_BLANK_PAPER) { if(Blind) ! /*JP pline("As you pronounce the formula on it, the scroll disappears.");*/ ! pline("¼öʸ¤ò¾§¤¨¤ë¤È¡¤´¬Êª¤Ï¾Ã¤¨¤¿¡¥"); else ! /*JP pline("As you read the scroll, it disappears.");*/ ! pline("´¬Êª¤òÆɤà¤È¡¤¤½¤ì¤Ï¾Ã¤¨¤¿¡¥"); if(confused) { if (Hallucination) ! /*JP pline("Being so trippy, you screw up...");*/ ! pline("¤È¤Æ¤â¤Ø¤í¤Ø¤í¤Ê¤Î¤Ç¡¤¤¯¤·¤ã¤¯¤·¤ã¤Ë¤·¤Æ¤·¤Þ¤Ã¤¿¡¥¡¥¡¥"); else ! /*JP pline("Being confused, you mispronounce the magic words...");*/ ! pline("º®Í𤷤Ƥ¤¤ë¤Î¤Ç¡¤¼öʸ¤ò´Ö°ã¤Ã¤Æ¾§¤¨¤Æ¤·¤Þ¤Ã¤¿¡¥¡¥¡¥"); } } if(!seffects(scroll)) { *************** *** 146,152 **** obj->spe = 0; if (obj->otyp == OIL_LAMP || obj->otyp == BRASS_LANTERN) obj->age = 0; ! Your("%s vibrates briefly.",xname(obj)); } else pline(nothing_happens); } } --- 171,178 ---- obj->spe = 0; if (obj->otyp == OIL_LAMP || obj->otyp == BRASS_LANTERN) obj->age = 0; ! /*JP Your("%s vibrates briefly.",xname(obj));*/ ! Your("%s¤Ï¾®¹ï¤ß¤Ë¿¶Æ°¤·¤¿¡¥",xname(obj)); } else pline(nothing_happens); } } *************** *** 155,162 **** p_glow1(otmp) register struct obj *otmp; { ! Your("%s %s briefly.", xname(otmp), ! Blind ? "vibrates" : "glows"); } static void --- 181,190 ---- p_glow1(otmp) register struct obj *otmp; { ! /*JP Your("%s %s briefly.", xname(otmp), ! Blind ? "vibrates" : "glows");*/ ! Your("%s¤Ï¾®¹ï¤ß¤Ë%s¡¥", xname(otmp), ! Blind ? "¿¶Æ°¤·¤¿" : "µ±¤¤¤¿"); } static void *************** *** 164,173 **** register struct obj *otmp; register const char *color; { ! Your("%s %s%s for a moment.", xname(otmp), Blind ? "vibrates" : "glows ", ! Blind ? (const char *)"" : hcolor(color)); } /* Is the object chargeable? For purposes of inventory display; it is */ --- 192,205 ---- register struct obj *otmp; register const char *color; { ! /*JP Your("%s %s%s for a moment.", xname(otmp), Blind ? "vibrates" : "glows ", ! Blind ? (const char *)"" : hcolor(color));*/ ! Your("%s¤Ï°ì½Ö%s%s¡¥", ! xname(otmp), ! Blind ? (const char *)"" : jconj_adj(hcolor(color)), ! Blind ? "¿¶Æ°¤·¤¿" : "µ±¤¤¤¿"); } /* Is the object chargeable? For purposes of inventory display; it is */ *************** *** 249,265 **** /* destruction depends on current state, not adjustment */ if (obj->spe > rn2(7) || obj->spe <= -5) { ! Your("%s pulsates momentarily, then explodes!", xname(obj)); if (is_on) Ring_gone(obj); s = rnd(3 * abs(obj->spe)); /* amount of damage */ useup(obj); ! losehp(s, "exploding ring", KILLED_BY_AN); } else { long mask = is_on ? (obj == uleft ? LEFT_RING : RIGHT_RING) : 0L; ! Your("%s spins %sclockwise for a moment.", ! xname(obj), s < 0 ? "counter" : ""); /* cause attributes and/or properties to be updated */ if (is_on) Ring_off(obj); obj->spe += s; /* update the ring while it's off */ --- 281,301 ---- /* destruction depends on current state, not adjustment */ if (obj->spe > rn2(7) || obj->spe <= -5) { ! /*JP Your("%s pulsates momentarily, then explodes!",*/ ! Your("%s¤Ï°ì½Ö̮ư¤·¡¤Çúȯ¤·¤¿¡ª", xname(obj)); if (is_on) Ring_gone(obj); s = rnd(3 * abs(obj->spe)); /* amount of damage */ useup(obj); ! /*JP losehp(s, "exploding ring", KILLED_BY_AN);*/ ! losehp(s, "»ØÎؤÎÇúȯ¤Ç", KILLED_BY_AN); } else { long mask = is_on ? (obj == uleft ? LEFT_RING : RIGHT_RING) : 0L; ! /*JP Your("%s spins %sclockwise for a moment.", ! xname(obj), s < 0 ? "counter" : "");*/ ! Your("%s¤Ï°ì½Ö%s»þ·×²ó¤ê¤Ë²óž¤·¤¿¡¥", ! xname(obj), s < 0 ? "È¿" : ""); /* cause attributes and/or properties to be updated */ if (is_on) Ring_off(obj); obj->spe += s; /* update the ring while it's off */ *************** *** 279,285 **** if (is_cursed) stripspe(obj); else if (obj->recharged) { if (obj->spe < 3) ! Your("marker seems permanently dried out."); else pline(nothing_happens); } else if (is_blessed) { --- 315,322 ---- if (is_cursed) stripspe(obj); else if (obj->recharged) { if (obj->spe < 3) ! /*JP Your("marker seems permanently dried out.");*/ ! Your("¥Þ¡¼¥«¤Ï´°Á´¤Ë³å¤­¤­¤Ã¤Æ¤·¤Þ¤Ã¤¿¡¥"); else pline(nothing_happens); } else if (is_blessed) { *************** *** 302,308 **** stripspe(obj); if (obj->lamplit) { if (!Blind) ! pline("%s goes out!", The(xname(obj))); end_burn(obj, TRUE); } } else if (is_blessed) { --- 339,346 ---- stripspe(obj); if (obj->lamplit) { if (!Blind) ! /*JP pline("%s goes out!", The(xname(obj)));*/ ! pline("%s¤Ï¾Ã¤¨¤¿¡ª", The(xname(obj))); end_burn(obj, TRUE); } } else if (is_blessed) { *************** *** 358,364 **** } break; default: ! You("have a feeling of loss."); break; } /* switch */ } --- 396,403 ---- } break; default: ! /*JP You("have a feeling of loss.");*/ ! You("æÎÏ´¶¤ò´¶¤¸¤¿¡¥"); break; } /* switch */ } *************** *** 567,573 **** case SCR_MAIL: known = TRUE; if (sobj->spe) ! pline("This seems to be junk mail addressed to the finder of the Eye of Larn."); /* note to the puzzled: the game Larn actually sends you junk * mail if you win! */ --- 606,613 ---- case SCR_MAIL: known = TRUE; if (sobj->spe) ! /*JP pline("This seems to be junk mail addressed to the finder of the Eye of Larn.");*/ ! pline("Eye of Larn¤Î¥Õ¥¡¥¤¥ó¥À¡¼¤Ë°¸¤Æ¤é¤ì¤¿¥´¥ß¥á¥¤¥ë¤Î¤è¤¦¤À¡¥"); /* note to the puzzled: the game Larn actually sends you junk * mail if you win! */ *************** *** 582,589 **** otmp = some_armor(); if(!otmp) { strange_feeling(sobj, ! !Blind ? "Your skin glows then fades." : ! "Your skin feels warm for a moment."); exercise(A_CON, !sobj->cursed); exercise(A_STR, !sobj->cursed); return(1); --- 622,631 ---- otmp = some_armor(); if(!otmp) { strange_feeling(sobj, ! /*JP !Blind ? "Your skin glows then fades." : ! "Your skin feels warm for a moment.");*/ ! !Blind ? "¤¢¤Ê¤¿¤ÎÂΤϰì½Öµ±¤¤¤¿¡¥" : ! "¤¢¤Ê¤¿¤ÎÂΤϰì½ÖÃȤ«¤¯¤Ê¤Ã¤¿¡¥"); exercise(A_CON, !sobj->cursed); exercise(A_STR, !sobj->cursed); return(1); *************** *** 592,623 **** otmp->oerodeproof = !(sobj->cursed); if(Blind) { otmp->rknown = FALSE; ! Your("%s feels warm for a moment.", xname(otmp)); } else { otmp->rknown = TRUE; ! Your("%s is covered by a %s %s %s!", xname(otmp), sobj->cursed ? "mottled" : "shimmering", hcolor(sobj->cursed ? Black : golden), sobj->cursed ? "glow" : ! (is_shield(otmp) ? "layer" : "shield")); } if (otmp->oerodeproof && otmp->oeroded) { otmp->oeroded = 0; ! Your("%s %ss good as new!", ! xname(otmp), Blind ? "feel" : "look"); } break; } special_armor = is_elven_armor(otmp) || (Role_is('W') && otmp->otyp == CORNUTHAUM); if ((otmp->spe > (special_armor ? 5 : 3)) && rn2(otmp->spe) && !sobj->cursed) { ! Your("%s violently %s%s for a while, then evaporates.", xname(otmp), Blind ? "vibrates" : "glows ", ! Blind ? nul : hcolor(silver)); if(is_cloak(otmp)) (void) Cloak_off(); if(is_boots(otmp)) (void) Boots_off(); if(is_helmet(otmp)) (void) Helmet_off(); --- 634,682 ---- otmp->oerodeproof = !(sobj->cursed); if(Blind) { otmp->rknown = FALSE; ! /*JP Your("%s feels warm for a moment.",*/ ! Your("%s¤Ï°ì½ÖÃȤ«¤¯¤Ê¤Ã¤¿¡¥", xname(otmp)); } else { otmp->rknown = TRUE; ! /*JP Your("%s is covered by a %s %s %s!", xname(otmp), sobj->cursed ? "mottled" : "shimmering", hcolor(sobj->cursed ? Black : golden), sobj->cursed ? "glow" : ! (is_shield(otmp) ? "layer" : "shield"));*/ ! Your("%s¤Ï%s%s%s¤Çʤ¤ï¤ì¤¿¡ª", ! xname(otmp), ! jconj_adj(hcolor(sobj->cursed ? Black : golden)), ! sobj->cursed ? "¸÷¤ë¤Þ¤À¤é¤Î" : "¤æ¤é¤á¤¯", ! sobj->cursed ? "µ±¤­" : ! (is_shield(otmp) ? "¥Ð¥ê¥¢" : "¥Ð¥ê¥¢")); } if (otmp->oerodeproof && otmp->oeroded) { otmp->oeroded = 0; ! /*JP Your("%s %ss good as new!", ! xname(otmp), Blind ? "feel" : "look");*/ ! Your("%s¤Ï¿·ÉÊƱÍͤˤʤ俤褦¤Ë%s¡ª", ! xname(otmp), Blind ? "´¶¤¸¤¿" : "¸«¤¨¤¿"); } break; } special_armor = is_elven_armor(otmp) || + #ifdef FIGHTER + (Role_is('F') && otmp->otyp == SAILOR_BLOUSE) || + #endif (Role_is('W') && otmp->otyp == CORNUTHAUM); if ((otmp->spe > (special_armor ? 5 : 3)) && rn2(otmp->spe) && !sobj->cursed) { ! /*JP Your("%s violently %s%s for a while, then evaporates.", xname(otmp), Blind ? "vibrates" : "glows ", ! Blind ? nul : hcolor(silver));*/ ! Your("%s¤Ï¤·¤Ð¤é¤¯¤Î´Ö·ã¤·¤¯%s%s¡¤¾øȯ¤·¤¿¡¥", ! xname(otmp), ! Blind ? nul : jconj_adj(hcolor(silver)), ! Blind ? "¿¶Æ°¤·" : "µ±¤­"); ! if(is_cloak(otmp)) (void) Cloak_off(); if(is_boots(otmp)) (void) Boots_off(); if(is_helmet(otmp)) (void) Helmet_off(); *************** *** 633,639 **** if (s >= 0 && otmp->otyp >= GRAY_DRAGON_SCALES && otmp->otyp <= YELLOW_DRAGON_SCALES) { /* dragon scales get turned into dragon scale mail */ ! Your("%s merges and hardens!", xname(otmp)); setworn((struct obj *)0, W_ARM); /* assumes same order */ otmp->otyp = GRAY_DRAGON_SCALE_MAIL + --- 692,699 ---- if (s >= 0 && otmp->otyp >= GRAY_DRAGON_SCALES && otmp->otyp <= YELLOW_DRAGON_SCALES) { /* dragon scales get turned into dragon scale mail */ ! /*JP Your("%s merges and hardens!", xname(otmp));*/ ! Your("%s¤ÏÍ»¹ç¤·¸Ç¤¯¤Ê¤Ã¤¿¡ª", xname(otmp)); setworn((struct obj *)0, W_ARM); /* assumes same order */ otmp->otyp = GRAY_DRAGON_SCALE_MAIL + *************** *** 647,658 **** setworn(otmp, W_ARM); break; } ! Your("%s %s%s%s for a %s.", xname(otmp), s == 0 ? "violently " : nul, Blind ? "vibrates" : "glows ", Blind ? nul : hcolor(sobj->cursed ? Black : silver), ! (s*s>1) ? "while" : "moment"); otmp->cursed = sobj->cursed; if (!otmp->blessed || sobj->cursed) otmp->blessed = sobj->blessed; --- 707,725 ---- setworn(otmp, W_ARM); break; } ! /*JP Your("%s %s%s%s for a %s.", xname(otmp), s == 0 ? "violently " : nul, Blind ? "vibrates" : "glows ", Blind ? nul : hcolor(sobj->cursed ? Black : silver), ! (s*s>1) ? "while" : "moment");*/ ! Your("%s¤Ï%s%s%s%s¡¥", ! xname(otmp), ! (s*s>1) ? "¤·¤Ð¤é¤¯¤Î´Ö" : "°ì½Ö", ! s == 0 ? "·ã¤·¤¯" : nul, ! Blind ? nul : ! jconj_adj(hcolor(sobj->cursed ? Black : silver)), ! Blind ? "¿¶Æ°¤·¤¿" : "µ±¤¤¤¿"); otmp->cursed = sobj->cursed; if (!otmp->blessed || sobj->cursed) otmp->blessed = sobj->blessed; *************** *** 664,672 **** if ((otmp->spe > (special_armor ? 5 : 3)) && (special_armor || !rn2(7))) ! Your("%s suddenly vibrates %s.", xname(otmp), ! Blind ? "again" : "unexpectedly"); break; } case SCR_DESTROY_ARMOR: --- 731,742 ---- if ((otmp->spe > (special_armor ? 5 : 3)) && (special_armor || !rn2(7))) ! /*JP Your("%s suddenly vibrates %s.", xname(otmp), ! Blind ? "again" : "unexpectedly");*/ ! Your("%s¤ÏÆÍÁ³%s¿¶Æ°¤·¤¿¡¥", ! xname(otmp), ! Blind ? "¤Þ¤¿" : "»×¤¤¤â¤è¤é¤º"); break; } case SCR_DESTROY_ARMOR: *************** *** 674,680 **** otmp = some_armor(); if(confused) { if(!otmp) { ! strange_feeling(sobj,"Your bones itch."); exercise(A_STR, FALSE); exercise(A_CON, FALSE); return(1); --- 744,751 ---- otmp = some_armor(); if(confused) { if(!otmp) { ! /*JP strange_feeling(sobj,"Your bones itch.");*/ ! strange_feeling(sobj,"¹ü¤¬¥à¥º¥à¥º¤¹¤ë¡¥"); exercise(A_STR, FALSE); exercise(A_CON, FALSE); return(1); *************** *** 685,698 **** } if(!sobj->cursed || !otmp || !otmp->cursed) { if(!destroy_arm(otmp)) { ! strange_feeling(sobj,"Your skin itches."); exercise(A_STR, FALSE); exercise(A_CON, FALSE); return(1); } else known = TRUE; } else { /* armor and scroll both cursed */ ! Your("%s vibrates.", xname(otmp)); if (otmp->spe >= -6) otmp->spe--; make_stunned(HStun + rn1(10, 10), TRUE); } --- 756,771 ---- } if(!sobj->cursed || !otmp || !otmp->cursed) { if(!destroy_arm(otmp)) { ! /*JP strange_feeling(sobj,"Your skin itches.");*/ ! strange_feeling(sobj,"ÈéÉ椬¥à¥º¥à¥º¤¹¤ë¡¥"); exercise(A_STR, FALSE); exercise(A_CON, FALSE); return(1); } else known = TRUE; } else { /* armor and scroll both cursed */ ! /*JP Your("%s vibrates.", xname(otmp));*/ ! Your("%s¤Ï¿¶Æ°¤·¤¿¡¥", xname(otmp)); if (otmp->spe >= -6) otmp->spe--; make_stunned(HStun + rn1(10, 10), TRUE); } *************** *** 701,740 **** case SCR_CONFUSE_MONSTER: case SPE_CONFUSE_MONSTER: if(u.usym != S_HUMAN || sobj->cursed) { ! if(!HConfusion) You_feel("confused."); make_confused(HConfusion + rnd(100),FALSE); } else if(confused) { if(!sobj->blessed) { ! Your("%s begin to %s%s.", makeplural(body_part(HAND)), Blind ? "tingle" : "glow ", ! Blind ? nul : hcolor(purple)); make_confused(HConfusion + rnd(100),FALSE); } else { ! pline("A %s%s surrounds your %s.", Blind ? nul : hcolor(red), Blind ? "faint buzz" : " glow", ! body_part(HEAD)); make_confused(0L,TRUE); } } else { if (!sobj->blessed) { ! Your("%s%s %s%s.", makeplural(body_part(HAND)), Blind ? "" : " begin to glow", Blind ? (const char *)"tingle" : hcolor(red), ! u.umconf ? " even more" : ""); u.umconf++; } else { if (Blind) ! Your("%s tingle %s sharply.", makeplural(body_part(HAND)), ! u.umconf ? "even more" : "very"); else ! Your("%s glow a%s brilliant %s.", makeplural(body_part(HAND)), u.umconf ? "n even more" : "", ! hcolor(red)); u.umconf += rn1(8, 2); } } --- 774,835 ---- case SCR_CONFUSE_MONSTER: case SPE_CONFUSE_MONSTER: if(u.usym != S_HUMAN || sobj->cursed) { ! /*JP if(!HConfusion) You_feel("confused.");*/ ! if(!HConfusion) You("º®Í𤷤¿¡¥"); make_confused(HConfusion + rnd(100),FALSE); } else if(confused) { if(!sobj->blessed) { ! /*JP Your("%s begin to %s%s.", makeplural(body_part(HAND)), Blind ? "tingle" : "glow ", ! Blind ? nul : hcolor(purple));*/ ! Your("%s¤Ï%s%s¤Ï¤¸¤á¤¿¡¥", ! makeplural(body_part(HAND)), ! Blind ? nul : jconj_adj(hcolor(purple)), ! Blind ? "¥Ò¥ê¥Ò¥ê¤·" : "µ±¤­"); make_confused(HConfusion + rnd(100),FALSE); } else { ! /*JP pline("A %s%s surrounds your %s.", Blind ? nul : hcolor(red), Blind ? "faint buzz" : " glow", ! body_part(HEAD));*/ ! pline("%s%s¤¬¤¢¤Ê¤¿¤Î%s¤ò¼è¤ê´¬¤¤¤¿¡¥", ! Blind ? nul : jconj_adj(hcolor(red)), ! Blind ? "¤«¤¹¤«¤Ë¥Ö¡¼¥ó¤ÈÌĤë¤â¤Î" : "µ±¤¯¤â¤Î", ! body_part(HEAD)); make_confused(0L,TRUE); } } else { if (!sobj->blessed) { ! /*JP Your("%s%s %s%s.", makeplural(body_part(HAND)), Blind ? "" : " begin to glow", Blind ? (const char *)"tingle" : hcolor(red), ! u.umconf ? " even more" : "");*/ ! Your("%s¤Ï%s%s%s¡¥", ! makeplural(body_part(HAND)), ! u.umconf ? "¾¯¤·" : "", ! Blind ? (const char *)"¥Ò¥ê¥Ò¥ê¤·¤¿" : ! jconj_adj(hcolor(red)), ! Blind ? "" : "µ±¤­¤Ï¤¸¤á¤¿"); u.umconf++; } else { if (Blind) ! /*JP Your("%s tingle %s sharply.", ! makeplural(body_part(HAND)), ! u.umconf ? "even more" : "very");*/ ! Your("%s¤Ï%s¥Ô¥ê¥Ô¥ê¤¹¤ë¡¥", makeplural(body_part(HAND)), ! u.umconf ? "¾¯¤·" : "¤È¤Æ¤â"); else ! /*JP Your("%s glow a%s brilliant %s.", makeplural(body_part(HAND)), u.umconf ? "n even more" : "", ! hcolor(red));*/ ! Your("%s¤Ï%s%sÌÀ¤ë¤¯µ±¤¤¤¿¡¥", ! makeplural(body_part(HAND)), ! u.umconf ? "¾¯¤·" : "", ! jconj_adj(hcolor(red))); u.umconf += rn1(8, 2); } } *************** *** 755,774 **** if(!mtmp->mtame) ct++; /* pets don't laugh at you */ } if(!ct) ! You_hear("%s in the distance.", (confused || sobj->cursed) ? "sad wailing" : ! "maniacal laughter"); else if(sobj->otyp == SCR_SCARE_MONSTER) ! You_hear("%s close by.", (confused || sobj->cursed) ? "sad wailing" : ! "maniacal laughter"); break; } case SCR_BLANK_PAPER: if (Blind) ! You("don't remember there being any magic words on this scroll."); else ! pline("This scroll seems to be blank."); known = TRUE; break; case SCR_REMOVE_CURSE: --- 850,877 ---- if(!mtmp->mtame) ct++; /* pets don't laugh at you */ } if(!ct) ! /*JP You_hear("%s in the distance.", (confused || sobj->cursed) ? "sad wailing" : ! "maniacal laughter");*/ ! You("±ó¤¯¤Ç%s¤òʹ¤¤¤¿¡¥", ! (confused || sobj->cursed) ? "Èᤷ¤¯µã¤­¶«¤ÖÀ¼" : ! "¶¸¤Ã¤¿¤è¤¦¤Ë¾Ð¤¦À¼"); else if(sobj->otyp == SCR_SCARE_MONSTER) ! /*JP You_hear("%s close by.", (confused || sobj->cursed) ? "sad wailing" : ! "maniacal laughter");*/ ! You("¶á¤¯¤Ç%s¤òʹ¤¤¤¿¡¥", ! (confused || sobj->cursed) ? "Èᤷ¤¯µã¤­¶«¤ÖÀ¼" : ! "¶¸¤Ã¤¿¤è¤¦¤Ë¾Ð¤¦À¼"); break; } case SCR_BLANK_PAPER: if (Blind) ! /*JP You("don't remember there being any magic words on this scroll.");*/ ! You("´¬Êª¤Ë¼öʸ¤¬½ñ¤¤¤Æ¤Ê¤«¤Ã¤¿¤³¤È¤ò»×¤¤¤À¤·¤¿¡¥"); else ! /*JP pline("This scroll seems to be blank.");*/ ! pline("¤³¤Î´¬Êª¤Ë¤Ï²¿¤â½ñ¤¤¤Æ¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤ë¡¥"); known = TRUE; break; case SCR_REMOVE_CURSE: *************** *** 776,791 **** { register struct obj *obj; if(confused) if (Hallucination) ! You_feel("the power of the Force against you!"); else ! You_feel("like you need some help."); else if (Hallucination) ! You_feel("in touch with the Universal Oneness."); else ! You_feel("like someone is helping you."); ! if(sobj->cursed) pline_The("scroll disintegrates."); else { for(obj = invent; obj ; obj = obj->nobj) if(sobj->blessed || obj->owornmask || --- 879,899 ---- { register struct obj *obj; if(confused) if (Hallucination) ! /*JP You_feel("the power of the Force against you!");*/ ! You("Ëâ¤ÎÎϤ¬¤¢¤Ê¤¿¤Ë¤Ï¤à¤«¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë´¶¤¸¤¿¡ª"); else ! /*JP You_feel("like you need some help.");*/ ! You("¼«Ê¬¤¬½õ¤±¤òɬÍפȤ·¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); else if (Hallucination) ! /*JP You_feel("in touch with the Universal Oneness.");*/ ! You("±§Ã踶Íý¤ÎĴϤ˿¨¤ì¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); else ! /*JP You_feel("like someone is helping you.");*/ ! pline("狼¤¬¤¢¤Ê¤¿¤ò½õ¤±¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); ! /*JP if(sobj->cursed) pline_The("scroll disintegrates.");*/ ! if(sobj->cursed) pline("´¬Êª¤ÏÊ´¡¹¤Ë¤Ê¤Ã¤¿¡¥"); else { for(obj = invent; obj ; obj = obj->nobj) if(sobj->blessed || obj->owornmask || *************** *** 814,832 **** uwep->oerodeproof = !(sobj->cursed); if (Blind) { uwep->rknown = FALSE; ! Your("weapon feels warm for a moment."); } else { uwep->rknown = TRUE; ! Your("%s covered by a %s %s %s!", aobjnam(uwep, "are"), sobj->cursed ? "mottled" : "shimmering", hcolor(sobj->cursed ? purple : golden), ! sobj->cursed ? "glow" : "shield"); } if (uwep->oerodeproof && uwep->oeroded) { uwep->oeroded = 0; ! Your("%s good as new!", ! aobjnam(uwep, Blind ? "feel" : "look")); } } else return !chwepon(sobj, sobj->cursed ? -1 : --- 922,950 ---- uwep->oerodeproof = !(sobj->cursed); if (Blind) { uwep->rknown = FALSE; ! /*JP Your("weapon feels warm for a moment.");*/ ! pline("Éð´ï¤¬°ì½ÖÃȤ«¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); } else { uwep->rknown = TRUE; ! /*JP Your("%s covered by a %s %s %s!", aobjnam(uwep, "are"), sobj->cursed ? "mottled" : "shimmering", hcolor(sobj->cursed ? purple : golden), ! sobj->cursed ? "glow" : "shield");*/ ! Your("%s¤Ï%s%s%s¤Çʤ¤ï¤ì¤¿¡ª", ! xname(uwep), ! jconj_adj(hcolor( ! sobj->cursed ? purple : golden)), ! sobj->cursed ? "¸÷¤ë¤Þ¤À¤é¤Î" : "¤æ¤é¤á¤¯", ! sobj->cursed ? "µ±¤­" : "¥Ð¥ê¥¢"); ! } if (uwep->oerodeproof && uwep->oeroded) { uwep->oeroded = 0; ! /*JP Your("%s good as new!", ! aobjnam(uwep, Blind ? "feel" : "look"));*/ ! pline("%s¤Ï¿·ÉÊƱÍͤˤʤ俤褦¤Ë%s¡ª", ! xname(uwep), Blind ? "´¶¤¸¤¿" : "¸«¤¨¤¿"); } } else return !chwepon(sobj, sobj->cursed ? -1 : *************** *** 854,860 **** break; } case SCR_GENOCIDE: ! You("have found a scroll of genocide!"); known = TRUE; if (sobj->blessed) do_class_genocide(); else do_genocide(!sobj->cursed | (2 * !!Confusion)); --- 972,979 ---- break; } case SCR_GENOCIDE: ! /*JP You("have found a scroll of genocide!");*/ ! pline("¤³¤ì¤ÏµÔ»¦¤Î´¬Êª¤À¡ª"); known = TRUE; if (sobj->blessed) do_class_genocide(); else do_genocide(!sobj->cursed | (2 * !!Confusion)); *************** *** 868,874 **** else { if (sobj->blessed && !Teleport_control) { known = TRUE; ! if (yn("Do you wish to teleport?")=='n') break; } tele(); --- 987,994 ---- else { if (sobj->blessed && !Teleport_control) { known = TRUE; ! /*JP if (yn("Do you wish to teleport?")=='n')*/ ! if (yn("½Ö´Ö°ÜÆ°¤·¤Þ¤¹¤«¡©")=='n') break; } tele(); *************** *** 891,899 **** case SCR_IDENTIFY: /* known = TRUE; */ if(confused) ! You("identify this as an identify scroll."); else ! pline("This is an identify scroll."); if (sobj->blessed || (!sobj->cursed && !rn2(5))) { cval = rn2(5); /* Note: if rn2(5)==0, identify all items */ --- 1011,1021 ---- case SCR_IDENTIFY: /* known = TRUE; */ if(confused) ! /*JP You("identify this as an identify scroll.");*/ ! You("¤³¤ì¤Ï¼±Ê̤δ¬Êª¤À¤È¼±Ê̤·¤¿¡¥"); else ! /*JP pline("This is an identify scroll.");*/ ! pline("¤³¤ì¤Ï¼±Ê̤δ¬Êª¤À¡¥"); if (sobj->blessed || (!sobj->cursed && !rn2(5))) { cval = rn2(5); /* Note: if rn2(5)==0, identify all items */ *************** *** 908,914 **** return(1); case SCR_CHARGING: if (confused) { ! You_feel("charged up!"); if (u.uen < u.uenmax) u.uen = u.uenmax; else --- 1030,1037 ---- return(1); case SCR_CHARGING: if (confused) { ! /*JP You_feel("charged up!");*/ ! You("½¼Å¶¤µ¤ì¤¿¤è¤¦¤Êµ¤¤¬¤¹¤ë¡ª"); if (u.uen < u.uenmax) u.uen = u.uenmax; else *************** *** 917,951 **** break; } known = TRUE; ! pline("This is a charging scroll."); ! otmp = getobj(all_count, "charge"); if (!otmp) break; recharge(otmp, sobj->cursed ? -1 : (sobj->blessed ? 1 : 0)); break; case SCR_MAGIC_MAPPING: if (level.flags.nommap) { ! Your("mind is filled with crazy lines!"); if (Hallucination) ! pline("Wow! Modern art."); else ! Your("head spins in bewilderment."); make_confused(HConfusion + rnd(30), FALSE); break; } known = TRUE; case SPE_MAGIC_MAPPING: if (level.flags.nommap) { ! Your("head spins as something blocks the spell!"); make_confused(HConfusion + rnd(30), FALSE); break; } ! pline("A map coalesces in your mind!"); cval = (sobj->cursed && !confused); if(cval) HConfusion = 1; /* to screw up map */ do_mapping(); if(cval) { HConfusion = 0; /* restore */ ! pline("Unfortunately, you can't grasp the details."); } break; case SCR_AMNESIA: --- 1040,1082 ---- break; } known = TRUE; ! /*JP pline("This is a charging scroll."); ! otmp = getobj(all_count, "charge");*/ ! pline("¤³¤ì¤Ï½¼Å¶¤Î´¬Êª¤À¡ª"); ! otmp = getobj(all_count, "½¼Å¶¤¹¤ë"); if (!otmp) break; recharge(otmp, sobj->cursed ? -1 : (sobj->blessed ? 1 : 0)); break; case SCR_MAGIC_MAPPING: if (level.flags.nommap) { ! /*JP Your("mind is filled with crazy lines!");*/ ! Your("¿´¤Ë¤¿¤À¤Ê¤é¤ÌÀþ¡ªÀþ¡ªÀþ¡ª¤¬Éâ¤Ó¤¢¤¬¤Ã¤¿¡ª"); if (Hallucination) ! /*JP pline("Wow! Modern art.");*/ ! pline("¥ï¥©¡ª¥â¥À¥ó¥¢¡¼¥È¤À¡ª"); else ! /*JP Your("head spins in bewilderment.");*/ ! You("ÅöÏǤ·¤ÆÌܤ¬¤Þ¤ï¤Ã¤¿¡¥"); make_confused(HConfusion + rnd(30), FALSE); break; } known = TRUE; case SPE_MAGIC_MAPPING: if (level.flags.nommap) { ! /*JP Your("head spins as something blocks the spell!");*/ ! You("²¿¤«¤¬¼öʸ¤ò¤µ¤¨¤®¤ê¡¤Ìܤ¬¤Þ¤ï¤Ã¤¿¡¥¡ª"); make_confused(HConfusion + rnd(30), FALSE); break; } ! /*JP pline("A map coalesces in your mind!");*/ ! pline("ÃÏ¿Þ¤¬¤¢¤Ê¤¿¤Î¿´¤ËÍ»¹ç¤·¤¿¡ª"); cval = (sobj->cursed && !confused); if(cval) HConfusion = 1; /* to screw up map */ do_mapping(); if(cval) { HConfusion = 0; /* restore */ ! /*JP pline("Unfortunately, you can't grasp the details.");*/ ! pline("ÉÔ¹¬¤Ë¤â¡¤¤¢¤Ê¤¿¤Ï¾ÜºÙ¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¡¥"); } break; case SCR_AMNESIA: *************** *** 953,965 **** forget( (!sobj->blessed ? ALL_SPELLS : 0) | (!confused || sobj->cursed ? ALL_MAP : 0) ); if (Hallucination) /* Ommmmmm! */ ! Your("mind releases itself from mundane concerns."); else if (!strncmpi(plname, "Maud", 4)) ! pline("As your mind turns inward on itself, you forget everything else."); else if (rn2(2)) ! pline("Who was that Maud person anyway?"); else ! pline("Thinking of Maud you forget everything else."); exercise(A_WIS, FALSE); break; case SCR_FIRE: --- 1084,1100 ---- forget( (!sobj->blessed ? ALL_SPELLS : 0) | (!confused || sobj->cursed ? ALL_MAP : 0) ); if (Hallucination) /* Ommmmmm! */ ! /*JP Your("mind releases itself from mundane concerns.");*/ ! Your("¿´¤ÏÊ¿ËÞ¤ÊÍø³²´Ø·¸¤«¤é²òÊü¤µ¤ì¤¿¡¥"); else if (!strncmpi(plname, "Maud", 4)) ! /*JP pline("As your mind turns inward on itself, you forget everything else.");*/ ! pline("¤¢¤Ê¤¿¤Î¿´¤ÏÆ⦤˸þ¤­¡¤Á´¤Æ¤ò˺¤ì¤Æ¤·¤Þ¤Ã¤¿¡¥"); else if (rn2(2)) ! /*JP pline("Who was that Maud person anyway?");*/ ! pline("Maud¤Ã¤Æ̼¤Ï¤¤¤Ã¤¿¤¤Ã¯¤À¤¤¡©"); else ! /*JP pline("Thinking of Maud you forget everything else.");*/ ! pline("Maud¤ò¹Í¤¨¤ë¤³¤È°Ê³°¡¤¤¢¤Ê¤¿¤ÏÁ´¤Æ¤ò˺¤ì¤Æ¤·¤Þ¤Ã¤¿¡¥"); exercise(A_WIS, FALSE); break; case SCR_FIRE: *************** *** 974,1001 **** if(Fire_resistance) { shieldeff(u.ux, u.uy); if(!Blind) ! pline("Oh, look, what a pretty fire in your %s.", makeplural(body_part(HAND))); ! else You_feel("a pleasant warmth in your %s.", makeplural(body_part(HAND))); } else { ! pline_The("scroll catches fire and you burn your %s.", makeplural(body_part(HAND))); ! losehp(1, "scroll of fire", KILLED_BY_AN); } return(1); } if (Underwater) ! pline_The("water around you vaporizes violently!"); else ! pline_The("scroll erupts in a tower of flame!"); explode(u.ux, u.uy, 11, (2*(rn1(3, 3) + 2 * cval) + 1)/3, SCROLL_CLASS); return(1); case SCR_PUNISHMENT: known = TRUE; if(confused || sobj->blessed) { ! You_feel("guilty."); break; } punish(sobj); --- 1109,1143 ---- if(Fire_resistance) { shieldeff(u.ux, u.uy); if(!Blind) ! /*JP pline("Oh, look, what a pretty fire in your %s.",*/ ! pline("¤ï¤¡¤´¤é¤ó¡¥¾®¤µ¤Ê²Ð¤¬%s¤Ë¤¢¤ë¡¥", makeplural(body_part(HAND))); ! /*JP else You_feel("a pleasant warmth in your %s.",*/ ! else You("%s¤ÎÃæ¤Ë²÷Ŭ¤ÊÃȤ«¤µ¤ò´¶¤¸¤¿¡¥", makeplural(body_part(HAND))); } else { ! /*JP pline_The("scroll catches fire and you burn your %s.",*/ ! pline("´¬Êª¤Ë²Ð¤¬Ç³¤¨¤¦¤Ä¤ê¡¤¤¢¤Ê¤¿¤Î%s¤ò¾Æ¤¤¤¿¡¥", makeplural(body_part(HAND))); ! /*JP losehp(1, "scroll of fire", KILLED_BY_AN);*/ ! losehp(1, "±ê¤Î´¬Êª¤Ç", KILLED_BY_AN); } return(1); } if (Underwater) ! /*JP pline_The("water around you vaporizes violently!");*/ ! pline("¤¢¤Ê¤¿¤Î²ó¤ê¤Î¿å¤Ïʨƭ¤·¤¿¡ª"); else ! /*JP pline_The("scroll erupts in a tower of flame!");*/ ! pline("´¬Êª¤«¤é²ÐÃ줬Ω¤Á¾º¤Ã¤¿¡ª"); explode(u.ux, u.uy, 11, (2*(rn1(3, 3) + 2 * cval) + 1)/3, SCROLL_CLASS); return(1); case SCR_PUNISHMENT: known = TRUE; if(confused || sobj->blessed) { ! /*JP You_feel("guilty.");*/ ! You("ºá¤ò´¶¤¸¤¿¡¥"); break; } punish(sobj); *************** *** 1010,1018 **** wand_explode(obj) register struct obj *obj; { ! Your("%s vibrates violently, and explodes!",xname(obj)); nhbell(); ! losehp(rnd(2*(u.uhpmax+1)/3), "exploding wand", KILLED_BY_AN); useup(obj); exercise(A_STR, FALSE); } --- 1152,1162 ---- wand_explode(obj) register struct obj *obj; { ! /*JP Your("%s vibrates violently, and explodes!",xname(obj));*/ ! Your("%s¤Ï·ã¤·¤¯¿¶Æ°¤·¡¤Çúȯ¤·¤¿¡ª",xname(obj)); nhbell(); ! /*JP losehp(rnd(2*(u.uhpmax+1)/3), "exploding wand", KILLED_BY_AN);*/ ! losehp(rnd(2*(u.uhpmax+1)/3), "¾ó¤ÎÇúȯ¤Ç", KILLED_BY_AN); useup(obj); exercise(A_STR, FALSE); } *************** *** 1047,1056 **** if (!Blind) { if(u.uswallow) { ! pline("It seems even darker in here than before."); return; } ! You("are surrounded by darkness!"); } /* the magic douses lamps, et al, too */ --- 1191,1202 ---- if (!Blind) { if(u.uswallow) { ! /*JP pline("It seems even darker in here than before.");*/ ! pline("Á°¤è¤ê°Å¤¯¤Ê¤Ã¤¿¤è¤¦¤Ë¸«¤¨¤ë¡¥"); return; } ! /*JP You("are surrounded by darkness!");*/ ! You("°Å°Ç¤Ëʤ¤ï¤ì¤¿¡ª"); } /* the magic douses lamps, et al, too */ *************** *** 1062,1078 **** if (Blind) goto do_it; if(u.uswallow){ if (is_animal(u.ustuck->data)) ! pline("%s stomach is lit.", s_suffix(Monnam(u.ustuck))); else if (is_whirly(u.ustuck->data)) ! pline("%s shines briefly.", Monnam(u.ustuck)); else ! pline("%s glistens.", Monnam(u.ustuck)); return; } ! pline("A lit field surrounds you!"); } do_it: --- 1208,1228 ---- if (Blind) goto do_it; if(u.uswallow){ if (is_animal(u.ustuck->data)) ! /*JP pline("%s stomach is lit.",*/ ! pline("%s¤Î°ß¤ÏÌÀ¤ë¤¯¤Ê¤Ã¤¿¡¥", s_suffix(Monnam(u.ustuck))); else if (is_whirly(u.ustuck->data)) ! /*JP pline("%s shines briefly.",*/ ! pline("%s¤Ï¤Á¤ç¤Ã¤Èµ±¤¤¤¿¡¥", Monnam(u.ustuck)); else ! /*JP pline("%s glistens.", Monnam(u.ustuck));*/ ! pline("%s¤Ï¤­¤é¤­¤éµ±¤¤¤¿¡¥", Monnam(u.ustuck)); return; } ! /*JP pline("A lit field surrounds you!");*/ ! pline("Åô¤ê¤¬¤¢¤Ê¤¿¤ò¼è¤ê°Ï¤ó¤À¡ª"); } do_it: *************** *** 1135,1141 **** return; } do { ! getlin("What class of monsters do you wish to genocide?", buf); } while (buf[0]=='\033' || !buf[0]); if (strlen(buf) == 1) --- 1285,1292 ---- return; } do { ! /*JP getlin("What class of monsters do you wish to genocide?",*/ ! getlin("¤É¤Î¥¯¥é¥¹¤Ë°¤¹¤ë²øʪ¤òµÔ»¦¤·¤Þ¤¹¤«¡©[ʸ»ú¤òÆþ¤ì¤Æ¤Í]", buf); } while (buf[0]=='\033' || !buf[0]); if (strlen(buf) == 1) *************** *** 1155,1163 **** } if (!goodcnt && class != S_HUMAN) { if (gonecnt) ! pline("All such monsters are already nonexistent."); else if (immunecnt) ! You("aren't permitted to genocide such monsters."); else #ifdef WIZARD /* to aid in topology testing; remove pesky monsters */ if (wizard && buf[0] == '*') { --- 1306,1316 ---- } if (!goodcnt && class != S_HUMAN) { if (gonecnt) ! /*JP pline("All such monsters are already nonexistent.");*/ ! pline("¤½¤Î²øʪ¤Ï¤â¤¦¤¤¤Ê¤¤¡¥"); else if (immunecnt) ! /*JP You("aren't permitted to genocide such monsters.");*/ ! You("¤½¤Î²øʪ¤òµÔ»¦¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥"); else #ifdef WIZARD /* to aid in topology testing; remove pesky monsters */ if (wizard && buf[0] == '*') { *************** *** 1169,1179 **** mongone(mtmp); gonecnt++; } ! pline("Eliminated %d monster%s.", gonecnt, plur(gonecnt)); return; } else #endif ! pline("That symbol does not represent any monster."); continue; } for (i = LOW_PM; i < NUMMONS; i++) { --- 1322,1334 ---- mongone(mtmp); gonecnt++; } ! /*JP pline("Eliminated %d monster%s.", gonecnt, plur(gonecnt));*/ ! pline("%d¤Î²øʪ¤ò½ü¤¤¤¿¡¥", gonecnt); return; } else #endif ! /*JP pline("That symbol does not represent any monster.");*/ ! pline("¤½¤Îµ­¹æ¤Î²øʪ¤Ï¤¤¤Ê¤¤¡¥"); continue; } for (i = LOW_PM; i < NUMMONS; i++) { *************** *** 1185,1197 **** /* This check must be first since player monsters might * have G_GENOD or !G_GENO. */ ! pline("Wiped out all %s.", n); if (&mons[i] == player_mon()) { u.uhp = -1; killer_format = KILLED_BY_AN; ! killer = "scroll of genocide"; if (u.umonnum >= LOW_PM) ! You_feel("dead inside."); else done(GENOCIDED); } --- 1340,1355 ---- /* This check must be first since player monsters might * have G_GENOD or !G_GENO. */ ! /*JP pline("Wiped out all %s.", n);*/ ! pline("%s¤òÁ´¤ÆÇÓ½ü¤·¤¿¡¥", jtrns_mon(n, -1)); if (&mons[i] == player_mon()) { u.uhp = -1; killer_format = KILLED_BY_AN; ! /*JP killer = "scroll of genocide";*/ ! killer = "µÔ»¦¤Î´¬Êª¤Ç"; if (u.umonnum >= LOW_PM) ! /*JP You_feel("dead inside.");*/ ! You("º²¤¬»à¤ó¤À¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); else done(GENOCIDED); } *************** *** 1204,1210 **** kill_genocided_monsters(); update_inventory(); /* eggs & tins */ } else if (mvitals[i].mvflags & G_GENOD) { ! pline("All %s are already nonexistent.", n); } else { /* suppress feedback about quest beings except for those applicable to our own role */ --- 1362,1369 ---- kill_genocided_monsters(); update_inventory(); /* eggs & tins */ } else if (mvitals[i].mvflags & G_GENOD) { ! /*JP pline("All %s are already nonexistent.", n);*/ ! pline("%s¤Ï´û¤Ë¤¤¤Ê¤¤¡¥", jtrns_mon(n, -1)); } else { /* suppress feedback about quest beings except for those applicable to our own role */ *************** *** 1224,1232 **** /* one special case */ if (i == PM_HIGH_PRIEST) uniq = FALSE; ! You("aren't permitted to genocide %s%s.", (uniq && !named) ? "the " : "", ! (uniq || named) ? mons[i].mname : n); } } } --- 1383,1393 ---- /* one special case */ if (i == PM_HIGH_PRIEST) uniq = FALSE; ! /*JP You("aren't permitted to genocide %s%s.", (uniq && !named) ? "the " : "", ! (uniq || named) ? mons[i].mname : n);*/ ! You("%s¤òµÔ»¦¤Ç¤­¤Ê¤¤¡¥", ! jtrns_mon((uniq || named) ? mons[i].mname : n, -1)); } } } *************** *** 1261,1273 **** pline(thats_enough_tries); return; } ! getlin("What monster do you want to genocide? [type the name]", buf); ! mndx = name_to_mon(buf); if (mndx == NON_PM || (mvitals[mndx].mvflags & G_GENOD)) { ! pline("Such creatures %s exist in this world.", ! (mndx == NON_PM) ? "do not" : "no longer"); continue; } ptr = &mons[mndx]; --- 1422,1439 ---- pline(thats_enough_tries); return; } ! /*JP getlin("What monster do you want to genocide? [type the name]",*/ ! getlin("¤É¤Î²øʪ¤òµÔ»¦¤·¤Þ¤¹¤«¡©", buf); ! /*JP mndx = name_to_mon(buf);*/ ! mndx = name_to_mon(etrns_mon(buf)); ! if (mndx == NON_PM || (mvitals[mndx].mvflags & G_GENOD)) { ! /*JP pline("Such creatures %s exist in this world.", ! (mndx == NON_PM) ? "do not" : "no longer");*/ ! pline("¤½¤Î¤è¤¦¤ÊÀ¸¤­Êª¤Ï%s¤³¤ÎÀ¤³¦¤Ë¸ºß¤·¤Ê¤¤¡¥", ! (mndx == NON_PM) ? "" : "¤â¤Ï¤ä"); continue; } ptr = &mons[mndx]; *************** *** 1282,1289 **** if(flags.soundok) { /* fixme: unconditional "caverns" will be silly in some circumstances */ if(flags.verbose) ! pline("A thunderous voice booms though the caverns:"); ! verbalize("No, mortal! That will not be done."); } continue; } --- 1448,1457 ---- if(flags.soundok) { /* fixme: unconditional "caverns" will be silly in some circumstances */ if(flags.verbose) ! /*JP pline("A thunderous voice booms though the caverns:"); ! verbalize("No, mortal! That will not be done.");*/ ! pline("Íë¤Î¤è¤¦¤ÊÀ¼¤¬Æ¶·¢¤Ë¶Á¤¤¤¿¡§"); ! pline("¡Ö¿Í´Ö¤è¡¤¤½¤Î˾¤ß¤Ï¤«¤Ê¤¦¤Þ¤¤¡×"); } continue; } *************** *** 1291,1297 **** } } ! which = "all "; if (Hallucination) { if (u.umonnum != PM_PLAYERMON) Strcpy(buf,uasmon->mname); --- 1459,1466 ---- } } ! /*JP which = "all ";*/ ! which = "Á´¤Æ"; if (Hallucination) { if (u.umonnum != PM_PLAYERMON) Strcpy(buf,uasmon->mname); *************** *** 1302,1314 **** } else { Strcpy(buf, ptr->mname); /* make sure we have standard singular */ if ((ptr->geno & G_UNIQ) && ptr != &mons[PM_HIGH_PRIEST]) ! which = !type_is_pname(ptr) ? "the " : ""; } if (how & REALLY) { /* setting no-corpse affects wishing and random tin generation */ mvitals[mndx].mvflags |= (G_GENOD | G_NOCORPSE); ! pline("Wiped out %s%s.", which, ! (*which != 'a') ? buf : makeplural(buf)); if (killplayer) { /* might need to wipe out dual role */ --- 1471,1485 ---- } else { Strcpy(buf, ptr->mname); /* make sure we have standard singular */ if ((ptr->geno & G_UNIQ) && ptr != &mons[PM_HIGH_PRIEST]) ! /*JP which = !type_is_pname(ptr) ? "the " : "";*/ ! which = !type_is_pname(ptr) ? "" : ""; } if (how & REALLY) { /* setting no-corpse affects wishing and random tin generation */ mvitals[mndx].mvflags |= (G_GENOD | G_NOCORPSE); ! /* pline("Wiped out %s%s.", which, ! (*which != 'a') ? buf : makeplural(buf));*/ ! pline("%s¤ò%s°ìÁݤ·¤¿¡¥", jtrns_mon(buf, -1), which); if (killplayer) { /* might need to wipe out dual role */ *************** *** 1320,1331 **** u.uhp = -1; killer_format = KILLED_BY_AN; if (how & PLAYER) killer = "genocidal confusion"; else /* selected player deliberately, not confused */ killer = "scroll of genocide"; ! /* Polymorphed characters will die as soon as they're rehumanized. */ if (u.umonnum >= LOW_PM) You_feel("dead inside."); else done(GENOCIDED); } else if (ptr == uasmon) { --- 1491,1510 ---- u.uhp = -1; killer_format = KILLED_BY_AN; if (how & PLAYER) + /*JP killer = "genocidal confusion"; + */ + killer = "º®Íð¤Ë¤è¤ë¼«µÔŪµÔ»¦¤Ç"; else /* selected player deliberately, not confused */ + /*JP killer = "scroll of genocide"; ! */ ! killer = "µÔ»¦¤Î´¬Êª¤Ç"; /* Polymorphed characters will die as soon as they're rehumanized. */ + /*JP if (u.umonnum >= LOW_PM) You_feel("dead inside."); + */ + if (u.umonnum >= LOW_PM) You("º²¤¬»à¤ó¤À¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); else done(GENOCIDED); } else if (ptr == uasmon) { *************** *** 1347,1353 **** break; /* just made last one */ } if (cnt) ! pline("Sent in some %s.", makeplural(buf)); else pline(nothing_happens); } --- 1526,1533 ---- break; /* just made last one */ } if (cnt) ! /*JP pline("Sent in some %s.", makeplural(buf));*/ ! pline("%s¤¬Á÷¤é¤ì¤Æ¤­¤¿¡¥", jtrns_mon(buf, -1)); else pline(nothing_happens); } *************** *** 1357,1370 **** punish(sobj) register struct obj *sobj; { ! You("are being punished for your misbehavior!"); if(Punished){ ! Your("iron ball gets heavier."); uball->owt += 160 * (1 + sobj->cursed); return; } if (amorphous(uasmon) || is_whirly(uasmon) || unsolid(uasmon)) { ! pline("A ball and chain appears, then falls away."); dropy(mkobj(BALL_CLASS, TRUE)); return; } --- 1537,1553 ---- punish(sobj) register struct obj *sobj; { ! /*JP You("are being punished for your misbehavior!");*/ ! You("ÉÔ¿®¿´¤Î¤¿¤áȳ¤ò¼õ¤±¤¿¡ª"); if(Punished){ ! /*JP Your("iron ball gets heavier.");*/ ! Your("Å´µå¤Ï¤µ¤é¤Ë½Å¤¯¤Ê¤Ã¤¿¡¥"); uball->owt += 160 * (1 + sobj->cursed); return; } if (amorphous(uasmon) || is_whirly(uasmon) || unsolid(uasmon)) { ! /*JP pline("A ball and chain appears, then falls away.");*/ ! pline("Å´µå¤Èº¿¤¬¸½¤ï¤ì¤¿¤¬¡¤¤¹¤ë¤Ã¤ÈÈ´¤±¤¿¡¥"); dropy(mkobj(BALL_CLASS, TRUE)); return; } *************** *** 1424,1433 **** int which, tries = 0; do { ! getlin("Create what kind of monster? [type the name]", buf); if (buf[0] == '\033') return FALSE; ! which = name_to_mon(buf); ! if (which < LOW_PM) pline("I've never heard of such monsters."); else break; } while (++tries < 5); if (tries == 5) pline(thats_enough_tries); --- 1607,1619 ---- int which, tries = 0; do { ! /*JP getlin("Create what kind of monster? [type the name]", buf);*/ ! getlin("¤É¤Î¼ï¤Î²øʪ¤òºî¤ê¤Þ¤¹¤«¡©", buf); if (buf[0] == '\033') return FALSE; ! /*JP which = name_to_mon(buf);*/ ! which = name_to_mon(etrns_mon(buf)); ! /*JP if (which < LOW_PM) pline("I've never heard of such monsters.");*/ ! if (which < 0) pline("¤½¤Î¤è¤¦¤Ê²øʪ¤Ïʹ¤¤¤¿¤³¤È¤¬¤Ê¤¤¡¥"); else break; } while (++tries < 5); if (tries == 5) pline(thats_enough_tries); diff -c -r ../nethack-3.2.2/src/restore.c ./src/restore.c *** ../nethack-3.2.2/src/restore.c Sat Dec 28 21:53:50 1996 --- ./src/restore.c Tue Jul 22 23:18:35 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "lev.h" #include "termcap.h" /* for TERMLIB and ASCIIGRAPH */ *************** *** 542,551 **** clear_nhwindow(WIN_MAP); # endif clear_nhwindow(WIN_MESSAGE); ! You("return to level %d in %s%s.", depth(&u.uz), dungeons[u.uz.dnum].dname, flags.debug ? " while in debug mode" : ! flags.explore ? " while in explore mode" : ""); curs(WIN_MAP, 1, 1); dotcnt = 0; putstr(WIN_MAP, 0, "Restoring:"); --- 549,562 ---- clear_nhwindow(WIN_MAP); # endif clear_nhwindow(WIN_MESSAGE); ! /*JP You("return to level %d in %s%s.", depth(&u.uz), dungeons[u.uz.dnum].dname, flags.debug ? " while in debug mode" : ! flags.explore ? " while in explore mode" : "");*/ ! You("%s%s¤ÎÃϲ¼%d³¬¤ËÌá¤Ã¤Æ¤­¤¿¡¥", ! flags.debug ? "¥¦¥£¥¶¡¼¥É¥â¡¼¥ÉÃæ¤Î" : ! flags.explore ? "õº÷¥â¡¼¥ÉÃæ¤Î" : "", ! jtrns_obj('d',dungeons[u.uz.dnum].dname), depth(&u.uz)); curs(WIN_MAP, 1, 1); dotcnt = 0; putstr(WIN_MAP, 0, "Restoring:"); diff -c -r ../nethack-3.2.2/src/rip.c ./src/rip.c *** ../nethack-3.2.2/src/rip.c Sat Dec 28 21:53:50 1996 --- ./src/rip.c Tue Jul 22 23:18:35 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" static void FDECL(center, (int, char *)); *************** *** 84,95 **** switch (killer_format) { default: impossible("bad killer format?"); case KILLED_BY_AN: ! Strcpy(buf, killed_by_prefix[how]); ! Strcat(buf, an(killer)); break; case KILLED_BY: ! Strcpy(buf, killed_by_prefix[how]); ! Strcat(buf, killer); break; case NO_KILLER_PREFIX: Strcpy(buf, killer); --- 91,102 ---- switch (killer_format) { default: impossible("bad killer format?"); case KILLED_BY_AN: ! Strcpy(buf, an(killer)); ! Strcat(buf, killed_by_prefix[how]); break; case KILLED_BY: ! Strcpy(buf, killer); ! Strcat(buf, killed_by_prefix[how]); break; case NO_KILLER_PREFIX: Strcpy(buf, killer); *************** *** 100,111 **** for (line=DEATH_LINE, dpx = buf; line STONE_LINE_LEN) { for(i = STONE_LINE_LEN; ! ((i0 > STONE_LINE_LEN) && i); i--) if(dpx[i] == ' ') i0 = i; ! if(!i) i0 = STONE_LINE_LEN; } tmpchar = dpx[i0]; dpx[i0] = 0; --- 107,145 ---- for (line=DEATH_LINE, dpx = buf; line STONE_LINE_LEN) { for(i = STONE_LINE_LEN; ! ((i0 > STONE_LINE_LEN) && i); i--)*/ ! if ( i0 > jstone_line) { ! for(i = jstone_line; ! ((i0 > jstone_line) && i); i--) if(dpx[i] == ' ') i0 = i; ! /*JP*/ ! /* if(!i) i0 = STONE_LINE_LEN;*/ ! if(!i){ ! i0=0; ! /*JP while(i0mpeaceful) { ! pline("%s is in no mood for consultations.", Monnam(oracl)); return 0; } else if (!u.ugold) { ! You("have no money."); return 0; } Sprintf(qbuf, ! "\"Wilt thou settle for a minor consultation?\" (%d zorkmids)", minor_cost); switch (ynq(qbuf)) { default: --- 282,303 ---- multi = 0; if (!oracl) { ! /*JP pline("There is no one here to consult.");*/ ! pline("¤³¤³¤Ë¤Ï¿®Â÷¤ò½Ò¤Ù¤ë¿Í¤Ï¤¤¤Ê¤¤¡¥"); return 0; } else if (!oracl->mpeaceful) { ! /*JP pline("%s is in no mood for consultations.", Monnam(oracl));*/ ! pline("¸­¼Ô¤Ï¿®Â÷¤ò¹ð¤²¤Æ¤¯¤ì¤ëÊ·°Ïµ¤¤Ç¤Ï¤Ê¤¤¡¥"); return 0; } else if (!u.ugold) { ! /*JP You("have no money.");*/ ! You("¤ª¶â¤¬¤Ê¤¤¡¥"); return 0; } Sprintf(qbuf, ! /*JP "\"Wilt thou settle for a minor consultation?\" (%d zorkmids)",*/ ! "¡ÖÆò¡¤Äã°Ì¤Î¿®Â÷¤ò¼õ¤±¤ë¤«¡©¡×(%d¥´¡¼¥ë¥É)", minor_cost); switch (ynq(qbuf)) { default: *************** *** 281,287 **** return 0; case 'y': if (u.ugold < (long)minor_cost) { ! You("don't even have enough money for that!"); return 0; } u_pay = minor_cost; --- 305,312 ---- return 0; case 'y': if (u.ugold < (long)minor_cost) { ! /*JP You("don't even have enough money for that!");*/ ! You("½½Ê¬¤Ê¤ª¶â¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡ª"); return 0; } u_pay = minor_cost; *************** *** 290,296 **** if (u.ugold <= (long)minor_cost || /* don't even ask */ (oracle_cnt == 1 || oracle_flg < 0)) return 0; Sprintf(qbuf, ! "\"Then dost thou desire a major one?\" (%d zorkmids)", major_cost); if (yn(qbuf) != 'y') return 0; u_pay = (u.ugold < (long)major_cost ? (int)u.ugold --- 315,322 ---- if (u.ugold <= (long)minor_cost || /* don't even ask */ (oracle_cnt == 1 || oracle_flg < 0)) return 0; Sprintf(qbuf, ! /*JP "\"Then dost thou desire a major one?\" (%d zorkmids)",*/ ! "¡ÖÆò¡¤¹â°Ì¤Î¿®Â÷¤ò¼õ¤±¤ë¤«¡©¡×(%d¥´¡¼¥ë¥É)", major_cost); if (yn(qbuf) != 'y') return 0; u_pay = (u.ugold < (long)major_cost ? (int)u.ugold diff -c -r ../nethack-3.2.2/src/save.c ./src/save.c *** ../nethack-3.2.2/src/save.c Sat Dec 28 21:53:50 1996 --- ./src/save.c Tue Jul 22 23:18:36 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "lev.h" *************** *** 53,71 **** dosave() { clear_nhwindow(WIN_MESSAGE); ! if(yn("Really save?") == 'n') { clear_nhwindow(WIN_MESSAGE); if(multi > 0) nomul(0); } else { clear_nhwindow(WIN_MESSAGE); ! pline("Saving..."); #if defined(UNIX) || defined(VMS) program_state.done_hup = 0; #endif if(dosave0()) { /* make sure they see the Saving message */ display_nhwindow(WIN_MESSAGE, TRUE); ! exit_nhwindows("Be seeing you..."); terminate(EXIT_SUCCESS); } else (void)doredraw(); } --- 60,81 ---- dosave() { clear_nhwindow(WIN_MESSAGE); ! /*JP if(yn("Really save?") == 'n') {*/ ! if(yn("ËÜÅö¤ËÊݸ¤¹¤ë¡©") == 'n') { clear_nhwindow(WIN_MESSAGE); if(multi > 0) nomul(0); } else { clear_nhwindow(WIN_MESSAGE); ! /*JP pline("Saving...");*/ ! pline("ÊݸÃæ¡¥¡¥¡¥"); #if defined(UNIX) || defined(VMS) program_state.done_hup = 0; #endif if(dosave0()) { /* make sure they see the Saving message */ display_nhwindow(WIN_MESSAGE, TRUE); ! /*JP exit_nhwindows("Be seeing you...");*/ ! exit_nhwindows("¤Þ¤¿²ñ¤¤¤Þ¤·¤ç¤¦¡¥¡¥¡¥"); terminate(EXIT_SUCCESS); } else (void)doredraw(); } *************** *** 131,138 **** if (fd > 0) { (void) close(fd); clear_nhwindow(WIN_MESSAGE); ! pline("There seems to be an old save file."); ! if (yn("Overwrite the old file?") == 'n') { compress(SAVEF); return 0; } --- 141,149 ---- if (fd > 0) { (void) close(fd); clear_nhwindow(WIN_MESSAGE); ! /*JP pline("There seems to be an old save file.");*/ ! pline("Á°¤Ë¥»¡¼¥Ö¤·¤¿¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡¥"); ! if (yn("¸Å¤¤¥Õ¥¡¥¤¥ë¤Ë¾å½ñ¤­¤·¤Þ¤¹¤«¡©") == 'n') { compress(SAVEF); return 0; } diff -c -r ../nethack-3.2.2/src/shk.c ./src/shk.c *** ../nethack-3.2.2/src/shk.c Sat Dec 28 21:53:51 1996 --- ./src/shk.c Tue Sep 23 07:10:13 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "eshk.h" *************** *** 14,19 **** --- 21,27 ---- #define PAY_BROKE (-2) #ifdef KOPS + STATIC_DCL void FDECL(makekops, (coord *)); STATIC_DCL void FDECL(call_kops, (struct monst *,BOOLEAN_P)); # ifdef OVLB *************** *** 234,240 **** if(!shkp) return; if (flags.soundok) ! pline("An alarm sounds!"); nokops = ((mvitals[PM_KEYSTONE_KOP].mvflags & G_GONE) && (mvitals[PM_KOP_SERGEANT].mvflags & G_GONE) && --- 242,249 ---- if(!shkp) return; if (flags.soundok) ! /*JP pline("An alarm sounds!");*/ ! pline("·ÙÊó¤¬ÌĤê¤Ò¤Ó¤¤¤¿¡ª"); nokops = ((mvitals[PM_KEYSTONE_KOP].mvflags & G_GONE) && (mvitals[PM_KOP_SERGEANT].mvflags & G_GONE) && *************** *** 243,249 **** if(!angry_guards(!flags.soundok) && nokops) { if(flags.verbose && flags.soundok) ! pline("But no one seems to respond to it."); return; } --- 252,259 ---- if(!angry_guards(!flags.soundok) && nokops) { if(flags.verbose && flags.soundok) ! /*JP pline("But no one seems to respond to it.");*/ ! pline("¤·¤«¤·Ã¯¤â±þÅú¤·¤Ê¤«¤Ã¤¿¡¥"); return; } *************** *** 255,268 **** if (nearshop) { /* Create swarm around you, if you merely "stepped out" */ if (flags.verbose) ! pline_The("Keystone Kops appear!"); mm.x = u.ux; mm.y = u.uy; makekops(&mm); return; } if (flags.verbose) ! pline_The("Keystone Kops are after you!"); /* Create swarm near down staircase (hinders return to level) */ mm.x = xdnstair; mm.y = ydnstair; --- 265,280 ---- if (nearshop) { /* Create swarm around you, if you merely "stepped out" */ if (flags.verbose) ! /*JP pline_The("Keystone Kops appear!");*/ ! pline("·ÙÈ÷°÷¤¬¸½¤ï¤ì¤¿¡ª"); mm.x = u.ux; mm.y = u.uy; makekops(&mm); return; } if (flags.verbose) ! /*JP pline_The("Keystone Kops are after you!");*/ ! pline("·ÙÈ÷°÷¤¬¤¤¤ë¡ª"); /* Create swarm near down staircase (hinders return to level) */ mm.x = xdnstair; mm.y = ydnstair; *************** *** 326,343 **** * Try to intimidate him into paying his bill */ verbalize(NOTANGRY(shkp) ? ! "%s! Please pay before leaving." : ! "%s! Don't you leave without paying!", plname); return; } total = (addupbill(shkp) + eshkp->debit); if (eshkp->credit >= total) { ! Your("credit of %ld zorkmid%s is used to cover your shopping bill.", ! eshkp->credit, plur(eshkp->credit)); total = 0L; /* credit gets cleared by setpaid() */ } else { ! You("escaped the shop without paying!"); total -= eshkp->credit; } setpaid(shkp); --- 338,359 ---- * Try to intimidate him into paying his bill */ verbalize(NOTANGRY(shkp) ? ! /*JP "%s! Please pay before leaving." : ! "%s! Don't you leave without paying!",*/ ! "%s¤µ¤ó¡ªµ¢¤ëÁ°¤Ë¡¤¤ª¶â¤òʧ¤Ã¤Æ¤¤¤¿¤À¤±¤Þ¤»¤ó¤«¡¥" : ! "%s¡ªµ¢¤ëÁ°¤Ë¡¤¶â¤òʧ¤¨¡ª", plname); return; } total = (addupbill(shkp) + eshkp->debit); if (eshkp->credit >= total) { ! /*JP Your("credit of %ld zorkmid%s is used to cover your shopping bill.",*/ ! Your("¥¯¥ì¥¸¥Ã¥È¤«¤é%ld¥´¡¼¥ë¥É¤¬´ªÄê¤Î»Ùʧ¤¤¤Ë»È¤ï¤ì¤¿¡¥", ! eshkp->credit); total = 0L; /* credit gets cleared by setpaid() */ } else { ! /*JP You("escaped the shop without paying!");*/ ! You("¶â¤òʧ¤ï¤º¤ËŹ¤«¤éƨ¤²¤¿¡ª"); total -= eshkp->credit; } setpaid(shkp); *************** *** 345,352 **** /* by this point, we know an actual robbery has taken place */ eshkp->robbed += total; ! You("stole %ld zorkmid%s worth of merchandise.", ! total, plur(total)); if (!Role_is('R')) /* stealing is unlawful */ adjalign(-sgn(u.ualign.type)); --- 361,369 ---- /* by this point, we know an actual robbery has taken place */ eshkp->robbed += total; ! /*JP You("stole %ld zorkmid%s worth of merchandise.",*/ ! You("»¨²ß¤ò%ld¥´¡¼¥ë¥ÉʬÅð¤ó¤À¡¥", ! total); if (!Role_is('R')) /* stealing is unlawful */ adjalign(-sgn(u.ualign.type)); *************** *** 367,373 **** register struct monst *shkp; register struct eshk *eshkp; struct obj *pick; ! static const char no_shk[] = "This shop appears to be deserted."; static char empty_shops[5]; if(!*enterstring) --- 384,391 ---- register struct monst *shkp; register struct eshk *eshkp; struct obj *pick; ! /*JP static const char no_shk[] = "This shop appears to be deserted.";*/ ! static const char no_shk[] = "Ź¤ÏÇѵõ¤È²½¤·¤Æ¤¤¤ë¡¥"; static char empty_shops[5]; if(!*enterstring) *************** *** 409,434 **** return; if (Invis) { ! pline("%s senses your presence.", shkname(shkp)); ! verbalize("Invisible customers are not welcome!"); return; } rt = rooms[*enterstring - ROOMOFFSET].rtype; if (ANGRY(shkp)) { ! verbalize("So, %s, you dare return to %s %s?!", plname, s_suffix(shkname(shkp)), shtypes[rt - SHOPBASE].name); } else if (eshkp->robbed) { ! pline("%s mutters imprecations against shoplifters.", shkname(shkp)); } else { ! verbalize("Hello, %s! Welcome%s to %s %s!", plname, - eshkp->visitct++ ? " again" : "", s_suffix(shkname(shkp)), ! shtypes[rt - SHOPBASE].name); } /* can't do anything about blocking if teleported in */ if (!inside_shop(u.ux, u.uy)) { --- 427,457 ---- return; if (Invis) { ! /*JP pline("%s senses your presence.", shkname(shkp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î¸ºß¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥", shkname(shkp)); ! /*JP verbalize("Invisible customers are not welcome!");*/ ! verbalize("Æ©ÌÀ¤Ê¤ªµÒ¤µ¤ó¤È¤Ï´¶¿´¤·¤Ê¤¤¤Ê¡ª"); return; } rt = rooms[*enterstring - ROOMOFFSET].rtype; if (ANGRY(shkp)) { ! /*JP verbalize("So, %s, you dare return to %s %s?!",*/ ! verbalize("%s¡ª¤ï¤¶¤ï¤¶%s¤Î%s¤ËÌá¤Ã¤Æ¤­¤¿¤Î¤«¡©¡ª", plname, s_suffix(shkname(shkp)), shtypes[rt - SHOPBASE].name); } else if (eshkp->robbed) { ! /*JP pline("%s mutters imprecations against shoplifters.", shkname(shkp));*/ ! pline("%s¤ÏÅ¥ËÀ¤ò¤Î¤Î¤·¤Ã¤¿¡¥", shkname(shkp)); } else { ! /*JP verbalize("Hello, %s! Welcome%s to %s %s!",*/ ! verbalize("¤³¤ó¤Ë¤Á¤Ï%s¡ª%s¤Î%s¤Ë%s¡ª", plname, s_suffix(shkname(shkp)), ! shtypes[rt - SHOPBASE].name, ! eshkp->visitct++ ? "¤Þ¤¿Íè¤Þ¤·¤¿¤Í" : "¤è¤¦¤³¤½"); } /* can't do anything about blocking if teleported in */ if (!inside_shop(u.ux, u.uy)) { *************** *** 440,447 **** while ((pick = pick->nobj) != 0) if (pick->otyp == PICK_AXE) ++cnt; verbalize(NOTANGRY(shkp) ? ! "Will you please leave your pick-axe%s outside?" : ! "Leave the pick-axe%s outside.", plur(cnt)); should_block = TRUE; } else { --- 463,472 ---- while ((pick = pick->nobj) != 0) if (pick->otyp == PICK_AXE) ++cnt; verbalize(NOTANGRY(shkp) ? ! /*JP "Will you please leave your pick-axe%s outside?" : ! "Leave the pick-axe%s outside.",*/ ! "¤Ä¤ë¤Ï¤·¤ò³°¤ËÃÖ¤¤¤Æ¤­¤Æ¤¤¤¿¤À¤±¤Þ¤»¤ó¡©" : ! "¤Ä¤ë¤Ï¤·¤ò³°¤ØÃÖ¤¤¤Æ¤³¤¤¡ª", plur(cnt)); should_block = TRUE; } else { *************** *** 512,518 **** if (this_shkp && !(ESHK(this_shkp)->credit || shop_debt(ESHK(this_shkp)))) { ! You("have no credit or debt in here."); this_shkp = 0; /* skip first pass */ } --- 537,544 ---- if (this_shkp && !(ESHK(this_shkp)->credit || shop_debt(ESHK(this_shkp)))) { ! /*JP You("have no credit or debt in here.");*/ ! You("¥¯¥ì¥¸¥Ã¥È¤â¼Ú¶â¤â¤Ê¤¤¡¥"); this_shkp = 0; /* skip first pass */ } *************** *** 524,539 **** if ((shkp != this_shkp) ^ pass) continue; eshkp = ESHK(shkp); if ((amt = eshkp->credit) != 0) ! You("have %ld zorkmid%s credit at %s %s.", amt, plur(amt), s_suffix(shkname(shkp)), shtypes[eshkp->shoptype - SHOPBASE].name); else if (shkp == this_shkp) ! You("have no credit in here."); if ((amt = shop_debt(eshkp)) != 0) ! You("owe %s %ld zorkmid%s.", ! shkname(shkp), amt, plur(amt)); else if (shkp == this_shkp) ! You("don't owe any money here."); } } --- 550,572 ---- if ((shkp != this_shkp) ^ pass) continue; eshkp = ESHK(shkp); if ((amt = eshkp->credit) != 0) ! /*JP You("have %ld zorkmid%s credit at %s %s.", amt, plur(amt), s_suffix(shkname(shkp)), + shtypes[eshkp->shoptype - SHOPBASE].name);*/ + You("%ld¥´¡¼¥ë¥É¤Î¥¯¥ì¥¸¥Ã¥È¤¬%s¤Î%s¤Ë¤¢¤ë¡¥", + amt, s_suffix(shkname(shkp)), shtypes[eshkp->shoptype - SHOPBASE].name); else if (shkp == this_shkp) ! /*JP You("have no credit in here.");*/ ! You("¥¯¥ì¥¸¥Ã¥È¤Ï¤Ê¤¤¡¥"); if ((amt = shop_debt(eshkp)) != 0) ! /*JP You("owe %s %ld zorkmid%s.", ! shkname(shkp), amt, plur(amt));*/ ! You("%s¤Ë%ld¥´¡¼¥ë¥É¤Î¼Ú¤ê¤¬¤¢¤ë¡¥", ! shkname(shkp), amt); else if (shkp == this_shkp) ! /*JP You("don't owe any money here.");*/ ! pline("¤³¤ÎŹ¤Ë¼Ú¤ê¤Ï¤Ê¤¤¡¥"); } } *************** *** 590,600 **** while (--ct >= 0) if (bp->bo_id == obj->o_id) { ! if (!obj->unpaid) pline("onbill: paid obj on bill?"); return bp; } else bp++; } ! if(obj->unpaid & !silent) pline("onbill: unpaid obj not on bill?"); return (struct bill_x *)0; } --- 623,635 ---- while (--ct >= 0) if (bp->bo_id == obj->o_id) { ! /*JP if (!obj->unpaid) pline("onbill: paid obj on bill?");*/ ! if (!obj->unpaid) pline("´ªÄꡧʧ¤¦¡©"); return bp; } else bp++; } ! /*JP if(obj->unpaid & !silent) pline("onbill: unpaid obj not on bill?");*/ ! if(obj->unpaid & !silent) pline("´ªÄꡧʧ¤ï¤Ê¤¤¡©"); return (struct bill_x *)0; } *************** *** 667,677 **** if(credit == 0L) return(tmp); if(credit >= tmp) { ! pline_The("price is deducted from your credit."); ESHK(shkp)->credit -=tmp; tmp = 0L; } else { ! pline_The("price is partially covered by your credit."); ESHK(shkp)->credit = 0L; tmp -= credit; } --- 702,714 ---- if(credit == 0L) return(tmp); if(credit >= tmp) { ! /*JP pline_The("price is deducted from your credit.");*/ ! pline("Âå¶â¤Ï¥¯¥ì¥¸¥Ã¥È¤«¤éº¹¤·°ú¤«¤ì¤¿¡¥"); ESHK(shkp)->credit -=tmp; tmp = 0L; } else { ! /*JP pline_The("price is partially covered by your credit.");*/ ! pline("Âå¶â¤Î°ìÉô¤Ï¤¢¤Ê¤¿¤Î¥¯¥ì¥¸¥Ã¥È¤ÇÊä¤ï¤ì¤¿¡¥"); ESHK(shkp)->credit = 0L; tmp -= credit; } *************** *** 712,718 **** #ifdef KOPS kops_gone(TRUE); #else ! You_feel("vaguely apprehensive."); #endif pacify_guards(); } --- 749,756 ---- #ifdef KOPS kops_gone(TRUE); #else ! /*JP You_feel("vaguely apprehensive.");*/ ! You("¤Ê¤ó¤È¤Ê¤¯É԰¤˻פä¿¡¥"); #endif pacify_guards(); } *************** *** 797,805 **** MIGR_APPROX_XY, &eshkp->shd); } if (vanished) ! pline("Satisfied, %s suddenly disappears!", shk_nam); } else if(wasmad) ! pline("%s calms down.", Monnam(shkp)); if(!angry_shk_exists()) { #ifdef KOPS --- 835,845 ---- MIGR_APPROX_XY, &eshkp->shd); } if (vanished) ! /*JP pline("Satisfied, %s suddenly disappears!", shk_nam);*/ ! pline("Ëþ­¤¹¤ë¤È¡¤%s¤ÏÆÍÁ³¾Ã¤¨¤¿¡ª", shk_nam); } else if(wasmad) ! /*JP pline("%s calms down.", Monnam(shkp));*/ ! pline("%s¤ÏÍîÃ夤¤¿¡¥", Monnam(shkp)); if(!angry_shk_exists()) { #ifdef KOPS *************** *** 848,862 **** sx = shkp->mx, sy = shkp->my; if (cansee(ox, oy) && !cansee(sx, sy)) shkp->mx = ox, shkp->my = oy; ! pline("%s %s!", Monnam(shkp), ! !ANGRY(shkp) ? "gets angry" : "is furious"); shkp->mx = sx, shkp->my = sy; hot_pursuit(shkp); } STATIC_VAR const char no_money[] = "Moreover, you%s have no money."; STATIC_VAR const char not_enough_money[] = "Besides, you don't have enough to interest %s."; #else STATIC_VAR const char no_money[]; --- 888,910 ---- sx = shkp->mx, sy = shkp->my; if (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¤Ï%s¡ª", Monnam(shkp), ! !ANGRY(shkp) ? "Åܤä¿" : "Åܤ궸¤Ã¤¿"); 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 not_enough_money[] = "Besides, you don't have enough to interest %s."; + */ + STATIC_VAR const char no_money[] = "¤·¤«¤·¤¢¤Ê¤¿¤Ï¤ª¶â¤¬¤Ê¤¤%s¡¥"; + STATIC_VAR const char not_enough_money[] = + "¤·¤«¤â¡¤¤¢¤Ê¤¿¤Ï%s¤¬¶½Ì£¤ò»ý¤Ä¤Û¤É¤ª¶â¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡ª"; + #else STATIC_VAR const char no_money[]; *************** *** 913,924 **** } if ((!sk && (!Blind || Telepat)) || (!Blind && !seensk)) { ! pline("There appears to be no shopkeeper here to receive your payment."); return(0); } if(!seensk) { ! You_cant("see..."); return(0); } --- 961,974 ---- } if ((!sk && (!Blind || Telepat)) || (!Blind && !seensk)) { ! /*JP pline("There appears to be no shopkeeper here to receive your payment.");*/ ! pline("»Ùʧ¤¤¤ò¼õ¤±¤È¤ëŹ¼ç¤Ï¤¤¤Ê¤¤¤è¤¦¤À¡¥"); return(0); } if(!seensk) { ! /*JP You_cant("see...");*/ ! You("¸«¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥¡¥¡¥"); return(0); } *************** *** 934,940 **** shkp; shkp = next_shkp(shkp->nmon, FALSE)) if (canspotmon(shkp)) break; if (shkp != resident && distu(shkp->mx, shkp->my) > 2) { ! pline("%s is not near enough to receive your payment.", Monnam(shkp)); return(0); } --- 984,991 ---- shkp; shkp = next_shkp(shkp->nmon, FALSE)) 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¤Ï±ó¤¯¤Ë¤¤¤ë¤Î¤Ç»Ùʧ¤¨¤Ê¤¤¡¥", Monnam(shkp)); return(0); } *************** *** 943,975 **** coord cc; int cx, cy; ! pline("Pay whom?"); cc.x = u.ux; cc.y = u.uy; ! getpos(&cc, TRUE, "the creature you want to pay"); cx = cc.x; cy = cc.y; if(cx == -10) return(0); /* player pressed esc */ if(cx < 0) { ! pline("Try again..."); return(0); } if(u.ux == cx && u.uy == cy) { ! You("are generous to yourself."); return(0); } mtmp = m_at(cx, cy); if(!mtmp) { ! pline("There is no one there to receive your payment."); return(0); } if(!mtmp->isshk) { ! pline("%s is not interested in your payment.", Monnam(mtmp)); return(0); } if (mtmp != resident && distu(mtmp->mx, mtmp->my) > 2) { ! pline("%s is too far to receive your payment.", Monnam(mtmp)); return(0); } --- 994,1033 ---- coord cc; int cx, cy; ! /*JP pline("Pay whom?");*/ ! pline("ï¤Ëʧ¤¦¡©"); cc.x = u.ux; cc.y = u.uy; ! /*JP getpos(&cc, TRUE, "the creature you want to pay");*/ ! getpos(&cc, TRUE, "»Ùʧ¤¤¤¿¤¤¤È»×¤¦Áê¼ê"); cx = cc.x; cy = cc.y; if(cx == -10) return(0); /* player pressed esc */ if(cx < 0) { ! /*JP pline("Try again...");*/ ! pline("¤â¤¦°ìÅÙ¡¥¡¥¡¥"); return(0); } if(u.ux == cx && u.uy == cy) { ! /*JP You("are generous to yourself.");*/ ! pline("¼«Ê¬¼«¿È¤Ë¤Ê¤ó¤Æµ¤Á°¤Î¤¤¤¤¤³¤È¡ª"); return(0); } mtmp = m_at(cx, cy); if(!mtmp) { ! /*JP pline("There is no one there to receive your payment.");*/ ! pline("»Ùʧ¤¤¤ò¼õ¤±¤È¤ì¤ëÁê¼ê¤Ï¤¤¤Ê¤¤¡¥"); return(0); } if(!mtmp->isshk) { ! /*JP pline("%s is not interested in your payment.",*/ ! pline("%s¤Ï»Ùʧ¤¤¤Ë¶½Ì£¤ò¼¨¤µ¤Ê¤¤¡¥", Monnam(mtmp)); return(0); } if (mtmp != resident && distu(mtmp->mx, mtmp->my) > 2) { ! /*JP pline("%s is too far to receive your payment.",*/ ! pline("%s¤Ï»Ùʧ¤¤¤ò¼õ¤±¤È¤ë¤Ë¤Ï±ó¤¹¤®¤ë¡¥", Monnam(mtmp)); return(0); } *************** *** 985,992 **** proceed: if (shkp->msleep || !shkp->mcanmove) { ! pline("%s %s.", Monnam(shkp), ! rn2(2) ? "seems to be napping" : "doesn't respond"); return 0; } eshkp = ESHK(shkp); --- 1043,1052 ---- proceed: if (shkp->msleep || !shkp->mcanmove) { ! /*JP pline("%s %s.", Monnam(shkp), ! rn2(2) ? "seems to be napping" : "doesn't respond");*/ ! pline("%s¤Ï%s¡¥", Monnam(shkp), ! rn2(2) ? "Ã뿲¤ò¤·¤Æ¤¤¤ë¤è¤¦¤À¡¥" : "È¿±þ¤¬¤Ê¤¤"); return 0; } eshkp = ESHK(shkp); *************** *** 995,1020 **** ltmp = eshkp->robbed; if(shkp != resident && NOTANGRY(shkp)) { if(!ltmp) ! You("do not owe %s anything.", mon_nam(shkp)); else if(!u.ugold) { ! You("%shave no money.", stashed_gold ? "seem to " : ""); if(stashed_gold) ! pline("But you have some gold stashed away."); } else { long ugold = u.ugold; if(ugold > ltmp) { ! You("give %s the %ld gold piece%s %s asked for.", ! mon_nam(shkp), ltmp, plur(ltmp), he[shk_pronoun]); pay(ltmp, shkp); } else { ! You("give %s all your%s gold.", mon_nam(shkp), ! stashed_gold ? " openly kept" : ""); pay(u.ugold, shkp); ! if (stashed_gold) pline("But you have hidden gold!"); } if((ugold < ltmp/2L) || (ugold < ltmp && stashed_gold)) ! pline("Unfortunately, %s doesn't look satisfied.", he[shk_pronoun]); else make_happy_shk(shkp, FALSE); --- 1055,1089 ---- ltmp = eshkp->robbed; if(shkp != resident && NOTANGRY(shkp)) { if(!ltmp) ! /*JP You("do not owe %s anything.", mon_nam(shkp));*/ ! You("%s¤Ë¼Ú¤ê¤Ï¤Ê¤¤¡¥", mon_nam(shkp)); else if(!u.ugold) { ! /*JP You("%shave no money.", stashed_gold ? "seem to " : "");*/ ! You("¤ª¶â¤¬¤Ê¤¤%s¡¥", stashed_gold ? "¤è¤¦¤À" : ""); if(stashed_gold) ! /*JP pline("But you have some gold stashed away.");*/ ! pline("¤·¤«¤·¡¤¤¢¤Ê¤¿¤Ë¤Ï¤Á¤ç¤Ã¤Ã¤È¤·¤¿¥Ø¥½¥¯¥ê¤¬¤¢¤ë¡¥"); } else { long ugold = u.ugold; if(ugold > ltmp) { ! /*JP You("give %s the %ld gold piece%s %s asked for.", ! mon_nam(shkp), ltmp, plur(ltmp), he[shk_pronoun]);*/ ! You("%s¤Ë˾¤ßÄ̤ê%ld¤Î¶â²ô¤òÍ¿¤¨¤¿¡¥", ! mon_nam(shkp), ltmp); pay(ltmp, shkp); } else { ! /*JP You("give %s all your%s gold.", mon_nam(shkp), ! stashed_gold ? " openly kept" : "");*/ ! You("%s¤Ë%s¤ª¶âÁ´Éô¤òÍ¿¤¨¤¿¡¥", mon_nam(shkp), ! stashed_gold ? "¼ê»ý¤Á¤Î" : ""); pay(u.ugold, shkp); ! /*JP if (stashed_gold) pline("But you have hidden gold!");*/ ! if (stashed_gold) pline("¤·¤«¤·¡¤¤¢¤Ê¤¿¤Ï¥Ø¥½¥¯¥ê¤¬¤¢¤ë¡ª"); } if((ugold < ltmp/2L) || (ugold < ltmp && stashed_gold)) ! /*JP pline("Unfortunately, %s doesn't look satisfied.",*/ ! pline("»ÄÇ°¤Ê¤¬¤é¡¤%s¤ÏËþ­¤·¤Æ¤Ê¤¤¤è¤¦¤À¡¥", he[shk_pronoun]); else make_happy_shk(shkp, FALSE); *************** *** 1025,1067 **** /* ltmp is still eshkp->robbed here */ if (!eshkp->billct && !eshkp->debit) { if(!ltmp && NOTANGRY(shkp)) { ! You("do not owe %s anything.", mon_nam(shkp)); if (!u.ugold) ! pline(no_money, stashed_gold ? " seem to" : ""); } else if(ltmp) { ! pline("%s is after blood, not money!", Monnam(shkp)); if(u.ugold < ltmp/2L || (u.ugold < ltmp && stashed_gold)) { if (!u.ugold) ! pline(no_money, stashed_gold ? " seem to" : ""); else pline(not_enough_money, him[shk_pronoun]); return(1); } ! pline("But since %s shop has been robbed recently,", his[shk_pronoun]); ! pline("you %scompensate %s for %s losses.", (u.ugold < ltmp) ? "partially " : "", ! mon_nam(shkp), his[shk_pronoun]); pay(u.ugold < ltmp ? u.ugold : ltmp, shkp); make_happy_shk(shkp, FALSE); } else { /* shopkeeper is angry, but has not been robbed -- * door broken, attacked, etc. */ ! pline("%s is after your hide, not your money!", Monnam(shkp)); if(u.ugold < 1000L) { if (!u.ugold) ! pline(no_money, stashed_gold ? " seem to" : ""); else pline(not_enough_money, him[shk_pronoun]); return(1); } ! You("try to appease %s by giving %s 1000 gold pieces.", ! x_monnam(shkp, 1, "angry", 0), him[shk_pronoun]); pay(1000L,shkp); if (strncmp(eshkp->customer, plname, PL_NSIZ) || rn2(3)) make_happy_shk(shkp, FALSE); else ! pline("But %s is as angry as ever.", mon_nam(shkp)); } return(1); } --- 1094,1149 ---- /* ltmp is still eshkp->robbed here */ if (!eshkp->billct && !eshkp->debit) { if(!ltmp && NOTANGRY(shkp)) { ! /*JP You("do not owe %s anything.", mon_nam(shkp));*/ ! You("%s¤Ë¼Ú¤ê¤Ï¤Ê¤¤¡¥", mon_nam(shkp)); if (!u.ugold) ! /*JP pline(no_money, stashed_gold ? " seem to" : "");*/ ! pline(no_money, stashed_gold ? "¤è¤¦¤À" : ""); } else if(ltmp) { ! /*JP pline("%s is after blood, not money!", Monnam(shkp));*/ ! pline("%s¤Ï·ì¤Þ¤ß¤ì¤À¡¥¤ª¶â¤É¤³¤í¤¸¤ã¤Ê¤¤¡ª", Monnam(shkp)); if(u.ugold < ltmp/2L || (u.ugold < ltmp && stashed_gold)) { if (!u.ugold) ! /*JP pline(no_money, stashed_gold ? " seem to" : "");*/ ! pline(no_money, stashed_gold ? "¤è¤¦¤À" : ""); else pline(not_enough_money, him[shk_pronoun]); return(1); } ! /*JP pline("But since %s shop has been robbed recently,",*/ ! pline("¤·¤«¤·¡¤%s¤ÎŹ¤ÏºÇ¶áÅð¤ß¤Ë¤¢¤Ã¤¿¤Î¤Ç¡¤", his[shk_pronoun]); ! /*JP pline("you %scompensate %s for %s losses.", (u.ugold < ltmp) ? "partially " : "", ! mon_nam(shkp), his[shk_pronoun]);*/ ! You("%s¤Î»¼º%s¤òÊäŶ¤·¤¿¡¥", mon_nam(shkp), ! (u.ugold < ltmp) ? "¤Î°ìÉô" : ""); pay(u.ugold < ltmp ? u.ugold : 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!",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ÎÌ¿¤òÁÀ¤Ã¤Æ¤¤¤ë¡¤¤ª¶â¤É¤³¤í¤¸¤ã¤Ê¤¤¡ª", Monnam(shkp)); if(u.ugold < 1000L) { if (!u.ugold) ! /*JP pline(no_money, stashed_gold ? " seem to" : "");*/ ! pline(no_money, stashed_gold ? "¤è¤¦¤À" : ""); else pline(not_enough_money, him[shk_pronoun]); return(1); } ! /*JP You("try to appease %s by giving %s 1000 gold pieces.", ! x_monnam(shkp, 1, "angry", 0), him[shk_pronoun]);*/ ! You("1000¥´¡¼¥ë¥É%s¤Ëʧ¤Ã¤Æ¤Ê¤À¤á¤è¤¦¤È¤·¤¿¡¥", ! x_monnam(shkp, 1, "Åܤä¿", 0)); ! 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.", mon_nam(shkp));*/ ! pline("¤·¤«¤·%s¤Ï¤Þ¤ÀÅܤäƤ¤¤ë¡¥", mon_nam(shkp)); } return(1); } *************** *** 1076,1107 **** long loan = eshkp->loan; char sbuf[BUFSZ]; ! Sprintf(sbuf, "You owe %s %ld zorkmid%s ", ! shkname(shkp), dtmp, plur(dtmp)); if(loan) { if(loan == dtmp) ! Strcat(sbuf, "you picked up in the store."); ! else Strcat(sbuf, ! "for gold picked up and the use of merchandise."); ! } else Strcat(sbuf, "for the use of merchandise."); pline(sbuf); if (u.ugold + eshkp->credit < dtmp) { ! pline("But you don't%s have enough gold%s.", stashed_gold ? " seem to" : "", ! eshkp->credit ? " or credit" : ""); return(1); } else { if (eshkp->credit >= dtmp) { eshkp->credit -= dtmp; eshkp->debit = 0L; eshkp->loan = 0L; ! Your("debt is covered by your credit."); } else if (!eshkp->credit) { u.ugold -= dtmp; shkp->mgold += dtmp; eshkp->debit = 0L; eshkp->loan = 0L; ! You("pay that debt."); flags.botl = 1; } else { dtmp -= eshkp->credit; --- 1158,1204 ---- long loan = eshkp->loan; char sbuf[BUFSZ]; ! /*JP Sprintf(sbuf, "You owe %s %ld zorkmid%s ", ! shkname(shkp), dtmp, plur(dtmp));*/ ! Sprintf(sbuf, "¤¢¤Ê¤¿¤Ï%s¤Ë%ld¥´¡¼¥ë¥É¤Î¼Ú¤ê¤¬¤¢¤ë¡¥", ! shkname(shkp), dtmp); if(loan) { if(loan == dtmp) ! /*JP Strcat(sbuf, "you picked up in the store.");*/ ! Strcpy(sbuf, "Ź¤ÎÃæ¤Ç½¦¤Ã¤¿¤â¤Î¤ËÂФ·¤Æ¡¤"); ! /*JP else Strcat(sbuf, ! "for gold picked up and the use of merchandise.");*/ ! else Strcpy(sbuf,"½¦¤Ã¤¿¤ª¶â¤ä»È¤Ã¤¿»¨²ß¤ËÂФ·¤Æ¡¤"); ! /*JP } else Strcat(sbuf, "for the use of merchandise.");*/ ! } else Strcpy(sbuf, "»È¤Ã¤¿»¨²ß¤ËÂФ·¤Æ¡¤"); ! Sprintf(eos(sbuf), "%s¤Ë%ld¥´¡¼¥ë¥É¤Î¼Ú¤ê¤¬¤¢¤ë¡¥", ! /*JP ! shkname(shkp), dtmp, plur(dtmp)); ! */ ! shkname(shkp), dtmp); pline(sbuf); if (u.ugold + eshkp->credit < dtmp) { ! /*JP pline("But you don't%s have enough gold%s.", stashed_gold ? " seem to" : "", ! eshkp->credit ? " or credit" : "");*/ ! pline("¤·¤«¤·¡¤¤ª¶â%s­¤ê¤Ê¤¤%s¡¥", ! eshkp->credit ? "¤â¥¯¥ì¥¸¥Ã¥È¤â" : "¤¬", ! stashed_gold ? "¤è¤¦¤À" : ""); 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("¼Ú¶â¤Ï¥¯¥ì¥¸¥Ã¥È¤ÇÊä¤ï¤ì¤¿¡¥"); } else if (!eshkp->credit) { u.ugold -= dtmp; shkp->mgold += dtmp; eshkp->debit = 0L; eshkp->loan = 0L; ! /*JP You("pay that debt.");*/ ! You("¼Ú¶â¤òʧ¤Ã¤¿¡¥"); flags.botl = 1; } else { dtmp -= eshkp->credit; *************** *** 1110,1117 **** shkp->mgold += dtmp; eshkp->debit = 0L; eshkp->loan = 0L; ! pline("That debt is partially offset by your credit."); ! You("pay the remainder."); flags.botl = 1; } paid = TRUE; --- 1207,1216 ---- shkp->mgold += dtmp; eshkp->debit = 0L; eshkp->loan = 0L; ! /*JP pline("That debt is partially offset by your credit."); ! You("pay the remainder.");*/ ! pline("¤½¤Î¼Ú¶â¤Ï°ìÉô¥¯¥ì¥¸¥Ã¥È¤ÇÁ껦¤µ¤ì¤¿¡¥"); ! You("»Ä¤ê¤òʧ¤Ã¤¿¡¥"); flags.botl = 1; } paid = TRUE; *************** *** 1122,1143 **** register boolean itemize; if (!u.ugold && !eshkp->credit) { ! You("%shave no money or credit%s.", stashed_gold ? "seem to " : "", ! paid ? " left" : ""); return(0); } if ((u.ugold + eshkp->credit) < cheapest_item(shkp)) { ! You("don't have enough money to buy%s the item%s you picked.", ! eshkp->billct > 1 ? " any of" : "", plur(eshkp->billct)); if(stashed_gold) ! pline("Maybe you have some gold stashed away?"); 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 */ ! itemize = (eshkp->billct > 1 ? yn("Itemized billing?") == 'y' : 1); for (pass = 0; pass <= 1; pass++) { tmp = 0; --- 1221,1248 ---- register boolean itemize; if (!u.ugold && !eshkp->credit) { ! /*JP You("%shave no money or credit%s.", stashed_gold ? "seem to " : "", ! paid ? " left" : "");*/ ! You("%s¤ª¶â¤â¥¯¥ì¥¸¥Ã¥È¤â»ý¤Ã¤Æ¤Ê¤¤%s¡¥", ! paid ? "¤â¤¦" : "", ! stashed_gold ? "¤è¤¦¤À" : ""); return(0); } if ((u.ugold + eshkp->credit) < cheapest_item(shkp)) { ! /*JP You("don't have enough money to buy%s the item%s you picked.", ! eshkp->billct > 1 ? " any of" : "", plur(eshkp->billct));*/ ! pline("½¦¤Ã¤¿ÉÊʪ¤òÇ㤦¤Ë¤Ï¤ª¶â¤¬Â­¤ê¤Ê¤¤¡¥"); if(stashed_gold) ! /*JP pline("Maybe you have some gold stashed away?");*/ ! You("¤É¤³¤«¤Ë¤ª¶â¤ò±£¤·¤Æ¤¤¤ë¤Î¤«¤â¡©"); 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 itemize = (eshkp->billct > 1 ? yn("Itemized billing?") == 'y' : 1);*/ ! itemize = (eshkp->billct > 1 ? yn("¸ÄÊ̤˴ªÄꤷ¤Þ¤¹¤«¡©") == 'y' : 1); for (pass = 0; pass <= 1; pass++) { tmp = 0; *************** *** 1188,1194 **** } thanks: if(!ANGRY(shkp) && paid) ! verbalize("Thank you for shopping in %s %s!", s_suffix(shkname(shkp)), shtypes[eshkp->shoptype - SHOPBASE].name); return(1); --- 1293,1300 ---- } thanks: if(!ANGRY(shkp) && paid) ! /*JP verbalize("Thank you for shopping in %s %s!",*/ ! verbalize("%s¤Î%s¤Ø¤Þ¤¿¤É¤¦¤¾¡ª", s_suffix(shkname(shkp)), shtypes[eshkp->shoptype - SHOPBASE].name); return(1); *************** *** 1220,1227 **** return PAY_BUY; } if(itemize && u.ugold + ESHK(shkp)->credit == 0L){ ! You("%shave no money or credit left.", ! stashed_gold ? "seem to " : ""); return PAY_BROKE; } /* we may need to temporarily adjust the object, if part of the --- 1326,1335 ---- return PAY_BUY; } if(itemize && u.ugold + ESHK(shkp)->credit == 0L){ ! /*JP You("%shave no money or credit left.", ! stashed_gold ? "seem to " : "");*/ ! You("¤â¤¦¤ª¶â¤â¥¯¥ì¥¸¥Ã¥È¤â¤Ê¤¤%s¡¥", ! stashed_gold ? "¤è¤¦¤À¡¥" : ""); return PAY_BROKE; } /* we may need to temporarily adjust the object, if part of the *************** *** 1243,1265 **** if (itemize) { char qbuf[BUFSZ]; ! Sprintf(qbuf,"%s for %ld zorkmid%s. Pay?", quan == 1L ? ! Doname2(obj) : doname(obj), ltmp, plur(ltmp)); 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 */ ! verbalize("%s for the other %s before buying %s.", ANGRY(shkp) ? "Pay" : "Please pay", xname(obj), ! save_quan > 1L ? "these" : "this one"); buy = PAY_SKIP; /* shk won't sell */ } } if (buy == PAY_BUY && u.ugold + ESHK(shkp)->credit < ltmp) { ! You("don't%s have gold%s enough to pay for %s.", stashed_gold ? " seem to" : "", (ESHK(shkp)->credit > 0L) ? " or credit" : "", ! doname(obj)); buy = itemize ? PAY_SKIP : PAY_CANT; } --- 1351,1382 ---- if (itemize) { char qbuf[BUFSZ]; ! /*JP Sprintf(qbuf,"%s for %ld zorkmid%s. Pay?", quan == 1L ?*/ ! Sprintf(qbuf,"%s¤Ï%ld¥´¡¼¥ë¥É¤Ç¤¹¡¥Ç㤤¤Þ¤¹¤«¡©", quan == 1L ? ! Doname2(obj) : doname(obj), ltmp); 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 */ ! /*JP verbalize("%s for the other %s before buying %s.", ANGRY(shkp) ? "Pay" : "Please pay", xname(obj), ! save_quan > 1L ? "these" : "this one");*/ ! verbalize("¤½¤ì¤òÇ㤦¤Þ¤¨¤Ë¾¤Î%s¤ò%s", ! xname(obj), ! ANGRY(shkp) ? "ʧ¤¨¡ª" : "ʧ¤Ã¤Æ¤¯¤À¤µ¤¤¡¥"); ! buy = PAY_SKIP; /* shk won't sell */ } } if (buy == PAY_BUY && u.ugold + ESHK(shkp)->credit < ltmp) { ! /*JP You("don't%s have gold%s enough to pay for %s.", stashed_gold ? " seem to" : "", (ESHK(shkp)->credit > 0L) ? " or credit" : "", ! doname(obj));*/ ! You("%s¤ÎÂå¶â¤ò»Ùʧ¤¦¤À¤±¤Î¥´¡¼¥ë¥É%s»ý¤Ã¤Æ¤Ê¤¤%s¡¥", ! doname(obj), ! (ESHK(shkp)->credit > 0L) ? "¤â¥¯¥ì¥¸¥Ã¥È¤â" : "¤ò", ! stashed_gold ? "¤è¤¦¤À" : ""); buy = itemize ? PAY_SKIP : PAY_CANT; } *************** *** 1271,1277 **** } pay(ltmp, shkp); ! shk_names_obj(shkp, obj, "bought %s for %ld gold piece%s.%s", ltmp, ""); obj->quan = save_quan; /* restore original count */ /* quan => amount just bought, save_quan => remaining unpaid count */ if (consumed) { --- 1388,1395 ---- } pay(ltmp, shkp); ! /*JP shk_names_obj(shkp, obj, "bought %s for %ld gold piece%s.%s", ltmp, "");*/ ! shk_names_obj(shkp, obj, "%s¤ò%ld¥´¡¼¥ë¥É¤ÇÇã¤Ã¤¿%s¡¥%s", ltmp, ""); obj->quan = save_quan; /* restore original count */ /* quan => amount just bought, save_quan => remaining unpaid count */ if (consumed) { *************** *** 1345,1356 **** /* already took everything you had. */ if(numsk > 1) { if(cansee(shkp->mx, shkp->my) && croaked) ! pline("%s %slooks at your corpse%s%s", Monnam(shkp), (shkp->msleep || !shkp->mcanmove) ? "wakes up, " : "", !rn2(2) ? (shkp->female ? ", shakes her head," : ", shakes his head,") : "", ! !inhishop(shkp) ? " and disappears. " : " and sighs."); taken = (roomno == eshkp->shoproom); goto skip; } --- 1463,1479 ---- /* already took everything you had. */ if(numsk > 1) { if(cansee(shkp->mx, shkp->my) && croaked) ! /*JP pline("%s %slooks at your corpse%s%s", Monnam(shkp), (shkp->msleep || !shkp->mcanmove) ? "wakes up, " : "", !rn2(2) ? (shkp->female ? ", shakes her head," : ", shakes his head,") : "", ! !inhishop(shkp) ? " and disappears. " : " and sighs.");*/ ! pline("%s¤Ï%s¤¢¤Ê¤¿¤Î»àÂΤò¸«¤Æ%s%s¡¥", Monnam(shkp), ! (shkp->msleep || !shkp->mcanmove) ? ! "Ìܤò¤µ¤Þ¤¹¤È" : "", ! !rn2(2) ? "¼ó¤ò¿¶¤ê¡¤" : "", ! !inhishop(shkp) ? "»Ñ¤ò¾Ã¤·¤¿" : "ί©¤ò¤Ä¤¤¤¿"); taken = (roomno == eshkp->shoproom); goto skip; } *************** *** 1361,1367 **** !eshkp->billct && !eshkp->robbed && !eshkp->debit && NOTANGRY(shkp) && !eshkp->following) { if (invent) ! pline("%s gratefully inherits all your possessions.", shkname(shkp)); set_repo_loc(eshkp); goto clear; --- 1484,1491 ---- !eshkp->billct && !eshkp->robbed && !eshkp->debit && NOTANGRY(shkp) && !eshkp->following) { if (invent) ! /*JP pline("%s gratefully inherits all your possessions.",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î»ý¤Áʪ¤òÍ­Æñ¤¯¼õ¤±¤È¤Ã¤¿¡¥", shkname(shkp)); set_repo_loc(eshkp); goto clear; *************** *** 1380,1391 **** if(!invent && !u.ugold) goto skip; if ((loss > u.ugold) || !loss || roomno == eshkp->shoproom) { ! pline("%s %s%stakes all your possessions.", shkname(shkp), (shkp->msleep || !shkp->mcanmove) ? ! "wakes up and " : "", (distu(shkp->mx, shkp->my) > 2) ? ! "comes and " : ""); taken = TRUE; shkp->mgold += u.ugold; u.ugold = 0L; --- 1504,1518 ---- if(!invent && !u.ugold) goto skip; if ((loss > u.ugold) || !loss || roomno == eshkp->shoproom) { ! /*JP pline("%s %s%stakes all your possessions.",*/ ! pline("%s¤Ï%s%s¤¢¤Ê¤¿¤Î»ý¤Áʪ¤¹¤Ù¤Æ¤ò¤â¤é¤Ã¤¿¡¥", shkname(shkp), (shkp->msleep || !shkp->mcanmove) ? ! /*JP "wakes up and " : "",*/ ! "Ìܤ¬¤µ¤á¤ë¤È¡¤" : "", (distu(shkp->mx, shkp->my) > 2) ? ! /*JP "comes and " : "");*/ ! "¶á¤Å¤­¡¤" : ""); taken = TRUE; shkp->mgold += u.ugold; u.ugold = 0L; *************** *** 1393,1406 **** } else { u.ugold -= loss; shkp->mgold += loss; ! pline("%s %sand takes %ld zorkmid%s %sowed %s.", Monnam(shkp), (shkp->msleep || !shkp->mcanmove) ? ! "wakes up " : "comes ", ! loss, plur(loss), strncmp(eshkp->customer, ! plname, PL_NSIZ) ? "" : "you ", ! shkp->female ? "her" : "him"); } skip: /* in case we create bones */ --- 1520,1536 ---- } else { u.ugold -= loss; shkp->mgold += loss; ! /*JP pline("%s %sand takes %ld zorkmid%s %sowed %s.",*/ ! pline("%s¤Ï%s%s¼Ú¤ê¤Æ¤¤¤ë%ld¥´¡¼¥ë¥É¤ò¼õ¤±¤È¤Ã¤¿¡¥", Monnam(shkp), (shkp->msleep || !shkp->mcanmove) ? ! /*JP "wakes up " : "comes ",*/ ! "Ìܤò¤µ¤Þ¤¹¤È¡¤" : "¶á¤Å¤­¡¤", strncmp(eshkp->customer, ! /*JP plname, PL_NSIZ) ? "" : "you ", ! shkp->female ? "her" : "him");*/ ! plname, PL_NSIZ) ? "" : "¤¢¤Ê¤¿¤Î", ! loss); } skip: /* in case we create bones */ *************** *** 1531,1536 **** --- 1661,1674 ---- } else if (!(obj->o_id % 4)) /* arbitrarily impose surcharge */ tmp += tmp / 3L; } + #ifdef FIGHTER + if (obj->otyp == SAILOR_BLOUSE){ + if (!flags.female) + tmp *= 15; + else + tmp *= 10; + } + #endif #ifdef TOURIST if ((Role_is('T') && u.ulevel < (MAXULEV/2)) || (uarmu && !uarm && !uarmc)) /* touristy shirt visible */ *************** *** 1655,1660 **** --- 1793,1808 ---- { long tmp = getprice(obj, TRUE) * obj->quan; + #ifdef FIGHTER + if (obj->otyp == SAILOR_BLOUSE){ + if (flags.female && Role_is('F')) + tmp *= 10; + else if (flags.female) + tmp *= 5; + else if (!Role_is('F')) + tmp = 0; + } + #endif #ifdef TOURIST if ((Role_is('T') && u.ulevel < (MAXULEV/2)) || (uarmu && !uarm && !uarmc)) /* touristy shirt visible */ *************** *** 1722,1728 **** return; if (ESHK(shkp)->billct == BILLSZ) { ! You("got that for free!"); return; } --- 1870,1877 ---- return; if (ESHK(shkp)->billct == BILLSZ) { ! /*JP You("got that for free!");*/ ! You("¤½¤ì¤ò¤¿¤À¤Ç¼ê¤ËÆþ¤ì¤¿¡ª"); return; } *************** *** 1808,1819 **** obj_name = doname(obj); /* Use an alternate message when extra information is being provided */ if (was_unknown) { ! Sprintf(fmtbuf, "%%s; you %s", fmt); obj_name[0] = highc(obj_name[0]); ! pline(fmtbuf, obj_name, (obj->quan > 1) ? "them" : "it", ! amt, plur(amt), arg); } else { ! You(fmt, obj_name, amt, plur(amt), arg); } } --- 1957,1972 ---- obj_name = doname(obj); /* Use an alternate message when extra information is being provided */ if (was_unknown) { ! /*JP Sprintf(fmtbuf, "%%s; you %s", fmt);*/ ! Sprintf(fmtbuf, "%s", fmt); obj_name[0] = highc(obj_name[0]); ! /*JP pline(fmtbuf, obj_name, (obj->quan > 1) ? "them" : "it", ! amt, plur(amt), arg);*/ ! pline(fmtbuf, obj_name, ! amt, "", arg); } else { ! /*JP You(fmt, obj_name, amt, plur(amt), arg);*/ ! You(fmt, obj_name, amt, "", arg); } } *************** *** 1839,1845 **** ) return; if(ESHK(shkp)->billct == BILLSZ) { ! You("got that for free!"); return; } --- 1992,1999 ---- ) return; if(ESHK(shkp)->billct == BILLSZ) { ! /*JP You("got that for free!");*/ ! You("¤½¤ì¤ò¤¿¤À¤Ç¼ê¤ËÆþ¤ì¤¿¡ª"); return; } *************** *** 1891,1927 **** char buf[BUFSZ]; if(!ltmp) { ! pline("%s has no interest in %s.", Monnam(shkp), the(xname(obj))); return; } ! Strcpy(buf, "\"For you, "); ! if (ANGRY(shkp)) Strcat(buf, "scum "); else { static const char *honored[5] = { ! "good", "honored", "most gracious", "esteemed", ! "most renowned and sacred" }; Strcat(buf, honored[rn2(4) + u.uevent.udemigod]); ! if (!is_human(uasmon)) Strcat(buf, " creature"); else ! Strcat(buf, (flags.female) ? " lady" : " sir"); } if(ininv) { long quan = obj->quan; obj->quan = 1L; /* fool xname() into giving singular */ ! pline("%s; only %ld %s %s.\"", buf, ltmp, ! (quan > 1L) ? "per" : "for this", xname(obj)); obj->quan = quan; } else ! pline("%s will cost you %ld zorkmid%s%s.", The(xname(obj)), ltmp, plur(ltmp), ! (obj->quan > 1L) ? " each" : ""); } else if(!silent) { ! if(ltmp) pline_The("list price of %s is %ld zorkmid%s%s.", the(xname(obj)), ltmp, plur(ltmp), ! (obj->quan > 1L) ? " each" : ""); ! else pline("%s does not notice.", Monnam(shkp)); } } --- 2045,2099 ---- char buf[BUFSZ]; if(!ltmp) { ! /*JP pline("%s has no interest in %s.", Monnam(shkp),*/ ! pline("%s¤Ï%s¤Ë¶½Ì£¤ò¼¨¤µ¤Ê¤¤¡¥", Monnam(shkp), the(xname(obj))); return; } ! /*JP Strcpy(buf, "\"For you, "); ! if (ANGRY(shkp)) Strcat(buf, "scum ");*/ ! Strcpy(buf, "¡Ö"); ! if (ANGRY(shkp)) Strcat(buf, "¤³¤Î¥¯¥½¤Ã¤¿¤ì"); else { static const char *honored[5] = { ! /*JP "good", "honored", "most gracious", "esteemed", ! "most renowned and sacred"*/ ! "¤ä¤¡", "¤ä¤¡¡¤Ì¾ÍÀ¤¢¤ë", "¤ä¤¡¡¤¾åÉʤÊ", "¤ä¤¡¡¤Âº·É¤¹¤ë", ! "¤ä¤¡¡¤¹â̾¤Ç¿ÀÀ»¤Ê" }; Strcat(buf, honored[rn2(4) + u.uevent.udemigod]); ! /*JP if (!is_human(uasmon)) Strcat(buf, " creature"); ! else ! Strcat(buf, (flags.female) ? " lady" : " sir");*/ ! if (!is_human(uasmon)) Strcat(buf, "À¸Êª¤µ¤ó"); else ! Strcat(buf, (flags.female) ? "¤ª¾î¤µ¤ó" : "¤ªµÒ¤µ¤ó"); } if(ininv) { long quan = obj->quan; obj->quan = 1L; /* fool xname() into giving singular */ ! /*JP pline("%s; only %ld %s %s.\"", buf, ltmp, ! (quan > 1L) ? "per" : "for this", xname(obj));*/ ! pline("%s¡¥%s¤Ï%s¤¿¤Ã¤¿¤Î%ld¥´¡¼¥ë¥É¤À¡¥¡×", buf, xname(obj), ! (quan > 1L) ? "1¤Ä" : "", ltmp); obj->quan = quan; } else ! /*JP pline("%s will cost you %ld zorkmid%s%s.", The(xname(obj)), ltmp, plur(ltmp), ! (obj->quan > 1L) ? " each" : "");*/ ! pline("%s¤Ï%s%ld¥´¡¼¥ë¥É¤À", ! The(xname(obj)), ! (obj->quan > 1L) ? "¤½¤ì¤¾¤ì" : "", ltmp); ! } else if(!silent) { ! /*JP if(ltmp) pline_The("list price of %s is %ld zorkmid%s%s.", the(xname(obj)), ltmp, plur(ltmp), ! (obj->quan > 1L) ? " each" : "");*/ ! if(ltmp) pline("%s¤ÎÃÍÃʤÏ%s%ld¥´¡¼¥ë¥É¤À¡¥", ! the(xname(obj)), ! (obj->quan > 1L) ? "¤½¤ì¤¾¤ì" : "", ltmp); ! /*JP else pline("%s does not notice.", Monnam(shkp));*/ ! else pline("%s¤Ïµ¤¤¬¤Ä¤¤¤Æ¤¤¤Ê¤¤¡¥", Monnam(shkp)); } } *************** *** 2107,2117 **** if(!silent) { if(obj->oclass == GOLD_CLASS) ! You("owe %s %ld zorkmids!", mon_nam(shkp), value); ! else You("owe %s %ld zorkmids for %s!", mon_nam(shkp), ! value, ! obj->quan > 1L ? "them" : "it"); } } else { ESHK(shkp)->robbed += value; --- 2279,2291 ---- if(!silent) { if(obj->oclass == GOLD_CLASS) ! /*JP You("owe %s %ld zorkmids!", mon_nam(shkp), value);*/ ! You("%s¤Ë%ld¥´¡¼¥ë¥É¤Î¼Ú¤ê¤ò¤Ä¤¯¤Ã¤¿¡ª", mon_nam(shkp), value); ! /*JP else You("owe %s %ld zorkmids for %s!",*/ ! else You("%s¤Ë%ld¥´¡¼¥ë¥É¤Î¼Ú¤ê¤ò¤Ä¤¯¤Ã¤¿¡ª", ! /*JP obj->quan > 1L ? "¤½¤ì¤é" : "¤½¤ì",*/ mon_nam(shkp), ! value); } } else { ESHK(shkp)->robbed += value; *************** *** 2120,2128 **** if(cansee(shkp->mx, shkp->my)) { if(ESHK(shkp)->customer[0] == 0) (void) strncpy(ESHK(shkp)->customer,plname,PL_NSIZ); ! Norep("%s booms: \"%s, you are a thief!\"", Monnam(shkp), plname); ! } else Norep("You hear a scream, \"Thief!\""); } hot_pursuit(shkp); (void) angry_guards(FALSE); --- 2294,2305 ---- if(cansee(shkp->mx, shkp->my)) { if(ESHK(shkp)->customer[0] == 0) (void) strncpy(ESHK(shkp)->customer,plname,PL_NSIZ); ! /*JP Norep("%s booms: \"%s, you are a thief!\"", ! Monnam(shkp), plname);*/ ! Norep("%s¤Ï¶«¤ó¤À¡§¡Ö%s¡¤ÂԤơª¤³¤Î¤É¤í¤Ü¤¦¤á¡ª¡×", Monnam(shkp), plname); ! /*JP } else Norep("You hear a scream, \"Thief!\"");*/ ! } else Norep("¶âÀÚ¤êÀ¼¤òʹ¤¤¤¿¡¤¡ÖÂԤơª¤³¤Î¤É¤í¤Ü¤¦¤á¡ª¡×"); } hot_pursuit(shkp); (void) angry_guards(FALSE); *************** *** 2196,2202 **** } else obj->no_charge = 1; if(!unpaid) ! pline("%s seems uninterested.", Monnam(shkp)); return; } --- 2373,2380 ---- } else obj->no_charge = 1; if(!unpaid) ! /*JP pline("%s seems uninterested.", Monnam(shkp));*/ ! pline("%s¤Ï¶½Ì£¤¬¤Ê¤¤¤è¤¦¤À¡¥", Monnam(shkp)); return; } *************** *** 2208,2217 **** obj->no_charge = 1; if (!shkp->mcanmove) { if(ANGRY(shkp) && !rn2(4)) ! pline("%s utters a curse.", Monnam(shkp)); ! else pline("%s is indisposed.", Monnam(shkp)); } else if(!rn2(3)) { ! pline("%s snores indifferently.", Monnam(shkp)); } subfrombill(obj, shkp); return; --- 2386,2398 ---- obj->no_charge = 1; if (!shkp->mcanmove) { if(ANGRY(shkp) && !rn2(4)) ! /*JP pline("%s utters a curse.", Monnam(shkp));*/ ! pline("%s¤Ï¼ö¤¤¤Î¸ÀÍÕ¤ò¤Ä¤Ö¤ä¤¤¤¿¡¥", Monnam(shkp)); ! /*JP else pline("%s is indisposed.", Monnam(shkp));*/ ! else pline("%s¤Ïµ¤¤¬¤Ê¤¨¤¿¡¥", Monnam(shkp)); } else if(!rn2(3)) { ! /*JP pline("%s snores indifferently.", Monnam(shkp));*/ ! pline("%s¤Ï̵ÆÜÃå¤Ë¤¤¤Ó¤­¤ò¤«¤¤¤¿¡¥", Monnam(shkp)); } subfrombill(obj, shkp); return; *************** *** 2220,2226 **** eshkp = ESHK(shkp); if (ANGRY(shkp)) { /* they become shop-objects, no pay */ ! pline("Thank you, scum!"); subfrombill(obj, shkp); return; } --- 2401,2408 ---- eshkp = ESHK(shkp); if (ANGRY(shkp)) { /* they become shop-objects, no pay */ ! /*JP pline("Thank you, scum!");*/ ! pline("¤¢¤ê¤¬¤è¡¤¤³¤Î¥¯¥½¤Ã¤¿¤ì¡ª"); subfrombill(obj, shkp); return; } *************** *** 2231,2237 **** if((eshkp->robbed -= offer < 0L)) eshkp->robbed = 0L; if(offer) verbalize( ! "Thank you for your contribution to restock this recently plundered shop."); subfrombill(obj, shkp); return; } --- 2413,2420 ---- if((eshkp->robbed -= offer < 0L)) eshkp->robbed = 0L; if(offer) verbalize( ! /*JP "Thank you for your contribution to restock this recently plundered shop.");*/ ! "´ó£¤ò¤É¤¦¤â¤¢¤ê¤¬¤í¤¦¡¥ºÇ¶áÅð¤ß¤Ë¤¢¤Ã¤Æ»²¤Ã¤Æ¤¿¤ó¤À¡¥"); subfrombill(obj, shkp); return; } *************** *** 2246,2253 **** else eshkp->loan = 0L; } eshkp->debit -= gltmp; ! Your("debt is %spaid off.", ! eshkp->debit ? "partially " : ""); } else { long delta = gltmp - eshkp->debit; --- 2429,2438 ---- else eshkp->loan = 0L; } eshkp->debit -= gltmp; ! /*JP Your("debt is %spaid off.",*/ ! Your("¼Ú¶â¤Ï%s»Ùʧ¤ï¤ì¤¿¡¥", ! /*JP eshkp->debit ? "partially " : "");*/ ! eshkp->debit ? "°ìÉô" : ""); } else { long delta = gltmp - eshkp->debit; *************** *** 2255,2264 **** if(eshkp->debit) { eshkp->debit = 0L; eshkp->loan = 0L; ! Your("debt is paid off."); } ! pline("%ld zorkmid%s added to your credit.", ! delta, delta > 1L ? "s are" : " is"); } if(offer) goto move_on; else { --- 2440,2452 ---- if(eshkp->debit) { eshkp->debit = 0L; eshkp->loan = 0L; ! /*JP Your("debt is paid off.");*/ ! Your("¼Ú¶â¤Ï»Ùʧ¤ï¤ì¤¿¡¥"); } ! /*JP pline("%ld zorkmid%s added to your credit.", ! delta, delta > 1L ? "s are" : " is");*/ ! pline("%ld¥´¡¼¥ë¥É¤¬¤¢¤Ê¤¿¤Î¥¯¥ì¥¸¥Ã¥È¤Ë²Ã¤¨¤é¤ì¤¿¡¥", ! delta); } if(offer) goto move_on; else { *************** *** 2279,2286 **** || (obj->oclass == FOOD_CLASS && obj->oeaten) || (Is_candle(obj) && obj->age < 20L * (long)objects[obj->otyp].oc_cost)) { ! pline("%s seems not interested%s.", Monnam(shkp), ! cgold ? " in the rest" : ""); if (container) dropped_container(obj, shkp, FALSE); obj->no_charge = 1; --- 2467,2476 ---- || (obj->oclass == FOOD_CLASS && obj->oeaten) || (Is_candle(obj) && obj->age < 20L * (long)objects[obj->otyp].oc_cost)) { ! /*JP pline("%s seems not interested%s.", Monnam(shkp), ! cgold ? " in the rest" : "");*/ ! pline("%s¤Ï%s¶½Ì£¤¬¤Ê¤¤¤è¤¦¤À¡¥", Monnam(shkp), ! cgold ? "»Ä¤êʪ" : ""); if (container) dropped_container(obj, shkp, FALSE); obj->no_charge = 1; *************** *** 2294,2303 **** if (!sell_voluntarily) { c = sell_response = 'y'; } else if (sell_response != 'n') { ! pline("%s cannot pay you at present.", Monnam(shkp)); Sprintf(qbuf, ! "Will you accept %ld zorkmid%s in credit for %s?", ! tmpcr, plur(tmpcr), doname(obj)); /* won't accept 'a' response here */ c = ynq(qbuf); } else /* previously specified "quit" */ --- 2484,2497 ---- if (!sell_voluntarily) { c = sell_response = 'y'; } else if (sell_response != 'n') { ! /*JP pline("%s cannot pay you at present.", Monnam(shkp));*/ ! pline("%s¤Ïº£¤Î¤È¤³¤í¤Ï»Ùʧ¤¨¤Ê¤¤¡¥", Monnam(shkp)); Sprintf(qbuf, ! /*JP "Will you accept %ld zorkmid%s in credit for %s?", ! tmpcr, plur(tmpcr), doname(obj));*/ ! "%s¤Ë¤Ä¤¤¤Æ%ld¥´¡¼¥ë¥É¤Î¥¯¥ì¥¸¥Ã¥È¤ò¼õ¤±¤¤¤ì¤Þ¤¹¤«¡©", ! ! doname(obj), tmpcr); /* won't accept 'a' response here */ c = ynq(qbuf); } else /* previously specified "quit" */ *************** *** 2305,2314 **** if (c == 'y') { shk_names_obj(shkp, obj, sell_voluntarily ? ! "traded %s for %ld zorkmid%s in %scredit." : "relinquish %s and acquire %ld zorkmid%s in %scredit.", tmpcr, ! (eshkp->credit > 0L) ? "additional " : ""); eshkp->credit += tmpcr; subfrombill(obj, shkp); } else { --- 2499,2511 ---- if (c == 'y') { shk_names_obj(shkp, obj, sell_voluntarily ? ! /*JP "traded %s for %ld zorkmid%s in %scredit." : "relinquish %s and acquire %ld zorkmid%s in %scredit.", tmpcr, ! (eshkp->credit > 0L) ? "additional " : "");*/ ! "%s¤ò%ld¥´¡¼¥ë¥Éʬ¤Î¥¯¥ì¥¸¥Ã¥È¤Ç¼õ¤±¤È¤Ã¤¿%s¡¥" : ! "%s¤òÅϤ·¡¤%ld¥´¡¼¥ë¥Éʬ¤Î¥¯¥ì¥¸¥Ã¥È¤òÆÀ¤¿%s¡¥", ! tmpcr, ""); eshkp->credit += tmpcr; subfrombill(obj, shkp); } else { *************** *** 2326,2337 **** if (!sell_response) { Sprintf(qbuf, ! "%s offers%s %ld gold piece%s for%s %s %s. Sell %s?", Monnam(shkp), short_funds ? " only" : "", offer, plur(offer), (!ltmp && cltmp) ? " the contents of" : "", obj->unpaid ? "the" : "your", xname(obj), ! (obj->quan == 1L) ? "it" : "them"); } else qbuf[0] = '\0'; /* just to pacify lint */ switch (sell_response ? sell_response : ynaq(qbuf)) { --- 2523,2540 ---- if (!sell_response) { Sprintf(qbuf, ! /*JP "%s offers%s %ld gold piece%s for%s %s %s. Sell %s?", Monnam(shkp), short_funds ? " only" : "", offer, plur(offer), (!ltmp && cltmp) ? " the contents of" : "", obj->unpaid ? "the" : "your", xname(obj), ! (obj->quan == 1L) ? "it" : "them");*/ ! "%s¤Ï¤¢¤Ê¤¿¤Î%s%s¤Ë%ld¤ÎÃÍ%s¡¥Çä¤ê¤Þ¤¹¤«¡©", ! Monnam(shkp), xname(obj), ! (!ltmp && cltmp) ? "¤ÎÃæ¿È" : "", ! offer, ! short_funds ? "¤·¤«¤Ä¤±¤Ê¤«¤Ã¤¿" : "¤ò¤Ä¤±¤¿"); ! } else qbuf[0] = '\0'; /* just to pacify lint */ switch (sell_response ? sell_response : ynaq(qbuf)) { *************** *** 2348,2355 **** subfrombill(obj, shkp); pay(-offer, shkp); shk_names_obj(shkp, obj, sell_voluntarily ? ! "sold %s for %ld gold piece%s.%s" : "relinquish %s and receive %ld gold piece%s in compensation.%s", offer, ""); break; default: impossible("invalid sell response"); --- 2551,2561 ---- subfrombill(obj, shkp); pay(-offer, shkp); shk_names_obj(shkp, obj, sell_voluntarily ? ! /*JP "sold %s for %ld gold piece%s.%s" : "relinquish %s and receive %ld gold piece%s in compensation.%s", + */ + "%s¤ò%ld¥´¡¼¥ë¥É¤ÇÇä¤Ã¤¿%s¡¥%s" : + "%s¤òÅϤ·¡¤%ld¥´¡¼¥ë¥É¤ÎÂå½þ¤ò¼õ¤±¤È¤Ã¤¿%s¡¥%s", offer, ""); break; default: impossible("invalid sell response"); *************** *** 2393,2399 **** } datawin = create_nhwindow(NHW_MENU); ! putstr(datawin, 0, "Unpaid articles already used up:"); putstr(datawin, 0, ""); totused = 0L; --- 2599,2606 ---- } datawin = create_nhwindow(NHW_MENU); ! /*JP putstr(datawin, 0, "Unpaid articles already used up:");*/ ! putstr(datawin, 0, "¤¹¤Ç¤Ë»È¤Ã¤Æ¤·¤Þ¤Ã¤¿Ì¤Ê§¤ÎÉÊÌÜ¡§"); putstr(datawin, 0, ""); totused = 0L; *************** *** 2432,2442 **** if (totused) putstr(datawin, 0, ""); totused += eshkp->debit; buf_p = xprname((struct obj *)0, ! "usage charges and/or other fees", GOLD_SYM, FALSE, eshkp->debit); putstr(datawin, 0, buf_p); } ! buf_p = xprname((struct obj *)0, "Total:", '*', FALSE, totused); putstr(datawin, 0, ""); putstr(datawin, 0, buf_p); display_nhwindow(datawin, FALSE); --- 2639,2650 ---- if (totused) putstr(datawin, 0, ""); totused += eshkp->debit; buf_p = xprname((struct obj *)0, ! "»ÈÍÑÎÁ¤Þ¤¿¤Ï¾¤Î¼ê¿ôÎÁ", GOLD_SYM, FALSE, eshkp->debit); putstr(datawin, 0, buf_p); } ! /*JP buf_p = xprname((struct obj *)0, "Total:", '*', FALSE, totused);*/ ! buf_p = xprname((struct obj *)0, "¹ç·×¡§", '*', FALSE, totused); putstr(datawin, 0, ""); putstr(datawin, 0, buf_p); display_nhwindow(datawin, FALSE); *************** *** 2498,2506 **** /* if it is the shk's pos, you hit and anger him */ (shkp->mx != x || shkp->my != y)) { if (mnearto(shkp, x, y, TRUE)) ! verbalize("Out of my way, scum!"); if (cansee(x, y)) { ! pline("%s nimbly catches %s.", Monnam(shkp), the(xname(obj))); delay_output(); mark_synch(); --- 2706,2716 ---- /* if it is the shk's pos, you hit and anger him */ (shkp->mx != x || shkp->my != y)) { if (mnearto(shkp, x, y, TRUE)) ! /*JP verbalize("Out of my way, scum!");*/ ! verbalize("¤É¤±¡¤¥¯¥½¤Ã¤¿¤ì¡ª"); if (cansee(x, y)) { ! /*JP pline("%s nimbly catches %s.",*/ ! pline("%s¤Ï¤¹¤Ð¤ä¤¯%s¤ò¤Ä¤«¤Þ¤¨¤¿¡¥", Monnam(shkp), the(xname(obj))); delay_output(); mark_synch(); *************** *** 2627,2651 **** if (!did_repair) return; if (saw_walls) { ! pline("Suddenly, %s section%s of wall close%s up!", (saw_walls == 1) ? "a" : (saw_walls <= 3) ? "some" : "several", ! (saw_walls == 1) ? "" : "s", (saw_walls == 1) ? "s" : ""); if (saw_door) ! pline_The("shop door reappears!"); if (saw_floor) ! pline_The("floor is repaired!"); } else { if (saw_door) ! pline("Suddenly, the shop door reappears!"); else if (saw_floor) ! pline("Suddenly, the floor damage is gone!"); else if (saw_untrap) ! pline("Suddenly, the trap is removed from the floor!"); else if (inside_shop(u.ux, u.uy) == ESHK(shkp)->shoproom) ! You_feel("more claustrophobic than before."); else if (flags.soundok && !rn2(10)) ! Norep("The dungeon acoustics noticeably change."); } if (stop_picking) stop_occupation(); --- 2837,2872 ---- if (!did_repair) return; if (saw_walls) { ! /*JP pline("Suddenly, %s section%s of wall close%s up!", (saw_walls == 1) ? "a" : (saw_walls <= 3) ? "some" : "several", ! (saw_walls == 1) ? "" : "s", (saw_walls == 1) ? "s" : "");*/ ! pline("ÆÍÁ³¡¤Êɤ¬%sÊĤޤä¿¡ª", ! (saw_walls == 1) ? "°ì²Õ½ê" : (saw_walls <= 3) ? ! "²¿²Õ½ê¤«" : "¤¢¤Á¤³¤Á¤Ç"); if (saw_door) ! /*JP pline_The("shop door reappears!");*/ ! pline("Ź¤ÎÈ⤬¤Þ¤¿¸½¤ï¤ì¤¿¡ª"); ! if (saw_floor) ! /*JP pline_The("floor is repaired!");*/ ! pline("¾²¤Ï½¤Éü¤µ¤ì¤¿¡ª"); } else { if (saw_door) ! /*JP pline("Suddenly, the shop door reappears!");*/ ! pline("ÆÍÁ³¡¤Å¹¤ÎÈ⤬¤Þ¤¿¸½¤ï¤ì¤¿¡ª"); else if (saw_floor) ! /*JP pline("Suddenly, the floor damage is gone!");*/ ! pline("ÆÍÁ³¡¤¾²¤Î½ý¤¬¤Ê¤¯¤Ê¤Ã¤¿¡ª"); else if (saw_untrap) ! /*JP pline("Suddenly, the trap is removed from the floor!");*/ ! pline("ÆÍÁ³æ«¤¬¾²¤«¤é¾Ã¤¨¤¿¡ª"); else if (inside_shop(u.ux, u.uy) == ESHK(shkp)->shoproom) ! /*JP You_feel("more claustrophobic than before.");*/ ! You("Á°¤è¤êÊĽ궲Éݾɵ¤Ì£¤Ë¤Ê¤Ã¤¿¡¥"); else if (flags.soundok && !rn2(10)) ! /*JP Norep("The dungeon acoustics noticeably change.");*/ ! Norep("̵ܤ⻶Á¤Ï¤¤¤Á¤¸¤ë¤·¤¯ÊѤä¿¡¥"); } if (stop_picking) stop_occupation(); *************** *** 2734,2740 **** * * Take the easy way out and put ball&chain under hero. */ ! verbalize("Get your junk out of my wall!"); unplacebc(); /* pick 'em up */ placebc(); /* put 'em down */ } --- 2955,2962 ---- * * Take the easy way out and put ball&chain under hero. */ ! /*JP verbalize("Get your junk out of my wall!");*/ ! verbalize("¤½¤Î¥¬¥é¥¯¥¿¤ò³°¤Ë»ý¤Ã¤Æ¹Ô¤­¤Ê¡ª"); unplacebc(); /* pick 'em up */ placebc(); /* put 'em down */ } *************** *** 2805,2828 **** if(ANGRY(shkp) || (Conflict && !resist(shkp, RING_CLASS, 0, 0))) { if(Displaced) ! Your("displaced image doesn't fool %s!", mon_nam(shkp)); (void) mattacku(shkp); return(0); } if(eshkp->following) { if(strncmp(eshkp->customer, plname, PL_NSIZ)) { ! verbalize("Hello, %s! I was looking for %s.", plname, eshkp->customer); eshkp->following = 0; return(0); } if(moves > followmsg+4) { ! verbalize("Hello, %s! Didn't you forget to pay?", plname); followmsg = moves; if (!rn2(9)) { ! pline("%s doesn't like customers who don't pay.", Monnam(shkp)); rile_shk(shkp); } --- 3027,3054 ---- if(ANGRY(shkp) || (Conflict && !resist(shkp, RING_CLASS, 0, 0))) { if(Displaced) ! /*JP Your("displaced image doesn't fool %s!",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î¸¸±Æ¤Ë¤À¤Þ¤µ¤ì¤Ê¤«¤Ã¤¿¡ª", mon_nam(shkp)); (void) mattacku(shkp); return(0); } if(eshkp->following) { if(strncmp(eshkp->customer, plname, PL_NSIZ)) { ! /*JP verbalize("Hello, %s! I was looking for %s.",*/ ! verbalize("¤³¤ó¤Ë¤Á¤Ï%s¡ª¤ï¤¿¤·¤Ï%s¤òõ¤·¤Æ¤¤¤Þ¤¹¡¥", plname, eshkp->customer); eshkp->following = 0; return(0); } if(moves > followmsg+4) { ! /*JP verbalize("Hello, %s! Didn't you forget to pay?",*/ ! verbalize("¤³¤ó¤Ë¤Á¤Ï%s¡ª»Ùʧ¤¤¤ò˺¤ì¤Æ¤¤¤Þ¤»¤ó¤«¡©", plname); followmsg = moves; if (!rn2(9)) { ! /*JP pline("%s doesn't like customers who don't pay.",*/ ! pline ("%s¤Ï¶â¤òʧ¤ï¤Ê¤¤µÒ¤¬·ù¤¤¤ß¤¿¤¤¤À¡¥", Monnam(shkp)); rile_shk(shkp); } *************** *** 2906,2916 **** if(!fall) { if(u.utraptype == TT_PIT) ! verbalize("Be careful, %s, or you might fall through the floor.", ! flags.female ? "madam" : "sir"); else ! verbalize("%s, do not damage the floor here!", ! flags.female ? "Madam" : "Sir"); if (Role_is('K')) adjalign(-sgn(u.ualign.type)); } else if(!um_dist(shkp->mx, shkp->my, 5) && !shkp->msleep && shkp->mcanmove && --- 3132,3146 ---- if(!fall) { if(u.utraptype == TT_PIT) ! /*JP verbalize("Be careful, %s, or you might fall through the floor.",*/ ! verbalize("Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤%s¡¤¾²¤«¤éÍî¤Á¤Þ¤¹¤è¡¥", ! /*JP flags.female ? "madam" : "sir");*/ ! flags.female ? "¤ª¾î¤µ¤ó" : "¤ªµÒ¤µ¤ó"); else ! /*JP verbalize("%s, do not damage the floor here!", ! flags.female ? "Madam" : "Sir");*/ ! verbalize("%s¡¤¾²¤Ë½ý¤ò¤Ä¤±¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡ª", ! flags.female ? "¤ª¾î¤µ¤ó" : "¤ªµÒ¤µ¤ó"); if (Role_is('K')) adjalign(-sgn(u.ualign.type)); } else if(!um_dist(shkp->mx, shkp->my, 5) && !shkp->msleep && shkp->mcanmove && *************** *** 2921,2933 **** mnexto(shkp); /* for some reason the shopkeeper can't come next to you */ if (distu(shkp->mx, shkp->my) > 2) { ! pline("%s curses you in anger and frustration!", shkname(shkp)); rile_shk(shkp); return; ! } else pline("%s leaps, and grabs your backpack!", shkname(shkp)); ! } else pline("%s grabs your backpack!", shkname(shkp)); for(obj = invent; obj; obj = obj2) { obj2 = obj->nobj; --- 3151,3166 ---- mnexto(shkp); /* for some reason the shopkeeper can't come next to you */ if (distu(shkp->mx, shkp->my) > 2) { ! /*JP pline("%s curses you in anger and frustration!",*/ ! pline("Åܤê¤ÇÉÔËþ¤Î¤¿¤Þ¤Ã¤Æ¤¤¤ë%s¤Ï¤¢¤Ê¤¿¤ò¼ö¤Ã¤¿¡ª", shkname(shkp)); rile_shk(shkp); return; ! /*JP } else pline("%s leaps, and grabs your backpack!",*/ ! } else pline("%s¤ÏÈô¤Ó¤Ä¤¤¤Æ¡¤¤¢¤Ê¤¿¤ÎÇØÉ餤ÂÞ¤ò¤Ä¤«¤ó¤À¡ª", shkname(shkp)); ! /*JP } else pline("%s grabs your backpack!", shkname(shkp));*/ ! } else pline("%s¤Ï¤¢¤Ê¤¿¤ÎÇØÉ餤ÂÞ¤ò¤Ä¤«¤ó¤À¡ª", shkname(shkp)); for(obj = invent; obj; obj = obj2) { obj2 = obj->nobj; *************** *** 2976,2983 **** --- 3209,3220 ---- 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 */ + #endif + boolean dugwall = !strcmp(dmgstr, "·ê¤ò³«¤±¤ë") || /* wand */ + !strcmp(dmgstr, "½ý¤Ä¤±¤ë"); /* pick-axe */ struct damage *tmp_dam, *appear_here = 0; /* any number >= (80*80)+(24*24) would do, actually */ long cost_of_damage = 0L; *************** *** 3052,3058 **** if(uinshp) { if(um_dist(shkp->mx, shkp->my, 1) && !um_dist(shkp->mx, shkp->my, 3)) { ! pline("%s leaps towards you!", shkname(shkp)); mnexto(shkp); } if(um_dist(shkp->mx, shkp->my, 1)) goto getcad; --- 3289,3296 ---- 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¤Ï¤¢¤Ê¤¿¤ËÈô¤Ó¤«¤«¤Ã¤¿¡ª", shkname(shkp)); mnexto(shkp); } if(um_dist(shkp->mx, shkp->my, 1)) goto getcad; *************** *** 3065,3072 **** */ if (MON_AT(x, y)) { if(flags.soundok) { ! You_hear("an angry voice:"); ! verbalize("Out of my way, scum!"); wait_synch(); #if defined(UNIX) || defined(VMS) # if defined(SYSV) || defined(ULTRIX) || defined(VMS) --- 3303,3312 ---- */ if (MON_AT(x, y)) { if(flags.soundok) { ! /*JP You_hear("an angry voice:");*/ ! You("Åܤê¤ÎÀ¼¤òʹ¤¤¤¿¡§"); ! /*JP verbalize("Out of my way, scum!");*/ ! verbalize("¤É¤±¡ª¥¯¥½¤Ã¤¿¤ì¡ª"); wait_synch(); #if defined(UNIX) || defined(VMS) # if defined(SYSV) || defined(ULTRIX) || defined(VMS) *************** *** 3083,3115 **** (u.ugold + ESHK(shkp)->credit) < cost_of_damage || !rn2(50)) { if(um_dist(x, y, 1) && !uinshp) { ! pline("%s shouts:", shkname(shkp)); ! verbalize("Who dared %s my %s?", dmgstr, ! dugwall ? "shop" : "door"); } else { getcad: ! verbalize("How dare you %s my %s?", dmgstr, ! dugwall ? "shop" : "door"); } hot_pursuit(shkp); return; } ! if(Invis) Your("invisibility does not fool %s!", shkname(shkp)); ! Sprintf(qbuf,"\"Cad! You did %ld zorkmids worth of damage!\" Pay? ", cost_of_damage); if(yn(qbuf) != 'n') { cost_of_damage = check_credit(cost_of_damage, shkp); u.ugold -= cost_of_damage; shkp->mgold += cost_of_damage; flags.botl = 1; ! pline("Mollified, %s accepts your restitution.", shkname(shkp)); /* move shk back to his home loc */ home_shk(shkp, FALSE); pacify_shk(shkp); } else { ! verbalize("Oh, yes! You'll pay!"); hot_pursuit(shkp); adjalign(-sgn(u.ualign.type)); } --- 3323,3364 ---- (u.ugold + ESHK(shkp)->credit) < cost_of_damage || !rn2(50)) { if(um_dist(x, y, 1) && !uinshp) { ! /*JP pline("%s shouts:", shkname(shkp));*/ ! pline("%s¤Ï¤µ¤±¤ó¤À¡§", shkname(shkp)); ! /*JP verbalize("Who dared %s my %s?", dmgstr, ! dugwall ? "shop" : "door");*/ ! verbalize("郎%s¤ò%s¤ê¤·¤¿¤ó¤À¤í¤¦¡©", ! dugwall ? "Ź" : "Èâ",jconj(dmgstr,"¤¿")); } else { getcad: ! /*JP verbalize("How dare you %s my %s?", dmgstr, ! dugwall ? "shop" : "door");*/ ! verbalize("¤É¤¦¤·¤Æ%s¤ò%s¤ê¤·¤¿¤ó¤À¡©", ! dugwall ? "Ź" : "Èâ",jconj(dmgstr,"¤¿")); } hot_pursuit(shkp); return; } ! /*JP if(Invis) Your("invisibility does not fool %s!", shkname(shkp));*/ ! if(Invis) pline("%s¤ÏÆ©ÌÀ¤Ê¤¢¤Ê¤¿¤Ë¤À¤Þ¤µ¤ì¤Ê¤«¤Ã¤¿¡ª", shkname(shkp)); ! /*JP Sprintf(qbuf,"\"Cad! You did %ld zorkmids worth of damage!\" Pay? ",*/ ! Sprintf(qbuf,"¡Ö¤ª¤¤¡ª%ld¥´¡¼¥ë¥É¤Î»³²¤À¡ª¡×ʧ¤¤¤Þ¤¹¤«¡©", cost_of_damage); if(yn(qbuf) != 'n') { cost_of_damage = check_credit(cost_of_damage, shkp); u.ugold -= cost_of_damage; shkp->mgold += cost_of_damage; flags.botl = 1; ! /*JP pline("Mollified, %s accepts your restitution.",*/ ! pline("%s¤Ï¡¤´¶¾ð¤ò¤ä¤ï¤é¤²Çå½þ¶â¤ò¼õ¤±¤È¤Ã¤¿¡¥", shkname(shkp)); /* move shk back to his home loc */ home_shk(shkp, FALSE); pacify_shk(shkp); } else { ! /*JP verbalize("Oh, yes! You'll pay!");*/ ! verbalize("¤µ¤¢¡¤Ê§¤¦¤ó¤À¡ª"); hot_pursuit(shkp); adjalign(-sgn(u.ualign.type)); } *************** *** 3168,3174 **** struct monst *shkp = shop_keeper(inside_shop(u.ux, u.uy)); tmpwin = create_nhwindow(NHW_MENU); ! putstr(tmpwin, 0, "Fine goods for sale:"); putstr(tmpwin, 0, ""); for (otmp = first_obj; otmp; otmp = otmp->nexthere) { if (otmp->oclass == GOLD_CLASS) continue; --- 3417,3424 ---- 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, "Çä¤ê¤Ë¤Ç¤Æ¤¤¤ë¤¹¤Ð¤é¤·¤¤¾¦ÉÊ¡§"); putstr(tmpwin, 0, ""); for (otmp = first_obj; otmp; otmp = otmp->nexthere) { if (otmp->oclass == GOLD_CLASS) continue; *************** *** 3177,3203 **** if (Has_contents(otmp)) cost += contained_cost(otmp, shkp, 0L, FALSE); if (!cost) { ! Strcpy(price, "no charge"); } else { ! Sprintf(price, "%ld zorkmid%s%s", cost, plur(cost), ! otmp->quan > 1L ? " each" : ""); } ! Sprintf(buf, "%s, %s", doname(otmp), price); putstr(tmpwin, 0, buf), cnt++; } if (cnt > 1) { display_nhwindow(tmpwin, TRUE); } else if (cnt == 1) { if (first_obj->no_charge || first_obj == uball || first_obj == uchain){ ! pline("%s!", buf); /* buf still contains the string */ } else { /* print cost in slightly different format, so can't reuse buf */ cost = get_cost(first_obj, (struct monst *)0); if (Has_contents(first_obj)) cost += contained_cost(first_obj, shkp, 0L, FALSE); ! pline("%s, price %ld zorkmid%s%s%s", doname(first_obj), cost, plur(cost), first_obj->quan > 1L ? " each" : "", ! shk_embellish(first_obj, cost)); } } destroy_nhwindow(tmpwin); --- 3427,3463 ---- if (Has_contents(otmp)) cost += contained_cost(otmp, shkp, 0L, FALSE); if (!cost) { ! /*JP Strcpy(price, "no charge");*/ ! Strcpy(price, "̵ÎÁ"); } else { ! /*JP Sprintf(price, "%ld zorkmid%s%s", cost, plur(cost), ! otmp->quan > 1L ? " each" : "");*/ ! Sprintf(price, "%s%ld¥´¡¼¥ë¥É", ! otmp->quan > 1L ? "¤½¤ì¤¾¤ì" : "", cost); } ! /*JP Sprintf(buf, "%s, %s", doname(otmp), price);*/ ! Sprintf(buf, "%s¡¤%s", doname(otmp), price); putstr(tmpwin, 0, buf), cnt++; } if (cnt > 1) { display_nhwindow(tmpwin, TRUE); } else if (cnt == 1) { if (first_obj->no_charge || first_obj == uball || first_obj == uchain){ ! /*JP pline("%s!", buf); /* buf still contains the string */ ! pline("%s¡ª", buf); /* buf still contains the string */ } else { /* print cost in slightly different format, so can't reuse buf */ cost = get_cost(first_obj, (struct monst *)0); if (Has_contents(first_obj)) cost += contained_cost(first_obj, shkp, 0L, FALSE); ! /*JP pline("%s, price %ld zorkmid%s%s%s", doname(first_obj), cost, plur(cost), first_obj->quan > 1L ? " each" : "", ! shk_embellish(first_obj, cost));*/ ! pline("%s%s¤Ï%s%ld¥´¡¼¥ë¥É¤À¡¥", ! shk_embellish(first_obj, cost), ! doname(first_obj), ! first_obj->quan > 1L ? "¤½¤ì¤¾¤ì" : "", ! cost); } } destroy_nhwindow(tmpwin); *************** *** 3216,3244 **** switch (choice) { case 4: if (cost < 10L) break; else o = itm->oclass; ! if (o == FOOD_CLASS) return ", gourmets' delight!"; 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)) ! return ", painstakingly developed!"; ! return ", superb craftsmanship!"; ! case 3: return ", finest quality."; case 2: return ", an excellent choice."; ! case 1: return ", a real bargain."; default: break; } } else if (itm->oartifact) { ! return ", one of a kind!"; } ! return "."; } #endif /*OVL3*/ #ifdef OVLB /* First 4 supplied by Ronen and Tamar, remainder by development team */ const char *Izchak_speaks[]={ "%s says: 'These shopping malls give me a headache.'", "%s says: 'Slow down. Think clearly.'", "%s says: 'You need to take things one at a time.'", --- 3476,3513 ---- switch (choice) { case 4: if (cost < 10L) break; else o = itm->oclass; ! /*JP if (o == FOOD_CLASS) return ", gourmets' delight!";*/ ! if (o == FOOD_CLASS) return "¥°¥ë¥á¤¬µã¤¤¤Æ´î¤Ö"; 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 "°ìµé¤ÎËâÎϤòÈë¤á¤¿"; ! /*JP return ", superb craftsmanship!";*/ ! return "°ìή¿¦¿Í¤Îºî¤Ã¤¿"; ! /*JP case 3: return ", finest quality."; case 2: return ", an excellent choice."; ! case 1: return ", a real bargain.";*/ ! case 3: return "ºÇ¹â¤ÎÉʼÁ¤ò¸Ø¤ë"; ! case 2: return "¤µ¤¹¤¬¤ªµÒ¤µ¤óÌܤ¬¹â¤¤¡ª"; ! case 1: return "ËÜÆü¤ÎÌܶ̾¦ÉÊ¡ª"; default: break; } } else if (itm->oartifact) { ! /*JP return ", one of a kind!";*/ ! return "¤³¤ì¤ÏÀ¤³¦¤Ë¤Þ¤¿¤È¤Ê¤¤¡ª"; } ! /*JP return ".";*/ ! return ""; } #endif /*OVL3*/ #ifdef OVLB /* First 4 supplied by Ronen and Tamar, remainder by development team */ const char *Izchak_speaks[]={ + #if 0 "%s says: 'These shopping malls give me a headache.'", "%s says: 'Slow down. Think clearly.'", "%s says: 'You need to take things one at a time.'", *************** *** 3248,3253 **** --- 3517,3532 ---- "%s says: 'Don't try to steal from me - I have friends in high places!'", "%s says: 'You may well need something from this shop in the future.'", "%s comments about the Valley of the Dead as being a gateway." + #endif + "%sÛ©¤¯¡Ø¤³¤ì¤é¥·¥ç¥Ã¥Ô¥ó¥°³¹¤ÏƬÄˤΥ¿¥Í¤À¡¥¡Ù", + "%sÛ©¤¯¡Ø¤æ¤Ã¤¯¤ê¹Í¤¨¤è¡¥¡Ù", + "%sÛ©¤¯¡Ø°ìÅ٤˰ì¸Ä¼è¤ëɬÍפ¬¤¢¤ë¡¥¡Ù", + "%sÛ©¤¯¡Ø¥Û¥â¤Ã¤Ý¤¤¥³¡¼¥Ò¤Ï¹¥¤­¤¸¤ã¤Ê¤¤¡¥¡¥¡¥¥¢¥á¥ê¥«¤Î¤ä¤Ä¤ò¤¿¤Î¤à¡¥¡Ù", + "³«È¯¥Á¡¼¥à¤Ë²¿¤é¤«¤Î¶¨Äê¤òµá¤á¤ë¤³¤È¤Ïº¤Æñ¤À¤È%s¤Ï½Ò¤Ù¤¿¡¥", + "%s¤Ï¿À¤Ë»Å¤¨¤ë¤ä¤Ä¤Ï¶â¤òÌÙ¤±¤Æ¤¤¤ë¤È½Ò¤Ù¤¿¡¥", + "%sÛ©¤¯¡Ø»ä¤«¤éÅð¤â¤¦¤Ê¤ó¤Æ»×¤ï¤Ê¤¤¤³¤È¤À¡¥¾å¤ÎÊý¤ËÃΤê¹ç¤¤¤¬¤¤¤ë¤ó¤À¤«¤é¡¥¡Ù", + "%sÛ©¤¯¡Ø̤Íè¤Ë¤ª¤¤¤Æ¤³¤ÎŹ¤Ç²¿¤«¤òɬÍפȤ¹¤ë¤À¤í¤¦¡Ù", + "%s¤Ï»à¤Îë¤Ï¥²¡¼¥È¥¦¥§¥¤¤À¤í¤¦¤È¥³¥á¥ó¥È¤ò½Ò¤Ù¤¿¡¥" }; void *************** *** 3257,3294 **** register struct eshk *eshk = ESHK(shkp); if (ANGRY(shkp)) ! pline("%s mentions how much %s dislikes %s customers.", shkname(shkp), he[shkp->female], ! eshk->robbed ? "non-paying" : "rude"); else if (eshk->following) { if (strncmp(eshk->customer, plname, PL_NSIZ)) { ! verbalize("Hello %s! I was looking for %s.", plname, eshk->customer); eshk->following = 0; } else { ! verbalize("Hello %s! Didn't you forget to pay?", plname); } } else if (eshk->billct) { register long total = addupbill(shkp) + eshk->debit; ! pline("%s says that your bill comes to %ld zorkmid%s.", ! shkname(shkp), total, plur(total)); } else if (eshk->debit) ! pline("%s reminds you that you owe %s %ld zorkmid%s.", shkname(shkp), him[shkp->female], ! eshk->debit, plur(eshk->debit)); else if (eshk->credit) ! pline("%s encourages you to use your %ld zorkmid%s of credit.", ! shkname(shkp), eshk->credit, plur(eshk->credit)); else if (eshk->robbed) ! pline("%s complains about a recent robbery.", shkname(shkp)); else if (shkp->mgold < 50) ! pline("%s complains that business is bad.", shkname(shkp)); else if (shkp->mgold > 4000) ! pline("%s says that business is good.", shkname(shkp)); else if (strcmp(shkname(shkp), "Izchak") == 0) pline(Izchak_speaks[rn2(SIZE(Izchak_speaks))],shkname(shkp)); else ! pline("%s talks about the problem of shoplifters.",shkname(shkp)); } #ifdef KOPS --- 3536,3589 ---- register struct eshk *eshk = ESHK(shkp); if (ANGRY(shkp)) ! /*JP pline("%s mentions how much %s dislikes %s customers.", shkname(shkp), he[shkp->female], ! eshk->robbed ? "non-paying" : "rude");*/ ! pline("%s¤Ï%sµÒ¤ÏÂç·ù¤¤¤À¤È¸À¤Ã¤¿¡¥", ! shkname(shkp), ! eshk->robbed ? "¶â¤ò»Ùʧ¤ï¤Ê¤¤" : "̵Îé¤Ê"); else if (eshk->following) { if (strncmp(eshk->customer, plname, PL_NSIZ)) { ! /*JP verbalize("Hello %s! I was looking for %s.",*/ ! verbalize("¤³¤ó¤Ë¤Á¤Ï%s¡ª»ä¤Ï%s¤òõ¤·¤Æ¤¤¤Þ¤¹¡¥", plname, eshk->customer); eshk->following = 0; } else { ! /*JP verbalize("Hello %s! Didn't you forget to pay?", plname);*/ ! verbalize("¤³¤ó¤Ë¤Á¤Ï%s¡ª»Ùʧ¤¤¤ò˺¤ì¤Æ¤¤¤Þ¤»¤ó¤«¡©", plname); } } else if (eshk->billct) { register long total = addupbill(shkp) + eshk->debit; ! /*JP pline("%s says that your bill comes to %ld zorkmid%s.", ! shkname(shkp), total, plur(total));*/ ! pline("%s¤Ï´ªÄ꤬%ld¥´¡¼¥ë¥É¤Ë¤Ê¤ë¤È¸À¤Ã¤¿¡¥", ! shkname(shkp), total); } else if (eshk->debit) ! /*JP pline("%s reminds you that you owe %s %ld zorkmid%s.", shkname(shkp), him[shkp->female], ! eshk->debit, plur(eshk->debit));*/ ! pline("¤¢¤Ê¤¿¤Ï%s¤Ë%ld¥´¡¼¥ë¥É¤Î¼Ú¤ê¤¬¤¢¤ë¤³¤È¤ò»×¤¤¤À¤·¤¿", ! shkname(shkp), ! eshk->debit); else if (eshk->credit) ! /*JP pline("%s encourages you to use your %ld zorkmid%s of credit.", ! shkname(shkp), eshk->credit, plur(eshk->credit));*/ ! pline("%s¤Ï¥¯¥ì¥¸¥Ã¥È¤Ç%ld¥´¡¼¥ë¥É»È¤¦¤è¤¦´«¤á¤¿¡¥", ! shkname(shkp), eshk->credit); else if (eshk->robbed) ! /*JP pline("%s complains about a recent robbery.", shkname(shkp));*/ ! pline("%sºÇ¶á¤Î¶¯Åð¤Ë¤Ä¤¤¤Æ¶òÃÔ¤ò¤³¤Ü¤·¤¿¡¥", shkname(shkp)); else if (shkp->mgold < 50) ! /*JP pline("%s complains that business is bad.", shkname(shkp));*/ ! pline("%s¤Ï¾¦Ç䤬»Ý¤¯¤¤¤Ã¤Æ¤Ê¤¤¤È¶òÃÔ¤ò¤³¤Ü¤·¤¿¡¥", shkname(shkp)); else if (shkp->mgold > 4000) ! /*JP pline("%s says that business is good.", shkname(shkp));*/ ! pline("%s¤Ï¾¦Ç䤬»Ý¤¯¤¤¤Ã¤Æ¤¤¤ë¤È¸À¤Ã¤¿¡¥", shkname(shkp)); else if (strcmp(shkname(shkp), "Izchak") == 0) pline(Izchak_speaks[rn2(SIZE(Izchak_speaks))],shkname(shkp)); else ! /*JP pline("%s talks about the problem of shoplifters.",shkname(shkp));*/ ! pline("%s¤ÏËü°ú¤ÎÌäÂê¤Ë¤Ä¤¤¤ÆÏä·¤¿¡¥", shkname(shkp)); } #ifdef KOPS *************** *** 3307,3314 **** } } if (cnt && !silent) ! pline_The("Kop%s (disappointed) vanish%s into thin air.", ! plur(cnt), cnt == 1 ? "es" : ""); } #endif /* KOPS */ --- 3602,3610 ---- } } if (cnt && !silent) ! /*JP pline_The("Kop%s (disappointed) vanish%s into thin air.", ! plur(cnt), cnt == 1 ? "es" : "");*/ ! pline("¤¬¤Ã¤¯¤ê¤·¤¿·Ù´±¤Ï¶õµ¤¤Ë¤È¤±¤Æ¾Ã¤¨¤¿¡¥"); } #endif /* KOPS */ *************** *** 3376,3390 **** arg1 = arg2 = ""; if (otmp->oclass == SPBOOK_CLASS) { ! fmt = "%sYou owe%s %ld zorkmids."; ! arg1 = rn2(2) ? "This is no free library, cad! " : ""; ! arg2 = ESHK(shkp)->debit > 0L ? " an additional" : ""; } else if (otmp->otyp == POT_OIL) { ! fmt = "%s%sThat will cost you %ld zorkmids (Yendorian Fuel Tax)."; } else { ! fmt = "%s%sUsage fee, %ld zorkmids."; ! if (!rn2(3)) arg1 = "Hey! "; ! if (!rn2(3)) arg2 = "Ahem. "; } if (shkp->mcanmove || !shkp->msleep) --- 3672,3693 ---- arg1 = arg2 = ""; if (otmp->oclass == SPBOOK_CLASS) { ! /*JP fmt = "%sYou owe%s %ld zorkmids.";*/ ! fmt = "%s%s%ld¥´¡¼¥ë¥É¤Î¼Ú¤ê¤À¡¥"; ! /*JP arg1 = rn2(2) ? "This is no free library, cad! " : "";*/ ! arg1 = rn2(2) ? "¤ª¤¤¡ª¤³¤³¤Ï¿Þ½ñ´Û¤¸¤ã¤Ê¤¤¡ª" : ""; ! /*JP arg2 = ESHK(shkp)->debit > 0L ? " an additional" : "";*/ ! arg2 = ESHK(shkp)->debit > 0L ? "¤µ¤é¤Ë¸À¤¨¤Ð" : ""; } else if (otmp->otyp == POT_OIL) { ! /*JP fmt = "%s%sThat will cost you %ld zorkmids (Yendorian Fuel Tax).";*/ ! fmt = "%s%sÃÍÃʤÏ%ld¥´¡¼¥ë¥É(¥¤¥§¥ó¥À¡¼Ç³ÎÁÀÇ)¤À¡¥"; } else { ! /*JP fmt = "%s%sUsage fee, %ld zorkmids.";*/ ! fmt = "%s%s»ÈÍÑÎÁ¤Ï¡¤%ld¥´¡¼¥ë¥É¤À¡¥"; ! /*JP if (!rn2(3)) arg1 = "Hey! "; ! if (!rn2(3)) arg2 = "Ahem. ";*/ ! if (!rn2(3)) arg1 = "¤ª¤¤¡ª"; ! if (!rn2(3)) arg2 = ""; } if (shkp->mcanmove || !shkp->msleep) *************** *** 3409,3427 **** eshkp = ESHK(shkp); if(eshkp->credit >= amount) { if(eshkp->credit > amount) ! Your("credit is reduced by %ld zorkmid%s.", ! amount, plur(amount)); ! else Your("credit is erased."); eshkp->credit -= amount; } else { delta = amount - eshkp->credit; if(eshkp->credit) ! Your("credit is erased."); if(eshkp->debit) ! Your("debt increases by %ld zorkmid%s.", ! delta, plur(delta)); ! else You("owe %s %ld zorkmid%s.", ! shkname(shkp), delta, plur(delta)); eshkp->debit += delta; eshkp->loan += delta; eshkp->credit = 0L; --- 3712,3735 ---- eshkp = ESHK(shkp); if(eshkp->credit >= amount) { if(eshkp->credit > amount) ! /*JP Your("credit is reduced by %ld zorkmid%s.",*/ ! Your("¥¯¥ì¥¸¥Ã¥È¤Ï%ld¥´¡¼¥ë¥É¸º¤Ã¤¿¡¥", ! amount); ! /*JP else Your("credit is erased.");*/ ! else Your("¥¯¥ì¥¸¥Ã¥È¤ÏÄ¢¾Ã¤·¤Ë¤Ê¤Ã¤¿¡¥"); eshkp->credit -= amount; } else { delta = amount - eshkp->credit; if(eshkp->credit) ! /*JP Your("credit is erased.");*/ ! Your("¥¯¥ì¥¸¥Ã¥È¤ÏÄ¢¾Ã¤·¤Ë¤Ê¤Ã¤¿¡¥"); if(eshkp->debit) ! /*JP Your("debt increases by %ld zorkmid%s.",*/ ! Your("¼Ú¶â¤Ï%ld¥´¡¼¥ë¥É¤ËÁý¤¨¤¿¡¥", ! delta); ! /*JP else You("owe %s %ld zorkmid%s.",*/ ! else You("%s¤Ë%ld¥´¡¼¥ë¥É¤Î¼Ú¤ê¤ò¤Ä¤¯¤Ã¤¿¡¥", ! shkname(shkp), delta); eshkp->debit += delta; eshkp->loan += delta; eshkp->credit = 0L; *************** *** 3453,3460 **** && shkp->mcanmove && !shkp->msleep && (ESHK(shkp)->debit || ESHK(shkp)->billct || ESHK(shkp)->robbed)) { ! pline("%s%s blocks your way!", shkname(shkp), ! Invis ? " senses your motion and" : ""); return(TRUE); } return(FALSE); --- 3761,3770 ---- && shkp->mcanmove && !shkp->msleep && (ESHK(shkp)->debit || ESHK(shkp)->billct || ESHK(shkp)->robbed)) { ! /*JP pline("%s%s blocks your way!", shkname(shkp), ! Invis ? " senses your motion and" : "");*/ ! pline("%s¤Ï%s¤¢¤Ê¤¿¤ÎÁ°¤ËΩ¤Á¤Õ¤µ¤¬¤Ã¤¿¡ª", shkname(shkp), ! Invis ? "Æ°¤­¤ò´¶¤¸¤È¤ê¡¤" : ""); return(TRUE); } return(FALSE); *************** *** 3489,3496 **** && (x == sx-1 || x == sx+1 || y == sy-1 || y == sy+1) && (Invis || carrying(PICK_AXE)) ) { ! pline("%s%s blocks your way!", shkname(shkp), ! Invis ? " senses your motion and" : ""); return(TRUE); } return(FALSE); --- 3799,3808 ---- && (x == sx-1 || x == sx+1 || y == sy-1 || y == sy+1) && (Invis || carrying(PICK_AXE)) ) { ! /*JP pline("%s%s blocks your way!", shkname(shkp), ! Invis ? " senses your motion and" : "");*/ ! pline("%s%s¤¢¤Ê¤¿¤ÎÁ°¤ËΩ¤Á¤Õ¤µ¤¬¤Ã¤¿¡ª", shkname(shkp), ! Invis ? "Æ°¤­¤ò´¶¤¸¤È¤ê¡¤" : ""); return(TRUE); } return(FALSE); *************** *** 3505,3511 **** struct obj *obj; { if (!shk_owns(buf, obj) && !mon_owns(buf, obj)) ! Strcpy(buf, obj->where == OBJ_INVENT ? "your" : "the"); return buf; } --- 3817,3824 ---- struct obj *obj; { if (!shk_owns(buf, obj) && !mon_owns(buf, obj)) ! /*JP Strcpy(buf, obj->where == OBJ_INVENT ? "your" : "the");*/ ! Strcpy(buf, obj->where == OBJ_INVENT ? "" : ""); return buf; } *************** *** 3531,3537 **** (obj->unpaid || (obj->where==OBJ_FLOOR && !obj->no_charge && costly_spot(x,y)))) { shkp = shop_keeper(inside_shop(x, y)); ! return strcpy(buf, shkp ? s_suffix(shkname(shkp)) : "the"); } return (char *)0; } --- 3844,3857 ---- (obj->unpaid || (obj->where==OBJ_FLOOR && !obj->no_charge && costly_spot(x,y)))) { shkp = shop_keeper(inside_shop(x, y)); ! /*JP return strcpy(buf, shkp ? s_suffix(shkname(shkp)) : "the");*/ ! if (shkp) { ! strcpy(buf, shkname(shkp)); ! strcat(buf, "¤Î"); ! } else { ! strcpy(buf, ""); ! } ! return buf; } return (char *)0; } *************** *** 3542,3548 **** struct obj *obj; { if (obj->where == OBJ_MINVENT) ! return strcpy(buf, s_suffix(mon_nam(obj->ocarry))); return (char *)0; } --- 3862,3873 ---- struct obj *obj; { if (obj->where == OBJ_MINVENT) ! /*JP return strcpy(buf, s_suffix(mon_nam(obj->ocarry)));*/ ! { ! strcpy(buf, mon_nam(obj->ocarry)); ! strcat(buf, "¤Î"); ! return buf; ! } return (char *)0; } diff -c -r ../nethack-3.2.2/src/shknam.c ./src/shknam.c *** ../nethack-3.2.2/src/shknam.c Sat Dec 28 21:53:51 1996 --- ./src/shknam.c Tue Jul 22 23:18:37 1997 *************** *** 4,9 **** --- 4,16 ---- /* shknam.c -- initialize a shop */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "eshk.h" *************** *** 28,33 **** --- 35,42 ---- /* Schweiz */ "Leuk", "Brig", "Brienz", "Thun", "Sarnen", "Burglen", "Elm", "Flims", "Vals", "Schuls", "Zum Loch", + /*JP*/ + "Hamada", 0 }; *************** *** 39,44 **** --- 48,55 ---- "Cahersiveen", "Glenbeigh", "Kilmihil", "Kiltamagh", "Droichead Atha", "Inniscrone", "Clonegal", "Lisnaskea", "Culdaff", "Dunfanaghy", "Inishbofin", "Kesh", + /*JP*/ + "Numata", 0 }; *************** *** 50,55 **** --- 61,68 ---- "Bayburt", "Ayancik", "Zonguldak", "Balya", "Tefenni", "Artvin", "Kars", "Makharadze", "Malazgirt", "Midyat", "Birecik", "Kirikkale", "Alaca", "Polatli", "Nallihan", + /*JP*/ + "Fujieda", 0 }; *************** *** 64,69 **** --- 77,84 ---- "Kerloch", "Beinn a Ghlo", "Drumnadrochit", "Morven", "Uist", "Storr", "Sgurr na Ciche", "Cannich", "Gairloch", "Kyleakin", "Dunvegan", + /*JP*/ + "Miyashita", 0 }; *************** *** 77,82 **** --- 92,99 ---- "Rastegaisa", "Varjag Njarga", "Kautekeino", "Abisko", "Enontekis", "Rovaniemi", "Avasaksa", "Haparanda", "Lulea", "Gellivare", "Oeloe", "Kajaani", "Fauske", + /*JP*/ + "Koba", 0 }; *************** *** 89,94 **** --- 106,113 ---- "Trenggalek", "Karangkobar", "Njalindoeng", "Pasawahan", "Pameunpeuk", "Patjitan", "Kediri", "Pemboeang", "Tringanoe", "Makin", "Tipor", "Semai", "Berhala", "Tegal", "Samoe", + /*JP*/ + "Maeda", 0 }; *************** *** 100,105 **** --- 119,126 ---- "Cazelon", "Eypau", "Carignan", "Monbazillac", "Jonzac", "Pons", "Jumilhac", "Fenouilledes", "Laguiolet", "Saujon", "Eymoutiers", "Eygurande", "Eauze", "Labouheyre", + /*JP*/ + "Kasahara", 0 }; *************** *** 128,133 **** --- 149,156 ---- #ifdef VMS "Lez-tneg", "Ytnu-haled", "Niknar", #endif + /*JP*/ + "Awatsu", 0 }; *************** *** 140,145 **** --- 163,170 ---- "Silistra", "Tulovo", "Panagyuritshte", "Smolyan", "Kirklareli", "Pernik", "Lom", "Haskovo", "Dobrinishte", "Varvara", "Oryahovo", "Troyan", "Lovech", "Sliven", + /*JP*/ + "Shiraishi", 0 }; *************** *** 158,163 **** --- 183,190 ---- /* Iceland */ "Akureyri", "Kopasker", "Budereyri", "Akranes", "Bordeyri", "Holmavik", + /*JP*/ + "Kunedog", 0 }; *************** *** 178,215 **** */ const struct shclass shtypes[] = { ! {"general store", RANDOM_CLASS, 44, D_SHOP, {{100, RANDOM_CLASS}, {0, 0}, {0, 0}}, shkgeneral}, ! {"used armor dealership", ARMOR_CLASS, 14, D_SHOP, {{90, ARMOR_CLASS}, {10, WEAPON_CLASS}, {0, 0}}, shkarmors}, ! {"second-hand bookstore", SCROLL_CLASS, 10, D_SHOP, {{90, SCROLL_CLASS}, {10, SPBOOK_CLASS}, {0, 0}}, shkbooks}, ! {"liquor emporium", POTION_CLASS, 10, D_SHOP, {{100, POTION_CLASS}, {0, 0}, {0, 0}}, shkliquors}, ! {"antique weapons outlet", WEAPON_CLASS, 5, D_SHOP, {{90, WEAPON_CLASS}, {10, ARMOR_CLASS}, {0, 0}}, shkweapons}, ! {"delicatessen", FOOD_CLASS, 5, D_SHOP, {{95, FOOD_CLASS}, {5, POTION_CLASS}, {0, 0}}, shkfoods}, ! {"jewelers", RING_CLASS, 3, D_SHOP, {{85, RING_CLASS}, {10, GEM_CLASS}, {5, AMULET_CLASS}, {0, 0}}, shkrings}, ! {"quality apparel and accessories", WAND_CLASS, 3, D_SHOP, {{90, WAND_CLASS}, {5, -LEATHER_GLOVES}, {5, -ELVEN_CLOAK}, {0, 0}}, shkwands}, ! {"hardware store", TOOL_CLASS, 3, D_SHOP, {{100, TOOL_CLASS}, {0, 0}, {0, 0}}, shktools}, /* Actually shktools is ignored; the code specifically chooses a * random implementor name (along with candle shops having * random shopkeepers) */ ! {"rare books", SPBOOK_CLASS, 3, D_SHOP, {{90, SPBOOK_CLASS}, {10, SCROLL_CLASS}, {0, 0}}, shkbooks}, /* Shops below this point are "unique". That is they must all have a * probability of zero. They are only created via the special level * loader. */ ! {"lighting store", TOOL_CLASS, 0, D_SHOP, {{32, -WAX_CANDLE}, {50, -TALLOW_CANDLE}, {5, -BRASS_LANTERN}, {10, -OIL_LAMP}, {3, -MAGIC_LAMP}}, shklight}, {(char *)0, 0, 0, 0, {{0, 0}, {0, 0}, {0, 0}}, 0} --- 205,253 ---- */ const struct shclass shtypes[] = { ! /*JP {"general store", RANDOM_CLASS, 44,*/ ! {"»¨²ß²°", RANDOM_CLASS, 44, D_SHOP, {{100, RANDOM_CLASS}, {0, 0}, {0, 0}}, shkgeneral}, ! /*JP {"used armor dealership", ARMOR_CLASS, 14,*/ ! {"Ãæ¸Å³»¾¦²ñ", ARMOR_CLASS, 14, D_SHOP, {{90, ARMOR_CLASS}, {10, WEAPON_CLASS}, {0, 0}}, shkarmors}, ! /*JP {"second-hand bookstore", SCROLL_CLASS, 10, D_SHOP,*/ ! {"´¬Êª²°", SCROLL_CLASS, 10, D_SHOP, {{90, SCROLL_CLASS}, {10, SPBOOK_CLASS}, {0, 0}}, shkbooks}, ! /*JP {"liquor emporium", POTION_CLASS, 10, D_SHOP,*/ ! {"¤ª¼ò¤ÎÉ´²ßŹ", POTION_CLASS, 10, D_SHOP, {{100, POTION_CLASS}, {0, 0}, {0, 0}}, shkliquors}, ! /*JP {"antique weapons outlet", WEAPON_CLASS, 5, D_SHOP,*/ ! {"¸ÅÉð´ïÀìÌç¾®ÇäŹ", WEAPON_CLASS, 5, D_SHOP, {{90, WEAPON_CLASS}, {10, ARMOR_CLASS}, {0, 0}}, shkweapons}, ! /*JP {"delicatessen", FOOD_CLASS, 5, D_SHOP,*/ ! {"¿©ÉÊŹ", FOOD_CLASS, 5, D_SHOP, {{95, FOOD_CLASS}, {5, POTION_CLASS}, {0, 0}}, shkfoods}, ! /*JP {"jewelers", RING_CLASS, 3, D_SHOP,*/ ! {"ÊõÀÐŹ", RING_CLASS, 3, D_SHOP, {{85, RING_CLASS}, {10, GEM_CLASS}, {5, AMULET_CLASS}, {0, 0}}, shkrings}, ! /*JP {"quality apparel and accessories", WAND_CLASS, 3, D_SHOP,*/ ! {"¤ª¥·¥ã¥ì¤ÊÍÎÉÊŹ", WAND_CLASS, 3, D_SHOP, {{90, WAND_CLASS}, {5, -LEATHER_GLOVES}, {5, -ELVEN_CLOAK}, {0, 0}}, shkwands}, ! /*JP {"hardware store", TOOL_CLASS, 3, D_SHOP,*/ ! {"Æ»¶ñ²°", TOOL_CLASS, 3, D_SHOP, {{100, TOOL_CLASS}, {0, 0}, {0, 0}}, shktools}, /* Actually shktools is ignored; the code specifically chooses a * random implementor name (along with candle shops having * random shopkeepers) */ ! /*JP {"rare books", SPBOOK_CLASS, 3, D_SHOP,*/ ! {"¸¸¤ÎËܲ°", SPBOOK_CLASS, 3, D_SHOP, {{90, SPBOOK_CLASS}, {10, SCROLL_CLASS}, {0, 0}}, shkbooks}, /* Shops below this point are "unique". That is they must all have a * probability of zero. They are only created via the special level * loader. */ ! /*JP {"lighting store", TOOL_CLASS, 0, D_SHOP,*/ ! {"¾ÈÌÀŹ", TOOL_CLASS, 0, D_SHOP, {{32, -WAX_CANDLE}, {50, -TALLOW_CANDLE}, {5, -BRASS_LANTERN}, {10, -OIL_LAMP}, {3, -MAGIC_LAMP}}, shklight}, {(char *)0, 0, 0, 0, {{0, 0}, {0, 0}, {0, 0}}, 0} *************** *** 285,290 **** --- 323,329 ---- name_wanted = ledger_no(&u.uz) + (nseed % 13) - (nseed % 5); if (name_wanted < 0) name_wanted += (13 + 5); + shk->female = name_wanted & 1; for (names_avail = 0; nlp[names_avail]; names_avail++) *************** *** 449,455 **** else if(inside_shop(sx-1,sy)) m++; if(inside_shop(sx,sy+1)) n--; else if(inside_shop(sx,sy-1)) n++; ! Sprintf(buf, "Closed for inventory"); make_engr_at(m, n, buf, 0L, DUST); } --- 488,495 ---- else if(inside_shop(sx-1,sy)) m++; if(inside_shop(sx,sy+1)) n--; else if(inside_shop(sx,sy-1)) n++; ! /*JP Sprintf(buf, "Closed for inventory");*/ ! Sprintf(buf, "ê²·¤·¤Î¤¿¤áÊÄŹ"); make_engr_at(m, n, buf, 0L, DUST); } diff -c -r ../nethack-3.2.2/src/sit.c ./src/sit.c *** ../nethack-3.2.2/src/sit.c Sat Dec 28 21:53:51 1996 --- ./src/sit.c Tue Sep 23 07:10:13 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "artifact.h" *************** *** 9,17 **** take_gold() { if (u.ugold <= 0) { ! You_feel("a strange sensation."); } else { ! You("notice you have no gold!"); u.ugold = 0; flags.botl = 1; } --- 16,26 ---- take_gold() { if (u.ugold <= 0) { ! /*JP You_feel("a strange sensation.");*/ ! You("´ñ̯¤Ê´¶³Ð¤ò³Ð¤¨¤¿¡¥"); } else { ! /*JP You("notice you have no gold!");*/ ! You("¤ª¶â¤ò»ý¤Ã¤Æ¤Ê¤¤¤³¤È¤Ëµ¤¤¬¤Ä¤¤¤¿¡ª"); u.ugold = 0; flags.botl = 1; } *************** *** 20,34 **** --- 29,52 ---- int dosit() { + /*JP static const char *sit_message = "sit on the %s."; + */ + static const char *sit_message = "%s¤ËºÂ¤Ã¤¿¡¥"; register struct trap *trap; register int typ = levl[u.ux][u.uy].typ; if(!can_reach_floor()) { if (Levitation) + /*JP You("tumble in place."); + */ + You("¤½¤Î¾ì¤ÇÃèÊ֤ꤷ¤¿¡¥"); else + /*JP You("are sitting on air."); + */ + You("¶õÃæ¤ËºÂ¤Ã¤¿¡¥"); return 0; } *************** *** 36,148 **** --- 54,256 ---- register struct obj *obj; obj = level.objects[u.ux][u.uy]; + /*JP You("sit on %s.", the(xname(obj))); if(!Is_box(obj)) pline("It's not very comfortable..."); + */ + You("%s¤ËºÂ¤Ã¤¿¡¥", the(xname(obj))); + if(!Is_box(obj)) pline("¤¢¤Þ¤êºÂ¤ê¤´¤³¤Á¤¬¤è¤¯¤Ê¤¤¡¥¡¥¡¥"); } else if ((trap = t_at(u.ux, u.uy)) != 0) { 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.", body_part(FOOT)); + */ + pline("%s¤¬·§¤Î櫤ˤϤµ¤Þ¤Ã¤Æ¤¤¤ë¤Î¤ÇºÂ¤ì¤Ê¤¤¡¥", body_part(FOOT)); u.utrap++; } else if(u.utraptype == TT_PIT) { if(trap->ttyp == SPIKED_PIT) { + /*JP You("sit down on a spike. Ouch!"); losehp(1, "sitting on an iron spike", KILLED_BY); + */ + You("¥È¥²¤Î¾å¤ËºÂ¤Ã¤¿¡¥¤¤¤Æ¤Ã¡ª"); + losehp(1, "Å´¤Î¥È¥²¤Î¾å¤ËºÂ¤Ã¤Æ", KILLED_BY); exercise(A_STR, FALSE); } else + /*JP You("sit down in the pit."); + */ + You("Í·ê¤ÎÃæ¤ÇºÂ¤Ã¤¿¡¥"); u.utrap += rn2(5); } else if(u.utraptype == TT_WEB) { + /*JP You("sit in the spider web and get entangled further!"); + */ + You("ÃØéá¤ÎÁã¤ÎÃæ¤ÇºÂ¤Ã¤¿¤é¡¤¤è¤êÍí¤Þ¤Ã¤¿¡ª"); 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("ÍÏ´ä¤ÎÃæ¤ËºÂ¤Ã¤¿¡ª"); u.utrap += rnd(4); + /*JP losehp(d(2,10), "sitting in lava", KILLED_BY); + */ + losehp(d(2,10), "ÍÏ´ä¤ÎÃæ¤ËºÂ¤Ã¤Æ", KILLED_BY); } else if(u.utraptype == TT_INFLOOR) { + /*JP You_cant("maneuver to sit!"); + */ + You("ºÂ¤Ã¤¿¤È¤³¤í¤Ç°ÜÆ°¤Ç¤­¤Ê¤¤¡ª"); u.utrap++; } } else { + /*JP You("sit down."); + */ + You("ºÂ¤Ã¤¿¡¥"); dotrap(trap); } } else if(Underwater || Is_waterlevel(&u.uz)) { if (Is_waterlevel(&u.uz)) + /*JP pline("There are no cushions floating nearby."); + */ + pline("¶á¤¯¤ËÉ⤤¤Æ¤¤¤ë¥¯¥Ã¥·¥ç¥ó¤Ï¤Ê¤¤¡¥"); else + /*JP You("sit down on the muddy bottom."); + */ + You("¤É¤í¤É¤í¤·¤¿Äì¤ËºÂ¤Ã¤¿¡¥"); } else if(is_pool(u.ux, u.uy)) { + /*JP You("sit in the water."); + */ + You("¿å¤ÎÃæ¤ÇºÂ¤Ã¤¿¡¥"); if (!rn2(10) && uarm) + /*JP (void) rust_dmg(uarm, "armor", 1, TRUE); + */ + (void) rust_dmg(uarm, "³»", 1, TRUE); if (!rn2(10) && uarmf && uarmf->otyp != WATER_WALKING_BOOTS) + /*JP (void) rust_dmg(uarm, "armor", 1, TRUE); + */ + (void) rust_dmg(uarm, "³»", 1, TRUE); #ifdef SINKS } else if(IS_SINK(typ)) { + /*JP You(sit_message, defsyms[S_sink].explanation); Your("%s gets wet.", humanoid(uasmon) ? "rump" : "underside"); + */ + You(sit_message, jtrns_obj('S',defsyms[S_sink].explanation)); + Your("%s¤ÏǨ¤ì¤¿¡¥", humanoid(uasmon) ? "¿¬" : "²¼Éô"); #endif } else if(IS_ALTAR(typ)) { + /*JP You(sit_message, defsyms[S_altar].explanation); + */ + You(sit_message, jtrns_obj('S', defsyms[S_altar].explanation)); altar_wrath(u.ux, u.uy); } else if(typ == STAIRS) { + /*JP You(sit_message, "stairs"); + */ + You(sit_message, "³¬ÃÊ"); } else if(typ == LADDER) { + /*JP You(sit_message, "ladder"); + */ + You(sit_message, "Äô»Ò"); } else if (is_lava(u.ux, u.uy)) { /* must be WWalking */ + /*JP You(sit_message, "lava"); + */ + You(sit_message, "ÍÏ´ä"); if (likes_lava(uasmon)) { + /*JP pline_The("lava feels warm."); + */ + pline("ÍÏ´ä¤ÏÃȤ«¤¤¡¥"); return 1; } + /*JP pline_The("lava burns you!"); losehp(d((Fire_resistance ? 2 : 10), 10), "sitting on lava", KILLED_BY); + */ + You("ÍÏ´ä¤Çdz¤¨¤¿¡ª"); + losehp(d((Fire_resistance ? 2 : 10), 10), + "ÍÏ´ä¤ËºÂ¤Ã¤Æ", KILLED_BY); } else if (is_ice(u.ux, u.uy)) { + /*JP You(sit_message, defsyms[S_ice].explanation); if (!Cold_resistance) pline_The("ice feels cold."); + */ + You(sit_message, jtrns_obj('S', defsyms[S_ice].explanation)); + if (!Cold_resistance) pline("ɹ¤ÏÎ䤿¤¯´¶¤¸¤¿"); } else if (typ == DRAWBRIDGE_DOWN) { + /*JP You(sit_message, "drawbridge"); + */ + You(sit_message, "Ä·¤Í¶¶"); } else if(IS_THRONE(typ)) { + /*JP You(sit_message, defsyms[S_throne].explanation); + */ + You(sit_message, jtrns_obj('S',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), "¼ö¤ï¤ì¤¿¶ÌºÂ¤Ç", KILLED_BY_AN); break; case 2: (void) adjattrib(rn2(A_MAX), 1, FALSE); break; case 3: + /*JP pline("A%s electric shock shoots through your body!", (Shock_resistance) ? "n" : " massive"); losehp(Shock_resistance ? rnd(6) : rnd(30), "electric chair", KILLED_BY_AN); + */ + pline("%sÅŵ¤¤¬¤¢¤Ê¤¿¤ÎÂΤòÁö¤êÈ´¤±¤¿¡ª", + (Shock_resistance) ? "" : "·ã¤·¤¤"); + losehp(Shock_resistance ? rnd(6) : rnd(30), + "Åŵ¤°Ø»Ò¤Ç", KILLED_BY_AN); exercise(A_CON, FALSE); break; case 4: + /*JP You_feel("much, much better!"); + */ + You("¤È¤Æ¤â¡¤¤È¤Æ¤â¸µµ¤¤Ë¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡ª"); if (Upolyd) { if (u.mh >= (u.mhmax - 5)) u.mhmax += 4; u.mh = u.mhmax; *************** *** 159,165 **** break; case 6: if(u.uluck + rn2(5) < 0) { ! You_feel("your luck is changing."); change_luck(1); } else makewish(); break; --- 267,274 ---- break; case 6: if(u.uluck + rn2(5) < 0) { ! /*JP You_feel("your luck is changing.");*/ ! pline("±¿¤¬¤è¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤¹¤ë¡¥"); change_luck(1); } else makewish(); break; *************** *** 167,188 **** { register int cnt = rnd(10); ! pline("A voice echoes:"); ! verbalize("Thy audience hath been summoned, %s!", ! flags.female ? "Dame" : "Sire"); while(cnt--) (void) makemon(courtmon(), u.ux, u.uy, NO_MM_FLAGS); break; } case 8: ! pline("A voice echoes:"); ! verbalize("By thy Imperious order, %s...", ! flags.female ? "Dame" : "Sire"); do_genocide(1); break; case 9: ! pline("A voice echoes:"); ! verbalize("A curse upon thee for sitting upon this most holy throne!"); if (Luck > 0) { make_blinded(Blinded + rn1(100,250),TRUE); } else rndcurse(); --- 276,305 ---- { register int cnt = rnd(10); ! /*JP pline("A voice echoes:");*/ ! pline("À¼¤¬¶Á¤¤¤¿:"); ! /*JP verbalize("Thy audience hath been summoned, %s!", ! flags.female ? "Dame" : "Sire");*/ ! verbalize("%s¤è¡ªÆò¤ÎÄ°½°¾¤´­¤µ¤ì¤·¡¥", ! flags.female ? "½÷" : "ÃË"); while(cnt--) (void) makemon(courtmon(), u.ux, u.uy, NO_MM_FLAGS); break; } case 8: ! /*JP pline("A voice echoes:");*/ ! pline("À¼¤¬¶Á¤¤¤¿:"); ! /*JP verbalize("By thy Imperious order, %s...", ! flags.female ? "Dame" : "Sire");*/ ! verbalize("%s¤è¡ªÆò¤ÎÐþËýʹ¤­¤¤¤ì¤è¤¦¤¾¡¥", ! flags.female ? "½÷" : "ÃË"); do_genocide(1); break; case 9: ! /*JP pline("A voice echoes:");*/ ! pline("À¼¤¬¶Á¤¤¤¿:"); ! /*JP verbalize("A curse upon thee for sitting upon this most holy throne!");*/ ! verbalize("À»¤Ê¤ë¶ÌºÂ¤ËºÂ¤ê¤·Æò¤Ë¼ö¤¤¤¢¤ì¡ª"); if (Luck > 0) { make_blinded(Blinded + rn1(100,250),TRUE); } else rndcurse(); *************** *** 191,238 **** if (Luck < 0 || (HSee_invisible & INTRINSIC)) { if (level.flags.nommap) { pline( ! "A terrible drone fills your head!"); make_confused(HConfusion + rnd(30), FALSE); } else { ! pline("An image forms in your mind."); do_mapping(); } } else { ! Your("vision becomes clear."); HSee_invisible |= FROMOUTSIDE; newsym(u.ux, u.uy); } break; case 11: if (Luck < 0) { ! You_feel("threatened."); aggravate(); } else { ! You_feel("a wrenching sensation."); tele(); /* teleport him */ } break; case 12: ! You("are granted an insight!"); if (invent) { /* rn2(5) agrees w/seffects() */ identify_pack(rn2(5)); } break; case 13: ! Your("mind turns into a pretzel!"); make_confused(HConfusion + rn1(7,16),FALSE); break; default: impossible("throne effect"); break; } ! } else You_feel("somehow out of place..."); if (!rn2(3) && IS_THRONE(levl[u.ux][u.uy].typ)) { /* may have teleported */ ! pline_The("throne vanishes in a puff of logic."); levl[u.ux][u.uy].typ = ROOM; if(Invisible) newsym(u.ux,u.uy); } --- 308,365 ---- if (Luck < 0 || (HSee_invisible & INTRINSIC)) { if (level.flags.nommap) { pline( ! /*JP "A terrible drone fills your head!");*/ ! "¶²¤·¤¤¥Ö¥ó¥Ö¥ó¤È¤¤¤¦²»¤¬Æ¬¤Ë¶Á¤¤¤¿¡ª"); make_confused(HConfusion + rnd(30), FALSE); } else { ! /*JP pline("An image forms in your mind.");*/ ! pline("¥¤¥á¡¼¥¸¤¬Æ¬¤ËÉâ¤ó¤À¡¥"); do_mapping(); } } else { ! /*JP Your("vision becomes clear.");*/ ! Your("»ë³¦¤Ïºã¤¨ÅϤä¿¡¥"); HSee_invisible |= FROMOUTSIDE; newsym(u.ux, u.uy); } break; case 11: if (Luck < 0) { ! /*JP You_feel("threatened.");*/ ! You("¶¼Ç÷¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); aggravate(); } else { ! /*JP You_feel("a wrenching sensation.");*/ ! You("¤Í¤¸¤é¤ì¤¿¤è¤¦¤Ê´¶³Ð¤ò´¶¤¸¤¿¡¥"); ! tele(); /* teleport him */ } break; case 12: ! /*JP You("are granted an insight!");*/ ! You("ƶ»¡ÎϤòÆÀ¤¿¡ª"); if (invent) { /* rn2(5) agrees w/seffects() */ identify_pack(rn2(5)); } break; case 13: ! /*JP Your("mind turns into a pretzel!");*/ ! Your("¿´¤Ï¥¯¥Í¥¯¥Í¤Ë¤Ê¤Ã¤¿¡ª"); make_confused(HConfusion + rn1(7,16),FALSE); break; default: impossible("throne effect"); break; } ! /*JP } else You_feel("somehow out of place...");*/ ! } else You("²¿¸Î¤«¾ì°ã¤¤¤Îµ¤¤¬¤·¤¿¡¥¡¥¡¥"); if (!rn2(3) && IS_THRONE(levl[u.ux][u.uy].typ)) { /* may have teleported */ ! /*JP pline_The("throne vanishes in a puff of logic.");*/ ! pline("¶ÌºÂ¤Ï¤Õ¤Ã¤È¾Ã¤¨¤¿¡¥"); levl[u.ux][u.uy].typ = ROOM; if(Invisible) newsym(u.ux,u.uy); } *************** *** 241,252 **** struct obj *uegg; if (!flags.female) { ! pline("Males can't lay eggs!"); return 0; } if (u.uhunger < (int)objects[EGG].oc_nutrition) { ! You("don't have enough energy to lay an egg."); return 0; } --- 368,381 ---- struct obj *uegg; if (!flags.female) { ! /*JP pline("Males can't lay eggs!");*/ ! pline("ͺ¤ÏÍñ¤ò»º¤á¤Ê¤¤¡ª"); return 0; } if (u.uhunger < (int)objects[EGG].oc_nutrition) { ! /*JP You("don't have enough energy to lay an egg.");*/ ! You("Íñ¤ò»º¤à¤À¤±¤Î¥¨¥Í¥ë¥®¡¼¤¬¤Ê¤¤¡¥"); return 0; } *************** *** 257,270 **** uegg->corpsenm = egg_type_from_parent(u.umonnum, FALSE); uegg->known = uegg->dknown = 1; attach_egg_hatch_timeout(uegg); ! You("lay an egg."); dropy(uegg); stackobj(uegg); morehungry((int)objects[EGG].oc_nutrition); } else if (u.uswallow) ! pline("There are no seats in here!"); else ! pline("Having fun sitting on the %s?", surface(u.ux,u.uy)); return(1); } --- 386,402 ---- uegg->corpsenm = egg_type_from_parent(u.umonnum, FALSE); uegg->known = uegg->dknown = 1; attach_egg_hatch_timeout(uegg); ! /*JP You("lay an egg.");*/ ! You("Íñ¤ò»º¤ó¤À"); dropy(uegg); stackobj(uegg); morehungry((int)objects[EGG].oc_nutrition); } else if (u.uswallow) ! /*JP pline("There are no seats in here!");*/ ! pline("¤³¤³¤Ë¤Ï°Ø»Ò¤Ï¤Ê¤¤¡ª"); else ! /*JP pline("Having fun sitting on the %s?", surface(u.ux,u.uy));*/ ! pline("%s¤ËºÂ¤Ã¤Æ³Ú¤·¤¤¤«¤¤¡©", surface(u.ux,u.uy)); return(1); } *************** *** 274,289 **** int nobj = 0; int cnt, onum; struct obj *otmp; ! static const char *mal_aura = "feel a malignant aura surround %s."; if (uwep && (uwep->oartifact == ART_MAGICBANE) && rn2(20)) { ! You(mal_aura, "the magic-absorbing blade"); return; } if(Antimagic) { shieldeff(u.ux, u.uy); ! You(mal_aura, "you"); } for (otmp = invent; otmp; otmp = otmp->nobj) nobj++; --- 406,424 ---- 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 = "¼Ù°­¤Ê¥ª¡¼¥é¤ò%s¤Î²ó¤ê¤Ë´¶¤¸¤¿¡¥"; if (uwep && (uwep->oartifact == ART_MAGICBANE) && rn2(20)) { ! /*JP You(mal_aura, "the magic-absorbing blade");*/ ! You(mal_aura, "ËâÎϤòµÛ¤¤¤È¤ëÅá"); return; } if(Antimagic) { shieldeff(u.ux, u.uy); ! /*JP You(mal_aura, "you");*/ ! You(mal_aura, "¤¢¤Ê¤¿"); } for (otmp = invent; otmp; otmp = otmp->nobj) nobj++; *************** *** 297,303 **** if(otmp->oartifact && spec_ability(otmp, SPFX_INTEL) && rn2(10) < 8) { ! pline("%s resists!", The(xname(otmp))); continue; } --- 432,439 ---- if(otmp->oartifact && spec_ability(otmp, SPFX_INTEL) && rn2(10) < 8) { ! /*JP pline("%s resists!", The(xname(otmp)));*/ ! pline("%s¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡ª", The(xname(otmp))); continue; } *************** *** 314,373 **** switch(rnd(11)) { case 1 : if (HFire_resistance & INTRINSIC) { HFire_resistance &= ~INTRINSIC; ! You_feel("warmer."); break; } case 2 : if (HTeleportation & INTRINSIC) { HTeleportation &= ~INTRINSIC; ! You_feel("less jumpy."); break; } case 3 : if (HPoison_resistance & INTRINSIC) { HPoison_resistance &= ~INTRINSIC; ! You_feel("a little sick!"); break; } case 4 : if (HTelepat & INTRINSIC) { HTelepat &= ~INTRINSIC; if (Blind && !Telepat) see_monsters(); /* Can't sense mons anymore! */ ! Your("senses fail!"); break; } case 5 : if (HCold_resistance & INTRINSIC) { HCold_resistance &= ~INTRINSIC; ! You_feel("cooler."); break; } case 6 : if (HInvis & INTRINSIC) { HInvis &= ~INTRINSIC; ! You_feel("paranoid."); break; } case 7 : if (HSee_invisible & INTRINSIC) { HSee_invisible &= ~INTRINSIC; ! You("%s!", Hallucination ? "tawt you taw a puttie tat" ! : "thought you saw something"); break; } case 8 : if (Fast & INTRINSIC) { Fast &= ~INTRINSIC; ! You_feel("slower."); break; } case 9 : if (Stealth & INTRINSIC) { Stealth &= ~INTRINSIC; ! You_feel("clumsy."); break; } case 10: if (Protection & INTRINSIC) { Protection &= ~INTRINSIC; ! You_feel("vulnerable."); break; } case 11: if (Aggravate_monster & INTRINSIC) { Aggravate_monster &= ~INTRINSIC; ! You_feel("less attractive."); break; } default: break; --- 450,523 ---- switch(rnd(11)) { case 1 : if (HFire_resistance & INTRINSIC) { HFire_resistance &= ~INTRINSIC; ! /*JP You_feel("warmer.");*/ ! You("ÃȤ«¤µ¤ò´¶¤¸¤¿¡¥"); break; } case 2 : if (HTeleportation & INTRINSIC) { HTeleportation &= ~INTRINSIC; ! /*JP You_feel("less jumpy.");*/ ! You("¤Á¤ç¤Ã¤È¿À·Ð²áÉҤˤʤä¿¡¥"); break; } case 3 : if (HPoison_resistance & INTRINSIC) { HPoison_resistance &= ~INTRINSIC; ! /*JP You_feel("a little sick!");*/ ! You("¾¯¤·µ¤Ê¬¤¬°­¤¯¤Ê¤Ã¤¿¡ª"); break; } case 4 : if (HTelepat & INTRINSIC) { HTelepat &= ~INTRINSIC; if (Blind && !Telepat) see_monsters(); /* Can't sense mons anymore! */ ! /*JP Your("senses fail!");*/ ! Your("¸Þ´¶¤ÏËãá㤷¤¿¡ª"); break; } case 5 : if (HCold_resistance & INTRINSIC) { HCold_resistance &= ~INTRINSIC; ! /*JP You_feel("cooler.");*/ ! You("Îä·¤µ¤ò´¶¤¸¤¿¡¥"); break; } case 6 : if (HInvis & INTRINSIC) { HInvis &= ~INTRINSIC; ! /*JP You_feel("paranoid.");*/ ! You("ÌÑÁÛ¤òÊú¤¤¤¿¡¥"); break; } case 7 : if (HSee_invisible & INTRINSIC) { HSee_invisible &= ~INTRINSIC; ! /*JP You("%s!", Hallucination ? "tawt you taw a puttie tat" ! : "thought you saw something");*/ ! if(Hallucination) ! You("¤À¤ì³ª¤ß¤é¡¤¤ì¤Æ¤¤¤ë¡¥"); ! else ! You("狼¤Ë¸«¤é¤ì¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡ª"); break; } case 8 : if (Fast & INTRINSIC) { Fast &= ~INTRINSIC; ! /*JP You_feel("slower.");*/ ! You("ÃÙ¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); break; } case 9 : if (Stealth & INTRINSIC) { Stealth &= ~INTRINSIC; ! /*JP You_feel("clumsy.");*/ ! You("ÉÔ´ïÍѤˤʤ俤褦¤Êµ¤¤¬¤·¤¿¡¥"); break; } case 10: if (Protection & INTRINSIC) { Protection &= ~INTRINSIC; ! /*JP You_feel("vulnerable.");*/ ! You("ÌÜΩ¤Ä¤è¤¦¤Ë¤Ê¤Ã¤¿µ¤¤¬¤·¤¿¡¥"); break; } case 11: if (Aggravate_monster & INTRINSIC) { Aggravate_monster &= ~INTRINSIC; ! /*JP You_feel("less attractive.");*/ ! You("Ì¥ÎϤ¬¼º¤»¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); break; } default: break; diff -c -r ../nethack-3.2.2/src/sounds.c ./src/sounds.c *** ../nethack-3.2.2/src/sounds.c Fri Jun 21 02:25:25 1996 --- ./src/sounds.c Tue Jul 22 23:18:38 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) 1989 Janet Walz, Mike Threepoint */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "edog.h" *************** *** 43,71 **** --- 50,95 ---- if (level.flags.nfountains && !rn2(400)) { static const char *fountain_msg[4] = { + /*JP "bubbling water.", "water falling on coins.", "the splashing of a naiad.", "a soda fountain!", + */ + "¥´¥Ü¥´¥Ü¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥", + "¥Ô¥Á¥ã¥Ô¥Á¥ã¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥", + "¥Ð¥·¥ã¥Ð¥·¥ã¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥", + "ú»ÀÆþ¤êÊ®¿å¤Î¥·¥å¡¼¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥" }; You_hear(fountain_msg[rn2(3)+hallu]); } #ifdef SINK if (level.flags.nsinks && !rn2(300)) { static const char *sink_msg[3] = { + /*JP "a slow drip.", "a gurgling noise.", "dishes being washed!", + */ + "¿å¤¬¤Ý¤¿¤Ý¤¿¤ÈÍî¤Á¤ë²»¤òʹ¤¤¤¿¡¥", + "¤¬¤é¤¬¤é¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥", + "»®¤òÀö¤¦²»¤òʹ¤¤¤¿¡¥", }; You_hear(sink_msg[rn2(2)+hallu]); } #endif if (level.flags.has_court && !rn2(200)) { static const char *throne_msg[4] = { + /*JP "the tones of courtly conversation.", "a sceptre pounded in judgment.", "Someone shouts \"Off with %s head!\"", "Queen Beruthiel's cats!", + */ + "¾åÉʤÊÏä·À¼¤òʹ¤¤¤¿¡¥", + "ºÛȽ¤Çãô¤òÆͤ¯²»¤òʹ¤¤¤¿¡¥", + "¤À¤ì¤«¤¬¡Ö¤½¤Î¤â¤Î¤Î¼ó¤òÄ·¤Í¤è¡×¤È¶«¤ÖÀ¼¤òʹ¤¤¤¿¡¥", + "¥Ù¥ë¥µ¥¤¥æ½÷²¦¤ÎÇ­¤ÎÀ¼¤òʹ¤¤¤¿¡¥", }; for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) if ((mtmp->msleep || *************** *** 82,92 **** } if (level.flags.has_swamp && !rn2(200)) { static const char *swamp_msg[3] = { ! "hear mosquitoes!", ! "smell marsh gas!", /* so it's a smell...*/ ! "hear Donald Duck!", }; ! You(swamp_msg[rn2(2)+hallu]); return; } if (level.flags.has_vault && !rn2(200)) { --- 106,119 ---- } if (level.flags.has_swamp && !rn2(200)) { static const char *swamp_msg[3] = { ! /*JP "hear mosquitoes!", ! "smell marsh gas!", * so it's a smell...* ! "hear Donald Duck!",*/ ! "²ã¤Î±©²»¤òʹ¤¤¤¿¡¥", ! "Éå¤Ã¤¿Æ÷¤¤¤¬¤·¤¿¡ª", /* so it's a smell...*/ ! "¥É¥Ê¥ë¥É¥À¥Ã¥¯¤ÎÀ¼¤òʹ¤¤¤¿¡ª", }; ! You_hear(swamp_msg[rn2(2)+hallu]); return; } if (level.flags.has_vault && !rn2(200)) { *************** *** 115,133 **** #endif /* AZTEC_C_WORKAROUND */ { if (gold_in_vault) ! You_hear(!hallu ? "someone counting money." : ! "the quarterback calling the play."); else ! You_hear("someone searching."); break; } /* fall into... (yes, even for hallucination) */ } case 0: ! You_hear("the footsteps of a guard on patrol."); break; case 2: ! You_hear("Ebenezer Scrooge!"); break; } return; --- 142,165 ---- #endif /* AZTEC_C_WORKAROUND */ { if (gold_in_vault) ! /*JP You_hear(!hallu ? "someone counting money." : ! "the quarterback calling the play.");*/ ! You_hear(!hallu ? "狼¤¬¤ª¶â¤ò¿ô¤¨¤Æ¤¤¤ë²»¤òʹ¤¤¤¿¡¥" : ! "¥¯¥©¡¼¥¿¥Ð¥Ã¥¯¤¬»Ø¼¨¤ò¤¹¤ëÀ¼¤òʹ¤¤¤¿¡¥"); else ! /*JP You_hear("someone searching.");*/ ! You_hear("狼¤¬Áܺ÷¤·¤Æ¤¤¤ë²»¤òʹ¤¤¤¿¡¥"); break; } /* fall into... (yes, even for hallucination) */ } case 0: ! /*JP You_hear("the footsteps of a guard on patrol.");*/ ! You_hear("·ÙÈ÷°÷¤Î¥Ñ¥È¥í¡¼¥ë¤¹¤ë²»¤òʹ¤¤¤¿¡¥"); break; case 2: ! /*JP You_hear("Ebenezer Scrooge!");*/ ! You_hear("¤³¤Áµµ¤Î¤ó¤ÎÀ¼¤òʹ¤¤¤¿¡ª"); break; } return; *************** *** 138,151 **** mon_in_room(mtmp, BEEHIVE)) { switch (rn2(2)+hallu) { case 0: ! You_hear("a low buzzing."); break; case 1: ! You_hear("an angry drone."); break; case 2: ! You_hear("bees in your %sbonnet!", ! uarmh ? "" : "(nonexistent) "); break; } return; --- 170,187 ---- mon_in_room(mtmp, BEEHIVE)) { switch (rn2(2)+hallu) { case 0: ! /*JP You_hear("a low buzzing.");*/ ! You_hear("¤Ö¡¼¤ó¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); break; case 1: ! /*JP You_hear("an angry drone.");*/ ! You_hear("¶½Ê³¤·¤¿Íº¥Ð¥Á¤Î²»¤òʹ¤¤¤¿¡¥"); break; case 2: ! /*JP You_hear("bees in your %sbonnet!", ! uarmh ? "" : "(nonexistent) ");*/ ! You_hear("¥Ï¥Á¤¬¤¢¤Ê¤¿¤Î˹»Ò%s¤ÎÃæ¤Ë¤¤¤ë²»¤òʹ¤¤¤¿¡ª", ! uarmh ? "" : "(Èï¤Ã¤Æ¤Ê¤¤¤±¤É)"); break; } return; *************** *** 157,171 **** mon_in_room(mtmp, MORGUE)) { switch (rn2(2)+hallu) { case 0: ! You("suddenly realize it is unnaturally quiet."); break; case 1: ! pline_The("%s on the back of your %s stands up.", ! body_part(HAIR), body_part(NECK)); break; case 2: ! pline_The("%s on your %s seems to stand up.", ! body_part(HAIR), body_part(HEAD)); break; } return; --- 193,212 ---- mon_in_room(mtmp, MORGUE)) { switch (rn2(2)+hallu) { case 0: ! /*JP You("suddenly realize it is unnaturally quiet.");*/ ! You("ÉÔ¼«Á³¤Ê¤¯¤é¤¤ÀŤ«¤Ê¤Î¤Ëµ¤¤Å¤¤¤¿¡¥"); break; case 1: ! /*JP pline_The("%s on the back of your %s stands up.", ! body_part(HAIR), body_part(NECK));*/ ! pline("¤¢¤Ê¤¿¤Î%s¤Î¤¦¤·¤í¤Î%s¤¬µÕ¤À¤Ã¤¿¡¥", ! body_part(NECK), body_part(HAIR)); break; case 2: ! /*JP pline_The("%s on your %s seems to stand up.", ! body_part(HAIR), body_part(HEAD));*/ ! pline("¤¢¤Ê¤¿¤Î%s¤Î%s¤ÏµÕ¤À¤Ã¤¿¡¥", ! body_part(NECK), body_part(HAIR)); break; } return; *************** *** 173,182 **** } if (level.flags.has_barracks && !rn2(200)) { static const char *barracks_msg[4] = { ! "blades being honed.", "loud snoring.", "dice being thrown.", ! "General MacArthur!", }; int count = 0; --- 214,227 ---- } if (level.flags.has_barracks && !rn2(200)) { static const char *barracks_msg[4] = { ! /*JP "blades being honed.", "loud snoring.", "dice being thrown.", ! "General MacArthur!",*/ ! "¿Ïʪ¤ò¸¦¤°²»¤òʹ¤¤¤¿¡¥", ! "Â礭¤Ê¤¤¤Ó¤­¤òʹ¤¤¤¿¡¥", ! "¥À¥¤¥¹¤¬¿¶¤é¤ì¤ë²»¤òʹ¤¤¤¿¡¥", ! "¥Þ¥Ã¥«¡¼¥µ¡¼ÄóÆĤÎÀ¼¤òʹ¤¤¤¿¡¥", }; int count = 0; *************** *** 195,203 **** } if (level.flags.has_zoo && !rn2(200)) { static const char *zoo_msg[3] = { ! "a sound reminiscent of an elephant stepping on a peanut.", "a sound reminiscent of a seal barking.", ! "Doctor Doolittle!", }; for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) if ((mtmp->msleep || is_animal(mtmp->data)) && --- 240,251 ---- } if (level.flags.has_zoo && !rn2(200)) { static const char *zoo_msg[3] = { ! /*JP "a sound reminiscent of an elephant stepping on a peanut.", "a sound reminiscent of a seal barking.", ! "Doctor Doolittle!",*/ ! "¾Ý¤¬¥Ô¡¼¥Ê¥Ã¥Ä¤Î¾å¤ÇÍÙ¤ë¤è¤¦¤Ê²»¤òʹ¤¤¤¿¡¥", ! "¥¢¥·¥«¤¬Ëʤ¨¤ë¤è¤¦¤Ê²»¤òʹ¤¤¤¿¡¥", ! "¥É¥ê¥È¥ëÀèÀ¸¤ÎÀ¼¤òʹ¤¤¤¿¡¥", }; for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) if ((mtmp->msleep || is_animal(mtmp->data)) && *************** *** 215,223 **** if (tended_shop(sroom) && !index(u.ushops, ROOM_INDEX(sroom) + ROOMOFFSET)) { static const char *shop_msg[3] = { ! "someone cursing shoplifters.", "the chime of a cash register.", ! "Neiman and Marcus arguing!", }; You_hear(shop_msg[rn2(2)+hallu]); } --- 263,274 ---- if (tended_shop(sroom) && !index(u.ushops, ROOM_INDEX(sroom) + ROOMOFFSET)) { static const char *shop_msg[3] = { ! /*JP "someone cursing shoplifters.", "the chime of a cash register.", ! "Neiman and Marcus arguing!",*/ ! "狼¤¬Å¥ËÀ¤ò¤Î¤Î¤·¤ëÀ¼¤òʹ¤¤¤¿¡¥", ! "¥ì¥¸¤Î¥Á¡¼¥ó¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥", ! "¥¤¥È¡¼¤È¥è¡¼¥«¥É¡¼¤ÎµÄÏÀ¤òʹ¤¤¤¿¡ª", }; You_hear(shop_msg[rn2(2)+hallu]); } *************** *** 231,241 **** --- 282,299 ---- /* and don't produce silly effects when she's clearly visible */ if (mtmp && (hallu || !canseemon(mtmp))) { static const char *ora_msg[5] = { + #if 0 /*JP*/ "a strange wind.", /* Jupiter at Dodona */ "convulsive ravings.", /* Apollo at Delphi */ "snoring snakes.", /* AEsculapius at Epidaurus */ "someone say \"No more woodchucks!\"", "a loud ZOT!" /* both rec.humor.oracle */ + #endif /*JP*/ + "´ñ̯¤ÊÉ÷¤Î²»¤òʹ¤¤¤¿¡¥", + "Ⱦ¶¸Íð¤ÎÀ¼¤òʹ¤¤¤¿¡¥", + "¼Ø¤ÎÒöÓ¬¤òʹ¤¤¤¿¡¥", + "狼¤¬¡Ö¤â¤¦¥¦¥Ã¥É¥Á¥ã¥Ã¥¯¤Ï¤¤¤é¤Ê¤¤¡×¤È¸À¤Ã¤Æ¤¤¤ëÀ¼¤òʹ¤¤¤¿¡¥", + "Â礭¤Ê£Ú£Ï£Ô¤òʹ¤¤¤¿¡ª" }; You_hear(ora_msg[rn2(3)+hallu*2]); } *************** *** 247,254 **** #ifdef OVLB static const char *h_sounds[] = { ! "beep", "boing", "sing", "belche", "creak", "cough", "rattle", ! "ululate", "pop", "jingle", "sniffle", "tinkle", "eep" }; const char * --- 305,316 ---- #ifdef OVLB static const char *h_sounds[] = { ! /*JP "beep", "boing", "sing", "belche", "creak", "cough", "rattle", ! "ululate", "pop", "jingle", "sniffle", "tinkle", "eep"*/ ! "¥Ô¡¼¥Ã¤ÈÌĤ¤¤¿","Áû¤®¤¿¤Æ¤¿","²Î¤Ã¤¿","¥­¡¼¥­¡¼¤ÈÌĤ¤¤¿", ! "¤»¤­¹þ¤ó¤À","¥´¥í¥´¥íÌĤä¿","¥Û¡¼¥Û¡¼ÌĤ¤¤¿","¥Ý¥ó¤ÈÌĤ¤¤¿", ! "¥¬¥é¥ó¥¬¥é¥ó¤ÈÌĤ¤¤¿","¥¯¥ó¥¯¥óÌĤ¤¤¿","¥Á¥ê¥ó¥Á¥ê¥ó¤ÈÌĤ¤¤¿", ! "¥¤¡¼¥Ã¤ÈÌĤ¤¤¿" }; const char * *************** *** 260,294 **** switch (mtmp->data->msound) { case MS_MEW: case MS_HISS: ! ret = "hiss"; break; case MS_BARK: case MS_GROWL: ! ret = "growl"; break; case MS_ROAR: ! ret = "roar"; break; case MS_BUZZ: ! ret = "buzz"; break; case MS_SQEEK: ! ret = "squeal"; break; case MS_SQAWK: ! ret = "screech"; break; case MS_NEIGH: ! ret = "neigh"; break; case MS_WAIL: ! ret = "wail"; break; case MS_SILENT: ! ret = "commotion"; break; default: ! ret = "scream"; } return ret; } --- 322,366 ---- switch (mtmp->data->msound) { case MS_MEW: case MS_HISS: ! /*JP ret = "hiss";*/ ! ret = "¥·¡¼¥Ã¤ÈÌĤ¤¤¿"; break; case MS_BARK: case MS_GROWL: ! /*JP ret = "growl";*/ ! ret = "¤Ï¤²¤·¤¯Ëʤ¨¤¿"; break; case MS_ROAR: ! /*JP ret = "roar";*/ ! ret = "Ëʤ¨¤¿"; break; case MS_BUZZ: ! /*JP ret = "buzz";*/ ! ret = "¥Ö¡¼¥Ã¤ÈÌĤ¤¤¿"; break; case MS_SQEEK: ! /*JP ret = "squeal";*/ ! ret = "¥­¡¼¥­¡¼ÌĤ¤¤¿"; break; case MS_SQAWK: ! /*JP ret = "screech";*/ ! ret = "¶âÀÚ¤êÀ¼¤òΩ¤Æ¤¿"; break; case MS_NEIGH: ! /*JP ret = "neigh";*/ ! ret = "¤¤¤Ê¤Ê¤¤¤¿"; break; case MS_WAIL: ! /*JP ret = "wail";*/ ! ret = "Èᤷ¤¯ÌĤ¤¤¿"; break; case MS_SILENT: ! /*JP ret = "commotion";*/ ! ret = "¶½Ê³¤·¤¿"; break; default: ! /*JP ret = "scream";*/ ! ret = "¶âÀÚ¤êÀ¼¤ò¤¢¤²¤¿"; } return ret; } *************** *** 308,314 **** else growl_verb = growl_sound(mtmp); if (growl_verb) { ! pline("%s %s!", Monnam(mtmp), makeplural(growl_verb)); if(flags.run) nomul(0); wake_nearto(mtmp->mx, mtmp->my, mtmp->data->mlevel * 18); } --- 380,387 ---- else growl_verb = growl_sound(mtmp); if (growl_verb) { ! /*JP pline("%s %s!", Monnam(mtmp), makeplural(growl_verb));*/ ! pline("%s¤Ï%s¡ª", Monnam(mtmp), makeplural(growl_verb)); if(flags.run) nomul(0); wake_nearto(mtmp->mx, mtmp->my, mtmp->data->mlevel * 18); } *************** *** 328,354 **** yelp_verb = h_sounds[rn2(SIZE(h_sounds))]; else switch (mtmp->data->msound) { case MS_MEW: ! yelp_verb = "yowl"; break; case MS_BARK: case MS_GROWL: ! yelp_verb = "yelp"; break; case MS_ROAR: ! yelp_verb = "snarl"; break; case MS_SQEEK: ! yelp_verb = "squeal"; break; case MS_SQAWK: ! yelp_verb = "screak"; break; case MS_WAIL: ! yelp_verb = "wail"; break; } if (yelp_verb) { ! pline("%s %ss!", Monnam(mtmp), yelp_verb); if(flags.run) nomul(0); wake_nearto(mtmp->mx, mtmp->my, mtmp->data->mlevel * 12); } --- 401,434 ---- yelp_verb = h_sounds[rn2(SIZE(h_sounds))]; else switch (mtmp->data->msound) { case MS_MEW: ! /*JP yelp_verb = "yowl";*/ ! yelp_verb = "Èᤷ¤¯ÌĤ¤¤¿"; break; case MS_BARK: case MS_GROWL: ! /*JP yelp_verb = "yelp";*/ ! yelp_verb = "¥­¥ã¥ó¥­¥ã¥óÌĤ¤¤¿"; break; case MS_ROAR: ! /*JP yelp_verb = "snarl";*/ ! yelp_verb = "¤¦¤Ê¤Ã¤¿"; break; case MS_SQEEK: ! /*JP yelp_verb = "squeal";*/ ! yelp_verb = "¥­¡¼¥­¡¼ÌĤ¤¤¿"; break; case MS_SQAWK: ! /*JP yelp_verb = "screak";*/ ! yelp_verb = "¶âÀÚ¤êÀ¼¤òΩ¤Æ¤¿"; break; case MS_WAIL: ! /*JP yelp_verb = "wail";*/ ! yelp_verb = "Èᤷ¤¯ÌĤ¤¤¿"; break; } if (yelp_verb) { ! /*JP pline("%s %ss!", Monnam(mtmp), yelp_verb);*/ ! pline("%s¤Ï%s¡ª", Monnam(mtmp), yelp_verb); if(flags.run) nomul(0); wake_nearto(mtmp->mx, mtmp->my, mtmp->data->mlevel * 12); } *************** *** 369,385 **** else switch (mtmp->data->msound) { case MS_MEW: case MS_GROWL: ! whimper_verb = "whimper"; break; case MS_BARK: ! whimper_verb = "whine"; break; case MS_SQEEK: ! whimper_verb = "squeal"; break; } if (whimper_verb) { ! pline("%s %ss.", Monnam(mtmp), whimper_verb); if(flags.run) nomul(0); wake_nearto(mtmp->mx, mtmp->my, mtmp->data->mlevel * 6); } --- 449,469 ---- else switch (mtmp->data->msound) { case MS_MEW: case MS_GROWL: ! /*JP whimper_verb = "whimper";*/ ! whimper_verb = "¥¯¥ó¥¯¥óÌĤ¤¤¿"; break; case MS_BARK: ! /*JP whimper_verb = "whine";*/ ! whimper_verb = "¥¯¡¼¥ó¤ÈÌĤ¤¤¿"; break; case MS_SQEEK: ! /*JP whimper_verb = "squeal";*/ ! whimper_verb = "¥­¡¼¥­¡¼ÌĤ¤¤¿"; break; } if (whimper_verb) { ! /*JP pline("%s %ss.", Monnam(mtmp), whimper_verb);*/ ! pline("%s¤Ï%s¡¥", Monnam(mtmp), whimper_verb); if(flags.run) nomul(0); wake_nearto(mtmp->mx, mtmp->my, mtmp->data->mlevel * 6); } *************** *** 396,402 **** if (mtmp->data->msound != MS_SILENT && mtmp->data->msound <= MS_ANIMAL) (void) domonnoise(mtmp); else if (mtmp->data->msound >= MS_HUMANOID) ! verbalize("I'm hungry."); } static int --- 480,486 ---- if (mtmp->data->msound != MS_SILENT && mtmp->data->msound <= MS_ANIMAL) (void) domonnoise(mtmp); else if (mtmp->data->msound >= MS_HUMANOID) ! verbalize("¤Ï¤é¤Ú¤³¤À¡¥"); } static int *************** *** 429,550 **** break; case MS_WERE: if (flags.moonphase == FULL_MOON && (night() ^ !rn2(13))) { ! pline("%s throws back %s head and lets out a blood curdling %s!", Monnam(mtmp), his[pronoun_gender(mtmp)], ! ptr == &mons[PM_HUMAN_WERERAT] ? "shriek" : "howl"); wake_nearto(mtmp->mx, mtmp->my, 11*11); ! } else ! pline_msg = ! "whispers inaudibly. All you can make out is \"moon\"."; break; case MS_SILENT: break; case MS_BARK: if (flags.moonphase == FULL_MOON && night()) { ! pline_msg = "howls."; } else if (mtmp->mpeaceful) { if (mtmp->mtame && (mtmp->mconf || mtmp->mflee || mtmp->mtrapped || moves > EDOG(mtmp)->hungrytime || mtmp->mtame < 5)) ! pline_msg = "whines."; else if (mtmp->mtame && EDOG(mtmp)->hungrytime > moves + 1000) ! pline_msg = "yips."; else ! pline_msg = "barks."; } else { ! pline_msg = "growls."; } break; case MS_MEW: if (mtmp->mtame) { if (mtmp->mconf || mtmp->mflee || mtmp->mtrapped || mtmp->mtame < 5) ! pline_msg = "yowls."; else if (moves > EDOG(mtmp)->hungrytime) ! pline_msg = "miaos."; else if (EDOG(mtmp)->hungrytime > moves + 1000) ! pline_msg = "purrs."; else ! pline_msg = "mews."; break; } /* else FALLTHRU */ case MS_GROWL: ! pline_msg = mtmp->mpeaceful ? "snarls." : "growls!"; break; case MS_ROAR: ! pline_msg = mtmp->mpeaceful ? "snarls." : "roars!"; break; case MS_SQEEK: ! pline_msg = "squeaks."; break; case MS_SQAWK: ! pline_msg = "squawks."; break; case MS_HISS: if (!mtmp->mpeaceful) ! pline_msg = "hisses!"; else return 0; /* no sound */ break; case MS_BUZZ: ! pline_msg = mtmp->mpeaceful ? "drones." : "buzzes angrily."; break; case MS_GRUNT: ! pline_msg = "grunts."; break; case MS_NEIGH: if (mtmp->mtame < 5) ! pline_msg = "neighs."; else if (moves > EDOG(mtmp)->hungrytime) ! pline_msg = "whinnies."; else ! pline_msg = "whickers."; break; case MS_WAIL: ! pline_msg = "wails mournfully."; break; case MS_GURGLE: ! pline_msg = "gurgles."; break; case MS_BURBLE: ! pline_msg = "burbles."; break; case MS_SHRIEK: ! pline_msg = "shrieks."; aggravate(); break; case MS_IMITATE: ! pline_msg = "imitates you."; break; case MS_BONES: ! pline("%s rattles noisily.", Monnam(mtmp)); ! You("freeze for a moment."); nomul(-2); break; case MS_LAUGH: { static const char *laugh_msg[4] = { ! "giggles.", "chuckles.", "snickers.", "laughs.", }; pline_msg = laugh_msg[rn2(4)]; } break; case MS_MUMBLE: ! pline_msg = "mumbles incomprehensibly."; break; case MS_DJINNI: ! if (mtmp->mtame) verbl_msg = "Thank you for freeing me!"; else if (mtmp->mpeaceful) verbl_msg = "I'm free!"; ! else verbl_msg = "This will teach you not to disturb me!"; break; case MS_BOAST: /* giants */ if (!mtmp->mpeaceful) { switch (rn2(4)) { ! case 0: pline("%s boasts about %s gem collection.", ! Monnam(mtmp), his[pronoun_gender(mtmp)]); break; ! case 1: pline_msg = "complains about a diet of mutton."; break; ! default: pline_msg = "shouts \"Fee Fie Foe Foo!\" and guffaws."; wake_nearto(mtmp->mx, mtmp->my, 7*7); break; } --- 513,674 ---- break; case MS_WERE: if (flags.moonphase == FULL_MOON && (night() ^ !rn2(13))) { ! /*JP pline("%s throws back %s head and lets out a blood curdling %s!", Monnam(mtmp), his[pronoun_gender(mtmp)], ! ptr == &mons[PM_HUMAN_WERERAT] ? "shriek" : "howl");*/ ! pline("%s¤ÏƬ¤ò¤Î¤±¤¾¤é¤·Çضڤ¬É¹¤ë¤è¤¦¤Ê%s¤ò¤¢¤²¤¿¡ª", ! Monnam(mtmp), ! ptr == &mons[PM_HUMAN_WERERAT] ? "¶âÀÚ¤êÀ¼" : "ÒöÓ¬"); wake_nearto(mtmp->mx, mtmp->my, 11*11); ! }else ! /*JP pline_msg = ! "whispers inaudibly. All you can make out is \"moon\".";*/ ! pline_msg = "ʹ¤­¤È¤ì¤Ê¤¤¤è¤¦¤ÊÀ¼¤Ç¤µ¤µ¤ä¤¤¤¿¡¥¤«¤í¤¦¤¸¤Æ¡Ø·î¡Ù¤È¤¤¤¦¸ÀÍÕ¤À¤±¤¬Ê¹¤­¤È¤ì¤¿¡¥"; break; case MS_SILENT: break; case MS_BARK: if (flags.moonphase == FULL_MOON && night()) { ! /*JP pline_msg = "howls.";*/ ! pline_msg = "Ëʤ¨¤¿¡¥"; } else if (mtmp->mpeaceful) { if (mtmp->mtame && (mtmp->mconf || mtmp->mflee || mtmp->mtrapped || moves > EDOG(mtmp)->hungrytime || mtmp->mtame < 5)) ! /*JP pline_msg = "whines.";*/ ! pline_msg = "¥¯¥ó¥¯¥óÌĤ¤¤¿¡¥"; else if (mtmp->mtame && EDOG(mtmp)->hungrytime > moves + 1000) ! /*JP pline_msg = "yips.";*/ ! pline_msg = "¥­¥ã¥ó¥­¥ã¥óÌĤ¤¤¿¡¥"; else ! /*JP pline_msg = "barks.";*/ ! pline_msg = "¥ï¥ó¥ï¥óËʤ¨¤¿¡¥"; } else { ! /*JP pline_msg = "growls.";*/ ! pline_msg = "·ã¤·¤¯Ëʤ¨¤¿¡¥"; } break; case MS_MEW: if (mtmp->mtame) { if (mtmp->mconf || mtmp->mflee || mtmp->mtrapped || mtmp->mtame < 5) ! /*JP pline_msg = "yowls.";*/ ! pline_msg = "Èᤷ¤¯ÌĤ¤¤¿¡¥"; else if (moves > EDOG(mtmp)->hungrytime) ! /*JP pline_msg = "miaos.";*/ ! pline_msg = "¥Ë¥ã¡¼¥ó¤ÈÌĤ¤¤¿¡¥"; else if (EDOG(mtmp)->hungrytime > moves + 1000) ! /*JP pline_msg = "purrs.";*/ ! pline_msg = "¥´¥í¥´¥í¤ÈÌĤ¤¤¿¡¥"; else ! /*JP pline_msg = "mews.";*/ ! pline_msg = "¥Ë¥ã¡¼¥Ë¥ã¡¼ÌĤ¤¤¿¡¥"; break; } /* else FALLTHRU */ case MS_GROWL: ! /*JP pline_msg = mtmp->mpeaceful ? "snarls." : "growls!";*/ ! pline_msg = mtmp->mpeaceful ? "¤¦¤Ê¤Ã¤¿¡¥" : "·ã¤·¤¯Ëʤ¨¤¿¡¥"; break; case MS_ROAR: ! /*JP pline_msg = mtmp->mpeaceful ? "snarls." : "roars!";*/ ! pline_msg = mtmp->mpeaceful ? "¤¦¤Ê¤Ã¤¿¡¥" : "¤È¤Æ¤â·ã¤·¤¯Ëʤ¨¤¿¡¥"; break; case MS_SQEEK: ! /*JP pline_msg = "squeaks.";*/ ! pline_msg = "¥­¡¼¥­¡¼ÌĤ¤¤¿¡¥"; break; case MS_SQAWK: ! /*JP pline_msg = "squawks.";*/ ! pline_msg = "¥­¡¼¥­¡¼ÌĤ¤¤¿¡¥"; break; case MS_HISS: if (!mtmp->mpeaceful) ! /*JP pline_msg = "hisses!";*/ ! pline_msg = "¥·¡¼¥Ã¤ÈÌĤ¤¤¿¡ª"; else return 0; /* no sound */ break; case MS_BUZZ: ! /*JP pline_msg = mtmp->mpeaceful ? "drones." : "buzzes angrily.";*/ ! pline_msg = mtmp->mpeaceful ? "¤Ö¡¼¤ó¤ÈÌĤä¿¡¥" : "¤Ö¤ó¤Ö¤óÌĤä¿¡¥"; break; case MS_GRUNT: ! /*JP pline_msg = "grunts.";*/ ! pline_msg = "¤Ö¡¼¤Ö¡¼ÌĤ¤¤¿¡¥"; break; case MS_NEIGH: if (mtmp->mtame < 5) ! /*JP pline_msg = "neighs.";*/ ! pline_msg = "¤¤¤Ê¤Ê¤¤¤¿¡¥"; else if (moves > EDOG(mtmp)->hungrytime) ! /*JP pline_msg = "whinnies.";*/ ! pline_msg = "¥Ò¥Ò¡¼¥ó¤ÈÌĤ¤¤¿¡¥"; else ! /*JP pline_msg = "whickers.";*/ ! pline_msg = "¥Ò¥Ò¥Ò¡¼¥ó¤ÈÌĤ¤¤¿¡¥"; break; case MS_WAIL: ! /*JP pline_msg = "wails mournfully.";*/ ! pline_msg = "Èᤷ¤²¤ËÌĤ¤¤¿¡¥"; break; case MS_GURGLE: ! /*JP pline_msg = "gurgles.";*/ ! pline_msg = "¤´¤í¤´¤í¹¢¤òÌĤ餷¤¿¡¥"; break; case MS_BURBLE: ! /*JP pline_msg = "burbles.";*/ ! pline_msg = "¤Ú¤Á¤ã¤¯¤Á¤ã¤·¤ã¤Ù¤Ã¤¿¡¥"; break; case MS_SHRIEK: ! /*JP pline_msg = "shrieks.";*/ ! pline_msg = "¶âÀÚ¤êÀ¼¤ò¤¢¤²¤¿¡¥"; aggravate(); break; case MS_IMITATE: ! /*JP pline_msg = "imitates you.";*/ ! pline_msg = "¤¢¤Ê¤¿¤Î¿¿»÷¤ò¤·¤¿¡¥"; break; case MS_BONES: ! /*JP pline("%s rattles noisily.", Monnam(mtmp)); ! You("freeze for a moment.");*/ ! pline("%s¤Ï¥¬¥¿¥¬¥¿¤ÈÁû¤®¤À¤·¤¿¡¥",Monnam(mtmp)); ! You("¤·¤Ð¤é¤¯Æ°¤±¤Ê¤¤¡¥"); nomul(-2); break; case MS_LAUGH: { static const char *laugh_msg[4] = { ! /*JP "giggles.", "chuckles.", "snickers.", "laughs.",*/ ! "¤¯¤¹¤¯¤¹¾Ð¤Ã¤¿¡¥", "¤¯¤¹¤Ã¤¹¤È¾Ð¤Ã¤¿¡¥", ! "¤Ð¤«¤Ë¤·¤¿¤è¤¦¤Ë¾Ð¤Ã¤¿¡¥", "¾Ð¤Ã¤¿¡¥", }; pline_msg = laugh_msg[rn2(4)]; } break; case MS_MUMBLE: ! /*JP pline_msg = "mumbles incomprehensibly.";*/ ! pline_msg = "ÉԲIJò¤Ê¸ÀÍÕ¤ò¤Ä¤Ö¤ä¤¤¤¿¡¥"; break; case MS_DJINNI: ! /*JP if (mtmp->mtame) verbl_msg = "Thank you for freeing me!"; else if (mtmp->mpeaceful) verbl_msg = "I'm free!"; ! else verbl_msg = "This will teach you not to disturb me!";*/ ! if (mtmp->mtame) verbl_msg = "»ä¤ò½õ¤±¤Æ¤¯¤ì¤¿¤³¤È¤ò´¶¼Õ¤¹¤ë¡ª"; ! else if (mtmp->mpeaceful) verbl_msg = "¤ä¤Ã¤È¼«Í³¤Ë¤Ê¤Ã¤¿¡ª"; ! else verbl_msg = "¤¸¤ã¤Þ¤ò¤·¤Ê¤¤¤Ç¤¯¤ì¡ª"; break; case MS_BOAST: /* giants */ if (!mtmp->mpeaceful) { switch (rn2(4)) { ! /*JP case 0: pline("%s boasts about %s gem collection.", ! Monnam(mtmp), his[pronoun_gender(mtmp)]);*/ ! case 0: pline("%s¤Ï¼«Ê¬¤ÎÊõÀФΥ³¥ì¥¯¥·¥ç¥ó¤ò¼«Ëý¤·¤¿¡¥", ! Monnam(mtmp)); break; ! /*JP case 1: pline_msg = "complains about a diet of mutton.";*/ ! case 1: pline_msg = "ÍӤΥÀ¥¤¥¨¥Ã¥È¤Ë¤Ä¤¤¤Æ¤ÎÉÔËþ¤ò½Ò¤Ù¤¿¡¥"; break; ! /*JP default: pline_msg = "shouts \"Fee Fie Foe Foo!\" and guffaws.";*/ ! default: pline_msg = "¡Ø¤ï¤Ã¤Ï¤Ã¤Ï¤Ã¤Ï¡ª¡Ù¤È¤Ð¤«¾Ð¤¤¤·¤¿¡¥"; wake_nearto(mtmp->mx, mtmp->my, 7*7); break; } *************** *** 562,605 **** } /* Generic peaceful humanoid behaviour. */ if (mtmp->mflee) ! pline_msg = "wants nothing to do with you."; else if (mtmp->mhp < mtmp->mhpmax/4) ! pline_msg = "moans."; else if (mtmp->mconf || mtmp->mstun) ! verbl_msg = !rn2(3) ? "Huh?" : rn2(2) ? "What?" : "Eh?"; else if (!mtmp->mcansee) ! verbl_msg = "I can't see!"; else if (mtmp->mtrapped) ! verbl_msg = "I'm trapped!"; else if (mtmp->mhp < mtmp->mhpmax/2) ! pline_msg = "asks for a potion of healing."; else if (mtmp->mtame && moves > EDOG(mtmp)->hungrytime) ! verbl_msg = "I'm hungry."; /* Specific monsters' interests */ else if (is_elf(ptr)) ! pline_msg = "curses orcs."; else if (is_dwarf(ptr)) ! pline_msg = "talks about mining."; else if (likes_magic(ptr)) ! pline_msg = "talks about spellcraft."; else if (ptr->mlet == S_CENTAUR) ! pline_msg = "discusses hunting."; else switch (monsndx(ptr)) { case PM_HOBBIT: pline_msg = (mtmp->mhpmax - mtmp->mhp >= 10) ? ! "complains about unpleasant dungeon conditions." ! : "asks you about the One Ring."; break; case PM_ARCHEOLOGIST: ! pline_msg = "describes a recent article in \"Spelunker Today\" magazine."; break; #ifdef TOURIST case PM_TOURIST: ! verbl_msg = "Aloha."; break; #endif default: ! pline_msg = "discusses dungeon exploration."; break; } break; --- 686,746 ---- } /* Generic peaceful humanoid behaviour. */ if (mtmp->mflee) ! /*JP pline_msg = "wants nothing to do with you.";*/ ! pline_msg = "¤¢¤Ê¤¿¤È´Ø·¸¤ò»ý¤Á¤¿¤¯¤Ê¤¤¤è¤¦¤À¡¥"; else if (mtmp->mhp < mtmp->mhpmax/4) ! /*JP pline_msg = "moans.";*/ ! pline_msg = "¤¦¤á¤­À¼¤ò¤¢¤²¤¿¡¥"; else if (mtmp->mconf || mtmp->mstun) ! /*JP verbl_msg = !rn2(3) ? "Huh?" : rn2(2) ? "What?" : "Eh?";*/ ! verbl_msg = !rn2(3) ? "¤Ø¡©" : rn2(2) ? "²¿¡©" : "¤¨¡©"; else if (!mtmp->mcansee) ! /*JP verbl_msg = "I can't see!";*/ ! verbl_msg = "²¿¤â¸«¤¨¤Ê¤¤¡ª"; else if (mtmp->mtrapped) ! /*JP verbl_msg = "I'm trapped!";*/ ! verbl_msg = "櫤ˤϤޤäƤ·¤Þ¤Ã¤¿¡ª"; else if (mtmp->mhp < mtmp->mhpmax/2) ! /*JP pline_msg = "asks for a potion of healing.";*/ ! pline_msg = "²óÉü¤ÎÌô¤ò»ý¤Ã¤Æ¤Ê¤¤¤«¿Ò¤Í¤¿¡¥"; else if (mtmp->mtame && moves > EDOG(mtmp)->hungrytime) ! /*JP verbl_msg = "I'm hungry.";*/ ! verbl_msg = "Ê¢¤¬¸º¤Ã¤¿¤Ê¡¥"; /* Specific monsters' interests */ else if (is_elf(ptr)) ! /*JP pline_msg = "curses orcs.";*/ ! pline_msg = "¥ª¡¼¥¯¤ò¼ö¤Ã¤¿¡¥"; else if (is_dwarf(ptr)) ! /*JP pline_msg = "talks about mining.";*/ ! pline_msg = "ºÎ·¡¤Ë¤Ä¤¤¤ÆÏä·¤¿¡¥"; else if (likes_magic(ptr)) ! /*JP pline_msg = "talks about spellcraft.";*/ ! pline_msg = "ËâÎϤˤĤ¤¤ÆÏä·¤¿¡¥"; else if (ptr->mlet == S_CENTAUR) ! /*JP pline_msg = "discusses hunting.";*/ ! pline_msg = "ÎĤˤĤ¤¤ÆµÄÏÀ¤·¤¿¡¥"; ! else switch (monsndx(ptr)) { case PM_HOBBIT: pline_msg = (mtmp->mhpmax - mtmp->mhp >= 10) ? ! /*JP "complains about unpleasant dungeon conditions." ! : "asks you about the One Ring.";*/ ! "ÉÔÌû²÷¤Ê̵ܤξõÂ֤ˤĤ¤¤ÆÉÔËþ¤ò½Ò¤Ù¤¿¡¥" ! : "¡Ö°ì¤Ä¤Î»ØÎءפˤĤ¤¤Æ¿Ò¤Í¤¿¡¥"; break; case PM_ARCHEOLOGIST: ! /*JP pline_msg = "describes a recent article in \"Spelunker Today\" magazine.";*/ ! pline_msg = "¡ÖÆü´©Æ¶·¢¡×¤ÎºÇ¿·¤Îµ­»ö¤ò¼¹É®¤·¤Æ¤¤¤ë¡¥"; break; #ifdef TOURIST case PM_TOURIST: ! /*JP verbl_msg = "Aloha.";*/ ! verbl_msg = "¥¢¥í¡¼¥Ï¡¥"; break; #endif default: ! /*JP pline_msg = "discusses dungeon exploration.";*/ ! pline_msg = "̵Üõ¸¡¤Ë¤Ä¤¤¤ÆµÄÏÀ¤·¤¿¡¥"; break; } break; *************** *** 612,639 **** } switch ((poly_gender() != (int) mtmp->female) ? rn2(3) : 0) { #else ! switch ((poly_gender() == 0) ? rn2(3) : 0) { #endif case 2: ! verbl_msg = "Hello, sailor."; break; case 1: ! pline_msg = "comes on to you."; break; default: ! pline_msg = "cajoles you."; } break; #ifdef KOPS case MS_ARREST: if (mtmp->mpeaceful) ! verbalize("Just the facts, %s.", ! flags.female ? "Ma'am" : "Sir"); else { static const char *arrest_msg[3] = { ! "Anything you say can be used against you.", "You're under arrest!", ! "Stop in the name of the Law!", }; verbl_msg = arrest_msg[rn2(3)]; } --- 753,798 ---- } switch ((poly_gender() != (int) mtmp->female) ? rn2(3) : 0) { #else ! /* switch ((poly_gender() == 0) ? rn2(3) : 0) {*/ #endif case 2: ! /*JP verbl_msg = "Hello, sailor.";*/ ! switch(poly_gender()){ ! case 0: ! verbl_msg = "¤³¤ó¤Ë¤Á¤Ï¡¥¤¢¤é¤¤¤¤Ãˤ͡¥"; ! break; ! case 1: ! verbl_msg = "¤³¤ó¤Ë¤Á¤Ï¡¤¤ª¾î¤µ¤ó¡¥"; ! break; ! default: ! verbl_msg = "¤³¤ó¤Ë¤Á¤Ï¡¥"; ! break; ! } break; case 1: ! /*JP pline_msg = "comes on to you.";*/ ! pline_msg = "¤¢¤Ê¤¿¤Î¤Û¤¦¤Ø¤ä¤Ã¤Æ¤­¤¿¡¥"; break; default: ! /*JP pline_msg = "cajoles you.";*/ ! pline_msg = "¤¢¤Ê¤¿¤ò¤ª¤À¤Æ¤¿¡¥"; } break; #ifdef KOPS case MS_ARREST: if (mtmp->mpeaceful) ! /*JP verbalize("Just the facts, %s.", ! flags.female ? "Ma'am" : "Sir");*/ ! verbalize("¤³¤ì¤¬¸½¼Â¤À¤è%s¡¥", ! flags.female ? "¤ª¾î¤µ¤ó" : "¤­¤ß"); else { static const char *arrest_msg[3] = { ! /*JP "Anything you say can be used against you.", "You're under arrest!", ! "Stop in the name of the Law!",*/ ! "¤ª¤Þ¤¨¤Î¸À¤¦¤³¤È¤Ï¤ª¤Þ¤¨¤Ë¤È¤Ã¤ÆÉÔÍø¤Ê¾Úµò¤È¤Ê¤ë¤³¤È¤¬¤¢¤ë¡ª", ! "¤ª¤Þ¤¨¤òÂáÊ᤹¤ë¡ª", ! "Ë¡¤Î̾¤Î¤â¤Èľ¤Á¤ËÃæ»ß¤»¤è¡ª", }; verbl_msg = arrest_msg[rn2(3)]; } *************** *** 651,687 **** break; case MS_SPELL: /* deliberately vague, since it's not actually casting any spell */ ! pline_msg = "seems to mutter a cantrip."; break; case MS_NURSE: if (uwep && (uwep->oclass == WEAPON_CLASS || is_weptool(uwep))) ! verbl_msg = "Put that weapon away before you hurt someone!"; else if (uarmc || uarm || uarmh || uarms || uarmg || uarmf) verbl_msg = Role_is('H') ? ! "Doc, I can't help you unless you cooperate." : ! "Please undress so I can examine you."; #ifdef TOURIST else if (uarmu) ! verbl_msg = "Take off your shirt, please."; #endif ! else verbl_msg = "Relax, this won't hurt a bit."; break; case MS_GUARD: if (u.ugold) ! verbl_msg = "Please drop that gold and follow me."; else ! verbl_msg = "Please follow me."; break; case MS_SOLDIER: { static const char *soldier_foe_msg[3] = { ! "Resistance is useless!", "You're dog meat!", ! "Surrender!", }, *soldier_pax_msg[3] = { ! "What lousy pay we're getting here!", "The food's not fit for Orcs!", ! "My feet hurt, I've been on them all day!", }; verbl_msg = mtmp->mpeaceful ? soldier_pax_msg[rn2(3)] : soldier_foe_msg[rn2(3)]; --- 810,860 ---- break; case MS_SPELL: /* deliberately vague, since it's not actually casting any spell */ ! /*JP pline_msg = "seems to mutter a cantrip.";*/ ! pline_msg = "¤Ö¤Ä¤Ö¤Ä¤È¤Ä¤Ö¤ä¤¤¤Æ¤¤¤ë¡¥"; break; case MS_NURSE: if (uwep && (uwep->oclass == WEAPON_CLASS || is_weptool(uwep))) ! /*JP verbl_msg = "Put that weapon away before you hurt someone!";*/ ! verbl_msg = "Éð´ï¤ò¤ª¤µ¤á¤Ê¤µ¤¤¡ª¤½¤ì¤Ï¿Í¤ò½ý¤Ä¤±¤ë¤â¤Î¤è¡ª"; else if (uarmc || uarm || uarmh || uarms || uarmg || uarmf) verbl_msg = Role_is('H') ? ! /*JP "Doc, I can't help you unless you cooperate." : ! "Please undress so I can examine you.";*/ ! "ÀèÀ¸¡¤¤¢¤Ê¤¿¤Î¶¨ÎϤʤ·¤Ç¤Ï¤É¤¦¤·¤è¤¦¤â¤¢¤ê¤Þ¤»¤ó¤ï¡¥" : ! "Éþ¤ò椤¤Ç¤¯¤À¤µ¤¤¡¥¤¢¤Ê¤¿¤ò¿Ç»¡¤·¤Þ¤¹¤ï¡¥"; #ifdef TOURIST else if (uarmu) ! /*JP verbl_msg = "Take off your shirt, please.";*/ ! verbl_msg = "¥·¥ã¥Ä¤ò椤¤Ç¤¯¤À¤µ¤¤¡¥"; #endif ! /*JP else verbl_msg = "Relax, this won't hurt a bit.";*/ ! else verbl_msg = "¤ª¤Á¤Ä¤¤¤Æ¡¥¤Á¤Ã¤È¤âÄˤ¯¤Ê¤¤¤ï¤è¡¥"; break; case MS_GUARD: if (u.ugold) ! /*JP verbl_msg = "Please drop that gold and follow me.";*/ ! verbl_msg = "¶â¤òÃÖ¤¤¤Æ¤Ä¤¤¤Æ¤³¤¤¡¥"; else ! /*JP verbl_msg = "Please follow me.";*/ ! verbl_msg = "¤Ä¤¤¤Æ¤³¤¤¡¥"; break; case MS_SOLDIER: { static const char *soldier_foe_msg[3] = { ! /*JP "Resistance is useless!", "You're dog meat!", ! "Surrender!",*/ ! "Äñ¹³¤Ï¤ä¤á¤í¡ª", ! "¸¤¤Ë¶ô¤ï¤ì¤Á¤Þ¤¨¡ª", ! "¹ßÉú¤·¤í¡ª", }, *soldier_pax_msg[3] = { ! /*JP "What lousy pay we're getting here!", "The food's not fit for Orcs!", ! "My feet hurt, I've been on them all day!",*/ ! "¤¿¤Ã¤×¤ê¶â¤òÃÖ¤¤¤Æ¤æ¤±¡ª", ! "¤Ê¤ó¤À¤¤¡©¥ª¡¼¥¯¤Ç¤â¶ô¤¨¤Í¤§¤¼¡ª", ! "­¤ò²ø²æ¤·¤¿¡¤¤É¤¦¤·¤Æ¤¯¤ì¤ë¡ª", }; verbl_msg = mtmp->mpeaceful ? soldier_pax_msg[rn2(3)] : soldier_foe_msg[rn2(3)]; *************** *** 689,700 **** break; case MS_RIDER: if (ptr == &mons[PM_DEATH] && mtmp->mpeaceful) ! pline_msg = "is busy reading a copy of Sandman #9."; ! else verbl_msg = "Who do you think you are, War?"; break; } ! if (pline_msg) pline("%s %s", Monnam(mtmp), pline_msg); else if (verbl_msg) verbalize(verbl_msg); return(1); } --- 862,876 ---- break; case MS_RIDER: if (ptr == &mons[PM_DEATH] && mtmp->mpeaceful) ! /*JP pline_msg = "is busy reading a copy of Sandman #9.";*/ ! pline_msg = "Sandman¤Î9¾Ï¤òÆɤà¤Î¤ËË»¤·¤¤"; ! /*JP else verbl_msg = "Who do you think you are, War?";*/ ! else verbl_msg = "¼«Ê¬¤¬²¿Êª¤«¹Í¤¨¤¿¤³¤È¤¬¤¢¤ë¤«¡©"; break; } ! /*JP if (pline_msg) pline("%s %s", Monnam(mtmp), pline_msg);*/ ! if (pline_msg) pline("%s¤Ï%s", Monnam(mtmp), pline_msg); else if (verbl_msg) verbalize(verbl_msg); return(1); } *************** *** 719,737 **** struct obj *otmp; if (uasmon->msound == MS_SILENT) { ! pline("As %s, you cannot speak.", an(uasmon->mname)); return(0); } if (Strangled) { ! You_cant("speak. You're choking!"); return(0); } if (u.uswallow) { ! pline("They won't hear you out there."); return(0); } if (Underwater) { ! Your("speech is unintelligible underwater."); return(0); } --- 895,917 ---- struct obj *otmp; if (uasmon->msound == MS_SILENT) { ! /*JP pline("As %s, you cannot speak.", an(uasmon->mname));*/ ! pline("¤¢¤Ê¤¿¤Ï%s¤Ê¤Î¤Ç¡¤Ï乤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥", jtrns_mon(uasmon->mname, flags.female)); return(0); } if (Strangled) { ! /*JP You_cant("speak. You're choking!");*/ ! You("Ï令ʤ¤¡¥¤¢¤Ê¤¿¤Ï¼ó¤ò¹Ê¤á¤é¤ì¤Æ¤¤¤ë¡ª"); return(0); } if (u.uswallow) { ! /*JP pline("They won't hear you out there.");*/ ! You("³°¤Ø¸þ¤Ã¤ÆÏäò¤·¤¿¤¬¡¤Ã¯¤âʹ¤­¤¤¤ì¤Ê¤«¤Ã¤¿¡¥"); return(0); } if (Underwater) { ! /*JP Your("speech is unintelligible underwater.");*/ ! pline("¿åÌ̲¼¤Ç¤Ï¡¤¤¢¤Ê¤¿¤ÎÏÃ¤Ï¤í¤¯¤ËÍý²ò¤µ¤ì¤Ê¤¤¡¥"); return(0); } *************** *** 747,756 **** return(1); } ! (void) getdir("Talk to whom? [in what direction]"); if (u.dz) { ! pline("They won't hear you %s there.", u.dz < 0 ? "up" : "down"); return(0); } --- 927,939 ---- return(1); } ! /*JP (void) getdir("Talk to whom? [in what direction]");*/ ! (void) getdir("ï¤ÈÏä·¤Þ¤¹¤«¡©[¤É¤ÎÊý¸þ]"); if (u.dz) { ! /*JP pline("They won't hear you %s there.", u.dz < 0 ? "up" : "down");*/ ! pline("%s¸þ¤Ã¤ÆÏäò¤·¤Æ¤â°ÕÌ£¤¬¤Ê¤¤¡¥", ! u.dz < 0 ? "¾å¤Ø" : "²¼¤Ø"); return(0); } *************** *** 760,770 **** * 2 helmets, 2 amulets, 3 pairs of gloves or 6 rings as a marilith, * etc... --KAA if (u.umonnum == PM_ETTIN) { ! You("discover that your other head makes boring conversation."); return(1); } */ ! pline("Talking to yourself is a bad habit for a dungeoneer."); return(0); } --- 943,955 ---- * 2 helmets, 2 amulets, 3 pairs of gloves or 6 rings as a marilith, * etc... --KAA if (u.umonnum == PM_ETTIN) { ! JP You("discover that your other head makes boring conversation."); ! You("¾¤ÎƬ¤¬²ñÏäò¤·¤Æ¤¤¤ë¤Î¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥"); return(1); } */ ! /*JP pline("Talking to yourself is a bad habit for a dungeoneer.");*/ ! pline("̵Üõ¸¡¼Ô¤Ë¤È¤Ã¤Æ°ì¿Í¸À¤Ï°­¤¤ÊʤÀ¡¥"); return(0); } *************** *** 773,789 **** if ((Blind && !Telepat) || !mtmp || mtmp->mundetected || mtmp->m_ap_type == M_AP_FURNITURE || mtmp->m_ap_type == M_AP_OBJECT) { ! pline("I see nobody there."); return(0); } /* sleeping monsters won't talk, except priests (who wake up) */ if ((!mtmp->mcanmove || mtmp->msleep) && !mtmp->ispriest) { ! pline("%s seems not to notice you.", Monnam(mtmp)); return(0); } if (mtmp->mtame && mtmp->meating) { ! pline("%s is eating noisily.", Monnam(mtmp)); return (0); } --- 958,977 ---- if ((Blind && !Telepat) || !mtmp || mtmp->mundetected || mtmp->m_ap_type == M_AP_FURNITURE || mtmp->m_ap_type == M_AP_OBJECT) { ! /*JP pline("I see nobody there.");*/ ! pline("¤½¤³¤Ë¤Ï²¿¤â¤Ê¤¤¡¥"); return(0); } /* sleeping monsters won't talk, except priests (who wake up) */ if ((!mtmp->mcanmove || mtmp->msleep) && !mtmp->ispriest) { ! /*JP pline("%s seems not to notice you.", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Ëµ¤¤¬¤Ä¤¤¤Æ¤¤¤Ê¤¤¤è¤¦¤À¡¥", Monnam(mtmp)); return(0); } if (mtmp->mtame && mtmp->meating) { ! /*JP pline("%s is eating noisily.", Monnam(mtmp));*/ ! pline("%s¤Ï¥Ð¥ê¥Ð¥ê¤Èʪ¤ò¿©¤Ù¤Æ¤¤¤ë¡¥", Monnam(mtmp)); return (0); } diff -c -r ../nethack-3.2.2/src/spell.c ./src/spell.c *** ../nethack-3.2.2/src/spell.c Sat Dec 28 21:53:52 1996 --- ./src/spell.c Tue Jul 22 23:18:38 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) M. Stephenson 1988 */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" static NEARDATA schar delay; /* moves left for this spell */ *************** *** 99,105 **** #define uarmfbon 2 /* All metal interferes to some degree */ /* since the spellbook itself doesn't blow up, don't say just "explodes" */ ! static const char explodes[] = "radiates explosive energy"; static void cursed_book(lev) --- 106,112 ---- #define uarmfbon 2 /* All metal interferes to some degree */ /* since the spellbook itself doesn't blow up, don't say just "explodes" */ ! /*JPstatic const char explodes[] = "radiates explosive energy";*/ static void cursed_book(lev) *************** *** 107,117 **** { switch(rn2(lev)) { case 0: ! You_feel("a wrenching sensation."); tele(); /* teleport him */ break; case 1: ! You_feel("threatened."); aggravate(); break; case 2: --- 114,126 ---- { switch(rn2(lev)) { case 0: ! /*JP You_feel("a wrenching sensation.");*/ ! You("¤Í¤¸¤é¤ì¤¿¤è¤¦¤Ê´¶³Ð¤ò´¶¤¸¤¿¡¥"); tele(); /* teleport him */ break; case 1: ! /*JP You_feel("threatened.");*/ ! You("¤ª¤É¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); aggravate(); break; case 2: *************** *** 121,160 **** take_gold(); break; case 4: ! pline("These runes were just too much to comprehend."); make_confused(HConfusion + rn1(7,16),FALSE); break; case 5: ! pline_The("book was coated with contact poison!"); if (uarmg) { /* Note: at this writing, there are no corrodeable * gloves in the game. If no one plans on adding * copper gauntlets, most of this could be removed. -3. */ if (uarmg->oerodeproof || !is_corrodeable(uarmg)) { ! Your("gloves seem unaffected."); } else if (uarmg->oeroded < MAX_ERODE) { ! Your("gloves corrode%s!", uarmg->oeroded+1 == MAX_ERODE ? " completely" : ! uarmg->oeroded ? " further" : ""); uarmg->oeroded++; } else ! Your("gloves %s completely corroded.", ! Blind ? "feel" : "look"); break; } losestr(Poison_resistance ? rn1(2,1) : rn1(4,3)); losehp(rnd(Poison_resistance ? 6 : 10), ! "contact-poisoned spellbook", KILLED_BY_AN); break; case 6: if(Antimagic) { shieldeff(u.ux, u.uy); ! pline_The("book %s, but you are unharmed!", explodes); } else { ! pline("As you read the book, it %s in your %s!", explodes, body_part(FACE)); ! losehp (2*rnd(10)+5, "exploding rune", KILLED_BY_AN); } break; default: --- 130,183 ---- take_gold(); break; case 4: ! /*JP pline("These runes were just too much to comprehend.");*/ ! pline("¤³¤Î¥ë¡¼¥óʸ»ú¤òÍý²ò¤¹¤ë¤Î¤Ïº¤Æñ¤À¡¥"); make_confused(HConfusion + rn1(7,16),FALSE); break; case 5: ! /*JP pline_The("book was coated with contact poison!");*/ ! pline("¤³¤ÎËܤÏÀÜ¿¨·¿¤ÎÆǤÇʤ¤ï¤ì¤Æ¤¤¤ë¡ª"); if (uarmg) { /* Note: at this writing, there are no corrodeable * gloves in the game. If no one plans on adding * copper gauntlets, most of this could be removed. -3. */ if (uarmg->oerodeproof || !is_corrodeable(uarmg)) { ! /*JP Your("gloves seem unaffected.");*/ ! pline("¾®¼ê¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡¥"); } else if (uarmg->oeroded < MAX_ERODE) { ! /*JP Your("gloves corrode%s!", uarmg->oeroded+1 == MAX_ERODE ? " completely" : ! uarmg->oeroded ? " further" : "");*/ ! pline("¾®¼ê¤Ï%sÉå¿©¤·¤¿¡ª", ! uarmg->oeroded+1 == MAX_ERODE ? "´°Á´¤Ë" : ! uarmg->oeroded ? "¤µ¤é¤Ë" : ""); uarmg->oeroded++; } else ! /*JP Your("gloves %s completely corroded.", ! Blind ? "feel" : "look");*/ ! pline("¾®¼ê¤Ï´°Á´¤ËÉå¿©¤·¤¿%s¡¥", ! Blind ? "¤è¤¦¤À" : "¤è¤¦¤Ë¸«¤¨¤ë"); break; } losestr(Poison_resistance ? rn1(2,1) : rn1(4,3)); losehp(rnd(Poison_resistance ? 6 : 10), ! /*JP "contact-poisoned spellbook", KILLED_BY_AN);*/ ! "ÀÜ¿¨ÆǤÎËâË¡½ñ¤Ç", KILLED_BY_AN); break; case 6: if(Antimagic) { shieldeff(u.ux, u.uy); ! /*JP pline_The("book %s, but you are unharmed!", explodes);*/ ! pline("Ëܤ϶¯ÎϤʥ¨¥Í¥ë¥®¡¼¤òÊü½Ð¤·¤¿¡¤¤·¤«¤·¤¢¤Ê¤¿¤Ï½ý¤Ä¤«¤Ê¤¤¡ª"); ! } else { ! /*JP pline("As you read the book, it %s in your %s!", explodes, body_part(FACE)); ! losehp (2*rnd(10)+5, "exploding rune", KILLED_BY_AN);*/ ! pline("Ëܤ϶¯ÎϤʥ¨¥Í¥ë¥®¡¼¤ò¤¢¤Ê¤¿¤Î%s¤ËÊü½Ð¤·¤¿", ! body_part(FACE)); ! losehp (2*rnd(10)+5, "¶¯ÎϤʥ롼¥óʸ»ú¤Î¥¨¥Í¥ë¥®¡¼¤Ç", KILLED_BY_AN); } break; default: *************** *** 172,178 **** struct monst *mtmp, *mtmp2; coord mm; ! You("turn the pages of the Book of the Dead..."); makeknown(SPE_BOOK_OF_THE_DEAD); if(invocation_pos(u.ux, u.uy) && !On_stairs(u.ux, u.uy)) { register struct obj *otmp; --- 195,202 ---- struct monst *mtmp, *mtmp2; coord mm; ! /*JP You("turn the pages of the Book of the Dead...");*/ ! You("»à¼Ô¤ÎËܤΥڡ¼¥¸¤ò¤á¤¯¤Ã¤¿¡¥¡¥¡¥"); makeknown(SPE_BOOK_OF_THE_DEAD); if(invocation_pos(u.ux, u.uy) && !On_stairs(u.ux, u.uy)) { register struct obj *otmp; *************** *** 180,195 **** arti_cursed = FALSE; if(book2->cursed) { ! pline_The("runes appear scrambled. You can't read them!"); return; } if(!u.uhave.bell || !u.uhave.menorah) { ! pline("A chill runs down your %s.", body_part(SPINE)); ! if(!u.uhave.bell) You_hear("a faint chime..."); ! if(!u.uhave.menorah) pline("Vlad's doppelganger is amused."); return; ! } for(otmp = invent; otmp; otmp = otmp->nobj) { if(otmp->otyp == CANDELABRUM_OF_INVOCATION && --- 204,223 ---- arti_cursed = FALSE; if(book2->cursed) { ! /*JP pline_The("runes appear scrambled. You can't read them!");*/ ! pline("¥ë¡¼¥óʸ»ú¤Ï¤´¤Á¤ã¤Þ¤¼¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¤Æɤळ¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¡ª"); return; } if(!u.uhave.bell || !u.uhave.menorah) { ! /*JP pline("A chill runs down your %s.", body_part(SPINE));*/ ! pline("´¨¤±¤¬¤¢¤Ê¤¿¤Î%s¤òÁö¤Ã¤¿¡¥", body_part(SPINE)); ! /*JP if(!u.uhave.bell) You_hear("a faint chime...");*/ ! if(!u.uhave.bell) You("¤«¤¹¤«¤Ê¥Ù¥ë¤Î²»¤òʹ¤¤¤¿¡¥¡¥¡¥"); ! /*JP if(!u.uhave.menorah) pline("Vlad's doppelganger is amused.");*/ ! if(!u.uhave.menorah) pline("¥ô¥é¥É¤ÎÀ¸Îî¤Ï¾Ð¤Ã¤¿¡¥"); return; ! } for(otmp = invent; otmp; otmp = otmp->nobj) { if(otmp->otyp == CANDELABRUM_OF_INVOCATION && *************** *** 205,217 **** } if(arti_cursed) { ! pline_The("invocation fails!"); ! pline("At least one of your artifacts is cursed..."); } else if(arti1_primed && arti2_primed) { mkinvokearea(); u.uevent.invoked = 1; } else { /* at least one artifact not prepared properly */ ! You("have a feeling that %s is amiss...", something); goto raise_dead; } return; --- 233,248 ---- } if(arti_cursed) { ! /*JP pline_The("invocation fails!"); ! pline("At least one of your artifacts is cursed...");*/ ! pline("ÆüìǽÎϤÏȯ´ø¤µ¤ì¤Ê¤«¤Ã¤¿¡ª"); ! pline("¾¯¤¯¤È¤â¤¢¤Ê¤¿¤ÎÀ»´ï¤Î¤Ò¤È¤Ä¤¬¼ö¤ï¤ì¤Æ¤¤¤ë¡¥¡¥¡¥"); } else if(arti1_primed && arti2_primed) { mkinvokearea(); u.uevent.invoked = 1; } else { /* at least one artifact not prepared properly */ ! /*JP You("have a feeling that %s is amiss...", something);*/ ! You("²¿¤«¤¬´Ö°ã¤Ã¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥¡¥¡¥"); goto raise_dead; } return; *************** *** 221,227 **** if (book2->cursed) { raise_dead: ! You("raised the dead!"); /* first maybe place a dangerous adversary */ if (!rn2(3) && ((mtmp = makemon(&mons[PM_MASTER_LICH], u.ux, u.uy, NO_MINVENT)) != 0 || --- 252,259 ---- if (book2->cursed) { raise_dead: ! /*JP You("raised the dead!");*/ ! You("»à¼Ô¤òÁɤ餻¤¿¡ª"); /* first maybe place a dangerous adversary */ if (!rn2(3) && ((mtmp = makemon(&mons[PM_MASTER_LICH], u.ux, u.uy, NO_MINVENT)) != 0 || *************** *** 253,265 **** } else { switch(rn2(3)) { case 0: ! Your("ancestors are annoyed with you!"); break; case 1: ! pline_The("headstones in the cemetery begin to move!"); break; default: ! pline("Oh my! Your name appears in the book!"); } } return; --- 285,300 ---- } else { switch(rn2(3)) { case 0: ! /*JP Your("ancestors are annoyed with you!");*/ ! Your("ÀèÁĤϤ¢¤Ê¤¿¤¬·ù¤¤¤Ê¤è¤¦¤À¡ª"); break; case 1: ! /*JP pline_The("headstones in the cemetery begin to move!");*/ ! pline("ÊèÃϤÎÊèÀФ¬Æ°¤­¤Ï¤¸¤á¤¿¡ª"); break; default: ! /*JP pline("Oh my! Your name appears in the book!");*/ ! pline("¤Ê¤ó¤Æ¤³¤Ã¤¿¤¤¡ª¤¢¤Ê¤¿¤Î̾Á°¤¬Ëܤ˽ñ¤¤¤Æ¤¢¤ë¡ª"); } } return; *************** *** 285,299 **** for (i = 0; i < MAXSPELL; i++) { if (spellid(i) == booktype) { if (book->spestudied >= rnd(30 - spellev(i))) { ! pline("This spellbook is too faint to be read anymore."); book->otyp = booktype = SPE_BLANK_PAPER; } else if (spelluses(i) < 20 - spellev(i)) { ! Your("knowledge of that spell is keener."); spl_book[i].sp_uses += 10 - spellev(i); book->spestudied++; exercise(A_WIS, TRUE); /* extra study */ } else ! You("know that spell quite well already."); /* make book become known even when spell is already known, in case amnesia made you forget the book */ makeknown((int)booktype); --- 320,338 ---- for (i = 0; i < MAXSPELL; i++) { if (spellid(i) == booktype) { if (book->spestudied >= rnd(30 - spellev(i))) { ! /*JP pline("This spellbook is too faint to be read anymore.");*/ ! pline("¤³¤ÎËâË¡½ñ¤Îʸ»ú¤ÏÇö¤¹¤®¤Æ¤³¤ì°Ê¾åÆɤá¤Ê¤¤¡¥"); ! book->otyp = booktype = SPE_BLANK_PAPER; } else if (spelluses(i) < 20 - spellev(i)) { ! /*JP Your("knowledge of that spell is keener.");*/ ! Your("¤½¤ÎËâË¡¤ËÂФ¹¤ëÃμ±¤Ï¸¦¤®¤¹¤Þ¤µ¤ì¤¿¡¥"); spl_book[i].sp_uses += 10 - spellev(i); book->spestudied++; exercise(A_WIS, TRUE); /* extra study */ } else ! /*JP You("know that spell quite well already.");*/ ! You("¤½¤ÎËâË¡¤ò½ÏÃΤ·¤Æ¤¤¤ë¡¥"); /* make book become known even when spell is already known, in case amnesia made you forget the book */ makeknown((int)booktype); *************** *** 303,309 **** spl_book[i].sp_lev = objects[booktype].oc_level; spl_book[i].sp_uses = 30 - spellev(i); book->spestudied++; ! You("add the spell to your repertoire."); makeknown((int)booktype); break; } --- 342,349 ---- spl_book[i].sp_lev = objects[booktype].oc_level; spl_book[i].sp_uses = 30 - spellev(i); book->spestudied++; ! /*JP You("add the spell to your repertoire.");*/ ! You("ËâË¡¤òÃμ±¤Ë²Ã¤¨¤¿¡¥"); makeknown((int)booktype); break; } *************** *** 326,338 **** register boolean confused = (Confusion != 0); if (delay && spellbook == book) ! You("continue your efforts to memorize the spell."); else { switch(booktype) { /* blank spellbook */ case SPE_BLANK_PAPER: ! pline("This spellbook is all blank."); makeknown(SPE_BLANK_PAPER); return(1); /* level 1 spells */ --- 366,380 ---- register boolean confused = (Confusion != 0); if (delay && spellbook == book) ! /*JP You("continue your efforts to memorize the spell.");*/ ! You("ËâË¡¤Î³Ø½¬¤òºÆ³«¤·¤¿¡¥"); else { switch(booktype) { /* blank spellbook */ case SPE_BLANK_PAPER: ! /*JP pline("This spellbook is all blank.");*/ ! pline("¤³¤ÎËâË¡½ñ¤Ï¿¿¤ÃÇò¤À¡¥"); makeknown(SPE_BLANK_PAPER); return(1); /* level 1 spells */ *************** *** 406,412 **** nomul(delay); /* study time */ delay = 0; if(!rn2(3)) { ! pline_The("spellbook crumbles to dust!"); if (!objects[spellbook->otyp].oc_name_known && !objects[spellbook->otyp].oc_uname) docall(spellbook); --- 448,455 ---- nomul(delay); /* study time */ delay = 0; if(!rn2(3)) { ! /*JP pline_The("spellbook crumbles to dust!");*/ ! pline("ËâË¡½ñ¤Ï¿Ð¤È¤Ê¤Ã¤¿¡ª"); if (!objects[spellbook->otyp].oc_name_known && !objects[spellbook->otyp].oc_uname) docall(spellbook); *************** *** 421,436 **** if (!rn2(3) && spellbook->otyp != SPE_BOOK_OF_THE_DEAD) { pline( ! "Being confused you have difficulties in controlling your actions."); display_nhwindow(WIN_MESSAGE, FALSE); ! You("accidentally tear the spellbook to pieces."); if (!objects[spellbook->otyp].oc_name_known && !objects[spellbook->otyp].oc_uname) docall(spellbook); useup(spellbook); } else { You( ! "find yourself reading the first line over and over again."); #ifndef NO_SIGNAL spellbook->in_use = FALSE; #endif --- 464,482 ---- if (!rn2(3) && spellbook->otyp != SPE_BOOK_OF_THE_DEAD) { pline( ! /*JP "Being confused you have difficulties in controlling your actions.");*/ ! "º®Í𤷤Ƥ¤¤ë¤Î¤Ç¡¤¤½¤¦¤¤¤¦¤³¤È¤ò¤¹¤ë¤Î¤ÏÆñ¤·¤¤¡¥"); display_nhwindow(WIN_MESSAGE, FALSE); ! /*JP You("accidentally tear the spellbook to pieces.");*/ ! You("¤¦¤Ã¤«¤ê¡¤ËâË¡½ñ¤ò°ú¤­¤µ¤¤¤Æ¤·¤Þ¤Ã¤¿¡¥"); if (!objects[spellbook->otyp].oc_name_known && !objects[spellbook->otyp].oc_uname) docall(spellbook); useup(spellbook); } else { You( ! /*JP "find yourself reading the first line over and over again.");*/ ! "ºÇ½é¤Î¹Ô¤ò²¿Å٤ⷫ¤êÊÖ¤·¤ÆÆɤó¤Ç¤¤¤¿¡¥"); #ifndef NO_SIGNAL spellbook->in_use = FALSE; #endif *************** *** 443,455 **** spellbook->in_use = FALSE; #endif ! You("begin to %s the runes.", spellbook->otyp == SPE_BOOK_OF_THE_DEAD ? "recite" : ! "memorize"); } book = spellbook; ! set_occupation(learn, "studying", 0); return(1); } --- 489,505 ---- spellbook->in_use = FALSE; #endif ! /*JP You("begin to %s the runes.", spellbook->otyp == SPE_BOOK_OF_THE_DEAD ? "recite" : ! "memorize");*/ ! You("¥ë¡¼¥óʸ»ú¤ò%s¤·¤Ï¤¸¤á¤¿¡¥", ! spellbook->otyp == SPE_BOOK_OF_THE_DEAD ? "°Å¾§" : ! "µ­²±"); } book = spellbook; ! /*JP set_occupation(learn, "studying", 0);*/ ! set_occupation(learn, "³Ø¤Ö", 0); return(1); } *************** *** 465,471 **** char ilet, lets[BUFSZ], qbuf[QBUFSZ]; if (spellid(0) == NO_SPELL) { ! You("don't know any spells right now."); return FALSE; } if (flags.menu_style == MENU_TRADITIONAL) { --- 515,522 ---- char ilet, lets[BUFSZ], qbuf[QBUFSZ]; if (spellid(0) == NO_SPELL) { ! /*JP You("don't know any spells right now.");*/ ! You("ËâË¡¤òÃΤé¤Ê¤¤¡¥"); return FALSE; } if (flags.menu_style == MENU_TRADITIONAL) { *************** *** 480,486 **** else Sprintf(lets, "a-z A-%c", 'A' + nspells - 27); for(;;) { ! Sprintf(qbuf, "Cast which spell? [%s ?]", lets); if ((ilet = yn_function(qbuf, (char *)0, '\0')) == '?') break; --- 531,538 ---- else Sprintf(lets, "a-z A-%c", 'A' + nspells - 27); for(;;) { ! /*JP Sprintf(qbuf, "Cast which spell? [%s ?]", lets);*/ ! Sprintf(qbuf, "¤É¤ÎËâË¡¤ò¾§¤¨¤ë¡©[%s ?]", lets); if ((ilet = yn_function(qbuf, (char *)0, '\0')) == '?') break; *************** *** 499,505 **** return TRUE; } } ! You("don't know that spell."); } } return dospellmenu(PICK_ONE, spell_no); --- 551,558 ---- return TRUE; } } ! /*JP You("don't know that spell.");*/ ! You("¤½¤ó¤ÊËâË¡¤ÏÃΤé¤Ê¤¤¡¥"); } } return dospellmenu(PICK_ONE, spell_no); *************** *** 529,547 **** /* the spell */ switch (spelluses(spell)) { case 0: ! pline ("Curdled magical energy twists through you..."); ! pline ("...you have overloaded and burned out this spell."); make_confused((long)spellev(spell) * 3, FALSE); return(0); case 1: case 2: case 3: ! Your("nerves tingle warningly."); break; case 4: case 5: case 6: ! pline ("This spell is starting to be over-used."); break; default: break; --- 582,604 ---- /* the spell */ switch (spelluses(spell)) { case 0: ! /*JP pline ("Curdled magical energy twists through you..."); ! pline ("...you have overloaded and burned out this spell.");*/ ! pline ("¶Å·ë¤·¤¿ËâË¡¤Î¥¨¥Í¥ë¥®¡¼¤¬¤¢¤Ê¤¿¤ÎÂΤÎÃæ¤òË¥¤¦¤è¤¦¤Ë¤«¤±¤Ì¤±¤¿¡¥¡¥¡¥"); ! pline ("¡¥¡¥¡¥¤¢¤Ê¤¿¤Ï²áÉé²Ù¤Î¤¿¤á¤³¤ÎËâË¡¤ò¾ÃÌפµ¤»¤Æ¤·¤Þ¤Ã¤¿¡¥"); make_confused((long)spellev(spell) * 3, FALSE); return(0); case 1: case 2: case 3: ! /*JP Your("nerves tingle warningly.");*/ ! Your("¿À·Ð¤Ï·Ù²ü¤Ç¥Ô¥ê¥Ô¥ê¤·¤¿¡¥"); break; case 4: case 5: case 6: ! /*JP pline ("This spell is starting to be over-used.");*/ ! pline ("¤³¤ÎËâË¡¤Ï»È¤¤¤¹¤®¤Æ¤¤¤ë¡¥"); break; default: break; *************** *** 550,575 **** energy = (spellev(spell) * 5); /* 5 <= energy <= 35 */ if (u.uhunger <= 10 && spellid(spell) != SPE_DETECT_FOOD) { ! You("are too hungry to cast that spell."); return(0); } else if (ACURR(A_STR) < 4) { ! You("lack the strength to cast spells."); return(0); } else if(check_capacity( ! "Your concentration falters while carrying so much stuff.")) { return (1); } else if (!freehand()) { ! Your("arms are not free to cast!"); return (0); } if (u.uhave.amulet) { ! You_feel("the amulet draining your energy away."); energy += rnd(2*energy); } if(energy > u.uen) { ! You("don't have enough energy to cast that spell."); return(0); } else { if (spellid(spell) != SPE_DETECT_FOOD) { --- 607,639 ---- energy = (spellev(spell) * 5); /* 5 <= energy <= 35 */ if (u.uhunger <= 10 && spellid(spell) != SPE_DETECT_FOOD) { ! /*JP You("are too hungry to cast that spell.");*/ ! pline("Ê¢¤¬¸º¤ê¤¹¤®¤ÆËâË¡¤ò¾§¤¨¤é¤ì¤Ê¤¤¡¥"); return(0); } else if (ACURR(A_STR) < 4) { ! /*JP You("lack the strength to cast spells.");*/ ! pline("¶¯¤µ¤¬¾¯¤Ê¤¹¤®¤ÆËâË¡¤ò¾§¤¨¤é¤ì¤Ê¤¤¡¥"); return(0); } else if(check_capacity( ! /*JP "Your concentration falters while carrying so much stuff.")) {*/ ! "¤¿¤¯¤µ¤ó¤â¤Î¤ò»ý¤Á¤¹¤®¤Æ½¸Ãæ¤Ç¤­¤Ê¤¤¡¥")){ return (1); } else if (!freehand()) { ! /*JP Your("arms are not free to cast!");*/ ! pline("ËâË¡¤ò¾§¤¨¤è¤¦¤Ë¤âÏӤμ«Í³¤¬¸ú¤«¤Ê¤¤¡ª"); return (0); } if (u.uhave.amulet) { ! /*JP You_feel("the amulet draining your energy away.");*/ ! pline("Ëâ½ü¤±¤¬¤¢¤Ê¤¿¤Î¥¨¥Í¥ë¥®¡¼¤òµÛ¤¤¤È¤Ã¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); ! energy += rnd(2*energy); } if(energy > u.uen) { ! /*JP You("don't have enough energy to cast that spell.");*/ ! pline("ËâË¡¤ò¾§¤¨¤ë¤À¤±¤Î½½Ê¬¤Ê¥¨¥Í¥ë¥®¡¼¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡¥"); return(0); } else { if (spellid(spell) != SPE_DETECT_FOOD) { *************** *** 589,595 **** chance = percent_success(spell); if (confused || (rnd(100) > chance)) { ! You("fail to cast the spell correctly."); u.uen -= energy / 2; flags.botl = 1; return(1); --- 653,660 ---- chance = percent_success(spell); if (confused || (rnd(100) > chance)) { ! /*JP You("fail to cast the spell correctly.");*/ ! You("ËâË¡¤òÀµ¤·¤¯¾§¤¨¤ë¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¡¥"); u.uen -= energy / 2; flags.botl = 1; return(1); *************** *** 629,637 **** if(!u.dx && !u.dy && !u.dz) { if ((damage = zapyourself(pseudo, TRUE)) != 0) losehp(damage, ! self_pronoun("zapped %sself with a spell", ! "him"), ! NO_KILLER_PREFIX); } else weffects(pseudo); } else weffects(pseudo); break; --- 694,704 ---- if(!u.dx && !u.dy && !u.dz) { if ((damage = zapyourself(pseudo, TRUE)) != 0) losehp(damage, ! /*JP self_pronoun("zapped %sself with a spell", ! "him"),*/ ! "¼«Ê¬¼«¿È¤ÎËâË¡¤òÍá¤Ó¤Æ", ! /*JP NO_KILLER_PREFIX);*/ ! KILLED_BY); } else weffects(pseudo); } else weffects(pseudo); break; *************** *** 658,664 **** healup(0, 0, FALSE, TRUE); break; case SPE_CURE_SICKNESS: ! if (Sick) You("are no longer ill."); healup(0, 0, TRUE, FALSE); break; case SPE_CREATE_FAMILIAR: --- 725,732 ---- healup(0, 0, FALSE, TRUE); break; case SPE_CURE_SICKNESS: ! /*JP if (Sick) You("are no longer ill.");*/ ! if (Sick) Your("ɵ¤¤Ïľ¤Ã¤¿¡¥"); healup(0, 0, TRUE, FALSE); break; case SPE_CREATE_FAMILIAR: *************** *** 669,675 **** do_vicinity_map(); /* at present, only one thing blocks clairvoyance */ else if (uarmh && uarmh->otyp == CORNUTHAUM) ! You("sense a pointy hat on top of your %s.", body_part(HEAD)); break; default: --- 737,744 ---- do_vicinity_map(); /* at present, only one thing blocks clairvoyance */ else if (uarmh && uarmh->otyp == CORNUTHAUM) ! /*JP You("sense a pointy hat on top of your %s.",*/ ! You("¤È¤¬¤Ã¤¿Ë¹»Ò¤ò%s¤Î¾å¤Ëȯ¸«¤·¤¿¡¥", body_part(HEAD)); break; default: *************** *** 706,712 **** int dummy; if (spellid(0) == NO_SPELL) ! You("don't know any spells right now."); else (void) dospellmenu(PICK_NONE, &dummy); return 0; --- 775,782 ---- int dummy; if (spellid(0) == NO_SPELL) ! /*JP You("don't know any spells right now.");*/ ! You("ËâË¡¤òÃΤé¤Ê¤¤¡¥"); else (void) dospellmenu(PICK_NONE, &dummy); return 0; *************** *** 740,754 **** add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, buf, MENU_UNSELECTED); for (i = 0; i < MAXSPELL && spellid(i) != NO_SPELL; i++) { Sprintf(buf, "%-20s %2d%s %3d%%", ! spellname(i), spellev(i), spelluses(i) ? " " : "*", 100 - percent_success(i)); any.a_int = i+1; /* must be non-zero */ add_menu(tmpwin, NO_GLYPH, &any, spellet(i), 0, ATR_NONE, buf, MENU_UNSELECTED); } ! end_menu(tmpwin, how == PICK_ONE ? "Choose a spell" : ! "Currently known spells"); n = select_menu(tmpwin, how, &selected); destroy_nhwindow(tmpwin); --- 810,827 ---- add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, buf, MENU_UNSELECTED); for (i = 0; i < MAXSPELL && spellid(i) != NO_SPELL; i++) { Sprintf(buf, "%-20s %2d%s %3d%%", ! /*JP spellname(i), spellev(i),*/ ! jtrns_obj('+', spellname(i)), spellev(i), spelluses(i) ? " " : "*", 100 - percent_success(i)); any.a_int = i+1; /* must be non-zero */ add_menu(tmpwin, NO_GLYPH, &any, spellet(i), 0, ATR_NONE, buf, MENU_UNSELECTED); } ! /*JP end_menu(tmpwin, how == PICK_ONE ? "Choose a spell" : ! "Currently known spells");*/ ! end_menu(tmpwin, how == PICK_ONE ? "ËâË¡¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤" : ! "¸½ºßÃΤäƤ¤¤ëËâË¡°ìÍ÷"); n = select_menu(tmpwin, how, &selected); destroy_nhwindow(tmpwin); *************** *** 861,863 **** --- 934,938 ---- } /*spell.c*/ + + diff -c -r ../nethack-3.2.2/src/steal.c ./src/steal.c *** ../nethack-3.2.2/src/steal.c Fri Jun 21 02:25:27 1996 --- ./src/steal.c Tue Jul 22 23:18:38 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" STATIC_PTR int NDECL(stealarm); *************** *** 16,28 **** { return ( #ifdef TOURIST ! (otmp == uarmu) ? "shirt" : #endif ! (otmp == uarmf) ? "boots" : (otmp == uarms) ? "shield" : (otmp == uarmg) ? "gloves" : (otmp == uarmc) ? "cloak" : ! (otmp == uarmh) ? "helmet" : "armor"); } long /* actually returns something that fits in an int */ --- 23,41 ---- { return ( #ifdef TOURIST ! /*JP (otmp == uarmu) ? "shirt" :*/ ! (otmp == uarmu) ? "¥·¥ã¥Ä" : #endif ! /*JP (otmp == uarmf) ? "boots" : (otmp == uarms) ? "shield" : (otmp == uarmg) ? "gloves" : (otmp == uarmc) ? "cloak" : ! (otmp == uarmh) ? "helmet" : "armor");*/ ! (otmp == uarmf) ? "·¤" : ! (otmp == uarms) ? "½â" : ! (otmp == uarmg) ? "¾®¼ê" : ! (otmp == uarmc) ? "¥¯¥í¡¼¥¯" : ! (otmp == uarmh) ? "³õ" : "³»"); } long /* actually returns something that fits in an int */ *************** *** 47,53 **** mtmp->mgold += gold->quan; delobj(gold); newsym(u.ux, u.uy); ! pline("%s quickly snatches some gold from between your %s!", Monnam(mtmp), makeplural(body_part(FOOT))); if(!u.ugold || !rn2(5)) { if (!tele_restrict(mtmp)) rloc(mtmp); --- 60,67 ---- mtmp->mgold += gold->quan; delobj(gold); newsym(u.ux, u.uy); ! /*JP pline("%s quickly snatches some gold from between your %s!",*/ ! pline("%s¤ÏÁÇÁ᤯¤¢¤Ê¤¿¤Î%s¸µ¤«¤é¶â¤ò¤Ò¤Ã¤¿¤¯¤Ã¤¿¡ª", Monnam(mtmp), makeplural(body_part(FOOT))); if(!u.ugold || !rn2(5)) { if (!tele_restrict(mtmp)) rloc(mtmp); *************** *** 55,61 **** } } else if(u.ugold) { u.ugold -= (tmp = somegold()); ! Your("purse feels lighter."); mtmp->mgold += tmp; if (!tele_restrict(mtmp)) rloc(mtmp); mtmp->mflee = 1; --- 69,76 ---- } } else if(u.ugold) { u.ugold -= (tmp = somegold()); ! /*JP Your("purse feels lighter.");*/ ! Your("ºâÉۤϷڤ¯¤Ê¤Ã¤¿¡¥"); mtmp->mgold += tmp; if (!tele_restrict(mtmp)) rloc(mtmp); mtmp->mflee = 1; *************** *** 82,88 **** if(otmp->unpaid) subfrombill(otmp, shop_keeper(*u.ushops)); freeinv(otmp); ! pline("%s steals %s!", Monnam(mtmp), doname(otmp)); mpickobj(mtmp,otmp); mtmp->mflee = 1; if (!tele_restrict(mtmp)) rloc(mtmp); --- 97,104 ---- if(otmp->unpaid) subfrombill(otmp, shop_keeper(*u.ushops)); freeinv(otmp); ! /*JP pline("%s steals %s!", Monnam(mtmp), doname(otmp));*/ ! pline("%s¤Ï%s¤òÅð¤ó¤À¡ª", Monnam(mtmp), doname(otmp)); mpickobj(mtmp,otmp); mtmp->mflee = 1; if (!tele_restrict(mtmp)) rloc(mtmp); *************** *** 150,158 **** if (!invent || (inv_cnt() == 1 && uskin)) { /* Not even a thousand men in armor can strip a naked man. */ if(Blind) ! pline("Somebody tries to rob you, but finds nothing to steal."); else ! pline("%s tries to rob you, but she finds nothing to steal!", Monnam(mtmp)); return(1); /* let her flee */ } --- 166,176 ---- if (!invent || (inv_cnt() == 1 && uskin)) { /* Not even a thousand men in armor can strip a naked man. */ if(Blind) ! /*JP pline("Somebody tries to rob you, but finds nothing to steal.");*/ ! pline("狼¤¬¤¢¤Ê¤¿¤«¤éÅð¤â¤¦¤È¤·¤¿¤¬¡¤Åð¤à¤â¤Î¤¬¤Ê¤¤¤³¤È¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥"); else ! /*JP pline("%s tries to rob you, but she finds nothing to steal!",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤«¤éÅð¤â¤¦¤È¤·¤¿¤¬¡¤Åð¤à¤â¤Î¤¬¤Ê¤¤¤³¤È¤Ëµ¤¤¬¤Ä¤¤¤¿¡ª", Monnam(mtmp)); return(1); /* let her flee */ } *************** *** 211,226 **** otmp->cursed = 0; stop_occupation(); if(flags.female) ! pline("%s charms you. You gladly %s your %s.", Blind ? "She" : Monnam(mtmp), curssv ? "let her take" : "hand over", ! equipname(otmp)); else ! pline("%s seduces you and %s off your %s.", Blind ? "It" : Adjmonnam(mtmp, "beautiful"), curssv ? "helps you to take" : (objects[otmp->otyp].oc_delay > 1) ? "you start taking" : "you take", ! equipname(otmp)); named++; /* the following is to set multi for later on */ nomul(-objects[otmp->otyp].oc_delay); --- 229,252 ---- otmp->cursed = 0; stop_occupation(); if(flags.female) ! /*JP pline("%s charms you. You gladly %s your %s.", Blind ? "She" : Monnam(mtmp), curssv ? "let her take" : "hand over", ! equipname(otmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ò̥λ¤·¤¿¡¥¤¢¤Ê¤¿¤Ï¤è¤í¤³¤ó¤Ç%s¤ò%s¡¥", ! Blind ? "Èà½÷" : Monnam(mtmp), ! equipname(otmp), ! curssv ? "¤¢¤²¤¿" : "¼êÅϤ·¤¿"); else ! /*JP pline("%s seduces you and %s off your %s.", Blind ? "It" : Adjmonnam(mtmp, "beautiful"), curssv ? "helps you to take" : (objects[otmp->otyp].oc_delay > 1) ? "you start taking" : "you take", ! equipname(otmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤òͶÏǤ·¤¿¡¥¤¢¤Ê¤¿¤Ï%s¤ò%s¡¥", ! Blind ? "²¿¼Ô¤«" : Adjmonnam(mtmp, "Èþ¤·¤¤"), ! equipname(otmp), ! (objects[otmp->otyp].oc_delay > 1) ? "¤Ï¤º¤·»Ï¤á¤¿" : "¤Ï¤º¤·¤¿"); named++; /* the following is to set multi for later on */ nomul(-objects[otmp->otyp].oc_delay); *************** *** 248,254 **** if(otmp == uball) unpunish(); freeinv(otmp); ! pline("%s stole %s.", named ? "She" : Monnam(mtmp), doname(otmp)); mpickobj(mtmp,otmp); if (otmp->otyp == CORPSE && otmp->corpsenm == PM_COCKATRICE && !(mtmp->misc_worn_check & W_ARMG)) { --- 274,281 ---- if(otmp == uball) unpunish(); freeinv(otmp); ! /*JP pline("%s stole %s.", named ? "She" : Monnam(mtmp), doname(otmp));*/ ! pline("%s¤Ï%s¤òÅð¤ó¤À¡¥", named ? "Èà½÷" : Monnam(mtmp), doname(otmp)); mpickobj(mtmp,otmp); if (otmp->otyp == CORPSE && otmp->corpsenm == PM_COCKATRICE && !(mtmp->misc_worn_check & W_ARMG)) { *************** *** 279,286 **** attacktype(mtmp->data, AT_ENGL)) { /* this is probably a burning object that you dropped or threw */ if (u.uswallow && mtmp == u.ustuck && !Blind) ! pline("%s go%s out.", The(xname(otmp)), ! otmp->quan == 1L ? "es" : ""); snuff_otmp = TRUE; } /* add_to_minv() might free otmp [if merged with something else], --- 306,314 ---- attacktype(mtmp->data, AT_ENGL)) { /* this is probably a burning object that you dropped or threw */ if (u.uswallow && mtmp == u.ustuck && !Blind) ! /*JP pline("%s go%s out.", The(xname(otmp)), ! otmp->quan == 1L ? "es" : "");*/ ! pline("%s¤ÏÈô¤Ó¤À¤·¤¿¡¥", The(xname(otmp))); snuff_otmp = TRUE; } /* add_to_minv() might free otmp [if merged with something else], *************** *** 329,335 **** lose_worn_item(otmp); freeinv(otmp); mpickobj(mtmp,otmp); ! pline("%s stole %s!", Monnam(mtmp), doname(otmp)); if (can_teleport(mtmp->data) && !tele_restrict(mtmp)) rloc(mtmp); return; --- 357,364 ---- lose_worn_item(otmp); freeinv(otmp); mpickobj(mtmp,otmp); ! /*JP pline("%s stole %s!", Monnam(mtmp), doname(otmp));*/ ! pline("%s¤Ï%s¤òÅð¤ó¤À¡ª", Monnam(mtmp), doname(otmp)); if (can_teleport(mtmp->data) && !tele_restrict(mtmp)) rloc(mtmp); return; *************** *** 378,386 **** otmp->owornmask = 0L; } if (is_pet && cansee(omx, omy) && flags.verbose) ! pline("%s drops %s.", Monnam(mtmp), distant_name(otmp, doname)); ! if (flooreffects(otmp, omx, omy, "fall")) continue; place_object(otmp, omx, omy); stackobj(otmp); } --- 407,417 ---- otmp->owornmask = 0L; } if (is_pet && cansee(omx, omy) && flags.verbose) ! /*JP pline("%s drops %s.", Monnam(mtmp),*/ ! pline("%s¤Ï%s¤òÃÖ¤¤¤¿¡¥", Monnam(mtmp), distant_name(otmp, doname)); ! /*JP if (flooreffects(otmp, omx, omy, "fall")) continue;*/ ! if (flooreffects(otmp, omx, omy, "Íî¤Á¤ë")) continue; place_object(otmp, omx, omy); stackobj(otmp); } *************** *** 394,401 **** register long g = mtmp->mgold; mkgold(g, omx, omy); if (is_pet && cansee(omx, omy) && flags.verbose) ! pline("%s drops %ld gold piece%s.", Monnam(mtmp), ! g, plur(g)); mtmp->mgold = 0L; } if (show & cansee(omx, omy)) --- 425,433 ---- register long g = mtmp->mgold; mkgold(g, omx, omy); if (is_pet && cansee(omx, omy) && flags.verbose) ! /*JP pline("%s drops %ld gold piece%s.", Monnam(mtmp), ! g, plur(g));*/ ! pline("%s¤Ï%ld¤Î¶â²ô¤òÃÖ¤¤¤¿¡¥", Monnam(mtmp),g); mtmp->mgold = 0L; } if (show & cansee(omx, omy)) diff -c -r ../nethack-3.2.2/src/teleport.c ./src/teleport.c *** ../nethack-3.2.2/src/teleport.c Fri Jun 21 02:25:27 1996 --- ./src/teleport.c Tue Jul 22 23:18:38 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" static boolean FDECL(tele_jump_ok, (int,int,int,int)); *************** *** 264,270 **** yelp(mtmp); return FALSE; } else { ! Your("leash goes slack."); release_it: m_unleash(mtmp); return TRUE; --- 271,278 ---- yelp(mtmp); return FALSE; } else { ! /*JP Your("leash goes slack.");*/ ! Your("ɳ¤Ï¤¿¤ë¤ó¤À¡¥"); release_it: m_unleash(mtmp); return TRUE; *************** *** 283,289 **** #ifdef WIZARD if (!wizard) { #endif ! pline("A mysterious force prevents you from teleporting!"); return; #ifdef WIZARD } --- 291,298 ---- #ifdef WIZARD if (!wizard) { #endif ! /*JP pline("A mysterious force prevents you from teleporting!");*/ ! pline("´ñ̯¤ÊÎϤ¬½Ö´Ö°ÜÆ°¤òËɤ¤¤À¡ª"); return; #ifdef WIZARD } *************** *** 294,300 **** if (!Blinded) make_blinded(0L,FALSE); if ((u.uhave.amulet || On_W_tower_level(&u.uz)) && !rn2(3)) { ! You_feel("disoriented for a moment."); return; } if (Teleport_control --- 303,310 ---- if (!Blinded) make_blinded(0L,FALSE); if ((u.uhave.amulet || On_W_tower_level(&u.uz)) && !rn2(3)) { ! /*JP You_feel("disoriented for a moment.");*/ ! You("°ì½ÖÊý¸þ´¶³Ð¤ò¼º¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); return; } if (Teleport_control *************** *** 303,311 **** #endif ) { if (unconscious()) { ! pline("Being unconscious, you cannot control your teleport."); } else { ! pline("To what position do you want to be teleported?"); cc.x = u.ux; cc.y = u.uy; getpos(&cc, TRUE, "the desired position");/* force valid*/ --- 313,323 ---- #endif ) { if (unconscious()) { ! /*JP pline("Being unconscious, you cannot control your teleport.");*/ ! pline("°Õ¼±¤¬¤Ê¤¤¤Î¤Ç¡¤¤¢¤Ê¤¿¤Ï½Ö´Ö°ÜÆ°¤òÀ©¸æ¤Ç¤­¤Ê¤¤¡¥"); } else { ! /*JP pline("To what position do you want to be teleported?");*/ ! pline("¤É¤Î°ÌÃ֤˽ְִÜÆ°¤·¤Þ¤¹¤«¡©"); cc.x = u.ux; cc.y = u.uy; getpos(&cc, TRUE, "the desired position");/* force valid*/ *************** *** 316,322 **** teleds(cc.x, cc.y); return; } ! pline("Sorry..."); } } --- 328,335 ---- teleds(cc.x, cc.y); return; } ! /*JP pline("Sorry...");*/ ! pline("¤ª¤Ã¤È¡¥¡¥¡¥"); } } *************** *** 334,341 **** if (trap) { if (trap->once) { ! pline("This is a vault teleport, usable once only."); ! if (yn("Jump in?") == 'n') trap = 0; else { deltrap(trap); --- 347,356 ---- if (trap) { if (trap->once) { ! /*JP pline("This is a vault teleport, usable once only.");*/ ! pline("°ìÅÙ¤«¤®¤ê¤ÎÁҸˤؤνְִÜÆ°¤Î櫤À¡¥"); ! /*JP if (yn("Jump in?") == 'n')*/ ! if (yn("Èô¤Ó¹þ¤à¡©") == 'n') trap = 0; else { deltrap(trap); *************** *** 343,350 **** } } if (trap) You("%s onto the teleportation trap.", ! locomotion(uasmon, "jump")); } if (!trap) { boolean castit = FALSE; --- 358,372 ---- } } if (trap) + { + char buf[BUFSIZ]; + /*JP You("%s onto the teleportation trap.", ! locomotion(uasmon, "jump"));*/ ! Sprintf(buf,jconj(locomotion(uasmon,"Èô¤Ö"),"¤Þ")); ! buf[strlen(buf)-2] = '\0'; ! You("½Ö´Ö°ÜÆ°¤Î櫤Ë%s¤³¤ó¤À¡¥",buf); ! } } if (!trap) { boolean castit = FALSE; *************** *** 364,371 **** #endif if (!castit) { if (!Teleportation) ! You("don't know that spell."); ! else You("are not able to teleport at will."); return(0); } #ifdef WIZARD --- 386,395 ---- #endif if (!castit) { if (!Teleportation) ! /*JP You("don't know that spell.");*/ ! You("¤½¤ó¤ÊËâË¡¤ÏÃΤé¤Ê¤¤¡¥"); ! /*JP else You("are not able to teleport at will.");*/ ! else You("¼«Ê¬¤Î°Õ»×¤Ç½Ö´Ö°ÜÆ°¤Ç¤­¤Ê¤¤¡¥"); return(0); } #ifdef WIZARD *************** *** 377,384 **** #ifdef WIZARD if (!wizard) { #endif ! You("lack the strength %s.", ! castit ? "for a teleport spell" : "to teleport"); return 1; #ifdef WIZARD } --- 401,411 ---- #ifdef WIZARD if (!wizard) { #endif ! /*JP You("lack the strength %s.", ! castit ? "for a teleport spell" : "to teleport");*/ ! You("%s¤À¤±¤ÎÎϤ¬¤Ê¤¤¡¥", ! castit ? "½Ö´Ö°ÜÆ°¤ÎËâË¡¤ò¾§¤¨¤ë" : "½Ö´Ö°ÜÆ°¤¹¤ë"); ! return 1; #ifdef WIZARD } *************** *** 393,406 **** else #endif { ! You("lack the energy %s.", ! castit ? "for a teleport spell" : "to teleport"); return 1; } } if (check_capacity( ! "Your concentration falters from carrying so much.")) return 1; if (castit) { --- 420,436 ---- else #endif { ! /*JP You("lack the energy %s.", ! castit ? "for a teleport spell" : "to teleport");*/ ! You("%s¤À¤±¤Î¥¨¥Í¥ë¥®¡¼¤¬¤Ê¤¤¡¥", ! castit ? "½Ö´Ö°ÜÆ°¤ÎËâË¡¤ò¾§¤¨¤ë" : "½Ö´Ö°ÜÆ°¤¹¤ë"); return 1; } } if (check_capacity( ! /*JP "Your concentration falters from carrying so much."))*/ ! "Âô»³¤â¤Î¤ò»ý¤Á¤¹¤®¤Æ¡¤¤¢¤Ê¤¿¤Ï½¸Ãæ¤Ç¤­¤Ê¤¤¡¥")) return 1; if (castit) { *************** *** 442,448 **** && !wizard #endif ) { ! You_feel("very disoriented for a moment."); return; } if (Teleport_control --- 472,479 ---- && !wizard #endif ) { ! /*JP You_feel("very disoriented for a moment.");*/ ! You("°ì½ÖÊý¸þ´¶³Ð¤òÂ礭¤¯¼º¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); return; } if (Teleport_control *************** *** 454,461 **** int trycnt = 0; Strcpy(qbuf, "To what level do you want to teleport?"); do { ! if (++trycnt == 2) Strcat(qbuf, " [type a number]"); getlin(qbuf, buf); if (!strcmp(buf,"\033")) /* cancelled */ return; --- 485,494 ---- int trycnt = 0; Strcpy(qbuf, "To what level do you want to teleport?"); + Strcpy(qbuf, "²¿³¬¤Ë°ÜÆ°¤·¤Þ¤¹¤«¡©"); do { ! /*JP if (++trycnt == 2) Strcat(qbuf, " [type a number]");*/ ! if (++trycnt == 2) Strcat(qbuf, "[¿ô»ú¤ò¤¤¤ì¤Æ¤Í]"); getlin(qbuf, buf); if (!strcmp(buf,"\033")) /* cancelled */ return; *************** *** 470,481 **** if (newlev == 0) { if (trycnt >= 10) goto random_levtport; ! if (ynq("Go to Nowhere. Are you sure?") != 'y') return; ! You("scream in agony as your body begins to warp..."); display_nhwindow(WIN_MESSAGE, FALSE); ! You("cease to exist."); ! killer_format = NO_KILLER_PREFIX; ! killer = "committed suicide"; done(DIED); return; } --- 503,519 ---- if (newlev == 0) { if (trycnt >= 10) goto random_levtport; ! /*JP if (ynq("Go to Nowhere. Are you sure?") != 'y') return;*/ ! if(ynq("¤É¤³¤È¤âÃΤì¤Ì¾ì½ê¤Ë¹Ô¤­¤Þ¤¹¡©¤è¤í¤·¤¤¤Ç¤¹¤«¡©") != 'y') return; ! /*JP You("scream in agony as your body begins to warp...");*/ ! You("ÂΤ¬°ÜÆ°¤·¤Ï¤¸¤á¤ë¤È¡¤¶ì¤·¤ß¤Î¤¢¤¨¤®À¼¤ò½Ð¤·¤¿¡¥¡¥¡¥"); display_nhwindow(WIN_MESSAGE, FALSE); ! /*JP You("cease to exist.");*/ ! You("È´¤±¤ì¤Ê¤«¤Ã¤¿¡¥"); ! /*JP killer_format = NO_KILLER_PREFIX;*/ ! killer_format = KILLED_BY; ! /*JP killer = "committed suicide";*/ ! killer = "¸¥¿ÈŪ¼«»¦¹Ô°Ù¤Ç"; done(DIED); return; } *************** *** 515,521 **** int llimit = dunlevs_in_dungeon(&u.uz); if (newlev >= 0 || newlev <= -llimit) { ! You("can't get there from here."); return; } newlevel.dnum = u.uz.dnum; --- 553,560 ---- int llimit = dunlevs_in_dungeon(&u.uz); if (newlev >= 0 || newlev <= -llimit) { ! /*JP You("can't get there from here.");*/ ! You("¤³¤³¤«¤é¤Ï¹Ô¤±¤Ê¤¤¡¥"); return; } newlevel.dnum = u.uz.dnum; *************** *** 527,564 **** if (newlev < 0) { if (newlev <= -10) { ! You("arrive in heaven."); ! verbalize("Thou art early, but we'll admit thee."); ! killer_format = NO_KILLER_PREFIX; ! killer = "went to heaven prematurely"; done(DIED); return; } else if (newlev == -9) { ! You_feel("deliriously happy. "); ! pline("(In fact, you're on Cloud 9!) "); display_nhwindow(WIN_MESSAGE, FALSE); } else ! You("are now high above the clouds..."); if (Levitation || is_floater(uasmon)) { ! You("float gently down to earth."); u.uz.dnum = 0; /* he might have been in another dgn */ newlev = 1; } else if (is_flyer(uasmon)) { ! You("fly down to earth."); u.uz.dnum = 0; /* he might have been in another dgn */ newlev = 1; } else { d_level save_dlevel; assign_level(&save_dlevel, &u.uz); ! pline("Unfortunately, you don't know how to fly."); ! You("plummet a few thousand feet to your death."); u.uz.dnum = 0; u.uz.dlevel = 0; ! killer_format = NO_KILLER_PREFIX; killer = ! self_pronoun("teleported out of the dungeon and fell to %s death","his"); done(DIED); assign_level(&u.uz, &save_dlevel); flags.botl = 1; --- 566,616 ---- if (newlev < 0) { if (newlev <= -10) { ! /*JP You("arrive in heaven.");*/ ! You("Å·¹ñ¤Ëé¤ê¤Ä¤¤¤¿¡¥"); ! /*JP verbalize("Thou art early, but we'll admit thee.");*/ ! verbalize("Æò¡¤»à¤Ì¤Ë¤ÏÁ᤹¤®¤ë¤¬¤½¤ì¤â¤è¤«¤í¤¦¡¥"); ! /*JP killer_format = NO_KILLER_PREFIX;*/ ! killer_format = KILLED_BY; ! /*JP killer = "went to heaven prematurely";*/ ! killer = "¼ã¤¯¤·¤ÆÅ·¹ñ¤Ë¹Ô¤­"; done(DIED); return; } else if (newlev == -9) { ! /*JP You_feel("deliriously happy. ");*/ ! You("¶¸¤Ã¤¿¤è¤¦¤Ê¹¬¤»¤ò´¶¤¸¤¿¡¥"); ! /*JP pline("(In fact, you're on Cloud 9!) ");*/ ! pline("(ËÜÅö¤Ë¶ì¤ò¾è¤ê±Û¤¨¤¿¾ì½ê¤Ë¤¤¤ë¡ª) "); display_nhwindow(WIN_MESSAGE, FALSE); } else ! /*JP You("are now high above the clouds...");*/ ! You("±À¤ÎÍÚ¤«¾å¤Ë¤¤¤ë¡¥¡¥¡¥"); if (Levitation || is_floater(uasmon)) { ! /*JP You("float gently down to earth.");*/ ! You("¤æ¤Ã¤¯¤êÃÏÌ̤˹ߤꤿ¡¥"); u.uz.dnum = 0; /* he might have been in another dgn */ newlev = 1; } else if (is_flyer(uasmon)) { ! /*JP You("fly down to earth.");*/ ! You("ÃÏÌ̤˹ߤꤿ¡¥"); u.uz.dnum = 0; /* he might have been in another dgn */ newlev = 1; } else { d_level save_dlevel; assign_level(&save_dlevel, &u.uz); ! /*JP pline("Unfortunately, you don't know how to fly."); ! You("plummet a few thousand feet to your death.");*/ ! pline("ÉÔ¹¬¤Ë¤â¡¤¤¢¤Ê¤¿¤ÏÈô¤Ó¤«¤¿¤òÃΤé¤Ê¤¤¡¥"); ! pline("¿ôÀé¥Õ¥£¡¼¥È¤Î»à¤Î¥À¥¤¥Ó¥ó¥°¤À¡ª"); u.uz.dnum = 0; u.uz.dlevel = 0; ! /*JP killer_format = NO_KILLER_PREFIX;*/ ! killer_format = KILLED_BY; killer = ! /*JP self_pronoun("teleported out of the dungeon and fell to %s death","his");*/ ! "̵ܤòÈô¤Ó¤À¤·»à¤Î¥À¥¤¥Ó¥ó¥°¤Ç"; done(DIED); assign_level(&u.uz, &save_dlevel); flags.botl = 1; *************** *** 580,586 **** dunlevs_in_dungeon(&u.uz) - 1)) { newlev = dungeons[u.uz.dnum].depth_start + dunlevs_in_dungeon(&u.uz) - 2; ! pline("Sorry..."); } /* no teleporting out of quest dungeon */ if (In_quest(&u.uz) && newlev < depth(&qstart_level)) --- 632,639 ---- dunlevs_in_dungeon(&u.uz) - 1)) { newlev = dungeons[u.uz.dnum].depth_start + dunlevs_in_dungeon(&u.uz) - 2; ! /*JP pline("Sorry...");*/ ! pline("¤ª¤Ã¤È¡¥¡¥¡¥"); } /* no teleporting out of quest dungeon */ if (In_quest(&u.uz) && newlev < depth(&qstart_level)) *************** *** 609,628 **** /* problem: level teleport landing escapes the check */ if (!on_level(&u.uz, &u.uz0)) return; ! You("activated a magic portal!"); /* prevent the poor shnook, whose amulet was stolen while in * the endgame, from accidently triggering the portal to the * next level, and thus losing the game */ if (In_endgame(&u.uz) && !u.uhave.amulet) { ! You_feel("dizzy for a moment, but nothing happens..."); return; } target_level = ttmp->dst; schedule_goto(&target_level, FALSE, FALSE, 1, ! "You feel dizzy for a moment, but the sensation passes.", (char *)0); } --- 662,684 ---- /* problem: level teleport landing escapes the check */ if (!on_level(&u.uz, &u.uz0)) return; ! /*JP You("activated a magic portal!");*/ ! pline("ËâË¡¤ÎÆþ¸ý¤¬Æ°¤­¤À¤·¤¿¡ª"); /* prevent the poor shnook, whose amulet was stolen while in * the endgame, from accidently triggering the portal to the * next level, and thus losing the game */ if (In_endgame(&u.uz) && !u.uhave.amulet) { ! /*JP You_feel("dizzy for a moment, but nothing happens...");*/ ! You("°ì½Ö¤á¤Þ¤¤¤ò´¶¤¸¤¿¡¤¤·¤«¤·²¿¤âµ¯¤­¤Ê¤«¤Ã¤¿¡¥¡¥¡¥"); return; } target_level = ttmp->dst; schedule_goto(&target_level, FALSE, FALSE, 1, ! /*JP "You feel dizzy for a moment, but the sensation passes.",*/ ! "°ì½Ö¤á¤Þ¤¤¤ò´¶¤¸¤¿¡¤¤·¤«¤·¤½¤Î´¶³Ð¤Ï¾Ã¤¨¤¿¡¥", (char *)0); } *************** *** 633,639 **** if (In_endgame(&u.uz) || Antimagic) { if (Antimagic) shieldeff(u.ux, u.uy); ! You_feel("a wrenching sensation."); } else if (!next_to_u()) { You(shudder_for_moment); } else if (trap->once) { --- 689,696 ---- if (In_endgame(&u.uz) || Antimagic) { if (Antimagic) shieldeff(u.ux, u.uy); ! /*JP You_feel("a wrenching sensation.");*/ ! You("¤Í¤¸¤é¤ì¤¿¤è¤¦¤Ê´¶³Ð¤ò´¶¤¸¤¿¡¥"); } else if (!next_to_u()) { You(shudder_for_moment); } else if (trap->once) { *************** *** 648,667 **** level_tele_trap(trap) struct trap *trap; { ! You("%s onto a level teleport trap!", Levitation ? (const char *)"float" : ! locomotion(uasmon, "step")); if (Antimagic) { shieldeff(u.ux, u.uy); } if (Antimagic || In_endgame(&u.uz)) { ! You_feel("a wrenching sensation."); return; } if (!Blind) ! You("are momentarily blinded by a flash of light."); else ! You("are momentarily disoriented."); deltrap(trap); newsym(u.ux,u.uy); /* get rid of trap symbol */ level_tele(); --- 705,730 ---- level_tele_trap(trap) struct trap *trap; { ! /*JP You("%s onto a level teleport trap!", Levitation ? (const char *)"float" : ! locomotion(uasmon, "step"));*/ ! You("Ê̤γ¬¤Ø¤Î½Ö´Ö°ÜÆ°¤Î櫤ò%s¡ª", ! Levitation ? (const char *)"¸«²¼¤í¤·¤¿" : ! jconj(locomotion(uasmon, "Ƨ¤à"), "¤¿")); if (Antimagic) { shieldeff(u.ux, u.uy); } if (Antimagic || In_endgame(&u.uz)) { ! /*JP You_feel("a wrenching sensation.");*/ ! You("¤Í¤¸¤é¤ì¤¿¤è¤¦¤Ê´¶³Ð¤ò´¶¤¸¤¿¡¥"); return; } if (!Blind) ! /*JP You("are momentarily blinded by a flash of light.");*/ ! You("¤Þ¤Ð¤æ¤¤¸÷¤Ç°ì½ÖÌܤ¬¤¯¤é¤ó¤À¡¥"); else ! /*JP You("are momentarily disoriented.");*/ ! You("°ì½ÖÊý¸þ´¶³Ð¤ò¼º¤Ã¤¿¡¥"); deltrap(trap); newsym(u.ux,u.uy); /* get rid of trap symbol */ level_tele(); *************** *** 826,833 **** { if (level.flags.noteleport) { if (canseemon(mon)) ! pline("A mysterious force prevents %s from teleporting!", mon_nam(mon)); return TRUE; } return FALSE; --- 889,899 ---- { if (level.flags.noteleport) { if (canseemon(mon)) ! /*JP pline("A mysterious force prevents %s from teleporting!", ! mon_nam(mon));*/ ! pline("´ñ̯¤ÊÎϤ¬%s¤Î½Ö´Ö°ÜÆ°¤òËɤ¤¤À¡ª", mon_nam(mon)); + return TRUE; } return FALSE; *************** *** 855,863 **** if (in_sight) { if (canseemon(mtmp)) ! pline("%s seems disoriented.", monname); else ! pline("%s suddenly disappears!", monname); seetrap(trap); } } --- 921,931 ---- if (in_sight) { if (canseemon(mtmp)) ! /*JP pline("%s seems disoriented.", monname);*/ ! pline("%s¤Ï°ì½ÖÊý¸þ´Ö³Ö¤ò¼º¤Ã¤¿¤è¤¦¤À¡¥", monname); else ! /*JP pline("%s suddenly disappears!", monname);*/ ! pline("%s¤ÏÆÍÁ³¾Ã¤¨¤¿¡ª", monname); seetrap(trap); } } *************** *** 884,891 **** assign_level(&tolevel, &valley_level); } else if (Is_botlevel(&u.uz)) { if (in_sight && trap->tseen) ! pline("%s avoids the %s.", Monnam(mtmp), ! (tt == HOLE) ? "hole" : "trap"); return 0; } else { get_level(&tolevel, depth(&u.uz) + 1); --- 952,961 ---- assign_level(&tolevel, &valley_level); } else if (Is_botlevel(&u.uz)) { if (in_sight && trap->tseen) ! /*JP pline("%s avoids the %s.", Monnam(mtmp), ! (tt == HOLE) ? "hole" : "trap");*/ ! pline("%s¤Ï%s¤ò²óÈò¤·¤¿¡¥", Monnam(mtmp), ! (tt == HOLE) ? "·ê" : "æ«"); return 0; } else { get_level(&tolevel, depth(&u.uz) + 1); *************** *** 894,900 **** if (In_endgame(&u.uz) && (mon_has_amulet(mtmp) || is_home_elemental(mptr))) { if (in_sight && mptr->mlet != S_ELEMENTAL) { ! pline("%s seems to shimmer for a moment.", Monnam(mtmp)); seetrap(trap); } --- 964,971 ---- if (In_endgame(&u.uz) && (mon_has_amulet(mtmp) || is_home_elemental(mptr))) { if (in_sight && mptr->mlet != S_ELEMENTAL) { ! /*JP pline("%s seems to shimmer for a moment.",*/ ! pline("%s¤¬°ì½Öµ±¤¤¤¿¤è¤¦¤Ë¸«¤¨¤¿", Monnam(mtmp)); seetrap(trap); } *************** *** 908,928 **** if (mon_has_amulet(mtmp) || In_endgame(&u.uz)) { if (in_sight) ! pline("%s seems very disoriented for a moment.", Monnam(mtmp)); return 0; } nlev = random_teleport_level(); if (nlev == depth(&u.uz)) { if (in_sight) ! pline("%s shudders for a moment.", Monnam(mtmp)); return 0; } get_level(&tolevel, nlev); } if (in_sight) { ! pline("Suddenly, %s disappears out of sight.", mon_nam(mtmp)); seetrap(trap); } migrate_to_level(mtmp, ledger_no(&tolevel), --- 979,1002 ---- if (mon_has_amulet(mtmp) || In_endgame(&u.uz)) { if (in_sight) ! /*JP pline("%s seems very disoriented for a moment.",*/ ! pline("%s¤Ï°ì½ÖÊý¸þ´¶³Ð¤òÂ礭¤¯¼º¤Ã¤¿¤è¤¦¤À¡¥", Monnam(mtmp)); return 0; } nlev = random_teleport_level(); if (nlev == depth(&u.uz)) { if (in_sight) ! /*JP pline("%s shudders for a moment.", Monnam(mtmp));*/ ! pline("%s¤Ï°ì½Ö¿Ì¤¨¤¿¡¥", Monnam(mtmp)); return 0; } get_level(&tolevel, nlev); } if (in_sight) { ! /*JP pline("Suddenly, %s disappears out of sight.", mon_nam(mtmp));*/ ! pline("ÆÍÁ³%s¤¬»ë³¦¤«¤é¾Ã¤¨¤¿¡¥", mon_nam(mtmp)); seetrap(trap); } migrate_to_level(mtmp, ledger_no(&tolevel), *************** *** 958,964 **** within_bounded_area(tx, ty, dndest.nlx, dndest.nly, dndest.nhx, dndest.nhy))))); ! if (flooreffects(obj, tx, ty, "fall")) { return; } else if (otx == 0 && oty == 0) { ; /* fell through a trapdoor; no update of old loc needed */ --- 1032,1039 ---- within_bounded_area(tx, ty, dndest.nlx, dndest.nly, dndest.nhx, dndest.nhy))))); ! /*JP if (flooreffects(obj, tx, ty, "fall")) {*/ ! if (flooreffects(obj, tx, ty, "Íî¤Á¤ë")) { return; } else if (otx == 0 && oty == 0) { ; /* fell through a trapdoor; no update of old loc needed */ diff -c -r ../nethack-3.2.2/src/timeout.c ./src/timeout.c *** ../nethack-3.2.2/src/timeout.c Sat Dec 28 21:53:52 1996 --- ./src/timeout.c Tue Sep 23 07:10:14 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "lev.h" /* for checking save modes */ *************** *** 16,26 **** --- 23,41 ---- /* He is being petrified - dialogue by inmet!tower */ static NEARDATA const char *stoned_texts[] = { + /*JP*/ + #if 0 "You are slowing down.", /* 5 */ "Your limbs are stiffening.", /* 4 */ "Your limbs have turned to stone.", /* 3 */ "You have turned to stone.", /* 2 */ "You are a statue." /* 1 */ + #endif + "¤¢¤Ê¤¿¤Ï¤Î¤í¤¯¤Ê¤Ã¤¿¡¥", /* 5 */ + "¤¢¤Ê¤¿¤Î¼ê­¤Ï¹Åľ¤·¤¿¡¥", /* 4 */ + "¤¢¤Ê¤¿¤Î¼ê­¤ÏÀв½¤·¤¿¡¥", /* 3 */ + "¤¢¤Ê¤¿¤ÏÀФˤʤä¿¡¥", /* 2 */ + "¤¢¤Ê¤¿¤ÏĦÁü¤Ë¤Ê¤Ã¤¿¡¥" /* 1 */ }; STATIC_OVL void *************** *** 39,49 **** --- 54,71 ---- /* He is getting sicker and sicker prior to vomiting */ static NEARDATA const char *vomiting_texts[] = { + #if 0 "You are feeling mildly nauseous.", /* 14 */ "You feel slightly confused.", /* 11 */ "You can't seem to think straight.", /* 8 */ "You feel incredibly sick.", /* 5 */ "You suddenly vomit!" /* 2 */ + #endif + "¤¢¤Ê¤¿¤Ï¤Á¤ç¤Ã¤ÈÅǤ­µ¤¤¬¤·¤¿¡¥", /* 14 */ + "¤¢¤Ê¤¿¤Ï¾¯¤·º®Í𤷤¿¡¥", /* 11 */ + "¤¢¤Ê¤¿¤Ï¤Þ¤È¤â¤Ë»×¹Í¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¡¥", /* 8 */ + "¤¢¤Ê¤¿¤Ï¤È¤Æ¤âµ¤Ê¬¤¬°­¤¯¤Ê¤Ã¤¿¡¥", /* 5 */ + "¤¢¤Ê¤¿¤ÏÆÍÁ³ÅǷ줷¤¿¡¥" /* 2 */ }; STATIC_OVL void *************** *** 71,89 **** } static NEARDATA const char *choke_texts[] = { "You find it hard to breathe.", "You're gasping for air.", "You can no longer breathe.", "You're turning %s.", "You suffocate." }; static NEARDATA const char *choke_texts2[] = { ! "Your %s is becoming constricted.", "Your blood is having trouble reaching your brain.", "The pressure on your %s increases.", "Your consciousness is fading.", ! "You suffocate." }; STATIC_OVL void --- 93,123 ---- } static NEARDATA const char *choke_texts[] = { + #if 0 "You find it hard to breathe.", "You're gasping for air.", "You can no longer breathe.", "You're turning %s.", "You suffocate." + #endif + "¤¢¤Ê¤¿¤Ï¸ÆµÛ¤¬º¤Æñ¤Ë¤Ê¤Ã¤¿¡¥", + "¤¢¤Ê¤¿¤Ï¶ì¤·¤¯¤Æ¤¢¤¨¤¤¤À¡¥", + "¤¢¤Ê¤¿¤Ï¤â¤¦¸ÆµÛ¤¬¤Ç¤­¤Ê¤¤¡¥", + "¤¢¤Ê¤¿¤Ï%s¤Ê¤Ã¤¿¡¥", + "¤¢¤Ê¤¿¤ÏÃ⩤·¤¿¡¥" }; static NEARDATA const char *choke_texts2[] = { ! /*JP "Your %s is becoming constricted.", "Your blood is having trouble reaching your brain.", "The pressure on your %s increases.", "Your consciousness is fading.", ! "You suffocate."*/ ! "¤¢¤Ê¤¿¤Î%s¤ÏÄù¤á¤Ä¤±¤é¤ì¤¿¡¥", ! "·ì±Õ¤Î¤á¤°¤ê¤¬°­¤¯¤Ê¤Ã¤¿¡¥", ! "%s¤Î°µÎϤ¬¹â¤¯¤Ê¤Ã¤¿¡¥", ! "°Õ¼±¤¬±ó¤¯¤Ê¤Ã¤Æ¤­¤¿¡¥", ! "¤¢¤Ê¤¿¤ÏÃ⩤·¤¿¡¥" }; STATIC_OVL void *************** *** 95,101 **** if (Breathless || !rn2(50)) pline(choke_texts2[SIZE(choke_texts2) - i], body_part(NECK)); else ! pline(choke_texts[SIZE(choke_texts) - i], hcolor(blue)); } exercise(A_STR, FALSE); } --- 129,135 ---- if (Breathless || !rn2(50)) pline(choke_texts2[SIZE(choke_texts2) - i], body_part(NECK)); else ! pline(choke_texts[SIZE(choke_texts) - i], jconj_adj(hcolor(blue))); } exercise(A_STR, FALSE); } *************** *** 140,153 **** case STONED: if (!killer) { killer_format = KILLED_BY_AN; ! killer = "cockatrice"; } done(STONING); break; case VOMITING: make_vomiting(0L, TRUE); break; case SICK: ! You("die from your illness."); killer_format = KILLED_BY_AN; killer = u.usick_cause; if ((m_idx = name_to_mon(killer)) >= LOW_PM) { --- 174,189 ---- case STONED: if (!killer) { killer_format = KILLED_BY_AN; ! /*JP killer = "cockatrice";*/ ! killer = "¥³¥«¥È¥ê¥¹¤Î¹¶·â¤Ç"; } done(STONING); break; case VOMITING: make_vomiting(0L, TRUE); break; case SICK: ! /*JP You("die from your illness.");*/ ! You("ɵ¤¤Ç»à¤Ë¤Þ¤·¤¿¡¥"); killer_format = KILLED_BY_AN; killer = u.usick_cause; if ((m_idx = name_to_mon(killer)) >= LOW_PM) { *************** *** 165,178 **** #endif } u.usick_type = 0; ! done(POISONING); break; case FAST: if (Fast & ~INTRINSIC) /* boot speed */ ; else ! You_feel("yourself slowing down%s.", ! Fast ? " a bit" : ""); break; case CONFUSION: HConfusion = 1; /* So make_confused works properly */ --- 201,218 ---- #endif } u.usick_type = 0; ! /*JP done(POISONING);*/ ! done(DIED); break; case FAST: if (Fast & ~INTRINSIC) /* boot speed */ ; else ! /*JP You_feel("yourself slowing down%s.", ! Fast ? " a bit" : "");*/ ! You("%sÃÙ¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥", ! Fast ? "¤Á¤ç¤Ã¤È" : ""); ! break; case CONFUSION: HConfusion = 1; /* So make_confused works properly */ *************** *** 193,199 **** newsym(u.ux,u.uy); if (!Invis && !(HInvis & I_BLOCKED) && !See_invisible && !Blind) { ! You("are no longer invisible."); stop_occupation(); } break; --- 233,240 ---- newsym(u.ux,u.uy); if (!Invis && !(HInvis & I_BLOCKED) && !See_invisible && !Blind) { ! /*JP You("are no longer invisible.");*/ ! You("¤â¤¦Æ©ÌÀ¤Ç¤Ï¤Ê¤¤¡¥"); stop_occupation(); } break; *************** *** 216,222 **** if (unconscious() || Sleep_resistance) Sleeping += rnd(100); else { ! You("fall asleep."); sleeptime = rnd(20); fall_asleep(-sleeptime, TRUE); Sleeping = sleeptime + rnd(100); --- 257,264 ---- if (unconscious() || Sleep_resistance) Sleeping += rnd(100); else { ! /*JP You("fall asleep.");*/ ! You("̲¤ê¤ËÍî¤Á¤¿¡¥"); sleeptime = rnd(20); fall_asleep(-sleeptime, TRUE); Sleeping = sleeptime + rnd(100); *************** *** 227,233 **** break; case STRANGLED: killer_format = KILLED_BY; ! killer = (u.uburied) ? "suffocation" : "strangulation"; done(DIED); break; case FUMBLING: --- 269,276 ---- break; case STRANGLED: killer_format = KILLED_BY; ! /*JP killer = (u.uburied) ? "suffocation" : "strangulation";*/ ! killer = (u.uburied) ? "Ã⩤·¤Æ" : "¼ó¤òÄù¤á¤é¤ì¤Æ"; done(DIED); break; case FUMBLING: *************** *** 242,248 **** * to this number must be thoroughly play tested. */ if ((inv_weight() > -500)) { ! You("make a lot of noise!"); wake_nearby(); } } --- 285,292 ---- * to this number must be thoroughly play tested. */ if ((inv_weight() > -500)) { ! /*JP You("make a lot of noise!");*/ ! You("Â礭¤Ê²»¤ò¤¿¤Æ¤¿¡ª"); wake_nearby(); } } *************** *** 270,276 **** nomul(how_long); /* early wakeup from combat won't be possible until next monster turn */ u.usleep = monstermoves; ! nomovemsg = wakeup_msg ? "You wake up." : You_can_move_again; } /* Attach an egg hatch timeout to the given egg. */ --- 314,321 ---- nomul(how_long); /* early wakeup from combat won't be possible until next monster turn */ u.usleep = monstermoves; ! /*JP nomovemsg = wakeup_msg ? "You wake up." : You_can_move_again;*/ ! nomovemsg = wakeup_msg ? "Ìܤò³Ð¤Þ¤·¤¿¡¥" : You_can_move_again; } /* Attach an egg hatch timeout to the given egg. */ *************** *** 393,423 **** boolean siblings = (hatchcount > 1), redraw = FALSE; if (canseeit) { ! Sprintf(monnambuf, "%s%s", siblings ? "some " : "", ! siblings ? makeplural(m_monnam(mon)) : a_monnam(mon)); learn_egg_type(mnum); } switch (egg->where) { case OBJ_INVENT: if (Blind) ! You_feel("%s %s from your pack!", something, ! locomotion(mon->data, "drop")); else ! You("see %s %s out of your pack!", ! monnambuf, locomotion(mon->data, "drop")); if (yours) { ! pline("%s cries sound like \"%s.\"", siblings ? "Their" : "Its", ! flags.female ? "mommy" : "daddy"); } else if (mon->data->mlet == S_DRAGON) { ! verbalize("Gleep!"); /* Mything eggs :-) */ } break; case OBJ_FLOOR: if (canseeit) { ! You("see %s hatch.", monnambuf); redraw = TRUE; /* update egg's map location */ } break; --- 438,482 ---- boolean siblings = (hatchcount > 1), redraw = FALSE; if (canseeit) { ! /*JP Sprintf(monnambuf, "%s%s", siblings ? "some " : "", ! siblings ? makeplural(m_monnam(mon)) : a_monnam(mon));*/ ! Sprintf(monnambuf, "%s%s", ! siblings ? "¤¤¤¯¤Ä¤«¤Î" : "", ! a_monnam(mon)); learn_egg_type(mnum); } switch (egg->where) { case OBJ_INVENT: if (Blind) ! /*JP You_feel("%s %s from your pack!", something, ! locomotion(mon->data, "drop"));*/ ! You("²¿¤«¤¬¤¢¤Ê¤¿¤ÎÇØÉ餤ÂÞ¤«¤é%s¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥", ! jconj(locomotion(mon->data, "Íî¤Á¤ë"),"¤¿")); ! else ! /*JP You("see %s %s out of your pack!", ! monnambuf, locomotion(mon->data, "drop"));*/ ! pline("%s¤¬¤¢¤Ê¤¿¤ÎÇØÉ餤ÂÞ¤«¤é%s¡¥", ! monnambuf, ! jconj(locomotion(mon->data, "Íî¤Á¤ë"),"¤¿")); ! if (yours) { ! /*JP pline("%s cries sound like \"%s.\"", siblings ? "Their" : "Its", ! flags.female ? "mommy" : "daddy");*/ ! pline("¤½¤ì¤Ï¡Ø%s¡Ù¤ÈÌĤ¤¤Æ¤¤¤ë¤è¤¦¤À", ! flags.female ? "¥Þ¥Þ" : "¥Ñ¥Ñ"); } else if (mon->data->mlet == S_DRAGON) { ! /*JP verbalize("Gleep!"); /* Mything eggs :-) */ ! verbalize("¥Ö¥©¡¼¡ª"); /* Mything eggs :-) */ } break; case OBJ_FLOOR: if (canseeit) { ! /*JP You("see %s hatch.", monnambuf);*/ ! You("%s¤¬Íñ¤«¤éÕÛ²½¤¹¤ë¤Î¤ò¸«¤¿¡¥", monnambuf); redraw = TRUE; /* update egg's map location */ } break; *************** *** 426,437 **** if (canseeit) { /* egg carring monster might be invisible */ if (canseemon(egg->ocarry)) ! Sprintf(carriedby, "%s pack", s_suffix(a_monnam(egg->ocarry))); else ! Strcpy(carriedby, "thin air"); ! You("see %s %s out of %s!", monnambuf, ! locomotion(mon->data, "drop"), carriedby); } break; #if 0 --- 485,502 ---- if (canseeit) { /* egg carring monster might be invisible */ if (canseemon(egg->ocarry)) ! /*JP Sprintf(carriedby, "%s pack", ! s_suffix(a_monnam(egg->ocarry)));*/ ! Sprintf(carriedby, "%s¤ÎÇØÉ餤ÂÞ¤«¤é", s_suffix(a_monnam(egg->ocarry))); else ! /*JP Strcpy(carriedby, "thin air");*/ ! Strcpy(carriedby, "²¿¤â¤Ê¤¤¶õ´Ö¤«¤é½Ð¸½¤·"); ! /*JP You("see %s %s out of %s!", monnambuf, ! locomotion(mon->data, "drop"), carriedby);*/ ! You("%s¤¬%s%s¤Î¤ò¸«¤¿¡¥", monnambuf, ! carriedby, ! locomotion(mon->data, "Íî¤Á¤ë")); } break; #if 0 *************** *** 488,523 **** name; if not, look for rocks to trip over; trip over anonymous "something" if there aren't any rocks. */ ! pronoun = otmp->quan == 1L ? "it" : Hallucination ? "they" : "them"; what = !otmp->nexthere ? pronoun : (otmp->dknown || !Blind) ? doname(otmp) : ((otmp = sobj_at(ROCK, u.ux, u.uy)) == 0 ? something : ! (otmp->quan == 1L ? "a rock" : "some rocks")); if (Hallucination) { what = strcpy(buf, what); buf[0] = highc(buf[0]); ! pline("Egads! %s bite%s your %s!", what, (!otmp || otmp->quan == 1L) ? "s" : "", ! body_part(FOOT)); } else { ! You("trip over %s.", what); } } else if (rn2(3) && is_ice(u.ux, u.uy)) { ! You("%s on the ice.", rn2(2) ? "slip" : "slide"); } else switch (rn2(4)) { case 1: ! You("trip over your own %s.", Hallucination ? ! "elbow" : makeplural(body_part(FOOT))); break; case 2: ! You("slip %s.", Hallucination ? ! "on a banana peel" : "and nearly fall"); break; case 3: ! You("flounder."); break; default: ! You("stumble."); break; } } --- 553,600 ---- name; if not, look for rocks to trip over; trip over anonymous "something" if there aren't any rocks. */ ! /* pronoun = otmp->quan == 1L ? "it" : Hallucination ? "they" : "them";*/ ! pronoun = "²¿¤«"; what = !otmp->nexthere ? pronoun : (otmp->dknown || !Blind) ? doname(otmp) : ((otmp = sobj_at(ROCK, u.ux, u.uy)) == 0 ? something : ! /*JP (otmp->quan == 1L ? "a rock" : "some rocks"));*/ ! "ÀÐ"); if (Hallucination) { what = strcpy(buf, what); buf[0] = highc(buf[0]); ! /*JP pline("Egads! %s bite%s your %s!", what, (!otmp || otmp->quan == 1L) ? "s" : "", ! body_part(FOOT));*/ ! pline("¤°¤ï¤¡¡ª%s¤¬%s¤Ë³ú¤ß¤Ä¤¤¤¿¡ª", ! what, body_part(FOOT)); } else { ! /*JP You("trip over %s.", what);*/ ! You("%s¤Ë¤Ä¤Þ¤Å¤¤¤¿¡¥", what); } } else if (rn2(3) && is_ice(u.ux, u.uy)) { ! /*JP You("%s on the ice.", rn2(2) ? "slip" : "slide");*/ ! You("ɹ¤Î¾å¤Ç³ê¤Ã¤¿¡¥"); } else switch (rn2(4)) { case 1: ! /*JP You("trip over your own %s.", Hallucination ? ! "elbow" : makeplural(body_part(FOOT)));*/ ! You("¼«Ê¬¤Î%s¤òƧ¤ó¤Ç¤Ä¤Þ¤Å¤¤¤¿¡¥", Hallucination ? ! "ɪ" : makeplural(body_part(FOOT))); break; case 2: ! /*JP You("slip %s.", Hallucination ? ! "on a banana peel" : "and nearly fall");*/ ! You("%s¡¥", Hallucination ? ! "¥Ð¥Ê¥Ê¤ÎÈé¤Ç³ê¤Ã¤¿" : "³ê¤Ã¤Æž¤Ó¤½¤¦¤Ë¤Ê¤Ã¤¿"); break; case 3: ! /*JP You("flounder.");*/ ! You("¤¸¤¿¤Ð¤¿¤·¤¿¡¥"); break; default: ! /*JP You("stumble.");*/ ! You("¤è¤í¤á¤¤¤¿¡¥"); break; } } *************** *** 531,540 **** --- 608,623 ---- switch (obj->where) { case OBJ_INVENT: case OBJ_MINVENT: + /*JP pline("%s flickers%s.", Yname2(obj), tailer); + */ + pline("%s¤Ï%sÅÀÌǤ·¤¿¡¥", Yname2(obj), tailer); break; case OBJ_FLOOR: + /*JP You("see %s flicker%s.", an(xname(obj)), tailer); + */ + You("%s¤¬%sÅÀÌǤ¹¤ë¤Î¤ò¸«¤¿¡¥", an(xname(obj)), tailer); break; } } *************** *** 547,561 **** /* from adventure */ switch (obj->where) { case OBJ_INVENT: ! Your("lantern is getting dim."); if (Hallucination) ! pline("Batteries have not been invented yet."); break; case OBJ_FLOOR: ! You("see a lantern getting dim."); break; case OBJ_MINVENT: ! pline("%s lantern is getting dim.", s_suffix(Monnam(obj->ocarry))); break; } --- 630,648 ---- /* from adventure */ switch (obj->where) { case OBJ_INVENT: ! /*JP Your("lantern is getting dim.");*/ ! Your("¥é¥ó¥¿¥ó¤Ï°Å¤¯¤Ê¤Ã¤¿¡¥"); if (Hallucination) ! /*JP pline("Batteries have not been invented yet.");*/ ! pline("ÅÅÃӤϤޤÀȯÌÀ¤µ¤ì¤Æ¤Ê¤¤¤ó¤À¤Ã¤±¡¥"); break; case OBJ_FLOOR: ! /*JP You("see a lantern getting dim.");*/ ! pline("¥é¥ó¥¿¥ó¤¬°Å¤¯¤Ê¤Ã¤¿¤Î¤ò¸«¤¿¡¥"); break; case OBJ_MINVENT: ! /*JP pline("%s lantern is getting dim.",*/ ! pline("%s¤Î¥é¥ó¥¿¥ó¤Ï°Å¤¯¤Ê¤Ã¤¿¡¥", s_suffix(Monnam(obj->ocarry))); break; } *************** *** 620,630 **** switch (obj->where) { case OBJ_INVENT: case OBJ_MINVENT: ! pline("%s potion of oil has burnt away.", whose); break; case OBJ_FLOOR: ! You("see a burning potion of oil go out."); need_newsym = TRUE; break; } --- 707,719 ---- switch (obj->where) { case OBJ_INVENT: case OBJ_MINVENT: ! /*JP pline("%s potion of oil has burnt away.",*/ ! pline("%s¥ª¥¤¥ë¤Ïdz¤¨¤Ä¤­¤¿¡¥", whose); break; case OBJ_FLOOR: ! /*JP You("see a burning potion of oil go out.");*/ ! You("¥ª¥¤¥ë¤Î²Ð¤¬¾Ã¤¨¤¿¤Î¤ò¸«¤¿¡¥"); need_newsym = TRUE; break; } *************** *** 646,652 **** lantern_message(obj); else see_lamp_flicker(obj, ! obj->age == 50L ? " considerably" : ""); } break; --- 735,742 ---- lantern_message(obj); else see_lamp_flicker(obj, ! /*JP obj->age == 50L ? " considerably" : "");*/ ! obj->age == 50L ? "·ã¤·¤¯" : ""); } break; *************** *** 658,668 **** switch (obj->where) { case OBJ_INVENT: case OBJ_MINVENT: ! pline("%s %s seems about to go out.", whose, xname(obj)); break; case OBJ_FLOOR: ! You("see %s about to go out.", an(xname(obj))); break; } --- 748,761 ---- switch (obj->where) { case OBJ_INVENT: case OBJ_MINVENT: ! /*JP pline("%s %s seems about to go out.", ! whose, xname(obj));*/ ! pline("%s%s¤Ïº£¤Ë¤â¾Ã¤¨¤½¤¦¤À¡¥", whose, xname(obj)); break; case OBJ_FLOOR: ! /*JP You("see %s about to go out.",*/ ! pline("%s¤¬¾Ã¤¨¤«¤±¤Æ¤¤¤ë¤Î¤ò¸«¤¿¡¥", an(xname(obj))); break; } *************** *** 677,693 **** case OBJ_INVENT: case OBJ_MINVENT: if (obj->otyp == BRASS_LANTERN) ! pline("%s lantern has run out of power.", whose); else ! pline("%s %s has gone out.", whose, xname(obj)); break; case OBJ_FLOOR: if (obj->otyp == BRASS_LANTERN) ! You("see a lantern run out of power."); else ! You("see %s go out.", an(xname(obj))); break; } --- 770,790 ---- case OBJ_INVENT: case OBJ_MINVENT: if (obj->otyp == BRASS_LANTERN) ! /*JP pline("%s lantern has run out of power.",*/ ! pline("%s¥é¥ó¥¿¥ó¤ÎÎϤò»È¤¤Àڤä¿¡¥", whose); else ! /*JP pline("%s %s has gone out.",*/ ! pline("%s%s¤Ï¾Ã¤¨¤¿¡¥", whose, xname(obj)); break; case OBJ_FLOOR: if (obj->otyp == BRASS_LANTERN) ! /*JP You("see a lantern run out of power.");*/ ! You("¥é¥ó¥¿¥ó¤¬¾Ã¤¨¤ë¤Î¤ò¸«¤¿¡¥"); else ! /*JP You("see %s go out.",*/ ! You("%s¤¬¾Ã¤¨¤ë¤Î¤ò¸«¤¿¡¥", an(xname(obj))); break; } *************** *** 718,733 **** switch (obj->where) { case OBJ_INVENT: case OBJ_MINVENT: ! pline("%s %scandle%s getting short.", whose, menorah ? "candelabrum's " : "", ! many ? "s are" : " is"); break; case OBJ_FLOOR: ! You("see %scandle%s getting short.", menorah ? "a candelabrum's " : many ? "some " : "a ", ! many ? "s" : ""); break; } break; --- 815,835 ---- switch (obj->where) { case OBJ_INVENT: case OBJ_MINVENT: ! /*JP pline("%s %scandle%s getting short.", whose, menorah ? "candelabrum's " : "", ! many ? "s are" : " is");*/ ! pline("%s%s¤í¤¦¤½¤¯¤Ïû¤¯¤Ê¤Ã¤¿¡¥", ! whose, ! menorah ? "¿¤Âæ¤Î" : ""); break; case OBJ_FLOOR: ! /*JP You("see %scandle%s getting short.", menorah ? "a candelabrum's " : many ? "some " : "a ", ! many ? "s" : "");*/ ! You("%s¤í¤¦¤½¤¯¤¬Ã»¤¯¤Ê¤ë¤Î¤ò¸«¤¿¡¥", ! menorah ? "¿¤Âæ¤Î" : ""); break; } break; *************** *** 738,756 **** case OBJ_INVENT: case OBJ_MINVENT: pline( ! "%s %scandle%s flame%s flicker%s low!", whose, menorah ? "candelabrum's " : "", many ? "s'" : "'s", many ? "s" : "", ! many ? "" : "s"); break; case OBJ_FLOOR: ! You("see %scandle%s flame%s flicker low!", menorah ? "a candelabrum's " : many ? "some " : "a ", many ? "s'" : "'s", ! many ? "s" : ""); break; } break; --- 840,863 ---- case OBJ_INVENT: case OBJ_MINVENT: pline( ! /*JP "%s %scandle%s flame%s flicker%s low!", whose, menorah ? "candelabrum's " : "", many ? "s'" : "'s", many ? "s" : "", ! many ? "" : "s");*/ ! "%s%s¤í¤¦¤½¤¯¤Î±ê¤ÏÅÀÌǤ·¡¤°Å¤¯¤Ê¤Ã¤¿¡ª", ! whose, ! menorah ? "¿¤Âæ¤Î" : ""); break; case OBJ_FLOOR: ! /*JP You("see %scandle%s flame%s flicker low!", menorah ? "a candelabrum's " : many ? "some " : "a ", many ? "s'" : "'s", ! many ? "s" : "");*/ ! You("%s¤í¤¦¤½¤¯¤Î±ê¤¬ÅÀÌǤ·¡¤°Å¤¯¤Ê¤ë¤Î¤ò¸«¤¿¡ª", ! menorah ? "¿¤Âæ¤Î" : ""); break; } break; *************** *** 762,804 **** switch (obj->where) { case OBJ_INVENT: case OBJ_MINVENT: ! pline("%s candelabrum's flame%s.", whose, ! many ? "s die" : " dies"); break; case OBJ_FLOOR: ! You("see a candelabrum's flame%s die.", ! many ? "s" : ""); break; } } else { switch (obj->where) { case OBJ_INVENT: case OBJ_MINVENT: ! pline("%s %s %s consumed!", whose, xname(obj), ! many ? "are" : "is"); break; case OBJ_FLOOR: /* You see some wax candles consumed! You see a wax candle consumed! */ ! You("see %s%s consumed!", many ? "some " : "", ! many ? xname(obj):an(xname(obj))); need_newsym = TRUE; break; } /* post message */ pline(Hallucination ? ! (many ? "They shriek!" : "It shrieks!") : Blind ? "" : (many ? "Their flames die." : ! "Its flame dies.")); } } end_burn(obj, FALSE); --- 869,921 ---- switch (obj->where) { case OBJ_INVENT: case OBJ_MINVENT: ! /*JP pline("%s candelabrum's flame%s.", whose, ! many ? "s die" : " dies");*/ ! pline("%s¿¤Âæ¤Î±ê¤Ï¾Ã¤¨¤¿¡¥", ! whose); break; case OBJ_FLOOR: ! /*JP You("see a candelabrum's flame%s die.", ! many ? "s" : "");*/ ! You("¿¤Âæ¤Î±ê¤¬¾Ã¤¨¤ë¤Î¤ò¸«¤¿¡¥"); break; } } else { switch (obj->where) { case OBJ_INVENT: case OBJ_MINVENT: ! /*JP pline("%s %s %s consumed!", whose, xname(obj), ! many ? "are" : "is");*/ ! pline("%s%s¤Ïdz¤¨¤Ä¤­¤¿¡ª", ! whose, ! xname(obj)); break; case OBJ_FLOOR: /* You see some wax candles consumed! You see a wax candle consumed! */ ! /*JP You("see %s%s consumed!", many ? "some " : "", ! many ? xname(obj):an(xname(obj)));*/ ! You("%s¤¬Ç³¤¨¤Ä¤­¤ë¤Î¤ò¸«¤¿¡ª", ! xname(obj)); need_newsym = TRUE; break; } /* post message */ pline(Hallucination ? ! /*JP (many ? "They shriek!" : "It shrieks!") : Blind ? "" : (many ? "Their flames die." : ! "Its flame dies."));*/ ! "¤½¤ì¤Ï¿Ì¤¨¤¿¡¥" : ! "±ê¤Ï¾Ã¤¨¤¿¡¥"); } } end_burn(obj, FALSE); *************** *** 1005,1017 **** if(levl[u.ux][u.uy].typ == CLOUD) { /* inside a cloud during a thunder storm is deafening */ ! pline("Kaboom!!! Boom!! Boom!!"); if(!u.uinvulnerable) { stop_occupation(); nomul(-3); } } else ! You_hear("a rumbling noise."); } #endif /* OVL1 */ --- 1122,1136 ---- if(levl[u.ux][u.uy].typ == CLOUD) { /* inside a cloud during a thunder storm is deafening */ ! /*JP pline("Kaboom!!! Boom!! Boom!!");*/ ! pline("¥Ô¥«¥Ã¡ª¡ª¥´¥í¥´¥í¥´¥í¥´¥í¡ª¡ª¥É¡¼¥ó¡ª"); if(!u.uinvulnerable) { stop_occupation(); nomul(-3); } } else ! /*JP You_hear("a rumbling noise.");*/ ! You_hear("Íë¤Î²»¤òʹ¤¤¤¿¡¥"); } #endif /* OVL1 */ diff -c -r ../nethack-3.2.2/src/topten.c ./src/topten.c *** ../nethack-3.2.2/src/topten.c Sat Dec 28 21:53:53 1996 --- ./src/topten.c Tue Jul 22 23:18:39 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "dlb.h" #ifdef SHORT_FILENAMES *************** *** 74,83 **** --- 81,96 ---- /* must fit with end.c; used in rip.c */ NEARDATA const char *killed_by_prefix[] = { + #if 0 /*JP*/ "killed by ", "choked on ", "poisoned by ", "", "drowned in ", "", "dissolved in ", "crushed to death by ", "petrified by ", "", "", "", "", "", "" + #endif /*JP*/ + "¤Ë»¦¤µ¤ì¤¿", "¤ÇÃ⩤·¤¿", "¤ÎÆǤǻà¤ó¤À", "", "Å®»à¤·¤¿", + "¾Æ»à¤·¤¿", "ÍÏ´ä¤ËÍϤ±¤¿", "²¡¤·ÄÙ¤µ¤ì¤¿", "Àв½¤·¤¿", "»à¤ó¤À", "µÔ»¦¤µ¤ì¤¿", + "", "", + "", "", "" }; static winid toptenwin = WIN_ERR; *************** *** 277,295 **** t0->plchar = pl_character[0]; t0->sex = (flags.female ? 'F' : 'M'); (void) strncpy(t0->name, plname, NAMSZ); t0->name[NAMSZ] = '\0'; t0->death[0] = '\0'; switch (killer_format) { default: impossible("bad killer format?"); case KILLED_BY_AN: ! Strcat(t0->death, killed_by_prefix[how]); (void) strncat(t0->death, an(killer), DTHSZ-strlen(t0->death)); break; case KILLED_BY: ! Strcat(t0->death, killed_by_prefix[how]); (void) strncat(t0->death, killer, DTHSZ-strlen(t0->death)); break; case NO_KILLER_PREFIX: (void) strncat(t0->death, killer, DTHSZ); --- 290,316 ---- t0->plchar = pl_character[0]; t0->sex = (flags.female ? 'F' : 'M'); (void) strncpy(t0->name, plname, NAMSZ); + if( is_kanji1(t0->name, NAMSZ-1) ) /* JP */ + t0->name[NAMSZ-1] = '_'; t0->name[NAMSZ] = '\0'; t0->death[0] = '\0'; switch (killer_format) { default: impossible("bad killer format?"); case KILLED_BY_AN: ! /*JP Strcat(t0->death, killed_by_prefix[how]); ! (void) strncat(t0->death, an(killer), ! DTHSZ-strlen(t0->death));*/ (void) strncat(t0->death, an(killer), DTHSZ-strlen(t0->death)); + Strcat(t0->death, killed_by_prefix[how]); break; case KILLED_BY: ! /*JP Strcat(t0->death, killed_by_prefix[how]); ! (void) strncat(t0->death, killer, ! DTHSZ-strlen(t0->death));*/ (void) strncat(t0->death, killer, DTHSZ-strlen(t0->death)); + Strcat(t0->death, killed_by_prefix[how]); break; case NO_KILLER_PREFIX: (void) strncat(t0->death, killer, DTHSZ); *************** *** 314,330 **** } #endif /* LOGFILE */ if (wizard || discover) { if (how != PANICKED) HUP { char pbuf[BUFSZ]; topten_print(""); Sprintf(pbuf, ! "Since you were in %s mode, the score list will not be checked.", ! wizard ? "wizard" : "discover"); topten_print(pbuf); } goto showwin; } if (!lock_file(RECORD, 60)) goto destroywin; --- 335,355 ---- } #endif /* LOGFILE */ + #if 1 /*¥Ð¥°½Ð¤·¤Î¤¿¤á*/ if (wizard || discover) { if (how != PANICKED) HUP { char pbuf[BUFSZ]; topten_print(""); Sprintf(pbuf, ! /*JP "Since you were in %s mode, the score list will not be checked.", ! wizard ? "wizard" : "discover");*/ ! "%s¥â¡¼¥É¤Ç¥×¥ì¥¤¤·¤¿¤Î¤Ç¥¹¥³¥¢¥ê¥¹¥È¤Ë¤ÏºÜ¤é¤Ê¤¤¡¥", ! wizard ? "¥¦¥£¥¶¡¼¥É" : "¥Ç¥£¥¹¥«¥Ð¥ê"); topten_print(pbuf); } goto showwin; } + #endif if (!lock_file(RECORD, 60)) goto destroywin; *************** *** 381,387 **** HUP { char pbuf[BUFSZ]; Sprintf(pbuf, ! "You didn't beat your previous score of %ld points.", t1->points); topten_print(pbuf); topten_print(""); --- 406,413 ---- HUP { char pbuf[BUFSZ]; Sprintf(pbuf, ! /*JP "You didn't beat your previous score of %ld points.",*/ ! "¤¢¤Ê¤¿¤Ï°ÊÁ°¤Î%ld¥Ý¥¤¥ó¥È¤Î¥¹¥³¥¢¤ËÆϤ«¤Ê¤«¤Ã¤¿¡¥", t1->points); topten_print(pbuf); topten_print(""); *************** *** 417,428 **** #endif /* UPDATE_RECORD_IN_PLACE */ if(!done_stopprint) if(rank0 > 0){ if(rank0 <= 10) ! topten_print("You made the top ten list!"); else { char pbuf[BUFSZ]; Sprintf(pbuf, ! "You reached the %d%s place on the top %d list.", ! rank0, ordin(rank0), ENTRYMAX); topten_print(pbuf); } topten_print(""); --- 443,457 ---- #endif /* UPDATE_RECORD_IN_PLACE */ if(!done_stopprint) if(rank0 > 0){ if(rank0 <= 10) ! /*JP topten_print("You made the top ten list!");*/ ! topten_print("¤¢¤Ê¤¿¤Ï¥È¥Ã¥×10¥ê¥¹¥È¤ËºÜ¤Ã¤¿¡ª"); else { char pbuf[BUFSZ]; Sprintf(pbuf, ! /*JP "You reached the %d%s place on the top %d list.", ! rank0, ordin(rank0), ENTRYMAX);*/ ! "¤¢¤Ê¤¿¤Ï¡¤¥È¥Ã¥×%d¥ê¥¹¥È¤Î%d°Ì¤ËºÜ¤Ã¤¿¡ª", ! ENTRYMAX, rank0 ); topten_print(pbuf); } topten_print(""); *************** *** 522,551 **** char linebuf[BUFSZ]; char *bp, hpbuf[24], linebuf3[BUFSZ]; int hppos, lngr; ! linebuf[0] = '\0'; if (rank) Sprintf(eos(linebuf), "%3d", rank); else Strcat(linebuf, " "); ! Sprintf(eos(linebuf), " %10ld %.10s", t1->points, t1->name); ! Sprintf(eos(linebuf), "-%c ", t1->plchar); ! if (!strncmp("escaped", t1->death, 7)) { Sprintf(eos(linebuf), "escaped the dungeon %s[max level %d]", !strncmp(" (", t1->death + 7, 2) ? t1->death + 7 + 2 : "", t1->maxlvl); /* fixup for closing paren in "escaped... with...Amulet)[max..." */ if ((bp = index(linebuf, ')')) != 0) *bp = (t1->deathdnum == astral_level.dnum) ? '\0' : ' '; second_line = FALSE; ! } else if (!strncmp("ascended", t1->death, 8)) { ! Sprintf(eos(linebuf), "ascended to demigod%s-hood", ! (t1->sex == 'F') ? "dess" : ""); second_line = FALSE; } else { ! if (!strncmp(t1->death, "quit", 4)) { ! Strcat(linebuf, "quit"); second_line = FALSE; } else if (!strncmp(t1->death, "starv", 5)) { Strcat(linebuf, "starved to death"); second_line = FALSE; --- 551,623 ---- char linebuf[BUFSZ]; char *bp, hpbuf[24], linebuf3[BUFSZ]; int hppos, lngr; ! /*JP*/ ! char who[BUFSZ]; ! char where[BUFSZ]; ! char action[BUFSZ]; ! char car[BUFSZ]; ! char cdr[BUFSZ]; ! const char *jdeath; linebuf[0] = '\0'; + who[0] = '\0'; + where[0] = '\0'; + action[0] = '\0'; + if (rank) Sprintf(eos(linebuf), "%3d", rank); else Strcat(linebuf, " "); ! /*JP Sprintf(eos(linebuf), " %10ld %.10s", t1->points, t1->name);*/ ! Sprintf(who, " %10ld %.10s", t1->points, t1->name); ! /*JP Sprintf(eos(linebuf), "-%c ", t1->plchar);*/ ! Sprintf(eos(who), "-%c¤Ï", t1->plchar); ! /*JP*/ ! jdeath = t1->death; ! if (!strncmp(jdeath, "Ëâ½ü¤±¤ò¼ê¤Ë", 12)) ! jdeath += 12; ! else if (!strncmp(jdeath, "Å·¾å¤ÇÃÑ¿«¤ò¼õ¤±", 16)) ! jdeath += 16; ! else if (!strncmp(jdeath, "µ¶Êª¤ÎËâ½ü¤±¤òÄϤޤµ¤ì", 24)) ! jdeath += 24; ! ! /*JP if (!strncmp("escaped", t1->death, 7)) {*/ ! if (!strncmp("æ½Ð¤·¤¿", jdeath, 8) ! || !strncmp("escaped", jdeath, 7)) { ! #if 0 /*JP*/ Sprintf(eos(linebuf), "escaped the dungeon %s[max level %d]", !strncmp(" (", t1->death + 7, 2) ? t1->death + 7 + 2 : "", + t1->maxlvl);*/ + Sprintf(action, "%s̵ܤ«¤éæ½Ð¤·¤¿[ºÇÂçÃϲ¼%d³¬]", + !strncmp("Ëâ½ü¤±¤ò¼ê¤Ë", t1->death, 12) ? + "Ëâ½ü¤±¤ò¼ê¤Ë" : "", t1->maxlvl); /* fixup for closing paren in "escaped... with...Amulet)[max..." */ if ((bp = index(linebuf, ')')) != 0) *bp = (t1->deathdnum == astral_level.dnum) ? '\0' : ' '; + #endif /*JP*/ + char jbuf[BUFSZ]; + strncpy(jbuf, t1->death, jdeath - t1->death); + jbuf[jdeath - t1->death] = '\0'; + Sprintf(action, "%s̵ܤ«¤éæ½Ð¤·¤¿[ºÇÂçÃϲ¼%d³¬]", + jbuf, t1->maxlvl); second_line = FALSE; ! /*JP } else if (!strncmp("ascended", t1->death, 8)) {*/ ! } else if (!strncmp("¾ºÅ·¤·¤¿", jdeath, 8) ! || !strncmp("ascended", jdeath, 8)) { ! /*JP Sprintf(eos(linebuf), "ascended to demigod%s-hood", ! (t1->sex == 'F') ? "dess" : "");*/ ! Sprintf(action, "¾ºÅ·¤·%s¿À¤È¤Ê¤Ã¤¿", ! (t1->sex == 'F') ? "½÷" : ""); second_line = FALSE; } else { ! /*JP if (!strncmp(t1->death, "quit", 4)) {*/ ! if (!strncmp(jdeath, "È´¤±¤¿", 4) ! || !strncmp(jdeath, "quit", 4)) { ! /*JP Strcat(linebuf, "quit");*/ ! Strcat(action, t1->death); second_line = FALSE; + } + #if 0 } else if (!strncmp(t1->death, "starv", 5)) { Strcat(linebuf, "starved to death"); second_line = FALSE; *************** *** 559,604 **** } else if (!strncmp(t1->death, "petrified by ", 13)) { Strcat(linebuf, "turned to stone"); } else Strcat(linebuf, "died"); if (t1->deathdnum == astral_level.dnum) { const char *arg, *fmt = " on the Plane of %s"; switch (t1->deathlev) { case -5: fmt = " on the %s Plane"; arg = "Astral"; break; case -4: ! arg = "Water"; break; case -3: ! arg = "Fire"; break; case -2: ! arg = "Air"; break; case -1: ! arg = "Earth"; break; default: arg = "Void"; break; } ! Sprintf(eos(linebuf), fmt, arg); } else { Sprintf(eos(linebuf), " in %s on level %d", dungeons[t1->deathdnum].dname, t1->deathlev); if (t1->deathlev != t1->maxlvl) ! Sprintf(eos(linebuf), " [max %d]", t1->maxlvl); } /* kludge for "quit while already on Charon's boat" */ if (!strncmp(t1->death, "quit ", 5)) Strcat(linebuf, t1->death + 4); } ! Strcat(linebuf, "."); /* Quit, starved, ascended, and escaped contain no second line */ if (second_line) ! Sprintf(eos(linebuf), " %c%s.", highc(*(t1->death)), t1->death+1); lngr = (int)strlen(linebuf); if (t1->hp <= 0) hpbuf[0] = '-', hpbuf[1] = '\0'; else Sprintf(hpbuf, "%d", t1->hp); /* beginning of hp column after padding (not actually padded yet) */ hppos = COLNO - (sizeof(" Hp [max]")-1); /* sizeof(str) includes \0 */ while (lngr >= hppos) { --- 631,719 ---- } else if (!strncmp(t1->death, "petrified by ", 13)) { Strcat(linebuf, "turned to stone"); } else Strcat(linebuf, "died"); + #endif /*JP*/ if (t1->deathdnum == astral_level.dnum) { const char *arg, *fmt = " on the Plane of %s"; switch (t1->deathlev) { case -5: + /*JP fmt = " on the %s Plane"; arg = "Astral"; break; + */ + arg = "Ì¿¤ÎÀºÎ"; break; case -4: ! /*JP arg = "Water"; break;*/ ! arg = "¿å¤ÎÀºÎ"; break; case -3: ! /*JP arg = "Fire"; break;*/ ! arg = "²Ð¤ÎÀºÎ"; break; case -2: ! /*JP arg = "Air"; break;*/ ! arg = "É÷¤ÎÀºÎ"; break; case -1: ! /*JP arg = "Earth"; break;*/ ! arg = "ÃϤÎÀºÎ"; break; default: arg = "Void"; break; } ! /*JP Sprintf(eos(linebuf), fmt, arg);*/ ! Sprintf(where, "%s¤Ë¤Æ", arg); } else { + /*JP Sprintf(eos(linebuf), " in %s on level %d", dungeons[t1->deathdnum].dname, t1->deathlev); + */ + Sprintf(where, "%s¤ÎÃϲ¼%d³¬¤Ë¤Æ", + jtrns_obj('d', dungeons[t1->deathdnum].dname), t1->deathlev); if (t1->deathlev != t1->maxlvl) ! /*JP Sprintf(eos(linebuf), " [max %d]", t1->maxlvl);*/ ! Sprintf(eos(where), "[ºÇÂçÃϲ¼%d³¬]", t1->maxlvl); } /* kludge for "quit while already on Charon's boat" */ if (!strncmp(t1->death, "quit ", 5)) Strcat(linebuf, t1->death + 4); } ! /*JP Strcat(linebuf, ".");*/ /* Quit, starved, ascended, and escaped contain no second line */ if (second_line) ! /*JP Sprintf(eos(linebuf), " %c%s.", highc(*(t1->death)), t1->death+1);*/ ! Sprintf(action, "%s", t1->death); ! ! Sprintf(eos(linebuf), "%s%s%s¡¥", who, where, action); lngr = (int)strlen(linebuf); if (t1->hp <= 0) hpbuf[0] = '-', hpbuf[1] = '\0'; else Sprintf(hpbuf, "%d", t1->hp); + + hppos = COLNO - (sizeof(" Hp [max]")-1); /* sizeof(str) includes \0 */ + + while(lngr >= hppos ){ + /* + ** hppos¤è¤êÁ°¤ÎŬÅö¤Ê°ÌÃÖ¤Çʬ³ä¤¹¤ë¡¥ + */ + split_japanese(linebuf, car, cdr, hppos); + + bp = eos(car); + if (so) { + while (bp < car + (COLNO-1)) *bp++ = ' '; + *bp = 0; + topten_print_bold(car); + } else + topten_print(car); + + Sprintf(linebuf, "%15s %s", "", cdr); + lngr = (int)strlen(linebuf); + } + + /* + ** ÆüËܸ줬Æþ¤ë¤Èʸ»úÎó¤ò¸å¤«¤é¸«¤Æ¤¤¤¯¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + */ + + #if 0 /*JP*/ /* beginning of hp column after padding (not actually padded yet) */ hppos = COLNO - (sizeof(" Hp [max]")-1); /* sizeof(str) includes \0 */ while (lngr >= hppos) { *************** *** 620,625 **** --- 735,742 ---- Sprintf(linebuf, "%15s %s", "", linebuf3); lngr = strlen(linebuf); } + #endif /*JP*/ + /* beginning of hp column not including padding */ hppos = COLNO - 7 - (int)strlen(hpbuf); bp = eos(linebuf); *************** *** 641,648 **** topten_print_bold(linebuf); } else topten_print(linebuf); - } static int score_wanted(current_ver, rank, t1, playerct, players, uid) boolean current_ver; --- 758,765 ---- topten_print_bold(linebuf); } else topten_print(linebuf); + } static int score_wanted(current_ver, rank, t1, playerct, players, uid) boolean current_ver; *************** *** 823,829 **** --- 940,950 ---- case 'C': return (fem ? PM_CAVEWOMAN : PM_CAVEMAN); case 'E': return PM_ELF; case 'H': return PM_HEALER; + #ifndef FIGHTER case 'F': /* accept old Fighter class */ + #else + case 'F': return PM_FIGHTER; + #endif case 'K': return PM_KNIGHT; case 'P': return (fem ? PM_PRIESTESS : PM_PRIEST); case 'R': return PM_ROGUE; diff -c -r ../nethack-3.2.2/src/trap.c ./src/trap.c *** ../nethack-3.2.2/src/trap.c Sat Dec 28 21:53:53 1996 --- ./src/trap.c Tue Jul 22 23:18:40 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" STATIC_DCL void FDECL(dofiretrap, (struct obj *)); *************** *** 33,43 **** --- 40,55 ---- #else + #if 0 /*JP*/ STATIC_VAR const char *a_your[2] = { "a", "your" }; STATIC_VAR const char *A_Your[2] = { "A", "Your" }; STATIC_VAR const char *the_your[2] = { "the", "your" }; STATIC_VAR const char tower_of_flame[] = "tower of flame"; STATIC_VAR const char *A_gush_of_water_hits = "A gush of water hits"; + #endif /*JP*/ + STATIC_VAR const char *set_you[2] = { "", "¤¢¤Ê¤¿¤Î»Å³Ý¤±¤¿" }; + STATIC_VAR const char *dig_you[2] = { "", "¤¢¤Ê¤¿¤¬·¡¤Ã¤¿" }; + STATIC_VAR const char *web_you[2] = { "", "¤¢¤Ê¤¿¤¬Ä¥¤Ã¤¿" }; #endif /* OVLB */ *************** *** 51,76 **** while (1) { switch (rn2(5)) { case 0: ! if (!burn_dmg(uarmh, "leather helmet")) continue; break; case 1: if (uarmc) ! (void) burn_dmg(uarmc, "cloak"); else if (uarm) (void) burn_dmg(uarm, xname(uarm)); #ifdef TOURIST else if (uarmu) ! (void) burn_dmg(uarmu, "shirt"); #endif return TRUE; case 2: ! if (!burn_dmg(uarms, "wooden shield")) continue; break; case 3: ! if (!burn_dmg(uarmg, "gloves")) continue; break; case 4: ! if (!burn_dmg(uarmf, "boots")) continue; break; } break; /* Out of while loop */ --- 63,94 ---- while (1) { switch (rn2(5)) { case 0: ! /*JP if (!burn_dmg(uarmh, "leather helmet")) continue;*/ ! if (!burn_dmg(uarmh, "³×¤Î³õ")) continue; break; case 1: if (uarmc) ! /*JP (void) burn_dmg(uarmc, "cloak");*/ ! (void) burn_dmg(uarmc, "¥¯¥í¡¼¥¯"); else if (uarm) (void) burn_dmg(uarm, xname(uarm)); #ifdef TOURIST else if (uarmu) ! /*JP (void) burn_dmg(uarmu, "shirt");*/ ! (void) burn_dmg(uarmu, "¥·¥ã¥Ä"); #endif return TRUE; case 2: ! /*JP if (!burn_dmg(uarms, "wooden shield")) continue;*/ ! if (!burn_dmg(uarms, "Ìڤνâ")) continue; break; case 3: ! /*JP if (!burn_dmg(uarmg, "gloves")) continue;*/ ! if (!burn_dmg(uarmg, "¾®¼ê")) continue; break; case 4: ! /*JP if (!burn_dmg(uarmf, "boots")) continue;*/ ! if (!burn_dmg(uarmf, "·¤")) continue; break; } break; /* Out of while loop */ *************** *** 91,98 **** --- 109,120 ---- int type; boolean print; { + #if 0 /*JP*/ static NEARDATA const char *action[] = { "smoulder", "rust", "rot", "corrode" }; static NEARDATA const char *msg[] = { "burnt", "rusted", "rotten", "corroded" }; + #endif + static NEARDATA const char *action[] = { "¤¯¤¹¤Ö¤Ã¤¿","»¬¤Ó¤¿","Éå¤Ã¤¿","Éå¿©¤·¤¿" }; + static NEARDATA const char *msg[] = { "¾Ç¤²¤¿","»¬¤Ó¤¿","Éå¤Ã¤¿","Éå¿©¤·¤¿" }; boolean vulnerable = FALSE; boolean plural; boolean grprot = FALSE; *************** *** 112,137 **** if (!vulnerable) { if (flags.verbose) ! Your("%s %s not affected.", ostr, plural ? "are" : "is"); } else if (otmp->oeroded < MAX_ERODE) { if (grprot && otmp->greased) { grease_protect(otmp,ostr,plural); } else if (otmp->oerodeproof || (otmp->blessed && !rnl(4))) { if (flags.verbose) ! pline("Somehow, your %s %s not affected.", ! ostr, plural ? "are" : "is"); } else { ! Your("%s %s%s%s!", ostr, action[type], plural ? "" : "s", otmp->oeroded+1 == MAX_ERODE ? " completely" : ! otmp->oeroded ? " further" : ""); otmp->oeroded++; } } else { if (flags.verbose) ! Your("%s %s%s completely %s.", ostr, Blind ? "feel" : "look", ! plural ? "" : "s", msg[type]); } return(TRUE); } --- 134,167 ---- if (!vulnerable) { if (flags.verbose) ! /*JP Your("%s %s not affected.", ostr, plural ? "are" : "is");*/ ! Your("%s¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤«¤Ã¤¿¡¥",ostr); } else if (otmp->oeroded < MAX_ERODE) { if (grprot && otmp->greased) { grease_protect(otmp,ostr,plural); } else if (otmp->oerodeproof || (otmp->blessed && !rnl(4))) { if (flags.verbose) ! /*JP pline("Somehow, your %s %s not affected.", ! ostr, plural ? "are" : "is");*/ ! pline("²¿¸Î¤«¡¤%s¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤«¤Ã¤¿¡¥",ostr); } else { ! /*JP Your("%s %s%s%s!", ostr, action[type], plural ? "" : "s", otmp->oeroded+1 == MAX_ERODE ? " completely" : ! otmp->oeroded ? " further" : "");*/ ! Your("%s¤Ï%s%s¡ª", ostr, ! otmp->oeroded+1 == MAX_ERODE ? "´°Á´¤Ë" : ! otmp->oeroded ? "¤µ¤é¤Ë" : "", ! action[type]); otmp->oeroded++; } } else { if (flags.verbose) ! /*JP Your("%s %s%s completely %s.", ostr, Blind ? "feel" : "look", ! plural ? "" : "s", msg[type]);*/ ! Your("%s¤Ï´°Á´¤Ë%s%s.", ostr,msg[type], ! Blind ? "¤è¤¦¤À" : "" ); } return(TRUE); } *************** *** 142,155 **** register const char *ostr; register boolean plu; { ! static const char txt[] = "protected by the layer of grease!"; if (ostr) ! Your("%s %s %s",ostr,plu ? "are" : "is",txt); else ! Your("%s %s",aobjnam(otmp,"are"),txt); if (!rn2(2)) { ! pline_The("grease dissolves."); otmp->greased = 0; } } --- 172,189 ---- register const char *ostr; register boolean plu; { ! /*JP static const char txt[] = "protected by the layer of grease!";*/ ! static const char txt[] = "Ìý¤ÎÅɤꤳ¤ß¤Ë¤è¤Ã¤Æ¼é¤é¤ì¤Æ¤¤¤ë¡ª"; if (ostr) ! /*JP Your("%s %s %s",ostr,plu ? "are" : "is",txt);*/ ! Your("%s¤Ï%s",ostr,txt); else ! /*JP Your("%s %s",aobjnam(otmp,"are"),txt);*/ ! Your("%s¤Ï%s",xname(otmp),txt); if (!rn2(2)) { ! /*JP pline("The grease dissolves.");*/ ! pline("Ìý¤ÏÍϤ±¤Æ¤·¤Þ¤Ã¤¿¡¥"); otmp->greased = 0; } } *************** *** 257,285 **** if(td) { struct trap *t=t_at(u.ux,u.uy); if (t->ttyp == TRAPDOOR) ! pline("A trap door opens up under you!"); else ! pline("There's a gaping hole under you!"); ! } else pline_The("%s opens up under you!", surface(u.ux,u.uy)); if(Levitation || u.ustuck || !Can_fall_thru(&u.uz) || is_flyer(uasmon) || is_clinger(uasmon) || (Inhell && !u.uevent.invoked && newlevel == dunlevs_in_dungeon(&u.uz)) ) { ! dont_fall = "don't fall in."; } else if (uasmon->msize >= MZ_HUGE) { ! dont_fall = "don't fit through."; } else if (!next_to_u()) { ! dont_fall = "are jerked back by your pet!"; } if (dont_fall) { ! You(dont_fall); /* hero didn't fall through, but any objects here might */ impact_drop((struct obj *)0, u.ux, u.uy, 0); if (!td) { display_nhwindow(WIN_MESSAGE, FALSE); ! pline_The("opening under you closes up."); } return; } --- 291,327 ---- if(td) { struct trap *t=t_at(u.ux,u.uy); if (t->ttyp == TRAPDOOR) ! /*JP pline("A trap door opens up under you!");*/ ! pline("ÍÈ⤬¤¢¤Ê¤¿¤Î­¸µ¤Ë³«¤¤¤¿¡ª"); else ! /*JP pline("There's a gaping hole under you!");*/ ! pline("¤¢¤Ê¤¿¤Î­²¼¤Ë¤Ý¤Ã¤«¤ê¤È·ê¤¬³«¤¤¤Æ¤¤¤ë¡ª"); ! /*JP } else pline_The("%s opens up under you!", surface(u.ux,u.uy));*/ ! } else pline("­¸µ¤Î%s¤Ë·ê¤¬³«¤¤¤¿¡ª", surface(u.ux,u.uy)); if(Levitation || u.ustuck || !Can_fall_thru(&u.uz) || is_flyer(uasmon) || is_clinger(uasmon) || (Inhell && !u.uevent.invoked && newlevel == dunlevs_in_dungeon(&u.uz)) ) { ! /*JP dont_fall = "don't fall in.";*/ ! dont_fall = "¤·¤«¤·¤¢¤Ê¤¿¤ÏÍî¤Á¤Ê¤«¤Ã¤¿¡¥"; } else if (uasmon->msize >= MZ_HUGE) { ! /*JP dont_fall = "don't fit through.";*/ ! dont_fall = "Ä̤êÈ´¤±¤ë¤Ë¤Ï¥µ¥¤¥º¤¬¹ç¤ï¤Ê¤¤¡¥"; } else if (!next_to_u()) { ! /*JP dont_fall = "are jerked back by your pet!";*/ ! dont_fall = "¤¢¤Ê¤¿¤Ï¥Ú¥Ã¥È¤Ë¤è¤Ã¤Æ°ú¤Ã¤Ñ¤é¤ì¤¿¡ª"; } if (dont_fall) { ! /*JP You(dont_fall);*. ! pline(dont_fall); /* hero didn't fall through, but any objects here might */ impact_drop((struct obj *)0, u.ux, u.uy, 0); if (!td) { display_nhwindow(WIN_MESSAGE, FALSE); ! /*JP pline_The("opening under you closes up.");*/ ! pline_The("­²¼¤Ë³«¤¤¤Æ¤¤¤¿¤â¤Î¤ÏÊĤ¸¤¿¡¥"); } return; } *************** *** 292,298 **** dtmp.dlevel = newlevel; } if (!td) ! Sprintf(msgbuf, "The hole in the %s above you closes up.", ceiling(u.ux,u.uy)); schedule_goto(&dtmp, FALSE, TRUE, 0, (char *)0, !td ? msgbuf : (char *)0); --- 334,341 ---- dtmp.dlevel = newlevel; } if (!td) ! /*JP Sprintf(msgbuf, "The hole in the %s above you closes up.",*/ ! Sprintf(msgbuf, "%s¤Ë³«¤¤¤¿·ê¤ÏÊĤ¸¤¿¡¥", ceiling(u.ux,u.uy)); schedule_goto(&dtmp, FALSE, TRUE, 0, (char *)0, !td ? msgbuf : (char *)0); *************** *** 337,347 **** --- 380,399 ---- if (mtmp->m_ap_type) seemimic(mtmp); else mtmp->mundetected = FALSE; if (x == u.ux && y == u.uy) + /*JP pline_The("statue comes to life!"); + */ + pline("ĦÁü¤ÏÀ¸Ì¿¤òÂÓ¤Ó¤¿¡ª"); else if (shatter) + /*JP pline("Instead of shattering, the statue suddenly comes alive!"); + */ + pline("ºÕ¤±¤ë¤«¤ï¤ê¤Ë¡¤Ä¦Áü¤ÏÀ¸Ì¿¤òÂÓ¤Ó¤¿¡ª"); else + /*JP You("find %s posing as a statue.", a_monnam(mtmp)); + */ + pline("%s¤¬Ä¦Áü¤Î¤Õ¤ê¤ò¤·¤Æ¤¤¤ë¤Î¤ò¸«¤Ä¤±¤¿¡¥", a_monnam(mtmp)); /* avoid hiding under nothing */ if (x == u.ux && y == u.uy && Upolyd && hides_under(uasmon) && !OBJ_AT(x, y)) *************** *** 366,384 **** --- 418,447 ---- if ((Levitation || is_flyer(uasmon)) && (ttype == PIT || ttype == SPIKED_PIT || ttype == HOLE || ttype == BEAR_TRAP)) { + #if 0 /*JP*/ You("%s over %s %s.", Levitation ? "float" : "fly", a_your[trap->madeby_u], defsyms[trap_to_defsym(ttype)].explanation); + #endif + You("%s%s¤Î¾å%s¡¥", + set_you[trap->madeby_u], + jtrns_obj('^', defsyms[trap_to_defsym(ttype)].explanation), + Levitation ? "¤ò¸«²¼¤í¤·¤¿" : "¤òÈô¤ó¤Ç¤¤¤ë"); return; } if(!Fumbling && ttype != MAGIC_PORTAL && ttype != ANTI_MAGIC && (!rn2(5) || ((ttype == PIT || ttype == SPIKED_PIT) && is_clinger(uasmon)))) { + #if 0 /*JP*/ You("escape %s %s.", (ttype == ARROW_TRAP && !trap->madeby_u) ? "an" : a_your[trap->madeby_u], defsyms[trap_to_defsym(ttype)].explanation); + #endif + You("%s%s¤ò¤¹¤ë¤ê¤ÈÈò¤±¤¿¡¥", + set_you[trap->madeby_u], + jtrns_obj('^', defsyms[trap_to_defsym(ttype)].explanation)); return; } } *************** *** 386,396 **** switch(ttype) { case ARROW_TRAP: seetrap(trap); ! pline("An arrow shoots out at you!"); otmp = mksobj(ARROW, TRUE, FALSE); otmp->quan = 1L; otmp->owt = weight(otmp); ! if (thitu(8, dmgval(otmp, &youmonst), otmp, "arrow")) { obfree(otmp, (struct obj *)0); } else { place_object(otmp, u.ux, u.uy); --- 449,460 ---- switch(ttype) { case ARROW_TRAP: seetrap(trap); ! /*JP pline("An arrow shoots out at you!");*/ ! pline("Ìð¤¬Èô¤ó¤Ç¤­¤¿¡ª"); otmp = mksobj(ARROW, TRUE, FALSE); otmp->quan = 1L; otmp->owt = weight(otmp); ! if (thitu(8, dmgval(otmp, &youmonst), otmp, "Ìð")) { obfree(otmp, (struct obj *)0); } else { place_object(otmp, u.ux, u.uy); *************** *** 401,414 **** break; case DART_TRAP: seetrap(trap); ! pline("A little dart shoots out at you!"); otmp = mksobj(DART, TRUE, FALSE); otmp->quan = 1L; otmp->owt = weight(otmp); if (!rn2(6)) otmp->opoisoned = 1; ! if (thitu(7, dmgval(otmp, &youmonst), otmp, "little dart")) { if (otmp->opoisoned) ! poisoned("dart",A_CON,"poison dart",10); obfree(otmp, (struct obj *)0); } else { place_object(otmp, u.ux, u.uy); --- 465,481 ---- break; case DART_TRAP: seetrap(trap); ! /*JP pline("A little dart shoots out at you!");*/ ! pline("¾®¤µ¤ÊÅꤲÌ𤬤¢¤Ê¤¿¤ËÈô¤ó¤Ç¤­¤¿¡ª"); otmp = mksobj(DART, TRUE, FALSE); otmp->quan = 1L; otmp->owt = weight(otmp); if (!rn2(6)) otmp->opoisoned = 1; ! /*JP if (thitu(7, dmgval(otmp, &youmonst), otmp, "little dart")) {*/ ! if (thitu(7, dmgval(otmp, &youmonst), otmp, "ÅꤲÌð")) { if (otmp->opoisoned) ! /*JP poisoned("dart",A_CON,"poison dart",10);*/ ! poisoned("ÅꤲÌð",A_CON,"ÆÇÌð",10); obfree(otmp, (struct obj *)0); } else { place_object(otmp, u.ux, u.uy); *************** *** 426,441 **** otmp->quan = 1L; otmp->owt = weight(otmp); ! pline("A trap door in the %s opens and a rock falls on your %s!", ceiling(u.ux,u.uy), body_part(HEAD)); if (uarmh) { if(is_metallic(uarmh)) { ! pline("Fortunately, you are wearing a hard helmet."); dmg = 2; } else if (flags.verbose) { ! Your("%s does not protect you.", xname(uarmh)); } } --- 493,511 ---- otmp->quan = 1L; otmp->owt = weight(otmp); ! /*JP pline("A trap door in the %s opens and a rock falls on your %s!",*/ ! pline("ÍÈ⤬%s¤Ë³«¤­¡¤ÀФ¬¤¢¤Ê¤¿¤Î%s¤ËÍî¤Á¤Æ¤­¤¿¡ª", ceiling(u.ux,u.uy), body_part(HEAD)); if (uarmh) { if(is_metallic(uarmh)) { ! /*JP pline("Fortunately, you are wearing a hard helmet.");*/ ! pline("¹¬±¿¤Ë¤â¡¤¤¢¤Ê¤¿¤Ï¸Ç¤¤³õ¤ò¿È¤Ë¤Ä¤±¤Æ¤¤¤¿¡¥"); dmg = 2; } else if (flags.verbose) { ! /*JP Your("%s does not protect you.", xname(uarmh));*/ ! Your("%s¤Ç¤ÏËɤ²¤Ê¤¤¡¥", xname(uarmh)); } } *************** *** 443,449 **** stackobj(otmp); newsym(u.ux,u.uy); /* map the rock */ ! losehp(dmg, "falling rock", KILLED_BY_AN); exercise(A_STR, FALSE); } break; --- 513,520 ---- stackobj(otmp); newsym(u.ux,u.uy); /* map the rock */ ! /*JP losehp(dmg, "falling rock", KILLED_BY_AN);*/ ! losehp(dmg, "Íî´ä¤Ç", KILLED_BY_AN); exercise(A_STR, FALSE); } break; *************** *** 453,465 **** if (!Blind) { seetrap(trap); if (Hallucination) ! You("notice a crease in the linoleum."); else ! You("notice a loose board below you."); } } else { seetrap(trap); ! pline("A board beneath you squeaks loudly."); wake_nearby(); } break; --- 524,539 ---- if (!Blind) { seetrap(trap); if (Hallucination) ! /*JP You("notice a crease in the linoleum.");*/ ! You("¾²¤Î»Å¾åºà¤Î¤·¤ï¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥"); else ! /*JP You("notice a loose board below you.");*/ ! You("­¸µ¤Î´Ë¤ó¤ÀÈĤ˵¤¤¬¤Ä¤¤¤¿¡¥"); } } else { seetrap(trap); ! /*JP pline("A board beneath you squeaks loudly.");*/ ! pline("­¸µ¤ÎÈĤ¬Â礭¤¯¤­¤·¤ó¤À¡¥"); wake_nearby(); } break; *************** *** 469,499 **** seetrap(trap); if(amorphous(uasmon) || is_whirly(uasmon) || unsolid(uasmon)) { ! pline("%s bear trap closes harmlessly through you.", ! A_Your[trap->madeby_u]); break; } if(uasmon->msize <= MZ_SMALL) { ! pline("%s bear trap closes harmlessly over you.", ! A_Your[trap->madeby_u]); break; } u.utrap = rn1(4, 4); u.utraptype = TT_BEARTRAP; ! pline("%s bear trap closes on your %s!", ! A_Your[trap->madeby_u], body_part(FOOT)); if(u.umonnum == PM_OWLBEAR || u.umonnum == PM_BUGBEAR) ! You("howl in anger!"); exercise(A_DEX, FALSE); break; case SLP_GAS_TRAP: seetrap(trap); if(Sleep_resistance) { ! You("are enveloped in a cloud of gas!"); break; } ! pline("A cloud of gas puts you to sleep!"); flags.soundok = 0; fall_asleep(-rnd(25), TRUE); afternmv = Hear_again; --- 543,582 ---- seetrap(trap); if(amorphous(uasmon) || is_whirly(uasmon) || unsolid(uasmon)) { ! /*JP pline("%s bear trap closes harmlessly through you.", ! A_Your[trap->madeby_u]);*/ ! pline("%s·§¤Î櫤ϳú¤ß¤Ä¤¤¤¿¤¬¡¤¤¹¤ë¤Ã¤ÈÄ̤êÈ´¤±¤¿¡¥", ! set_you[trap->madeby_u]); break; } if(uasmon->msize <= MZ_SMALL) { ! /*JP pline("%s bear trap closes harmlessly over you.", ! A_Your[trap->madeby_u]);*/ ! pline("%s·§¤Î櫤ÏÍÚ¤«¾åÊý¤Ç³ú¤ß¤Ä¤¤¤¿¡¥", ! set_you[trap->madeby_u]); break; } u.utrap = rn1(4, 4); u.utraptype = TT_BEARTRAP; ! /*JP pline("%s bear trap closes on your %s!", ! A_Your[trap->madeby_u], body_part(FOOT));*/ ! pline("%s·§¤Î櫤¬¤¢¤Ê¤¿¤Î%s¤Ë³ú¤ß¤Ä¤¤¤¿¡ª", ! set_you[trap->madeby_u], body_part(FOOT)); if(u.umonnum == PM_OWLBEAR || u.umonnum == PM_BUGBEAR) ! /*JP You("howl in anger!");*/ ! You("Åܤê¤ÎÒöÓ¬¤ò¤¢¤²¤¿¡ª"); exercise(A_DEX, FALSE); break; case SLP_GAS_TRAP: seetrap(trap); if(Sleep_resistance) { ! /*JP You("are enveloped in a cloud of gas!");*/ ! You("¥¬¥¹±À¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡ª"); break; } ! /*JP pline("A cloud of gas puts you to sleep!");*/ ! pline("¤¢¤Ê¤¿¤Ï¥¬¥¹±À¤Ç̲¤Ã¤Æ¤·¤Þ¤Ã¤¿¡ª"); flags.soundok = 0; fall_asleep(-rnd(25), TRUE); afternmv = Hear_again; *************** *** 502,516 **** case RUST_TRAP: seetrap(trap); if (u.umonnum == PM_IRON_GOLEM) { ! pline("%s you!", A_gush_of_water_hits); ! You("are covered with rust!"); rehumanize(); break; } else if (u.umonnum == PM_GREMLIN && rn2(3)) { ! pline("%s you!", A_gush_of_water_hits); if ((mtmp = cloneu()) != 0) { mtmp->mhpmax = (u.mhmax /= 2); You("multiply."); } break; } --- 585,603 ---- case RUST_TRAP: seetrap(trap); if (u.umonnum == PM_IRON_GOLEM) { ! /*JP pline("%s you!", A_gush_of_water_hits);*/ ! pline("¿å¤¬Ê®½Ð¤·¤Æ¤¢¤Ê¤¿¤ËÌ¿Ã椷¤¿¡ª"); ! /*JP You("are covered with rust!");*/ ! You("»¬¤Ëʤ¤ï¤ì¤¿¡ª"); rehumanize(); break; } else if (u.umonnum == PM_GREMLIN && rn2(3)) { ! /*JP pline("%s you!", A_gush_of_water_hits);*/ ! pline("¿å¤¬Ê®½Ð¤·¤Æ¤¢¤Ê¤¿¤ËÌ¿Ã椷¤¿¡ª"); if ((mtmp = cloneu()) != 0) { mtmp->mhpmax = (u.mhmax /= 2); You("multiply."); + You("ʬÎö¤·¤¿¡¥"); } break; } *************** *** 522,558 **** */ switch (rn2(5)) { case 0: ! pline("%s you on the %s!", A_gush_of_water_hits, body_part(HEAD)); ! (void) rust_dmg(uarmh, "helmet", 1, TRUE); break; case 1: ! pline("%s your left %s!", A_gush_of_water_hits, body_part(ARM)); ! if (rust_dmg(uarms, "shield", 1, TRUE)) break; if (uwep && bimanual(uwep)) goto two_hand; /* Two goto statements in a row--aaarrrgggh! */ ! glovecheck: (void) rust_dmg(uarmg, "gauntlets", 1, TRUE); /* Not "metal gauntlets" since it gets called * even if it's leather for the message */ break; case 2: ! pline("%s your right %s!", A_gush_of_water_hits, body_part(ARM)); two_hand: erode_weapon(FALSE); goto glovecheck; default: ! pline("%s you!", A_gush_of_water_hits); for (otmp=invent; otmp; otmp = otmp->nobj) (void) snuff_lit(otmp); ! if (uarmc) (void) rust_dmg(uarmc, "cloak", 1, TRUE); else if (uarm) ! (void) rust_dmg(uarm, "armor", 1, TRUE); #ifdef TOURIST else if (uarmu) ! (void) rust_dmg(uarmu, "shirt", 1, TRUE); #endif } break; --- 609,655 ---- */ switch (rn2(5)) { case 0: ! /*JP pline("%s you on the %s!", A_gush_of_water_hits,*/ ! pline("¿å¤¬Ê®½Ð¤·¤Æ¤¢¤Ê¤¿¤Î%s¤ËÌ¿Ã椷¤¿¡ª", body_part(HEAD)); ! /*JP (void) rust_dmg(uarmh, "helmet", 1, TRUE);*/ ! (void) rust_dmg(uarmh, "³õ", 1, TRUE); break; case 1: ! /*JP pline("%s your left %s!", A_gush_of_water_hits,*/ ! pline("¿å¤¬Ê®½Ð¤·¤Æ¤¢¤Ê¤¿¤Îº¸%s¤ËÌ¿Ã椷¤¿¡ª", body_part(ARM)); ! /*JP if (rust_dmg(uarms, "shield", 1, TRUE)) break;*/ ! if (rust_dmg(uarms, "½â", 1, TRUE)) break; if (uwep && bimanual(uwep)) goto two_hand; /* Two goto statements in a row--aaarrrgggh! */ ! /*JPglovecheck: (void) rust_dmg(uarmg, "gauntlets", 1, TRUE);*/ ! glovecheck: (void) rust_dmg(uarmg, "¾®¼ê", 1, TRUE); /* Not "metal gauntlets" since it gets called * even if it's leather for the message */ break; case 2: ! /*JP pline("%s your right %s!", A_gush_of_water_hits,*/ ! pline("¿å¤¬Ê®½Ð¤·¤Æ¤¢¤Ê¤¿¤Î±¦%s¤ËÌ¿Ã椷¤¿¡ª", body_part(ARM)); two_hand: erode_weapon(FALSE); goto glovecheck; default: ! /*JP pline("%s you!", A_gush_of_water_hits);*/ ! pline("¿å¤¬Ê®½Ð¤·¤Æ¤¢¤Ê¤¿¤ËÌ¿Ã椷¤¿¡ª"); for (otmp=invent; otmp; otmp = otmp->nobj) (void) snuff_lit(otmp); ! /*JP if (uarmc) (void) rust_dmg(uarmc, "cloak", 1, TRUE);*/ ! if (uarmc) (void) rust_dmg(uarmc, "¥¯¥í¡¼¥¯", 1, TRUE); else if (uarm) ! /*JP (void) rust_dmg(uarm, "armor", 1, TRUE);*/ ! (void) rust_dmg(uarm, "³»", 1, TRUE); #ifdef TOURIST else if (uarmu) ! /*JP (void) rust_dmg(uarmu, "shirt", 1, TRUE);*/ ! (void) rust_dmg(uarmu, "¥·¥ã¥Ä", 1, TRUE); #endif } break; *************** *** 568,602 **** seetrap(trap); if (is_clinger(uasmon)) { if(trap->tseen) { ! You("see %s %spit below you.", a_your[trap->madeby_u], ! ttype == SPIKED_PIT ? "spiked " : ""); } else { ! pline("%s pit %sopens up under you!", A_Your[trap->madeby_u], ! ttype == SPIKED_PIT ? "full of spikes " : ""); ! You("don't fall in!"); } break; } ! You("fall into %s pit!", a_your[trap->madeby_u]); if (ttype == SPIKED_PIT) ! You("land on a set of sharp iron spikes!"); if (!passes_walls(uasmon)) u.utrap = rn1(6,2); u.utraptype = TT_PIT; if (ttype == SPIKED_PIT) { ! losehp(rnd(10),"fell into a pit of iron spikes", ! NO_KILLER_PREFIX); if (!rn2(6)) ! poisoned("spikes", A_STR, "fall onto poison spikes", 8); } else ! losehp(rnd(6),"fell into a pit", NO_KILLER_PREFIX); if (Punished && !carried(uball)) { unplacebc(); ballfall(); placebc(); } ! selftouch("Falling, you"); vision_full_recalc = 1; /* vision limits change */ exercise(A_STR, FALSE); exercise(A_DEX, FALSE); --- 665,712 ---- seetrap(trap); if (is_clinger(uasmon)) { if(trap->tseen) { ! /*JP You("see %s %spit below you.", a_your[trap->madeby_u], ! ttype == SPIKED_PIT ? "spiked " : "");*/ ! pline("­¸µ¤Ë%s%sÍ·ê¤òȯ¸«¤·¤¿¡¥", ! dig_you[trap->madeby_u], ! ttype == SPIKED_PIT ? "¥È¥²¤À¤é¤±¤Î" : ""); } else { ! /*JP pline("%s pit %sopens up under you!", A_Your[trap->madeby_u], ! ttype == SPIKED_PIT ? "full of spikes " : "");*/ ! pline("%sÍ·ê¤¬Â­¸µ¤Ë³«¤¤¤¿¡ª", ! dig_you[trap->madeby_u]); ! /*JP You("don't fall in!");*/ ! pline("¤·¤«¤·¡¤¤¢¤Ê¤¿¤ÏÍî¤Á¤Ê¤«¤Ã¤¿¡ª"); } break; } ! /*JP You("fall into %s pit!", a_your[trap->madeby_u]);*/ ! You("%sÍ·ê¤ËÍî¤Á¤¿¡ª", dig_you[trap->madeby_u]); if (ttype == SPIKED_PIT) ! /*JP You("land on a set of sharp iron spikes!");*/ ! You("±Ô¤¤Å´¤Î¥È¥²¥È¥²¤Î¾å¤ËÍî¤Á¤¿¡ª"); if (!passes_walls(uasmon)) u.utrap = rn1(6,2); u.utraptype = TT_PIT; if (ttype == SPIKED_PIT) { ! /*JP losehp(rnd(10),"fell into a pit of iron spikes",*/ ! losehp(rnd(10),"¥È¥²¤À¤é¤±¤ÎÍ·ê¤ËÍî¤Á¤Æ", ! /*JP NO_KILLER_PREFIX);*/ ! KILLED_BY); if (!rn2(6)) ! /*JP poisoned("spikes", A_STR, "fall onto poison spikes", 8);*/ ! poisoned("¥È¥²", A_STR, "Í·ê¤Î¥È¥²", 8); } else ! /*JP losehp(rnd(6),"fell into a pit", NO_KILLER_PREFIX);*/ ! losehp(rnd(6),"Í·ê¤ËÍî¤Á¤Æ", KILLED_BY); if (Punished && !carried(uball)) { unplacebc(); ballfall(); placebc(); } ! /*JP selftouch("Falling, you");*/ ! selftouch("Íî²¼Ã椢¤Ê¤¿¤Ï"); vision_full_recalc = 1; /* vision limits change */ exercise(A_STR, FALSE); exercise(A_DEX, FALSE); *************** *** 627,652 **** unsolid(uasmon)) { if (acidic(uasmon) || u.umonnum == PM_GELATINOUS_CUBE || u.umonnum == PM_FIRE_ELEMENTAL) { ! You("%s %s spider web!", (u.umonnum == PM_FIRE_ELEMENTAL) ? "burn" : "dissolve", ! a_your[trap->madeby_u]); deltrap(trap); newsym(u.ux,u.uy); break; } ! You("flow through %s spider web.", ! a_your[trap->madeby_u]); break; } if (uasmon->mlet == S_SPIDER) { ! pline(trap->madeby_u ? "You take a walk on your web." ! : "There is a spider web here."); break; } ! You("%s into %s spider web!", Levitation ? (const char *)"float" : locomotion(uasmon, "stumble"), ! a_your[trap->madeby_u]); u.utraptype = TT_WEB; /* Time stuck in the web depends on your strength. */ --- 737,774 ---- unsolid(uasmon)) { if (acidic(uasmon) || u.umonnum == PM_GELATINOUS_CUBE || u.umonnum == PM_FIRE_ELEMENTAL) { ! /*JP You("%s %s spider web!", (u.umonnum == PM_FIRE_ELEMENTAL) ? "burn" : "dissolve", ! a_your[trap->madeby_u]);*/ ! You("%sÃØéá¤ÎÁã¤ò%s¡ª", ! web_you[trap->madeby_u], ! (u.umonnum == PM_FIRE_ELEMENTAL) ? "¾Æ¤¤¤¿" : "¤³¤Ê¤´¤Ê¤Ë¤·¤¿"); deltrap(trap); newsym(u.ux,u.uy); break; } ! /*JP You("flow through %s spider web.", ! a_your[trap->madeby_u]);*/ ! You("%sÃØéá¤ÎÁã¤ò¤¹¤ë¤ê¤ÈÄ̤êÈ´¤±¤¿¡¥", ! web_you[trap->madeby_u]); break; } if (uasmon->mlet == S_SPIDER) { ! /*JP pline(trap->madeby_u ? "You take a walk on your web." ! : "There is a spider web here.");*/ ! pline(trap->madeby_u ? ! "¼«Ê¬¤ÇÄ¥¤Ã¤¿ÃØéá¤ÎÁã¤Î¾å¤òÊ⤤¤¿¡¥" : ! "¤³¤³¤Ë¤ÏÃØéá¤ÎÁ㤬¤¢¤ë"); break; } ! /*JP You("%s into %s spider web!", Levitation ? (const char *)"float" : locomotion(uasmon, "stumble"), ! a_your[trap->madeby_u]);*/ ! You("%s%sÃØéá¤ÎÁã¤Ë¤Ò¤Ã¤«¤«¤Ã¤¿", ! Levitation ? (const char *)"É⤭¤Ê¤¬¤é" : ! jconj(locomotion(uasmon, "¤Ä¤Þ¤º¤¯"), "¤Æ"), ! web_you[trap->madeby_u]); u.utraptype = TT_WEB; /* Time stuck in the web depends on your strength. */ *************** *** 662,668 **** else if (str < 69) u.utrap = 1; else { u.utrap = 0; ! You("tear through %s web!", a_your[trap->madeby_u]); deltrap(trap); newsym(u.ux,u.uy); /* get rid of trap symbol */ } --- 784,792 ---- else if (str < 69) u.utrap = 1; else { u.utrap = 0; ! /*JP You("tear through %s web!", a_your[trap->madeby_u]);*/ ! You("%sÃØéá¤ÎÁã¤ò°ú¤­Îö¤¤¤¿¡ª", ! web_you[trap->madeby_u]); deltrap(trap); newsym(u.ux,u.uy); /* get rid of trap symbol */ } *************** *** 678,686 **** if (!rn2(30)) { deltrap(trap); newsym(u.ux,u.uy); /* update position */ ! You("are caught in a magical explosion!"); ! losehp(rnd(10), "magical explosion", KILLED_BY_AN); ! Your("body absorbs some of the magical energy!"); u.uen = (u.uenmax += 2); } else domagictrap(); break; --- 802,813 ---- if (!rn2(30)) { deltrap(trap); newsym(u.ux,u.uy); /* update position */ ! /*JP You("are caught in a magical explosion!");*/ ! You("ËâË¡¤ÎÇúȯ¤òÍá¤Ó¤¿¡ª"); ! /*JP losehp(rnd(10), "magical explosion", KILLED_BY_AN);*/ ! losehp(rnd(10), "ËâË¡¤ÎÇúȯ¤òÍá¤Ó¤Æ", KILLED_BY_AN); ! /*JP Your("body absorbs some of the magical energy!");*/ ! Your("ÂΤÏËâË¡¤Î¥¨¥Í¥ë¥®¡¼¤ò¾¯¤·µÛ¤¤¤È¤Ã¤¿¡ª"); u.uen = (u.uenmax += 2); } else domagictrap(); break; *************** *** 689,711 **** seetrap(trap); if(Antimagic) { shieldeff(u.ux, u.uy); ! You_feel("momentarily lethargic."); } else drain_en(rnd(u.ulevel) + 1); break; case POLY_TRAP: seetrap(trap); ! You("%s onto a polymorph trap!", Levitation ? (const char *)"float" : ! locomotion(uasmon, "step")); if(Antimagic) { shieldeff(u.ux, u.uy); ! You_feel("momentarily different."); /* Trap did nothing; don't remove it --KAA */ } else { deltrap(trap); /* delete trap before polymorph */ newsym(u.ux,u.uy); /* get rid of trap symbol */ ! You_feel("a change coming over you."); polyself(); } break; --- 816,844 ---- seetrap(trap); if(Antimagic) { shieldeff(u.ux, u.uy); ! /*JP You_feel("momentarily lethargic.");*/ ! You("°ì½Ö̵µ¤ÎÏ´¶¤ò´¶¤¸¤¿¡¥"); } else drain_en(rnd(u.ulevel) + 1); break; case POLY_TRAP: seetrap(trap); ! /*JP You("%s onto a polymorph trap!", Levitation ? (const char *)"float" : ! locomotion(uasmon, "step"));*/ ! You("ÊѲ½¤Î櫤Ë%s¡ª", ! jconj(Levitation ? (const char *)"É⤭¤Ê¤¬¤éÈô¤Ó¤³¤à" : ! locomotion(uasmon, "Ƨ¤ß¹þ¤à"), "¤¿")); if(Antimagic) { shieldeff(u.ux, u.uy); ! /*JP You_feel("momentarily different.");(/ ! You("°ì½Ö̵µ¤ÎÏ´¶¤ò´¶¤¸¤¿¡¥"); /* Trap did nothing; don't remove it --KAA */ } else { deltrap(trap); /* delete trap before polymorph */ newsym(u.ux,u.uy); /* get rid of trap symbol */ ! /*JP You_feel("a change coming over you.");*/ ! You("ÊѲ½¤¬Ë¬¤ì¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); polyself(); } break; *************** *** 714,750 **** if (Levitation || is_flyer(uasmon)) { if (!already_seen && rn2(3)) break; seetrap(trap); ! pline("%s %s in a pile of soil below you.", already_seen ? "There is" : "You discover", trap->madeby_u ? "the trigger of your mine" : ! "a trigger"); if (already_seen && rn2(3)) break; ! pline("KAABLAMM!!! The air currents set %s%s off!", already_seen ? a_your[trap->madeby_u] : "", ! already_seen ? " land mine" : "it"); } else { seetrap(trap); ! pline("KAABLAMM!!! You triggered %s land mine!", ! a_your[trap->madeby_u]); set_wounded_legs(LEFT_SIDE, rn1(35, 41)); set_wounded_legs(RIGHT_SIDE, rn1(35, 41)); exercise(A_DEX, FALSE); } blow_up_landmine(trap); newsym(u.ux,u.uy); /* update trap symbol */ ! losehp(rnd(16), "land mine", KILLED_BY_AN); /* fall recursively into the pit... */ if ((trap = t_at(u.ux, u.uy)) != 0) dotrap(trap); break; case ROLLING_BOULDER_TRAP: seetrap(trap); ! pline("Click! You trigger a rolling boulder trap!"); if(!launch_obj(BOULDER, trap->launch.x, trap->launch.y, trap->launch2.x,trap->launch2.y, ROLL)) { deltrap(trap); newsym(u.ux,u.uy); /* get rid of trap symbol */ ! pline("Fortunately for you, no boulder was released."); } break; --- 847,896 ---- if (Levitation || is_flyer(uasmon)) { if (!already_seen && rn2(3)) break; seetrap(trap); ! /*JP pline("%s %s in a pile of soil below you.", already_seen ? "There is" : "You discover", trap->madeby_u ? "the trigger of your mine" : ! "a trigger");*/ ! if(already_seen) ! pline("¤³¤³¤Ë¤Ï%sÃÏÍë¤Îµ¯Çú¥¹¥¤¥Ã¥Á¤¬¤¢¤ë¡¥", ! set_you[trap->madeby_u]); ! else ! You("­²¼¤ÎÅڤ볤Ë%sÃÏÍë¤Îµ¯Çú¥¹¥¤¥Ã¥Á¤ò¤ß¤Ä¤±¤¿¡¥", ! set_you[trap->madeby_u]); if (already_seen && rn2(3)) break; ! /*JP pline("KAABLAMM!!! The air currents set %s%s off!", already_seen ? a_your[trap->madeby_u] : "", ! already_seen ? " land mine" : "it");*/ ! pline("¤Á¤å¤É¡¼¤ó¡ª¡ª¶õµ¤¤Îή¤ì¤Ç%sÃÏÍë¤Î¥¹¥¤¥Ã¥Á¤¬Æþ¤Ã¤¿¡ª", ! set_you[trap->madeby_u]); } else { seetrap(trap); ! /*JP pline("KAABLAMM!!! You triggered %s land mine!", ! a_your[trap->madeby_u]);*/ ! pline("¤Á¤å¤É¡¼¤ó¡ª¡ª%sÃÏÍë¤Îµ¯Çú¥¹¥¤¥Ã¥Á¤òƧ¤ó¤À¡ª", ! set_you[trap->madeby_u]); set_wounded_legs(LEFT_SIDE, rn1(35, 41)); set_wounded_legs(RIGHT_SIDE, rn1(35, 41)); exercise(A_DEX, FALSE); } blow_up_landmine(trap); newsym(u.ux,u.uy); /* update trap symbol */ ! /*JP losehp(rnd(16), "land mine", KILLED_BY_AN);*/ ! losehp(rnd(16), "ÃÏÍë¤òƧ¤ó¤Ç", KILLED_BY_AN); /* fall recursively into the pit... */ if ((trap = t_at(u.ux, u.uy)) != 0) dotrap(trap); break; case ROLLING_BOULDER_TRAP: seetrap(trap); ! /*JP pline("Click! You trigger a rolling boulder trap!");*/ ! pline("¥«¥Á¥Ã¡ª¤¢¤Ê¤¿¤ÏÍî´ä¤Î¥¹¥¤¥Ã¥Á¤òƧ¤ó¤À¡ª"); if(!launch_obj(BOULDER, trap->launch.x, trap->launch.y, trap->launch2.x,trap->launch2.y, ROLL)) { deltrap(trap); newsym(u.ux,u.uy); /* get rid of trap symbol */ ! /*JP pline("Fortunately for you, no boulder was released.");*/ ! pline("±¿¤Î¤è¤¤¤³¤È¤Ë´ä¤Ïž¤¬¤Ã¤Æ¤³¤Ê¤«¤Ã¤¿¡¥"); } break; *************** *** 858,864 **** if ((mtmp = m_at(bhitpos.x, bhitpos.y)) != 0) { if (otyp == BOULDER && throws_rocks(mtmp->data)) { if (rn2(3)) { ! pline("%s snatches the boulder.", Monnam(mtmp)); mpickobj(mtmp, singleobj); used_up = TRUE; --- 1004,1011 ---- if ((mtmp = m_at(bhitpos.x, bhitpos.y)) != 0) { if (otyp == BOULDER && throws_rocks(mtmp->data)) { if (rn2(3)) { ! /*JP pline("%s snatches the boulder.",*/ ! pline("%s¤Ï´ä¤ò¤â¤®¤È¤Ã¤¿¡¥", Monnam(mtmp)); mpickobj(mtmp, singleobj); used_up = TRUE; *************** *** 887,900 **** break; } } ! if (flooreffects(singleobj, bhitpos.x, bhitpos.y, "fall")) { used_up = TRUE; break; } } if (otyp == BOULDER && closed_door(bhitpos.x,bhitpos.y)) { if (cansee(bhitpos.x, bhitpos.y)) ! pline_The("boulder crashes through a door."); levl[bhitpos.x][bhitpos.y].doormask = D_BROKEN; } } --- 1034,1049 ---- break; } } ! /*JP if (flooreffects(singleobj, bhitpos.x, bhitpos.y, "fall")) {*/ ! if (flooreffects(singleobj, bhitpos.x, bhitpos.y, "Íî¤Á¤¿")) { used_up = TRUE; break; } } if (otyp == BOULDER && closed_door(bhitpos.x,bhitpos.y)) { if (cansee(bhitpos.x, bhitpos.y)) ! /*JP pline_The("boulder crashes through a door.");*/ ! pline("´ä¤ÏÈâ¤òÇ˲õ¤·¤¿¡¥"); levl[bhitpos.x][bhitpos.y].doormask = D_BROKEN; } } *************** *** 1027,1033 **** --- 1176,1185 ---- if (!rn2(2)) { mtmp->mtrapped = 0; if (canseemon(mtmp)) + /*JP pline("%s pulls free...", Monnam(mtmp)); + */ + pline("%s¤Ï½õ¤±¾å¤²¤é¤ì¤¿¡¥", Monnam(mtmp)); fill_pit(mtmp->mx, mtmp->my); } } else { *************** *** 1035,1041 **** --- 1187,1196 ---- } } else if (trap->ttyp == BEAR_TRAP && metallivorous(mptr)) { if (canseemon(mtmp)) + /*JP pline("%s eats a bear trap!", Monnam(mtmp)); + */ + pline("%s¤Ï·§¤Î櫤ò¿©¤Ù¤¿¡ª", Monnam(mtmp)); deltrap(trap); mtmp->meating = 5; mtmp->mtrapped = 0; *************** *** 1088,1097 **** if(is_flyer(mptr)) break; /* stepped on a squeaky board */ if (in_sight) { ! pline("A board beneath %s squeaks loudly.", mon_nam(mtmp)); seetrap(trap); } else ! You_hear("a distant squeak."); /* wake up nearby monsters */ wake_nearto(mtmp->mx, mtmp->my, 40); break; --- 1243,1254 ---- if(is_flyer(mptr)) break; /* stepped on a squeaky board */ if (in_sight) { ! /*JP pline("A board beneath %s squeaks loudly.", mon_nam(mtmp));*/ ! pline("%s¤Î­¸µ¤ÎÈĤ¬Â礭¤¯¤­¤·¤ó¤À¡¥", mon_nam(mtmp)); seetrap(trap); } else ! /*JP You_hear("a distant squeak.");*/ ! You_hear("±ó¤¯¤Ç¤­¤·¤à²»¤òʹ¤¤¤¿¡¥"); /* wake up nearby monsters */ wake_nearto(mtmp->mx, mtmp->my, 40); break; *************** *** 1102,1115 **** !is_whirly(mptr) && !unsolid(mptr)) { mtmp->mtrapped = 1; if(in_sight) { ! pline("%s is caught in %s bear trap!", ! Monnam(mtmp), a_your[trap->madeby_u]); seetrap(trap); } else { if((mptr == &mons[PM_OWLBEAR] || mptr == &mons[PM_BUGBEAR]) && flags.soundok) ! You_hear("the roaring of an angry bear!"); } } break; --- 1259,1275 ---- !is_whirly(mptr) && !unsolid(mptr)) { mtmp->mtrapped = 1; if(in_sight) { ! /*JP pline("%s is caught in %s bear trap!", ! Monnam(mtmp), a_your[trap->madeby_u]);*/ ! pline("%s¤Ï%s·§¤Î櫤ˤĤ«¤Þ¤Ã¤¿¡ª", ! Monnam(mtmp), set_you[trap->madeby_u]); seetrap(trap); } else { if((mptr == &mons[PM_OWLBEAR] || mptr == &mons[PM_BUGBEAR]) && flags.soundok) ! /*JP You_hear("the roaring of an angry bear!");*/ ! You_hear("Åܤê¤ÎÒöÓ¬¤òʹ¤¤¤¿¡ª"); } } break; *************** *** 1120,1126 **** mtmp->mcanmove = 0; mtmp->mfrozen = rnd(25); if (in_sight) { ! pline("%s suddenly falls asleep!", Monnam(mtmp)); seetrap(trap); } --- 1280,1287 ---- mtmp->mcanmove = 0; mtmp->mfrozen = rnd(25); if (in_sight) { ! /*JP pline("%s suddenly falls asleep!",*/ ! pline("%s¤ÏÆÍÁ³Ì²¤ê¤ËÍî¤Á¤¿¡ª", Monnam(mtmp)); seetrap(trap); } *************** *** 1129,1143 **** case RUST_TRAP: if (in_sight) { ! pline("%s %s!", A_gush_of_water_hits, mon_nam(mtmp)); seetrap(trap); } if (mptr == &mons[PM_IRON_GOLEM]) { if (in_sight) ! pline("%s falls to pieces!", Monnam(mtmp)); else if(mtmp->mtame) ! pline("May %s rust in peace.", mon_nam(mtmp)); mondied(mtmp); if (mtmp->mhp <= 0) --- 1290,1307 ---- case RUST_TRAP: if (in_sight) { ! /*JP pline("%s %s!", A_gush_of_water_hits,*/ ! pline("¿å¤¬Ê®½Ð¤·¤Æ¡¤%s¤ËÌ¿Ã椷¤¿¡ª", mon_nam(mtmp)); seetrap(trap); } if (mptr == &mons[PM_IRON_GOLEM]) { if (in_sight) ! /*JP pline("%s falls to pieces!", Monnam(mtmp));*/ ! pline("%s¤Ï¤¯¤À¤±¤Á¤Ã¤¿¡ª", Monnam(mtmp)); else if(mtmp->mtame) ! /*JP pline("May %s rust in peace.",*/ ! pline("%s¤è±Ê±ó¤ËÇËÊҤʤ졥", mon_nam(mtmp)); mondied(mtmp); if (mtmp->mhp <= 0) *************** *** 1148,1154 **** if (mtmp2) { mtmp2->mhpmax = (mtmp->mhpmax /= 2); if(in_sight) ! pline("%s multiplies.", Monnam(mtmp)); } } if (rn2(2)) --- 1312,1319 ---- if (mtmp2) { mtmp2->mhpmax = (mtmp->mhpmax /= 2); if(in_sight) ! /*JP pline("%s multiplies.", Monnam(mtmp));*/ ! pline("%s¤ÏʬÎö¤·¤¿¡¥", Monnam(mtmp)); } } if (rn2(2)) *************** *** 1160,1176 **** mfiretrap: see_it = cansee(mtmp->mx, mtmp->my); if (in_sight) ! pline("A %s erupts from the %s under %s!", tower_of_flame, ! surface(mtmp->mx,mtmp->my), mon_nam(mtmp)); else if (see_it) /* evidently `mtmp' is invisible */ ! You("see a %s erupt from the %s!", ! tower_of_flame, surface(mtmp->mx,mtmp->my)); if (resists_fire(mtmp)) { if (in_sight) { shieldeff(mtmp->mx,mtmp->my); ! pline("%s is uninjured.", Monnam(mtmp)); } } else { int num = d(2,4); --- 1325,1346 ---- mfiretrap: see_it = cansee(mtmp->mx, mtmp->my); if (in_sight) ! /*JP pline("A %s erupts from the %s under %s!", tower_of_flame, ! surface(mtmp->mx,mtmp->my), mon_nam(mtmp));*/ ! pline("²ÐÃ줬%s¤Î­¸µ¤Î%s¤«¤éΩ¤Á¤Î¤Ü¤Ã¤¿¡ª", ! mon_nam(mtmp), surface(mtmp->mx,mtmp->my)); else if (see_it) /* evidently `mtmp' is invisible */ ! /*JP You("see a %s erupt from the %s!", ! tower_of_flame, surface(mtmp->mx,mtmp->my));*/ ! You("²ÐÃ줬%s¤«¤éÀ¸¤¸¤ë¤Î¤ò¸«¤¿¡ª", ! surface(mtmp->mx,mtmp->my)); if (resists_fire(mtmp)) { if (in_sight) { shieldeff(mtmp->mx,mtmp->my); ! /*JP pline("%s is uninjured.", Monnam(mtmp));*/ ! pline("¤¬¡¤%s¤Ï½ý¤Ä¤«¤Ê¤¤¡¥", Monnam(mtmp)); } } else { int num = d(2,4); *************** *** 1187,1193 **** (void) destroy_mitem(mtmp, POTION_CLASS, AD_FIRE); if (burn_floor_paper(mtmp->mx, mtmp->my, see_it) && !see_it && distu(mtmp->mx, mtmp->my) <= 3*3) ! You("smell smoke."); if (is_ice(mtmp->mx,mtmp->my)) melt_ice(mtmp->mx,mtmp->my); if (see_it) seetrap(trap); --- 1357,1364 ---- (void) destroy_mitem(mtmp, POTION_CLASS, AD_FIRE); if (burn_floor_paper(mtmp->mx, mtmp->my, see_it) && !see_it && distu(mtmp->mx, mtmp->my) <= 3*3) ! /*JP You("smell smoke.");*/ ! pline("±ì¤ÎÆ÷¤¤¤¬¤·¤¿¡¥"); if (is_ice(mtmp->mx,mtmp->my)) melt_ice(mtmp->mx,mtmp->my); if (see_it) seetrap(trap); *************** *** 1201,1211 **** if (!passes_walls(mptr)) mtmp->mtrapped = 1; if(in_sight) { ! pline("%s falls into %s pit!", ! Monnam(mtmp), a_your[trap->madeby_u]); seetrap(trap); } ! mselftouch(mtmp, "Falling, ", FALSE); if(mtmp->mhp <= 0 || thitm(0, mtmp, (struct obj *)0, rnd((tt==PIT) ? 6 : 10))) --- 1372,1385 ---- if (!passes_walls(mptr)) mtmp->mtrapped = 1; if(in_sight) { ! /*JP pline("%s falls into %s pit!", ! Monnam(mtmp), a_your[trap->madeby_u]);*/ ! pline("%s¤Ï%sÍ·ê¤ËÍî¤Á¤¿¡ª", ! Monnam(mtmp), set_you[trap->madeby_u]); seetrap(trap); } ! /*JP mselftouch(mtmp, "Falling, ", FALSE);*/ ! mselftouch(mtmp, "Íî²¼Ã桤", FALSE); if(mtmp->mhp <= 0 || thitm(0, mtmp, (struct obj *)0, rnd((tt==PIT) ? 6 : 10))) *************** *** 1244,1262 **** mptr == &mons[PM_GELATINOUS_CUBE] || mptr == &mons[PM_FIRE_ELEMENTAL]) { if (in_sight) ! pline("%s %s %s spider web!", Monnam(mtmp), (mptr == &mons[PM_FIRE_ELEMENTAL]) ? "burns" : "dissolves", ! a_your[trap->madeby_u]); deltrap(trap); newsym(mtmp->mx, mtmp->my); break; } if (in_sight) { ! pline("%s flows through %s spider web.", Monnam(mtmp), ! a_your[trap->madeby_u]); seetrap(trap); } break; --- 1418,1444 ---- mptr == &mons[PM_GELATINOUS_CUBE] || mptr == &mons[PM_FIRE_ELEMENTAL]) { if (in_sight) ! /*JP pline("%s %s %s spider web!", Monnam(mtmp), (mptr == &mons[PM_FIRE_ELEMENTAL]) ? "burns" : "dissolves", ! a_your[trap->madeby_u]);*/ ! pline("%s%sÃØéá¤ÎÁã¤ò%s¡ª", ! Monnam(mtmp), ! web_you[trap->madeby_u], ! (mptr == &mons[PM_FIRE_ELEMENTAL]) ? ! "¾Æ¤¤¤¿" : "¤³¤Ê¤´¤Ê¤Ë¤·¤¿"); deltrap(trap); newsym(mtmp->mx, mtmp->my); break; } if (in_sight) { ! /*JP pline("%s flows through %s spider web.", ! Monnam(mtmp), ! a_your[trap->madeby_u]);*/ ! pline("%s¤Ï%sÃØéá¤ÎÁã¤ò¤¹¤ë¤ê¤ÈÄ̤êÈ´¤±¤¿¡¥", Monnam(mtmp), ! web_you[trap->madeby_u]); seetrap(trap); } break; *************** *** 1266,1272 **** case PM_OWLBEAR: /* Eric Backus */ case PM_BUGBEAR: if (!in_sight) { ! You_hear("the roaring of a confused bear!"); mtmp->mtrapped = 1; break; } --- 1448,1455 ---- case PM_OWLBEAR: /* Eric Backus */ case PM_BUGBEAR: if (!in_sight) { ! /*JP You_hear("the roaring of a confused bear!");*/ ! You_hear("º®Íð¤ÎÒöÓ¬¤òʹ¤¤¤¿¡ª"); mtmp->mtrapped = 1; break; } *************** *** 1278,1286 **** (mtmp->wormno && count_wsegs(mtmp) > 5)) { tear_web = TRUE; } else if (in_sight) { ! pline("%s is caught in %s spider web.", Monnam(mtmp), ! a_your[trap->madeby_u]); seetrap(trap); } mtmp->mtrapped = tear_web ? 0 : 1; --- 1461,1472 ---- (mtmp->wormno && count_wsegs(mtmp) > 5)) { tear_web = TRUE; } else if (in_sight) { ! /*JP pline("%s is caught in %s spider web.", ! Monnam(mtmp), ! a_your[trap->madeby_u]);*/ ! pline("%s¤Ï%sÃØéá¤ÎÁã¤Ë¤Ä¤«¤Þ¤Ã¤¿¡¥", Monnam(mtmp), ! web_you[trap->madeby_u]); seetrap(trap); } mtmp->mtrapped = tear_web ? 0 : 1; *************** *** 1299,1306 **** } if (tear_web) { if (in_sight) ! pline("%s tears through %s spider web!", ! Monnam(mtmp), a_your[trap->madeby_u]); deltrap(trap); newsym(mtmp->mx, mtmp->my); } --- 1485,1494 ---- } if (tear_web) { if (in_sight) ! /*JP pline("%s tears through %s spider web!", ! Monnam(mtmp), a_your[trap->madeby_u]);*/ ! pline("%s¤Ï%sÃØéá¤ÎÁã¤ò°ú¤­Îö¤¤¤¿¡ª", ! Monnam(mtmp), web_you[trap->madeby_u]); deltrap(trap); newsym(mtmp->mx, mtmp->my); } *************** *** 1322,1343 **** if(is_flyer(mptr)) { boolean already_seen = trap->tseen; if (in_sight && !already_seen) { ! pline("A trigger appears in a pile of soil below %s.", mon_nam(mtmp)); seetrap(trap); } if (rn2(3)) break; if (in_sight) { newsym(mtmp->mx, mtmp->my); ! pline_The("air currents set %s off!", ! already_seen ? "a land mine" : "it"); } } else if(in_sight) { newsym(mtmp->mx, mtmp->my); ! pline("KAABLAMM!!! %s triggers %s land mine!", ! Monnam(mtmp), a_your[trap->madeby_u]); } if (!in_sight) ! pline("Kaablamm! You hear an explosion in the distance!"); blow_up_landmine(trap); if(thitm(0, mtmp, (struct obj *)0, rnd(16))) trapkilled = TRUE; --- 1510,1536 ---- if(is_flyer(mptr)) { boolean already_seen = trap->tseen; if (in_sight && !already_seen) { ! /*JP pline("A trigger appears in a pile of soil below %s.", mon_nam(mtmp));*/ ! pline("%s¤Î­¸µ¤ÎÅڤλ³¤Ëµ¯Çú¥¹¥¤¥Ã¥Á¤¬¸½¤ï¤ì¤¿¡¥", mon_nam(mtmp)); seetrap(trap); } if (rn2(3)) break; if (in_sight) { newsym(mtmp->mx, mtmp->my); ! /*JP pline_The("air currents set %s off!", ! already_seen ? "a land mine" : "it");*/ ! pline("¶õµ¤¤Îή¤ì¤Ç¥¹¥¤¥Ã¥Á¤¬Æþ¤Ã¤¿¡ª"); } } else if(in_sight) { newsym(mtmp->mx, mtmp->my); ! /*JP pline("KAABLAMM!!! %s triggers %s land mine!", ! Monnam(mtmp), a_your[trap->madeby_u]);*/ ! pline("¤Á¤å¤É¡¼¤ó¡ª¡ª%s¤Ï%sÃÏÍë¤Îµ¯Çú¥¹¥¤¥Ã¥Á¤òƧ¤ó¤À¡ª", ! Monnam(mtmp), set_you[trap->madeby_u]); } if (!in_sight) ! /*JP pline("Kaablamm! You hear an explosion in the distance!");*/ ! pline("¤Á¤å¤É¡¼¤ó¡ª¤¢¤Ê¤¿¤Ï±óÊý¤ÎÇúȯ²»¤òʹ¤¤¤¿"); blow_up_landmine(trap); if(thitm(0, mtmp, (struct obj *)0, rnd(16))) trapkilled = TRUE; *************** *** 1347,1353 **** } if (unconscious()) { multi = -1; ! nomovemsg="The explosion awakens you!"; } break; --- 1540,1547 ---- } if (unconscious()) { multi = -1; ! /*JP nomovemsg="The explosion awakens you!";*/ ! nomovemsg="Çúȯ¤Ç¤¢¤Ê¤¿¤Ïµ¯¤­¤¿¡ª"; } break; *************** *** 1364,1379 **** --- 1558,1583 ---- if (!is_flyer(mptr)) { newsym(mtmp->mx,mtmp->my); if (in_sight) + /*JP pline("Click! %s triggers %s.", Monnam(mtmp), trap->tseen ? "a rolling boulder trap" : something); + */ + pline("¥«¥Á¥Ã¡ª%s¤Ï%s¤Î¥¹¥¤¥Ã¥Á¤òƧ¤ó¤À¡ª", Monnam(mtmp), + trap->tseen ? + "Íî´ä¤Îæ«" : "²¿¤«"); if (launch_obj(BOULDER, trap->launch.x, trap->launch.y, trap->launch2.x, trap->launch2.y, ROLL)) { if (in_sight) trap->tseen = TRUE; + /*JP else You_hear(Hallucination ? "someone bowling." : "rumbling in the distance."); + */ + else You_hear(Hallucination ? + "狼¤¬¥Ü¡¼¥ê¥ó¥°¤ò¤·¤Æ¤¤¤ë²»¤òʹ¤¤¤¿" : + "±ó¤¯¤Î¥´¥í¥´¥í¤È¤¤¤¦²»¤òʹ¤¤¤¿"); if (mtmp->mhp <= 0) trapkilled = TRUE; } else { deltrap(trap); *************** *** 1401,1407 **** if (resists_ston(&youmonst)) return; if (poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM)) return; ! You("turn to stone..."); killer_format = KILLED_BY; killer = str; done(STONING); --- 1605,1612 ---- if (resists_ston(&youmonst)) return; if (poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM)) return; ! /*JP You("turn to stone...");*/ ! You("Àв½¤·¤¿¡¥¡¥¡¥"); killer_format = KILLED_BY; killer = str; done(STONING); *************** *** 1414,1420 **** { if (resists_ston(mon)) return; if (cansee(mon->mx, mon->my)) ! pline("%s turns to stone.", Monnam(mon)); if (poly_when_stoned(mon->data)) { mon_to_stone(mon); return; --- 1619,1626 ---- { if (resists_ston(mon)) return; if (cansee(mon->mx, mon->my)) ! /*JP pline("%s turns to stone.", Monnam(mon));*/ ! pline("%s¤ÏÀв½¤·¤¿¡¥", Monnam(mon)); if (poly_when_stoned(mon->data)) { mon_to_stone(mon); return; *************** *** 1430,1437 **** const char *arg; { if (uwep && uwep->otyp == CORPSE && uwep->corpsenm == PM_COCKATRICE) { ! pline("%s touch the cockatrice corpse.", arg); ! instapetrify("cockatrice corpse"); } } --- 1636,1645 ---- const char *arg; { if (uwep && uwep->otyp == CORPSE && uwep->corpsenm == PM_COCKATRICE) { ! /*JP pline("%s touch the cockatrice corpse.", arg);*/ ! pline("%s¥³¥«¥È¥ê¥¹¤Î»àÂΤ˿¨¤Ã¤¿¡¥",arg); ! /*JP instapetrify("cockatrice corpse");*/ ! instapetrify("¥³¥«¥È¥ê¥¹¤Î»àÂΤ˿¨¤ì¤Æ"); } } *************** *** 1445,1452 **** if (mwep && mwep->otyp == CORPSE && mwep->corpsenm == PM_COCKATRICE) { if (cansee(mon->mx, mon->my)) { ! pline("%s%s touches the cockatrice corpse.", ! arg ? arg : "", arg ? mon_nam(mon) : Monnam(mon)); } minstapetrify(mon, byplayer); } --- 1653,1662 ---- if (mwep && mwep->otyp == CORPSE && mwep->corpsenm == PM_COCKATRICE) { if (cansee(mon->mx, mon->my)) { ! /*JP pline("%s%s touches the cockatrice corpse.", ! arg ? arg : "", arg ? mon_nam(mon) : Monnam(mon));*/ ! pline("%s%s¤Ï¥³¥«¥È¥ê¥¹¤Î»àÂΤ˿¨¤Ã¤¿¡¥", ! arg ? arg : "", mon_nam(mon)); } minstapetrify(mon, byplayer); } *************** *** 1458,1491 **** if(u.utrap) { if(u.utraptype == TT_PIT) { u.utrap = 0; ! You("float up, out of the pit!"); vision_full_recalc = 1; /* vision limits change */ fill_pit(u.ux, u.uy); } else if (u.utraptype == TT_INFLOOR) { ! Your("body pulls upward, but your %s are still stuck.", makeplural(body_part(LEG))); } else { ! You("float up, only your %s is still stuck.", body_part(LEG)); } } else if(Is_waterlevel(&u.uz)) ! pline("It feels as though you'd lost some weight."); else if(u.uinwater) spoteffects(); else if(u.uswallow) ! You(is_animal(u.ustuck->data) ? "float away from the %s." : "spiral up into %s.", is_animal(u.ustuck->data) ? surface(u.ux, u.uy) : mon_nam(u.ustuck)); else if (Hallucination) ! pline("Up, up, and awaaaay! You're walking on air!"); else if(Is_airlevel(&u.uz)) ! You("gain control over your movements."); else ! You("start to float in the air!"); } void --- 1668,1714 ---- if(u.utrap) { if(u.utraptype == TT_PIT) { u.utrap = 0; ! /*JP You("float up, out of the pit!");*/ ! You("Í·ê¤«¤éÉ⤭½Ð¤¿¡ª"); vision_full_recalc = 1; /* vision limits change */ fill_pit(u.ux, u.uy); } else if (u.utraptype == TT_INFLOOR) { ! /*JP Your("body pulls upward, but your %s are still stuck.",*/ ! Your("ÂΤϰú¤­¾å¤²¤é¤ì¤¿¡¥¤·¤«¤·%s¤Ï¤Þ¤À¤Ï¤Þ¤Ã¤Æ¤¤¤ë¡¥", makeplural(body_part(LEG))); } else { ! /*JP You("float up, only your %s is still stuck.",*/ ! You("É⤭½Ð¤¿¡¥%s¤À¤±¤¬¤Ï¤Þ¤Ã¤Æ¤¤¤ë", body_part(LEG)); } } else if(Is_waterlevel(&u.uz)) ! /*JP pline("It feels as though you'd lost some weight.");*/ ! You("¤Þ¤ë¤ÇÂνŤ¬¸º¤Ã¤¿¤è¤¦¤Ë´¶¤¸¤¿¡¥"); else if(u.uinwater) spoteffects(); else if(u.uswallow) ! /*JP You(is_animal(u.ustuck->data) ? "float away from the %s." : "spiral up into %s.", is_animal(u.ustuck->data) ? surface(u.ux, u.uy) : + mon_nam(u.ustuck));*/ + You(is_animal(u.ustuck->data) ? + "%s¤ÎÃæ¤ÇÉ⤤¤¿¡¥" : + "%s¤ÎÃæ¤Ç¤°¤ë¤°¤ë²óž¤·¤¿¡¥", + is_animal(u.ustuck->data) ? + surface(u.ux, u.uy) : mon_nam(u.ustuck)); else if (Hallucination) ! /*JP pline("Up, up, and awaaaay! You're walking on air!");*/ ! pline("¾å¤ì¡¤¾å¤ì¡¤¾å¤ì¤§¤§¤§¤§¡ª¤¢¤Ê¤¿¤Ï¶õÃæ¤òÊ⤤¤Æ¤¤¤ë¡ª"); else if(Is_airlevel(&u.uz)) ! /*JP You("gain control over your movements.");*/ ! You("¤¦¤Þ¤¯Ê⤱¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥"); else ! /*JP You("start to float in the air!");*/ ! You("¶õÃæ¤ËÉ⤭¤Ï¤¸¤á¤¿¡ª"); } void *************** *** 1499,1505 **** ((t->ttyp == PIT) || (t->ttyp == SPIKED_PIT)) && (otmp = sobj_at(BOULDER, x, y))) { obj_extract_self(otmp); ! (void) flooreffects(otmp, x, y, "settle"); } } --- 1722,1729 ---- ((t->ttyp == PIT) || (t->ttyp == SPIKED_PIT)) && (otmp = sobj_at(BOULDER, x, y))) { obj_extract_self(otmp); ! /*JP (void) flooreffects(otmp, x, y, "settle");*/ ! (void) flooreffects(otmp, x, y, "¤Ï¤Þ¤Ã¤¿"); } } *************** *** 1547,1563 **** } if (!trap) { if(Is_airlevel(&u.uz)) ! You("begin to tumble in place."); else if (Is_waterlevel(&u.uz) && !no_msg) ! You_feel("heavier."); /* u.uinwater msgs already in spoteffects()/drown() */ else if (!u.uinwater && !no_msg) { if (Hallucination) ! pline("Bummer! You've %s.", is_pool(u.ux,u.uy) ? ! "splashed down" : "hit the ground"); else ! You("float gently to the %s.", surface(u.ux, u.uy)); } trap = t_at(u.ux,u.uy); --- 1771,1793 ---- } if (!trap) { if(Is_airlevel(&u.uz)) ! /*JP You("begin to tumble in place.");*/ ! You("¤½¤Î¾ì¤ÇžÍ¤Ï¤¸¤á¤¿¡¥"); else if (Is_waterlevel(&u.uz) && !no_msg) ! /*JP You_feel("heavier.");*/ ! You("½Å¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); /* u.uinwater msgs already in spoteffects()/drown() */ else if (!u.uinwater && !no_msg) { if (Hallucination) ! /*JP pline("Bummer! You've %s.", is_pool(u.ux,u.uy) ? ! "splashed down" : "hit the ground");*/ ! pline("¤ä¤á¤Æ¤§¡ª¤¢¤Ê¤¿¤Ï%s¡¥", ! is_pool(u.ux,u.uy) ? ! "¥¶¥Ö¥ó¤ÈÍî¤Á¤¿" : "ÃÏÌ̤ˤ¿¤¿¤­¤Ä¤±¤é¤ì¤¿"); else ! /*JP You("float gently to the %s.",*/ ! You("ÀŤ«¤Ë%s¤Þ¤Çé¤ê¤Ä¤¤¤¿¡¥", surface(u.ux, u.uy)); } trap = t_at(u.ux,u.uy); *************** *** 1600,1614 **** */ if ((box && !carried(box)) ? is_pool(box->ox, box->oy) : Underwater) { ! pline("A cascade of steamy bubbles erupts from %s!", ! the(box ? xname(box) : surface(u.ux,u.uy))); ! if (Fire_resistance) You("are uninjured."); ! else losehp(rnd(3), "boiling water", KILLED_BY); return; } ! pline("A %s %s from %s!", tower_of_flame, box ? "bursts" : "erupts", ! the(box ? xname(box) : surface(u.ux,u.uy))); if (Fire_resistance) { shieldeff(u.ux, u.uy); num = rn2(2); --- 1830,1851 ---- */ if ((box && !carried(box)) ? is_pool(box->ox, box->oy) : Underwater) { ! /*JP pline("A cascade of steamy bubbles erupts from %s!", ! the(box ? xname(box) : surface(u.ux,u.uy)));*/ ! pline("¾øµ¤¤ÎË¢¤¬%s¤«¤é¤·¤å¡¼¤Ã¤ÈȯÀ¸¤·¤¿¡ª", ! box ? xname(box) : surface(u.ux,u.uy)); ! /*JP if (Fire_resistance) You("are uninjured.");*/ ! if (Fire_resistance) You("½ý¤Ä¤«¤Ê¤¤¡¥"); ! /*JP else losehp(rnd(3), "boiling water", KILLED_BY);*/ ! else losehp(rnd(3), "ʨƭ¤·¤¿¿å¤Ç", KILLED_BY); return; } ! /*JP pline("A %s %s from %s!", tower_of_flame, box ? "bursts" : "erupts", ! the(box ? xname(box) : surface(u.ux,u.uy)));*/ ! pline("²ÐÃ줬%s¤«¤é%s¡ª", ! box ? xname(box) : surface(u.ux,u.uy), ! box ? "¿á¤­½Ð¤·¤¿" : "Ω¤Á¤Î¤Ü¤Ã¤¿"); if (Fire_resistance) { shieldeff(u.ux, u.uy); num = rn2(2); *************** *** 1618,1626 **** u.uhpmax -= rn2(min(u.uhpmax,num + 1)), flags.botl = 1; } if (!num) ! You("are uninjured."); else ! losehp(num, tower_of_flame, KILLED_BY_AN); if (burnarmor() || rn2(3)) { destroy_item(SCROLL_CLASS, AD_FIRE); --- 1855,1864 ---- u.uhpmax -= rn2(min(u.uhpmax,num + 1)), flags.botl = 1; } if (!num) ! /*JP You("are uninjured.");*/ ! You("½ý¤Ä¤«¤Ê¤¤¡¥"); else ! losehp(num, "²ÐÃì¤Ç", KILLED_BY_AN); if (burnarmor() || rn2(3)) { destroy_item(SCROLL_CLASS, AD_FIRE); *************** *** 1628,1634 **** destroy_item(POTION_CLASS, AD_FIRE); } if (!box && burn_floor_paper(u.ux, u.uy, see_it) && !see_it) ! You("smell paper burning."); if (is_ice(u.ux, u.uy)) melt_ice(u.ux, u.uy); } --- 1866,1873 ---- destroy_item(POTION_CLASS, AD_FIRE); } if (!box && burn_floor_paper(u.ux, u.uy, see_it) && !see_it) ! /*JP You("smell paper burning.");*/ ! You("»æ¤Î¤³¤²¤ëÆ÷¤¤¤¬¤·¤¿¡¥"); if (is_ice(u.ux, u.uy)) melt_ice(u.ux, u.uy); } *************** *** 1645,1656 **** register int cnt = rnd(4); if (!resists_blnd(&youmonst)) { ! You("are momentarily blinded by a flash of light!"); make_blinded((long)rn1(5,10),FALSE); } else if (!Blind) { ! You("see a flash of light!"); } else ! You_hear("a deafening roar!"); while(cnt--) (void) makemon((struct permonst *) 0, u.ux, u.uy, NO_MM_FLAGS); } --- 1884,1898 ---- register int cnt = rnd(4); if (!resists_blnd(&youmonst)) { ! /*JP You("are momentarily blinded by a flash of light!");*/ ! You("¤Þ¤Ð¤æ¤¤¸÷¤Ç°ì½ÖÌܤ¬¤¯¤é¤ó¤À¡ª"); make_blinded((long)rn1(5,10),FALSE); } else if (!Blind) { ! /*JP You("see a flash of light!");*/ ! You("¤Þ¤Ð¤æ¤¤¸÷¤òÍá¤Ó¤¿¡ª"); } else ! /*JP You_hear("a deafening roar!");*/ ! You_hear("¼ª¤ò¤Ä¤ó¤¶¤¯¤è¤¦¤ÊÒöÓ¬¤òʹ¤¤¤¿¡ª"); while(cnt--) (void) makemon((struct permonst *) 0, u.ux, u.uy, NO_MM_FLAGS); } *************** *** 1666,1696 **** break; /* odd feelings */ ! case 13: pline("A shiver runs up and down your %s!", body_part(SPINE)); break; ! case 14: You_hear(Hallucination ? "the moon howling at you." : ! "distant howling."); break; case 15: if (on_level(&u.uz, &qstart_level)) ! You_feel("%slike the prodigal son.", (flags.female || (Upolyd && is_neuter(uasmon))) ? ! "oddly " : ""); else ! You("suddenly yearn for %s.", Hallucination ? "Cleveland" : (In_quest(&u.uz) || at_dgn_entrance("The Quest")) ? "your nearby homeland" : ! "your distant homeland"); break; ! case 16: Your("pack shakes violently!"); break; case 17: You(Hallucination ? ! "smell hamburgers." : ! "smell charred flesh."); break; ! case 18: You_feel("tired."); break; /* very occasionally something nice happens. */ --- 1908,1955 ---- break; /* odd feelings */ ! /*JP case 13: pline("A shiver runs up and down your %s!",*/ ! case 13: pline("¿Ì¤¨¤¬¤¢¤Ê¤¿¤Î%s¤òÁö¤Ã¤¿¡ª", body_part(SPINE)); break; ! /*JP case 14: You_hear(Hallucination ? "the moon howling at you." : ! "distant howling.");*/ ! case 14: You_hear(Hallucination ? ! "¤Õ¤Ë¤ã¡©·î¤¬Ëʤ¨¤Æ¤¤¤ë¡¥" : ! "±óÊý¤Î±óËʤòʹ¤¤¤¿¡¥"); break; case 15: if (on_level(&u.uz, &qstart_level)) ! /*JP You_feel("%slike the prodigal son.", (flags.female || (Upolyd && is_neuter(uasmon))) ? ! "oddly " : "");*/ ! You_feel("%s²ù¤¤²þ¤á¤¿ºá¿Í¤ò¹¥¤­¤Ë¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥", ! (flags.female || (Upolyd && is_neuter(uasmon))) ? ! "°Û¾ï¤Ë" : ""); else ! /*JP You("suddenly yearn for %s.", Hallucination ? "Cleveland" : (In_quest(&u.uz) || at_dgn_entrance("The Quest")) ? "your nearby homeland" : ! "your distant homeland");*/ ! You("ÆÍÁ³%s¤¬Îø¤·¤¯¤Ê¤Ã¤¿¡¥", ! Hallucination ? "ÀÄ¿¹" : ! (In_quest(&u.uz) || at_dgn_entrance("The Quest")) ? ! "¤¹¤°¤½¤³¤Ë¤¢¤ë¸Î¶¿" : ! "¤Ï¤ë¤«¤«¤Ê¤¿¤Î¸Î¶¿"); ! break; ! /*JP case 16: Your("pack shakes violently!");*/ ! case 16: Your("ÂޤϷ㤷¤¯Íɤ줿¡ª"); break; case 17: You(Hallucination ? ! /*JP "smell hamburgers." : ! "smell charred flesh.");*/ ! "¥Ï¥ó¥Ð¡¼¥¬¡¼¤ÎÆ÷¤¤¤¬¤·¤¿¡¥" : ! "¹õ¾Ç¤²¤ÎÆù¤ÎÆ÷¤¤¤¬¤·¤¿¡¥"); break; ! /*JP case 18: You_feel("tired.");*/ ! case 18: You("Èè¤ì¤ò´¶¤¸¤¿¡¥"); break; /* very occasionally something nice happens. */ *************** *** 1715,1723 **** { register struct obj *obj; /* below plines added by GAN 10/30/86 */ ! You_feel(Hallucination ? "in touch with the Universal Oneness." : ! "like someone is helping you."); for(obj = invent; obj ; obj = obj->nobj) if(obj->owornmask || obj->otyp == LOADSTONE) uncurse(obj); --- 1974,1985 ---- { register struct obj *obj; /* below plines added by GAN 10/30/86 */ ! /*JP You_feel(Hallucination ? "in touch with the Universal Oneness." : ! "like someone is helping you.");*/ ! You(Hallucination ? ! "±§Ã踶Íý¤ÎĴϤ˿¨¤ì¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥": ! "狼¤¬¤¢¤Ê¤¿¤ò½õ¤±¤Æ¤¯¤ì¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); for(obj = invent; obj ; obj = obj->nobj) if(obj->owornmask || obj->otyp == LOADSTONE) uncurse(obj); *************** *** 1760,1766 **** obj->spe = 0; } else if (obj->oclass == SPBOOK_CLASS) { if (obj->otyp == SPE_BOOK_OF_THE_DEAD) ! pline("Steam rises from %s.", the(xname(obj))); else obj->otyp = SPE_BLANK_PAPER; } else if (obj->oclass == POTION_CLASS) { if (obj->odiluted) { --- 2022,2029 ---- obj->spe = 0; } else if (obj->oclass == SPBOOK_CLASS) { if (obj->otyp == SPE_BOOK_OF_THE_DEAD) ! /*JP pline("Steam rises from %s.", the(xname(obj)));*/ ! pline("¾øµ¤¤¬%s¤«¤éΩ¤Á¤Î¤Ü¤Ã¤¿¡¥", the(xname(obj))); else obj->otyp = SPE_BLANK_PAPER; } else if (obj->oclass == POTION_CLASS) { if (obj->odiluted) { *************** *** 1851,1863 **** } if (!u.uinwater) { ! You("%s into the water%c", Is_waterlevel(&u.uz) ? "plunge" : "fall", ! Amphibious ? '.' : '!'); if(!is_swimmer(uasmon)) if (!Is_waterlevel(&u.uz)) ! You("sink like %s.", ! Hallucination ? "the Titanic" : "a rock"); } water_damage(invent, FALSE, FALSE); --- 2114,2131 ---- } if (!u.uinwater) { ! /*JP You("%s into the water%c", Is_waterlevel(&u.uz) ? "plunge" : "fall", ! Amphibious ? '.' : '!');*/ ! You("¿å¤ÎÃæ¤Ë%s%s", ! Is_waterlevel(&u.uz) ? "Èô¤Ó¤³¤ó¤À" : "Íî¤Á¤¿", ! Amphibious ? "¡¥" : "¡ª"); if(!is_swimmer(uasmon)) if (!Is_waterlevel(&u.uz)) ! /*JP You("sink like %s.", ! Hallucination ? "the Titanic" : "a rock");*/ ! You("%s¤Î¤è¤¦¤ËÄÀ¤ó¤À¡¥", ! Hallucination ? "¥¿¥¤¥¿¥Ë¥Ã¥¯¹æ" : "´ä"); } water_damage(invent, FALSE, FALSE); *************** *** 1866,1892 **** struct monst *mtmp; if ((mtmp = cloneu()) != 0) { mtmp->mhpmax = (u.mhmax /= 2); ! You("multiply."); } } if (inpool_ok) return(FALSE); if ((i = number_leashed()) > 0) { ! pline_The("leash%s slip%s loose.", (i > 1) ? "es" : "", ! (i > 1) ? "" : "s"); unleash_all(); } if (Amphibious || is_swimmer(uasmon)) { if (Amphibious) { if (flags.verbose) ! pline("But you aren't drowning."); if (!Is_waterlevel(&u.uz)) if (Hallucination) ! Your("keel hits the bottom."); else ! You("touch bottom."); } if (Punished) { unplacebc(); --- 2134,2165 ---- struct monst *mtmp; if ((mtmp = cloneu()) != 0) { mtmp->mhpmax = (u.mhmax /= 2); ! /*JP You("multiply.");*/ ! You("ʬÎö¤·¤¿¡¥"); } } if (inpool_ok) return(FALSE); if ((i = number_leashed()) > 0) { ! /*JP pline_The("leash%s slip%s loose.", (i > 1) ? "es" : "", ! (i > 1) ? "" : "s");*/ ! pline("ɳ¤¬¤æ¤ë¤ó¤À"); unleash_all(); } if (Amphibious || is_swimmer(uasmon)) { if (Amphibious) { if (flags.verbose) ! /*JP pline("But you aren't drowning.");*/ ! pline("¤·¤«¤·¡¤¤¢¤Ê¤¿¤ÏÅ®¤ì¤Ê¤«¤Ã¤¿¡¥"); if (!Is_waterlevel(&u.uz)) if (Hallucination) ! /*JP Your("keel hits the bottom.");*/ ! You("Äì¤Ë¥Ë¡¼¥É¥í¥Ã¥×¤ò·è¤á¤¿¡¥"); else ! /*JP You("touch bottom.");*/ ! You("Äì¤Ë¤Ä¤¤¤¿¡¥"); } if (Punished) { unplacebc(); *************** *** 1900,1906 **** } if((Teleportation || can_teleport(uasmon)) && (Teleport_control || rn2(3) < Luck+2)) { ! You("attempt a teleport spell."); /* utcsri!carroll */ (void) dotele(); if(!is_pool(u.ux,u.uy)) return(TRUE); --- 2173,2180 ---- } if((Teleportation || can_teleport(uasmon)) && (Teleport_control || rn2(3) < Luck+2)) { ! /*JP You("attempt a teleport spell."); /* utcsri!carroll */ ! You("½Ö´Ö°ÜÆ°¤ÎËâË¡¤ò¾§¤¨¤è¤¦¤È¤·¤¿¡¥"); /* utcsri!carroll */ (void) dotele(); if(!is_pool(u.ux,u.uy)) return(TRUE); *************** *** 1931,1961 **** boolean succ = Is_waterlevel(&u.uz) ? TRUE : emergency_disrobe(&lost); ! You("try to crawl out of the water."); if (lost) ! You("dump some of your gear to lose weight..."); if (succ) { ! pline("Pheew! That was close."); teleds(x,y); return(TRUE); } /* still too much weight */ ! pline("But in vain."); } u.uinwater = 1; ! You("drown."); killer_format = KILLED_BY_AN; killer = (levl[u.ux][u.uy].typ == POOL || Is_medusa_level(&u.uz)) ? ! "pool of water" : "moat"; done(DROWNING); /* oops, we're still alive. better get out of the water. */ while (!safe_teleds()) { ! pline("You're still drowning."); done(DROWNING); } u.uinwater = 0; ! You("find yourself back %s.", Is_waterlevel(&u.uz) ? ! "in an air bubble" : "on land"); return(TRUE); } --- 2205,2244 ---- boolean succ = Is_waterlevel(&u.uz) ? TRUE : emergency_disrobe(&lost); ! /*JP You("try to crawl out of the water.");*/ ! You("¿å¤«¤é¤Ï¤¤¤¢¤¬¤í¤¦¤È¤·¤¿¡¥"); if (lost) ! /*JP You("dump some of your gear to lose weight...");*/ ! You("ÂΤò·Ú¤¯¤¹¤ë¤¿¤á¤¤¤¯¤Ä¤«Êª¤òÅꤲ¤¹¤Æ¤¿¡¥¡¥¡¥"); if (succ) { ! /*JP pline("Pheew! That was close.");*/ ! pline("¥Ï¥¡¥Ï¥¡¡ª¤è¤«¤Ã¤¿¡¥"); teleds(x,y); return(TRUE); } /* still too much weight */ ! /*JP pline("But in vain.");*/ ! pline("¤¬¡¤ÌµÂ̤À¤Ã¤¿¡¥"); } u.uinwater = 1; ! /*JP You("drown.");*/ ! You("Å®¤ì¤¿¡¥"); killer_format = KILLED_BY_AN; killer = (levl[u.ux][u.uy].typ == POOL || Is_medusa_level(&u.uz)) ? ! /*JP "pool of water" : "moat";*/ ! "¿å¤¿¤Þ¤ê¤Ç" : "ËÙ¤Ç"; done(DROWNING); /* oops, we're still alive. better get out of the water. */ while (!safe_teleds()) { ! /*JP pline("You're still drowning.");*/ ! You("Å®¤ì¤Æ¤¤¤ë¡¥"); done(DROWNING); } u.uinwater = 0; ! /*JP You("find yourself back %s.", Is_waterlevel(&u.uz) ? ! "in an air bubble" : "on land");*/ ! You("¤¤¤Ä¤Î¤Þ¤Ë¤«%s¤Ë¤¤¤ë¤Î¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥", Is_waterlevel(&u.uz) ? ! "¶õµ¤¤ÎË¢¤ÎÃæ" : "ÃÏÌÌ"); return(TRUE); } *************** *** 1964,1970 **** register int n; { if (!u.uenmax) return; ! You_feel("your magical energy drain away!"); u.uen -= n; if(u.uen < 0) { u.uenmax += u.uen; --- 2247,2254 ---- register int n; { if (!u.uenmax) return; ! /*JP You_feel("your magical energy drain away!");*/ ! You("ËâË¡¤Î¥¨¥Í¥ë¥®¡¼¤¬µÛ¤¤¤È¤é¤ì¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡ª"); u.uen -= n; if(u.uen < 0) { u.uenmax += u.uen; *************** *** 1978,1996 **** dountrap() /* disarm a trap */ { if (near_capacity() >= HVY_ENCUMBER) { ! pline("You're too strained to do that."); return 0; } if (nohands(uasmon) || !uasmon->mmove) { ! pline("And just how do you expect to do that?"); return 0; } else if (u.ustuck && sticks(uasmon)) { ! pline("You'll have to let go of %s first.", mon_nam(u.ustuck)); return 0; } if (u.ustuck || (welded(uwep) && bimanual(uwep))) { ! Your("%s seem to be too busy for that.", ! makeplural(body_part(HAND))); return 0; } return untrap(FALSE); --- 2262,2284 ---- dountrap() /* disarm a trap */ { if (near_capacity() >= HVY_ENCUMBER) { ! /*JP pline("You're too strained to do that.");*/ ! pline("櫤ò²ò½ü¤·¤è¤¦¤Ë¤âʪ¤ò»ý¤Á¤¹¤®¤Æ¤¤¤ë¡¥"); return 0; } if (nohands(uasmon) || !uasmon->mmove) { ! /*JP pline("And just how do you expect to do that?");*/ ! pline("¤¤¤Ã¤¿¤¤²¿¤ò´üÂÔ¤·¤Æ¤¤¤ë¤ó¤À¤¤¡©"); return 0; } else if (u.ustuck && sticks(uasmon)) { ! /*JP pline("You'll have to let go of %s first.", mon_nam(u.ustuck));*/ ! pline("%s¤ò¼êÎ¥¤µ¤Ê¤¤¤³¤È¤Ë¤Ï¤Ç¤­¤Ê¤¤¡¥", mon_nam(u.ustuck)); return 0; } if (u.ustuck || (welded(uwep) && bimanual(uwep))) { ! /*JP Your("%s seem to be too busy for that.", ! makeplural(body_part(HAND)));*/ ! Your("¤½¤ó¤Ê¤³¤È¤ò¤¹¤ë;͵¤Ê¤ó¤Æ¤Ê¤¤¡¥"); return 0; } return untrap(FALSE); *************** *** 2074,2099 **** /* Test for monster first, monsters are displayed instead of trap. */ if (mtmp && (!mtmp->mtrapped || ttype != BEAR_TRAP)) { ! pline("%s is in the way.", Monnam(mtmp)); return 0; } /* We might be forced to move onto the trap's location. */ if (sobj_at(BOULDER, ttmp->tx, ttmp->ty) && !passes_walls(uasmon) && !under_u) { ! pline("There is a boulder in your way."); return 0; } /* untrappable traps are located on the ground. */ if (!can_reach_floor()) { ! You("are unable to reach the %s!", ! defsyms[trap_to_defsym(ttype)].explanation); return 0; } /* Will our hero succeed? */ if (force_failure || untrap_prob(ttmp)) { if (rnl(5)) { ! pline("Whoops..."); if (mtmp) { /* must be a bear trap */ if (mtmp->mtame) abuse_dog(mtmp); if ((mtmp->mhp -= rnd(4)) <= 0) killed(mtmp); --- 2362,2391 ---- /* Test for monster first, monsters are displayed instead of trap. */ if (mtmp && (!mtmp->mtrapped || ttype != BEAR_TRAP)) { ! /*JP pline("%s is in the way.", Monnam(mtmp));*/ ! pline("¤½¤³¤Ë¤Ï%s¤¬¤¤¤ë¡¥", Monnam(mtmp)); return 0; } /* We might be forced to move onto the trap's location. */ if (sobj_at(BOULDER, ttmp->tx, ttmp->ty) && !passes_walls(uasmon) && !under_u) { ! /*JP pline("There is a boulder in your way.");*/ ! pline("¤½¤³¤Ë¤Ï´ä¤¬¤¢¤ë¡¥"); return 0; } /* untrappable traps are located on the ground. */ if (!can_reach_floor()) { ! /*JP You("are unable to reach the %s!",*/ ! You("%s¤ËÆϤ«¤Ê¤¤¡ª", ! jtrns_obj('^', defsyms[trap_to_defsym(ttype)].explanation)); return 0; } /* Will our hero succeed? */ if (force_failure || untrap_prob(ttmp)) { if (rnl(5)) { ! /*JP pline("Whoops...");*/ ! pline("¤¦¤ï¤Ã¡¥¡¥¡¥"); if (mtmp) { /* must be a bear trap */ if (mtmp->mtame) abuse_dog(mtmp); if ((mtmp->mhp -= rnd(4)) <= 0) killed(mtmp); *************** *** 2103,2111 **** move_into_trap(ttmp); } } else { ! pline("%s %s is difficult to disarm.", ! ttmp->madeby_u ? "Your" : under_u ? "This" : "That", ! defsyms[trap_to_defsym(ttype)].explanation); } return 1; } --- 2395,2404 ---- move_into_trap(ttmp); } } else { ! /*JP pline("%s %s is difficult to disarm.",*/ ! pline("%s%s¤ò²ò½ü¤¹¤ë¤Î¤Ïº¤Æñ¤À¡¥", ! ttmp->madeby_u ? "¤¢¤Ê¤¿¤Î»Å³Ý¤±¤¿" : under_u ? "¤³¤Î" : "¤½¤Î", ! jtrns_obj('^', defsyms[trap_to_defsym(ttype)].explanation)); } return 1; } *************** *** 2121,2133 **** if (rnl(10)<8 && !mtmp->mpeaceful && mtmp->data->mlet != S_HUMAN) { mtmp->mpeaceful = 1; ! pline("%s is grateful.", Monnam(mtmp)); } /* Helping someone out of a trap is a nice thing to do, * A lawful may be rewarded, but not too often. */ if (!rn2(3) && !rnl(8) && u.ualign.type == A_LAWFUL) { adjalign(1); ! You_feel("that you did the right thing."); } } } --- 2414,2428 ---- if (rnl(10)<8 && !mtmp->mpeaceful && mtmp->data->mlet != S_HUMAN) { mtmp->mpeaceful = 1; ! /*JP pline("%s is grateful.", Monnam(mtmp));*/ ! pline("%s¤Ï´î¤ó¤Ç¤¤¤ë¡¥", Monnam(mtmp)); } /* Helping someone out of a trap is a nice thing to do, * A lawful may be rewarded, but not too often. */ if (!rn2(3) && !rnl(8) && u.ualign.type == A_LAWFUL) { adjalign(1); ! /*JP You_feel("that you did the right thing.");*/ ! You("Àµ¤·¤¤¤³¤È¤ò¤·¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); } } } *************** *** 2147,2156 **** There's no need for a cockatrice test, only the trap is touched */ if ((mtmp = m_at(ttmp->tx,ttmp->ty)) != 0) { mtmp->mtrapped = 0; ! You("remove %s bear trap from %s.", the_your[ttmp->madeby_u], mon_nam(mtmp)); reward_untrap(ttmp, mtmp); ! } else You("disarm %s bear trap.", the_your[ttmp->madeby_u]); cnv_trap_obj(BEARTRAP, 1, ttmp); return 1; } --- 2442,2454 ---- There's no need for a cockatrice test, only the trap is touched */ if ((mtmp = m_at(ttmp->tx,ttmp->ty)) != 0) { mtmp->mtrapped = 0; ! /*JP You("remove %s bear trap from %s.", the_your[ttmp->madeby_u], ! mon_nam(mtmp));*/ ! You("%s·§¤Î櫤ò%s¤«¤é¤Ï¤º¤·¤¿", set_you[ttmp->madeby_u], mon_nam(mtmp)); reward_untrap(ttmp, mtmp); ! /*JP } else You("disarm %s bear trap.", the_your[ttmp->madeby_u]);*/ ! } else You("%s·§¤Î櫤ò¤Ï¤º¤·¤¿", set_you[ttmp->madeby_u]); cnv_trap_obj(BEARTRAP, 1, ttmp); return 1; } *************** *** 2162,2168 **** int fails = try_disarm(ttmp, FALSE); if (fails < 2) return fails; ! You("disarm %s land mine.", the_your[ttmp->madeby_u]); cnv_trap_obj(LAND_MINE, 1, ttmp); return 1; } --- 2460,2467 ---- int fails = try_disarm(ttmp, FALSE); if (fails < 2) return fails; ! /*JP You("disarm %s land mine.", the_your[ttmp->madeby_u]);*/ ! You("%sÃÏÍë¤ò²ò½ü¤·¤¿¡¥", set_you[ttmp->madeby_u]); cnv_trap_obj(LAND_MINE, 1, ttmp); return 1; } *************** *** 2179,2185 **** boolean bad_tool; int fails; ! obj = getobj(oil, "untrap with"); if (!obj) return 0; bad_tool = (obj->cursed || --- 2478,2485 ---- boolean bad_tool; int fails; ! /*JP obj = getobj(oil, "untrap with");*/ ! obj = getobj(oil, "»È¤Ã¤Æ²ò½ü¤¹¤ë"); if (!obj) return 0; bad_tool = (obj->cursed || *************** *** 2197,2203 **** useup(obj); /* oil */ makeknown(POT_OIL); } ! You("repair the squeaky board."); /* no madeby_u */ deltrap(ttmp); newsym(u.ux + u.dx, u.uy + u.dy); more_experienced(1, 5); --- 2497,2504 ---- useup(obj); /* oil */ makeknown(POT_OIL); } ! /*JP You("repair the squeaky board."); /* no madeby_u */ ! You("¤­¤·¤àÈĤò½¤Íý¤·¤¿¡¥"); /* no madeby_u */ deltrap(ttmp); newsym(u.ux + u.dx, u.uy + u.dy); more_experienced(1, 5); *************** *** 2213,2219 **** int fails = try_disarm(ttmp, FALSE); if (fails < 2) return fails; ! You("disarm %s trap.", the_your[ttmp->madeby_u]); cnv_trap_obj(otyp, 50-rnl(50), ttmp); return 1; } --- 2514,2521 ---- int fails = try_disarm(ttmp, FALSE); if (fails < 2) return fails; ! /*JP You("disarm %s trap.", the_your[ttmp->madeby_u]);*/ ! pline("%s櫤ò²ò½ü¤·¤¿¡¥", set_you[ttmp->madeby_u]); cnv_trap_obj(otyp, 50-rnl(50), ttmp); return 1; } *************** *** 2230,2241 **** int wc = weight_cap(); if ((((wt<<1) / wc)+1) >= EXT_ENCUMBER) { ! pline("%s is %s for you to lift.", Monnam(mtmp), ! stuff ? "carrying too much" : "too heavy"); if (!ttmp->madeby_u && !mtmp->mpeaceful && mtmp->data->mlet != S_HUMAN && rnl(10) < 3) { mtmp->mpeaceful = 1; ! pline("%s thinks it was nice of you to try.", Monnam(mtmp)); } return 0; } --- 2532,2546 ---- int wc = weight_cap(); if ((((wt<<1) / wc)+1) >= EXT_ENCUMBER) { ! /*JP pline("%s is %s for you to lift.", Monnam(mtmp), ! stuff ? "carrying too much" : "too heavy");*/ ! pline("%s¤Ï%s»ý¤Á¤¢¤²¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥", Monnam(mtmp), ! stuff ? "ʪ¤ò»ý¤Á¤¹¤®¤Æ¤ª¤ê" : "½Å¤¹¤®¤Æ"); if (!ttmp->madeby_u && !mtmp->mpeaceful && mtmp->data->mlet != S_HUMAN && rnl(10) < 3) { mtmp->mpeaceful = 1; ! /*JP pline("%s thinks it was nice of you to try.", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ÎÅØÎϤ˴¶¼Õ¤·¤Æ¤¤¤ë¤è¤¦¤À¡¥", Monnam(mtmp)); } return 0; } *************** *** 2261,2267 **** * Test the monster first - monsters are displayed before traps. */ if (!mtmp->mtrapped) { ! pline("%s isn't trapped.", Monnam(mtmp)); return 0; } /* Do you have the necessary capacity to lift anything? */ --- 2566,2573 ---- * Test the monster first - monsters are displayed before traps. */ if (!mtmp->mtrapped) { ! /*JP pline("%s isn't trapped.", Monnam(mtmp));*/ ! pline("%s¤Ï櫤ˤ«¤«¤Ã¤Æ¤¤¤Ê¤¤¡¥", Monnam(mtmp)); return 0; } /* Do you have the necessary capacity to lift anything? */ *************** *** 2269,2275 **** /* Will our hero succeed? */ if (untrap_prob(ttmp)) { ! You("try to reach out your %s, but %s backs away skeptically.", makeplural(body_part(ARM)), mon_nam(mtmp)); return 1; --- 2575,2584 ---- /* Will our hero succeed? */ if (untrap_prob(ttmp)) { ! /*JP You("try to reach out your %s, but %s backs away skeptically.", ! makeplural(body_part(ARM)), ! mon_nam(mtmp));*/ ! You("%s¤òº¹¤·±ä¤Ù¤è¤¦¤È¤·¤¿¤¬%s¤Ï·Ù²ü¤·¤Æ¤¤¤ë¡¥", makeplural(body_part(ARM)), mon_nam(mtmp)); return 1; *************** *** 2279,2296 **** --- 2588,2615 ---- /* is it a cockatrice?... */ if (mtmp->data == &mons[PM_COCKATRICE] && !uarmg && !resists_ston(&youmonst)) { + /*JP You("grab the trapped cockatrice using your bare %s.", + */ + You("櫤ˤ«¤«¤Ã¤Æ¤¤¤ë¥³¥«¥È¥ê¥¹¤òÁÇ%s¤ÇÄϤó¤Ç¤·¤Þ¤Ã¤¿¡¥", makeplural(body_part(HAND))); if (poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM)) display_nhwindow(WIN_MESSAGE, FALSE); else { + /*JP instapetrify("trying to help a cockatrice out of a pit"); + */ + instapetrify("櫤ˤ«¤«¤Ã¤Æ¤¤¤ë¥³¥«¥È¥ê¥¹¤ò½õ¤±¤è¤¦¤È¤·¤Æ"); return 1; } } + /*JP You("reach out your %s and grab %s.", makeplural(body_part(ARM)), mon_nam(mtmp)); + */ + You("%s¤Ë%s¤òº¹¤·±ä¤Ù¤¿¡¥", + mon_nam(mtmp), makeplural(body_part(ARM))); /* is the monster too heavy? */ wt = inv_weight() + mtmp->data->cwt; *************** *** 2301,2307 **** wt += otmp->owt; if (!try_lift(mtmp, ttmp, wt, TRUE)) return 1; ! You("pull %s out of the pit.", mon_nam(mtmp)); mtmp->mtrapped = 0; fill_pit(mtmp->mx, mtmp->my); reward_untrap(ttmp, mtmp); --- 2620,2627 ---- wt += otmp->owt; if (!try_lift(mtmp, ttmp, wt, TRUE)) return 1; ! /*JP You("pull %s out of the pit.", mon_nam(mtmp));*/ ! You("%s¤òÍ·ê¤«¤é¤Ò¤Ã¤Ñ¤Ã¤¿¡¥", mon_nam(mtmp)); mtmp->mtrapped = 0; fill_pit(mtmp->mx, mtmp->my); reward_untrap(ttmp, mtmp); *************** *** 2326,2332 **** if ((ttmp = t_at(x,y)) && ttmp->tseen) { if (u.utrap) { ! You("cannot deal with traps while trapped!"); return 1; } switch(ttmp->ttyp) { --- 2646,2653 ---- if ((ttmp = t_at(x,y)) && ttmp->tseen) { if (u.utrap) { ! /*JP You("cannot deal with traps while trapped!");*/ ! pline("櫤ˤ«¤«¤Ã¤Æ¤¤¤ë´Ö¤Ï櫤ò²ò½ü¤Ç¤­¤Ê¤¤¡ª"); return 1; } switch(ttmp->ttyp) { *************** *** 2343,2358 **** case PIT: case SPIKED_PIT: if (!u.dx && !u.dy) { ! You("are already on the edge of the pit."); return 0; } if (!(mtmp = m_at(x,y))) { ! pline("Try filling the pit instead."); return 0; } return help_monster_out(mtmp, ttmp); default: ! You("cannot disable %s trap.", (u.dx || u.dy) ? "that" : "this"); return 0; } /* end switch */ } /* end if */ --- 2664,2682 ---- case PIT: case SPIKED_PIT: if (!u.dx && !u.dy) { ! /*JP You("are already on the edge of the pit.");*/ ! You("¤â¤¦Í·ê¤Îü¤Ë¤¤¤ë¡¥"); return 0; } if (!(mtmp = m_at(x,y))) { ! /*JP pline("Try filling the pit instead.");*/ ! pline("¤Ê¤ó¤È¤«Ëä¤á¤ë¤³¤È¤ò¹Í¤¨¤Æ¤ß¤¿¤é¡©"); return 0; } return help_monster_out(mtmp, ttmp); default: ! /*JP You("cannot disable %s trap.", (u.dx || u.dy) ? "that" : "this");*/ ! pline("%s櫤ϲò½ü¤Ç¤­¤Ê¤¤¡¥", (u.dx || u.dy) ? "¤½¤Î" : "¤³¤Î"); return 0; } /* end switch */ } /* end if */ *************** *** 2360,2368 **** if(!u.dx && !u.dy) { for(otmp = level.objects[x][y]; otmp; otmp = otmp->nexthere) if(Is_box(otmp)) { ! pline("There is %s here.", doname(otmp)); ! switch (ynq("Check for traps?")) { case 'q': return(0); case 'n': continue; } --- 2684,2694 ---- if(!u.dx && !u.dy) { for(otmp = level.objects[x][y]; otmp; otmp = otmp->nexthere) if(Is_box(otmp)) { ! /*JP pline("There is %s here.", doname(otmp));*/ ! pline("¤³¤³¤Ë¤Ï%s¤¬¤¢¤ë¡¥", doname(otmp)); ! /*JP switch (ynq("Check for traps?")) {*/ ! switch (ynq("櫤òÄ´¤Ù¤Þ¤¹¤«¡©")) { case 'q': return(0); case 'n': continue; } *************** *** 2370,2379 **** if((otmp->otrapped && (force || (!confused && rn2(MAXULEV + 1 - u.ulevel) < 10))) || (!force && confused && !rn2(3))) { ! You("find a trap on %s!", the(xname(otmp))); exercise(A_WIS, TRUE); ! switch (ynq("Disarm it?")) { case 'q': return(1); case 'n': trap_skipped = TRUE; continue; } --- 2696,2707 ---- if((otmp->otrapped && (force || (!confused && rn2(MAXULEV + 1 - u.ulevel) < 10))) || (!force && confused && !rn2(3))) { ! /*JP You("find a trap on %s!", the(xname(otmp)));*/ ! pline("%s¤Ë櫤òȯ¸«¤·¤¿¡ª", the(xname(otmp))); exercise(A_WIS, TRUE); ! /*JP switch (ynq("Disarm it?")) {*/ ! switch (ynq("²ò½ü¤·¤Þ¤¹¤«¡©")) { case 'q': return(1); case 'n': trap_skipped = TRUE; continue; } *************** *** 2386,2404 **** rnd(75+level_difficulty()/2) > ch)) { (void) chest_trap(otmp, FINGER, TRUE); } else { ! You("disarm it!"); otmp->otrapped = 0; } ! } else pline("That %s was not trapped.", doname(otmp)); return(1); } else { ! You("find no traps on %s.", the(xname(otmp))); return(1); } } ! You(trap_skipped ? "find no other traps here." ! : "know of no traps here."); return(0); } --- 2714,2737 ---- rnd(75+level_difficulty()/2) > ch)) { (void) chest_trap(otmp, FINGER, TRUE); } else { ! /*JP You("disarm it!");*/ ! pline("²ò½ü¤·¤¿¡ª"); otmp->otrapped = 0; } ! /*JP } else pline("That %s was not trapped.", doname(otmp));*/ ! } else pline("¤½¤Î%s¤Ë櫤Ϥʤ¤¡¥", doname(otmp)); return(1); } else { ! /*JP You("find no traps on %s.", the(xname(otmp)));*/ ! pline("櫤òȯ¸«¤Ç¤­¤Ê¤«¤Ã¤¿¡¥"); return(1); } } ! /*JP You(trap_skipped ? "find no other traps here." ! : "know of no traps here.");*/ ! You(trap_skipped ? "¾¤Î櫤ò¸«¤Ä¤±¤é¤ì¤Ê¤«¤Ã¤¿¡¥" ! : "¤³¤³¤Ë櫤¬¤Ê¤¤¤³¤È¤òÃΤäƤ¤¤ë¡¥"); return(0); } *************** *** 2414,2434 **** if (!IS_DOOR(levl[x][y].typ)) { if ((ttmp = t_at(x,y)) && ttmp->tseen) ! You("cannot disable that trap."); else ! You("know of no traps there."); return(0); } switch (levl[x][y].doormask) { case D_NODOOR: ! You("%s no door there.", Blind ? "feel" : "see"); return(0); case D_ISOPEN: ! pline("This door is safely open."); return(0); case D_BROKEN: ! pline("This door is broken."); return(0); } --- 2747,2772 ---- if (!IS_DOOR(levl[x][y].typ)) { if ((ttmp = t_at(x,y)) && ttmp->tseen) ! /*JP You("cannot disable that trap.");*/ ! You("櫤ò²ò½ü¤Ç¤­¤Ê¤«¤Ã¤¿¡¥"); else ! /*JP You("know of no traps there.");*/ ! You("¤½¤³¤Ë櫤¬¤Ê¤¤¤³¤È¤òÃΤäƤ¤¤ë¡¥"); return(0); } switch (levl[x][y].doormask) { case D_NODOOR: ! /*JP You("%s no door there.", Blind ? "feel" : "see");*/ ! pline("¤½¤³¤Ë¤ÏÈ⤬¤Ê¤¤%s¡¥", Blind ? "¤è¤¦¤À" : "¤è¤¦¤Ë¸«¤¨¤ë"); return(0); case D_ISOPEN: ! /*JP pline("This door is safely open.");*/ ! pline("¤½¤ÎÈâ¤Ï°ÂÁ´¤Ë³«¤¤¤Æ¤¤¤ë¡¥"); return(0); case D_BROKEN: ! /*JP pline("This door is broken.");*/ ! pline("¤½¤ÎÈâ¤Ï²õ¤ì¤Æ¤¤¤ë¡¥"); return(0); } *************** *** 2436,2464 **** && (force || (!confused && rn2(MAXULEV - u.ulevel + 11) < 10))) || (!force && confused && !rn2(3))) { ! You("find a trap on the door!"); exercise(A_WIS, TRUE); ! if (ynq("Disarm it?") != 'y') return(1); if (levl[x][y].doormask & D_TRAPPED) { ch = 15 + (Role_is('R') ? u.ulevel*3 : u.ulevel); exercise(A_DEX, TRUE); if(!force && (confused || Fumbling || rnd(75+level_difficulty()/2) > ch)) { ! You("set it off!"); ! b_trapped("door", FINGER); levl[x][y].doormask = D_NODOOR; unblock_point(x, y); newsym(x, y); /* (probably ought to charge for this damage...) */ if (*in_rooms(x, y, SHOPBASE)) add_damage(x, y, 0L); } else { ! You("disarm it!"); levl[x][y].doormask &= ~D_TRAPPED; } ! } else pline("This door was not trapped."); return(1); } else { ! You("find no traps on the door."); return(1); } } --- 2774,2809 ---- && (force || (!confused && rn2(MAXULEV - u.ulevel + 11) < 10))) || (!force && confused && !rn2(3))) { ! /*JP You("find a trap on the door!");*/ ! pline("Èâ¤Ë櫤òȯ¸«¤·¤¿¡ª"); exercise(A_WIS, TRUE); ! /*JP if (ynq("Disarm it?") != 'y') return(1);*/ ! if (ynq("²ò½ü¤·¤Þ¤¹¤«¡©") != 'y') return(1); if (levl[x][y].doormask & D_TRAPPED) { ch = 15 + (Role_is('R') ? u.ulevel*3 : u.ulevel); exercise(A_DEX, TRUE); if(!force && (confused || Fumbling || rnd(75+level_difficulty()/2) > ch)) { ! /*JP You("set it off!");*/ ! You("¥¹¥¤¥Ã¥Á¤òÆþ¤ì¤Æ¤·¤Þ¤Ã¤¿¡ª"); ! /*JP b_trapped("door", FINGER);*/ ! b_trapped("Èâ", FINGER); levl[x][y].doormask = D_NODOOR; unblock_point(x, y); newsym(x, y); /* (probably ought to charge for this damage...) */ if (*in_rooms(x, y, SHOPBASE)) add_damage(x, y, 0L); } else { ! /*JP You("disarm it!");*/ ! You("²ò½ü¤·¤¿¡ª"); levl[x][y].doormask &= ~D_TRAPPED; } ! /*JP } else pline("This door was not trapped.");*/ ! } else pline("Èâ¤Ë櫤Ϥʤ«¤Ã¤¿¡¥"); return(1); } else { ! /*JP You("find no traps on the door.");*/ ! pline("Èâ¤Ë櫤òȯ¸«¤Ç¤­¤Ê¤«¤Ã¤¿¡¥"); return(1); } } *************** *** 2482,2509 **** otmp->otrapped = 0; /* trap is one-shot; clear flag first in case chest kills you and ends up in bones file */ You(disarm ? "set it off!" : "trigger a trap!"); display_nhwindow(WIN_MESSAGE, FALSE); if (Luck > -13 && rn2(13+Luck) > 7) { /* saved by luck */ /* trap went off, but good luck prevents damage */ switch (rn2(13)) { case 12: ! case 11: msg = "explosive charge is a dud"; break; case 10: ! case 9: msg = "electric charge is grounded"; break; case 8: ! case 7: msg = "flame fizzles out"; break; case 6: case 5: ! case 4: msg = "poisoned needle misses"; break; case 3: case 2: case 1: ! case 0: msg = "gas cloud blows away"; break; default: impossible("chest disarm bug"); msg = (char *)0; break; } if (msg) pline("But luckily the %s!", msg); } else { switch(rn2(20) ? ((Luck >= 13) ? 0 : rn2(13-Luck)) : rn2(26)) { case 25: --- 2827,2865 ---- otmp->otrapped = 0; /* trap is one-shot; clear flag first in case chest kills you and ends up in bones file */ + /*JP You(disarm ? "set it off!" : "trigger a trap!"); + */ + You(disarm ? "¥¹¥¤¥Ã¥Á¤òÆþ¤ì¤Æ¤·¤Þ¤Ã¤¿¡ª" : "櫤ˤҤ䫤«¤Ã¤¿¡ª"); display_nhwindow(WIN_MESSAGE, FALSE); if (Luck > -13 && rn2(13+Luck) > 7) { /* saved by luck */ /* trap went off, but good luck prevents damage */ switch (rn2(13)) { case 12: ! /*JP case 11: msg = "explosive charge is a dud"; break;*/ ! case 11: msg = "Çúȯ¤ÏÉÔȯ¤À¤Ã¤¿"; break; case 10: ! /*JP case 9: msg = "electric charge is grounded"; break;*/ ! case 9: msg = "Åŷ⤬Êü½Ð¤µ¤ì¤¿¤¬¥¢¡¼¥¹¤µ¤ì¤Æ¤¤¤¿"; break; case 8: ! /*JP case 7: msg = "flame fizzles out"; break;*/ ! case 7: msg = "±ê¤Ï¥·¥å¡¼¤Ã¤È¾Ã¤¨¤¿"; break; case 6: case 5: ! /*JP case 4: msg = "poisoned needle misses"; break;*/ ! case 4: msg = "Æǿˤϻɤµ¤é¤Ê¤«¤Ã¤¿"; break; case 3: case 2: case 1: ! /*JP case 0: msg = "gas cloud blows away"; break;*/ ! case 0: msg = "¥¬¥¹±À¤Ï¿á¤­Èô¤ó¤À"; break; default: impossible("chest disarm bug"); msg = (char *)0; break; } + /*JP if (msg) pline("But luckily the %s!", msg); + */ + if (msg) pline("¤¬±¿¤Î¤è¤¤¤³¤È¤Ë%s¡ª", msg); } else { switch(rn2(20) ? ((Luck >= 13) ? 0 : rn2(13-Luck)) : rn2(26)) { case 25: *************** *** 2523,2530 **** insider = (*u.ushops && inside_shop(u.ux, u.uy) && *in_rooms(ox, oy, SHOPBASE) == *u.ushops); ! pline("%s explodes!", The(xname(obj))); ! Sprintf(buf, "exploding %s", xname(obj)); if(costly) loss += stolen_value(obj, ox, oy, --- 2879,2888 ---- insider = (*u.ushops && inside_shop(u.ux, u.uy) && *in_rooms(ox, oy, SHOPBASE) == *u.ushops); ! /*JP pline("%s explodes!", The(xname(obj)));*/ ! pline("%s¤ÏÇúȯ¤·¤¿¡ª", The(xname(obj))); ! /*JP Sprintf(buf, "exploding %s", xname(obj));*/ ! Sprintf(buf, "%s¤ÎÇúȯ¤Ç", xname(obj)); if(costly) loss += stolen_value(obj, ox, oy, *************** *** 2544,2553 **** exercise(A_STR, FALSE); if(costly && loss) { if(insider) ! You("owe %ld zorkmids for objects destroyed.", loss); else { ! You("caused %ld zorkmids worth of damage!", loss); make_angry_shk(shkp, ox, oy); } --- 2902,2914 ---- exercise(A_STR, FALSE); if(costly && loss) { if(insider) ! /*JP You("owe %ld zorkmids for objects destroyed.", ! loss);*/ ! You("´ïʪÇË»¤Ç%ld¥´¡¼¥ë¥É¤Î¼Ú¤ê¤ò¤Ä¤¯¤Ã¤¿¡¥", loss); else { ! /*JP You("caused %ld zorkmids worth of damage!",*/ ! You("%ld¥´¡¼¥ë¥Éʬ¤Î»³²¤ò°ú¤­¤ª¤³¤·¤¿¡ª", loss); make_angry_shk(shkp, ox, oy); } *************** *** 2558,2574 **** case 19: case 18: case 17: ! pline("A cloud of noxious gas billows from %s.", the(xname(obj))); ! poisoned("gas cloud", A_STR, "cloud of poison gas",15); exercise(A_CON, FALSE); break; case 16: case 15: case 14: case 13: ! You_feel("a needle prick your %s.",body_part(bodypart)); ! poisoned("needle", A_CON, "poisoned needle",10); exercise(A_CON, FALSE); break; case 12: --- 2919,2939 ---- case 19: case 18: case 17: ! /*JP pline("A cloud of noxious gas billows from %s.",*/ ! pline("Í­ÆÇ¥¬¥¹¤¬%s¤«¤é±²¤Þ¤¤¤¿¡¥", the(xname(obj))); ! /*JP poisoned("gas cloud", A_STR, "cloud of poison gas",15);*/ ! poisoned("¥¬¥¹±À", A_STR, "¥¬¥¹±À",15); exercise(A_CON, FALSE); break; case 16: case 15: case 14: case 13: ! /*JP You_feel("a needle prick your %s.",body_part(bodypart));*/ ! You("%s¥Á¥¯¥Ã¤È¤¤¤¦Äˤߤò´¶¤¸¤¿¡¥", body_part(bodypart)); ! /*JP poisoned("needle", A_CON, "poisoned needle",10);*/ ! poisoned("¿Ë", A_CON, "ÆÇ¿Ë",10); exercise(A_CON, FALSE); break; case 12: *************** *** 2582,2620 **** case 6: { int dmg; ! You("are jolted by a surge of electricity!"); if(Shock_resistance) { shieldeff(u.ux, u.uy); ! You("don't seem to be affected."); dmg = 0; } else dmg = d(4, 4); destroy_item(RING_CLASS, AD_ELEC); destroy_item(WAND_CLASS, AD_ELEC); ! if (dmg) losehp(dmg, "electric shock", KILLED_BY_AN); break; } case 5: case 4: case 3: ! pline("Suddenly you are frozen in place!"); nomul(-d(5, 6)); exercise(A_DEX, FALSE); ! nomovemsg = You_can_move_again; break; case 2: case 1: case 0: ! pline("A cloud of %s gas billows from %s.", hcolor((char *)0), the(xname(obj))); if(!Stunned) { if (Hallucination) ! pline("What a groovy feeling!"); else if (Blind) ! You("stagger and get dizzy..."); else ! You("stagger and your vision blurs..."); } make_stunned(HStun + rn1(7, 16),FALSE); make_hallucinated(HHallucination + rn1(5, 16),FALSE,0L); --- 2947,2996 ---- case 6: { int dmg; ! /*JP You("are jolted by a surge of electricity!");*/ ! You("Åŵ¤¥·¥ç¥Ã¥¯¤ò¤¯¤é¤Ã¤¿¡ª"); if(Shock_resistance) { shieldeff(u.ux, u.uy); ! /*JP You("don't seem to be affected.");*/ ! pline("¤·¤«¤·¤¢¤Ê¤¿¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡¥"); dmg = 0; } else dmg = d(4, 4); destroy_item(RING_CLASS, AD_ELEC); destroy_item(WAND_CLASS, AD_ELEC); ! /*JP if (dmg) losehp(dmg, "electric shock", KILLED_BY_AN);*/ ! if (dmg) losehp(dmg, "Åŵ¤¥·¥ç¥Ã¥¯¤Ç", KILLED_BY_AN); break; } case 5: case 4: case 3: ! /*JP pline("Suddenly you are frozen in place!");*/ ! pline("ÆÍÁ³¤½¤Î¾ì¤ÇÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡ª"); nomul(-d(5, 6)); exercise(A_DEX, FALSE); ! /*JP nomovemsg = You_can_move_again;*/ ! nomovemsg = "¤Þ¤¿Æ°¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥"; break; case 2: case 1: case 0: ! /*JP pline("A cloud of %s gas billows from %s.", hcolor((char *)0), + the(xname(obj)));*/ + pline("%s¸÷¤ë¥¬¥¹±À¤¬%s¤ÎÄì¤Ç±²¤Þ¤¤¤¿¡¥", + jconj_adj(hcolor((char *)0)), the(xname(obj))); if(!Stunned) { if (Hallucination) ! /*JP pline("What a groovy feeling!");*/ ! pline("¤Ê¤ó¤ÆÁÇŨ¤Ê¤ó¤À¡ª"); else if (Blind) ! /*JP You("stagger and get dizzy...");*/ ! You("¤¯¤é¤¯¤é¤·¡¤¤á¤Þ¤¤¤¬¤·¤¿¡¥¡¥¡¥"); else ! /*JP You("stagger and your vision blurs...");*/ ! You("¤¯¤é¤¯¤é¤·¡¤·Ê¿§¤¬¤Ü¤ä¤±¤Æ¤­¤¿¡¥¡¥¡¥"); } make_stunned(HStun + rn1(7, 16),FALSE); make_hallucinated(HHallucination + rn1(5, 16),FALSE,0L); *************** *** 2702,2710 **** register int lvl = level_difficulty(); int dmg = rnd(5 + (lvl < 5 ? lvl : 2+lvl/2)); ! pline("KABOOM!! %s was booby-trapped!", The(item)); wake_nearby(); ! losehp(dmg, "explosion", KILLED_BY_AN); exercise(A_STR, FALSE); if (bodypart) exercise(A_CON, FALSE); make_stunned(HStun + dmg, TRUE); --- 3078,3088 ---- register int lvl = level_difficulty(); int dmg = rnd(5 + (lvl < 5 ? lvl : 2+lvl/2)); ! /*JP pline("KABOOM!! %s was booby-trapped!", The(item));*/ ! pline("¤Á¤å¤É¡¼¤ó¡ª¡ª%s¤Ë¥Ö¡¼¥Ó¡¼¥È¥é¥Ã¥×¤¬»Å³Ý¤±¤é¤ì¤Æ¤¤¤¿¡ª", The(item)); wake_nearby(); ! /*JP losehp(dmg, "explosion", KILLED_BY_AN);*/ ! losehp(dmg, "¥Ö¡¼¥Ó¡¼¥È¥é¥Ã¥×¤ÎÇúȯ¤Ç", KILLED_BY_AN); exercise(A_STR, FALSE); if (bodypart) exercise(A_CON, FALSE); make_stunned(HStun + dmg, TRUE); *************** *** 2731,2743 **** */ if(!strike) { if (cansee(mon->mx, mon->my)) ! pline("%s is almost hit by %s!", Monnam(mon), ! doname(obj)); } else { int dam = 1; if (obj && cansee(mon->mx, mon->my)) ! pline("%s is hit by %s!", Monnam(mon), doname(obj)); if (d_override) dam = d_override; else if (obj) { dam = dmgval(obj, mon); --- 3109,3124 ---- */ if(!strike) { if (cansee(mon->mx, mon->my)) ! /*JP pline("%s is almost hit by %s!", Monnam(mon), ! doname(obj));*/ ! pline("¤â¤¦¾¯¤·¤Ç%s¤¬%s¤ËÌ¿Ã椹¤ë¤È¤³¤í¤À¤Ã¤¿¡ª", doname(obj), ! Monnam(mon)); } else { int dam = 1; if (obj && cansee(mon->mx, mon->my)) ! /*JP pline("%s is hit by %s!", Monnam(mon), doname(obj));*/ ! pline("%s¤¬%s¤ËÌ¿Ã椷¤¿¡ª", doname(obj), Monnam(mon)); if (d_override) dam = d_override; else if (obj) { dam = dmgval(obj, mon); *************** *** 2765,2777 **** boolean unconscious() { return((boolean)(multi < 0 && (!nomovemsg || u.usleep || !strncmp(nomovemsg,"You regain con", 15) || !strncmp(nomovemsg,"You are consci", 15)))); } ! static char lava_killer[] = "molten lava"; boolean lava_effects() --- 3146,3167 ---- boolean unconscious() { + /* + ** ¤â¤¦¡¤¤«¤ó¤Ù¤ó¤·¤Æ¤è¡¼¡¥¤³¤ó¤Ê¥³¡¼¥Ç¥£¥ó¥°¡¥¡¥¡¥ + ** + ** You regain con -- eat.c(2), potion.c(1) + ** You are consci -- eat.c(2) + */ return((boolean)(multi < 0 && (!nomovemsg || u.usleep || + !strncmp(nomovemsg,"¤¢¤Ê¤¿¤ÏÀµµ¤¤Å¤¤¤¿", 18) || + !strncmp(nomovemsg,"¤¢¤Ê¤¿¤Ï¤Þ¤¿Àµµ¤¤Å", 18) || !strncmp(nomovemsg,"You regain con", 15) || !strncmp(nomovemsg,"You are consci", 15)))); } ! /*JPstatic char lava_killer[] = "molten lava";*/ ! static char lava_killer[] = "¤É¤í¤É¤í¤ÎÍÏ´ä¤Ç"; boolean lava_effects() *************** *** 2784,2796 **** if (!Fire_resistance) { if(Wwalking) { dmg = d(6,6); ! pline_The("lava here burns you!"); if(dmg < u.uhp) { losehp(dmg, lava_killer, KILLED_BY); goto burn_stuff; } } else ! You("fall into the lava!"); for(obj = invent; obj; obj = obj2) { obj2 = obj->nobj; --- 3174,3188 ---- if (!Fire_resistance) { if(Wwalking) { dmg = d(6,6); ! /*JP pline_The("lava here burns you!");*/ ! pline("Íϴ䤬¤¢¤Ê¤¿¤ò¾Æ¤­¤Ä¤¯¤·¤¿¡ª"); if(dmg < u.uhp) { losehp(dmg, lava_killer, KILLED_BY); goto burn_stuff; } } else ! /*JP You("fall into the lava!");*/ ! You("ÍÏ´ä¤ËÍî¤Á¤¿¡ª"); for(obj = invent; obj; obj = obj2) { obj2 = obj->nobj; *************** *** 2813,2819 **** #ifdef WIZARD || wizard #endif ! ) Your("%s into flame!", aobjnam(obj, "burst")); } useup(obj); } --- 3205,3212 ---- #ifdef WIZARD || wizard #endif ! /*JP ) Your("%s into flame!", aobjnam(obj, "burst"));*/ ! ) Your("%s¤Ïdz¤¨¤¿¡ª", xname(obj)); } useup(obj); } *************** *** 2823,2842 **** u.uhp = -1; killer_format = KILLED_BY; killer = lava_killer; ! You("burn to a crisp..."); done(BURNING); while (!safe_teleds()) { ! pline("You're still burning."); done(BURNING); } ! You("find yourself back on solid %s.", surface(u.ux, u.uy)); return(TRUE); } if (!Wwalking) { u.utrap = rn1(4, 4) + (rn1(4, 12) << 8); u.utraptype = TT_LAVA; ! You("sink into the lava, but it only burns slightly!"); if (u.uhp > 1) losehp(1, lava_killer, KILLED_BY); } --- 3216,3239 ---- u.uhp = -1; killer_format = KILLED_BY; killer = lava_killer; ! /*JP You("burn to a crisp...");*/ ! You("dz¤¨¤Æ¥Ñ¥ê¥Ñ¥ê¤Ë¤Ê¤Ã¤¿¡¥¡¥¡¥"); done(BURNING); while (!safe_teleds()) { ! /*JP pline("You're still burning.");*/ ! You("¤Þ¤Àdz¤¨¤Æ¤¤¤ë¡¥"); done(BURNING); } ! /*JP You("find yourself back on solid %s.", surface(u.ux, u.uy));*/ ! You("¤¤¤Ä¤Î¤Þ¤Ë¤«¸Ç¤¤%s¤ËÌá¤Ã¤Æ¤¤¤¿¡¥", surface(u.ux, u.uy)); return(TRUE); } if (!Wwalking) { u.utrap = rn1(4, 4) + (rn1(4, 12) << 8); u.utraptype = TT_LAVA; ! /*JP You("sink into the lava, but it only burns slightly!");*/ ! You("ÍÏ´ä¤ËÄÀ¤ó¤À¤¬¡¤¤Á¤ç¤Ã¤È¾Ç¤²¤¿¤À¤±¤À¡ª"); if (u.uhp > 1) losehp(1, lava_killer, KILLED_BY); } *************** *** 2846,2852 **** if(uarmf && !uarmf->oerodeproof && is_organic(uarmf)) { /* save uarmf value because Boots_off() sets uarmf to null */ obj = uarmf; ! Your("%s burst into flame!", xname(obj)); (void) Boots_off(); useup(obj); } --- 3243,3250 ---- if(uarmf && !uarmf->oerodeproof && is_organic(uarmf)) { /* save uarmf value because Boots_off() sets uarmf to null */ obj = uarmf; ! /*JP Your("%s burst into flame!", xname(obj));*/ ! Your("%s¤Ïdz¤¨¤¿¡ª", xname(obj)); (void) Boots_off(); useup(obj); } diff -c -r ../nethack-3.2.2/src/u_init.c ./src/u_init.c *** ../nethack-3.2.2/src/u_init.c Sat Dec 28 21:53:54 1996 --- ./src/u_init.c Tue Jul 22 23:18:40 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/7/22) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" struct trobj { *************** *** 28,39 **** /* roles[2] and [6] are changed for females */ /* in all cases, the corresponding male and female */ /* roles must start with the same letter */ ! "Archeologist", "Barbarian", "Caveman", "Elf", "Healer", "Knight", "Priest", "Rogue", "Samurai", #ifdef TOURIST "Tourist", #endif ! "Valkyrie", "Wizard", 0 }; /* --- 35,51 ---- /* roles[2] and [6] are changed for females */ /* in all cases, the corresponding male and female */ /* roles must start with the same letter */ ! "Archeologist", "Barbarian", "Caveman", "Elf", ! #ifdef FIGHTER ! "Fighter", ! #endif ! "Healer", "Knight", "Priest", "Rogue", "Samurai", #ifdef TOURIST "Tourist", #endif ! "Valkyrie", "Wizard", ! 0 }; /* *************** *** 78,83 **** --- 90,104 ---- { LEMBAS_WAFER, 0, FOOD_CLASS, 2, 0 }, { 0, 0, 0, 0, 0 } }; + #ifdef FIGHTER + static struct trobj Fighter[] = { + { SHORT_SWORD, 2, WEAPON_CLASS, 1, 1 }, + { SAILOR_BLOUSE, 1, ARMOR_CLASS, 1, UNDEF_BLESS }, + { WAN_POLYMORPH, UNDEF_SPE, WAND_CLASS, 1, UNDEF_BLESS }, + { UNDEF_TYP, UNDEF_SPE, SCROLL_CLASS, 3, UNDEF_BLESS }, + { 0, 0, 0, 0, 0 } + }; + #endif /* FIGHTER */ static struct trobj Healer[] = { { SCALPEL, 0, WEAPON_CLASS, 1, UNDEF_BLESS }, { LEATHER_GLOVES, 1, ARMOR_CLASS, 1, UNDEF_BLESS }, *************** *** 257,262 **** --- 278,297 ---- { P_NO_TYPE, 0 } }; + #ifdef FIGHTER + static struct def_skill Skill_F[] = { + { P_DAGGER, P_EXPERT }, { P_KNIFE, P_SKILLED }, + { P_SHORT_SWORD, P_EXPERT }, { P_BROAD_SWORD, P_EXPERT }, + { P_LONG_SWORD, P_SKILLED }, { P_TWO_HANDED_SWORD, P_BASIC }, + { P_SCIMITAR, P_SKILLED }, { P_SABER, P_SKILLED }, + { P_SPEAR, P_EXPERT }, { P_JAVELIN, P_BASIC }, + { P_BOW, P_EXPERT }, { P_SLING, P_BASIC }, + { P_CROSSBOW, P_BASIC }, { P_SHURIKEN, P_BASIC }, + { P_TWO_WEAPON_COMBAT, P_EXPERT }, { P_MARTIAL_ARTS, 3 }, + { P_NO_TYPE, 0 } + }; + #endif /* FIGHTER */ + static struct def_skill Skill_H[] = { { P_DAGGER, P_SKILLED }, { P_KNIFE, P_EXPERT }, { P_SHORT_SWORD, P_SKILLED }, { P_SCIMITAR, P_BASIC }, *************** *** 426,432 **** } i = role_index(pc); if (random_role) { ! pline("This game you will be %s.", an(roles[i])); display_nhwindow(WIN_MESSAGE, TRUE); } --- 461,468 ---- } i = role_index(pc); if (random_role) { ! /*JP pline("This game you will be %s.", an(roles[i]));*/ ! pline("¤³¤Î¥²¡¼¥à¤Ç¤Ï¤¢¤Ê¤¿¤Ï%s¤Ç¤¹¡¥", jtrns_mon(roles[i], -1)); display_nhwindow(WIN_MESSAGE, TRUE); } *************** *** 574,579 **** --- 610,628 ---- skill_init(Skill_E); #endif /* WEAPON_SKILLS */ break; + #ifdef FIGHTER + case 'F': + u.umonster = PM_FIGHTER; + u.uen = u.uenmax += rn1(4, 1); + flags.female = TRUE; + ini_inv(Fighter); + knows_class(WEAPON_CLASS); + knows_class(ARMOR_CLASS); + #ifdef WEAPON_SKILLS + skill_init(Skill_F); + #endif /* WEAPON_SKILLS */ + break; + #endif /* FIGHTER */ case 'H': u.umonster = PM_HEALER; u.uen = u.uenmax += rn1(4, 1); diff -c -r ../nethack-3.2.2/src/uhitm.c ./src/uhitm.c *** ../nethack-3.2.2/src/uhitm.c Sat Dec 28 21:53:54 1996 --- ./src/uhitm.c Tue Sep 23 07:10:14 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" static boolean FDECL(known_hitum, (struct monst *,int *,struct attack *)); *************** *** 50,59 **** struct obj *obj; if (Blind || (is_pool(mtmp->mx,mtmp->my) && !Underwater)) ! pline("Wait! There's a hidden monster there!"); else if ((obj = level.objects[mtmp->mx][mtmp->my]) != 0) ! pline("Wait! There's %s hiding under %s!", ! an(l_monnam(mtmp)), doname(obj)); return TRUE; } } --- 57,70 ---- struct obj *obj; if (Blind || (is_pool(mtmp->mx,mtmp->my) && !Underwater)) ! /*JP pline("Wait! There's a hidden monster there!");*/ ! pline("ÂԤơª²øʪ¤¬±£¤ì¤Æ¤¤¤ë¡ª"); else if ((obj = level.objects[mtmp->mx][mtmp->my]) != 0) ! /*JP pline("Wait! There's %s hiding under %s!", ! an(l_monnam(mtmp)), doname(obj));*/ ! pline("ÂԤơª%s¤Î²¼¤Ë%s¤¬±£¤ì¤Æ¤¤¤ë¡ª", ! doname(obj), l_monnam(mtmp)); ! return TRUE; } } *************** *** 66,72 **** return(FALSE); } if (canspotmon(mtmp)) { ! Sprintf(qbuf, "Really attack %s?", mon_nam(mtmp)); if (yn(qbuf) != 'y') { flags.move = 0; return(TRUE); --- 77,84 ---- return(FALSE); } if (canspotmon(mtmp)) { ! /*JP Sprintf(qbuf, "Really attack %s?", mon_nam(mtmp));*/ ! Sprintf(qbuf, "ËÜÅö¤Ë%s¤ò¹¶·â¤¹¤ë¤Î¡©", mon_nam(mtmp)); if (yn(qbuf) != 'y') { flags.move = 0; return(TRUE); *************** *** 162,173 **** !passes_walls(mtmp->data))) { mtmp->mflee = 1; mtmp->mfleetim = rnd(6); ! You("stop. %s is in your way!", (mtmp->mnamelth ? NAME(mtmp) : Monnam(mtmp))); return(TRUE); } else if ((mtmp->mfrozen || (! mtmp->mcanmove) || (mtmp->data->mmove == 0)) && rn2(6)) { ! pline("%s doesn't seem to move!", Monnam(mtmp)); return(TRUE); } else return(FALSE); } --- 174,188 ---- !passes_walls(mtmp->data))) { mtmp->mflee = 1; mtmp->mfleetim = rnd(6); ! /*JP You("stop. %s is in your way!", ! (mtmp->mnamelth ? NAME(mtmp) : Monnam(mtmp)));*/ ! You("»ß¤Þ¤Ã¤¿¡¥%s¤¬Æ»¤Ë¤¤¤ë¡ª", (mtmp->mnamelth ? NAME(mtmp) : Monnam(mtmp))); return(TRUE); } else if ((mtmp->mfrozen || (! mtmp->mcanmove) || (mtmp->data->mmove == 0)) && rn2(6)) { ! /*JP pline("%s doesn't seem to move!", Monnam(mtmp));*/ ! pline("%s¤ÏÆ°¤±¤Ê¤¤¤è¤¦¤À¡¥", Monnam(mtmp)); return(TRUE); } else return(FALSE); } *************** *** 181,205 **** if (Upolyd) { /* certain "pacifist" monsters don't attack */ if(noattacks(uasmon)) { ! You("have no way to attack monsters physically."); mtmp->mstrategy &= ~STRAT_WAITMASK; return(TRUE); } } ! if(check_capacity("You cannot fight while so heavily loaded.")) return (TRUE); if(unweapon) { unweapon=FALSE; if(flags.verbose) if(uwep) ! You("begin bashing monsters with your %s.", ! aobjnam(uwep, (char *)0)); else if (!cantwield(uasmon)) You("begin bashing monsters with your %s %s.", uarmg ? "gloved" : "bare", /* Del Lamb */ makeplural(body_part(HAND))); } exercise(A_STR, TRUE); /* you're exercising muscles */ /* andrew@orca: prevent unlimited pick-axe attacks */ --- 196,228 ---- if (Upolyd) { /* certain "pacifist" monsters don't attack */ if(noattacks(uasmon)) { ! /*JP You("have no way to attack monsters physically.");*/ ! You("ʪÍýŪ¤Ë²øʪ¤ò¹¶·â¤¹¤ë¤¹¤Ù¤¬¤Ê¤¤¡¥"); mtmp->mstrategy &= ~STRAT_WAITMASK; return(TRUE); } } ! /*JP if(check_capacity("You cannot fight while so heavily loaded."))*/ ! if(check_capacity("¤¢¤Ê¤¿¤Ïʪ¤òÂô»³»ý¤Á¤¹¤®¤ÆÀ廊¤Ê¤¤¡¥")) return (TRUE); if(unweapon) { unweapon=FALSE; if(flags.verbose) if(uwep) ! /*JP You("begin bashing monsters with your %s.", ! aobjnam(uwep, (char *)0));*/ ! You("%s¤Ç²øʪ¤ò¤Ê¤°¤ê¤Ä¤±¤¿¡¥", ! xname(uwep)); else if (!cantwield(uasmon)) + #if 0 /*JP*/ You("begin bashing monsters with your %s %s.", uarmg ? "gloved" : "bare", /* Del Lamb */ makeplural(body_part(HAND))); + #endif /*JP*/ + You("%s¤Ç²øʪ¤ò¤Ê¤°¤ê¤Ä¤±¤¿¡¥", + uarmg ? "¥°¥í¡¼¥Ö" : "ÁǼê"); } exercise(A_STR, TRUE); /* you're exercising muscles */ /* andrew@orca: prevent unlimited pick-axe attacks */ *************** *** 237,243 **** if (override_confirmation) { /* this may need to be generalized if weapons other than Stormbringer acquire similar anti-social behavior... */ ! if (flags.verbose) Your("bloodthirsty blade attacks!"); } if(!*mhit) { --- 260,267 ---- if (override_confirmation) { /* this may need to be generalized if weapons other than Stormbringer acquire similar anti-social behavior... */ ! /*JP if (flags.verbose) Your("bloodthirsty blade attacks!");*/ ! if (flags.verbose) Your("Éð´ï¤Ï·ì¤Ëµ²¤¨¤Æ¤¤¤ë¡ª"); } if(!*mhit) { *************** *** 368,374 **** if (!valid_weapon_attack || mon == u.ustuck) { ; /* no special bonuses */ } else if (mon->mflee && Role_is('R') && !Upolyd) { ! You("strike %s from behind!", mon_nam(mon)); tmp += rnd(u.ulevel); hittxt = TRUE; } else if (dieroll == 2 && obj == uwep && --- 392,399 ---- if (!valid_weapon_attack || mon == u.ustuck) { ; /* no special bonuses */ } else if (mon->mflee && Role_is('R') && !Upolyd) { ! /*JP You("strike %s from behind!", mon_nam(mon));*/ ! You("%s¤òÇظ夫¤é¹¶·â¤·¤¿¡ª", mon_nam(mon)); tmp += rnd(u.ulevel); hittxt = TRUE; } else if (dieroll == 2 && obj == uwep && *************** *** 390,398 **** --- 415,427 ---- monwep->owornmask &= ~W_WEP; MON_NOWEP(mon); mon->weapon_check = NEED_WEAPON; + /*JP pline("%s %s shatter%s from the force of your blow!", s_suffix(Monnam(mon)), xname(monwep), (monwep->quan) == 1L ? "s" : ""); + */ + pline("%s¤Î%s¤Ï¤¢¤Ê¤¿¤Î°ì·â¤ÇÊ´¡¹¤Ë¤Ê¤Ã¤¿¡ª", + s_suffix(Monnam(mon)), xname(monwep)); m_useup(mon, monwep); /* If someone just shattered MY weapon, I'd flee! */ if (rn2(4) && !mon->mflee) { *************** *** 414,420 **** silvermsg = TRUE; if(!thrown && obj == uwep && obj->otyp == BOOMERANG && !rnl(3)) { ! pline("As you hit %s, %s breaks into splinters.", mon_nam(mon), the(xname(obj))); useup(obj); obj = (struct obj *) 0; --- 443,450 ---- silvermsg = TRUE; if(!thrown && obj == uwep && obj->otyp == BOOMERANG && !rnl(3)) { ! /*JP pline("As you hit %s, %s breaks into splinters.",*/ ! pline("%s¤ò¹¶·â¤¹¤ë¤È, %s¤Ï¤³¤Ã¤Ñ¤ß¤¸¤ó¤Ë¤Ê¤Ã¤¿¡¥", mon_nam(mon), the(xname(obj))); useup(obj); obj = (struct obj *) 0; *************** *** 468,475 **** --- 498,509 ---- shade_aware = TRUE; /* dmgval handles it */ break; case MIRROR: + /*JP You("break %s mirror. That's bad luck!", shk_your(yourbuf, obj)); + */ + You("%s¶À¤ò²õ¤·¤Æ¤·¤Þ¤Ã¤¿¡¥¤³¤ê¤ã¤Þ¤¤¤Ã¤¿¡ª", + shk_your(yourbuf, obj)); change_luck(-2); useup(obj); obj = (struct obj *) 0; *************** *** 478,484 **** --- 512,521 ---- break; #ifdef TOURIST case EXPENSIVE_CAMERA: + /*JP You("succeed in destroying %s camera. Congratulations!", + */ + You("%s¥«¥á¥é¤ò²õ¤¹¤³¤È¤¬¤Ç¤­¤¿¡¥¤ª¤á¤Ç¤È¤¦¡ª", shk_your(yourbuf, obj)); useup(obj); return(TRUE); *************** *** 487,494 **** if (obj->corpsenm == PM_COCKATRICE) { tmp = 1; hittxt = TRUE; ! You("hit %s with %s cockatrice corpse.", ! mon_nam(mon), obj->dknown ? "the" : "a"); if (!munstone(mon, TRUE)) minstapetrify(mon, TRUE); if (resists_ston(mon)) break; --- 524,533 ---- if (obj->corpsenm == PM_COCKATRICE) { tmp = 1; hittxt = TRUE; ! /*JP You("hit %s with %s cockatrice corpse.", ! mon_nam(mon), obj->dknown ? "the" : "a");*/ ! You("%s¤ò¥³¥«¥È¥ê¥¹¤Î»àÂΤǹ¶·â¤·¤¿¡¥", ! mon_nam(mon)); if (!munstone(mon, TRUE)) minstapetrify(mon, TRUE); if (resists_ston(mon)) break; *************** *** 525,534 **** if (obj->corpsenm == PM_COCKATRICE) { learn_egg_type(PM_COCKATRICE); ! You("hit %s with %s cockatrice egg%s. Splat!", mon_nam(mon), obj->known ? "the" : cnt > 1L ? "some" : "a", ! plur(cnt)); obj->known = 1; /* (not much point...) */ useup_eggs(obj); if (!munstone(mon, TRUE)) --- 564,575 ---- if (obj->corpsenm == PM_COCKATRICE) { learn_egg_type(PM_COCKATRICE); ! /*JP You("hit %s with %s cockatrice egg%s. Splat!", mon_nam(mon), obj->known ? "the" : cnt > 1L ? "some" : "a", ! plur(cnt));*/ ! You("%s¤Ë¥³¥«¥È¥ê¥¹¤ÎÍñ¤òÅꤲ¤Ä¤±¤¿¡¥¥Ó¥Á¥ã¥Ã¡ª", ! mon_nam(mon)); obj->known = 1; /* (not much point...) */ useup_eggs(obj); if (!munstone(mon, TRUE)) *************** *** 536,551 **** if (resists_ston(mon)) break; return (boolean) (mon->mhp > 0); } else { /* ordinary egg(s) */ ! const char *eggp = (obj->corpsenm != NON_PM && obj->known) ? the(mons[obj->corpsenm].mname) : ! (cnt > 1L) ? "some" : "an"; ! You("hit %s with %s egg%s.", ! mon_nam(mon), eggp, plur(cnt)); if (mdat == &mons[PM_COCKATRICE]) { ! pline_The("egg%s %s alive any more...", plur(cnt), ! (cnt == 1L) ? "isn't" : "aren't"); if (obj->timed) obj_stop_timers(obj); obj->otyp = ROCK; obj->oclass = GEM_CLASS; --- 577,599 ---- if (resists_ston(mon)) break; return (boolean) (mon->mhp > 0); } else { /* ordinary egg(s) */ ! /*JP const char *eggp = (obj->corpsenm != NON_PM && obj->known) ? the(mons[obj->corpsenm].mname) : ! (cnt > 1L) ? "some" : "an";*/ ! const char *eggp = ! (obj->corpsenm != NON_PM && obj->known) ? ! jtrns_mon(mons[obj->corpsenm].mname, -1) : ""; ! /*JP You("hit %s with %s egg%s.", ! mon_nam(mon), eggp, plur(cnt));*/ ! You("%s¤Ë%s%sÍñ¤òÅꤲ¤Ä¤±¤¿¡¥", ! mon_nam(mon), eggp, *eggp ? "¤Î" : ""); ! if (mdat == &mons[PM_COCKATRICE]) { ! /*JP pline_The("egg%s %s alive any more...", plur(cnt), ! (cnt == 1L) ? "isn't" : "aren't");*/ ! pline("¤â¤¦Íñ¤¬ÕÛ²½¤¹¤ë¤³¤È¤Ï¤Ê¤¤¤À¤í¤¦¡¥¡¥¡¥"); if (obj->timed) obj_stop_timers(obj); obj->otyp = ROCK; obj->oclass = GEM_CLASS; *************** *** 555,561 **** obj->owt = weight(obj); if (thrown) place_object(obj, mon->mx, mon->my); } else { ! pline("Splat!"); useup_eggs(obj); exercise(A_WIS, FALSE); } --- 603,610 ---- obj->owt = weight(obj); if (thrown) place_object(obj, mon->mx, mon->my); } else { ! /*JP pline("Splat!");*/ ! pline("¥Ó¥Á¥ã¥Ã¡ª"); useup_eggs(obj); exercise(A_WIS, FALSE); } *************** *** 574,589 **** --- 623,649 ---- case BLINDING_VENOM: /* note: resists_blnd() does not apply here */ if (Blind || !haseyes(mdat) || u.uswallow) { + /*JP pline(obj->otyp==CREAM_PIE ? "Splat!" : "Splash!"); + */ + pline(obj->otyp==CREAM_PIE ? "¥Ó¥·¥ã¥Ã¡ª" : "¥Ô¥Á¥ã¥Ã¡ª"); } else if (obj->otyp == BLINDING_VENOM) { + /*JP pline_The("venom blinds %s%s!", mon_nam(mon), mon->mcansee ? "" : " further"); + */ + pline("ÆDZդÇ%s¤Ï%sÌܤ¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡ª", mon_nam(mon), + mon->mcansee ? "" : "¤µ¤é¤Ë"); } else { char *whom = mon_nam(mon); /* note: s_suffix returns a modifiable buffer */ if (haseyes(mdat) && mdat != &mons[PM_FLOATING_EYE]) + /*JP whom = strcat(s_suffix(whom), " face"); pline_The("cream pie splashes over %s!", whom); + */ + whom = strcat(s_suffix(whom), "¤Î´é"); + pline("¥¯¥ê¡¼¥à¥Ñ¥¤¤Ï%s¤Ë¤Ö¤Á¤Þ¤±¤é¤ì¤¿¡ª", whom); } if(mon->msleep) mon->msleep = 0; setmangry(mon); *************** *** 602,612 **** break; case ACID_VENOM: /* thrown (or spit) */ if (resists_acid(mon)) { ! Your("venom hits %s harmlessly.", mon_nam(mon)); tmp = 0; } else { ! Your("venom burns %s!", mon_nam(mon)); tmp = dmgval(obj, mon); } if (thrown) obfree(obj, (struct obj *)0); --- 662,674 ---- break; case ACID_VENOM: /* thrown (or spit) */ if (resists_acid(mon)) { ! /*JP Your("venom hits %s harmlessly.",*/ ! pline("ÆDZդÏ%s¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡¥", mon_nam(mon)); tmp = 0; } else { ! /*JP Your("venom burns %s!", mon_nam(mon));*/ ! Your("ÆDZդÏ%s¤ò¾Æ¤¤¤¿¡ª", mon_nam(mon)); tmp = dmgval(obj, mon); } if (thrown) obfree(obj, (struct obj *)0); *************** *** 669,675 **** --- 731,740 ---- tmp = 0; if (mdat == &mons[PM_SHADE]) { if (!hittxt) { + /*JP Your("attack passes harmlessly through %s.", + */ + Your("¹¶·â¤Ï%s¤ò¤¹¤Ã¤ÈÄ̤ê¤Ì¤±¤¿¡¥", mon_nam(mon)); hittxt = TRUE; } *************** *** 684,690 **** if (rnd(100) < P_SKILL(weapon_type((struct obj *) 0)) && !bigmonst(mdat) && !thick_skinned(mdat)) { if (canspotmon(mon)) ! pline("%s staggers from your powerful strike!", Monnam(mon)); mon->mstun = 1; hittxt = TRUE; --- 749,756 ---- if (rnd(100) < P_SKILL(weapon_type((struct obj *) 0)) && !bigmonst(mdat) && !thick_skinned(mdat)) { if (canspotmon(mon)) ! /*JP pline("%s staggers from your powerful strike!",*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î²ñ¿´¤Î°ì·â¤Ç¤è¤í¤á¤¤¤¿¡ª", Monnam(mon)); mon->mstun = 1; hittxt = TRUE; *************** *** 723,729 **** && mon->mhp > 1 && !thrown && !mon->mcan /* && !destroyed -- guaranteed by mhp > 1 */ ) { if (clone_mon(mon)) { ! pline("%s divides as you hit it!", Monnam(mon)); hittxt = TRUE; } } --- 789,796 ---- && mon->mhp > 1 && !thrown && !mon->mcan /* && !destroyed -- guaranteed by mhp > 1 */ ) { if (clone_mon(mon)) { ! /*JP pline("%s divides as you hit it!", Monnam(mon));*/ ! pline("¤¢¤Ê¤¿¤Î¹¶·â¤Ç%s¤ÏʬÎö¤·¤¿¡ª", Monnam(mon)); hittxt = TRUE; } } *************** *** 732,740 **** if(thrown) /* thrown => obj exists */ hit(xname(obj), mon, exclam(tmp) ); ! else if(!flags.verbose) You("hit it."); ! else You("%s %s%s", Role_is('B') ? "smite" : "hit", ! mon_nam(mon), canseemon(mon) ? exclam(tmp) : "."); } if (silvermsg) { --- 799,810 ---- if(thrown) /* thrown => obj exists */ hit(xname(obj), mon, exclam(tmp) ); ! /*JP else if(!flags.verbose) You("hit it.");*/ ! else if(!flags.verbose) Your("¹¶·â¤ÏÌ¿Ã椷¤¿¡ª"); ! /*JP else You("%s %s%s", Role_is('B') ? "smite" : "hit", ! mon_nam(mon), canseemon(mon) ? exclam(tmp) : ".");*/ ! else Your("%s¤Ø¤Î¹¶·â¤ÏÌ¿Ã椷¤¿%s", mon_nam(mon), canseemon(mon) ! ? exclam(tmp) : "¡¥"); } if (silvermsg) { *************** *** 742,762 **** char *whom = mon_nam(mon); if (canspotmon(mon)) { ! fmt = "The silver sears %s!"; } else { *whom = highc(*whom); /* "it" -> "It" */ ! fmt = "%s is seared!"; } /* note: s_suffix returns a modifiable buffer */ if (!noncorporeal(mdat)) ! whom = strcat(s_suffix(whom), " flesh"); pline(fmt, whom); } if (needpoismsg) ! pline_The("poison doesn't seem to affect %s.", mon_nam(mon)); if (poiskilled) { ! pline_The("poison was deadly..."); xkilled(mon, 0); return FALSE; } else if (destroyed) { --- 812,838 ---- char *whom = mon_nam(mon); if (canspotmon(mon)) { ! /*JP fmt = "The silver sears %s!";*/ ! fmt = "%s¤Ï¶ä¤Ç¾Æ¤«¤ì¤¿¡ª"; ! } else { *whom = highc(*whom); /* "it" -> "It" */ ! /*JP fmt = "%s is seared!";*/ ! fmt = "%s¤Ï¾Æ¤«¤ì¤¿¡¥"; } /* note: s_suffix returns a modifiable buffer */ if (!noncorporeal(mdat)) ! /*JP whom = strcat(s_suffix(whom), " flesh");*/ ! whom = strcat(s_suffix(whom), "¤ÎÂÎ"); pline(fmt, whom); } if (needpoismsg) ! /*JP pline_The("poison doesn't seem to affect %s.", mon_nam(mon));*/ ! pline("ÆǤÏ%s¤Ë¸ú¤«¤Ê¤«¤Ã¤¿¤è¤¦¤À¡¥", mon_nam(mon)); if (poiskilled) { ! /*JP pline_The("poison was deadly...");*/ ! pline("ÆǤÏÃ×»àÎ̤À¤Ã¤¿¡¥¡¥¡¥"); xkilled(mon, 0); return FALSE; } else if (destroyed) { *************** *** 767,773 **** mon->mconf = 1; if(!mon->mstun && mon->mcanmove && !mon->msleep && canseemon(mon)) ! pline("%s appears confused.", Monnam(mon)); } } --- 843,850 ---- mon->mconf = 1; if(!mon->mstun && mon->mcanmove && !mon->msleep && canseemon(mon)) ! /*JP pline("%s appears confused.", Monnam(mon));*/ ! pline("%s¤Ïº®Í𤷤Ƥ¤¤ë¤è¤¦¤À¡¥", Monnam(mon)); } } *************** *** 809,814 **** --- 886,892 ---- /* if defender's cloak/armor is greased, attacker slips off */ if (obj && (obj->greased || obj->otyp == OILSKIN_CLOAK)) { + #if 0 /*JP*/ You("%s %s %s %s!", mattk->adtyp == AD_WRAP ? "slip off of" : "grab, but cannot hold onto", *************** *** 818,826 **** for undiscovered oilskin cloak */ (obj->greased || objects[obj->otyp].oc_name_known) ? xname(obj) : "cloak"); ! if (obj->greased && !rn2(2)) { ! pline_The("grease wears off."); obj->greased = 0; } return TRUE; --- 896,912 ---- for undiscovered oilskin cloak */ (obj->greased || objects[obj->otyp].oc_name_known) ? xname(obj) : "cloak"); ! #endif ! You("%s¤Î%s%s%s¡ª", ! mon_nam(mdef), ! obj->greased ? "Ìý¤ÎÅɤé¤ì¤¿" : "³ê¤ê¤ä¤¹¤¤", ! (obj->greased || objects[obj->otyp].oc_name_known) ? ! xname(obj) : "¥¯¥í¡¼¥¯", ! mattk->adtyp == AD_WRAP ? ! "¤Ç³ê¤Ã¤¿" : "¤ò¤Ä¤«¤Þ¤è¤¦¤È¤·¤¿¡¤¤·¤«¤·¤Ç¤­¤Ê¤«¤Ã¤¿"); if (obj->greased && !rn2(2)) { ! /*JP pline_The("grease wears off.");*/ ! pline("Ìý¤ÏÍî¤Á¤Æ¤·¤Þ¤Ã¤¿¡¥"); obj->greased = 0; } return TRUE; *************** *** 842,848 **** struct permonst *pm; struct monst *dtmp; ! pline("Some hell-p has arrived!"); pm = !rn2(6) ? &mons[ndemon(u.ualign.type)] : uasmon; if ((dtmp = makemon(pm, u.ux, u.uy, NO_MM_FLAGS)) != 0) (void)tamedog(dtmp, (struct obj *)0); --- 928,935 ---- struct permonst *pm; struct monst *dtmp; ! /*JP pline("Some hell-p has arrived!");*/ ! pline("ÃϹö¤ÎÃç´Ö¤¬¸½¤ï¤ì¤¿¡ª"); pm = !rn2(6) ? &mons[ndemon(u.ualign.type)] : uasmon; if ((dtmp = makemon(pm, u.ux, u.uy, NO_MM_FLAGS)) != 0) (void)tamedog(dtmp, (struct obj *)0); *************** *** 875,887 **** if (gender(mdef) == (int) u.mfemale && uasmon->mlet == S_NYMPH) You( ! "charm %s. She gladly hands over her possessions.", mon_nam(mdef)); else You( ! "seduce %s and %s starts to take off %s clothes.", mon_nam(mdef), he[pronoun_gender(mdef)], ! his[pronoun_gender(mdef)]); while ((otmp = mdef->minvent) != 0) { obj_extract_self(otmp); if (otmp->owornmask) { --- 962,978 ---- if (gender(mdef) == (int) u.mfemale && uasmon->mlet == S_NYMPH) You( ! /*JP "charm %s. She gladly hands over her possessions.",*/ ! "%s¤ò¤¦¤Ã¤È¤ê¤µ¤»¤¿¡¥Èà½÷¤Ï¤½¤Ã¤È»ý¤Áʪ¤ò¤µ¤·¤À¤·¤¿¡¥", mon_nam(mdef)); else You( ! /*JP "seduce %s and %s starts to take off %s clothes.", mon_nam(mdef), he[pronoun_gender(mdef)], ! his[pronoun_gender(mdef)]);*/ ! "%s¤òͶÏǤ·¤¿¡¥%s¤ÏÉþ¤ò椮¤Ï¤¸¤á¤¿¡¥", ! mon_nam(mdef), he[pronoun_gender(mdef)]); ! while ((otmp = mdef->minvent) != 0) { obj_extract_self(otmp); if (otmp->owornmask) { *************** *** 897,904 **** stolen = TRUE; } else { otmp = hold_another_object(otmp, ! "You steal %s.", doname(otmp), ! "You steal: "); } if (otmp->otyp == CORPSE && otmp->corpsenm == PM_COCKATRICE && --- 988,997 ---- stolen = TRUE; } else { otmp = hold_another_object(otmp, ! /*JP "You steal %s.", doname(otmp), ! "You steal: ");*/ ! "¤¢¤Ê¤¿¤Ï%s¤òÅð¤ó¤À¡¥Åð¤ó¤Àʪ¡§", doname(otmp), ! ""); } if (otmp->otyp == CORPSE && otmp->corpsenm == PM_COCKATRICE && *************** *** 907,916 **** break; } } ! pline("%s finishes taking off %s suit.", ! Monnam(mdef), his[pronoun_gender(mdef)]); ! if (stolen) You("steal %s!", doname(stealoid)); ! if (whoops) instapetrify("cockatrice corpse"); possibly_unwield(mdef); } else { otmp = mdef->minvent; --- 1000,1013 ---- break; } } ! /*JP pline("%s finishes taking off %s suit.", ! Monnam(mdef), his[pronoun_gender(mdef)]);*/ ! pline("%s¤ÏÉþ¤ò椮½ª¤¨¤¿", ! Monnam(mdef)); ! /*JP if (stolen) You("steal %s!", doname(stealoid));*/ ! You("%s¤òÅð¤ó¤À¡ª", doname(stealoid)); ! /*JP if (whoops) instapetrify("cockatrice corpse");*/ ! if (whoops) instapetrify("¥³¥«¥È¥ê¥¹¤Î»àÂΤÇ"); possibly_unwield(mdef); } else { otmp = mdef->minvent; *************** *** 920,927 **** otmp->owornmask = 0L; update_mon_intrinsics(mdef, otmp, FALSE); } ! otmp = hold_another_object(otmp, "You steal %s.", ! doname(otmp), "You steal: "); if (!(mdef->misc_worn_check & W_ARMG)) mselftouch(mdef, (const char *)0, TRUE); possibly_unwield(mdef); --- 1017,1026 ---- otmp->owornmask = 0L; update_mon_intrinsics(mdef, otmp, FALSE); } ! /*JP otmp = hold_another_object(otmp, "You steal %s.", ! doname(otmp), "You steal: ");*/ ! otmp = hold_another_object(otmp, "¤¢¤Ê¤¿¤Ï%s¤òÅð¤ó¤À¡¥Åð¤ó¤Àʪ¡§", ! doname(otmp), ""); if (!(mdef->misc_worn_check & W_ARMG)) mselftouch(mdef, (const char *)0, TRUE); possibly_unwield(mdef); *************** *** 946,952 **** switch(mattk->adtyp) { case AD_STUN: if(!Blind) ! pline("%s staggers for a moment.", Monnam(mdef)); mdef->mstun = 1; /* fall through to next case */ case AD_WERE: /* no effect on monsters */ --- 1045,1052 ---- switch(mattk->adtyp) { case AD_STUN: if(!Blind) ! /*JP pline("%s staggers for a moment.", Monnam(mdef));*/ ! pline("%s¤Ï°ì½Ö¤¯¤é¤¯¤é¤·¤¿¡¥", Monnam(mdef)); mdef->mstun = 1; /* fall through to next case */ case AD_WERE: /* no effect on monsters */ *************** *** 960,973 **** break; case AD_FIRE: if (!Blind) ! pline("%s is %s!", Monnam(mdef), mattk->aatyp == AT_HUGS ? ! "being roasted" : "on fire"); tmp += destroy_mitem(mdef, SCROLL_CLASS, AD_FIRE); tmp += destroy_mitem(mdef, SPBOOK_CLASS, AD_FIRE); if (resists_fire(mdef)) { if (!Blind) ! pline_The("fire doesn't heat %s!", mon_nam(mdef)); golemeffects(mdef, AD_FIRE, tmp); shieldeff(mdef->mx, mdef->my); tmp = 0; --- 1060,1077 ---- break; case AD_FIRE: if (!Blind) ! /*JP pline("%s is %s!", Monnam(mdef), ! mattk->aatyp == AT_HUGS ? ! "being roasted" : "on fire");*/ ! if(!Blind) pline("%s¤Ï%s¤Ë¤Ê¤Ã¤¿", Monnam(mdef), mattk->aatyp == AT_HUGS ? ! "´Ý¾Æ¤±" : "²Ð¤À¤ë¤Þ"); tmp += destroy_mitem(mdef, SCROLL_CLASS, AD_FIRE); tmp += destroy_mitem(mdef, SPBOOK_CLASS, AD_FIRE); if (resists_fire(mdef)) { if (!Blind) ! /*JP pline_The("fire doesn't heat %s!", mon_nam(mdef));*/ ! pline("±ê¤Ï%s¤Ë±Æ¶Á¤¬¤Ê¤¤¡ª", mon_nam(mdef)); golemeffects(mdef, AD_FIRE, tmp); shieldeff(mdef->mx, mdef->my); tmp = 0; *************** *** 976,997 **** tmp += destroy_mitem(mdef, POTION_CLASS, AD_FIRE); break; case AD_COLD: ! if (!Blind) pline("%s is covered in frost!", Monnam(mdef)); if (resists_cold(mdef)) { shieldeff(mdef->mx, mdef->my); if (!Blind) ! pline_The("frost doesn't chill %s!", mon_nam(mdef)); golemeffects(mdef, AD_COLD, tmp); tmp = 0; } tmp += destroy_mitem(mdef, POTION_CLASS, AD_COLD); break; case AD_ELEC: ! if (!Blind) pline("%s is zapped!", Monnam(mdef)); tmp += destroy_mitem(mdef, WAND_CLASS, AD_ELEC); if (resists_elec(mdef)) { if (!Blind) ! pline_The("zap doesn't shock %s!", mon_nam(mdef)); golemeffects(mdef, AD_ELEC, tmp); shieldeff(mdef->mx, mdef->my); tmp = 0; --- 1080,1105 ---- tmp += destroy_mitem(mdef, POTION_CLASS, AD_FIRE); break; case AD_COLD: ! /*JP if (!Blind) pline("%s is covered in frost!", Monnam(mdef));*/ ! if (!Blind) pline("%s¤Ïɹ¤Çʤ¤ï¤ì¤¿¡ª", Monnam(mdef)); if (resists_cold(mdef)) { shieldeff(mdef->mx, mdef->my); if (!Blind) ! /*JP pline_The("frost doesn't chill %s!", mon_nam(mdef));*/ ! pline("ɹ¤Ï%s¤òÅà¤é¤¹¤³¤È¤¬¤Ç¤­¤Ê¤¤¡ª", mon_nam(mdef)); golemeffects(mdef, AD_COLD, tmp); tmp = 0; } tmp += destroy_mitem(mdef, POTION_CLASS, AD_COLD); break; case AD_ELEC: ! /*JP if (!Blind) pline("%s is zapped!", Monnam(mdef));*/ ! if (!Blind) pline("%s¤Ï¾×·â¤ò¤¯¤é¤Ã¤¿¡ª", Monnam(mdef)); tmp += destroy_mitem(mdef, WAND_CLASS, AD_ELEC); if (resists_elec(mdef)) { if (!Blind) ! /*JP pline_The("zap doesn't shock %s!", mon_nam(mdef));*/ ! pline("¾×·â¤Ï%s¤Ë±Æ¶Á¤òÍ¿¤¨¤Ê¤¤¡ª", mon_nam(mdef)); golemeffects(mdef, AD_ELEC, tmp); shieldeff(mdef->mx, mdef->my); tmp = 0; *************** *** 1019,1025 **** if (mdef->mgold) { u.ugold += mdef->mgold; mdef->mgold = 0; ! Your("purse feels heavier."); } exercise(A_DEX, TRUE); tmp = 0; --- 1127,1134 ---- if (mdef->mgold) { u.ugold += mdef->mgold; mdef->mgold = 0; ! /*JP Your("purse feels heavier.");*/ ! You("ºâÉÛ¤¬½Å¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); } exercise(A_DEX, TRUE); tmp = 0; *************** *** 1028,1039 **** if(tmp <= 0) tmp = 1; if(tmp < mdef->mhp) { rloc(mdef); ! if(!Blind) pline("%s suddenly disappears!", Monnam(mdef)); } break; case AD_BLND: if (!resists_blnd(mdef)) { ! if(!Blind) pline("%s is blinded.", Monnam(mdef)); mdef->mcansee = 0; mdef->mblinded += tmp; } --- 1137,1150 ---- if(tmp <= 0) tmp = 1; if(tmp < mdef->mhp) { rloc(mdef); ! /*JP if(!Blind) pline("%s suddenly disappears!", Monnam(mdef));*/ ! if(!Blind) pline("%s¤ÏÆÍÁ³¾Ã¤¨¤¿¡ª", Monnam(mdef)); } break; case AD_BLND: if (!resists_blnd(mdef)) { ! /*JP if(!Blind) pline("%s is blinded.", Monnam(mdef));*/ ! if(!Blind) pline("%s¤ÏÌܤ¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡¥", Monnam(mdef)); mdef->mcansee = 0; mdef->mblinded += tmp; } *************** *** 1043,1055 **** if (night() && !rn2(10) && !mdef->mcan) { if (mdef->data == &mons[PM_CLAY_GOLEM]) { if (!Blind) ! pline("Some writing vanishes from %s head!", s_suffix(mon_nam(mdef))); xkilled(mdef, 0); /* Don't return yet; keep hp<1 and tmp=0 for pet msg */ } else { mdef->mcan = 1; ! You("chuckle."); } } tmp = 0; --- 1154,1168 ---- if (night() && !rn2(10) && !mdef->mcan) { if (mdef->data == &mons[PM_CLAY_GOLEM]) { if (!Blind) ! /*JP pline("Some writing vanishes from %s head!",*/ ! pline("¤¤¤¯¤Ä¤«¤Îʸ»ú¤¬%s¤ÎƬ¤«¤é¾Ã¤¨¤¿¡ª", s_suffix(mon_nam(mdef))); xkilled(mdef, 0); /* Don't return yet; keep hp<1 and tmp=0 for pet msg */ } else { mdef->mcan = 1; ! /*JP You("chuckle.");*/ ! You("¤¯¤¹¤¯¤¹¾Ð¤Ã¤¿¡¥"); } } tmp = 0; *************** *** 1057,1066 **** case AD_DRLI: if (rn2(2) && !resists_drli(mdef)) { int xtmp = d(2,6); ! pline("%s suddenly seems weaker!", Monnam(mdef)); mdef->mhpmax -= xtmp; if ((mdef->mhp -= xtmp) <= 0 || !mdef->m_lev) { ! pline("%s dies!", Monnam(mdef)); xkilled(mdef,0); } else mdef->m_lev--; --- 1170,1181 ---- case AD_DRLI: if (rn2(2) && !resists_drli(mdef)) { int xtmp = d(2,6); ! /*JP pline("%s suddenly seems weaker!", Monnam(mdef));*/ ! pline("%s¤ÏÆÍÁ³¼å¤¯¤Ê¤Ã¤¿¤è¤¦¤Ë¸«¤¨¤¿¡ª", Monnam(mdef)); mdef->mhpmax -= xtmp; if ((mdef->mhp -= xtmp) <= 0 || !mdef->m_lev) { ! /*JP pline("%s dies!", Monnam(mdef));*/ ! pline("%s¤Ï»à¤ó¤À¡ª", Monnam(mdef)); xkilled(mdef,0); } else mdef->m_lev--; *************** *** 1069,1075 **** break; case AD_RUST: if (pd == &mons[PM_IRON_GOLEM]) { ! pline("%s falls to pieces!", Monnam(mdef)); xkilled(mdef,0); } tmp = 0; --- 1184,1191 ---- break; case AD_RUST: if (pd == &mons[PM_IRON_GOLEM]) { ! /*JP pline("%s falls to pieces!", Monnam(mdef));*/ ! pline("%s¤Ï¥Ð¥é¥Ð¥é¤Ë¤Ê¤Ã¤¿¡ª", Monnam(mdef)); xkilled(mdef,0); } tmp = 0; *************** *** 1077,1083 **** case AD_DCAY: if (pd == &mons[PM_WOOD_GOLEM] || pd == &mons[PM_LEATHER_GOLEM]) { ! pline("%s falls to pieces!", Monnam(mdef)); xkilled(mdef,0); } tmp = 0; --- 1193,1200 ---- case AD_DCAY: if (pd == &mons[PM_WOOD_GOLEM] || pd == &mons[PM_LEATHER_GOLEM]) { ! /*JP pline("%s falls to pieces!", Monnam(mdef));*/ ! pline("%s¤Ï¥Ð¥é¥Ð¥é¤Ë¤Ê¤Ã¤¿¡ª", Monnam(mdef)); xkilled(mdef,0); } tmp = 0; *************** *** 1086,1098 **** case AD_DRDX: case AD_DRCO: if (!rn2(8)) { ! Your("%s was poisoned!", mpoisons_subj(&youmonst, mattk)); if (resists_poison(mdef)) ! pline_The("poison doesn't seem to affect %s.", mon_nam(mdef)); else { if (!rn2(10)) { ! Your("poison was deadly..."); tmp = mdef->mhp; } else tmp += rn1(10,6); } --- 1203,1218 ---- case AD_DRDX: case AD_DRCO: if (!rn2(8)) { ! /*JP Your("%s was poisoned!", mpoisons_subj(&youmonst, mattk));*/ ! Your("%s¤ÏÆǤµ¤ì¤Æ¤¤¤ë¡ª", mpoisons_subj(&youmonst, mattk)); if (resists_poison(mdef)) ! /*JP pline_The("poison doesn't seem to affect %s.",*/ ! pline("ÆǤÏ%s¤Ë±Æ¶Á¤òÍ¿¤¨¤Ê¤¤¡¥", mon_nam(mdef)); else { if (!rn2(10)) { ! /*JP Your("poison was deadly...");*/ ! Your("Í¿¤¨¤¿ÆǤÏÃ×»àÎ̤À¤Ã¤¿¡¥¡¥¡¥"); tmp = mdef->mhp; } else tmp += rn1(10,6); } *************** *** 1100,1120 **** --- 1220,1253 ---- break; case AD_DRIN: if (!has_head(mdef->data)) { + /*JP pline("%s doesn't seem harmed.", Monnam(mdef)); + */ + pline("%s¤Ï½ý¤Ä¤¤¤¿¤è¤¦¤Ë¤Ï¸«¤¨¤Ê¤¤¡¥", Monnam(mdef)); tmp = 0; break; } if (m_slips_free(mdef, mattk)) break; if ((mdef->misc_worn_check & W_ARMH) && rn2(8)) { + /*JP pline("%s helmet blocks your attack to %s head.", s_suffix(Monnam(mdef)), his[pronoun_gender(mdef)]); + */ + pline("%s¤Î³õ¤¬Æ¬¤Ø¤Î¹¶·â¤òËɤ¤¤À¡¥", + s_suffix(Monnam(mdef))); break; } + /*JP You("eat %s brain!", s_suffix(mon_nam(mdef))); + */ + You("%s¤ÎǾ¤ò¿©¤Ù¤¿¡ª", s_suffix(mon_nam(mdef))); if (mindless(mdef->data)) { + /*JP pline("%s doesn't notice.", Monnam(mdef)); + */ + pline("%s¤Ï¤Ü¡¼¤Ã¤È¤·¤Æ¤¤¤ë¡¥", Monnam(mdef)); break; } tmp += rnd(10); *************** *** 1137,1153 **** if (m_slips_free(mdef, mattk)) { tmp = 0; } else { ! You("swing yourself around %s!", mon_nam(mdef)); u.ustuck = mdef; } } else if(u.ustuck == mdef) { /* Monsters don't wear amulets of magical breathing */ if (is_pool(u.ux,u.uy) && !is_swimmer(mdef->data)) { ! You("drown %s...", mon_nam(mdef)); tmp = mdef->mhp; } else if(mattk->aatyp == AT_HUGS) ! pline("%s is being crushed.", Monnam(mdef)); } else { tmp = 0; if(flags.verbose) { --- 1270,1289 ---- if (m_slips_free(mdef, mattk)) { tmp = 0; } else { ! /*JP You("swing yourself around %s!",*/ ! You("%s¤Î¼þ°Ï¤ò¤¤¤Ã¤¿¤ê¤­¤¿¤ê¤·¤¿¡ª", mon_nam(mdef)); u.ustuck = mdef; } } else if(u.ustuck == mdef) { /* Monsters don't wear amulets of magical breathing */ if (is_pool(u.ux,u.uy) && !is_swimmer(mdef->data)) { ! /*JP You("drown %s...", mon_nam(mdef));*/ ! You("%s¤òÅ®¤ì¤µ¤»¤¿¡¥¡¥¡¥", mon_nam(mdef)); tmp = mdef->mhp; } else if(mattk->aatyp == AT_HUGS) ! /*JP pline("%s is being crushed.", Monnam(mdef));*/ ! pline("%s¤Ï²¡¤·¤Ä¤Ö¤µ¤ì¤¿¡¥", Monnam(mdef)); } else { tmp = 0; if(flags.verbose) { *************** *** 1155,1162 **** pu = uasmon; uasmon = mdef->data; ! You("brush against %s%ss %s.", mon_nam(mdef), ! canspotmon(mdef) ? "'" : "", body_part(LEG)); uasmon = pu; } --- 1291,1298 ---- pu = uasmon; uasmon = mdef->data; ! /*JP You("brush against %s%ss %s.", mon_nam(mdef),*/ ! You("%s¤Î%s¤Ë¿¨¤ì¤¿¡¥", mon_nam(mdef), body_part(LEG)); uasmon = pu; } *************** *** 1165,1171 **** break; case AD_PLYS: if (mdef->mcanmove && !rn2(3) && tmp < mdef->mhp) { ! if (!Blind) pline("%s is frozen by you!", Monnam(mdef)); mdef->mcanmove = 0; mdef->mfrozen = rnd(10); } --- 1301,1308 ---- break; case AD_PLYS: if (mdef->mcanmove && !rn2(3) && tmp < mdef->mhp) { ! /*JP if (!Blind) pline("%s is frozen by you!", Monnam(mdef));*/ ! if (!Blind) pline("%s¤Ï¤¢¤Ê¤¿¤Î´ãÎϤÇÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡ª", Monnam(mdef)); mdef->mcanmove = 0; mdef->mfrozen = rnd(10); } *************** *** 1173,1179 **** case AD_SLEE: if (!mdef->msleep && sleep_monst(mdef, rnd(10), -1)) { if (!Blind) ! pline("%s is put to sleep by you!", Monnam(mdef)); slept_monst(mdef); } break; --- 1310,1317 ---- case AD_SLEE: if (!mdef->msleep && sleep_monst(mdef, rnd(10), -1)) { if (!Blind) ! /*JP pline("%s is put to sleep by you!", Monnam(mdef));*/ ! pline("%s¤ÏÆÍÁ³Ì²¤ê¤Ë¤ª¤Á¤¿¡ª", Monnam(mdef)); slept_monst(mdef); } break; *************** *** 1183,1192 **** if((mdef->mhp -= tmp) < 1) { if (mdef->mtame && !cansee(mdef->mx,mdef->my)) { ! You_feel("embarrassed for a moment."); if (tmp) xkilled(mdef, 0); /* !tmp but hp<1: already killed */ } else if (!flags.verbose) { ! You("destroy it!"); if (tmp) xkilled(mdef, 0); } else if (tmp) killed(mdef); --- 1321,1332 ---- if((mdef->mhp -= tmp) < 1) { if (mdef->mtame && !cansee(mdef->mx,mdef->my)) { ! /*JP You_feel("embarrassed for a moment.");*/ ! You("¤·¤Ð¤é¤¯º¤ÏǤ·¤¿¡¥"); if (tmp) xkilled(mdef, 0); /* !tmp but hp<1: already killed */ } else if (!flags.verbose) { ! /*JP You("destroy it!");*/ ! You("Åݤ·¤¿¡ª"); if (tmp) xkilled(mdef, 0); } else if (tmp) killed(mdef); *************** *** 1202,1219 **** { register int tmp = d((int)mattk->damn, (int)mattk->damd); ! You("explode!"); switch(mattk->adtyp) { case AD_BLND: if (!resists_blnd(mdef)) { ! pline("%s is blinded by your flash of light!", Monnam(mdef)); mdef->mblinded = min((int)mdef->mblinded + tmp, 127); mdef->mcansee = 0; } break; case AD_HALU: if (haseyes(mdef->data) && mdef->mcansee) { ! pline("%s is affected by your flash of light!", Monnam(mdef)); mdef->mconf = 1; } --- 1342,1363 ---- { register int tmp = d((int)mattk->damn, (int)mattk->damd); ! /*JP You("explode!");*/ ! You("Çúȯ¤·¤¿¡ª"); switch(mattk->adtyp) { case AD_BLND: if (!resists_blnd(mdef)) { ! /*JP pline("%s is blinded by your flash of light!", Monnam(mdef));*/ ! pline("%s¤Ï¤Þ¤Ð¤æ¤¤¸÷¤ÇÌܤ¬¤¯¤é¤ó¤À¡ª", Monnam(mdef)); ! mdef->mblinded = min((int)mdef->mblinded + tmp, 127); mdef->mcansee = 0; } break; case AD_HALU: if (haseyes(mdef->data) && mdef->mcansee) { ! /*JP pline("%s is affected by your flash of light!",*/ ! pline("%s¤Ï¤Þ¤Ð¤æ¤¤¸÷¤Ç±Æ¶Á¤ò¤¦¤±¤¿¡ª", Monnam(mdef)); mdef->mconf = 1; } *************** *** 1221,1226 **** --- 1365,1371 ---- case AD_COLD: if (!resists_cold(mdef)) { pline("%s gets blasted!", Monnam(mdef)); + pline("%s¤Ïɹ¤òÍá¤Ó¤¿¡ª", Monnam(mdef)); mdef->mhp -= tmp; if (mdef->mhp <= 0) { killed(mdef); *************** *** 1231,1237 **** if (is_golem(mdef->data)) golemeffects(mdef, AD_COLD, tmp); else ! pline_The("blast doesn't seem to affect %s.", mon_nam(mdef)); } break; --- 1376,1383 ---- if (is_golem(mdef->data)) golemeffects(mdef, AD_COLD, tmp); else ! /*JP pline_The("blast doesn't seem to affect %s.",*/ ! pline("ɹ¤ÎÉ÷¤Ï%s¤Ë±Æ¶Á¤òÍ¿¤¨¤Ê¤«¤Ã¤¿¤è¤¦¤À¡¥", mon_nam(mdef)); } break; *************** *** 1250,1256 **** tmp_at(DISP_ALWAYS, mon_to_glyph(&youmonst)); tmp_at(mdef->mx, mdef->my); } ! You("engulf %s!", mon_nam(mdef)); delay_output(); delay_output(); } --- 1396,1403 ---- tmp_at(DISP_ALWAYS, mon_to_glyph(&youmonst)); tmp_at(mdef->mx, mdef->my); } ! /*JP You("engulf %s!", mon_nam(mdef));*/ ! You("%s¤ò°û¤ß¹þ¤ó¤À¡ª", mon_nam(mdef)); delay_output(); delay_output(); } *************** *** 1297,1315 **** case AD_DGST: /* eating a Rider or its corpse is fatal */ if (is_rider(mdef->data)) { ! pline("Unfortunately, digesting any of it is fatal."); end_engulf(); ! Sprintf(msgbuf, "unwisely tried to eat %s", ! mdef->data->mname); killer = msgbuf; ! killer_format = NO_KILLER_PREFIX; done(DIED); return 0; /* lifesaved */ } u.uhunger += mdef->data->cnutrit; newuhs(FALSE); xkilled(mdef,2); ! Sprintf(msgbuf, "You totally digest %s.", mon_nam(mdef)); if ((tmp = 3 + (mdef->data->cwt >> 6)) != 0) { /* setting afternmv = end_engulf is tempting, --- 1444,1467 ---- case AD_DGST: /* eating a Rider or its corpse is fatal */ if (is_rider(mdef->data)) { ! /*JP pline("Unfortunately, digesting any of it is fatal.");*/ ! pline("¤½¤Î¼ï¤ò¾Ã²½¤¹¤ë¤Î¤ÏÃ×̿Ū¤Ê´Ö°ã¤¤¤À¡¥"); end_engulf(); ! /*JP Sprintf(msgbuf, "unwisely tried to eat %s", ! mdef->data->mname);*/ ! Sprintf(msgbuf, "¶ò¤«¤Ë¤â%s¤ò¿©¤Ù¤Æ", ! jtrns_mon(mdef->data->mname, -1)); killer = msgbuf; ! /*JP killer_format = NO_KILLER_PREFIX;*/ ! killer_format = KILLED_BY; done(DIED); return 0; /* lifesaved */ } u.uhunger += mdef->data->cnutrit; newuhs(FALSE); xkilled(mdef,2); ! /*JP Sprintf(msgbuf, "You totally digest %s.",*/ ! Sprintf(msgbuf, "¤¢¤Ê¤¿¤Ï%s¤ò´°Á´¤Ë¾Ã²½¤·¤¿¡¥", mon_nam(mdef)); if ((tmp = 3 + (mdef->data->cwt >> 6)) != 0) { /* setting afternmv = end_engulf is tempting, *************** *** 1317,1323 **** * attacked (which uses his real location) or * if his See_invisible wears off */ ! You("digest %s.", mon_nam(mdef)); nomul(-tmp); nomovemsg = msgbuf; } else pline(msgbuf); --- 1469,1476 ---- * attacked (which uses his real location) or * if his See_invisible wears off */ ! /*JP You("digest %s.", mon_nam(mdef));*/ ! You("%s¤ò¾Ã²½¤·¤Æ¤¤¤ë¡¥", mon_nam(mdef)); nomul(-tmp); nomovemsg = msgbuf; } else pline(msgbuf); *************** *** 1325,1343 **** exercise(A_CON, TRUE); return(2); case AD_PHYS: ! pline("%s is pummeled with your debris!",Monnam(mdef)); break; case AD_ACID: ! pline("%s is covered with your goo!", Monnam(mdef)); if (resists_acid(mdef)) { ! pline("It seems harmless to %s.", mon_nam(mdef)); dam = 0; } break; case AD_BLND: if (!resists_blnd(mdef)) { if (mdef->mcansee) ! pline("%s can't see in there!", Monnam(mdef)); mdef->mcansee = 0; dam += mdef->mblinded; if (dam > 127) dam = 127; --- 1478,1500 ---- exercise(A_CON, TRUE); return(2); case AD_PHYS: ! /*JP pline("%s is pummeled with your debris!",Monnam(mdef));*/ ! pline("%s¤Ï´¤ãª¤ÇÄˤá¤Ä¤±¤é¤ì¤¿¡ª",Monnam(mdef)); break; case AD_ACID: ! /*JP pline("%s is covered with your goo!", Monnam(mdef));*/ ! pline("%s¤Ï¤Í¤Ð¤Ä¤¯¤â¤Î¤Ç¤ª¤ï¤ì¤¿¡ª", Monnam(mdef)); if (resists_acid(mdef)) { ! /*JP pline("It seems harmless to %s.", mon_nam(mdef));*/ ! pline("¤¬¡¤%s¤Ï¤Ê¤ó¤È¤â¤Ê¤¤¡¥", mon_nam(mdef)); dam = 0; } break; case AD_BLND: if (!resists_blnd(mdef)) { if (mdef->mcansee) ! /*JP pline("%s can't see in there!", Monnam(mdef));*/ ! pline("%s¤ÏÌܤ¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡ª", Monnam(mdef)); mdef->mcansee = 0; dam += mdef->mblinded; if (dam > 127) dam = 127; *************** *** 1347,1355 **** break; case AD_ELEC: if (rn2(2)) { ! pline_The("air around %s crackles with electricity.", mon_nam(mdef)); if (resists_elec(mdef)) { ! pline("%s seems unhurt.", Monnam(mdef)); dam = 0; } golemeffects(mdef,(int)mattk->adtyp,dam); --- 1504,1515 ---- break; case AD_ELEC: if (rn2(2)) { ! /*JP pline_The("air around %s crackles with electricity.", mon_nam(mdef));*/ ! pline("%s¤Î²ó¤ê¤Î¶õµ¤¤ÏÀÅÅŵ¤¤Ç¥Ô¥ê¥Ô¥ê¤·¤Æ¤¤¤ë¡¥", mon_nam(mdef)); ! if (resists_elec(mdef)) { ! /*JP pline("%s seems unhurt.", Monnam(mdef));*/ ! pline("¤¬¡¤%s¤ÏÊ¿µ¤¤Ê¤è¤¦¤À¡¥", Monnam(mdef)); dam = 0; } golemeffects(mdef,(int)mattk->adtyp,dam); *************** *** 1358,1377 **** case AD_COLD: if (rn2(2)) { if (resists_cold(mdef)) { ! pline("%s seems mildly chilly.", Monnam(mdef)); dam = 0; } else ! pline("%s is freezing to death!",Monnam(mdef)); golemeffects(mdef,(int)mattk->adtyp,dam); } else dam = 0; break; case AD_FIRE: if (rn2(2)) { if (resists_fire(mdef)) { ! pline("%s seems mildly hot.", Monnam(mdef)); dam = 0; } else ! pline("%s is burning to a crisp!",Monnam(mdef)); golemeffects(mdef,(int)mattk->adtyp,dam); } else dam = 0; break; --- 1518,1542 ---- case AD_COLD: if (rn2(2)) { if (resists_cold(mdef)) { ! /*JP pline("%s seems mildly chilly.", Monnam(mdef));*/ ! pline("%s¤ÏÎ䤨¤¿¤è¤¦¤À¡¥", Monnam(mdef)); dam = 0; } else ! /*JP pline("%s is freezing to death!",Monnam(mdef));*/ ! pline("%s¤ÏÅà»à¤·¤Æ¤·¤Þ¤Ã¤¿¡ª",Monnam(mdef)); golemeffects(mdef,(int)mattk->adtyp,dam); } else dam = 0; break; case AD_FIRE: if (rn2(2)) { if (resists_fire(mdef)) { ! /*JP pline("%s seems mildly hot.", Monnam(mdef));*/ ! pline("%s¤ÏÃȤ«¤¯¤Ê¤Ã¤¿¤è¤¦¤À¡¥", Monnam(mdef)); dam = 0; } else ! /*JP pline("%s is burning to a crisp!",Monnam(mdef));*/ ! pline("%s¤Ïdz¤¨¤Æ¥«¥é¥«¥é¤Ë¤Ê¤Ã¤¿¡ª",Monnam(mdef)); ! golemeffects(mdef,(int)mattk->adtyp,dam); } else dam = 0; break; *************** *** 1381,1397 **** killed(mdef); return(2); } ! You("%s %s!", is_animal(uasmon) ? "regurgitate" ! : "expel", mon_nam(mdef)); if (is_animal(uasmon)) { ! pline("Obviously, you didn't like %s taste.", s_suffix(mon_nam(mdef))); } } else { ! You("bite into %s", mon_nam(mdef)); ! You("turn to stone..."); killer_format = KILLED_BY; ! killer = "swallowing a cockatrice whole"; done(STONING); } } --- 1546,1569 ---- killed(mdef); return(2); } ! /*JP You("%s %s!", is_animal(uasmon) ? "regurgitate" ! : "expel", mon_nam(mdef));*/ ! You("%s¤ò%s¡ª", mon_nam(mdef), ! is_animal(uasmon) ? "ÅǤ­Ìᤷ¤¿" : "ÅǽФ·¤¿"); ! if (is_animal(uasmon)) { ! /*JP pline("Obviously, you didn't like %s taste.",*/ ! pline("¤É¤¦¤â%s¤ÎÌ£¤Ï¹¥¤­¤Ë¤Ê¤ì¤Ê¤¤¡¥", s_suffix(mon_nam(mdef))); } } else { ! /*JP You("bite into %s", mon_nam(mdef));*/ ! You("%s¤Ë³ú¤ß¤Ä¤¤¤¿", mon_nam(mdef)); ! /*JP You("turn to stone...");*/ ! You("ÀФˤʤä¿¡¥¡¥¡¥"); killer_format = KILLED_BY; ! /*JP killer = "swallowing a cockatrice whole";*/ ! killer = "¥³¥«¥È¥ê¥¹¤ò¤Þ¤ë¤Þ¤ë°û¤ß¤³¤ó¤Ç"; done(STONING); } } *************** *** 1404,1414 **** register struct attack *mattk; { if (could_seduce(&youmonst, mdef, mattk)) ! You("pretend to be friendly to %s.", mon_nam(mdef)); else if(canspotmon(mdef) && flags.verbose) ! You("miss %s.", mon_nam(mdef)); else ! You("miss it."); if(!mdef->msleep && mdef->mcanmove) wakeup(mdef); } --- 1576,1589 ---- register struct attack *mattk; { if (could_seduce(&youmonst, mdef, mattk)) ! /*JP You("pretend to be friendly to %s.", mon_nam(mdef));*/ ! You("%s¤Ëͧ¹¥Åª¤Ê¤Õ¤ê¤ò¤·¤¿¡¥", mon_nam(mdef)); else if(canspotmon(mdef) && flags.verbose) ! /*JP You("miss %s.", mon_nam(mdef));*/ ! Your("%s¤Ø¤Î¹¶·â¤Ï³°¤ì¤¿¡¥", mon_nam(mdef)); else ! /*JP You("miss it.");*/ ! Your("²¿¼Ô¤«¤Ø¤Î¹¶·â¤Ï³°¤ì¤¿¡¥"); if(!mdef->msleep && mdef->mcanmove) wakeup(mdef); } *************** *** 1473,1506 **** if (!u.uswallow && (compat=could_seduce(&youmonst, mon, mattk))) { ! You("%s %s %s.", mon->mcansee && haseyes(mon->data) ? "smile at" : "talk to", mon_nam(mon), ! compat == 2 ? "engagingly":"seductively"); /* doesn't anger it; no wakeup() */ sum[i] = damageum(mon, mattk); break; } wakeup(mon); if (mon->data == &mons[PM_SHADE]) { ! Your("attack passes harmlessly through %s.", mon_nam(mon)); break; } if (mattk->aatyp == AT_KICK) ! You("kick %s.", mon_nam(mon)); else if (mattk->aatyp == AT_BITE) ! You("bite %s.", mon_nam(mon)); else if (mattk->aatyp == AT_STNG) ! You("sting %s.", mon_nam(mon)); else if (mattk->aatyp == AT_BUTT) ! You("butt %s.", mon_nam(mon)); else if (mattk->aatyp == AT_TUCH) ! You("touch %s.", mon_nam(mon)); else if (mattk->aatyp == AT_TENT) ! Your("tentacles suck %s.", mon_nam(mon)); ! else You("hit %s.", mon_nam(mon)); sum[i] = damageum(mon, mattk); } else missum(mon, mattk); --- 1648,1694 ---- if (!u.uswallow && (compat=could_seduce(&youmonst, mon, mattk))) { ! /*JP You("%s %s %s.", mon->mcansee && haseyes(mon->data) ? "smile at" : "talk to", mon_nam(mon), ! compat == 2 ? "engagingly":"seductively");*/ ! You("%s¤Ø%s%s¡¥", ! mon_nam(mon), ! compat == 2 ? "Ì¥ÎÏŪ¤Ë":"ͶÏÇŪ¤Ë", ! mon->mcansee && haseyes(mon->data) ! ? "Èù¾Ð¤ß¤«¤±¤¿" : "Ïä·¤«¤±¤¿"); /* doesn't anger it; no wakeup() */ sum[i] = damageum(mon, mattk); break; } wakeup(mon); if (mon->data == &mons[PM_SHADE]) { ! /*JP Your("attack passes harmlessly through %s.",*/ ! Your("%s¤Ø¤Î¹¶·â¤Ï¼ºÇÔ¤·¤¿¡¥", mon_nam(mon)); break; } if (mattk->aatyp == AT_KICK) ! /*JP You("kick %s.", mon_nam(mon));*/ ! You("%s¤ò½³¤Ã¤¿¡¥", mon_nam(mon)); else if (mattk->aatyp == AT_BITE) ! /*JP You("bite %s.", mon_nam(mon));*/ ! You("%s¤Ë³ú¤ß¤Ä¤¤¤¿¡¥", mon_nam(mon)); else if (mattk->aatyp == AT_STNG) ! /*JP You("sting %s.", mon_nam(mon));*/ ! You("%s¤òÆͤ­¤µ¤·¤¿¡¥", mon_nam(mon)); else if (mattk->aatyp == AT_BUTT) ! /*JP You("butt %s.", mon_nam(mon));*/ ! You("%s¤ËƬÆͤ­¤ò¤¯¤é¤ï¤·¤¿¡¥", mon_nam(mon)); else if (mattk->aatyp == AT_TUCH) ! /*JP You("touch %s.", mon_nam(mon));*/ ! You("%s¤Ë¿¨¤ì¤¿¡¥", mon_nam(mon)); else if (mattk->aatyp == AT_TENT) ! /*JP Your("tentacles suck %s.", mon_nam(mon));*/ ! Your("¿¨¼ê¤¬%s¤ÎÂαդòµÛ¤¤¤È¤Ã¤¿¡¥", mon_nam(mon)); ! /*JP else You("hit %s.", mon_nam(mon));*/ ! else Your("%s¤Ø¤Î¹¶·â¤ÏÌ¿Ã椷¤¿¡¥", mon_nam(mon)); sum[i] = damageum(mon, mattk); } else missum(mon, mattk); *************** *** 1513,1528 **** dhit = 1; wakeup(mon); if (mon->data == &mons[PM_SHADE]) ! Your("hug passes harmlessly through %s.", mon_nam(mon)); else if (!sticks(mon->data) && !u.uswallow) if (mon==u.ustuck) { ! pline("%s is being %s.", Monnam(mon), u.umonnum==PM_ROPE_GOLEM ? "choked": ! "crushed"); sum[i] = damageum(mon, mattk); } else if(i >= 2 && sum[i-1] && sum[i-2]) { ! You("grab %s!", mon_nam(mon)); u.ustuck = mon; sum[i] = damageum(mon, mattk); } --- 1701,1721 ---- dhit = 1; wakeup(mon); if (mon->data == &mons[PM_SHADE]) ! /*JP Your("hug passes harmlessly through %s.",*/ ! You("%s¤ò±©¸ò¤¤¹Ê¤á¤Ë¤·¤è¤¦¤È¤·¤¿¤¬¼ºÇÔ¤·¤¿¡¥", mon_nam(mon)); else if (!sticks(mon->data) && !u.uswallow) if (mon==u.ustuck) { ! /*JP pline("%s is being %s.", Monnam(mon), u.umonnum==PM_ROPE_GOLEM ? "choked": ! "crushed");*/ ! pline("%s¤Ï%s¡¥", Monnam(mon), ! u.umonnum==PM_ROPE_GOLEM ? "¼ó¤ò¹Ê¤á¤é¤ì¤Æ¤¤¤ë": ! "²¡¤·¤Ä¤Ö¤µ¤ì¤Æ¤¤¤ë"); sum[i] = damageum(mon, mattk); } else if(i >= 2 && sum[i-1] && sum[i-2]) { ! /*JP You("grab %s!", mon_nam(mon));*/ ! You("%s¤ò¤Ä¤«¤Þ¤¨¤¿¡ª", mon_nam(mon)); u.ustuck = mon; sum[i] = damageum(mon, mattk); } *************** *** 1538,1544 **** if((dhit = (tmp > rnd(20+i)))) { wakeup(mon); if (mon->data == &mons[PM_SHADE]) ! Your("attempt to surround %s is harmless.", mon_nam(mon)); else sum[i]= gulpum(mon,mattk); --- 1731,1738 ---- if((dhit = (tmp > rnd(20+i)))) { wakeup(mon); if (mon->data == &mons[PM_SHADE]) ! /*JP Your("attempt to surround %s is harmless.",*/ ! You("%s¤ò°û¤ß¤³¤â¤¦¤È¤·¤¿¤¬¼ºÇÔ¤·¤¿¡¥", mon_nam(mon)); else sum[i]= gulpum(mon,mattk); *************** *** 1616,1623 **** case AD_ACID: if(mhit && rn2(2)) { ! if (Blind || !flags.verbose) You("are splashed!"); ! else You("are splashed by %s acid!", s_suffix(mon_nam(mon))); if (!resists_acid(&youmonst)) --- 1810,1819 ---- case AD_ACID: if(mhit && rn2(2)) { ! /*JP if (Blind || !flags.verbose) You("are splashed!");*/ ! if (Blind || !flags.verbose) You("²¿¤«¤òÍá¤Ó¤»¤é¤ì¤¿¡ª"); ! /*JP else You("are splashed by %s acid!", */ ! else You("%s¤Î»À¤òÍá¤Ó¤»¤é¤ì¤¿¡ª", s_suffix(mon_nam(mon))); if (!resists_acid(&youmonst)) *************** *** 1637,1643 **** if ((kicked && !uarmf) || (!kicked && !uwep && !uarmg)) { if (!resists_ston(&youmonst) && !(poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM))) { ! You("turn to stone..."); done_in_by(mon); return 2; } --- 1833,1840 ---- if ((kicked && !uarmf) || (!kicked && !uwep && !uarmg)) { if (!resists_ston(&youmonst) && !(poly_when_stoned(uasmon) && polymon(PM_STONE_GOLEM))) { ! /*JP You("turn to stone...");*/ ! You("ÀФˤʤä¿¡¥¡¥¡¥"); done_in_by(mon); return 2; } *************** *** 1655,1663 **** /* wrath of gods for attacking Oracle */ if(Antimagic) { shieldeff(u.ux, u.uy); ! pline("A hail of magic missiles narrowly misses you!"); } else { ! You("are hit by magic missiles appearing from thin air!"); mdamageu(mon, tmp); } break; --- 1852,1862 ---- /* wrath of gods for attacking Oracle */ if(Antimagic) { shieldeff(u.ux, u.uy); ! /*JP pline("A hail of magic missiles narrowly misses you!");*/ ! pline("ËâË¡¤ÎÌð¤Î±«¤ò¤Ê¤ó¤È¤«¤«¤ï¤·¤¿¡ª"); } else { ! /*JP You("are hit by magic missiles appearing from thin air!");*/ ! pline("ÆÍÇ¡¶õÃæ¤Ë¸½¤ï¤ì¤¿ËâË¡¤ÎÌð¤¬Ì¿Ã椷¤¿¡ª"); mdamageu(mon, tmp); } break; *************** *** 1679,1702 **** if(mon->mcansee) { if(Reflecting & W_AMUL) { makeknown(AMULET_OF_REFLECTION); ! pline("%s gaze is reflected by your medallion.", s_suffix(Monnam(mon))); } else if(Reflecting & W_ARMS) { makeknown(SHIELD_OF_REFLECTION); ! pline("%s gaze is reflected by your shield.", s_suffix(Monnam(mon))); } else { ! You("are frozen by %s gaze!", s_suffix(mon_nam(mon))); nomul((ACURR(A_WIS) > 12 || rn2(4)) ? -tmp : -127); } } else { ! pline("%s cannot defend itself.", ! Adjmonnam(mon,"blind")); if(!rn2(500)) change_luck(-1); } } else { /* gelatinous cube */ ! You("are frozen by %s!", mon_nam(mon)); nomul(-tmp); exercise(A_DEX, FALSE); } --- 1878,1907 ---- if(mon->mcansee) { if(Reflecting & W_AMUL) { makeknown(AMULET_OF_REFLECTION); ! /*JP pline("%s gaze is reflected by your medallion.",*/ ! pline("%s¤Î¤Ë¤é¤ß¤ÏËâ½ü¤±¤Ë¤è¤Ã¤ÆÈ¿¼Í¤µ¤ì¤¿¡¥", s_suffix(Monnam(mon))); } else if(Reflecting & W_ARMS) { makeknown(SHIELD_OF_REFLECTION); ! /*JP pline("%s gaze is reflected by your shield.",*/ ! pline("%s¤Î¤Ë¤é¤ß¤Ï½â¤Ë¤è¤Ã¤ÆÈ¿¼Í¤µ¤ì¤¿¡¥", s_suffix(Monnam(mon))); } else { ! /*JP You("are frozen by %s gaze!", */ ! You("%s¤Î¤Ë¤é¤ß¤ÇÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡¥", s_suffix(mon_nam(mon))); nomul((ACURR(A_WIS) > 12 || rn2(4)) ? -tmp : -127); } } else { ! /*JP pline("%s cannot defend itself.", ! Adjmonnam(mon,"blind"));*/ ! pline("Ìܤ諤¨¤Ê¤¤%s¤Ï¼«Ê¬¼«¿È¤ò¼é¤ì¤Ê¤¤¡¥", ! jtrns_mon(mon_nam(mon), -1)); if(!rn2(500)) change_luck(-1); } } else { /* gelatinous cube */ ! /*JP You("are frozen by %s!", mon_nam(mon));*/ ! You("%s¤Ë¤è¤Ã¤ÆÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡ª", mon_nam(mon)); nomul(-tmp); exercise(A_DEX, FALSE); } *************** *** 1705,1715 **** if(monnear(mon, u.ux, u.uy)) { if(Cold_resistance) { shieldeff(u.ux, u.uy); ! You_feel("a mild chill."); ugolemeffects(AD_COLD, tmp); break; } ! You("are suddenly very cold!"); mdamageu(mon, tmp); /* monster gets stronger with your heat! */ mon->mhp += tmp / 2; --- 1910,1922 ---- if(monnear(mon, u.ux, u.uy)) { if(Cold_resistance) { shieldeff(u.ux, u.uy); ! /*JP You_feel("a mild chill.");*/ ! You("´¨¤µ¤ò´¶¤¸¤¿¡¥"); ugolemeffects(AD_COLD, tmp); break; } ! /*JP You("are suddenly very cold!");*/ ! You("ÆÍÁ³¡¤ÌÔÎõ¤Ë´¨¤¯¤Ê¤Ã¤¿¡ª"); mdamageu(mon, tmp); /* monster gets stronger with your heat! */ mon->mhp += tmp / 2; *************** *** 1721,1727 **** if ((mtmp = clone_mon(mon)) != 0) { mtmp->mhpmax = mon->mhpmax /= 2; if(!Blind) ! pline("%s multiplies from your heat!", Monnam(mon)); } } --- 1928,1935 ---- if ((mtmp = clone_mon(mon)) != 0) { mtmp->mhpmax = mon->mhpmax /= 2; if(!Blind) ! /*JP pline("%s multiplies from your heat!",*/ ! pline("%s¤ÏÇ®¤ÇʬÎö¤·¤¿¡ª", Monnam(mon)); } } *************** *** 1735,1756 **** if(monnear(mon, u.ux, u.uy)) { if(Fire_resistance) { shieldeff(u.ux, u.uy); ! You_feel("mildly warm."); ugolemeffects(AD_FIRE, tmp); break; } ! You("are suddenly very hot!"); mdamageu(mon, tmp); } break; case AD_ELEC: if(Shock_resistance) { shieldeff(u.ux, u.uy); ! You_feel("a mild tingle."); ugolemeffects(AD_ELEC, tmp); break; } ! You("are jolted with electricity!"); mdamageu(mon, tmp); break; default: --- 1943,1968 ---- if(monnear(mon, u.ux, u.uy)) { if(Fire_resistance) { shieldeff(u.ux, u.uy); ! /*JP You("feel mildly warm.");*/ ! You("ÃȤ«¤µ¤ò´¶¤¸¤¿¡¥"); ugolemeffects(AD_FIRE, tmp); break; } ! /*JP You("are suddenly very hot!");*/ ! You("ÆÍÁ³¡¤ÌÔÎõ¤ËÇ®¤¯¤Ê¤Ã¤¿¡ª"); mdamageu(mon, tmp); } break; case AD_ELEC: if(Shock_resistance) { shieldeff(u.ux, u.uy); ! /*JP You("feel a mild tingle.");*/ ! You("¥Ô¥ê¥Ô¥ê¤Èáã¤ì¤ò´¶¤¸¤¿¡¥"); ugolemeffects(AD_ELEC, tmp); break; } ! /*JP You("are jolted with electricity!");*/ ! You("Åŵ¤¥·¥ç¥Ã¥¯¤ò¤¦¤±¤¿¡ª"); mdamageu(mon, tmp); break; default: *************** *** 1769,1784 **** u.ustuck = mtmp; if (Blind) { if(!Telepat) ! pline("Wait! That's a monster!"); } else if (glyph_is_cmap(levl[u.ux+u.dx][u.uy+u.dy].glyph) && (glyph_to_cmap(levl[u.ux+u.dx][u.uy+u.dy].glyph) == S_hcdoor || glyph_to_cmap(levl[u.ux+u.dx][u.uy+u.dy].glyph) == S_vcdoor)) ! pline_The("door actually was %s!", a_monnam(mtmp)); else if (glyph_is_object(levl[u.ux+u.dx][u.uy+u.dy].glyph) && glyph_to_obj(levl[u.ux+u.dx][u.uy+u.dy].glyph) == GOLD_PIECE) ! pline("That gold was %s!", a_monnam(mtmp)); else { ! pline("Wait! That's %s!", a_monnam(mtmp)); } wakeup(mtmp); /* clears mimicing */ --- 1981,2000 ---- u.ustuck = mtmp; if (Blind) { if(!Telepat) ! /*JP pline("Wait! That's a monster!");*/ ! pline("¤Á¤ç¤Ã¤È¤Þ¤Ã¤¿¡ª²øʪ¤À¡ª"); } else if (glyph_is_cmap(levl[u.ux+u.dx][u.uy+u.dy].glyph) && (glyph_to_cmap(levl[u.ux+u.dx][u.uy+u.dy].glyph) == S_hcdoor || glyph_to_cmap(levl[u.ux+u.dx][u.uy+u.dy].glyph) == S_vcdoor)) ! /*JP pline_The("door actually was %s!", a_monnam(mtmp));*/ ! pline("Èâ¤Ï¼ÂºÝ¤Ë¤Ï%s¤À¤Ã¤¿¡ª", a_monnam(mtmp)); else if (glyph_is_object(levl[u.ux+u.dx][u.uy+u.dy].glyph) && glyph_to_obj(levl[u.ux+u.dx][u.uy+u.dy].glyph) == GOLD_PIECE) ! /*JP pline("That gold was %s!", a_monnam(mtmp));*/ ! pline("¶â²ô¤Ï%s¤À¤Ã¤¿¡ª", a_monnam(mtmp)); else { ! /*JP pline("Wait! That's %s!", a_monnam(mtmp));*/ ! pline("¤Á¤ç¤Ã¤È¤Þ¤Ã¤¿¡ª%s¤À¡ª", a_monnam(mtmp)); } wakeup(mtmp); /* clears mimicing */ *************** *** 1793,1806 **** if (!u.umconf || mon->mconf) return; if (u.umconf == 1) { if (Blind) ! Your("%s stop tingling.", hands); else ! Your("%s stop glowing %s.", hands, hcolor(red)); } else { if (Blind) ! pline_The("tingling in your %s lessens.", hands); else ! Your("%s no longer glow so brightly %s.", hands, hcolor(red)); } u.umconf--; --- 2009,2026 ---- if (!u.umconf || mon->mconf) return; if (u.umconf == 1) { if (Blind) ! /*JP Your("%s stop tingling.", hands);*/ ! Your("%s¤Îáã¤ì¤¬¤È¤ì¤¿",hands); else ! /*JP Your("%s stop glowing %s.", hands, hcolor(red));*/ ! Your("%s¤Î%sµ±¤­¤Ï¤Ê¤¯¤Ê¤Ã¤¿¡¥", hands, hcolor(red)); } else { if (Blind) ! /*JP pline_The("tingling in your %s lessens.", hands);*/ ! pline("%s¤Îáã¤ì¤¬¤È¤ì¤Æ¤­¤¿¡¥",hands); else ! /*JP Your("%s no longer glow so brightly %s.", hands,*/ ! Your("%s¤Î%sµ±¤­¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤­¤¿¡¥",hands, hcolor(red)); } u.umconf--; *************** *** 1815,1836 **** if (mtmp->msleep) { mtmp->msleep = 0; if (useeit) { ! pline_The("flash awakens %s.", mon_nam(mtmp)); res = 1; } } else if (mtmp->data->mlet != S_LIGHT) { if (!resists_blnd(mtmp)) { tmp = dist2(otmp->ox, otmp->oy, mtmp->mx, mtmp->my); if (useeit) { ! pline("%s is blinded by the flash!", Monnam(mtmp)); res = 1; } if (mtmp->data == &mons[PM_GREMLIN]) { /* Rule #1: Keep them out of the light. */ amt = otmp->otyp == WAN_LIGHT ? d(1 + otmp->spe, 4) : rn2(min(mtmp->mhp,4)); ! pline("%s %s!", Monnam(mtmp), amt > mtmp->mhp / 2 ? ! "wails in agony" : "cries out in pain"); if ((mtmp->mhp -= amt) <= 0) { if (flags.mon_moving) monkilled(mtmp, (char *)0, AD_BLND); --- 2035,2061 ---- if (mtmp->msleep) { mtmp->msleep = 0; if (useeit) { ! /*JP pline_The("flash awakens %s.", mon_nam(mtmp));*/ ! pline("Á®¸÷¤Ç%s¤¬Ìܤò³Ð¤Þ¤·¤¿¡¥", mon_nam(mtmp)); ! res = 1; } } else if (mtmp->data->mlet != S_LIGHT) { if (!resists_blnd(mtmp)) { tmp = dist2(otmp->ox, otmp->oy, mtmp->mx, mtmp->my); if (useeit) { ! /*JP pline("%s is blinded by the flash!", Monnam(mtmp));*/ ! pline("Á®¸÷¤Ç%s¤ÏÌܤ¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡¥", Monnam(mtmp)); res = 1; } if (mtmp->data == &mons[PM_GREMLIN]) { /* Rule #1: Keep them out of the light. */ amt = otmp->otyp == WAN_LIGHT ? d(1 + otmp->spe, 4) : rn2(min(mtmp->mhp,4)); ! /*JP pline("%s %s!", Monnam(mtmp), amt > mtmp->mhp / 2 ? ! "wails in agony" : "cries out in pain");*/ ! pline("%s¤Ï%s¡ª", Monnam(mtmp), amt > mtmp->mhp / 2 ? ! "¶ìÄˤÎÀ¼¤ò¤¢¤²¤¿" : "·ãÄˤǶ«¤ó¤À"); if ((mtmp->mhp -= amt) <= 0) { if (flags.mon_moving) monkilled(mtmp, (char *)0, AD_BLND); diff -c -r ../nethack-3.2.2/src/vault.c ./src/vault.c *** ../nethack-3.2.2/src/vault.c Sat Dec 28 21:53:54 1996 --- ./src/vault.c Tue Jul 22 23:18:41 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "vault.h" *************** *** 48,55 **** EGD(grd)->fcbeg++; } if(grd->mhp <= 0) { ! pline_The("corridor disappears."); ! if(IS_ROCK(levl[u.ux][u.uy].typ)) You("are encased in rock."); } return(TRUE); } --- 55,64 ---- EGD(grd)->fcbeg++; } if(grd->mhp <= 0) { ! /*JP pline_The("corridor disappears.");*/ ! pline("ÄÌÏ©¤Ï¾Ã¤¨¤¿¡¥"); ! /*JP if(IS_ROCK(levl[u.ux][u.uy].typ)) You("are encased in rock.");*/ ! if(IS_ROCK(levl[u.ux][u.uy].typ)) You("ÀФˤĤĤޤ줿¡¥"); } return(TRUE); } *************** *** 233,248 **** } reset_faint(); /* if fainted - wake up */ ! pline("Suddenly one of the Vault's guards enters!"); newsym(guard->mx,guard->my); if (Strangled || uasmon->msound == MS_SILENT) { ! verbalize("I'll be back when you're ready to speak to me!"); mongone(guard); return; } stop_occupation(); /* if occupied, stop it *now* */ do { ! getlin("\"Hello stranger, who are you?\" -",buf); } while (!letter(buf[0])); if (u.ualign.type == A_LAWFUL && --- 242,260 ---- } reset_faint(); /* if fainted - wake up */ ! /*JP pline("Suddenly one of the Vault's guards enters!");*/ ! pline("ÆÍÁ³¡¤ÁҸˤÎÈÖʼ¤¬Æþ¤Ã¤Æ¤­¤¿¡ª"); newsym(guard->mx,guard->my); if (Strangled || uasmon->msound == MS_SILENT) { ! /*JP verbalize("I'll be back when you're ready to speak to me!");*/ ! verbalize("Ï令ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤éÌá¤Ã¤Æ¤­¤Æ¤ä¤ë¡ª"); mongone(guard); return; } stop_occupation(); /* if occupied, stop it *now* */ do { ! /*JP getlin("\"Hello stranger, who are you?\" -",buf);*/ ! getlin("¡Ö¸«ÃΤé¤Ì¿Í¤è¡¤¤ª¤Þ¤¨¤Ïï¤À¡©¡×-",buf); } while (!letter(buf[0])); if (u.ualign.type == A_LAWFUL && *************** *** 257,267 **** #endif ) { if (!mvitals[PM_CROESUS].died) { ! verbalize("Oh, yes, of course. Sorry to have disturbed you."); mongone(guard); } else { setmangry(guard); ! verbalize("Back from the dead, are you? I'll remedy that!"); /* don't want guard to waste next turn wielding a weapon */ if (!MON_WEP(guard)) { guard->weapon_check = NEED_HTH_WEAPON; --- 269,281 ---- #endif ) { if (!mvitals[PM_CROESUS].died) { ! /*JP verbalize("Oh, yes, of course. Sorry to have disturbed you.");*/ ! verbalize("¤¤¤ä¡¤¤³¤ê¤ã¡¤¤¨¡¼¤È¡¤¤ªÁû¤»¤·¤¿¡¥"); mongone(guard); } else { setmangry(guard); ! /*JP verbalize("Back from the dead, are you? I'll remedy that!");*/ ! verbalize("¤Û¤¦¡ª»à¤ÎÀ¤³¦¤«¤éÌá¤Ã¤Æ¤­¤¿¤Î¤«¡©¤¦¤½¤Ê¤é¾å¼ê¤Ë¤Ä¤±¡ª"); /* don't want guard to waste next turn wielding a weapon */ if (!MON_WEP(guard)) { guard->weapon_check = NEED_HTH_WEAPON; *************** *** 270,283 **** } return; } ! verbalize("I don't know you."); if (!u.ugold && !hidden_gold()) ! verbalize("Please follow me."); else { if (!u.ugold) ! verbalize("You have hidden gold."); ! verbalize("Most likely all your gold was stolen from this vault."); ! verbalize("Please drop that gold and follow me."); } EGD(guard)->gdx = gx; EGD(guard)->gdy = gy; --- 284,302 ---- } return; } ! /*JP verbalize("I don't know you.");*/ ! verbalize("ÃΤé¤ó¤Ê¡¥"); if (!u.ugold && !hidden_gold()) ! /*JP verbalize("Please follow me.");*/ ! verbalize("»ä¤Î¸å¤Ë¤Ä¤¤¤Æ¤³¤¤¡¥"); else { if (!u.ugold) ! /*JP verbalize("You have hidden gold.");*/ ! verbalize("¤Þ¤À¥´¡¼¥ë¥É¤ò±£¤·¤Æ¤ë¤Ê¡¥"); ! /*JP verbalize("Most likely all your gold was stolen from this vault."); ! verbalize("Please drop that gold and follow me.");*/ ! verbalize("ÁҸˤ«¤éÅð¤ó¤À¥´¡¼¥ë¥É¤¬¤¢¤ë¤À¤í¤¦¡¥"); ! verbalize("¤½¤ì¤ò¤½¤Ã¤¯¤êÌᤷ¤Æ¤«¤é¡¤»ä¤Î¸å¤Ë¤Ä¤¤¤Æ¤³¤¤¡¥"); } EGD(guard)->gdx = gx; EGD(guard)->gdy = gy; *************** *** 404,415 **** if(movedgold || fixed) { if(in_fcorridor(grd, grd->mx, grd->my) || cansee(grd->mx, grd->my)) ! pline_The("guard whispers an incantation."); ! else You_hear("a distant chant."); if(movedgold) ! pline("A mysterious force moves the gold into the vault."); if(fixed) ! pline_The("damaged vault's walls are magically restored!"); } } --- 423,438 ---- if(movedgold || fixed) { if(in_fcorridor(grd, grd->mx, grd->my) || cansee(grd->mx, grd->my)) ! /*JP pline_The("guard whispers an incantation.");*/ ! pline("ÈÖʼ¤Ï¼öʸ¤ò¤µ¤µ¤ä¤¤¤¿¡¥"); ! /*JP else You_hear("a distant chant.");*/ ! else You("±óÊý¤Ç¤Î¼öʸ¤òʹ¤¤¤¿¡¥"); if(movedgold) ! /*JP pline("A mysterious force moves the gold into the vault.");*/ ! pline("¿ÀÈëŪ¤ÊÎϤ¬¥´¡¼¥ë¥É¤òÁҸˤر¿¤ó¤À¡¥"); if(fixed) ! /*JP pline_The("damaged vault's walls are magically restored!");*/ ! pline("½ý¤Ä¤¤¤¿ÁҸˤÎÊɤÏËâË¡¤ÇÉü¸µ¤µ¤ì¤¿¡ª"); } } *************** *** 462,475 **** if(u_in_vault && (u_carry_gold || um_dist(grd->mx, grd->my, 1))) { if(egrd->warncnt == 3) ! verbalize("I repeat, %sfollow me!", u_carry_gold ? (!u.ugold ? "drop that hidden gold and " : ! "drop that gold and ") : ""); if(egrd->warncnt == 7) { m = grd->mx; n = grd->my; ! verbalize("You've been warned, knave!"); mnexto(grd); levl[m][n].typ = egrd->fakecorr[0].ftyp; newsym(m,n); --- 485,503 ---- if(u_in_vault && (u_carry_gold || um_dist(grd->mx, grd->my, 1))) { if(egrd->warncnt == 3) ! /*JP verbalize("I repeat, %sfollow me!", u_carry_gold ? (!u.ugold ? "drop that hidden gold and " : ! "drop that gold and ") : "");*/ ! verbalize("·«¤êÊÖ¤¹¡ª%s»ä¤Ë¤Ä¤¤¤Æ¤³¤¤¡¥", ! u_carry_gold ? (!u.ugold ? ! "±£¤·»ý¤Ã¤Æ¤ë¥´¡¼¥ë¥É¤òÃÖ¤¤¤Æ" : ! "¥´¡¼¥ë¥É¤òÃÖ¤¤¤Æ") : ""); if(egrd->warncnt == 7) { m = grd->mx; n = grd->my; ! /*JP verbalize("You've been warned, knave!");*/ ! verbalize("¤ª¤Þ¤¨¤Ï·Ù¹ð¤µ¤ì¤Æ¤¤¤ë¤Î¤À¡¤°­ÅÞ¡ª"); mnexto(grd); levl[m][n].typ = egrd->fakecorr[0].ftyp; newsym(m,n); *************** *** 491,505 **** grd->mpeaceful = 0; letknow: if(!cansee(grd->mx, grd->my)) ! You_hear("the shrill sound of a guard's whistle."); else You(um_dist(grd->mx, grd->my, 2) ? ! "see an angry %s approaching." : ! "are confronted by an angry %s.", l_monnam(grd)); return(-1); } else { ! verbalize("Well, begone."); wallify_vault(grd); egrd->gddone = 1; goto cleanup; --- 519,537 ---- grd->mpeaceful = 0; letknow: if(!cansee(grd->mx, grd->my)) ! /*JP You_hear("the shrill sound of a guard's whistle.");*/ ! You("ÈÖʼ¤Î±Ô¤¤Å«¤Î²»¤òʹ¤¤¤¿¡¥"); else You(um_dist(grd->mx, grd->my, 2) ? ! /*JP "see an angry %s approaching." : ! "are confronted by an angry %s.",*/ ! "Åܤä¿%s¤¬¶á¤Å¤¤¤Æ¤¯¤ë¤Î¤ò¸«¤¿¡¥" : ! "Åܤä¿%s¤ÈľÌ̤·¤¿¡¥", l_monnam(grd)); return(-1); } else { ! /*JP verbalize("Well, begone.");*/ ! verbalize("Ω¤Áµî¤ì¡¥"); wallify_vault(grd); egrd->gddone = 1; goto cleanup; *************** *** 511,517 **** !egrd->gddone && !in_fcorridor(grd, u.ux, u.uy) && levl[egrd->fakecorr[0].fx][egrd->fakecorr[0].fy].typ == egrd->fakecorr[0].ftyp) { ! pline_The("guard, confused, disappears."); disappear_msg_seen = TRUE; goto cleanup; } --- 543,550 ---- !egrd->gddone && !in_fcorridor(grd, u.ux, u.uy) && levl[egrd->fakecorr[0].fx][egrd->fakecorr[0].fy].typ == egrd->fakecorr[0].ftyp) { ! /*JP pline_The("guard, confused, disappears.");*/ ! pline("ÈÖʼ¤Ïº®Í𤷡¤¾Ã¤¨¤¿¡¥"); disappear_msg_seen = TRUE; goto cleanup; } *************** *** 525,534 **** } if(egrd->warncnt < 6) { egrd->warncnt = 6; ! verbalize("Drop all your gold, scoundrel!"); return(0); } else { ! verbalize("So be it, rogue!"); grd->mpeaceful = 0; return(-1); } --- 558,569 ---- } if(egrd->warncnt < 6) { egrd->warncnt = 6; ! /*JP verbalize("Drop all your gold, scoundrel!");*/ ! verbalize("¶â¤òÁ´ÉôÃÖ¤¤¤Æ¤æ¤±¡¤¤Ê¤é¤º¤â¤Î¡ª"); return(0); } else { ! /*JP verbalize("So be it, rogue!");*/ ! verbalize("Åð¿Í¤á¡ª"); grd->mpeaceful = 0; return(-1); } *************** *** 554,560 **** } else { /* just for insurance... */ if (MON_AT(m, n) && m != grd->mx && n != grd->my) { ! verbalize("Out of my way, scum!"); rloc(m_at(m, n)); } remove_monster(grd->mx, grd->my); --- 589,596 ---- } else { /* just for insurance... */ if (MON_AT(m, n) && m != grd->mx && n != grd->my) { ! /*JP verbalize("Out of my way, scum!");*/ ! verbalize("ÌܤÎÁ°¤«¤é¾Ã¤¨¤í¡¤¥¯¥½¤Ã¤¿¤ì¡ª"); rloc(m_at(m, n)); } remove_monster(grd->mx, grd->my); *************** *** 563,570 **** mpickgold(grd); /* does a newsym */ } if(cansee(m,n)) ! pline("%s%s picks up the gold.", Monnam(grd), ! grd->mpeaceful ? " calms down and" : ""); if(x != grd->mx || y != grd->my) { remove_monster(grd->mx, grd->my); newsym(grd->mx, grd->my); --- 599,608 ---- mpickgold(grd); /* does a newsym */ } if(cansee(m,n)) ! /*JP pline("%s%s picks up the gold.", Monnam(grd), ! grd->mpeaceful ? " calms down and" : "");*/ ! pline("%s¤Ï%s¥´¡¼¥ë¥É¤ò½¦¤Ã¤¿¡¥", Monnam(grd), ! grd->mpeaceful ? "Åܤê¤òÀŤá" : ""); if(x != grd->mx || y != grd->my) { remove_monster(grd->mx, grd->my); newsym(grd->mx, grd->my); *************** *** 578,584 **** } } if(um_dist(grd->mx, grd->my, 1) || egrd->gddone) { ! if(!egrd->gddone && !rn2(10)) verbalize("Move along!"); restfakecorr(grd); return(0); /* didn't move */ } --- 616,623 ---- } } if(um_dist(grd->mx, grd->my, 1) || egrd->gddone) { ! /*JP if(!egrd->gddone && !rn2(10)) verbalize("Move along!");*/ ! if(!egrd->gddone && !rn2(10)) verbalize("Î¥¤ì¤ë¤Ê¡ª"); restfakecorr(grd); return(0); /* didn't move */ } *************** *** 686,692 **** if(!semi_dead && (in_fcorridor(grd, u.ux, u.uy) || cansee(x, y))) { if (!disappear_msg_seen) ! pline("Suddenly, the guard disappears."); return(1); } return(-2); --- 725,732 ---- if(!semi_dead && (in_fcorridor(grd, u.ux, u.uy) || cansee(x, y))) { if (!disappear_msg_seen) ! /*JP pline("Suddenly, the guard disappears.");*/ ! pline("ÆÍÁ³¡¤ÈÖʼ¤Ï¾Ã¤¨¤¿¡¥"); return(1); } return(-2); *************** *** 712,719 **** if (!u.ugold || !grd) return; if (u.uinvault) { ! Your("%ld zorkmid%s goes into the Magic Memory Vault.", ! u.ugold, plur(u.ugold)); gx = u.ux; gy = u.uy; } else { --- 752,760 ---- if (!u.ugold || !grd) return; if (u.uinvault) { ! /*JP Your("%ld zorkmid%s goes into the Magic Memory Vault.",*/ ! Your("%ld¥´¡¼¥ë¥É¤ÏËâË¡µ­Ç°ÁҸˤËÆþ¤Ã¤¿¡¥", ! u.ugold); gx = u.ux; gy = u.uy; } else { *************** *** 722,733 **** return; } mnexto(grd); ! pline("%s remits your gold to the vault.", Monnam(grd)); gx = rooms[EGD(grd)->vroom].lx + rn2(2); gy = rooms[EGD(grd)->vroom].ly + rn2(2); Sprintf(buf, ! "To Croesus: here's the gold recovered from %s the %s.", ! plname, player_mon()->mname); make_engr_at(gx, gy, buf, 0L, ENGRAVE); } place_object(gold = mkgoldobj(u.ugold), gx, gy); --- 763,776 ---- return; } mnexto(grd); ! /*JP pline("%s remits your gold to the vault.", Monnam(grd));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î¥´¡¼¥ë¥É¤òÁҸˤËÁ÷¤Ã¤¿¡¥", Monnam(grd)); gx = rooms[EGD(grd)->vroom].lx + rn2(2); gy = rooms[EGD(grd)->vroom].ly + rn2(2); Sprintf(buf, ! /*JP "To Croesus: here's the gold recovered from %s the %s.",*/ ! "Croesus¤Ø: ¤³¤³¤Ë%s¤Î%s¤«¤é¼è¤êÌᤷ¤¿¥´¡¼¥ë¥É¤òÁ÷¤ë¡¥", ! player_mon()->mname, plname ); make_engr_at(gx, gy, buf, 0L, ENGRAVE); } place_object(gold = mkgoldobj(u.ugold), gx, gy); diff -c -r ../nethack-3.2.2/src/version.c ./src/version.c *** ../nethack-3.2.2/src/version.c Sat Dec 28 21:53:54 1996 --- ./src/version.c Tue Jul 22 23:18:41 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "date.h" /* *************** *** 10,17 **** --- 17,26 ---- */ #ifdef SHORT_FILENAMES #include "patchlev.h" + #include "../japanese/jpatchle.h" #else #include "patchlevel.h" + #include "../japanese/jpatchlevel.h" #endif /* fill and return the given buffer with the nethack version string */ *************** *** 28,33 **** --- 37,43 ---- char buf[BUFSZ]; pline(getversionstring(buf)); + pline(JVERSION_ID); return 0; } diff -c -r ../nethack-3.2.2/src/weapon.c ./src/weapon.c *** ../nethack-3.2.2/src/weapon.c Sat Dec 28 21:53:55 1996 --- ./src/weapon.c Tue Jul 22 23:18:41 1997 *************** *** 7,12 **** --- 7,20 ---- * bonuses for any given weapon used, as well as weapons selection * code for monsters. */ + + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #ifdef WEAPON_SKILLS *************** *** 35,41 **** }; static NEARDATA const char may_advance_msg[] = ! "feel more confident in your fighting skills."; #endif /* OVLB */ --- 43,50 ---- }; static NEARDATA const char may_advance_msg[] = ! /*JP "feel more confident in your fighting skills.";*/ ! "À襤¤Îµ»Î̤ò¹â¤á¤ë¼«¿®¤¬Í¯¤¤¤Æ¤­¤¿¡¥"; #endif /* OVLB */ *************** *** 431,437 **** place_object(obj, mon->mx, mon->my); stackobj(obj); if (cansee(mon->mx, mon->my)) { ! pline("%s drops %s.", Monnam(mon), distant_name(obj, doname)); newsym(mon->mx, mon->my); } --- 440,447 ---- place_object(obj, mon->mx, mon->my); stackobj(obj); if (cansee(mon->mx, mon->my)) { ! /*JP pline("%s drops %s.", Monnam(mon),*/ ! pline("%s¤Ï%s¤òÃÖ¤¤¤¿¡¥", Monnam(mon), distant_name(obj, doname)); newsym(mon->mx, mon->my); } *************** *** 495,516 **** if (canseemon(mon)) { char welded_buf[BUFSZ]; ! Sprintf(welded_buf, "%s welded to %s hand%s", (mw_tmp->quan == 1L) ? "is" : "are", his[pronoun_gender(mon)], ! objects[mw_tmp->otyp].oc_bimanual ? "s" : ""); if (obj->otyp == PICK_AXE) { ! pline("Since %s weapon%s %s,", s_suffix(mon_nam(mon)), ! plur(mw_tmp->quan), welded_buf); ! pline("%s cannot wield that %s.", mon_nam(mon), xname(obj)); } else { ! pline("%s tries to wield %s.", Monnam(mon), doname(obj)); ! pline("%s %s %s!", s_suffix(Monnam(mon)), xname(mw_tmp), welded_buf); } mw_tmp->bknown = 1; --- 505,534 ---- if (canseemon(mon)) { char welded_buf[BUFSZ]; ! /*JP Sprintf(welded_buf, "%s welded to %s hand%s", (mw_tmp->quan == 1L) ? "is" : "are", his[pronoun_gender(mon)], ! objects[mw_tmp->otyp].oc_bimanual ? "s" : "");*/ ! Sprintf(welded_buf, "¼ê¤Ë"); if (obj->otyp == PICK_AXE) { ! /*JP pline("Since %s weapon%s %s,", s_suffix(mon_nam(mon)), ! plur(mw_tmp->quan), welded_buf);*/ ! pline("%s¤ÏÉð´ï¤ò%s¤·¤è¤¦¤È¤·¤¿¤¬¡¤", ! mon_nam(mon), welded_buf); ! /*JP pline("%s cannot wield that %s.",*/ ! pline("%s¤Ï%s¤òÁõÈ÷¤Ç¤­¤Ê¤«¤Ã¤¿¡¥", mon_nam(mon), xname(obj)); } else { ! /*JP pline("%s tries to wield %s.", Monnam(mon),*/ ! pline("%s¤Ï%s¤òÁõÈ÷¤·¤è¤¦¤È¤·¤¿¡¥", Monnam(mon), doname(obj)); ! /*JP pline("%s %s %s!", s_suffix(Monnam(mon)), + xname(mw_tmp), welded_buf);*/ + pline("%s¤Ï%s¤ò%s¤·¤¿¡ª", + Monnam(mon), xname(mw_tmp), welded_buf); } mw_tmp->bknown = 1; *************** *** 522,534 **** if (mw_tmp) mw_tmp->owornmask &= ~W_WEP; mon->weapon_check = NEED_WEAPON; if (canseemon(mon)) { ! pline("%s wields %s!", Monnam(mon), doname(obj)); if (obj->cursed && obj->otyp != CORPSE) { ! pline("%s %s to %s hand!", The(xname(obj)), (obj->quan == 1L) ? "welds itself" : "weld themselves", ! s_suffix(mon_nam(mon))); obj->bknown = 1; } } --- 540,556 ---- if (mw_tmp) mw_tmp->owornmask &= ~W_WEP; mon->weapon_check = NEED_WEAPON; if (canseemon(mon)) { ! /*JP pline("%s wields %s!", Monnam(mon), doname(obj));*/ ! pline("%s¤Ï%s¤òÁõÈ÷¤·¤¿¡ª", Monnam(mon), doname(obj)); if (obj->cursed && obj->otyp != CORPSE) { ! /*JP pline("%s %s to %s hand!", The(xname(obj)), (obj->quan == 1L) ? "welds itself" : "weld themselves", ! s_suffix(mon_nam(mon)));*/ ! pline("%s¤Ï¾¡¼ê¤Ë%s¤Î¼ê¤ËÁõÈ÷¤µ¤ì¤¿¡ª", ! The(xname(obj)), ! mon_nam(mon)); obj->bknown = 1; } } *************** *** 595,600 **** --- 617,623 ---- const char *ptr; switch (P_SKILL(skill)) { + #if 0 /*JP*/ case P_UNSKILLED: ptr = "Unskilled"; break; case P_BASIC: ptr = "Basic"; break; case P_SKILLED: ptr = "Skilled"; break; *************** *** 603,608 **** --- 626,640 ---- case P_MASTER: ptr = "Master"; break; case P_GRAND_MASTER: ptr = "Grand Master"; break; default: ptr = "Unknown"; break; + #endif + case P_UNSKILLED: ptr = "½é¿´¼Ô"; break; + case P_BASIC: ptr = "ÆþÌç¼Ô"; break; + case P_SKILLED: ptr = "½ÏÎý¼Ô"; break; + case P_EXPERT: ptr = "¥¨¥­¥¹¥Ñ¡¼¥È"; break; + /* these are for unarmed combat/martial arts only */ + case P_MASTER: ptr = "¥Þ¥¹¥¿¡¼"; break; + case P_GRAND_MASTER: ptr = "¥°¥é¥ó¥É¥Þ¥¹¥¿¡¼"; break; + default: ptr = "ÉÔÌÀ"; break; } Strcpy(buf, ptr); return buf; *************** *** 654,662 **** --- 686,699 ---- P_SKILL(skill)++; u.skill_record[u.skills_advanced++] = skill; /* subtly change the adavnce message to indicate no more advancement */ + /*JP You("are now %s skilled in %s.", P_SKILL(skill) >= P_MAX_SKILL(skill) ? "most" : "more", P_NAME(skill)); + */ + Your("%s¤Îµ»Î̤ò%s¹â¤á¤¿¡¥", + jtrns_obj(')', P_NAME(skill)), + P_SKILL(skill) >= P_MAX_SKILL(skill) ? "ºÇ¹â¤Ë" : "¤µ¤é¤Ë"); } /* *************** *** 699,719 **** if (wizard) Sprintf(buf2, "%s%-*s %-12s %4d(%4d)", to_advance == 0 || can_advance(i) ? "" : " " , ! longest, P_NAME(i), skill_level_name(i, buf), P_ADVANCE(i), practice_needed_to_advance(P_SKILL(i))); else #endif Sprintf(buf2, "%s %-*s [%s]", to_advance == 0 || can_advance(i) ? "" : " ", ! longest, P_NAME(i), skill_level_name(i, buf)); any.a_int = can_advance(i) ? i+1 : 0; add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, buf2, MENU_UNSELECTED); } Strcpy(buf, to_advance ? "Pick a skill to advance:" : "Current skills:"); #ifdef WIZARD if (wizard) Sprintf(eos(buf), " (%d slot%s available)", u.weapon_slots, plur(u.weapon_slots)); --- 736,759 ---- if (wizard) Sprintf(buf2, "%s%-*s %-12s %4d(%4d)", to_advance == 0 || can_advance(i) ? "" : " " , ! longest, jtrns_obj(')', P_NAME(i)), skill_level_name(i, buf), P_ADVANCE(i), practice_needed_to_advance(P_SKILL(i))); else #endif Sprintf(buf2, "%s %-*s [%s]", to_advance == 0 || can_advance(i) ? "" : " ", ! longest, jtrns_obj(')', P_NAME(i)), skill_level_name(i, buf)); any.a_int = can_advance(i) ? i+1 : 0; add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, buf2, MENU_UNSELECTED); } + /*JP Strcpy(buf, to_advance ? "Pick a skill to advance:" : "Current skills:"); + */ + Strcpy(buf, to_advance ? "µ»Î̤ò¹â¤á¤ëÉð´ï¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡§" : "¸½ºß¤Îµ»ÎÌ¡§"); #ifdef WIZARD if (wizard) Sprintf(eos(buf), " (%d slot%s available)", u.weapon_slots, plur(u.weapon_slots)); *************** *** 728,734 **** /* check for more skills able to advance, if so then .. */ for (i = 0; i < P_NUM_SKILLS; i++) { if (can_advance(i)) { ! You("feel you could be more dangerous!"); break; } } --- 768,775 ---- /* check for more skills able to advance, if so then .. */ for (i = 0; i < P_NUM_SKILLS; i++) { if (can_advance(i)) { ! /*JP You("feel you could be more dangerous!");*/ ! You("¤µ¤é¤Ëµ»Î̤ò¹â¤á¤ë¤³¤È¤¬¤Ç¤­¤½¤¦¤Êµ¤¤¬¤·¤¿¡ª"); break; } } diff -c -r ../nethack-3.2.2/src/were.c ./src/were.c *** ../nethack-3.2.2/src/were.c Sat Dec 28 21:53:55 1996 --- ./src/were.c Tue Jul 22 23:18:42 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #ifdef OVL0 *************** *** 22,33 **** const char *howler; switch (monsndx(mon->data)) { ! case PM_HUMAN_WEREWOLF: howler = "wolf"; break; ! case PM_HUMAN_WEREJACKAL: howler = "jackal"; break; default: howler = (char *)0; break; } if (howler) ! You_hear("a %s howling at the moon.", howler); } } } else if (!rn2(30) || Protection_from_shape_changers) { --- 29,43 ---- const char *howler; switch (monsndx(mon->data)) { ! /*JP case PM_HUMAN_WEREWOLF: howler = "wolf"; break; ! case PM_HUMAN_WEREJACKAL: howler = "jackal"; break;*/ ! case PM_HUMAN_WEREWOLF: howler = "ϵ"; break; ! case PM_HUMAN_WEREJACKAL: howler = "¥¸¥ã¥Ã¥«¥ë"; break; default: howler = (char *)0; break; } if (howler) ! /*JP You_hear("a %s howling at the moon.", howler);*/ ! You_hear("·îÌë¤Ë%s¤¬Ëʤ¨¤ëÀ¼¤òʹ¤¤¤¿¡¥", howler); } } } else if (!rn2(30) || Protection_from_shape_changers) { *************** *** 68,77 **** } if(canseemon(mon)) ! pline("%s changes into a %s.", Monnam(mon), Hallucination ? rndmonnam() : is_human(&mons[pm]) ? "human" : ! mons[pm].mname+4); set_mon_data(mon, &mons[pm], 0); if (mon->msleep || !mon->mcanmove) { --- 78,91 ---- } if(canseemon(mon)) ! /*JP pline("%s changes into a %s.", Monnam(mon), Hallucination ? rndmonnam() : is_human(&mons[pm]) ? "human" : ! mons[pm].mname+4);*/ ! pline("%s¤Ï%s¤Î»Ñ¤Ë¤Ê¤Ã¤¿¡¥", Monnam(mon), ! Hallucination ? rndmonnam() : ! is_human(&mons[pm]) ? "¿Í´Ö" : ! jtrns_mon(mons[pm].mname+4, mon->female)); set_mon_data(mon, &mons[pm], 0); if (mon->msleep || !mon->mcanmove) { *************** *** 132,139 **** if(u.umonnum == u.ulycn) return; if(Polymorph_control) { /* `+4' => skip "were" prefix to get name of beast */ ! Sprintf(qbuf, "Do you want to change into %s? ", ! an(mons[u.ulycn].mname+4)); if(yn(qbuf) == 'n') return; } (void) polymon(u.ulycn); --- 146,154 ---- if(u.umonnum == u.ulycn) return; if(Polymorph_control) { /* `+4' => skip "were" prefix to get name of beast */ ! /*JP Sprintf(qbuf,"Do you want to change into a %s? ",*/ ! Sprintf(qbuf,"%s¤ËÊѲ½¤·¤Þ¤¹¤«¡©", ! jtrns_mon(mons[u.ulycn].mname+4, -1)); if(yn(qbuf) == 'n') return; } (void) polymon(u.ulycn); *************** *** 144,154 **** --- 159,175 ---- boolean purify; { if (purify) { + /*JP You_feel("purified."); + */ + You("¾ô¤á¤é¤ì¤¿¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); u.ulycn = NON_PM; /* cure lycanthropy */ } if (is_were(uasmon) && + /*JP (!Polymorph_control || yn("Remain in beast form?") == 'n')) + */ + (!Polymorph_control || yn("¸µ¤Î»Ñ¤ËÌá¤ë¡©") == 'y')) rehumanize(); } diff -c -r ../nethack-3.2.2/src/wield.c ./src/wield.c *** ../nethack-3.2.2/src/wield.c Sat Dec 28 21:53:55 1996 --- ./src/wield.c Tue Sep 23 07:10:15 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" /* elven weapons vibrate warningly when enchanted beyond a limit */ *************** *** 71,106 **** --- 78,141 ---- multi = 0; if (cantwield(uasmon)) { + /*JP pline("Don't be ridiculous!"); + */ + pline("¤Ð¤«¤Ð¤«¤·¤¤¡ª"); return(0); } + /*JP if (!(wep = getobj(wield_objs, "wield"))) { + */ + if (!(wep = getobj(wield_objs, body_part(HANDED)))) { ; /* nothing */ } else if (uwep == wep) { + /*JP You("are already wielding that!"); + */ + You("¤â¤¦¤½¤ì¤ò%s¤Ë¤·¤Æ¤¤¤ë¡ª", body_part(HAND)); if (is_weptool(wep)) unweapon = FALSE; /* [see setuwep()] */ } else if (welded(uwep)) { weldmsg(uwep); } else if (wep == &zeroobj) { if (uwep == 0) + /*JP You("are already empty %s.", body_part(HANDED)); + */ + You("²¿¤â%s¤Ë¤·¤Æ¤¤¤Ê¤¤¡ª", body_part(HAND)); else { + /*JP You("are empty %s.", body_part(HANDED)); + */ + You("%s¤ò¶õ¤±¤¿¡¥", body_part(HAND)); setuwep((struct obj *) 0); res++; } } else if (!uarmg && !resists_ston(&youmonst) && (wep->otyp == CORPSE && wep->corpsenm == PM_COCKATRICE)) { /* Prevent wielding cockatrice when not wearing gloves --KAA */ + /*JP You("wield the cockatrice corpse in your bare %s.", makeplural(body_part(HAND))); instapetrify("cockatrice corpse"); + */ + You("¥³¥«¥È¥ê¥¹¤Î»àÂΤò%s¤Ë¤·¤¿¡¥", + makeplural(body_part(HAND))); + instapetrify("¥³¥«¥È¥ê¥¹¤Î»àÂΤ˿¨¤ì¤Æ"); } else if (uarms && bimanual(wep)) + /*JP You("cannot wield a two-handed %s while wearing a shield.", is_sword(wep) ? "sword" : wep->otyp == BATTLE_AXE ? "axe" : "weapon"); + */ + pline("½â¤òÁõÈ÷¤·¤Æ¤¤¤ë¤È¤­¤Ëξ¼ê»ý¤Á¤Î%s¤òÁõÈ÷¤Ç¤­¤Ê¤¤¡¥", + is_sword(wep) ? "·õ" : + wep->otyp == BATTLE_AXE ? "Éà" : "Éð´ï"); else if (wep->owornmask & (W_ARMOR | W_RING | W_AMUL | W_TOOL)) + /*JP You("cannot wield that!"); + */ + You("¤½¤ì¤òÁõÈ÷¤Ç¤­¤Ê¤¤¡ª"); else if (wep->oartifact && !touch_artifact(wep, &youmonst)) res++; /* takes a turn even though it doesn't get wielded */ else { *************** *** 110,118 **** if (strncmp(tmp, thestr, 4) && !strncmp(The(tmp),thestr,4)) tmp = thestr; else tmp = ""; ! pline("%s%s %s to your %s!", tmp, aobjnam(wep, "weld"), ! (wep->quan == 1L) ? "itself" : "themselves", /* a3 */ body_part(HAND)); wep->bknown = TRUE; } else { --- 145,156 ---- if (strncmp(tmp, thestr, 4) && !strncmp(The(tmp),thestr,4)) tmp = thestr; else tmp = ""; ! /*JP pline("%s%s %s to your %s!", tmp, aobjnam(wep, "weld"), ! (wep->quan == 1L) ? "itself" : "themselves", /* a3 * ! body_part(HAND));*/ ! pline("%s¤Ï¾¡¼ê¤Ë¤¢¤Ê¤¿¤Î%s¤ËÁõÈ÷¤µ¤ì¤¿¡¥", ! xname(wep), body_part(HAND)); wep->bknown = TRUE; } else { *************** *** 133,139 **** if ((this_shkp = shop_keeper(inside_shop(u.ux, u.uy))) != (struct monst *)0) { ! pline("%s says \"You be careful with my %s!\"", shkname(this_shkp), xname(wep)); } --- 171,178 ---- if ((this_shkp = shop_keeper(inside_shop(u.ux, u.uy))) != (struct monst *)0) { ! /*JP pline("%s says \"You be careful with my %s!\"",*/ ! pline("%s¤Ï½Ò¤Ù¤¿¡Ö%s¤Î°·¤¤¤Ïµ¤¤ò¤Ä¤±¤Æ¤¯¤ì¤è¡ª¡×", shkname(this_shkp), xname(wep)); } *************** *** 155,172 **** --- 194,226 ---- } else if (uwep->oerodeproof || (acid_dmg ? !is_corrodeable(uwep) : !is_rustprone(uwep))) { if (flags.verbose || !(uwep->oerodeproof && uwep->rknown)) + /*JP Your("%s not affected.", aobjnam(uwep, "are")); + */ + Your("%s¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡¥", xname(uwep)); if (uwep->oerodeproof) uwep->rknown = TRUE; } else if (uwep->oeroded < MAX_ERODE) { + /*JP Your("%s%s!", aobjnam(uwep, acid_dmg ? "corrode" : "rust"), uwep->oeroded+1 == MAX_ERODE ? " completely" : uwep->oeroded ? " further" : ""); + */ + Your("%s¤Ï%s%s¡ª", xname(uwep), + uwep->oeroded+1 == MAX_ERODE ? "´°Á´¤Ë" : + uwep->oeroded ? "¤µ¤é¤Ë" : "", + acid_dmg ? "Éå¿©¤·¤¿" : "»¬¤Ó¤¿"); uwep->oeroded++; } else { if (flags.verbose) + /*JP Your("%s completely %s.", aobjnam(uwep, Blind ? "feel" : "look"), acid_dmg ? "corroded" : "rusty"); + */ + Your("%s¤Ï´°Á´¤Ë%s%s¡¥", + xname(uwep), + acid_dmg ? "Éå¿©¤·¤¿" : "»¬¤Ó¤¿", + Blind ? "¤è¤¦¤À" : "¤è¤¦¤Ë¸«¤¨¤ë"); } } *************** *** 181,188 **** if(!uwep || (uwep->oclass != WEAPON_CLASS && !is_weptool(uwep))) { char buf[BUFSZ]; ! Sprintf(buf, "Your %s %s.", makeplural(body_part(HAND)), ! (amount >= 0) ? "twitch" : "itch"); strange_feeling(otmp, buf); exercise(A_DEX, (boolean) (amount >= 0)); return(0); --- 235,244 ---- if(!uwep || (uwep->oclass != WEAPON_CLASS && !is_weptool(uwep))) { char buf[BUFSZ]; ! /*JP Sprintf(buf, "Your %s %s.", makeplural(body_part(HAND)), ! (amount >= 0) ? "twitch" : "itch");*/ ! Sprintf(buf, "¤¢¤Ê¤¿¤Î%s¤Ï%s¡¥", makeplural(body_part(HAND)), ! (amount >= 0) ? "¤Ò¤­¤Ä¤Ã¤¿" : "¥à¥º¥à¥º¤·¤¿"); strange_feeling(otmp, buf); exercise(A_DEX, (boolean) (amount >= 0)); return(0); *************** *** 190,220 **** if(uwep->otyp == WORM_TOOTH && amount >= 0) { uwep->otyp = CRYSKNIFE; ! Your("weapon seems sharper now."); uwep->cursed = 0; return(1); } if(uwep->otyp == CRYSKNIFE && amount < 0) { uwep->otyp = WORM_TOOTH; ! Your("weapon seems duller now."); return(1); } if (amount < 0 && uwep->oartifact && restrict_name(uwep, ONAME(uwep))) { if (!Blind) ! Your("%s %s.", aobjnam(uwep, "faintly glow"), color); return(1); } /* there is a (soft) upper and lower limit to uwep->spe */ if(((uwep->spe > 5 && amount >= 0) || (uwep->spe < -5 && amount < 0)) && rn2(3)) { if (!Blind) ! Your("%s %s for a while and then evaporate%s.", aobjnam(uwep, "violently glow"), color, ! uwep->quan == 1L ? "s" : ""); else ! Your("%s.", aobjnam(uwep, "evaporate")); while(uwep) /* let all of them disappear */ /* note: uwep->quan = 1 is nogood if unpaid */ --- 246,282 ---- if(uwep->otyp == WORM_TOOTH && amount >= 0) { uwep->otyp = CRYSKNIFE; ! /*JP Your("weapon seems sharper now.");*/ ! Your("Éð´ï¤Ï¤è¤ê±Ô¤µ¤òÁý¤·¤¿¤è¤¦¤À¡¥"); uwep->cursed = 0; return(1); } if(uwep->otyp == CRYSKNIFE && amount < 0) { uwep->otyp = WORM_TOOTH; ! /*JP Your("weapon seems duller now.");*/ ! Your("Éð´ï¤Ï¤è¤êÆߤ¯¤Ê¤Ã¤¿¤è¤¦¤À¡¥"); return(1); } if (amount < 0 && uwep->oartifact && restrict_name(uwep, ONAME(uwep))) { if (!Blind) ! /*JP Your("%s %s.", aobjnam(uwep, "faintly glow"), color);*/ ! Your("%s¤Ï¤ï¤º¤«¤Ë%sµ±¤¤¤¿¡¥", xname(uwep),jconj_adj(color)); return(1); } /* there is a (soft) upper and lower limit to uwep->spe */ if(((uwep->spe > 5 && amount >= 0) || (uwep->spe < -5 && amount < 0)) && rn2(3)) { if (!Blind) ! /*JP Your("%s %s for a while and then evaporate%s.", aobjnam(uwep, "violently glow"), color, ! uwep->quan == 1L ? "s" : "");*/ ! Your("%s¤Ï¤·¤Ð¤é¤¯·ã¤·¤¯%sµ±¤­¡¤¾øȯ¤·¤¿¡¥", ! xname(uwep), jconj_adj(color)); else ! /*JP Your("%s.", aobjnam(uwep, "evaporate"));*/ ! Your("%s¤Ï¾øȯ¤·¤¿", xname(uwep)); while(uwep) /* let all of them disappear */ /* note: uwep->quan = 1 is nogood if unpaid */ *************** *** 222,231 **** return(1); } if (!Blind) { ! xtime = (amount*amount == 1) ? "moment" : "while"; ! Your("%s %s for a %s.", aobjnam(uwep, amount == 0 ? "violently glow" : "glow"), ! color, xtime); } uwep->spe += amount; if(amount > 0) uwep->cursed = 0; --- 284,297 ---- return(1); } if (!Blind) { ! /*JP xtime = (amount*amount == 1) ? "moment" : "while";*/ ! xtime = (amount*amount == 1) ? "°ì½Ö" : "¤·¤Ð¤é¤¯¤Î´Ö"; ! /*JP Your("%s %s for a %s.", aobjnam(uwep, amount == 0 ? "violently glow" : "glow"), ! color, xtime);*/ ! Your("%s¤Ï%s%s%sµ±¤¤¤¿¡¥", ! xname(uwep), xtime, jconj_adj(color), ! amount == 0 ? "·ã¤·¤¯" : ""); } uwep->spe += amount; if(amount > 0) uwep->cursed = 0; *************** *** 236,251 **** * spe dependent. Give an obscure clue here. */ if (uwep->oartifact == ART_MAGICBANE && uwep->spe >= 0) { ! Your("right %s %sches!", body_part(HAND), ! (((amount > 1) && (uwep->spe > 1)) ? "flin" : "it")); } /* an elven magic clue, cookie@keebler */ if ((uwep->spe > 5) && (is_elven_weapon(uwep) || uwep->oartifact || !rn2(7))) ! Your("%s unexpectedly.", ! aobjnam(uwep, "suddenly vibrate")); return(1); } --- 302,322 ---- * spe dependent. Give an obscure clue here. */ if (uwep->oartifact == ART_MAGICBANE && uwep->spe >= 0) { ! /*JP Your("right %s %sches!", ! body_part(HAND), ! (((amount > 1) && (uwep->spe > 1)) ? "flin" : "it"));*/ ! Your("±¦%s¤Ï%s¡ª", body_part(HAND), ! (((amount > 1) && (uwep->spe > 1)) ? "¤Ò¤ê¤Ò¤ê¤·¤¿" : "¥à¥º¥à¥º¤·¤¿")); } /* an elven magic clue, cookie@keebler */ if ((uwep->spe > 5) && (is_elven_weapon(uwep) || uwep->oartifact || !rn2(7))) ! /*JP Your("%s unexpectedly.", ! aobjnam(uwep, "suddenly vibrate"));*/ ! Your("%s¤ÏÆÍÁ³¿Ì¤¨¤À¤·¤¿¡¥", ! xname(uwep)); return(1); } *************** *** 268,277 **** --- 339,352 ---- long savewornmask; savewornmask = obj->owornmask; + /*JP Your("%s %s welded to your %s!", xname(obj), (obj->quan == 1L) ? "is" : "are", bimanual(obj) ? (const char *)makeplural(body_part(HAND)) : body_part(HAND)); + */ + You("¤Ï%s¤ò%s¤Ë¹½¤¨¤¿¡ª", + xname(obj), body_part(HAND)); obj->owornmask = savewornmask; } diff -c -r ../nethack-3.2.2/src/wizard.c ./src/wizard.c *** ../nethack-3.2.2/src/wizard.c Sat Dec 28 21:53:56 1996 --- ./src/wizard.c Tue Jul 22 23:18:42 1997 *************** *** 7,12 **** --- 7,19 ---- /* - dewimped and given some maledictions. -3. */ /* - generalized for 3.1 (mike@bullns.on01.bull.ca) */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "qtext.h" *************** *** 63,73 **** if(ttmp->ttyp == MAGIC_PORTAL) { int du = distu(ttmp->tx, ttmp->ty); if (du <= 9) ! pline("%s feels hot!", The(xname(amu))); else if (du <= 64) ! pline("%s feels very warm.", The(xname(amu))); else if (du <= 144) ! pline("%s feels warm.", The(xname(amu))); /* else, the amulet feels normal */ break; } --- 70,83 ---- if(ttmp->ttyp == MAGIC_PORTAL) { int du = distu(ttmp->tx, ttmp->ty); if (du <= 9) ! /*JP pline("%s feels hot!", The(xname(amu)));*/ ! pline("%s¤ÏÇ®¤¯´¶¤¸¤¿¡ª", The(xname(amu))); else if (du <= 64) ! /*JP pline("%s feels very warm.", The(xname(amu)));*/ ! pline("%s¤Ï¤È¤Æ¤âÃȤ«¤¯´¶¤¸¤¿¡¥", The(xname(amu))); else if (du <= 144) ! /*JP pline("%s feels warm", The(xname(amu)));*/ ! pline("%s¤ÏÃȤ«¤¯´¶¤¸¤¿¡¥", The(xname(amu))); /* else, the amulet feels normal */ break; } *************** *** 82,88 **** mtmp->msleep = 0; if (distu(mtmp->mx,mtmp->my) > 2) You( ! "get the creepy feeling that somebody noticed your taking the Amulet." ); return; } --- 92,99 ---- mtmp->msleep = 0; if (distu(mtmp->mx,mtmp->my) > 2) You( ! /*JP "get the creepy feeling that somebody noticed your taking the Amulet."*/ ! "¤¢¤Ê¤¿¤¬Ëâ½ü¤±¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬Ã¯¤«¤Ë¤ï¤«¤Ã¤¿¤È´¶¤¸¤Æ¤¾¤¯¤¾¤¯¤·¤¿¡¥" ); return; } *************** *** 340,346 **** if ((otmp = on_ground(which_arti(targ))) != 0) { if (cansee(mtmp->mx, mtmp->my)) ! pline("%s picks up %s.", Monnam(mtmp), (distu(mtmp->my, mtmp->my) <= 5) ? doname(otmp) : distant_name(otmp, doname)); --- 351,357 ---- if ((otmp = on_ground(which_arti(targ))) != 0) { if (cansee(mtmp->mx, mtmp->my)) ! pline("%s¤Ï%s¤ò½¦¤Ã¤¿¡¥", Monnam(mtmp), (distu(mtmp->my, mtmp->my) <= 5) ? doname(otmp) : distant_name(otmp, doname)); *************** *** 431,442 **** if (!flags.no_of_wizards) { /* make a new Wizard */ ! verb = "kill"; mtmp = makemon(&mons[PM_WIZARD_OF_YENDOR], u.ux, u.uy, NO_MM_FLAGS); } else { /* look for a migrating Wizard */ ! verb = "elude"; mmtmp = &migrating_mons; while ((mtmp = *mmtmp) != 0) { if (mtmp->iswiz && --- 442,455 ---- if (!flags.no_of_wizards) { /* make a new Wizard */ ! /*JP verb = "kill";*/ ! verb = "¤ò»¦¤»¤·"; mtmp = makemon(&mons[PM_WIZARD_OF_YENDOR], u.ux, u.uy, NO_MM_FLAGS); } else { /* look for a migrating Wizard */ ! /*JP verb = "elude";*/ ! verb = "¤«¤éƨ¤ì¤ó"; mmtmp = &migrating_mons; while ((mtmp = *mmtmp) != 0) { if (mtmp->iswiz && *************** *** 465,472 **** if (mtmp) { mtmp->msleep = mtmp->mtame = mtmp->mpeaceful = 0; set_malign(mtmp); ! pline("A voice booms out..."); ! verbalize("So thou thought thou couldst %s me, fool.", verb); } } --- 478,487 ---- if (mtmp) { mtmp->msleep = mtmp->mtame = mtmp->mpeaceful = 0; set_malign(mtmp); ! /*JP pline("A voice booms out...");*/ ! pline("À¼¤¬¹â¤¯ÌĤê¶Á¤¤¤¿¡¥¡¥¡¥"); ! /*JP verbalize("So thou thought thou couldst %s me, fool.", verb);*/ ! verbalize(";%s¤È»×¤¤¤·¤«¡¤¤³¤Î¤¦¤Ä¤±¼Ô¤á¡¥", verb); } } *************** *** 480,489 **** /* cases 0 and 5 don't apply on the Astral level */ switch (which) { case 0: ! case 1: You_feel("vaguely nervous."); break; case 2: if (!Blind) ! You("notice a %s glow surrounding you.", hcolor(Black)); rndcurse(); break; --- 495,506 ---- /* cases 0 and 5 don't apply on the Astral level */ switch (which) { case 0: ! /*JP case 1: You_feel("vaguely nervous.");*/ ! case 1: You("²¿¤È¤Ê¤¯É԰¤ˤʤä¿¡¥"); break; case 2: if (!Blind) ! /*JP You("notice a %s glow surrounding you.",*/ ! pline("%s¸÷¤¬¤¢¤Ê¤¿¤ò¤È¤ê¤Þ¤¤¤Æ¤¤¤ë¤Î¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥", hcolor(Black)); rndcurse(); break; *************** *** 507,554 **** } const char *random_insult[] = { ! "antic", ! "blackguard", ! "caitiff", ! "chucklehead", ! "coistrel", ! "craven", ! "cretin", ! "cur", ! "dastard", ! "demon fodder", ! "dimwit", ! "dolt", ! "fool", ! "footpad", ! "imbecile", ! "knave", ! "maledict", ! "miscreant", ! "niddering", ! "poltroon", ! "rattlepate", ! "reprobate", ! "scapegrace", ! "varlet", ! "villein", /* (sic.) */ ! "wittol", ! "worm", ! "wretch", }; const char *random_malediction[] = { ! "Hell shall soon claim thy remains,", ! "I chortle at thee, thou pathetic", ! "Prepare to die, thou", ! "Resistance is useless,", ! "Surrender or die, thou", ! "There shall be no mercy, thou", ! "Thou shalt repent of thy cunning,", ! "Thou art as a flea to me,", ! "Thou art doomed,", ! "Thy fate is sealed,", ! "Verily, thou shalt be one dead" }; /* Insult or intimidate the player */ --- 524,610 ---- } const char *random_insult[] = { ! /*JP "antic",*/ ! "¤Õ¤¶¤±¤¿ÌîϺ", ! /*JP "blackguard",*/ ! "°­ÅÞ", ! /*JP "caitiff",*/ ! "¤¯¤½¤Ã¤¿¤ì", ! /*JP "chucklehead",*/ ! "¤Î¤í¤Þ", ! /*JP "coistrel",*/ ! "¤¢¤ó¤Ý¤ó¤¿¤ó", ! /*JP "craven",*/ ! "²²É¼Ô", ! /*JP "cretin",*/ ! "ÇòÃÔ", ! /*JP "cur",*/ ! "¤í¤¯¤Ç¤Ê¤·", ! /*JP "dastard",*/ ! "¤¦¤Ä¤±", ! /*JP "demon fodder",*/ ! "°­Ëâ¤Î±Â¿©", ! /*JP "dimwit",*/ ! "¤¦¤¹¤Î¤í", ! /*JP "dolt",*/ ! "¤Þ¤Ì¤±", ! /*JP "fool",*/ ! "Çϼ¯", ! /*JP "footpad",*/ ! "¤ª¤¤¤Ï¤®", ! /*JP "imbecile",*/ ! "¶ò¤«¼Ô", ! /*JP "knave",*/ ! "¤Ê¤é¤º¼Ô", ! /*JP "maledict",*/ ! "°­¿Í", ! /*JP "miscreant",*/ ! "¶Ë°­¿Í", ! /*JP "niddering",*/ ! "Çϼ¯¤¿¤ì", ! /*JP "poltroon",*/ ! "Èܶ±¼Ô", ! /*JP "rattlepate",*/ ! "É÷Á¥Æ¬", ! /*JP "reprobate",*/ ! "Æ»³Ú¼Ô", ! /*JP "scapegrace",*/ ! "Ìñ²ð¼Ô", ! /*JP "varlet",*/ ! "²¼Ïº", ! /*JP "villein", *//* (sic.) */ ! "ÅÛÎì", /* (sic.) */ ! /*JP "wittol",*/ ! "¤Õ¤Ê¤à¤·", ! /*JP "worm",*/ ! "é×Ãî", ! /*JP "wretch",*/ ! "¿Í¤Ç¤Ê¤·", }; const char *random_malediction[] = { ! /*JP "Hell shall soon claim thy remains,",*/ ! "ÃϹö¤Ï¤¤¤Å¤ì¡¤Æò¤ÎÀ¸¤­»Ä¤ë¤³¤È¤òÍ׵᤹¤ë¤Ç¤¢¤í¤¦¡¤", ! /*JP "I chortle at thee, thou pathetic",*/ ! "°¥¤ì¤Ê¤ä¤Ä¤è¤Î¤¦¡¥Í¾¤ÏËþ­¤¸¤ã", ! /*JP "Prepare to die, thou",*/ ! "Æò¡¤»à¤ËÈ÷¤¨¤è", ! /*JP "Resistance is useless,",*/ ! "Äñ¹³¤·¤Æ¤â̵Â̤¸¤ã¡¤", ! /*JP "Surrender or die, thou",*/ ! "¹ß»²¤»¤è¡¥¤µ¤â¤Ê¤¯¤Ð»à¤¸¤ã¡¥", ! /*JP "There shall be no mercy, thou",*/ ! "»üÈá¤Ï̵¤«¤é¤ó", ! /*JP "Thou shalt repent of thy cunning,",*/ ! "Æò¡¤¤º¤ë¤ò¸å²ù¤¹¤Ù¤·¡¤", ! /*JP "Thou art as a flea to me,",*/ ! "Æò¤Ï;¤Ë¤È¤Ã¤Æ¥Î¥ß¤Î¤è¤¦¤Ê¤â¤Î¤¸¤ã¡¤", ! /*JP "Thou art doomed,",*/ ! "Æò¤Ï¼ö¤ï¤ì¤Æ¤ª¤ë¡¤", ! /*JP "Thy fate is sealed,",*/ ! "Æò¤Î±¿Ì¿¤ÏÉõ°õ¤µ¤ì¤Æ¤ª¤ë¡¤", ! /*JP "Verily, thou shalt be one dead"*/ ! "¤Þ¤³¤È¤ËÆò¤Ï»à¤Ë¤¿¤ë¼Ô¤Ê¤ê" }; /* Insult or intimidate the player */ *************** *** 558,579 **** { if (mtmp->iswiz) { if (!rn2(5)) /* typical bad guy action */ ! pline("%s laughs fiendishly.", Monnam(mtmp)); else if (u.uhave.amulet && !rn2(SIZE(random_insult))) ! verbalize("Relinquish the amulet, %s!", random_insult[rn2(SIZE(random_insult))]); else if (u.uhp < 5 && !rn2(2)) /* Panic */ verbalize(rn2(2) ? ! "Even now thy life force ebbs, %s!" : ! "Savor thy breath, %s, it be thine last!", random_insult[rn2(SIZE(random_insult))]); else if (mtmp->mhp < 5 && !rn2(2)) /* Parthian shot */ verbalize(rn2(2) ? ! "I shall return." : ! "I'll be back."); else ! verbalize("%s %s!", random_malediction[rn2(SIZE(random_malediction))], random_insult[rn2(SIZE(random_insult))]); } else if(is_lminion(mtmp->data)) { --- 614,642 ---- { if (mtmp->iswiz) { if (!rn2(5)) /* typical bad guy action */ ! /*JP pline("%s laughs fiendishly.", Monnam(mtmp));*/ ! pline("%s¤Ï°­Ëâ¤Î¤è¤¦¤Ë¾Ð¤Ã¤¿¡¥", Monnam(mtmp)); else if (u.uhave.amulet && !rn2(SIZE(random_insult))) ! /*JP verbalize("Relinquish the amulet, %s!",*/ ! verbalize("Ëâ¤è¤±¤ò¼êÊü¤»¡¤%s¡ª", random_insult[rn2(SIZE(random_insult))]); else if (u.uhp < 5 && !rn2(2)) /* Panic */ verbalize(rn2(2) ? ! /*JP "Even now thy life force ebbs, %s!" :*/ ! "º£¤È¤Ê¤Ã¤Æ¤â¤Ê¤ªÆò¤ÎÌ¿¤Ï¤¢¤¨¤Æ¿ê¤¨¤ë¤Î¤À¡¤%s¡ª" : ! /*JP "Savor thy breath, %s, it be thine last!",*/ ! "©¤òÌ£¤ï¤Ã¤Æ¤ª¤±¡¤%s¡¤Æò¤ÎºÇ´ü¤Î»þ¤À¡ª", random_insult[rn2(SIZE(random_insult))]); else if (mtmp->mhp < 5 && !rn2(2)) /* Parthian shot */ verbalize(rn2(2) ? ! /*JP "I shall return." :*/ ! ";¤Ïɬ¤ºµ¢¤Ã¤Æ¤¯¤ë¡¥" : ! /*JP "I'll be back.");*/ ! ";¤ÏÌá¤Ã¤Æ¤¯¤ë¡¥"); else ! /*JP verbalize("%s %s!",*/ ! verbalize("%s%s¡ª", random_malediction[rn2(SIZE(random_malediction))], random_insult[rn2(SIZE(random_insult))]); } else if(is_lminion(mtmp->data)) { *************** *** 581,587 **** QT_ANGELIC); } else { if (!rn2(5)) ! pline("%s casts aspersions on your ancestry.", Monnam(mtmp)); else com_pager(rn2(QTN_DEMONIC) + QT_DEMONIC); } --- 644,651 ---- QT_ANGELIC); } else { if (!rn2(5)) ! /*JP pline("%s casts aspersions on your ancestry.", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î²ÈÊÁ¤òÃæ½ý¤·¤¿¡¥", Monnam(mtmp)); else com_pager(rn2(QTN_DEMONIC) + QT_DEMONIC); } diff -c -r ../nethack-3.2.2/src/worm.c ./src/worm.c *** ../nethack-3.2.2/src/worm.c Wed Sep 6 19:05:03 1995 --- ./src/worm.c Tue Jul 22 23:18:43 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #include "lev.h" *************** *** 368,374 **** /* Sometimes the tail end dies. */ if (rn2(3) || !(new_wnum = get_wormno())) { ! You("cut part of the tail off of %s.", mon_nam(worm)); toss_wsegs(new_tail, TRUE); if (worm->mhp > 1) worm->mhp /= 2; return; --- 375,382 ---- /* Sometimes the tail end dies. */ if (rn2(3) || !(new_wnum = get_wormno())) { ! /*JP You("cut part of the tail off of %s.", mon_nam(worm));*/ ! You("%s¤Î¿¬Èø¤Î°ìÉôʬ¤òÀڤä¿¡¥", mon_nam(worm)); toss_wsegs(new_tail, TRUE); if (worm->mhp > 1) worm->mhp /= 2; return; *************** *** 425,431 **** LS_MONSTER, (genericptr_t)new_worm); #endif ! You("cut %s in half.", mon_nam(worm)); } --- 433,440 ---- LS_MONSTER, (genericptr_t)new_worm); #endif ! /*JP You("cut %s in half.", mon_nam(worm));*/ ! You("%s¤ò¿¿¤Ã¤×¤¿¤Ä¤Ë¤·¤¿¡¥", mon_nam(worm)); } diff -c -r ../nethack-3.2.2/src/worn.c ./src/worn.c *** ../nethack-3.2.2/src/worn.c Sat Dec 28 21:53:56 1996 --- ./src/worn.c Tue Jul 22 23:18:43 1997 *************** *** 2,7 **** --- 2,13 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright (c) Issei Numata 1994-1996 + ** changing point is marked `JP' (94/1/6) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" static void FDECL(m_lose_armor, (struct monst *,struct obj *)); *************** *** 224,229 **** --- 230,237 ---- { struct obj *old, *best, *obj; int m_delay = 0; + const char *j, *jj; + char m[BUFSZ], mm[BUFSZ]; if (mon->mfrozen) return; /* probably putting previous item on */ *************** *** 297,307 **** if (old) { char buf[BUFSZ]; ! Sprintf(buf, "%s", distant_name(old, doname)); pline("%s removes %s and puts on %s.", ! Monnam(mon), buf, distant_name(best, doname)); ! } else ! pline("%s puts on %s.", Monnam(mon),distant_name(best,doname)); m_delay += objects[best->otyp].oc_delay; mon->mfrozen = m_delay; if (mon->mfrozen) mon->mcanmove = 0; --- 305,329 ---- if (old) { char buf[BUFSZ]; ! /*JP Sprintf(buf, "%s", distant_name(old, doname)); pline("%s removes %s and puts on %s.", ! Monnam(mon), buf, distant_name(best, doname));*/ ! Strcpy(m, jconj(jonmsg(best, &j), "¤¿")); ! Strcpy(mm, jconj(joffmsg(best, &jj), "¤Æ")); ! ! Sprintf(buf, "%s", distant_name(old, doname)); ! pline("%s¤Ï%s%s%s%s%s%s¡¥", ! Monnam(mon), buf, jj, ! Blind ? "¤Ï¤º¤·¤Æ" : mm, ! distant_name(best, doname), j, ! Blind ? "¿È¤Ë¤Ä¤±¤¿" : m); ! } else{ ! /*JP pline("%s puts on %s.", Monnam(mon),distant_name(best,doname));*/ ! Strcpy(m, jonmsg(best, &j)); ! pline("%s¤Ï%s%s%s¡¥", Monnam(mon), ! distant_name(best,doname), j, ! Blind ? "¿È¤Ë¤Ä¤±¤ë" : jconj(m, "¤¿")); ! } m_delay += objects[best->otyp].oc_delay; mon->mfrozen = m_delay; if (mon->mfrozen) mon->mcanmove = 0; *************** *** 348,414 **** register struct obj *otmp; struct permonst *mdat = mon->data; boolean vis = cansee(mon->mx, mon->my); const char *pronoun = him[pronoun_gender(mon)], ! *ppronoun = his[pronoun_gender(mon)]; if (breakarm(mdat)) { if ((otmp = which_armor(mon, W_ARM)) != 0) { if (vis) ! pline("%s breaks out of %s armor!", Monnam(mon), ppronoun); else ! You_hear("a cracking sound."); m_useup(mon, otmp); } if ((otmp = which_armor(mon, W_ARMC)) != 0) { if (otmp->oartifact) { if (vis) ! pline("%s cloak falls off!", s_suffix(Monnam(mon))); m_lose_armor(mon, otmp); } else { if (vis) ! pline("%s cloak tears apart!", s_suffix(Monnam(mon))); else ! You_hear("a ripping sound."); m_useup(mon, otmp); } } #ifdef TOURIST if ((otmp = which_armor(mon, W_ARMU)) != 0) { if (vis) ! pline("%s shirt rips to shreds!", s_suffix(Monnam(mon))); else ! You_hear("a ripping sound."); m_useup(mon, otmp); } #endif } else if (sliparm(mdat)) { if ((otmp = which_armor(mon, W_ARM)) != 0) { if (vis) ! pline("%s armor falls around %s!", ! s_suffix(Monnam(mon)), pronoun); else ! You_hear("a thud."); m_lose_armor(mon, otmp); } if ((otmp = which_armor(mon, W_ARMC)) != 0) { if (vis) if (is_whirly(mon->data)) ! pline("%s cloak falls, unsupported!", s_suffix(Monnam(mon))); else ! pline("%s shrinks out of %s cloak!", Monnam(mon), ! ppronoun); m_lose_armor(mon, otmp); } #ifdef TOURIST if ((otmp = which_armor(mon, W_ARMU)) != 0) { if (vis) if (sliparm(mon->data)) ! pline("%s seeps right through %s shirt!", ! Monnam(mon), ppronoun); else ! pline("%s becomes much too small for %s shirt!", ! Monnam(mon), ppronoun); m_lose_armor(mon, otmp); } #endif --- 370,454 ---- register struct obj *otmp; struct permonst *mdat = mon->data; boolean vis = cansee(mon->mx, mon->my); + /*JP const char *pronoun = him[pronoun_gender(mon)], ! *ppronoun = his[pronoun_gender(mon)];*/ if (breakarm(mdat)) { if ((otmp = which_armor(mon, W_ARM)) != 0) { if (vis) ! /*JP pline("%s breaks out of %s armor!", Monnam(mon), ppronoun);*/ ! pline("%s¤Ï³»¤ò¤ä¤Ö¤ê½Ð¤¿¡ª", Monnam(mon)); else ! /*JP You_hear("a cracking sound.");*/ ! You("¥Ð¥ê¥Ð¥ê¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); m_useup(mon, otmp); } if ((otmp = which_armor(mon, W_ARMC)) != 0) { if (otmp->oartifact) { if (vis) ! /*JP pline("%s cloak falls off!", s_suffix(Monnam(mon)));*/ ! pline("%s¤Î¥¯¥í¡¼¥¯¤ÏÍî¤Á¤¿¡ª", s_suffix(Monnam(mon))); m_lose_armor(mon, otmp); } else { if (vis) ! /*JP pline("%s cloak tears apart!", s_suffix(Monnam(mon)));*/ ! pline("%s¤Î¥¯¥í¡¼¥¯¤Ï¤º¤¿¤º¤¿¤Ë¤Ê¤Ã¤¿¡ª", s_suffix(Monnam(mon))); else ! /*JP You_hear("a ripping sound.");*/ ! You("¥Ó¥ê¥Ã¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); m_useup(mon, otmp); } } #ifdef TOURIST if ((otmp = which_armor(mon, W_ARMU)) != 0) { if (vis) ! /*JP pline("%s shirt rips to shreds!", s_suffix(Monnam(mon)));*/ ! pline("%s¤Î¥·¥ã¥Ä¤Ï¤º¤¿¤º¤¿¤Ë¤Ê¤Ã¤¿¡ª", s_suffix(Monnam(mon))); else ! /*JP You_hear("a ripping sound.");*/ ! You("¥Ó¥ê¥Ã¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); m_useup(mon, otmp); } #endif } else if (sliparm(mdat)) { if ((otmp = which_armor(mon, W_ARM)) != 0) { if (vis) ! /*JP pline("%s armor falls around %s!", ! s_suffix(Monnam(mon)), pronoun);*/ ! pline("%s¤Î³»¤¬²ó¤ê¤ËÍî¤Á¤¿¡ª", ! s_suffix(Monnam(mon))); else ! /*JP You_hear("a thud.");*/ ! You("¥É¥·¥ó¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); m_lose_armor(mon, otmp); } if ((otmp = which_armor(mon, W_ARMC)) != 0) { if (vis) if (is_whirly(mon->data)) ! /*JP pline("%s cloak falls, unsupported!", ! s_suffix(Monnam(mon)));*/ ! pline("%s¤Î¥¯¥í¡¼¥¯¤Ï»Ù¤¨¤­¤ì¤º¤ËÍî¤Á¤¿¡ª", s_suffix(Monnam(mon))); else ! /*JP pline("%s shrinks out of %s cloak!", Monnam(mon), ! ppronoun);*/ ! pline("%s¤Ï¥¯¥í¡¼¥¯¤è¤ê½Ì¤ó¤À¡ª", Monnam(mon)); m_lose_armor(mon, otmp); } #ifdef TOURIST if ((otmp = which_armor(mon, W_ARMU)) != 0) { if (vis) if (sliparm(mon->data)) ! /*JP pline("%s seeps right through %s shirt!", ! Monnam(mon), ppronoun);*/ ! pline("%s¤Ï¼«Ê¬¤Î¥·¥ã¥Ä¤Ë¤·¤ß¹þ¤ó¤À¡ª", ! Monnam(mon)); else ! /*JP pline("%s becomes much too small for %s shirt!", ! Monnam(mon), ppronoun);*/ ! pline("%s¤Ï¼«Ê¬¤Î¥·¥ã¥Ä¤è¤ê¤º¤Ã¤È¾®¤µ¤¯¤Ê¤Ã¤¿¡ª", ! Monnam(mon)); m_lose_armor(mon, otmp); } #endif *************** *** 416,440 **** if (nohands(mdat) || verysmall(mdat)) { if ((otmp = which_armor(mon, W_ARMG)) != 0) { if (vis) ! pline("%s drops %s gloves%s!", Monnam(mon), ppronoun, ! MON_WEP(mon) ? " and weapon" : ""); possibly_unwield(mon); m_lose_armor(mon, otmp); } if ((otmp = which_armor(mon, W_ARMS)) != 0) { if (vis) ! pline("%s can no longer hold %s shield!", Monnam(mon), ! ppronoun); else ! You_hear("a clank."); m_lose_armor(mon, otmp); } if ((otmp = which_armor(mon, W_ARMH)) != 0) { if (vis) ! pline("%s helmet falls to the %s!", s_suffix(Monnam(mon)), surface(mon->mx, mon->my)); else ! You_hear("a clank."); m_lose_armor(mon, otmp); } } --- 456,488 ---- if (nohands(mdat) || verysmall(mdat)) { if ((otmp = which_armor(mon, W_ARMG)) != 0) { if (vis) ! /*JP pline("%s drops %s gloves%s!", Monnam(mon), ppronoun, ! MON_WEP(mon) ? " and weapon" : "");*/ ! pline("%s¤Ï¾®¼ê%s¤òÍ¤¿¡ª", Monnam(mon), ! MON_WEP(mon) ? "¤ÈÉð´ï" : ""); possibly_unwield(mon); m_lose_armor(mon, otmp); } if ((otmp = which_armor(mon, W_ARMS)) != 0) { if (vis) ! /*JP pline("%s can no longer hold %s shield!", Monnam(mon), ! ppronoun);*/ ! pline("%s¤Ï¤â¤Ï¤ä½â¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Ê¤¤¡ª", Monnam(mon)); else ! /*JP You_hear("a clank.");*/ ! You("¥¬¥Á¥ã¥ó¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); m_lose_armor(mon, otmp); } if ((otmp = which_armor(mon, W_ARMH)) != 0) { if (vis) ! /*JP pline("%s helmet falls to the %s!", ! s_suffix(Monnam(mon)), surface(mon->mx, mon->my));*/ ! pline("%s¤Î³õ¤Ï%s¤ØÍî¤Á¤¿¡ª", s_suffix(Monnam(mon)), surface(mon->mx, mon->my)); + else ! /*JP You_hear("a clank.");*/ ! You("¥¬¥Á¥ã¥ó¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); m_lose_armor(mon, otmp); } } *************** *** 443,453 **** if ((otmp = which_armor(mon, W_ARMF)) != 0) { if (vis) { if (is_whirly(mon->data)) ! pline("%s boots fall away!", s_suffix(Monnam(mon))); ! else pline("%s boots %s off %s feet!", s_suffix(Monnam(mon)), ! verysmall(mdat) ? "slide" : "are pushed", ppronoun); } m_lose_armor(mon, otmp); } --- 491,505 ---- if ((otmp = which_armor(mon, W_ARMF)) != 0) { if (vis) { if (is_whirly(mon->data)) ! /*JP pline("%s boots fall away!", */ ! pline("%s¤Î·¤¤Ï椲Íî¤Á¤¿¡ª", s_suffix(Monnam(mon))); ! /*JP else pline("%s boots %s off %s feet!", ! s_suffix(Monnam(mon)), ! verysmall(mdat) ? "slide" : "are pushed", ppronoun);*/ ! else pline("%s¤Î·¤¤Ï­¤«¤é%s¡ª", s_suffix(Monnam(mon)), ! verysmall(mdat) ? "³ê¤êÍî¤Á¤¿" : "°ú¤Ã¤Ñ¤é¤ì¤¿"); } m_lose_armor(mon, otmp); } diff -c -r ../nethack-3.2.2/src/write.c ./src/write.c *** ../nethack-3.2.2/src/write.c Fri Jun 21 02:25:33 1996 --- ./src/write.c Tue Jul 22 23:18:43 1997 *************** *** 1,6 **** --- 1,13 ---- /* SCCS Id: @(#)write.c 3.2 96/05/05 */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" static int FDECL(cost,(struct obj *)); *************** *** 77,112 **** int first, last, i; boolean by_descr = FALSE; const char *typeword; if (nohands(uasmon)) { ! You("need hands to be able to write!"); return 0; } else if (Glib) { dropx(pen); ! pline("%s slips from your %s.", The(xname(pen)), makeplural(body_part(FINGER))); return 1; } /* get paper to write on */ ! paper = getobj(write_on,"write on"); if(!paper) return(0); ! typeword = (paper->oclass == SPBOOK_CLASS) ? "spellbook" : "scroll"; if(Blind && !paper->dknown) { ! You("don't know if that %s is blank or not!", typeword); return(1); } paper->dknown = 1; if(paper->otyp != SCR_BLANK_PAPER && paper->otyp != SPE_BLANK_PAPER) { ! pline("That %s is not blank!", typeword); exercise(A_WIS, FALSE); return(1); } /* what to write */ ! Sprintf(qbuf, "What type of %s do you want to write?", typeword); ! getlin(qbuf, namebuf); (void)mungspaces(namebuf); /* remove any excess whitespace */ if(namebuf[0] == '\033' || !namebuf[0]) return(1); --- 84,140 ---- int first, last, i; boolean by_descr = FALSE; const char *typeword; + /*JP*/ + char tmp[BUFSZ]; if (nohands(uasmon)) { ! /*JP You("need hands to be able to write!");*/ ! You("½ñ¤¯¤¿¤á¤Ë¤Ï¼ê¤¬É¬ÍפÀ¡ª"); return 0; } else if (Glib) { dropx(pen); ! /*JP pline("%s slips from your %s.", The(xname(pen)),*/ ! pline("%s¤¬%s¤«¤é³ê¤ê¤ª¤Á¤¿¡¥", The(xname(pen)), makeplural(body_part(FINGER))); return 1; } /* get paper to write on */ ! /*JP paper = getobj(write_on,"write on");*/ ! paper = getobj(write_on,"¤Ë½ñ¤¯"); if(!paper) return(0); ! /*JP typeword = (paper->oclass == SPBOOK_CLASS) ? "spellbook" : "scroll";*/ ! typeword = (paper->oclass == SPBOOK_CLASS) ? "ËâË¡½ñ" : "´¬Êª"; if(Blind && !paper->dknown) { ! /*JP You("don't know if that %s is blank or not!", typeword);*/ ! You("%s¤¬Çò»æ¤«¤É¤¦¤«¤ï¤«¤é¤Ê¤¤¡ª", typeword); return(1); } paper->dknown = 1; if(paper->otyp != SCR_BLANK_PAPER && paper->otyp != SPE_BLANK_PAPER) { ! /*JP pline("That %s is not blank!", typeword);*/ ! pline("%s¤ÏÇò»æ¤¸¤ã¤Ê¤¤¡ª", typeword); exercise(A_WIS, FALSE); return(1); } /* what to write */ ! /*JP Sprintf(qbuf, "What type of %s do you want to write?", typeword);*/ ! Sprintf(qbuf, "¤É¤Î¼ï¤Î%s¤Î¼öʸ¤ò½ñ¤­¤Þ¤¹¤«¡©", typeword); ! getlin(qbuf, tmp); ! ! if(paper->oclass == SPBOOK_CLASS){ ! /*JP if(strlen(tmp)>8 && strcmp(tmp + strlen(tmp) - 8, "¤ÎËâË¡½ñ")) ! Strcat(tmp, "¤ÎËâË¡½ñ");*/ ! Strcpy(namebuf, etrns_obj('+', tmp)); ! } ! else{ ! /*JP if(strlen(tmp)>8 && strcmp(tmp + strlen(tmp) - 8, "¤Î´¬Êª")) ! Strcat(tmp, "¤Î´¬Êª");*/ ! Strcpy(namebuf, etrns_obj('?', tmp)); ! } ! (void)mungspaces(namebuf); /* remove any excess whitespace */ if(namebuf[0] == '\033' || !namebuf[0]) return(1); *************** *** 134,155 **** } } ! pline("There is no such %s!", typeword); return 1; found: if (i == SCR_BLANK_PAPER || i == SPE_BLANK_PAPER) { ! You_cant("write that!"); ! pline("It's obscene!"); return 1; } else if (i == SPE_BOOK_OF_THE_DEAD) { ! pline("No mere dungeon adventurer could write that."); return 1; } else if (by_descr && paper->oclass == SPBOOK_CLASS && !objects[i].oc_name_known) { /* can't write unknown spellbooks by description */ pline( ! "Unfortunately you don't have enough information to go on."); return 1; } --- 162,188 ---- } } ! /*JP pline("There is no such %s!", typeword);*/ ! pline("¤½¤Î¤è¤¦¤Ê%s¤Ï¤Ê¤¤¡ª", typeword); return 1; found: if (i == SCR_BLANK_PAPER || i == SPE_BLANK_PAPER) { ! /*JP You_cant("write that!");*/ ! pline("Çò»æ¤ËÇò»æ¤ò½ñ¤¯¡©¡ª"); ! /*JP pline("It's obscene!");*/ ! pline("¤½¤¦¤¤¤¦¤ä¤ê¤«¤¿¤Ï¤Á¤ç¤Ã¤ÈÉÔÌû²÷¤À¤Ê¡ª"); return 1; } else if (i == SPE_BOOK_OF_THE_DEAD) { ! /*JP pline("No mere dungeon adventurer could write that.");*/ ! pline("ñ¤Ê¤ë̵ÜËÁ¸±²È¤Ç¤Ï¤½¤ì¤Ë½ñ¤±¤Ê¤¤¡¥"); return 1; } else if (by_descr && paper->oclass == SPBOOK_CLASS && !objects[i].oc_name_known) { /* can't write unknown spellbooks by description */ pline( ! /*JP "Unfortunately you don't have enough information to go on.");*/ ! "¤Ê¤ó¤Æ¤³¤Ã¤¿¤¤¡ª¤½¤ì¤ò½ñ¤¯¤À¤±¤Î½½Ê¬¤ÊÃ챤¬¤Ê¤¤¡¥"); return 1; } *************** *** 162,168 **** /* see if there's enough ink */ basecost = cost(new_obj); if(pen->spe < basecost/2) { ! Your("marker is too dry to write that!"); obfree(new_obj, (struct obj *) 0); return(1); } --- 195,202 ---- /* see if there's enough ink */ basecost = cost(new_obj); if(pen->spe < basecost/2) { ! /*JP Your("marker is too dry to write that!");*/ ! Your("¥Þ¡¼¥«¤Ï³å¤­¤¹¤®¤Æ¤ª¤ê¤¦¤Þ¤¯½ñ¤±¤Ê¤«¤Ã¤¿¡ª"); obfree(new_obj, (struct obj *) 0); return(1); } *************** *** 174,186 **** exercise(A_WIS, TRUE); /* dry out marker */ if(pen->spe < actualcost) { ! Your("marker dries out!"); /* scrolls disappear, spellbooks don't */ if (paper->oclass == SPBOOK_CLASS) pline_The( ! "spellbook is left unfinished and your writing fades."); else { ! pline_The("scroll is now useless and disappears!"); useup(paper); } pen->spe = 0; --- 208,224 ---- exercise(A_WIS, TRUE); /* dry out marker */ if(pen->spe < actualcost) { ! /*JP Your("marker dries out!");*/ ! pline("½ñ¤¤¤Æ¤¤¤ëÅÓÃæ¤Ç¥Þ¡¼¥«¤Ï³å¤­¤­¤Ã¤¿¡ª"); /* scrolls disappear, spellbooks don't */ if (paper->oclass == SPBOOK_CLASS) pline_The( ! /*JP "spellbook is left unfinished and your writing fades.");*/ ! "ËâË¡½ñ¤Ë¤Ï½ñ¤­¤­¤ì¤Ê¤«¤Ã¤¿¡¥¤½¤·¤Æ½ñ¤¤¤¿Ê¸»ú¤Ï¾Ã¤¨¤Æ¤·¤Þ¤Ã¤¿¡¥"); ! else { ! /*JP pline_The("scroll is now useless and disappears!");*/ ! pline_The("´¬Êª¤Ï»È¤¤¤â¤Î¤Ë¤Ê¤é¤Ê¤¯¤Ê¤Ã¤Æ¾ÃÌǤ·¤¿¡ª"); useup(paper); } pen->spe = 0; *************** *** 193,210 **** if(!(objects[new_obj->otyp].oc_name_known) && !(objects[new_obj->otyp].oc_uname) && (rnl(Role_is('W') ? 3 : 15))) { ! You("%s to write that!", by_descr ? "fail" : "don't know how"); /* scrolls disappear, spellbooks don't */ if (paper->oclass == SPBOOK_CLASS) You( ! "write in your best handwriting: \"My Diary\", but it quickly fades."); else { if (by_descr) { Strcpy(namebuf, OBJ_DESCR(objects[new_obj->otyp])); wipeout_text(namebuf, (6+MAXULEV - u.ulevel)/6, 0); } else ! Sprintf(namebuf, "%s was here!", plname); ! You("write \"%s\" and the scroll disappears.", namebuf); useup(paper); } obfree(new_obj, (struct obj *) 0); --- 231,254 ---- if(!(objects[new_obj->otyp].oc_name_known) && !(objects[new_obj->otyp].oc_uname) && (rnl(Role_is('W') ? 3 : 15))) { ! /*JP You("%s to write that!", by_descr ? "fail" : "don't know how");*/ ! You("%s¡ª", by_descr ? "½ñ¤¯¤Î¤Ë¼ºÇÔ¤·¤¿" : ! "¤É¤¦¤ä¤Ã¤Æ½ñ¤¯¤Î¤«ÃΤé¤Ê¤¤¡ª"); /* scrolls disappear, spellbooks don't */ if (paper->oclass == SPBOOK_CLASS) You( ! /*JP "write in your best handwriting: \"My Diary\", but it quickly fades.");*/ ! "ÃúÇ«¤Ë½ñ¤¤¤¿¡§¡Ö²æ¤¬Æüµ­¡×¡¤¤·¤«¤·¤¢¤Ã¤È¸À¤¦´Ö¤Ë¾Ã¤¨¤Æ¤·¤Þ¤Ã¤¿¡¥"); else { if (by_descr) { Strcpy(namebuf, OBJ_DESCR(objects[new_obj->otyp])); wipeout_text(namebuf, (6+MAXULEV - u.ulevel)/6, 0); } else ! /*JP Sprintf(namebuf, "%s was here!", plname);*/ ! Sprintf(namebuf, "%s¤Ï¤³¤³¤Ë¤¢¤ê¡ª", plname); ! /*JP You("write \"%s\" and the scroll disappears.", namebuf);*/ ! You("¡Ö%s¡×¤È½ñ¤¤¤¿¡¥¤¹¤ë¤È´¬Êª¤Ï¾Ã¤¨¤Æ¤·¤Þ¤Ã¤¿¡¥", namebuf); ! useup(paper); } obfree(new_obj, (struct obj *) 0); *************** *** 217,232 **** /* success */ if (new_obj->oclass == SPBOOK_CLASS) { /* acknowledge the change in the object's description... */ ! pline("The spellbook warps strangely, then turns %s.", ! OBJ_DESCR(objects[new_obj->otyp])); } new_obj->blessed = (curseval > 0); new_obj->cursed = (curseval < 0); #ifdef MAIL if (new_obj->otyp == SCR_MAIL) new_obj->spe = 1; #endif ! new_obj = hold_another_object(new_obj, "Oops! %s out of your grasp!", ! The(aobjnam(new_obj, "slip")), (const char *)0); return(1); } --- 261,280 ---- /* success */ if (new_obj->oclass == SPBOOK_CLASS) { /* acknowledge the change in the object's description... */ ! /*JP pline("The spellbook warps strangely, then turns %s.", ! OBJ_DESCR(objects[new_obj->otyp]));*/ ! pline("ËâË¡½ñ¤Ï̯¤ËÈ¿¤ê¤«¤¨¤ê¡¢¤½¤·¤Æ%s¤Ë¤Ê¤Ã¤¿", ! jtrns_obj('+', OBJ_DESCR(objects[new_obj->otyp]))); } new_obj->blessed = (curseval > 0); new_obj->cursed = (curseval < 0); #ifdef MAIL if (new_obj->otyp == SCR_MAIL) new_obj->spe = 1; #endif ! /*JP new_obj = hold_another_object(new_obj, "Oops! %s out of your grasp!", ! The(aobjnam(new_obj, "slip")),*/ ! new_obj = hold_another_object(new_obj, "¤ª¤Ã¤È¡ª%s¤Ï¤¢¤Ê¤¿¤Î¼ê¤«¤é³ê¤êÍî¤Á¤¿", ! xname(new_obj), (const char *)0); return(1); } diff -c -r ../nethack-3.2.2/src/zap.c ./src/zap.c *** ../nethack-3.2.2/src/zap.c Sat Dec 28 21:53:56 1996 --- ./src/zap.c Tue Sep 23 07:10:15 1997 *************** *** 2,7 **** --- 2,14 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright + ** (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-1996 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" /* Disintegration rays have special treatment; corpses are never left. *************** *** 54,61 **** --- 61,73 ---- STATIC_VAR const char are_blinded_by_the_flash[]; extern const char *flash_types[]; #else + /*JP STATIC_VAR const char are_blinded_by_the_flash[] = "are blinded by the flash!"; + */ + STATIC_VAR const char are_blinded_by_the_flash[] = + "¤Þ¤Ð¤æ¤¤¸÷¤ÇÌܤ¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡ª"; + #if 0 /*JP*/ const char *flash_types[] = { /* also used in buzzmu(mcastu.c) */ "magic missile", /* Wands must be 0-9 */ "bolt of fire", *************** *** 90,95 **** --- 102,143 ---- "", "" }; + #endif + + const char *flash_types[] = { /* also used in buzzmu(mcastu.c) */ + "ËâË¡¤ÎÌð", /* Wands must be 0-9 */ + "²Ð¤ÎÁ®¸÷", + "ɹ¤ÎÁ®¸÷", + "̲¤ê¸÷Àþ", + "»à¤Î¸÷Àþ", + "°ðºÊ¤ÎÁ®¸÷", + "", + "", + "", + "", + + "ËâË¡¤ÎÌð", /* Spell equivalents must be 10-19 */ + "²Ð¤Î¶Ì", + "Î䵤", + "̲¤ê¸÷Àþ", + "»à¤Î»Ø", + "°ðºÊ¤ÎÁ®¸÷", /* There is no spell, used for retribution */ + "", + "", + "", + "", + + "ËâË¡¤ÎÌð¤Î©", /* Dragon breath equivalents 20-29*/ + "²Ð¤Î©", + "ɹ¤Î©", + "¿ç̲¥¬¥¹¤Î©", + "ʬ²ò¤Î©", + "°ðºÊ¤Î©", + "ÆÇ¥¬¥¹¤Î©", + "»À¤Î©", + "", + "" + }; /* Routines for IMMEDIATE wands and spells. */ /* bhitm: monster mtmp was hit by the effect of wand or spell otmp */ *************** *** 112,121 **** } else if (u.uswallow || rnd(20) < 10 + find_mac(mtmp)) { dmg = d(2,12); if(dbldam) dmg *= 2; ! hit((otyp == WAN_STRIKING) ? "wand" : "spell", mtmp, exclam(dmg)); (void) resist(mtmp, otmp->oclass, dmg, TELL); ! } else miss((otyp == WAN_STRIKING) ? "wand" : "spell", mtmp); makeknown(otyp); break; case WAN_SLOW_MONSTER: --- 160,171 ---- } else if (u.uswallow || rnd(20) < 10 + find_mac(mtmp)) { dmg = d(2,12); if(dbldam) dmg *= 2; ! /*JP hit((otyp == WAN_STRIKING) ? "wand" : "spell",*/ ! hit((otyp == WAN_STRIKING) ? "¾ó" : "ËâË¡", mtmp, exclam(dmg)); (void) resist(mtmp, otmp->oclass, dmg, TELL); ! /*JP } else miss((otyp == WAN_STRIKING) ? "wand" : "spell", mtmp);*/ ! } else miss((otyp == WAN_STRIKING) ? "¾ó" : "ËâË¡", mtmp); makeknown(otyp); break; case WAN_SLOW_MONSTER: *************** *** 125,132 **** else mtmp->mspeed = MSLOW; if (u.uswallow && (mtmp == u.ustuck) && is_whirly(mtmp->data)) { ! You("disrupt %s!", mon_nam(mtmp)); ! pline("A huge hole opens up..."); expels(mtmp, mtmp->data, TRUE); } } --- 175,184 ---- else mtmp->mspeed = MSLOW; if (u.uswallow && (mtmp == u.ustuck) && is_whirly(mtmp->data)) { ! /*JP You("disrupt %s!", mon_nam(mtmp)); ! pline("A huge hole opens up...");*/ ! You("%s¤ò¥Ð¥é¥Ð¥é¤Ë¤·¤¿¡ª", mon_nam(mtmp)); ! pline("æ½Ð¤Ç¤­¤½¤¦¤Ê·ê¤¬³«¤¤¤¿¡¥¡¥¡¥"); expels(mtmp, mtmp->data, TRUE); } } *************** *** 157,163 **** } else if (!resist(mtmp, otmp->oclass, 0, NOTELL)) { if (!rn2(25)) { if (canseemon(mtmp)) { ! pline("%s shudders!", Monnam(mtmp)); makeknown(otyp); } /* no corpse after system shock */ --- 209,216 ---- } else if (!resist(mtmp, otmp->oclass, 0, NOTELL)) { if (!rn2(25)) { if (canseemon(mtmp)) { ! /*JP pline("%s shudders!", Monnam(mtmp));*/ ! pline("%s¤Ï¿È¿Ì¤¤¤·¤¿¡ª", Monnam(mtmp)); makeknown(otyp); } /* no corpse after system shock */ *************** *** 175,181 **** case WAN_TELEPORTATION: case SPE_TELEPORT_AWAY: if(mtmp->ispriest && *in_rooms(mtmp->mx, mtmp->my, TEMPLE)) { ! pline("%s resists your magic!", Monnam(mtmp)); break; } rloc(mtmp); --- 228,235 ---- case WAN_TELEPORTATION: case SPE_TELEPORT_AWAY: if(mtmp->ispriest && *in_rooms(mtmp->mx, mtmp->my, TEMPLE)) { ! /*JP pline("%s resists your magic!", Monnam(mtmp));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ÎËâË¡¤ò̵¸ú²½¤·¤¿¡ª", Monnam(mtmp)); break; } rloc(mtmp); *************** *** 196,203 **** wake = FALSE; /* don't want immediate counterattack */ if(u.uswallow && mtmp == u.ustuck) { if (is_animal(mtmp->data)) { ! if (Blind) You_feel("a sudden rush of air!"); ! else pline("%s opens its mouth!", Monnam(mtmp)); } expels(mtmp, mtmp->data, TRUE); } --- 250,259 ---- wake = FALSE; /* don't want immediate counterattack */ if(u.uswallow && mtmp == u.ustuck) { if (is_animal(mtmp->data)) { ! /*JP if (Blind) You_feel("a sudden rush of air!");*/ ! if (Blind) You("ÆÍÁ³¶õµ¤¤Î·ãή¤ò´¶¤¸¤¿¡ª"); ! /*JP else pline("%s opens its mouth!", Monnam(mtmp));*/ ! else pline("%s¤Ï¸ý¤ò³«¤¤¤¿¡ª", Monnam(mtmp)); } expels(mtmp, mtmp->data, TRUE); } *************** *** 209,216 **** if (mtmp->mhp > mtmp->mhpmax) mtmp->mhp = mtmp->mhpmax; if (canseemon(mtmp)) ! pline("%s looks%s better.", Monnam(mtmp), ! otyp == SPE_EXTRA_HEALING ? " much" : "" ); if (mtmp->mtame || mtmp->mpeaceful) { adjalign(Role_is('H') ? 1 : sgn(u.ualign.type)); } --- 265,274 ---- if (mtmp->mhp > mtmp->mhpmax) mtmp->mhp = mtmp->mhpmax; if (canseemon(mtmp)) ! /*JP pline("%s looks%s better.", Monnam(mtmp), ! otyp == SPE_EXTRA_HEALING ? " much" : "" );*/ ! pline("%s¤¬%s¸µµ¤¤Ë¤Ê¤Ã¤¿¤è¤¦¤Ë¸«¤¨¤¿¡¥", Monnam(mtmp), ! otyp == SPE_EXTRA_HEALING ? "¤È¤Æ¤â" : "" ); if (mtmp->mtame || mtmp->mpeaceful) { adjalign(Role_is('H') ? 1 : sgn(u.ualign.type)); } *************** *** 259,265 **** otmp->dknown = 1; /* treat as "seen" */ (void) display_minventory(mtmp, MINV_ALL); } else { ! pline("%s is not carrying anything.", Monnam(mtmp)); } } --- 317,324 ---- otmp->dknown = 1; /* treat as "seen" */ (void) display_minventory(mtmp, MINV_ALL); } else { ! /*JP pline("%s is not carrying anything.", Monnam(mtmp));*/ ! pline("%s¤Ï²¿¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¡¥", Monnam(mtmp)); } } *************** *** 473,484 **** if ((mtmp2 = revive(otmp)) != 0) { ++res; if (youseeit) { ! if (!once++) Strcpy(owner, (mon == &youmonst) ? "Your" : s_suffix(Monnam(mon))); ! pline("%s %s suddenly comes alive!", owner, corpse); } else if (canseemon(mtmp2)) ! pline("%s suddenly appears!", Amonnam(mtmp2)); } } return res; --- 532,548 ---- if ((mtmp2 = revive(otmp)) != 0) { ++res; if (youseeit) { ! /*JP if (!once++) Strcpy(owner, (mon == &youmonst) ? "Your" : s_suffix(Monnam(mon))); ! pline("%s %s suddenly comes alive!", owner, corpse);*/ ! if (!once++) Strcpy(owner, ! (mon == &youmonst) ? "¤¢¤Ê¤¿" : ! Monnam(mon)); ! pline("%s¤Î%s¤ÏÆÍÁ³À¸Ì¿¤òÂÓ¤Ó¤¿¡ª", owner, corpse); } else if (canseemon(mtmp2)) ! /*JP pline("%s suddenly appears!", Amonnam(mtmp2));*/ ! pline("%s¤¬ÆÍÁ³¸½¤ï¤ì¤¿¡ª", Amonnam(mtmp2)); } } return res; *************** *** 502,508 **** if (obj->unpaid) { shkp = shop_keeper(*u.ushops); if (!shkp) return; ! Norep("You cancel an unpaid object, you pay for it!"); bill_dummy_object(obj); } break; --- 566,573 ---- if (obj->unpaid) { shkp = shop_keeper(*u.ushops); if (!shkp) return; ! /*JP Norep("You cancel an unpaid object, you pay for it!");*/ ! Norep("¤¢¤Ê¤¿¤Ï̤ʧ¤Î¤â¤Î¤ò̵Îϲ½¤·¤Æ¤·¤Þ¤Ã¤¿¡¥»Ùʧ¤¤¤ò¤·¤Ê¤­¤ã¡ª"); bill_dummy_object(obj); } break; *************** *** 511,517 **** shkp = shop_keeper(objroom); if (!shkp || !inhishop(shkp)) return; if (costly_spot(u.ux, u.uy) && objroom == *u.ushops) { ! Norep("You cancel it, you pay for it!"); bill_dummy_object(obj); } else (void) stolen_value(obj, obj->ox, obj->oy, FALSE, FALSE); --- 576,583 ---- shkp = shop_keeper(objroom); if (!shkp || !inhishop(shkp)) return; if (costly_spot(u.ux, u.uy) && objroom == *u.ushops) { ! /*JP Norep("You cancel it, you pay for it!");*/ ! Norep("¤¢¤Ê¤¿¤Ï̵¸ú²½¤·¤Æ¤·¤Þ¤Ã¤¿¡¥»Ùʧ¤¤¤ò¤·¤Ê¤­¤ã¡ª"); bill_dummy_object(obj); } else (void) stolen_value(obj, obj->ox, obj->oy, FALSE, FALSE); *************** *** 706,712 **** case METAL: case MITHRIL: pm_index = PM_IRON_GOLEM; ! material = "metal "; break; case COPPER: case SILVER: --- 772,779 ---- case METAL: case MITHRIL: pm_index = PM_IRON_GOLEM; ! /*JP material = "metal ";*/ ! material = "¶â°"; break; case COPPER: case SILVER: *************** *** 716,739 **** case GLASS: case MINERAL: pm_index = rn2(2) ? PM_STONE_GOLEM : PM_CLAY_GOLEM; ! material = "lithic "; break; case 0: /* there is no flesh type, but all food is type 0, so we use it */ pm_index = PM_FLESH_GOLEM; ! material = "organic "; break; case WOOD: pm_index = PM_WOOD_GOLEM; ! material = "wood "; break; case LEATHER: pm_index = PM_LEATHER_GOLEM; ! material = "leather "; break; case CLOTH: pm_index = PM_ROPE_GOLEM; ! material = "cloth "; break; default: /* if all else fails... */ --- 783,811 ---- case GLASS: case MINERAL: pm_index = rn2(2) ? PM_STONE_GOLEM : PM_CLAY_GOLEM; ! /*JP material = "lithic ";*/ ! material = "¹Ûʪ"; break; case 0: /* there is no flesh type, but all food is type 0, so we use it */ pm_index = PM_FLESH_GOLEM; ! /*JP material = "organic ";*/ ! material = "À¸Ì¿ÂÎ"; break; case WOOD: pm_index = PM_WOOD_GOLEM; ! /*JP material = "wood ";*/ ! material = "ÌÚ¤ÎʪÂÎ"; break; case LEATHER: pm_index = PM_LEATHER_GOLEM; ! /*JP material = "leather ";*/ ! material = "Èé¤ÎʪÂÎ"; break; case CLOTH: pm_index = PM_ROPE_GOLEM; ! /*JP material = "cloth ";*/ ! material = "ÉÛ¤ÎʪÂÎ"; break; default: /* if all else fails... */ *************** *** 749,755 **** polyuse(obj, poly_zapped, (int)mons[pm_index].cwt); if(!Blind && mtmp) { ! pline("Some %sobjects meld, and %s arises from the pile!", material, a_monnam(mtmp)); } } --- 821,828 ---- polyuse(obj, poly_zapped, (int)mons[pm_index].cwt); if(!Blind && mtmp) { ! /*JP pline("Some %sobjects meld, and %s arises from the pile!",*/ ! pline("¤¤¤¯¤Ä¤«¤Î%s¤ÏÍϤ±¡¤¤½¤Î»³¤«¤é%s¤¬¸½¤ï¤ì¤¿¡ª", material, a_monnam(mtmp)); } } *************** *** 908,917 **** !costly_spot(u.ux, u.uy)) make_angry_shk(shkp, obj->ox, obj->oy); else { ! pline("%s gets angry!", Monnam(shkp)); hot_pursuit(shkp); } ! } else Norep("%s is furious!", Monnam(shkp)); } } delobj(obj); --- 981,992 ---- !costly_spot(u.ux, u.uy)) make_angry_shk(shkp, obj->ox, obj->oy); else { ! /*JP pline("%s gets angry!", Monnam(shkp));*/ ! pline("%s¤Ï·ãÅܤ·¤¿¡ª", Monnam(shkp)); hot_pursuit(shkp); } ! /*JP } else Norep("%s is furious!", Monnam(shkp));*/ ! } else Norep("%s¤ÏÅܤä¿¡ª", Monnam(shkp)); } } delobj(obj); *************** *** 962,968 **** obj->dknown = 1; if (Has_contents(obj)) { if (!obj->cobj) ! pline("%s is empty.", The(xname(obj))); else { struct obj *o; /* view contents (not recursively) */ --- 1037,1044 ---- obj->dknown = 1; if (Has_contents(obj)) { if (!obj->cobj) ! /*JP pline("%s is empty.", The(xname(obj)));*/ ! pline("%s¤Ï¶õ¤Ã¤Ý¤À¡¥", The(xname(obj))); else { struct obj *o; /* view contents (not recursively) */ *************** *** 1103,1109 **** if(wand->spe < 0 || (wand->spe == 0 && rn2(121))) return 0; if(wand->spe == 0) ! You("wrest one last charge from the worn-out wand."); wand->spe--; return 1; } --- 1179,1186 ---- 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("»È¤¤¤­¤Ã¤¿¾ó¤«¤éºÇ¸å¤ÎÎϤò¤·¤Ü¤ê¤È¤Ã¤¿¡¥"); wand->spe--; return 1; } *************** *** 1136,1142 **** case WAN_WISHING: known = TRUE; if(Luck + rn2(5) < 0) { ! pline("Unfortunately, nothing happens."); break; } makewish(); --- 1213,1220 ---- case WAN_WISHING: known = TRUE; if(Luck + rn2(5) < 0) { ! /*JP pline("Unfortunately, nothing happens.");*/ ! pline("ÉÔ¹¬¤Ë¤â²¿¤âµ¯¤­¤Ê¤«¤Ã¤¿¡¥"); break; } makewish(); *************** *** 1155,1162 **** register struct obj * otmp; { ! pline("%s suddenly explodes!", The(xname(otmp))); ! losehp(d(otmp->spe+2,6), "exploding wand", KILLED_BY_AN); useup(otmp); } --- 1233,1242 ---- register struct obj * otmp; { ! /*JP pline("%s suddenly explodes!", The(xname(otmp)));*/ ! pline("%s¤ÏÆÍÁ³Çúȯ¤·¤¿¡ª", The(xname(otmp))); ! /*JP losehp(d(otmp->spe+2,6), "exploding wand", KILLED_BY_AN);*/ ! losehp(d(otmp->spe+2,6), "¾ó¤ÎÇúȯ¤Ç", KILLED_BY_AN); useup(otmp); } *************** *** 1169,1175 **** int damage; if(check_capacity((char *)0)) return(0); ! obj = getobj(zap_syms, "zap"); if(!obj) return(0); check_unpaid(obj); --- 1249,1256 ---- int damage; if(check_capacity((char *)0)) return(0); ! /*JP obj = getobj(zap_syms, "zap");*/ ! obj = getobj(zap_syms, "¿¶¤ê¤«¤¶¤¹"); if(!obj) return(0); check_unpaid(obj); *************** *** 1182,1193 **** return(1); } else if(!(objects[obj->otyp].oc_dir == NODIR) && !getdir((char *)0)) { if (!Blind) ! pline("%s glows and fades.", 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) ! losehp(damage, self_pronoun("zapped %sself with a wand", "him"), ! NO_KILLER_PREFIX); } else { /* Are we having fun yet? --- 1263,1277 ---- 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¤Ï°ì½Öµ±¤¤¤¿¡¥", 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) ! /*JP losehp(damage, self_pronoun("zapped %sself with a wand", "him"), ! NO_KILLER_PREFIX);*/ ! losehp(damage, "¼«Ê¬¼«¿È¤Î¾ó¤ÎÎϤòÍá¤Ó¤Æ", ! KILLED_BY); } else { /* Are we having fun yet? *************** *** 1202,1208 **** current_wand = 0; } if (obj && obj->spe < 0) { ! pline("%s turns to dust.", The(xname(obj))); useup(obj); } update_inventory(); /* maybe used a charge */ --- 1286,1293 ---- current_wand = 0; } if (obj && obj->spe < 0) { ! /*JP pline("%s turns to dust.", The(xname(obj)));*/ ! pline("%s¤Ï¿Ð¤È¤Ê¤Ã¤¿¡¥", The(xname(obj))); useup(obj); } update_inventory(); /* maybe used a charge */ *************** *** 1222,1231 **** case SPE_FORCE_BOLT: if(Antimagic) { shieldeff(u.ux, u.uy); ! pline("Boing!"); } else { if (ordinary) { ! You("bash yourself!"); damage = d(2,12); } else damage = d(1 + obj->spe,6); --- 1307,1318 ---- case SPE_FORCE_BOLT: if(Antimagic) { shieldeff(u.ux, u.uy); ! /*JP pline("Boing!");*/ ! pline("¤Ö¡¼¤ó¡ª"); } else { if (ordinary) { ! /*JP You("bash yourself!");*/ ! You("¼«Ê¬¼«¿È¤òÂǤÁ¤Ä¤±¤¿¡ª"); damage = d(2,12); } else damage = d(1 + obj->spe,6); *************** *** 1235,1246 **** case WAN_LIGHTNING: makeknown(WAN_LIGHTNING); if (!Shock_resistance) { ! You("shock yourself!"); damage = d(12,6); exercise(A_CON, FALSE); } else { shieldeff(u.ux, u.uy); ! You("zap yourself, but seem unharmed."); ugolemeffects(AD_ELEC, d(12,6)); } destroy_item(WAND_CLASS, AD_ELEC); --- 1322,1336 ---- case WAN_LIGHTNING: makeknown(WAN_LIGHTNING); if (!Shock_resistance) { ! /*JP You("shock yourself!");*/ ! You("ÅÅ·â¤ò¤¦¤±¤¿¡ª"); damage = d(12,6); exercise(A_CON, FALSE); } else { shieldeff(u.ux, u.uy); ! /*JP You("zap yourself, but seem unharmed.");*/ ! You("¼«Ê¬¤Ë¾ó¤ò¤Õ¤ê¤«¤¶¤·¤¿¤¬¡¤²ø²æ¤Ï¤·¤Ê¤«¤Ã¤¿¤è¤¦¤À¡¥"); ! ugolemeffects(AD_ELEC, d(12,6)); } destroy_item(WAND_CLASS, AD_ELEC); *************** *** 1251,1257 **** } break; case SPE_FIREBALL: ! You("explode a fireball on top of yourself!"); explode(u.ux, u.uy, 11, d(6,6), WAND_CLASS); break; case WAN_FIRE: --- 1341,1348 ---- } break; case SPE_FIREBALL: ! /*JP You("explode a fireball on top of yourself!");*/ ! Your("Ƭ¾å¤Ç²Ð¤Î¶Ì¤¬Çúȯ¤·¤¿¡ª"); explode(u.ux, u.uy, 11, d(6,6), WAND_CLASS); break; case WAN_FIRE: *************** *** 1259,1268 **** case FIRE_HORN: if (Fire_resistance) { shieldeff(u.ux, u.uy); ! You_feel("rather warm."); ugolemeffects(AD_FIRE, d(12,6)); } else { ! pline("You've set yourself afire!"); damage = d(12,6); } (void) burnarmor(); --- 1350,1361 ---- case FIRE_HORN: if (Fire_resistance) { shieldeff(u.ux, u.uy); ! /*JP You_feel("rather warm.");*/ ! You("¤Á¤ç¤Ã¤ÈÃȤ«¤¯´¶¤¸¤¿¡¥"); ugolemeffects(AD_FIRE, d(12,6)); } else { ! /*JP pline("You've set yourself afire!");*/ ! You("±ê¤Ë¤Ä¤Ä¤Þ¤ì¤¿¡¥!"); damage = d(12,6); } (void) burnarmor(); *************** *** 1276,1285 **** case FROST_HORN: if (Cold_resistance) { shieldeff(u.ux, u.uy); ! You_feel("a little chill."); ugolemeffects(AD_COLD, d(12,6)); } else { ! You("imitate a popsicle!"); damage = d(12,6); } destroy_item(POTION_CLASS, AD_COLD); --- 1369,1380 ---- case FROST_HORN: if (Cold_resistance) { shieldeff(u.ux, u.uy); ! /*JP You_feel("a little chill.");*/ ! You("¤Á¤ç¤Ã¤ÈÎ䤿¤¯´¶¤¸¤¿¡¥"); ugolemeffects(AD_COLD, d(12,6)); } else { ! /*JP You("imitate a popsicle!");*/ ! You("ɹ¤Å¤±¤Ë¤Ê¤Ã¤¿!"); damage = d(12,6); } destroy_item(POTION_CLASS, AD_COLD); *************** *** 1289,1298 **** case SPE_MAGIC_MISSILE: if(Antimagic) { shieldeff(u.ux, u.uy); ! pline_The("missiles bounce!"); } else { damage = d(4,6); ! pline("Idiot! You've shot yourself!"); } break; case WAN_POLYMORPH: --- 1384,1395 ---- case SPE_MAGIC_MISSILE: if(Antimagic) { shieldeff(u.ux, u.uy); ! /*JP pline_The("missiles bounce!");*/ ! pline("ËâË¡¤ÎÌð¤Ï¤Ï¤Í¤«¤¨¤Ã¤¿"); } else { damage = d(4,6); ! /*JP pline("Idiot! You've shot yourself!");*/ ! pline("²¿¤ä¤Ã¤Æ¤ó¤À¡ª¤¢¤Ê¤¿¤Ï¼«Ê¬¼«¿È¤ò·â¤Á¤Ä¤±¤¿¡ª"); } break; case WAN_POLYMORPH: *************** *** 1319,1340 **** HInvis |= min(amt, TIMEOUT); } if (msg && (Blind || !Invis)) { ! You_feel("rather airy."); } else if (msg) { makeknown(WAN_MAKE_INVISIBLE); newsym(u.ux, u.uy); pline(Hallucination ? ! "Far out, man! You can see right through yourself!" : ! "Gee! All of a sudden, you can't see yourself."); } break; } case WAN_SPEED_MONSTER: if (!(Fast & INTRINSIC)) { if (!Fast) ! You("speed up."); else ! Your("quickness feels more natural."); makeknown(WAN_SPEED_MONSTER); exercise(A_DEX, TRUE); } --- 1416,1442 ---- HInvis |= min(amt, TIMEOUT); } if (msg && (Blind || !Invis)) { ! /*JP You_feel("rather airy.");*/ ! You("¶õµ¤¤ËÍϤ±¹þ¤ó¤À¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥"); } else if (msg) { makeknown(WAN_MAKE_INVISIBLE); newsym(u.ux, u.uy); pline(Hallucination ? ! /*JP "Far out, man! You can see right through yourself!" : ! "Gee! All of a sudden, you can't see yourself.");*/ ! "¤Ê¤ó¤Æ¤³¤Ã¤¿¤¤¡ª¼«Ê¬¼«¿È¤¬¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡ª": ! "¤²¡ªÆÍÁ³¤¢¤Ê¤¿¤Î»Ñ¤Ï¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡¥"); } break; } case WAN_SPEED_MONSTER: if (!(Fast & INTRINSIC)) { if (!Fast) ! /*JP You("speed up.");*/ ! You("Æ°¤­¤¬Â®¤¯¤Ê¤Ã¤¿¡¥"); else ! /*JP Your("quickness feels more natural.");*/ ! You("®¤µ¤Ë´·¤ì¤Æ¤­¤¿¡¥"); makeknown(WAN_SPEED_MONSTER); exercise(A_DEX, TRUE); } *************** *** 1345,1353 **** case SPE_SLEEP: if(Sleep_resistance) { shieldeff(u.ux, u.uy); ! You("don't feel sleepy!"); } else { ! pline_The("sleep ray hits you!"); fall_asleep(-rnd(50), TRUE); } break; --- 1447,1457 ---- case SPE_SLEEP: if(Sleep_resistance) { shieldeff(u.ux, u.uy); ! /*JP You("don't feel sleepy!");*/ ! You("̲¤¯¤Ê¤é¤Ê¤¤¡ª"); } else { ! /*JP pline_The("sleep ray hits you!");*/ ! pline("̲¤ê¸÷Àþ¤¬¤¢¤Ê¤¿¤ËÌ¿Ã椷¤¿¡ª"); fall_asleep(-rnd(50), TRUE); } break; *************** *** 1366,1379 **** case SPE_FINGER_OF_DEATH: if (nonliving(uasmon) || is_demon(uasmon)) { pline((obj->otyp == WAN_DEATH) ? ! "The wand shoots an apparently harmless beam at you." ! : "You seem no deader than before."); break; } ! killer_format = NO_KILLER_PREFIX; ! killer = self_pronoun("shot %sself with a death ray","him"); ! You("irradiate yourself with pure energy!"); ! You("die."); makeknown(obj->otyp); /* They might survive with an amulet of life saving */ done(DIED); --- 1470,1489 ---- case SPE_FINGER_OF_DEATH: if (nonliving(uasmon) || is_demon(uasmon)) { pline((obj->otyp == WAN_DEATH) ? ! /*JP "The wand shoots an apparently harmless beam at you." ! : "You seem no deader than before.");*/ ! "¾ó¤Î¸÷Àþ¤Ï±Æ¶Á¤òÍ¿¤¨¤Ê¤¤¡¥" ! : "¤¢¤Ê¤¿¤Ï»à¤Ê¤Ê¤¤¤è¤¦¤À¡¥"); break; } ! /*JP killer_format = NO_KILLER_PREFIX;*/ ! killer_format = KILLED_BY; ! /*JP killer = self_pronoun("shot %sself with a death ray","him");*/ ! killer = "¼«Ê¬¼«¿È¤Î»à¤Î¸÷Àþ¤Ë¤è¤Ã¤Æ"; ! /*JP You("irradiate yourself with pure energy!"); ! You("die.");*/ ! You("¥¨¥Í¥ë¥®¡¼¤ò¼«Ê¬¼«¿È¤Ë¾È¼Í¤·¤¿¡¥"); ! pline("¤¢¤Ê¤¿¤Ï»à¤Ë¤Þ¤·¤¿¡¥"); makeknown(obj->otyp); /* They might survive with an amulet of life saving */ done(DIED); *************** *** 1383,1400 **** case SPE_TURN_UNDEAD: (void) unturn_dead(&youmonst); if (is_undead(uasmon)) { ! You_feel("frightened and %sstunned.", ! Stunned ? "even more " : ""); make_stunned(HStun + rnd(30), FALSE); } else ! You("shudder in dread."); break; case SPE_HEALING: case SPE_EXTRA_HEALING: healup(d(6, obj->otyp == SPE_EXTRA_HEALING ? 8 : 4), 0, FALSE, (obj->otyp == SPE_EXTRA_HEALING)); ! You("feel%s better.", ! obj->otyp == SPE_EXTRA_HEALING ? " much" : ""); break; case WAN_LIGHT: /* (broken wand) */ /* assert( !ordinary ); */ --- 1493,1515 ---- case SPE_TURN_UNDEAD: (void) unturn_dead(&youmonst); if (is_undead(uasmon)) { ! /*JP You_feel("frightened and %sstunned.", ! Stunned ? "even more " : "");*/ ! You("¶²Éݤ·%s¤¯¤é¤¯¤é¤·¤¿¡¥", ! Stunned ? "¤µ¤é¤Ë" : ""); make_stunned(HStun + rnd(30), FALSE); } else ! /*JP You("shudder in dread.");*/ ! You("¶²Éݤǿ̤¨¤¿¡¥"); break; case SPE_HEALING: case SPE_EXTRA_HEALING: healup(d(6, obj->otyp == SPE_EXTRA_HEALING ? 8 : 4), 0, FALSE, (obj->otyp == SPE_EXTRA_HEALING)); ! /*JP You("feel%s better.", ! obj->otyp == SPE_EXTRA_HEALING ? " much" : "");*/ ! You("%sµ¤Ê¬¤¬¤è¤¯¤Ê¤Ã¤¿¡¥", ! obj->otyp == SPE_EXTRA_HEALING ? "¤È¤Æ¤â" : ""); break; case WAN_LIGHT: /* (broken wand) */ /* assert( !ordinary ); */ *************** *** 1413,1419 **** case WAN_OPENING: if (Punished) makeknown(WAN_OPENING); case SPE_KNOCK: ! if (Punished) Your("chain quivers for a moment."); break; case WAN_DIGGING: case SPE_DIG: --- 1528,1535 ---- case WAN_OPENING: if (Punished) makeknown(WAN_OPENING); case SPE_KNOCK: ! /*JP if (Punished) Your("chain quivers for a moment.");*/ ! if (Punished) Your("º¿¤Ï°ì½Ö¿Ì¤¨¤¿¡¥"); break; case WAN_DIGGING: case SPE_DIG: *************** *** 1452,1459 **** { boolean youdefend = (mdef == &youmonst); static const char writing_vanishes[] = ! "Some writing vanishes from %s head!"; ! static const char your[] = "your"; /* should be extern */ if (youdefend ? (!youattack && Antimagic) : resist(mdef, obj->oclass, 0, NOTELL)) --- 1568,1577 ---- { boolean youdefend = (mdef == &youmonst); static const char writing_vanishes[] = ! /*JP "Some writing vanishes from %s head!";*/ ! "²¿¤«¤Îʸ»ú¤¬%s¤ÎƬ¤«¤é¾Ã¤¨¤¿¡ª"; ! /*JP static const char your[] = "your"; * should be extern */ ! static const char your[] = "¤¢¤Ê¤¿¤Î"; /* should be extern */ if (youdefend ? (!youattack && Antimagic) : resist(mdef, obj->oclass, 0, NOTELL)) *************** *** 1516,1529 **** switch (obj->otyp) { case WAN_PROBING: if (u.dz < 0) { ! You("probe towards the %s.", ceiling(x,y)); ptmp = 0; } else { ! You("probe beneath the %s.", surface(x,y)); ptmp = display_binventory(x, y, TRUE); ptmp += bhitpile(obj, bhito, x, y); } ! if (!ptmp) Your("probe reveals nothing."); return TRUE; /* we've done our own bhitpile */ case WAN_OPENING: case SPE_KNOCK: --- 1634,1651 ---- switch (obj->otyp) { case WAN_PROBING: if (u.dz < 0) { ! /*JP You("probe towards the %s.", ceiling(x,y));*/ ! You("¾åÊý¤Î%s¤òÄ´¤Ù¤¿¡¥", ceiling(x,y)); ptmp = 0; } else { ! /*JP You("probe beneath the %s.", surface(x,y));*/ ! You("²¼Êý¤Î%s¤òÄ´¤Ù¤¿¡¥", surface(x,y)); ! ptmp = display_binventory(x, y, TRUE); ptmp += bhitpile(obj, bhito, x, y); } ! /*JP if (!ptmp) Your("probe reveals nothing.");*/ ! if (!ptmp) pline("Ä´ºº¤Î·ë²Ì²¿¤â¤Ê¤¤¤³¤È¤¬¤ï¤«¤Ã¤¿¡¥"); return TRUE; /* we've done our own bhitpile */ case WAN_OPENING: case SPE_KNOCK: *************** *** 1535,1541 **** /* 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()) { ! pline("The stairs seem to ripple momentarily."); disclose = TRUE; } break; --- 1657,1664 ---- /* 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("³¬Ãʤ¬°ì½ÖÍɤ줿¤è¤¦¤Ë¸«¤¨¤¿¡¥"); disclose = TRUE; } break; *************** *** 1557,1566 **** } else if (striking && u.dz < 0 && rn2(3) && !Is_airlevel(&u.uz) && !Is_waterlevel(&u.uz)) { /* similar to zap_dig() */ ! pline("A rock is dislodged from the %s and falls on your %s.", ceiling(x, y), body_part(HEAD)); losehp(rnd((uarmh && is_metallic(uarmh)) ? 2 : 6), ! "falling rock", KILLED_BY_AN); if ((otmp = mksobj_at(ROCK, x, y, FALSE)) != 0) { (void)xname(otmp); /* set dknown, maybe bknown */ stackobj(otmp); --- 1680,1691 ---- } else if (striking && u.dz < 0 && rn2(3) && !Is_airlevel(&u.uz) && !Is_waterlevel(&u.uz)) { /* similar to zap_dig() */ ! /*JP pline("A rock is dislodged from the %s and falls on your %s.",*/ ! pline("%s¤«¤é´ä¤¬Íî¤Á¤Æ¤¢¤Ê¤¿¤Î%s¤ËÌ¿Ã椷¤¿¡¥", ceiling(x, y), body_part(HEAD)); losehp(rnd((uarmh && is_metallic(uarmh)) ? 2 : 6), ! /*JP "falling rock", KILLED_BY_AN);*/ ! "Íî´ä¤Ç", KILLED_BY_AN); if ((otmp = mksobj_at(ROCK, x, y, FALSE)) != 0) { (void)xname(otmp); /* set dknown, maybe bknown */ stackobj(otmp); *************** *** 1630,1636 **** } /* give a clue if obj_zapped */ if (obj_zapped) ! You_feel("shuddering vibrations."); } else if (objects[otyp].oc_dir == NODIR) { zapnodir(obj); --- 1755,1762 ---- } /* give a clue if obj_zapped */ if (obj_zapped) ! /*JP You_feel("shuddering vibrations.");*/ ! You("¤¾¤Ã¤È¤¹¤ë¿¶Æ°¤ò´¶¤¸¤¿¡¥"); } else if (objects[otyp].oc_dir == NODIR) { zapnodir(obj); *************** *** 1669,1675 **** /* 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 */ ! return (const char *)((force < 0) ? "?" : (force <= 4) ? "." : "!"); } void --- 1795,1802 ---- /* 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) ? "¡©" : (force <= 4) ? "¡¥" : "¡ª"); } void *************** *** 1679,1686 **** register const char *force; /* usually either "." or "!" */ { if(!cansee(bhitpos.x,bhitpos.y) || !flags.verbose) ! pline("%s hits it.", The(str)); ! else pline("%s hits %s%s", The(str), mon_nam(mtmp), force); } void --- 1806,1815 ---- register const char *force; /* usually either "." or "!" */ { if(!cansee(bhitpos.x,bhitpos.y) || !flags.verbose) ! /*JP pline("%s hits it.", The(str));*/ ! pline("%s¤Ï²¿¤«¤ËÌ¿Ã椷¤¿¡¥", The(str)); ! /*JP else pline("%s hits %s%s", The(str), mon_nam(mtmp), force);*/ ! else pline("%s¤Ï%s¤ËÌ¿Ã椷¤¿%s", The(str), mon_nam(mtmp), force); } void *************** *** 1688,1696 **** register const char *str; register struct monst *mtmp; { ! pline("%s misses %s.", The(str), (cansee(bhitpos.x,bhitpos.y) && flags.verbose) ? ! mon_nam(mtmp) : "it"); } #endif /*OVL0*/ #ifdef OVL1 --- 1817,1827 ---- register const char *str; register struct monst *mtmp; { ! /*JP pline("%s misses %s.", The(str),*/ ! pline("%s¤Î%s¤Ø¤Î¹¶·â¤Ï¤Ï¤º¤ì¤¿¡¥", The(str), (cansee(bhitpos.x,bhitpos.y) && flags.verbose) ? ! /*JP mon_nam(mtmp) : "it");*/ ! mon_nam(mtmp) : "²¿¼Ô¤«"); } #endif /*OVL0*/ #ifdef OVL1 *************** *** 1849,1855 **** if (weapon != ZAPPED_WAND && weapon != INVIS_BEAM) tmp_at(DISP_END, 0); if(shopdoor) ! pay_for_damage("destroy"); return (struct monst *)0; } --- 1980,1987 ---- if (weapon != ZAPPED_WAND && weapon != INVIS_BEAM) tmp_at(DISP_END, 0); if(shopdoor) ! /*JP pay_for_damage("destroy");*/ ! pay_for_damage("Ç˲õ¤¹¤ë"); return (struct monst *)0; } *************** *** 1891,1901 **** if(Fumbling || rn2(20) >= ACURR(A_DEX)) { /* we hit ourselves */ (void) thitu(10, rnd(10), (struct obj *)0, ! "boomerang"); break; } else { /* we catch it */ tmp_at(DISP_END, 0); ! You("skillfully catch the boomerang."); return(&youmonst); } } --- 2023,2035 ---- if(Fumbling || rn2(20) >= ACURR(A_DEX)) { /* we hit ourselves */ (void) thitu(10, rnd(10), (struct obj *)0, ! /*JP "boomerang");*/ ! "¥Ö¡¼¥á¥é¥ó"); break; } else { /* we catch it */ tmp_at(DISP_END, 0); ! /*JP You("skillfully catch the boomerang.");*/ ! You("¾å¼ê¤Ë¥Ö¡¼¥á¥é¥ó¤òÄϤޤ¨¤¿¡¥"); return(&youmonst); } } *************** *** 2047,2053 **** case ZT_MAGIC_MISSILE: if (Antimagic) { shieldeff(sx, sy); ! pline_The("missiles bounce off!"); } else { dam = d(nd,6); exercise(A_STR, FALSE); --- 2181,2188 ---- case ZT_MAGIC_MISSILE: if (Antimagic) { shieldeff(sx, sy); ! /*JP pline_The("missiles bounce off!");*/ ! pline("ËâË¡¤ÎÌð¤ÏÈ¿¼Í¤·¤¿¡ª"); } else { dam = d(nd,6); exercise(A_STR, FALSE); *************** *** 2056,2062 **** case ZT_FIRE: if (Fire_resistance) { shieldeff(sx, sy); ! You("don't feel hot!"); ugolemeffects(AD_FIRE, d(nd, 6)); } else { dam = d(nd, 6); --- 2191,2198 ---- case ZT_FIRE: if (Fire_resistance) { shieldeff(sx, sy); ! /*JP You("don't feel hot!");*/ ! You("Ç®¤µ¤ò´¶¤¸¤Ê¤¤¡ª"); ugolemeffects(AD_FIRE, d(nd, 6)); } else { dam = d(nd, 6); *************** *** 2070,2076 **** case ZT_COLD: if (Cold_resistance) { shieldeff(sx, sy); ! You("don't feel cold."); ugolemeffects(AD_COLD, d(nd, 6)); } else { dam = d(nd, 6); --- 2206,2213 ---- case ZT_COLD: if (Cold_resistance) { shieldeff(sx, sy); ! /*JP You("don't feel cold.");*/ ! You("Î䤿¤µ¤ò´¶¤¸¤Ê¤¤¡¥"); ugolemeffects(AD_COLD, d(nd, 6)); } else { dam = d(nd, 6); *************** *** 2080,2086 **** case ZT_SLEEP: if (Sleep_resistance) { shieldeff(u.ux, u.uy); ! You("don't feel sleepy."); } else { fall_asleep(-d(nd,25), TRUE); /* sleep ray */ } --- 2217,2224 ---- case ZT_SLEEP: if (Sleep_resistance) { shieldeff(u.ux, u.uy); ! /*JP You("don't feel sleepy.");*/ ! You("̲¤¯¤Ê¤é¤Ê¤¤¡¥"); } else { fall_asleep(-d(nd,25), TRUE); /* sleep ray */ } *************** *** 2088,2094 **** case ZT_DEATH: if (abs(type) == ZT_BREATH(ZT_DEATH)) { if (Disint_resistance) { ! You("are not disintegrated."); break; } else if (uarms) { /* destroy shield; other possessions are safe */ --- 2226,2233 ---- case ZT_DEATH: if (abs(type) == ZT_BREATH(ZT_DEATH)) { if (Disint_resistance) { ! /*JP You("are not disintegrated.");*/ ! You("ʬ²ò¤µ¤ì¤Ê¤¤¡¥"); break; } else if (uarms) { /* destroy shield; other possessions are safe */ *************** *** 2108,2118 **** #endif } else if (nonliving(uasmon) || is_demon(uasmon)) { shieldeff(sx, sy); ! You("seem unaffected."); break; } else if (Antimagic) { shieldeff(sx, sy); ! You("aren't affected."); break; } u.uhp = -1; --- 2247,2259 ---- #endif } else if (nonliving(uasmon) || is_demon(uasmon)) { shieldeff(sx, sy); ! /*JP You("seem unaffected.");*/ ! You("±Æ¶Á¤ò¼õ¤±¤Ê¤¤¤è¤¦¤À¡¥"); break; } else if (Antimagic) { shieldeff(sx, sy); ! /*JP You("aren't affected.");*/ ! You("±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡¥"); break; } u.uhp = -1; *************** *** 2120,2126 **** case ZT_LIGHTNING: if (Shock_resistance) { shieldeff(sx, sy); ! You("aren't affected."); ugolemeffects(AD_ELEC, d(nd, 6)); } else { dam = d(nd, 6); --- 2261,2268 ---- case ZT_LIGHTNING: if (Shock_resistance) { shieldeff(sx, sy); ! /*JP You("aren't affected.");*/ ! You("±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡¥"); ugolemeffects(AD_ELEC, d(nd, 6)); } else { dam = d(nd, 6); *************** *** 2130,2142 **** if (!rn2(3)) destroy_item(RING_CLASS, AD_ELEC); break; case ZT_POISON_GAS: ! poisoned("blast", A_DEX, "poisoned blast", 15); break; case ZT_ACID: if (resists_acid(&youmonst)) { dam = 0; } else { ! pline_The("acid burns!"); dam = d(nd,6); exercise(A_STR, FALSE); } --- 2272,2286 ---- if (!rn2(3)) destroy_item(RING_CLASS, AD_ELEC); break; case ZT_POISON_GAS: ! /*JP poisoned("blast", A_DEX, "poisoned blast", 15);*/ ! poisoned("©", A_DEX, "ÆǤΩ", 15); break; case ZT_ACID: if (resists_acid(&youmonst)) { dam = 0; } else { ! /*JP pline_The("acid burns!");*/ ! pline("»À¤Ç¾Æ¤±¤¿¡ª"); dam = d(nd,6); exercise(A_STR, FALSE); } *************** *** 2150,2156 **** dam = (dam + 1) / 2; /* when killed by disintegration breath, don't leave corpse */ u.ugrave_arise = (type == -ZT_BREATH(ZT_DEATH)) ? -3 : -1; ! losehp(dam, fltxt, KILLED_BY_AN); return; } --- 2294,2305 ---- dam = (dam + 1) / 2; /* when killed by disintegration breath, don't leave corpse */ u.ugrave_arise = (type == -ZT_BREATH(ZT_DEATH)) ? -3 : -1; ! {/*JP*/ ! char jbuf[BUFSZ]; ! Strcpy(jbuf, fltxt); ! Strcat(jbuf, "¤ÎÎϤòÍá¤Ó"); ! losehp(dam, jbuf, KILLED_BY_AN); ! } return; } *************** *** 2191,2199 **** cnt += delquan; if (give_feedback) { if (delquan > 1) ! pline("%ld %s burn.", delquan, what); else ! pline("%s burns.", An(what)); } } } --- 2340,2353 ---- cnt += delquan; if (give_feedback) { if (delquan > 1) ! /*JP pline("%ld %s burn.", delquan, what);*/ ! pline("%ld%s¤Î%s¤¬Ç³¤¨¤¿¡¥", ! delquan, ! obj->oclass == SCROLL_CLASS ? "Ëç" : "ºý", ! what); else ! /*JP pline("%s burns.", An(what));*/ ! pline("%s¤Ïdz¤¨¤¿¡¥", An(what)); } } } *************** *** 2246,2252 **** if(type < 0) return; tmp = zhitm(u.ustuck, type, nd, &otmp); if(!u.ustuck) u.uswallow = 0; ! else pline("%s rips into %s%s", The(fltxt), mon_nam(u.ustuck), exclam(tmp)); /* Using disintegration from the inside only makes a hole... */ if (tmp == MAGIC_COOKIE) --- 2400,2407 ---- if(type < 0) return; tmp = zhitm(u.ustuck, type, nd, &otmp); if(!u.ustuck) u.uswallow = 0; ! /*JP else pline("%s rips into %s%s",*/ ! else pline("%s¤Ï%s¤ò¤Ò¤­¤µ¤¤¤¿%s", The(fltxt), mon_nam(u.ustuck), exclam(tmp)); /* Using disintegration from the inside only makes a hole... */ if (tmp == MAGIC_COOKIE) *************** *** 2287,2293 **** if(cansee(mon->mx,mon->my)) { hit(fltxt, mon, exclam(0)); shieldeff(mon->mx, mon->my); ! (void) mon_reflects(mon, "But it reflects from %s %s!"); } dx = -dx; dy = -dy; --- 2442,2449 ---- if(cansee(mon->mx,mon->my)) { hit(fltxt, mon, exclam(0)); shieldeff(mon->mx, mon->my); ! /*JP (void) mon_reflects(mon, "But it reflects from %s %s!");*/ ! (void) mon_reflects(mon, "¤·¤«¤·¤½¤ì¤Ï%s¤Î%s¤ÇÈ¿¼Í¤·¤¿¡ª"); } dx = -dx; dy = -dy; *************** *** 2298,2308 **** --- 2454,2473 ---- if (is_rider(mon->data) && abs(type) == ZT_BREATH(ZT_DEATH)) { if (canseemon(mon)) { hit(fltxt, mon, "."); + /*JP pline("%s disintegrates.", Monnam(mon)); + */ + pline("%s¤Ï¤³¤Ê¤´¤Ê¤Ë¤Ê¤Ã¤¿¡¥", Monnam(mon)); + /*JP pline("%s body reintegrates before your %s!", + */ + pline("%s¤ÎÂΤϤ¢¤Ê¤¿¤Î%s¤ÎÁ°¤ÇºÆ·ë¹ç¤·¤¿¡ª", s_suffix(Monnam(mon)), makeplural(body_part(EYE))); + /*JP pline("%s resurrects!", Monnam(mon)); + */ + pline("%s¤ÏÁɤä¿¡ª", Monnam(mon)); } mon->mhp = mon->mhpmax; break; /* Out of while loop */ *************** *** 2310,2319 **** --- 2475,2490 ---- if (mon->data == &mons[PM_DEATH] && abstype == ZT_DEATH) { if (canseemon(mon)) { hit(fltxt, mon, "."); + #if 0 /*JP*/ pline("%s absorbs the deadly %s!", Monnam(mon), type == ZT_BREATH(ZT_DEATH) ? "blast" : "ray"); pline("It seems even stronger than before."); + #endif + pline("%s¤Ï»à¤Î%s¤òµÛ¼ý¤·¤¿¡ª", Monnam(mon), + type == ZT_BREATH(ZT_DEATH) ? + "©" : "¸÷Àþ"); + pline("¤µ¤é¤Ë¶¯¤¯¤Ê¤Ã¤¿¤è¤¦¤Êµ¤¤µ¤¨¤¹¤ë¡¥"); } break; /* Out of while loop */ } *************** *** 2323,2329 **** --- 2494,2503 ---- if (canseemon(mon)) { if (!m_amulet) + /*JP pline("%s is disintegrated!", Monnam(mon)); + */ + pline("%s¤Ï¤³¤Ê¤´¤Ê¤Ë¤Ê¤Ã¤¿¡ª", Monnam(mon)); else hit(fltxt, mon, "!"); } *************** *** 2359,2365 **** } else { /* some armor was destroyed; no damage done */ if (canseemon(mon)) ! pline("%s %s is disintegrated!", s_suffix(Monnam(mon)), distant_name(otmp, xname)); m_useup(mon, otmp); --- 2533,2540 ---- } else { /* some armor was destroyed; no damage done */ if (canseemon(mon)) ! /*JP pline("%s %s is disintegrated!",*/ ! pline("%s¤Î%s¤Ï¤³¤Ê¤´¤Ê¤Ë¤Ê¤Ã¤¿¡ª", s_suffix(Monnam(mon)), distant_name(otmp, xname)); m_useup(mon, otmp); *************** *** 2376,2392 **** nomul(0); if (zap_hit((int) u.uac)) { range -= 2; ! pline("%s hits you!", The(fltxt)); if (Reflecting) { if (!Blind) { if(Reflecting & WORN_AMUL) makeknown(AMULET_OF_REFLECTION); else makeknown(SHIELD_OF_REFLECTION); ! pline("But it reflects from your %s!", ! (Reflecting & W_AMUL) ? "amulet" : "shield"); } else ! pline("For some reason you are not affected."); dx = -dx; dy = -dy; shieldeff(sx, sy); --- 2551,2571 ---- nomul(0); if (zap_hit((int) u.uac)) { range -= 2; ! /*JP pline("%s hits you!", The(fltxt));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤ËÌ¿Ã椷¤¿¡ª", The(fltxt)); if (Reflecting) { if (!Blind) { if(Reflecting & WORN_AMUL) makeknown(AMULET_OF_REFLECTION); else makeknown(SHIELD_OF_REFLECTION); ! /*JP pline("But it reflects from your %s!", ! (Reflecting & W_AMUL) ? "amulet" : "shield");*/ ! pline("¤·¤«¤·¡¤¤½¤ì¤Ï¤¢¤Ê¤¿¤Î%s¤Ë¤è¤Ã¤ÆÈ¿¼Í¤·¤¿¡¥", ! (Reflecting & W_AMUL) ? "Ëâ½ü¤±" : "½â"); } else ! /*JP pline("For some reason you are not affected.");*/ ! pline("¤Ê¤ó¤é¤«¤ÎÍýͳ¤Ç¤¢¤Ê¤¿¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤«¤Ã¤¿¡¥"); dx = -dx; dy = -dy; shieldeff(sx, sy); *************** *** 2394,2400 **** zhitu(type, nd, fltxt, sx, sy); } } else { ! pline("%s whizzes by you!", The(fltxt)); } if (abstype == ZT_LIGHTNING && !resists_blnd(&youmonst)) { You(are_blinded_by_the_flash); --- 2573,2580 ---- zhitu(type, nd, fltxt, sx, sy); } } else { ! /*JP pline("%s whizzes by you!", The(fltxt));*/ ! pline("%s¤Ï¤¢¤Ê¤¿¤Î¤½¤Ð¤ò¤«¤¹¤á¤¿¡ª", The(fltxt)); } if (abstype == ZT_LIGHTNING && !resists_blnd(&youmonst)) { You(are_blinded_by_the_flash); *************** *** 2417,2423 **** bounce = 0; range--; if(range && isok(lsx, lsy) && cansee(lsx,lsy)) ! pline("%s bounces!", The(fltxt)); if(!dx || !dy || !rn2(20)) { dx = -dx; dy = -dy; --- 2597,2604 ---- bounce = 0; range--; if(range && isok(lsx, lsy) && cansee(lsx,lsy)) ! /*JP pline("%s bounces!", The(fltxt));*/ ! pline("%s¤ÏÈ¿¼Í¤·¤¿¡ª", The(fltxt)); if(!dx || !dy || !rn2(20)) { dx = -dx; dy = -dy; *************** *** 2445,2453 **** if (type == ZT_SPELL(ZT_FIRE)) explode(sx, sy, type, d(12,6), 0); if (shopdamage) ! pay_for_damage(abstype == ZT_FIRE ? "burn away" : abstype == ZT_COLD ? "shatter" : ! abstype == ZT_DEATH ? "disintegrate" : "destroy"); bhitpos = save_bhitpos; } #endif /*OVLB*/ --- 2626,2637 ---- if (type == ZT_SPELL(ZT_FIRE)) explode(sx, sy, type, d(12,6), 0); if (shopdamage) ! /*JP pay_for_damage(abstype == ZT_FIRE ? "burn away" : abstype == ZT_COLD ? "shatter" : ! abstype == ZT_DEATH ? "disintegrate" : "destroy");*/ ! pay_for_damage(abstype == ZT_FIRE ? "¾Æ¼º¤¹¤ë" : ! abstype == ZT_COLD ? "Ê´¡¹¤Ë¤¹¤ë" : ! abstype == ZT_DEATH ? "Ê´ºÕ¤¹¤ë" : "Ç˲õ¤¹¤ë"); bhitpos = save_bhitpos; } #endif /*OVLB*/ *************** *** 2475,2483 **** unearth_objs(x, y); if (Underwater) vision_recalc(1); newsym(x,y); ! if (cansee(x,y)) Norep("The ice crackles and melts."); if ((otmp = sobj_at(BOULDER, x, y)) != 0) { ! if (cansee(x,y)) pline("%s settles...", An(xname(otmp))); do { obj_extract_self(otmp); /* boulder isn't being pushed */ if (!boulder_hits_pool(otmp, x, y, FALSE)) --- 2659,2669 ---- unearth_objs(x, y); if (Underwater) vision_recalc(1); newsym(x,y); ! /*JP if (cansee(x,y)) Norep("The ice crackles and melts.");*/ ! if (cansee(x,y)) Norep("ɹ¤Ï¥Ô¥­¥Ô¥­ÌĤꡤÍϤ±¤¿¡¥"); if ((otmp = sobj_at(BOULDER, x, y)) != 0) { ! /*JP if (cansee(x,y)) pline("%s settles...", An(xname(otmp)));*/ ! if (cansee(x,y)) pline("%s¤Ï¤Ï¤Þ¤Ã¤¿¡¥¡¥¡¥", An(xname(otmp))); do { obj_extract_self(otmp); /* boulder isn't being pushed */ if (!boulder_hits_pool(otmp, x, y, FALSE)) *************** *** 2510,2518 **** if(is_ice(x, y)) { melt_ice(x, y); } else if(is_pool(x,y)) { ! const char *msgtxt = "You hear hissing gas."; if(lev->typ != POOL) { /* MOAT or DRAWBRIDGE_UP */ ! if (cansee(x,y)) msgtxt = "Some water evaporates."; } else { register struct trap *ttmp; --- 2696,2706 ---- if(is_ice(x, y)) { melt_ice(x, y); } else if(is_pool(x,y)) { ! /*JP const char *msgtxt = "You hear hissing gas.";*/ ! const char *msgtxt = "¤·¤å¡¼¤Ã¤È¤¤¤¦¥¬¥¹¤Î²»¤òʹ¤¤¤¿¡¥"; if(lev->typ != POOL) { /* MOAT or DRAWBRIDGE_UP */ ! /*JP if (cansee(x,y)) msgtxt = "Some water evaporates.";*/ ! if (cansee(x,y)) msgtxt = "¤¹¤³¤·¿å¤¬¾øȯ¤·¤¿¡¥"; } else { register struct trap *ttmp; *************** *** 2520,2532 **** lev->typ = ROOM; ttmp = maketrap(x, y, PIT); if (ttmp) ttmp->tseen = 1; ! if (cansee(x,y)) msgtxt = "The water evaporates."; } Norep(msgtxt); if (lev->typ == ROOM) newsym(x,y); } else if(IS_FOUNTAIN(lev->typ)) { if (cansee(x,y)) ! pline("Steam billows from the fountain."); rangemod -= 1; dryup(x,y); } --- 2708,2722 ---- lev->typ = ROOM; ttmp = maketrap(x, y, PIT); if (ttmp) ttmp->tseen = 1; ! /*JP if (cansee(x,y)) msgtxt = "The water evaporates.";*/ ! if (cansee(x,y)) msgtxt = "¿å¤¬¾øȯ¤·¤¿¡¥"; } Norep(msgtxt); if (lev->typ == ROOM) newsym(x,y); } else if(IS_FOUNTAIN(lev->typ)) { if (cansee(x,y)) ! /*JP pline("Steam billows from the fountain.");*/ ! pline("¾øµ¤¤¬Àô¤«¤éΩ¤Á¤Î¤Ü¤Ã¤¿¡¥"); rangemod -= 1; dryup(x,y); } *************** *** 2541,2549 **** if (lev->typ == WATER) { /* For now, don't let WATER freeze. */ if (cansee(x,y)) ! pline_The("water freezes for a moment."); else ! You_hear("a soft crackling."); rangemod -= 1000; /* stop */ } else { rangemod -= 3; --- 2731,2741 ---- if (lev->typ == WATER) { /* For now, don't let WATER freeze. */ if (cansee(x,y)) ! /*JP pline_The("water freezes for a moment.");*/ ! pline("¿å¤Ï°ì½ÖÅà¤Ã¤¿¡¥"); else ! /*JP You_hear("a soft crackling.");*/ ! You_hear("¥Ô¥­¡ª¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); rangemod -= 1000; /* stop */ } else { rangemod -= 3; *************** *** 2559,2572 **** bury_objs(x,y); if(cansee(x,y)) { if(moat) ! Norep("The moat is bridged with ice!"); else if(lava) ! Norep("The lava cools and solidifies."); else ! Norep("The water freezes."); newsym(x,y); } else if(flags.soundok && !lava) ! You_hear("a crackling sound."); if (x == u.ux && y == u.uy) { if (u.uinwater) { /* not just `if (Underwater)' */ --- 2751,2768 ---- bury_objs(x,y); if(cansee(x,y)) { if(moat) ! /*JP Norep("The moat is bridged with ice!");*/ ! Norep("ËÙ¤Ëɹ¤Î¶¶¤¬¤«¤±¤é¤ì¤¿¡ª"); else if(lava) ! /*JP Norep("The lava cools and solidifies.");*/ ! Norep("ÍÏ´ä¤ÏÎ䤨¸Ç¤Þ¤Ã¤¿¡¥"); else ! /*JP Norep("The water freezes.");*/ ! Norep("¿å¤ÏÅà¤Ã¤¿¡¥"); newsym(x,y); } else if(flags.soundok && !lava) ! /*JP You_hear("a crackling sound.");*/ ! You_hear("¥Ô¥­¥Ô¥­¥Ã¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"); if (x == u.ux && y == u.uy) { if (u.uinwater) { /* not just `if (Underwater)' */ *************** *** 2576,2586 **** vision_full_recalc = 1; } else if (u.utrap && u.utraptype == TT_LAVA) { if (passes_walls(uasmon)) { ! You("pass through the now-solid rock."); } else { u.utrap = rn1(50,20); u.utraptype = TT_INFLOOR; ! You("are firmly stuck in the cooling rock."); } } } else if ((mon = m_at(x,y)) != 0) { --- 2772,2784 ---- vision_full_recalc = 1; } else if (u.utrap && u.utraptype == TT_LAVA) { if (passes_walls(uasmon)) { ! /*JP You("pass through the now-solid rock.");*/ ! You("¤¤¤Þ¸Ç¤¯¤Ê¤Ã¤¿¤Ð¤«¤ê¤ÎÀФÎÃæ¤ò¤¹¤êÈ´¤±¤¿¡¥"); } else { u.utrap = rn1(50,20); u.utraptype = TT_INFLOOR; ! /*JP You("are firmly stuck in the cooling rock.");*/ ! You("Î䤨¤¿´ä¤Î¤Ê¤«¤Ë¤·¤Ã¤«¤ê¤ÈËä¤Þ¤Ã¤¿¡¥"); } } } else if ((mon = m_at(x,y)) != 0) { *************** *** 2602,2637 **** switch(abstype) { case ZT_FIRE: new_doormask = D_NODOOR; ! see_txt = "The door is consumed in flames!"; ! sense_txt = "smell smoke."; break; case ZT_COLD: new_doormask = D_NODOOR; ! see_txt = "The door freezes and shatters!"; ! sense_txt = "feel cold."; break; case ZT_DEATH: /* death spells/wands don't disintegrate */ if(abs(type) != ZT_BREATH(ZT_DEATH)) goto def_case; new_doormask = D_NODOOR; ! see_txt = "The door disintegrates!"; ! hear_txt = "crashing wood."; break; case ZT_LIGHTNING: new_doormask = D_BROKEN; ! see_txt = "The door splinters!"; ! hear_txt = "crackling."; break; default: def_case: if(cansee(x,y)) { ! pline_The("door absorbs %s %s!", (type < 0) ? "the" : "your", abs(type) < ZT_SPELL(0) ? "bolt" : abs(type) < ZT_BREATH(0) ? "spell" : "blast"); ! } else You_feel("vibrations."); break; } if (new_doormask >= 0) { /* door gets broken */ --- 2800,2849 ---- switch(abstype) { case ZT_FIRE: new_doormask = D_NODOOR; ! /*JP see_txt = "The door is consumed in flames!"; ! sense_txt = "smell smoke.";*/ ! see_txt = "Èâ¤Ï±ê¤Ç¾Æ¤­¤Ä¤¯¤µ¤ì¤¿¡ª"; ! sense_txt = "±ì¤ÎÆ÷¤¤¤¬¤·¤¿¡¥"; break; case ZT_COLD: new_doormask = D_NODOOR; ! /*JP see_txt = "The door freezes and shatters!"; ! sense_txt = "feel cold.";*/ ! see_txt = "Èâ¤ÏÅà¤ê¡¤Ê´ºÕ¤·¤¿¡ª"; ! sense_txt = "Î䵤¤ò´¶¤¸¤¿¡¥"; 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!"; ! hear_txt = "crashing wood.";*/ ! see_txt = "Èâ¤ÏÊ´ºÕ¤·¤¿¡¥"; ! hear_txt = "Ìڤβõ¤ì¤ë²»¤òʹ¤¤¤¿¡¥"; break; case ZT_LIGHTNING: new_doormask = D_BROKEN; ! /*JP see_txt = "The door splinters!"; ! hear_txt = "crackling.";*/ ! see_txt = "Èâ¤Ï¤º¤¿¤º¤¿¤Ë¤Ê¤Ã¤¿¡¥"; ! hear_txt = "¥Ô¥­¥Ô¥­¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥"; break; default: def_case: if(cansee(x,y)) { ! /*JP pline_The("door absorbs %s %s!", (type < 0) ? "the" : "your", abs(type) < ZT_SPELL(0) ? "bolt" : abs(type) < ZT_BREATH(0) ? "spell" : "blast"); ! } else You_feel("vibrations.");*/ ! pline("Èâ¤Ï%s%s¤òµÛ¼ý¤·¤¿¡ª", ! (type < 0) ? "" : "¤¢¤Ê¤¿¤Î", ! abs(type) < ZT_SPELL(0) ? "ÅÅ·â" : ! abs(type) < ZT_BREATH(0) ? "ËâË¡" : ! "©"); ! } else You("¿¶Æ°¤ò´¶¤¸¤¿¡¥"); break; } if (new_doormask >= 0) { /* door gets broken */ *************** *** 2662,2669 **** if(OBJ_AT(x, y) && abstype == ZT_FIRE) if (burn_floor_paper(x, y, FALSE) && couldsee(x, y)) { newsym(x,y); ! You("%s of smoke.", ! !Blind ? "see a puff" : "smell a whiff"); } if ((mon = m_at(x,y)) != 0) { /* Cannot use wakeup() which also angers the monster */ --- 2874,2883 ---- if(OBJ_AT(x, y) && abstype == ZT_FIRE) if (burn_floor_paper(x, y, FALSE) && couldsee(x, y)) { newsym(x,y); ! /*JP You("%s of smoke.", ! !Blind ? "see a puff" : "smell a whiff");*/ ! You("%s¡¥", ! !Blind ? "¤Ý¤ï¤Ã¤È±ì¤¬¤¢¤¬¤Ã¤¿¡¥" : "±ì¤Î¥×¥ó¤È¤¤¤¦Æ÷¤¤¤¬¤·¤¿¡¥"); } if ((mon = m_at(x,y)) != 0) { /* Cannot use wakeup() which also angers the monster */ *************** *** 2721,2732 **** } const char *destroy_strings[] = { ! "freezes and shatters", "freeze and shatter", "shattered potion", "boils and explodes", "boil and explode", "boiling potion", "catches fire and burns", "catch fire and burn", "burning scroll", "catches fire and burns", "catch fire and burn", "burning book", "turns to dust and vanishes", "turn to dust and vanish", "", ! "breaks apart and explodes", "break apart and explode", "exploding wand" }; void --- 2935,2952 ---- } const char *destroy_strings[] = { ! /*JP "freezes and shatters", "freeze and shatter", "shattered potion", "boils and explodes", "boil and explode", "boiling potion", "catches fire and burns", "catch fire and burn", "burning scroll", "catches fire and burns", "catch fire and burn", "burning book", "turns to dust and vanishes", "turn to dust and vanish", "", ! "breaks apart and explodes", "break apart and explode", "exploding wand"*/ ! "Åà·ë¤·¤ÆºÕ¤±¤¿", "Åà·ë¤·¤ÆºÕ¤±¤¿", "ºÕ¤±¤¿ÌôÉÓ¤Ç", ! "Ç®¤òÂÓ¤Ó¤ÆÇúȯ¤·¤¿", "Ç®¤òÂÓ¤Ó¤ÆÇúȯ¤·¤¿", "ʨƭ¤·¤¿Ìô¤Ç", ! "²Ð¤¬¤Ä¤¤¤Ædz¤¨¤¿", "²Ð¤¬¤Ä¤¤¤Ædz¤¨¤¿", "dz¤¨¤¿´¬Êª¤Ç", ! "²Ð¤¬¤Ä¤¤¤Ædz¤¨¤¿", "²Ð¤¬¤Ä¤¤¤Ædz¤¨¤¿", "dz¤¨¤¿ËâË¡½ñ¤Ç", ! "¿Ð¤Ë¤Ê¤Ã¤Æ¾Ã¤¨¤¿", "¿Ð¤Ë¤Ê¤Ã¤Æ¾Ã¤¨¤¿", "", ! "¤Ð¤é¤Ð¤é¤Ë²õ¤ì¤ÆÇúȯ¤·¤¿", "¤Ð¤é¤Ð¤é¤Ë²õ¤ì¤ÆÇúȯ¤·¤¿", "¾ó¤ÎÇúȯ¤Ç" }; void *************** *** 2764,2771 **** if (obj->otyp == SPE_BOOK_OF_THE_DEAD) { skip++; if (!Blind) ! pline("%s glows a strange %s, but remains intact.", ! The(xname(obj)), hcolor("dark red")); } quan = obj->quan; switch(osym) { --- 2984,2994 ---- if (obj->otyp == SPE_BOOK_OF_THE_DEAD) { skip++; if (!Blind) ! /*JP pline("%s glows a strange %s, but remains intact.", ! The(xname(obj)), hcolor("dark red"));*/ ! pline("%s¤Ï´ñ̯¤Ë%sµ±¤¤¤¿¤¬²¿¤âÊѲ½¤·¤Ê¤«¤Ã¤¿¡¥", ! (xname(obj)), jconj_adj(hcolor("°Å³ì¿§¤Î"))); ! } quan = obj->quan; switch(osym) { *************** *** 2818,2826 **** if(!rn2(3)) cnt++; if(!cnt) continue; ! if(cnt == quan) mult = "Your"; ! else mult = (cnt == 1L) ? "One of your" : "Some of your"; ! pline("%s %s %s!", mult, xname(obj), (cnt > 1L) ? destroy_strings[dindx*3 + 1] : destroy_strings[dindx*3]); if(osym == POTION_CLASS && dmgtyp != AD_COLD) --- 3041,3052 ---- if(!rn2(3)) cnt++; if(!cnt) continue; ! /*JP if(cnt == quan) mult = "Your";*/ ! if(cnt == quan) mult = ""; ! /*JP else mult = (cnt == 1L) ? "One of your" : "Some of your";*/ ! else mult = (cnt == 1L) ? "¤Î¤Ò¤È¤Ä" : "¤Î¤¤¤¯¤Ä¤«"; ! /*JP pline("%s %s %s!", mult, xname(obj),*/ ! pline("¤¢¤Ê¤¿¤Î%s%s¤Ï%s¡ª", xname(obj), mult, (cnt > 1L) ? destroy_strings[dindx*3 + 1] : destroy_strings[dindx*3]); if(osym == POTION_CLASS && dmgtyp != AD_COLD) *************** *** 2835,2841 **** for (i = 0; i < cnt; i++) useup(obj); if(dmg) { ! if(xresist) You("aren't hurt!"); else { losehp(dmg, (cnt==1L) ? destroy_strings[dindx*3 + 2] : (const char *)makeplural(destroy_strings[dindx*3 + 2]), --- 3061,3068 ---- for (i = 0; i < cnt; i++) useup(obj); if(dmg) { ! /*JP if(xresist) You("aren't hurt!");*/ ! if(xresist) You("½ý¤Ä¤«¤Ê¤¤¡ª"); else { losehp(dmg, (cnt==1L) ? destroy_strings[dindx*3 + 2] : (const char *)makeplural(destroy_strings[dindx*3 + 2]), *************** *** 2880,2888 **** if (obj->otyp == SPE_BOOK_OF_THE_DEAD) { skip++; if (vis) ! pline("%s glows a strange %s, but remains intact.", The(distant_name(obj, xname)), ! hcolor("dark red")); } quan = obj->quan; switch(osym) { --- 3107,3118 ---- if (obj->otyp == SPE_BOOK_OF_THE_DEAD) { skip++; if (vis) ! /*JP pline("%s glows a strange %s, but remains intact.", The(distant_name(obj, xname)), ! hcolor("dark red"));*/ ! pline("%s¤Ï´ñ̯¤Ë%sµ±¤¤¤¿¤¬²¿¤âÊѲ½¤·¤Ê¤«¤Ã¤¿¡¥", ! The(distant_name(obj, xname)), ! jconj_adj(hcolor("°Å³ì¿§¤Î"))); } quan = obj->quan; switch(osym) { *************** *** 2930,2936 **** if(!rn2(3)) cnt++; if(!cnt) continue; ! if (vis) pline("%s %s %s!", s_suffix(Monnam(mtmp)), xname(obj), (cnt > 1L) ? destroy_strings[dindx*3 + 1] : destroy_strings[dindx*3]); --- 3160,3167 ---- if(!rn2(3)) cnt++; if(!cnt) continue; ! /*JP if (vis) pline("%s %s %s!",*/ ! if (vis) pline("%s¤Î%s¤Ï%s¡ª", s_suffix(Monnam(mtmp)), xname(obj), (cnt > 1L) ? destroy_strings[dindx*3 + 1] : destroy_strings[dindx*3]); *************** *** 2969,2975 **** if(tell) { shieldeff(mtmp->mx, mtmp->my); ! pline("%s resists!", Monnam(mtmp)); } mtmp->mhp -= damage/2; } else mtmp->mhp -= damage; --- 3200,3207 ---- if(tell) { shieldeff(mtmp->mx, mtmp->my); ! /*JP pline("%s resists!", Monnam(mtmp));*/ ! pline("%s¤ÏËɤ¤¤À¡ª", Monnam(mtmp)); } mtmp->mhp -= damage/2; } else mtmp->mhp -= damage; *************** *** 2988,2996 **** register struct obj *otmp; int tries = 0; ! if (flags.verbose) You("may wish for an object."); retry: ! getlin("For what do you wish?", buf); if(buf[0] == '\033') buf[0] = 0; /* * Note: if they wished for and got a non-object successfully, --- 3220,3230 ---- register struct obj *otmp; int tries = 0; ! /*JP if (flags.verbose) You("may wish for an object.");*/ ! if (flags.verbose) You("˾¤ß¤Î¤â¤Î¤ò¼ê¤ËÆþ¤ì¤é¤ì¤ë¡ª"); retry: ! /*JP getlin("For what do you wish?", buf);*/ ! getlin("²¿¤ò¤ªË¾¤ß¡©", buf); if(buf[0] == '\033') buf[0] = 0; /* * Note: if they wished for and got a non-object successfully, *************** *** 2998,3004 **** */ otmp = readobjnam(buf); if (!otmp) { ! pline("Nothing fitting that description exists in the game."); if (++tries < 5) goto retry; pline(thats_enough_tries); if (!(otmp = readobjnam((char *)0))) --- 3232,3239 ---- */ otmp = readobjnam(buf); if (!otmp) { ! /*JP pline("Nothing fitting that description exists in the game.");*/ ! pline("¤¦¡¼¤ó¡¥¤½¤ó¤Ê¤â¤Î¤Ï¸ºß¤·¤Ê¤¤¤è¤¦¤À¡¥"); if (++tries < 5) goto retry; pline(thats_enough_tries); if (!(otmp = readobjnam((char *)0))) *************** *** 3007,3023 **** if (otmp != &zeroobj) { if(otmp->oartifact && !touch_artifact(otmp,&youmonst)) dropy(otmp); ! else /* The(aobjnam()) is safe since otmp is unidentified -dlc */ (void) hold_another_object(otmp, u.uswallow ? ! "Oops! %s out of your reach!" : Is_airlevel(&u.uz) || u.uinwater ? "Oops! %s away from you!" : "Oops! %s to the floor!", The(aobjnam(otmp, Is_airlevel(&u.uz) || u.uinwater ? "slip" : "drop")), (const char *)0); u.ublesscnt += rn1(100,50); /* the gods take notice */ } } --- 3242,3266 ---- if (otmp != &zeroobj) { if(otmp->oartifact && !touch_artifact(otmp,&youmonst)) dropy(otmp); ! else{ ! Sprintf(buf,"%s¤¬%s",xname(otmp),Is_airlevel(&u.uz)||u.uinwater ? "³ê¤êÍî¤Á¤¿" : "Íî¤Á¤¿"); /* The(aobjnam()) is safe since otmp is unidentified -dlc */ (void) hold_another_object(otmp, u.uswallow ? ! /*JP "Oops! %s out of your reach!" : Is_airlevel(&u.uz) || u.uinwater ? "Oops! %s away from you!" : "Oops! %s to the floor!", The(aobjnam(otmp, Is_airlevel(&u.uz) || u.uinwater ? "slip" : "drop")), + (const char *)0);*/ + "¤ª¤Ã¤È¡¤ÆϤ«¤Ê¤¤¤È¤³¤í¤Ë%s¡ª" : + Is_airlevel(&u.uz) || u.uinwater ? + "¤ª¤Ã¤È¡¤¼ê¤«¤é%s¡ª" : + "¤ª¤Ã¤È¡¤¾²¤Ë%s¡ª", + buf, (const char *)0); + } u.ublesscnt += rn1(100,50); /* the gods take notice */ } } diff -c -r ../nethack-3.2.2/dat/data.base ./dat/data.base *** ../nethack-3.2.2/dat/data.base Sat Dec 28 21:53:27 1996 --- ./dat/data.base Tue Sep 23 07:10:16 1997 *************** *** 18,203 **** # aclys aklys ! A short studded or spiked club attached to a cord allowing ! it to be drawn back to the wielder after having been thrown. aleax ! Said to be a doppelganger sent to inflict divine punishment ! for alignment violations. amaterasu omikami ! The Shinto sun goddess, Amaterasu Omikami is the central ! figure of Shintoism and the ancestral deity of the imperial ! house. One of the daughters of the primordial god Izanagi ! and said to be his favourite offspring, she was born from ! his left eye. [ Encyclopedia of Gods, by Michael Jordan ] *amnesia Maud ! Get thee hence, nor come again, ! Mix not memory with doubt, ! Pass, thou deathlike type of pain, ! Pass and cease to move about! ! 'Tis the blot upon the brain ! That will show itself without. ... ! For, Maud, so tender and true, ! As long as my life endures ! I feel I shall owe you a debt, ! That I never can hope to pay; ! And if ever I should forget ! That I owe this debt to you ! And for your sweet sake to yours; ! O then, what then shall I say? - ! If ever I should forget, ! May God make me more wretched ! Than ever I have been yet! [ Maud, And Other Poems by Alfred Lord Tennyson ] angel* ! He answered and said unto them, he that soweth the good seed ! is the Son of man; the field is the world, and the good seed ! are the children of the kingdom; but the weeds are the ! children of the wicked one; the enemy that sowed them is the ! devil; the harvest is the end of the world; and the reapers ! are the angels. As therefore the weeds are gathered and ! burned in the fire; so shall it be in the end of this world. ! [...] So shall it be at the end of the world; the angels ! shall come forth, and sever the wicked from among the just, ! and shall cast them into the furnace of fire; there shall be ! wailing and gnashing of teeth. ! [ The Gospel According to Matthew, 13:37-42, 49-50 ] anhur ! An Egyptian god of war and a great hunter, few gods can match ! his fury. Unlike many gods of war, he is a force for good. ! The wrath of Anhur is slow to come, but it is inescapable ! once earned. Anhur is a mighty figure with four arms. He ! is often seen with a powerful lance that requires both of ! his right arms to wield and which is tipped with a fragment ! of the sun. He is married to Mehut, a lion-headed goddess. ankh-morpork ! The twin city of Ankh-Morpork, foremost of all the cities ! bounding the Circle Sea, was as a matter of course the home ! of a large number of gangs, thieves' guilds, syndicates and ! similar organisations. This was one of the reasons for its ! wealth. Most of the humbler folk on the widdershin side of ! the river, in Morpork's mazy alleys, supplemented their ! meagre incomes by filling some small role for one or other ! of the competing gangs. [ The Colour of Magic by Terry Pratchett ] anshar ! A primordial Babylonian-Akkadian deity, Anshar is mentioned ! in the Babylonian creation epic _Enuma Elish_ as one of a ! pair of offspring (with Kishar) of Lahmu and Lahamu. Anshar ! is linked with heaven while Kishar is identified with earth. [ Encyclopedia of Gods, by Michael Jordan ] ant * ant ! This giant variety of the ordinary ant will fight just as ! fiercely as its small, distant cousin. Various varieties ! exist, and they are known and feared for their relentless ! persecution of their victims. anu ! Anu was the Babylonian god of the heavens, the monarch of ! the north star. He was the oldest of the Babylonian gods, ! the father of all gods, and the ruler of heaven and destiny. ! Anu features strongly in the _atiku_ festival in ! Babylon, Uruk and other cities. *ape ! The most highly evolved of all the primates, as shown by ! all their anatomical characters and particularly the ! development of the brain. Both arboreal and terrestrial, ! the apes have the forelimbs much better developed than ! the hind limbs. Tail entirely absent. Growth is slow ! and sexual maturity reached at quite an advanced age. [ A Field Guide to the Larger Mammals of Africa by Dorst ] Aldo the gorilla had a plan. It was a good plan. It was ! right. He knew it. He smacked his lips in anticipation as ! he thought of it. Yes. Apes should be strong. Apes should be masters. Apes should be proud. Apes should make the Earth shake when they walked. Apes should _rule_ the Earth. [ Battle for the Planet of the Apes, by David Gerrold ] archon ! Archons are the predominant inhabitants of the heavens. ! However unusual their appearance, they are not generally ! evil. They are beings at peace with themselves and their ! surroundings. ashikaga takauji ! Ashikaga Takajui was a daimyo of the Minamoto clan who ! joined forces with the Go-Daigo to defeat the Hojo armies. ! Later when Go-Daigo attempted to reduce the powers of the ! samurai clans he rebelled against him. He defeated Go- ! Daigo and established the emperor Komyo on the throne. ! Go-Daigo eventually escaped and established another ! government in the town of Yoshino. This period of dual ! governments was known as the Nambokucho. [ Samurai - The Story of a Warrior Tradition, by Cook ] asmodeus ! It is said that Asmodeus is the overlord over all of hell. ! His appearance, unlike many other demons and devils, is ! human apart from his horns and tail. He can freeze flesh ! with a touch. athame ! The consecrated ritual knife of a Wiccan initiate (one of ! four basic tools, together with the wand, chalice and ! pentacle). Traditionally, the athame is a double-edged, ! black-handled, cross-hilted dagger of between six and ! eighteen inches length. athen* ! Athene was the offspring of Zeus, and without a mother. She ! sprang forth from his head completely armed. Her favourite ! bird was the owl, and the plant sacred to her is the olive. [ Bulfinch's Mythology by Thomas Bulfinch ] atlatl ! A device used to throw spears for longer distances. A short ! staff with a handle at one end and a cradle for the spear at ! the other. axolotl ! A mundane salamander, harmless. b*lzebub ! The "lord of the flies" is a translation of the Hebrew ! Ba'alzevuv (Beelzebub in Greek). It has been suggested that ! it was a mistranslation of a mistransliterated word which ! gave us this pungent and suggestive name of the Devil, a ! devil whose name suggests that he is devoted to decay, ! destruction, demoralization, hysteria and panic... [ Notes on _Lord of the Flies_, by E. L. Epstein ] balrog ! ... It came to the edge of the fire and the light faded as ! if a cloud had bent over it. Then with a rush it leaped ! the fissure. The flames roared up to greet it, and wreathed ! about it; and a black smoke swirled in the air. Its streaming ! mane kindled, and blazed behind it. In its right hand ! was a blade like a stabbing tongue of fire; in its left it ! held a whip of many thongs. ! 'Ai, ai!' wailed Legolas. 'A Balrog! A Balrog is come!' [ The Fellowship of the Ring, by J.R.R. Tolkien ] baluchitherium titanothere ! Extinct rhinos include a variety of forms, the most ! spectacular being _Baluchitherium_ from the Oligocene of ! Asia, which is the largest known land mammal. Its body, 18 ! feet high at the shoulder and carried on massive limbs, ! allowed the 4-foot-long head to browse on the higher branches ! of trees. Though not as enormous, the titanotheres of the ! early Tertiary were also large perissodactyls, _Brontotherium_ ! of the Oligocene being 8 feet high at the shoulder. [Prehistoric Animals, by Barry Cox ] barbarian ! They dressed alike -- in buckskin boots, leathern breeks and ! deerskin shirts, with broad girdles that held axes and short ! swords; and they were all gaunt and scarred and hard-eyed; ! sinewy and taciturn. ! They were wild men, of a sort, yet there was still a wide ! gulf between them and the Cimmerian. They were sons of ! civilization, reverted to a semi-barbarism. He was a ! barbarian of a thousand generations of barbarians. They had ! acquired stealth and craft, but he had been born to these ! things. He excelled them even in lithe economy of motion. ! They were wolves, but he was a tiger. [ Conan - The Warrior, by Robert E. Howard ] barbed devil ! Barbed devils lack any real special abilities, though they ! are quite difficult to kill. *bat A bat, flitting in the darkness outside, took the wrong turn as it made its nightly rounds and came in through the window --- 18,356 ---- # aclys aklys ! ¥¢¥­¥ê¥¹ ! # A short studded or spiked club attached to a cord allowing ! # it to be drawn back to the wielder after having been thrown. ! ÉƤޤ¿¤Ï¥È¥²¤¬¤¢¤ëû¤¤ÛþËÀ¤ÇÅꤲ¤¿¤¢¤ÈÁõÈ÷¤Ç¤­¤ë¤è¤¦É³¤¬¼è¤ê ! ¤Ä¤±¤é¤ì¤Æ¤¤¤ë¡¥ aleax ! ¥¢¥ì¥¢¥Ã¥¯¥¹ ! # Said to be a doppelganger sent to inflict divine punishment ! # for alignment violations. ! °À­¤ËÈ¿¤¹¤ë¹Ô°Ù¤ËÂФ·¿À¤Îȳ¤òÍ¿¤¨¤ë¤¿¤á»È¤ï¤µ¤ì¤ëÀºÎî¤È¸À¤ï ! ¤ì¤Æ¤¤¤ë¡¥ amaterasu omikami ! Å·¾ÈÂç¿À ! # The Shinto sun goddess, Amaterasu Omikami is the central ! # figure of Shintoism and the ancestral deity of the imperial ! # house. One of the daughters of the primordial god Izanagi ! # and said to be his favourite offspring, she was born from ! # his left eye. ! # [ Encyclopedia of Gods, by Michael Jordan ] ! ¿ÀÆ»¤ÎÂÀÍۤν÷¿À¡¤Å·¾ÈÂç¿À¤Ï¿ÀÆ»¤ª¤è¤ÓÂ塹¤Î¹Ä¼¼¤Î¿ÀÀ­¤Î¤Î ! Ã濴Ū¾Ýħ¤Ç¤¢¤ë¡¥ºÇ½é¤Î¿À¡¤°Ë¼ÙÆá´ôÌ¿¤Î̼¤Î°ì¿Í¤Ç¡¤º¸¤Î ! Ìܤ«¤éÀ¸¤Þ¤ì¡¤°Ë¼ÙÆá´ôÌ¿¤¬ÆäËÃþ°¦¤·¤¿¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥ [ Encyclopedia of Gods, by Michael Jordan ] *amnesia + µ­²±ÁÓ¼º Maud ! # Get thee hence, nor come again, ! # Mix not memory with doubt, ! # Pass, thou deathlike type of pain, ! # Pass and cease to move about! ! # 'Tis the blot upon the brain ! # That will show itself without. ! # ... ! # For, Maud, so tender and true, ! # As long as my life endures ! # I feel I shall owe you a debt, ! # That I never can hope to pay; ! # And if ever I should forget ! # That I owe this debt to you ! # And for your sweet sake to yours; ! # O then, what then shall I say? - ! # If ever I should forget, ! # May God make me more wretched ! # Than ever I have been yet! ! ¤³¤³¤è¤êΩ¤Áµî¤ê¡¤Íè¤ë¤Ê¤«¤ì ! µ¶¤ê¤À¤é¤±¤Î¡¤»×¤¤½Ð¤Ï¼º¤¯ ! ·îÆü¤Ïή¤ì¡¤¶ìÄˤ¬Ë¬¤º¤ì¡¤ ! ·îÆü¤Ïž¡¹¤Èή¤ì¤ë¡¥ ! µ­²±¤ò°ðºÊ¤¬Áö¤ê ! µ­²±¤¬¤Õ¤ÈÁɤ¨¤ë ... ! ¤ª¤ªMaud¡¤°¦¤·¤¤¿¿¼Â¤Î°¦¤è¡¤ ! »ä¤¬À¸¤­¤Æ¤¤¤ë¤«¤®¤ê¡¤ ! ¤¢¤Ê¤¿¤Ë¤Ï¤¤¤Ä¤Þ¤Ç¤â ! ÊÖ¤·¤ÆÍߤ·¤¯¤Ê¤¤¼Ú¤ê¤À¤é¤±¡¥ ! ¤â¤·¤¢¤Ê¤¿¤¬»ä¤ò˺¤ì¤ë¤Ê¤é ! ¤ª´ê¤¤¤À¤«¤é ! »ä¤Ë¼Ú¤ê¤òºî¤Ã¤Æ¤ª¤¯¤ì ! ¤½¤Î¤È¤­»ä¤Ï²¿¤ò¸À¤¨¤Ð¤¤¤¤¤Î¤À¤í¤¦¡© ! ¤½¤·¤Æ¡¤¤â¤·Ëº¤ì¤é¤ì¤ë¤Ê¤é¡¤ ! ¿À¤è»ä¤òÃÑÃΤ餺¤È¤Î¤Î¤·¤ê¡¤ ! ¤³¤ÎÀ¤¤«¤é»ä¤ò¾Ã¤·¤µ¤ë¤¬¤è¤¤¡¥ [ Maud, And Other Poems by Alfred Lord Tennyson ] + Å·»È + ¸æ»È¤¤ angel* ! # He answered and said unto them, he that soweth the good seed ! # is the Son of man; the field is the world, and the good seed ! # are the children of the kingdom; but the weeds are the ! # children of the wicked one; the enemy that sowed them is the ! # devil; the harvest is the end of the world; and the reapers ! # are the angels. As therefore the weeds are gathered and ! # burned in the fire; so shall it be in the end of this world. ! # [...] So shall it be at the end of the world; the angels ! # shall come forth, and sever the wicked from among the just, ! # and shall cast them into the furnace of fire; there shall be ! # wailing and gnashing of teeth. ! ¥¤¥¨¥¹¤ÏÅú¤¨¤Æ¸À¤ï¤ì¤¿¡¤¡ÖÎɤ¤¼ï¤ò¤Þ¤¯¼Ô¤Ï¿Í¤Î»Ò¤Ç¤¢¤ë¡¥Èª¤ÏÀ¤ ! ³¦¤Ç¤¢¤ë¡¥Îɤ¤¼ï¤È¸À¤¦¤Î¤Ï¸æ¹ñ¤Î»Ò¤¿¤Á¤Ç¡¤ÆÇÇþ¤Ï°­¤¤¼Ô¤Î»Ò¤¿¤Á ! ¤Ç¤¢¤ë¡¥¤½¤ì¤ò¤Þ¤¤¤¿Å¨¤Ï°­Ëâ¤Ç¤¢¤ë¡¥¼ý³Ï¤È¤ÏÀ¤¤Î½ª¤ê¤Î¤³¤È¤Ç¡¤ ! ´¢¤ë¼Ô¤Ï¸æ»È¤¤¤¿¤Á¤Ç¤¢¤ë¡¥¤À¤«¤é¡¤ÆÇÇþ¤¬½¸¤á¤é¤ì¤Æ²Ð¤Ç¾Æ¤«¤ì¤ë ! ¤è¤¦¤Ë¡¤À¤¤Î½ª¤ê¤Ë¤â¤½¤Î¤È¤ª¤ê¤Ë¤Ê¤ë¤Ç¤¢¤í¤¦¡¥¿Í¤Î»Ò¤Ï¤½¤Î»È¤¿ ! ¤Á¤ò¤Ä¤«¤ï¤·¡¤¤Ä¤Þ¤º¤­¤È¤Ê¤ë¤â¤Î¤ÈÉÔË¡¤ò¹Ô¤¦¼Ô¤È¤ò¡¤¤³¤È¤´¤È¤¯ ! ¸æ¹ñ¤«¤é¤È¤ê½¸¤á¤Æ¡¤Ï§¤Î²Ð¤ËÅꤲÆþ¤ì¤µ¤»¤ë¤Ç¤¢¤í¤¦¡¥¤½¤³¤Ç¤Ïµã ! ¤­¶«¤ó¤À¤ê¡¤»õ¤¬¤ß¤ò¤·¤¿¤ê¤¹¤ë¤Ç¤¢¤í¤¦¡¥ ! ... ! À¤¤Î½ª¤ê¤Ë¤â¡¤¤½¤Î¤È¤ª¤ê¤Ë¤Ê¤ë¤Ç¤¢¤í¤¦¡¥¤¹¤Ê¤ï¤Á¡¤¸æ»È¤¤¤¿¤Á¤¬ ! ¤­¤Æ¡¤µÁ¿Í¤Î¤¦¤Á¤«¤é°­¿Í¤ò¤¨¤êʬ¤±¡¤¤½¤·¤Æϧ¤Î²Ð¤ËÅꤲ¤³¤à¤Ç¤¢ ! ¤í¤¦¡¥¤½¤³¤Ç¤Ïµã¤­¶«¤ó¤À¤ê¡¤»õ¤¬¤ß¤ò¤·¤¿¤ê¤¹¤ë¤Ç¤¢¤í¤¦¡¥ ! # [ The Gospel According to Matthew, 13:37-42, 49-50 ] ! [¥Þ¥¿¥¤¤Ë¤è¤ëÊ¡²»½ñ¡¤13:37-42, 49-50¡¤¸ý¸ìÌõÀ»½ñ¡¤ÆüËÜÀ»½ñ¶¨²ñ] ! ¥¢¥ó¥Õ¥ë anhur ! # An Egyptian god of war and a great hunter, few gods can match ! # his fury. Unlike many gods of war, he is a force for good. ! # The wrath of Anhur is slow to come, but it is inescapable ! # once earned. Anhur is a mighty figure with four arms. He ! # is often seen with a powerful lance that requires both of ! # his right arms to wield and which is tipped with a fragment ! # of the sun. He is married to Mehut, a lion-headed goddess. ! À襤¤È¼íÎĤΥ¨¥¸¥×¥È¤Î¿À¡¤Èà¤ÎÌ԰ҤˤĤ¤¤Æ¹Ô¤±¤ë¿À¤Ï¤Û¤È¤ó ! ¤É¤¤¤Ê¤«¤Ã¤¿¡¥Â¾¤Î¿¤¯¤ÎÀ襤¤Î¿À¤È¤Ï°ã¤Ã¤Æ¡¤Èà¤ÏÁ±¤ÎÎϤò»ý¤Ä¡¥ ! ¥¢¥ó¥Õ¥ë¤ÎÅܤê¤Ï½ù¡¹¤Ë¹â¤Þ¤ë¤¬¡¤°ìÅÙ¤½¤¦¤Ê¤ë¤È²óÈò¤¹¤ë¤³¤È¤Ï ! ÉÔ²Äǽ¤Ç¤¢¤ë¡¥¥¢¥ó¥Õ¥ë¤Ï4¤Ä¤ÎÏÓ¤ò»ý¤ÄÎ϶¯¤¤É÷ÂΤǤ¢¤ë¡¥Èà¤Ï ! ¤·¤Ð¤·¤ÐµðÂç¤ÊÁä¤ò»ý¤Ã¤Æ¸½¤ï¤ì¤ë¡¥Áä¤ò»ý¤Ä¤Ë¤Ï¡¤2¤Ä¤Î±¦¼ê¤¬ ! ɬÍפǡ¤Àèü¤Ë¤ÏÂÀÍÛ¤ÎÇËÊÒ¤«¤éºî¤é¤ì¤¿Ì𤸤꤬¤Ä¤±¤é¤ì¤Æ¤¤¤¿¡¥ ! Èà¤Ï¥é¥¤¥ª¥ó¤ÎƬ¤ò»ý¤Ä½÷¿À¥á¥Ï¥È¤È·ëº§¤·¤Æ¤¤¤ë¡¥ ! ¥¢¥ó¥¯*¥â¥ë¥Ý¡¼¥¯ ankh-morpork ! # The twin city of Ankh-Morpork, foremost of all the cities ! # bounding the Circle Sea, was as a matter of course the home ! # of a large number of gangs, thieves' guilds, syndicates and ! # similar organisations. This was one of the reasons for its ! # wealth. Most of the humbler folk on the widdershin side of ! # the river, in Morpork's mazy alleys, supplemented their ! # meagre incomes by filling some small role for one or other ! # of the competing gangs. ! ÁлÒÅÔ»Ô¥¢¥ó¥¯=¥â¥ë¥Ý¡¼¥¯¤Ï¡¤±ß·Á³¤´ß¤ÎÅÔ»Ô¤ÎÃæ¤ÇºÇ¤â¼çÍ×¤Ê ! ¤â¤Î¤Ç¤¢¤ê¡¤ÅöÁ³¡¤¿ô¿¤¯¤Î¥®¥ã¥ó¥°¡¤Åð±¥®¥ë¥É¡¤¥·¥ó¥¸¡¼¥± ! ¡¼¥È¾»÷¤¿¤è¤¦¤ÊÁÈ¿¥¤Îº¬¾ë¤È¤Ê¤Ã¤Æ¤¤¤¿¡¥¤½¤Î¤ª¤«¤²¤Ç¤³¤ÎÅÔ»Ô ! ¤Ï͵ʡ¤À¤Ã¤¿¤È¤â¸À¤¨¤ë¡¥¥¢¥ó¥¯Àî¤ÎµÕ²óž¦¡¤ÌÂÏ©¤Î¤è¤¦¤Ê¥â¥ë ! ¥Ý¡¼¥¯¤Î¾®Ï©¤Ë½»¤à¿¤¯¤ÎÉϤ·¤¤¿Í¡¹¤Ï¡¤Ä¥¤ê¹ç¤¦¥®¥ã¥ó¥°¤¿¤Á ! ¤Î¤¿¤á¤Ë¤Á¤ç¤Ã¤È¤·¤¿»Å»ö¤ò¤·¤Æ¤Ï¡¤Ë³¤·¤¤¼ýÆþ¤òÊä¤Ã¤Æ¤¤¤¿¤«¤é ! ¤À¡¥ [ The Colour of Magic by Terry Pratchett ] + [ ¥Ç¥£¥¹¥¯¥ï¡¼¥ë¥ÉÁûÆ°µ­¡¤°ÂÅĶÑÌõ¡¤³ÑÀîʸ¸Ë ] + ¥¢¥ó¥·¥ã¥ë anshar ! # A primordial Babylonian-Akkadian deity, Anshar is mentioned ! # in the Babylonian creation epic _Enuma Elish_ as one of a ! # pair of offspring (with Kishar) of Lahmu and Lahamu. Anshar ! # is linked with heaven while Kishar is identified with earth. ! ¥Ð¥Ó¥í¥Ë¥¢¥¢¥Ã¥«¥É²¦Ä«¤ÎÁÄÀè¡¥¥¢¥ó¥·¥ã¥ë¤Ï¥Ð¥Ó¥í¥Ë¥¢¤ÎÁÏÀ¤µ­ ! ¡Ö¥¨¥Ì¥Þ¥¨¥ê¥·¥å¡×¤Ç¤Ï¥é¡¼¥à¤È¥é¥Ï¥à¤ÎÁлÒ(¾Êý¤Ï¥«¥¤¥·¥ã¥ë) ! ¤Î°ì¿Í¤È¤µ¤ì¤Æ¤¤¤ë¡¥¥¢¥ó¥·¥ã¥ë¤ÏÅ·¤ÈƱ°ì»ë¤µ¤ì¤Æ¤ª¤ê¡¤¥«¥¤¥·¥ã ! ¥ë¤ÏÃϤËƱ°ì»ë¤µ¤ì¤Æ¤¤¤ë¡¥ [ Encyclopedia of Gods, by Michael Jordan ] + µÂ ant * ant ! # This giant variety of the ordinary ant will fight just as ! # fiercely as its small, distant cousin. Various varieties ! # exist, and they are known and feared for their relentless ! # persecution of their victims. ! ÉáÄ̤ε¤òµðÂç¤Ë¤·¤¿¤³¤Î¼ï¤Ï¡¤¾®¤µ¤¤¼ï¤¬¤½¤¦¤Ç¤¢¤ë¤è¤¦¤Ë ! ¶§Ë½¤Ç¤¢¤ë¡¥ÍÍ¡¹¤Ê¼ï¤¬Â¸ºß¤·¡¤µ·À·¼Ô¤Ø¤Î¾ð¤±ÍƼϤʤ¤¹¶·â ! ¤Ç¶²¤ì¤é¤ì¤Æ¤¤¤ë¡¥ ! ¥¢¥Ì anu ! # Anu was the Babylonian god of the heavens, the monarch of ! # the north star. He was the oldest of the Babylonian gods, ! # the father of all gods, and the ruler of heaven and destiny. ! # Anu features strongly in the _atiku_ festival in ! # Babylon, Uruk and other cities. ! ¥¢¥Ì¤Ï¥Ð¥Ó¥í¥Ë¥¢¤ÎÅ·¤Î¿À¤Ç¤¢¤ê¡¤Ë̶ËÀ±¤Î»ÙÇۼԤǤ¢¤ë¡¥Èà¤Ï ! ¥Ð¥Ó¥í¥Ë¥¢¤Î¿À¡¹¤ÎÃæ¤Ç°ìÈֺФò¤È¤Ã¤Æ¤ª¤ê¡¤Á´¤Æ¤Î¿À¤ÎÉã¤È ! ¤µ¤ì¤Æ¤¤¤ëÅ·¤È±¿Ì¿¤ÎÅý¼£¼Ô¤Ç¤¢¤ë¡¥¥¢¥Ì¤Ï¥¦¥ë¥¯¤ä¾¤ÎÄ®¤Î ! ¥Ð¥Ó¥í¥Ë¥¢¤Î¡Ö¥¢¥Á¥¯º×¡×¤Ë¤ÆÎ϶¯¤¯±é¤¸¤é¤ì¤Æ¤¤¤ë¡¥ ! *±î *ape ! # The most highly evolved of all the primates, as shown by ! # all their anatomical characters and particularly the ! # development of the brain. Both arboreal and terrestrial, ! # the apes have the forelimbs much better developed than ! # the hind limbs. Tail entirely absent. Growth is slow ! # and sexual maturity reached at quite an advanced age. ! ²ò˶³ØŪÆÃħ¤Ë¤è¤ê¼¨¤µ¤ì¤ë¤È¤³¤í¤äǾ¤Îȯã¤Ë¤è¤êÁ´¤Æ¤ÎÎîĹ ! Îà¤Ç¤â¤Ã¤È¤â¿Ê²½¤·¤¿Æ°Êª¡¥¼ù¾å¡¤ÃÏɽ¤ò¤È¤ï¤º¡¤Îà¿Í±î¤Ï¸å­ ! ¤è¤ê¤Ï¤ë¤«¤Ëȯ㤷¤¿Á°Â­¤ò»ý¤Ä¡¥¿¬Èø¤Ï´°Á´¤Ë¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤ë¡¥ ! À®Ä¹¤ÏÃÙ¤¯¡¤¤«¤Ê¤êºÐ¤ò¼è¤ë¤ÈÀ¸¿£Ç½ÎϤò»ý¤Ä¤è¤¦¤Ë¤Ê¤ë¡¥ [ A Field Guide to the Larger Mammals of Africa by Dorst ] Aldo the gorilla had a plan. It was a good plan. It was ! right. He knew it. He smacked his lips in anticipation as ! he thought of it. Yes. Apes should be strong. Apes should be masters. Apes should be proud. Apes should make the Earth shake when they walked. Apes should _rule_ the Earth. [ Battle for the Planet of the Apes, by David Gerrold ] + ¥¢¥ë¥³¥ó archon ! # Archons are the predominant inhabitants of the heavens. ! # However unusual their appearance, they are not generally ! # evil. They are beings at peace with themselves and their ! # surroundings. ! ¥¢¥ë¥³¥ó¤ÏÅ·¾å¤Ë½»¤à¾å°Ì¼ï¤Ç¤¢¤ë¡¥¤½¤ì¤é¤Ï, ¤½¤Î°Û¾ï¤Ê¸«³Ý¤±¤È¤Ï ! °ã¤Ã¤Æ¡¤¤¤¤Á¤¬¤¤¤Ë°­¤È¤Ï¤¤¤¨¤Ê¤¤¡¥¥¢¥ë¥³¥ó¤Ï¼«¿È¤ä¤Þ¤ï¤ê¤Î¤â¤Î¤Ë ! ÂФ·¤ÆÊ¿ÏÂŪ¤Ê¼ï¤Ç¤¢¤ë¡¥ ! ­Íøº»á ashikaga takauji ! # Ashikaga Takajui was a daimyo of the Minamoto clan who ! # joined forces with the Go-Daigo to defeat the Hojo armies. ! # Later when Go-Daigo attempted to reduce the powers of the ! # samurai clans he rebelled against him. He defeated Go- ! # Daigo and established the emperor Komyo on the throne. ! # Go-Daigo eventually escaped and established another ! # government in the town of Yoshino. This period of dual ! # governments was known as the Nambokucho. ! ­Íøº»á¤Ï¸»°ì²¤ÎÂç̾¤Ç¡¤Ë̾ò·³¤òÂǤÁÇˤ뤿¤á¸åÂé¸ïÅ·¹Ä ! ¤Ë¶¨ÎϤ·¤¿¡¥¤Î¤Á¸åÂé¸ïÅ·¹Ä¤¬Éð»Î¤ÎÎϤòÍÞ¤¨¤è¤¦¤È¤·¤¿¤È¤­¡¤ ! Èà¤ÏÅ·¹Ä¤ËÂФ·È¿µÕ¤·¤¿¡¥Èà¤Ï¸åÂé¸ïÅ·¹Ä¤òÂǤÁÉ餫¤·¡¤¸÷ÌÀ ! Å·¹Ä¤òΩ¤Æ¤¿¡¥¸åÂé¸ïÅ·¹Ä¤Ï¤«¤í¤¦¤¸¤Æƨ¤²±ä¤Ó¡¤µÈÌî¤ÎΤ¤Ë ! Ê̤ÎÀ¯ÉܤòΩ¤Æ¤¿¡¥¤³¤Î2¤Ä¤Î²¦Ä«¤Î¤¢¤ë»þÂå¤ÏÆîËÌÄ«¤È¤·¤Æ ! ÃΤé¤ì¤Æ¤¤¤ë¡¥ [ Samurai - The Story of a Warrior Tradition, by Cook ] + ¥¢¥¹¥â¥Ç¥¦¥¹ asmodeus ! # It is said that Asmodeus is the overlord over all of hell. ! # His appearance, unlike many other demons and devils, is ! # human apart from his horns and tail. He can freeze flesh ! # with a touch. ! ¥¢¥¹¥â¥Ç¥¦¥¹¤Ï¡¤ÃϹöÁ´ÂΤÎÁí»ÙÇۼԤǤ¢¤ë¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥¤½¤Î ! ³°¸«¤Ï¡¤Â¾¤Î°­Ëâ¤È°ã¤¤¡¤³Ñ¤È¿¬Èø°Ê³°¤Ï¿Í´Ö¤ÈƱ¤¸¤Ç¤¢¤ë¡¥¿¨¤é ! ¤ì¤ë¤È¡¤ÆùÂΤÏÅà¤ê¤Ä¤¤¤Æ¤·¤Þ¤¦¡¥ ! ¥¢¥µ¥á athame ! # The consecrated ritual knife of a Wiccan initiate (one of ! # four basic tools, together with the wand, chalice and ! # pentacle). Traditionally, the athame is a double-edged, ! # black-handled, cross-hilted dagger of between six and ! # eighteen inches length. ! Ëâ½Ñ¿òÇҤΥ¤¥Ë¥·¥¨¡¼¥·¥ç¥ó¤Î¤¿¤á¤ËÀ»Ê̤µ¤ì¤¿µ·ÎéÍѥʥ¤¥Õ(4¤Ä ! ¤Î´ðËÜÆ»¶ñ¤Î£±¤Ä¤Ç¡¤¾ó¡¤À»ÇÕ¡¤¸ÞçêÀ±¤È°ì½ï¤Ë»È¤¦)¡¥ÅÁÅýŪ¤Ë ! ¥¢¥µ¥á¤Ïξ¿Ï¡¤¹õ¤¤°®¤ê¡¤¸òº¹¤·¤¿ÊÁ¤ò¤â¤Ä6¥¤¥ó¥Á¤«¤é8¥¤¥ó¥Á¤Î ! Ťµ¤Îû·õ¤Ç¤¢¤ë¡¥ ! ¥¢¥Æ¥Ê athen* ! # Athene was the offspring of Zeus, and without a mother. She ! # sprang forth from his head completely armed. Her favourite ! # bird was the owl, and the plant sacred to her is the olive. ! ¥¢¥Æ¥Ê¤Ï¥¼¥¦¥¹¤Î̼¤ÇÊì¿Æ¤Ï¤¤¤Ê¤¤¡¥Èà½÷¤Ï´°Á´¤ËÉðÁõ¤·¤¿»Ñ¤Ç ! ¥¼¥¦¥¹¤ÎƬ¤«¤éÃÂÀ¸¤·¤¿¡¥Ûæ(¤Õ¤¯¤í¤¦)¤ò¸æ»È¤¤Ä»¤È¤·¡¤¥ª¥ê¡¼¥Ö ! ¤òÀ»ÌڤȤ¹¤ë¡¥ [ Bulfinch's Mythology by Thomas Bulfinch ] atlatl ! # A device used to throw spears for longer distances. A short ! # staff with a handle at one end and a cradle for the spear at ! # the other. ! Áä¤ò±ó¤¯¤ØÅꤲ¤ë¤Î¤Ë»È¤¦´ï¶ñ¡¥Áàºî¤Ë»È¤¦Ã»¤¤ËÀ¤¬Ã¼¤Ë¤Ä¤¤¤Æ¤ª¤ê¡¤ ! ¤â¤¦°ìÊý¤Ë¤ÏÁä¤ò¤µ¤µ¤¨¤ëÂ椬¤Ä¤¤¤Æ¤¤¤ë¡¥ axolotl ! # A mundane salamander, harmless. ! ¤è¤¯¤¤¤ë¥µ¥é¥Þ¥ó¥À¡¼¡¥Ìµ³²¡¥ ! ¥Ù¥ë¥¼¥Ö¥Ö b*lzebub ! # The "lord of the flies" is a translation of the Hebrew ! # Ba'alzevuv (Beelzebub in Greek). It has been suggested that ! # it was a mistranslation of a mistransliterated word which ! # gave us this pungent and suggestive name of the Devil, a ! # devil whose name suggests that he is devoted to decay, ! # destruction, demoralization, hysteria and panic... ! ¡ÖÇè¤Î²¦¡×¤Ï¥Ø¥Ö¥é¥¤¸ì¤ÎBa'alzevuv(¥®¥ê¥·¥ã¸ì¤Ç¤ÏBeelzebub) ! ¤¬ÊѲ½¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£ ¤â¤È¤â¤È¤³¤Î̾Á°¤Ï¡¢¿Éíå¤Ç°­Ëâ¤Î̾Á° ! ¤Ç¤¢¤ë¤È»×¤ï¤»¤ë¤è¤¦¤Êñ¸ì¤ÎÄÖ¤ò´Ö°ã¤¨¤¿¤â¤Î¤ò¸íÌõ¤·¤¿¤â¤Î¤À ! ¤È»×¤ï¤ì¤ë(°­Ëâ¤Ë¤ÏÉåÇÔ¡¢Ç˲õ¡¢ÂÄÍî¡¢¥Ò¥¹¥Æ¥ê¡¼¡¢º®Íð¤òÏ¢ÁÛ ! ¤µ¤»¤ë¤è¤¦¤Ê̾Á°¤¬¤Ä¤±¤é¤ì¤Æ¤¤¤ë)¡£ [ Notes on _Lord of the Flies_, by E. L. Epstein ] + ¥Ð¥ë¥í¥° balrog ! # ... It came to the edge of the fire and the light faded as ! # if a cloud had bent over it. Then with a rush it leaped ! # the fissure. The flames roared up to greet it, and wreathed ! # about it; and a black smoke swirled in the air. Its streaming ! # mane kindled, and blazed behind it. In its right hand ! # was a blade like a stabbing tongue of fire; in its left it ! # held a whip of many thongs. ! # 'Ai, ai!' wailed Legolas. 'A Balrog! A Balrog is come!' ! # [ The Fellowship of the Ring, by J.R.R. Tolkien ] ! ¤½¤Î¤â¤Î¤Ï²Ð¤Î¤­¤ï¤Þ¤Ç¤ä¤Ã¤ÆÍè¤Þ¤·¤¿¡¥²Ð¤Ï¤Þ¤ë¤Ç±À¤¬¤«¤Ö¤µ ! ¤Ã¤Æ¤­¤¿¤«¤Î¤è¤¦¤Ë¡¤¸÷¤¬¤¦¤¹¤ì¤Þ¤·¤¿¡¥¤Ä¤¤¤Ç¤½¤Îʪ¤Ï°ìÄ·¤Ó ! ¤Ç³ä¤ì¤á¤ò±Û¤¨¤Þ¤·¤¿¡¥±ë¤Ï·Þ¤¨¤ë¤è¤¦¤Ë¤´¤¦¤´¤¦¤Èdz¤¨¤¿¤±¤ê¡¤ ! ¤½¤ì¤Ë¤«¤é¤ß¤Ä¤­¤Þ¤·¤¿¡¥¹õ¤¤±ì¤¬±²¤ò´¬¤¤¤ÆΩ¤Á¾å¤ê¤Þ¤·¤¿¡¥ ! ¤¿¤Ê¤Ó¤¯¤¿¤Æ¤¬¤ß¤Ë²Ð¤¬¤Ä¤¤¤Æ¡¤¤½¤Î¼Ô¤ÎÇظå¤ËÀÖ¡¹¤Èdz¤¨¾å¤¬ ! ¤ê¤Þ¤·¤¿¡¥¤½¤Î¼Ô¤Î±¦¼ê¤Ë¤ÏÀÚ¤ÃÀè±Ô¤¤²Ð¤ÎÀå¤Î¤è¤¦¤Ê¿Ï¤¬°®¤é ! ¤ì¡¤º¸¼ê¤Ë¤Ï¤¿¤¯¤µ¤ó¤ÎÈéɳ¤Î¤Ä¤¤¤¿Êܤ¬°®¤é¤ì¤Æ¤¤¤Þ¤·¤¿¡¥ ! ¡Ö¤¢¤¢¡ª¤¢¤¢¡ª¡×¥ì¥´¥é¥¹¤¬À¼¤ò¤Õ¤ê¤·¤Ü¤ê¤Þ¤·¤¿¡¥¡Ö¥Ð¥ë¥í¥° ! ¤À¡ª¥Ð¥ë¥í¥°¤¬Í褿¡ª¡× [ The Fellowship of the Ring, by J.R.R. Tolkien ] + [ ɾÏÀ¼Ò, À¥ÅÄÄçÆóÌõ ] + ¥Ð¥ë¥­¥Æ¥ê¥¦¥à + ¥Á¥¿¥Î¥¼¥¢ baluchitherium titanothere ! # Extinct rhinos include a variety of forms, the most ! # spectacular being _Baluchitherium_ from the Oligocene of ! # Asia, which is the largest known land mammal. Its body, 18 ! # feet high at the shoulder and carried on massive limbs, ! # allowed the 4-foot-long head to browse on the higher branches ! # of trees. Though not as enormous, the titanotheres of the ! # early Tertiary were also large perissodactyls, _Brontotherium_ ! # of the Oligocene being 8 feet high at the shoulder. ! ÀäÌǤ·¤¿¥µ¥¤¤Ë¤ÏÍÍ¡¹¤Ê·ÁÂÖ¤¬´Þ¤Þ¤ì¤ë¡¥Á²¿·À¤¤Î»þÂå¤Ë¥¢¥¸¥¢¤Ë¤¤ ! ¤¿¤â¤Ã¤È¤âÁԴѤÊÀ¸¤­Êª¤Ç¤¢¤ë¥Ð¥ë¥­¥Æ¥ê¥¦¥à¤ÏÃΤé¤ì¤Æ¤¤¤ë¤«¤®¤ê ! ÃϾåºÇÂç¤ÎÓ®ÆýÎà¤Ç¤¢¤ë¡¥¤½¤ÎÂΤϸª¤Þ¤Ç18¥Õ¥£¡¼¥È¤Î¹â¤µ¤Ç¡¤¤É¤Ã¤· ! ¤ê¤È¤·¤¿»Í»è¤Ë¤µ¤µ¤¨¤é¤ì¤Æ¤ª¤ê¡¤4¥Õ¥£¡¼¥È¤ÎŤµ¤ÎƬ¤ÏÌڤι⤤»Þ ! ¤ÎÍÕ¤ò¿©¤Ù¤ë¤³¤È¤¬¤Ç¤­¤¿¡¥Âè3´ü¤Î»Ï¤á¤Î¥Á¥¿¥Î¥¼¥¢¤Þ¤¿µðÂç¤Ê´ñÄý ! Îà¤Ç¤¢¤ê¡¤Á²¿·À¤¤Î¥Ö¥í¥ó¥È¥Æ¥ê¥¦¥à¤â¸ª¤Þ¤Ç8¥Õ¥£¡¼¥È¤¢¤Ã¤¿¡¥ [Prehistoric Animals, by Barry Cox ] + ÌîÈÚ¿Í + ÈÚ² barbarian ! # They dressed alike -- in buckskin boots, leathern breeks and ! # deerskin shirts, with broad girdles that held axes and short ! # swords; and they were all gaunt and scarred and hard-eyed; ! # sinewy and taciturn. ! # They were wild men, of a sort, yet there was still a wide ! # gulf between them and the Cimmerian. They were sons of ! # civilization, reverted to a semi-barbarism. He was a ! # barbarian of a thousand generations of barbarians. They had ! # acquired stealth and craft, but he had been born to these ! # things. He excelled them even in lithe economy of motion. ! # They were wolves, but he was a tiger. ! # [ Conan - The Warrior, by Robert E. Howard ] ! ¤Þ¤º¡¤¿ÈÁõ¤ê¤¬»÷¤Æ¤¤¤¿----¼¯Èé¤Î¿¼·¤¡¤³×¤Îû¸Ó¤Ë¼¯Èé¤Îû°á¡¤¹­ ! Éý¤Î¹øÂÓ¤ËÉà¤Èû·õ¤òº¹¤·¡¤¤À¤ì¤â¤¬Á餻¤®¤¹¤Ç¡¤´é¤ËÁϺ¯¤¬¤¢¤ê¡¤ ! Ìܤ¬±Ô¤¯¡¤¶ÚÆù¼Á¤Îí¼¡¤¤½¤·¤Æ¤½¤í¤Ã¤Æ²ÉÌÛ¤À¤Ã¤¿¡¥ ! Èà¤é¤Ï¤¤¤¦¤Ê¤ì¤ÐÌîÀ­¤ÎÃˤÀ¤¬¡¤¤·¤«¤·¡¤¥­¥ó¥á¥ê¥¢¿Í¤È¤Î¤¢¤¤¤À¤Ë ! ¤Ï¡¤Å·ÃϤۤɤηü³Ö¤¬¤¢¤Ã¤¿¡¥Èà¤é¤Ï¤â¤È¤â¤ÈʸÌÀ¤Î»Ò¤Ç¤¢¤ë¤¬¡¤À¸ ! ¤­¤Æ¤æ¤¯É¬Íפ«¤é¡¤È¾¤ÐÈÚ²¤Î¾õÂÖ¤ËÉüµ¢¤·¤Æ¤¤¤¿¤Î¤À¤¬¡¤¥³¥Ê¥ó¤Ï ! ¤½¤ì¤ËÈ¿¤·¤Æ¡¤¿ôÀéǯ¤Î¤¢¤¤¤À¡¤ÌîÀ­¤Î·ì¤òÊѤ¨¤ë¤³¤È¤Ê¤¯ÅÁ¤¨¤Æ¤­ ! ¤¿ÈÚ²Ãæ¤ÎÈÚ²¤À¤Ã¤¿¡¥¥¢¥­¥í¥Ë¥¢¤Î»³Ãˤ¿¤Á¤Ï¡¤ÃÃÎý¤Ë¤è¤Ã¤ÆǦ¤Ó ! ¤Î½Ñ¤ò½¬ÆÀ¤·¤¿¤Î¤À¤¬¡¤¥³¥Ê¥ó¤Ï¤½¤ì¤ò¿È¤ËÉÕ¤±¤ÆÀ¸¤Þ¤ì¤Æ¤­¤Æ¡¤Æ° ! ¤­¤Ë̵Â̤¬¤Ê¤¤¤À¤±¤Ç¤â¡¤Èà¤é¤ò¤Ï¤ë¤«¤ËÎ˲路¤Æ¤¤¤¿¡¥Èà¤é¤¬Ïµ¤Ç ! ¤¢¤ë¤È¤¹¤ì¤Ð¡¤¥³¥Ê¥ó¤ÏÌԸפǤ¢¤Ã¤¿¡¥ [ Conan - The Warrior, by Robert E. Howard ] + [ ¥³¥Ê¥ó¤È¸ÅÂ岦¹ñ¤ÎÈëÊõ, ±§ÌîÍøÂÙÌõ, Áϸµ¿äÍýʸ¸Ë ] + ɦ¤Î¤¢¤ë°­Ëâ barbed devil ! # Barbed devils lack any real special abilities, though they ! # are quite difficult to kill. ! ɦ¤Î¤¢¤ë°­Ëâ¤Ë¤ÏÆüìǽÎϤ¬Á´¤¯¤Ê¤¤¡¥¤·¤«¤·Åݤ¹¤Î¤ÏÈó¾ï¤Ëº¤Æñ ! ¤Ç¤¢¤ë¡¥ ! *¤³¤¦¤â¤ê *bat A bat, flitting in the darkness outside, took the wrong turn as it made its nightly rounds and came in through the window *************** *** 208,227 **** proverb, and I will show you something that ought to be in some kind of a home. [ A Pelican at Blandings, by P. G. Wodehouse ] *bee ! This giant variety of its useful normal cousin normally ! appears in small groups, looking for raw material to produce ! the royal jelly needed to feed their queen. On rare ! occasions, one may stumble upon a bee-hive, in which the ! queen bee is being well provided for, and guarded against ! intruders. *beetle ! The common name for the insects with wings shaped like ! shields (_Coleoptera_), one of the ten sub-species into ! which the insects are divided. They are characterized by ! the shields (the front pair of wings) under which the back ! wings are folded. [ Van Dale's Groot Woordenboek der Nederlandse Taal ] bell of opening "A bell, book and candle job." The Bursar sighed. "We tried that, Archchancellor." --- 361,391 ---- proverb, and I will show you something that ought to be in some kind of a home. [ A Pelican at Blandings, by P. G. Wodehouse ] + *˪ *bee ! # This giant variety of its useful normal cousin normally ! # appears in small groups, looking for raw material to produce ! # the royal jelly needed to feed their queen. On rare ! # occasions, one may stumble upon a bee-hive, in which the ! # queen bee is being well provided for, and guarded against ! # intruders. ! Í­±×¤ÊÄ̾ï¤Î˪¤Î¶á±ï¤Ë¤¢¤¿¤ë¤³¤ÎµðÂç¤ÊÍÍ¡¹¤Ê˪¤ÏÄ̾ᆴ¤µ¤Ê½¸ÃÄ ! ¤ò·ÁÀ®¤·¤Æ¸½¤ï¤ì¡¤¤½¤ì¤é¤Î½÷²¦Ëª¤Î¤¿¤á¤Ë¤«¤«¤»¤Ê¤¤¥í¥¤¥ä¥ë¥¼¥ê¡¼ ! ¤òºî¤ë¤¿¤á¤ËÀ¸¤­¤¿¿©ºà¤òõ¤·¤Æ¤¤¤ë¡¥¶Ëµ©¤Ë½÷²¦Ëª¤Ë±Â¤¬Í¿¤¨¤é ! ¤ì¤Æ¤¤¤ë˪¤ÎÁã¤Ë狼¤¬¸í¤Ã¤ÆÆþ¤ë¤È¡¤¿¯Æþ¼Ô¤ËÂФ·¤Æ½÷²¦Ëª¤Î¿È¤ò ! ¼é¤ë¡¥ ! ¥«¥Ö¥ÈÃî *beetle ! # The common name for the insects with wings shaped like ! # shields (_Coleoptera_), one of the ten sub-species into ! # which the insects are divided. They are characterized by ! # the shields (the front pair of wings) under which the back ! # wings are folded. ! ¹Ã¤Î¤è¤¦¤Ê·Á¤ò¤·¤¿±©¤ò¤â¤Äº«Ãî¤Ë¶¦Ä̤Î̾Á°(³Ø̾: Coleoptera)¡¥ ! º«Ãî¤Î10¤Î°¡¹Ë¤Î1¤Ä¡¥¤½¤ì¤é¤ÏÀޤꤿ¤Þ¤ì¤¿¸å±©¤òʤ¤¦¹Ã(ÆóËç¤Î ! Á°±©)¤¬ÆÃħ¤Ç¤¢¤ë¡¥ [ Van Dale's Groot Woordenboek der Nederlandse Taal ] + ³«Êü¤Î¥Ù¥ë bell of opening "A bell, book and candle job." The Bursar sighed. "We tried that, Archchancellor." *************** *** 237,257 **** * Old Tom was the single cracked bronze bell in the University bell tower. [ Eric, by Terry Pratchett ] blind io ! On this particular day Blind Io, by dint of constant vigilance ! the chief of the gods, sat with his chin on his hand ! and looked at the gaming board on the red marble table in ! front of him. Blind Io had got his name because, where his ! eye sockets should have been, there were nothing but two ! areas of blank skin. His eyes, of which he had an impressively ! large number, led a semi-independent life of their ! own. Several were currently hovering above the table. [ The Colour of Magic, by Terry Pratchett ] * blob ! Animated protoplasm. bone devil ! Bone devils attack with weapons and with a great hooked tail ! which causes a loss of strength to those they sting. book of the dead Faustus: Come on Mephistopheles. What shall we do? Mephistopheles: Nay, I know not. We shall be cursed with bell, --- 401,436 ---- * Old Tom was the single cracked bronze bell in the University bell tower. [ Eric, by Terry Pratchett ] + ¥Ö¥é¥¤¥ó¥É*¥¤¥ª + ÌÕÌܤΥ¤¥ª blind io ! # On this particular day Blind Io, by dint of constant vigilance ! # the chief of the gods, sat with his chin on his hand ! # and looked at the gaming board on the red marble table in ! # front of him. Blind Io had got his name because, where his ! # eye sockets should have been, there were nothing but two ! # areas of blank skin. His eyes, of which he had an impressively ! # large number, led a semi-independent life of their ! # own. Several were currently hovering above the table. ! ¤³¤ÎÆü¡¤¤¿¤æ¤ß¤Ê¤¤³ÐÀäΤª¤«¤²¤Ç¿À¡¹¤ÎĹ¤È¤Ê¤Ã¤¿¡ÈÌÕÌܤΥ¤¥ª¡É ! ¤Ï¡¤¼ê¤Ë³Ü¤ò¾è¤»¤ÆºÂ¤ê¡¤ÌܤÎÁ°¤ÎÀÖÂçÍýÀФΥơ¼¥Ö¥ë¤ËºÜ¤Ã¤¿¥²¡¼ ! ¥àÈפòį¤á¤Æ¤¤¤¿¡¥¡ÖÌÕÌܤΥ¤¥ª¤Î̾Á°¤Ï¡¤´ããݤΤ¢¤ë¤Ù¤­¤È¤³¤í¤Ë¡¤ ! ¤Î¤Ã¤Ú¤é¤Ü¤¦¤ÎÈéÉ椷¤«¤Ê¤¤¤È¤³¤í¤ËͳÍ褹¤ë¡¥¥¤¥ª¤ÎÌܤϡ¤´¶Æ°¤¹ ! ¤ë¤Û¤É¿ô¤¬Â¿¤¤¤Î¤À¤¬¡¤Ìܤ¿¤Á¤Ï¤½¤ì¼«¿È¤ÇȾ¤ÐÆÈΩ¤·¤¿À¸³è¤òÁ÷¤Ã ! ¤Æ¤¤¤¿¡¥¤½¤Î¤¦¤Á¤Î¤¤¤¯¤Ä¤«¤¬¡¤¸½ºß¡¤¥Æ¡¼¥Ö¥ë¤Î¾å¤òÉâÍ·¤·¤Æ¤¤¤ë¡¥ [ The Colour of Magic, by Terry Pratchett ] + [ ¥Ç¥£¥¹¥¯¥ï¡¼¥ë¥ÉÁûÆ°µ­¡¤°ÂÅĶÑÌõ¡¤³ÑÀîʸ¸Ë ] + *¥Ö¥í¥Ã¥Ö * blob ! # Animated protoplasm. ! ¸¶·Á¼Á¤ÎÀ¸¤­Êª¡¥ ! ¹ü¤Î°­Ëâ bone devil ! # Bone devils attack with weapons and with a great hooked tail ! # which causes a loss of strength to those they sting. ! ¹ü¤Î°­Ëâ¤ÏÉð´ï¤È¡¤Â礭¤Ê³Ã¤Î¤Ä¤¤¤¿Èø¤Ç¹¶·â¤·¤Æ¤¯¤ë¡¥¤³¤Î³Ã¤¬ ! »É¤µ¤ë¤È¡¤¶¯¤µ¤¬µÛ¤¤¼è¤é¤ì¤Æ¤·¤Þ¤¦¡¥ ! »à¼Ô¤Î½ñ book of the dead Faustus: Come on Mephistopheles. What shall we do? Mephistopheles: Nay, I know not. We shall be cursed with bell, *************** *** 262,278 **** Because it is Saint Peter's holy day. (Enter all the Friars to sing the dirge) [ Doctor Faustus and Other Plays, by Christopher Marlowe ] brigit ! Brigit (Brigid, Bride, Banfile), which means the Exalted One, ! was the Celtic (continental European and Irish) fertility ! goddess. She was originally celebrated on February first in ! the festival of Imbolc, which coincided with the beginning ! of lactation in ewes and was regarded in Scotland as the date ! on which Brigit deposed the blue-faced hag of winter. The ! Christian calendar adopted the same date for the Feast of St. ! Brigit. There is no record that a Christian saint ever ! actually existed, but in Irish mythology she became the ! midwife to the Virgin Mary. [ Encyclopedia of Gods, by Michael Jordan ] broadsword Bring me my broadsword --- 441,466 ---- Because it is Saint Peter's holy day. (Enter all the Friars to sing the dirge) [ Doctor Faustus and Other Plays, by Christopher Marlowe ] + ¥Ö¥ê¥¸¥Ã¥È brigit ! # Brigit (Brigid, Bride, Banfile), which means the Exalted One, ! # was the Celtic (continental European and Irish) fertility ! # goddess. She was originally celebrated on February first in ! # the festival of Imbolc, which coincided with the beginning ! # of lactation in ewes and was regarded in Scotland as the date ! # on which Brigit deposed the blue-faced hag of winter. The ! # Christian calendar adopted the same date for the Feast of St. ! # Brigit. There is no record that a Christian saint ever ! # actually existed, but in Irish mythology she became the ! # midwife to the Virgin Mary. ! ¥Ö¥ê¥¸¥Ã¥È(¥Ö¥ê¥¸¥Ã¥É¡¤¥Ö¥é¥¤¥É¡¤¥Ð¥ó¥Õ¥¡¥¤¥ë)¤Ï¡Ö¹âµ®¤Ê¿Í¡×¤ò ! °ÕÌ£¤¹¤ë¥±¥ë¥È²(ÂçΦ¤Î¥è¡¼¥í¥Ã¥Ñ¿Í¤ä¥¢¥¤¥ë¥é¥ó¥É¿Í)¤ÎÈîÍà¤Î½÷ ! ¿À¤Ç¤¢¤ë¡¥Èà½÷¤ÏËÜÍ裲·î£±Æü¤Ë¤Î¥¤¥ó¥Ü¥ë¥¯º×¤Ç½ËÊ¡¤µ¤ì¤ë¡¥º×¤Ï ! »óÍӤμøÆý¤Î¤Ï¤¸¤Þ¤ê¤È¤µ¤ì¤Æ¤ª¤ê¡¤¥¹¥³¥Ã¥È¥é¥ó¥É¤Ç¤Ï¡¤±¢Ýµ¤ÊÅß ! ¤ÎËâ½÷¤òÂऱ¤ëÆü¤È¤â¤µ¤ì¤Æ¤¤¤ë¡¥¥­¥ê¥¹¥È¶µ¤ÎÎñ¤âƱ¤¸Æü¤òÀ»¥Ö¥ê ! ¥¸¥Ã¥È¤Î½ËÆü¤È¤·¤Æ¤¤¤ë¡¥¥¢¥¤¥ë¥é¥ó¥É¤Ë¥­¥ê¥¹¥È¶µ¤ÎÀ»Å̤¬ËÜÅö¤Ë ! ¤¤¤¿¤È¸À¤¦µ­Ï¿¤Ï¤Ê¤¤¤¬¡¤¥¢¥¤¥ë¥é¥ó¥É¤Î¿ÀÏäǤÏÈà½÷¤ÏÀ»Êì¥Þ¥ê¥¢ ! ¤Î½õ»ºÉؤȤʤäƤ¤¤ë¡¥ [ Encyclopedia of Gods, by Michael Jordan ] broadsword Bring me my broadsword *************** *** 280,408 **** Bring me my cross of gold, As a talisman. [ "Broadsword" (refrain) by Ian Anderson ] bugbear ! Bugbears are relatives of goblins, although they tend to be ! larger and more hairy. They are aggressive carnivores and ! sometimes kill just for the treasure their victims may be ! carrying. *camaxtli ! A classical Mesoamerican Aztec god, also known as Mixcoatl- ! Camaxtli (the Cloud Serpent), Camaxtli is the god of war. He ! is also a diety of hunting and fire who received human ! sacrifice of captured prisoners. According to tradition, the ! sun god Tezcatlipoca transformed himself into Mixcoatl-Camaxtli ! to make fire by twirling the sacred fire sticks. [ Encyclopedia of Gods, by Michael Jordan ] s*d*g*r* cat ! Imagine a sealed container, so perfectly constructed that no ! physical influence can pass either inwards or outwards across its ! walls. Imagine that inside the container is a cat, and also a ! device that can be triggered by some quantum event. If that event ! takes place, then the device smashes a phial containing cyanide and ! the cat is killed. If the event does not take place, the cat lives ! on. In Schroedinger's original version, the quantum event was the ! decay of a radioactive atom. ... To the outside observer, the cat ! is indeed in a linear combination of being alive and dead, and only ! when the container is finally opened would the cat's state vector ! collapse into one or the other. On the other hand, to a (suitably ! protected) observer inside the container, the cat's state-vector ! would have collapsed much earlier, and the outside observer's ! linear combination has no relevance. ! [ The Emperor's New Mind, by Roger Penrose ] *cat kitten ! Well-known quadruped domestic animal from the family of ! predatory felines (_Felis ochreata domestica_), with a thick, ! soft pelt; often kept as a pet. Various folklores have the ! cat associated with magic and the gods of ancient Egypt. *centaur ! Of all the monsters put together by the Greek imagination ! the Centaurs (Kentauroi) constituted a class in themselves. ! Despite a strong streak of sensuality, in their make-up, ! their normal behaviour was moral, and they took a kindly ! thought of man's welfare. The attempted outrage of Nessos on ! Deianeira, and that of the whole tribe of Centaurs on the ! Lapith women, are more than offset by the hospitality of ! Pholos and by the wisdom of Cheiron, physician, prophet, ! lyrist, and the instructor of Achilles. Further, the ! Centaurs were peculiar in that their nature, which united the ! body of a horse with the trunk and head of a man, involved ! an unthinkable duplication of vital organs and important ! members. So grotesque a combination seems almost un-Greek. ! These strange creatures were said to live in the caves and ! clefts of the mountains, myths associating them especially ! with the hills of Thessaly and the range of Erymanthos. [ Mythology of all races, Vol. 1, pp. 270-271 ] cerberus kerberos ! Cerberus, (or Kerberos in Greek), was the three-headed dog ! that guarded the Gates of Hell. He allowed any dead to enter, ! and likewise prevented them all from ever leaving. He was ! bested only twice: once when Orpheus put him to sleep by ! playing bewitching music on his lyre, and the other time when ! Hercules confronted him and took him to the world of the ! living (as his twelfth and last labor). chameleon ! Name of a family (_Chameleonidae_) and race (_Chameleo_) of ! scaly lizards, especially the _Chameleo vulgaris_ species, ! with a short neck, claws, a grasping tail, a long, extendible ! tongue and mutually independent moving eyes. When it is ! scared or angry, it inflates itself and its transparent skin ! shows its blood: the skin first appears greenish, then ! gradually changes color until it is a spotted red. The final ! color depends on the background color as well, hence the ! (figurative) implication of unreliability. [Capitalized:] ! a constellation of the southern hemisphere (Chameleo). [ Van Dale's Groot Woordenboek der Nederlandse Taal ] charo*n ! When an ancient Greek died, his soul went to the nether world: ! the Hades. To reach the nether world, the souls had to cross ! the river Styx, the river that separated the living from the ! dead. The Styx could be crossed by ferry, whose shabby ferry- ! man, advanced in age, was called Charon. The deceased's next- ! of-kin would place a coin under his tongue, to pay the ferry- ! man. chih*sung*tzu ! A Chinese rain god. chromatic dragon tiamat ! Tiamat is said to be the mother of evil dragonkind. She is ! extremely vain. cockatrice ! Once in a great while, when the positions of the stars are ! just right, a seven-year-old rooster will lay an egg. Then, ! along will come a snake, to coil around the egg, or a toad, ! to squat upon the egg, keeping it warm and helping it to ! hatch. When it hatches, out comes a creature called basilisk, ! or cockatrice, the most deadly of all creatures. A single ! glance from its yellow, piercing toad's eyes will kill both ! man and beast. Its power of destruction is said to be so ! great that sometimes simply to hear its hiss can prove fatal. ! Its breath is so venomous that it causes all vegetation ! to wither. ! ! There is, however, one creature which can withstand the ! basilisk's deadly gaze, and this is the weasel. No one knows ! why this is so, but although the fierce weasel can slay the ! basilisk, it will itself be killed in the struggle. Perhaps ! the weasel knows the basilisk's fatal weakness: if it ever ! sees its own reflection in a mirror it will perish instantly. ! But even a dead basilisk is dangerous, for it is said that ! merely touching its lifeless body can cause a person to ! sicken and die. ! [ Mythical Beasts by Deirdre Headon (The Leprechaun Library) ! and other sources ] cornuthaum ! He was dressed in a flowing gown with fur tippets which had ! the signs of the zodiac embroidered over it, with various ! cabalistic signs, such as triangles with eyes in them, queer ! crosses, leaves of trees, bones of birds and animals, and a ! planetarium whose stars shone like bits of looking-glass with ! the sun on them. He had a pointed hat like a dunce's cap, or ! like the headgear worn by ladies of that time, except that ! the ladies were accustomed to have a bit of veil floating ! from the top of it. ! [ The Once and Future King, by T.H. White ] "A wizard!" Dooley exclaimed, astounded. "At your service, sirs," said the wizard. "How --- 468,698 ---- Bring me my cross of gold, As a talisman. [ "Broadsword" (refrain) by Ian Anderson ] + ¥Ð¥°¥Ù¥¢ bugbear ! # Bugbears are relatives of goblins, although they tend to be ! # larger and more hairy. They are aggressive carnivores and ! # sometimes kill just for the treasure their victims may be ! # carrying. ! ¥Ð¥°¥Ù¥¢¤Ï¥´¥Ö¥ê¥ó¤Î·ì±ï¤À¤È¤¤¤ï¤ì¤Æ¤¤¤ë¤¬¡¤Âç³µ¤Î¤â¤Î¤Ï¤è¤êÂç ! ¤­¤¯ÌÓ¿¼¤¤¡¥¹¶·âŪ¤ÊÆù¿©Æ°Êª¤Ç¡¤»þ¤Ë¤ÏºâÊõ¤òÁÀ¤Ã¤Æ½±¤¤¤«¤«¤Ã¤Æ ! ¤¯¤ë¡¥ ! ¥«¥Þ¥­¥·¥È¥ê *camaxtli ! # A classical Mesoamerican Aztec god, also known as Mixcoatl- ! # Camaxtli (the Cloud Serpent), Camaxtli is the god of war. He ! # is also a diety of hunting and fire who received human ! # sacrifice of captured prisoners. According to tradition, the ! # sun god Tezcatlipoca transformed himself into Mixcoatl-Camaxtli ! # to make fire by twirling the sacred fire sticks. ! ¸ÅÂåÃæÊƤΥ¢¥¹¥Æ¥«¿Í¤ÎÀ襤¤Î¿À¡¥¥ß¥¯¥¹¥³¥ë¥«¥Þ¥­¥·¥È¥ê(±À¼Ø) ! ¤È¤·¤Æ¤â¤Þ¤¿ÃΤé¤ì¤Æ¤¤¤ë¡¥Èà¤Ï¤Þ¤¿¼ü¤ï¤ì¤¿Êáκ¤òÀ¸ìӤȤ·¤Æ¼õ¤±¤È ! ¤ë¼í¤È²Ð¤Î¾Ýħ¤Ç¤¢¤ë¡¥ÅÁÀâ¤Ë¤è¤ì¤Ð¡¤ÂÀÍۤοÀ¥Æ¥¹¥«¥ê¥È¥Ý¥«¤¬¥ß¥¯ ! ¥¹¥³¥ë¥«¥Þ¥­¥·¥È¥ê¤ËÊѿȤ·À»¤Ê¤ë²Ð¤Î¾ó¤ò¿¶¤ê¤Þ¤ï¤·²Ð¤òºî¤Ã¤¿¤È¤µ ! ¤ì¤Æ¤¤¤ë¡¥ [ Encyclopedia of Gods, by Michael Jordan ] + ¥·¥å¥ì¥Ç¥£¥ó¥¬¡¼* s*d*g*r* cat ! # Imagine a sealed container, so perfectly constructed that no ! # physical influence can pass either inwards or outwards across its ! # walls. Imagine that inside the container is a cat, and also a ! # device that can be triggered by some quantum event. If that event ! # takes place, then the device smashes a phial containing cyanide and ! # the cat is killed. If the event does not take place, the cat lives ! # on. In Schroedinger's original version, the quantum event was the ! # decay of a radioactive atom. ... To the outside observer, the cat ! # is indeed in a linear combination of being alive and dead, and only ! # when the container is finally opened would the cat's state vector ! # collapse into one or the other. On the other hand, to a (suitably ! # protected) observer inside the container, the cat's state-vector ! # would have collapsed much earlier, and the outside observer's ! # linear combination has no relevance. ! ´°Á´¤Ëºî¤é¤ì¤Æ¤¤¤«¤Ê¤ë±Æ¶Á¤â¤½¤ÎÊɤò±Û¤¨¤Æ½ÐÆþ¤ê¤Ç¤­¤Ê¤¤¡¤Ì©ÊĤµ ! ¤ì¤¿ÍÆ´ï¤òÁÛÁü¤·¤è¤¦¡¥ÍÆ´ï¤ÎÃæ¤Ë¤ÏÇ­¤¬ÊĤ¸¹þ¤á¤é¤ì¤Æ¤ª¤ê¡¤¤Þ¤¿²¿¤é ! ¤«¤ÎÎ̻һö¾Ý¤Ë¿¨È¯¤µ¤ì¤Æµ¯Æ°¤¹¤ëÁõÃÖ¤â¼ý¤á¤é¤ì¤Æ¤¤¤ë¡¥¤½¤Î»ö¾Ý¤¬µ¯ ! ¤­¤ë¤È¡¤ÁõÃÖ¤¬Æ¯¤¤¤ÆÀÄ»À¤òÆþ¤ì¤¿¾®ÉÓ¤¬³ä¤ì¤ÆÇ­¤Ï»à¤Ì¡¥¤â¤·¡¤»ö¾Ý¤¬ ! µ¯¤³¤é¤Ê¤±¤ì¤Ð¡¤Ç­¤ÏÀ¸¤­Â³¤±¤ë¡¥¥·¥å¥ì¡¼¥Ç¥£¥ó¥¬¡¼¤ÎºÇ½é¤Î°Æ¤Ç¤Ï¡¤ ! ÎÌ»ÒŪ»ö¾Ý¤ÏÊü¼ÍÀ­¸¶»Ò¤ÎÊø²ò¤Ç¤¢¤Ã¤¿¡¥ ! ¡¥¡¥¡¥¡¥ ! ³°Éô¤Î´Ñ¬¼Ô¤Ë¤Ï¡¤Ç­¤Ï³Î¤«¤Ë¡¤À¸¤È»à¤ÎÀþ·¿·ë¹ç¤Ç¤¢¤ê¡¤ºÇ¸å¤ËÍƴ郎 ! ³«¤«¤ì¤¿¤È¤­¤Ë¤Ï¤¸¤á¤Æ¡¤Ç­¤Î¾õÂ֤Υ٥¯¥È¥ë¤ÏÊø²ò¤·¤Æ¤É¤Á¤é¤«°ìÊý¤Î ! ¾õÂ֤ˤʤ롥¤³¤ì¤ËÂФ·¤Æ¡¤ÍÆ´ïÆâÉô¤Î(ŬÅö¤ÊËɸæ¤ò»Ü¤·¤¿)´Ñ¬¼Ô¤Ë ! ¤È¤Ã¤Æ¸«¤ì¤Ð¡¤Ç­¤Î¾õÂÖ¥Ù¥¯¥È¥ë¤Ï¤â¤Ã¤ÈÁ᤯Êø²ò¤·¤Æ¤·¤Þ¤¤¡¤³°Éô¤Î ! ´Ñ¬¼Ô¤È¤ÎÀþ·¿·ë¹ç¤Ï°ÕÌ£¤¬¤Ê¤¯¤Ê¤ë¡¥ ! [ The Emperor's New Mind, by Roger Penrose ] ! [ ¹ÄÄë¤Î¿·¤·¤¤¿´¡¤ÎÓ °ìÌõ¡¤¤ß¤¹¤º½ñ˼ ] ! *Ç­ *cat kitten ! # Well-known quadruped domestic animal from the family of ! # predatory felines (_Felis ochreata domestica_), with a thick, ! # soft pelt; often kept as a pet. Various folklores have the ! # cat associated with magic and the gods of ancient Egypt. ! ¤è¤¯ÃΤé¤ì¤¿Æù¿©¤Î¥Í¥³²Ê¤Î»Í­ưʪ(³Ø̾: Felis ochreata ! domestica)¡¤¸ü¤¯½À¤é¤«¤¤ÌÓÈé¤ò»ý¤Á¡¤¤è¤¯¥Ú¥Ã¥È¤È¤·¤Æ»ô¤ï¤ì¤ë¡¥ ! ¿¤¯¤ÎÅÁ¾µ¤¬ËâË¡¤ä¸ÅÂ奨¥¸¥×¥È¤Î¿À¤Ë´ØÏ¢¤Å¤±¤Æ¥Í¥³¤ò¤È¤ê¤¢¤²¤Æ ! ¤¤¤ë¡¥ ! *¥±¥ó¥¿¥¦¥í¥¹ *centaur ! # Of all the monsters put together by the Greek imagination ! # the Centaurs (Kentauroi) constituted a class in themselves. ! # Despite a strong streak of sensuality, in their make-up, ! # their normal behaviour was moral, and they took a kindly ! # thought of man's welfare. The attempted outrage of Nessos on ! # Deianeira, and that of the whole tribe of Centaurs on the ! # Lapith women, are more than offset by the hospitality of ! # Pholos and by the wisdom of Cheiron, physician, prophet, ! # lyrist, and the instructor of Achilles. Further, the ! # Centaurs were peculiar in that their nature, which united the ! # body of a horse with the trunk and head of a man, involved ! # an unthinkable duplication of vital organs and important ! # members. So grotesque a combination seems almost un-Greek. ! # These strange creatures were said to live in the caves and ! # clefts of the mountains, myths associating them especially ! # with the hills of Thessaly and the range of Erymanthos. ! ¥®¥ê¥·¥ã¿Í¤ÎÁÛÁü¤·¤¿¥±¥ó¥¿¥¦¥í¥¹¤Ï¤½¤ì¼«¿È£±¤Ä¤Î¥¯¥é¥¹¤ò¹½À®¤¹ ! ¤ë¡¥¤«¤Ê¤ê¤Î¹¥¿§µ¤¼Á¤Ë¤â¤«¤«¤ï¤é¤º¡¤ÉáÃʤΤդë¤Þ¤¤¤ÏÆ»ÆÁŪ¤Ç¡¤ ! ¿Í´Ö¤Ë¤Ï¿ÆÀڤǤ¢¤ë¡¥ ! ¥Í¥Ã¥½¥¹¤Î¥À¥¤¥¢¥Í¥¤¥é¤Ø¤ÎÈóÆ»¤Ê̤¿ë¹Ô°Ù¡¤¥é¥Ô¥¿¥¤¤Î²Ö²Ç¤Ç¤ÎÁ´ ! ¤Æ¤Î¥±¥ó¥¿¥¦¥í¥¹Â²¤ÎÈóÆ»¹Ô°Ù¤Ï¡¤¥Õ¥©¥í¥¹¤ÎÂÔ¶ø¤ä¡¤¥±¥¤¥í¥ó¤ÎÃÒ ! ·Ã¡¤°å»Õ¡¤Í½¸À¼Ô¡¤½ö¾ð»í¿Í¡¤¥¢¥­¥ê¥¹¤Î»ØƳ¼Ô¤ÇËä¤á¹ç¤»¤Æ¤¢¤Þ¤ë ! ¤¯¤é¤¤¤Ç¤¢¤ë¡¥¤µ¤é¤Ë¡¤ÇϤÎÂΤ˿ʹ֤ÎƹÂΤÈƬ¤«¤é¤Ê¤ë¥±¥ó¥¿¥¦¥í ! ¥¹¤ÏÆÈÆäÎÁÛÁü¤â¤Ç¤­¤Ê¤¤Æó½Å¤ÎÀ¸Ì¿´ï´±¤È¤­¤ï¤á¤Æ½ÅÍפÊÃ˺¬¤òɬ ! ÍפȤ¹¤ëÆÃÍ­¤ÎÀ¸³è¤ò¤·¤Æ¤¤¤ë¡¥¤½¤Î¥°¥í¥Æ¥¹¥¯¤Ê¸ò¹ç¤Ï¥®¥ê¥·¥¢¤Ã ! ¤Ý¤¯¤Ê¤¤¡¥¤³¤Î´ñ̯¤ÊÀ¸¤­Êª¤Ïƶ·¢¤ä»³ÃϤÎÃdz³¤ËÀ¡¤ó¤Ç¤¤¤ë¤È¸À¤ï ! ¤ì¡¤¿ÀÏäÏÆä˥ƥµ¥ê¡¼¤ÎµÖ¤ä¥¨¥ê¥Þ¥ó¥½¥¹»³Ì®¤Ê¤É¤Ë·ë¤Ó¤Ä¤±¤Æ¤¤ ! ¤ë¡¥ [ Mythology of all races, Vol. 1, pp. 270-271 ] + ¥±¥ë¥Ù¥í¥¹ cerberus kerberos ! # Cerberus, (or Kerberos in Greek), was the three-headed dog ! # that guarded the Gates of Hell. He allowed any dead to enter, ! # and likewise prevented them all from ever leaving. He was ! # bested only twice: once when Orpheus put him to sleep by ! # playing bewitching music on his lyre, and the other time when ! # Hercules confronted him and took him to the world of the ! # living (as his twelfth and last labor). ! ¥±¥ë¥Ù¥í¥¹¤Ï£³¤Ä¤ÎƬ¤ò»ý¤ÄÃϹö¤ÎÌç¤ÎÈÖ¸¤¤À¡¥»à¼Ô¤òÄ̤¹¤¬ÆóÅÙ¤È ! Ìá¤é¤»¤ë¤³¤È¤Ï¤Ê¤¤¡¥¤·¤«¤·¤¿¤Ã¤¿¤Î£²ÅÙ¤À¤±Èà¤ÏñÙ¤µ¤ì¤¿¤³¤È¤¬¤¢ ! ¤ë¡§¡¡°ìÅ٤ϥª¥ë¥Õ¥§¥¦¥¹¤¬¤½¤Îè¶×¤ÇÁդǤëÈþ¤·¤¤²»³Ú¤Ç̲¤é¤»¤Æ¡¤ ! ¤Þ¤¿°ìÅ٤ϥإ饯¥ì¥¹¤¬Èà¤Î£±£²ÈÖ¤á¤Î(¤½¤·¤ÆºÇ¸å¤Î)»îÎý¤È¤·¤Æ ! À¸¼Ô¤ÎÀ¤³¦¤ËÏ¢¤ì½Ð¤·¤¿»þ¤Ç¤¢¤ë¡¥ ! ¥«¥á¥ì¥ª¥ó chameleon ! # Name of a family (_Chameleonidae_) and race (_Chameleo_) of ! # scaly lizards, especially the _Chameleo vulgaris_ species, ! # with a short neck, claws, a grasping tail, a long, extendible ! # tongue and mutually independent moving eyes. When it is ! # scared or angry, it inflates itself and its transparent skin ! # shows its blood: the skin first appears greenish, then ! # gradually changes color until it is a spotted red. The final ! # color depends on the background color as well, hence the ! # (figurative) implication of unreliability. [Capitalized:] ! # a constellation of the southern hemisphere (Chameleo). ! ²Ê¤Î̾Á°(Chameleonidae)¤ª¤è¤Ó¤¦¤í¤³¥È¥«¥²¤Î¼ï¤Î̾Á°(Chameleo)¡¥ ! û¤¤¼ó¡¤¥Ä¥á¡¤ÄϤá¤ë¿¬Èø¡¤Ä¹¤¯¡¤¿­½Ì²Äǽ¤Ê²¼¡¤ÊÌ¡¹¤ËÆ°¤«¤»¤ëÌÜ ! ¤ò¤â¤Ä Cameleo vulgrais¤Î¼ï¤òº¹¤¹¡¥¶±¤¨¤¿¤êÅܤ俤ꤹ¤ë¤È¡¤¤Õ¤¯ ! ¤é¤ß¡¤Æ©ÌÀ¤ÊÈé¤òÄ̤·¤Æ·ì¤¬¸«¤¨¤ë¡¥ÈéÉæ¤ÏºÇ½éÎФǤ¢¤ë¤¬¡¤¼¡Âè¤Ë ! ÀÖ¤¤ÈÃÅÀ¤Ë¤Ê¤ë¤Þ¤Ç¿§¤¬ÊѲ½¤¹¤ë¡¥ºÇ¸å¤Ë¤Ï¿§¤ÏÇطʤΤ褦¤Ë¤Ê¤ê¡¤ ! ¤½¤ì¤æ¤¨(ÈæÓÈŪ¤Ë)¿®Íê¤Ç¤­¤Ê¤¤¤ä¤Ä¤Î°ÕÌ£¤Ë»È¤ï¤ì¤ë¡¥Æî¤ÎȾµå¤Î ! À±ºÂ(¥«¥á¥ì¥ª¥óºÂ)¡¥ [ Van Dale's Groot Woordenboek der Nederlandse Taal ] + ¥«¥í¥ó charo*n ! # When an ancient Greek died, his soul went to the nether world: ! # the Hades. To reach the nether world, the souls had to cross ! # the river Styx, the river that separated the living from the ! # dead. The Styx could be crossed by ferry, whose shabby ferry- ! # man, advanced in age, was called Charon. The deceased's next- ! # of-kin would place a coin under his tongue, to pay the ferry- ! # man. ! ¸ÅÂ奮¥ê¥·¥ã¿Í¤¬»à¤Ì¤È¡¤¤½¤Îº²¤ÏÃϲ¼¤ÎÀ¤³¦¤¹¤Ê¤ï¤Á̽³¦¤Ø¹Ô¤Ã¤¿¡¥ ! º²¤¬Ì½³¦¤Ø¤È¤¿¤É¤êÃ夯¤Ë¤Ï¡¤À¸¼Ô¤È»à¼Ô¤È¤òʬ¤«¤Ä¥¹¥Æ¥å¥¯¥¹Àî¤ò ! ÅϤé¤Í¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿¡¥¥¹¥Æ¥å¥¯¥¹Àî¤ÏÅϤ·Á¥¤ÇÅϤ뤳¤È¤¬¤Ç¤­¡¤Á¥ ! ¤ÎǯϷ¤¤¤¿¤ß¤¹¤Ü¤é¤·¤¤ÅϤ·¼é¤Ï¥«¥í¥ó¤È¸Æ¤Ð¤ì¤¿¡¥¿Í¤¬»à¤Ì¤È¤½¤Î ! ²È²¤Ï¡¤ÅϤ·¼é¤ËÅϤ·Ä¤òʧ¤¨¤ë¤è¤¦¤Ë¤È¡¤»à¼Ô¤ÎÀå¤Î²¼¤Ë¹Å²ß¤òÆþ ! ¤ì¤¿¡¥ ! ÀÖ¾¾»Ò chih*sung*tzu ! # A Chinese rain god. ! Ãæ¹ñ¤Î±«¤Î¿À¡¥ ! ¥¯¥í¥Þ¥Æ¥£¥Ã¥¯*¥É¥é¥´¥ó ! ¥Æ¥£¥¢¥Þ¥Ã¥È chromatic dragon tiamat ! # Tiamat is said to be the mother of evil dragonkind. She is ! # extremely vain. ! ¥Æ¥£¥¢¥Þ¥Ã¥È¤Ï¼Ù°­¤Ê¥É¥é¥´¥ó¤ÎÊì¤È¤¤¤ï¤ì¤Æ¤¤¤ë¡¥Èà½÷¤Ï¤È¤Æ¤â ! µõ±É¿´¤¬¶¯¤¤¡¥ ! ¥³¥«¥È¥ê¥¹ cockatrice ! # Once in a great while, when the positions of the stars are ! # just right, a seven-year-old rooster will lay an egg. Then, ! # along will come a snake, to coil around the egg, or a toad, ! # to squat upon the egg, keeping it warm and helping it to ! # hatch. When it hatches, out comes a creature called basilisk, ! # or cockatrice, the most deadly of all creatures. A single ! # glance from its yellow, piercing toad's eyes will kill both ! # man and beast. Its power of destruction is said to be so ! # great that sometimes simply to hear its hiss can prove fatal. ! # Its breath is so venomous that it causes all vegetation ! # to wither. ! # ! # There is, however, one creature which can withstand the ! # basilisk's deadly gaze, and this is the weasel. No one knows ! # why this is so, but although the fierce weasel can slay the ! # basilisk, it will itself be killed in the struggle. Perhaps ! # the weasel knows the basilisk's fatal weakness: if it ever ! # sees its own reflection in a mirror it will perish instantly. ! # But even a dead basilisk is dangerous, for it is said that ! # merely touching its lifeless body can cause a person to ! # sicken and die. ! # [ Mythical Beasts by Deirdre Headon (The Leprechaun Library) ! # and other sources ] ! ²¿É´Ç¯¤Ë°ìÅÙ¡¤À±¡¹¤Î°ÌÃÖ¤¬Àµ¤·¤¤°ÌÃ֤ˤ¢¤ë¤È¤­¡¤7ºÐ¤ÎͺĻ¤¬Íñ ! ¤ò»º¤à¡¥¤½¤·¤Æ¡¤¼Ø¤¬¤ä¤Ã¤Æ¤­¤ÆÍñ¤Ë´¬¤­¤Ä¤¤¤¿¤ê¡¤¥Ò¥­¥¬¥¨¥ë¤¬ ! Íñ¤Î¾å¤Ë¾è¤Ã¤¿¤ê¤·¤Æ²¹¤á¡¤ÕÛ²½¤¹¤ë¤Î¤ò¼êÅÁ¤¦¡¥¤½¤ì¤¬ÕÛ²½¤·¤¿ ! ¤È¤­¡¤½Ð¤Æ¤­¤¿À¸¤­Êª¤ò¥Ð¥¸¥ê¥¹¥¯¤È¤«¥³¥«¥È¥ê¥¹¤È¤«¸Æ¤Ö¡¥ºÇ¤â ! ´í¸±¤ÊÀ¸¤­Êª¤Ç¤¢¤ë¡¥¤½¤Î²«¿§¤¤Åà¤Æ¤Ä¤¯¤è¤¦¤Ê¥Ò¥­¥¬¥¨¥ë¤ÎÌܤò ! ¤Á¤é¤ê¤È¸«¤ë¤³¤È¤Ï¡¤¿Í´Ö¤È½Ã¤ÎξÊý¤Ë»à¤ò¤â¤¿¤é¤¹¡¥¤½¤ÎÇ˲õ¤Î ! ÎϤϡ¤¶¯ÎϤ¹¤®¤ë¤Î¤Ç¡¤»þ¡¹¤½¤Î¥·¡¼¥Ã¤È¸À¤¦À¼¤òʹ¤¯¤À¤±¤Ç»à¤Ê ! ¤ë¤³¤È¤¬¤¢¤ë¤È¸À¤¦¡¥¸À¤ï¤ì¤Æ¤¤¤ë¡¥¤½¤Î©¤ÏÌÔÆǤǡ¤Á´¤Æ¤Î¿¢Êª ! ¤ò¸Ï¤é¤¹¡¥ ! ! ¤·¤«¤·¤Ê¤¬¤é¡¤¥Ð¥¸¥ê¥¹¥¯¤Î»à¤Î⾤ߤËÀ䤨¤ë¤³¤È¤¬¤Ç¤­¤ë¤¢¤ë¼ï ! ¤ÎÀ¸¤­Êª¤¬¤¤¤ë¡¥¤³¤ì¤Ï¥¤¥¿¥Á¤Ç¤¢¤ë¡¥Ã¯¤â²¿¸Î¤½¤¦¤¤¤¦¤³¤È¤Ê¤Î ! ¤«ÃΤé¤Ê¤¤¤¬¡¤¶¤Ë½¤Ê¥¤¥¿¥Á¤Ï¥Ð¥¸¥ê¥¹¥¯¤ò»¦¤¹¤³¤È¤¬¤Ç¤­¤ë¡¥¥Ð ! ¥¸¥ê¥¹¥¯¤Ï¤â¤¬¤­¤Ê¤¬¤é»à¤ó¤Ç¤¤¤¯¡¥¤³¤Î¤è¤¦¤Ë¥¤¥¿¥Á¤Ï¥Ð¥¸¥ê¥¹ ! ¥¯¤òÉλà¤Ë¤¹¤ë¤â¤Î¤È¤·¤ÆÃΤé¤ì¤Æ¤¤¤ë¡¥¤â¤·¤½¤ì¤¬¸«¤Æ¤¤¤ë¤Ê¤é¡¤ ! ¶À¤Ç¤½¤Î»Ñ¤òÈ¿¼Í¤µ¤»¤ë¤³¤È¤Ë¤è¤êľ¤Á¤Ë»à¤ò¤â¤¿¤é¤¹¤³¤È¤À¤í¤¦¡¥ ! ¤·¤«¤·»à¤ó¤À¥Ð¥¸¥ê¥¹¥¯¤â¤Þ¤¿´í¸±¤Ç¤¢¤ë¡¥¤½¤ÎÀ¸Ì¿¤Î¤Ê¤¤ÂΤˤµ ! ¤ï¤ë¤ë¤³¤È¤Ï¡¤¤¿¤Þ¤Ë¿Í´Ö¤òɵ¤¤ä»à¤ò¤â¤¿¤é¤¹¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥ ! [ ¿ÀÏäÎÀ¸Êª, Deirede Headon(¥ì¥×¥ì¥³¡¼¥ó¿Þ½ñ) ] ! ¤È¤ó¤¬¤ê˹»Ò cornuthaum ! # He was dressed in a flowing gown with fur tippets which had ! # the signs of the zodiac embroidered over it, with various ! # cabalistic signs, such as triangles with eyes in them, queer ! # crosses, leaves of trees, bones of birds and animals, and a ! # planetarium whose stars shone like bits of looking-glass with ! # the sun on them. He had a pointed hat like a dunce's cap, or ! # like the headgear worn by ladies of that time, except that ! # the ladies were accustomed to have a bit of veil floating ! # from the top of it. ! # [ The Once and Future King, by T.H. White ] ! Ãˤοͤϡ¤ÌÓÈé¤Î¸ª°á¤Î¤Ä¤¤¤¿Î®¤ì¤ë¤è¤¦¤ÊŤ¤¥¬¥¦¥ó¤òÃå¤Æ¤¤¤¿¡¥ ! ¥¬¥¦¥ó¤Ë¤Ï°ìÌ̤ˡ¤½½ÆóµÜÀ±ºÂ¤Î¥µ¥¤¥ó¤¬»É½«¤·¤Æ¤¢¤ë¡¥¤½¤Î¤Û¤«¤Ë¡¤ ! »°³Ñ¤Ç°Ï¤ó¤ÀÌ̤ܶä¤é¡¤Ì¯¤Á¤¯¤ê¤ó¤Ê½½»ú²Í¤ä¤é¡¤ÌÚ¤ÎÍդ䡤Ļ¤ä¤± ! ¤â¤Î¤Î¹ü¡¤ÂÀÍÛ¤ò¤¦¤±¤¿¶À¤ÎÇËÊÒ¤µ¤Ê¤¬¤é¤Ë¤­¤é¤­¤é¸÷¤ëÀ±ºÂ¿Þ¤Ê¤É ! ¤Î¡¤¤µ¤Þ¤¶¤Þ¤ÊÈ붵Ū¤Ê¿ÞÊÁ¤â¤¢¤Ã¤¿¡¥Æ¬¤Ë¤Ï¡¤³Ø¹»¤Ç¤À¤á¤ÊÀ¸Å̤¬ ! ¤«¤Ö¤é¤µ¤ì¤ë¤Î¤Ë¤½¤Ã¤¯¤ê¤Ê¡¤¤È¤ó¤¬¤ê˹»Ò¤ò¤«¤Ö¤Ã¤Æ¤¤¤ë¡¥¤½¤Î¤³ ! ¤í¤Îµ®ÉؿͤΤ«¤Ö¤ê¤â¤Î¤Î¤è¤¦¤Ç¤â¤¢¤ë¤¬¡¤µ®Éؿͤʤ顤¤Æ¤Ã¤Ú¤ó¤« ! ¤é¥ô¥§¡¼¥ë¤ò¤Ê¤Ó¤«¤»¤Æ¤¤¤ë¤È¤³¤í¡¥ ! [ The Once and Future King, by T.H. White ] ! [ ±Ê±ó¤Î²¦, ¿¹²¼µÝ»ÒÌõ, Áϸµ¿äÍýʸ¸Ë] ! # ±Ê±ó¤Î²¦----¥¢¡¼¥µ¡¼¤Î½ñ---- ¾å, T¡¦H¡¦¥Û¥ï¥¤¥È, ! # ¿¹²¼µÝ»ÒÌõ, Áϸµ¿äÍýʸ¸Ë, 1992, p.47 "A wizard!" Dooley exclaimed, astounded. "At your service, sirs," said the wizard. "How *************** *** 411,538 **** pretty much that, tall and cone-shaped with stars and crescent moons all over it. All in all, it couldn't have been more wizardish. ! [ The Elfin Ship, James P. Blaylock ] couatl ! A mythical feathered serpent. The couatl are very rare. cram* ! If you want to know what cram is, I can only say that I don't ! know the recipe; but it is biscuitish, keeps good indefinitely, ! is supposed to be sustaining, and is certainly not entertaining, ! being in fact very uninteresting except as a chewing ! exercise. It was made by the Lake-men for long journeys. [The Hobbit by J.R.R. Tolkien] *crocodile ! A big animal with the appearance of a lizard, constituting ! an order of the reptiles (_Loricata_ or _Crocodylia_), the ! crocodile is a large, dangerous predator native to tropical ! and subtropical climes. It spends most of its time in large ! bodies of water. croesus kroisos creosote ! Croesus (in Greek: Kroisos), the wealthy last king of Lydia; ! his empire was destroyed when he attacked Cyrus in 549, after ! the Oracle of Delphi (q.v.) had told him: "if you attack the ! Persians, you will destroy a mighty empire". Herodotus ! relates of his legendary conversation with Solon of Athens, ! who impressed upon him that being rich does not imply being ! happy and that no one should be considered fortunate before ! his death. crom ! Warily Conan scanned his surroundings, all of his senses alert ! for signs of possible danger. Off in the distance, he could ! see the familiar shapes of the Camp of the Duali tribe. ! Suddenly, the hairs on his neck stand on end as he detects the ! aura of evil magic in the air. Without thought, he readies ! his weapon, and mutters under his breath: ! "By Crom, there will be blood spilt today." ! [ Conan the Avenger by Robert E. Howard, Bjorn Nyberg, and L. Sprague de Camp ] cyclops ! And after he had milked his cattle swiftly, ! he again took hold of two of my men ! and had them as his supper. ! Then I went, with a tub of red wine, ! to stand before the Cyclops, saying: ! "A drop of wine after all this human meat, ! so you can taste the delicious wine ! that is stored in our ship, Cyclops." ! He took the tub and emptied it. ! He appreciated the priceless wine that much ! that he promptly asked me for a second tub. ! "Give it", he said, "and give me your name as well". ! ... ! Thrice I filled the tub, ! and after the wine had clouded his mind, ! I said to him, in a tone as sweet as honey: ! "You have asked my name, Cyclops? Well, ! my name is very well known. I'll give it to you, ! if you give me the gift you promised me as a guest. ! My name is Nobody. All call me thus: ! my father and my mother and my friends." ! Ruthlessly he answered to this: ! "Nobody, I will eat you last of all; ! your host of friends will completely precede you. ! That will be my present to you, my friend." ! And after these words he fell down backwards, ! restrained by the all-restrainer Hupnos. ! His monstrous neck slid into the dust; ! the red wine squirted from his throat; ! the drunk vomited lumps of human flesh. [ The Odyssey, (chapter Epsilon), by Homer ] dark one ! ... But he ruled rather by force and fear, if they might ! avail; and those who perceived his shadow spreading over the ! world called him the Dark Lord and named him the Enemy; and ! he gathered again under his government all the evil things of ! the days of Morgoth that remained on earth or beneath it, ! and the Orcs were at his command and multiplied like flies. ! Thus the Black Years began ... [ The Silmarillion, by J.R.R. Tolkien ] demogorgon ! Demogorgon, the prince of demons, wallows in filth and can ! spread a quickly fatal illness to his victims while rending ! them. He is a mighty spellcaster, and he can drain the life ! of mortals with a touch of his tail. dispater ! Dispater is an arch-devil who rules the city of Dis. He is ! a powerful mage. djinn* ! The djinn are genies from the elemental plane of Air. There, ! among their kind, they have their own societies. They are ! sometimes encountered on earth and may even be summoned here ! to perform some service for powerful wizards. The wizards ! often leave them about for later service, safely tucked away ! in a flask or lamp. Once in a while, such a tool is found by ! a lucky rogue, and some djinn are known to be so grateful ! when released that they might grant their rescuer a wish. *dog pup* ! A domestic animal, the _tame dog_ (_Canis familiaris_), of ! which numerous breeds exist. The male is called a dog, ! while the female is called a bitch. Because of its known ! loyalty to man and gentleness with children, it is the ! world's most popular domestic animal. It can easily be ! trained to perform various tasks. *dragon *xoth ! In the West the dragon was the natural enemy of man. Although ! preferring to live in bleak and desolate regions, whenever it ! was seen among men it left in its wake a trail of destruction ! and disease. Yet any attempt to slay this beast was a perilous ! undertaking. For the dragon's assailant had to contend ! not only with clouds of sulphurous fumes pouring from its fire ! breathing nostrils, but also with the thrashings of its tail, ! the most deadly part of its serpent-like body. ! [Mythical Beasts by Deirdre Headon (The Leprechaun Library)] dwarf* Dwarfs have faces like men (ugly men, with wrinkled, leathery skins), but are generally either flat-footed, duck-footed, or have feet pointing backwards. They are of the earth, earthy, living in the darkest of caverns and venturing forth only with the cloaks by which they can make themselves invisible, ! and others disguised as toads. Miners often come across them, and sometimes establish reasonably close relations with them. ... The miners of Cornwall were always delighted to hear a bucca busily mining away, for all dwarfs have an infallible --- 701,920 ---- pretty much that, tall and cone-shaped with stars and crescent moons all over it. All in all, it couldn't have been more wizardish. ! [ The Elfin Ship, James P. Blaylock ] ! ¥³¥¦¥¢¥È¥ë couatl ! # A mythical feathered serpent. The couatl are very rare. ! ¿ÀÏäDZ©¤Î¤¢¤ëÂç¼Ø¡¥¥³¥¦¥¢¥È¥ë¤Ï¤È¤Æ¤âÄÁ¤·¤¤¡¥ ! ¥¯¥é¥à ! ¤¿¤é¤Õ¤¯ cram* ! # If you want to know what cram is, I can only say that I don't ! # know the recipe; but it is biscuitish, keeps good indefinitely, ! # is supposed to be sustaining, and is certainly not entertaining, ! # being in fact very uninteresting except as a chewing ! # exercise. It was made by the Lake-men for long journeys. ! ¤¿¤é¤Õ¤¯¤¬¤É¤ó¤Ê¤â¤Î¤«¤È¤¤¤Ã¤Æ¤â¡¤¤ï¤¿¤·¤Ë¤Ïºî¤êÊý¤¬¤ï¤«¤ê¤Þ¤» ! ¤ó¡¥¤¿¤À¡¤¥Ó¥¹¥±¥Ã¥È¤Î¤è¤¦¤Ê¤â¤Î¤Ç¡¤¡Ö¤â¤Á¡×¤¬¤¿¤¤¤Ø¤ó¤è¤¤¤È¤³ ! ¤í¤«¤é¡¤Èó¾ï¿©ÎÁ¤È¤µ¤ì¤ë¤¯¤é¤¤¤Ç¡¤¤¯¤Á¤ã¤¯¤Á¤ã¤Î¤â¤Î¤ò¤«¤àÎý½¬ ! ¤Î¤¿¤á¤Ë»È¤¦¤Î¤Ç¤Ê¤±¤ì¤Ð¡¤¤È¤Ó¤Ä¤¤¤Æ¤Û¤·¤¬¤ë¤è¤¦¤Ê¤â¤Î¤Ç¤Ï¤¢¤ê ! ¤Þ¤»¤ó¡¥Ä¹¤¤Î¹¤ò¤¹¤ë¾ì¹ç¡¤¸Ð¤Î¿Í¤¿¤Á¤¬ºî¤ë¿©¤Ùʪ¤Ç¤¹¡¥ [The Hobbit by J.R.R. Tolkien] + [¥Û¥Ó¥Ã¥È¤ÎËÁ¸±¡¤´äÇȾ¯Ç¯Ê¸¸Ë¡¤À¥ÅÄÄçÆóÌõ] + ¥ï¥Ë* *crocodile ! # A big animal with the appearance of a lizard, constituting ! # an order of the reptiles (_Loricata_ or _Crocodylia_), the ! # crocodile is a large, dangerous predator native to tropical ! # and subtropical climes. It spends most of its time in large ! # bodies of water. ! ¥È¥«¥²¤Ë»÷¤¿Â礭¤Êưʪ¡¤à¨ÃîÎà(³Ø̾: Loricata ¤â¤·¤¯ Crocodylia) ! ¥ï¥Ë¤ÏÂ礭¤¯¡¤´í¸±¤ÊÇ®ÂӤ䰡ǮÂӤ˽»¤àÆù¿©Æ°Êª¤Ç¤¢¤ë¡¥¼ç¤Ë¿å ! ¤Î¤Ê¤«¤ÇÀ¸³è¤¹¤ë¡¥ ! ¥¯¥í¥¤¥½¥¹ croesus kroisos creosote ! # Croesus (in Greek: Kroisos), the wealthy last king of Lydia; ! # his empire was destroyed when he attacked Cyrus in 549, after ! # the Oracle of Delphi (q.v.) had told him: "if you attack the ! # Persians, you will destroy a mighty empire". Herodotus ! # relates of his legendary conversation with Solon of Athens, ! # who impressed upon him that being rich does not imply being ! # happy and that no one should be considered fortunate before ! # his death. ! ¥¯¥í¥¤¥½¥¹¡¤¥ê¥Ç¥£¥¢¤ÎºÇ¸å¤Î¶â»ý¤Á¤Î²¦¡¥¥Ç¥ë¥Õ¥¡¥¤¤Î¥ª¥é¥¯¥ë ! (»²¾È¤»¤è)¤¬¡Ö¤â¤·¤½¤Ê¤¿¤¬¥Ú¥ë¥·¥ã¤ò¹¶·â¤¹¤ë¤Ê¤é¤Ð¡¤¶¯ÎϤÊÄë ! ¹ñ¤òÌǤܤ¹¤Ç¤¢¤í¤¦¡×¤È½Ò¤Ù¤¿¤¢¤ÈÈब¥­¥ë¥¹¤Ë¹¶¤á¹þ¤ó¤À¤È¤­¡¤Èà ! ¤ÎÄë¹ñ¤Ï 549ǯ¤ËÌǤó¤À¡¥ ! ¥¯¥í¥à crom ! # Warily Conan scanned his surroundings, all of his senses alert ! # for signs of possible danger. Off in the distance, he could ! # see the familiar shapes of the Camp of the Duali tribe. ! # Suddenly, the hairs on his neck stand on end as he detects the ! # aura of evil magic in the air. Without thought, he readies ! # his weapon, and mutters under his breath: ! # "By Crom, there will be blood spilt today." ! # ! # [ Conan the Avenger by Robert E. Howard, Bjorn Nyberg, and ! # L. Sprague de Camp ] ! ¥¦¥©¥ê¥ê¥£=¥³¥Ê¥ó¤Ï¡¢ÊÕ¤ê¤ò¸«²ó¤·¤¿¡£Èà¤ÎÁ´¤Æ¤Î´¶³Ð¤Ï´í¸±¤ò ! ´¶¤¸¤È¤Ã¤Æ¤¤¤¿¡£Èà¤Ï¤¹¤³¤·Î¥¤ì¤¿¾ì½ê¤Ç¡¢²û¤«¤·¤¤¥Ç¥å¥¢¥ê²¤Î ! ½¸Íî¤ò¸«¤Ä¤±¤¿¡£ÆÍÁ³¡¢Èà¤Ï¼ó¤ÎÌÓ¤òºäΩ¤¿¤»¤¿¡£¼Ù°­¤ÊËâË¡¤Î¥ª ! ¡¼¥é¤ò´¶¤¸¤È¤Ã¤¿¤Î¤À¡£¤½¤Î½Ö´Ö¡¢Èà¤ÏÉð´ï¤ò¹½¤¨¤Ä¤Ö¤ä¤¤¤¿¡£ ! ¡Ö¥¯¥í¥à¤è¡¢Èà¤Î¼Ô¤Î·ì¤òÊû¤²¤è¤¦¡× [ Conan the Avenger by Robert E. Howard, Bjorn Nyberg, and L. Sprague de Camp ] + ¥µ¥¤¥¯¥í¥×¥¹ cyclops ! # And after he had milked his cattle swiftly, ! # he again took hold of two of my men ! # and had them as his supper. ! # Then I went, with a tub of red wine, ! # to stand before the Cyclops, saying: ! # "A drop of wine after all this human meat, ! # so you can taste the delicious wine ! # that is stored in our ship, Cyclops." ! # He took the tub and emptied it. ! # He appreciated the priceless wine that much ! # that he promptly asked me for a second tub. ! # "Give it", he said, "and give me your name as well". ! # ... ! # Thrice I filled the tub, ! # and after the wine had clouded his mind, ! # I said to him, in a tone as sweet as honey: ! # "You have asked my name, Cyclops? Well, ! # my name is very well known. I'll give it to you, ! # if you give me the gift you promised me as a guest. ! # My name is Nobody. All call me thus: ! # my father and my mother and my friends." ! # Ruthlessly he answered to this: ! # "Nobody, I will eat you last of all; ! # your host of friends will completely precede you. ! # That will be my present to you, my friend." ! # And after these words he fell down backwards, ! # restrained by the all-restrainer Hupnos. ! # His monstrous neck slid into the dust; ! # the red wine squirted from his throat; ! # the drunk vomited lumps of human flesh. ! ¤½¤ì¤¬¤¹¤à¤È¤á¤¤¤á¤¤¤ÎÊìÍÓ¤Ë ! ±Å»Ò¤ÎÍÓ¤ò°¸¤Æ¤¬¤Ã¤Æ¤ä¤ê¡¤¤³¤¦ÂçµÞ¤®¤Ç»Å»ö¤ò¤»¤Ã¤»¤È¤ä¤ê½ª¤ë¤È¡¤ ! ²¿¤È¤¤¤¦¤³¤È¡¤¤Þ¤¿¤â¤äÆó¿Í¤ò¤È¤ÃÄϤޤ¨¡¤Í¼¿©¤Î»ÅÅ٤˰¸¤Æ¤¿¤Î¤Ç¤·¤¿¡¥ ! ¤½¤Î¤ª¤ê¤òÂÔ¤Á¡¤»ä¤Ï¥­¥å¥¯¥í¡¼¥×¥¹¤Î´Ö¶á¤ËΩ¤Á´ó¤ê¡¤Ïä·¤«¤±¤¿¤Î¤Ç¡¤ ! ÄÕ¤ÎÌÚ¤ÎÏФò¼ê¤Ë»ý¤Á¡¤¹õ¡¹¤È¤·¤¿¤Ö¤É¤¦¼ò¤ò¤½¤ì¤ËËþ¤¿¤·¤Æ¡¥ ! ¡Ö¥­¥å¥¯¥í¡¼¥×¥¹¤µ¤ó¡¤¤µ¤¢¤ª¼ò¤ò°û¤ß¤Ê¤µ¤¤¡¤¿Í´Ö¤ÎÆù¤ò¤¢¤¬¤Ã¤¿¤Ê¤é¤Ð¡¤ ! ¤³¤ì¤³¤ÎÄ̤ê¤Î¡¤²¿¤È¤¤¤¦´Å¤¤°ûÎÁ¤ò¡¤»ä¤ÎÁ¥¤¬Â¢¤·¤Æ¤­¤¿¤«¡¤ ! ¸ç¤Ã¤Æ²¼¤µ¤ë¤è¤¦¤Ë¤â¡¥¤Þ¤¿¤ª¶¡¤¨¤Î¤ª¿À¼ò¤Þ¤Ç»ý¤Ã¤ÆÍè¤Þ¤·¤¿¡¤¤â¤·¤ä»ä¤ò ! ÉÔØâ¤Ë»×¤¤¡¤¸Î¹ñ¤ØÁ÷¤Ã¤Æ¤¯¤À¤µ¤ë¤Þ¤¤¤«¤È¡¥¤Ç¤â¤½¤Î¶¸µ¤¤Îº»ÂÁ¤Ï ! ¤È¤¦¤Æ¤¤¿ÉÊú¤Ç¤­¤Þ¤»¤ó¡¥ÈóÆ»¤¤Êý¤Ç¤¹¡¤¤É¤¦¤·¤Æº£¸å¾¿Í¤¬Ë¬¤Í¤Æ ! ¤Þ¤¤¤ê¤Þ¤·¤ç¤¦¡¤¤½¤ó¤Ê¤Ë¿¿ô¿Í¤¬¤¤¤Æ¤â¡¤¤³¤¦Æ»¤Ë³°¤ì¤Ê¤µ¤ê¤«¤¿¤Ç¤Ï¡¥¡× ! ¤³¤¦¸À¤¤¤Þ¤¹¤È¡¤µð¿Í¤Ï¼õ¤±¤È¤ê°û¤ß´³¤·¤Þ¤·¤¿¤¬¡¤°û¤ó¤À¤ª¼ò¤Î ! ´Å¤µ¤¬¤È¤Æ¤âµ¤¤ËÆþ¤Ã¤¿¤Î¤Ç¡¤¤â¤¦°ìÇսŤͤƤ¯¤ì¤ÈÀÁµá¤·¤Þ¤·¤¿¡¥ ! ¡Ö¤â¤Ã¤È¤¯¤ì¤è¡¤µ¤Á°¤è¤¯¤Ê¡¥¤½¤ì¤«¤é¤ï¤·¤Ë¤ªÁ°¤Î̾Á°¤ò¶µ¤¨¤í¡¤ ! ..... ! ¤³¤¦¤·¤Æ»°ÅÙ¤â¼à¤ó¤ÇÅϤ¹¤È¡¤»°ÅÙ¤â¶ò¤«¤Ê̵ʬÊ̤«¤é°û¤ß´¥¤·¤Þ¤·¤¿¡¥ ! ¤È¤³¤í¤Ç¤¹¤Ã¤«¤ê¥­¥å¥¯¥í¡¼¥×¥¹¤ÎÂΤ¸¤å¤¦¡¤Ç¾¤Þ¤Ç¼ò¤¬²ö¤Ã¤¿¤ª¤­¡¤ ! ¤½¤Î¤È¤­¤Ä¤¤¤Ë»ä¤Ï¡¤Èà¤ËÂФäÆÇ­Éï¤ÇÀ¼¤Ç¡¤ÂçÀ¼¤Ç¤³¤¦¸À¤¤¤Þ¤·¤¿¡¤ ! ¡Ö¥­¥å¥¯¥í¡¼¥×¥¹¤µ¤ó¡¤»ä¤ÎÀ¤´Ö¤ËÃΤé¤ì¤¿Ì¾Á°¤ò¤ª¿Ö¤­¤Ç¡¥¤½¤ó¤Ê¤é»ä¤â ! ¿½¤·¤¢¤²¤Þ¤·¤ç¤¦¤«¤é¡¤¤¢¤Ê¤¿¤ÎÊý¤Ç¤âÌó«¤É¤ª¤êÅÚ»º¤ò¤¯¤À¤µ¤¤¡¥ ! ÂÌÎéÌÓ»ÖÆâ¤È»ä¤Ï¤¤¤¦¤Î¤Ç¡¤ÂÌÎéÌÓ»ÖÆâ¤ÈÊì¿Æ¤âÉã¿Æ¤Ë¤·¤Æ¤â¡¤ ! ¤½¤Î¤Û¤«¤ÎÃç´Ö¤Î¿Í¤¿¤Á³§¤¬¡¤»ä¤Î¤³¤È¤ò¸Æ¤ó¤Ç¤ª¤ê¤Þ¤¹¡¥¡× ! ¤³¤¦¸À¤¦¤È¡¤ÂçÃˤÏÁᮤˤ⡤¾ðÍƼϤâ¤Ê¤¤¿´¤Ç¡¤»ä¤ËÊÖÅú¤¹¤ë¤è¤¦¡¤ ! ¡ÖÂÌÎéÌÓ»ÖÆâ¤ò¤ï¤·¤ÏºÇ¸å¤Ë¶ô¤Ã¤Æ¤ä¤í¤¦¤è¡¤Ãç´Ö¤¿¤Á¤Î¤¦¤Á¤Ç¤â¤Ê¡¤ ! ¤Û¤«¤ÎÅÛ¤é¤òÀè¤Ë¤·¤Æ¤ä¤ë¡¤¤³¤ì¤¬¤ªÁ°¤Ë¤ä¤ëÅÚ»º¤À¤¾¡¥¡× ! ¤³¤¦¸À¤¦¤È¡¤¤½¤Î¤Þ¤Þ¤¢¤ª¸þ¤±¤Ë°ú¤Ã¤¯¤êÊ֤äÆÅݤì¤Þ¤·¤Æ¡¤¤½¤ì¤«¤é ! ¤¬¤Ã¤·¤ê¤È¤·¤¿Ãö·Û¤ò¼Ð¤á¤Ë¶Ê¤²¤Æ²£¤Ë¤Ê¤ê¡¤¤¢¤é¤æ¤ë¤â¤Î¤ò ! ¶þÉþ¤µ¤»¤ë¿ç̲¤Îκ¤Ë¤Ê¤Ã¤Æ¡¤°ö¹¢¤â¤È¤«¤é¡¤¤Ö¤É¤¦¼ò¤ä¤é ! ¿Í´Ö¤ÎÆù¤ÎÀÚ¤ìÊÒ¤ä¤é¤¬Ê®¤­½Ð¤ÆÍ褿¤Î¤Ï¡¤¿¼¼ò¤Î¤¿¤áÅǤ¤¤¿¤Î¤Ç¤·¤¿¡¥ [ The Odyssey, (chapter Epsilon), by Homer ] + [ ´äÇÈʸ¸Ë¡¤¸âÌаìÌõ ] + °Å¤­¼Ô dark one ! # ... But he ruled rather by force and fear, if they might ! # avail; and those who perceived his shadow spreading over the ! # world called him the Dark Lord and named him the Enemy; and ! # he gathered again under his government all the evil things of ! # the days of Morgoth that remained on earth or beneath it, ! # and the Orcs were at his command and multiplied like flies. ! # Thus the Black Years began ... ! ¤·¤«¤·¤«¤ì¤Ï»È¤¨¤ë¤È¤³¤í¤Ç¤Ï¡¤¤à¤·¤í˽ÎϤȶ²Éݤˤè¤Ã¤ÆÅý¼£¤·¤¿¡¥ ! ¤«¤ì¤Î±Æ¤¬À¤³¦Ãæ¤Ë¹­¤¬¤Ã¤Æ¤æ¤¯¤Î¤òǧ¤á¤¿¼Ô¤Ï¡¤¤«¤ì¤ò̽²¦¤È¸Æ¤Ó¡¤ ! ÂçŨ¤È̾¤Å¤±¤¿¡¥¤½¤·¤Æ¤«¤ì¤ÏÃϾå¤Ë°¿¤¤¤ÏÃϲ¼¤Ë»Ä¤Ã¤Æ¤¤¤ë¥â¥ë¥´¥¹ ! »þÂå¤Î¼Ù°­¤Ê¼Ô¤¿¤Á¤ò¤¹¤Ù¤Æ»±²¼¤Ë½¸¤á¡¤¥ª¡¼¥¯¶¦¤Ï¤«¤ì¤Î»Ø¿Þ¤Ë½¾¤¤¡¤ ! ¤½¤Î¿ô¤ÏÇè¤ÎÇ¡¤¯¿£¤¨¤¿¡¥¤«¤¯¤Æ¹õ¤Î»þÂå¤Ï»Ï¤Þ¤Ã¤¿¡¥ [ The Silmarillion, by J.R.R. Tolkien ] + [ ¥·¥ë¥Þ¥ê¥ë¤Îʪ¸ì¡¤É¾ÏÀ¼Ò¡¤À¥ÅÄÄçÆóÌõ ] + ¥Ç¥â¥´¥ë¥´¥ó demogorgon ! # Demogorgon, the prince of demons, wallows in filth and can ! # spread a quickly fatal illness to his victims while rending ! # them. He is a mighty spellcaster, and he can drain the life ! # of mortals with a touch of his tail. ! ¥Ç¥â¥´¥ë¥´¥ó¤Ï°­Ëâ¤Î¹Ä»Ò¤Ç¡¤±øʪ¤Ë¤Þ¤ß¤ì¡¤µ¾À·¼Ô¤ò®¤ä¤«¤Ë»à ! ¤Ë»ê¤é¤»¤ëÆǤò»µ¤­»¶¤é¤¹¡¥¶¯ÎϤÊËâ½Ñ»Õ¤Ç¤â¤¢¤ê¡¤¿Í´Ö¤ÎÀ¸Ì¿¤ò¡¤ ! ¿¬Èø¤Ç¿¨¤ì¤ë¤³¤È¤Ë¤è¤êµÛ¤¤¤È¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ ! ¥Ç¥£¥¹¥Ú¡¼¥¿ dispater ! # Dispater is an arch-devil who rules the city of Dis. He is ! # a powerful mage. ! ¥Ç¥¹¥Ú¡¼¥¿¡¼¤Ï̽ÉܤòÅý¤Ù¤ëÂç°­Ëâ¤Ç¡¤¶¯ÎϤÊËâ½Ñ»Õ¤Ç¤¢¤ë¡¥ ! *¥¸¥ó djinn* ! # The djinn are genies from the elemental plane of Air. There, ! # among their kind, they have their own societies. They are ! # sometimes encountered on earth and may even be summoned here ! # to perform some service for powerful wizards. The wizards ! # often leave them about for later service, safely tucked away ! # in a flask or lamp. Once in a while, such a tool is found by ! # a lucky rogue, and some djinn are known to be so grateful ! # when released that they might grant their rescuer a wish. ! ¥¸¥ó¤ÏÉ÷¤ÎÀºÎ¤«¤éÍè¤ëÀºÎî¤Ç¤¢¤ë¡¥Èà¤é¤ÏÀºÎ¤Ë¤ª¤¤¤ÆÆȼ«¤Î ! ¼Ò²ñ¤ò·ÁÀ®¤·¤Æ¤¤¤ë¡¥ÃϾ峦¤ÇÈà¤é¤È¶öÁ³½Ð²ñ¤¦¤³¤È¤â¤¢¤ë¤·¡¤¶¯ÎÏ ! ¤ÊËâË¡»È¤¤¤¬»ÈÌò¤¹¤ë¤¿¤á¤ËÈà¤é¤ò¾¤´­¤¹¤ë¤³¤È¤µ¤¨¤¢¤ë¡¥¤³¤¦¤·¤¿ ! ËâË¡»È¤¤¤¿¤Á¤Ï¤è¤¯¡¤¸å¤Û¤ÉÊô»Å¤µ¤»¤ë¤¿¤á¤ËÈà¤é¤òÉÓ¤ä¥é¥ó¥×¤Ë²¡ ! ¤·¹þ¤á¤Æ¤ª¤¯¡¥»þ¤È¤·¤Æ¹¥±¿¤ÊËÁ¸±¼Ô¤¬¤³¤¦¤·¤¿Æ»¶ñ¤ò¸«¤Ä¤±¤ë¤³¤È ! ¤¬¤¢¤ê¡¤²òÊü¤µ¤ì¤¿¥¸¥ó¤ÎÃæ¤Ë¤Ï¡¤´¶¼Õ¤Î¤·¤ë¤·¤ËËÁ¸±¼Ô¤Î´ê¤¤¤ò°ì ! ¤Ä¤«¤Ê¤¨¤Æ¤¯¤ì¤ë¼Ô¤â¤¤¤ë¤³¤È¤¬ÃΤé¤ì¤Æ¤¤¤ë¡¥ ! *¸¤ *dog pup* ! # A domestic animal, the _tame dog_ (_Canis familiaris_), of ! # which numerous breeds exist. The male is called a dog, ! # while the female is called a bitch. Because of its known ! # loyalty to man and gentleness with children, it is the ! # world's most popular domestic animal. It can easily be ! # trained to perform various tasks. ! ¥Ú¥Ã¥È¡¤»ô¤¤¸¤(³Ø̾: Canis familiaris)¡¤Â¿¿ô¤Î¼ï¤¬Â¸ºß¡¥¥ª¥¹¤Ï ! dog¤È¸Æ¤Ð¤ì¥á¥¹¤Ï bitch¤È¸Æ¤Ð¤ì¤ë¡¥¿Í´Ö¤Ø¤ÎÃéÀ¿¤ä»Ò¶¡¤Ø¤ÎÍ¥¤· ! ¤µ¤¬ÃΤé¤ì¤Æ¤ª¤ê¡¤À¤³¦¤ÇºÇ¤â¥Ý¥Ô¥å¥é¡¼¤Ê¥Ú¥Ã¥È¤Ç¤¢¤ë¡¥¤¤¤í¤¤¤í ! ¤Êµ»¤ò´Êñ¤Ë¶µ¤¨¤ë¤³¤È¤â¤Ç¤­¤ë¡¥ ! *¥É¥é¥´¥ó *dragon *xoth ! # In the West the dragon was the natural enemy of man. Although ! # preferring to live in bleak and desolate regions, whenever it ! # was seen among men it left in its wake a trail of destruction ! # and disease. Yet any attempt to slay this beast was a perilous ! # undertaking. For the dragon's assailant had to contend ! # not only with clouds of sulphurous fumes pouring from its fire ! # breathing nostrils, but also with the thrashings of its tail, ! # the most deadly part of its serpent-like body. ! # [Mythical Beasts by Deirdre Headon (The Leprechaun Library)] ! À¾ÍΤǤϡ¤¥É¥é¥´¥ó¤Ï¿Í´Ö¤ÎŨ¤Ç¤¢¤ë¡¥¹Ó¤ì¤¿¼ä¤·¤¤¾ì½ê¤Ë½»¤à¤³ ! ¤È¤ò¹¥¤à¤Î¤À¤¬¡¤¿Í´Ö¤Ë¸«¤é¤ì¤ë¤Èɬ¤º¡¤Ç˲õ¤äɵ¤¤Î¸å¤ò°ä¤·¤Æ ! ¤¤¤¯¡¥¤³¤Î½Ã¤ò»¦¤½¤¦¤È¸À¤¦¤¢¤ê¤È¤¢¤é¤æ¤ëÄ©Àï¤Ï´í¸±¤Ê»Å»ö¤Ç¤¢ ! ¤ë¡¥¥É¥é¥´¥ó¤ò¹¶·â¤¹¤ë¤â¤Î¤Ë¤Ï¡¤Î²²«¤Î½­µ¤¤Î¥¬¥¹¤À¤±¤Ç¤Ê¤¯¡¤ ! ºÇ¤â´í¸±¤Ê¼Ø¤Î¤è¤¦¤Ë·ã¤·¤¯Æ°¤¯¿¬Èø¤È¤â³ÊÆ®¤»¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥ ! [ ¿ÀÏäÎÀ¸Êª, Deirede Headon(¥ì¥×¥ì¥³¡¼¥ó¿Þ½ñ) ] ! ¥É¥ï¡¼¥Õ* dwarf* Dwarfs have faces like men (ugly men, with wrinkled, leathery skins), but are generally either flat-footed, duck-footed, or have feet pointing backwards. They are of the earth, earthy, living in the darkest of caverns and venturing forth only with the cloaks by which they can make themselves invisible, ! and others disguised as toads. Miners often come across them, and sometimes establish reasonably close relations with them. ... The miners of Cornwall were always delighted to hear a bucca busily mining away, for all dwarfs have an infallible *************** *** 542,648 **** Gungnir, and Thor his hammer; for Freya they designed a magnificent necklace, and for Frey a golden boar. And in their spare time they are excellent bakers. Ironically, despite ! their odd feet, they are particularly fond of dancing. They can also see into the future, and consequently are excellent ! meteorologists. They can be free with presents to people they like, and a dwarvish gift is likely to turn to gold in the hand. But on the whole they are a snappish lot. [ The Immortals, by Derek and Julia Parker ] earendil elwing ! In after days, when because of the triumph of Morgoth Elves and ! Men became estranged, as he most wished, those of the Elven-race ! that lived still in Middle-earth waned and faded, and Men usurped ! the sunlight. Then the Quendi wandered in the lonely places of the ! great lands and the isles, and took to the moonlight and the ! starlight, and to the woods and the caves, becoming as shadows ! and memories, save those who ever and anon set sail into the West ! and vanished from Middle-earth. But in the dawn of years Elves ! and Men were allies and held themselves akin, and there were some ! among Men that learned the wisdom of the Eldar, and became great ! and valiant among the captains of the Noldor. And in the glory ! and beauty of the Elves, and in their fate, full share had the ! offspring of elf and mortal, Earendil, and Elwing, and Elrond ! their child. [ The Silmarillion, by J.R.R. Tolkien ] eel giant eel ! The behaviour of eels in fresh water extends the air of ! mystery surrounding them. They move freely into muddy, silty ! bottoms of lakes, lying buried in the daylight hours in summer. ! [...] Eels are voracious carnivores, feeding mainly at ! night and consuming a wide variety of fishes and invertebrate ! creatures. Contrary to earlier thinking, eels seek living ! rather than dead creatures and are not habitual eaters of ! carrion. [ Freshwater Fishes of Canada, by Scott and Crossman ] elbereth ! ... Even as they stepped over the threshold a single clear ! voice rose in song. ! A Elbereth Gilthoniel, ! silivren penna miriel ! o menel aglar elenath! ! Na-chaered palen-diriel ! o galadhremmin ennorath, ! Fanuilos, le linnathon ! nef aear, si nef aearon! ! ! Frodo halted for a moment, looking back. Elrond was in his ! chair and the fire was on his face like summer-light upon the ! trees. Near him sat the Lady Arwen. [...] ! He stood still enchanted, while the sweet syllables of the ! elvish song fell like clear jewels of blended word and melody. ! "It is a song to Elbereth," said Bilbo. "They will sing that, ! and other songs of the Blessed Realm, many times tonight. ! Come on!" [ The Fellowship of the Ring, by J.R.R. Tolkien ] electric eel ! South-American fish (_Gymnotus electricus_), living in fresh ! water. Shaped like a serpent, it can grow up to 2 metres. ! This eel is known for its electrical organ which enables it ! to paralyse creatures up to the size of a horse. [ Van Dale's Groot Woordenboek der Nederlandse Taal ] *elemental ! Elementals are manifestations of the basic nature of the ! universe. There are four known forms of elementals: air, fire, ! water, and earth. Some mystics have postulated the necessity ! for a fifth type, the spirit elemental, but none have ever ! been encountered, at least on this plane of existence. ~elf ??m* *elf* elvenking ! The Elves sat round the fire upon the grass or upon the sawn ! rings of old trunks. Some went to and fro bearing cups and ! pouring drinks; others brought food on heaped plates and ! dishes. ! "This is poor fare," they said to the hobbits; "for we are ! lodging in the greenwood far from our halls. If ever you are ! our guests at home, we will treat you better." ! "It seems to me good enough for a birthday-party," said Frodo. ! Pippin afterwards recalled little of either food or drink, for ! his mind was filled with the light upon the elf-faces, and the ! sound of voices so various and so beautiful that he felt in a ! waking dream. [...] ! Sam could never describe in words, nor picture clearly to ! himself, what he felt or thought that night, though it remained ! in his memory as one of the chief events of his life. The ! nearest he ever got was to say: "Well, sir, if I could grow ! apples like that, I would call myself a gardener. But it was ! the singing that went to my heart, if you know what I mean." [ The Fellowship of the Ring, by J.R.R. Tolkien ] erinys erinyes ! These female-seeming devils named after the Furies of mythology ! attack hand to hand and poison their unwary victims as well. ettin ! The two-headed giant, or ettin, is a vicious and unpredictable ! hunter that stalks by night and eats any meat it can catch. excalibur At first only its tip was visible, but then it rose, straight, proud, all that was noble and great and wondrous. The tip of the blade pointed toward the moon, as if it would cleave it ! in two. The blade itself gleamed like a beacon in the night. There was no light source for the sword to be reflecting from, for the moon had darted behind a cloud in fear. The sword was glowing from the intensity of its strength and --- 924,1121 ---- Gungnir, and Thor his hammer; for Freya they designed a magnificent necklace, and for Frey a golden boar. And in their spare time they are excellent bakers. Ironically, despite ! their odd feet, they are particularly fond of dancing. They can also see into the future, and consequently are excellent ! meteorologists. They can be free with presents to people they like, and a dwarvish gift is likely to turn to gold in the hand. But on the whole they are a snappish lot. [ The Immortals, by Derek and Julia Parker ] + ¥¨¥¢¥ì¥ó¥Ç¥£¥ë + ¥¨¥ë¥¦¥£¥ó¥° earendil elwing ! # In after days, when because of the triumph of Morgoth Elves and ! # Men became estranged, as he most wished, those of the Elven-race ! # that lived still in Middle-earth waned and faded, and Men usurped ! # the sunlight. Then the Quendi wandered in the lonely places of the ! # great lands and the isles, and took to the moonlight and the ! # starlight, and to the woods and the caves, becoming as shadows ! # and memories, save those who ever and anon set sail into the West ! # and vanished from Middle-earth. But in the dawn of years Elves ! # and Men were allies and held themselves akin, and there were some ! # among Men that learned the wisdom of the Eldar, and became great ! # and valiant among the captains of the Noldor. And in the glory ! # and beauty of the Elves, and in their fate, full share had the ! # offspring of elf and mortal, Earendil, and Elwing, and Elrond ! # their child. ! ¸åÀ¤¡¤¥â¥ë¥´¥¹¤¬¾¡Íø¤òÀê¤á¡¤¥¨¥ë¥Õ¤È¿Í´Ö¤¬¡¤¤«¤ì¤Î´ê˾Ä̤ꡤΥʹ ! ¤µ¤ì¤ë¤Ë»ê¤Ã¤¿»þ¡¤Ãæ¤Ä¹ñ¤Ë¤Ê¤ª¤â½»¤ß³¤±¤ë¥¨¥ë¥Õ²¤Ï¡¤¼¡Âè¤Ë¿ê¤¨¡¤ ! ÎϤò¼º¤¤¡¤¿Í´Ö¤¬ÍÛ¸÷¤ò×ó¤Ëµü¼õ¤·¤¿¡¥¤ä¤¬¤Æ¥¯¥¦¥§¥ó¥Ç¥£¤Ï¡¤¹­Âç¤Ê ! ¹ñ¡¹¡¤Å硹¤Î¿Íµ¤¤Ê¤¤¾ì½ê¤ò¤µ¤Þ¤è¤¤¡¤·î¸÷¤ÈÀ±ÌÀ¤«¤ê¤Ë¡¤¤½¤·¤Æ¿¹¤È ! ƶ·¢¤Ë¿Æ¤·¤ß¡¤µ­²±¤ÎÃæ¤Ë¸ºß¤¹¤ë±Æ¤ÎÇ¡¤­¤â¤Î¤Ë¤Ê¤ê²Ì¤Æ¤¿¡¥¤¿¤À¡¤ ! »þÀÞ¡¤À¾Êý¤ËÁ¥½Ð¤·¤ÆÃæ¤Ä¹ñ¤«¤é»Ñ¤ò¾Ã¤¹¼Ô¤¬¤¤¤¿¡¥¤·¤«¤·¡¤óÕÌÀ´ü¤Ë ! ¤¢¤Ã¤Æ¤Ï¡¤¥¨¥ë¥Õ¤È¿Í´Ö¤ÏÌÁͧ¤Ç¤¢¤ê¡¤¸ß¤¤¤ËƱÎà¤È¸«¤Ê¤·¤Æ¤¤¤¿¡¥¤½ ! ¤·¤Æ¿Í´Ö¤ÎÃæ¤Ë¤Ï¥¨¥ë¥À¥¢¥ë¤ÎÃҷäò³Ø¤Ó¡¤¥Î¥ë¥É¥ª¥ë¤ÎÂç¾­¤¿¤Á¤ËΩ ! ¤Á¤Þ¤¸¤ë¡¤Í¦ÌԤˤ·¤Æ¤¹¤°¤ì¤¿¼Ô¤â¤¤¤¿¡¥¥¨¥ë¥Õ¤Î±É¸÷¤ÈÈþ¤·¤µ¡¤¤«¤ì ! ¤é¤Î½ÉÌ¿¤ò´°Á´¤Ë¶¦Í­¤·¤¿¤Î¤Ï¡¤¥¨¥ë¥Õ¤È¿Í´Ö¤Î·ì¤òµü¤±¤¿¥¨¥¢¥ì¥ó¥Ç ! ¥£¥ë¤Ç¤¢¤ê¡¤¥¨¥ë¥¦¥£¥ó¥°¤Ç¤¢¤ê¡¤¤«¤ì¤é¤Î»Ò¶¡¤Ç¤¢¤ë¥¨¥ë¥í¥ó¥É¤Ç¤¢ ! ¤ë¡¥ [ The Silmarillion, by J.R.R. Tolkien ] + [ ¥·¥ë¥Þ¥ê¥ë¤Îʪ¸ì¡¤É¾ÏÀ¼Ò¡¤À¥ÅÄÄçÆóÌõ ] + ¥¦¥Ê¥® + µðÂ祦¥Ê¥® eel giant eel ! # The behaviour of eels in fresh water extends the air of ! # mystery surrounding them. They move freely into muddy, silty ! # bottoms of lakes, lying buried in the daylight hours in summer. ! # [...] Eels are voracious carnivores, feeding mainly at ! # night and consuming a wide variety of fishes and invertebrate ! # creatures. Contrary to earlier thinking, eels seek living ! # rather than dead creatures and are not habitual eaters of ! # carrion. ! ¤­¤ì¤¤¤Ê¿å¤Ë½»¤à¥¦¥Ê¥®¤Î¿¶Éñ¤¤¤Ï¤½¤Î¼þÊդοÀÈëÀ­¤òÁý¤¹¡¥¤½¤ì¤é ! ¤Ï¼«Í³¤ËÂù¤Ã¤¿Å¥¡¹¤Î¸ÐÄì¤ò°ÜÆ°¤·¡¤²Æ¤ÎÆüÃæ¤ÏËä¤Þ¤Ã¤ÆÀ¸³è¤¹¤ë¡¥ ! .... ! ¥¦¥Ê¥®¤ÏÂç¿©´Á¤Î¿©Æùưʪ¤Ç¡¤¼ç¤ËÌë¤ËÊä¿©¤·¡¤Â¿¤¯¤Î¼ïÎà¤Îµû¤ä ! ̵ÀÔÄÇưʪ¤ò¤¿¤¤¤é¤²¤ë¡¥½é´ü¤Î¹Í¤¨¤È¤ÏÈ¿ÂФˡ¤¥¦¥Ê¥®¤Ï»à¤ó¤ÀÀ¸ ! ʪ¤è¤ê¤à¤·¤íÀ¸¤­¤¿¤â¤Î¤òõ¤·¤Æ¤ª¤ê¡¤ÉåÆù¤Î¾ï¿©¼Ô¤Ç¤Ï¤Ê¤¤¡¥ [ Freshwater Fishes of Canada, by Scott and Crossman ] elbereth ! # ... Even as they stepped over the threshold a single clear ! # voice rose in song. ! # ! # A Elbereth Gilthoniel, ! # silivren penna miriel ! # o menel aglar elenath! ! # Na-chaered palen-diriel ! # o galadhremmin ennorath, ! # Fanuilos, le linnathon ! # nef aear, si nef aearon! ! # ! # Frodo halted for a moment, looking back. Elrond was in his ! # chair and the fire was on his face like summer-light upon the ! # trees. Near him sat the Lady Arwen. [...] ! # He stood still enchanted, while the sweet syllables of the ! # elvish song fell like clear jewels of blended word and melody. ! # "It is a song to Elbereth," said Bilbo. "They will sing that, ! # and other songs of the Blessed Realm, many times tonight. ! # Come on!" ! Éßµï¤ò¤Þ¤¿¤°»þ¤Ë¤â¡¤À¡¤ó¤À²ÎÀ¼¤¬°ì¤Ä¹â¤é¤«¤Ëʹ¤³¤¨¤Æ¤­¤Þ¤·¤¿¡¥ ! ¥¢¡¼ ¥¨¥ë¥Ù¥ì¥¹ ¥®¥ë¥½¥Ë¥¨¥ë¡¤ ! ¥·¥ê¥Ö¥ì¥ó ¥Ú¥ó¥Ê ¥ß¥ê¥¨¥ë ! ¥ª¡¼ ¥á¥Í¥ë ¥¢¥°¥é¡¼¥ë ¥¨¥ì¥Ê¥¹¡ª ! ¥Ê=¥«¥¨¥ì¥É ¥Ñ¥é¥ó=¥Ç¥£¥ê¥¨¥ë ! ¥ª¡¼ ¥¬¥é¥º¥ì¥ß¥ó ¥¨¥Î¥é¥¹¡¤ ! ¥Õ¥¡¥Ì¥¤¥í¥¹¡¤¥ì ¥ê¥Ê¥½¥ó ! ¥Í¥Õ ¥¢¥¤¥¢¡¼¡¤¥·¡¼ ¥Í¥Õ ¥¢¥¤¥¢¥í¥ó¡ª ! ! ¥Õ¥í¥É¤Ï°ì½ÖΩ¤Á»ß¤Þ¤Ã¤Æ¡¤¿¶¤ê¸þ¤­¤Þ¤·¤¿¡¥¥¨¥ë¥í¥ó¥É¤Ï°Ø»Ò¤Ë¹ø ! ¤ò²¼¤·¤Æ¤¤¤Æ¡¤¤½¤Î´é¤Ë¤Ï¤Þ¤ë¤Ç²Æ¤Î¸÷¤¬¼ù¡¹¤ò¾È¤é¤¹¤è¤¦¤Ë¡¤ÃÈϧ ! ¤Î²Ð¤¬¾È¤ê±Ç¤¨¤Æ¤¤¤Þ¤·¤¿¡¥Èà¤Î¤½¤Ð¤Ë¤Ï¥¢¥ë¥¦¥§¥óɱ¤¬¤¹¤ï¤Ã¤Æ¤¤ ! ¤Þ¤·¤¿¡¥ ! ..... ! ¤«¤ì¤Ï¤Ê¤ª¤âÌ¥¤»¤é¤ì¤¿¤è¤¦¤ËΩ¤Ã¤Æ¤¤¤Þ¤·¤¿¡¥¤½¤Î´Ö¡¤¥¨¥ë¥Õ¤Î²Î ! ¤ÎÈþ¤·¤¤²»Àá¤Î°ì¤Ä°ì¤Ä¤¬¡¤¸ÀÍÕ¤ÈÀûΧ¤Î¤Þ¤¶¤Ã¤¿Æ©ÌÀ¤ÊÊõ¶Ì¤Î¤è¤¦ ! ¤Ë¡¤¼ª¤Ëʹ¤³¤¨¤Æ¤­¤Þ¤·¤¿¡¥¡Ö¥¨¥ë¥Ù¥ì¥¹¤ËÊû¤²¤ë²Î¤À¤è¡¥¡×¤È¥Ó¥ë ! ¥Ü¤¬¤¤¤¤¤Þ¤·¤¿¡¥¡Öº£Ìë¤Ï¤ß¤ó¤Ê¡¤¤¢¤Î²Î¤ä¡¤¤Û¤«¤Ë¤â¾ôÊ¡¤Î¹ñ¤Î»¾ ! ²Î¤ò²¿Å٤ⲿÅÙ¤â²Î¤¦¤³¤È¤À¤í¤¦¡¥¤µ¤¡¡¤¹Ô¤³¤¦¡ª¡× [ The Fellowship of the Ring, by J.R.R. Tolkien ] + [ ɾÏÀ¼Ò, À¥ÅÄÄçÆóÌõ ] + Åŵ¤¥¦¥Ê¥® electric eel ! # South-American fish (_Gymnotus electricus_), living in fresh ! # water. Shaped like a serpent, it can grow up to 2 metres. ! # This eel is known for its electrical organ which enables it ! # to paralyse creatures up to the size of a horse. ! Æ¥á¥ê¥«¤Îø¿åµû(³Ø̾ Gymnotus electricus)¡¥¼Ø¤Î¤è¤¦¤Ê·Á¤ò ! ¤·¤Æ¤ª¤ê¡¤2¥á¡¼¥È¥ë¤Ë¤âÀ®Ä¹¤¹¤ë¡¥¤³¤Î¥¦¥Ê¥®¤ÏÇϤ¯¤é¤¤¤Î¥µ¥¤¥º ! ¤ÎÀ¸¤­Êª¤ò¤âáã¤ì¤µ¤»¤ëÅŵ¤ÂΤȤ·¤ÆÃΤé¤ì¤Æ¤¤¤ë¡¥ [ Van Dale's Groot Woordenboek der Nederlandse Taal ] + *¤ÎÀº *elemental ! # Elementals are manifestations of the basic nature of the ! # universe. There are four known forms of elementals: air, fire, ! # water, and earth. Some mystics have postulated the necessity ! # for a fifth type, the spirit elemental, but none have ever ! # been encountered, at least on this plane of existence. ! ¥¨¥ì¥á¥ó¥¿¥ë¤È¤ÏÁ´±§Ãè¤Î´ðËܸ½¾Ý¤Î¸½¤ì¤Ç¤¢¤ë¡¥É÷¡¤²Ð¡¤¿å¡¤ÃÏ ! ¤Î4¤Ä¤Î¥¨¥ì¥á¥ó¥¿¥ë¤¬ÃΤé¤ì¤Æ¤¤¤ë¡¥²¿¿Í¤«¤Î¿ÀÈë¼çµÁ¼Ô¤Ï5ÈÖÌÜ ! ¤Î¥¿¥¤¥×¡¤¤¹¤Ê¤ï¤ÁÎî¤Ç¤¢¤ë¤¬¡¤¤ÎɬÍ×À­¤ò¼çÄ¥¤·¤Æ¤¤¤ë¤¬¡¤¾¯¤Ê ! ¤¯¤È¤â¸ºß¤¹¤ë¤³¤ÎÃϤǤÏï¤âÁø¶ø¤·¤¿¤³¤È¤¬¤Ê¤¤¡¥ ! ! ~*¥¾¥ó¥Ó ! ~*¥ß¥¤¥é ! ¥¨¥ë¥Õ* ~elf ??m* *elf* elvenking ! # The Elves sat round the fire upon the grass or upon the sawn ! # rings of old trunks. Some went to and fro bearing cups and ! # pouring drinks; others brought food on heaped plates and ! # dishes. ! # "This is poor fare," they said to the hobbits; "for we are ! # lodging in the greenwood far from our halls. If ever you are ! # our guests at home, we will treat you better." ! # "It seems to me good enough for a birthday-party," said Frodo. ! # Pippin afterwards recalled little of either food or drink, for ! # his mind was filled with the light upon the elf-faces, and the ! # sound of voices so various and so beautiful that he felt in a ! # waking dream. [...] ! # Sam could never describe in words, nor picture clearly to ! # himself, what he felt or thought that night, though it remained ! # in his memory as one of the chief events of his life. The ! # nearest he ever got was to say: "Well, sir, if I could grow ! # apples like that, I would call myself a gardener. But it was ! # the singing that went to my heart, if you know what I mean." ! ¥¨¥ë¥Õ¤¿¤Á¤Ïʲ²Ð¤ò¤«¤³¤ó¤Ç¡¤Áð¤Î¾å¤ä¡¤´ÝÂÀ¤ÎÀÚ³ô¤ò¹ø³Ý¤Ë¤·¤Æ¡¤ ! ¤¹¤ï¤Ã¤Æ¤¤¤Þ¤·¤¿¡¥ÇÕ¤ò±¿¤Ö¼Ô¤¢¤ê¡¤°û¤ß¤â¤Î¤ò¤½¤½¤¤¤Ç²ó¤ë¼Ô¤¬ ! ¤¢¤ê¤Þ¤·¤¿¡¥¤Þ¤¿»³¤Î¤è¤¦¤ËÀѤ߾夲¤¿»®¾®È­¤Î¾å¤Ë¿©¤Ùʪ¤ò¤Î¤» ! ¤Æ¤¯¤ë¼Ô¤â¤¤¤Þ¤·¤¿¡¥ ! ¡Ö¸æÃÚÁö¤Ï¤¢¤ê¤Þ¤»¤ó¤è¡¥¡×¤È¡¤¤«¤ì¤é¤Ï¥Û¥Ó¥Ã¥È¤¿¤Á¤Ë¤¤¤¤¤Þ¤· ! ¤¿¡¥¡Ö¤³¤³¤Ï¤ï¤¿¤·¤¿¤Á¤Î´Û¤ò±ó¤¯Î¥¤ì¤¿ÎФο¹¤Î½É¤ê¤À¤«¤é¡¥¤ï ! ¤¬´Û¤Ë¤ª¾·¤­¤·¤¿¤é¡¤¤â¤Ã¤È¤Þ¤·¤Ê¤ª¤â¤Æ¤Ê¤·¤ò¤¹¤ë¤±¤ì¤É¡¥¡× ! ¡Ö¤ï¤¿¤·¤Ë¤Ï¡¤¤ê¤Ã¤Ñ¤ÊÃÂÀ¸Æü¤Î¤´ÃÚÁö¤Û¤É¤Ë»×¤¨¤Þ¤¹¤è¡¥¡×¤È¥Õ ! ¥í¥É¤¬¤¤¤¤¤Þ¤·¤¿¡¥ ! ¥Ô¥Ô¥ó¤Ï¤¢¤È¤Ë¤Ê¤Ã¤Æ¤³¤Î»þ¤Î¤³¤È¤ò»×¤¤½Ð¤½¤¦¤È¤·¤Æ¤â¡¤¿©¤Ù¤â ! ¤Î¤Î¤³¤È¤â°û¤ß¤â¤Î¤Î¤³¤È¤â¤Û¤È¤ó¤É»×¤¤É⤫¤Ó¤Þ¤»¤ó¤Ç¤·¤¿¡¥¤« ! ¤ì¤Ï¡¤¥¨¥ë¥Õ¤¿¤Á¤Î´é¤Ë±Ç¤¨¤ë¸÷¤È¡¤¤¦¤Ä¤Ä¤ÎÌ´¤È¤Þ¤´¤¦¤Û¤É¡¤ÊÑ ! ²½¤ËÉÙ¤àÈþ¤·¤¤À¼¤Î¶Á¤­¤Ë¡¤¤¹¤Ã¤«¤ê¿´¤òÃ¥¤ï¤ì¤Æ¤·¤Þ¤Ã¤¿¤»¤¤¤Ç ! ¤·¤¿¡¥ ! ..... ! ¥µ¥à¤Ï¤½¤ÎÌë´¶¤¸¤¿¤³¤È¡¤»×¤Ã¤¿¤³¤È¤ò¸ÀÍդ˼̤¹¤³¤È¤â¡¤¿´¤Ë¤Ï ! ¤Ã¤­¤ê»×¤¤ÉÁ¤¯¤³¤È¤â¤Ä¤¤¤Ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡¥¤·¤«¤·¤½¤ÎÌë¤Î¤³ ! ¤È¤Ï¡¤¤«¤ì¤ÎÀ¸³¶¤òÄ̤¸¤Æ¤Î¤ª¤â¤Ê¤Ç¤­»ö¤Î°ì¤Ä¤È¤·¤Æ¡¤¤¤¤Ä¤Þ¤Ç ! ¤â¤«¤ì¤Îµ­²±¤Ë¤È¤É¤á¤é¤ì¤Þ¤·¤¿¡¥¿É¤¦¤¸¤Æ¤«¤ì¤Ë¤¤¤¨¤¿¤Î¤Ï¡¤¼¡ ! ¤Î¤è¤¦¤Ê¸ÀÍդǤ·¤¿¡¥¡Ö¤Û¤ó¤È¤Ë¡¤Ã¶Æᡤ¤ª¤é¤Ë¤³¤ó¤Ê¤ê¤ó¤´¤¬°é ! ¤Æ¤é¤ì¤¿¤é¡¤¤ª¤é¤â¼«Ê¬¤òÄí»Õ¤È¸Æ¤Ó¤Þ¤¹¤À¡¥¤À¤±¤É¡¤¤ª¤é¤Î¿´¤Ë ! ¶Á¤¤¤¿¤Î¤Ï¤¢¤Î²ÎÀ¼¤Ç¤¹¤¿¡¤¤Û¤ó¤È¤Î¤³¤È¡× [ The Fellowship of the Ring, by J.R.R. Tolkien ] + [ ɾÏÀ¼Ò, À¥ÅÄÄçÆóÌõ ] + ¥¨¥ª¥¹ + eos + ¥¨¥ª¥¹¡¥¶Ç¤Î½÷¿À¤Ç¥Ò¥å¥Ú¥ê¥ª¥ó¤Î»Ò¡¥¥í¡¼¥Þ¿ÀÏäǤϥª¡¼¥í¥é¤È + ¸Æ¤Ð¤ì¤ë¡¥ + ¥¤¥ê¥Ë¥¹ erinys erinyes ! # These female-seeming devils named after the Furies of mythology ! # attack hand to hand and poison their unwary victims as well. ! ¥®¥ê¥·¥ã¿ÀÏäΥեå¥ê¥º¤Ë¤Á¤Ê¤ó¤Ç̿̾¤µ¤ì¤¿½÷À­¤Î»Ñ¤ò¤·¤¿¤³¤Î°­Ëâ¤Ï ! ÉÔÃí°Õ¤Êµ¾À·¼Ô¤Ë¤Ä¤«¤ß¤«¤«¤Ã¤¿¤ê¡¤ÆǤò¤¯¤é¤ï¤¹¡¥ ! ¥¨¥Æ¥£¥ó ettin ! # The two-headed giant, or ettin, is a vicious and unpredictable ! # hunter that stalks by night and eats any meat it can catch. ! ÁÐƬ¤Îµð¿Í¡¥¥¨¥Æ¥£¥ó¤Ï´í¸±¤Ç¤Ê¤Ë¤ò¤·¤Ç¤«¤¹¤«¤ï¤«¤é¤Ê¤¤¥Ï¥ó¥¿¡¼ ! ¤Ç¤¢¤ë¡¥¥¨¥Æ¥£¥ó¤ÏÌëÃæÂç¤Þ¤¿¤ÇÊ⤭¡¤ÄϤá¤ë¤â¤Î¤Ê¤é²¿¤Ç¤â¿©¤¦¡¥ ! ¥¨¥¯¥¹¥«¥ê¥Ð¡¼ excalibur At first only its tip was visible, but then it rose, straight, proud, all that was noble and great and wondrous. The tip of the blade pointed toward the moon, as if it would cleave it ! in two. The blade itself gleamed like a beacon in the night. There was no light source for the sword to be reflecting from, for the moon had darted behind a cloud in fear. The sword was glowing from the intensity of its strength and *************** *** 653,728 **** wearing several rings that bore jewels sparkling with the blue-green color of the ocean. [ Knight Life, by Peter David ] eye of the aethiopica ! This is a powerful amulet of ESP. In addition to its standard ! powers, it regenerates the energy of anyone who carries ! it, allowing them to cast spells more often. It also reduces ! any spell damage to the person who carries it by half, and ! protects from magic missiles. Finally, when invoked it has ! the power to instantly open a portal to any other area of the ! dungeon, allowing its invoker to travel quickly between ! areas. floating eye ! Floating eyes, not surprisingly, are large, floating eyeballs ! which drift about the dungeon. Though not dangerous in and ! of themselves, their power to paralyse those who gaze at ! their large eye in combat is widely feared. Many are the ! tales of those who struck a floating eye, were paralysed by ! its mystic powers, and then nibbled to death by some other ! creature that lurked around nearby. flesh golem ! With an anxiety that almost amounted to agony, I collected ! the instruments of life around me, that I might infuse a spark ! of being into the lifeless thing that lay at my feet. It was ! already one in the morning; the rain pattered dismally against ! the panes, and my candle was nearly burnt out, when, by the ! glimmer of the half-extinguished light, I saw the dull yellow ! eye of the creature open; it breathed hard, and a convulsive ! motion agitated its limbs. ! ! How can I describe my emotions at this catastrophe, or how ! delineate the wretch whom with such infinite pains and care I ! had endeavoured to form? His limbs were in proportion, and I ! had selected his features as beautiful. Beautiful!--Great God! ! His yellow skin scarcely covered the work of muscles and ! arteries beneath; his hair was of a lustrous black, and ! flowing; his teeth of a pearly whiteness; but these luxuriances ! only formed a more horrid contrast with his watery eyes, that ! seemed almost of the same colour as the dun white sockets in ! which they were set, his shrivelled complexion and straight ! black lips. [ Frankenstein, by Mary Wollstonecraft Shelley ] fog cloud ! The fog comes ! on little cat feet. ! ! It sits looking ! over harbor and city ! on silent haunches ! and then moves on. [ Fog, by Carl Sandburg ] *fung* ! Fungi, division of simple plants that lack chlorophyll, true ! stems, roots, and leaves. Unlike algae, fungi cannot ! photosynthesize, and live as parasites or saprophytes. The ! division comprises the slime molds and true fungi. True ! fungi are multicellular (with the exception of yeasts); the ! body of most true fungi consists of slender cottony ! filaments, or hyphae. All fungi are capable of asexual ! reproduction by cell division, budding, fragmentation, or ! spores. Those that reproduce sexually alternate a sexual ! generation (gametophyte) with a spore-producing one. The ! four classes of true fungi are the algaelike fungi (e.g., ! black bread mold and downy mildew), sac fungi (e.g., yeasts, ! powdery mildews, truffles, and blue and green molds such as ! Penicillium), basidium fungi (e.g., mushrooms and puffballs) ! and imperfect fungi (e.g., species that cause athlete's foot ! and ringworm). Fungi help decompose organic matter (important ! in soil renewal); are valuable as a source of antibiotics, ! vitamins, and various chemicals; and for their role in ! fermentation, e.g., in bread and alcoholic beverage ! production. [ The Concise Columbia Encyclopedia ] *gargoyle And so it came to pass that while Man ruled on Earth, the gargoyles waited, lurking, hidden from the light. Reborn --- 1126,1258 ---- wearing several rings that bore jewels sparkling with the blue-green color of the ocean. [ Knight Life, by Peter David ] + ¥¨¥Á¥ª¥Ô¥¢¤ÎÌÜ eye of the aethiopica ! # This is a powerful amulet of ESP. In addition to its standard ! # powers, it regenerates the energy of anyone who carries ! # it, allowing them to cast spells more often. It also reduces ! # any spell damage to the person who carries it by half, and ! # protects from magic missiles. Finally, when invoked it has ! # the power to instantly open a portal to any other area of the ! # dungeon, allowing its invoker to travel quickly between ! # areas. ! ¶¯ÎϤʱó»ë¤ÎËâ½ü¤±¡¥¤½¤ÎÄ̾ï¤ÎÎϤξ¤Ë¡¤¤½¤ì¤ò»ý¤Ã¤Æ¤¤¤ë¤â¤Î¤Ê¤é ! ï¤Ç¤âËâË¡¤ò¤è¤êÉÑÈˤ˾§¤¨¤ì¤ë¤è¤¦¥¨¥Í¥ë¥®¡¼¤¬²óÉü¤¹¤ë¡¥¤Þ¤¿¡¤¤½ ! ¤ì¤ò»ý¤Ä¤â¤Î¤ÎËâË¡¤Î¥À¥á¡¼¥¸¤òȾʬ¤Ë¸º¤é¤·¡¤ËâË¡¤ÎÌ𤫤é¼é¤ëÎϤ¬ ! ¤¢¤ë¡¥¤½¤ÎÎϤò»È¤¦¤È̵ܤξ¤Î¥¨¥ê¥¢¤Ø¤ÎËâË¡¤ÎÆþ¸ý¤ò³«¤­¡¤ÎϤò»È ! ¤¦¤â¤Î¤Ï¥¨¥ê¥¢´Ö¤ò¹â®¤Ë°ÜÆ°¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ ! ¤µ¤Þ¤è¤¦ÌÜ floating eye ! # Floating eyes, not surprisingly, are large, floating eyeballs ! # which drift about the dungeon. Though not dangerous in and ! # of themselves, their power to paralyse those who gaze at ! # their large eye in combat is widely feared. Many are the ! # tales of those who struck a floating eye, were paralysed by ! # its mystic powers, and then nibbled to death by some other ! # creature that lurked around nearby. ! ¤µ¤Þ¤è¤¦Ìܤϡ¤¶Ã¤¯¤Ù¤­¤³¤È¤Ç¤â¤Ê¤¤¤¬¡¤µðÂç¤ÇÃè¤ËÉ⤤¤¿´ãµå¤Ç¡¤ ! ¥À¥ó¥¸¥ç¥ó¤ÎÃæ¤ò¤¢¤Á¤³¤Á¤µ¤Þ¤è¤Ã¤Æ¤¤¤ë¡¥¤½¤ì¼«ÂΤ¬Ã±ÆÈ¤Ç´í¸±¤È ! ¤¤¤¦¤ï¤±¤Ç¤Ï¤Ê¤¤¤â¤Î¤Î¡¤Æ®¤¤¤ÎºÇÃæ¤Ë¤½¤ÎµðÂç¤ÊÌܤò¸«¤Ä¤á¤¿¼Ô¤ò ! Ëãá㤵¤»¤ë¤È¤¤¤¦Ç½ÎϤÏÂ礤¤Ë¶²¤ì¤é¤ì¤Æ¤¤¤ë¡¥¤µ¤Þ¤è¤¦ÌܤËÂФ·¤Æ ! ²¥¤ê¤«¤«¤ê¡¤¤½¤ÎËâÎϤˤè¤Ã¤ÆËãá㤷¡¤ÊÕ¤ê¤ò¤¦¤í¤Ä¤¤¤Æ¤¤¤¿Â¾¤ÎÀ¸ ! ʪ¤Ë¤è¤Ã¤ÆÂÎÎϤòºï¤é¤ì¤Æ»à¤Ë»ê¤Ã¤¿¼Ôã¤ÎÏäϤ褯ʹ¤«¤ì¤ë¡¥ ! Æù¤Î¥´¡¼¥ì¥à flesh golem ! # With an anxiety that almost amounted to agony, I collected ! # the instruments of life around me, that I might infuse a spark ! # of being into the lifeless thing that lay at my feet. It was ! # already one in the morning; the rain pattered dismally against ! # the panes, and my candle was nearly burnt out, when, by the ! # glimmer of the half-extinguished light, I saw the dull yellow ! # eye of the creature open; it breathed hard, and a convulsive ! # motion agitated its limbs. ! # ! # How can I describe my emotions at this catastrophe, or how ! # delineate the wretch whom with such infinite pains and care I ! # had endeavoured to form? His limbs were in proportion, and I ! # had selected his features as beautiful. Beautiful!--Great God! ! # His yellow skin scarcely covered the work of muscles and ! # arteries beneath; his hair was of a lustrous black, and ! # flowing; his teeth of a pearly whiteness; but these luxuriances ! # only formed a more horrid contrast with his watery eyes, that ! # seemed almost of the same colour as the dun white sockets in ! # which they were set, his shrivelled complexion and straight ! # black lips. ! ¶ì¤·¤¤¤Û¤É¤ÎÇ®°Õ¤Ë¶î¤é¤ì¡¤¤ï¤¿¤·¤Ï­¤â¤È¤Ë²£¤¿¤ï¤ëÌ¿¤Î¤Ê¤¤ÊªÂÎ ! ¤ËÀ¸Ì¿¤Î²Ð²Ö¤ò¿á¤­¤³¤à¤Ù¤¯¡¤À¸Ì¿¤Î´ï³£¤ò¤Þ¤ï¤ê¤Ë½¸¤á¤Þ¤·¤¿¡¥¤¹ ! ¤Ç¤Ë¸áÁ°°ì»þ¡¥±«¤¬¤Ñ¤é¤Ñ¤é¤È±¢µ¤¤ËÁë¤òÂǤÁ¡¤Ï¹¿¤¤Ïº£¤Ë¤âdz¤¨¤Ä ! ¤­¤è¤¦¤È¤¹¤ë¡¤¤½¤Î¤È¤­¡¤¤Ê¤«¤Ð¾Ã¤¨¤«¤±¤¿Èù¤«¤Ê¸÷¤Ë¡¤¤ï¤¿¤·¤ÏÀ¸ ! ¤­Êª¤Î¤É¤ó¤è¤ê²«¿§¤¤Ìܤ¬¤Ò¤é¤¯¤Î¤ò¸«¤¿¤Î¤Ç¤¹¡¥¤½¤ì¤Ï½Å¤¯Â©¤ò¤Ä ! ¤­¡¤áÛÚ»¤¬¼ê­¤òÁö¤ê¤Þ¤·¤¿¡¥ ! ! ¤³¤ÎÂçµÍ¤á¤Î¤ï¤¿¤·¤Î´¶¾ð¤ò¸ì¤ë¤³¤È¤Ê¤É¤Ç¤­¤ë¤Ç¤·¤ç¤¦¤«¡¥¤É¤¦ÉÁ ! ¤¤¤¿¤é¤¤¤¤¤Î¤Ç¤·¤ç¤¦¡¤·×¤êÃΤì¤ë¶ì¿´¤ÈÍÑ¿´¤ò¤«¤µ¤Í¤ÆÁϤê¤À¤½¤¦ ! ¤È¤·¤Æ¤­¤¿¡¤¤³¤Î¤¢¤µ¤Þ¤·¤¤À¸¤­Êª¤ò¡©»Í»è¤Ï¶ÑÀ°¤¬¤È¤ì¡¤ÍÆËƤâÈþ ! ¤·¤¯Áª¤ó¤Ç¤¢¤Ã¤¿¡¥Èþ¤·¤¯¡ª--¤³¤ì¤¬Èþ¤·¤¤¤È¡ª²«¿§¤¤ÈéÉæ¤Ï²¼¤Î¶Ú ! Æù¤äÆ°Ì®¤ÎºîÍѤò¤Û¤È¤ó¤É±£¤µ¤º¡¤È±¤Ï¹õ¤¯¤Ä¤ä¤ä¤«¤Ë¤¹¤é¤ê¤È¿­¤Ó¡¤ ! »õ¤ÎÇò¤µ¤Ï¿¿¼î¤Î¤è¤¦¡¥¤À¤¬¤½¤ó¤ÊìÔÂô¤Ï¡¤¤¤¤Ã¤½¤¦¤ª¤¾¤Þ¤·¤¯¤­¤ï ! ¤À¤¿¤»¤ë¤Ð¤«¤ê¤Ç¤·¤¿¡¥¤Ï¤á¤³¤Þ¤ì¤¿ÇöÃã¤Î´ããݤȤۤȤó¤ÉƱ¤¸¿§¤Ë ! ¸«¤¨¤ë¤¦¤ë¤ó¤ÀÌÜ¡¤¤ä¤Ä¤ì¤¿¤è¤¦¤Ê´é¤Î¿§¡¤°ìʸ»ú¤Î¹õ¤¤¿°¤ò¡¥ [ Frankenstein, by Mary Wollstonecraft Shelley ] + [ ¥Õ¥é¥ó¥±¥ó¥·¥å¥¿¥¤¥ó¡¤Áϸµ¿äÍýʸ¸Ë¡¤¿¹²¼µÝ»ÒÌõ ] + ̸¤ÎÆÞ fog cloud ! # The fog comes ! # on little cat feet. ! # ! # It sits looking ! # over harbor and city ! # on silent haunches ! # and then moves on. ! ̸¤¬¤¯¤ë ! ¾®¤µ¤ÊÇ­¤Î­¤Ä¤­¤Ç ! ! ÀŤ«¤Ë¹ø¤ò¤ª¤í¤·¤Æ ! ¹Á¤È³¹¤ò ! į¤á¤ï¤¿¤·¤Æ¤¤¤ë ! ¤½¤ì¤«¤éÆ°¤¤¤Æ¤¤¤¯¡¥ [ Fog, by Carl Sandburg ] + [ ̸, °ÂÆ£°ìϺ¡¦¿·ÁÒ½Ó°ìÌõ ] + # À¤³¦»í¿ÍÁ´½¸12 ¥Ç¥£¥­¥ó¥½¥ó¡¦¥Õ¥í¥¹¥È¡¦¥µ¥ó¥É¥Ð¡¼¥°»í½¸, + # °ÂÆ£°ìϺ¡¦¿·ÁÒ½Ó°ìÌõ, ¿·Ä¬¼Ò, 1968, pp.238-239 + ¥­¥Î¥³ + ¶ÝÎà *fung* ! # Fungi, division of simple plants that lack chlorophyll, true ! # stems, roots, and leaves. Unlike algae, fungi cannot ! # photosynthesize, and live as parasites or saprophytes. The ! # division comprises the slime molds and true fungi. True ! # fungi are multicellular (with the exception of yeasts); the ! # body of most true fungi consists of slender cottony ! # filaments, or hyphae. All fungi are capable of asexual ! # reproduction by cell division, budding, fragmentation, or ! # spores. Those that reproduce sexually alternate a sexual ! # generation (gametophyte) with a spore-producing one. The ! # four classes of true fungi are the algaelike fungi (e.g., ! # black bread mold and downy mildew), sac fungi (e.g., yeasts, ! # powdery mildews, truffles, and blue and green molds such as ! # Penicillium), basidium fungi (e.g., mushrooms and puffballs) ! # and imperfect fungi (e.g., species that cause athlete's foot ! # and ringworm). Fungi help decompose organic matter (important ! # in soil renewal); are valuable as a source of antibiotics, ! # vitamins, and various chemicals; and for their role in ! # fermentation, e.g., in bread and alcoholic beverage ! # production. ! ¶ÝÎà¡¥¥¯¥í¥í¥Õ¥£¥ë¡¤¿¿·Ô¡¤º¬¡¤Íդη礱¤¿Ã±½ã¿¢Êª¤Ë°¤¹¤ë¡¥ÁôÎà ! ¤È°ã¤Ã¤Æ¶ÝÎà¤Ï¸÷¹çÀ®¤¬¤Ç¤­¤º¡¤¿¢Êª¤äưʪ»à³¼¤Ë´óÀ¸¤·¤ÆÀ¸¤­¤Æ¤¤¤ë¡¥ ! ¿¿¶ÝÎà¤ÏÊÑ·Á¶Ý¤È¿¿¶Ý¤«¤é¤Ê¤ë¡¥¿¿¶Ý¤Ï¿ºÙ˦(¥¤¡¼¥¹¥È¶Ý¤ò½ü¤¯)À¸Êª ! ¤Ç¡¤¤Û¤È¤ó¤É¤Î¿¿¶ÝÎà¤ÎÂΤϺ٤¤ÌʤΤ褦¤ÊñÁ¡°Ý¤ä¶Ý»å¤«¤é¤Ê¤ë¡¥Á´ ! ¤Æ¤Î¶ÝÎà¤ÏºÙ˦ʬÎö¡¤È¯²ê¡¤Ê¬Îö¡¤Ë¦»Ò¤Ë¤è¤ë̵À­À¸¿£¤¬²Äǽ¤Ç¤¢¤ë¡¥ ! Í­À­À¸¿£¤ò¤¹¤ëʪ¤ÏÍ­À­À¤Âå(ÇÛ¶öÂÎ)¤È˦»ÒÂÎÀ¤Â夬¸ò¸ß¤Ë¤¢¤ë¡¥¿¿¶Ý ! Îà¤Î4¤Ä¤Î¹Ë¤ÏÊÜÌÓ¶ÝÎà(Î㤨¤Ð¹õ¥Ñ¥ó¥«¥Ó¤ä¡¤¤Ù¤ÈɶÝ)¡¤»Òǹ¶ÝÎà(Î㤨¤Ð¡¤ ! ¥¤¡¼¥¹¥È¶Ý¡¤Çò¥«¥Ó¡¤¥È¥ê¥å¥Õ¡¤¥Ú¥Ë¥·¥ê¥ó¤Î¤è¤¦¤ÊÀÄÎÐ¥«¥Ó)¡¤Ã´»Ò¶Ý ! Îà(Î㤨¤Ð¡¤¥Þ¥Ã¥·¥å¥ë¡¼¥à¡¤¥Û¥³¥ê¥¿¥±)¡¤ÉÔ´°Á´¶ÝÎà(Î㤨¤Ð¡¤¤ß¤º¤à ! ¤·¤Î¸¶°ø¤È¤Ê¤ë¼ï¤äÇòáý¶Ý)¤Ç¤¢¤ë¡¥¶ÝÎà¤ÏÍ­µ¡ÂΤòʬ²ò¤¹¤ë¼ê½õ¤±¤ò¤· ! (ÅÚ¾í¤ÎºÆÀ¸¤Ë½ÅÍ×)¡¤¹³À¸Êª¼Á¡¤¥Ó¥¿¥ß¥ó¡¤ÍÍ¡¹¤Ê²½³ØÌôÉʤθ¶ÎÁ¤È¤·¤Æ ! ¤¢¤ë¤¤¤Ï¤½¤Îȯ¹ÚºîÍÑ(Î㤨¤Ð¡¤¥Ñ¥ó¤ä¥¢¥ë¥³¡¼¥ë°ûÎÁÀ¸À®)¤Ë½ÅÍפʤâ¤Î ! ¤Ç¤¢¤ë¡¥ [ The Concise Columbia Encyclopedia ] + *¥¬¡¼¥´¥¤¥ë *gargoyle And so it came to pass that while Man ruled on Earth, the gargoyles waited, lurking, hidden from the light. Reborn *************** *** 738,829 **** his most ancient adversary, the gargoyles. [ Excerpt from the opening narration to the movie _Gargoyles_, written by Stephen and Elinor Karpf ] geryon ! Geryon is an arch-devil sometimes called the Wild Beast, ! attacking with his claws and poison sting. His ranking in ! Hell is rumored to be quite low. ghost ! And now the souls of the dead who had gone below came swarming ! up from Erebus -- fresh brides, unmarried youths, old men ! with life's long suffering behind them, tender young girls ! still nursing this first anguish in their hearts, and a great ! throng of warriors killed in battle, their spear-wounds gaping ! yet and all their armour stained with blood. From this ! multitude of souls, as they fluttered to and fro by the ! trench, there came a moaning that was horrible to hear. ! Panic drained the blood from my cheeks. [ The Odyssey, (chapter Lambda), by Homer ] *giant giant humanoid ! Giants have always walked the earth, though they are rare in ! these times. They range in size from little over nine feet ! to a towering twenty feet or more. The larger ones use huge ! boulders as weapons, hurling them over large distances. All ! types of giants share a love for men - roasted, boiled, or ! fried. Their table manners are legendary. ~gnome ??m* gnome* gnomish wizard ! ... And then a gnome came by, carrying a bundle, an old ! fellow three times as large as an imp and wearing clothes of ! a sort, especially a hat. And he was clearly just as frightened ! as the imps though he could not go so fast. Ramon Alonzo ! saw that there must be some great trouble that was vexing ! magical things; and, since gnomes speak the language of men, and ! will answer if spoken to gently, he raised his hat, and asked ! of the gnome his name. The gnome did not stop his hasty ! shuffle a moment as he answered 'Alaraba' and grabbed the rim ! of his hat but forgot to doff it. ! 'What is the trouble, Alaraba?' said Ramon Alonzo. ! 'White magic. Run!' said the gnome .. ! [ The Charwoman's Shadow, by Lord Dunsany ] goblin ! Now goblins are cruel, wicked, and bad-hearted. They make ! no beautiful things, but they make many clever ones. They ! can tunnel and mine as well as any but the most skilled ! dwarves, when they take the trouble, though they are usually ! untidy and dirty. Hammers, axes, swords, daggers, pickaxes, ! tongs, and also instruments of torture, they make very well, ! or get other people to make to their design, prisoners and ! slaves that have to work till they die for want of air and ! light. [ The Hobbit, by J.R.R. Tolkien ] gold gold piece zorkmid ! A metal of characteristic yellow colour, the most precious ! metal used as a common commercial medium of exchange. Symbol, ! Au; at. no. 79; at. wt. 197.2. It is the most malleable ! and ductile of all metals, and very heavy (sp. gr., 19.3). ! It is quite unalterable by heat, moisture, and most ! corrosive agents, and therefore well suited for its use in ! coin and jewelry. ! [ Webster's New International Dictionary ! of the English Language, Second Edition ] ~flesh golem *golem ! "The original story harks back, so they say, to the sixteenth ! century. Using long-lost formulas from the Kabbala, a rabbi is ! said to have made an artificial man -- the so-called Golem -- to ! help ring the bells in the Synagogue and for all kinds of other ! menial work. ! "But he hadn't made a full man, and it was animated by some sort ! of vegetable half-life. What life it had, too, so the story ! runs, was only derived from the magic charm placed behind its ! teeth each day, that drew down to itself what was known as the ! `free sidereal strength of the universe.' ! "One evening, before evening prayers, the rabbi forgot to take ! the charm out of the Golem's mouth, and it fell into a frenzy. ! It raged through the dark streets, smashing everything in its ! path, until the rabbi caught up with it, removed the charm, and ! destroyed it. Then the Golem collapsed, lifeless. All that was ! left of it was a small clay image, which you can still see in ! the Old Synagogue." ... [ The Golem, by Gustav Meyrink ] gremlin ! The gremlin is a highly intelligent and completely evil ! creature. It lives to torment other creatures and will go ! to great lengths to inflict pain or cause injury. grid bug These electronically based creatures are not native to this universe. They appear to come from a world whose laws of --- 1268,1442 ---- his most ancient adversary, the gargoyles. [ Excerpt from the opening narration to the movie _Gargoyles_, written by Stephen and Elinor Karpf ] + ¥²¡¼¥ê¥å¥ª¡¼¥ó geryon ! # Geryon is an arch-devil sometimes called the Wild Beast, ! # attacking with his claws and poison sting. His ranking in ! # Hell is rumored to be quite low. ! ¥²¡¼¥ê¥å¥ª¡¼¥ó¤Ï¤È¤­¤ËÌî½Ã¤È¸Æ¤Ð¤ì¤ëÂç°­Ëâ¤Ç¤¢¤ê¡¤ÄÞ¤ÈÆÇ¿Ë¤Ç ! ¹¶·â¤·¤Æ¤¯¤ë¡¥ÃϹö¤Ç¤Î³¬µé¤Ï¶Ë¤á¤ÆÄ㤤¤È±¾¤ï¤ì¤Æ¤¤¤ë¡¥ ! Í©Îî ghost ! # And now the souls of the dead who had gone below came swarming ! # up from Erebus -- fresh brides, unmarried youths, old men ! # with life's long suffering behind them, tender young girls ! # still nursing this first anguish in their hearts, and a great ! # throng of warriors killed in battle, their spear-wounds gaping ! # yet and all their armour stained with blood. From this ! # multitude of souls, as they fluttered to and fro by the ! # trench, there came a moaning that was horrible to hear. ! # Panic drained the blood from my cheeks. ! µî¤Ã¤¿Ë´¼Ô¤ÎÇòÎ¤Á¤¬¡¤Í©Ì½³¦¤«¤éÉ⤫¤Ó¾å¤¬¤Ã¤Æ·²¤¬¤ê´ó¤ë¤Î¤Ï¡¤ ! ¼ã¤¤¾¯½÷¤ä¤Þ¤ÀÆȿȤÎÀÄǯ¤¿¤Á¡¤¤Þ¤¿¤º¤¤¤Ö¤ó¶ìÏ«¤·¤¿(¤é¤·¤¤)Ï·¿Í¤Ê¤É¡¤ ! ¤¢¤ë¤Ï¤Þ¤¿¤ä¤µ¤·¤¤²µ½÷¤Î¡¤À¸¡¹¤·¤¤Äˤߤò¶»¤ËÊú¤¯¤â¤Î¤Ê¤É¡¤ ! ¤Þ¤¿ÂçÀª¤Ï¡¤ÀÄƼ¤ò¤Ï¤á¤¿Áä¤ò¤â¤ÆÆͤ­»¦¤µ¤ì¤ÆË´¤Ã¤¿¤â¤Î¡¤ ! ¤¢¤ë¤ÏÀ蘆¤ËÌ¿¤òÍî¤È¤·¡¤¤Ê¤ª·ì¤Þ¤ß¤ì¤ÊÉð¶ñ¤òÃ失¤¿Éð»Î¤Ê¤É¡¤ ! ¤ª¤Ó¤¿¤À¤·¤¯·ê¤Î¤Þ¤ï¤ê¤Ø¡¤»ÍÊýȬÊý¤«¤é¤Æ¤ó¤Ç¤ó¤Ë·²¤é¤¬¤ê´ó¤Ã¤Æ¡¤ ! ¤ª¤Ã¤½¤í¤·¤¤¶«´­¤Î¤³¤¨¤ò¤¢¤²¤ë¤Î¤Ë¡¤¿§Á󤶤á¤ë¶²Éݤ¬»ä¤òª¤¨¤Þ¤·¤¿¡¥ [ The Odyssey, (chapter Lambda), by Homer ] + [ ´äÇÈʸ¸Ë¡¤¸âÌаìÌõ ] + *µð¿Í *giant giant humanoid ! # Giants have always walked the earth, though they are rare in ! # these times. They range in size from little over nine feet ! # to a towering twenty feet or more. The larger ones use huge ! # boulders as weapons, hurling them over large distances. All ! # types of giants share a love for men - roasted, boiled, or ! # fried. Their table manners are legendary. ! µð¿Í¤Ï¤¤¤Ä¤âÂçÃϤòÊ⤤¤Æ¤¤¤¿¤¬¡¤ºÇ¶á¤Ç¤ÏÈà¤é¤ÏÈó¾ï¤Ë´õ¤Ê¸ºß ! ¤È¤Ê¤Ã¤Æ¤¤¤ë¡¥Èà¤é¤Î¥µ¥¤¥º¤È¸À¤Ã¤¿¤é¡¤9¥Õ¥£¡¼¥È¤¿¤é¤º¤Î¤«¤é ! ¶õ¤Ë¤â¤½¤Ó¤¨¤ë20¥Õ¥£¡¼¥È°Ê¾å¤Î¤â¤Î¤Þ¤Ç¤¤¤ë¡¥Â礭¤Ê¤â¤Î¤ÏµðÂç ! ¤Ê´ä¤òÉð´ï¤È¤·¤Æ»È¤¤¡¤±ó¤¯¤«¤é¤Ç¤â¤½¤ì¤òÅꤲ¤Ä¤±¤ë¡¥Á´¤Æ¤Î¼ï ! Îà¤Îµð¿Í¤Ï¿Í´Ö¡Ê¾Æ¤¤¤¿¤ê¡¤¼Ñ¤¿¤ê¡¤ÍȤ²¤¿¤ê¤·¤¿¤â¤Î¡Ë¤¬Âç¹¥¤­ ! ¤È¤¤¤¦ÅÀ¤Ç¶¦Ä̤·¤Æ¤¤¤ë¡¥Èà¤é¤Î¥Æ¡¼¥Ö¥ë¥Þ¥Ê¡¼¤ÏÅÁÀâŪ¤À¡¥ ! ~*¥¾¥ó¥Ó ! ~*¥ß¥¤¥é ! ¥Î¡¼¥à* ~gnome ??m* gnome* gnomish wizard ! # ... And then a gnome came by, carrying a bundle, an old ! # fellow three times as large as an imp and wearing clothes of ! # a sort, especially a hat. And he was clearly just as frightened ! # as the imps though he could not go so fast. Ramon Alonzo ! # saw that there must be some great trouble that was vexing ! # magical things; and, since gnomes speak the language of men, and ! # will answer if spoken to gently, he raised his hat, and asked ! # of the gnome his name. The gnome did not stop his hasty ! # shuffle a moment as he answered 'Alaraba' and grabbed the rim ! # of his hat but forgot to doff it. ! # 'What is the trouble, Alaraba?' said Ramon Alonzo. ! # 'White magic. Run!' said the gnome .. ! # [ The Charwoman's Shadow, by Lord Dunsany ] ! ... ¤½¤Î¤¢¤È¤«¤é¡¤¾®µ´(¥¤¥ó¥×)¤Î»°Çܤâ¤Û¤É¤â¤¢¤ëÅÚµ´(¥Î¡¼¥à) ! ¤¬¡¤²Ùʪ¤ò¤«¤Ä¤¤¤Ç¶î¤±¤Æ¤­¤¿¡¥ÆÈÆäÎÉþ¡¤¤½¤ì¤Ë¤È¤ê¤ï¤±ÆÈÆäΠ! ˹»Ò¤ò¤«¤Ö¤Ã¤¿¤ä¤Ä¤À¡¥¤³¤ÎÅÚµ´¤Ï¾®µ´¤Û¤É­¤¬Á᤯¤Ê¤¤¤¬¡¤¶±¤¨ ! ¤Æ¤¤¤ë¤³¤È¤ËÊѤê¤Ï¤Ê¤«¤Ã¤¿¡¥¤³¤¦¤·¤¿ËâË¡¤Î̱¤ò¤ª¤Ó¤ä¤«¤¹¤è¤¦ ! ¤Ê°ìÂç»ö¤¬¡¤¿¹¤Î¤Ê¤«¤Ç¤â¤Á¤¢¤¬¤Ã¤¿¤Î¤À¡¥¥é¥â¥ó¡¦¥¢¥é¥ó¥½¤Ï¡¤ ! ÅÚµ´¤¬¿Í´Ö¤Î¸ÀÍÕ¤ò¤·¤ã¤Ù¤ë¾å¤Ë¡¤¿Í´Ö¤ËÀ¼¤ò¤«¤±¤é¤ì¤ì¤Ð¤«¤Ê¤é ! ¤ºÅú¤¨¤ë½¬À­¤ò¤â¤Ã¤Æ¤¤¤¿¤³¤È¤ò»×¤¤¤À¤·¡¤Ë¹»Ò¤ò¤Õ¤ê¾å¤²¤ÆÅÚµ´ ! ¤Î̾Á°¤ò¿Ò¤Í¤¿¡¥ÅÚµ´¤Ï¤¢¤ï¤¿¤À¤·¤¤¶î¤±¤Ã¤³¤ò°ì½Ö¤â¤ä¤á¤Ê¤¤¤Ç¡¤ ! ¼«Ê¬¤Î̾¤ò¡Ö¥¢¥é¥Ð¥Þ¡×¤È¶µ¤¨¤Æ¤¯¤ì¤¿¡¥Ë¹»Ò¤Î¤Õ¤Á¤Ë¤â¼ê¤ò¤ä¤Ã ! ¤¿¤±¤ì¤É¡¤Ã¦¤°¤Î¤Ï˺¤ì¤¿¡¥ ! ¡Ö²¿¤¬µ¯¤­¤¿¤ó¤À¡¤¥¢¥é¥Ð¥Þ¡×¤È¥é¥â¥ó¡¦¥¢¥é¥ó¥½¤¬¿Ö¤¤¤¿¡¥ ! ¡ÖÇò¤¤ËâË¡¤À¤è¡ªÆ¨¤²¤í¡ª¡×ÅÚµ´¤Ï¤½¤¦¤¤¤Ã¤Æɬ»à¤ËÁö¤ê¤Ä¤Å¤±¤¿¡¥ ! [ The Charwoman's Shadow, by Lord Dunsany. ] ! [¥Ï¥ä¥«¥ïʸ¸Ë ¹ÓËó¹¨Ìõ] ! ¥´¥Ö¥ê¥ó goblin ! # Now goblins are cruel, wicked, and bad-hearted. They make ! # no beautiful things, but they make many clever ones. They ! # can tunnel and mine as well as any but the most skilled ! # dwarves, when they take the trouble, though they are usually ! # untidy and dirty. Hammers, axes, swords, daggers, pickaxes, ! # tongs, and also instruments of torture, they make very well, ! # or get other people to make to their design, prisoners and ! # slaves that have to work till they die for want of air and ! # light. ! ¤â¤È¤â¤È¥´¥Ö¥ê¥ó¤Ï¡¤¤¶¤ó¤³¤¯¤Ç¡¤Ê¢¹õ¤¯¤Æ¡¤¤·¤ó¤«¤é°­¤¤¤ä¤Ä ! ¤Ç¤¹¡¥Èþ¤·¤¤¤â¤Î¤òºî¤ê¤À¤»¤Ê¤¤¤¯¤»¤Ë¡¤¼ê¤µ¤­¤Ï¤«¤Ê¤ê¤­¤è¤¦ ! ¤Ç¤¹¡¥¤¤¤Á¤Ð¤ó¤¸¤ç¤¦¤º¤Ê¥É¥ï¡¼¥Õ¤Ë¤Ï¤«¤Ê¤¤¤Þ¤»¤ó¤¬¡¤¤È¤Ë¤« ! ¤¯¥É¥ï¡¼¥Õ¤Ê¤ß¤Ë¥È¥ó¥Í¥ë¤ò·¡¤ê¡¤¹Û»³¤ò·¡¤ê¤Þ¤¹¡¥¤â¤Ã¤È¤â¡¤ ! ¤Õ¤À¤ó¤Ï¤½¤ó¤Ê¤ËƯ¤«¤Ê¤¤¤Ç¡¤¤À¤é¤·¤¬¤Ê¤¯¤Æ¡¤¤è¤´¤ì¤Û¤¦¤À¤¤ ! ¤Ç¤¹¡¥¤Ä¤Á¤ËÉࡤ·õ¤ËûÅᡤ¤Ä¤ë¤Ï¤·¤Ë¤ä¤Ã¤È¤³¡¤¤½¤Î¤Û¤«¤Î ! Éð´ï¤ä¡¤¤Ò¤È¤ò¤¤¤¿¤á¤ëÆ»¶ñ¤Ê¤É¤ò¥´¥Ö¥ê¥ó¤¿¤Á¤Ï¤±¤Ã¤³¤¦¤¸¤ç¤¦ ! ¤º¤Ëºî¤ê¤Þ¤¹¤·¡¤¤Û¤«¤Î¼Ô¤ò»È¤Ã¤Æ»×¤¤¤É¤ª¤ê¤Ëºî¤é¤»¤ë¤³¤È¤â ! ¤¢¤ê¤Þ¤¹¡¥¤Û¤«¤Î¼Ô¤È¤¤¤¦¤Î¤Ï¤Ä¤«¤Þ¤¨¤¿¼Ô¤äÅÛÎ줿¤Á¤Ç¡¤¶õµ¤ ! ¤È¸÷¤¬¤¿¤ê¤Ê¤¤¤Ç»à¤ó¤Ç¤·¤Þ¤¦¤Þ¤Ç¡¤Æ¯¤«¤µ¤ì¤ë¤Î¤¬¤­¤Þ¤ê¤Ç¤¹¡¥ [ The Hobbit, by J.R.R. Tolkien ] + [¥Û¥Ó¥Ã¥È¤ÎËÁ¸±¡¤´äÇȾ¯Ç¯Ê¸¸Ë¡¤À¥ÅÄÄçÆóÌõ] + ¥´¡¼¥ë¥É + ¶â gold gold piece zorkmid ! # A metal of characteristic yellow colour, the most precious ! # metal used as a common commercial medium of exchange. Symbol, ! # Au; at. no. 79; at. wt. 197.2. It is the most malleable ! # and ductile of all metals, and very heavy (sp. gr., 19.3). ! # It is quite unalterable by heat, moisture, and most ! # corrosive agents, and therefore well suited for its use in ! # coin and jewelry. ! # [ Webster's New International Dictionary ! # of the English Language, Second Edition ] ! ÆÈÆäβ«¿§¤ò¤·¤¿¶â°¤Ç¡¤ºÇ¤â´õ¾¯¤Ê¶â°¡¤¾¦¶È¤Ë¤ª¤¤¤Æ¶¦Ä̤ÎѼ ! ´¹²ÁÃͤȤ·¤ÆÍѤ¤¤é¤ì¤¿¡¥¸µÁǵ­¹æAu¡¤¸µÁÇÈÖ¹æ79¡¤¸¶»ÒÎÌ197.2¡¥ ! ¤¢¤é¤æ¤ë¶â°¤ÎÃæ¤Ç¡¤¤â¤Ã¤È¤âŸÀ­¤È±äÀ­¤ËÉ٤ߡ¤¤Þ¤¿¡¤¤«¤Ê¤ê½Å ! ¤¤(Èæ½Å19.3)¡¥Ç®¡¤¼¾µ¤¡¤Éå¿©¤ËÈó¾ï¤Ë¶¯¤¯¡¤¤½¤Î¤¿¤á²ßÊÀ¤äÊõÀÐ ! Áõ¾þ¤ËŬ¤¹¤ë¡¥ ! [ ¥¦¥§¥Ö¥¹¥¿¡¼±Ñ¸ì¼­Åµ2ÈÇ ] ! ~Æù¤Î* ! *¥´¡¼¥ì¥à ~flesh golem *golem ! # "The original story harks back, so they say, to the sixteenth ! # century. Using long-lost formulas from the Kabbala, a rabbi is ! # said to have made an artificial man -- the so-called Golem -- to ! # help ring the bells in the Synagogue and for all kinds of other ! # menial work. ! # "But he hadn't made a full man, and it was animated by some sort ! # of vegetable half-life. What life it had, too, so the story ! # runs, was only derived from the magic charm placed behind its ! # teeth each day, that drew down to itself what was known as the ! # `free sidereal strength of the universe.' ! # "One evening, before evening prayers, the rabbi forgot to take ! # the charm out of the Golem's mouth, and it fell into a frenzy. ! # It raged through the dark streets, smashing everything in its ! # path, until the rabbi caught up with it, removed the charm, and ! # destroyed it. Then the Golem collapsed, lifeless. All that was ! # left of it was a small clay image, which you can still see in ! # the Old Synagogue." ... ! # [ The Golem, by Gustav Meyrink ] ! ¡Ö¤³¤È¤Îµ¯¤³¤ê¤Ï½½¼·À¤µª¤Ë¤µ¤«¤Î¤Ü¤ë¤È¸À¤ï¤ì¤Æ¤ë¡¥¥«¥Ð¥é¤Î¤¤¤Þ ! ¤Ç¤Ï»¶°ï¤·¤Æ¤·¤â¤¦¤¿µ¬Äê½ñ¤Ë½¾¤Ã¤Æ¡¤¤¢¤ëËÒ»Õ¤¬¡¤²¼Ãˤˤ·¤Æ¶µ²ñ ! Ʋ¤Î¾â¤ò¤Ä¤«¤»¤¿¤ê¡¤¤¤¤í¤ó¤Ê»¨ÍѤò¤µ¤»¤ë¤Ä¤â¤ê¤Ç¿Í¤¿Í´Ö¤ò---- ! ¤Ä¤Þ¤ê¥´¡¼¥ì¥à¤ò¤À¤Ê----¤³¤·¤é¤¨¤¿¤È¸À¤¦¤ó¤À¡¥ ! ! ¤È¤³¤í¤¬¤Þ¤È¤â¤Ê¿Í´Ö¤¬¤Ç¤­¤º¤Ë¡¤¤½¤¤¤Ä¤Ë¤ÏÆ߽Ťʡ¤È¾Ê¬ÃÔÊò¤Î¡¤ ! ¿¢Êª¤ß¤¿¤¤¤ÊÀ¸Ì¿¤·¤«½É¤é¤ó¤«¤Ã¤¿¤ó¤À¤Ê¡¥¤·¤«¤â¤½¤ÎÀ¸Ì¿¤âÃë´Ö¤À ! ¤±¤Î¤â¤ó¤Ç¡¤¤½¤¤¤Ä¤Î»õ¤Î¤¦¤·¤í¤ËŽ¤Ã¤¿¸îÉä¤ÎÎϤDZ§Ãè¤ÎÀ±¤Î¡¤¤¢ ! ¤¤¤Æ¤ë¥¨¥Í¥ë¥®¡¼¤ò¼Ú¤ê¤Æ¤¿¤ó¤À¤½¤¦¤À¡¥ ! ! ¤¢¤ëÈդΤ³¤È¡¤¤½¤ÎËÒ»Õ¤¬Ìë¤Îµ§¤ê¤Î¤Þ¤¨¤Ë¥´¡¼¥ì¥à¤Î¸ý¤«¤é¸îÉä¤ò ! ¤Ï¤º¤¹¤Î¤ò˺¤ì¤¿¤é¡¤¥´¡¼¥ì¥à¤Î¤ä¤ÄµÞ¤Ë¶¸Ë½¤Ë¤Ê¤Ã¤Æ¡¤Î¢Ä®¤Î°Å°Ç ! ¤ò¶¸¤¤¤Þ¤ï¤ê¡¤½Ð¤¯¤ï¤¹¤â¤Î¤òÊҤäѤ·¤«¤é᤭¤Ä¤Ö¤·¤¿¡¥ ! ! ¤·¤Þ¤¤¤ËËÒ»Õ¤¬ÂÎÅö¤ê¤ò¤·¤Æ¡¤¤ä¤Ã¤È¸îÉä¤ò¤Ï¤¬¤·¤¿¤ó¤À¤½¤¦¤À¡¥ ! ! ¤½¤·¤¿¤é¤½¤¤¤Ä¤Ï¤¤¤Î¤Á¤ò¤Ê¤¯¤·¤Æ¤Ö¤ÃÅݤì¤Æ¤·¤Þ¤¤¡¤¤¢¤È¤Ë»Ä¤Ã¤¿ ! ¤Î¤Ï¾®¿Í¤Î¤«¤¿¤Á¤ò¤·¤¿ÅÚ¤¯¤ì¤À¤±¤À¤Ã¤¿¤½¤¦¤À¡¥¤¤¤Þ¤Ç¤â¤½¤ÎÅÚ¤¯ ! ¤ì¤Ï¥¢¥ë¥È¥Î¥¤¶µ²ñƲ¤ËŸ¼¨¤µ¤ì¤Æ¤ë¤±¤É¡× ... [ The Golem, by Gustav Meyrink ] + [ ¥´¡¼¥ì¥à, º£Â¼¹§Ìõ, ²Ï½Ð½ñ˼¿·¼Ò ] + ¥°¥ì¥à¥ê¥ó gremlin ! # The gremlin is a highly intelligent and completely evil ! # creature. It lives to torment other creatures and will go ! # to great lengths to inflict pain or cause injury. ! ¥°¥ì¥à¥ê¥ó¤Ï¹â¤¤ÃÎǽ¤ò¤â¤Ä¡¤¤Ò¤É¤¯¼Ù°­¤ÊÀ¸¤­Êª¤Ç¤¢¤ë¡¥Â¾¤ÎÀ¸ ! ¤­Êª¤òº¤¤é¤»¤ë¤¿¤á¤ËÀ¸¤­¤Æ¤¤¤Æ¡¤¶ìÄˤ䡤¾ã³²¤òÍ¿¤¨¤è¤¦¤È¤¹¤ë¡¥ ! ¥°¥ê¥Ã¥É¥Ð¥° grid bug These electronically based creatures are not native to this universe. They appear to come from a world whose laws of *************** *** 833,1003 **** the beam connection, Yori. You two can keep a watch out for grid bugs." Tron paced forward along the slender catwalk that still seemed awfully insubstantial to Flynn, though he ! knew it to be amazingly sturdy. He gazed after Tron, asking himself what in the world a grid bug was, and hoping that the beam connection -- to which he'd given no thought whatsoever until this moment -- was healthy and sound." [ Tron, novel by Brian Daley, story by Steven Lisberger ] gunyoki ! The samurai's last meal before battle. It was usually made ! up of cooked chestnuts, dried seaweed, and sake. hachi ! Hachi was a dog that went with his master, a professor, to ! the Shibuya train station every morning. In the afternoon, ! when his master was to return from work Hachi would be there ! waiting. One day his master died at the office, and did not ! return. For over ten years Hachi returned to the station ! every afternoon to wait for his master. When Hachi died a ! statue was erected on the station platform in his honor. It ! is said to bring you luck if you touch his statue. heart of ahriman ! The other three drew in their breath sharply, and the dark, ! powerful man who stood at the head of the sarcophagus whispered: ! "The Heart of Ahriman!" The other lifted a quick hand ! for silence. Somewhere a dog began howling dolefully, and a ! stealthy step padded outside the barred and bolted door. ... ! But none looked aside from the mummy case over which the man ! in the ermine-trimmed robe was now moving the great flaming ! jewel, while he muttered an incantation that was old when ! Atlantis sank. The glare of the gem dazzled their eyes, so ! that they could not be sure what they saw; but with a ! splintering crash, the carven lid of the sarcophagus burst ! outward as if from some irresistible pressure applied from ! within and the four men, bending eagerly forward, saw the ! occupant -- a huddled, withered, wizened shape, with dried ! brown limbs like dead wood showing through moldering bandages. ! "Bring that thing back?" muttered the small dark man who ! stood on the right, with a short, sardonic laugh. "It is ! ready to crumble at a touch. We are fools ---" [ Conan The Conqueror, by Robert E. Howard ] hell hound* ! Hell hounds are fire-breathing canines from another plane of ! existence brought here in the service of evil beings. A hell ! hound resembles a large hound with rust-red or red-brown fur, ! and red, glowing eyes. The markings, teeth, and tongue are ! soot black. It stands two to three feet high at the shoulder ! and has a distinct odour of smoke and sulphur. The baying ! sounds it makes have an eerie, hollow tone that sends a shiver ! through any who hear them. hermes ! Messenger and herald of the Olympians. Being required to do ! a great deal of travelling and speaking in public, he became ! the god of eloquence, travellers, merchants, and thieves. He ! was one of the most energetic of the Greek gods, a ! Machiavellian character full of trickery and sexual vigour. ! Like other Greek gods, he is endowed with not-inconsiderable ! sexual prowess which he directs towards countryside nymphs. ! He is a god of boundaries, guardian of graves and patron deity ! of shepherds. He is usually depicted as a handsome young ! man wearing winged golden sandals and holding a magical ! herald's staff consisting of intertwined serpents, the ! kerykeion. He is reputedly the only being able to find his way ! to the underworld ferry of Charon and back again. He is said ! to have invented, among other things, the lyre, Pan's Pipes, ! numbers, the alphabet, weights and measures, and sacrificing. hezrou ! "Hezrou" is the common name for the type II demon. It is ! among the weaker of demons, but still quite formidable. hobbit ! Hobbits are an unobtrusive but very ancient people, more ! numerous formerly than they are today; for they love peace ! and quiet and good tilled earth: a well-ordered and well- ! farmed countryside was their favourite haunt. They do not ! and did not understand or like machines more complicated ! than a forge-bellows, a water-mill, or a handloom, although ! they were skillful with tools. Even in ancient days they ! were, as a rule, shy of "the Big Folk", as they call us, and ! now they avoid us with dismay and are becoming hard to find. ! [ The Fellowship of the Ring, by J.R.R. Tolkien ] hobgoblin ! Hobgoblin. Used by the Puritans and in later times for ! wicked goblin spirits, as in Bunyan's "Hobgoblin nor foul ! friend", but its more correct use is for the friendly spirits ! of the brownie type. In "A midsummer night's dream" a ! fairy says to Shakespeare's Puck: ! Those that Hobgoblin call you, and sweet Puck, ! You do their work, and they shall have good luck: ! Are you not he? ! and obviously Puck would not wish to be called a hobgoblin ! if that was an ill-omened word. ! Hobgoblins are on the whole, good-humoured and ready to be ! helpful, but fond of practical joking, and like most of the ! fairies rather nasty people to annoy. Boggarts hover on the ! verge of hobgoblindom. Bogles are just over the edge. ! One Hob mentioned by Henderson, was Hob Headless who haunted ! the road between Hurworth and Neasham, but could not cross ! the little river Kent, which flowed into the Tess. He was ! exorcised and laid under a large stone by the roadside for ! ninety-nine years and a day. If anyone was so unwary as to ! sit on that stone, he would be unable to quit it for ever. ! The ninety-nine years is nearly up, so trouble may soon be ! heard of on the road between Hurworth and Neasham. [ A Dictionary of Fairies, by Katharine Briggs ] hom*nculus A homunculus is a creature summoned by a mage to perform some ! particular task. They are particularly good at spying. They ! are smallish creatures, but very agile. They can put their victims to sleep with a venomous bite, but due to their size, the effect does not last long on humans. ! "Tothapis cut him off. 'Be still and hearken. You will travel aboard the sacred wingboat. Of it you may not have heard; but it will bear you thither in a night and a day and a night. With you will go a homunculus that can relay your words to me, and mine to you, across the leagues between at the speed of thought.'" [ Conan the Rebel, by Poul Anderson] horned devil ! Horned devils lack any real special abilities, though they ! are quite difficult to kill. *horsem* death famine pestilence war hunger ! [Pestilence:] And I saw when the Lamb opened one of the seals, and I heard, as ! it were the noise of thunder, one of the four beasts saying, Come and see. And ! I saw, and behold a white horse: and he that sat on him had a bow; and a crown ! was given unto him: and he went forth conquering, and to conquer. ! ! [War:] And when he had opened the second seal, I heard the second beast say, ! Come and see. And there went out another horse that was red: and power was ! given to him that sat thereon to take peace from the earth, and that they ! should kill one another: and there was given unto him a great sword. ! ! [Famine:] And when he had opened the third seal, I heard the third beast say, ! Come and see. And I beheld, and lo a black horse; and he that sat on him had ! a pair of balances in his hand. And I heard a voice in the midst of the four ! beasts say, A measure of wheat for a penny, and three measures of barley for a ! penny; and see thou hurt not the oil and the wine. ! ! [Death:] And when he had opened the fourth seal, I heard the voice of the ! fourth beast say, Come and see. And I looked, and behold a pale horse: and his ! name that sat on him was Death, and Hell followed with him. And power was ! given unto them over the fourth part of the earth, to kill with sword, and with ! hunger, and with death, and with the beasts of the earth. ! [ Revelations of John, 6:1-8 ] huan*ti ! The first of five mythical Chinese emperors, Huan Ti is known ! as the yellow emperor. He rules the _moving_ heavens, as ! opposed to the _dark_ heavens. He is an inventor, said to ! have given mankind among other things, the wheel, armour, and ! the compass. He is the god of fortune telling and war. hu*h*eto*l minion of huhetotl ! Huehuetotl, or Huhetotl, which means Old God, was the Aztec ! (classical Mesoamerican) god of fire. He is generally ! associated with paternalism and one of the group classed ! as the Xiuhtecuhtli complex. He is known to send his ! minions to reek havoc upon ordinary humans. [ after the Encyclopedia of Gods, by Michael Jordan ] humanoid ! Humanoids are all approximately the size of a human, and may ! be mistaken for one at a distance. They are usually of a ! tribal nature, and will fiercely defend their lairs. Usually ! hostile, they may even band together to raid and pillage ! human settlements. human acolyte apprentice --- 1446,1789 ---- the beam connection, Yori. You two can keep a watch out for grid bugs." Tron paced forward along the slender catwalk that still seemed awfully insubstantial to Flynn, though he ! knew it to be amazingly sturdy. He gazed after Tron, asking himself what in the world a grid bug was, and hoping that the beam connection -- to which he'd given no thought whatsoever until this moment -- was healthy and sound." [ Tron, novel by Brian Daley, story by Steven Lisberger ] + ´ÝÌô gunyoki ! # The samurai's last meal before battle. It was usually made ! # up of cooked chestnuts, dried seaweed, and sake. ! »ø¤¬À襤¤ÎÁ°¤Ë¿©¤Ù¤ëµæ¶Ë¤Î¿©»ö¡¥ÉáÄÌ¡¤¾¡¤Á·ª¡¤¥³¥ó¥Ö¡¤¼ò¤«¤é ! ¤Ê¤ë¡¥ ! ¥Ï¥Á¸ø hachi ! # Hachi was a dog that went with his master, a professor, to ! # the Shibuya train station every morning. In the afternoon, ! # when his master was to return from work Hachi would be there ! # waiting. One day his master died at the office, and did not ! # return. For over ten years Hachi returned to the station ! # every afternoon to wait for his master. When Hachi died a ! # statue was erected on the station platform in his honor. It ! # is said to bring you luck if you touch his statue. ! ¥Ï¥Á¸ø¤Ï¶µ¼ø¤Ç¤¢¤ë¼ç¿Í¤Ë»Å¤¨ËèÄ«½Âë±Ø¤Þ¤ÇÄ̤äƤ¤¤¿¸¤¤Ç¤¢¤ë¡¥ ! ¸á¸åÈà¤Î¼ç¿Í¤¬»Å»ö¤«¤éÌá¤Ã¤Æ¤¯¤ë¤È¤­¤Ë¤Ï¡¤¥Ï¥Á¤Ï¤¤¤Ä¤â±Ø¤Ç ! ÂԤäƤ¤¤¿¡¥¤¢¤ëÆüÈà¤Î¼ç¿Í¤¬»Å»ö¾ì¤Ç»à¤Ë¤â¤¦ÆóÅÙ¤ÈÌá¤Ã¤Æ¤³¤Ê ! ¤¯¤Ê¤Ã¤¿¡¥¤·¤«¤·10ǯ¤â¤ÎËèÆü¡¤¥Ï¥Á¤Ï¸á¸å¤Ë¤Ê¤ë¤È±Ø¤Ø¤ä¤Ã¤ÆÍè¤Æ ! Èà¤Î¼ç¿Í¤Îµ¢¤ê¤òÂԤäƤ¤¤¿¡¥¥Ï¥Á¤¬»à¤ó¤À¤È¤­¡¤Èà¤ò»¾¤¨¡¤±Ø¤Î ! ¥×¥é¥Ã¥È¥Û¡¼¥à¤ËÁü¤¬Î©¤Æ¤é¤ì¤¿¡¥º£¤Ç¤âÁü¤Ë¿¨¤ë¤È¹¬¤»¤Ë¤Ê¤ì¤ë ! ¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥ ! ¥¢¡¼¥ê¥Þ¥ó¤Î¿´Â¡ heart of ahriman ! # The other three drew in their breath sharply, and the dark, ! # powerful man who stood at the head of the sarcophagus whispered: ! # "The Heart of Ahriman!" The other lifted a quick hand ! # for silence. Somewhere a dog began howling dolefully, and a ! # stealthy step padded outside the barred and bolted door. ... ! # But none looked aside from the mummy case over which the man ! # in the ermine-trimmed robe was now moving the great flaming ! # jewel, while he muttered an incantation that was old when ! # Atlantis sank. The glare of the gem dazzled their eyes, so ! # that they could not be sure what they saw; but with a ! # splintering crash, the carven lid of the sarcophagus burst ! # outward as if from some irresistible pressure applied from ! # within and the four men, bending eagerly forward, saw the ! # occupant -- a huddled, withered, wizened shape, with dried ! # brown limbs like dead wood showing through moldering bandages. ! # "Bring that thing back?" muttered the small dark man who ! # stood on the right, with a short, sardonic laugh. "It is ! # ready to crumble at a touch. We are fools ---" ! »°¿Í¤ÎÃç´Ö¤¿¤Á¤Ï»×¤ï¤ºÂ©¤ò°û¤ó¤À¡¥ÛͤÎÁ°¤ËΩ¤Ã¤¿¹õ¤¤µð¿Í¤¬¡¤ ! ¤µ¤µ¤ä¤­À¼¤ò¤¢¤²¤¿¡¥¡Ö¥¢¡¼¥ê¥Þ¥ó¤Î¿´Â¡¤è¡ª¡×ÃˤÏÊÒÊý¤Î¼ê¤Ç¡¤ ! Ãç´Ö¤¿¤Á¤Î¤¶¤ï¤á¤­¤òÀ©¤·¤¿¡¥¤É¤³¤«¤é¤«¡¤Ìµµ¤Ì£¤ÊÌ¤Î±óËÊ ! ¤¨¤¬¤Ò¤Ó¤­¤¢¤¬¤ê¡¤¤«¤ó¤Ì¤­¤ò¤¦¤Á¤ª¤í¤·¤¿Èâ¤Î³°¤Ç¡¤½Å¡¹¤·¤¤ ! ­²»¤¬Ê¹¤³¤¨¤¿¡¥¤À¤¬¡¤Ãˤ¿¤Á¤Î»ëÀþ¤ÏÌÚǵ°Ë(¥ß¥¤¥é)¤ÎÛͤ«¤é ! Æ°¤«¤Ê¤«¤Ã¤¿¡¥¥Æ¥ó¤ÎÌÓÈé¤Ç±ï¼è¤ê¤µ¤ì¤¿Ë¡°á¤Ë¿È¤ò¤Ä¤Ä¤ó¤ÀÃË ! ¤Ï¡¤Ç³¤¨¤ë¤è¤¦¤ÊÊõµå¤òÆ°¤«¤·¤Ê¤¬¤é¡¤¤¢¤Î¥¢¥È¥é¥ó¥Á¥¹¤è¤ê¤â ! ¸Å¤¤¼öʸ¤ò¤¢¤¤¤«¤ï¤é¤º¾§¤¨¤Ä¤Å¤±¤Æ¤¤¤¿¡¥ÊõÀФ層­¤¬Ãˤ¿¤Á ! ¤ÎÆ·¤òâÁÏǤµ¤»¤ë¤¿¤á¤«¡¤¤«¤ì¤é¤Ïº£ÌܤÎÅö¤¿¤ê¤Ë¤·¤Æ¤¤¤ë¤â¤Î ! ¤ÎÀµÂΤò³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¡¥¤À¤¬¼¡¤Î½Ö´Ö¡¤»°¿Í¤ÎÁ° ! ¤ËÃÖ¤«¤ì¤¿Î理ÎÛͤ¬¹ì²»¤È¤È¤â¤ËÇˤé¤ì¤¿¡¥¤Á¤ç¤¦¤É¡¤Äñ¹³¤ò ! µö¤µ¤Ì¤Û¤É¶¯Âç¤Ê°µÎϤ¬ÛͤΤʤ«¤ÇËÄÄ¥¤·¡¤Ä¦¹ï¤ò¤Û¤É¤³¤·¤¿ÛÍ ! ¤Î³¸¤òÂǤÁºÕ¤¤¤¿¤è¤¦¤À¤Ã¤¿¡¥»Í¿Í¤ÎÃˤ¿¤Á¤Ï¤¤¤Ã¤»¤¤¤Ë¿È¤ò¤« ! ¤¬¤á¤Æ¡¤Ãæ¤Ë¤Ï¤¤¤Ã¤Æ¤¤¤ë¤â¤Î¤ò¸«¤Ä¤á¤¿--ÉåÇÔ¤·¡¤äö।·¡¤°à ! ½Ì¤·¤¿¿ÍÂΤ¬¡¤¤½¤³¤Ë²£¤¿¤ï¤Ã¤Æ¤¤¤¿¡¥µà¤Á²Ì¤Æ¤¿ÊñÂÓ¤«¤é¡¤Ëä ! ¤ìÌڤΤ褦¤Ë¤É¤¹¹õ¤¤»Í»è¤Î¹ü¤¬¤«¤¤¤Þ¤ß¤¨¤¿¡¥ ! ¡ÖÀ¸¤­Ê֤俤Τ«¡©¡×±¦Ã¼¤Ë¤¿¤¿¤º¤ó¤Ç¤¤¤¿¿§¤Î¹õ¤¤¾®Ãˤ¬¡¤ÆÇ ! ¤ò´Þ¤ó¤À¾Ð¤ß¤òÉ⤫¤Ù¤Ê¤¬¤é¤µ¤µ¤ä¤¤¤¿¡¥¡Ö»Ø¤ò¿¨¤ì¤¿¤À¤±¤Ç¤â ! ¤³¤Ê¤´¤Ê¤ËÊø¤ì¤½¤¦¤Ç¤Ï¤Ê¤¤¤«¡¥¤ï¤·¤¿¤Á¤Ï¤Ò¤ç¤Ã¤È¤¹¤ë¤È¡¤ÇÏ ! ¼¯¤ò¸«¤¿¤Î¤«¤â¤·¤ì¤ó¤¾--¡× [ Conan The Conqueror, by Robert E. Howard ] + [ À¬Éþ²¦¥³¥Ê¥ó¡¤ÃÄÀ¬ÆóÌõ¡¤¥Ï¥ä¥«¥ïʸ¸Ë ] + ¥Ø¥ê¥ª¥¹ + helios + ¥Ø¥ê¥ª¥¹¡¥ÂÀÍۤοÀ¤Ç¡¤¥Ò¥å¥Ú¥ê¥ª¥ó¤Î»Ò¡¥¥í¡¼¥Þ¿ÀÏäǤϥ½¥ë¤È + ¸Æ¤Ð¤ì¤ë¡¥ + ¥Ø¥ë¥Ï¥¦¥ó¥É* hell hound* ! # Hell hounds are fire-breathing canines from another plane of ! # existence brought here in the service of evil beings. A hell ! # hound resembles a large hound with rust-red or red-brown fur, ! # and red, glowing eyes. The markings, teeth, and tongue are ! # soot black. It stands two to three feet high at the shoulder ! # and has a distinct odour of smoke and sulphur. The baying ! # sounds it makes have an eerie, hollow tone that sends a shiver ! # through any who hear them. ! ¥Ø¥ë¥Ï¥¦¥ó¥É¤Ï±ê¤Î©¤òÅǤ¯¸¤¤Ç¡¤°­Ëâ¤Ë»Å¤¨¤µ¤»¤ë¤¿¤á¤Ë¤³¤ÎÃÏ¤È ! ¤ÏÊ̤μº߳¦¤«¤é»ý¤Á¹þ¤Þ¤ì¤¿¡¥¥Ø¥ë¥Ï¥¦¥ó¥É¤Ï¡¤ÌÓ¤¬ÀÖ»¬¿§¤«ÀÖÃã ! ¿§¤Ç¡¤ÀÖ¤¯Ç³¤¨¤ë¤è¤¦¤ÊÌܤò¤·¤¿Âç·¿¤ÎÎĸ¤¤Ë»÷¤Æ¤¤¤ë¡¥ÂΤÎÌÏÍͤâ ! »õ¤âÀå¤â¤¹¤¹¹õ¤¤¡¥¸ª¤Þ¤Ç¤Î¹â¤µ¤Ï2¥Õ¥£¡¼¥È¤«¤é3¥Õ¥£¡¼¥È¤Ç¡¤ÆÈÆà ! ¤Î±ì¤Èⲫ¤È¤Î½­µ¤¤òɺ¤ï¤»¤Æ¤¤¤ë¡¥¤½¤ÎËʤ¨À¼¤ÏÉÔµ¤Ì£¤Ê¤³¤â¤Ã¤¿ ! ²»¤Ç¡¤¤³¤ì¤òʹ¤¤¤¿¼Ô¤Ë¿È¿Ì¤¤¤òµ¯¤³¤µ¤»¤ë¡¥ ! ¥Ø¥ë¥á¥¹ hermes ! # Messenger and herald of the Olympians. Being required to do ! # a great deal of travelling and speaking in public, he became ! # the god of eloquence, travellers, merchants, and thieves. He ! # was one of the most energetic of the Greek gods, a ! # Machiavellian character full of trickery and sexual vigour. ! # Like other Greek gods, he is endowed with not-inconsiderable ! # sexual prowess which he directs towards countryside nymphs. ! # He is a god of boundaries, guardian of graves and patron deity ! # of shepherds. He is usually depicted as a handsome young ! # man wearing winged golden sandals and holding a magical ! # herald's staff consisting of intertwined serpents, the ! # kerykeion. He is reputedly the only being able to find his way ! # to the underworld ferry of Charon and back again. He is said ! # to have invented, among other things, the lyre, Pan's Pipes, ! # numbers, the alphabet, weights and measures, and sacrificing. ! ¥ª¥ê¥ó¥Ý¥¹¤Î»È¼Ô¤ª¤è¤ÓÅÁÎá´±¡¥Â¿¤¯¤Îι¹Ô¤È±éÀâ¤ò¸ø¤Ë¹Ô¤¦¤³¤È ! ¤¬Í׵ᤵ¤ì¤¿¤Î¤Ç¡¤Èà¤ÏͺÊÛ¡¤Î¹¹Ô¼Ô¡¤¾¦¶È¡¤Åð±¤Î¿À¤Ë¤Ê¤Ã¤¿¡¥Èà ! ¤Ïºöά¤À¤é¤±¤Î¥Þ¥­¥ã¥Ù¥ê¼çµÁ¤ÎÀ­³Ê¤äÀ­ÅªÍ߾𤫤饮¥ê¥·¥¢¤Î¿À¡¹ ! ¤Î¤Ê¤«¤Ç¤â¤â¤Ã¤È¤â¥¨¥Í¥ë¥®¥Ã¥·¥å¤Ê°ì¿Í¤Ç¤¢¤ë¡¥Â¾¤Î¥®¥ê¥·¥¢¤Î¿À ! ¡¹¤Î¤è¤¦¤Ë¡¤Èà¤Ë¤ÏÃÏÊý¤Î¥Ë¥ó¥Õã¤Ë¸þ¤±¤é¤ì¤¿¿ô¿¤¯¤ÎÀ­Åª¤ÊÉðͦ ! ¤¬¤¢¤ë¡¥Èà¤Ï¶­³¦¤Î¿À¤Ç¤¢¤ê¡¤Êè¤ÎÈֿͤǤ¢¤ê¡¤ÍÓ»ô¤¤¤ÎÊݸî¼Ô¤Î¾Ý ! ħ¤Ç¤¢¤ë¡¥Èà¤ÏÄ̾ﱩ¤Î¤Ä¤¤¤¿¶â¤ÎÍúʪ¤òÍú¤­¡¤¥Ø¥Ó¤¬¤«¤é¤ß¤Ä¤¤¤¿ ! ËâË¡¤Î»È¼Ô¤Î¾ó¤ò»ý¤Ã¤¿¤ê¤ê¤·¤¤¼ã¼Ô¤È¤·¤ÆÉÁ¤«¤ì¤ë¡¥Èà¤Ï¥¦¥ï¥µ¤Ç ! ¤Ï¥«¥í¥ó¤Î²¼³¦¤Ø¤ÎÁ¥¤«¤éÌá¤ëÆ»¤ò¸«¤Ä¤±¤é¤ì¤ëÍ£°ì¤Î¼Ô¤Ç¤¢¤ë¡¥Èà ! ¤Ï¾¤Ë¤â¥ê¥é(¸ÅÂ奮¥ê¥·¥¢¤Îè¶×)¤ä¥Ñ¥ó¤Î¥Ñ¥¤¥×¡¤¿ô»ú¡¤¥¢¥ë¥Õ¥¡ ! ¥Ù¥Ã¥È¡¤ÅÙÎ̹ա¤¤¤¤±¤Ë¤¨¤Î¹Ô°Ù¤òȯÌÀ¤·¤¿¤È¸À¤ï¤ì¤ë¡¥ ! ¥Ø¥º¥í¥¦ hezrou ! # "Hezrou" is the common name for the type II demon. It is ! # among the weaker of demons, but still quite formidable. ! ¥Ø¥º¥í¥¦¤ÏÂèII¼ï¤ÎËâ¿À¤ÎÁí¾Î¤Ç¤¢¤ë¡¥°­Ëâ¤ÎÃæ¤Ç¤ÏÈæ³ÓŪ¼å¤¤¤Û ! ¤¦¤Ç¤¢¤ë¤¬¡¤¤½¤ì¤Ç¤â¡¤½½Ê¬¤Ë¼ê¤´¤ï¤¤¡¥ ! ¥Û¥Ó¥Ã¥È hobbit ! # Hobbits are an unobtrusive but very ancient people, more ! # numerous formerly than they are today; for they love peace ! # and quiet and good tilled earth: a well-ordered and well- ! # farmed countryside was their favourite haunt. They do not ! # and did not understand or like machines more complicated ! # than a forge-bellows, a water-mill, or a handloom, although ! # they were skillful with tools. Even in ancient days they ! # were, as a rule, shy of "the Big Folk", as they call us, and ! # now they avoid us with dismay and are becoming hard to find. ! # [ The Fellowship of the Ring, by J.R.R. Tolkien ] ! ¥Û¥Ó¥Ã¥È²¤Ï¡¤¤­¤ï¤á¤Æɽ¤Ë½Ð¤¿¤¬¤é¤Ê¤¤¡¤¤µ¤ê¤Ê¤¬¤é¤Ï¤Ê¤Ï¤À ! ¸Å¤¤¼ï²¤Ç¡¤°ÊÁ°¤Ï¿Í¿ô¤âº£Æü¤È¤Ï¤¯¤é¤Ù¤â¤Î¤Ë¤Ê¤é¤Ê¤¤¤¯¤é¤¤¡¤ ! ¼Â¤Ë¿¤«¤Ã¤¿¡¥¤È¤¤¤¦¤Î¤â¡¤Ê¿Ï¤ÈÀŤ±¤µ¤È¤è¤¯¹Ì¤µ¤ì¤¿ÂçÃϤò ! °¦¤¹¤ë¼ï²¤À¤«¤é¤Ç¤¢¤ë¡¥À°ÃϤ褯¡¤¹Ìºî¤è¤­Åıळ¤½¡¤¤«¤ì¤é ! ¤Î¹¥¤àÀ³½è¤À¤Ã¤¿¡¥¤«¤ì¤é¤ÏÆ»¶ñ¤Î°·¤¤¤¬¤¦¤Þ¤¤¤¯¤»¤Ë¡¤º£¤âÀÎ ! ¤â¡¤Ï§¤È¤Õ¤¤¤´¡¤¿å¼Ö¡¤¤Þ¤¿¤Ï¼ê¿¥¤Ð¤¿¤ÎÎà¤è¤êÊ£»¨¤Êµ¡³£¤Ï¤ï ! ¤«¤é¤º¡¤¤¢¤ë¤¤¤Ï¹¥¤Þ¤Ê¤«¤Ã¤¿¡¥¸ÅÂå¤Ë¤¢¤Ã¤Æ¤¹¤é¡¤¥Û¥Ó¥Ã¥È² ! ¤Ï°ìÈ̤ˡ¤¤«¤ì¤é¤¬¤¤¤¦¤ï¤ì¤ï¤ì¿Í´Ö²¤ÎÄ̾ΡÖÂ礭¤¤¿Í¤¿¤Á¡× ! ¤ò¤¦¤È¤ó¤¸¤Æ¤¤¤¿¤Î¤À¤¬¡¤º£Æü¤Ç¤Ï¤ï¤ì¤ï¤ì¤Î»Ñ¤ò¸«¤ë¤ÈÉݤ줢 ! ¤ï¤Æ¤ÆÈò¤±¤ë¤Î¤Ç¡¤¤«¤ì¤é¤òȯ¸«¤¹¤ë¤³¤È¤Ï¤à¤º¤«¤·¤¯¤Ê¤Ã¤Æ¤­ ! ¤Æ¤¤¤ë¡¥ ! [ The Fellowship of the Ring, by J.R.R. Tolkien ] ! [ ɾÏÀ¼Ò, À¥ÅÄÄçÆóÌõ ] ! ¥Û¥Ö¥´¥Ö¥ê¥ó hobgoblin ! # Hobgoblin. Used by the Puritans and in later times for ! # wicked goblin spirits, as in Bunyan's "Hobgoblin nor foul ! # friend", but its more correct use is for the friendly spirits ! # of the brownie type. In "A midsummer night's dream" a ! # fairy says to Shakespeare's Puck: ! # Those that Hobgoblin call you, and sweet Puck, ! # You do their work, and they shall have good luck: ! # Are you not he? ! # and obviously Puck would not wish to be called a hobgoblin ! # if that was an ill-omened word. ! # Hobgoblins are on the whole, good-humoured and ready to be ! # helpful, but fond of practical joking, and like most of the ! # fairies rather nasty people to annoy. Boggarts hover on the ! # verge of hobgoblindom. Bogles are just over the edge. ! # One Hob mentioned by Henderson, was Hob Headless who haunted ! # the road between Hurworth and Neasham, but could not cross ! # the little river Kent, which flowed into the Tess. He was ! # exorcised and laid under a large stone by the roadside for ! # ninety-nine years and a day. If anyone was so unwary as to ! # sit on that stone, he would be unable to quit it for ever. ! # The ninety-nine years is nearly up, so trouble may soon be ! # heard of on the road between Hurworth and Neasham. ! # [ A Dictionary of Fairies, by Katharine Briggs ] ! ¥Û¥Ö¥´¥Ö¥ê¥ó¤Ï¡¤À¶¶µÅ̤¿¤Á¤Ë¤è¤Ã¤Æ¡¤¤Þ¤¿»þÂ夬²¼¤Ã¤Æ¤«¤é¤Ï¡¤Îã ! ¤¨¤Ð¥¸¥ç¥ó¡¦¥Ð¥Ë¥ä¥ó¤Î¡Ö¥Û¥Ö¥´¥Ö¥ê¥ó¤Ë¤â°­Ëâ¤Ë¤â¤ï¤¿¤·¤Î¿´¤Ï¤Ò ! ¤ë¤Þ¤Ê¤¤¡×¤È¤¤¤¦É½¸½¤¬¼¨¤¹¤è¤¦¤Ë¡¤¼Ù°­¤Ê¥´¥Ö¥ê¥ó²¤ÎÍÅÀº¤ò»Ø¤¹ ! ¤Î¤ËÍѤ¤¤é¤ì¤¿¤¬¡¤¥Ö¥é¥¦¥Ë¡¼·¿¤Î¿Æ¤·¤ß¤ä¤¹¤¤ÍÅÀº¤ò»Ø¤¹¤Î¤ËÍѤ¤ ! ¤ë¤Î¤¬Àµ¤·¤¤¡¥¡Ø²Æ¤ÎÌë¤ÎÌ´¡Ù¤Ç¤Ï¡¤¥·¥§¥¤¥¯¥¹¥Ô¥¢¤Î¥Ñ¥Ã¥¯¤Ë¸þ¤«¤Ã ! ¤ÆÍÅÀº¤¬¤³¤¦¸À¤Ã¤Æ¤¤¤ë¡¥ ! ¡Ö¥Û¥Ö¥´¥Ö¥ê¥óÍͤȤ«¡¤¤ï¤¿¤·¤Î¥Ñ¥Ã¥¯¤È¤« ! ¸Æ¤ó¤Ç¤¯¤ì¤ë¿Í¤¿¤Á¤Î¤¿¤á¤Ë¤Ï¡¤ ! »Å»ö¤ò¤·¤Æ¤ä¤ê¡¤¹¬±¿¤ò¼ø¤±¤ë¡¤ ! ¤½¤Î¥Ñ¥Ã¥¯¤Ê¤ó¤Ç¤·¤ç¤¦¡¤¤¢¤Ê¤¿¤Ï¡©¡× ! ¤â¤·¤â¥Û¥Ö¥´¥Ö¥ê¥ó¤È¤¤¤¦¤Î¤¬°­¤¤¶Á¤­¤Î¤¢¤ë¸ÀÍդʤé¤Ð¡¤¥Ñ¥Ã¥¯¤Ï ! ¤â¤Á¤í¤ó¤½¤¦¸Æ¤Ð¤ì¤ë¤Î¤ò¹¥¤à¤Ï¤º¤¬¤Ê¤¤¡¥ ! ! ³µ¤·¤Æ¥Û¥Ö¥´¥Ö¥ê¥ó¤Ïµ¤¤À¤Æ¤¬¤è¤¯¡¤´î¤ó¤Ç¼ê½õ¤±¤ò¤·¡¤°­¤Õ¤¶¤±¤ò ! ¤¹¤ë¤Î¤¬¹¥¤­¤Ç¡¤¤«¤Ä¤Þ¤¿¤Û¤È¤ó¤É¤ÎÍÅÀº¤ÈƱ¤¸¤è¤¦¤Ë¡¤µ¡·ù¤ò»¤Í ! ¤ë¤È´í¸±¤ÊÏ¢Ãæ¤Ç¤¢¤ë¡¥¥Ü¥¬¡¼¥È¤Ï¥Û¥Ö¥´¥Ö¥ê¥ó¤Ë°¤¹¤ë¤«Â°¤µ¤Ê¤¤ ! ¤«¤Î¶­Ìܤˤ¤¤ë¡¥¥Ü¡¼¥°¥ë¤Ï¤ï¤º¤«¤Ë³°¤ì¤ë¡¥ ! ! ¥Ø¥ó¥À¡¼¥½¥ó¤Ë¤è¤Ã¤Æµ­½Ò¤µ¤ì¤¿¤â¤Î¤Ç¡¤¤è¤ê¼Ù°­¤Ê¥Û¥Ö¤Ë¡Ò¼ó¤Ê¤· ! ¥Û¥Ö¡Ó¤¬¤¤¤ë¡¥¤³¤ì¤Ï¥Ï¡¼¥ï¡¼¥¹¤È¥Ë¡¼¥µ¥à¤Î´Ö¤Îƻϩ¤Ë½ÐËפ·¤¿¤¬¡¤ ! ¥Æ¥£¡¼¥ºÀî¤Ëή¤ì¤³¤à¾®¤µ¤Ê¥±¥ó¥ÈÀî¤òÅϤ뤳¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¡¥¤³ ! ¤Î¥Û¥Ö¤Ï¡¤Ëâ½ü¤±¤ÎÎϤˤè¤Ã¤Æƻü¤ÎÂ礭¤ÊÀФβ¼¤Ë¡¤Ëþ99ǯ¤Î¤¢¤¤ ! ¤ÀÊĤ¸¤³¤á¤é¤ì¤¿¡¥¤â¤·ÉÔÃí°Õ¤Ë¤½¤ÎÀФ˹ø¤ò²¼¤í¤·¤¿¿Í¤Ï¡¤±Êµ×¤Ë ! ¤½¤³¤«¤éÎ¥¤ì¤é¤ì¤Ê¤¯¤Ê¤ë¡¥¤½¤Î99ǯ¤Î´ü¸Â¤¬¤½¤í¤½¤íÌÀ¤±¤è¤¦¤È¤· ! ¤Æ¤¤¤ë¤Î¤Ç¡¤¥Ï¡¼¥ï¡¼¥¹¤È¥Ë¡¼¥µ¥à´Ö¤Îƻϩ¤Ç¡¤²¿¤«»ö·ï¤¬¤â¤Á¤¢¤¬ ! ¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥ [ A Dictionary of Fairies, by Katharine Briggs ] + [ ÍÅÀº»öŵ, Ê¿Ìî·É°ì ¾Ìõ, ÉÚ»³Ë¼ ] + ¥Û¥à¥ó¥¯¥ë¥¹ hom*nculus A homunculus is a creature summoned by a mage to perform some ! particular task. They are particularly good at spying. They ! are smallish creatures, but very agile. They can put their victims to sleep with a venomous bite, but due to their size, the effect does not last long on humans. ! "Tothapis cut him off. 'Be still and hearken. You will travel aboard the sacred wingboat. Of it you may not have heard; but it will bear you thither in a night and a day and a night. With you will go a homunculus that can relay your words to me, and mine to you, across the leagues between at the speed of thought.'" [ Conan the Rebel, by Poul Anderson] + ³Ñ¤Î¤¢¤ë°­Ëâ horned devil ! # Horned devils lack any real special abilities, though they ! # are quite difficult to kill. ! ³Ñ¤Î¤¢¤ë°­Ëâ¤Ë¤ÏÆüì¤ÊǽÎϤ¬Á´¤¯¤Ê¤¤¡¥¤·¤«¤·Åݤ¹¤Î¤ÏÈó¾ï¤Ëº¤ ! Æñ¤Ç¤¢¤ë¡¥ ! ¥Ç¥¹ ! ¥Ú¥¹¥Æ¥£¥ì¥ó¥¹ ! ¥Õ¥§¥ß¥ó *horsem* death famine pestilence war hunger ! # [Pestilence:] And I saw when the Lamb opened one of the seals, and I heard, as ! # it were the noise of thunder, one of the four beasts saying, Come and see. And ! # I saw, and behold a white horse: and he that sat on him had a bow; and a crown ! # was given unto him: and he went forth conquering, and to conquer. ! # ! # [War:] And when he had opened the second seal, I heard the second beast say, ! # Come and see. And there went out another horse that was red: and power was ! # given to him that sat thereon to take peace from the earth, and that they ! # should kill one another: and there was given unto him a great sword. ! # ! # [Famine:] And when he had opened the third seal, I heard the third beast say, ! # Come and see. And I beheld, and lo a black horse; and he that sat on him had ! # a pair of balances in his hand. And I heard a voice in the midst of the four ! # beasts say, A measure of wheat for a penny, and three measures of barley for a ! # penny; and see thou hurt not the oil and the wine. ! # ! # [Death:] And when he had opened the fourth seal, I heard the voice of the ! # fourth beast say, Come and see. And I looked, and behold a pale horse: and his ! # name that sat on him was Death, and Hell followed with him. And power was ! # given unto them over the fourth part of the earth, to kill with sword, and with ! # hunger, and with death, and with the beasts of the earth. ! [Pestilence] ! »ÒÍÓ¤¬¤½¤Î¼·¤Ä¤ÎÉõ°õ¤Î°ì¤Ä¤ò²ò¤¤¤¿»þ¡¤¤ï¤¿¤·¤¬¸«¤Æ¤¤¤ë¤È¡¤»Í¤Ä¤Î ! À¸¤­Êª¤Î°ì¤Ä¤¬¡¤Íë¤Î¤è¤¦¤ÊÀ¼¤Ç¡Ö¤­¤¿¤ì¡×¤È¸Æ¤Ö¤Î¤òʹ¤¤¤¿¡¥¤½¤·¤Æ ! ¸«¤Æ¤¤¤ë¤È¡¤¸«¤è¡¤Çò¤¤ÇϤ¬½Ð¤Æ¤­¤¿¡¥¤½¤·¤Æ¡¤¤½¤ì¤Ë¾è¤Ã¤Æ¤¤¤ë¼Ô¤Ï¡¤ ! µÝ¤ò¼ê¤Ë»ý¤Ã¤Æ¤ª¤ê¡¤¤Þ¤¿´§¤òÍ¿¤¨¤é¤ì¤Æ¡¤¾¡Íø¤Î¾å¤Ë¤â¤Ê¤ª¾¡Íø¤òÆÀ ! ¤è¤¦¤È¤·¤Æ½Ð¤«¤±¤¿¡¥ ! [War] ! »ÒÍÓ¤¬ÂèÆó¤ÎÉõ°õ¤ò²ò¤¤¤¿»þ¡¤ÂèÆó¤ÎÀ¸¤­Êª¤¬¡Ö¤­¤¿¤ì¡×¤È¸À¤¦¤Î¤ò»ä ! ¤Ïʹ¤¤¤¿¡¥¤¹¤ë¤Èº£ÅÙ¤ÏÀÖ¤¤ÇϤ¬½Ð¤Æ¤­¤¿¡¥¤½¤·¤Æ¡¤¤½¤ì¤Ë¾è¤Ã¤Æ¤¤¤ë ! ¼Ô¤Ï¡¤¿Í¡¹¤¬¸ß¤¤¤Ë»¦¤·¹ç¤¦¤è¤¦¤Ë¤Ê¤ë¤¿¤á¤Ë¡¤ÃϾ夫¤éʿϤòÃ¥¤¤¼è ! ¤ë¤³¤È¤¬µö¤µ¤ì¡¤¤Þ¤¿¡¤Â礭¤Ê¤Ä¤ë¤®¤òÍ¿¤¨¤é¤ì¤¿¡¥ ! [Femine] ! ¤Þ¤¿Âè»°¤ÎÉõ°õ¤ò²ò¤¤¤¿»þ¡¤Âè»°¤ÎÀ¸¤­Êª¤¬¡Ö¤­¤¿¤ì¡×¤È¸À¤¦¤Î¤ò»ä¤Ï ! ʹ¤¤¤¿¡¥¤½¤³¤Ç¸«¤Æ¤¤¤ë¤È¡¤¸«¤è¡¤¹õ¤¤ÇϤ¬½Ð¤Æ¤­¤¿¡¥¤½¤·¤Æ¡¤¤½¤ì¤Ë ! ¾è¤Ã¤Æ¤¤¤ë¼Ô¤Ï¡¤¤Ï¤«¤ê¤ò¼ê¤Ë»ý¤Ã¤Æ¤¤¤¿¡¥¤¹¤ë¤È¡¤¤ï¤¿¤·¤Ï»Í¤Ä¤ÎÀ¸ ! ¤­Êª¤Î´Ö¤«¤é½Ð¤ÆÍè¤ë¤È»×¤ï¤ì¤ëÀ¼¤¬¡¤¤³¤¦¸À¤¦¤Î¤òʹ¤¤¤¿¡¤¡Ö¾®Çþ°ì ! ¤Þ¤¹¤Ï°ì¥Ç¥Ê¥ê¡¥ÂçÇþ»°¤Þ¤¹¤â°ì¥Ç¥Ê¥ê¡¥¥ª¥ê¥ÖÌý¤È¤Ö¤È¤¦¼ò¤È¤ò¡¤¤½ ! ¤³¤Ê¤¦¤Ê¡×¡¥ ! [Death] ! »ÒÍÓ¤¬Âè»Í¤ÎÉõ°õ¤ò²ò¤¤¤¿»þ¡¤Âè»Í¤ÎÀ¸¤­Êª¤¬¡Ö¤­¤¿¤ì¡×¤È¸À¤¦À¼¤ò¤ï ! ¤¿¤·¤Ïʹ¤¤¤¿¡¥¤½¤³¤Ç¸«¤Æ¤¤¤ë¤È¡¤¸«¤è¡¤ÀÄÇò¤¤ÇϤ¬½Ð¤Æ¤­¤¿¡¥¤½¤·¤Æ¡¤ ! ¤½¤ì¤Ë¾è¤Ã¤Æ¤¤¤ë¼Ô¤Î̾¤Ï¡Ö»à¡×¤È¸À¤¤¡¤¤½¤ì¤Ë²«Àô¤¬½¾¤Ã¤Æ¤¤¤¿¡¥Èà ! ¤é¤Ë¤Ï¡¤ÃϤλÍʬ¤Î°ì¤ò»ÙÇÛ¤¹¤ë¸¢°Ò¡¤¤ª¤è¤Ó¡¤¤Ä¤ë¤®¤È¡¤¤­¤­¤ó¤È¡¤ ! »à¤È¡¤ÃϤνäé¤È¤Ë¤è¤Ã¤Æ¿Í¤ò»¦¤¹¸¢°Ò¤È¤¬¡¤Í¿¤¨¤é¤ì¤¿¡¥ ! # [ Revelations of John, 6:1-8 ] ! [ ¥è¥Ï¥Í¤ÎÌÛ¼¨Ï¿¡¤6:1-8¡¤¸ý¸ìÌõÀ»½ñ¡¤ÆüËÜÀ»½ñ¶¨²ñ ] ! ²«Äë huan*ti ! # The first of five mythical Chinese emperors, Huan Ti is known ! # as the yellow emperor. He rules the _moving_ heavens, as ! # opposed to the _dark_ heavens. He is an inventor, said to ! # have given mankind among other things, the wheel, armour, and ! # the compass. He is the god of fortune telling and war. ! Ãæ¹ñ¤ÎÅÁÀâ¤Î¸ÞÄë¤Î°ì¡¥Èà¤Ï°Å¹õ¤ÎÅ·¤ËÂФ·¤ÆÅ·¤ÎÆ°¤­¤òÄê¤á¤¿¡¥ ! Èà¤ÏȯÌÀ²È¤Ç¤¢¤ê¡¤Â¾¤Î¼Ô¤É¤â¤ÎÃ椫¤é¿Í´Ö¤Ë¼ÖÎؤȳ»¤ÈÍå¿ËÈפò ! Í¿¤¨¤¿¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥Èà¤ÏÀꤤ¤ÈÀ襤¤Î¿À¤Ç¤â¤¢¤ë¡¥ ! ¥Õ¥Ø¥È¥È¥ë* hu*h*eto*l minion of huhetotl ! # Huehuetotl, or Huhetotl, which means Old God, was the Aztec ! # (classical Mesoamerican) god of fire. He is generally ! # associated with paternalism and one of the group classed ! # as the Xiuhtecuhtli complex. He is known to send his ! # minions to reek havoc upon ordinary humans. ! ¥Õ¥§¥Õ¥§¥È¥È¥ë¤Þ¤¿¤Ï¥Õ¥Ø¥È¥È¥ë¤Ï¡Ö¸Å¤¤¿À¡×¤ò°ÕÌ£¤·¥¢¥¹¥Æ¥«¿Í ! (¸ÅÂåÃæÊÆ)¤Î²Ð¤Î¿À¤Ç¤¢¤ë¡¥Èà¤Ï°ìÈ̤ËÉãÀ­¤ä¥·¥¦¥Æ¥¯¥È¥ë¤ÎÊ£¹ç ! ÂÎ(¡©)¤ËʬÎव¤ì¤ë¥°¥ë¡¼¥×¤Î°ì¿Í¤È¤·¤Æ´ØÏ¢¤Å¤±¤é¤ì¤Æ¤¤¤ë¡¥Èà ! ¤ÏÄ̾ï¤Î¿Í´Ö¤ò¤á¤Á¤ã¤á¤Á¤ã¤Ë¤µ¤»¤ë¤¿¤á¤Ë»È¤¤Ëâ¤òÁ÷¤ë¤È¸À¤¦¤³ ! ¤È¤Ç¤âÃΤé¤ì¤Æ¤¤¤ë¡¥ [ after the Encyclopedia of Gods, by Michael Jordan ] + ¥Ò¥å¡¼¥Þ¥Î¥¤¥É humanoid ! # Humanoids are all approximately the size of a human, and may ! # be mistaken for one at a distance. They are usually of a ! # tribal nature, and will fiercely defend their lairs. Usually ! # hostile, they may even band together to raid and pillage ! # human settlements. ! ¥Ò¥å¡¼¥Þ¥Î¥¤¥É¤ÎÂ礭¤µ¤Ï¿Í´Ö¤È¤Û¤È¤ó¤ÉÊѤé¤Ê¤¤¡¥±ó¤¯¤Ë¤¤¤ë¤È ! ¸«´Ö°ã¤¦¤Û¤É¤À¡¥ÈàÅù¤Ï¼«Á³¤Ç¤ÏÉáÄÌÉô²¤Ë¤ï¤«¤ì¤Æ¤ª¤ê¡¤½»¤ß¤« ! ¤ò¶¯Îõ¤Ë¼é¤í¤¦¤È¤¹¤ë¡¥¹¥¤Þ¤·¤¯¤Ê¤¤¤â¤Î¤Ë¤ÏÈà¤é¤ÏÃķ뤷½±·â¤·¡¤ ! ¿Í´Ö¤Î½¸Í¤éάå¤ò¹Ô¤Ê¤¦¡¥ ! ¿Í´Ö ! »ø¼Ô ! Àï»Î ! ¼Â½¬À¸ ! ¹Í¸Å³Ø¼Ô ! ¼çÀÊ»Êº× ! ¿ï¹Ô°÷ ! ƶ·¢¿Í ! ¼óÎÎ ! Àï»Î ! ÈÖʼ ! Ìô»Õ ! Ǧ¼Ô ! ´Ç¸îÉØ ! ¾®À« ! ¼é¸îÀï»Î ! ÁÎη ! ϲ¿Í ! »ø ! Ź¼ç ! ¤Á¤ó¤Ô¤é ! ¸«Ä¥¤ê* ! ËâË¡»È¤¤ ! ¥×¥ì¥¤¥ä¡¼ human acolyte apprentice *************** *** 1006,1016 **** --- 1792,1804 ---- attendant cave*man chieftain + fighter guard healer ninja nurse page + planetary fighter *priest* ronin samurai *************** *** 1021,1184 **** *watch* wizard player ! These strange creatures live mostly on the surface of the ! earth, gathering together in societies of various forms, but ! occasionally a stray will descend into the depths and commit ! mayhem among the dungeon residents who, naturally, often ! resent the intrusion of such beasts. They are capable of ! using weapons and magic, and it is even rumored that the ! Wizard of Yendor is a member of this species. ice devil ! Ice devils are large semi-insectoid creatures, who are ! equally at home in the fires of Hell and the cold of Limbo, ! and who can cause the traveller to feel the latter with just ! a touch of their tail. imp ! ... imps ... little creatures of two feet high that could ! gambol and jump prodigiously; ... ! [ The Charwoman's Shadow, by Lord Dunsany ] ! ! An 'imp' is an off-shoot or cutting. Thus an 'ymp tree' was ! a grafted tree, or one grown from a cutting, not from seed. ! 'Imp' properly means a small devil, an off-shoot of Satan, ! but the distinction between goblins or bogles and imps from ! hell is hard to make, and many in the Celtic countries as ! well as the English Puritans regarded all fairies as devils. ! The fairies of tradition often hover uneasily between the ! ghostly and the diabolic state. [ A Dictionary of Fairies, by Katharine Briggs ] incubus succubus ! The incubus and succubus are male and female versions of the ! same demon, one who lies with a human for its own purposes, ! usually to the detriment of the mortals who are unwise in ! their dealings with them. ishtar ! Ishtar (the star of heaven) is the Mesopotamian goddess of ! fertility and war. She is usually depicted with wings and ! weapon cases at her shoulders, carrying a ceremonial double- ! headed mace-scimitar embellished with lion heads, frequently ! being accompanied by a lion. She is symbolized by an eight- ! pointed star. [ Encyclopedia of Gods, by Michael Jordan] issek ! Now Issek of the Jug, whom Fafhrd chose to serve, was once ! of the most lowly and unsuccessful of the gods, godlets ! rather, in Lankhmar. He had dwelt there for about thirteen ! years, during which time he had traveled only two squares up ! the Street of the Gods and was now back again, ready for ! oblivion. He is not to be confused with Issek the Armless, ! Issek of the Burnt Legs, Flayed Issek, or any other of the ! numerous and colorfully mutilated divinities of that name. ! Indeed, his unpopularity may have been due in part to the ! fact that the manner of his death -- racking -- was not ! deemed particularly spectacular. ... However, after Fafhrd ! became his acolyte, things somehow began to change. [ Swords In The Mist, by Fritz Leiber ] izchak ! The shopkeeper of the lighting shop in the town level of the ! gnomish mines is a tribute to Izchak Miller, a founding member ! of the NetHack development team and a personal friend of a large ! number of us. Izchak contributed greatly to the game, coding a ! large amount of the shopkeep logic (hence the nature of the tribute) ! as well as a good part of the alignment system, the prayer code and ! the rewrite of "hell" in the 3.1 release. Izchak was a professor ! of Philosophy, who taught at many respected institutions, including ! MIT and Stanford, and who also worked, for a period of time, at ! Xerox PARC. Izchak was the first "librarian" of the NetHack project, ! and was a founding member of the DevTeam, joining in 1986 while he ! was working at the University of Pennsylvania (hence our mailing ! list address). Until the 3.1.3 release, Izchak carefully kept all ! of the code synchronized and arbitrated disputes between members of ! the development teams. Izchak Miller passed away at the age of 58, ! in the early morning hours of April 1, 1994 from complications due ! to cancer. We dedicate NetHack 3.2 in his memory. [ Mike Stephenson, for the NetHack DevTeam ] jabberwock vorpal* ! "Beware the Jabberwock, my son! ! The jaws that bite, the claws that catch! ! Beware the Jubjub bird, and shun ! The frumious Bandersnatch!" ! ! He took his vorpal sword in hand; ! Long time the manxome foe he sought -- ! So rested he by the Tumtum tree, ! And stood awhile in thought. ! ! And, as in uffish thought he stood, ! The Jabberwock, with eyes of flame, ! Came whiffling through the tulgey wood, ! And burbled as it came! ! ! One, two! One, two! And through and through ! The vorpal blade went snicker-snack! ! He left it dead, and with its head ! He went galumphing back. [ Jabberwocky, by Lewis Carroll ] jackal ! In Asiatic folktale, jackal provides for the lion; he scares ! up game, which the lion kills and eats, and receives what is ! left as reward. In stories from northern India he is ! sometimes termed "minister to the king," i.e. to the lion. ! From the legend that he does not kill his own food has arisen ! the legend of his cowardice. Jackal's heart must never be ! eaten, for instance, in the belief of peoples indigenous to ! the regions where the jackal abounds. ... In Hausa Negro ! folktale Jackal plays the role of sagacious judge and is ! called "O Learned One of the Forest." The Bushmen say that ! Jackal goes around behaving the way he does "because he is ! Jackal". [ Funk & Wagnalls Standard Dictionary of Folklore ] jaguar ! Large, flesh-eating animal of the cat family, of Central and ! South America. This feline predator (_Panthera onca_) is ! sometimes incorrectly called a panther. [ Van Dale's Groot Woordenboek der Nederlandse Taal ] juiblex jubilex ! Little is known about the Faceless Lord, even the correct ! spelling of his name. He does not have a physical form as ! we know it, and those who have peered into his realm claim ! he is a slime-like creature who swallows other creatures ! alive, spits acidic secretions, and causes disease in his ! victims which can be almost instantly fatal. kabuto ! The kabuto is the helmet worn by the samurai. It was ! characterized by a prominent beaked front which jutted out over ! the brow to protect the wearer's face; a feature that gives ! rise to their modern Japanese name of 'shokaku tsuki kabuto' ! (battering-ram helmet). Their main constructional element ! was an oval plate, the shokaku bo, slightly domed for the ! head with a narrow prolongation in front that curved forwards ! and downwards where it developed a pronounced central ! fold. Two horizontal strips encircling the head were riveted ! to this frontal strip: the lower one, the koshimaki (hip ! wrap), formed the lower edge of the helmet bowl; the other, ! the do maki (body wrap), was set at about the level of the ! temples. Filling the gaps between these strips and the shokaku ! bo were small plates, sometimes triangular but more commonly ! rectangular in shape. Because the front projected so ! far from the head, the triangular gap beneath was filled by ! a small plate, the shoshaku tei ita, whose rear edge bent ! downwards into a flange that rested against the forehead. [ Arms & Armour of the Samurai, by Bottomley & Hopson ] katana ! The katana is a long, single-edged samurai sword with a ! slightly curved blade. Its long handle is designed to allow ! it to be wielded with either one or two hands. ki-rin ! The ki-rin is a strange-looking flying creature. It has ! scales, a mane like a lion, a tail, hooves, and a horn. It ! is brightly colored, and can usually be found flying in the ! sky looking for good deeds to reward. king arthur *arthur Ector took both his sons to the church before which the ! anvil had been placed. There, standing before the anvil, he ! commanded Kay: "Put the sword back into the steel if you really think the throne is yours!" But the sword glanced ! off the steel. "Now it is your turn", Ector said facing Arthur. The young man lifted the sword and thrust with both arms; the blade whizzed through the air with a flash and drilled the --- 1809,2100 ---- *watch* wizard player ! # These strange creatures live mostly on the surface of the ! # earth, gathering together in societies of various forms, but ! # occasionally a stray will descend into the depths and commit ! # mayhem among the dungeon residents who, naturally, often ! # resent the intrusion of such beasts. They are capable of ! # using weapons and magic, and it is even rumored that the ! # Wizard of Yendor is a member of this species. ! ¤³¤ÎÊѤä¿À¸¤­Êª¤¿¤Á¤Ï¤¿¤¤¤Æ¤¤¤ÏÃÏɽ¤Ë½»¤ó¤Ç¤ª¤ê¡¤ÍÍ¡¹¤Ê·ÁÂÖ ! ¤Î¼Ò²ñ¤Ç¶¦Æ±À¸³è¤ò±Ä¤ó¤Ç¤¤¤ë¡¥¤·¤«¤·¡¤¤¿¤Þ¤Ë¡¤¤µ¤Þ¤è¤¤Ê⤯¼Ô ! ¤¬Ãϲ¼¤ËÀø¤ê¤³¤ó¤Ç¤Ï¡¤ÅöÁ³¤Ê¤¬¤é¤³¤ÎÍðÆþ¤ËÅܤäƤ¤¤ëƶ·¢¤Ë½» ! ¤ß¤Ä¤¤¤¿¼Ô¤¿¤Á¤Ë½ý³²ºá¤òÈȤ·¤Æ¤¤¤ë¡¥¤³¤¤¤Ä¤é¤ÏÉð´ï¤äËâË¡¤ò°· ! ¤¨¤ì¤ë¡¥¥¤¥§¥ó¥À¡¼¤ÎËâË¡»È¤¤¤â¤³¤ì¤é¤ÎÃç´Ö¤Ç¤¢¤ë¡¤¤È¤Î±½¤Ç¤¢ ! ¤ë¡¥ ! ɹ¤Î°­Ëâ ice devil ! # Ice devils are large semi-insectoid creatures, who are ! # equally at home in the fires of Hell and the cold of Limbo, ! # and who can cause the traveller to feel the latter with just ! # a touch of their tail. ! ɹ¤Î°­Ëâ¤Ï¡¤Â礭¤Êº«Ãî¤Ë»÷¤¿À¸Êª¤Ç¡¤ÃϹö¤Î¶È²Ð¤Ë¤âÎû¹ö¤Î¶ËÎä ! ¤Ë¤âÊ¿µ¤¤Ç¤¢¤ë¡¥Èà¤é¤ÎÈø¤Ë¿¨¤ì¤ë¤À¤±¤Çι¹Ô¼Ô¤ÏÎû¹ö¤Î¶ËÎä¤òÌ£ ! ¤ï¤¦¤³¤È¤Ë¤Ê¤ë¡¥ ! ¥¤¥ó¥× imp ! # ... imps ... little creatures of two feet high that could ! # gambol and jump prodigiously; ... ! # [ The Charwoman's Shadow, by Lord Dunsany ] ! ¾®µ´(¥¤¥ó¥×)¤È¸À¤¦¤Î¤ÏÆó¥Õ¥£¡¼¥È­¤é¤º¤Î¾®¤µ¤ÊÀ¸¤­¤â¤Î¤Ç¡¤Èô ! ¤ó¤À¤êÄ·¤Í¤¿¤ê¤¹¤ë¤³¤È¤Ë½¨¤Ç¤Æ¤¤¤ë¡¥ ! [ The Charwoman's Shadow, by Lord Dunsany ] ! [¥Ï¥ä¥«¥ïʸ¸Ë ¹ÓËó¹¨Ìõ] ! ! # An 'imp' is an off-shoot or cutting. Thus an 'ymp tree' was ! # a grafted tree, or one grown from a cutting, not from seed. ! # 'Imp' properly means a small devil, an off-shoot of Satan, ! # but the distinction between goblins or bogles and imps from ! # hell is hard to make, and many in the Celtic countries as ! # well as the English Puritans regarded all fairies as devils. ! # The fairies of tradition often hover uneasily between the ! # ghostly and the diabolic state. ! # [ A Dictionary of Fairies, by Katharine Briggs ] ! ¥¤¥ó¥×¤È¤ÏËÜÍ衤²£»Þ¤È¤«¡¤ÁÞ¤·ÌÚÍѤËÀÚ¤ê¼è¤Ã¤¿»Þ¤Î¤³¤È¤Ç¤¢¤ê¡¤ ! ¥¤¥ó¥×¡¦¥Ä¥ê¡¼(ymp tree)¤È¤Ï¡¤Àܤ®ÌÚ¤·¤¿ÌÚ¡¤¤¢¤ë¤¤¤Ï¼ÂÀ¸¤Ç¤Ï¤Ê ! ¤¯ÁÞ¤·ÌÚ¤«¤é°é¤Ã¤¿ÌÚ¤ò°ÕÌ£¤·¤Æ¤¤¤¿¡¥¥¤¥ó¥×¤Ï¡¤Àµ¤·¤¯¤Ï¥µ¥¿¥ó¤« ! ¤é»Þʬ¤«¤ì¤·¤¿¾®°­Ëâ¤ò°ÕÌ£¤¹¤ë¤¬¡¤¥´¥Ö¥ê¥ó¤ä¥Ü¡¼¥°¥ë¤È¡¤ÃϹö¤« ! ¤éÍ褿¥¤¥ó¥×¤È¤Î¶èÊ̤ϤĤ±¤¬¤¿¤¤¡¥¥±¥ë¥È·÷¤Ç¤Ï¡¤Â¿¤¯¤Î¿Í¤¬¥¤¥ó ! ¥°¥é¥ó¥É¤ÎÀ¶¶µÅÌƱÍÍ¡¤ÍÅÀº¤ò¤¹¤Ù¤Æ°­Ëâ¤È¹Í¤¨¤Æ¤¤¤ë¡¥ ! ÅÁ¾µÀ¤³¦¤ÎÍÅÀº¤¿¤Á¤ÏÍ©Îî¤È°­Ëâ¤Î¿Èʬ¤Î´Ö¤ò¡¤¤É¤Á¤é¤È¤â¤Ä¤«¤º¤µ ! ¤Þ¤è¤Ã¤Æ¤¤¤ë¤³¤È¤¬Â¿¤¤¡¥ [ A Dictionary of Fairies, by Katharine Briggs ] + [ ÍÅÀº»öŵ, Ê¿Ìî·É°ì ¾Ìõ, ÉÚ»³Ë¼ ] + ¥¤¥ó¥­¥å¥Ð¥¹ + ¥µ¥­¥å¥Ð¥¹ incubus succubus ! # The incubus and succubus are male and female versions of the ! # same demon, one who lies with a human for its own purposes, ! # usually to the detriment of the mortals who are unwise in ! # their dealings with them. ! ¥¤¥ó¥­¥å¥Ð¥¹¤È¥µ¥­¥å¥Ð¥¹¤ÏƱ¤¸¼ïÎà¤ÎËâ¿À¤Ç¡¤¤½¤ì¤¾¤ìÃËÀ­¤È½÷ ! À­¤Ç¤¢¤ë¡¥¤½¤ì¤é¤È´Ø·¸¤ò»ý¤Ä¶ò¤«¤Ê¿Í´Ö¤ÏÂçÄñ¼êÄˤ¤Ìܤ˹礦¡¥ ! ¥¤¥·¥å¥¿¥ë ishtar ! # Ishtar (the star of heaven) is the Mesopotamian goddess of ! # fertility and war. She is usually depicted with wings and ! # weapon cases at her shoulders, carrying a ceremonial double- ! # headed mace-scimitar embellished with lion heads, frequently ! # being accompanied by a lion. She is symbolized by an eight- ! # pointed star. ! ¥¤¥·¥å¥¿¥ë(Å·¾å¤ÎÀ±)¤Ï¥á¥½¥Ý¥¿¥ß¥¢¤ÎÈîÍà¤ÈÀ襤¤Î½÷¿À¤Ç¤¢¤ë¡¥ ! Èà½÷¤ÏÉáÄ̱©¤ò»ý¤Á¡¤Éð´ïÆþ¤ì¤ò¸ª¤Ë¤«¤±¡¤¥é¥¤¥ª¥ó¤ÎƬ¤ÎÁõ¾þ ! ¤Î¤¢¤ëµ·¼°ÍѤÎÁÐƬ¤Î»°Æü·îÅá¤ò»ý¤Ã¤Æ¤¤¤ë»Ñ¤ÈÉÁ¼Ì¤µ¤ì¤Æ¤¤¤ë¡¥ ! Èà½÷¤Ï¤Þ¤¿£¸ÅÀÀ±(¡©)¤Î¾Ýħ¤Ç¤â¤¢¤ë¡¥ [ Encyclopedia of Gods, by Michael Jordan] + ¥¤¥»¥Ã¥¯ issek ! # Now Issek of the Jug, whom Fafhrd chose to serve, was once ! # of the most lowly and unsuccessful of the gods, godlets ! # rather, in Lankhmar. He had dwelt there for about thirteen ! # years, during which time he had traveled only two squares up ! # the Street of the Gods and was now back again, ready for ! # oblivion. He is not to be confused with Issek the Armless, ! # Issek of the Burnt Legs, Flayed Issek, or any other of the ! # numerous and colorfully mutilated divinities of that name. ! # Indeed, his unpopularity may have been due in part to the ! # fact that the manner of his death -- racking -- was not ! # deemed particularly spectacular. ... However, after Fafhrd ! # became his acolyte, things somehow began to change. ! # [ Swords In The Mist, by Fritz Leiber ] ! ¤µ¤Æ¡¢¥Õ¥¡¥Õ¥¡¡¼¥É¤¬Êô»Å¤¹¤ë¤³¤È¤òÁª¤ó¤À¡ÒÉӤΥ¤¥»¥¯¡Ó¤Ï ! ¥é¥ó¥¯¥Þ¡¼¤Ë½¸¤¦¿À¡¹¡¢¤¤¤ä¡¢¿À¡¹¤ÎÍñ¤ÎÃæ¤Ç¤â¡¢ºÇ¤âÈܤ·¤¯¡¢ ! ²ê¤Î½Ð¤Ê¤¤ÉôÎà¤Ë°¤·¤Æ¤¤¤¿¡£¤â¤¦¤³¤ÎÅԤˤ­¤Æ½½»°Ç¯¤Ë¤Ê¤ë¤¬¡¢ ! ¡Ò¿À¡¹¤ÎÂçÏ©¡Ó¤ò¤ï¤º¤«ÆóÃúι¤·¤¿¤À¤±¡¢¤¤¤Þ¤Ï¤Õ¤¿¤¿¤Ó¸åÂष¤Æ¡¢ ! ¤Þ¤â¤Ê¤¯Ëº¤ìµî¤é¤ì¤è¤¦¤È¤·¤Æ¤¤¤¿¡£¤³¤Î¥¤¥»¥¯¤ò¡¢¡ÒÏӤΤʤ¤ ! ¥¤¥»¥¯¡Ó¤ä¡Ò¾Æ¤±¤¿Â­¤Î¥¤¥»¥¯¡Ó¤ä¡ÒÈé¤òÇí¤¬¤ì¤¿¥¤¥»¥¯¡Ó¤Ê¤É¡¢ ! ¤ª¤Ê¤¸Ì¾¤ò»ý¤Ä¡¢²ÚÎï¤ÊÇ÷³²¤ò¼õ¤±¤¿¿ô¿¤¯¤Î¿À¡¹¤Èº®Æ±¤·¤Æ¤Ï ! ¤Ê¤é¤Ê¤¤¡£¤¤¤ä¡¢»ö¼Â¡¢Èà¤ÎÉԿ͵¤¤Î°ì°ø¤Ï¡¢¤½¤Î»à¤Ë¤¶¤Þ ! ----¹éÌäÂæ¤Ç¤Î»à----¤¬¡¢º£°ì¤Ä¤ÎÇ÷ÎϤ˷礱¤ë¤È¤³¤í¤Ë ! ¤¢¤Ã¤¿¤Î¤«¤â¤·¤ì¤Ê¤¤¡£ ... ¤·¤«¤·¤Ê¤¬¤é¡¢¥Õ¥¡¥Õ¥¡¡¼¥É¤¬ ! Èà¤Î¸«½¬ÁΤˤʤäƤ«¤é¤Ï¡¢Â¿¾¯»ö¾ð¤¬ÊѤï¤Ã¤Æ¤­¤¿¡£ [ Swords In The Mist, by Fritz Leiber ] + [ ̸¤ÎÃæ¤ÎÆó·õ»Î, Âçë·½ÆóÌõ, Áϸµ¿äÍýʸ¸Ë ] izchak ! # The shopkeeper of the lighting shop in the town level of the ! # gnomish mines is a tribute to Izchak Miller, a founding member ! # of the NetHack development team and a personal friend of a large ! # number of us. Izchak contributed greatly to the game, coding a ! # large amount of the shopkeep logic (hence the nature of the tribute) ! # as well as a good part of the alignment system, the prayer code and ! # the rewrite of "hell" in the 3.1 release. Izchak was a professor ! # of Philosophy, who taught at many respected institutions, including ! # MIT and Stanford, and who also worked, for a period of time, at ! # Xerox PARC. Izchak was the first "librarian" of the NetHack project, ! # and was a founding member of the DevTeam, joining in 1986 while he ! # was working at the University of Pennsylvania (hence our mailing ! # list address). Until the 3.1.3 release, Izchak carefully kept all ! # of the code synchronized and arbitrated disputes between members of ! # the development teams. Izchak Miller passed away at the age of 58, ! # in the early morning hours of April 1, 1994 from complications due ! # to cancer. We dedicate NetHack 3.2 in his memory. ! ¥Î¡¼¥à¤Îú¹£¤ÎÄ®¤Î¾ÈÌÀ¶ñŹ¤ÎŹ¼ç¤Ï¡¤NetHack³«È¯¥Á¡¼¥àÁÏÀß»þ¤«¤é¤Î ! ¥á¥ó¥Ð¡¼¤Ç²æ¡¹Á´¤Æ¤Î¿Æͧ¤Ç¤¢¤ë Izchak Miller¤Ë£¤ë¤â¤Î¤Ç¤¢¤ë¡¥ ! Izchak¤Î¥²¡¼¥à¤Ø¤Î¹×¸¥¤ÏÀäÂç¤Ê¤â¤Î¤Ç¤¢¤Ã¤¿¡¥Èà¤Ï°À­¥·¥¹¥Æ¥à¡¤µ§¤ê ! ¤Î¥³¡¼¥É¡¤3.1¤Î¥ê¥ê¡¼¥¹¤Ë¤¢¤¿¤ê¡ÖÃϹö¡×¤Î½ñ¤­ÊѤ¨¤Ê¤É¤Ç¹×¸¥¤·¤¿¤Î¤Ï ! ¤â¤Á¤í¤ó¡¤Èà¤ÏÂçÎ̤ÎŹ¤Î¥í¥¸¥Ã¥¯¤ò¥³¡¼¥Ç¥£¥ó¥°¤·¤¿(¤½¤ì¸Î¤Ë¸¥¼­¤¬¼« ! Á³¤Ç¤¢¤ë)¡¥Izchak¤Ïů³Ø¤Î¶µ¼ø¤Ç¤¢¤ê¡¤Â¿¤¯¤ÎÁÇÀ²¤·¤¤Âç³Ø(MIT¤ä¥¹¥¿¥ó ! ¥Õ¥©¡¼¥É)¤Ç¶µÊܤò¤È¤ê¡¤°ì»þ¤Ï Xerox PARC¤ÇƯ¤¤¤Æ¤¤¤¿¡¥Izchak¤Ï ! NetHack ¥×¥í¥¸¥§¥¯¥È¤ÎºÇ½é¤Î¡Ö»Ê½ñ¡×¤Ç¤¢¤ê¡¤ÁÏÀß»þ¤«¤é¤Î¥á¥ó¥Ð¡¼¤Ç ! ¤¢¤ê¡¤1986ǯ¤ËÈब¥Ú¥ó¥·¥ë¥Ð¥Ë¥¢Âç³Ø(¤½¤ì¤æ¤¨²æ¡¹¤Î¥á¥¤¥ê¥ó¥°¥ê¥¹¥È ! ¤Î¥¢¥É¥ì¥¹¤¬¤¢¤ë)¤ÇƯ¤¤¤Æ¤¤¤ë¤È¤­¤Ë²Ã¤ï¤Ã¤¿¡¥ 3.1.3¤Î¥ê¥ê¡¼¥¹¤Þ¤Ç¡¤ ! Izchak ¤ÏÁ´¤Æ¤Î¥³¡¼¥É¤¬Æ±¤¸¤Ë¤Ê¤ë¤è¤¦´ÉÍý¤·¡¤³«È¯¥Á¡¼¥à¤Î¥á¥ó¥Ð¡¼´Ö ! ¤ÎÏÀÁè¤ÎÃçºÛ¤ò¤·¤¿¡¥¤¬¡¤Izchak Miller¤Ï1994ǯ4·î1ÆüÁáÄ«¡¤´â¤Î¹çÊ»¾É ! ¤Î¤¿¤á 58ºÐ¤Ç¤³¤ÎÀ¤¤òµî¤Ã¤¿¡¥²æ¡¹¤Ï NetHack3.2¤òÈà¤ØÊû¤²¤ë¡¥ [ Mike Stephenson, for the NetHack DevTeam ] + ¥¸¥ã¥Ð¥¦¥©¥Ã¥¯ + ¥Ü¡¼¥Ñ¥ë¥Ö¥ì¡¼¥É jabberwock vorpal* ! # "Beware the Jabberwock, my son! ! # The jaws that bite, the claws that catch! ! # Beware the Jubjub bird, and shun ! # The frumious Bandersnatch!" ! # ! # He took his vorpal sword in hand; ! # Long time the manxome foe he sought -- ! # So rested he by the Tumtum tree, ! # And stood awhile in thought. ! # ! # And, as in uffish thought he stood, ! # The Jabberwock, with eyes of flame, ! # Came whiffling through the tulgey wood, ! # And burbled as it came! ! # ! # One, two! One, two! And through and through ! # The vorpal blade went snicker-snack! ! # He left it dead, and with its head ! # He went galumphing back. ! # [ Jabberwocky, by Lewis Carroll ] ! ¡Ö¤ï¤¬»Ò¤è¡¤¥¸¥ã¥Ð¡¼¥¦¥©¥Ã¥¯¤ËÌýÃǤ¹¤ë¤Ê¤«¤ì¡ª ! ¿©¤é¤¤¤Ä¤¯¤½¤Î³Ü¡¤¤«¤­¤à¤·¤ë¤½¤ÎÄÞ¡ª ! ¥¸¥ã¥Ö¥¸¥ã¥ÖÄ»¤Ë¤â¿´µö¤¹¤Ê¡¤ ! ¤ª¤É¤í¤·¤­¥Ð¥ó¥À¡¼¥¹¥Ê¥Ã¥Á¤Ë¤Ï¤æ¤á¶á´ó¤ë¤Ù¤«¤é¤º¡ª¡× ! ! ¤±¤·¤Ë¤°¤Î·õ¡¤¼ê¤Ë¼è¤ê¤Æ¡¤ ! ¤«¤ì¡¤¤Ò¤È¤´¤í¤·¤­Å¨¤ò¤Ðµá¤áÊ⤯¤³¤Èµ×¤·¤«¤ê¤·¤¬-- ! ¥¿¥à¥¿¥à¤Î¼ù¤Î¤«¤¿¤¨¤Ë¤Æ°ì©¤Ä¤­¡¤ ! ¤·¤Ð¤·Î©¤Á¤Ä¤¯¤·¤Æ»×¤¤¤ËÄÀ¤ß¤Ì¡¥ ! ! ¤é¤ì¤é¤ì¤·¤­»×¤¤¤½¤Î¶»¤Ë¶î¤±¤á¤°¤ë¤È¤­¤â¤È¤­¡¤ ! ¸«¤è¡¤¤é¤ó¤é¤ó¤¿¤ë´ãdz¤ä¤·¤¿¤ë¥¸¥ã¥Ð¡¼¥¦¥©¥Ã¥¯¡¤ ! ¤ª¤°¤é¤Æ¤·¤­¿¹¤Î±ü¤è¤ê¡¤ñ¨ñ¨¤ÈÉ÷ÀÚ¤êÈô¤Ó¤­¤¿¤ê¡¤ ! ¤Ö¡¼¤Ö¤¯¤Ö¤¯¤È¤¦¤Ê¤ä¤­¤±¤ê¡¥ ! ! ¤¤¤Á¡¤¤Ë¡ª¤¤¤Á¡¤¤Ë¡ª¤°¤Ã¤µ¤ê¤°¤µ¤ê ! Ìܤˤâ»ß¤Þ¤é¤Ì¤±¤·¤Ë¤°¤Î·õ¡¤¼êÏ£¤ÎÁá¶È¡ª ! ²£¤¿¤ï¤ê¤¿¤ë»àÂΤè¤êÑæ¤Í¤¿¤ë¼ó¤ò¤Ð¾®ÏƤˤ«¤«¤¨¡¤ ! ¤¿¤«¤é¤«¤é¤«¤é¤Èµ¢¤êÍ褿¤ê¤Ì¡¥ [ Jabberwocky, by Lewis Carroll ] + [ ¹â¶¶¹¯Ì顦Âôºê½ãÇ·²ðÌõ ] + ¥¸¥ã¥Ã¥«¥ë jackal ! # In Asiatic folktale, jackal provides for the lion; he scares ! # up game, which the lion kills and eats, and receives what is ! # left as reward. In stories from northern India he is ! # sometimes termed "minister to the king," i.e. to the lion. ! # From the legend that he does not kill his own food has arisen ! # the legend of his cowardice. Jackal's heart must never be ! # eaten, for instance, in the belief of peoples indigenous to ! # the regions where the jackal abounds. ... In Hausa Negro ! # folktale Jackal plays the role of sagacious judge and is ! # called "O Learned One of the Forest." The Bushmen say that ! # Jackal goes around behaving the way he does "because he is ! # Jackal". ! ¥¢¥¸¥¢¤Î̱ÏäǤϡ¤¥¸¥ã¥Ã¥«¥ë¤Ï¥é¥¤¥ª¥ó¤ÎÀ¤Ïäò¤·¤Þ¤¹¡¥¥¸¥ã¥Ã¥« ! ¥ë¤Ï¥é¥¤¥ª¥ó¤¬»¦¤·¤Æ¿©¤Ù¤Æ¤¤¤ë³Íʪ¤ò¤«¤­¤¢¤Ä¤á¡¤»Ä¤·¤¿¤â¤Î¤òË« ! Èþ¤È¤·¤Æ¼õ¤±¤È¤ë¤Î¤Ç¤¹¡¥ËÌ¥¤¥ó¥É¤ÎÏäǤϡ¤¥¸¥ã¥Ã¥«¥ë¤Ï¤È¤­¤É¤­ ! ¡Ö²¦(¤¹¤Ê¤ï¤Á¥é¥¤¥ª¥ó)¤Î»È¤¤¡×¤È¸Æ¤Ð¤ì¤Æ¤¤¤Þ¤¹¡¥ÅÁÀâ¤Ë¤è¤ë¤È¡¤ ! ¥¸¥ã¥Ã¥«¥ë¤Ï·è¤·¤Æ¼«Ê¬¤Ç³Íʪ¤ò»¦¤·¤Þ¤»¤ó¡¥¤³¤ì¤ÏÈà¤ÎÈܶ±¤ÊÅÁÀâ ! ¤«¤éÍè¤Æ¤¤¤Þ¤¹¡¥¥¸¥ã¥Ã¥«¥ë¤Î¿´Â¡¤Ï¡¤¤¿¤È¤¨¤Ð¥¸¥ã¥Ã¥«¥ë¤¬Âô»³¤¤ ! ¤ë¤È¤³¤í¤ÎÅÚÃå¤Î¿Í¡¹¤Î¿®¶Ä¤Ç¤ÏÀäÂжô¤ï¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡¥ ! ... ! ¥Ï¥¦¥µ¡¦¥Í¥°¥í¤Î̱ÏäǤϥ¸¥ã¥Ã¥«¥ë¤ÏÍø¸ý¤ÊȽ»ö¤ÎÌò¤ò±é¤¸¡¤¡Ö¿¹¤Î ! Çî³Ø¼Ô¡×¤Ê¤É¤È¸Æ¤Ð¤ì¤Þ¤¹¡¥¥Ö¥Ã¥·¥å¥Þ¥ó¤Ï¥¸¥ã¥Ã¥«¥ë¤Ï¡Ö¥¸¥ã¥Ã¥«¥ë ! ¤Ç¤¢¤ë¤¬¤æ¤¨¡×¤Î¤è¤¦¤Ê¤Õ¤ë¤Þ¤¤¤Î¤è¤¦¤Ê¤ä¤ê¤«¤¿¤Ç¤Õ¤é¤Õ¤é¤·¤Æ¤¤¤ë ! ¤È¸À¤¤¤Þ¤¹¡¥ [ Funk & Wagnalls Standard Dictionary of Folklore ] + ¥¸¥ã¥¬¡¼ jaguar ! # Large, flesh-eating animal of the cat family, of Central and ! # South America. This feline predator (_Panthera onca_) is ! # sometimes incorrectly called a panther. ! Âç·¿¤ÎÇ­¤ÎÃç´Ö¤ÎÆù¿©Æ°Êª¡¥Ãæ±û¤ª¤è¤ÓÆ¥Õ¥ê¥«¤Ë½»¤à¡¥¤³¤ÎÇ­²Ê¤Î ! ¿©Æùưʪ(³Ø̾:Pantehra onca)¤Ï¤È¤­¤É¤­´Ö°ã¤Ã¤Æ¥Ò¥ç¥¦¤È¸Æ¤Ð¤ì¤ë¡¥ [ Van Dale's Groot Woordenboek der Nederlandse Taal ] + ¥¸¥ç¥¦¥Ó¥ì¥Ã¥¯¥¹ juiblex jubilex ! # Little is known about the Faceless Lord, even the correct ! # spelling of his name. He does not have a physical form as ! # we know it, and those who have peered into his realm claim ! # he is a slime-like creature who swallows other creatures ! # alive, spits acidic secretions, and causes disease in his ! # victims which can be almost instantly fatal. ! ̵ËƤβ¦¤Ë¤Ä¤¤¤Æ¤Ï¡¤¤½¤Î̾Á°¤ÎÀµ³Î¤ÊÄ֤ꤹ¤é¤Û¤È¤ó¤Éʬ¤«¤Ã¤Æ ! ¤¤¤Ê¤¤¡¥ÃΤé¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¤ÊªÍýŪ¤Ê·ÁÂÖ¤¬¤Ê¤¯¡¤¤½¤Î¤¢¤¿¤ê¤ò ! ¤¸¤Ã¤È´Ñ»¡¤·¤¿¤â¤Î¤ÎÊó¹ð¤Ë¤è¤ë¤È¡¤¥¹¥é¥¤¥àÍͤÎÀ¸Êª¤Ç¤¢¤ë¡¥Â¾ ! ¤ÎÀ¸Êª¤òÀ¸¤­¤¿¤Þ¤Þ°û¤ß¹þ¤ß¡¤Éå¿©À­¤ÎʬÈç±Õ¤òÊü½Ð¤¹¤ë¡¥¤³¤ì¤ò ! Íá¤Ó¤¿µ¾À·¼Ô¤Ïɵ¤¤Ë¤Ê¤ê¡¤Â¨»à¤·¤Æ¤·¤Þ¤¦¤³¤È¤â¤¢¤ë¡¥ ! ³õ kabuto ! # The kabuto is the helmet worn by the samurai. It was ! # characterized by a prominent beaked front which jutted out over ! # the brow to protect the wearer's face; a feature that gives ! # rise to their modern Japanese name of 'shokaku tsuki kabuto' ! # (battering-ram helmet). Their main constructional element ! # was an oval plate, the shokaku bo, slightly domed for the ! # head with a narrow prolongation in front that curved forwards ! # and downwards where it developed a pronounced central ! # fold. Two horizontal strips encircling the head were riveted ! # to this frontal strip: the lower one, the koshimaki (hip ! # wrap), formed the lower edge of the helmet bowl; the other, ! # the do maki (body wrap), was set at about the level of the ! # temples. Filling the gaps between these strips and the shokaku ! # bo were small plates, sometimes triangular but more commonly ! # rectangular in shape. Because the front projected so ! # far from the head, the triangular gap beneath was filled by ! # a small plate, the shoshaku tei ita, whose rear edge bent ! # downwards into a flange that rested against the forehead. ! ³õ¤Ï¥µ¥à¥é¥¤¤¬¿È¤ËÉÕ¤±¤ë¥Ø¥ë¥á¥Ã¥È¤Ç¤¢¤ê¡¤ÁõÃå¼Ô¤Î´éÌ̤òÊݸ ! ¤ë¤¿¤á¡¤´é¤òʤ¤¦¤è¤¦¤ËÆͤ­½Ð¤¿Á°Ã¼Éô¤ËÆÃħ¤¬¤¢¤ê¡¤¤³¤ì¤«¤é¶áÂå ! ÆüËܤǤϡ־׳ѡʷ­·Á¡ËÉÕ¤­³õ¡×¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¡¥³õ¤ò¹½À®¤¹¤ë¼ç¤Ê ! ÉôÉʤϡ¤Ä¹±ß·Á¤ÎÅ´ÈÄ¡¤¾×³ÑËÀ¡¤Æ¬Éô¤Ë¹ç¤ï¤»¤¿È¾µå·Á¤ÎÈ­¤Ç¤¢¤ë¡¥ ! ¤³¤ÎÈ­¤Ë¤Ï¡¤À¼¤òÁ°Ì̤˽¸Ã椵¤»¤ëµ¡Ç½¤ò»ý¤Ä¤è¤¦¡¤²¼Á°Êý¤Ë¶Ê¤²¤é ! ¤ì¤¿±äĹÉô¡ÊÈ­Éաˤ¬¼è¤êÉÕ¤±¤é¤ì¤Æ¤¤¤ë¡¥Æ¬Éô¤ò°Ï¤à¤è¤¦¤Ëºî¤é¤ì ! ¤¿2¤Ä¤ÎÈĤ¬¡¤¤³¤ÎÈ­ÉÕ¤ËÉƤǻߤá¤é¤ì¤Æ¤¤¤ë¡¥²¼Êý¤Ï¡Ö¹ø´¬¡×¤È¸Æ ! ¤Ð¤ìÈ­¤Î²¼Êý¤Î±ï¤ò¹½À®¤·¡¤¤â¤¦°ìÊý¤Ï¡Öƹ´¬¡×¤È¸Æ¤Ð¤ì¤Æ¤³¤á¤«¤ß ! ÊÕ¤ê¤ËÃÖ¤«¤ì¤ë¡¥¤³¤ì¤é¤ÎÈĤȾ׳ÑËÀ¤Î´Ö¤Î·ä´Ö¤Ë¤Ï¡¤»þ¤Ë¤Ï»°³Ñ·Á ! ¤Ç¤¢¤ë¤¬ÉáÄ̤ϻͳѷÁ¤Î¾®¤µ¤ÊÈĤ¬µÍ¤á¤é¤ì¤Æ¤¤¤ë¡¥Æ¬Éô¤«¤éÁ°Êý¤Ë ! Æͤ­½Ð¤Æ¤¿·Á¾õ¤Î¤¿¤á¡¤»°³Ñ·Á¤Î¥®¥ã¥Ã¥×¤Ï¡Ö¾×³ÑÄìÈġפȸƤФì¤ë ! ¾®¤µ¤ÊÈĤÇËä¤á¤é¤ì¤Æ¤¤¤ë¡¥¡Ö¾×³ÑÄìÈġפθå±ï¤ÏÁ°Æ¬Éô¤ËºÜ¤»¤é¤ì ! ¤¿±ï¤Ë¸þ¤«¤¤²¼¸þ¤­¤Ë¶Ê¤²¤é¤ì¤Æ¤¤¤ë¡¥ [ Arms & Armour of the Samurai, by Bottomley & Hopson ] + Åá katana ! # The katana is a long, single-edged samurai sword with a ! # slightly curved blade. Its long handle is designed to allow ! # it to be wielded with either one or two hands. ! Åá¤Ï¡¤Ä¹¤¯¤ÆÊҿϤÎÅá¿È¤¬·Ú¤¯¤½¤ê¤«¤¨¤Ã¤¿»ø¤Î·õ¤Ç¤¢¤ë¡¥¤½¤ÎĹ ! ¤¤ÊÁ¤Ï¡¤ÊÒ¼ê¤Ç¤âξ¼ê¤Ç¤âÅá¤ò¿¶¤ê²ó¤»¤ë¤è¤¦¤Ë¤Ç¤­¤Æ¤¤¤ë¡¥ ! óÊÎÛ ki-rin ! # The ki-rin is a strange-looking flying creature. It has ! # scales, a mane like a lion, a tail, hooves, and a horn. It ! # is brightly colored, and can usually be found flying in the ! # sky looking for good deeds to reward. ! óÊÎۤϴñ̯¤Ê¶õÈô¤Öưʪ¤Ç¤¢¤ë¡¥ÎÚ¡¤¥é¥¤¥ª¥ó¤Î¤è¤¦¤Ê¤¿¤Æ¤¬¤ß¡¤ ! ¿¬Èø¡¤¤Ò¤º¤á¡¤¤Ä¤Î¤ò¤â¤Ä¡¥ÌÀ¤¤¿§¤ò¤·¤Æ¤ª¤ê¡¤¤·¤Ð¤·¤ÐÊ󤤤뤿 ! ¤á¤ÎÎɤ¤¹Ô¤¤¤òõ¤·¶õ¤òÈô¤ó¤Ç¤¤¤ë¤Î¤òÌܷ⤵¤ì¤ë¡¥ ! ¥¢¡¼¥µ¡¼²¦ king arthur *arthur Ector took both his sons to the church before which the ! anvil had been placed. There, standing before the anvil, he ! commanded Kay: "Put the sword back into the steel if you really think the throne is yours!" But the sword glanced ! off the steel. "Now it is your turn", Ector said facing Arthur. The young man lifted the sword and thrust with both arms; the blade whizzed through the air with a flash and drilled the *************** *** 1187,1195 **** "Why, father and brother, do you bow before me?", Arthur asked with wonder in his voice. "Because now I know for sure that you are the king, not only ! by birth but also by law", Ector said. "You are no son of ! mine nor are you Kay's brother. Immediately after your birth, ! Merlin the Wise brought you to me to be raised safely. And though it was me that named you Arthur when you were baptized, you are really the son of brave king Uther Pendragon and queen Igraine..." --- 2103,2111 ---- "Why, father and brother, do you bow before me?", Arthur asked with wonder in his voice. "Because now I know for sure that you are the king, not only ! by birth but also by law", Ector said. "You are no son of ! mine nor are you Kay's brother. Immediately after your birth, ! Merlin the Wise brought you to me to be raised safely. And though it was me that named you Arthur when you were baptized, you are really the son of brave king Uther Pendragon and queen Igraine..." *************** *** 1197,1339 **** bishop to impart to him what had passed. [ Van Gouden Tijden Zingen de Harpen, by Vladimir Hulpach, Emanuel Frynta, and Vackav Cibula ] knight ! Here lies the noble fearless knight, ! Whose valour rose to such a height; ! When Death at last had struck him down, ! His was the victory and renown. ! He reck'd the world of little prize, ! And was a bugbear in men's eyes; ! But had the fortune in his age ! To live a fool and die a sage. [ Don Quixote of La Mancha by Miquel de Cervantes Saavedra ] ~kobold ??m* *kobold* ! The race of kobolds are reputed to be an artificial creation ! of a master wizard (demi-god?). They are about 3' tall with ! a vaguely dog-like face. They bear a violent dislike of the ! Elven race, and will go out of their way to cause trouble ! for Elves at any time. *kop* ! The typical policeman of 1920's movies, the Keystone Kop was ! modeled like the English "bobby", with a long brass-buttoned ! overcoat, carrying long nightsticks that he (more often than ! not) whapped himself with, rather than anyone else. The ! Keystone Kops were very slapstick-like, relying on speed and ! numbers to achieve their comedy, rather than sophisticated ! wit. kos ! "I am not a coward!" he cried. "I'll dare Thieves' House ! and fetch you Krovas' head and toss it with blood a-drip at ! Vlana's feet. I swear that, witness me, Kos the god of ! dooms, by the brown bones of Nalgron my father and by his ! sword Graywand here at my side!" [ Swords and Deviltry, by Fritz Leiber ] koto ! A Japanese harp. kraken ! Out from the water a long sinuous tentacle had crawled; it ! was pale-green and luminous and wet. Its fingered end had ! hold of Frodo's foot, and was dragging him into the water. ! Sam on his knees was now slashing at it with a knife. The ! arm let go of Frodo, and Sam pulled him away, crying out ! for help. Twenty other arms came rippling out. The dark ! water boiled, and there was a hideous stench. [ The Fellowship of the Ring, by J.R.R. Tolkien ] *lady offler ! Blind Io took up the dice-box, which was a skull whose various orifices had ! been stoppered with rubies, and with several of his eyes on the Lady he rolled ! three fives. She smiled. This was the nature of the Lady's eyes: they were ! bright green, lacking iris or pupil, and they glowed from within. ! The room was silent as she scrabbled in her box of pieces and, from the ! very bottom, produced a couple that she set down on the board with two de- ! cisive clicks. The rest of the players, as one God, craned forward to peer at ! them. ! "A wenegade wiffard and fome fort of clerk," said Offler the Crocodile ! God, hindered as usual by his tusks. "Well, weally!" With one claw he pushed ! a pile of bone-white tokens into the centre of the table. ! The Lady nodded slightly. She picked up the dice-cup and held it as ! steady as a rock, yet all the Gods could hear the three cubes rattling about ! inside. And then she sent them bouncing across the table. ! A six. A three. A five. ! Something was happening to the five, however. Battered by the chance col- ! lision of several billion molecules, the die flipped onto a point, spun gently ! and came down a seven. Blind Io picked up the cube and counted the sides. ! "Come _on_," he said wearily, "Play fair." [ The Colour of Magic, by Terry Pratchett] lemure ! The lowliest of the inhabitants of hell. leocrotta leu*otta ! ... the leucrocotta, a wild beast of extraordinary swiftness, ! the size of the wild ass, with the legs of a Stag, the neck, ! tail, and breast of a lion, the head of a badger, a cloven ! hoof, the mouth slit up as far as the ears, and one continuous ! bone instead of teeth; it is said, too, that this animal can ! imitate the human voice. [ Curious Creatures in Zoology, by John Ashton ] leprechaun ! The Irish Leprechaun is the Faeries' shoemaker and is known ! under various names in different parts of Ireland: ! Cluricaune in Cork, Lurican in Kerry, Lurikeen in Kildare ! and Lurigadaun in Tipperary. Although he works for the ! Faeries, the Leprechaun is not of the same species. He is ! small, has dark skin and wears strange clothes. His nature ! has something of the manic-depressive about it: first he ! is quite happy, whistling merrily as he nails a sole on to a ! shoe; a few minutes later, he is sullen and morose, drunk ! on his home-made heather ale. The Leprechaun's two great ! loves are tobacco and whiskey, and he is a first-rate con-man, ! impossible to out-fox. No one, no matter how clever, has ever ! managed to cheat him out of his hidden pot of gold or his ! magic shilling. At the last minute he always thinks of some ! way to divert his captor's attention and vanishes in the ! twinkling of an eye. [ A Field Guide to the Little People by Nancy Arrowsmith & George Moorse ] *lich ! Once in a great while, an evil master wizard or priest will ! manage through use of great magics to extend his or her life ! far beyond the normal span of a human. The usual effect of ! this is to transform the human, over time, into an undead of ! great magical power. A Lich hates life in any form; even a ! touch from one of these creatures will cause a numbing cold ! in the victim. They all possess the capability to use magic. ~* of light * light ! Strange creatures formed from energy rather than matter, ! lights are given to self-destructive behavior when battling ! foes. gecko iguana lizard ! Lizards, snakes and the burrowing amphisbaenids make up the ! order Squamata, meaning the scaly ones. The elongate, slim, ! long-tailed bodies of lizards have become modified to enable ! them to live in a wide range of habitats. Lizards can be ! expert burrowers, runners, swimmers and climbers, and a few ! can manage crude, short-distance gliding on rib-supported ! "wings". Most are carnivores, feeding on invertebrate and ! small vertebrate prey, but others feed on vegetation. [ Macmillan Illustrated Animal Encyclopedia ] loki ! Loki, or Lopt, is described in Snorri's _Edda_ as being ! "pleasing and handsome in appearance, evil in character, and ! very capricious in behaviour". He is the son of the giant ! Farbauti and of Laufey. ! Loki is the Norse god of cunning, evil, thieves, and fire. ! He hated the other gods and wanted to ruin them and overthrow ! the universe. He committed many murders. As a thief, he ! stole Freyja's necklace, Thor's belt and gauntlets of power, ! and the apples of youth. Able to shapechange at will, he is ! said to have impersonated at various times a mare, flea, fly, ! falcon, seal, and an old crone. As a mare he gave birth to ! Odin's horse Sleipnir. He also allegedly sired the serpent ! Midgard, the mistress of the netherworld, Hel, and the wolf ! Fenrir, who will devour the sun at Ragnarok. # long worm -- see "worm" lord carnarvon Lord Carnarvon was a personality who could have been produced nowhere but in England, a mixture of sportsman and collector, --- 2113,2394 ---- bishop to impart to him what had passed. [ Van Gouden Tijden Zingen de Harpen, by Vladimir Hulpach, Emanuel Frynta, and Vackav Cibula ] + µ³»Î knight ! # Here lies the noble fearless knight, ! # Whose valour rose to such a height; ! # When Death at last had struck him down, ! # His was the victory and renown. ! # He reck'd the world of little prize, ! # And was a bugbear in men's eyes; ! # But had the fortune in his age ! # To live a fool and die a sage. ! # [ Don Quixote of La Mancha by Miquel de ! # Cervantes Saavedra ] ! ͦ¤Þ¤·¤Î¶¿»Î¤³¤³¤Ë¤¾Ì²¤ë¡¢ ! ¤­¤ï¤Þ¤ì¤ë¤½¤ì¤¬Í¦µ¤¤Ï ! »à¤Î¿À¤â·¯¤¬À¸Ì¿¤ò ! »à¤ò¤â¤Ã¤Æ¤«¤ÁÆÀ¤¶¤ê¤·¤È¡¢ ! À¤¤Î¿Í¤Ï¸ì¤êÅÁ¤¨¤Ì¡£ ! ¤¢¤ê¤·Æü¤ÏÀ¤³¦¤òÊÎ(¤Ê¤ß)¤·¡¢ ! À¤¤ò¤¢¤²¤Æ·¯¤ò¤ª¤½¤ì¤Æ ! ¤Ò¤¿¤Ö¤ë¤ËÉݵ¤(¤ª¤¾¤±)¤Õ¤ë¤¤¤Ì¡£ ! ¤«¤¯¤·¤Æ¤Ï¹¬(¤µ¤Á)¤òÆÀ¤¿¤ê¤­¡£ ! ¶¸¿Í¤È¤·À¤¤òÁ÷¤ê¤·¤¬ ! Àµµ¤¤ËÉü¤·¤Æ¤ß¤Þ¤«¤ì¤ê¡£ [ Don Quixote of La Mancha by Miquel de Cervantes Saavedra ] + [ ¥É¥ó¡¦¥­¥Û¡¼¥Æ, ²ñÅÄͳÌõ, ¾½Ê¸¼Ò ] + *¥³¥Ü¥ë¥É* ~kobold ??m* *kobold* ! # The race of kobolds are reputed to be an artificial creation ! # of a master wizard (demi-god?). They are about 3' tall with ! # a vaguely dog-like face. They bear a violent dislike of the ! # Elven race, and will go out of their way to cause trouble ! # for Elves at any time. ! ¥³¥Ü¥ë¥É°ì²¤Ï(Ⱦ¤Ð¿À¤È²½¤·¤¿¡©)°ÎÂç¤ÊËâË¡»È¤¤¤Ë¤è¤ë¿Í¹©À¸Ì¿ ! ÂΤǤ¢¤ë¤È¤Î±¾¤ï¤ì¤Æ¤¤¤ë¡¥¥³¥Ü¥ë¥É¤Î¿ÈŤÏ3¥Õ¥£¡¼¥ÈÄø¤Ç¡¤´¶¾ð¤Î¤Ï¤Ã ! ¤­¤ê¤·¤Ê¤¤¸¤¤Î¤è¤¦¤Ê´é¤ò¤·¤Æ¤¤¤ë¡¥¥¨¥ë¥Õ¤òÈó¾ï¤Ë·ù¤Ã¤Æ¤ª¤ê¡¤ ! ¤É¤ó¤Ê¤È¤­¤Ç¤â¥¨¥ë¥Õ¤ËÁûÆ°¤òµ¯¤³¤¹¤¿¤á¤Ë¤Ï²æ¤ò˺¤ì¤ë¡¥ ! ·ÙÈ÷°÷ ! ½äºº ! ½äººÉôĹ ! ·ÙÉôÊä *kop* ! # The typical policeman of 1920's movies, the Keystone Kop was ! # modeled like the English "bobby", with a long brass-buttoned ! # overcoat, carrying long nightsticks that he (more often than ! # not) whapped himself with, rather than anyone else. The ! # Keystone Kops were very slapstick-like, relying on speed and ! # numbers to achieve their comedy, rather than sophisticated ! # wit. ! 1920ǯÂå¤Î±Ç²è¤Îŵ·¿Åª¤Ê·Ù»¡´±¡¥Keystone Kop¤Ï ! Ť¤¿¿ï«¤Î¥Ü¥¿¥ó¤Î¤Ä¤¤¤¿¥ª¡¼¥Ð¡¼¥³¡¼¥È¤òÃ塤Ť¤·ÙËÀ¡¤(¤¿¤¤¤Æ ! ¤¤Â¾¿Í¤è¤ê¼«Ê¬¼«¿È¤ò᤯¥±¡¼¥¹¤¬Â¿¤¤)¤ò»ý¤Á¤¢¤ë¤¯¥¤¥®¥ê¥¹¤Î ! ¡Öbobby(½äºº)¡×¤ò¥â¥Ç¥ë²½¤·¤¿¤â¤Î¤Ç¤¢¤ë¡¥Keystone Kop¤Ï¤É¤¿¤Ð ! ¤¿¼Çµï¤Ç¡¤¥¹¥Ô¡¼¥É¤È¥³¥á¥Ç¥£¤òµÍ¤á¹þ¤ó¤À¤â¤Î¤Ç¡¤¤à¤·¤íÀöÎý¤µ¤ì ! ¤¿¥æ¡¼¥â¥¢·à¤Ç¤¢¤ë¡¥ ! ¥³¥¹ kos ! # "I am not a coward!" he cried. "I'll dare Thieves' House ! # and fetch you Krovas' head and toss it with blood a-drip at ! # Vlana's feet. I swear that, witness me, Kos the god of ! # dooms, by the brown bones of Nalgron my father and by his ! # sword Graywand here at my side!" ! ¡Ö¤ª¤ì¤Ï¹øÈ´¤±¤Ç¤Ï¤Ê¤¤! ¡ÒÅð±¤Î´Û¡Ó¤ËƲ¡¹¤È¾è¤ê¤³¤ó¤Ç¡¢ ! ¥¯¥í¡¼¥ô¥¡¥¹¤Î¼óµé¤ò¤¢¤²¡¢·ì¤Î¤Ý¤¿¤Ý¤¿¿â¤ì¤ë¤ä¤Ä¤ò ! ¥ô¥é¥Ê¤Î­¤â¤È¤Ø¤Û¤¦¤ê½Ð¤·¤Æ¤ß¤»¤ë! ±¿Ì¿¤Î¿À¥³¥¹¤â¾ÈÍ÷¤¢¤ì¡¢ ! ¤ï¤¬Éã¥Ê¥ë¥°¥í¥ó¤ÎÃ㿧¤Î¹ü¤È¡¢¤³¤Î¹ø¤ËÂÓ¤Ó¤¿Éã¤Î·õ ! ¡Ò³¥¿§¾ó¡Ó¤Ë¤«¤±¤Æ¡¢¤½¤ì¤òÀÀ¤¦!¡× [ Swords and Deviltry, by Fritz Leiber ] + [ Ëâ¤ÎÅÔ¤ÎÆó·õ»Î, Âçë·½ÆóÌõ, Áϸµ¿äÍýʸ¸Ë ] + ¶× koto ! # A Japanese harp. ! ÆüËܤΥϡ¼¥×¡¥ ! ¥¯¥é¡¼¥±¥ó kraken ! # Out from the water a long sinuous tentacle had crawled; it ! # was pale-green and luminous and wet. Its fingered end had ! # hold of Frodo's foot, and was dragging him into the water. ! # Sam on his knees was now slashing at it with a knife. The ! # arm let go of Frodo, and Sam pulled him away, crying out ! # for help. Twenty other arms came rippling out. The dark ! # water boiled, and there was a hideous stench. ! ¿å¤ÎÃ椫¤é°ìËܤΤ¯¤Í¤¯¤Í¤·¤¿Ä¹¤¤¿¨¼ê¤¬¤Ï¤¤½Ð¤Æ¤¤¤Þ¤·¤¿¡¥¤½ ! ¤ì¤Ï¤¦¤¹¤¤Î理Îȯ¸÷ÂΤǡ¤Ç¨¤ì¤Æ¤¤¤Þ¤·¤¿¡¥¤½¤Î»Ø¤Î¤Ä¤¤¤¿Àè ! ü¤¬¥Õ¥í¥É¤Î­¤ò¤Ä¤«¤ó¤Ç¡¤¿å¤ÎÃæ¤Ë°ú¤­Æþ¤ì¤è¤¦¤È¤·¤Æ¤¤¤¿¤Î ! ¤Ç¤¹¡¥¥µ¥à¤Ïξɨ¤ò¤Ä¤­¡¤Ã»·õ¤Ç¤½¤Î¼ê¤ËÀÚ¤ê¤Ä¤±¤Þ¤·¤¿¡¥ ! ÏӤϥեí¥É¤òÊü¤·¤Þ¤·¤¿¡¥¥µ¥à¤Ï½õ¤±¤ò¸Æ¤Ó¤Ê¤¬¤é¡¤¥Õ¥í¥É¤ò°ú ! ¤ÃÄ¥¤Ã¤Æ¤½¤³¤òÎ¥¤ì¤Þ¤·¤¿¡¥Ê̤ËÆó½½ËܤФ«¤ê¤ÎÏÓ¤¬¾®ÇȤò¤¿¤Æ ! ¤Æ¸½¤ï¤ì¤Þ¤·¤¿¡¥°Å¤¤¿åÌ̤¬Áû¤®¡¤¶²¤·¤¤°­½­¤¬¤·¤Þ¤·¤¿¡¥ [ The Fellowship of the Ring, by J.R.R. Tolkien ] + [ ɾÏÀ¼Ò, À¥ÅÄÄçÆóÌõ ] + ¥ì¥Ç¥£ + ¥ª¥Õ¥é¡¼ + ½÷¿À *lady offler ! # Blind Io took up the dice-box, which was a skull whose various orifices had ! # been stoppered with rubies, and with several of his eyes on the Lady he rolled ! # three fives. She smiled. This was the nature of the Lady's eyes: they were ! # bright green, lacking iris or pupil, and they glowed from within. ! # The room was silent as she scrabbled in her box of pieces and, from the ! # very bottom, produced a couple that she set down on the board with two de- ! # cisive clicks. The rest of the players, as one God, craned forward to peer at ! # them. ! # "A wenegade wiffard and fome fort of clerk," said Offler the Crocodile ! # God, hindered as usual by his tusks. "Well, weally!" With one claw he pushed ! # a pile of bone-white tokens into the centre of the table. ! # The Lady nodded slightly. She picked up the dice-cup and held it as ! # steady as a rock, yet all the Gods could hear the three cubes rattling about ! # inside. And then she sent them bouncing across the table. ! # A six. A three. A five. ! # Something was happening to the five, however. Battered by the chance col- ! # lision of several billion molecules, the die flipped onto a point, spun gently ! # and came down a seven. Blind Io picked up the cube and counted the sides. ! # "Come _on_," he said wearily, "Play fair." ! ¥¤¥ª¤Ï¤µ¤¤¤³¤íÈ¢¤ò¼è¤ê¾å¤²¤¿¡¥¤½¤ì¤ÏƬ³¸¹ü¤Ç¤Ç¤­¤Æ¤ª¤ê¡¤¤¢¤Á¤³ ! ¤Á¤Î·ê¤¬¥ë¥Ó¡¼¤Ç¤Õ¤µ¤¤¤Ç¤¢¤ë¡¥¥¤¥ª¤Ï¤¤¤¯¤Ä¤«¤ÎÌ̤ܶò¡ã½÷¿À¡ä¤Ë ! ¸þ¤±¤Æ¡¤¸Þ¤ò»°¤Ä¿¶¤ê½Ð¤·¤¿¡¥¡ã½÷¿À¡ä¤ÏÈù¾Ð¤ó¤À¡¥¡ã½÷¿À¡ä¤ÎÌÜ¤Ï ! ¤³¤ó¤Ê¤Õ¤¦¤À¡Ý¡Ý¿§¤ÏÌÀ¤ë¤¤ÎС¤Æ·¹¦¤Ï¤Ê¤¯¡¤Æ⦤«¤éµ±¤¤¤Æ¤¤¤ë¡¥ ! ! Éô²°Ã椬ÀŤޤêÊÖ¤ëÃ桤Èà½÷¤Ï¶ð¤òÆþ¤ì¤¿È¢¤òõ¤ê¡¤¤½¤ÎÄ줫¤éÆó¤Ä ! ¤Î¶ð¤ò¼è¤ê½Ð¤¹¤È¡¤·èÁ³¤È¤·¤¿É½¾ð¤Ç¡¤¤«¤Á¤Ã¤«¤Á¤Ã¤È²»¤ò¤µ¤»¤ÆÈ× ! ¤Î¾å¤ËÃÖ¤¤¤¿¡¥¡¥Â¾¤Î¥×¥ì¡¼¥ä¡¼¤Ï¡¤°ìÀƤ˼ó¤ò¿­¤Ð¤·¤Æ¤Î¤¾¤­¹þ¤ó ! ¤À¡¥ ! ! ¡Ö¤¦¤é¤ê¤ê¼Ô¤Î¤Þ¤Ò¤å¤Ä»Õ¤Ë¡¤²¿¤«¤Î»ö̳°÷¤é¤Ê¡×¡ãÏ̤οÀ¡ä¥ª¥Õ¥é¡¼ ! ¤Î¸ÀÍդϡ¤Îã¤Ë¤è¤Ã¤Æ²ç¤Î¤»¤¤¤Çʹ¤­¼è¤ê¤Ë¤¯¤¤¡¥¡Ö¤ª¤é¤Þ¤¢¡×¤«¤ì ! ¤Ï¤«¤®ÄޤΤĤ¤¤¿Â­¤Ç¡¤¾Ý²ç¿§¤Î¥Á¥Ã¥×¤ò°ì»³¡¤¥Æ¡¼¥Ö¥ë¤Î ! ¤Þ¤óÃæ¤Ë²¡¤·¤ä¤Ã¤¿¡¥ ! ! ¡ã½÷¿À¡ä¤Ï¡¤¤«¤¹¤«¤Ë¤¦¤Ê¤º¤¤¤¿¡¥Èà½÷¤Ï¤µ¤¤¤³¤íÈ¢¤ò¼è¤ê¾å¤²¤ë¤È¡¤ ! ´ä¤Ç¤â»ý¤Ä¤«¤Î¤è¤¦¤Ë¤·¤Ã¤«¤È¤â¤Ã¤¿¡¥¤Ë¤â¤«¤«¤ï¤é¤º¡¤¤É¤Î¿À¡¹¤Ë ! ¤â¡¤»°¤Ä¤Î¤µ¤¤¤³¤í¤¬È¢¤ÎÃæ¤Ç¡¤¤«¤é¤«¤é¤Èž¤¬¤ë²»¤¬Ê¹¤³¤¨¤¿¡¥¤½ ! ¤·¤ÆÈà½÷¤Ï¤µ¤¤¤³¤í¤ò¥Æ¡¼¥Ö¥ë¤Î¾å¤Ëž¤¬¤·¤¿¡¥ ! ! Ï»¡¤»°¡¤¸Þ¡¥ ! ! ¤À¤¬¡¤²¿¤«¤¬¸Þ¤ÎÌܤ˵¯¤³¤ê¤Ä¤Ä¤¢¤Ã¤¿¡¥²¿½½²¯¤È¤¤¤¦Ê¬»Ò¤Î¶öÁ³¤Î ! ¾×Æͤˤµ¤é¤µ¤ì¤Æ¡¤¤µ¤¤¤³¤í¤Ï¤¯¤¤¤Ã¤È³Ñ¤ÇΩ¤Á¾å¤¬¤ê¡¤¤ª¤â¤à¤í¤Ë ! ²óž¤¹¤ë¤È¼·¤ÎÌܤò¸«¤»¤¿¡¥¡ÈÌÕÌܤΥ¤¥ª¡É¤Ï¤µ¤¤¤³¤í¤ò¼ê¤Ë¤È¤Ã¤Æ¡¤ ! Ì̤οô¤ò¿ô¤¨¤¿¡¥¡ÖÍê¤à¤è¡×¤«¤ì¤Ï¤¦¤ó¤¶¤ê¤·¤¿¤è¤¦¤ÊÀ¼¤ò½Ð¤·¤¿¡¥ ! ¡Ö¥Õ¥§¥¢¡¦¥×¥ì¥¤¤Ç¹Ô¤³¤¦¡× ! [ The Colour of Magic, by Terry Pratchett] + [ ¥Ç¥£¥¹¥¯¥ï¡¼¥ë¥ÉÁûÆ°µ­¡¤°ÂÅĶÑÌõ¡¤³ÑÀîʸ¸Ë ] + ¥ì¥à¥ì¡¼¥¹ lemure ! # The lowliest of the inhabitants of hell. ! ÃϹö¤ÎºÇ²¼µé¤Î½»¿Í¡¥ ! ¥ì¥ª¥¯¥í¥Ã¥¿ leocrotta leu*otta ! # ... the leucrocotta, a wild beast of extraordinary swiftness, ! # the size of the wild ass, with the legs of a Stag, the neck, ! # tail, and breast of a lion, the head of a badger, a cloven ! # hoof, the mouth slit up as far as the ears, and one continuous ! # bone instead of teeth; it is said, too, that this animal can ! # imitate the human voice. ! ¥ì¥ª¥¯¥í¥Ã¥¿¡¤¤È¤Æ¤Ä¤â¤Ê¤¯ÁÇÁᤤÌîÀ­¤Î½Ã¡¤ÌîÀ­¤Î¥í¥Ð¤¯¤é¤¤¤Î ! Â礭¤µ¡¤Íº¼¯¤Î­¡¤¼ó¡¤¿¬Èø¡¤¥é¥¤¥ª¥ó¤Î¶»¡¤·ê·§¤ÎƬ¡¤2¤Ä¤Ë³ä¤ì ! ¤¿Äý¡¤¼ª¤Î¤è¤¦¤ËÀڤꤵ¤«¤ì¤Æ¤ë¸ý¡¤»õ¤ÎÊѤê¤Ë°ìËç¤Î¹ü¡¥¤³¤ÎÆ° ! ʪ¤Ï¿Í´Ö¤ÎÀ¼¤ò¤Þ¤Í¤ë¤È¤â¸À¤ï¤ì¤Æ¤¤¤ë¡¥ [ Curious Creatures in Zoology, by John Ashton ] + ¥ì¥×¥ì¥³¡¼¥ó leprechaun ! # The Irish Leprechaun is the Faeries' shoemaker and is known ! # under various names in different parts of Ireland: ! # Cluricaune in Cork, Lurican in Kerry, Lurikeen in Kildare ! # and Lurigadaun in Tipperary. Although he works for the ! # Faeries, the Leprechaun is not of the same species. He is ! # small, has dark skin and wears strange clothes. His nature ! # has something of the manic-depressive about it: first he ! # is quite happy, whistling merrily as he nails a sole on to a ! # shoe; a few minutes later, he is sullen and morose, drunk ! # on his home-made heather ale. The Leprechaun's two great ! # loves are tobacco and whiskey, and he is a first-rate con-man, ! # impossible to out-fox. No one, no matter how clever, has ever ! # managed to cheat him out of his hidden pot of gold or his ! # magic shilling. At the last minute he always thinks of some ! # way to divert his captor's attention and vanishes in the ! # twinkling of an eye. ! ¥¢¥¤¥ë¥é¥ó¥É¤Î¥ì¥×¥ì¥³¡¼¥ó¤ÏÍÅÀº¤Î·¤¤Î»ÅΩ²°¤Ç¤¢¤ê¡¤¥¢¥¤¥ë¥é¥ó ! ¥É¤Î¿§¡¹¤Ê¾ì½ê¤Ë¤è¤Ã¤Æ¿§¡¹¤Ê̾Á°¤ÇÃΤé¤ì¤Æ¤¤¤ë¡¥¥³¡¼¥¯ÃÏÊý¤Ç¤Ï ! ¥¯¥ë¥ê¥«¡¼¥ó¡¤¥±¥ê¡¼ÃÏÊý¤Ç¤Ï¥ë¥ê¥«¥ó¡¤¥­¥ë¥À¡¼¤Ç¤Ï¥ë¥ê¥­¡¼¥ó¡¤ ! ¥Æ¥£¥Ñ¥é¥ê¡¼¤Ç¤Ï¥ê¥¬¥À¡¼¥ó¤Ç¤¢¤ë¡¥Èà¤é¤ÏÍÅÀº¤Î¤¿¤á¤Ë»Å»ö¤ò¤¹ ! ¤ë¤¬¡¤¥ì¥×¥ì¥³¡¼¥ó¤ÏƱ¤¸¼ï²¤Î¤â¤Î¤Ç¤Ï¤Ê¤¤¡¥¤½¤ì¤Ï¾®¤µ¤¯¡¤¹õ ! ¤¤ÈéÉæ¤ò»ý¤Á¡¤´ñ̯¤ÊÉþ¤òÃå¤Æ¤¤¤Æ¤ë¡¥¥ì¥×¥ì¥³¡¼¥ó¤Ï¼¡¤Î¤è¤¦¤Ë ! í¯ÝµÅª¤Ç¤¢¤ë¡¥ºÇ½é¤Ë¤È¤Æ¤â¹¬¤»¤Ë¤Ê¤ê¡¤ÊÒÊý¤Î·¤Äì¤òÅ£ÉÕ¤±¤¹¤ë ! ¤«¤Î¤è¤¦¤ËÍÛµ¤¤Ë¸ýÅ«¤ò¿á¤¯¡¥¿ôʬ¸å¡¤±¢Ýµ¤«¤ÄÉÔµ¡·ù¤Ë¤Ê¤ê¡¤¼« ! ²ÈÀ½¤Î¥Ò¡¼¥¹¤Î¥¨¡¼¥ë¤Ç¿ì¤¤¤Ä¤Ö¤ì¤ë¡¥¥ì¥×¥ì¥³¡¼¥ó¤ÏÆó¤Ä¤Î¤â¤Î ! ¤ò°¦¤¹¤ë¡¥±ìÁð¤È¥¦¥£¥¹¥­¡¼¤À¡¥¤½¤·¤Æ¥ì¥×¥ì¥³¡¼¥ó¤Ï¤¹¤Ð¤é¤·¤¤ ! ¿®ÍѤΤ¢¤ë¤ä¤Ä¤Ç¡¤Áê¼ê¤ò΢Àڤ뤳¤È¤Î¤Ê¤¤¤ä¤Ä¤À¡¥¤É¤¦¤Ç¤â¤¤¤¤ ! ¤³¤È¤À¤¬¡¤¤É¤ó¤Ê¤ËÍø¸ý¤Ê¤ä¤Ä¤Ç¤â±£¤µ¤ì¤¿¶â¤äËâË¡¥·¥ê¥ó¥°¤Î¤Ä ! ¤Þ¤Ã¤¿¥Ý¥Ã¥È¤òñÙ¤·¤È¤Ã¤¿¤Î¤Ï¤¤¤Ê¤¤¡¥ºÇ¸å¤Ë¤Ï¡¤Èà¤òÄϤޤ¨¤ë¤â ! ¤Î¤ÎÃí°Õ¤ò¤½¤é¤¹ÊýË¡¤Ë¤Ä¤¤¤Æ¹Í¤¨¡¤Ìܤâ¤Þ¤Ð¤¿¤«¤»¾Ã¤¨¤ë¤Î¤Ç¤¢ ! ¤ë¡¥ [ A Field Guide to the Little People by Nancy Arrowsmith & George Moorse ] + *¥ê¥Ã¥Á *lich ! # Once in a great while, an evil master wizard or priest will ! # manage through use of great magics to extend his or her life ! # far beyond the normal span of a human. The usual effect of ! # this is to transform the human, over time, into an undead of ! # great magical power. A Lich hates life in any form; even a ! # touch from one of these creatures will cause a numbing cold ! # in the victim. They all possess the capability to use magic. ! ²¿É´Ç¯¤«¤Ë°ìÅÙ¡¤¼Ù°­¤ÊËâË¡¤ò¶Ë¤á¤¿¤â¤Î¤äÁÎ礬¡¤¤½¤Î¿ÍÀ¸¤òÉá ! Ä̤οʹ֤ΰìÀ¸¤ò¤Ï¤ë¤«¤Ë±Û¤¨¤ë¤è¤¦¤Ë¤·¤è¤¦¤È°ÎÂç¤ÊËâË¡¤Î»ÈÍÑ ! ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤¢¤ë¡¥¤³¤ÎËâË¡¤ÎÉáÄ̤θú²Ì¤Ï»þ´Ö¤ò¤«¤±¡¤¿Í´Ö ! ¤ò°ÎÂç¤ÊËâË¡¤Î¥Ñ¥ï¡¼¤ò¤â¤Ä¥¢¥ó¥Ç¥Ã¥É¤ËÊѲ½¤µ¤»¤ë¡¥¥ê¥Ã¥Á¤Ï¤¢ ! ¤é¤æ¤ë·Á¤Ç¤ÎÀ¸Ì¿¤ò´÷¤ß·ù¤¦¡¥¤³¤ì¤é¤ÎÀ¸¤­Êª¤Ë¿¨¤é¤ì¤¿¤ê¤¹¤ë¤À ! ¤±¤Ç¡¤µ¾À·¼Ô¤ÏÎ䤿¤¯¤Ê¤êáã¤ì¤Æ¤·¤Þ¤¦¡¥Èà¤é¤Ï¤Þ¤¿ËâË¡¤ò¤â»È¤¦ ! ¤³¤È¤¬¤Ç¤­¤ë¡¥ ! *¤¤¸÷ ~* of light * light ! # Strange creatures formed from energy rather than matter, ! # lights are given to self-destructive behavior when battling ! # foes. ! ʪÂΤȤ¤¤¦¤è¤ê¤Ï¥¨¥Í¥ë¥®¡¼¤«¤é¤Ê¤ë´ñ̯¤ÊÀ¸Êª¤Ç¡¤Å¨¤ËÂФ·¤Æ¤Ï ! ¼«µÔŪ¤ÊÇúȯ¤òÍ¿¤¨¤ë¡¥ ! ¥ä¥â¥ê ! ¥¤¥°¥¢¥Ê ! ¥È¥«¥² gecko iguana lizard ! # Lizards, snakes and the burrowing amphisbaenids make up the ! # order Squamata, meaning the scaly ones. The elongate, slim, ! # long-tailed bodies of lizards have become modified to enable ! # them to live in a wide range of habitats. Lizards can be ! # expert burrowers, runners, swimmers and climbers, and a few ! # can manage crude, short-distance gliding on rib-supported ! # "wings". Most are carnivores, feeding on invertebrate and ! # small vertebrate prey, but others feed on vegetation. ! ¥È¥«¥²¡¤¼Ø¡¤·ê¤ß¤ß¤º¥È¥«¥²¤Ï¡ÖÎڤΤ¢¤ë¡×¤ò°ÕÌ£¤¹¤ëÎÚÌܤò·ÁÀ® ! ¤¹¤ë¡¥¥È¥«¥²¤Î¤¹¤é¤Ã¤È¤·¤¿¡¤¥¹¥ê¥à¤Ê¡¤Ä¹¤¤¿¬Èø¤ÎÂΤϹ­ÈϰϤΠ! À¸Â©ÃϤǤÎÀ¸³è¤ò²Äǽ¤È¤¹¤ë¤è¤¦¤ËÊѲ½¤·¤Æ¤­¤¿¡¥¥È¥«¥²¤Ï·ê·¡¤ê¡¤ ! ¥é¥ó¥Ë¥ó¥°¡¤¿å±Ë¡¤Êɾå¤ê¤Î̾¿Í¤Ç¡¤¤¢¤ë¤â¤Î¤ÏϾ¹ü¤Ë¤¯¤Ã¤Ä ! ¤¤¤¿ÁÆËö¤Êûµ÷Î¥³ê¶õÍѤΡֱ©¡×¤ò¤¦¤Þ¤¯»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡¥¤¿¤¤ ! ¤Æ¤¤¤ÏÆù¿©¤Ç¡¤ÌµÀÔÄÇưʪ¤ä¾®¤µ¤ÊÀÔÄÇưʪ¤ò¤¨¤µ¤È¤·¤Æ¿©¤Ù¤ë¡¥ ! ¤·¤«¤·¡¤¿¢Êª¤ò¿©¤Ù¤ë¤â¤Î¤â¤¤¤ë¡¥ [ Macmillan Illustrated Animal Encyclopedia ] + ¥í¥­ loki ! # Loki, or Lopt, is described in Snorri's _Edda_ as being ! # "pleasing and handsome in appearance, evil in character, and ! # very capricious in behaviour". He is the son of the giant ! # Farbauti and of Laufey. ! # Loki is the Norse god of cunning, evil, thieves, and fire. ! # He hated the other gods and wanted to ruin them and overthrow ! # the universe. He committed many murders. As a thief, he ! # stole Freyja's necklace, Thor's belt and gauntlets of power, ! # and the apples of youth. Able to shapechange at will, he is ! # said to have impersonated at various times a mare, flea, fly, ! # falcon, seal, and an old crone. As a mare he gave birth to ! # Odin's horse Sleipnir. He also allegedly sired the serpent ! # Midgard, the mistress of the netherworld, Hel, and the wolf ! # Fenrir, who will devour the sun at Ragnarok. ! ¥í¥­¤Þ¤¿¤Ï¥í¥×¥È¤Ï¥¹¥Î¥ê¤Î¥¨¥Ã¥À¤Ç¤Ï¼¡¤Î¤è¤¦¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¡¥ ! ¡Ö¸«¤¿´¶¤¸¤Ï¿Í¤Ë¹¥¤«¤ì¡¤¤ê¤ê¤·¤¤¤¬¡¤À­³Ê¤Ï°­¤Ç¡¤¤Õ¤ë¤Þ¤¤¤Ï ! µ¤¤Þ¤°¤ì¤Ç¤¢¤ë¡×¡¥Èà¤Ïµð¿Í¥Õ¥¡¥ë¥Ð¥¦¥Æ¥£¤È¥é¥¦¥Õ¥§¥¤¤Î©»Ò¤Ç ! ¤¢¤ë¡¥ ! ¥í¥­¤ÏË̲¤¤Î°­Ãηᤰ­¡¤Å𱤪¤è¤Ó²Ð¤Î¿À¤Ç¤¢¤ë¡¥Èà¤Ï¾¤Î¿À¡¹ ! ¤òÁþ¤ß¡¤Èà¤é¤ÎÇËÌǤÈÀ¤³¦¤Îžʤ¤ò˾¤ó¤Ç¤¤¤ë¡¥Èà¤Ï¿¤¯»¦¿Í¤òÈÈ ! ¤·¤¿¡¥Åð±¤È¤·¤Æ¡¤Èà¤Ï¥Õ¥ì¥¤¤Î¥Í¥Ã¥¯¥ì¥¹¤ò¡¤¥È¡¼¥ë¤Î¥Ù¥ë¥È¤È ! ÎϤξ®¼ê¤ò¡¤¼ã¤µ¤ÎÎÓ¸é¤òÅð¤ó¤À¡¥¤¦¤Þ¤¯ÊѲ½¤ò¤Ç¤­¤ë¤Î¤Ç¡¤Èà¤Ï ! »óÇÏ¡¤¥Î¥ß¡¤Ç衤¥Ï¥ä¥Ö¥µ¡¤¥¢¥¶¥é¥·¡¤¤·¤ï¤¯¤Á¤ãÇ̤ʤɿ§¡¹¤Ê¤â ! ¤Î¤Ë¤Ê¤ê¤¹¤Þ¤·¤¿¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥»óÇϤˤʤ俤Ȥ­Èà¤Ï¥ª¡¼¥Ç¥£ ! ¥ó¤ÎÇÏ¥¹¥ì¥¤¥×¥Ë¥ë¤ò»º¤ó¤À¡¥Èà¤ÏÅÁ¤¨¤é¤ì¤ë¤È¤³¤í¤Ç¤Ï¡¤¥Ø¥Ó¤Î ! ¥ß¥É¥¬¥ë¥É¡¤Ì½³¦¤Î½÷²¦¡¤¥Ø¥ë¡¤¥é¥°¥Ê¥í¥¯¤ËÂÀÍÛ¤ò¤à¤µ¤Ü¤ê¿©¤¦ ! ¥Õ¥§¥ó¥ê¥ëϵ¤òÀ¸¤Þ¤»¤¿¡¥ # long worm -- see "worm" + ¥±¥Ê¡¼¥ô¥§¥ó¶ª lord carnarvon Lord Carnarvon was a personality who could have been produced nowhere but in England, a mixture of sportsman and collector, *************** *** 1343,1375 **** the excavation sites of several archaeological expeditions. ... In 1906 he began his own excavations. [ Gods, Graves, and Scholars, by C. W. Ceram ] lord sato ! Lord Sato was the family head of the Taro Clan, and a mighty ! daimyo. He is a loyal servant of the Emperor, and will do ! everything in his power to further the imperial cause. lord surt* ! Yet first was the world in the southern region, which was ! named Muspell; it is light and hot; that region is glowing ! and burning, and impassable to such as are outlanders and ! have not their holdings there. He who sits there at the ! land's-end, to defend the land, is called Surtr; he brandishes ! a flaming sword, and at the end of the world he shall go forth ! and harry, and overcome all the gods, and burn all the ! world with fire. [ The Prose Edda, by Snorri Sturluson ] lug* ! Lugh, or Lug, was the sun god of the Irish Celts. One of his ! weapons was a rod-sling which worshippers sometimes saw in ! the sky as a rainbow. As a tribal god, he was particularly ! skilled in the use of his massive, invincible spear, which ! fought on its own accord. One of his epithets is _lamfhada_ ! (of the long arm). He was a young and apparently more ! attractive deity than Dagda, the father of the gods. Being ! able to shapeshift, his name translates as lynx. lurker* ! These dungeon scavengers are very adept at blending into the ! surrounding walls and ceilings of the dungeon due to the ! stone-like coloring of their skin. lycanthrope *were* In 1573, the Parliament of Dole published a decree, permitting --- 2398,2464 ---- the excavation sites of several archaeological expeditions. ... In 1906 he began his own excavations. [ Gods, Graves, and Scholars, by C. W. Ceram ] + Âç̾º´Æ£ lord sato ! # Lord Sato was the family head of the Taro Clan, and a mighty ! # daimyo. He is a loyal servant of the Emperor, and will do ! # everything in his power to further the imperial cause. ! Âç̾º´Æ£¤ÏÂÀϺ°ì²¤ÎÅö¼ç¤Ç¶¯ÎϤÊÂç̾¤Ç¤¢¤ë¡¥Èà¤Ï¹ÄÄë¤ÎÃé¿Ã¤Ç ! ¤¢¤êÄë¹ñ¤Î¤¿¤á¤Ë¤½¤ÎÎϤòÁ´¤Æȯ´ø¤·¤Æ¤¤¤ë¡¥ ! ¥¹¥ë¥È* ! ¥µ¡¼¥¿¡¼* lord surt* ! # Yet first was the world in the southern region, which was ! # named Muspell; it is light and hot; that region is glowing ! # and burning, and impassable to such as are outlanders and ! # have not their holdings there. He who sits there at the ! # land's-end, to defend the land, is called Surtr; he brandishes ! # a flaming sword, and at the end of the world he shall go forth ! # and harry, and overcome all the gods, and burn all the ! # world with fire. ! ¤À¤¬¡¤¤¤¤Á¤Ð¤ó½é¤á¤Ë¤Ï¡¤Æî¤ÎÊý¤Ë¡¤¥à¥¹¥Ú¥ë¤È¤¤¤¦À¤³¦¤¬¤¢¤Ã¤¿¤Î ! ¤À¡¥¤½¤ì¤ÏÌÀ¤ë¤¯¡¤Ç®¤¯¡¤¤½¤ÎÊÕ¤ê¤Ï±ë¤ò¤¢¤²¤Ædz¤¨¾å¤ê¡¤°Û¹ñ¤Î¼Ô ! ¤Ç¡¤¤½¤³¤ËÀ¸¤ì¤¿¤Î¤Ç¤Ê¤¤¼Ô¤Ï¡¤¶á¤Å¤±¤Ê¤«¤Ã¤¿¡¥¤½¤³¤Î¹ñ¶­·ÙÈ÷¤Î ! Ǥ¤Ë¤Ä¤¤¤Æ¤¤¤ë¼Ô¤Ï¥¹¥ë¥È¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¡¥Èà¤Ï¼ê¤Ëdz¤¨¤µ¤«¤ë·õ¤ò ! ¤â¤Á¡¤À¤³¦¤Î½ª¤ê¤Ë¤ä¤Ã¤Æ¤­¤Æ¡¤¹Ó¤·¤Þ¤ï¤ê¡¤¿À¡¹¤ò°ì¿Í»Ä¤é¤ºÆ¤¤Á ! Ê¿¤é¤²¡¤Á´À¤³¦¤ò²Ð¤Ç¾Æ¤­¤Ä¤¯¤¹¤À¤í¤¦¡¥ [ The Prose Edda, by Snorri Sturluson ] + [ ¥¨¥Ã¥À¡¤Ã«¸ý¹¬ÃËÌõ¡¤¿·Ä¬¼Ò] + ¥ë¡¼¥Õ lug* ! # Lugh, or Lug, was the sun god of the Irish Celts. One of his ! # weapons was a rod-sling which worshippers sometimes saw in ! # the sky as a rainbow. As a tribal god, he was particularly ! # skilled in the use of his massive, invincible spear, which ! # fought on its own accord. One of his epithets is _lamfhada_ ! # (of the long arm). He was a young and apparently more ! # attractive deity than Dagda, the father of the gods. Being ! # able to shapeshift, his name translates as lynx. ! ¥ë¡¼¥Õ¤Þ¤¿¤Ï¥ë¡¼¥°¤Ï¥¢¥¤¥ë¥é¥ó¥É¤Î¥±¥ë¥È¿Í¤ÎÂÀÍۤοÀ¤Ç¤¢¤Ã¤¿¡¥ ! Èà¤ÎÉð´ï¤Î1¤Ä¤Ë¥í¥Ã¥É¥¹¥ê¥ó¥°¤¬¤¢¤ê¡¤ÎéÇÒ¼Ô¤¬¤È¤­¤É¤­Æú¤È¤·¤Æ ! ¶õ¤Ë¸«¤¿¡¥¼ï²¤Î¿À¤È¤·¤Æ¡¤Èà¤Ï¼ÂºÝ¡¤Èà¤Î½Å¸ü¤Ê̵Ũ¤Î¤Ò¤È¤ê¤Ç¤Ë ! À臘Áä¤Î°·¤¤¤Ë¤¿¤±¤Æ¤¤¤¿¡¥Èà¤Î̾¤Î1¤Ä¤Ë¡Ö(ĹÉð´ï¤Î)¥é¥à¥Õ¥Ï¥À¡× ! ¤È¸À¤¦¤Î¤¬¤¢¤ë¡¥Èà¤Ï¼ã¤¯¡¤ÌÀ¤é¤«¤Ë¿À¡¹¤ÎÉã¥À¥°¥À¤è¤ê¤âÌ¥ÎÏŪ¤Ç ! ¤¢¤Ã¤¿¡¥»Ñ·Á¤òÊѤ¨¤ë¤³¤È¤¬¤Ç¤­¡¤Èà¤Î̾Á°¤Ï¥ª¥ª¥ä¥Þ¥Í¥³¤ËÊÑ´¹ ! ¤µ¤ì¤Æ¤¤¤ë¡¥ ! ¥é¡¼¥«¡¼ lurker* ! # These dungeon scavengers are very adept at blending into the ! # surrounding walls and ceilings of the dungeon due to the ! # stone-like coloring of their skin. ! ¤³¤Îƶ·¢¤ÎÁݽü²°¤Ï¼þ°Ï¤Îƶ·¢Æâ¤ÎÊɤäÅ·°æ¤ËÍϤ±¹þ¤à¤Î¤ò¶Ë¤á¤ÆÆÀ ! °Õ¤È¤·¤Æ¤¤¤ë¡¥¤½¤ì¤ÏÈà¤é¤¬´ä¤Ë»÷¤¿¿§¤ÎÈéÉæ¤òÍ­¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¢ ! ¤ë¡¥ ! ¥é¥¤¥«¥ó¥¹¥í¡¼¥× ! ¥¸¥ã¥Ã¥«¥ë¿Í´Ö ! ϵ¿Í´Ö ! ¤Í¤º¤ß¿Í´Ö ! ¥¸¥ã¥Ã¥«¥ëÃË ! ϵÃË ! ¤Í¤º¤ßÃË ! ¥¸¥ã¥Ã¥«¥ë½÷ ! ϵ½÷ ! ¤Í¤º¤ß½÷ lycanthrope *were* In 1573, the Parliament of Dole published a decree, permitting *************** *** 1389,1412 **** pig, which was not restrained by any feeling of piety from eating infants on a fast day. [ The History of Vampires, by Dudley Wright ] magic mirror of merlin ! This powerful mirror was created by Merlin, the druid, in ages ! past, when trees sang and rocks danced. It protects all who ! carry it from magic missiles, and gives them ESP. mail d*emon ! It is rumoured that these strange creatures can be harmed by ! domesticated canines only. ma*annan* ! Normally called Manannan, Ler's son was the patron of ! merchants and sailors. Manannan had a sword which never ! failed to slay, a boat which propelled itself wherever its ! owner wished, a horse which was swifter than the wind, and ! magic armour which no sword could pierce. He later became ! god of the sea, beneath which he lived in Tir na nOc, the ! underworld. manes ! The gnats of the dungeon, these swarming monsters are rarely ! seen alone. marduk First insisting on recognition as supreme commander, Marduk defeated the Dragon, cut her body in two, and from it created --- 2478,2517 ---- pig, which was not restrained by any feeling of piety from eating infants on a fast day. [ The History of Vampires, by Dudley Wright ] + ¥Þ¡¼¥ê¥ó¤ÎËâË¡¤Î¶À magic mirror of merlin ! # This powerful mirror was created by Merlin, the druid, in ages ! # past, when trees sang and rocks danced. It protects all who ! # carry it from magic missiles, and gives them ESP. ! ¤³¤Î¶¯Âç¤Ê¶À¤Ï¡¤ÌÚ¡¹¤¬²Î¤¤´ä¤¬Í٤äƤ¤¤¿»þÂå¤Ë¥É¥ë¥¤¥ÉÁΡ¤¥Þ¡¼ ! ¥ê¥ó¤Ë¤è¤Ã¤Æºî¤é¤ì¤¿¤â¤Î¤Ç¤¢¤ë¡¥¤½¤ì¤Ï¤½¤Î½êÍ­¼ÔÁ´¤Æ¤ò¥Þ¥¸¥Ã¥¯ ! ¥ß¥µ¥¤¥ë¤«¤é¸î¤ê¡¤±ó»ëǽÎϤòÍ¿¤¨¤ë¡¥ ! ¥á*¥ë¥Ç¡¼¥â¥ó mail d*emon ! # It is rumoured that these strange creatures can be harmed by ! # domesticated canines only. ! ¤³¤Î´ñ̯¤ÊÀ¸Êª¤Ï»ô¤¤¸¤¤Ë¤è¤Ã¤Æ¤Î¤ß½ý¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¤È±½¤µ ! ¤ì¤Æ¤¤¤ë¡¥ ! ¥Þ¥Ê¥ó¥Ê¥ó*¥Þ¥¯¥ê¡¼¥ë ma*annan* ! # Normally called Manannan, Ler's son was the patron of ! # merchants and sailors. Manannan had a sword which never ! # failed to slay, a boat which propelled itself wherever its ! # owner wished, a horse which was swifter than the wind, and ! # magic armour which no sword could pierce. He later became ! # god of the sea, beneath which he lived in Tir na nOc, the ! # underworld. ! Ä̾ï¤Ï¥Þ¥Ê¥Ê¥ó¤È¸Æ¤Ð¤ì¤ë¡¥¥é¡¼¤Î©»Ò¤Ç¾¦¶È¤È¿åʼ¤Î¿À¡¥¥Þ¥Ê ! ¥Ê¥ó¤Ï·è¤Ã¤·¤Æ»¦³²¤Ë¼ºÇÔ¤·¤Ê¤¤·õ¡¤¤½¤Î»ý¤Á¼ç¤¬Ë¾¤à¤È¤³¤í¤Ë ! ¿ä¿Ê¤¹¤ëÁ¥¡¤É÷¤è¤ê¼À¤¤ÇÏ¡¤¤É¤ó¤Ê·õ¤Ç¤â´ÓÄ̤Ǥ­¤Ê¤¤ËâË¡¤Î³» ! ¤ò»ý¤Ã¤Æ¤¤¤ë¡¥Èà¤Ï¤Î¤Á¤ËÈब½»¤ó¤Ç¤¤¤¿¥Æ¥£¥ë¡¦¥Ê¡¦¥Î¡¼¥¯¤Î ! ²¼Êý¤Ë¤¢¤ë³¤¤Î¿À¤ª¤è¤ÓÃϲ¼¤Î¿À¤È¤Ê¤Ã¤¿¡¥ ! Ë´Îî manes ! # The gnats of the dungeon, these swarming monsters are rarely ! # seen alone. ! ̵ܤΥ֥补¤³¤Î·²¤é¤¬¤ë²øʪ¤ÏñÆȤǸ½¤ï¤ì¤ë¤Î¤Ïµ©¤Ç¤¢¤ë¡¥ ! ¥Þ¡¼¥É¥¯ marduk First insisting on recognition as supreme commander, Marduk defeated the Dragon, cut her body in two, and from it created *************** *** 1418,1592 **** of known life from the paths of the planets to the daily events in the lives of men. [ The Immortals, by Derek and Julia Parker ] marilith ! The marilith has a torso shaped like that of a human female, ! and the lower body of a great snake. It has multiple arms, ! and can freely attack with all of them. Since it is ! intelligent enough to use weapons, this means it can cause ! great damage. master assassin ! He strolled down the stairs, followed by a number of assassins. ! When he was directly in front of Ymor he said: "I've come for ! the tourist." ... ! "One step more and you'll leave here with fewer eyeballs than ! you came with," said the thiefmaster. "So sit down and have ! a drink, Zlorf, and let's talk about this sensibly. _I_ ! thought we had an agreement. You don't rob -- I don't kill. ! Not for payment, that is," he added after a pause. ! Zlorf took the proffered beer. ! "So?" he said. "I'll kill him. Then you rob him. Is he that ! funny looking one over there?" ! "Yes." ! Zlorf stared at Twoflower, who grinned at him. He shrugged. ! He seldom wasted time wondering why people wanted other people ! dead. It was just a living. ! "Who is your client, may I ask?" said Ymor. ! Zlorf held up a hand. "Please!" he protested. "Professional ! etiquette." [ The Colour of Magic, by Terry Pratchett ] master key of thievery ! This skeleton key was fashioned in ages past and imbued with ! a powerful magic which allows it to open any lock. When ! carried, it grants its owner warning, teleport control, and ! reduces all physical damage by half. Finally, when invoked, ! it has the ability to disarm any trap. master of thieves ! There was a flutter of wings at the window. Ymor shifted his ! bulk out of the chair and crossed the room, coming back with ! a large raven. After he'd unfastened the message capsule from ! its leg it flew up to join its fellows lurking among the ! rafters. Withel regarded it without love. Ymor's ravens were ! notoriously loyal to their master, to the extent that Withel's ! one attempt to promote himself to the rank of greatest thief ! in Ankh-Morpork had cost their master's right hand man his ! left eye. But not his life, however. Ymor never grudged a ! man his ambitions. [ The Colour of Magic, by Terry Pratchett ] medusa ! Medusa, one of the three Gorgons or Graeae, is the only one ! of her sisters to have assumed mortal form and inhabited the ! dungeon world. ! ! When Perseus was grown up Polydectes sent him to attempt the ! conquest of Medusa, a terrible monster who had laid waste the ! country. She was once a beautiful maiden whose hair was her ! chief glory, but as she dared to vie in beauty with Minerva, ! the goddess deprived her of her charms and changed her ! beautiful ringlets into hissing serpents. She became a cruel ! monster of so frightful an aspect that no living thing could ! behold her without being turned into stone. All around the ! cavern where she dwelt might be seen the stony figures of men ! and animals which had chanced to catch a glimpse of her and ! had been petrified with the sight. Perseus, favoured by ! Minerva and Mercury, the former of whom lent him her shield ! and the latter his winged shoes, approached Medusa while she ! slept and taking care not to look directly at her, but guided ! by her image reflected in the bright shield which he bore, he ! cut off her head and gave it to Minerva, who fixed it in the ! middle of her Aegis. [ Bulfinch's Mythology, by Thomas Bulfinch ] *mimic ! The ancestors of the modern day chameleon, these creatures can ! assume the form of anything in their surroundings. They may ! assume the shape of objects or dungeon features. Unlike the ! chameleon though, which assumes the shape of another creature ! and goes in hunt of food, the mimic waits patiently for its ! meals to come in search of it. mind flayer ! This creature has a humanoid body, tentacles around its ! covered mouth, and three long fingers on each hand. Mind ! flayers are telepathic, and love to devour intelligent beings, ! especially humans. If they hit their victim with a tentacle, ! the mind flayer will slowly drain it of all intelligence, ! eventually killing its victim. minotaur ! The Minotaur was a monster, half bull, half human, the ! offspring of Minos' wife Pasiphae and a wonderfully beautiful ! bull. ... When the Minotaur was born Minos did not kill him. ! He had Daedalus, a great architect and inventor, construct a ! place of confinement for him from which escape was impossible. ! Daedalus built the Labyrinth, famous throughout the world. ! Once inside, one would go endlessly along its twisting paths ! without ever finding the exit. [ Mythology, by Edith Hamilton ] mit*ra* ! Originating in India (Mitra), Mithra is a god of light who ! was translated into the attendant of the god Ahura Mazda in ! the light religion of Persia; from this he was adopted as ! the Roman deity Mithras. He is not generally regarded as a ! sky god but a personification of the fertilizing power of ! warm, light air. According to the _Avesta_, he possesses ! 10,000 eyes and ears and rides in a chariot drawn by white ! horses. Mithra, according to Zarathustra, is concerned with ! the endless battle between light and dark forces: he ! represents truth. He is responsible for the keeping of oaths ! and contracts. He is attributed with the creation of both ! plants and animals. His chief adversary is Ahriman, the ! power of darkness. [ The Encyclopaedia of Myths and Legends of All Nations, by Herbert Spencer Robinson and Knox Wilson ] *mithril* ! _Mithril_! All folk desired it. It could be beaten like ! copper, and polished like glass; and the Dwarves could make ! of it a metal, light and yet harder than tempered steel. ! Its beauty was like to that of common silver, but the beauty ! of _mithril_ did not tarnish or grow dim. ! [ The Fellowship of the Ring, by J.R.R. Tolkien ] mitre of holiness ! This helm of brilliance performs all of the normal functions ! of a helm of brilliance, but also has the ability to protect ! anyone who carries it from fire. When invoked, it boosts ! the energy of the invoker, allowing them to cast more spells. mjollnir ! Forged by the dwarves Eitri and Brokk, in response to Loki's ! challenge, Mjollnir is an indestructible war hammer. It has ! two magical properties: when thrown it always returned to ! Thor's hand; and it could be made to shrink in size until it ! could fit inside Thor's shirt. Its only flaw is that it has ! a short handle. The other gods judged Mjollnir the winner of ! the contest because, of all the treasures created, it alone had ! the power to protect them from the giants. As the legends ! surrounding Mjollnir grew, it began to take on the quality of ! "vigja", or consecration. Thor used it to consecrate births, ! weddings, and even to raise his goats from the dead. In the ! Norse mythologies Mjollnir is considered to represent Thor's ! governance over the entire cycle of life - fertility, birth, ! destruction, and resurrection. ~slime mold *mold ! Mold, multicellular organism of the division Fungi, typified ! by plant bodies composed of a network of cottony filaments. ! The colors of molds are due to spores borne on the filaments. ! Most molds are saprophytes. Some species (e.g., penicillium) ! are used in making cheese and antibiotics. [ The Concise Columbia Encyclopedia ] mol?ch ! And the Lord spake unto Moses, saying, ! Again, thou shalt say to the children of Israel, Whosoever ! he be of the children of Israel, or of the strangers that ! sojourn in Israel, that giveth any of his seed unto Molech; ! he shall surely be put to death: the people of the land shall ! stone him with stones. ! And I will set my face against that man, and will cut him off ! from among his people; because he hath given of his seed unto ! Molech, to defile my sanctuary, and to profane my holy name. ! And if the people of the land do any ways hide their eyes ! from the man, when he giveth of his seed unto Molech, and kill ! him not: ! Then I will set my face against that man, and against his ! family, and will cut him off, and all that go a whoring after ! him, to commit whoredom with Molech, from among their people. ! [ Leviticus 20:1-5 ] mumak* ! ... the Mumak of Harad was indeed a beast of vast bulk, and ! the like of him does not walk now in Middle-Earth; his kin ! that live still in latter days are but memories of his girth ! and majesty. On he came, ... his great legs like trees, ! enormous sail-like ears spread out, long snout upraised like ! a huge serpent about to strike, his small red eyes raging. ! His upturned hornlike tusks ... dripped with blood. ! [ The Two Towers, by J.R.R. Tolkien ] *mummy But for an account of the manner in which the body was bandaged, and a list of the unguents and other materials --- 2523,2856 ---- of known life from the paths of the planets to the daily events in the lives of men. [ The Immortals, by Derek and Julia Parker ] + ¥Þ¥ê¥ê¥¹ marilith ! # The marilith has a torso shaped like that of a human female, ! # and the lower body of a great snake. It has multiple arms, ! # and can freely attack with all of them. Since it is ! # intelligent enough to use weapons, this means it can cause ! # great damage. ! ¥Þ¥ê¥ê¥¹¤Î¾åȾ¿È¤Ï¿Í´Ö¤Î½÷À­¤Ç¡¤²¼È¾¿È¤Ï¤ÈÂç¼Ø¤Ç¤¢¤ë¡¥Ê£¿ô¤Î ! ÏÓ¤ò¼«Í³¤Ë¤¢¤ä¤Ä¤ê¹¶·â¤ò¤·¤«¤±¤Æ¤¯¤ë¡¥Éð´ï¤ò°·¤¨¤ë¤À¤±¤ÎÃÎǽ ! ¤â¤¢¤ë¤Î¤Ç¡¤¥Þ¥ê¥ê¥¹¤ÏÈó¾ï¤Ë´í¸±¤Ê¸ºß¤Ç¤¢¤ë¡¥ ! °Å»¦¼Ô¤ÎƬÎÎ master assassin ! # He strolled down the stairs, followed by a number of assassins. ! # When he was directly in front of Ymor he said: "I've come for ! # the tourist." ... ! # "One step more and you'll leave here with fewer eyeballs than ! # you came with," said the thiefmaster. "So sit down and have ! # a drink, Zlorf, and let's talk about this sensibly. _I_ ! # thought we had an agreement. You don't rob -- I don't kill. ! # Not for payment, that is," he added after a pause. ! # Zlorf took the proffered beer. ! # "So?" he said. "I'll kill him. Then you rob him. Is he that ! # funny looking one over there?" ! # "Yes." ! # Zlorf stared at Twoflower, who grinned at him. He shrugged. ! # He seldom wasted time wondering why people wanted other people ! # dead. It was just a living. ! # "Who is your client, may I ask?" said Ymor. ! # Zlorf held up a hand. "Please!" he protested. "Professional ! # etiquette." ! ¥Ä¥í¡¼¥Õ¤Ï²¿¿Í¤«¤Î°Å»¦¼Ô¤ò°ú¤­Ï¢¤ì¤Æ¡¤³¬Ãʤò¹ß¤ê¤Æ¤­¤¿¡¥¥¤¥â¡¼ ! ¤Î¿¿¤óÁ°¤ËÍè¤ë¤È¸ý¤ò³«¤¯¡¥¡Öι¹Ô¼Ô¤ò夭¤ËÍ褿¡× ! ¡¥¡¥¡¥¡¥¡¥ ! ¡Ö°ìÊâ¤Ç¤âÆ°¤±¤Ð¡¤Æþ¤Ã¤Æ¤­¤¿¤È¤­¤è¤êÌ̤ܶò¸º¤é¤·¤Æµ¢¤ë¤³¤È¤Ë¤Ê ! ¤ë¤¾¡×Åð±¤ÎƬ¤Ï¸À¤Ã¤¿¡¥¡Ö¤À¤«¤é¡¤ºÂ¤Ã¤Æ¤¤¤Ã¤Ñ¤¤¤ä¤ê¤Ê¡¤¥Ä¥í¡¼ ! ¥Õ¡¤¤½¤ì¤«¤é¤æ¤Ã¤¯¤êÏ䷹礪¤¦¤¸¤ã¤Ê¤¤¤«¡¥³Î¤«¤ª¸ß¤¤¤Ë¶¨Äê¤ò·ë ! ¤ó¤À¤È»×¤Ã¤Æ¤¤¤¿¤ó¤À¤¬¤Ê¡Ý¡Ý¤ª¤Þ¤¨¤¿¤Á¤ÏÅð¤Þ¤Ê¤¤¡¤²¶¤¿¤Á¤Ï»¦¤µ ! ¤Ê¤¤¡×¤½¤·¤Æ´Ö¤òÃÖ¤¤¤ÆÉÕ¤±²Ã¤¨¤¿¡¤¡ÖÊ󽷤Τ¿¤á¤Ë¤Ï¤Ê¡× ! ! ¥Ä¥í¡¼¥Õ¤Ïº¹¤·½Ð¤µ¤ì¤¿¥Ó¡¼¥ë¤ò°û¤ó¤À¡¥ ! ! ¡Ö¤½¤ì¤Ç¡©¡×¤È°Å»¦¼Ô¡¥¡Ö²¶¤¬»¦¤¹¡¤¤½¤ì¤«¤é¤¢¤ó¤¿¤¬Åð¤á¤Ð¤¤¤¤¡¥ ! ¤¢¤½¤³¤Î̯¤Ê³Ê¹¥¤ò¤·¤¿ÅÛ¤¬¤½¤¦¤«¡©¡× ! ! ¡Ö¤½¤¦¤À¡× ! ! ¥Ä¥í¡¼¥Õ¤Ï¥Ä¡¼¥Õ¥é¥ï¡¼¤ò¸«¤¹¤¨¤¿¡¥¥Ä¡¼¥Õ¥é¥ï¡¼¤Ï¤Ë¤ä¤Ã¤È¾Ð¤¤¤« ! ¤¨¤·¤¿¡¥¥Ä¥í¡¼¥Õ¤Ï¸ª¤ò¤¹¤¯¤á¤¿¡¥¤«¤ì¤Ï¤Ê¤¼¡¤¿Í¡¹¤¬Â¾¿Í¤Ë¤·¤ó¤Ç ! ¤â¤é¤¤¤¿¤¬¤ë¤Î¤«¡¤¤ï¤¶¤ï¤¶¹Í¤¨¤Æ»þ´Ö¤ò̵Â̤ˤ¹¤ë¤³¤È¤ÏÌÇ¿¤Ë¤Ê ! ¤«¤Ã¤¿¡¥À¸·×¤ÎÎȤȤ¤¤¦¤Î¤Ë²á¤®¤Ê¤¤¡¥¡Ö°ÍÍê¿Í¤Ï狼¡¤¶µ¤¨¤Æ¤¯¤ì ! ¤Ê¤¤¤«¡©¡×¤È¥¤¥â¡¼¡¥ ! ! ¥Ä¥í¡¼¥Õ¤ÏÊÒ¼ê¤ò¾å¤²¤¿¡¥¡Ö¤ª¤¤¤ª¤¤¡ª¡×¤È¹³µÄ¤¹¤ë¡¥¡Ö¿¦Ì³¾å¤Î¥¨ ! ¥Á¥±¥Ã¥È¤À¤¾¡× ! [ The Colour of Magic, by Terry Pratchett ] + [ ¥Ç¥£¥¹¥¯¥ï¡¼¥ë¥ÉÁûÆ°µ­¡¤°ÂÅĶÑÌõ¡¤³ÑÀîʸ¸Ë ] + Åð±¤Î¥Þ¥¹¥¿¡¼¥­¡¼ master key of thievery ! # This skeleton key was fashioned in ages past and imbued with ! # a powerful magic which allows it to open any lock. When ! # carried, it grants its owner warning, teleport control, and ! # reduces all physical damage by half. Finally, when invoked, ! # it has the ability to disarm any trap. ! ¤³¤ÎËüǽ¸°¤ÏÂçÀΤ˺î¤é¤ì¡¤¤É¤ó¤Ê¸°¤Ç¤â³«¤±¤Æ¤·¤Þ¤¦¶¯ÎϤÊËâÎϤ¬ ! ¿á¤­¹þ¤Þ¤ì¤Æ¤¤¤ë¡¥»ý¤Ã¤Æ¤¤¤ë¤À¤±¤Ç¡¤»ý¤Á¼ç¤Ë·Ù¹ð¤òÍ¿¤¨¡¤½Ö´Ö ! °ÜÆ°¤òÀ©¸æ¤·¡¤ÊªÍý¥À¥á¡¼¥¸¤òȾ¸º¤µ¤»¤ë¡¥¤½¤ÎÎϤò»È¤¦¤È¤É¤ó¤Ê ! 櫤Ǥâ²ò½ü¤¹¤ëǽÎϤ¬ÆÀ¤é¤ì¤ë¡¥ ! Åð±¤ÎƬÎÎ master of thieves ! # There was a flutter of wings at the window. Ymor shifted his ! # bulk out of the chair and crossed the room, coming back with ! # a large raven. After he'd unfastened the message capsule from ! # its leg it flew up to join its fellows lurking among the ! # rafters. Withel regarded it without love. Ymor's ravens were ! # notoriously loyal to their master, to the extent that Withel's ! # one attempt to promote himself to the rank of greatest thief ! # in Ankh-Morpork had cost their master's right hand man his ! # left eye. But not his life, however. Ymor never grudged a ! # man his ambitions. ! Áë¤Î³°¤Ç±©¤Ð¤¿¤­¤¬Ê¹¤³¤¨¤¿¡¥¥¤¥â¡¼¤Ï°Ø»Ò¤«¤éµðÂΤòµ¯¤³¤¹¤ÈÉô²° ! ¤ò²£Àڤꡤ°ì±©¤ÎÂ籨¤òÏ¢¤ì¤ÆÌá¤Ã¤Æ¤­¤¿¡¥µÓ¤ÎÄÌ¿®´Ö¤ò¤Ï¤º¤·¤Æ¤â ! ¤é¤¦¤È¡¤¤½¤¤¤Ä¤ÏÈô¤Ó¾å¤¬¤Ã¤Æ¡¤¿âÌڤΤ¹¤­´Ö¤Ë¤Ò¤½¤àƱÎि¤Á¤ÎÃç ! ´ÖÆþ¤ê¤ò¤·¤¿¡¥¥ï¥¤¥¼¥ë¤ÏÁþ¤·¤ß¤Î¤³¤â¤Ã¤¿ÌܤǤ½¤¤¤Ä¤òį¤á¤¿¡¥¥¤ ! ¥â¡¼¤ÎÂ籨¤Ï¡¤¼ç¿Í¤Ø¤ÎÃéÀ¿¤Ë´Ø¤·¤Æ¤Ï°­Ì¾¤¬¹â¤¤¡¥¥¤¥â¡¼¤Î±¦ÏÓ¤¿ ! ¤ë¥ï¥¤¥¼¥ë¤¬°ìÅÙ¡¤¥¢¥ó¥¯=¥â¥ë¥Ý¡¼¥¯¤Ç°ìÈÖ¼ê¤ÎÅð±¤Ë¤Ê¤í¤¦¤È»î ! ¤ß¤¿¤È¤­¤Ë¤Ï¡¤º¸Ìܤò¼º¤¦¤Ï¤á¤Ë¤Ê¤Ã¤¿¤Û¤É¤À¡¥¤À¤¬¡¤Ì¿¤Þ¤Ç¼è¤é¤ì ! ¤¿¤ï¤±¤¸¤ã¤Ê¤¤¡¥¥¤¥â¡¼¤ÏÃˤ¬Âç»Ö¤ò»ý¤Ã¤¿¤«¤é¤È¤¤¤Ã¤Æ¡¤·è¤·¤ÆÅÊ ! ¤ó¤À¤ê¤Ï¤·¤Ê¤¤¤Î¤À¡¥ ! [ The Colour of Magic, by Terry Pratchett ] + [ ¥Ç¥£¥¹¥¯¥ï¡¼¥ë¥ÉÁûÆ°µ­¡¤°ÂÅĶÑÌõ¡¤³ÑÀîʸ¸Ë ] + ¥á¥Â¥å¡¼¥µ medusa ! # Medusa, one of the three Gorgons or Graeae, is the only one ! # of her sisters to have assumed mortal form and inhabited the ! # dungeon world. ! ! ¥´¥ë¥´¥ó¤Î»°»ÐËå¤Î¤¦¤Á¡¤¥á¥Ç¥å¡¼¥µ¤Î¤ß¤¬¿Í´Ö¤Î»Ñ¤òÁõ¤¤¥À¥ó¥¸¥ç ! ¥ó¤ÎÀ¤³¦¤Ë½»¤ó¤Ç¤¤¤ë ! ! # When Perseus was grown up Polydectes sent him to attempt the ! # conquest of Medusa, a terrible monster who had laid waste the ! # country. She was once a beautiful maiden whose hair was her ! # chief glory, but as she dared to vie in beauty with Minerva, ! # the goddess deprived her of her charms and changed her ! # beautiful ringlets into hissing serpents. She became a cruel ! # monster of so frightful an aspect that no living thing could ! # behold her without being turned into stone. All around the ! # cavern where she dwelt might be seen the stony figures of men ! # and animals which had chanced to catch a glimpse of her and ! # had been petrified with the sight. Perseus, favoured by ! # Minerva and Mercury, the former of whom lent him her shield ! # and the latter his winged shoes, approached Medusa while she ! # slept and taking care not to look directly at her, but guided ! # by her image reflected in the bright shield which he bore, he ! # cut off her head and gave it to Minerva, who fixed it in the ! # middle of her Aegis. ! ¥Ú¥ë¥»¥¦¥¹¤¬¤¤¤Ã¤Ñ¤·À®¿Í¤¤¤¿¤·¤Þ¤¹¤È¡¤¥Ý¥ê¥å¥Ç¥¯¥Æ¥¹¤Ï¡¤¥á¥É ! ¥¥¥µ¤È¤¤¤Ã¤Æ¤½¤Î¹ñ¤ò¹Ó¤é¤·¤Æ¤¤¤¿¶²¤·¤¤²øʪÂ༣¤ËÈà¤ò¤ä¤ê¤Þ¤· ! ¤¿¡¥¥á¥É¥¥¥µ¤Ï¤â¤È¤ÏÈþ¤·¤¤²µ½÷¤Ç¤¢¤ê¤Þ¤·¤¿¡¥¤³¤È¤Ëȱ¤ÎÌÓ¤ò²¿ ! ¤è¤ê¤Î¸Ø¤ê¤Ë¤·¤Æ¡¤¥¢¥Æ¥Ê¤È¤½¤ÎÈþ¤·¤µ¤òÁ褦¤è¤¦¤Ê¤³¤È¤ò¤·¤¿¤¿ ! ¤á¤Ë½÷¿À¤«¤é¤¹¤Ù¤Æ¤ÎÈþ¤òÃ¥¤ï¤ì¤Æ¡¤Èþ¤·¤¤´¬ÌӤϤ³¤È¤´¤È¤¯¤Ò¤· ! ¤á¤¯¼Ø¤ÈÊѤ¨¤é¤ì¤¿¤Î¤Ç¤¢¤ê¤Þ¤·¤¿¡¥Èà½÷¤Ï¤È¤¦¤È¤¦»Ä¹ó¤Ê²øʪ¤È ! ¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡¥¤½¤¦¤·¤Æ¤½¤Î´é¤Ä¤­¤¬¤¢¤Þ¤ê¶²¤·¤¤¤â¤Î¤Ç¤¹ ! ¤«¤é¡¤Ã¯¤Ç¤â¿ÍÌܸ«¤¿¤â¤Î¤Ï¤ß¤ó¤ÊÀФˤʤê¤Þ¤·¤¿¡¥¥á¥É¥¥¥µ¤Î½» ! ¤ó¤Ç¤¤¤ëƶ·¢¤Î¼þ°Ï¤Ë¤Ï¡¤¿Í´Ö¤äưʪ¤Î·Á¤ò¤·¤¿ÀФ¬¤¿¤¯¤µ¤ó¤¢¤ê ! ¤Þ¤¹¤¬¡¤¤³¤ì¤Ï¤É¤¦¤«¤·¤¿µ¡³£¤ËÈà½÷¤ò°ìÌܸ«¤Æ¡¤¸«¤ë¤È¤È¤â¤ËÀÐ ! ²½¤·¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤¢¤ê¤Þ¤¹¡¥¤µ¤Æ¥Ú¥ë¥»¥¦¥¹¤Ï¥¢¥Æ¥Ê¤È¥Ø¥ë¥á¥¹ ! ¤Ë²Ä°¦¤¤¤¬¤é¤ì¤Æ¤¤¤¿¤Î¤Ç¡¤¥¢¥Æ¥Ê¤ÏÈà½÷¤Î½â¤òÂߤ·¤Æ¤¯¤ì¤ë¤·¡¤ ! ¥Ø¥ë¥á¥¹¤Ï¤Þ¤¿Íã¤Î¤Ä¤¤¤¿·¤¤òÂߤ·¤Æ¤¯¤ì¤Þ¤·¤¿¡¥¤½¤ì¸Î¥Ú¥ë¥»¥¦ ! ¥¹¤Ï¥á¥É¥¥¥µ¤¬Ì²¤Ã¤Æ¤¤¤ë¤¢¤¤¤À¤Ë¡¤¤½¤Î»Ñ¤ò¤Þ¤È¤â¤Ë¸«¤Ê¤¤¤è¤¦ ! ¤Ëµ¤¤ò¤Ä¤±¤Ê¤¬¤é¼ê¤Ë»ý¤Ã¤¿½â¤ÎÃæ¤Ë±Ç¤Ã¤Æ¤¤¤ë¥¢¥Æ¥Ê¤ÎÁü¤Ë¼é¸î ! ¤»¤é¤ì¤Æ¡¤¥á¥É¥¥¥µ¤Ë¶á¤è¤ê¤Þ¤·¤¿¡¥¤½¤¦¤·¤Æ¼ó¤òÀÚ¤êÍ¤Æ¤½¤ì ! ¤ò¥¢¥Æ¥Ê¤Ë¤¢¤¿¤¨¤Þ¤¹¤È¡¤¥¢¥Æ¥Ê¤Ï¼«Ê¬¤Î½â¤Î¤Þ¤óÃæ¤Ë¥á¥É¥¥¥µ¤Î ! ¼ó¤ò¤Ä¤±¤Þ¤·¤¿¡¥ [ Bulfinch's Mythology, by Thomas Bulfinch ] + [ ¥®¥ê¥·¥¢¡¦¥í¡¼¥Þ¿ÀÏᤠÌî¾åÌïÀ¸»ÒÌõ¡¤´äÇÈʸ¸Ë ] + *¥ß¥ß¥Ã¥¯ *mimic ! # The ancestors of the modern day chameleon, these creatures can ! # assume the form of anything in their surroundings. They may ! # assume the shape of objects or dungeon features. Unlike the ! # chameleon though, which assumes the shape of another creature ! # and goes in hunt of food, the mimic waits patiently for its ! # meals to come in search of it. ! ¸½Âå¤Î¥«¥á¥ì¥ª¥ó¤ÎÁÄÀè¤Ç¤¢¤ê¡¤¤³¤ÎÀ¸¤­Êª¤Ï¤½¤Î¼þ°Ï¤Ë¤¢¤ë¤â¤Î¤Î ! ²¿¤Ë¤Ç¤â²½¤±¤ë»ö¤¬¤Ç¤­¤ë¡¥¤½¤ì¤ÏʪÂΤäƶ·¢¤ÎÍ×ÁǤˤⲽ¤±¤ë»ö¤¬ ! ¤Ç¤­¤ë¡¥¤·¤«¤·¤Ê¤¬¤é¥«¥á¥ì¥ª¥ó¤¬Â¾¤ÎÀ¸¤­Êª¤Ë²½¤±¤Æ¡¤¼í¤ê¤Ë½Ð¤ë ! ¤Î¤ËÂФ·¡¤¥ß¥ß¥Ã¥¯¤Ï¤½¤ì¤òµá¤á¤Æ¿©ÎÁ¤¬¤ä¤Ã¤ÆÍè¤ë¤Î¤òǦÂѶ¯¤¯ÂԤà ! ¤Æ¤¤¤ë¡¥ ! ¥Þ¥¤¥ó¥É¥Õ¥ì¥¢ mind flayer ! # This creature has a humanoid body, tentacles around its ! # covered mouth, and three long fingers on each hand. Mind ! # flayers are telepathic, and love to devour intelligent beings, ! # especially humans. If they hit their victim with a tentacle, ! # the mind flayer will slowly drain it of all intelligence, ! # eventually killing its victim. ! ¤³¤ÎÀ¸¤­Êª¤Ï¿Í´Ö¤ÎÂΤò»ý¤Ä¤¬¡¤¸ý¤Ï¿¨¼ê¤Ëʤ¤ï¤ì¡¤Î¾¼ê¤Ë¤Ï»°ËܤΠ! »Ø¤ò»ý¤Ä¡¥¥Þ¥¤¥ó¥É¥Õ¥ì¥¢¤Ï¥Æ¥ì¥Ñ¥·¡¼¤ò¤â¤Ã¤Æ¤ª¤ê¡¤ÃηäΤ¢¤ëÀ¸ ! ¤­Êª¡¤¤È¤ê¤ï¤±¿Í´Ö¤òÅ®°¦¤·¤Æ¤¤¤ë¡¥¿¨¼ê¤Ç¹¶·â¤µ¤ì¤è¤¦¤â¤Î¤Ê¤é¡¤ ! ¥Þ¥¤¥ó¥É¥Õ¥ì¥¢¤Ï¤æ¤Ã¤¯¤ê¤ÈÁ´¤Æ¤ÎÃηäòµÛ¤¤¤È¤ê¡¤¤ä¤¬¤Æµ¾À·¼Ô¤Ï ! »à¤ó¤Ç¤·¤Þ¤¦¤À¤í¤¦¡¥ ! ¥ß¥Î¥¿¥¦¥í¥¹ minotaur ! # The Minotaur was a monster, half bull, half human, the ! # offspring of Minos' wife Pasiphae and a wonderfully beautiful ! # bull. ... When the Minotaur was born Minos did not kill him. ! # He had Daedalus, a great architect and inventor, construct a ! # place of confinement for him from which escape was impossible. ! # Daedalus built the Labyrinth, famous throughout the world. ! # Once inside, one would go endlessly along its twisting paths ! # without ever finding the exit. ! ¥ß¥Î¥¿¥¦¥í¥¹¤ÏȾµíȾ¿Í¤Î²øʪ¤Ç¤¢¤ë¡¤¥ß¥Î¥¹¤ÎºÊ¥Ñ¥·¥Ñ¥¨¤È¤¹¤Ð ! ¤é¤·¤¯Èþ¤·¤¤²´µí¤Î´Ö¤Î»Ò¤Ç¤¢¤ë¡¥ ! ¡¥¡¥¡¥ ! ¥ß¥Î¥¿¥¦¥í¥¹¤¬»º¤Þ¤ì¤¿¤È¤­¥ß¥Î¥¹¤Ï¥ß¥Î¥¿¥¦¥í¥¹¤ò»¦¤µ¤Ê¤«¤Ã¤¿¡¥ ! °ÎÂç¤Ê·úÃ۲ȤÇȯÌÀ²È¤Ç¤¢¤ë¥À¥¤¥À¥í¥¹¤¬Æ¨¤¬¤ì¤ë¤³¤È¤¬ÉÔ²Äǽ¤Ç ! ¤¢¤ë´Æ¶Ø¾ì½ê¤òÈà¤Î¤¿¤á¤Ëºî¤Ã¤¿¡¥¥À¥¤¥À¥í¥¹¤Ï¤«¤Îͭ̾¤Ê̵ܤò ! ¤Ä¤¯¤Ã¤¿¡¥°ìÅÙÆþ¤ë¤È¤è¤¸¤ì¤¿Æ»¤ò½Ð¸ý¤ò¸«¤Ä¤±¤ë¤³¤È¤Ï¤Ç¤­¤º¡¤ ! ±Ê±ó¤ËÊ⤭¤Ä¤Å¤±¤Ê¤±¤ì¤Ð¤é¤Ê¤«¤Ã¤¿¡¥ [ Mythology, by Edith Hamilton ] + ¥ß¥È¥é mit*ra* ! # Originating in India (Mitra), Mithra is a god of light who ! # was translated into the attendant of the god Ahura Mazda in ! # the light religion of Persia; from this he was adopted as ! # the Roman deity Mithras. He is not generally regarded as a ! # sky god but a personification of the fertilizing power of ! # warm, light air. According to the _Avesta_, he possesses ! # 10,000 eyes and ears and rides in a chariot drawn by white ! # horses. Mithra, according to Zarathustra, is concerned with ! # the endless battle between light and dark forces: he ! # represents truth. He is responsible for the keeping of oaths ! # and contracts. He is attributed with the creation of both ! # plants and animals. His chief adversary is Ahriman, the ! # power of darkness. ! ¥¤¥ó¥É¤ËͳÍ褹¤ë¡¥¥ß¥È¥é¤Ï¸÷¤Î¿À¤Ç¤¢¤ê¡¤¥Ú¥ë¥·¥ã¤Î¸÷¤Î¿®¶Ä¤Ç¤¢ ! ¤ë¥¢¥Õ¥é¥Þ¥º¥À¿À¤ÎÉÕ¤­¿Í¤ËËÝÌõ¤µ¤ì¤¿¡¥¤³¤Î¤³¤È¤«¤é¥í¡¼¥Þ¤Î¿À¥ß ! ¥È¥é¥¹¤È¤·¤Æ¼è¤êÆþ¤ì¤é¤ì¤Æ¤¤¤ë¡¥Èà¤Ï°ìÈ̤˶õ¤Î¿À¤À¤±¤Ç¤Ê¤¯¡¤²¹ ! ÃȤʵ¤¸õ¤ä¤½¤èÉ÷¤ÎÎϤÇÅÄȪ¤òÈî¤ä¤ÎÎϲ½¿È¤È¤â¤ß¤Ê¤µ¤ì¤ë¡¥¡Ö¥¢¥ô ! ¥§¥¹¥¿¡×¤Ë¤è¤ë¤ÈÈà¤Ï10000¤ÎÌܤȼª¤ò¤â¤Á¡¤ÇòÇϤ˰ú¤«¤ì¤ëÇÏ¼Ö¤Ë ! ¾è¤Ã¤Æ¤¤¤ë¡¥¥ß¥È¥é¤Ï¥¾¥í¥¢¥¹¥¿¶µ¤Ë¤è¤ë¤È¡¤¸÷¤È°Ç¤ËÎϤνª¤ê¤Ê¤­ ! À襤¤Ë´Ø·¸¤¬¤¢¤ë¡¥ÀëÀÀ¤ÈÀÀÌó¤òÊݸ¤¹¤ëÀÕǤ¼Ô¤Ç¤¢¤ê¡¤Èà¤Ï¿¢Êª¤ä ! ưʪ¤ÎÁϤ¼Ô¤Ç¤¢¤ë¡¥Èà¤ËŨÂФ¹¤ë¤â¤Î¤ÎĹ¤Ï°Å¹õ¤ÎÎϤǤ¢¤ë¥¢¡¼¥ê ! ¥Þ¥ó¤Ç¤¢¤ë¡¥ [ The Encyclopaedia of Myths and Legends of All Nations, by Herbert Spencer Robinson and Knox Wilson ] + *¥ß¥¹¥ê¥ë* *mithril* ! # _Mithril_! All folk desired it. It could be beaten like ! # copper, and polished like glass; and the Dwarves could make ! # of it a metal, light and yet harder than tempered steel. ! # Its beauty was like to that of common silver, but the beauty ! # of _mithril_ did not tarnish or grow dim. ! # [ The Fellowship of the Ring, by J.R.R. Tolkien ] ! ¥ß¥¹¥ê¥ë¡ª¤¹¤Ù¤Æ¤Î̱¤¬¤³¤ì¤òÍߤ·¤¬¤Ã¤¿¡¥¤³¤ì¤ÏƼ¤Î¤è¤¦¤ËÂǤÁ ! ±ä¤Ð¤¹¤³¤È¤¬¤Ç¤­¤¿¡¥¤Þ¤¿¥¬¥é¥¹¤Î¤è¤¦¤ËË᤯¤³¤È¤¬¤Ç¤­¤¿¡¥¥É¥ï ! ¡¼¥Õ¤¿¤Á¤Ï¤³¤ì¤ò·Ú¤¯¤·¤Æ¤·¤«¤âÃ䨤¿¹Ý¤è¤ê¤â·ø¤¤¶â°¤Ëºî¤ê¾å ! ¤²¤ë¤³¤È¤¬¤Ç¤­¤¿¡¥¤½¤ÎÈþ¤·¤µ¤Ï¤Õ¤Ä¤¦¤Î¶ä¤Î¤½¤ì¤Ë»÷¤Æ¤ª¤ë¤¬¡¤ ! ¥ß¥¹¥ê¥ë¤ÎÊý¤Ï¤¯¤í¤º¤à¤³¤È¤â¤Ê¤¯¡¤Æޤ뤳¤È¤â¤Ê¤«¤Ã¤¿¡¥ ! [ The Fellowship of the Ring, by J.R.R. Tolkien ] ! [ ɾÏÀ¼Ò, À¥ÅÄÄçÆóÌõ ] ! À»¤Ê¤ë´§ mitre of holiness ! # This helm of brilliance performs all of the normal functions ! # of a helm of brilliance, but also has the ability to protect ! # anyone who carries it from fire. When invoked, it boosts ! # the energy of the invoker, allowing them to cast more spells. ! ¤³¤ÎÃÎÀ­¤Î³õ¤Ï¡¤Ä̾ï¤ÎÃÎÀ­¤Î³õ¤Î¤¹¤Ù¤Æ¤Î¸ú²Ì¤òȯ´ø¤·¡¤¤Ê¤ª¤«¤Ä ! ±ê¤Ë¤è¤ë¤¹¤Ù¤Æ¤Î¹¶·â¤«¤é¿È¤ò¼é¤ëǽÎϤòÍ­¤¹¤ë¡¥ÆÃÊ̤ÊÎϤò»È¤¨¤Ð¡¤ ! »ÈÍѼԤÎËâÎϤòÁýÉý¤·¡¤¤è¤ê¿¤¯¤Î¼öʸ¤ò¾§¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë ! ¤Ê¤ë¡¥ ! ¥ß¥å¥ë¥Ë¡¼¥ë mjollnir ! # Forged by the dwarves Eitri and Brokk, in response to Loki's ! # challenge, Mjollnir is an indestructible war hammer. It has ! # two magical properties: when thrown it always returned to ! # Thor's hand; and it could be made to shrink in size until it ! # could fit inside Thor's shirt. Its only flaw is that it has ! # a short handle. The other gods judged Mjollnir the winner of ! # the contest because, of all the treasures created, it alone had ! # the power to protect them from the giants. As the legends ! # surrounding Mjollnir grew, it began to take on the quality of ! # "vigja", or consecration. Thor used it to consecrate births, ! # weddings, and even to raise his goats from the dead. In the ! # Norse mythologies Mjollnir is considered to represent Thor's ! # governance over the entire cycle of life - fertility, birth, ! # destruction, and resurrection. ! ¥í¥­¤ÎÄ©Àï¤ËÂФ¹¤ë¤¿¤á¥É¥ï¡¼¥Õ¤Î¥¨¥¤¥È¥ê¤È¥Ö¥í¥Ã¥¯¤ËÃ䨤é¤ì¤¿ ! ¥ß¥å¥ë¥Ë¡¼¥ë¤ÏÉÔÌǤΥ¦¥©¡¼¥Ï¥ó¥Þ¡¼¤Ç¤¢¤ë¡¥¥ß¥å¥ë¥Ë¡¼¥ë¤Ï£²¤Ä¤Î ! ËâÎϤò¤â¤Ä¡¥¤½¤ì¤òÅꤲ¤ë¤È¾ï¤Ë¥È¡¼¥ë¤Î¼ê¤ËÌá¤Ã¤Æ¤¯¤ë¤³¤È¡¤¤½¤· ! ¤Æ¥È¡¼¥ë¤Î¥·¥ã¥Ä¤ÎÃæ¤Ë¤ª¤µ¤Þ¤ë¤Þ¤Ç¾®¤µ¤¯¤Ê¤ë¤³¤È¤¬¤Ç¤­¤ë¤³¤È¤Ç ! ¤¢¤ë¡¥Â¾¤Î¿À¡¹¤Ï¥ß¥å¥ë¥Ë¡¼¥ë¤³¤½Æ®Áè¤Î¾¡¼Ô¤Ç¤¢¤ë¤ÈȽ·è¤ò²¼¤·¤¿¡¥ ! ¤Ê¤¼¤Ê¤é¡¤ºî¤é¤ì¤¿Á´¤Æ¤ÎÊõʪ¤Î¤Ê¤«¤Ç¡¤¤½¤ì¤À¤±¤¬µð¿Í㤫¤é¿À¡¹ ! ¤ò¼é¤ëÎϤâ»ý¤Ã¤Æ¤¤¤¿¤«¤é¤Ç¤¢¤ë¡¥ÅÁÀâ¤Ë¤è¤ì¤Ð¡¤¥ß¥å¥ë¥Ë¡¼¥ë¤Î ! À®Ä¹¤Ë°Ï¤Þ¤ì¤Æ¡¤¿À³Ê²½¤Î¼Á¤òÂӤӤϤ¸¤á¤ë¤È¤µ¤ì¤ë¡¥¥È¡¼¥ë¤ÏÃÂÀ¸¡¤ ! ·ëº§¡¤»à¤«¤éÈà¤Î¥ä¥®¤¬Éü³è¤¹¤ë¤È¤­¤Ë¤µ¤¨¾ô¤á¤ë¤¿¤á¤Ë¥ß¥å¥ë¥Ë¡¼ ! ¥ë¤ò»ÈÍѤ·¤¿¡¥Ë̲¤¿ÀÏäǤϡ¤¥ß¥å¥ë¥Ë¡¼¥ë¤Ï¥È¡¼¥ë¤Î¿ÍÀ¸¤Î¥µ¥¤¥¯ ! ¥ë¤¹¤Ê¤ï¤Á¡¤¼õÀº¡¤ÃÂÀ¸¡¤ÇËÌÇ¡¤Éü³è¤ÎÅý¼£ÎϤȤ·¤Æɽ¤ï¤µ¤ì¤Æ¤¤¤ë¡¥ ! *¥â¡¼¥ë¥É ! ¥«¥Ó ~slime mold *mold ! # Mold, multicellular organism of the division Fungi, typified ! # by plant bodies composed of a network of cottony filaments. ! # The colors of molds are due to spores borne on the filaments. ! # Most molds are saprophytes. Some species (e.g., penicillium) ! # are used in making cheese and antibiotics. ! ¥â¡¼¥ë¥É¡¤¥«¥Ó¡¤»å¾õ¶Ý¡¥¶ÝÎà¤Ë°¤¹¤ë¿ºÙ˦ͭµ¡ÂΡ¤ÌʤΤ褦¤Êñ ! Á¡°ÝÁÈ¿¥Ì֤ǹ½À®¤µ¤ì¤¿¿¢Êª¤ÎÂΤÎŵ·¿¡¥¥â¡¼¥ë¥É¤ÎÆÿ§¤ÏñÁ¡°Ý¤Ç ! ¤Î˦»Ò¤Îȯ²ê¤Ëµ¢¤¹¤ë¡¥¤Û¤È¤ó¤É¤Î¥â¡¼¥ë¥É¤Ï»àÂδóÀ¸¤Ç¤¢¤ë¡¥¤¢¤ë ! ÆÃÄê¤Î¼ï¤Ï(Î㤨¤Ð¥Ú¥Ë¥·¥ê¥ó¡¤ÀÄ¥«¥Ó)¤Ï¥Á¡¼¥º¤ä¹³À¸Êª¼Á¤òºî¤ë¤Î ! ¤Ë»È¤ï¤ì¤ë¡¥ [ The Concise Columbia Encyclopedia ] + ¥â¡¼¥í¥Ã¥¯ + ¥â¥ì¥¯ mol?ch ! # And the Lord spake unto Moses, saying, ! # Again, thou shalt say to the children of Israel, Whosoever ! # he be of the children of Israel, or of the strangers that ! # sojourn in Israel, that giveth any of his seed unto Molech; ! # he shall surely be put to death: the people of the land shall ! # stone him with stones. ! # And I will set my face against that man, and will cut him off ! # from among his people; because he hath given of his seed unto ! # Molech, to defile my sanctuary, and to profane my holy name. ! # And if the people of the land do any ways hide their eyes ! # from the man, when he giveth of his seed unto Molech, and kill ! # him not: ! # Then I will set my face against that man, and against his ! # family, and will cut him off, and all that go a whoring after ! # him, to commit whoredom with Molech, from among their people. ! ¼ç¤Ï¤Þ¤¿¥â¡¼¥»¤Ë¸À¤ï¤ì¤¿¡¥¡Ö¥¤¥¹¥é¥¨¥ë¤Î¿Í¡¹¤Ë¸À¤¤¤Ê¤µ¤¤¡¤¡Ø¥¤ ! ¥¹¥é¥¨¥ë¤Î¿Í¡¹¤Î¤¦¤Á¡¤¤Þ¤¿¥¤¥¹¥é¥¨¥ë¤Î¤¦¤Á¤Ë´óα¤¹¤ë¾¹ñ¿Í¤Î¤¦ ! ¤Á¡¤¤À¤ì¤Ç¤â¤½¤Î»Ò¶¡¤ò¥â¥ì¥¯¤Ë¤µ¤µ¤²¤ë¼Ô¤Ï¡¤É¬¤º»¦¤µ¤ì¤Ê¤±¤ì¤Ð ! ¤Ê¤é¤Ê¤¤¡¥¤ï¤¿¤·¤Ï´é¤ò¤½¤Î¿Í¤Ë¸þ¤±¡¤Èà¤ò̱¤Î¤¦¤Á¤«¤éÃǤĤǤ¢¤í ! ¤¦¡¥Èब¤½¤Î»Ò¶¡¤ò¥â¥ì¥¯¤Ë¤µ¤µ¤²¤Æ¤ï¤¿¤·¤ÎÀ»½ê¤ò±ø¤·¡¤¤Þ¤¿¤ï¤¿ ! ¤·¤ÎÀ»¤Ê¤ë̾¤ò±ø¤·¤¿¤«¤é¤Ç¤¢¤ë¡¥¤½¤Î¿Í¤¬»Ò¶¡¤ò¥â¥ì¥¯¤Ë¤µ¤µ¤²¤ë ! ¤È¤­¡¤¹ñ¤Î̱¤¬¤â¤·¤³¤È¤µ¤é¤Ë¡¤¤³¤Î»ö¤ËÌܤò¤ª¤ª¤¤¡¤¤³¤ì¤ò»¦¤µ¤Ê ! ¤¤¤Ê¤é¤Ð¡¤¤ï¤¿¤·¼«¿È¡¤´é¤ò¤½¤Î¿Í¤È¤½¤Î²È²¤È¤Ë¸þ¤±¡¤Èप¤è¤ÓÈà ! ¤Ë¸«¤Ê¤é¤Ã¤Æ¥â¥ì¥¯¤òÊ餤¡¤¤³¤ì¤È´¯°ü¤¹¤ë¼Ô¤ò¡¤¤¹¤Ù¤Æ̱¤Î¤¦¤Á¤« ! ÃǤĤǤ¢¤í¤¦¡¥ ! # [ Leviticus 20:1-5 ] ! [ ¥ì¥Óµ­ 20:1-5¡¤¸ý¸ìÌõÀ»½ñ¡¤ÆüËÜÀ»½ñ¶¨²ñ ] ! ¥à¡¼¥Þ¥¯ mumak* ! # ... the Mumak of Harad was indeed a beast of vast bulk, and ! # the like of him does not walk now in Middle-Earth; his kin ! # that live still in latter days are but memories of his girth ! # and majesty. On he came, ... his great legs like trees, ! # enormous sail-like ears spread out, long snout upraised like ! # a huge serpent about to strike, his small red eyes raging. ! # His upturned hornlike tusks ... dripped with blood. ! # [ The Two Towers, by J.R.R. Tolkien ] ! ¥Ï¥é¥É¤Î¥à¡¼¥Þ¥¯¤Ï»ö¼ÂÅÓÊý¤â¤Ê¤¯Â礭¤Ê¿ÞÂΤò¤·¤¿½Ã¤Ç¤·¤¿¡¥¤« ! ¤ì¤ÈƱ¤¸¤â¤Î¤Ïº£¤Ç¤Ï¤â¤¦Ãæ¤Ä¹ñ¤òÊ⤤¤Æ¤Ï¤¤¤Þ¤»¤ó¡¥¤³¤ÎËö¤ÎÀ¤ ! ¤Ë¤Þ¤ÀÀ¸¤­¤Æ¤¤¤ë¤½¤ÎƱÎà¤ÎÃæ¤Ë¡¤¤ï¤º¤«¤Ê¤¬¤é¤¢¤ê¤·ÀΤΤ«¤ì¤Î ! ƹ¤Þ¤ï¤ê¤ÈƲ¡¹¤¿¤ë»Ñ¤Îµ­²±¤¬Î±¤á¤é¤ì¤Æ¤¤¤ë¤Ë²á¤®¤Þ¤»¤ó¡¥¤«¤ì ! ¤Ϥä¤Ã¤ÆÍè¤Þ¤·¤¿¡¥¡¥¡¥¤½¤Î­¤È¤­¤¿¤éÂçÌڤΤ褦¡¤¤È¤Æ¤Ä¤â¤Ê¤¯ ! Â礭¤Ê¼ª¤ÏÈÁ¤Î¤è¤¦¤Ë¹­¤¬¤ê¡¤Ä¹¤¤É¡¤Ïº£¤Ë¤âÂǤäƤ«¤«¤í¤¦¤È¤¹ ! ¤ëÂç¼Ø¤Î¤è¤¦¤Ë»ý¤Á¾å¤¬¤Ã¤Æ¤¤¤Þ¤·¤¿¡¥¾®¤µ¤ÊÀÖ¤¤ÌܤÏÅܤ궸¤Ã¤Æ ! ¤¤¤Þ¤¹¡¥³Ñ¤Î¤è¤¦¤Ê·Á¤Ï¡¥¡¥¡¥¤Ý¤È¤Ý¤È·ì¤òÅ©¤é¤»¤Æ¤¤¤Þ¤·¤¿¡¥ ! [ The Two Towers, by J.R.R. Tolkien ] ! [ ɾÏÀ¼Ò, À¥ÅÄÄçÆóÌõ ] ! *¥ß¥¤¥é *mummy But for an account of the manner in which the body was bandaged, and a list of the unguents and other materials *************** *** 1602,1705 **** or white linen had been fastened upon it, the body was ready for the tomb. [ Egyptian Magic, by E.A. Wallis Budge ] mummy wrapping ! He held a white cloth -- it was a serviette he had brought ! with him -- over the lower part of his face, so that his ! mouth and jaws were completely hidden, and that was the ! reason for his muffled voice. But it was not that which ! startled Mrs. Hall. It was the fact that all his forehead ! above his blue glasses was covered by a white bandage, and ! that another covered his ears, leaving not a scrap of his ! face exposed excepting only his pink, peaked nose. It was ! bright, pink, and shiny just as it had been at first. He ! wore a dark-brown velvet jacket with a high, black, linen- ! lined collar turned up about his neck. The thick black ! hair, escaping as it could below and between the cross ! bandages, project in curious tails and horns, giving him ! the strangest appearance conceivable. [ The Invisible Man, by H.G. Wells ] *naga* *naja* ! The naga is a mystical creature with the body of a snake and ! the head of a man or woman. They will fiercely protect the ! territory they consider their own. Some nagas can be forced ! to serve as guardians by a spellcaster of great power. naginata ! A Japanese pole-arm, fitted with a curved single-edged blade. ! The blades ranged in length from two to four feet, mounted on ! shafts about four to five feet long. The naginata were cut ! with a series of short grooves near to the tang, above which ! the back edge was thinned, but not sharpened, so that the ! greater part of the blade was a flattened diamond shape in ! section. Seen in profile, the curve is slight or non- ! existent near the tang, becoming more pronounced towards the ! point. ! ! "With his naginata he killed five, but with the sixth it ! snapped asunder in the midst and, flinging it away, he drew ! his sword, wielding it in the zigzag style, the interlacing, ! cross, reversed dragonfly, waterwheel, and eight-sides-at- ! once styles of fencing and cutting down eight men; but as he ! brought down the ninth with a mighty blow on the helmet, the ! blade snapped at the hilt." [Story of Tsutsui no Jomio Meishu from Tales of Heike] nalfeshnee ! Not only do these demons do physical damage with their claws ! and bite, but they are capable of using magic as well. nalzok ! Nalzok is Moloch's cunning and unfailingly loyal battle ! lieutenant, to whom he trusts the command of warfare when he ! does not wish to exercise it himself. Nalzok is a major ! demon, known to command the undead. He is hungry for power, ! and secretly covets Moloch's position. Moloch doesn't trust ! him, but, trusting his own power enough, chooses to allow ! Nalzok his position because he is useful. neanderthal* ! 1. Valley between Duesseldorf and Elberfeld in Germany, ! where an ancient skull of a prehistoric ancestor to modern ! man was found. 2. Human(oid) of the race mentioned above. newt ! (kinds of) small animal, like a lizard, which spends most of ! its time in the water. [ Oxford's Student's Dictionary of Current English ] ! "Fillet of a fenny snake, ! In the cauldron boil and bake; ! Eye of newt and toe of frog, ! Wool of bat and tongue of dog, ! Adder's fork and blind-worm's sting, ! Lizard's leg and howlet's wing, ! For a charm of powerful trouble, ! Like a hell-broth boil and bubble." [ Macbeth, by William Shakespeare ] ninja-to ! A Japanese broadsword. *norn ! The Norns were the three Norse Fates, or the goddesses of fate. ! Female giants, they brought the wonderful Golden Age to an end. ! They cast lots over the cradle of every child that was born, ! and placed gifts in the cradle. Their names were Urda, ! Verdandi, and Skuld, representing the past, the present, and ! the future. Urda and Verdandi were kindly disposed, but Skuld ! was cruel and savage. Their tasks were to sew the web of ! fate, to water the sacred ash, Yggdrasil, and to keep it in ! good condition by placing fresh earth around it daily. In her ! fury, Skuld often spoiled the work of her sisters by tearing ! the web to shreds. [ The Encyclopedia of Myths and Legends of All Nations by Herbert Spencer Robinson and Knox Wilson ] nunchaku ! A Japanese flail. *nymph ! A female creature from Roman and Greek mythology, the nymph ! occupied rivers, forests, ponds, etc. A nymph's beauty is ! beyond words: an ever-young woman with sleek figure and ! long, thick hair, radiant skin and perfect teeth, full lips ! and gentle eyes. A nymph's scent is delightful, and her ! long robe glows, hemmed with golden threads and embroidered ! with rainbow hues of unearthly magnificence. A nymph's ! demeanour is graceful and charming, her mind quick and witty. "Theseus felt her voice pulling him down into fathoms of sleep. The song was the skeleton of his dream, and the dream --- 2866,3054 ---- or white linen had been fastened upon it, the body was ready for the tomb. [ Egyptian Magic, by E.A. Wallis Budge ] + ¥ß¥¤¥é¤ÎÊñÂÓ mummy wrapping ! # He held a white cloth -- it was a serviette he had brought ! # with him -- over the lower part of his face, so that his ! # mouth and jaws were completely hidden, and that was the ! # reason for his muffled voice. But it was not that which ! # startled Mrs. Hall. It was the fact that all his forehead ! # above his blue glasses was covered by a white bandage, and ! # that another covered his ears, leaving not a scrap of his ! # face exposed excepting only his pink, peaked nose. It was ! # bright, pink, and shiny just as it had been at first. He ! # wore a dark-brown velvet jacket with a high, black, linen- ! # lined collar turned up about his neck. The thick black ! # hair, escaping as it could below and between the cross ! # bandages, project in curious tails and horns, giving him ! # the strangest appearance conceivable. ! # [ The Invisible Man, by H.G. Wells ] ! Èà¤ÏÇò¤¤ÉÛ---¤³¤ì¤Ï¼«Ê¬¤Ç»ý¤Ã¤Æ¤­¤¿¥Ê¥×¥­¥ó¤À¤Ã¤¿---¤Ç´é¤Î²¼È¾ ! ʬ¤ò±£¤·¤Æ¤ª¤ê¡¤¸ý¤È³Ü¤¬¤¹¤Ã¤«¤êʤ¤ï¤ì¤Æ¤¤¤ë¤Î¤À¤«¤éÀ¼¤¬¤¯¤°¤â ! ¤ë¤Î¤âÅöÁ³¤À¤Ã¤¿¡¥¤·¤«¤·¥Û¡¼¥ëÉ׿ͤò¤Ó¤Ã¤¯¤ê¤µ¤»¤¿¤Î¤Ï¤³¤ó¤Ê¤³ ! ¤È¤Ç¤Ï¤Ê¤«¤Ã¤¿¡¥Èà¤ÎÀĤ¤¿§´ã¶À¤Î¾å¤Î³Û¤ÏÊñÂӤǴ¬¤«¤ì¡¤¼ª¤Þ¤ÇÊÌ ! ¤ÎÊñÂÓ¤Çʤ¤ï¤ì¤Æ¤¤¤ë¤Î¤Ç¡¤´é¤ÎÃæ¤Ç½Ð¤Æ¤¤¤ë¤È¤³¤í¤È¤¤¤¨¤Ð¥Ô¥ó¥¯ ! ¿§¤Î¤È¤¬¤Ã¤¿É¡¤À¤±¤À¤Ã¤¿¡¥¤½¤ì¤Ï¤ä¤ä¸÷Âô¤Î¤¢¤ë¥Ô¥ó¥¯¿§¤À¤Ã¤¿¡¥ ! Ãå¤Æ¤¤¤ë¤Î¤ÏÃã³ì¿§¤Î¥Ó¥í¡¼¥É¤Î¥¸¥ã¥±¥Ã¥È¤Ç¡¤¹â¤¤¹õ¤¤¿§¤Î¥ê¥ó¥Í ! ¥ë¤Ç±ï¤É¤ê¤·¤¿¶ß¤òΩ¤Æ¡¤¼ó¤ò±£¤·¤Æ¤¤¤¿¡¥¤½¤·¤Æ½½Ê¸»ú¤Ë¤«¤±¤¿Êñ ! ÂӤβ¼¤ä·ä´Ö¤«¤é¤Õ¤µ¤Õ¤µ¤·¤¿¹õȱ¤¬´ñ̯¤ÊÈø¤«³Ñ¤Î¤è¤¦¤Ë¤È¤Ó¤À¤· ! ¤Æ¤¤¤Æ¡¤²¿¤È¤â´ñ²ø¤Ê»Ñ¤Ç¤¢¤Ã¤¿¡¥ [ The Invisible Man, by H.G. Wells ] + [ Æ©ÌÀ¿Í´Ö¡¤´äÇÈʸ¸Ë¡¤¶¶ËÜô¢¶ë ] + *¥Ê¡¼¥¬ + *¥Ê¡¼¥¬¤Î¿÷ *naga* *naja* ! # The naga is a mystical creature with the body of a snake and ! # the head of a man or woman. They will fiercely protect the ! # territory they consider their own. Some nagas can be forced ! # to serve as guardians by a spellcaster of great power. ! ¥Ê¡¼¥¬¤Ï¼Ø¤ÎÂΤËÃˤä½÷¤Î´é¤ò»ý¤Ä¿ÀÈëŪ¤ÊÀ¸¤­Êª¤Ç¤¢¤ë¡¥Èà¤é¤Ï ! ¼«Ê¬¤Î¥Æ¥ê¥È¥ê¡¼¤È¹Í¤¨¤ë¤È¤³¤í¤ò»à¼é¤¹¤ë¡¥¤¢¤ë¼ï¤Î¥Ê¡¼¥¬¤Ï°Î ! Âç¤ÊÎϤÎËâË¡»È¤¤¤Ë¤è¤Ã¤Æ̵ÍýÌðÍýÈÖʼ¤Î¤è¤¦¤Ë»Å¤¨¤µ¤»¤ë¤³¤È¤¬ ! ¤Ç¤­¤ë¡¥ ! ¤Ê¤®¤Ê¤¿ ! ÆåÅá naginata ! # A Japanese pole-arm, fitted with a curved single-edged blade. ! # The blades ranged in length from two to four feet, mounted on ! # shafts about four to five feet long. The naginata were cut ! # with a series of short grooves near to the tang, above which ! # the back edge was thinned, but not sharpened, so that the ! # greater part of the blade was a flattened diamond shape in ! # section. Seen in profile, the curve is slight or non- ! # existent near the tang, becoming more pronounced towards the ! # point. ! È¿¤ê¤«¤¨¤Ã¤¿Ã±¿Ï¤Î¤È¤ê¤Ä¤±¤é¤ì¤¿ÆüËܤÎĹÅá¡¥¿Ï¤ÎŤµ¤Ï2¥Õ¥£¡¼¥È ! ¤«¤é4¥Õ¥£¡¼¥È¤Ç¡¤4¥Õ¥£¡¼¥È¤«¤é5¥Õ¥£¡¼¥È¤ÎŤµ¤ÎÊÁ¤Ë¤Ä¤±¤é¤ì¤Æ ! ¤¤¤ë¡¥¤Ê¤®¤Ê¤¿¤Ï¤Ê¤«¤´(Åá¿È¤ÎÊÁ¤ËÆþ¤Ã¤¿Éôʬ)¤Î¤½¤Ð¤ÎÈõ¤ÎÉôʬ¤Ç ! ¤ß¤Í¤ÎÉôʬ¤¬Çö¤¯¤Ê¤Ã¤Æ¤¤¤ë¤È¤³¤í¤Î¾åÉô¤ÇÀڤ롥¤·¤«¤·¤½¤³¤Ï±ÔÍø ! ¤Ç¤Ï¤Ê¤¤¡¥¤³¤ÎÅá¤ÎÁ´ÂΤÎÃÇÌ̤ϾåÉô¤òÊ¿¤Ë¤·¤¿É©·Á¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥ ! ÎÙ³Ö¤¬¸«¤¨¤ë¤è¤¦¡¤È¿¤ê¤ÏÊÁ¤Î¶á¤¯¤Ç¤Ï¾¯¤·¤·¤«¤Ê¤¤¤«¤â¤·¤¯¤ÏÁ´¤¯ ! ¤Ê¤¯¡¤Àèü¤¬¤è¤ê¤Ï¤Ã¤­¤ê¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥ ! # "With his naginata he killed five, but with the sixth it ! # snapped asunder in the midst and, flinging it away, he drew ! # his sword, wielding it in the zigzag style, the interlacing, ! # cross, reversed dragonfly, waterwheel, and eight-sides-at- ! # once styles of fencing and cutting down eight men; but as he ! # brought down the ninth with a mighty blow on the helmet, the ! # blade snapped at the hilt." ! ĹÅá¤Ë¤Æ¡¤¸þ¤ÕŨ¸Þ¿ÍÆ央¤Õ¤»¡¤Ï»¿Í¤ËáĤëŨ¤Ë°©¤¦¤Æ¡¤Ä¹ÅáÃæ¤è¤ê ! ¤¦¤ÁÀޤĤƼΤƤƤ²¤ê¡¥¤½¤Î¸åÂÀÅá¤òÙ¶¤¤¤ÆÙ¥¤¦¤Ë¡¤Å¨¤Ï¿Àª¤Ê¤ê¡¤ ! ÃØéá¼ê¡¦¤«¤¯åꡦ½½Ê¸»ú¡¦éñéÙÊ֤ꡦ¿å¼Ö¡¤È¬Êý¤¹¤«¤µ¤ºÀڤĤ¿¤ê ! ¤±¤ê¡¥¸þ¤ÕŨȬ¿ÍÀÚ¤ê¤Õ¤»¡¤¶å¿Í¤ËáĤëŨ¤¬¹Ã¤ÎÈ­¤Ë¡¤ñ±¤ê¤Ë¶¯¤¦ ! ÂǤÁáĤƤơ¤ÌܴӤ赤è¤ê¤Á¤ä¤¦¤ÈÀޤ졤¤¯¤Ä¤ÈÙ¶¤±¤Æ¡¤²Ï¤Ø¤¶¤Ä ! ¤Ö¤È¤¾Æþ¤ê¤Ë¤±¤ë¡¥ [Story of Tsutsui no Jomio Meishu from Tales of Heike] + [ Åû°æ¾ô̯ÌÀ½¨¡¤Ê¿²Èʪ¸ì ] + ¥Ê¥ë¥Õ¥§¥·¥Ë nalfeshnee ! # Not only do these demons do physical damage with their claws ! # and bite, but they are capable of using magic as well. ! ¤³¤ÎËâ¿À¤¿¤Á¤Ë¤ÏÄÞ¤ä²ç¤Ë¤è¤ëʪÍýŪ¤Ê¹¶·â¤À¤±¤Ç¤Ê¤¯¡¤ËâË¡¤Ë¤è¤ë ! ¹¶·â¤ÎǽÎϤ⤢¤ë¡¥ ! ¥Ê¥ë¥¾¥¯ nalzok ! # Nalzok is Moloch's cunning and unfailingly loyal battle ! # lieutenant, to whom he trusts the command of warfare when he ! # does not wish to exercise it himself. Nalzok is a major ! # demon, known to command the undead. He is hungry for power, ! # and secretly covets Moloch's position. Moloch doesn't trust ! # him, but, trusting his own power enough, chooses to allow ! # Nalzok his position because he is useful. ! ¥Ê¥ë¥¾¥¯¤Ï¡¤¥â¡¼¥í¥Ã¥¯¼«¿È¤¬ÀïÆ®¤Ë²Ã¤ï¤ê¤¿¤¯¤Ê¤¤»þ¤ËÀïÆ®¤Î»Ø´ø ! ¤òǤ¤»¤ë¤Û¤É¤Î¡¤àÄàѤǿ®Íê¤Î¤ª¤±¤ë¥â¡¼¥í¥Ã¥¯¤ÎÃé¼Â¤ÊÀïÆ®Éû´±¤Ç ! ¤¢¤ë¡¥¥Ê¥ë¥¾¥¯¤Ï¾å°Ì¤Î°­Ëâ¤Ç¤¢¤ê¡¤¥¢¥ó¥Ç¥Ã¥É¤ò»Ø´ø¤¹¤ë¤³¤È¤ÇÃÎ ! ¤é¤ì¤Æ¤¤¤ë¡¥Èà¤Ï¸¢ÎϤ˵²¤¨¤Æ¤ª¤ê¡¤Ì©¤«¤Ë¥â¡¼¥í¥Ã¥¯¤ÎÃϰ̤òÍߤ· ! ¤Æ¤¤¤ë¡¥¥â¡¼¥í¥Ã¥¯¤ÏÈà¤ò¿®ÍѤ·¤Æ¤¤¤Ê¤¤¤¬¡¤¼«Ê¬¼«¿È¤ÎǽÎϤˤϼ« ! ¿È¤¬¤¢¤ë¤Î¤Ç¡¤ÈबͭÍѤǤ¢¤ë¤¬¸Î¤Ë¥Ê¥ë¥¾¥¯¤Ë¸½ºß¤ÎÃϰ̤òµö¤¹¤³ ! ¤È¤Ë¤·¤Æ¤¤¤ë¡¥ ! ¥Í¥¢¥ó¥Ç¥ë¥¿¡¼¥ë* neanderthal* ! # 1. Valley between Duesseldorf and Elberfeld in Germany, ! # where an ancient skull of a prehistoric ancestor to modern ! # man was found. 2. Human(oid) of the race mentioned above. ! 1¡¥Í­»Ë°ÊÁ°¤Î¸½Âå¿Í¤ÎÀèÁĤǤ¢¤ëÂÀ¸Å¤ÎƬ³¸¹ü¤¬È¯¸«¤µ¤ì¤¿¡¤¥É¥¤¥Ä ! ¤Î¥Ç¥å¥¨¥Ã¥»¥ë¥É¥ë¥Õ¤È¥¨¥ë¥Ð¥Õ¥§¥ë¥É¤Ë¶¹¤Þ¤ì¤¿Ã«¡¥2. ¾åµ­¤Ë´ØÏ¢ ! ¤¹¤ë¿Í¼ï¡¥ ! ¥¤¥â¥ê newt ! # (kinds of) small animal, like a lizard, which spends most of ! # its time in the water. ! ¥È¥«¥²¤Ë»÷¤¿¾®¤µ¤¤Æ°Êª(¤Î¼ï)¡¥¿åÃæ¤ÇÂçÉôʬ¤ò²á¤¹¡¥ [ Oxford's Student's Dictionary of Current English ] ! # "Fillet of a fenny snake, ! # In the cauldron boil and bake; ! # Eye of newt and toe of frog, ! # Wool of bat and tongue of dog, ! # Adder's fork and blind-worm's sting, ! # Lizard's leg and howlet's wing, ! # For a charm of powerful trouble, ! # Like a hell-broth boil and bubble." ! Åľ¤μؤΥҥìÆù¤â¡¤ ! ¼Ñ¤¨¤¿¤ê¡¤¾Æ¤±¤¿¤ê¡¤³ø¤ÎÃæ¡¥ ! ³¿¤Î»Ø¤Ë¡¤ê¾¢®(Ãî¤Ø¤ó¤Ë¸¶)(¤¤¤â¤ê)¤ÎÌÜ¡¤ ! éþéõ¤ÎÌӤ˸¤¤ÎÀ塤 ! éý¼Ø(¤Þ¤à¤·)¤ÎºµÀ塤ÌÕ¼Ø(¤à¤·)¤Î¿Ë¡¤ ! éòéî(¤È¤«¤²)¤Î­¤Ë¡¤³Ñòö(¤º¤¯)¤Î±©¡¤ ! ¤Ò¤É¤¤Æñµ·¤Î¤Þ¤¸¤Ê¤¤¤Ë¡¤ ! ÃϹö¤ÎµÛʪ¤ß¤¿¤¤¤Ë¼Ñ¤¨¤í¡¥ ! ¹üÀÞ¶ìÏ«¤òÇܤˤ·¤Æ¡¤ ! ³ø¤âʨ¤­Î©¤Æ¡¤²Ð¤âdz¤¨¤í¡¥ [ Macbeth, by William Shakespeare ] + [ ¥Þ¥¯¥Ù¥¹¡¤Ìî¾åË­°ìϺÌõ¡¤´äÇÈʸ¸Ë ] + Ǧ¼ÔÅá ninja-to ! # A Japanese broadsword. ! ÆüËܤÎÉý¹­¤Î·õ¡¥ ! ¥Î¥ë¥ó *norn ! # The Norns were the three Norse Fates, or the goddesses of fate. ! # Female giants, they brought the wonderful Golden Age to an end. ! # They cast lots over the cradle of every child that was born, ! # and placed gifts in the cradle. Their names were Urda, ! # Verdandi, and Skuld, representing the past, the present, and ! # the future. Urda and Verdandi were kindly disposed, but Skuld ! # was cruel and savage. Their tasks were to sew the web of ! # fate, to water the sacred ash, Yggdrasil, and to keep it in ! # good condition by placing fresh earth around it daily. In her ! # fury, Skuld often spoiled the work of her sisters by tearing ! # the web to shreds. ! ¥Î¥ë¥ó¤ÏË̲¤¤Î»°¿Í¤Î±¿Ì¿¤Î½÷¿À¤Ç¤¢¤ë¡¥½÷À­¤Îµð¿Í¤ÇÈà½÷¤é¤ÏÁÇÀ² ! ¤·¤¤²«¶â»þÂå¤ò½ªËö¤Ø¤ÈƳ¤¯¡¥Èà½÷¤é¤ÏÁ´¤ÆÀ¸¤Þ¤ì¤¿»Ò¶¡¤Î¤æ¤ê¤«¤´ ! ¤Ë»å¤ò¿â¤é¤·Â£¤êʪ¤òÃÖ¤¯¡¥Èà½÷¤é¤Î̾Á°¤Ï¥¦¥ë¥À¡¤¥ô¥§¥ë¥À¥ó¥Ç¥£¡¤ ! ¥¹¥¯¥ë¥É¤Ç¤¢¤ê¡¤²áµî¡¤¸½ºß¡¤Ì¤Íè¤ò¸½¤ï¤¹¡¥¥¦¥ë¥À¤È¥ô¥§¥ë¥À¥ó¥Ç ! ¥£¤Ï²¹¸ü¤À¤¬¡¤¥¹¥¯¥ë¥É¤ÏÎä¹ó¤Ç»ÄǦ¤Ç¤¢¤ë¡¥Èà½÷¤é¤Î»Å»ö¤Ï±¿Ì¿¤Î ! »å¤ò¤Ä¤à¤®¡¤À»¤Ê¤ë¥È¥Í¥ê¥³¤ÎÌڥ楰¥É¥é¥·¥ë¤Ë¿å¤ò¤ä¤ê¡¤¾ï¤Ë¤½¤Î ! ¤Þ¤ï¤ê¤ÎÂçÃϤò¾ô¤á¤Æ¤ª¤¯¤³¤È¤Ç¤¢¤ë¡¥¥¹¥¯¥ë¥É¤¬¤¬·ãÅܤ¹¤ë¤È¡¤Èà ! ½÷¤Ï¤·¤Ð¤·¤Ð´Ë½ù¤Î»Ðã¤Î¤Ä¤°¤ó¤À»å¤ò¤º¤¿¤º¤¿¤Ë¤·»Å»ö¤òÂç¤Ê¤·¤Ë ! ¤¹¤ë¡¥ [ The Encyclopedia of Myths and Legends of All Nations by Herbert Spencer Robinson and Knox Wilson ] + ¥Ì¥ó¥Á¥ã¥¯ nunchaku ! # A Japanese flail. ! ÆüËܤΥե쥤¥ë¡¥ ! *¥Ë¥ó¥Õ *nymph ! # A female creature from Roman and Greek mythology, the nymph ! # occupied rivers, forests, ponds, etc. A nymph's beauty is ! # beyond words: an ever-young woman with sleek figure and ! # long, thick hair, radiant skin and perfect teeth, full lips ! # and gentle eyes. A nymph's scent is delightful, and her ! # long robe glows, hemmed with golden threads and embroidered ! # with rainbow hues of unearthly magnificence. A nymph's ! # demeanour is graceful and charming, her mind quick and witty. ! ¥í¡¼¥Þ¿ÀÏä䥮¥ê¥·¥ã¿ÀÏäËÅо줹¤ë½÷À­·¿¤ÎÀ¸¤­Êª¤Ç¤¢¤ë¥Ë¥ó¥Õ¤Ï¡¤ ! Àî¤ä¿¹¤äÃӤʤɤ˽»¤ó¤Ç¤¤¤Þ¤·¤¿¡¥¥Ë¥ó¥Õ¤ÎÈþ¤·¤µ¤Ï¸ÀÍդˤǤ­¤Ê¤¤ ! ¤¯¤é¤¤¤Ç¤¹: ±Ê±ó¤Î¼ã¤µ¤òÊݤĤ³¤Î²µ½÷¤Ï¡¤¥¹¥Þ¡¼¥È¤ÊÍƻѤÈŤ¯¤Æ ! ¤¿¤Ã¤×¤ê¤È¤·¤¿È±¡¤¤Þ¤Ð¤æ¤¤¤Û¤É¤ÎÈ©¤È´°Êɤʻõ¡¤¤¢¤¶¤ä¤«¤Ê¿°¤ÈÍ¥ ! ¤·¤¤Ìܤò¤·¤Æ¤¤¤Þ¤¹¡¥¥Ë¥ó¥Õ¤Ï¤È¤Æ¤â¤è¤¤¹á¤ê¤¬¤·¡¤Èà½÷¤ÎŤ¤¥í¡¼ ! ¥Ö¤Ï¡¤¶â»å¤Î¤Õ¤Á¤É¤ê¤È¤³¤ÎÀ¤¤Î¤â¤Î¤È¤Ï»×¤ï¤ì¤Ê¤¤ÁÔÎï¤ÊÆú¿§¤Î»É ! ½«¤Ë¤è¤Ã¤Æµ±¤¤¤Æ¤¤¤Þ¤¹¡¥¥Ë¥ó¥Õ¤Î¿¶Éñ¤¤¤ÏÍ¥²í¤ÇÌ¥ÎÏŪ¤Ç¤¢¤ê¡¤¤½ ! ¤ÎƬǾ¤Ï±Ô¤¯µ¡ÃΤËÉÙ¤ó¤Ç¤¤¤Þ¤¹¡¥ "Theseus felt her voice pulling him down into fathoms of sleep. The song was the skeleton of his dream, and the dream *************** *** 1715,1923 **** later -- and some too late -- that joy blots suffering and that the road to nymphs is beset by monsters." [ The Minotaur by Bernard Evslin ] odin ! Also called Sigtyr (god of Victory), Val-father (father of ! the slain), One-Eyed, Hanga-god (god of the hanged), Farma- ! god (god of cargoes), Hapta-god (god of prisoners), and ! Othin. He is the prime god of the Norsemen: god of war and ! victory, wisdom and prophecy, poetry, the dead, air and wind, ! hospitality, and magic. ! As the god of war and victory, Odin is ruler of the Valkyries, ! warrior-maidens who lived in the halls of Valhalla in Asgard, ! the hall of dead heroes where he held his court. ! These chosen ones will defend the realm of the gods against ! the Frost Giants on the final day of reckoning, Ragnarok. ! As god of the wind, Odin rides through the air on his eight- ! footed horse, Sleipnir, wielding Gungner, his spear, normally ! accompanied by his ravens, Hugin and Munin, who he would also ! use as his spies. ! As a god of hospitality, he enjoys visiting the earth in ! disguise to see how people were behaving and to see how they ! would treat him, not knowing who he was. ! Odin is usually represented as a one-eyed wise old man with a ! long white beard and a wide-brimmed hat (he gave one of his ! eyes to Mimir, the guardian of the well of wisdom in Hel, in ! exchange for a draught of knowledge). ogre* ! Anyone who has met a gluttonous, nude, angry ogre, will not ! easily forget this encounter -- if he survives it at all. ! Both male and female ogres can easily grow as tall as three ! metres. Build and facial expressions would remind one of a ! Neanderthal. Its small, pointy, keen teeth are striking. ! Since ogres avoid direct sunlight, their ragged, unfurry ! skin is as white as a sheet. They enjoy coating their body ! with lard and usually wear nothing but a loin-cloth. An elf ! would smell its rancid stench at ten metres distance. ! Ogres are solitary creatures: very rarely one may encounter ! a female with two or three young. They are the only real ! carnivores among the humanoids, and its favourite meal is -- ! not surprisingly -- human flesh. They sometimes ally with ! orcs or goblins, but only when they anticipate a good meaty ! meal. [ het Boek van de Regels; Het Oog des Meesters ] olog-hai ! But at the end of the Third Age a troll-race not before seen ! appeared in southern Mirkwood and in the mountain borders of ! Mordor. Olog-hai they were called in the Black Speech. That ! Sauron bred them none doubted, though from what stock was not ! known. Some held that they were not Trolls but giant Orcs; ! but the Olog-hai were in fashion of body and mind quite unlike ! even the largest of Orc-kind, whom they far surpassed in size ! and power. Trolls they were, but filled with the evil will ! of their master: a fell race, strong, agile, fierce and ! cunning, but harder than stone. Unlike the older race of the ! Twilight they could endure the Sun.... They spoke little, ! and the only tongue they knew was the Black Speech of Barad-dur. [ The Return of the King, by J.R.R. Tolkien ] *ooze *pudding ! These giant amoeboid creatures look like nothing more than ! puddles of slime, but they both live and move, feeding on ! metal or wood as well as the occasional dungeon explorer to ! supplement their diet. oracle delphi p*thia ! Delphi under towering Parnassus, where Apollo's oracle was, ! plays an important part in mythology. Castalia was its ! sacred spring; Cephissus its river. It was held to be the ! center of the world, so many pilgrims came to it, from ! foreign countries as well as Greece. No other shrine rivaled ! it. The answers to the questions asked by the anxious ! seekers for Truth were delivered by a priestess who went into ! a trance before she spoke. [ Mythology, by Edith Hamilton ] orb of detection ! This Orb is a crystal ball of exceptional powers. When ! carried, it grants ESP, limits damage done by spells, and ! protects the carrier from magic missiles. When invoked it ! allows the carrier to become invisible. orb of fate ! Some say that Odin himself created this ancient crystal ball, ! although others argue that Loki created it and forged Odin's ! signature on the bottom. In any case, it is a powerful ! artifact. Anyone who carries it is granted the gift of ! warning, and damage, both spell and physical, is partially ! absorbed by the orb itself. When invoked it has the power ! to teleport the invoker between levels. goblin king orcrist ! The Great Goblin gave a truly awful howl of rage when he ! looked at it, and all his soldiers gnashed their teeth, ! clashed their shields, and stamped. They knew the sword at ! once. It had killed hundreds of goblins in its time, when ! the fair elves of Gondolin hunted them in the hills or did ! battle before their walls. They had called it Orcrist, ! Goblin-cleaver, but the goblins called it simply Biter. ! They hated it and hated worse any one that carried it. ! [ The Hobbit, by J.R.R. Tolkien ] orcus ! Orcus, Prince of the Undead, has a ram's head and a poison ! stinger. He is most feared, though, for his powerful magic ! abilities. His wand causes death to those he chooses. ~orc ??m* orc* * orc uruk*hai ! Orcs, bipeds with a humanoid appearance, are related to the ! goblins, but much bigger and more dangerous. The average orc ! is only moderately intelligent, has broad, muscled shoulders, ! a short neck, a sloping forehead and a thick, dark fur. ! Their lower eye-teeth are pointing forward, like a boar's. ! Female orcs are more lightly built and bare-chested. Not ! needing any clothing, they do like to dress in variegated ! apparels. Suspicious by nature, orcs live in tribes or ! hordes. They tend to live underground as well as above ! ground (but they dislike sunlight). Orcs can use all weapons, ! tools and armours that are used by men. Since they don't have ! the talent to fashion these themselves, they are constantly ! hunting for them. There is nothing a horde of orcs cannot ! use. [ het Boek van de Regels; Het Oog des Meesters ] osaku ! The osaku is a small tool for picking locks. owlbear ! Owlbears are probably the crossbreed creation of a demented ! wizard; given the lethal nature of this creation, it is quite ! likely the wizard who created them is no longer alive. As ! the name might already suggest, owlbears are a cross between ! a giant owl and a bear. They are covered with fur and ! feathers. palantir of westernesse ! The elves of long ago created this powerful crystal ball. ! When carried, it grants ESP, regeneration, and reduces all ! damage caused by spells to one-half of what it would have ! normally been. When invoked, it tames creatures in its ! vicinity. *piercer ! Ye Piercer doth look like unto a stalactyte, and hangeth ! from the roofs of caves and caverns. Unto the height of a ! man, and thicker than a man's thigh do they grow, and in ! groups do they hang. If a creature doth pass beneath them, ! they will by its heat and noise perceive it, and fall upon ! it to kill and devour it, though in any other way they move ! but exceeding slow. ! [ the Bestiary of Xygag ] pit fiend ! Pit fiends are among the more powerful of devils, capable of ! attacking twice with weapons as well as grabbing and crushing ! the life out of those unwary enough to enter their ! domains. platinum yendorian express card ! This is an ancient artifact made of an unknown material. It ! is rectangular in shape, very thin, and inscribed with ! unreadable ancient runes. When carried, it grants the one ! who carries it ESP, and reduces all physical damage done to ! the carrier by half. It also protects from magic missile ! attacks. Finally, its power is such that when invoked, it ! can charge other objects. poseido*n ! Poseido(o)n, lord of the seas and father of rivers and ! fountains, was the son of Chronos and Rhea, brother of Zeus, ! Hades, Hera, Hestia and Demeter. His rank of ruler of the ! waves he received by lot at the Council Meeting of the Gods, ! at which Zeus took the upper world for himself and gave ! dominion over the lower world to Hades. ! Poseidon is associated in many ways with horses and thus is ! the god of horses. He taught men how to ride and manage the ! animal he invented and is looked upon as the originator and ! guardian deity of horse races. ! His symbol is the familiar trident or three-pronged spear ! with which he can split rocks, cause or quell storms, and ! shake the earth, a power which makes him the god of ! earthquakes as well. Physically, he is shown as a strong and ! powerful ruler, every inch a king. [ The Encyclopedia of Myths and Legends of All Nations, by Herbert Robinson and Knox Wilson ] ptah ! Known under various names (Nu, Neph, Cenubis, Amen-Kneph, ! Khery-Bakef), Ptah is the creator god and god of craftsmen. ! He is usually depicted as wearing a closely fitting robe ! with only his hands free. His most distinctive features are ! the invariable skull-cap exposing only his face and ears, ! and the _was_ or rod of domination which he holds, ! consisting of a staff surmounted by the _ankh_ symbol of ! life. He is otherwise symbolized by his sacred animal, the ! bull. *purple worm ! A gargantuan version of the harmless rain-worm, the purple ! worm poses a huge threat to the ordinary adventurer. It is ! known to swallow whole and digest its victims within only a ! few minutes. These worms are always on guard, sensitive ! to the most minute vibrations in the earth, but may also ! be awakened by a remote shriek. quadruped ! The woodlands and other regions are inhabited by multitudes ! of four-legged creatures which cannot be simply classified. ! They might not have fiery breath or deadly stings, but ! adventurers have nevertheless met their end numerous times ! due to the claws, hooves, or bites of such animals. quantum mechanic ! These creatures are not native to this universe; they seem ! to have strangely derived powers, and unknown motives. quasit ! Quasits are small, evil creatures, related to imps. Their ! talons release a very toxic poison when used in an attack. quetzalcoatl One of the principal Aztec-Toltec gods was the great and wise Quetzalcoatl, who was called Kukumatz in Guatemala, and --- 3064,3447 ---- later -- and some too late -- that joy blots suffering and that the road to nymphs is beset by monsters." [ The Minotaur by Bernard Evslin ] + ¥ª¡¼¥Ç¥£¥ó odin ! # Also called Sigtyr (god of Victory), Val-father (father of ! # the slain), One-Eyed, Hanga-god (god of the hanged), Farma- ! # god (god of cargoes), Hapta-god (god of prisoners), and ! # Othin. He is the prime god of the Norsemen: god of war and ! # victory, wisdom and prophecy, poetry, the dead, air and wind, ! # hospitality, and magic. ! # As the god of war and victory, Odin is ruler of the Valkyries, ! # warrior-maidens who lived in the halls of Valhalla in Asgard, ! # the hall of dead heroes where he held his court. ! # These chosen ones will defend the realm of the gods against ! # the Frost Giants on the final day of reckoning, Ragnarok. ! # As god of the wind, Odin rides through the air on his eight- ! # footed horse, Sleipnir, wielding Gungner, his spear, normally ! # accompanied by his ravens, Hugin and Munin, who he would also ! # use as his spies. ! # As a god of hospitality, he enjoys visiting the earth in ! # disguise to see how people were behaving and to see how they ! # would treat him, not knowing who he was. ! # Odin is usually represented as a one-eyed wise old man with a ! # long white beard and a wide-brimmed hat (he gave one of his ! # eyes to Mimir, the guardian of the well of wisdom in Hel, in ! # exchange for a draught of knowledge). ! ¥·¥°¥Á¥å¡¼¥ë(¾¡Íø¤Î¿À)¡¤¥ï¥ë¥Õ¥¡¥¶¡¼(¥¹¥ì¥¤¥ó¤ÎÉã)¡¤ÊÒÌÜ¡¤ ! ¥Ï¥ó¥¬¿À(¼óÀÚ¤ê¤Î¿À)¡¤¥Õ¥¡¥ë¥Þ¿À(ÀѲ٤οÀ)¡¤¥Ï¥×¥¿¿À(¼ü¿Í¤Î¿À) ! ¥ª¡¼¥¸¥ó¤È¤â¸Æ¤Ð¤ì¤ë¡¥Èà¤ÏË̲¤¤ÎºÇ¹â¿À¤Ç¡¤À襤¡¤¾¡Íø¡¤Ãҷᤠ! ͽ¸À¡¤»í¡¤»à¡¤¶õµ¤¡¤É÷¡¤´¿·Þ¡¤ËâË¡¤Î¿À¤Ç¤¢¤ë¡¥ ! À襤¤È¾¡Íø¤Î¿À¤È¤·¤Æ¡¤¥ª¡¼¥Ç¥£¥ó¤ÏÈब¼êÃæ¤Ë¤·¤¿Àï»Î¤·¤¿±Ñͺã ! ¤ÎµÜŤǤ¢¤ë¥¢¡¼¥¹¥¬¥ë¥É¤Î¥ô¥¡¥ë¥Ï¥éµÜŤ˽»¤à½÷À­¤ÎÀï»Î¥ï¥ë¥­ ! ¥å¡¼¥ì¤ò»Ø´ø¤¹¤ë¡¥ ! Èà½÷¤é¤Ï¿À¤ÎÎΰè¤òºÇ¸å¤Î¿³È½Æü¥é¥°¥Ê¥í¥¯¤Ë¤ª¤¤¤Æɹ¤Îµð¿Í¤«¤é¼é ! È÷¤¹¤ë¼Ô¤òÁª¤Ö¡¥ ! É÷¤Î¿À¤È¤·¤Æ¡¤¥ª¡¼¥Ç¥£¥ó¤Ï8ËÜ­¤ÎÇÏ¡¤¥¹¥ì¥¤¥×¥Ë¥ë¤Ë¾è¤ê¡¤Èà¤ÎÁä ! ¤Ç¤¢¤ë¥°¥ó¥°¥Ë¥ë¤òÁõÈ÷¤·Å·¶õ¤ò¶î¤±¤ë¡¥Ä̾ï¤Ï¥Ò¥å¥®¥ó¤È¥à¥Ë¥ó¤È ! ¸À¤¦¥ï¥¿¥ê¥¬¥é¥¹¤âƱ¹Ô¤·¡¤Èà¤Ï¤½¤ì¤é¤òÄ廡¤Ë¤âÍѤ¤¤ë¡¥ ! ´¿·Þ¤Î¿À¤È¤·¤Æ¡¤¿Í¡¹¤Î¤Õ¤ë¤Þ¤¤¤¬¤É¤¦¤Ç¤¢¤ë¤«¡¤¤¢¤ë¤¤¤Ï¥ª¡¼¥Ç¥£¥ó ! ¤ò¤É¤Î¤è¤¦¤Ë°·¤Ã¤Æ¤¤¤ë¤«¤Ê¤ÉÈबÃΤꤨ¤Ê¤¤¤³¤È¤ò¸«¤ë¤¿¤á¤Ë¡¤ÊÑÁõ ! ¤·¤Æ¡¤ÃϾå¤òˬ¤º¤ì¤ë¤Î¤ò³Ú¤·¤à¡¥ ! ¥ª¡¼¥Ç¥£¥ó¤ÏÄ̾ïÊÒÌܤÎŤ¤Çòɦ¤ÈÂ礭¤Ê¤Ä¤Ð¤Î¤¢¤ë˹»Ò¤ÎºÐÏ·¤¤¤¿¸­ ! ¼Ô¤È¤·¤ÆÉÁ¤«¤ì¤ë(ÈबÊÒÊý¤ÎÌܤò¥Ø¥ë¤ÎÃҷäÎÀô¤ÎÈֿͤǤ¢¤ë¥ß¥ß¥ë ! ¤ËÀô¤Î°ì°û¤ß¤È¤Î¸ò´¹¤Î¤¿¤áÍ¿¤¨¤¿¤«¤é¤Ç¤¢¤ë) ! ¥ª¡¼¥¬* ogre* ! # Anyone who has met a gluttonous, nude, angry ogre, will not ! # easily forget this encounter -- if he survives it at all. ! # Both male and female ogres can easily grow as tall as three ! # metres. Build and facial expressions would remind one of a ! # Neanderthal. Its small, pointy, keen teeth are striking. ! # Since ogres avoid direct sunlight, their ragged, unfurry ! # skin is as white as a sheet. They enjoy coating their body ! # with lard and usually wear nothing but a loin-cloth. An elf ! # would smell its rancid stench at ten metres distance. ! # Ogres are solitary creatures: very rarely one may encounter ! # a female with two or three young. They are the only real ! # carnivores among the humanoids, and its favourite meal is -- ! # not surprisingly -- human flesh. They sometimes ally with ! # orcs or goblins, but only when they anticipate a good meaty ! # meal. ! ¤³¤Î¶ô¤¤°ÕÃϤÎÄ¥¤Ã¤¿¡¤Íç¤Î¡¤ÅܤäƤ¤¤ë¥ª¡¼¥¬¤Ë²ñ¤Ã¤¿¤â¤Î¤Ï¤½ ! ¤ì¤ò´Êñ¤Ë˺¤ì¤ë¤³¤È--À¸¤­±ä¤Ó¤Æ¤¤¤ì¤Ð¤À¤¬--¤¬¤Ç¤­¤Þ¤»¤ó¡¥»ó ! ͺÌä¤ï¤º¥ª¡¼¥¬¤Ï£³£í¤¯¤é¤¤¤Þ¤Ç·Ú¤¯À®Ä¹¤·¤Þ¤¹¡¥Âγʤä´é¤Îɽ¾ð ! ¤Ï¥Í¥¢¥ó¥Ç¥ë¥¿¡¼¥ë¿Í¤ò»×¤¤Éâ¤Ù¤µ¤»¤é¤ì¤Þ¤¹¡¥¤½¤Î¾®¤µ¤ÊÅÀ¤Î¤è ! ¤¦¤Ê±Ô¤¤»õ¤Ç³ú¤ß¤Ä¤¯¤Î¤Ç¤¹¡¥¥ª¡¼¥¬¤ÏÂÀÍۤθ÷¤òľÀÜÍá¤Ó¤ë¤³¤È ! ¤ò·ù¤¦¤Î¤Ç¡¤¤½¤¤¤Ä¤é¤Î¤Ü¤í¤Ü¤í¤Î¤Ö¤«¤Ã¤³¤¦¤ÊÈéÉæ¤Ï¥·¥ã¥Ä¤Î¤è ! ¤¦¤ËÇò¤¤¤Î¤Ç¤¹¡¥¤½¤¤¤Ä¤é¤ÏÂΤ˥顼¥É¤òÅɤ俤¯¤ë¤Î¤¬Âç¹¥¤­¤Ç¡¤ ! ¤¿¤¤¤Æ¤¤¤Ï¹ø´¬¤­°Ê³°¤Î¤â¤Î¤Ï¿È¤Ë¤Ä¤±¤Þ¤»¤ó¡¥¥¨¥ë¥Õ¤Ï¤½¤Î¥Ð¥¿ ! ¡¼¤¬Éå¤Ã¤¿¤è¤¦¤Ê°­½­¤ò£±£°£íÀ褫¤é¤«¤®¤ï¤±¤Þ¤¹¡¥ ! ¥ª¡¼¥¬¤Ï¸ÉÆȤò¹¥¤àÀ¸Êª¤Ç¤¹¡¥¤´¤¯¤Þ¤ì¤ËÆ󻰿ͤμã¼Ô¤ò¤Ä¤ì¤Æ¤¤ ! ¤ë»ó¤Ë²ñ¤¦¤³¤È¤¬¤¢¤ê¤Þ¤¹¡¥Èà¤é¤Ï¥Ò¥å¡¼¥Þ¥Î¥¤¥É¤ÎÃæ¤ÇÍ£°ìÆù¿© ! ¤Ç¤¹¡¥¤½¤·¤Æ¹¥¤ß¤Î¿©»ö¤Ï--¤½¤ó¤Ê¤Ë¶Ã¤¯¤³¤È¤Ç¤Ï¤Ê¤¤¤¬--¿Í´Ö¤Î ! Æù¤Ç¤¹¡¥¤è¤¤Æù¤¬ÆÀ¤é¤ì¤½¤¦¤À¤ÈͽÁÛ¤µ¤ì¤ë¤È¤­¤Î¤ß¤Ç¤¹¤¬¡¤Èà¤é ! ¤Ï¤È¤­¤É¤­¥ª¡¼¥¯¤ä¥´¥Ö¥ê¥ó¤È¤Ä¤ë¤ß¤Þ¤¹¡¥ [ het Boek van de Regels; Het Oog des Meesters ] + ¥ª¥í¥°*¥Ï¥¤ olog-hai ! # But at the end of the Third Age a troll-race not before seen ! # appeared in southern Mirkwood and in the mountain borders of ! # Mordor. Olog-hai they were called in the Black Speech. That ! # Sauron bred them none doubted, though from what stock was not ! # known. Some held that they were not Trolls but giant Orcs; ! # but the Olog-hai were in fashion of body and mind quite unlike ! # even the largest of Orc-kind, whom they far surpassed in size ! # and power. Trolls they were, but filled with the evil will ! # of their master: a fell race, strong, agile, fierce and ! # cunning, but harder than stone. Unlike the older race of the ! # Twilight they could endure the Sun.... They spoke little, ! # and the only tongue they knew was the Black Speech of Barad-dur. ! ¤·¤«¤·¡¤Âè3´ü¤Î½ª¤ï¤êº¢¤Ë¤Ï¡¤º£¤Þ¤ÇÃΤé¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¥È ! ¥í¥ë²¤¬ÆîMirkWood¤È¥â¥ë¥É¡¼¥ë¤Î¶­³¦¤Ë¤Ê¤ë»³¡¹¤Ë¸½¤ì¤Þ¤· ! ¤¿¡¥ ! Èà¤é¤Ï°Å¹õ¤Î¸ÀÍդǥª¥í¥°-¥Ï¥¤¤È¸Æ¤Ð¤ì¤Þ¤·¤¿¡¥ ! ¥µ¥¦¥í¥ó¤ÏÈàÅù¤¬¤É¤³¤«¤é¤­¤¿¤Î¤«ÃΤé¤Ê¤¤¤Þ¤Þ¡¤ÈàÅù¤òÃé¼Â ! ¤Ê²¼Ëͤ˰é¤Æ¤Þ¤·¤¿¡¥ ! ÈàÅù¤Ï¥È¥í¥ë¤Ç¤Ï¤Ê¤¯¡¤Â礭¤Ê¥ª¡¼¥¯¤À¤È¹Í¤¨¤ë¼Ô¤â¤¤¤Þ¤·¤¿¡¥ ! ¤·¤«¤·¡¤ÂΤâÎϤ⶯¤¤ºÇ¤âÂ礭¤Ê¥ª¡¼¥¯¤ÈÈæ¤Ù¤Æ¤â¡¤¥ª¥í¥°- ! ¥Ï¥¤¤ÏÂΤ⿴¤âÁ´¤¯¤È¤¤¤Ã¤Æ¤¤¤¤¤Û¤É»÷¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡¥ ! ¥È¥í¥ë²¤ÏÈà¤é¤Î¼ç¿Í¤Î¼Ù°­¤Ê°Õ»×¤Ç¤¤¤Ã¤Ñ¤¤¤Ç¤·¤¿¡¥ÂĤÁ¤¿¼ï ! ²¤Ç¡¤¶¯Âç¤Ç¤¹¤Ð¤·¤³¤¯¡¤¶§Ë½¤Ç¤º¤ë¤¯¡¤ÀФè¤ê¸Ç¤¤¤Î¤Ç¤·¤¿¡¥ ! ¸Å¤¤²«ºª¤Î¼ï²¤È°Û¤Ê¤ê¡¤ÈàÅù¤ÏÂÀÍۤθ÷¤òÂѤ¨¤ë¤³¤È ! ¤¬¤Ç¤­¤Þ¤·¤¿¡¥ ! ÈàÅù¤Ï¤Û¤È¤ó¤É¸ÀÍÕ¤òÏä·¤Þ¤»¤ó¤¬¡¤ÃΤäƤ¤¤ë¸ÀÍդϥХé¥É- ! ¥Ç¥å¥¢¤Î°Å¹õ¤Î¸ÀÍÕ¤À¤±¤Ç¤·¤¿¡¥ [ The Return of the King, by J.R.R. Tolkien ] + *¥¦¡¼¥º + *¥×¥ê¥ó *ooze *pudding ! # These giant amoeboid creatures look like nothing more than ! # puddles of slime, but they both live and move, feeding on ! # metal or wood as well as the occasional dungeon explorer to ! # supplement their diet. ! ¤³¤ÎµðÂç¤Ê¥¢¥á¡¼¥Ð¤Î¤è¤¦¤ÊÀ¸¤­Êª¤Ï¡¤Ç´±Õ¤Î¿å¤¿¤Þ¤ê¤Ë¤·¤«¸«¤¨ ! ¤Ê¤¤¤¬¡¤¶â°¤äÌÚ¡¤²Ã¤¨¤Æ¨ÀʤÎƶ·¢Ãµ¸¡¼Ô¤Ê¤É¤ò¿©¤Ù¤ÆÀ¸¤­¤Æ¤¤ ! ¤ë¡¥ ! ¸­¼Ô ! ¥ª¥é¥¯¥ë ! ¥Ç¥ë¥Õ¥¡¥¤ oracle delphi p*thia ! # Delphi under towering Parnassus, where Apollo's oracle was, ! # plays an important part in mythology. Castalia was its ! # sacred spring; Cephissus its river. It was held to be the ! # center of the world, so many pilgrims came to it, from ! # foreign countries as well as Greece. No other shrine rivaled ! # it. The answers to the questions asked by the anxious ! # seekers for Truth were delivered by a priestess who went into ! # a trance before she spoke. ! ¥¢¥Ý¥í¥ó¤Î¿ÀÂ÷½ê¤Î¤¢¤ë¥Ñ¥ë¥Ê¥Ã¥½¥¹¤Î¹â¤¯¤½¤Ó¤¨¤ë»³¤Î¼ÐÌ̤ˤ¢¤ë ! ¥Ç¥ë¥Õ¥¡¥¤¤Ï¿ÀÏäǽÅÍפÊÉôʬ¤ò±é¤¸¤Æ¤¤¤Þ¤¹¡¥¥«¥¹¥¿¥ê¥¢¤Ï¤½¤ÎÀ» ! ¤Ê¤ëÀô¤Ç¡¤¥»¥Õ¥£¥µ¥¹¤Ï¤½¤ÎÀî¤Ç¤¹¡¥¤½¤ì¤ÏÀ¤³¦¤ÎÃæ¿´¤Ë¤µ¤µ¤¨¤é¤ì ! ¤Æ¤ª¤ê¡¤Âô»³¤Î½äÎé¼Ô¤¬¥®¥ê¥·¥¢¤Ï¤â¤Á¤í¤ó³°¹ñ¤«¤é¤â¤½¤³¤Ë¤ä¤Ã¤Æ ! Íè¤Þ¤·¤¿¡¥Â¾¤ÎÀ»Æ²¤È¤Ï¤¯¤é¤Ù¤â¤Î¤Ë¤Ê¤ê¤Þ¤»¤ó¡¥¿¿¼Â¤òÀÚ˾¤¹¤ëõ ! µæ¼Ô¤Ë¤è¤ê¼ÁÌ䤵¤ì¤¿µ¿Ìä¤ËÂФ¹¤ëÅú¤¨¤Ï¥È¥é¥ó¥¹¾õÂ֤ˤ¢¤ëÆôÁΤΠ! ¸ÀÍդˤè¤êÅÁ¤ï¤ê¤Þ¤¹¡¥ [ Mythology, by Edith Hamilton ] + õº÷¤Î¥ª¡¼¥Ö orb of detection ! # This Orb is a crystal ball of exceptional powers. When ! # carried, it grants ESP, limits damage done by spells, and ! # protects the carrier from magic missiles. When invoked it ! # allows the carrier to become invisible. ! ¤³¤Î¥ª¡¼¥Ö¤ÏʤϤº¤ì¤¿ÎϤò¤â¤Ä¿å¾½¶Ì¤Ç¤¢¤ë¡¥»ý¤Ä¤À¤±¤Ç¡¤±ó»ë ! ǽÎϤ¬ÆÀ¤é¤ì¡¤ËâË¡¤Î¥À¥á¡¼¥¸¤òÀ©¸Â¤·¡¤»ý¤Ä¼ç¤òËâË¡¤ÎÌ𤫤é¼é¤ë¡¥ ! ǽÎϤò»È¤¦¤È»ý¤Á¼ç¤òÆ©ÌÀ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ ! ±¿Ì¿¤Î¥ª¡¼¥Ö orb of fate ! # Some say that Odin himself created this ancient crystal ball, ! # although others argue that Loki created it and forged Odin's ! # signature on the bottom. In any case, it is a powerful ! # artifact. Anyone who carries it is granted the gift of ! # warning, and damage, both spell and physical, is partially ! # absorbed by the orb itself. When invoked it has the power ! # to teleport the invoker between levels. ! ¤¢¤ë¤â¤Î¤Ï¥ª¡¼¥Ç¥£¥ó¼«¿È¤¬¤³¤Î¸ÅÂå¤Î¿å¾½¶Ì¤òºî¤Ã¤¿¤È¸À¤¦¤·¡¤Â¾ ! ¤Î¼Ô¤Ï¥í¥­¤¬ºî¤ê¡¤¥ª¡¼¥Ç¥£¥ó¤Î¥µ¥¤¥ó¤ò¿¿»÷¡¤Äì¤Ëµ­¤·¤¿¤Î¤À¤È¤â ! ¸À¤ï¤ì¤Æ¤¤¤ë¡¥¤É¤Á¤é¤Ë¤·¤í¡¤¤³¤ì¤Ï¶¯ÎϤÊÀ»´ï¤Ç¤¢¤ë¡¥»ý¤Ä¤À¤±¤Ç ! ·Ù¹ð¤ÎÎϤòÆÀ¡¤ÊªÍý¤ª¤è¤ÓËâË¡¤Î¥À¥á¡¼¥¸¤ò¥ª¡¼¥Ö¼«¿È¤¬ÉôʬŪ¤ËµÛ ! ¤¤¤È¤Ã¤Æ¤¯¤ì¤ë¡¥Ç½ÎϤò»È¤¦¤È¡¤»È¤Ã¤¿¼Ô¤ò¾¤Î³¬¤Ø½Ö´Ö°ÜÆ°¤µ¤»¤ë ! ÎϤò»ý¤Ä¡¥ ! ¥´¥Ö¥ê¥ó¤Î²¦ ! ¤«¤ß¤Ä¤­´Ý ! ¥ª¡¼¥¯¥ê¥¹¥È goblin king orcrist ! # The Great Goblin gave a truly awful howl of rage when he ! # looked at it, and all his soldiers gnashed their teeth, ! # clashed their shields, and stamped. They knew the sword at ! # once. It had killed hundreds of goblins in its time, when ! # the fair elves of Gondolin hunted them in the hills or did ! # battle before their walls. They had called it Orcrist, ! # Goblin-cleaver, but the goblins called it simply Biter. ! # They hated it and hated worse any one that carried it. ! # [ The Hobbit, by J.R.R. Tolkien ] ! Â祴¥Ö¥ê¥ó¤Ï¡¤¤³¤ì¤ò¸«¤ë¤È¡¤¤·¤ó¤«¤é¤ª¤½¤ì¤Ë¤¦¤¿¤ì¤¿¡¤¤¤¤«¤ê ! ¤Î¤¦¤á¤­À¼¤ò¤¢¤²¡¤¤¤¤Ê¤é¤Öʼ»Î¤¿¤Á¤â¤Ë¤Ê¡¤»õ¤ò¤¯¤¤¤·¤Ð¤ê¡¤¤¿ ! ¤Æ¤ò¤¦¤Á¡¤Â­¤ò¤Õ¤ß¤Ê¤é¤·¤Þ¤·¤¿¡¥¥´¥Ö¥ê¥ó¤¿¤Á¤Ï¡¤¤¹¤°¤µ¤Þ¤½¤Î ! ·õ¤ò¸«¤ï¤±¤¿¤Î¤Ç¤¹¡¥¤½¤ì¤Ï¡¤¥´¥ó¥É¥ê¥ó¤Î¤è¤¤¥¨¥ë¥Õ¤¿¤Á¤¬»³¤Î ! ¤Ê¤«¤Ç¥´¥Ö¥ê¥ó¤¿¤Á¤òÄɤ俤ꡤ¤½¤ÎÄ®¤Î¤«¤³¤ß¤ÎÁ°¤ÇÀ襤¤ò¤·¤¿ ! ¤à¤«¤·¡¤²¿É´²¿Àé¤Î¤¿¤¯¤µ¤ó¤Î¥´¥Ö¥ê¥ó¤ò»¦¤·¤¿Ì¾·õ¤Ç¤¹¡¥¥¨¥ë¥Õ ! ¤¿¤Á¤Ï¡¤·õ¤ò¥ª¥ë¥¯¥ê¥¹¥È¡¤¤Ä¤Þ¤ê¥´¥Ö¥ê¥óÂ༣¤È¤è¤ó¤Ç¤¤¤Þ¤·¤¿ ! ¤¬¡¤¥´¥Ö¥ê¥ó¤¿¤Á¤Ï¤³¤ì¤ò¤¿¤À¡Ö¤«¤ß¤Ä¤­´Ý¡×¤È¤è¤Ó¤Þ¤·¤¿¡¥¤½¤· ! ¤Æ¤³¤Î·õ¤ò¤Ë¤¯¤ß¡¤¤³¤Î·õ¤ò»ý¤Ã¤¿¼Ô¤ò¤Ë¤¯¤ß¤Þ¤·¤¿¡¥ ! [ The Hobbit, by J.R.R. Tolkien ] ! [¥Û¥Ó¥Ã¥È¤ÎËÁ¸±¡¤´äÇȾ¯Ç¯Ê¸¸Ë¡¤À¥ÅÄÄçÆóÌõ] ! ¥ª¡¼¥±¥¹ orcus ! # Orcus, Prince of the Undead, has a ram's head and a poison ! # stinger. He is most feared, though, for his powerful magic ! # abilities. His wand causes death to those he chooses. ! »àÎî¤Î¹Ä»Ò¤Ç¤¢¤ë¥ª¡¼¥±¥¹¤Ë¤ÏÍÓ¤ÎƬ¤ÈÆǿˤ¬¤¢¤ë¡¥¤·¤«¤·¤Ê¤¬¤é¡¤ ! ¶²¤í¤·¤¤¤Î¤Ï²¿¤è¤ê¤½¤Î¶¯ÎϤÊËâÎϤǤ¢¤ë¡¥¤½¤Î¾ó¤ÏÁÀ¤¤¤ò¤Ï¤º¤µ ! ¤º¡¤»à¤ò¤â¤¿¤é¤¹¡¥ ! ~*¥¾¥ó¥Ó ! ~*¥ß¥¤¥é ! ¥ª¡¼¥¯* ! *¥ª¡¼¥¯ ! ¥¦¥ë¥¯*¥Ï¥¤ ~orc ??m* orc* * orc uruk*hai ! # Orcs, bipeds with a humanoid appearance, are related to the ! # goblins, but much bigger and more dangerous. The average orc ! # is only moderately intelligent, has broad, muscled shoulders, ! # a short neck, a sloping forehead and a thick, dark fur. ! # Their lower eye-teeth are pointing forward, like a boar's. ! # Female orcs are more lightly built and bare-chested. Not ! # needing any clothing, they do like to dress in variegated ! # apparels. Suspicious by nature, orcs live in tribes or ! # hordes. They tend to live underground as well as above ! # ground (but they dislike sunlight). Orcs can use all weapons, ! # tools and armours that are used by men. Since they don't have ! # the talent to fashion these themselves, they are constantly ! # hunting for them. There is nothing a horde of orcs cannot ! # use. ! ¥ª¡¼¥¯¤Ï¸«¤¿¤È¤³¤íÆó­ưʪ¤Ç¥´¥Ö¥ê¥ó¤Î¿ÆÀ̤Ǥ¹¡¥¤·¤«¤·¡¤¥´¥Ö¥ê ! ¥ó¤è¤ê¤â¤â¤Ã¤ÈÂ礭¤¯¤â¤Ã¤È´í¸±¤Ç¤¹¡¥Ê¿¶ÑŪ¤Ê¥ª¡¼¥¯¤ÏʤÎÃÎÎϤǡ¤ ! ¹­¤¯¶ÚÆù¼Á¤Ê¸ª¡¤¼ó¡¤¤Ç¤Ã¤Ñ¤Ã¤¿³Û¤ò»ý¤Á¡¤¸ü¤¯¹õ¤¤ÌÓ¤¬À¸¤¨¤Æ¤¤¤Þ ! ¤¹¡¥¤½¤Î¤·¤«¤á¤Ã¤Ä¤é¤Î»åÀÚ¤ê»õ¤Ï¤Þ¤ë¤Ç¥¤¥Î¥·¥·¤Î¤è¤¦¤ËÁ°¤ò¸þ¤¤ ! ¤Æ¤¤¤Þ¤¹¡¥Éþ¤Ë¤Ï̵ÆÜÃå¤Ê¤Î¤Ç¡¤¤½¤¤¤Ä¤é¤Ï»¨¿§¤ÎÉþ¤òÃå¤ë¤Î¤ò¹¥¤ß ! ¤Þ¤¹¡¥ËÜÍ赿¤¤¿¼¤¤À­³Ê¤Ç¡¤¥ª¡¼¥¯¤Ï¼ï²¤ä·²¤ÇÀ¸³è¤·¤Æ¤¤¤Þ¤¹¡¥¤½ ! ¤¤¤Ä¤é¤ÏÃϲ¼¤Ë½»¤ß¤¿¤¬¤ë·¹¸þ¤¬¤¢¤ê¤Þ¤¹¤¬¡¤¤â¤Á¤í¤óÃÏɽ¤Ë¤â½»¤ß ! ¤¿¤¬¤ê¤Þ¤¹(¤·¤«¤·ÂÀÍÛ¸÷Àþ¤ò¹¥¤ß¤Þ¤»¤ó)¡¥¥ª¡¼¥¯¤ÏÁ´¤Æ¤ÎÉð´ï¡¤Æ» ! ¶ñ¡¤³»¤ò¿Í´Ö¤¬»È¤¦¤è¤¦¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥Èà¤é¤Ë¤Ï¤â¤Î¤ò¼«Ê¬ ! ¤¿¤Á¤Ç¤³¤·¤é¤¨¤ëǽÎϤʤó¤Æ¤Ê¤¤¤Î¤Ç¡¤Èà¤é¤Ï¤·¤ç¤Ã¤Á¤å¤¦¤½¤ì¤é¤ò ! ÆÀ¤ë¤¿¤á¤Ë¼í¤ê¤ò¤·¤Þ¤¹¡¥¤â¤Î¤ò»È¤¨¤Ê¤¤¥ª¡¼¥¯¤Î·²¤È¸À¤¦¤Î¤Ï¤¢¤ê ! ¤¨¤Þ¤»¤ó¡¥ [ het Boek van de Regels; Het Oog des Meesters ] + ¤ª¤µ¤¯ osaku ! # The osaku is a small tool for picking locks. ! ¤ª¤µ¤¯¤Ï³«¾û¤Î¤¿¤á¤Î¾®¤µ¤ÊÆ»¶ñ¤Ç¤¢¤ë¡¥ ! ¥¢¥¦¥ë*¥Ù¥¢ owlbear ! # Owlbears are probably the crossbreed creation of a demented ! # wizard; given the lethal nature of this creation, it is quite ! # likely the wizard who created them is no longer alive. As ! # the name might already suggest, owlbears are a cross between ! # a giant owl and a bear. They are covered with fur and ! # feathers. ! ¥¢¥¦¥ë¥Ù¥¢¤Ï¤ª¤½¤é¤¯¶¸¤Ã¤¿ËâË¡»È¤¤¤Î°Û¼ï¸òÇۤˤè¤Ã¤Æºî¤é¤ì¤¿ ! À¸Êª¤Ç¤¢¤ê¡¤¤³¤ÎÀ½Â¤²áÄø¤ÇÃ×̿Ū¤ÊËÜÀ­¤òÍ¿¤¨¤é¤ì¡¤¥¢¥¦¥ë¥Ù ! ¥¢¤òºî¤Ã¤¿ËâË¡»È¤¤¤Ï¤â¤¦À¸¤­¤Æ¤¤¤Ê¤¤¤È¤¤¤¦¤Î¤Ï¤¢¤ê¤½¤¦¤Ê¤³ ! ¤È¤Ç¤¢¤ë¡¥Ì¾Á°¤Ë¸«¤ì¤Ð¤ï¤«¤ë¤È»×¤¦¤¬¡¤¥¢¥¦¥ë¤Ù¥¢¤ÏµðÂç¤Ê¥¢¥¦¥ë ! (¤Õ¤¯¤í¤¦)¤È¥Ù¥¢(·§)¤ò¸òÇÛ¤µ¤»¤¿¤â¤Î¤Ç¤¢¤ë¡¥ÌÓÈé¤È±©¤Ëʤ¤ï¤ì ! ¤Æ¤¤¤ë¡¥ ! ¥Ñ¥é¥ó¥Æ¥£¥¢¤ÎÀÐ palantir of westernesse ! # The elves of long ago created this powerful crystal ball. ! # When carried, it grants ESP, regeneration, and reduces all ! # damage caused by spells to one-half of what it would have ! # normally been. When invoked, it tames creatures in its ! # vicinity. ! ÂçÀΤ˥¨¥ë¥Õ㤬ºî¤Ã¤¿¶¯ÎϤʿ徽¶Ì¡¥»ý¤Á¤¢¤ë¤¯¤À¤±¤Ç¡¤±ó»ë¡¤ ! ²óÉü¡¤Á´¤Æ¤ÎËâË¡¤Î¥À¥á¡¼¥¸¤òȾʬ¤Ë¤¹¤ëÎϤòÆÀ¤ë¡¥Ç½ÎϤò»È¤¦¤È ! ¶á¤¯¤ÎÀ¸Êª¤ò¼ê¤Ê¤º¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ ! *¶ô¤¤ *piercer ! # Ye Piercer doth look like unto a stalactyte, and hangeth ! # from the roofs of caves and caverns. Unto the height of a ! # man, and thicker than a man's thigh do they grow, and in ! # groups do they hang. If a creature doth pass beneath them, ! # they will by its heat and noise perceive it, and fall upon ! # it to kill and devour it, though in any other way they move ! # but exceeding slow. ! ·ê¶ô¤¤¤Ï¾áÆýÀФΤ褦¤Ë¸«¤¨¤ó¡¥Æ¶·¢¤ä¤Û¤é·ê¤ÎÅ·°æ¤Ë¤Ö¤é¤µ¤¬¤é ! ¤ó¡¥¤³¤Î¼ï¤Î¤â¤Î¤Ï¡¤¿Í´Ö¤Î¹â¤µ¤Û¤É¤Î¡¤¿Í´Ö¤Î¤â¤â¤è¤ê¸ü¤¯¡¤À® ! Ť»¤ó¡¤À¸¤­Êª¤¬²¼Êý¤ËÄ̤ê¤Ì¤±¤ë¤È¤­¡¤Ç®¤È²»¤Ë¤è¤ê¡¤ÃγФǤ­ ! ¤è¤¦¡¤»¦¤¹¤¿¤á¤ËÍî¤Á¡¤¤à¤µ¤Ü¤ê¶ô¤¦¤¿¤á¤ËÍî¤Á¤è¤¦¡¥Â¾¤Î¼êÃÊ¤Ë ! ¤Æ°ÜÆ°¤»¤·¤È¤­¤½¤ì¤é¤ÎÆ°¤­¤Ï¶Ë¤á¤ÆÃÙ¤¤¤Ç¤¢¤í¤¦¡¥ ! [ the Bestiary of Xygag ] ! ·ê¤Î°­Îî pit fiend ! # Pit fiends are among the more powerful of devils, capable of ! # attacking twice with weapons as well as grabbing and crushing ! # the life out of those unwary enough to enter their ! # domains. ! ·ê¤Î°­Îî¤Ï¡¤°­Ëâ¤ÎÃæ¤Ç¤â¶¯ÎϤǡ¤Éð´ï¤Ç£²ÅÙ¹¶·â¤Ç¤­¡¤¤Ê¤ï¤Ð¤ê ! ¤ËÆþ¤ê¹þ¤àÉÔÃí°Õ¤Ê¼Ô¤ÎÌ¿¤ò¤Ä¤«¤ß¤À¤·¡¤°®¤ê¤Ä¤Ö¤·¤Æ¤·¤Þ¤¦¡¥ ! ¥×¥é¥Á¥Ê¥¤¥§¥ó¥À¡¼°õ¥¨¥¯¥¹¥×¥ì¥¹¥«¡¼¥É platinum yendorian express card ! # This is an ancient artifact made of an unknown material. It ! # is rectangular in shape, very thin, and inscribed with ! # unreadable ancient runes. When carried, it grants the one ! # who carries it ESP, and reduces all physical damage done to ! # the carrier by half. It also protects from magic missile ! # attacks. Finally, its power is such that when invoked, it ! # can charge other objects. ! Ææ¤Îʪ¼Á¤Çºî¤é¤ì¤¿¸ÅÂå¤ÎÀ»´ï¡¥Ä¹Êý·Á¤Î·Á¾õ¤ò»ý¤Á¡¤¤È¤Æ¤âÇö¤¯¡¤ ! ¸ÅÂå¥ë¡¼¥óʸ»ú¤Ç²òÆÉÉÔǽ¤Êʸ»ú¤¬¹ï¤Þ¤ì¤Æ¤¤¤ë¡¥»ý¤ÁÊ⤯¤â¤Î¤Ë ! ESP¤ÎǽÎϤòÍ¿¤¨¡¤Á´¤Æ¤ÎʪÍý¥À¥á¡¼¥¸¤òȾʬ¤Ë¤·¤Æ¤¯¤ì¤ë¡¥¤Þ¤¿¡¤ ! ËâË¡¤ÎÌð¤Î¹¶·â¤«¤é¤â¿È¤ò¼é¤Ã¤Æ¤¯¤ì¤ë¡¥¤½¤ÎËâÎϤò»È¤¦¤È¡¤Â¾¤Î ! ʪÂΤò½¼Å¶¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ ! ¥Ý¥»¥¤¥É¥ó poseido*n ! # Poseido(o)n, lord of the seas and father of rivers and ! # fountains, was the son of Chronos and Rhea, brother of Zeus, ! # Hades, Hera, Hestia and Demeter. His rank of ruler of the ! # waves he received by lot at the Council Meeting of the Gods, ! # at which Zeus took the upper world for himself and gave ! # dominion over the lower world to Hades. ! # Poseidon is associated in many ways with horses and thus is ! # the god of horses. He taught men how to ride and manage the ! # animal he invented and is looked upon as the originator and ! # guardian deity of horse races. ! # His symbol is the familiar trident or three-pronged spear ! # with which he can split rocks, cause or quell storms, and ! # shake the earth, a power which makes him the god of ! # earthquakes as well. Physically, he is shown as a strong and ! # powerful ruler, every inch a king. ! ¥Ý¥»¥¤¥É¥ó¡¤³¤¤Î²¦¤Ë¤·¤Æ¡¤Àî¤äÀô¤ÎÉ㡤¥¯¥í¥Î¥¹¤È¥ì¥¤¥¢¤Î©»Ò ! ¤Ç¡¤¥¼¥¦¥¹¡¤¥Ï¥Ç¥¹¡¤¥Ø¥é¡¤¥Ø¥¹¥Æ¥£¥¢¡¤¥Ç¥á¥Æ¥ë¤ÎÄï¡¥¥¼¥¦¥¹¤¬Èà ! ¼«¿È¤ÇÅ·¾å¤ÎÀ¤³¦¤ò¼õ¤±¤È¤ê¥Ï¥Ç¥¹¤ËÃϲ¼¤Î»ÙÇÛ¸¢¤òÍ¿¤¨¤¿¿À¡¹¤Î¶¨ ! µÄ²ñ¤Î¤¯¤¸¤ÇÇȤλÙÇۤ㬵é¤ò¼õ¤±¤È¤Ã¤¿¡¥ ! ¥Ý¥»¥¤¥É¥ó¤Ï¤¤¤í¤¤¤í¤Ê¤È¤³¤í¤ÇÇϤ˴ØÏ¢¤Å¤±¤é¤ì¤Æ¤ª¤ê¡¤¤½¤ì¤æ¤¨ ! ÇÏã¤Î¿À¤Ç¤¢¤ë¡¥Èà¤Ï¿Í´Ö¤ËÇϤξè¤êÊý¤äÈबÁϺ¤¿Æ°Êª¤Î¸æ¤·¤« ! ¤¿¤ò¶µ¤¨¤¿¡¥Èà¤ÏÁϻϼԤȤ·¤Æ¸«¤é¤ì¤Æ¤ª¤ê¡¤ÇϤμï¤Î¼é¸î¿À¤Ç¤¢¤ë¡¥ ! Èà¤Î¾Ýħ¤Ï´ä¤ò¤â³ä¤ê¡¤Íò¤ò°ú¤­µ¯¤·¤¿¤êÄÀ¤á¤¿¤ê¡¤ÃÏÌ̤òÍɤ餹¤³ ! ¤È¤¬²Äǽ¤Ê»°Ëô¤ÎËȤޤ¿¤ÏÁä¤Ç¤¢¤ë¡¥¤½¤ÎÎϤ椨Èà¤Ï¤Þ¤¿ÃϿ̤οÀ¤È ! ¤â¤µ¤ì¤Æ¤¤¤ë¡¥ÆùÂÎŪ¤Ë¤âÈà¤Ï²¦¤È¤·¤Æ¶¯¿Ù¤Ç¶¨ÎϤʻÙÇۼԤǤ¢¤ë¡¥ [ The Encyclopedia of Myths and Legends of All Nations, by Herbert Robinson and Knox Wilson ] + ¥×¥¿¥Ï ptah ! # Known under various names (Nu, Neph, Cenubis, Amen-Kneph, ! # Khery-Bakef), Ptah is the creator god and god of craftsmen. ! # He is usually depicted as wearing a closely fitting robe ! # with only his hands free. His most distinctive features are ! # the invariable skull-cap exposing only his face and ears, ! # and the _was_ or rod of domination which he holds, ! # consisting of a staff surmounted by the _ankh_ symbol of ! # life. He is otherwise symbolized by his sacred animal, the ! # bull. ! ¥Ì¡¼¡¤¥Í¥Õ¡¤¥±¥Ì¥Ó¥¹¡¤¥¢¥á¥ó¡¦¥Í¥Õ¡¤¥Ø¥ê¡¼¡¦¥Ð¥±¥Õ¤Ê¤ÉÍÍ¡¹ ! ¤Ê̾Á°¤ÇÃΤé¤ì¤ë¥×¥¿¥Ï¤Ï¡¤ÁϤ¿À¤Ç¤¢¤ê¿¦¿Í¤Î¿À¤Ç¤¢¤ë¡¥Èà¤Ï ! Ä̾ï¼ê¤À¤±¤¬¼«Í³¤Ê¤Ô¤Ã¤Á¤ê¤ÈÂΤ˹礦¥í¡¼¥Ö¤òÃå¤Æ¤¤¤ë»Ñ¤È¤· ! ¤ÆÉÁ¤«¤ì¤ë¡¥Èà¤ÎÍÆËƤκǤâÆÃħŪ¤Ê¤³¤È¤Ï¡¤´é¤È¼ª°Ê³°¤òʤ¤¦ ! ÉÔÊѤΥ¹¥«¥ë¥­¥ã¥Ã¥×(¾®¤µ¤Ê±ï¤Ê¤·Ë¹)¤È¡¤À¸Ì¿¤Î¥¢¥ó¥¯½½»ú²Í ! ¤¬¾å¤Ë¾è¤Ã¤Æ¤¤¤ë¾ó¤Ç¤¢¤ëÅý¼£¤Î¾ó¤Ç¤¢¤ë¡¥Èà¤Ï¾¤Ë¤â¿ÀÀ»¤ÊÆ° ! ʪ¤Ç¤¢¤ëͺµí¤Î¾Ýħ¤Ç¤â¤¢¤ë¡¥ ! »ç¥ï¡¼¥à* *purple worm ! # A gargantuan version of the harmless rain-worm, the purple ! # worm poses a huge threat to the ordinary adventurer. It is ! # known to swallow whole and digest its victims within only a ! # few minutes. These worms are always on guard, sensitive ! # to the most minute vibrations in the earth, but may also ! # be awakened by a remote shriek. ! ̵³²¤Ê¤ß¤ß¤º¤Î¥¬¥ë¥¬¥ó¥Á¥å¥¢(µðÂç¤Êµð¿Í)ÈÇ¡¥»ç¥ï¡¼¥à¤ÏÄ̾ï¤Î ! ËÁ¸±¼Ô¤ò¤ª¤É¤¹¥Ý¡¼¥º¤ò¤È¤ë¡¥Á´¤Æ¤ò°û¤ß¤³¤ß¡¤¿ôʬ¤Çµ·À·¼Ô¤ò¾Ã ! ²½¤¹¤ë¤³¤È¤¬ÃΤé¤ì¤Æ¤¤¤ë¡¥¤³¤ì¤é¥ï¡¼¥à¤Ï¤¤¤Ä¤â¿È¹½¤¨¤Æ¤ª¤ê¡¤ ! ÃÏÌ̤ΤÁ¤ç¤Ã¤È¤Î¿¶Æ°¤ËÉÒ´¶¤Ç¤¢¤ë¤¬¡¤ÂçÄñ¤Ï±Ô¤¤²»¤ÇÌܤ¬³Ð¤á¤ë¡¥ ! »Í­ưʪ quadruped ! # The woodlands and other regions are inhabited by multitudes ! # of four-legged creatures which cannot be simply classified. ! # They might not have fiery breath or deadly stings, but ! # adventurers have nevertheless met their end numerous times ! # due to the claws, hooves, or bites of such animals. ! ¿¹¤ò¤Ï¤¸¤á¤¤¤í¤ó¤Ê¾ì½ê¤Ï¡¤Ã±½ã¤Ë¤ÏʬÎà¤Ç¤­¤Ê¤¤¤è¤¦¤ÊÂô»³¤Î»Í ! ËÜ­¤ÎÀ¸¤­Êª¤ËŬ¤·¤Æ¤¤¤ë¡¥¤½¤ì¤é¤Ï±ê¤Î¥Ö¥ì¥¹¤ä»à¤Î¿Ë¤ò»ý¤Ã¤Æ ! ¤¤¤Ê¤¤¤¬¡¤ËÁ¸±¼Ô¤Ï¤½¤ì¤Ë¤â¤«¤«¤ï¤é¤º¡¤¤½¤Î¤è¤¦¤Êưʪ¤ÎÄÞ¤äÄý ! ¤ä³ú¤ß¤Ä¤­¤Ë¤è¤Ã¤Æ²¿Å٤⽪ßá¤ò·Þ¤¨¤Æ¤¤¤ë¡¥ ! ÎÌ»ÒÎÏ³Ø¼Ô quantum mechanic ! # These creatures are not native to this universe; they seem ! # to have strangely derived powers, and unknown motives. ! ¤³¤ÎÀ¸¤­Êª¤Ï¤³¤ÎÀ¤³¦¤Î¤â¤Î¤Ç¤Ï¤Ê¤¤¡¥¤É¤³¤«¤é¤«ÉԻ׵ĤÊÎϤ¬Í¯ ! ¤¤¤Æ½Ð¤ë¤è¤¦¤Ç¤¢¤ë¡¥Æ°ÎϤâÉÔÌÀ¡¥ ! ¥¯¥¢¥·¥È quasit ! # Quasits are small, evil creatures, related to imps. Their ! # talons release a very toxic poison when used in an attack. ! ¥¯¥¢¥·¥È¤Ï¾®¤µ¤Ê¼Ù°­¤ÊÀ¸Êª¤Ç¤¢¤ê¡¤¥¤¥ó¥×¤Ë»÷¤Æ¤¤¤ë¡¥¹¶·â¤Î»þ¤Ë ! »ÈÍѤ¹¤ëÈàÅù¤Î³ÃÄÞ¤ÏÈó¾ï¤Ë¶¯¤¤ÆǤòʬÈ礹¤ë¡¥ ! ¥±¥Ä¥¢¥ë¥«¥È¥ë quetzalcoatl One of the principal Aztec-Toltec gods was the great and wise Quetzalcoatl, who was called Kukumatz in Guatemala, and *************** *** 1926,2324 **** The legend tells how the Indian deity Quetzalcoatl came from the "Land of the Rising Sun". He wore a long white robe and had a beard; he taught the people crafts and customs and laid ! down wise laws. He created an empire in which the ears of corn were as long as men are tall, and caused bolls of colored cotton to grow on cotton plants. But for some reason or other ! he had to leave his empire. ... But all the legends of Quetzalcoatl unanimously agree that he promised to come again. [ Gods, Graves, and Scholars, by C. W. Ceram ] raiden ! The god of thunder. rat * rat ! Rats are long-tailed rodents. They are aggressive, ! omnivorous, and adaptable, often carrying diseases. rock mole ! A rock mole is a member of the rodent family. They get their ! name from their ability to tunnel through rock in the same ! fashion that a mole tunnels through earth. They are known to ! eat anything they come across in their diggings, although it ! is still unknown how they convert some of these things into ! something of nutritional value. rogue ! I understand the business, I hear it: to have an open ear, a ! quick eye, and a nimble hand, is necessary for a cut-purse; a ! good nose is requisite also, to smell out work for the other ! senses. I see this is the time that the unjust man doth ! thrive. <...> The prince himself is about a piece of iniquity, ! stealing away from his father with his clog at his heels: if ! I thought it were a piece of honesty to acquaint the king ! withal, I would not do't: I hold it the more knavery to ! conceal it; and therein am I constant to my profession. [ Autolycus the Rogue, from The Winter's Tale by ! William Shakespeare ] rothe ! The rothe (pronounced roth-AY) is a musk ox-like creature with ! an aversion to light. It prefers to live underground near ! lichen and moss. rust monster ! These strange creatures live on a diet of metals. They can ! turn a suit of armour into so much useless rusted scrap in no ! time at all. sake ! Japanese rice wine. salamander ! For hundreds of years, many people believed that salamanders ! were magical. In England in the Middle Ages, people thought ! that fire created salamanders. When they set fire to damp ! logs, dozens of the slimy creatures scurried out. The word ! salamander, in fact, comes from a Greek word meaning "fire ! animal". [ Salamanders, by Cherie Winner ] sasquatch ! An ape-like humanoid native to densely forested mountains, ! the sasquatch is also known as "bigfoot". Normally benign ! and rarely seen, this creature is reputed to be a relative ! of the ferocious yeti. sceptre of might ! This mace was created aeons ago in some unknown cave, ! and has been passed down from generation to generation of ! cave dwellers. It is a very mighty mace indeed, and in ! addition will protect anyone who carries it from magic ! missile attacks. When invoked, it causes conflict in the ! area around it. scorpio* ! A sub-species of the spider (_Scorpionidae_), the scorpion ! distinguishes itself from them by having a lower body that ! ends in a long, jointed tail tapering to a poisonous stinger. ! They have eight legs and pincers. [ Van Dale's Groot Woordenboek der Nederlandse Taal ] shad* ! Shades are undead creatures. They differ from zombies in ! that a zombie is an undead animation of a corpse, while a ! shade is an undead creature magically created by the use ! of black magic. shaman karnov ! Making his quarters in the Caves of the Ancestors, Shaman ! Karnov unceasingly tries to shield his neanderthal people ! from Tiamat's minions' harassments. shan*lai*ching ! The Chinese god of Mountains and Seas, also the name of an ! old book (also Shan Hai Tjing), the book of mountains and ! seas - which deals with the monster Kung Kung trying to ! seize power from Yao, the fourth emperor. [ Spectrum Atlas van de Mythologie ] shito ! A Japanese stabbing knife. skeleton ! A skeleton is a magically animated undead creature. Unlike ! shades, only a humanoid creature can be used to create a ! skeleton. No one knows why this is true, but it has become ! an accepted fact amongst the practitioners of the black arts. slasher ! "That dog belonged to a settler who tried to build his cabin ! on the bank of the river a few miles south of the fort," ! grunted Conan. ... "We took him to the fort and dressed his ! wounds, but after he recovered he took to the woods and turned ! wild. -- What now, Slasher, are you hunting the men who ! killed your master?" ... "Let him come," muttered Conan. ! "He can smell the devils before we can see them." ... ! Slasher cleared the timbers with a bound and leaped into the ! bushes. They were violently shaken and then the dog slunk ! back to Balthus' side, his jaws crimson. ... "He was a man," ! said Conan. "I drink to his shade, and to the shade of the ! dog, who knew no fear." He quaffed part of the wine, then ! emptied the rest upon the floor, with a curious heathen ! gesture, and smashed the goblet. "The heads of ten Picts ! shall pay for this, and seven heads for the dog, who was a ! better warrior than many a man." [ Conan The Warrior, by Robert E Howard ] slime mold ! Slime mold or slime fungus, organism usually classified with ! the fungi, but showing equal affinity to the protozoa. Slime ! molds have complex life cycles with an animal-like motile ! phase, in which feeding and growth occur, and a plant-like ! immotile reproductive phase. The motile phase, commonly ! found under rotting logs and damp leaves, consists of either ! solitary amoebalike cells or a brightly colored multinucleate ! mass of protoplasm called a plasmodium, which creeps about ! and feeds by amoeboid movement. [ The Concise Columbia Encyclopedia ] *snake serpent water moccasin python pit viper cobra ! Now the serpent was more subtle than any beast of the field which the Lord God ! had made. And he said unto the woman, Yea, hath God said, Ye shall not eat of ! every tree of the garden? And the woman said unto the serpent, We may eat of ! the fruit of the trees of the garden: but of the fruit of the tree which is ! in the midst of the garden, God hath said, Ye shall not eat of it, neither ! shall ye touch it, lest ye die. And the serpent said unto the woman, Ye shall ! not surely die: for God doth know that in the day ye eat thereof, then your ! eyes shall be opened, and ye shall be as gods, knowing good and evil. And ! when the woman saw that the tree was good for food, and that it was pleasant ! to the eyes, and a tree to be desired to make one wise, she took of the fruit ! thereof, and did eat, and gave also unto her husband with her; and he did eat. ! ! And the Lord God said unto the woman, What is this that thou hast done? And ! the woman said, The serpent beguiled me, and I did eat. And the Lord God said ! unto the serpent, Because thou hast done this, thou art cursed above all cat- ! tle, and above every beast of the field; upon thy belly shalt thou go, and ! dust shalt thou eat all the days of thy life: And I will put enmity between ! thee and the woman, and between thy seed and her seed; it shall bruise thy ! head, and thou shalt bruise his heel. ! [ Genesis 3:1-6,13-15 ] snickersnee ! Ah, never shall I forget the cry, ! or the shriek that shrieked he, ! As I gnashed my teeth, and from my sheath ! I drew my Snickersnee! ! --Koko, Lord high executioner of Titipu ! [ The Mikado, by Sir W.S. Gilbert ] *soldier sergeant lieutenant captain ! The soldiers of Yendor are well-trained in the art of war, ! many trained by the Wizard himself. Some say the soldiers ! are explorers who were unfortunate enough to be captured, ! and put under the Wizard's spell. Those who have survived ! encounters with soldiers say they travel together in platoons, ! and are fierce fighters. Because of the load of their combat ! gear, however, one can usually run away from them, and doing ! so is considered a wise thing. solonor thelandira ! The elven god of hunting and wilderness skills. His ! followers honor him by excelling at archery. *spider ! Eight legged creature capable of spinning webs to trap pray. staff of aesculapius ! This staff is considered sacred to all healers, as it truly ! holds the powers of life and death. When wielded, it ! protects its user from all life draining attacks, and ! additionally gives the wielder the power of regeneration. ! When invoked it performs healing magic. statue* ! Then it appeared in Paris at just about the time that Paris ! was full of Carlists who had to get out of Spain. One of ! them must have brought it with him, but, whoever he was, it's ! likely he knew nothing about its real value. It had been -- ! no doubt as a precaution during the Carlist trouble in Spain ! -- painted or enameled over to look like nothing more than a ! fairly interesting black statuette. And in that disguise, ! sir, it was, you might say, kicked around Paris for seventy ! years by private owners and dealers too stupid to see what ! it was under the skin. [ The Maltese Falcon, by Dashiell Hammett ] sting ! There was the usual dim grey light of the forest-day about ! him when he came to his senses. The spider lay dead beside ! him, and his sword-blade was stained black. Somehow the ! killing of the giant spider, all alone and by himself in the ! dark without the help of the wizard or the dwarves or of ! anyone else, made a great difference to Mr. Baggins. He felt ! a different person, and much fiercer and bolder in spite of ! an empty stomach, as he wiped his sword on the grass and put ! it back into its sheath. ! "I will give you a name," he said to it, "and I shall call ! you Sting." [ The Hobbit, by J.R.R. Tolkien ] susano*o ! The Shinto chthonic and weather god and brother of the sun ! goddess Amaterasu, he was born from the nose of the ! primordial creator god Izanagi and represents the physical, ! material world. He has been expelled from heaven and taken ! up residence on earth. [ Encyclopedia of Gods, by Michael Jordan ] tanko ! Samurai plate armor of the Yamato period (AD 300 - 710). tengu ! The tengu was the most troublesome creature of Japanese ! legend. Part bird and part man, with red beak for a nose ! and flashing eyes, the tengu was notorious for stirring up ! feuds and prolonging enmity between families. Indeed, the ! belligerent tengus were supposed to have been man's first ! instructors in the use of arms. [Mythical Beasts by Deirdre Headon (The Leprechaun Library)] thoth ! The Egyptian god of the moon and wisdom, Thoth is the patron ! deity of scribes and of knowledge, including scientific, ! medical and mathematical writing, and is said to have given ! mankind the art of hieroglyphic writing. He is important as ! a mediator and counsellor amongst the gods and is the scribe ! of the Heliopolis Ennead pantheon. According to mythology, ! he was born from the head of the god Seth. He may be ! depicted in human form with the head of an ibis, wholly as an ! ibis, or as a seated baboon sometimes with its torso covered ! in feathers. His attributes include a crown which consists ! of a crescent moon surmounted by a moon disc. ! Thoth is generally regarded as a benign deity. He is also ! scrupulously fair and is responsible not only for entering ! in the record the souls who pass to afterlife, but of ! adjudicating in the Hall of the Two Truths. The Pyramid ! Texts reveal a violent side of his nature by which he ! decapitates the adversaries of truth and wrenches out their ! hearts. [ Encyclopedia of Gods, by Michael Jordan ] thoth*amon ! Men say that he [Thutothmes] has opposed Thoth-Amon, who is ! master of all priests of Set, and dwells in Luxor, and that ! Thutothmes seeks hidden power [The Heart of Ahriman] to ! overthrow the Great One. [ Conan the Conqueror, by Robert E. Howard ] tiger ! 1. A well-known tropical predator (_Felis tigris_): a ! feline. It has a yellowish skin with darker spots or ! stripes. 2. Figurative: _a paper tiger_, something that is ! meant to scare, but has no really scaring effect whatsoever, ! (after a statement by Mao Ze Dong, August 1946). [ Van Dale's Groot Woordenboek der Nederlandse Taal ] titan ! Gaea, mother earth, arose from the Chaos and gave birth to ! Uranus, heaven, who became her consort. Uranus hated all ! their children, because he feared they might challenge his ! own authority. Those children, the Titans, the Gigantes, ! and the Cyclops, were banished to the nether world. Their ! enraged mother eventually released the youngest titan, ! Chronos (time), and encouraged him to castrate his father and ! rule in his place. Later, he too was challenged by his own ! son, Zeus, and he and his fellow titans were ousted from ! Mount Olympus. [ Greek Mythology, by Richard Patrick ] tourist ! The road from Ankh-Morpork to Chrim is high, white and ! winding, a thirty-league stretch of potholes and half-buried ! rocks that spirals around mountains and dips into cool green ! valleys of citrus trees, crosses liana-webbed gorges on ! creaking rope bridges and is generally more picturesque than ! useful. ! Picturesque. That was a new word to Rincewind the wizard ! (BMgc, Unseen University [failed]). It was one of a number ! he had picked up since leaving the charred ruins of ! Ankh-Morpork. Quaint was another one. Picturesque meant -- ! he decided after careful observation of the scenery that ! inspired Twoflower to use the word -- that the landscape was ! horribly precipitous. Quaint, when used to describe the ! occasional village through which they passed, meant fever- ! ridden and tumbledown. ! Twoflower was a tourist, the first ever seen on the discworld. ! Tourist, Rincewind had decided, meant "idiot". [ The Colour of Magic, by Terry Pratchett ] trapper ! The trapper is a creature which has evolved a chameleon-like ! ability to blend into the dungeon surroundings. It captures ! its prey by remaining very still and blending into the ! surrounding dungeon features, until an unsuspecting creature ! passes by. It wraps itself around its prey and digests it. tripe ration ! If you start from scratch, cooking tripe is a long-drawn-out ! affair. Fresh whole tripe calls for a minimum of 12 hours of ! cooking, some time-honored recipes demanding as much as 24. ! To prepare fresh tripe, trim if necessary. Wash it thoroughly, ! soaking overnight, and blanch, for 1/2 hour in salted water. ! Wash well again, drain and cut for cooking. When cooked, the ! texture of tripe should be like that of soft gristle. More ! often, alas, because the heat has not been kept low enough, ! it has the consistency of wet shoe leather. [ Joy of Cooking, by I Rombauer and M Becker ] *troll ! The troll shambled closer. He was perhaps eight feet tall, ! perhaps more. His forward stoop, with arms dangling past ! thick claw-footed legs to the ground, made it hard to tell. ! The hairless green skin moved upon his body. His head was a ! gash of a mouth, a yard-long nose, and two eyes which drank ! the feeble torchlight and never gave back a gleam. [...] ! Like a huge green spider, the troll's severed hand ran on its ! fingers. Across the mounded floor, up onto a log with one ! taloned forefinger to hook it over the bark, down again it ! scrambled, until it found the cut wrist. And there it grew ! fast. The troll's smashed head seethed and knit together. ! He clambered back on his feet and grinned at them. The ! waning faggot cast red light over his fangs. [ Three Hearts and Three Lions, by Poul Anderson ] tsurugi of muramasa ! This most ancient of swords has been passed down through the ! leadership of the Samurai legions for hundreds of years. It ! is said to grant luck to its wielder, but its main power is ! terrible to behold. It has the capability to cut in half any ! creature it is wielded against, instantly killing them. tsurugi ! The tsurugi, also known as the long samurai sword, is an ! extremely sharp, two-handed blade favored by the samurai. ! It is made of hardened steel, and is manufactured using a ! special process, causing it to never rust. The tsurugi is ! rumored to be so sharp that it can occasionally cut ! opponents in half! twoflower guide ! "Rincewind!" ! Twoflower sprang off the bed. The wizard jumped back, ! wrenching his features into a smile. ! "My dear chap, right on time! We'll just have lunch, and ! then I'm sure you've got a wonderful programme lined up for ! this afternoon!" ! "Er --" ! "That's great!" ! Rincewind took a deep breath. "Look," he said desperately, ! "let's eat somewhere else. There's been a bit of a fight ! down below." ! "A tavern brawl? Why didn't you wake me up?" ! "Well, you see, I - _what_?" ! "I thought I made myself clear this morning, Rincewind. I ! want to see genuine Morporkian life - the slave market, the ! Whore Pits, the Temple of Small Gods, the Beggar's Guild... ! and a genuine tavern brawl." A faint note of suspicion ! entered Twoflower's voice. "You _do_ have them, don't you? ! You know, people swinging on chandeliers, swordfights over ! the table, the sort of thing Hrun the Barbarian and the ! Weasel are always getting involved in. You know -- ! _excitement_." [ The Colour of Magic, by Terry Pratchett ] tyaa ! An evil goddess, she is able to command all forms of birds ! to do her bidding. tyr ! Yet remains that one of the Aesir who is called Tyr: ! he is most daring, and best in stoutness of heart, and he ! has much authority over victory in battle; it is good for ! men of valor to invoke him. It is a proverb, that he is ! Tyr-valiant, who surpasses other men and does not waver. ! He is wise, so that it is also said, that he that is wisest ! is Tyr-prudent. This is one token of his daring: when the ! Aesir enticed Fenris-Wolf to take upon him the fetter Gleipnir, ! the wolf did not believe them, that they would loose him, ! until they laid Tyr's hand into his mouth as a pledge. But ! when the Aesir would not loose him, then he bit off the hand ! at the place now called 'the wolf's joint;' and Tyr is one- ! handed, and is not called a reconciler of men. [ The Prose Edda, by Snorri Sturluson ] *hulk ! Umber hulks are powerful subterranean predators whose ! iron-like claws allow them to burrow through solid stone in ! search of prey. They are tremendously strong; muscles bulge ! beneath their thick, scaly hides and their powerful arms and ! legs all end in great claws. *unicorn unicorn horn ! Men have always sought the elusive unicorn, for the single twisted horn which ! projected from its forehead was thought to be a powerful talisman. It was ! said that the unicorn had simply to dip the tip of its horn in a muddy pool ! for the water to become pure. Men also believed that to drink from this horn ! was a protection against all sickness, and that if the horn was ground to a ! powder it would act as an antidote to all poisons. Less than 200 years ago in ! France, the horn of a unicorn was used in a ceremony to test the royal food ! for poison. ! ! Although only the size of a small horse, the unicorn is a very fierce beast, ! capable of killing an elephant with a single thrust from its horn. Its fleet- ! ness of foot also makes this solitary creature difficult to capture. However, ! it can be tamed and captured by a maiden. Made gentle by the sight of a vir- ! gin, the unicorn can be lured to lay its head in her lap, and in this docile ! mood, the maiden may secure it with a golden rope. ! [Mythical Beasts by Deirdre Headon (The Leprechaun Library)] Martin took a small sip of beer. "Almost ready," he said. "You hold your beer awfully well." --- 3450,4238 ---- The legend tells how the Indian deity Quetzalcoatl came from the "Land of the Rising Sun". He wore a long white robe and had a beard; he taught the people crafts and customs and laid ! down wise laws. He created an empire in which the ears of corn were as long as men are tall, and caused bolls of colored cotton to grow on cotton plants. But for some reason or other ! he had to leave his empire. ... But all the legends of Quetzalcoatl unanimously agree that he promised to come again. [ Gods, Graves, and Scholars, by C. W. Ceram ] + Íë¿À + ÍëÅÄ raiden ! # The god of thunder. ! Íë¿À¤Î¤³¤È¡¥ ! *¥Í¥º¥ß rat * rat ! # Rats are long-tailed rodents. They are aggressive, ! # omnivorous, and adaptable, often carrying diseases. ! ¤Í¤º¤ß¤Ï¿¬Èø¤ÎŤ¤óö»õÎà¤Ç¤¢¤ë¡¥ÈàÅù¤Ï¹¶·âŪ¤Ç»¨¿©¤Ç½ç±þÀ­¤¬¤¢ ! ¤ê¡¤¤·¤Ð¤·¤Ðɵ¤¤ò±¿¤Ö¡¥ ! ´ä¤â¤°¤é rock mole ! # A rock mole is a member of the rodent family. They get their ! # name from their ability to tunnel through rock in the same ! # fashion that a mole tunnels through earth. They are known to ! # eat anything they come across in their diggings, although it ! # is still unknown how they convert some of these things into ! # something of nutritional value. ! ´ä¤â¤°¤é¤Ïóö»õÎà¤Î°ì°÷¤Ç¤¢¤ë¡¥¤â¤°¤é¤¬ÃÏÌ̤˷ê¤ò·¡¤ë¤è¤¦¤Ë´ä¤Ë ! ·ê¤ò·¡¤ëǽÎϤ«¤é¡¤¤½¤Î̾Á°¤¬ÉÕ¤±¤é¤ì¤¿¡¥ÈàÅù¤Ï¡¤ÈàÅù¤¬·¡¤ê¿Ê¤ó ! ¤À½ê¤Ë¤¢¤ë¤â¤Î¤¹¤Ù¤Æ¤ò¿©¤Ù¤Æ¤·¤Þ¤¦¤¬¡¤¤É¤Î¤è¤¦¤Ë¤·¤Æ¤½¤ì¤é¤ò±É ! ÍܲÁ¤ËÊÑ´¹¤¹¤ë¤Î¤«¤Ë¤Ä¤¤¤Æ¤Ï̤¤ÀÉÔÌÀ¤Ç¤¢¤ë¡¥ ! Åð± rogue ! # I understand the business, I hear it: to have an open ear, a ! # quick eye, and a nimble hand, is necessary for a cut-purse; a ! # good nose is requisite also, to smell out work for the other ! # senses. I see this is the time that the unjust man doth ! # thrive. <...> The prince himself is about a piece of iniquity, ! # stealing away from his father with his clog at his heels: if ! # I thought it were a piece of honesty to acquaint the king ! # withal, I would not do't: I hold it the more knavery to ! # conceal it; and therein am I constant to my profession. ! # [ Autolycus the Rogue, from The Winter's Tale by ! # William Shakespeare ] ! ¤Ê¤Ë¤ä¤é¤«¤¹¤Ä¤â¤ê¤«¤ï¤«¤Ã¤¿¤¼¡¤¤Á¤ã¤¢¤ó¤Èʹ¤¤¤¿¤«¤é¤Ê¡¥ÉÒ³è¤Ê ! ¼ª¡¤µ¡ÉÒ¤ÊÌÜ¡¤ÉÒ¾¹¤Ê¼ê¡¤¤Ã¤Æ¤¤¤¦¤Î¤Ï¶ÒÃåÀÚ¤ê¤Ë¤ÏɬÍ×¾ò·ï¤À¡¥±Ô ! ÉÒ¤ÊÉ¡¤Ã¤Æ¤ä¤Ä¤âÁ°Äó¾ò·ï¤À¡¤¼ª¤äÌܤä¼ê¤Î¤¿¤á¤Ë»Å»ö¤òÓ̤®½Ð¤µ¤Ê ! ¤¯¤Á¤ã¤Ê¤é¤Í¤¨¤«¤é¤Ê¡¥º£Ç¯¤Ï¤É¤¦¤ä¤éÉÔÀµÄ¾¼Ô¤ÎÅö¤¿¤êǯ¤é¤·¤¤¤ä¡¥ ! .... ! ¤À¤¤¤¿¤¤²¦»ÒÍͤȤ¢¤í¤¦¤ª¤«¤¿¤¬ÉÔÀµ¤òƯ¤³¤¦¤Ã¤Æ¤ó¤À¤í¤¦¡¤¤«¤ï¤¤¤¤ ! ¤ª²Ùʪ¤ò¤«¤«¤¨¤Æ¤ª¤ä¤¸¤µ¤ó¤ÎÌܤò¤«¤¹¤á¤Æƨ¤²½Ð¤½¤¦¤Ã¤Æ¤ó¤À¤«¤é¡¥ ! ¤³¤¤¤Ä¤ò²¦Íͤؤ´Ãí¿Ê¤Ë¤ª¤è¤Ö¤Î¤¬ÀµÄ¾¼Ô¤Î¤ä¤ê¤«¤¿¤À¤í¤¦¤¬¡¤¤ª¤ì ! ¤Ï¤½¤¦¤Ï¤·¤Í¤§¡¤¤«¤¯¤·¤È¤¯¤Î¤¬°­Åޤˤդµ¤ï¤·¤¤¤È¤Ê¤ê¤ã¤¡¡¤¤½¤¦ ! ¤¹¤ë¤Û¤¦¤¬¤ª¤ì¤Î¿¦¶È¤ËÃé¼Â¤Ã¤Æ¤ï¤±¤À¤«¤é¡¥ [ Autolycus the Rogue, from The Winter's Tale by ! William Shakespeare ] ! [ ¡ÖÅßʪ¸ì¡×¤è¤ê¤´¤í¤Ä¤­¤Î¥ª¡¼¥È¥ê¥«¥¹¡¤ ! Çò¿å¥Ö¥Ã¥¯¥¹¡¤¾®ÅÄÅçÈøÌõ ] ! ¥í¥¼ rothe ! # The rothe (pronounced roth-AY) is a musk ox-like creature with ! # an aversion to light. It prefers to live underground near ! # lichen and moss. ! ¥í¥¼¤Ï¡¤¸÷¤ò·ù¤¦¥¸¥ã¥³¥¦¥¦¥·¤Ë»÷¤¿À¸Êª¤Ç¤¢¤ë¡¥ÃÏ°áÎà¤äÂݤÎÀ¸¤¨ ! ¤Æ¤¤¤ëÃϲ¼¤ÇÀ¸³è¤¹¤ëÊý¤ò¹¥¤à¡¥ ! »¬¤Î²øʪ rust monster ! # These strange creatures live on a diet of metals. They can ! # turn a suit of armour into so much useless rusted scrap in no ! # time at all. ! ¤³¤Î´ñ̯¤ÊÀ¸¤­Êª¤Ï¶â°¤ò¿©¤Ù¤ë¡¥¤³¤¤¤Ä¤é¤Ï³»¤ò½Ö¤¯´Ö¤Ë»¬¤À¤é ! ¤±¤ÎÅ´¥¯¥º¤Ë¤·¤Æ¤·¤Þ¤¦¡¥ ! ¥»¡¼¥éÉþ ! sailor blouse ! ¿åʼÉþ¤Ë»÷¤»¤¿ÉØ¿Í¡¦»Ò¶¡ÍѤÎÉþ¡¥½÷³ØÀ¸¤ÎÀ©Éþ¤ËÍѤ¤¤ë¡¥ ! [ ¹­¼­±ñÂè»ÍÈÇ ] ! ¼ò sake ! # Japanese rice wine. ! ÆüËܤξú¤¼ò¡¥ ! ¥µ¥é¥Þ¥ó¥À¡¼ salamander ! # For hundreds of years, many people believed that salamanders ! # were magical. In England in the Middle Ages, people thought ! # that fire created salamanders. When they set fire to damp ! # logs, dozens of the slimy creatures scurried out. The word ! # salamander, in fact, comes from a Greek word meaning "fire ! # animal". ! ²¿É´Ç¯¤âÀΡ¤¥µ¥é¥Þ¥ó¥À¡¼¤ÏËâË¡¤Ç¤¢¤ë¤È¿¤¯¤Î¿Í¡¹¤Ï¿®¤¸¤Æ¤¤¤¿¡¥ ! ÃæÀ¤¤Î¥¤¥®¥ê¥¹¤Ç¤Ï¡¤±ê¤Ï¥µ¥é¥Þ¥ó¥À¡¼¤Ë¤è¤Ã¤Æµ¯¤³¤µ¤ì¤ë¤È¹Í¤¨¤é ! ¤ì¤¿¡¥ÈàÅù¤¬¼¾¤Ã¤¿´ÝÂÀ¤Ë²Ð¤ò¤Ä¤±¤ë¤È¡¤²¿½½¤â¤Î¤Û¤Ã¤½¤ê¤·¤¿À¸Êª ! ¤¬¤Á¤ç¤³¤Á¤ç¤³½Ð¤Æ¤­¤¿¡¥¥µ¥é¥Þ¥ó¥À¡¼¤È¤¤¤¦Ã±¸ì¤Ï¼ÂºÝ¡Ö±ê¤Îưʪ¡× ! ¤È¤¤¤¦°ÕÌ£¤Î¥®¥ê¥·¥ã¸ì¤Îñ¸ì¤«¤é¤­¤Æ¤¤¤ë¡¥ [ Salamanders, by Cherie Winner ] + ¥µ¥¹¥«¥Ã¥Á sasquatch ! # An ape-like humanoid native to densely forested mountains, ! # the sasquatch is also known as "bigfoot". Normally benign ! # and rarely seen, this creature is reputed to be a relative ! # of the ferocious yeti. ! »³¤Î¿¼¤¤¿¹¤ËÀ³¤àÎà¿Í±î¤Î¥µ¥¹¥«¥Ã¥Á¤Ï¡Ö¥Ó¥Ã¥°¥Õ¥Ã¥È¡×¤È¤·¤Æ¤â ! ÃΤé¤ì¤Æ¤¤¤ë¡¥ÉáÃʤϤª¤È¤Ê¤·¤¯¡¤¤á¤Ã¤¿¤Ë¸«¤«¤±¤Ê¤¤¤¬¡¤¶§Ë½¤Ê ! ¥¤¥¨¥Æ¥£¤Î·ì±ï¤Ë¤¢¤¿¤ë¤È¤Î±½¤Ç¤¢¤ë¡¥ ! ¸¢ÎϤÎãô sceptre of might ! # This mace was created aeons ago in some unknown cave, ! # and has been passed down from generation to generation of ! # cave dwellers. It is a very mighty mace indeed, and in ! # addition will protect anyone who carries it from magic ! # missile attacks. When invoked, it causes conflict in the ! # area around it. ! ¤³¤ÎÛþËÀ¤ÏÂçÀΤË̾¤â¤Ê¤¤Æ¶·¢¤Çºî¤é¤ì¡¤Æ¶·¢¤Î½»¿Í¤Ë¤è¤ê²¿Âå¤â¤Î ! ´Ö¼õ¤±¤Ä¤¬¤ì¤Æ¤­¤¿¤â¤Î¤Ç¤¢¤ë¡¥¤³¤ì¤Ï¼Â¤Ë¶¯ÎϤÊÛþËÀ¤Ç¤¢¤ë¡¥¤µ¤é ! ¤Ë¸À¤¨¤Ð¡¤¤½¤ì¤ò»ý¤Ä¤â¤Î¤Ïï¤Ç¤âËâË¡¤ÎÌð¤Î¹¶·â¤«¤é¼é¤é¤ì¤ë¡¥ ! ǽÎϤò»È¤¦¤È¡¤²ó¤ê¤òÀúÆ°¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ ! ¥µ¥½¥ê scorpio* ! # A sub-species of the spider (_Scorpionidae_), the scorpion ! # distinguishes itself from them by having a lower body that ! # ends in a long, jointed tail tapering to a poisonous stinger. ! # They have eight legs and pincers. ! ÃØéá¤Î°¡¼ï(³Ø̾: Scorpionidae)¡¤¥µ¥½¥ê¤ÏÄ㤯Ť¤ÂΡ¤ÀèºÙ¤¤ÆǤΠ! ¤¢¤ë¥È¥²¤Î¤Ä¤¤¤¿¿¬Èø¤Ç¤ò»ý¤Ä¤³¤È¤Ç¸«¤ï¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥¥µ¥½¥ê ! ¤Ï¹ç·×8Ëܤέ¤È¤Ï¤µ¤ß¤ò»ý¤Ä¡¥ [ Van Dale's Groot Woordenboek der Nederlandse Taal ] + ¥»¥ì¥Í + selene + ¥»¥ì¥Í¡¥·î¤Î½÷¿À¤Ç¥Ò¥å¥Ú¥ê¥ª¥ó¤Î»Ò¡¥¥í¡¼¥Þ¿ÀÏäǤϥë¥Ê¤È¸Æ¤Ð¤ì + ¤ë¡¥ + ±Æ shad* ! # Shades are undead creatures. They differ from zombies in ! # that a zombie is an undead animation of a corpse, while a ! # shade is an undead creature magically created by the use ! # of black magic. ! ±Æ¤ÏÉÔ»à¤ÎÀ¸Êª¤Ç¤¢¤ë¡¥¥¾¥ó¥Ó¤¬ÉÔ»à¤ÎÆ°¤¯»àÂΤǤ¢¤ë¤Î¤ËÂФ· ! ±Æ¤Ï¹õËâË¡¤Ë¤è¤êºî¤é¤ì¤¿ËâˡŪ¤ËÉÔ»à¤ÎÀ¸¤­Êª¤Ç¤¢¤ë¤È¸À¤¦°ã¤¤ ! ¤¬¤¢¤ë¡¥ ! ¼ö½Ñ»Õ¥«¥ë¥Î¥Õ shaman karnov ! # Making his quarters in the Caves of the Ancestors, Shaman ! # Karnov unceasingly tries to shield his neanderthal people ! # from Tiamat's minions' harassments. ! Èà¤Î½»¤ß¤«¤Ç¤¢¤ëÂÀ¸Å¤Îƶ·¢¤òºî¤Ã¤¿¼ö½Ñ»Õ¥«¥ë¥Î¥Õ¤ÏÀ䤨´Ö¤Ê¤¯ ! ¥Æ¥£¥¢¥Þ¥Ã¥È¤Î»È¤¤¤Î¹¶·â¤«¤é¥Í¥¢¥ó¥Ç¥ë¥¿¡¼¥ë¿Í¤ò¼é¤í¤¦¤È¤·¤Æ ! ¤¤¤ë¡¥ ! »³ÍëÀº shan*lai*ching ! # The Chinese god of Mountains and Seas, also the name of an ! # old book (also Shan Hai Tjing), the book of mountains and ! # seas - which deals with the monster Kung Kung trying to ! # seize power from Yao, the fourth emperor. ! Ãæ¹ñ¤Î»³¤È³¤¤Î¿À¡¤¤Þ¤¿¸Å¤¤½ñ¤Î̾Á°(»³³¤·Ð¤È¤â)¡¥²øʪ¥¯¥ó¥¯¥ó¤ò ! »È¤ï¤·4Âå¹ÄÄ롤¶Æ¤«¤éÎϤòÃ¥¼è¤·¤è¤¦¤È¤·¤¿¡¥ [ Spectrum Atlas van de Mythologie ] + »ÉÅá shito ! # A Japanese stabbing knife. ! ÆüËܤΡ¤»É¤¹¤¿¤á¤Î¥Ê¥¤¥Õ¡¥ ! ¸¸¤Î¶ä¿å¾½ ! the silver crystal ! ¡Ý¡Ý¤¢¤Ê¤¿¤·¤«¤¤¤Ê¤¤¤Î¡ª ! ¡Ö¸¸¤Î¶ä¿å¾½¡×¤Î¿¿¤ÎÎϤò»È¤Ã¤Æ ! ¤¢¤ì¤òÉõ°õ¤Ç¤­¤ë¤Î¤Ï ! ¥×¥ê¥ó¥»¥¹¡ª¤¢¤Ê¤¿¤À¤±¤Ê¤Î¡ª ! .... ! ¥×¥ê¥ó¥»¥¹¡¦¥»¥ì¥Ë¥Æ¥£¡Ý¡Ý¤ª¤Ü¤¨¤Æ¤ª¤¤¤Æ ! ¡Ö¸¸¤Î¶ä¿å¾½¡×¤Ï¤¹¤Ù¤Æ¤¢¤Ê¤¿¤Î¿´¤·¤À¤¤¤Ê¤Î ! ¶¯¤¤¿®Ç°¤È¶¨Ä´ ¤½¤·¤Æ¿¼¤¤°¦¾ð ! ¤½¤ì¤¬¤Ê¤¤¤È¡Ý¡Ý°­Ëâ(¥µ¥¿¥ó)¤Ç¤¢¤ë¤¢¤ì¤ò¾Ã¤·µî¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤ ! ¥×¥ê¥ó¥»¥¹¤Ç¤¢¤ê ÀµµÁ¤ÎÀï»Î ! ¥»¡¼¥é¡¼¥à¡¼¥ó¤Ç¤¢¤ë¤³¤È¤Ë ! ¸Ø¤ê¤È¼«¿®¤ò ¤É¤¦¤« ¤â¤Ã¤Æ ! [ Èþ¾¯½÷Àï»Î¥»¡¼¥é¡¼¥à¡¼¥ó Âè3´¬¡¤ÉðÆâľ»Ò¡¤¹ÖÃÌ¼Ò ] ! ³¼¹ü skeleton ! # A skeleton is a magically animated undead creature. Unlike ! # shades, only a humanoid creature can be used to create a ! # skeleton. No one knows why this is true, but it has become ! # an accepted fact amongst the practitioners of the black arts. ! ³¼¹ü¤ÏËâË¡¤ÇÆ°¤¯ÉÔ»à¤ÎÀ¸Êª¤Ç¤¢¤ë¡¥±Æ¤È¤Ï°ã¤¤Ã±¤Ê¤ë¿Í´Ö·¿¤Î¹ü³Ê ! ¤«¤éºî¤é¤ì¤¿À¸¤­Êª¤Ç¤¢¤ë¡¥Ã¯¤â¤³¤ì¤¬¤Ê¤¼¿¿¼Â¤Ê¤Î¤«¤ÏÃΤé¤Ê¤¤¤¬ ! °Å¹õµ»½Ñ¤Î°å»Õã´Ö¤Ç¼õ¤±¤¤¤ì¤é¤ì¤¿»ö¼Â¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥ ! ¥¹¥é¥Ã¥·¥ã¡¼ slasher ! # "That dog belonged to a settler who tried to build his cabin ! # on the bank of the river a few miles south of the fort," ! # grunted Conan. ... "We took him to the fort and dressed his ! # wounds, but after he recovered he took to the woods and turned ! # wild. -- What now, Slasher, are you hunting the men who ! # killed your master?" ... "Let him come," muttered Conan. ! # "He can smell the devils before we can see them." ... ! # Slasher cleared the timbers with a bound and leaped into the ! # bushes. They were violently shaken and then the dog slunk ! # back to Balthus' side, his jaws crimson. ... "He was a man," ! # said Conan. "I drink to his shade, and to the shade of the ! # dog, who knew no fear." He quaffed part of the wine, then ! # emptied the rest upon the floor, with a curious heathen ! # gesture, and smashed the goblet. "The heads of ten Picts ! # shall pay for this, and seven heads for the dog, who was a ! # better warrior than many a man." ! # [ Conan The Warrior, by Robert E Howard ] ! ½ý¤À¤é¤± ! ¡Ö¤³¤Î¸¤¤Î»ô¼ç¤Ï³«Âó¼Ô¤Î°ì¿Í¤Ç¡¤ºÖ¤«¤é¿ô¥Þ¥¤¥ëÆî¤Î²Ï´ß¤Ë¾®²°¤ò ! ¤¤í¤¦¤È¤·¤Æ¤¤¤¿ÃˤÀ¡×¥³¥Ê¥ó¤¬°Å¤¤´é¤Ä¤­¤ÇÀâÌÀ¤·¤¿¡¥ ... ! ¡ÖºÖ¤ØÏ¢¤ì¤â¤É¤Ã¤Æ¡¤½ý¤Î¼êÅö¤ò¤·¤Æ¤ä¤Ã¤¿¤¬¡¤¸µµ¤¤ò¤È¤ê¤â¤É¤¹¤È¡¤ ! ¿¹¤Ø¤Ï¤¤¤Ã¤Æ¡¤Ì¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿----¤ª¤ª¡¤¤É¤¦¤·¤¿¡¤½ý¤À¤é¤±¡ª ! ¤¤¤Þ¤Ç¤â¤ª¤Þ¤¨¡¤¼ç¿Í¤ò»¦¤·¤¿¤ä¤Ä¤é¤òÁÀ¤Ã¤Æ¤¤¤ë¤Î¤«¡©¡× ... ! ¡Ö¤¤¤Ã¤·¤ç¤ËÏ¢¤ì¤Æ¤¤¤³¤¦¡×¥³¥Ê¥ó¤ÏÄ㤤À¼¤Ç¤¤¤Ã¤¿¡¥¡ÖÈڿͤɤ⤬ ! ¤Ò¤½¤ó¤Ç¤¤¤¿¤é¡¤¤³¤¤¤Ä¤¬Àè¤ËÓ̤®¤Ä¤±¤Æ¤¯¤ì¤ë¤Ï¤º¤À¡× ! ... ! ¸¤¤Ï¡¤´ÝÂÀ¤Î»³¤òÌö¤ê±Û¤¨¡¤ÌФߤΤʤ«¤ØÄ·¤Ó¤³¤ó¤Ç¤¤¤Ã¤¿¡¥¤½¤·¤Æ ! ¤½¤Î¤¢¤¿¤ê¤ò·ã¤·¤¯¤¶¤ï¤á¤«¤·¤¿¤¢¤È¡¤¸¤¤Ï¸ý¤«¤é·ì¤ò¤·¤¿¤¿¤é¤»¤Æ¡¤ ! ¥Ð¥ë¥È¥¥¥¹¤Î¤«¤¿¤ï¤é¤Ø¤â¤É¤Ã¤Æ¤­¤¿¡¥ ! ... ! ¡Ö¤¢¤Î¼ã¼Ô¤Ï¤ê¤Ã¤Ñ¤ÊÃˤÀ¤Ã¤¿¡×¥³¥Ê¥ó¤¬¤¤¤Ã¤¿¡¥¡Ö¤ª¤ì¤Ï¤³¤Î¼ò¤ò ! ¤¢¤Î¼ã¼Ô¤ÎÎî¤ËÊû¤²¤ë¡¥¤½¤·¤Æ¡¤Éݤì¤òÃΤé¤Ìͦ´º¤Ê¸¤¤Î¤¿¤á¤Ë¤â¡ª¡× ! ¤È¤¤¤¤¤Ê¤¬¤é¡¤¼òÇÕ¤ÎȾ¤Ð¤ò°ìµ¤¤Ë°û¤ß¡¤»Ä¤ê¤ò¾²¤Ë¤Ö¤Á¤Þ¤±¡¤¤½¤Î ! ¤¢¤È¼òÇÕ¤ò᤭³ä¤Ã¤¿¡¥°Û¶µ¤Î¤Ê¤é¤ï¤·¤Ë¤â¤È¤Å¤¯´ñ̯¤Ê°¥Åé¤Îɽ¸½ ! ¤À¤Ã¤¿¡¥¡ÖÈà¤Î¤¿¤á¤Ë¡¤¥Ô¥¯¥È¤Î¤ä¤Ä¤é¤Î¼ó¤ò½½¸Ä»Â¤ê¤È¤Ã¤Æ¤ä¤ë¡¥ ! ¸¤¤Î¤¿¤á¤Ë¤â¼·¤Ä¤Ï»Â¤Ã¤Æ¤ä¤í¤¦¡¥ÃÜÀ¸¤Ç¤Ï¤¢¤ë¤¬¡¤¤É¤ó¤Ê¿Í´Ö¤è¤ê ! ¤â¤ê¤Ã¤Ñ¤ÊÀï»Î¤À¤Ã¤¿¡× [ Conan The Warrior, by Robert E Howard ] + [ ¥³¥Ê¥ó¤È¸ÅÂ岦¹ñ¤ÎÈëÊõ, ±§ÌîÍøÂÙÌõ, Áϸµ¿äÍýʸ¸Ë ] + ÊÑ·Á¶Ý + ¤Í¤Ð¤Í¤Ð¥«¥Ó slime mold ! # Slime mold or slime fungus, organism usually classified with ! # the fungi, but showing equal affinity to the protozoa. Slime ! # molds have complex life cycles with an animal-like motile ! # phase, in which feeding and growth occur, and a plant-like ! # immotile reproductive phase. The motile phase, commonly ! # found under rotting logs and damp leaves, consists of either ! # solitary amoebalike cells or a brightly colored multinucleate ! # mass of protoplasm called a plasmodium, which creeps about ! # and feeds by amoeboid movement. ! ÊÑ·Á¶Ý¡¤ÊÑ·Á¥«¥Ó(¥²¡¼¥à¤Ç¤Ï¤Í¤Ð¤Í¤Ð¥«¥Ó)¡¥Ä̾ï¤Ï¶ÝÎà¤ËʬÎव¤ì ! ¤ëÍ­µ¡ÂΤÀ¤¬¡¤¸¶À¸Æ°Êª¤È¤ÎÎà»÷ÅÀ¤â¤¢¤ë¡¥¤Í¤Ð¤Í¤Ð¥«¥Ó¤Ïưʪ¤Î¤è ! ¤¦¤Ë¿©Êª¤òÀݼ褷À®Ä¹¤·¤Ê¤¬¤é¼«Î§±¿Æ°¤ò¤â¤Ä»þ´ü¤È¡¤¿¢Êª¤Î¤è¤¦¤Ë ! ÉÔÆ°¤ÇÀ¸¿£¤¹¤ë»þ´ü¤ÎÊ£»¨¤Ê¥é¥¤¥Õ¥µ¥¤¥¯¥ë¤ò»ý¤Ä¡¥¼«Î§±¿Æ°¤Î»þ´ü ! ¤Ë¤Ï°ìÈ̤ËÉå¤Ã¤¿´ÝÂÀ¤Î²¼¤ä¼¾¤á¤Ã¤¿Íդβ¼¤Ç¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ ! ¤½¤ì¤Ï¡¤ÉáÄÌ¡¤Ã±°ì¤Î¥¢¥á¡¼¥Ð¤Î¤è¤¦¤ÊºÙ˦¤Ç¤¢¤Ã¤¿¤ê¡¤¥¢¥á¡¼¥Ð¤Î ! ¤è¤¦¤Ë¤Ï¤Ó¤³¤ê±¿Æ°¤¹¤ëÌÀ¤¯¿§¤É¤é¤ì¤¿ÊÑ·ÁÂΤȸƤФì¤ë¸¶·Á¼Á¤Î¿ ! ³Ë½¸ÃĤǤ¢¤ë¡¥ [ The Concise Columbia Encyclopedia ] + *¼Ø + *¥Ø¥Ó + ¥³¥Ö¥é *snake serpent water moccasin python pit viper cobra ! # Now the serpent was more subtle than any beast of the field which the Lord God ! # had made. And he said unto the woman, Yea, hath God said, Ye shall not eat of ! # every tree of the garden? And the woman said unto the serpent, We may eat of ! # the fruit of the trees of the garden: but of the fruit of the tree which is ! # in the midst of the garden, God hath said, Ye shall not eat of it, neither ! # shall ye touch it, lest ye die. And the serpent said unto the woman, Ye shall ! # not surely die: for God doth know that in the day ye eat thereof, then your ! # eyes shall be opened, and ye shall be as gods, knowing good and evil. And ! # when the woman saw that the tree was good for food, and that it was pleasant ! # to the eyes, and a tree to be desired to make one wise, she took of the fruit ! # thereof, and did eat, and gave also unto her husband with her; and he did eat. ! # ! # And the Lord God said unto the woman, What is this that thou hast done? And ! # the woman said, The serpent beguiled me, and I did eat. And the Lord God said ! # unto the serpent, Because thou hast done this, thou art cursed above all cat- ! # tle, and above every beast of the field; upon thy belly shalt thou go, and ! # dust shalt thou eat all the days of thy life: And I will put enmity between ! # thee and the woman, and between thy seed and her seed; it shall bruise thy ! # head, and thou shalt bruise his heel. ! ¤µ¤Æ¡¤¼ç¤Ê¤ë¿À¤¬Â¤¤é¤ì¤¿Ìî¤ÎÀ¸¤­Êª¤Î¤¦¤Á¤Ç¡¤¤Ø¤Ó¤¬ºÇ¤âàÄàѤǤ¢ ! ¤Ã¤¿¡¥¤Ø¤Ó¤Ï½÷¤Ë¸À¤Ã¤¿¡¤¡Ö±à¤Î¤¦¤Á¤Ë¤¢¤ë¤É¤ÎÌÚ¤«¤é¤â¼è¤Ã¤Æ¿©¤Ù ! ¤ë¤Ê¤È¡¤¤Û¤ó¤È¤¦¤Ë¿À¤¬¸À¤ï¤ì¤¿¤Î¤Ç¤¹¤«¡×¡¥½÷¤Ï¤Ø¤Ó¤Ë¸À¤Ã¤¿¡¥¡Ö ! ¤ï¤¿¤·¤¿¤Á¤Ï±à¤ÎÌڤμ¤ò¿©¤Ù¤ë¤³¤È¤Ïµö¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¤¤¿¤À±à¤Î ! Ãæ±û¤Ë¤¢¤ëÌڤμ¤ˤĤ¤¤Æ¤Ï¡¤¤³¤ì¤ò¼è¤Ã¤Æ¿©¤Ù¤ë¤Ê¡¤¤³¤ì¤Ë¿¨¤ì¤ë ! ¤Ê¡¤»à¤ó¤Ç¤Ï¤¤¤±¤Ê¤¤¤«¤é¤È¡¤¿À¤Ï¸À¤ï¤ì¤Þ¤·¤¿¡×¡¥¤Ø¤Ó¤Ï½÷¤Ë¸À¤Ã ! ¤¿¡¥¡Ö¤¢¤Ê¤¿¤¬¤¿¤Ï·è¤·¤Æ»à¤Ì¤³¤È¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡¥¤½¤ì¤ò¿©¤Ù¤ë¤È¡¤ ! ¤¢¤Ê¤¿¤¬¤¿¤ÎÌܤ¬³«¤±¡¤¿À¤Î¤è¤¦¤ËÁ±°­¤òÃΤë¼Ô¤È¤Ê¤ë¤³¤È¤ò¡¤¿À¤Ï ! ÃΤäƤª¤é¤ì¤ë¤Î¤Ç¤¹¡×¡¥½÷¤¬¤½¤ÎÌÚ¤ò¸«¤ë¤È¡¤¤½¤ì¤Ï¿©¤Ù¤ë¤ËÎɤ¯¡¤ ! ÌܤˤÏÈþ¤·¤¯¡¤¸­¤¯¤Ê¤ë¤Ë¤Ï¹¥¤Þ¤·¤¤¤È»×¤ï¤ì¤¿¤«¤é¡¤¤½¤Î¼Â¤ò¼è¤Ã ! ¤Æ¿©¤Ù¡¤¤Þ¤¿¶¦¤Ë¤¤¤¿ÉפˤâÍ¿¤¨¤¿¤Î¤Ç¡¤Èà¤â¿©¤Ù¤¿¡¥ ! .... ! ¤½¤³¤Ç¼ç¤Ê¤ë¿À¤Ï½÷¤Ë¸À¤ï¤ì¤¿¡¥¡Ö¤¢¤Ê¤¿¤Ï¡¥¤Ê¤ó¤È¤¤¤¦¤³¤È¤ò¤·¤¿ ! ¤Î¤Ç¤¹¡×¡¥½÷¤ÏÅú¤¨¤¿¡¤¡Ö¤Ø¤Ó¤¬¤ï¤¿¤·¤ò¤À¤Þ¤·¤¿¤Î¤Ç¤¹¡¥¤½¤ì¤Ç¤ï ! ¤¿¤·¤Ï¿©¤Ù¤Þ¤·¤¿¡×¡¥¼ç¤Ê¤ë¿À¤Ï¤Ø¤Ó¤Ë¸À¤ï¤ì¤¿¡¥ ! ¡Ö¤ª¤Þ¤¨¤Ï¡¤¤³¤Î»ö¤ò¡¤¤·¤¿¤Î¤Ç¡¤ ! ¤¹¤Ù¤Æ¤Î²ÈÃÜ¡¤Ìî¤Î¤¹¤Ù¤Æ¤Î½Ã¤Î¤¦¤Á¡¤ ! ºÇ¤â¤Î¤í¤ï¤ì¤ë¡¥ ! ¤ª¤Þ¤¨¤ÏÊ¢¤Ç¡¤Ç礤¤¢¤ë¤­¡¤ ! °ìÀ¸¡¤¤Á¤ê¤ò¿©¤Ù¤ë¤Ç¤¢¤í¤¦¡¥ ! ¤ï¤¿¤·¤Ïº¨¤ß¤ò¤ª¤¯¡¤ ! ¤ª¤Þ¤¨¤È½÷¤Î¤¢¤¤¤À¤Ë¡¤ ! ¤ª¤Þ¤¨¤Î¤¹¤¨¤È½÷¤Î¤¹¤¨¤È¤Î´Ö¤Ë¡¥ ! Èà¤Ï¤ª¤Þ¤¨¤Î¤«¤·¤é¤òºÕ¤­¡¤ ! ¤ª¤Þ¤¨¤ÏÈà¤Î¤«¤«¤È¤òºÕ¤¯¤Ç¤¢¤í¤¦¡×¡¥ ! # [ Genesis 3:1-6,13-15 ] ! [ ÁÏÀ¤µ­ 3:1-6,13-15¡¤ ¸ý¸ìÌõÀ»½ñ¡¤ÆüËÜÀ»½ñ¶¨²ñ ] ! ¥¹¥Ë¥Ã¥«¡¼¥º¥Ë¡¼ snickersnee ! # Ah, never shall I forget the cry, ! # or the shriek that shrieked he, ! # As I gnashed my teeth, and from my sheath ! # I drew my Snickersnee! ! # --Koko, Lord high executioner of Titipu ! # [ The Mikado, by Sir W.S. Gilbert ] ! ¤¢¤¢¡¤Ëº¤ì¤Þ¤¤¤¾¡¤ ! ¤½¤¬¶«¤Ó¤·¶«¤Ó¤ò¡¤ ! ²æ¤Ï»õ¤ò¤­¤·¤é¤»¤ë¤ä¡¤ ! ¤¹¤é¤ê¤ÈÈ´¤±¤ê¡¤¤ï¤¬ÂÀÅá¤ò¡ª ! -- ÃáÉã¤Î¼é¡¤¸Ñ¡¹ ! [ ¥ß¥«¥É, Sir W.S. Gilbert ] ! ʼ»Î ! ²¼»Î´± ! Éû´± ! »Ø´ø´± *soldier sergeant lieutenant captain ! # The soldiers of Yendor are well-trained in the art of war, ! # many trained by the Wizard himself. Some say the soldiers ! # are explorers who were unfortunate enough to be captured, ! # and put under the Wizard's spell. Those who have survived ! # encounters with soldiers say they travel together in platoons, ! # and are fierce fighters. Because of the load of their combat ! # gear, however, one can usually run away from them, and doing ! # so is considered a wise thing. ! ¥¤¥§¥ó¥À¡¼¤Îʼ»Îã¤ÏÀ襤¤Îµ»¤Ë¤Ä¤¤¤Æ¤è¤¯·±Îý¤µ¤ì¤Æ¤ª¤ê¡¤¤½¤Î¤¦ ! ¤Á¤Î¿¤¯¤ÏËâË¡»È¤¤Ä¾¡¹¤Ë·±Îý¤µ¤ì¤Æ¤¤¤ë¡¥¤¢¤ë¼Ô¤¬¸À¤¦¤Ë¤Ï¡¤Ê¼»Î ! ¤ÏÉÔ¹¬¤Ë¤·¤ÆÊá¤é¤¨¤é¤ì¡¤ËâË¡»È¤¤¤Î¼öʸ¤Ë¤è¤êÇÛ²¼¤Ë¤ª¤«¤ì¤Æ¤¤¤ë ! ËÁ¸±¼Ô¤Ç¤¢¤ë¤½¤¦¤À¡¥Ê¼»Î¤é¤Ë²ñ¤Ã¤ÆÀ¸¤­±ä¤Ó¤¿¤â¤Î¤¬¸À¤¦¤Ë¤Ï¡¤Èà ! ¤é¤Ï¾®Ââ¤ËËè¤Ë¹ÔÆ°¤¹¤ëµ¤À­¤Î¹Ó¤¤Àï»Î¤Ç¤¢¤ë¡¥¤·¤«¤·¤Ê¤¬¤é¡¤Èà¤é ! ¤ÎÀïÆ®ÍѤÎÁõ¶ñ¤Î½Å¤µ¤Î¤¿¤á¡¤ÉáÄ̤ÏÈà¤é¤«¤éƨ¤²Àڤ뤳¤È¤¬¤Ç¤­¡¤ ! ¤½¤¦¤¹¤ë¤³¤È¤Ï¸­¤¤¤³¤È¤À¤È¹Í¤¨¤é¤ì¤Æ¤¤¤ë¡¥ ! ¥½¥í¥Î¡¼*¥µ¥é¥ó¥Ç¥£¥¢ solonor thelandira ! # The elven god of hunting and wilderness skills. His ! # followers honor him by excelling at archery. ! ¥¨¥ë¥Õ¤Î¼íÎĤȵ»½Ñ¤Î¿À¡¥Èà¤Î½¾¼Ô¤ÏÈà¤ò¥¢¡¼¥Á¥§¥ê¡¼¤ÎĹ¤Èº·É ! ¤·¤Æ¤¤¤ë¡¥ ! *ÃØéá *spider ! # Eight legged creature capable of spinning webs to trap pray. ! ´ê¤ï¤¯¤Ð¤Ò¤Ã¤«¤«¤Ã¤Æ¤¯¤ì¤ëÌÖ¤òÄ¥¤ë¤³¤È¤¬¤Ç¤­¤ë8ËÜ­¤ÎÀ¸Êª¡¥ ! ¥¢¥¨¥¹¥­¥å¥é¥Ô¥¹¤Î¾ó staff of aesculapius ! # This staff is considered sacred to all healers, as it truly ! # holds the powers of life and death. When wielded, it ! # protects its user from all life draining attacks, and ! # additionally gives the wielder the power of regeneration. ! # When invoked it performs healing magic. ! ¤³¤Î¾ó¤ÏÁ´¤Æ¤ÎÌô»Õ¤Ë¿ÀÀ»¤Ê¤â¤Î¤È¹Í¤¨¤é¤ì¤Æ¤¤¤ë¡¥¤Ê¤¼¤Ê¤é¡¤À¸¤È ! »à¤ò¤Ä¤«¤µ¤É¤ëÎϤò»ý¤Ã¤Æ¤¤¤ë¤«¤é¤Ç¤¢¤ë¡¥¼ê¤Ë¤¹¤ë¤È¡¤¤½¤ì¤Ï¥¨¥Ê ! ¥¸¡¼¥É¥ì¥¤¥ó¤«¤é»ý¤Á¼ç¤ò¼é¤ê¡¤¤µ¤é¤Ë»ý¤Á¼ç¤Ë²óÉüÎϤòÍ¿¤¨¤ë¡¥Ç½ÎÏ ! ¤ò»È¤¦¤ÈËâÎϤ¬²óÉü¤¹¤ë¡¥ ! *Áü statue* ! # Then it appeared in Paris at just about the time that Paris ! # was full of Carlists who had to get out of Spain. One of ! # them must have brought it with him, but, whoever he was, it's ! # likely he knew nothing about its real value. It had been -- ! # no doubt as a precaution during the Carlist trouble in Spain ! # -- painted or enameled over to look like nothing more than a ! # fairly interesting black statuette. And in that disguise, ! # sir, it was, you might say, kicked around Paris for seventy ! # years by private owners and dealers too stupid to see what ! # it was under the skin. ! ¥¹¥Ú¥¤¥ó¤òÄɤï¤ì¤¿¥«¥ë¥í¥¹¼çµÁ¼Ô¤¿¤Á¤¬¤¢¤Õ¤ì¤Æ¤¤¤¿¥Ñ¥ê¤Ë¡¤Ä» ! ¤Ï¤ä¤¬¤Æ»Ñ¤ò¸«¤»¤Þ¤·¤¿¡¥¤½¤ÎÏ¢Ãæ¤Î°ì¿Í¤¬¡¤²¿Êª¤È¤Ï¤ï¤«¤ê¤Þ¤» ! ¤ó¤¬¡¤Ä»¤ò»ý¤Á¤À¤·¤¿¤Î¤Ç¤·¤ç¤¦¡¥¤·¤«¤·¤½¤Î¿Íʪ¤Ï¡¤Ä»¤Î¿¿²Á¤ò ! Ϫ¤Û¤É¤âÃΤé¤Ê¤«¤Ã¤¿¤Î¤À¤È»×¤¤¤Þ¤¹¡¥¥¹¥Ú¥¤¥ó¤Î²¦°Ì·Ñ¾µ¤ò¤á¤° ! ¤ëÆâÀïÃ桤¤³¤ÎÄ»¤Ï¤Á¤ç¤Ã¤ÈÄÁ¤·¤¤Ä¦ÁüÄøÅ٤ˤ·¤«¸«¤¨¤Ê¤¤¤è¤¦¤Ë¡¤ ! ÌÀ¤é¤«¤ËÃ¥¤ï¤ì¤ÌÍÑ¿´¤Î¤¿¤á¥Ú¥ó¥­¤«¥¨¥Ê¥á¥ë¤òÅɤé¤ì¤Æ¤¤¤¿¤Î¤Ç ! ¤¹¡¥¤½¤·¤Æµ¶Áõ¤Î¤Þ¤Þ¡¤¸«¤»¤«¤±¤Î»Ñ¤Ë±£¤µ¤ì¤¿¿¿²Á¤Ëµ¤¤Å¤¯¤è¤¹ ! ¤¬¤â¤Ê¤¤¶ò¤«¤Ê½êÍ­¼Ô¤ä¸Åʪ¾¦¤Î¼ê¤«¤é¼ê¤Ë¡¤¼·½½Ç¯Í¾¤Ë¤ï¤¿¤Ã¤Æ ! ¥Ñ¥ê¶áÊÕ¤òž¡¹¤È¤·¤¿¤ï¤±¤Ç¤¹¡¥ [ The Maltese Falcon, by Dashiell Hammett ] + [ ¥Þ¥ë¥¿¤ÎÂ롤¾®Âë¿®¸÷Ìõ¡¤¥Ï¥ä¥«¥ïʸ¸Ë ] + ¥¹¥Æ¥£¥ó¥° + ¤Ä¤é¤Ì¤­´Ý sting ! # There was the usual dim grey light of the forest-day about ! # him when he came to his senses. The spider lay dead beside ! # him, and his sword-blade was stained black. Somehow the ! # killing of the giant spider, all alone and by himself in the ! # dark without the help of the wizard or the dwarves or of ! # anyone else, made a great difference to Mr. Baggins. He felt ! # a different person, and much fiercer and bolder in spite of ! # an empty stomach, as he wiped his sword on the grass and put ! # it back into its sheath. ! # "I will give you a name," he said to it, "and I shall call ! # you Sting." ! ¤¤¤Ä¤â¤Î¤è¤¦¤Ë¡¤¿¹¤Î°ìÆü¤Î¤¦¤¹°Å¤¤¤¢¤±Êý¤Î¸÷¤¬¤¢¤¿¤ê¤ò¤Ü¤ª¤Ã ! ¤È¤½¤á¤ë¤³¤í¡¤¥Ó¥ë¥Ü¤Ï¤è¤¦¤ä¤¯Àµµ¤¤Å¤­¤Þ¤·¤¿¡¥¥¯¥â¤Ï¡¤¥Ó¥ë¥Ü ! ¤Î¤¹¤°¤½¤Ð¤Ë¤¿¤ª¤ì¤Æ»à¤ó¤Ç¤¤¤Æ¡¤·õ¤Î¤Ì¤­¤ß¿¿¤Ã¹õ¤Ê·ì¤¬¤³¤Ó¤ê ! ¤Ä¤¤¤Æ¤¤¤Þ¤·¤¿¡¥¤È¤â¤«¤¯¡¤¤È¤Û¤¦¤â¤Ê¤¤Â祰¥â¤ò»¦¤·¤¿¤Î¤Ç¤¹¡ª ! ¤½¤ì¤â¤ä¤ß¤Î¤Ê¤«¤Ç¡¤¤¿¤Ã¤¿¤Ò¤È¤ê¤Ç¡¤¤Ç¤¹¡ªËâË¡»È¤¤¤ÎÎϤò¤«¤ê ! ¤¿¤Î¤Ç¤â¤Ê¤±¤ì¤Ð¡¤¥É¥ï¡¼¥Õ¤¿¤Á¤Î¤«¤»¤¤¤Ç¤â¤¢¤ê¤Þ¤»¤ó¡¥¤³¤ì¤¬¡¤ ! ¤ï¤¬¥Ð¥®¥ó¥º·¯¤ò¤¿¤é¤ê¤ÈÊѤ¨¤ë¤ß¤Ê¤â¤È¤Ë¤Ê¤ê¤Þ¤·¤¿¡¥¥Ó¥ë¥Ü¤Ï ! ¤¤¤Þ¡¤¤Á¤¬¤Ã¤¿¤Ò¤È¤Ë¤Ê¤ê¤«¤ï¤Ã¤¿µ¤¤¬¤·¤Þ¤·¤¿¡¥°ß¤Ö¤¯¤í¤À¤±¤Ï ! ¤«¤é¤Ã¤Ý¤Ç¤¹¤Î¤Ë¡¤Í¦µ¤¤ê¤ó¤ê¤ó¡¤¤ß¤Ê¤®¤ëÇ®µ¤¤ò´¶¤¸¤Ê¤¬¤é¡¤·õ ! ¤òÁðÍդǤ̤°¤Ã¤Æ¡¤¤µ¤ä¤Ë¤ª¤µ¤á¤Þ¤·¤¿¡¥ ! ¡Ö¤ª¤Þ¤¨¤Ë̾¤Þ¤¨¤ò¤Ä¤±¤Æ¤ä¤í¤¦¡ª¤è¤·¡¤¤Ä¤é¤Ì¤­´Ý¤È¤è¤Ü¤¦¡× ! ¤È¥Ó¥ë¥Ü¤Ï·õ¤Ë¤¤¤¤¤Þ¤·¤¿¡¥ [ The Hobbit, by J.R.R. Tolkien ] + [¥Û¥Ó¥Ã¥È¤ÎËÁ¸±¡¤´äÇȾ¯Ç¯Ê¸¸Ë¡¤À¥ÅÄÄçÆóÌõ] + ¿Üº´Ç·ÃË susano*o ! # The Shinto chthonic and weather god and brother of the sun ! # goddess Amaterasu, he was born from the nose of the ! # primordial creator god Izanagi and represents the physical, ! # material world. He has been expelled from heaven and taken ! # up residence on earth. ! ¿ÀÆ»¤Îº®ÆÙ¤ÈÅ·µ¤¤Î¿À¡¤ÂÀÍÛ¿ÀÅ·¾ÈÂç¿À¤ÎÄºÇ½é¤Î¿À¡¤°Ë¼ÙÆá´ôÌ¿ ! ¤Î¡¤É¡¤«¤éÀ¸¤Þ¤ì¡¤ÊªÍýŪ¡¤Êª¼ÁŪ¤ÊÀ¤³¦¤Î¾Ýħ¡¥Å·¤«¤éÄÉÊü¤µ¤ì¡¤ ! ÃϾå¤Ëµï¤ò¹½¤¨¤ë¡¥ [ Encyclopedia of Gods, by Michael Jordan ] + û¹Ã tanko ! # Samurai plate armor of the Yamato period (AD 300 - 710). ! ÂçÏ»þÂå(À¾Îñ300ǯ¤«¤é710ǯ)¤Î»ø¤Î¹ÝÅ´¤Î³»¡¥ ! Å·¶é tengu ! # The tengu was the most troublesome creature of Japanese ! # legend. Part bird and part man, with red beak for a nose ! # and flashing eyes, the tengu was notorious for stirring up ! # feuds and prolonging enmity between families. Indeed, the ! # belligerent tengus were supposed to have been man's first ! # instructors in the use of arms. ! Å·¶é¤ÏÆüËܤοÀÏäǺǤâ¤ä¤Ã¤«¤¤¤ÊÀ¸¤­Êª¤Ç¤¢¤ë¡¥È¾Ä»È¾¿Í¡¤¹È¤¤ ! Àí¤Ã¤¿É¡¤È¤é¤ó¤é¤ó¤È¸÷¤ëÌܤò»ý¤Ä¡¥Å·¶é¤Ï²ÈƱ»Î¤ÎÉÔϤòÀú¤ê¤¿ ! ¤Æ¡¤Ä¹¤Ó¤«¤»¤ë¤³¤È¤Ç°­Ì¾¹â¤«¤Ã¤¿¡¥¼Â¤Ï¡¤¹¥ÀïŪ¤ÊÅ·¶é¤¬¿Í´Ö¤Ë ! ½é¤á¤ÆÉð´ï¤Î»È¤¤Êý¤ò¶µ¤¨¤¿¤È¤â±¾¤ï¤ì¤ë¡¥ [Mythical Beasts by Deirdre Headon (The Leprechaun Library)] + ¥È¡¼¥È thoth ! # The Egyptian god of the moon and wisdom, Thoth is the patron ! # deity of scribes and of knowledge, including scientific, ! # medical and mathematical writing, and is said to have given ! # mankind the art of hieroglyphic writing. He is important as ! # a mediator and counsellor amongst the gods and is the scribe ! # of the Heliopolis Ennead pantheon. According to mythology, ! # he was born from the head of the god Seth. He may be ! # depicted in human form with the head of an ibis, wholly as an ! # ibis, or as a seated baboon sometimes with its torso covered ! # in feathers. His attributes include a crown which consists ! # of a crescent moon surmounted by a moon disc. ! # Thoth is generally regarded as a benign deity. He is also ! # scrupulously fair and is responsible not only for entering ! # in the record the souls who pass to afterlife, but of ! # adjudicating in the Hall of the Two Truths. The Pyramid ! # Texts reveal a violent side of his nature by which he ! # decapitates the adversaries of truth and wrenches out their ! # hearts. ! ¥¨¥¸¥×¥È¤Î·î¤ÈÃҷäοÀ¡¥¥È¡¼¥È¤ÏˡΧ¤ª¤è¤Ó²Ê³Ø¡¤°å³Ø¡¤´ö²¿³Ø¤ò ! ´Þ¤àÃμ±¤Î¾Ýħ¤Ç¤¢¤ê¡¤¾Ý·Áʸ»ú¤Î½ñ¤­Êý¤ò¿Í´Ö¤Ë¶µ¤¨¤¿¤È¸À¤ï¤ì¤Æ ! ¤¤¤ë¡¥Èà¤Ï¿À¡¹¤ÎÄ´Ää¼Ô¤äÁêÃÌÌò¤È¤·¤Æ½ÅÍפǤ¢¤ê¡¤¥Ø¥ê¥ª¥Ý¥ê¥¹ ! ¥¨¥Í¡¼¥É(ÂÀÍÛÅÔ»Ô¥¨¥Í¡¼¥É¡©)¿ÀŤνñµ­¤Ç¤¢¤ë¡¥¿ÀÏäˤè¤ì¤Ð¡¤Èà ! ¤Ï¥»¥È¿À¤ÎƬ¤«¤éÀ¸¤Þ¤ì¤¿¡¥Èà¤Ï¥È¥­¤ÎƬ¤ò»ý¤Ã¤¿¿Í´Ö¤È¤·¤ÆÉÁ¤«¤ì ! ¤¿¤ê¡¤´°Á´¤Ê¥È¥­¤È¤·¤ÆÉÁ¤«¤ì¤¿¤ê¡¤¤È¤­¤Ë¤Ïƹ¤Ë±©¤òʤ¤Ã¤¿ºÂ¤Ã¤¿ ! ¥Ò¥Ò¤È¤·¤ÆÉÁ¤«¤ì¤Æ¤¤¤ë¡¥Èà¤Ï·î¤Î±ßÈĤξå¤ËºÜ¤Ã¤¿»°Æü·î¤«¤é¤Ê¤ë ! ²¦´§¤ò»ý¤Ã¤Æ¤¤¤ë¡¥ ! ¥È¡¼¥È¤Ï°ìÈ̤˲¹Ï¤ξÝħ¤È¤µ¤ì¤Æ¤ª¤¤¤ë¡¥Èà¤Ï¤Þ¤¿¼Âľ¤Ë¸øÊ¿¤Ê ! ÍèÀ¤¤Ø¸þ¤«¤¦º²¤Îµ­Ï¿¤òµ­ºÜ¤¹¤ëÀÕǤ¼Ô¤Ç¤¢¤ë¤À¤±¤Ç¤Ê¤¯£²¤Ä¤Î¿¿Íý ! ¤Î´Û(¡©)¤Î¿³È½¤Ç¤â¤¢¤ë¡¥¥Ô¥é¥ß¥Ã¥É¤Îʸ½ñ¤Ï¥È¡¼¥È¤ËÈ¿ÂФ¹¤ëʪ¤Î ! ¼ó¤òÀڤꡤ¿´Â¡¤ò¤â¤®¤È¤ë¤È¸À¤¦Èà¤ÎÌîÈڤʦÌ̤ò˽Ϫ¤·¤Æ¤¤¤ë¡¥ [ Encyclopedia of Gods, by Michael Jordan ] + ¥È¡¼¥È*¥¢¥â¥ó thoth*amon ! # Men say that he [Thutothmes] has opposed Thoth-Amon, who is ! # master of all priests of Set, and dwells in Luxor, and that ! # Thutothmes seeks hidden power [The Heart of Ahriman] to ! # overthrow the Great One. ! ¤Þ¤¿¿Í¤Î±½¤Ë¤è¤ê¤Þ¤¹¤È¡¤¥ë¥¯¥µ¥Ê¤Ë½»¤Þ¤¤¤¤¤¿¤¹¥È¡¼¥È¡¦¥¢¥â¥ó ! ¤È¤¤¤¦¥»¥È¤ÎÂç»Ê¶µ¤ËÈ¿¹³¤·¤¿¥Ä¥È¡¼¥È¥á¥¹¤¬¡¤¤½¤ÎÂç»Ê¶µ¤òžʤ ! ¤µ¤»¤ë¤¿¤á¤È¤Æ¶ØÃǤÎËâÎϤòµá¤á¤Ë¤Þ¤¤¤Ã¤¿¤è¤·¤Ç¤´¤¶¤¤¤Þ¤¹¤¬¡¤ ! .... [ Conan the Conqueror, by Robert E. Howard ] + [ À¬Éþ²¦¥³¥Ê¥ó¡¤ÃÄÀ¬ÆóÌõ¡¤¥Ï¥ä¥«¥ïʸ¸Ë ] + ¸× tiger ! # 1. A well-known tropical predator (_Felis tigris_): a ! # feline. It has a yellowish skin with darker spots or ! # stripes. 2. Figurative: _a paper tiger_, something that is ! # meant to scare, but has no really scaring effect whatsoever, ! # (after a statement by Mao Ze Dong, August 1946). ! 1. ¤è¤¯ÃΤé¤ì¤¿Ç®ÂӤΥͥ³²Ê¤ÎÆù¿©Æ°Êª(³Ø̾: Felis tigris )¡¥ ! ¹õ¤¤È¿Å¾¤ä¼Ê¤Î¤¢¤ë²«¿§¤¬¤«¤Ã¤¿Èé¤ò»ý¤Ä¡¥2.ÈæÓÈÍÑË¡: »æ¤Ë ! ½ñ¤¤¤¿¸×¡¤¶²Éݤò°ÕÌ£¤¹¤ë²¿¤«¤Î¤è¤¦¤Ç¡¤¼ÂºÝ¤Ë¤Ï²¿¤Î¸ú²Ì¤â¤Ê¤¤¡¥ ! (1946ǯ¤Î Mao Ze Dong¤ÎÀ¼ÌÀ¤Ë¤è¤ë) [ Van Dale's Groot Woordenboek der Nederlandse Taal ] + ¥¿¥¤¥¿¥ó titan ! # Gaea, mother earth, arose from the Chaos and gave birth to ! # Uranus, heaven, who became her consort. Uranus hated all ! # their children, because he feared they might challenge his ! # own authority. Those children, the Titans, the Gigantes, ! # and the Cyclops, were banished to the nether world. Their ! # enraged mother eventually released the youngest titan, ! # Chronos (time), and encouraged him to castrate his father and ! # rule in his place. Later, he too was challenged by his own ! # son, Zeus, and he and his fellow titans were ousted from ! # Mount Olympus. ! Êì¤Ê¤ëÂçÃÏ¥¬¥¤¥¢¤Ï¥«¥ª¥¹¤«¤éȯÀ¸¤·¡¤Å·¤Ç¤¢¤ëÇÛ¶ö¼Ô¤Î¥¦¥é¥Ì¥¹ ! ¤ò»º¤ó¤À¡¥¥¦¥é¥Ì¥¹¤ÏÈà¤é¤ÎÁ´¤Æ¤Î»Ò¶¡¤òÁþ¤ó¤À¡¥¤Ê¤¼¤Ê¤éÈà¤é¤¬ ! È༫¿È¤Î¸¢°Ò¤Î¶¼°Ò¤Ë¤Ê¤ë¤³¤È¤ò¶²¤ì¤¿¤«¤é¤Ç¤¢¤ë¡¥¤³¤ì¤é¤Î»Ò¶¡¡¤ ! ¥¿¥¤¥¿¥ó¡¤¥®¥¬¥ó¥Æ¥¹¡¤¥µ¥¤¥¯¥í¥×¥¹¤Ï̽³¦¤ËÄÉÊü¤µ¤ì¤¿¡¥Èà¤é¤Î ! Ωʢ¤·¤¿Êì¿Æ¤Ï¤ä¤¬¤Æ¤Ï¤â¤Ã¤È¤â¼ã¤¤¥¿¥¤¥¿¥ó¡¤¥¯¥í¥Î¥¹(¥¿¥¤¥à) ! ¤ò¤Ï¤Ê¤Á¡¤Éã¿Æ¤òµîÀª¤·¤½¤ÎÃϤò»ÙÇÛ¤¹¤ë¤è¤¦Èà¤ò¤·¤à¤±¤¿¡¥¸å¤Ë¡¤ ! Èà¤Ï¤½¤Î©»Ò¤Î¥¼¥¦¥¹¤ÎÄ©Àï¤ò¼õ¤±¡¤Èप¤è¤ÓÈà¤ÎÃç´Ö¤Î¥¿¥¤¥¿¥ó ! ¤Ï¥ª¥ê¥ó¥Ý¥¹¤Î»³¡¹¤«¤éÄÉÊü¤µ¤ì¤¿¡¥ [ Greek Mythology, by Richard Patrick ] + ι¹Ô¼Ô + ´Ñ¸÷µÒ tourist ! # The road from Ankh-Morpork to Chrim is high, white and ! # winding, a thirty-league stretch of potholes and half-buried ! # rocks that spirals around mountains and dips into cool green ! # valleys of citrus trees, crosses liana-webbed gorges on ! # creaking rope bridges and is generally more picturesque than ! # useful. ! # Picturesque. That was a new word to Rincewind the wizard ! # (BMgc, Unseen University [failed]). It was one of a number ! # he had picked up since leaving the charred ruins of ! # Ankh-Morpork. Quaint was another one. Picturesque meant -- ! # he decided after careful observation of the scenery that ! # inspired Twoflower to use the word -- that the landscape was ! # horribly precipitous. Quaint, when used to describe the ! # occasional village through which they passed, meant fever- ! # ridden and tumbledown. ! # Twoflower was a tourist, the first ever seen on the discworld. ! # Tourist, Rincewind had decided, meant "idiot". ! ¥¢¥ó¥¯=¥â¥ë¥Ý¡¼¥¯¤«¤é¥Á¥ë¥à¤Ø»ê¤ëÆ»¤Ï¡¤¹â»³¤ò¤¦¤Í¤¦¤Í¤ÈÇò¤¯È´ ! ¤±¤ëÉ´¸Þ½½¥­¥í¶á¤¤»³Æ»¤À¤Ã¤¿¡¥»³¤òË¥¤¦¤è¤¦¤Ë¿¼¤¤Ã«¤äȾ¤ÐËä¤â¤ì ! ¤¿´ä¤òÅÁ¤¤¡¤´»µÌÎबÌФëÎä·¤¤ÎФÎë¤òÈ´¤±¡¤Ì¢¿¢Êª¤¬ÃØéá¤ÎÁã¤Î ! ¤è¤¦¤Ë¤Ï¤Ó¤³¤ë¾®¶®Ã«¤ò¡¤Äߤ궶¤ÇÅϤäƤ¤¤¯¡¥¤½¤ì¤Ï¿¤¯¤Î¾ì¹ç¡¤ ! ¤¤¤Ä¤Ë¤â¤Þ¤·¤Æ¡¤³¨¤Î¤è¤¦¤ËÈþ¤·¤«¤Ã¤¿¡¥ ! ! ¡È³¨¤ÎÍͤËÈþ¤·¤¤¡É¡¥¤³¤Îɽ¸½¤Ï¡¤Ëâ½Ñ»Õ¥ê¥ó¥¹¥¦¥£¥ó¥É¡Ê¡ã¸«¤¨¤¶ ! ¤ëÂç³Ø¡äËâË¡³Ø»Î¡¤¡Ô½üÀҡաˤˤϼª¿·¤·¤¤¤â¤Î¤À¤Ã¤¿¡¥¹õ¾Ç¤²¤ÎÇÑ ! µõ¤È²½¤·¤¿¥¢¥ó¥¯¡á¥â¥ë¥Ý¡¼¥¯¤ò½Ð¤Æ¤«¤é³Ð¤¨¤¿¸ÀÍդΰì¤Ä¤À¡¥ ! ¾¤Ë¡¤¡È¼ñ¤Î¤¢¤ë¡É¤È¤¤¤¦¤Î¤â³Ð¤¨¤¿¡¥¡È³¨¤ÎÍͤËÈþ¤·¤¤¡É¤È¸À¤¦¤Î ! ¤Ï¡Ý¡Ý¥ê¥ó¥¹¥¦¥£¥ó¥É¤Ï¡¤¥Ä¡¼¥Õ¥é¥ï¡¼¤¬´¶·ã¤·¤Æ¤³¤Îɽ¸½¤ò»È¤Ã¤¿ ! ·Ê¿§¤ò¡¤Ãí°Õ¿¼¤¯´Ñ»¡¤·¤Æ¤³¤¦ÄêµÁ¤·¤¿¡Ý¡Ý·Ê´Ñ¤¬¶²¤í¤·¤¤¤Û¤É¤ËÀÚ ! ¤êΩ¤Ã¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤À¡¥¡È¼ñ¤¢¤ë¡É¤È¸À¤¦¤Î¤Ï¡¤»þ¤ª¤êÄ̤ê²á¤® ! ¤¿Â¼¤Ë¤Ä¤¤¤Æ¸À¤ï¤ì¤¿¾ì¹ç¤Ë¤Ï¡¤Ç®É¤˽±¤ï¤ì¡¤¤¹¤Ã¤«¤ê¹Ó¤ì²Ì¤Æ¤¿ ! ¤È¤¤¤¦°ÕÌ£¤À¡¥ ! ! ¥Ä¡¼¥Õ¥é¥ï¡¼¤Ï¥Ç¥£¥¹¥¯¥ï¡¼¥ë¥É¤Ï¤¸¤Þ¤Ã¤Æ°ÊÍè¤Îι¹Ô¼Ô¤Ç¤¢¤ë¡¥ ! ¡Èι¹Ô¼Ô¡É¤È¤¤¤¦¤Î¤Ï¥ê¥ó¥¹¥¦¥£¥ó¥É¤ÎÄêµÁ¤Ç¤Ï¡ÈÇϼ¯¡É¤Î¤³¤È¤À¡¥ ! [ The Colour of Magic, by Terry Pratchett ] + [ ¥Ç¥£¥¹¥¯¥ï¡¼¥ë¥ÉÁûÆ°µ­¡¤°ÂÅĶÑÌõ¡¤³ÑÀîʸ¸Ë ] + ¥È¥é¥Ã¥Ñ¡¼ trapper ! # The trapper is a creature which has evolved a chameleon-like ! # ability to blend into the dungeon surroundings. It captures ! # its prey by remaining very still and blending into the ! # surrounding dungeon features, until an unsuspecting creature ! # passes by. It wraps itself around its prey and digests it. ! ¥È¥é¥Ã¥Ñ¡¼¤Ï¡¤¥À¥ó¥¸¥ç¥ó¤Î¼þ°Ï¤Ë¤È¤±¤³¤à¤È¤¤¤¦¥«¥á¥ì¥ª¥ó¤Î¤è¤¦ ! ¤ÊǽÎϤò»ý¤Ä¤è¤¦¤Ë¿Ê²½¤·¤¿À¸Êª¤Ç¤¢¤ë¡¥¥È¥é¥Ã¥Ñ¡¼¤ÏÈó¾ï¤ËÀŤ«¤Ë¡¤ ! ¤½¤·¤Æ¥À¥ó¥¸¥ç¥ó¤Î¼þ°Ï¤Ë¤È¤±¤³¤ß¡¤²¿¤Îµ¿¤¤¤â»ý¤¿¤Ê¤¤À¸Êª¤¬Ä̤ê ! ²á¤®¤ë¤Þ¤ÇÂÔ¤Á¡¤³Íʪ¤òÊá³Í¤¹¤ë¡¥¥È¥é¥Ã¥Ñ¡¼¤Ï³Íʪ¤Ë¤¹¤Ã¤Ý¤êʤ¤¤ ! È蘆¤ê¡¤¾Ã²½¤¹¤ë¡¥ ! ¤Û¤·Æù tripe ration ! # If you start from scratch, cooking tripe is a long-drawn-out ! # affair. Fresh whole tripe calls for a minimum of 12 hours of ! # cooking, some time-honored recipes demanding as much as 24. ! # To prepare fresh tripe, trim if necessary. Wash it thoroughly, ! # soaking overnight, and blanch, for 1/2 hour in salted water. ! # Wash well again, drain and cut for cooking. When cooked, the ! # texture of tripe should be like that of soft gristle. More ! # often, alas, because the heat has not been kept low enough, ! # it has the consistency of wet shoe leather. ! °ì¤«¤éºî¤ë¾ì¹ç¤Ï¡¤Æ⡤ÎÄ´Íý¤Ï¤º¤¤¤Ö¤ó¤È»þ´Ö¤Î¤«¤«¤ë»Å»ö¤Ç¤¹¡¥ ! ¿·Á¯¤ÊÆâ¡Á´Éô¤Ç¤ÏºÇÄã¤Ç¤â12»þ´Ö¤ÎÄ´Íý¤¬É¬ÍפǤ¢¤ê¡¤¤¤¤¯¤Ä¤«¤Î ! ͳ½ï¤¢¤ë¥ì¥·¥Ô¤Ç¤Ï24»þ´Ö¤âɬÍפǤ¹¡¥¿·Á¯¤ÊÆ⡤òÄ´Íý¤¹¤ë¤Ë¤Ï¡¤ ! ɬÍפʤé;·×¤ÊÉôʬ¤òÀÚ¤ê¼è¤ê¤Þ¤¹¡¥¤è¤¯Àö¤Ã¤¿¤é¡¤°ìÈÕ¿»¤±¤ª¤­¡¤ ! ±ö¿å¤Ç30ʬ¼Ñ¤Æ¿§¤ò¤È¤ê¤Þ¤¹¡¥¤â¤¦°ìÅ٤褯Àö¤¤¡¤¿å¤òÀڤäÆ觤Ǥë ! Â礭¤µ¤ËÀÚ¤ê¤Þ¤¹¡¥è§¤Ç½ª¤ï¤Ã¤¿»þ¤Ë¤Ï¡¤Æ⡤μ꿨¤ê¤Ï½À¤é¤«¤¤ ! Æð¹ü¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡¥²¹ÅÙ¤ò½½Ê¬¤ËÄ㤯ÊݤƤʤ±¤ì¤Ð¡¤ ! ¤¿¤¤¤Æ¤¤¤½¤ì¤ÏǨ¤ì·¤¤ÎÈé¤Î¤è¤¦¤Ê¸Ç¤µ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡¥¤¢ ! ¤¢¡Å¡Å [ Joy of Cooking, by I Rombauer and M Becker ] + *¥È¥í¥ë *troll ! # The troll shambled closer. He was perhaps eight feet tall, ! # perhaps more. His forward stoop, with arms dangling past ! # thick claw-footed legs to the ground, made it hard to tell. ! # The hairless green skin moved upon his body. His head was a ! # gash of a mouth, a yard-long nose, and two eyes which drank ! # the feeble torchlight and never gave back a gleam. ! # [...] ! # Like a huge green spider, the troll's severed hand ran on its ! # fingers. Across the mounded floor, up onto a log with one ! # taloned forefinger to hook it over the bark, down again it ! # scrambled, until it found the cut wrist. And there it grew ! # fast. The troll's smashed head seethed and knit together. ! # He clambered back on his feet and grinned at them. The ! # waning faggot cast red light over his fangs. ! # [ Three Hearts and Three Lions, by Poul Anderson ] ! ¥È¥í¥ë¤Ï¡¤¤è¤¿¤è¤¿¤È¶á¤è¤Ã¤Æ¤­¤¿¡¥¤ß¤¿¤È¤³¤í¡¤£¸¥Õ¥£¡¼¥È¡¤¤¢¤ë ! ¤¤¤Ï¡¤¤½¤ì°Ê¾å¤Ï¤¢¤ë¤Ë¤Á¤¬¤¤¤Ê¤¤¡¥Î¾¼ê¤ò¤¦¤·¤í¤Ë¤Ö¤é¤Ä¤«¤»¡¤¤Õ ! ¤È¤¤ÄޤΤ¢¤ë­¤Ç¤«¤¬¤ß¤³¤ó¤ÇÊ⤯¤µ¤Þ¤Ï¡¤¸«¤ë¤À¤Ë¶²¤í¤·¤¤¤â¤Î¤À¤Ã ! ¤¿¡¥ÌӤΤʤ¤Î理ÎÈ©¤¬ÂΤΤ¦¤¨¤ÇÇȤ¦¤Á¡¤Æ¬Éô¤Ë¤Ï¼ª¤Þ¤ÇÎö¤±¤¿¸ý ! ¤È£±¥ä¡¼¥É¤âÆͽФ·¤¿É¡¤¬¤Ä¤¤¤Æ¤¤¤Æ¡¤Íî¤Á¤¯¤Ü¤ó¤À´ã¤Ï¡¤¹õ¤¤´ããÝ ! ¤¬¥×¡¼¥ë¤Î¤è¤¦¤Ë·ê¤ò¤¢¤±¡¤Æ·¹¦¤âÇò´ã¤â¤ß¤¨¤º¡¤¾¾ÌÀ¤Î¸÷¤òµÛ¤¤¤³ ! ¤ó¤Ç¤·¤Þ¤¦¤À¤±¤Ç¡¤¤Ò¤È¤«¤±¤é¤âÈ¿¼Í¤·¤Ê¤«¤Ã¤¿¡¥ [...] ! µðÂç¤ÊÎФΥ¯¥â¤Î¤è¤¦¤Ë¡¤¥È¥í¥ë¤ÎÀÚÃǤµ¤ì¤¿¼ê¼ó¤¬¡¤»Ø¤ÇÇ礤¤Ï¤¸ ! ¤á¤ë¡¥À¹¤êÅÚ¤·¤¿¾²¤ò¤³¤¨¡¤´ÝÂÀ¤Ë¤Ä¤­¤¢¤¿¤Ã¤ÆîìÄÞ¤ò¤Ò¤Ã¤«¤±¤ÆÇç ! ¤¤¤Î¤Ü¤ê¡¤¤Þ¤¿²¼¤ê¤ÆÇ礤¤¹¤¹¤ß¡¤ÏӤΰìü¤Ø¤¿¤É¤ê¤Ä¤¤¤¿¡¥¤½¤·¤Æ¡¤ ! ¥È¥í¥ë¤Î¼ê¼ó¤Ï¡¤¤½¤³¤Ë¤Ô¤¿¤ê¤ÈÌþÃ夷¤¿¡¥Æ±»þ¤Ë¡¤¥È¥í¥ë¤Î¤Ò¤·¤ã ! ¤²¤¿´é¤¬¡¤ÍϤ±¤¿¤è¤¦¤Ë¤¦¤´¤á¤­¡¤¤Ä¤¤¤Ë¸µ¤É¤ª¤ê¤ËÇí¤®¤¢¤ï¤µ¤ì¤¿¡¥ ! ¥È¥í¥ë¤ÏΩ¤Á¤¢¤¬¤Ã¤Æ»õ¤ò¤à¤­¤À¤·¤¿¡¥¾Ã¤¨¤«¤±¤¿¾¾ÌÀ¤ÎÀÖ¤¤²Ð¤¬¡¤ ! ¤Õ¤È¤¤²ç¤ò¾È¤é¤·¤À¤·¤¿¡¥ [ Three Hearts and Three Lions, by Poul Anderson ] + [ Ë⳦¤ÎÌæ¾Ï, Ë­ÅÄÍ­¹±Ìõ, ¥Ï¥ä¥«¥ïʸ¸ËSF ] + # ¡ÖË⳦¤ÎÌæ¾Ï¡×, ¥Ý¡¼¥ë¡¦¥¢¥ó¥À¡¼¥¹¥ó, Ë­ÅÄÍ­¹±Ìõ, + # ¥Ï¥ä¥«¥ïʸ¸ËSF, ÁáÀî½ñ˼, S53, pp.289-291 + ¼Àµ¤Î* tsurugi of muramasa ! # This most ancient of swords has been passed down through the ! # leadership of the Samurai legions for hundreds of years. It ! # is said to grant luck to its wielder, but its main power is ! # terrible to behold. It has the capability to cut in half any ! # creature it is wielded against, instantly killing them. ! ¤³¤Î¸Å¤Î·õ¤Ï¡¤¿ôɴǯ¤ÎÀΤ«¤éËëÉܤλØƳ¼Ô¤Ë¤è¤Ã¤ÆÂ塹¼õ¤±·Ñ¤¬¤ì ! ¤Æ¤­¤¿¡¥¤½¤Î½êÍ­¼Ô¤Ë¹¬±¿¤ò¤â¤¿¤é¤¹¤ò¤¤¤ï¤ì¤Æ¤¤¤ë¤¬¡¤¤½¤Î¿¿¤ÎÎÏ ! ¤ÏÌܤˤ¹¤ë¤â¶²¤·¤¤¡¥¤½¤ì¤Ï½êÍ­¼Ô¤ËÈ¿¹³¤¹¤ë¤¹¤Ù¤Æ¤ÎÀ¸Êª¤ò¤Þ¤Ã¤× ! ¤¿¤Ä¤Ë¤·¡¤Â¨»à¤µ¤»¤ëǽÎϤò»ý¤Ã¤Æ¤¤¤ë¡¥ ! ·õ tsurugi ! # The tsurugi, also known as the long samurai sword, is an ! # extremely sharp, two-handed blade favored by the samurai. ! # It is made of hardened steel, and is manufactured using a ! # special process, causing it to never rust. The tsurugi is ! # rumored to be so sharp that it can occasionally cut ! # opponents in half! ! ·õ¤Ï»ø¤ÎĹ·õ¤È¤·¤ÆÃΤé¤ì¤Æ¤ª¤ê¡¤»ø¤¬¹¥¤ó¤Ç»ÈÍѤ·¤¿¶Ë¤á¤Æ±ÔÍø¤Ê ! ξ¼ê»ý¤Á¤Î·õ¤Ç¤¢¤ë¡¥¤½¤ì¤ÏÃ䨤é¤ì¤¿Å´¤Ç½ÐÍè¤Æ¤ª¤ê¡¤·è¤·¤Æ»¬¤Ó ! ¤Ê¤¤¤è¤¦¤ËÆüì¤Ê¹©Äø¤ò·Ð¤Æºî¤é¤ì¤Æ¤¤¤ë¡¥·õ¤Ï¤½¤Î±ÔÍø¤µ¸Î¤Ë¡¤¤· ! ¤Ð¤·¤Ð¤½¤ÎŨ¤ò¿¿¤ÃÆó¤Ä¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤È±½¤µ¤ì¤Æ¤¤¤ë¡¥ ! ¥¬¥¤¥É ! ¥Ä¡¼¥Õ¥í¥¢¡¼ ! ¥Ä¥¥¥Õ¥í¥¢ twoflower guide ! # "Rincewind!" ! # Twoflower sprang off the bed. The wizard jumped back, ! # wrenching his features into a smile. ! # "My dear chap, right on time! We'll just have lunch, and ! # then I'm sure you've got a wonderful programme lined up for ! # this afternoon!" ! # "Er --" ! # "That's great!" ! # Rincewind took a deep breath. "Look," he said desperately, ! # "let's eat somewhere else. There's been a bit of a fight ! # down below." ! # "A tavern brawl? Why didn't you wake me up?" ! # "Well, you see, I - _what_?" ! # "I thought I made myself clear this morning, Rincewind. I ! # want to see genuine Morporkian life - the slave market, the ! # Whore Pits, the Temple of Small Gods, the Beggar's Guild... ! # and a genuine tavern brawl." A faint note of suspicion ! # entered Twoflower's voice. "You _do_ have them, don't you? ! # You know, people swinging on chandeliers, swordfights over ! # the table, the sort of thing Hrun the Barbarian and the ! # Weasel are always getting involved in. You know -- ! # _excitement_." ! ¡Ö¥ê¥ó¥¹¥¦¥£¥ó¥É¤«¡ª¡× ! ! ¥Ä¡¼¥Õ¥é¥ï¡¼¤¬¥Ù¥Ã¥É¤«¤éÈô¤Ó½Ð¤·¤Æ¤­¤¿¡¥Ëâ½Ñ»Õ¤ÏÈô¤Ó¤¹¤µ¤Ã¤¿¤¬¡¤ ! ´é¤Ë¤Ï²¿¤È¤«¤Í¤¸¤ì¤¿¾Ð´é¤òÉ⤫¤Ù¤¿¡¥ ! ! ¡Ö¤ä¤¡·¯¡ª»þ´Ö¤É¤ª¤ê¤À¡ªÃ뤴ÈÓ¤ò¿©¤Ù¤¿¤é¡¤¸á¸å¤ÏÀ¹¤ê¤À¤¯¤µ¤ó¤Î ! ·×²è¤òΩ¤Æ¤Æ¤¯¤ì¤Æ¤ë¤Ï¤º¤À¤Í¡ª¡× ! ¡Ö¤¨¤§¤È¡Ý¡Ý¡× ! ¡Ö¤½¤ì¤Ï¤¹¤´¤¤¡ª¡× ! ¥ê¥ó¥¹¥¦¥£¥ó¥É¤Ï¿¼¸ÆµÛ¤·¤¿¡¥ ! ¡Ö¤¤¤¤¤«¤¤¡×ɬ»à¤Ë¤Ê¤Ã¤ÆÅÁ¤¨¤ë¡¥¡ÖÃëÈӤϤɤ³¤«¤è¤½¤Ç¿©¤ª¤¦¡¥²¼ ! ¤Ç¤Ï¤Á¤ç¤Ã¤È¤·¤¿Áû¤®¤¬¤¢¤Ã¤¿¤ó¤À¡× ! ¡Ö¼ò¾ì¤Î·ö²Þ¤À¡ª¤É¤¦¤·¤Æµ¯¤³¤·¤Æ¤¯¤ì¤Ê¤«¤Ã¤¿¤Î¡©¡× ! ! ¡Ö¤½¤ê¤ã¤À¤Ã¤Æ¡¤·¯¡Ý¡Ý²¿¤À¤Ã¤Æ¡©¡× ! ! ¡Öº£Ä«¤Ï¤Ã¤­¤ê¸À¤Ã¤Æ¤ª¤¤¤¿¤È»×¤¦¤ó¤À¤±¤É¡¤¥ê¥ó¥¹¥¦¥£¥ó¥É¡¥ËÍ¤Ï ! ËÜʪ¤Î¥â¥ë¥Ý¡¼¥¯¤é¤·¤¤À¸³è¤ò¸«¤Æ¤ß¤¿¤¤¤ó¤À¡Ý¡ÝÅÛÎì»Ô¾ì¤ä¡¤¡ã¾« ! Éؤηꢡ䡤¡ã¾®¿À¤Î»û±¡¡ä¡¤¸ð¿©¤Î¥®¥ë¥É¡¦¡¦¡¦¤½¤ì¤ËËÜʪ¤Î¼ò¾ì ! ¤Î·ö²Þ¡×¥Ä¡¼¥Õ¥é¥ï¡¼¤ÎÀ¼¤Ë¡¤¹Ô¤¯¤Ö¤óµ¿¤¦¤è¤¦¤Ê¸ýÄ´¤¬²Ã¤ï¤Ã¤¿¡¥ ! ¡ÖËÜÅö¤Ë¤¢¤ë¤è¤Í¡©¤Û¤é¡¤¥·¥ã¥ó¥Ç¥ê¥¢¤Ë¤Ö¤é²¼¤¬¤Ã¤¿¤ê¡¤¥Æ¡¼¥Ö¥ë ! ¤Î¾å¤Î·õ¤ò¸ò¤ï¤·¤¿¤ê¡Ý¡ÝÈÚ¿Í¥Õ¥ë¥ó¤ä¡ã¥¤¥¿¥Á¡ä¤¬¤¤¤Ä¤â´¬¤­¹þ¤Þ ! ¤ì¤Æ¤¤¤ë¤è¤¦¤Ê½ÐÍè»ö¡¥¤Ä¤Þ¤ê¡Ý¡Ý·ìͯ¤­ÆùÍÙ¤ëËÁ¸±¤À¤è¡ª¡× ! [ The Colour of Magic, by Terry Pratchett ] + [ ¥Ç¥£¥¹¥¯¥ï¡¼¥ë¥ÉÁûÆ°µ­¡¤°ÂÅĶÑÌõ¡¤³ÑÀîʸ¸Ë ] tyaa ! # An evil goddess, she is able to command all forms of birds ! # to do her bidding. ! °­¤Î½÷¿À¡¥Èà½÷¤ÏÌ¿Îá¤ò¿ë¹Ô¤¹¤ë¤è¤¦Á´¤Æ¤ÎÄ»¤Ë»ÊÎá¤ò½Ð¤»¤ë¡¥ ! ¥Á¥å¡¼¥ë tyr ! # Yet remains that one of the Aesir who is called Tyr: ! # he is most daring, and best in stoutness of heart, and he ! # has much authority over victory in battle; it is good for ! # men of valor to invoke him. It is a proverb, that he is ! # Tyr-valiant, who surpasses other men and does not waver. ! # He is wise, so that it is also said, that he that is wisest ! # is Tyr-prudent. This is one token of his daring: when the ! # Aesir enticed Fenris-Wolf to take upon him the fetter Gleipnir, ! # the wolf did not believe them, that they would loose him, ! # until they laid Tyr's hand into his mouth as a pledge. But ! # when the Aesir would not loose him, then he bit off the hand ! # at the place now called 'the wolf's joint;' and Tyr is one- ! # handed, and is not called a reconciler of men. ! ¥Á¥å¡¼¥ë¤È¤¤¤¦Ì¾¤Î¥¢¡¼¥¹¿À¤¬¤Þ¤À¤¤¤ë¡¥¤³¤Î¿À¤ÏºÇ¤âÂçÃÀ¤Ê¿À ! ¤È¹Í¤¨¤é¤ì¤Æ¤¤¤ë¡¥À襤¤Ë¤ª¤¤¤Æ¡¤¾¡ÇÔ¤ò·è¤á¤ë¤³¤È¤â¤·¤Ð¤·¤Ð ! ¤¢¤ë¤Î¤À¡¥¤À¤«¤é¡¤Àï»Î¤Ï¤³¤Î¿À¤Ëµ§´ê¤¹¤ë¤Î¤¬¤è¤¤¡¥¤Û¤«¤Î¿Í ! ¤è¤ê¶¯¤¯¤Æ¡¤²¿Êª¤ò¤â¶²¤ì¤Ê¤¤¼Ô¤ò¡¤¥Á¥å¡¼¥ë¤Î¤è¤¦¤Ë¶¯¤¤¡¤¤È ! ¤¤¤¦É½¸½¤¬¤¢¤ë¤¯¤é¤¤¤À¡¥¤³¤Î¿À¤Ï¤Þ¤¿Èó¾ï¤Ë¸­¤¯¤Æ¡¤¸­¤¤¿Í¤ò ! ¥Á¥å¡¼¥ë¤Î¤è¤¦¤Ë¸­¤¤¤È¤¤¤¦¤¯¤é¤¤¤À¡¥¥¢¡¼¥¹¿À¤¿¤Á¤¬¡¤¥Õ¥§¥ó ! ¥ê¥¹¥¦¡¼¥ë¥ô(ϵ)¤ò¤½¤½¤Î¤«¤·¤Æ¡¤¥°¥ì¥¤¥×¥Ë¥ë¤È¤¤¤¦Â­ÛȤò¤Ï ! ¤«¤»¤è¤¦¤È¤·¤¿¤È¤­¤Ë¡¤¥Á¥å¡¼¥ë¤Îͦµ¤¤¬¾ÚÌÀ¤µ¤ì¤¿¤Î¤À¡¥¤½¤Î ! ¤È¤­¡¤¥Õ¥§¥ó¥ê¥¹¥¦¡¼¥ë¥ô¤Ï¥¢¡¼¥¹¿À¤¿¤Á¤¬¡¤¼«Ê¬¤òºÆ¤Ó¤Ï¤Ê¤· ! ¤Æ¤¯¤ì¤ë¤³¤È¤ò¡¤¤½¤ÎÊݾڤȤ·¤Æ¡¤¥Á¥å¡¼¥ë¤¬¼ê¤ò¸ý¤ÎÃæ¤Ëº¹¤· ! ¹þ¤à¤Þ¤Ç¡¤¿®ÍѤ·¤Ê¤«¤Ã¤¿¡¥¤½¤³¤Ç¥¢¡¼¥¹¿À¤¿¤Á¤¬Ïµ¤ò¤Ï¤Ê¤½¤¦ ! ¤È¤·¤Ê¤«¤Ã¤¿¤È¤­¡¤Ïµ¤Ï¥Á¥å¡¼¥ë¤Î¼ê¤ò¡¤Â¯¤Ë<ϵ¤Î´ØÀá>¤È¸Æ¤Ð ! ¤ì¤Æ¤¤¤ë¤È¤³¤í¤«¤é³ú¤ßÀڤ俤ΤÀ¡¥¤½¤ì¤Ç¥Á¥å¡¼¥ë¤ÏÊҼꤷ¤« ! ¤Ê¤¤¤·¡¤¿Í¡¹¤ÎÄ´Ää¼Ô¤È¸Æ¤Ð¤ì¤Ê¤¤¤Î¤À¡¥ [ The Prose Edda, by Snorri Sturluson ] + [ ¥¨¥Ã¥À¡¤Ã«¸ý¹¬ÃËÌõ¡¤¿·Ä¬¼Ò] *hulk ! *¥Ï¥ë¥¯ ! # Umber hulks are powerful subterranean predators whose ! # iron-like claws allow them to burrow through solid stone in ! # search of prey. They are tremendously strong; muscles bulge ! # beneath their thick, scaly hides and their powerful arms and ! # legs all end in great claws. ! ¥¢¥ó¥Ð¡¼¥Ï¥ë¥¯¤Ï¶¯ÎϤÊÃϲ¼¤ÎÆù¿©Æ°Êª¤Ç¡¤¤½¤ÎÅ´¤Î¤è¤¦¤ÊÄޤϸǤ¤ ! ´ä¤ò¤¨¤¸¤­¤òµá¤á¤Æ·¡¤êÈ´¤±¤ë¡¥¤½¤¤¤Ä¤é¤ÏÅÓÊý¤â¤Ê¤¯¶¯¤¤¡¥¤Õ¤¯¤é ! ¤Ï¤®¤Î²¼Êý¤äÎÚ¾õ¤Î½ÃÈé¤Ï¶ÚÆù¤¬¤â¤ê¤¬¤Ã¤Æ¤ª¤ê¡¤Î϶¯¤¤ÏӤȭ¤ÏÁ´ ! ¤ÆÂ礭¤ÊÄÞ¤¬¤¢¤ë¡¥ ! *¥æ¥Ë¥³¡¼¥ó ! ¥æ¥Ë¥³¡¼¥ó¤Î³Ñ *unicorn unicorn horn ! # Men have always sought the elusive unicorn, for the single twisted horn which ! # projected from its forehead was thought to be a powerful talisman. It was ! # said that the unicorn had simply to dip the tip of its horn in a muddy pool ! # for the water to become pure. Men also believed that to drink from this horn ! # was a protection against all sickness, and that if the horn was ground to a ! # powder it would act as an antidote to all poisons. Less than 200 years ago in ! # France, the horn of a unicorn was used in a ceremony to test the royal food ! # for poison. ! # ! # Although only the size of a small horse, the unicorn is a very fierce beast, ! # capable of killing an elephant with a single thrust from its horn. Its fleet- ! # ness of foot also makes this solitary creature difficult to capture. However, ! # it can be tamed and captured by a maiden. Made gentle by the sight of a vir- ! # gin, the unicorn can be lured to lay its head in her lap, and in this docile ! # mood, the maiden may secure it with a golden rope. ! # [Mythical Beasts by Deirdre Headon (The Leprechaun Library)] ! ¿Í´Ö¤Ï¤¤¤Ä¤âª¤¨¤É¤³¤í¤Î¤Ê¤¤¥æ¥Ë¥³¡¼¥ó¤ò¸«¤Æ¤­¤¿¡¥Æ¬¤ÎÁ°¤ËÀ¸ ! ¤¨¤Æ¤¤¤ë°ìËܤΤͤ¸¤ì¤¿³Ñ¤ÏÎ϶¯¤¤Ëâ½ü¤±¤Î¸ú²Ì¤¬¤¢¤ë¤È¹Í¤¨¤é¤ì ! ¤Æ¤­¤¿¡¥¥æ¥Ë¥³¡¼¥ó¤ÏÅ¥¤À¤é¤±¤Î¿å¤¿¤Þ¤ê¤ò¾ô²½¤¹¤ë¤¿¤á¡¤³Ñ¤ÎÀè ! ¤Ã¤Ý¤ò¤Á¤ç¤Ã¤ÈÆþ¤ì¤ë¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥¿Í´Ö¤Ï¤Þ¤¿¡¤¤³¤Î³Ñ¤Ç°û¤à ! ¤³¤È¤Ë¤è¤ê¡¤¤¢¤é¤æ¤ëɵ¤¤«¤é¿È¤ò¼é¤ë¤³¤È¤¬¤Ç¤­¡¤³Ñ¤òÀù¤¸¤ë¤³ ! ¤È¤¬¤Ç¤­¤ë¤Î¤Ê¤é¡¤¤½¤ì¤Ï¤¢¤é¤æ¤ëÆǤÎÃæϺޤȤʤë¤È¿®¤¸¤Æ¤­¤¿¡¥ ! 200ǯÁ°¤Î¥Õ¥é¥ó¥¹¤Ç¤Ï¥æ¥Ë¥³¡¼¥ó¤Î³Ñ¤Ï²¦²È¤Î¿©Êª¤òÆǤòÄ´¤Ù¤ë ! ¥»¥ì¥â¥Ë¡¼¤ËÍѤ¤¤é¤ì¤Æ¤¤¤¿¡¥ ! ! ¾®¤µ¤¤ÇϤ¯¤é¤¤¤ÎÂ礭¤µ¤Ç¤¢¤ë¤¬¡¤¥æ¥Ë¥³¡¼¥ó¤ÏàØÌÔ¤Êưʪ¤Ç¡¤¤½ ! ¤Î³Ñ¤«¤é¤Î°ìÆͤ­¤Ï¾Ý¤ò¤â»¦¤¹ÎϤ¬¤¢¤ë¡¥¤Þ¤¿¡¤¤½¤Î­¤Î½ÓÉÒ¤µ¤Ï ! ¤³¤Î·²¤òºî¤é¤Ê¤¤À¸¤­Êª¤òª¤¨¤ë¤³¤È¤òº¤Æñ¤Ë¤¹¤ë¡¥¤·¤«¤·¤Ê¤¬¤é¡¤ ! ¥æ¥Ë¥³¡¼¥ó¤Ï½è½÷¤Î¼ê¤Ë¤è¤ê¼ê¤Ê¤Å¤±Âª¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥¥æ¥Ë¥³ ! ¡¼¥ó¤Ï½è½÷¤ò¸«¤ë¤³¤È¤Ë¤è¤ê¤ª¤È¤Ê¤·¤¯¤Ê¤ê¡¤Æ¬¤ò¤½¤Î½÷¤Î¤Ò¤¶¤Ë ! ²¡¤·¤Ä¤±Ì¥Î»¤µ¤»¤é¤ì¤Æ¤·¤Þ¤¦¡¥¤³¤Î¤È¤­½è½÷¤Ï¶â¤Î¥í¡¼¥×¤Ç°ÂÁ´ ! ¤Ëª¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ ! [ ¿ÀÏäÎÀ¸Êª, Deirede Headon(¥ì¥×¥ì¥³¡¼¥ó¿Þ½ñ) ] Martin took a small sip of beer. "Almost ready," he said. "You hold your beer awfully well." *************** *** 2326,2467 **** universal remedy. I wait until I reach the warm glow stage, then I use my horn to burn off any excess and keep me right there." [Unicorn Variations by Roger Zelazny] valkyrie ! The Valkyries were the thirteen choosers of the slain, the ! beautiful warrior-maids of Odin who rode through the air and ! over the sea. They watched the progress of the battle and ! selected the heroes who were to fall fighting. After they ! were dead, the maidens rewarded the heroes by kissing them ! and then led their souls to Valhalla, where the warriors ! lived happily in an ideal existence, drinking and eating ! without restraint and fighting over again the battles in ! which they died and in which they had won their deathless ! fame. [ The Encyclopaedia of Myths and Legends of All Nations, by Herbert Robinson and Knox Wilson ] vampire vampire bat vampire lord ! The Oxford English Dictionary is quite unequivocal: ! _vampire_ - "a preternatural being of a malignant nature (in ! the original and usual form of the belief, a reanimated ! corpse), supposed to seek nourishment, or do harm, by sucking ! the blood of sleeping persons. ..." vlad* ! Vlad Dracula the Impaler was a 15th-Century monarch of the ! Birgau region of the Carpathian Mountains, in what is now ! Romania. In Romanian history he is best known for two things. ! One was his skilled handling of the Ottoman Turks, which kept ! them from making further inroads into Christian Europe. The ! other was the ruthless manner in which he ran his fiefdom. ! He dealt with perceived challengers to his rule by impaling ! them upright on wooden stakes. Visiting dignitaries who ! failed to doff their hats had them nailed to their head. *vortex vortices ! Swirling clouds of pure elemental energies, the vortices are ! thought to be related to the larger elementals. Though the ! vortices do no damage when touched, they are noted for being ! able to envelop unwary travellers. The hapless fool thus ! swallowed by a vortex will soon perish from exposure to the ! element the vortex is composed of. vrock ! The vrock is one of the weaker forms of demon. It resembles ! a cross between a human being and a vulture and does physical ! damage by biting and by using the claws on both its arms and ! feet. wakizashi ! The samurai warrior traditionally wears two swords; the ! wakizashi is the shorter of the two. See also katana. warg ! Suddenly Aragorn leapt to his feet. "How the wind howls!" ! he cried. "It is howling with wolf-voices. The Wargs have ! come west of the Mountains!" ! "Need we wait until morning then?" said Gandalf. "It is as I ! said. The hunt is up! Even if we live to see the dawn, who ! now will wish to journey south by night with the wild wolves ! on his trail?" ! "How far is Moria?" asked Boromir. ! "There was a door south-west of Caradhras, some fifteen miles ! as the crow flies, and maybe twenty as the wolf runs," ! answered Gandalf grimly. ! "Then let us start as soon as it is light tomorrow, if we can," ! said Boromir. "The wolf that one hears is worse then the orc ! that one fears." ! "True!" said Aragorn, loosening his sword in its sheath. "But ! where the warg howls, there also the orc prowls." [ The Fellowship of the Ring, by J.R.R. Tolkien ] *wight ! When he came to himself again, for a moment he could recall ! nothing except a sense of dread. Then suddenly he knew that ! he was imprisoned, caught hopelessly; he was in a barrow. A ! Barrow-wight had taken him, and he was probably already under ! the dreadful spells of the Barrow-wights about which whispered ! tales spoke. He dared not move, but lay as he found himself: ! flat on his back upon a cold stone with his hands on his ! breast. [ The Fellowship of the Ring, by J.R.R. Tolkien ] wizard of balance ! The Wizard of Balance holds office in his hidden tower, only ! reachable by magical means, where he teaches his apprentices ! the enigmatic skills of occultism. He considers himself a ! guardian of the equilibrium of the universe, and goes out of ! his way to promote stability. wizard of yendor ! No one knows how old this mighty wizard is, or from whence he ! came. It is known that, having lived a span far greater than ! any normal man's, he grew weary of lesser mortals; and so, ! spurning all human company, he forsook the dwellings of men ! and went to live in the depths of the Earth. He took with ! him a dreadful artifact, the Book of the Dead, which is said ! to hold great power indeed. Many have sought to find the ! wizard and his treasure, but none have found him and lived to ! tell the tale. Woe be to the incautious adventurer who ! disturbs this mighty sorcerer! wolf *wolf ! The ancestors of the modern day domestic dog, wolves are ! powerful muscular animals with bushy tails. Intelligent, ! social animals, wolves live in family groups or packs made ! up of multiple family units. These packs cooperate in hunting ! down prey. *worm long worm tail worm tooth crysknife ! [The crysknife] is manufactured in two forms from teeth taken ! from dead sandworms. The two forms are "fixed" and "unfixed". ! An unfixed knife requires proximity to a human body's ! electrical field to prevent disintegration. Fixed knives ! are treated for storage. All are about 20 centimeters long. ! [ Dune, by Frank Herbert ] wraith nazgul ! Immediately, though everything else remained as before, dim ! and dark, the shapes became terribly clear. He was able to ! see beneath their black wrappings. There were five tall ! figures: two standing on the lip of the dell, three advancing. ! In their white faces burned keen and merciless eyes; under ! their mantles were long grey robes; upon their grey hairs ! were helms of silver; in their haggard hands were swords of ! steel. Their eyes fell on him and pierced him, as they ! rushed towards him. Desperate, he drew his own sword, and ! it seemed to him that it flickered red, as if it was a ! firebrand. Two of the figures halted. The third was taller ! than the others: his hair was long and gleaming and on his ! helm was a crown. In one hand he held a long sword, and in ! the other a knife; both the knife and the hand that held it ! glowed with a pale light. He sprang forward and bore down ! on Frodo. [ The Fellowship of the Ring, by J.R.R. Tolkien ] wumpus ! The Wumpus, by the way, is not bothered by the hazards since ! he has sucker feet and is too big for a bat to lift. If you ! try to shoot him and miss, there's also a chance that he'll ! up and move himself into another cave, though by nature the ! Wumpus is a sedentary creature. [ wump (6) -- "Hunt the Wumpus" ] xan They sent their friend the mosquito [xan] ahead of them to find out what lay ahead. "Since you are the one who sucks --- 4240,4493 ---- universal remedy. I wait until I reach the warm glow stage, then I use my horn to burn off any excess and keep me right there." [Unicorn Variations by Roger Zelazny] + ¥ï¥ë¥­¥å¡¼¥ì valkyrie ! # The Valkyries were the thirteen choosers of the slain, the ! # beautiful warrior-maids of Odin who rode through the air and ! # over the sea. They watched the progress of the battle and ! # selected the heroes who were to fall fighting. After they ! # were dead, the maidens rewarded the heroes by kissing them ! # and then led their souls to Valhalla, where the warriors ! # lived happily in an ideal existence, drinking and eating ! # without restraint and fighting over again the battles in ! # which they died and in which they had won their deathless ! # fame. ! ¥ï¥ë¥­¥å¡¼¥ì¤Ï13¿Í¤ÎÁª¤Ð¤ì¤¿»¦¿Í¼Ô¤Ç¡¤Å·¶õ¤ò¶î¤±¤ë¥ª¡¼¥Ç¥£¥ó¤Ë ! »Å¤¨¤ëÈþ¤·¤¤½÷Àï»Î¤Ç¤¢¤ë¡¥Èà½÷¤é¤ÏÀ襤¤Î¿Ê¹Ô¾õ¶·¤ò¸«¡¤À襤¤«¤é ! Àï»Î¤òÁª¤Ö¡¥ÈàÅù¤¬»à¤ó¤À¤¢¤È¡¤½è½÷ã¤ÏÀï»Îã¤Ë¥­¥¹¤òÍ¿¤¨¡¤º²¤ò ! Àï»Îã¤Ë¤È¤Ã¤Æ°Â©¤ÎÃϤǤ¢¤ë¥ô¥¡¥ë¥Ï¥é¤Ø¤ÈƳ¤¯¡¥¼ò¤â¿©»ö¤â¿Ô¤­ ! ¤ë¤³¤È¤Ê¤¯¡¤½ªËö¤Î»þ¤Þ¤Ç²¿Å٤ǤâÀ襤¡¤±Ê±ó¤Î̾À¼¤òÆÀ¤ë¤³¤È¤¬¤Ç ! ¤­¤ë¡¥ [ The Encyclopaedia of Myths and Legends of All Nations, by Herbert Robinson and Knox Wilson ] + µÛ·ì* vampire vampire bat vampire lord ! # The Oxford English Dictionary is quite unequivocal: ! # _vampire_ - "a preternatural being of a malignant nature (in ! # the original and usual form of the belief, a reanimated ! # corpse), supposed to seek nourishment, or do harm, by sucking ! # the blood of sleeping persons. ..." ! ¥ª¥Ã¥¯¥¹¥Õ¥©¡¼¥É±Ñ¸ì¼­Åµ¤Ï¶Ë¤á¤ÆÌÀ²ò¤Ç¤¢¤ë¡§ ! ¥ô¥¡¥ó¥Ñ¥¤¥¢ --- Í­³²¤ÊËÜÀ­¤ò»ý¤Ã¤¿Ä¶¼«Á³Åª¤ÊÀ¸Êª(¸¶½ñ¤â¤·¤¯ ! ¤ÏÄ̾ïÅÁÍè¤Ç¤Ï¡¤À¸¤­Ê֤ä¿»àÂÎ)¡¥ÎȤòÁܤ·µá¤á¡¤½ý¤Ä¤±¡¤Ì²¤Ã¤Æ ! ¤¤¤ë¿Í´Ö¤Î·ì¤òµÛ¤¦¡¥ ! ¥ô¥¡¥é¥É vlad* ! # Vlad Dracula the Impaler was a 15th-Century monarch of the ! # Birgau region of the Carpathian Mountains, in what is now ! # Romania. In Romanian history he is best known for two things. ! # One was his skilled handling of the Ottoman Turks, which kept ! # them from making further inroads into Christian Europe. The ! # other was the ruthless manner in which he ran his fiefdom. ! # He dealt with perceived challengers to his rule by impaling ! # them upright on wooden stakes. Visiting dignitaries who ! # failed to doff their hats had them nailed to their head. ! ¥ô¥é¥É¡¦¥É¥é¥­¥å¥é¸ô¤Ï15À»µ­¤Î¥«¥ë¥Ñ¥Á¥¢»³Ì®ÃÏÊý¤Î¥Ð¡¼¥¬¥¦ ! (¸½ºß¤Î¥ë¡¼¥Þ¥Ë¥¢)¤Î·¯¼ç¤Ç¤¢¤ë¡¥¥ë¡¼¥Þ¥Ë¥¢¤ÎÎò»Ë¤Ç¤Ï¡¤Èà¤Ï2 ! ¤Ä¤ÎÅÀ¤Ç¤è¤¯ÃΤé¤ì¤Æ¤¤¤ë¡¥1¤Ä¤Ï¥ª¥¹¥Þ¥ó¥È¥ë¥³¤Î¥­¥ê¥¹¥È¶µ ! ʸ²½·÷¤Ç¤¢¤ë¥è¡¼¥í¥Ã¥Ñ¤Ø¤Î¿¯¹¶¤òËɤ¤¤À¤½¤ÎÅýÀ©¼êÏÓ¡¥¤â¤¦1¤Ä ! ¤ÏÀï¾ì¤Ç¤ÎÎä¹ó¤Ê¹ÔÆ°¤Ç¤¢¤ë¡¥Èà¤Î¤ä¤êÊý¤ËÈ¿ÂФ¹¤ë¤â¤Î¤Ë¤ÏÌڤιº ! ¤òÆͤ­»É¤·¤¿¡¥Ë¹»Ò¤ò椰¤Î¤Ë¼ºÇÔ¤·¤¿¶µ²ñ¤Î¹âÁؤòˬ¤ÍƬ¤òÅ£¤ÇÂÇ ! ¤Á¤Ä¤±¤¿¡¥ ! ±² *vortex vortices ! # Swirling clouds of pure elemental energies, the vortices are ! # thought to be related to the larger elementals. Though the ! # vortices do no damage when touched, they are noted for being ! # able to envelop unwary travellers. The hapless fool thus ! # swallowed by a vortex will soon perish from exposure to the ! # element the vortex is composed of. ! ½ã¿è¤ÊÀºÎî¤Î¥¨¥Í¥ë¥®¡¼¤Î±À¤Î±²´¬¤­¡¥±²¤Ï¤è¤êµðÂç¤ÊÀºÎî¤Ë´Ø·¸ ! ¤¬¤¢¤ë¤È»×¤ï¤ì¤ë¡¥±²¤Ï¿¨¤Ã¤¿¤À¤±¤Ç¤Ï¥À¥á¡¼¥¸¤ò¶ô¤é¤¦¤³¤È¤Ï¤Ê¤¤ ! ¤¬¡¤¤½¤ì¤é¤ÏÌýÃǤ·¤Æ¤¤¤ëËÁ¸±¼Ô¤ò¼è¤ê¹þ¤ó¤Ç¤·¤Þ¤¦¤³¤È¤ËÃí°Õ¤»¤è¡¥ ! ÉÔ±¿¤ÊËÁ¸±¼Ô¤Ï¤³¤Î¤è¤¦¤Ë¤·¤Æ±²¤Ë°û¤ß¹þ¤Þ¤ì¡¤±²¤ò¹½À®¤¹ ! ÀºÎî¤Ë¿È¤ò¤µ¤é¤·Èó¶È¤Î»à¤ò¿ë¤²¤ë¡¥ ! ¥ô¥¡¥í¥Ã¥¯ vrock ! # The vrock is one of the weaker forms of demon. It resembles ! # a cross between a human being and a vulture and does physical ! # damage by biting and by using the claws on both its arms and ! # feet. ! ¥ô¥¡¥í¥Ã¥¯¤Ï°­Ëâ¤È¤·¤Æ¤ÏÈæ³ÓŪ¼å¤¤¡¥¿Í´Ö¤È¥³¥ó¥É¥ë¤Îº®·ì¤Ë ! »÷¤Æ¤¤¤ë¡¥³ú¤ó¤À¤ê¼ê­¤ÎÄޤǹ¶·â¤·¤Æ¤¯¤ë¡¥ ! Ïƺ¹¤· wakizashi ! # The samurai warrior traditionally wears two swords; the ! # wakizashi is the shorter of the two. See also katana. ! »ø¤ÏÅÁÅýŪ¤ËÆóËÜ·õ¤òº¹¤·¤Æ¤¤¤ë¡¥Ïƺ¹¤·¤Ïû¤¤¤Û¤¦¤Ç¤¢¤ë¡¥Åá ! ¤Î¹àÌܤ⸫¤è¡¥ ! ¥ï¡¼¥° warg ! # Suddenly Aragorn leapt to his feet. "How the wind howls!" ! # he cried. "It is howling with wolf-voices. The Wargs have ! # come west of the Mountains!" ! # "Need we wait until morning then?" said Gandalf. "It is as I ! # said. The hunt is up! Even if we live to see the dawn, who ! # now will wish to journey south by night with the wild wolves ! # on his trail?" ! # "How far is Moria?" asked Boromir. ! # "There was a door south-west of Caradhras, some fifteen miles ! # as the crow flies, and maybe twenty as the wolf runs," ! # answered Gandalf grimly. ! # "Then let us start as soon as it is light tomorrow, if we can," ! # said Boromir. "The wolf that one hears is worse then the orc ! # that one fears." ! # "True!" said Aragorn, loosening his sword in its sheath. "But ! # where the warg howls, there also the orc prowls." ! ÆÍÁ³¥¢¥é¥´¥ë¥ó¤¬Ä·¤Ó¾å¤Ã¤Æ¶«¤Ó¤Þ¤·¤¿¡¥¡Ö²¿¤Æ¤Ò¤É¤¯É÷¤¬Ëʤ¨¤ë¤À ! ¤È¡ªËʤ¨¤Æ¤¤¤ë¤Î¤Ïϵ¤ÎÀ¼¤À¡¥¥ï¡¼¥°¤É¤â¤¬»³Ì®¤ÎÀ¾¤Ë¤ä¤Ã¤ÆÍ褿¤Î ! ¤À¡ª¡× ! ¡Ö¤Ç¤Ï¡¤Ä«¤Þ¤ÇÂԤĤ³¤È¤¬¤¢¤í¤¦¤«¡©¡×¤È¥¬¥ó¥À¥ë¥Õ¤¬¤¤¤¤¤Þ¤·¤¿¡¥ ! ¡Ö¤¤¤Ã¤¿Ä̤ꤸ¤ã¡¤ÄÉÀפ¬»Ï¤Þ¤Ã¤¿¤¾¡ª¤³¤¦¤Ê¤ì¤Ð¤¿¤È¤¨À¸¤­¤ÆÌÀÆü ! ¤ÎÆü¤Î½Ð¤ò¶Ä¤´¤¦¤È¡¤µ¤¤Á¤¬¤¤Ïµ¤É¤â¤Ë¸å¤ò¤Ä¤±¤é¤ì¤Æ¡¤Æî¤Ø¤ÎÌë¤Î ! ÅÙ¤ò³¤±¤Æ¹Ô¤³¤¦¤È»×¤¦¼Ô¤¬¤ª¤ë¤¸¤ã¤í¤¦¤«¡©¡× ! ¡Ö¥â¥ê¥¢¤Þ¤Ç¤É¤Î¤¯¤é¤¤¤¢¤ë¤Î¤Ç¤¹¤«¡©¡×¤È¡¤¥Ü¥í¥ß¥¢¤Ï¤¿¤º¤Í¤Þ¤· ! ¤¿¡¥ ! ¡Ö¥«¥é¥º¥é¥¹¤ÎÆîÀ¾¤ËÆþ¸ý¤¬°ì¤Ä¤¢¤ë¡¥òí¤¬Èô¤Ö¤è¤¦¤ËľÀþ¤Ë¹Ô¤±¤Ð ! ½½¸Þ¥Þ¥¤¥ë¤Ð¤«¤ê¡¤Ïµ¤É¤â¤¬Áö¤ë¤¬¤´¤È¤¯¹Ô¤±¤ÐÆó½½¥Þ¥¤¥ë¤Ð¤«¤ê¤¢ ! ¤í¤¦¡¥¡×¥¬¥ó¥À¥ë¥Õ¤¬¤­¤Ó¤·¤¤´é¤ÇÅú¤¨¤Þ¤·¤¿¡¥ ! ¡Ö¤½¤ì¤Ç¤Ï¡¤¤Ç¤­¤ì¤Ð¡¤Æü¤¬ÌÀ¤ë¤ß¼¡Â褹¤°½Ð¤«¤±¤Þ¤·¤ç¤¦¡¥¡×¤È¡¤ ! ¥Ü¥í¥ß¥¢¤¬¤¤¤¤¤Þ¤·¤¿¡¥¡Ö¸½¤Ë¼ª¤Ëʹ¤¯Ïµ¤É¤â¤Ï¡¤ÏäǶ²¤ì¤ë¥ª¡¼¥¯ ! µ´¤É¤â¤è¤ê°­¤¤¤â¤Î¤Ç¤¹¡¥¡× ! ¡Ö¤½¤ÎÄ̤ꡪ¡×¥¢¥é¥´¥ë¥ó¤Ï¤½¤¦¤¤¤Ã¤Æ¡¤¤µ¤ä¤ËÆþ¤Ã¤¿·õ¤ò¥Ù¥ë¥È¤« ! ¤é¤Ï¤º¤·¤Þ¤·¤¿¡¥¡Ö¤À¤¬¡¤Ïµ¤ÎËʤ¨¤ë¤È¤³¤í¤Ë¤Ï¡¤¥ª¡¼¥¯µ´¤â¤¦¤í¤Ä ! ¤¤¤Æ¤¤¤ë¤â¤Î¤À¡¥¡× [ The Fellowship of the Ring, by J.R.R. Tolkien ] + [ ɾÏÀ¼Ò, À¥ÅÄÄçÆóÌõ ] + *¥ï¥¤¥È *wight ! # When he came to himself again, for a moment he could recall ! # nothing except a sense of dread. Then suddenly he knew that ! # he was imprisoned, caught hopelessly; he was in a barrow. A ! # Barrow-wight had taken him, and he was probably already under ! # the dreadful spells of the Barrow-wights about which whispered ! # tales spoke. He dared not move, but lay as he found himself: ! # flat on his back upon a cold stone with his hands on his ! # breast. ! ¤Õ¤¿¤¿¤ÓÀµµ¤¤Å¤¤¤¿»þ¡¤¤È¤Ã¤µ¤Ë¤Ï¶²ÉÝ´¶¤Î¤Û¤«¤Ï²¿°ì¤Ä»×¤¤½Ð¤»¤Þ ! ¤»¤ó¤Ç¤·¤¿¡¥¤½¤ì¤«¤éÆÍÁ³¼«Ê¬¤¬¼ü¤ï¤ì¤Î¿È¤È¤Ê¤ê¡¤Àä˾Ū¤Ê¾õÂÖ¤Ë ! ´Ù¤Ã¤¿¤³¤È¤òÃΤê¤Þ¤·¤¿¡¥¥Õ¥í¥É¤Ï¸Åʯ¤ÎÃæ¤Ë¤¤¤Þ¤·¤¿¡¥ÄͿͤ¬¤«¤ì ! ¤òÊᤨ¤¿¤Î¤Ç¤¹¡¥¤½¤·¤Æ¤ª¤½¤é¤¯¤¹¤Ç¤Ë¡¤±½Ïä˸ì¤é¤ì¤¿¤«¤ÎÄͿͤ¿ ! ¤Á¤Î¿È¤ÎÌӤΤè¤À¤Ä¤è¤¦¤Ê¼öʸ¤ò¤«¤±¤é¤ì¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¡¥¤« ! ¤ì¤Ï¿ÈÆ°¤­¤¹¤ëͦµ¤¤â¤Ê¤¯¡¤µ¤¤¬¤Ä¤¤¤¿¤È¤­¤Î¤Þ¤Þ¤Î»ÑÀª¤Ç¡¤Î䤤ÀÐ ! ¤ËÇØÃæ¤ò¤¢¤Æ¡¤¶»¤Ëξ¼ê¤òÃÖ¤¤¤Æ¤¸¤Ã¤È²£¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¡¥ [ The Fellowship of the Ring, by J.R.R. Tolkien ] + [ ɾÏÀ¼Ò, À¥ÅÄÄçÆóÌõ ] + ĴϤÎËâ½Ñ»Õ wizard of balance ! # The Wizard of Balance holds office in his hidden tower, only ! # reachable by magical means, where he teaches his apprentices ! # the enigmatic skills of occultism. He considers himself a ! # guardian of the equilibrium of the universe, and goes out of ! # his way to promote stability. ! ĴϤÎËâË¡»È¤¤¤ÏÈà¤ÎËâË¡¤Ë¤è¤Ã¤Æ¤Î¤ß¶á¤Å¤¯¤³¤È¤¬¤Ç¤­¤ë±£¤µ¤ì ! ¤¿Åã¤Ë½»¤ó¤Ç¤ª¤ê¡¤Ææ¤á¤¤¤¿¥ª¥«¥ë¥È½Ñ¤òÄï»Òã¤Ë¶µ¤¨¤Æ¤¤¤ë¡¥Èà¤Ï ! ¼«Ê¬¼«¿È¤òÀ¤³¦¤Î¶Ñ¹Õ¤Î¼é¸î¤È¹Í¤¨¤Æ¤ª¤ê¡¤°ÂÄêÀ­¤ò½õŤ¹¤ë¤è¤¦¤Ê ! ¤ä¤êÊý¤Ï¹Ô¤ï¤Ê¤¤¡¥ ! ¥¤¥§¥ó¥À¡¼¤ÎËâË¡»È¤¤ wizard of yendor ! # No one knows how old this mighty wizard is, or from whence he ! # came. It is known that, having lived a span far greater than ! # any normal man's, he grew weary of lesser mortals; and so, ! # spurning all human company, he forsook the dwellings of men ! # and went to live in the depths of the Earth. He took with ! # him a dreadful artifact, the Book of the Dead, which is said ! # to hold great power indeed. Many have sought to find the ! # wizard and his treasure, but none have found him and lived to ! # tell the tale. Woe be to the incautious adventurer who ! # disturbs this mighty sorcerer! ! ¤³¤Î¶¯Âç¤ÊËâË¡»È¤¤¤¬²¿ºÐ¤À¤È¤«¡¤²¿½è¤«¤éÍ褿¤Î¤È¤«¤òÃΤë¤â¤Î¤Ï ! ¤¤¤Ê¤¤¡¥ÉáÄ̤οʹ֤è¤êÍÚ¤«¤ËŤ¯À¸¤­¤Æ¤ª¤ê¡¤»à¤Ê¤Ê¤¤ÂΤËÂà¶þ¤· ! ¤Ï¤¸¤á¤Æ¤¤¤ë¤³¤È¤¬ÃΤé¤ì¤Æ¤¤¤ë¡¥¤½¤·¤Æ¡¤¿Í´Ö¤È¤Î¤Ä¤­¤¢¤¤¤ä¿Í´Ö ! ¤Ë¤Ä¤¤¤Æ¹Í¤¨¤ë¤³¤È¤â¤ä¤á¡¤¤Ï¤ë¤«ÃϤαü¿¼¤¯¤Ë¸þ¤Ã¤¿¡¥Èà¤Ï¡¤¶²¤· ! ¤¤À»´ï¡Ö»à¼Ô¤Î½ñ¡×¤ò¤â¤Ã¤Æ¤¤¤ë¡¥¤½¤ì¤Ï°ÎÂç¤Ê¥Ñ¥ï¡¼¤ò¤â¤Ã¤Æ¤¤¤ë ! ¤È¸À¤¦¡¥Â¿¤¯¤Î¿Í´Ö¤¬ËâË¡»È¤¤¤È¤½¤ÎÊõ¤òõ¤½¤¦¤È¤·¤¿¡¥¤¬¡¤Ã¯¤âȯ ! ¸«¤¹¤ë¤³¤È¤¬¤Ç¤­¤º¡¤¤½¤ì¤É¤³¤í¤«À¸¤­¤ÆÏäò¸ì¤ë¤â¤Î¤¹¤é¤¤¤Ê¤¤¡¥ ! ¤³¤Î¶¯Âç¤ÊËâË¡»È¤¤¤ò¤«¤­Íð¤¹ÌµËŤÊËÁ¸±¼Ô¤Ë¶ìÄˤ¢¤ì¡ª ! ϵ* ! *ϵ wolf *wolf ! # The ancestors of the modern day domestic dog, wolves are ! # powerful muscular animals with bushy tails. Intelligent, ! # social animals, wolves live in family groups or packs made ! # up of multiple family units. These packs cooperate in hunting ! # down prey. ! ¸½Âå¤Î»ô¤¤¸¤¤ÎÁÄÀè¤Ç¤¢¤ëϵ¤Ï¶¯ÎϤÊÎϤòÌӤय¤¸¤ã¤é¤Î¿¬Èø¤Ë ! »ý¤Ã¤Æ¤¤¤ë¡¥Ïµ¤Ï¡¤¸­¤¯¡¤¼Ò²ñŪÀ¸³è¤ò±Ä¤à¡¥²È²¤Þ¤¿¤Ï²È²¤Î ! ½¸¤Þ¤Ã¤¿·²¤Ç¹ÔÆ°¤¹¤ë¡¥¤³¤ì¤é¤Î·²¤Ï³Íʪ¤ò¼í¤ë¤¿¤á¶¨ÎϤ·¤¢¤¦¡¥ ! *¥ï¡¼¥à ! *¥ï¡¼¥à¤Î¿¬Èø ! ¥¯¥ê¥¹¥Ê¥¤¥Õ ! ¥ï¡¼¥à¤Î»õ *worm long worm tail worm tooth crysknife ! # [The crysknife] is manufactured in two forms from teeth taken ! # from dead sandworms. The two forms are "fixed" and "unfixed". ! # An unfixed knife requires proximity to a human body's ! # electrical field to prevent disintegration. Fixed knives ! # are treated for storage. All are about 20 centimeters long. ! ¡Ö¥¯¥ê¥¹¥Ê¥¤¥Õ¡×¤Ï»à¤ó¤À¥µ¥ó¥É¥ï¡¼¥à¤«¤é¼è¤Ã¤¿»õ¤«¤éºî¤é¤ì¡¤Æó ! ¤Ä¤Î»È¤¤Êý¤¬¤¢¤ë¡¥Æó¤Ä¤Î»È¤¤Êý¤È¤Ï¡¤¸ÇÂΤÈÊ´Ëö¤Ç¤¢¤ë¡¥Ê´Ëö¤Î¥Ê ! ¥¤¥Õ¤ÏÊ´ºÕ¤òËɤ°ÅŻҤΥե£¡¼¥ë¥É¤ò¿Í´Ö¤ÎÂΤΤޤï¤ê¤Ëºî¤ë¡¥¸ÇÂÎ ! ¤·¤¿¥Ê¥¤¥Õ¤ÏÃù¢ÍѤȤ·¤Æ°·¤¦¡¥20¥»¥ó¥Á¥á¡¼¥È¥ë¤¯¤é¤¤¤ÎŤµ¤Ç¤¢¤ë¡¥ ! [ Dune, by Frank Herbert ] ! ¥ì¥¤¥¹ ! ¥Ê¥º¥¯¥ë wraith nazgul ! # Immediately, though everything else remained as before, dim ! # and dark, the shapes became terribly clear. He was able to ! # see beneath their black wrappings. There were five tall ! # figures: two standing on the lip of the dell, three advancing. ! # In their white faces burned keen and merciless eyes; under ! # their mantles were long grey robes; upon their grey hairs ! # were helms of silver; in their haggard hands were swords of ! # steel. Their eyes fell on him and pierced him, as they ! # rushed towards him. Desperate, he drew his own sword, and ! # it seemed to him that it flickered red, as if it was a ! # firebrand. Two of the figures halted. The third was taller ! # than the others: his hair was long and gleaming and on his ! # helm was a crown. In one hand he held a long sword, and in ! # the other a knife; both the knife and the hand that held it ! # glowed with a pale light. He sprang forward and bore down ! # on Frodo. ! ¤¿¤Á¤Þ¤Á¡¤¤Û¤«¤Î¤¹¤Ù¤Æ¤Îʪ¤Ï¤â¤È¤Î¤Þ¤Þ¤Ü¤ó¤ä¤ê¤È°Å¤¯¸«¤¨¤ëÃæ¤Ç¡¤ ! ¹õ¤¤±Æ¤¿¤Á¤Î»Ñ¤À¤±¤¬¶²¤·¤¤¤Û¤É¤Ï¤Ã¤­¤ê¸«¤¨¤Æ¤­¤Þ¤·¤¿¡¥¤«¤ì¤Ï¤« ! ¤ì¤é¤Î¹õ¤¤Áõ«¤Î²¼¤Þ¤Ç¸«Ä̤¹¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿¡¥Çؤι⤤»Ñ¤ÏÁ´Éô ! ¤Ç¸Þ¤Ä¤¢¤ê¤Þ¤·¤¿¡¥Æó¿Í¤Ïë¤Î¤Õ¤Á¤ËΩ¤Á¡¤»°¿Í¤ÏÁ°¿Ê¤·¤ÆÍè¤ë¤È¤³ ! ¤í¤Ç¤·¤¿¡¥¤«¤ì¤é¤ÎÁóÇò¤¤´é¤Ë¤Ï±Ô¤¤Ìµ»üÈá¤ÊÌܤ¬Ç³¤¨¤Æ¤¤¤Þ¤·¤¿¡¥ ! ¹õ¤¤¥Þ¥ó¥È¤Î²¼¤Ë¤Ï³¥¿§¤ÎĹ°á¤ò¤Þ¤È¤Ã¤Æ¤¤¤Þ¤·¤¿¡¥³¥¿§¤Î´é¤Ë¤Ï¶ä ! ¤Î¤«¤Ö¤È¤¬¤«¤Ö¤»¤é¤ì¤Æ¤¤¤Þ¤·¤¿¡¥¤ä¤»¤µ¤é¤Ð¤¨¤¿¼ê¤Ë¤Ï¹Ý¤Î·õ¤¬°® ! ¤é¤ì¤Æ¤¤¤Þ¤·¤¿¡¥¤«¤ì¤é¤Î»ëÀþ¤Ï¤«¤ì¤òÊᤨ¡¤¤«¤ì¤òÆͤ­»É¤·¤Þ¤·¤¿¡¥ ! ¤½¤ì¤È¤È¤â¤Ë¤«¤ì¤é¤Ï¤«¤ì¤Ë¸þ¤Ã¤ÆÁö¤ê½Ð¤·¤Þ¤·¤¿¡¥»à¤Ë¤â¤Î¶¸¤¤¤Ç ! ¤«¤ì¤Ï¼«Ê¬¤Î·õ¤òÈ´¤­¤Þ¤·¤¿¡¥¤«¤ì¤Ë¤Ï¤½¤ì¤¬¤Þ¤ë¤Ç¾¾ÌÀ¤Î¤è¤¦¤ËÀÖ ! ¤¯¤Á¤é¤Á¤é¤È¤æ¤é¤°¤è¤¦¤Ë¸«¤¨¤Þ¤·¤¿¡¥¸Þ¿Í¤Î¤¦¤ÁÆó¿Í¤¬Î©¤Á»ß¤Þ¤ê ! ¤Þ¤·¤¿¡¥»°¿Í¤á¤Ï¤¢¤È¤Î¼Ô¤è¤ê¤¤¤Ã¤½¤¦¹â¤¯¡¤Ä¹¤¤È±¤ò¤­¤é¤á¤«¤·¡¤ ! ¤«¤Ö¤È¤Î¾å¤Ë´§¤ò¤¤¤¿¤À¤¤¤Æ¤¤¤Þ¤·¤¿¡¥¤«¤ì¤ÏÊÒ¼ê¤ËŤ¤·õ¤ò»ý¤Á¡¤ ! ¤â¤¦°ìÊý¤Î¼ê¤Ë¥Ê¥¤¥Õ¤ò°®¤Ã¤Æ¤¤¤Þ¤·¤¿¡¥¥Ê¥¤¥Õ¤â¤½¤ì¤ò°®¤ë¼ê¤âÁó ! Çò¤¤¸÷¤òÊü¤Ã¤Æ¤¤¤Þ¤·¤¿¡¥¤«¤ì¤Ï¤Ñ¤Ã¤ÈÄ·¤Ó¾å¤¬¤Ã¤¿¤«¤È»×¤¦¤È¡¤µÞ ! ¤Ë¥Õ¥í¥É¤Ë½±¤¤¤«¤«¤Ã¤Æ¤­¤Þ¤·¤¿¡¥ [ The Fellowship of the Ring, by J.R.R. Tolkien ] + ¥ï¥ó¥Ñ¥¹ wumpus ! # The Wumpus, by the way, is not bothered by the hazards since ! # he has sucker feet and is too big for a bat to lift. If you ! # try to shoot him and miss, there's also a chance that he'll ! # up and move himself into another cave, though by nature the ! # Wumpus is a sedentary creature. ! ¤È¤³¤í¤Ç¡¤¥ï¥ó¥Ñ¥¹¤ÏµÛÈפΤĤ¤¤¿Â­¤ò»ý¤Ã¤Æ¤¤¤Æ¡¤¤½¤ì¤¬éþéõ¤ò ! »ý¤Á¤¢¤²¤ë¤Î¤Ë¤ÏÂ礭¤¹¤®¤ë¤Î¤À¤¬¡¤Á´Á³¶ì¤Ë¤·¤Æ¤¤¤Ê¤¤¡¥¤â¤·¡¤ ! ¤½¤ì¤ò·â¤È¤¦¤È¤·¤Æ¼ºÇÔ¤·¤Æ¤â¡¤Â¾¤Îƶ·¢¤Ë¤è¤¸¤Î¤Ü¤Ã¤Æ°ÜÆ°¤¹¤ë ! ¥Á¥ã¥ó¥¹¤¬¤Þ¤¿¤¢¤ë¡¥¼«Á³³¦¤Î¥ï¥ó¥Ñ¥¹¤Ï¸ÇÃåÀ­¤ÎÀ¸Êª¤Ç¤¢¤ë¡¥ [ wump (6) -- "Hunt the Wumpus" ] + ¥¶¥ó xan They sent their friend the mosquito [xan] ahead of them to find out what lay ahead. "Since you are the one who sucks *************** *** 2471,2514 **** the Lords of Death, he stung the first person that he saw... The mosquito stung this man as well, and when he yelled, the ! man next to him asked, "Gathered Blood, what's wrong?" So he flew along the row stinging all the seated men until he knew the names of all twelve. [ Popul Vuh, as translated by Ralph Nelson ] xorn ! A distant cousin of the earth elemental, the xorn has the ! ability to shift the cells of its body around in such a way ! that it becomes porous to inert material. This gives it the ! ability to pass through any obstacle that might be between it ! and its next meal. ya ! The arrow of choice of the samurai, ya are made of very ! straight bamboo, and are tipped with hardened steel. yeenoghu ! Yeenoghu, the demon lord of gnolls, still exists although ! all his followers have been wiped off the face of the earth. ! He casts magic projectiles at those close to him, and a mere ! gaze into his piercing eyes may hopelessly confuse the ! battle-weary adventurer. yeti ! An ape-like humanoid native to inaccessible mountain tops, ! the yeti is also known as "the abominable snowman". Whether ! or not the title "man" is appropriate remains unknown. yugake ! Japanese leather archery gloves. Gloves made for use while ! practicing had thumbs reinforced with horn. Those worn into ! battle had thumbs reinforced with a double layer of leather. yumi ! The samurai is highly trained with a special type of bow, ! the yumi. Like the ya, the yumi is made of bamboo. With ! the yumi-ya, the bow and arrow, the samurai is an extremely ! accurate and deadly warrior. *zombie ! The zombi... is a soulless human corpse, still dead, but ! taken from the grave and endowed by sorcery with a ! mechanical semblance of life, -- it is a dead body which is ! made to walk and act and move as if it were alive. [ W. B. Seabrook ] zruty ! The zruty are wild and gigantic beings, living in the ! wildernesses of the Tatra mountains. --- 4497,4571 ---- the Lords of Death, he stung the first person that he saw... The mosquito stung this man as well, and when he yelled, the ! man next to him asked, "Gathered Blood, what's wrong?" So he flew along the row stinging all the seated men until he knew the names of all twelve. [ Popul Vuh, as translated by Ralph Nelson ] + ¥¾¡¼¥ó xorn ! # A distant cousin of the earth elemental, the xorn has the ! # ability to shift the cells of its body around in such a way ! # that it becomes porous to inert material. This gives it the ! # ability to pass through any obstacle that might be between it ! # and its next meal. ! ÃϤÎÀºÎî¤Î±ó¤¤½¾»ÐËå¤Ë¤¢¤¿¤ë¡¥¥¾¡¼¥ó¤ÏÂΤò¹½À®¤¹¤ëºÙ˦¤ò ! °ÜÆ°¤µ¤»ÊªÂΤÎÆâÉô¤Ë¿»Æ©¤¹¤ëǽÎϤò»ý¤Ä¡¥¤³¤ì¤Ë¤è¤ê¡¤Êɤä ! ¾ã³²Êª¤ò¼«ºß¤ËÄ̤êÈ´¤±¤ëǽÎϤò»ý¤Ä¡¥ ! Ìð ya ! # The arrow of choice of the samurai, ya are made of very ! # straight bamboo, and are tipped with hardened steel. ! »ø¤Î»ÈÍѤ¹¤ëÌð¤Ç¤¢¤ë¡¥Ìð¤Ï¿¿Ä¾¤ÊÃݤ«¤éºî¤ê¡¤Ì𤸤ê¤Ï·ø¤¤Å´¤Ç ! ¤¢¤ë¡¥ ! ¥¤¡¼¥Î¥° yeenoghu ! # Yeenoghu, the demon lord of gnolls, still exists although ! # all his followers have been wiped off the face of the earth. ! # He casts magic projectiles at those close to him, and a mere ! # gaze into his piercing eyes may hopelessly confuse the ! # battle-weary adventurer. ! ¥¤¡¼¥Î¥°¤Ï¥Î¡¼¥ë¤Î»ÙÇۼԤǤ¢¤ê¡¤¤½¤Î¼ê²¼¤¬ÃÏɽ¤«¤é°ìÁݤµ¤ì¤Æ ! ¤·¤Þ¤Ã¤¿¤Ë¤â¤«¤«¤ï¤é¤º¡¤¤¤¤Þ¤À¤Ë¸ºß¤·¤Æ¤¤¤ë¡¥¶áÉÕ¤¯¤ÈËâ½ÑÃÆ ! ¤òȯ¼Í¤¹¤ë¡¥¤½¤Î±Ô¤¤Ìܤòñ¤Ë¤Á¤é¤ê¤È¸«¤¿¤À¤±¤Ç¤â¡¤À襤¤Ë¤Ä¤« ! ¤ì¤¿ËÁ¸±¼Ô¤Ï¤É¤¦¤·¤è¤¦¤â¤Ê¤¯º®Í𤷤Ƥ·¤Þ¤¦¤«¤â¤·¤ì¤Ê¤¤¡¥ ! ¥¤¥§¥Æ¥£ yeti ! # An ape-like humanoid native to inaccessible mountain tops, ! # the yeti is also known as "the abominable snowman". Whether ! # or not the title "man" is appropriate remains unknown. ! ±î¤Î¤è¤¦¤Ê°¡¿Í´Ö¤Ç¡¤Ì¤Æ§¤Î»³¤Îĺ¾å¤Î¸¶½»Ì±¤Ç¤¢¤ë¡¥¥¤¥§¥Æ¥£¤Ï ! ¡Ö»ÄµÔ¤ÊÀãÃˡפȤ·¤Æ¤âÃΤé¤ì¤Æ¤¤¤ë¡¥¡ÖÃˡפȸÀ¤¦¤Î¤¬Å¬Åö¤«¤É ! ¤¦¤«¤Ï̤¤ÀÉÔÌÀ¤Ç¤¢¤ë¡¥ ! µÝ·ü yugake ! # Japanese leather archery gloves. Gloves made for use while ! # practicing had thumbs reinforced with horn. Those worn into ! # battle had thumbs reinforced with a double layer of leather. ! ÆüËܤγ×À½¤Î¥¢¡¼¥Á¥§¥ê¡¼¤Î¾®¼ê¤Ç¤¢¤ë¡¥¼ÂºÝ¤Ë¤Ï³»¤È¤È¤â¤Ë¡¤¿Æ ! »Ø¤òÊ䶯¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤¿¡¥¤³¤ì¤é¤ÎËɶñ¤Ï¼ÂÀï¤Ç¤Ï³×¤òÆó½Å¤Ë ! ¤·¤Æ¡¤¿Æ»Ø¤òÊ䶯¤·¤¿¤È¤¤¤¦¡¥ ! µÝ yumi ! # The samurai is highly trained with a special type of bow, ! # the yumi. Like the ya, the yumi is made of bamboo. With ! # the yumi-ya, the bow and arrow, the samurai is an extremely ! # accurate and deadly warrior. ! »ø¤Ï¹âÅ٤ʥȥ졼¥Ë¥ó¥°¤òÆüì¤ÊÉð´ï¤Ç¤¢¤ëµÝ¤ËÂФ·¤Æ¹Ô¤Ê¤Ã¤Æ¤¤ ! ¤ë¡¥Ìð¤ÎÍͤˡ¤µÝ¤ÏÃݤǺî¤é¤ì¤Æ¤¤¤ë¡¥µÝÌð¤ò»ý¤Ä¤³¤È¤Ë¤è¤ê¡¤»ø ! ¤Ï¶Ë¤á¤ÆÀºÌ©¤Ê»¦¿ÍÀï»Î¤È¤Ê¤ë¡¥ ! *¥¾¥ó¥Ó *zombie ! # The zombi... is a soulless human corpse, still dead, but ! # taken from the grave and endowed by sorcery with a ! # mechanical semblance of life, -- it is a dead body which is ! # made to walk and act and move as if it were alive. ! ¥¾¥ó¥Ó¡¥¡¥¡¥¤Ïº²¤Î¤Ê¤¤¿Í´Ö¤Î»àÂΤǤ¢¤ë¤¬Ê褫¤é½Ð¤Æ¡¤Ëâ½Ñ¤Ë¤è¤Ã ! ¤Æµ¡³£Åª¤ÊÁõ¤¤¤ò¼õ¤±¤Æ¤¤¤ë¡¥-- ¤µ¤âÀ¸¤­¤Æ¤¤¤ë¤«¤Î¤è¤¦¤ËÊ⤭¡¤ ! ±é¤¸¡¤Æ°¤¯¤¿¤á¤Î»à¤ÎÂΤǤ¢¤ë¡¥ [ W. B. Seabrook ] + ¥º¥ë¥Æ¥£ zruty ! # The zruty are wild and gigantic beings, living in the ! # wildernesses of the Tatra mountains. ! ¥º¥ë¥Æ¥£¤Ï¶¤Ë½¤ÇµðÂç¤ÊÀ¸Êª¤Ç¤¢¤ë¡¥¥¿¥È¥é»³¤Î¹ÓÃϤ˽»¤ó¤Ç¤¤¤ë¡¥ ! diff -c -r ../nethack-3.2.2/dat/endgame.des ./dat/endgame.des *** ../nethack-3.2.2/dat/endgame.des Sat Dec 28 21:53:27 1996 --- ./dat/endgame.des Tue Jul 22 23:17:57 1997 *************** *** 9,19 **** # Players are supposed to sacrifice the Amulet of Yendor on the appropriate # shrine. MAZE:"earth",' ' FLAGS: noteleport,hardfloor,shortsighted ! MESSAGE: "Well done, mortal!" ! MESSAGE: "But now thou must face the final Test..." ! MESSAGE: "Prove thyself worthy or perish!" GEOMETRY:center,center # The player lands, upon arrival, in the --- 9,29 ---- # Players are supposed to sacrifice the Amulet of Yendor on the appropriate # shrine. + # + # Japanese version Copyright (c) Issei Numata 1994 + # changing point is marked `JP' (94/1/6) + # JNetHack may be freely redistributed. See license for details. + # + MAZE:"earth",' ' FLAGS: noteleport,hardfloor,shortsighted ! #JP ! #MESSAGE: "Well done, mortal!" ! #MESSAGE: "But now thou must face the final Test..." ! #MESSAGE: "Prove thyself worthy or perish!" ! MESSAGE: "¤è¤¯¤ä¤Ã¤¿¡¤¿Í´Ö¤è¡ª" ! MESSAGE: "¤·¤«¤·¡¤Æò¤ÏºÇ¸å¤Î»îÎý¤ËľÌ̤·¤Æ¤¤¤ë¡¥¡¥¡¥" ! MESSAGE: "Æò¼«¿È²ÁÃͤ¢¤ë¤â¤Î¤«Èݤ«¤ò¼¨¤»¡ª" GEOMETRY:center,center # The player lands, upon arrival, in the *************** *** 128,135 **** FLAGS: noteleport,hardfloor,shortsighted # The following messages are somewhat obtuse, to make then # equally meaningful if the player can see or not. ! MESSAGE: "What a strange feeling!" ! MESSAGE: "You notice that there is no gravity here." GEOMETRY:center,center # The player lands, upon arrival, in the # lower-left area. The location of the --- 138,148 ---- FLAGS: noteleport,hardfloor,shortsighted # The following messages are somewhat obtuse, to make then # equally meaningful if the player can see or not. ! #JP ! #MESSAGE: "What a strange feeling!" ! #MESSAGE: "You notice that there is no gravity here." ! MESSAGE: "¤Ê¤ó¤È´ñ̯¤Êµ¤»ý¤À¡ª" ! MESSAGE: "¤¢¤Ê¤¿¤Ï¤³¤³¤Ë¤Ï½ÅÎϤ¬¤Ê¤¤¤³¤È¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥" GEOMETRY:center,center # The player lands, upon arrival, in the # lower-left area. The location of the *************** *** 373,379 **** MAZE:"water",' ' FLAGS: noteleport,hardfloor,shortsighted ! MESSAGE: "You find yourself suspended in an air bubble surrounded by water." GEOMETRY:center,center # The player lands upon arrival to an air bubble # within the leftmost third of the level. The --- 386,393 ---- MAZE:"water",' ' FLAGS: noteleport,hardfloor,shortsighted ! #MESSAGE: "You find yourself suspended in an air bubble surrounded by water." ! MESSAGE: "¤¢¤Ê¤¿¤Ï¿åÃæ¤Î¶õµ¤¤ÎË¢¤Î¤Ê¤«¤ËÉâÍ·¤·¤Æ¤¤¤ë¡¥" GEOMETRY:center,center # The player lands upon arrival to an air bubble # within the leftmost third of the level. The *************** *** 463,471 **** MAZE:"astral",' ' FLAGS: noteleport,hardfloor,nommap,shortsighted ! MESSAGE: "You arrive on the Astral Plane!" ! MESSAGE: "Here the High Temples of the aligned gods are located." ! MESSAGE: "You sense alarm, hostility, and excitement in the air!" GEOMETRY:center,center MAP --------------- --- 477,488 ---- MAZE:"astral",' ' FLAGS: noteleport,hardfloor,nommap,shortsighted ! #MESSAGE: "You arrive on the Astral Plane!" ! #MESSAGE: "Here the High Temples of the aligned gods are located." ! #MESSAGE: "You sense alarm, hostility, and excitement in the air!" ! MESSAGE: "¤¢¤Ê¤¿¤ÏÀºÎ¤ËÅþÃ夷¤¿¡ª" ! MESSAGE: "¤³¤³¤Ë¤Ï¤¢¤Ê¤¿¤Î¿À¤ÎÂç¿ÀŤ¬¤¢¤ë¡¥" ! MESSAGE: "¤¢¤Ê¤¿¤Ï´í¸±¤ò´¶¤¸¡¤¶½Ê³¤·¤¿¡¥" GEOMETRY:center,center MAP --------------- diff -c -r ../nethack-3.2.2/dat/mines.des ./dat/mines.des *** ../nethack-3.2.2/dat/mines.des Sun Oct 8 02:53:13 1995 --- ./dat/mines.des Tue Jul 22 23:18:01 1997 *************** *** 310,317 **** NON_DIGGABLE:(53,07,55,07) NON_DIGGABLE:(53,14,61,14) # The Gnome King's wine cellar. ! ENGRAVING:(12,03),engrave,"You are now entering the Gnome King's wine cellar." ! ENGRAVING:(12,04),engrave,"Trespassers will be persecuted!" OBJECT:'!',"booze",(10,07) OBJECT:'!',"booze",(10,07) OBJECT:'!',random,(10,07) --- 310,319 ---- NON_DIGGABLE:(53,07,55,07) NON_DIGGABLE:(53,14,61,14) # The Gnome King's wine cellar. ! #ENGRAVING:(12,03),engrave,"You are now entering the Gnome King's wine cellar." ! #ENGRAVING:(12,04),engrave,"Trespassers will be persecuted!" ! ENGRAVING:(12,03),engrave,"¥Î¡¼¥à¤Î²¦¤Î¥ï¥¤¥óÁÒ¸Ë" ! ENGRAVING:(12,04),engrave,"¿¯Æþ¼Ô¤Ï¤½¤ìÁê±þ¤Î½þ¤¤¤òµá¤á¤é¤ì¤ë¡ª" OBJECT:'!',"booze",(10,07) OBJECT:'!',"booze",(10,07) OBJECT:'!',random,(10,07) diff -c -r ../nethack-3.2.2/dat/quest.txt ./dat/quest.txt *** ../nethack-3.2.2/dat/quest.txt Sat Dec 28 21:53:28 1996 --- ./dat/quest.txt Tue Sep 23 07:10:18 1997 *************** *** 44,2929 **** # QT_POSTHANKS 90 # QT_HASAMULET 91 # # # Archeologist # %Cc A 00001 ! You are suddenly in familiar surroundings. The buildings in the distance ! appear to be those of your old alma mater, but something is wrong. It looks ! as if there has been a riot recently, or %H has ! been under siege. ! All of the windows are boarded up, and there are objects scattered around ! the entrance. ! Strange forbidding shapes seem to be moving in the distance. %E %Cp A 00002 ! Once again, you are back at %H. %E %Cp A 00003 ! You are back at %H. ! You have an odd feeling this may be the last time you ever come here. %E %Cp A 00005 ! "Did you see Lash LaRue in 'Song of Old Wyoming' the other night?" %E %Cp A 00006 ! "Hey man, got any potions of hallucination for sale?" %E %Cp A 00007 ! "Did you see the artifact %l brought back from the last dig?" %E %Cp A 00008 ! "So what species do *you* think we evolved from?" %E %Cp A 00009 ! "So you're %ls prize pupil! I don't know what he sees in you." %E %Cc A 00010 ! "Finally you have returned, %p. You were always ! my most promising student. Allow me to see if you are ready for the ! most difficult task of your career." %E %Cp A 00011 ! "Again, %p, you stand before me. ! Let me see if you have gained experience in the interim." %E %Cp A 00012 ! "Once more, %p, you have returned from the field. ! Are you finally ready for the task that must be accomplished?" %E %Cc A 00013 ! "%p, you have failed us. All of my careful training has been in ! vain. Begone! Your tenure at this college has been revoked! ! "You are a disgrace to the profession!" %E %Cc A 00014 ! "%p, you are yet too inexperienced to undertake such a demanding ! quest. A mere %r could not possibly face the rigors demanded and ! survive. Go forth, and come here again when your adventures have further ! taught you." %E %Cc A 00015 ! "%p! I've heard that you've been using sloppy techniques. Your ! results lately can hardly be called suitable for %ra! ! "How could you have strayed from the %a path? Go from here, and come ! back only when you have purified yourself." %E %Cc A 00016 ! "Grave times have befallen the college, for %na has ! stolen %o. Without it, the board of directors of ! the university will soon have no choice but to revoke our research grants. ! "You must locate the entrance to %i. Within it, ! you will find %n. ! "You must the defeat %n and return %o ! to me. ! "Only in this way will we be able to prevent the budget cuts that could ! close this college. ! "May the wisdom of %d be your guide." %E %Cp A 00020 ! "Beware, for %n is powerful and cunning." %E %Cp A 00021 ! "To locate the entrance to %i, you must pass ! many traps." %E %Cp A 00022 ! "A %nt may be vulnerable to attacks by magical cold." %E %Cp A 00023 ! "Call upon %d when you encounter %n." %E %Cp A 00024 ! "You must destroy %n. It will pursue you otherwise." %E %Cp A 00025 ! "%oC is a mighty talisman. With it you ! can destroy %n." %E %Cp A 00026 ! "Go forth with the blessings of %d." %E %Cp A 00027 ! "I will have my %gP watch for your return." %E %Cp A 00028 ! "Remember not to stray from the true %a path." %E %Cp A 00029 ! "You may be able to sense %o when you are near." %E %Cp A 00030 ! You have the feeling that you will soon find the entrance to ! %i. %E %Cp A 00031 ! Once again, you are near the entrance to %i. %E %Cp A 00040 ! You sense the presence of %o. %E %Cp A 00041 ! The familiar presence of %o is in the ether. %E %Cc A 00050 ! "So, %p, you think that you can succeed in recovering ! %o, when your teacher, %l, has already failed. ! "Come, try your best! I shall destroy you, and gnaw on your bones." %E %Cc A 00051 ! "Again you try to best me, eh %p? Well, you shall fail again. ! "You shall never recover %o. ! "I shall bear your soul to the Plane of Origins for my master's pleasure." %E %Cp A 00052 ! "You persist yet %p! Good. Now, you shall die!" %E %Cp A 00053 ! "I shall have %o from you, %p, then feast ! upon your entrails!" %E %Cp A 00060 ! "Try your best, %p. You cannot defeat me." %E %Cp A 00061 ! "I shall rend the flesh from your body whilst you still breathe!" %E %Cp A 00062 ! "First you, %p, then I shall destroy your mentor, %l." %E %Cp A 00063 ! "Tiring yet, %p? I draw my power from my master and cannot ! falter!" %E %Cp A 00064 ! "I shall rend thy soul from thy body and consume it!" %E %Cp A 00065 ! "You are far too %a -- it weakens you. You shall die in this place." %E %Cp A 00066 ! "%d has forsaken you! You are lost now!" %E %Cp A 00067 ! "A mere %r cannot hope to defeat me!" %E %Cp A 00068 ! "If you are the best %l can send, I have nothing to fear." %E %Cp A 00069 ! "Die %c! I shall exhibit your carcass as a trophy." %E %Cc A 00070 ! The power of %o flows through your body! You feel ! as if you could now take on the Wizard of Yendor himself and win, but ! you know you must return %o to %l. %E %Cp A 00080 ! The body of %n dissipates in a cloud of noxious fumes. %E %Cc A 00081 ! %lC touches %o briefly, gazes into it, ! then smiles at you and says: ! "Well done, %p. You have defeated %n and ! recovered %o. But I fear that it shall never be safe ! here. ! Please take %o with you. You, %p, can ! guard it now far better than I. ! May the blessings of %d follow you and guard you." %E %Cc A 00090 ! "Welcome back, %p. Have you progressed with your quest to ! regain the Amulet of Yendor for %d?" %E %Cc A 00091 ! "Congratulations, %p. I wondered if anyone could prevail against ! the Wizard and the minions of Moloch. Now, you must embark on one ! final adventure. ! ! "Take the Amulet, and find your way onto the astral plane. ! There you must find the altar of %d and sacrifice the ! Amulet on that altar to fulfill your destiny. ! "Remember, your path now should always be upwards." %E # # Barbarian # %Cc B 00001 ! Warily you scan your surroundings, all of your senses alert for signs ! of possible danger. Off in the distance, you can see the familiar shapes ! of %H. ! But why, you think, should %l be there? ! Suddenly, the hairs on your neck stand on end as you detect the aura of ! evil magic in the air. ! Without thought, you ready your weapon, and mutter under your breath: ! "By %d, there will be blood spilt today." %E %Cp B 00002 ! Once again, you near %H. You know that %l ! will be waiting. %E %Cp B 00003 ! Again, and you think possibly for the last time, you approach ! %H. %E %Cp B 00005 ! "The battles here have been good -- our enemies' blood soaks the soil!" %E %Cp B 00006 ! "Remember that glory is crushing your enemies beneath your feet!" %E %Cp B 00007 ! "There has been little treasure to loot, since the horde arrived." %E %Cp B 00008 ! "The horde is mighty in numbers, but they have little courage." %E %Cp B 00009 ! "%lC is a strange one, but he has helped defend us." %E %Cc B 00010 ! "Ah, %p. You have returned at last. The world is in dire ! need of your help. There is a great quest you must undertake. ! ! "But first, I must see if you are ready to take on such a challenge." %E %Cp B 00011 ! "%p, you are back. Are you ready now for the challenge?" %E %Cp B 00012 ! "Again, you stand before me, %p. Surely you have prepared yourself." %E %Cc B 00013 ! "Pah! You have betrayed the gods, %p. You will never attain ! the glory which you aspire to. Your failure to follow the true path has ! closed this future to you. ! "I will protect these people as best I can, but soon %n will overcome ! me and destroy all who once called you %s. Now begone!" %E %Cc B 00014 ! "%p, I fear that you are as yet too inexperienced to face ! %n. Only %Ra with the help of %d could ever hope to ! defeat him." %E %Cp B 00015 ! "%p! You have wandered from the path of the %a! ! If you attempt to overcome %n in this state, he will surely ! enslave your soul. Your only hope, and ours, lies in your purification. ! Go forth, and return when you feel ready." %E %Cc B 00016 ! "The world is in great need of your assistance, %p. ! ! "About six months ago, I learned that a mysterious sorcerer, known ! as %n, had begun to gather a large group of cutthroats and brigands ! about him. ! ! "At about the same time, these people you once rode with `liberated' a ! potent magical talisman, %o, from a Turanian caravan. ! ! "%nC and his Black Horde swept down upon %i and defeated ! the people there, driving them out into the desert. He has taken ! %o, and seeks to bend it to his will. I detected the ! subtle changes in the currents of fate, and joined these people. ! Then I sent forth a summons for you. ! ! "If %n can bend %o to his will, he will become ! almost indestructible. He will then be able to enslave the minds of ! men across the world. You are the only hope. The gods smile upon you, ! and with %d behind you, you alone can defeat %n. ! ! "You must go to %i. From there, you can track down ! %n, defeat him, and return %o to us. Only ! then will the world be safe." %E %Cp B 00020 ! "%nC is strong in the dark arts, but not immune to cold steel." %E %Cp B 00021 ! "Remember that %n is a great sorcerer. He lived in the time ! of Atlantis." %E %Cp B 00022 ! "If you fail, %p, I will not be able to protect these people long." %E %Cp B 00023 ! "To enter %i, you must be very stealthy. The horde will be on guard." %E %Cp B 00024 ! "Call upon %d in your time of need." %E %Cp B 00025 ! "May %d protect you, and guide your steps." %E %Cp B 00026 ! "If you can lay hands upon %o, carry it for good fortune." %E %Cp B 00027 ! "I cannot stand against %ns sorcery. But %d will help you." %E %Cp B 00028 ! "Do not fear %n. I know you can defeat him." %E %Cp B 00029 ! "You have a great road to travel, %p, but only after you defeat ! %n." %E %Cc B 00030 ! The scent of water comes to you in the desert breeze. You know that ! you have located %i. %E %Cp B 00031 ! Yet again you have a chance to infiltrate %i. %E %Cc B 00040 ! The hairs on the nape of your neck lift as you sense an energy in the ! very air around you. You fight down a primordial panic that seeks to ! make you turn and run. This is surely the lair of %n. %E %Cp B 00041 ! Yet again you feel the air around you heavy with malevolent magical energy. %E %Cc B 00050 ! "So. This is what that second rate sorcerer %l sends to do his bidding. ! I have slain many before you. You shall give me little sport. ! "Prepare to die, %c." %E %Cp B 00051 ! "I have wasted too much time on you already. Now, you shall die." %E %Cp B 00052 ! "You return yet again, %c! Are you prepared for death now?" %E %Cp B 00053 ! "I shall have %o back, you pitiful excuse for %ca. ! And your life as well." %E %Cp B 00060 ! "My pets will dine on your carcass tonight!" %E %Cp B 00061 ! "You are a sorry excuse for %ra." %E %Cp B 00062 ! "Run while you can, %c. My next spell will be your last." %E %Cp B 00063 ! "I shall use your very skin to bind my next grimoire." %E %Cp B 00064 ! "%d cannot protect you now. Here, you die." %E %Cp B 00065 ! "Your %a nature makes you weak. You cannot defeat me." %E %Cp B 00066 ! "Come, %c. I shall kill you, then unleash the horde on your tribe." %E %Cp B 00067 ! "Once you are dead, my horde shall finish off %l, and your tribe." %E %Cp B 00068 ! "Fight, %c, or are you afraid of the mighty %n?" %E %Cp B 00069 ! "You have failed, %c. Now, my victory is complete." %E %Cc B 00070 ! As you pick up %o, you feel the power of it ! flowing through your hands. It seems to be in two or more places ! at once, even though you are holding it. %E %Cp B 00080 ! %nC falls to the ground, and utters a last curse at you. Then his ! body fades slowly, seemingly dispersing into the air around you. You ! slowly become aware that the overpowering aura of magic in the air has ! begun to fade. %E %Cc B 00081 ! When %l sees %o, he smiles, and says: ! ! Well done, %p. You have saved the world from certain doom. ! What, now, should be done with %o? ! ! These people, brave as they are, cannot hope to guard it from ! other sorcerers who will detect it, as surely as %n did. ! ! Take %o with you, %p. It will guard you in ! your adventures, and you can best guard it. You embark on a ! quest far greater than you realize. ! Remember me, %p, and return when you have triumphed. I ! will tell you then of what you must do. You will understand when the ! time comes. %E %Cp B 00090 ! "Tell us, %p, have you fared well on your great quest?" %E %Cc B 00091 ! "This is wondrous, %p. I feared that you could not possibly ! succeed in your quest, but here you are in possession of the Amulet ! of Yendor! ! ! "I have studied the texts of the magi constantly since you left. In ! the Book of Skelos, I found this: ! ! %d will cause a child to be sent into the world. This child is to ! be made strong by trial of battle and magic, for %d has willed it so. ! It is said that the child of %d will recover the Amulet of Yendor ! that was stolen from the Creator at the beginning of time. ! ! "As you now possess the amulet, %p, I suspect that the Book ! speaks of you. ! ! The child of %d will take the Amulet, and travel to the Astral ! Plane, where the Great Temple of %d is to be found. The Amulet ! will be sacrificed to %d, there on His altar. Then the child will ! stand by %d as champion of all %cP for eternity. ! "This is all I know, %p. I hope it will help you." %E # # Cave(wo)man # %Cc C 00001 ! You descend through a barely familiar stairwell that you remember ! %l showing you when you embarked upon your vision quest. ! ! You arrive back at %H, but something seems ! wrong here. The usual smoke and glowing light of the fires of the ! outer caves are absent, and an uneasy quiet fills the damp air. %E %Cp C 00002 ! Once again, you arrive back at %H. %E %Cp C 00003 ! For some reason, you think that this may be the last time you will ! enter %H. %E %Cp C 00005 ! "We have not been able to gather as much food since the Giants sealed ! off our access to the outer world." %E %Cp C 00006 ! "Since %n sent her minions, we have been constantly fighting." %E %Cp C 00007 ! "I have heard your vision quest was successful. Is this so?" %E %Cp C 00008 ! "So, tell me, %p, how have you fared?" %E %Cp C 00009 ! "%lC grows old. We know not who will guide us after he ascends." %E %Cc C 00010 ! "You have returned from your vision quest, %p. Thank %d. ! "We are in dire need of your help, my %S. ! "But first, I must see if you are yet capable of the quest I would ! ask you to undertake." %E %Cp C 00011 ! "Again, you return to us, %p. Let me see if you are ready now." %E %Cp C 00012 ! "Ah, %p. Are you finally ready?" %E %Cc C 00013 ! "%p! You have sealed our fate. You seem unable to reform yourself, ! so I must select another to take your place. ! "Begone from %H! You have betrayed us by choosing ! the path of the %C over the true path of the %L. ! "You no longer live in our eyes." %E %Cc C 00014 ! "Alas, %p, you are as yet too inexperienced to embark upon such ! a difficult quest as that I propose to give you. ! "%rA could not possibly survive the rigors demanded to find ! %i, never mind to confront %n herself. ! "Adventure some more, and you will learn the skills you will require. ! %d decrees it." %E %Cc C 00015 ! "%p! You have deviated from my teachings. You no longer follow ! the path of the %a as you should. I banish you from these caves, to ! go forth and purify yourself. Then, you might be able to accomplish this ! quest." %E %Cc C 00016 ! "You are indeed ready now, %p. I shall tell you a tale of ! great suffering among your people: ! ! "Shortly after you left on your vision quest, the caves were invaded by ! the creatures sent against us by %n. ! ! "She, herself, could not attack us due to her great size, but her minions ! have harassed us ever since. In the first attacks, many died, and the ! minions of %n managed to steal %o. ! They took it to %i and there, none of our ! %g warriors have been able to go. ! ! "You must find %i, and within it wrest ! %o from %n. She guards it as ! jealously as she guards all treasures she attains. But with it, ! we can make our caves safe once more. ! "Please, %p, recover %o for us, and return it here." %E %Cp C 00020 ! "%nC is immune to her own breath weapons. ! You should use magic upon her that she does not use herself." %E %Cp C 00021 ! "When you encounter %n, call upon %d for assistance." %E %Cp C 00022 ! "There will be nowhere to hide inside %ns inner sanctum." %E %Cp C 00023 ! "Your best chance with %n will be to keep moving." %E %Cp C 00024 ! "Do not be distracted by the great treasures in %ns lair. ! Concentrate on %o." %E %Cp C 00025 ! "%oC is the only object that %n truly fears." %E %Cp C 00026 ! "Do not be fooled by %ns size. She is fast, and it is ! rumored that she uses magic." %E %Cp C 00027 ! "I would send a party of %gP with you, but we will need all ! of our strength to defend ourselves." %E %Cp C 00028 ! "Remember, be %a at all times. This is your strength." %E %Cp C 00029 ! "If only we had an amulet of reflection, this would not have happened." %E %Cc C 00030 ! You %x many large claw marks on the ground. The tunnels ahead ! of you are larger than most of those in any cave complex you have ! ever been in before. ! Your nose detects the smell of carrion from within, and bones litter ! the sides of the tunnels. %E %Cp C 00031 ! Once again, you approach %i. %E %Cc C 00040 ! You find yourself in a large cavern, with neatly polished walls, that ! nevertheless show signs of being scorched by fire. ! Bones litter the floor, and there are objects scattered everywhere. ! The air is close with the stench of sulphurous fumes. ! %nC is clearly visible, but she seems to be asleep. %E %Cp C 00041 ! Once again, you find yourself in the lair of %n. %E %Cc C 00050 ! "So, human, you seek to invade the lair of %n. ! Only my meals are allowed down here. Prepare to be eaten!" %E %Cp C 00051 ! "So, again you face me, %c. No human has ever before escaped me. ! Now I shall kill you." %E %Cp C 00052 ! "You are getting annoying, %c. Prepare to die." %E %Cp C 00053 ! "I'll have %o from you, %c. You shall die." %E %Cp C 00060 ! "You are weak, %c. No challenge for the Mother of all Dragons." %E %Cp C 00061 ! "I grow hungry, human. You look like a nice appetizer!" %E %Cp C 00062 ! "Join me for lunch? You're the main course, %c." %E %Cp C 00063 ! "With %o, I am invincible! You cannot succeed." %E %Cp C 00064 ! "Your mentor, %l has failed. You are nothing to fear." %E %Cp C 00065 ! "You shall die here, %c. %rA cannot hope to defeat me." %E %Cp C 00066 ! "You, a mere %r challenge the might of %n? Hah!" %E %Cp C 00067 ! "I am the Mother of all Dragons! You cannot hope to defeat me." %E %Cp C 00068 ! "My claws are sharp now. I shall rip you to shreds!" %E %Cp C 00069 ! "%d has deserted you, %c. This is my domain." %E %Cc C 00070 ! As you pick up %o it seems heavy at first, but as you ! hold it strength flows into your arms. ! You suddenly feel full of power, as if nothing could possibly stand ! in your path. %E %Cp C 00080 ! %nC sinks to the ground, her heads flailing about. ! As she dies, a cloud of noxious fumes billows about her. %E %Cc C 00081 ! %lC glimpses %o in your possession. ! He smiles and says: ! ! You have done it! We are saved. But I fear that %o ! will always be a target for %C forces who will want it for their ! own. ! ! To prevent further trouble, I would like you, %p, ! to take %o away with you. It will help you as you ! quest for the Amulet of Yendor. %E %Cp C 00090 ! "%p! Welcome back. ! How goes your quest to recover the Amulet for %d?" %E %Cc C 00091 ! "You have been successful, I see, %p. ! "Now that the Amulet of Yendor is yours, here is what you must do: ! "Journey upwards to the open air. The Amulet you carry will then ! take you into the Astral Planes, where the Great Temple of %d ! casts its influence throughout our world. ! "Sacrifice the Amulet on the altar. Thus shall %d become supreme!" %E # # Elf # %Cc E 00001 ! You arrive in familiar surroundings. In the distance, you %x the ! great stone Circle, the place of worship to %d. ! Something is wrong, though. Surrounding the circle are orcs! ! And they've noticed you! %E %Cp E 00002 ! Once again, you stand before %H. %E %Cp E 00003 ! You have the oddest feeling that this may be the last time you ! are to enter %H. %E %Cp E 00005 ! "%p! I have not seen you in many cycles. How do you fare?" %E %Cp E 00006 ! "%nC continues to threaten the circle. But we hold fast." %E %Cp E 00007 ! "%lC is growing weak. The magic required to defend the circle drains us." %E %Cp E 00008 ! "Remember %i is hard to enter. Seek the secret ! passageways." %E %Cp E 00009 ! "We must regain %o. Without it we will be overrun." %E %Cc E 00010 ! "%p! You have returned! Thank %d. ! "We have great need of you. But first, I must see if you have the ! required abilities to take on this responsibility." %E %Cp E 00011 ! "Once again, %p, you stand in our midst. Are you ready now?" %E %Cp E 00012 ! "Ah, you are here again, %p. Allow me to determine your readiness..." %E %Cc E 00013 ! "%p! You have doomed us all. You fairly radiate %L influences ! and weaken the power we have raised in this circle as a result! ! "Begone! We renounce your %shood with us! You are an outcast now!" %E %Cc E 00014 ! "%p, you are yet too inexperienced to withstand the demands of that ! which we need you to do. %RA might just be able to do this thing. ! "Return to us when you have learned more, my %S." %E %Cc E 00015 ! "You have strayed, %p! You know that %d requires that ! we maintain a pure devotion to things %a! ! "You must go from us. Return when you have purified yourself." %E %Cc E 00016 ! "You are indeed ready, %p. I shall tell you what has transpired, ! and why we so desperately need your help: ! ! "A short time ago, the Uruk-hai tribes of the mountains to the east ! invaded and enslaved the goblin tribes in this area. The local ! %nt is now only a figurehead, and serves the Uruk-hai Overlord. ! ! "During our last gathering of worship here, we were beset by hordes of ! orcs and goblins, as you witnessed. In the first onslaught a group, ! headed by %n himself, managed to breach the circle and ! steal %o. ! ! "Since then, we have been besieged. We do not know how much longer ! we will be able to maintain our magical barriers. ! ! "If we are to survive, you, %p, must infiltrate ! %i. There, you will find a pathway down, to the ! underground castle of %n. He has always coveted ! %o, and will surely keep it on his person, ! until he delivers it to the Uruk-hai Overlord. ! "Recover %o for us, %p! Only then will ! the circle of %d be safe." %E %Cp E 00020 ! "It is rumored that the Uruk-hai have a pact with the Hill Ogres." %E %Cp E 00021 ! "%nC is strong, but not very smart." %E %Cp E 00022 ! "Use %o, when you find it. It will help you survive ! to reach us." %E %Cp E 00023 ! "Remember, let %d be your guide." %E %Cp E 00024 ! "Call upon %d when you face %n. ! The very act of doing so will infuriate him, and give you advantage." %E %Cp E 00025 ! "Though %n is as %C as we, he and his kind have always ! hated us." %E %Cp E 00026 ! "We cannot hold the circle much longer, %p. Hurry!" %E %Cp E 00027 ! "To infiltrate %i, you must be very stealthy." %E %Cp E 00028 ! "Remember that %n is a braggart. Trust not what he says." %E %Cp E 00029 ! "You can triumph, %p, if you trust in %d." %E %Cc E 00030 ! You descend into the outer regions of %i. You can hear ! scuffling sounds in the corridors, and vague mumblings in the distance. ! You remember that %ga once told you that there were many secret ! passageways in this complex. %E %Cp E 00031 ! Once again, you descend into %i. %E %Cc E 00040 ! You descend into a weird place, in which roughly cut cave-like walls ! join with smooth, finished ones, as if someone was in the midst of ! finishing off the construction of a subterranean complex. ! Off in the distance, you hear the sounds of a large, raucous gathering. %E %Cp E 00041 ! Once again, you enter the distorted castle of %n. %E %Cc E 00050 ! "So, %c. %lC has sent you to recover %o. ! "Well, I shall keep that bauble. It pleases me. You, %c, shall die." %E %Cp E 00051 ! "Back again, eh? Well, a mere %r is no threat to me! Die, %c!" %E %Cp E 00052 ! "You haven't learned your lesson, %c. You can't kill me! You shall die now." %E %Cp E 00053 ! "I shall have %o from you, %r. Then I shall ! kill you." %E %Cp E 00060 ! "Your %d is nothing, %c. You are mine now!" %E %Cp E 00061 ! "Run away little %c! You can never hope to defeat %n!" %E %Cp E 00062 ! "My Uruk-hai servants will rip you to shreds!" %E %Cp E 00063 ! "I shall display your head as a trophy. What do you think about that wall?" %E %Cp E 00064 ! "I shall break your %ls circle, and destroy all the %gP!" %E %Cp E 00065 ! "%d has abandoned you, %c. You are doomed." %E %Cp E 00066 ! "%rA? %lC sends a mere %r against me? Hah!" %E %Cp E 00067 ! "%lC has failed, %c. %oC will never leave here." %E %Cp E 00068 ! "You really think you can defeat me, eh %c? You are wrong!" %E %Cp E 00069 ! "You weaken, %c. I shall kill you now." %E %Cc E 00070 ! As you pick up %o, it seems to glow, and a warmth ! fills you completely. You realize that its power is what has protected ! your %sp against their enemies for so long. ! You must now return it to %l without delay -- their lives depend ! on your speed. %E %Cc E 00080 ! %nC collapses to the ground, cursing you and %l, then says: ! ! You have defeated me, %r! But I curse you one final time, with my ! dying breath! You shall die before you leave my castle! %E %Cc E 00081 ! "%p! You have succeeded! I feared it was not possible! ! "Your aura proclaims that you possess %o! ! "I fear, now, that the Uruk-hai will select yet another %nt. ! This will take some time, but if you can recover the Amulet of Yendor ! for %d before that happens, we will be eternally safe. ! "Take %o with you. It will aid in your quest for ! the Amulet." %E %Cp E 00090 ! "Welcome, %p. How have you fared on your quest for the Amulet ! of Yendor?" %E %Cc E 00091 ! "Utuelyes! You have recovered the Amulet of Yendor! ! Now attend to me, %p, and I will tell you what must be done: ! "The Amulet has within it magic, the capability to transport you to ! the Astral Plane, where the primary circle of %d resides. ! "To activate this magic, you must travel upwards as far as you can. ! When you reach the temple, sacrifice the Amulet to %d. ! "Thus will you fulfill your destiny." %E # # Healer # %Cc H 00001 ! What sorcery has brought you back to %H? The smell ! of fresh funeral pyres tells you that something is amiss with the healing ! powers that used to practice here. ! ! No rhizotomists are tending the materia medica gardens, and where are the ! common folk who used to come for the cures? ! ! You know that you must quickly make your way to the collegium, and ! %ls iatreion, and find out what has happened in your ! absence. %E %Cp H 00002 ! After your last experience you expected to be here, but you certainly ! did not expect to see things so much worse. This time you must ! succeed. %E %Cp H 00003 ! Again, you %x %H in the distance. ! The smell of death and disease permeates the air. You do not have ! to be %Ra to know that %n is on the verge of victory. %E %Cp H 00005 ! "Did you read that new treatise on the therapeutic use of leeches?" %E %Cp H 00006 ! "Paint a red caduceus on your shield and monsters won't hit you." %E %Cp H 00007 ! "I passed handwriting so they are demoting me a rank." %E %Cp H 00008 ! "I've heard that even %l has not been able to cure Chiron." %E %Cp H 00009 ! "We think %n has used his alchemists, and %o, ! to unleash a new disease we call 'the cold' on Gehennom." %E %Cc H 00010 ! "Feebly, %l raises his head to look at you. ! ! "It is good to see you again, %p. I see the concern in your ! eyes, but do not worry for me. I am not ready for Hades yet. We have ! exhausted much of our healing powers holding off %n. ! I need your fresh strength to carry on our work. ! "Come closer and let me lay hands on you, and determine if you have ! the skills necessary to accomplish this mission." %E %Cp H 00011 ! "Again you return to me, %p. I sense that each trip back ! the pleurisy and maladies of our land begin to infect you. Let us ! hope and pray to %d that you become ready for your task before ! you fall victim to the bad humors." %E %Cp H 00012 ! "Chiron has fallen, Hermes has fallen, what else must I tell you to ! impress upon you the importance of your mission! I hope that you ! have come prepared this time." %E %Cc H 00013 ! "You have failed us, %p. You are a quack! A charlatan! ! "Hades will be happy to hear that you are once again practicing your ! arts on the unsuspecting." %E %Cc H 00014 ! "Alas, %p, you are yet too inexperienced to deal with the rigors ! of such a task. You must be able to draw on the knowledge of botany, ! vetenary, and alchemy before I can send you on this quest with good ! conscience. ! "Return when you wear %Ra's caduceus." %E %Cc H 00015 ! "You have learned much of the remedies that benefit, but you must also ! know which physic for which ail. That is why %ds teachings are a ! part of your training. ! "Return to us when you have healed thyself." %E %Cc H 00016 ! For the first time, you sense a smile on %ls face. ! ! You have indeed learned as much as we can teach you in preparation ! for this task. Let me tell you what I know of the symptoms and hope ! that you can provide a cure. ! ! A short while ago, the dreaded %nt was fooled by the gods ! into thinking that he could use %o to find a ! cure for old age. Think of it, eternal youth! But his good ! health is accomplished by drawing the health from those around him. ! ! He has exhausted his own supply of healthy people and now he seeks to ! extend his influence into our world. You must recover from him ! %o and break the spell. ! You must travel into the swamps to %i, and from there ! follow the trail to %ns island lair. Be careful. %E %Cp H 00020 ! "Remember, %p, to always wash your hands before operating." %E %Cp H 00021 ! "%nC has no real magic of his own. To this he is vulnerable." %E %Cp H 00022 ! "If you have been true to %d, you can draw on the power of ! %o." %E %Cp H 00023 ! "Bring with you antidotes for poisons." %E %Cp H 00024 ! "Remember this, %n cannot use %o ! to harm you, it has only healing powers." %E %Cp H 00025 ! "I have sent for Chiron, but I am afraid he will come too late." %E %Cp H 00026 ! "Maybe when you return the snakes will once again begin to shed." %E %Cp H 00027 ! "The plague grows worse as we speak. Hurry, %p!" %E %Cp H 00028 ! "Many times %n has caused trouble in these lands. It is ! time that he was eradicated like the diseases he has caused." %E %Cp H 00029 ! "With but one eye, %n should be easy to blind. Remember this." %E %Cc H 00030 ! You stand before the entrance to %i. Strange ! scratching noises come from within the building. ! The swampy ground around you seems to stink with disease. %E %Cp H 00031 ! Once again you stand at the entrance to %i. %E %Cc H 00040 ! You stand within sight of the infamous Isle of %n. Even ! the words of %l had not prepared you for this. ! ! Steeling yourself against the wails of the ill that pierce your ears, ! you hurry on your task. Maybe with %o you can ! heal them on your return, but not now. %E %Cp H 00041 ! Once again, you %x the Isle of %n in the distance. %E %Cc H 00050 ! "They have made a mistake in sending you, %p. ! "When I add your youth to mine, it will just make it easier for me ! to defeat %l." %E %Cp H 00051 ! "Unlike your patients, you seem to keep coming back, %p!" %E %Cp H 00052 ! "Which would you like, %p? Boils, pleurisy, convulsions?" %E %Cp H 00053 ! "I'll have %o back from you, %r. You are ! not going to live to escape this place." %E %Cp H 00060 ! "They might as well give scalpels to wizards as to let you try to ! use %o!" %E %Cp H 00061 ! "If I could strike %l, surrounded by his %gP, imagine what I ! can do to you here by yourself." %E %Cp H 00062 ! "I will put my %Rp to work making a physic out of your ashes." %E %Cp H 00063 ! "As we speak, Hades gathers your patients to join you." %E %Cp H 00064 ! "After I'm done with you, I'll destroy %l as well." %E %Cp H 00065 ! "You will have to kill me if you ever hope to leave this place." %E %Cp H 00066 ! "I will impale your head on my caduceus for all to see." %E %Cp H 00067 ! "There is no materia medica in your sack which will cure you of me!" %E %Cp H 00068 ! "Do not fight too hard, I want your soul strong, not weakened!" %E %Cp H 00069 ! "You should have stopped studying at vetenary." %E %Cc H 00070 ! As you pick up %o, you feel its healing begin to ! warm your soul. You curse Zeus for taking it from its rightful owner, ! but at least you hope that %l can put it to good use once ! again. %E %Cc H 00080 ! The battered body of %n slumps to the ground and gasps ! out one last curse: ! You have defeated me, %p, but I shall have my revenge. ! How, I shall not say, but this curse shall be like a ! cancer on you. ! With that %n dies. %E %Cc H 00081 ! As soon as %l sees %o he summons his %gP. ! ! Gently, %l reaches out and touches %o. ! He instructs each of the assembled to do the same. When everyone ! has finished he speaks to you. ! ! Now that we have been replenished we can defeat this plague. You must ! take %o with you and replenish the worlds you have ! been called upon to travel next. I wish you could ride Chiron to the ! end of your journey, but I need him to help me spread the cure. Go ! now and continue your journey. %E %Cp H 00090 ! "You have again returned to us, %p. We have done well in your ! absence, yes? How fare you upon your quest for the Amulet?" %E %Cc H 00091 ! "Ah, you have recovered the Amulet, %p. Well done! ! ! "Now, you should know that you must travel through the elemental planes ! to the astral, and there return the Amulet to %d. Go forth and ! may our prayers be as a wind upon your back." %E # # Knight # %Cc K 00001 ! You materialize in the shadows of %H. Immediately, you notice ! that something is wrong. The fields around the castle are trampled and ! withered, as if some great battle has been recently fought. ! ! Looking closer, you %x long gouges in the walls of %H. ! You know of only one creature that makes those kinds of marks... %E %Cp K 00002 ! Once again you stand in the shadows of %H. %E %Cp K 00003 ! Again, you stand before %H. You vaguely sense that this ! may be the last time you stand before %l. %E %Cp K 00005 ! "Hail, %p! Verily, thou looks well." %E %Cp K 00006 ! "There is word, %p, that %n hath been sighted in the fens ! near %i." %E %Cp K 00007 ! "Thou art our only hope now, %p." %E %Cp K 00008 ! "Verily, %l could have no better champion, %p." %E %Cp K 00009 ! "Many brave %cP died when %n attacked." %E %Cc K 00010 ! "Ah, %p. We see thou hath received our summons. ! We are in dire need of thy prowess. But first, We must needs ! decide if thou art ready for this great undertaking." %E %Cp K 00011 ! "Welcome again, %p. We hope thou art ready now." %E %Cp K 00012 ! "Once again, thou standeth before us, %p. Art thou ready now?" %E %Cp K 00013 ! "Thou disgraceth this noble court with thine impure presence. We have been ! lenient with thee, but no more. Thy name shalt be spoken no more. We ! hereby strip thee of thy title, thy lands, and thy standing as %ca. ! Begone from our sight!" %E %Cp K 00014 ! "Verily, %p, thou hast done well. That thou hast survived thus ! far is a credit to thy valor, but thou art yet unprepared for ! the demands required as Our Champion. %rA, no matter how ! pure, could never hope to defeat the foul %n. - "Journey forth from this place, and hone thy skills. Return to - Our presence when thou hast attained the noble title of %R." %E %Cp K 00015 ! "Thou dishonoureth us, %p! Thou hast strayed from the path of ! chivalry! Go from our presence and do penance. Only when thou art again ! pure may thou return hence." %E %Cc K 00016 ! "Ah, %p. Thou art truly ready, as no %c before thee hath ! been. Hear now Our words: ! ! "As thou noticed as thou approached %H, a great battle hath ! been fought recently in these fields. Know thou that Merlin himself ! came to aid us here as we battled the foul %n. In the midst of that ! battle, %n struck Merlin a great blow, felling him. Then, as our ! forces were pressed back, %n stole %o. ! ! "We eventually turned the tide, but lost many %cP in doing so. ! Merlin was taken off by his apprentice, but hast not recovered. We hast ! been told that so long as %n possesses %o, ! Merlin will not regain his health. ! ! "We hereby charge thee with this most important of duties: ! ! "Go forth from this place, to the fens, and there thou wilt find ! %i. From there, thou must track down %n. Destroy the ! beast, and return to Us %o. Only then can ! We restore Merlin to health." %E %Cp K 00020 ! "Remember, %p, follow always the path of %d." %E %Cp K 00021 ! "Though %n is verily a mighty foe, we have confidence in thy victory." %E %Cp K 00022 ! "Beware, for %n hast surrounded himself with hordes of foul creatures." %E %Cp K 00023 ! "Great treasure, 'tis said, is hoarded in the lair of %n." %E %Cp K 00024 ! "If thou possesseth %o, %p, %ns magic ! shalt therewith be thwarted." %E %Cp K 00025 ! "The gates of %i are guarded by forces unseen, %p. ! Go carefully." %E %Cp K 00026 ! "Return %o to us quickly, %p." %E %Cp K 00027 ! "Destroy %n, %p, else %H shall surely fall." %E %Cp K 00028 ! "Call upon %d when thou art in need." %E %Cp K 00029 ! "To find %i, thou must keep thy heart pure." %E %Cc K 00030 ! You stand at the foot of %i. Atop, you can %x a shrine. ! Strange energies seem to be focused here, and the hair on the back ! of your neck stands on end. %E %Cp K 00031 ! Again, you stand at the foot of %i. %E %Cc K 00040 ! As you exit the swamps, you %x before you a huge, gaping hole in the ! side of a hill. From within, you smell the foul stench of carrion. ! The pools on either side of the entrance are fouled with blood, and ! pieces of rusted metal and broken weapons show above the surface. %E %Cp K 00041 ! Again, you stand at the entrance to %ns lair. %E %Cp K 00050 ! "Hah! Another puny %c seeks death. I shall dine well tonight, ! then tomorrow, %H shall fall!" %E %Cp K 00051 ! "Again, thou challengeth me, %r? So be it. Thou wilt die here." %E %Cp K 00052 ! "Thou art truly foolish, %r. I shall dispatch thee anon." %E %Cp K 00053 ! "So, thou darest touch MY property! I shall have that bauble back, ! puny %r. Thou wilt die in agony!" %E %Cp K 00060 ! "A mere %r can never withstand me!" %E %Cp K 00061 ! "I shall kill thee now, and feast!" %E %Cp K 00062 ! "Puny %c. What manner of death dost thou wish?" %E %Cp K 00063 ! "First thee, %p, then I shall feast upon %l." %E %Cp K 00064 ! "Hah! Thou hast failed, %r. Now thou shalt die." %E %Cp K 00065 ! "Die, %c. Thou art as nothing against my might." %E %Cp K 00066 ! "I shall suck the marrow from thy bones, %c." %E %Cp K 00067 ! "Let's see... Broiled? No. Fried? Nay. Baked? Yea verily, ! that is the way I like my %c for dinner." %E %Cp K 00068 ! "Thy strength wanes, %p. The time of thy death draws near." %E %Cp K 00069 ! "Call upon thy precious %d, %p. It shalt not avail thee." %E %Cc K 00070 ! As you pick up %o, you feel its protective fields ! form around your body. You also feel a faint stirring in your mind, ! as if you are in two places at once, and in the second, you are waking ! from a long sleep. %E %Cc K 00080 ! As %n sinks to the ground, blood gushing from his open mouth, he ! defiantly curses you and %l: ! ! Thou hast not won yet, %r. By the gods, I shalt return and dog ! thy steps to the grave! ! His tail flailing madly, %n tries to crawl towards you, but slumps ! to the ground and dies in a pool of his own blood. %E %Cc K 00081 ! As you approach %l, he beams at you and says: ! ! Well done! Thou art truly the Champion of %H. We ! have received word that Merlin is recovering, and shall soon ! rejoin us. ! ! He has instructed us that thou art now to be the guardian of ! %o. He feels that thou may have need of ! its powers in thine adventures. It is our wish that thou keep ! %o with thee as thou search for the fabled ! Amulet of Yendor. %E %Cp K 00090 ! "Well met, %p. How goest thy search for the Amulet of Yendor?" %E %Cc K 00091 ! "Thou hast succeeded, we see, %p! Now thou art commanded to take ! the Amulet to be sacrificed to %d in the plane of the astral. ! "Merlin hath counseled us that thou must travel always upwards through ! the planes of the elements, to achieve this goal. ! "Go with %d, %p." %E # # Priest # %Cc P 00001 ! You find yourself standing in sight of %H. Something ! is obviously wrong here. The doors to %H, which usually ! stand open, are closed. Strange human shapes shamble around ! outside. ! You realize that %l needs your assistance! %E %Cp P 00002 ! Once again, you stand before %H. %E %Cp P 00003 ! Again you face %H. Your intuition hints that this may be ! the final time you come here. %E %Cp P 00005 ! "Greetings, honored %r. It is good to see you." %E %Cp P 00006 ! "Ah, %p! Surely you can help us in our hour of need." %E %Cp P 00007 ! "Greetings, %s. %lC has great need of your help." %E %Cp P 00008 ! "Alas, it seems as if even %d has deserted us." %E %Cp P 00009 ! "May %d be with you, %s." %E %Cc P 00010 ! "Ah, %p, my %S. You have returned to us at last. ! A great blow has befallen our order; perhaps you can help us. ! First, however, I must determine if you are prepared for this ! great challenge." %E %Cp P 00011 ! "Again, my %S, you stand before me. Are you ready now to help us?" %E %Cp P 00012 ! "Once more, %p, you stand within the sanctum. Are you ready now?" %E %Cc P 00013 ! "You are a heretic, %p! How can you, %ra, deviate so from the ! teachings of %d? Begone from this temple. You are no longer ! %sa to this order. We will pray to %d for other assistance, ! as you have failed us utterly." %E %Cc P 00014 ! "Alas, %p, it is not yet to be. A mere %r could never ! withstand the might of %n. Go forth, again into the world, and return ! when you have attained the post of %R." %E %Cc P 00015 ! "This is terrible, %p. You have deviated from the true path! ! You know that %d requires the most strident devotion of this ! order. The %shood must stand for utmost piety. ! "Go from here, atone for your sins against %d. Return only when ! you have purified yourself." %E %Cc P 00016 ! "Yes, %p. You are truly ready now. Attend to me and I shall ! tell you of what has transpired: ! ! "At one of the Great Festivals a short time ago, %n and a legion ! of undead invaded %H. Many %gP were killed, including ! the one carrying %o. ! ! "As a final act of vengefulness, %n desecrated the altar here. ! Without it, we could not mount a counter-attack. Now, there are ! barely enough %gP left to keep the undead at bay. ! ! "We need you to find %i, then, from there, travel ! to %ns lair. If you can manage to defeat %n and return ! %o here, we can then drive off the legions of ! undead that befoul the land. ! "Go with %d as your guide, %p." %E %Cp P 00020 ! "You can prevail, if you rely on %d." %E %Cp P 00021 ! "Remember that %n has great magic at his command." %E %Cp P 00022 ! "Be pure, my %S." %E %Cp P 00023 ! "Beware, %i is surrounded by a great graveyard." %E %Cp P 00024 ! "You may be able to affect %n with magical cold." %E %Cp P 00025 ! "Acquire and wear %o if you can. It will aid you ! against %n." %E %Cp P 00026 ! "Call upon %d when your need is greatest. You will be answered." %E %Cp P 00027 ! "The undead legions are weakest during the daylight hours." %E %Cp P 00028 ! "Do not loose faith, %p. If you do so, %n will grow stronger." %E %Cp P 00029 ! "Wear %o. It will assist you against the undead." %E %Cc P 00030 ! You stand facing a large graveyard. The sky above is filled with clouds ! that seem to get thicker closer to the center. You sense the presence of ! undead in larger numbers than you have ever encountered before. ! You remember the descriptions of %i, given to you by ! %lC. It is ahead that you will find %ns trail. %E %Cp P 00031 ! Again, you stand before %i. %E %Cc P 00040 ! The stench of brimstone is all about you, and the shrieks and moans ! of tortured souls assault your psyche. ! Ahead, there is a small clearing amidst the bubbling pits of lava... %E %Cp P 00041 ! Again, you have invaded %ns domain. %E %Cc P 00050 ! "Ah, so %lC has sent another %g to retrieve ! %o. ! ! "No, I see you are no %g. Perhaps I shall have some fun today ! after all. Prepare to die, %r! You shall never regain ! %o." %E %Cp P 00051 ! "So, %r. Again you challenge me." %E %Cp P 00052 ! "Die now, %r. %d has no power here to aid you." %E %Cp P 00053 ! "You shall die, %r, and I will have %o back." %E %Cp P 00060 ! "Submit to my will, %c, and I shall spare you." %E %Cp P 00061 ! "Your puny powers are no match for me, %c." %E %Cp P 00062 ! "I shall have you turned into a zombie for my pleasure!" %E %Cp P 00063 ! "Despair now, %r. %d cannot help you." %E %Cp P 00064 ! "I shall feast upon your soul for many days, %c." %E %Cp P 00065 ! "Your death will be slow and painful. That I promise!" %E %Cp P 00066 ! "You cannot defeat %n, you fool. I shall kill you now." %E %Cp P 00067 ! "Your precious %lt will be my next victim." %E %Cp P 00068 ! "I feel your powers failing you, %r. You shall die now." %E %Cp P 00069 ! "With %o, nothing can stand in my way." %E %Cc P 00070 ! As you pick up %o, you feel the essence of ! %d fill your soul. You know now why %n stole it from ! %H, for with it, %ca of %d could ! easily defeat his plans. ! ! You sense a message from %d. Though not verbal, you ! get the impression that you must return to %lC as soon ! as possible. %E %Cc P 00080 ! You feel a wrenching shift in the ether as %ns body dissolves ! into a cloud of noxious gas. ! Suddenly, a voice booms out: ! Thou hast defeated the least of my minions, %r. ! Know now that Moloch is aware of thy presence. ! As for you, %n, I shall deal with thy failure ! at my leisure. ! You then hear the voice of %n, screaming in terror... %E %Cc P 00081 ! "You have returned, %p. And with %o, I see. ! Congratulations. ! ! "I have been in meditation, and have received direction from ! a minion of %d. %d commands that you retain ! %o. With it, you must recover the Amulet ! of Yendor. ! ! "Go forth, and let %d guide your steps." %E %Cp P 00090 ! "Welcome back, %p. How is your quest for the Amulet going?" %E %Cc P 00091 ! "You have prevailed, %p! %d is surely with you. Now, ! you must take the amulet, and sacrifice it on %ds altar on ! the Astral plane. I suspect that I shall never see you again in this ! life, but I hope to at %ds feet." %E # # Rogue (with apologies to all Norsk speakers -dean) # %Cc R 00001 ! Unexpectedly, you find yourself back in Ransmannsby, where you trained to ! be a thief. Quickly you make the guild sign, hoping that you AND word ! of your arrival reach %ls den. %E %Cp R 00002 ! Once again, you find yourself back in Ransmannsby. Fond memories are ! replaced by fear, knowing that %l is waiting for you. %E %Cp R 00003 ! You rub your hands through your hair, hoping that the little ones on ! the back of your neck stay down, and prepare yourself for your meeting ! with %l. %E %Cp R 00005 ! "I hear that Lady Tyvefelle's household is lightly guarded." %E %Cp R 00006 ! "You're back? Even the Twain don't come back anymore." %E %Cp R 00007 ! "Can you spare an old cutpurse a zorkmid for some grog?" %E %Cp R 00008 ! "Fritz tried to join the other side, and now he's hell-hound chow." %E %Cp R 00009 ! "Be careful what you steal, I hear the boss has perfected turning ! rocks into worthless pieces of glass." %E %Cc R 00010 ! "Well, look who it is boys -- %p has come home. You seem to have ! fallen behind in your dues. I should kill you as an example to these ! other worthless cutpurses, but I have a better plan. If you are ready ! maybe you could work off your back dues by performing a little job for ! me. Let us just see if you are ready..." %E %Cp R 00011 ! "Well, I didn't expect to see you back. It shows that you are either stupid, ! or you are finally ready to accept my offer. Let us hope for your sake it ! isn't stupidity that brings you back." %E %Cp R 00012 ! "Did you perhaps mistake me for some other %lt? You must ! think me as stupid as your behavior. I warn you not to try my patience." %E %Cc R 00013 ! "Well %gp, it looks like our friend has forgotten who is the boss ! around here. Our friend seems to think that %rp have been put in ! charge. Wrong. DEAD WRONG!" ! Your sudden shift in surroundings prevents you from hearing the end ! of %ls curse. %E %Cc R 00014 ! "In the time that you've been gone you've only been able to master the ! arts of %ra? I've trained ten times again as many %Rp ! in that time. Maybe I should send one of them, no? Where would that ! leave you, %p? Oh yeah, I remember, I was going to kill you!" %E %Cc R 00015 ! "Maybe I should chain you to my perch here for a while. Perhaps watching ! real %A men at work will bring some sense back to you. I don't ! think I could stand the sight of you for that long though. Come back ! when you can be trusted to act properly." %E %Cc R 00016 ! "Will everyone not going to retrieve %o from that ! jerk, %n, take one step backwards. Good choice, ! %p, because I was going to send you anyway. My other %gp ! are too valuable to me. ! ! "Here's the deal. I want %o, %n ! has %o. You are going to get %o ! and bring it back to me. So simple an assignment even you can understand ! it." %E %Cc R 00020 ! "You don't seem to understand, %o isn't here so ! neither should you be!" %E %Cp R 00021 ! "May %d curse you with lead fingers. Get going!" %E %Cp R 00022 ! "We don't have all year. GET GOING!" %E %Cc R 00023 ! "How would you like a scar necklace? I'm just the jeweler to do it!" %E %Cp R 00024 ! "Lazy S.O.B. Maybe I should call up someone else..." %E %Cp R 00025 ! "Maybe I should open your skull and see if my instructions are inside?" %E %Cp R 00026 ! "This is not a task you can complete in the afterlife, you know." %E %Cc R 00027 ! "Inside every living person is a dead person trying to get out, and I have ! your key!" %E %Cp R 00028 ! "We're almost out of hell-hound chow, so why don't you just get moving!" %E %Cp R 00029 ! "You know, %o isn't going to come when you ! whistle. You must get it yourself." %E %Cp R 00030 ! Those damn little hairs tell you that you are nearer to ! %o. %E %Cp R 00031 ! Not wanting to face %l without having stolen ! %o, you continue. %E %Cc R 00040 ! You feel a great swelling up of courage, sensing the presence of ! %o. Or is it fear? %E %Cp R 00041 ! The hairs on the back of your neck whisper -- it's fear. %E %Cc R 00050 ! "Ah! You must be %ls ... er, `hero'. A pleasure ! to meet you." %E %Cc R 00051 ! "We meet again. Please reconsider your actions." %E %Cp R 00052 ! "Surely, %p, you have learned that you cannot trust any bargains ! that %l has made. I can show you how to continue on ! your quest without having to run into him again." %E %Cp R 00053 ! "Please, think for a moment about what you are doing. Do you truly ! believe that %d would want %l to have ! %o?" %E %Cp R 00060 ! "May I suggest a compromise. Are you interested in gold or gems?" %E %Cp R 00061 ! "Please don't force me to kill you." %E %Cp R 00062 ! "Grim times are upon us all. Will you not see reason?" %E %Cp R 00063 ! "I knew %l, and you're no %lt, thankfully." %E %Cp R 00064 ! "It is a shame that we are not meeting under more pleasant circumstances." %E %Cp R 00065 ! "I was once like you are now, %p. Believe in me -- our way ! is better." %E %Cp R 00066 ! "Stay with me, and I will make you %os guardian." %E %Cp R 00067 ! "When you return, with or without %o, ! %l will have you killed." %E %Cp R 00068 ! "Do not be fooled; I am prepared to kill to defend %o." %E %Cp R 00069 ! "I can reunite you with the Twain. Oh, the stories you can swap." %E %Cc R 00070 ! "As you pick up %o, the hairs on the back of your ! neck fall out. At once you realize why %n was ! willing to die to keep it out of %ls hands. Somehow ! you know that you must do likewise." %E %Cc R 00080 ! "I know what you are thinking, %p. It is not too late for you ! to use %o wisely. For the sake of your guild ! %sp, do what is right." ! You sit and wait for death to come for %n, and then you ! brace yourself for your next meeting with %l! %E %Cc R 00081 ! "Well, I'll be damned. You got it. I am proud of you, a fine %r ! you've turned out to be. ! ! "While you were gone I got to thinking, you and %o ! together could bring me more treasure than either of you apart, so why don't ! you take it with you. All I ask is a cut of whatever loot you come by. ! That is a better deal than I offered %n. ! "But, you see what happened to %n when he refused. ! Don't make me find another to send after you this time." %E %Cc R 00090 ! "Quite the little thief, aren't we, %p. Can I interest you in a ! swap for %o. Look around, anything in the keep ! is yours for the asking." %E %Cc R 00091 ! "I see that with your abilities, and my brains, we could rule this world. ! ! "All that we would need to be all-powerful is for you to take that little ! trinket you've got there up to the Astral plane. From there, %d will ! show you what to do with it. Once that's done, we will be invincible!" %E # # Samurai # %Cc S 00001 ! Even before your senses adjust, you recognize the kami of ! %H. ! But why is the standard of your teki, %n, flying ! above the town? Why are ninja wandering freely, where are the ! samurai of your daimyo, %l? ! You quickly say a prayer to Izanagi and Izanami and walk towards ! town. %E %Cp S 00002 ! Once again, you are back at %H. %E %Cp S 00003 ! You are back at %H. ! ! Instantly you sense a subtle change in your karma. You seem to know that ! if you do not succeed in your quest, %n will have destroyed ! the kami of %H before you return again. %E %Cp S 00005 ! "To succeed, you must walk like a butterfly on the wind." %E %Cp S 00006 ! "Ikaga desu ka?" %E %Cp S 00007 ! "I fear for The Land of The Gods." %E %Cp S 00008 ! "%nC has hired the Ninja -- be careful." %E %Cp S 00009 ! "If %o is not returned, we will all be ninja." %E %Cc S 00010 ! "Ah, %p-san, it is good to see you again. I need someone who can ! lead my samurai against %n. If you are ready, you will be ! that person." %E %Cp S 00011 ! "Once again, %p-san, you kneel before me. Are you yet capable of ! being my vassal?" %E %Cp S 00012 ! "You begin to test my matsu, %p-san. ! If you cannot determine what I want in a samurai, how can I rely on you ! to figure out what I need from a samurai?" %E %Cp S 00013 ! "You are no longer my samurai, %p. ! "Hara-kiri is denied. You are ordered to shave your head and then to ! become a monk. Your fief and family are forfeit. Wakarimasu?" %E %Cp S 00014 ! "%p-san, you have learned well and honored your family. ! I require the skills of %Ra in order to defeat %n. ! Go and seek out teachers. Learn what they have learned. When you ! are ready, return to me." %E %Cp S 00015 ! "%p-san, you would do better to join the kyokaku. ! ! "You have skills, but until you can call upon the bushido to know when and ! how to use them you are not samurai. When you can think %a and ! act %a then return." %E %Cc S 00016 ! "Domo %p-san, indeed you are ready. I can now tell you what ! it is that I require of you. ! "The daimyo, %n, has betrayed us. He has stolen from us ! %o and taken it to his donjon deep within ! %i. ! ! "If I cannot show the emperor %o when he comes ! for the festival he will know that I have failed in my duty, and ! request that I commit seppuku. ! ! "You must gain entrance to %i and retrieve the ! emperor's property. Be quick! The emperor will be here for the ! cha-no-you in 5 sticks. ! "Wakarimasu?" %E %Cp S 00020 ! "To defeat %n you must overcome the seven emotions: ! hate, adoration, joy, anxiety, anger, grief, and fear." %E %Cp S 00021 ! "Remember your honor is my honor, you perform in my name." %E %Cp S 00022 ! "I will go to the temple and burn incense for your safe return." %E %Cp S 00023 ! "Sayonara." %E %Cp S 00024 ! "There can be honor in defeat, but no gain." %E %Cp S 00025 ! "Your kami must be strong in order to succeed." %E %Cp S 00026 ! "You are indeed a worthy %R, but now you must be a worthy samurai." %E %Cp S 00027 ! "If you fail, %n will be like a tai-fun on the land." %E %Cp S 00028 ! "If you are truly %a, %d will listen." %E %Cp S 00029 ! "Sharpen your swords and your wits for the task before you." %E %Cc S 00030 ! You instinctively reach for your swords. You do not recognize the ! lay of this land, but you know that your teki are everywhere. %E %Cp S 00031 ! Thankful that your %sp at %H cannot see ! your fear, you prepare again to advance. %E %Cc S 00040 ! In your mind, you hear the taunts of %n. ! ! You become like the rice plant and bend to the ground, offering a ! prayer to %d. But when the wind has passed, you stand ! proudly again. Putting your kami in the hands of fate, you advance. %E %Cp S 00041 ! As you arrive once again at the home of %n, your thoughts ! turn only to %o. %E %Cp S 00050 ! "Ah, so it is to be you, %p-san. I offer you seppuku. ! I will be your second if you wish." %E %Cp S 00051 ! "I have offered you the honorable exit. Now I will have your ! head to send unwashed to %l." %E %Cp S 00052 ! "After I have dispatched you, I will curse your kami." %E %Cp S 00053 ! "You have fought my samurai; surely you must know that you ! will not be able to take %o back to ! %H." %E %Cp S 00060 ! "Ahh, I finally meet the daimyo of the kyokaku!" %E %Cp S 00061 ! "There is no honor for me in your death." %E %Cp S 00062 ! "You know that I cannot resash my swords until they have killed." %E %Cp S 00063 ! "Your presence only compounds the dishonor of %l in not coming himself." %E %Cp S 00064 ! "I will make tea with your hair and serve it to %l." %E %Cp S 00065 ! "Your fear shows in your eyes, coward!" %E %Cp S 00066 ! "I have not heard of you, %p-san; has your life been that unworthy?" %E %Cp S 00067 ! "If you will not obey me, you will die." %E %Cp S 00068 ! "Kneel now and make the two cuts of honor. I will tell your %sp ! of your honorable death." %E %Cp S 00069 ! "Your master was a poor teacher. You will pay for his mistakes in ! your teaching." %E %Cc S 00070 ! As you pick up %o, you feel the strength of its karma. ! You realize at once why so many good samurai had to die to defend it. ! You are humbled knowing that you hold one of the artifacts of the ! sun god. %E %Cc S 00080 ! Your healing skills tell you that %ns wounds are mortal. ! ! You know that the bushido tells you to finish him and let his kami ! die with honor, but the thought of so many samurai dead due to this ! man's dishonor prevents you from giving the final blow. ! You order that his unwashed head be given to the crows and his body ! thrown into the sea. %E %Cc S 00081 ! As you bow before %l, he welcomes you: ! ! You have brought your family great honor, %p-sama. ! ! While you have been gone the emperor's advisors have discovered in ! the ancient texts that the karma of the samurai who seeks to recover ! the amulet and the karma of %o are joined ! as the seasons join to make a year. ! ! Because you have shown such fidelity, the emperor requests ! that you take leave of other obligations and continue on the ! road that fate has set your feet upon. I would consider it ! an honor if you would allow me to watch your household until ! you return with the amulet. ! With that, %l bows, and places his sword atop ! %o. %E %Cp S 00090 ! %lC bows. "%p-sama, tell us of your search for the Amulet." %E %Cc S 00091 ! "Ah, %p-sama. You have wasted your efforts returning home. ! Now that you are in possession of the Amulet, you are honor-bound to ! finish the quest you have undertaken. There will be plenty of time ! for saki and stories when you have finished. ! "Go now, and may our prayers be a wind at your back." %E # # Tourist # %Cc T 00001 ! You breathe a sigh of relief as you find yourself back in the familiar ! surroundings of %H. ! You quickly notice that things do not appear the way they did when you ! left. The town is dark and quiet. There are no sounds coming from ! behind the town walls, and no campfires burning in the fields. As a ! matter of fact, you do not %x any movement in the fields at all, and ! the crops look as though they have been untended for many weeks. %E %Cp T 00002 ! Once again, you are back at %H. %E %Cp T 00003 ! You are back at %H. ! Things appear to have become so bad that you fear that soon ! %H will not be here to return to. %E %Cp T 00005 ! "Gehennom on 5 zorkmids a day -- more like 500 a day if you ask me." %E %Cp T 00006 ! "Do you know where I could find some nice postcards of The Gnomish Mines?" %E %Cp T 00007 ! "Have you tried the weird toilets?" %E %Cp T 00008 ! "Don't stay at the Inn, I hear the food is terrible and it has rats." %E %Cp T 00009 ! "They told me that this was the off season!" %E %Cc T 00010 ! "Is it really you, %p! I had given up hope for your return. ! As you can %x, we are desperately in need of your talents. Someone must ! defeat %n if our town is become what it once was. ! "Let me see if you are ready to be that someone." %E %Cp T 00011 ! "Things are getting worse, %p. ! I hope that this time you are ready." %E %Cp T 00012 ! "I hope that for the sake of %H you have prepared ! yourself this time." %E %Cc T 00013 ! "It is too late, %p. You are not even worthy to die amongst us. ! Leave %H and never return." %E %Cc T 00014 ! "There is still too much that you have to learn before you can undertake ! the next step. Return to us as a proven %R, and perhaps then ! you will be ready. ! "Go back now, and may the teachings of %d serve you well." %E %Cc T 00015 ! "It would be an affront to %d to have one not true to the ! %a path undertake her bidding. ! "You must not return to us until you have purified yourself of these ! bad influences on your actions. Remember, only by following the %a ! path can you hope to overcome the obstacles you will face." %E %Cc T 00016 ! %E ! "You have indeed proven yourself a worthy %c, %p. ! "But now your kinfolk and I must ask you to put aside your travels and ! help us in our time of need. After you left us we elected a new mayor, ! %n. He proved to be a most heinous and vile creature. ! ! "Soon after taking office he absconded with %o ! and fled town, leaving behind his henchmen to rule over us. In order ! for us to regain control of our town, you must enter %i ! and recover %o. ! ! "Do not be distracted on your quest. If you do not return quickly I fear ! that all will be lost. Let us both pray now that %d will guide you ! and keep you safe." %Cp T 00020 ! "Do not be fooled by the false promises of %n." %E %Cp T 00021 ! "To enter %i you must pass many traps." %E %Cp T 00022 ! "If you do not return with %o, your quest ! will be in vain." %E %Cp T 00023 ! "Do not be afraid to call upon %d if you truly need help." %E %Cp T 00024 ! "If you do not destroy %n, he will follow you back here!" %E %Cp T 00025 ! "Take %o from %n ! and you may be able to defeat him." %E %Cp T 00026 ! "You must hurry, %p!" %E %Cp T 00027 ! "You are like %Sa to me, %p. Do not let me down." %E %Cp T 00028 ! "If you are %a at all times you may succeed, %p." %E %Cp T 00029 ! "Let all who meet you on your journey know that you are on an quest for ! %l and grant safe passage." %E %Cp T 00030 ! Only your faith in %d keeps you from trembling. You %x ! the handiwork of %ns henchlings everywhere. %E %Cp T 00031 ! You know that this time you must find and destroy %n. %E %Cp T 00040 ! You sense the presence of %o. %E %Cp T 00041 ! You gain confidence, knowing that you may soon be united with ! %o. %E %Cc T 00050 ! "So, %p, %l thinks that you can wrest ! %o from me! ! "It only proves how desperate he has become that he sends %ra to ! try and defeat me. When this day is over, I will have you enslaved ! in the mines where you will rue the day that you ever entered ! %i." %E %Cc T 00051 ! "I let you live the last time because it gave me pleasure. This time I will ! destroy you, %p." %E %Cp T 00052 ! "These meetings come to bore me. You disturb my workings with ! %o. ! "If you do not run away now, I will inflict so much suffering on you that ! %l will feel guilty for ever having sent his %S to me!" %E %Cp T 00053 ! "You fool. You do not know how to call upon the powers of ! %o. ! ! "Return it to me and I will teach you how to use it, and together we ! will rule %H. But do so now, as my patience ! grows thin." %E %Cp T 00060 ! "I defeated %l and I will defeat you, %p." %E %Cp T 00061 ! "Where is %d now! You must realize no one can help you here." %E %Cp T 00062 ! "Beg for mercy now and I may be lenient on you." %E %Cp T 00063 ! "If you were not so %a, you might have stood a chance." %E %Cp T 00064 ! "Vengeance is mine at last, %p." %E %Cp T 00065 ! "I only wish that %l had a more worthy %r to send against me." %E %Cp T 00066 ! "With %o in my possession you cannot ! hope to defeat me." %E %Cp T 00067 ! "%nC has never been defeated, NEVER!" %E %Cp T 00068 ! "Are you truly the best %H has to send against me? ! I pity %l." %E %Cp T 00069 ! "How do you spell %p? I want to ensure the marker on your grave is ! correct as a warning to your %sp." %E %Cc T 00070 ! As you pick up %o, you feel a great ! weight has been lifted from your shoulders. Your only thoughts are ! to quickly return to %H and find %l. %E %Cc T 00080 ! You turn in the direction of %n. As his earthly body begins ! to vanish before your eyes, you hear him curse: ! You shall never be rid of me, %p! ! I will find you where ever you go and regain what is rightly mine. %E %Cc T 00081 ! As %l detects the presence of %o, ! he almost smiles for the first time in many a full moon. ! As he looks up from %o he says: ! You have recovered %o. You are its ! owner now, but not its master. Let it work with you as you continue ! your journey. With its help, and %d to guide you on the ! %a path, you may yet recover the Amulet of Yendor. %E %Cc T 00090 ! "I could not be more proud than if you were my own %S, %p! ! Tell me of your adventures in quest of the Amulet of Yendor." %E %Cc T 00091 ! "Stand back and let me look at you, %p. ! Now that you have recovered the Amulet of Yendor, I'm afraid living ! out your days in %H would seem pretty tame. ! ! "You have come too far to stop now, for there are still more tasks that ! our oral history foretells for you. Forever more, though, your name shall ! be spoken by the %gP with awe. You are truly an inspiration to your ! %sp!" %E # # Valkyrie # %Cc V 00001 ! You materialize at the base of a snowy hill. Atop the hill sits ! a place you know well, %H. You immediately realize ! that something here is very wrong! ! ! In places, the snow and ice have been melted into steaming pools of ! water. Fumaroles and pools of bubbling lava surround the hill. ! The stench of sulphur is carried through the air, and you %x creatures ! that should not be able to live in this environment moving towards you. %E %Cp V 00002 ! Once again, you are near the abode of %l. %E %Cp V 00003 ! Again you materialize near %ls abode. You have a nagging feeling ! that this may be the last time you come here. %E %Cp V 00005 ! "Hail, and well met, brave %c." %E %Cp V 00006 ! "May %d guide your steps, %p." %E %Cp V 00007 ! "%lC weakens. Without %o, her foresight is dim." %E %Cp V 00008 ! "You must hurry, %p, else Ragnarok may well come." %E %Cp V 00009 ! "I would deal with this foul %n myself, but %d forbids it." %E %Cc V 00010 ! "Ah, %p, my %S. You have returned to %H ! at last. We are in dire need of your aid, but I must determine if you ! are yet ready for such an undertaking. ! "Let me read your fate..." %E %Cp V 00011 ! "Let me read the future for you now, %p, perhaps you have managed to ! change it enough..." %E %Cp V 00012 ! "Again, I shall read your fate, my %S. Let us both hope that you have ! made changes to become ready for this task..." %E %Cc V 00013 ! "No, %p. Your fate is sealed. I must cast about for another ! champion. Begone from my presence, and never return. Know this, that ! you shall never succeed in this life, and Valhalla is denied to you." %E %Cc V 00014 ! "I see you and %n fighting, %p. But you are not prepared and ! shall die at %ns hand if you proceed. No. This will not do. ! Go back out into the world, and grow more experienced at the ways of ! war. Only when you have returned %Ra will you be able to defeat ! %n." %E %Cc V 00015 ! "NO! This is terrible. I see you becoming an ally of %n, and ! leading his armies in the final great battles. This must not come to ! pass! You have strayed from the %a path. You must purge yourself, ! and return here only when you have regained a state of purity." %E %Cc V 00016 ! "It is not clear, %p, for my sight is limited without ! %o. But it is now likely that you can defeat %n, ! and recover %o. ! ! "A short time ago, %n and his minions attacked this place. They ! opened the huge volcanic vents you %x about the hill, and attacked. ! I knew that this was to come to pass, and had asked %d for a group ! of %gP to help defend this place. The few you %x here are the ! mightiest of Valhalla's own, and are all that are left of one hundred ! %d sent. ! ! "Despite the great and glorious battle we fought, %n managed at last ! to steal %o. This has upset the balance of the universe, and ! unless %o is returned into my care, %n may start Ragnarok. ! ! "You must find the entrance to %i. Travel downward ! from there and you will find %ns lair. Defeat him and ! return %o to me." %E %Cp V 00020 ! "Go with the blessings of %d." %E %Cp V 00021 ! "Call upon %d when you are in need." %E %Cp V 00022 ! "Use %o if you can. It will protect you." %E %Cp V 00023 ! "Magical cold is very effective against %n." %E %Cp V 00024 ! "To face %n, you will need to be immune to fire." %E %Cp V 00025 ! "May %d strengthen your sword-arm." %E %Cp V 00026 ! "Trust in %d. He will not desert you." %E %Cp V 00027 ! "It becomes more likely that Ragnarok will come with every passing moment. ! You must hurry, %p." %E %Cp V 00028 ! "If %n can master %o, he will be powerful enough to ! face %d far earlier than is fated. This must not be!" %E %Cp V 00029 ! "Remember your training, %p. You can succeed." %E %Cc V 00030 ! The ice and snow gives way to a valley floor. You %x ahead of you ! a huge round hill surrounded by pools of lava. This then is the entrance ! to %i. It looks like you're not going to get in without ! a fight though. %E %Cp V 00031 ! Once again, you stand before the entrance to %i. %E %Cc V 00040 ! Through clouds of sulphurous gasses, you %x a rock palisade ! surrounded with a moat of bubbling lava. You remember the description ! from something that %l said. This is the lair of %n. %E %Cp V 00041 ! Once again, you stand in sight of %ns lair. %E %Cc V 00050 ! "So! %lC has finally sent %ca to challenge me! ! ! "I thought that mastering %o would enable me to challenge %d, ! but it has shown me that first I must kill you! ! So come, little %s. Once I defeat you, I can at last begin ! the final battle with %d." %E %Cp V 00051 ! "Again you challenge me, %r. Good. I will kill you now." %E %Cp V 00052 ! "Have you not learned yet? You cannot defeat %n!" %E %Cp V 00053 ! "I will kill you, %c, and wrest %o from your mangled hands." %E %Cp V 00060 ! "I am your death, %c." %E %Cp V 00061 ! "You cannot prevail, %r. I have foreseen your every move." %E %Cp V 00062 ! "With you out of the way, Valhalla will be mine for the taking." %E %Cp V 00063 ! "I killed scores of %ds best when I took %o. ! Do you really think that one %c can stand against me?" %E %Cp V 00064 ! "Who bears the souls of %cP to Valhalla, %r?" %E %Cp V 00065 ! "No, %d cannot help you here." %E %Cp V 00066 ! "Some instrument of %d you are, %p. You are a weakling!" %E %Cp V 00067 ! "Never have I seen %ca so clumsy in battle." %E %Cp V 00068 ! "You die now, little %s." %E %Cp V 00069 ! "Your body I destroy now, your soul when my hordes overrun Valhalla!" %E %Cc V 00070 ! As you pick up %o, your mind is suddenly filled with images, ! and you perceive all of the possibilities of each potential choice you ! could make. As you begin to control and channel your thoughts, you ! realize that you must return %o to %lC immediately. %E %Cc V 00080 ! A look of surprise and horror appears on %ns face. ! No!!! %o has lied to me! I have been misled! ! Suddenly, %n grasps his head and screams in agony, then dies. %E %Cc V 00081 ! As you approach, %lC rises and touches %o. ! ! "You may take %o with you, %p. I have removed from ! it the power to foretell the future, for that power no mortal should ! have. Its other abilities, however, you have at your disposal. ! ! "You must now begin in %ds name to search for the Amulet of Yendor. ! May your steps be guided by %d, my %S." %E %Cp V 00090 ! "Greetings, %p. I have not been able to pay as much attention to ! your search for the Amulet as I have wished. How do you fare?" %E %Cc V 00091 ! "Excellent, %p. I see you have recovered the Amulet! ! "You must take the Amulet to the Great Temple of %d, on the Astral ! plane. There you must offer the Amulet to %d. ! "Go now, my %S. I cannot tell you your fate, as the power of the ! Amulet interferes with mine. I hope for your success." %E # # Wizard # %Cc W 00001 ! You are suddenly in familiar surroundings. You notice what appears to ! be a large, squat stone structure nearby. Wait! That looks like the ! tower of your old master, %l. ! ! However, things are not the same as when you were last here. Mists and ! areas of unexplained darkness surround the tower. There is movement in ! the shadows. ! ! Your master would never allow such unaesthetic forms to surround the ! tower... unless something were dreadfully wrong! %E %Cp W 00002 ! Once again, you are back at %H. %E %Cp W 00003 ! You are back at %H. ! You have an odd feeling this may be the last time you ever come here. %E %Cp W 00005 ! "Would you happen to have some eye of newt in that overstuffed pack, %s?" %E %Cp W 00006 ! "Ah, the spell to create the magic portal worked. Outstanding!" %E %Cp W 00007 ! "Hurry! %lC may not survive that casting of the ! portal spell!!" %E %Cp W 00008 ! "We must strive to return balance to the world, or all is lost." %E %Cp W 00009 ! "I, too, will venture into the world, because %n is but one of ! many evils to be vanquished." %E %Cc W 00010 ! "Come closer, %p, for my voice falters in my old age. ! Yes, I see that you have come a long way since you went out into the ! world, leaving the safe confines of this tower. However, I must first ! determine if you have all of the skills required to take on the task ! I require of you." %E %Cp W 00011 ! "Well, %p, you have returned. Perhaps you are now ready..." %E %Cp W 00012 ! "This is getting tedious, %p, but perseverance is a sign of a true mage. ! I certainly hope that you are truly ready this time!" %E %Cc W 00013 ! "You fool, %p! Why did I waste all of those years teaching you ! the esoteric arts? Get out of here! I shall find another." %E %Cc W 00014 ! "Alas, %p, you have not yet shown your proficiency as a worthy ! spellcaster. As %ra, you would surely be overcome in the challenge ! ahead. Go, now, expand your horizons, and return when you have attained ! renown as %Ra." %E %Cc W 00015 ! "You amaze me, %p! How many times did I tell you that Balance ! requires care. One must use the world with care, lest one leave it in ruins ! and simplify the task of %n. ! "You must go back and show your worthiness. Do not return until you are ! truly ready for this quest. May %d guide you in this task." %E %Cc W 00016 %E ! "Yes, %p, you truly are ready for this dire task. Listen, ! carefully, for what I tell you now will be of vital importance. ! ! "Since you left us to hone your skills in the world, we unexpectedly came ! under attack by the forces of %n. As you know, we thought ! %n had perished at the end of the last age, but, alas, this was ! not the case. ! ! "%nC sent an army of abominations against us. Among them was a ! minion, mindless and ensorcelled, and thus, in the confusion, it was able ! to penetrate our defenses. Alas, this creature has stolen ! %o and I fear it has delivered %o ! to %n. ! ! "Over the years, I had woven most of my power into this amulet, and thus, ! without it, I have but a shadow of my former power, and I fear that I ! shall soon perish. ! "You must travel to %i, and within its dungeons, ! find and overcome %n, and return %o to me. ! "Go now, with %d, and return Balance to the world." %Cp W 00020 ! "Beware, for %n is immune to most magical attacks." %E %Cp W 00021 ! "To enter %i you must pass many traps." %E %Cp W 00022 ! "%nC may be vulnerable to physical attacks." %E %Cp W 00023 ! "%d will come to your aid when you call." %E %Cp W 00024 ! "You must utterly destroy %n. He will pursue you otherwise." %E %Cp W 00025 ! "%oC is a mighty artifact. With it you can ! destroy %n." %E %Cp W 00026 ! "Go forth with the blessings of %d." %E %Cp W 00027 ! "I will have my %gP watch for your return." %E %Cp W 00028 ! "Feel free to take any items in that chest that might aid you." %E %Cp W 00029 ! "You will know when %o is near. Proceed with care!" %E %Cp W 00030 ! Wisps of fog swirl nearby. You feel that %ns lair is close. %E %Cp W 00031 ! You believe that you may once again invade %i. %E %Cp W 00040 ! You feel your mentor's presence; perhaps %o is nearby. %E %Cp W 00041 ! The aura of %o tingles at the edge of your perception. %E %Cc W 00050 ! "Ah, I recognize you, %p. So, %l has sent you to steal ! %o from me, hmmm? Well, %l is a ! fool to send such a mental weakling against me. ! "Your destruction, however, should make for good sport. In the end, you ! shall beg me to kill you!" %E %Cc W 00051 ! "How nice of you to return, %p! I enjoyed our last meeting. Are you ! still hungry for more pain? ! "Come! Your soul, like %o, shall soon be mine to ! command." %E %Cp W 00052 ! "I'm sure that your perseverance shall be the subject of innumerable ! ballads, but you shall not be around to hear them, I fear!" %E %Cp W 00053 ! "Thief! %o belongs to me, now. I shall feed ! your living flesh to my minions." %E %Cp W 00060 ! "Your puny powers are no match for me, fool!" %E %Cp W 00061 ! "When you are defeated, your torment will last for a thousand years." %E %Cp W 00062 ! "After your downfall, %p, I shall devour %l ! for dessert!" %E %Cp W 00063 ! "Are you ready yet to beg for mercy? I could be lenient..." %E %Cp W 00064 ! "Your soul shall join the enslaved multitude I command!" %E %Cp W 00065 ! "Your lack of will is evident, and you shall die as a result." %E %Cp W 00066 ! "Your faith in %d is for naught! Come, submit to me now!" %E %Cp W 00067 ! "A mere %r is nothing compared to my skill!" %E %Cp W 00068 ! "So, you are the best hope of %l? How droll." %E %Cp W 00069 ! "Feel my power, %c! My victory is imminent!" %E %Cc W 00070 ! As you touch %o, its comforting power infuses you ! with new energy. You feel as if you can detect others' thoughts flowing ! through it. Although you yearn to wear %o ! and attack the Wizard of Yendor, you know you must return it to its ! rightful owner, %l. %E %Cc W 00080 ! %nC croaks out, as his body begins to shrivel up: ! I shall haunt your progress until the end of time. A thousand ! curses on you and %l. ! Then, the body bursts into a cloud of choking dust, and blows away. %E %Cc W 00081 ! %lC notices %o in your possession, ! beams at you and says: ! I knew you could defeat %n and retrieve ! %o. We shall never forget this ! brave service. ! ! Take %o with you in your quest for ! the Amulet of Yendor. I can sense that it has attuned ! itself to you already. ! May %d guide you in your quest, and keep you from harm. %E %Cc W 00090 ! "Come near, my %S, and share your adventures with me. So, have you ! succeeded in your quest for the Amulet of Yendor?" %E %Cc W 00091 ! "Congratulations, %p. I always knew that if anyone could succeed ! in defeating the Wizard of Yendor and his minions, it would be you. ! ! "Go now, and take the Amulet to the astral plane. Once there, present ! the Amulet on the altar of %d. Along the way you shall pass through the ! four elemental planes. These planes are like nothing you have ever ! experienced before, so be prepared! ! "For this you were born, %s! I am very proud of you." %E # # General # %Cc - 00001 ! It is written in the Book of %d: ! ! After the Creation, the cruel god Moloch rebelled ! against the authority of Marduk the Creator. ! Moloch stole from Marduk the most powerful of all ! the artifacts of the gods, the Amulet of Yendor, ! and he hid it in the dark cavities of Gehennom, the ! Under World, where he now lurks, and bides his time. ! ! Your god %d seeks to possess the Amulet, and with it ! to gain deserved ascendance over the other gods. ! ! You, a newly trained %r, have been heralded ! from birth as the instrument of %d. You are destined ! to recover the Amulet for your deity, or die in the ! attempt. Your hour of destiny has come. For the sake ! of us all: Go bravely with %d! %E %Cp - 00002 ! You receive a faint telepathic message from %l: ! Your help is urgently needed at %H! ! Look for a ...ic transporter. ! You couldn't quite make out that last message. %E %Cp - 00003 ! You again sense %l pleading for help. %E %Cp - 00004 ! You again sense %l demanding your attendance. %E # # Angelic maledictions. # %Cp - 00010 ! "Repent, and thou shalt be saved!" %E %Cp - 00011 ! "Thou shalt pay for thine insolence!" %E %Cp - 00012 ! "Very soon, my child, thou shalt meet thy maker." %E %Cp - 00013 ! "The great %D has sent me to make you pay for your sins!" %E %Cp - 00014 ! "The wrath of %D is now upon you!" %E %Cp - 00015 ! "Thy life belongs to %D now!" %E %Cp - 00016 ! "Dost thou wish to receive thy final blessing?" %E %Cp - 00017 ! "Thou art but a godless void." %E %Cp - 00018 ! "Thou art not worthy to seek the Amulet." %E %Cp - 00019 ! "No one expects the Spanish Inquisition!" %E # # Demonic maledictions. # %Cp - 00030 ! "I first mistook thee for a statue, when I regarded thy head of stone." %E %Cp - 00031 ! "Come here often?" %E %Cp - 00032 ! "Dost pain excite thee? Wouldst thou prefer the whip?" %E %Cp - 00033 ! "Thinkest thou it shall tickle as I rip out thy lungs?" %E %Cp - 00034 ! "Eat slime and die!" %E %Cp - 00035 ! "Go ahead, fetch thy mama! I shall wait." %E %Cp - 00036 ! "Go play leapfrog with a herd of unicorns!" %E %Cp - 00037 ! "Hast thou been drinking, or art thou always so clumsy?" %E %Cp - 00038 ! "This time I shall let thee off with a spanking, but let it not happen again." %E %Cp - 00039 ! "I've met smarter (and prettier) acid blobs." %E %Cp - 00040 ! "Look! Thy bootlace is undone!" %E %Cp - 00041 ! "Mercy! Dost thou wish me to die of laughter?" %E %Cp - 00042 ! "Run away! Live to flee another day!" %E %Cp - 00043 ! "Thou hadst best fight better than thou canst dress!" %E %Cp - 00044 ! "Twixt thy cousin and thee, Medusa is the prettier." %E %Cp - 00045 ! "Methinks thou wert unnaturally interested in yon corpse back there, eh, varlet?" %E %Cp - 00046 ! "Up thy nose with a rubber hose!" %E %Cp - 00047 ! "Verily, thy corpse could not smell worse!" %E %Cp - 00048 ! "Wait! I shall polymorph into a grid bug to give thee a fighting chance!" %E %Cp - 00049 ! "Why search for the Amulet? Thou wouldst but lose it, cretin." %E - # # TEST PATTERN # --- 44,4817 ---- # QT_POSTHANKS 90 # QT_HASAMULET 91 # + # Japanese version staff + # + # director issei@jaist.ac.jp + # A issei@jaist.ac.jp + # B issei@jaist.ac.jp + # C issei@jaist.ac.jp + # E fujieda@jaist.ac.jp + # F issei@jaist.ac.jp + # H tshira@mtl.t.u-tokyo.ac.jp + # K mya@jaist.ac.jp + # P s92458km@sfc.keio.ac.jp + # R issei@jaist.ac.jp + # S issei@jaist.ac.jp + # T s92458km@sfc.keio.ac.jp + # V issei@jaist.ac.jp + # W nao@jaist.ac.jp + # general issei@jaist.ac.jp + # angelic/demonic s92458km@sfc.keio.ac.jp + # # # Archeologist # %Cc A 00001 ! #You are suddenly in familiar surroundings. The buildings in the distance ! #appear to be those of your old alma mater, but something is wrong. It looks ! #as if there has been a riot recently, or %H has ! #been under siege. ! # ! #All of the windows are boarded up, and there are objects scattered around ! #the entrance. ! # ! #Strange forbidding shapes seem to be moving in the distance. ! ¤¢¤Ê¤¿¤ÏÆÍÁ³¸«³Ð¤¨¤Î¤¢¤ë¾ì½ê¤Ë¤¤¤¿¡¥±óÊý¤Ë¸«¤¨¤ë·úʪ¤Ï¤¢¤Ê¤¿¤Î ! Êì¹»¤Ë°ã¤¤¤Ê¤¤¡¤¤·¤«¤·²¿¤«¤¬°ã¤¦¡¥¤Þ¤ë¤ÇºÇ¶á¡¤Ë½Æ°¤¬¤¢¤Ã¤¿¤« ! %H¤¬Êñ°Ï¤µ¤ì¤Æ¤¤¤¿¤«¤Î¤è¤¦¤Ë¸«¤¨¤ë¡¥ ! Á´¤Æ¤ÎÁë¤È¸À¤¦Áë¤ÏºÉ¤¬¤ì¡¤³Ø¹»¤ÎÆþ¸ý¤Ï»¶¤é¤«¤Ã¤¿¤Þ¤Þ¤À¡¥ ! ¶²¤·¤¤¤Û¤ÉÉÔµ¤Ì£¤Ê·Á¤ò¤·¤¿¤â¤Î¤¬±óÊý¤ÇÆ°¤¤¤Æ¤¤¤ë¤Î¤¬¸«¤¨¤¿¡¥ %E %Cp A 00002 ! #Once again, you are back at %H. ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï%H¤ËÌá¤Ã¤¿¡¥ %E %Cp A 00003 ! #You are back at %H. ! #You have an odd feeling this may be the last time you ever come here. ! ¤¢¤Ê¤¿¤Ï%H¤ËÌá¤Ã¤¿¡¥ ! ¤³¤³¤ËÌá¤Ã¤Æ¤¯¤ë¤Î¤ÏºÇ¸å¤Ç¤¢¤ë¤è¤¦¤Ê´ñ̯¤Êµ¤¤¬¤·¤¿¡¥ %E %Cp A 00005 ! #-#"Man, the dig this year was a real bust!" ! #-¡Ö¤ä¤¡¡¤º£Ç¯¤Îȯ·¡Ä´ºº¤Ï¤Ò¤É¤¤¤â¤ó¤À¡ª¡× ! #"Did you see Lash LaRue in 'Song of Old Wyoming' the other night?" ! "Did you see Lash LaRue in 'Song of Old Wyoming' the other night?"/*argrath*/ %E %Cp A 00006 ! #"Hey man, got any potions of hallucination for sale?" ! ¡Ö¤ä¤¡¡¤¸¸³Ð¤ÎÌô¤òÇä¤Ã¤Æ¤¯¤ì¤Ê¤¤¤«¤¤¡©¡× %E %Cp A 00007 ! #"Did you see the artifact %l brought back from the last dig?" ! ¡Ö%l¤¬¤³¤ÎÁ°¤Îȯ·¡Ä´ºº¤Ç»ý¤Áµ¢¤Ã¤¿À»´ï¤ò¸«¤¿¤«¤¤¡©¡× %E %Cp A 00008 ! #"So what species do *you* think we evolved from?" ! ¡Ö²æ¡¹¤Ï¤¤¤Ã¤¿¤¤¤É¤Î¤è¤¦¤ÊÀ¸Êª¤«¤é¿Ê²½¤·¤¿¤ó¤À¤í¤¦¡©¡× %E %Cp A 00009 ! #"So you're %ls prize pupil! I don't know what he sees in you." ! ¡Ö·¯¤Ï%l¤Î°ìÈÖ¤ÎÀ¸Å̤À¤¬¡¤Èब·¯¤ò¤É¤Î¤è¤¦¤Ë¸«¤Æ¤¤¤ë¤³¤È¤ä¤é¡¥¡× %E %Cc A 00010 ! #"Finally you have returned, %p. You were always ! #my most promising student. Allow me to see if you are ready for the ! #most difficult task of your career." ! ¡ÖÌá¤Ã¤Æ¤­¤¿¤«¡¤%p·¯¡¥·¯¤Ï»ä¤¬¤â¤Ã¤È¤â¿®Íꤷ¤Æ¤¤¤ë³ØÀ¸¤À¡¥ ! ·¯¤Î¿ÍÀ¸¤Ç¤â¤Ã¤È¤âº¤Æñ¤Ê»Å»ö¤ËÂФ¹¤ë½àÈ÷¤¬½ÐÍ褿¤é¡¤»ä¤Ë²ñ¤¦¤³¤È ! ¤òµö¤½¤¦¡¥¡× %E %Cp A 00011 ! #"Again, %p, you stand before me. ! #Let me see if you have gained experience in the interim." ! ¡Ö¤Þ¤¿Í褿¤«¡¤%p·¯¡¥»ä¤ÎÁ°¤ËÍ褿¤Þ¤¨¡¥ ! ¤½¤·¤Æ¡¤·¯¤¬·Ð¸³¤òÀѤó¤À¤«¤É¤¦¤«¸«¤»¤Æ¤¯¤ì¤¿¤Þ¤¨¡¥¡× %E %Cp A 00012 ! #"Once more, %p, you have returned from the field. ! #Are you finally ready for the task that must be accomplished?" ! ¡Ö¤â¤¦°ìÅÙ¤À¡¤%p·¯¡¥·¯¤ÏÌ¤«¤éÌá¤Ã¤Æ¤­¤¿¡¥ ! ·¯¤ÏÌÜɸ¤òãÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¸À¤¦»Å»ö¤Ø¤Î½àÈ÷¤¬½ÐÍ褿¤Î ! ¤«¤Ê¡©¡× %E %Cc A 00013 ! #"%p, you have failed us. All of my careful training has been in ! #vain. Begone! Your tenure at this college has been revoked! ! # ! #"You are a disgrace to the profession!" ! ¡Ö%p·¯¡¤»ä¤Ï·¯¤Ë¼ºË¾¤·¤¿¤è¡¥»ä¤Ï¶µ»Õ¤È¤·¤Æ¤Î¼«¿®¤ò¼º¤Ê¤Ã¤¿¡¥ ! ¤É¤³¤Ç¤â¹Ô¤­¤¿¤Þ¤¨¡ª·¯¤ÎÂç³Ø¤Ç¤Îºß¿¦¸¢¤Ï¼è¤ê¾Ã¤·¤À¡ª ! ·¯¤ÏƱ¶È¼Ô¤È¤·¤Æ¤Þ¤Ã¤¿¤¯ÃѤº¤«¤·¤¤¤ä¤Ä¤À¡ª¡× %E %Cc A 00014 ! #"%p, you are yet too inexperienced to undertake such a demanding ! #quest. A mere %r could not possibly face the rigors demanded and ! #survive. Go forth, and come here again when your adventures have further ! #taught you." ! ¡Ö%p·¯¡¤·¯¤Ï»ä¤Î¥¯¥¨¥¹¥È¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¤Á¤ç¤Ã¤È·Ð¸³¤¬Â­¤ê¤Ê¤¤ ! ¤è¤¦¤À¡¥Ã±¤Ê¤ë%r¤Ç¤Ï¤ª¤½¤é¤¯¸·¤·¤µ¤ËÂѤ¨À¸¤­»Ä¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤ ! ¤À¤í¤¦¡¥ËÁ¸±¤¬¶µ»Õ¤À¡ªÎϤò¤Ä¤±¤í¡¤¤½¤·¤ÆÌá¤Ã¤Æ¤³¤¤¡¥¡× %E %Cc A 00015 ! #"%p! I've heard that you've been using sloppy techniques. Your ! #results lately can hardly be called suitable for %ra! ! # ! #"How could you have strayed from the %a path? Go from here, and come ! #back only when you have purified yourself." ! ¡Ö%p·¯¡ª»ä¤Ï·¯¤¬¤¤¤¤¤«¤²¤ó¤ÊËÁ¸±¤ò¤·¤Æ¤¤¤ë¤Èʹ¤¤¤È¤ë¤è¡¥¤½¤ó ! ¤Ê¤ó¤¸¤ã%r¤È¤Ï¤È¤Æ¤â¸Æ¤Ù¤Ê¤¤¤Í¡¥ ! ¡Ö%a¤ÎÆ»¤«¤é¤¤¤«¤Ë¤Ï¤º¤ì¤Æ¤¤¤ë¤«¤ï¤«¤ë¤«¡©¤³¤³¤«¤é¤È¤Ã¤È¤È¾Ã¤¨ ! µî¤ê¼«Ê¬¼«¿È¤ò¾ô²½¤·¤ÆÌá¤Ã¤Æ¤¯¤ë¤¬¤è¤¤¡¥¡× %E %Cc A 00016 ! #"Grave times have befallen the college, for %na has ! #stolen %o. Without it, the board of directors of ! #the university will soon have no choice but to revoke our research grants. ! # ! #"You must locate the entrance to %i. Within it, ! #you will find %n. ! # ! #"You must the defeat %n and return %o ! #to me. ! # ! #"Only in this way will we be able to prevent the budget cuts that could ! #close this college. ! # ! #"May the wisdom of %d be your guide." ! ¡ÖÂç³Ø¤Ë°Å±À¤¬¤µ¤·¤«¤«¤Ã¤Æ¤¤¤ë¡¥¼Â¤Ï%n¤¬%o¤ò ! Åð¤ó¤À¤Î¤À¡¥¤¢¤ì¤¬¤Ê¤¤¤Èľ¤Á¤ËÂç³Ø¤ÎÍý»ö²ñ¤ÏÌäÅú¸À¤ï¤»¤º²æ¡¹ ! ¤Î¸¦µæ¤ò̵¸ú¤Ë¤¹¤ë¤Ç¤¢¤í¤¦¡¥ ! ¡Ö·¯¤Ï%i¤ÎÆþ¸ý¤Ë¹Ô¤«¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥¤½¤³¤Ë¹Ô¤±¤Ð¡¤ ! %n¤¬¤¤¤ë¤À¤í¤¦¡¥ ! ¡Ö·¯¤Ï%n¤òÂǤÁÉ餫¤µ¤Í¤Ð¤é¤Ê¤Ê¤¤¡¥¤½¤·¤Æ%o¤ò¼è¤ê ! ÊÖ¤¹¤Î¤À¡¥ ! ¡Ö¤³¤ÎÂç³Ø¤òÊĺ¿¤ËƳ¤¯¸¦µæÈñ¤Îºï½ü¤òËɤ°¤Ë¤Ï¤³¤ì¤·¤«ÊýË¡¤¬¤Ê¤¤¡¥ ! ¡Ö%d¤ÎÃ챤¬·¯¤Î½õ¤±¤È¤Ê¤é¤ó¤³¤È¤ò¡¥¡× %E %Cp A 00020 ! #"Beware, for %n is powerful and cunning." ! ¡Öµ¤¤ò¤Ä¤±¤í¡ª%n¤Ï¶¯¤¤¾å¤ËàÄàѤʤä¤Ä¤À¡¥¡× %E %Cp A 00021 ! #"To locate the entrance to %i, you must pass ! #many traps." ! ¡Ö%i¤ÎÆþ¸ý¤Ø¹Ô¤¯¤Ë¤Ï¡¤Â¿¤¯¤Î´í¸±¤Ê櫤òÄ̤êÈ´¤±¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥¡× %E %Cp A 00022 ! #"A %nt may be vulnerable to attacks by magical cold." ! ¡Ö%n¤ÏÎ䵤¤ÎËâË¡¤Ë¼å¤¤¤Ï¤º¤À¡¥¡× %E %Cp A 00023 ! #"Call upon %d when you encounter %n." ! ¡Ö%n¤Ë½Ð°©¤Ã¤¿¤é¡¤%d¤Ëµ§¤ê¤òµá¤á¤ë¤Î¤À¡¥¡× %E %Cp A 00024 ! #"You must destroy %n. It will pursue you otherwise." ! ¡Ö·¯¤Ï%n¤ò»¦¤µ¤Í¤Ð¤Ê¤é¤¤¡¥¤½¤¤¤Ä¤Ï·¯¤òÄɤ¤¤«¤±¤Þ¤ï¤¹¤Î¤À¤«¤é¡¥¡× %E %Cp A 00025 ! #"%oC is a mighty talisman. With it you ! #can destroy %n." ! %o¤Ï¶¯ÎϤʸîÉä¤À¡¥¤½¤ì¤¬¤¢¤ì¤Ð·¯¤â%n¤òÂǤÁ¤Î¤á¤»¤ë¡¥¡× %E %Cp A 00026 ! #"Go forth with the blessings of %d." ! ¡Ö%d¤Î½ËÊ¡¤Î¤¢¤é¤ó¤³¤È¤ò¡¥¡× %E %Cp A 00027 ! #"I will have my %gP watch for your return." ! ¡Ö²æ%g¤¬·¯¤Îµ¢´Ô¤ò¸«¼é¤é¤ó¤³¤È¤ò¡¥¡× %E %Cp A 00028 ! #"Remember not to stray from the true %a path." ! ¡Ö¿¿¼Â¤Î%a¤ÎÆ»¤«¤é¤Ï¤º¤ì¤Ì¤è¤¦¤Ä¤Í¤ËÃí°Õ¤¹¤ë¤Î¤À¡¥¡× %E %Cp A 00029 ! #"You may be able to sense %o when you are near." ! ¡Ö·¯¤Ê¤é%o¤Ë¶á¤Å¤¤¤¿¤È¤­¤½¤Î¸ºß¤ò´¶¤¸¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ï¤º¤À¡¥¡× %E %Cp A 00030 ! #You have the feeling that you will soon find the entrance to ! #%i. ! ¤¢¤Ê¤¿¤Ï¤â¤¦¤¹¤°%i¤ÎÆþ¸ý¤òȯ¸«¤Ç¤­¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥ %E %Cp A 00031 ! #Once again, you are near the entrance to %i. ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï%i¤ÎÆþ¸ý¤Î¶á¤¯¤Þ¤Ç¤ä¤Ã¤Æ¤­¤¿¡¥ %E %Cp A 00040 ! #You sense the presence of %o. ! ¤¢¤Ê¤¿¤Ï%o¤Î¸ºß¤ò´¶¤¸¤¿¡¥ %E %Cp A 00041 ! #The familiar presence of %o is in the ether. ! %o¤Î¸ºß¤¬¶õµ¤¤òÄ̤·¤Æ¤Ä¤¿¤ï¤Ã¤Æ¤­¤¿¡¥ %E %Cc A 00050 ! #"So, %p, you think that you can succeed in recovering ! #%o, when your teacher, %l, has already failed. ! # ! #"Come, try your best! I shall destroy you, and gnaw on your bones." ! ¡Ö¤±¡ª%p¤è¡¤¤ªÁ°¤Ï%o¤òÃ¥²ó¤Ç¤­¤ë¤È»×¤Ã¤Æ¤¤¤ë¤À¤í¤¦¡¤¤À¤¬ ! ¤ªÁ°¤Î»Õ¤Ç¤¢¤ë%l¤Ï¼ºÇÔ¤·¤Æ¤¤¤ë¤Î¤À¡¥ ! ¡Ö¤µ¤¢¡¤Á´ÎϤÇÍ褤¡ª¤ªÁ°¤Î¹ü¤ÏËÜÅö¤Ë¤¤¤¤Ì£¤¬¤·¤½¤¦¤À¡¥¡× %E %Cc A 00051 ! #"Again you try to best me, eh %p? Well, you shall fail again. ! # ! #"You shall never recover %o. ! # ! #"I shall bear your soul to the Plane of Origins for my master's pleasure." ! ¡Ö¤±¡ª¤Þ¤¿Í褿¤«¡ª¤É¤¦¤»¤Þ¤¿¼ºÇÔ¤µ¡¥ ! ¡Ö%o¤ò¼è¤êÊÖ¤¹¤Ê¤ó¤ÆÉÔ²Äǽ¤À¡¥ ! ¡Ö²æ¤¬¥Þ¥¹¥¿¡¼¤Î¤¿¤á¤Ë¡¤¤ªÁ°¤Îº²¤ò¤¢¤ÎÀ¤¤ËÁ÷¤Ã¤Æ¤ä¤í¤¦¡¥¡× %E %Cp A 00052 ! #"You persist yet %p! Good. Now, you shall die!" ! ¡Ö%p¡ª¤Þ¤ÀÀ¸¤­¤Æ¤¤¤¿¤Î¤«¡¥¤è¤·¡¤º£ÅÙ¤³¤½»¦¤·¤Æ¤ä¤ë¡ª¡× %E %Cp A 00053 ! #"I shall have %o from you, %p, then feast ! #upon your entrails!" ! ¡Ö%p¡ª¤ª¤Þ¤¨¤«¤é%o¤ò¼è¤êÊÖ¤·¡¤¤Ï¤é¤ï¤¿¤òÈÕÈӤˤ·¤Æ¤ä¤í¤¦¡ª¡× %E %Cp A 00060 ! #"Try your best, %p. You cannot defeat me." ! ¡ÖÁ´ÎϤǤ³¤¤%p¡¥¤ªÁ°¤Ê¤ó¤«¤Ë¤ã»¦¤µ¤ì¤Ê¤¤¤µ¡¥¡× %E %Cp A 00061 ! #"I shall rend the flesh from your body whilst you still breathe!" ! ¡Ö°ì½Ö¤Ç¤ªÁ°¤ÎÂΤò¤Ò¤­¤µ¤¤¤Æ¤ä¤ë¤¼¡ª¡× %E %Cp A 00062 ! #"First you, %p, then I shall destroy your mentor, %l." ! ¡Ö%p¡ª¤Þ¤º¤ªÁ°¤ò»¦¤·¤Æ¡¤¼¡¤Ë»Õ¤Ç¤¢¤ë%l¤ò»¦¤·¤Æ¤ä¤ë¡¥¡× %E %Cp A 00063 ! #"Tiring yet, %p? I draw my power from my master and cannot ! #falter!" ! ¡Ö¤Þ¤À¤ä¤ë¤Î¤«%p¡©»ä¤Ï²æ¤¢¤ë¤¸¤«¤éÎϤòÆÀ¤Æ¤¤¤ë¡¥·è¤·¤Æ»à¤Ê¤Ê¤¤ ! ¤Î¤µ¡ª¡× %E %Cp A 00064 ! #"I shall rend thy soul from thy body and consume it!" ! ¡Ö¤ªÁ°¤Îº²¤ò¶ô¤Ã¤¿¤éËÜÅö¤Ë¤¦¤Þ¤½¤¦¤À¡ª¡× %E %Cp A 00065 ! #"You are far too %a -- it weakens you. You shall die in this place." ! ¡Ö%a¤Ë¤ÏÄø±ó¤¤¤Ê¡¥¤ªÁ°¤Ï¤³¤ÎÃϤǻà¤Ì¤Î¤À¡¥¡× %E %Cp A 00066 ! #"%d has forsaken you! You are lost now!" ! ¡Ö%d¤Ï¤ªÁ°¤ò¸«¤¹¤Æ¤¿¤¾¡ª¤ªÁ°¤Ï¤³¤³¤Ç¾ÃÌǤ¹¤ë¤Î¤À¡ª¡× %E %Cp A 00067 ! #"A mere %r cannot hope to defeat me!" ! ¡Öñ¤Ê¤ë%r¤¸¤ã¥ª¥ì¤Ë¤Ï¾¡¤Æ¤ó¡ª¡× %E %Cp A 00068 ! #"If you are the best %l can send, I have nothing to fear." ! ¡Ö%l¤ÏËÜÅö¤Ë°ìÈÖ¶¯¤¤¤ä¤Ä¤òÁ÷¤Ã¤Æ¤­¤¿¤Î¤«¡©¤³¤ì¤¸¤ã¶²¤ì¤ë¤³¤È ! ¤Ê¤É²¿¤â¤Ê¤¤¡ª¡× %E %Cp A 00069 ! #"Die %c! I shall exhibit your carcass as a trophy." ! ¡Ö»à¤Í¡ª%c¤è¡¥¤ªÁ°¤Î»Ä³¼¤ò²æ¤¬¥³¥ì¥¯¥·¥ç¥ó¤Ë²Ã¤¨¤è¤¦¡¥¡× %E %Cc A 00070 ! #The power of %o flows through your body! You feel ! #as if you could now take on the Wizard of Yendor himself and win, but ! #you know you must return %o to %l. ! %o¤ÎÎϤ¬ÂΤËÃí¤¬¤ì¤¿¡ª¤¢¤Ê¤¿¤Ï¡¤¤Þ¤ë¤ÇÂçËâË¡»È¤¤¥¤¥§¥ó¥À¡¼¼«¿È ! ¤òÁê¼ê¤Ë¤·¤Æ¡¤¾¡Íø¤Ç¤­¤ë¤«¤Î¤è¤¦¤Êµ¤»ý¤Ë¤Ê¤Ã¤¿¡¥¤·¤«¤·¡¤%o¤ò ! »ý¤Ã¤Æ%l¤Î¤â¤È¤ØÌá¤é¤Í¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥ %E %Cp A 00080 ! #The body of %n dissipates in a cloud of noxious fumes. ! %n¤ÎÂΤÏÆÇÀ­¤Î¾øµ¤¤Ø¤ÈÈô¤Ó»¶¤Ã¤¿¡¥ %E %Cc A 00081 ! #%lC touches %o briefly, gazes into it, ! #then smiles at you and says: ! # ! #"Well done, %p. You have defeated the and ! #recovered %o. But I fear that it shall never be safe ! #here. ! # ! #Please take %o with you. You, %p, can ! #guard it now far better than I. ! # ! #May the blessings of %d follow you and guard you." ! %l¤Ï·Ú¤¯%o¤Ë¿¨¤ì¡¤¤½¤ì¤ò¤¸¤Ã¤È¸«¤Ä¤á¡¤¤¢¤Ê¤¿¤Ë¸þ¤Ã¤Æ ! Èù¾Ð¤ß¤«¤±¤¿¡§ ! ¡Ö%p¤è¡¥¤è¤¯¤ä¤Ã¤¿¡¥¤ªÁ°¤Ï%n¤òÅݤ·¡¤%o¤ò ! ¼è¤êÌᤷ¤¿¡¥¤·¤«¤·¡¤¤³¤³¤ËÃÖ¤¯¤Î¤ä¤Ï¤ê°ÂÁ´¤Ç¤Ï¤Ê¤¤¡¥ ! %o¤ò»ý¤Ã¤Æ¤¤¤¯¤¬¤è¤¤¡¥%p¤è¡¥¤ªÁ°¤Ëͤ±¤Æ¤ª¤±¤Ð°Â¿´¤À¡¥ ! %d¤Î½ËÊ¡¤È²Ã¸î¤¬¤¢¤é¤ó¤³¤È¤ò¡¥¡× %E %Cc A 00090 ! #"Welcome back, %p. Have you progressed with your quest to ! #regain the Amulet of Yendor for %d?" ! ¡Ö¤è¤¯Ìá¤Ã¤Æ¤­¤¿%p¤è¡¥%d¤Î¤¿¤á¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤òõ¤¹Î¹¤Ï ! ¿ÊŸ¤·¤¿¤«¤Í¡©¡× %E %Cc A 00091 ! #"Congratulations, %p. I wondered if anyone could prevail against ! #the Wizard and the minions of Moloch. Now, you must embark on one ! #final adventure. ! # ! #"Take the Amulet, and find your way onto the astral plane. ! #There you must find the altar of %d and sacrifice the ! #Amulet on that altar to fulfill your destiny. ! # ! #"Remember, your path now should always be upwards." ! ¡Ö¤ª¤á¤Ç¤È¤¦%p¡ª»ä¤ÏÂçËâË¡»È¤¤¤ä¥â¡¼¥í¥Ã¥¯¤Î»È¤¤Ëâ¤Ë ! ÂǤÁ¾¡¤Æ¤ë¼Ô¤¬¤¤¤ë¤Î¤«¤É¤¦¤«µ¿Ìä¤Ë»×¤Ã¤Æ¤¤¤¿¤Î¤À¡¥º£¡¤¤ªÁ°¤ÏºÇ½ª»îÎý ! ¤Ë¸þ¤Ã¤ÆÁ¥½Ð¤»¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥ ! ¡ÖËâ½ü¤±¤ò»È¤¤¡¤ÀºÎ¤Ø¤ÎÆ»¤ò¸«¤Ä¤±¤ë¤Î¤À¡¥±¿Ì¿¤ò²Ì¤¹¤¿¤á¡¤¤ªÁ°¤Ï ! %d¤Îº×ÃŤò¸«¤Ä¤±¡¤Ëâ½ü¤±¤òº×ÃŤËÊû¤²¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥ ! ! ¡Ö¤ªÁ°¤Î¿Ê¤àÆ»¤Ï¾ï¤Ë°ìËܤǤ¢¤ë¤³¤È¤ò³Ð¤¨¤Æ¤ª¤¯¤Î¤À¡¥¡× %E # # Barbarian # %Cc B 00001 ! #Warily you scan your surroundings, all of your senses alert for signs ! #of possible danger. Off in the distance, you can see the familiar shapes ! #of %H. ! # ! #But why, you think, should %l be there? ! # ! #Suddenly, the hairs on your neck stand on end as you detect the aura of ! #evil magic in the air. ! # ! #Without thought, you ready your weapon, and mutter under your breath: ! # ! # "By %d, there will be blood spilt today." ! ¤æ¤Ã¤¯¤ê¤È¤¢¤Ê¤¿¤ÏÌܳ¸¤ò³«¤±¤¿¡¥¤¢¤ê¤È¤¢¤é¤æ¤ë´¶³Ð¤¬´í¸±¿®¹æ¤òȯ¤·¤Æ ! ¤¤¤ë¡¥±óÊý¤Ë%H¤Î¸«´·¤ì¤¿¸÷·Ê¤¬¸«¤¨¤¿¡¥ ! ¤·¤«¤·¡¤²¿¸Î¤«%l¤¬¤½¤³¤Ë¤¤¤ë¡©¡ª ! ÆÍÁ³¡¤¶õÃæ¤Ë¼Ù°­¤ÊËâË¡¤Î¥ª¡¼¥é¤ò´¶¤¸¡¤¤¢¤Ê¤¿¤Î¤¦¤Ê¤¸¤Ë¤à¤·¤º¤¬Áö¤Ã¤¿¡¥ ! ²¿¤â¹Í¤¨¤º¡¤¤¢¤Ê¤¿¤ÏÉð´ï¤ò¹½¤¨¤¿¡¥¤½¤·¤Æ°ì¿Í¸À¤ò¤Ä¤Ö¤ä¤¤¤¿¡§ ! ¡Ö%d¤Î̾¤Ë¤ª¤¤¤Æ·ì¤·¤Ö¤­¤òµö¤·¤¿¤Þ¤¨¡× %E %Cp B 00002 ! #Once again, you near %H. You know that %l ! #will be waiting. ! ¤â¤¦°ìÅÙ%H¤Ë¤ä¤Ã¤Æ¤­¤¿¡¥%l¤¬ÂԤäƤ¤¤ë¡¥ %E %Cp B 00003 ! #Again, and you think possibly for the last time, you approach ! #%H. ! ¤Þ¤¿¤ä¤Ã¤Æ¤­¤¿¡¥%H¤Ë¤ä¤Ã¤ÆÍè¤ë¤Î¤Ï¡¤Â¿Ê¬¤³¤ì¤¬ºÇ¸å¤Ç¤¢¤í¤¦¤È ! »×¤Ã¤¿¡¥ %E %Cp B 00005 ! #"The battles here have been good -- our enemies' blood soaks the soil!" ! ¡Ö¤³¤³¤Ç¤ÎÀ襤¤Ï¹¥Ä´¤À¡¥Å¨¤Î·ì¤¬ÅÚ¾í¤Ë¿»¤ß¤³¤ó¤Ç¤ë¤¼¡ª¡× %E %Cp B 00006 ! #"Remember that glory is crushing your enemies beneath your feet!" ! ¡Ö±É¸÷¤Ï­¤Î²¼¤ÇŨ¤ò¤¯¤·¤ã¤¯¤·¤ã¤Ë¤·¤Æ¤ä¤ë¤³¤È¤Ç¤¢¤ë¤³¤È¤ò˺¤ì¤ë¤Ê¡ª¡× %E %Cp B 00007 ! #"There has been little treasure to loot, since the horde arrived." ! ¡Ö·³ÃĤ¬Íè¤Æ¤«¤é¤Ï¡¤¤Û¤È¤ó¤Éά夹¤ëÊõÈ¢¤Ï»Ä¤Ã¤Æ¤¤¤Ê¤¤¡¤¡× %E %Cp B 00008 ! #"The horde is mighty in numbers, but they have little courage." ! ¡Ö·³ÃĤϿô¤ÎÎϤDz¡¤·¤Æ¤¯¤ë¡¤¤Ê¤Ë¤»¡¤¤¢¤¤¤Ä¤é¤Ï²±É¤â¤Î¤À¤«¤é¤Ê¡¥¡× %E %Cp B 00009 ! #"%lC is a strange one, but he has helped defend us." ! ¡Ö%l¤È¸À¤¦¤Î¤ÏÊѤ俤ä¤Ä¤À¡¤¤·¤«¤·Èà¤Ï²æ¡¹¤ò¼é¤Ã¤Æ¤¯¤ì¤Æ¤¤¤ë¡¥¡× %E %Cc B 00010 ! #"Ah, %p. You have returned at last. The world is in dire ! #need of your help. There is a great quest you must undertake. ! # ! #"But first, I must see if you are ready to take on such a challenge." ! ¡Ö¤ª¤ª¡ª%p¤è¡¥¤ä¤Ã¤ÈÌá¤Ã¤Æ¤­¤Æ¤¯¤ì¤¿¤«¡¥¤³¤ÎÀ¤³¦¤Ï»êµÞ¤ªÁ°¤Î ! ½õ¤±¤òɬÍפȤ·¤Æ¤¤¤ë¡¥¤ªÁ°¤¬°ú¤­¼õ¤±¤Í¤Ð¤Ê¤é¤Ì°ÎÂç¤Ê¥¯¥¨¥¹¥È¤¬ÂÔ¤Á¹½¤¨ ! ¤Æ¤¤¤ë¤Î¤À¡¥ ! ¡Ö¤·¤«¤·¡¤¤Þ¤º¤ªÁ°¤¬¤½¤ì¤ò¼õ¤±É餦¤À¤±¤ÎÎϤ¬¤¢¤ë¤«Ä´¤Ù¤Í¤Ð¤Ê¤é¤Ì¡¥¡× %E %Cp B 00011 ! #"%p, you are back. Are you ready now for the challenge?" ! ¡Ö%p¤è¡¥Ìá¤Ã¤Æ¤­¤¿¤«¡¥°ÎÂç¤ÊÄ©Àï¤Î½àÈ÷¤ÏÀ°¤Ã¤¿¤«¤Ê¡©¡× %E %Cp B 00012 ! #"Again, you stand before me, %p. Surely you have prepared yourself." ! ¡Ö%p¤è¡¥¤Þ¤¿¤ªÁ°¤Ï»ä¤ÎÁ°¤ËΩ¤Ã¤Æ¤¤¤ë¤Î¤À¤¬¡¤½àÈ÷¤Ï ! ¤¤¤¤¤«¤Ê¡©¡× %E %Cc B 00013 ! #"Pah! You have betrayed the gods, %p. You will never attain ! #the glory which you aspire to. Your failure to follow the true path has ! #closed this future to you. ! # ! #"I will protect these people as best I can, but soon %n will overcome ! #me and destroy all who once called you %s. Now begone!" ! ¡Ö¤Õ¤ó¡ª¤ªÁ°¤Ï%p¤Î¿À¤ò΢Àڤä¿¡¥¤ªÁ°¤¬Ç®Ë¾¤¹¤ë ! ̾ÍÀ¤òÆÀ¤ë¤³¤È¤â¤Ê¤¤¤À¤í¤¦¡¥¿¿¼Â¤ÎÆ»¤òé¤ê¤ªÁ°¤Î¼ºÇÔ¤¬Ì¤Íè¤òÊĤ¶¤¹ ! ¤Ï¤º¤À¡¥ ! ¡Ö»ä¤Ï¤³¤³¤Ë¤¤¤ë¿Í¡¹¤òÁ´ÎϤǼé¤ë¤Ä¤â¤ê¤À¡¤¤·¤«¤·¤¹¤°¤Ë¤Ç¤â%n ! ¤¬»ä¤òÅݤ·¡¤¤ªÁ°¤ò%s¤È¸Æ¤ó¤À¿Í¡¹¤ò»¦¤¹¤À¤í¤¦¡¥¾Ã¤¨¤¦¤»¤í¡ª¡× %E %Cc B 00014 ! #"%p, I fear that you are as yet too inexperienced to face ! #%n. Only %Ra with the help of %d could ever hope to ! #defeat him." ! ¡Ö%p¤è¡¤%n¤ÈÀµÂФ¹¤ë¤Ë¤Ï¤Á¤È·Ð¸³ÉÔ­¤Î¤è¤¦¤À¤Ê¡¥ ! %R¤À¤±¤¬%d¤Î½õ¤±¤òÆÀ¤Æ%n¤òÅݤ»¤è¤¦¡¥¡× %E %Cp B 00015 ! #"%p! You have wandered from the path of the %a! ! #If you attempt to overcome %n in this state, he will surely ! #enslave your soul. Your only hope, and ours, lies in your purification. ! #Go forth, and return when you feel ready." ! ¡Ö%p¡ª%a¤ÎÆ»¤«¤é³°¤ì¤µ¤Þ¤è¤Ã¤Æ¤¤¤ë¤Ê¡ª¤³¤Î¾õÂÖ¤Ç%n¤ò ! ÂǤÁ¤Þ¤«¤½¤¦¤È¤¹¤ë¤Ê¤é¡¤³Î¼Â¤Ë¤ªÁ°¤Îº²¤Ï¤È¤ê¤³¤Ë¤µ¤ì¤ë¤À¤í¤¦¡¥ ! Í£°ì¤Î˾¤ß¤Ï¼«Ê¬¼«¿È¤Î¾ô²½¤À¡¥¿Ê¤á¡ª¤½¤·¤Æ½àÈ÷¤¬¤Ç¤­¤¿¤È»×¤Ã¤¿¤é ! Ìá¤Ã¤Æ¤³¤¤¡¥¡× %E %Cc B 00016 ! #"The world is in great need of your assistance, %p. ! # ! #"About six months ago, I learned that a mysterious sorcerer, known ! #as %n, had begun to gather a large group of cutthroats and brigands ! #about him. ! # ! #"At about the same time, these people you once rode with `liberated' a ! #potent magical talisman, %o, from a Turanian caravan. ! # ! #"%nC and his Black Horde swept down upon %i and defeated ! #the people there, driving them out into the desert. He has taken ! #%o, and seeks to bend it to his will. I detected the ! #subtle changes in the currents of fate, and joined these people. ! #Then I sent forth a summons for you. ! # ! #"If %n can bend %o to his will, he will become ! #almost indestructible. He will then be able to enslave the minds of ! #men across the world. You are the only hope. The gods smile upon you, ! #and with %d behind you, you alone can defeat %n. ! # ! #"You must go to %i. From there, you can track down ! #%n, defeat him, and return %o to us. Only ! #then will the world be safe." ! ¡ÖÀ¤³¦¤Ï¤ªÁ°¤Î½õ¤±¤òɬÍפȤ·¤Æ¤¤¤ë¡¤%p¤è¡¥ ! ! ¡ÖȾǯ¤Û¤ÉÁ°¡¤»ä¤Ï%n¤È¤·¤ÆÃΤé¤ì¤Æ¤¤¤ë¿ÀÈëŪ¤ÊËâË¡»È¤¤¤¬¡¤ ! »¦¿Íµ´¤äάå¼Ô¤ò½¸¤á¤Æ¤¤¤ë¤È¸À¤¦¤Î¤òÃΤä¿¡¥ ! ! ¡Ö¤Þ¤¿¤Û¤ÜƱ¤¸¤³¤í¡¤¤³¤ÎÃϤοʹ֤¬¶¯ÎϤÊËâË¡¤Î¸îÉä¤Ç¤¢¤ë%o¤ò ! ¥Ä¥é¥Ë¥¢¥ó¤Îƶ·¢¤«¤é»ý¤Áµî¤Ã¤¿¡¥ ! ! ¡Ö%n¤ª¤è¤ÓÈà¤Î°Å¹õ·³ÃĤϡ¤%i¤Ë²¡¤·´ó¤»¡¤¤½¤³¤Î ! ¿Í¡¹¤òÂǤÁÉ餫¤·º½Çù¤ØÄɤ¤¤ä¤Ã¤¿¡¥Èà¤Ï%o¤ò¼ê¤ËÆþ¤ì ! Èà¤Î°Õ»×¤Î¤¿¤á»È¤¦ÊýË¡¤òõ¤·¤Æ¤¤¤ë¡¥»ä¤Ï±¿Ì¿¤ÎÈù̯¤Ê°ã¤¤¤òÓ̤®¤È¤ê¡¤ ! ¤½¤·¤Æ¤³¤ÎÃϤο͡¹¤È¹çή¤·¤¿¡¥¤½¤·¤Æ¤ªÁ°¤Ë¾¤´­¤Î¤¿¤á¤ÎÎϤòÁ÷¤Ã¤¿¤Î¤À¡¥ ! ! ¡Ö¤â¤·%n¤¬%o¤ò°Õ¤Î¤Þ¤Þ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤¿¤Ê¤é¤Ð¡¤ ! Èà¤ÏÉÔÌǤ겤òÆÀ¡¤À¤³¦Ãæ¤Î¿Í´Ö¤Î¿´¤òÅÛÎì¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤À¤í¤¦¡¥ ! ¤ªÁ°¤ÏÍ£°ì¤Î´õ˾¤À¡¥¿À¤Î½ËÊ¡¤¬¤¢¤é¤ó¤³¤È¤ò¡¤ ! ¤Þ¤¿%d¤Î²Ã¸î¤¬¤¢¤é¤ó¤³¤È¤ò¡¥¤ªÁ°¤À¤±¤¬Í£°ì ! %n¤òÅݤ»¤ë¡¥ ! ! ¡Ö¤ªÁ°¤Ï%i¤Ë¹Ô¤«¤Í¤Ð¤é¤Ê¤Ì¡¥¤³¤³¤«¤é%n¤Î¤È¤³¤í¤Þ¤Ç ! ¹ß¤ê¤Æ¹Ô¤±¤ë¡¥¤½¤·¤Æ%o¤ò»ä¤ËÌᤷ¤Æ¤ª¤¯¤ì¡¥¤½¤ì¤¬Í£°ì ! À¤³¦¤òµß¤¦ÊýË¡¤À¡¥¡× %E %Cp B 00020 ! #"%nC is strong in the dark arts, but not immune to cold steel." ! ¡Ö%n¤Ï°Å¹õÀ¤³¦¤Ç¤Ï¶¯¤¤¡¥¤·¤«¤·Î䤤¹Ý¤Ë¤ÏÄñ¹³ÎϤ¬¤Ê¤¤¡¥¡× %E %Cp B 00021 ! #"Remember that %n is a great sorcerer. He lived in the time ! #of Atlantis." ! ¡Ö%n¤Ï°ÎÂç¤ÊËâË¡»È¤¤¤Ç¤¢¤ë¤³¤È¤ò˺¤ì¤ë¤Ê¡¥Èà¤Ï¥¢¥È¥é¥ó¥Æ¥£¥¹ ! ¤Î»þÂ夫¤éÀ¸¤­¤Æ¤¤¤ë¤Î¤À¡¥¡× %E %Cp B 00022 ! #"If you fail, %p, I will not be able to protect these people long." ! ¡Ö%p¤è¡¥¤ªÁ°¤¬¼ºÇÔ¤·¤¿¤Ê¤é»ä¤Ï¤³¤ÎÃϤοʹ֤òŤ¯¼é¤Ã¤Æ ! ¤¤¤é¤ì¤Ê¤¤¤¾¡¥¡× %E %Cp B 00023 ! #"To enter %i, you must be very stealthy. The horde will be on guard." + ¡Ö%i¤ËÆþ¤ë¤Ë¤Ï¡¤¿ÍÌܤòÅð¤àÎϤò¤Ä¤±¤Í¤Ð¤Ê¤é¤Ì¡¥·³ÃĤ¬¼é¤Ã¤Æ + ¤¤¤ë¤Ï¤º¤À¡¥¡× %E %Cp B 00024 ! #"Call upon %d in your time of need." ! ¡ÖɬÍפʤé¤Ð%d¤ò¸Æ¤Ö¤Î¤À¡¥¡× %E %Cp B 00025 ! #"May %d protect you, and guide your steps." ! ¡Ö%d¤Î²Ã¸î¤ÈƳ¤­¤Î¤¢¤é¤ó¤³¤È¤ò¡¥¡× %E %Cp B 00026 ! #"If you can lay hands upon %o, carry it for good fortune." ! ¡Ö%o¤Î¾å¤Ë¼ê¤ò¤«¤¶¤¹¤³¤È¤¬¤Ç¤­¤¿¤Ê¤é¤Ð¡¤¹¬±¿¤ò¼ê¤ËÆþ¤ì¤ì¤ë ! ¤À¤í¤¦¡¥¡× %E %Cp B 00027 ! #"I cannot stand against %ns sorcery. But %d will help you." ! ¡Ö%n¤ÎËâ½Ñ¤ÎÁ°¤Ë»ä¤Ï̵Äñ¹³¤À¡¥¤·¤«¤·%d¤¬¤ªÁ°¤ò½õ¤±¤Æ ! ¤¯¤ì¤è¤¦¡× %E %Cp B 00028 ! #"Do not fear %n. I know you can defeat him." ! ¡Ö%n¤ò¶²¤ì¤ë¤Ê¡¥¤ªÁ°¤¬Èà¤òÅݤ¹¤³¤È¤òÃΤäƤ¤¤ë¡¥¡× %E %Cp B 00029 ! #"You have a great road to travel, %p, but only after you defeat ! #%n." ! ¡Ö%p¤è¡¤¤ªÁ°¤Î°ÎÂç¤Ê¤ëËÁ¸±¤Ï%n¤òÅݤ·¤Æ¤³¤½À®¤êΩ¤Ä¤Î¤À¡¥¡× %E %Cc B 00030 ! #The scent of water comes to you in the desert breeze. You know that ! #you have located %i. ! ¿å¤ÎÆ÷¤¤¤¬º½Çù¤ÎÉ÷¤ËÍϤ±¤³¤ó¤Ç¤¤¤ë¡¥¤¢¤Ê¤¿¤Ï%i¤Ë¤¤¤ë¤³¤È¤ò ! ¼Â´¶¤·¤¿¡¥ %E %Cp B 00031 ! #Yet again you have a chance to infiltrate %i. ! ¤Þ¤¿%i¤ËÀøÆþ¤¹¤ëµ¡²ñ¤¬¤ä¤Ã¤Æ¤­¤¿¡¥ %E %Cc B 00040 ! #The hairs on the nape of your neck lift as you sense an energy in the ! #very air around you. You fight down a primordial panic that seeks to ! #make you turn and run. This is surely the lair of %n. ! ¼þ°Ï¤Î¥¨¥Í¥ë¥®¡¼¤ò´¶¤¸¤ë¤È¡¤¤¢¤Ê¤¿¤Î¤¦¤Ê¤¸¤ÎÌÓ¤¬µÕΩ¤Ã¤¿¡¥¤¢¤Ê¤¿¤ÏËÜǽŪ ! ¤Ë¥Ñ¥Ë¥Ã¥¯¤Ë´ÙÆþ¤ê¡¤Æ¨¤²Æ»¤òõ¤·¤¿¡¥¤³¤ì¤³¤½ËÜÅö¤Î%n¤Î ! ½»¤ß²È¤À¡¥ %E %Cp B 00041 ! #Yet again you feel the air around you heavy with malevolent magical energy. ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï½Å¶ì¤·¤¤ËâË¡¤Î¥¨¥Í¥ë¥®¡¼¤¬¼þ°Ï¤Ë°Ï¤Þ¤ì¤Æ¤¤¤ë¤Î¤ò ! ´¶¤¸¤¿¡¥ %E %Cc B 00050 ! #"So. This is what that second rate sorcerer %l sends to do his bidding. ! #I have slain many before you. You shall give me little sport. ! # ! #"Prepare to die, %c." ! ¡Ö¤½¤¦¤«¡¤¤³¤¤¤Ä¤¬ÆóµéËâË¡»È¤¤%l¤ÎÁ÷¤ê¤³¤ó¤Ç¤­¤¿¤ä¤Ä¤«¡¥ ! ¥ï¥·¤Ï¤ªÁ°¤ÎÁ°¤Ë¿ïʬ¤È»¦¤·¤¿¤â¤ó¤À¡¥¤Á¤ç¤Ã¤È¥¹¥Ý¡¼¥Ä¤Ç¤â¤·¤Æ¤ß¤ë¤«¡¥ ! ¡Ö»à¤Ì½àÈ÷¤Ï½ÐÍ褿¤«¡©%c¡¥¡× %E %Cp B 00051 ! #"I have wasted too much time on you already. Now, you shall die." ! ¡Ö¤ªÁ°¤Î½àÈ÷¤¬¤Ç¤­¤ë¤Þ¤Ç¿ïʬ¤È²Ë¤À¤Ã¤¿¤¾¡¥¤Ä¤¤¤Ë¡¤¤ªÁ°¤Î»à¤Ì¤È¤­¤¬ ! Í褿¤«¡¥¡× %E %Cp B 00052 ! #"You return yet again, %c! Are you prepared for death now?" ! ¡Ö¤Þ¤¿Í褿¤Î¤«%c¡ªº£ÅÙ¤³¤½»à¤Ì½àÈ÷¤Ï¤Ç¤­¤¿¤Î¤«¡©¡× %E %Cp B 00053 ! #"I shall have %o back, you pitiful excuse for %ca. ! #And your life as well." ! ¡Ö%o¤ò¼è¤êÌᤷ¤Æ¤ä¤ë¡¤°¥¤ì¤ò¸ð¤¦¤¬¤è¤¤%c¤è¡¥ ! ¤½¤·¤Æ¡¤¤ª¤Þ¤¨¤ÎÌ¿¤âƱÍͤÀ¡¥¡× %E %Cp B 00060 ! #"My pets will dine on your carcass tonight!" ! ¡Ö¥ï¥·¤Î¥Ú¥Ã¥È¤¬¤ªÁ°¤Î»Ó¤Î¿©»ö¤ò³Ú¤·¤ß¤Ë¤·¤È¤ë¤ï¡ª¡× %E %Cp B 00061 ! #"You are a sorry excuse for %ra." ! ¡Ö%r¤ÎÌÌÌܤޤë¤Ä¤Ö¤ì¤À¤Ê¡¥¡× %E %Cp B 00062 ! #"Run while you can, %c. My next spell will be your last." ! ¡ÖÁ´ÎϤÇƨ¤²¤í¡¤%c¡¥¼¡¤ÎËâË¡¤¬¤ªÁ°¤ÎºÇ¸å¤À¡¥¡× %E %Cp B 00063 ! #"I shall use your very skin to bind my next grimoire." ! ¡Ö¤ªÁ°¤ÎÈé¤ò¿·¤·¤¤¼öʸ½ñ¤ÎÁõÃú¤Ë»È¤¦¤È¤·¤è¤¦¡¥¡× %E %Cp B 00064 ! #"%d cannot protect you now. Here, you die." ! ¡Ö%d¤Ï¤ªÁ°¤ò¼é¤Ã¤Æ¤ä¤ë¤³¤È¤Ê¤¾¤Ç¤­¤Ê¤¤¡¥»à¤Í¡¥¡× %E %Cp B 00065 ! #"Your %a nature makes you weak. You cannot defeat me." ! ¡Ö¤ªÁ°¤Î%a¤µ¤¬¤ªÁ°¤Î¼å¤¯¤¹¤ë¤Î¤À¡¥¤ªÁ°¤Ë¥ï¥·¤ÏÅݤ»¤Ê¤¤¡¥¡× %E %Cp B 00066 ! #"Come, %c. I shall kill you, then unleash the horde on your tribe." ! ¡ÖÍ褤¡¤%c¡¥¤ªÁ°¤ò»¦¤·¤Æ¤ä¤ë¡¥¤½¤·¤Æ·³ÃĤò¤ªÁ°¤ÎÉô²¤Ø ! Á÷¤ê¤³¤ó¤Ç¤ä¤ë¡¥¡× %E %Cp B 00067 ! #"Once you are dead, my horde shall finish off %l, and your tribe." ! ¡Ö¤ªÁ°¤¬»à¤ó¤À¤Ê¤é¡¤¥ï¥·¤Î·³ÃĤÏ%l¤äÉô²¤ò¤¹¤Ã¤«¤ê¤«¤¿ ! ¤º¤±¤ë¤³¤È¤À¤í¤¦¡¥¡× %E %Cp B 00068 ! #"Fight, %c, or are you afraid of the mighty %n?" ! ¡ÖÀ廊%c¡ª¤½¤ì¤È¤â°ÎÂç¤Ê%n¤Ë¤ª¤¸¤±¤Å¤¤¤¿¤«¡©¡× %E %Cp B 00069 ! #"You have failed, %c. Now, my victory is complete." ! ¡Ö¾¡É餢¤Ã¤¿¤Ê%c¡¥¥ï¥·¤Î¾¡Íø¤Ï¶á¤Å¤¤¤¿¡¥¡× %E %Cc B 00070 ! #As you pick up %o, you feel the power of it ! #flowing through your hands. It seems to be in two or more places ! #at once, even though you are holding it. ! %o¤ò½¦¤¦¤È¡¤¼ê¤«¤é¥Ñ¥ï¡¼¤¬ÅÁ¤ï¤Ã¤Æ¤¯¤ë¤Î¤ò´¶¤¸¤¿¡¥ ! ¤½¤ì¤ò°®¤Ã¤Æ¤¤¤Æ¤µ¤¨¡¤²¿¥ö½ê¤Ë¤â¸ºß¤·¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥ %E %Cp B 00080 ! #%nC falls to the ground, and utters a last curse at you. Then his ! #body fades slowly, seemingly dispersing into the air around you. You ! #slowly become aware that the overpowering aura of magic in the air has ! #begun to fade. ! %n¤ÏÃϤËÉú¤·¡¤ºÇ¸å¤Î¼ö¤¤¤ò¸ý¤«¤éȯ¤·¤¿¡¥Èà¤ÎÂΤϤæ¤Ã¤¯¤ê¤È ! ¾Ã¤¨¤Ï¤¸¤á¡¤¤¢¤Ê¤¿¤Î¼þ¤ê¤Î¶õµ¤¤ËÍϤ±¤³¤ó¤À¡¥¤¢¤Ê¤¿¤Ï¼þ°Ï¤Ë¤Ï¤ê¤á¤°¤é¤µ ! ¤ì¤Æ¤¤¤¿ËâË¡¤Î¥ª¡¼¥é¤¬¾Ã¤¨¤Ï¤¸¤á¤Æ¤¤¤ë¤Î¤Ë¤Ê¤ó¤È¤Ê¤¯µ¤¤¬¤Ä¤¤¤¿¡¥ %E %Cc B 00081 ! #When %l sees %o, he smiles, and says: ! # ! # Well done, %p. You have saved the world from certain doom. ! # What, now, should be done with %o? ! # ! # These people, brave as they are, cannot hope to guard it from ! # other sorcerers who will detect it, as surely as %n did. ! # ! # Take %o with you, %p. It will guard you in ! # your adventures, and you can best guard it. You embark on a ! # quest far greater than you realize. ! # ! # Remember me, %p, and return when you have triumphed. I ! # will tell you then of what you must do. You will understand when the ! # time comes. ! %l¤¬%o¤ò¸«¤ë¤ÈÈà¤ÏÈù¾Ð¤ß¡¤¤½¤·¤ÆÏä·¤¿: ! ! ¤è¤¯¤ä¤Ã¤¿%p¤è¡¥¤ªÁ°¤ÏÀ¤³¦¤òÇËÌǤ«¤éµß¤Ã¤¿¤Î¤À¡¥¤½¤³¤Ç¡¤ ! %o¤Ë²¿¤ò¤µ¤»¤è¤¦¤«¡© ! ! ¤³¤ÎÃϤοʹ֤϶¯¤¯¶¯ÎϤʤΤǡ¤%n¤¬»à¤ó¤Àº£¡¤Â¾¤ÎËâË¡»È¤¤¤«¤é ! ¼é¤Ã¤Æ¤â¤é¤¦¤È¸À¤¦¤Î¤Ï˾¤Þ¤Ê¤¤¤Ç¤¢¤í¤¦¡¥ ! ! %o¤ò»ý¤Ã¤Æ¤¤¤¯¤¬¤è¤¤¡¤%p¤è¡¥¤½¤ì¤ÏËÁ¸±¤Ç ! ¤ªÁ°¤ò¼é¤Ã¤Æ¤¯¤ì¤ë¤À¤í¤¦¤·¡¤¤ªÁ°¤ÏºÇÁ±¤ò¿Ô¤·¤Æ¤½¤ì¤ò¼é¤Ã¤Æ¤ä¤é ! ¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥¤ªÁ°¤¬¼Â´¶¤·¤Æ¤¤¤ë¤è¤ê¤Ï¤ë¤«¤Ë°ÎÂç¤Ê¥¯¥¨¥¹¥È¤Ë¸þ ! ¤±¤ÆÁ¥½Ð¤¹¤ë¤Î¤À¡¥ ! »ä¤ò˺¤ì¤ë¤Ê%p¡¤¤½¤·¤Æ¾¡Íø¤Î¤¢¤«¤Ä¤­¤Ë¤ÏÌá¤Ã¤Æ¤­¤Æ¤Û¤·¤¤¡¥»ä¤Ï ! ²¿¤ò¤¹¤Ù¤­¤«¹ð¤²¤ë¤Ç¤¢¤í¤¦¡¥¤ªÁ°¤Ï»þ¤¬Í褿¤³¤È¤òÍý²ò¤»¤Í¤Ð¤Ê¤é¤Ì¡¥ %E %Cp B 00090 ! #"Tell us, %p, have you fared well on your great quest?" ! ¡Ö%p¤è¡¥¤ªÁ°¤Î°ÎÂç¤Ê¥¯¥¨¥¹¥È¤Ë¤Ä¤¤¤ÆÏ䷤Ƥª¤¯¤ì¡¥¡× %E %Cc B 00091 ! #"This is wondrous, %p. I feared that you could not possibly ! #succeed in your quest, but here you are in possession of the Amulet ! #of Yendor! ! # ! #"I have studied the texts of the magi constantly since you left. In ! #the Book of Skelos, I found this: ! # ! # %d will cause a child to be sent into the world. This child is to ! # be made strong by trial of battle and magic, for %d has willed it so. ! # It is said that the child of %d will recover the Amulet of Yendor ! # that was stolen from the Creator at the beginning of time. ! # ! #"As you now possess the amulet, %p, I suspect that the Book ! #speaks of you. ! # ! # The child of %d will take the Amulet, and travel to the Astral ! # Plane, where the Great Temple of %d is to be found. The Amulet ! # will be sacrificed to %d, there on His altar. Then the child will ! # stand by %d as champion of all %cP for eternity. ! # ! #"This is all I know, %p. I hope it will help you." ! ¡Ö¿®¤¸¤¬¤¿¤¤¡ª%p¡¥¤ªÁ°¤¬¥¯¥¨¥¹¥È¤òÀ®¸ù¤µ¤»¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤Î¤Ç¤Ï ! ¤Ê¤¤¤«¤È¿´ÇÛ¤·¤Æ¤¿¤Î¤À¤¬¡¤º£¤Þ¤µ¤Ë¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤ò»ý¤Ã¤Æ¤¤¤ë¤Ç¤Ï ! ¤Ê¤¤¤«¡ª ! ! ¡Ö»ä¤Ï¤ªÁ°¤¬µî¤Ã¤Æ¤«¤éËâË¡¤Îʸ¸¥¤ò¾ï¤ËÆɤߤ¢¤µ¤Ã¤Æ¤¤¤¿¡¥¤½¤Î¤È¤­ ! Skelos¤ÎËܤ˼¡¤Î¤è¤¦¤Ê°ìÀá¤ò¸«¤Ä¤±¤¿¤Î¤À: ! ! %d£±¿Í¤Î»Ò¤òÀ¤³¦¤ËÁ÷¤é¤ó¡¥¤³¤Î»Ò%d¤Î°Õ»×¤Ë¤è¤êÀ襤¤Ë ! ±÷¤¤¤Æ¶¯¤¯¡¤Ëâ½Ñ¤Ë±÷¤¤¤Æ¤â¶¯¤¯ºî¤é¤ì¤ê¡¥%d¤Î»ÒÀ¤³¦¤Î»Ï¤á¤è¤ê ! ¤¤é¤ì¤·À¸Êª¤ËÅð¤Þ¤ì¤¿¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤ò¼è¤êÌᤵ¤ó¡¥ ! ! ¡Ö¤½¤·¤Æ%p¤è¡¤º£¤ªÁ°¤¬Ëâ½ü¤±¤ò»ý¤Ã¤Æ¤¤¤ë¡¥¤³¤ÎËܤϤªÁ°¤Î¤³¤È¤ò¸ì¤Ã¤Æ ! ¤¤¤ë¤Î¤Ç¤¢¤í¤¦¡¥ ! ! %d¤Î»ÒËâ½ü¤±¤ò¼ê¤ËÆþ¤ì¡¤%d¤Î°ÎÂç¤Ê¤ë»û±¡¤ò¸«¤Ä¤±¤ó¤È ! ÀºÎ¤Øι¤À¤¿¤ó¡¥º×ÃŤˤÆËâ½ü¤±¤ò%d¤Ë¸¥¾å¤·¡¤¤½¤Î»Ò ! %d¤ÎÁ°¤Ë¤Æ´°Êɤʤë±Ê±ó¤Î%c¤È¤Ê¤ì¤ê¡¥ ! ¡Ö¤³¤ì¤¬»ä¤ÎÃΤäƤ뤳¤È¤À%p¤è¡¥²¿¤é¤«¤Î½õ¤±¤Ë¤Ê¤ë¤³¤È¤ò ! µ§¤Ã¤Æ¤¤¤ë¤¾¡¥¡× %E # # Cave(wo)man # %Cc C 00001 ! #You descend through a barely familiar stairwell that you remember ! #%l showing you when you embarked upon your vision quest. ! # ! #You arrive back at %H, but something seems ! #wrong here. The usual smoke and glowing light of the fires of the ! #outer caves are absent, and an uneasy quiet fills the damp air. ! ¤¢¤Ê¤¿¤Ï¸«¤Ê¤ì¤¿³¬Ãʤò¹ß¤ê¤Ê¤¬¤é¡¤ËÁ¸±¤ËιΩ¤Ã¤¿¤È¤­¡¤%l ! ¤¬¤¢¤Ê¤¿¤ò¸«¤Æ¤¤¤¿¤Î¤ò¤Õ¤È»×¤¤¤À¤·¤¿¡¥ ! ! ¤¢¤Ê¤¿¤Ï%H¤ËÌá¤Ã¤Æ¤­¤¿¡¤¤·¤«¤·²¿¤«¤¬°ã¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤ë¡¥¤¤¤Ä¤â ! ¤Î±ì¤äƶ·¢¤Î³°¤Î²Ð¤ÎÅô¤¬¾Ã¤¨¤¦¤»¤Æ¤ª¤ê¡¤²¿¤È¤â¸À¤¨¤Ê¤¤ÄÀÌÛ¤¬Éº¤Ã¤Æ ! ¤¤¤¿¡¥ %E %Cp C 00002 ! #Once again, you arrive back at %H. ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï%H¤ËÌá¤Ã¤Æ¤­¤¿¡¥ %E %Cp C 00003 ! #For some reason, you think that this may be the last time you will ! #enter %H. ! ¤Ê¤¼¤«¡¤¤¢¤Ê¤¿¤Ï%H¤ËÍè¤ë¤Î¤Ï¤³¤ì¤¬ºÇ¸å¤Ç¤¢¤ë ! ¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥ %E %Cp C 00005 ! #"We have not been able to gather as much food since the Giants sealed ! #off our access to the outer world." ! ¡Öµð¿Í¤¬³°¤Ø¤Î½ÐÆþ¤ê¤òÉõ°õ¤·¤Æ°ÊÍè²æ¤é¤Ï½½Ê¬¤Ê¿©ÎÁ¤ò½¸¤á¤ë¤³¤È¤Ï ! ¤Ç¤­¤Ê¤¤¤Î¤À¡¥¡× %E %Cp C 00006 ! #"Since %n sent her minions, we have been constantly fighting." ! ¡Ö%n¤¬Èà½÷¤Î²¼ËͤòÁ÷¤Ã¤Æ¤­¤Æ°ÊÍ衤²æ¤é¤Ï¾ï¤Ë ! Àï¤Ã¤Æ¤¤¤ë¤Î¤À¡¥¡× %E %Cp C 00007 ! #"I have heard your vision quest was successful. Is this so?" ! ¡Ö»ä¤Ï¤¢¤Ê¤¿¤ÎËÁ¸±¤¬À®¸ù¤·¤½¤¦¤À¤Èʹ¤¤¤Æ¤¤¤ë¤¬¡¤¤É¤¦¤Ê¤ó¤À¡©¡× %E %Cp C 00008 ! #"So, tell me, %p, how have you fared?" ! ¡Ö%p¤è¡¥¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¶µ¤¨¤Æ¤¯¤ì¡× %E %Cp C 00009 ! #"%lC grows old. We know not who will guide us after he ascends." ! ¡Ö%l¤ÏǯϷ¤¤¤¿¡¥ÈàË´¤­¸å¡¤Ã¯¤¬²æ¤é¤ò¼é¤Ã¤Æ¤¯¤ì¤ë¤È¸À¤¦¤Î¤À¡¥¡× %E %Cc C 00010 ! #"You have returned from your vision quest, %p. Thank %d. ! # ! #"We are in dire need of your help, my %S. ! # ! #"But first, I must see if you are yet capable of the quest I would ! #ask you to undertake." ! ¡ÖËÁ¸±¤«¤éÌá¤Ã¤Æ¤­¤¿¤«%p¤è¡¥%d¤Ë´¶¼Õ¤·¤è¤¦¡¥ ! ¡Ö²æ%s¤è¡¥²æ¤é¤Ï¤ªÁ°¤Î½õ¤±¤òɬÍפȤ·¤Æ¤¤¤ë¡¥ ! ¡Ö¤·¤«¤·¼ê»Ï¤á¤Ë¡¤»ä¤ÎÍ׵᤹¤ë¥¯¥¨¥¹¥È¤ò¼õ¤±¤¤¤ì¤ë¤À¤±¤Îµ»Î̤¬¤¢¤ë¤« ! Ä´¤Ù¤Í¤Ð¤Ê¤é¤Ì¡¥¡× %E %Cp C 00011 ! #"Again, you return to us, %p. Let me see if you are ready now." ! ¡Ö¤Þ¤¿Ìá¤Ã¤Æ¤­¤¿¤«%p¤è¡¥½àÈ÷¤¬½ÐÍ褿¤«¤É¤¦¤«¸«¤Æ¤ä¤í¤¦¡¥¡× %E %Cp C 00012 ! #"Ah, %p. Are you finally ready?" ! ¡Ö¤ª¤ª%p¡¥½àÈ÷¤Ï¤Ç¤­¤¿¤«¤Ê¡©¡¥¡× %E %Cc C 00013 ! #"%p! You have sealed our fate. You seem unable to reform yourself, ! #so I must select another to take your place. ! # ! #"Begone from %H! You have betrayed us by choosing ! #the path of the %C over the true path of the %L. ! # ! #"You no longer live in our eyes." ! ¡Ö%p¡ª¤ªÁ°¤Ï²æ¤é¤Î±¿Ì¿¤òÉõ°õ¤·¤Æ¤·¤Þ¤Ã¤¿¡¥¤ªÁ°¤Ï¼«Ê¬¼«¿È¤ò²þ¤á¤ë ! ¤³¤È¤¬¤Ç¤­¤Ê¤¤¤È¸«¤¨¤ë¡¥¤³¤ÎǤ̳¤Ë¤ÏÂؤê¤Î¼Ô¤ò¤¿¤Æ¤ë¤³¤È¤È¤·¤è¤¦¡¥ ! ¡Ö%H¤«¤éµî¤ë¤¬¤è¤¤¡ª¤ªÁ°¤Ï%L¤Î¿¿¼Â¤ÎÆ»¤ÎÂؤê¤Ë ! %C¤ÎÆ»¤òÀñÂò¤·¡¤²æ¤é¤ò΢Àڤä¿¡¥ ! ¡Ö²æ¤¬ÌܤÎÁ°¤ËÆóÅ٤ȸ½¤ï¤ì¤ë¤Ê¡¥¡× %E %Cc C 00014 ! #"Alas, %p, you are as yet too inexperienced to embark upon such ! #a difficult quest as that I propose to give you. ! # ! #"%rA could not possibly survive the rigors demanded to find ! #%i, never mind to confront %n herself. ! # ! #"Adventure some more, and you will learn the skills you will require. ! #%d decrees it." ! ¡Ö¤¢¤¡%p¤è¡¥¤ªÁ°¤Ï»ä¤¬¤µ¤º¤±¤ëº¤Æñ¤Ê¥¯¥¨¥¹¥È¤Îι¤Ë½Ð¤ë¤Ë¤Ï ! ¾¯¤··Ð¸³ÉÔ­¤Î¤è¤¦¤À¡¥ ! ¡Ö%r¤Ç¤Ï%i¤ò¸«¤Ä¤±¡¤À¸¤­¤Æ¤¤¤ë²ÄǽÀ­¤Ê¤É¤Ê¤¤¤À¤í¤¦¡¥ ! ¤Þ¤·¤Æ¤¤¤ï¤ó¤ä%n¤ÈÂÐÌ̤ʤɤǤ­¤Ì¡¥ ! ¡ÖËÁ¸±¤ò½Å¤Í¤è¡¥¤½¤·¤ÆɬÍѤʵ»Î̤ò³Ø¤ó¤Ç¤¯¤ë¤¬¤è¤¤¡¥ ! %d¤Ï¤½¤¦Ì¿¤¸¤Ç¤¤¤ë¡¥¡× %E %Cc C 00015 ! #"%p! You have deviated from my teachings. You no longer follow ! #the path of the %a as you should. I banish you from these caves, to ! #go forth and purify yourself. Then, you might be able to accomplish this ! #quest." ! ¡Ö%p¤è¡ª²æ¤¬¶µ¤¨¤Ë¤½¤à¤¤¤Æ¤ª¤ë¤Ê¡¥¤ªÁ°¤ÏÀ®¤¹¤Ù¤­%a¤Î ! Æ»¤«¤é³°¤ì¤Æ¤¤¤ë¡¥ÎϤò¤Ä¤±¼«Ê¬¼«¿È¤ò¾ô²½¤·¤Æ¤â¤é¤¦¤¿¤á¡¤¤ªÁ°¤ò ! ¤³¤Îƶ·¢¤«¤éÄɤ¤Ê§¤ª¤¦¡¥¤½¤·¤Æ¤³¤Î¥¯¥¨¥¹¥È¤ò¤ä¤ê¤È¤²¤ë¤¯¤é¤¤ ! ¤ÎÎϤò¤Ä¤±¤Æ¤¯¤ë¤Î¤À¡¥¡× %E %Cc C 00016 ! #"You are indeed ready now, %p. I shall tell you a tale of ! #great suffering among your people: ! # ! #"Shortly after you left on your vision quest, the caves were invaded by ! #the creatures sent against us by %n. ! ¡Ö¤Õ¤à¡¥½àÈ÷¤¬¤Ç¤­¤¿¤è¤¦¤À¤Ê%p¤è¡¥¤Þ¤º¡¤¤³¤ÎÃϤǵ¯¤­¤¿Â礤¤Ê¤ë ! ¼õÆñ¤ÎÏäò¤·¤è¤¦: ! ! ¡Ö¤ªÁ°¤¬ËÁ¸±¤Ë½Ð¤«¤±¤¿¸å¤¹¤°¤Ë¡¤¤³¤Îƶ·¢¤Ï%n¤¬ ! ²æ¡¹¤ËÁ÷¤Ã¤Æ¤­¤¿À¸Êª¤Ë¿¯Î¬¤µ¤ì¤Æ¤·¤Þ¤Ã¤¿¡¥ ! ! #"She, herself, could not attack us due to her great size, but her minions ! #have harassed us ever since. In the first attacks, many died, and the ! #minions of %n managed to steal %o. ! #They took it to %i and there, none of our ! #%g warriors have been able to go. ! ¡ÖÈà½÷¤Ï¤½¤ÎµðÂΤΤ¿¤á¼«Ê¬¼«¿È¤Ç¤Ï¹¶·â¤Ç¤­¤Ê¤¤¤Î¤À¤¬¡¤Èà½÷¤Î²¼ËÍã¤Ï ! ²æ¡¹¤ÎǺ¤ß¤Î¼ï¤À¡¥ºÇ½é¤Î¹¶·â¤Ç¿¤¯¤¬»à¤Ë¡¤%n ! ¤Î²¼ËÍã¤Ï%o¤òÅð¤ó¤Ç¤·¤Þ¤Ã¤¿¡¥Èà¤é¤Ï%i¤Ë ! »ý¤Á¤«¤¨¤ê¡¤²æ¤é%g¤ÎÀï»Î¤Ïï¤â¤½¤³¤Ø¹Ô¤¯¤³¤È ! ¤¬¤Ç¤­¤Ê¤¤¡¥ ! ! #"You must find %i, and within it wrest ! #%o from %n. She guards it as ! #jealously as she guards all treasures she attains. But with it, ! #we can make our caves safe once more. ! # ! #"Please, %p, recover %o for us, and return it here." ! ¡Ö¤ªÁ°¤Ï%i¤ò¸«¤Ä¤±¡¤%n¤«¤é%o¤ò ! ¤â¤®¼è¤Ã¤Æ¤¯¤ë¤Î¤À¡¥Èà½÷¤ÏÁ´ÎϤǤ½¤ì¤ò¼é¤Ã¤Æ¤¤¤ë¡¥¤½¤ì¤ò¼è¤êÌ᤻ ! ¤Ð²æ¤é¤Ï°ÂÂÙ¤À¡¥ ! ¡Ö%p¤è¡¥¤É¤¦¤«²æ¤é¤Î¤¿¤á¤Ë%o¤ò¼è¤êÌᤷ¡¤¤³¤³¤ØÌá¤Ã¤Æ¤­¤Æ ! ¤Û¤·¤¤¡¥¡× %E %Cp C 00020 ! #"%nC is immune to her own breath weapons. ! #You should use magic upon her that she does not use herself." ! ¡Ö%n¤ÏÈà½÷¼«¿È¤Î¥Ö¥ì¥¹¹¶·â¤ËÂФ·¤Æ¤ÏÂÑÀ­¤¬¤¢¤ë¡¥ ! ¤ªÁ°¤ÏÈà½÷¤Î»È¤ï¤Ê¤¤ËâË¡¤òÍѤ¤¤ë¤Ù¤­¤À¡¥¡× %E %Cp C 00021 ! #"When you encounter %n, call upon %d for assistance." ! ¡Ö%n¤Ë²ñ¤Ã¤¿¤Ê¤é¡¤%d¤Î½õ¤±¤ò¸Æ¤Ö¤Î¤À¡¥¡× %E %Cp C 00022 ! #"There will be nowhere to hide inside %n's inner sanctum." ! ¡Ö%n¤ÎÀ»°èÆâ¤Ç¤Ï±£¤ì¤ë¤È¤³¤í¤Ê¤É¤Ê¤¤¤¾¡¥¡× %E %Cp C 00023 ! #"Your best chance with %n will be to keep moving." ! ¡Ö%n¤ËÂФ·¤Æ¤Ï¾ï¤ËÆ°¤­¡¤¥Á¥ã¥ó¥¹¤ò¤¦¤«¤¬¤¨¡¥¡× %E %Cp C 00024 ! #"Do not be distracted by the great treasures in %ns lair. ! #Concentrate on %o." ! ¡Ö%n¤Î½»¤ß¤«¤ÎÊõ¤Ë¤ÏÌܤ⤯¤ì¤ë¤Ê¡¥%o¤Ë ! ½¸Ã椹¤ë¤Î¤À¡¥¡× %E %Cp C 00025 ! #"%oC is the only object that %n truly fears." ! ¡Ö%o¤Ï%n¤¬°Ú¤ì¤ëÍ£°ì¤ÎʪÂΤÀ¡¥¡× %E %Cp C 00026 ! #"Do not be fooled by %ns size. She is fast, and it is ! #rumored that she uses magic." ! ¡Ö%n¤ÎÂ礭¤µ¤Ë̤蘆¤ì¤ë¤Ê¡¥Èà½÷¤ÏÁÇÁ᤯¡¤¤Þ¤¿ËâË¡¤ò ! »È¤¦¤È±½¤µ¤ì¤Æ¤¤¤ë¡¥¡× %E %Cp C 00027 ! #"I would send a party of %gP with you, but we will need all ! #of our strength to defend ourselves." ! ¡Ö%g¤Î°ìÂâ¤òÁ÷¤ê¤¿¤¤¤Î¤À¤¬¡¤²æ¤é¤ÎÀº±Ô¤Ï¤³¤³¤Î¼é¤ê¤Î¤¿¤á¤ËɬÍ× ! ¤Ê¤Î¤À¡¥¡× %E %Cp C 00028 ! #"Remember, be %a at all times. This is your strength." ! ¡Ö¤¤¤Ä¤Ç¤â%a¤ÎÀº¿À¤ò˺¤ì¤ë¤Ê¡¥¤½¤ì¤¬¤ªÁ°¤Î¶¯¤µ¤Ê¤Î¤À¡¥¡× %E %Cp C 00029 ! #"If only we had an amulet of reflection, this would not have happened." ! ¡ÖÈ¿¼Í¤ÎËâ½ü¤±¤µ¤¨»ý¤Ã¤Æ¤¤¤ì¤Ð¡¤¤³¤Î¤è¤¦¤Ê¤³¤È¤Ï ! µ¯¤³¤é¤«¤Ã¤¿¤Ç¤¢¤í¤¦¡¥¡× %E %Cc C 00030 ! #You %x many large claw marks on the ground. The tunnels ahead ! #of you are larger than most of those in any cave complex you have ! #ever been in before. ! # ! #Your nose detects the smell of carrion from within, and bones litter ! #the sides of the tunnels. ! ¤¢¤Ê¤¿¤Ï¡¤ÃÏÌ̤˵ðÂç¤ÊÄÞÀפ¬¤¢¤ë¤Î¤ò%x¤¿¡¥¤¢¤Ê¤¿¤ÎÁ°Êý¤Ë¤¢¤ë¥È¥ó¥Í¥ë¤Ï ! º£Ëø¤Ë¤¢¤Ê¤¿¤¬¸«¤¿¤³¤È¤Î¤¢¤ë¤â¤Î¤è¤êµðÂç¤Ç¡¤Ê£»¨¤Ç¤¢¤ë¡¥ ! »àÆù¤Î½­¤¤¤¬¤½¤³¤«¤éɺ¤Ã¤Æ¤¯¤ë¤Î¤ò´¶¤¸¡¤¹ü¤¬¥È¥ó¥Í¥ë¤Îξ¦¤Ë»¶Íð¤·¤Æ ! ¤¤¤ë¡¥ %E %Cp C 00031 ! #Once again, you approach %i. ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï%i¤Ë¶á¤Å¤¤¤¿¡¥ %E %Cc C 00040 ! #You find yourself in a large cavern, with neatly polished walls, that ! #nevertheless show signs of being scorched by fire. ! # ! #Bones litter the floor, and there are objects scattered everywhere. ! #The air is close with the stench of sulphurous fumes. ! # ! #%nC is clearly visible, but she seems to be asleep. ! ¤¢¤Ê¤¿¤ÏÊɤ¬ÃúÇ«¤ËËᤫ¤ì¤¿Â礭¤Êƶ·¢¤Ë¤¤¤ë¤Î¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥¤·¤«¤·¡¤¤½¤ì ! ¤Ç¤â¡¤²Ð¤Ç¾Ç¤¬¤µ¤ì¤¿Àפ¬¤¢¤Á¤³¤Á¤Ë¤¢¤ë¡¥ ! ¹ü¤¬¾²¤Ë»¶Í𤷤Ƥª¤ê¡¤¤¤¤í¤ó¤Ê¤â¤Î¤¬ÌµÂ¤ºî¤Ë¤Á¤é¤Ð¤Ã¤Æ¤¤¤ë¡¥ ! ¶õµ¤¤Îή¤ì¤ÏÂڤäƤª¤ê¡¤Î²²«¤Î½­¤¤¤¬É¡¤Ë¤Ä¤¯¡¥ ! %n¤Ï¤Ï¤Ã¤­¤ê¤È¸«¤¨¤Æ¤¤¤ë¡¥¤·¤«¤·Èà½÷¤Ï¿²¤Æ¤¤¤ë¤è¤¦¤À¡¥ %E %Cp C 00041 ! #Once again, you find yourself in the lair of %n. ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï%n¤Î½»¤ß¤«¤Ë¤¤¤¿¡¥ %E %Cc C 00050 ! #"So, human, you seek to invade the lair of %n. ! #Only my meals are allowed down here. Prepare to be eaten!" ! ¡Ö¿Í´Ö¤è¡¥%n¤Î½»¤ß¤«¤Ë¿¯Æþ¤·¤Æ²¿¤«¤ò¤ªÁܤ·¤Ç¤¹¤«¡© ! ¤³¤³¤Ø¤Ï»ä¤Î¿©ÎÁ°Ê³°¤ÏÆþ¤Ã¤Æ¤³¤ì¤Ê¤¤¤Î¤Ç¤¹¡¥¿©¤Ù¤é¤ì¤ë½àÈ÷¤ò¤·¤Ê¤µ¤¤¡ª¡× %E %Cp C 00051 ! #"So, again you face me, %c. No human has ever before escaped me. ! #Now I shall kill you." ! ¡Ö¤Þ¤¿¤ª²ñ¤¤¤·¤Þ¤·¤¿¤Í¡¤%c¡¥¿Í´Ö¤´¤È¤­¤¬»ä¤«¤éƨ¤²¤é¤ì¤ë¤È»×¤Ã¤Æ¡© ! º£ÅÙ¤³¤½»¦¤·¤Æ¤µ¤·¤¢¤²¤Þ¤·¤ç¤¦¡¥¡× %E %Cp C 00052 ! #"You are getting annoying, %c. Prepare to die." ! ¡Ö¤¢¤Ê¤¿¤Ï¤¤¤é¤¤¤é¤µ¤»¤é¤ì¤Þ¤¹¡¤%c¡¥»à¤Ì½àÈ÷¤ò¤·¤Ê¤µ¤¤¡¥¡× %E %Cp C 00053 ! #"I'll have %o from you, %c. You shall die." ! ¡Ö»ä¤³¤½%o¤ò»ý¤Ä¤Ù¤­¤À¡¤%c¡¥»à¤Í¡¥¡× %E %Cp C 00060 ! #"You are weak, %c. No challenge for the Mother of all Dragons." ! ¡Ö¼å¤Ã¤Æ¤­¤¿¤è¤¦¤Í¡¤%c¡¥Á´¤Æ¤Î¥É¥é¥´¥ó¤ÎÊì¤ØÄ©À魯¤ë¤Ê¤É ! ̵ËŤÀ¤Ã¤¿¤è¤¦¤Ç¤¹¤Í¡¥¡× %E %Cp C 00061 ! #"I grow hungry, human. You look like a nice appetizer!" ! ¡Ö¤Á¤ç¤¦¤ÉÊ¢¤¬¸º¤Ã¤Æ¤­¤¿¤È¤³¤í¤è¡¤¿Í´Ö¤è¡¥¤¢¤Ê¤¿¤ò¸«¤Æ¤ë¤È¿©Íߤ¬Í¯¤¤ ! ¤Æ¤­¤Þ¤¹¡¥¡× %E %Cp C 00062 ! #"Join me for lunch? You're the main course, %c." ! ¡ÖÃë¿©¤ò¤¤¤Ã¤·¤ç¤Ë¤É¤¦¤Ç¤¹¤«¡©¤â¤Á¤í¤ó¤¢¤Ê¤¿¤¬¥á¥¤¥ó¥Ç¥£¥Ã¥·¥å¤Ç¤¹ ! ¤±¤É¡¤%c¡× %E %Cp C 00063 ! #"With %o, I am invincible! You cannot succeed." ! ¡Ö%o¤Ë¤è¤ê»ä¤Ï̵Ũ¤Ç¤¹¡¥¤¢¤Ê¤¿¤¬ÌÜŪ¤òãÀ®¤¹¤ë¤Ê¤É ! ÉÔ²Äǽ¤Ç¤¹¤è¡¥¡× %E %Cp C 00064 ! #"Your mentor, %l has failed. You are nothing to fear." ! ¡Ö¤¢¤Ê¤¿¤Î»ØƳ¼Ô¤Ç¤¢¤ë%l¤Ï¼ºÇÔ¤·¤¿¤Î¤Ç¤¹¤è¡¥¤¢¤Ê¤¿¤â²¿¤â¶²¤ì¤ë ! ¤³¤È¤Ê¤É¤Ê¤¤¤Ç¤·¤ç¤¦¡¥¡× %E %Cp C 00065 ! #"You shall die here, %c. %rA cannot hope to defeat me." ! ¡Ö¤¢¤Ê¤¿¤Ï¤³¤³¤Ç»à¤Ì¤Î¤Ç¤¹¡¤%c¡¥%r¤´¤È¤­¤Ç¤Ï»ä¤ò ! Åݤ¹¤Ê¤É̴ʪ¸ì¤Ç¤¹¤Í¡¥¡× %E %Cp C 00066 ! #"You, a mere %r challenge the might of %n? Hah!" ! ¡Ö%n¤ÎÎϤËÄ©À魯¤ë¤È¤Ï´õ¤Ê%r¤Ç¤¹¤Í¡¥¤Õ¡¼¤ó¡× %E %Cp C 00067 ! #"I am the Mother of all Dragons! You cannot hope to defeat me." ! ¡Ö»ä¤ÏÁ´¥É¥é¥´¥ó¤ÎÊì¤Ç¤¹¡ªÅݤ¹¤Ê¤É¸À¤¦Çϼ¯¤²¤¿¹Í¤¨¤Ï´þ¤Æ¤Ê¤µ¤¤¡¥¡× %E %Cp C 00068 ! #"My claws are sharp now. I shall rip you to shreds!" ! ¡Öº£Æü¤Î»ä¤ÎÄޤϱԤ¤¤Ç¤¹¤è¡¥¤º¤¿¤º¤¿¤Ë¤·¤Æ¤¢¤²¤Þ¤·¤ç¤¦¡ª¡× %E %Cp C 00069 ! #"%d has deserted you, %c. This is my domain." ! ¡Ö%d¤Ï¤¢¤Ê¤¿¤ò¸«¼Î¤Æ¤¿¤è¤¦¤Ç¤¹¤Í¡¤%c¡¥¤³¤³¤Ï»ä¤Î ! Îΰè¤Ê¤Î¤Ç¤¹¤è¡¥¡× %E %Cc C 00070 ! #As you pick up %o it seems heavy at first, but as you ! #hold it strength flows into your arms. ! # ! #You suddenly feel full of power, as if nothing could possibly stand ! #in your path. ! ¤¢¤Ê¤¿¤Ï¡¤%o¤ò½¦¤Ã¤¿¡¥ºÇ½é¤Ï½Å¤¯´¶¤¸¤¿¤¬¤½¤ì¤ò»ý¤Ä¤ÈÎϤ¬ÏÓ¤Ë ! Ãí¤¬¤ì¤Æ¤­¤¿¡¥ ! ¤¢¤Ê¤¿¤Ï¡¤ÎϤ¬Ëþ¤¿¤µ¤ì¤¿¤è¤¦¤Ë´¶¤¸¡¤Ã¯¤â¹Ô¤¯¼ê¤òÁˤळ¤È¤Ê¤É¤Ç¤­¤Ê¤¤¤è ! ¤¦¤Êµ¤¤¬¤·¤¿¡¥ %E %Cp C 00080 ! #%nC sinks to the ground, her heads flailing about. ! #As she dies, a cloud of noxious fumes billows about her. ! %n¤ÏÃÏÌ̤ËÊø¤ì¡¤Èà½÷¤ÎƬ¤¬¥¬¥¯¥ó¤È¤¦¤Ê¤À¤ì¤¿¡¥ ! Èà½÷¤¬»à¤Ì¤È¡¤Í­ÆÇ¥¬¥¹¤¬ÂΤ«¤é¤¿¤Á¤³¤á¤¿¡¥ %E %Cc C 00081 ! #%lC glimpses %o in your possession. ! #He smiles and says: ! # ! # You have done it! We are saved. But I fear that %o ! # will always be a target for %C forces who will want it for their ! # own. ! # ! # To prevent further trouble, I would like you, %p, ! # to take %o away with you. It will help you as you ! # quest for the Amulet of Yendor. ! %l¤Ï¤¢¤Ê¤¿¤¬»ý¤Ã¤Æ¤¤¤ë%o¤ò¤Á¤é¤Ã¤È¸«¤ë¤È¡¤Èù¾Ð¤ß ! ¤Ê¤¬¤éÏä·¤«¤±¤¿: ! ! ¸«»ö¤Ê¤·¤È¤²¤¿¤«¡ª²æ¤é¤Ï½õ¤«¤Ã¤¿¡¥¤·¤«¤·¡¤»ä¤Ï%o¤¬ ! ¤½¤ì¤ò¼ê¤ËÆþ¤ì¤ó¤È¤¹¤ë¼Ô¤Î¡¤¤¤¤Ä¤Ç¤â%c¤ÎÎϤζ¼°Ò ! ¤Ë¤¢¤ë¤³¤È¤ò¶²¤ì¤Æ¤¤¤ë¡¥ ! ! ¤½¤Î¤è¤¦¤ÊÌäÂê¤òÈò¤±¤ë¤¿¤á¡¤»ä¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤Ï¤É¤¦¤«¤È»×¤Ã¤Æ ! ¤¤¤ë¡¥%p¤è¡¤¤ªÁ°¤¬%o¤ò»ý¤Ã¤Æ¤¤¤¯¤Î¤À¡¥ ! ¤½¤ì¤Ï¤ªÁ°¤Î¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤òÁܤ¹ËÁ¸±¤Î½õ¤±¤Ë¤Ê¤ë¤À¤í¤¦¡¥ %E %Cp C 00090 ! #"%p! Welcome back. ! #How goes your quest to recover the Amulet for %d?" ! ¡Ö%p¡ªÌá¤Ã¤Æ¤­¤¿¤«¡¥ ! %d¤ÎËâ½ü¤±¤ò¼è¤êÌ᤹ËÁ¸±¤Ï¤É¤ó¤ÊÄ´»Ò¤À¤¤¡©¡× %E %Cc C 00091 ! #"You have been successful, I see, %p. ! # ! #"Now that the Amulet of Yendor is yours, here is what you must do: ! # ! #"Journey upwards to the open air. The Amulet you carry will then ! #take you into the Astral Planes, where the Great Temple of %d ! #casts its influence throughout our world. ! # ! #"Sacrifice the Amulet on the altar. Thus shall %d become supreme!" ! ¡ÖÀ®¸ù¤·¤¿¤Î¤«%p¤è¡¥ ! ¡Ö¤¤¤Þ¤ä¡¤¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤Ï¤ªÁ°¤Î¼ê¤Ë¤¢¤ë¡¤²¿¤ò¤¹¤Ù¤­¤«¶µ¤¨¤Æ ! ¤·¤ó¤¼¤è¤¦: ! ¡ÖÂ礤¤Ê¤ë¶õ¤Øι¤ò³¤±¤ë¤Î¤À¡¥Ëâ½ü¤±¤¬¤ªÁ°¤òÀºÎ¤Ø¤Ä¤ì¤Æ¹Ô¤Ã¤Æ ! ¤¯¤ì¤ë¤À¤í¤¦¡¥¤½¤³¤Ë¤ÏÀ¤³¦Ãæ¤Ë±Æ¶Á¤òÍ¿¤¨¤Æ¤¤¤ë ! %d¤ÎÂç»û±¡¤¬¤¢¤ë¡¥ ! ¡ÖËâ½ü¤±¤ò¸¥¾å¤»¤è¡¥%d¤¬·Þ¤¨¤Æ¤¯¤ì¤ë¤À¤í¤¦¡ª¡× %E # # Elf # %Cc E 00001 ! #You arrive in familiar surroundings. In the distance, you %x the ! #great stone Circle, the place of worship to %d. ! # ! #Something is wrong, though. Surrounding the circle are orcs! ! #And they've noticed you! ! ¤¢¤Ê¤¿¤Ï¸«¤Ê¤ì¤¿¾ì½ê¤Ë¤¿¤É¤ê¤Ä¤­¡¤±óÊý¤Ë%d¤Î¿òÇÒ¤ÎÃÏ¤Ç ! ¤¢¤ë°ÎÂç¤Ê¥¹¥È¡¼¥ó¥µ¡¼¥¯¥ë¤ò%x¤¿¡¥ ! ¤·¤«¤·¡¤²¿¤«¤¬°ã¤¦¡¥¤Ê¤ó¤È¥µ¡¼¥¯¥ë¤Î²ó¤ê¤Ë¤¤¤ë¤Î¤Ï¥ª¡¼¥¯¤À¡ª ! Èà¤é¤Ï¤¢¤Ê¤¿¤Ëµ¤¤¬¤Ä¤¤¤¿¡ª %E %Cp E 00002 ! #Once again, you stand before %H. ! ºÆ¤Ó¡¤¤¢¤Ê¤¿¤Ï%H¤ÎÁ°¤ËΩ¤Ã¤¿¡¥ %E %Cp E 00003 ! #You have the oddest feeling that this may be the last time you ! #are to enter %H. ! ¤¢¤Ê¤¿¤Ï¡¤%H¤ËÆþ¤ë¤Î¤Ï¤³¤ì¤¬ºÇ¸å¤«¤â¤·¤ì¤Ê¤¤¤È¤¤¤¦´ñ̯¤Ê´¶¤¸¤¬¤·¤¿¡¥ %E %Cp E 00005 ! #"%p! I have not seen you in many cycles. How do you fare?" ! ¡Ö%p¤è¡ª ¤º¤¤¤Ö¤óŤ¤¤³¤È²ñ¤ï¤Ê¤«¤Ã¤¿¤¬¡¤¸µµ¤¤Ë¤ä¤Ã¤Æ¤¤¤ë¤«¤Í¡©¡× %E %Cp E 00006 ! #"%nC continues to threaten the circle. But we hold fast." ! ¡Ö%n¤Ï¥µ¡¼¥¯¥ë¤ò¶¼¤«¤·Â³¤±¤Æ¤¤¤ë¤¬¡¤²æ¡¹¤¬¤·¤Ã¤«¤ê»Ù¤¨¤Æ¤¤¤ë¡¥¡× %E %Cp E 00007 ! #"%lC is growing weak. The magic required to defend the circle drains us." ! ¡Ö%l¤Ï¤À¤ó¤À¤ó¼å¤Ã¤Æ¤­¤¿¡¥ ! ¥µ¡¼¥¯¥ë¤ò¼é¤ë¤¿¤á¤ËɬÍפÊËâÎϤ¬²æ¡¹¤ò¾ÃÌפµ¤»¤ë¤Î¤À¡¥¡× %E %Cp E 00008 ! #"Remember %i is hard to enter. Seek the secret ! #passageways." ! ¡Ö%i¤ËÀøÆþ¤¹¤ë¤Î¤ÏÆñ¤·¤¤¤¾¡¥ÈëÌ©¤ÎÄÌÏ©¤òõ¤¹¤ó¤À¡¥¡× %E %Cp E 00009 ! #"We must regain %o. Without it we will be overrun." ! ¡Ö²æ¡¹¤Ï%o¤ò¼è¤êÌᤵ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥¤µ¤â¤Ê¤¯¤Ð ! ¤ä¤é¤ì¤Æ¤·¤Þ¤¦¤À¤í¤¦¡¥¡× %E %Cc E 00010 ! #"%p! You have returned! Thank %d. ! # ! #"We have great need of you. But first, I must see if you have the ! #required abilities to take on this responsibility." ! ¡Ö%p¤è¡ª ¤è¤¯Ìá¤Ã¤ÆÍè¤Æ¤¯¤ì¤¿¡ª %d¤è´¶¼Õ¤·¤Þ¤¹¡¥ ! ²æ¡¹¤Ï¤ªÁ°¤¬É¬ÍפÀ¤¬¡¤¤³¤ÎÂç»ö¤ÊÌòÌܤò²Ì¤¿¤¹Ç½ÎϤò¤ªÁ°¤¬»ý¤Ã¤Æ¤¤¤ë¤« ! ºÇ½é¤Ë³Î¤«¤á¤µ¤»¤Æ¤¯¤ì¡¥¡× %E %Cp E 00011 ! #"Once again, %p, you stand in our midst. Are you ready now?" ! ¡Ö¤ª¤ª%p¤è¡¥ºÆ¤Ó¤ªÁ°¤Ï²æ¡¹¤ÎÃæ¿´¤ËΩ¤Ã¤Æ¤¤¤ë¡¥½àÈ÷¤Ï¤Ç¤­¤Æ¤¤¤ë¤«¡©¡× %E %Cp E 00012 ! #"Ah, you are here again, %p. Allow me to determine your readiness..." ! ¡Ö¤ª¤ª¡¤¤Þ¤¿Í褿¤Ê%p¤è¡¥¤ªÁ°¤Î½àÈ÷¤¬¤Ç¤­¤Æ¤¤¤ë¤«Ä´¤Ù¤µ¤»¤Æ¤¯¤ì¡Ä¡× %E %Cc E 00013 ! #"%p! You have doomed us all. You fairly radiate %L influences ! #and weaken the power we have raised in this circle as a result! ! # ! #"Begone! We renounce your %shood with us! You are an outcast now!" ! ¡Ö%p¤è¡ª ¤ªÁ°¤Ï²æ¡¹¤¹¤Ù¤Æ¤òÇËÌǤµ¤»¤ëµ¤¤Ê¤Î¤«¡ª ! ¤ªÁ°¤¬%L¤Î±Æ¶ÁÎϤò¤Þ¤­»¶¤é¤·¤Æ¤¤¤ë¤»¤¤¤Ç¡¤ ! ¥µ¡¼¥¯¥ë¤ò»Ù¤¨¤Æ¤¤¤ë²æ¡¹¤ÎÎϤ¬¼å¤Þ¤Ã¤Æ¤¤¤ë¤Ç¤Ï¤Ê¤¤¤«¡ª ! ¡ÖΩ¤Áµî¤ì¡ª ²æ¡¹¤Ï¤ªÁ°¤È%sʬ¤Î±ï¤òÀڤ롥¤ªÁ°¤ÏÄÉÊü¤À¡ª¡× %E %Cc E 00014 ! #"%p, you are yet too inexperienced to withstand the demands of that ! #which we need you to do. %RA might just be able to do this thing. ! # ! #"Return to us when you have learned more, my %S." ! ¡Ö%p¤è¡¥¤ªÁ°¤Ï¤Þ¤À·Ð¸³ÉÔ­¤À¡¥ ! ¤³¤ì¤Ç¤Ï²æ¡¹¤¬Í׵᤹¤ë¤³¤È¤Ë¤ÏÂѤ¨¤é¤ì¤Ê¤¤¤À¤í¤¦¡¥ ! %R¤Ê¤é¤É¤¦¤Ë¤«ÂѤ¨¤é¤ì¤ë¤«¤â¤·¤ì¤ó¡¥ ! ¡Ö¤â¤Ã¤È·Ð¸³¤òÀѤó¤Ç¤«¤é²æ¡¹¤Î¸µ¤ËÌá¤Ã¤Æ¤¯¤ë¤¬Îɤ¤¡¥¤ï¤¬%S¤è¡¥¡× %E %Cc E 00015 ! #"You have strayed, %p! You know that %d requires that ! #we maintain a pure devotion to things %a! ! # ! #"You must go from us. Return when you have purified yourself." ! ¡ÖÀµ¤·¤¤Æ»¤«¤é¤½¤ì¤Æ¤¤¤ë¤è¤¦¤À¤Ê¡¤%p¤è¡¥¤ªÁ°¤âÃΤäƤ¤¤ë¤è¤¦¤Ë¡¤ ! %d¤Ï²æ¡¹¤Ë%a¤ËÂФ¹¤ë½ã¿è¤Ê¿®¿´¤ò»ý¤Ä¤³¤È¤òµá¤á¤Æ¤¤¤ë¡¥ ! ²æ¡¹¤ÎÁ°¤«¤éΩ¤Áµî¤ì¡¥¤½¤·¤ÆãÒ¤ì¤òÀ¶¤á¤Æ¤«¤éÌá¤Ã¤Æ¤¯¤ë¤Î¤À¡¥¡× %E %Cc E 00016 ! #"You are indeed ready, %p. I shall tell you what has transpired, ! #and why we so desperately need your help: ! # ! #"A short time ago, the Uruk-hai tribes of the mountains to the east ! #invaded and enslaved the goblin tribes in this area. The local ! #%nt is now only a figurehead, and serves the Uruk-hai Overlord. ! # ! #"During our last gathering of worship here, we were beset by hordes of ! #orcs and goblins, as you witnessed. In the first onslaught a group, ! #headed by %n himself, managed to breach the circle and ! #steal %o. ! # ! #"Since then, we have been besieged. We do not know how much longer ! #we will be able to maintain our magical barriers. ! # ! #"If we are to survive, you, %p, must infiltrate ! #%i. There, you will find a pathway down, to the ! #underground castle of %n. He has always coveted ! #%o, and will surely keep it on his person, ! #until he delivers it to the Uruk-hai Overlord. ! # ! #"Recover %o for us, %p! Only then will ! #the circle of %d be safe." ! ¡Ö%p¤è¡¤½àÈ÷¤ÏÎɤ¤¤è¤¦¤À¤Ê¡¥¤Þ¤º¤Ï²¿¤¬µ¯¤³¤Ã¤¿¤Î¤«¡¤¤½¤·¤Æ¡¤ ! ¤Ê¤¼²æ¡¹¤¬¤³¤ó¤Ê¤Ë¤â¤ªÁ°¤Î½õ¤±¤òɬÍפȤ·¤Æ¤¤¤ë¤Î¤«¤òʹ¤¤¤ÆÍߤ·¤¤¡¥ ! ! ¡Ö¤Ä¤¤ºÇ¶á¤Î¤³¤È¤À¡¤¤¢¤ÎÅìÊý»³Ì®¤Î¥¦¥ë¥¯¡¦¥Ï¥¤¶¦¤¬²¡¤·´ó¤»¤Æ¤­¤Æ¡¤ ! ¤³¤ÎÃÏÊý¤Î¥´¥Ö¥ê¥ó¤É¤â¤òÅÛÎì¤Ë¤·¤¿¡¥¤³¤ÎÃÏÊý¤Î%n¤Ï ! ¤¿¤À¤ÎÐúÑ´¤Ç¡¤Åۤϥ¦¥ë¥¯¡¦¥Ï¥¤¤ÎÂç·¯¼ç¤Ë»Å¤¨¤Æ¤¤¤ë¡¥ ! ! ¡Ö¤³¤Î´ÖÎéÇҤΤ¿¤á¤Ë²æ¡¹¤¬¤³¤³¤Ë½¸¤Þ¤Ã¤Æ¤¤¤ë´Ö¤Ë¡¤¤ªÁ°¤¬Ìܷ⤷¤¿¤è¤¦¤Ë¡¤ ! ²æ¡¹¤Ï¥ª¡¼¥¯¤È¥´¥Ö¥ê¥ó¤Î·²¤ì¤Ë°Ï¤Þ¤ì¤Æ¤·¤Þ¤Ã¤¿¡¥¤½¤·¤ÆºÇ½é¤ÎÌÔ¹¶·â¤Î»þ¤Ë¡¤ ! %n¤Î¥°¥ë¡¼¥×¤¬¥µ¡¼¥¯¥ë¤ò¤¦¤Þ¤¯ÆÍÇˤ·¤Æ%o¤òÅð¤ó¤À¤Î¤À¡¥ ! ! ¡Ö¤½¤ì°ÊÍ衤²æ¡¹¤Ï¤º¤Ã¤ÈÊñ°Ï¤µ¤ì¤Æ¤¤¤ë¡¥ ! ²æ¡¹¤¬¸å¤É¤ì¤¯¤é¤¤ËâË¡¤Î¥Ð¥ê¥¢¤ò°Ý»ý¤Ç¤­¤ë¤«¤ï¤«¤é¤ó¡¥ ! ! ¡Ö²æ¡¹¤¬À¸¤­¤Î¤Ó¤ë¤¿¤á¤Ë¤Ï¡¤%p¤è¡¤¤ªÁ°¤Ï%i¤ËÀøÆþ¤·¤Ê ! ¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥¤½¤³¤Ë¤Ï²¼¤Ø¡¤¤¹¤Ê¤ï¤Á%n¤ÎÃϲ¼¾ë¤Ø¹ß¤ê¤ë ! Æ»¤¬¤¢¤ë¤Ï¤º¤À¡¥ÅۤϤ¤¤Ä¤â%o¤òÍߤ·¤¬¤Ã¤Æ¤¤¤¿¤«¤é¡¤ ! ¥¦¥ë¥¯¡¦¥Ï¥¤¤ÎÂç·¯¼ç¤ËÅϤ¹¤Þ¤Ç¤Î´Ö¤Ï¡¤É¬¤º¿È¤Ë¤Ä¤±¤Æ¤¤¤ë¤À¤í¤¦¡¥ ! ¡Ö²æ¡¹¤Î¤¿¤á¤Ë%o¤ò¼è¤êÊÖ¤·¤Æ¤¯¤ì¡¤%p¤è¡ª ! ¼è¤êÊÖ¤·¤Æ¤¯¤ì¤ì¤Ð¡¤%d¤Î¥µ¡¼¥¯¥ë¤Ï°ÂÂÙ¤À¡¥¡× %E %Cp E 00020 ! #"It is rumored that the Uruk-hai have a pact with the Hill Ogres." ! ¡Ö±½¤Ë¤è¤ë¤ÈÎã¤Î¥¦¥ë¥¯¡¦¥Ï¥¤¤¬¥Ò¥ë¡¦¥ª¡¼¥¬¤È¾òÌó¤ò·ë¤ó¤À¤é¤·¤¤¡¥¡× %E %Cp E 00021 ! #"%nC is strong, but not very smart." ! ¡Ö%n¤Ï¶¯¤¤¤¬¤È¤Æ¤â¸­¤¤¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤Ê¤¤¡¥¡× %E %Cp E 00022 ! #"Use %o, when you find it. It will help you survive ! #to reach us." ! ¡Ö%o¤ò¸«ÉÕ¤±¤¿¤é¤Þ¤º»È¤Ã¤Æ¤ß¤ë¤ó¤À¡¥ ! ²æ¡¹¤Î¸µ¤ËÀ¸´Ô¤¹¤ë¤Î¤ËÌò¤ËΩ¤Ä¤À¤í¤¦¡¥¡× %E %Cp E 00023 ! #"Remember, let %d be your guide." ! ¡Ö˺¤ì¤ë¤Ê¡¤%d¤ò¤ªÁ°¤Î°ÆÆâ¿Í¤Ë¤¹¤ë¤Î¤À¡¥¡× %E %Cp E 00024 ! #"Call upon %d when you face %n. ! #The very act of doing so will infuriate him, and give you advantage." ! ¡Ö%n¤ËΩ¤Á¸þ¤«¤¦¤È¤­¤Ë¤Ï%d¤Ëµ§¤ë¤ó¤À¡¥ ! ¤½¤Î¹ÔÆ°¤¬ÅÛ¤ò·ãÅܤµ¤»¤Æ¡¤¤ªÁ°¤òÍ­Íø¤Ë¤¹¤ë¤À¤í¤¦¡¥¡× %E %Cp E 00025 ! #"Though %n is as %C as we, he and his kind have always ! #hated us." ! ¡Ö%n¤Ï²æ¡¹¤ÈƱÍͤË%C¤À¤¬¡¤ÅÛ¤ÈÅۤμﲤϲ桹¤òÁþ¤ó¤Ç¤¤¤ë¡¥¡× %E %Cp E 00026 ! #"We cannot hold the circle much longer, %p. Hurry!" ! ¡Ö²æ¡¹¤Ï¤³¤ì°Ê¾å¥µ¡¼¥¯¥ë¤ò»Ù¤¨¤Æ¤¤¤±¤½¤¦¤Ë¤Ê¤¤¡¥%p¤è¡¤µÞ¤¤¤Ç¤¯¤ì¡ª¡× %E %Cp E 00027 ! #"To infiltrate %i, you must be very stealthy." ! ¡Ö%i¤ËÀøÆþ¤¹¤ë¤Ë¤Ï¡¤¿ÍÌܤòÅð¤àǽÎϤ¬É¬ÍפÀ¡¥¡× %E %Cp E 00028 ! #"Remember that %n is a braggart. Trust not what he says." ! ¡Ö%n¤¬¤Û¤é¿á¤­¤Ç¤¢¤ë¤³¤È¤ò³Ð¤¨¤Æ¤ª¤¯¤ó¤À¡¥ ! ÅۤθÀ¤¦¤³¤È¤ò¿®ÍѤ¹¤ë¤Ê¤è¡¥¡× %E %Cp E 00029 ! #"You can triumph, %p, if you trust in %d." ! ¡Ö%p¤è¡¤¤â¤·¤ªÁ°¤¬%d¤ò¿®¤¸¤ë¤Î¤Ê¤é¡¤¾¡Íø¤òÆÀ¤ë¤³¤È¤¬ ! ¤Ç¤­¤ë¤À¤í¤¦¡¥¡× %E %Cc E 00030 ! #You descend into the outer regions of %i. You can hear ! #scuffling sounds in the corridors, and vague mumblings in the distance. ! # ! #You remember that %ga once told you that there were many secret ! #passageways in this complex. ! ¤¢¤Ê¤¿¤Ï%i¤Î³°±ïÉô¤Ë¹ß¤êΩ¤Ã¤¿¡¥ÄÌÏ©¤«¤é¤Ï­¤ò¤Ò¤­¤º¤Ã¤ÆÊ⤯²»¤¬¡¤ ! ±ó¤¯¤«¤é¤Ï¤«¤¹¤«¤Ë¤Ü¤½¤Ü¤½¸À¤¦À¼¤¬Ê¹¤³¤¨¤ë¡¥ ! ¤¢¤Ê¤¿¤Ï%g¤Î°ì¿Í¤¬¤³¤ÎÆþ¤êÁȤó¤ÀÌÂÏ©¤Ë¿¤¯¤Î±£¤·ÄÌÏ©¤¬¤¢¤ë¤È ! ¸À¤Ã¤Æ¤¤¤¿¤Î¤ò³Ð¤¨¤Æ¤¤¤ë¡¥ %E %Cp E 00031 ! #Once again, you descend into %i. ! ºÆ¤Ó¤¢¤Ê¤¿¤Ï%i¤Ë¹ß¤êΩ¤Ã¤¿¡¥ %E %Cc E 00040 ! #You descend into a weird place, in which roughly cut cave-like walls ! #join with smooth, finished ones, as if someone was in the midst of ! #finishing off the construction of a subterranean complex. ! # ! #Off in the distance, you hear the sounds of a large, raucous gathering. ! ¤¢¤Ê¤¿¤Ïµ¤Ì£¤Î°­¤¤¾ì½ê¤Ë¹ß¤êΩ¤Ã¤¿¡¥ ! ¹Ó¤¯ÀÚÃǤ·¤¿Æ¶·¢¤Î¤è¤¦¤ÊÊɤ¬¡¤´°À®¤µ¤ì¤¿¤Ê¤á¤é¤«¤ÊÊɤȤĤʤ¬¤Ã¤Æ¤¤¤ë¡¥ ! ¤Þ¤ë¤Ç狼¤¬Ãϲ¼ÌµܤηúÃÛ¤ò»Å¾å¤²¤Æ¤¤¤ëºÇÃæ¤Î¤è¤¦¤Ç¤¢¤ë¡¥ ! ±ó¤¯Î¥¤ì¤¿½ê¤Ç¡¤ÂçÀª¤¬½¸¤Þ¤Ã¤Æ¤¶¤ï¤¶¤ïÁû¤¤¤Ç¤¤¤ë²»¤¬Ê¹¤³¤¨¤ë¡¥ %E %Cp E 00041 ! #Once again, you enter the distorted castle of %n. ! ºÆ¤Ó¤¢¤Ê¤¿¤Ï%n¤Î¤Í¤¸¶Ê¤¬¤Ã¤¿¾ë¤Ë¿¯Æþ¤·¤¿¡¥ %E %Cc E 00050 ! #"So, %c. %lC has sent you to recover %o. ! # ! #"Well, I shall keep that bauble. It pleases me. You, %c, shall die." ! ¡Ö¤Û¤¦%c¤«¡¥%l¤¬%o¤ò¼è¤êÌᤵ¤»¤ë¤¿¤á¤Ë ! ¤ªÁ°¤òÁ÷¤ê¹þ¤ó¤À¤ó¤À¤Ê¡¥ ! ¤À¤¬¤ï¤·¤Ï¤³¤¤¤Ä¤ò¼êÊü¤¹µ¤¤Ï¤Ê¤¤¤¾¡¥%c¤è¡¤¤ªÁ°¤Ï»à¤Ì¤Î¤À¡¥¡× %E %Cp E 00051 ! #"Back again, eh? Well, a mere %r is no threat to me! Die, %c!" ! ¡Ö¤Û¤¦¡¤¤Þ¤¿Í褿¤«¡¥¤À¤¬¡¤¤¿¤«¤¬%r¤Ç¤Ï¶¼°Ò¤Ë¤Ï¤Ê¤é¤Ê¤¤¤¾¡¥ ! »à¤Í¡¤%c¡ª¡× %E %Cp E 00052 ! #"You haven't learned your lesson, %c. You can't kill me! You shall die now." ! ¡Ö·Ð¸³ÉÔ­¤À¤Ê%c¤è¡¥¤ªÁ°¤Ç¤Ï¤³¤Î¤ï¤·¤ÏÅݤ»¤ó¡ª ! ¤ªÁ°¤Ïº£¤³¤³¤Ç»à¤Ì¤Î¤À¡¥¡× %E %Cp E 00053 ! #"I shall have %o from you, %r. Then I shall ! #kill you." ! ¡Ö%r¤è¡¤¤ªÁ°¤Ë%o¤òÅϤ¹¤Ä¤â¤ê¤Ï¤Ê¤¤¡¥¤ªÁ°¤Ï»¦¤¹¡¥¡× %E %Cp E 00060 ! #"Your %d is nothing, %c. You are mine now!" ! ¡Ö%c¡¤¤ªÁ°¤Î%d¤ÏÌò¤ËΩ¤¿¤ó¤è¡¥ ! ¤ªÁ°¤Ïº£¤«¤é¤ï¤·¤Î¤â¤Î¤À¡ª¡× %E %Cp E 00061 ! #"Run away little %c! You can never hope to defeat %n!" ! ¡Ö¤Û¤éƨ¤²¤ë¤¬¤¤¤¤¡¤¤Á¤Ã¤Ý¤±¤Ê%c¤è¡ª %n¤òÅݤ½¤¦¤Ê¤É¤È ! »×¤ï¤Ê¤¤¤³¤È¤À¤Ê¡¥¡× %E %Cp E 00062 ! #"My Uruk-hai servants will rip you to shreds!" ! ¡Ö²æ¤¬¤·¤â¤Ù¤Î¥¦¥ë¥¯¡¦¥Ï¥¤¤É¤â¤¬¤ªÁ°¤ò¤º¤¿¤º¤¿¤Ë°ú¤­Îö¤¯¤À¤í¤¦¡ª¡× %E %Cp E 00063 ! #"I shall display your head as a trophy. What do you think about that wall?" ! ¡Ö¤ï¤·¤Ï¤ªÁ°¤ÎƬ¤ò¥È¥í¥Õ¥£¡¼¤È¤·¤Æ¾þ¤ë¤Ä¤â¤ê¤À¡¥¤¢¤ÎÊɤǤɤ¦¤«¤Ê¡©¡× %E %Cp E 00064 ! #"I shall break your %ls circle, and destroy all the %gP!" ! ¡Ö%l¤Î¥µ¡¼¥¯¥ë¤ò²õ¤·¡¤¤½¤·¤Æ%g¤òÁ´°÷»¦¤·¤Æ¤ä¤ë¡ª¡× %E %Cp E 00065 ! #"%d has abandoned you, %c. You are doomed." ! ¡Ö%c¤è¡¤%d¤Ï¤ªÁ°¤ò¸«¼Î¤Æ¤¿¤¾¡¥¤ªÁ°¤Ï ! »à¤¹¤Ù¤­Äê¤á¤Ê¤Î¤À¡¥¡× %E %Cp E 00066 ! #"%rA? %lC sends a mere %r against me? Hah!" ! ¡Ö%r¡© ¤ï¤·¤òÅݤ¹¤Î¤Ë%r¤´¤È¤­¤òÁ÷¤ê¹þ¤à¤È¤Ï ! %l¤á¡¥¶ò¤«¤Ê¤ä¤Ä¤è¡ª¡× %E %Cp E 00067 ! #"%lC has failed, %c. %oC will never leave here." ! ¡Ö%l¤Ï¼ºÇÔ¤·¤¿¤Ê¡¤%c¤è¡¥ ! %o¤ò¤³¤³¤«¤é»ý¤Á½Ð¤¹¤³¤È¤ÏÉÔ²Äǽ¤À¡¥¡× %E %Cp E 00068 ! #"You really think you can defeat me, eh %c? You are wrong!" ! ¡Ö%c¤è¡¤¤ªÁ°¤ÏËÜÅö¤Ë¤³¤Î¤ï¤·¤òÅݤ»¤ë¤È»×¤Ã¤Æ¤¤¤ë¤Î¤«¡© ! Â礭¤Ê´Ö°ã¤¤¤À¤¾¡ª¡× %E %Cp E 00069 ! #"You weaken, %c. I shall kill you now." ! ¡Ö¼å¤Ã¤Æ¤¤¤ë¤Ê¡¤%c¤è¡¥º£¤¹¤°»¦¤·¤Æ¤ä¤ë¡¥¡× %E %Cc E 00070 ! #As you pick up %o, it seems to glow, and a warmth ! #fills you completely. You realize that its power is what has protected ! #your %sp against their enemies for so long. ! # ! #You must now return it to %l without delay -- their lives depend ! #on your speed. ! ¤¢¤Ê¤¿¤¬%o¤ò½¦¤¦¤È¡¤¤½¤ì¤Ï¸÷¤Ã¤¿¤è¤¦¤Ë¸«¤¨¤Æ¡¤¤½¤·¤Æ¤¢¤Ê¤¿¤ò ! ÃȤ«¤µ¤ÇËþ¤¿¤·¤¿¡¥¤¢¤Ê¤¿¤Ï¤³¤ÎÎϤ¬Å¨¤ÈÀ臘%sã¤òŤ¤´Ö¼é¤Ã¤Æ ! ¤­¤¿¤â¤Î¤Ç¤¢¤ë¤³¤È¤ò¸ç¤Ã¤¿¡¥ ! ¤¢¤Ê¤¿¤Ï°ì¹ï¤âÁ᤯¤³¤ì¤ò%l¤Î¸µ¤ËÆϤ±¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤--- ! Èà¤é¤ÎÌ¿¤Ï¤¢¤Ê¤¿¤Î¥¹¥Ô¡¼¥É¤Ë¤«¤«¤Ã¤Æ¤¤¤ë¡¥ %E %Cc E 00080 ! #%nC collapses to the ground, cursing you and %l, then says: ! # ! # You have defeated me, %r! But I curse you one final time, with my ! # dying breath! You shall die before you leave my castle! ! %n¤Ï¤¢¤Ê¤¿¤È%l¤ò¼ö¤¤¤Ê¤¬¤éÃÏÌ̤ËÅݤ졤¤½¤·¤Æ¸À¤Ã¤¿¡§ ! ! ¤ªÁ°¤Î¾¡¤Á¤À¡¤%r¤è¡ª ¤·¤«¤·¡¤¤ï¤·¤Ïº£ºÝ¤ÎºÝ¤Ë ! ¤ªÁ°¤ò¼ö¤Ã¤Æ¤ä¤ë¡¤¤ï¤·¤ÎºÇ´ü¤Î©¤Ç¤Ê¡ª ¤ªÁ°¤Ï¼«Ê¬¤Î¾ë¤ËÌá¤ëÁ° ! ¤Ë»à¤Ì¤Î¤À¡ª %E %Cc E 00081 ! #"%p! You have succeeded! I feared it was not possible! ! # ! #"Your aura proclaims that you possess %o! ! # ! #"I fear, now, that the Uruk-hai will select yet another %nt. ! #This will take some time, but if you can recover the Amulet of Yendor ! #for %d before that happens, we will be eternally safe. ! # ! #"Take %o with you. It will aid in your quest for ! #the Amulet." ! ¡Ö%p¤è¡ª ¤è¤¯¤ä¤Ã¤¿¡ª »ä¤Ï̵Íý¤Ç¤Ï¤Ê¤¤¤«¤È¶²¤ì¤Æ¤¤¤¿¤Î¤À¡ª ! ¡Ö¤ªÁ°¤Î¥ª¡¼¥é¤¬%o¤ò¿È¤ËÉÕ¤±¤Æ¤¤¤ë¤³¤È¤òʪ¸ì¤Ã¤Æ¤¤¤ë¤¾¡ª ! ¡Ö»ä¤Ïº£¡¤¤«¤Î¥¦¥ë¥¯¡¦¥Ï¥¤¤¬Ê̤Î%n¤òÁª¤Ö¤³¤È¤ò¶²¤ì¤Æ¤¤¤ë¡¥ ! ¤½¤ì¤Ï¤¤¤Ä¤«¤Ê¤µ¤ì¤ë¤À¤í¤¦¡¤¤·¤«¤·¡¤¤½¤ÎÁ°¤Ë¤ªÁ°¤¬%d¤Î¤¿¤á¤Ë ! ¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤ò¼è¤êÌ᤹¤³¤È¤¬¤Ç¤­¤ì¤Ð¡¤²æ¡¹¤Ï±Ê±ó¤Ë°ÂÂÙ¤À¡¥ ! ¡Ö%o¤ò»ý¤Ã¤Æ¹Ô¤¯¤¬¤¤¤¤¡¥Ëâ½ü¤±¤òõ¤¹ËÁ¸±¤Î½õ¤±¤È¤Ê¤ë¤À¤í¤¦¡¥¡× %E %Cp E 00090 ! #"Welcome, %p. How have you fared on your quest for the Amulet ! #of Yendor?" ! ¡ÖÎɤ¯Í褿¡¤%p¤è¡¥¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤Îõº÷¤Ï½çÄ´¤«¤Ê¡©¡× %E %Cc E 00091 ! #"Utuelyes! You have recovered the Amulet of Yendor! ! #Now attend to me, %p, and I will tell you what must be done: ! # ! #"The Amulet has within it magic, the capability to transport you to ! #the Astral Plane, where the primary circle of %d resides. ! # ! #"To activate this magic, you must travel upwards as far as you can. ! #When you reach the temple, sacrifice the Amulet to %d. ! # ! #"Thus will you fulfill your destiny." ! ¡Ö¤ª¤ª¡ª ¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤ò¼è¤êÌᤷ¤¿¤Î¤«¡ª ! ¤³¤ì¤«¤é²¿¤ò¤¹¤ë¤Ù¤­¤«¶µ¤¨¤ë¤«¤é¡¤Ãí°Õ¤·¤Æʹ¤¯¤Î¤À¡§ ! ¤³¤ÎËâ½ü¤±¤Ï¤¢¤ëËâÎϤòÆâ¤ËÈë¤á¤Æ¤¤¤ë¡¥¤½¤ì¤Ï¤ªÁ°¤òÀºÎ¤ËžÁ÷¤¹¤ë¤â¤Î¤À¡¥ ! ÀºÎ¤Ë¤Ï%d¤ÎºÇ½é¤Î¥µ¡¼¥¯¥ë¤¬Â¸ºß¤¹¤ë¡¥ ! ¤³¤ÎËâÎϤòƯ¤«¤»¤ë¤Ë¤Ï¡¤¤ªÁ°¤ÏÅФì¤ë¤À¤±¾å¤ËÅФé¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥ ! »û±¡¤Ë¤¿¤É¤êÃ夤¤¿¤é¡¤Ëâ½ü¤±¤ò%d¤ËÊû¤²¤ë¤Î¤À¡¥ ! ¤½¤¦¤¹¤ì¤Ð¤ªÁ°¤Ï½ÉÌ¿¤ò²Ì¤¿¤¹¤³¤È¤¬¤Ç¤­¤ë¤À¤í¤¦¡¥¡× ! %E ! # ! # Fighter ! # ! %Cc F 00001 ! ¤¢¤Ê¤¿¤ÏÆÍÁ³¸«³Ð¤¨¤Î¤¢¤ë¾ì½ê¤ËΩ¤Ã¤Æ¤¤¤ë¤Î¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥´Ö°ã¤¤¤Ê¤¤¤³¤³ ! ¤Ï%H¤Ç¤¢¤ë¡¥¤·¤«¤·²¿¤«¤¬°ã¤¦¡¥¤Þ¤ë¤Ç²¿¤«·ã¤·¤¤ÀïÆ®¤¬ ! ¤¢¤Ã¤¿¤«¤Î¤è¤¦¤Ë»¦È²¤È¤·¤Æ¤¤¤ë¡¥¤Þ¤ë¤ÇÇѵõ¤À¡¥ ! ! %l¤Î¸µ¤ØµÞ¤¬¤Í¤Ð¤ÈËÜǽŪ¤Ë¤¢¤Ê¤¿¤Ï´¶¤¸¤¿¡¥ ! %E ! %Cp F 00002 ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï%H¤ËÌá¤Ã¤¿¡¥ ! %E ! %Cp F 00003 ! ¤¢¤Ê¤¿¤Ï%H¤ËÌá¤Ã¤¿¡¥ ! ¤¢¤Ê¤¿¤Ï¡¤¤â¤¦»þ´Ö¤¬¤Ê¤¤¤ÈËÜǽ¤Ç»¡¤·¤¿ ! %E ! %Cp F 00005 ! ¡Öµ¤¤ò¤Ä¤±¤Æ¡ª%n¤ÎÎϤϰÊÁ°¤È¤ÏÈæ¤Ù¤â¤Î¤Ë¤Ê¤é¤Ê¤¤¤ï¡¥¡× ! %E ! %Cp F 00006 ! ¡Ö%n¤¬%o¤Î¿¿¤ÎÎϤòÆÀ¤ì¤ÐÀ¤³¦¤Ï°Ç¤ËÊĤ¶¤µ¤ì¤ë¡¥ ! µÞ¤¤¤Ç¡ª¡× ! %E ! %Cp F 00007 ! ¡Ö»ä¤¿¤Á¤Ï%H¤ò¼é¤ë¤À¤±¤ÇÀº°ìÇդʤΡ¥¤â¤¦¤¢¤Ê¤¿¤ËÍê¤ë¤·¤« ! ¤Ê¤¤¤ï¡¥¡× ! %E ! %Cp F 00008 ! ¡Ö%o¤Ê¤·¤Ç¤Ï%l¤Ï¤½¤ÎÎϤÎȾʬ¤âȯ´ø¤Ç¤­¤Ê¤¤¡¥ ! °ìÂΤɤ¦¤¹¤ì¤Ð¡¥¡¥¡¥¡× ! %E ! %Cp F 00009 ! ¡Ö¤³¤Î¤è¤¦¤Ê»þ¤Ë¤¢¤Î¿Í¤µ¤¨¤¤¤Æ¤¯¤ì¤ì¤Ð¡¥¡¥¡¥¡× ! %E ! %Cc F 00010 ! ¡ÖÌá¤Ã¤Æ¤­¤Æ¤¯¤ì¤¿¤Î¤Í¡¤%p¡¥¤¢¤Ê¤¿¤ÏÀµµÁ´¶¤¬¶¯¤¤¤«¤é ! ¤­¤Ã¤Èµ¢¤Ã¤Æ¤¯¤ë¤È»×¤Ã¤Æ¤¿¤ï¡¥ ! ¡Ö¤´Í÷¤ÎÄ̤ê%H¤Ï»¶¡¹¤¿¤ë¾õÂ֤ʤΡ¥¤ª´ê¤¤¤À¤«¤é»ä¤¿¤Á ! ¤È¤¤¤Ã¤·¤ç¤ËÀï¤Ã¤Æ¤Á¤ç¤¦¤À¤¤¡©¡× ! %E ! %Cp F 00011 ! ¡Ö¤Þ¤¿Íè¤Æ¤¯¤ì¤¿¤Î¤Í¡¤%p¡¥ ! ¤¤¤Ã¤·¤ç¤ËÀï¤Ã¤Æ¤¯¤ì¤ë¤Î¡©¡× ! %E ! %Cp F 00012 ! ¡Ö¤â¤¦»þ´Ö¤¬¤Ê¤¤¤ï¡¥ ! ¤¤¤Ã¤·¤ç¤ËÀï¤Ã¤Æ¤¯¤ì¤ë¤Î¡©¡× ! %E ! %Cc F 00013 ! ¡Ö¤â¤¦¤ª¤·¤Þ¤¤¤À¤ï¡¤%p¡¥¤³¤ÎÀ¤¤Ï»þ´ü¡¤Á´¤Æ¤¬°Ç¤Ë¤Î¤Þ¤ì¤ë¤ï¡¥ ! ²¿¤â¤«¤â¤ª¤·¤Þ¤¤¡¥¡¥¡¥¡¥ ! ! ¤¢¤¿¤·¤â¥¨¥Ê¥¸¡¼¤òµÛ¤¤¼è¤é¤ì¡¤°Ç¤Î¿Ð¤È¾Ã¤¨¤Æ¤·¤Þ¤¦¤ï¡¥¤³¤ì¤â ! ½ÉÌ¿¤Ê¤Î¤Í¡¥¡¥¡¥¡× ! %E ! %Cc F 00014 ! ¡Ö¤Ç¤â¤Í%p¡¥¤¢¤Ê¤¿¤Ï¤Þ¤À¤Á¤ç¤Ã¤È̤½Ï¤À¤ï¡¥ ! %r¤Ç¤Ï»à¤ËµÞ¤°¤è¤¦¤Ê¤â¤Î¤è¡¥µ¤»ý¤Á¤Ï¤ï¤«¤ë¤±¤É ! %R¤¯¤é¤¤¤¸¤ã¤Ê¤¤¤È¡¥¡¥¡¥¡× ! %E ! %Cc F 00015 ! ¡Ö%p¡¥¤É¤¦¤·¤Æ¤Ê¤Î¡© ! ! ¡Ö%a¤ÎÆ»¤«¤é¤Ï¤º¤ì¤¿¤³¤È¤ò¤·¤Æ¤¿¤Ã¤Æ¡¤¹¬¤»¤Ë¤Ï¤Ê¤ì¤Ê¤¤¤ï¡¥¤ª´ê¤¤¡ª ! Ìܤò¤µ¤Þ¤·¤Æ¡ª¡× ! %E ! %Cc F 00016 ! ¡Öº£À¤³¦¤ÏÀäÌÇ¤Î´íµ¡¤ËÉΤ·¤Æ¤¤¤ë¤Î%p¡¥ ! ! ¡ÖÉü³è¤·¤¿%n¤¬%o¤òÅð¤ß%i¤Ë ! ƨ¤²¹þ¤ó¤À¤ï¡¥Èà¤Ï%o¤Î¥¨¥Ê¥¸¡¼¤òÍѤ¤¤Æ¡¤Á´À¤³¦¤ËÍÅËâ¤ò ! Á÷¤ê¹þ¤â¤¦¤È¤·¤Æ¤¤¤ë¡¥ ! ! ¡Ö¤¢¤¿¤·¤Ïº£¼«Ê¬¤Ë»Ä¤µ¤ì¤¿ÎϤÈÁ´¤Æ¤ÎÃç´Ö¤¿¤Á¤ÎÎϤòÍѤ¤¤ÆÀ¤³¦¤¬°Ç¤ËÊĤ¶¤µ¤ì¤ë ! ¤Î¤òËɤ¤¤Ç¤¤¤ë¤±¤É¡¤%o¤¬¤Ê¤¤¾õÂ֤Ǥɤ³¤Þ¤Ç´èÄ¥¤ì¤ë¤«¼«¿®¤¬ ! ¤Ê¤¤¤Î¡¥ ! ! ¡Ö%i¤Ø³¤¯°Ç¤Î²óÏ­¤ÎÉõ°õ¤òº£²ò¤­¤Þ¤¹¡¥ ! ¤ª´ê¤¤%i¤Ë¹Ô¤Ã¤Æ%n¤òÅݤ·¤Æ¡ªÀ¤³¦¤Ï¤¢¤Ê¤¿¤Ë¤«¤«¤Ã¤Æ ! ¤¤¤ë¤Î¤è¡ª¤ª´ê¤¤¡ª¡× ! %E ! %Cp F 00020 ! ¡Ö%n¤Ï¶¯¤¤¤ï¡ªµ¤¤ò¤Ä¤±¤Æ¤Í¡ª¡× ! %E ! %Cp F 00021 ! ¡Ö%i¤Ë¹Ô¤¯¤Þ¤Ç¤¬ÂçÊѤ衪¡× ! %E ! %Cp F 00022 ! ¡Ö¤³¤³¤Ï»ä¤¿¤Á¤ËǤ¤»¤Æ¡ª¡× ! %E ! %Cp F 00023 ! ¡Ö¤­¤Ã¤È%d¤¬¼é¤Ã¤Æ¤¯¤ì¤ë¤ï¡ª¿®¤¸¤Æ¡ª¡× ! %E ! %Cp F 00024 ! ¡Ö%n¤Ï°ìÂβ¿¤ò¹Í¤¨¤Æ¤¤¤ë¤Î¤«¤·¤é¡©¡× ! %E ! %Cp F 00025 ! ¡Ö%o¤Ï¶¯ÎϤʥѥ¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¡¥¤¢¤ó¤Ê¤Î¤¬ ! %n¤Î¼ê¤Ë¤ï¤¿¤Ã¤¿¤é¡¥¡¥¡¥¡× ! %E ! %Cp F 00026 ! ¡Ö%H¤ò¼é¤ë¤Î¤¬¤¢¤¿¤·Ã£¤ÎǤ̳¡¥¡× ! %E ! %Cp F 00027 ! ¡Ö¤½¤¦¤è¤Í¡©µã¤¤¤Æ¤¤¤ë¾ì¹ç¤¸¤ã¤Ê¤¤¤Î¤è¤Í¡ª¡× ! %E ! %Cp F 00028 ! ¡Ö¤¢¤¡¡¤¤¢¤Î¿Í¤µ¤¨¤¤¤Æ¤¯¤ì¤ì¤Ð¡¥¡¥¡¥¡× ! %E ! %Cp F 00029 ! ¡ÖÀ¸¤­¤Æ¤«¤¨¤Ã¤Æ¤­¤Æ¤Í¡¥%p¡¥¡× ! %E ! %Cp F 00030 ! ¤¢¤Ê¤¿¤Ï²óÏ­¤òÈ´¤±%i¤Þ¤Ç¤ä¤Ã¤Æ¤­¤¿¡¥ÌܤÎÁ°¤Ë¸«³Ð¤¨¤Î¤¢¤ë ! É÷·Ê¤¬¹­¤¬¤ë¡ª¤³¤³¤Ï¤¢¤Ê¤¿¤ÎÊì¹»¤À¡ª¤·¤«¤·¡¤¤É¤³¤Ë¤âÀ¸Å̤Τ¤¤ëµ¤ÇۤϤʤ¤¡ª ! ! ÉÔµ¤Ì£¤Ê¤¦¤á¤­À¼¤¬Âΰé´Û¤Î¤Û¤¦¤«¤éʹ¤³¤¨¤¿¡¥¤¢¤Ê¤¿¤Ï³Ð¸ç¤ò·è¤á¤Æ ! ³Ø¹»¤ÎÀµÌç¤Ë¸þ¤Ã¤¿¡¥ ! %E ! %Cp F 00031 ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï%i¤Þ¤Ç¤ä¤Ã¤Æ¤­¤¿¡¥ ! %E ! %Cp F 00040 ! ¤¢¤Ê¤¿¤Ï%o¤Î¸ºß¤ò´¶¤¸¤¿¡¥ ! %E ! %Cp F 00041 ! %o¤Î¸ºß¤¬¶õµ¤¤òÄ̤·¤Æ¤Ä¤¿¤ï¤Ã¤Æ¤­¤¿¡¥ ! %E ! %Cc F 00050 ! ¡ÖÍ褿¤Ê¡ª%c¤è¡¤»ä¤Ï°ÊÁ°¤Î»ä¤È¤Ï°ã¤¦¤¾¡¥ ! %o¤òÆÀ¤Æ¥¨¥Ê¥¸¡¼¤¬¤ß¤Ê¤®¤Ã¤Æ¤¤¤ë¤«¤é¤Ê¡¥ ! ! ¡Ö¤µ¤¢¡¤Á´ÎϤÇÍ褤¡ª%c¤Ø¤Îº¨¤ß¤ò¤³¤Î¾ì¤Ç¤Ï¤é¤·¤Æ¤ä¤ë¡¥¡× ! %E ! %Cc F 00051 ! ¡ÖÀ­Ä¨¤ê¤â¤Ê¤¯¤Þ¤¿¤ä¤Ã¤Æ¤­¤¿¤«%c¤è¡¥ ! ! ¡Ö%o¤Ï¤â¤Ï¤ä²æ¤¬¼êÃæ¤Ë¤¢¤ë¡¥ ! ! ¡Ö¤³¤ó¤É¤³¤½¤ªÁ°¤Îº²¤ò¤¢¤ÎÀ¤¤ËÁ÷¤Ã¤Æ¤ä¤í¤¦¡¥¡× ! %E ! %Cp F 00052 ! ¡Ö¤·¤Ö¤È¤¤¤ä¤Ä¤á¡ªº£ÅÙ¤³¤½¤¢¤ÎÀ¤¤ËÁ÷¤Ã¤Æ¤ä¤ë¡ª¡× ! %E ! %Cp F 00053 ! ¡Ö¤¯¤½¡ªÈ´¤«¤Ã¤¿¡ª%o¤òÊÖ¤»¡ª¡× ! %E ! %Cp F 00060 ! ¡Ö¤µ¤¢¤³¤¤%c¡ª¡× ! %E ! %Cp F 00061 ! ¡Ö%o¤ÎÎϤȤ¯¤È¸«¤»¤Æ¤ä¤í¤¦¡ª¡× ! %E ! %Cp F 00062 ! ¡Ö%c¤ª¤½¤ë¤Ë¤¿¤ê¤º¡ª¡× ! %E ! %Cp F 00063 ! ¡Ö¤ä¤á¤Æ¤ª¤±¡ª¡× ! %E ! %Cp F 00064 ! ¡Ö¤ª¤Þ¤¨¤Î¥¨¥Ê¥¸¡¼¤âµÛ¤¤¼è¤Ã¤Æ¤ä¤ë¡ª¡× ! %E ! %Cp F 00065 ! ¡Ö¤ª¤Þ¤¨¤ÎÎϤϤ½¤ó¤Ê¤â¤Î¤«¡©¡× ! %E ! %Cp F 00066 ! ¡Ö¤Ï¤Ï¤Ï¤Ï¡ª¤½¤ó¤ÊÎϤDz¶¤òÅݤ½¤¦¤È¤Ï¡ª¡× ! %E ! %Cp F 00067 ! ¡Ö%l¤Ç¤Ê¤±¤ì¤Ð²¶¤ÏÅݤ»¤ó¡ª¡× ! %E ! %Cp F 00068 ! ¡Ö¤³¤ó¤Ê¤ä¤Ä¤·¤«¤¤¤Ê¤¤¤È¤Ï%c¤âÍî¤Á¤¿¤â¤Î¤À¡ª¡× ! %E ! %Cp F 00069 ! ¡Ö»à¤Í¡ª%c¤è¡¥¡× ! %E ! %Cc F 00070 ! %o¤ÎÎϤ¬ÂΤËÃí¤¬¤ì¤¿¡ª¤Ê¤ó¤ÈÁÇÀ²¤é¤·¤¤¥Ñ¥ï¡¼¤Ê¤Î¤À¡ª ! ¤¢¤Ê¤¿¤Ï%l¤Î¸µ¤ØÆ»¤òµÞ¤¤¤À¡ª ! %E ! %Cp F 00080 ! ¡Ö¤³¤Î»ä¤¬¡¥¡¥¡¥¡¥¡× ! ! ÃÇËöËâ¤Î¶«¤Ó¤È¤È¤â¤Ë%n¤ÎÂΤÏÊø¤ìÍî¤Á¤¿¡¥ ! %E ! %Cc F 00081 ! %l¤ÏÈù¾Ð¤ß·Ú¤¯%o¤Ë¿¨¤ì¤¿¡¥ ! ! ¡Ö´èÄ¥¤Ã¤¿¤ï¤Í%p¡¥¤³¤ì¤Ç%n¤Î´íµ¡¤Ï¤Ê¤¯¤Ê¤Ã¤¿¤ï¡¥ ! ! ¡Ö¤Ç¤â%o¤Ï¤¢¤¿¤·¤è¤ê¤¢¤Ê¤¿¤Ë¤Õ¤µ¤ï¤·¤¤¤È»×¤¦¤Î¡¥ ! ¤À¤«¤é»ý¤Ã¤Æ¤¤¤Ã¤Æ¡¥¤¢¤¿¤·¤Ê¤éÂç¾æÉס¥¤À¤Ã¤Æ¿´¶¯¤¤Ãç´Ö¤¬¤¤¤ë¤ó¤Ç ! ¤¹¤â¤Î¡× ! %E ! %Cp F 00090 ! ¡Ö¤ªµ×¤·¤Ö¤ê%p¡¥¤¢¤¿¤·¤¿¤Á¤ÏÁêÊѤï¤é¤º¤è¡¥¡× ! %E ! %Cc F 00091 ! ¡Ö¤ª¤á¤Ç¤È¤¦%p¡ª¤Þ¤µ¤«Ëâ½ü¤±¤Þ¤Ç¼ê¤ËÆþ¤ì¤ë¤Ê¤ó¤Æ¡× ! ! ¡ÖËâ½ü¤±¤ò»ý¤Ã¤ÆÀºÎ¤Ø¤¤¤¯¤È¤¤¤¤¤ï¡¥¤½¤·¤Æ%d¤Îº×ÃÅ¤Ë ! ¤µ¤µ¤²¤ë¤Î¡¥±þ±ç¤·¤Æ¤¤¤ë¤«¤é¤Í¡¥¡× %E # # Healer # %Cc H 00001 ! #What sorcery has brought you back to %H? The smell ! #of fresh funeral pyres tells you that something is amiss with the healing ! #powers that used to practice here. ! # ! #No rhizotomists are tending the materia medica gardens, and where are the ! #common folk who used to come for the cures? ! # ! #You know that you must quickly make your way to the collegium, and ! #%ls iatreion, and find out what has happened in your ! #absence. ! ¤É¤ó¤ÊËâË¡¤¬¤¢¤Ê¤¿¤ò%H¤ËÏ¢¤ìÌᤷ¤¿¤Î¤À¡©¿¿¿·¤·¤¤²ÐÁòÍѤΠ! ¿Å¤ÎÆ÷¤¤¤¬¡¤¤³¤³¤Ç³«¶È¤¹¤ë¤¿¤á¤Ë»È¤Ã¤¿¼£Ìþ¤ÎÎϤΤɤ³¤«¤ËÉÔ¶ñ¹ç¤¬À¸¤¸¤Æ ! ¤¤¤ë¤È¹ð¤²¤Æ¤¤¤ë¡¥ ! ! ÌôÍÑ¿¢Êª±à¤Ø¸þ¤«¤¦¿À·Ð²Ê°å¤Î»Ñ¤â¤Ê¤¤¡¥¼£ÎŤËÍè¤Æ¤¤¤¿¿Í¡¹¤Ï¤¤¤Ã¤¿¤¤ ! ¤É¤³¤Ë¹Ô¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤À¡© ! ! ¤¢¤Ê¤¿¤¬¤¤¤Ê¤¤´Ö¤Ë²¿¤¬µ¯¤³¤Ã¤¿¤Î¤«¤òÃΤ뤿¤á¤Ë¡¤¤¹¤°¤Ë°Ñ°÷²ñ¤È ! %l¤Î°åÎŽê¤Ë½Ð¸þ¤¯É¬Íפ¬¤¢¤ë¤À¤í¤¦¡¥ %E %Cp H 00002 ! #After your last experience you expected to be here, but you certainly ! #did not expect to see things so much worse. This time you must ! #succeed. ! ͽÁÛ¤µ¤ì¤¿ºÇ¸å¤Î·Ð¸³¤ò½ª¤¨¤¿¸å¤Ç¤â¡¤¤·¤«¤·¤³¤ì¤Û¤É¤Þ¤Ç ! »öÂÖ¤¬¹ó¤¯¤Ê¤Ã¤Æ¤¤¤è¤¦¤È¤Ï»×¤Ã¤Æ¤â¤¤¤Ê¤«¤Ã¤¿¡¥¤¢¤Ê¤¿¤Ïɬ¤º ! À®¸ù¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤À¡¥ %E %Cp H 00003 ! #Again, you %x %H in the distance. ! # ! #The smell of death and disease permeates the air. You do not have ! #to be %Ra to know that %n is on the verge of victory. ! ¤Õ¤¿¤¿¤Ó¡¤¤¢¤Ê¤¿¤Ï±ó¤¯¤Ë%H¤ò%x¤¿¡¥ ! »à¤ÈɤÎÆ÷¤¤¤¬¶õµ¤Ãæ¤ËΩ¤Á¤³¤á¤Æ¤¤¤ë¡¥%Ra¤Ê¤é¤º¤È¤â¡¤ ! %n¤¬¤Þ¤µ¤Ë¾¡Íø¤ò¼ý¤á¤ó¤È¤·¤Æ¤¤¤ë¤³¤È¤¬Ê¬¤«¤ë¤À¤í¤¦¡¥ %E %Cp H 00005 ! #"Did you read that new treatise on the therapeutic use of leeches?" ! ¡Ö¥Ò¥ë¤Î¼£ÎųØŪ»ÈÍÑË¡¤Ë´Ø¤¹¤ë¿·¤·¤¤ÏÀʸ¤ÏÆɤó¤À¤«¡©¡× %E %Cp H 00006 ! #"Paint a red caduceus on your shield and monsters won't hit you." ! ¡ÖÀÖ¤¤¼Ø¾ó¤ò½â¤ËÉÁ¤±¤Ð¡¤²øʪ¤Ï¹¶·â¤·¤Æ¤³¤Ê¤¯¤Ê¤ë¤À¤í¤¦¡¥¡× %E %Cp H 00007 ! #"I passed handwriting so they are demoting me a rank." ! ¡ÖÉ®µ­»î¸³¤Ë¹ç³Ê¤·¤¿¤Î¤Ç¡¤Èà¤é¤Ï»ä¤ò¹ß³Ê¤¹¤ë¡¥¡× %E %Cp H 00008 ! #"I've heard that even %l has not been able to cure Chiron." ! ¡Ö%l¤Ç¤¹¤é¡¤¥±¥¤¥í¡¼¥ó¤ò¼£ÎŤ¹¤ë¤³¤È¤Ï½ÐÍè¤Ì¤Èʹ¤¤¤¿¤¾¡¥¡× %E %Cp H 00009 ! #"We think %n has used his alchemists, and %o, ! #to unleash a new disease we call 'the cold' on Gehennom." ! ¡Ö²æ¤é¤Ï%n¤¬Ï£¶â½Ñ¤È%o¤ò»È¤Ã¤Æ¡¤¥²¥Ø¥Ê¤Ç ! ¡ØÉ÷¼Ù¡Ù¤È¸Æ¤Ð¤ì¤ë¿·¤¿¤Êɤò²ò¤­Êü¤Ã¤¿¤È¹Í¤¨¤Æ¤¤¤ë¡¥¡× %E %Cc H 00010 ! #"Feebly, %l raises his head to look at you. ! # ! #"It is good to see you again, %p. I see the concern in your ! #eyes, but do not worry for me. I am not ready for Hades yet. We have ! #exhausted much of our healing powers holding off %n. ! #I need your fresh strength to carry on our work. ! # ! #"Come closer and let me lay hands on you, and determine if you have ! #the skills necessary to accomplish this mission." ! ¡ÖÎϤʤ¯¡¤%l¤Ï¤¢¤Ê¤¿¤Ë´é¤ò¸þ¤±¤¿¡¥ ! ! ¡ÖºÆ¤Ó²ñ¤¨¤ÆÎɤ«¤Ã¤¿¡¤%p¤è¡¥¿´ÇÛ¤½¤¦¤ÊÌܤÀ¤Ê¡¤¤À¤¬°Æ¤º¤ë¤³ ! ¤È¤Ï¤Ê¤¤¡¥¤Þ¤À¥Ï¥Ç¥¹¤ÎÀ¤ÏäˤϤʤé¤ó¡¥²æ¤é¤Ï%n¤òËɤ°¤Î¤Ë ! Ìþ¤·¤ÎÎϤò»È¤¤¿Ô¤¯¤·¤Æ¤·¤Þ¤Ã¤¿¡¥¤³¤Î»Å»ö¤ò³¤±¤ë¤Ë¤Ï¤ªÁ°¤Î¼ã¤¤ÎϤ¬ ! ɬÍפʤΤÀ¡¥ ! ¡Ö¶á¤¯¤Ë´ó¤Ã¤Æ¼ê¤ò¼è¤ë¤¬¤¤¤¤¡¥¤ªÁ°¤Ë¤³¤ÎǤ̳¤òÀ®¤·¿ë¤²¤ëµ»Î̤¬¤¢¤ë¤« ! ¸«¤­¤ï¤á¤è¤¦¡¥¡× %E %Cp H 00011 ! #"Again you return to me, %p. I sense that each trip back ! #the pleurisy and maladies of our land begin to infect you. Let us ! #hope and pray to %d that you become ready for your task before ! #you fall victim to the bad humors." ! ¡Ö¤Þ¤¿µ¢¤Ã¤Æ¤­¤¿¤Ê¡¤%p¤è¡¥¤½¤ì¤¾¤ì¤Îι¤ÏϾËì±ê¤ÈÇØÃæ¹ç¤ï¤»¤Ç¡¤ ! ²æ¤é¤Î¹ñ¤Îɵ¤¤¬¤½¤Ê¤¿¤Ë±Æ¶Á¤ò¤ª¤è¤Ü¤·»Ï¤á¤Æ¤¤¤ë¤Î¤¬´¶¤¸¤é¤ì¤ë¡¥ ! %d¤Ëµ§¤ê¤òÊû¤²¤Æ¡¤¤½¤Ê¤¿¤¬°­¤·¤­µ¤¤Îµ¾À·¤Ë¤Ê¤ëÁ°¤Ë»Å»ö¤Î ! ½àÈ÷¤¬¤Ç¤­¤ë¤è¤¦´üÂÔ¤·¤Æ¤¤¤ë¤¾¡¥¡× %E %Cp H 00012 ! #"Chiron has fallen, Hermes has fallen, what else must I tell you to ! #impress upon you the importance of your mission! I hope that you ! #have come prepared this time." ! ¡Ö¥±¥¤¥í¡¼¥ó¤¬»à¤Ë¡¤¥Ø¥ë¥á¥¹¤¬»à¤Ë¡¤Â¾¤Ë²¿¤ò¤â¤Ã¤Æ¤ªÁ°¤ËǤ̳¤Î ! ½ÅÍ×À­¤òǧ¼±¤µ¤»¤ì¤Ð¤è¤¤¤Î¤À¡ª¤â¤¦³Ð¸ç¤Ï·è¤á¤¿¤Î¤À¤í¤¦¤Ê¡¥¡× %E %Cc H 00013 ! #"You have failed us, %p. You are a quack! A charlatan! ! # ! #"Hades will be happy to hear that you are once again practicing your ! #arts on the unsuspecting." ! ¡Ö¤ªÁ°¤Ë¤Ï¼ºË¾¤·¤¿¡¤%p¤è¡¥¤ªÁ°¤Ï¤Ë¤»°å¼Ô¤À¡ª¤¤¤ó¤Á¤­ÌîϺ¡ª ! ¡Ö¤ªÁ°¤¬¤Þ¤¿°å¼Ô¤ò»Ï¤á¤¿¤Èʹ¤¤¤¿¤é¡¤¥Ï¥Ç¥¹¤Ï¤µ¤¾´î¤Ö¤À¤í¤¦¤è¡¥¡× %E %Cc H 00014 ! #"Alas, %p, you are yet too inexperienced to deal with the rigors ! #of such a task. You must be able to draw on the knowledge of botany, ! #vetenary, and alchemy before I can send you on this quest with good ! #conscience. ! # ! #"Return when you wear %Ra's caduceus." ! ¡Ö¤¢¤¢¡ª%p¤è¡¤¤ªÁ°¤Ï¤Þ¤À¤³¤ÎÍͤÊÆñ¤·¤¤»Å»ö¤ò¤³¤Ê¤¹¤Ë ! ¤Ï¤¢¤Þ¤ê¤Ë¤â̤½Ï¤À¡¥°Â¿´¤·¤Æ¤³¤Îõº÷¤ËÁ÷¤ê½Ð¤¹Á°¤Ë¤Ï¡¤¿¢Êª³Ø¡¤½Ã°å³Ø¡¤ ! Ï£¶â½Ñ¤ÎÃ챤òÍøÍѤǤ­¤Ê¤±¤ì¤Ð¤Ê¤é¤Ì¡¥ ! ¡Ö%Ra¤Î¼Ø¾ó¤ò¿È¤Ë¤Ä¤±¤¿¤éÌá¤Ã¤ÆÍè¤ë¤Î¤À¡¥¡× %E %Cc H 00015 ! #"You have learned much of the remedies that benefit, but you must also ! #know which physic for which ail. That is why %ds teachings are a ! #part of your training. ! # ! #"Return to us when you have healed thyself." ! ¡Ö¤½¤Ê¤¿¤Ï¿ô¿¤¯¤ÎÍ­±×¤Ê¼£ÎÅË¡¤ò³Ø¤ó¤À¡¥¤À¤¬¤É¤ÎÌô¤¬¤É¤ÎÉÂ¤Ë ! ¸ú¤¯¤«¤â³Ø¤Ð¤Í¤Ð¤Ê¤é¤Ì¡¥%d¤Î¶µ¤¨¤¬¤½¤Ê¤¿¤Î·±Îý¤Î°ìÉô¤È ! ¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ï¤½¤Î¤¿¤á¤À¡¥ ! ¡ÖÆò¼«¿È¤òÌþ¤·¤¿¤éÌá¤Ã¤ÆÍ褤¡¥¡× %E %Cc H 00016 ! #For the first time, you sense a smile on %ls face. ! # ! # You have indeed learned as much as we can teach you in preparation ! # for this task. Let me tell you what I know of the symptoms and hope ! # that you can provide a cure. ! # ! # A short while ago, the dreaded %nt was fooled by the gods ! # into thinking that he could use %o to find a ! # cure for old age. Think of it, eternal youth! But his good ! # health is accomplished by drawing the health from those around him. ! # ! # He has exhausted his own supply of healthy people and now he seeks to ! # extend his influence into our world. You must recover from him ! # %o and break the spell. ! # ! # You must travel into the swamps to %i, and from there ! # follow the trail to the %ns island lair. Be careful. ! ºÇ½é¤Ë¡¤%l¤Î´é¤Ë¾Ð¤ß¤¬É⤫¤ó¤Ç¤¤¤ë¤Î¤ò´¶¤¸¤¿¡¥ ! ! ¤½¤Ê¤¿¤Ï³Î¤«¤Ë²æ¡¹¤¬¤³¤Î»Å»ö¤Î½àÈ÷¤Ë¤È¶µ¤¨¤¦¤ë¸Â¤ê¤Î¤³¤È¤ò ! ³Ø¤ó¤À¡¥»ä¤¬ÃΤäƤ¤¤ë¤­¤¶¤·¤òÏä·¡¤¤½¤Ê¤¿¤¬Ìþ¤·¤ò ! »Ü¤¹¤³¤È¤ò´üÂÔ¤·¤è¤¦¡¥ ! ! ¾¯¤·Á°¤Ë¡¤¶²¤ë¤Ù¤­%n¤Ï¿À¡¹¤ËñÙ¤µ¤ì¤Æ ! %o¤òÍѤ¤¤ì¤ÐÏ·¤¤¤òÌþ¤¹¤³¤È¤¬¤Ç¤­¤ë¤È¹Í¤¨¤¿¡¥ ! ±Ê±ó¤Î¼ã¤µ¤À¡ª¤·¤«¤·¤ä¤Ä¤Î·ò¹¯¤Ï¡¤¼þ°Ï¤Î·ò¹¯¤òÃ¥¤¦¤³¤È¤Ë ! ¤è¤Ã¤Æ¤Ê¤µ¤ì¤Æ¤¤¤ë¡¥ ! ! ¤ä¤Ä¤Ï·ò¹¯¤Ê¿Í¡¹¤ÎÈ÷¤¨¤ò»È¤¤¿Ô¤¯¤·¡¤º£¤ä¤½¤Î±Æ¶ÁÎϤò ! ²æ¤é¤ÎÀ¤³¦¤Ë¤Þ¤Ç¹­¤²¤è¤¦¤È¤·¤Æ¤¤¤ë¡¥¤½¤Ê¤¿¤Ï%o¤ò ! ¤ä¤Ä¤«¤é¼è¤êÌᤷ¡¤¼öʸ¤òÂǤÁÇˤé¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥ ! ¾ÂÃϤòÄ̤äÆ%i¤ØÉ뤭¡¤¤½¤³¤«¤é%n¤Î ! ±£¤ì²È¤È¤Ê¤Ã¤Æ¤¤¤ëÅç¤Ø¤Î¼ê¤¬¤«¤ê¤òÄɤ¦¤Î¤À¡¥Ãí°Õ¤»¤è¡¥ %E %Cp H 00020 ! #"Remember, %p, to always wash your hands before operating." ! ¡Ö˺¤ì¤ë¤Ê¡¤%p¤è¡¥¼ê½Ñ¤ÎÁ°¤Ë¤Ïɬ¤º¼ê¤òÀö¤¦¤Î¤À¡¥¡× %E %Cp H 00021 ! #"%nC has no real magic of his own. To this he is vulnerable." ! ¡Ö%n¤Ï¼«¤é¤ÎËâË¡¤ò»ý¤¿¤Ì¡¥¤½¤³¤¬¤ä¤Ä¤Î¼åÌ£¤À¡¥¡× %E %Cp H 00022 ! #"If you have been true to %d, you can draw on the power of ! #%o." ! ¡Ö%d¤ËÂФ·¤ÆÀ¿¼Â¤Ç¤¢¤Ã¤¿¤Î¤Ê¤é¡¤ ! %o¤ÎÎϤ¬ÍøÍѤǤ­¤ë¡¥¡× %E %Cp H 00023 ! #"Bring with you antidotes for poisons." ! ¡Ö²òÆǺޤò»ý¤Ã¤ÆÍè¤Ê¤µ¤¤¡¥¡× %E %Cp H 00024 ! #"Remember this, %n cannot use %o ! #to harm you, it has only healing powers." ! ¡Ö³Ð¤¨¤Æ¤ª¤±¡¤%n¤Ï%o¤Ç¤ªÁ°¤ò½ý¤Ä¤±¤ë¤³¤È¤Ï½ÐÍè¤Ì¡¥ ! Ìþ¤·¤ÎÎϤ·¤«»ý¤Ã¤Æ¤¤¤Ê¤¤¤«¤é¤À¡¥¡× %E %Cp H 00025 ! #"I have sent for Chiron, but I am afraid he will come too late." ! ¡Ö¥±¥¤¥í¡¼¥ó¤Ë¤Ï»È¤¤¤ò½Ð¤·¤¿¡¥¤·¤«¤·ÈबÍè¤ëº¢¤Ë¤Ï¤â¤¦ ! ÃÙ¤¹¤®¤ë¤«¤â¤·¤ì¤Ì¡¥¡× %E %Cp H 00026 ! #"Maybe when you return the snakes will once again begin to shed." ! ¡Ö¤½¤Ê¤¿¤¬Ìá¤Ã¤ÆÍ褿»þ¡¤¼Ø¤ÏºÆ¤ÓæÈ餹¤ë¤«¤â¤·¤ì¤Ì¡¥¡× %E %Cp H 00027 ! #"The plague grows worse as we speak. Hurry, %p!" ! ¡ÖÏ䷤Ƥ¤¤ë´Ö¤Ë¤â±ÖɤϰìÁØ°­¤¯¤Ê¤Ã¤Æ¤­¤Æ¤¤¤ë¡¥µÞ¤²¡¤%p¤è¡ª¡× %E %Cp H 00028 ! #"Many times %n has caused trouble in these lands. It is ! #time that he was eradicated like the diseases he has caused." ! ¡Ö%n¤Ï²¿Å٤⤳¤ÎÃϤ˲Ҥò°ú¤­µ¯¤³¤·¤¿¡¥¤ä¤Ä¤¬¤â¤¿¤é¤·¤¿Éµ¤¤Î ! ¤è¤¦¤Ë¡¤º£Å٤Ϥä¤Ä¤¬ÌǤܤµ¤ì¤ëÈÖ¤À¡¥¡× %E %Cp H 00029 ! #"With but one eye, %n should be easy to blind. Remember this." ! ¡ÖÊÒÌܤ·¤«¤Ê¤¤¤¬¤æ¤¨¤Ë¡¤%n¤ÏÌÕÌܤˤʤê¤ä¤¹¤¤¡¥³Ð¤¨¤Æ¤ª¤±¡¥¡× %E %Cc H 00030 ! #You stand before the entrance to %i. Strange ! #scratching noises come from within the building. ! # ! #The swampy ground around you seems to stink with disease. ! ¤¢¤Ê¤¿¤Ï%i¤ÎÆþ¸ý¤ÎÁ°¤ËΩ¤Ã¤¿¡¥´ñ̯¤Ê ! °ú¤Ã¤«¤¯²»¤¬·úʪ¤ÎÃ椫¤éʹ¤³¤¨¤Æ¤¯¤ë¡¥ ! ¤Þ¤ï¤ê¤Î¾ÂÃϤÏɤÇÉå¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤ë¡¥ %E %Cp H 00031 ! #Once again you stand at the entrance to %i. ! ¤â¤¦°ìÅÙ¤¢¤Ê¤¿¤Ï%i¤ÎÆþ¸ý¤ËΩ¤Ã¤¿¡¥ %E %Cc H 00040 ! #You stand within sight of the infamous Isle of %n. Even ! #the words of %l had not prepared you for this. ! # ! #Steeling yourself against the wails of the ill that pierce your ears, ! #you hurry on your task. Maybe with %o you can ! #heal them on your return, but not now. ! ¤¢¤Ê¤¿¤Ï´÷¤Þ¤ï¤·¤­%n¤ÎÅ礬¸«¤¨¤ë¾ì½ê¤ËΩ¤Ã¤¿¡¥ ! %l¤Î¸ÀÍդǤ¹¤é¤³¤Î¤³¤È¤ò³Ð¸ç¤µ¤»¤ë¤â¤Î¤Ç¤Ï¤Ê¤«¤Ã¤¿¡¥ ! ! ¼ª¤ò´Ó¤¯ÉԵȤÊÉ÷¤Î²»¤Ë¿´¤ò¸Ç¤¯¤·¤Æ¡¤¤¢¤Ê¤¿¤Ï»Å»ö¤òµÞ¤¤¤À¡¥ ! %o¤ò¤â¤Ã¤Æ¤¹¤ì¤Ð¡¤µ¢¤Ã¤ÆÈà¤é¤òÌþ¤¹¤³¤È¤¬½ÐÍè¤ë¤«¤â¤·¤ì¤Ì¡¥ ! ¤À¤¬¤½¤ì¤Ïº£¤Ç¤Ï¤Ê¤¤¡¥ %E %Cp H 00041 ! #Once again, you %x the Isle of %n in the distance. ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï¸þ¤³¤¦¤Ë%n¤ÎÅç¤ò%x¤¿¡¥ %E %Cc H 00050 ! #"They have made a mistake in sending you, %p. ! # ! #"When I add your youth to mine, it will just make it easier for me ! #to defeat %l." ! ¡Ö¤ä¤Ä¤é¤¬¤ªÁ°¤òÁ÷¤ê¹þ¤ó¤À¤Î¤Ï´Ö°ã¤¤¤À¤Ã¤¿¤è¤¦¤À¤Ê¡¤%p¤è¡¥ ! ¡Ö¤ªÁ°¤Î¼ã¤µ¤ò¼ê¤ËÆþ¤ì¤ì¤Ð¡¤%l¤òÌǤܤ¹¤Î¤Ï¹¹¤Ë¤¿¤ä¤¹¤¯¤Ê¤ë¤À¤í¤¦¡¥¡× %E %Cp H 00051 ! #"Unlike your patients, you seem to keep coming back, %p!" ! ¡Ö¤ªÁ°¤Î´µ¼Ô¤È¤Ï°ã¤Ã¤Æ¡¤Ìá¤Ã¤ÆÍ褿¤è¤¦¤À¤Ê¡¤%p¤è¡ª¡× %E %Cp H 00052 ! #"Which would you like, %p? Boils, pleurisy, convulsions?" ! ¡Ö¤É¤ì¤¬¹¥¤ß¤À¡¤%p¡©¼ð¤ìʪ¡¤Ê¢Ëì±ê¡¤¤½¤ì¤È¤âáÛÚ»¤«¡©¡× %E %Cp H 00053 ! #"I'll have %o back from you, %r. You are ! #not going to live to escape this place." ! ¡Ö¤­¤Ã¤È%o¤ò¼è¤êÌ᤹¡¤%r¤è¡¥¤³¤Î¾ì½ê¤«¤éƨ¤²½Ð¤·¤Æ ! À¸¤­±ä¤Ó¤ë¤³¤È¤Ê¤É½ÐÍè¤Ì¤¾¡¥¡× %E %Cp H 00060 ! #"They might as well give scalpels to wizards as to let you try to ! #use %o!" ! ¡Ö¤ªÁ°¤Ë%o¤ò»È¤ï¤»¤ë¤È¤Ï¡¤ËâË¡»È¤¤¤Ë¥á¥¹¤ò ! Í¿¤¨¤ë¤è¤¦¤Ê¤â¤Î¤À¡ª¡× %E %Cp H 00061 ! #"If I could strike %l, surrounded by his %gP, imagine what I ! #can do to you here by yourself." ! ¡Ö%gP¤Ë°Ï¤Þ¤ì¤¿%l¤òÅݤ¹¤³¤È¤¬¤Ç¤­¤ë¤È¤Ï¤É¤¦¤¤¤¦¤³¤È¤«¡¤ ! ÁÛÁü¤·¤Æ¤ß¤¿¤Þ¤¨¡¥¡× %E %Cp H 00062 ! #"I will put my %Rp to work making a physic out of your ashes." ! ¡Ö¤ªÁ°¤Î³¼¤ÎÆϤ«¤Ì¤È¤³¤í¤Ç%Rp¤Ë¼£ÎŤò¤µ¤»¤Æ¤¯¤ì¤ë¡¥¡× %E %Cp H 00063 ! #"As we speak, Hades gathers your patients to join you." ! ¡Ö²æ¤é¤¬Ï䷤Ƥ¤¤ë´Ö¤Ë¤â¡¤¥Ï¥Ç¥¹¤Ï¤ªÁ°¤Î´µ¼Ô¤ò½¸¤á¤Æ ! ¤ªÁ°¤ÎƻϢ¤ì¤Ë¤·¤Æ¤¯¤ì¤ë¤¾¡¥¡× %E %Cp H 00064 ! #"After I'm done with you, I'll destroy %l as well." ! ¡Ö¤ªÁ°¤¬ºÑ¤ó¤À¤é¡¤%l¤âƱ¤¸¤è¤¦¤ËÌǤܤ·¤Æ¤¯¤ì¤ë¤ï¡¥¡× %E %Cp H 00065 ! #"You will have to kill me if you ever hope to leave this place." ! ¡Ö¤³¤ÎÃϤòµî¤ê¤¿¤¤¤Î¤Ê¤é¡¤»ä¤ò»¦¤µ¤Í¤Ð¤Ê¤é¤Ì¡¥¡× %E %Cp H 00066 ! #"I will impale your head on my caduceus for all to see." ! ¡Ö³§¤Ë¸«¤¨¤ë¤è¤¦¤Ë¡¤¤ªÁ°¤ÎƬ¤ò»ä¤Î¼Ø¾ó¤ËÆͤ­»É¤·¤Æ¤ä¤í¤¦¡¥¡× %E %Cp H 00067 ! #"There is no materia medica in your sack which will cure you of me!" ! ¡ÖÂÞ¤ÎÃæ¤Ë¡¤¤ªÁ°¤òľ¤·¤Æ¤¯¤ì¤ë¤è¤¦¤ÊÌôÉʤϤʤ¤¡¥¡× %E %Cp H 00068 ! #"Do not fight too hard, I want your soul strong, not weakened!" ! ¡Ö¤¢¤Þ¤ê·ã¤·¤¯À臘¤Ê¡¥¤ªÁ°¤Îº²¤ò¶¯¤¯¤·¤¿¤¤¤Î¤Ç¤¢¤Ã¤Æ¡¤ ! ¼å¤¯¤·¤¿¤¤¤Î¤Ç¤Ï¤Ê¤¤¡ª¡× %E %Cp H 00069 ! #"You should have stopped studying at vetenary." ! ¡Ö½Ã°å³Ø¤òÊÙ¶¯¤¹¤ë¤Î¤ò¤ä¤á¤ë¤Ù¤­¤À¡¥¡× %E %Cc H 00070 ! #As you pick up %o, you feel its healing begin to ! #warm your soul. You curse Zeus for taking it from its rightful owner, ! #but at least you hope that %l can put it to good use once ! #again. ! %o¤ò½¦¤¤¾å¤²¤ë¤È¡¤Ìþ¤·¤ÎÎϤ¬¤¢¤Ê¤¿¤Îº²¤ò²¹¤á»Ï¤á¤ë¤Î¤¬ ! ´¶¤¸¤é¤ì¤¿¡¥¤¢¤Ê¤¿¤Ï¤³¤ì¤òÀµ¤·¤¤»ý¤Á¼ç¤«¤éÃ¥¤Ã¤¿¥¼¥¦¥¹¤ò ! ¼ö¤Ã¤¿¤¬¡¤¾¯¤Ê¤¯¤È¤â¤â¤¦°ìÅÙŬÀڤ˻Ȥï¤ì¤ë¤³¤È¤ò˾¤ó¤À¡¥ %E %Cc H 00080 ! #The battered body of %n slumps to the ground and gasps ! #out one last curse: ! # ! # You have defeated me, %p, but I shall have my revenge. ! # How, I shall not say, but this curse shall be like a ! # cancer on you. ! # ! #With that %n dies. ! %n¤ÎÄ٤줿ÂΤÏÃÏÌ̤ؤÈÊø¤ìÍî¤Á¡¤Ó䮤ʤ¬¤éºÇ¸å¤Î¼ö¤¤¤òÊü¤Ã¤¿¡¥ ! ¤ªÁ°¤Î¾¡¤Á¤À¡¤%p¡¥¤À¤¬¤­¤Ã¤ÈÉü½²¤·¤Æ¤ä¤ë¡¥ ! ¤½¤ÎÊýË¡¤Ï¸À¤ï¤Ì¤¬¡¤¤³¤Î¼ö¤¤¤Ï´â¤Î¤è¤¦¤Ë¤ªÁ°¤ò¿ª¤à¤À¤í¤¦¡¥ ! ¤«¤¯¤·¤Æ%n¤Ï»à¤ó¤À¡¥ %E %Cc H 00081 ! #As soon as %l sees %o he summons his %gP. ! # ! #Gently, %l reaches out and touches %o. ! #He instructs each of the assembled to do the same. When everyone ! #has finished he speaks to you. ! # ! # Now that we have been replenished we can defeat this plague. You must ! # take %o with you and replenish the worlds you have ! # been called upon to travel next. I wish you could ride Chiron to the ! # end of your journey, but I need him to help me spread the cure. Go ! # now and continue your journey. ! %l¤Ï%o¤ò¸«¤ë¤ä¤¤¤Ê¤ä¡¤Èà¤Î%gP¤ò¸Æ¤Ó´ó¤»¤¿¡¥ ! ! ÀŤ«¤Ë¡¤%l¤Ï¼ê¤ò¿­¤Ð¤·¤Æ%o¤Ë¿¨¤ì¤¿¡¥ ! Èà¤Ï½¸¤Þ¤Ã¤¿³Æ¡¹¤ËƱ¤¸¤³¤È¤ò¤¹¤ë¤è¤¦¤Ë¶µ¤¨¤¿¡¥Á´¤Æ¤¬½ª¤Ã¤¿¸å¡¤ ! Èà¤Ï¤¢¤Ê¤¿¤ËÏä·¤«¤±¤¿¡¥ ! ! º£¤³¤½²æ¤é¤ÏËþ¤¿¤µ¤ì¡¤¤³¤Î±ÖɤòÂǤÁÇˤ뤳¤È¤¬¤Ç¤­¤ë¡¥ ! ¤½¤Ê¤¿¤Ï%o¤ò·È¤¨¤Æ¡¤¼¡¤Ëι¤¹¤ë¤è¤¦µá¤á¤é¤ì¤Æ¤¤¤ëÀ¤³¦¤ò ! Ëþ¤¿¤µ¤Í¤Ð¤Ê¤é¤Ì¡¥¥±¥¤¥í¡¼¥ó¤Ë¾è¤Ã¤Æ¹Ô¤±¤ì¤Ð¤è¤¤¤Î¤À¤¬¡¤ ! Ìþ¤·¤ÎÎϤò¹­¤á¤ë¤Î¤ËÈबɬÍפÀ¡¥¹Ô¤Ã¤Æ¤½¤Ê¤¿¤Îι¤ò³¤±¤ë¤Î¤À¡¥ %E %Cp H 00090 ! #"You have again returned to us, %p. We have done well in your ! #absence, yes? How fare you upon your quest for the Amulet?" ! ¡ÖºÆ¤ÓÌá¤Ã¤ÆÍ褿¤Ê¡¤%p¤è¡¥²æ¡¹¤Ï¤½¤Ê¤¿¤Î¤¤¤Ê¤¤´Ö¤â ! ¤¦¤Þ¤¯¤ä¤Ã¤Æ¤¤¤ë¡¥Ëâ½ü¤±¤Îõº÷¤Ï¤É¤¦¤À¡©¡× %E %Cc H 00091 ! #"Ah, you have recovered the Amulet, %p. Well done! ! # ! #"Now, you should know that you must travel through the elemental planes ! #to the astral, and there return the Amulet to %d. Go forth and ! #may our prayers be as a wind upon your back." ! ¡Ö¤ª¤ª¡¤Ëâ½ü¤±¤ò¼è¤êÌᤷ¤¿¤Î¤À¤Ê¡¤%p¤è¡¥¤è¤¯¤ä¤Ã¤¿¡ª ! ! ¡Öº£¤³¤½¡¤³¦Ì̤òÄ̤äÆÀºÎ¤Ø¤È¸þ¤«¤¤¡¤Ëâ½ü¤±¤ò%d¤Ë ! Ì᤹ι¤Ë½Ð¤Ê¤±¤ì¤Ð¤Ê¤é¤Ì¡¥¹Ô¤±¡¤¤½¤·¤Æ²æ¤é¤Îµ§¤ê¤¬ ! ¤½¤Ê¤¿¤ÎÇؤ˿᤯É÷¤È¤Ê¤é¤ó¤³¤È¤ò¡¥¡× %E # # Knight # + # + # Knight + # %Cc K 00001 ! #You materialize in the shadows of %H. Immediately, you notice ! #that something is wrong. The fields around the castle are trampled and ! #withered, as if some great battle has been recently fought. ! # ! #Looking closer, you %x long gouges in the walls of %H. ! #You know of only one creature that makes those kinds of marks... ! ¤¢¤Ê¤¿¤Ï%H¤Î±Æ¤ÎÃæ¤Ë¸½¤ì¤¿¡¥¤¬¡¤¤¹¤°¤Ë²¿¤«¤¬°ã¤Ã¤Æ¤¤¤ë ! ¤³¤È¤Ëµ¤ÉÕ¤¤¤¿¡¥¾ë¤Î¼þ°Ï¤ÎÁ𸶤ÏƧ¤ß¤Ä¤±¤é¤ì¤Æ°à¤ì¤Æ¤¤¤ë¡¥¤Þ¤ë¤Ç¤Ä¤¤ ! ºÇ¶á¤Ê¤Ë¤«Â礭¤ÊÁ褤¤¬¤¢¤Ã¤¿¤«¤Î¤è¤¦¤Ç¤¢¤ë¡¥ ! ! ´Ö¶á¤ò¤ß¤ë¤È¡¤%H¤ÎÊɤ˺ÙŤ¤¹Â¤¬¤¢¤ë¤Î¤¬¸«¤¨¤ë¡¥ ! ¤³¤Î¤è¤¦¤Ê½ý¤ò¤Ä¤±¤é¤ì¤ë¤Î¤ÏÍ£°ì¤¢¤ÎÀ¸Êª¤À¤±¤Ç¤¢¤ë¤³¤È¤ò¡¤ ! ¤¢¤Ê¤¿¤ÏÃΤäƤ¤¤ë¡¥¡¥¡¥ %E %Cp K 00002 ! #Once again you stand in the shadows of %H. ! ¤¢¤Ê¤¿¤Ï%H¤Î±Æ¤ÎÃæ¤ËºÆ¤Ó¸½¤ì¤¿¡¥ %E %Cp K 00003 ! #Again, you stand before %H. You vaguely sense that this ! #may be the last time you stand before %l. ! ¤¢¤Ê¤¿¤Ï¤Þ¤¿%H¤ÎÁ°¤Ë¤¤¤ë¡¥¤¢¤Ê¤¿¤Ï¤Ê¤ó¤È¤Ê¤¯¡¤ ! %l¤ÎÁ°¤ËΩ¤Ä¤Î¤¬¤³¤ì¤ÇºÇ¸å¤È¤Ê¤í¤¦¤³¤È¤ò´¶¤¸¤Æ¤¤¤¿¡¥ %E %Cp K 00005 ! #"Hail, %p! Verily, thou looks well." ! ¡Ö¤è¤¦¤³¤½%p¤è¡ªÆò¤Ï¼Â¤Ë¸µµ¤¤½¤¦¤À¡¥¡× %E %Cp K 00006 ! #"There is word, %p, that %n hath been sighted in the fens ! #near %i." ! ¡Ö%p¤è¡¤Ï䬤¢¤ë¡¥%n¤¬%i¤Î¦¤Î¾ÂÃÏ¤Ç ! Ìܷ⤵¤ì¤¿¤È¤¤¤¦¤Î¤À¡¥¡× %E %Cp K 00007 ! #"Thou art our only hope now, %p." ! ¡Ö%p¤è¡¤Æò¤À¤±¤¬²æ¤é¤¬ºÇ¸å¤Î´õ˾¤È¤Ê¤Ã¤¿¡¥¡× %E %Cp K 00008 ! #"Verily, %l could have no better champion, %p." ! ¡Ö¼Â¤Ë%l¤Ë¤Ï¾¡¼Ô¤Ï%p¤ò½ü¤¤¤Æ¤Ï¸«Åö¤¿¤ë¤Þ¤¤¡¥¡× %E %Cp K 00009 ! #"Many brave %cP died when %n attacked." ! ¡Ö¿¤¯¤Î%cP¤¬%n¤ÈÀ襤¡¤¤½¤·¤Æ»à¤ó¤Ç¤¤¤Ã¤¿¡¥¡× %E %Cc K 00010 ! #"Ah, %p. We see thou hath received our summons. ! #We are in dire need of thy prowess. But first, We must needs ! #decide if thou art ready for this great undertaking." ! ¡Ö¤ª¤ª¡¤%p¤è¡¥Æò¤Ï²æ¤é¤¬¾¤´­¤Ë±þ¤¸¤¿¤Î¤Ç¤¢¤í¤¦¡¥ ! ²æ¡¹¤Ë¤ÏÆò¤ÎÉðͦ¤¬É¬ÍפÀ¡¥¤À¤¬¤Þ¤ººÇ½é¤Ë¡¤Æò¤¬¤³¤Î°ÎÂç¤Ê»ÈÌ¿¤Ë ! ÂФ·¤Æ½àÈ÷¤¬¤Ç¤­¤Æ¤¤¤ë¤«¤É¤¦¤«·è¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥¡× %E %Cp K 00011 ! #"Welcome again, %p. We hope thou art ready now." ! ¡Ö¤è¤¯¤¾»²¤Ã¤¿¡¤%p¤è¡¥Æò¤Î½àÈ÷¤¬À°¤Ã¤Æ¤¤¤ë¤³¤È¤ò´üÂÔ¤¹¤ë¤¾¡¥¡× %E %Cp K 00012 ! #"Once again, thou standeth before us, %p. Art thou ready now?" ! ¡Ö¤Þ¤¿¤âÆò¤Ï²æ¤é¤¬¤â¤È¤ËÍ褿¡¤%p¤è¡¥½àÈ÷¤Ï¤Ç¤­¤¿¤«¡©¡× %E %Cp K 00013 ! #"Thou disgraceth this noble court with thine impure presence. We have been ! #lenient with thee, but no more. Thy name shalt be spoken no more. We ! #hereby strip thee of thy title, thy lands, and thy standing as %ca. ! #Begone from our sight!" ! ¡ÖÆò¤Ï¤³¤Î¹âµ®¤Ê¤ëÄî¤ò¤½¤Î±ø¤é¤ï¤·¤¤Â¸ºß¤Ç¿«¤á¤¿¤Î¤À¡¥²æ¡¹¤Ï ! Æò¤Ë¤Ï´²Âç¤Ç¤¢¤Ã¤¿¡¥¤¬¡¤¤½¤ì¤â¤³¤ì¤Þ¤Ç¤Ç¤¢¤ë¡¥Æò¤Î̾¤ÏÆóÅ٤ȸý ! ¤Ë¤µ¤ì¤ë¤Þ¤¤¡¥¤³¤ì¤Ë¤è¤ê²æ¤é¤ÏÆò¤Î¾Î¹æ¡¤ÅÚÃÏ¡¤¤½¤·¤Æ%c¤È¤·¤Æ ! ¤ÎÃϰ̤âÇíÃ¥¤·¤Æ¤¯¤ì¤è¤¦¡¥Î©¤Áµî¤ë¤¬¤¤¤¤¡ª¡× %E %Cp K 00014 ! #"Verily, %p, thou hast done well. That thou hast survived thus ! #far is a credit to thy valor, but thou art yet unprepared for ! #the demands required as Our Champion. %rA, no matter how ! #pure, could never hope to defeat the foul %n. ! # ! #"Journey forth from this place, and hone thy skills. Return to ! #Our presence when thou hast attained the noble title of %R." ! ¡Ö%p¤è¡¤¼Â¤Ë¤è¤¯¤ä¤Ã¤¿¡¥Æò¤¬¤³¤ì¤Þ¤Ç¤ËÀÚ¤êÈ´¤±¤Æ¤­¤¿¤³¤È¤Ï¡¤ ! ¤½¤ÎÉðͦÅÁ¤Ë¹ï¤Þ¤ì¤Æ¤¤¤ë¡¥¤·¤«¤·Æò¤Ï¡¤²æ¤é¤ÎÍʸî¼Ô¤Ë ! ɬÍפȤµ¤ì¤ëÍ×µá¤ËÂФ·¤Æ¤Þ¤À½àÈ÷¤¬¤Ç¤­¤Æ¤¤¤Ê¤¤¡£ ! %rA¤Ï¡¤¤¿¤È¤¨¤É¤ó¤Ê¤Ë¹â·é¤Ç¤¢¤Ã¤Æ¤â¡¤ ! ÈÜÎô¤Ê%n¤ò¤¦¤ÁÉ餫¤¹¤³¤È¤Ï¤Þ¤Ã¤¿¤¯Ë¾¤á¤Ê¤¤¡¥ ! ! ¡Ö¤³¤Î¾ì½ê¤«¤éιΩ¤Á¡¤¤½¤·¤ÆÆò¤ÎǽÎϤòËᤱ¡¥%R¤Î¹âµ®¤Ê¾Î¹æ¤ò ! ¾¡¤ÁÆÀ¤¿¤é¡¤²æ¡¹¤Î¾ì½ê¤ØÌá¤Ã¤Æ¤¯¤ë¤¬¤¤¤¤¡¥¡× %E %Cp K 00015 ! #"Thou dishonoureth us, %p! Thou hast strayed from the path of ! #chivalry! Go from our presence and do penance. Only when thou art again ! #pure may thou return hence." ! ¡Ö%p¤è¡¤Æò¤Ï²æ¤é¤¬Ì¾ÍÀ¤ò±ø¤·¤¿¡ªÆò¤Ïµ³»ÎÆ»¤òƧ¤ß³°¤·¤¿¤Î¤À¡ª ! ¤³¤³¤«¤éΩ¤Áµî¤ê¡¤¤½¤·¤ÆØò²ù¤¹¤ë¤¬¤è¤¤¡¥Æò¤¬ºÆ¤Ó½ã¿è¤Ë¤Ê¤Ã¤¿¤Ê¤é¡¤ ! ¤³¤³¤ËÌá¤ë¤³¤È¤òµö¤½¤¦¡¥¡× %E %Cc K 00016 ! #"Ah, %p. Thou art truly ready, as no %c before thee hath ! #been. Hear now Our words: ! # ! #"As thou noticed as thou approached %H, a great battle hath ! #been fought recently in these fields. Know thou that Merlin himself ! #came to aid us here as we battled the foul %n. In the midst of that ! #battle, %n struck Merlin a great blow, felling him. Then, as our ! #forces were pressed back, %n stole %o. ! # ! #"We eventually turned the tide, but lost many %cP in doing so. ! #Merlin was taken off by his apprentice, but hast not recovered. We hast ! #been told that so long as %n possesses %o, ! #Merlin will not regain his health. ! # ! #"We hereby charge thee with this most important of duties: ! # ! #"Go forth from this place, to the fens, and there thou wilt find ! #%i. From there, thou must track down %n. Destroy the ! #beast, and return to Us %o. Only then can ! #We restore Merlin to health." ! ¡Ö¤ª¤ª¡¤%p¤è¡¥Æò¤ÎÍÑ°Õ¤¬À°¤Ã¤¿¤è¤¦¤À¡¥Æò¤Î¤è¤¦¤Ê%c¤Ï¤³¤ì¤Þ¤Ç ! ¸½¤ì¤Ê¤«¤Ã¤¿¡¥¤µ¤¢¡¤²æ¤é¤¬Ì¿¤òÅÁ¤¨¤è¤¦¡§ ! ! ¡ÖÆò¤¬%H¤ËÅþÃ夷¤Æ¤¹¤°¤Ëµ¤ÉÕ¤¤¤¿¤È¤ª¤ê¡¤¤Ä¤¤ºÇ¶á¤³¤ÎÊ¿¸¶¤Ç ! À襤¤¬¤¢¤Ã¤¿¡¥ÃΤäƤÎÄ̤ꡤ½¹¤¤%n¤ÈÀ臘¤¿¤á¤Ë ! ¥Þ¡¼¥ê¥ó¼«¿È¤¬¤³¤³¤Ë²æ¤é¤Î¼ê½õ¤±¤ËÍ褿¤Î¤À¡¥¤½¤ÎÀ襤¤ÎÃæ¤Ç¡¤ ! %n¤Î¶¯Âç¤Ê°ì·â¤Ç¥Þ¡¼¥ê¥ó¤ÏÅݤì¤Æ¤·¤Þ¤Ã¤¿¡¥ ! ¤½¤·¤Æ²æ¤é¤¬·³Àª¤ÏűÂà¤ò;µ·¤Ê¤¯¤µ¤ì¡¤%n¤Ë ! %o¤òÃ¥¤ï¤ì¤¿¤Î¤À¡¥ ! ! ¡Ö·ë²Ì¤È¤·¤Æ·ÁÀª¤ÏÊѤï¤ê¡¤Â¿¤¯¤Î%cP¤ò¼º¤Ã¤Æ¤·¤Þ¤Ã¤¿¡¥ ! ¥Þ¡¼¥ê¥ó¤Ï¤½¤ÎÄï»Ò¤ËÏ¢¤ì¤Æ¤¤¤«¤ì¤¿¤¬¡¤¤Þ¤À²óÉü¤·¤Æ¤¤¤Ê¤¤¡¥ ! %n¤¬%o¤ò½êÍ­¤·¤Æ¤¤¤ë¸Â¤ê¡¤¥Þ¡¼¥ê¥ó¤¬¤½¤Î·ò¹¯¤ò ! ²óÉü¤·¤Ê¤¤¤Èʹ¤¤¤Æ¤¤¤ë¡¥ ! ! ¡Ö¤½¤³¤Ç²æ¡¹¤ÏÆò¤Ë¼¡¤Î¶Ë¤á¤Æ½ÅÂç¤ÊµÁ̳¤ò²Ý¤¹¤³¤È¤È¤Ê¤Ã¤¿¤Î¤À¡§ ! ! ¡Ö¤³¤Î¾ì½ê¤«¤é¾ÂÃϤ˸þ¤«¤¤¡¤¤½¤·¤Æ¤½¤³¤ÇÆò¤Ï%i¤òõ¤¹¡¥ ! ¤½¤·¤Æ¡¤¤½¤³¤«¤éÆò¤Ï%n¤òÄÉÀפ·Âª¤¨¤ë¡¥¤½¤Î½Ã¤òÅݤ·¡¤²æ¤é¤Ë ! %o¤ò¼è¤êÊÖ¤¹¤Î¤À¡¥¤½¤·¤Æ¤½¤Î»þ½é¤á¤Æ¥Þ¡¼¥ê¥ó¤Ï·ò¹¯¤ò²óÉü¤¹¤ë ! ¤³¤È¤¬¤Ç¤­¤ë¤À¤í¤¦¡¥¡× %E %Cp K 00020 ! #"Remember, %p, follow always the path of %d." ! ¡Ö%p¤è¡¤¾ï¤Ë%d¤Î­Àפ˽¾¤¦¤³¤È¤ò˺¤ì¤ë¤Ç¤Ê¤¤¡¥¡× %E %Cp K 00021 ! #"Though %n is verily a mighty foe, we have confidence in thy victory." ! ¡Ö%n¤Ï¼Â¤Ë¶¯ÎϤÊŨ¤À¤¬¡¤²æ¡¹¤ÏÆò¤Î¾¡Íø¤Ë¼«¿®¤ò»ý¤Ã¤Æ¤¤¤ë¡¥¡× %E %Cp K 00022 ! #"Beware, for %n hast surrounded himself with hordes of foul creatures." ! ¡Ö%n¤Ï¤½¤Î¤Þ¤ï¤ê¤ò¤ª¤¾¤Þ¤·¤¤À¸Êª¤ÎÂç·²¤Ç¼é¤é¤ì¤Æ¤¤¤ë¤È¤¤¤¦¡¥ ! µ¤¤òÉÕ¤±¤ë¤¬¤¤¤¤¡¥¡× %E %Cp K 00023 ! #"Great treasure, 'tis said, is hoarded in the lair of %n." ! ¡Ö¤¹¤Ð¤é¤·¤¤Êõʪ¤¬%n¤ÎÁã¤ËÃù¤¨¤é¤ì¤Æ¤¤¤ë¤È¤¤¤¦¡¥¡× %E %Cp K 00024 ! #"If thou possesseth %o, %p, %ns magic ! #shalt therewith be thwarted." ! ¡Ö%p¤è¡¤¤â¤·Æò¤¬%o¤ò¼ê¤ËÆþ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¤ ! ¤½¤ì¤Ë¤è¤Ã¤Æ%n¤ÎËâË¡¤ò¤¯¤¸¤¯¤³¤È¤¬¤Ç¤­¤è¤¦¡¥¡× %E %Cp K 00025 ! #"The gates of %i are guarded by forces unseen, %p. ! #Go carefully." ! ¡Ö%p¤è¡¤%i¤ÎÌç¤Ï¸«¤¨¤Ê¤¤ÎϤǼé¤é¤ì¤Æ¤¤¤ë¤¾¡¥ ! µ¤¤òÉÕ¤±¤Æ¹Ô¤¯¤¬¤¤¤¤¡¥¡× %E %Cp K 00026 ! #"Return %o to us quickly, %p." ! ¡Ö%o¤òľ¤Á¤Ë²æ¤é¤¬¼ê¤Ë¼è¤êÊÖ¤¹¤Î¤À¡¤%p¤è¡¥¡× %E %Cp K 00027 ! #"Destroy %n, %p, else %H shall surely fall." ! ¡Ö%n¤òÅݤ¹¤Î¤À¡¤%p¤è¡¥¤µ¤â¤Ê¤¯¤Ð ! %H¤Ï³Î¼Â¤ËÍî¤Á¤è¤¦¡¥¡× %E %Cp K 00028 ! #"Call upon %d when thou art in need." ! ¡ÖÆò¤¬É¬Íפˤʤì¤Ð¡¤%d¤òµá¤á¤ë¤¬¤è¤¤¡¥¡× %E %Cp K 00029 ! #"To find %i, thou must keep thy heart pure." ! ¡ÖÆò¤¬%i¤ò¸«¤Ä¤±¤ë¤Ë¤Ï¡¤½ã¿è¤Ê¿´¤òÊݤ¿¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥¡× %E %Cc K 00030 ! #You stand at the foot of %i. Atop, you can %x a shrine. ! #Strange energies seem to be focused here, and the hair on the back ! #of your neck stands on end. ! ¤¢¤Ê¤¿¤Ï%i¤Î¤¹¤½¤ËΩ¤¿¤º¤ó¤Ç¤¤¤ë¡¥¤½¤Îĺ¾å¤Ë¤Ï¤Û¤³¤é¤¬¸«¤¨¤¿¡¥ ! ²ø¤·¤¤¥¨¥Í¥ë¥®¡¼¤¬¤½¤³¤Ë½¸Ã椷¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¡¤¤½¤·¤Æ¤¢¤Ê¤¿¤Î¸å¤íȱ¤Ï ! ¥Ô¥ó¤ÈµÕΩ¤Ã¤¿¡¥ %E %Cp K 00031 ! #Again, you stand at the foot of %i. ! ºÆ¤Ó¤¢¤Ê¤¿¤Ï%i¤Î¤¹¤½¤Ë¤¤¤ë¡¥ %E %Cc K 00040 ! #As you exit the swamps, you %x before you a huge, gaping hole in the ! #side of a hill. From within, you smell the foul stench of carrion. ! # ! #The pools on either side of the entrance are fouled with blood, and ! #pieces of rusted metal and broken weapons show above the surface. ! ¤¢¤Ê¤¿¤¬¤½¤Î¾Â¤«¤éæ½Ð¤¹¤ë¤È¡¤ÌÜÁ°¤Ë¡¤Â礭¤¯¤Ñ¤Ã¤¯¤ê¤È³«¤¤¤¿·ê¤¬ ! µÖ¤Î¦Ì̤ˤ¢¤ë¤Î¤¬¸«¤¨¤¿¡¥¤½¤ÎÃ椫¤é»ÓÆù¤Î°­½­¤¬¤¿¤À¤è¤Ã¤Æ¤¯¤ë¡¥ ! Æþ¤ê¸ý¤Î¼þ°Ï¤Î¿å¤¿¤Þ¤ê¤Ï·ì¤Ç±ø¤ì¡¤¤½¤ÎɽÌ̤ˤϻ¬¤Ó¤¿¶â°¤ä²õ¤ì¤¿ ! Éð´ï¤¬¸«¤¨¤ë¡¥ %E %Cp K 00041 ! #Again, you stand at the entrance to %ns lair. ! ºÆ¤Ó¡¤¤¢¤Ê¤¿¤Ï%n¤ÎÁã¤ÎÆþ¤ê¸ý¤ËΩ¤Ã¤Æ¤¤¤¿¡¥ %E %Cp K 00050 ! #"Hah! Another puny %c seeks death. I shall dine well tonight, ! #then tomorrow, %H shall fall!" ! ¡Ö¤à¤Õ¤Õ¡¤¤Þ¤¿¤·¤Æ¤â¤ª¤í¤«¤Ê%s¤¬»à¤òµá¤á¤Æ¤ª¤ë¡¥º£Ìë¤Ï¤´¤Á¤½¤¦ ! ¤Ë¤·¤è¤¦¤¾¡¥¤½¤·¤ÆÌÀÆü¤Ï%H¤¬Íî¤Á¤ë¤Î¤À¡ª¡× %E %Cp K 00051 ! #"Again, thou challengeth me, %r? So be it. Thou wilt die here." ! ¡Ö¤Þ¤¿¤·¤Æ¤âÆò¤Ï²æ¤ËÄ©¤â¤¦¤È¤¤¤¦¤Î¤«¡¤%r¤è¡©¹¥¤­¤Ë¤¹¤ë¤¬¤¤¤¤¡¥ ! ¤¬¡¤¤³¤³¤Ç»à¤Ì¤³¤È¤Ë¤Ê¤ë¤¾¡¥¡× %E %Cp K 00052 ! #"Thou art truly foolish, %r. I shall dispatch thee anon." ! ¡Ö¤Þ¤Ã¤¿¤¯¤â¤Ã¤ÆÆò¤Ï¤¿¤ï¤±¤À¤Ê¡¤%r¡¥¤µ¤Ã¤µ¤ÈÆò¤òÊÒÉÕ¤±¤Æ¤¯¤ì¤è¤¦¡¥¡× %E %Cp K 00053 ! #"So, thou darest touch MY property! I shall have that bauble back, ! #puny %r. Thou wilt die in agony!" ! ¡Ö¤º¤¦¤º¤¦¤·¤¯¤â²æ¤¬ºâ»º¤Ë¿¨¤ì¤è¤¦¤È¤Ï¡ª¤½¤ì¤Ï»Ò¶¡¤À¤Þ¤·¤Î¸å¤í¤Ë¤¢¤ë¤Î¤À¡¤ ! ¤ª¤í¤«¤Ê%r¤è¡¥¶ì¤·¤ß¤â¤À¤¨¤Æ»à¤Ì¤¬¤¤¤¤¡ª¡× %E %Cp K 00060 ! #"A mere %r can never withstand me!" ! ¡Ö¤¿¤«¤¬%r¤Ç¤Ï²æ¤Ë¤ÏÂѤ¨¤é¤ì¤Ì¤¾¡ª¡× %E %Cp K 00061 ! #"I shall kill thee now, and feast!" ! ¡ÖÆò¤ò¤¹¤°¤Ë»¦¤·¤Æ¡¤¿©¤Ã¤Æ¤¯¤ì¤è¤¦¡ª¡× %E %Cp K 00062 ! #"Puny %c. What manner of death dost thou wish?" ! ¡Ö¤Á¤Ã¤Ý¤±¤Ê%c¤è¡¥¤É¤Î¤è¤¦¤Ê»à¤òÆò¤Ï˾¤à¤Î¤À¡©¡× %E %Cp K 00063 ! #"First thee, %p, then I shall feast upon %l." ! ¡ÖºÇ½é¤ÏÆò¤À¡¤%p¡¥¤½¤ì¤«¤é%l¤ò¿©¤é¤ª¤¦¤¾¡¥¡× %E %Cp K 00064 ! #"Hah! Thou hast failed, %r. Now thou shalt die." ! ¡Ö¤à¤Õ¤Õ¡¤Æò¤Ï¼ºÇÔ¤·¤¿¤è¤¦¤À¤Ê¡¤%r¤è¡¥º£¤³¤½Æò¤Î»à¤¹¤Ù¤­»þ¤Ê¤ê¡¥¡× %E %Cp K 00065 ! #"Die, %c. Thou art as nothing against my might." ! ¡Ö»à¤Í¡¤%c¡¥Æò¤Ç¤Ï²æ¤ÎÎϤˤÏŬ¤ï¤Ì¡¥¡× %E %Cp K 00066 ! #"I shall suck the marrow from thy bones, %c." ! ¡ÖÆò¤Î¹ü¤Î¿ñ¤Þ¤ÇµÛ¤Ã¤Æ¤ä¤í¤¦¤¾¡¤%c¤è¡¥¡× %E %Cp K 00067 ! #"Let's see... Broiled? No. Fried? Nay. Baked? Yea verily, ! #that is the way I like my %c for dinner." ! ¡Ö¤¨¤¨¤¤¡¤¤¢¤Ö¤Ã¤Æ¤ä¤í¤¦¤«¡©¤¤¤ä¡¤ÍȤ²¤ë¤«¡©ÈÝ¡¤¾Æ¤¯Êý¤¬¤¤¤¤¤«¡© ! ¤·¤«¤ê¡¤¤³¤¦¤ä¤Ã¤Æ%c¤ò¤¤¤¿¤À¤¯¤Î¤¬¼Â¤Ë²æ¤Ï¹¥¤­¤Ê¤Î¤À¡¥¡× %E %Cp K 00068 ! #"Thy strength wanes, %p. The time of thy death draws near." ! ¡Ö%p¤è¡¤ÎϤ¬È´¤±¤Æ¤¤¤¯¤À¤í¤¦¡¥¤â¤¦¤¸¤­Æò¤Ë»à¤¬Ë¬¤ì¤è¤¦¤¾¡× %E %Cp K 00069 ! #"Call upon thy precious %d, %p. It shalt not avail thee." ! ¡Öµ®½Å¤Ê¤ë%d¤òµá¤á¤Æ¤­¤¿¤Î¤«¡¤%p¤è¡¥ ! Æò¤Ç¤Ï¤³¤ì¤Ï»È¤¨¤Ì¤¾¡¥¡× %E %Cc K 00070 ! #As you pick up %o, you feel its protective fields ! #form around your body. You also feel a faint stirring in your mind, ! #as if you are in two places at once, and in the second, you are waking ! #from a long sleep. ! ¤¢¤Ê¤¿¤Ï%o¤ò½¦¤¦¤È¡¤¤¢¤Ê¤¿¤Î¤Þ¤ï¤ê¤Ë¤½¤Î·ë³¦¤¬À¸¤¸¤ë¤Î¤ò ! ´¶¤¸¤¿¡¥¤Þ¤¿¡¤¤Þ¤ë¤ÇƱ»þ¤ËÆó¥ö½ê¤Ë¤¤¤ë¤è¤¦¤Ê¡¤¤½¤·¤Æ¤¿¤Á¤Þ¤ÁŤ¤Ì²¤ê¤«¤é ! ³Ð¤á¤¿¤è¤¦¤Ê¡¤¤½¤ó¤Ê·Ú¤¤´¶Æ°¤ò³Ð¤¨¤¿¡¥ %E %Cc K 00080 ! #As %n sinks to the ground, blood gushing from his open mouth, he ! #defiantly curses you and %l: ! # ! # Thou hast not won yet, %r. By the gods, I shalt return and dog ! # thy steps to the grave! ! # ! #His tail flailing madly, %n tries to crawl towards you, but slumps ! #to the ground and dies in a pool of his own blood. ! %n¤Ï¤½¤Î³«¤¤¤¿¸ý¤«¤é·ì¤ò¿á¤­½Ð¤·ÃϤËÄÀ¤ó¤Ç¤¤¤¯°ìÊý¤Ç¡¤Ä©ÀïŪ¤Ë ! ¤¢¤Ê¤¿¤È%l¤ò¼ö¤Ã¤Æ¸À¤Ã¤¿¡§ ! Æò¤Ï¤Þ¤À¾¡¤Ã¤¿¤ï¤±¤Ç¤Ï¤Ê¤¤¤¾¡¤%r¤è¡¥¤¨¤¨¤¤¸ýÀˤ·¤¤¡¤É¬¤º¤äÉñ¤¤Ìá¤ê ! Æò¤Î·ì¤ÇÆò¤Î̾¤òÊè¤Ë¹ï¤ó¤Ç¤ä¤ë¤¾¡¥ %E %Cc K 00081 ! #As you approach %l, he beams at you and says: ! # ! # Well done! Thou art truly the Champion of %H. We ! # have received word that Merlin is recovering, and shall soon ! # rejoin us. ! # ! # He has instructed us that thou art now to be the guardian of ! # %o. He feels that thou may have need of ! # its powers in thine adventures. It is our wish that thou keep ! # %o with thee as thou search for the fabled ! # Amulet of Yendor. ! %l¤Ë¶á¤Å¤¯¤È¡¤Èà¤Ï¤¢¤Ê¤¿¤ËÈù¾Ð¤ß¡¤¤½¤·¤Æ¸À¤Ã¤¿¡§ ! ! ¤è¤¯¤ä¤Ã¤¿¡ªÆò¤Ï%H¤Î¿¿¤Î¾¡¼Ô¤È¤Ê¤Ã¤¿¡¥²æ¡¹¤Ï¥Þ¡¼¥ê¥ó¤¬ ! ²óÉü¤·¡¤¤½¤·¤Æ¤¸¤­¤Ë²æ¤é¤Ë¹çή¤¹¤ë¤ÈÅÁ¤¨¤é¤ì¤Æ¤¤¤ë¡¥ ! ! Èà¤Ï²æ¤é¤Ëº£¤äÆò¤¬%o¤Î¸î±Ò¤È¤·¤ÆŬ¤·¤Æ¤¤¤ë¤³¤È¤ò ! ¶µ¤¨¤Æ¤¯¤ì¤¿¡¥Èà¤ÏÆò¤ÎËÁ¸±¤Ë¤ª¤¤¤Æ¤½¤ÎÎϤòÆò¤¬É¬ÍפȤ·¤Æ¤¤¤ë¤Ç ! ¤¢¤í¤¦¤³¤È¤ò´¶¤¸¤Æ¤¤¤ë¤Î¤À¡¥°ÎÂç¤Ê¤ë¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤Îõº÷¤È ! ¤·¤Æ¡¤Æò¤¬%o¤È¤È¤â¤Ë¤¢¤ë¤³¤È¤ò²æ¤é¤Ï˾¤ó¤Ç¤¤¤ë¡¥ %E %Cp K 00090 ! #"Well met, %p. How goest thy search for the Amulet of Yendor?" ! ¡Ö¤è¤¯¤¾Í褿¡¤%p¤è¡¥¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤Îõº÷¤Ï¤É¤¦¤Ê¤Ã¤Æ¤ª¤ë¡©¡× %E %Cc K 00091 ! #"Thou hast succeeded, we see, %p! Now thou art commanded to take ! #the Amulet to be sacrificed to %d in the plane of the astral. ! # ! #"Merlin hath counseled us that thou must travel always upwards through ! #the planes of the elements, to achieve this goal. ! # ! #"Go with %d, %p." ! ¡Ö¤è¤¯¤ä¤Ã¤¿¡¤%p¤è¡ªÆò¤Ï¼¡¤ÏÀºÎ¤Î%d¤ËÊû¤²¤ë¤Ù¤¯¡¤ ! ¤«¤ÎËâ½ü¤±¤ò»ý¤Ã¤Æ¤¤¤¯¤Î¤À¡¥ ! ¡Ö¥Þ¡¼¥ê¥ó¤«¤é¼¡¤Î½õ¸À¤ò¤¦¤±¤Æ¤ª¤ë¡¥¤½¤ì¤ÏÆò¤¬¤½¤ÎÌÜŪ¤òãÀ®¤¹¤ë¤Ë¤Ï¡¤ ! ³¦Ì̤òÄ̤êÈ´¤±¤Æ¾å¤Ë¸þ¤«¤ï¤Í¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦¤â¤Î¤À¡¥ ! ¡Ö%p¤Ë%d¤Î²Ã¸î¤Î¤¢¤é¤ó¤³¤È¤ò¡¥¡× %E # # Priest # %Cc P 00001 ! #You find yourself standing in sight of %H. Something ! #is obviously wrong here. The doors to %H, which usually ! #stand open, are closed. Strange human shapes shamble around ! #outside. ! # ! #You realize that %l needs your assistance! ! µ¤¤¬¤Ä¤¯¤È¡¤¤¢¤Ê¤¿¤Ï%H¤ÎÁ°¤ËΩ¤Ã¤Æ¤¤¤¿¡¥¤¬¡¤²¿¤«¤¬°ã¤¦¡¥ ! ÉáÃʳ«¤¤¤Æ¤¤¤ë%H¤Î¸Í¤Ï´°Á´¤ËÊĤ¶¤µ¤ì¤Æ¤¤¤ë¤·¡¤´ñ̯¤Ê¿Í´Ö ! ¤Î³Ê¹¥¤ò¤·¤¿¤â¤Î¤¬³°¤ò¤è¤í¤è¤í¤ÈÊ⤤¤Æ¤¤¤ë¡¥ ! ¤¢¤Ê¤¿¤Ï%l¤¬¼ê½õ¤±¤òµá¤á¤Æ¤¤¤ë¤³¤È¤Ëµ¤ÉÕ¤¤¤¿¡¥ %E %Cp P 00002 ! #Once again, you stand before %H. ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï%H¤ÎÁ°¤ËΩ¤Ã¤Æ¤¤¤¿¡¥ %E %Cp P 00003 ! #Again you face %H. Your intuition hints that this may be ! #the final time you come here. ! ¤¢¤Ê¤¿¤ÏºÆ¤Ó %H ¤ÎÁ°¤ËΩ¤Ã¤Æ¤¤¤¿¡¥Ãî¤ÎÃΤ餻¤«¡¤ ! ¤¢¤Ê¤¿¤Ï¤³¤³¤ËÍè¤ë¤Î¤¬¤³¤ì¤ÇºÇ¸å¤Ê¤Î¤«¤â¤·¤ì¤Ê¤¤¤È¤ò´¶¤¸¤¿¡¥ %E %Cp P 00005 ! #"Greetings, honored %r. It is good to see you." ! ¡Ö¤è¤¯¤¾Í褿¡¤¸÷±É¤Ê¤ë%r¤è¡¥¤½¤Ê¤¿¤Ë²ñ¤¨¤Æ»ä¤ÏÈó¾ï¤Ë¤¦¤ì¤·¤¤¡¥¡× %E %Cp P 00006 ! #"Ah, %p! Surely you can help us in our hour of need." ! ¡Ö%p¤è¡¥¤½¤Ê¤¿¤Ê¤é¤³¤Î½ÅÂç¤Ê»þ´ü¤ËΩ¤¿¤µ¤ì¤Æ¤¤¤ë²æ¤é¤ò½õ¤±¤ë ! ¤³¤È¤¬½ÐÍè¤ë¤Ç¤¢¤í¤¦¡¥¡× %E %Cp P 00007 ! #"Greetings, %s. %lC has great need of your help." ! ¡Ö¤è¤¦¤³¤½¡¤²æ%s¤è¡¥%l¤¬¤¢¤Ê¤¿¤Ë¼ê½õ¤±¤òµá¤á¤Æ¤¤¤é¤Ã¤·¤ã¤ë¡¥¡× %E %Cp P 00008 ! #"Alas, it seems as if even %d has deserted us." ! ¡Ö¤¢¤¢¡¤²æ¡¹¤Ï%d¤Ë¤â¸«Êü¤µ¤ì¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤Ï¤Ê¤«¤í¤¦¤«¡¥¡× %E %Cp P 00009 ! #"May %d be with you, %s." ! ¡Ö%d¤¬¤¢¤Ê¤¿¤È¤È¤â¤Ë¤¢¤é¤ó¤³¤È¤ò¡¥¡× %E %Cc P 00010 ! #"Ah, %p, my %S. You have returned to us at last. ! #A great blow has befallen our order; perhaps you can help us. ! #First, however, I must determine if you are prepared for this ! #great challenge." ! ¡Ö²æ¤¬%S%p¤è¡¥¤½¤Ê¤¿¤Ï¤ä¤Ã¤È²æ¡¹¤Î¤â¤È¤ØÌá¤Ã¤Æ¤­¤¿¡¥ ! ²æ¡¹¤Î¶µÃĤϸ½ºß½ÅÂç¤Ê´íµ¡¤ËÉѤ·¤Æ¤ª¤ë¡¥¤³¤ì¤Ë¤Ä¤¤¤Æ¡¤¤½¤Ê¤¿¤Ï²æ¡¹¤Î¼ê ! ½õ¤±¤ò½ÐÍè¤ë¤ä¤â¤·¤ì¤Ì¡¥ ! ¤·¤«¤·¡¤¤Þ¤ººÇ½é¤Ë¡¤»ä¤Ï¤½¤Ê¤¿¤¬¤³¤ÎÂ礤¤Ê¤ëÄ©Àï¤ËÂФ¹¤ë¿´¹½¤¨¤¬½ÐÍè¤Æ ! ¤¤¤ë¤«¤É¤¦¤«»î¤µ¤Í¤Ð¤Ê¤é¤Ì¡¥¡× %E %Cp P 00011 ! #"Again, my %S, you stand before me. Are you ready now to help us?" ! ¡Ö²æ¤¬%S¤è¡¤¤½¤Ê¤¿¤ÏºÆ¤Ó»ä¤ÎÁ°¤Ë¸½¤ì¤¿¡¥²æ¡¹¤Î¼ê½õ¤±¤ò¤¹¤ë ! ¿´¹½¤¨¤Ï½ÐÍ褿¤«¡©¡× %E %Cp P 00012 ! #"Once more, %p, you stand within the sanctum. Are you ready now?" ! ¡Ö%p¡¤¤½¤Ê¤¿¤ÏºÆ¤ÓÀ»°è¤ÎÆâ¤Ë¸½¤ì¤¿¡¥½àÈ÷¤Ï½ÐÍ褿¤«¡©¡× %E %Cc P 00013 ! #"You are a heretic, %p! How can you, %ra, deviate so from the ! #teachings of %d? Begone from this temple. You are no longer ! #%sa to this order. We will pray to %d for other assistance, ! #as you have failed us utterly." ! ¡Ö%p¡¤¤³¤Î°Ûü¤¬¡ª¤É¤¦¤·¤¿¤é¡¤¤½¤Ê¤¿¤Î¤è¤¦¤Ê%r¤¬%d ! ¤Î¶µ¤¨¤«¤é¤½¤ì¤ë¤³¤È¤¬½ÐÍè¤ë¤Î¤À¡ª¤³¤Î»û±¡¤ÎÆ⤫¤é½Ð¤Æ¤¤¤±¤¤¡ª¤½¤Ê¤¿ ! ¤Ï¤â¤¦¤³¤Î¶µÃĤÎ%s¤Ç¤Ï¤Ê¤¤¡ª¤½¤Ê¤¿¤¬²æ¡¹¤Î´üÂԤ˱þ¤¨¤é¤ì¤Ê¤«¤Ã¤¿ ! ¼êÁ°¡¤%d¤Ë¤Ï¾¤Î¼ê½õ¤±¤ò¸ð¤¦¤è¤¦µ§¤í¤¦¡¥¡× %E %Cc P 00014 ! #"Alas, %p, it is not yet to be. A mere %r could never ! #withstand the might of %n. Go forth, again into the world, and return ! #when you have attained the post of %R." ! ¡Ö%p¡¤»ÄÇ°¤Ê¤¬¤é¡¤¤½¤Á¤Ï¤Þ¤ÀÍѰդǤ­¤Æ¤ª¤é¤Ì¤è¤¦¤À¡¥ ! %r¤Ç¤Ï%n ¤ËÂÀÅáÂǤÁ¤¹¤ë¤³¤È¤Ï̵Íý¤À¡¥¤Þ¤¿ºÆ¤ÓÀ¤¤ÎÃæ¤Ø½Ð¤Æ¡¤ ! %R¤ÎÃϰ̤ò¤ª¤µ¤á¤ë¤³¤È¤¬½ÐÍ褿¤éµ¢¤Ã¤Æ¤¯¤ë¤¬¤è¤¤¡¥¡× %E %Cc P 00015 ! #"This is terrible, %p. You have deviated from the true path! ! #You know that %d requires the most strident devotion of this ! #order. The %shood must stand for utmost piety. ! # ! #"Go from here, atone for your sins against %d. Return only when ! #you have purified yourself." ! ¡Ö¤³¤ì¤Ï¤Ê¤ó¤È¤Ò¤É¤¤¤³¤È¤¸¤ã¡¤%p¡¥¤½¤Ê¤¿¤ÏÀµÆ»¤«¤éƧ¤ß³°¤· ! ¤Æ¤¤¤ë¡¥¤½¤Ê¤¿¤â¸¤¸¤Æ¤ª¤í¤¦¡¤%d¤Ï¶¯¤¤¿®¶Ä¿´¤ò¤³¤Î¶µÃÄ¤Ë ! µá¤á¤Æ¤¤¤ë¤³¤È¤ò¡¥¤½¤Ê¤¿¤Ï´°àú¤Ê¤Þ¤Ç¤Î¿®¿´¤ò¸«¤»¤Í¤Ð¤Ê¤é¤Ì¡¥ ! ¤³¤³¤«¤é½Ð¤Æ¡¤%d¤Ø¤ÈƯ¤¤¤¿ºá¤òØò²ù¤¹¤ë¤Î¤À¡¥¸Ê¤Î¿È¤òÀ¶¤á¤é ! ¤ì¤¿¤È¤­¤Î¤ß¡¤¤³¤³¤Ø¤ÈÌá¤ë¤¬¤è¤¤¡¥¡× %E %Cc P 00016 ! #"Yes, %p. You are truly ready now. Attend to me and I shall ! #tell you of what has transpired: ! # ! #"At one of the Great Festivals a short time ago, %n and a legion ! #of undead invaded %H. Many %gP were killed, including ! #the one carrying %o. ! # ! #"As a final act of vengefulness, %n desecrated the altar here. ! #Without it, we could not mount a counter-attack. Now, there are ! #barely enough %gP left to keep the undead at bay. ! # ! #"We need you to find %i, then, from there, travel ! #to %ns lair. If you can manage to defeat %n and return ! #%o here, we can then drive off the legions of ! #undead that befoul the land. ! # ! #"Go with %d as your guide, %p." ! ¡Ö%p¤è¡¥¤½¤Ê¤¿¤ÏÍÑ°Õ¤¬½ÐÍè¤Æ¤ª¤ë¤è¤¦¤À¡¥º£¤«¤é²¿¤¬µ¯¤³¤Ã¤¿¤« ! Ï乤Τǡ¤»ä¤Î¤¤¤¦¤³¤È¤Ë¼ª¤ò·¹¤±¤Æ¤¯¤ì¡¥ ! ! ¡Ö¾¯¤·Á°¤ÎÂçº×¤Ë¡¤%n¤È¡¤%n¤Ë°ú¤­Ï¢¤é¤ì¤¿¥¢¥ó¥Ç¥Ã¥É¤Î·³ÃĤ¬ ! %H¤ò¹¶¤á¤¿¤Î¤À¡¥%o¤ò»ý¤Ã¤Æ¤¤¤¿¼Ô¤ò»Ï¤á¡¤Â¿¤¯¤Î ! %g¤¬»¦¤µ¤ì¤¿¤Î¤À¡¥ ! ! ¡Ö¤½¤·¤Æ¤½¤Î¸å¡¤¶²¤ì¿¤¯¤â%n¤Ï¤³¤³¤Îº×ÃŤò±ø¤·¤¿¤Î¤À¡¥ ! º×ÃŤʤ·¤Ç¤Ï²æ¡¹¤ÏµÕ½±¤¹¤ë¤³¤È¤Ï½ÐÍè¤Ê¤¤¡¥¤½¤·¤Æ¸½ºß¡¤²æ¡¹¤Î¤â¤È¤Ë¤Ï ! %H¤Ë·³Àª¤ò´ó¤»¤Ä¤±¤Ê¤¤¤¿¤á¤Ë¤¹¤ë¤À¤±¤Î¡¤¤´¤¯¾®¿ô¤Î%g ! ¤·¤«¤¤¤Ê¤¤¤Î¤À¡¥ ! ! ¡Ö¤Þ¤ººÇ½é¤Ë¡¤%i¤òõ¤·¡¤¤½¤·¤Æ¡¤¤½¤³¤«¤é%n¤Î¥¢¥¸¥È¤Ø¤È¸þ¤«¤Ã ! ¤Æ¤â¤é¤¦¡¥¤â¤·¤½¤Ê¤¿¤¬%n¤òÅݤ·¤Æ¡¤%o¤ò»ý¤Áµ¢¤Ã¤Æ¤¯¤ë¤³¤È¤¬ ! ½ÐÍè¤ë¤Î¤Ê¤é¤Ð¡¤²æ¡¹¤Ï¤³¤ÎÅÚÃϤò±ø¤¹¥¢¥ó¥Ç¥Ã¥É ! ¤É¤â¤òÄɤ¤ÊÖ¤»¤ë¤Î¤À¡¥ ! ¡Ö¤µ¤¢¡¤%d¤Î²Ã¸î¤Î¤â¤È¡¤¹Ô¤¯¤Î¤À¡¤%p¤è¡¥¡× %E %Cp P 00020 ! #"You can prevail, if you rely on %d." ! ¡Ö%d¤ò¿®¤º¤ì¤Ð¡¤¤½¤Ê¤¿¤Ï¾¡¤Æ¤ë¡¥¡× %E %Cp P 00021 ! #"Remember that %n has great magic at his command." ! ¡Ö%n¤Ï¤¹¤µ¤Þ¤¸¤¤Ëâ½Ñ¤ò°Õ¤Î¤Þ¤Þ¤ËÁà¤ë¡¤¤È¤¤¤¦¤³¤È¤ò´Î¤ËÌ¿¤¸¤Æ¤ª¤±¡¥¡× %E %Cp P 00022 ! #"Be pure, my %S." ! ¡ÖÀ¶¤¯¤¢¤ì¡¤²æ¤¬%S¤è¡¥¡× %E %Cp P 00023 ! #"Beware, %i is surrounded by a great graveyard." ! ¡Ö%i¤ÏµðÂç¤ÊÊèÃϤ˰Ϥޤì¤Æ¤ª¤ë¡¤µ¤¤ò¤Ä¤±¤ë¤è¤¦¤Ë¡¥¡× %E %Cp P 00024 ! #"You may be able to affect %n with magical cold." ! ¡Ö¤â¤·¤«¤¹¤ì¤Ð¡¤%n¤òÎ䵤¤Î¼öʸ¤ÇËÁ¤¹¤³¤È¤¬½ÐÍè¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥¡× %E %Cp P 00025 ! #"Acquire and wear %o if you can. It will aid you ! #against %n." ! ¡Ö¤Ç¤­¤ë¤Ê¤é¤Ð%o¤ò¼ê¤Ë¤¤¤ì¡¤ÁõÃ夹¤ë¤Î¤À¡¥%n¤ËÂФ·¸úÎϤòȯ´ø ! ¤¹¤ë¤Ç¤¢¤í¤¦¡¥¡× %E %Cp P 00026 ! #"Call upon %d when your need is greatest. You will be answered." ! ¡ÖºÇ¤âº¤¤Ã¤¿¤È»×¤ï¤ì¤ë¤È¤­¤Ë¤Ï%d¤Ë½õ¤±¤òµá¤á¤è¡¥ ! ¤½¤Ê¤¿¤Î´ê¤¤¤Ï¼õ¤±¤ì¤é¤ì¤ë¤Ç¤¢¤í¤¦¡¥¡× %E %Cp P 00027 ! #"The undead legions are weakest during the daylight hours." ! ¡Ö¥¢¥ó¥Ç¥Ã¥É¤Î·³ÃĤÏÆüÃ桤ºÇ¤â¼å¤¤¡¥¡× %E %Cp P 00028 ! #"Do not loose faith, %p. If you do so, %n will grow stronger." ! ¡Ö%p¤è¡¤¿®¶Ä¿´¤ò˺¤ì¤ë¤Ê¡¥¤â¤·¤½¤Î¤è¤¦¤Ê¤³¤È¤¬¤¢¤ì¤Ð¡¤ ! %n¤Ï¤è¤ê¶¯¤¯¤Ê¤ë¤³¤È¤Ç¤¢¤í¤¦¡¥¡× %E %Cp P 00029 ! #"Wear %o. It will assist you against the undead." ! ¡Ö%o¤òÁõÃ夻¤è¡¥¤µ¤¹¤ì¤Ð¡¤¥¢¥ó¥Ç¥Ã¥É¤ËÂФ·¡¤¸úÎϤòȯ´ø¤¹¤ë¡¥¡× %E %Cc P 00030 ! #You stand facing a large graveyard. The sky above is filled with clouds ! #that seem to get thicker closer to the center. You sense the presence of ! #undead in larger numbers than you have ever encountered before. ! # ! #You remember the descriptions of %i, given to you by ! #%lC. It is ahead that you will find %ns trail. ! ¤¢¤Ê¤¿¤ÏÂ礭¤ÊÊèÃϤÎÁ°¤ËΩ¤Ã¤Æ¤¤¤ë¡¥¶õ¤ÏÃæ¿´¤Ø¤¤¤¯¤ËÏ¢¤ì¤Æ¤É¤ó¤è¤ê¤È¤· ! ¤Æ¤¤¤¯±À¤Ë°Ï¤Þ¤ì¤Æ¤¤¤ë¡¥¤¢¤Ê¤¿¤Ïº£¤Þ¤Ç¤ËÁø¶ø¤·¤¿¤³¤È¤Î¤Ê¤¤¤Û¤É¤Î¥¢¥ó¥Ç¥Ã ! ¥É¤ÎÂç·³¤Î¸ºß¤ò»¡¤·¤¿¡¥ ! ¤¢¤Ê¤¿¤Ï%l¤¬¶µ¤¨¤Æ¤¯¤ì¤¿¡¤%i¤Î¹½Â¤¤ò»×¤¤½Ð¤·¤¿¡¥ ! Á°Êý¤Ë%n¤ÎÄ̤ä¿Àפ¬¤¢¤ë¤è¤¦¤À¡¥ %E %Cp P 00031 ! #Again, you stand before %i. ! ¤¢¤Ê¤¿¤ÏºÆ¤Ó%i¤ÎÁ°¤ËΩ¤Ã¤¿¡¥ %E %Cc P 00040 ! #The stench of brimstone is all about you, and the shrieks and moans ! #of tortured souls assault your psyche. ! # ! #Ahead, there is a small clearing amidst the bubbling pits of lava... ! ¤½¤³¤é¤¸¤å¤¦¤¬Î²²«¤Î½­¤¤¤Ë¤è¤Ã¤ÆÊñ¤Þ¤ì¡¤ÉÔ¶ñ¤Êº²¶¡¤Î¶«¤Ó¤ä¤¦¤á¤­¤¬¡¤¤¢ ! ¤Ê¤¿¤ÎÉ԰¤ò¤«¤ê¤¿¤Æ¤¿¡¥ ! ¼êÁ°¤Î¡¤¤°¤Ä¤°¤Ä¤È¼Ñ¤¨¤¿¤Ã¤¿ÍÏ´ä¤Î¶¹´Ö¤Ë¡¤¾®¤µ¤Ê¶õ¤­ÃϤ¬¤¢¤ë¡¥ %E %Cp P 00041 ! #Again, you have invaded %ns domain. ! ¤¢¤Ê¤¿¤ÏºÆ¤Ó%n¤ÎÎΰè¤ò½±·â¤·¤¿¡¥ %E %Cc P 00050 ! #"Ah, so %lC has sent another %g to retrieve ! #%o. ! # ! #"No, I see you are no %g. Perhaps I shall have some fun today ! #after all. Prepare to die, %r! You shall never regain ! #%o." ! ¡Ö¥±¥Ã¡ª%l¤¬¤Þ¤¿¤â¤ä%g¤ò¤è¤³¤·¤¿¤Î¤«¡¤ ! %o¤ò¼è¤êÊÖ¤¹¤¿¤á¤Ë¡¥ ! ! ¡Ö¤¤¤ä¡¤ÂԤơ¥¤½¤Á¤Ï¡¤¤¿¤À¤Î%g¤Ç¤Ï¤Ê¤¤¤é¤·¤¤¤Ê¡¥¤â¤·¤«¤·¤¿¤é¡¤ ! º£Æü¤Ï¾¯¤·³Ú¤·¤á¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥»à¤Ì½àÈ÷¤Ç¤â¤¹¤ë¤Î¤À¤Ê¡¤%r¡ª ! ¤½¤Ê¤¿¤¬%o¤ò¼è¤êÊÖ¤¹¤³¤È¤Ê¤ÉÉÔ²Äǽ¤Ê¤Î¤À¤«¤é¤Ê¡¥¡× %E %Cp P 00051 ! #"So, %r. Again you challenge me." ! ¡Ö¤Û¤¦¡¤%r¡¥¤½¤Á¤Ï¤Þ¤¿»ä¤ËÄ©À魯¤ë¤Î¤«¡¥¡× %E %Cp P 00052 ! #"Die now, %r. %d has no power here to aid you." ! ¡Ö»à¤Í¤¤¡¤%r¡¥¤³¤³¤Ç¤Ï%d¤¬¤½¤Á¤ò½õ¤±¤ë¤³¤È¤Ï¤Ç¤­¤Ì¡¥¡× %E %Cp P 00053 ! #"You shall die, %r, and I will have %o back." ! ¡Ö%r¡¤¤½¤Á¤Ï»à¤ó¤Ç¡¤»ä¤Ï%o¤ò¼è¤êÊÖ¤¹¤Î¤À¡¥¡× %E %Cp P 00060 ! #"Submit to my will, %c, and I shall spare you." ! ¡Ö%c¤è¡¤»ä¤ËÉþ½¾¤¹¤ì¤Ð¡¤»ä¤Ï¤½¤Á¤òÀ¸¤«¤¹¡¥¡× %E %Cp P 00061 ! #"Your puny powers are no match for me, %c." ! ¡Ö%c¤è¡¤¤½¤Á¤Î¤è¤¦¤ÊÃö¾®ºÍ¤Ç¤Ï»ä¤Ë¤ÏÅþÄìµÚ¤Ð¤Ì¡¥¡× %E %Cp P 00062 ! #"I shall have you turned into a zombie for my pleasure!" ! ¡Ö»ä¤Î³Ú¤·¤ß¤Î¤¿¤á¤Ë¡¤¤½¤Á¤ò¥¾¥ó¥Ó¤Ë¤Ç¤â¤·¤Æ¤ä¤í¤¦¡¥¡× %E %Cp P 00063 ! #"Despair now, %r. %d cannot help you." ! ¡ÖÀä˾¤À¤Ê¡¤%r¡¥%d¤Ï¤½¤Á¤ò½õ¤±¤ë¤³¤È¤Ï¤Ç¤­¤Ì¡¥¡× %E %Cp P 00064 ! #"I shall feast upon your soul for many days, %c." ! ¡Ö¤½¤Á¤Îº²¤ò²¿Æü¤Ë¤âÅϤäƶô¤é¤¤¤Ä¤Å¤±¤Æ¤ä¤í¤¦¤Ç¤Ï¤Ê¤¤¤«¡¤%c¡¥¡× %E %Cp P 00065 ! #"Your death will be slow and painful. That I promise!" ! ¡Ö¤½¤Á¤Ï¤¸¤ï¤¸¤ï¤È¶ì¤·¤á¤Æ»¦¤·¤Æ¤¯¤ì¤è¤¦¡¥¤½¤ì¤À¤±»ä¤ÏÌ󫤹¤ë¡× %E %Cp P 00066 ! #"You cannot defeat %n, you fool. I shall kill you now." ! ¡Ö¤½¤Á¤Î¤è¤¦¤Ê¤¦¤Ä¤±¤Ç¤Ï¡¤%n¤Ë¾¡¤Æ¤Ì¤Î¤À¡¥»¦¤·¤Æº¹¤·¾å¤²¤è¤¦¡¥¡× %E %Cp P 00067 ! #"Your precious %lt will be my next victim." ! ¡Ö%l¤¬»ä¤Î¼¡¤Î±Â¿©¤È¤Ê¤ë¤Ç¤¢¤í¤¦¡¥¡× %E %Cp P 00068 ! #"I feel your powers failing you, %r. You shall die now." ! ¡Ö¤½¤Á¤ÏÎϤòÄ´Àá½ÐÍè¤Ì¤è¤¦¤À¤Ê¡¤%r¡¥¤½¤Á¤Ï¤â¤¦»à¤Ì¡¥¡× %E %Cp P 00069 ! #"With %o, nothing can stand in my way." ! ¡Ö%o¤µ¤¨¤¢¤ì¤Ð¡¤»ä¤Ë¶²¤ì¤ë¤Ù¤­¤â¤Î¤Ï¤Ê¤¤¡¥¡× %E %Cc P 00070 ! #As you pick up %o, you feel the essence of ! #%d fill your soul. You know now why %n stole it from ! #%H, for with it, %ca of %d could ! #easily defeat his plans. ! # ! #You sense a message from %d. Though not verbal, you ! #get the impression that you must return to %lC as soon ! #as possible. ! %o¤ò½¦¤¦¤È¡¤¤¢¤Ê¤¿¤Ï%d¤ÎËܼÁ¤ò´¶¤¸¤È¤Ã¤¿¡¥¤½¤·¤Æ¡¤ ! %d¤Î%c¤Ê¤é¤Ð%n¤ÎÌî˾¤òÂǤÁÇˤì¤ë¤«¤é¡¤ ! %n¤¬%H¤è¤ê%o¤òÅð¤ó¤À¡¤¤È¤¤¤¦¤³¤È¤Ëµ¤ÉÕ¤¤¤¿¡¥ ! ! ¤¢¤Ê¤¿¤Ï%d¤«¤é¤Î¥á¥Ã¥»¡¼¥¸¤ò´¶¤¸¼è¤Ã¤¿¡¥¤½¤ì¤Ï¸ÀÍÕ¤Ë ! ¤è¤ë¤â¤Î¤Ç¤Ï¤Ê¤¤¤¬¡¤¤¢¤Ê¤¿¤Ï¤¹¤°%l¤Î¤â¤È¤Øµ¢¤é¤Í¤Ð¤Ê¤é¤Ê¤¤ ! ¤³¤È¤ò´¶¤¸¤¿¡¥ %E %Cc P 00080 ! #You feel a wrenching shift in the ether as %n's body dissolves ! #into a cloud of noxious gas. ! # ! #Suddenly, a voice booms out: ! # ! # Thou hast defeated the least of my minions, %r. ! # Know now that Moloch is aware of thy presence. ! # As for you, %n, I shall deal with thy failure ! # at my leisure. ! # ! #You then hear the voice of %n, screaming in terror... ! %n¤ÎÆùÂΤ¬ÆÇÀ­¤Îµ¤ÂΤؤȶõµ¤¤ËÍ»¤±¤³¤à¤Ë¤Ä¤ì¡¤ ! Å·¶õ¤¬¶Á¤¤¤Æ¤¤¤ë¤Î¤Ëµ¤ÉÕ¤¤¤¿¡¥ ! ¤¹¤ë¤ÈÆÍÁ³¡¤À¼¤¬¹ì¤­¤ï¤¿¤Ã¤¿¡§ ! %r¤è¡¤Æò¤Ï»ä¤Î¤â¤Ã¤È¤â±ø¤ï¤é¤·¤¤²¼ËͤòÅݤ·¤Æ¤¯¤ì¤¿¡¥ ! ¥â¡¼¥í¥Ã¥¯¤¬¤½¤Á¤Î¸ºß¤Ëµ¤ÉÕ¤¤¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤ò´Î¤ËÌ¿¤¸¤è¡¥ ! %n¤è¡¤Æò¤ÎÉÔ¼óÈø¤Ï»ä¤¬Ä¾¤ËºÛ¤³¤¦¡¥ ! ¤½¤·¤Æ¡¤¤¢¤Ê¤¿¤Ï%n¤ÎÈáÌĤòʹ¤¤¤¿¡¥ %E %Cc P 00081 ! #"You have returned, %p. And with %o, I see. ! #Congratulations. ! # ! #"I have been in meditation, and have received direction from ! #a minion of %d. %d commands that you retain ! #%o. With it, you must recover the Amulet ! #of Yendor. ! # ! #"Go forth, and let %d guide your steps." ! %p¡¤µ¢¤Ã¤Æ¤­¤¿¤«¡¥¡¥¤·¤«¤â¡¤%o¤ò¼ê¤Ë¤·¤Æ¡¥ ! ¤ª¤á¤Ç¤È¤¦¡¥ ! ! »ä¤Ï¤º¤Ã¤ÈâÔÁÛ¤·¤Æ¤¤¤¿¤Î¤À¤¬¡¤%d¤Î»È¼Ô¤è¤êÌ¿Îá¤ò¾µ¤Ã¤¿¡¥ ! %d¤Ï¡¤¤½¤Ê¤¿¤Ë%o¤ò»ý¤Á³¤±¤ë¤è¤¦¤Ë¡¤¤ÈÌ¿¤¸¤¿¡¥¤½¤·¤Æ¡¤ ! ¤½¤ì¤ò¤â¤Ã¤Æ¡¤¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤ò¼è¤êÌ᤹¤Î¤À¡¥ %E %Cp P 00090 ! #"Welcome back, %p. How is your quest for the Amulet going?" ! ¤è¤¯¤¾µ¢¤Ã¤Æ¤­¤¿¡¤%p¡¥Ëâ½ü¤±¤òõ¤¹Êý¤Ï¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤Î¤À¡¥ %E %Cc P 00091 ! #"You have prevailed, %p! %d is surely with you. Now, ! #you must take the amulet, and sacrifice it on %ds altar on ! #the Astral plane. I suspect that I shall never see you again in this ! #life, but I hope to at %ds feet." ! %p¤è¡¤¤½¤Á¤ÏÂǤÁ¾¡¤Ã¤¿¤Î¤À¡ª¿¿¤Ë¡¤%d¤Ï¤½¤Á¤È¤È¤â¤Ëºß¤ë¡¥ ! ¤µ¤¢¡¤¤½¤Ê¤¿¤ÏËâ½ü¤±¤ò»ý¤Ã¤Æ¡¤¤³¤ì¤«¤éÀºÎ¤Ë¤¢¤ë%d¤Îº×ÃÅ ! ¤Ë¤½¤ì¤òÊû¤²¤ë¤Î¤À¡¥º£À¸¤Ç¤Ï¤½¤Ê¤¿¤Ë²ñ¤¦¤³¤È¤Ï¤â¤¦¤Ê¤¤¤À¤í¤¦¡¤ ! ¤·¤«¤·¡¤%d¤Î­¸µ¤Ç¤½¤Ê¤¿¤Ë²ñ¤¦¤³¤È¤ò³Ú¤·¤ß¤Ë¤·¤Æ¤¤¤ë¤¾¡¥ %E # # Rogue (with apologies to all Norsk speakers -dean) + # (ÌõÃí)¤¹¤ó¤²¡¼°ÕÌõ¡¥°ÕÌ£¤è¤¯¤ï¤«¤é¤ó¡¥^_^; # %Cc R 00001 ! #Unexpectedly, you find yourself back in Ransmannsby, where you trained to ! #be a thief. Quickly you make the guild sign, hoping that you AND word ! #of your arrival reach the %ls den. ! ¤Õ¤È¡¤¤¢¤Ê¤¿¤ÏÅð±¤Ë¤Ê¤ë¤¿¤á¤Ë½¤¶È¤·¤¿¡¤¥é¥ó¥¹¥Þ¥ó¥¹¥Ù¥¤¤Ë ! Ìá¤Ã¤Æ¤¤¤ë¤Î¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥¤¢¤Ê¤¿¤ÏÁÇÁ᤯¥®¥ë¥É¤Î°õ¤òºî¤Ã¤¿¡¥ ! %l¤ËÆϤ¯¤³¤È¤òµ§¤ê¤Ê¤¬¤é¡¥ %E %Cp R 00002 ! #Once again, you find yourself back in Ransmannsby. Fond memories are ! #replaced by fear, knowing that %l is waiting for you. ! ¤â¤¦¤¤¤Á¤É¡¤¤¢¤Ê¤¿¤Ï¥é¥ó¥¹¥Þ¥ó¥¹¥Ù¥¤¤ËÌá¤Ã¤Æ¤¤¤ë¤Î¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥´Å¤¤ ! µ­²±¤¬¶²¤ì¤ËÃÖ¤­¤«¤¨¤é¤ì¤Æ¤¤¤ë¡¥%l¤¬¤¢¤Ê¤¿¤òÂԤäƤ¤¤ë ! ¤Î¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥ %E %Cp R 00003 ! #You rub your hands through your hair, hoping that the little ones on ! #the back of your neck stay down, and prepare yourself for your meeting ! #with %l. ! ¤¢¤Ê¤¿¤Ïñû¤ò¤È¤«¤·¤¿¡¤Ã¯¤Ë¤â¼ó¤Í¤Ã¤³¤ò°µ¤¨¤Ä¤±¤é¤ì¤ë¤³¤È¤Ï ! ¤Ê¤¤¤³¤È¤òµ§¤ê¤Ê¤¬¤é¡¥¤½¤·¤Æ¡¤%l¤Ë²ñ¤¦½àÈ÷¤ò¤·¤¿¡¥ %E %Cp R 00005 ! #"I hear that Lady Tyvefelle's household is lightly guarded." ! ¡Ö¥ì¥Ç¥£¡¦¥¿¥¤¥ô¥§¥Õ¥§¥ë¤Î²È¤Î·ÙÈ÷¤Ï¼êÇö¤À¤½¤¦¤À¡¥¡× %E %Cp R 00006 ! #"You're back? Even the Twain don't come back anymore." ! ¡ÖÌá¤Ã¤Æ¤­¤¿¡©¥È¥¦¥§¡¼¥ó¤Ç¤¹¤éÌá¤Ã¤Æ¤³¤Ê¤¤¤Î¤Ë¡¥¡× %E %Cp R 00007 ! #"Can you spare an old cutpurse a zorkmid for some grog?" ! ¡Ö¤³¤Îǯ´ó¥¹¥ê¤Ë¥é¥à¼ò¤Î¤¿¤á¤Î¶â¤ò·Ã¤ó¤Ç¤¯¤ì¡¥¡× %E %Cp R 00008 ! #"Fritz tried to join the other side, and now he's hell-hound chow." ! ¡Ö¥Õ¥ê¥Ã¥Ä¤Ï΢ÀÚ¤ê¤ä¤¬¤Ã¤¿¡¥¤¤¤Þ¤ä¤¹¤Ã¤«¤ê¥«¥¿¥®¤À¡¥¡× %E %Cp R 00009 ! #"Be careful what you steal, I hear the boss has perfected turning ! #rocks into worthless pieces of glass." ! ¡Ö²¿¤Ç¤âÅð¤á¤Ð¤¤¤¤¤Ã¤Æ¤â¤ó¤¸¤ã¤Ê¤¤¡¤¥Ü¥¹¤¬´ä¤ò²ÁÃͤΤʤ¤¥¬¥é¥¹¤Ë ! »Å¾å¤²¤Æ¤¤¤ë²»¤òʹ¤¤¤¿¤¼¡¥¡× %E %Cc R 00010 ! #"Well, look who it is boys -- %p has come home. You seem to have ! #fallen behind in your dues. I should kill you as an example to these ! #other worthless cutpurses, but I have a better plan. If you are ready ! #maybe you could work off your back dues by performing a little job for ! #me. Let us just see if you are ready..." ! ¡Ö狼Í褿¤è¤¦¤À¤Ê¡¥%p¤«¡¥²¿¤À¡©Ç¤Ì³¤Ë¼ºÇÔ¤·¤ä¤¬¤Ã¤¿¤Î¤«¡¥¤Õ¤ó¡¥ ! ¤³¤³¤Ë¤¤¤ë²ÁÃͤΤʤ¤¥¹¥ê¤Î¤è¤¦¤Ë»¦¤·¤Æ¤ä¤í¤¦¤È»×¤Ã¤¿¤¬¡¤¤â¤Ã¤È¤¤¤¤¤³¤È ! ¤ò»×¤¤¤Ä¤¤¤¿¡¥½àÈ÷¤Ï¤¤¤¤¤«¡©¤Ê¡¼¤Ë¡¤²¶¤Î¤¿¤á¤Ë¤Á¤ç¤¤¤È»Å»ö¤ò¤·¤Æ¤¯¤ì¤ì¤Ð ! ¤¤¤¤¤Î¤µ¡¥½àÈ÷¤¬¤Ç¤­¤Æ¤ë¤«¤Ê¡¥¡¥¡¥¡× %E %Cp R 00011 ! #"Well, I didn't expect to see you back. It shows that you are either stupid, ! #or you are finally ready to accept my offer. Let us hope for your sake it ! #isn't stupidity that brings you back." ! ¡Ö¤Þ¤¿²ñ¤¨¤ë¤È¤Ï»×¤ï¤Ê¤«¤Ã¤¿¤¼¡¥¤ªÁ°¤ÏÇϼ¯¤«¡©²¶¤ÎǤ̳¤òÀÁ¤±É餦 ! ¤À¤±¤Îµ»Î̤¬¤¢¤ë¤«¸«¤Æ¤ä¤í¤¦¡¥¤»¤¤¤¼¤¤¤ªÁ°¤¬¤¢¤¤¤«¤ï¤é¤ºÇϼ¯¤Ç ! ¤Ê¤¤¤³¤È¤òµ§¤í¤¦¡¥¡× %E %Cp R 00012 ! #"Did you perhaps mistake me for some other %lt? You must ! #think me as stupid as your behavior. I warn you not to try my patience." ! ¡Ö%l°Ê³°¤Ë¤½¤½¤Î¤«¤µ¤ì¤Æ¤ª¤é¤ó¤À¤í¤¦¤Ê¡©²¶¤Î¤³¤È¤ò¤ªÁ° ! ¤¯¤é¤¤Çϼ¯¤À¤È¹Í¤¨¤Æ¤ë¤À¤í¤¦¡¥²¶¤Ë¤â²æËý¤Î¸Â³¦¤Ã¤Æ¤â¤Î¤¬¤¢¤ë¤ó¤À¤¼¡¥¡× %E %Cc R 00013 ! #"Well %gp, it looks like our friend has forgotten who is the boss ! #around here. Our friend seems to think that %rp have been put in ! #charge. Wrong. DEAD WRONG!" ! # ! #Your sudden shift in surroundings prevents you from hearing the end ! #of %ls curse. ! ¡Ö%g¡ª²¶¤Îͧ¤Ï郎¤³¤³¤Î¥Ü¥¹¤À¤«Ëº¤ì¤¿¤È¸«¤¨¤ë¡¥²¶¤Îͧ¤Ï ! %r¤¬Î¢Àڤ俤ȹͤ¨¤Æ¤¤¤ë¡¥´Ö°ã¤¤¤À¡¥»à¤¹¤Ù¤­´Ö°ã¤¤¤À¡ª¡× ! %l¤Î¼ö¤¤¤Î¸ÀÍÕ¤¬±ó¤Î¤­¡¤¤Þ¤ï¤ê¤Î·Ê¿§¤¬ÆÍÁ³ÊѤä¿¡¥ %E %Cc R 00014 ! #"In the time that you've been gone you've only been able to master the ! #arts of %ra? I've trained ten times again as many %Rp ! #in that time. Maybe I should send one of them, no? Where would that ! #leave you, %p? Oh yeah, I remember, I was going to kill you!" ! ¡Ö¸½»þÅÀ¤Ç%r¤ò¶Ë¤á¤¿¤«¡©²¶¤Ï10ǯÁ°¤Ë%R¤ò¶Ë¤á¤¿¤â¤Î¤À¡¥ ! »ä¤Ï%R¤ò¶Ë¤á¤¿£±¿Í¤È¤·¤ÆÁ÷¤é¤ì¤¿¤Î¤À¤¬¡¤¤½¤ì¤ËÈæ¤Ù¤Æ%p ! ¤ªÁ°¤Ï¤É¤¦¤À¡©¤Õ¤ó¡¥Ëº¤ì¤ë¤Ê¡ª²¶¤Ï¤ªÁ°¤ò»¦¤½¤¦¤È¤·¤Æ¤ë¤Î¤À¤¼¡¥¡× %E %Cc R 00015 ! #"Maybe I should chain you to my perch here for a while. Perhaps watching ! #real %A men at work will bring some sense back to you. I don't ! #think I could stand the sight of you for that long though. Come back ! #when you can be trusted to act properly." ! ¡Ö¤É¤¦¤ä¤é¡¤¤ªÁ°¤ò»ß¤Þ¤êÌڤˤĤʤê¤Ç¤ª¤¯¤Ù¤­¤À¤Ã¤¿¤è¤¦¤À¡¥¤ª¤ª¤«¤¿Æ¯¤¯ ! %A¤Î¿Í´Ö¤ò¸«¤Æ¤Ä¤Þ¤é¤ó´¶¾ð¤Ç¤âÊú¤¤¤¿¤ó¤À¤í¤¦¡¥¤ªÁ°¤ÎÁ°¤Ë ! Ω¤Ã¤Æ¤¤¤ë¤Ê¤ó¤Æ¹Í¤¨¤¿¤¯¤â¤Ê¤¤¡¥²¿¤ò¿®¤¸¤ë¤Ù¤­¤«¤ï¤«¤Ã¤¿¤éÌá¤Ã¤Æ¤³¤¤¡¥¡× %E %Cc R 00016 ! #"Will everyone not going to retrieve %o from that ! #jerk, %n, take one step backwards. Good choice, ! #%p, because I was going to send you anyway. My other %gp ! #are too valuable to me. ! # ! #"Here's the deal. I want %o, %n ! #has %o. You are going to get %o ! #and bring it back to me. So simple an assignment even you can understand ! #it." ! ¡Öï¤â%o¤òÇϼ¯ÌîϺ¤Î%n¤«¤é¼è¤ê¤«¤¨¤·¤Æ¤­¤ä ! ¤¬¤é¤Í¤§¡¥¤è¤¯Ê¹¤±¡ª%p¡¤¤Ê¤¼¤Ê¤é²¶¤Ï¤ªÁ°¤òÁ÷¤ê¤Ä¤±¤ë¤«¤é¤À¡¥ ! ¾¤Î%g¤¿¤Á¤Ï¤ªÁ°¤Ê¤ó¤«¤è¤êÂç»ö¤À¤«¤é¤Ê¡¥ ! ! ¡Ö¼è¤ê°ú¤­¤È¹Ô¤³¤¦¤¸¤ã¤Ê¤¤¤«¡¥²¶¤Ï%o¤¬Íߤ·¤¤¡¥%n¤¬ ! %o¤ò»ý¤Ã¤Æ¤¤¤ë¡¥¤ªÁ°¤Ï%o¤ò¼è¤ê¤Ë¹Ô¤­¡¤ ! ²¶¤Î¤È¤³¤í¤Ø»ý¤Ã¤Æ¤³¤¤¡¥´Êñ¤Ê¤³¤Ã¤¿¡¥¤ªÁ°¤Ç¤â½½Ê¬Íý²ò¤Ç¤­¤ë¤À¤í¡¥¡× %E %Cc R 00020 ! #"You don't seem to understand, %o isn't here so ! #neither should you be!" ! ¡Ö¤Ê¤ó¤Ç¤§¡¤¤ï¤«¤é¤Ê¤«¤Ã¤¿¤Î¤«¡©%o¤Ï¤³¤³¤Ë¤Ï¤Í¤§¡¥²¿¤·¤í¤ªÁ°¤¬ ! ¼è¤êÊÖ¤·¤Æ¤Í¤§¤ó¤À¤«¤é¤Ê¡ª¡× %E %Cp R 00021 ! #"May %d curse you with lead fingers. Get going!" ! ¡Ö%d¤Î¼ö¤¤¤¬¤¢¤é¤ó¤³¤È¤ò¡¥¹Ô¤±¡ª¡× %E %Cp R 00022 ! #"We don't have all year. GET GOING!" ! ¡Ö²¶¤é¤Ë¤Ï²Ë¤¬¤Í¤§¤ó¤À¡¥¹Ô¤±¡ª¡× %E %Cc R 00023 ! #"How would you like a scar necklace? I'm just the jeweler to do it!" ! ¡Ö½ý¤â¤Î¤Î¥Í¥Ã¥¯¥ì¥¹¤Ï¹¥¤­¤«¡©²¶¤Ï¤½¤¦¤¤¤¦¤³¤È¤ò¤¹¤ëÊõÀв°¤À¤¼¡ª¡× %E %Cp R 00024 ! #"Lazy S.O.B. Maybe I should call up someone else..." ! ¡ÖÂÕ¤±¤â¤ó¤¬¡ª¤³¤Î¥¯¥½ÌîϺ¡¥Ã¯¤«Â¾¤Î¤ä¤Ä¤ò¸Æ¤Ö¤¾¡¥¡¥¡¥¡× %E %Cp R 00025 ! #"Maybe I should open your skull and see if my instructions are inside?" ! ¡Ö¤ªÁ°¤ÎƬ¤ò³«¤¤¤Æ²¶¤ÎÌ¿Î᤬ËÜÅö¤Ë¤Æ¤á¤§¤ÎÃæ¤ËÆþ¤Ã¤Æ¤ë¤«¸«¤Æ¤ä¤í¤¦¤«¡©¡× %E %Cp R 00026 ! #"This is not a task you can complete in the afterlife, you know." ! ¡Ö°Â¿´¤·¤ÆÏ·¸å¤òÁ÷¤ê¤¿¤¤¤Ê¤é¡¤¤³¤Î»Å»ö¤Ï¤Á¤ã¤ó¤È¤ä¤Ã¤È¤¯¤ó¤À¤Ê¡¥¡× %E %Cc R 00027 ! #"Inside every living person is a dead person trying to get out, and I have ! #your key!" ! ¡ÖÀ¸¤­¤Æ¤¤¤ë¿Í´Ö¤È¸À¤¦¤Î¤Ï¤â¤¬¤­Â³¤±¤ë»à¤ó¤À¿Í´Ö¤À¡¥¤½¤·¤Æ²¶¤Ï¤ªÁ°¤Î ! ¸°¤ò»ý¤Ã¤Æ¤¤¤ë¡ª¡× %E %Cp R 00028 ! #"We're almost out of hell-hound chow, so why don't you just get moving!" ! ¡Ö²¶¤é¤Ï³§¥«¥¿¥®¤Ë¤Ï¤Ê¤ì¤Í¤§¡¥²¿¤¤¤Þ¤µ¤é¤¸¤¿¤Ð¤¿¤·¤Æ¤ó¤À¡ª¡× %E %Cp R 00029 ! #"You know, %o isn't going to come when you ! #whistle. You must get it yourself." ! ¡Ö%o¤ÏÅ«¤ò¿á¤¤¤¿¤Ã¤ÆÍè¤ä¤¬¤é¤Í¤§¡¥¼«Ê¬¤Ç¼è¤Ã¤Æ ! ¤¯¤ë¤·¤«¤Í¤§¤ó¤À¡¥¡× %E %Cp R 00030 ! #Those damn little hairs tell you that you are nearer to ! #%o. ! ¤¯¤½¤Ã¤¿¤ì¤Îñû¤ÎÌÓ¤¬%o¤Ë¶á¤Å¤¤¤¿¤³¤È¤òÃΤ餻¤¿¡¥ %E %Cp R 00031 ! #Not wanting to face %l without having stolen ! #%o, you continue. ! %o¤òÅð¤à¤Þ¤Ç¤Ï%l¤Ë¤Ï²ñ¤¤¤¿¤¯¤Ê¤«¤Ã¤¿¤¬¡¤Â³¤±¤¿¡¥ %E %Cc R 00040 ! #You feel a great swelling up of courage, sensing the presence of ! #%o. Or is it fear? ! ¤¢¤Ê¤¿¤Ïͦµ¤¤¬Í¯¤¤¤Æ¤¯¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥%o¤¬¶á¤¤¤Ë°ã¤¤¤Ê¤¤¡¥ ! ¤½¤ì¤È¤â¶²¤ì¡© %E %Cp R 00041 ! #The hairs on the back of your neck whisper -- it's fear. ! ¤¢¤Ê¤¿¤Î¤¦¤Ê¤¸¤Îñû¤¬¤µ¤µ¤ä¤¤¤¿¡¥-- ¶²Éݤʤ󤫤¸¤ã¤Ê¤¤¡¥ %E %Cc R 00050 ! #"Ah! You must be %ls ... er, `hero'. A pleasure ! #to meet you." ! ¡Ö¤ªÁ°¤¬%l¤Î¡¥¡¥¡¥»È¤¤¤Î¥Ò¡¼¥í¡¼¤«¡¥¤ªÁ°¤Ë²ñ¤¨¤Æ´ò¤·¤¤¤¼¡¥¡× %E %Cc R 00051 ! #"We meet again. Please reconsider your actions." ! ¡Ö¤Þ¤¿²ñ¤Ã¤¿¤Ê¡¥¤â¤¦¤¤¤¤¤«¤²¤ó¤Ë¤·¤Æ¤Û¤·¤¤¤â¤Î¤À¡¥¡× %E %Cp R 00052 ! #"Surely, %p, you have learned that you cannot trust any bargains ! #that %l has made. I can show you how to continue on ! #your quest without having to run into him again." ! ¡Ö¤ª¤¤%p¡¤%l¤È¤Î¼è¤ê°ú¤­¤Ï¿®ÍѤǤ­¤Ê¤¤¤Ã¤Æ¤³¤È¤Ï ! ÃΤäƤó¤À¤í¤¦¤Ê¡¥²¶¤¬¤ªÁ°¤¬¤É¤¦¤ä¤Ã¤¿¤éËÁ¸±¤ò³¤±¤ë¤«¼¨¤·¤Æ¤ä¤í¤¦¡¥ ! Èà¤Î¤È¤³¤í¤Ëƨ¤²¤³¤àÁ°¤Ë¤Ê¡¥¡× %E %Cp R 00053 ! #"Please, think for a moment about what you are doing. Do you truly ! #believe that %d would want %l to have ! #%o?" ! ¡Ö¤Á¤ç¤Ã¤È¤Þ¤Æ¡¤¹Í¤¨¤Ê¤ª¤·¤Æ¤¯¤ì¡¥ËÜÅö¤Ë%l¤¬%o ! ¤ò»ý¤Ä¤³¤È¤ò%d¤¬Ë¾¤ó¤Ç¤¤¤ë¤È»×¤Ã¤Æ¤ë¤Î¤«¡©¡× %E %Cp R 00060 ! #"May I suggest a compromise. Are you interested in gold or gems?" ! ¡ÖÂŶ¨¤·¤è¤¦¤¸¤ã¤Í¤§¤«¡¥¶â¤ÈÊõÀФΤɤäÁ¤¬¤¤¤¤¡©¡× %E %Cp R 00061 ! #"Please don't force me to kill you." ! ¡Ö¤ªÁ°¤Ï»¦¤·¤¿¤¯¤Í¤§¤ó¤À¤¬¤Ê¡¥¡× %E %Cp R 00062 ! #"Grim times are upon us all. Will you not see reason?" ! ¡Ö¤¤¤ä¤Ê»þ´Ö¤À¤±¤¢¤ê¤ä¤¬¤ë¡¥Íýͳ¤Ï¤ï¤«¤Ã¤Æ¤ó¤Î¤«¡©¡× %E %Cp R 00063 ! #"I knew %l, and you're no %l, thankfully." ! ¡Ö²¶¤Ï%l¤òÃΤäƤ¤¤ë¡¥¤ªÁ°¤Ï%l¤¸¤ã¤Ê¤¤¡¥¤¢¤ê¤¬¤Æ¤§¡¥¡× %E %Cp R 00064 ! #"It is a shame that we are not meeting under more pleasant circumstances." ! ¡Ö²¶¤¿¤Á¤¬¤â¤Ã¤È´î¤Ð¤·¤¤¾õ¶·¤Ç²ñ¤¨¤Í¤§¤È¤Ï¤Ò¤Ç¤§ÏäÀ¡¥¡× %E %Cp R 00065 ! #"I was once like you are now, %p. Believe in me -- our way ! #is better." ! ¡Ö²¶¤Ï¤«¤Ä¤Æ¤Ïº£¤Î¤ªÁ°¤Î¤è¤¦¤ÊΩ¾ì¤À¤Ã¤¿¡¤%p¤è¡¥²¶¤ò¿®¤¸¤í¡¤ ! ²¶¤Î¤ä¤ê¤«¤¿¤ÎÊý¤¬¤¹¤°¤ì¤Æ¤ë¤Ã¤Æ¤â¤ó¤À¡¥¡× %E %Cp R 00066 ! #"Stay with me, and I will make you %os guardian." ! ¡Ö²¶¤Î¤È¤³¤í¤ËÍè¤Í¤§¤«¡©¤ªÁ°¤ò%o¤ÎÈÖʼ¤Ë¤·¤Æ¤ä¤í¤¦¡¥¡× %E %Cp R 00067 ! #"When you return, with or without %o, ! #%l will have you killed." ! ¡Ö¤ªÁ°¤¬Ìá¤Ã¤¿¤é%o¤ÎÇ¡²¿¤Ë¤«¤«¤ï¤é¤º ! %l¤Ï¤ªÁ°¤ò»¦¤¹¤¼¡¥¡× %E %Cp R 00068 ! #"Do not be fooled; I am prepared to kill to defend %o." ! ¡ÖÇϼ¯¤Ï¤ä¤á¤í¡¤²¶¤Ï%o¤Î¤¿¤á»¦¤·¤Æ¤â¤¤¤¤¤ó¤À¤¼¡¥¡× %E %Cp R 00069 ! #"I can reunite you with the Twain. Oh, the stories you can swap." ! ¡Ö¤ªÁ°¤ò¥È¥¦¥§¥¤¥ó¤Ë²ñ¤ï¤»¤Æ¤ä¤ì¤ë¤¼¡¥¥ß¥¤¥é¼è¤ê¤¬¥ß¥¤¥é¤«¡©¡× %E %Cc R 00070 ! #"As you pick up %o, the hairs on the back of your ! #neck fall out. At once you realize why %n was ! #willing to die to keep it out of %ls hands. Somehow ! #you know that you must do likewise." ! ¤¢¤Ê¤¿¤¬%o¤ò½¦¤¦¤È¡¤¤¦¤Ê¤¸¤Îȱ¤ÎÌÓ¤¬¤Ï¤é¤ê¤ÈÍî¤Á¤¿¡¥¤¹¤°¤Ë ! ¤¢¤Ê¤¿¤Ï¡¤²¿¸Î%n¤¬¤½¤ì¤ò%l¤Î¼ê¸µ¤«¤é ! Î¥¤·¤Æ¤ª¤¯¤¿¤á¤Ë¿Ê¤ó¤Ç»à¤ó¤À¤Î¤«¤ò¸ç¤Ã¤¿¡¥ ! ¤É¤¦¤¤¤¦¤ï¤±¤«¡¤¤¢¤Ê¤¿¤âƱ¤¸¤³¤È¤ò¤·¤Ê¤±¤ì¤Ð ! ¤Ê¤é¤Ê¤¤¤è¤¦¤Êµ¤¤Ë¤Ê¤Ã¤¿¡¥ %E %Cc R 00080 ! #"I know what you are thinking, %p. It is not too late for you ! #to use %o wisely. For the sake of your guild ! #%sp, do what is right." ! # ! #You sit and wait for death to come for %n, and then you ! #brace yourself for your next meeting with %l! ! ¡Ö%p¡¤¤ªÁ°¤¬²¿¤ò¹Í¤¨¤Æ¤ë¤Î¤«ÃΤäƤ뤾¡¥%o¤ò¸­¤¯ ! »È¤¦¤Ë¤Ï¤Þ¤ÀÃÙ¤¯¤Ê¤¤¡¥¤ªÁ°¤Î¥®¥ë¥É¤Î%l¤Î¤¿¤áÀµ¤·¤¯»È¤¦¤Î¤À¡¥¡× ! ¤¢¤Ê¤¿¤ÏºÂ¤ê¤³¤ß¡¤%n¤Î»à¤òÂԤä¿¡¤¤½¤·¤Æ¼¡¤Ë%l¤Ë²ñ¤¦¤¿¤á ! ¿À·Ð¤ò¶ÛÄ¥¤µ¤»¤¿¡ª %E %Cc R 00081 ! #"Well, I'll be damned. You got it. I am proud of you, a fine %r ! #you've turned out to be. ! # ! #"While you were gone I got to thinking, you and %o ! #together could bring me more treasure than either of you apart, so why don't ! #you take it with you. All I ask is a cut of whatever loot you come by. ! #That is a better deal than I offered %n. ! # ! #"But, you see what happened to %n when he refused. ! #Don't make me find another to send after you this time." ! ¡Ö¤Õ¤ó¡¥¤Á¤ç¤¦¤É¤±¤Ê¤·¤Æ¤¿¤È¤í¤À¡¥¥Ö¥Ä¤ò¼ê¤ËÆþ¤ì¤¿¤è¤¦¤À¤Ê¡¥¤ªÁ°¤ò ! ¸Ø¤ê¤Ë»×¤Ã¤È¤ë¤è¡¥¤ªÁ°¤ÏÁÇÀ²¤·¤¤%r¤À¡¥ ! ! ¡Ö¤ªÁ°¤¬¹Ô¤Ã¤Æ¤·¤Þ¤Ã¤¿¤¢¤È¡¤¹Í¤¨¤Æ¤¿¤ó¤À¤¬¡¤¤ªÁ°¤È%o ! ¤Ï°ì½ï¤Ë¤·¤È¤¯¤È²¶¤ò¤â¤Ã¤ÈÊõ¤Î¤¢¤ë¤È¤³¤í¤ØƳ¤¤¤Æ¤¯¤ì¤½¤¦¤À¡¥¤É¤¦¤À¤¤¡© ! ¤Ä¤Þ¤ê¡¤²¶¤¬Ê¹¤­¤Æ¤§¤Î¤Ï¤ªÁ°¤¬Î¬Ã¥¤·¤¿¤â¤Î¤Îʬ¤±Á°¤Ã¤Æ¤³¤È¤À¡¥ ! %n¤Ê¤ó¤«¤è¤ê¤º¤Ã¤È¤¹¤²¤§Ê¬¤±Á°¤Ë¤Á¤¬¤¤¤Í¤§¡¥ ! ¡Ö¤·¤«¤·¡¤¤ªÁ°¤Ï%n¤¬µñÈݤ·¤¿¤È¤­²¿¤¬µ¯¤­¤¿¤«¸«¤¿¤À¤í¤¦¡¥¤Þ¤¿Ê̤Π! ¿Í´Ö¤òº£Å٤ϤªÁ°¤Î¤È¤³¤í¤ËÁ÷¤ë¤Ê¤ó¤Æ¤³¤È¤¬¤Í¤§¤è¤¦¤Ë¤·¤È¤±¡¥¡× %E %Cc R 00090 ! #"Quite the little thief, aren't we, %p. Can I interest you in a ! #swap for %o. Look around, anything in the keep ! #is yours for the asking." ! ¡Ö¥Á¥ó¥±¤ÊÅð±¤À¤¬%p¡¤²¶¤Ï%o¤Î¤«¤ï¤ê¤Ë¤ªÁ°¤Ë¶½Ì£¤¬¤¢¤ë¡¥ ! Îɤ¯¸«¤Þ¤ï¤»¡¤¤³¤³¤Ë¤¢¤ë¤â¤óÁ´Éô¤ò˾¤à¤Ê¤é¤ªÁ°¤Ë¤¯¤ì¤Æ¤ä¤Ã¤Æ¤â¤¤¤¤¤¼¡¥¡× %E %Cc R 00091 ! #"I see that with your abilities, and my brains, we could rule this world. ! # ! #"All that we would need to be all-powerful is for you to take that little ! #trinket you've got there up to the Astral plane. From there, %d will ! #show you what to do with it. Once that's done, we will be invincible!" ! ¡Ö¤ªÁ°¤ÎǽÎϤϲ¶¤Î¤Õ¤ó¤ÀÄ̤ê¤Î¤â¤Î¤À¤Ã¤¿¡¤²¶¤é¤Ï¤³¤ÎÀ¤³¦¤ÎÙݤÀ¡¥ ! ! ¡ÖËüǽ¤ÎÎϤòÆÀ¤ë¤¿¤á¤Ë¤ªÁ°¤¬¤¹¤ë¤³¤È¤Ï¡¤¤½¤Î¥Á¥ó¥±¤ÊÁõ¾þ¶ñ¤òÀºÎ¤Ë ! »ý¤Ã¤Æ¤¯¤³¤È¤À¡¥¤½¤³¤Ç%d¤¬²¿¤ò¤¹¤ê¤ã¤¤¤¤¤Î¤«¶µ¤¨¤Æ¤¯¤ì¤ë¡¥¤³¤ì¤¬¤Ç¤­ ! ¤¿¤é¡¤²¶¤é¤Ï̵Ũ¤À¡ª¡× %E # # Samurai # %Cc S 00001 ! °Õ¼±¤¬´°Á´¤ËÌá¤ëÁ°¤Ë¡¤¤¢¤Ê¤¿¤Ï%H¤ÎÅԤˤ¤¤ë¤³¤È¤¬¤ï¤«¤Ã¤¿¡¥ ! ¤·¤«¤·Ì¯¤À¡¥¤¢¤Ê¤¿¤Î½ÉŨ¤Ç¤¢¤ë%n¤¬²¿¸ÎÄ®¤Î¾å¶õ¤ò ! Èô¤ó¤Ç¤¤¤ë¤Î¤À¡©Ç¦¼Ô¤¬²¿¸Î¤¢¤Á¤³¤Á¤ÇÊüϲ¤·¤Æ¤¤¤ë¤Î¤À¡©¤¢¤Ê¤¿¤ÎÂç ! ̾¤Ç¤¢¤ë%l¤Î»ø¤Ï¤É¤³¤Ë¤¤¤ë¤Î¤À¡© ! ¤¢¤Ê¤¿¤ÏµÞ¤¤¤Ç°Ë¼ÙÆá´ô¤ª¤è¤Ó°Ë¼ÙÆáÈþ¤Ëµ§¤ê¤ò¤µ¤µ¤²¡¤Ä®¤Ø¸þ¤Ã¤Æ ! Ê⤤¤Æ¤¤¤Ã¤¿¡¥ %E %Cp S 00002 ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï%H¤ËÌá¤Ã¤¿¡¥ %E %Cp S 00003 ! #You are back at %H. ! # ! #Instantly you sense a subtle change in your karma. You seem to know that ! #if you do not succeed in your quest, %n will have destroyed ! #the kami of %H before you return again. ! ¤¢¤Ê¤¿¤Ï%H¤ËÌá¤Ã¤¿¡¥ ! ! ¨ºÂ¤Ë¡¤¤¢¤Ê¤¿¤Ï¥«¥ë¥Þ¤ÎÈù̯¤Ê°ã¤¤¤ò´¶¤¸¤È¤Ã¤¿¡¥¤¢¤Ê¤¿¤Ï¡¤¤â¤·¥¯¥¨¥¹¥È¤Ë ! ¼ºÇÔ¤·¤¿¤é¡¤¤¢¤Ê¤¿¤¬Ìá¤ëÁ°¤Ë%n¤¬%H¤ÎÅÔ¤òÇ˲õ¤¹¤ë¤È¸À¤¦½ÅÂç¤Ê ! »öÂ֤˵¤¤¬¤Ä¤¤¤¿¡¥ %E %Cp S 00005 ! #"To succeed, you must walk like a butterfly on the wind." ! ¡ÖÀ®¸ù¤Î¤¿¤á¤Ë¤Ï¡¤Ä³¤Î¤è¤¦¤ËÊ⤫¤Í¤Ð¤Ê¤é¤Ê¤¤¡× %E %Cp S 00006 ! #"Ikaga desu ka?" ! ¡Ö¤â¤¦¤«¤ê¤Þ¤Ã¤«¡©¡× %E %Cp S 00007 ! #"I fear for The Land of The Gods." ! ¡Ö»ä¤Ï¿À¤ÎÃϤò¶²¤ì¤Æ¤¤¤ë¡× %E %Cp S 00008 ! #"%nC has hired the Ninja -- be careful." ! ¡Ö%n¤ÏǦ¼Ô¤ò¸Û¤Ã¤¿¤½¤¦¤À¡¥µ¤¤ò¤Ä¤±¤í¡¥¡× %E %Cp S 00009 ! #"If %o is not returned, we will all be ronin." ! ¡Ö¤â¤·%o¤¬¼ê¤ËÌá¤é¤Ê¤±¤ì¤Ð¡¤²æ¡¹¤Ï¤º¤Ã¤Èϲ¿Í¤Î¤Þ¤Þ¤À¡¥¡× %E %Cc S 00010 ! #"Ah, %p-san, it is good to see you again. I need someone who can ! #lead my samurai against %n. If you are ready, you will be ! #that person." ! ¡Ö¤ª¤ª%p¤è¡¤¤ª¤Þ¤¨¤Ë²ñ¤¨¤ÆÈó¾ï¤Ë´ò¤·¤¤¡¥»ä¤Ï%n¤Ë ! ÂФ·¤Æ²æ¤¬»øº²¤òƳ¤¯¼Ô¤òɬÍפȤ·¤Æ¤¤¤ë¡¥ ! ¤â¤·¡¤¤ª¤Þ¤¨¤Ë½àÈ÷¤¬¤Ç¤­¤Æ¤¤¤ë¤Ê¤é¡¤ ! ¤ª¤Þ¤¨¤¬¤½¤ÎÁª¤Ð¤ì¤¿¿Í´Ö¤À¡¥¡× %E %Cp S 00011 ! #"Once again, %p-san, you kneel before me. Are you yet capable of ! #being my vassal?" ! ¡Ö¤Þ¤¿Í褿¤Ê%p¤è¡¥»ä¤ÎÁ°¤Ë¤Ò¤¶¤Þ¤º¤±¡¥¤ª¤Þ¤¨¤Ë¤ï¤¿¤·¤Î¿Ã²¼ ! ¤Ë¤Ê¤ë¤À¤±¤Îµ»Î̤¬¤¢¤ë¤«¤Ê¡©¡× %E %Cp S 00012 ! #"You begin to test my matsu, %p-san. ! #If you cannot determine what I want in a samurai, how can I rely on you ! #to figure out what I need from a samurai?" ! ¡Ö¤ª¤Þ¤¨¤Ï»ä¤Î¾¾¤Î»îÎý¤ò¼õ¤±¤Ï¤¸¤á¤¿¡¤%p¤è¡¥¤â¤·¡¤¤ª¤Þ¤¨¤¬ ! »ä¤¬»ø¤Ë˾¤à¤Ù¤­¤â¤Î¤ò·è¤á¤«¤Í¤Æ¤¤¤ë¤Ê¤é¡¤¤É¤¦¤ä¤Ã¤Æ¤ª¤Þ¤¨¤ò¿®Íꤷ¤¿¤é ! ¤è¤¤¤Î¤À¡©¡× %E %Cp S 00013 ! #"You are no longer my samurai, %p. ! # ! #"Hara-kiri is denied. You are ordered to shave your head and then to ! #become a monk. Your fief and family are forfeit. Wakarimasu?" ! ¡Ö¤ª¤Þ¤¨¤Ï¤â¤Ï¤ä»ä¤Î»ø¤Ç¤Ï¤Ê¤¤¡¤%p¤è¡¥ ! ¡Ö¥Ï¥é¥­¥ê¤Ï¤ä¤á¤è¤¦¡¥Æ¬¤òÄæ¤ê¡¤ÁΤˤǤâ¤Ê¤ë¤¬¤è¤¤¡¥¤ª¤Þ¤¨¤Î ! ÎÎÃϤä²È²¤ÏË×¼ý¤¹¤ë¡¥¤ï¤«¤Ã¤¿¤«¡©¡× %E %Cp S 00014 ! #"%p-san, you have learned well and honored your family. ! #I require the skills of %Ra in order to defeat %n. ! #Go and seek out teachers. Learn what they have learned. When you ! #are ready, return to me." ! ¡Ö%p¤è¡¤¤ª¤Þ¤¨¤Ï¤è¤¯³Ø¤Ó¡¤²È²¤ò̾ÍÀ¤Ë»×¤Ã¤Æ¤¤¤ë¡¥¤ª¤Þ¤¨¤¬%n¤ò ! Åݤ¹¤Ë¤Ï%R¤¯¤é¤¤¤Îµ»Î̤¬É¬ÍפÀ¡¥ ! ¹Ô¤±¡ª¤½¤·¤Æ»Õ¤òÁܤ»¡ª¡¥³Ø¤Ö¤Ù¤­¤³¤È¤ò³Ø¤Ù¡ªÍÑ°Õ¤¬¤Ç¤­¤¿¤Ê¤é ! »ä¤Î¤È¤³¤í¤ØÌá¤Ã¤Æ¤¯¤ë¤Î¤À¡¥¡× %E %Cp S 00015 ! #"%p-san, you would do better to join the kyokaku. ! # ! #"You have skills, but until you can call upon the bushido to know when and ! #how to use them you are not samurai. When you can think %A and ! #act %A then return." ! ¡Ö%p¤è¡¥¶¢µÒ¤Ë²Ã¤ï¤Ã¤¿¤Û¤¦¤¬¤è¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«¡© ! ! ¡Ö¤ª¤Þ¤¨¤Ïµ»Î̤ò»ý¤Ã¤Æ¤¤¤ë¡¤¤·¤«¤·Éð»ÎÆ»¤Î¤Ê¤ó¤¿¤ë¤«¤òÃΤë¤Þ¤Ç¤Ï¡¤ ! ¤ª¤Þ¤¨¤Ï»ø¤Ç¤Ï¤Ê¤¤¡¥%a¤Ë¤Ä¤¤¤Æ¤è¤¯¹Í¤¨¡¤%a¤ò¼Â¹Ô¤· ! ¤½¤·¤ÆÌá¤ë¤¬¤è¤¤¡¥¡× %E %Cc S 00016 ! #"Domo %p-san, indeed you are ready. I can now tell you what ! #it is that I require of you. ! # ! #"The daimyo, %n, has betrayed us. He has stolen from us ! #%o and taken it to his donjon deep within ! #%i. ! # ! #"If I cannot show the emperor %o when he comes ! #for the festival he will know that I have failed in my duty, and ! #request that I commit seppuku. ! # ! #"You must gain entrance to %i and retrieve the ! #emperor's property. Be quick! The emperor will be here for the ! #cha-no-you in 5 sticks. ! # ! #"Wakarimasu?" ! ¡Ö%p¤è¡¤¼Â¤Ë¤¹¤Ð¤é¤·¤¤¡¥»ä¤Ï¤ªÁ°¤Ë»ä¤¬²¿¤òµá¤á¤Æ¤¤¤ë¤« ! ¹ð¤²¤è¤¦¡¥ ! ¡ÖÂç̾¤Î%n¤¬²æ¡¹¤ò΢Àڤä¿¡¥Èà¤Ï²æ¡¹¤«¤é%o¤òÅð¤ß¡¤ ! %i¤ÎÃϲ¼¿¼¤¯¤Ë»ý¤Áµî¤Ã¤¿¤Î¤À¡¥ ! ¡ÖÄ뤬º×¤Ë¤ä¤Ã¤Æ¤­¤¿¤È¤­¡¤%o¤ò¸¥¾å¤Ç¤­¤Í¤Ð¡¤Äë¤Ï»ä¤Î¼ºÇÔ¤Ë ! µ¤¤¬¤Ä¤­¡¤ÀÚÊ¢¤òÍ׵᤹¤ë¤Ç¤¢¤í¤¦¡¥ ! ! ¡Ö¤ª¤Þ¤¨¤Ï¡¤%i¤ËÆþ¤ê¡¤Äë¤Îºâ»º¤ò²ó¼ý¤»¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥µÞ¤²¡ª ! Äë¤Ï5Æü¸å¤ÎÃã¤ÎÅò¤ËÍè¤ë¤Î¤À¡¥ ! ! ¡Ö¤ï¤«¤Ã¤¿¤«¡©¡× %E %Cp S 00020 ! #"To defeat %n you must overcome the seven emotions: ! #hate, adoration, joy, anxiety, anger, grief, and fear." ! ¡Ö%n¤òÅݤ¹¤Ë¤Ï¡¤¤ª¤Þ¤¨¤Ï7¤Ä¤Î´¶¾ð¤òÂǤÁÇˤé¤Í¤Ð¤Ê¤é¤Ì¡§ ! Áþ¤·¤ß¡¤°¦Ê顤³Ú¤·¤ß¡¤É԰¡¤ÅܤꡤÈᤷ¤ß¡¤¤½¤·¤Æ¶²¤ì¤À¡¥¡× %E %Cp S 00021 ! #"Remember your honor is my honor, you perform in my name." ! ¡Ö¤ª¤Þ¤¨¤Î̾ÍÀ¤Ï»ä¤Î̾ÍÀ¤Ç¤¢¤ë¤³¤È¤ò˺¤ì¤ë¤Ê¡¤²æ¤¬Ì¾¤Î¤â¤È¤ÇÀ廊¡ª¡× %E %Cp S 00022 ! #"I will go to the temple and burn incense for your safe return." ! ¡Ö»ä¤Ï»û¤Ø¹Ô¤­¡¤¤ª¤Þ¤¨¤Î°ÂÁ´¤Î¤¿¤á¹á¤òʲ¤¯¤Ä¤â¤ê¤À¡¥¡× %E %Cp S 00023 ! #"Sayonara." ! ¡Ö¤µ¤é¤Ð¤À¡¥¡× %E %Cp S 00024 ! #"There can be honor in defeat, but no gain." ! ¡ÖÂǤÁÉ餫¤·¤¿ºÝ¤Ë¤ÏÎϤä¶â¤Ï¤Ê¤¤¤¬¡¤Ì¾ÍÀ¤¬¤¢¤ë¡¥¡× %E %Cp S 00025 ! #"Your kami must be strong in order to succeed." ! ¡ÖÀ®¸ù¤Î¤¿¤á¤Ë¤Ï¤ª¤Þ¤¨¤Î¿À¤Ï¶¯¼Ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥¡× %E %Cp S 00026 ! #"You are indeed a worthy %R, but now you must be a worthy samurai." ! ¡Ö¤ª¤Þ¤¨¤Ï¼Â¤Ë%R¤Ë¤Õ¤µ¤ï¤·¤¤¡¤¤·¤«¤·º£¤ä¤ª¤Þ¤¨¤Ï»ø¤È¤·¤Æ¤â ! ¤Õ¤µ¤ï¤·¤¯¤Ê¤±¤ì¤Ð¤Ê¤é¤Ì¡¥¡× %E %Cp S 00027 ! #"If you fail, %n will be like a tai-fun on the land." ! ¡Ö¤â¤·¤ª¤Þ¤¨¤¬¼ºÇÔ¤¹¤ë¤Ê¤é¡¤%n¤Ï¤³¤ÎÃϤÎÂæÉ÷¤Î¤è¤¦¤Ë¤Ê¤ë ! ¤Ç¤¢¤í¤¦¡¥¡× %E %Cp S 00028 ! #"If you are truly %A, %d will listen." ! ¡Ö¤â¤·¤ª¤Þ¤¨¤¬ËÜÅö¤Ë%a¤ò¼é¤Ã¤Æ¤¤¤ë¤Ê¤é¡¤%d¤Ïʹ¤­¤¤¤ì¤Æ¤¯ ! ¤ì¤ë¤À¤í¤¦¡¥¡× %E %Cp S 00029 ! #"Sharpen your swords and your wits for the task before you." ! ¡ÖǤ̳¤Î¤¿¤á¡¤¤ª¤Þ¤¨¤Î·õ¤ò¸¦¤®¡¤ÃηäòÃ䨤补¡× %E %Cc S 00030 ! #You instinctively reach for your swords. You do not recognize the ! #lay of this land, but you know that your teki are everywhere. ! ¤¢¤Ê¤¿¤Ïľ´¶Åª¤Ë·õ¤Ë¼ê¤¬¿­¤Ó¤¿¡¥¤¢¤Ê¤¿¤Ï¼«Ê¬¤¬¤É¤³¤Ë¤¤¤ë¤Î¤«¤ï¤«¤é¤Ê¤«¤Ã ! ¤¿¤¬¡¤Å¨¤¬¤¢¤Á¤³¤Á¤Ë¤¤¤ë¤Î¤À¤±¤Ï¤ï¤«¤Ã¤¿¡¥ %E %Cp S 00031 ! #Thankful that your %sp at %H cannot see ! #your fear, you prepare again to advance. ! %H¤Ë¤¤¤ë¤¢¤Ê¤¿¤Î%s¤¬¤¢¤Ê¤¿¤Î¶²ÉݤˤҤ­¤Ä¤Ã¤¿ ! ´é¤ò¸«¤ì¤Ê¤¤¤³¤È¤¬¹¬¤¤¤À¡¥¤¢¤Ê¤¿¤ÏÁ°¿Ê¤¹¤ë½àÈ÷¤ò¤·¤¿¡¥ %E %Cc S 00040 ! #In your mind, you hear the taunts of %n. ! # ! #You become like the rice plant and bend to the ground, offering a ! #prayer to %d. But when the wind has passed, you stand ! #proudly again. Putting your kami in the hands of fate, you advance. ! µ¤¤Î¤»¤¤¤«¡¤%n¤Î¤¢¤¶¤±¾Ð¤¤¤òʹ¤¤¤¿¡¥ ! ! ¤¢¤Ê¤¿¤Ï°ðÊæ¤Î¤è¤¦¤Ë¼ó¤ò¿â¤ì¡¤ÃÏÌ̤˶þÉú¤·¡¤ ! %d¤Ø¤Îµ§¤ê¤òÊû¤²¤¿¡¥°ì¿Ø¤ÎÉ÷¤¬Ä̤ꤹ¤®¤ë¤È¡¤ ! ¿À¤Î½ÉÌ¿¤ò¼ê¤Ë¡¤¤¢¤Ê¤¿¤Ï¤Þ¤¿Í¦¤Þ¤·¤²¤ËÁ°¿Ê¤·¤¿¡¥ %E %Cp S 00041 ! #As you arrive once again at the home of %n, your thoughts ! #turn only to %o. ! %n¤ÎÃϤؤ⤦°ìÅÙÌá¤ë¤È¤­¤Ï¡¤%o¤À¤±¤ò¹Í¤¨¤Æ ! ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥ %E %Cp S 00050 ! #"Ah, so it is to be you, %p-san. I offer you seppuku. ! #I will be your second if you wish." ! ¡Ö¤ª¤Þ¤¨¤«¡¤%p¤è¡¥ÀÚÊ¢¤¹¤ë¤È¤¤¤¦¼êÃʤ¬»Ä¤Ã¤Æ¤¤¤ë¤¾¤è¡¥ ! ¤ªÁ°¤¬Ë¾¤à¤Ê¤é¡¤²ðºø¿Í¤Ë¤Ê¤í¤¦¤¾¡¥¡× %E %Cp S 00051 ! #"I have offered you the honorable exit. Now I will have your ! #head to send unwashed to %l." ! ¡Ö̾ÍÀ¤¢¤ë»à¤ò´«¤á¤è¤¦¡¥¤µ¤¹¤ì¤Ð¡¤%l¤Ë¤ªÁ°¤ÎÀ¸¼ó¤ò ! ÆϤ±¤Æ¤ä¤ë¡¥¡× %E %Cp S 00052 ! #"After I have dispatched you, I will curse your kami." ! ¡Ö¤ªÁ°¤ò¤È¤Ã¤È¤È½è·º¤·¤Æ¡¤¤ª¤Þ¤¨¤Î¿À¤ò¼ö¤Ã¤Æ¤ä¤í¤¦¤¾¡¥¡× %E %Cp S 00053 ! #"You have fought my samurai; surely you must know that you ! #will not be able to take %o back to ! #%H" ! ¡Ö¤ªÁ°¤Ï»ä¤Î»ø¤ÈÀï¤Ã¤¿¡¥%o¤ò»ý¤Ã¤Æ ! %H¤Ëµ¢¤ë¤³¤È¤Ê¤ÉÉÔ²Äǽ¤Ç¤¢¤ë¤ÈÄˤ¤¤Û¤ÉÃΤ뤬¤è¤¤¡× %E %Cp S 00060 ! #"Ahh, I finally meet the daimyo of the kyokaku!" ! ¡Ö¤ª¤ª¡¤»ä¤Ï¤È¤¦¤È¤¦¶¢µÒ¤ÎÂç̾¤Ë²ñ¤Ã¤¿¡ª¡× %E %Cp S 00061 ! #"There is no honor for me in your death." ! ¡Ö¤ªÁ°¤Î»à¤Ê¤É»ä¤Ë¤È¤Ã¤Æ¤Ï̾ÍÀ¤Ç¤â¤Ê¤ó¤Ç¤â¤Ê¤¤¡¥¡× %E %Cp S 00062 ! #"You know that I cannot resash my swords until they have killed." ! ¡Ö²æ¤¬·õ¤Ï·ì¤òµá¤á¤Æ¤ä¤Þ¤Ê¤¤¡¥¡× %E %Cp S 00063 ! #"Your presence only compounds the dishonor of %l in not coming himself." ! ¡Ö¤ªÁ°¤Î¸ºß¤Ïñ¤Ë%l¤ÎÉÔ̾ÍÀ¤ò¹â¤á¤ë¤À¤±¤À¡¥¡× %E %Cp S 00064 ! #"I will make tea with your hair and serve it to %l." ! ¡Ö¤ªÁ°¤Îȱ¤ÇÃã¤òʨ¤«¤·¡¤%l¤ËÊû¤²¤è¤¦¡¥¡× %E %Cp S 00065 ! #"Your fear shows in your eyes, coward!" ! ¡Ö¤ªÁ°¤Î¶²ÉÝ¿´¤¬Ìܤ˸«¤¨¤ë¤¾¡¤²±É¼Ԥᡪ¡× %E %Cp S 00066 ! #"I have not heard of you, %p-san; has your life been that unworthy?" ! ¡Ö"%p¡©ÃΤé¤Ê¤¤¤Ê¡¥¤ªÁ°¤Î¸ºß¤Ê¤É°ìÊҤβÁÃͤâ¤Ê¤¤¡× %E %Cp S 00067 ! #"If you will not obey me, you will die." ! ¡Ö½¾¤ï¤Í¤Ð¡¤»à¤¢¤ë¤Î¤ß¡¥¡× %E %Cp S 00068 ! #"Kneel now and make the two cuts of honor. I will tell your %sp ! #of your honorable death." ! ¡Ö¤Ò¤¶¤Þ¤º¤±¡¤Ì¾ÍÀ¤ò¼Î¤Æ¤è¡¥¤µ¤¹¤ì¤Ð¤ªÁ°¤Î%s¤Ë ! ̾ÍÀ¤Î»à¤òÅÁ¤¨¤Æ¤ä¤í¤¦¡× %E %Cp S 00069 ! #"Your master was a poor teacher. You will pay for his mistakes in ! #your teaching." ! ¡Ö¤ªÁ°¤Î»Õ¤Ï´ÖÈ´¤±¤À¤Ê¡¥Èà¤Î¶µ¤¨´Ö°ã¤¤¤ÎÊ󤤤ò¼õ¤±¤ë¤¬¤è¤¤¡× %E %Cc S 00070 ! #As you pick up %o, you feel the strength of its karma. ! #You realize at once why so many good samurai had to die to defend it. ! #You are humbled knowing that you hold one of the artifacts of the ! #sun god. ! %o¤ò½¦¤¦¤È¡¤¤½¤Î¥«¥ë¥Þ¤Î¶¯¤µ¤ò´¶¤¸¤¿¡¥ ! ¤¢¤Ê¤¿¤Ïľ¤Á¤Ë¡¤¤Ê¤¼Â¿¤¯¤Î»ø¤¬¤½¤ì¤ò¼é¤ë¤¿¤á¤Ë»à¤ó¤À¤Î¤«¤ò ! ¸ç¤Ã¤¿¡¥¤¢¤Ê¤¿¤ÏÂÀÍÛ¿À¤ÎÀ»´ï¤Î£±¤Ä¤ò¼ê¤Ë¤·¤¿¤³¤È¤òÃΤäƸ¬µõ ! ¤Êµ¤»ý¤Ë¤Ê¤Ã¤¿¡¥ %E %Cc S 00080 ! #Your healing skills tell you that %ns wounds are mortal. ! # ! #You know that the bushido tells you to finish him and let his kami ! #die with honor, but the thought of so many samurai dead due to this ! #man's dishonor prevents you from giving the final blow. ! # ! #You order that his unwashed head be given to the crows and his body ! #thrown into the sea. ! %n¤Î½ý¤ÏÃ×Ì¿½ý¤Ç¤¢¤ë¤³¤È¤¬´¶³ÐŪ¤Ë¤ï¤«¤Ã¤¿¡¥ ! ! ¤¢¤Ê¤¿¤ÏÉð»ÎÆ»¤Ç¤Ï¼ç¤Î¤¿¤á¡¤¤Þ¤¿¤Ï¼ç¤Î¿À¤Î¤¿¤á¤Ë»à¤Ì¤³¤È¤Ï̾ÍÀ¤Ç¤¢¤ë¤È ! ¶µ¤¨¤Æ¤¤¤ë¤³¤È¤òÃΤäƤ¤¤ë¡¥¤·¤«¤·¡¤¤³¤ÎÉÔ̾ÍÀ¤ÊÃˤΤ¿¤á¤Ë»à¤ó¤À¿ô¿¤¯ ! ¤Î»ø¤Ø¤Î»×¤¤¤¬¤È¤É¤á¤Î°ì·â¤òÍ¿¤¨¤ë¤³¤È¤ò˸¤²¤¿¡¥ ! ¤¢¤Ê¤¿¤ÏÈà¤ÎÀ¸¼ó¤ò¥«¥é¥¹¤ËÍ¿¤¨¡¤Èà¤ÎÂΤò³¤¤ØÅꤲ¤ë¤³¤È¤Ë¤·¤¿¡¥ %E %Cc S 00081 ! #As you bow before %l, he welcomes you: ! # ! # You have brought your family great honor, %p-sama. ! # ! # While you have been gone the emperor's advisors have discovered in ! # the ancient texts that the karma of the samurai who seeks to recover ! # the amulet and the karma of %o are joined ! # as the seasons join to make a year. ! # ! # Because you have shown such fidelity, the emperor requests ! # that you take leave of other obligations and continue on the ! # road that fate has set your feet upon. I would consider it ! # an honor if you would allow me to watch your household until ! # you return with the amulet. ! # ! #With that, %l bows, and places his sword atop ! #%o. ! %l¤ËÎé¤ò¤¹¤ëÁ°¤Ë¡¤Èà¤Ï¤¢¤Ê¤¿¤ò·Þ¤¨¤¿¡§ ! ! ¤¢¤Ê¤¿¤Ï²È²¤Ë°ÎÂç¤Ê̾ÍÀ¤ò¤â¤¿¤é¤·¤Þ¤·¤¿¡¤%pÍÍ¡¥ ! ! ¤¢¤Ê¤¿¤¬¹Ô¤¯Á°¤ËÄë¤Î½¾¼Ô¤¬¸ÅÂå¤Îʸ¸¥¤ÎÃæ¤ËËâ½ü¤±¤ò¼è¤êÌ᤹ ! ¤¿¤á¤Ëõº÷¤¹¤ë»ø¤Î¥«¥ë¥Þ¤òȯ¸«¤·¡¤%o¤Î¥«¥ë¥Þ¤Ï ! »Íµ¨¤Îµ¨Àá¤È¤·¤Æ·ë¤Ó¤Ä¤±¤é¤ì¤Æ¤¤¤ë¤³¤È¤òȯ¸«¤·¤Þ¤·¤¿¡¥ ! ! ¤¢¤Ê¤¿¤ÎÃéÀ¿¿´¤ò¸«¤Æ¡¤Äë¤Ï¤¢¤Ê¤¿¤¬Â¾¤ÎµÁ̳¤òÊü´þ¤·¡¤¤¢¤Ê¤¿¤Î½ÉÌ¿¤Î ! Æ»¤ò¤¿¤É¤ë¤³¤È¤òµá¤á¤Þ¤·¤¿¡¥¤â¤·¤¢¤Ê¤¿¤¬Ëâ½ü¤±¤ò»ý¤Ã¤Æ¤¯¤ë ! ¤Þ¤Ç¤ï¤¿¤·¤¬¤¢¤Ê¤¿¤Î²È²¤ÎÀ¤Ïäò¤·¤Æ¤â¤è¤¤¤Ê¤é¡¤¤½¤ì¤Ï ! Èó¾ï¤Ë̾ÍÀ¤Ê¤³¤È¤Ç¤¹¡¥ ! ¤³¤Î¤è¤¦¤Ë%l¤ÏÎé¤ò¤·¡¤Èà¤Î·õ¤òº¹¤·½Ð¤·¤¿¡¥ %E %Cp S 00090 ! #%lC bows. "%p-sama, tell us of your search for the Amulet." ! %l¤ÏÎé¤ò¤·¤¿¡¥¡Ö%pÍÍ¡¤Ëâ½ü¤±Ãµº÷¤ÎÏäò¤ªÊ¹¤«¤»¤¯¤À¤µ¤¤¡¥¡× %E %Cc S 00091 ! #"Ah, %p-sama. You have wasted your efforts returning home. ! #Now that you are in possession of the Amulet, you are honor-bound to ! #finish the quest you have undertaken. There will be plenty of time ! #for saki and stories when you have finished. ! # ! #"Go now, and may our prayers be a wind at your back." ! ¡Ö¤ª¤ª%pÍÍ¡¤¸Î¶¿¤Ëµ¢¤ë¤Ë¤Ï̵Â̤ʤ³¤È¤ò¤·¤Æ¤ª¤ê¤Þ¤¹¡¥ ! º£¤ä¡¤¤¢¤Ê¤¿¤ÏËâ½ü¤±¤Î½êÍ­¼Ô¤Ç¤¹¡¥¤¢¤Ê¤¿¤¬ÀÁ¤±Éé¤Ã¤Æ¤¤¤ëËÁ¸±¤ò ! ½ªÎ»¤¹¤ë¤³¤È¤Ï̾ÍÀ¤Ê¤³¤È¤Ç¤¹¡¥Ìµ»ö½ªÎ»¤·¤¿ºÝ¤Ë¤Ï¡¤¼ò±ã¤ÈËÁ¸±ÃÌ ! ¤Î¤¿¤á¤Ë¤¢¤Þ¤ë¤Û¤É¤Î»þ´Ö¤¬¤¢¤ë¤Ç¤·¤ç¤¦¡¥ ! ¡Ö¤ª¿Ê¤ß¤¯¤À¤µ¤¤¡¤¤¢¤Ê¤¿¤Ë²æ¡¹¤Îµ§¤ê¤Î¤¢¤é¤ó¤³¤È¤ò¡¥¡× %E # # Tourist # %Cc T 00001 ! #You breathe a sigh of relief as you find yourself back in the familiar ! #surroundings of %H. ! # ! #You quickly notice that things do not appear the way they did when you ! #left. The town is dark and quiet. There are no sounds coming from ! #behind the town walls, and no campfires burning in the fields. As a ! #matter of fact, you do not %x any movement in the fields at all, and ! #the crops look as though they have been untended for many weeks. ! # ! ¤¢¤Ê¤¿¤Ï¸«´·¤ì¤¿%H¤ÎÉßÃϤˤĤ¤¤Æ°ÂÅȤΰ쩤ò¤Ä¤¤¤¿¡¥ ! ¤·¤«¤·¡¤¤³¤³¤òÎ¥¤ì¤¿»þ¤È¤Ï¤Ê¤ó¤À¤«°ã¤¦¤Î¤Ëµ¤ÉÕ¤¤¤¿¡¥ ! Ä®¤Ï°Å¤¯¡¤ÀŤޤêÊ֤äƤ¤¤ë¡¥Ä®¤ÎÊɤθþ¤³¤¦Â¦¤«¤é¤Ï¤Ê¤Ë¤â²»¤¬Ê¹¤³¤¨¤º¡¤ ! ¹­¾ì¤Ç¤Î¥­¥ã¥ó¥×¥Õ¥¡¥¤¥¢¡¼¤â¸«Åö¤¿¤é¤Ê¤¤¡¥ ! ¤È¤¤¤¦¤è¤ê¡¤¹­¾ì¤Ç¤Ï²¿¤ÎÆ°¤­¤â´¶¤¸¤é¤ì¤º¡¤ºîʪ¤Ï²¿½µ´Ö ! ¤Ë¤âÅϤäƼêÆþ¤ì¤µ¤ì¤Æ¤¤¤Ê¤¤¤è¤¦¤À¡¥ %E %Cp T 00002 ! #Once again, you are back at %H. ! # ! ¤¢¤Ê¤¿¤ÏºÆ¤Ó%H¤Ø¤ÈÌá¤Ã¤Æ¤­¤¿¡¥ %E %Cp T 00003 ! #You are back at %H. ! #Things appear to have become so bad that you fear that soon ! #%H will not be here to return to. ! # ! ¤¢¤Ê¤¿¤Ï%H¤Ø¤ÈÌá¤Ã¤Æ¤­¤¿¡¥ ! ! ¾õ¶·¤¬¤Ò¤É¤¯¤Ê¤ê¤¹¤®¤Æ¡¤ ! µ¢¤Ã¤Æ¤¯¤ëº¢¤Ë¤Ï%H¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¤Ï¤Ê¤¤¤«¤È´í×ü¤·¤¿¡¥ %E %Cp T 00005 ! #"Gehennom on 5 zorkmids a day -- more like 500 a day if you ask me." ! # ! ¡Ö¥²¥Ø¥Ê¤Ç°ìÆü£µ¥´¡¼¥ë¥É¤À¤Ã¤Æ¡©£µ£°£°¤Î´Ö°ã¤¤¤¸¤ã¤¡¤Ê¤¤¤Î¤«¤¤¡©¡× %E %Cp T 00006 ! #"Do you know where I could find some nice postcards of The Gnomish Mines?" ! # ! ¡Ö¥Î¡¼¥à¤Îú¹£¤Î¤­¤ì¤¤¤Ê³¨ÍÕ½ñ¤òÇä¤Ã¤Æ¤ë¤È¤³¤íÃΤê¤Þ¤»¤ó¡©¡× %E %Cp T 00007 ! #"Have you tried the weird toilets?" ! # ! ¡Ö¤¢¤Î¡¼¡¥ÊѤʥȥ¤¥ì¤ò»È¤Ã¤¿¤³¤È¤¢¤ê¤Þ¤¹¡©¡× %E %Cp T 00008 ! #"Don't stay at the Inn, I hear the food is terrible and it has rats." ! # ! ¡Ö½É¤Ë¤ÏÇñ¤Þ¤é¤Ê¤¤Êý¤¬¤¤¤¤¤è¡¥¿©»ö¤¬¤Ò¤É¤¯¤Æ¡¤ ! ¡¡¤ª¤Þ¤±¤ËÁͤ¬¤Ç¤ë¤ó¤À¤Ã¤Æ¤µ¡¥¡× %E %Cp T 00009 ! #"They told me that this was the off season!" ! # ! ¡Ö¤¨¡¼¡¥Ê¹¤¤¤Æ¤Ê¤¤¤è¡¼¡¥º£¤¬¥ª¥Õ¥·¡¼¥º¥ó¤¸¤ã¤Ê¤«¤Ã¤¿¤Î¡©¡× %E %Cc T 00010 ! #"Is it really you, %p! I had given up hope for your return. ! #As you can %x, we are desperately in need of your talents. Someone must ! #defeat %n if our town is become what it once was. ! # ! #"Let me see if you are ready to be that someone." ! # ! ¡Ö¤ä¤ä¡¤%p·¯¤«¤¤¡¥Ìá¤Ã¤Æ¤¯¤ë¤È¤Ï»×¤ï¤Ê¤«¤Ã¤¿¤è¡¥ ! ·¯¤Ë¤âʬ¤«¤ë¤È»×¤¦¤¬¡¤²æ¡¹¤Ï¥Ò¥¸¥ç¡¼¤Ëº¤¤Ã¤Æ¤ë¤ó¤À¡¥ ! ¡¡Ã¯¤«¤¬%n¤òÅݤµ¤Í¤Ð¡¤Ä®¤Ï¤â¤È¤Î¤è¤¦¤ËÌá¤é¤Ê¤¤¤ó¤À¡¥¡× ! ¡Ö·¯¤¬²æ¡¹¤ò½õ¤±¤ë¤ËÃͤ¹¤ë¤Û¤É¤«³Î¤«¤á¤Æ¤ß¤è¤¦¡¥¡× %E %Cp T 00011 ! #"Things are getting worse, %p. ! #I hope that this time you are ready." ! # ! ¡Ö¾õ¶·¤Ï¹ï°ì¹ï°­²½¤·¤Æ¤ë¤ó¤À¡¤%p·¯¡¥ ! ¡¡º£²ó¤ÏÍѰդǤ­¤Æ¤¤¤ë¤À¤í¤¦¤Í¡¥¡× %E %Cp T 00012 ! #"I hope that for the sake of %H you have prepared ! #yourself this time." ! # ! ¡Ö%H¤Î¤¿¤á¤Ë¤â¡¤º£²ó¤Ï½àÈ÷¤·¤Æ¤­¤¿¤À¤í¤¦¤Í¡¥¡× %E %Cc T 00013 ! #"It is too late, %p. You are not even worthy to die amongst us. ! #Leave %H and never return." ! # ! ¡ÖÃÙ¤¹¤®¤¿¤Í¡¤%p·¯¡¥·¯¤Ï²æ¡¹¤ÎÃç´Ö¤È¤·¤Æ»à¤Ì¤Ë¤âÃͤ·¤Ê¤¤¡¥ ! ¡¡%H¤òÎ¥¤ì¤Æ¡¤ÆóÅ٤ȵ¢¤Ã¤Æ¤¯¤ë¤Ê¡¥¡× %E %Cc T 00014 ! #"There is still too much that you have to learn before you can undertake ! #the next step. Return to us as a proven %R, and perhaps then ! #you will be ready. ! # ! #"Go back now, and may the teachings of %d serve you well." ! # ! ¡Ö·¯¤Ï¼¡¤Î¹ÔÆ°¤òµ¯¤³¤¹Á°¤Ë¤â¤Ã¤È³Ø¤Ð¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¡¥ ! ¡¡%R ¤È¤·¤Æ²æ¡¹¤ÎÁ°¤Ëµ¢¤Ã¤Æ¤³¤ì¤¿¤é¡¤¤â¤·¤«¤·¤¿¤éÍÑ°Õ ! ¡¡¤Ç¤­¤Æ¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥¡× ! ¡Ö¤µ¤µ¡¤Ìá¤ê¤¿¤Þ¤¨¡¥¤ó¤Ç¡¤%d¤Î¶µ¤¨¤¬·¯¤Î°Ù¤Ë¤Ê¤é¤ó¤³¤È¤ò¡¥¡× %E %Cc T 00015 ! #"It would be an affront to %d to have one not true to the ! #%a path undertake her bidding. ! # ! #"You must not return to us until you have purified yourself of these ! #bad influences on your actions. Remember, only by following the %a ! #path can you hope to overcome the obstacles you will face." ! # ! ¡Ö%a¤Ç¤Ê¤¤Æ»¤òÊâ¤à¤â¤Î¤ò¤³¤Î»îÎý¤ËÁ÷¤ë¤³¤È¤Ï%d¤ËÂФ· ! ÉÔÄç¤òƯ¤¯¤³¤È¤Ë¤Ê¤ë¡¥¡× ! ¡Ö·¯¤Ï¼«¤é¤Î¶È¤òÀ¶¤á¤ë¤Þ¤Ç¤ï¤ì¤ï¤ì¤Î¸µ¤Ëµ¢¤Ã¤Æ¤¯¤ë¤Ê¡¥ ! ¤½¤·¤Æ³Ð¤¨¤Æ¤ª¤±¡¥%a¤ÊÆ»¤À¤±¤ò¿Ê¤³¤È¤Ë¤è¤Ã¤Æ·¯¤Ï¤µ¤é¤Ê¤ë ! »îÎý¤ËΩ¤Á¸þ¤«¤¦¤³¤È¤¬¤Ç¤­¤ë¤ó¤À¡¥¡× %E %Cc T 00016 ! #"You have indeed proven yourself a worthy %c, %p. ! # ! #"But now your kinfolk and I must ask you to put aside your travels and ! #help us in our time of need. After you left us we elected a new mayor, ! #%n. He proved to be a most heinous and vile creature. ! # ! #"Soon after taking office he absconded with %o ! #and fled town, leaving behind his henchmen to rule over us. In order ! #for us to regain control of our town, you must enter %i ! #and recover %o. ! # ! #"Do not be distracted on your quest. If you do not return quickly I fear ! #that all will be lost. Let us both pray now that %d will guide you ! #and keep you safe." ! # ! ¡Ö³Î¤«¤Ë·¯¤Ï¤·¤ç¡¼¤·¤ó¤·¤ç¡¼¤á¡¼¤Î%c¤À¡¤%p·¯¡¥¡× ! ! ¡Ö¤·¤«¤·¡¤»äµÚ¤Ó²æ¤¬°ì²¤Ï·¯¤Ëι¤ò°ì»þµÙ»ß¤·¤Æ ! ¤³¤Îº¤¤Ã¤Æ¤ë¾õ¶·¤Ë¤ª¤¤¤Æ½õ¤±¤Æ¤Û¤·¤¤¡¥·¯¤¬Î¹¤Ë½Ð¤¿Ä¾¸å¡¤ ! %n¤¬¿·¤·¤¤Ä®Ä¹¤È¤·¤ÆÅöÁª¤·¤¿¤ó¤À¤¬¡¤ ! ÅۤϻÄǦ¤Ë¤·¤Æ¾ð¤±ÍƼϤʤ¤¡¤¤È¤ó¤Ç¤â¤Ê¤¤¤ä¤Ä¤À¤Ã¤¿¤ó¤À¡¥¡¥¡× ! ! ¡ÖĮĹ¤Ë¤Ê¤Ã¤Æ¤«¤é¤È¤¤¤¦¤â¤Î¡¤ÅÛ¤Ï%o¤ò ! Åð¤ß¤À¤·¡¤ Ä®¤ò¼«Ê¬¤Î¼ê²¼¤É¤â¤Ë¹¥¤­¤Ê¤è¤¦¤ËǤ¤»¡¤ ! Ä®¤ò½Ð¤Æ¤¤¤Ã¤¿¡¥²æ¡¹¤¬¤³¤ÎÄ®¤ò¸µ¤ËÌ᤹¤¿¤á¤Ë¤Ï·¯¤Ë ! %i¤Ë¤¤¤Ã¤Æ¤â¤é¤¤¡¤%o¤ò ! ¼è¤Ã¤Æ¤­¤Æ¤â¤é¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥¡× ! ! ¡ÖÆ»Áð¤ò¿©¤¦¤è¤¦¤Ê¤³¤È¤Ï¤·¤Ê¤¤¤Ç¤¯¤ì¡¥¤â¤··¯¤¬Á᤯µ¢¤Ã¤Æ¤³¤ì¤Ê¤± ! ¤ì¤Ð²æ¡¹¤ÏÁ´¤Æ¤ò¼º¤Ã¤Æ¤·¤Þ¤¦¤«¤â¤·¤ì¤Ê¤¤¤ó¤À¡¥%d¤¬ ! ·¯¤òƳ¤­¡¤°ÂÁ´¤Ë¼é¤Ã¤Æ¤¯¤ì¤ë¤³¤È¤òµ§¤í¤¦¡¥¡× ! %E %Cp T 00020 ! #"Do not be fooled by the false promises of %n." ! # ! ¡Ö%n¤Î¸ý¼Ö¤Ë¤Î¤ë¤Ê¡¥ÅÛ¤Ïɬ¤ºÎ¢Àڤ롥¡× %E %Cp T 00021 ! #"To enter %i you must pass many traps." ! # ! ¡Ö%i¤ËÆþ¤ë¤¿¤á¤Ë¤ÏÍÍ¡¹¤Ê櫤ò¤¯¤°¤êÈ´¤±¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Ã¤¹¡¥¡× %E %Cp T 00022 ! #"If you do not return with %o, your quest ! #will be in vain." ! # ! ¡Ö%o¤Ê¤¯¤·¤Æµ¢¤Ã¤Æ¤­¤¿¤é¡¤¤¢¤Ê¤¿¤Î¤·¤Æ¤­¤¿ ! ¤³¤È¤Ï¤Ê¡¼¤ó¤Î°ÕÌ£¤â»ý¤¿¤Ê¤¤¡¥¡× %E %Cp T 00023 ! #"Do not be afraid to call upon %d if you truly need help." ! # ! ¡Ö¤É¤¦¤·¤Æ¤â½õ¤±¤¬É¬Íפʤ顤¤¿¤á¤é¤ï¤º¤Ë%d¤Ëµ§¤ê¤Ê¤µ¤¤¡¥¡× ! %E %Cp T 00024 ! #"If you do not destroy %n, he will follow you back here!" ! # ! ¡Ö%n¤òÅݤµ¤Ê¤±¤ì¤Ð¡¤%n¤Ï¤¢¤Ê¤¿¤ò¤³¤³¤Þ¤ÇÄɤäƤ­¤Þ¤¹¤è¡¥¡× ! %E %Cp T 00025 ! #"Take %o from %n ! #and you may be able to defeat him." ! # ! ¡Ö%n¤«¤é%o¤ò¤È¤ë¤³¤È¤¬½ÐÍ褿¤é ! %n¤òÅݤ¹¤³¤È¤¬½ÐÍè¤ë¤«¤â¤·¤ì¤Ê¤¤¤Ã¤¹¡¥¡× %E %Cp T 00026 ! #"You must hurry, %p!" ! # ! ¡Ö%p¡¤µÞ¤®¤Ê¤µ¤¤¡ª¡× %E %Cp T 00027 ! #"You are like %Sa to me, %p. Do not let me down." ! # ! ¡Ö%p·¯¡¤»ä¤Ë¤È¤Ã¤Æ·¯¤Ï%S¤Î¤è¤¦¤Ê¤â¤Î¤À¡¥ ! ´üÂÔ¤ò΢ÀÚ¤ë¤è¤¦¤Ê¤³¤È¤Ï¤·¤Ê¤¤¤Ç¤¯¤ì¡¥¡× %E %Cp T 00028 ! #"If you are %a at all times you may succeed, %p." ! # ! ¡Ö%p·¯¡¤·¯¤¬¾ï¤Ë%a¤Ç¤¢¤ë¤Ê¤é¤Ð¡¤ ! ¤â¤·¤«¤·¤¿¤éÀ®¸ù¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥¡× %E %Cp T 00029 ! #"Let all who meet you on your journey know that you are on an quest for ! #%l and grant safe passage." ! # ! ¡Öι¤ÎÅÓÃæ¤Ç²ñ¤¦Á´¤Æ¤Î¼Ô¤¬·¯¤Ë°ÂÁ´¤Ç¤¢¤ë¤è¤¦¤Ë¡¤ ! ·¯¤¬%l¤Î°Ù¤Ëι¤Ë½Ð¤Æ¤¤¤ë¡¤ ! ¤È¤¤¤¦¤³¤È¤òÃΤ餻¤Æ¤ª¤¤¤¿¤Û¤¦¤¬¤¤¤¤¡¥¡× %E %Cp T 00030 ! #Only your faith in %d keeps you from trembling. You %x ! #the handiwork of %ns henchlings everywhere. ! # ! %d¤ËÂФ¹¤ë¿®¶Ä¤À¤±¤¬¤¢¤Ê¤¿¤ò¶²Éݤ«¤é±ó¤¶¤±¤Æ¤¤¤ë¤è¤¦¤À¡¥ ! ¤¢¤Ê¤¿¤Ï%n¤Î¤´¤í¤Ä¤­¤É¤â¤Îºî¤Ã¤¿¤â¤Î¤ò¤½¤³¤é¤¸¤å¤¦¤Ç¸«¤«¤±¤¿¡¥ %E %Cp T 00031 ! #You know that this time you must find and destroy %n. ! # ! º£²ó¤³¤½¤¢¤Ê¤¿¤Ï%n¤òõ¤·¤ÆÅݤµ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¤ ! ¤È´¶¤¸¤¿¡¥ %E %Cp T 00040 ! #You sense the presence of %o. ! # ! ¤¢¤Ê¤¿¤Ï%o¤¬¤³¤³¤Î¤É¤³¤«¤Ë ! ¤¢¤ë¤³¤È¤Ëµ¤¤Å¤¤¤¿¡¥ %E %Cp T 00041 ! #You gain confidence, knowing that you may soon be united with ! #%o. ! # ! ¤¢¤Ê¤¿¤Ï¤â¤¦¾¯¤·¤·¤¿¤é%o¤È¶¦¤Ë¤Ê¤ì¤ë¡¤ ! ¤È¤¤¤¦¤³¤È¤Ç¼«¿®¤ò¼è¤êÌᤷ¤¿¡¥ %E %Cc T 00050 ! #"So, %p, %l thinks that you can wrest ! #%o from me! ! # ! #"It only proves how desperate he has become that he sends %ra to ! #try and defeat me. When this day is over, I will have you enslaved ! #in the mines where you will rue the day that you ever entered ! #%i. ! # ! ¡Ö¤Û¤Û¤¦¡¤%p¡¤%l¤Ï¤ªÁ°¤´¤È¤­¤¬»ä¤«¤é ! %o¤ò¼è¤êÊÖ¤»¤ë¤È»×¤Ã¤Æ¤¤¤ë¤Î¤«¡ª¡× ! ¡Ö%rÄøÅ٤먵û¤ò»ä¤Î¤â¤È¤ËÁ÷¤ê¤Ä¤±¤ë¤È¤Ï¾Ð»ß¤Ê¡¥ ! ¤è¤Û¤ÉÉô²¼¤Ë·Ã¤Þ¤ì¤Æ¤¤¤Ê¤¤¤é¤·¤¤¡¥º£Æü¤È¤¤¤¦Æü¤¬½ª¤ï¤Ã¤¿¤é¡¤ ! ¤ªÁ°¤òÃϲ¼¤Î±ü¿¼¤¯¤ÇƯ¤«¤»¡¤%i¤ËÍ褿¤³¤È¤ò¤¦¤ó¤È ! ¸å²ù¤µ¤»¤Æ¤ä¤í¤¦¡¥¡× %E %Cc T 00051 ! #"I let you live the last time because it gave me pleasure. This time I will ! #destroy you, %p." ! ¡Ö¤³¤ÎÁ°»ä¤¬¤ªÁ°¤òÀ¸¤«¤·¤Æ¤ª¤¤¤¿¤Î¤Ï¡¤¤³¤Î¾å¤Ê¤¯³Ú¤·¤Þ¤»¤Æ¤â¤é¤Ã¤¿¤«¤é ! ¤À¡¥¤·¤«¤·%p¡¤º£²ó¤ÏËÜÅö¤Ë»¦¤¹¡ª¡× %E %Cp T 00052 ! #"These meetings come to bore me. You disturb my workings with ! #%o. ! # ! #"If you do not run away now, I will inflict so much suffering on you that ! #%l will feel guilty for ever having sent his %S to me!" ! # ! ¡Ö¤Ê¤ó¤À¤«¤³¤¦¤·¤Æ¤ªÁ°¤È²¿²ó¤â²ñ¤¦¤Î¤â¤Ä¤Þ¤é¤ó¡¥ ! »ä¤È%o¤ò¼ÙË⤷¤Æ¤ë¤À¤±¤À¡¥¡× ! ¡Ö¤â¤·»ä¤ÎÁ°¤«¤é¼º¤»¤Ê¤±¤ì¤Ð¡¤¤ªÁ°¤Ë¤³¤Î¾å¤Ê¤¤¶ì¤·¤ß¤òÌ£¤ï¤»¤Æ¤¯¤ì¤ë¡¥ ! ¤½¤¦¤¹¤ì¤Ð¡¤%l¤Ï¼«Ê¬¤Î%S¤ò»ä¤Î¸µ¤ËÁ÷¤Ã¤¿¤³¤È¤ò¤µ¤¾¤ä ! ¸å²ù¤¹¤ë¤À¤í¤¦¡¥¡× %E %Cp T 00053 ! #"You fool. You do not know how to call upon the powers of%o. ! # ! # ! #"Return it to me and I will teach you how to use it, and together we ! #will rule %H. But do so now, as my patience ! #grows thin." ! ! ¡Ö¶ò¤«¼Ô¤¬¡ª¤ªÁ°¤Ë%o¤ò°·¤¦ ! Ãμ±¤Ï¤Ê¤¤¤À¤í¤¦¤¬¡¥¡× ! ! ¡Öº£»ä¤Ë¤½¤ì¤òÊÖ¤»¤Ð¤½¤ì¤Î»È¤¤Êý¤ò¶µ¤¨¤Æ¤ä¤ë¡¥ ! ¤½¤ì¤Ç¤â¤Ã¤Æ¡¤Æó¿Í¤Ç%H¤ò»ÙÇÛ¤·¤è¤¦¡¥¤¿¤À¡¤º£¤¹¤°ÊÖ¤»¡¥ ! »ä¤Ïµ¤¤¬Ã»¤¤¤ó¤Ç¤Í¡¥¡× %E %Cp T 00060 ! #"I defeated %l and I will defeat you, %p." ! # ! ¡Ö»ä¤Ï%l¤Ë¾¡¤Ã¤¿¡¥¤½¤·¤Æº£Å٤ϤªÁ°¤Ë¾¡¤ÄÈÖ¤À¡¤%p¡¥¡× %E %Cp T 00061 ! #"Where is %d now! You must realize no one can help you here." ! # ! ¡Ö%d¤È¤ä¤é¤Ï¤³¤³¤Ë¤Ï¤¤¤Ê¤¤¡¥¤³¤³¤Ç¤ªÁ°¤ò½õ¤±¤ë¤â¤Î¤Ê¤¾ ! ï¤â¤¤¤Ê¤¤¡¥¡× ! %E %Cp T 00062 ! #"Beg for mercy now and I may be lenient on you." ! # ! ¡ÖÏÍ¤Ó¤í¡¥¤½¤¦¤¹¤ì¤Ð½õ¤±¤Æ¤ä¤é¤Ê¤¤¤³¤È¤â¤Ê¤¤¡¥¡× %E %Cp T 00063 ! #"If you were not so %a, you might have stood a chance." ! # ! ¡Ö¤½¤ì¤Û¤É%a¤Ç¤Ê¤±¤ì¤Ð¡¤¤â¤·¤«¤·¤¿¤é¸ß³Ñ¤ËÀ廊¤¿¤«¤â¤·¤ì¤Ê¤¤¡¥¡× %E %Cp T 00064 ! #"Vengeance is mine at last, %p." ! # ! ¡ÖºÇ¸å¤Ë¾¡¤Ä¤Î¤Ï»ä¤À¡¤%p¡× %E %Cp T 00065 ! #"I only wish that %l had a more worthy %r to send against me." ! # ! ¡Ö¼å¤¤¡ª%l¤â¤â¤¦¾¯¤·¹ü¤Î¤¢¤ë%r¤òÁ÷¤ê½Ð¤»¤Ð¤è¤«¤Ã¤¿¤â¤Î¤ò¡¥¡× %E %Cp T 00066 ! #"With %o in my possession you cannot ! #hope to defeat me." ! # ! ¡Ö%o¤¬»ä¤Î¼ê¸µ¤Ë¤¢¤ë°Ê¾å¡¤ ! ¤ªÁ°¤Ë¾¡¤Ä¸«¹þ¤ß¤Ï¤Ê¤¤¡ª¡× %E %Cp T 00067 ! #"%nC has never been defeated, NEVER!" ! # ! ¡Ö%n¤Ï°ìÅÙ¤¿¤ê¤È¤âÉ餱¤¿¤³¤È¤Ï¤Ê¤¤¤Î¤À¡¥°ìÅÙ¤â¤Ê¡¥¡× %E %Cp T 00068 ! #"Are you truly the best %H has to send against me? ! #I pity %l." ! # ! ¡Ö¤ªÁ°¤ÏËÜÅö¤Ë%H¤Ç°ìÈÖ¶¯¤¤¤Î¤«¡©¤½¤¦¤Ê¤é¤Ð ! %l¤òÎù¤ì¤à¤è¡¥¡× %E %Cp T 00069 ! #"How do you spell %p? I want to ensure the marker on your grave is ! #correct as a warning to your %sp." ! # ! ¡Ö%p¤Î¤Ä¤Å¤ê¤Ï¤É¤¦½ñ¤¯¤ó¤À¡©ÊèÀФˤɤ¦½ñ¤¯¤Î¤«¤Á¤ã¤ó¤È ! ³Î¤«¤á¤Ê¤¤¤È¡¤¤ªÁ°¤Î%s¤ËÂФ¹¤ë ¸«¤»¤·¤á¤Ë¤Ê¤é¤Ê¤¤¤«¤é¤Ê¡¥¡× %E %Cc T 00070 ! #As you pick up %o, you feel a great ! #weight has been lifted from your shoulders. Your only thoughts are ! #to quickly return to %H and find %l. ! # ! %o¤ò½¦¤¦¤Ë¤Ä¤ì¤Æ¡¤ÇØÃ椫¤é ! ½Å²Ù¤ò²¼¤í¤·¤¿¤È¤­¤Î¤è¤¦¤Ê ! °ÂÅÈ´¶¤ò´¶¤¸¤¿¡¥º£»×¤¦¤³¤È¤Ï¤¿¤À°ì¤Ä¡¥ ! %H¤ØÁ᤯¤«¤¨¤Ã¤Æ%l¤òõ¤¹¤³¤È¤À¡¥ %E %Cc T 00080 ! #You turn in the direction of %n. As his earthly body begins ! #to vanish before your eyes, you hear him curse: ! # ! # You shall never be rid of me, %p! ! # I will find you where ever you go and regain what is rightly mine. ! # ! ¤¢¤Ê¤¿¤Ï%n¤ÎÊý¸þ¤ØÌܤò¸þ¤±¤ë¡¥Èà¤ÎÂΤ¬¤¢¤Ê¤¿¤ÎÌܤÎÁ°¤«¤é ! ¾Ã¤¨¤ë¤Ë¤Ä¤ì¡¤Èà¤Î¼ö¤¤¤Î¸ÀÍÕ¤òʹ¤¤¤¿¡¥ ! ¡Ö%p¡¤¤ªÁ°¤Ë¤Ï¤º¤Ã¤È¤Ä¤­¤Þ¤È¤Ã¤Æ¤ä¤ë¡ª ! ¤ªÁ°¤¬¤É¤³¤Ë¤¤¤è¤¦¤¬¤ªÁ°¤òɬ¤ºÃµ¤·½Ð¤·¤Æ ! »ä¤Î°Ù¤Ë¤¢¤ë¤Ù¤­¤â¤Î¤ò¼è¤êÊÖ¤·¤Æ¤ß¤»¤ë¡¥¡× %E %Cc T 00081 ! #As %l detects the presence of %o, ! #he almost smiles for the first time in many a full moon. ! # ! #As he looks up from %o he says: ! # ! # You have recovered %o. You are its ! # owner now, but not its master. Let it work with you as you continue ! # your journey. With its help, and %d to guide you on the ! # %a path, you may yet recover the Amulet of Yendor. ! # ! %l¤Ï%o¤Î¸ºß¤ò³Îǧ¤¹¤ë¤Ë¤Ä¤ì¡¤ ! ²¿·î¤Ö¤ê¤«¤È¤¤¤¦¤Û¤É¤Î¾Ð´é¤ò¸«¤»¤¿¡¥ ! ¤½¤·¤Æ¡¤%o¤«¤éÌܤòÎ¥¤¹¤Ë¤Ä¤ì¤ÆÏä·¤¿¡¥ ! ¡Ö·¯¤Ï%o¤ò¼è¤êÌᤷ¤Æ¤¯¤ì¤¿¡¥ ! ¤½¤ì¤Ï·¯¤¬»ý¤Á¼ç¤È¤Ê¤Ã¤¿¤ï¤±¤À¤¬¡¤·¯¤Ï¤Þ¤À¿¿¤Î¼ç¤È¤Ê¤Ã¤¿¤ï¤±¤Ç¤Ï¤Ê¤¤¡¥ ! ·¯¤¬Î¹¤ò³¤±¤ë¤Ë¤Ä¤ì¡¤¤½¤ì¤Ï¿¿¤Î»Ñ¤ò¸«¤»¤ë¤À¤í¤¦¡¥¤½¤ì¤È%d¤Î ! %a¤ÊƳ¤­¤¬¤¢¤ì¤Ð¤â¤·¤ä¤·¤¿¤é¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤ò¼ê¤Ë¤¹¤ë¤³¤È¤¬ ! ¤Ç¤­¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥¡× %E %Cc T 00090 ! #"I could not be more proud than if you were my own %S, %p! ! #Tell me of your adventures in quest of the Amulet of Yendor." ! # ! ¡Ö·¯¤¬»ä¤ÎËÜÅö¤Î%S¤Ç¤¢¤ì¤Ð¤è¤«¤Ã¤¿¤â¤Î¤Î¡¥¤·¤«¤·¡¤¤½¤ì¤Ë¤·¤Æ¤â ! ¤³¤ì¤Ï»ä¤Ë¤È¤Ã¤Æ·¯¤Ï¤³¤Î¾å¤Ê¤¤¸Ø¤ê¤À¡¥ ! ¤µ¤µ¡¤·¯¤Î¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤òõ¤¹¤Þ¤Ç¤ÎËÁ¸±Ã̤òʹ¤«¤»¤Æ¤¯¤ì¤¿¤Þ¤¨¡¥¡× %E %Cc T 00091 ! #"Stand back and let me look at you, %p. ! #Now that you have recovered the Amulet of Yendor, I'm afraid living ! #out your days in %H would seem pretty tame. ! # ! #"You have come too far to stop now, for there are still more tasks that ! #our oral history foretells for you. Forever more, though, your name shall ! #be spoken by the %gP with awe. You are truly an inspiration to your ! #%sp!" ! ¡Ö¤â¤¦¾¯¤·²¼¤¬¤Ã¤Æ·¯¤Î»Ñ¤ò¸«¤»¤Æ¤¯¤ì¡¤%p¡¥ ! ¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤ò¼ê¤Ë¤·¤¿°Ê¾å¡¤¤³¤ì¤«¤é¤º¤Ã¤È ! %H¤ÇÀ¸¤­¤Æ¤¤¤¯¤È¤¤¤¦¤Î¤Ï¤Á¤È¤Ä¤Þ¤é¤Ê¤¤¤Ç¤¢¤í¤¦¡¥¡× ! ! ¡Ö·¯¤Ï¤â¤¦¸åÌá¤ê¤¹¤ëÌõ¤Ë¤Ï¤¤¤«¤Ê¤¤¡¥¤Ê¤¼¤Ê¤é¡¤ ! ·¯¤Ï¤³¤ì¤«¤é¸å¤ËÍÍ¡¹¤ÊËÁ¸±¤ò¤¹¤ë¤³¤È¤ò±¿Ì¿¤Å¤±¤é¤ì¤Æ¤¤¤ë¡¥ ! ¤½¤·¤Æ¡¤%p¤È¸À¤¦Ì¾¤Ï%g¤Î´Ö¤ÇÅÁÀâ¤È¤·¤Æ¸ì¤ê·Ñ¤¬¤ì¤ë¤À¤í¤¦¡¥ ! %p¡¤·¯¤Ï¼«Ê¬¤Î%s¤Î°ÎÂç¤Ê¤ë¼êËܤȤʤ俤ΤÀ¡¥¡× ! %E # # Valkyrie # %Cc V 00001 ! #You materialize at the base of a snowy hill. Atop the hill sits ! #a place you know well, %H. You immediately realize ! #that something here is very wrong! ! # ! #In places, the snow and ice have been melted into steaming pools of ! #water. Fumaroles and pools of bubbling lava surround the hill. ! #The stench of sulphur is carried through the air, and you %x creatures ! #that should not be able to live in this environment moving towards you. ! ¤¢¤Ê¤¿¤ÏÀã¤Î¹ß¤ëµÖ¤ËÆÍÇ¡¸½¤ï¤ì¤¿¡¥¤³¤ÎÃϤε֤Îĺ¾å¤Ë¤¢¤ë%H¤Ï ! ¤è¤¯ÃΤäƤ¤¤ë¾ì½ê¤À¤¬¡¤¤¢¤Ê¤¿¤Ï¨ºÂ¤Ë²¿¤«¤¬Â礭¤¯°ã¤¦¤³¤È¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥ ! ! ²¿¸Î¤«¡¤Àã¤äɹ¤¬¿åÍϤ±¿å¾øµ¤¤ò¤â¤¯¤â¤¯¤È¤¢¤²¤Æ¤¤¤ë¡¥Ê®µ¤¹¦¤ä¤Ö¤¯¤Ö¤¯ ! ¤ÈË¢¤À¤Ã¤Æ¤¤¤ëÍϴ䤬µÖ¤ò°Ï¤ó¤Ç¤¤¤ë¡¥Î²²«¤ÎÆ÷¤¤¤¬¶õµ¤¤òɺ¤Ã¤Æ¤ª¤ê¡¤ ! ¤³¤Î¤è¤¦¤Ê´Ä¶­¤Ç¤ÏÀ¸¤­¤Æ¤¤¤±¤Ê¤¤À¸Êª¤¬¤¢¤Ê¤¿¤ÎÁ°Êý¤ÇÆ°¤¤¤Æ¤¤¤ë¤Î ! ¤ò%x¤¿¡¥ %E %Cp V 00002 ! #Once again, you are near the abode of %l. ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï%l¤Î½»¤Þ¤¤¤Î¶á¤¯¤Ë¤ä¤Ã¤Æ¤­¤¿¡¥ %E %Cp V 00003 ! #Again you materialize near %ls abode. You have a nagging feeling ! #that this may be the last time you come here. ! ºÆÅÙ¡¤¤¢¤Ê¤¿¤Ï%l¤Î½»¤Þ¤¤¤ÎÃγФ˸½¤ï¤ì¤¿¡¥¤³¤³¤Ë¤ä¤Ã¤Æ¤¯¤ë¤Î¤Ï¤³¤ì¤¬ ! ºÇ¸å¤Ç¤¢¤ë¤è¤¦¤Ê¤¤¤é¤À¤Äµ¤»ý¤Ë¤Ê¤Ã¤¿¡¥ %E %Cp V 00005 ! #"Hail, and well met, brave %c." ! ¡Ö¤è¤¦¤³¤½¡ª°ÎÂç¤Ê¤ë%c¡¥¡× %E %Cp V 00006 ! #"May %d guide your steps, %p." ! ¡Ö%p¤è¡¤%d¤¬¤ªÁ°¤òƳ¤¤¤Æ¤¯¤ì¤ë¤Ç¤¢¤í¤¦¡¥¡× %E %Cp V 00007 ! #"%lC weakens. Without %o, her foresight is dim." ! ¡Ö%l¤Ï¿ê¼å¤·¤Æ¤¤¤ë¡¥%o¤Ê¤·¤Ç¤ÏÈà½÷¤Î ! ƶ»¡ÎϤϤ«¤¹¤ó¤Ç¤·¤Þ¤¦¤Î¤À¡¥¡× %E %Cp V 00008 ! #"You must hurry, %p, else Ragnarok may well come." ! ¡Ö¤ªÁ°¤ÏµÞ¤¬¤Í¤Ð¤Ê¤é¤Ì%p¡¥¤µ¤â¤Ê¤±¤ì¤Ð¥é¥°¥Ê¥í¥Ã¥¯¤¬¤ä¤Ã¤Æ¤¯¤ë¡¥¡× %E %Cp V 00009 ! #"I would deal with this foul %n myself, but %d forbids it." ! ¡Ö¤à¤«¤Ä¤¯%n¤Ë¤³¤Î¿È¤ò¤Ö¤Ä¤±¤¿¤¤¡¤¤·¤«¤·%d¤¬¤½¤ì¤ò ! ¤·¤Æ¤Ï¤Ê¤é¤Ì¤È¸À¤¦¤Î¤À¡¥¡× %E %Cc V 00010 ! #"Ah, %p, my %S. You have returned to %H ! #at last. We are in dire need of your aid, but I must determine if you ! #are yet ready for such an undertaking. ! # ! #"Let me read your fate..." ! ¡Ö¤Þ¤¡¡¤¤ï¤¿¤·¤Î%s%p¤è¡ª%H¤ËÌá¤Ã¤Æ¤­¤Æ¤¯¤ì¤Þ¤·¤¿¤Î¤Í¡¥ ! ²æ¡¹¤Ï¤¢¤Ê¤¿¤ÎÎϤ¬»êµÞɬÍפʤΤǤ¹¡¤¤·¤«¤·¤½¤ÎÁ°¤Ë¤¢¤Ê¤¿¤¬¤½¤ì¤ò ! ¼õ¤±É餦¤À¤±¤ÎÎϤ¬¤¢¤ë¤«·è¤á¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ ! ¡Ö¤¢¤Ê¤¿¤Î±¿Ì¿¤òÆɤó¤Ç¤ß¤Þ¤·¤ç¤¦¡¥¡¥¡¥¡× %E %Cp V 00011 ! #"Let me read the future for you now, %p, perhaps you have managed to ! #change it enough..." ! ¡Ö¤¢¤Ê¤¿¤Î̤Íè¤òÆɤó¤Ç¤ß¤Þ¤·¤ç¤¦%p¡¤¤¿¤Ö¤ó¤¢¤Ê¤¿¤Ï´Êñ¤Ë ! ½¤¶È¤ò¤Ê¤µ¤Ã¤Æ¤¯¤ë¤Ç¤·¤ç¤¦¤±¤É¡¥¡¥¡¥¡× %E %Cp V 00012 ! #"Again, I shall read your fate, my %S. Let us both hope that you have ! #made changes to become ready for this task..." ! ¡Ö¤Þ¤¿¡¤¤¢¤Ê¤¿¤Î±¿Ì¿¤òÆɤó¤Ç¤ß¤Þ¤·¤ç¤¦¡¤¤ï¤¿¤·¤Î%S¤è¡¥¤³¤Î ! Ǥ̳¤ò¤³¤Ê¤¹¤À¤±¤Î½¤¶È¤ò¤Ê¤µ¤Ã¤Æ¤­¤¿¤³¤È¤ò˾¤ß¤Þ¤·¤ç¤¦¡¥¡× %E %Cc V 00013 ! #"No, %p. Your fate is sealed. I must cast about for another ! #champion. Begone from my presence, and never return. Know this, that ! #you shall never succeed in this life, and Valhalla is denied to you." ! ¡Ö¤¤¤±¤Þ¤»¤ó%p¡ª¤¢¤Ê¤¿¤Î±¿Ì¿¤ÏÉõ°õ¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡¥ ! ¤ï¤¿¤·¤ÏÊ̤Îͦ¼Ô¤òÍê¤ë¤³¤È¤Ë¤·¤Þ¤¹¡¥¤ï¤¿¤·¤ÎÁ°¤«¤éµî¤ê¤Ê¤µ¤¤¡¥Ìá¤Ã¤Æ ! ¤¯¤ë¤³¤È¤Ï¤Þ¤«¤ê¤Ê¤ê¤Þ¤»¤ó¡¥¼¡¤Î¤³¤È¤ò¤è¤¯³Ð¤¨¤Æ¤ª¤¯¤Î¤Ç¤¹¡¥¤¢¤Ê¤¿¤Ï ! ·è¤·¤ÆÀ®¸ù¤¹¤ë¤³¤È¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡¥¥ô¥¡¥ë¥Ï¥éµÜŤ⤢¤Ê¤¿¤òµñ¤ó¤Ç¤¤¤Þ¤¹¡¥¡× %E %Cc V 00014 ! #"I see you and %n fighting, %p. But you are not prepared and ! #shall die at %ns hand if you proceed. No. This will not do. ! #Go back out into the world, and grow more experienced at the ways of ! #war. Only when you have returned %Ra will you be able to defeat ! #%n." ! ¡Ö%p¤è¡¤»ä¤Ï¤¢¤Ê¤¿¤È%n¤ÎÀ襤¤ò¸«¤Æ¤¤¤Þ¤¹¡¥¤·¤«¤· ! ¤¢¤Ê¤¿¤Ï½àÈ÷¤¬¤Ç¤­¤Æ¤Ê¤¤¤è¤¦¤Ç¤¹¡¥º£¤Î¤Þ¤Þ¤Ç¤Ï¤¢¤Ê¤¿¤Ï%n ! ¤Î¼ê¤Ë¤è¤ê»¦¤µ¤ì¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡¥¤¤¤±¤Þ¤»¤ó¡¥¤³¤ó¤Ê¤³¤È¤Ë¤Ê¤Ã¤Æ¤Ï ! ¤¤¤±¤Ê¤¤¡¥Ìá¤ê¤Ê¤µ¤¤¡¤¤½¤·¤ÆÀ襤¤Ë¤è¤ê·Ð¸³¤òÀѤà¤Î¤Ç¤¹¡¥%R ! ¤Ë¤Ê¤Ã¤Æ¤«¤éÌá¤Ã¤Æ¤¯¤ë¤Î¤Ç¤¹¡¥¤½¤¦¤¹¤ì¤Ð¡¤%n¤òÂǤÁÉ餫¤¹¤³ ! ¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡¥¡× %E %Cc V 00015 ! #"NO! This is terrible. I see you becoming an ally of %n, and ! #leading his armies in the final great battles. This must not come to ! #pass! You have strayed from the %a path. You must purge yourself, ! #and return here only when you have regained a state of purity." ! ¡Ö¤¤¤±¤Þ¤»¤ó¡ª¶²¤·¤¤¤³¤È¤Ç¤¹¡¥%n¤Ë¿´¤òÃ¥¤ï¤ì¡¤ ! °ÎÂç¤Ê¤ëºÇ½ªÀï¤ÇÈà¤ÎÉô²¼¤òƳ¤¯»Ñ¤¬¸«¤¨¤Þ¤¹¡¥ÂçÊѺ¤¤Ã¤¿ ! ¤³¤È¤Ç¤¹¤ï¤Í¡¥¤¢¤Ê¤¿¤Ï%a¤ÎÆ»¤«¤é³°¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡¥ ! ¼«Ê¬¼«¿È¤òÀ¶¤á¡¤½ã¿è¤Êµ¤»ý¤ò¼è¤êÌᤷ¤¿¤È¤­¤Ë¤Þ¤¿Ìá¤Ã¤Æ¤¯¤ë¤Î¤Ç¤¹¡¥¡× %E %Cc V 00016 ! #"It is not clear, %p, for my sight is limited without ! #%o. But it is now likely that you can defeat %n, ! #and recover %o. ! # ! #"A short time ago, %n and his minions attacked this place. They ! #opened the huge volcanic vents you %x about the hill, and attacked. ! #I knew that this was to come to pass, and had asked %d for a group ! #of %gP to help defend this place. The few you %x here are the ! #mightiest of Valhalla's own, and are all that are left of one hundred ! #%d sent. ! # ! #"Despite the great and glorious battle we fought, %n managed at last ! #to steal %o. This has upset the balance of the universe, and ! #unless %o is returned into my care, %n may start Ragnarok. ! # ! #"You must find the entrance to %i. Travel downward ! #from there and you will find %ns lair. Defeat him and ! #return %o to me." ! ¡Ö%p¤è¡¤¤ï¤¿¤·¤Î´ãÎϤÏ%o̵¤·¤Ç¤Ï¶Ë¤á¤ÆÀ©¸Â¤µ¤ì¤Æ¤·¤Þ ! ¤¦¤Î¤ÇÀµ³Î¤Ê¤³¤È¤Ï¸À¤¨¤Þ¤»¤ó¡¥¤·¤«¤·¡¤¤¢¤Ê¤¿¤Ï%n¤òÂǤÁÉ餫¤·¡¤ ! %o¤ò¼è¤êÊÖ¤¹¤À¤±¤ÎÎϤòÆÀ¤¿¤è¤¦¤Ç¤¹¡¥ ! ! ¡Ö¾¯¤·Á°¤Ë¡¤%n¤ÈÈà¤Î»È¤¤Ë⤬¤³¤ÎÃϤ˹¶·â¤ò¤·¤«¤±¤Þ¤·¤¿¡¥µÖ¤Î¾å ! ¤Ë¤¢¤ë¤Î¤ò¸«¤¿¤È»×¤¤¤Þ¤¹¤¬¡¤Èà¤é¤ÏµðÂç¤Ê²Ð¸ý¤ò³«¤­¡¤¹¶·â¤ò¤·¤«¤±¤Æ¤­ ! ¤¿¤Î¤Ç¤¹¡¥¤ï¤¿¤·¤Ï¤³¤ì¤¬º¤¤Ã¤¿¤³¤È¤Ë¤Ê¤ë¤Î¤òÃΤꡤ%g¤Î°ìÂâ¤Ë¤³¤ÎÃϤò ! ¼é¤ë¤è¤¦%d¤Ëº©´ê¤·¤Þ¤·¤¿¡¥¤³¤³¤Ë¤¤¤ë¼Ôã¤Ï¥ô¥¡¥ë¥Ï¥éµÜÅÂľ° ! ¤ÎÁª¤Ð¤ì¤¿Àº±Ô¤Ç¡¤%d¤ÎÁ÷¤Ã¤¿100¿Í¤ÎÀï»Î¤ÎÀ¸¤­»Ä¤ê¤Ê¤Î¤Ç¤¹¡¥ ! ! ¡Ö°ÎÂ礫¤Ä±ÉÍÀ¤¢¤ëÀ襤¤Ë¤â¤«¤«¤ï¤é¤º¡¤¤È¤¦¤È¤¦%n¤Ï ! %o¤òÅð¤ó¤Ç¤·¤Þ¤¤¤Þ¤·¤¿¡¥%o¤¬¤ï¤¿¤·¤Î¼ê¸µ¤ËÌá¤é¤Ê ! ¤±¤ì¤Ð¡¤%n¤Ï¥é¥°¥Ê¥í¥Ã¥¯¤ò»Ï¤á¤Æ¤·¤Þ¤¤¡¤À¤³¦¤Î¶Ñ¹Õ¤ÏÊø¤ì¤Æ ! ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡¥ ! ! ¡Ö¤¢¤Ê¤¿¤Ï¡¤%i¤ÎÆþ¸ý¤òõ¤µ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥¤³¤³¤«¤éÃϲ¼¤Ë ! ι¤ò¿Ê¤á¡¤%n¤Î±£¤ì²È¤ò¤ß¤Ä¤±¤ë¤Î¤Ç¤¹¡¥Èà¤òÂǤÁÉ餫¤·¡¤ ! %o¤ò»ä¤Î¸µ¤Ø¼è¤êÊÖ¤·¤Æ¤¯¤À¤µ¤¤¡¥¡× %E %Cp V 00020 ! #"Go with the blessings of %d." ! ¡Ö%d¤Î½ËÊ¡¤Î¤¢¤é¤ó¤³¤È¤ò¡¥¡× %E %Cp V 00021 ! #"Call upon %d when you are in need." ! ¡ÖɬÍפʤé¤Ð%d¤ò¸Æ¤Ó¤Ê¤µ¤¤¡¥¡× %E %Cp V 00022 ! #"Use %o if you can. It will protect you." ! ¡Ö²Äǽ¤Ê¤é%o¤ò»È¤¤¤Ê¤µ¤¤¡¥¤¢¤Ê¤¿¤ò¼é¤ë¤Æ¤·¤ç¤¦¡¥¡× %E %Cp V 00023 ! #"Magical cold is very effective against %n." ! ¡Ö%n¤Ë¤Ï´¨¤µ¤ÎËâË¡¤¬¸ú²ÌŪ¤Ç¤¹¡¥¡× %E %Cp V 00024 ! #"To face %n, you will need to be immune to fire." ! ¡Ö%n¤ÈľÌ̤¹¤ë¤Ë¤Ï¡¤±ê¤Ø¤ÎÂÑÀ­¤¬É¬ÍפǤ¹¡¥¡× %E %Cp V 00025 ! #"May %d strengthen your sword-arm." ! ¡Ö%d¤¬¤¢¤Ê¤¿¤ÎÍø¤­ÏÓ¤ËÎϤòÍ¿¤¨¤Æ¤¯¤ì¤ë¤Ç¤·¤ç¤¦¡¥¡× %E %Cp V 00026 ! #"Trust in %d. He will not desert you." ! ¡Ö%d¤ò¿®¤¸¤Ê¤µ¤¤¡¥Èà¤Ï¤¢¤Ê¤¿¤ò¸«¼Î¤Æ¤¿¤ê¤·¤Þ¤»¤ó¤ï¡¥¡× %E %Cp V 00027 ! #"It becomes more likely that Ragnarok will come with every passing moment. ! #You must hurry, %p." ! ¡Ö¥é¥°¥Ê¥í¥Ã¥¯¤¬º£¤¹¤°¤Ë¤Ç¤âµ¯¤­¤½¤¦¤Ç¤¹¡¥µÞ¤®¤Ê¤µ¤¤%p¡ª¡× %E %Cp V 00028 ! #"If %n can master %o, he will be powerful enough to ! #face %d far earlier than is fated. This must not be!" ! ¡Ö¤â¤·%n¤¬%o¤ò»ÙÇÛ¤·¤Æ¤¤¤ë¤Ê¤é¡¤Èà¤Ï%d¤Ë ! ɤŨ¤¹¤ë¤¯¤é¤¤¶¯ÎϤʤϤº¤Ç¤¹¡¥¤³¤ì¤À¤±¤ÏÈò¤±¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó¡ª¡× %E %Cp V 00029 ! #"Remember your training, %p. You can succeed." ! ¡Ö¤¢¤Ê¤¿¤ÎÎϤò¿®¤¸¤Ê¤µ¤¤%p¡¥¤­¤Ã¤ÈÀ®¸ù¤·¤Þ¤¹¤ï¡¥¡× %E %Cc V 00030 ! #The ice and snow gives way to a valley floor. You %x ahead of you ! #a huge round hill surrounded by pools of lava. This then is the entrance ! #to %i. It looks like you're not going to get in without ! #a fight though. ! ɹ¤ÈÀ㤬ëÄì¤ËÆ»¤òºî¤Ã¤Æ¤¤¤¿¡¥¤¢¤Ê¤¿¤ÏÌܤÎÁ°¤Ë¡¤ÍÏ´ä¤Ë°Ï¤Þ¤ì¤¿Â礭¤Ê ! ´Ý¤¤µÖ¤ò¸«¤¿¡¥¤³¤ì¤Ï%i¤Ø¤ÎÆþ¸ý¤Ç¤¢¤ë¡¥À臘¤³¤È¤Ê¤·¤ËÆâÉô¤Ë ! Æþ¤ë¤³¤È¤Ï̵Íý¤Ê¤è¤¦¤À¡¥ %E %Cp V 00031 ! #Once again, you stand before the entrance to %i. ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï%i¤ÎÆþ¸ý¤ÎÁ°¤Ë¤ä¤Ã¤Æ¤­¤¿¡¥ %E %Cc V 00040 ! #Through clouds of sulphurous gasses, you %x a rock palisade ! #surrounded with a moat of bubbling lava. You remember the description ! #from something that %l said. This is the lair of %n. ! ⲫ¤Î¥¬¥¹¤Î±À´Ö¤Ë¡¤¤¢¤Ê¤¿¤ÏË¢¤À¤ÄÍÏ´ä¤ÎËÙ¤ò°Ï¤àÀФκô¤ò¸«¤Ä¤±¤¿¡¥ ! ¤¢¤Ê¤¿¤Ï%l¤¬¸À¤Ã¤Æ¤¤¤¿¤³¤È¤ò»×¤¤¤À¤·¤¿¡¥¤³¤ì¤Ï%n¤Î ! ½»¤ß²È¤À¡¥ %E %Cp V 00041 ! #Once again, you stand in sight of %ns lair. ! ¤â¤¦°ìÅÙ¡¤¤¢¤Ê¤¿¤Ï%n¤Î½»¤ß²È¤Î¸«¤¨¤ë¤È¤³¤í¤Ë¤ä¤Ã¤Æ¤­¤¿¡¥ %E %Cc V 00050 ! #"So! %lC has finally sent %ca to challenge me! ! # ! #"I thought that mastering %o would enable me to challenge %d, ! #but it has shown me that first I must kill you! ! #So come, little %s. Once I defeat you, I can at last begin ! #the final battle with %d." ! ¡Ö¤Û¤¦¡¥%l¤Ï»ä¤òÅݤ¹¤¿¤á%c¤òÁ÷¤Ã¤Æ¤­¤¿¤«¡ª ! ! ¡Ö»ä¤Ï%o¤ò»ÙÇÛ¤¹¤ë¤³¤È¤Ë¤è¤ê%d¤òÅݤ»¤ë¤È»×¤Ã¤Æ¤ë¤Î¤À¤¬¡¤ ! ¼ê»Ï¤á¤Ëµ®Íͤò»¦¤¹¤³¤È¤Ë¤è¤Ã¤Æ¤½¤ÎÎϤò¤¿¤á¤·¤Æ¤ß¤è¤¦¡ªÍè¤ë¤¬¤è¤¤¡¥ ! °¥¤ì¤Ê%s¤è¡¥µ®Íͤò»¦¤·¤Æ¤«¤é¡¤%d¤È¤ÎºÇ½ªÀïÁè¤ò»Ï¤á¤è¤¦ ! ¤Ç¤Ï¤Ê¤¤¤«¡¥¡× %E %Cp V 00051 ! #"Again you challenge me, %r. Good. I will kill you now." ! ¡Ö¤Þ¤¿¤­¤¿¤«%r¡¥¤è¤í¤·¤¤¡¥º£ÅÙ¤³¤½µ®Íͤ˻ߤá¤ò»É¤·¤Æ¤ä¤í¤¦¡¥¡× %E %Cp V 00052 ! #"Have you not learned yet? You cannot defeat %n!" ! ¡Ö¤Þ¤À¤ï¤«¤é¤ó¤Î¤«¡©µ®ÍͤË%n¤ÏÅݤ»¤Ê¤¤¤Î¤µ¡ª¡× %E %Cp V 00053 ! #"I will kill you, %c, and wrest %o from your mangled hands." ! ¡Ö%c¤è»à¤Í¡ªµ®ÍͤÎÏÓ¤òÀڤ꤭¤¶¤ß%o¤ò¤â¤®¤È¤Ã¤Æ¤ä¤ë¡¥¡× %E %Cp V 00060 ! #"I am your death, %c." ! ¡Ö²æ¤Ëµ®Íͤλà¤ò¡¤%c¡¥¡× %E %Cp V 00061 ! #"You cannot prevail, %r. I have foreseen your every move." ! ¡Ö»ä¤Ë¤Ï¾¡¤Æ¤ó¤è¡¤%r¡¥µ®ÍͤÎÆ°¤­¤Ê¤É¼ê¤Ë¼è¤ë¤è¤¦¤Ë¤ï¤«¤ë¤ï¤¤¡¥¡× %E %Cp V 00062 ! #"With you out of the way, Valhalla will be mine for the taking." ! ¡Öµ®Íͤ¬Æ»¤«¤é³°¤ì¤Æ¤¤¤ë¤Î¤Ç¡¤¥ô¥¡¥ë¥Ï¥éµÜŤϲ椬¤â¤Î¤À¡¥¡× %E %Cp V 00063 ! #"I killed scores of %ds best when I took %o. ! #Do you really think that one %c can stand against me?" ! ¡Ö%o¤ò¼ê¤Ë¤·¤Æ¤¿¤È¤­¤Ï¡¤%d¤ÎÀº±Ô¤ò²¿½½¿Í¤È¤Ê¤¯»¦¤·¤¿¤â¤ó¤À¡¥ ! ¤¿¤Ã¤¿£±¿Í¤Î%c¤¬»ä¤Ë¤Ï¤à¤«¤Ã¤Æ¤¯¤ë¡©³ê·Î¤ÊÏäÀ¡¥¡× %E %Cp V 00064 ! #"Who bears the souls of %cP to Valhalla, %r?" ! ¡Ö郎%c¤Îº²¤ò¥ô¥¡¥ë¥Ï¥éµÜŤËÀ¸¤ß¤Ä¤±¤ë¤ó¤À¡¤%r¤è¡©¡× %E %Cp V 00065 ! #"No, %d cannot help you here." ! ¡Ö̵ÂÌ̵ÂÌ¡¤¤³¤³¤Ç¤Ï%d¤Ï½õ¤±¤Æ¤¯¤ì¤Ê¤¤¤¾¡¥¡× %E %Cp V 00066 ! #"Some instrument of %d you are, %p. You are a weakling!" ! ¡Öµ®ÍͤÏ%d¤ÎÆ»¶ñ¤µ%p¡¥Æð¼å¼Ô¤á¡ª¡× %E %Cp V 00067 ! #"Never have I seen %ca so clumsy in battle." ! ¡Ö%c¤¬¤³¤ó¤Ê¤Ë¤âÀ襤¤¬²¼¼ê¤È¤ÏÃΤé¤Ê¤«¤Ã¤¿¤ï¤¤¡¥¡× %E %Cp V 00068 ! #"You die now, little %s." ! ¡Öµ®ÍͤϤ¹¤°¤Ë¤Ç¤â»à¤Ì¤µ¡¤²Ä°¦¤¤¤½¤¦¤Ê%s¤è¡¥¡× %E %Cp V 00069 ! #"Your body I destroy now, your soul when my hordes overrun Valhalla!" ! ¡Öµ®ÍͤÎÂΤòÇ˲õ¤·¡¤µ®Íͤκ²¤Ï²æ¤¬·³¤¬¥ô¥¡¥ë¥Ï¥éµÜŤò½±¤¦¤È¤­¤Ë ! Ç˲õ¤¹¤ë¤È¤·¤è¤¦¡ª¡× %E %Cc V 00070 ! #As you pick up %o, your mind is suddenly filled with images, ! #and you perceive all of the possibilities of each potential choice you ! #could make. As you begin to control and channel your thoughts, you ! #realize that you must return %o to %lC immediately. ! %o¤ò½¦¤¦¤È¡¤¤¢¤Ê¤¿¤Î¿´¤ÏÆÍÁ³¥¤¥á¡¼¥¸¤ÇËþ¤¿¤µ¤ì¡¤ÁªÂò²Äǽ¤ÊÁ´¤Æ¤Î ! ²ÄǽÀ­¤òÍý²ò¤·¤¿¡¥¤¢¤Ê¤¿¤Î»×¤¤¤òÀ©¸æ¤·ÅÁ㤷¤Ï¤¸¤á¤ë¤È¡¤¤¢¤Ê¤¿¤Ï ! %o¤ò%l¤Ëľ¤Á¤ËÊÖ¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤Ëµ¤¤¬¤Ä¤¤¤¿¡¥ %E %Cc V 00080 ! #A look of surprise and horror appears on %ns face. ! # ! # No!!! %o has lied to me! I have been misled! ! # ! #Suddenly, %n grasps his head and screams in agony, then dies. ! ¶Ã¤­¤È¶²Éݤ¬%n¤Î´é¤Ë¸½¤ï¤ì¤¿¡¥ ! ¤Ð¤«¤Ê¡ª%o¤Ï²æ¤¬¼êÃæ¤Ë¤¢¤Ã¤¿¤Ï¤º¤À¡¥²¿¸Î¤À¡ª¡ª ! ÆÍÁ³%n¤Ï´é¤òÄϤߡ¤¶ìÄˤÎÀ¼¤ò¤¢¤²¡¤»à¤ó¤À¡¥ %E %Cc V 00081 ! #As you approach, %lC rises and touches %o. ! # ! #"You may take %o with you, %p. I have removed from ! #it the power to foretell the future, for that power no mortal should ! #have. Its other abilities, however, you have at your disposal. ! # ! #"You must now begin in %ds name to search for the Amulet of Yendor. ! #May your steps be guided by %d, my %S." ! ¤¢¤Ê¤¿¤¬¶á¤Å¤¯¤È¡¤%l¤ÏΩ¤Á¤¢¤¬¤ê¡¤%o¤Ë¿¨¤ì¤¿¡¥ ! ! ¡Ö%p¤è¡¥%o¤ò»ý¤Ã¤Æ¤¤¤­¤Ê¤µ¤¤¡¥¤ï¤¿¤·¤Ï%o¤«¤é ! ¿Í´Ö¤Î¼ê¤Ë¿¨¤ì¤Æ¤Ï¤Ê¤é¤Ì̤Íè¤ò¹ð¤²¤ëÎϤò¼è¤ê½ü¤­¤Þ¤·¤¿¡¥ ! ¤·¤«¤·¤Ê¤¬¤é%o¤Î¾¤ÎÎϤϡ¤¤¢¤Ê¤¿¤Î»×¤¤Ä̤ê¤Ë ! ¤·¤Æ¤«¤Þ¤¤¤Þ¤»¤ó¡¥ ! ! ¡Ö¤¢¤Ê¤¿¤Ï%d¤Î̾¤Î¤â¤È¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤òõ¤µ¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ ! ¤¢¤Ê¤¿¤Î¿Ê¤àÆ»¤¬%d¤ÎƳ¤­¤Ë¤è¤ê³«¤«¤ì¤Þ¤¹¤è¤¦¤Ë¡¥ ! ¤ï¤¿¤·¤Î%s¤è¡¥¡× %E %Cp V 00090 ! #"Greetings, %p. I have not been able to pay as much attention to ! #your search for the Amulet as I have wished. How do you fare?" ! ¡Ö%p¡¤¤è¤¦¤³¤½¡¥»ä¤Ï¤¢¤Ê¤¿¤ÎËâ½ü¤±Ãµº÷¤Ë¤Ä¤¤¤Æ¤Î½õ¸À¤ò ! ½Ò¤Ù¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡¥º£¤Îι¤Ï¤É¤ó¤Ê´¶¤¸¤«¤·¤é¡©¡× %E %Cc V 00091 ! #"Excellent, %p. I see you have recovered the Amulet! ! # ! #"You must take the Amulet to the Great Temple of %d, on the Astral ! #plane. There you must offer the Amulet to %d. ! # ! #"Go now, my %S. I cannot tell you your fate, as the power of the ! #Amulet interferes with mine. I hope for your success." ! ¡Ö¤Þ¤¡¡¤¤Ê¤ó¤Æ¤³¤È¤Ç¤·¤ç¤¦%p¡¥¤¢¤Ê¤¿¤¬Ëâ½ü¤±¤ò¼è¤êÌ᤹¤Î¤ò ! ¤³¤ÎÌܤǸ«¤é¤ì¤ë¤Ê¤ó¤Æ¡ª ! ¡Ö¤¢¤Ê¤¿¤ÏËâ½ü¤±¤òÀºÎ¤Ë¤¢¤ë%d¤Î°ÎÂç¤Ê»û±¡¤Ë»ý¤Ã¤Æ¤¤¤«¤Í¤Ð ! ¤Ê¤ê¤Þ¤»¤ó¡¥¤½¤³¤Ç%d¤ËËâ½ü¤±¤òÊû¤²¤ë¤Î¤Ç¤¹¡¥ ! ¡Ö¤µ¤¡¡¤¤ï¤¿¤·¤Î%S¡¥»ä¤Ï¤¢¤Ê¤¿¤Ë±¿Ì¿¤ò¹ð¤²¤ë¤³¤È¤Ï¤Ç¤­¤Þ ! ¤»¤ó¡¥Ëâ½ü¤±¤ÎÎϤ¬¼ÙËâ¤ò¤¹¤ë¤Î¤Ç¤¹¡¥¤¢¤Ê¤¿¤ÎÀ®¸ù¤òµ§¤Ã¤Æ¤¤¤Þ¤¹¤ï¡¥¡× %E # # Wizard # %Cc W 00001 ! #You are suddenly in familiar surroundings. You notice what appears to ! #be a large, squat stone structure nearby. Wait! That looks like the ! #tower of your old master, %l. ! # ! #However, things are not the same as when you were last here. Mists and ! #areas of unexplained darkness surround the tower. There is movement in ! #the shadows. ! # ! #Your master would never allow such unaesthetic forms to surround the ! #tower... unless something were dreadfully wrong! ! ÆÍÁ³¡¤¤¢¤Ê¤¿¤Ï¸«¤Ê¤ì¤¿·Ê¿§¤ÎÃæ¤Ë¼«Ê¬¤ò¸«¤¤½Ð¤·¤¿¡¥Â礭¤¯¤Æ¤º¤ó¤°¤ê¤·¤¿ ! ÀФŤ¯¤ê¤Î·ú¤ʪ¤¬¡¤¤½¤Ð¤Ë¤¢¤ë¤Î¤Ë¤¢¤Ê¤¿¤Ïµ¤¤¬¤Ä¤¤¤¿¡¥ÂԤƤ衤¤½¤ì¤Ï¤¢ ! ¤Ê¤¿¤ÎÏ·»Õ¡¤%l¤ÎÅã¤Î¤è¤¦¤À¡¥ ! ! ¤À¤¬¡¤Á°²ó¤³¤³¤ØÍ褿»þ¤È¾õ¶·¤ÏÊѤï¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¡¥Ì¸¤È¡¤Ì¾¾õ¤·¤¬¤¿¤¤ ! °Å¹õ¤È¤¬Åã¤òʤ¤Ã¤Æ¤¤¤ë¡¥°Ç¤ÎÃæ¤Ë¡¤Æ°¤¯±Æ¤¬¤¢¤ë¡¥ ! ! ¤¢¤Ê¤¿¤Î»Õ¤ÎÈþ°Õ¼±¤Ï¡¤¤³¤ó¤Ê¤â¤Î¤¬Åã¤òʤ¤¦¤³¤È¤ò·è¤·¤Æµö¤·¤Ï¤·¤Ê¤¤¤Ï¤º ! ¤À¡¥¡¥¡¥¡¥²¿¤«¤È¤Æ¤Ä¤â¤Ê¤¯¶²¤í¤·¤¤¤³¤È¤¬µ¯¤³¤Ã¤¿¤È¤Ç¤â¤¤¤¦¤Î¤Ç¤Ê¤¤¤«¤® ! ¤ê¡ª %E %Cp W 00002 ! #Once again, you are back at %H. ! ¤Õ¤¿¤¿¤Ó¡¤¤¢¤Ê¤¿¤Ï%H¤ËÌá¤Ã¤Æ¤­¤¿¡¥ %E %Cp W 00003 ! #You are back at %H. ! #You have an odd feeling this may be the last time you ever come here. ! ¤¢¤Ê¤¿¤Ï%H¤ËÌá¤Ã¤Æ¤­¤¿¡¥ ! ¤³¤³¤ËÍè¤ë¤Î¤Ï¤³¤ì¤ÇºÇ¸å¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¡¤¤½¤ó¤Ê´ñ̯¤Êµ¤¤¬¤·¤¿¡¥ %E %Cp W 00005 ! #"Would you happen to have some eye of newt in that overstuffed pack, %s?" ! ¡Ö%s¤è¡¤¤½¤Î¤Ñ¤ó¤Ñ¤ó¤Î²Ùʪ¤ÎÃæ¤Ë¤Ï¡¤¤Ò¤ç¤Ã¤È¤·¤Æ¥¤¥â¥ê¤ÎÌܤ¬ ! Æþ¤Ã¤Æ¤¤¤¿¤ê¤Ï¤·¤Ê¤¤¤«¡©¡× %E %Cp W 00006 ! #"Ah, the spell to create the magic portal worked. Outstanding!" ! ¡Ö¤ª¤ª¡¤ËâË¡¤ÎÆþ¸ý¤òºî¤ëËâË¡¤¬Æ¯¤¤¤¿¡¥¸«¤è¡ª¡× %E %Cp W 00007 ! #"Hurry! %lC may not survive that casting of the ! #portal spell!!" ! ¡ÖµÞ¤²¡ªËâË¡¤ÎÆþ¸ý¤òºî¤ëËâË¡¤ò¾§¤¨¤¿¤«¤é¤Ë¤Ï%l¤Ï¤â¤¦Ä¹¤¤¤³¤È ! ¤Ï¤Ê¤¤¤¾¡ª¡ª¡× %E %Cp W 00008 ! #"We must strive to return balance to the world, or all is lost." ! ¡Ö²æ¡¹¤ÏÀ¸¤­¤Î¤Ó¤ÆÀ¤¤ÎÊ¿ÀŤò¼è¤êÌᤵ¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥¤µ¤â¤Ê¤¯¤Ð¡¤¤¹¤Ù¤Æ¤Ï ! ¼º¤ï¤ì¤Æ¤·¤Þ¤¦¡¥¡× %E %Cp W 00009 ! #"I, too, will venture into the world, because %n is but one of ! #many evils to be vanquished." ! ¡Ö¤ï¤¿¤·¤â»×¤¤ÀڤäÆËÁ¸±¤Ë½Ð¤è¤¦¡¥%n¤Ï¡¤ÌǤܤ¹¤Ù¤­ ! Ëâ¼Ô¤É¤â¤Î¤Ò¤È¤Ä¤Ë¤¹¤®¤ó¤Î¤À¤«¤é¡¥¡× %E %Cc W 00010 ! #"Come closer, %p, for my voice falters in my old age. ! #Yes, I see that you have come a long way since you went out into the ! #world, leaving the safe confines of this tower. However, I must first ! #determine if you have all of the skills required to take on the task ! #I require of you." ! ¡Ö%p¤è¡¤¤â¤Ã¤È¶á¤¯¤ËÍè¤Æ¤¯¤ì¡¥¤ï¤¿¤·¤ÎÀ¼¤Ïǯ¤Î¤»¤¤¤ÇΫ¤ì¤Æ¤· ! ¤Þ¤Ã¤¿¤Î¤Ç¤Ê¡¥¤ª¤Þ¤¨¤¬°ÂÁ´¤Ê¤³¤ÎÅã¤ÎÎΰè¤òµî¤ê¡¤À¤¤ËιΩ¤Ã¤Æ¤«¤é¤â¤¦¡¤ ! ¤º¤¤¤Ö¤ó¤Ë¤Ê¤ë¡¥¤ä¤Ã¤ÈÍè¤Æ¤¯¤ì¤¿¤Î¤À¤Ê¡¥¤À¤¬¡¤¤Þ¤º¤Ï¤¸¤á¤Ë¡¤¤ª¤Þ¤¨¤Ë ! »ÈÌ¿¤ò²Ì¤¿¤¹¤¿¤á½¼Ê¬¤ÊÏÓÁ°¤¬¤¢¤ë¤Î¤«¤É¤¦¤«¡¤»î¤µ¤Í¤Ð¤Ê¤é¤ó¡¥¡× %E %Cp W 00011 ! #"Well, %p, you have returned. Perhaps you are now ready..." ! ¡Ö%p¤è¡¤Ìá¤Ã¤Æ¤­¤Æ¤¯¤ì¤¿¤Î¤À¤Ê¡¥½àÈ÷¤ÏËüü¤Î¤³¤È¤È»×¤¦¤¬¡¥¡¥¡¥¡× %E %Cp W 00012 ! #"This is getting tedious, %p, but perseverance is a sign of a true mage. ! #I certainly hope that you are truly ready this time!" ! ¡Ö%p¤è¡¤ÂԤĤΤÏÂà¶þ¤À¡¥¤·¤«¤·¡¤Ç¦ÂѤ³¤½¤Ï¿¿¤Îͦµ¤¤Î¾Ú¤Ê¤Î¤À¡¥ ! º£ÅÙ¤³¤½¤Ï¤Þ¤µ¤Ë½àÈ÷¤òÀ°¤¨¤Æ¤ª¤í¤¦¤Ê¡ª¡× %E %Cc W 00013 ! #"You fool, %p! Why did I waste all of those years teaching you ! #the esoteric arts? Get out of here! I shall find another." ! ¡Ö%p¤è¡¤¤³¤Î¤¦¤Ä¤±¤â¤Î¤á¤¬¡ª²¿¸Î¤ï¤¿¤·¤Ï¤³¤Î¿ôǯ¤Þ¤ë¤Þ¤ë¡¤ ! ¤ª¤Þ¤¨¤Ë±üµÁ¤òÅÁ¼ø¤¹¤ë¤Î¤ËÈñ¤ä¤·¤Æ¤·¤Þ¤Ã¤¿¤È¤¤¤¦¤Î¤À¤í¤¦¡©½Ð¤Æ¤¤¤±¡ª ! ¤ªÁ°¤Ê¤ó¤¾¤Ë´üÂԤϤ»¤ó¡¥¡× %E %Cc W 00014 ! #"Alas, %p, you have not yet shown your proficiency as a worthy ! #spellcaster. As %ra, you would surely be overcome in the challenge ! #ahead. Go, now, expand your horizons, and return when you have attained ! #renown as %Ra." ! ¡Ö¤¢¤¢¡¤%p¤è¡¥¤ª¤Þ¤¨¤Ï¤Þ¤À¡¤¤Þ¤¸¤Ê¤¤»Õ¤Ë¤Õ¤µ¤ï¤·¤¤½ÏÎý¤ò ! ¸«¤»¤Æ¤ª¤é¤ó¡¥%ra¤È¤·¤Æ¤Ï¡¤³Î¤«¤Ë»îÎý¤ËÂѤ¨¤Æ¤­¤¿¤Î¤Ç¤¢¤í¤¦¡¥¤µ¤¢¡¤ ! ¹Ô¤±¡¥¤â¤Ã¤ÈǽÎϤò¹â¤á¤è¡¥%Ra¤È¤·¤Æ¤Î̾À¼¤ò¾¡¤Á¤È¤Ã¤¿»þ¡¤ ! ºÆ¤ÓÌá¤Ã¤Æ¤¯¤ë¤Î¤À¡¥¡× %E %Cc W 00015 ! #"You amaze me, %p! How many times did I tell you that Balance ! #requires care. One must use the world with care, lest one leave it in ruins ! #and simplify the task of %n. ! # ! #"You must go back and show your worthiness. Do not return until you are ! #truly ready for this quest. May %d guide you in this task." ! ¡Ö%p¤è¡¤¤ª¤Þ¤¨¤Ë¤Ï¶Ã¤¤¤¿¡¥Ä´Ï¤ˤϺٿ´¤ÎÃí°Õ¤òʧ¤¦É¬Íפ¬¤¢¤ë¤È¡¤ ! ²¿ÅÙ¸À¤Ã¤¿¤é¤ï¤«¤ë¤Î¤À¡¥À¤³¦¤ò°·¤¦¤Ë¤ÏÃí°Õ¤ò¤â¤Ã¤Æ¤»¤è¡¥¤µ¤â¤Ê¤¯¤Ð¡¤ ! À¤³¦¤ÏÇѵõ¤È²½¤·¡¤%n¤Î»Å»ö¤ò³Ú¤Ë¤¹¤ë¤À¤±¤À¡¥ ! ¡ÖÌá¤Ã¤Æ¡¤¼«Ê¬¤¬¤¤¤«¤Ë²ÁÃͤ¢¤ë¼Ô¤«¡¤¼¨¤¹¤Î¤À¡¥ËÁ¸±¤Î½àÈ÷¤¬ËÜÅö¤ËÀ°¤¦¤Þ ! ¤Ç¡¤¤³¤³¤ËÌá¤ë¤³¤È¤Ïµö¤µ¤ó¡¥%d¤ÎƳ¤­¤Î¤¢¤é¤ó¤³¤È¤ò¡¥¡× %E %Cc W 00016 %E ! #"Yes, %p, you truly are ready for this dire task. Listen, ! #carefully, for what I tell you now will be of vital importance. ! # ! #"Since you left us to hone your skills in the world, we unexpectedly came ! #under attack by the forces of %n. As you know, we thought ! #%n had perished at the end of the last age, but, alas, this was ! #not the case. ! # ! #"%nC sent an army of abominations against us. Among them was a ! #minion, mindless and ensorcelled, and thus, in the confusion, it was able ! #to penetrate our defenses. Alas, this creature has stolen ! #%o and I fear it has delivered %o ! #to %n. ! # ! #"Over the years, I had woven most of my power into this amulet, and thus, ! #without it, I have but a shadow of my former power, and I fear that I ! #shall soon perish. ! # ! #"You must travel to %i, and within its dungeons, ! #find and overcome %n, and return %o to me. ! # ! #"Go now, with %d, and return Balance to the world." ! ¡Ö%p¤è¡¤¤³¤Î¤ª¤½¤í¤·¤¤»Å»ö¤Ø¤Î½àÈ÷¤Ï¤Þ¤µ¤ËÀ°¤Ã¤¿¤è¤¦¤À¤Ê¡¥ ! ¤è¤¯Ê¹¤±¡¥¤³¤ì¤«¤é¤ï¤¿¤·¤Î¸À¤¦¤³¤È¤Ï¡¤¤ª¤Þ¤¨¤Ë¤È¤Ã¤Æ¤­¤ï¤á¤Æ½ÅÍפʤ³ ! ¤È¤Ê¤Î¤À¡¥ ! ! ¡Ö¤ª¤Þ¤¨¤¬µ»¤òË᤯¤¿¤á¡¤²æ¡¹¤ò»Ä¤·¡¤À¤¤Ë½Ð¤Æ¹Ô¤Ã¤Æ¤«¤é¤È¤¤¤¦¤â¤Î¡¤²æ¡¹ ! ¤Ï%n¤Î¼ê¤Ë¤è¤êͽ´ü¤·¤Ê¤¤¹¶·â¤ò¿©¤é¤Ã¤Æ¤¤¤ë¡¥%n¤Ï ! Àè¤Î»þÂå¤Î½ª¤ê¤ËÌǤó¤À¤â¤Î¤È»×¤Ã¤Æ¤¤¤¿¡¥¤·¤«¤·¡¤¤¢¤¢¡¤¤½¤ì¤Ï´Ö°ã¤¤¤À ! ¤Ã¤¿¤Î¤À¡¥ ! ! ¡Ö%n¤Ï´÷¤Þ¤ï¤·¤­¤â¤Î¤ÎÂç·²¤ò¡¤²æ¡¹¤Î¤â¤È¤Ø¤è¤³¤·¤¿¡¥¤½¤Î¤Ê¤« ! ¤Ë¤ÏÍýÀ­¤Î¤Ê¤¤Ëâ½Ñ»È¤¤¤Î¼ê²¼¤¬¤ª¤ê¡¤º®Íð¤Ë¾è¤¸¤Æ²æ¡¹¤ÎËɱÒÀþ¤òÆÍÇˤ¹ ! ¤ë¤³¤È¤¬¤Ç¤­¤¿¤Î¤À¡¥¤¢¤¢¡¤¤½¤¤¤Ä¤Ï%o¤òÅð¤ó¤Ç¤·¤Þ¤Ã¤¿¡¥ ! ¤½¤·¤Æ%o¤ò%n¤Î¤â¤È¤ØÆϤ±¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¤ï¤¿ ! ¤·¤Ï¶²¤ì¤Æ¤¤¤ë¡¥ ! ! ¡ÖĹǯ¤Î´Ö¡¤¤ï¤¿¤·¤Ï¼«Ê¬¤ÎÎϤΤۤȤó¤É¤ò¡¤¤³¤ÎËâ¤è¤±¤ËÃí¤®¹þ¤ó¤À¡¥¤½¤Î ! ¤»¤¤¤Ç¤ï¤¿¤·¤ÏËâ¤è¤±¤Ê¤·¤Ç¤Ï¡¤ÎϤò¤Û¤È¤ó¤Éȯ´ø¤Ç¤­¤Ê¤¤¡¥¤½¤·¤Æ¡¤¤½¤Î ! ¤Þ¤Þ»à¤ó¤Ç¤·¤Þ¤¦¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¤ï¤¿¤·¤Ï¶²¤ì¤Æ¤¤¤ë¡¥ ! ¡Ö¤ª¤Þ¤¨¤Ï%i¤Ø¹Ô¤­¡¤¤½¤ÎÌÂÏ©¤ÎÃæ¤Ç%n¤ò¸«¤Ä¤±ÂǤÁÅݤ·¡¤ ! %o¤ò¤ï¤¿¤·¤Î¤â¤È¤ØÃ¥¤¤ÊÖ¤·¤Æ¤¯¤ë¤Î¤À¡¥ ! ¡Ö%d¤È¤È¤â¤Ë¹Ô¤±¡¥¤½¤·¤ÆÀ¤³¦¤ÎĴϤò¼è¤êÌ᤹¤Î¤À¡¥¡× %Cp W 00020 ! #"Beware, for %n is immune to most magical attacks." ! ¡Öµ¤¤ò¤Ä¤±¤í¡¥%n¤òËâË¡¤Ç¹¶·â¤·¤Æ¤â¡¤ÂçÄñ¸ú¤«¤Ê¤¤¤¾¡¥¡× %E %Cp W 00021 ! #"To enter %i you must pass many traps." ! ¡Ö%i¤ËÆþ¤ë¤¿¤á¤Ë¤Ï¡¤æ«¤ò¤¿¤¯¤µ¤ó¤«¤ï¤µ¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥¡× %E %Cp W 00022 ! #"%nC may be vulnerable to physical attacks." ! ¡Ö%n¤Ï¡¤ÊªÍýŪ¹¶·â¤Ë¤Ï¼å¤¤¤È¤¤¤¦¤³¤È¤â¤¢¤ê¤¦¤ë¡¥¡× %E %Cp W 00023 ! #"%d will come to your aid when you call." ! ¡Ö%d¤Ï¡¤¸Æ¤Ù¤Ð¡¤¤¢¤Ê¤¿¤ò½õ¤±¤ËÍè¤Æ¤¯¤ì¤ë¤³¤È¤À¤í¤¦¡¥¡× %E %Cp W 00024 ! #"You must utterly destroy %n. He will pursue you otherwise." ! ¡Ö%n¤Ï´°Á´¤Ë»¦¤·¤Æ¤·¤Þ¤ï¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥¤½¤¦¤·¤Ê¤¤¤È¡¤¤¤¤Ä¤Þ¤Ç¤â ! Äɤ¤¤«¤±¤Æ¤¯¤ë¡¥¡× %E %Cp W 00025 ! #"%oC is a mighty artifact. With it you can ! #destroy %n." ! ¡Ö%oC¤Ï¶¯ÎϤÊÀ»´ï¤À¡¥¤³¤ì¤ò»È¤¨¤Ð¡¤%n¤ò»¦¤¹¤³¤È¤¬¤Ç¤­¤ë¡¥¡× %E %Cp W 00026 ! #"Go forth with the blessings of %d." ! ¡Ö%d¤Î½ËÊ¡¤È¤È¤â¤Ë¿Ê¤á¡¥¡× %E %Cp W 00027 ! #"I will have my %gP watch for your return." ! ¡Ö¤ï¤¿¤·¤Î%gP¤Ë¡¤¤¢¤Ê¤¿¤Îµ¢´Ô¤òÂÔ¤¿¤»¤ë¤È¤·¤è¤¦¡¥¡× %E %Cp W 00028 ! #"Feel free to take any items in that chest that might aid you." ! ¡Ö¤³¤ÎÈ¢¤ÎÃæ¤Î¤â¤Î¤Ç¡¤ÌòΩ¤Ä¤â¤Î¤¬¤¢¤ì¤Ð²¿¤Ç¤â»ý¤Ã¤Æ¤¤¤¯¤¬¤è¤¤¡¥¡× %E %Cp W 00029 ! #"You will know when %o is near. Proceed with care!" ! ¡Ö%o¤¬¶áÉÕ¤¤¤Æ¤¯¤ë¤È¡¤¤½¤ì¤ò´¶¤¸¤ë¤À¤í¤¦¡¥Ãí°Õ¿¼¤¯¿Ê¤á¡ª¡× %E %Cp W 00030 ! #Wisps of fog swirl nearby. You feel that %ns lair is close. ! ¶á¤¯¤Ç±ì¤¬°ì¶Ú¡¤±²¤ò´¬¤¤¤Æ¤¤¤ë¡¥¤¢¤Ê¤¿¤Ï%n¤Î±£¤ì²È¤¬ ! ¶áÉÕ¤¤¤¿¤Î¤ò´¶¤¸¤¿¡¥ %E %Cp W 00031 ! #You believe that you may once again invade %i. ! ¤¢¤Ê¤¿¤Ï¡¤¼«Ê¬¤¬ºÆ¤Ó¡¤%i¤Ë¿¯Æþ¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¤³¤È¤ò ! ³Î¿®¤·¤¿¡¥ %E %Cp W 00040 ! #You feel your mentor's presence; perhaps %o is nearby. ! ¤¢¤Ê¤¿¤Ï»Õ¤Î¸ºß¤ò´¶¤¸¤¿¡¥%o¤¬¶á¤¤¤Î¤À¤í¤¦¡¥ %E %Cp W 00041 ! #The aura of %o tingles at the edge of your perception. ! %o¤Î¥ª¡¼¥é¤Î¤»¤¤¤Ç¡¤¤¢¤Ê¤¿¤ÎÃγФΤؤ꤬¤Ò¤ê¤Ò¤ê¤·¤¿¡¥ %E %Cc W 00050 ! #"Ah, I recognize you, %p. So, %l has sent you to steal ! #%o from me, hmmm? Well, %l is a ! #fool to send such a mental weakling against me. ! # ! #"Your destruction, however, should make for good sport. In the end, you ! #shall beg me to kill you!" ! ¡Ö¤ª¤ª¡¤%p¡¤·¯¤«¡¥¤Ä¤Þ¤ê¡¤%l¤Ï¤ï¤¿¤·¤«¤é%o¤ò ! Åð¤ß½Ð¤¹¤¿¤á¤Ë·¯¤òÁ÷¤ê¹þ¤ó¤À¤Ã¤Æ¤ï¤±¤À¤Í¡©¤³¤ó¤Ê¤¦¤¹¤éÇϼ¯¤ò¤ï¤¿¤·¤Ë ! º¹¤·¸þ¤±¤ë¤È¤Ï¡¤%l¤â¥ä¥­¤¬¤Þ¤ï¤Ã¤¿¤â¤ó¤À¤Í¤§¡¥¡× ! ¡Ö¤Þ¤Ã¡¤·¯¤ò¤ä¤Ã¤Ä¤±¤ë¤Î¤â¡¤¤¤¤¤±¿Æ°¤Ë¤Ê¤ë¤À¤í¤¦¡¥¤·¤Þ¤¤¤Ë¤Ï¡¤¼«Ê¬¤«¤é ! »¦¤·¤Æ¤¯¤ì¤Ã¤Æ¤ï¤¿¤·¤Ëº©´ê¤µ¤»¤Æ¤¢¤²¤è¤¦¤¸¤ã¤Ê¤¤¤«¡ª¡× %E %Cc W 00051 ! #"How nice of you to return, %p! I enjoyed our last meeting. Are you ! #still hungry for more pain? ! # ! #"Come! Your soul, like %o, shall soon be mine to ! #command." ! ¡Ö%p¤è¡¤¤è¤¯¤¾Ìá¤Ã¤Æ¤­¤¿¡¥¤³¤Î¤Þ¤¨¤Ï¤È¤Æ¤â³Ú¤·¤«¤Ã¤¿¤è¡¥ ! Äˤ¤»×¤¤¤Ë¤Þ¤À¤Þ¤Àµ²¤¨¤Æ¤ë¤Ã¤Æ¤ï¤±¤«¤¤¡©¡× ! ¡Ö¤«¤«¤Ã¤Æ¤³¤¤¡ª¤¹¤°¤Ë·¯¤Îº²¤ò¡¤%o¤ÈƱ¤¸¤¯¡¤¤ï¤¿¤·¤Î»×¤¦¤Þ¤Þ ! ¤Ë¤·¤Æ¤¢¤²¤è¤¦¤¸¤ã¤Ê¤¤¤«¡¥¡× %E %Cp W 00052 ! #"I'm sure that your perseverance shall be the subject of innumerable ! #ballads, but you shall not be around to hear them, I fear!" ! ¡Ö¤ª¤Þ¤¨¤ÎǦÂÑÎϤϡ¤Ìµ¿ô¤Îʪ¸ì¤Î¸ì¤ë¤È¤³¤í¤È¤Ê¤ë¤³¤È¤À¤í¤¦¡¥¤À¤¬¡¤¤ï¤¿ ! ¤·¤¬¶²¤ì¤ë¤Î¤Ï¡¤¤ª¤Þ¤¨¤¬¤½¤ì¤òʹ¤¯¤³¤È¤Ï¤Ä¤¤¤¾¤Ê¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¤¤¤¦ ! ¤³¤È¤À¡ª¡× %E %Cp W 00053 ! #"Thief! %o belongs to me, now. I shall feed ! #your living flesh to my minions." ! ¡ÖÅ¥ËÀ¡ª%o¤Ïº£¤ä¤ï¤¿¤·¤Î¤â¤Î¤À¡¥¤ª¤Þ¤¨¤ÎÆù¤ò¡¤¤ï¤¿¤·¤Î¼ê²¼¤É¤â ! ¤Ë¤¯¤ì¤Æ¤ä¤ë¤¾¡¥¡× %E %Cp W 00060 ! #"Your puny powers are no match for me, fool!" ! ¡ÖÇϼ¯¤â¤Î¤á¡¤¤½¤ó¤Ê¤Ò¤è¤ï¤Ê¤³¤È¤Ç¤ï¤¿¤·¤Ë¤«¤Ê¤¦¤È»×¤Ã¤¿¤«¡ª¡× %E %Cp W 00061 ! #"When you are defeated, your torment will last for a thousand years." ! ¡Ö·¯¤Î»à¤Î¶ì¤·¤ß¤Ï1000ǯ¤â¤Î¤¢¤¤¤À³¤¯¤³¤È¤Ë¤Ê¤í¤¦¡¥¡× %E %Cp W 00062 ! #"After your downfall, %p, I shall devour %l ! #for dessert!" ! ¡Ö%p¤è¡¤·¯¤òÚͤ·¤¿¤¢¤È¤Ï¡¤¥Ç¥¶¡¼¥È¤Ë%l¤òÌǤܤ·¤Æ ! ¤ä¤í¤¦¤¸¤ã¤Ê¤¤¤«¡ª¡× %E %Cp W 00063 ! #"Are you ready yet to beg for mercy? I could be lenient..." ! ¡Ö¤â¤¦»üÈá¤ò¸ð¤¦½àÈ÷¤Ï¤Ç¤­¤¿¤«¤¤¡©¤ï¤¿¤·¤¬´²Âç¤Ç¤¢¤Ã¤¿¤é¤è¤«¤Ã¤¿¤«¤â¤Ê¡¥¡¥¡¥¡× %E %Cp W 00064 ! #"Your soul shall join the enslaved multitude I command!" ! ¡Ö·¯¤Îº²¤ò¡¤¤ï¤¿¤·¤ÎÌ¿¤Ë½¾¤¦¤ä¤Ä¤é¤Ë²Ã¤¨¤Æ¤ä¤í¤¦¤¸¤ã¤Ê¤¤¤«¡ª¡× %E %Cp W 00065 ! #"Your lack of will is evident, and you shall die as a result." ! ¡Ö·¯¤Ëµ¤ÎϤ¬¤Ê¤¤¤³¤È¤ÏÌܤ˸«¤¨¤Æ¤¤¤ë¤ó¤À¡¥¤½¤ì¤¬Ì¿¤È¤ê¤Ë¤Ê¤ë¤ó¤À¤è¡¥¡× %E %Cp W 00066 ! #"Your faith in %d is for naught! Come, submit to me now!" ! ¡Ö·¯¤Î%d¤Ø¤Î¿®¿´¤Ï̵Â̤À¡ª¤µ¤¢¡¤¤â¤Ï¤ä¡¤¤ï¤¿¤·¤Ë½¾¤¦¤Î¤À¡ª¡× %E %Cp W 00067 ! #"A mere %r is nothing compared to my skill!" ! ¡Ö%r¤Ê¤É¡¤¤ï¤¿¤·¤Îµ»¤ËÈæ¤Ù¤ì¤Ð¤â¤Î¤Î¿ô¤Ç¤Ï¤Ê¤¤¡ª¡× %E %Cp W 00068 ! #"So, you are the best hope of %l? How droll." ! ¡Ö¤Û¤¦¡¤·¯¤Ï%l¤ÎºÇÂç¤Î´õ˾¤Ç¤¢¤ë¤Ã¤Æ¤ï¤±¤«¤Í¡©¤³¤ê¤ã¤¢¡¤·æºî¤À¡¥¡× %E %Cp W 00069 ! #"Feel my power, %c! My victory is imminent!" ! ¡Ö%c¤è¡¤¤ï¤¿¤·¤ÎÎϤò´¶¤¸¤ë¤Î¤À¡ª¤ï¤¿¤·¤Î¾¡Íø¤ÏÌܤ˸«¤¨¤Æ¤ë¤¸¤ã¤Ê¤¤¤«¡ª¡× %E %Cc W 00070 ! #As you touch %o, its comforting power infuses you ! #with new energy. You feel as if you can detect others' thoughts flowing ! #through it. Although you yearn to wear %o ! #and attack the Wizard of Yendor, you know you must return it to its ! #rightful owner, %l. ! %o¤Ë¿¨¤ì¤ë¤È¡¤¤½¤Î¿´ÃϤ褤ÎϤϤª¤Þ¤¨¤Ë¿·¤¿¤Ê¤ëÎϤòÃí¤¤¤Ç ! ¤¯¤ì¤ë¡¥¤ª¤Þ¤¨¤Ï¤½¤ì¤«¤éή¤ì½Ð¤Æ¤¯¤ë¾¤Î¼Ô¤Î»×¹Í¤òÍý²ò¤Ç¤­¤ë¤è¤¦¤Êµ¤¤¬ ! ¤¹¤ë¤³¤È¤À¤í¤¦¡¥¤ª¤Þ¤¨¤Ï%o¤ò¤Þ¤È¤Ã¤Æ¥¤¥§¥ó¥À¡¼¤ÎËâË¡»È¤¤ ! ¤ò¹¶·â¤¹¤ë¤³¤È¤òÀڤ˴ꤦ¤Ç¤¢¤í¤¦¤¬¡¤¤ª¤Þ¤¨¤Ï¤½¤ÎÀµÅö¤Ê¤ë½êÍ­¼Ô¡¤ ! %l¤Î¤â¤È¤Ø¼«Ê¬¤¬Ìá¤é¤Í¤Ð¤Ê¤é¤Ì¤Î¤À¡¥ %E %Cc W 00080 ! #%nC croaks out, as his body begins to shrivel up: ! # ! # I shall haunt your progress until the end of time. A thousand ! # curses on you and %l. ! # ! #Then, the body bursts into a cloud of choking dust, and blows away. ! %n¤¬¶«¤Ö¤È¡¤¤½¤ÎÂΤϤߤë¤ß¤ë¤¦¤Á¤Ë¤·¤Ü¤ß¤Ï¤¸¤á¤¿¡¥ ! ¤ª¤Þ¤¨¤Î¹Ô¤¯À衹¡¤»þ¤Î½ª¤ê¤Þ¤Ç¤¿¤¿¤Ã¤Æ¤ä¤ë¡¥ ! ¤ª¤Þ¤¨¤È%l¤ËÀé¤Î¼ö¤¤¤Î¤¢¤é¤ó¤³¤È¤ò¡¥ ! ¤¹¤ë¤È¡¤¤½¤ÎÂΤÏÇúȯ¤·¤Æ©¤Î¤Ä¤Þ¤ê¤½¤¦¤Ê±ì¤ËÊѤï¤ê¡¤Î®¤ì¤Æ¾Ã¤¨¤¿¡¥ %E %Cc W 00081 ! #%lC notices %o in your possession, ! #beams at you and says: ! # ! # I knew you could defeat %n and retrieve ! # %o. We shall never forget this ! # brave service. ! # ! # Take %o with you in your quest for ! # the Amulet of Yendor. I can sense that it has attuned ! # itself to you already. ! # ! # May %d guide you in your quest, and keep you from harm. ! %l¤Ï¤¢¤Ê¤¿¤¬%o¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤Ëµ¤¤¬¤Ä¤­¡¤ ! ¤¢¤Ê¤¿¤ò¸«¤Æ¸À¤Ã¤¿¡¥ ! ! ¤É¤¦¤ä¤é¡¤%n¤ò¤¿¤ª¤·¤Æ%o¤ò¤È¤ê¤«¤¨¤¹ ! ¤³¤È¤¬¤Ç¤­¤¿¤è¤¦¤À¤Ê¡¥¤ï¤¿¤·¤Ï¤³¤Îͦµ¤¤¢¤ë¹Ô¤Ê¤¤¤ò·è¤·¤Æ˺¤ì¤Ï¤·¤Þ ! ¤¤¤¾¡¥ ! ¥¤¥§¥ó¥À¡¼¤ÎËâ¤è¤±¤òµá¤á¤Ë¡¤%o¤ò·È¤¨¤Æ¹Ô¤¯¤¬¤è¤¤¡¥ ! ¤¹¤Ç¤Ë¤ª¤Þ¤¨¤ËƱĴ¤·¤Æ¤¤¤ë¤Î¤¬¤ï¤¿¤·¤Ë¤Ï¤ï¤«¤ë¤Î¤À¡¥ ! %d¤¬¤ª¤Þ¤¨¤Îι¤òƳ¤­¡¤´í¸±¤è¤ê¼é¤é¤ó¤³¤È¤ò¡¥ %E %Cc W 00090 ! #"Come near, my %S, and share your adventures with me. So, have you ! #succeeded in your quest for the Amulet of Yendor?" ! ¡Ö¤ï¤¬%S¤è¡¤¤â¤Ã¤È¶á¤¯¤ËÍè¤Æ¡¤ËÁ¸±¤ò¶¦¤Ë¤·¤Æ¤¯¤ì¡¥¥¤¥§¥ó¥À¡¼ ! ¤ÎËâ¤è¤±¤Ï¤â¤¦¡¤¼ê¤ËÆþ¤ì¤¿¤«¤Í¡©¡× %E %Cc W 00091 ! #"Congratulations, %p. I always knew that if anyone could succeed ! #in defeating the Wizard of Yendor and his minions, it would be you. ! # ! #"Go now, and take the Amulet to the astral plane. Once there, present ! #the Amulet on the altar of %d. Along the way you shall pass through the ! #four elemental planes. These planes are like nothing you have ever ! #experienced before, so be prepared! ! # ! #"For this you were born, %s! I am very proud of you." ! ¡Ö%p¤è¡¤¤ª¤á¤Ç¤È¤¦¡¥¥¤¥§¥ó¥À¡¼¤ÎËâË¡»È¤¤¤È¤½¤Î°ìÌ£¤ò¤¿¤ª¤¹¤³¤È ! ¤¬¤Ç¤­¤ë¤â¤Î¤¬¤¤¤ë¤È¤¹¤ì¤Ð¡¤¤ª¤Þ¤¨¤Ç¤¢¤í¤¦¤³¤È¤Ï¤ï¤¿¤·¤Ë¤Ï¤¤¤Ä¤â¤ï¤«¤Ã ! ¤Æ¤¤¤¿¤è¡¥ ! ! ¡Ö¤½¤ÎËâ½ü¤±¤ò»ý¤Á¡¤ÀºÎ¤Ë¹Ô¤¯¤Î¤À¡¥ÀΡ¤¤½¤ÎËâ½ü¤±¤Ï%d¤Îº×ÃŤˤ¢¤Ã¤¿¤Î ! ¤À¡¥¤½¤ÎÅÓÃ桤¤ª¤Þ¤¨¤Ï£´¤Ä¤Î³¦Ì̤òÄ̲᤹¤ë¤³¤È¤Ë¤Ê¤í¤¦¡¥º£¤Þ¤Ç¤Î·Ð¸³¤Ë ! ¤Ê¤¤¾ì½ê¤À¡¤³Ð¸ç¤ò·è¤á¤Æ¤ª¤¯¤Î¤À¤¾¡ª ! ¡Ö%s¤è¡¤¤ª¤Þ¤¨¤Ï¤³¤Î¤¿¤á¤ËÀ¸¤Þ¤ì¤Æ¤­¤¿¤Î¤À¡¥¤ª¤Þ¤¨¤ò¤ï¤¿¤·¤Ï¤È¤Æ¤â ! ¤Û¤³¤é¤·¤¯»×¤¦¤¾¡¥¡× %E # # General # %Cc - 00001 ! #It is written in the Book of %d: ! # ! # After the Creation, the cruel god Moloch rebelled ! # against the authority of Marduk the Creator. ! # Moloch stole from Marduk the most powerful of all ! # the artifacts of the gods, the Amulet of Yendor, ! # and he hid it in the dark cavities of Gehennom, the ! # Under World, where he now lurks, and bides his time. ! # ! #Your god %d seeks to possess the Amulet, and with it ! #to gain deserved ascendance over the other gods. ! # ! #You, a newly trained %r, have been heralded ! #from birth as the instrument of %d. You are destined ! #to recover the Amulet for your deity, or die in the ! #attempt. Your hour of destiny has come. For the sake ! #of us all: Go bravely with %d! ! ¤³¤ì¤Ï¡¤%d¤Î½ñ¤Ë½Ò¤Ù¤é¤ì¤Æ¤¤¤ë¤â¤Î¤Ç¤¢¤ë¡¥ ! ! Å·ÃÏÁϤ¤Î¸å¡¤Ç˲õ¿À¥â¡¼¥í¥Ã¥¯¡¤ÁϤ¼ç¥Þ¥ë¥É¥¥¡¼¥¯¤È°ã¤¤¤·¤Æ ! È¿Íð¤òµ¯¤³¤¹¡¥Ç˲õ¿À¥â¡¼¥í¥Ã¥¯¡¤¥Þ¥ë¥É¥¥¡¼¥¯¤ÎÀ»´ï¤Î¤Ê¤«¤è¤ê ! ¤â¤Ã¤È¤âÎϤ¢¤ë¡¤¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤òÅð¤ß¤À¤·¡¤¤½¤ì¤òÈà¤ÎÀø¤à ! À¤³¦¤ÎÄ졤¥²¥Ø¥Ê¤Î°Ç¤Îƶ·¢¤Ë±£¤·¡¤»þ¤òÂԤƤꡥ ! ! ¤¢¤Ê¤¿¤Î¿À%d¤ÏËâ½ü¤±¤ò˾¤ß¡¤Â¾¤Î¿À¤è¤êÅöÁ³¤ÎÍ¥Àª¤òÆÀ ! ¤è¤¦¤Èõº÷¤·¤Æ¤¤¤ë¡¥ ! ! ¤¢¤Ê¤¿¤Ï¸½ºß¡¤¤Þ¤À%r¤Ç¤Ï¤¢¤ë¤¬¡¤À¸¤Þ¤ì¤¿¤È¤­¤«¤é%d ! ¤Î²¼ËͤÈͽ¸À¤µ¤ì¤Æ¤¤¤ë¡¥¼ç¿À¤Î¤¿¤á¡¤¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤òȯ¸« ! ¤¹¤ë¤«¡¤¤½¤Î¤¿¤á¤Ë»à¤Ì¤«¤¬±¿Ì¿¤Å¤±¤é¤Æ¤¤¤ë¡¥¤¢¤Ê¤¿¤Î±¿Ì¿¤Î»þ ! ¤ÏÍ褿¡ª²æ¡¹¤Î¤¿¤á¤Ë¡¤%d¤Î²Ã¸î¤Î¤¢¤é¤ó¤³¤È¤ò¡ª %E %Cp - 00002 ! #You receive a faint telepathic message from %l: ! #Your help is urgently needed at %H! ! #Look for a ...ic transporter. ! #You couldn't quite make out that last message. ! ¤¢¤Ê¤¿¤Ï¡¤%l¤«¤éÈù¤«¤Ê¥Æ¥ì¥Ñ¥·¡¼¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¤È¤Ã¤¿¡§ ! %H¤Ç¤ª¤Þ¤¨¤Î½õ¤±¤ò²ÐµÞ¤ËɬÍפȤ·¤Æ¤¤¤ë¡¥ ! Ëâ..¤Î..¸ý¤òõ¤¹¡¥¡¥¡¥¡¥¡¥ ! ¤¢¤Ê¤¿¤ÏºÇ¸å¤Î¥á¥Ã¥»¡¼¥¸¤ò´°Á´¤Ë¼õ¤±¤È¤ì¤Ê¤«¤Ã¤¿¡¥ %E %Cp - 00003 ! #You again sense %l pleading for help. ! ¤¢¤Ê¤¿¤Ï¡¤¤Þ¤¿%l¤¬½õ¤±¤òµá¤á¤Æ¤¤¤ë¤Î¤ò´¶¤¸¤¿¡¥ %E %Cp - 00004 ! #You again sense %l demanding your attendance. ! ¤¢¤Ê¤¿¤Ï¡¤¤Þ¤¿%l¤¬¤¢¤Ê¤¿¤Î»²²Ã¤òµá¤á¤Æ¤¤¤ë¤Î¤ò´¶¤¸¤¿¡¥ %E # # Angelic maledictions. # %Cp - 00010 ! #"Repent, and thou shalt be saved!" ! ¡Ö²ù¤¤¤¢¤é¤¿¤á¤è¡¤¤µ¤ì¤ÐÆòµß¤ï¤ì¤ó¡ª¡× %E %Cp - 00011 ! #"Thou shalt pay for thine insolence!" ! ¡ÖÆò¡¤¸Ê¤ÎƯ¤­¤·ÐþËý¤ÎÊ󤤤ò¼õ¤±¤ë¤Ù¤·¡ª¡× %E %Cp - 00012 ! #"Very soon, my child, thou shalt meet thy maker." ! ¡Ö²æ¤¬»Ò¤è¡¤Æò¤Ï¸Ê¤Îºî¤ê¤¿¤â¤¦¼Ô¤Ë¤¢¤¤¤Þ¸«¤¨¤ë¤³¤È¤Ë¤Ê¤í¤¦¡¥¡× %E %Cp - 00013 ! #"The great %D has sent me to make you pay for your sins!" ! ¡Ö°ÎÂç¤Ê¤ë%D¤¬Æò¤Îºá¤Î½þ¤¤¤Î¤¿¤á²æ¤ò»È¤ï¤»¤ó¡¥¡× %E %Cp - 00014 ! #"The wrath of %D is now upon you!" ! ¡Ö¤½¤Ê¤¿¤Ï%D¤ÎÅܤê¤Ë¿¨¤ì¤¿¡ª¡× %E %Cp - 00015 ! #"Thy life belongs to %D now!" ! ¡ÖÆò¤ÎÀ¸Ì¿¡¤¤¤¤Þ¤ä%D¤Î¾¸¤Î¾å¤Ê¤ê¡ª¡× %E %Cp - 00016 ! #"Dost thou wish to receive thy final blessing?" ! ¡ÖÆòºÇ¸å¤Î½ËÊ¡¤ò¼õ¤±¤ë¤³¤È¤ò½ê˾¤¹¤ë¤«¡©¡× %E %Cp - 00017 ! #"Thou art but a godless void." ! ¡ÖÆò¡¤¿À¤ò¤â¿®¤¸¤Ì°Ûü¼Ô°Ê³°¤Î²¿¼Ô¤Ç¤â¤Ê¤¤¡¥¡× %E %Cp - 00018 ! #"Thou art not worthy to seek the Amulet." ! ¡ÖÆò¡¤Ëâ½ü¤±¤òõ¤·µá¤á¤ë¤ËÃͤ·¤Ê¤¤¡ª¡× %E %Cp - 00019 ! #"No one expects the Spanish Inquisition!" ! ¡Ö°Ûü¿³Ìä¤ò¼õ¤±¤ë¤³¤È¤òͽÁÛ¤¹¤ë¼Ô¤Ê¤Éï¤â¤¤¤Ê¤¤¡ª¡× %E # # Demonic maledictions. # %Cp - 00030 ! #"I first mistook thee for a statue, when I regarded thy head of stone." ! ¡Ö¤ªÁ°¤ÎÀÐƬ¤ò¸«¤Æ¡¤¤ªÁ°¤òÀÐÁü¤È´Ö°ã¤¨¤¿¤ï¤¤¡¥¡× %E %Cp - 00031 ! #"Come here often?" ! ¡Ö¤³¤³¤Ø¤Ï¤è¤¯Íè¤ë¤Î¤«¡©¡× %E %Cp - 00032 ! #"Dost pain excite thee? Wouldst thou prefer the whip?" ! ¡Ö¤ªÁ°¤Ï¶ìÄˤ˶½Ê³¤ò´¶¤¸¤ë¤«¡©ÊܤΤۤ¦¤¬¤è¤¤¤«¤Ê¡©¡× %E %Cp - 00033 ! #"Thinkest thou it shall tickle as I rip out thy lungs?" ! ¡Ö¤ªÁ°¤Î¤Ï¤é¤ï¤¿¤ò°ú¤­Îö¤¤¤¿¤é³Ú¤·¤¤¤È»×¤¦¤«¡©¡× %E %Cp - 00034 ! #"Eat slime and die!" ! ¡Ö¥¹¥é¥¤¥à¤Ç¤â¶ô¤é¤Ã¤Æ»à¤Í¤¤¡ª¡× %E %Cp - 00035 ! #"Go ahead, fetch thy mama! I shall wait." ! ¡Ö¼º¤»¤í¡ª¤ªÁ°¤Î¥Þ¥Þ¤Ç¤â¸Æ¤ó¤Ç¤­¤Ê¡ª¤½¤ì¤Þ¤ÇÂԤäƤä¤ë¡¥¡× %E %Cp - 00036 ! #"Go play leapfrog with a herd of unicorns!" ! ¡Ö¥æ¥Ë¥³¡¼¥ó¤Î·²¤ì¤ÈÇÏÈô¤Ó¤Ç¤â¤·¤ÆÍ·¤ó¤Ç¤Ê¡ª¡× %E %Cp - 00037 ! #"Hast thou been drinking, or art thou always so clumsy?" ! ¡Ö¤ªÁ°¤Ï¿ì¤Ã¤Ñ¤é¤¤¤«¡©¤½¤ì¤È¤â¤½¤ì¤¬¼ÂÎϤ«¡©¡× %E %Cp - 00038 ! #"This time I shall let thee off with a spanking, but let it not happen again." ! ¡Öº£²ó¤Ï¿¬Ã¡¤­¤À¤±¤Çµö¤½¤¦¡¥¤·¤«¤·ÆóÅÙÌܤϤ½¤¦¤Ï¤¤¤«¤Ì.¡× %E %Cp - 00039 ! #"I've met smarter (and prettier) acid blobs." ! ¡Ö¤ªÁ°¤è¤ê¤º¤Ã¤È¸­¤¤(¤«¤ÄåºÎï¤Ê)»À¤Î¥Ö¥í¥Ö¤ò¸«¤¿¤³¤È¤¬¤¢¤ë¤¾¡¥¡× %E %Cp - 00040 ! #"Look! Thy bootlace is undone!" ! ¡Ö¸«¤í¡ª·¤É³¤¬¤Û¤É¤±¤Æ¤ë¤¾¡ª¡× %E %Cp - 00041 ! #"Mercy! Dost thou wish me to die of laughter?" ! ¡Ö¤ï¤Ï¤Ï¡¤¤ä¤á¤Æ¤¯¤ì¡ª¤ªÁ°¤Ï»ä¤ò¾Ð¤¤»¦¤¹¤Ä¤â¤ê¤«¡©¡× %E %Cp - 00042 ! #"Run away! Live to flee another day!" ! ¡Öƨ¤²¼º¤»¤í¡ª°ìÆü¤Ç¤âŤ¯À¸¤­Â³¤±¤ë¤¬¤è¤¤¡ª¡× %E %Cp - 00043 ! #"Thou hadst best fight better than thou canst dress!" ! ¡Ö¤ªÁ°¤ÏÃ夳¤Ê¤¹¤è¤êÀ臘¤Û¤¦¤¬¤¦¤Þ¤¤¤Ê¡ª¡× %E %Cp - 00044 ! #"Twixt thy cousin and thee, Medusa is the prettier." ! ¡Ö¤ªÁ°¤È¤ªÁ°¤Î½¾·»Äï¤è¤ê¡¤¥á¥Ç¥å¡¼¥µ¤ÎÊý¤¬¤«¤ï¤¤¤¤¤¾¡¥¡× %E %Cp - 00045 ! #"Methinks thou wert unnaturally interested in yon corpse back there, eh, varlet?" ! ¡Ö¸«¤ë¸Â¤ê¤Ç¤Ï¡¤¸þ¤³¤¦¤Ë¤¢¤ë¸Ê¤Î»Ó¤Ë̵´Ø¿´¤Ê¤è¤¦¤À¤¬¡¤ ! ¼ÂºÝ¤Ï¤É¤¦¤Ê¤Î¤À¡©¤³¤ï¤Ã¤Ñ¡× %E %Cp - 00046 ! #"Up thy nose with a rubber hose!" ! ¡ÖÉ¡¤Ë¥´¥à¥Û¡¼¥¹¤Ç¤âÆ͹þ¤ó¤Ç¤í¡ª¡× %E %Cp - 00047 ! #"Verily, thy corpse could not smell worse!" ! ¡Ö¤Ï¤Ã¤­¤ê¤¤¤Ã¤Æ¡¤¤½¤Á¤Î»Ó¤ÎÆ÷¤¤¤ÏºÇ°­¤À¡ª¡× %E %Cp - 00048 ! #"Wait! I shall polymorph into a grid bug to give thee a fighting chance!" ! ¡Ö¤ª¤Ã¤È¡ª¥°¥ê¥Ã¥É¥Ð¥°¤Ë¤Ç¤âÊѲ½¤·¤ÆÀ襤¤ò³Ú¤Ë¤·¤Æ¤ä¤í¤¦¤«¡ª¡× %E %Cp - 00049 ! #"Why search for the Amulet? Thou wouldst but lose it, cretin." ! ¡Ö²¿¸ÎËâ½ü¤±¤òõº÷¤¹¤ë¡©¤ªÁ°¤Î¤è¤¦¤Ê¤¦¤Ä¤±¤Ç¤Ï¤Ê¤¯¤¹¤À¤±¤À¡¥¡× %E # # TEST PATTERN # diff -c -r ../nethack-3.2.2/win/X11/Window.c ./win/X11/Window.c *** ../nethack-3.2.2/win/X11/Window.c Mon Oct 16 14:17:22 1995 --- ./win/X11/Window.c Tue Jul 22 23:18:50 1997 *************** *** 7,12 **** --- 7,18 ---- * drawing canvas with 16 colors and one font. */ + /* + ** Japanese version Copyright (C) Issei Numata, 1994-1996 + ** changing point is marked `JP' (94/6/7) or XI18N (96/7/19) + ** JNetHack may be freely redistributed. See license for details. + */ + #ifndef SYSV #define PRESERVE_NO_SYSV /* X11 include files may define SYSV */ #endif *************** *** 73,81 **** offset(bright_cyan), XtRString, "cyan" }, { XtNwhite, XtCColor, XtRPixel, sizeof(Pixel), offset(white), XtRString, "white" }, - { XtNfont, XtCFont, XtRFontStruct, sizeof(XFontStruct *), offset(font), XtRString, XtDefaultFont }, { XtNexposeCallback, XtCCallback, XtRCallback, sizeof(XtCallbackList), offset(expose_callback), XtRCallback, (char *)0 }, { XtNcallback, XtCCallback, XtRCallback, sizeof(XtCallbackList), --- 79,90 ---- offset(bright_cyan), XtRString, "cyan" }, { XtNwhite, XtCColor, XtRPixel, sizeof(Pixel), offset(white), XtRString, "white" }, { XtNfont, XtCFont, XtRFontStruct, sizeof(XFontStruct *), offset(font), XtRString, XtDefaultFont }, + #ifdef XI18N + { XtNfontSet, XtCFontSet, XtRFontSet, sizeof(XFontSet *), + offset(fontset), XtRString, XtDefaultFontSet }, + #endif { XtNexposeCallback, XtCCallback, XtRCallback, sizeof(XtCallbackList), offset(expose_callback), XtRCallback, (char *)0 }, { XtNcallback, XtCCallback, XtRCallback, sizeof(XtCallbackList), *************** *** 168,170 **** --- 177,184 ---- XFontStruct * WindowFontStruct(w) Widget w; { return ((WindowWidget)w)->window.font; } + + #ifdef XI18N + XFontSet + WindowFontSet(w) Widget w; { return ((WindowWidget)w)->window.fontset; } + #endif diff -c -r ../nethack-3.2.2/win/X11/dialogs.c ./win/X11/dialogs.c *** ../nethack-3.2.2/win/X11/dialogs.c Sat Dec 28 21:54:20 1996 --- ./win/X11/dialogs.c Tue Jul 22 23:18:50 1997 *************** *** 62,80 **** #endif #include "config.h" /* #define for const for non __STDC__ compilers */ /* ":" added to both translations below to allow limited redefining of * keysyms before testing for keysym values -- dlc */ ! static const char okay_accelerators[] = "#override\n\ ! :Return: set() notify() unset()\n"; ! static const char cancel_accelerators[] = "#override\n\ :Escape: set() notify() unset()\n\ :[: set() notify() unset()\n"; /* for keyboards w/o an ESC */ - /* Create a dialog widget. It is just a form widget with * a label prompt * a text response --- 62,89 ---- #endif #include "config.h" /* #define for const for non __STDC__ compilers */ + /* + ** for i18n by issei (1994/1/10) + */ + #ifdef XAW_I18N + #include + #endif /* ":" added to both translations below to allow limited redefining of * keysyms before testing for keysym values -- dlc */ ! /* ! ** added Ctl-m translation by nao (1994/6/26) ! */ ! static const char okay_accelerators[] = "#override\n\ ! :Return: set() notify() unset()\n\ ! :m: set() notify() unset()\n"; ! static const char cancel_accelerators[] = "#override\n\ :Escape: set() notify() unset()\n\ :[: set() notify() unset()\n"; /* for keyboards w/o an ESC */ /* Create a dialog widget. It is just a form widget with * a label prompt * a text response *************** *** 113,118 **** --- 122,131 ---- XtSetArg(args[num_args], XtNright, XtChainLeft); num_args++; XtSetArg(args[num_args], XtNresizable, True); num_args++; XtSetArg(args[num_args], XtNborderWidth, 0); num_args++; + + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif prompt = XtCreateManagedWidget("prompt", labelWidgetClass, form, args, num_args); *************** *** 132,137 **** --- 145,156 ---- XtSetArg(args[num_args], XtNeditType, XawtextEdit); num_args++; XtSetArg(args[num_args], XtNresize, XawtextResizeWidth); num_args++; XtSetArg(args[num_args], XtNstring, ""); num_args++; + /* + ** for i18n by issei (1994/1/10) + */ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif response = XtCreateManagedWidget("response", asciiTextWidgetClass, form, args, num_args); *************** *** 150,155 **** --- 169,180 ---- XtSetArg(args[num_args], XtNresizable, True); num_args++; XtSetArg(args[num_args], XtNaccelerators, XtParseAcceleratorTable(okay_accelerators)); num_args++; + /* + ** for i18n by issei (1994/1/10) + */ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif okay = XtCreateManagedWidget("okay", commandWidgetClass, form, args, num_args); XtAddCallback(okay, XtNcallback, okay_callback, form); *************** *** 172,183 **** XtSetArg(args[num_args], XtNresizable, True); num_args++; XtSetArg(args[num_args], XtNaccelerators, XtParseAcceleratorTable(cancel_accelerators)); num_args++; cancel = XtCreateManagedWidget("cancel", commandWidgetClass, form, args, num_args); XtAddCallback(cancel, XtNcallback, cancel_callback, form); XtInstallAccelerators(response, cancel); } - XtInstallAccelerators(response, okay); XtSetKeyboardFocus(form, response); --- 197,213 ---- XtSetArg(args[num_args], XtNresizable, True); num_args++; XtSetArg(args[num_args], XtNaccelerators, XtParseAcceleratorTable(cancel_accelerators)); num_args++; + /* + ** for i18n by issei (1994/1/10) + */ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif cancel = XtCreateManagedWidget("cancel", commandWidgetClass, form, args, num_args); XtAddCallback(cancel, XtNcallback, cancel_callback, form); XtInstallAccelerators(response, cancel); } XtInstallAccelerators(response, okay); XtSetKeyboardFocus(form, response); *************** *** 238,255 **** --- 268,301 ---- Widget w; String s; { + #ifndef XI18N Arg args[4]; + #else + Arg args[5]; + #endif Widget response; XFontStruct *font; Dimension width, nwidth, tmp, leftMargin, rightMargin; + #ifdef XI18N + XFontSet fontset; + XFontSetExtents *extent; + #endif response = XtNameToWidget(w, "response"); XtSetArg(args[0], XtNfont, &font); XtSetArg(args[1], XtNleftMargin, &leftMargin); XtSetArg(args[2], XtNrightMargin, &rightMargin); XtSetArg(args[3], XtNwidth, &width); + #ifndef XI18N XtGetValues(response, args, FOUR); nwidth = (font->max_bounds.width * strlen(s))+leftMargin+rightMargin; + #else + XtSetArg(args[4], XtNfontSet, &fontset); + XtGetValues(response, args, FIVE); + extent = XExtentsOfFontSet(fontset); + nwidth = ((extent->max_logical_extent.width * strlen(s)) + leftMargin + + rightMargin); + #endif tmp = width-(leftMargin+rightMargin); if (nwidth < tmp) nwidth = tmp; diff -c -r ../nethack-3.2.2/win/X11/winX.c ./win/X11/winX.c *** ../nethack-3.2.2/win/X11/winX.c Sat Dec 28 21:54:20 1996 --- ./win/X11/winX.c Wed Sep 24 14:54:16 1997 *************** *** 8,13 **** --- 8,19 ---- * interface. */ + /* + ** Japanese version Copyright (C) Issei Numata, 1994-1996 + ** changing point is marked `JP' (94/6/7) or XI18N (96/7/19) + ** JNetHack may be freely redistributed. See license for details. + */ + #ifndef SYSV #define PRESERVE_NO_SYSV /* X11 include files may define SYSV */ #endif *************** *** 451,464 **** --- 457,476 ---- X11_raw_print(str) const char *str; { + /*JP (void) puts(str); + */ + (void) jputs(str); } void X11_raw_print_bold(str) const char *str; { + /*JP (void) puts(str); + */ + (void) jputs(str); } void *************** *** 827,833 **** --- 839,849 ---- panic("ripout on non-text window (window type [%d])\n", wp->type); } + #ifndef XI18N calculate_rip_text(how); + #else + calculate_rip_text(how, wp->Win_info.Text_info->fontset); + #endif } #endif *************** *** 903,908 **** --- 919,927 ---- COPYRIGHT_BANNER_B, COPYRIGHT_BANNER_C, "", + /*JP*/ + "NetHack[ÆüËܸìÈÇ], Copyright 1993, 1994", + " By I. Numata , S. Miyashita and N. Hamada.", "", 0 }; *************** *** 911,927 **** Cardinal num_args; Arg args[4]; /* Init windows to nothing. */ for (i = 0; i < MAX_WINDOWS; i++) window_list[i].type = NHW_NONE; XSetIOErrorHandler((XIOErrorHandler) hangup); num_args = 0; XtSetArg(args[num_args], XtNallowShellResize, True); num_args++; toplevel = XtAppInitialize( &app_context, ! "NetHack", /* application class */ (XrmOptionDescList)0, 0, /* options list */ argcp, (String *)argv, /* command line args */ (String *)0, /* fallback resources */ --- 930,955 ---- Cardinal num_args; Arg args[4]; + /* Init windows to nothing. */ for (i = 0; i < MAX_WINDOWS; i++) window_list[i].type = NHW_NONE; + /*JP + ** i18n initialize by issei 1994/1/8 + */ + #ifdef XI18N + XtSetLanguageProc(NULL,NULL,NULL); + setlocale(LC_CTYPE, ""); + #endif + XSetIOErrorHandler((XIOErrorHandler) hangup); num_args = 0; XtSetArg(args[num_args], XtNallowShellResize, True); num_args++; toplevel = XtAppInitialize( &app_context, ! "JNetHack", /* application class */ (XrmOptionDescList)0, 0, /* options list */ argcp, (String *)argv, /* command line args */ (String *)0, /* fallback resources */ *************** *** 1200,1206 **** static boolean need_to_init = True; getline_input = input; - flush_screen(1); if (need_to_init) { Arg args[1]; --- 1228,1233 ---- *************** *** 1284,1289 **** --- 1311,1320 ---- int num_lines; char *textlines; int charcount; + #ifdef XI18N + XFontSet fontset; + XFontSetExtents *extent; + #endif /* Use the port-independent file opener to see if the file exists. */ fp = dlb_fopen(str, RDTMODE); *************** *** 1346,1351 **** --- 1377,1386 ---- XtSetArg(args[num_args], XtNdisplayCaret, False); num_args++; XtSetArg(args[num_args], XtNtranslations, XtParseTranslationTable(display_translations)); num_args++; + /*JP*/ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif dispfile = XtCreateManagedWidget( "text", /* name */ *************** *** 1356,1362 **** /* Get font and border information. */ num_args = 0; ! XtSetArg(args[num_args], XtNfont, &fs); num_args++; XtSetArg(args[num_args], XtNtopMargin, &top_margin); num_args++; XtSetArg(args[num_args], XtNbottomMargin, &bottom_margin); num_args++; XtSetArg(args[num_args], XtNleftMargin, &left_margin); num_args++; --- 1391,1401 ---- /* Get font and border information. */ num_args = 0; ! #ifndef XI18N ! XtSetArg(args[num_args], XtNfont, &fs); num_args++; ! #else ! XtSetArg(args[num_args], XtNfontSet, &fontset); num_args++; ! #endif XtSetArg(args[num_args], XtNtopMargin, &top_margin); num_args++; XtSetArg(args[num_args], XtNbottomMargin, &bottom_margin); num_args++; XtSetArg(args[num_args], XtNleftMargin, &left_margin); num_args++; *************** *** 1369,1377 **** --- 1408,1423 ---- * The data files are currently set up assuming an 80 char wide window * and a fixed width font. Soo.. */ + #ifndef XI18N new_height = num_lines * (fs->ascent + fs->descent) + top_margin + bottom_margin; new_width = 80 * fs->max_bounds.width + left_margin + right_margin; + #else + extent = XExtentsOfFontSet(fontset); + new_height = num_lines * extent->max_logical_extent.height + + top_margin + bottom_margin; + new_width = 40 * extent->max_logical_extent.width + left_margin + right_margin; + #endif /* Set the new width and height. */ num_args = 0; *************** *** 1571,1576 **** --- 1617,1626 ---- num_args = 0; XtSetArg(args[num_args], XtNtranslations, XtParseTranslationTable(yn_translations)); num_args++; + /*JP*/ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif yn_label = XtCreateManagedWidget("yn_label", labelWidgetClass, yn_popup, *************** *** 1684,1690 **** num_args = 0; XtSetArg(args[num_args], XtNallowShellResize, True); num_args++; ! form = XtCreateManagedWidget("nethack", panedWidgetClass, toplevel, args, num_args); --- 1734,1741 ---- num_args = 0; XtSetArg(args[num_args], XtNallowShellResize, True); num_args++; ! /*JP form = XtCreateManagedWidget("nethack",*/ ! form = XtCreateManagedWidget("jnethack", panedWidgetClass, toplevel, args, num_args); *************** *** 1717,1722 **** --- 1768,1777 ---- num_args = 0; XtSetArg(args[num_args], XtNtranslations, XtParseTranslationTable(yn_translations)); num_args++; + /*JP*/ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif yn_label = XtCreateManagedWidget("yn_label", labelWidgetClass, form, diff -c -r ../nethack-3.2.2/win/X11/winmenu.c ./win/X11/winmenu.c *** ../nethack-3.2.2/win/X11/winmenu.c Sat Dec 28 21:54:21 1996 --- ./win/X11/winmenu.c Tue Sep 23 07:04:02 1997 *************** *** 139,144 **** --- 139,150 ---- } XawListChange(wp->w, menu_info->curr_menu.list_pointer, 0, 0, True); #endif + #if 0 + #ifdef XI18N + /* XFontSet fontset;*/ + XFontSetExtents *extent; + #endif + #endif if (menu_info->how == PICK_ONE) menu_popdown(wp); *************** *** 683,688 **** --- 689,698 ---- Boolean *boolp; #endif char gacc[QBUFSZ], *ap; + #ifdef XI18N + /* XFontSet fontset;*/ + XFontSetExtents *extent; + #endif *menu_list = (menu_item *) 0; check_winid(window); *************** *** 908,913 **** --- 918,929 ---- XtSetArg(args[num_args], XtNmaxSelectable, menu_info->curr_menu.count); num_args++; #endif + /* + ** for i18n by issei (1994/1/10) + */ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif wp->w = XtCreateManagedWidget( "menu_list", /* name */ #ifdef USE_FWF *************** *** 923,929 **** --- 939,949 ---- /* Get the font and margin information. */ num_args = 0; + #ifndef XI18N XtSetArg(args[num_args], XtNfont, &menu_info->fs); num_args++; + #else + XtSetArg(args[num_args], XtNfontSet, &menu_info->fontset); num_args++; + #endif XtSetArg(args[num_args], XtNinternalHeight, &menu_info->internal_height); num_args++; XtSetArg(args[num_args], XtNinternalWidth, *************** *** 932,940 **** --- 952,966 ---- XtGetValues(wp->w, args, num_args); /* font height is ascent + descent */ + #ifndef XI18N menu_info->line_height = menu_info->fs->max_bounds.ascent + menu_info->fs->max_bounds.descent + row_spacing; + #else + extent = XExtentsOfFontSet(menu_info->fontset); + menu_info->line_height = + extent->max_logical_extent.height + row_spacing; + #endif menu_info->valid_widgets = TRUE; *************** *** 950,956 **** --- 976,987 ---- /* get the longest string on new menu */ v_pixel_width = 0; for (ptr = menu_info->new_menu.list_pointer; *ptr; ptr++) { + #ifndef XI18N len = XTextWidth(menu_info->fs, *ptr, strlen(*ptr)); + #else + len = XmbTextEscapement(menu_info->fontset, *ptr, strlen(*ptr)); + #endif + if (len > v_pixel_width) v_pixel_width = len; } diff -c -r ../nethack-3.2.2/win/X11/winmesg.c ./win/X11/winmesg.c *** ../nethack-3.2.2/win/X11/winmesg.c Sat Dec 28 21:54:21 1996 --- ./win/X11/winmesg.c Tue Jul 22 23:18:53 1997 *************** *** 77,82 **** --- 77,85 ---- Cardinal num_args; Widget viewport; struct mesg_info_t *mesg_info; + #ifdef XI18N + XFontSetExtents *extent; + #endif wp->type = NHW_MESSAGE; *************** *** 151,164 **** --- 154,180 ---- /* Get the font information. */ num_args = 0; XtSetArg(args[num_args], XtNfont, &mesg_info->fs); num_args++; + #ifdef XI18N + XtSetArg(args[num_args], XtNfontSet, &mesg_info->fontset); num_args++; + #endif XtGetValues(wp->w, args, num_args); + #ifdef XI18N + extent = XExtentsOfFontSet(mesg_info->fontset); + #endif /* Save character information for fast use later. */ + #ifndef XI18N mesg_info->char_width = mesg_info->fs->max_bounds.width; mesg_info->char_height = mesg_info->fs->max_bounds.ascent + mesg_info->fs->max_bounds.descent; mesg_info->char_ascent = mesg_info->fs->max_bounds.ascent; mesg_info->char_lbearing = -mesg_info->fs->min_bounds.lbearing; + #else + mesg_info->char_width = extent->max_logical_extent.width; + mesg_info->char_height = extent->max_logical_extent.height; + mesg_info->char_ascent = -extent->max_logical_extent.y; + mesg_info->char_lbearing = extent->max_logical_extent.x; + #endif get_gc(wp->w, mesg_info); *************** *** 237,242 **** --- 253,287 ---- struct xwindow *wp; const char *str; { + /* + ** for i18n by issei (1994/1/10) + */ + #if defined(XI18N) + int len; + XRectangle ink_ext, lgc_ext; + char ss[1024],s1[1024],s2[1024]; /* may be enough */ + + Strcpy(ss, str); + while(1){ + len = strlen(ss); + while(1){ + XmbTextExtents(wp->mesg_information->fontset, ss, len, + &ink_ext,&lgc_ext); + if(lgc_ext.width < wp->pixel_width) + break; + --len; + } + if( len >= strlen(ss)){ + add_line(wp->mesg_information, ss); + break; + } + split_japanese(ss, s1, s2, len); + add_line(wp->mesg_information, s1); + if(!*s2) + break; + Strcpy(ss,s2); + } + #else char *mark, *remainder, buf[BUFSZ]; if (!str) return; *************** *** 249,254 **** --- 294,301 ---- remainder = split(mark, wp->mesg_information->fs, wp->pixel_width); add_line(wp->mesg_information, mark); } while (remainder); + add_line(wp->mesg_information, buf); + #endif } /* private functions ======================================================= */ *************** *** 470,482 **** for (y_base = row = 0, curr = mesg_info->head; row < mesg_info->num_lines; row++, y_base += mesg_info->char_height, curr = curr->next) { ! XDrawString(XtDisplay(wp->w), XtWindow(wp->w), mesg_info->gc, mesg_info->char_lbearing, mesg_info->char_ascent + y_base, curr->line, curr->str_length); /* * This draws a line at the _top_ of the line of text pointed to by * mesg_info->last_pause. --- 517,538 ---- for (y_base = row = 0, curr = mesg_info->head; row < mesg_info->num_lines; row++, y_base += mesg_info->char_height, curr = curr->next) { ! #ifndef XI18N XDrawString(XtDisplay(wp->w), XtWindow(wp->w), mesg_info->gc, mesg_info->char_lbearing, mesg_info->char_ascent + y_base, curr->line, curr->str_length); + #else + XmbDrawString(XtDisplay(wp->w), XtWindow(wp->w), + mesg_info->fontset, + mesg_info->gc, + mesg_info->char_lbearing, + mesg_info->char_ascent + y_base, + curr->line, + curr->str_length); + #endif /* * This draws a line at the _top_ of the line of text pointed to by * mesg_info->last_pause. diff -c -r ../nethack-3.2.2/win/X11/winmisc.c ./win/X11/winmisc.c *** ../nethack-3.2.2/win/X11/winmisc.c Fri Jun 21 02:26:00 1996 --- ./win/X11/winmisc.c Tue Jul 22 23:18:53 1997 *************** *** 8,13 **** --- 8,19 ---- * + Global functions: player_selection() and get_ext_cmd(). */ + /* + ** Japanese version Copyright (C) Issei Numata, 1994-1996 + ** changing point is marked `JP' (94/6/7) or XI18N (96/7/19) + ** JNetHack may be freely redistributed. See license for details. + */ + #ifndef SYSV #define PRESERVE_NO_SYSV /* X11 include files may define SYSV */ #endif *************** *** 132,137 **** --- 138,147 ---- char pc; int num_roles; Widget popup, player_form; + #ifdef XI18N + char **jroles; + char jtmp[256]; + #endif if ((pc = highc(pl_character[0])) != 0) { if (index(pl_classes, pc)) goto got_suffix; *************** *** 141,151 **** --- 151,175 ---- for (num_roles = 0; roles[num_roles]; num_roles++) ; /* do nothing */ + /*JP popup = make_menu("player_selection", "Choose a Role", player_select_translations, "quit", ps_quit, "random", ps_random, num_roles, roles, (Widget **)0, ps_select, &player_form); + */ + jroles = (char **)malloc(sizeof(char *)*num_roles); + for (num_roles = 0; roles[num_roles]; num_roles++){ + jroles[num_roles] = (char *)malloc(strlen(jtrns_mon(roles[num_roles], -1))+3); + strcpy(jroles[num_roles], jtrns_mon(roles[num_roles], -1)); + sprintf(jtmp, "(%c)", roles[num_roles][0]); + strcat(jroles[num_roles], jtmp); + } + popup = make_menu("player_selection", "¥­¥ã¥é¥¯¥¿¡¼¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤", + player_select_translations, + "¤ä¤á¤ë", ps_quit, + "¤ª¤Þ¤«¤»", ps_random, + num_roles, jroles, (Widget **)0, ps_select, &player_form); ps_selected = 0; positionpopup(popup, FALSE); *************** *** 168,174 **** --- 192,201 ---- ps_selected = rn2(strlen(pl_classes)); pc = pl_classes[ps_selected]; + /*JP Sprintf(buf, "This game you will be %s.", an(roles[ps_selected])); + */ + Sprintf(buf, "¤³¤Î¥²¡¼¥à¤Ç¤Ï¤¢¤Ê¤¿¤Ï%s¤Ç¤¹¡¥", jtrns_mon(roles[ps_selected], -1)); tmpwin = X11_create_nhwindow(NHW_TEXT); X11_putstr(tmpwin, 0, ""); *************** *** 458,463 **** --- 485,493 ---- * Create the label. */ num_args = 0; + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif XtSetArg(args[num_args], XtNborderWidth, 0); num_args++; label = XtCreateManagedWidget(popup_label, labelWidgetClass, *************** *** 473,478 **** --- 503,511 ---- XtSetArg(args[num_args], XtNshapeStyle, XmuShapeRoundedRectangle); num_args++; */ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif left = XtCreateManagedWidget(left_name, commandWidgetClass, form, *************** *** 491,496 **** --- 524,532 ---- XtSetArg(args[num_args], XtNshapeStyle, XmuShapeRoundedRectangle); num_args++; */ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif right = XtCreateManagedWidget(right_name, commandWidgetClass, form, *************** *** 512,517 **** --- 548,556 ---- XtSetArg(args[num_args], XtNvertDistance, skip); num_args++; } + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif *curr = XtCreateManagedWidget(widget_names[i], commandWidgetClass, form, diff -c -r ../nethack-3.2.2/win/X11/winstat.c ./win/X11/winstat.c *** ../nethack-3.2.2/win/X11/winstat.c Fri Jun 21 02:26:00 1996 --- ./win/X11/winstat.c Tue Jul 22 23:18:54 1997 *************** *** 10,15 **** --- 10,21 ---- * Currently, only one status window (of any type) is _ever_ made. */ + /* + ** Japanese version Copyright (C) Issei Numata, 1994-1996 + ** changing point is marked `JP' (94/6/7) or XI18N (96/7/19) + ** JNetHack may be freely redistributed. See license for details. + */ + #ifndef SYSV #define PRESERVE_NO_SYSV /* X11 include files may define SYSV */ #endif *************** *** 51,56 **** --- 57,66 ---- Arg args[8]; Cardinal num_args; Position top_margin, bottom_margin, left_margin, right_margin; + #ifdef XI18N + XFontSet fontset; + XFontSetExtents *extent; + #endif wp->type = NHW_STATUS; *************** *** 90,95 **** --- 100,109 ---- XtSetArg(args[num_args], XtNscrollVertical, XawtextScrollWhenNeeded); num_args++; + /*JP*/ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif wp->w = XtCreateManagedWidget( "status", /* name */ asciiTextWidgetClass, *************** *** 104,110 **** --- 118,128 ---- /* Get the font and margin information. */ num_args = 0; + #ifndef XI18N XtSetArg(args[num_args], XtNfont, &fs); num_args++; + #else + XtSetArg(args[num_args], XtNfontSet, &fontset); num_args++; + #endif XtSetArg(args[num_args], XtNtopMargin, &top_margin); num_args++; XtSetArg(args[num_args], XtNbottomMargin, &bottom_margin); num_args++; XtSetArg(args[num_args], XtNleftMargin, &left_margin); num_args++; *************** *** 112,121 **** --- 130,147 ---- XtGetValues(wp->w, args, num_args); /* font height is ascent + descent */ + #ifndef XI18N wp->pixel_height = 2 * (fs->ascent + fs->descent) + top_margin + bottom_margin; wp->pixel_width = COLNO * fs->max_bounds.width + left_margin + right_margin; + #else + extent = XExtentsOfFontSet(fontset); + wp->pixel_height = 2 * extent->max_logical_extent.height + + top_margin + bottom_margin; + wp->pixel_width = COLNO/2 * extent->max_logical_extent.width + + left_margin + right_margin; + #endif /* Set the new width and height. */ num_args = 0; *************** *** 247,252 **** --- 273,280 ---- * + Blank value is 0 and should never change. */ static struct X_status_value shown_stats[NUM_STATS] = { + /*JP*/ + #if 0 { "Strength", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, /* 0*/ { "Dexterity", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, { "Constitution", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, *************** *** 275,280 **** --- 303,337 ---- { "Stunned", SV_NAME, (Widget) 0, 0, 0, FALSE, TRUE }, { "Hallucinating", SV_NAME, (Widget) 0, 0, 0, FALSE, TRUE }, { "", SV_NAME, (Widget) 0, 0, 0, FALSE, TRUE }, /*encumbr*/ + #endif + { "¶¯¤µ", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, /* 0*/ + { "ÁÇÁᤵ", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, + { "Âѵ×ÎÏ", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, + { "ÃÎÎÏ", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, + { "¸­¤µ", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, + { "Ì¥ÎÏ", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, /* 5*/ + + { "", SV_LABEL, (Widget) 0, -1, 0, FALSE, FALSE }, /* name */ + { "", SV_LABEL, (Widget) 0, -1, 0, FALSE, FALSE }, /* dlvl */ + { "¶â", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, + { "ÂÎÎÏ", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, + { "ºÇÂçÂÎÎÏ", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, /*10*/ + { "ËâÎÏ", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, + { "ºÇÂçËâÎÏ", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, + { "³»", SV_VALUE, (Widget) 0,256, 0, FALSE, FALSE }, + { "¥ì¥Ù¥ë", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, + { "·Ð¸³", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, /*15*/ + { "°À­", SV_VALUE, (Widget) 0, -2, 0, FALSE, FALSE }, + { "»þ´Ö", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, + { "¥¹¥³¥¢", SV_VALUE, (Widget) 0, -1, 0, FALSE, FALSE }, + + { "", SV_NAME, (Widget) 0, -1, 0, FALSE, TRUE }, /* hunger*/ + { "¡¡º®Íð¡¡", SV_NAME, (Widget) 0, 0, 0, FALSE, TRUE }, /*20*/ + { "¡¡Éµ¤¡¡", SV_NAME, (Widget) 0, 0, 0, FALSE, TRUE }, + { "¡¡ÌÕÌÜ¡¡", SV_NAME, (Widget) 0, 0, 0, FALSE, TRUE }, + { " âÁÚô ", SV_NAME, (Widget) 0, 0, 0, FALSE, TRUE }, + { "¡¡¸¸³Ð¡¡", SV_NAME, (Widget) 0, 0, 0, FALSE, TRUE }, + { "", SV_NAME, (Widget) 0, 0, 0, FALSE, TRUE }, /*encumbr*/ }; *************** *** 341,368 **** Strcpy(buf, plname); if ('a' <= buf[0] && buf[0] <= 'z') buf[0] += 'A'-'a'; ! Strcat(buf, " the "); if (u.mtimedone) { char mname[BUFSZ]; int k = 0; Strcpy(mname, mons[u.umonnum].mname); while(mname[k] != 0) { if ((k == 0 || (k > 0 && mname[k-1] == ' ')) && 'a' <= mname[k] && mname[k] <= 'z') mname[k] += 'A' - 'a'; k++; ! } ! Strcat(buf, mname); } else Strcat(buf, rank_of(u.ulevel, pl_character[0], flags.female)); } else if (attr_rec == &shown_stats[F_DLEVEL]) { if (In_endgame(&u.uz)) { ! Strcpy(buf, (Is_astralevel(&u.uz) ? "Astral Plane":"End Game")); } else { ! Strcpy(buf, dungeons[u.uz.dnum].dname); ! Sprintf(eos(buf), ", level %d", depth(&u.uz)); } } else { impossible("update_val: unknown label type \"%s\"", --- 398,431 ---- Strcpy(buf, plname); if ('a' <= buf[0] && buf[0] <= 'z') buf[0] += 'A'-'a'; ! /*JP Strcat(buf, " the ");*/ ! Strcat(buf, " "); if (u.mtimedone) { char mname[BUFSZ]; int k = 0; Strcpy(mname, mons[u.umonnum].mname); + /*JP while(mname[k] != 0) { if ((k == 0 || (k > 0 && mname[k-1] == ' ')) && 'a' <= mname[k] && mname[k] <= 'z') mname[k] += 'A' - 'a'; k++; ! }*/ ! /*JP Strcat(buf, mname);*/ ! Strcat(buf, jtrns_mon(mname, flags.female)); } else Strcat(buf, rank_of(u.ulevel, pl_character[0], flags.female)); } else if (attr_rec == &shown_stats[F_DLEVEL]) { if (In_endgame(&u.uz)) { ! /*JP Strcpy(buf, (Is_astralevel(&u.uz) ? "Astral Plane":"End Game"));*/ ! Strcpy(buf, (Is_astralevel(&u.uz) ? "ÀºÎ":"ºÇ½ª»îÎý")); } else { ! /*JP Strcpy(buf, dungeons[u.uz.dnum].dname);*/ ! Strcpy(buf, jtrns_obj('d',dungeons[u.uz.dnum].dname)); ! /*JP Sprintf(eos(buf), ", level %d", depth(&u.uz));*/ ! Sprintf(eos(buf), " Ãϲ¼%d³¬", depth(&u.uz)); } } else { impossible("update_val: unknown label type \"%s\"", *************** *** 392,402 **** buf[0] = 0; if (Sick) { if (u.usick_type & SICK_VOMITABLE) ! Strcat(buf, "FoodPois"); if (u.usick_type & SICK_NONVOMITABLE) { if (u.usick_type & SICK_VOMITABLE) Strcat(buf, " "); ! Strcat(buf, "Ill"); } } XtSetArg(args[0], XtNlabel, buf); --- 455,467 ---- buf[0] = 0; if (Sick) { if (u.usick_type & SICK_VOMITABLE) ! /*JP Strcat(buf, "FoodPois");*/ ! Strcat(buf, "¿©ÆÇ"); if (u.usick_type & SICK_NONVOMITABLE) { if (u.usick_type & SICK_VOMITABLE) Strcat(buf, " "); ! /*JP Strcat(buf, "Ill");*/ ! Strcat(buf, "ɵ¤"); } } XtSetArg(args[0], XtNlabel, buf); *************** *** 524,532 **** } } else if (attr_rec == &shown_stats[F_ALIGN]) { ! Strcpy(buf, (new_value == A_CHAOTIC) ? "Chaotic" : (new_value == A_NEUTRAL) ? "Neutral" : ! "Lawful" ); } else { Sprintf(buf, "%ld", new_value); } --- 589,600 ---- } } else if (attr_rec == &shown_stats[F_ALIGN]) { ! /*JP Strcpy(buf, (new_value == A_CHAOTIC) ? "Chaotic" : (new_value == A_NEUTRAL) ? "Neutral" : ! "Lawful" );*/ ! Strcpy(buf, (new_value == A_CHAOTIC) ? "º®ÆÙ" : ! (new_value == A_NEUTRAL) ? "ÃæΩ" : ! "Ãá½ø" ); } else { Sprintf(buf, "%ld", new_value); } *************** *** 735,740 **** --- 803,812 ---- num_args = 0; XtSetArg(args[num_args], XtNborderWidth, 0); num_args++; XtSetArg(args[num_args], XtNinternalHeight, 0); num_args++; + /*JP*/ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif sv->w = XtCreateManagedWidget( sv_index == F_NAME ? "name" : "dlevel", labelWidgetClass, *************** *** 745,750 **** --- 817,826 ---- num_args = 0; XtSetArg(args[num_args], XtNborderWidth, 0); num_args++; XtSetArg(args[num_args], XtNinternalHeight, 0); num_args++; + /*JP*/ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif sv->w = XtCreateManagedWidget(sv->name, labelWidgetClass, parent, diff -c -r ../nethack-3.2.2/win/X11/wintext.c ./win/X11/wintext.c *** ../nethack-3.2.2/win/X11/wintext.c Fri Jun 21 02:26:00 1996 --- ./win/X11/wintext.c Tue Jul 22 23:18:54 1997 *************** *** 8,13 **** --- 8,19 ---- * + No global functions. */ + /* + ** Japanese version Copyright (C) Issei Numata, 1994-1996 + ** changing point is marked `JP' (94/6/7) or XI18N (96/7/19) + ** JNetHack may be freely redistributed. See license for details. + */ + #ifndef SYSV #define PRESERVE_NO_SYSV /* X11 include files may define SYSV */ #endif *************** *** 143,149 **** --- 149,162 ---- append_text_buffer(&text_info->text, str, FALSE); /* Calculate text width and save longest line */ + /*JP + ** for i18n by issei 1994/1/8 + */ + #ifndef XI18N width = XTextWidth(text_info->fs, str, (int) strlen(str)); + #else + width = XmbTextEscapement(text_info->fontset, str, (int) strlen(str)); + #endif if (width > text_info->max_width) text_info->max_width = width; } *************** *** 158,169 **** --- 171,191 ---- Cardinal num_args; Dimension width, height; int nlines; + /*JP*/ + #ifdef XI18N + XFontSetExtents *extent; + #endif text_info = wp->text_information; width = text_info->max_width + text_info->extra_width; text_info->blocked = blocking; text_info->destroy_on_ack = FALSE; + /*JP*/ + #ifdef XI18N + extent = XExtentsOfFontSet(text_info->fontset); + #endif + /* * Calculate the number of lines to use. First, find the number of * lines that would fit on the screen. Next, remove four of these *************** *** 172,179 **** --- 194,207 ---- * _some_ lines. Finally, use the number of lines in the text if * there are fewer than the max. */ + /*JP*/ + #ifndef XI18N nlines = (XtScreen(wp->w)->height - text_info->extra_height) / (text_info->fs->ascent + text_info->fs->descent); + #else + nlines = (XtScreen(wp->w)->height - text_info->extra_height) / + extent->max_logical_extent.height; + #endif nlines -= 4; if (nlines > text_info->text.num_lines) *************** *** 181,188 **** --- 209,222 ---- if (nlines <= 0) nlines = 1; /* Font height is ascent + descent. */ + /*JP*/ + #ifndef XI18N height = (nlines * (text_info->fs->ascent + text_info->fs->descent)) + text_info->extra_height; + #else + height = (nlines * extent->max_logical_extent.height) + + text_info->extra_height; + #endif num_args = 0; *************** *** 290,295 **** --- 324,333 ---- XtSetArg(args[num_args], XtNresize, XawtextResizeBoth); num_args++; XtSetArg(args[num_args], XtNtranslations, XtParseTranslationTable(text_translations)); num_args++; + /*JP*/ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif wp->w = XtCreateManagedWidget( killer && WIN_MAP == WIN_ERR ? *************** *** 301,307 **** --- 339,349 ---- /* Get the font and margin information. */ num_args = 0; + #ifndef XI18N XtSetArg(args[num_args], XtNfont, &text_info->fs); num_args++; + #else + XtSetArg(args[num_args], XtNfontSet, &text_info->fontset); num_args++; + #endif XtSetArg(args[num_args], XtNtopMargin, &top_margin); num_args++; XtSetArg(args[num_args], XtNbottomMargin, &bottom_margin); num_args++; XtSetArg(args[num_args], XtNleftMargin, &left_margin); num_args++; *************** *** 457,463 **** --- 499,509 ---- extern const char *killed_by_prefix[]; void + #ifndef XI18N calculate_rip_text(int how) + #else + calculate_rip_text(int how, XFontSet fontset) + #endif { /* Follows same algorithm as genl_outrip() */ *************** *** 472,492 **** --- 518,571 ---- Sprintf(rip_line[GOLD_LINE], "%ld Au", u.ugold); /* Put together death description */ + switch (killer_format) { default: impossible("bad killer format?"); case KILLED_BY_AN: + /*JP Strcpy(buf, killed_by_prefix[how]); Strcat(buf, an(killer)); + */ + Strcpy(buf, an(killer)); + Strcat(buf, killed_by_prefix[how]); break; case KILLED_BY: + /*JP Strcpy(buf, killed_by_prefix[how]); Strcat(buf, killer); + */ + Strcpy(buf, killer); + Strcat(buf, killed_by_prefix[how]); break; case NO_KILLER_PREFIX: Strcpy(buf, killer); break; } + #ifdef XI18N + { + char ss[1024],s1[1024],s2[1024]; /* may be enough */ + XRectangle ink_ext, lgc_ext; + int len; + + Strcpy(ss, buf); + + for (line=DEATH_LINE, dpx = ss; line + #endif #include "winX.h" #define WNAME "name" *************** *** 52,57 **** --- 58,67 ---- XtSetArg(args[num_args], XtNjustify, XtJustifyRight); num_args++; XtSetArg(args[num_args], XtNborderWidth, 0); num_args++; XtSetArg(args[num_args], XtNlabel, name_value); num_args++; + /*JP*/ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif XtSetArg(args[num_args], XtNinternalHeight, 0); num_args++; name = XtCreateManagedWidget(WNAME, labelWidgetClass, *************** *** 61,66 **** --- 71,80 ---- XtSetArg(args[num_args], XtNjustify, XtJustifyRight); num_args++; XtSetArg(args[num_args], XtNborderWidth, 0); num_args++; XtSetArg(args[num_args], XtNfromHoriz, name); num_args++; + /*JP*/ + #if defined(X11R6) && defined(XI18N) + XtSetArg(args[num_args], XtNinternational, True); num_args++; + #endif XtSetArg(args[num_args], XtNinternalHeight, 0); num_args++; (void) XtCreateManagedWidget(WVALUE, labelWidgetClass, diff -c -r ../nethack-3.2.2/win/share/monsters.txt ./win/share/monsters.txt *** ../nethack-3.2.2/win/share/monsters.txt Mon Mar 11 03:01:00 1996 --- ./win/share/monsters.txt Tue Jul 22 23:18:55 1997 *************** *** 5619,5625 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 295 (healer) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5619,5644 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 295 (fighter) ! { ! MMMMMMMMMMMMMMMM ! MMMMMMEEEEMMMMMM ! MMMMMEEEEEEMMMMM ! MMMMMELELLEMMMMM ! MMMMMLALALLMMMMM ! MMMMMLALALLMMMMM ! MMMMMMLLLLMMMMMM ! MMMMMNENNENLAAAM ! MMMLNNDEEDNLAAAM ! MMMLNADDDDAAAAAM ! MMMMMEENNEEAAAAM ! MMMMEEEEEEEEAAMM ! MMMMMMLLALAAAAMM ! MMMMMMEEMEEAMMMM ! MMMMMMMMMMMMMMMM ! MMMMMMMMMMMMMMMM ! } ! # tile 296 (healer) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5638,5644 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 296 (knight) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5657,5663 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 297 (knight) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5657,5663 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 297 (priest) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5676,5682 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 298 (priest) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5676,5682 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 298 (priestess) { MMMMMMMMMMMMMMMM MMMMMMMJJMMMMMMM --- 5695,5701 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 299 (priestess) { MMMMMMMMMMMMMMMM MMMMMMMJJMMMMMMM *************** *** 5695,5701 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 299 (rogue) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5714,5720 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 300 (rogue) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5714,5720 **** MMMMMKKAMKKAMMMM MMMMMMMMMMMMMMMM } ! # tile 300 (samurai) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5733,5739 ---- MMMMMKKAMKKAMMMM MMMMMMMMMMMMMMMM } ! # tile 301 (samurai) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5733,5739 **** MMMMMIIAMIIAMMMM MMMMMMMMMMMMMMMM } ! # tile 301 (tourist) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5752,5758 ---- MMMMMIIAMIIAMMMM MMMMMMMMMMMMMMMM } ! # tile 302 (tourist) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5752,5758 **** MMMMMLLAMLLAMMMM MMMMMMMMMMMMMMMM } ! # tile 302 (valkyrie) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5771,5777 ---- MMMMMLLAMLLAMMMM MMMMMMMMMMMMMMMM } ! # tile 303 (valkyrie) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5771,5777 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 303 (wizard) { MMMMMMMMMMMMMMMM MMMMMMMMMBPMMMMM --- 5790,5796 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 304 (wizard) { MMMMMMMMMMMMMMMM MMMMMMMMMBPMMMMM *************** *** 5790,5796 **** MMMMBPPPPPPEMMMM MMMMMMMMMMMMMMMM } ! # tile 304 (Lord Carnarvon) { MMMMMMMJJMMMMMMM MMMMMMKJJJMMMMMM --- 5809,5815 ---- MMMMBPPPPPPEMMMM MMMMMMMMMMMMMMMM } ! # tile 305 (Lord Carnarvon) { MMMMMMMJJMMMMMMM MMMMMMKJJJMMMMMM *************** *** 5809,5815 **** MMMMMPPAMPPAMMMM MMMMMMMMMMMMMMMM } ! # tile 305 (Pelias) { MMMMMMMMMMMMMMMM MMMMMMMJJMMMMMMM --- 5828,5834 ---- MMMMMPPAMPPAMMMM MMMMMMMMMMMMMMMM } ! # tile 306 (Pelias) { MMMMMMMMMMMMMMMM MMMMMMMJJMMMMMMM *************** *** 5828,5834 **** MMMMMPPAMPPAMMMM MMMMMMMMMMMMMMMM } ! # tile 306 (Shaman Karnov) { MMMMMMMMMMMMMMMM MMMMMMMJJAMMMMMM --- 5847,5853 ---- MMMMMPPAMPPAMMMM MMMMMMMMMMMMMMMM } ! # tile 307 (Shaman Karnov) { MMMMMMMMMMMMMMMM MMMMMMMJJAMMMMMM *************** *** 5847,5853 **** MMMMMLLAMLLAMMMM MMMMMMMMMMMMMMMM } ! # tile 307 (Earendil) { MMMMMMMMMGMMMMMM MMMMBMMGGFMMBMMM --- 5866,5872 ---- MMMMMLLAMLLAMMMM MMMMMMMMMMMMMMMM } ! # tile 308 (Earendil) { MMMMMMMMMGMMMMMM MMMMBMMGGFMMBMMM *************** *** 5866,5872 **** MMMMMAAAAAAMMMMM MMMMMMMMMMMMMMMM } ! # tile 308 (Elwing) { MMMMMMMMMGMMMMMM MMMMBMMGGFMMBMMM --- 5885,5891 ---- MMMMMAAAAAAMMMMM MMMMMMMMMMMMMMMM } ! # tile 309 (Elwing) { MMMMMMMMMGMMMMMM MMMMBMMGGFMMBMMM *************** *** 5885,5891 **** MMMMMAAAAAAMMMMM MMMMMMMMMMMMMMMM } ! # tile 309 (Hippocrates) { MMMMMMMMMMMMMMMM MMMMLLLCCDMMMMMM --- 5904,5929 ---- MMMMMAAAAAAMMMMM MMMMMMMMMMMMMMMM } ! # tile 310 (Princess of Moon) ! { ! MMMMMMMMMMMMMMMM ! MMMMHHMMMHHMMMMM ! MMMMHHHHHHHMMMMM ! MMMMHHLLLHHMMMMM ! MMMMHLALALHMMMMM ! MMMMHLALALHMMMMM ! MMMMHMLLLMHHMMMM ! MMMMHNENNENHAAAM ! MMMHHHDEEDHHAAAM ! MMMHHHDDDDHHAAAM ! MMMMMEENNEEAAAAM ! MMMMEEEEEEEEAAMM ! MMMMMMLLALAAAAMM ! MMMMMMEEMEEAMMMM ! MMMMMMMMMMMMMMMM ! MMMMMMMMMMMMMMMM ! } ! # tile 311 (Hippocrates) { MMMMMMMMMMMMMMMM MMMMLLLCCDMMMMMM *************** *** 5904,5910 **** MLCCCCCCCDAMMMMM MMMMMMMMMMMMMMMM } ! # tile 310 (King Arthur) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5942,5948 ---- MLCCCCCCCDAMMMMM MMMMMMMMMMMMMMMM } ! # tile 312 (King Arthur) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5923,5929 **** MMMMPPAAMPPAMMMM MMMMMMMMMMMMMMMM } ! # tile 311 (Arch Priest) { MMNMMMMMMMMMMMMM MNNNMMJLLJMMMMMM --- 5961,5967 ---- MMMMPPAAMPPAMMMM MMMMMMMMMMMMMMMM } ! # tile 313 (Arch Priest) { MMNMMMMMMMMMMMMM MNNNMMJLLJMMMMMM *************** *** 5942,5948 **** MMHACCCJJCCCAAMM MMMMMMMMMMMMMMMM } ! # tile 312 (Master of Thieves) { MMMMMMMMMMMMMMMM MMMHMMMMMHMMMMMM --- 5980,5986 ---- MMHACCCJJCCCAAMM MMMMMMMMMMMMMMMM } ! # tile 314 (Master of Thieves) { MMMMMMMMMMMMMMMM MMMHMMMMMHMMMMMM *************** *** 5961,5967 **** MMMJJAMMJJAMMMMM MMMMMMMMMMMMMMMM } ! # tile 313 (Lord Sato) { MMMMMAAAMMMMMMMM MMMMMAAAMMMMMMMM --- 5999,6005 ---- MMMJJAMMJJAMMMMM MMMMMMMMMMMMMMMM } ! # tile 315 (Lord Sato) { MMMMMAAAMMMMMMMM MMMMMAAAMMMMMMMM *************** *** 5980,5986 **** MMIIIAMIIIAAMMMM MMMMMMMMMMMMMMMM } ! # tile 314 (Twoflower) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6018,6024 ---- MMIIIAMIIIAAMMMM MMMMMMMMMMMMMMMM } ! # tile 316 (Twoflower) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5999,6005 **** MMMMMLLAMLLAMMMM MMMMMMMMMMMMMMMM } ! # tile 315 (Norn) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6037,6043 ---- MMMMMLLAMLLAMMMM MMMMMMMMMMMMMMMM } ! # tile 317 (Norn) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6018,6024 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 316 (Wizard of Balance) { MMMMMMMMMBPMMMMM MMMMMMBBBPEMMMMM --- 6056,6062 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 318 (Wizard of Balance) { MMMMMMMMMBPMMMMM MMMMMMBBBPEMMMMM *************** *** 6037,6043 **** MMMBPPPPPPPEMMMM MMMMMMMMMMMMMMMM } ! # tile 317 (Minion of Huhetotl) { MMMOPMMMMMMPOMMM MMMOODDDDDDOODMM --- 6075,6081 ---- MMMBPPPPPPPEMMMM MMMMMMMMMMMMMMMM } ! # tile 319 (Minion of Huhetotl) { MMMOPMMMMMMPOMMM MMMOODDDDDDOODMM *************** *** 6056,6062 **** MMCDDDAAAMDDDKMM MMMMMMMMMMMMMMMM } ! # tile 318 (Thoth Amon) { MMMMMMMMMMMMMMMM MMMMMMOJJOMMMMMM --- 6094,6100 ---- MMCDDDAAAMDDDKMM MMMMMMMMMMMMMMMM } ! # tile 320 (Thoth Amon) { MMMMMMMMMMMMMMMM MMMMMMOJJOMMMMMM *************** *** 6075,6081 **** MMMMMPPAMPPAMMMM MMMMMMMMMMMMMMMM } ! # tile 319 (Chromatic Dragon) { MMMMMMGGGFAMMMMM MMMMMNFNFEEAMMMM --- 6113,6119 ---- MMMMMPPAMPPAMMMM MMMMMMMMMMMMMMMM } ! # tile 321 (Chromatic Dragon) { MMMMMMGGGFAMMMMM MMMMMNFNFEEAMMMM *************** *** 6094,6100 **** MMMMGFAAMMMCCJAM MMMMMMMMFFFFJAMM } ! # tile 320 (Goblin King) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6132,6138 ---- MMMMGFAAMMMCCJAM MMMMMMMMFFFFJAMM } ! # tile 322 (Goblin King) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6113,6119 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 321 (Cyclops) { MMMMMMMMMMMMMMMM MMMMLLLLLMMMMMMM --- 6151,6176 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 323 (Jedeite) ! { ! MMMMMMMMMMMMMMMM ! MMMMMMJJJMMMMMMM ! MMMMMJJJJJMMMMMM ! MNMMJJLJJJJMMMMM ! MNMMJAALAAJMMMMM ! MMNMJLALALJMMMMM ! MMNMJJLLLJJMMMMM ! MMNMMJBBBEJAAAAM ! MMNHBBBABBHAAAAM ! MMMHHBBBBBBHAAAM ! MMMMMBBABBAAAAAM ! MMMMMBBBBBAAAAMM ! MMMMMMBBBAAAAAMM ! MMMMMMBBBAAAMMMM ! MMMMMMMMMMMMMMMM ! MMMMMMMMMMMMMMMM ! } ! # tile 324 (Cyclops) { MMMMMMMMMMMMMMMM MMMMLLLLLMMMMMMM *************** *** 6132,6138 **** MMMMCJJJCLAAAAAA MMLLLLLMLLLLLAAM } ! # tile 322 (Ixoth) { MMMMOMMMMMMOMMMM MMMMOMMMMMMOMMMM --- 6189,6195 ---- MMMMCJJJCLAAAAAA MMLLLLLMLLLLLAAM } ! # tile 325 (Ixoth) { MMMMOMMMMMMOMMMM MMMMOMMMMMMOMMMM *************** *** 6151,6157 **** MMCDDDAAAMDDDKMM MMMMMMMMMMMMMMMM } ! # tile 323 (Nalzok) { MMMMOMMMMMMOMMMM MMMMOMMMMMMOMMMM --- 6208,6214 ---- MMCDDDAAAMDDDKMM MMMMMMMMMMMMMMMM } ! # tile 326 (Nalzok) { MMMMOMMMMMMOMMMM MMMMOMMMMMMOMMMM *************** *** 6170,6176 **** MMCDDDAAAMDDDKMM MMMMMMMMMMMMMMMM } ! # tile 324 (Master Assassin) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6227,6233 ---- MMCDDDAAAMDDDKMM MMMMMMMMMMMMMMMM } ! # tile 327 (Master Assassin) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6189,6195 **** MMMMMAAAMAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 325 (Ashikaga Takauji) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6246,6252 ---- MMMMMAAAMAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 328 (Ashikaga Takauji) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6208,6214 **** MMMMMIIAMIIAMMMM MMMMMMMMMMMMMMMM } ! # tile 326 (Lord Surtur) { MMMMPPDDDDAAMMMM MMMMPDDDDDDDAMMM --- 6265,6271 ---- MMMMMIIAMIIAMMMM MMMMMMMMMMMMMMMM } ! # tile 329 (Lord Surtur) { MMMMPPDDDDAAMMMM MMMMPDDDDDDDAMMM *************** *** 6227,6233 **** MMMMMBPPABPPAAAA MMMLLLLJMBLLLKAA } ! # tile 327 (Dark One) { MMMMMMMMMMMMMMMM MMMMMMAAAMMMMMMM --- 6284,6290 ---- MMMMMBPPABPPAAAA MMMLLLLJMBLLLKAA } ! # tile 330 (Dark One) { MMMMMMMMMMMMMMMM MMMMMMAAAMMMMMMM *************** *** 6246,6252 **** AAAAAAAAAAAAAAAA MMMMMMMMMMMMMMMM } ! # tile 328 (student) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6303,6309 ---- AAAAAAAAAAAAAAAA MMMMMMMMMMMMMMMM } ! # tile 331 (student) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6265,6271 **** MMMMMCJJMJKJMMMM MMMMMMMMMMMMMMMM } ! # tile 329 (chieftain) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6322,6328 ---- MMMMMCJJMJKJMMMM MMMMMMMMMMMMMMMM } ! # tile 332 (chieftain) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6284,6290 **** MMMMMLLAMLLAMMMM MMMMMMMMMMMMMMMM } ! # tile 330 (neanderthal) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6341,6347 ---- MMMMMLLAMLLAMMMM MMMMMMMMMMMMMMMM } ! # tile 333 (neanderthal) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6303,6309 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 331 (High-elf) { MMMMMMMMMGMMMMMM MMMMMMMGGFMMMMMM --- 6360,6366 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 334 (High-elf) { MMMMMMMMMGMMMMMM MMMMMMMGGFMMMMMM *************** *** 6322,6328 **** MMMMMMGFAFAAMMMM MMMMMKLAMLKAMMMM } ! # tile 332 (attendant) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6379,6404 ---- MMMMMMGFAFAAMMMM MMMMMKLAMLKAMMMM } ! # tile 335 (planetary fighter) ! { ! MMMMMMMMMMMMMMMM ! MMMMMMJJJJMMMMMM ! MMMMMJJJJJJMMMMM ! MMMMMJLJLLJMMMMM ! MMMMMLALALLJMMMM ! MMMMMLALALLJJMMM ! MMMMMMLLLLJJJMMM ! MMMMMNENNENLAAAM ! MMMLNNDEEDNLAAAM ! MMMLNADDDDAAAAAM ! MMMMMEENNEEAAAAM ! MMMMEEEEEEEEAAMM ! MMMMMMLLALAAAAMM ! MMMMMMEEMEEAMMMM ! MMMMMMMMMMMMMMMM ! MMMMMMMMMMMMMMMM ! } ! # tile 336 (attendant) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6341,6347 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 333 (page) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6417,6423 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 337 (page) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6360,6366 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 334 (acolyte) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6436,6442 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 338 (acolyte) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6379,6385 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 335 (thug) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6455,6461 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 339 (thug) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6398,6404 **** MMMMMKKAMKKAMMMM MMMMMMMMMMMMMMMM } ! # tile 336 (ninja) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6474,6480 ---- MMMMMKKAMKKAMMMM MMMMMMMMMMMMMMMM } ! # tile 340 (ninja) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6417,6423 **** MMMMMAAAMAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 337 (roshi) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6493,6499 ---- MMMMMAAAMAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 341 (roshi) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6436,6442 **** MMMMMPPAMPPAMMMM MMMMMMMMMMMMMMMM } ! # tile 338 (guide) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6512,6518 ---- MMMMMPPAMPPAMMMM MMMMMMMMMMMMMMMM } ! # tile 342 (guide) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6455,6461 **** MMMMMLLAMLLAMMMM MMMMMMMMMMMMMMMM } ! # tile 339 (warrior) { MMMMMOMMMMOMMMMM MMMMMNOMMONMMMMM --- 6531,6537 ---- MMMMMLLAMLLAMMMM MMMMMMMMMMMMMMMM } ! # tile 343 (warrior) { MMMMMOMMMMOMMMMM MMMMMNOMMONMMMMM *************** *** 6474,6480 **** MMMMMKLAMLKAMMMM MMMMMMMMMMMMMMMM } ! # tile 340 (apprentice) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6550,6556 ---- MMMMMKLAMLKAMMMM MMMMMMMMMMMMMMMM } ! # tile 344 (apprentice) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM diff -c -r ../nethack-3.2.2/win/share/objects.txt ./win/share/objects.txt *** ../nethack-3.2.2/win/share/objects.txt Sun Dec 10 21:06:56 1995 --- ./win/share/objects.txt Tue Jul 22 23:18:56 1997 *************** *** 2123,2129 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 111 (Hawaiian shirt) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2123,2148 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 111 (sailor blouse) ! { ! MMMMMMMMMMMMMMMM ! MMMMMMMMMMMMMMMM ! MMMMMMMMMMMMMMMM ! MMMMMMMMMMMMMMMM ! MMMMMMNNNNAMMMMM ! MMMMNEENNEENAMMM ! MMMNNNNEENNNNAMM ! MMNNNDDNNDDNNNAM ! MMMNADDDDDDANAAM ! MMMMMDDNNDDAMAMM ! MMMMMNNNNNNAMMMM ! MMMMMNNNNNNAMMMM ! MMMMMMAAAAAAMMMM ! MMMMMMMMMMMMMMMM ! MMMMMMMMMMMMMMMM ! MMMMMMMMMMMMMMMM ! } ! # tile 112 (Hawaiian shirt) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2142,2148 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 112 (T-shirt) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2161,2167 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 113 (T-shirt) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2161,2167 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 113 (mummy wrapping) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2180,2186 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 114 (mummy wrapping) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2180,2186 **** MMNMAANMNAMOOMMM MMMMMMMMMMMMMMMM } ! # tile 114 (elven cloak) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2199,2205 ---- MMNMAANMNAMOOMMM MMMMMMMMMMMMMMMM } ! # tile 115 (elven cloak) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2199,2205 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 115 (orcish cloak) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2218,2224 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 116 (orcish cloak) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2218,2224 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 116 (dwarvish cloak) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2237,2243 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 117 (dwarvish cloak) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2237,2243 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 117 (oilskin cloak) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2256,2262 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 118 (oilskin cloak) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2256,2262 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 118 (cloak of protection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2275,2281 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 119 (cloak of protection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2275,2281 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 119 (cloak of invisibility) { MMMMMMMMMMMMMMMM MMMMMMNNNMMMMMMM --- 2294,2300 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 120 (cloak of invisibility) { MMMMMMMMMMMMMMMM MMMMMMNNNMMMMMMM *************** *** 2294,2300 **** MMAANNNNNNAOOAAM MMMMAAAAAAAAAAMM } ! # tile 120 (cloak of magic resistance) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2313,2319 ---- MMAANNNNNNAOOAAM MMMMAAAAAAAAAAMM } ! # tile 121 (cloak of magic resistance) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2313,2319 **** MMAAAAAAAAAAAPMM MMMPPPPPPPPPPPMM } ! # tile 121 (cloak of displacement) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2332,2338 ---- MMAAAAAAAAAAAPMM MMMPPPPPPPPPPPMM } ! # tile 122 (cloak of displacement) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2332,2338 **** MMMMMPPPPPAAMMMM MMMMMMMPPAAMMMMM } ! # tile 122 (small shield) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2351,2357 ---- MMMMMPPPPPAAMMMM MMMMMMMPPAAMMMMM } ! # tile 123 (small shield) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2351,2357 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 123 (elven shield) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2370,2376 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 124 (elven shield) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2370,2376 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 124 (Uruk-hai shield) { MMMMMMMMMMMMMMMM MMMKMKKKJJJMJMMM --- 2389,2395 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 125 (Uruk-hai shield) { MMMMMMMMMMMMMMMM MMMKMKKKJJJMJMMM *************** *** 2389,2395 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 125 (orcish shield) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2408,2414 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 126 (orcish shield) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2408,2414 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 126 (large shield) { MMMMMMMMMMMMMMMM MMMNMNNNOOOMOMMM --- 2427,2433 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 127 (large shield) { MMMMMMMMMMMMMMMM MMMNMNNNOOOMOMMM *************** *** 2427,2433 **** MMMMMMMMAAMMMMMM MMMMMMMMMMMMMMMM } ! # tile 127 (dwarvish roundshield) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2446,2452 ---- MMMMMMMMAAMMMMMM MMMMMMMMMMMMMMMM } ! # tile 128 (dwarvish roundshield) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2446,2452 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 128 (shield of reflection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2465,2471 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 129 (shield of reflection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2465,2471 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 129 (leather gloves) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2484,2490 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 130 (leather gloves) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2484,2490 **** MMMMMMMMMAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 130 (gauntlets of fumbling) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2503,2509 ---- MMMMMMMMMAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 131 (gauntlets of fumbling) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2503,2509 **** MMMMMMMMMAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 131 (gauntlets of power) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2522,2528 ---- MMMMMMMMMAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 132 (gauntlets of power) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2522,2528 **** MMMMMMMMMAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 132 (gauntlets of dexterity) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2541,2547 ---- MMMMMMMMMAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 133 (gauntlets of dexterity) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2541,2547 **** MMMMMMMMMAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 133 (low boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2560,2566 ---- MMMMMMMMMAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 134 (low boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2560,2566 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 134 (iron shoes) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2579,2585 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 135 (iron shoes) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2579,2585 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 135 (high boots) { MMMMMMMCCKKKKMMM MMMMMMCKAAAAJJMM --- 2598,2604 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 136 (high boots) { MMMMMMMCCKKKKMMM MMMMMMCKAAAAJJMM *************** *** 2598,2604 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 136 (speed boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2617,2623 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 137 (speed boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2617,2623 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 137 (water walking boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2636,2642 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 138 (water walking boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2636,2642 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 138 (jumping boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2655,2661 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 139 (jumping boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2655,2661 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 139 (elven boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2674,2680 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 140 (elven boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2674,2680 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 140 (fumble boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2693,2699 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 141 (fumble boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2693,2699 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 141 (levitation boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2712,2718 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 142 (levitation boots) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2712,2718 **** MMMAMAMAMAMAMAMM MMMMMMMMMMMMMMMM } ! # tile 142 (adornment) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2731,2737 ---- MMMAMAMAMAMAMAMM MMMMMMMMMMMMMMMM } ! # tile 143 (adornment) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2731,2737 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 143 (gain strength) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2750,2756 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 144 (gain strength) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2750,2756 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 144 (increase damage) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2769,2775 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 145 (increase damage) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2769,2775 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 145 (protection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2788,2794 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 146 (protection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2788,2794 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 146 (regeneration) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2807,2813 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 147 (regeneration) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2807,2813 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 147 (searching) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2826,2832 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 148 (searching) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2826,2832 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 148 (stealth) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2845,2851 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 149 (stealth) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2845,2851 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 149 (levitation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2864,2870 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 150 (levitation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2864,2870 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 150 (hunger) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2883,2889 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 151 (hunger) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2883,2889 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 151 (aggravate monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2902,2908 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 152 (aggravate monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2902,2908 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 152 (conflict) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2921,2927 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 153 (conflict) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2921,2927 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 153 (warning) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2940,2946 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 154 (warning) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2940,2946 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 154 (poison resistance) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2959,2965 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 155 (poison resistance) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2959,2965 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 155 (fire resistance) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2978,2984 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 156 (fire resistance) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2978,2984 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 156 (cold resistance) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 2997,3003 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 157 (cold resistance) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 2997,3003 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 157 (shock resistance) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3016,3022 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 158 (shock resistance) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3016,3022 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 158 (teleportation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3035,3041 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 159 (teleportation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3035,3041 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 159 (teleport control) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3054,3060 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 160 (teleport control) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3054,3060 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 160 (polymorph) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3073,3079 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 161 (polymorph) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3073,3079 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 161 (polymorph control) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3092,3098 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 162 (polymorph control) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3092,3098 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 162 (invisibility) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3111,3117 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 163 (invisibility) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3111,3117 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 163 (see invisible) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3130,3136 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 164 (see invisible) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3130,3136 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 164 (protection from shape changers) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3149,3155 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 165 (protection from shape changers) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3149,3155 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 165 (amulet of ESP) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM --- 3168,3174 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 166 (amulet of ESP) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM *************** *** 3168,3174 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 166 (amulet of life saving) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM --- 3187,3193 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 167 (amulet of life saving) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM *************** *** 3187,3193 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 167 (amulet of strangulation) { MMMMMMMMMMMMMMMM MMMMMMLLLLLLAAMM --- 3206,3212 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 168 (amulet of strangulation) { MMMMMMMMMMMMMMMM MMMMMMLLLLLLAAMM *************** *** 3206,3212 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 168 (amulet of restful sleep) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM --- 3225,3231 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 169 (amulet of restful sleep) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM *************** *** 3225,3231 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 169 (amulet versus poison) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM --- 3244,3250 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 170 (amulet versus poison) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM *************** *** 3244,3250 **** MMMMKJJJJJJJJAMM MMMMMMMAAAAAAAMM } ! # tile 170 (amulet of change) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM --- 3263,3269 ---- MMMMKJJJJJJJJAMM MMMMMMMAAAAAAAMM } ! # tile 171 (amulet of change) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM *************** *** 3263,3269 **** MMMMMMMAAAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 171 (amulet of reflection) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM --- 3282,3288 ---- MMMMMMMAAAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 172 (amulet of reflection) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM *************** *** 3282,3288 **** MMMMMMMMAAAMMMMM MMMMMMMMMMMMMMMM } ! # tile 172 (amulet of magical breathing) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM --- 3301,3307 ---- MMMMMMMMAAAMMMMM MMMMMMMMMMMMMMMM } ! # tile 173 (amulet of magical breathing) { MMMMMMMMMMMMMMMM MMMMMMLLLLLAAMMM *************** *** 3301,3307 **** MMMMMMMKKKAAMMMM MMMMMMMMAAAMMMMM } ! # tile 173 (cheap plastic imitation of the Amulet of Yendor) { MMMMMMMMMMMMMMMM MMMMMMHHHHHAAMMM --- 3320,3326 ---- MMMMMMMKKKAAMMMM MMMMMMMMAAAMMMMM } ! # tile 174 (cheap plastic imitation of the Amulet of Yendor) { MMMMMMMMMMMMMMMM MMMMMMHHHHHAAMMM *************** *** 3320,3326 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 174 (Amulet of Yendor) { MMMMMMMMMMMMMMMM MMMMMMHHHHHAAMMM --- 3339,3345 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 175 (Amulet of Yendor) { MMMMMMMMMMMMMMMM MMMMMMHHHHHAAMMM *************** *** 3339,3345 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 175 (large box) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3358,3364 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 176 (large box) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3358,3364 **** CKKKKKKKKKKJAAMM MAAAAAAAAAAAAMMM } ! # tile 176 (chest) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3377,3383 ---- CKKKKKKKKKKJAAMM MAAAAAAAAAAAAMMM } ! # tile 177 (chest) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3377,3383 **** CKKKKKKKKKKJAAMM MAAAAAAAAAAAAMMM } ! # tile 177 (ice box) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3396,3402 ---- CKKKKKKKKKKJAAMM MAAAAAAAAAAAAMMM } ! # tile 178 (ice box) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3396,3402 **** NBBBBBBBBBBPAAMM MAAAAAAAAAAAAMMM } ! # tile 178 (sack) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3415,3421 ---- NBBBBBBBBBBPAAMM MAAAAAAAAAAAAMMM } ! # tile 179 (sack) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3415,3421 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 179 (oilskin sack) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3434,3440 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 180 (oilskin sack) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3434,3440 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 180 (bag of holding) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3453,3459 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 181 (bag of holding) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3453,3459 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 181 (bag of tricks) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3472,3478 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 182 (bag of tricks) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3472,3478 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 182 (skeleton key) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3491,3497 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 183 (skeleton key) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3491,3497 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 183 (lock pick) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3510,3516 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 184 (lock pick) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3510,3516 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 184 (credit card) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3529,3535 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 185 (credit card) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3529,3535 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 185 (tallow candle) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3548,3554 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 186 (tallow candle) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3548,3554 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 186 (wax candle) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3567,3573 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 187 (wax candle) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3567,3573 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 187 (brass lantern) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3586,3592 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 188 (brass lantern) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3586,3592 **** MMMMMAAAAAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 188 (oil lamp) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3605,3611 ---- MMMMMAAAAAAAMMMM MMMMMMMMMMMMMMMM } ! # tile 189 (oil lamp) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3605,3611 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 189 (magic lamp) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3624,3630 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 190 (magic lamp) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3624,3630 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 190 (expensive camera) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3643,3649 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 191 (expensive camera) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3643,3649 **** MMMPPPPPPPPPPPPM MMMMMMMMMMMMMMMM } ! # tile 191 (mirror) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3662,3668 ---- MMMPPPPPPPPPPPPM MMMMMMMMMMMMMMMM } ! # tile 192 (mirror) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3662,3668 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 192 (crystal ball) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3681,3687 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 193 (crystal ball) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3681,3687 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 193 (blindfold) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3700,3706 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 194 (blindfold) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3700,3706 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 194 (towel) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3719,3725 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 195 (towel) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3719,3725 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 195 (leash) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3738,3744 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 196 (leash) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3738,3744 **** MMMMMAAAAMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 196 (stethoscope) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3757,3763 ---- MMMMMAAAAMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 197 (stethoscope) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3757,3763 **** MMMMMMMMAAAMMMMM MMMMMMMMMMMMMMMM } ! # tile 197 (tinning kit) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3776,3782 ---- MMMMMMMMAAAMMMMM MMMMMMMMMMMMMMMM } ! # tile 198 (tinning kit) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3776,3782 **** MMMMMMAAAMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 198 (tin opener) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3795,3801 ---- MMMMMMAAAMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 199 (tin opener) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3795,3801 **** MMMMMMMMAAMMMMMM MMMMMMMMMMMMMMMM } ! # tile 199 (can of grease) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3814,3820 ---- MMMMMMMMAAMMMMMM MMMMMMMMMMMMMMMM } ! # tile 200 (can of grease) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3814,3820 **** MMMMMMMAAAAMMMMM MMMMMMMMMMMMMMMM } ! # tile 200 (figurine) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3833,3839 ---- MMMMMMMAAAAMMMMM MMMMMMMMMMMMMMMM } ! # tile 201 (figurine) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3833,3839 **** MMMMMJJJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 201 (magic marker) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3852,3858 ---- MMMMMJJJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 202 (magic marker) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3852,3858 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 202 (land mine) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3871,3877 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 203 (land mine) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3871,3877 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 203 (beartrap) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3890,3896 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 204 (beartrap) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3890,3896 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 204 (tin whistle) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3909,3915 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 205 (tin whistle) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3909,3915 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 205 (magic whistle) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3928,3934 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 206 (magic whistle) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3928,3934 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 206 (wooden flute) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3947,3953 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 207 (wooden flute) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3947,3953 **** MMAMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 207 (magic flute) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3966,3972 ---- MMAMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 208 (magic flute) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3966,3972 **** MMAMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 208 (tooled horn) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 3985,3991 ---- MMAMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 209 (tooled horn) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 3985,3991 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 209 (frost horn) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4004,4010 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 210 (frost horn) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4004,4010 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 210 (fire horn) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4023,4029 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 211 (fire horn) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4023,4029 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 211 (horn of plenty) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4042,4048 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 212 (horn of plenty) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4042,4048 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 212 (wooden harp) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4061,4067 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 213 (wooden harp) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4061,4067 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 213 (magic harp) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4080,4086 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 214 (magic harp) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4080,4086 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 214 (bell) { MMMMMMMMMMMMMMMM MMMMMMMKAMMMMMMM --- 4099,4105 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 215 (bell) { MMMMMMMMMMMMMMMM MMMMMMMKAMMMMMMM *************** *** 4099,4105 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 215 (bugle) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4118,4124 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 216 (bugle) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4118,4124 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 216 (leather drum) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4137,4143 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 217 (leather drum) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4137,4143 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 217 (drum of earthquake) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4156,4162 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 218 (drum of earthquake) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4156,4162 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 218 (pick-axe) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4175,4181 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 219 (pick-axe) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4175,4181 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 219 (unicorn horn) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4194,4200 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 220 (unicorn horn) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4194,4200 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 220 (Candelabrum of Invocation) { MMMMMMMNMMMMMMMM MMMMMMMDMMMMMMMM --- 4213,4219 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 221 (Candelabrum of Invocation) { MMMMMMMNMMMMMMMM MMMMMMMDMMMMMMMM *************** *** 4213,4219 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 221 (Bell of Opening) { MMMMMMMMMMMMMMMM MMMMMMMCAMMMMMMM --- 4232,4238 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 222 (Bell of Opening) { MMMMMMMMMMMMMMMM MMMMMMMCAMMMMMMM *************** *** 4232,4238 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 222 (tripe ration) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4251,4257 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 223 (tripe ration) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4251,4257 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 223 (corpse) { MMMMMMMMMMMMMMMM MMMMMDMDPLNMMMMM --- 4270,4276 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 224 (corpse) { MMMMMMMMMMMMMMMM MMMMMDMDPLNMMMMM *************** *** 4270,4276 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 224 (egg) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4289,4295 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 225 (egg) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4289,4295 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 225 (apple) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4308,4314 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 226 (apple) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4308,4314 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 226 (orange) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4327,4333 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 227 (orange) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4327,4333 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 227 (pear) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4346,4352 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 228 (pear) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4346,4352 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 228 (melon) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4365,4371 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 229 (melon) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4365,4371 **** MMMMMMAAAMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 229 (banana) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4384,4390 ---- MMMMMMAAAMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 230 (banana) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4384,4390 **** MMMMMAAAAAMMMMMM MMMMMMMMMMMMMMMM } ! # tile 230 (carrot) { MMMMMMMMMMMMMMMM MMMMMMMMMMFMMFMM --- 4403,4409 ---- MMMMMAAAAAMMMMMM MMMMMMMMMMMMMMMM } ! # tile 231 (carrot) { MMMMMMMMMMMMMMMM MMMMMMMMMMFMMFMM *************** *** 4403,4409 **** MMMAMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 231 (sprig of wolfsbane) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4422,4428 ---- MMMAMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 232 (sprig of wolfsbane) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4422,4428 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 232 (clove of garlic) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4441,4447 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 233 (clove of garlic) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4441,4447 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 233 (slime mold) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4460,4466 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 234 (slime mold) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4460,4466 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 234 (lump of royal jelly) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4479,4485 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 235 (lump of royal jelly) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4479,4485 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 235 (cream pie) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4498,4504 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 236 (cream pie) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4498,4504 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 236 (candy bar) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4517,4523 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 237 (candy bar) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4517,4523 **** MMMMAMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 237 (fortune cookie) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4536,4542 ---- MMMMAMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 238 (fortune cookie) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4536,4542 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 238 (pancake) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4555,4561 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 239 (pancake) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4555,4561 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 239 (lembas wafer) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4574,4580 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 240 (lembas wafer) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4574,4580 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 240 (cram ration) { MMMMMMMMMMMMMMMM MMMJKAMMMMMMMMMM --- 4593,4599 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 241 (cram ration) { MMMMMMMMMMMMMMMM MMMJKAMMMMMMMMMM *************** *** 4593,4599 **** MMMMMAAAAAAMMMMM MMMMMMMMMMMMMMMM } ! # tile 241 (food ration) { MMMJJAMMMMMMMMMM MMMBPAMMMMMMMMMM --- 4612,4618 ---- MMMMMAAAAAAMMMMM MMMMMMMMMMMMMMMM } ! # tile 242 (food ration) { MMMJJAMMMMMMMMMM MMMBPAMMMMMMMMMM *************** *** 4612,4618 **** MMMMKKKKKKKKKAMM MMMMMAAAAAAAAMMM } ! # tile 242 (K-ration) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4631,4637 ---- MMMMKKKKKKKKKAMM MMMMMAAAAAAAAMMM } ! # tile 243 (K-ration) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4631,4637 **** MMMMKKKKKKKKKAMM MMMMMAAAAAAAAMMM } ! # tile 243 (C-ration) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4650,4656 ---- MMMMKKKKKKKKKAMM MMMMMAAAAAAAAMMM } ! # tile 244 (C-ration) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4650,4656 **** MMMMKKKKKKKKKAMM MMMMMAAAAAAAAMMM } ! # tile 244 (tin) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4669,4675 ---- MMMMKKKKKKKKKAMM MMMMMAAAAAAAAMMM } ! # tile 245 (tin) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4669,4675 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 245 (gain ability) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4688,4694 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 246 (gain ability) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4688,4694 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 246 (restore ability) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4707,4713 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 247 (restore ability) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4707,4713 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 247 (confusion) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4726,4732 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 248 (confusion) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4726,4732 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 248 (blindness) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4745,4751 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 249 (blindness) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4745,4751 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 249 (paralysis) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4764,4770 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 250 (paralysis) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4764,4770 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 250 (speed) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4783,4789 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 251 (speed) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4783,4789 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 251 (levitation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4802,4808 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 252 (levitation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4802,4808 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 252 (hallucination) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4821,4827 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 253 (hallucination) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4821,4827 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 253 (invisibility) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4840,4846 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 254 (invisibility) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4840,4846 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 254 (see invisible) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4859,4865 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 255 (see invisible) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4859,4865 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 255 (healing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4878,4884 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 256 (healing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4878,4884 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 256 (extra healing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4897,4903 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 257 (extra healing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4897,4903 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 257 (gain level) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4916,4922 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 258 (gain level) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4916,4922 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 258 (enlightenment) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4935,4941 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 259 (enlightenment) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4935,4941 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 259 (monster detection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4954,4960 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 260 (monster detection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4954,4960 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 260 (object detection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4973,4979 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 261 (object detection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4973,4979 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 261 (gain energy) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 4992,4998 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 262 (gain energy) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 4992,4998 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 262 (booze) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5011,5017 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 263 (booze) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5011,5017 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 263 (sickness) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5030,5036 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 264 (sickness) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5030,5036 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 264 (fruit juice) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5049,5055 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 265 (fruit juice) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5049,5055 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 265 (oil) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5068,5074 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 266 (oil) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5068,5074 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 266 (water) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5087,5093 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 267 (water) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5087,5093 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 267 (enchant armor) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5106,5112 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 268 (enchant armor) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5106,5112 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 268 (destroy armor) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5125,5131 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 269 (destroy armor) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5125,5131 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 269 (confuse monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5144,5150 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 270 (confuse monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5144,5150 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 270 (scare monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5163,5169 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 271 (scare monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5163,5169 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 271 (remove curse) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5182,5188 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 272 (remove curse) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5182,5188 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 272 (enchant weapon) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5201,5207 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 273 (enchant weapon) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5201,5207 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 273 (create monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5220,5226 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 274 (create monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5220,5226 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 274 (taming) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5239,5245 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 275 (taming) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5239,5245 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 275 (genocide) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5258,5264 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 276 (genocide) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5258,5264 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 276 (light) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5277,5283 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 277 (light) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5277,5283 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 277 (teleportation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5296,5302 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 278 (teleportation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5296,5302 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 278 (gold detection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5315,5321 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 279 (gold detection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5315,5321 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 279 (food detection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5334,5340 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 280 (food detection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5334,5340 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 280 (identify) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5353,5359 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 281 (identify) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5353,5359 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 281 (magic mapping) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5372,5378 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 282 (magic mapping) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5372,5378 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 282 (amnesia) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5391,5397 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 283 (amnesia) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5391,5397 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 283 (fire) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5410,5416 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 284 (fire) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5410,5416 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 284 (punishment) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5429,5435 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 285 (punishment) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5429,5435 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 285 (charging) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5448,5454 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 286 (charging) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5448,5454 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 286 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5467,5473 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 287 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5467,5473 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 287 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5486,5492 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 288 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5486,5492 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 288 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5505,5511 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 289 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5505,5511 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 289 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5524,5530 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 290 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5524,5530 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 290 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5543,5549 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 291 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5543,5549 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 291 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5562,5568 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 292 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5562,5568 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 292 (mail) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5581,5587 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 293 (mail) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5581,5587 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 293 (blank paper) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5600,5606 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 294 (blank paper) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5600,5606 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 294 (dig) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5619,5625 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 295 (dig) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5619,5625 **** MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 295 (magic missile) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5638,5644 ---- MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 296 (magic missile) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5638,5644 **** MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 296 (fireball) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5657,5663 ---- MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 297 (fireball) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5657,5663 **** MMMMMMOOJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 297 (cone of cold) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5676,5682 ---- MMMMMMOOJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 298 (cone of cold) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5676,5682 **** MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 298 (sleep) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5695,5701 ---- MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 299 (sleep) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5695,5701 **** MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 299 (finger of death) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5714,5720 ---- MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 300 (finger of death) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5714,5720 **** MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 300 (light) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5733,5739 ---- MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 301 (light) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5733,5739 **** MMMMMMMPPPAAMMMM MMMMMMMMMMMMMMMM } ! # tile 301 (detect monsters) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5752,5758 ---- MMMMMMMPPPAAMMMM MMMMMMMMMMMMMMMM } ! # tile 302 (detect monsters) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5752,5758 **** MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 302 (healing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5771,5777 ---- MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 303 (healing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5771,5777 **** MMMMMMMPNNAAMMMM MMMMMMMMMMMMMMMM } ! # tile 303 (knock) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5790,5796 ---- MMMMMMMPNNAAMMMM MMMMMMMMMMMMMMMM } ! # tile 304 (knock) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5790,5796 **** MMMMMMMIIIAAMMMM MMMMMMMMMMMMMMMM } ! # tile 304 (force bolt) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5809,5815 ---- MMMMMMMIIIAAMMMM MMMMMMMMMMMMMMMM } ! # tile 305 (force bolt) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5809,5815 **** MMMMMMMDDDAAMMMM MMMMMMMMMMMMMMMM } ! # tile 305 (confuse monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5828,5834 ---- MMMMMMMDDDAAMMMM MMMMMMMMMMMMMMMM } ! # tile 306 (confuse monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5828,5834 **** MMMMMMMCCCAAMMMM MMMMMMMMMMMMMMMM } ! # tile 306 (cure blindness) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5847,5853 ---- MMMMMMMCCCAAMMMM MMMMMMMMMMMMMMMM } ! # tile 307 (cure blindness) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5847,5853 **** MMMMMMMHHHAAMMMM MMMMMMMMMMMMMMMM } ! # tile 307 (slow monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5866,5872 ---- MMMMMMMHHHAAMMMM MMMMMMMMMMMMMMMM } ! # tile 308 (slow monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5866,5872 **** MMMMMMMGGGAAMMMM MMMMMMMMMMMMMMMM } ! # tile 308 (wizard lock) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5885,5891 ---- MMMMMMMGGGAAMMMM MMMMMMMMMMMMMMMM } ! # tile 309 (wizard lock) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5885,5891 **** MMMMMMMFFFAAMMMM MMMMMMMMMMMMMMMM } ! # tile 309 (create monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5904,5910 ---- MMMMMMMFFFAAMMMM MMMMMMMMMMMMMMMM } ! # tile 310 (create monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5904,5910 **** MMMMMMMFBBAAMMMM MMMMMMMMMMMMMMMM } ! # tile 310 (detect food) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5923,5929 ---- MMMMMMMFBBAAMMMM MMMMMMMMMMMMMMMM } ! # tile 311 (detect food) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5923,5929 **** MMMMMMMBBBAAMMMM MMMMMMMMMMMMMMMM } ! # tile 311 (cause fear) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5942,5948 ---- MMMMMMMBBBAAMMMM MMMMMMMMMMMMMMMM } ! # tile 312 (cause fear) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5942,5948 **** MMMMMMMBBBAAMMMM MMMMMMMMMMMMMMMM } ! # tile 312 (clairvoyance) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5961,5967 ---- MMMMMMMBBBAAMMMM MMMMMMMMMMMMMMMM } ! # tile 313 (clairvoyance) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5961,5967 **** MMMMMMMEEEAAMMMM MMMMMMMMMMMMMMMM } ! # tile 313 (cure sickness) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5980,5986 ---- MMMMMMMEEEAAMMMM MMMMMMMMMMMMMMMM } ! # tile 314 (cure sickness) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5980,5986 **** MMMMMMMEEEAAMMMM MMMMMMMMMMMMMMMM } ! # tile 314 (charm monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 5999,6005 ---- MMMMMMMEEEAAMMMM MMMMMMMMMMMMMMMM } ! # tile 315 (charm monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 5999,6005 **** MMMMMMMIIIAAMMMM MMMMMMMMMMMMMMMM } ! # tile 315 (haste self) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6018,6024 ---- MMMMMMMIIIAAMMMM MMMMMMMMMMMMMMMM } ! # tile 316 (haste self) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6018,6024 **** MMMMMMMIIIAAMMMM MMMMMMMMMMMMMMMM } ! # tile 316 (detect unseen) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6037,6043 ---- MMMMMMMIIIAAMMMM MMMMMMMMMMMMMMMM } ! # tile 317 (detect unseen) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6037,6043 **** MMMMMMMIIIAAMMMM MMMMMMMMMMMMMMMM } ! # tile 317 (levitation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6056,6062 ---- MMMMMMMIIIAAMMMM MMMMMMMMMMMMMMMM } ! # tile 318 (levitation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6056,6062 **** MMMMMMMKKKAAMMMM MMMMMMMMMMMMMMMM } ! # tile 318 (extra healing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6075,6081 ---- MMMMMMMKKKAAMMMM MMMMMMMMMMMMMMMM } ! # tile 319 (extra healing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6075,6081 **** MMMMMMMEFDAAMMMM MMMMMMMMMMMMMMMM } ! # tile 319 (restore ability) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6094,6100 ---- MMMMMMMEFDAAMMMM MMMMMMMMMMMMMMMM } ! # tile 320 (restore ability) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6094,6100 **** MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 320 (invisibility) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6113,6119 ---- MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 321 (invisibility) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6113,6119 **** MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 321 (detect treasure) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6132,6138 ---- MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 322 (detect treasure) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6132,6138 **** MMMMMMMPPPAAMMMM MMMMMMMMMMMMMMMM } ! # tile 322 (remove curse) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6151,6157 ---- MMMMMMMPPPAAMMMM MMMMMMMMMMMMMMMM } ! # tile 323 (remove curse) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6151,6157 **** MMMMMMJJKKAAMMMM MMMMMMMMMMMMMMMM } ! # tile 323 (magic mapping) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6170,6176 ---- MMMMMMJJKKAAMMMM MMMMMMMMMMMMMMMM } ! # tile 324 (magic mapping) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6170,6176 **** MKAKAMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 324 (identify) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6189,6195 ---- MKAKAMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 325 (identify) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6189,6195 **** MMMMMMMCCCAAMMMM MMMMMMMMMMMMMMMM } ! # tile 325 (turn undead) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6208,6214 ---- MMMMMMMCCCAAMMMM MMMMMMMMMMMMMMMM } ! # tile 326 (turn undead) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6208,6214 **** MMMMMMMJCJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 326 (polymorph) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6227,6233 ---- MMMMMMMJCJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 327 (polymorph) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6227,6233 **** MMMMMMMPPPAAMMMM MMMMMMMMMMMMMMMM } ! # tile 327 (teleport away) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6246,6252 ---- MMMMMMMPPPAAMMMM MMMMMMMMMMMMMMMM } ! # tile 328 (teleport away) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6246,6252 **** MMMMMMMHHHAAMMMM MMMMMMMMMMMMMMMM } ! # tile 328 (create familiar) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6265,6271 ---- MMMMMMMHHHAAMMMM MMMMMMMMMMMMMMMM } ! # tile 329 (create familiar) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6265,6271 **** MMMMMMMPPPANMMMM MMMMMMMNMMMMMMMM } ! # tile 329 (cancellation) { MMMMNMMMMMMMMMMM MMMMMMMNMMMMMMMM --- 6284,6290 ---- MMMMMMMPPPANMMMM MMMMMMMNMMMMMMMM } ! # tile 330 (cancellation) { MMMMNMMMMMMMMMMM MMMMMMMNMMMMMMMM *************** *** 6284,6290 **** MMMMMMMPPPAAMMMM MMMMMMMMMMMMMMMM } ! # tile 330 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6303,6309 ---- MMMMMMMPPPAAMMMM MMMMMMMMMMMMMMMM } ! # tile 331 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6303,6309 **** MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 331 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6322,6328 ---- MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 332 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6322,6328 **** MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 332 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6341,6347 ---- MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 333 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6341,6347 **** MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 333 (blank paper) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6360,6366 ---- MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 334 (blank paper) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6360,6366 **** MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 334 (Book of the Dead) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6379,6385 ---- MMMMMMMJJJAAMMMM MMMMMMMMMMMMMMMM } ! # tile 335 (Book of the Dead) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6379,6385 **** MMMMMMMAAAMMMMMM MMMMMMMMMMMMMMMM } ! # tile 335 (light) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6398,6404 ---- MMMMMMMAAAMMMMMM MMMMMMMMMMMMMMMM } ! # tile 336 (light) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6398,6404 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 336 (secret door detection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6417,6423 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 337 (secret door detection) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6417,6423 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 337 (create monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6436,6442 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 338 (create monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6436,6442 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 338 (wishing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6455,6461 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 339 (wishing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6455,6461 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 339 (nothing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6474,6480 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 340 (nothing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6474,6480 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 340 (striking) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6493,6499 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 341 (striking) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6493,6499 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 341 (make invisible) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6512,6518 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 342 (make invisible) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6512,6518 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 342 (slow monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6531,6537 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 343 (slow monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6531,6537 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 343 (speed monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6550,6556 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 344 (speed monster) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6550,6556 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 344 (undead turning) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6569,6575 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 345 (undead turning) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6569,6575 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 345 (polymorph) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6588,6594 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 346 (polymorph) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6588,6594 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 346 (cancellation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6607,6613 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 347 (cancellation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6607,6613 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 347 (teleportation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6626,6632 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 348 (teleportation) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6626,6632 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 348 (opening) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6645,6651 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 349 (opening) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6645,6651 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 349 (locking) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6664,6670 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 350 (locking) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6664,6670 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 350 (probing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6683,6689 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 351 (probing) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6683,6689 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 351 (digging) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6702,6708 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 352 (digging) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6702,6708 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 352 (magic missile) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6721,6727 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 353 (magic missile) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6721,6727 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 353 (fire) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6740,6746 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 354 (fire) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6740,6746 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 354 (cold) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6759,6765 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 355 (cold) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6759,6765 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 355 (sleep) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6778,6784 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 356 (sleep) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6778,6784 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 356 (death) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMNOM --- 6797,6803 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 357 (death) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMNOM *************** *** 6797,6803 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 357 (lightning) { MMMMMMMMMMMMMMMM MMMMMMMNOMMMMMMM --- 6816,6822 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 358 (lightning) { MMMMMMMMMMMMMMMM MMMMMMMNOMMMMMMM *************** *** 6816,6822 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 358 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6835,6841 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 359 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6835,6841 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 359 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6854,6860 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 360 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6854,6860 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 360 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6873,6879 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 361 (null) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6873,6879 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 361 (gold piece) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6892,6898 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 362 (gold piece) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6892,6898 **** MMMMMMMMMHAMMMMM MMMMMMMMMMMHAMMM } ! # tile 362 (dilithium crystal) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6911,6917 ---- MMMMMMMMMHAMMMMM MMMMMMMMMMMHAMMM } ! # tile 363 (dilithium crystal) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6911,6917 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 363 (diamond) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6930,6936 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 364 (diamond) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6930,6936 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 364 (ruby) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6949,6955 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 365 (ruby) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6949,6955 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 365 (sapphire) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6968,6974 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 366 (sapphire) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6968,6974 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 366 (emerald) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 6987,6993 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 367 (emerald) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 6987,6993 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 367 (turquoise) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7006,7012 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 368 (turquoise) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7006,7012 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 368 (aquamarine) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7025,7031 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 369 (aquamarine) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7025,7031 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 369 (amber) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7044,7050 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 370 (amber) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7044,7050 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 370 (topaz) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7063,7069 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 371 (topaz) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7063,7069 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 371 (opal) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7082,7088 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 372 (opal) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7082,7088 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 372 (garnet) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7101,7107 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 373 (garnet) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7101,7107 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 373 (amethyst) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7120,7126 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 374 (amethyst) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7120,7126 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 374 (jasper) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7139,7145 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 375 (jasper) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7139,7145 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 375 (fluorite) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7158,7164 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 376 (fluorite) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7158,7164 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 376 (jade) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7177,7183 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 377 (jade) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7177,7183 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 377 (worthless piece of white glass) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7196,7202 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 378 (worthless piece of white glass) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7196,7202 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 378 (worthless piece of blue glass) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7215,7221 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 379 (worthless piece of blue glass) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7215,7221 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 379 (worthless piece of red glass) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7234,7240 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 380 (worthless piece of red glass) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7234,7240 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 380 (worthless piece of yellowish brown glass) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7253,7259 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 381 (worthless piece of yellowish brown glass) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7253,7259 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 381 (worthless piece of green glass) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7272,7278 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 382 (worthless piece of green glass) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7272,7278 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 382 (worthless piece of violet glass) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7291,7297 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 383 (worthless piece of violet glass) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7291,7297 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 383 (luckstone) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7310,7316 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 384 (luckstone) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7310,7316 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 384 (loadstone) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7329,7335 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 385 (loadstone) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7329,7335 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 385 (flint) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7348,7354 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 386 (flint) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7348,7354 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 386 (rock) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7367,7373 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 387 (rock) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7367,7373 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 387 (boulder) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7386,7392 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 388 (boulder) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7386,7392 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 388 (statue) { MMMMMMMMMMMMMMMM MMMMMMMMJJMMMMMM --- 7405,7411 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 389 (statue) { MMMMMMMMMMMMMMMM MMMMMMMMJJMMMMMM *************** *** 7405,7411 **** MMMMMJJJJJJAAMMM MMMMMMMMMMMMMMMM } ! # tile 389 (heavy iron ball) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7424,7430 ---- MMMMMJJJJJJAAMMM MMMMMMMMMMMMMMMM } ! # tile 390 (heavy iron ball) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7424,7430 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 390 (iron chain) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7443,7449 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 391 (iron chain) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7443,7449 **** MMMMMMMMMMMPPMPA MMMMMMMMMMMMAAMM } ! # tile 391 (blinding venom) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7462,7468 ---- MMMMMMMMMMMPPMPA MMMMMMMMMMMMAAMM } ! # tile 392 (blinding venom) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM *************** *** 7462,7468 **** MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 392 (acid venom) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM --- 7481,7487 ---- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } ! # tile 393 (acid venom) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM diff -c -r ../nethack-3.2.2/win/share/tilemap.c ./win/share/tilemap.c *** ../nethack-3.2.2/win/share/tilemap.c Fri Jun 21 02:26:01 1996 --- ./win/share/tilemap.c Tue Jul 22 23:18:56 1997 *************** *** 72,77 **** --- 72,86 ---- #ifndef MAIL { OBJ_GLYPH, SCR_CHARGING+6, "mail" }, #endif + #if 1 + #ifndef FIGHTER + { MON_GLYPH, PM_ELF, "fighter"}, + { MON_GLYPH, PM_ELWING, "Princess of Moon"}, + { MON_GLYPH, PM_GOBLIN_KING, "Jedeite"}, + { MON_GLYPH, PM_HIGH_ELF, "planetary fighter"}, + { OBJ_GLYPH, LEATHER_JACKET, "sailor blouse"}, + #endif + #endif { 0, 0, 0} }; diff -c -r ../nethack-3.2.2/win/tty/getline.c ./win/tty/getline.c *** ../nethack-3.2.2/win/tty/getline.c Sat Dec 28 21:54:21 1996 --- ./win/tty/getline.c Tue Jul 22 23:18:56 1997 *************** *** 30,35 **** --- 30,36 ---- * Reading can be interrupted by an escape ('\033') - now the * resulting string is "\033". */ + void tty_getlin(query, bufp) const char *query; *************** *** 39,53 **** } STATIC_OVL void ! hooked_tty_getlin(query, bufp, hook) const char *query; ! register char *bufp; getlin_hook_proc hook; { register char *obufp = bufp; ! register int c; struct WinDesc *cw = wins[WIN_MESSAGE]; boolean doprev = 0; if(ttyDisplay->toplin == 1 && !(cw->flags & WIN_STOP)) more(); cw->flags &= ~WIN_STOP; --- 40,62 ---- } STATIC_OVL void ! hooked_tty_getlin(query, bfp, hook) const char *query; ! register char *bfp; getlin_hook_proc hook; { + /*JP*/ + char tmp[BUFSZ]; + char *bufp = tmp; register char *obufp = bufp; ! /*JP register int c;*/ ! int c; struct WinDesc *cw = wins[WIN_MESSAGE]; boolean doprev = 0; + /*JP + Thu Jul 21 22:36:34 JST 1994 by ISSEI + */ + unsigned int uc; if(ttyDisplay->toplin == 1 && !(cw->flags & WIN_STOP)) more(); cw->flags &= ~WIN_STOP; *************** *** 62,67 **** --- 71,81 ---- *bufp = 0; break; } + /*JP + Thu Jul 21 22:36:34 JST 1994 by ISSEI + */ + uc = (*((unsigned int *)&c)); + uc &= 0377; if(c == '\033') { *obufp = c; obufp[1] = 0; *************** *** 87,96 **** --- 101,114 ---- addtopl(obufp); } if(c == erase_char || c == '\b') { + moreback: if(bufp != obufp) { bufp--; putsyms("\b \b");/* putsym converts \b */ } else tty_nhbell(); + /*JP*/ + if(is_kanji2(tmp, bufp-tmp)) + goto moreback; #if defined(apollo) } else if(c == '\n' || c == '\r') { #else *************** *** 98,113 **** #endif *bufp = 0; break; } else if(' ' <= c && c < '\177' && (bufp-obufp < BUFSZ-1 && bufp-obufp < COLNO)) { /* avoid isprint() - some people don't have it ' ' is not always a printing char */ *bufp = c; bufp[1] = 0; ! putsyms(bufp); bufp++; if (hook && (*hook)(obufp)) { ! putsyms(bufp); bufp = eos(bufp); } } else if(c == kill_char || c == '\177') { /* Robert Viduya */ --- 116,136 ---- #endif *bufp = 0; break; + /*JP } else if(' ' <= c && c < '\177' && + */ + } else if(' ' <= uc && uc < '\377' && (bufp-obufp < BUFSZ-1 && bufp-obufp < COLNO)) { /* avoid isprint() - some people don't have it ' ' is not always a printing char */ *bufp = c; bufp[1] = 0; ! /*JP putsyms(bufp);*/ ! raw_putsyms(bufp); bufp++; if (hook && (*hook)(obufp)) { ! /*JP putsyms(bufp);*/ ! raw_putsyms(bufp); bufp = eos(bufp); } } else if(c == kill_char || c == '\177') { /* Robert Viduya */ *************** *** 122,127 **** --- 145,154 ---- ttyDisplay->toplin = 2; /* nonempty, no --More-- required */ ttyDisplay->inread--; clear_nhwindow(WIN_MESSAGE); /* clean up after ourselves */ + /*JP + Fri Aug 26 19:30:56 JST 1994 by ISSEI + */ + Strcpy(bfp, str2ic(tmp)); } void diff -c -r ../nethack-3.2.2/win/tty/termcap.c ./win/tty/termcap.c *** ../nethack-3.2.2/win/tty/termcap.c Sat Dec 28 21:54:21 1996 --- ./win/tty/termcap.c Tue Jul 22 23:18:57 1997 *************** *** 529,535 **** char c; #endif { ! (void) putchar(c); } void --- 529,535 ---- char c; #endif { ! (void) cputchar(c); } void *************** *** 537,542 **** --- 537,543 ---- const char *s; { # ifndef TERMLIB + (void) jputchar('\0'); (void) fputs(s, stdout); # else # if defined(NHSTDC) || defined(ULTRIX_PROTO) *************** *** 654,660 **** tty_nhbell() { if (flags.silent) return; ! (void) putchar('\007'); /* curx does not change */ (void) fflush(stdout); } --- 655,661 ---- tty_nhbell() { if (flags.silent) return; ! (void) cputchar('\007'); /* curx does not change */ (void) fflush(stdout); } diff -c -r ../nethack-3.2.2/win/tty/topl.c ./win/tty/topl.c *** ../nethack-3.2.2/win/tty/topl.c Sat Dec 28 21:54:22 1996 --- ./win/tty/topl.c Tue Jul 22 23:18:57 1997 *************** *** 2,7 **** --- 2,13 ---- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright (C) Issei Numata, 1994 + ** changing point is marked `JP' (94/6/7) + ** JNetHack may be freely redistributed. See license for details. + */ + #include "hack.h" #ifdef TTY_GRAPHICS *************** *** 18,23 **** --- 24,31 ---- STATIC_DCL void FDECL(topl_putsym, (CHAR_P)); STATIC_DCL void NDECL(remember_topl); static void FDECL(removetopl, (int)); + /*JP*/ + STATIC_DCL void FDECL(raw_topl_putsym, (CHAR_P)); #ifdef OVLB *************** *** 51,62 **** --- 59,73 ---- { int otoplin = ttyDisplay->toplin; home(); + /*JP*/ + #if 0 if(*str & 0x80) { /* kludge for the / command, the only time we ever want a */ /* graphics character on the top line */ g_putch((int)*str++); ttyDisplay->curx++; } + #endif end_glyphout(); /* in case message printed during graphics output */ putsyms(str); cl_end(); *************** *** 135,141 **** --- 146,173 ---- ttyDisplay->toplin = 0; ttyDisplay->inmore = 0; } + /*JP*/ + static char * + folding_japanese( str, pos ) + char *str; + int pos; + { + char ss[1024],s1[1024],s2[1024]; + static char newstr[1024]; /* may be enough */ + newstr[0] = '\0'; + Strcpy(ss, str); + while(1){ + split_japanese(ss, s1, s2, pos); + Strcat(newstr, s1); + if(!*s2) + break; + Strcat(newstr, "\n"); + Strcpy(ss,s2); + } + + return newstr; + } void update_topl(bp) register const char *bp; *************** *** 165,171 **** } } remember_topl(); ! Strcpy(toplines, bp); for(tl = toplines; n0 >= CO; ){ otl = tl; for(tl+=CO-1; tl != otl && !isspace(*tl); --tl) ; --- 197,207 ---- } } remember_topl(); ! if( n0= CO; ){ otl = tl; for(tl+=CO-1; tl != otl && !isspace(*tl); --tl) ; *************** *** 177,192 **** --- 213,281 ---- *tl++ = '\n'; n0 = strlen(tl); } + #endif if(!notdied) cw->flags &= ~WIN_STOP; if(!(cw->flags & WIN_STOP)) redotoplin(toplines); } + /* JP + ** do not translate kcode this function(see topl_putsym) + */ + STATIC_OVL + void + raw_topl_putsym(c) + char c; + { + register struct WinDesc *cw = wins[WIN_MESSAGE]; + + if(cw == (struct WinDesc *) 0) panic("Putsym window MESSAGE nonexistant"); + + switch(c) { + case '\b': + if(ttyDisplay->curx == 0 && ttyDisplay->cury > 0) + tty_curs(BASE_WINDOW, CO, (int)ttyDisplay->cury-1); + backsp(); + ttyDisplay->curx--; + cw->curx = ttyDisplay->curx; + return; + case '\n': + cl_end(); + (void) cputchar('\r'); /* raw mode ¤ÇɬÍ×? */ + (void) cputchar('\n'); + ttyDisplay->curx = 0; + ttyDisplay->cury++; + cw->cury = ttyDisplay->cury; + break; + default: + if(ttyDisplay->curx == CO-1) + topl_putsym('\n'); /* 1 <= curx <= CO; avoid CO */ + cw->curx = ttyDisplay->curx; + if(cw->curx == 0) cl_end(); + (void) cputchar(c); + ++cw->curx; + ++ttyDisplay->curx; + } + } + /* JP + ** do not translate kcode this function(see putsym) + */ + void + raw_putsyms(str) + const char *str; + { + while(*str) + raw_topl_putsym(*str++); + } + STATIC_OVL void topl_putsym(c) char c; { register struct WinDesc *cw = wins[WIN_MESSAGE]; + /*JP*/ + unsigned char uc = *((unsigned char *)(&c)); + static int kmode; if(cw == (struct WinDesc *) 0) panic("Putsym window MESSAGE nonexistant"); *************** *** 200,205 **** --- 289,296 ---- return; case '\n': cl_end(); + (void) jputchar('\r'); /* raw mode ¤ÇɬÍ×? */ + (void) jputchar('\n'); ttyDisplay->curx = 0; ttyDisplay->cury++; cw->cury = ttyDisplay->cury; *************** *** 207,217 **** default: if(ttyDisplay->curx == CO-1) topl_putsym('\n'); /* 1 <= curx <= CO; avoid CO */ ttyDisplay->curx++; } - cw->curx = ttyDisplay->curx; - if(cw->curx == 0) cl_end(); - (void) putchar(c); } void --- 298,311 ---- default: if(ttyDisplay->curx == CO-1) topl_putsym('\n'); /* 1 <= curx <= CO; avoid CO */ + cw->curx = ttyDisplay->curx; + + if(cw->curx == 0) cl_end(); + /*JP*/ + (void) jputchar((unsigned char)uc); + ++cw->curx; ttyDisplay->curx++; } } void diff -c -r ../nethack-3.2.2/win/tty/wintty.c ./win/tty/wintty.c *** ../nethack-3.2.2/win/tty/wintty.c Sat Dec 28 21:54:22 1996 --- ./win/tty/wintty.c Tue Jul 22 23:18:57 1997 *************** *** 8,13 **** --- 8,18 ---- * h+ 930227 */ + /* + ** Japanese version (by Issei Numata) + ** changing point is marked `JP' (93/11/24) + */ + #include "hack.h" #include "dlb.h" #ifdef SHORT_FILENAMES *************** *** 295,301 **** tty_putstr(BASE_WINDOW, 0, COPYRIGHT_BANNER_B); tty_putstr(BASE_WINDOW, 0, COPYRIGHT_BANNER_C); tty_putstr(BASE_WINDOW, 0, ""); ! tty_display_nhwindow(BASE_WINDOW, FALSE); } void --- 300,309 ---- tty_putstr(BASE_WINDOW, 0, COPYRIGHT_BANNER_B); tty_putstr(BASE_WINDOW, 0, COPYRIGHT_BANNER_C); tty_putstr(BASE_WINDOW, 0, ""); ! tty_putstr(BASE_WINDOW, 0, "NetHack[ÆüËܸìÈÇ], Copyright 1993 - 1996"); ! tty_putstr(BASE_WINDOW, 0, " By I. Numata , S. Miyashita and N. Hamada."); ! tty_putstr(BASE_WINDOW, 0, ""); ! tty_display_nhwindow(BASE_WINDOW, FALSE); } void *************** *** 304,309 **** --- 312,318 ---- char pbuf[QBUFSZ]; char pick, pc; int i, echoline; + const char *jtmp; if ((pc = highc(pl_character[0])) != 0) { if(index(pl_classes, pc) != (char*) 0) *************** *** 314,320 **** pl_character[0] = pc = 0; } ! #define PICK_PROMPT "Shall I pick a character for you? [Y, N, or Q(quit)] " tty_putstr(BASE_WINDOW, 0, ""); echoline = wins[BASE_WINDOW]->cury; tty_putstr(BASE_WINDOW, 0, PICK_PROMPT); --- 323,330 ---- pl_character[0] = pc = 0; } ! /*JP#define PICK_PROMPT "Shall I pick a character for you? [Y, N, or Q(quit)] "*/ ! #define PICK_PROMPT "¥­¥ã¥é¥¯¥¿¡¼¤òÁª¤Ó¤Þ¤·¤ç¤¦¤«¡©[Y, N, or Q(¥²¡¼¥à¤ò¤ä¤á¤ë)] " tty_putstr(BASE_WINDOW, 0, ""); echoline = wins[BASE_WINDOW]->cury; tty_putstr(BASE_WINDOW, 0, PICK_PROMPT); *************** *** 346,367 **** } tty_putstr(BASE_WINDOW, 0, ""); ! tty_putstr(BASE_WINDOW, 0, "What kind of character are you:"); tty_putstr(BASE_WINDOW, 0, ""); ! Sprintf(pbuf, " %s, ", An(roles[0])); for(i = 1; roles[i]; i++) { ! Strcat(pbuf, an(roles[i])); ! if (roles[i+1]) { Strcat(pbuf, ", "); ! if ((int)strlen(pbuf) + (int)strlen(roles[i+1]) + 8 > CO) { /* 8 for ", or an " */ tty_putstr(BASE_WINDOW, 0, pbuf); Strcpy(pbuf, " "); } ! if (!roles[i+2]) Strcat(pbuf, "or "); } } ! Strcat(pbuf ,"?"); tty_putstr(BASE_WINDOW, 0, pbuf); Strcpy(pbuf, " ["); for(i = 0; roles[i]; i++) --- 356,385 ---- } tty_putstr(BASE_WINDOW, 0, ""); ! /*JP tty_putstr(BASE_WINDOW, 0, "What kind of character are you:");*/ ! tty_putstr(BASE_WINDOW, 0, "¤É¤Î¥­¥ã¥é¥¯¥¿¡¼¤Ë¤·¤Þ¤¹¤«¡§"); tty_putstr(BASE_WINDOW, 0, ""); ! /*JP Sprintf(pbuf, " %s, ", An(roles[0]));*/ ! Sprintf(pbuf, " %s(%c), ", jtrns_mon(roles[0], -1), roles[0][0]); for(i = 1; roles[i]; i++) { ! /*JP Strcat(pbuf, an(roles[i]));*/ ! Strcat(pbuf, jtrns_mon(roles[i], -1)); ! Sprintf(eos(pbuf), "(%c)", roles[i][0]); ! /*JP if (roles[i+1]) {*/ ! if (jtmp = jtrns_mon(roles[i+1], -1)) { Strcat(pbuf, ", "); ! /*JP if ((int)strlen(pbuf) + (int)strlen(roles[i+1]) + 8 > CO) {*/ ! if ((int)strlen(pbuf) + (int)strlen(jtmp) + 11 > CO) { /* 8 for ", or an " */ tty_putstr(BASE_WINDOW, 0, pbuf); Strcpy(pbuf, " "); } ! /*JP if (!roles[i+2]) Strcat(pbuf, "or ");*/ ! if (!roles[i+2]) Strcat(pbuf, "¤Þ¤¿¤Ï"); } } ! /*JP Strcat(pbuf ,"?");*/ ! Strcat(pbuf ,"¡©"); tty_putstr(BASE_WINDOW, 0, pbuf); Strcpy(pbuf, " ["); for(i = 0; roles[i]; i++) *************** *** 395,401 **** i = rn2((int)strlen(pl_classes)); pc = pl_classes[i]; tty_putstr(BASE_WINDOW, 0, ""); ! Sprintf(pbuf, "This game you will be %s.", an(roles[i])); tty_putstr(BASE_WINDOW, 0, pbuf); tty_putstr(BASE_WINDOW, 0, ""); tty_display_nhwindow(BASE_WINDOW, TRUE); --- 413,420 ---- i = rn2((int)strlen(pl_classes)); pc = pl_classes[i]; tty_putstr(BASE_WINDOW, 0, ""); ! /*JP Sprintf(pbuf, "This game you will be %s.", an(roles[i]));*/ ! Sprintf(pbuf, "¤³¤Î¥²¡¼¥à¤Ç¤Ï¤¢¤Ê¤¿¤Ï%s¤Ç¤¹¡¥", jtrns_mon(roles[i], -1)); tty_putstr(BASE_WINDOW, 0, pbuf); tty_putstr(BASE_WINDOW, 0, ""); tty_display_nhwindow(BASE_WINDOW, TRUE); *************** *** 417,431 **** void tty_askname() { ! static char who_are_you[] = "Who are you? "; register int c, ct, tryct = 0; tty_putstr(BASE_WINDOW, 0, ""); do { if (++tryct > 1) { if (tryct > 10) bail("Giving up after 10 tries.\n"); tty_curs(BASE_WINDOW, 1, wins[BASE_WINDOW]->cury - 1); ! tty_putstr(BASE_WINDOW, 0, "Enter a name for your character..."); /* erase previous prompt (in case of ESC after partial response) */ tty_curs(BASE_WINDOW, 1, wins[BASE_WINDOW]->cury), cl_end(); } --- 436,453 ---- void tty_askname() { ! /*JP static char who_are_you[] = "Who are you? ";*/ ! static char who_are_you[] = "¤¢¤Ê¤¿¤Ïï¡© "; register int c, ct, tryct = 0; + char ptmpname[PL_NSIZ]; tty_putstr(BASE_WINDOW, 0, ""); do { if (++tryct > 1) { if (tryct > 10) bail("Giving up after 10 tries.\n"); tty_curs(BASE_WINDOW, 1, wins[BASE_WINDOW]->cury - 1); ! /*JP tty_putstr(BASE_WINDOW, 0, "Enter a name for your character...");*/ ! tty_putstr(BASE_WINDOW, 0, "¤¢¤Ê¤¿¤Î¥­¥ã¥é¥¯¥¿¤Î̾Á°¤Ï¡©"); /* erase previous prompt (in case of ESC after partial response) */ tty_curs(BASE_WINDOW, 1, wins[BASE_WINDOW]->cury), cl_end(); } *************** *** 438,443 **** --- 460,466 ---- if (c == '\033') { ct = 0; break; } /* continue outer loop */ /* some people get confused when their erase char is not ^H */ if (c == '\b' || c == '\177') { + moreback: if(ct) { ct--; #ifdef MICRO *************** *** 447,452 **** --- 470,479 ---- # if defined(MSDOS) if (iflags.grmode) { backsp(); + #ifdef NO_TERMS + ttyDisplay->curx--; + wins[BASE_WINDOW]->curx--; + #endif } else # endif *************** *** 458,488 **** (void) putchar('\b'); #endif } continue; } #if defined(UNIX) || defined(VMS) if(c != '-' && c != '@') if(c < 'A' || (c > 'Z' && c < 'a') || c > 'z') c = '_'; #endif if (ct < (int)(sizeof plname) - 1) { #if defined(MICRO) # if defined(MSDOS) if (iflags.grmode) { ! (void) putchar(c); } else # endif msmsg("%c", c); #else (void) putchar(c); #endif plname[ct++] = c; } } plname[ct] = 0; } while (ct == 0); /* move to next line to simulate echo of user's */ tty_curs(BASE_WINDOW, 1, wins[BASE_WINDOW]->cury + 1); } void --- 485,534 ---- (void) putchar('\b'); #endif } + /*JP*/ + if(is_kanji2(ptmpname, ct)) + goto moreback; continue; } #if defined(UNIX) || defined(VMS) + /*JP if(c != '-' && c != '@') if(c < 'A' || (c > 'Z' && c < 'a') || c > 'z') c = '_'; + */ #endif if (ct < (int)(sizeof plname) - 1) { #if defined(MICRO) # if defined(MSDOS) if (iflags.grmode) { ! (void) cputchar(c); ! # ifdef NO_TERMS ! ttyDisplay->curx++; ! wins[BASE_WINDOW]->curx++; ! # endif } else # endif + /*JP msmsg("%c", c); + */ + (void) putchar(c); #else (void) putchar(c); #endif + /*JP plname[ct++] = c; + */ + ptmpname[ct++] = c; } } + /*JP plname[ct] = 0; + */ + ptmpname[ct] = 0; } while (ct == 0); /* move to next line to simulate echo of user's */ tty_curs(BASE_WINDOW, 1, wins[BASE_WINDOW]->cury + 1); + Strcpy(plname, str2ic(ptmpname)); } void *************** *** 495,500 **** --- 541,548 ---- static void getret() { + /*JP*/ + jputchar('\0'); xputs("\n"); if(flags.standout) standoutbeg(); *************** *** 773,779 **** (int)ttyDisplay->curx + offset, (int)ttyDisplay->cury); if(flags.standout) standoutbeg(); ! xputs(prompt); ttyDisplay->curx += strlen(prompt); if(flags.standout) standoutend(); --- 821,836 ---- (int)ttyDisplay->curx + offset, (int)ttyDisplay->cury); if(flags.standout) standoutbeg(); ! /*JP xputs(prompt);*/ ! jputchar('\0'); /* reset */ ! /*JP xputs(prompt);*/ ! { ! const char *p; ! p = prompt; ! while(*p) ! putchar(*(p++)); ! } ! /* jputs(prompt);*/ ttyDisplay->curx += strlen(prompt); if(flags.standout) standoutend(); *************** *** 790,796 **** char ch = item->selected ? (item->count == -1L ? '+' : '#') : '-'; tty_curs(window, 4, lineno); term_start_attr(item->attr); ! (void) putchar(ch); ttyDisplay->curx++; term_end_attr(item->attr); } --- 847,854 ---- char ch = item->selected ? (item->count == -1L ? '+' : '#') : '-'; tty_curs(window, 4, lineno); term_start_attr(item->attr); ! /*JP (void) putchar(ch);*/ ! (void) jputchar(ch); ttyDisplay->curx++; term_end_attr(item->attr); } *************** *** 958,964 **** --- 1016,1025 ---- tty_curs(window, 1, page_lines); if (cw->offx) cl_end(); + /*JP (void) putchar(' '); + */ + (void) jputchar(' '); ++ttyDisplay->curx; /* * Don't use xputs() because (1) under unix it calls *************** *** 974,984 **** if (n == 2 && curr->identifier.a_void != 0 && curr->selected) { if (curr->count == -1L) ! (void) putchar('+'); /* all selected */ else ! (void) putchar('#'); /* count selected */ } else (void) putchar(*cp); term_end_attr(curr->attr); } *rp = 0; --- 1035,1050 ---- if (n == 2 && curr->identifier.a_void != 0 && curr->selected) { if (curr->count == -1L) ! /*JP (void) putchar('+'); /* all selected */ ! (void) jputchar('+'); /* all selected */ else ! /*JP (void) putchar('#'); /* count selected */ ! (void) jputchar('#'); /* count selected */ } else + /*JP (void) putchar(*cp); + */ + (void) jputchar(*cp); term_end_attr(curr->attr); } *rp = 0; *************** *** 1194,1206 **** --- 1260,1278 ---- if (cw->data[i]) { attr = cw->data[i][0] - 1; if (cw->offx) { + /*JP (void) putchar(' '); ++ttyDisplay->curx; + */ + (void) jputchar(' '); ++ttyDisplay->curx; } term_start_attr(attr); for (cp = &cw->data[i][1]; *cp && (int) ++ttyDisplay->curx < (int) ttyDisplay->cols; cp++) + /*JP (void) putchar(*cp); + */ + (void) jputchar(*cp); term_end_attr(attr); } } *************** *** 1403,1413 **** if((cy -= y) < 0) cy = -cy; if((cx -= x) < 0) cx = -cx; if(cy <= 3 && cx <= 3) { nocmov(x, y); #ifndef NO_TERMS } else if ((x <= 3 && cy <= 3) || (!CM && x < cx)) { ! (void) putchar('\r'); ttyDisplay->curx = 0; nocmov(x, y); } else if (!CM) { --- 1475,1486 ---- if((cy -= y) < 0) cy = -cy; if((cx -= x) < 0) cx = -cx; + if(cy <= 3 && cx <= 3) { nocmov(x, y); #ifndef NO_TERMS } else if ((x <= 3 && cy <= 3) || (!CM && x < cx)) { ! (void) cputchar('\r'); ttyDisplay->curx = 0; nocmov(x, y); } else if (!CM) { *************** *** 1427,1432 **** --- 1500,1507 ---- char ch; { register struct WinDesc *cw = 0; + /*JP*/ + static int prev_win; if(window == WIN_ERR || (cw = wins[window]) == (struct WinDesc *) 0) panic(winpanicstr, window); *************** *** 1436,1442 **** case NHW_MAP: case NHW_BASE: tty_curs(window, x, y); ! (void) putchar(ch); ttyDisplay->curx++; cw->curx++; break; --- 1511,1522 ---- case NHW_MAP: case NHW_BASE: tty_curs(window, x, y); ! /*JP*/ ! if(cw->type!=NHW_MAP) ! (void) jputchar(ch); ! else{ ! (void) cputchar(ch); ! } ttyDisplay->curx++; cw->curx++; break; *************** *** 1446,1451 **** --- 1526,1533 ---- impossible("Can't putsym to window type %d", cw->type); break; } + /*JP*/ + prev_win = cw->type; } *************** *** 1482,1491 **** --- 1564,1579 ---- register char *ob; register const char *nb; register int i, j, n0; + /*JP*/ + int kchar2 = 0; /* if 1, kanji 2nd byte */ + unsigned char uc; /* Assume there's a real problem if the window is missing -- * probably a panic message */ + /*JP*/ + jputchar('\0'); /* RESET */ + if(window == WIN_ERR || (cw = wins[window]) == (struct WinDesc *) 0) { tty_raw_print(str); return; *************** *** 1523,1529 **** } break; } ! if(*ob != *nb) tty_putsym(WIN_STATUS, i, cw->cury, *nb); if(*ob) ob++; } --- 1611,1654 ---- } break; } ! #if 0 /* this code updates all status line at any time */ ! /*JP if(*ob != *nb) */ ! /* check 2-bytes character for Japanese */ ! /* by issei 93/12/2 */ ! uc = *((unsigned char *)nb); ! if((!(uc & 0x80) && *ob != *nb) || kflg){ ! tty_putsym(WIN_STATUS, i, cw->cury, *nb); ! } ! else{ ! if(*ob != *nb || *(ob+1)!= *(nb+1)){ ! tty_putsym(WIN_STATUS, i, cw->cury, *nb); ! kflg = 1; ! } ! } ! #endif /* 0 */ ! #define ismbchar(c) (((unsigned char)(c)) & 0x80) ! #define KANJI2 1 ! #define KUPDATE 2 ! if (kchar2) /* kanji 2nd byte */ ! { ! if (kchar2 & KUPDATE) ! tty_putsym(WIN_STATUS, i, cw->cury, *nb); ! kchar2 = 0; ! } ! else if (ismbchar(*nb)) /* kanji 1st byte */ ! { ! kchar2 = KANJI2; ! /* Kanji char must be checked as 2-bytes pair. */ ! /* check i to prevent putting only kanji 1st byte at last. */ ! if ((*nb != *ob || *(nb+1) != *(ob+1)) && i < n0-1) ! { ! tty_putsym(WIN_STATUS, i, cw->cury, *nb); ! kchar2 |= KUPDATE; /* must do update */ ! } ! /* else nb is the same char as old, so need not to update */ ! } ! /* not kanji char */ ! else if (*nb != *ob) tty_putsym(WIN_STATUS, i, cw->cury, *nb); if(*ob) ob++; } *************** *** 1537,1543 **** tty_curs(window, cw->curx+1, cw->cury); term_start_attr(attr); while(*str && (int) ttyDisplay->curx < (int) ttyDisplay->cols-1) { ! (void) putchar(*str); str++; ttyDisplay->curx++; } --- 1662,1669 ---- tty_curs(window, cw->curx+1, cw->cury); term_start_attr(attr); while(*str && (int) ttyDisplay->curx < (int) ttyDisplay->cols-1) { ! /*JP (void) putchar(*str);*/ ! (void) cputchar(*str); str++; ttyDisplay->curx++; } *************** *** 1554,1560 **** cw->cury++; tty_curs(window, cw->curx+1, cw->cury); } ! (void) putchar(*str); str++; ttyDisplay->curx++; } --- 1680,1687 ---- cw->cury++; tty_curs(window, cw->curx+1, cw->cury); } ! /*JP (void) putchar(*str);*/ ! (void) jputchar(*str); str++; ttyDisplay->curx++; } *************** *** 1613,1618 **** --- 1740,1747 ---- } break; } + /*JP*/ + jputchar('\0'); /* RESET */ } void *************** *** 2037,2050 **** # if defined(ASCIIGRAPH) && !defined(NO_TERMS) if (iflags.IBMgraphics) /* IBM-compatible displays don't need other stuff */ (void) putchar(ch); else if (ch & 0x80) { if (!GFlag) { graph_on(); GFlag = TRUE; } ! (void) putchar((ch ^ 0x80)); /* Strip 8th bit */ } else { if (GFlag) { graph_off(); --- 2166,2194 ---- # if defined(ASCIIGRAPH) && !defined(NO_TERMS) if (iflags.IBMgraphics) + # ifdef PC9800 + { + if (!GFlag) { + graph_on(); + GFlag = TRUE; + } + /*JP (void) putchar(ch);*/ + (void) cputchar(ch); + } + # else /* IBM-compatible displays don't need other stuff */ + /*JP (void) putchar(ch); + */ + (void) cputchar(ch); + #endif else if (ch & 0x80) { if (!GFlag) { graph_on(); GFlag = TRUE; } ! /* (void) putchar((ch ^ 0x80)); /* Strip 8th bit */ ! (void) cputchar((ch ^ 0x80)); /* Strip 8th bit */ } else { if (GFlag) { graph_off(); *************** *** 2183,2189 **** #ifndef NO_TERMS if (ul_hack && ch == '_') { /* non-destructive underscore */ ! (void) putchar((char) ' '); backsp(); } #endif --- 2327,2333 ---- #ifndef NO_TERMS if (ul_hack && ch == '_') { /* non-destructive underscore */ ! (void) cputchar((char) ' '); backsp(); } #endif *************** *** 2215,2229 **** ttyDisplay->curx++; /* the real cursor moved too */ } void tty_raw_print(str) const char *str; { if(ttyDisplay) ttyDisplay->rawprint++; #ifdef MICRO ! msmsg("%s\n", str); #else ! puts(str); (void) fflush(stdout); #endif } --- 2359,2391 ---- ttyDisplay->curx++; /* the real cursor moved too */ } + /*JP*/ + void + raw_putc(c) + unsigned int c; + { + fputc(c, stdout); + } + void + raw_putc2(c, c2) + unsigned int c; + unsigned int c2; + { + fputc(c, stdout); + fputc(c2, stdout); + } void tty_raw_print(str) const char *str; { if(ttyDisplay) ttyDisplay->rawprint++; #ifdef MICRO ! /*JP msmsg("%s\n", str);*/ ! while(*str) ! jbuffer(*(str++), NULL, NULL, raw_putc, raw_putc2); ! raw_putc('\n'); #else ! jputs(str); (void) fflush(stdout); #endif } *************** *** 2234,2248 **** if(ttyDisplay) ttyDisplay->rawprint++; term_start_raw_bold(); #ifdef MICRO ! msmsg("%s", str); #else ! (void) fputs(str, stdout); #endif term_end_raw_bold(); #ifdef MICRO msmsg("\n"); #else ! puts(""); (void) fflush(stdout); #endif } --- 2396,2418 ---- if(ttyDisplay) ttyDisplay->rawprint++; term_start_raw_bold(); #ifdef MICRO ! /*JP msmsg("%s", str);*/ ! #ifndef PC9800 ! msmsg("\033[1m"); ! #endif ! while(*str) ! jbuffer(*(str++), NULL, NULL, raw_putc, raw_putc2); #else ! (void) jputs(str); #endif term_end_raw_bold(); #ifdef MICRO + #ifndef PC9800 + msmsg("\033[0m"); + #endif msmsg("\n"); #else ! /* jputs("");*/ (void) fflush(stdout); #endif } *** ../nethack-3.2.2/include/Window.h Fri Aug 4 13:31:15 1995 --- ./include/Window.h Tue Jul 22 23:18:03 1997 *************** *** 48,53 **** --- 48,58 ---- white Color Pixel "white" font Font XFontStruct* XtDefaultFont + ** + ** by issei 1996/1/8 + ** + fontSet FontSet XFontSet XtDefaultFontSet + exposeCallback Callback Callback NULL callback Callback Callback NULL resizeCallback Callback Callback NULL *************** *** 78,83 **** --- 83,91 ---- extern XFontStruct *WindowFontStruct(/* Widget */); extern Font WindowFont(/* Widget */); + #ifdef XI18N + extern XFontSet WindowFontSet(/* Widget */); + #endif #define XtCWindowResource "WindowResource" #define XtCRows "Rows" *** ../nethack-3.2.2/include/WindowP.h Fri Aug 4 13:31:19 1995 --- ./include/WindowP.h Tue Jul 22 23:18:03 1997 *************** *** 57,62 **** --- 57,63 ---- Pixel bright_cyan; Pixel white; XFontStruct *font; + XFontSet fontset; XtCallbackList expose_callback; XtCallbackList input_callback; XtCallbackList resize_callback; *** ../nethack-3.2.2/include/artifact.h Fri Jun 21 02:24:42 1996 --- ./include/artifact.h Tue Jul 22 23:18:03 1997 *************** *** 31,38 **** #define SPFX_DFLAG1 0x0400000L /* attack bonus on monsters w/ mflags1 flag */ #define SPFX_DFLAG2 0x0800000L /* attack bonus on monsters w/ mflags2 flag */ #define SPFX_DALIGN 0x1000000L /* attack bonus on non-aligned monsters */ - #define SPFX_DBONUS 0x1F00000L /* attack bonus mask */ struct artifact { short otyp; --- 31,39 ---- #define SPFX_DFLAG1 0x0400000L /* attack bonus on monsters w/ mflags1 flag */ #define SPFX_DFLAG2 0x0800000L /* attack bonus on monsters w/ mflags2 flag */ #define SPFX_DALIGN 0x1000000L /* attack bonus on non-aligned monsters */ #define SPFX_DBONUS 0x1F00000L /* attack bonus mask */ + /*JP*/ + #define SPFX_PCTRL 0x2000000L /* polymorph control */ struct artifact { short otyp; *** ../nethack-3.2.2/include/artilist.h Fri Jun 21 02:24:42 1996 --- ./include/artilist.h Tue Jul 22 23:18:04 1997 *************** *** 160,165 **** --- 160,174 ---- NO_ATTK, NO_DFNS, NO_CARY, TAMING, A_CHAOTIC, 'E' ), + #ifdef FIGHTER + A("The Silver Crystal", DILITHIUM_CRYSTAL, + (SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), + (SPFX_ESP|SPFX_REGEN|SPFX_DBONUS|SPFX_PCTRL), 0, + NO_ATTK, NO_DFNS, CARY(AD_MAGM), + HEALING, A_LAWFUL, 'F' ), + #endif + + A("The Staff of Aesculapius", QUARTERSTAFF, (SPFX_NOGEN|SPFX_RESTR|SPFX_ATTK|SPFX_INTEL|SPFX_DRLI|SPFX_REGEN), 0,0, DRLI(0,0), DRLI(0,0), NO_CARY, *** ../nethack-3.2.2/include/config.h Sat Dec 28 21:53:30 1996 --- ./include/config.h Wed Sep 24 15:08:10 1997 *************** *** 214,219 **** --- 214,231 ---- /* #define X11_GRAPHICS /* X11 interface */ /* + ** added by issei, Tue May 24 11:55:10 JST 1994 + */ + #ifdef X11_GRAPHICS + #define XI18N /* if you use X11 internationalization, define this */ + #endif + + #ifdef XI18N + #undef XAW_I18N /* if you use X11R5 & Xawi18n, define this */ + #define X11R6 /* ,or if use X11R6, define this */ + #endif + + /* * Define the default window system. This should be one that is compiled * into your system (see defines above). Known window systems are: * *************** *** 331,337 **** * otherwise it will be the current directory. */ # ifndef HACKDIR ! # define HACKDIR "/usr/games/lib/nethackdir" /* nethack directory */ # endif /* --- 343,349 ---- * otherwise it will be the current directory. */ # ifndef HACKDIR ! # define HACKDIR "/usr/games/lib/jnethackdir" /* nethack directory */ # endif /* *************** *** 452,457 **** --- 464,470 ---- #define KOPS /* Keystone Kops by Scott R. Turner */ #define SEDUCE /* Succubi/incubi seduction, by KAA, suggested by IM */ #define TOURIST /* Tourist players with cameras and Hawaiian shirts */ + #define FIGHTER /* Sailor Fighter with sailor blouse */ /* difficulty */ #define ELBERETH /* Engraving the E-word repels monsters */ /* I/O */ *** ../nethack-3.2.2/include/extern.h Sat Dec 28 21:53:30 1996 --- ./include/extern.h Tue Jul 22 23:18:04 1997 *************** *** 1069,1074 **** --- 1069,1075 ---- E int FDECL(little_to_big, (int)); E int FDECL(big_to_little, (int)); E const char *FDECL(locomotion, (const struct permonst *,const char *)); + E const char *FDECL(locomotion2, (const struct permonst *,const char *)); /* ### monmove.c ### */ *************** *** 1212,1217 **** --- 1213,1220 ---- /* ### objnam.c ### */ E char *FDECL(typename, (int)); + /*JP*/ + E char *FDECL(jtypename, (int)); E boolean FDECL(obj_is_pname, (struct obj *)); E char *FDECL(distant_name, (struct obj *,char *(*)(OBJ_P))); E char *FDECL(xname, (struct obj *)); *************** *** 2071,2076 **** --- 2074,2116 ---- #endif /* !MAKEDEFS_C && !LEV_LEX_C */ + /* ### jconj.c , jtrns.c, jlib.c ### */ + + E void FDECL(setkcode,(int)); + E void FDECL(cputchar,(int)); + E void FDECL(jputchar,(int)); + E void FDECL(jputs,(const char *)); + E int FDECL(jbuffer, (unsigned int, unsigned int *, void (*)(), void (*)(), void (*)())); + E int FDECL(cbuffer, (unsigned int, unsigned int *, void (*)(), void (*)(), void (*)())); + E const char *FDECL(str2ic, (const char *)); + E const char *FDECL(jconj, (const char *,const char *)); + E const char *FDECL(jconj_adj, (const char *)); + E const char *FDECL(jcan, (const char *)); + E const char *FDECL(jcannot, (const char *)); + E const char *FDECL(jpast, (const char *)); + E const char *FDECL(joffmsg, (struct obj *, const char **)); + E const char *FDECL(jonmsg, (struct obj *, const char **)); + E void NDECL(jtrns_init); + E int NDECL(dotogglelang); + E int NDECL(query_lang_mode); + E void FDECL(set_trns_mode, (int)); + E const char *FDECL(jtrns_mon, (const char *, int)); + E const char *FDECL(jtrns_obj, (const int, const char *)); + E const char *FDECL(etrns_mon, (const char *)); + E const char *FDECL(etrns_obj, (const int, const char *)); + E int FDECL(is_kanji, (unsigned int)); + E int FDECL(is_kanji1, (const char *,int)); + E int FDECL(is_kanji2, (const char *,int)); + E int FDECL(isspace_8, (const int)); + /*E void FDECL(zen2han, (char *));*/ + E void FDECL(split_japanese, (char *,char *,char *,int)); + E void FDECL(jrndm_replace, (char *)); + + E unsigned char *FDECL(e2sj, (unsigned char *)); + E unsigned char *FDECL(sj2e, (unsigned char *)); + #undef E #endif /* EXTERN_H */ + + *** ../nethack-3.2.2/include/global.h Sat Dec 28 21:53:31 1996 --- ./include/global.h Tue Jul 22 23:19:18 1997 *************** *** 15,31 **** */ #define RECORD "record" /* a file containing list of topscorers */ #define HELP "help" /* a file containing command descriptions */ #define SHELP "hh" /* abbreviated form of the same */ #define DEBUGHELP "wizhelp" /* a file containing debug mode cmds */ #define RUMORFILE "rumors" /* a file with fortune cookies */ #define ORACLEFILE "oracles" /* a file with oracular information */ - #define DATAFILE "data" /* a file giving the meaning of symbols used */ #define CMDHELPFILE "cmdhelp" /* file telling what commands do */ #define HISTORY "history" /* a file giving nethack's history */ - #define LICENSE "license" /* file with license information */ #define OPTIONFILE "opthelp" /* a file explaining runtime options */ #define OPTIONS_USED "options" /* compile-time options, for #version */ #define LEV_EXT ".lev" /* extension for special level files */ --- 15,47 ---- */ #define RECORD "record" /* a file containing list of topscorers */ + /*JP*/ + #if 0 #define HELP "help" /* a file containing command descriptions */ #define SHELP "hh" /* abbreviated form of the same */ #define DEBUGHELP "wizhelp" /* a file containing debug mode cmds */ #define RUMORFILE "rumors" /* a file with fortune cookies */ #define ORACLEFILE "oracles" /* a file with oracular information */ #define CMDHELPFILE "cmdhelp" /* file telling what commands do */ + #endif + #define HELP "jhelp" /* a file containing command descriptions */ + #define RUMORFILE "jrumors" /* Japanese version */ + #define ORACLEFILE "joracles" /* Japanese version */ + #define SHELP "jhh" /* Japanese version */ + #define DEBUGHELP "jwizhelp" /* Japanese version */ + #define CMDHELPFILE "jcmdhelp" /* file telling what commands do */ + #define DATAFILE "data" /* a file giving the meaning of symbols used */ + /*JP*/ + #if 0 #define HISTORY "history" /* a file giving nethack's history */ #define OPTIONFILE "opthelp" /* a file explaining runtime options */ + #endif + #define HISTORY "history" /* a file giving nethack's history */ + #define OPTIONFILE "jopthelp" /* a file explaining runtime options */ + #define LICENSE "license" /* file with license information */ #define OPTIONS_USED "options" /* compile-time options, for #version */ + /*JP*/ + #define JJJ "jjj" /* notice for jnethack */ #define LEV_EXT ".lev" /* extension for special level files */ *************** *** 190,196 **** # else # define PORT_ID "PC" # endif ! # ifdef DJGPP # define PORT_SUB_ID "djgpp" # else # ifdef OVERLAY --- 206,212 ---- # else # define PORT_ID "PC" # endif ! # ifdef __DJGPP__ # define PORT_SUB_ID "djgpp" # else # ifdef OVERLAY *** ../nethack-3.2.2/include/hack.h Fri Jun 21 02:24:45 1996 --- ./include/hack.h Wed Sep 24 13:25:52 1997 *************** *** 34,40 **** --- 34,44 ---- * This is the way the game ends. If these are rearranged, the arrays * in end.c and topten.c will need to be changed. */ + + /*JP #define DIED 0 + */ + #define KILLED 0 #define CHOKING 1 #define POISONING 2 #define STARVING 3 *************** *** 43,54 **** --- 47,67 ---- #define DISSOLVED 6 #define CRUSHING 7 #define STONING 8 + /*JP #define GENOCIDED 9 #define PANICKED 10 #define TRICKED 11 #define QUIT 12 #define ESCAPED 13 #define ASCENDED 14 + */ + #define DIED 9 + #define GENOCIDED 10 + #define PANICKED 11 + #define TRICKED 12 + #define QUIT 13 + #define ESCAPED 14 + #define ASCENDED 15 #ifndef DUNGEON_H /* includes align.h */ #include "dungeon.h" *** ../nethack-3.2.2/include/qtext.h Fri Aug 4 13:30:12 1995 --- ./include/qtext.h Tue Jul 22 23:18:05 1997 *************** *** 5,11 **** #ifndef QTEXT_H #define QTEXT_H ! #define N_HDR 13 /* number of classes + 1 */ #define COMMON_ID '-' /* common message id value */ struct qtmsg { --- 5,11 ---- #ifndef QTEXT_H #define QTEXT_H ! #define N_HDR 14 /* number of classes + 1 */ #define COMMON_ID '-' /* common message id value */ struct qtmsg { *** ../nethack-3.2.2/include/system.h Sat Dec 28 21:53:32 1996 --- ./include/system.h Tue Jul 22 23:18:05 1997 *************** *** 81,87 **** E void FDECL(srandom, (unsigned int)); # else # ifndef bsdi ! E int FDECL(srandom, (unsigned int)); # endif # endif #else --- 81,87 ---- E void FDECL(srandom, (unsigned int)); # else # ifndef bsdi ! /*E int FDECL(srandom, (unsigned int));*/ # endif # endif #else *************** *** 131,137 **** int(*)(const genericptr,const genericptr))); #else # if defined(BSD) || defined(ULTRIX) ! E int qsort(); # else # if !defined(LATTICE) && !defined(AZTEC_50) E void FDECL(qsort, (genericptr_t,size_t,size_t, --- 131,137 ---- int(*)(const genericptr,const genericptr))); #else # if defined(BSD) || defined(ULTRIX) ! /*E int qsort();*/ # else # if !defined(LATTICE) && !defined(AZTEC_50) E void FDECL(qsort, (genericptr_t,size_t,size_t, *************** *** 352,358 **** E gid_t NDECL(getgid); # else # ifndef getpid /* Borland C defines getpid() as a macro */ ! E int NDECL(getpid); # endif # ifdef VMS E int NDECL(getppid); --- 352,358 ---- E gid_t NDECL(getgid); # else # ifndef getpid /* Borland C defines getpid() as a macro */ ! /*E int NDECL(getpid);*/ # endif # ifdef VMS E int NDECL(getppid); *** ../nethack-3.2.2/include/unixconf.h Fri Jun 21 02:24:48 1996 --- ./include/unixconf.h Tue Jul 22 23:18:05 1997 *************** *** 34,39 **** --- 34,40 ---- #define NETWORK /* if running on a networked system */ /* e.g. Suns sharing a playground through NFS */ #define SUNOS4 /* SunOS 4.x */ + /* #define NEWSOS4 /* NEWS-OS 4.x */ /* #define LINUX /* Another Unix clone */ /* #define GENIX /* Yet Another Unix Clone */ /* #define HISX /* Bull Unix for XPS Machines */ *** ../nethack-3.2.2/include/winX.h Sat Dec 28 21:53:33 1996 --- ./include/winX.h Tue Jul 22 23:18:06 1997 *************** *** 9,14 **** --- 9,24 ---- #ifndef WINX_H #define WINX_H + /*JP + ** for i18n by issei 1994/1/8 + */ + #ifdef XI18N + #include + #endif + #ifdef XAW_I18N + #include + #endif + #ifndef E #define E extern #endif *************** *** 87,92 **** --- 97,106 ---- struct mesg_info_t { XFontStruct *fs; /* Font for the window. */ + /*JP*/ + #ifdef XI18N + XFontSet fontset; + #endif int num_lines; /* line count */ struct line_element *head; /* head of circular line queue */ struct line_element *line_here;/* current drawn line position */ *************** *** 143,148 **** --- 157,166 ---- struct menu new_menu; /* New menu being built. */ XFontStruct *fs; /* Font for the window. */ + /*JP*/ + #ifdef XI18N + XFontSet fontset; + #endif long menu_count; /* number entered by user */ Dimension line_height; /* Total height of a line of text. */ Dimension internal_height; /* Internal height between widget & border */ *************** *** 162,167 **** --- 180,189 ---- struct text_info_t { struct text_buffer text; XFontStruct *fs; /* Font for the text window. */ + /*JP*/ + #ifdef XI18N + XFontSet fontset; + #endif int max_width; /* Width of widest line so far. */ int extra_width, /* Sum of left and right border widths. */ extra_height; /* Sum of top and bottom border widths. */ *************** *** 338,344 **** --- 360,370 ---- E void FDECL(clear_text_buffer,(struct text_buffer*)); E void FDECL(free_text_buffer,(struct text_buffer*)); #ifdef GRAPHIC_TOMBSTONE + #ifndef XI18N E void FDECL(calculate_rip_text, (int)); + #else + E void FDECL(calculate_rip_text, (int, XFontSet)); + #endif #endif *** ../nethack-3.2.2/include/wintty.h Fri Jun 21 02:24:50 1996 --- ./include/wintty.h Tue Jul 22 23:18:06 1997 *************** *** 108,113 **** --- 108,114 ---- E void FDECL(xputc, (int)); #else E void FDECL(xputc, (CHAR_P)); + E void FDECL(xputc2, (CHAR_P, CHAR_P)); #endif E void FDECL(xputs, (const char *)); #if defined(SCREEN_VGA) || defined(SCREEN_8514) *************** *** 154,159 **** --- 155,164 ---- E void NDECL(more); E void FDECL(update_topl, (const char *)); E void FDECL(putsyms, (const char*)); + /*JP + Sat Aug 27 00:42:03 JST 1994 by issei + */ + E void FDECL(raw_putsyms, (const char*)); /* ### wintty.c ### */ #ifdef CLIPPING diff -c -r ../nethack-3.2.2/util/makedefs.c ./util/makedefs.c *** ../nethack-3.2.2/util/makedefs.c Sat Dec 28 21:53:59 1996 --- ./util/makedefs.c Tue Jul 22 23:18:49 1997 *************** *** 4,9 **** --- 4,15 ---- /* Copyright (c) Dean Luick, 1990. */ /* NetHack may be freely redistributed. See license for details. */ + /* + ** Japanese version Copyright (c) Issei Numata 1994-1996 + ** changing point is marked `JP' (94/1/6) + ** JNetHack may be freely redistributed. See license for details. + */ + #define MAKEDEFS_C /* use to conditionally include file sections */ /* #define DEBUG /* uncomment for debugging info */ *************** *** 22,29 **** --- 28,42 ---- /* version information */ #ifdef SHORT_FILENAMES #include "patchlev.h" + #include "../japanese/jpatchle.h" #else #include "patchlevel.h" + /*JP*/ + #include "../japanese/jpatchlevel.h" + #endif + + #ifdef NEWSOS4 + #include #endif #ifdef MAC *************** *** 57,65 **** --- 70,84 ---- #define MONST_FILE "pm.h" #define ONAME_FILE "onames.h" #define OPTIONS_FILE "options" + /*JP #define ORACLE_FILE "oracles" + */ + #define ORACLE_FILE "joracles" #define DATA_FILE "data" + /*JP #define RUMOR_FILE "rumors" + */ + #define RUMOR_FILE "jrumors" #define DGN_I_FILE "dungeon.def" #define DGN_O_FILE "dungeon.pdf" #define MON_STR_C "monstr.c" *************** *** 67,72 **** --- 86,98 ---- #define QTXT_O_FILE "quest.dat" #define VIS_TAB_H "vis_tab.h" #define VIS_TAB_C "vis_tab.c" + /* + ** JP + */ + #define JOBJ_FILE "jtrnsobj.dat" + #define JMON_FILE "jtrnsmon.dat" + #define JDATA "jdata.h" + /* locations for those files */ #ifdef AMIGA # define FILE_PREFIX *************** *** 106,111 **** --- 132,138 ---- "#\tThis data file is generated by 'makedefs'. Do not edit. \n"; static struct version_info version; + static struct version_info jversion; /* definitions used for vision tables */ #define TEST_WIDTH COLNO *************** *** 150,161 **** --- 177,192 ---- void NDECL(do_rumors); void NDECL(do_oracles); void NDECL(do_vision); + /*JP*/ + void NDECL(do_japanese); extern void NDECL(monst_init); /* monst.c */ extern void NDECL(objects_init); /* objects.c */ static void NDECL(make_version); static char *FDECL(version_id_string, (char *,const char *)); + /*JP*/ + static char *FDECL(jversion_id_string, (char *,const char *)); static char *FDECL(xcrypt, (const char *)); static int FDECL(check_control, (char *)); static char *FDECL(without_control, (char *)); *************** *** 221,229 **** #else /* ! MAC */ int ! main(argc, argv) ! int argc; ! char *argv[]; { if ( (argc != 2) #ifdef FILE_PREFIX --- 252,259 ---- #else /* ! MAC */ int ! /*Er __cdecl */ ! main(int argc, char **argv) { if ( (argc != 2) #ifdef FILE_PREFIX *************** *** 302,307 **** --- 332,341 ---- case 'z': case 'Z': do_vision(); break; + /*JP*/ + case 'j': + case 'J': do_japanese(); + break; default: Fprintf(stderr, "Unknown option '%c'.\n", *options); *************** *** 318,325 **** /* trivial text encryption routine which can't be broken with `tr' */ static ! char *xcrypt(str) ! const char *str; { /* duplicated in src/hacklib.c */ static char buf[BUFSZ]; register const char *p; --- 352,358 ---- /* trivial text encryption routine which can't be broken with `tr' */ static ! char *xcrypt(const char *str) { /* duplicated in src/hacklib.c */ static char buf[BUFSZ]; register const char *p; *************** *** 336,342 **** } void ! do_rumors() { char infile[60]; long true_rumor_size; --- 369,375 ---- } void ! do_rumors(void) { char infile[60]; long true_rumor_size; *************** *** 360,366 **** Unlink(filename); /* kill empty output file */ exit(EXIT_FAILURE); } - /* get size of true rumors file */ #ifndef VMS (void) fseek(ifp, 0L, SEEK_END); --- 393,398 ---- *************** *** 380,385 **** --- 412,418 ---- while (fgets(in_line, sizeof in_line, ifp) != 0) (void) fputs(xcrypt(in_line), ofp); + Fclose(ifp); Sprintf(infile, DATA_IN_TEMPLATE, RUMOR_FILE); *************** *** 401,408 **** } static void ! make_version() { register int i; /* --- 434,442 ---- } static void ! make_version(void) { + /*JP*/ register int i; /* *************** *** 412,417 **** --- 446,456 ---- ((unsigned long)VERSION_MINOR << 16) | ((unsigned long)PATCHLEVEL << 8) | ((unsigned long)EDITLEVEL); + jversion.incarnation = ((long)JVERSION_MAJOR << 24) | + ((long)JVERSION_MINOR << 16) | + ((long)JPATCHLEVEL << 8) | + ((long)JEDITLEVEL); + /* * encoded feature list * Note: if any of these magic numbers are changed or reassigned, *************** *** 520,527 **** return outbuf; } void ! do_date() { long clocktim = 0; char *c, cbuf[60], buf[BUFSZ]; --- 559,598 ---- return outbuf; } + /*JP*/ + static char * + jversion_id_string(outbuf, build_date) + char *outbuf; + const char *build_date; + { + Sprintf(outbuf, + #ifdef BETA + # ifdef PORT_SUB_ID + "%s JNetHack %s Beta Version %d.%d.%d-%d - last build %s.", + # else + "%s JNetHack Beta Version %d.%d.%d-%d - last build %s.", + # endif + #else + # ifdef PORT_SUB_ID + "%s JNetHack %s Version %d.%d.%d - last build %s.", + # else + "%s JNetHack Version %d.%d.%d - last build %s.", + # endif + #endif + PORT_ID, + #ifdef PORT_SUB_ID + PORT_SUB_ID, + #endif + JVERSION_MAJOR, JVERSION_MINOR, JPATCHLEVEL, + #ifdef BETA + JEDITLEVEL, + #endif + build_date); + return outbuf; + } + void ! do_date(void) { long clocktim = 0; char *c, cbuf[60], buf[BUFSZ]; *************** *** 541,546 **** --- 612,619 ---- #ifdef KR1ED (void) time(&clocktim); + /*JP*/ + Fprintf(ofp,"#define JVERSION_NUMBER 0x%08lxL\n", jversion.incarnation); Strcpy(cbuf, ctime(&clocktim)); #else (void) time((time_t *)&clocktim); *************** *** 567,572 **** --- 640,648 ---- Fprintf(ofp,"\n"); Fprintf(ofp,"#define VERSION_ID \\\n \"%s\"\n", version_id_string(buf, cbuf)); + /*JP*/ + Fprintf(ofp,"#define JVERSION_ID \\\n \"%s\"\n", + jversion_id_string(buf, cbuf)); Fprintf(ofp,"\n"); #ifdef AMIGA { *************** *** 609,614 **** --- 685,693 ---- #ifdef EXP_ON_BOTL "experience points on status line", #endif + #ifdef FIGHTER + "fighter", + #endif #ifdef MFLOPPY "floppy drive support", #endif *************** *** 736,742 **** }; void ! do_options() { register int i, length; register const char *str, *indent = " "; --- 815,821 ---- }; void ! do_options(void) { register int i, length; register const char *str, *indent = " "; *************** *** 785,790 **** --- 864,879 ---- Fprintf(ofp, ","), length++; } Fprintf(ofp, "\n%swith a default of %s.", indent, DEFAULT_WINDOW_SYS); + + /*JP*/ + /* internal kcode */ + /* IC=0 EUC */ + /* IC=1 SJIS */ + #define IC ((unsigned char)("´Á"[0])==0x8a) + + Fprintf(ofp,"\n\nInternal Kanji Code:\n\n"); + Fprintf(ofp,"%s%s\n", indent, IC ? "SJIS" : "EUC"); + Fprintf(ofp,"\n\n"); Fclose(ofp); *************** *** 793,800 **** /* routine to decide whether to discard something from data.base */ static boolean ! d_filter(line) ! char *line; { if (*line == '#') return TRUE; /* ignore comment lines */ return FALSE; --- 882,888 ---- /* routine to decide whether to discard something from data.base */ static boolean ! d_filter(char *line) { if (*line == '#') return TRUE; /* ignore comment lines */ return FALSE; *************** *** 823,829 **** */ void ! do_data() { char infile[60], tempfile[60]; boolean ok; --- 911,917 ---- */ void ! do_data(void) { char infile[60], tempfile[60]; boolean ok; *************** *** 867,874 **** entry_cnt = line_cnt = 0; /* read through the input file and split it into two sections */ while (fgets(in_line, sizeof in_line, ifp)) { if (d_filter(in_line)) continue; ! if (*in_line > ' ') { /* got an entry name */ /* first finish previous entry */ if (line_cnt) Fprintf(ofp, "%d\n", line_cnt), line_cnt = 0; /* output the entry name */ --- 955,966 ---- entry_cnt = line_cnt = 0; /* read through the input file and split it into two sections */ while (fgets(in_line, sizeof in_line, ifp)) { + /*JP*/ + unsigned char uc; + uc = *((unsigned char *)in_line); if (d_filter(in_line)) continue; ! /*JP if (*in_line > ' ') { /* got an entry name */ ! if (uc > ' ') { /* got an entry name */ /* first finish previous entry */ if (line_cnt) Fprintf(ofp, "%d\n", line_cnt), line_cnt = 0; /* output the entry name */ *************** *** 922,929 **** /* routine to decide whether to discard something from oracles.txt */ static boolean ! h_filter(line) ! char *line; { static boolean skip = FALSE; char tag[sizeof in_line]; --- 1014,1020 ---- /* routine to decide whether to discard something from oracles.txt */ static boolean ! h_filter(char *line) { static boolean skip = FALSE; char tag[sizeof in_line]; *************** *** 945,950 **** --- 1036,1042 ---- } static const char *special_oracle[] = { + /*JP "\"...it is rather disconcerting to be confronted with the", "following theorem from [Baker, Gill, and Solovay, 1975].", "", *************** *** 955,960 **** --- 1047,1063 ---- "This provides impressive evidence that the techniques that are", "currently available will not suffice for proving that P != NP or ", "that P == NP.\" [Garey and Johnson, p. 185.]" + */ + "¡Ö¼¡¤ÎÄêÍý[Baker, Gill, and Solovay, 1975]¤ËľÌ̤¹¤ë¤³¤È¤Ï", + "¤à¤·¤íº¤ÏǤ¹¤ë¤³¤È¤Ç¤¢¤ë¡¥", + "", + "ÄêÍý 7.18 ¼¡¤Î¤è¤¦¤ÊºÆµ¢Åª¸À¸ì A¡¤B¤¬Â¸ºß¤¹¤ë", + " (1) P(A) == NP(A)¡¤¤«¤Ä", + " (2) P(B) != NP(B)", + "", + "¤³¤ì¤Ï¸½ºß P != NP¤Ç¤¢¤ë¤«¤Þ¤¿¤Ï P == NP¤Ç¤¢¤ë¤«¤ò¾ÚÌÀ¤¹¤ë", + "Í­¸ú¤Ê¼êË¡¤¬¤Ê¤¤¤³¤È¤ò¶¯¤¯¼¨¤·¤Æ¤¤¤ë¡¥¡×", + "[Garey and Johnson, p. 185.]" }; /* *************** *** 966,972 **** */ void ! do_oracles() { char infile[60], tempfile[60]; boolean in_oracle, ok; --- 1069,1075 ---- */ void ! do_oracles(void) { char infile[60], tempfile[60]; boolean in_oracle, ok; *************** *** 1103,1110 **** { 0, 0 } }; static int ! check_control(s) ! char *s; { int i; --- 1206,1212 ---- { 0, 0 } }; static int ! check_control(char *s) { int i; *************** *** 1118,1131 **** } static char * ! without_control(s) ! char *s; { return(s + 1 + strlen(deflist[check_control(in_line)].defname)); } void ! do_dungeon() { int rcnt = 0; --- 1220,1232 ---- } static char * ! without_control(char *s) { return(s + 1 + strlen(deflist[check_control(in_line)].defname)); } void ! do_dungeon(void) { int rcnt = 0; *************** *** 1174,1181 **** } static boolean ! ranged_attk(ptr) /* returns TRUE if monster can attack at range */ ! register struct permonst *ptr; { register int i, j; register int atk_mask = (1<mlevel; --- 1294,1300 ---- * determination as "experience()" to arrive at the strength. */ static int ! mstrength(struct permonst *ptr) { int i, tmp2, n, tmp = ptr->mlevel; *************** *** 1248,1254 **** } void ! do_monstr() { register struct permonst *ptr; register int i, j; --- 1348,1354 ---- } void ! do_monstr(void) { register struct permonst *ptr; register int i, j; *************** *** 1291,1297 **** } void ! do_permonst() { int i; char *c, *nam; --- 1391,1397 ---- } void ! do_permonst(void) { int i; char *c, *nam; *************** *** 1314,1320 **** for (i = 0; mons[i].mlet; i++) { SpinCursor(3); - Fprintf(ofp,"\n#define\tPM_"); if (mons[i].mlet == S_HUMAN && !strncmp(mons[i].mname, "were", 4)) --- 1414,1419 ---- *************** *** 1344,1369 **** #define NO_MSG 1 /* strlen of a null line returned by fgets() */ static boolean ! qt_comment(s) ! ! char *s; { if(s[0] == '#') return(TRUE); return((boolean)(!in_msg && strlen(s) == NO_MSG)); } static boolean ! qt_control(s) ! ! char *s; { return((boolean)(s[0] == '%' && (s[1] == 'C' || s[1] == 'E'))); } static int get_hdr(c) ! ! char c; { int i; --- 1443,1463 ---- #define NO_MSG 1 /* strlen of a null line returned by fgets() */ static boolean ! qt_comment(char *s) { if(s[0] == '#') return(TRUE); return((boolean)(!in_msg && strlen(s) == NO_MSG)); } static boolean ! qt_control(char *s) { return((boolean)(s[0] == '%' && (s[1] == 'C' || s[1] == 'E'))); } static int get_hdr(c) ! char c; { int i; *************** *** 1375,1390 **** static boolean known_id(c) ! ! char c; { return((boolean)(get_hdr(c) > 0)); } static boolean new_id(c) ! ! char c; { if(qt_hdr.n_hdr >= N_HDR) { --- 1469,1482 ---- static boolean known_id(c) ! char c; { return((boolean)(get_hdr(c) > 0)); } static boolean new_id(c) ! char c; { if(qt_hdr.n_hdr >= N_HDR) { *************** *** 1400,1407 **** static boolean known_msg(c, s) ! ! char c, *s; { int i = get_hdr(c) - 1, j, n = atoi(s); --- 1492,1499 ---- static boolean known_msg(c, s) ! char c; ! char *s; { int i = get_hdr(c) - 1, j, n = atoi(s); *************** *** 1414,1421 **** static void ! new_msg(s) ! char *s; { struct qtmsg *qt_msg; int i = get_hdr(s[4]) - 1; --- 1506,1512 ---- static void ! new_msg(char *s) { struct qtmsg *qt_msg; int i = get_hdr(s[4]) - 1; *************** *** 1433,1441 **** } static void ! do_qt_control(s) ! ! char *s; { switch(s[1]) { --- 1524,1530 ---- } static void ! do_qt_control(char *s) { switch(s[1]) { *************** *** 1464,1478 **** } static void ! do_qt_text(s) ! ! char *s; { curr_msg->size += strlen(s); } static void ! adjust_qt_hdrs() { int i, j; long count = 0L, --- 1553,1565 ---- } static void ! do_qt_text(char *s) { curr_msg->size += strlen(s); } static void ! adjust_qt_hdrs(void) { int i, j; long count = 0L, *************** *** 1494,1500 **** } static void ! put_qt_hdrs() { int i; --- 1581,1587 ---- } static void ! put_qt_hdrs(void) { int i; *************** *** 1542,1548 **** } void ! do_questtxt() { Sprintf(filename, DATA_IN_TEMPLATE, QTXT_I_FILE); if(!(ifp = fopen(filename, RDTMODE))) { --- 1629,1635 ---- } void ! do_questtxt(void) { Sprintf(filename, DATA_IN_TEMPLATE, QTXT_I_FILE); if(!(ifp = fopen(filename, RDTMODE))) { *************** *** 1598,1606 **** static char temp[32]; static char * ! limit(name,pref) /* limit a name to 30 characters length */ ! char *name; ! int pref; { (void) strncpy(temp, name, pref ? 26 : 30); temp[pref ? 26 : 30] = 0; --- 1685,1693 ---- static char temp[32]; static char * ! limit(char *name, int pref) /* limit a name to 30 characters length */ ! ! { (void) strncpy(temp, name, pref ? 26 : 30); temp[pref ? 26 : 30] = 0; *************** *** 1608,1614 **** } void ! do_objs() { int i, sum = 0; char *c, *objnam; --- 1695,1701 ---- } void ! do_objs(void) { int i, sum = 0; char *c, *objnam; *************** *** 1728,1735 **** } static char * ! tmpdup(str) ! const char *str; { static char buf[128]; --- 1815,1821 ---- } static char * ! tmpdup(const char *str) { static char buf[128]; *************** *** 1752,1758 **** */ void ! do_vision() { #ifdef VISION_TABLES int i, j; --- 1838,1844 ---- */ void ! do_vision(void) { #ifdef VISION_TABLES int i, j; *************** *** 2108,2113 **** --- 2194,2374 ---- } #endif /* VISION_TABLES */ + #define HASHSIZE 509 /* see japanese/jtrns.c */ + static int hash_tab[HASHSIZE]; + static int rhash_tab[HASHSIZE]; + static int + hash_val(key) + unsigned char *key; + { + int v = 0; + ++key;/* skip first char */ + while(*key) + v = (v*3 + *(key++))%HASHSIZE; + return v; + } + + /* JP + ** + */ + #define WRMODE "w+" + #define RDMODE "r" + void + do_japanese(void) + { + FILE *fpr, *fpw; + char fnamer[BUFSZ], fnamew[BUFSZ]; + unsigned char buf[BUFSZ], *p, *key, *val; + int i, hval, rhval; + + for(i = 0 ; i < HASHSIZE; ++i){ + hash_tab[i] = -1; + rhash_tab[i] = -1; + } + + sprintf(fnamew,INCLUDE_TEMPLATE,JDATA); + if((fpw = fopen(fnamew,WRMODE))==(void *)NULL){ + fprintf(stderr,"Error: Can't create %s\n",fnamew); + return; + } + + fprintf(fpw,Dont_Edit_Code); + + sprintf(fnamer,DATA_TEMPLATE,JMON_FILE); + if((fpr = fopen(fnamer,RDMODE))==(void *)NULL) + fprintf(stderr,"Warning: Can't open %s\n",fnamer); + else{ + fprintf(fpw,"static struct _jtrns_tab {\n"); + fprintf(fpw," const int type;\n"); + fprintf(fpw," const int next;\n"); + fprintf(fpw," const int rev_next;\n"); + /* fprintf(fpw," const int type;\n");*/ + fprintf(fpw," const char *key;\n"); + fprintf(fpw," const char *val;\n"); + fprintf(fpw,"} jtrns_tab[] = {\n"); + + i = 0; + while(fgets((char *)buf, BUFSIZ, fpr)!=NULL){ + if(buf[0]=='#') + goto Next1; + buf[strlen((char *)buf)-1]='\0'; + p = buf; + while(isspace(*p)) + if(!*p) + goto Next1; + else + ++p; + key = p; + while(*p!=':') + if(!*p) + goto Next1; + else if(*p<128) + ++p; + else + p+=2; + *p='\0'; + ++p; + while(isspace(*p)) + if(!*p) + goto Next1; + else + ++p; + val = p; + while(*p!=':') + if(!*p) + goto Next1; + else if(*p<128) + ++p; + else + p+=2; + *p='\0'; + + hval = hash_val(key); + rhval = hash_val(val); + + fprintf(fpw," {'@', %d, %d, \"%s\", \"%s\"},\n", + hash_tab[hval], rhash_tab[rhval], key, val); + + hash_tab[hval] = i; + rhash_tab[rhval] = i; + ++i; + Next1: + ; + } + fclose(fpr); + + sprintf(fnamer,DATA_TEMPLATE,JOBJ_FILE); + if((fpr = fopen(fnamer,RDMODE))==(void *)NULL) + fprintf(stderr,"Warning: Can't open %s\n",fnamer); + else{ + while(fgets((char *)buf,BUFSIZ,fpr)!=NULL){ + if(buf[0]=='#') + goto Next2; + buf[strlen((char *)buf)-1]='\0'; + p = buf; + while(isspace(*p)) + if(!*p) + goto Next2; + else + ++p; + key = p; + while(*p!=':') + if(!*p) + goto Next2; + else + ++p; + *p='\0'; + ++p; + while(isspace(*p)) + if(!*p) + goto Next2; + else + ++p; + val = p; + while(*p!=':') + if(!*p) + goto Next2; + else + ++p; + *p='\0'; + hval = hash_val(key + 1); + rhval = hash_val(val); + + if(*key=='\'') + fprintf(fpw, " {'\\%c', %d, %d, \"%s\", \"%s\"},\n", + *key, hash_tab[hval], rhash_tab[rhval], + key + 1, val); + else + fprintf(fpw, " {'%c', %d, %d, \"%s\", \"%s\"},\n", + *key, hash_tab[hval], rhash_tab[rhval], + key + 1, val); + + hash_tab[hval] = i; + rhash_tab[rhval] = i; + + ++i; + Next2: + ; + } + } + fclose(fpr); + fprintf(fpw," {'\\0', -1, -1, (void *)0, (void *)0},\n"); + fprintf(fpw,"};\n"); + + fprintf(fpw,"static int hash_tab[] = {\n"); + for ( i = 0 ; i < HASHSIZE ; i++ ) + fprintf(fpw, "%d, \n", hash_tab[i]); + fprintf(fpw,"};\n"); + + fprintf(fpw,"static int rhash_tab[] = {\n"); + for ( i = 0 ; i < HASHSIZE ; i++ ) + fprintf(fpw, "%d, \n", rhash_tab[i]); + fprintf(fpw,"};\n"); + + fclose(fpw); + } + } + #ifdef STRICT_REF_DEF NEARDATA struct flag flags; # ifdef ATTRIB_H *** /dev/null Wed Sep 24 22:14:55 1997 --- ./README.j Wed Sep 24 14:14:20 1997 *************** *** 0 **** --- 1,54 ---- + + JNetHack + + Copyright 1993-1997 I.Numata, S.Miyashita, N.Hamada + + + COPYRIGHT NOTICE + + JNetHack is Japanization of Nethack-3.2.2's UNIX part. You need + Nethack-3.2.2 to install JNetHack. You must read original license + (dat/license) and obey it to redistribute and modify this program. + Japanization part of JNetHack obey original license completely. + Japanization part copyright belong to the authors(see below). + + JNetHack¤Ï NetHack-3.2.2¤ËÆüËܸ첽¤ò»Ü¤·¤¿¤â¤Î¤Ç¤¹¡¥JNetHack¤ò¥³¥ó¥Ñ¥¤ + ¥ë¤¹¤ë¤Ë¤Ï¡¤NetHack-3.2.2 ¤¬É¬ÍפǤ¹¡¥ JNetHack¤òºÆÇÛÉÛ¤¹¤ëºÝ¤Ï¥ª¥ê¥¸ + ¥Ê¥ë¤ÎNetHack-3.2.2¤Î¥é¥¤¥»¥ó¥¹ (dat/license)¤ò¤è¤¯Æɤó¤Ç¤¯¤À¤µ¤¤¡¥Æü + Ëܸ첽¤µ¤ì¤¿ NetHack¤Ï¡¤¥ª¥ê¥¸¥Ê¥ë¤ÎÇÛÉÛµ¬Äê¤Ë´°Á´¤Ë½¾¤Ã¤Æ¤¤¤Þ¤¹¡¥ÆüËÜ + ¸ì²½¤µ¤ì¤¿Éôʬ¤Î Copyright¤Ïºî¼Ô¤é¤Ë¤¢¤ê¤Þ¤¹(²¼µ­»²¹Í)¡¥¤Þ¤¿¡¤¥ª¥ê¥¸¥Ê + ¥ë¤Î¥é¥¤¥»¥ó¥¹¤Ç¸À¤¦¤È¤³¤í¤Î NetHack¤È¤Ï JNetHack ¤ò¤â´Þ¤à¤È¤·¤Þ¤¹¡¥ + + + Ãøºî¸¢¼Ô°ìÍ÷ + + Issei Numata HAMADA Naoki Shigehiro Miyashita + Tomoyuki Shiraishi Kazuhiro FUjieda Kunedog + Shinkou Awatsu Takeshi Nishimura ¹âÅŬ¼£ + Kentaro Shirakata + + + ¼Õ¼­ + + °Ê²¼¤Ë¡¤¤¿¤ï¤¤¤â¤Ê¤¤¤³¤È¤«¤é¸·¤·¤¤¤³¤È¤Þ¤Ç¡¤µ®½Å¤Ê¿ÍÀ¸¤Î°ìÉôʬ¤ò¤¯¤À¤é + ¤Ê¤¤¤³¤È¤ËË×Ƭ¤·¤¿¿Í´Ö¤Î̾¤ò¼¨¤¹¡¥ + + aBE TOru HAMADA Naoki Shigehiro Miyashita + Shinkou Awatsu Tomoyuki Shiraishi Masayuki Koba + Kunedog Kazuki Jo Kaoru Maeda + Toshinori Nagaoka Takashi Murase SAKAMOTO Kei + Hanataka Shinya Toshiyuki Maeshima Shigenori Imanaka + Tetsuya Fujii Atsushi Nishitani Tohru Ishii + Kenji Tonami Yoshiaki KASAHARA Kazuhiro Fujieda + Yasuhito FUTATSUKI Kunihito Yamamori Ryouko Hayashi + Akashi Fujiwara Takeshi Nishimura Hideharu Miyazaki + Kentaro Shirakata NAKANISHI Yoshiaki Kouji Takada + MAKOTO Matsushita Sayu IIDA Yosiaki + Satoshi Asami OZAWA Sakuro FUCHIGAMI Masachika + KIHARA Hideto UCHIDA Toshiaki Satoh Yoshiyuki + Terishige Fukui Yamamoto Hirotaka Hiramoto Kouji + MORIMOTO Kenji ÆâÅÄ¡¡ÏÂÍÎ Noritaka Ishizumi + Yosuke Mitsumath Kenji Gotoh Terushige Fukui + + + ¤ª¤è¤Ó¡¤dq-ml¤Î¥á¥ó¥Ð¡¼ *** /dev/null Wed Sep 24 22:14:55 1997 --- ./INSTALL.j Wed Sep 24 14:15:28 1997 *************** *** 0 **** --- 1,75 ---- + + JNetHack + + Copyright 1993-1997 I.Numata, S.Miyashita, N.Hamada + + + INSTALL NOTE + + ¤Þ¤º¡¤¥É¥­¥å¥á¥ó¥È¤ËÌܤòÄ̤»¡¥Á´¤Æ¤Ï¤½¤ì¤«¤é¤À¡¥ + -- K.E. Aganimot, Science & Technology ¤è¤ê + + ɬÍפʾðÊ󤬤¹¤Ù¤Æ¥É¥­¥å¥á¥ó¥È¤Ë½ñ¤¤¤Æ¤¢¤ë¤È¤Ï¤«¤®¤é¤Ê¤¤¡¥ + -- N.N. Adamah, the Tao of NetHack ¤è¤ê + + 0) + + JNetHack¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¡¤¥ª¥ê¥¸¥Ê¥ë¤Î±Ñ¸ìÈǤò°ìÅÙ¥¤¥ó¥¹¥È¡¼¥ë¤· + ¤Æ¤ß¤ë¤³¤È¤ò¶¯¤¯¤ª´«¤á¤·¤Þ¤¹¡¥¤½¤ÎÊý¤¬´Ö°ã¤¤¤äÌäÂê¤Îȯ¸«¤¬¤·¤ä¤¹¤¯¤Ê¤ë + ¤Ç¤·¤ç¤¦¡¥NetHack¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ï·è¤·¤Æñ½ã¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¤Ãí°Õ¿¼¤¯°ì + Êâ°ìÊ⡤ÌäÂê¤ò²ò·è¤·¤Æ¹Ô¤¯¤Î¤¬ÂçÀڤǤ¹¡¥ + + ¼¡¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¤¤¤«¤Ë¤·¤Æ Nethack ¤ò¹½ÃÛ¤¹¤ë¤«¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡¥ + + sys/unix/Install.unx + + ¤è¤êÀµ³Î¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á½ÏÆɤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡¥¤Þ¤¿¼¡¤Î¥Õ¥¡ + ¥¤¥ë¤Ë¤Ï JNetHack¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡¥¾Ü¤·¤¯¤Ï¤½¤Á¤é¤Î + ¥Õ¥¡¥¤¥ë¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡¥ + + japanese/Install.unx + + NOTICE + + Ãí°Õ½ñ¤­¤Ë¤Ï»þ¤È¤·¤ÆÍ­±×¤Ê¾ðÊó¤â¤¢¤ë¤¬ + ¤½¤ÎËؤɤ¬Ìµ±×¤Ê¤¯¤À¤é¤Ê¤¤¾ðÊó¤À¡¥ + -- I. Atamun, ¥¿¥Ð¡¼¥ó¤Ê¿ÍÀ¸¤è¤ê + + 1)´Ä¶­ÀßÄê¤Ë¤Ä¤¤¤Æ + + ´Ä¶­ÀßÄê¥Õ¥¡¥¤¥ë¤Ï .nethackrc¤è¤êÀè¤Ë .jnethackrc¤ò¸«¤Ë¹Ô¤­¤Þ¤¹¡¥¤³¤Î¤¿ + ¤á±Ñ¸ìÈǤΤȶ¦Â¸¤¬²Äǽ¤Ç¤¹¡¥¤Þ¤¿¿·¤¿¤ËÄɲ䵤줿´Ä¶­ÊÑ¿ô¤È¤·¤Æ¡¤`kcode' + ¤¬¤¢¤ê¤Þ¤¹¡¥ÃÍ¤Ï jis,sjis,euc¤ò¼è¤ê¤Þ¤¹¡¥ + + OPTIONS=kcode:jis + + ¤Î¤è¤¦¤Ë¤·¤Æ¡¤´Ä¶­ÀßÄê¥Õ¥¡¥¤¥ë¤Î°ìÈֺǽé¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡¥°Ê¸å¤Î´Ä¶­ + ¤Î´Á»ú¥³¡¼¥É¤ÏÀßÄꤷ¤¿Ãͤˤʤê¤Þ¤¹¡¥ + + 2) + JNetHack¤ÇÄɲ䵤줿¥³¥Þ¥ó¥É¤È¤·¤Æ¡¤¡Ö`¡×¤¬¤¢¤ê¤Þ¤¹¡¥¥­¡¼¤ò²¡ + ¤¹Ëè¤Ë¥ª¥ê¥¸¥Ê¥ë¥â¡¼¥É¤ÈÆüËܸì¥â¡¼¥É¤¬Àڤ꤫¤ï¤ê¤Þ¤¹¡¥¥ª¥ê¥¸¥Ê¥ë¥â¡¼¥É + ¤Ç¤Ï¡¤'i','I',';','/'¤Çɽ¼¨¤µ¤ì¤ëʪÂÎ̾¤ä²øʪ̾¤¬±Ñ¸ì¤Ë¤Ê¤ê¤Þ¤¹¡¥¤Þ¤¿ + ¥¢¥¤¥Æ¥à¤Ï¼±Ê̤·¤Ê¤¤¤È¥ª¥ê¥¸¥Ê¥ë¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤»¤ó¡¥ + + + ABOUT BUG REPORT + + ÆÃÄê¤Ç¤­¤ë¥Ð¥°¤Ï¡¤¤¿¤¤¤·¤¿¥Ð¥°¤Ç¤Ï¤Ê¤¤¡¥²¿¤¬¥Ð¥°¤«¤ï¤«¤é¤Ê¤¤¤Î + ¤¬ÌäÂê¤Ê¤Î¤À¡¥ + -- Otihorih, Creatures in Palace ¤è¤ê + + + + Ìõ¤Î´ª°ã¤¤¡¤ÆüËܸ첽¤·¤¿Éôʬ¤Î¥×¥í¥°¥é¥à¤Î¥Ð¥°¡¤²þÎÉÅù¤Ë¤Ä¤¤¤Æ¤Ï + + issei@nna.so-net.or.jp + + ¤Þ¤Ç¤ª´ê¤¤¤·¤Þ¤¹¡¥¥²¡¼¥à(¤Î²ò¤­Êý)¤Ë¤Ä¤¤¤Æ¤Î¼ÁÌä¤Ï¤«¤ó¤Ù¤ó¤·¤Æ¤¯¤À¤µ¤¤¡¥ + ¤Þ¤¿¥Ð¥°¤Ï¡ÖJNetHack¡×¸ÇÍ­¤ÎÌäÂê¤Ê¤Î¤«¤É¤¦¤«³Îǧ¤·¤Æ¤«¤é¤ª´ê¤¤¤·¤Þ¤¹¡¥ + + ¿§¡¹¤Ê¾ðÊó¤ò http://mitsuko.jaist.ac.jp/jnethack ¤Ç¾Ò²ð¤·¤Æ¤¤¤¯Í½Äê¤Ç¤¹¡¥ + ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¤«¤¿¤ÏÀ§Èó¸æÍ÷¤¯¤À¤µ¤¤¡¥ + + ¤Þ¤¿Â¾¤Îµ¡¼ï¤Ë°Ü¿¢¤·¤Æ¤¯¤ì¤ëÊý¤â½ÐÍè¤ì¤Ð»ä¤Þ¤ÇÏ¢Íí¤ò¤¯¤À¤µ¤¤¡¥¤è¤í¤·¤¯ + ¤ª´ê¤¤¤·¤Þ¤¹¡¥ *** /dev/null Wed Sep 24 22:14:55 1997 --- ./ChangeLog.j Wed Sep 24 14:13:48 1997 *************** *** 0 **** --- 1,391 ---- + + Wed Sep 24 1997 Issei Numata + * Xt¤Îclass̾¤ò NetHack¤«¤é JNetHack¤ØÊѹ¹ + + Mon Sep 8 1997 uchidak@creo.co.jp + Mon Aug 25 1997 + * ¥á¥Ã¥»¡¼¥¸¤Î½¤Àµ + + Tue Jul 22 1997 KIHARA Hideto + * ¥á¥Ã¥»¡¼¥¸¤Î½¤Àµ + + Thu Jul 3 1997 Kentaro Shirakata + * nethack-3.2.2¥Ù¡¼¥¹¤Îjnethack¤Î³«È¯¤ËÃå¼ê + * quest.txt¤ÎÌõ¸ì½¤Àµ¡¥ + + Tue Dec 24 1996 Issei Numata + * jnethack-1.0.5.4.1 release + * À­Ê̽÷¤ÇK¤òÁª¤Ö¤ÈP¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¥Ð¥°¤òËÜÅö¤Ë½¤Àµ¡¥ + + Sat Nov 23 1996 Issei Numata + * jnethack-1.0.5.4 release + * ¥É¥­¥å¥á¥ó¥È¤Î½¤Àµ(¤È¤Æ¤â¤³¤³¤Ë̾Á°¤Ï½ñ¤­ÀÚ¤ì¤Þ¤»¤ó) + * ¥á¥Ã¥»¡¼¥¸¤Î½¤Àµ(¤È¤Æ¤â¤³¤³¤Ë̾Á°¤Ï½ñ¤­ÀÚ¤ì¤Þ¤»¤ó) + + Fri Sep 6 1996 Issei Numata + * jnethack-1.0.5.2 release + + Fri Aug 23 1996 Issei Numata + * £Æ¤Î»àÂΤäÍ©ÎÎã¤Î¾ì½ê¤Ë¸½¤ï¤ì¤Ê¤¤ÌäÂê¤Î½¤Àµ¡¥ + + Thu Aug 22 1996 Issei Numata + * X11¤Ç perminvent¤ò¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤹ¤ë¤È¥¢¥¤¥Æ¥à¤ò½¦¤Ã¤¿¤È¤­¤Ë + Íî¤Á¤ëÌäÂê¤Î½¤Àµ + * ¥æ¡¼¥Æ¥£¥ê¥Æ¥£recover¤Ç²óÉü¤Ç¤­¤Ê¤¤ÌäÂê¤Î½¤Àµ¡¥ (NetHack¤Î¥Ð¥°) + * Class Genocide¤·¤¿¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¤¬±Ñ¸ì¤Î½¤Àµ¡¥ + * À»´ï(¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È)¤ò´ê¤Ã¤Æ¼ºÇÔ¤·¤¿¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¤¬±Ñ¸ì¡¥ + + Wed Aug 21 1996 Issei Numata + * japanese/jlib.c ¤Î is_kanji1¤Î½¤Àµ + * ¿¦¶È F¤Î Quest¤Ç¤Î Guard¤Î¥á¥Ã¥»¡¼¥¸¤¬ÊÑ + * ¿¦¶È F¤Ç Neutral¤Î¿À¤¬±Ñ¸ì + * Ìô¤¬¥¸¥å¡¼¥¹¤ä¿å¤Ë¤Ê¤ë¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¡¥ + * ÆǤι¶·â¤ò¿©¤Ã¤Æ»à¤Ì¤È²øʪ¤Î̾Á°¡¥ + * ¤¿¤Þ¤Ë¥Þ¥Ã¥×¤Îʸ»ú¤¬²½¤±¤ë(¤È¤¯¤Ë jis¤ÇÍ·¤ó¤Ç¤¤¤ë»þ)ÌäÂê¡¥ + * À»´ï(¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È)¤Ë¿¨¤ì¤Æ»à¤ó¤À¤È¤­¤Î»à°ø¤¬±Ñ¸ì + * Íî½ñ¤Îʸ»ú¤¬²½¤±¤ë + + Mon Aug 19 1996 Issei Numata + * jnethack-1.0.5.1 release + + Mon Aug 19 1996 Issei Numata + * ¤¤¤¯¤Ä¤«¤ÎÆüËܸì´Ø·¸¤Îɽ¼¨¤Î¥Ð¥°¤ò²ò·è + + Fri Aug 16 1996 Issei Numata + * jnethack-1.0.5 release + + Thu Aug 15 1996 Issei Numata + * û¤¤¥Õ¥¡¥¤¥ë¥Í¡¼¥à¤Î¥·¥¹¥Æ¥à¤ËÂбþ¤Ç¤­¤ë¤è¤¦¡¤jtrns_*.c¤ò²þ̾ + + Wed Aug 14 1996 Issei Numata + * DOS/V¤Ç tileɽ¼¨¤ò²Äǽ¤Ë¡¥ + + Thu Aug 8 1996 Issei Numata + * J¤À¤±¤Î¥ª¥ê¥¸¥Ê¥ë¿¦¶È(F)¤òÄɲà + + Fri Aug 2 1996 juan@super.win.or.jp (Kenji Gotoh) + * sjis¤Ç wishing¤¹¤ë¤È¤­»Ý¤¯¤¤¤«¤Ê¤¤¤³¤È¤¬¤¢¤ëÌäÂê¤ò½¤Àµ + + Wed Jul 31 1996 Satoh Yoshiyuki + * ¤¤¤¯¤Ä¤«¤Î¥á¥Ã¥»¡¼¥¸¤Î´Ö°ã¤¤¤ò½¤Àµ + + Tue Jul 30 1996 Hiramoto Kouji (Ê¿Ëܸ÷Æó ) + * PC¤Ç¥¹¥¿¡¼¥È»þ¤Ë±Ñ¸ì¤Î¥á¥Ã¥»¡¼¥¸¤¬½Ð¤ëÌäÂê¤Î½¤Àµ + + Mon Jul 29 1996 Hideto KIHARA + * ¤¤¤¯¤Ä¤«¤Î¥á¥Ã¥»¡¼¥¸¤Î´Ö°ã¤¤¤ò½¤Àµ + + Thu Jul 25 1996 fukui@nm.nmcc.co.jp (Terushige Fukui) + * ¸ºß¤·¤Ê¤¤¤â¤Î¤ò wish¤·¤¿¤È¤­¤ËÍî¤Á¤ëÌäÂê¤ò½¤Àµ + + Thu Jul 25 1996 Issei Numata + * ÆüËܸì¤Ë¤è¤ë wishing¤ò°ìÉô²Äǽ¤Ë + + Wed Jul 24 1996 Hideto KIHARA + * jtrns_mon¤ÎÉûºîÍѤÎÌäÂê¤ò½¤Àµ + + Tue Jul 23 1996 juan@super.win.or.jp (Kenji Gotoh) + * ¥¹¥Æ¡¼¥¿¥¹Íó¤òÁ´¤Æ½ñ¤­´¹¤¨¤Æ¤·¤Þ¤¦ÌäÂê¤ò½¤Àµ + + Mon Jul 22 1996 Naoki Hamada + * DEC graphics ¤Ç´Á»ú¤¬²½¤±¤ëÌäÂê¤ò½¤Àµ + + Mon Jul 22 1996 Hideto KIHARA + * ¥á¥Ã¥»¡¼¥¸¤Î¤Þ¤Á¤¬¤¤¤ò½¤Àµ + * jconj¤Î¥Ð¥°¤Î½¤Àµ + * ¡Ö¤é¡×È´¤­¸ÀÍդν¤Àµ + + Sat Jul 20 1996 shira@kdel.info.eng.osaka-cu.ac.jp (Kentaro Shirakata) + * PC¤Ç¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤¬½Ð¤ë¤Î¤ò½¤Àµ + + Fri Jul 19 1996 Issei Numata + * ¤¤¤¯¤Ä¤«¤Î Warning¤òºï½ü + * format¤Î´Ö°ã¤¤¤ò½¤À° + + Thu Jul 18 1996 Issei Numata + * ¸À¸ì¥â¡¼¥É¤ÎÀÚÂؤ¬¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¤Î¤ò½¤À° + + Thu Jul 18 1996 Issei Numata + * jnethack-1.0.4-alpha release + + Fry Jun 21 1996 Issei Numata + * nethack-3.2.1¥Ù¡¼¥¹¤Îjnethack¤Î³«È¯¤ËÃå¼ê + + Thu May 2 1996 Issei Numata + * nethack-3.2.0¥Ù¡¼¥¹¤Îjnethack¤Î³«È¯¤ËÃå¼ê + + Sun Jun 4 1995 Issei Numata + * jnethack-1.0.3 release + + Sun Jun 4 1995 nishi@bsd1.kb.nec.co.jp + * nh14.bdf¤ò¥Ñ¥Ã¥±¡¼¥¸¤ËÄɲà + + Fri Jun 2 1995 Issei Numata + * ¥¹¥³¥¢¥ê¥¹¥È¤Î¥á¥Ã¥»¡¼¥¸¤Î¥Ð¥°¤ò½¤À°¡¥ + * ¥É¥­¥å¥á¥ó¥È¤Î´Ö°ã¤¤¤ò½¤À°¡¥ + + Thu Feb 23 1995 Hiramoto Kouji (Ê¿Ëܸ÷Æó ) + * resotre.c ¥á¥Ã¥»¡¼¥¸¤ò½¤À°¡¥ + + Thu Feb 21 1995 Hiramoto Kouji (Ê¿Ëܸ÷Æó ) + * cmd.c ¡Ö¤¢¤Ê¤¿¤Ï¡×¤¬½ÅÊ£¤¹¤ë¤Î¤ò½¤À°¡¥ + + Thu Jan 5 1995 asami@cs.berkeley.edu + * Á´ÈÌŪ¤Ë¥á¥Ã¥»¡¼¥¸¤Î¸íÌõ¤ò½¤À°¡¥ + + Tue Dec 27 1994 Æ£»Þ Ϲ¨ (FUJIEDA Kazuhiro) + * fountain.c ή¤·Âæ¤Î¿å¤ò°û¤ó¤ÇÌô¤¬½Ð¤Æ¤­¤¿¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¤ò½¤À° + + Tue Dec 20 1994 Issei Numata + * jnethack-1.0.2 release + + Thu Oct 27 1994 narusawa@nsis.cl.nec.co.jp (Masaru Narusawa) + * NEWOSÍѤΥѥåÁÄɲᥠ+ + Fri Oct 14 1994 Issei Numata + * X11ÈǤÇŤ¤¥á¥Ã¥»¡¼¥¸¤¬½Ð¤¿¤È¤­¤Ëpanic¤Ë¤Ê¤ëÌäÂê¤ò½¤Àµ¡¥ + * ¼«Ê¬¼«¿È¤ògenocide¤·¤¿¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¤ò½¤Àµ¡¥ + + Mon Sep 19 1994 Kentaro Shirakata + * mhitm.c ¥Ë¥ó¥Õ¤¬Â¾¤Î¥â¥ó¥¹¥¿¡¼¤ò¹¶·â¤·¤¿¤È¤­¤Ëcode¤òÅǤ¯ÌäÂê¤ò + ½¤Àµ¡¥ + + Mon Sep 12 1994 Issei Numata + * ¥ª¥ê¥¸¥Ê¥ë¥â¡¼¥É¤Ç»à¤ó¤À¤È¤­¥¹¥³¥¢¥Õ¥¡¥¤¥ë¤¬±Ñ̾¤Ë¤Ê¤ë¤Î¤ò½¤Àµ¡¥ + * ²øʪ¤Î¹¶·â¤Çɵ¤¤Ë¤Ê¤Ã¤¿¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¤ò½¤Àµ¡¥ + * help¤Ë±Ñ̾-ÏÂ̾¤ÎÊÑ´¹¥Æ¡¼¥Ö¥ëÄɲᥠ+ + Thu Sep 8 1994 Issei Numata + * ¥³¥«¥È¥ê¥¹¤Î»àÂΤǻà¤ó¤À¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¤ò½¤Àµ¡¥ + * ¥á¥Ç¥å¡¼¥µ¤ÇÀв½¤·¤¿¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¤ò½¤Àµ¡¥ + * ̵ܤ«¤éæ½Ð¤·¤¿¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¤ò½¤Àµ¡¥ + * ¤¿¤¯¤µ¤ó¤Î¸íÌõ¡¤¸í»ú¤ò½¤Àµ¡¥ + * quest.txt¤òÀ°·Á¡¥ + * jis¥â¡¼¥É¤Î¤È¤­ \033$@, \033$J¤âÍ­¸ú¤Ë¤Ê¤ë¤è¤¦¤Ë½¤Àµ¡¥ + + Mon Aug 29 1994 Issei Numata + * ´Ä¶­ÊÑ¿ô¤ÈÀßÄê¥Õ¥¡¥¤¥ëξÊý¤òÀßÄꤷ¤¿¾ì¹ç¤Î¥¨¥é¡¼¤ò½¤Àµ¡¥ + + Mon Aug 29 1994 Issei Numata + * jnethack-1.0.1 release + + Tue Aug 23 1994 Issei Numata + * vorpale blade¤¬¼ó¤òÀÚ¤êÍ¤¿¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¤òÀµ¤·¤¯É½¼¨¤¹¤ë + ¤è¤¦½¤Àµ¡¥ + + Sat Aug 20 1994 Issei Numata + * ºÙ¤¤¥á¥Ã¥»¡¼¥¸¤Î½¤Àµ¡¥ + + Fri Aug 19 1994 Kentaro Shirakata + * data.base²þÄû¡¥ + + Wed Aug 17 1994 Masayuki Koba + * NetHack.ad 16¥É¥Ã¥È¥Õ¥©¥ó¥È¤ò¥Ç¥Õ¥©¥ë¥È¤Ç»È¤¦¤è¤¦½¤Àµ¡¥ + + Sat Aug 13 1994 Yasuhito Futatsuki + * ̵ܤ«¤éÈ´¤±¤¿¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¤ÎÉÔ¶ñ¹ç¤ò½¤Àµ¡¥ + + Sun Aug 7 1994 Kentaro Shirakata + * DJGPPÈǥѥ屡¼¥¸Äɲᥠ+ + Sun Aug 7 1994 ¹âÅÄ¡¡¹¬¼£ + * MSCÈǥѥ屡¼¥¸Äɲᥠ+ + Thu Aug 4 1994 Yoshiki Ogino + * questpgr.c ¥¢¥é¥¤¥á¥ó¥Èɽ¼¨¤Î¥Ð¥°¤ò½¤Àµ¡¥ + + Thu Aug 4 1994 Kazuhiro Fujieda + * mk_artifact°Ê³°¤Ç¡¤artifact¤òÆÀ¤¿¤È¤­Àµ¤·¤¯ºîÀ®¤µ¤ì¤Ê¤¤¤Î¤ò½¤Àµ¡¥ + * class genocide¤Ç»¦¤¹¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¥â¥ó¥¹¥¿¡¼¤Î̾Á°¤òÀµ¤·¤¯ + ɽ¼¨¤Ç¤­¤ë¤è¤¦½¤Àµ¡¥ + + Mon Aug 1 1994 Issei Numata + * jnethack-1.0.0 release + + Mon Aug 1 1994 Issei Numata + * ºÙ¤«¤¤¥á¥Ã¥»¡¼¥¸¤Î½¤Àµ¡¥ + + Sun Jul 31 1994 Kentaro Shirakata + * ¿Ï¤Î¤Ê¤¤Éð´ï¤Ç¹¶·â¤µ¤ì¤¿¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¤ò½¤Àµ¡¥ + + Mon Jul 25 1994 Kazuhiro Fujieda + * magicbane´Ø·¸¤Î¥á¥Ã¥»¡¼¥¸¤ò½¤Àµ¡¥ + + Mon Jul 25 1994 Issei Numata + * jnethack-0.3.1 beta test starts + + Sut Jul 23 1994 Kazuhiro Fujieda + * artifact.c magicbane¤ÎÌõ¤ò½¤Àµ¡¥ + + Mon Jul 25 1994 Issei Numata + * topl.c Ť¤Ê¸»úÎó¤Î¥Õ¥©¡¼¥ë¥Ç¥£¥ó¥°¤ò½¤Àµ¡¥ + * Ť¤Ì¾Á°¤ò¤Ä¤±¤¿ºÝ¤Ëʸ»ú²½¤±¤¹¤ë¤Î¤ò½¤Àµ¡¥ + + Sut Jul 23 1994 Kazuhiro Fujieda + * jtrns_{obj,mon}.dat ºÙ¤¤Ìõ¸ì¤Î´Ö°ã¤¤¤ò½¤Àµ¡¥ + + Sut Jul 23 1994 Issei Numata + * jGuideBook.txt¤ò JNetHack¤Ë¤¢¤ï¤»½¤Àµ¡¥ + + Fri Jul 22 1994 shira@kdel.info.osaka-cu.ac.jp (Kentaro Shirakata) + * jGuideBook.txt¤ò¥Ñ¥Ã¥±¡¼¥¸¤ËÄɲᥠ+ + Thu Jul 21 1994 Issei Numata + * jtrns_obj.dat Éð´ï¤ò¶¯¤¯¤¹¤ë´¬Êª->Éð´ï¤ËËâË¡¤ò¤«¤±¤ë´¬Êª¤ØÊѹ¹¡¥ + * getline.c kinput2¤«¤é´Á»ú¤òÆþÎϤǤ­¤ë¤è¤¦¤ËÊѹ¹¡¥ + + Thu Jul 21 1994 Yoshiaki KASAHARA + * Ëãáã->âÁÚô¤ËÊѹ¹¡¥ + + Thu Jul 21 1994 Issei Numata + * objnam.c nemesis¤Î»àÂÎ̾¤¬Àµ¤·¤¯É½¼¨¤µ¤ì¤ë¤è¤¦½¤Àµ¡¥ + + Thu Jul 21 1994 Issei Numata + * jnethack-0.3.0 beta test starts + + Tue Jul 19 1994 s92458km@sfc.keio.ac.jp (the kunedog) + * quest.txt Turist ¤ÎËÝÌõÄɲà + + Fri Jul 15 1994 Issei Numata + * priest.c Å·»È¤Î̾Á°¤¬Àµ¤·¤¯É½¼¨¤µ¤ì¤ë¤è¤¦½¤Àµ¡¥ + * end.c topten.c »à¤ó¤À¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¤ÎÉÔ¶ñ¹ç¤ò½¤Àµ¡¥ + * objnam.c Ť¤Ì¾Á°¤Îʸ»ú¤Çcore¤òÅǤ¯ÌäÂê¤ò½¤Àµ¡¥ + + Thu Jul 14 1994 Issei Numata + * jconj.c jtrns_obj.dat À»´ï¤Î̾Á°¤¬Àµ¤·¤¯É½¼¨¤µ¤ì¤Ê¤¤¤Î¤ò½¤Àµ¡¥ + + Thu Jul 14 1994 Issei Numata + * jnethack-0.2.4 beta test starts + + Thu Jul 14 1994 Issei Numata + * termcap.c -dec¤Çʸ»ú¤¬²½¤±¤ë¤Î¤ò½¤Àµ¡¥ + * À»´ï¤ËÁ´ÉôÏÂ̾¤òÍ¿¤¨¤¿¡¥ + + Wed Jul 13 1994 Issei Numata + * jtrns_{obj,dat}¤ò¥½¡¼¥¹¤ËËä¤á¤³¤ß¡¤makedefs¤ÇÂбþ¤¹¤ë¤è¤¦½¤Àµ¡¥ + * warning¤ò¸º¤é¤·¤¿¡¥ + + Tue Jul 12 1994 Hideharu Miyazaki + * printf·Ï¤Î°ú¿ô¤Î´Ö°ã¤¤¤ò½¤Àµ + * extern.h locomotion2¤Î¥×¥í¥È¥¿¥¤¥×¤òÄɲà + * ¥³¥á¥ó¥È¥¢¥¦¥È¤Î¥ß¥¹¤ò½¤Àµ + + Sun Jul 10 1994 Issei Numata + * eat.c ¥³¥«¥È¥ê¥¹¤ÇÀв½¤·¤¿¤È¤­¤Î¥á¥Ã¥»¡¼¥¸¤ÎÉÔ¶ñ¹ç¤ò½¤Àµ¡¥ + + Thu Jul 7 1994 + * options.c malloc¤¬0¥¯¥ê¥¢¤·¤Ê¤¤ÌäÂê¤ò½¤Àµ + + Wed Jul 6 1994 Yoshiaki KASAHARA + * config.h ¤ÎÉÔ¶ñ¹ç¤ò½¤Àµ + + Tue Jul 5 1994 Issei Numata + * invent.c ȯ¸«ºÑ¤ßÊõÀФ¬Àµ¤·¤¯É½¼¨¤µ¤ì¤ë¤è¤¦¤Ë½¤Àµ + * objnam.c ̾¤Å¤±¤é¤ì¤¿¥¢¥¤¥Æ¥à¤¬ÆüËܸì¤é¤·¤¯¤Ê¤ë¤è¤¦½¤Àµ + * end.c ¥Ú¥Ã¥È¤Ë»¦¤µ¤ì¤¿¤È¤­¤ÎÊèÀФΥá¥Ã¥»¡¼¥¸¤ò½¤Àµ + * wintty.c -dec¤Ç¥À¥ó¥¸¥ç¥ó¤¬¤¿¤Þ¤Ëʸ»ú²½¤±¤¹¤ë¤Î¤ò½¤Àµ + * ¥á¥Ã¥»¡¼¥¸¤ä¥¢¥¤¥Æ¥à¤ÎºÙ¤¤½¤Àµ + + Sun Jul 2 1994 Issei Numata + * jnethack-0.2.3 beta test starts + + Sun Jul 2 1994 Issei Numata + * ¥á¥Ã¥»¡¼¥¸¤ä¥¢¥¤¥Æ¥à¤ÎºÙ¤¤½¤Àµ + + Tue Jun 28 1994 Kazuhiro Fujieda + * quest.txt Elf¤ÎËÝÌõÄɲà + + Mon Jun 27 1994 Issei Numata + * quest.txt Rogue¤ÎËÝÌõÄɲà + + Sun Jun 26 1994 Issei Numata + * ¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥°¥é¥à̾¤ò nethack -> jnethack¤ØÊѹ¹ + + Sun Jun 26 1994 HAMADA Naoki + * dialog.c Ctrl-m ¥¢¥¯¥·¥ç¥ó¤òÄɲà + + Thu Jun 23 1994 Issei Numata + * jnethack-0.2.2 beta test starts + + Thu Jun 23 1994 + * win/X11/winmesg.c X11R6¤Ç¥³¥¢¤òÅǤ¯ÌäÂê¤ò½¤Àµ¡¥ + + Thu Jun 23 1994 Issei Numata + * win/X11/*.c ¥ê¥½¡¼¥¹¤Ë½ñ¤«¤Ê¤¯¤Æ¤â¹ñºÝ²½¤ËÂбþ¤¹¤ë¤è¤¦½¤Àµ¡¥ + + Wed Jun 22 1994 Kazuhiro Fujieda + * files.c .jnethackrc¤òÀè¤Ë¸«¤ë¤è¤¦¤Ë¤·¤¿¡¥ + * pager.c 櫤Î̾Á°¤¬Àµ¤·¤¯½Ð¤ë¤è¤¦¤ËÊѹ¹¡¥ + * jtrns_obj.dat ÄûÀµ + * pray.c ¡Ö¸¥¾å¤¹¤ë¡×¤òÀµ¤·¤¯É½¼¨¤µ¤ì¤ë¤è¤¦Êѹ¹¡¥ + + Tue Jun 21 1994 Yasuhito Futatsuki + * shk.c Ź¤Î¤Ê¤«¤Ç¤â¤Î¤ò²õ¤·¤¿¤È¤­¤Ëcore¤òÅǤ¯¤Î¤ò½¤Àµ + + Mon Jun 16 1994 Issei Numata + * data.base¤ÎËÝÌõÃå¼ê + + Mon Jun 16 1994 Issei Numata + * do_name.c hallucination»þ¤Îbogus monster¤òÀµ¤·¤¯É½¼¨¤¹¤ë¤è¤¦½¤Àµ + * sys/unixmain.c -s¥ª¥×¥·¥ç¥ó»þ¤Ëʸ»ú²½¤±¤¹¤ë¤Î¤ò²óÈò + + Mon Jun 15 1994 Issei Numata + * jconj.c ½ª»ß·Á¤«¤é¤â³èÍѤǤ­¤ë¤è¤¦¤Ëjconj_adj ½¤Àµ + + Mon Jun 14 1994 Issei Numata + * jconj.c isspace_8 ½¤Àµ + + Mon Jun 14 1994 Koji Kishi + * engrave.c jconj.c sony news¤Çiskanji2¤¬¤«¤Á¤¢¤¦ÌäÂê¤ò²óÈò + + Mon Jun 14 1994 Issei Numata + * jnethack-0.2.1 beta test starts + + Tue Jun 14 1994 Issei Numata + * end.c ½ªÎ»»þ¤Ëcore¤òÅǤ¯¤Î¤ò½¤Àµ + + Tue Jun 14 1994 HAMADA Naoki + * shk.c shopkeeper¤Î¥»¥ê¥Õ½¤Àµ + + Mon Jun 14 1994 Yasuhito Futatsuki + * dokick.c ʪ¤ò½³¤Ã¤Æ»à¤ó¤À¤È¤­¤Î¥á¥Ã¥»¡¼¥¸ÄûÀµ + + Mon Jun 13 1994 Issei Numata + * -s¥ª¥×¥·¥ç¥ó¤Ç´Á»ú¥³¡¼¥É¤òÀµ¤·¤¯Ç§¼±¤¹¤ë¤è¤¦¤Ë²þÎÉ + * ½ªÎ»»þ¤Ë²èÌ̤¬Íð¤ì¤ë¤Î¤ò½¤Àµ + + Mon Jun 13 1994 Issei Numata + * jnethack-0.2.0 beta test starts + + Mon Jun 13 1994 Yasuhito Futatsuki + * dotogglelang¤ÎÌá¤êÃͤò 0¤ËÀßÄê + + Mon Jun 13 1994 Issei Numata + * JIS/SJISüËö¤Çɽ¼¨¤¬¤Ç¤­¤ë¤è¤¦¤Ë²þÎÉ + * .nethackrc¤Ç´Á»ú¥³¡¼¥É¤òÁªÂò¤Ç¤­¤ë¤è¤¦¤Ë²þÎÉ + + Sun Jun 12 1994 Issei Numata + * quest.txt ¤Ë Caveman¤ÎËÝÌõÄɲà + + Sat Jun 11 1994 Issei Numata + * JNetHack-0.1.9 test starts. + + Sat Jun 11 1994 Issei Numata + * quest.txt ¤Ë Barbarian¤ÎËÝÌõÄɲà + * ¥¢¥¤¥Æ¥à̾¡¤²øʪ̾ ¥ª¥¸¥Ê¥ë<->ÆüËܸì¤ÎÀÚ¤êÂؤ¨¥µ¥Ý¡¼¥È + * jtrns_obj.dat²þÄû + + Fri Jun 10 1994 Issei Numata + * ȯ¸«ºÑ¤ß¥¢¥¤¥Æ¥à¤Î±Ñ̾/ÏÂ̾ʻµ­ + * ¡Ö¿å¤ÎÌô¡×->¡Ö¿å¡×,¡Ö¥Õ¥ë¡¼¥Ä¥¸¥å¡¼¥¹¤ÎÌô¡×->¡Ö¥Õ¥ë¡¼¥Ä¥¸¥å¡¼¥¹¡× + * rumor.fal²þÄû + + Thu Jun 9 1994 Tomoyuki Shiraishi + * quest.txt ¤Ë Healer¤ÎËÝÌõÄɲà + + Tue Jun 7 1994 Issei Numata + * JNetHack-0.1.8 test starts. + *** /dev/null Wed Sep 24 22:14:55 1997 --- ./japanese/jpatchlevel.h Wed Sep 24 14:59:52 1997 *************** *** 0 **** --- 1,13 ---- + /* + ** + ** $Id: jpatchlevel.h,v 1.4 1996/07/17 06:04:46 issei Exp issei $ + ** + */ + + /* Copyright (c) Issei Numata 1994-1996 */ + /* JNetHack may be freely redistributed. See license for details. */ + + #define JVERSION_MAJOR 1 + #define JVERSION_MINOR 0 + #define JPATCHLEVEL 5 + #define JEDITLEVEL 19970924 *** /dev/null Wed Sep 24 22:14:55 1997 --- ./japanese/Install.dos Tue Jul 22 23:18:06 1997 *************** *** 0 **** --- 1,29 ---- + + + djgpp ver. 2¤òÍѤ¤¤Æ Windows95¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÊýË¡ + + 1) + + UNIX¤ÈƱÍÍ¥Õ¥¡¥¤¥ë¤òŸ³«¤· patch¤òÅö¤Æ¡¤ sys/msdos ¤Ë¤Æ + + > setup.bat gcc + + ¤ò¼Â¹Ô¤·¤Þ¤¹¡¥(¹ÔËö¤Î¥³¡¼¥É¤¬Àµ¤·¤¯¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤È¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¤Î¤Ç¡¤ + Ãí°Õ¤·¤Þ¤·¤ç¤¦) + + 2) + + src¤Ë¤Æ + + > make + + > make install + + ¤³¤ì¤Ç¤ª¤·¤Þ¤¤¤Ç¤¹¡¥(¾Ð) + + + ¤Ç¤Ï VGA²èÌÌ¤Ç TILE¤òÍѤ¤¤¿ JNetHack¤ò¸æ¾ÞÌ£¤¯¤À¤µ¤¤¡¥ + + ¢¨¥½¡¼¥¹¤¬ EUC¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ß»î¤·¤Þ¤·¤¿¡¥SJIS¤Ï»î¤·¤Æ¤Þ¤»¤ó¡¤¤³¤Î¾ì + ¹çÅöÁ³¤¤¤ï¤æ¤ëȾ³Ñ¥«¥Ê¤Ï ¥²¡¼¥à¤Ç¤Ï»ÈÍѤǤ­¤Þ¤»¤ó + *** /dev/null Wed Sep 24 22:14:55 1997 --- ./japanese/emalloc.h Tue Jul 22 23:18:07 1997 *************** *** 0 **** --- 1,9 ---- + + /* EMS handler routine + Copyright (c) Kouji Takada 1994 */ + /* JNetHack may be freely redistributed. See license for details. */ + + int detect_ems(void); + void done_ems(void); + void *emalloc(unsigned int); + *** /dev/null Wed Sep 24 22:14:55 1997 --- ./japanese/jlib.h Tue Jul 22 23:18:08 1997 *************** *** 0 **** --- 1,535 ---- + /* + ** + ** $Id: jlib.h,v 1.4 1996/07/17 06:04:46 issei Exp issei $ + ** + */ + + /* Copyright (c) Issei Numata 1994-1996 */ + /* JNetHack may be freely redistributed. See license for details. */ + + #include + #include + #include "hack.h" + + #define EUC 0 + #define SJIS 1 + #define JIS 2 + + /* internal kcode */ + /* IC=0 EUC */ + /* IC=1 SJIS */ + #define IC ((unsigned char)("´Á"[0])==0x8a) + + /* default input kcode */ + #ifndef INPUT_KCODE + # ifdef MSDOS + # define INPUT_KCODE SJIS + # else + # define INPUT_KCODE EUC + # endif + #endif + + /* default output kcode */ + #ifndef OUTPUT_KCODE + # ifdef MSDOS + # define OUTPUT_KCODE SJIS + # else + # define OUTPUT_KCODE EUC + # endif + #endif + + static int output_kcode = OUTPUT_KCODE; + static int input_kcode = INPUT_KCODE; + + /* + ** Kanji code library.... + */ + void + setkcode(c) + int c; + { + if(c == 'E' || c == 'e' ) + output_kcode = EUC; + else if(c == 'J' || c == 'j') + output_kcode = JIS; + else if(c == 'S' || c == 's') + output_kcode = SJIS; + else{ + fprintf(stderr,"kcode error! use default.\n"); + output_kcode = OUTPUT_KCODE; + } + input_kcode = output_kcode; + } + /* + ** EUC->SJIS + */ + static unsigned char * + e2sj(s) + unsigned char *s; + { + unsigned char h,l; + static unsigned char sw[2]; + + h = s[0] & 0x7f; + l = s[1] & 0x7f; + + sw[0] = ((h - 1) >> 1)+ ((h <= 0x5e) ? 0x71 : 0xb1); + sw[1] = l + ((h & 1) ? ((l < 0x60) ? 0x1f : 0x20) : 0x7e); + + return sw; + } + /* + ** SJIS->EUC + */ + static unsigned char * + sj2e(s) + unsigned char *s; + { + unsigned int h,l; + static unsigned char sw[2]; + + h = s[0]; + l = s[1]; + + h = h + h - ((h <=0x9f) ? 0x00e1 : 0x0161); + if( l<0x9f ) + l = l - ((l > 0x7f) ? 0x20 : 0x1f); + else{ + l = l-0x7e; + ++h; + } + sw[0] = h | 0x80; + sw[1] = l | 0x80; + return sw; + } + /* + ** translate string to internal kcode + */ + const char * + str2ic(s) + const char *s; + { + static unsigned char buf[1024]; + unsigned char *u; + unsigned char *p,*pp; + int kin; + + if(!s) + return s; + + buf[0] = '\0'; + + if( IC==input_kcode ){ + strcpy((char *)buf, s); + return (char *)buf; + } + + p = buf; + if( !IC && input_kcode == SJIS ){ + while(*s){ + u = (unsigned char *)s; + if( *u & 0x80 ){ + pp = sj2e((unsigned char *)s); + *(p++) = pp[0]; + *(p++) = pp[1]; + s += 2; + } + else + *(p++) = (unsigned char)*(s++); + } + } + else if( !IC && input_kcode == JIS ){ + kin = 0; + while(*s){ + if(s[0] == 033 && s[1] == '$' && (s[2] == 'B' || s[3] == '@')){ + kin = 1; + s += 3; + } + else if(s[0] == 033 && s[1] == '(' && (s[2] == 'B' || s[3] == 'J')){ + kin = 0; + s += 3; + } + else if( kin ) + *(p++) = (*(s++) | 0x80); + else + *(p++) = *(s++); + } + } + else + return (char *)buf; + + *(p++) = '\0'; + return (char *)buf; + } + + /* + ** low level function + */ + static int kmode; + + static unsigned char * + jconvchar(c) + int c; + { + unsigned char uc,*pb,*pp; + unsigned char us[2]; + static unsigned char prev_char,buf[16]; + + uc = (*((unsigned int *)&c)) & 0xff; + pb = buf; + + if(c=='\0'){ + if(kmode && output_kcode==JIS ){ + *(pb++) = 033; + *(pb++) = '('; + *(pb++) = 'B'; + } + kmode = 0; + *(pb) = '\0'; + return buf; + } + + if( output_kcode==IC ){ + *(pb++) = uc; + } + else{ + if( kmode==0 && uc>=0x80 ){ + if( output_kcode==JIS ){ + *(pb++) = 033; + *(pb++) = '$'; + *(pb++) = 'B'; + } + kmode = 1; + } + else if( kmode==1 && uc<0x80 ){ + if( output_kcode==JIS ){ + *(pb++) = 033; + *(pb++) = '('; + *(pb++) = 'B'; + } + kmode = 0; + } + + if( kmode==0 ) + *(pb++) = uc; + else if( kmode==1 ){ + prev_char = uc; + ++kmode; + } + else if( kmode==2 ){ + us[0] = prev_char; + us[1] = uc; + if(IC){ /* sjis */ + pp = sj2e(us); + if( output_kcode==EUC ){ + *(pb++) = pp[0]; + *(pb++) = pp[1]; + } + else{ + *(pb++) = (pp[0]&0x7f); + *(pb++) = (pp[1]&0x7f); + } + } + else{ + if( output_kcode==SJIS ){ + pp = e2sj(us); + *(pb++) = pp[0]; + *(pb++) = pp[1]; + } + else{ + *(pb++) = prev_char &0x7f; + *(pb++) = uc & 0x7f; + } + } + kmode = 1; + } + } + *pb = '\0'; + return buf; + } + void + cputc(c,fp) + int c; + FILE *fp; + { + if(kmode!=0){ + jputchar('\0'); + } + putc(c,fp); + } + void + cputchar(c) + int c; + { + cputc(c,stdout); + } + void + jputc(c,fp) + int c; + FILE *fp; + { + fputs((char *)jconvchar(c),fp); + } + void + jputchar(c) + int c; + { + jputc(c,stdout); + } + void + jfputs(s,fp) + const char *s; + FILE *fp; + { + while(*s) + jputc((unsigned char)*s++,fp); + } + void + jputs(s) + const char *s; + { + while(*s) + jputchar((unsigned char)*s++); + putchar('\n'); + } + const char * + jconvstr(s) + const char *s; + { + static unsigned char buf[4096]; + unsigned char *p0,*p1; + + p0 = buf; + while(*s){ + p1 = jconvchar(*s++); + while(*p1) + *(p0++) = *(p1++); + } + *p0 = '\0'; + return (char *)buf; + } + + int is_kanji2(s,pos) + const char *s; + int pos; + { + unsigned char *str; + + str = (unsigned char *)s; + while(*str && pos>0){ + if(*str>=0x80){ + str+=2; + pos-=2; + } + else{ + ++str; + --pos; + } + } + if(pos<0) + return 1; + else + return 0; + } + + int is_kanji1(s,pos) + const char *s; + int pos; + { + unsigned char *str; + + str = (unsigned char *)s; + while(*str && pos>0){ + if(*str>=0x80){ + str+=2; + pos-=2; + } + else{ + ++str; + --pos; + } + } + if(!pos && *str>=0x80) + return 1; + else + return 0; + } + + /* + ** 8bit through isspace for Japanese + */ + int + isspace_8(c) + int c; + { + unsigned int *u; + + u = (unsigned int *)&c; + return *u<0x80 ? isspace(*u) : 0; + } + /* + ** split string(str) including japanese before pos and return to + ** str1, str2. + */ + void + split_japanese( str, str1, str2, pos ) + char *str; + char *str1; + char *str2; + int pos; + { + int len, i, j, k; + char *pstr; + char *pnstr; + + len = strlen((char *)str); + + if( len < pos ){ + strcpy(str1,str); + *str2 = '\0'; + return; + } + + i = pos; + if(is_kanji2(str, i)) + --i; + /* 1: + ** search space character + */ + j = 0; + while( j<20 ){ + if(isspace_8(str[i-j])){ + str[i-j] = '\0'; + --j; + goto found; + } + else if(is_kanji1(str,i-j)){ + if(!strncmp(str+i-j,"¡¡",2)){ + str[i-j] = '\0'; + j -= 2; + } + } + ++j; + } + /* 2: + ** search end of japanese + */ + j = 0; + while( j<20 ){ + if((is_kanji1(str,i-j) && !is_kanji2(str,i-j-1))|| + (is_kanji2(str,i-j-1) && !is_kanji1(str,i-j))){ + goto found; + } + ++j; + } + /* 3: + ** search japanese special character + */ + j = 2; + while( j<20 ){ + if(is_kanji1(str,i-j)){ + if(!strncmp(str+i-j,"¡ª",2)|| + !strncmp(str+i-j,"¡©",2)|| + !strncmp(str+i-j,"¡¢",2)|| + !strncmp(str+i-j,"¡£",2)|| + !strncmp(str+i-j,"¡¤",2)|| + !strncmp(str+i-j,"¡¥",2)){ + j -= 2; + goto found; + } + } + ++j; + } + /* 4: + ** search second bytes of japanese + */ + j = 0; + while( j<20 ){ + if(is_kanji1(str,i-j)){ + goto found; + } + ++j; + } + found: + + while(!strncmp(str+i-j,"¡ª",2) || + !strncmp(str+i-j,"¡©",2) || + !strncmp(str+i-j,"¡¢",2) || + !strncmp(str+i-j,"¡£",2) || + !strncmp(str+i-j,"¡¤",2) || + !strncmp(str+i-j,"¡¥",2)) + --j; + + pstr = str; + + pnstr = str1; + for( k=0 ; k= 0x30 && cc[1] <= 0x74) + cc[1] = rn2(94) + 0x21; + break; + } + + cc[0] |= 0x80; + cc[1] |= 0x80; + + memcpy(c, str2ic(cc), 2); + } + *** /dev/null Wed Sep 24 22:14:55 1997 --- ./japanese/Install.unx Wed Sep 24 14:44:00 1997 *************** *** 0 **** --- 1,163 ---- + + JNetHack + + Copyright 1993-1996 I.Numata, S.Miyashita, N.Hamada + + + INSTALL GUIDE FOR UNIX + + 0) ¤Ï¤¸¤á¤Ë + + ÆüËܸì NetHack¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¤8¥Ó¥Ã¥È¥¹¥ë¡¼¤Ê lex¤¬É¬ÍפǤ¹¡¥ + lex¤Ë -8 ¥ª¥×¥·¥ç¥ó(¤¢¤ë¤¤¤Ï¤½¤ì¤ÈƱÅù¤Î¤â¤Î)¤¬¤¢¤ë¤«¤É¤¦¤«¤ò¥¤¥ó¥¹¥È¡¼ + ¥ë¤ÎÁ°¤Ë³Îǧ¤·¤Þ¤¹¡¥¤Ê¤±¤ì¤Ð¡¤8¥Ó¥Ã¥È¥¹¥ë¡¼¤Ê lex¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤± + ¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥¹¬¤¤ GNU¤Î flex¤¬8¥Ó¥Ã¥È¥¹¥ë¡¼¤Ç¤¹¤Î¤Ç¡¤¤³¤ì¤ò¥¤¥ó¥¹¥È¡¼ + ¥ë¤¹¤ë¤Î¤¬¤è¤¤¤Ç¤·¤ç¤¦¡¥¤Þ¤¿¡¤gzip¤ä patch¤â GNU¤ÎºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤ò¥¤¥ó¥¹ + ¥È¡¼¥ë¤·¤Æ¤ª¤¯¤³¤È¤ò¤ª¤¹¤¹¤á¤·¤Þ¤¹¡¥ + + 1) ttyÈÇ(¥Æ¥­¥¹¥Èʸ»ú¤Î¤ß)JNetHack¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡ + + NetHack-3.2.0¤òŸ³«¤·¡¤¤½¤Î¸å NetHack-3.2.2¤Ø¤Î¥Ñ¥Ã¥Á¤òÅö¤Æ¤Þ¤¹¡¥ + + % gzip -dc nethack-3.2.0.tar.gz | tar xvf - + + % mv sys/unix/ioctl.c to sys/share/ioctl.c + % mv sys/unix/unixtty.c to sys/share/unixtty.c + % mv sys/mac/old/mrecover.c to sys/mac/mrecover.c + % rm sys/mac/old/mrecover.hqx + + % gzip -dc nh-3.2.0-3.2.1.patch.gz | patch -p + % gzip -dc nh-3.2.1-3.2.2.patch.gz | patch -p + + ¤â¤·¤¯¤Ï¡¤ NetHack-3.2.2¤òľÀÜŸ³«¤·¤Þ¤¹¡¥ + + % gzip -dc nethack-3.2.2.tar.gz | tar xvf - + + ¼¡¤Ë JNetHack¤Ø¤Î¥Ñ¥Ã¥Á¤òÅö¤Æ¤Þ¤¹¡¥¤³¤Ç¡¤»ÈÍѤ·¤Æ¤¤¤ëOS¤¬¤É¤Î¤è¤ÊÆüËÜ + ¸ì¥³¡¼¥ÉÂηϤò»ý¤Ã¤Æ¤¤¤ë¤Î¤«¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡¥ÂçÄñ¤ÏEUC¤«¡¤¤¤¤ï¤æ¤ëSJIS + ¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥ÆüËܸì¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤OS¤Ê¤éEUC¤Ë¤·¤Þ¤¹¡¥ + + EUC¤Î¾ì¹ç¤Ï + + % gzip -dc jnethack-?.?.?.gz | patch -p + ~~~~~¤³¤ÎÉôʬ¤Ï¥Ð¡¼¥¸¥ç¥ó¤Ë°Í¸ + + SJIS¤Î¾ì¹ç¤Ï + + % gzip -dc jnethack-?.?.?.gz | nkf -s |patch -p + + Åù¤È¤·¤Æ´Á»ú¥³¡¼¥É¤òÊÑ´¹¤·¤Æ¥Ñ¥Ã¥Á¤òÅö¤Æ¤ë¤È¤è¤¤¤Ç¤·¤ç¤¦¡¥ + ¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤· Makefile¤òºî¤ê¤Þ¤¹¡¥ + + % cd sys/unix + % sh setup.sh + + °ÊÁ°¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤â¤Î¤ò¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤¹¤ëºÝ¤âɬ¤º¹Ô¤Ê¤Ã¤Æ¤¯¤À¤µ + ¤¤¡¥(²¿¸Î¤Ê¤éMakefile¤¬Êѹ¹¤µ¤ì¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¤«¤é¤Ç¤¹) + + src/Makefile ¤Î¥³¥á¥ó¥È¤ò»²¹Í¤Ë¤·¤Æ CFLAGSÅù¤ò¥Þ¥·¥ó¤ÎÀßÄê¤Ë¹ç¤»¤Æ¼«Ê¬ + ¤ÇÊÔ½¸¤·¤Þ¤¹¡¥ + + ¼¡¤Ë include/config.h¤ä include/unixconf.h ¤òÊÔ½¸¤·¤Þ¤¹¡¥ + + ¥ª¥¸¥Ê¥ëÈÇNethack¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ò¹Íθ¤·¡¤HACKDIR¤ÏÊ̤Υǥ£ + ¥ì¥¯¥È¥ê¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥ HACKDIR¤òÊѹ¹¤·¤¿¾ì¹ç¤Ï¥È¥Ã¥×³¬Áؤˤ¢¤ë + Makefile¤âÊѹ¹¤·¤Þ¤¹¡¥¤µ¤â¤Ê¤¤¤È make install¤¬Àµ¤·¤¯Æ°ºî¤·¤Þ¤»¤ó¡¥ + + ¼¡¤Ë¡¤lex¤ò»È¤¦¤«¡¤flex¤ò»È¤¦¤«¤Ë¤è¤Ã¤Æ¡¤util/Makefile¤ÎÂбþ¤¹¤ëÉôʬ¤ò + ½ñ¤­Âؤ¨¤Þ¤¹¡¥ + + % make + + ¥¨¥é¡¼¤Ê¤¯¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤¿¤Ê¤é¤Ð¡¤¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡¥(¿¤¯¤Î¾ì + ¹çroot¤Ë¤Ê¤ëɬÍפ¬¤¢¤ë¤Ï¤º¤Ç¤¹) + + % make install + + ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤ª¤¹¤È¤­¤Ï + + % make update + + ¤È¤·¤Þ¤¹¡¥¤³¤ì¤ò¹Ô¤ï¤Ê¤¤¤È¥»¡¼¥Ö¥Õ¥¡¥¤¥ëÅù¤¬Á´¤ÆÇ˲õ¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡¥ + ¤³¤ì¤ÇÆüËܸìÈÇ NetHack¤Î´°À®¤Ç¤¹¡¥ + + 2) X11ÈÇ JNetHack¤Î¥¤¥ó¥¹¥È¡¼¥ë + + X11ÈǤÎJNetHack¤Ï¡¤¹ñºÝ²½¤µ¤ì¤¿ Xaw¤òÍѤ¤¤Æ¤¤¤Þ¤¹¡¥¤¿¤À¤·¡¤X11R5¤Ç¤Ï + Xaw¤¬¹ñºÝ²½¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¤X11R5¤Î contrib¤Ë´Þ¤Þ¤ì¤ë Xsi¤ËÂбþ¤·¤¿ + Xaw¤¬É¬ÍפȤʤê¤Þ¤¹¡¥²¿¤«¤ÈÌÌÅݤʤΤǡ¤X11R6¤ÇÍ·¤Ö¤³¤È¤ò¶¯¤¯¿ä¾©¤·¤Þ¤¹¡¥ + ¤Þ¤¿¡¤º£¸åX11R5¤Î¥µ¥Ý¡¼¥È¤ÏÂǤÁÀÚ¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡¥ + + ¶á¤ÎUNIX¤Ç¤Ï OS¤ÇÆüËܸì¤Î locale¤ò»ý¤Ä¤â¤Î¤¬Â¿¤¯¤Ê¤Ã¤Æ¤­¤Þ¤·¤¿¡¥OS¤¬Æü + Ëܸì¤Îlocale¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤â X11R5°Ê¾å¤Ç¤Ï locale¤¬ X¤Ç¥µ¥Ý¡¼¥È + ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤³¤ì¤ÇÍ·¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥¤³¤Î¾ì¹çX¤ÎºÆ¥³¥ó¥Ñ¥¤¥ë¤¬É¬Í× + ¤È¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡¥¤¯¤ï¤·¤¯¤ÏX¤Î¥É¥­¥å¥á¥ó¥È¤òÆɤó¤Ç¤¯¤À¤µ¤¤¡¥ + + locale¤ÎÃ椫¤é¥³¡¼¥ÉÂηϤ¬ EUC¤â¤·¤¯¤Ï SJIS¤Î¤â¤Î¤òÁª¤Ó¤Þ¤¹¡¥Î㤨¤Ð + FreeBSD¤Ç¤·¤¿¤éOS¤Çlocale¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¤OS¤Î locale¤Ç + ¤¢¤ëja_JP.EUC¤òÁªÂò¤·¤Þ¤¹¡¥SunOS4.1.3¤ÇJLE¤Î¤Ê¤¤¤â¤Î¤Ï OS¤ÇÆüËܸì¤Î + locale¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¤X11R6¤Îlocale¤ò»È¤¤¤Þ¤¹¡¥ + + ¼¡¤Ë¡¤include/config.h ¤Î X11_GRAPHICS¤ò define ¤·¤Þ¤¹¡¥¥Ç¥Õ¥©¥ë¥È + ¤Ç¤Ï X11R6¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¤R5¤Ç¹ñºÝ²½¤µ¤ì¤¿ Xaw¤ò»ÈÍÑ + ¤¹¤ëÊý¤Ï XAW_I18N¤ò define¤·¤Æ¤¯¤À¤µ¤¤¡¥Î¾ÊýÄêµÁ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡¥ + + src/Makefile¤Î CFLAGS LFLAGS¤ò¥³¥á¥ó¥È¤ò»²¹Í¤ËÊѹ¹¤·¤Þ¤¹¡¥OS¤Ë¤è¤Ã¤Æ¤Ï¡¤ + ŬÅö¤Ê¥é¥¤¥Ö¥é¥ê¤ò»ØÄꤷ¤Ê¤¤¤È locale¤ò»È¤Ã¤Æ¤¯¤ì¤Ê¤¤¤Î¤ÇÃí°Õ¤·¤Þ¤¹¡¥ + Î㤨¤Ð¡¤FreeBSD-2.2.?¤Ç¤Ï¡¤-lxpg4 ¤ò¥é¥¤¥Ö¥é¥ê¤È¤·¤Æ¥ê¥ó¥¯¤·¤Ê¤¤¤È OS + ¤Î locale¤ò»ÈÍѤ·¤Æ¤¯¤ì¤Þ¤»¤ó¡¥ + + ¤Þ¤¿¡¤WINX11LIB¤òos¤Î´Ä¶­¤Ë¹ç¤»¤ÆÊѹ¹¤·¡¤WINLIB, WINSRC, WINOBJ¤Ë + $(WINX11LIB) $(WINX11SRC) $(WINX11OBJ)¤òÄɲä·¤Þ¤¹¡¥ + + °Ê¾åMakefile¤ò½ñ¤­´¹¤¨¤¿¤Ê¤é¡¤tty¤ÈƱÍÍ + + % make + + ¤ò¹Ô¤¤ + + % make install + + ¤Ç´°À®¤Ç¤¹¡¥¼¡¤Ë´Ä¶­ÊÑ¿ô¤Î locale¤òÀßÄꤷ¤Þ¤¹¡¥Î㤨¤Ð¡¤ + + % setenv LC_CTYPE ja_JP.EUC + ~~~~~~~~~´Ä¶­¤Ë°Í¸ + % setenv LANG ja_JP.EUC + ~~~~~~~~~´Ä¶­¤Ë°Í¸ + + ¤Ê¤É¤È¤·¤Þ¤¹¡¥ºÇ¸å¤Ë win/X11/JNetHack.ad ¤ò JNetHack¤È¸À¤¦Ì¾Á°¤Ë¤·¤ÆŬ + Åö¤Ê¥Ç¥£¥ì¥¯¥È¥ê¥£¤Ë¥³¥Ô¡¼¤·¤Þ¤¹(Î㤨¤Ð + /usr/X11R6/lib/X11/app-defaults¤È¤«¡¤¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤È¤«)¡¥¤Ê¤ªËܥС¼ + ¥¸¥ç¥ó¤«¤éNetHack¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¯¥é¥¹Ì¾¤¬`NetHack'¤«¤é`JNetHack'¤Ë + Êѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎÀßÄê¤ò¤½¤Î¤Þ¤Þ»È¤¦¤È¤­¤Ï¡¤NetHack + ¤ò JNetHack¤ËÃÖ¤­¤«¤¨¤Æ¤¯¤À¤µ¤¤¡¥ + + ¤³¤ì¤ÇX11¤òÍѤ¤¤¿JNetHack¤¬Í·¤Ù¤Þ¤¹¡¥ + + 3) XPM¤òÍѤ¤¤¿ JNetHack¤Î¥¤¥ó¥¹¥È¡¼¥ë + + XPM¤òÍѤ¤¤¿¥°¥é¥Õ¥£¥«¥ë¤Ê jnethack¤ò³Ú¤·¤à¤Î¤Ê¤é¡¤¤Þ¤ºXPM¤Î¥é¥¤¥Ö¥é¥ê + ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥¥é¥¤¥Ö¥é¥ê¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤Ê¤é¡¤ + X11ÈǤÇÀßÄꤷ¤¿¤Î¤Ë²Ã¤¨¡¤include/config.h¤Ç USE_XPM¤òdefine¤·¤Þ¤¹¡¥ + + ¼¡¤Ë¥È¥Ã¥×¥Ç¥£¥ì¥¯¥È¥ê¤ÎMakefile¤Î VARDATND¤ò + + VARDATND = x11tiles pet_mark.xbm rip.xpm + + ¤Î¤è¤¦¤ËÄêµÁ¤·¤Þ¤¹¡¥ºÇ¸å¤Ë src/Makefile¤Î X11WINLIB¤Ë -lXpm¤ò + ¤Ä¤±¤¯¤ï¤¨¤Þ¤¹¡¥¤¢¤È¤Ï¡¤X11ÈǤÈƱÍͤǤ¹¡¥ + + Ãí°Õ + + JNetHack¤ËÄɲ䵤줿¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¡¤kcode¤¬¤¢¤ê¤Þ¤¹¡¥ + + OPTIONS=kcode:jis + + ¤Î¤è¤¦¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï tty¤Ë¤Î¤ß±Æ¶Á¤òÍ¿¤¨¤Þ¤¹¡¥ + X¤ÏX¤Î¹ñºÝ²½Éôʬ¤Ë°Í¸¤·¤Þ¤¹¡¥¤Þ¤¿¡¤.nethackrc¤è¤êÀè¤Ë .jnethackrc + ¤òÆɤߤ˹Ԥ¯¤Î¤Ç¡¤±Ñ¸ìÈǤȤζ¦Â¸¤¬²Äǽ¤Ç¤¹¡¥ + + kterm-5.2.0(°Ê¾å)¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð¡¤X11ÈǤò¥¤¥ó¥¹¥È¡¼¥ë¤· + ¤Ê¤¯¤Æ¤â -dec¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤ë¤³¤È¤Ë¤è¤ê¡¤¤½¤³¤½¤³¤Î¥°¥é¥Õ¥£¥Ã¥¯¤ò´® + ǽ¤Ç¤­¤Þ¤¹¡¥¤³¤Î¾ì¹ç kcode:jis¤È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥ + *** /dev/null Wed Sep 24 22:14:55 1997 --- ./japanese/jconj.c Tue Jul 22 23:18:07 1997 *************** *** 0 **** --- 1,396 ---- + /* + ** + ** $Id: jconj.c,v 1.4 1996/07/17 06:03:45 issei Exp issei $ + ** + */ + + /* Copyright (c) Issei Numata 1994-1996 */ + /* JNetHack may be freely redistributed. See license for details. */ + + #include + #include + #include "hack.h" + + #define EUC 0 + #define SJIS 1 + #define JIS 2 + + /* internal kcode */ + /* IC=0 EUC */ + /* IC=1 SJIS */ + #define IC ((unsigned char)("´Á"[0])==0x8a) + + #define J_A 0 + #define J_KA (1*5) + #define J_SA (2*5) + #define J_TA (3*5) + #define J_NA (4*5) + #define J_HA (5*5) + #define J_MA (6*5) + #define J_YA (7*5) + #define J_RA (8*5) + #define J_WA (9*5) + + #define J_GA (10*5) + #define J_ZA (11*5) + #define J_DA (12*5) + #define J_BA (13*5) + #define J_PA (14*5) + + static unsigned char hira_tab[][2]={ + {0xa4, 0xa2}, {0xa4, 0xa4}, {0xa4, 0xa6}, {0xa4, 0xa8}, {0xa4, 0xaa}, + {0xa4, 0xab}, {0xa4, 0xad}, {0xa4, 0xaf}, {0xa4, 0xb1}, {0xa4, 0xb3}, + {0xa4, 0xb5}, {0xa4, 0xb7}, {0xa4, 0xb9}, {0xa4, 0xbb}, {0xa4, 0xbd}, + {0xa4, 0xbf}, {0xa4, 0xc1}, {0xa4, 0xc4}, {0xa4, 0xc6}, {0xa4, 0xc8}, + {0xa4, 0xca}, {0xa4, 0xcb}, {0xa4, 0xcc}, {0xa4, 0xcd}, {0xa4, 0xce}, + {0xa4, 0xcf}, {0xa4, 0xd2}, {0xa4, 0xd5}, {0xa4, 0xd8}, {0xa4, 0xdb}, + {0xa4, 0xde}, {0xa4, 0xdf}, {0xa4, 0xe0}, {0xa4, 0xe1}, {0xa4, 0xe2}, + {0xa4, 0xe4}, {0xa4, 0xa4}, {0xa4, 0xe6}, {0xa4, 0xa8}, {0xa4, 0xe8}, + {0xa4, 0xe9}, {0xa4, 0xea}, {0xa4, 0xeb}, {0xa4, 0xec}, {0xa4, 0xed}, + {0xa4, 0xef}, {0xa4, 0xa4}, {0xa4, 0xa6}, {0xa4, 0xa8}, {0xa4, 0xaa}, + {0xa4, 0xac}, {0xa4, 0xae}, {0xa4, 0xb0}, {0xa4, 0xb2}, {0xa4, 0xb4}, + {0xa4, 0xb6}, {0xa4, 0xb8}, {0xa4, 0xba}, {0xa4, 0xbc}, {0xa4, 0xbe}, + {0xa4, 0xc0}, {0xa4, 0xc2}, {0xa4, 0xc5}, {0xa4, 0xc7}, {0xa4, 0xc9}, + {0xa4, 0xd0}, {0xa4, 0xd3}, {0xa4, 0xd6}, {0xa4, 0xd9}, {0xa4, 0xdc}, + {0xa4, 0xd1}, {0xa4, 0xd4}, {0xa4, 0xd7}, {0xa4, 0xda}, {0xa4, 0xdd}, + }; + + #define FIFTH 0 + #define UPPER 1 + #define LOWER 2 + #define SAHEN 3 + #define KAHEN 4 + #define NAHEN 5 + + #define NORMAL 0 + #define SOKUON 1 + #define HATSUON 2 + #define ION 3 + + struct _jconj_tab { + const char *main; + int column; + /* 0: fifth conj. 1:upper conj. 2:lower conj. 3:SAHEN 4:KAHEN */ + int katsuyo_type; + /* 0: normal 1: sokuon 2: hatson 3: ion */ + int onbin_type; + } jconj_tab[] = { + {"Íè¤ë", J_KA, KAHEN, NORMAL}, + {"¤¹¤ë", J_SA, SAHEN, NORMAL}, + {"¿©¤Ù¤ë", J_HA, LOWER, NORMAL}, + {"Æɤà", J_MA, FIFTH, SOKUON}, + {"椰", J_GA, FIFTH, ION}, + {"Ãå¤ë", J_KA, UPPER, NORMAL}, + {"¿È¤Ë¤Ä¤±¤ë", J_KA, LOWER, NORMAL}, + {"¤Ï¤º¤¹", J_SA, FIFTH, NORMAL}, + {"³°¤¹", J_SA, FIFTH, NORMAL}, + {"Êû¤²¤ë", J_KA, LOWER, NORMAL}, + {"½ñ¤¯", J_KA, FIFTH, ION}, + {"¤³¤¹¤ë", J_RA, FIFTH, HATSUON}, + {"Åꤲ¤ë", J_GA, LOWER, NORMAL}, + {"Í", J_SA, FIFTH, NORMAL}, + {"ÃÖ¤¯", J_KA, FIFTH, ION}, + {"»¦¤¹", J_SA, FIFTH, NORMAL}, + {"»à¤Ì", J_NA, FIFTH, SOKUON}, + {"Íî¤Á¤ë", J_TA, UPPER, NORMAL}, + {"Æþ¤ì¤ë", J_RA, LOWER, NORMAL}, + {"¤¤¤ì¤ë", J_RA, LOWER, NORMAL}, + {"½Ð¤¹", J_SA, FIFTH, NORMAL}, + {"½¦¤¦", J_WA, FIFTH, HATSUON}, + {"°û¤à", J_MA, FIFTH, SOKUON}, + {"»¬¤Ó¤ë", J_BA, UPPER, NORMAL}, + {"Ǩ¤é¤¹", J_SA, FIFTH, NORMAL}, + {"¿»¤¹", J_SA, FIFTH, NORMAL}, + {"»È¤¦", J_WA, FIFTH, HATSUON}, + {"ÂǤÄ", J_TA, FIFTH, HATSUON}, + {"É⤯", J_KA, FIFTH, ION}, + {"Èô¤Ö", J_BA, FIFTH, SOKUON}, + {"³ê¤ë", J_RA, FIFTH, HATSUON}, + {"½Ð¤ë", J_NA, LOWER, NORMAL}, + {"¤Ï¤¤¤º¤ë", J_RA, FIFTH, HATSUON}, + {"Ƨ¤à", J_MA, FIFTH, SOKUON}, + {"¤Ä¤Þ¤º¤¯", J_KA, FIFTH, ION}, + {"¤«¤±¤ë", J_KA, UPPER, NORMAL}, + {"¤¢¤±¤ë", J_KA, LOWER, NORMAL}, + {"³«¤±¤ë", J_KA, LOWER, NORMAL}, + {"Åɤë", J_RA, FIFTH, HATSUON}, + {"²Ã¤¨¤ë", J_A, LOWER, NORMAL}, + {"¹ï¤à", J_MA, FIFTH, SOKUON}, + {"¤³¤Þ¤¹", J_SA, FIFTH, NORMAL}, + {"̾¤Å¤±¤ë", J_KA, LOWER, NORMAL}, + {"¸Æ¤Ö", J_BA, FIFTH, SOKUON}, + {"¾Æ¤¯", J_KA, FIFTH, ION}, + {"¤Ä¤±¤ë", J_KA, LOWER, NORMAL}, + {"²õ¤¹", J_SA, FIFTH, NORMAL}, + {"¤Ï¤á¤ë", J_MA, UPPER, NORMAL}, + {"¤«¤Ö¤ë", J_RA, FIFTH, HATSUON}, + {"¹½¤¨¤ë", J_A, LOWER, NORMAL}, + {"Ǽ¤á¤ë", J_MA, LOWER, NORMAL}, + {"¼è¤ë", J_RA, FIFTH, HATSUON}, + {"¼é¤ë", J_RA, FIFTH, HATSUON}, + {"²ò¤¯", J_KA, FIFTH, ION}, + {"¹þ¤à", J_MA, FIFTH, SOKUON}, + {"¤È¤Ð¤¹", J_SA, FIFTH, NORMAL}, + {"²ó¤¹", J_SA, FIFTH, NORMAL}, + {"°®¤ë", J_RA, FIFTH, HATSUON}, + {"¤Ò¤Ã¤«¤±¤ë", J_KA, LOWER, NORMAL}, + {"¤Ï¤µ¤à", J_MA, FIFTH, SOKUON}, + {"»ý¤Ä", J_TA, FIFTH, HATSUON}, + {"´¬¤¯", J_KA, FIFTH, ION}, + {"Íú¤¯", J_KA, FIFTH, ION}, + {"³ú¤ß¤Ä¤¯", J_KA, FIFTH, ION}, + {(void*)0, 0, 0, 0}, + }; + + extern unsigned char *e2sj(unsigned char *s); + extern unsigned char *sj2e(unsigned char *s); + + /* + ** conjection verb word + ** + ** Example + ** arg1 arg2 result + ** 椰 ¤Ê¤¤ 椬¤Ê¤¤ + ** 椰 ¤¿ 椤¤À + ** + */ + static char * + jconjsub( tab, jverb, sfx ) + struct _jconj_tab *tab; + char *jverb; + char *sfx; + { + int len; + unsigned char *p; + static unsigned char tmp[1024]; + + len = strlen(jverb); + strcpy((char *)tmp, jverb ); + + if(!strncmp(sfx, "¤È", 2)){ + strcat((char *)tmp, sfx); + return (char *)tmp; + } + + switch( tab->katsuyo_type ){ + case FIFTH: + p = tmp+(len-2); + if(!strncmp(sfx, "¤Ê", 2)){ + if(!IC){ + p[0]= 0xa4; + p[1]= hira_tab[tab->column][1]; + } + else + memcpy(p, e2sj(hira_tab[tab->column]), 2); + + strcpy((char *)p+2, sfx); + break; + } + else if(!strncmp(sfx, "¤¿", 2) || !strncmp(sfx, "¤Æ", 2)){ + switch( tab->onbin_type ){ + case NORMAL: + if(!IC) + p[1]=hira_tab[tab->column+1][1]; + else + memcpy(p, e2sj(hira_tab[tab->column+1]), 2); + break; + case SOKUON: + if(!IC) + p[1]= 0xf3; + else + memcpy(p, "¤ó", 2); + break; + case HATSUON: + if(!IC) + p[1]= 0xc3; + else + memcpy(p, "¤Ã", 2); + break; + case ION: + if(!IC) + p[1]= 0xa4; + else + memcpy(p, "¤¤", 2); + break; + } + strcpy((char *)p+2, sfx); + if(tab->onbin_type==SOKUON || (tab->onbin_type==ION &&tab->column>=J_GA)){ + if(!IC) + ++p[3]; + else + ++p[3]; + /* memcpy(p+2, e2sj(sj2e(p+2)+1), 2);*//* sj2e() returns ptr to char* */ + } + break; + } + else if(!strncmp(sfx, "¤Ð", 2)){ + if(!IC) + p[1]=hira_tab[tab->column+3][1]; + else + memcpy(p, e2sj(hira_tab[tab->column+3]), 2); + strcpy((char *)p+2, sfx); + } + else if(!strncmp(sfx, "¤ì", 2)){ + if(!IC) + p[1]=hira_tab[tab->column+3][1]; + else + memcpy(p, e2sj(hira_tab[tab->column+3]), 2); + + strcpy((char *)p+2, sfx+2); + } + else if(!strncmp(sfx, "¤Þ", 2)) { + if(!IC) + p[1]=hira_tab[tab->column+1][1]; + + else + memcpy(p, e2sj(hira_tab[tab->column+1]), 2); + strcpy((char *)p+2, sfx); + break; + } + break; + case LOWER: + case UPPER: + case KAHEN: + p = tmp+(len-2); + if(!strncmp(sfx, "¤Ð", 2)){ + strcpy((char *)p, "¤ì"); + strcpy((char *)p+2, sfx); + } + else if(!strncmp(sfx, "¤ì", 2) && tab->katsuyo_type == LOWER){ + strcpy((char *)p, "¤é"); + strcpy((char *)p+2, sfx); + } + else + strcpy((char *)p, sfx); + break; + case SAHEN: + p = tmp+(len-4); + if(!strncmp(sfx, "¤Ê", 2)||!strncmp(sfx, "¤Þ", 2)||!strncmp(sfx, "¤¿", 2)||!strncmp(sfx, "¤Æ", 2)){ + strcpy((char *)p, "¤·"); + strcpy((char *)p+2, sfx); + } + else if(!strncmp(sfx, "¤Ð", 2)||!strncmp(sfx, "¤ì¤Ð", 4)){ + strcpy((char *)p, "¤¹¤ì¤Ð"); + } + break; + } + return (char *)tmp; + } + const char * + jconj( jverb, sfx ) + const char *jverb; + const char *sfx; + { + struct _jconj_tab *tab; + int len; + + len = strlen(jverb); + for( tab=jconj_tab ; tab->main!=(void*)0 ;++tab ) + if(!strcmp(jverb, tab->main)){ + return jconjsub( tab, jverb, sfx ); + } + + for( tab=jconj_tab ; tab->main!=(void*)0 ;++tab ) + if(len-strlen(tab->main)>0&&!strcmp(jverb+(len-strlen(tab->main)), tab->main)) + return jconjsub( tab, jverb, sfx ); + + #ifdef JAPANESETEST + fprintf( stderr, "I don't know such word \"%s\"\n"); + #endif + return jverb; + } + + const char * + jcan(jverb) + const char *jverb; + { + const char *ret; + static unsigned char tmp[1024]; + + int len = strlen(jverb); + if(!strcmp(jverb + len - 4, "¤¹¤ë")){ + strncpy(tmp, jverb, len-4); + strcpy(tmp + len-4, "¤Ç¤­¤ë"); + return tmp; + } + else + ret = jconj(jverb, "¤ì¤ë"); + + return ret; + } + const char * + jcannot(jverb) + const char *jverb; + { + static unsigned char tmp[1024]; + + int len = strlen(jverb); + if(!strcmp(jverb + len - 4, "¤¹¤ë")){ + strncpy(tmp, jverb, len-4); + strcpy(tmp +len-4, "¤Ç¤­¤Ê¤¤"); + return tmp; + } + else + return jconj(jverb, "¤ì¤Ê¤¤"); + } + const char * + jpast(jverb) + const char *jverb; + { + return jconj(jverb, "¤¿"); + } + + + /* + ** conjection of adjective word + ** + ** Example: + ** + ** ·ÁÍÆ»ìŪÍÑË¡ Éû»ìŪÍÑË¡ + ** + ** ÀÖ¤¤ -> ÀÖ¤¯ (·ÁÍÆ»ì) + ** åºÎï¤Ê -> åºÎï¤Ë (·ÁÍÆÆ°»ì) + ** åºÎï¤À -> åºÎï¤Ë (·ÁÍÆÆ°»ì) + */ + const char * + jconj_adj( jadj ) + const char *jadj; + { + int len; + static unsigned char tmp[1024]; + + strcpy((char *)tmp, jadj); + len = strlen((char *)tmp); + + if(!strcmp((char *)tmp+len-2, "¤¤")) + strcpy((char *)tmp+len-2, "¤¯"); + else if(!strcmp((char *)tmp+len-2, "¤À")|| + !strcmp((char *)tmp+len-2, "¤Ê")|| + !strcmp((char *)tmp+len-2, "¤Î")) + strcpy((char *)tmp+len-2, "¤Ë"); + + return (char *)tmp; + } + + + #ifdef JAPANESETEST + main() + { + struct _jconj_tab *tab; + + for( tab=jconj_tab ; tab->main!=(void*)0 ;++tab ){ + printf("%s %s\n", tab->main, jconj(tab->main, "¤Ê¤¤")); + printf("%s %s\n", tab->main, jconj(tab->main, "¤Þ¤¹")); + printf("%s %s\n", tab->main, jconj(tab->main, "¤¿")); + printf("%s %s\n", tab->main, jconj(tab->main, "¤ì¤Ð")); + printf("%s %s\n", tab->main, jconj(tab->main, "¤È¤­")); + printf("%s %s\n", tab->main, jcan(tab->main)); + printf("%s %s\n", tab->main, jcannot(tab->main)); + } + printf("%s\n", jconj("Å°Ìë¤Çnethack¤ÎËÝÌõ¤ò¤¹¤ë", "¤Ê¤¤")); + printf("%s\n", jconj("Å°Ìë¤Çnethack¤ÎËÝÌõ¤ò¤¹¤ë", "¤Þ¤¹")); + printf("%s\n", jconj("Å°Ìë¤Çnethack¤ÎËÝÌõ¤ò¤¹¤ë", "¤¿")); + printf("%s\n", jconj("Å°Ìë¤Çnethack¤ÎËÝÌõ¤ò¤¹¤ë", "¤ì¤Ð")); + printf("%s\n", jconj("Å°Ìë¤Çnethack¤ÎËÝÌõ¤ò¤¹¤ë", "¤È¤­")); + } + #endif *** /dev/null Wed Sep 24 22:14:55 1997 --- ./japanese/emalloc.c Tue Jul 22 23:18:07 1997 *************** *** 0 **** --- 1,204 ---- + + /* EMS handler routine + Copyright (c) Kouji Takada 1994 */ + /* JNetHack may be freely redistributed. See license for details. */ + + #include "hack.h" + #include + #include + #include "emalloc.h" + + #define EMS_VECT 0x67 + #define EMS_STR "EMMXXXX0" + static int isems = 0; + static unsigned int ems_frame = 0; + static unsigned long emalloc_ptr = 0; + static unsigned int ems_handle = 0; + + #ifdef MOVERLAY + /* MOVERLAY API */ + #define MOVE_PAUSE_CACHE 4 + extern unsigned short _movefpause; + extern void _movepause(void); + extern void _moveresume(void); + #endif + + /* Àµµ¬²½¤µ¤ì¤¿¥Ý¥¤¥ó¥¿¤òºîÀ®¤¹¤ë */ + static void *mk_fp(unsigned int seg, unsigned int off) + { + unsigned long temp; + + temp = (((unsigned long)seg) << 4) + ((unsigned long)off); + return (void *)(((temp & 0xffff0L) << 12) + (temp & 0x0000fL)); + } + + /* ¥×¥í¥°¥é¥à½ªÎ»»þ¤Ë¸Æ¤Ð¤ì¡¢EMS ¤ò³«Êü¤¹¤ë */ + void done_ems(void) + { + union REGS inregs, outregs; + struct SREGS segregs; + int i; + + if (isems == 0) return; + inregs.h.ah = 0x44; + inregs.x.dx = ems_handle; + inregs.x.bx = 0xffff; + for (i = 0; i < 4; i++) + { + /* ¥Ú¡¼¥¸¤ò¥¢¥ó¥Þ¥Ã¥×¤¹¤ë */ + inregs.h.al = i; + int86(EMS_VECT, &inregs, &outregs); + if (outregs.h.ah != 0) fprintf(stderr, + "·Ù¹ð: EMS ¤ò¥¢¥ó¥Þ¥Ã¥×½ÐÍè¤Þ¤»¤ó (%04x)¡£\n", + outregs.h.ah & (i << 8)); + } + + /* ¥Ú¡¼¥¸¤ò³«Êü¤¹¤ë */ + inregs.h.ah = 0x45; + inregs.x.dx = ems_handle; + int86(EMS_VECT, &inregs, &outregs); + if (outregs.h.ah != 0) + { + fprintf(stderr, "·Ù¹ð: EMS ¤ò³«Êü½ÐÍè¤Þ¤»¤ó (%04x)¡£\n", + outregs.h.ah); + return; + } + /* fprintf(stderr, "EMS ¤Ï %ud ¥Ð¥¤¥È»ÈÍѤµ¤ì¤Þ¤·¤¿¡£\n", emalloc_ptr); */ + isems = 0; + } + + /* EMS ¤ò½é´ü²½¤¹¤ë */ + int detect_ems(void) + { + union REGS inregs, outregs; + char *vect; + int i; + + /* EMS ¥É¥é¥¤¥Ð¤òõ¤¹ */ + vect = (char *)_dos_getvect(EMS_VECT); + vect = mk_fp(FP_SEG(vect), 0x000a); + if (memcmp(vect, EMS_STR, 8) != 0) + { + fprintf(stderr, "EMS ¤¬Â¸ºß¤·¤Þ¤»¤ó¡£\n"); + return 0; + } + + #ifdef MOVERLAY + /* MOVERLAY ¤¬¼èÆÀ¤·¤Æ¤¤¤ë EMS ¤ò³«Êü¤µ¤»¤ë */ + _movefpause |= MOVE_PAUSE_CACHE; + _movepause(); + #endif + /* ¥Ï¡¼¥É¥¦¥§¥¢¤¬Àµ¾ï¤«¤É¤¦¤«³Îǧ¤¹¤ë */ + inregs.h.ah = 0x40; + int86(EMS_VECT, &inregs, &outregs); + if (outregs.h.ah != 0) + { + fprintf(stderr, "EMS ¤¬°Û¾ï¤Ç¤¹ (%04x)¡£\n", outregs.h.ah); + #ifdef MOVERLAY + _moveresume(); + #endif + return 0; + } + + /* £´¥Ú¡¼¥¸¤Î¶õ¤­¤¬¤¢¤ë¤«³Îǧ¤¹¤ë */ + inregs.h.ah = 0x42; + int86(EMS_VECT, &inregs, &outregs); + if (outregs.x.bx < 4) + { + fprintf(stderr, "EMS ¤Î¥Õ¥ì¡¼¥à¤¬Â­¤ê¤Þ¤»¤ó (%04x)¡£\n", + outregs.x.cx); + #ifdef MOVERLAY + _moveresume(); + #endif + return 0; + } + + /* ¥Ú¡¼¥¸¥Õ¥ì¡¼¥à¤¬£´¤Ä°Ê¾å¤¢¤ë¤«¤É¤¦¤«³Îǧ¤¹¤ë */ + inregs.x.ax = 0x5801; + int86(EMS_VECT, &inregs, &outregs); + if (outregs.x.cx < 4) + { + fprintf("stderr, EMS ¤Î¥Õ¥ì¡¼¥à¤¬Â­¤ê¤Þ¤»¤ó (%04x)¡£\n", outregs.x.cx); + _moveresume(); + return 0; + } + + /* ¥Ú¡¼¥¸¥Õ¥ì¡¼¥à¤ÎÀèƬ¥¢¥É¥ì¥¹¤òÆÀ¤ë */ + inregs.h.ah = 0x41; + int86(EMS_VECT, &inregs, &outregs); + ems_frame = outregs.x.bx; + + /* £´¥Ú¡¼¥¸¤Î¥á¥â¥ê¤ò³ÎÊݤ¹¤ë */ + inregs.h.ah = 0x43; + inregs.x.bx = 4; + int86(EMS_VECT, &inregs, &outregs); + if (outregs.h.ah != 0) + { + fprintf(stderr, "EMS ¤¬¼èÆÀ½ÐÍè¤Þ¤»¤ó (%04x)¡£\n", + outregs.h.ah); + #ifdef MOVERLAY + _moveresume(); + #endif + _moveresume(); + return 0; + } + ems_handle = outregs.x.dx; + + /* ¥Ú¡¼¥¸¤ò¥Þ¥Ã¥×¤¹¤ë */ + inregs.h.ah = 0x44; + inregs.x.dx = ems_handle; + for (i = 0; i < 4; i++) + { + inregs.h.al = i; + inregs.x.bx = i; + int86(EMS_VECT, &inregs, &outregs); + if (outregs.h.ah != 0) + { + fprintf(stderr, "EMS ¤ò¥Þ¥Ã¥×½ÐÍè¤Þ¤»¤ó (%04x)¡£\n", + outregs.h.ah & (i << 8)); + inregs.h.ah = 0x45; + inregs.x.dx = ems_handle; + int86(EMS_VECT, &inregs, &outregs); + #ifdef MOVERLAY + _moveresume(); + #endif + return 0; + } + } + + #ifdef MOVERLAY + /* MOVERLAY ¤Î¥­¥ã¥Ã¥·¥å¤òºÆ¤ÓÍ­¸ú¤Ë¤¹¤ë */ + _moveresume(); + #endif + /* ¥×¥í¥°¥é¥à½ªÎ»»þ¤Ë¼«Æ°Åª¤Ë¸Æ¤Ó½Ð¤¹ */ + atexit(done_ems); + + fprintf(stderr, "\nEMS ¤ò¥Ç¡¼¥¿Îΰè¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£\n"); + isems = 1; + return 1; + } + + /* EMS Îΰ褫¤éÍ¥À褷¤Æ¥á¥â¥ê¤ò³ÎÊݤ¹¤ë */ + void *emalloc(unsigned int size) + { + void *ptr; + + /* EMS ¤¬»ÈÍѲÄǽ¤Ê¤é */ + if (isems != 0) + { + /* EMS ¤Ë¶õ¤­¤¬¤¢¤ì¤Ð */ + if ((emalloc_ptr + ((unsigned long)size)) <= 0xffffL) + { + /* ¥Ý¥¤¥ó¥¿¤òºî¤Ã¤ÆÊÖ¤¹ */ + ptr = mk_fp(ems_frame, emalloc_ptr); + emalloc_ptr += size; + memset(ptr, 0, size); + return ptr; + } + } + /* EMS ¤«¤é¥á¥â¥ê¤¬¼èÆÀ½ÐÍè¤Ê¤±¤ì¤Ð¡¢¥Ò¡¼¥×¤ò»È¤¦ */ + ptr = alloc(size); + memset(ptr, 0, size); + return ptr; + } + *** /dev/null Wed Sep 24 22:14:55 1997 --- ./japanese/jlib.c Tue Jul 22 23:18:08 1997 *************** *** 0 **** --- 1,747 ---- + /* + ** + ** $Id: jlib.c,v 1.4 1996/07/17 06:03:45 issei Exp issei $ + ** + */ + + /* Copyright (c) Issei Numata 1994-1996 */ + /* JNetHack may be freely redistributed. See license for details. */ + + #include + #include + #include "hack.h" + + #define EUC 0 + #define SJIS 1 + #define JIS 2 + + /* internal kcode */ + /* IC=0 EUC */ + /* IC=1 SJIS */ + #define IC ((unsigned char)("´Á"[0])==0x8a) + + /* default input kcode */ + #ifndef INPUT_KCODE + # ifdef MSDOS + # define INPUT_KCODE SJIS + # else + # define INPUT_KCODE EUC + # endif + #endif + + /* default output kcode */ + #ifndef OUTPUT_KCODE + # ifdef MSDOS + # define OUTPUT_KCODE SJIS + # else + # define OUTPUT_KCODE EUC + # endif + #endif + + static int output_kcode = OUTPUT_KCODE; + static int input_kcode = INPUT_KCODE; + + /* + ** Kanji code library.... + */ + + int + is_kanji(c) + unsigned c; + { + if(IC == EUC) + return (c & 0x80); + else + return ((unsigned int)c>=0x81 && (unsigned int)c<=0x9f) + || ((unsigned int)c>=0xe0 && (unsigned int)c<=0xfc); + } + + void + setkcode(c) + int c; + { + if(c == 'E' || c == 'e' ) + output_kcode = EUC; + else if(c == 'J' || c == 'j') + output_kcode = JIS; + else if(c == 'S' || c == 's') + output_kcode = SJIS; + else if(c == 'I' || c == 'i') + #ifdef MSDOS + output_kcode = SJIS; + #else + output_kcode = IC; + #endif + else{ + output_kcode = IC; + } + input_kcode = output_kcode; + } + /* + ** EUC->SJIS + */ + + unsigned char * + e2sj(s) + unsigned char *s; + { + unsigned char h,l; + static unsigned char sw[2]; + + h = s[0] & 0x7f; + l = s[1] & 0x7f; + + sw[0] = ((h - 1) >> 1)+ ((h <= 0x5e) ? 0x71 : 0xb1); + sw[1] = l + ((h & 1) ? ((l < 0x60) ? 0x1f : 0x20) : 0x7e); + + return sw; + } + /* + ** SJIS->EUC + */ + unsigned char * + sj2e(s) + unsigned char *s; + { + unsigned int h,l; + static unsigned char sw[2]; + + h = s[0]; + l = s[1]; + + h = h + h - ((h <=0x9f) ? 0x00e1 : 0x0161); + if( l<0x9f ) + l = l - ((l > 0x7f) ? 0x20 : 0x1f); + else{ + l = l-0x7e; + ++h; + } + sw[0] = h | 0x80; + sw[1] = l | 0x80; + return sw; + } + /* + ** translate string to internal kcode + */ + const char * + str2ic(s) + const char *s; + { + static unsigned char buf[1024]; + const unsigned char *up; + unsigned char *p, *pp; + int kin; + + if(!s) + return s; + + buf[0] = '\0'; + + if( IC==input_kcode ){ + strcpy((char *)buf, s); + return (char *)buf; + } + + p = buf; + if( IC==EUC && input_kcode == SJIS ){ + while(*s){ + up = s; + if(is_kanji(*up)){ + pp = sj2e((unsigned char *)s); + *(p++) = pp[0]; + *(p++) = pp[1]; + s += 2; + } + else + *(p++) = (unsigned char)*(s++); + } + } + else if( IC==EUC && input_kcode == JIS ){ + kin = 0; + while(*s){ + if(s[0] == 033 && s[1] == '$' && (s[2] == 'B' || s[3] == '@')){ + kin = 1; + s += 3; + } + else if(s[0] == 033 && s[1] == '(' && (s[2] == 'B' || s[3] == 'J')){ + kin = 0; + s += 3; + } + else if( kin ) + *(p++) = (*(s++) | 0x80); + else + *(p++) = *(s++); + } + } + else{ + strcpy((char *)buf, s); + return (char *)buf; + } + + *(p++) = '\0'; + return (char *)buf; + } + + #ifdef MSDOS + /* + ** translate string to output kcode + */ + const char * + ic2str(s) + const char *s; + { + static unsigned char buf[1024]; + const unsigned char *up; + unsigned char *p, *pp; + int kin; + + if(!s) + return s; + + buf[0] = '\0'; + + p = buf; + if( IC==EUC && output_kcode == SJIS ){ + while(*s){ + up = s; + if( *up & 0x80 ){ + pp = e2sj((unsigned char *)s); + *(p++) = pp[0]; + *(p++) = pp[1]; + s += 2; + } + else + *(p++) = (unsigned char)*(s++); + } + } + else{ + strcpy((char *)buf, s); + return (char *)buf; + } + + *(p++) = '\0'; + return (char *)buf; + } + #endif /* MSDOS */ + + /* + ** primitive function + */ + + static int kmode; /* 0: Kanji out */ + /* 1: Kanji in */ + + static void + tty_reset() + { + if(kmode && output_kcode==JIS ){ + putchar(033); + putchar('('); + putchar('B'); + /* + if (flags.DECgraphics){ + putchar(033); + putchar('$'); + putchar(')'); + putchar('B'); + } + */ + } + kmode = 0; + } + + /* print out 1 byte character to tty (no conversion) */ + static void + tty_cputc(unsigned int c) + { + if(kmode && output_kcode==JIS ){ + putchar(033); + putchar('('); + putchar('B'); + } + kmode = 0; + + #if defined(NO_TERMS) && defined(MSDOS) + xputc(c); + #else + putchar(c); + #endif + } + + /* print out 2 bytes character to tty (no conversion) */ + static void + tty_cputc2(unsigned int c, unsigned int c2) + { + kmode = 1; + + #if defined(NO_TERMS) && defined(MSDOS) + xputc2(c, c2); + #else + putchar(c); + putchar(c2); + #endif + } + + /* print out 1 byte character to tty (IC->output_kcode) */ + static void + tty_jputc(unsigned int c) + { + if(kmode && output_kcode==JIS ){ + putchar(033); + putchar('('); + putchar('B'); + } + kmode = 0; + + #if defined(NO_TERMS) && defined(MSDOS) + xputc(c); + #else + putchar(c); + #endif + } + + /* print out 2 bytes character to tty (IC->output_kcode) */ + static void + tty_jputc2(unsigned int c, unsigned int c2) + { + if(!kmode && output_kcode==JIS ){ + putchar(033); + putchar('$'); + putchar('B'); + } + kmode = 1; + #if defined(NO_TERMS) && defined(MSDOS) + xputc2(c, c2); + #else + putchar(c); + putchar(c2); + #endif + } + + /* + ** japanese buffersing function + */ + int + jbuffer( + unsigned int c, + unsigned int *buf, + void (*reset)(), + void (*f1)(unsigned int), + void (*f2)(unsigned int, unsigned int)) + { + static unsigned int ibuf[2]; + unsigned int c1, c2; + unsigned char uc[2]; + unsigned char *p; + + if(!buf) buf = ibuf; + if(!reset) reset = tty_reset; + if(!f1) f1 = tty_jputc; + if(!f2) f2 = tty_jputc2; + + if(!(buf[0]) && (is_kanji(c))){ + buf[1] = c; + ++buf[0]; + return 0; + } + else if(buf[0]){ + c1 = buf[1]; + c2 = c; + + if(IC == output_kcode) + ; + else if(IC == EUC){ + switch(output_kcode){ + case JIS: + c1 &= 0x7f; + c2 &= 0x7f; + break; + case SJIS: + uc[0] = c1; + uc[1] = c2; + p = e2sj(uc); + c1 = p[0]; + c2 = p[1]; + break; + default: + impossible("Unknown kcode!"); + break; + } + } + else if(IC == SJIS){ + uc[0] = c1; + uc[1] = c2; + p = sj2e(uc); + switch(output_kcode){ + case JIS: + c1 &= 0x7f; + c2 &= 0x7f; + break; + case EUC: + break; + default: + impossible("Unknown kcode!"); + break; + } + } + f2(c1, c2); + buf[0] = 0; + return 2; + } + else if(c){ + f1(c); + return 1; + } + reset(); + return -1; + } + + int + cbuffer( + unsigned int c, + unsigned int *buf, + void (*reset)(), + void (*f1)(unsigned int), + void (*f2)(unsigned int, unsigned int)) + { + static unsigned int ibuf[2]; + + if(!buf) buf = ibuf; + if(!reset) reset = tty_reset; + if(!f1) f1 = tty_cputc; + if(!f2) f2 = tty_cputc2; + + if(!(buf[0]) && is_kanji(c)){ + buf[1] = c; + ++buf[0]; + return 0; + } + else if(buf[0]){ + f2(buf[1], c); + buf[0] = 0; + return 2; + } + else if(c){ + f1(c); + return 1; + } + reset(); + return -1; + } + + void + jputchar(int c) + { + static unsigned int buf[2]; + jbuffer((unsigned int)c, buf, NULL, NULL, NULL); + } + void + cputchar(int c) + { + static unsigned int buf[2]; + cbuffer((unsigned int)c, buf, NULL, NULL, NULL); + } + + void + jputs(s) + const char *s; + { + while(*s) + jputchar((unsigned char)*s++); + jputchar('\n'); + } + + int is_kanji2(s,pos) + const char *s; + int pos; + { + unsigned char *str; + + str = (unsigned char *)s; + while(*str && pos>0){ + if(is_kanji(*str)){ + str+=2; + pos-=2; + } + else{ + ++str; + --pos; + } + } + if(pos<0) + return 1; + else + return 0; + } + + int is_kanji1(s,pos) + const char *s; + int pos; + { + unsigned char *str; + + str = (unsigned char *)s; + while(*str && pos>0){ + if(is_kanji(*str)){ + str+=2; + pos-=2; + } + else{ + ++str; + --pos; + } + } + if(!pos && is_kanji(*str)) + return 1; + else + return 0; + } + + /* + ** 8bit through isspace for Japanese + */ + int + isspace_8(c) + int c; + { + unsigned int *up; + + up = (unsigned int *)&c; + return *up<0x80 ? isspace(*up) : 0; + } + /* + ** split string(str) including japanese before pos and return to + ** str1, str2. + */ + void + split_japanese( str, str1, str2, pos ) + char *str; + char *str1; + char *str2; + int pos; + { + int len, i, j, k, mlen; + char *pstr; + char *pnstr; + + len = strlen((char *)str); + + if( len < pos ){ + strcpy(str1,str); + *str2 = '\0'; + return; + } + + if(pos > 20) + mlen = 20; + else + mlen = pos; + + i = pos; + if(is_kanji2(str, i)) + --i; + + /* 1: + ** search space character + */ + j = 0; + while( j0 && + (str[i-j] == ']' || + str[i-j] == ')' || + str[i-j] == '}')) + --j; + else if(j>1 && + (!strncmp(str+i-j, "¡Ï", 2)) || + (!strncmp(str+i-j, "¡Ë", 2)) || + (!strncmp(str+i-j, "¡Ñ", 2))) + j-=2; + else + break; + } + while(!strncmp(str+i-j,"¡ª",2) || + !strncmp(str+i-j,"¡©",2) || + !strncmp(str+i-j,"¡¢",2) || + !strncmp(str+i-j,"¡£",2) || + !strncmp(str+i-j,"¡¤",2) || + !strncmp(str+i-j,"¡¥",2)) + j+=2; + + pstr = str; + + pnstr = str1; + for( k=0 ; k= 0x30 && cc[1] <= 0x74) + cc[1] = rn2(94) + 0x21; + break; + } + + cc[0] |= 0x80; + cc[1] |= 0x80; + + if(IC==SJIS) + memcpy(c, (char *)e2sj(cc), 2); + else + memcpy(c, cc, 2); + } + + const char * + joffmsg(otmp, joshi) + register struct obj *otmp; + const char **joshi; + { + static char buf[BUFSZ]; + + *joshi = "¤ò"; + + if(otmp->oclass == RING_CLASS){ + Sprintf(buf, "%s¤«¤é¤Ï¤º¤¹", body_part(FINGER)); + return buf; + } + if( otmp->oclass == AMULET_CLASS){ + return "¤Ï¤º¤¹"; + } + else if(is_helmet(otmp)) + return "¼è¤ë"; + else if(is_gloves(otmp)) + return "¤Ï¤º¤¹"; + else if(otmp->oclass == WEAPON_CLASS||is_shield(otmp)){ + *joshi = "¤Î"; + return "ÁõÈ÷¤ò²ò¤¯"; + } + else if(is_suit(otmp)) + return "椰"; + else + return "¤Ï¤º¤¹"; + } + + const char * + jonmsg(otmp, joshi) + register struct obj *otmp; + const char **joshi; + { + static char buf[BUFSZ]; + + *joshi = "¤ò"; + + if(otmp->oclass == RING_CLASS){ + Sprintf(buf, "%s¤Ë¤Ï¤á¤ë", body_part(FINGER)); + return buf; + } + else if(otmp->oclass == AMULET_CLASS) + return "¿È¤Ë¤Ä¤±¤ë"; + else if(is_gloves(otmp)) + return "¿È¤Ë¤Ä¤±¤ë"; + else if(is_shield(otmp)){ + *joshi = "¤Ç"; + return "¿È¤ò¼é¤ë"; + } + else if(is_helmet(otmp)) + return "¤«¤Ö¤ë"; + else if(otmp->oclass == WEAPON_CLASS){ + Sprintf(buf, "%s¤Ë¤¹¤ë", body_part(HAND)); + return buf; + } + else if(is_boots(otmp)) + return "Íú¤¯"; + else if(is_suit(otmp)) + return "Ãå¤ë"; + else + return "¿È¤Ë¤Ä¤±¤ë"; + } *** /dev/null Wed Sep 24 22:14:55 1997 --- ./japanese/jtrns.c Tue Jul 22 23:18:09 1997 *************** *** 0 **** --- 1,258 ---- + /* + ** + ** $Id: jtrns.c,v 1.4 1996/07/17 06:03:45 issei Exp issei $ + ** + */ + + /* Copyright (c) Issei Numata 1994-1996 */ + /* JNetHack may be freely redistributed. See license for details. */ + + #include "hack.h" + + #include + #ifdef NULL + #undef NULL + #define NULL ((void *)0) + #endif + + #include "jdata.h" + + /* mode + ** + ** 0 - English(Original) + ** 1 - Japanese + */ + static int lang_mode = 1; + static int trns_flg = 1; + + static int + hash_val(key) + unsigned char *key; + { + int v=0; + + ++key;/* skip first char */ + while(*key) + v = (v * 3 + *(key++)) % 509; + return v; + } + + /* + ** English -> Japanese + */ + static const unsigned char * + get(key, type) + unsigned char *key; + int type; + { + int i = hash_tab[hash_val(key)]; + + while ( 0 <= i ) + { + const struct _jtrns_tab *p = &jtrns_tab[i]; + if ((type == ' ' || p->type == type) && + !strcmp((char *)p->key, (char *)key)) + return p->val; + i = p->next; + } + + return NULL; + } + + /* + ** Japanese -> English + */ + static const unsigned char * + rev_get(val, type) + unsigned char *val; + int type; + { + int i = rhash_tab[hash_val(val)]; + + while ( 0 <= i ) + { + const struct _jtrns_tab *p = &jtrns_tab[i]; + if ((type == ' ' || p->type == type) && + !strcmp((char *)p->val, (char *)val)) + return p->key; + i = p->rev_next; + } + + return NULL; + } + + void + init_jtrns() + { + ; + } + + int + dotogglelang() + { + lang_mode = (!lang_mode); + + switch(lang_mode){ + case 0: + pline("¥ª¥ê¥¸¥Ê¥ë¥â¡¼¥É"); + break; + case 1: + pline("ÆüËܸì¥â¡¼¥É"); + break; + } + return 0; + } + + int + query_lang_mode() + { + return lang_mode; + } + static void + set_lang_mode(ln) + int ln; + { + lang_mode = ln; + } + void + set_trns_mode(flg) + int flg; + { + trns_flg = flg; + } + const char * + jtrns_mon(name, female) + const char *name; + int female; + { + const char *ret; + + if(name==NULL) + return NULL; + + if(!trns_flg) + return name; + + ret = get(name, '@'); + + if( ret==NULL ) + return name; + + if(female < 0) + return ret; + + if(female){ + if(!strcmp(name, "werejackal") || !strcmp(name, "Werejackal")) + return "¥¸¥ã¥Ã¥«¥ë½÷"; + else if(!strcmp(name, "werewolf") || !strcmp(name, "Werewolf")) + return "ϵ½÷"; + else if(!strcmp(name, "wererat") || !strcmp(name, "Wererat")) + return "¤Í¤º¤ß½÷"; + } + else{ + if(!strcmp(name, "werejackal") || !strcmp(name, "Werejackal")) + return "¥¸¥ã¥Ã¥«¥ëÃË"; + else if(!strcmp(name, "werewolf") || !strcmp(name, "Werewolf")) + return "ϵÃË"; + else if(!strcmp(name, "wererat") || !strcmp(name, "Wererat")) + return "¤Í¤º¤ßÃË"; + } + + return ret; + } + const char * + jtrns_obj(type,name) + const int type; + const char *name; + { + const char *ret; + + if(name==NULL) + return NULL; + + if(!trns_flg) + return name; + + ret = (const char *)get(name, type); + if( ret==NULL ) + return name; + else + return ret; + } + #if 0 + /* + ** this 2 functions does not transform + ** if mode is original. + */ + static const char * + jtrns_mon2(name) + const char *name; + { + const char *ret; + + if(!lang_mode || !trns_flg) /* original mode */ + return name; + + if(name==NULL) + return NULL; + + ret = (const char *)get(name, '@'); + if( ret==NULL ) + return name; + return ret; + } + static const char * + jtrns_obj2(type,name) + const int type; + const char *name; + { + const char *ret; + + if(!lang_mode || !trns_flg) /* original mode */ + return name; + + if(name==NULL) + return NULL; + + ret = (const char *)get(name, type); + if( ret==NULL ) + return name; + else + return ret; + } + #endif + /* + ** + */ + const char * + etrns_mon(name) + const char *name; + { + const char *ret; + + if(name==NULL) + return NULL; + + ret = (const char *)rev_get(name, '@'); + if( ret==NULL ) + return name; + else + return ret; + } + + const char * + etrns_obj(type, name) + const int type; + const char *name; + { + const char *ret; + + if(name==NULL) + return NULL; + + ret = (const char *)rev_get(name, type); + if( ret==NULL ) + return name; + else + return ret; + } *** /dev/null Wed Sep 24 22:14:55 1997 --- ./dat/jrumors.fal Tue Jul 22 23:18:00 1997 *************** *** 0 **** --- 1,397 ---- + ¡Ö²¶¤¬»à¤ó¤À¤éºÇ½é¤ËÅ·¹ñ¤Ç¸«¤ë¤Î¤Ï¥¹¥³¥¢¤Î¥ê¥¹¥È¤«¤Ê¡©¡× + ¥Ï¥Ã¥­¥ó¥°¤ÎÂè°ìˡ§¡§ ½Ð¤ë¤Î¤ÏÆþ¤ë¤Î¤è¤êÆñ¤·¤¤¡¥ + ¥Ï¥Ã¥­¥ó¥°¤ÎÂèÆóˡ§¡§ ¥Õ¥¡¡¼¥¹¥È¥¤¥ó¡¤¥Õ¥¡¡¼¥¹¥È¥¢¥¦¥È¡¥ + ¥Ï¥Ã¥­¥ó¥°¤ÎÂ軰ˡ§¡§ ºÇ¸å¤Î°ì·â¤Ï¤È¤Ã¤Æ¤âÄˤ¤¡¥ + ¥Ï¥Ã¥­¥ó¥°¤ÎÂè»Íˡ§¡§ Æþ¸ý¤Ï½Ð¸ý¤Ç¤¢¤ë¡¥ + ¥á¥¤¥ë¥Ç¡¼¥â¥ó¤Ë²½¤±¤¿¥«¥á¥ì¥ª¥ó¤¬¤¿¤Þ¤Ë±ê¤Î´¬Êª¤ò»ý¤Ã¤Æ¤¯¤ë¡¥ + ¥³¥«¥È¥ê¥¹¤Î»àÂΤÏÉå¤ë¤³¤È¤¬¤Ê¤¤¤ÈÊݾڽñ¤Ë½ñ¤¤¤Æ¤¢¤ë¡¥ + ¥³¥«¥È¥ê¥¹¤Î»àÂΤȤϥȥ«¥²¤Î»àÂΤΤ³¤È¤Ç¤¢¤ë¡¥ + ¥É¥é¥´¥ó¤È¤Ï±ê¤Î´¬Êª¤ò¿©¤Ù¤¿¼Ø¤Î¤³¤È¤Ç¤¢¤ë¡¥ + °Å¤¤²óÏ­¤Ïƶ»¡ÎϤò¹â¤á¤ë¡¥ + µ±¤¯Ìô¤ÏÇ®¤¹¤®¤Æ°û¤à¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥ + ¤¢¤ë¼ï¤ÎËâ½ü¤±¤ÏÈÖʼ¤Î¹¶·â¤òËɤ°¤³¤È¤¬¤Ç¤­¤ë¡¥ + ¥È¥«¥²¤Î»àÂΤÏÉÔ»à¤ÎÀ¸¤­Êª¤òÅڤ˴Ԥ¹¸ú²Ì¤¬¤¢¤ë¡¥ + ¥í¥ó¥°¥ï¡¼¥à¤ÏºÆµ¢Åª¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¥°ìÂΤɤ¦¤ä¤Ã¤Æ¹¶·â¤¹¤ê¤ã¤¤¤¤¤ó¤À¤¤¡© + ²øʪ¤Î¿´¶­¤Ï¤Þ¤µ¤Ë¤ª¤â¤Á¤ã¤Î¥í¥Ü¥Ã¥È¤À¡¥ + ¥Ë¥ó¥Õ¤ÏÈà½÷¤ÎËÜÅö¤Î̾Á°(¥í¡¼¥ì¥é¥¤)¤Ç¸Æ¤Ð¤ì¤ë¤È¤È¤Æ¤â´î¤Ö¡¥ + ¥À¥ó¥¸¥ç¥ó¥Þ¥¹¥¿¡¼¤òÀ©¸æ¤¹¤ë»ØÎؤ¬¤¢¤ë¤é¤·¤¤¡¥ + Æüì¤ÊÌô»Ø¤Î»ØÎؤÏËâË¡¤ò¤«¤±¤Ê¤¤¸Â¤ê»È¤¨¤Ê¤¤¡¥ + ɳ¤ò̵ܤÎÆþ¸ý¤Ë·ë¤ó¤ÇÃÖ¤¯¤ÈÌ»Ҥˤʤé¤Ê¤¤¡¥ + ¾ó¤Ï¾²¤Ë¤·¤Ð¤é¤¯ÃÖ¤¤¤Æ¤¤¤ë¤È»ÈÍѲÄǽÎ̤¬Áý¤¨¤ë¡¥ + ưʪ±à¤ò¸«³Ø¤¹¤ë¤³¤È¤Ï¤¤¤í¤ó¤Êưʪ¤Ë²ñ¤¨¶µ°é¾åÈó¾ï¤Ë¤è¤í¤·¤¤¡¥ + ¶õ¼ª¤Î¾ó¤ÏÍÓ»ô¤¤¤Î¾ó¤è¤ê´í¸±¤ÊÉð´ï¤Ç¤¢¤ë¡¥ + ¿¶Æ°¤Î¾ó¤Ïƶ·¢¤ò´°Á´¤ËÄÙ¤·¤Æ¤·¤Þ¤¦¤À¤í¤¦¡¥ + ¾¡¼Ô¤Ï·è¤·¤ÆÅÓÃæ¤Ç¤ä¤á¤¿¤ê¤·¤Ê¤¤¡¥ÅÓÃæ¤Ç¤ä¤á¤¿¤â¤Î¤â¾¡¼Ô¤Ç¤Ï¤Ê¤¤¡¥ + ˾¤ß¡©¤è¤·¡¤Àꤤ¥¯¥Ã¥­¡¼¤òºî¤ë¤¬¤è¤¤¡¥ + ¥ß¥ß¥Ã¥¯¤¬¶²¤¤¡©¿¿¼Â¤Î»ØÎؤò¿È¤Ë¤Ä¤±¤ë¤Î¤À¡¥ + Á´¤Æ¤Î²øʪ¤Ï¼Ù°­¤Ëºî¤é¤ì¤Æ¤¤¤ë¤¬¡¤¤¢¤ë¼ï¤Î²øʪ¤Ï¤µ¤é¤Ë¼Ù°­¤Ç¤¢¤ë¡¥ + ¤µ¤Þ¤è¤¦ÌܤÏÇظ夫¤é¹¶·â¤¹¤ë¤è¤¦¿´¤¬¤±¤è¡¥ + ¥¨¥ë¥Õ¤Î¥¯¥í¡¼¥¯¤ò¿È¤Ë¤Ä¤±¤Æ¤ë¤È¥»¥ó¥¹¤¬¤è¤¤¤È¸À¤ï¤ì¤ë¡¥ + ¤È¤­¤É¤­¾®¤µ¤ÊʪÂΤ¬Â礭¤ÊʪÂΤβ¼¤Ë±£¤ì¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ë¡¥ + ¥Ð¥ë¥í¥°¤ÏÃϲ¼20³¬¤è¤ê¾å¤Ç¤Ï½Ð¤Æ¤³¤Ê¤¤¡¥ + ¥Ð¥Ê¥Ê¤ÎÈé¤Ï·ÙÈ÷°÷¤ËÂФ·¤ÆÆä˸ú²ÌŪ¤Ç¤¢¤ë¡¥ + ¥Ð¥Ê¥Ê¤ò¿©¤Ù¤ë¤È¤­¤ÏÃí°Õ¤»¤è¡¥²øʪ¤¬Èé¤Ç³ê¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥ + ̵ܤϤȤäÈÈ´¤±¤¿¤Û¤¦¤¬¤è¤¤¡¥¤µ¤â¤Ê¤±¤ì¤ÐÂç²ø²æ¤ò¤¹¤ë¡¥ + ¥Ë¥È¥í¥°¥ê¥»¥ê¥ó¤ÎÌô¤Ë¤Ïµ¤¤ò¤Ä¤±¤è¡¥¿´¶Ú¹¼ºÉ¤ÎÌô¤¸¤ã¤Ê¤¤¤¾¡¥ + µ¤¤ò¤Ä¤±¤í¡ª¾ó¤ò»È¤¦¤È¤­¤Ë¤Ï¤¤¤Ä¤Ç¤âÇúȯ¤Î´í¸±¤¬È¼¤¦¡¥ + Ãϲ¼23³¬¤ò±Û¤¨¤ì¤Ð¼«Ê¬¤ÎÉô²°¤Ç³Ú±£µï¤Ç¤­¤ë¡¥ + ·õ¤òÍ¤º¤ËÃåÂؤ¨¤ë¡©¸æ¾éÃ̤ò¡ª + ¥³¥«¥È¥ê¥¹¤Ï¶À¤Ë¼Ì¤Ã¤¿¼«Ê¬¤Î´é¤ò¸«¤ë¤ÈÀФˤʤäƤ·¤Þ¤¦¡¥ + ̵ܤǤϰû¿©Êª¤Î»ý¤Á¹þ¤ß¤ò¶Ø»ß¤·¤Æ¤¤¤ë¡¥ + °Å¤¤Éô²°¤Ç¤Ï¼Ì¿¿¤ò¸½Áü¤Ç¤­¤ë¤é¤·¤¤¡¥ + °Å¤¤Éô²°¤Ï¡Ö´°Á´¡×¤Ë°Å¤¤¤Î¤Ç¤Ï¤Ê¤¤¡¥Ìܤ¬°Å°Ç¤Ë´·¤ì¤ë¤Þ¤ÇÂԤäƤߤ补¡¥¡¥ + ¥Ç¥Ó¥Ã¥È¥í¥ó¥É¥óÛ©¤¯¡§¡ÖËÁ¸±¼Ô¤è¡ª¥È¥«¥²¤Î»àÂΤò¥³¥«¥È¥ê¥¹¤ËÂФ·¤ÆÉð´ï¤È¤»¤è¡ª¡× + ¥Ç¥¹¤Ï±ê¤ËÊñ¤Þ¤ì¤¿¤È¤­¿ÍÀ¸¤Î¶µ·±¤ò¶µ¤¨¤Æ¤¯¤ì¤ë¡¥ + Ëâ¿À¤ÏÁÎη¤äÆôÁΤòÁþ¤ó¤Ç¤¤¤ë¡¥ + »Ùʧ¤¤¤ò˺¤ì¤Æ¤Ê¤¤¤«¤¤¡© + ¥Þ¥Þ¤Ë½¦¤¤¶ô¤¤¤ò¤·¤Á¤ã¤¤¤±¤Ê¤¤¤è¤¦¤Ë¸À¤ï¤ì¤Æ¤Ê¤¤¤«¤¤¡© + ÀäÂÐŪ¤ËÌ̤·¤Æ¤¤¤ëŨ¤ËÀäÂÐÌ¿Ã椹¤ë¤è¤¦ÀäÂÐŪ¤Ë¤ä¤ì¡ªÀäÂФËÀµ¤·¤¤ÀäÂÐÊý¸þ¤À¡¥ + ²¿¡©¤ª¶â¤¬Íߤ·¤¤¡©¥Õ¥©¡¼¥È¥í¡¼¥Ç¥£¥ª¥¹ÈÖʼÁȹ礬¤¢¤Ê¤¿¤Î´üÂԤˤªÅú¤¨¤·¤Þ¤¹¡¥ + ¿©¤Ù¤¹¤®¤ÏÂΤˤ褯¤Ê¤¤¡¥¤·¤ã¤Ã¤¯¤ê¤¬»Ï¤Þ¤ë¤¾¡ª + »Å»öÃæ¤Ë¥Ï¥Ã¥¯¤ÇÍ·¤ó¤Ç¤Ï¤Ê¤é¤Ê¤¤¡¥¥Ü¥¹¤ËÅܤé¤ì¤ë¤¾¡ª + ÈëÌ©¤ÎÈâ¤ò¸«¤Ä¤±¤Æ¤â¾¸À¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥¤½¤ó¤Ê¤ò¤³¤È¤·¤¿¤éÈëÌ©¤¸¤ã¤Ê¤¯¤Ê¤ë¡¥ + 20ºÐ̤Ëþ¤Î̤À®Ç¯¤¬¿ì¤Ã¤Ñ¤é¤¤¤ÎÌô¤ò°û¤ó¤À¤éÏ´²°¹Ô¤­¤Ë¤Ê¤ë¡¥ + ¤¦¤Ì¤Ü¤ì¤ò¼Î¤Æ¡¤ÊõÀФò½èʬ¤»¤è¡ª¥¹¥ê¤¬¤¦¤í¤Ä¤¤¤Æ¤¤¤ë¤ó¤À¤¾¡ª + ¤Ë¤ó¤Ë¤¯¤ò10³ô¤Û¤É¿©¤Ù¤ë¤È¡¤2¥Þ¥¹»ÍÊý¤Û¤É¿Í´Ö¤ò±ó¤¶¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + µðÂ祦¥Ê¥®¤¬Å¥¤ÎÄì¤Ë±£¤ì¤Æ¤¤¤ë¡¥¥æ¥Ë¥³¡¼¥ó¤Î³Ñ¤Ç¿å¤òÀ¶¤á¡¤¸«¤¨¤ë¤è¤¦¤Ë¤»¤è¡¥ + ´ê¤¤¤Î¾ó¤Ç¤¢¤Ê¤¿¤Î˾¤à¤â¤Î¤ò¾²¤Ë¹ï¤á¡ª + ºÇ½ªÅª¤ËÌ¥ÎÏŪ¤ÊÁÇÁ᤯ƨ¤²¤¿¥Ë¥ó¥Õ¤ò¾Î»¿¤¹¤ë¤³¤È¤Ë¤Ê¤í¤¦¡¥ + ¥·¥å¡¼¤Ã¤È¤¤¤¦²»¤òʹ¤¤¤¿¤³¤È¤¬¤¢¤ë¤«¡©¤ªÁ°¤¬Ê¹¤¤¤¿¤³¤È¤Ê¤¤¤Î¤òÃΤäƤ뤱¤É¡¥ + ¥É¥é¥´¥ó¤Î»àÂΤò»ý¤Á¾å¤²¤¿¤³¤È¤¬¤¢¤ë¤«¤¤¡© + ¥ì¥ª¥¯¥í¥Ã¥¿¤¬Å·¶é¤ÎÉñ¤¤¤òÍ٤äƤ¤¤ë¤Î¤ò¸«¤¿¤³¤È¤¬¤¢¤ë¤«¤¤¡© + Éð´ï¤¬¥é¥·¥ã¾õ¤Ëµ±¤¤¤¿¤Î¤ò¸«¤¿¤³¤È¤¬¤¢¤ë¤«¤¤¡© + Ź¼ç¤ò¼ê¤Ê¤º¤±¤¿¤³¤È¤¬¤¢¤ë¤«¤¤¡© + ÁҸˤÎÈÖʼ¤Ë·ê¤ò³«¤±¤è¤¦¤È¤·¤¿¤³¤È¤¬¤¢¤ë¤«¤¤¡© + ɳ¤ò¶¯²½¤·¤¿¤³¤È¤¬¤¢¤ë¤«¤¤¡© + ¤µ¤Þ¤è¤¦Ìܤϥ¢¥í¥Ï¥·¥ã¥Ä¤ÎÁ°¤Ë¤ÏΩ¤¿¤Ê¤¤¡¥ + ¿Ç»¡¤Ï¤È¤Ã¤Æ¤âÄˤ¤¡¥ + µðÂ礳¤¦¤â¤ê¤ÏµðÂçµÛ·ìµ´¤ËÊѿȤ¹¤ë¡¥ + ¾ã³²Êªµ­Ç°Æü¤Ë¤Ï¾ã³²Êª¶¥Áè¤ò¤»¤è¡¥ + º£ÈÕ¤¬È¾·î¤À¡¥¾¯¤Ê¤¯¤È¤â¿··î¤è¤ê¤Ï¤Þ¤·¤Ê¤Ï¤º¤À¡¥ + ¤ª´ê¤¤½õ¤±¤Æ¡ª¤¢¤¿¤·¤ÏÀꤤ¥¯¥Ã¥­¡¼³ô¼°²ñ¼Ò¤ÎÏ´²°¤ËÊĤ¸¹þ¤á¤é¤ì¤Æ¤¤¤ë¤ï¡¥ + ²ÈÇ­¤Ï9¤Ä¤ÎÌ¿¤ò»ý¤Ã¤Æ¤¤¤ë¡¥»ÒÇ­¤Ï¤¿¤Ã¤¿1¤Ä¤À¡¥ + ¤É¤Î¤¯¤é¤¤¿å¤òƧ¤ó¤Ç¤¤¤é¤ì¤ë¡© + ¥Ï¥é¥Ø¥ê¡©²¼¤Î³¬¤Ë¤ÏÂô»³¿©ÎÁ¤¬¤¢¤ë¤¾¡¥ + ¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤ò»ý¤Ã¤Æ¤¤¤ë¤È¥á¥¤¥ë¥Ç¡¼¥â¥ó¤ò¹¶·â¤Ç¤­¤Ê¤¤¤À¤í¤¦¡¥ + Ź¼ç¤À¤Ã¤¿¤é¡¤¼«Í³¤Ëʪ¤ò»ý¤Á½Ð¤»¤ë¤¾¡¥ + ¾å¼ê¤¯¤¤¤¯ÊýË¡¤¬È½¤é¤Ê¤¤¤Ê¤é¡¤¾å¼ê¤¯¤¤¤«¤Ê¤¤ÊýË¡¤ò³Ú¤·¤á¤Ð¤è¤¤¡¥ + ËâË¡»È¤¤¤¬¼Ù°­¤À¤È»×¤¦¤Î¤Ê¤é¡¤¾­·³¤Ë²ñ¤Ã¤Æ¤ß¤ë¤È¤è¤¤¡¥ + Ìܤ¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤Æ¤â¡¤¥Ú¥Ã¥È¤Î¸¤¤¬ÌÕƳ¸¤¤Ë¤Ê¤ë¤³¤È¤ò´üÂÔ¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡¥ + ¤È¤Æ¤â¤¤¤¤µ¤»ý¤Ë¤Ê¤ê¤¿¤«¤Ã¤¿¤é¡¤µðÂç¤Ê¤â¤Î¤ò¿©¤Ù¤Ê¤¤¤È¤¤¤±¤Ê¤¤¡¥ + ÂΤòÉ⤫¤»¤¿¤«¤Ã¤¿¤é¡¤¤µ¤Þ¤è¤¦Ìܤò¿©¤Ù¤ë¤Î¤¬¤è¤¤¡¥ + ¤â¤·¼«Ê¬¤ÎÍ©Îî¤Ë»¦¤µ¤ì¤¿¤Ê¤é¡¤¥¹¥³¥¢¤¬Áý²Ã¤¹¤ë¡¥ + ÎîÎϤò¹â¤á¤ëÊýË¡¡§¼«Ê¬¤ÎÍ©Îî¤ò¼ê¤Ê¤º¤±¤è¡¥ + °ÎÂç¤Ê¤ë¿Í´Ö¤ò¸«¤Ä¤±¤ë¤¿¤á¤ËÁ°¿Ê¤»¤è¡¥ + ¿¹¤ÎÆâÉô¤Î²øʪ¤ò¸«¤Ä¤±¤ë¤³¤È¤Ï´Êñ¤À¡¥ + ÍÈâ¤Î²¼¤Ë¤ÏÊ̤ÎÍÈ⤬¤¢¤ë¡¥Íî¤Á³¤±¤è¡ª + »ø¤ÎÅá¤Ï¤È¤Æ¤â±Ô¤¤¡¥¼«Ê¬¼«¿È¤òÀÚ¤é¤Ê¤¤¤è¤¦¤ËÃí°Õ¤»¤è¡¥ + ¿´¤ò̵¤Ë¤¹¤ëÊýË¡¡§Ìµ¿§¤ÎÌô¤ò°û¤à¤Î¤À¡¥ + üËö¤ò½³¤Ã¤¿¤È¤³¤í¤Ç²øʪ¤Ï½ý¤Ä¤«¤Ê¤¤¡¥ + »¦¿Í˪¤Ï¤½¤Î½÷²¦¤ò»¦¤¹¤Þ¤Ç¸½¤ï¤ì¤Ä¤Å¤±¤ë¡¥ + »¦¿Í¥¦¥µ¥®¤Ï¤Ë¤ó¤¸¤ó¤Ç¤Î¤ß¼ê¤Ê¤º¤±¤é¤ì¤ë¡¥ + ºÇ¿·¤Î¥Ë¥å¡¼¥¹¡© fj.rec.games.roguelike ¤ò .newsrc¤Ë½ñ¤¯¤Î¤À¡ª + ¼öʸ¤Î¾§¤¨¤«¤¿¤ò½¬¤¤¤¿¤¤¡© ¥Í¥Ã¥È¥Ï¥Ã¥¯¤òÍ·¤Ö¤Î¤À¡ª + ¥ì¥×¥é¥³¡¼¥ó¤ÏÈëÌ©¤ÎÉô²°¤Ë¥´¡¼¥ë¥É¤ò±£¤·¤Æ¤¤¤ë¡¥ + Ê⤯¤¿¤á¤Ë»Ø¤ò yulkjhnb ¤Î¥­¡¼¤Î¾å¤ËÃÖ¤³¤¦¡¥ + ¸½¼Â¤òľ»ë¤·¤è¤¦¡§º£²ó·¯¤Ï¾¡Íø¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥ + ±ã²ñ¤ò¤·¤è¤¦¡¤¿ì¤Ã¤Ñ¤é¤¤¤ÎÌô¤ò°û¤â¤¦¡ª + ¼ò²°¤Ï·è¤Ã¤·¤Æ¼ò¤ò°û¤Þ¤Ê¤¤¡¨Èà¤é¤ÏÆóÅÙˬ¤º¤ì¤é¤ì¤ë¤Î¤ò·ù¤¦¡¥ + º£ÈդϷ¤À¡¥¤ä¤á¤¿¤Û¤¦¤¬¤¤¤¤¤ó¤¸¤ã¤Ê¤¤¤«¤¤¡© + ¼«Ê¬¤ÎÍ©Îî¤Ë²ñ¤¦¤È¤«¤Ê¤ê¤Î±¿¤ò¼º¤¦¡¥ + Åê»ñ¤¹¤ë¤¿¤á¤Î¶â¡©ËâË¡¤Îµ­Ç°ÁҸˤζɽêʬ´ôÅÀ¤«¤é¼è¤Ã¤Æ¤¯¤ë¤¬¤è¤¤¡¥ + ²øʪ¤Ï¤¢¤é¤æ¤ë¤È¤³¤í¤Ç·¯¤òÂǤÁ¤Þ¤«¤½¤¦¤È¡¤¤É¤³¤«¤é¤È¤â¤Ê¤¯¤ä¤Ã¤ÆÍè¤ë¡¥ + ²øʪ¤Ï·¯¤¬·ê·¡¤ê¤·¤Æ¤¤¤ë´Ö¤Ï̲¤Ã¤Æ¤¤¤ë¤¬¡¤·è¤·¤ÆÈè¤ì¤Æ¤¤¤ë¤«¤é¤Ç¤Ï¤Ê¤¤¡¥ + ¤Û¤È¤ó¤É¤Î²øʪ¤Ï¤Ò¤­Æù¤ò¹¥¤à¡¥¤³¤ì¤¬·¯¤ò¹¶·â¤¹¤ëÍýͳ¤À¡¥ + ¥Í¥Ã¥È¥Ï¥Ã¥¯¤Î¤Û¤È¤ó¤É¤Î¥Ð¥°¤Ï¾²¤Î¾å¤Ë¤¤¤ë¡¥ + ¤«¤éÁû¤®¤¬È¯À¸¡¥ + ¥Þ¥ë¥Á¥×¥ì¥¤¥ä¡¼¥Í¥Ã¥È¥Ï¥Ã¥¯¤Ã¤Æ¤Î¤Ï¿ÀÏäÀ¡¥ + ¥Í¥Ã¥È¥Ï¥Ã¥¯¤Ï¾ï½¬Êʤ¬¤Ä¤­¤ä¤¹¤¤¡¥·¯¤Ï¤â¤¦¼êÃÙ¤ì¤À¡¥ + Ź¼ç¤ËÉÊʪ¤ÎÃÍÃÊ°ìÍ÷¤ò¿Ò¤Í¤Æ¤Ï¤¤¤±¤Ê¤¤¡¥ + +5¥·¥ã¥Ù¥ë¤Ç¤Ò¤Ã¤Ñ¤¿¤«¤ì¤¿¤Î¤Ç¤Ê¤¤¸Â¤ê¡¤ÌÚ¤òdz¤ä¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡¥ + ¼ê¤¬µ±¤¤¤Æ¤¤¤ë¤È¤­¤Ë¿©»ö¤ò¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥ + ²øʪ¤Ë¹¶·â¤µ¤ì¤Æ¤âµ¤¤Ë¤¹¤ë¤Ê¡§¤½¤¤¤Ä¤é¤ÏÁݽüÉؤΤ«¤ï¤ê¤À¤«¤é¡¥ + ¥æ¥Ë¥³¡¼¥ó¤ÇÇϤȤӤò¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥ + ¼ö¤ï¤ì¤¿Íî½ñ¤òƧ¤ó¤Ç¤Ï¤Ê¤é¤Ê¤¤¡¥ + ¥«¥á¥é¤ò»ý¤Ã¤¿¤Þ¤Þ±Ë¤¤¤Ç¤Ï¤Ê¤é¤Ê¤¤¡§Èï¼ÌÂΤʤó¤Æ¤Ê¤¤¤ó¤À¤«¤é¡¥ + »¬¤Î²øʪ¤òͶ¤¤½Ð¤¹¤è¤¦¤Ë¥Ú¥Ã¥È¤ò¶µ°é¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥ + ËâË¡¤Î¥Õ¥£¡¼¥ë¥ÉÆâ¤Ç¤Î¥é¥ó¥À¥à¥¸¥§¥Í¥ì¡¼¥¿¤ò¿®ÍѤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥ + »à¤Î¾ó¤ò»È¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥ + ¤É¤Î³¬¤Ë¤âŹ¤ÏÆ󸮤ʤ¤¡¥Ìµܤˤϳ¬¤¬¤Ê¤¤¡¥¤À¤«¤é¡¥¡¥¡¥¡¥ + Éüµ¢²Äǽ¤Ê¤è¤¦¤Ë¤µ¤ì¤Æ¤¤¤ë¤³¤Î¥·¥¹¥Æ¥à¤À¤¬±¿Ì¿¤Î¤É¤ó¤Ê°ìÉôʬ¤âºÆÀ¸¤Ç¤­¤Ê¤¤¡¥ + Á´¤Æ¤Î±½¤¬¤³¤Îʸ¾Ï¤Î¤è¤¦¤ËñÙ¤½¤¦¤È¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡¥ + ¥Ë¥ó¥Õ¤È´Ç¸îÉؤÏåºÎï¤Ê»ØÎؤò¹¥¤à¡¥ + ¥Ë¥ó¥Õ¤Ï¥Ö¥í¥ó¥É¤À¡¥·¯¤Ï¿À»Î¤«¤Ê¡© + ¥æ¥Ë¥³¡¼¥ó¤Ë̵²ÁÃͤΥ¬¥é¥¹¤ò¤¢¤²¤ë¤³¤È¤ÏÃ×̿Ū¤Ê´Ö°ã¤¤¤Ç¤¢¤í¤¦¡ª + ǯ´ó¥Ï¥Ã¥«¡¼¤Ï»à¤Ì¤³¤È¤¬¤Ê¤¤¡¥¼ã¤¤¤ä¤Ä¤Ï¤è¤¯»à¤Ì¡¥ + ÊÄŹÁ°¤ËŹ¤òµî¤é¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥ + ¥Û¥à¥ó¥¯¥ë¥¹¤Ï°ìÆüÃæ°å¼Ô¤Ë¶áÉÕ¤«¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡¥ + ¤Á¤ç¤¦¤Éº£¡¤¤â¤¦°ì³¬²¼¤ê¤¿¤È¤³¤í¤Ç狼¤¬»¦¤µ¤ì¤½¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥ + ¼Ù°­¤Ê°À­¤ÎËÁ¸±¼Ô¤Î¤ß¤¬»ô¤¤¸¤¤ò»¦¤¹¤³¤È¤ò¹Í¤¨¤ë¤½¤¦¤À¡¥ + º®Æ٤˰¤¹¤ë¼Ù°­¤Ê¼Ô¤Î¤ß¤¬Ì²¤Ã¤Æ¤¤¤ë²øʪ¤ò»¦¤¹¤½¤¦¤À¡¥ + ËâË¡»È¤¤¤Î¤ß¤¬ËâË¡¤ÎÅ«¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡¥ + ËÜÅö¤Î¥È¥é¥Ã¥Ñ¡¼¤Î¤ß¤¬æ«¤«¤éÈ´¤±¤À¤»¤ë¡¥ + ¿¿¤ÎËâË¡»È¤¤¤Î¤ß¤¬´¬Êª¤ò½ñ¤¯¤È¤¬¤Ç¤­¤ë¡¥ + ºîÀï¡Ø²á¾ê»¦Ù¤¡Ù¤¬¤¤¤Þ»Ï¤Þ¤Ã¤¿¡¥ + ¤µ¤­¤Û¤É¤Î¥¦¥ï¥µ¤Ï̵»ë¤·¤Æ¤¯¤À¤µ¤¤¡¥ + ¥¨¥Æ¥£¥ó¤ËÊѲ½¤»¤è¡¥Å¨¤È´é¤È´é¤È´é¤Ç¸þ¤­¤¢¤¨¤ë¡¥ + µ§¤ê¤ÏËâ¿À¤ò¶²¤ì¤µ¤»¤ë¡¥ + ¢ö¤æ¤Ã¤¿¤ê¤È¤·¤¿¥«¥í¥ó[Charon(4x)]¤Îή¤ì¤Ë±è¤Ã¤Æ¤Î¥Ü¡¼¥ÈÍ·¤Ó[Row(3x)]¡¥»à¤È¤Ïñ¤Ê¤ëÌ´¤À¡¥ + ¥é¥ó¥Ë¥ó¥°¤Ï­¤Ë¤è¤¤¡¥ + ͦµ¤¤òʳ¤¤µ¯¤»¡ª¤½¤¦¤¹¤ê¤ãÆü¾ïÀ¸³è¤Ç¤âͦµ¤¤òʳ¤¤µ¯¤»¤ë¡¥ + ¿åϳ¤ì¡©Ï³¤ì·ê¤Î¤¢¤ë¥Ñ¥¤¥×¡©¼¾ÅÙ¤¬¾å¾º¡©Ç۴ɹ©¤ò¾¤´­¤»¤è¡¥ + Segmentation fault (core dumped). + Ź¼ç¤Ï¤È¤­¤É¤­Ï·Îð¤Î¤¿¤á»à¤Ì¡¥ + ¥Þ¥Ë¥å¥¢¥ë¤Ë¤è¤ë¤È¤¤¤¯¤Ä¤«¤ÎÌÂÏ©(¤È¤¯¤Ë¾®¤µ¤¤¤â¤Î)¤Ë¤ÏÈ´¤±¤é¤ì¤Ê¤¤¤â¤Î¤¬¤¢¤ë¡¥ + ¥¹¥Õ¥£¥ó¥¯¥¹¤¬½Ð¤¹ÌäÂê¤Ë¤ÏÅú¤¨¤Î¤Ê¤¤¤â¤Î¤â¤¢¤ë¡¥ + ¡Ø̵¡Ù¤¬Åú¤¨¤Î¤È¤­¤â¤¢¤ë¡¥ + »ÄÇ°¤Ç¤·¤¿¡¥º£²óÀꤤ¤ÏÆþ¤Ã¤Æ¤Þ¤»¤ó¡ª¼¡²ó¤Î¥¯¥Ã¥­¡¼¤Ë´üÂÔ¤·¤Þ¤·¤ç¤¦¡¥ + ¿©ÎÁ¤òºî¤ë´¬Êª¤Ï¤½¤ì¤¬É¬Íפˤʤë¤Þ¤Ç»È¤ï¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤ª¤±¡¥ + ÆÍÁ³¡¤Ìµܤ¬Êø¤ì¤¿¡¥¡¥¡¥ + ¥á¥¤¥ë¥Ç¡¼¥â¥ó¤ò¼ê¤Ê¤º¤±¤ë¤³¤È¤Ï¥·¥¹¥Æ¥à¥»¥­¥å¥ê¥Æ¥£°ãÈ¿¤Ç¤¢¤ë¡¥ + Ä°½°¤Ï¤È¤Æ¤â´è¸Ç¤À¤«¤é¡¤¤Ä¤Ã¤³¤ßÌò¤Ï̵ܤǤĤ䳤ޤʤ¤¤Û¤¦¤¬¤¤¤¤¤é¤·¤¤¤¾¤©¡¥ + ¥ì¥×¥é¥³¡¼¥ó¤Ï¾®¤µ¤Ê±£¤·Éô²°¤ËÊõ¤ò±£¤·¤Æ¤¤¤ë¡¥ + Ť¤¤Û¤É¾ó¤Ï¤è¤¤¡¥ + ËâË¡¤Î¸ÀÍÕ¡ÖXYZZY¡× + ½¾½ç¤Ï¤¢¤Ê¤¿¤Îbone file¤ò·Ñ¾µ¤¹¤ë¡¥ + ú¹£¤Ï°Å¤¯¿¼¤¤¡¥»ä¤Ï¡¤¿²¤ëÁ°¤Ë¹Ô¤±¤ë¥ì¥Ù¥ë¤Ë¤·¤Æ¤¤¤ë¡¥ + ¥À¥¤¥Ê¥Þ¥¤¥È¤ò̵ܤǻȤ¦¤Î¤Ï´í¸±¤À¡¥ + £Õ£Î£É£Ø¥Ð¡¼¥¸¥ç¥ó¤Ë¤Ï¥ï¡¼¥à¤Ï¤¤¤Ê¤¤¡¥ + ¤³¤Î³¬¤Ë¤Ï櫤¬¤¢¤ë¡¥ + ¥¢¥¹¥â¥Ç¥¦¥¹¡¤¥ª¡¼¥±¥¹¡¤¥¤¥§¡¼¥Î¥´¥¥¡¤¥¸¥ç¥¦¥Ó¥ì¥Ã¥¯¥¹¤ÏˡΧ»ö̳½ê¤¸¤ã¤Ê¤¤¤½¤¦¤À¡¥ + ¥²¥ê¥å¡¼¥ª¡¼¥ó¤Ë¤Ï´í¸±¤ÊÁлҤ¬¤¤¤ë¤½¤¦¤À¡¥µ¤¤ò¤Ä¤±¤í¡ª + ¥á¥Ç¥å¡¼¥µ¤Ï¶²¤·¤¤¥Ú¥Ã¥È¤òÀ¸¤ß½Ð¤¹¤½¤¦¤À¡¥ + ¥Í¥Ã¥È¥Ï¥Ã¥¯¤Î¥Ð¥°¤Ï¥·¥§¥ë¥À¥ó¤¬·×²è¤·¤¿¤â¤Î¤À¤½¤¦¤À¡¥ + ¥Í¥Ã¥È¥Ï¥Ã¥¯¤Ë¤Ï256¸Ä¤ÎÉ÷Ì£¤¬¤¢¤ë¤½¤¦¤À¡¥ + ¥Í¥Ã¥È¥Ï¥Ã¥¯¤Ïñ¤Ê¤ë¥³¥ó¥Ô¥å¡¼¥¿¡¼¥²¡¼¥à¤À¤½¤¦¤À¡¥ + ¥Í¥Ã¥È¥Ï¥Ã¥¯¤Ïñ¤Ê¤ë¥³¥ó¥Ô¥å¡¼¥¿¡¼¥²¡¼¥à°Ê¾å¤Î¤â¤Î¤¬¤¢¤ë¤½¤¦¤À¡¥ + ¥Í¥Ã¥È¥Ï¥Ã¥¯¤Î¸ºß°ÕµÁ¤Ê¤É¤Ê¤¤¤½¤¦¤À¡¥ + »Ò¶¡¤Î¥É¥é¥´¥ó¤Ï¾®¤µ¤¹¤®¤Æ¡¤¹¶·â¤Ê¤É¤Ç¤­¤Ê¤¤¤½¤¦¤À¡¥ + ¹õ¥×¥ê¥ó¤Ïñ¤ËÃ㿧¥×¥ê¥ó¤¬Éå¤Ã¤¿¤â¤Î¤À¤½¤¦¤À¡¥ + ¹õÍÓ¤«¤é¤Ï100%¥¦¡¼¥ë¤Î³ó¤ò3¤Äºî¤ì¤ë¤½¤¦¤À¡¥ + Çò»æ¤Î´¬Êª¤ÏÇò»æ¤Î¾®ÀÚ¼ê¤Î¤è¤¦¤Ê¤â¤Î¤À¤½¤¦¤À¡¥ + ¥â¥ê¥¹¤È¤¤¤¦Ì¾¤ÎÇ­¤Ï9¤Ä¤ÎÀ¸Ì¿¤ò»ý¤Ã¤Æ¤¤¤ë¤½¤¦¤À¡¥ + ̵Ŵˤ¤ÊÇ㤤ʪµÒ¤ÏŹ¤ÎÃæ¤ÇÅò¿å¤Î¤´¤È¤¯¶â¤ò»È¤¦¤½¤¦¤À¡¥ + ¥À¥¤¥ä¥â¥ó¥É¤Î¸¤¤Ïï¤Ë¤È¤Ã¤Æ¤âºÇÂç¤Îͧ¤À¤½¤¦¤À¡¥ + ¥É¥ï¡¼¥Õ¤Îµ®Â²¤ÏÃå¤Æ¤¤¤ë³»¤¬·Ú¤¤¤Î¤Ç¡¤¤Ä¤ë¤Ï¤·¤ò»ý¤Æ¤ë¤½¤¦¤À¡¥ + ¤µ¤Þ¤è¤¦Ìܤϥá¥Ç¥å¡¼¥µ¤òÂǤÁÉ餫¤¹¤½¤¦¤À¡¥ + Àꤤ¤Ï°ì¹Ô¤·¤«¤Ê¤¤¤Î¤Ç¡¤¹Ô´Ö¤òÆɤळ¤È¤Ï¤Ç¤­¤Ê¤¤¤½¤¦¤À¡¥ + Àô¤ÏÉáÄ̤Îdz¤¨¤ë´Ö·çÀô¤Î¤è¤¦¤Ë¤Ï¸«¤¨¤Ê¤¤¤½¤¦¤À¡¥ + ²«¶â¤ÎÄ»¤ÏƱ¤¸½Å¤µ¤Î¶â¤è¤ê²ÁÃͤ¬¤¢¤ë¤½¤¦¤À¡¥ + ¥°¥ê¥Ã¥É¥Ð¥°¤ÏŹ¤ÎÃæ¤Ç¤¢¤Ê¤¿¤ò¥Ô¥ê¤Ã¤È¤µ¤»Å¹¼ç¤Ë¶â¤òʧ¤ï¤Ê¤¤¤½¤¦¤À¡¥ + ¥¸¥×¥·¡¼¤Ï¶â³Û¼¡Âè¤Ç¤¢¤Ê¤¿¤Î̤Íè¤ò¹ð¤²¤Æ¤¯¤ì¤ë¤½¤¦¤À¡¥ + ¤½¤ÎÀΡ¤¥¢¥ê¥¹¤È¤¤¤¦Ì¾¤Î¥Ï¥Ã¥«¡¼¤Ï¶À¤Ç¥Æ¥ì¥Ý¡¼¥È¤·¤¿¤³¤È¤¬¤¢¤ë¤½¤¦¤À¡¥ + ¤½¤ÎÀΡ¤¥À¥Ó¥Ç¤È¤¤¤¦Ì¾¤Î¥Ï¥Ã¥«¡¼¤Ï¥¹¥ê¥ó¥°¤È´ä¤Çµð¿Í¤ò¾Ð¤¤»¦¤·¤¿¤½¤¦¤À¡¥ + ¤½¤ÎÀΡ¤¥É¥í¥·¡¼¤È¤¤¤¦Ì¾¤Î¥Ï¥Ã¥«¡¼¤Ï¥ª¥º¤Î¹ñ¤Ø¹Ô¤¯±À¤Ë¾è¤Ã¤¿¤³¤È¤¬¤¢¤ë¤½¤¦¤À¡¥ + ¤½¤ÎÀΡ¤¥á¥¢¥ê¡¼¤È¤¤¤¦Ì¾¤Î¥Ï¥Ã¥«¡¼¤ÏÌÂÏ©¤ÎÃæ¤ÇÇòÍÓ¤ò¼º¤Ã¤¿¤½¤¦¤À¡¥ + ¤½¤ÎÀΡ¤¥¢¥ë¥ë¤È¤¤¤¦Ì¾¤Î¥Ï¥Ã¥«¡¼¤Ï¥µ¥½¥ê¥Þ¥ó¤Ë¶ì¤·¤ó¤À¤½¤¦¤À¡¥ + ¤½¤ÎÀΡ¤¥Ó¥¢¥ó¥«¤È¤¤¤¦Ì¾¤Î¥Ï¥Ã¥«¡¼¤Ï½É²°¤Î̼¤À¤Ã¤¿¤½¤¦¤À¡¥ + ¤½¤ÎÀΡ¤·îÌ¤µ¤®¤È¤¤¤¦Ì¾¤Î¥Ï¥Ã¥«¡¼¤ÏÊÑ¿ÈǽÎϤ¬¤¢¤Ã¤¿¤½¤¦¤À¡¥ + ¤½¤ÎÀΡ¤¥¯¥¯¥ê¤È¤¤¤¦Ì¾¤Î¥Ï¥Ã¥«¡¼¤Ï¥°¥ë¥°¥ë»È¤¤¤À¤Ã¤¿¤½¤¦¤À¡¥ + ¤½¤ÎÀΡ¤¥¤¥µ¥ß¤È¤¤¤¦Ì¾¤Î¥Ï¥Ã¥«¡¼¤Ïζ¤Î·õ¤ò»ý¤Ã¤Æ¤¤¤¿¤½¤¦¤À¡¥ + ¤½¤ÎÀΡ¤¥è¥·¥ß¥Ä¤È¤¤¤¦Ì¾¤Î¥Ï¥Ã¥«¡¼¤Ï·õ¤ò²ó¤·¤Æ¶õ¤òÈô¤Ù¤¿¤½¤¦¤À¡¥ + ¼ñÌ£¤Ï²»³Ú´Ñ¾Þ¤Ç¥¯¥é¥·¥Ã¥¯¤Ê¤É¤ò¤è¤¯Ê¹¤¯¤½¤¦¤À¡¥ + ¥¶¥µ¥¨¤µ¤ó¤Ï¤¢¤È20ǯ¤Ï½ª¤é¤Ê¤¤¤½¤¦¤À¡¥ + ÃÎÀ­¤Î³õ¤Ï·Ú¡¹¤·¤¯¼ê¤ËÆþ¤ì¤é¤ì¤Ê¤¤¤½¤¦¤À¡¥ + ¥Û¥Ã¥È¥É¥Ã¥°¤È¥Ø¥ë¥Ï¥¦¥ó¥É¤ÏƱ¤¸¤â¤Î¤À¤½¤¦¤À¡¥ + ¥¢¥é¥¸¥ó¤Î¥é¥ó¥×¤È¤¤¤¦Ì¾¤Î¥é¥ó¥×¤Ë¤Ï3¤Ä¤Î´ê¤¤¤ò¤«¤Ê¤¨¤Æ¤¯¤ì¤ë¥¸¥ó¤¬¤¤¤ë¤½¤¦¤À¡¥ + ¥é¥Ã¥·¡¼¤È¤¤¤¦Ì¾¤Î¸¤¤Ï¤¢¤Ê¤¿¤òËâ½ü¤±¤Ø¤ÈƳ¤¤¤Æ¤¯¤ì¤ë¤½¤¦¤À¡¥ + ¥Û¡¼¥ê¡¼¤È¤¤¤¦Ì¾¤ÎÍ©Îî¤Ï¤¢¤Ê¤¿¤ËÊÑ¿ÈǽÎϤòÍ¿¤¨¤Æ¤¯¤ì¤ë¤½¤¦¤À¡¥ + Ĺ·õ¤Ï·Ú¤¤·õ¤Ç¤Ï¤Ê¤¤¤½¤¦¤À¡¥ + Ë´Îî¤È¤ÏÀ¸µ¤¤òÈ´¤­¤È¤ë¶²¤·¤¤¤â¤Î¤À¤½¤¦¤À¡¥ + ¿´¤È¤ÏÀ¸µ¤¤òÈ´¤­¤È¤ë¶²¤·¤¤¤â¤Î¤À¤½¤¦¤À¡¥ + ÉáÄ̤Υ˥ó¥Õ¤Ï¿Ë¶â¤Î»ØÎؤòÊÒÊý¤Î¼ª¤Ë¤·¤Æ¤¤¤ë¤½¤¦¤À¡¥ + Åí¤Î˹»Ò¤Ï¡¤¤«¤Ä¤Æ¤È¤µ¤«¤Î¤¢¤ë³õ¤Î¤¿¤á¤Ë»È¤ï¤ì¤Æ¤¤¤¿¤½¤¦¤À¡¥ + ¥ª¥¤¥ë¤ÎÌô¤òÄϤà¤Î¤ÏÆñ¤·¤¤¤½¤¦¤À¡¥ + ¥è¡¼¥°¥ë¥È¤ÎÌô¤Ïɵ¤¤ÎÌô¤Ø¤ÎÆøúÌô¤À¤½¤¦¤À¡¥ + »ç¥ï¡¼¥à¤Ï»ç¥É¥é¥´¥ó¤Î»Ò¶¡¤Ç¤Ï¤Ê¤¤¤½¤¦¤À¡¥ + ¿Ì¤¨¤ë¥Ö¥í¥Ã¥Ö¤ÎÌ£¤Ï¥¼¥é¥Á¥ó¥­¥å¡¼¥Ö¤È¤Ï¤Þ¤¿°ã¤Ã¤¿¤â¤Î¤À¤½¤¦¤À¡¥ + ¥¹¥È¡¼¥à¥Ö¥ê¥ó¥¬¡¼¤È̾¤Å¤±¤é¤ì¤¿¿ÀÈëŪ¤ÊÉý¹­¤Î·õ¤Ï±²¤ò¤Ò¤­¤è¤»¤ë¤½¤¦¤À¡¥ + ¾¤´­¤Î´¬Êª¤Ï¾¤Î̾Á°¤Ç¤â¸Æ¤Ð¤ì¤ë¤½¤¦¤À¡¥ + ¼ö½Ñ»Õ¤Ï½ËÊ¡¤ò£¤ë¤³¤È¤¬¤Ç¤ë¤¬¡¤ÉáÄ̤Ϥ·¤Ê¤¤¤½¤¦¤À¡¥ + ¼ö½Ñ»Õ¤Ë¥¤¥â¥ê¤ÎÌܤȤ³¤¦¤â¤ê¤Î±©¤ò¤¢¤²¤ë¤È½ËÊ¡¤·¤Æ¤¯¤ì¤ë¤½¤¦¤À¡¥ + Áä¤Ï¥Í¥ª¡¦¥Á¥å¡¼¤ËÌ¿Ã椹¤ë¤½¤¦¤À¡¥(°ÕÌ£¤ï¤«¤ë¡©) + ÈÃÅÀ¤Î¤¢¤ë¥É¥é¥´¥ó¤Ïµæ¶Ë¤Î·ÁÂÖÊѲ½¤À¤½¤¦¤À¡¥ + Ä°¿Ç´ï¤Ï¼«Ê¬¤Î¸ÝÆ°¤òʹ¤¯¤À¤±¤Ê¤é̵ÍѤÎĹʪ¤À¤½¤¦¤À¡¥ + ¥¹¡¼¥¸¥£¤È¤¤¤¦Ì¾¤Î¥µ¥­¥å¥Ð¥¹¤Ï¤È¤­¤É¤­´í¸±¤ò¶µ¤¨¤Æ¤¯¤ì¤ë¤½¤¦¤À¡¥ + ̵Îϲ½¤Î¾ó¤ÏÊѲ½¤Î¾ó¤Ç¤Ï¤Ê¤¤¤é¤·¤¤¡¥ + ¥Ô¥Î¥­¥ª¤È¤¤¤¦Ì¾¤ÎÌڤΥ´¡¼¥ì¥à¤Ï´Êñ¤ËÀ©¸æ¤Ç¤­¤ë¤½¤¦¤À¡¥ + Ãϲ¼50³¬¤ÇµÈÅĸÅÆàÈþ¤Ë²ñ¤¨¤ë¤³¤È¤¬¤¢¤ë¡¥ + ¥É¥é¥´¥ó¤ò»¦¤·¤¿¤¢¤È¤ÏÉñÂæ¤ÎÇطʤòÊѹ¹¤¹¤ë»þ´Ö¤À¤½¤¦¤À¡¥ + ¼ó¹Ê¤ÎËâ½ü¤±¤Ï¶ß¤Î¥«¥é¡¼¤ÎÎؤè¤ê¤¿¤Á¤¬°­¤¤¤½¤¦¤À¡¥ + ²°º¬Î¢¤Ï¤ª¤â¤Á¤ã¤ò±£¤¹¤Î¤Ë¤ÏÀä¹¥¤Î¾ì½ê¤À¤½¤¦¤À¡¥ + ¥¯¥ê¡¼¥Ð¡¼¤È̾¤Å¤±¤é¤ì¤¿Éà¤Ï¥Ó¡¼¥Ð¡¼¤È¤¤¤¦Ì¾¤Î¥Ï¥Ã¥«¡¼¤¬¤«¤Ä¤Æ»ý¤Ã¤Æ¤¤¤¿¤½¤¦¤À¡¥ + ¤¤¤â¤ê¤ÎÌܤȤ³¤¦¤â¤ê¤Î±©¤Ï¥È¥é¥Ö¥ë¤Î´í¸±¤¬£²Çܤˤʤ뤽¤¦¤À¡¥ + ¥¤¥º¥£¡¼¤È¤¤¤¦Ì¾¤Î¥¤¥ó¥­¥å¥Ð¥¹¤Ï¤È¤­¤É¤­½÷À­¤ò¥Ò¥¹¥Æ¥ê¥Ã¥¯¤Ë¤µ¤»¤ë¤½¤¦¤À¡¥ + ²Ú¤ä¤«¤Ê¶ÌºÂ¤ÎÉô²°¤Ï¤á¤Ã¤¿¤Ë¤¢¤Ê¤¿¤¬Ë¾¤ó¤À¾ì½ê¤Ë¤Ê¤¤¤½¤¦¤À¡¥ + ÉÔ¹¬¤Ê¥Ï¥Ã¥«¡¼¤Ï¤½¤ÎÀκ×ÃŤÇÉ¡·ì¤òή¤·»à¤ó¤À¤½¤¦¤À¡¥ + ¤È¤¤¤¦¤½¤¦¤À¤¬·è¤·¤Æ¤½¤¦¤À¤È¤Ï¸À¤ï¤ì¤Æ¤¤¤Ê¤¤¤½¤¦¤À¡¥ + ¤È¤­¤É¤­Î̻Ҿì¤Ç¤Ï®ÅÙ¤¬¼º¤Ê¤ï¤ì¤ë¤½¤¦¤À¡¥ + ¥æ¥Ë¥³¡¼¥ó¤Î³Ñ¤ò»È¤¦¤È¤¤¤¦¤³¤È¤ÏÍý²ò¤Ç¤­¤«¤Í¤ë¹Ô°Ù¤À¤½¤¦¤À¡¥ + ÀĤ¤´ä¤ÏÊü¼ÍÀþ¤òȯ¤Ã¤·¤Æ¤¤¤ë¤½¤¦¤À¡¥µ¤¤ò¤Ä¤±¤í¡¥ + ̵ܤò·úÀߤ¹¤ë¤Î¤Ï¶¦Æ±ºî¶È¤À¤Ã¤¿¤½¤¦¤À¡¥ + º®Æ٤ο¦¶È¤Ïº×ÃŤν³¤ê¤ò¶ô¤é¤¦¤³¤È¤¬¤Ê¤¤¤½¤¦¤À¡¥ + ̵ܤÎÊø²ò¤Ï¤·¤Ð¤·¤Ð¥Ñ¥Ë¥Ã¥¯¤ò°ú¤­µ¯¤¹¤½¤¦¤À¡¥ + ÕÛ²½¤¹¤ëÁ°¤ËÍñ¤Î¿ô¤ò¿ô¤¨¤Æ¤ª¤¯¤³¤È¤Ï¤¢¤Ê¤¿¤Î¿´Ç۾ɤò¼¨¤¹¤â¤Î¤À¤½¤¦¤À¡¥ + ¼êÉʤγó¤òÀô¤Î¿å¤ÇǨ¤é¤·¤Æ¤â¥¢¥¤¥¹¥Ü¥Ã¥¯¥¹¤Ë¤Ï¤Ê¤é¤Ê¤¤¤½¤¦¤À¡¥ + ¥¦¥Ê¥®¤ÈÃ㿧¥â¡¼¥ë¥É¤ò¤ªÅò¤Ç¼Ñ¤ë¤È¥Ö¥¤¥ä¥Ù¡¼¥¹¤È¤¤¤¦¥Õ¥é¥ó¥¹ÎÁÍý¤Ë¤Ê¤ë¤½¤¦¤À¡¥ + 1¥É¥Ö¥í¥ó´ó¿Ê¤¹¤ë¤Î¤Ï¶Ë¤á¤Æ·ÉéʤʻüÁ±¹Ô°Ù¤À¤½¤¦¤À¡¥ + ¥í¥¤¥ä¥ë¥¼¥ê¡¼¤ò¿©¤Ù¤ë¤È³¥¿§¥¢¥¦¥ë¥Ù¥¢¤¬Í¶¤¤´ó¤»¤é¤ì¤ë¤½¤¦¤À¡¥ + Íñ¤È¥Ñ¥ó¥±¡¼¥­¤È¥¸¥å¡¼¥¹¤Ïñ¤Ê¤ë¤¢¤ê¤­¤¿¤ê¤ÎÄ«¿©¤À¤½¤¦¤À¡¥ + ï¤â¤¬²¿¸Î¥á¥Ç¥å¡¼¥µ¤¬°Å°Ç¤Ë°ì¿Í¤ÇΩ¤Ã¤Æ¤¤¤ë¤Î¤«ÃΤäƤ¤¤ë¤½¤¦¤À¡¥ + ï¤â¤¬¡¤rec.games.hack ¤Î̾Á°¤òÊѤ¨¤¿¤¤¤È»×¤Ã¤Æ¤¤¤¿¤½¤¦¤À¡¥ + ¾¡Íø¤Î¤¿¤á¤ÎÀïά¤òȯ¸«¤¹¤ë¤Ë¤Ïµ¤Ä¹¤Ë¤ä¤ë¤·¤«¤Ê¤¤¤½¤¦¤À¡¥ + ̵²ÁÃͤΥ¬¥é¥¹¤ò¸«¤Ä¤±¤ë¤³¤È¤Ï²ÁÃͤ¢¤ë¤³¤È¤À¤½¤¦¤À¡¥ + Àꤤ¥¯¥Ã¥­¡¼¤Ï»×º÷¤Î¿©¤Ùʪ¤À¤½¤¦¤À¡¥ + ¥´¡¼¥ë¥É¤ò¾ÃÈñ¤¹¤ë¥Ú¥Ã¥È¤Ï¥É¥é¥´¥ó¤À¤±¤À¤½¤¦¤À¡¥ + ²ÌÊó¤Ï¿²¤ÆÂԤƤФ¤¤¤¤½¤¦¤À¡¥ + Ìý¤òÅɤä¿Êª¤Ï²øʪ¤Î¼ê¤«¤é³ê¤êÍî¤ë¤½¤¦¤À¡¥ + Æɤ߽ñ¤­¤¬¤Ç¤­¤Ê¤¤¤Ê¤é¡¤ËâË¡¤ÎËܤòÌ㤨¤ë¤è¤¦¤Ë´ê¤¦¤È¤¤¤¤¤½¤¦¤À¡¥ + ·õ¤ÎÀ¤³¦¤ËÀ¸¤­¤ë¤Ê¤é¡¤·õ¤Ë¤è¤Ã¤Æ»à¤Ì¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥ + ²øʪ¤Î¿¿»÷¤ò¤·¤¿¤¤¤Ê¤é¡¤¤¤¤¤¥²¡¼¥à¤Ë½Ð¤¢¤Ã¤¿¤È¸À¤¨¤è¤¦¡¥ + °­Ëâ¤È¤¤¤Ã¤·¤ç¤Ë̲¤Ã¤¿¤Ê¤é¤Ð¡¤Æ¬ÄˤȤâ¤ËÌܤ¬³Ð¤á¤ë¤Ç¤¢¤í¤¦¡¥ + ³ä¤ìÌܤòƧ¤ó¤Ç¤·¤Þ¤Ã¤¿¤éÊì¿Æ¤Î¤«¤Ð¤ó¤ò²õ¤·¤Æ¤·¤Þ¤¦¤½¤¦¤À¡¥ + »Ñ¤¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤Æ¤â²»¤Ï¤¹¤ë¤½¤¦¤À¡¥ + ¹¬±¿¤Î»ý¤Á¼ç¤Ç¤â´¬Êª¤Î¥ë¡¼¥óʸ»ú¤ò´¶¤¸¤È¤ë¤³¤È¤¬¤Ç¤­¤ë¤½¤¦¤À¡¥ + µðÂç¤Ê³¨¤ÎÃæ¤Ç¤Ï¶â¤Ê¤ó¤Æ¤Û¤ó¤Î¾®Á¬¤À¤½¤¦¤À¡¥ + ̵ܤǤÏÃμ±¤Ê¤ó¤ÆÂ礷¤¿ÌäÂꤸ¤ã¤Ê¤¤¤½¤¦¤À¡¥ + ̵ܤǤϷî¤ÎÀФ¬¿¿¤Î¥Ç¥ê¥¸¥¦¥à¤Î·ë¾½¤À¤½¤¦¤À¡¥ + ̵ܤǤϤ¬¤µ¤Ä¤ÊµÒ¤Ë¸¢Íø¤Ï¤Ê¤¤¤½¤¦¤À¡¥ + ̵ܤǤϻþ¹ï¤ò¶µ¤¨¤Æ¤¯¤ì¤ë»þ·×¤ÏÉÔÍפÀ¤½¤¦¤À¡¥ + ̵ܤǤϲ¿¤«¸Å¤¤¤â¤Î¡¤¿·¤·¤¤¤â¤Î¡¤·ê¤Î³«¤¤¤¿¤â¤Î¡¤ÀĤ¤¤â¤Î¤¬É¬ÍפÀ¤½¤¦¤À¡¥ + ̵ܤǤϾï¤Ë½ËÊ¡¤Î¿ô¤ò¿ô¤¨¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤½¤¦¤À¡¥ + Å´¤Î¥´¡¼¥ì¥à¤Î¹ÝÅ´¤Î³»¤Ï˾¤ó¤Ç¤â¤é¤¦¤Û¤É²ÁÃͤ¢¤ë¤â¤Î¤Ç¤Ï¤Ê¤¤¤½¤¦¤À¡¥ + °ìËܤξó¤òºî¤ë¤Ë¤Ï4ËܤÎÏ»¼ÜËÀ¤¬É¬ÍפÀ¤½¤¦¤À¡¥ + ÂÀ¤Ã¤¿½÷À­¤¬²Î¤¦¤Þ¤Ç½ª¤ï¤é¤Ê¤¤¤½¤¦¤À¡¥ + ÂÀ¤Ã¤¿½÷À­¤¬¡Ö¼ó¤ò¤Á¤ç¤óÀڤäƤª¤·¤Þ¤¤¡ª¡×¤È¶«¤Ö¤Þ¤Ç½ª¤ï¤é¤Ê¤¤¤½¤¦¤À¡¥ + ½Å¤¤Áü¤ò½³¤ë¤È¤¤¤¦¤Î¤Ï̵Â̤ʹ԰٤À¤½¤¦¤À¡¥ + µ®½Å¤ÊÊõÀФò½³¤ë¤È¤¤¤¦¤Î¤Ï̵°ÕÌ£¤Ê¹Ô°Ù¤È»×¤ï¤ì¤ë¤À¤í¤¦¡¥ + ¥ì¥×¥é¥³¡¼¥ó¤Ï¥é¥Æ¥ó¸ì¤òÃΤäƤ¤¤ë¡¤¤¢¤Ê¤¿¤â³Ø¤Ö¤Ù¤­¤À¡¥ + ¥ß¥Î¥¿¥¦¥í¥¹¤Ï̵ܤγ°¤ÇÌ»ҤˤʤäƤ¤¤ë¡¥ + ¤Û¤È¤ó¤É¤Î¥È¥í¡¼¥ë¤ÏÉü³è¤¹¤ë¡¥ + ¥¬¡¼¥Õ¥£¡¼¥ë¥É¤È̾¤Å¤±¤é¤ì¤¿Ç­¤Ï¤¢¤Ê¤¿¤ò¤è¤êÌ¥ÎÏŪ¤Ë¤¹¤ë¤½¤¦¤À¡¥ + ̵ÜÆâ¤Î¤¢¤é¤æ¤ëʪ¤Ë´Ø¤¹¤ë¤¢¤é¤æ¤ë¤³¤È¤òÃΤäƤ¤¤ë¼Ô¤Ï¤¤¤Ê¤¤¤½¤¦¤À¡¥ + ñ¤Ê¤ë³Ú¤·¤ß¤Ç¥Í¥Ã¥È¥Ï¥Ã¥¯¤ò¥×¥ì¥¤¤Ç¤­¤ë¼Ô¤Ê¤É¤¤¤Ê¤¤¤½¤¦¤À¡¥ + fj.rec.games.roguelike¤ò¹ÖÆɤ·¤Æ¤¤¤ë¤â¤Î¤Ê¤É¼ÂºÝ¤Ë¤Ï¤¤¤Ê¤¤¤½¤¦¤À¡¥ + ï¤â±½¤òή¤¹¤³¤È¤òµö¤·¤Æ¤Ê¤¤¤½¤¦¤À¡¥ + ´Ç¸îÉؤϤȤ­¤É¤­¥á¥¹¤ò»ý¤Ã¤Æ¤¤¤ë¤¬·è¤·¤Æ»È¤ï¤Ê¤¤¤½¤¦¤À¡¥ + ËâË¡»È¤¤¤Ï°ì¿Í¸«¤¿¤é»°½½¿Í¤¤¤ë¤½¤¦¤À¡¥ + °ìɤ¤Î¥È¥í¡¼¥ë¤Ï10,000¤Î¥¤¥â¥ê¤Î²ÁÃͤ¬¤¢¤ë¤½¤¦¤À¡¥ + ¥Ç¥Ó¥Ã¥È¤À¤±¤¬Æ°Êª±à¤ò¸«¤Ä¤±¤é¤ì¤ë¤½¤¦¤À¡¥ + Å·»È¤À¤±¤¬¥Ú¥Ã¥È¤Î¤¿¤á¤Ë¥Ï¡¼¥×¤ò±éÁդǤ­¤ë¤½¤¦¤À¡¥ + ϲÈñ²È¤À¤±¤¬¶â¤ò»ý¤Á±¿¤Ù¤ë¤½¤¦¤À¡¥ + ¥ª¡¼¥¯¤Î¼ö½Ñ»Õ¤Ï·ò¹¯Åª¤Ç͵ʡ¤Ç¸­¤¤¤½¤¦¤À¡¥ + ¥Í¥Ã¥È¥Ï¥Ã¥¯¤ÇÍ·¤Ö¤È¤¤¤¦¤³¤È¤Ï»à¤Î櫤ξå¤òÊ⤤¤Æ¤¤¤ë¤è¤¦¤Ê¤â¤Î¤À¤½¤¦¤À¡¥ + ¸ÆµÛº¤Æñ¤Ë¤ÏŬÅö¤Ê¿©»öÀ©¸Â¤¬°ìÈÖ¤À¤½¤¦¤À¡¥ + ÉâÍ·¤ÎÌô¤ò¤¿¤¯¤µ¤ó°û¤à¤ÈƬÄˤˤʤ뤽¤¦¤À¡¥ + ½÷²¦Ëª¤Ï¥í¥¤¥ä¥ë¥¼¥ê¡¼¤ò¿©¤Ù¤ë¤³¤È¤Ë¤è¤ê¤Ç¤­¤ë¤½¤¦¤À¡¥ + ²øʪ¤ò¶±¤¨¤µ¤»¤ë´¬Êª¤òÆɤळ¤È¤ÏElbereth¤ÈÃý¤ë¤³¤ÈƱ¤¸¤À¤½¤¦¤À¡¥ + ¿¿¤Î¥Ï¥Ã¥«¡¼¤Ï¾ï¤ËÀ©¸æ¤µ¤ì¤Æ¤¤¤ë¤½¤¦¤À¡¥ + ¿¿¤Î¥Ï¥Ã¥«¡¼¤Ï̲¤é¤Ê¤¤¤½¤¦¤À¡¥ + Ź¼ç¤Ï¥¯¥í¥¤¥½¥¹¼«¿È¤Ë¤è¤Ã¤Æ½ý¤Ä¤±¤é¤ì¤ë¤½¤¦¤À¡¥ + Ź¼ç¤ÏÌëÃæ¤Ë¤Ï20¥´¡¼¥ë¥É°Ê¾å¤ò»ý¤ÁÊ⤫¤Ê¤¤¤½¤¦¤À¡¥ + Ź¼ç¤Ï½ËÊ¡¤µ¤ì¤¿Æ©ÌÀ¤ÎÌô¤òÀäÂÎÇä¤é¤Ê¤¤¤½¤¦¤À¡¥ + ʼ»Î¤Ï»Ò¶¡¼êÂޤˡ¤¤Þ¤Ì¤±¥Ø¥ë¥á¥Ã¥È¤òÁõÈ÷¤·¤Æ¤¤¤ë¤½¤¦¤À¡¥ + ²¿¿Í¤«¤Î·Ù´±¤ÏÏÅϨ¤ò´üÂÔ¤·¤Æ¤¤¤ë¤½¤¦¤À¡¥ + ÈÖʼ¤Î¼ê¤Ë»é¤òÅɤ뤳¤È¤¬¤Ç¤­¤ë¤½¤¦¤À¡¥ + ¥É¥é¥à¤Î±éÁÕ¤ò»ß¤á¤µ¤»¤ë¤¿¤á¡¤·¤¤Ë¥­¥¹¤¹¤ë²øʪ¤¬¤¤¤ë¤½¤¦¤À¡¥ + ¥Û¥ë¥ó¤ò±éÁÕ¤¹¤ë¤È¡¤À¯Åޤ릤·²°¤Ë¤Ê¤ì¤ë¤½¤¦¤À¡¥ + ¥Í¥Ã¥È¥Ï¥Ã¥¯¤Î¿À¡¹¤Ï°ìÈÌŪ¤Ë¸¥¾å¤ò´¿·Þ¤¹¤ë¤½¤¦¤À¡¥ + ¥ô¥£¥ë¥ä¡¤¥Í¥ó¥ä¡¤¥Ê¥ë¥ä¤È̾¤Å¤±¤é¤ì¤¿3¤Ä¤Î»Ø´Ä¤¬Â¸ºß¤¹¤ë¤½¤¦¤À¡¥ + ÂçËâË¡»È¤¤¥¤¥§¥ó¥À¡¼¤Ï»à¤Î˾¤ß¤ò¤â¤Ã¤Æ¤¤¤ë¤½¤¦¤À¡¥ + ¸¤¤Îȱ¤ÎÌӤϤȤ­¤Ë¤Ï¸ú²ÌŪ¤Ê¼£ÎÅÌô¤È¤Ê¤ë¤½¤¦¤À¡¥ + ¥²¡¼¥à¤ò¥»¡¼¥Ö¤¹¤ë¤Î¤Ïº£¤À¡ª¼êÃÙ¤ì¤Ë¤Ê¤ë¤Þ¤¨¤Ë¡¥¡¥¡¥ + ¥Í¥Ã¥È¥Ï¥Ã¥¯ºÇÂç¤Î¾ã³²¤Ï¡¤¤¢¤Ê¤¿¤Î¿´¤À¤½¤¦¤À¡¥ + ¿À¤¬¤¢¤Ê¤¿¤Ëʪ¤ò¤Ö¤Ä¤±¤ë¤È¤­¤Ï·ãÅܤ·¤Æ¤¤¤ë¤½¤¦¤À¡¥ + ¿À¤ÏÁο¦¤Ë¤¢¤ë¤â¤Î¤¬¤ª¤­¤Ë¤¤¤ê¤À¤½¤¦¤À¡¥ + ¥æ¥Ë¥³¡¼¥ó¤ò¹¬Ê¡¤Ë¤µ¤»¤ë¤Ë¤Ï¡¤Ë¾¤à¤â¤Î¤òÅϤ»¤Ð¤è¤¤¤½¤¦¤À¡¥ + Çò¤ä¹õ¤ÎÀФϤʤ¯³¥¿§¤·¤«¤Ê¤¤¤½¤¦¤À¡¥ + ³¼¹ü¤Ï¸ºß¤·¤Ê¤¤¡¥¸Î¤Ë³¼¹ü¤Î¸°¤â¤Ê¤¤¡¥ + Á´¤Æ¥Ï¥Ã¥«¡¼¤ÎÃæ¤Ë¤Ï»à¤Ë¤«¤±¤¿¤È¤­Ã¦½Ð¤·¤Æ¤·¤Þ¤¦¸­¤¤Å𱤬¤¤¤ë¤½¤¦¤À¡¥ + ¥¿¥À¤Î¥¢¥É¥Ð¥¤¥¹¤Î¤è¤¦¤Ê¤â¤Î¤Ï¤Ê¤¤¤½¤¦¤À¡¥ + ¥Í¥Ã¥È¥Ï¥Ã¥¯¤Î¾¡Íø¼Ô¤Ë¤Ê¤ëÆ»¤Ï1¤Ä¤·¤«¤Ê¤¤¤½¤¦¤À¡¥ + ¤«¤Ä¤Æ¡¤³Úǽ¤È¤¤¤¦¶²ÉݤΥµ¥à¥é¥¤¤¬¤¤¤¿¤½¤¦¤À¡¥ + ¼ö¤ï¤ì¤¿À»¤Ê¤ë¿å¤Ï¿å¤Ç¤Ê¤¤¤È¤­¤¬¤¢¤ë¤½¤¦¤À¡¥ + ¤³¤Ü¤ì¤¿³¥¿§¥¦¡¼¥º¤ÏËߤËÌá¤é¤Ê¤¤¤½¤¦¤À¡¥ + ¥Ñ¥ó¥É¥é¤ÎÈ¢¤ò³«¤±¤Æ¤·¤Þ¤Ã¤¿¤é¡¤´õ˾¤·¤«¤Î¤³¤Ã¤Æ¤Ê¤¤¤½¤¦¤À¡¥ + Èâ¤Î櫤ˤϤ¤¤Ä¤â¡Ö櫤ËÃí°Õ¡ª¡×¤Èµ­¤µ¤ì¤Æ¤¤¤ë¤½¤¦¤À¡¥ + À­Å¾´¹¤ÎËâ½ü¤±¤ò»È¤¦¤Î¤Ï¤½¤ó¤Ê¤ËÆñ¤·¤¤¤³¤È¤Ç¤Ï¤Ê¤¤¤½¤¦¤À¡¥ + ¿å¾åÊâ¹Ô¤Î·¤¤Ï¥Ø¥ë¥á¥¹¤Î¤è¤¦¤ËÁ᤯Ê⤭¤¿¤¤¤È¤­¤ËÊØÍø¤À¤½¤¦¤À¡¥ + ´Ý¤¤Ëâ½ü¤±¤ò¿È¤ËÉÕ¤±¤ë¤È¥È¥í¥ë¤Ë¸«¤¨¤ë¤½¤¦¤À¡¥ + Ê¢¤¬¸º¤Ã¤¿¤È¤­¤Ï¥Ô¥¶¤òÃíʸ¤Ç¤­¤ë¡¥30Êâ°ÊÆâ¤Ë¤³¤Ê¤¤¤È¥¿¥À¤À¤½¤¦¤À¡¥ + ¿À¤¬ÅܤäƤ¤¤ë¤È¤­¤Ï¡¤Â¾¤Î¿À¤ËÍê¤ë¤Ù¤­¤À¤½¤¦¤À¡¥ + ¥æ¥Ë¥³¡¼¥ó¤Î³Ñ¤òÁõÈ÷¤¹¤ë¤È¶¯¤¯¤Ê¤ì¤ë¤½¤¦¤À¡¥ + ®¤µ¤Î·¤¤òÍú¤¯¤È¡¤ÉÔθ¤Î¹¶·â¤ä¾×Æͤο´ÇÛ¤¬¤Ê¤¤¤½¤¦¤À¡¥ + »¦¿Í˪¤Ï¥æ¥Ë¥³¡¼¥ó¤Î³Ñ¤ÇÅݤ»¤ë¤½¤¦¤À¡¥ + ¥¹¥Æ¥å¥¯¥¹Àî¤Ï¥«¥í¥ó¤Î½®¤Ç¤Î¤ßÅϤì¤ë¤½¤¦¤À¡¥ + ¥ê¥Ã¥Á¤Ï°ìÅÙ¤À¤±»¦¤»¤ë¤Î¤Ç¡¤¿µ½Å¤Ë¤ä¤ëɬÍפ¬¤¢¤ë¤½¤¦¤À¡¥ + ´û¤Ë»ý¤Ã¤Æ¤¤¤ë¤â¤Î¤·¤«Ë¾¤á¤Ê¤¤¤½¤¦¤À¡¥ + ¿ÆÀÚ¤ËÏä·¤«¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¤Ç­¤ò·±Îý¤Ç¤­¤ë¤½¤¦¤À¡¥ + ²È²¤Î¤è¤¦¤ËÏä·¤«¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¤¸¤¤ò·±Îý¤Ç¤­¤ë¤½¤¦¤À¡¥ + ¶â¤Ï²¦¤Î̾¤Ë¤è¤Ã¤Æ¿®Íê¤Ç¤­¤ë¤é¤·¤¤¡¥ + »é¤®¤Ã¤¿¼ê¤òÇò»æ¤Î´¬Êª¤Ç¤Õ¤­¤È¤ì¤Ê¤¤¤½¤¦¤À¡¥ + ±½¤Î´¬Êª¤ò¿®ÍѤ·¤Æ¤Ï¤¤¤±¤Ê¤¤¤½¤¦¤À¡¥ + ¥¯¡¼¥ë¤Ê¥Ú¥Ã¥È¤ò»ý¤Á¤¿¤±¤ì¤Ð¡¤¸¤¤Ë¥¹¥Ñ¥Ã¥º¤È̾Á°¤ò¤Ä¤±¤ë¤È¤è¤¤¤½¤¦¤À¡¥ + ¥¨¥Í¥ë¥®¡¼¤Î±²¤ÇÅ·ÃϤ¬¤Ò¤Ã¤¯¤êÊ֤뤽¤¦¤À¡¥ + ¸°¤Î¤«¤«¤Ã¤¿Èâ¤ò³«¤±¤ë¤Ë¤Ï¸°¤¬É¬ÍפÀ¤½¤¦¤À¡¥ + ¥¢¥ó¥Æ¥£¡¼¥¯¤ÊŹ¤Î¥ß¥ß¥Ã¥¯¤ò¸«¤ï¤±¤ë¤Ë¤Ï¶À¤¬É¬ÍפÀ¤½¤¦¤À¡¥ + ¤Ä¤ë¤Ï¤·¤Ï»È¤¤¤¿¤¤¤È¤­¤Ë¤Ï»È¤¨¤Ê¤¤¤½¤¦¤À¡¥ + ¤¤¤Ä¤Ç¤âÃϲ¼¼¼¤ËÆ»¶ñ¤ò¤·¤Þ¤Ã¤Æ¤ª¤¯¤Ù¤­¤À¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥¡¥ + Äô»Ò¤ò¾å¤Ã¤Æ¤¤¤ë´Ö¤ÏÃí°Õ¤¹¤ë¤Ù¤­¤À¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥ + ³»¤Ï¡Ö¥¹¥Æ¥ó¥ì¥¹¡×¤È̾ÉÕ¤±¤ë¤È¤è¤¤¤½¤¦¤À¡¥ + ºÇ½é¤Î²øʪ¤òÅݤ·¤¿¤¢¤È¤ËÉð´ï¤Ë̾Á°¤ò¤Ä¤±¤ë¤Ù¤­¤À¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥ + ɳ¤Î¥´¡¼¥ì¥à¤ò¥µ¥­¥å¥Ð¥¹¤ËƳ¤¤¤Æ¤Ï¤¤¤±¤Ê¤¤¤½¤¦¤À¡¥ + ¸«¤¨¤Ê¤¤»ØÎؤÎË´Îî¤Î¦¤Ç¿²¤Æ¤Ï¤¤¤±¤Ê¤¤¤½¤¦¤À¡¥ + ÊõÀгó¤ò»ý¤Ã¤Æ¥À¥ó¥¸¥ç¥ó¤òÈ´¤±¤Æ¤Ï¤¤¤±¤Ê¤¤¤½¤¦¤À¡¥ + ¶ÌºÂ¤ËºÂ¤ëÁ°¤Ë³»¤ò椰¤Ù¤­¤À¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥ + Àꤤ¥¯¥Ã¥­¡¼¤Ï¥³¥Ô¡¼¥×¥í¥Æ¥¯¥È¤µ¤ì¤Æ¤¤¤ë¡¥ + Àꤤ¥¯¥Ã¥­¡¼¤ÏÍ­¸Â²ñ¼Ò Fortune Cookies¤¬ÈǸ¢¤ò°®¤Ã¤Æ¤¤¤ë¡¥ + Èè¤ì¤¿¡©¼«Ê¬¼«¿È¤Ë½¼Å¶¤Î´¬¤­Êª¤ò¼«Ê¬¼«¿È¤Ë»È¤¨¡ª + ¤è¤ê¹â¤¤¼¡¤Îɾ²Á¤òÆÀ¤ë¤Ë¤Ï¡¤3¥Ý¥¤¥ó¥È;·×¤ËɬÍפÀ¡¥ + Å·¹ñ¤Ë¹Ô¤¯¤Ë¤Ï¡¤ÉâÍ·¤Î»ØÎؤò¿È¤Ë¤Ä¤±¤Æ¥À¥ó¥¸¥ç¥ó¤òÈ´¤±¤À¤¹¤È¤¤¤¤¤½¤¦¤À¡¥ + ¥·¥ã¥Ä¤òÃ夿´Ñ¸÷µÒ¤Ï»à¿Í¤òµ¯¤¹¤Î¤Ë½½Ê¬¤ä¤«¤Þ¤·¤¤¡¥ + ¥È¥é¥¤¥Ç¥ó¥È¤Ï¿åÌ̲¼¤Ç»ÈÍѤ¹¤ë¤â¤Î¤À¡¥ + ¤¢¤Ê¤¿¤ÎÅá¤òMoulinette¤È¸Æ¤ó¤Ç¤ß¤è¡¥ + ¤¦¤²¡ªÆù¤Ï¿§¤¬Åɤé¤ì¤Æ¤¤¤ë¡ª + ÉÔ¹¬¤Ë¤â¡¤¥á¥Ã¥»¡¼¥¸¤Ï¸Î°Õ¤Ë¶õÇò¤Î¤Þ¤Þ¤À¡¥ + ͼÊý¤Ë¥â¡¼¥Ë¥ó¥°¥¹¥¿¡¼¤ò»È¤¦¤È¸ú²Ì¤¬¤Ê¤¤¡¥ + ¥Ò¥ó¥È¤¬Íߤ·¤¤¡©Æ©ÌÀ¤Î¾ó¤òÉð´ï¤Ë¿¶¤ê¤«¤±¤ë¤Î¤À¡ª + µÞ¤¤¤Ç¾ºÅ·¤·¤¿¤¤¡©¥Ê¥ó¥È¥«³Ø±à¤¬¤è¤¤¡¥ + Ê罸¡§¥¢¥ë¥Ð¥¤¥È¡¥Ãϲ¼35³¬¤ÎËâË¡»È¤¤¥¤¥§¥ó¥À¡¼¤Ë¼ê»æ¤òÆϤ±¤ë»Å»ö¡¥ + ·Ù¹ð¡§Ì¤Íè¤òÆɤळ¤È¤Ï¤¢¤Ê¤¿¤Î·ò¹¯¤Ë³²¤òÍ¿¤¨¤Þ¤¹¡¥ + ΢ÀÚ¤ê¤Î¤¿¤á¤Î¿·¤é¤·¤¤Æ»¤òȯ¸«¤·¤¿¡¥ + Ǩ¤ì¤¿¥¿¥ª¥ë¤Ï¶¯ÎϤÊÉð´ï¤È¤Ê¤ë¡¥ + ¤Ê¤ó¤Æ¤³¤È¤À¡ª¤¢¤Ê¤¿¤ÏÆɤळ¤È¤¬¤Ç¤­¤Ê¤¤¡¥ + Ƭ¤Î¾å¤Ë¥È¥²¤¬Íî¤Á¤Æ¤­¤é¡¤Å·°æ¤Ë¹¶·â¤ò²Ã¤¨¤¿¤¯¤Ê¤ë¤À¤í¤¦¡¥ + ̵ܤǤϱ¦¤ÎÊɤò¤Ä¤¿¤Ã¤Æ¤¤¤¯¤È¡¤Ì»Ҥˤʤé¤Ê¤¤¤Ï¤º¤À¡¥ + ¸°¤ò»ý¤Ã¤Æ¤¤¤ë¤Ê¤é¡¤ÈÖʼ¤òÂÔ¤ÄɬÍפ¬¤Ê¤¤¡¥ + ¤Ê¤¼¤³¤ó¤Ê¤â¤ÎÆɤó¤Ç¤ë¤À¡©»þ´Ö¤Î̵Â̤¸¤ã¤Ê¤¤¤«¡¥ + ¥Þ¥¹¥¿¡¼¥­¡¼¤ò˾¤à¤¬¤è¤¤¡¥ËâË¡¤Î¥á¥â¥ê¡¼ÁҸˤ¬³«¤¯¤Ï¤º¤À¡¥ + ËâË¡»È¤¤¤ÏÁ´¤Æ¤Î²øʪ¤¬Ç¤Ì³¤ò¤Ï¤¿¤¹¤³¤È¤ò´üÂÔ¤·¤Æ¤¤¤ë¡¥ + ¥ï¥©¡ª¥Õ¥ë¡¼¥Ä¥¸¥å¡¼¥¹¤ò¤É¤¦¤¾¡ª + ¤Þ¤À¡¤Â¾¤Î¡¤¤¯¤À¤é¤Ê¤¤¡¤¥ë¡¼¥Þ¡¼(¤Þ¤¿¤¯¤ë)¤¬¤¢¤ë¡¥ + ¤¢¤Ê¤¿¤ÏÀꤤ¤Ë¤è¤ê´Ö°ã¤Ã¤ÆƳ¤«¤ì¤ë±¿Ì¿¤À¡¥ + ¼¡¤Î¤³¤È¤ò¤¹¤ì¤ÐËÜʪ¤Î¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤ò¼ê¤ËÆþ¤ì¤ë¤È¤¬¤Ç¤­¤ë¡§ --More-- + ¼¡¤Î¤³¤È¤ò¤·¤Æ¡¤¹õ¥É¥é¥´¥ó¤Î¹¶·â¤òËɤ°¤Î¤À¡§ --More-- + ¼Ø¤ò¤Ä¤«¤Ã¤Æ½¦¤¨¤Ê¤¤¡¥ + 狼¤¬Â­¤ò¤Ò¤Ã¤Ñ¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤¿¡¥ + ¥¹¥Õ¥£¥ó¥¯¥¹¤ò½Ð¤·È´¤¯¤«¡¤¶â¤òʧ¤ï¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥ + Àꤤ¥¯¥Ã¥­¡¼¤¬¥·¡¼¥Ã¤È¤¤¤¦²»¤òʹ¤¤¤¿¡¥ + ¼ê»æ¤òÇä¤ë¤³¤È¤Ë¤è¤ê¥ê¥Ã¥Á¤Ë¤Ê¤ì¤ë¡¥¤·¤«¤·¡¤ÉÔ¹¬¤Î¼ê»æ¤Ë¤Ïµ¤¤ò¤Ä¤±¤í¡¥ + ¥·¥ã¥¤¥Õ¥ë¥É¤Ë·ì¤Ê¤Þ¤°¤µ¤¯¤Ê¤¤¾ä¤Î¤Ê¤¤¥¯¥ê¥¹¥Ê¥¤¥Õ¤ò¤µ¤µ¤²¤è¡¥ + ¤ª¤ß¤¯¤¸¤ò°û¤ß¤³¤ó¤À¡¥ + ¤è¤ê¶¯¤¯¤Ê¤ê¤¿¤¤¡©2¥ì¥Ù¥ëÀè¤Ë¥²¥¹¥È¥Ï¥¦¥¹¤¬¤¢¤ë¡ª + Çؤ¬¹â¤¯¡¤°Å¤¯¡¤¿È¤ÎÌÓ¤â¤è¤À¤ÄÀ¸¤­Êª¤Ë²ñ¤¦¤Ç¤¢¤í¤¦¡¥ + ¿¾¯¤Î¸íÌõ¤¯¤é¤¤Ìܤò¤Ä¤Ö¤ë´²Â礵¤¬É¬ÍפÀ¡¥ + ¥Í¥Ã¥È¥Ï¥Ã¥¯¤ÎËÝÌõ¤Ï¤È¤Æ¤âÂçÊѤÀ¤Ã¤¿¤½¤¦¤À¡¥ + ¿¾®¤Î¸Þ»þÃ¥»ú¤Ë¤ÏÌܤòÄ٤봲ÂÀ¤µ¤¬¿´ÍפÀ¤½¤¦¤À¡¥ + ¼«Ê¬¤Î¹¥¤ß¤ÈÌõ¤¬°ã¤Ã¤Æ¤âÌܤòÄ٤봲Â礵¤¬É¬ÍפÀ¤½¤¦¤À¡¥ + Ìõ¼Ô¤¬»à¤Ë¤½¤¦¤Ê¤¯¤é¤¤Èè¤ì¤Æ¤¤¤¿¤È¤­¤ËÌõ¤·¤¿Éôʬ¤Ï¥Ü¥í¥Ü¥í¤À¤½¤¦¤À¡¥ + Ë»¤·¤±¤ì¤ÐË»¤·¤¤¤Û¤ÉËÝÌõ¤Îºî¶È¤¬¤Ï¤«¤É¤Ã¤¿¤½¤¦¤À¡¥ + ÆüËܸìÈǥͥåȥϥ寤ÏȾǯ°Ê¾å¤«¤±¤ÆËÝÌõ¤·¤¿¤½¤¦¤À¡¥ + ÃÏÌ̤˾ó¤ò»È¤Ã¤ÆËâË¡¿Ø¤ò½ñ¤±¡ªÎϤ¬ÆÀ¤é¤ì¤ë¡¥ + #anger ¤ÇÅܤë¤Î¤À¡ª¥¹¡¼¥Ñ¡¼¥µ¥¤¥ä¿Í¤Ë¤Ê¤ì¤ë¡¥ + ¥¹¥«¥¦¥¿¡¼¤ò¼ê¤ËÆþ¤ì¤í¡ªÁê¼ê¤ÎǽÎϤ¬¼ê¤Ë¼è¤ë¤è¤¦¤Ë¤ï¤«¤ë¡¥ + JNetHack¤Ï 1999ǯÅß¤Ë PlayStation¤ÇȯÇ䤵¤ì¤ë¡¥ + JNetHack¤Î¹¶Î¬ËÜÀ仿ȯÇäÃ桪Äê²Á2500±ß¡ª + ¤â¤¦¤ä¤é¤Ê¤¤¤È¸À¤Ã¤Æ¤¿¤¯¤»¤Ë¡¤¤Þ¤¿ËÝÌõ¤·¤Æ¤¤¤ë¤½¤¦¤À¡¥ + ¥»¡¼¥é¡¼Éþ»Ñ¤ÇŹ¼ç¤òǺ»¦¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤½¤¦¤À¡¥ *** /dev/null Wed Sep 24 22:14:55 1997 --- ./dat/jrumors.tru Tue Sep 23 07:10:17 1997 *************** *** 0 **** --- 1,349 ---- + ¥Æ¥ì¥Ñ¥·¡¼Ç½ÎϤ¬¤¢¤ë¤Ê¤éÌܱ£¤·¤¬Ìò¤ËΩ¤Ä¡¥ + 7ËÜ¤Î¤í¤¦¤½¤¯¤òº¹¤·¤¿¿¤Âæ¤ÏËâË¡¤Î¸÷¤ÇÆ»¤ò¼¨¤¹¡¥ + ¿å¾½¤Î³»¤¬»¬¤Ó¤ë¤³¤È¤Ï¤Ê¤¤¡¥ + Åá¤Ï¥ï¡¼¥à¤ò¿¿Æó¤Ä¤Ë¤¹¤ë¤³¤È¤â¤¢¤ë¡¥ + ËâË¡¤ÎÓÒÅǥݥó¥×¤¬¥°¥ë¥á¤Ë¤ÏÌòΩ¤Ä¤³¤È¤â¤¢¤ë¤À¤í¤¦¡¥ + ¥Ë¥ó¥Õ¤Ïº¿¤«¤¿¤Ó¤é¤Î´Ä¤è¤êÂ礭¤¤´Ä¤Ç¤â³°¤»¤ë¡¥ + Ìܤ諤¨¤Ê¤¯¤Ê¤ëÌô¤Ï¸«¤¨¤Ê¤¤¤â¤Î¤ò¸«¤¨¤ë¤è¤¦¤Ë¤¹¤ë¡¥ + ÁÎη¤Ï´Êñ¤Ë¿À¤Ë´ê¤¤¤òʹ¤¤¤Æ¤â¤é¤¦¤³¤È¤¬¤Ç¤­¤ë¡¥ + ¤ªÁ°¤¬ÆôÁΤÀ¤í¤¦¤¬½è½÷¤À¤í¤¦¤¬¡¤¥æ¥Ë¥³¡¼¥ó¤Ïµ¤¤Ë¤·¤Ê¤¤¡¥ + Éô²°¤Ë´Ç¸îÉؤ¬¤¤¤ë¤Î¤Ê¤é¡¤Á褤¤Î»ØÎؤϰ­¤·¤­ÉʤȤʤ롥 + ¾®·õ¤ÏĹ·õ¤Û¤ÉÎɤ¯¤Ï¤Ê¤¤¡¥ + ¥µ¥­¥å¥Ð¥¹¤Ï¥Ë¥ó¥Õ¤è¤ê¤â¹¹¤Ë¤¹¤´¤¤¤³¤È¤ò¤¹¤ë¡¥ + »À¤Î¥Ö¥í¥Ã¥Ö¤ÏÁǼê¤Ç¹¶·â¤¹¤Ù¤­¤À¡¥ + ¥Ë¥ó¥Õ¤È¤Î¾ð»ö¤Ï¤·¤Ð¤·¤Ð¹â¤¯¤Ä¤¯¡¥ + ¥Ë¥ó¥Õ¤¬¶²¤¤¤Ã¤Æ¡©¾þ¤ê¤Î»ØÎؤò¿È¤Ë¤Ä¤±¤í¡¥ + ÂçÀÚ¤Êʪ¤òÅð¤Þ¤ì¤¿¤¯¤Ê¤¤¤Ã¤Æ¡©¤â¤Ã¤È¤¬¤é¤¯¤¿¤ò»ý¤Ã¤Æ¤Ê¡ª + ·î¤ÎËþ¤Á·ç¤±¤Ë¤Ïµ¤¤ò¤Ä¤±¤í¡ª + ½ÅÍפʥá¥Ã¥»¡¼¥¸¤ò¹ï¤àÁ°¤Ë¤Ï¤¤¤Ä¤â¾²¤òÁݽü¤·¤í¡¥ + Ëâ½ü¤±¤òºî¤ê½Ð¤¹¤³¤È¤Ïº¤Æñ¤À¡¥¤¿¤È¤¨´ê¤¤¤Î¾ó¤ò¤â¤Ã¤Æ¤·¤Æ¤â¡¥ + ¥¨¥ë¥Õ¤Î¥¯¥í¡¼¥¯¤ÏËâË¡¤«¤é¿È¤ò¼é¤Ã¤Æ¤¯¤ì¤ë¡¥ + ¥¢¥ó¥Ð¡¼¥Ï¥ë¥¯¤Ïº®Í𤵤»¤ë»ëÀþ¤ò»ý¤Ã¤Æ¤¤¤ë¡¥ + ²øʪ¤Ë¤Ä¤¤¤Æ¿Ò¤Í¤ë¤³¤È¤Ï¡¤Èó¾ï¤ËÍ­±×¤Ê¤³¤È¤À¤í¤¦¡¥ + ¥í¥ó¥°¥ï¡¼¥à¤ÏÇظ夫¤é¹¶·â¤·¤í -- Èó¾ï¤Ë°ÂÁ´¤À¡ª + ²¿¤â¤Ê¤¤¤È¤³¤í¤Î¥¦¥Ê¥®¤ò¹¶·â¤¹¤ë¤Î¤ÏÃ×̿Ū¤Ê´Ö°ã¤¤¤À¡ª + ²ø²æ¤ËÊñÂÓ¤ò´¬¤¯¤È»Ñ¤¬¸«¤¨¤Æ¤·¤Þ¤¦¡¥ + µÝ¤Ç²øʪ¤ò²¥¤ë¤Î¤Ï¤½¤ì¤Û¤ÉÎɤ¤¹Í¤¨¤Ç¤Ï¤Ê¤¤¡¥ + Ãí°Õ¤·¤í¡ªÂçËâË¡»È¤¤¤¬ÂÔ¤ÁÉú¤»¤Æ¤¤¤ë¤¾¡ª + ´Ç¸îÉؤˤϿÆÀڤˡ¥Éð´ï¤ò¤Ï¤º¤·¤ÆÉþ¤ò椮¤Ê¤µ¤¤¡¥ + ¾Ã²½¤µ¤ì¤ë¤Î¤ÏÈó¾ï¤ËÃÙ¤¤¥×¥í¥»¥¹¤À¡¥ + Çò»æ¤Î´¬Êª¤Ï¤â¤Ã¤ÈÌÌÇò¤¤Æɤßʪ¤Ë¤Ê¤ë¡¥ + Ìܤ¬¸«¤¨¤Ê¤¤¡©¤µ¤Þ¤è¤¦ÌܤòÊá¤Þ¤¨¤Ê¡ª + Ëܲ°¤Ï·è¤·¤Æ´¬Êª¤òÆɤޤʤ¤¡¥¤¿¤À±¿¤Óµî¤ë¤À¤±¤À¡¥ + ´ÊÌÀ¤ÊÀ¬Éþ¡¥À©¸æ¡¤º®Í𡤺©´ê¡¤ÈóÆñ + ¥é¥¤¥È¤òĹ»ý¤Á¤µ¤»¤ë¤Ë¤ÏdzÎÁ¤ËÃí°Õ¤»¤è¡¥ + ¥Ç¥£¥ê¥¸¥¦¥à¤Î·ë¾½¤ÏËÜÅö¤ËÄÁ¤·¤¤¡¥ + ¸¤¤Ï´¥¤·Æù¤ÎÆ÷¤¤¤Ë°ú¤­´ó¤»¤é¤ì¤ë¡¥ + ¸¤¤ÏÌ¿®¿¼¤¤¡¥·è¤·¤Æ¼ö¤ï¤ì¤¿ÉʤòƧ¤â¤¦¤È¤·¤Ê¤¤¡¥ + Í©Îî¤Î»ô¤¤¸¤¤ÏÅܤäƤ¤¤ë¤Î¤Ç¤Ï¤Ê¤¤¡¥Ã±¤Ë¶õÊ¢¤Ê¤Î¤À¡¥ + ˺¤ì¤ë¤Ê¡ªÂ礭¤Ê¸¤¤Ï¾®¤µ¤¤¸¤¤è¤ê¤º¤Ã¤È»¦¤·¤Ë¤¯¤¤¡¥ + Ź¼ç¤Ë¤Á¤ç¤Ã¤«¤¤¤ò½Ð¤¹¤Î¤Ï¤ä¤á¤í¡¥¤µ¤â¤Ê¤¯¤Ð¥®¥ë¥É¤¬¤ªÁ°¤òÉÕ¤±ÁÀ¤¦¡¥ + ¥É¥é¥´¥ó¤Ï·è¤·¤Æ»Ò¶¡¤òÊÜÂǤ¿¤Ê¤¤¡¥¤É¤¦¤»´¶¤¸¤Ê¤¤¤Î¤À¤«¤é¡¥ + ¤Ë¤ó¤¸¤ó¤ò¿©¤Ù¤Ê¤µ¤¤¡¥Ìܤˤ¤¤¤¡¥ + Åà¤Ã¤¿µåÂΤò¿©¤Ù¤ë¤Î¤Ï¡¤¥¤¥¨¥Æ¥£¤ò¿©¤Ù¤ë¤è¤¦¤Ê¤â¤Î¤À¡¥ + »¦¿Í˪¤ò¿©¤Ù¤ë¤Î¤Ï¡¤¥µ¥½¥ê¤ò¿©¤Ù¤ë¤è¤¦¤Ê¤â¤Î¤À¡¥ + Å·¶é¤ò¿©¤Ù¤ë¤Î¤Ï¡¤¥Ë¥ó¥Õ¤ò¿©¤Ù¤ë¤è¤¦¤Ê¤â¤Î¤À¡¥ + ¥ì¥¤¥¹¤ò¿©¤Ù¤ë¤Î¤Ï²ÁÃͤΤ¢¤ë·Ð¸³¤À¡ª + ̤ʧ¤¤¤Î¥ì¥×¥é¥³¡¼¥ó¤ò¿©¤Ù¤ë¤ÈÆÀ¤Ë¤Ê¤ë¤³¤È¤â¤¢¤ë¡¥ + ¤³¤ì¤é¤ÎÃÏÊý¤Ç¤Ï¥¨¥ë¥Ù¥ì¥¹¤ÏÀäÂç¤Ê¿Íµ¤¤¬¤¢¤ë¡¥ + ¥¨¥ë¥Õ¤Ï¤µ¤é¤Ë®¤¤¡¥ + ¥¨¥ë¥Õ¤Î»àÂΤϿçËâ¤Î»àÂΤȤθߴ¹À­¤¬¤Ê¤¤¡¥¤½¤Î¾å»þ¡¹¿À¤È¤â¡¥¡¥¡¥ + ¥¨¥ë¥Õ¤Î¥¯¥í¡¼¥¯¤Ï»¬¤Ó¤Ê¤¤¡¥ + ÁÆ°­¤Ê¥×¥ì¥¤¥ä¡¼¤Ç¤¹¤é¼é¸îÎ¤¤¤ë¡¥ + ËâË¡¤ò¤«¤±¤¿»õ¤ÇÀï¤Ã¤Æ¤ß¤¿¤«¤¤¡© + º®Í𤷤Ƥ¤¤ë»þ¤Ë´¬Êª¤òÆɤó¤Ç¤ß¤¿¤«¡© + ¥È¥í¥ë¤òÂ礭¤ÊÈ¢¤ËÆþ¤ì¤Æ¤ß¤¿¤«¡© + Ìô¤Ë²¿¤«¤ò¿»¤¹¿Í¤¬¤¤¤ë¤Î¤Ï¤É¤¦¤·¤Æ¤«ÉԻ׵Ĥ˻פ俤³¤È¤Ï¤Ê¤¤¤«¡© + ¹â²Á¤Ê¥«¥á¥é¤ÏÆͤ­»É¤¹¤è¤¦¤Ê¥Õ¥é¥Ã¥·¥å¥é¥¤¥È¤ò»ý¤Ã¤Æ¤¤¤ë¡¥ + ³¬Ãʤ¬Â¿¤±¤ì¤Ð¹Ô¤­Àè¤â¿¤¤¡¥ + ²Ð¤Îʸ»ú¤Ï²øʪ¤ò»×¤¤»ß¤Þ¤é¤»¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥ + ²÷Ŭ¤Ë²á¤´¤¹¤¿¤á¤Ë¤Ï¡ØElbereth¡Ù¤È¹ï¤á¡¥ + ÊõÀФÏ̵¤ºî¤ËÅꤲ¼Î¤Æ¤ë¤Ë¤Ï¤¢¤Þ¤ê¤Ë¤âµ®½Å¤À¡¥ + Ê¢¤¬¸º¤Ã¤¿¡©»ØÎؤò¤¹¤ë¤Î¤ò¤ä¤á¤ë¤ó¤À¤Ê¡ª + ¿À¤ÏÀ»¿¦¼Ô¤Ë¤Ï¿¤¯¤ò´üÂÔ¤·¤Æ¤¤¤ë¡¥ + ¿À¤ÏȾ¿À¤ò·ÚÊΤ·¤Æ¤¤¤ë¡¥ + ÃȤ«¤¹¤®¤ë¡©¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤ò³°¤·½Ð¸ý¤ÇÂÔµ¡¤»¤è¡¥ + ¥â¥ó¥¿¥°¤ÎÌîϺ¤Ï³ó¤Ë´¬Êª¤òÆþ¤ì¤Æ¤¤¤ë¡¥ + ÌôÉÓ¤ÏÃí°Õ¤·¤Æ°·¤¦¤è¤¦¤Ë -- Í©ÎÃæ¤Ë¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥ + À»¿å¤Ë¤Ï¤¿¤¯¤µ¤ó¤Î»È¤¤ÅÓ¤¬¤¢¤ë¡¥ + µ²²î¤Ï¸¤¤Ë¤È¤Ã¤Æº®Í𤵤»¤ë¤è¤¦¤Ê·Ð¸³¤À¡ª + ¤«¤Ä¤ÆµÞ¤¤¤Ç¿©¤Ù¤ÆÃ⩻ष¤¿¥Ï¥Ã¥«¡¼¤¬¤¤¤¿¤³¤È¤òÃΤäƤ¤¤¿¡¥ + ¶Ê¤¬¤ê¤¯¤Í¤Ã¤¿¾®¤µ¤ÊÄÌÏ©¤ÎÌÂÏ©¤ÎÆ÷¤¤¤¬¤¹¤ë¡¥ + ´ê¤¤¤Î¾ó¤ò´ê¤ï¤Í¤Ð¤è¤«¤Ã¤Î¤¿¤Ë¤È´ê¤¦¡¥(´ê˾Ū»×¹Í¡¥) + µð¿Í¤È¥­¥ã¥Ã¥Á¥Ü¡¼¥ë¤ò¤¹¤ë¤È¤Ï¤ª´«¤á¤Ç¤­¤ó¤Ê¡¥ + ¸«Ä¥¤Ã¤Æ¤¤¤ë¤¾ -- ÂçËâË¡»È¤¤¥¤¥§¥ó¥À¡¼ + ¥¢¥¤¥¹¥Ü¥Ã¥¯¥¹¤Ï¿©ÎÁ¤ò¿·Á¯¤ËÊݤġ¥ + ȳ¤»¤é¤ì¤Æ¤¤¤ë¤Î¤Ê¤é¡¤¤½¤ì¤ÏÃ×̿Ū¤ÊÉð´ï¤Ë¤è¤Ã¤Æ¤Ê¤µ¤ì¤ë¡¥ + ÂçËâË¡»È¤¤¤ò»¦¤·¤¿¤Î¤Ê¤é¡¤È¾¿À¤Ø¤ÎÆ»¤¬³«¤«¤ì¤ë¡¥ + ·ê¤ò·¡¤ë¾ó¤¬Íߤ·¤±¤ì¤Ð¡¤¥ß¥Î¥¿¥¦¥í¥¹¤Ë¤ª´ê¤¤¤¹¤ë¤³¤È¤À¡¥ + ¹¶·â¤òÌ¿Ã椵¤»¤¿¤¤¤Î¤Ê¤é¡¤Ã»·õ¤ò»È¤¤¤Ê¤µ¤¤¡¥ + Ź¤ÇÅð¤ß¤òƯ¤­¤¿¤¤¤Ê¤é¡¤¸¤¤ò·±Îý¤¹¤ë¤³¤È¤À¡¥ + Æ»¤Ë̤俤Τʤ顤¼¡¤«¤éŹ¤ÇÃÏ¿Þ¤òÇ㤦¤è¤¦¤Ë¤¹¤ë¤³¤È¤À¡¥ + Ź¤ÎÃæ¤Ç¤Ï¡¤Ç㤤¤â¤Î¤ò¤¹¤ëÁ°¤ËÃÍ»¥¤ò¸«¤¿Êý¤¬¤¤¤¤¡¥ + Ź¤ÎÃæ¤Ç¾ó¤ò»È¤¦¤Î¤Ï¹Ôµ·¤Î°­¤¤¤³¤È¤À¡¥ + ¿¿ÌëÃæ¤ËÊè¾ì¤òˬ¤ì¤ë¤Î¤Ï´í¸±¤À¡¥ + Å«¤ò¿á¤¤¤Æ¸¤¤ò¸Æ¤Ö¤Î¤ÏÎɤ¤¹Í¤¨¤Ç¤¢¤ë¤È¤Ï¸Â¤é¤Ê¤¤¡¥ + ÂçËâË¡»È¤¤¤Ï¤¤¤¯¤é¤«¤Î½õ¤±¤ò¸Û¤Ã¤¿¤È±½¤µ¤ì¤Æ¤¤¤ë¡¥ + ¥æ¥Ë¥³¡¼¥ó¤Ë¥ë¥Ó¡¼¤òº¹¤·½Ð¤¹¤Î¤ÏÎɤ¤¹Í¤¨¤À¤í¤¦¡¥ + ¤¢¤Ê¤¿¤Î¸¤¤¬ÀФˤʤë¤Î¤Ï°ÛÍͤËÈᤷ¤¤¡¥ + ³»¤Ï»¬¤Ó¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤ª¤±¡¥ + Éð´ï¤ò»À¤Ë¶áÉÕ¤±¤ë¤Ê¡¥ + ¼«Ê¬¤ÈƱ¤¸Â°À­¤Î¥æ¥Ë¥³¡¼¥ó¤ò»¦¤¹¤È±¿¤¬°­¤¯¤Ê¤ë¡¥ + Èé¤Ë¤ÏËÉ¿åÀ­¤¬¤¢¤ë¡¥µí¤¬»±¤ò¤µ¤·¤Æ¤¤¤ë¤Î¤ò¸«¤¿¤³¤È¤¬¤¢¤ë¤«¤¤¡© + ¥ì¥×¥é¥³¡¼¥ó¤Ï¤³¤Î̵ܤǺǤâÏӤΤ¤¤¤¥¹¥ê¤À¡¥ + ¥È¥«¥²¤Î»àÂΤϥ³¥«¥È¥ê¥¹¤«¤é¼é¤Ã¤Æ¤¯¤ì¤ë¡¥ + ¶â¤Î»¼º¡¥º³ºÙ¤Ê»¼º¡¥Ì¾ÍÀ¤Î»¼º¡¤Â¿Âç¤Ê»¼º¡¤ñÙ¤µ¤ì¤Æ»¼º¡¤¤¹¤Ã¤«¤é¤«¤ó¡¥ + ÂçÄñ¤Î²øʪ¤Ï±Ë¤²¤Ê¤¤¡¥ + ²»³Ú¤Ë¤Ï´è¸Ç¤ÊÄ·¤Í¶¶¤ËºîÍѤ¹¤ëËâÎϤ¬¤¢¤ë¡¥ + ²»³Ú¤Ë¤Ï»ÄǦ¤Ê½Ã¤ò¤Ê¤À¤á¤ëËâÎϤ¬¤¢¤ë¡¥ + ·è¤·¤ÆÈÖʼ¤ò¹¶·â¤¹¤ë¤Ê¡¥ + ¥í¥ó¥°¥ï¡¼¥à¤Ë¤Ï·è¤·¤Æ¾è¤ë¤Ê¡¥ + ¼ö¤¤¤Î¸ÀÍÕ¤ò¹ï¤à¤Î¤Ë·è¤·¤ÆºÇ¾å¤ÎÉð´ï¤ò»È¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡¥ + ½Å¤¤²Ùʪ¤òÊú¤¨¤ÆÀ臘¤Î¤ÏÍưפǤϤʤ¤¡¥ + ´Ç¸îÉؤÏÍç¤Î¿Í´Ö¤Ë¿¨¤ë¤è¤¦¤Ë´·¤ì¤Æ¤¤¤ë¡¥³²¤Ï²Ã¤¨¤Ê¤¤¡¥ + ¥Ë¥ó¥Õ¤Ïº¿¤«¤¿¤Ó¤é°Ê¾å¤Î¤â¤Î¤Ç¤âÃ¥¤¤µî¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + ¤½¤Î¤¦¤Á»Æ¸¤¤ÏÂ礭¤Ê¸¤¤Ë¤Ê¤ê¡¤¤¢¤Ê¤¿¤Ï¤½¤ì¤ò¸Ø¤ê¤Ë¤¹¤ë¤³¤È¤À¤í¤¦¡¥ + ´ÌµÍ¤ò³«¤±¤ë¤Î¤ÏÆñ¤·¤¤¡¥ÆäËÁǼê¤Î»þ¤Ï¡¥ + ¥ª¡¼¥¯¤È»¦¿Í˪¤ÏÀ¸³èÍͼ°¤òƱ¤¸¤Ë¤·¤Æ¤¤¤ë¡¥ + ¥ª¡¼¥¯¤Ï°Å¤¤Éô²°¤Ç¤Ï»Ò¤ò¤Ê¤¹¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + ÉÔ´ïÎ̤ʥ˥ó¥Õ¤Ï³²¤¬¤Ê¤¤¡¥ + AD&D¤ò¥×¥ì¥¤¤¹¤ë¤Î¤ÏÈó¾ï¤ËÌò¤ËΩ¤Ä¤«¤â¤·¤ì¤Ê¤¤¡¥ + ¥¬¥ó¥È¥ì¥Ã¥È¤ò¥×¥ì¥¤¤¹¤ë¤Î¤Ï¤¤¤¯¤é¤«¤Î¾õ¶·¤Ç·¼È¯Åª¤À¡¥ + ¥Ó¥ê¥ä¡¼¥É¤ò¥×¥ì¥¤¤¹¤ë¤Î¤ÏŹ¤ÎÃæ¤ÇÌò¤ËΩ¤Ä¡¥ + Ź¼ç¤òÊѲ½¤µ¤»¤ë¤È°ÂÁ´¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥ + ¤¢¤Ê¤¿¤Î¸¤¤òÊѲ½¤µ¤»¤ë¤È¿ʬ°ÂÁ´¤À¡¥ + Ìô¤ÏÉáÄ̤Ϻ®¤¶¤é¤Ê¤¤¡¥¤À¤¬»þ¡¹... + ¤Ò¤½¤Ò¤½¡ª¶À¤ò»È¤Ã¤Æ¤ä¤ë¤ó¤À¤è¡ª + ½Ö´Ö°ÜÆ°¤Î»ØÎؤò¿È¤ËÉÕ¤±¤è¡¥ÌÔ¹¶·â¤«¤é±¿¤Óµî¤Ã¤Æ¤¯¤ì¤ë¡¥ + ¸÷Àþ¤Ï¥Ö¡¼¥á¥é¥ó¤Ç¤Ï¤Ê¤¤¡¥¤â¤Á¤í¤ó¡¥¤À¤¬¤·¤«¤·... + ƶ·¢¤ËÆþ¤ëÁ°¤ËÀâÌÀ½ñ¤òÆɤá -- ¤µ¤â¤Ê¤¯¤Ð»¦¤µ¤ì¤ë¤Ç¤¢¤í¤¦¡¥ + ¥Ï¡¼¥Ð¡¼¥È¤òÆɤळ¤È¤Ï¡¤¤¢¤ë¥±¡¼¥¹¤Ç·¼È¯Åª¤À¡¥ + ¥È¡¼¥ë¥­¥ó¤òÆɤळ¤È¤Ï½õ¤±¤Ë¤Ê¤ë¤À¤í¤¦¡¥ + ¿ì¤Ã¤Ñ¤é¤Ã¤Æ´¬Êª¤òÆɤळ¤È¤Ï¡¤º®Í𤷤¿·ë²Ì¤ò¤â¤¿¤é¤¹¤À¤í¤¦¡¥ + »¬¤Î²øʪ¤Ï¿å¤ò¹¥¤à¡¥¤À¤¬¤·¤«¤·¡¤ÅÛÅù¤¬·ù¤¦Ìô¤â¤¢¤ë¡¥ + Ź¼ç¤Ï¸½¶â¤Çʧ¤Ã¤Æ¤¤¤ë´Ö¤Ï¥¯¥ì¥¸¥Ã¥È¥«¡¼¥É¤â¼õ¤±ÉÕ¤±¤Æ¤¯¤ì¤ë¡¥ + Ź¼ç¤Ï´Ñ¸÷µÒ¤ò¥¢¥í¥Ï¥·¥ã¥Ä¤Ç1¥Þ¥¤¥ë¤âÀ褫¤é¸«È´¤¯¤³¤È¤¬¤Ç¤­¤ë¡¥ + ³ó¤ÏÃæ¿È¤ò²Ú»á452¤Þ¤Ç¼é¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + Ź¼ç¤Ï°ìÍñÀ­ÁÐÀ¸»ù¤ò¸«Ê¬¤±¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥ + Ź¼ç¤Ï¿®¤¸¤é¤ì¤Ê¤¤¤Û¤ÉǦÂѶ¯¤¤¡¥ + Ź¼ç¤Ï´Ñ¸÷µÒ¤Ë¤ÏÃÍÃʤò¤Õ¤Ã¤«¤±¤ë¤³¤È¤â¤¢¤ë¡¥ + Ź¼ç¤Ë¤ÏÉü½²¤è¤ê¤â¶â¤ÎÊý¤¬²ÁÃͤ¬¤¢¤ë¡¥ + Ź¼ç¤Ï»ú¤òÆɤá¤Ê¤¤¡¥Å¹¤ÎÃæ¤Ë¹ï¤ó¤Ç²¿¤Î¸ú²Ì¤¬¤¢¤ë¤Î¤À¡© + »ô¤¤¤Ê¤é¤¹¤³¤È¤¬¤Ç¤­¤ë²øʪ¤â¤¤¤ë¡¥¥É¥é¥´¥ó¤ò¤Ê¤é¤·¤¿¥Ï¥Ã¥«¡¼¤Ë²ñ¤Ã¤¿¤³¤È¤â¤¢¤ë¡¥ + 狼¤¬¤«¤Ä¤Æ½Ò¤Ù¤¿¡¥¾º¤ë¤³¤È¤Ï < ¹ß¤ê¤ë¤¿¤á¤Ë >¡¥ + 狼¤¬Í·ê¤Ë¥È¥²¤ò»Å³Ý¤±¤Æ¤¤¤¿¤¾¡ª + »þ¤Ë²øʪ¤Ï¤¢¤Ê¤¿¤ò¹¶·â¤·¤Ê¤¤¤Ç¸ß¤¤¤ËÀ臘¤³¤È¤â¤¢¤ë¡¥ + ¤Û¤¦¤ì¤óÁ𡤤ˤ󤸤󡤥á¥í¥ó -- ´Ç¸îÉؤËÁê±þ¤·¤¤¿©»ö¡ª + Éå¤Ã¤¿Æù¤ÏÆǤè¤ê¤âÂΤ˰­¤¤¡ª + ±ó»ë¤Ïñ¤Ê¤ë¥³¥Ä¤À¡¥°ìÅÙ¤ä¤êÊý¤òÃΤì¤Ð¡¤´Êñ¤Ê¤³¤È¡¥ + °Å¤¤·Ù¹ð¤Ç¤¢¤ë¤Û¤É¡¤´í¸±¤Ï¤è¤ê¶²¤í¤·¤¤¡¥ + ¥ì¥×¥é¥³¡¼¥ó¿®ÍѶâ¸Ë¤ÏËâË¡¤Îµ­Ç°ÁҸˤΰìÉôÌç¤Ç¤Ï¤Ê¤¤¡¥ + ÂçËâË¡»È¤¤¤Ï¡¤»à¤È¤Ïµ®½Å¤Ê·Ð¸³¤È¸«¤Ä¤±¤¿¤ê¡¥ + ºÇ¹â¤ÎÁõÈ÷¤Ï¡¤¤â¤Á¤í¤óºÇ¤â¹â¤¯¤Ä¤¯¡¥ + ¿À¤Ï¤ä¤Ã¤«¤¤¤ÊÀ»¿¦¼Ô¤òɾ²Á¤·¤Ê¤¤¡¥ + ËâË¡¤Î¥Þ¡¼¥«¤Ï·õ¤è¤ê¶¯¤·¡¥ + ·î¤Ï¤³¤Î¥²¡¼¥à¤Ë±Æ¶Á¤¹¤ëÍ£°ì¤ÎÅ·ÂΤǤϤʤ¤¡¥ + ¥ª¡¼¥¯¤Ï¥¨¥ë¥Õ¥ê¥¹¥È¤È¤¤¤¦Ì¾¤ÎÉý¹­¤Î·õ¤ò¿¶¤ê¤Þ¤ï¤·¤¿¡¥¤¢¤Ê¤¿¤Ï»à¤ó¤À... + ²¿¤âµ¯¤³¤é¤Ê¤¤¾ó¤ÎÈëÌ©¡¥¤â¤¦°ìÅٻ¤Æ¤ß¤í¡ª + ¶À¤Ë¤Ï¤¤¤Ä¤â¿ÀÈëŪ¤Ê²¿¤«¤¬¤¢¤ë¡¥ + ̵ܤαü¿¼¤¯¤Ë¤Ï¥Þ¥¹¥¿¡¼¥Þ¥¤¥ó¥É¤¬¤¢¤ë¡¥ + ưʪ±à¤Ë¤ÏÇüÂç¤ÊÊõ¤¬±£¤µ¤ì¤Æ¤¤¤ë¡¥ + Ìܤ˸«¤¨¤ë¤è¤ê¤â¹¹¤Ê¤ëËâË¡¤¬¤³¤Îƶ·¢¤Ë¤¢¤ë¡¥ + Â礭¤Ê¸¤¤òË«¤á¤Æ¤â³²¤Ï¤Ê¤¤¡¥ + ¥ß¥ß¥Ã¥¯¤ò¿©¤Ù¤ë¤Î¤Ë»÷¤¿¤³¤È¤Ï¤Ê¤¤¡¥ + ¥¼¥é¥Á¥ó¥­¥å¡¼¥Ö¤Ï¤¢¤Ê¤¿¤òËãá㤵¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¤é¤·¤¤¡¥ + ¥¸¥ç¥¦¥Ó¥ì¥Ã¥¯¥¹¤Ï·êËÙ¤ê¤Î¾ó¤ò¶²¤ì¤Æ¤¤¤ë¤é¤·¤¤¡¥ + ¥á¥Ç¥å¡¼¥µ¤Ï¤¢¤Ê¤¿¤òÂæºÂ¤ËÃÖ¤­¤¿¤¬¤Ã¤Æ¤¤¤ë¤½¤¦¤À¡¥ + ¥ô¥é¥É¤ÏÀ¸¤­¤Æ¤¤¤ë¤é¤·¤¤¡ª¡ª ... ̵ܤÎÃæ¤Ç¡¥ + ¤·¤Ð¤·¤Ð¡ØElbereth¡Ù¤Ë¤Ä¤¤¤Æ½ñ¤«¤ì¤Æ¤¤¤ë¤é¤·¤¤¡¥ + Êݸ¤ÎÂÞ¤ÏÁ´¤Æ¤òÆþ¤ì¤é¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤½¤¦¤À¡¥ + ½ËÊ¡¤µ¤ì¤¿¥¯¥¢¥·¥È¤ÎÆù¤Î´ÌµÍ¤ÏÁÇÁᤤ¿©»ö¤Ë¤Ê¤ë¤½¤¦¤À¡¥ + Ç­¤Ï櫤òÈò¤±¤ë¤½¤¦¤À¡¥ + ƶ·¢¥°¥â¤Ï¡¤»þ¤ª¤êƶ·¢¥°¥â¤ÎÍñ¤ò¿©¤Ù¤ë¤½¤¦¤À¡¥ + ¸­¤¤ËâË¡»È¤¤¤Î»ý¤ÄǽÎÏÃÍ¡¥18/** 24 18 24 24 24 + ¤Ë¤ó¤Ë¤¯¤ÏÀµ¤·¤¯°·¤¨¤ÐÎɤ¤¤ª¼é¤ê¤Ë¤Ê¤ë¤½¤¦¤À¡¥ + ¼ö¤ï¤ì¤¿Å¾°Ü¤Î´¬Êª¤Ï¤¢¤Ê¤¿¤ò´íµ¡¤Ë´Ù¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥ + ¥À¥¤¥ä¥â¥ó¥É¤Ï¤â¤¦°ì¤Ä¤Î¼ïÎà¤Î¹¬¤»¤ÎÀФ餷¤¤¡¥ + ¸¤¤Ïʪ¤ò¼è¤Ã¤Æ¤¯¤ë¤è¤¦¤Ë·±Îý¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤½¤¦¤À¡¥ + ¥¼¥é¥Á¥ó¥­¥å¡¼¥Ö¤Ï·ò¹¯Åª¤ÊÄ«¿©¤Ë¤Ê¤ë¤½¤¦¤À¡¥ + µð¿Í¤Ï¤Á¤ã¤ó¤È¿©¤Ù¤ë¤³¤È¤Ç¶¯¤¯¤Ê¤ë¤½¤¦¤À¡¥»î¤·¤Æ¤ß¤Ê¡ª + ¥°¥ê¥Ã¥É¥Ð¥°¤Ï¤¹¤ì°ã¤¦»þ¤Ë¤Ï¹¶·â¤·¤Ê¤¤¤é¤·¤¤¡¥ + ¥ì¥ó¥Ð¥¹¤Ï¤È¤Æ¤â·Ú¤¤¿©»ö¤é¤·¤¤¡¥ + ½Å¤·¤Ë¤Ï´ñ̯¤Ê°úÎϤ¬¤¢¤Ã¤Æ¡¤¤½¤ì¤ÏÉÔ±¿¤Ê¤³¤È¤Ç¤Ï¤Ê¤¤¤½¤¦¤À¡¥ + ¤É¤ó¤Ê̾Á°¤Ç¸Æ¤Ü¤¦¤È¤â¡¤¸°³«¤±´ï¶ñ¤Ï¸°³«¤±´ï¶ñ¤À¤½¤¦¤À¡¥ + ¹¥±¿¤ÊËâ½ü¤±¤ÏÆǤÎÌ𤫤é¼é¤Ã¤Æ¤¯¤ì¤ë¤é¤·¤¤¡¥ + ¶À¤Ï¤µ¤Þ¤è¤¦ÌܤòÆ°¤±¤Ê¤¯¤¹¤ë¤¬¡¤¤¢¤Ê¤¿¤Ï¤½¤ì¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤ë¤é¤·¤¤¡¥ + ÃæΩ¤Î¿Í´Ö¤Ï¡¤±ê¤«¿áÀã¤Î¤¤¤º¤ì¤«¤Î·õ¤ò¼ê¤ËÆþ¤ì¤ë¤À¤í¤¦¡¥ + ÊѲ½¤Î櫤ÏËâË¡¤Î櫤ǡ¤ËâË¡¤Î¼é¤ê¤¬Æ°ºî¤ò˸¤²¤ë¤½¤¦¤À¡¥ + ²óÉü¤ÎÌô¤Ïɵ¤¤ÎÌô¤òÂǤÁ¾Ã¤¹¤é¤·¤¤¡¥ + ²øʪ¤òõ¤¹Ìô¤Ï¡¤¤·¤Ð¤·¤ÐµÕÊý¸þ¤Ë¤âƯ¤¯¤½¤¦¤À¡¥ + ή¤·Âæ¤Ï¾²¤è¤ê¹â¤¤¾ì½ê¤«¤é¸«¤ë¤È¤Þ¤¿°ã¤Ã¤Æ¸«¤¨¤ë¤é¤·¤¤¡¥ + ¾¤´­¤µ¤ì¤¿°­Ëâ¤Ï¥²¡¼¥à¤ò¹¥Å¾¤µ¤»¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥ + ¥ì¥¤¥¹¤ÎÆù¤Î´ÌµÍ¤ÏÄÁ¤·¤¤ÈÕ»Á¤ÎÂ賤À¤½¤¦¤À¡¥ + ¥æ¥Ë¥³¡¼¥ó¤Ï¹¥±¿¤ò¤â¤¿¤é¤¹¤«¤â¤·¤ì¤Ê¤¤¡¥ + ̵Îϲ½¤Î¾ó¤ÏÊѲ½¤Î¾ó¤Î¤è¤¦¤Ê¤â¤Î¤é¤·¤¤¡¥ + »Ü¾û¤Î¾ó¤ÏÈâ°Ê³°¤Î¤â¤Î¤âÊĤá¤ë¤³¤È¤¬¤Ç¤­¤ë¤é¤·¤¤¡¥ + ÊѲ½¤Î¾ó¤Ï¥²¡¼¥à¤òÊѤ¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤é¤·¤¤¡¥ + ËâË¡»È¤¤¤ÏÆóÅÙÌܤϹ¹¤Ë¶¯¤¤¤½¤¦¤À¡¥ + ¥¾¡¼¥ó¤Ï¤¢¤Ê¤¿¤òÄÉÀפ¹¤ë»þ¤Ë¾ã³²Êª¤Î¤³¤È¤Ïµ¤ÉÕ¤­¤â¤·¤Ê¤¤¤é¤·¤¤¡¥ + ¥¯¥ì¥¸¥Ã¥È¥«¡¼¥É¤ÎÍðÍѤÏÃÙ¤«¤ìÁᤫ¤ì¾×·â¤òÍ¿¤¨¤ë¤À¤í¤¦¡¥ + Ëâ½ü¤±¤ÏÂçÄñ¤Î¤â¤Î¤ÈƱ¤¸¤è¤¦¤Ë¡¤Ã×̿Ū¤«¡¤¤¢¤ë¤¤¤ÏÌ¿¤òµß¤¦¤³¤È¤¬¤¢¤ë¤½¤¦¤À¡¥ + º×ÃŤϽËÊ¡¤ò¼±Ê̤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤é¤·¤¤¡¥ + ¥¦¡¼¥º¤Ï·¤¤ò¤«¤¸¤ê¡¤´ä¤â¤°¤é¤Ï·¤¤ò¿©¤Ù¤ë¤½¤¦¤À¡¥ + ¥Ö¥ê¥­¤ÎÇúȯ¤Ç»à¤ó¤ÀÉÔ¹¬¤Ê¥Ï¥Ã¥«¡¼¤¬¤¤¤ë¤½¤¦¤À¡¥ + ¹üÆ¡¾¦¿Í¤ÏÊõÀФ˶½Ì£¤¬¤¢¤ë¤é¤·¤¤¡¥ + ¼ò¤ÏÇö¤á¤ë¤³¤È¤Ï¤Ç¤­¤ë¤¬¡¤¸ú¤«¤Ê¤¯¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + Ãí°Õ¤·¤Æʹ¤±¤Ð¡¤±£¤·Èâ¤Î²»¤¬Ê¹¤±¤ë¤½¤¦¤À¡¥ + ½ý¤òÊñÂӤǴ¬¤¯¤³¤È¤Ï¸ºß¤òÃΤ餷¤á¤ë¤³¤È¤Ë¤Ê¤ë¤é¤·¤¤¡¥ + ¤Ë¤ó¤¸¤ó¤È¤Ë¤ó¤¸¤ó¥¸¥å¡¼¥¹¤Ï»ëÎϤòÎɤ¯¤¹¤ë¤é¤·¤¤¡¥ + ƶ·¢¥°¥â¤Ï¹â²Á¤Ê·ò¹¯¿©¤È¤Ï¤ß¤Ê¤µ¤ì¤Æ¤¤¤Ê¤¤¤½¤¦¤À¡¥ + Ⱦ¿À¤Ï¼ê¤ËÆþ¤ì¤¿¤³¤ÎÀ¤¤Î»ý¤Á¤â¤Î¤ò¼êÊü¤µ¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥ + É÷¤Î¥¸¥ó¤òµ¯¤³¤¹¤³¤È¤Ï¡¤¹â¤¯¤Ä¤¯´Ö°ã¤¤¤«¤â¤·¤ì¤Ê¤¤¡¥ + ¥É¥é¥´¥ó¤ÎÎÚ¤ÏËâÎϤòÆÀ¤Æ¼Â¤ËÌ¥ÏÇŪ¤Ë¤Ê¤êÆÀ¤ë¤½¤¦¤À¡¥ + Àô¤Ë¥³¥¤¥ó¤òÅꤲÆþ¤ì¤Æ¤â¡¤´ê¤¤¤ò¤«¤Ê¤¨¤Æ¤Ï¤¯¤ì¤Ê¤¤¤À¤í¤¦¡¥ + ¥É¥ï¡¼¥Õ¤ÏÃá½øÀµ¤·¤¯¼«Ê¬¤Î»Å»ö¤ËÀìÇ°¤·¤Æ¤¤¤ë¤½¤¦¤À¡¥ + ¤³¤¦¤â¤ê¤Î»àÂΤò¿©¤Ù¤ë¤È¡¤¤·¤Ð¤é¤¯¤³¤¦¤â¤ê¤Î¤è¤¦¤Ë¤Ê¤ë¤é¤·¤¤¡¥ + ¥¯¥é¥à¤ò¿©¤Ù¤ë¤È³èȯ¤ËÆ°¤¯¤é¤·¤¤¡¥ + ÀÄ¿§¥¼¥ê¡¼¤ò¿©¤Ù¤ë¤È´¨µ¤¤¬½±¤Ã¤Æ¤¯¤ë¤é¤·¤¤¡¥ + ̵ܤ«¤é¤Îæ½Ð¤Ï¡¤½ª¤ê¤Î»Ï¤Þ¤ê¤Ë²á¤®¤Ê¤¤¤é¤·¤¤¡¥ + »×¤¤¤â¤è¤é¤Ê¤¤¤¹¤­¤ÞÉ÷¤ò´¶¤¸¤ë¤³¤È¤Ï¡¤°ì¼ï¤ÎÆÍÇ˸ý¤Ë¤Ê¤ë¤À¤í¤¦¡¥ + ¼ö¤ï¤ì¤¿³¥¿§¤ÎÀФòȯ¸«¤¹¤ë¤³¤È¤Ï¾ï¤ËÉÔ±¿¤Ê¤³¤È¤À¤½¤¦¤À¡¥ + ¥ì¥Ù¥ë¤¬¾å¤¬¤ë¤³¤È¤Ï¡¤»ëÎϤòÁý¤¹¤³¤È¤Î¤Ç¤­¤ë·Ð¸³¤À¤½¤¦¤À¡¥ + ¾®¤µ¤Ê¥Ø¥Ó¤ÎÆù¤¬ÈþÌ£¤Ê¤ë¤³¤È¤Ïµ©¤À¤¬¡¤¤½¤ì¤Ç¤â¤Ê¤ª·ò¹¯Åª¤À¤½¤¦¤À¡¥ + ´ïÍѤµ¤Î¾®¼ê¤Ë¤Ï±£¤µ¤ì¤¿ËâË¡¤Î¥¿¥Ã¥Á¤¬¤¢¤ë¤é¤·¤¤¡¥ + Å·¹ñ¤Ø¹Ô¤¯¤Î¤Ï̵ܤ«¤éÈ´¤±½Ð¤¹¤â¤¦°ì¤Ä¤ÎÊýË¡¤Ë²á¤®¤Ê¤¤¡¥ + ¶â¿§¥Ê¡¼¥¬¤Ï¤¢¤Ê¤¿¤¬¤½¤¦¤Ç¤¢¤ë¸Â¤ê¡¤Ë¡¤ò¼é¤ë½»¿Í¤À¤½¤¦¤À¡¥ + ¥°¥ì¥à¥ê¥ó¤Ïº£¤è¤ê¤âÎä·¤µ¤ò´¶¤¸¤µ¤»¤Æ¤¯¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥ + ¥°¥ê¥Ã¥É¥Ð¥°¤Ï¥Ç¥«¥ë¥ÈºÂɸ¤Ë¸·Ì©¤Ç¤¢¤ë¡¥ + ¥Ë¥ó¥Õ¤ò¿©¤Ù¤ë¤È¤·¤Ð¤·¤Ð¥Ï¥Ã¥«¡¼¤ÏÈô¤ó¤À¤êÄ·¤Í¤¿¤ê¤¹¤ë¤è¤¦¤Ë´¶¤¸¤ë¤½¤¦¤À¡¥ + ÊѲ½À©¸æ¤ÎǽÎϤò»ý¤Ã¤Æ¤¤¤ì¤Ð¡¤¥·¥ç¥Ã¥¯¤ò¼õ¤±¤ë¤³¤È¤â¤Ê¤¤¤À¤í¤¦¡¥ + ¿©ÎÁ¤òÊ¿¤é¤²¤ë¤Î¤¬Æñ¤·¤¤¤Ê¤é¡¤¤¢¤È¤Ò¤È¤«¤¸¤ê¤Ç»à¤Ë»ê¤ë¤³¤È¤¬¤¢¤ë¤½¤¦¤À¡¥ + ´ã¶À¤ò¤«¤±¤Æ¤¤¤Ê¤¤¤Î¤Ê¤é¡¤¤É¤¦¤·¤Æ¤Ë¤ó¤¸¤ó¤Ê¤ó¤Æµ¤¤Ë¤¹¤ë¤ó¤À¡© + ­¸µ¤Î¤æ¤ë¤ó¤ÀÈĤ˵¤ÉÕ¤¤¤¿¤é¡¤¤½¤Î¾å¤Ë¾è¤é¤Ê¤¤Êý¤¬¤¤¤¤¤½¤¦¤À¡¥ + Ä줫¤é¥¹¥¿¡¼¥È¤·¤¿¤Î¤Ê¤é¡¤¹Ô¤¯¤Ù¤­Í£°ì¤Î¾ì½ê¤Ï¾å¤À¤½¤¦¤À¡¥ + Å·¹ñ¤Ë½Ö´Ö°ÜÆ°¤·¤¿¤Ê¤é¤Ð¡¤´û¤Ë»à¤ó¤Ç¤¤¤ë¤È»×¤ï¤ì¤ë¤½¤¦¤À¡¥ + Ź¤Ç¤Ï¥Ä¥±¤âÀÁµá¤µ¤ì¤ë¤½¤¦¤À¡¥ + ·Ú¤¤»þ¤Ë¤ÏÀФòÄ̤êÈ´¤±¤ëÊýË¡¤ò¹Í¤¨ÉÕ¤¯¤«¤â¤·¤ì¤Ê¤¤¡¥ + ̵ܤǶÀ¤ò²õ¤¹¤È7ǯ¤Ë¤ï¤¿¤Ã¤ÆÉÔ¹¬¤Ë¤ß¤Þ¤ï¤ì¤ë¤½¤¦¤À¡¥ + ÉáÄÌ̵ܤǤϤ¤¤«¤Ê¤ë±¿¤â»ý¤Á¹ç¤ï¤»¤Æ¤¤¤Ê¤¤¤½¤¦¤À¡¥ + ½ËÊ¡¤µ¤ì¤¿¹¬¤»¤ÎÀФϤ¢¤Ê¤¿¤Î¿À¤Îµ¡·ù¤òÎɤ¯¤¹¤ë¤½¤¦¤À¡¥ + ÂçËâË¡»È¤¤¤ò»¦¤¹Êý¤¬¡¤Âç¿Í¤·¤¯¤µ¤»¤ë¤è¤ê´Êñ¤À¤½¤¦¤À¡¥ + ·ÙÈ÷°÷¤Ë²ñ¤¦¤¿¤á¤Ë¤Ï¡¤¤¿¤Ã¤¿1¥´¡¼¥ë¥ÉÅð¤à¤À¤±¤Ç¤¤¤¤¤½¤¦¤À¡¥ + ¤¦¤Þ¤¯Ìô¤òº®¤¼¹ç¤ï¤»¤ë¤È¡¤Çúȯ¤¬µ¯¤³¤ë¤é¤·¤¤¡¥ + ¥á¥Ç¥å¡¼¥µ¤Î°ìÊͤò¼õ¤±¤¿»þ¤ËÌÕÌܤǤʤ¤¤È¤Ï¡¤¤Ê¤ó¤¿¤ë±¿¤è¡¥ + Ź¼ç¤ò»¦¤¹¤È±¿¤¬°­¤¯¤Ê¤ë¤é¤·¤¤¡¥ + ²øʪ¤Ï²øʪ¤ò¶±¤¨¤µ¤»¤ë´¬Êª¤òƧ¤á¤Ê¤¤¤é¤·¤¤¡¥ + ÂçÄñ¤Î²øʪ¤Ï¥Õ¥ë¡¼¥È¤Î±éÁդˤ϶ˤá¤Æ¤¦¤ó¤¶¤ê¤·¤Æ¤¤¤ë¤½¤¦¤À¡¥ + ¥ß¥¤¥é¤Î»àÂΤÏÊݸ¾õÂÖ¤¬°­¤¤¤é¤·¤¤¡¥ + ´ê¤¤¤Î¾ó¤Ï¤â¤Á¤í¤ó¸·½Å¤Ë¥¬¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤½¤¦¤À¡¥ + ´ä¤Î²¼¤Î¤¬¤é¤¯¤¿¤Ë¤Ïï¤â¸«¸þ¤­¤â¤·¤Ê¤¤¤é¤·¤¤¡¥ + ¥æ¥Ë¥³¡¼¥ó¤Î³Ñ¤¬»¬¤Ó¤ë¤Ê¤ó¤Æ¤³¤È¤Ï¤Ê¤¤¤é¤·¤¤¡¥ + õ¸¡²È¤¬±Êµ×¤ËÀ¸¤­¤é¤ì¤ë¤«¤É¤¦¤«Ã¯¤âÃΤé¤Ê¤¤¤½¤¦¤À¡¥·¯¤Ï¡© + ¤È¤¢¤ëÌô¤ÎÃæ¤Ë¤ÏÉ÷¤Î¥¸¥ó¤¬Æþ¤Ã¤Æ¤¤¤ë¤È¤¤¤¦»ö¼Â¤Ïï¤Ë¤âÊѤ¨¤é¤ì¤Ê¤¤¤½¤¦¤À¡¥ + ¤È¤¢¤ëÌô¤ÎÃæ¤Ë¤ÏÍ©ÎÆþ¤Ã¤Æ¤¤¤ë¤È¤¤¤¦»ö¼Â¤Ïï¤Ë¤âÊѤ¨¤é¤ì¤Ê¤¤¤½¤¦¤À¡¥ + ¥Ë¥ó¥Õ¤Ï¤¤¤Ä¤â¥í¥Ã¥¯¥ó¥í¡¼¥ë¤Ë¤Ò¤Ã¤«¤«¤ë¤½¤¦¤À¡¥»î¤·¤Æ¤ß¤Ê¡ª + °ìö¥ª¥í¥°¥Ï¥¤¤ò´ÌµÍ¤Ë¤¹¤ì¤Ð¡¤ºÆ¤Ó´é¤ò½Ð¤¹¤³¤È¤Ï¤Ê¤¤¤À¤í¤¦¡¥ + ÀΡ¹¡¤¥¶¥ó¤Ï·è¤·¤Æ·¤¤ò°ú¤ÃÁߤ³¤¦¤È¤Ï¤·¤Ê¤«¤Ã¤¿¤½¤¦¤À¡¥ + ·Ð¸³¤òÀѤó¤ÀËâË¡»È¤¤¤Î¤ß¤¬Å·¶é¤ò¤´¤Þ¤«¤¹¤³¤È¤¬¤Ç¤­¤ë¤é¤·¤¤¡¥ + º®Æ٤˰¤¹¤ë¼Ô¤Î¤ß¤¬Å¹¼ç¤ò»¦¤·¤Æ¤âÂç¾æÉפÀ¤½¤¦¤À¡¥ + ¥á¥¹¤Î²øʪ¤Î¤ß¤¬Íñ¤òÀ¸¤à¤³¤È¤¬¤Ç¤­¤ë¤½¤¦¤À¡¥ + ³ÑÅ«¤òËÜÅö¤Ë²¼¼ê¤Ë±éÁÕ¤¹¤ë¤È¡¤ËÜÅö¤Ë¤¤¤¤¤³¤È¤¬¤¢¤ë¤é¤·¤¤¡¥ + µ±¤¯Ìô¤ò¤³¤¹¤Ã¤Æ¤â¡¤ËâË¡¤Î¥é¥ó¥×¤Ë¤Ï¤Ê¤é¤Ê¤¤¤½¤¦¤À¡¥ + ¥á¥¹¤Ï¥¢¥µ¥á¤Ç¤Ï¤Ê¤¤¤¬¸Î¤Ë¤Ê¤Þ¤¯¤é¤Ë¤Ê¤ë¡¥ + Ź¼ç¤Ï¤Ä¤ë¤Ï¤·¤¬·ù¤¤¤é¤·¤¤¡¥ + Ź¼ç¤Ï¥Ú¥Ã¥È¤òŹ¤ËÆþ¤ì¤Æ¤âµ¤¤Ë¤·¤Ê¤¤¤é¤·¤¤¡¥ + Ź¼ç¤Ï¤¢¤Ê¤¿¤¬Å¹¤Ë¤³¤Ã¤½¤êÆþ¤Ã¤Æ¤âÉáÃʤϵ¤¤Ë¤·¤Ê¤¤¤é¤·¤¤¡¥ + Ź¼ç¤Ï¤·¤Ð¤·¤ÐºâÉÛ¤ÎÃæ¤Ë¿³Û¤Î¶â¤ò»ý¤Ã¤Æ¤¤¤ë¤é¤·¤¤¡¥ + Ź¼ç¤Ï¤¢¤Ê¤¿¤¬Ëº¤ì¤¿¤³¤È¤Ç¤â³Ð¤¨¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ë¤é¤·¤¤¡¥ + ή¤·Âæ¤È³»¤¬ÁêÍƤì¤ë¤³¤È¤Ï¤Ê¤¤¡¥¤¹¤°¤Ë¥¯¥í¡¼¥¯¤ò椰¤Î¤À¡ª + ή¤·Âæ¤Ëή¤ì¤Æ¤¤¤ë¤â¤Î¡§ Ç®¤¤¤Î¡¤Î䤿¤¤¤Î¡¤É÷Ì£¤¤¤í¤¤¤í¡¥ + ¥Ø¥Ó»È¤¤¤ÏÌ¥ÎÏŪ¤Ê¤Î¤Ç¤Ï¤Ê¤¯¡¤Ã±¤Ë²»³Ú¤ÎºÍǽ¤¬¤¢¤ë¤À¤±¤Ê¤Î¤À¤½¤¦¤À¡¥ + ʼ»Î¤Ï¾ï¤ËÈ÷¤¨¡¤¤½¤·¤ÆÂçÄñ¤Ï¿È¤ò¼é¤Ã¤Æ¤¤¤ë¤é¤·¤¤¡¥ + ¹¬¤«ÉÔ¹¬¤«¡¤¤¢¤Ê¤¿¤ÎÇØÉ餤ÂÞ¤ÇÕÛ¤ëÍñ¤¬¤¢¤ë¤½¤¦¤À¡¥ + ²ÐµÂ¤Ï¤¢¤Ê¤¿¤òÃȤ«¤¤¿©»ö¤Ë¤·¤Æ¤·¤Þ¤¦¤½¤¦¤À¡¥ + ³ÑÅ«¤Ë¤ÏÇ®¤¤²»³Ú¤òÁդǤë¤â¤Î¤â¤¢¤ê¡¤¤Þ¤¿¤¢¤ë¤â¤Î¤Ï¸ÀÍդˤǤ­¤Ê¤¤¤Û¤ÉÎ䤿¤¤¤½¤¦¤À¡¥ + ¥Ò¥å¡¼¥Þ¥Î¥¤¥É¤Ë¤Ï´°Á´¤Ë¿Í´Ö¤Ê¤Î¤â¤¤¤ë¤½¤¦¤À¡¥ + Ź¼ç¤ÎÃæ¤Ë¤ÏÊõÀФò²ÈÊõ¤È¹Í¤¨¤Æ¤¤¤ë¼Ô¤¬¤¤¤ë¤é¤·¤¤¡¥ + ÊõÀФò´ÕÄê¤Ç¤­¤ëŹ¼ç¤â¤¤¤ë¤¬¡¤¤½¤ì¤ò¹ð¤²¤è¤¦¤È¤Ï¤·¤Ê¤¤¤½¤¦¤À¡¥ + ÀФÎÃæ¤Ë¤Ï¡¤Â¾¤ÎÀФè¤ê¤â¤º¤Ã¤È¤º¤Ã¤È½Å¤¤Êª¤¬¤¢¤ë¤é¤·¤¤¡¥ + ¥¤¥¨¥Æ¥£¤Ë¤ÏÇ®¤¤¶õµ¤¤ÇËþ¤¿¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤¬¤¤¤ë¤é¤·¤¤¡¥ + ·ÙÈ÷¤Î¸Ç¤¤¤È¤³¤í¤Ë¤Ï¡¤²¿¤«ÆÃÊ̤Êʪ¤¬¤¢¤ë¤½¤¦¤À¡¥ + ®¤µ¤Î·¤¤Ï¿å¤Î¾å¤òÊ⤱¤ë¤Û¤É¤Ë¤Ï®¤¯¤·¤Æ¤¯¤ì¤Ê¤¤¤½¤¦¤À¡¥ + ½Ö´Ö°ÜÆ°¤Î櫤ϰ­Ëâ¤Î»Å¶È¤é¤·¤¤¡¥ + Å·¶é¤Ï»ØÎؤòÁõÈ÷¤·¤Ê¤¤¤Î¤Ë¡¤²¿¸Î¤¢¤Ê¤¿¤Ï¤½¤¦¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤Î¤À¡© + Å·¶é¤Ï¤½¤ì¤¬ÆÀ°Õ¤Ê¤Î¤Ë¤â¤«¤«¤ï¤é¤º·è¤·¤Æ¶â¤òÅð¤Þ¤Ê¤¤¤é¤·¤¤¡¥ + °ìÅÙÅð¤Þ¤ì¤¿Êª¤Ï¡¤ºÆ¤ÓÅð¤á¤ë¤½¤¦¤À¡¥¥Ë¥ó¥Õ¤Ëʹ¤¤¤Æ¤ß¤Ê¡¥ + ¥Ç¥ë¥Ý¥¤¤Î¸­¼Ô¤Ï¥È¥«¥²¤Î»àÂΤ¬º®Í𤵤»¤ë¤è¤¦¤Ê¤â¤Î¤Ç¤Ï¤Ê¤¤¤³¤È¤òÃΤäƤ¤¤ë¤é¤·¤¤¡¥ + ¥¨¥ë¥Ù¥ë¥¹¤Î¸æ¼ê¤Ï¤¢¤Ê¤¿¤Îµ§¤ê¤ò˸¤²¤ë¤½¤¦¤À¡¥ + ¥ì¥×¥é¥³¡¼¥ó¤Î²¦¤Ï¥¯¥í¥¤¥½¥¹¤È¤ª¤Ê¤¸¤¯¤é¤¤¶â»ý¤Á¤À¤½¤¦¤À¡¥ + ÂçËâË¡»È¤¤¥¤¥§¥ó¥À¡¼¤ÏÀº¿ÀʬÎö¾É¤Ç¼«»¦Åª¤é¤·¤¤¡¥ + ·Ð¸³¤òÀѤó¤À¥­¥ã¥é¥¯¥¿¤Ï¡¤º×ÃŤò²þ½¡¤µ¤»¤ëÊýË¡¤òÃΤäƤ¤¤ë¤é¤·¤¤¡¥ + ¿À¡¹¤Ï¤´µ¡·ùÎ路¤¤»þ¤¢¤Ê¤¿¤Î­¸µ¤Ëʪ¤òÍ¤½¤¦¤À¡¥ + Æ©ÌÀ¤Ê¥Ê¥º¥°¥ë¤Î¥¤¥Ç¥¢¤Ë¤Ï¡¤¤Õ¤µ¤ï¤·¤¤»ØÎؤ¬¤¢¤ë¤½¤¦¤À¡¥ + ¸Ð¤Îµ®É׿ͤϡ¤º£¤Ï¤É¤³¤«¤ÎÀô¤Ë¤¤¤ë¤é¤·¤¤¡¥ + ÅļˤÎŹ¼ç¤Ï¼ºÎé¤Êι¹Ô¼Ô¤Ë¤¤¤ä¤Ê´é¤ò¤¹¤ë¤½¤¦¤À¡¥ + µÛ·ìµ´¤ÎÅã¤Ø¤ÎÍ£°ì¤ÎÈâ¤Ï¡¤¤½¤ÎºÇ²¼Áؤˤ¢¤ë¤½¤¦¤À¡¥ + Îɤ¤É÷¤Î¥¸¥ó¤È¤Ï´¶¼Õ¤·¤Æ¤¤¤ë¥¸¥ó¤À¤±¤À¤½¤¦¤À¡¥ + µÔ»¦¤Î´¬Êª¤ÏµÕÊý¸þ¤Ë¤âƯ¤¯¤½¤¦¤À¡¥ + ¥æ¥Ë¥³¡¼¥ó¤Î³Ñ¤Îˡ§¤È¤Ï¡¤²õ¤ì¤Æ¤¤¤Ê¤¤¤â¤Î¤Ïľ¤µ¤Ê¤¤¤È¤¤¤¦¤³¤È¤À¤½¤¦¤À¡¥ + ̸¤ÎÆÞ¤«¤é¤Îį¤á¤ÏËÜÅö¤Ë¤è¤¯Æ°¤¯¡¥ + Ź¤ÎÊɤÏÆÃÊÌ·ø¤¤Êª¼Á¤Ç½ÐÍè¤Æ¤¤¤ë¤½¤¦¤À¡¥ + ÉâÍ·¤Î·¤¤ò¼º¤¦¤Ë¤Ï¾¯¤Ê¤¯¤È¤â15Ä̤ê¤ÎÊýË¡¤¬¤¢¤ë¤½¤¦¤À¡¥ + ¥¬¥é¥¹¤ÎÊõÀФòÅꤲ¤ë¤³¤È¤Ï¡¤ÀФòÅꤲ¤ë¤Î¤ÈƱ¤¸¤³¤È¤é¤·¤¤¡¥ + ´ä¤Ë¿¯Æþ¤¹¤ë¤³¤È¤Ï¡¤¤ª¤½¤é¤¯²ÁÃͤΤʤ¤¤³¤È¤À¤í¤¦ + ¥æ¥Ë¥³¡¼¥ó¤Ïµ®½Å¤ÊÊõÀФò¹¥¤à¤½¤¦¤À¡¥ + º×ÃŤǵ§¤ê¤òÊû¤²¤ë¼Ô¤Ï¡¤¤·¤Ð¤·¤Ð¤½¤³¤Ë¤¢¤ë¿å¤òÀ»¿å¤Ø¤ÈÊѤ¨¤ë¤½¤¦¤À¡¥ + ¼º¤Ã¤¿¤â¤Î¤Ï¤Þ¤¿ÆÀ¤é¤ì¤ë¤³¤È¤â¤¢¤ë¤À¤í¤¦¡¥ + ¥Õ¥¡¥¤¥¢¥Ö¥é¥ó¥É¤È¤¤¤¦ÌäÎĹ·õ¤òÁõÈ÷¤¹¤ë¤È¡¤Îä·¤¯´¶¤¸¤ë¤é¤·¤¤¡¥ + ¥Õ¥í¥¹¥È¥Ö¥é¥ó¥É¤È¤¤¤¦ÌäÎĹ·õ¤òÁõÈ÷¤¹¤ë¤È¡¤Ç®¤¯¤Ê¤ë¤é¤·¤¤¡¥ + ¤µ¤Þ¤è¤¦ÌܤˤȤäơ¤´é¤ò¿¡¤¦¤³¤È¤ÏÉÔ²Äǽ¤Ê¤³¤È¤À¤½¤¦¤À¡¥ + ¤µ¤Þ¤è¤¦ÌܤˤʤäưŰǤǤ⸫¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ë¤À¤í¤¦¡¥ + ¥æ¥Ë¥³¡¼¥ó¤Ë¥ë¥Ó¡¼¤ò¤¯¤ï¤¨¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ì¤Ð¹¬±¿¤Ë¤Ê¤ë¤é¤·¤¤¡¥ + ¤¢¤Ê¤¿¤Ï¤¢¤Ê¤¿¤¬¿©¤Ù¤¿¤â¤Î¤Ë¤Ê¤ë¤é¤·¤¤¡¥ + ±¿¤¬Îɤ±¤ì¤Ðº×ÃŤÇÌÃÆþ¤ê¤ÎÉð´ï¤ò¸«½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¤À¤í¤¦¡¥ + ¥³¥«¥È¥ê¥¹¤ÎÍñ¤ò¿¨¤Ã¤Æ¤âÊ¿µ¤¤é¤·¤¤¡¥¤½¤ì¤Ç¡© + È¿¼Í¤ÎËâ½ü¤±¤ò²õ¤¹¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤é¤·¤¤¡¥ + ¾ï¤Ë˾¤ó¤À¤â¤Î¤¬ÆÀ¤é¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤é¤·¤¤¡¥ + ºÇ½ª»îÎý¤Ë¸þ¤±¤Æ¡¤¾ï¤Ë½àÈ÷¤òÂդäƤϤ¤¤±¤Ê¤¤¡¥ + ¸°¤Î¤«¤«¤Ã¤¿Å¹¤ØÆþ¤ì¤Æ¤¯¤ì¤ë¤è¤¦¥É¥ï¡¼¥Õ¤ËÍê¤à¤È¤¤¤¤¤é¤·¤¤¡¥ + Å·¤Î·¼¼¨¤Î¤¿¤á¤Ëµ§¤ë¤¬¤¤¤¤¡¥ + ¿®¿´¿¼¤¯¤ª¶â¤ò´óÉÕ¤¹¤Ù¤­¤À¤½¤¦¤À¡¥ + ¥ä¥â¥ê¤ò¿©¤Ù¤Æ·ò¹¯¤Ë¤Ê¤ë¤Ê¤ÉÀäÂФËÍ­¤êÆÀ¤Ê¤¤¤½¤¦¤À¡¥ + »à¿Í¤¬¤¨¤·¤Î¾ó¤ò¼«Ê¬¤Ë¿¶¤ê¤«¤¶¤¹¤Î¤Ï¶ò¤«¤Ê¤³¤È¤À¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥ + ÂçËâË¡»È¤¤¤Î¾ë¤Ë¤Ï¥Ö¡¼¥Ó¡¼¥È¥é¥Ã¥×¤¬»Å³Ý¤±¤é¤ì¤Æ¤¤¤ë¤é¤·¤¤¡¥ + ¼«Ê¬¤Î¸¤¤ò»¦¤¹¤È¿À¤ÏΩʢ¤Ê¤µ¤ë¤é¤·¤¤¡¥ + µ§¤ê²á¤®¤ë¤È¿À¤ÏΩʢ¤Ê¤µ¤ë¤é¤·¤¤¡¥ + ̵ܤαü¿¼¤¯¤Î¾ë¤Ë¤Ï¶¯ÎϤÊËâË¡¤ÎÆ»¶ñ¤¬±£¤µ¤ì¤Æ¤¤¤ë¤é¤·¤¤¡¥ + ¥³¥«¥È¥ê¥¹¤Î»àÂΤòÁõÈ÷¤¹¤ë¤â¤Î¤Ï¡¤¸å¤ËÀФÎÆ»¤òºî¤ë¤½¤¦¤À¡¥ + ÌîÀ­¤Î¸¤¤Ë¿©ÎÁ¤òÍ¿¤¨¤Æ¤ä¤ì¤Ð¡¤»ô¤¤´·¤é¤»¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥ + ËþÊ¢¤Î»þ¤Ë¤Ï¤É¤Î¿©ÎÁ¤â¤Þ¤º¤¤¡¥ + ¥È¥í¥ë¤Ï¥´¥à¤Î¤è¤¦¤À¤È¸À¤ï¤ì¤Æ¤¤¤ë¡¥Èà¤é¤ÏÂǤ¿¤ì¤Æ¤âΩ¤Áľ¤ê³¤±¤ë¡¥ + Í©Îî¤Ë¤Ï°ú¤­¤Ä¤±¤Æ²ó¤ê¹þ¤àÀïË¡¤ò¼è¤Ã¤Æ¤ß¤è¡¥ + Ǩ¤ì¤¿´¬Êª¤ËËâË¡¤Î¥Þ¡¼¥«¤ò»È¤Ã¤Æ¤ß¤Ê¤µ¤¤¡¥ + ¥ï¥ë¥­¥å¡¼¥ì¤ÏË̤«¤é¤ä¤Ã¤Æ¤­¤¿¤Î¤ËÁê±þ¤·¤¤Ç½ÎϤò»ý¤Ã¤Æ¤¤¤ë¡¥ + µÛ·ìµ´¤Ï¤Ë¤ó¤Ë¤¯¤ò·ù¤Ã¤Æ¤¤¤ë¡¥ + ÁҸˤÎÈÖʼ¤ÏÈà¤é¤Î¼ç¿Í¤ò·è¤·¤Æ¼ÙË⤷¤Ê¤¤¡¥ + ºÚ¿©¼çµÁ¼Ô¤Ï¤è¤¯ÌµܤDzî»à¤¹¤ë¡¥ + ÍÑʼ¤¬¸Æ¤Ð¤ì¤¿¡¥¤É¤¦¤·¤è¤¦¡© + ¤ªµÒÍͤˤÏŹ¼ç¤òµÔ»¦¤Ê¤µ¤é¤Ì¤è¤¦¤ª´ê¤¤¿½¤·¾å¤²¤Þ¤¹¡¥ + Ãí°Õ¤·¤í¡ªÂçËâË¡»È¤¤¤¬Ìá¤Ã¤Æ¤¯¤ë¤¾¡¥ + ¥É¥é¥´¥ó¤Ë¤Ï¿å¤Î櫤ϸú¤«¤Ê¤¤¡¥ + ¥³¥«¥È¥ê¥¹¤Ï¶õÊ¢¤Ë¤Ê¤ë¤È²¿¤ò¿©¤Ù¤ë¤Î¤À¤í¤¦¡© + ²¿¸Î¤³¤ì¤¬¡ÖËâË¡¤Î¡×¥Þ¡¼¥«¤È¸Æ¤Ð¤ì¤ë¤«Ê¬¤«¤ë¤«¤¤¡© + °ìÂÎÁ´ÂΤɤ¦¤·¤ÆÀµµ¤¤Î¿Í´Ö¤¬¡ØElbereth¡Ù¤Ê¤ó¤Æ¹ï¤à¤Î¤À¡© + ¤¢¤Þ¤ê¤Ë¿¤¯¤Î˾¤ß¤Ï¶Ë¤á¤Æ¾¯¤Ê¤¤¼Â¤ê¤·¤«¤â¤¿¤é¤µ¤Ì¡¥ + ʼÂâµÂ¤òÇã¼ý¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + ΢¸ý¤«¤éŹ¤ò½Ð¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥¤½¤ó¤Ê¤â¤Î¤Ï¤Ê¤¤¤Î¤À¡ª + Ìô¤ÎÉÓ¤ÎÃæ¤ËÁÇÀ²¤é¤·¤¤Îî¤ò¸«½Ð¤¹¤³¤È¤â¤¢¤ë¤À¤í¤¦¡¥ + ½ËÊ¡¤µ¤ì¤¿ÌôÉӤ˿»¤·¤Æ¤ß¤ë¤Î¤â¤¤¤¤¤«¤â¤·¤ì¤Ê¤¤¡¥ + °­Ëâ¤Îµ®Â²¤òÇã¼ý¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¤«¤â¤·¤ì¤Ì¡¥ + ¤ªÁ°¤¬Æ©ÌÀ¤Ê¤éŹ¼ç¤ò¤À¤Þ¤¹¤³¤È¤â²Äǽ¤À¤í¤¦¡¥ + ÎÌ»ÒÎϳؼԤˤĤ¤¤Æ¤ÎÃ챤ò¤Ä¤±¤Æ¤ª¤¯¤Ù¤­¤À¡¥ + ¿¿ÌëÃæ¤Ë»àÂΰÂÃÖ½ê¤Ë¹Ô¤¯¤Ä¤â¤ê¤«¡©¡©¡© + ¸¤¤Ï²¿¤ò¿©¤Ù¤¿¤éÎɤ¤¤«ÃΤäƤ¤¤ë¡¥¤è¤¯¸«¤Æ¤ß¤¿¤Þ¤¨¡¥ + ¼«¤é¤Ë¾ó¤ò¿¶¤ê¤«¤¶¤·¡¤²¿¤¬µ¯¤³¤ë¤«³Î¤«¤á¤è... + »à¿Í¤¬¤¨¤·¤Î¾ó¤ò¿¶¤ê¤«¤¶¤»¤Ð¡¤¤ªÁ°¤Î¸¤¤ÏÀ¸¤­Ê֤뤫¤â¤·¤ì¤Ê¤¤¡¥ + ÌÜŪ¤òãÀ®¤Ç¤­¤Ê¤¤¡©http://mitsuko.jaist.ac.jp/jnethack¤ò¸«¤ë¤Î¤À¡¥ + ¥»¡¼¥é¡¼Éþ¤Ï¹â¤¯Çä¤ì¤ë¤³¤È¤â¤¢¤ë¤é¤·¤¤¡¥ + ¥»¡¼¥é¡¼Éþ¤Ï¸«¤¿Ìܰʾå¤Ë¾æÉפÀ¤½¤¦¤À¡¥ + *** /dev/null Wed Sep 24 22:14:55 1997 --- ./dat/joracles.txt Tue Jul 22 23:17:59 1997 *************** *** 0 **** --- 1,139 ---- + ----- + Æò¤½¤Î¾ó»È¤¤¤µ¤ì¤·¤È¤­¡¤ + Æò¤½¤ì¤ò¹ß¤ê¤Þ¤ï¤»¡¥ + ¤Ï¤¸¤á¤Ï̵¤Î¤ßÀ¸¤º¤ì¤É¡¤ + ¤½¤ÎÅØÎϤËÈ¿±þ¤·¡¤ + Ëö´ü¤ÎÎϤ¬°ú¤­¤À¤µ¤ì¤ó¡¥ + ----- + ¤²¤ËŹ¼ç¤¬ÍÑ¿´¿¼¤¯¤È¤â¡¤ + ±¤Ï¾ó¤Ç·ê¤ò·¡¤ê¡¤ + ¶â¤òʧ¤¦¤³¤È¤Ê¤¯Æ¨Áö¤·¡¤ + ¤¢¤Þ¤¿¤ÎÉʤòÅð¤Þ¤ó¡¥ + ----- + ÆòÉð¶ñ¤Î»¬¤ËǺ¤Þ¤µ¤ì¤·¤È¤­¡¤ + Éð¶ñ¤ÎÎϤò¹â¤á¤ë½ñʪ¤òÆÉ¤Þ¤ó¡¥ + º®Í𤻤·¤È¤­ÃíÌý¤ÎÆð¹Ñ¤¬¡¤ + ½Ö¤­¤Î´Ö¤Ç¤Ï¤¢¤ë¤¬¡¤ + Ëɸæ¤Î¼ï¤òÍ¿¤¨¤ó¡¥ + ----- + ¥³¥«¥È¥ê¥¹¤Ê¤ëÀ¸Êª¤ò¸«¤è¡¤ + ¾®¤Ê¤ëÇؾæ¤À¤¬±£¤ì¤¿ÎϤòÈë¤á¤·¡¥ + ¥³¥«¥È¥ê¥¹¤Ï¿¨¤ì¤·¤â¤Î¤òÀв½¤»¤ó¡¥ + ËÁ¸±¼Ô¤è¡ªÀÐÁü¤È¤Ê¤ë¤Î¤ò˾¤Þ¤Ì¤Ê¤é¡¤ + ¸­¤­ËÁ¸±¼Ô¤Î¹ÔÆ°¤ò¸«¤Ê¤é¤¨¡ª + »à¤·¤¿¤ë¥È¥«¥²¤ò¿©¤¹¤È¤­¡¥ + »À¤Î¥Ö¥í¥Ö¤ò¿©¤¹¤È¤­¡¥ + ----- + ι¹Ô¼Ô¤è¡ª + µ¡ÃΤËÉÙ¤àι¹Ô¼Ô¤Ï¡¤ + ¿ÀÈëŪ¤Ê°ÕÌ£¤òÃΤäƤ¤¤ë¡¥ + ¥É¥é¥´¥ó¤Î½»¤ß¤«¤ÎÎÚ¤«¤é¡¤ + ¤É¤Î³»¤¬ºî¤é¤ì¤¿¤Î¤«¡¥ + ----- + Æò¤ÎÌܤ¬µõÁü¤Ç¤Þ¤É¤ï¤µ¤ì¤·¤È¤­¡¤ + ι¹Ô¼Ô¤ÎÃæ¤Ç¤è¤¯ÃΤé¤ì¤·¤³¤È¤¢¤ê¡¥ + ¤Ò¤È°û¤ß¤ÎĶ²óÉü¤ÎÌô¤¬¸Þ´¶¤ò²óÉü¤µ¤»¤ó¡¥ + ¤·¤«¤·¡¤Ëº¤ì¤Æ¤Ï¤Ê¤é¤Ì¡ª + Æò¤òɤ˿¯¤»¤·Èܤ·¤­Ìô¤âƱ¤¸¸ú²Ì¤òÍ¿¤¨¤ó¡ª + ----- + ¿À¤ÎÃþ°¦¤ò¼õ¤±¤¿¿å¤ä¥È¥«¥²¤ÎÆù¤ò¿©¤»¡ª + ¤µ¤¹¤ì¤Ðº®Í𤻤·Æò¤ò²òÊü¤»¤ó¡¥ + ¤â¤Ã¤È¤â½ã·é¤ÊÀ¸Êª¤Î³Ñ¤ò»È¤¨¡ª + ¤µ¤¹¤ì¤Ð¾¤Î¶ìǺ¤âƱÍͤ˲òÊü¤µ¤ì¤ó¡ª + ----- + Æò½Ö´Ö°ÜÆ°¤ÎÀ©¸æ¤ò¼ýÆÀ¤»¤è¡¥ + ¤µ¤¹¤ì¤Ð¾¤Î¾ì½ê¤Ë¼À¤¯°ÜÆ°¤Ç¤­¤ó¡¥ + º®Í𤻤·¤È¤­´¬Êª¤òÆɤᡪ + ¤µ¤¹¤ì¤ÐÆò¼«¿È½Ö´Ö°ÜÆ°¤»¤ó¡¥ + Æòͦ¤·¤­ËÁ¸±¼Ô¤Ê¤ì¤Ð¡¤ + ´¬Êª¤äÌô¤Ê¤·¤ÇÉúʼ¤Î¤µ¤Ê¤«¤ËÈô¤Ó¹þ¤à¤³¤È¤Ë¤è¤ê¡¤ + ¤Ê¤·¤È¤²¤é¤ì¤ó¡¥ + ----- + ¤³¤ÎÃϤòˬ¤Í¤ëÁ´¤Æ¤ÎËÁ¸±¼Ô¤è¡ª + ¶²ÉݤΥá¥Ç¥å¡¼¥µ¤òÄ̤ê¤Ì¤±¤¿¤¤¤È»×¤Ã¤Æ¤¤¤ëËÁ¸±¼Ô¤è¡ª + ºÇÁ±¤ÎÃé¹ð¤òÆò¤Ë£¤í¤¦¡ª + Æò¤ÎÌܤòÌܱ£¤·¤Çʤ¤¤ + ¥á¥Ç¥å¡¼¥µ¤Î»Ñ¤òÈ¿¼Í¤¹¤ë¶À¤ò¸«¤Ä¤±¤ë¤Î¤À¡ª + ----- + "ad aerarium"¤È½ñ¤«¤ì¤¿¾ì½ê¤ò¡¤ + ÆþÇ°¤Ëõº÷¤¹¤ë¤Î¤À¡¥ + »þ¤Ë¡¤¶â»ý¤Á¥¯¥í¥¤¥½¥¹¤Î¡¤ + ËâË¡¤Îµ­Ç°ÁҸˤؤÈÁ÷¤é¤ì¤ë櫤ÎÆ»¤ò¤¢¤­¤é¤«¤Ë¤Ç¤­¤ë¤À¤í¤¦¡¥ + ¤·¤«¤·Ëº¤ì¤ë¤Ê¡¥ + ÁҸˤ«¤é¶â¤òÅð¤ß¤Æ½Ð¤Æ¤¯¤ë¤Î¤Ï + Æþ¤ë¤è¤ê¤º¤Ã¤Èº¤Æñ¤Ê¤ê¡¥ + ----- + ¸­¤¤Å¹¼ç¤ÏÃÍÃʤòÄߤꤢ¤²¤ë¡¥ + ¤­¤é¤­¤é¸÷¤ëÉþÁõ¤Îι¹Ô¼Ô¤È¸«¤¿¤È¤­¡¤ + ÉÔ¸øÀµ¤Ê¾ïÏ¢µÒ¤Î´é¤Ä¤­¤Îι¹Ô¼Ô¤È¸«¤¿¤È¤­¡¥ + Èà¤é¤ÏÊত¹¤ë¡¥ + ¥Þ¥Ê¡¼¤Î¤è¤¤µÒ¤ò¸«¤¿¤È¤­¡¤ + ¸øÀµ¤Ê´é¤ÎµÒ¤ò¸«¤¿¤È¤­¡¤ + ̵ºîË¡¼Ô¤ÏÍø±×¤òÆÀ¤é¤ì¤Ê¤¤¡¥ + ----- SINKS + Âæ½ê¤Îή¤·Âæ¤Ï¡¤ + ¤½¤ÎɽÌ̤ËÀÜ¿¨¤¹¤ë¤³¤È¤Ë¤è¤ê + °ÎÂç¤Ê¿¿Íý¤ä¿¤¯¤Î·±²ü¤òÆÀ¤é¤ì¤ó¡¥ + ¤½¤Î¤à¤µ¤Ü¤ê¶ô¤¦ÁõÃÖ¤Ï + ¿¤¯¤Î»ØÎؤòµÛ¤¤¹þ¤Þ¤ó¡¥ + ----- + ËâË¡¤ÎÀ¸Êª¤ÎÆùÂΤϡ¤ + ¿©¤ß¤¿¤ë¼Ô¤ËËâË¡¤ÎÆÃÀ­¤ò¤·¤Ð¤·¤ÐÍ¿¤¨¤ó¡¥ + ¤µ¤Þ¤è¤¦Ìܤο·Á¯¤Ê»àÂΤϡ¤ + ËâË¡»È¤¤¤Î´Ö¤Ç¹â¤¤ÃÍÃʤò¼è¤Ã¤Æ¤¯¤ë¡¥ + ÌÕÌܤΤȤ­¿´¤ËÉ⤫¤Ó¤¢¤¬¤ë¡¤ + ¥Æ¥ì¥Ñ¥·¡¼¤Î¼øÍ¿¤È¤¤¤¦»È¤¤Æ»¤Î¤¿¤á¡¤ + ----- + ½ËÊ¡¤È¼ö¤¤¤Îȯ¸«¤Ï¿À¤ÎÎÎʬ¤Ç¤¢¤ë¡¥ + ¿À¤Ï¤³¤Î¾ðÊó¤òÍ¿¤¨¤ó¡¥ + ¿òÇÒ¤ÎÃϤˤª¤¤¤Æ»à¤¹¤Ù¤­¤â¤Î¤Ø¡¤ + ¸¥¿È¤òÊû¤²¤ë»à¤¹¤Ù¤­¤â¤Î¤Ø¡¥ + ----- + ¿À¤ÏΩÇɤÊò´ê¼Ô¤ËÎϤò¤â¤¿¤é¤µ¤ó¡¥ + ÅÁÀâ¤Ç¸ì¤ê¤Ä¤¬¤ì¤¿Ì¾¤Î¤¢¤ëÎϤÎÂç·õ¡¤ + ÎÏÎ̤Τ¢¤ëι¹Ô¼Ô¤Ï½õ¤±¤Ê¤·¤Ë¡¤ + À¸¤ß½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡¥ + ¥ª¡¼¥¯¤Ë´÷¤ß·ù¤ï¤ì¤ë¥¨¥ë¥Õ¤Î·ìÅý¤ÎÂç·õ¤ò¡¥ + ----- + ¶¯ÎϤÊËâ½ü¤±¤Ë¤ÏÂô»³¤Î°ïÏ䢤ꡤ + ¤½¤Î¸¶·¿¤Ï¸ÅÂå¤Î¥¤¥§¥ó¥À¡¼¡¥ + Ëâ½ü¤±¤Ï°ÚÉݤÎÎϤò»ý¤Á¡¤ + ¿À¤Ï¤½¤Î°ÎÂ礵¤ò˾¤à¡¥ + »à¤¹¤Ù¤­¤â¤Î¤Ï¤½¤Î¶²¤·¤­Ç½ÎϤΰìÉô¤Ë¿¨¤ì¤ë¤Î¤ß¡¥ + °ïÏäϻह¤Ù¤­¤â¤Î¤Ë¹ð¤²¤Æ¤¤¤ë¡¥ + ¤³¤ÎËâË¡¤ÎËâ½ü¤±¤ò½êÍ­¤·¤Æ¤¤¤ë¤È¤­¡¥ + Èà¤é¤ÎÌܤϸ«¤ë¤³¤È¤¬¤Ç¤­¤Ì¤â¤Î¤ò¸«¡¤ + ËâË¡¤ÎÍ¢Á÷Æ»¤Î¾ì½ê¤òõ¤»¤ë¤È¸À¤¦¡¥ + »à¤¹¤Ù¤­¤â¤Î¤Ï¤½¤ÎÎϤò°ú¤­½Ð¤¹¤¿¤á¤Ë¤Ï + ¿È¤Ë¤Ä¤±¤Í¤Ð¤Ê¤é¤Ì¤È¤â¸À¤ï¤ì¤Æ¤¤¤ë¡¥ + ¤·¤«¤·¶Ñ¹Õ¤Î¤¿¤á¡¤ + ¤½¤Î¤è¤¦¤Ê°ÎÂç¤ÊÎϤòÆÀ¤ë¤Ë¤Ï¡¤ + Â礭¤Êµ¾À·¤òʧ¤ï¤Í¤Ð¤Ê¤é¤Ì¡¥ + ----- + Æò¥â¡¼¥í¥Ã¥¯¤ÎÀ»°è¤ËƧ¤ß¤³¤Þ¤ó¤È¤¹¤ë¤Ê¤é¡¤ + ¥²¥Ø¥Ê¤Î±ü¿¼¤¯ÃÏÌ̤ÎÍɤ줷¾ì½ê¤è¤êÆþ¤é¤ó¡¥ + Æò¤Ï»°¼ï¤ÎËâË¡¤ÎÆ»¶ñ¤Î¼ê½õ¤±¤¬É¬Íפʤꡥ + ½ËÊ¡¤µ¤ì¤¿¿¤Âæ¤Î¸÷¤¬Æ»¤ò³«¤­¡¤ + ¶ä¤Î¥Ù¥ë¤ÎÀ¡¤ß¤­¤Ã¤¿²»¤¬Æò¤Ë¹ð¤²¡¤ + ¥â¡¼¥í¥Ã¥¯¤ÎËܤè¤êÆɤޤì¤ë¶²¤·¤­¥ë¡¼¥ó¤ÏÃÏÌ̤òÎ϶¯¤¯Íɤ餵¤ó¡¥ + ----- + ¥À¥ó¥¸¥ç¥ó¤Î±ü¤Î¤µ¤é¤Ê¤ë±ü¤Ç¡¤ + ¤½¤Î²¼¤ò¼é¤ë¤Ù¤¯¾ë¤¬¹Ô¤¯¼ê¤ò¤Ï¤Ð¤Þ¤ó¡¥ + ¤½¤³¤Ë¤Ï˾¤ß¤Î¾ó¤¬ÃÖ¤«¤ì¤ó¡¥ + ÆòÆþ¤í¤¦¤È¤¹¤ë¤Ê¤é¤Ð¡¤ + ²»³Ú¤òÁդǤë¤Î¤À¡¥ + Àµ¤·¤­²»¿§¤Ê¤é¤Ð + Ä·¤Í¶¶¤¬¤ª¤ê¤Æ¤³¤è¤¦¡¥ + ¤½¤Î²»¿§¤Ï¿À¤Î¤ß¤¾ÃΤë¤â¤Î¤Ê¤ì¤É¡¤ + ²»³Ú¤Î¿äÍý¤Ï²Äǽ¤Ê¤ê¡¥ + ¤½¤ì¤¬ÉÔ²Äǽ¤Ê¤é¤Ð¡¤ + ¾ë¤Î΢Ìç¤Ë¹Ô¤¯¤Î¤À¡¥ + ----- ELBERETH + Elbereth¤Î̾Á°¤Ï¡¤ + Æò­¸µ¤Ë¤½¤Î̾¤ò½ñ¤¯¤Ê¤é¤Ð + Æò¤ÎŨ¤Ë°ÚÉݤÎÇ°¤òÍ¿¤¨¤ó¡¥ + Æò¶Ë¤á¤ÆÀŤ«¤Ë¤·¤Æ¤ª¤ì¤Ð¡¤ + °ÎÂç¤ÊÎϤòÆÀ¤ë¤³¤È¤¬²Äǽ¤Ê¤ê¡¥ + ­¤Ç¤½¤Îʸ»ú¤ò + ¾Ã¤µ¤Ê¤¤¤è¤¦¤ËÃí°Õ¤»¤è¡¥ + ----- *** /dev/null Wed Sep 24 22:14:55 1997 --- ./dat/jhh Tue Jul 22 23:17:58 1997 *************** *** 0 **** --- 1,104 ---- + y k u 7 8 9 °ÜÆ°: + \|/ \|/ yuhjklbn: »ØÄêÊý¸þ¤Ë¡¤°ìÊâÊ⤯ + h-.-l 4-.-6 YUHJKLBN: »ØÄêÊý¸þ¤Ë¡¤²¿¤«¤Ë¤Ö¤Ä¤«¤ë¤Þ¤ÇÊ⤯¡¤ + /|\ /|\ ¤Þ¤¿¤Ï²¿¤«¤ÎÃæ¤ØÆþ¤ë¡¥ + b j n 1 2 3 g: »ØÄêÊý¸þ¤Ë¡¤²¿¤«¤¬¸«¤¨¤ë¤Þ¤ÇÊ⤯ + numberpad G: »ØÄêÊý¸þ¤Ë¡¤²¿¤«¤¬¸«¤¨¤ë¤Þ¤ÇÊ⤯¡¥ + ¤¿¤À¤·¡¤ÄÌÏ©¤Îʬ´ô¤Ç»ß¤Þ¤é¤Ê¤¤¡¥ + < up ^: ¾å¤ËƱ¤¸¡¥(¥³¥ó¥È¥í¡¼¥ë¤ò²¡¤·¤Ê¤¬¤é) + > down m: ʪ¤ò½¦¤ï¤º¤Ë°ÜÆ°¤¹¤ë¡¥ + `number_pad'¤Î¥ª¥×¥·¥ç¥ó¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤Ê¤é¡¤¥Ê¥ó + ¥Ð¡¼¥Ñ¥Ã¥É¤ò°ÜÆ°¤Ë»ÈÍѤǤ­¤ë¡¥ + + °ìÈÌ: + ? help ¥Ø¥ë¥× + Q quit ¥²¡¼¥à¤ò¤ä¤á¤ë¡¥ + S save ¥²¡¼¥à¤ò(¸å¤Ç³¤±¤ë¤¿¤á¤Ë)ÃæÃǤ¹¤ë¡¥ + ! sh (¤â¤·¤Ç¤­¤ë¤Ê¤é)¥·¥§¥ë¤ò¼Â¹Ô¤¹¤ë¡¥ + ^Z suspend ¥²¡¼¥à¤òÃæÃǤ¹¤ë¡¥ + O options ¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¡¥ + / whatis ²èÌ̤ε­¹æ¤¬²¿¤«¤òÃΤ롥 + \ known º£¤Þ¤Ç¤Ëȯ¸«¤·¤¿Æ»¶ñ¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¡¥ + v version ¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë¡¥ + V history ¥²¡¼¥à¤ÎÎò»Ë¤òɽ¼¨¤¹¤ë¡¥ + X explore ¥²¡¼¥à¤òȯ¸«¥â¡¼¥É¤ËÀÚ¤êÂؤ¨¤ë¡¥ + ^A again 1¤ÄÁ°¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡¥(^A¤Ï¥³¥ó¥È¥í¡¼¥ë¤ò²¡¤·¤Ê + ¤¬¤éA¤ò²¡¤¹¤³¤È¤ò°ÕÌ£¤¹¤ë¡¥) + ^R redraw ²èÌ̤ò½ñ¤­¤Ê¤ª¤¹¡¥ + ^P prevmsg Á°¤Î¥á¥Ã¥»¡¼¥¸¤ò¸«¤ë¡¥(^P¤Ï·«¤êÊÖ¤·»È¤¨¤ë) + ` ¥ª¥ê¥¸¥Ê¥ë¥â¡¼¥É¤ÈÆüËܸì¥â¡¼¥É¤ÎÀÚ¤êÂؤ¨ + # ³ÈÄ¥¥³¥Þ¥ó¥É(#?¤Ç¥Ø¥ë¥×) + + ¥²¡¼¥à: + ^D kick ½³¤ë¡¥(ÈâÅù) + ^T 'port ½Ö´Ö°ÜÆ°¡¥(²Äǽ¤Ê¤é) + a apply Æ»¶ñ¤ò»È¤¦¡¥(¤Ä¤ë¤Ï¤·¡¤¸°¡¤¥«¥á¥éÅù) + A armor Á´¤Æ¤Î³»¤ò椰¡¥ + c close Èâ¤òÊĤá¤ë¡¥ + C call ²øʪ¤Ë̾Á°¤ò¤Ä¤±¤ë¡¥(Î㤨¤Ð¡¤¤¢¤Ê¤¿¤Î¸¤¤ò̿̾¤¹¤ë) + d drop ʪ¤òÃÖ¤¯¡¥ d7a¡§a¤Ê¤ë¤â¤Î¤ò7¸ÄÃÖ¤¯¡¥ + D Drop ¼ïÎà¤òÁª¤ó¤Çʪ¤òÃÖ¤¯¡¥ + e eat ²¿¤«¤ò¿©¤Ù¤ë¡¥ + E engrave ¾²¤Î¤Û¤³¤ê¤Ëʸ»ú¤ò½ñ¤¯¡¥(E- »Ø¤ò»È¤Ã¤Æ) + i invent ¤¢¤Ê¤¿¤Î»ý¤Áʪ°ìÍ÷¡¥(¤¢¤Ê¤¿¤¬»ý¤Ã¤Æ¤¤¤ë¤â¤ÎÁ´¤Æ) + I Invent ¼ïÎà¤òÁªÂò¤·¤Æ»ý¤Áʪ°ìÍ÷¡¥ + Iu: ̤ʧ¤ÎÆ»¶ñ°ìÍ÷¡¥ + Ix: ̤ʧ¤À¤¬»È¤¤¤Ï¤¿¤·¤¿Æ»¶ñ°ìÍ÷¡¥ + I$: ¤ª¶â¤ò¿ô¤¨¤ë¡¥ + o open Èâ¤ò³«¤±¤ë¡¥ + p pay ´ªÄê¤òʧ¤¦¡¥(Ź¤ÎÃæ¤Ç) + P puton ¥¢¥¯¥»¥µ¥ê¤ò¿È¤Ë¤Ä¤±¤ë¡¥(»ØÎØ¡¤Ëâ½ü¤±¤Ê¤É) + q quaff Ìô¤ò°û¤à¡¥ + r read ´¬Êª¤äËâË¡¤ÎËܤòÆɤࡥ + R remove ¥¢¥¯¥»¥µ¥ê¤ò¤Ï¤º¤¹¡¥(»ØÎØ¡¤Ëâ½ü¤±¤Ê¤É) + s search ÈëÌ©¤ÎÈ⡤±£¤ì¤¿æ«¡¤²øʪ¤òõ¤¹¡¥ + t throw Éð´ï¤òÅꤲ¤ë¡¤·â¤Ä¡¤¼Í¤ë¡¥ + T takeoff ³»¤ò椰¡¥ + w wield Éð´ï¤òÁõÈ÷¤¹¤ë¡¥(w- ²¿¤âÁõÈ÷¤·¤Ê¤¤) + W wear ³»¤òÃå¤ë¡¥ + x spells ¾§¤¨¤ë¤³¤È¤Î¤Ç¤­¤ëËâË¡¤Î°ìÍ÷¡¥ + z zap ¾ó¤ò¿¶¤ë¡¥ + Z Zap ËâË¡¤ò¾§¤¨¤ë¡¥ + < up ³¬Ãʤò¾º¤ë¡¥ + > down ³¬Ãʤò¹ß¤ê¤ë¡¥ + ^ trap_id 櫤òÄ´¤Ù¤ë¡¥ + ),[,=,",( ¸½ºßÁõÈ÷¤·¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤ò¿Ò¤Í¤ë¡¥ + $ gold ¤ª¶â¤ò¿ô¤¨¤ë¡¥ + + spells ¾§¤¨¤ë¤³¤È¤Î¤Ç¤­¤ëËâË¡¤Î°ìÍ÷¡¥ + . rest µÙ¤à¡¥ + , pickup ʪ¤ò½¦¤¦¡¥ + @ `pickup'(¼«Æ°pickup)¤Î¥ª¥×¥·¥ç¥ó¤òÀÚ¤êÂؤ¨¤ë¡¥ + : look ²¿¤¬¤¢¤ë¤«¤ò¸«¤ë¡¥ + ; farlook ¾¤Ë²¿¤¬¤¢¤ë¤«Ä´¤Ù¤ë¡¥(ÃÏ¿Þ¾å¤Îµ­¹æ¤òÁªÂò¤¹¤ë) + + ¥á¥¿¥­¡¼¤Î¤¢¤ë¥­¡¼¥Ü¡¼¥É¤Ç¤Ï°Ê²¼¤Î³ÈÄ¥¥³¥Þ¥ó¥É¤ò # ¤Î¤«¤ï¤ê¤Ë¥á¥¿¥­¡¼ + ¤ò²¡¤·¤Ê¤¬¤é¼Â¹Ô¤Ç¤­¤ë¡¥ + + M-a adjust »ý¤Áʪ°ìÍ÷¤ÎÄ´À° + M-c chat 狼¤ÈÏä¹ + M-d dip ²¿¤«¤Ëʪ¤ò¿»¤¹¡¥ + M-e enhance Éð´ï¤Îµ»Î̤ò¹â¤á¤ë¤Þ¤¿¤Ï¸«¤ë + M-f force ¸°¤ò¤³¤¸¤¢¤±¤ë¡¥ + M-i invoke ʪ¤ÎÆÃÊ̤ÊÎϤò»È¤¦¡¥ + M-j jump ¾¤Î°ÌÃÖ¤ËÈô¤Ó¤¦¤Ä¤ë¡¥ + M-l loot ¾²¤Î¾å¤ÎÈ¢¤ÎÃæ¿È¤òά夹¤ë¡¥ + M-m monster ²øʪ¤ÎÆÃÊÌǽÎϤò»È¤¦¡¥ + M-n name ¥¢¥¤¥Æ¥à¤äʪ¤Ë̾Á°¤ò¤Ä¤±¤ë¡¥ + M-o offer ¿À¤Ë¶¡Êª¤òÊû¤²¤ë¡¥ + M-p pray ¿À¤Ëµ§¤ë¡¥ + M-r rub ¥é¥ó¥×¤ò¤³¤¹¤ë¡¥ + M-s sit ºÂ¤ë¡¥ + M-t turn ¥¢¥ó¥Ç¥Ã¥È¤òÅÚ¤ËÊÖ¤¹¡¥ + M-u untrap 櫤ò¤Ï¤º¤¹¡¥ + M-v version ¥³¥ó¥Ñ¥¤¥ë»þ¤Î¥ª¥×¥·¥ç¥ó¤òɽ¼¨¤¹¤ë¡¥ + M-w wipe ´é¤ò¿¡¤¦¡¥ + + `number_pad'¤Î¥ª¥×¥·¥ç¥ó¤¬¥ª¥ó¤Ê¤é¡¤¼¡¤Î¥³¥Þ¥ó¥É¤¬²Äǽ¤Ë¤Ê¤ë¡¥ + + n ¤³¤ì¤Ë³¤¯¿ô»ú¤À¤±¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡¥ + j jump ¾¤Î°ÌÃÖ¤ËÈô¤Ó¤¦¤Ä¤ë¡¥ + k kick ½³¤ë¡¥(ÈâÅù) + l loot ¾²¤Î¾å¤ÎÈ¢¤ÎÃæ¿È¤òά夹¤ë¡¥ + N name ¥¢¥¤¥Æ¥à¤äʪ¤Ë̾Á°¤ò¤Ä¤±¤ë¡¥ + u untrap 櫤ò¤Ï¤º¤¹¡¥(Ä̾ï¤Ï¤·¤«¤±¤é¤ì¤¿Êª) + *** /dev/null Wed Sep 24 22:14:55 1997 --- ./dat/jwizhelp Tue Jul 22 23:18:01 1997 *************** *** 0 **** --- 1,11 ---- + ¥Ç¥Ð¥Ã¥°¥â¡¼¥É¡§ + + ^E == ÈëÌ©¤Î¥É¥¢¤ä櫤òÄ´¤Ù¤ë¡¥ + ^F == ËâË¡¤ÎÃÏ¿Þ¡¥ + ^G == ²øʪ¤ò¤¤ë¡¥ + ^I == »ý¤Áʪ¤ò¼±Ê̤¹¤ë¡¥ + ^O == Æü쳬¤Î°ÌÃÖ¤òÃΤ롥 + ^T == ¤½¤Î³¬¤Ç¤Î½Ö´Ö°ÜÆ°¡¥ + ^V == °ã¤¦³¬¤Ø¤Î½Ö´Ö°ÜÆ°¡¥ + ^W == ˾¤ß¤ò¤«¤Ê¤¨¤ë¡¥ + ^X == °À­¤ò¸«¤ë¡¥ *** /dev/null Wed Sep 24 22:14:55 1997 --- ./dat/jcmdhelp Tue Jul 22 23:17:58 1997 *************** *** 0 **** --- 1,119 ---- + ^ 櫤μïÎà¤òÄ´¤Ù¤ë + ^[ ¥³¥Þ¥ó¥É¤ò¥­¥ã¥ó¥»¥ë¤¹¤ë + ^A Á°¤Î¥³¥Þ¥ó¥É¤ò·«¤êÊÖ¤¹ + ^C ¥²¡¼¥à¤ò¤ä¤á¤ë + ^D ²¿¤«¤ò½³¤ë (ÉáÄ̤ÏÈâ) + ^E Éô²°¤òõ¤¹ (¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Î¤ß) + ^F ¤½¤Î³¬¤ÎÃÏ¿Þ¤ò²è¤¯ (¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Î¤ß) + ^G ²øʪ¤ò¤Ä¤¯¤ë (¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Î¤ß) + ^I Æ»¶ñ¤ò¼±Ê̤¹¤ë (¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Î¤ß) + ^O Æüì¤Ê³¬¤Î¾ì½ê¤òÃΤë (¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Î¤ß) + ^P Á°¤Î¥á¥Ã¥»¡¼¥¸¤ò¸«¤ë + ^R ²èÌ̤ò½ñ¤­¤Ê¤ª¤¹ + ^T ¤½¤Î³¬¤Ç½Ö´Ö°ÜÆ°¤¹¤ë + ^V °ã¤¦³¬¤Ø½Ö´Ö°ÜÆ°¤¹¤ë (¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Î¤ß) + ^W ˾¤ß¤ò¤«¤Ê¤¨¤ë (¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Î¤ß) + ^X ¤¢¤Ê¤¿¤Î°À­¤ò¸«¤ë (¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Î¤ß) + ^Z ¥²¡¼¥à¤òÃæÃǤ¹¤ë (ÄêµÁ¤·¤Æ¤¤¤ë¤Ê¤é) + a Æ»¶ñ¤ò»ÈÍѤ¹¤ë + A ³»¤òÁ´¤Æ椰 + b ÆîÀ¾¤ËÊ⤯ + B ²¿¤«¤Ë¤Ö¤Ä¤«¤ë¤Þ¤ÇÆîÀ¾¤ËÊ⤯ + ^B ²¿¤«¤¬¸«¤¨¤ë¤Þ¤ÇÆîÀ¾¤ËÊ⤯ + c Èâ¤òÊĤá¤ë + C ²øʪ¤Ë̾Á°¤ò¤Ä¤±¤ë + d ʪ¤òÃÖ¤¯ + D ¼ïÎà¤òÁª¤ó¤Çʪ¤òÃÖ¤¯ + e ²¿¤«¿©¤Ù¤ë + E ¾²¤Î¤Û¤³¤ê¤Ëʸ»ú¤ò½ñ¤¯ + g ¼¡¤ËÊý¸þ¤ò»ØÄꤹ¤ë¤È²¿¤«¤Ë¤Ö¤Ä¤«¤ë¤Þ¤ÇÊ⤯ + G ¼¡¤ËÊý¸þ¤ò»ØÄꤹ¤ë¤È²¿¤«¤¬¸«¤¨¤ë¤Þ¤ÇÊ⤯ + h À¾¤ËÊ⤯ + H ²¿¤«¤Ë¤Ö¤Ä¤«¤ë¤Þ¤ÇÀ¾¤ËÊ⤯ + ^H ²¿¤«¤¬¸«¤¨¤ë¤Þ¤ÇÀ¾¤ËÊ⤯ + i ¤¢¤Ê¤¿¤Î»ý¤Áʪ°ìÍ÷¤ò¸«¤ë + I ¼ïÎà¤òÁªÂò¤·¤Æ»ý¤Áʪ°ìÍ÷¤ò¸«¤ë + j Æî¤ËÊ⤯ (number_pad¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤­¤Ï¡¤Â¾¤Î¾ì½ê¤ËÈô¤Ö) + J ²¿¤«¤Ë¤Ö¤Ä¤«¤ë¤Þ¤ÇÆî¤ËÊ⤯ + ^J ²¿¤«¤¬¸«¤¨¤ë¤Þ¤ÇÆî¤ËÊ⤯ + k Ë̤ËÊ⤯ (number_pad¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤­¤Ï¡¤²¿¤«¤ò½³¤ë) + K ²¿¤«¤Ë¤Ö¤Ä¤«¤ë¤Þ¤ÇË̤ËÊ⤯ + ^K ²¿¤«¤¬¸«¤¨¤ë¤Þ¤ÇË̤ËÊ⤯ + l Åì¤ËÊ⤯ (number_pad¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤­¤Ï¡¤È¢¤ÎÃæ¿È¤òά夹¤ë) + L ²¿¤«¤Ë¤Ö¤Ä¤«¤ë¤Þ¤ÇÅì¤ËÊ⤯ + ^L ²¿¤«¤¬¸«¤¨¤ë¤Þ¤ÇÅì¤ËÊ⤯ + m ¼¡¤ËÊý¸þ¤ò»ØÄꤹ¤ë¤È¡¤¤â¤Î¤ò½¦¤ï¤º¤Ë°ÜÆ°¤¹¤ë + M ¼¡¤ËÊý¸þ¤ò»ØÄꤹ¤ë¤È¡¤¤â¤Î¤ò½¦¤ï¤º¤Ë±ó¤¯¤Ë°ÜÆ°¤¹¤ë + n ÆîÅì¤ËÊ⤯ + N ²¿¤«¤Ë¤Ö¤Ä¤«¤ë¤Þ¤ÇÆîÅì¤ËÊ⤯(number_pad¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤­¤Ï¡¤Êª¤Ë̾Á°¤ò¤Ä¤±¤ë) + ^N ²¿¤«¤¬¸«¤¨¤ë¤Þ¤ÇÆîÅì¤ËÊ⤯ + o Èâ¤ò³«¤±¤ë + O ¥ª¥×¥·¥ç¥ó¤ò¥»¥Ã¥È¤¹¤ë (O?¤Ï¥ª¥×¥·¥ç¥ó¤òÀâÌÀ¤¹¤ë) + p Ź¤Î´ªÄê¤òʧ¤¦ + P ¥¢¥¯¥»¥¢¥ê¤ò¿È¤Ë¤Ä¤±¤ë(»ØÎØ¡¤Ëâ½ü¤±¡¤¤Ê¤É) + q ²¿¤«¤ò°û¤à + Q ¥²¡¼¥à¤ò¤ä¤á¤ë + r ´¬Êª(¤Þ¤¿¤Ï¡¤ÄêµÁ¤·¤Æ¤¤¤ë¤Ê¤éËâË¡¤ÎËÜ)¤òÆɤà + R ¥¢¥¯¥»¥µ¥ê¤ò¤Ï¤º¤¹(»ØÎØ¡¤Ëâ½ü¤±¡¤¤Ê¤É) + s 櫤äÈëÌ©¤ÎÈâ¤òõ¤¹ + S ¥²¡¼¥à¤òÊݸ¤¹¤ë + t ²¿¤«¤òÅꤲ¤ë + T ³»¤ò椰 + u ËÌÅì¤ËÊ⤯ (number_pad¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤­¤Ï¡¤æ«¤ò¤Ï¤º¤¹) + U ²¿¤«¤Ë¤Ö¤Ä¤«¤ë¤Þ¤ÇËÌÅì¤ËÊ⤯ + ^U ²¿¤«¤¬¸«¤¨¤ë¤Þ¤ÇËÌÅì¤ËÊ⤯ + v ¥Ð¡¼¥¸¥ç¥ó¤ò¸«¤ë + V ¥Ð¡¼¥¸¥ç¥ó¤ª¤è¤ÓÎò»Ë¤ò¸«¤ë (Ĺʸ) + w Éð´ï¤òÁõÈ÷¤¹¤ë + W ³»¤òÃå¤ë + x ÃΤäƤ¤¤ëËâË¡¤Î°ìÍ÷ (ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤Ê¤é) + X õ¸¡¥â¡¼¥É¤ËÆþ¤ë (ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤Ê¤é) + y ËÌÀ¾¤ËÊ⤯ + Y ²¿¤«¤Ë¤Ö¤Ä¤«¤ë¤Þ¤ÇËÌÀ¾¤ËÊ⤯ + ^Y ²¿¤«¤¬¸«¤¨¤ë¤Þ¤ÇËÌÀ¾¤ËÊ⤯ + z ¾ó¤ò¤Õ¤ë + Z ËâË¡¤ò¾§¤¨¤ë (ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤Ê¤é) + < ³¬Ãʤò¾º¤ë + > ³¬Ãʤò¹ß¤ê¤ë + / µ­¹æ¤¬²¿¤ËÂбþ¤·¤Æ¤¤¤ë¤«Ä´¤Ù¤ë + ? ¥Ø¥ë¥× + & ¤³¤Î¥³¥Þ¥ó¥É¤¬²¿¤«Ä´¤Ù¤ë + ! ¥·¥§¥ë¤ËÈ´¤±¤ë (ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤Ê¤é) + \ º£Ëø¤Ëȯ¸«¤µ¤ì¤¿Êª¤Î°ìÍ÷ + . ¤½¤Î¾ì¤ÇµÙ¤à + ²¿¤â¤·¤Ê¤¤¤Ç¤½¤Î¾ì¤ÇµÙ¤à (rest_on_space¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤Ê¤é) + : ¤½¤³¤Ë²¿¤¬¤¢¤ë¤«¸«¤ë + ; ²èÌ̾å¤Îµ­¹æ¤¬²¿¤Ç¤¢¤ë¤«¤òÄ´¤Ù¤ë + , ­¸µ¤Îʪ¤ò½¦¤¦ + @ pickup¥ª¥×¥·¥ç¥ó¤òÀÚ¤êÂؤ¨¤ë + ) ÁõÈ÷¤·¤Æ¤¤¤ëÉð´ï¤ò¸«¤ë + [ ÁõÈ÷¤·¤Æ¤¤¤ë³»¤ò¸«¤ë + = ¿È¤Ë¤Ä¤±¤Æ¤¤¤ë»ØÎؤò¸«¤ë + " ¿È¤Ë¤Ä¤±¤Æ¤¤¤ëËâ½ü¤±¤ò¸«¤ë + ( »È¤Ã¤Æ¤¤¤ëÆ»¶ñ¤ò¸«¤ë + $ ¤ª¶â¤ò¿ô¤¨¤ë + + ÃΤäƤ¤¤ëËâË¡¤Î°ìÍ÷ (ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤Ê¤é) + ` ¥ª¥ê¥¸¥Ê¥ë¥â¡¼¥É¤ÈÆüËܸì¥â¡¼¥É¤ÎÀÚ¤êÂؤ¨ + # ³ÈÄ¥¥³¥Þ¥ó¥É + M-a »ý¤Áʪ°ìÍ÷¤ÎÄ´À° (fixinv¥ª¥×¥·¥ç¥ó¤¬É¬Í×) + M-c 狼¤ËÏä·¤«¤±¤ë + M-d ʪ¤ò²¿¤«¤Ë¿»¤¹ + M-e Éð´ï¤Îµ»Î̤ò¹â¤á¤ë¤Þ¤¿¤Ï¸«¤ë + M-f ¸°¤ò¤³¤¸¤¢¤±¤ë + M-i ʪ¤ÎÆÃÊ̤ÊÎϤò»È¤¦ + M-j ¾¤Î°ÌÃÖ¤ÎÈô¤Ó¤¦¤Ä¤ë + M-l ¾²¤Î¾å¤ÎÈ¢¤ÎÃæ¿È¤òά夹¤ë + M-m ²øʪ¤ÎÆÃÊÌǽÎϤò»È¤¦ (ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤Ê¤é) + M-n ¥¢¥¤¥Æ¥à¤äʪ¤Ë̾Á°¤ò¤Ä¤±¤ë + M-o ¿À¤Ë¶¡Êª¤òÊû¤²¤ë + M-p ¿À¤Ëµ§¤ë + M-r ¥é¥ó¥×¤ò¤³¤¹¤ë + M-s ºÂ¤ë + M-t ¥¢¥ó¥Ç¥Ã¥È¤òÅڤˤ«¤¨¤¹ + M-u 櫤ò¤Ï¤º¤¹ (Ä̾ï¤Ï¤·¤«¤±¤é¤ì¤¿Êª) + M-v ¥³¥ó¥Ñ¥¤¥ë»þ¤Î¥ª¥×¥·¥ç¥ó¤òɽ¼¨¤¹¤ë + M-w ´é¤ò¿¡¤¦ + + + + *** /dev/null Wed Sep 24 22:14:55 1997 --- ./dat/jtrnsmon.dat Tue Jul 22 23:18:00 1997 *************** *** 0 **** --- 1,782 ---- + # + # Japanese NetHack Copyright (c) Issei Numata 1994 + # JNetHack may be freely redistributed. See license for details. + # + # English -> Japanese monster table + # + player: ¤¢¤Ê¤¿: + # + # ants + # + giant ant: µðÂçµÂ: + killer bee: »¦¿Í˪: + soldier ant: ʼÂâµÂ: + fire ant: ²ÐµÂ: + giant beetle: µðÂ祫¥Ö¥ÈÃî: + queen bee: ½÷²¦Ëª: + # + # blobs + # + acid blob: »À¤Î¥Ö¥í¥Ã¥Ö: + quivering blob: ¿Ì¤¨¤ë¥Ö¥í¥Ã¥Ö: + gelatinous cube: ¥¼¥é¥Á¥ó¥­¥å¡¼¥Ö: + # + # cockatrice + # + cockatrice: ¥³¥«¥È¥ê¥¹: + # + # dogs and other canines + # + jackal: ¥¸¥ã¥Ã¥«¥ë: + werejackal: ¥¸¥ã¥Ã¥«¥ë¿Í´Ö: + little dog: »Æ¸¤: + dog: ¸¤: + large dog: Â礭¤Ê¸¤: + wolf: ϵ: + werewolf: ϵ¿Í´Ö: + warg: ¥ï¡¼¥°: + winter wolf: Åßϵ: + hell hound pup: ¥Ø¥ë¥Ï¥¦¥ó¥É¤Î»Æ: + hell hound: ¥Ø¥ë¥Ï¥¦¥ó¥É: + Cerberus: ¥±¥ë¥Ù¥í¥¹: + # + # eyes + # + floating eye: ¤µ¤Þ¤è¤¦ÌÜ: + freezing sphere: Åà¤Ã¤¿µåÂÎ: + beholder: ¥Ó¥Û¥ë¥À¡¼ + # + # felines + # + kitten: ¾®Ç­: + housecat: ²ÈÇ­: + jaguar: ¥¸¥ã¥¬¡¼: + large cat: Â礭¤ÊÇ­: + tiger: ¸×: + # + # gremlins + # + gremlin: ¥°¥ì¥à¥ê¥ó: + gargoyle: ¥¬¡¼¥´¥¤¥ë: + winged gargoyle: ±©¤Î¤¢¤ë¥¬¡¼¥´¥¤¥ë: + # + # humanoids + # + hobbit: ¥Û¥Ó¥Ã¥È: + dwarf: ¥É¥ï¡¼¥Õ: + bugbear: ¥Ð¥°¥Ù¥¢¡¼: + dwarf lord: ¥É¥ï¡¼¥Õ¤Îµ®Â²: + dwarf king: ¥É¥ï¡¼¥Õ¤Î²¦: + mind flayer: ¥Þ¥¤¥ó¥É¥Õ¥ì¥¢: + # + # imps & other minor demons/devils + # + manes: Ë´Îî: + homunculus: ¥Û¥à¥ó¥¯¥ë¥¹: + imp: ¥¤¥ó¥×: + lemure: ¥ì¥à¥ì¡¼¥¹: + quasit: ¥¯¥¢¥·¥È: + tengu: Å·¶é: + # + # jellies + # + blue jelly: ÀÄ¿§¥¼¥ê¡¼: + spotted jelly: ¤Þ¤À¤é¥¼¥ê¡¼: + ochre jelly: ²«ÅÚ¿§¥¼¥ê¡¼: + # + # kobolds + # + kobold: ¥³¥Ü¥ë¥É: + large kobold: Â礭¤Ê¥³¥Ü¥ë¥É: + kobold lord: ¥³¥Ü¥ë¥É¤Îµ®Â²: + kobold shaman: ¥³¥Ü¥ë¥É¤Î¼ö½Ñ»Õ: + # + # leprechauns + # + leprechaun: ¥ì¥×¥é¥³¡¼¥ó: + # + # mimics + # + small mimic: ¾®¤µ¤Ê¥ß¥ß¥Ã¥¯: + large mimic: Â礭¤Ê¥ß¥ß¥Ã¥¯: + giant mimic: µðÂç¤Ê¥ß¥ß¥Ã¥¯: + # + # nymphs + # + wood nymph: ÌڤΥ˥ó¥Õ: + water nymph: ¿å¤Î¥Ë¥ó¥Õ: + mountain nymph: »³¤Î¥Ë¥ó¥Õ: + # + # orcs + # + goblin: ¥´¥Ö¥ê¥ó: + hobgoblin: ¥Û¥Ö¥´¥Ö¥ê¥ó: + orc: ¥ª¡¼¥¯: + hill orc: µÖ¤Î¥ª¡¼¥¯: + Mordor orc: ¥â¥ë¥É¡¼¥ë¤Î¥ª¡¼¥¯: + Uruk-hai: ¥¦¥ë¥¯¡¦¥Ï¥¤: + orc shaman: ¥ª¡¼¥¯¤Î¼ö½Ñ»Õ: + orc-captain: ¥ª¡¼¥¯¤ÎÂâĹ: + # + # piercers + # + rock piercer: ´ä¶ô¤¤: + iron piercer: Å´¶ô¤¤: + # + # quadrupeds (generic) + # + rothe: ¥í¥¼: + mumak: ¥à¡¼¥Þ¥¯: + leocrotta: ¥ì¥ª¥¯¥í¥Ã¥¿: + wumpus: ¥ï¥ó¥Ñ¥¹: + titanothere: ¥Á¥¿¥Î¥¼¥¢: + baluchitherium: ¥Ð¥ë¥­¥Æ¥ê¥¦¥à: + # + # rodents + # + sewer rat: ¥É¥Ö¥Í¥º¥ß: + giant rat: µðÂç¥Í¥º¥ß: + rabid rat: ¶¤Ë½¥Í¥º¥ß: + rat: ¤Í¤º¤ß: + wererat: ¤Í¤º¤ß¿Í´Ö: + rock mole: ´ä¤â¤°¤é: + # + # spiders and scorpions + # + cave spider: ƶ·¢¥°¥â: + giant spider: µðÂ祰¥â: + scorpion: ¥µ¥½¥ê: + # + # trappers, lurkers, &c. + # + lurker above: ¥é¡¼¥«¡¼: + trapper: ¥È¥é¥Ã¥Ñ¡¼: + # + # unicorns + # + white unicorn: Çò¥æ¥Ë¥³¡¼¥ó: + gray unicorn: ³¥¿§¥æ¥Ë¥³¡¼¥ó: + black unicorn: ¹õ¥æ¥Ë¥³¡¼¥ó: + # + # vortices + # + fog cloud: ̸¤ÎÆÞ: + dust vortex: ¤Û¤³¤ê¤Î±²: + ice vortex: ɹ¤Î±²: + energy vortex: ¥¨¥Í¥ë¥®¡¼¤Î±²: + steam vortex: ¾øµ¤¤Î±²: + fire vortex: ±ê¤Î±²: + # + # worms + # + baby long worm: ¥í¥ó¥°¥ï¡¼¥à¤Î»Ò¶¡: + baby purple worm: »ç¥ï¡¼¥à¤Î»Ò¶¡: + long worm: ¥í¥ó¥°¥ï¡¼¥à: + purple worm: »ç¥ï¡¼¥à: + # + # Dummy monster needed for visual interface. + # + long worm tail: ¥í¥ó¥°¥ï¡¼¥à¤Î¿¬Èø: + # + # xan, &c. + # + grid bug: ¥°¥ê¥Ã¥É¥Ð¥°: + xan: ¥¶¥ó: + # + # lights + # + yellow light: ²«¿§¤¤¸÷: + black light: ¹õ¤¤¸÷: + # + # zruty + # + zruty: ¥º¥ë¥Æ¥£: + # + # Angels and other lawful minions + # + couatl: ¥³¥¦¥¢¥È¥ë: + Aleax: ¥¢¥ì¥¢¥Ã¥¯¥¹: + Angel: Å·»È: + ki-rin: óÊÎÛ: + Archon: ¥¢¥ë¥³¥ó: + # + # Bats + # + bat: ¤³¤¦¤â¤ê: + giant bat: µðÂ礳¤¦¤â¤ê: + vampire bat: µÛ·ì¤³¤¦¤â¤ê: + # + # Centaurs + # + plains centaur: Á𸶤Υ±¥ó¥¿¥¦¥í¥¹: + forest centaur: ¿¹¤Î¥±¥ó¥¿¥¦¥í¥¹: + mountain centaur: »³¤Î¥±¥ó¥¿¥¦¥í¥¹: + # + # Dragons + # + baby gray dragon: ³¥¿§¥É¥é¥´¥ó¤Î»Ò¶¡: + baby red dragon: ÀÖ¿§¥É¥é¥´¥ó¤Î»Ò¶¡: + baby white dragon: Çò¥É¥é¥´¥ó¤Î»Ò¶¡: + baby orange dragon: ¥ª¥ì¥ó¥¸¥É¥é¥´¥ó¤Î»Ò¶¡: + baby black dragon: ¹õ¥É¥é¥´¥ó¤Î»Ò¶¡: + baby blue dragon: Àĥɥ饴¥ó¤Î»Ò¶¡: + baby green dragon: ÎХɥ饴¥ó¤Î»Ò¶¡: + baby yellow dragon: ²«¿§¥É¥é¥´¥ó¤Î»Ò¶¡: + gray dragon: ³¥¿§¥É¥é¥´¥ó: + red dragon: ÀÖ¿§¥É¥é¥´¥ó: + white dragon: Çò¥É¥é¥´¥ó: + orange dragon: ¥ª¥ì¥ó¥¸¥É¥é¥´¥ó: + black dragon: ¹õ¥É¥é¥´¥ó: + blue dragon: Àĥɥ饴¥ó: + green dragon: ÎХɥ饴¥ó: + yellow dragon: ²«¿§¥É¥é¥´¥ó: + # + # Elementals + # + air elemental: É÷¤ÎÀº: + fire elemental: ²Ð¤ÎÀº: + earth elemental: ÅÚ¤ÎÀº: + water elemental: ¿å¤ÎÀº: + # + # Fungi + # + brown mold: Ã㿧¥â¡¼¥ë¥É: + yellow mold: ²«¿§¥â¡¼¥ë¥É: + green mold: ÎХ⡼¥ë¥É: + red mold: ÀÖ¿§¥â¡¼¥ë¥É: + shrieker: ¥·¥å¥ê¡¼¥«¡¼: + violet fungus: »ç¥­¥Î¥³: + # + # Gnomes + # + gnome: ¥Î¡¼¥à: + gnome lord: ¥Î¡¼¥à¤Îµ®Â²: + gnomish wizard: ¥Î¡¼¥à¤ÎËâË¡»È¤¤: + gnome king: ¥Î¡¼¥à¤Î²¦: + # + # giant Humanoids + # + giant: µð¿Í: + stone giant: ´äÀеð¿Í: + hill giant: µÖ¤Îµð¿Í: + fire giant: ±ê¤Îµð¿Í: + frost giant: ¿áÀã¤Îµð¿Í: + ettin: ¥¨¥Æ¥£¥ó: + titan: ¥¿¥¤¥¿¥ó: + minotaur: ¥ß¥Î¥¿¥¦¥í¥¹: + # + # Invisible stalker + # + stalker: ¥¹¥È¡¼¥«¡¼: + # + # Jabberwock + # + jabberwock: ¥¸¥ã¥Ð¥¦¥©¥Ã¥¯: + # + # Kops + # + Keystone Kop: ·ÙÈ÷°÷: + Kop Sergeant: ½äºº: + Kop Lieutenant: ½äººÉôĹ: + Kop Kaptain: ·ÙÉôÊä: + # + # Liches + # + lich: ¥ê¥Ã¥Á: + demilich: ¥Ç¥ß¥ê¥Ã¥Á: + master lich: ¥Þ¥¹¥¿¡¼¥ê¥Ã¥Á: + # + # Mummies + # + kobold mummy: ¥³¥Ü¥ë¥É¤Î¥ß¥¤¥é: + gnome mummy: ¥Î¡¼¥à¤Î¥ß¥¤¥é: + orc mummy: ¥ª¡¼¥¯¤Î¥ß¥¤¥é: + elf mummy: ¥¨¥ë¥Õ¤Î¥ß¥¤¥é: + human mummy: ¿Í´Ö¤Î¥ß¥¤¥é: + ettin mummy: ¥¨¥Æ¥£¥ó¤Î¥ß¥¤¥é: + giant mummy: µð¿Í¤Î¥ß¥¤¥é: + # + # Nagas + # + red naga hatchling: ÀÖ¿§¥Ê¡¼¥¬¤Î¿÷: + black naga hatchling: ¹õ¥Ê¡¼¥¬¤Î¿÷: + golden naga hatchling: ¶â¿§¥Ê¡¼¥¬¤Î¿÷: + guardian naga hatchling: ÈÖʼ¥Ê¡¼¥¬¤Î¿÷: + red naga: ÀÖ¿§¥Ê¡¼¥¬: + black naga: ¹õ¥Ê¡¼¥¬: + golden naga: ¶â¿§¥Ê¡¼¥¬: + guardian naga: ÈÖʼ¥Ê¡¼¥¬: + # + # Ogres + # + ogre: ¥ª¡¼¥¬: + ogre lord: ¥ª¡¼¥¬¤Î·¯¼ç: + ogre king: ¥ª¡¼¥¬¤Î²¦: + # + # Puddings + # + gray ooze: ³¥¿§¥¦¡¼¥º: + brown pudding: Ã㿧¥×¥ê¥ó: + black pudding: ¹õ¥×¥ê¥ó: + # + # Quantum Mechanics + # + quantum mechanic: ÎÌ»ÒʪÍý³Ø¼Ô: + # + # Rust Monster + # + rust monster: »¬¤Î²øʪ: + # + # Snakes + # + garter snake: ¾®¤µ¤Ê¥Ø¥Ó: + snake: ¥Ø¥Ó: + water moccasin: ¿å¥Ø¥Ó: + pit viper: ·ê¥Ø¥Ó: + python: ¥Ë¥·¥­¥Ø¥Ó: + cobra: ¥³¥Ö¥é: + # + # Trolls + # + troll: ¥È¥í¥ë: + ice troll: ɹ¤Î¥È¥í¥ë: + rock troll: ´ä¤Î¥È¥í¥ë: + water troll: ¿å¤Î¥È¥í¥ë: + Olog-hai: ¥ª¥í¥°¥Ï¥¤: + # + # Umber Hulk + # + umber hulk: ¥¢¥ó¥Ð¡¼¥Ï¥ë¥¯: + # + # Vampires + # + vampire: µÛ·ìµ´: + vampire lord: µÛ·ìµ´¤Îµ®Â²: + Vlad the Impaler: µÛ·ìµ´¥ô¥é¥É: + # + # Wraiths + # + barrow wight: ¥Ð¥í¥¦¡¦¥ï¥¤¥È: + wraith: ¥ì¥¤¥¹: + Nazgul: ¥Ê¥º¥°¥ë: + # + # Xorn + # + xorn: ¥¾¡¼¥ó: + # + # Yeti, Apes and other large beasts + # + ape: ±î: + owlbear: ¥¢¥¦¥ë¥Ù¥¢: + yeti: ¥¤¥¨¥Æ¥£: + carnivorous ape: ¿Í¶ô¤¤±î: + sasquatch: ¥µ¥¹¥«¥Ã¥Á: + # + # Zombies + # + kobold zombie: ¥³¥Ü¥ë¥É¤Î¥¾¥ó¥Ó: + gnome zombie: ¥Î¡¼¥à¤Î¥¾¥ó¥Ó: + orc zombie: ¥ª¡¼¥¯¤Î¥¾¥ó¥Ó: + elf zombie: ¥¨¥ë¥Õ¤Î¥¾¥ó¥Ó: + human zombie: ¿Í´Ö¤Î¥¾¥ó¥Ó: + ettin zombie: ¥¨¥Æ¥£¥ó¤Î¥¾¥ó¥Ó: + giant zombie: µð¿Í¤Î¥¾¥ó¥Ó: + skeleton: ³¼¹ü: + # + # Golems + # + straw golem: ÏΤΥ´¡¼¥ì¥à: + rope golem: ɳ¤Î¥´¡¼¥ì¥à: + leather golem: Èé¤Î¥´¡¼¥ì¥à: + wood golem: ÌڤΥ´¡¼¥ì¥à: + flesh golem: Æù¤Î¥´¡¼¥ì¥à: + clay golem: ÅڤΥ´¡¼¥ì¥à: + stone golem: ´ä¤Î¥´¡¼¥ì¥à: + iron golem: Å´¤Î¥´¡¼¥ì¥à: + # + # Humans + # + human: ¿Í´Ö: + #werejackal: ¥¸¥ã¥Ã¥«¥ë¿Í´Ö: + #werewolf: ϵ¿Í´Ö: + Woodland-elf: ¿¹¤Î¥¨¥ë¥Õ: + Green-elf: ÎÐ¥¨¥ë¥Õ: + Grey-elf: ³¥¿§¥¨¥ë¥Õ: + elf-lord: ¥¨¥ë¥Õ¤Îµ®Â²: + Elvenking: ¥¨¥ë¥Õ¤Î²¦: + nurse: ´Ç¸îÉØ: + shopkeeper: Ź¼ç: + guard: ÈÖʼ: + Oracle: ¸­¼Ô: + aligned priest: ÁÎη: + high priest: ¹âÁÎ: + #unarmored watchman: ´Ý¹ø¤Î¸«Ä¥¤ê: + #unarmored soldier: ´Ý¹ø¤ÎÀï»Î: + soldier: ʼ»Î: + sergeant: ²¼»Î´±: + lieutenant: Éû´±: + captain: »Ø´ø´±: + watchman: ¸«Ä¥¤ê: + watch captain: ¸«Ä¥¤ê¤ÎÂâĹ: + Medusa: ¥á¥Ç¥å¡¼¥µ: + Wizard of Yendor: ¥¤¥§¥ó¥À¡¼¤ÎËâË¡»È¤¤: + Croesus: ¥¯¥í¥¤¥½¥¹: + Charon: ¥«¥í¥ó: + # + # Ghosts + # + ghost: Í©Îî: + shade: ±Æ: + water demon: ¿å¤ÎËâ¿À: + horned devil: ³Ñ¤Î¤¢¤ë°­Ëâ: + succubus: ¥µ¥­¥å¥Ð¥¹: + incubus: ¥¤¥ó¥­¥å¥Ð¥¹: + erinys: ¥¤¥ê¥Ë¥¹: + barbed devil: ɦ¤Î¤¢¤ë°­Ëâ: + marilith: ¥Þ¥ê¥ê¥¹: + vrock: ¥ô¥¡¥í¥Ã¥¯: + hezrou: ¥Ø¥º¥í¥¦: + bone devil: ¹ü¤Î°­Ëâ: + ice devil: ɹ¤Î°­Ëâ: + nalfeshnee: ¥Ê¥ë¥Õ¥§¥·¥Ë: + pit fiend: ·ê¤Î°­Îî: + balrog: ¥Ð¥ë¥í¥°: + Juiblex: ¥¸¥ç¥¦¥Ó¥ì¥Ã¥¯¥¹: + Yeenoghu: ¥¤¡¼¥Î¥°: + Orcus: ¥ª¡¼¥±¥¹: + Geryon: ¥²¡¼¥ê¥å¥ª¡¼¥ó: + Dispater: ¥Ç¥£¥¹¥Ú¡¼¥¿: + Baalzebub: ¥Ù¥ë¥¼¥Ö¥Ö: + Asmodeus: ¥¢¥¹¥â¥Ç¥¦¥¹: + Demogorgon: ¥Ç¥â¥´¥ë¥´¥ó: + Death: ¥Ç¥¹: + Pestilence: ¥Ú¥¹¥Æ¥£¥ì¥ó¥¹: + Famine: ¥Õ¥§¥ß¥ó: + mail daemon: ¥á¥¤¥ë¥Ç¡¼¥â¥ó: + djinni: É÷¤Î¥¸¥ó: + # + # sea monsters + # + giant eel: µðÂ祦¥Ê¥®: + electric eel: Åŵ¤¥¦¥Ê¥®: + kraken: ¥¯¥é¡¼¥±¥ó: + # + # lizards + # + newt: ¥¤¥â¥ê: + gecko: ¥ä¥â¥ê: + iguana: ¥¤¥°¥¢¥Ê: + baby crocodile: ¥ï¥Ë¤Î»Ò¶¡: + lizard: ¥È¥«¥²: + chameleon: ¥«¥á¥ì¥ª¥ó: + crocodile: ¥ï¥Ë: + salamander: ¥µ¥é¥Þ¥ó¥À¡¼: + # + # character classes + # + Archeologist: ¹Í¸Å³Ø¼Ô: + Barbarian: ÌîÈÚ¿Í: + Caveman: ƶ·¢¿Í: + Cavewoman: ƶ·¢¿Í: + Elf: ¥¨¥ë¥Õ: + Fighter: Àï»Î: + Healer: Ìô»Õ: + Knight: µ³»Î: + Priest: ÁÎη: + Priestess: ÆôÁÎ: + Rogue: Åð±: + Samurai: »ø: + Tourist: ´Ñ¸÷µÒ: + Valkyrie: ¥ï¥ë¥­¥å¡¼¥ì: + Wizard: ËâË¡»È¤¤: + archeologist: ¹Í¸Å³Ø¼Ô: + barbarian: ÌîÈÚ¿Í: + caveman: ƶ·¢¿Í: + cavewoman: ƶ·¢¿Í: + elf: ¥¨¥ë¥Õ: + fighter: Àï»Î: + healer: Ìô»Õ: + knight: µ³»Î: + priest: ÁÎη: + priestess: ÆôÁÎ: + rogue: Åð±: + samurai: »ø: + tourist: ´Ñ¸÷µÒ: + valkyrie: ¥ï¥ë¥­¥å¡¼¥ì: + wizard: ËâË¡»È¤¤: + # + # leader + # + Lord Carnarvon: ¥±¥Ê¡¼¥ô¥§¥ó¶ª: + Pelias: ¥Ô¡¼¥ê¥¨¥¹: + Shaman Karnov: ¼ö½Ñ»Õ¥«¥ë¥Î¥Õ: + Earendil: ¥¨¥¢¥ì¥ó¥Ç¥£¥ë: + Elwing: ¥¨¥ë¥¦¥£¥ó¥°: + Princess of Moon: ¥×¥ê¥ó¥»¥¹: + Hippocrates: ¥Ò¥Ý¥¯¥é¥Æ¥¹: + King Arthur: ¥¢¡¼¥µ¡¼²¦: + Arch Priest: ¼çÀʻʺ×: + Master of Thieves: Åð±¤ÎƬÎÎ: + Lord Sato: Âç̾º´Æ£: + Twoflower: ¥È¥¥¥Õ¥í¥¢: + Norn: ¥Î¥ë¥ó: + Wizard of Balance: ĴϤÎËâ½Ñ»Õ: + # + # The nemesis monsters + # + Minion of Huhetotl: ¥Õ¥Ø¥È¥È¥ë¤Î»È¤¤: + Thoth Amon: ¥È¡¼¥È¡¦¥¢¥â¥ó: + Chromatic Dragon: ¥¯¥í¥Þ¥Æ¥£¥Ã¥¯¡¦¥É¥é¥´¥ó: + Goblin King: ¥´¥Ö¥ê¥ó¤Î²¦: + Jedeite: ¥¸¥§¥À¥¤¥È: + Cyclops: ¥µ¥¤¥¯¥í¥×¥¹: + Ixoth: ¥¤¥¯¥½¥¹: + Nalzok: ¥Ê¥ë¥¾¥¯: + Master Assassin: °Å»¦¼Ô¤ÎƬÎÎ: + Ashikaga Takauji: ­Íøº»á: + #Master of Thieves: Åð±¤ÎƬÎÎ: + Lord Surtur: ¥µ¡¼¥¿¡¼¶ª: + Dark One: °Å¤­¤â¤Î: + # + # The "guards" + # + student: ³ØÀ¸: + chieftain: ¼óÎÎ: + neanderthal: ¥Í¥¢¥ó¥Ç¥ë¥¿¡¼¥ë¿Í: + High-elf: ¥Ï¥¤¥¨¥ë¥Õ: + planetary fighter: ¼é¸îÀï»Î: + attendant: ¿ï¹Ô°÷: + page: ¾®À«: + acolyte: »ø¼Ô: + thug: ¤Á¤ó¤Ô¤é: + ninja: Ǧ¼Ô: + roshi: ϲ»Î: + guide: ¥¬¥¤¥É: + warrior: Àï»Î: + apprentice: ¼Â½¬À¸: + man: ÃË: + woman: ½÷: + # + # Gods + # + Quetzalcoatl: ¥±¥Ä¥¢¥ë¥«¥È¥ë: + Camaxtli: ¥«¥Þ¥­¥·¥È¥ê: + Huhetotl: ¥Õ¥Ø¥È¥È¥ë: + Mitra: ¥ß¥È¥é: + Crom: ¥¯¥í¥à: + Set: ¥»¥È: + Anu: ¥¢¥Ì: + Ishtar: ¥¤¥·¥å¥¿¥ë: + Anshar: ¥¢¥ó¥·¥ã¥ë: + Solonor Thelandira: ¥½¥í¥Î¡¼¡¦¥µ¥é¥ó¥Ç¥£¥¢: + Aerdrie Faenya: ¥¨¥¢¥É¥ì¡¦¥Õ¥¡¥¤¥ó¥ä: + Erevan Ilesere: ¥¨¥ì¥ô¥¡¥ó¡¦¥¤¥ì¥¤¥¶: + Selene: ¥»¥ì¥Í: + Helios: ¥Ø¥ê¥ª¥¹: + Eos: ¥¨¥ª¥¹: + Athena: ¥¢¥Æ¥Ê: + Hermes: ¥Ø¥ë¥á¥¹: + Poseidon: ¥Ý¥»¥¤¥É¥ó: + Lugh: ¥ë¡¼¥Õ: + Brigit: ¥Ö¥ê¥¸¥Ã¥È: + Manannan Mac Lir: ¥Þ¥Ê¥ó¥Ê¥ó¡¦¥Þ¥¯¥ê¡¼¥ë: + Shan Lai Ching: »³ÍëÀº: + Chih Sung-tzu: ÀÖ¾¾»Ò: + Huan Ti: ²«Äë: + Issek: ¥¤¥»¥Ã¥¯: + Mog: ¥â¥°: + Kos: ¥³¥¹: + Amaterasu Omikami: Å·¾ÈÂç¿À: + Raijin: Íë¿À: + Susanowo: ¿Üº´Ç·ÃË: + Blind Io: ¥Ö¥é¥¤¥ó¥É¡¦¥¤¥ª: + The Lady: ¥ì¥Ç¥£: + Offler: ¥ª¥Õ¥é¡¼: + Tyr: ¥Á¥å¡¼¥ë: + Odin: ¥ª¡¼¥Ç¥£¥ó: + Loki: ¥í¥­: + Ptah: ¥×¥¿¥Ï: + Thoth: ¥È¡¼¥È: + Anhur: ¥¢¥ó¥Õ¥ë: + # + Moloch: ¥â¡¼¥í¥Ã¥¯: + # + # bogus monster + # + jumbo shrimp: µðÂç´Å¥¨¥Ó: + giant pigmy: µðÂç¥Ô¥°¥ß¡¼: + gnu: ¥Ì¡¼: + killer penguin: »¦¿Í¥Ú¥ó¥®¥ó: + giant cockroach: µðÂ祴¥­¥Ö¥ê: + giant slug: µðÂç¥Ê¥á¥¯¥¸: + maggot: é×Ãî: + pterodactyl: ¥×¥Æ¥é¥Î¥É¥ó: + tyrannosaurus rex: ¥Æ¥£¥é¥Î¥¶¥¦¥ë¥¹: + basilisk: ¥Ð¥¸¥ê¥¹¥¯: + #beholder: ¥Ó¥Û¥ë¥À¡¼: + nightmare: ¥Ê¥¤¥È¥á¥¢: + efreeti: ¥¤¥Õ¥ê¡¼¥È: + marid: ¥Þ¥ê¥Ã¥É: + rot grub: ÀÖé×: + bookworm: »æµû: + doppelganger: ¥É¥Ã¥Ú¥ë¥Ù¥ó¥¬¡¼: + shadow: ¥·¥ã¥É¥¦: + hologram: ¥Û¥í¥°¥é¥à: + jester: Æ»²½»Õ: + attorney: ÊÛ¸î»Î: + sleazoid: ¤ª¤Á¤ç¤¦¤·¼Ô: + killer tomato: »¦¿Í¥È¥Þ¥È: + amazon: ¥¢¥Þ¥¾¥ó: + robot: ¥í¥Ü¥Ã¥È: + battlemech: ¥Ð¥È¥ë¥á¥Ã¥¯: + rhinovirus: É¡É÷¼Ù: + harpy: ¥Ï¡¼¥Ô¡¼: + lion-dog: ¥é¥¤¥ª¥ó¸¤: + rat-ant: ¥Í¥º¥ßµÂ: + # + # misc + # + grue: ¥°¥ë¡¼: + Christmas-tree monster: ¥¯¥ê¥¹¥Þ¥¹¥Ä¥ê¡¼¤Î²øʪ: + luck sucker: ÌñÉ¿À: + paskald: ¥Ñ¥¹¥«¥ë¥É: + # + # Quendor (Zork, &c.) + # + brogmoid: ¥Ö¥í¥°¥â¥¤¥É: + dornbeast: ¥É¥ë¥ó¥Ó¡¼¥¹¥È: + # + # Moria + # + Ancient Multi-Hued Dragon: Ï·Îð¤Î¥Þ¥¹¥¿¡¼¥É¥é¥´¥ó: + Evil Iggy: ¼Ù°­¤Ê¥¤¥®¡¼: + # + # Rogue + # + emu: ¤ª¤ª¤¦¤º¤é: + kestrel: ¤ª¤ª¤Ï¤ä¤Ö¤µ: + xeroc: ¤â¤Î¤Þ¤Í¤Î²øʪ: + venus flytrap: ¤Ï¤¨¤È¤ê¤°¤µ: + # + # Wizardry + # + creeping coins: ¥¯¥ê¡¼¥Ô¥ó¥°¥³¥¤¥ó: + # + # Greek legend + # + hydra: ¥Ò¥É¥é: + siren: ¥»¥¤¥ì¡¼¥ó: + # + # Monty Python + # + killer bunny: ¶¤°­¥¦¥µ¤Á¤ã¤ó: + # + # The Princess Bride + # + rodent of unusual size: °Û¾ï¤ÊÂ礭¤µ¤Î¥ê¥¹¤Á¤ã¤ó: + # + # "Only you can prevent forest fires!" + # + Smokey the bear: ¿¹ÎӲкÒËɻߥޡ¼¥¯¤Î·§¤Á¤ã¤ó: + # + # Discworld + # + Luggage: ¥ë¥Ã¥²¡¼¥¸: + # + # Lord of the Rings + # + Ent: ¥¨¥ó¥È: + # + # Xanth + # + tangle tree: ¿¨¼êÌÚ: + nickelpede: ¥Ë¥Ã¥±¥ë¤µ¤½¤ê: + wiggle: ¤Ô¤¯¤Ô¤¯Ãî: + # + # Lewis Carroll + # + white rabbit: ÇòÅÆ: + snark: ¥¹¥Ê¡¼¥¯: + # + # Dr. Doolittle + # + pushmi-pullyu: ¥ª¥·¥Ä¥ª¥µ¥ì¥Ä: + # + # The Smurfs + # + smurf: ¥¹¥Þ¡¼¥Õ: + # + # Star Trek + # + tribble: ¥È¥ê¥Ö¥ë: + Klingon: ¥¯¥ê¥ó¥´¥ó: + Borg: ¥Ü¡¼¥°: + # + # Star Wars + # + Ewok: ¥¤¥ª¡¼¥¯: + # + # Tonari no Totoro + # + Totoro: ¤È¤Ê¤ê¤Î¥È¥È¥í: + # + # Nausicaa + # + ohmu: ²¦êµ: + # + # monster movies + # + youma: ÍÅËâ: + # + Godzilla: ¥´¥¸¥é: + King Kong: ¥­¥ó¥°¥³¥ó¥°: + # + # old L of SH + # + earthquake beast: Âç¥Ê¥Þ¥º: + # + # Robotech + # + Invid: ¥¤¥ó¥Ó¥Ã¥É: + # + # The Terminator + # + Terminator: ¥¿¡¼¥ß¥Í¡¼¥¿¡¼: + # + # Bubblegum Crisis + # + boomer: ¥Ö¡¼¥Þ¡¼: + # + # Dr. Who ("Exterminate!") + # + Dalek: ¥À¥ì¥¯: + # + # HGttG + # + microscopic space fleet: ĶÈùºÙ±§ÃèÁ¥: + Ravenous Bugblatter Beast of Traal: ¤¬¤Ä¤¬¤Ä¤à¤·¤ã¤à¤·¤ã¥È¥é¥¢¥ë½Ã: + # + # TMNT + # + teenage mutant ninja turtle: ·ãµµÇ¦¼Ô: + # + # Usagi Yojimbo + # + samurai rabbit: »øÅÆ: + # + # Cerebus + # + aardvark: ¥Ä¥Á¥Ö¥¿: + # + # Little Shop of Horrors + # + Audrey II: ¥ª¡¼¥É¥ê¡¼II: + # + # 50's rock 'n' roll + # + witch doctor: ¼ö½Ñ°å: + one-eyed one-horned flying purple people eater: °ìÌÜ°ì¼ê¶õÈô¤Ö»ç¿Í¿©Îà: + # + # saccharine kiddy TV + # + Barney the dinosaur: ¶²Îµ¥Ð¥Ë¡¼¤Á¤ã¤ó: *** /dev/null Wed Sep 24 22:14:55 1997 --- ./dat/jtrnsobj.dat Tue Jul 22 23:18:01 1997 *************** *** 0 **** --- 1,953 ---- + # + # Japanese NetHack Copyright (c) Issei Numata 1994 + # JNetHack may be freely redistributed. See license for details. + # + # English -> Japanese objects transfer table + # + # missiles + # + )arrow: Ìð: + )elven arrow: ¥¨¥ë¥Õ¤ÎÌð: + )runed arrow: ¿ÀÈëŪ¤ÊÌð: + )orcish arrow: ¥ª¡¼¥¯¤ÎÌð: + )crude arrow: ÁÆËö¤ÊÌð: + )silver arrow: ¶ä¤ÎÌð: + )crossbow bolt: ¥¯¥í¥¹¥Ü¥¥¥Ü¥ë¥È: + )bamboo arrow: ÃݤÎÌð: + )dart: ÅꤲÌð: + )shuriken: ¼ê΢·õ: + )throwing star: À±·¿¤ÎÅꤲ¤ë¤â¤Î: + )boomerang: ¥Ö¡¼¥á¥é¥ó: + )spear: Áä: + )elven spear: ¥¨¥ë¥Õ¤ÎÁä: + )runed spear: ¿ÀÈëŪ¤ÊÁä: + )orcish spear: ¥ª¡¼¥¯¤ÎÁä: + )crude spear: ÁÆËö¤ÊÁä: + )dwarvish spear: ¥É¥ï¡¼¥Õ¤ÎÁä: + )stout spear: ¾æÉפÊÁä: + )javelin: ¥¸¥ã¥Ù¥ê¥ó: + )throwing spear: ÅꤲÁä: + )trident: ¥È¥é¥¤¥Ç¥ó¥È: + )lance: ¥é¥ó¥¹: + )dagger: û·õ: + )elven dagger: ¥¨¥ë¥Õ¤Îû·õ: + )runed dagger: ¿ÀÈëŪ¤Êû·õ: + )orcish dagger: ¥ª¡¼¥¯¤Îû·õ: + )crude dagger: ÁÆËö¤Êû·õ: + )athame: ¥¢¥µ¥á: + )scalpel: ¥á¥¹: + )knife: ¥Ê¥¤¥Õ: + )stiletto: ¥¹¥Æ¥£¥ì¥Ã¥È: + )worm tooth: ¥ï¡¼¥à¤Î»õ: + )crysknife: ¥¯¥ê¥¹¥Ê¥¤¥Õ: + )dwarvish mattock: ¥É¥ï¡¼¥Õ¤Î¤Ä¤ë¤Ï¤·: + )broad pick: Éý¹­¤Î¤Ä¤ë¤Ï¤·: + )heavy pick: ½Å¤¤¤Ä¤ë¤Ï¤·: + )axe: Éà: + )battle-axe: ÀïÉà: + )double-headed axe: ξ¿Ï¤ÎÉà: + )short sword: ¾®·õ: + )elven short sword: ¥¨¥ë¥Õ¤Î¾®·õ: + )runed short sword: ¿ÀÈëŪ¤Ê¾®·õ: + )orcish short sword: ¥ª¡¼¥¯¤Î¾®·õ: + )crude short sword: ÁÆËö¤Ê¾®·õ: + )dwarvish short sword: ¥É¥ï¡¼¥Õ¤Î¾®·õ: + )broad short sword: Éý¹­¤Î¾®·õ: + )scimitar: »°Æü·îÅá: + )curved sword: ¶Ê¤Ã¤¿·õ: + )silver saber: ¶ä¤Î¥µ¡¼¥Ù¥ë: + )broadsword: Éý¹­¤Î·õ: + )elven broadsword: ¥¨¥ë¥Õ¤ÎÉý¹­¤Î·õ: + )runed broadsword: ¿ÀÈëŪ¤ÊÉý¹­¤Î·õ: + )long sword: Ĺ·õ: + )two-handed sword: ξ¼ê»ý¤Á¤Î·õ: + )katana: Åá: + )samurai sword: »ø¤Î·õ: + )tsurugi: ·õ: + )long samurai sword: »ø¤ÎĹ·õ: + )runesword: ¥ë¡¼¥ó¤Î·õ: + )runed broadsword: ¿ÀÈëŪ¤ÊÉý¹­¤Î·õ: + )partisan: ¥Ñ¥ë¥Á¥¶¥ó: + )vulgar polearm: ĹÉà: + )ranseur: ¥é¥ó¥µ¡¼: + )hilted polearm: ÊÁÉÕ¤ÎĹÉà: + )spetum: ¥¹¥Ú¥¿¥à: + )forked polearm: ¥Õ¥©¡¼¥¯ÉÕ¤­Ä¹Éà: + )glaive: ¥°¥ì¥¤¥Ö: + )single-edged polearm: ÊÒ¿ÏĹÉà: + )halberd: ¥Ï¥ë¥Ð¡¼¥É: + )angled poleaxe: ¶Ê¤Ã¤¿¤Þ¤µ¤«¤ê: + )bardiche: ¥Ð¡¼¥Ç¥£¥Ã¥¯: + )long poleaxe: Ť¤¤Þ¤µ¤«¤ê: + )voulge: ¥Ü¥ë¥²: + )pole cleaver: ÆùÀÚ¤êÊñÃú: + )fauchard: Áä·õ: + )pole sickle: ¤«¤Þ: + )guisarme: ¥®¥¶¥ë¥à: + )pruning hook: ´¢¤ê¹þ¤ß¤¬¤Þ: + )bill-guisarme: ¥Ó¥ë¡¦¥®¥¶¥ë¥à: + )hooked polearm: ³ÃÉÕ¤ÎĹÉà: + )lucern hammer: ¥ë¥Ã¥Ä¥§¥ë¥ó¥Ï¥ó¥Þ¡¼: + )pronged polearm: Æó¸Ô¤ÎĹÉà: + )bec de corbin: ¥Ù¥Ã¥¯¡¦¥É¡¦¥³¥ë¥Ð¥ó: + )beaked polearm: Áä¤Ä¤­¤ÎĹÉà: + )mace: ¥á¥¤¥¹: + )morning star: ¥â¡¼¥Ë¥ó¥°¥¹¥¿¡¼: + )war hammer: ¥¦¥©¡¼¥Ï¥ó¥Þ¡¼: + )club: ¤³¤óËÀ: + )rubber hose: ¥´¥à¥Û¡¼¥¹: + )quarterstaff: Ï»¼ÜËÀ: + )staff: ËÀ: + )aklys: ¥¢¥­¥ê¥¹: + )thonged club: ɳÉդΤ³¤óËÀ: + )flail: ¥Õ¥ì¥¤¥ë: + )bullwhip: ÊÜ: + # + # bows + # + )bow: µÝ: + )elven bow: ¥¨¥ë¥Õ¤ÎµÝ: + )runed bow: ¿ÀÈëŪ¤ÊµÝ: + )orcish bow: ¥ª¡¼¥¯¤ÎµÝ: + )crude bow: ÁÆËö¤ÊµÝ: + )yumi: ϵÝ: + )long bow: ŵÝ: + )sling: ¥¹¥ê¥ó¥°: + )crossbow: ¥¯¥í¥¹¥Ü¥¥: + # + # dummy weapon(for #enhance) + # + )polearms: ĹÉà: + )saber: ¥µ¡¼¥Ù¥ë: + )two weapon combat: ÆóÅáή: + )pick-axe: ¤Ä¤ë¤Ï¤·: + )bare handed combat: ÁǼê: + )martial arts: ¥Þ¡¼¥·¥ã¥ë¥¢¡¼¥Ä: + )unicorn horn: ¥æ¥Ë¥³¡¼¥ó¤Î³Ñ: + # + # armors + # + ]elven leather helm: ¥¨¥ë¥Õ¤Î³×˹»Ò: + ]leather hat: Èé˹»Ò: + ]orcish helm: ¥ª¡¼¥¯¤Î³õ: + ]iron skull cap: Å´¤Î˹»Ò: + ]dwarvish iron helm: ¥É¥ï¡¼¥Õ¤ÎÅ´³õ: + ]hard hat: ¸Ç¤¤Ë¹»Ò: + ]fedora: ¥Õ¥£¥É¡¼¥é: + ]cornuthaum: ¤È¤ó¤¬¤ê˹»Ò: + ]conical hat: ±ß¿í·Á¤Î˹»Ò: + ]dunce cap: Äãǽ˹: + ]dented pot: ¤¯¤Ü¤ó¤ÀÆé: + ]helmet: ³õ: + ]plumed helmet: ±©³õ: + ]helm of brilliance: ÃÎÀ­¤Î³õ: + ]etched helmet: ÌÏÍÍÆþ¤ê³õ: + ]helm of opposite alignment: µÕ°À­¤Î³õ: + ]crested helmet: ¤È¤µ¤«¤Î³õ: + ]helm of telepathy: ÀéΤ´ã¤Î³õ: + ]visored helmet: ÌÌËËÉÕ¤­¤Î³õ: + ]gray dragon scale mail: ³¥¿§¥É¥é¥´¥ó¤ÎÎÚ³»: + ]red dragon scale mail: ÀÖ¿§¥É¥é¥´¥ó¤ÎÎÚ³»: + ]white dragon scale mail: Çò¥É¥é¥´¥ó¤ÎÎÚ³»: + ]orange dragon scale mail: ¥ª¥ì¥ó¥¸¥É¥é¥´¥ó¤ÎÎÚ³»: + ]black dragon scale mail: ¹õ¥É¥é¥´¥ó¤ÎÎÚ³»: + ]blue dragon scale mail: Àĥɥ饴¥ó¤ÎÎÚ³»: + ]green dragon scale mail: ÎХɥ饴¥ó¤ÎÎÚ³»: + ]yellow dragon scale mail: ²«¿§¥É¥é¥´¥ó¤ÎÎÚ³»: + ]gray dragon scales: ³¥¿§¥É¥é¥´¥ó¤ÎÎÚ: + ]red dragon scales: ÀÖ¿§¥É¥é¥´¥ó¤ÎÎÚ: + ]white dragon scales: Çò¥É¥é¥´¥ó¤ÎÎÚ: + ]orange dragon scales: ¥ª¥ì¥ó¥¸¥É¥é¥´¥ó¤ÎÎÚ: + ]black dragon scales: ¹õ¥É¥é¥´¥ó¤ÎÎÚ: + ]blue dragon scales: Àĥɥ饴¥ó¤ÎÎÚ: + ]green dragon scales: ÎХɥ饴¥ó¤ÎÎÚ: + ]yellow dragon scales: ²«¿§¥É¥é¥´¥ó¤ÎÎÚ: + ]plate mail: ¹ÝÅ´¤Î³»: + ]crystal plate mail: ¿å¾½¤Î³»: + ]bronze plate mail: ÀÄƼ¤Î³»: + ]splint mail: Å´ÊҤγ»: + ]banded mail: ÂÓ¶â¤Î³»: + ]dwarvish mithril-coat: ¥É¥ï¡¼¥Õ¤Î¥ß¥¹¥ê¥ëÉþ: + ]elven mithril-coat: ¥¨¥ë¥Õ¤Î¥ß¥¹¥ê¥ëÉþ: + ]chain mail: º¿¤«¤¿¤Ó¤é: + ]orcish chain mail: ¥ª¡¼¥¯¤Îº¿¤«¤¿¤Ó¤é: + ]crude chain mail: ÁÆËö¤Êº¿¤«¤¿¤Ó¤é: + ]scale mail: Îڤγ»: + ]studded leather armor: ÉÆÉÕ¤­Èé³»: + ]ring mail: Å´´Ä¤Î³»: + ]orcish ring mail: ¥ª¡¼¥¯¤ÎÅ´´Ä¤Î³»: + ]crude ring mail: ÁÆËö¤ÊÅ´´Ä¤Î³»: + ]leather armor: Èé³»: + ]leather jacket: Èé¤ÎÉþ: + ]sailor blouse: ¥»¡¼¥é¡¼Éþ: + # + # cloaks + # + ]mummy wrapping: ¥ß¥¤¥é¤ÎÊñÂÓ: + ]elven cloak: ¥¨¥ë¥Õ¤Î¥¯¥í¡¼¥¯: + ]faded pall: ±¢µ¤¤Ê³°Åå: + ]orcish cloak: ¥ª¡¼¥¯¤Î¥¯¥í¡¼¥¯: + ]coarse mantelet: ÁÆËö¤Ê¥Þ¥ó¥È: + ]dwarvish cloak: ¥É¥ï¡¼¥Õ¤Î¥¯¥í¡¼¥¯: + ]hooded cloak: ¥Õ¡¼¥É¤Ä¤­¤Î¥¯¥í¡¼¥¯: + ]oilskin cloak: Ëɿ奯¥í¡¼¥¯: + ]slippery cloak: ¤Ä¤ë¤Ä¤ë¤·¤¿¥¯¥í¡¼¥¯: + ]cloak of protection: ¼é¤ê¤Î¥¯¥í¡¼¥¯: + ]tattered cape: ¤Ü¤í¤Ü¤í¤Î¥±¡¼¥×: + ]cloak of invisibility: Æ©ÌÀ¤Î¥¯¥í¡¼¥¯: + ]opera cloak: ¥ª¥Ú¥é¥¯¥í¡¼¥¯: + ]cloak of magic resistance: ËâË¡¤òËɤ°¥¯¥í¡¼¥¯: + ]ornamental cope: Áõ¾þÍѤγ°Åå: + ]cloak of displacement: ¸¸±Æ¤Î¥¯¥í¡¼¥¯: + ]piece of cloth: ÉÛÀÚ¤ì: + # + # shields + # + ]small shield: ¾®¤µ¤Ê½â: + ]elven shield: ¥¨¥ë¥Õ¤Î½â: + ]blue and green shield: ÀĤÈÎФνâ: + ]Uruk-hai shield: ¥¦¥ë¥¯¡¦¥Ï¥¤¤Î½â: + ]white-handed shield: Çò¤Î¼ê¤Î½â: + ]orcish shield: ¥ª¡¼¥¯¤Î½â: + ]red-eyed shield: ÀÖ¤¤Ìܤνâ: + ]large shield: Â礭¤Ê½â: + ]dwarvish roundshield: ¥É¥ï¡¼¥Õ¤Î´Ý½â: + ]large round shield: Â礭¤Ê´Ý½â: + ]shield of reflection: È¿¼Í¤Î½â: + ]polished silver shield: ¶ä¿§¤ÎËᤫ¤ì¤¿½â: + ]Hawaiian shirt: ¥¢¥í¥Ï¥·¥ã¥Ä: + ]T-shirt: £Ô¥·¥ã¥Ä: + # + # gloves + # + ]leather gloves: Èé¤Î¼êÂÞ: + ]old gloves: ¸Å¤¤¼êÂÞ: + ]gauntlets of fumbling: ¤ª¼ê¶Ì¤Î¾®¼ê: + ]padded gloves: µÍ¤á¤â¤Î¤Î¤¢¤ë¼êÂÞ: + ]gauntlets of power: ÎϤξ®¼ê: + ]riding gloves: ¾èÇÏÍѤμêÂÞ: + ]gauntlets of dexterity: ´ïÍѤµ¤Î¾®¼ê: + ]fencing gloves: ¥Õ¥§¥ó¥·¥ó¥°¤Î¾®¼ê: + # + # boots + # + ]low boots: ¤«¤«¤È¤ÎÄ㤤·¤: + ]walking shoes: »¶ÊâÍѤη¤: + ]iron shoes: Å´¤Î·¤: + ]hard shoes: ¸Ç¤¤·¤: + ]high boots: ¤«¤«¤È¤Î¹â¤¤·¤: + ]jackboots: ·³Ââ·¤: + ]speed boots: ðêÂÌÅ·¤Î·¤: + ]combat boots: ÀïÆ®·¤: + ]water walking boots: ¿å¾åÊâ¹Ô¤Î·¤: + ]jungle boots: ¥¸¥ã¥ó¥°¥ë¤Î·¤: + ]jumping boots: Èô¤ÓÄ·¤Í¤ë·¤: + ]hiking boots: ¥Ï¥¤¥­¥ó¥°¤Î·¤: + ]elven boots: ¥¨¥ë¥Õ¤Î·¤: + ]mud boots: ¥É¥í¤À¤é¤±¤Î·¤: + ]fumble boots: ¤Ä¤Þ¤º¤­¤Î·¤: + ]riding boots: ¾èÇÏÍѤη¤: + ]levitation boots: ÉâÍ·¤Î·¤: + ]snow boots: Àã·¤: + # + # rings + # + =adornment: ¾þ¤ê¤Î»ØÎØ: + =gain strength: ¶¯¤µ¤Î»ØÎØ: + =increase damage: ¹¶·â¤Î»ØÎØ: + =protection: ¼é¤ê¤Î»ØÎØ: + =regeneration: ²óÉü¤Î»ØÎØ: + =searching: õº÷¤Î»ØÎØ: + =stealth: Ǧ¤Ó¤Î»ØÎØ: + =levitation: ÉâÍ·¤Î»ØÎØ: + =hunger: µ²²î¤Î»ØÎØ: + =aggravate monster: È¿´¶¤Î»ØÎØ: + =conflict: Á褤¤Î»ØÎØ: + =warning: ·Ù¹ð¤Î»ØÎØ: + =poison resistance: ÂÑÆǤλØÎØ: + =fire resistance: Âѱê¤Î»ØÎØ: + =cold resistance: ÂÑÎä¤Î»ØÎØ: + =shock resistance: ÂѾ׷â¤Î»ØÎØ: + =teleportation: ½Ö´Ö°ÜÆ°¤Î»ØÎØ: + =teleport control: ½Ö´Ö°ÜÆ°À©¸æ¤Î»ØÎØ: + =polymorph: ÊѲ½¤Î»ØÎØ: + =polymorph control: ÊѲ½À©¸æ¤Î»ØÎØ: + =invisibility: Æ©ÌÀ¤Î»ØÎØ: + =see invisible: ²Ä»ë¤Î»ØÎØ: + =protection from shape changers: ÂÑÊѲ½²øʪ¤Î»ØÎØ: + # + =wooden: ÌڤλØÎØ: + =granite: ²ÖÖ¾´ä¤Î»ØÎØ: + =coral: »¹¸ê¤Î»ØÎØ: + =black onyx: ¹õ¤á¤Î¤¦¤Î»ØÎØ: + =moonstone: ·îĹÀФλØÎØ: + =tiger eye: ¸×ÌÜÀФλØÎØ: + =jade: ¤Ò¤¹¤¤¤Î»ØÎØ: + =agate: ¤á¤Î¤¦¤Î»ØÎØ: + =topaz: ¥È¥Ñ¡¼¥º¤Î»ØÎØ: + =sapphire: ¥µ¥Õ¥¡¥¤¥¢¤Î»ØÎØ: + =ruby: ¥ë¥Ó¡¼¤Î»ØÎØ: + =diamond: ¥À¥¤¥¢¥â¥ó¥É¤Î»ØÎØ: + =pearl: ¿¿¼î¤Î»ØÎØ: + =iron: Å´¤Î»ØÎØ: + =brass: ¿¿ï«¤Î»ØÎØ: + =copper: Ƽ¤Î»ØÎØ: + =silver: ¶ä¤Î»ØÎØ: + =gold: ¶â¤Î»ØÎØ: + =ivory: ¾Ý²ç¤Î»ØÎØ: + =emerald: ¥¨¥á¥é¥ë¥É¤Î»ØÎØ: + =wire: ¿Ë¶â¤Î»ØÎØ: + =engagement: º§Ìó»ØÎØ: + =shiny: ¸÷¤ë»ØÎØ: + # + # amulets + # + "amulet of ESP: ±ó»ë¤ÎËâ½ü¤±: + "amulet of life saving: Ì¿¤ÎËâ½ü¤±: + "amulet of strangulation: ¹Ê»¦¤ÎËâ½ü¤±: + "amulet of restful sleep: °Â̲¤ÎËâ½ü¤±: + "amulet versus poison: ÂÑÆǤÎËâ½ü¤±: + "amulet of change: À­Å¾´¹¤ÎËâ½ü¤±: + "amulet of reflection: È¿¼Í¤ÎËâ½ü¤±: + "amulet of magical breathing: ËâË¡¤Î¸ÆµÛ¤ÎËâ½ü¤±: + "circular: ´Ý¤¤Ëâ½ü¤±: + "spherical: µå¤ÎËâ½ü¤±: + "oval: Íñ·¿¤ÎËâ½ü¤±: + "triangular: »°³Ñ·Á¤ÎËâ½ü¤±: + "pyramidal: »Í³Ñ¿í¤ÎËâ½ü¤±: + "square: »Í³Ñ¤ÎËâ½ü¤±: + "hexagonal: Ï»³Ñ·Á¤ÎËâ½ü¤±: + "octagonal: Ȭ³Ñ·Á¤ÎËâ½ü¤±: + "cheap plastic imitation of the Amulet of Yendor:µ¶Êª¤Î¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±: + "Amulet of Yendor: ¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±: + # + # containers + # + (large box: Â礭¤ÊÈ¢: + (chest: ÊõÈ¢: + (ice box: ¥¢¥¤¥¹¥Ü¥Ã¥¯¥¹: + (sack: ÂÞ: + (oilskin sack: ËÉ¿åÂÞ: + (bag of holding: Êݸ¤Î³ó: + (bag of tricks: ¥È¥ê¥Ã¥¯¤Î³ó: + (bag: ³ó: + # + # lock opening tools + # + (skeleton key: Ëüǽ¸°: + (key: ¸°: + (lock pick: ¸°³«¤±´ï¶ñ: + (credit card: ¥¯¥ì¥¸¥Ã¥È¥«¡¼¥É: + # + # light sources + # + (tallow candle: ½Ã»é¤Î¤í¤¦¤½¤¯: + (candle: ¤í¤¦¤½¤¯: + (wax candle: ̪Ϲ¤Î¤í¤¦¤½¤¯: + (brass lantern: ¿¿ï«¤Î¥é¥ó¥¿¥ó: + (oil lamp: ¥ª¥¤¥ë¥é¥ó¥×: + (lamp: ¥é¥ó¥×: + (magic lamp: ËâË¡¤Î¥é¥ó¥×: + (expensive camera: ¹â²Á¤Ê¥«¥á¥é: + (mirror: ¶À: + (looking glass: ¥¬¥é¥¹: + (crystal ball: ¿å¾½¶Ì: + (glass orb: ¥¬¥é¥¹¤Îµå: + (blindfold: Ìܱ£¤·: + (towel: ¥¿¥ª¥ë: + (leash: ɳ: + (stethoscope: Ä°¿Ç´ï: + (tinning kit: ´ÌµÍºîÀ®Æ»¶ñ: + (tin opener: ´ÌÀÚ¤ê: + (can of grease: »é¤Î´Ì: + (figurine: ¿Í·Á: + (magic marker: ËâË¡¤Î¥Þ¡¼¥«: + # + # instruments + # + (tin whistle: ¥Ö¥ê¥­¤ÎÅ«: + (whistle: Å«: + (magic whistle: ËâË¡¤ÎÅ«: + (wooden flute: ÌڤΥե롼¥È: + (flute: ¥Õ¥ë¡¼¥È: + (magic flute: ËâË¡¤Î¥Õ¥ë¡¼¥È: + (tooled horn: ºÙ¹©¤Î¤Û¤É¤³¤µ¤ì¤¿¥Û¥ë¥ó: + (horn: ¥Û¥ë¥ó: + (frost horn: ¿áÀã¤Î¥Û¥ë¥ó: + (fire horn: ±ê¤Î¥Û¥ë¥ó: + (horn of plenty: ·Ã¤ß¤Î¥Û¥ë¥ó: + (wooden harp: ÌÚ¤Îè¶×: + (harp: è¶×: + (magic harp: ËâË¡¤Îè¶×: + (bell: ¥Ù¥ë: + (bugle: ¥é¥Ã¥Ñ: + (leather drum: Èé¤ÎÂÀ¸Ý: + (drum: ÂÀ¸Ý: + (drum of earthquake: ÃϿ̤ÎÂÀ¸Ý: + (land mine: ÃÏÍë: + (beartrap: ·§¤Îæ«: + # + # tools useful as weapons + # + (pick-axe: ¤Ä¤ë¤Ï¤·: + (unicorn horn: ¥æ¥Ë¥³¡¼¥ó¤Î³Ñ: + # + # special tools + # + (Candelabrum of Invocation: µ§¤ê¤Î¿¤Âæ: + (candelabrum: ¿¤Âæ: + (Bell of Opening: ³«Êü¤Î¥Ù¥ë: + (silver bell: ¶ä¤Î¥Ù¥ë: + # + # meat + # + %tripe ration: ´¥¤·Æù: + %corpse: »àÂÎ: + %egg: Íñ: + # + # fruits & veggies + # + %apple: ¤ê¤ó¤´: + %orange: ¥ª¥ì¥ó¥¸: + %pear: ÍΥʥ·: + %melon: ¥á¥í¥ó: + %banana: ¥Ð¥Ê¥Ê: + %carrot: ¤Ë¤ó¤¸¤ó: + %sprig of wolfsbane: ¥È¥ê¥«¥Ö¥È: + %clove of garlic: ¤Ë¤ó¤Ë¤¯: + %slime mold: ¤Í¤Ð¤Í¤Ð¥«¥Ó: + %slice of pizza: ¥Ô¥¶: + # + # human food + # + %lump of royal jelly: ¥í¥¤¥ä¥ë¥¼¥ê¡¼: + %cream pie: ¥¯¥ê¡¼¥à¥Ñ¥¤: + %candy bar: ¥­¥ã¥ó¥Ç¥£: + %fortune cookie: Àꤤ¥¯¥Ã¥­¡¼: + %pancake: ¥Ñ¥ó¥±¡¼¥­: + %lembas wafer: ¥ì¥ó¥Ð¥¹: + %cram ration: ¥¯¥é¥à: + %food ration: ¿©ÎÁ: + %K-ration: £Ë¥ì¡¼¥·¥ç¥ó: + %C-ration: £Ã¥ì¡¼¥·¥ç¥ó: + %tin: ´Ì: + # + # potions + # + !gain ability: ǽÎϳÍÆÀ¤ÎÌô: + !restore ability: ǽÎϲóÉü¤ÎÌô: + !confusion: º®Íð¤ÎÌô: + !blindness: ÌÕÌܤÎÌô: + !paralysis: Ëãáã¤ÎÌô: + !speed: Á᤯¤Ê¤ëÌô: + !levitation: ÉâÍ·¤ÎÌô: + !hallucination: ¸¸³Ð¤ÎÌô: + !invisibility: Æ©ÌÀ¤ÎÌô: + !see invisible: ²Ä»ë¤ÎÌô: + !healing: ²óÉü¤ÎÌô: + !extra healing: Ķ²óÉü¤ÎÌô: + !gain level: ¥ì¥Ù¥ë¥¢¥Ã¥×¤ÎÌô: + !enlightenment: ·¼ÌؤÎÌô: + !monster detection: ²øʪ¤òõ¤¹Ìô: + !object detection: ʪÂΤòõ¤¹Ìô: + !gain energy: ËâÎϤÎÌô: + !booze: ¿ì¤Ã¤Ñ¤é¤¤¤ÎÌô: + !sickness: ɵ¤¤ÎÌô: + !fruit juice: ¥Õ¥ë¡¼¥Ä¥¸¥å¡¼¥¹: + !water: ¿å: + !oil: Ìý: + !ruby: ¥ë¥Ó¡¼¿§¤ÎÌô: + !pink: ¥Ô¥ó¥¯¿§¤ÎÌô: + !orange: ¥ª¥ì¥ó¥¸¿§¤ÎÌô: + !yellow: ²«¿§¤ÎÌô: + !emerald: ¥¨¥á¥é¥ë¥É¿§¤ÎÌô: + !dark green: °ÅÎ理ÎÌô: + !cyan: ¥·¥¢¥ó¿§¤ÎÌô: + !sky blue: ¿å¿§¤ÎÌô: + !brilliant blue: ÌÀ¤ë¤¤ÀÄ¿§¤ÎÌô: + !magenta: ¥Þ¥¼¥ó¥À¿§¤ÎÌô: + !purple-red: Àֻ翧¤ÎÌô: + !puce: °Å³ì¿§¤ÎÌô: + !milky: ¥ß¥ë¥¯¿§¤ÎÌô: + !swirly: ±²¤ò´¬¤¤¤Æ¤¤¤ëÌô: + !bubbly: Ë¢¤À¤Ã¤Æ¤¤¤ëÌô: + !smoky: ±ì¤¬¤Ç¤Æ¤¤¤ëÌô: + !cloudy: ÆޤäƤ¤¤ëÌô: + !brown: Ã㿧¤ÎÌô: + !fizzy: ȯˢ¤·¤Æ¤¤¤ëÌô: + !dark: ±¢µ¤¤Ê¿§¤ÎÌô: + !clear: ̵¿§¤ÎÌô: + !murky: Ç»¹õ¤ÎÌô: + # + # scrolls + # + ?enchant armor: ³»¤ËËâË¡¤ò¤«¤±¤ë´¬Êª: + ?destroy armor: ³»¤òÇ˲õ¤¹¤ë´¬Êª: + ?confuse monster: ²øʪ¤òº®Í𤵤»¤ë´¬Êª: + ?scare monster: ²øʪ¤ò¶±¤¨¤µ¤»¤ë´¬Êª: + ?remove curse: ²ò¼ö¤Î´¬Êª: + ?enchant weapon: Éð´ï¤ËËâË¡¤ò¤«¤±¤ë´¬Êª: + ?create monster: ²øʪ¤òºî¤ë´¬Êª: + ?taming: ²øʪ¤ò»ô¤¤¤Ê¤é¤¹´¬Êª: + ?genocide: µÔ»¦¤Î´¬Êª: + ?light: ¸÷¤Î´¬Êª: + ?teleportation: ½Ö´Ö°ÜÆ°¤Î´¬Êª: + ?gold detection: ¶â²ß¤òõ¤¹´¬Êª: + ?food detection: ¿©ÎÁ¤òõ¤¹´¬Êª: + ?identify: ¼±Ê̤δ¬Êª: + ?magic mapping: ËâË¡¤ÎÃϿޤδ¬Êª: + ?amnesia: µ­²±ÁÓ¼º¤Î´¬Êª: + ?fire: ±ê¤Î´¬Êª: + ?punishment: ȳ¤Î´¬Êª: + ?charging: ½¼Å¶¤Î´¬Êª: + ?mail: ¼ê»æ¤Î´¬Êª: + ?blank paper: Çò»æ¤Î´¬Êª: + ?ZELGO MER: ¡Ø¤Ø¤í¤Ø¤í¤Ã¤¹¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?JUYED AWK YACC: ¡Ø¤ß¤å¡¼¤ë¤Í¤Þ¤¯¤¹¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?NR 9: ¡Ø¤»¤Ö¤ó¤¹¤®¤ç¤¶¡¼¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?XIXAXA XOXAXA XUXAXA: ¡Ø¤¤¤»¤Ã¤¤¤¿¤Þ¤Ì¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?PRATYAVAYAH: ¡Ø¤ª¤í¤«¤Ö¡¼¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?DAIYEN FOOELS: ¡Ø¤¢¤é¤Û¤é¤µ¤Ã¤µ¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?LEP GEX VEN ZEA: ¡Ø¤Á¤ó¤È¤ó¤·¤ã¤ó¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?PRIRUTSENIE: ¡Ø¤²¤í¤²¡¼¤í¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?ELBIB YLOH: ¡Ø¤í¤ó¤ä¤Ã¤¯¤Þ¡¼¤ó¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?VERR YED HORRE: ¡Ø¤·¤ç¤Ã¤¯¤Ð¤¤¤Þ¤ó¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?VENZAR BORGAVVE: ¡Ø¤ª¡¼¤¯¤¹¤À¡¼¤Ó¡¼¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?THARR: ¡Ø¤«¤Í¤«¤Í¤«¤Í¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?YUM YUM: ¡Ø¤Õ¤Ã¤·¤í¤¦¤È¤¬¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?KERNOD WEL: ¡Ø¤¯¤Ã¤¯¡¼¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?ELAM EBOW: ¡Ø¤¸¤ã¤¤¤¹¤È¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?DUAM XNAHT: ¡Ø¤Ç¤£¤­¤å¡¼¤¨¤à¤¨¤ë¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?ANDOVA BEGARIN: ¡Ø¤É¤Ã¤¯¤ê¤Ó¤ó¤­¡¼¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?VE FORBRYDERNE: ¡Ø¤¹¤Æ¡¼¤­¤ß¤ã¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?HACKEM MUCHE: ¡Ø¤¸¤ã¤¤¤·¤ç¤¯¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?VELOX NEB: ¡Ø¤Á¤ã¤ó¤Ô¤ª¡Á¤ó¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?FOOBIE BLETCH: ¡Ø¤Û¤¨¤Û¤¨¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?TEMOV: ¡Ø¤Ý¤Á¤Ã¤È¤Ê¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?GARVEN DEH: ¡Ø¤·¤Ó¤Ó¤ó¤·¤Ó¤Ó¤ó¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?READ ME: ¡Ø¤¦¤·¤í¤ò¤ß¤í¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?KIRJE: ¡Ø¤è¤·¤Î¤ä¤®¤å¤É¡¼¤ó¡Ù¤È½ñ¤«¤ì¤¿´¬Êª: + ?stamped: ¾Ã°õ¤Î²¡¤µ¤ì¤¿´¬Êª: + ?unlabeled: ¥é¥Ù¥ë¤Î¤Ê¤¤´¬Êª: + # + # spellbooks + # + +dig: ·ê·¡¤ê¤ÎËâË¡½ñ: + +magic missile: ËâË¡¤ÎÌð¤ÎËâË¡½ñ: + +fireball: ²Ð¤Î¶Ì¤ÎËâË¡½ñ: + +cone of cold: Î䵤¤ÎËâË¡½ñ: + +sleep: ̲¤ê¤ÎËâË¡½ñ: + +finger of death: »à¤Î»Ø¤ÎËâË¡½ñ: + +light: ¸÷¤ÎËâË¡½ñ: + +detect monsters: ²øʪ¤òõ¤¹ËâË¡½ñ: + +healing: ²óÉü¤ÎËâË¡½ñ: + +knock: ³«¾û¤ÎËâË¡½ñ: + +force bolt: ¾×·â¤ÎËâË¡½ñ: + +confuse monster: ²øʪ¤òº®Í𤵤»¤ëËâË¡½ñ: + +cure blindness: ÌÕÌܤòÌþ¤¹ËâË¡½ñ: + +slow monster: ²øʪ¤òÃÙ¤¯¤¹¤ëËâË¡½ñ: + +wizard lock: »Ü¾û¤ÎËâË¡½ñ: + +create monster: ²øʪ¤ò¤¤ëËâË¡½ñ: + +detect food: ¿©ÎÁ¤òõ¤¹ËâË¡½ñ: + +cause fear: ¶²ÉݤÎËâË¡½ñ: + +clairvoyance: ÀéΤ´ã¤ÎËâË¡½ñ: + +cure sickness: ɵ¤¤òÌþ¤¹ËâË¡½ñ: + +charm monster: ²øʪ¤ò̥λ¤¹¤ëËâË¡½ñ: + +haste self: ÁÇÁᤵ¤ÎËâË¡½ñ: + +detect unseen: ¸«¤¨¤Ê¤¤¤â¤Î¤òõ¤¹ËâË¡½ñ: + +levitation: ÉâÍ·¤ÎËâË¡½ñ: + +extra healing: Ķ²óÉü¤ÎËâË¡½ñ: + +restore ability: ǽÎϲóÉü¤ÎËâË¡½ñ: + +invisibility: Æ©ÌÀ¤ÎËâË¡½ñ: + +detect treasure: Êõ¤òõ¤¹ËâË¡½ñ: + +remove curse: ¼ö¤¤¤ò²ò¤¯ËâË¡½ñ: + +magic mapping: ËâË¡¤ÎÃÏ¿Þ¤ÎËâË¡½ñ: + +identify: ¼±Ê̤ÎËâË¡½ñ: + +turn undead: »à¿Í¤¬¤¨¤·¤ÎËâË¡½ñ: + +polymorph: ÊѲ½¤ÎËâË¡½ñ: + +teleport away: ½Ö´Ö°ÜÆ°¤ÎËâË¡½ñ: + +create familiar: »È¤¤Ëâ¤ò¤¤ëËâË¡½ñ: + +cancellation: ̵Îϲ½¤ÎËâË¡½ñ: + # + +parchment: ÍÎÈé»æ¤ÎËâË¡½ñ: + +vellum: »ÒµíÈé¤ÎËâË¡½ñ: + +ragged: ¤Ü¤í¤Ü¤í¤ÎËâË¡½ñ: + +dog eared: ¥Ú¡¼¥¸¤ÎÀÞ¤é¤ì¤¿ËâË¡½ñ: + +mottled: ¤Þ¤À¤é¤ÎËâË¡½ñ: + +stained: ¤è¤´¤ì¤¿ËâË¡½ñ: + +cloth: ÉÛÃϤÎËâË¡½ñ: + +leather: Èé¤ÎËâË¡½ñ: + +white: Çò¤¤ËâË¡½ñ: + +pink: ¥Ô¥ó¥¯¿§¤ÎËâË¡½ñ: + +red: ÀÖ¤¤ËâË¡½ñ: + +orange: ¥ª¥ì¥ó¥¸¿§¤ÎËâË¡½ñ: + +yellow: ²«¿§¤¤ËâË¡½ñ: + +light green: øÎ理ÎËâË¡½ñ: + +dark green: Ç»Î理ÎËâË¡½ñ: + +turquoise: ÀÄÎ理ÎËâË¡½ñ: + +cyan: ¥·¥¢¥ó¿§¤ÎËâË¡½ñ: + +light blue: øÀĤÎËâË¡½ñ: + +dark blue: Ç»ÀĤÎËâË¡½ñ: + +indigo: Íõ¿§¤ÎËâË¡½ñ: + +magenta: ¥Þ¥¼¥ó¥À¿§¤ÎËâË¡½ñ: + +purple: »ç¿§¤ÎËâË¡½ñ: + +violet: ¥¹¥ß¥ì¿§¤ÎËâË¡½ñ: + +tan: ²«³ì¿§¤ÎËâË¡½ñ: + +plaid: ¥é¥·¥ã¤ÎËâË¡½ñ: + +light brown: øÃ㿧¤ÎËâË¡½ñ: + +dark brown: Ç»Ã㿧¤ÎËâË¡½ñ: + +gray: ³¥¿§¤ÎËâË¡½ñ: + +white: Çò¤ÎËâË¡½ñ: + +dusty: ¤Û¤³¤ê¤Ã¤Ý¤¤ËâË¡½ñ: + +bronze: ÀÄƼ¤ÎËâË¡½ñ: + +copper: Ƽ¤ÎËâË¡½ñ: + +silver: ¶ä¤ÎËâË¡½ñ: + +gold: ¶â¤ÎËâË¡½ñ: + +glittering: ¤­¤é¤Ó¤é¤«¤ÊËâË¡½ñ: + +shining: µ±¤¯ËâË¡½ñ: + +dull: ¤µ¤¨¤Ê¤¤¿§¤ÎËâË¡½ñ: + +thin: Çö¤¤¿§¤ÎËâË¡½ñ: + +thick: Ç»¤¤¿§¤ÎËâË¡½ñ: + +plain: ¿¿¤ÃÇò¤ÊËâË¡½ñ: + +Book of the Dead: »à¼Ô¤Î½ñ: + +papyrus: ¥Ñ¥Ô¥ë¥¹¤ÎËâË¡½ñ: + +blank paper: Çò»æ¤ÎËâË¡½ñ: + +wrinkled: ¤¯¤·¤ã¤¯¤·¤ã¤ÎËâË¡½ñ: + # + # wands + # + /light: ¸÷¤Î¾ó: + /secret door detection: ÈëÌ©¤ÎÈâõº÷¤Î¾ó: + /create monster: ²øʪ¤ò¤¤ë¾ó: + /wishing: ´ê¤¤¤Î¾ó: + /nothing: ñ¤Ê¤ë¾ó: + /striking: ¾×·â¤Î¾ó: + /make invisible: Æ©ÌÀ¤Ë¤¹¤ë¾ó: + /slow monster: ÃÙ¤¯¤¹¤ë¾ó: + /speed monster: Á᤯¤¹¤ë¾ó: + /undead turning: »à¿Í¤¬¤¨¤·¤Î¾ó: + /polymorph: ÊѲ½¤Î¾ó: + /cancellation: ̵Îϲ½¤Î¾ó: + /teleportation: ½Ö´Ö°ÜÆ°¤Î¾ó: + /opening: ³«¾û¤Î¾ó: + /locking: »Ü¾û¤Î¾ó: + /probing: õºº¤¹¤ë¾ó: + /digging: ·ê·¡¤ê¤Î¾ó: + /magic missile: ËâË¡¤ÎÌð¤Î¾ó: + /fire: ±ê¤Î¾ó: + /cold: ¿áÀã¤Î¾ó: + /sleep: ̲¤ê¤Î¾ó: + /death: »à¤Î¾ó: + /lightning: Íë¤Î¾ó: + # + /glass: ¥¬¥é¥¹¤Î¾ó: + /balsa: ¥Ð¥ë¥µ¤Î¾ó: + /maple: Éö¤Î¾ó: + /pine: ¾¾¤Î¾ó: + /oak: ³ß¤Î¾ó: + /ebony: ¹õÃɤξó: + /marble: ÂçÍýÀФξó: + /tin: ¥Ö¥ê¥­¤Î¾ó: + /brass: ¿¿ï«¤Î¾ó: + /copper: Ƽ¤Î¾ó: + /silver: ¶ä¤Î¾ó: + /platinum: ¥×¥é¥Á¥Ê¤Î¾ó: + /iridium: ¥¤¥ê¥¸¥¦¥à¤Î¾ó: + /zinc: °¡±ô¤Î¾ó: + /aluminum: ¥¢¥ë¥ß¥Ë¥¦¥à¤Î¾ó: + /uranium: ¥¦¥é¥Ë¥¦¥à¤Î¾ó: + /iron: Å´¤Î¾ó: + /steel: ¹ÝÅ´¤Î¾ó: + /hexagonal: Ï»³Ñ·Á¤Î¾ó: + /short: û¤¤¾ó: + /runed: ¿ÀÈëŪ¤Ê¾ó: + /long: Ť¤¾ó: + /curved: ¶Ê¤Ã¤¿¾ó: + /forked: Æ󺵤ξó: + /spiked: ¤¯¤µ¤Ó¤ÎÂǤÁ¤Ä¤±¤é¤ì¤¿¾ó: + /jeweled: ÊõÀФ¬Ëä¤á¤é¤ì¤¿¾ó: + # + # gold + # + $gold piece: ¥´¡¼¥ë¥É: + # + # gems & rocks + # + *dilithium crystal: ¥Ç¥£¥ê¥¸¥¦¥à¤Î·ë¾½: + *white: Çò¤¤ÊõÀÐ: + *diamond: ¥À¥¤¥ä¥â¥ó¥É: + *ruby: ¥ë¥Ó¡¼: + *red: ÀÖ¤¤ÊõÀÐ: + *sapphire: ¥µ¥Õ¥¡¥¤¥¢: + *blue: ÀĤ¤ÊõÀÐ: + *emerald: ¥¨¥á¥é¥ë¥É: + *turquoise: ¥È¥ë¥³ÀÐ: + *aquamarine: ¥¢¥¯¥¢¥Þ¥ê¥ó: + *green: ÎФÎÊõÀÐ: + *amber: àèàá: + *yellowish brown: Ãã³ì¿§¤ÎÊõÀÐ: + *topaz: ¥È¥Ñ¡¼¥º: + *opal: ¥ª¥Ñ¡¼¥ë: + *garnet: ¥¬¡¼¥Í¥Ã¥È: + *amethyst: ¥¢¥á¥¸¥¹¥È: + *violet: »ç¤ÎÊõÀÐ: + *jasper: ¥¸¥ã¥¹¥Ñ¡¼: + *fluorite: ¥Õ¥ë¥ª¥é¥¤¥È: + *jade: ¤Ò¤¹¤¤: + *worthless piece of white glass: Çò¤¤¥¬¥é¥¹: + *worthless piece of blue glass: ÀĤ¤¥¬¥é¥¹: + *worthless piece of red glass: ÀÖ¤¤¥¬¥é¥¹: + *worthless piece of yellowish brown glass: Ãã³ì¿§¤Î¥¬¥é¥¹: + *worthless piece of green glass: ÎФΥ¬¥é¥¹: + *worthless piece of violet glass: »ç¤Î¥¬¥é¥¹: + # + *luckstone: ¹¬¤»¤ÎÀÐ: + *gray: ³¥¿§¤ÎÊõÀÐ: + *loadstone: ½Å¤·: + *flint: ²ÐÂǤÁÀÐ: + *rock: ÀÐ: + # + # miscellaneous + # + 'boulder: ´ä: + 'statue: Áü: + 0heavy iron ball: ½Å¤¤Å´µå: + _iron chain: Å´¤Îº¿: + 'blinding venom: ÌÕÌܤÎÆDZÕ: + 'splash of venom: ÆDZդΤ·¤Ö¤­: + 'acid venom: »À¤ÎÆDZÕ: + # + # samurai's item + # + )wakizashi: Ïƺ¹¤·: + )ninja-to: Ǧ¼ÔÅá: + )nunchaku: ¥Ì¥ó¥Á¥ã¥¯: + )naginata: ¤Ê¤®¤Ê¤¿: + )ya: Ìð: + (osaku: ¤ª¤µ¤¯: + (koto: ¶×: + )shito: »ÉÅá: + ]tanko: û¹Ã: + ]kabuto: ³õ: + ]yugake: µÝ·ü: + %gunyoki: ´ÝÌô: + !sake: ¼ò: + # + # artifacts + # + AExcalibur: ¥¨¥¯¥¹¥«¥ê¥Ð¡¼: + AStormbringer: ¥¹¥È¡¼¥à¥Ö¥ê¥ó¥¬¡¼: + AMjollnir: ¥ß¥å¥ë¥Ë¡¼¥ë: + ACleaver: ¥¯¥ê¡¼¥Ð¡¼: + AGrimtooth: ¥°¥ê¥à¥È¥¥¡¼¥¹: + AOrcrist: ¥ª¡¼¥¯¥ê¥¹¥È: + ASting: ¥¹¥Æ¥£¥ó¥°: + AMagicbane: ¥Þ¥¸¥Ã¥¯¥Ù¡¼¥ó: + AFrost Brand: ¥Õ¥í¥¹¥È¥Ö¥é¥ó¥É: + AFire Brand: ¥Õ¥¡¥¤¥¢¥Ö¥é¥ó¥É: + ADragonbane: ¥É¥é¥´¥ó¥Ù¡¼¥ó: + ADemonbane: ¥Ç¡¼¥â¥ó¥Ù¡¼¥ó: + AWerebane: ¥¦¥§¥¢¥Ù¡¼¥ó: + AGrayswandir: ¥°¥ì¥¤¥¹¥ï¥ó¥À¡¼: + AGiantslayer: ¥¸¥ã¥¤¥¢¥ó¥È¥¹¥ì¥¤¥ä¡¼: + AOgresmasher: ¥ª¡¼¥¬¥¹¥Þ¥Ã¥·¥ã¡¼: + ATrollsbane: ¥È¥í¥ë¥¹¥Ù¡¼¥ó: + AVorpal Blade: ¥Ü¡¼¥Ñ¥ë¥Ö¥ì¡¼¥É: + ASnickersnee: ¥¹¥Ë¥Ã¥«¡¼¥º¥Ë¡¼: + ASunsword: ¥µ¥ó¥½¡¼¥É: + # A + AThe Orb of Detection: õº÷¤Î¥ª¡¼¥Ö: + # B + AThe Heart of Ahriman: ¥¢¡¼¥ê¥Þ¥ó¤Î¿´Â¡: + # C + AThe Sceptre of Might: ¸¢ÎϤÎãô: + # E + AThe Palantir of Westernesse: ¥Ñ¥é¥ó¥Æ¥£¥¢¤ÎÀÐ: + # F + AThe Silver Crystal: ¸¸¤Î¶ä¿å¾½: + # H + AThe Staff of Aesculapius: ¥¢¥¨¥¹¥­¥å¥é¥Ô¥¹¤Î¾ó: + # K + AThe Magic Mirror of Merlin: ¥Þ¡¼¥ê¥ó¤ÎËâË¡¤Î¶À: + # P + AThe Mitre of Holiness: À»¤Ê¤ë´§: + # R + AThe Master Key of Thievery: Åð±¤Î¥Þ¥¹¥¿¡¼¥­¡¼: + # S + AThe Tsurugi of Muramasa: ¼Àµ¤ÎÅá: + # T + AThe Platinum Yendorian Express Card: ¥×¥é¥Á¥Ê¥¤¥§¥ó¥À¡¼°õ¥¨¥¯¥¹¥×¥ì¥¹¥«¡¼¥É: + # V + AThe Orb of Fate: ±¿Ì¿¤Î¥ª¡¼¥Ö: + # W + AThe Eye of the Aethiopica: ¥¨¥Á¥ª¥Ô¥¢¤ÎÌÜ: + # + # name of dungeon + # + dThe Dungeons of Doom: ±¿Ì¿¤ÎÂç̵Ü: + dThe Gnomish Mines: ¥Î¡¼¥à¤Î¹Û»³: + dThe Quest: ¥¯¥¨¥¹¥È: + dGehennom: ¥²¥Ø¥Ê: + dFort Ludios: ¥Õ¥©¡¼¥È¥í¡¼¥Ç¥£¥ª¥¹: + dVlad's Tower: ¥ô¥é¥É¸õ¤ÎÅã: + dThe Elemental Planes: ÀºÎ: + # + # Symbols or other things name (this is not a object name (See: drawing.c)) + # + Sstrange object: ´ñ̯¤ÊʪÂÎ: + Sweapon: Éð´ï: + Ssuit or piece of armor: Éþ¤Þ¤¿¤Ï³»¤Î¤¿¤°¤¤: + Sring: »ØÎØ: + Samulet: Ëâ½ü¤±: + Suseful item (pick-axe, key, lamp...): ÊØÍø¤ÊÆ»¶ñ(¤Ä¤ë¤Ï¤·¡¤¸°¡¤¥é¥ó¥×¡¥¡¥¡¥): + Spiece of food: ¿©ÎÁ: + Spotion: Ìô: + Sscroll: ´¬Êª: + Sspell book: ËâË¡¤ÎËÜ: + Swand: ¾ó: + Spile of coins: ¶â²ß¤Î»³: + Sgem or rock: ÊõÀФޤ¿¤ÏÀÐ: + Sboulder or statue: ´ä¤Þ¤¿¤ÏÁü: + Siron ball: Å´¤Î¶Ì: + Siron chain: Å´¤Îº¿: + Ssplash of venom: ÆDZÕ: + # + Sillegal objects: ´ñ̯¤ÊʪÂÎ: + Sweapons: Éð´ï: + Sarmor: ³»: + Srings: »ØÎØ: + Samulets: Ëâ½ü¤±: + Stools: Æ»¶ñ: + Sfood: ¿©ÎÁ: + Spotions: Ìô: + Sscrolls: ´¬Êª: + Sspell books: ËâË¡¤ÎËÜ: + Swands: ¾ó: + Scoins: ¶â²ß: + Srocks: ÀÐ: + Slarge stones: µðÀÐ: + Siron balls: Å´µå: + Schains: º¿: + Svenoms: ÆÇ: + # + Sant or other insect: µÂ¤Þ¤¿¤Ï¾¤Îº«Ãî: + Sblob: ¥Ö¥í¥Ã¥Ö: + Scockatrice: ¥³¥«¥È¥ê¥¹: + Sdog or other canine: ¸¤¤Þ¤¿¤Ï¥¤¥Ì²Ê¤Îưʪ: + Seye or sphere: Ìܤޤ¿¤ÏµåÂÎ: + Sfeline: Ç­¤Þ¤¿¤Ï¥Í¥³²Ê¤Îưʪ: + Scat or other feline: Ç­¤Þ¤¿¤Ï¥Í¥³²Ê¤Îưʪ: + Sgremlin: ¥°¥ì¥à¥ê¥ó: + Shumanoid: ¥Ò¥å¡¼¥Þ¥Î¥¤¥É: + Simp or minor demon: ¥¤¥ó¥×¤Þ¤¿¤Ï²¼µé°­Ëâ: + Sjelly: ¥¼¥ê¡¼: + Skobold: ¥³¥Ü¥ë¥È: + Sleprechaun: ¥ì¥×¥é¥³¡¼¥ó: + Smimic: ¥ß¥ß¥Ã¥¯: + Snymph: ¥Ë¥ó¥Õ: + Sorc: ¥ª¡¼¥¯: + Spiercer: ·ê¶ô¤¤: + Squadruped: »Í­ưʪ: + Srodent: óö»õưʪ: + Sspider: ÃØ: + Strapper or lurker above: ¥È¥é¥Ã¥Ñ¡¼¤Þ¤¿¤Ï¥é¡¼¥«¡¼: + Sunicorn: ¥æ¥Ë¥³¡¼¥ó: + Svortex: ±²: + Sworm: ¥ï¡¼¥à: + Sxan or other mythical/fantastic insect: ¥¶¥ó¤Þ¤¿¤Ï¿ÀÏää¥Õ¥¡¥ó¥¿¥¸¡¼¤Îº«Ãî: + Slight: ¸÷: + Szruty: ¥º¥ë¥Æ¥£: + Sangelic being: Å·»È: + Sbat: ¤³¤¦¤â¤ê: + Scentaur: ¥±¥ó¥¿¥¦¥í¥¹: + Sdragon: ¥É¥é¥´¥ó: + Selemental: ÀºÎî: + Sfungus or mold: ¥­¥Î¥³¤Þ¤¿¤Ï¥â¡¼¥ë¥É: + Sgnome: ¥Î¡¼¥à: + Sgiant humanoid: µð¿Í: + Sinvisible stalker: Æ©ÌÀ¥¹¥È¡¼¥«¡¼: + Sjabberwock: ¥¸¥ã¥Ð¥¦¥©¥Ã¥¯: + SKeystone Kop: ·ÙÈ÷°÷: + Slich: ¥ê¥Ã¥Á: + Smummy: ¥ß¥¤¥é: + Snaga: ¥Ê¡¼¥¬: + Sogre: ¥ª¡¼¥¬: + Spudding or ooze: ¥×¥ê¥ó¤Þ¤¿¤Ï¥¦¡¼¥º: + Squantum mechanic: Î̻Ҿì: + Srust monster: »¬¤Î²øʪ: + Ssnake: ¥Ø¥Ó: + Stroll: ¥È¥í¥ë: + Sumber hulk: ¥¢¥ó¥Ð¡¼¥Ï¥ë¥¯: + Svampire: µÛ·ìµ´: + Swraith: ¥ì¥¤¥¹: + Sxorn: ¥¾¡¼¥ó: + Syeti, ape or other large beast: ¥¤¥¨¥Æ¥£¤Þ¤¿¤ÏµðÂç¤Ê½Ã: + Szombie: ¥¾¥ó¥Ó: + Shuman: ¿Í´Ö: + Shuman or elf: ¿Í´Ö¤Þ¤¿¤Ï¥¨¥ë¥Õ: + Sghost: Í©Îî: + Sgolem: ¥´¡¼¥ì¥à: + Sdemon: °­Ëâ: + Smajor demon: °­Ëâ: + Ssea monster: ³¤¤Î²øʪ: + Slizard: ¥È¥«¥²: + Slong worm tail: ¥í¥ó¥°¥ï¡¼¥à¤Î¿¬Èø: + # + # part of room + # + Sdark part of a room: Éô²°¤Î°Å¤¤Éôʬ: + Swall: ÊÉ: + Sdoorway: ½ÐÆþ¸ý: + Sopen door: ³«¤¤¤¿Èâ: + Sclosed door: ÊĤ¸¤¿Èâ: + Sfloor of a room: Éô²°¤Î¾²: + Scorridor: ÄÌÏ©: + Slit corridor: ÌÀ¤ë¤¤ÄÌÏ©: + Sstaircase up: ¾å¤ê³¬ÃÊ: + Sstaircase down: ²¼¤ê³¬ÃÊ: + Sladder up: ¾å¤ê¤Ï¤·¤´: + Sladder down: ²¼¤ê¤Ï¤·¤´: + Strap: æ«: + Sweb: ÃØéá¤ÎÁã: + Saltar: º×ÃÅ: + Sopulent throne: ²Ú¤ä¤«¤Ê¶ÌºÂ: + Ssink: ή¤·Âæ: + Sfountain: Àô: + Swater filled area: ¿å¤Î¤¿¤Þ¤Ã¤¿¾ì½ê: + Swater: ¿å¤Î¤¿¤Þ¤Ã¤¿¾ì½ê: + Sice: ɹ: + Smolten lava: ÍÏ´ä: + Slowered drawbridge: ¹ß¤ê¤Æ¤¤¤ëÄ·¤Í¶¶: + Sraised drawbridge: ¾å¤Ã¤Æ¤¤¤ëÄ·¤Í¶¶: + Sair filled area: ¶õµ¤¤Î¤¿¤Þ¤Ã¤¿¾ì½ê: + Sair: ¶õµ¤¤Î¤¿¤Þ¤Ã¤¿¾ì½ê: + Scloud filled area: ÆÞ: + Scloud: ÆÞ: + # + # traps + # + ^arrow trap: Ìð¤Îæ«: + ^dart trap: ÅꤲÌð¤Îæ«: + ^falling rock trap: ´äÍ¤Îæ«: + ^squeaky board: ¤­¤·¤àÈÄ: + ^beartrap: ·§¤Îæ«: + ^bear trap: ·§¤Îæ«: + ^land mine: ÃÏÍë: + ^sleeping gas trap: ¿ç̲¥¬¥¹¤Îæ«: + ^hole: ·ê: + ^rust trap: Éå¿©¤Îæ«: + ^fire trap: ²Ð¤Îæ«: + ^pit: Í·ê: + ^spiked pit: ¥È¥²¤À¤é¤±¤ÎÍ·ê: + ^trapdoor: ÍÈâ: + ^trap door: ÍÈâ: + ^teleportation trap: ½Ö´Ö°ÜÆ°¤Îæ«: + ^level teleporter: Ê̤γ¬¤Ø¤Î½Ö´Ö°ÜÆ°¤Îæ«: + ^magic portal: ËâË¡¤ÎÆþ¸ý: + ^web: ÃØéá¤ÎÁã: + ^statue trap: ĦÁü¤Îæ«: + ^magic trap: ËâË¡¤Îæ«: + ^anti-magic field: È¿ËâË¡¶õ´Ö¤Îæ«: + ^anti-magic trap field: È¿ËâË¡¶õ´Ö¤Îæ«: + ^polymorph trap: ÊѲ½¤Îæ«: + ^rolling boulder trap: Íî´ä¤Îæ«: *** /dev/null Wed Sep 24 22:14:55 1997 --- ./dat/jhelp Tue Jul 22 23:17:58 1997 *************** *** 0 **** --- 1,180 ---- + NetHack ¤Ø¤è¤¦¤³¤½¡ª ( description of version 1.0.5 ) + + NetHack ¤Ï20³¬²¼¤Î¤É¤³¤«¤Ë±£¤µ¤ì¤Æ¤¤¤ë¤È±½¤µ¤ì¤Æ¤¤¤ë¡Ö¥¤¥§¥ó¥À¡¼¤ÎËâ + ¤è¤±¡×¤òµá¤á¡¤¥À¥ó¥¸¥ç¥ó¤Î¿¼¤ß¤Ë¹ß¤ê¤Æ¹Ô¤¯¡ÖDungeons and Dragons¡×¤Õ¤¦ + ¤Î¥²¡¼¥à¤Ç¤¢¤ë¡¥ + ¤¢¤Ê¤¿¤Ï°ìɤ¤Î¸¤¤«Ç­¤òȼ¤Ã¤Æ¤¤¤ë¡¥¤½¤¤¤Ä¤Ï ¤¤¤í¤¤¤í¤È½õ¤±¤Æ¤¯¤ì¤¿¤ê¡¤ + ¤¤¤í¤ó¤Ê¤³¤È¤ò¤¹¤ë¤è¤¦¤Ë¤·¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + ¤¢¤Ê¤¿¤ÏÅÓÃæ¤ÇÊØÍø¤Ê(»þ¤Ë¤ÏÌòΩ¤¿¤º¤Î)Æ»¶ñ (ËâË¡¤ÎÉʤ⤢¤ë) ¤ä¡¤¤¤¤í + ¤¤¤í¤Ê¥â¥ó¥¹¥¿¡¼¤Ë½Ð²ñ¤¦¡¥¥â¥ó¥¹¥¿¡¼¤Î¤¤¤ë½ê¤ØÂÎÅö¤ê¤ò¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ + ¹¶·â¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥(¤·¤«¤·ÂçÄñ¤Î¾ì¹ç¤ÏÎ¥¤ì¤Æ¤¤¤¿Êý¤¬¸­ÌÀ¤À¤í¤¦) + + ¸ÀÍդǤ¢¤Ê¤¿¤Î°ÌÃÖ¤òɽ¸½¤¹¤ë¤è¤¦¤Ê¿¤¯¤Î¥¢¥É¥Ù¥ó¥Á¥ã¡¼¥²¡¼¥à¤È°ã¤Ã¤Æ¡¤ + NetHack ¤Ï¤¢¤Ê¤¿¤Î¤¤¤ë¥À¥ó¥¸¥ç¥ó¤Î¥Ó¥¸¥å¥¢¥ë¥¤¥á¡¼¥¸¤ò¤¢¤¿¤¨¤Æ¤¯¤ì¤ë¡¥ + + + NetHack ¤Ç¤Ï°Ê²¼¤Îʸ»ú¤ò»È¤¦: + + - ¤È | Éô²°¤ÎÊÉ¡¤³«¤¤¤¿¥É¥¢¡¥ + . ¾² ¤ª¤è¤Ó ½ÐÆþ¸ý¡¥ + # Ï­²¼ ¤Þ¤¿¤Ï ή¤·Âæ¡¥(¤â¤·Î®¤·¤¬¤³¤Î¥À¥ó¥¸¥ç¥ó¤Ë¤¢¤ì¤Ð) + ¤Þ¤¿¤Ï¤Ï¤Í¶¶¡¥ + > ¼¡¤Î³¬¤Ø¤ÎÄÌÏ©¡¥ + < Á°¤Î³¬¤Ø¤ÎÄÌÏ©¡¥ + @ ( ¤Õ¤Ä¤¦¤Ï )¥×¥ì¡¼¥ä¡¼ ¤Þ¤¿¤Ï Ê̤οʹ֡¥ + ) ¤¤¤í¤ó¤Ê¼ïÎà¤ÎÉð´ï¡¥ + [ Éþ ¤Þ¤¿¤Ï ³»¡¥ + % ¿©¤Ù¤â¤Î¡¥(Éå¤Ã¤Æ¤Ê¤¤¤È¤Ï¸Â¤é¤Ê¤¤) + / ËâË¡¤Î¾ó¡¥ + = »ØÎØ¡¥ + ? ´¬Êª¡¥ + ! ¿åÌô¡¥ + ( Æ»¶ñ¡¥(¤Ä¤ë¤Ï¤·, ¸°, ¥é¥ó¥×¡¥¡¥¡¥) + $ ¶â¤Î²ô¡¥ + * ÊõÀÐ ¤Þ¤¿¤Ï ´ä¡¥(Ìò¤ËΩ¤Ä¾ì¹ç¤â¡¤Ìµ²ÁÃͤξì¹ç¤â¤¢¤ë) + + ÊĤ¸¤¿Èâ ¤Þ¤¿¤Ï ¼öʸ¤ÎËÜ¡¥ + ^ (¸«¤Ä¤±¤¿¸å¤Î) æ«¡¥ + " Ëâ½ü¤± ¤Þ¤¿¤Ï ÃØéá¤ÎÁã¡¥ + 0 Å´¤Î¶Ì¡¥ + _ º×ÃÅ ¤Þ¤¿¤Ï Å´¤Îº¿¡¥ + } ¿åί¤ê ¤ä ¿Ð¤À¤Þ¤ê + { Àô¡¥ + \ ¹ë²Ú¤Ê²¦ºÂ¡¥ + ` ¶ÌÀÐ ¤Þ¤¿¤Ï ĦÁü¡¥ + A ¤«¤é Z, a ¤«¤é z, ¤½¤Î¾: ²øʪ + + '/' ¤Î¸å¤Ëʸ»ú¤òÆþÎϤ¹¤ë¤³¤È¤Ç¡¤¤½¤ì¤¬²¿¤òɽ¤·¤Æ¤¤¤ë¤Î¤« + ¸«Ê¬¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥¤¿¤È¤¨¤Ð "/A" ¤Ï¡¤'A' ¤Ï±î¡¤ + ¤Î¤è¤¦¤Ëɽ¼¨¤¹¤ë¡¥ + + + + y k u 7 8 9 °ÜÆ°¥³¥Þ¥ó¥É: + \|/ \|/ yuhjklbn: »ØÄꤵ¤ì¤¿Êý¸þ¤Ë£±¥¹¥Æ¥Ã¥×°ÜÆ°¤¹¤ë¡¥ + h-.-l 4-.-6 YUHJKLBN: ÊɤËÅö¤¿¤ë¤«²¿¤«¤ËÆþ¤ë¤Þ¤Ç°ÜÆ°¤¹¤ë¡¥ + /|\ /|\ + b j n 1 2 3 g: ²¿¤«¤Ë½Ð²ñ¤¦¤Þ¤Ç ¤ÎÊý¸þ¤Ë°ÜÆ°¤¹¤ë¡¥ + numberpad G, ¾å¤ÈƱ¤¸ ¤¿¤À¤·Ï­²¼¤Îʬ¤«¤ìÆ»¤Ç¤âµ¤¤Ë¤·¤Ê¤¤¡¥ + + < ¾å ^: + > ²¼ m: ¤â¤Î¤ò½¦¤ï¤º¤Ë°ÜÆ°¤¹¤ë¡¥ + number_pad ¥ª¥×¥·¥ç¥ó¤ò¥»¥Ã¥È¤¹¤ë¤È¡¤¥Æ¥ó¥­¡¼¤Ç°ÜÆ°¤Ç¤­¤ë¡¥ + + ¥³¥Þ¥ó¥É°ìÍ÷: + NetHack ¤Ç¤Ï°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡¥ + ? ¥Ø¥ë¥×¥á¥Ë¥å¡¼¡¥ + / ¥·¥ó¥Ü¥ë¤¬²¿¤òɽ¤·¤Æ¤¤¤ë¤«¶µ¤¨¤ë¡¥ + °ÌÃ֤ǻØÄꤹ¤ë¤«¡¤¥¢¡¼¥®¥å¥á¥ó¥È¤Ç»ØÄꤹ¤ë¤«¤ÇÁª¤Ö¡¥ + & ¥³¥Þ¥ó¥É¤Î°ÕÌ£¤ò¶µ¤¨¤ë¡¥ + < ³¬ÃʤòÅФ롥 (¤½¤Î¾å¤Ë¤¤¤ë¾ì¹ç¤Î¤ß) + > ³¬Ãʤò¹ß¤ê¤ë¡¥(¤½¤Î¾å¤Ë¤¤¤ë¾ì¹ç¤Î¤ß) + . ²¿¤â¤·¤Ê¤¤¡¥(ÂÔ¤Ä) + a Æ»¶ñ¤ò»È¤¦¡¥(¤Ä¤ë¤Ï¤·, ¸°, ¥é¥ó¥×¡Ä) + A ¤¹¤Ù¤Æ¤ÎËɶñ¤ò³°¤¹¡¥ + ^A ľÁ°¤Ë¼Â¹Ô¤·¤¿¥³¥Þ¥ó¥É¤ò·«¤êÊÖ¤¹¡¥ + c ¥É¥¢¤òÊĤá¤ë¡¥ + C ÆÃÄê¤Î¥â¥ó¥¹¥¿¡¼¤Ë̾Á°¤ò¤Ä¤±¤ë¡¥ + d ²¿¤«¤òÍ¡¥ d7a: 'a' ¤ò£·¸ÄÍ¡¥ + D ¤¤¤¯¤Ä¤«¤Î¤â¤Î¤òÃÖ¤¯¡¥¤³¤Î¥³¥Þ¥ó¥É¤Î¤Õ¤ë¤Þ¤¤¤Ï2¼ïÎढ¤ê + ¥æ¡¼¥¶¤¬ÁªÂò¤Ç¤­¤ë¡¥ + 1: + ¡ÖD¡×¤Ï¤¢¤Ê¤¿¤Î»ý¤Ä¥¢¥¤¥Æ¥àÁ´¤Æ¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¡¥¡Ö+¡×¤Ï + ¡ÖÃÖ¤¯¡×¤ò¡Ö-¡×¤ÏÃÖ¤«¤Ê¤¤¤ò°ÕÌ£¤¹¤ë¡¥°ìÍ÷¤Îʸ»ú¤ò¥¿¥¤¥× + ¤¹¤ë¤³¤È¤Ë¤è¤ê¡¤ÁªÂò¡¤ÈóÁªÂò¤òÊѤ¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥Á´¤Æ¤Î + ¥¢¥¤¥Æ¥à¤òÁªÂò¤¹¤ë¤Ë¤Ï¡Ö.¡×¡¤ÈóÁªÂò¤Ë¤¹¤ë¤Ë¤Ï¡Ö-¡×¤Ç¤¢¤ë¡¥ + ¥¹¥Ú¡¼¥¹¥­¡¼¤Ç¼¡¤Î¥Ú¡¼¥¸¤Ø°ÜÆ°¤¹¤ë¤³¤¬¤Ç¤­¤ë¡¥ + 2: + "¤É¤Î¼ïÎà¤Î¤â¤Î¤òÃÖ¤­¤Þ¤¹¤«¡© [!%= au]"¤Î¼ÁÌä¤ÎÅú¤¨¤È + ¤·¤Æ¡¤¥¿¥¤¥×¤òɽ¤¹Ê¸»ú¤ò¥¼¥í¸Ä°Ê¾å 'a' ¤ä 'u' ¤ò¸å¤ËÉÕ + ¤±¤Æ»ØÄê¤Ç¤­¤ë¡¥ + Da - ³Îǧ¤ËÅú¤¨¤¿¤â¤Î°Ê³°¤Î¤¹¤Ù¤Æ¤Î»ý¤Á¤â¤Î¤òÍ¡¥ + Du - ´ªÄê¤òʧ¤Ã¤Æ¤¤¤Ê¤¤¤â¤Î¤À¤±Í¡¥(Ź¤ÎÃæ¤Î¾ì¹ç) + D%u - ´ªÄê¤òʧ¤Ã¤Æ¤¤¤Ê¤¤¿©ÎȤÀ¤±Í¡¥ + ^D (ÉáÄ̤ϥɥ¢¤ò)½³¤ë¡¥ + e ¤â¤Î¤ò¿©¤Ù¤ë¡¥ + E ¾²¤Ëʸ»ú¤òĦ¤ë¡¥ + E- - »Ø¤Ç¥Û¥³¥ê¤Ë»ú¤ò½ñ¤¯¡¥ + i »ý¤Á¤â¤Î¤òɽ¼¨¤¹¤ë¡¥ + I °Ê²¼¤Î¤è¤¦¤Ë¡¤»ý¤Á¤â¤Î¤Î¼ïÎà¤òÁª¤ó¤Çɽ¼¨¤¹¤ë¡¥ + I* - »ý¤Ã¤Æ¤¤¤ëÊõÀФòÁ´Éôɽ¼¨¤¹¤ë¡¥ + Iu - ´ªÄê¤òʧ¤Ã¤Æ¤¤¤Ê¤¤¤â¤Î¤òɽ¼¨¤¹¤ë¡¥ + Ix - ¾ÃÈñ¤·¤Æ´ªÄê¤òʧ¤Ã¤Æ¤¤¤Ê¤¤¤â¤Î¤òɽ¼¨¤¹¤ë¡¥ + I$ - ¶â¤ò´ªÄꤹ¤ë¡¥ + o ¥É¥¢¤ò³«¤±¤ë¡¥ + O ¥ª¥×¥·¥ç¥ó»ØÄê¡¥¥ª¥×¥·¥ç¥ó¹Ô¤ÎÆþÎϤòÍ׵ᤵ¤ì¤ë¡¥ + ¤â¤·ÆþÎϤ¬¶õ¤Ê¤é¡¤¸½ºß¤Î¥ª¥×¥·¥ç¥ó¤¬É½¼¨¤µ¤ì¤ë¡¥ + »ØÄê¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤Î¼ïÎà¤È¡¤¤½¤Î·Á¼°¤Ï "?" ¤òÆþÎϤ¹ + ¤ë¤È¤ï¤«¤ë¡¥¥ª¥×¥·¥ç¥ó¤Ï¡¤¥²¡¼¥à¤ò»Ï¤á¤ëÁ°¤Ë + NETHACKOPTIONS ´Ä¶­ÊÑ¿ô¤Ç¥»¥Ã¥È¤·¡¤'O'¥³¥Þ¥ó¥É¤Ï¤Õ¤Ä¤¦ + ¤Ï»È¤ï¤Ê¤¤¡¥ + p Ç㤤¤â¤Î¤Î´ªÄê¤òʧ¤¦¡¥ + P ¥¢¥¯¥»¥µ¥ê¡¼¤ò¤Ä¤±¤ë¡¥(»ØÎØ¡¤Ëâ½ü¤±,etc) + ^P ºÇ¸å¤Î¥á¥Ã¥»¡¼¥¸¤ò¤¯¤ê¤«¤¨¤¹¡¥ + (³¤±¤ë¤È¤è¤ê¸Å¤¤¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë) + q ¿åÌô¤ò°û¤à¡¥ + Q ¥²¡¼¥à¤ò½ªÎ»¤¹¤ë¡¥ + r ´¬Êª¤ä¼öʸ¤ÎËܤòÆɤࡥ + R ¥¢¥¯¥»¥µ¥ê¡¼¤ò¤Ï¤º¤¹¡¥(»ØÎØ¡¤Ëâ½ü¤±,etc) + ^R ²èÌ̤κÆɽ¼¨¡¥ + s ±£¤µ¤ì¤¿¥É¥¢¤ä櫤òõ¤¹¡¥ + S ¥²¡¼¥à¤ò¥»¡¼¥Ö¤¹¤ë¡¥ + t ¤â¤Î¤òÅꤲ¤ë¡¥¤Þ¤¿¤ÏÈô¤ÓÆ»¶ñ¤ò»È¤¦¡¥ + T Ëɶñ¤ò³°¤¹¡¥ + ^T (½ÐÍè¤ë¤Ê¤é)¥Æ¥ì¥Ý¡¼¥È¤¹¤ë¡¥ + v ¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë¡¥ + V Ť¤·Á¼°¤Î¥Ð¡¼¥¸¥ç¥ó¤È¡¤¤³¤Î¥²¡¼¥à¤ÎÎò»Ë¤ò´Þ¤á¤Æɽ¼¨¤¹¤ë¡¥ + + w Éð´ï¤ò¿È¤Ë¤Ä¤±¤ë¡¥w- ¤Ï²¿¤â»È¤ï¤ºÁǼê¤ÇÀ臘¤³¤È¤ò°ÕÌ£¤¹¤ë¡¥ + W Ëɶñ¤ò¤Ä¤±¤ë¡¥ + x ÃΤäƤ¤¤ë¼öʸ¤òɽ¼¨¤¹¤ë¡¥('+'¤ÈƱ¤¸) + X õ¸¡¥â¡¼¥É¤ÈÄ´ºº¥â¡¼¥É¤òÀÚ¤êÂؤ¨¤ë¡¥ + z ËâË¡¤Î¾ó¤ò¿¶¤ê¤«¤¶¤¹¡¥ + Z ¼öʸ¤ò¾§¤¨¤ë¡¥ + ^Z ¥²¡¼¥à¤òÃæÃǤ¹¤ë¡¥ + : ¤³¤³¤Ë²¿¤¬¤¢¤ë¤Î¤«¸«¤ë¡¥ + ; Ê̤ʾì½ê¤Ë¤¢¤ëʪ¤¬²¿¤«¤òÄ´¤Ù¤ë¡¥ + , ½¦¤¦¡¥ + @ pickup ¥ª¥×¥·¥ç¥ó¤òȿž¤¹¤ë¡¥ + ^ ľÁ°¤Ë¸«ÉÕ¤±¤¿æ«¤Î¼ïÎà¤òʹ¤¯ + ) »È¤Ã¤Æ¤¤¤ëÉð´ï¤òɽ¼¨¤¹¤ë¡¥ + [ »È¤Ã¤Æ¤¤¤ëËɶñ¤òɽ¼¨¤¹¤ë¡¥ + = ¤Ï¤á¤Æ¤¤¤ë»ØÎؤòɽ¼¨¤¹¤ë¡¥ + " ¿È¤Ë¤Ä¤±¤Æ¤¤¤ëËâ½ü¤±¤òɽ¼¨¤¹¤ë¡¥ + ( »È¤Ã¤Æ¤¤¤ëÆ»¶ñ¤òɽ¼¨¤¹¤ë¡¥ + $ »ý¤Ã¤Æ¤¤¤ë¶â²ô¤Î¿ô¤ò¿ô¤¨¤ë¡¥ + + ÃΤäƤ¤¤ë¼öʸ¤òɽ¼¨¤¹¤ë¡¥('x'¤ÈƱ¤¸) + \ ȯ¸«¤·¤¿Êª¤Î¼ïÎà¤òɽ¼¨¤¹¤ë¡¥ + ! OS¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤Ê¤é shell ¤ò¼Â¹Ô¤¹¤ë¡¥ + ` ¥ª¥ê¥¸¥Ê¥ë¥â¡¼¥É¤ÈÆüËܸì¥â¡¼¥É¤òÀÚ¤êÂؤ¨¤ë¡¥'i','I',';', + '/'¥³¥Þ¥ó¥É¤Ç¤Î̾Á°¤¬¥ª¥ê¥¸¥Ê¥ë̾¤Ë¤Ê¤ë¡¥ + # ¡Ö³ÈÄ¥¡×¥³¥Þ¥ó¥É¤ò»ØÄꤹ¤ë¡¥"#" ¤Ç»È¤¨¤ë¥³¥Þ¥ó¥É¤Î¥ê¥¹ + ¥È¤Ï "#?" ¤ÇÆÀ¤é¤ì¤ë¡¥»È¤¨¤ë³ÈÄ¥¥³¥Þ¥ó¥É¤Ï¡¤nethack ¤ò + ¥³¥ó¥Ñ¥¤¥ë¤·¤¿»þ¤Î¥ª¥×¥·¥ç¥ó¡¤¤¢¤Ê¤¿¤Î¥¯¥é¥¹¡¤¤É¤ó¤Ê¼ï + Îà¤Î²øʪ¤À¤Ã¤¿¤«¡¤¤Ë°Í¸¤¹¤ë¡¥ ¥­¡¼¥Ü¡¼¥É¤Ë¥á¥¿¥­¡¼ + (¤½¤ì¤Ï¡¤Â¾¤Î¥­¡¼¤È°ì½ï¤Ë²¡¤µ¤ì¤ë¤³¤È¤Ç¡¤¡Ö¥á¥¿¡×(£¸ÈÖ + ÌܤΡ¤¤Þ¤¿¤Ï 'high')¥Ó¥Ã¥È¤ò¥»¥Ã¥È¤¹¤ë) ¤¬¤¢¤ì¤Ð¡¤¤½¤ì + ¤È³ÈÄ¥¥³¥Þ¥ó¥É¤Î£±Ê¸»úÌܤÀ¤±¤Ç¸Æ¤Ó½Ð¤¹»ö¤¬¤Ç¤­¤ë¡¥ + + "number_pad" ¥ª¥×¥·¥ç¥ó¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¤¤¤¤¯¤Ä¤«¤ÎÄɲà + ¤Î¥³¥Þ¥ó¥É¤¬»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¡¥ + + j Ê̤ξì½ê¤ËÈô¤Ö¡¥ + k ½³¤ë¡¥(ÂçÄñ¤Î¾ì¹ç¤Ï¥É¥¢) + l ¾²¤ËÃÖ¤«¤ì¤Æ¤¤¤ëÈ¢¤òά夹¤ë¡¥ + n ʪ¤äʪ¤Î·¿¤Ë̾Á°¤ò¤Ä¤±¤ë¡¥ + u 櫤λųݤ±¤é¤ì¤Æ¤¤¤ë¥É¥¢¤äʪ¤Î櫤ò³°¤¹¡¥ + + "40." ¤Þ¤¿¤Ï "20s"¤Î¤è¤¦¤Ë¡¤¥³¥Þ¥ó¥É¤ÎÁ°¤Ë·«¤êÊÖ¤·²ó¿ô¤ò¤Ä¤±¤ë¤³¤È + ¤¬¤Ç¤­¤ë¡¥¤â¤· number_pad ¥ª¥×¥·¥ç¥ó¤ò¥»¥Ã¥È¤·¤Æ¤¤¤¿¤é"n40." ¤Þ¤¿ + ¤Ï "n20s"¤Î¤è¤¦¤Ë²ó¿ô¤ÎÁ°¤Ë'n'¤òÉÕ¤±¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥ + + + ¤¤¤¯¤Ä¤«¤Î¾ðÊó¤Ï²èÌ̤β¼¤Ëɽ¼¨¤µ¤ì¤ë¡¥¤¢¤Ê¤¿¤Î°À­¡¤¤¢¤Ê¤¿¤Î + ¿®¶Ä¡¤¥À¥ó¥¸¥ç¥ó¤Î²¿³¬¤Ë¤¤¤ë¤«¡¤¤¤¤Þ¥Ò¥Ã¥È¥Ý¥¤¥ó¥È¤ò¤É¤ì¤À¤±»ý¤Ã + ¤Æ¤¤¤ë¤«(¤½¤·¤ÆºÇÂ礬¤¤¤¯¤Ä¤«)¡¤¥¢¡¼¥Þ¡¼¥¯¥é¥¹¤¬¤¤¤¯¤Ä¤«(¾®¤µ + ¤¤¤Û¤ÉÎɤ¤)¡¤·Ð¸³¥ì¥Ù¥ë¡¤°ß¤Î¶ñ¹ç¤¬¤ï¤«¤ë¡¥¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¡¤ + ¥¹¥Ú¥ë¥Ý¥¤¥ó¥È¡¤¶â²ô¤ÎÊÝÍ­¿ô¡¤¤½¤Î¾¤ò¸«¤ë¤«¸«¤Ê¤¤¤«¤Ï¼«Í³¤Ç¤¢ + ¤ë¡¥ + + Have Fun, and Happy Hacking! + *** /dev/null Wed Sep 24 22:14:55 1997 --- ./dat/jhistory Tue Jul 22 23:17:58 1997 *************** *** 0 **** --- 1,98 ---- + + ¸«¤è¡¤»à¤¹¤Ù¤­¤â¤Î¤è¡¤NetHack¤Îµ¯¸»¤ò¡¥¡¥¡¥ + + Jay Fenlason¤¬ºÇ½é¤ÎHack¤ò Kenny Woodland, Mike Thome ¤ª¤è¤Ó Jon Payne + ¤Î½õ¤±¤Î¤â¤È½ñ¤¤¤¿¡¥ + + Andries Brouwer¤Ï¤³¤ì¤òÂ礭¤¯½ñ¤­Ä¾¤·¡¤Hack¤ò¤Þ¤Ã¤¿¤¯°ã¤¦¥²¡¼¥à¤Ë»ÅΩ¤Æ¡¤ + UNIX(tm)¤ÇÆ°¤¯(¾¯¤Ê¤¯¤È¤â)3¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó(1.0.1, 1.0.2 ¤ª¤è¤Ó 1.0.3)¤ò + Usenet¤Ç¸ø³«¤·¤¿¡¥ + + Don G. Kneller¤Ï Hack 1.0.3¤ò Microsoft(tm) C ¤ª¤è¤Ó MS-DOS(tm)¤Ø°Ü¿¢¤·¡¤ + PC HACK 1.01e¤òÀ©ºî¤·¤¿¡¥²Ã¤¨¤Æ DEC Rainbow¥°¥é¥Õ¥£¥Ã¥¯¤ò 1.03g¤Ç¥µ + ¥Ý¡¼¥È¤·¡¤¾¯¤Ê¤¯¤È¤â4¤Ä°Ê¾å¤Î¥Ð¡¼¥¸¥ç¥ó¤òÀ©ºî¤·¤¿¡¥(3.0, 3.2, 3.51 + ¤ª¤è¤Ó 3.6)¡¥ + + P. Black¤Ï PC HACK 3.51¤ò Lattice(tm) C¤ª¤è¤Ó¡¤Atari 520/1040ST¤Ø°Ü¿¢¤·¡¤ + ST Hack 1.03¤ò³«È¯¤·¤¿¡¥ + + Mike Stephenson¤Ï¤³¤ì¤é¿§¡¹¤Ê¥Ð¡¼¥¸¥ç¥ó¤ò°ì½ï¤ËÅý¹ç¤·¡¤¿·¤Êµ¡Ç½¤ò²Ã¤¨¡¤ + Nethack¥Ð¡¼¥¸¥ç¥ó1.4¤òÀ©ºî¤·¤¿¡¥Èà¤Ï¤½¤Î¸å1000¤Ë¤âµÚ¤Ö¡¤NetHack 1.4¤Î + ²þÎɤä¥Ç¥Ð¥Ã¥°¤ò½Å¤ÍÀ°¤¨¡¤NetHack¥Ð¡¼¥¸¥ç¥ó 2.2¤ª¤è¤Ó 2.3¤ò¥ê¥ê¡¼¥¹¤·¤¿¡¥ + + ¤½¤Î¸å¡¤Mike¤Ï¥²¡¼¥à¤òÂçÉý¤Ë½ñ¤­´¹¤¨¡¤Ä´À°¤·¡¤Ken Arromdee, + Jean-Christophe Collet, Steve Creps, Eric Hendrickson, Izchak Miller, + Eric S. Raymond, John Rupley, Mike Threepoint ¤ª¤è¤Ó Janet Walz¤ò´Þ¤à + ¥Á¡¼¥à¤ÎÀèƬ¤ËΩ¤Á¡¤NetHack 3.0c¤òÀ©ºî¤·¤¿¡¥Æ±¤¸¥°¥ë¡¼¥×¤¬¤½¤Î¸å10¤Î¥ê + ¥Ó¥¸¥ç¥ó¥Ñ¥Ã¥Á¤ò¥ê¥ê¡¼¥¹¤·¡¤3.0¤ò¥¢¥×¥Ç¡¼¥È¤·¤¿¡¥ + + NetHack 3.0¤Ï Eric R. Smith¤Ë¤è¤Ã¤Æ Atari¤Ë°Ü¿¢¤µ¤ì¡¤Timo Hakulinen¤Ë¤è¤Ã¤Æ + OS/2¤Ë°Ü¿¢¤µ¤ì¡¤ Dabvid Gentzel¤Ë¤è¤Ã¤Æ VMS¤Ë°Ü¿¢¤µ¤ì¤¿¡¥Èà¤é3¿Í¤ª¤è¤Ó¡¤ + Kevi Darcy¤Ï¸å¤Ë 3.0¤Î¥ê¥Ó¥¸¥ç¥ó¤òÀ©ºî¤·¤¿¥á¥¤¥ó³«È¯¥Á¡¼¥à¤Ë¹çή¤·¤¿¡¥ + + Olaf Seibert¤Ï NetHack 2.3¤ª¤è¤Ó 3.0¤ò Amiga¤Ë°Ü¿¢¤·¤¿¡¥ Norm Meluch, + Stephen Spackman ¤ª¤è¤Ó Pierre Martineau¤Ï PC NetHack 3.0¤Î¥ª¡¼¥Ð¥ì¥¤ + ¥³¡¼¥É¤ò¥Ç¥¶¥¤¥ó¤·¤¿¡¥Johnny Lee¤Ï NetHack 3.0¤ò Macintosh¤Ë°Ü¿¢¤·¤¿¡¥ + Âô»³¤Î¾¤Î¥À¥ó¥¸¥ç¥Ê¡¼¤Ë¤è¤ê¡¤Èà¤é¤Ï¡¤PC, Macintosh ¤ª¤è¤Ó Amiga¤Ë + 3.0¸å¤Î¥ê¥Ó¥¸¥ç¥ó¤ò°Ü¿¢¤·¤¿¡¥ + + Mike Stephenson¤òÀèƬ¤Ë¡¤Izchak Miller¤ª¤è¤Ó Janet Walz¤¬Ä´À°¤·¡¤ + º£¤ä Ken Arromdee, David Cohrs, Jean-Christophe Collet, Kevin Darcy, + Matt Day, Timo Hakulinen, Steve Linhart, Dean Luick, Pat Rankin, + Eric Raymond ¤ª¤è¤Ó¡¤ Eric Smith¤ò´Þ¤à³«È¯¥Á¡¼¥à¤Ï3.0¤ÎÈ´ËÜŪ¤Ê¥ê¥Ó¥¸¥ç¥ó + ¤ËÃå¼ê¤·¤¿¡¥Èà¤é¤Ï¥²¡¼¥à¤ò¥Ç¥¶¥¤¥ó¤·¤Ê¤ª¤·¡¤¥³¡¼¥É¤ÎÂ礭¤Ê²þÎɤò¹Ô¤Ê¤Ã¤¿¡¥ + Èà¤é¤Ï¥Þ¥ë¥Á¥×¥ë¥À¥ó¥¸¥ç¥ó¡¤¿·¤·¤¤¥Ç¥£¥¹¥×¥ì¥¤¡¤¥­¥ã¥é¥¯¥¿¡¼Ëè¤Î¥¯¥¨¥¹¥È¡¤ + ¿·¤·¤¤ºÇ½ª»îÎý¤ª¤è¤ÓÂô»³¤Î¿·¤·¤¤µ¡Ç½¤ò²Ã¤¨¡¤NetHack 3.1¤òÀ©ºî¤·¤¿¡¥ + + Ken Lorber, Gregg Wonderly¤ª¤è¤Ó Grag Olson¤Ï Richard Addison, + Mike Passaretti ¤ª¤è¤Ó Olaf Seibert¤Î¼ê¤ò¼Ú¤ê Amiga¤Î NetHack 3.1¤ò³«È¯ + ¤·¤¿¡¥ + + Norm Meluch ¤ª¤è¤Ó Kevin Smolkowski¤Ï Carl Schelin, Stephen Spackman + Steve VanDevender¤ª¤è¤Ó Paul Winner¤Î¼ê¤ò¼Ú¤ê NetHack 3.1¤òPC¤Ë°Ü¿¢¤·¤¿¡¥ + + Jon W{tte ¤ª¤è¤Ó Hao-yang Wang¤Ï Ross Brown, Mike Engber, David Hairston, + Micheal Hamel, Jonathan Handler, Johnny Lee, Tim Lennan, Rob Menke + ¤ª¤è¤Ó Andy Swanson¤Î¼ê¤ò¼Ú¤ê Macintosh¤Î Nethack 3.1¤ò³«È¯¤·¡¤MPWÍÑ¤Ë + °Ü¿¢¤·¤¿¡¥¤½¤ì¤Î³«È¯¤ÎºÝ¡¤Barton House¤Ï Think C¤Ë°Ü¿¢¤·¤¿¡¥ + + Timo Hakulinen¤Ï NetHack 3.1¤ò OS/2¤Ë°Ü¿¢¤·¤¿¡¥ Eric Smith¤Ï NetHack 3.1 + ¤ò Atari¤Ë°Ü¿¢¤·¤¿¡¥ Pat Rankin¤Ï Joshua Delahunty¤Î¼ê¤ò¼Ú¤ê¡¤NetHack 3.1 + ¤ÎVMS¥Ð¡¼¥¸¥ç¥ó¤Ë±þ¤¸¤Æ¤¤¤ë¡¥Michael Allison¤Ï NetHack3.1¤ò Windows NT¤Ë + °Ü¿¢¤·¤¿¡¥ + + Dean Luick¤Ï David Cohrs¤Î¼ê¤ò¼Ú¤ê¡¤X11¤ÎNetHack 3.1¤ò³«È¯¤·¤¿¡¥ + + - - - - - - - - - - + + »þ¡¹¡¤ÂÄÍ¤¿¿Íʪ¤¬Èà¤é¤Î¥Í¥Ã¥È¥é¥ó¥É¤«¤é¥²¡¼¥à¤Î¼ê½õ¤±¤È¤Ê¤ë¤è¤¦¤Ê¶½ + Ì£¤ò¤½¤½¤ë²þÎɰƤòÁ÷¤Ã¤Æ¤¯¤ë¡¥¥À¥ó¥¸¥ç¥ó¤Î¿À¤Ï¤³¤ì¤éÂĤÁ¤ë¤È¤³¤í¤Þ¤ÇÂÄ + ¤Á¤¿¿Í´Ö¤¿¤Á¤Î̾Á°¤ò¤­¤Þ¤°¤ì¤Ç¤Ò¤«¤¨¤Æ¤¤¤ë¡¥¤½¤Î¥À¥ó¥¸¥ç¥ó¥Ê¡¼¤¿¤Á¤Ï°Ê + ²¼¤Ç¤¢¤ë: + + Richard Addison Eric Hendrickson Mike Passaretti + Michael Allison Bruce Holloway Pat Rankin + Tom Almy Barton House Eric S. Raymond + Ken Arromdee Richard P. Hughey Frederick Roeber + Eric Backus Ari Huttunen John Rupley + John S. Bien John Kallen Carl Schelin + Ralf Brown Del Lamb Olaf Seibert + Ross Brown Greg Laskin Kevin Sitze + David Cohrs Johnny Lee Eric R. Smith + Jean-Christophe Collet Tim Lennan Kevin Smolkowski + Steve Creps Merlyn LeRoy Michael Sokolov + Kevin Darcy Steve Linhart Stephen Spackman + Matthew Day Ken Lorber Andy Swanson + Joshua Delahunty Dean Luick Kevin Sweet + Bill Dyer Benson I. Margulies Scott R. Turner + Mike Engber Pierre Martineau Steve VanDevender + Jochen Erwied Roland McGrath Janet Walz + Mike Gallop Norm Meluch Hao-yang Wang + David Gentzel Rob Menke Jon W{tte + Mark Gooderum Deron Meranda Tom West + David Hairston Bruce Mewborne Paul Winner + Timo Hakulinen Izchak Miller Gregg Wonderly + Michael Hamel Gil Neiger + Jonathan Handler Greg Olson + + *** /dev/null Wed Sep 24 22:14:55 1997 --- ./dat/jopthelp Tue Jul 22 23:17:59 1997 *************** *** 0 **** --- 1,166 ---- + Á´¤Æ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç²Äǽ¤Ê¿¿µ¶¥ª¥×¥·¥ç¥ó(¥Ç¥Õ¥©¥ë¥È¤Ï[]¤Ç¤¢¤ë¡¥): + + autopickup °ÜÆ°¤·¤¿¤È¤­¼«Æ°¤Çʪ¤ò½¦¤¦ [TRUE] + confirm ¥Ú¥Ã¥È¤äͧ¹¥Åª¤Ê²øʪ¤ò¹¶·â¤¹¤ëÁ°¤Ë³Îǧ¤¹¤ë [TRUE] + DECgraphics ¥À¥ó¥¸¥ç¥ó¤ËDEC/VT¤Î·ÓÀþ¤ò»ÈÍѤ¹¤ë [FALSE] + (fe)male ¥×¥ì¡¼¥ä¤ÎÀ­ÊÌ(¥¹¥¿¡¼¥È»þ¤Î¤ßÀßÄê²Äǽ) [MALE] + fixinv ¤Ç¤­¤ë¤À¤±¡¤Æ±¤¸Êª¤ÏƱ¤¸Ê¸»ú¤ËÅö¤Æ¤ë [TRUE] + help '/'¥³¥Þ¥ó¥É»þ¤Ë¤µ¤é¤Ê¤ë¾ðÊó¤ò¸«¤ë¤«³Îǧ¤¹¤ë [TRUE] + IBMgraphics ¥À¥ó¥¸¥ç¥ó¤ËIBM³Èĥʸ»ú¤ò»ÈÍѤ¹¤ë [FALSE] + ignintr ¥Ö¥ì¡¼¥¯¤ò´Þ¤à¥¤¥ó¥¿¥é¥×¥È¥·¥°¥Ê¥ë¤ò̵»ë¤¹¤ë [FALSE] + legacy ¥²¡¼¥àºÇ½é¤Ë¥¤¥ó¥È¥í¥À¥¯¥·¥ç¥ó¤òɽ¼¨¤¹¤ë [TRUE] + lit_corridor °Å¤¤²óÏ­¤Ç¤â¥×¥ì¡¼¥ä¤Î¼þ°Ï¤òÌÀ¤ë¤¯É½¼¨¤¹¤ë [FALSE] + mail ¥á¡¼¥ë¥Ç¡¼¥â¥ó¤Î¸ºß¤òµö¤¹ [TRUE] + null üËö¤Ë¥Ì¥ë¤òÁ÷¤ë¡¥ [TRUE] + °ÜÆ°¤¹¤ëʪÂΤ¬Éô²°¤ò¥Æ¥ì¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤ë¤Ê¤é + ¤Ð¡¤¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¥ª¥Õ¤Ë¤»¤è¡¥(¶¯À©Åª¤Ë¥Ç¥£¥ì¥¤¥³¡¼¥É + ¤òÁ÷¤ë¤è¤¦¤Ë¤Ê¤ë) + number_pad yuhjklbn¤ÎÂå¤ï¤ê¤Ë°ÜÆ°¤Ë¥Ê¥ó¥Ð¡¼¥Ñ¥Ã¥É¤ò»ÈÍѤ¹¤ë [FALSE] + perm_invent »ý¤Áʪ°ìÍ÷¤ò¤º¤Ã¤È¥¦¥£¥ó¥É¥¦¤Ëɽ¼¨¤·¤Æ¤ª¤¯ [FALSE] + rest_on_space ¥¹¥Ú¡¼¥¹¥Ð¡¼¤ÇµÙ·Æ¤¹¤ë [FALSE] + safe_pet (¤ï¤«¤Ã¤Æ¤¤¤ë¤Ê¤é)¥Ú¥Ã¥È¤ò¹¶·â¤¹¤ë¤Î¤òÈò¤±¤ë [TRUE] + silent üËö¤Î¥Ù¥ë¤òÌĤ餵¤Ê¤¤ [TRUE] + sortpack »÷¤¿¤è¤¦¤Ê¼ïÎà¤Îʪ¤ò¤Þ¤È¤á¤ë [TRUE] + standout --More--¤òÂÀ»ú¤Çɽ¼¨¤¹¤ë [FALSE] + time ¥²¡¼¥à¤Î·Ð²á»þ´Ö¤òɽ¼¨¤¹¤ë [FALSE] + tombstone »à¤ó¤À¤È¤­ÊèÀФòɽ¼¨¤¹¤ë [TRUE] + toptenwin ¥È¥Ã¥×10¤òɸ½à½ÐÎϤǤϤʤ¯¥¦¥£¥ó¥É¥¦¤Ëɽ¼¨¤¹¤ë [FALSE] + verbose ¥²¡¼¥à¤Î¥³¥á¥ó¥È¤ò¾Ü¤·¤¯É½¼¨¤¹¤ë [TRUE] + + + Jnethack 1.0 ¤Î¿§¡¹¤Ê¥Ð¡¼¥¸¥ç¥ó¤Ë¤Ï¤µ¤é¤Ë¿¿µ¶¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤¹¤ë¡¥(¤¢¤Ê + ¤¿¤Ï¡¤'O'¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¸½ºß¤Î¥ª¥×¥·¥ç¥ó¤ÎÀßÄê¤ò¥Á¥§¥Ã¥¯¤·¡¤¤É¤Î¥ª + ¥×¥·¥ç¥ó¤¬¤¢¤Ê¤¿¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤¢¤ë¤«ÃΤ뤳¤È¤¬¤Ç¤­¤ë) + + ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë INSURANCE¤¬ÀßÄꤵ¤ì¤Æ¤ë¤Ê¤é¤Ð: + checkpoint ³¬¤ò°ÜÆ°¤¹¤ëÅ٤˥²¡¼¥à¥»¡¼¥Ö¤·¡¤²Äǽ¤Ê¤é¤Ð¥×¥í¥° [TRUE] + ¥é¥à¤¬¥¯¥é¥Ã¥·¥å¤·¤Æ¤âÉü³è¤Ç¤­¤ë + + ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë NEWS¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð: + news ¥¹¥¿¡¼¥È¥¢¥Ã¥×»þ¤Ë¥²¡¼¥à´ÉÍý¼Ô¤«¤é¤Î¥á¥Ã¥»¡¼¥¸¤ò [TRUE] + ɽ¼¨¤¹¤ë + + ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë DGK¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð: + BIOS IBM ROM BIOS¤ò»ÈÍѤ¹¤ë [FALSE] + rawio I/O¤òľÀÜÁàºî¤¹¤ë(¥¹¥¿¡¼¥È»þ¤Î¤ßÀßÄê²Äǽ) [FALSE] + + ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë EXP_ON_BTOL¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð: + showexp ·Ð¸³Ãͤòɽ¼¨¤¹¤ë [FALSE] + + ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë SCORE_ON_BOTL¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð: + showscore ¥¹¥³¥¢¤òɽ¼¨¤¹¤ë [FALSE] + + ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë TEXTCOLOR¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð: + color ²èÌ̤Îʪ¤Î¿§¡¹¤Ê¿§¤ò»ÈÍѤ¹¤ë [TRUE for micros] + hilite_pet ¥Ú¥Ã¥È¤ò¶¯Ä´É½¼¨¤¹¤ë [FALSE] + + ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë TIMED_DELAY¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð(tty¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¤ß): + timed_delay UNIX¤äVMS¤Ç¤Ï¥Ç¥£¥¹¥×¥ì¥¤¤Øɽ¼¨¤ò¥Ý¡¼¥º¤¹¤ëÂå¤ê¤Ë [TRUE] + ¥¿¥¤¥Þ¡¼¤ò»È¤¦¡¥MSDOS¤Ç termcap¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ· + ¤Ê¤¤¾ì¹ç¤Ï¡¤É½¼¨¤ò¥Ý¡¼¥º¤Î¤¢¤ë¤Ê¤·¤Ë¤«¤«¤ï¤é¤º + ¥¿¥¤¥Þ¡¼¤¬»È¤ï¤ì¤ë¡¥ + + Ǥ°Õ¤Î¿¿µ¶¥ª¥×¥·¥ç¥ó¤Ï'!'¤ä'no'¤ò¤Ä¤±¤ë¤³¤È¤Ë¤è¤êÈÝÄê¤Ç¤­¤ë¡¥ + + ¥Ñ¥é¥á¡¼¥¿¤Ä¤­¥ª¥×¥·¥ç¥ó¤Ï option_name:option_value ¤Î¤è¤¦¤Ë´û½Ò¤¹¤ë¡¥ + ´Á»ú¥³¡¼¥É¤ÏÆâÉô¥³¡¼¥É¤Ë¤¹¤ëɬÍפ¬¤¢¤ë¡¥(ÉáÄ̤ÏEUC) + + ¥²¡¼¥àÃæ¤ËÀßÄê¤Ç¤­¤ë¥Ñ¥é¥á¡¼¥¿¤Ä¤­¥ª¥×¥·¥ç¥ó¤Ï: + + disclose ¥²¡¼¥à½ªÎ»»þ¤Ë¸«¤ë¾ðÊó¤Î¼ïÎà [all] + fruit ¹¥Êª¤Î²Ìʪ¤Î̾Á° [slime mold] + (´ðËÜŪ¤ËNetHack¤¬µ¤¤Þ¤°¤ì¤Ç»È¤Ã¤Æ¤­¤¿) + menustyle Ê£¿ô¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤¹¤ë¤È¤­¤Î¥æ¡¼¥¶¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹ + Traditional -- 1¤Ä¤Î¥¢¥¤¥Æ¥à¤ò¿×®¤ËÁªÂò + Combination -- ÂоݤȤ¹¤ë¥¯¥é¥¹¤ò¿×®¤ËÁªÂò¤·¥á¥Ë¥å¡¼É½¼¨ + Partial -- ¥¯¥é¥¹ÁªÂò¤ò»ÈÍѤ·¤Ê¤¤ + Full -- ÂоݤȤ¹¤ë¥¯¥é¥¹¤ò¥á¥Ë¥å¡¼¤ÇÁªÂò¤·¡¤ + ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥á¥Ë¥å¡¼¤Ç + ºÇ½é¤Î°ìʸ»ú('T', 'C', 'P', 'F')¤Ç·èÄê¡¥'N'¤Ï 'T' + ¤ÈƱÍͤΰÕÌ£¡¥[Full] + packorder ÇØÉ餤ÂÞÆâ¤Îʪ¤Î½çÈÖ¤ò·è¤á¤ë¥·¥ó¥Ü¥ë [")[%?+!=/(*`0_] + (¤¤¤¯¤Ä¤«¤ÎʪÂΤ·¤«ÆÃÄꤷ¤Ê¤¤¾ì¹ç¡¤»Ä¤ê¤Î¤Ï¥Ç¥Õ¥©¥ë¥È¤Î + ½çÈÖ¤ËʤÖ) + pickup_types ¼«Æ°¤Ç½¦¤¤¤¢¤²¤ëʪ¤Î¥·¥ó¥Ü¥ë [all] + scores ¥²¡¼¥à½ªÎ»»þ¤Ë¸«¤ë¥¹¥³¥¢¤Î¼ïÎà [!own/3 top/2 around] + ¥È¥Ã¥×¥¹¥³¥¢¡¤¥È¥Ã¥×¥¹¥³¥¢¤Î¼þÊÕ¡¤¤¢¤Ê¤¿¼«¿È¤Î¥¹¥³¥¢¤Î + ÁȤ߹礻¤òÁª¤Ö¡¥ + kcode üËö¤Î´Á»ú¥³¡¼¥É [EUC] + + ¥¹¥¿¡¼¥È»þ¤Ë¤Î¤ßÀßÄê¤Ç¤­¤ë¥Ñ¥é¥á¡¼¥¿¤Ä¤­¥ª¥×¥·¥ç¥ó¤Ï: + + catname ËÁ¸±¤ò¶¡¤Ë¤¹¤ëºÇ½é¤ÎÇ­¤Î̾Á° [NONE] + dogname ËÁ¸±¤ò¶¡¤Ë¤¹¤ëºÇ½é¤Î¸¤¤Î̾Á° [NONE] + dungeon + ¥À¥ó¥¸¥ç¥ó¤ò½ñ¤¯¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥·¥ó¥Ü¥ë¤Î¥ê¥¹¥È + ¥·¥ó¥Ü¥ë¤ÏÂô»³¤Î½èÍý¤ò¤³¤Ê¤»¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¤ + ¥³¥ó¥È¥í¡¼¥ë¥­¥ã¥é¥¯¥¿ ^x¤ä¥á¥¿¥­¥ã¥é¥¯¥¿ \Mx¤Ï¤â¤Á¤í¤ó + \n¤ä \081¤Î¤è¤¦¤Ê C¸À¸ì¥é¥¤¥¯¤Ê¥¨¥¹¥±¡¼¥×¤ò»È¤¨¤ë¡¥ + ÉáÄÌ, \¤Ï¼¡¤Îʸ»ú¤ò¶¯À©Åª¤Ëʸ»úÄ̤ê¤Ë¤¹¤ë¡¥Âô»³¤Î¥·¥ó + ¥Ü¥ë¤¬½ÅÊ£¤µ¤ì»ÈÍѤµ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¤¤³¤³¤Ç¤Ï¤¤¤¯¤Ä¤«¤ÎÃí + °Õ¤È¤È¤â¤Ë¥·¥ó¥Ü¥ë¤ÎÂå¤ê¤Ë̾Á°¤òÍ¿¤¨¤ë: + + stone (¸Ç¤¤´ä¡¤ÉáÄÌ¤Ï ' ' ) + vwall hwall tlcorn trcorn blcorn brcorn (Éô²°¤ÎÊÉ) + crwall tuwall tdwall tlwall trwall (¤Þ¤¬¤ê¤¯¤Í¤Ã¤¿ÌÂÏ©¤ÎÊÉ) + nodoor vodoor hodoor (¤Ê¤·¡¤¿âľ¡¤¿åÊ¿¤Î³«¤¤¤¿Èâ) + vcdoor hcdoor (¿âľ¡¤¿åÊ¿¤ÎÊĤ¸¤¿Èâ) + room darkcorr litcorr upstair dnstair upladder dnladder + altar throne sink fountain pool ice lava + vodbridge hodbridge (¿âľ¡¤¿åÊ¿¤Î³«¤¤¤¿Ä·¤Í¶¶) + vcdbridge hcdbridge (¿âľ¡¤¿åÊ¿¤Î¹ß¤ê¤¿Ä·¤Í¶¶) + air cloud water + default: \ |--------||.-|++.##<><>_\\#{}.}..##\ #} + effects + dungeonƱÍÍ¡¤Æüì¸ú²Ì¤Î¥·¥ó¥Ü¥ë¡¥ + vbeam hbeam lslant rslant (ÉáÄ̤Ͼó¤Î¥Ó¡¼¥à) + digbeam flashbeam (·ê·¡¤ê¤È¥«¥á¥é¤ÎÆüì¤Ê¥Ó¡¼¥à) + boomleft boomright (¥Ö¡¼¥á¥é¥ó) + ss1 ss2 ss3 ss4 (Ëɸæ¤Î²ÝÄø) + sw_topl, sw_topm, sw_topr, (°û¤ß¹þ¤Þ¤ì¤¿¤È¤­¤Î¾åÃÊ) + sw_midl, sw_midr, (°û¤ß¹þ¤Þ¤ì¤¿¤È¤­¤ÎÃæÃÊ) + sw_botl, sw_botm, sw_botr (°û¤ß¹þ¤Þ¤ì¤¿¤È¤­¤Î²¼ÃÊ) + extl extm extr (Çúȯ¤Î¾åÃÊ) + exml exmm exmr (Çúȯ¤ÎÃæÃÊ) + exbl exbm exbr (Çúȯ¤Î²¼ÃÊ) + default: |-\\/*!)(0#@*/-\\||\\-//-\\|\ |\\-/ + menu_* ¥á¥Ë¥å¡¼¥³¥Þ¥ó¥É¤Ç»ÈÍѤ¹¤ë°ìʸ»ú¤Î¥­¥ã¥é¥¯¥¿¡¥°Ê²¼¤Ë¤¢¤ë¤Î¤Ï + Á´¤Æ¤Î¥³¥Þ¥ó¥É¤Î¥á¥Ë¥å¡¼¤Ç¤¢¤ë¡¥¤½¤ì¤¾¤ì¤Ë³¤¯( )Æâʸ»ú¤Î°ÕÌ£ + ¤Ï¼¡¤ÎÄ̤ê: x = x11, t = tty¡¥ + menu_deselect_all Á´¤Æ¤Î¥¢¥¤¥Æ¥à¤òÈóÁªÂò [-](xt) + menu_deselect_page ¸½ºßɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥Ú¡¼¥¸¤Î¥¢¥¤¥Æ¥à¤òÈóÁªÂò [\](t) + menu_first_page ¥á¥Ë¥å¡¼¤ÎºÇ½é¤Î¥Ú¡¼¥¸¤Ø [^](t) + menu_invert_all Á´¤Æ¤Î¥¢¥¤¥Æ¥à¤òȿž [@](xt) + menu_invert_page ¸½ºßɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥Ú¡¼¥¸¤Î¥¢¥¤¥Æ¥à¤òȿž [~](t) + menu_last_page ¥á¥Ë¥å¡¼¤ÎºÇ¸å¤Î¥Ú¡¼¥¸¤Ø [|](t) + menu_next_page ¼¡¤Î¥á¥Ë¥å¡¼¤Î¥Ú¡¼¥¸¤Ø [>](t) + menu_previous_page Á°¤Î¥á¥Ë¥å¡¼¤Î¥Ú¡¼¥¸¤Ø [<](t) + menu_search ¥á¥Ë¥å¡¼¤Î¸¡º÷ [:](x) + menu_select_all Á´¤Æ¤Î¥¢¥¤¥Æ¥à¤òÁªÂò [.](xt) + menu_select_page ¸½ºßɽ¼¨¤µ¤ì¤Æ¤¤¤ëÁ´¤Æ¤Î¥¢¥¤¥Æ¥à¤òÁªÂò [,](t) + + monsters + dungeonƱÍÍ¡¤²øʪ¤Î¤¿¤á¤Î¥·¥ó¥Ü¥ë¡¥ + ¥Ç¥Õ¥©¥ë¥È: abcdefghijklmnopqrstuvwxyz + ABCDEFGHIJKLMNOPQRSTUVWXYZ@\ \\&;:~] + + msghistory ÀèƬ¹Ô¤ÎÍúÎò¤òÊݸ¿ô [20] + name ¤¢¤Ê¤¿¤Î̾Á° [¥·¥¹¥Æ¥à¤«¤¢¤Ê¤¿¤Ë̾Á°¤ò¿Ò¤Í¤ÆÆÀ¤é¤ì¤¿¤â¤Î] + objects dungeonƱÍÍ¡¤¥ª¥Ö¥¸¥§¥¯¥È¤Î¥·¥ó¥Ü¥ë + ¥Ç¥Õ¥©¥ë¥È: ])[="(%!?+/$*`0_. + pettype ¤¢¤Ê¤¿¤Î¥­¥ã¥é¥¯¥¿¤¬¤É¤Á¤é¤â»È¤¨¤ë¤Ê¤é¡¤¤¢¤Ê¤¿¤Î¹¥¤­¤Ê + ¥Ú¥Ã¥È¤Î¼ïÎà(Ç­¤«¸¤¤«) [RANDOM] + traps + dungeonƱÍÍ¡¤æ«¤Î¤¿¤á¤Î¥·¥ó¥Ü¥ë¡¥ + arrow_trap dart_trap falling_rock_trap squeaky_board + bear_trap land_mine rolling_boulder_trap sleeping_gas_trap + rust_trap fire_trap pit spiked_pit hole trap_door + teleportation_trap level_teleporter magic_portal web statue_trap + magic_trap anti_magic_trap polymorph_trap + ¥Ç¥Õ¥©¥ë¥È: ^^^^^^^^^^^^^^^^^"^^^^ + windowtype »ÈÍѤ¹¤ë¥¦¥¤¥ó¥É¥¥¥·¥¹¥Æ¥à [¥·¥¹¥Æ¥à°Í¸] + + ¥ª¥×¥·¥ç¥ó¤ÎÎã: + !autopickup,!tombstone,name:Gandalf,scores:own/3 top/2 around + female,nonews,dogname:Rover,dungeon: |--------||.-|++.##<><>_\\#{}.}..## #} + rest_on_space,!verbose,menustyle:traditional *** /dev/null Wed Sep 24 22:14:55 1997 --- ./dat/jjj Tue Jul 22 23:17:59 1997 *************** *** 0 **** --- 1,594 ---- + + + NetHack¤Ï¤Þ¤ì¤Ë¡¤¥¢¥¤¥Æ¥à¤ä²øʪ¤Î̾Á°¤òʹ¤¤¤Æ¤¯¤ë¤³¤È¤¬¤¢¤ë¡¥¤³¤ì¤é + ¤Î¼ÁÌä¤Ë¤Ï±Ñ¸ì¤ÇÅú¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥Ì¤ÃΤΥ¢¥¤¥Æ¥à¤Ï'`'¥³¥Þ¥ó¥É¤Ç¥ª¥ê¥¸ + ¥Ê¥ë¥â¡¼¥É¤Ë¤¹¤ë¤³¤È¤Ë¤è¤ê¡¤±Ñ̾¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥¥¢¥¤¥Æ¥à°ì + Í÷¥³¥Þ¥ó¥É 'i','I'¤Þ¤¿¤Ï¡¤±ó¤¯¤Î²øʪ¤äʪ¤òÄ´¤Ù¤ë¥³¥Þ¥ó¥É ';','/'¤ÇÃΤë + ¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¡¥Ìô¤ä´¬Êª¤Î¤è¤¦¤Ê¼±Ê̤·¤Ê¤¤¤È¤É¤Î¤è¤¦¤Ê¸ú²Ì¤¬¤¢ + ¤ë¤«¤ï¤«¤é¤Ê¤¤¤â¤Î¤Ï¡¤¥ª¥ê¥¸¥Ê¥ë¥â¡¼¥É¤Ë¤·¤Æ¤â±Ñ̾¤Ë¤Ê¤é¤Ê¤¤¡¥ + + + ********** ²øʪ¤Î±Ñ̾¡¤ÏÂ̾¤Î¥Æ¡¼¥Ö¥ë ********** + + °Ê²¼¤Î¥Æ¡¼¥Ö¥ë¤ÏNetHack¤Ë½Ð¤Æ¤¯¤ë¤â¤Î¤Î°ìÉô¤Ç¤¢¤ë¡¥¤³¤ì°Ê³°¤Î¤â¤Î¤ËÁø + ¶ø¤·¤¿¤È¤­¤Ï'`'¤Ç¥ª¥ê¥¸¥Ê¥ë¥â¡¼¥É¤Ë¤·¤¿¤¢¤È'/'¤Þ¤¿¤Ï'j'¤Ç̾Á°¤ò¥Á¥§¥Ã + ¥¯¤¹¤ë¤³¤È¡¥ + + giant ant µðÂçµÂ + killer bee »¦¿Í˪ + soldier ant ʼÂâµÂ + fire ant ²ÐµÂ + giant beetle µðÂ祫¥Ö¥ÈÃî + queen bee ½÷²¦Ëª + acid blob »À¤Î¥Ö¥í¥Ã¥Ö + quivering blob ¿Ì¤¨¤ë¥Ö¥í¥Ã¥Ö + gelatinous cube ¥¼¥é¥Á¥ó¥­¥å¡¼¥Ö + cockatrice ¥³¥«¥È¥ê¥¹ + jackal ¥¸¥ã¥Ã¥«¥ë + werejackal ¥¸¥ã¥Ã¥«¥ë¿Í´Ö + little dog »Æ¸¤ + dog ¸¤ + large dog Â礭¤Ê¸¤ + wolf ϵ + werewolf ϵ¿Í´Ö + warg ¥ï¡¼¥° + winter wolf Åßϵ + hell hound pup ¥Ø¥ë¥Ï¥¦¥ó¥É¤Î»Æ + hell hound ¥Ø¥ë¥Ï¥¦¥ó¥É + Cerberus ¥±¥ë¥Ù¥í¥¹ + floating eye ¤µ¤Þ¤è¤¦ÌÜ + freezing sphere Åà¤Ã¤¿µåÂÎ + beholder ¥Ó¥Û¥ë¥À¡¼ + kitten ¾®Ç­ + housecat ²ÈÇ­ + jaguar ¥¸¥ã¥¬¡¼ + large cat Â礭¤ÊÇ­ + tiger ¸× + gremlin ¥°¥ì¥à¥ê¥ó + gargoyle ¥¬¡¼¥´¥¤¥ë + winged gargoyle ±©¤Î¤¢¤ë¥¬¡¼¥´¥¤¥ë + hobbit ¥Û¥Ó¥Ã¥È + dwarf ¥É¥ï¡¼¥Õ + bugbear ¥Ð¥°¥Ù¥¢¡¼ + dwarf lord ¥É¥ï¡¼¥Õ¤Îµ®Â² + dwarf king ¥É¥ï¡¼¥Õ¤Î²¦ + mind flayer ¥Þ¥¤¥ó¥É¥Õ¥ì¥¢ + manes Ë´Îî + homunculus ¥Û¥à¥ó¥¯¥ë¥¹ + imp ¥¤¥ó¥× + lemure ¥ì¥à¥ì¡¼¥¹ + quasit ¥¯¥¢¥·¥È + tengu Å·¶é + blue jelly ÀÄ¿§¥¼¥ê¡¼ + spotted jelly ¤Þ¤À¤é¥¼¥ê¡¼ + ochre jelly ²«ÅÚ¿§¥¼¥ê¡¼ + kobold ¥³¥Ü¥ë¥É + large kobold Â礭¤Ê¥³¥Ü¥ë¥É + kobold lord ¥³¥Ü¥ë¥É¤Îµ®Â² + kobold shaman ¥³¥Ü¥ë¥É¤Î¼ö½Ñ»Õ + leprechaun ¥ì¥×¥é¥³¡¼¥ó + small mimic ¾®¤µ¤Ê¥ß¥ß¥Ã¥¯ + large mimic Â礭¤Ê¥ß¥ß¥Ã¥¯ + giant mimic µðÂç¤Ê¥ß¥ß¥Ã¥¯ + wood nymph ÌڤΥ˥ó¥Õ + water nymph ¿å¤Î¥Ë¥ó¥Õ + mountain nymph »³¤Î¥Ë¥ó¥Õ + goblin ¥´¥Ö¥ê¥ó + hobgoblin ¥Û¥Ö¥´¥Ö¥ê¥ó + orc ¥ª¡¼¥¯ + hill orc µÖ¤Î¥ª¡¼¥¯ + Mordor orc ¥â¥ë¥É¡¼¥ë¤Î¥ª¡¼¥¯ + Uruk-hai ¥¦¥ë¥¯¡¦¥Ï¥¤ + orc shaman ¥ª¡¼¥¯¤Î¼ö½Ñ»Õ + orc-captain ¥ª¡¼¥¯¤ÎÂâĹ + rock piercer ´ä¶ô¤¤ + iron piercer Å´¶ô¤¤ + rothe ¥í¥¼ + mumak ¥à¡¼¥Þ¥¯ + leocrotta ¥ì¥ª¥¯¥í¥Ã¥¿ + wumpus ¥ï¥ó¥Ñ¥¹ + titanothere ¥Á¥¿¥Î¥¼¥¢ + baluchitherium ¥Ð¥ë¥­¥Æ¥ê¥¦¥à + sewer rat ¥É¥Ö¥Í¥º¥ß + giant rat µðÂç¥Í¥º¥ß + rabid rat ¶¤Ë½¥Í¥º¥ß + wererat ¤Í¤º¤ß¿Í´Ö + rock mole ´ä¤â¤°¤é + cave spider ƶ·¢¥°¥â + giant spider µðÂ祰¥â + scorpion ¥µ¥½¥ê + lurker above ¥é¡¼¥«¡¼ + trapper ¥È¥é¥Ã¥Ñ¡¼ + white unicorn Çò¥æ¥Ë¥³¡¼¥ó + gray unicorn ³¥¿§¥æ¥Ë¥³¡¼¥ó + black unicorn ¹õ¥æ¥Ë¥³¡¼¥ó + fog cloud ̸¤ÎÆÞ + dust vortex ¤Û¤³¤ê¤Î±² + ice vortex ɹ¤Î±² + energy vortex ¥¨¥Í¥ë¥®¡¼¤Î±² + steam vortex ¾øµ¤¤Î±² + fire vortex ±ê¤Î±² + baby long worm ¥í¥ó¥°¥ï¡¼¥à¤Î»Ò¶¡ + baby purple worm »ç¥ï¡¼¥à¤Î»Ò¶¡ + long worm ¥í¥ó¥°¥ï¡¼¥à + purple worm »ç¥ï¡¼¥à + long worm tail ¥í¥ó¥°¥ï¡¼¥à¤Î¿¬Èø + grid bug ¥°¥ê¥Ã¥É¥Ð¥° + xan ¥¶¥ó + yellow light ²«¿§¤¤¸÷ + black light ¹õ¤¤¸÷ + zruty ¥º¥ë¥Æ¥£ + couatl ¥³¥¦¥¢¥È¥ë + Aleax ¥¢¥ì¥¢¥Ã¥¯¥¹ + Angel Å·»È + ki-rin óÊÎÛ + Archon ¥¢¥ë¥³¥ó + bat ¤³¤¦¤â¤ê + giant bat µðÂ礳¤¦¤â¤ê + vampire bat µÛ·ì¤³¤¦¤â¤ê + plains centaur Á𸶤Υ±¥ó¥¿¥¦¥í¥¹ + forest centaur ¿¹¤Î¥±¥ó¥¿¥¦¥í¥¹ + mountain centaur »³¤Î¥±¥ó¥¿¥¦¥í¥¹ + baby gray dragon ³¥¿§¥É¥é¥´¥ó¤Î»Ò¶¡ + baby red dragon ÀÖ¿§¥É¥é¥´¥ó¤Î»Ò¶¡ + baby white dragon Çò¥É¥é¥´¥ó¤Î»Ò¶¡ + baby orange dragon ¥ª¥ì¥ó¥¸¥É¥é¥´¥ó¤Î»Ò¶¡ + baby black dragon ¹õ¥É¥é¥´¥ó¤Î»Ò¶¡ + baby blue dragon Àĥɥ饴¥ó¤Î»Ò¶¡ + baby green dragon ÎХɥ饴¥ó¤Î»Ò¶¡ + baby yellow dragon ²«¿§¥É¥é¥´¥ó¤Î»Ò¶¡ + gray dragon ³¥¿§¥É¥é¥´¥ó + red dragon ÀÖ¿§¥É¥é¥´¥ó + white dragon Çò¥É¥é¥´¥ó + orange dragon ¥ª¥ì¥ó¥¸¥É¥é¥´¥ó + black dragon ¹õ¥É¥é¥´¥ó + blue dragon Àĥɥ饴¥ó + green dragon ÎХɥ饴¥ó + yellow dragon ²«¿§¥É¥é¥´¥ó + air elemental É÷¤ÎÀº + fire elemental ²Ð¤ÎÀº + earth elemental ÅÚ¤ÎÀº + water elemental ¿å¤ÎÀº + brown mold Ã㿧¥â¡¼¥ë¥É + yellow mold ²«¿§¥â¡¼¥ë¥É + green mold ÎХ⡼¥ë¥É + red mold ÀÖ¿§¥â¡¼¥ë¥É + shrieker ¥·¥å¥ê¡¼¥«¡¼ + violet fungus »ç¥­¥Î¥³ + gnome ¥Î¡¼¥à + gnome lord ¥Î¡¼¥à¤Îµ®Â² + gnomish wizard ¥Î¡¼¥à¤ÎËâË¡»È¤¤ + gnome king ¥Î¡¼¥à¤Î²¦ + giant µð¿Í + stone giant ´äÀеð¿Í + hill giant µÖ¤Îµð¿Í + fire giant ±ê¤Îµð¿Í + frost giant ¿áÀã¤Îµð¿Í + ettin ¥¨¥Æ¥£¥ó + titan ¥¿¥¤¥¿¥ó + minotaur ¥ß¥Î¥¿¥¦¥í¥¹ + stalker ¥¹¥È¡¼¥«¡¼ + jabberwock ¥¸¥ã¥Ð¥¦¥©¥Ã¥¯ + Keystone Kop ·ÙÈ÷°÷ + Kop Sergeant ½äºº + Kop Lieutenant ½äººÉôĹ + Kop Kaptain ·ÙÉôÊä + lich ¥ê¥Ã¥Á + demilich ¥Ç¥ß¥ê¥Ã¥Á + master lich ¥Þ¥¹¥¿¡¼¥ê¥Ã¥Á + kobold mummy ¥³¥Ü¥ë¥É¤Î¥ß¥¤¥é + gnome mummy ¥Î¡¼¥à¤Î¥ß¥¤¥é + orc mummy ¥ª¡¼¥¯¤Î¥ß¥¤¥é + elf mummy ¥¨¥ë¥Õ¤Î¥ß¥¤¥é + human mummy ¿Í´Ö¤Î¥ß¥¤¥é + ettin mummy ¥¨¥Æ¥£¥ó¤Î¥ß¥¤¥é + giant mummy µð¿Í¤Î¥ß¥¤¥é + red naga hatchling ÀÖ¿§¥Ê¡¼¥¬¤Î¿÷ + black naga hatchling ¹õ¥Ê¡¼¥¬¤Î¿÷ + golden naga hatchling ¶â¿§¥Ê¡¼¥¬¤Î¿÷ + guardian naga hatchling ÈÖʼ¥Ê¡¼¥¬¤Î¿÷ + red naga ÀÖ¿§¥Ê¡¼¥¬ + black naga ¹õ¥Ê¡¼¥¬ + golden naga ¶â¿§¥Ê¡¼¥¬ + guardian naga ÈÖʼ¥Ê¡¼¥¬ + ogre ¥ª¡¼¥¬ + ogre lord ¥ª¡¼¥¬¤Î·¯¼ç + ogre king ¥ª¡¼¥¬¤Î²¦ + gray ooze ³¥¿§¥¦¡¼¥º + brown pudding Ã㿧¥×¥ê¥ó + black pudding ¹õ¥×¥ê¥ó + quantum mechanic Î̻Ҿì + rust monster »¬¤Î²øʪ + garter snake ¾®¤µ¤Ê¥Ø¥Ó + snake ¥Ø¥Ó + water moccasin ¿å¥Ø¥Ó + pit viper ·ê¥Ø¥Ó + python ¥Ë¥·¥­¥Ø¥Ó + cobra ¥³¥Ö¥é + troll ¥È¥í¥ë + ice troll ɹ¤Î¥È¥í¥ë + rock troll ´ä¤Î¥È¥í¥ë + water troll ¿å¤Î¥È¥í¥ë + Olog-hai ¥ª¥í¥°¥Ï¥¤ + umber hulk ¥¢¥ó¥Ð¡¼¥Ï¥ë¥¯ + vampire µÛ·ìµ´ + vampire lord µÛ·ìµ´¤Îµ®Â² + Vlad the Impaler µÛ·ìµ´¥ô¥é¥É + barrow wight ¥Ð¥í¥¦¡¦¥ï¥¤¥È + wraith ¥ì¥¤¥¹ + Nazgul ¥Ê¥º¥°¥ë + xorn ¥¾¡¼¥ó + ape ±î + owlbear ¥¢¥¦¥ë¥Ù¥¢ + yeti ¥¤¥¨¥Æ¥£ + carnivorous ape ¿Í¶ô¤¤±î + sasquatch ¥µ¥¹¥«¥Ã¥Á + kobold zombie ¥³¥Ü¥ë¥É¤Î¥¾¥ó¥Ó + gnome zombie ¥Î¡¼¥à¤Î¥¾¥ó¥Ó + orc zombie ¥ª¡¼¥¯¤Î¥¾¥ó¥Ó + elf zombie ¥¨¥ë¥Õ¤Î¥¾¥ó¥Ó + human zombie ¿Í´Ö¤Î¥¾¥ó¥Ó + ettin zombie ¥¨¥Æ¥£¥ó¤Î¥¾¥ó¥Ó + giant zombie µð¿Í¤Î¥¾¥ó¥Ó + skeleton ³¼¹ü + straw golem ÏΤΥ´¡¼¥ì¥à + rope golem ɳ¤Î¥´¡¼¥ì¥à + leather golem Èé¤Î¥´¡¼¥ì¥à + wood golem ÌڤΥ´¡¼¥ì¥à + flesh golem Æù¤Î¥´¡¼¥ì¥à + clay golem ÅڤΥ´¡¼¥ì¥à + stone golem ´ä¤Î¥´¡¼¥ì¥à + iron golem Å´¤Î¥´¡¼¥ì¥à + human ¿Í´Ö + Woodland-elf ¿¹¤Î¥¨¥ë¥Õ + Green-elf ÎÐ¥¨¥ë¥Õ + Grey-elf ³¥¿§¥¨¥ë¥Õ + elf-lord ¥¨¥ë¥Õ¤Îµ®Â² + Elvenking ¥¨¥ë¥Õ¤Î²¦ + nurse ´Ç¸îÉØ + shopkeeper Ź¼ç + guard ÈÖʼ + Oracle ¸­¼Ô + aligned priest ÁÎη + high priest ¹âÁÎ + soldier ʼ»Î + sergeant ²¼»Î´± + lieutenant Éû´± + captain »Ø´ø´± + watchman ¸«Ä¥¤ê + watch captain ¸«Ä¥¤ê¤ÎÂâĹ + Medusa ¥á¥Ç¥å¡¼¥µ + Wizard of Yendor ¥¤¥§¥ó¥À¡¼¤ÎËâË¡»È¤¤ + Croesus ¥¯¥í¥¤¥½¥¹ + Charon ¥«¥í¥ó + ghost Í©Îî + shade ±Æ + water demon ¿å¤ÎËâ¿À + horned devil ³Ñ¤Î¤¢¤ë°­Ëâ + succubus ¥µ¥­¥å¥Ð¥¹ + incubus ¥¤¥ó¥­¥å¥Ð¥¹ + erinys ¥¤¥ê¥Ë¥¹ + barbed devil ɦ¤Î¤¢¤ë°­Ëâ + marilith ¥Þ¥ê¥ê¥¹ + vrock ¥ô¥¡¥í¥Ã¥¯ + hezrou ¥Ø¥º¥í¥¦ + bone devil ¹ü¤Î°­Ëâ + ice devil ɹ¤Î°­Ëâ + nalfeshnee ¥Ê¥ë¥Õ¥§¥·¥Ë + pit fiend ·ê¤Î°­Îî + balrog ¥Ð¥ë¥í¥° + Juiblex ¥¸¥ç¥¦¥Ó¥ì¥Ã¥¯¥¹ + Yeenoghu ¥¤¡¼¥Î¥° + Orcus ¥ª¡¼¥±¥¹ + Geryon ¥²¡¼¥ê¥å¥ª¡¼¥ó + Dispater ¥Ç¥£¥¹¥Ú¡¼¥¿ + Baalzebub ¥Ù¥ë¥¼¥Ö¥Ö + Asmodeus ¥¢¥¹¥â¥Ç¥¦¥¹ + Demogorgon ¥Ç¥â¥´¥ë¥´¥ó + Death ¥Ç¥¹ + Pestilence ¥Ú¥¹¥Æ¥£¥ì¥ó¥¹ + Famine ¥Õ¥§¥ß¥ó + mail daemon ¥á¥¤¥ë¥Ç¡¼¥â¥ó + djinni É÷¤Î¥¸¥ó + giant eel µðÂ祦¥Ê¥® + electric eel Åŵ¤¥¦¥Ê¥® + kraken ¥¯¥é¡¼¥±¥ó + newt ¥¤¥â¥ê + gecko ¥ä¥â¥ê + iguana ¥¤¥°¥¢¥Ê + baby crocodile ¥ï¥Ë¤Î»Ò¶¡ + lizard ¥È¥«¥² + chameleon ¥«¥á¥ì¥ª¥ó + crocodile ¥ï¥Ë + salamander ¥µ¥é¥Þ¥ó¥À¡¼ + + ********** ¥¢¥¤¥Æ¥à¤Î±Ñ̾¡¤ÏÂ̾¤Î¥Æ¡¼¥Ö¥ë ********** + + °Ê²¼¤Î¥Æ¡¼¥Ö¥ë¤ÏNetHack¤Ë½Ð¤Æ¤¯¤ë¤â¤Î¤Î°ìÉô¤Ç¤¢¤ë¡¥¤³¤ì°Ê³°¤Î¤â¤Î¤ËÁø + ¶ø¤·¤¿¤È¤­¤Ï'`'¤Ç¥ª¥ê¥¸¥Ê¥ë¥â¡¼¥É¤Ë¤·¤¿¤¢¤È'i'¤Þ¤¿¤Ï'I'¤Ç̾Á°¤ò¥Á¥§¥Ã + ¥¯¤¹¤ë¤³¤È¡¥ + + ±Ñ̾ ÏÂ̾ + + arrow Ìð + elven arrow ¥¨¥ë¥Õ¤ÎÌð + orcish arrow ¥ª¡¼¥¯¤ÎÌð + silver arrow ¶ä¤ÎÌð + ya Ìð + crossbow bolt ¥¯¥í¥¹¥Ü¥¥¥Ü¥ë¥È + dart ÅꤲÌð + shuriken ¼ê΢·õ + boomerang ¥Ö¡¼¥á¥é¥ó + spear Áä + elven spear ¥¨¥ë¥Õ¤ÎÁä + orcish spear ¥ª¡¼¥¯¤ÎÁä + dwarvish spear ¥É¥ï¡¼¥Õ¤ÎÁä + javelin ¥¸¥ã¥Ù¥ê¥ó + trident ¥È¥é¥¤¥Ç¥ó¥È + lance ¥é¥ó¥¹ + dagger û·õ + elven dagger ¥¨¥ë¥Õ¤Îû·õ + orcish dagger ¥ª¡¼¥¯¤Îû·õ + athame ¥¢¥µ¥á + scalpel ¥á¥¹ + knife ¥Ê¥¤¥Õ + stiletto ¿íÅá + worm tooth ¥ï¡¼¥à¤Î»õ + dwarvish mattock ¥É¥ï¡¼¥Õ¤Î¤Ä¤ë¤Ï¤· + axe Éà + battle-axe ÀïÉà + short sword ¾®·õ + elven short sword ¥¨¥ë¥Õ¤Î¾®·õ + orcish short sword ¥ª¡¼¥¯¤Î¾®·õ + dwarvish short sword ¥É¥ï¡¼¥Õ¤Î¾®·õ + scimitar »°Æü·îÅá + silver saber ¶ä¤Î¥µ¡¼¥Ù¥ë + broadsword Éý¹­¤Î·õ + elven broadsword ¥¨¥ë¥Õ¤ÎÉý¹­¤Î·õ + long sword Ĺ·õ + two-handed sword ξ¼ê»ý¤Á¤Î·õ + katana Åá + tsurugi ·õ + runesword Ëâ·õ + partisan ¥Ñ¥ë¥Á¥¶¥ó + ranseur ¥é¥ó¥µ¡¼ + spetum ¥¹¥Ú¥¿¥à + glaive ¥°¥ì¥¤¥Ö + halberd ¥Ï¥ë¥Ð¡¼¥É + bardiche ¥Ð¡¼¥Ç¥£¥Ã¥¯ + voulge ¥Ü¥ë¥² + fauchard Áä·õ + guisarme ¥®¥¶¥ë¥à + bill-guisarme ¥Ó¥ë¡¦¥®¥¶¥ë¥à + lucern hammer ¥ë¥Ã¥Ä¥§¥ë¥ó¥Ï¥ó¥Þ¡¼ + bec de corbin ¥Ù¥Ã¥¯¡¦¥É¡¦¥³¥ë¥Ð¥ó + mace ¥á¥¤¥¹ + morning star ¥â¡¼¥Ë¥ó¥°¥¹¥¿¡¼ + war hammer ¥¦¥©¡¼¥Ï¥ó¥Þ¡¼ + club ¤³¤óËÀ + rubber hose ¥´¥à¥Û¡¼¥¹ + quarterstaff Ï»¼ÜËÀ + aklys ¥¢¥­¥ê¥¹ + flail ¥Õ¥ì¥¤¥ë + bullwhip ÊÜ + bow µÝ + elven bow ¥¨¥ë¥Õ¤ÎµÝ + orcish bow ¥ª¡¼¥¯¤ÎµÝ + yumi ÏÂµÝ + sling ¥¹¥ê¥ó¥° + crossbow ¥¯¥í¥¹¥Ü¥¥ + wakizashi Ïƺ¹¤· + ninja-to Ǧ¼ÔÅá + nunchaku ¥Ì¥ó¥Á¥ã¥¯ + naginata ¤Ê¤®¤Ê¤¿ + shito »ÉÅá + + elven leather helm ¥¨¥ë¥Õ¤Î³×˹»Ò + orcish helm ¥ª¡¼¥¯¤Î³õ + dwarvish iron helm ¥É¥ï¡¼¥Õ¤ÎÅ´³õ + fedora ¥Õ¥£¥É¡¼¥é + dented pot ¤¯¤Ü¤ó¤ÀÆé + helmet ³õ + helm of brilliance ÃÎÀ­¤Î³õ + helm of opposite alignment µÕ°À­¤Î³õ + helm of telepathy ÀéΤ´ã¤Î³õ + kabuto ³õ + cornuthaum ¤È¤ó¤¬¤ê˹»Ò + dunce cap ¥À¥ó¥¹¤Î˹»Ò + + plate mail ¹ÝÅ´¤Î³» + crystal plate mail ¿å¾½¤Î³» + bronze plate mail ÀÄƼ¤Î³» + splint mail Å´ÊҤγ» + banded mail ÂÓ¶â¤Î³» + dwarvish mithril-coat ¥É¥ï¡¼¥Õ¤Î¥ß¥¹¥ê¥ëÉþ + elven mithril-coat ¥¨¥ë¥Õ¤Î¥ß¥¹¥ê¥ëÉþ + chain mail º¿¤«¤¿¤Ó¤é + orcish chain mail ¥ª¡¼¥¯¤Îº¿¤«¤¿¤Ó¤é + crude chain mail ÁÆËö¤Êº¿¤«¤¿¤Ó¤é + scale mail Îڤγ» + studded leather armor ÉÆÉÕ¤­Èé³» + ring mail Å´´Ä¤Î³» + orcish ring mail ¥ª¡¼¥¯¤ÎÅ´´Ä¤Î³» + leather armor Èé³» + leather jacket Èé¤ÎÉþ + tanko û¹Ã + sailor blouse ¥»¡¼¥é¡¼Éþ + + mummy wrapping ¥ß¥¤¥é¤ÎÊñÂÓ + elven cloak ¥¨¥ë¥Õ¤Î¥¯¥í¡¼¥¯ + orcish cloak ¥ª¡¼¥¯¤Î¥¯¥í¡¼¥¯ + dwarvish cloak ¥É¥ï¡¼¥Õ¤Î¥¯¥í¡¼¥¯ + oilskin cloak Ëɿ奯¥í¡¼¥¯ + cloak of protection ¼é¤ê¤Î¥¯¥í¡¼¥¯ + cloak of invisibility Æ©ÌÀ¤Î¥¯¥í¡¼¥¯ + cloak of magic resistance ËâË¡¤òËɤ°¥¯¥í¡¼¥¯ + cloak of displacement ¸¸±Æ¤Î¥¯¥í¡¼¥¯ + piece of cloth ÉÛÀÚ¤ì + Hawaiian shirt ¥¢¥í¥Ï¥·¥ã¥Ä + + small shield ¾®¤µ¤Ê½â + elven shield ¥¨¥ë¥Õ¤Î½â + Uruk-hai shield ¥¦¥ë¥¯¡¦¥Ï¥¤¤Î½â + orcish shield ¥ª¡¼¥¯¤Î½â + large shield Â礭¤Ê½â + dwarvish roundshield ¥É¥ï¡¼¥Õ¤Î´Ý½â + shield of reflection È¿¼Í¤Î½â + + leather gloves Èé¤Î¼êÂÞ + gauntlets of fumbling ¤ª¼ê¶Ì¤Î¾®¼ê + gauntlets of power ÎϤξ®¼ê + gauntlets of dexterity ´ïÍѤµ¤Î¾®¼ê + yugake µÝ·ü + + low boots ¤«¤«¤È¤ÎÄ㤤·¤ + iron shoes Å´¤Î·¤ + high boots ¤«¤«¤È¤Î¹â¤¤·¤ + speed boots ðêÂÌÅ·¤Î·¤ + water walking boots ¿å¾åÊâ¹Ô¤Î·¤ + jumping boots Èô¤ÓÄ·¤Í¤ë·¤ + elven boots ¥¨¥ë¥Õ¤Î·¤ + fumble boots ¤Ä¤Þ¤Å¤­¤Î·¤ + levitation boots ÉâÍ·¤Î·¤ + + adornment ¾þ¤ê¤Î»ØÎØ + gain strength ¶¯¤µ¤Î»ØÎØ + increase damage ¹¶·â¤Î»ØÎØ + protection ¼é¤ê¤Î»ØÎØ + regeneration ²óÉü¤Î»ØÎØ + searching õº÷¤Î»ØÎØ + stealth Ǧ¤Ó¤Î»ØÎØ + levitation ÉâÍ·¤Î»ØÎØ + hunger µ²²î¤Î»ØÎØ + aggravate monster È¿´¶¤Î»ØÎØ + conflict Á褤¤Î»ØÎØ + warning ·Ù¹ð¤Î»ØÎØ + poison resistance ÂÑÆǤλØÎØ + fire resistance Âѱê¤Î»ØÎØ + cold resistance ÂÑÎä¤Î»ØÎØ + shock resistance ÂѾ׷â¤Î»ØÎØ + teleportation ½Ö´Ö°ÜÆ°¤Î»ØÎØ + teleport control ½Ö´Ö°ÜÆ°À©¸æ¤Î»ØÎØ + polymorph ÊѲ½¤Î»ØÎØ + polymorph control ÊѲ½À©¸æ¤Î»ØÎØ + invisibility Æ©ÌÀ¤Î»ØÎØ + see invisible ²Ä»ë¤Î»ØÎØ + protection from shape changers ÂÑÊѲ½²øʪ¤Î»ØÎØ + + amulet of ESP ±ó»ë¤ÎËâ½ü¤± + amulet of life saving Ì¿¤ÎËâ½ü¤± + amulet of strangulation ¹Ê»¦¤ÎËâ½ü¤± + amulet of restful sleep °Â̲¤ÎËâ½ü¤± + amulet versus poison ÂÑÆǤÎËâ½ü¤± + amulet of change À­Å¾´¹¤ÎËâ½ü¤± + amulet of reflection È¿¼Í¤ÎËâ½ü¤± + amulet of magical breathing ËâË¡¤Î¸ÆµÛ¤ÎËâ½ü¤± + + gain ability ǽÎϳÍÆÀ¤ÎÌô + restore ability ǽÎϲóÉü¤ÎÌô + confusion º®Íð¤ÎÌô + blindness ÌÕÌܤÎÌô + paralysis Ëãáã¤ÎÌô + speed Á᤯¤Ê¤ëÌô + levitation ÉâÍ·¤ÎÌô + hallucination ¸¸³Ð¤ÎÌô + invisibility Æ©ÌÀ¤ÎÌô + see invisible ²Ä»ë¤ÎÌô + healing ²óÉü¤ÎÌô + extra healing Ķ²óÉü¤ÎÌô + gain level ¥ì¥Ù¥ë¥¢¥Ã¥×¤ÎÌô + enlightenment ·¼ÌؤÎÌô + monster detection ²øʪ¤òõ¤¹Ìô + object detection ʪÂΤòõ¤¹Ìô + gain energy ËâÎϤÎÌô + booze ¿ì¤Ã¤Ñ¤é¤¤¤ÎÌô + sake ¼ò + sickness ɵ¤¤ÎÌô + fruit juice ¥Õ¥ë¡¼¥Ä¥¸¥å¡¼¥¹ + water ¿å + oil Ìý + + enchant armor ³»¤ËËâË¡¤ò¤«¤±¤ë´¬Êª + destroy armor ³»¤òÇ˲õ¤¹¤ë´¬Êª + confuse monster ²øʪ¤òº®Í𤵤»¤ë´¬Êª + scare monster ²øʪ¤ò¶±¤¨¤µ¤»¤ë´¬Êª + remove curse ²ò¼ö¤Î´¬Êª + enchant weapon Éð´ï¤ËËâË¡¤ò¤«¤±¤ë´¬Êª + create monster ²øʪ¤òºî¤ë´¬Êª + taming ²øʪ¤ò»ô¤¤¤Ê¤é¤¹´¬Êª + genocide µÔ»¦¤Î´¬Êª + light ¸÷¤Î´¬Êª + teleportation ½Ö´Ö°ÜÆ°¤Î´¬Êª + gold detection ¶â²ß¤òõ¤¹´¬Êª + food detection ¿©ÎÁ¤òõ¤¹´¬Êª + identify ¼±Ê̤δ¬Êª + magic mapping ËâË¡¤ÎÃϿޤδ¬Êª + amnesia µ­²±ÁÓ¼º¤Î´¬Êª + fire ±ê¤Î´¬Êª + punishment ȳ¤Î´¬Êª + charging ½¼Å¶¤Î´¬Êª + mail ¼ê»æ¤Î´¬Êª + blank paper Çò»æ¤Î´¬Êª + + dig ·ê·¡¤ê¤ÎËâË¡½ñ + magic missile ËâË¡¤ÎÌð¤ÎËâË¡½ñ + fireball ²Ð¤Î¶Ì¤ÎËâË¡½ñ + cone of cold Î䵤¤ÎËâË¡½ñ + sleep ̲¤ê¤ÎËâË¡½ñ + finger of death »à¤Î»Ø¤ÎËâË¡½ñ + light ¸÷¤ÎËâË¡½ñ + detect monsters ²øʪ¤òõ¤¹ËâË¡½ñ + healing ²óÉü¤ÎËâË¡½ñ + knock ³«¾û¤ÎËâË¡½ñ + force bolt ¾×·â¤ÎËâË¡½ñ + confuse monster ²øʪ¤òº®Í𤵤»¤ëËâË¡½ñ + cure blindness ÌÕÌܤòÌþ¤¹ËâË¡½ñ + slow monster ²øʪ¤òÃÙ¤¯¤¹¤ëËâË¡½ñ + wizard lock »Ü¾û¤ÎËâË¡½ñ + create monster ²øʪ¤ò¤¤ëËâË¡½ñ + detect food ¿©ÎÁ¤òõ¤¹ËâË¡½ñ + cause fear ¶²ÉݤÎËâË¡½ñ + clairvoyance ÀéΤ´ã¤ÎËâË¡½ñ + cure sickness ɵ¤¤òÌþ¤¹ËâË¡½ñ + charm monster ²øʪ¤ò̥λ¤¹¤ëËâË¡½ñ + haste self ÁÇÁᤵ¤ÎËâË¡½ñ + detect unseen ¸«¤¨¤Ê¤¤¤â¤Î¤òõ¤¹ËâË¡½ñ + levitation ÉâÍ·¤ÎËâË¡½ñ + extra healing Ķ²óÉü¤ÎËâË¡½ñ + restore ability ǽÎϲóÉü¤ÎËâË¡½ñ + invisibility Æ©ÌÀ¤ÎËâË¡½ñ + detect treasure Êõ¤òõ¤¹ËâË¡½ñ + remove curse ¼ö¤¤¤ò²ò¤¯ËâË¡½ñ + magic mapping ËâË¡¤ÎÃÏ¿Þ¤ÎËâË¡½ñ + identify ¼±Ê̤ÎËâË¡½ñ + turn undead »à¿Í¤¬¤¨¤·¤ÎËâË¡½ñ + polymorph ÊѲ½¤ÎËâË¡½ñ + teleport away ½Ö´Ö°ÜÆ°¤ÎËâË¡½ñ + create familiar »È¤¤Ëâ¤ò¤¤ëËâË¡½ñ + cancellation ̵Îϲ½¤ÎËâË¡½ñ + blank paper Çò»æ¤ÎËâË¡½ñ + + light ¸÷¤Î¾ó + secret door detection ÈëÌ©¤ÎÈâõº÷¤Î¾ó + create monster ²øʪ¤ò¤¤ë¾ó + wishing ´ê¤¤¤Î¾ó + nothing ñ¤Ê¤ë¾ó + striking ¾×·â¤Î¾ó + make invisible Æ©ÌÀ¤Ë¤¹¤ë¾ó + slow monster ÃÙ¤¯¤¹¤ë¾ó + speed monster Á᤯¤¹¤ë¾ó + undead turning »à¿Í¤¬¤¨¤·¤Î¾ó + polymorph ÊѲ½¤Î¾ó + cancellation ̵Îϲ½¤Î¾ó + teleportation ½Ö´Ö°ÜÆ°¤Î¾ó + opening ³«¾û¤Î¾ó + locking »Ü¾û¤Î¾ó + probing õºº¤¹¤ë¾ó + digging ·ê·¡¤ê¤Î¾ó + magic missile ËâË¡¤ÎÌð¤Î¾ó + fire ±ê¤Î¾ó + cold ¿áÀã¤Î¾ó + sleep ̲¤ê¤Î¾ó + death »à¤Î¾ó + lightning Íë¤Î¾ó + *** /dev/null Wed Sep 24 22:14:55 1997 --- ./dat/Fighter.des Tue Jul 22 23:17:56 1997 *************** *** 0 **** --- 1,325 ---- + # SCCS Id: @(#)Arch.des 3.2 91/12/13 + # Copyright (c) 1989 by Jean-Christophe Collet + # Copyright (c) 1991 by M. Stephenson + # NetHack may be freely redistributed. See license for details. + # + # The "start" level for the quest. + # + MAZE: "F-start",' ' + FLAGS: noteleport,hardfloor + GEOMETRY:center,center + MAP + # 1 1 2 2 3 3 4 4 5 5 6 6 7 7 + #1 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 + .........}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}........... + .......}}}---------....................................---------}}}......... + ......}}..........---................................---.......---}......... + ......}--...........---------..---...-------------.---...................... + ......}|.............S..............................S.............|}........ + ......}--...........-----------------+----------------...........--}........ + ......}}---.......---...........|.........|..........---.......-.-}}........ + .......}}}----.----.....---------....\....--------.....----S----}.}......... + .........}}}|...|.......|........................|.......|...|}}}........... + ...........}|...|.......|................................|...|}............. + ...........}|...|.......|........................|.......|...|}............. + .........}}}|...|.......|........................|.......|...|}}}........... + .......}}}----S----.....|........................|.....----S----}}}......... + ......}}---.......---...|........................|...---.......---}}........ + ......}--...........--..-----------------..--.----..--...........--}........ + ......}|.............|}}}}}}}}}}}}}}}}}}}}.}}}..}}}}}..............|}....... + ......}--...........--}............................}--...........--}........ + ......}}---.......---}}............................}}---.......---}}........ + .......}}}----..---}}}..............................}}}--.--..--}}}......... + .........}}}}}}}}}}}..................................}}}}}}}}}}}........... + ENDMAP + # Dungeon Description + REGION:(00,00,75,19),lit,"ordinary" + # Stairs + STAIR:(62,17),down + # Portal arrival point + BRANCH:(42,17,42,17),(0,0,0,0) + # Doors + DOOR:locked,(14,12) + DOOR:locked,(59,12) + DOOR:locked,(59,7) + DOOR:locked,(52,4) + DOOR:locked,(21,4) + DOOR:locked,(37,5) + # Princess Serenity + MONSTER:'@',"Princess of Moon",(37,7) + # Chest + OBJECT:'(',"chest",(11,14) + OBJECT:'(',"chest",(11,16) + OBJECT:'(',"chest",(16,14) + OBJECT:'(',"chest",(16,16) + # Eight Sailor Fighters + MONSTER:'@',"planetary fighter",(29,8) + MONSTER:'@',"planetary fighter",(29,13) + MONSTER:'@',"planetary fighter",(39,8) + MONSTER:'@',"planetary fighter",(39,13) + MONSTER:'@',"planetary fighter",(14,15) + MONSTER:'@',"planetary fighter",(14,4) + MONSTER:'@',"planetary fighter",(59,4) + MONSTER:'@',"planetary fighter",(59,15) + # + DRAWBRIDGE:(37,15),north,closed + # Non diggable walls + NON_DIGGABLE:(00,00,75,19) + # Random traps + TRAP:"pit",random + TRAP:"pit",random + TRAP:"pit",random + TRAP:"pit",random + TRAP:"pit",random + # Monsters on siege duty. + MONSTER: 'Z',random,(70,09) + MONSTER: 'Z',random,(70,10) + MONSTER: 'Z',random,(70,11) + MONSTER: 'Z',random,(70,12) + MONSTER: 'Z',random,(70,13) + MONSTER: 'Z',random,(70,14) + MONSTER: 'S',random,(25,17) + MONSTER: 'S',random,(25,18) + MONSTER: 'S',random,(25,19) + MONSTER: 'S',random,(26,17) + MONSTER: 'S',random,(26,18) + MONSTER: 'S',random,(26,19) + + # + # The "locate" level for the quest. + # + + MAZE: "F-locate",' ' + FLAGS: hardfloor + GEOMETRY:center,center + MAP + # 1 1 2 2 3 3 4 4 5 5 6 6 7 7 + #1 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 + ------------------------------------------------------------------------.... + |----------------------................................................|.... + ||....................|................................................|.... + ||....................|-----...........................................|.... + ||....................+....|...........................................|.... + ||....................|....|................................................ + ||....................|-----................................................ + ||....................|..................................................... + |-----------------++---................................................|.... + |................|..|..................................................|.... + |-----------------++-------------------------------------....----------|.... + ||.....................................................................|.... + ||----------++------------++------------++------------++------------++-|.... + ||.............|.............|.............|.............|.............|.... + ||.............|.............|.............|.............|.............|.... + ||.............|.............|.............|.............|.............|.... + ||.............|.............|.............|.............|.............|.... + ------------------------------------------------------------------------.... + ENDMAP + # Dungeon Description + REGION:(00,00,75,17),lit,"ordinary" + REGION:(01,11,71,17),unlit,"ordinary" + REGION:(01,01,22,08),unlit,"temple" + # Doors + DOOR:closed,(22,4) + DOOR:closed,(18,8) + DOOR:closed,(19,8) + DOOR:closed,(18,10) + DOOR:closed,(19,10) + #DOOR:closed,(68,10) + #DOOR:closed,(69,10) + DOOR:closed,(12,12) + DOOR:closed,(13,12) + DOOR:closed,(26,12) + DOOR:closed,(27,12) + DOOR:closed,(40,12) + DOOR:closed,(41,12) + DOOR:closed,(54,12) + DOOR:closed,(55,12) + DOOR:closed,(68,12) + DOOR:closed,(69,12) + # Stairs + STAIR:(25,5),down + STAIR:(71,6),up + # Non diggable walls + NON_DIGGABLE:(00,00,75,17) + # Objects + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + # Random traps + TRAP:random,random + TRAP:random,random + TRAP:random,random + TRAP:random,random + TRAP:random,random + TRAP:random,random + TRAP:random,random + TRAP:random,random + # Random monsters. + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + # + ALTAR:(10,04),chaos,altar + # + ENGRAVING:(21,04),engrave,"ÂΰéÍѶñ¼¼" + ENGRAVING:(13,11),engrave,"Íý²Ê¼¼" + ENGRAVING:(55,11),engrave,"Ï­²¼¤ÏÀŤ«¤Ë" + # + OBJECT:'!',random,(2,13) + OBJECT:'!',random,(3,13) + OBJECT:'!',random,(4,13) + OBJECT:'!',random,(2,14) + OBJECT:'!',random,(3,14) + OBJECT:'!',random,(4,14) + OBJECT:'!',random,(2,15) + OBJECT:'!',random,(3,15) + OBJECT:'!',random,(4,15) + # + # The "goal" level for the quest. + # + # Here you meet Minion of Huhetol your nemesis monster. You have to + # defeat Minion of Huhetol in combat to gain the artifact you have + # been assigned to retrieve. + # + + MAZE: "F-goal", ' ' + FLAGS: hardfloor + GEOMETRY:center,center + MAP + # 1 1 2 2 3 + #1 5 0 5 0 5 0 + ------------------------------- + |.............................| + |.............................| + |.........LLLLLLLLLLL.........| + |........L...........L........| + |.......L.............L.......| + |.......L.............L.......| + |.......L.............L.......| + |.......L.............L.......| + |.......L.............L.......| + |.......L.............L.......| + |........L...........L........| + |.........LLLL...LLLL.........| + |.............................| + |.............................| + ------------------------------- + ENDMAP + # Dungeon Description + REGION:(00,00,30,15),lit,"ordinary" + # Stairs + STAIR:(29,14),up + # Non diggable walls + NON_DIGGABLE:(00,00,30,15) + # Objects + OBJECT:'*',"dilithium crystal",(15,7),blessed,0,"The Silver Crystal" + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + OBJECT:random,random,random + # Random traps + TRAP:random,random + TRAP:random,random + TRAP:random,random + TRAP:random,random + TRAP:random,random + TRAP:random,random + # Random monsters. + MONSTER:'@',"Jedeite",(15,7) + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'S',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + MONSTER:'Z',random,random + + # + # The "fill" levels for the quest. + # + + MAZE: "F-filla" , ' ' + INIT_MAP: '.' , ' ' , true , true , lit, false + NOMAP + STAIR:random, up + STAIR:random, down + # + MONSTER: 'Z', random, random + MONSTER: 'Z', random, random + MONSTER: 'Z', random, random + MONSTER: 'Z', random, random + MONSTER: 'Z', random, random + MONSTER: 'Z', random, random + MONSTER: 'Z', random, random + MONSTER: 'S', random, random + MONSTER: 'S', random, random + MONSTER: 'S', random, random + + TRAP: random, random + TRAP: random, random + TRAP: random, random + TRAP: random, random + TRAP: random, random + TRAP: random, random + TRAP: random, random + + MAZE: "F-fillb" , 'L' + INIT_MAP: '.' , 'L' , true , true , lit, false + NOMAP + STAIR:random, up + STAIR:random, down + # + MONSTER: 'Z', random, random + MONSTER: 'Z', random, random + MONSTER: 'Z', random, random + MONSTER: 'S', random, random + MONSTER: 'S', random, random + MONSTER: 'S', random, random + MONSTER: 'S', random, random + MONSTER: 'S', random, random + MONSTER: 'S', random, random + MONSTER: 'S', random, random + MONSTER: 'S', random, random + + TRAP: random, random + TRAP: random, random + TRAP: random, random + TRAP: random, random + TRAP: random, random + TRAP: random, random + TRAP: random, random *** /dev/null Wed Sep 24 22:14:55 1997 --- ./doc/jGuidebook.txt Tue Jul 22 23:18:02 1997 *************** *** 0 **** --- 1,1668 ---- + + ¶²ÉݤÎ̵ܤؤξ·ÂÔ + (NetHack 3.2 ¥¬¥¤¥É¥Ö¥Ã¥¯) + Eric S. Raymond + (¥Ð¡¼¥¸¥ç¥ó 3.0 ¤Î¤¿¤á¤Î¹­ÈϰϤʹ»Äû¤È³È½¼ Mike Threepoint) + Thyrsus Enterprises + Malvern, PA 19355 + + JNetHack¤Î¤¿¤á¤Î²þÄû + Issei Numata + + ¡¡¤³¤ì¤Ï»³ËÜ·Ê»°»á¤¬ºîÀ®¤µ¤ì¤¿NetHack V3.0 PL10ÍѤÎÆüËܸ쥬¥¤¥É¥Ö¥Ã¥¯ + ¤òÇòÊý·òÂÀϺ»á¤¬V3.1 PL3¤ËÂбþ¤¹¤ë¤è¤¦¤ËÄɲá¤Êѹ¹¤·¤¿¤â¤Î¤ò JNetHack + ÍѤ˽¤Àµ¤ò¤·¤¿¤â¤Î¤Ç¤¢¤ë¡¥¤Þ¤¿¤¤¤¯¤Ä¤«¤ÎÌõÃí¤òÄɲä·¤¿¡¥ + + JNetHack-1.0.5¤Î¤¿¤á¤Î²þÄû + Issei Numata + + *** 1. ¤Ï¤¸¤á¤Ë + + ¤¢¤Ê¤¿¼«¿È¡Ê¿Æ¤âƱÍͤÀ¤¬¡Ë¤Î˳¤·¤¤ºâ¸»¤Î¸Ï³é¤Ë¤è¤ê¡¤¤¢¤Ê¤¿¤Ï̾ÌܤÀ¤± + ¤Î¶µ°é¤òÃÇÇ°¤¹¤Ù¤­¤À¤Èǧ¼±¤·¤¿¡¥·Ð¸³¤Èµ»Î̤ηçÍî¤Ï¤È¤ó¤Ç¤â¤Ê¤¤Îä¹ó¤Ê̤ + Íè¤Ø¤ÎľÌ̤Ȥ¤¤¦¤â¤Î¤ò¤¢¤Ê¤¿¤Ë»Ä¤·¤¿¡¥¤¢¤Ê¤¿¤Ï¤¤¤¯¤Ä¤«¤ÎÂà¶þ¤Ê¿¦¼ï¤òõ + ¤¹¤³¤È¤¬¤Ç¤­¤¿¡¥Ãí°Õ¤µ¤ì¤¿¤³¤È¤ò¤¦¤Þ¤¯¤ä¤ê¡¤½½Ê¬¤Ê¶â¤ò²Ô¤°Ãϰ̤ޤǾº¿Ê + ¤¹¤ë¤³¤È¤ò´üÂÔ¤¹¤ë¤³¤È¤¬¤Ç¤­¤¿¡¥Ê̤ÎÁªÂò»è¤È¤·¤Æ¡¤À¤³¦Ãæ¤òι¤·¡¤Í½¸À¡¤ + ÀàÅð¡¤À»À»¦¤·¤Ê¤É¤ÇÆü¡¹¤ÎÎȤòÆÀ¤ë¤È¸À¤¦¤Î¤â¹Í¤¨¤é¤ì¤¿¡¥¤¢¤Ê¤¿¤ÏÅÄ¼Ë + ¤Î¥®¥ë¥É¥Þ¥¹¥¿¡¼¤ÎÈ¿ÂФò²¡¤·ÀڤäÆËÁ¸±¼Ô¤ÎÆ»¤òÁªÂò¤·¤¿¡¥¤Ê¤ó¤À¤«¤ó¤À¤Ç¡¤ + ¤³¤Î¤è¤¦¤ÊËÁ¸±¼Ô¤¬Ìá¤Ã¤Æ¤¯¤ë¤È¡¤Èà¤é¤Ï¤¿¤¤¤Æ¤¤ºÇ½é¤Ë½Ðȯ¤·¤¿¤È¤­¤è¤ê¤â + ±©¿¶¤ê¤¬¤è¤¯¸«¤¨¤ë¤â¤Î¤Ç¤¢¤ë¡¥Ìá¤Ã¤Æ¤³¤Ê¤¤ËÁ¸±¼Ô¤ÎÏ¢Ã椬¤Þ¤ÀËÁ¸±¤ò¤·¤Æ + ¤¤¤ë¤Ê¤ó¤Æ郎¸À¤¨¤è¤¦¤«¡© + + ¤¤¤í¤¤¤íˬ¤Í¤ë¤¦¤Á¤Ë¡¤¤¢¤Ê¤¿¤Ï±½¤ò¼ª¤Ë¤·¤¿¡¥¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤È¸Æ¤Ð + ¤ì¤ë¤â¤Î¤¬¤¢¤ê¡¤¼ê¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ê¤é¡¤¤¹¤Ð¤é¤·¤¤ºâ»º¤ò¤â¤¿¤é¤¹¤È + ¸À¤¦¤Î¤À¡¥¤¢¤Ê¤¿¤¬Ê¹¤¤¤¿¤È¤¢¤ëÅÁÀâ¤Ç¤ÏËâ½ü¤±¤ò¸«¤Ä¤±¤¿¤â¤Î¤Ï¿À¤«¤éÉÔ»à + ¤ÎÂΤò¤µ¤º¤«¤ë¤È¤µ¤ì¤Æ¤¤¤¿¡¥¤Þ¤¿¡¤Ëâ½ü¤±¤Ï±¿Ì¿¤ÎÂç̵ܤαü¿¼¤¯¥²¥Ø¥Ê + ¤Îë¤ò±Û¤¨¤¿¤È¤³¤í¤Ë¤¢¤ë¤È¤â±½¤µ¤ì¤Æ¤¤¤¿¡¥¤¢¤Ê¤¿¤ÏËâ½ü¤±¤ÎÎϤ¬¿¿¼Â¤Ç¤Ê + ¤¯¤Æ¤â¡¤¤¢¤ë¤¤¤Ï¡¤¤ä¤Ã¤«¤¤¤´¤È¼è¤ê½ü¤¯¤â¤Î¤Ç¤Ê¤¯¤Æ¤â¡¤¾¯¤¯¤È¤âËÁ¸±Ã̤ò + ÅļˤζãÍ·»í¿Í¤Ë¤«¤Ê¤ê¤Î¶â³Û¤ÇÇä¤ë¤³¤È¤¬¤Ç¤­¤ë¤È¹Í¤¨¤¿¡¥¤¢¤Ê¤¿¤ÏÅļˤΠ+ °Â½É¤Ç°ìÈպǸå¤Î½É¤ò¼è¤êÂкö¤òÎý¤Ã¤¿¡¥°Â½É¤ÎÊɤ˷Ǥ²¤é¤ì¤¿À®¸ùΨ¤Î¥ª¥Ã + ¥º¤¬²¼¤¬¤ì¤Ð²¼¤¬¤ë¤Û¤É¡¤¤¢¤Ê¤¿¤Ï°Õµ¤¾ÃÄÀ¤·¤¿¡¥Ä«µ¯¤­¤ë¤È¡¤¤¢¤Ê¤¿¤Ï¿ÆÎà + ¤ò½¸¤á¡¤ËÁ¸±¤Ë½Ðȯ¤·¤¿¡¥¡¥¡¥ + + ¡¡ËÁ¸±¤Ë¤ª¤±¤ë¤¤¤í¤¤¤í¤Êº¤Æñ¤ËÂбþ¤¹¤ë¤¿¤á¤Î³Æ¼ï¤ÎǽÎϤäÎϤϡ¤¤¢¤Ê¤¿¤Î + À¸¤¤Î©¤Á¤È½¤¹Ô¤Ë¤è¤Ã¤ÆÊѲ½¤¹¤ë¤Ç¤¢¤í¤¦¡¥ + + ¹Í¸Å³Ø¼Ô(Archeologist) + Èà¤é¤Ïƶ·¢¤Ë¤Ä¤¤¤Æ¿¤¯¤ÎÃ챤ò»ý¤Ã¤Æ¤¤¤ë¡¥¤³¤Î¤¿¤áÁÇÁ᤯ư¤¤¤¿ + ¤êƶ·¢¤Ç¤ÎÉÔ²÷¤Ê»öÂÖ¤òÀÚ¤êÈ´¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥Èà¤é¤Ï³Ø½ÑŪĴºº + ¤Î¤¿¤á¤Îõ¸¡Î¹¹Ô¤ËɬÍפÊŬÅö¤ÊÆ»¶ñ¤òÁõÈ÷¤·¤Æ½Ðȯ¤¹¤ë¡¥ + + ÌîÈÚ¿Í(Barbarian) + Èà¤é¤Ï±üÃϤ«¤é¤ä¤Ã¤Æ¤­¤¿Àï»Î¤Ç¤¢¤ê¡¤ÀïÆ®¤Î¤¿¤á¤ËÃ䨤é¤ì¤Æ¤¤¤ë¡¥ + Èà¤é¤ÏÎà¤Þ¤ì¤ÊÎϤζ¯¤µ¤ò»ý¤Á¡¤¾æÉפʺ¿¤«¤¿¤Ó¤é¤ÈÂ礭¤Êξ¼ê¤Ç°· + ¤¦·õ¤Î¤ß¤ò»ý¤Ã¤Æõµá¤Ë½Ðȯ¤¹¤ë¡¥ + + ƶ·¢¿Í(Caveman ¤È Cavewoman) + Èà¤é¤Ï¤È¤ê¤ï¤±¶¯¤¤ÎϤò»ý¤Ã¤Æ¤ª¤ê¡¤¿·Àдï»þÂå¤Ë»È¤ï¤ì¤¿Éð´ï¤ò»ý + ¤Ã¤Æ½Ðȯ¤¹¤ë¡¥ + + ¥¨¥ë¥Õ(Elf) + Èà¤é¤Ïµ¡ÉÒ¤µ¤È¿×®¤µ¡¤¤½¤·¤Æ±ÔÉҤʴ¶³Ð¤ò»ý¤Ã¤Æ¤¤¤ë¡¥¼þ°Ï¤Çµ¯¤­ + ¤ë¤É¤ó¤Êº³ºÙ¤Ê¤³¤È¤âÈà¤é¤ÎÌܤòƨ¤ì¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥¿¦¿Íµ¤¼Á¤Î + Èà¤é¤Î»ý¤ÄÉð´ï¤ÈËɶñ¤ÏÍ¥½¨¤Ê¤â¤Î¤Ç¤¢¤ë¡¥ + + Àï»Î(Fighter) + Èà½÷¤é¤Ï°Û¹ñ¤Î³»¤ò¤Þ¤È¤Ã¤¿¶þ¶¯¤ÊÈþ¤·¤¤Àï»Î¤Ç¤¢¤ê¡¤ÊѲ½¤Î¾ó¤ò»ý + ¤Ã¤Æ¤¤¤ë¡¥ + + Ìô»Õ(Healer) + Èà¤é¤Ï°å½Ñ¤äÌôʪ¤Ë¤Ä¤¤¤ÆÀºÄ̤·¤Æ¤¤¤ë¡¥À¸µ¤¤ò²óÉü¤µ¤»¤¿¤ê¡¤¶ìÄË + ¤òϤ餲¤¿¤ê¡¤Ëãá㤵¤»¤¿¤ê¡¤ÆǤòÃæϤµ¤»¤¿¤ê¤¹¤ë¹áÁð¤äÌôÁð¤Ë¤Ä + ¤¤¤Æ¾Ü¤·¤¤¡¥¤½¤·¤Æ´ï¶ñ¤ò»È¤Ã¤ÆÀ¸Êª¤Î·ò¹¯¾õÂÖ¤ò¸«È´¤¯¤³¤È¤¬¤Ç¤­ + ¤ë¡¥Èà¤é¤Ï³«¶È°å¤È¤·¤Æ¤«¤Ê¤ê¤è¤¤Êó½·¤òÆÀ¤Æ¡¤¤½¤ì¤ò»ý¤Ã¤Æƶ·¢¤Ë + Æþ¤Ã¤Æ¤¤¤¯¡¥ + + µ³»Î(Knight) + Èà¤é¤Ïµ³»ÎÆ»¤ËÃé¼Â¤Ç¤¢¤ë¤³¤È¤ÈËɶñ¤¬¶Ã¤¯¤Û¤ÉÍ¥¤ì¤Æ¤¤¤ë¤³¤È¤È¤¤ + ¤¦ÅÀ¤Ç¡¤ÉáÄ̤ÎÀï»Î¤È¤Ï¶èÊ̤µ¤ì¤ë¡¥ + + ÁÎη¤ÈÆôÁÎ(Priest ¤È Priestess) + Èà¤é¤ÏÀ»¿¦¤ÎÀï»Î¤Ç¤¢¤ê¡¤Éð´ï¤ÈËɶñ¤ò»ý¤ÁËâË¡¤Î¶È¤ò¶î»È¤·¤ÆÀµµÁ + ¤ò¹­¤á¤ó¤È¤¹¤ëÀ»Àï»Î¤Ç¤¢¤ë¡¥µ§¤ê¤òÄ̤¸¤Æ¿À¤È¸ì¤ëǽÎϤˤè¤ê¡¤Èà + ¤é¤Ï¤·¤Ð¤·¤Ð´íÆñ¤«¤éƨ¤ì¤ë¤³¤È¤¬¤Ç¤­¤ë¡Ä¤¬¡¤µ§¤ê¤Ï´íÆñ¤ò¤â¤¿¤é + ¤¹¤³¤È¤â¤¢¤ë¡¥ + + Åð±(Rogue) + Èà¤é¤ÏÉÒ¾¹¤Ç¿È¤ò±£¤¹¶È¤ËŤ±¤¿Å¥ËÀ¤Ç¤¢¤ê¡¤Ã»·õ¤È¾ûÁ°Çˤê¤ÎÆ»¶ñ + ¤ÈÅꤲÌð¤ÎÀè¤ËÉÕ¤±¤ëÆǤȤò»ý¤Ã¤Æ¤¤¤ë¡¥ + + »ø(Samurai) + Èà¤é¤ÏÉõ·ú»þÂå¤ÎÆüËܤÎÀº±Ô¤ÎÉð¿Í¤Ç¤¢¤ë¡¥Ëɶñ¤Ï·ÚÁõ¤Ç¿È¤Î¤³¤Ê¤· + ¤Ë½¨¤Ç¤Æ¤ª¤ê¡¤¤³¤Î¾å¤Ê¤¯¸¦¤®À¡¤Þ¤µ¤ì¤¿Âç¾®2ËܤÎÅá¤òÂӤӤƤ¤¤ë¡¥ + + ´Ñ¸÷µÒ(Tourist) + Èà¤é¤Ï¿³Û¤Î¶â(Çãʪ¤ËºÇŬ¤Ç¤¢¤ë)¤È¥¯¥ì¥¸¥Ã¥È¥«¡¼¥É¡¤ÂçÎ̤ο©ÎÁ¡¤ + ÃÏ¿Þ¡¤¤½¤·¤Æ¹â²Á¤Ê¥«¥á¥é¤ò»ý¤Ã¤Æ½Ðȯ¤¹¤ë¡¥Â¿¤¯¤Î²øʪ¤Ï¼Ì¿¿¤Ë»£ + ¤é¤ì¤ë¤Î¤ò·ù¤¦¤â¤Î¤Ç¤¢¤ë¡¥ + + ¥ï¥ë¥­¥å¡¼¥ì(Valkyrie) + Èà½÷¤é¤Ïͦ´º¤Ê½÷Àï»Î¤Ç¤¢¤ë¡¥²á¹ó¤Ê¥¹¥«¥ó¥¸¥Ê¥Ó¥¢¤Î¹ñ¡¹¤Ç°é¤Ã¤¿ + Èà½÷¤é¤Ï´è¶¯¤Ç¡¤¸·¤·¤¤´¨¤µ¤Ë¤âÂѤ¨¡¤¿È¤ò±£¤¹¶È¤È¹ªÌ¯¤µ¤ò¿È¤Ë¤Ä + ¤±¤Æ¤¤¤ë¡¥ + + ËâË¡»È¤¤(Wizard) + Èà¤é¤Ï¿µ½Å¤ËÁª¤ÓÈ´¤«¤ì¤¿¼ö½ÑŪƻ¶ñ¤ò½àÈ÷¤·¤Æ¤ª¤ê¡¤¤¤¤Ë¤·¤¨¤ÎËâ + Ë¡³Ø¤ËÂФ·¤ÆÆäˤ·Ø¤¬¿¼¤¤¡¥ + + ¡¡¤¢¤Ê¤¿¤Ïƶ·¢¤Ë¸þ¤±¤ÆιΩ¤Á¡¤Ìµ»ö²¿Æü¤«¤Îι¤ò³¤±¤Æ¶²ÉݤÎ̵ܤؤÎÆþ¸ý + ¤ò¼¨¤¹¸ÅÂå¤Î°äÀפؤȤ¿¤É¤êÃ夤¤¿¡¥Ìë¤â¹¹¤±¤Æ¤¤¤¿¤Î¤ÇÆþ¸ý¤Ç¥­¥ã¥ó¥×¤ò¤¹ + ¤ë¤³¤È¤Ë¤·¡¤¤½¤ÎÌë¤Ï¹­¡¹¤È¤·¤¿¶õ¤Î²¼¤Ç̲¤ê¤Ë½¢¤¤¤¿¡¥ÍâÄ«¤¢¤Ê¤¿¤ÏÆ»¶ñ¤ò + ¤«¤­½¸¤á¡¤¤â¤·¤«¤¹¤ë¤ÈÃϾå¤Ç¤ÎºÇ¸å¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¿©»ö¤òºÑ¤Þ¤»¡¤Æ¶·¢ + ¤Ø¤ÈÆþ¤Ã¤Æ¤¤¤Ã¤¿¡¥ + + *** 2. ¤¢¤Ê¤¿¤ò¼è¤ê´¬¤¯¾õ¶· + + ¡¡¤³¤¦¤·¤Æ¤¢¤Ê¤¿¤Ï¥²¡¼¥à NetHack ¤ò»Ï¤á¤ë¤³¤È¤Ë¤Ê¤Ã¤¿¡¥¤¢¤Ê¤¿¤ÎÌÜŪ¤Ï + »ý¤Æ¤ë¸Â¤ê¤ÎÊõ¤ò½¸¤á¡¤¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤ò¸«¤Ä¤±½Ð¤·¡¤¤µ¤é¤Ë¤Ï¤³¤Î¶²ÉÝ + ¤Î̵ܤ«¤éÀ¸¤­¤Ææ½Ð¤¹¤ë¤³¤È¤Ç¤¢¤ë¡¥²èÌ̾å¤Ë¤Ï¤¢¤Ê¤¿¤¬¸½ºß¤¤¤ëƶ·¢¤Î³¬ + ¤Ç¤¹¤Ç¤Ëõº÷¤ò½ª¤¨¤¿Éôʬ¤ÎÃϿޤȡ¤¤½¤³¤ÇÌܤˤ·¤¿Êª¤¬¼¨¤µ¤ì¤Æ¤¤¤ë¡¥¤µ¤é + ¤Ë¿¼¤¯Ãµ¸¡¤ò¿Ê¤á¤ë¤ËÏ¢¤ì¤Æƶ·¢¤Ï¤½¤Î»Ñ¤ò¼¡Âè¤Ë¤¢¤Ê¤¿¤ÎÁ°¤Î²èÌ̤ËÌÀ¤é¤« + ¤Ë¤·¤Æ¤¤¤¯¡¥ + + ¡¡NetHack ¤ÎÁÄÀè¤Ç¤¢¤ë rogue ¤¬ºÇ½é¤Ë¸½¤ì¤¿¤È¤­¡¤¤½¤Î¥¹¥¯¥ê¡¼¥ó»Ø¸þ¤Ï + ¥³¥ó¥Ô¥å¡¼¥¿¥Õ¥¡¥ó¥¿¥¸¡¼¥²¡¼¥à¤ÎÃæ¤Ç¤âÁ´¤¯ÆÈÆäΤâ¤Î¤Ç¤¢¤Ã¤¿¡¥¤½¤ì°ÊÍè + ¥¹¥¯¥ê¡¼¥ó»Ø¸þ¤ÏÎ㳰Ū¤Ê¤â¤Î¤È¤¤¤¦¤è¤ê¤à¤·¤íɸ½à¤È¤Ê¤Ã¤¿¡¥NetHack ¤Ï¤³ + ¤Î¤¹¤Ð¤é¤·¤¤ÅÁÅý¤ò¼õ¤±·Ñ¤¤¤Ç¤¤¤ë¡¥µ¿»÷Ū¤Ê±Ñ¸ì¤Ç¥³¥Þ¥ó¥É¤òÆþÎϤ·¡¤·ë²Ì + ¤¬Ê¸¾Ï¤Çɽ¼¨¤µ¤ì¤ë¥Æ¥­¥¹¥È¥¢¥É¥Ù¥ó¥Á¥ã¡¼¥²¡¼¥à¤È¤Ï°Û¤Ê¤ê¡¤NetHack ¤Î¥³ + ¥Þ¥ó¥É¤Ï¤¹¤Ù¤Æ 1 ʸ»ú¤« 2 ʸ»ú¤Î¥­¡¼ÆþÎϤÇÍ¿¤¨¤é¤ì¡¤¤½¤Î·ë²Ì¤Ï²èÌ̾å¤Ë + ¥°¥é¥Õ¥£¥«¥ë¤Ëɽ¼¨¤µ¤ì¤ë¡¥²èÌ̤ϺÇÄã 80 ·å¤ª¤è¤Ó 24 ¹Ô¤ÎÂ礭¤µ¤¬¿ä¾©¤µ + ¤ì¤ë¡¥¤½¤ì°Ê¾å¤ÎÂ礭¤µ¤¬¤¢¤Ã¤Æ¤â 80 ¡ß 21 ¤ÎÎΰè¤À¤±¤¬ÃÏ¿Þ¤Îɽ¼¨¤Ë»È¤ï + ¤ì¤ë¡¥ + + ¡¡NetHack ¤Ï¥×¥ì¥¤¤¹¤ë¤¿¤Ó¤Ë¿·¤·¤¤Æ¶·¢¤òºîÀ®¤¹¤ë¡¥¤³¤Î¤¿¤á²¿²ó¤«¥²¡¼¥à + ¤Ë¾¡Íø¤·¤¿¤³¤È¤Î¤¢¤ëºî¼Ô¤¿¤Á¤Ë¤â¡¤¤¤¤Þ¤À¤³¤Î¥²¡¼¥à¤Ï³Ú¤·¤¯¶½Ê³¤ËËþ¤Á¤¿ + ¤â¤Î¤È´¶¤¸¤é¤ì¤ë¡¥ + + *** 3. ²èÌ̤Ëɽ¼¨¤µ¤ì¤ë¤â¤Î¤Î°ÕÌ£ + + NetHack¤Ï¤µ¤Þ¤¶¤Þ¤Êɽ¼¨¤Î¥ª¥×¥·¥ç¥ó¤òÄ󶡤¹¤ë¡¥¥ª¥×¥·¥ç¥ó¤Ï¤¢¤Ê¤¿¤Î + ¥Ï¡¼¥É¥¦¥§¥¢¤ä¥½¥Õ¥È¥¦¥§¥¢¤ÎǽÎϤ˰͸¤·¡¤°Ü¿¢ÈǤ´¤È¤Ë¤µ¤Þ¤¶¤Þ¤Ç¤¢¤ë¡¥ + ¤µ¤Þ¤¶¤Þ¤Ê¥³¥ó¥Ñ¥¤¥ë»þ¤Î¥ª¥×¥·¥ç¥ó¤Ï¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬ºî¤é¤ì¤¿¤È¤­¤Ë¤Î¤ß²Ä + ǽ¤È¤Ê¤ë¡¥3¤Ä¤Î²Äǽ¤Ê¥Ç¥£¥¹¥×¥ì¥¤¥ª¥×¥·¥ç¥ó¤Ï¡¤¥â¥Î¥¯¥í¥­¥ã¥é¥¯¥¿¥¤¥ó¥¿ + ¥Õ¥§¡¼¥¹¡¤¥«¥é¡¼¥­¥ã¥é¥¯¥¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¤¥¿¥¤¥ë¤È¸Æ¤Ð¤ì¤ë¾®¤µ¤Ê³¨¤ò»ý + ¤Á¤¤¤¿¥°¥é¥Õ¥£¥«¥ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¢¤ë¡¥2¤Ä¤Î¥­¥ã¥é¥¯¥¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹ + ¤Ï¥Õ¥©¥ó¥È¤ò¾¤Îʸ»ú¤Ëµ¯¤­ÊѤ¨¤ë¤È¤¬²Äǽ¤Ç¤¢¤ë¤¬¡¤¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏASCII + ¥¹¥¿¥ó¥À¡¼¥É¥­¥ã¥é¥¯¥¿¤òÁ´¤Æ¤òɽµ­¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë¡¥¤µ¤Þ¤¶¤Þ¤Ê¥Ç¥£¥¹¥× + ¥ì¥¤¤Î¥ª¥×¥·¥ç¥ó¤Ï¥²¡¼¥à¤Ë¤Ï±Æ¶Á¤òÍ¿¤¨¤Ê¤¤¡¥²æ¡¹¤Ï¥¿¥¤¥ë¤ä¥«¥é¡¼¤ò¥¬¥¤ + ¥É¥Ö¥Ã¥¯¤Çɽµ­¤Ç¤­¤Ê¤¤¤·¡¤¤½¤ì¤ÏÁ´¤Æ¤Î°Ü¿¢ÈǤ˶¦Ä̤ǤϤʤ¤¤Î¤Ç¡¤²æ¡¹ + ¤Ï¥â¥Î¥¯¥í¥­¥ã¥é¥¯¥¿¥Ç¥£¥¹¥×¥ì¥¤¤Ë¤ª¤±¤ëɸ½à¤ÎASCII¥­¥ã¥é¥¯¥¿¤Ë¤Ä¤¤¤Æ + ¥²¡¼¥àÃæ¤Ëɽ¼¨¤µ¤ì¤ë¤â¤Î¤ÎÀâÌÀ¤È¤·¤ÆÍѤ¤¤ë¡¥ + + ¡¡NetHack ¤Ç²¿¤¬µ¯¤­¤Æ¤¤¤ë¤Î¤«¤òÍý²ò¤¹¤ë¤Ë¤Ï¡¤¤Þ¤º NetHack ¤Ç¤Ï²èÌ̤¬ + ¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤Î¤«¤òÍý²ò¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥NetHack ¤Ç¤Ï¡¤¥Æ¥­¥¹¥È¥¢¥É + ¥Ù¥ó¥Á¥ã¡¼¥²¡¼¥à¤Ë¤ª¤±¤ë¡Ö¤¢¤Ê¤¿¤Ï¡¥¡¥¡¥¤ò¸«¤¿¡×¤Î¤è¤¦¤Êʸ¾Ï¤ÎÂå¤ï¤ê¤Ë + ²èÌ̤ò»È¤¦¡¥ + ¿Þ 1 ¤Ï NetHack ¤Ç¤Ï²èÌ̤˲¿¤¬É½¼¨¤µ¤ì¤ë¤«¤Î°ìÎã¤Ç¤¢¤ë¡¥ + ----------------------------------------------------------------------------- + ¤³¤¦¤â¤ê¤Ï³ú¤ß¤Ä¤¤¤¿¡ª + + ------ + |....| ---------- + |.<..|####...@...$.| + |....-# |...B....+ + |....| |.d......| + ------ -------|-- + + + ¤¤¤Ã¤»¤¤ ¸«½¬¤¤ ¶¯:17 Áá:11 ÂÑ:18 ÃÎ:9 ¸­:11 Ì¥:9 ÃæΩ + Ãϲ¼:1 $:0 ÂÎ:16(16) Ëâ:1(1) ³»:6 ·Ð¸³:1/0 + ----------------------------------------------------------------------------- + ¿Þ 1 + ----------------------------------------------------------------------------- + + *** 3.1. ¥¹¥Æ¡¼¥¿¥¹¹Ô(²èÌ̤β¼Éô) + + ¡¡²èÌ̤β¼ 2 ¹Ô¤Ë¤Ï¡¤¤¢¤Ê¤¿¤Î¸½ºß¤Î¾õÂÖ¤òɽ¤¹¿ÀÈëŪ¤Ê¾ðÊ󤬴ޤޤì¤Æ¤¤ + ¤ë¡¥¤É¤Á¤é¤«¤Î¹Ô¤¬²èÌ̤ÎÉý¤è¤ê¤âŤ¯¤Ê¤ë¤È¤½¤ÎÁ´Éô¤ò¸«¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤ + ¤«¤â¤·¤ì¤Ê¤¤¡¥°Ê²¼¤Ë¾õÂÖ¤ò¼¨¤¹¤¤¤í¤¤¤í¤Ê¹àÌܤ¬²¿¤ò°ÕÌ£¤¹¤ë¤Î¤«¤ò½Ò¤Ù¤ë + (¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï¡¤°Ê²¼¤Ë°ìÍ÷¤µ¤ì¤Æ¤¤¤ë¾õÂÖ¤ò¼¨¤¹¹àÌܤΠ+ ¤¹¤Ù¤Æ¤¬É½¼¨¤µ¤ì¤ë¤È¤Ï¸Â¤é¤Ê¤¤)¡¥ + + ̾Á°¤È¥é¥ó¥¯(Rank) + ¤¢¤Ê¤¿¤Î¥­¥ã¥é¥¯¥¿Ì¾¤È¿¦¶ÈÊ̤ÎÅùµé(¸å½Ò¤Î·Ð¸³¥ì¥Ù¥ë¤Ë´ð¤Å¤¯)¡¥ + + ¶¯¤µ(Strength) + ¤¢¤Ê¤¿¤Î¥­¥ã¥é¥¯¥¿¤ÎÎϤζ¯¤µ¤ÎÃͤǤ¢¤ê¡¤6 ¤Ä¤Î´ðËÜŪ¤Ê°À­¤Î 1 + ¤Ä¤Ç¤¢¤ë¡¥ÎϤζ¯¤µ¤Ï 3 ¤«¤é 18 ¤Î´Ö¤ÎÃͤò¤È¤ë(»þÀÞ 18/xx ¤Î¤è + ¤¦¤ÊÆÃÊ̤ÊÎϤòÆÀ¤ë¤³¤È¤â¤¢¤ë)¡¥ÎϤζ¯¤µ¤ÎÃͤ¬Â礭¤¤¤Û¤É¶¯¤¯¤Ê + ¤ë¡¥ÎϤζ¯¤µ¤ÏÎϻŻö¤ò¤É¤ì¤À¤±¤¦¤Þ¤¯¤ä¤ì¤ë¤«¡¤À襤¤Ç¤É¤ì¤À¤±¤Î + ¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¤«¡¤¤É¤ì¤¯¤é¤¤²Ùʪ¤ò±¿¤Ù¤ë¤«¤Ë±Æ¶Á¤¹¤ë¡¥ + + ÁÇÁᤵ(Dexterity) + ÁÇÁᤵ¤ÏÀ襤¤Ë¤ª¤±¤ëÌ¿ÃæΨ¡¤æ«¤òƨ¤ìÆÀ¤ë²ÄǽÀ­¡¤¤½¤·¤Æ¤½¤Î¾¤Î + ÉÒ¾¹¤µ¤òɬÍפȤ¹¤ë»Å»ö¤äʪ¤ò¤¤¤«¤Ë´ïÍѤ˰·¤¨¤ë¤«¤Ê¤É¤Î¤³¤È¤¬¤é + ¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¡¥ + + Âѵ×ÎÏ(Constitution) + Âѵ×ÎϤϤ¤¤«¤Ë²ø²æ¤ä¤½¤Î¾¤Î°µÇ÷¤Ë¤è¤ë¥¹¥¿¥ß¥Ê¤Î¾ÃÌפËÂѤ¨ÆÀ¤ë + ¤«¤Ë±Æ¶Á¤¹¤ë¡¥ + + ÃÎÎÏ(Intelligence) + ÃÎÎϤϼöʸ¤ò¾§¤¨¤ëǽÎϤäËܤòÆɤàǽÎϤ˱ƶÁ¤òÍ¿¤¨¤ë¡¥ + + ¸­¤µ(Wisdom) + ¸­¤µ¤Ï¼ÂÀïŪ¤Ê·Ð¸³¤Ë¤è¤êÆÀ¤é¤ì¤ë(ÆäËËâË¡¤Ç)¡¥ËâË¡¤Î¥¨¥Í¥ë¥®¡¼ + ¤Ë±Æ¶Á¤¹¤ë¡¥ + + Ì¥ÎÏ(Charisma) + Ì¥ÎϤϤ¢¤ë¼ï¤ÎÀ¸Êª¤¬¤¢¤Ê¤¿¤ËÂФ·¤Æ¤È¤ëÂÖÅ٤˱ƶÁ¤òÍ¿¤¨¤ë¡¥ÆÃ¤Ë + Ź¼ç¤¬¼¨¤¹²Á³Ê¤Ë±Æ¶Á¤¹¤ë¡¥ + + °À­(Alignment) + °À­¤Ë¤Ï¡ÖÃá½ø(Lawful)¡×(Á±¤Î¿´¤ò»ý¤Ä)¡¤¡ÖÃæΩ(Neutral)¡×(Á±°­ + ξÊý¤Î¿´¤ò»ý¤Ä)¡¤¡Öº®ÆÙ(Chaotic)¡×(°­¤Î¿´¤ò»ý¤Ä)¤¬¤¢¤ë¡¥´ðËÜŪ + ¤Ë¤ÏÃá½ø¤ÏÁ±¡¤º®Æ٤ϰ­¤Ç¤¢¤ë¡¥Â°À­¤¬»÷¤Æ¤¤¤ë²øʪ¤Ï¹¥ÀïŪ¤Ç¤Ï¤Ê + ¤¯È¿ÂФΰÀ­¤ËÂФ·¤Æ¤Ï¸ºß¤ËÂФ·¤Æ¶Ë¤á¤Æ¹¥ÀïŪ¤Ç¤¢¤ë¤é¤·¤¤¡¥ + + ³¬¿ô(Dungeon Level) + ¤É¤ì¤À¤±Æ¶·¢¤Î±ü¿¼¤¯¤Þ¤Ç¹Ô¤Ã¤¿¤«¤ò¼¨¤¹¡¥½é´üÃÍ¤Ï 1 ¤Ç¡¤Æ¶·¢¤ò + ±ü¿¼¤¯¹Ô¤¯¤Û¤ÉÂ礭¤ÊÃͤˤʤ롥¤¤¤Ä¤¯¤«¤Î³¬¤ÏÆÃÊ̤ǿô»ú¤Ç¤Ï¤Ê¤¯ + ̾Á°¤Ç¼±Ê̤µ¤ì¤ë¡¥¥¤¥§¥ó¥À¡¼¤ÎËâ½ü¤±¤ÏÃϲ¼ 20 ³¬¤è¤ê¿¼¤¯¤Î¤É¤³ + ¤«¤Ë¤¢¤ë¤È¹Í¤¨¤é¤ì¤Æ¤¤¤ë¡¥ + + ¶â(Gold) + º£½ê»ý¤¹¤ë¶â²ô¤ÎÎ̤Ǥ¢¤ë¡¥È¢¤Ê¤É¤Ë±£¤·¤¿¤ª¶â¤Ï´ªÄê¤ËÆþ¤Ã¤Æ¤¤¤Ê + ¤¤¡¥ + + ÂÎÎÏ(Hit Points) + ÂÎÎϤθ½ºßÃͤȺÇÂçÃͤǤ¢¤ë¡¥ÂÎÎϤϤ¢¤È¤É¤ì¤À¤±¤Î¥À¥á¡¼¥¸¤ò¼õ¤± + ¤ë¤È»à¤Ì¤«¤ò¼¨¤¹¡¥À襤¤Ç½ý¤Ä¤¯¤Û¤ÉÃͤϸº¾¯¤¹¤ë¡¥ÂÎÎϤϵÙ©¤ò¤È + ¤Ã¤¿¤êËâË¡¤Î¥¢¥¤¥Æ¥à¤ä¼öʸ¤Ë¤è¤ê²óÉü¤Ç¤­¤ë¡¥³ç¸Ì¤ÎÃæ¤Î¿ô»ú¤ÏÂÎ + ÎϤΤȤêÆÀ¤ëºÇÂçÃͤǤ¢¤ë¡¥ + + ËâÎÏ(Power) + ¼öʸ¤Ë»È¤¦ËâÎϤǤ¢¤ë¡¥¤³¤ì¤Ï¼öʸ¤ò¾§¤¨¤ë¤Î¤ËɬÍפʿÀÈë¤ÎÎÏ + (mana: ¥Þ¥Ê)¤¬¤É¤ì¤Û¤É¤¢¤ë¤«¤ò¼¨¤¹¡¥ËâÎϤâ¤Þ¤¿µÙ©¤¹¤ë¤³¤È¤Ë + ¤è¤ê²óÉü¤¹¤ë¡¥ + + ÁõÈ÷ÃÍ(Armor Class) + Èóͧ¹¥Åª¤ÊÀ¸Êª¤«¤é¤Î¹¶·â¤òËɶñ¤¬¤É¤ì¤Û¤É¤¯¤¤¤È¤á¤é¤ì¤ë¤«¤ò¼¨¤¹ + ÃͤǤ¢¤ë¡¥¿ô»ú¤¬¾®¤µ¤¤¤Û¤ÉËɶñ¤ÏÍ­¸ú¤Ç¤¢¤ê¡¤ÁõÈ÷Ãͤ¬Éé¤ÎÃÍ¤Ë¤Ê + ¤ë¤³¤È¤µ¤¨½½Ê¬¤¢¤êÆÀ¤ë¡¥ + + ·Ð¸³ÃÍ(Experience) + ¸½ºß¤Î·Ð¸³¤Î¥ì¥Ù¥ë¤È·Ð¸³ÃͤǤ¢¤ë¡¥ËÁ¸±¤¬¿Ê¤à¤È·Ð¸³ÃͤòÆÀ¤ë¤³¤È + ¤¬¤Ç¤­¤ë¡¥·Ð¸³Ãͤιç·×¤¬¤¢¤ë°ìÄêÃͤޤÇ㤹¤ë¤È¡¤·Ð¸³¥ì¥Ù¥ë¤¬¾å + ¤¬¤ë¡¥·Ð¸³¤òÀѤà¤ËÏ¢¤ìÀ襤Êý¤¬¾å㤷ËâË¡¤Î¹¶·â¤Ë¤âÂѤ¨¤é¤ì¤ë¤è + ¤¦¤Ë¤Ê¤ë¡¥Â¿¤¯¤Î¥¤¥ó¥×¥ê¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ç¤Ï·Ð¸³¥ì¥Ù¥ë¤À¤±¤¬É½¼¨ + ¤µ¤ì¤ë¡¥ + + »þ´Ö(Time) + ·Ð²á¤·¤¿¥¿¡¼¥ó¿ô¤Ç¤¢¤ë¡¥time ¥ª¥×¥·¥ç¥ó¤¬¥ª¥ó¤Î¤È¤­¤Ëɽ¼¨¤µ¤ì¤ë¡¥ + + Ê¢¶ñ¹ç(Hunger status) + ¸½ºß¤ÎÊ¢¶ñ¹ç¤Ç¤¢¤ë¡¥Ê¢¶ñ¹ç¤Ï¡ÖËþÊ¢(Satiated)¡×¤«¤é¡Ö¤Õ¤é¤Õ¤é + (Fainting)¡×¤Þ¤Ç¤ÎÃͤò¤È¤ë¡¥Ê¢¶ñ¹ç¤¬ÉáÄ̤ʤéɽ¼¨¤µ¤ì¤Ê¤¤¡¥ + + ¡¡¤³¤Î¾¤Ë¤â¾õÂÖ¤ò¼¨¤¹É½¼¨¤¬Ê¢¶ñ¹ç¤Î¸å¤í¤Ëɽ¼¨¤µ¤ì¤ë¤³¤È¤¬¤¢¤ë¤«¤â¤·¤ì + ¤Ê¤¤¡¥º®Í𤷤Ƥ¤¤ë¤È¤­¤Ë¤Ï¡Öº®Íð¡×¡¤Éµ¤¤Î¤È¤­¤Ë¤Ï¡Öɵ¤¡×¡¤Ìܤ¬¸«¤¨¤Ê + ¤¤¤È¤­¤Ë¤Ï¡ÖÌÕÌܡס¤âÁÚô¤¬¤·¤¿¤È¤­¤Ï¡ÖâÁÚô¡×¡¤¸¸³Ð¤ò¸«¤Æ¤¤¤ë¤È¤­¤Ï¡Ö¸¸ + ³Ð¡×¤Èɽ¼¨¤µ¤ì¤ë¡¥ + + *** 3.2. ¥á¥Ã¥»¡¼¥¸¹Ô(²èÌ̤ξåÉô) + + ¡¡²èÌ̤κǾå¹Ô¤Ï»ë³ÐŪ¤Ëɽ¸½¤Ç¤­¤Ê¤¤¤³¤È¤òÀâÌÀ¤¹¤ë¥á¥Ã¥»¡¼¥¸¤Î¤¿¤á¤Ë»È + ¤ï¤ì¤ë¡¥ºÇ¾å¹Ô¤Ë¡Ö--More--¡×¤¬É½¼¨¤µ¤ì¤¿¤È¤­¤Ï¡¤¤³¤Î¤¢¤È¤Ë¤µ¤é¤Ë¥á¥Ã¥»¡¼ + ¥¸¤¬Â³¤¤¤Æ¤¤¤ë¤±¤ì¤É¤â¸½ºß¤Î¥á¥Ã¥»¡¼¥¸¤ò¤Þ¤º³Î¼Â¤ËÆɤà¤è¤¦Â¥¤·¤Æ¤¤¤ë¤È + ¤¤¤¦¤³¤È¤Ç¤¢¤ë¡¥¼¡¤Î¥á¥Ã¥»¡¼¥¸¤òÆɤि¤á¤Ë¤Ïñ¤Ë¥¹¥Ú¡¼¥¹¥­¡¼¤ò²¡¤»¤Ð¤è + ¤¤¡¥ + + *** 3.3. ÃÏ¿Þ(²èÌ̤Τ½¤Î¾¤ÎÉôʬ) + + ¡¡²èÌ̤Τ½¤Î¾¤ÎÉôʬ¤Ï¡¤¤¢¤Ê¤¿¤¬¸½ºß¤¤¤ë³¬¤Ç¤½¤ì¤Þ¤Ç¤Ëõº÷¤·½ª¤Ã¤¿Éôʬ + ¤ÎÃϿޤǤ¢¤ë¡¥²èÌ̾å¤Î¥·¥ó¥Ü¥ë¤Ï¤½¤ì¤¾¤ì²¿¤«¤òɽ¤·¤Æ¤¤¤ë¡¥É½¼¨¤µ¤ì¤ë¥· + ¥ó¥Ü¥ë¤Î¤¦¤Á¤¤¤¯¤Ä¤«¤Ï graphics ¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤ÆÊѤ¨¤ë + ¤³¤È¤¬¤Ç¤­¤ë¡¥¤½¤¦¤Ç¤Ê¤±¤ì¤Ðɸ½àÀßÄê¤Î¥·¥ó¥Ü¥ë¤¬ÍѤ¤¤é¤ì¤ë¡¥¼¡¤Ëɸ½àÀß + Äê¤Î¥·¥ó¥Ü¥ë¤Î°ÕÌ£¤Î°ìÍ÷¤ò¼¨¤¹¡¥ + + - ¤È | Éô²°¤ÎÊÉ¡¤¤Þ¤¿¤Ï³«¤¤¤¿Èâ¡¥ + + . Éô²°¤Î¾²¡¤É¹¡¤¤Þ¤¿¤ÏÈâ¤Î¤Ê¤¤½ÐÆþ¸ý¡¥ + + # ÄÌÏ©¡¤¤¢¤ë¤¤¤ÏÂæ½ê¤Îή¤·Âæ(ή¤·Â椬¥¤¥ó¥×¥ê¥á¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤È¤­) + ¤Þ¤¿¤ÏÄ·¤Í¶¶ + + < ¾å¤Î³¬¤Ø¤ÎÄÌÏ©¡¥ + + > ²¼¤Î³¬¤Ø¤ÎÄÌÏ©¡¥ + + + ÊĤ¸¤¿È⡤¤Þ¤¿¤Ï¼öʸ¤Î½ñ¤«¤ì¤¿ËâË¡½ñ + + @ ¿Í´Ö(Ä̾ï¤Ï¤¢¤Ê¤¿)¡¥ + + $ ¶â²ô¤Î»³¡¥ + + ^ æ«(¤Ò¤È¤¿¤Óȯ¸«¤¹¤ì¤Ðɽ¼¨¤µ¤ì¤ë)¡¥ + + ) Éð´ï¡¥ + + [ Éþ¤Þ¤¿¤Ï¤Ê¤ó¤é¤«¤ÎËɶñ¡¥ + + % ¿©ÎÁ(±ÒÀ¸Åª¤Ç¤¢¤ë¤È¤Ï¸Â¤é¤Ê¤¤)¡¥ + + ? ´¬Êª¡¥ + + / ¾ó¡¥ + + = »ØÎØ¡¥ + + ! ¿åÌô¡¥ + + ( ÊØÍø¤Ê¥¢¥¤¥Æ¥à(¤Ä¤ë¤Ï¤·¡¤¸°¡¤¥é¥ó¥×¡Ä)¡¥ + + " Ëâ½ü¤±(¤Þ¤¿¤ÏÃØéá¤ÎÁã)¡¥ + + * ÊõÀФޤ¿¤Ï´ä(µ®½Å¤Ê¤â¤Î¤«¤â¤·¤ì¤Ê¤¤¤·¡¤²ÁÃͤΤʤ¤¤â¤Î¤«¤â¤·¤ì + ¤Ê¤¤)¡¥ + + ` ´ä¡¤¤Þ¤¿¤ÏĦÁü¡¥ + + 0 Å´µå¡¥ + + _ º×ÃÅ¡¤¤Þ¤¿¤ÏÅ´¤Îº¿¡¥ + + } ¿å¤¿¤Þ¤ê¡¤¤Þ¤¿¤ÏËÙ¡¤¤Þ¤¿¤ÏÍÏ´ä¤Î³¤¡¥ + + { Àô + + \ ¹ë²Ú¤Ê²¦ºÂ + + a-zA-Z ¤ª¤è¤Ó¤½¤Î¾¤Î¥·¥ó¥Ü¥ë¡¥¤³¤ì¤é¤Îʸ»ú¤È¤½¤Î¾¤Î¤¤¤¯¤Ä¤«¤Î¥·¥ó¥Ü + ¥ë¤Ï¶²ÉݤÎ̵ܤΤ¤¤í¤¤¤í¤Ê½»¿Í¤¿¤Á¤òɽ¤¹¡¥Èà¤é¤ÏÉÔµ¡·ù¤Ç°­°Õ¤Ë + Ëþ¤Á¤Æ¤¤¤ë¤«¤âÃΤì¤Ê¤¤¤Î¤Ç·Ù²ü¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥¤¬¡¤¤È¤­¤Ë¤Ï + ²¿¤«¤Î¼ê½õ¤±¤Ë¤Ê¤ë¤³¤È¤â¤¢¤ë¡¥ + + ¡¡¤³¤ì¤é¤Î¥·¥ó¥Ü¥ë¤ò¤¹¤Ù¤Æµ­²±¤¹¤ëɬÍפϤʤ¤¡¥'/' ¥³¥Þ¥ó¥É¤Ç¤É¤Î¥·¥ó¥Ü + ¥ë¤¬²¿¤òɽ¤¹¤«ÃΤ뤳¤È¤¬¤Ç¤­¤ë(¾ÜºÙ¤Ï¥³¥Þ¥ó¥É¤Î¹à¤ò»²¾È¤Î¤³¤È)¡¥ + + *** 4. ¥³¥Þ¥ó¥É + + ¥³¥Þ¥ó¥É¤ÏºÇ½é¤Ë 1ʸ»ú¤« 2ʸ»ú¤Î¥­¡¼ÆþÎϤò¹Ô¤¦¤³¤È¤ÇÍ¿¤¨¤é¤ì¤ë¡¥¤¤¤¯ + ¤Ä¤«¤Î¥³¥Þ¥ó¥É¡¤Î㤨¤Ð``search''¤Ï¤½¤ì°Ê¾å NetHack¤Ë¾ðÊó¤òÍ¿¤¨¤ëɬÍפ¬ + ¤Ê¤¤¡¥Â¾¤Î¥³¥Þ¥ó¥É¤ÏÎ㤨¤ÐÊý¸þ¤ä»ÈÍѤ¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ê¤É¤Î¾ðÊó¤ò¤µ¤é¤Ë + Í¿¤¨¤ëɬÍפ¬¤¢¤ë¡¥¤³¤ì¤é¤µ¤é¤Ê¤ë¾ðÊó¤òɬÍפȤ¹¤ë¥³¥Þ¥ó¥É¤ËÂФ·¤Æ¤Ï¡¤ + NetHack¤Ï¥á¥Ë¥å¡¼ÁªÂò¤â¤·¤¯¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¥×¥í¥ó¥×¥È¤Î¤¤¤º¤ì¤«¤òÁªÂò + ¤Ç¤­¤ë¡¥¤³¤ì¤é¤Ï¼ç¤Ë menustyle¥ª¥×¥·¥ç¥ó¤ò¤É¤Î¤è¤¦¤ËÀßÄꤷ¤¿¤«¤Ë°Í¸¤¹ + ¤ë¡¥ + + ¡¡Î㤨¤Ð¡Ö¤É¤ì¤ò»È¤¤¤Þ¤¹¤«¡©[a-zA-Z ?*]¡× ¤È¤¤¤¦·Á¼°¤Î¼ÁÌ䤬¤è¤¯¤¢¤ë¤¬¡¤ + ¤³¤ì¤Ï¤¢¤Ê¤¿¤Ë»ý¤Ã¤Æ¤¤¤ëʪ¤Î¤¦¤Á¤É¤ì¤òÁª¤Ö¤«¤ò¿Ò¤Í¤ë¤â¤Î¤Ç¤¢¤ë¡¥¤³¤Î¼Á + Ìä¤Ë¤ª¤¤¤Æ¡Öa-zA-Z¡×¤Ï¤¢¤Ê¤¿¤¬Áª¤Ù¤ë»ýʪ¤ÎÌÜÏ¿µ­¹æ¤Ç¤¢¤ë¡¥'?' ¤òÆþÎϤ¹ + ¤ë¤È¤³¤ì¤é¤Î¥¢¥¤¥Æ¥à¤ÎÌÜÏ¿°ìÍ÷¤¬ÆÀ¤é¤ì¡¤¸Ä¡¹¤Îµ­¹æ¤¬²¿¤òɽ¤·¤Æ¤¤¤ë¤Î¤« + ÃΤ뤳¤È¤¬¤Ç¤­¤ë¡¥¤³¤ÎÎã¤Ë¤Ï '*' ¤¬¤¢¤ë¡¥¤³¤ì¤Ï°ìÍ÷¤Ë¤Ïɽ¼¨¤µ¤ì¤Æ¤ª¤é + ¤º¡¤Ä̾綠¤Î¥³¥Þ¥ó¥É¤Ç¤Î»ÈÍѤòÁÛÄꤷ¤Æ¤¤¤Ê¤¤Êª¤Ç¤â¡¤»È¤ª¤¦¤È»×¤¨¤Ð¤½¤ì + ¤òÁª¤Ö¤³¤È¤¬¤Ç¤­¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤ë¡¥'*' ¤òÆþÎϤ¹¤ë¤È¤¹¤Ù¤Æ¤Î»ýʪ¤ÎÌÜÏ¿ + ¤¬É½¼¨¤µ¤ì¡¤¸Ä¡¹¤Î»ýʪ¤¹¤Ù¤Æ¤Ë¤Ä¤¤¤Æ¤ÎÌÜÏ¿µ­¹æ¤òÃΤ뤳¤È¤¬¤Ç¤­¤ë¡¥¹Í¤¨ + ľ¤·¤Æ·ë¶É¤³¤Î¥³¥Þ¥ó¥É¤ò»È¤ï¤Ê¤¤¤³¤È¤Ë¤·¤¿¤È¤­¤Ë¤Ï ESC ¥­¡¼¤ò²¡¤»¤Ð¥³ + ¥Þ¥ó¥É¤ò½ªÎ»¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + + ¡¡¤¿¤¤¤Æ¤¤¤Î¥³¥Þ¥ó¥É¤Ï¡¤¤½¤ÎÁ°¤Ë¿ô»ú¤òÆþÎϤ¹¤ë¤³¤È¤Ç²¿²ó¤â·«¤êÊÖ¤¹¤³¤È + ¤¬¤Ç¤­¤ë¡¥Î㤨¤Ð¡Ö10s¡×¤Ï 10 ²ó¤Îõº÷¤òɽ¤·¤Æ¤¤¤ë¡¥¤â¤· number_pad ¥ª + ¥×¥·¥ç¥ó¤¬¥ª¥ó¤Î¤È¤­¤Ë¤Ï¿ô»ú¤ÎÁ°¤Ë 'n' ¤òÆþÎϤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥¤Ä¤Þ + ¤ê¾å¤ÎÎã¤ÏÂå¤ï¤ê¤Ë¡Ön 10s¡×¤ÈÆþÎϤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥Ê£¿ô²ó¼Â¹Ô¤¹¤ë¤³ + ¤È¤¬Ìµ°ÕÌ£¤Ê¥³¥Þ¥ó¥É¤Ç¤Ï¤³¤ì¤Ï̵»ë¤µ¤ì¤ë¡¥¤µ¤é¤Ë¡¤°ÜÆ°¥³¥Þ¥ó¥É¤ÎÁ°¤ËÆà + Äê¤Îʸ»ú(¥×¥ì¥Õ¥£¥Ã¥¯¥¹)¤òÉÕ¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¤µ¤Þ¤¶¤Þ¤Ê°ÜÆ°ÊýË¡¤ò¤È¤ë¤³ + ¤È¤¬¤Ç¤­¤ë(¸å½Ò)¡¥·«¤êÊÖ¤·²ó¿ô¤ä¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤ò¼è¤ê¾Ã¤¹¤¿¤á¤Ë¤Ï ESC + ¥­¡¼¤ò²¡¤»¤Ð¤è¤¤¡¥ + + ¡¡¥³¥Þ¥ó¥É¤Î°ìÍ÷¤Ï¤«¤Ê¤êŤ¤¤¬¡¤¥²¡¼¥àÃæ¤Ë '?' ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¥Ø¥ë + ¥×¥á¥Ë¥å¡¼¤ò¸«¤ë¤³¤È¤Ë¤è¤ê¡¤¤¤¤Ä¤Ç¤â¥³¥Þ¥ó¥É¤Î°ìÍ÷¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + °Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»²¾È¤Î¤³¤È¡¥ + + ? ¥Ø¥ë¥×¥á¥Ë¥å¡¼: ɽ¼¨²Äǽ¤Ê¥Ø¥ë¥×²èÌ̤Τ¦¤Á¤Î 1 ¤Ä¤òɽ¼¨¤¹¤ë¡¥ + + / ¥·¥ó¥Ü¥ë¤¬²¿¤ò°ÕÌ£¤¹¤ë¤«¤ò¼¨¤¹¡¥»ØÄꤹ¤ë¤Ë¤Ï¾ì½ê¤ò¼¨¤¹¤«¡¤¤Þ¤¿ + ¤Ï¥·¥ó¥Ü¥ë(¤¢¤ë¤¤¤Ïñ¸ìÁ´ÂÎ)¤òÆþÎϤ¹¤ë¤«¤òÁªÂò¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + help ¥ª¥×¥·¥ç¥ó¤¬¥ª¥ó¤Ç¡¤¤«¤Ä¤¢¤Ê¤¿¤¬Ä´¤Ù¤Æ¤¤¤ëʪ¤ä²øʪ¤Ë¤Ä¤¤ + ¤Æ¤Î²¿¤é¤«¤ÎÆÃÊ̤ʾðÊó¤¬ NetHack ¤Ë¤¢¤ë¤È¤­¤Ë¤Ï¡¤¤¢¤Ê¤¿¤Îµá¤á + ¤Ë±þ¤¸¤Æ¡Ö¾ÜºÙ¤ò¸«¤ë¡©¡× ¤Èɽ¼¨¤µ¤ì¤ë¤À¤í¤¦¡¥help ¥ª¥×¥·¥ç¥ó¤¬ + ¥ª¥Õ¤Î¤È¤­¤Ë¤Ï¡¤²øʪ¤äʪ¤Î̾Á°¤òÆþÎϤ·¤Æ¤Ï¤Ã¤­¤ê¤ÈÍ׵ᤷ¤¿¤È¤­ + ¤Î¤ß¤½¤ÎÆÃÊ̤ʾðÊó¤òÃΤ뤳¤È¤¬¤Ç¤­¤ë¡¥ + + & ¥³¥Þ¥ó¥É¤ÎÆ°ºî¤ò¼¨¤¹¡¥ + + < ¾å¤Î³¬¤Ø¹Ô¤¯(³¬ÃʤäÄô»Ò¤Ë¤¤¤ë¤È¤­)¡¥ + + > ²¼¤Î³¬¤Ø¹Ô¤¯(³¬ÃʤäÄô»Ò¤Ë¤¤¤ë¤È¤­)¡¥ + + [yuhjklbn] + »ØÄꤷ¤¿Êý¸þ¤Ø°ìÊâ¿Ê¤à(¿Þ 2 »²¾È)¡¥¤½¤ÎÊý¸þ¤Ë²øʪ¤¬¤¤¤ë¤È¤­¤Ï¡¤ + °ÜÆ°¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯²øʪ¤ÈÀ臘¤³¤È¤Ë¤Ê¤ë¡¥²øʪ¤ÈÀ臘¤³¤È¤Ë¤Ê¤ë¤Î + ¤Ï°ìÊâ°ÜÆ°¤Î¥³¥Þ¥ó¥É¤À¤±¤Ç¤¢¤ë¡¥¤½¤Î¾¤Î¥³¥Þ¥ó¥É(¸å½Ò)¤Ï¡Ö°ÂÁ´¡× + ¤Ç¤¢¤ë¡¥ + + ----------------------------------------------------------------------------- + y k u 7 8 9 + \ | / \ | / + h- . -l 4- . -6 + / | \ / | \ + b j n 1 2 3 + (number_pad ¤¬¥ª¥ó¤Î¤È¤­) + ----------------------------------------------------------------------------- + ¿Þ 2 + ----------------------------------------------------------------------------- + + [YUHJKLBN] + ÊɤËÆͤ­Åö¤¿¤ë¤«²¿¤«¤Ë¾×Æͤ¹¤ë¤Þ¤Ç»ØÄꤷ¤¿Êý¸þ¤Ë¿Ê¤à¡¥ + + m[yuhjklbn] + ¥×¥ì¥Õ¥£¥Ã¥¯¥¹: ʪ¤ò½¦¤ï¤º¤Ë°ÜÆ°¤¹¤ë¡¥ + + M[yuhjklbn] + ¥×¥ì¥Õ¥£¥Ã¥¯¥¹: ʪ¤ò½¦¤ï¤º¤Ë±ó¤¯¤Ø°ÜÆ°¤¹¤ë¡¥ + + g[yuhjklbn] + ¥×¥ì¥Õ¥£¥Ã¥¯¥¹: ²¿¤«¤¬¸«¤Ä¤«¤ë¤Þ¤Ç°ÜÆ°¤¹¤ë¡¥ + + G[yuhjklbn] + ¥×¥ì¥Õ¥£¥Ã¥¯¥¹: 'g' ¤ÈƱ¤¸¡¥¤¿¤À¤·ÄÌÏ©¤Îʬ´ôÅÀ¤Ç¤Ï»ß¤Þ¤é¤Ê¤¤¡¥ + + . µÙ·Æ¤¹¤ë¡¥1 ¥¿¡¼¥ó²¿¤â¤·¤Ê¤¤¡¥ + + a Æ»¶ñ(¤Ä¤ë¤Ï¤·¡¤¸°¡¤¥é¥ó¥×¡Ä)¤òÍѤ¤¤ë(»È¤¦)¡¥ + + A 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¿È¤Ë¤Ä¤±¤Æ¤¤¤ë¤â¤Î(Ëɶñ¤Ê¤É)¤ò¤Ï¤º¤¹¡¥Ëɶñ¤ò1 + ¤Ä¤À¤±¤Ï¤º¤¹¤È¤­¤Ë¤Ï 'T'(take off: Ëɶñ¤ò¤Ï¤º¤¹)¤ò¡¤¥¢¥¯¥»¥µ¥ê¤ò + 1 ¤Ä¤À¤±¤Ï¤º¤¹¤È¤­¤Ï 'R'(remove: ¥¢¥¯¥»¥¢¥ê¤ò¤Ï¤º¤¹)¤ò»ÈÍѤ»¤è¡¥ + + ^A 1 ¤ÄÁ°¤Î¥³¥Þ¥ó¥É¤ò·«¤êÊÖ¤¹¡¥ + + c Èâ¤òÊĤ¸¤ë¡¥ + + C ¸Ä¡¹¤Î²øʪ¤Ë̾Á°¤òÉÕ¤±¤ë¡¥ + + ^C ¥Ñ¥Ë¥Ã¥¯¥Ü¥¿¥ó¡¥¥²¡¼¥à¤òÊü´þ¤¹¤ë¡¥ + + d ²¿¤«¤ò²¼¤ËÃÖ¤¯¡¥Îã:¡Öd7a¡×¤Ï a ¤È¤¤¤¦Êª¤ò 7 ¸Ä²¼¤ËÃÖ¤¯¤³¤È¤ò°Õ + Ì£¤¹¤ë¡¥ + + D ¤¤¤¯¤Ä¤«¤Îʪ¤ò²¼¤ËÃÖ¤¯¡¥¡Ö¤É¤Î¼ïÎà¤Î¤â¤Î¤òÃÖ¤­¤Þ¤¹¤«¡©[!%= au]¡× + ¤Î¼ÁÌä¤ËÂФ·¤Æ¡¤0 ¸Ä°Ê¾å¤Îʪ¤Î¥·¥ó¥Ü¥ë¤òÆþÎϤ¹¤ë¤³¤È¤ÇÅú¤¨¤ë¡¥ + 'a' ¤ä 'u' ¤ò¤½¤Î¸å¤Ë³¤±¤ÆÆþÎϤ¹¤ë¤³¤È¤â¤¢¤ë¤À¤í¤¦¡¥ + + Da - ³Îǧ¤Ê¤·¤Ë¤¹¤Ù¤Æ¤Îʪ¤ò²¼¤ËÃÖ¤¯¡¥ + Du - Âå¶â̤ʧ¤Îʪ¤À¤±¤ò²¼¤ËÃÖ¤¯(Ź¤Ë¤¤¤ë¤È¤­)¡¥ + D%u - Âå¶â̤ʧ¤Î¿©ÎÁ¤À¤±¤ò²¼¤ËÃÖ¤¯¡¥ + + ^D ²¿¤«(Ä̾ï¤ÏÈâ)¤ò½³¤ë¡¥ + + e ¿©ÎÁ¤ò¿©¤Ù¤ë¡¥ + + E ¾²¤Ë¥á¥Ã¥»¡¼¥¸¤ò¹ï¤ß¹þ¤à¡¥¡ÖElbereth¡×¤È¤¤¤¦¸ì¤ò¹ï¤ß¹þ¤à¤È¡¤¤¿ + ¤¤¤Æ¤¤¤Î²øʪ¤Ï¤¢¤Ê¤¿¤ËÇòʼÀï¤òÄ©¤ó¤ÇÍè¤Ê¤¯¤Ê¤ë¤Ç¤¢¤í¤¦(¤·¤«¤· + ¤¢¤Ê¤¿¤¬¹¶·â¤ò¤¹¤ë¤È¤½¤ì¤Ï¾Ã¤¨¤Æ¤·¤Þ¤¦¤À¤í¤¦)¡¥¤³¤ì¤Ï¡¤¤·¤Ð¤· + ¤Ð°ìµÙ¤ß¤¹¤ë¤È¤­¤ËÊØÍø¤Ç¤¢¤ë¡¥(¤³¤Îµ¡Ç½¤Ï¥³¥ó¥Ñ¥¤¥ë»þ¤Ëºï½ü¤µ + ¤ì¤Æ¤¤¤ë¤«¤âÃΤì¤Ê¤¤¤Î¤Ç¡¤¤¢¤Ê¤¿¤Î¥Ð¡¼¥¸¥ç¥ó¤Çɬ¤º¤·¤âµ¡Ç½¤¹¤ë + ¤È¤Ï¸Â¤é¤Ê¤¤¡¥) + + E- - ¤Û¤³¤ê¤ÎÃæ¤Ë»Ø¤Ç½ñ¤¯¡¥ + + i »ýʪ¤ÎÌÜÏ¿¤òɽ¼¨¤¹¤ë(»ý¤Ã¤Æ¤¤¤ëʪ¤¹¤Ù¤Æ)¡¥ + + I »ýʪ¤ÎÌÜÏ¿¤Î¤¦¤Á»ØÄꤷ¤¿°ìÉô¤òɽ¼¨¤¹¤ë¡¥ + + I* - »ýʪ¤ÎÌÜÏ¿¤¦¤ÁÊõÀФò¤¹¤Ù¤Æɽ¼¨¤¹¤ë¡¥ + Iu - Âå¶â̤ʧ¤Î¥¢¥¤¥Æ¥à¤ò¤¹¤Ù¤Æɽ¼¨¤¹¤ë¡¥ + Ix - Âå¶â̤ʧ¤À¤¬»È¤Ã¤Æ¤·¤Þ¤Ã¤¿¥¢¥¤¥Æ¥à¤ò¤¹¤Ù¤Æɽ¼¨¤¹¤ë¡¥ + I$ - ¤ª¶â¤ò¿ô¤¨¤ë¡¥ + + o Èâ¤ò³«¤±¤ë¡¥ + + O ¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¡¥¥ª¥×¥·¥ç¥ó¹Ô¤òÆþÎϤ¹¤ë¤è¤¦µá¤á¤é¤ì¤ë¡¥¶õ + ¹Ô¤òÆþÎϤ·¤¿¤È¤­¤Ï¸½ºß¤Î¥ª¥×¥·¥ç¥ó¤Î¾õÂÖ¤¬Êó¹ð¤µ¤ì¤ë¡¥'?' ¤òÆþ + ÎϤ¹¤ë¤È¤¤¤í¤¤¤í¤Ê¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¤¬ÆÀ¤é¤ì¤ë¡¥¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï + ¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤ò¥«¥ó¥Þ¤Ç¶èÀڤäÆÆþÎϤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥ÀßÄê + ²Äǽ¤Ê¥ª¥×¥·¥ç¥ó¤Ï¤³¤Î¥¬¥¤¥É¥Ö¥Ã¥¯¤Î¸å¤Û¤É¤Ë°ìÍ÷¤¬¤¢¤ë¡¥¥ª¥×¥·¥ç + ¥ó¤ÏÄ̾ï¤Ï 'O' ¥³¥Þ¥ó¥É¤Ç¤Ï¤Ê¤¯¡¤¥²¡¼¥à¤ò»Ï¤á¤ëÁ°¤ËÀßÄꤹ¤ë¡¥ + ¸å½Ò¤Î¥ª¥×¥·¥ç¥ó¤Î¹à¤ò»²¾È¤Î¤³¤È¡¥ + + p Âå¶â¤òʧ¤¦¡¥ + + P »ØÎØ¡¤¤¢¤ë¤¤¤Ï¤½¤Î¾¤ÎÁõ¾þÉʡʸîÉ䡤Ìܱ£¤·¡Ë¤ò¿È¤Ë¤Ä¤±¤ë¡¥ + + ^P 1 ¤ÄÁ°¤Î¥á¥Ã¥»¡¼¥¸¤ò·«¤êÊÖ¤¹(³¤±¤Æ ^P ¤òÆþÎϤ¹¤ë¤È°ÊÁ°¤Î¥á¥Ã + ¥»¡¼¥¸¤¬½ç¤Ëɽ¼¨¤µ¤ì¤ë)¡¥ + + q ¿åÌô¤ò°û¤à¡¥ + + Q ¥²¡¼¥à¤òÊü´þ¤¹¤ë¡¥ + + r ´¬Êª¤äËâË¡½ñ¤òÆɤࡥ + + R Áõ¾þÉÊ¡Ê»ØÎØ¡¤¸îÉä¤Ê¤É¡Ë¤ò¤Ï¤º¤¹¡¥ + + ^R ²èÌ̤òÉÁ¤­Ä¾¤¹¡¥ + + s ¼þ°Ï¤Î±£¤·Èâ¤ä櫤òõ¤¹¡¥²¿¤«¤ò¸«¤Ä¤±¤ë¤Ë¤ÏÄ̾ï¿ô²ó¤Îõº÷¤¬É¬Í× + ¤Ç¤¢¤ë¡¥ + + S ¥²¡¼¥à¤ò¥»¡¼¥Ö¤¹¤ë¡¥¥²¡¼¥à¤Ï¼¡²ó¥×¥ì¥¤»þ¤Ë¼«Æ°Åª¤Ë¥ê¥¹¥È¥¢¤µ¤ì + ¤ë¡¥ + + t ʪ¤òÅꤲ¤ë¡¥¤Þ¤¿¤ÏÌð¤Ê¤É¤òȯ¼Í¤¹¤ë¡¥ + + T Ëɶñ¤ò¤Ï¤º¤¹¡¥ + + ^T ¥Æ¥ì¥Ý¡¼¥ÈǽÎϤ¬¤¢¤ì¤Ð¥Æ¥ì¥Ý¡¼¥È¤¹¤ë¡¥ + + v ¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¼¨¤¹¤ë¡¥ + + V ¤³¤Î¥²¡¼¥à¤ÎÍúÎò¤òɽ¼¨¤¹¤ë¡¥ + + w Éð´ï¤ò»ý¤Ä¡¥w- ¤Ï²¿¤â»ý¤¿¤ºÁǼê¤Ë¤Ê¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡¥ + + W Ëɶñ¤òÉÕ¤±¤ë¡¥ + + x ÃΤäƤ¤¤ë¼öʸ¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë('+' ¤ÈƱ¤¸)¡¥ + + X õ¸¡(ȯ¸«)¥â¡¼¥É¤ËÆþ¤ë¡¥ + + z ¾ó¤ò¿¶¤ë¡¥ + + Z ¼öʸ¤ò¾§¤¨¤ë¡¥ + + ^Z ¥²¡¼¥à¤ò°ì»þÃæ»ß¤¹¤ë(¥¸¥ç¥Ö¥³¥ó¥È¥í¡¼¥ëµ¡Ç½¤Î¤¢¤ë UNIX(R) ¥Ð¡¼ + ¥¸¥ç¥ó¤Î¤ß)¡¥(R)UNIX ¤Ï AT&T ¤ÎÅÐÏ¿¾¦É¸¤Ç¤¢¤ë¡¥ + + : ­¸µ¤Ë²¿¤¬¤¢¤ë¤«¸«¤ë¡¥ + + , ²¿¤«¤ò½¦¤¦¡¥ + + @ autopickup ¥ª¥×¥·¥ç¥ó¤Î¥ª¥ó¡¦¥ª¥Õ¤Î¥È¥°¥ë¡¥ + + ^ º£¤Þ¤Ç¤Ëȯ¸«¤·¤¿æ«¤Î¼ïÎà¤òÄ´¤Ù¤ë¡¥ + + ) »ý¤Ã¤Æ¤¤¤ëÉð´ï¤òɽ¼¨¤¹¤ë¡¥ + + [ ÉÕ¤±¤Æ¤¤¤ëËɶñ¤òɽ¼¨¤¹¤ë¡¥ + + = ¤Ï¤á¤Æ¤¤¤ë»ØÎؤòɽ¼¨¤¹¤ë¡¥ + + " ÉÕ¤±¤Æ¤¤¤ë¸îÉä¤òɽ¼¨¤¹¤ë¡¥ + + ( »È¤Ã¤Æ¤¤¤ëÆ»¶ñ¤òɽ¼¨¤¹¤ë¡¥ + + $ ¶â²ô¤ò¿ô¤¨¤ë¡¥ + + + ÃΤäƤ¤¤ë¼öʸ¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë('x' ¤ÈƱ¤¸)¡¥ + + \ º£¤Þ¤Ç¤Ë¤É¤ó¤Ê¼ïÎà¤Îʪ¤ò¸«¤Ä¤±¤¿¤«¤òɽ¼¨¤¹¤ë¡¥ + + ! ¥·¥§¥ë¤ËÈ´¤±¤ë¡¥ + + ` ÆüËܸì¥â¡¼¥É¤È¥ª¥ê¥¸¥Ê¥ë¥â¡¼¥É¤ÎÀÚ¤êÂؤ¨¡¥¥ª¥ê¥¸¥Ê¥ë¥â¡¼¥É¤Ë¤· + ¤¿¾ì¹ç¡¤'i', 'I', ';', '/'¥³¥Þ¥ó¥É¤ÇʪÂΤä²øʪ¤òÄ´¤Ù¤¿¾ì¹ç¥ª¥ê + ¥¸¥Ê¥ë¤Î±Ñ̾¤¬É½¼¨¤µ¤ì¤ë¡¥ + + # ³ÈÄ¥¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡¥°Ê¾å¤«¤éʬ¤«¤ë¤è¤¦¤Ë NetHack ¤Îºî¼Ô¤¿ + ¤Á¤Ï¤¹¤Ù¤Æ¤Îʸ»ú¤ò»È¤¤²Ì¤¿¤·¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¡¤¤¢¤Þ¤êÌò¤ËΩ¤¿¤Ê¤¤ + ¥³¥Þ¥ó¥É¤ä¸Â¤é¤ì¤¿¾õ¶·¤Ç¤·¤«»È¤ï¤ì¤Ê¤¤¥³¥Þ¥ó¥É¤Ï¤³¤Î¤è¤¦¤Ë¤·¤Æ + ƳÆþ¤µ¤ì¤¿¡¥'?'¤òÆþÎϤ¹¤ë¤È¤½¤ì¤é¤Î¥³¥Þ¥ó¥É¤Î°ìÍ÷¤¬ÆÀ¤é¤ì¤ë¡¥ + ¤É¤Î³ÈÄ¥¥³¥Þ¥ó¥É¤¬»ÈÍѲÄǽ¤«¤Ï¡¤¥²¡¼¥à¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¤É¤Îµ¡Ç½ + ¤¬Í­¸ú¤Ë¤µ¤ì¤¿¤«¤Ë¤è¤ë¡¥ + + ¤â¤·¤¢¤Ê¤¿¤Î¥­¡¼¥Ü¡¼¥É¤Ë¥á¥¿¥­¡¼(Ê̤Υ­¡¼¤È°ì½ï¤Ë²¡¤¹¤³¤È¤Ë¤è¤Ã + ¤Æ¤½¤Î¥­¡¼¤Î'¥á¥¿'[Âè 8¡¤¤Þ¤¿¤Ï'¾å°Ì']¥Ó¥Ã¥È¤ò¥»¥Ã¥È¤¹¤ë)¤¬¤¢ + ¤ì¤Ð¡¤¥³¥Þ¥ó¥É¤ÎƬʸ»ú¤ò¥á¥¿¥­¡¼¤È°ì½ï¤Ë²¡¤¹¤³¤È¤Ë¤è¤Ã¤Æ³ÈÄ¥¥³ + ¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥OS/2 , PC ¤ª¤è¤Ó ST NetHack ¤Ç¤Ï + 'Alt' ¥­¡¼¤¬¤³¤Î¤è¤¦¤Ë»È¤ï¤ì¤ë¡¥ Amiga ¤Ç¤Ï¤³¤ì¤òÍѤ¤¤ë¤Ë¤Ï + altmeta¥ª¥×¥·¥ç¥ó¤ò¥»¥Ã¥È¤¹¤ë¡¥ + + M-a »ýʪ¤ÎÌÜÏ¿µ­¹æ¤òÄ´À°¤¹¤ë(fixinv ¥ª¥×¥·¥ç¥ó¤¬¡Ö¥ª¥ó¡×¤Ë¤¹¤ë¤ÈÊØ + Íø¤Ç¤¢¤ë)¡¥ + + M-c 狼¤ÈÏäò¤¹¤ë¡¥ + + M-d ʪ¤ò²¿¤«¤Ë¿»¤¹¡¥ + + M-e Éð´ï¤Îµ»Î̤ò¹â¤á¤¿¤ê¡¤Ä´¤Ù¤¿¤ê¤¹¤ë¡¥ + + M-f ¾û¤ò¤³¤¸³«¤±¤ë¡¥ + + M-i ¥¢¥¤¥Æ¥à¤ÎÆÃÊ̤ÊǽÎϤòȯư¤¹¤ë¡¥ + + M-j Ê̤ξì½ê¤Ø¥¸¥ã¥ó¥×¤¹¤ë¡¥ + + M-l ¾²¤Î¾å¤ÎÈ¢¤ÎÃæ¿È¤òά夹¤ë¡¥ + + M-m ²øʪ¤ÎÆüìǽÎϤò»È¤¦¡¥ + + M-n ¥¢¥¤¥Æ¥à¤äʪ¤Î¼ïÎà¤Ë̾Á°¤òÉÕ¤±¤ë¡¥ + + M-o ¿À¤Ë¤¤¤±¤Ë¤¨¤òÊû¤²¤ë¡¥ + + M-p ¿À¤Ëµ§¤Ã¤Æ½õ¤±¤òµá¤á¤ë¡¥ + + M-r ¥é¥ó¥×¤ò»¤¤ë¡¥ + + M-s ºÂ¤ë¡¥ + + M-t ÉÔ»à¤Î²øʪ¤òÄɤ¤Ê§¤¦¡¥ + + M-u ²¿¤«(æ«¡¤È⡤ÊõÈ¢)¤Î櫤ò¤Ï¤º¤¹¡¥ + + M-v ¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Î NetHack ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤È¤­¤Î¥ª¥×¥·¥ç¥ó¤òɽ + ¼¨¤¹¤ë¡¥ + + M-w ´é¤ò¿¡¤¦¡¥ + + ¡¡number_pad ¥ª¥×¥·¥ç¥ó¤¬¥ª¥ó¤Î¤È¤­¤Ï¡¤¤³¤ì¤é¤Ë²Ã¤¨¤¤¤¯¤Ä¤«¤Îʸ + »ú¥³¥Þ¥ó¥É¤¬Í­¸ú¤Ë¤Ê¤ë¡¥ + + j Ê̤ξì½ê¤Ø¥¸¥ã¥ó¥×¤¹¤ë¡¥¡Ö#jump¡×¤ä¡ÖM-j¡×¤ÈƱ¤¸¡¥ + + k ²¿¤«(Ä̾ï¤ÏÈâ)¤ò½³¤ë¡¥'^D' ¤ÈƱ¤¸¡¥ + + l ¾²¤Î¾å¤ÎÈ¢¤ÎÃæ¿È¤òά夹¤ë¡¥¡Ö#loot¡×¤ä¡ÖM-l¡×¤ÈƱ¤¸¡¥ + + N ¥¢¥¤¥Æ¥à¤äʪ¤Î¼ïÎà¤Ë̾Á°¤òÉÕ¤±¤ë¡¥¡Ö#name¡×¤ä¡ÖM-N¡×¤ÈƱ¤¸¡¥ + + u æ«¡¤È⡤ÊõÈ¢¤Ê¤É¤Î»Å³Ý¤±¤é¤ì¤¿æ«¤ò¤Ï¤º¤¹¡¥¡Ö#untrap¡×¤ä¡ÖM-u¡×¤ÈƱ¤¸¡¥ + + *** 5. Éô²°¤ÈÄÌÏ© + + ¡¡Æ¶·¢Æâ¤ÎÉô²°¤äÄÌÏ©¤ÏÌÀ¤ê¤¬¤Ä¤¤¤Æ¤¤¤ë¤³¤È¤â¤¢¤ë¤·¡¤¤Ä¤¤¤Æ¤¤¤Ê¤¤¤³¤È¤â + ¤¢¤ë¡¥ÌÀ¤ê¤Î¤Ä¤¤¤Æ¤¤¤ëÉôʬ¤Ç¼«Ê¬¤Î»ëÌî¤ËÆþ¤ëÉôʬ¤Ï²èÌ̤Ëɽ¼¨¤µ¤ì¤ë¡¥°Å + ¤¤¤È¤³¤í¤Ç¤Ï¼þ°Ï 1 ¤Äʬ¤Î¶õ´Ö¤À¤±¤¬¸«¤¨¤ë¡¥ÊɤäÄÌÏ©¤Ï²èÌ̤Ëɽ¼¨¤µ¤ì¤¿ + ¤Þ¤Þ¤Ë¤Ê¤ë¡¥ + + ¡¡±£¤·ÄÌÏ©¤Ïɽ¼¨¤µ¤ì¤Ê¤¤¡¥¤³¤ì¤é¤Ï 's'(search: õ¤¹) ¥³¥Þ¥ó¥É¤Çȯ¸«¤¹ + ¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + + *** 5.1. ½ÐÆþ¸ý + + ¡¡½ÐÆþ¸ý¤ÏÉô²°¤ÈÄÌÏ©¤òÀܳ¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡¥½ÐÆþ¸ý¤ÎÃæ¤Ë¤ÏÈâ¤Î¤Ê¤¤¤â¤Î¤¬ + ¤¢¤ë¡¥¤³¤Î¤È¤­¤Ë¤Ï¤½¤Î¤Þ¤ÞÄ̤êÈ´¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥¤½¤Î¾¤Î½ÐÆþ¸ý¤Ë¤ÏÈâ + ¤¬¤¢¤ë¤¬¡¤¤½¤ÎÈâ¤Ï³«¤¤¤Æ¤¤¤ë¤«¡¤ÊĤ¸¤Æ¤¤¤ë¤«¡¤¾û¤¬¤«¤«¤Ã¤Æ¤¤¤ë¤«¤Î¤¤¤º + ¤ì¤«¤Ç¤¢¤ë¡¥ÊĤ¸¤Æ¤¤¤ëÈâ¤ò³«¤±¤ë¤Ë¤Ï 'o'(open: Èâ¤ò³«¤±¤ë) ¥³¥Þ¥ó¥É¤ò + ÍѤ¤¤ë¡¥ºÆ¤ÓÈâ¤òÊĤ¸¤ë¤Ë¤Ï 'c'(close: Èâ¤òÊĤ¸¤ë) ¥³¥Þ¥ó¥É¤òÍѤ¤¤ë¡¥ + + ¡¡Èâ¤Ë¾û¤¬¤«¤«¤Ã¤Æ¤¤¤ë¤È¤­¤Ï 'a'(apply: Æ»¶ñ¤òÍѤ¤¤ë) ¥³¥Þ¥ó¥É¤Ç¾û¤ò¤Ï + ¤º¤¹Æ»¶ñ¤ò»È¤¦¤«¡¤'^D'(kick: ½³¤ë) ¥³¥Þ¥ó¥É¤ÇÈâ¤ò½³Çˤ뤳¤È¤ÇÄ̤뤳¤È + ¤¬¤Ç¤­¤ë¡¥ + + ¡¡³«¤¤¤¿Èâ¤Ë¼Ð¤á¤«¤éÆþ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥¿åÊ¿¤¢¤ë¤¤¤Ï¿âľÊý¸þ¤«¤é¿¿¤Ãľ + ¤°¤Ë¶áÉÕ¤«¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥Èâ¤Î¤Ê¤¤½ÐÆþ¸ý¤Ë¤Ï¤³¤Î¤è¤¦¤ÊÀ©¸Â¤Ï¤Ê¤¤¡¥ + + ¡¡Èâ¤Ï²øʪ¤òÄù¤á½Ð¤¹¤Î¤ËÌò¤ËΩ¤Ä¡¥¤¿¤¤¤Æ¤¤¤Î²øʪ¤ÏÈâ¤ò³«¤±¤ë¤³¤È¤¬¤Ç¤­ + ¤Ê¤¤¡¥¤±¤ì¤É¤â¤¤¤¯¤Ä¤«¤Î²øʪ¤Ë¤È¤Ã¤Æ¤ÏÈâ¤ò³«¤±¤ëɬÍפʤɤʤ¤(Îã: Ë´Îî + ¤ÏÈâ¤òÄ̤êÈ´¤±¤ë¤³¤È¤¬¤Ç¤­¤ë)¡¥ + + ¡¡±£¤·Èâ¤Ïɽ¼¨¤µ¤ì¤Ê¤¤¡¥¤³¤ì¤é¤Ï 's'(search: õ¤¹) ¥³¥Þ¥ó¥É¤Çȯ¸«¤¹¤ë + ¤³¤È¤¬¤Ç¤­¤ë¡¥°ìÅÙȯ¸«¤¹¤ë¤ÈÉáÄ̤ÎÈâ¤ÈƱÍͤˤʤ롥 + + *** 5.2. æ« ('^') + + ¡¡¤½¤½¤Ã¤«¤·¤¤ËÁ¸±¼Ô¤ò´Ù¤ì¤ó¤È¤¹¤ë櫤¬Æ¶·¢Ãæ¤Ë¤¢¤ë¡¥Î㤨¤ÐÍ·ê¤ËÍî¤Á + ¤ë¤È¾å¤ê½Ð¤ë¤Î¤Ë¿ô¥¿¡¼¥ó¤Î´Ö¤½¤Î¾ì¤«¤éÆ°¤±¤Ê¤¯¤Ê¤ë¤Ç¤¢¤í¤¦¡¥¤½¤³¤Ë狼 + ¤¬Â­¤òƧ¤ßÆþ¤ì¤Æ°ú¤Ã¤«¤«¤ë¤«¡¤'s'(search: õ¤¹) ¥³¥Þ¥ó¥É¤Ç¸«¤Ä¤±¤ë¤«¤· + ¤Æ½é¤á¤Æ櫤Ïɽ¼¨¤µ¤ì¤ë¡¥²øʪ¤â櫤α¿©¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ë¡¥¤³¤ì¤ÏËɸæ¤ÎÀï + ½Ñ¤ËÍ­¸ú¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡¥ + + *** 6. ²øʪ + + ¡¡²èÌ̾å¤Ë¤Ï¤¢¤Ê¤¿¤«¤é¸«¤¨¤ë²øʪ¤·¤«É½¼¨¤µ¤ì¤Ê¤¤¤¬¡¤¤Ò¤ç¤Ã¤È¤¹¤ë¤È°Ç¤Î + Ãæ¤Ç²øʪ¤È¤Ð¤Ã¤¿¤ê½Ð¤¯¤ï¤¹¤³¤È¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¤Î¤ÇÃí°Õ¤¬É¬ÍפǤ¢¤ë¡¥ + ËâË¡¤Î¥¢¥¤¥Æ¥à¤ÎÃæ¤Ë¤Ï¡¤²øʪ¤¬¤¢¤Ê¤¿¤òȯ¸«¤¹¤ë¤è¤ê¤âÁ°¤Ë¤¢¤Ê¤¿¤¬²øʪ¤ò + ȯ¸«¤¹¤ë¤Î¤ËÌòΩ¤Äʪ¤â¤¢¤ë(¤·¤«¤·¤¢¤ë¼ï¤Î²øʪ¤â¤³¤ÎǽÎϤËÂçÊÑÍ¥¤ì¤Æ¤¤ + ¤ë¡¥) + + *** 6.1. ÀïÆ® + + ¡¡È¯¸«¤·¤¿²øʪ¤ÈÀ襤¤¿¤¤¤È¤­¤Ë¤Ï¡¤¤½¤Î²øʪ¤Ë¸þ¤«¤Ã¤Æ°ÜÆ°¤¹¤ë¤è¤¦¤Ë¤¹¤ì + ¤Ð¤è¤¤¡¥Â¿¤¯¤Î²øʪ¤Ï¤¢¤Ê¤¿¤¬À襤¤òÄ©¤Þ¤Ê¤¤¸Â¤ê¡¤Â¾¤Î¤³¤È¤òµ¤¤Ë¤¹¤ë¤³¤È + ¤Ï¤Ê¤¤¤À¤í¤¦¡¥Ê¢¤òΩ¤Æ¤ë¤ÈÂçÊÑ´í¸±¤Ê²øʪ¤â¤¤¤ë¡¥¡Ö»°½½Ï»·×ƨ¤²¤ë¤Ë¤·¤« + ¤º¡×¤È¤¤¤¦¤³¤È¤ï¤¶¤ò˺¤ì¤º¤Ë¡¥ + + *** 6.2. ¥Ú¥Ã¥È + + ¡¡¤¢¤Ê¤¿¤Ï»Æ¸¤('d')¤¢¤ë¤¤¤Ï»ÒÇ­('f')¤È¤È¤â¤Ë¥²¡¼¥à¤ò»Ï¤á¤ë¡¥¤¢¤Ê¤¿¤Î¥Ú¥Ã + ¥È¤Ï¤¢¤Ê¤¿¤È¤È¤â¤Ëƶ·¢¤ò¤µ¤Þ¤è¤¤¡¤²øʪ¤ÈÀ臘¡¥¥Ú¥Ã¥È¤Ï¤¢¤Ê¤¿¤ÈƱÍͤËÀ¸ + ¤­¤Î¤Ó¤ë¤¿¤á¤Î¿©ÎÁ¤òɬÍפȤ¹¤ë¡¥¥Ú¥Ã¥È¤Ï»àÆù¤ä¤½¤Î¾¤ÎÆù¤ò¤¨¤µ¤Ë¤·¤Æ¤¤ + ¤ë¡¥¤â¤·¤â¥Ú¥Ã¥È¤Î¤³¤È¤¬µ¤¤¬¤«¤ê¤Ç¤¢¤Ã¤¿¤ê¡¤¥Ú¥Ã¥È¤ò»ô¤¤´·¤é¤·¤Æ¤ª¤­¤¿ + ¤¤¤È»×¤¦¤Ê¤é¡¤¤¢¤Ê¤¿¤¬Ä¾Àܤ¨¤µ¤òÍ¿¤¨¤ë¤³¤È¤â¤Ç¤­¤ë¡¥¤½¤Î¤¿¤á¤Ë¤Ï¿©ÎÁ¤ò + ¥Ú¥Ã¥È¤Ë¸þ¤«¤Ã¤ÆÅꤲ¤Æ¤ä¤ì¤Ð¤è¤¤¡¥¤­¤Á¤ó¤È·±Îý¤µ¤ì¤¿¥Ú¥Ã¥È¤Ï¤¢¤ë¼ï¤Î¾õ + ¶·¤Î¤â¤È¤Ç¶Ë¤á¤ÆÍøÍѲÁÃͤ¬¹â¤¤¡¥ + + ¡¡¥Ú¥Ã¥È¤â²øʪ¤òÅݤ·¤Æ¤¤¤¯¤Ë¤Ä¤ì¤Æ·Ð¸³¤òÀѤó¤Ç¤¤¤¯¤Ç¤¢¤í¤¦¡¥¤Þ¤¿»þ´Ö¤È + ¤È¤â¤ËÀ®Ä¹¤â¤·¡¤ÂÎÎϤäÁê¼ê¤ËÍ¿¤¨¤ë¥À¥á¡¼¥¸¤âÁý²Ã¤¹¤ë¡¥½é¤á¤Î¤¦¤Á¤Ï¤¢¤Ê + ¤¿¤è¤ê¤â¥Ú¥Ã¥È¤ÎÊý¤¬¶¯¤¤¤À¤í¤¦¤«¤é¡¤¥ì¥Ù¥ë¤ÎÄ㤤¥­¥ã¥é¥¯¥¿¤Ë¤È¤Ã¤Æ¤ÏÌò + ¤ËΩ¤Ä¤À¤í¤¦¡¥ + + ¡¡¤¢¤Ê¤¿¤¬Â¾¤Î³¬¤Ø°ÜÆ°¤¹¤ë¤È¤­¡¤Î٤˥ڥåȤòÏ¢¤ì¤Æ¤¤¤ì¤Ð¥Ú¥Ã¥È¤â¤¢¤Ê¤¿ + ¤Ë¤Ä¤¤¤Æ°ÜÆ°¤¹¤ë¡¥ÃÖ¤­µî¤ê¤Ë¤¹¤ë¤ÈÌîÀ¸²½¤·¤Æ¤·¤Þ¤¦¤«¤â¤·¤ì¤Ê¤¤¡¥ + + *** 6.3. ³¼¹ü¤Î³¬ + + ¡¡ËÁ¸±¼Ô¤ÎÍ©Îî¤È¤½¤Î»àÂÎ(¤¢¤ë¤¤¤Ï¤½¤ì¤ÏÀ¸¤Þ¤ìÊѤï¤ëÁ°¤Î¤¢¤Ê¤¿¼«¿È¤Ç¤¢ + ¤ë¤³¤È¤µ¤¨¤¢¤ë)¤ä¡¤¤½¤Î½ê»ýÉʤ˽Ф¯¤ï¤¹¤«¤â¤·¤ì¤Ê¤¤¡¥Í©Îî¤ò»¦¤¹¤³¤È¤Ï + Æñ¤·¤¤¤¬¡¤Æ°¤­¤¬¤Î¤í¤¯¤Û¤È¤ó¤É¥À¥á¡¼¥¸¤ò¼õ¤±¤Ê¤¤¤Î¤Ç´Êñ¤Ëƨ¤²¤ë¤³¤È¤¬ + ¤Ç¤­¤ë¡¥¤¢¤Ê¤¿¤Ï»à¤ó¤ÀËÁ¸±¼Ô¤Î½ê»ýÉʤòÃ¥¤¦¤³¤È¤â¤Ç¤­¤ë¡¥¤·¤«¤·¤½¤ì¤é¤Ï + ¼ö¤¤¤¬¤«¤±¤é¤ì¤Æ¤¤¤ë¤³¤È¤¬Â¿¤¤¡¥°ÊÁ°¤ÎËÁ¸±¼Ô¤ò»à¤ËÅþ¤é¤·¤á¤¿¤â¤Î¤Ë¤Ï¤¹ + ¤Ù¤ÆÃí°Õ¤òʧ¤ï¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥¤½¤ì¤Ï¤¢¤¿¤ê¤ò×Ñ×ˤ·¡¤¤½¤ÎľÁ°¤Î¾¡Íø¤Ë¿ì¤¤ + ¤·¤ì¤Æ¤¤¤ë¤«¤é¤À¡¥ + + *** 7. ʪ + + ¡¡Æ¶·¢¤ÎÃæ¤Ç²¿¤«¤ò¸«¤Ä¤±¤¿¾ì¹ç¡¤¤½¤ì¤ò½¦¤¤¤¿¤¤¤È»×¤¦¤Î¤Ï¤è¤¯¤¢¤ë¤³¤È¤Ç + ¤¢¤ë¡¥ NetHack ¤Ç¤Ï¤½¤Îʪ¤Î¾å¤òÄ̤뤳¤È¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ë½¦¤¦¤³¤È¤¬¤Ç¤­ + (autopickup ¥ª¥×¥·¥ç¥ó(¸å½Ò)¤¬¥ª¥Õ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¤­¤ä 'm' ¥×¥ì¥Õ¥£¥Ã¥¯ + ¥¹(Á°½Ò)¤òÍѤ¤¤Æ°ÜÆ°¤¹¤ë¤È¤­¤Ï¤³¤Î¸Â¤ê¤Ç¤Ï¤Ê¤¤)¡¤¤Þ¤¿¤Ï ',' ¥³¥Þ¥ó¥É¤ò + »È¤Ã¤Æ¼êÆ°¤Ç½¦¤¦¤³¤È¤¬¤Ç¤­¤ë¡¥ + + ¡¡»ýʪ¤¬Â¿¤¹¤®¤ë¤È¤­¤Ë¤Ï¡¤NetHack ¤Ï¤¢¤Ê¤¿¤Ë¤½¤Î¤è¤¦¤Ë¹ð¤²¡¤¤½¤ì°Ê¾å½¦ + ¤¦¤³¤È¤Ï¤Ç¤­¤Ê¤¯¤Ê¤ë¡¥¤½¤¦¤Ç¤Ê¤±¤ì¤Ð NetHack ¤Ï¤½¤Îʪ¤ò¤¢¤Ê¤¿¤Î²Ùʪ¤Ë + ²Ã¤¨¤Æ²¿¤ò½¦¤Ã¤¿¤«¤¬É½¼¨¤µ¤ì¤ë¡¥ + + ¡¡Êª¤ò½¦¤Ã¤¿¤È¤­¤½¤Îʪ¤Ë¤ÏÌÜÏ¿µ­¹æ¤¬³ä¤êÅö¤Æ¤é¤ì¤ë¡¥Êª¤Ë´Ø¤¹¤ë¿¤¯¤Î¥³ + ¥Þ¥ó¥É¤Ï¤¢¤Ê¤¿¤¬¤É¤Îʪ¤ò»È¤¤¤¿¤¤¤Î¤«¤òɬ¤º¿Ò¤Í¤Æ¤¯¤ë¡¥»ýʪ¤Î¤¦¤ÁÆÃÄê¤Î + ʪ¤òÁª¤Ö¤è¤¦¤Ë NetHack ¤¬¿Ò¤Í¤Æ¤­¤¿¤È¤­¤Ï¡¤¤¤¤Ä¤âÌÜÏ¿µ­¹æ¤Î°ìÍ÷¤¬É½¼¨ + ¤µ¤ì¤½¤ÎÃ椫¤éÁª¤Ö( Á°½Ò¤Î¥³¥Þ¥ó¥É¤Î¹à¤ò»²¾È¤Î¤³¤È)¡¥ + + ¡¡¤¤¤¯¤Ä¤«¤Îʪ¡¤Î㤨¤ÐÉð´ïÎà¤Î¤è¤¦¤Êʪ¤Ï¡¤¤É¤ó¤Ê¤â¤Î¤«´Êñ¤Ë¶èÊ̤¬ÉÕ¤± + ¤é¤ì¤ë¡¥¤³¤Î¾¤Îʪ¡¤Î㤨¤Ð´¬Êª¤ä¿åÌô¤Ï¤½¤Î¼ïÎà¤Ë±þ¤¸¤Æ¤¤¤í¤¤¤í¤Ê̾Á°¤¬ + ÉÕ¤±¤é¤ì¤Æ¤¤¤ë¡¥ 1 ²ó¤Î¥²¡¼¥à¤Î´Ö¤ÏƱ¤¸Ì¾Á°¤ò»ý¤Ã¤¿Êª¤ÏƱ¤¸¼ïÎà¤Îʪ¤Ç + ¤¢¤ë¡¥¤·¤«¤·Êª¤ËÉÕ¤±¤é¤ì¤ë̾Á°¤Ï¥²¡¼¥à¤´¤È¤Ë°ã¤¦¤â¤Î¤Ë¤Ê¤ë¡¥ + + ¡¡¤³¤Î¤è¤¦¤Êʪ¤ò»È¤¦¾ì¹ç¡¤¤â¤·¤½¤Î¸ú²Ì¤¬ÌÀ¤é¤«¤Ê¾ì¹ç¤Ï NetHack ¤¬¤½¤ì + ¤¬²¿¤Ç¤¢¤ë¤«¤ò²±¤¨¤Æ¤¤¤Æ¤¯¤ì¤ë¡¥¤½¤Î¸ú²Ì¤¬¤¢¤Þ¤êÌÀ¤é¤«¤Ç¤Ê¤¤¾ì¹ç¤Ï¤½¤Î + ʪ¤Î¼ïÎà¤ò²¿¤È̾ÉÕ¤±¤ë¤«¿Ò¤Í¤Æ¤¯¤ë¡¥¤³¤Î¤¿¤á¸å¤Ë¤Ê¤Ã¤Æ¤½¤ì¤ò»×¤¤½Ð¤¹¤³ + ¤È¤¬¤Ç¤­¤ë¡¥¤Þ¤¿¤¤¤Ä¤Ç¤â¡Ö#name¡×¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆƱÍͤΤ³¤È¤¬¤Ç¤­¡¤¤¢ + ¤ë¼ïÎà¤Îʪ¤¹¤Ù¤Æ¤Ë̾Á°¤òÉÕ¤±¤¿¤ê¸Ä¡¹¤Îʪ¤Ë̾Á°¤òÉÕ¤±¤¿¤ê¤Ç¤­¤ë¡¥ + + *** 7.1. ¼ö¤¤¤È½ËÊ¡ + + ¡¡¤¢¤Ê¤¿¤¬È¯¸«¤·¤¿¤¤¤í¤¤¤í¤Êʪ¤Ï¡¤¤¿¤È¤¨¤½¤ì¤¬Ìò¤ËΩ¤Ä¤â¤Î¤Ç¤¢¤Ã¤¿¤È¤· + ¤Æ¤â¼ö¤¤¤¬¤«¤±¤é¤ì¤Æ¤¤¤ë¤«¤âÃΤì¤Ê¤¤¡¥¼ö¤¤¤¬¤«¤±¤é¤ì¤Æ¤¤¤ëʪ¤ò»È¤¦¤È¤½ + ¤Î¥¢¥¤¥Æ¥à¤¬Ä¥¤êÉÕ¤¤¤Æ¤·¤Þ¤¦¤³¤È¤ÏºÇ¤â¤è¤¯¸«¤é¤ì¤ë·ë²Ì¤Ç¤¢¤ë¡¥¼ö¤¤¤¬¤« + ¤±¤é¤ì¤Æ¤¤¤ëÉð´ï¤ò»ý¤Ä¤È¤½¤ì¤Ï¼ê¤ËÄ¥¤êÉÕ¤¤¤Æ¤·¤Þ¤Ã¤Æ¼è¤ì¤Ê¤¯¤Ê¤ë¡¥¼ö¤¤ + ¤¬¤«¤±¤é¤ì¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤ò¿È¤Ë¤Ä¤±¤ë¤ÈÉáÄ̤ÎÊýË¡¤Ç¤Ï¤Ï¤º¤¹¤³¤È¤¬¤Ç¤­¤Ê + ¤¤¡¥¤µ¤é¤Ë¡¤¼ö¤¤¤¬¤«¤±¤é¤ì¤Æ¤¤¤ëÉð´ï¤äËɶñ¤Ë¤Ïɬ¤º¤È¸À¤¦¤ï¤±¤Ç¤Ï¤Ê¤¤¤¬ + ¤¿¤¤¤Æ¤¤¤Î¾ì¹çÉé¤ÎËâÎϤ¬Í¿¤¨¤é¤ì¤Æ¤¤¤Æ¡¤¤½¤¦¤Ç¤Ê¤¤Êª¤è¤ê¤âÀïÆ®»þ¤Î¸úÎÏ + ¤¬Îô¤ë¡¥¤½¤Î¾¤Î¼ö¤¤¤¬¤«¤±¤é¤ì¤Æ¤¤¤ëʪ¤Ï¡¤¤½¤Î¾¤ÎÅÀ¤Ç¤¢¤Þ¤êÌò¤ËΩ¤¿¤Ê + ¤«¤Ã¤¿¤ê¤Þ¤¿¤Ï³²¤òµÚ¤Ü¤¹¤³¤È¤¬¤¢¤ë¤«¤âÃΤì¤Ê¤¤¡¥ + + ¡¡¤Þ¤¿½ËÊ¡¤µ¤ì¤Æ¤¤¤ëʪ¤â¤¢¤êÆÀ¤ë¡¥½ËÊ¡¤µ¤ì¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤Ï¼ö¤¤¤¬¤«¤±¤é + ¤ì¤Æ¤¤¤Ê¤¤ÉáÄ̤Υ¢¥¤¥Æ¥à¤ËÈæ¤Ù¤Æ¶ñ¹çÎɤ¯Æ¯¤­Ìò¤ËΩ¤Ä¡¥Î㤨¤Ð½ËÊ¡¤µ¤ì¤¿ + Éð´ï¤Ï°­µ´¤¿¤Á¤Ë°ìÁؤΥÀ¥á¡¼¥¸¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤À¤í¤¦¡¥ + + ¡¡ËâË¡¤ò»È¤¦¤Èʪ¤Ë¼ö¤¤¤ò¤«¤±¤¿¤ê¼ö¤¤¤ò²ò¤¤¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥¤³¤Î¤¿ + ¤á¤¿¤È¤¨¥¢¥¤¥Æ¥à¤¬Ä¥¤êÉÕ¤¤¤Æ¤·¤Þ¤Ã¤Æ¤â¡¤¼ö¤¤¤ò²ò¤¤¤Æ¤Ï¤º¤¹¤³¤È¤¬¤Ç¤­¤ë¡¥ + ÁÎη¤ÏÀ¸Íè¼ö¤¤¤ä½ËÊ¡¤ËÉÒ´¶¤Ê¤Î¤Ç¡¤Â¾¤Î¿¦¶È¤ÎËÁ¸±¼Ô¤è¤ê¤âÍưפ˼ö¤ï¤ì¤Æ + ¤¤¤ë¤â¤Î¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + + ¡¡¤¢¤Ê¤¿¤Î»ýʪ¤ÎÌÜÏ¿¤ÎÃæ¤Ç¼ö¤¤¤¬¤«¤±¤é¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«Ê¬¤«¤é¤Ê¤¤¥¢¥¤¥Æ + ¥à¤ÏÌÜÏ¿¤Î¤Ê¤«¤Ç²¿¤âÁ°ÃÖ¤¬¤Ê¤¤¡¥¤É¤ó¤Ê¾õÂ֤ˤ¢¤ë¤«ÃΤäƤ¤¤ë¥¢¥¤¥Æ¥à¤Ï + ÌÜÏ¿°ìÍ÷¤Ç¡Ö¼ö¤ï¤ì¤¿¡×¡Ö¼ö¤ï¤ì¤Æ¤¤¤Ê¤¤¡×¡Ö½ËÊ¡¤µ¤ì¤¿¡×¤Ê¤É¤Îµ­½Ò¤¬¥¢¥¤ + ¥Æ¥à¤ËÍ¿¤¨¤é¤ì¤ë¡¥ + + *** 7.2. Éð´ï (')') + + ¡¡¶²ÉݤÎ̵ܤ˽»¤à¤Û¤È¤ó¤É¤¹¤Ù¤Æ¤Î²øʪ¤Ï¡¤¥Á¥ã¥ó¥¹¤È¸«¤ì¤Ð¸«¶­¤Ê¤¯¤¢¤Ê + ¤¿¤ò»¦¤½¤¦¤È¤¹¤ë¤À¤í¤¦¡¥¼«Ê¬¤Î¿È¤ò¼é¤ë(Àè¤Ë²øʪ¤ò»¦¤·¤Æ¤·¤Þ¤¦)¤¿¤á¤Ë¤¢ + ¤Ê¤¿¤ÏÉð´ï¤òɬÍפȤ¹¤ë¡¥Éð´ï¤Ê¤·¤Ç¤Ï¥Ý¥¤¥ó¥È¤Ë¤·¤Æ 1 ¡Á 2 ¤Î¥À¥á¡¼¥¸ + (¤¤¤¯¤é¤«¤Î²Ã»»¤¬¤¢¤ë¤«¤âÃΤì¤Ê¤¤¤¬)¤òÍ¿¤¨¤ë¤³¤È¤·¤«¤Ç¤­¤Ê¤¤¡¥ + + ÄÊÌ·¤ä·õ¤Î¤è¤¦¤Ê¿¶¤ê²ó¤¹¤¿¤á¤ÎÉð´ï¡¤¤Þ¤¿Ìð¤Î¤è¤¦¤ÊÅꤲ¤Ä¤±¤ë¤¿¤á¤ÎÉð + ´ï¤¬¤¢¤ë¡¥Éð´ï¤Ç²øʪ¤ËÂÇ·â¤òÍ¿¤¨¤ë¤¿¤á¤Ë¤Ï¡¤Éð´ï¤ò¼ê¤Ë¤â¤Ã¤Æ²øʪ¤ò¹¶·â + ¤¹¤ë¤«Éð´ï¤ò²øʪ¤ËÅꤲ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥Åꤲ¤ë¤Ë¤Ï¡¤Ã±½ã¤ËÁä¤òÅꤲ¤ë¤è + ¤¦¤ËÁªÂò¤¹¤ë¤À¤±¤Ç¤è¤¤¡¥ + + µÝ¤«¤éÌð¤òȯ¼Í¤¹¤ë¤Ë¤Ï¡¤¤Þ¤ºµÝ¤ò¼ê¤Ë»ý¤Ã¤Æ¤«¤éÌð¤òÅꤲ¤ì¤Ð¤è¤¤¡¥¥¯¥í¥¹ + ¥Ü¥¦¤Ï¥¯¥í¥¹¥Ü¥¦ÍѤÎÂÀÌð¤òȯ¼Í¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡¥ÅêÀдï¤Ï´ä¤ä(¾¤Î) + ÊõÀФòÅꤲ¤Ä¤±¤ë¤¿¤á¤ËÍѤ¤¤ë¡¥Éð´ï¤Ï°ìÅÙ¤Ë 1 ¤Ä¤·¤«»ý¤Ä¤³¤È¤¬¤Ç¤­¤Ê¤¤ + ¤¬¡¤¼ö¤¤¤¬¤«¤±¤é¤ì¤¿Éð´ï¤ò¼ê¤Ë¤·¤Æ¤¤¤ë¤Î¤Ç¤Ê¤±¤ì¤ÐÉð´ï¤ò»ý¤ÁÂ夨¤ë¤³¤È + ¤¬¤Ç¤­¤ë¡¥ÁǼê¤Ë¤Ê¤ë¤Ë¤Ï '-'¤òÁõÈ÷¤¹¤ë¡¤¤â¤·¤¯¤Ï¡¤'A'¥³¥Þ¥ó¥É¤ÇÉð´ï¤ò¤Ï + ¤º¤»¤Ð¤è¤¤¡¥ + + ¡Ö#enhance¡×¥³¥Þ¥ó¥É¤ÏÉð´ï¤Îµ»Î̤ò¹â¤á¤³¤È¤¬¤Ç¤­¤ë¤«¤É¤¦¤«¡¤¤â¤·¤¯¤Ï³Æ + ¼ïÉð´ï¤Î½ÏÎýÅÙ¤ò¼¨¤¹¡¥ + + ¡¡ËâÎϤΤ¢¤ëÉð´ï¤Ë¤Ï¡Ö¡Üµ­¹æ¡×(¤â¤·¤¯¤Ï¹¶·âǽÎϤȸÀ¤¦¤³¤È¤ÇÀµ¤ÈÉé¤Îξ + ¤ò¤È¤ê¤¦¤ë)¤¬ÉÕ¤±¤é¤ì¤Æ¤ª¤ê¡¤¹¶·â¤¬²øʪ¤ËÅö¤ë²ÄǽÀ­¤¬Â礭¤¯¤Ê¤êÍ¿¤¨¤ë + ¥À¥á¡¼¥¸¤âÂ礭¤¯¤Ê¤ë¡¥Éð´ï¤ÎËâÎϤò¬Äꤹ¤ë¤Ë¤Ï¡¤¤Ê¤ó¤é¤«¤ÎÊýË¡¤ÇËâË¡¤ò + »È¤Ã¤Æ´ÕÄꤹ¤ë¤·¤«¤Ê¤¤¡¥ + + ¿¤¯¤ÎÉð´ï¤Ï»¬¤Î¤è¤¦¤Ê¤¢¤ë¼ï¤Î¥À¥á¡¼¥¸¤ò¼õ¤±¤ä¤¹¤¤¡¥¤³¤Î¤è¤¦¤Ê¥À¥á¡¼ + ¥¸¤Ï½¤Éü²Äǽ¤Ç¤¢¤ë¡¥ + + ¡¡AD&D ¤ò¥×¥ì¥¤¤·¤¿¤³¤È¤Î¤¢¤ëÆɼԤϤªµ¤ÉÕ¤­¤À¤í¤¦¤¬¡¤AD&D ¤ËÅо줹¤ëÉð + ´ï¤Ï¤¤¤º¤ì¤â NetHack ¤Ë¤ª¤¤¤Æ¤â²øʪ¤ËƱ¤¸¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡¥¤¢¤Þ¤êÎɤ¯ + ÃΤé¤ì¤Æ¤¤¤Ê¤¤Éð´ï(¥¢¥­¥ê¥¹¡¤¥ë¥Ã¥Ä¥§¥ó¥Ï¥ó¥Þ¡¼¡¤¥Ù¥Ã¥°¡¦¥Ç¡¦¥³¥ë¥Ó¥ó + ¤Ê¤É)¤Î¤¤¤¯¤Ä¤«¤Ï AD&D ¤ÎÄɲå롼¥ë¤Ç¤¢¤ë Unearthed Arcana ¤ÎÉÕÏ¿¤Ç¾Ü + ¤·¤¯ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¡¥ + + ¡¡Éð´ï¤ò»È¤¦¥³¥Þ¥ó¥É¤Ï 'w'(wield: Éð´ï¤ò»ý¤Ä) ¤È 't'(throw: Åꤲ¤ë)¤È + ¡Ö#enhance¡× ¤Ç¤¢¤ë¡¥ + + *** 7.3. Ëɶñ ('[') + + ¡¡Èóͧ¹¥Åª¤Êʪ¤¬Æ¶·¢¤Ë¤ÏÀø¤ó¤Ç¤¤¤ë¡¥¤½¤¦¤¤¤Ã¤¿Êª¤«¤é¤Î¹¶·â¤«¤é²æ¿È¤ò¼é + ¤ë¤Ë¤ÏËɶñ¤¬É¬ÍפǤ¢¤ë¡¥Ëɶñ¤ÎÃæ¤Ë¤Ï¾¤Î¼ïÎà¤ÎËɶñ¤è¤ê¤âËɸæ¸ú²Ì¤ËÍ¥¤ì + ¤¿Êª¤¬¤¢¤ë¡¥ÁõÈ÷ÃͤϤ³¤ÎËɸæ¸ú²Ì¤Î¼ÜÅ٤Ǥ¢¤ë¡¥ÁõÈ÷ÃÍ (AC)¤Ï AD&D ¤Ç¤Î + ¾ì¹ç¤ÈƱ¤¸¤è¤¦¤Ëɾ²Á¤µ¤ì¤ë¡¥10 ¤¬Ëɶñ¤Ê¤·¤Î¾õÂÖ¤ÈÅù¤·¤¯¡¤¿ôÃͤ¬¾®¤µ¤¤ + ¤Û¤ÉÍ¥¤ì¤¿Ëɶñ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡¥AD&D ¤Ë¸ºß¤¹¤ë³»¤Ï¤¤¤º¤ì¤â NetHack ¤Ë + ¤ª¤¤¤Æ¤âƱ¤¸Ëɸæ¸ú²Ì¤ò¼¨¤¹¡¥°Ê²¼¤Ë(ÉÔ´°Á´¤Ç¤Ï¤¢¤ë¤¬) ³Æ¼ï¤Î³»¤´¤È¤Ëµ¬ + Äꤵ¤ì¤ëÁõÈ÷ÃͤΰìÍ÷¤ò¼¨¤¹¡¥ + + ¥É¥é¥´¥ó¤ÎÎÚ³» 1 + ¿å¾½¤Î³» 3 + ¹ÝÅ´¤Î³» 3 + ÀÄƼ¤Î³» 4 + Å´ÊҤγ» 4 + ÂÓ¶â¤Î³» 4 + ¥¨¥ë¥Õ¤Î¥ß¥¹¥ê¥ëÉþ 5 + º¿¤«¤¿¤Ó¤é 5 + Îڤγ» 6 + Å´´Ä¤Î³» 7 + ÉÆÉÕ¤­Èé³» 7 + Èé³» 8 + ³»¤Ê¤· 10 + + ¡¡¤µ¤é¤Ë¾¤ÎËɶñ(Îã: ³õ¡¤·¤¡¤½Ý¡¤¥¯¥í¡¼¥¯) ¤ò¿È¤Ë¤Ä¤±¡¤ÁõÈ÷ÃͤÎÃͤò¾® + ¤µ¤¯¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡¥¤¿¤À¤·Æ±¤¸ÈÏáƤËÆþ¤ë¥¢¥¤¥Æ¥à¤Ï 1 ¤Ä¤·¤«¿È¤Ë¤Ä¤± + ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤(³»¤Ï°ì¼°¡¤¥¯¥í¡¼¥¯¤Ï1Ã塤³õ¤Ï1¸Ä¡¤½Ý¤Ï1Ëç¤Ê¤É)¡¥ + + ¡¡Ëɶñ¤ËËâÎϤ¬¤¢¤ì¤Ð¤½¤ÎËɶñ¤ÎËɸæ¸ú²Ì¤ÏÄ̾ï¤Îʪ¤è¤ê¤âÎɤ¯(¤â¤·¤¯¤Ï°­ + ¤¯)¤Ê¤Ã¤Æ¤ª¤ê¡¤¤½¤ì¤ËÉÕ¤¤¤Æ¤¤¤ë¡Ö¡Üµ­¹æ¡×(¤¢¤ë¤¤¤Ï¡Ýµ­¹æ)¤Îʬ¤À¤±ÁõÈ÷ + ÃͤÎÃͤ¬¾®¤µ¤¯¤Ê¤ë¡¥Î㤨¤Ð +1 º¿¤«¤¿¤Ó¤é ¤Ï¡¤Ä̾ï¤Îº¿³»¤è¤ê¤âËɸæ¸ú²Ì + ¤¬¹â¤¯¡¤ÁõÈ÷ÃÍ¤Ï 1 ñ°Ìʬ¾®¤µ¤¯¤Ê¤Ã¤Æ 4 ¤Ë¤Ê¤ë¡¥Ëɶñ¤ò¿È¤Ë¤Ä¤±¤ë¤Èľ¤Á + ¤ËÁõÈ÷Ãͤȡ֡ܵ­¹æ¡×¤ÎÃͤ¬Ê¬¤«¤ë¡¥¼ö¤¤¤¬¤«¤±¤é¤ì¤¿Ëɶñ¤ÏÄ̾ïÉé¤ÎËâÎÏ + (¡Ýµ­¹æ)¤ò»ý¤Ã¤Æ¤ª¤ê¡¤¼è¤ê¤Ï¤º¤¹¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + ¿¤¯¤Î³»¤Ï»¬¤Î¤è¤¦¤Ê¤¢¤ë¼ï¤Î¥À¥á¡¼¥¸¤ò¼õ¤±¤ä¤¹¤¤¡¥¤³¤Î¤è¤¦¤Ê¥À¥á¡¼¥¸ + ¤Ï½¤Éü²Äǽ¤Ç¤¢¤ë¡¥¤¤¤¯¤Ä¤«¤Î³»¤ÏËâË¡¤ò¾§¤¨¤ë¤Î¤ò˸¤²¤ë¡¥ + + + ¡¡³»¤ò»È¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ï 'W'(wear: Ëɶñ¤òÉÕ¤±¤ë) ¤È 'T'(take off: ËÉ + ¶ñ¤ò¤Ï¤º¤¹) ¤Ç¤¢¤ë¡¥ 'A'(remove all: Á´¤Æ¤ò¤Ï¤º¤¹)¤â¤Þ¤¿Â¾¤Î¿È¤Ë¤Ä¤±¤ë + ¤â¤ÎƱÍÍ¡¤Ëɶñ¤ò¤Ï¤º¤¹¤Î¤Ë»ÈÍѤǤ­¤ë¡¥ + + *** 7.4. ¿©ÎÁ ('%') + + ¡¡À¸¤­¤Î¤Ó¤ë¤Ë¤Ï¿©ÎÁ¤¬ÉԲķç¤Ç¤¢¤ë¡¥Ä¹¤¤´Ö¿©ÎÁ¤ò¸ý¤Ë¤·¤Ê¤¤¤Þ¤ÞÊ⤯¤È¤ä + ¤¬¤ÆºªÅݤ·¡¤½ù¡¹¤Ë²î»à¤Ø¤ÎÆ»¤ò¤¿¤É¤ë¤³¤È¤Ë¤Ê¤ë¡¥Êݸ¤Î½èÃÖ¤ò¼è¤Ã¤Æ¤Ê¤¤ + ¤È½ý¤ó¤Ç¤·¤Þ¤¤¡¤¿©¤Ù¤ë¤Ë¤ÏÉÔ±ÒÀ¸¤Ë¤Ê¤ë¿©ÎÁ¤â¤¢¤ë¡¥¥¢¥¤¥¹¥Ü¥Ã¥¯¥¹¤ä´Ì¤Ë + Æþ¤Ã¤Æ¤¤¤ë¿©ÎÁ¤ÏÄ̾ï¤Ï¤¤¤Ä¤Þ¤Ç¤â½ý¤Þ¤Ê¤¤¤¬¡¤¥¢¥¤¥¹¥Ü¥Ã¥¯¥¹¤Ï½Å¤¤¤·¡¤´Ì + ¤Ï³«¤±¤ë¤Î¤Ë¾¯¤·¤Ð¤«¤ê»þ´Ö¤¬É¬ÍפǤ¢¤ë¡¥ + + ¡¡²øʪ¤ò»¦¤¹¤ÈÄ̾ï¤Ï¤½¤Î»àÂΤ¬»Ä¤ë¤¬¡¤¤³¤ì¤Ï¡Ö¿©ÎÁ¡×¤Ë¤â¤Ê¤ë¡¥¤¹¤Ù¤Æ¤È + ¸À¤¦¤ï¤±¤Ç¤Ï¤Ê¤¤¤¬Â¿¤¯¤Ï¿©¤Ù¤é¤ì¤ë¤·¡¤Ãæ¤Ë¤Ï¿©¤Ù¤ë¤ÈÆÃÊ̤ÊÎϤ¬¤Ä¤¯¤â¤Î + ¤â¤¢¤ë¡¥Â礶¤Ã¤Ñ¤Ë¸À¤¨¤Ð¡Ö¿©¤Ù¤¿¤â¤Î¤Ë¤Ê¤ë¡×¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡¥ + + ¡¡fruit ¥ª¥×¥·¥ç¥ó¤¬¥¤¥ó¥×¥ê¥á¥ó¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¤¤³¤ì¤Ë¤è¤Ã¤Æ¤¢¤Ê¤¿ + ¤Î¹¥Êª¤Î¿©ÎÁ¤Ë¤Á¤Ê¤ó¤Ç¤½¤Î̾Á°¤ò1¤ÄÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + + ¡¡¿©ÎÁ¤ò¿©¤Ù¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ï 'e' ¤Ç¤¢¤ë¡¥ + + *** 7.5. ´¬Êª ('?') + + ¡¡´¬Êª¤Ë¤Ï¤¤¤í¤¤¤í¤ÊɽÂ꤬ÉÕ¤±¤é¤ì¤Æ¤¤¤ë¤¬¡¤¤³¤ì¤Ï¤ª¤½¤é¤¯¤¤¤Ë¤·¤¨¤Î¥¦¥£ + ¥¶¡¼¥É¤¿¤Á¤¬²ËÄÙ¤·¤È¤·¤ÆÁª¤ó¤À¤Î¤Ç¤¢¤í¤¦(Îã:¡Ö¤¦¤·¤í¤ò¤ß¤í¡×¤È¤«¡Ö¤ª¤í + ¤«¤Ö¡¼¡×) ´¬Êª¤ÏÆɤà¤È¾ÃÌǤ¹¤ë(¤¿¤À¤·ËâË¡¤Î¼öʸ¤Î½ñ¤«¤ì¤Æ¤¤¤Ê¤¤Çò»æ¤Ï + ¾ÃÌǤ·¤Ê¤¤)¡¥ + + ¡¡¤³¤ì¤é¤ÎÃæ¤ÇºÇ¤âÍøÍѲÁÃͤι⤤¤â¤Î¤Ï¼±Ê̤δ¬Êª¤Ç¤¢¤ë¡¥¤³¤ì¤Ï¾¤Îʪ¤É + ¤ì¤« 1 ¤Ä¤Ë¤Ä¤¤¤Æ¤½¤ì¤¬²¿¤Ç¤¢¤ë¤«¡¤¼ö¤¤¤¬¤«¤±¤é¤ì¤Æ¤¤¤ë¤«½ËÊ¡¤µ¤ì¤Æ¤¤ + ¤ë¤«¡¤¤¢¤È²¿²ó¸úÎϤòȯ´ø¤Ç¤­¤ë¤«¤ò³ÎÄê¤Ç¤­¤ë¡¥ÆÀÂΤÎÃΤì¤Ê¤¤ËâÎϤò»ý¤Ä + ʪ¤ÎÃæ¤Ë¤Ï¤³¤Î´¬Êª¤Ê¤·¤Ç¤Ï²¿¤Ç¤¢¤ë¤«´ÕÄꤷÆñ¤¤¤â¤Î¤â¤¢¤ë¡¥ + + ¥á¥¤¥ë¥Ç¡¼¥â¥ó¤¬Áö¤ê¤Þ¤ï¤ê¤¢¤Ê¤¿¤Ë¡Ö¼ê»æ¤Î´¬Êª¡×¤òÅϤ·¤Æ¤¯¤ì¤ë(¤³¤Î + µ¡Ç½¤òÍ­¸ú¤Ë¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¥Ð¡¼¥¸¥ç¥ó¤Î¾ì¹ç)¡¥NetHack¤Î¥á¡¼¥ë + ÇÛ㵡ǽ¤Ï¥·¥¹¥Æ¥à¤Î¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤ËÅŻҥ᡼¥ë¤¬¤ä¤Ã¤Æ¤­¤¿¾ì¹ç¤Ëµ¯Æ°¤µ + ¤ì¤ë¡¥¤³¤Îµ¡Ç½¤ò»ÈÍѤ¹¤ë¤Ë¤Ï´Ä¶­ÊÑ¿ô¡ÖMAIL¡×¤Ë¤¢¤Ê¤¿¤Î¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤Î + ¥Õ¥¡¥¤¥ë̾¤òÀßÄꤷ¤Æ NetHack ¤Ë¿·¤·¤¤¥á¡¼¥ë¤òõ¤¹¾ì½ê¤òÃΤ餻¤ëɬÍפ¬ + ¤¢¤ë¡¥¤Þ¤¿Ë¾¤à¤Ê¤é¤Ð´Ä¶­ÊÑ¿ô¡ÖMAILREADER¡×¤Ë»È¤¤¤¿¤¤¥á¡¼¥ë¼õ¿®¥×¥í¥°¥é + ¥à¤Î¥Õ¥¡¥¤¥ë̾¤òÀßÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡¥¤³¤Î¤È¤­ NetHack ¤«¤é¤½¤Î¥×¥í¥° + ¥é¥à¤òµ¯Æ°¤·¤Æ¤½¤Î´¬Êª¤òÆɤळ¤È¤¬¤Ç¤­¤ë¡¥¥á¥¤¥ë¤¬¥²¡¼¥àÆâ¤Ë¤ª¤¤¤Æ¥é¥ó + ¥À¥à¤ËÀ¸À®¤µ¤ì¤ëNetHack¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¤³¤ì¤é¤Î´Ä¶­¤ÏÊÑ¿ô¤Ï̵»ë¤µ¤ì¤ë¡¥ + ¥á¥¤¥ë¤Ï¥ª¥×¥·¥ç¥ó¤Ç¥ª¥Õ¤Ë¤Ç¤­¤ë¡¥ + + ¡¡´¬Êª¤òÆɤि¤á¤Î¥³¥Þ¥ó¥É¤Ï 'r' ¤Ç¤¢¤ë¡¥ + + *** 7.6. ¿åÌô ('!') + + ¡¡¿åÌô¤Ï¾®¤Ó¤ó¤ËÆþ¤Ã¤Æ¤¤¤ë±ÕÂΤο§¤Ë¤è¤Ã¤Æ¶èÊ̤µ¤ì¤ë¡¥¿åÌô¤Ï°û¤à¤È¾ÃÌÇ + ¤·¤Æ¤·¤Þ¤¦¡¥ + + ¡¡Æ©ÌÀ¤Ê¿åÌô¤Ï¿å¤Ç¤¢¤ë¡¥¤³¤ì¤é¤Ï¤·¤Ð¤·¤Ð½ËÊ¡¤µ¤ì¤Æ¤¤¤¿¤ê¼ö¤¤¤¬¤«¤±¤é¤ì + ¤Æ¤¤¤¿¤ê¤·¤Æ¡¤À»¿å¤äÉÔ¾ô¤Ê¿å¤Ë¤Ê¤Ã¤¿¤ê¤¹¤ë¡¥ÉÔ»à¤Î²øʪ¤Ë¤È¤Ã¤ÆÀ»¿å¤ÏÍ­ + ³²¤Ê¤Î¤Ç¡¤À»¿å¤òÉÔ»à¤Î²øʪ¤ËÅꤲ¤Ä¤±¤ë('t')¤ÈÍ­¸ú¤Ç¤¢¤ë¡¥À»¿å¤Ë¾¤Îʪ + ¤ò¿»¤¹(#dip)¤Î¤â¤¿¤¤¤Ø¤óÍ­±×¤Ç¤¢¤ë¡¥ + + ¡¡¿åÌô¤ò°û¤à¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ï 'q'(quaff: °û¤à) ¤Ç¤¢¤ë¡¥ + + *** 7.7. ¾ó ('/') + + ¡¡ËâË¡¤Î¾ó¤ÏÄ̾ﲿ²ó¤âËâÎϤòȯ´ø¤¹¤ë¡¥¾ó¤ÎÃæ¤Ë¤ÏÊý¸þÀ­¤Î¤¢¤ë¤â¤Î¤¬¤¢¤ê¡¤ + ¤³¤Î¾ì¹ç¾ó¤ò¿¶¤ëÊý¸þ¤ò»Ø¼¨¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥¾ó¤ò¼«Ê¬¤Ë¸þ¤±¤Æ¿¶¤ë¤³¤È + ¤â¤Ç¤­¤ë(Êý¸þ¤È¤·¤Æ '.' ¤« 's' ¤òÆþÎϤ¹¤ë)¤¬¡¤¤³¤ì¤Ï¤·¤Ð¤·¤Ð¶ò¤«¤Ê¹Ô°Ù + ¤È¤Ê¤ë¡¥¤½¤Î¾¤Î¾ó¤Ë¤ÏÊý¸þÀ­¤¬¤Ê¤¯¡¤¾ó¤ò¿¶¤ëÊý¸þ¤ò¿Ò¤Í¤Æ¤³¤Ê¤¤¡¥¾ó¤¬¸ú + ÎϤòȯ´ø¤¹¤ë²ó¿ô¤Ï¾ó¤´¤È¤ËÉÔÄê¤Ç¡¤¾ó¤ò»È¤¦Å٤ˤ½¤Î²ó¿ô¤Ï 1 ¤º¤Ä¸º¤ë¡¥ + + ¾ó¤ÎËâË¡¤ÎÎ̤¬¤Ê¤¯¤Ê¤ë¤È¡¤Ä̾ï¤Ï¾ó¤ò»ÈÍѤ·¤Æ¤â²¿¤âµ¯¤­¤Ê¤¤¡¥¤·¤«¤·¤Ê + ¤¬¤é»þÀÞ¡¤ºÇ¸å¤Î°ì°®¤ê¤ÎËâÎϤò»È¤¤¤­¤Ã¤¿¾ó¤«¤éºñ¤ê¼è¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡¥ + + ¼«Ë½¼«µÔ¤Ê¤Ê¹Ô°Ù¤Ç¤Ï¤¢¤ë¤¬¡¤¤É¤¦¤Ë¤â¤Ê¤é¤Ê¤¯¤Ê¤Ã¤¿¤È¤­¾ó¤ò²õ¤·¤Æ¤â¤è + ¤¤¡¥¤³¤ì¤Ï¼åµ¤¤Ê¹Ô°Ù¤Ç¤Ï¤Ê¤¤¡¥¤½¤ì¤ò¹Ô¤¦¤³¤È¤Ë¤è¤ê¡¤Ç˲õŪ¤ÊËâË¡¤Î¥¨¥Í + ¥ë¥®¡¼¤¬²òÊü¤µ¤ì¤ë¤«¤é¤Ç¤¢¤ë¡¥ + + ¡¡¾ó¤ò»È¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ï 'z'(zap: ¾ó¤ò¿¶¤ë) ¤Ç¤¢¤ë¡¥²õ¤¹¤Ë¤Ï 'a' + (apply: Æ»¶ñ¤ò»È¤¦)¤Ç¤¢¤ë¡¥ + + *** 7.8. »ØÎØ ('=') + + ¡¡»ØÎؤÏÂçÊÑÌò¤ËΩ¤Ä¥¢¥¤¥Æ¥à¤Ç¤¢¤ë¡¤¤È¤¤¤¦¤Î¤â¿åÌô¤ä´¬Êª¤ä¾ó¤Î¤è¤¦¤ËËâ + ÎϤ¬°ì²áÀ­¤Ë¤·¤«Æ¯¤«¤Ê¤¤¤â¤Î¤È°ã¤¤¡¤»ØÎؤÎËâÎϤÏÈæ³ÓŪ¹±µ×Ū¤Ç¤¢¤ë¤«¤é + ¤À¡¥ + + »ØÎؤò¤Ï¤á¤ë¤³¤È¤Ë¤è¤Ã¤Æ¤½¤ÎËâÎϤÏȯ´ø¤µ¤ì¤ë¡¥»ØÎؤÏξ¼ê¤ÎÌô»Ø¤Ë 1¤Ä + ¤º¤Ä¡¤·× 2 ¤Ä¤·¤«¤Ï¤á¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + ¡¡¤Þ¤¿¤¿¤¤¤Æ¤¤¤Î»ØÎؤϿȤˤĤ±¤ë¤ÈÊ¢¤Î¸º¤êÊý¤¬Â®¤¯¤Ê¤ë¡¥¸º¤êÊý¤Ï»ØÎؤΠ+ ¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¡¥ + + ¡¡»ØÎؤò»È¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ï 'P'(put on: »ØÎؤò¤Ï¤á¤ë) ¤È 'R'(remove: + »ØÎؤò¤Ï¤º¤¹) ¤Ç¤¢¤ë¡¥ + + *** 7.9. ËâË¡½ñ ('+') + + ¡¡ËâË¡½ñ¤Ï¶¯ÎϤÊËâË¡¤òµ­¤·¤¿Â礭¤ÊËܤǤ¢¤ë¡¥'r'(read: Æɤà) ¥³¥Þ¥ó¥É¤Ç + ³Ø¤Ö¤È¼öʸ¤ÎÃ챤¬¿È¤Ë¤Ä¤¯¤«¡¤¤µ¤â¤Ê¤¯¤Ð¤½¤Î»î¤ß¤ÏÉÔ¬¤Î·ë²Ì¤Ë½ª¤ë¡¥¼ö + ¤¤¤¬¤«¤±¤é¤ì¤¿ËâË¡½ñ¤äÃμ±¤ÎµÚ¤Ð¤Ê¤¤¿ÀÈë¤Î¸ÅÂåʸ»ú¤Çµ­¤µ¤ì¤¿ËâË¡½ñ¤òÆÉ + ¤à¤È·ò¹¯¾õÂ֤˳²¤¬µÚ¤Ö²ÄǽÀ­¤¬¤¢¤ë¡ª + + ¡¡¼öʸ¤ò¾§¤¨¤¿¤È¤­(³Ø¤ó¤Ç¤¤¤ë»þ¤â)¤Ë¤âËâÎϤ¬µÕή¤¹¤ë¤³¤È¤â¤¢¤ë¡¥¤¢¤Ê¤¿ + ¤Î·Ð¸³¥ì¥Ù¥ë¤Ç¤Ï±ó¤¯µÚ¤Ð¤Ê¤¤¹âÅ٤ʼöʸ¤ò¾§¤¨¤è¤¦¤È»î¤ß¤¿¤ê¡¤¤Ò¤É¤¯¤Ä¤¤ + ¤Æ¤Ê¤¤¤È¤­¤Ë¼öʸ¤ò¾§¤¨¤¿¤ê¤¹¤ë¤È¡¤¼öʸ¤ò¾§¤¨¤ë¤Î¤ËɬÍפʥ¨¥Í¥ë¥®¡¼¤È»þ + ´Ö¤òϲÈñ¤·¤¿¤À¤±¤Ë½ª¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤â¤¢¤ë¡¥ + + ¡¡¼öʸ¤ò¾§¤¨¤ë¤³¤È¤Ï¡¤ËâË¡¤Î¥¨¥Í¥ë¥®¡¼¤ò¸Æ¤Óµ¯¤³¤·¤Æ¤½¤ì¤òÀº¿À¤½¤Î¤â¤Î + ¤Ë½¸Ã椵¤»¤ë¤³¤È¤Ç¤¢¤ë¡¥ËâË¡¤Î¥¨¥Í¥ë¥®¡¼¤òÊü¤Ä¤È¤­¤Ë¤Ï¼öʸ¤Ë´Ø¤¹¤ëµ­²± + ¤Î°ìÉô¤âƱ»þ¤Ë¼º¤ï¤ì¤ë¡¥¤¢¤ë¼öʸ¤ò¾§¤¨¤ëÅ٤ˤ½¤Î¼öʸ¤ËÂФ¹¤ë¤·Ø¤¬Àõ¤¯ + ¤Ê¤ê¡¤¤Ä¤¤¤Ë¤Ï¾ÜºÙ¤ò´°Á´¤Ë˺¤ì¤Æ¤·¤Þ¤Ã¤Æ¤â¤¦°ìÅÙ¼öʸ¤ò³Ø¤Ð¤Í¤Ð¤Ê¤é¤Ê¤¯ + ¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¤¢¤ë¡¥ + + ËâË¡¤ò¾§¤¨¤ë¤Ë¤Ï¼«Í³¤Ë°ÜÆ°¤Ç¤­¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥¤Þ¤¿¡¤¤¤¤¯¤Ä¤«¤Î¼ïÎà + ¤Î³»¤òÃå¤Æ¤¤¤ë¤ÈËâË¡¤ò¾§¤¨¤ë¤Î¤ò˸¤²¤ë¤À¤í¤¦¡¥ + + ¡¡ËâË¡½ñ¤òÆɤि¤á¤Î¥³¥Þ¥ó¥É¤Ï´¬Êª¤òÆɤà¤È¤­¤ÈƱ¤¸¤¯ 'r'(read: Æɤà) + ¤Ç¤¢¤ë¡¥'+' ¥³¥Þ¥ó¥É¤Ë¤è¤ê¡¤ÃΤäƤ¤¤ë¼öʸ¤È¤½¤ì¤ò¾§¤¨¤ë¤Î¤ËɬÍפȤµ¤ì + ¤ëËâÎϤ¬°ìÍ÷ɽ¼¨¤µ¤ì¤ë¡¥'Z'(cast: ¼öʸ¤ò¾§¤¨¤ë) ¥³¥Þ¥ó¥É¤Ë¤è¤ê¼öʸ¤ò¾§ + ¤¨¤ë¡¥ + + *** 7.10. Æ»¶ñ ('(') + + ¡¡Æ»¶ñ¤Ï¤¤¤í¤¤¤í¤ÊÌÜŪ¤Ë»È¤¦¼ï¡¹»¨Â¿¤Êʪ¤Ç¤¢¤ë¡¥¾ó¤Ê¤É¤ÈƱ¤¸¤è¤¦¤Ë»ÈÍÑ + ²ó¿ô¤ËÀ©¸Â¤Î¤¢¤ëʪ¤â¤¢¤ë¡¥Î㤨¤Ð¥é¥ó¥×¤Ï¤·¤Ð¤é¤¯¤¿¤Ä¤Èdz¤¨¿Ô¤­¤Æ¤·¤Þ¤¦¡¥ + ¤½¤Î¾¤ÎÆ»¶ñ¤ÎÃæ¤Ë¤ÏÍÆ´ï¤â´Þ¤Þ¤ì¤Æ¤ª¤ê¡¤Êª¤ò½Ð¤·Æþ¤ì¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + + ¡¡Æ»¶ñ¤ò»È¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ï 'a'(apply: Æ»¶ñ¤òÍѤ¤¤ë) ¤Ç¤¢¤ë¡¥ + + *** 7.10.1. È¢ + + ¡¡ËÁ¸±¤ÎÅÓÃæ¤ÇÈ¢¤Ë½Ð¤¯¤ï¤¹¤³¤È¤â¤¢¤ë¤Ç¤¢¤í¤¦¡¥¤³¤ì¤é¤Ï¾²¤ËÃÖ¤¤¤Æ¤¢¤ë¤È + ¤­¤Ë¤Ï³ÈÄ¥¥³¥Þ¥ó¥É¡Ö#loot¡×¤Ë¤è¤Ã¤Æ¡¤¤Þ¤¿»ý¤Ã¤Æ¤¤¤ë¤È¤­¤Ë¤Ï 'a'(apply: + Æ»¶ñ¤òÍѤ¤¤ë) ¥³¥Þ¥ó¥É¤Ç³«¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥¤·¤«¤·¤Ê¤¬¤é¤Ò¤Ä¤Ë¤Ï¤·¤Ð¤· + ¤Ð¾û¤¬¤«¤«¤Ã¤Æ¤ª¤ê¡¤ÂçÄñ¤Ï½Å¤¯¤Æ±¿¤Ó¤Ë¤¯¤¤ÊªÂΤǤ¢¤ë¡¥¤Ò¤Ä¤Ï¼ê¤Ë»ý¤Ä¤³ + ¤È¤Ï¤Ç¤­¤Ê¤¤Êª¤Ê¤Î¤Ç¡¤¾û¤ò¤Ï¤º¤¹(½³¤È¤Ð¤·¤¿¤ê¡¤¸°¤ò»È¤Ã¤¿¤ê¡¤'a' + (apply: Æ»¶ñ¤òÍѤ¤¤ë) ¥³¥Þ¥ó¥É¤Ç¾û¤ò¤Ï¤º¤¹Æ»¶ñ¤ò»È¤Ã¤¿¤ê¡¤³ÈÄ¥¥³¥Þ¥ó + ¥É¡Ö#force¡×¤Ë¤è¤êÉð´ï¤ò»È¤Ã¤Æ¤³¤¸³«¤±¤ë¤Ê¤É¤ÎÊýË¡¤Ë¤è¤ë)¤Ë¤Ï¾²¤ËÃÖ¤« + ¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥ + + ¡¡¤Ò¤Ä¤Ë¤Ï櫤¬»Å³Ý¤±¤é¤ì¤Æ¤¤¤ë¤â¤Î¤â¤¢¤ê¡¤¾û¤ò¤Ï¤º¤·¤¿¤ê¤Õ¤¿¤ò³«¤±¤¿¤ê + ¤·¤¿¤È¤­¤ËÉÔ²÷¤Ê½ÐÍè»ö¤¬µ¯¤­¤ë¡¥³ÈÄ¥¥³¥Þ¥ó¥É¡Ö#untrap¡×¤Ë¤è¤Ã¤Æ¥Á¥§¥Ã + ¥¯¤ò¤·¤Æ櫤ò̵¸ú¤Ë¤¹¤ë¤³¤È¤ò»î¤ß¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + + *** 7.11. Ëâ½ü¤± ('"') + + ¡¡Ëâ½ü¤±¤Ï»ØÎؤÈÂçÊѤ褯»÷¤Æ¤ª¤ê¡¤¤·¤Ð¤·¤Ð¤â¤Ã¤ÈÂ礭¤Ê¸úÎϤò»ý¤Ã¤Æ¤¤¤ë¡¥ + »ØÎؤÈƱ¤¸¤è¤¦¤ËËâ½ü¤±¤Ë¤Ï¤¤¤í¤¤¤í¤ÊËâË¡¤ÎÆÃÀ­¤¬¤¢¤ê¡¤Í­±×¤Ê¤â¤Î¤âÍ­³² + ¤Ê¤â¤Î¤â¤¢¤Ã¤Æ¡¤¿È¤Ë¤Ä¤±¤ë¤³¤È¤Ë¤è¤ê¸úÎϤòȯ´ø¤¹¤ë¡¥ + + Ëâ½ü¤±¤Ï°ì¤Ä¤À¤±¤·¤«¼ó¤Ë¤«¤±¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥ + + ¡¡Ëâ½ü¤±¤ò»È¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ï»ØÎؤξì¹ç¤ÈƱ¤¸¤¯ 'P'(put on: »ØÎؤò¤Ï + ¤á¤ë) ¤È 'R'(remove: »ØÎؤò¤Ï¤º¤¹) ¤Ç¤¢¤ë¡¥ + + *** 7.12. ÊõÀÐ ('*') + + ¡¡ÊõÀФÎÃæ¤Ë¤Ï²ÁÃͤΤ¢¤ë¤â¤Î¤â¤¢¤ê¡¤¹â²Á¤ËÇä¤ì¤ë¡¥ÊõÀФϺ⻺¤ò»ý¤ÁÊ⤯ + ÊýË¡¤È¤·¤Æ¤È¤·¤Æ¶Ë¤á¤Æ¸ú²ÌŪ¤Ê¤ä¤êÊý¤Ç¤¢¤ë¡¥²ÁÃͤΤ¢¤ëÊõÀФϽªÎ»»þ¤Ë½ê + »ý¤·¤Æ¤¤¤ì¤ÐÆÀÅÀ¤Ë²Ã»»¤µ¤ì¤ë¡¥ + + ¾¤Î¾®¤µ¤ÊÀФâÊõÀФËʬÎव¤ì¤ë¤¬¡¤¤½¤Î²ÁÃͤϤۤȤó¤É¤Ê¤¤¡¥¤·¤«¤·¡¤Á´¤Æ + ¤ÎÀФÏÈô¤ÓÆ»¶ñ¤ËÍ­¸ú¤Ç¤¢¤ë(¤â¤·¥¹¥ê¥ó¥°¤ò»ý¤Ã¤Æ¤¤¤ë¤Ê¤é)¡¥µç;¤Ë´Ù¤¤¤Ã + ¤¿¤é¼ê¤ÇÅꤲ¤ë¤³¤È¤â²Äǽ¤Ç¤¢¤ë¡¥ + + *** 7.13. Â礭¤Ê´ä('`') + + ¡¡Ä¦Áü¤ä´ä¤ÏÆäËÍ­ÍѤǤϤʤ¤¤·¡¤°ìÈÌŪ¤Ë½Å¤¤¤â¤Î¤Ç¤¢¤ë¡¥¸«¤«¤±¤È¤Ï°Û¤Ê + ¤Ã¤¿Ä¦Áü¤â¤¢¤ë¤È¤¤¤¦±½¤Ç¤¢¤ë¡¥ + + µðÂç¤Ê¥Ò¥å¡¼¥Þ¥Î¥¤¥É(µð¿Í¤ä¤½¤ÎÃç´Ö)¤ÏÉð´ï¤È¤·¤ÆÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + + *** 7.14. ¶â ('$') + + ¡¡¶â¤ÏÆÀÅÀ¤Ë²Ã»»¤µ¤ì¡¤¤Þ¤¿Å¹¤Ç¤Ï¶â¤Çʪ¤òÇ㤦¤³¤È¤¬¤Ç¤­¤ë¡¥¤¢¤Ê¤¿¤¬¥×¥ì + ¥¤¤·¤Æ¤¤¤ë¥Ð¡¼¥¸¥ç¥ó¤Î NetHack ¤Ç¤Ï¥¹¥Æ¡¼¥¿¥¹¹Ô¤Ë½ê»ý¤¹¤ë¶â¤ÎÎ̤¬É½¼¨ + ¤µ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥¤½¤¦¤Ç¤Ê¤¯¤Æ¤â '$' ¥³¥Þ¥ó¥É¤Ç¶â¤ò¿ô¤¨¤ë¤³¤È¤¬ + ¤Ç¤­¤ë¡¥ÌµܤˤϤ¢¤Ê¤¿¤Î»ý¤Ä¤ª¶â¤Ë±Æ¶Á¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¿ô¿¤¯¤Î²øʪ¤¬ + ¤¤¤ë(Ź¼ç¤Î¦)¡¥ + + *** 8. ¥ª¥×¥·¥ç¥ó + + ¡¡¿Í¤Ë¤Ï¤½¤ì¤¾¤ì¤¤¤í¤¤¤í¤Ê¹¥¤ß¤¬¤¢¤ê NetHack ¤ÎÍ·¤ÓÊý¤â¤½¤ì¤¾¤ì°Û¤Ê¤Ã¤Æ¤¤¤ë¤Î + ¤Ç¡¤NetHack ¤Ë¤ÏÆ°ºîÍͼ°¤òÊѹ¹¤¹¤ë¤¿¤áÀßÄê¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¡¥ + + *** 8.1. ¥ª¥×¥·¥ç¥ó¤ÎÀßÄê + + ¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ëÊýË¡¤Ë¤Ï¤¤¤¯¤Ä¤«¤¢¤ë¡¥¥²¡¼¥àÃæ¤Ë 'O' ¥³¥Þ¥ó¥É¤ò + »È¤¦¤³¤È¤Ë¤è¤Ã¤ÆÁ´¤Æ¤Î¥ª¥×¥·¥ç¥ó¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¡¤¤½¤Î¤Û¤È¤ó¤É¤òÊѹ¹¤Ç + ¤­¤ë¡¥¤Þ¤¿¡¤´Ä¶­ÊÑ¿ô¡ÖNETHACKOPTIONS¡×¤äÀßÄê¥Õ¥¡¥¤¥ë¤Ç¼«Æ°Åª¤ËÀßÄꤹ¤ë + ¤³¤È¤â¤Ç¤­¤ë¡¥Nethack¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï¥²¡¼¥à³«»ÏÁ°¤Ë¥ª¥×¥·¥ç¥ó¤òÀß + Äꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¥×¥í¥°¥é¥à¤¬¤Ä¤¤¤Æ¤¤¤ë¤³¤È¤â¤¢¤ë¡¥ + + *** 8.2. ´Ä¶­ÊÑ¿ô NETHACKOPTIONS + + ¡¡´Ä¶­ÊÑ¿ô NETHACKOPTIONS ¤Ë¤Ï¤¤¤í¤¤¤í¤Ê¥ª¥×¥·¥ç¥ó¤Î½é´üÃͤò¥«¥ó¥Þ¤Ç¶è + ÀڤäÆÎóµó¤·ÀßÄꤹ¤ë¡¥¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á¤Î¤¤¤¯¤Ä¤«¤Î¤â¤Î¤Ïñ¤Ë¥ª¥ó¤«¥ª¥Õ + ¤ÎÁªÂò¤¬¤Ç¤­¤ë¤À¤±¤Ç¤¢¤ë¡¥¤½¤Î¥ª¥×¥·¥ç¥ó̾¤ò¥ê¥¹¥È¤ËÆþ¤ì¤ë¤È¥ª¥ó¤Ë¤Ê¤ê¡¤ + ¥ª¥×¥·¥ç¥ó̾¤ÎÁ°¤Ë '!' ¤«¡Öno¡×¤òÆþÎϤ¹¤ë¤È¥ª¥Õ¤Ë¤Ê¤ë¡¥¤½¤Î¾¤Î¥ª¥×¥·¥ç + ¥ó¤Ç¤Ïʸ»úÎó¤òÀßÄêÃͤȤ·¤ÆɬÍפȤ¹¤ë¡¥¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤Ë¤Ï + ¥ª¥×¥·¥ç¥ó̾¡¤¥³¥í¥ó¡¤ÀßÄêÃͤòÆþÎϤ¹¤ì¤Ð¤è¤¤¡¥ÀßÄêÃͤϼ¡¤Î¥«¥ó¥Þ¤â¤·¤¯ + ¤Ïʸ»úÎó¤ÎºÇ¸å¤Þ¤Ç¤È¤Ê¤ë¡¥ + + Î㤨¤Ð¡Öfemale¡×¤ò¥ª¥ó¡¤¡Öautopickup¡×¤ò¥ª¥Õ¡¤name ¤¬¡ÖBlue Meanie¡× + ¤Ë¡¤fruit ¤¬¡Öpapaya¡×¤Ë¤Ê¤ë¤è¤¦¤Ë´Ä¶­ÊÑ¿ô¤òÀßÄꤹ¤ë¤Ë¤Ï csh ¤Ç¤Ï¼¡¤Î + ¥³¥Þ¥ó¥É¤òÆþÎϤ¹¤ì¤Ð¤è¤¤¡¥(!¤ÏÆüìʸ»ú¤Ê¤Î¤Ç¥¨¥¹¥±¡¼¥×¤·¤Æ¤ä¤ëɬÍפ¬¤¢ + ¤ë¤³¤È¤ËÃí°Õ) + + % setenv NETHACKOPTIONS "female,\!autopickup,name:Blue Meanie,fruit:papa + ya" + + sh ¤Þ¤¿¤Ï ksh ¤Ç¤Ï + + $ NETHACKOPTIONS="female,!autopickup,name:Blue Meanie,fruit:papaya" + $ export NETHACKOPTIONS + + ¤È¤¹¤ì¤Ð¤è¤¤¡¥ÆüËܸì¤Î̾Á°¤âµ­½Ò¤Ç¤­¤ë¤¬¥³¥ó¥Ñ¥¤¥ë»þ¤ÎÆâÉô¥³¡¼¥É(ÉáÄÌ + ¤ÏEUC ¤« SJIS)¤Çµ­½Ò¤»¤Í¤Ð¤Ê¤é¤Ê¤¤¡¥ + + *** 8.3. ÀßÄê¥Õ¥¡¥¤¥ë¤ò»È¤¦ÊýË¡ + + ÀßÄê¥Õ¥¡¥¤¥ë¤ÎÃæ¤Î¡ÖOPTION=¡×¤Ç»Ï¤Þ¤ë¹Ô¤Ï´Ä¶­ÊÑ¿ô¡ÖNETHACKOPTIONS¡× + ¤ÈƱ¤¸Ê¸Ë¡¤Ç¥ª¥×¥·¥ç¥ó¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤È¸«¤Ê¤¹¡¥ + + ¡ÖDUNGEON=¡×¡¤¡ÖEFFECTS=¡×¡¤¡ÖMONSTERS=¡×¡¤¡ÖOBJECTS=¡×¡¤¡ÖTRAPS=¡×¤Ç + »Ï¤Þ¤ë¹Ô¤Ï¤½¤ì¤¾¤ì dungeon¡¤ effects¡¤monsters¡¤ objects¡¤ traps ¥ª¥× + ¥·¥ç¥ó¤È¤·¤Æ°·¤ï¤ì¤ë¤¬¡¤¤½¤Î»ØÄêÊýË¡¤Ï¡¤¸½ºß»È¤ï¤ì¤Æ¤¤¤ë¥Õ¥©¥ó¥È¤Î¤«¤ï + ¤ê¤Ë»È¤ï¤ì¤ë¥­¥ã¥é¥¯¥¿¥³¡¼¥É¤ò¼¨¤¹£±£°¿Ê¿ô¤ÎÎó¤Ç¤¢¤ë¡¥¤³¤ÎÎó¤Ï³Æ¹Ô¤ÎºÇ + ¸å¤Ë"\"¤ò¤Ä¤±¤ë¤³¤È¤Ë¤è¤Ã¤ÆÊ£¿ô¹Ô¤ËÅϤ뤳¤È¤¬¤Ç¤­¤ë¡¥'#'¤Ç»Ï¤Þ¤ë¹Ô¤Ï¥³ + ¥á¥ó¥È¤È¤·¤Æ°·¤ï¤ì¤ë¡¥ + + ¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¥Õ¥¡¥¤¥ë̾¤Ï£Ï£Ó¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤¬¡¤´Ä¶­ÊÑ¿ô + ¡ÖNETHACKOPTIONS¡×¤Ç¡ÊÀèƬ¤Ë"@"¤òÉÕ¤±¤ë¤³¤È¤Ç¡Ë»ÈÍѤ·¤¿¤¤ÀßÄê¥Õ¥¡¥¤¥ë + ̾¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥ + + *** 8.4. ¥«¥¹¥¿¥Þ¥¤¥º¥ª¥×¥·¥ç¥ó + + °Ê²¼¤Ë¤¤¤í¤¤¤í¤Ê¥ª¥×¥·¥ç¥ó¤ÎÌò³ä¤òÀâÌÀ¤¹¤ë¡¥¤¢¤Þ¤ê¤ËŤ¹¤®¤ëʸ»úÎó¤Î + Éôʬ¤Ï̵»ë¤µ¤ì¤ë¡¥°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á¥¤¥ó¥×¥ê¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ + ¤Ï̵¸ú¤È¤Ê¤Ã¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤â¤¢¤ë¡¥ + + autopickup + ɸ½àÀßÄê¤Ç°ÜÆ°Àè¤Ë¤¢¤ë¤â¤Î¤ò½¦¤¦¡Êɸ½àÀßÄê¤Ï¥ª¥ó¡Ë¡¥ + + BIOS + ¹â®¤Ë²èÌ̤ò½ñ¤­´¹¤¨¡¤°ÜÆ°¤Ë¥«¡¼¥½¥ë¥­¡¼¤ò»È¤¨¤ë¤è¤¦¤Ë¥­¡¼¥Ü¡¼ + ¥É¤òÆɤि¤á¤Ë¡¤IBM-PC¸ß´¹¤ÎBIOS ROM¤ò»ÈÍѤ·¤Æ¤¤¤ë¥Þ¥·¥ó¤ÇBIOS + ¥³¡¼¥ë¤ò»ÈÍѤ¹¤ë¡¥¡Êɸ½àÀßÄê¤Ï¥ª¥Õ¡¥OS/2 , PC, ¤ª¤è¤Ó ST + NetHack¤Î¤ß¡Ë + + catname + ¥¹¥¿¡¼¥È»þ¤ÎÇ­¤Î̾Á°(Îã: catname:Morris)¡¥'O' ¥³¥Þ¥ó¥É¤ÇÀßÄê + ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + checkpoint + ¥×¥í¥°¥é¥à¥¯¥é¥Ã¥·¥å¤·¤¿»þ¤ËÉüµì¤Ç¤­¤ë¤è¤¦¤Ë³¬¤ò°ÜÆ°¤¹¤ëËè¤Ë¾õ + ÂÖ¤ò¥»¡¼¥Ö¤¹¤ë¡Êɸ½àÀßÄê¤Ï¥ª¥ó¡Ë¡¥ + + color + ¼ï¡¹¤Î²øʪ¡¤Êª¤äƶ·¢¤ÎÃÏ·Á¤ò¥«¥é¡¼¤Çɽ¼¨¤¹¤ë(¥Þ¥¤¥¯¥í¥³¥ó¥Ô¥å¡¼ + ¥¿¤Ç¤Ïɸ½àÀßÄê¤Ï¥ª¥ó)¡¥ + + confirm + ¥Ú¥Ã¥È¡¤Å¹¼ç¡¤¤½¤Î¾¤Î¹¶·â¤·¤ÆÍè¤Ê¤¤À¸Êª¤ò¹¶·â¤·¤è¤¦¤È¤·¤¿¤È¤­ + ¤Ë³Îǧ¤ò¤¹¤ë(ɸ½àÀßÄê¤Ï¥ª¥ó)¡¥ + + DECgraphics + ƶ·¢¤Îɽ¼¨¤ËÍѤ¤¤ëʸ»ú¤ò¤¢¤Ê¤¿¼«¿È¤Ç¤¹¤Ù¤ÆÄêµÁ¤¹¤ëÂå¤ï¤ê¤Ë¡¤ + DEC VT-x xx/DEC Rainbow/ANSI·ÓÀþʸ»ú¥»¥Ã¥È¤«¤é¤¢¤é¤«¤¸¤áÍÑ°Õ¤µ + ¤ì¤¿ÀßÄê¤ò»ÈÍѤ¹¤ë(ɸ½àÀßÄê¤Ï¥ª¥Õ)¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¤Þ¤¿¥¿¡¼¥ß + ¥Ê¥ë¤¬Å¬Àڤʥ°¥é¥Õ¥£¥Ã¥¯¥­¥ã¥é¥¯¥¿¡¼¤ò°·¤¨¤ë¤è¤¦ÀßÄꤹ¤ë¡¥¤¹¤Ê + ¤ï¤Á¡¤¤¢¤Ê¤¿¤¬¼«Ê¬¤Î¥°¥é¥Õ¥£¥Ã¥¯Ê¸»ú¤Ç¾å½ñ¤­ÀßÄꤹ¤ë¤È¤­¤Ë¤âÌÀ + ¼¨¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡¥ + + disclose + ¥²¡¼¥à½ªÎ»»þ¤Ë¤µ¤Þ¤¶¤Þ¤Ê¾ðÊó¤òɽ¼¨¤¹¤ë(ɸ½àÀßÄê¤Ïall)¡¥ÀßÄê¤Ç + ¤­¤ë¤â¤Î¤Ï»ý¤Áʪ¤Î´ÕÄê('i')¡¤Â°À­¤Î¸ø³«('a')¡¤Â༣¤·¤¿¥â¥ó¥¹¥¿¡¼ + ¤Î°ìÍ÷ ('v')¡¤Ëõ»¦¤·¤¿¥â¥ó¥¹¥¿¡¼¼ï('g')¡¥Â༣¤·¤¿¥â¥ó¥¹¥¿¡¼¤Î + °ìÍ÷¤Ï櫤äƱ»ÎƤ¤Á¤Ë¤è¤Ã¤Æ»à¤ó¤À¥â¥ó¥¹¥¿¡¼¤â´Þ¤à¤³¤È¤ËÃí°Õ¡¥ + + dogname + ¥¹¥¿¡¼¥È»þ¤Î¸¤¤Î̾Á°(Îã: dogname:Fang)¡¥'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ + ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + dungeon + ̵Üɽ¼¨¤Î¤¿¤á¤Î¥°¥é¥Õ¥£¥Ã¥¯¥·¥ó¥Ü¥ë¤òÀßÄꤹ¤ë(ɸ½àÀßÄê¤Ï + ¡Ö|--------||.-|++.##<><>_\\#{}.}..## #}¡×) dungeon¥ª¥×¥·¥ç¥ó + ¤Ïɸ½àÀßÄê¤Îʸ»ú¤ÎÂå¤ï¤ê¤ËÃÏ¿Þ¤òÉÁ¤¯¤Î¤Ë»ÈÍѤ¹¤ë 38 ʸ»ú°ÊÆâ¤Î + ʸ»úÎó¤ò dungeon ¤Ë³¤±¤Æ½ñ¤¯¡¥ + ɸ½àÀßÄê¤Îʸ»ú¤ÎÂå¤ï¤ê¤Ë¤³¤³¤ÇÀßÄꤷ¤¿Ê¸»ú¤ò»È¤Ã¤Æƶ·¢¤ÎÃÏ¿Þ¤¬ + ɽ¼¨¤µ¤ì¡¤É¸½àÀßÄê¤Îʸ»ú¤Ï»È¤ï¤ì¤Ê¤¤¡¥Î㤨¤Ð¡¤¤â¤·¤¢¤Ê¤¿¤¬ csh + ¤ò»È¤¦¤Ê¤é¡¤¤³¤ì¤é¤Î¥­¥ã¥é¥¯¥¿¤Î¤¦¤Á¤¤¤¯¤Ä¤«¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬ + Íפ¬¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¡¥ + + ¤³¤Î¥ª¥×¥·¥ç¥ó¤ÇÀßÄꤵ¤ì¤ëʸ»úÎó¤Ï¡¤¸½ºß¤Ç¤ÏÄ̾ï¤Î C ¸À¸ì¤Ç»È + ¤ï¤ì¤ëÊý¼°¤Ç¥¨¥¹¥±¡¼¥×½èÍý¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥ + '\' ¤Î¸å¤Îʸ»ú¤Ï¤½¤Îʸ»ú¤½¤Î¤â¤Î¤È¤·¤Æ¼è¤ê°·¤ï¤ì¡¤ÆÃÊ̤ʥץì¥Õ + ¥£¥Ã¥¯¥¹¤È¤·¤Æ¤Ï°·¤ï¤ì¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡¥Æüì¤Ê¥¨¥¹¥±¡¼¥× + ·Á¼°¤Ç¤¢¤ë '\m' ¤Ï¸å¤í¤Îʸ»ú¤Î¥á¥¿¥Ó¥Ã¥È¤ò¥ª¥ó¤Ë¤·¡¤'^' ¥×¥ì¥Õ¥£¥Ã + ¥¯¥¹¤Ï¸å¤í¤Îʸ»ú¤ò¥³¥ó¥È¥í¡¼¥ë¥­¥ã¥é¥¯¥¿¤È¤ß¤Ê¤¹¤è¤¦¤Ë¤¹¤ë¡¥ + + ¥·¥ó¥Ü¥ë¤Ï°Ê²¼¤Î½ç½ø¤Ç¤¢¤ë¡§ + ·ø¤¤´ä¡¤ÊÉ(½Ä)¡¤ÊÉ(²£)¡¤º¸¾å¤Î³Ñ¡¤±¦¾å¤Î³Ñ¡¤º¸²¼¤Î³Ñ¡¤±¦²¼¤Î³Ñ¡¤ + Êɤθòº¹¡¤T »ú¾õ¤ÎÊÉ¡¤µÕ T »ú¾õ¤ÎÊÉ¡¤º¸¸þ¤­¤Î T»ú¾õ¤ÎÊÉ¡¤±¦¸þ¤­ + ¤Î T »ú¾õ¤ÎÊÉ¡¤Èâ¤Î¤Ê¤¤½ÐÆþ¸ý¡¤³«¤¤¤¿Èâ(½Ä)¡¤³«¤¤¤¿Èâ(²£)¡¤ÊĤ¸ + ¤¿Èâ(½Ä)¡¤ÊĤ¸¤¿Èâ(²£)¡¤Éô²°¤Î¾²¡¤°Å¤¤ÄÌÏ©¡¤ÌÀ¤ë¤¤ÄÌÏ©¡¤¾å¤Ø¤Î + ³¬ÃÊ¡¤²¼¤Ø¤Î³¬ÃÊ¡¤¾å¤Ø¤Î¤Ï¤·¤´¡¤²¼¤Ø¤Î¤Ï¤·¤´¡¤º×ÃÅ¡¤¶ÌºÂ¡¤Î®¤· + Â桤Àô¡¤¿å¤¿¤Þ¤ê¤Þ¤¿¤ÏËÙ¡¤É¹¡¤Íϴ䡤¹ß¤ê¤Æ¤¤¤ëÄ·¤Í¶¶(½Ä)¡¤¹ß¤ê + ¤Æ¤¤¤ëÄ·¤Í¶¶(²£)¡¤¾å¤¬¤Ã¤Æ¤¤¤ëÄ·¤Í¶¶(½Ä)¡¤¾å¤¬¤Ã¤Æ¤¤¤ëÄ·¤Í¶¶(²£)¡¤ + ¶õµ¤¡¤±À¡¤¿åÃæ + + ¤è¤êÈþ¤·¤¯»Í³Ñ¤Îɽ¼¨¤òÆÀ¤ë¤¿¤á¤Ë¤Ï³Ñ¤È T »ú¾õ¤ÎÊÉ¤Ë '+' ¤ò»È¤Ã¤¿ + Êý¤¬¤è¤¤¤«¤âÃΤì¤Ê¤¤¡¥¼¡¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¿·¤·¤¤¥·¥ó¥Ü¥ë¤¬²Ã¤ï¤ë¤«¸½ + ºß¤Î¤â¤Î¤¬ºÆ¹½À®¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤Î¤ÇÃí°Õ¤»¤è¡¥ + + 'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + effects + ¸ú²Ìɽ¼¨¤Î¤¿¤á¤Î¥°¥é¥Õ¥£¥Ã¥¯¥·¥ó¥Ü¥ë¤òÀßÄꤹ¤ë(ɸ½àÀßÄê¤Ï + ¡Ö|-\\/*!)(0#@*/-\\||\\-//-\\| |\\-/¡×)¡¥effecs¥ª¥×¥·¥ç¥ó¤Ïɸ½à + ÀßÄê¤Îʸ»ú¤ÎÂå¤ï¤ê¤ËÃÏ¿Þ¤òÉÁ¤¯¤Î¤Ë»ÈÍѤ¹¤ë 29 ʸ»ú°ÊÆâ¤Îʸ»úÎó¤ò + effecs ¤Ë³¤±¤Æ½ñ¤¯¡¥¤³¤Îʸ»úÎó¤Ï dungeon¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸½èÍý¤ò¤¹¤ë¡¥ + + ¥·¥ó¥Ü¥ë¤Ï°Ê²¼¤Î½ç½ø¤Ç¤¢¤ë¡§ + ¸÷Àþ(½Ä)¡¤¸÷Àþ(²£)¡¤¸÷Àþ(º¸¾å¤«¤é±¦²¼)¡¤¸÷Àþ(±¦¾å¤«¤éº¸²¼)¡¤·¡ºï + ¸÷Àþ¡¤¥«¥á¥é¤Î¥Õ¥é¥Ã¥·¥å¡¤¥Ö¡¼¥á¥é¥ó(º¸)¡¤¥Ö¡¼¥á¥é¥ó(±¦)¡¤ËâË¡ËÉ + ¸æ¤ËÍѤ¤¤ë 4 ¤Ä¤Îµ­¹æ¡¤°û¤ß¹þ¤Þ¤ì¤¿¤È¤­¤Ë»È¤ï¤ì¤ë 8 ¤Ä¤Îµ­¹æ¡¤Çú + ȯ¤ËÍѤ¤¤ë 9 ¤Ä¤Îµ­¹æ¡¥Çúȯ¤Ï 3 ¥­¥ã¥é¥¯¥¿ 3 Î󤫤é¤Ê¤ê¡¤Çúȯ¤ÎÃæ + ¿´¤Ï¤³¤Î 3 ¡ß 3 ¤ÎÇÛÎó¤ÎÃæ¿´¤Ë¤Ê¤ë¡¥ + + ¼¡¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¿·¤·¤¤¥·¥ó¥Ü¥ë¤¬²Ã¤ï¤ë¤«¸½ºß¤Î¤â¤Î¤¬ºÆ¹½À®¤µ¤ì¤ë + ²ÄǽÀ­¤¬¤¢¤ë¤Î¤ÇÃí°Õ¤»¤è¡¥ + + 'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + female + À­Ê̤òÀßÄꤹ¤ë(ɸ½àÀßÄê¤Ï¥ª¥Õ)¡¥'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç + ¤­¤Ê¤¤¡¥ + + fixinv + »ýʪ¤ÎÌÜÏ¿µ­¹æ¤Èʪ¤È¤ÎÂбþ¤Ï¤½¤Îʪ¤ò²¼¤ËÃÖ¤¤¤Æ¤âÊѲ½¤·¤Ê¤¤(ɸ + ½àÀßÄê¤Ï¥ª¥ó)¡¥¥ª¥Õ¤Ë¤·¤¿¤È¤­¤Ïʪ¤ò²¼¤ËÃÖ¤¯¤È¤½¤Îʪ¤ÎÌÜÏ¿µ­¹æ + °Ê¹ß¤Îµ­¹æ¤Èʪ¤È¤ÎÂбþ¤¬ 1 ¤Ä¤º¤Ä¤º¤ì¤ë¡¥ + + fruit + ¤¢¤Ê¤¿¤Î¹¥Êª¤Î²Ìʪ¤Ë¤Á¤Ê¤ó¤Ç¤½¤Î̾Á°¤òÀßÄꤹ¤ë(Îã: + fruit:mango)(ɸ½àÀßÄê¤Ï¡Öslime mold¡×)¡¥¸µÍè NetHack ¤Ç»þ¡¹»È + ¤ï¤ì¤ë²û¸Å¼ṇ̃Ū¤Ê̯¤Ê¸ÀÍդǤ¢¤ë¡¥slime mold(¥Í¥Ð¥Í¥Ð¤«¤Ó) + ¤è¤ê¤â¤â¤Ã¤È¿©ÍߤΤ勞¿©¤Ùʪ¤Ë¤¹¤ë¤Ù¤­¤Ç¤¢¤í¤¦¡¥apples(¥ê¥ó¥´)¡¤ + oranges(¥ª¥ì¥ó¥¸)¡¤ pears(ÍΤʤ·)¡¤ bananas(¥Ð¥Ê¥Ê)¡¤melons + (¥á¥í¥ó) ¤Ï NetHack ¤Ë¤Ï¤â¤¦Â¸ºß¤·¤Æ¤¤¤ë¤Î¤Ç¡¤ÀßÄꤷ¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥ + + help + '/' ¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÄ´¤Ù¤Æ¤¤¤ëʪ¤Ë¤Ä¤¤¤Æ²¿¤é¤«¤Î¾ðÊ󤬤¢¤ë¾ì¹ç¡¤ + ¤½¤ì¤ò¸«¤ë¤«¤É¤¦¤«¤ò¿Ò¤Í¤ë(ɸ½àÀßÄê¤Ï¥ª¥ó)¡¥¥Ø¥ë¥×¤¬½Ð¤Ê¤¤¤è¤¦ + ¤Ë¤¹¤ì¤Ð¡Ö¾ÜºÙ¤ò¸«¤ë¡©¡×¤È¤¤¤¦¥×¥í¥ó¥×¥È¤ËÈѤ蘆¤ì¤Ê¤¯¤Ê¤ë¤Î¤Ç¡¤ + ÁÇÁ᤯ʪ¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥¤·¤«¤·¤½¤ì¤Ï¶½Ì£¿¼¤¯½ÅÍפʾðÊó¤ò + ¸«Æ¨¤·¤Æ¤·¤Þ¤¦¤«¤âÃΤì¤Ê¤¤¤³¤È¤ò°ÕÌ£¤¹¤ë¡¥ + + hilite_pet + ¥Ú¥Ã¥È¤òƱ¼ï¤Îưʪ¤«¤é»ë³ÐŪ¤Ë¶èÊ̤¹¤ë(ɸ½àÀßÄê¤Ï¥ª¥Õ)¡¥¥Æ¥­¥¹¥È + ¥¦¥£¥ó¥É¥¦É½¼¨¤Ç¤Ï color¤¬¥ª¥Õ¤Î¤È¤­¤Ë¶¯Ä´É½¼¨¤¹¤ë¡¥X¤Î¥¿¥¤¥ë¤ò + »ÈÍѤ¹¤ë¤È¤­¤Ï¡¤¥Ï¡¼¥È¤Îµ­¹æ¤ò¥Ú¥Ã¥È¤Ë¤Ä¤±¤ë¡¥ + + IBMgraphics + ƶ·¢¤Îɽ¼¨¤ËÍѤ¤¤ëʸ»ú¤ò¤¢¤Ê¤¿¼«¿È¤Ç¤¹¤Ù¤ÆÄêµÁ¤¹¤ëÂå¤ï¤ê¤Ë¡¤IBM + ³ÈÄ¥ ASCII·ÓÀþʸ»ú¥»¥Ã¥È¤«¤é¤¢¤é¤«¤¸¤áÍÑ°Õ¤µ¤ì¤¿ÀßÄê¤ò»ÈÍѤ¹¤ë + (ɸ½àÀßÄê¤Ï¥ª¥Õ)¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¤Þ¤¿¥¿¡¼¥ß¥Ê¥ë¤¬Å¬Àڤʥ°¥é¥Õ + ¥£¥Ã¥¯¥­¥ã¥é¥¯¥¿¡¼¤ò°·¤¨¤ë¤è¤¦ÀßÄꤹ¤ë¡¥¤¹¤Ê¤ï¤Á¡¤¤¢¤Ê¤¿¤¬¼«Ê¬ + ¤Î¥°¥é¥Õ¥£¥Ã¥¯Ê¸»ú¤Ç¾å½ñ¤­ÀßÄꤹ¤ë¤È¤­¤Ë¤âÌÀ¼¨¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡¥ + + ignintr + ¥Ö¥ì¡¼¥¯¤ò´Þ¤à¥¤¥ó¥¿¥é¥×¥È¿®¹æ¤ò̵»ë¤¹¤ë(ɸ½àÀßÄê¤Ï¥ª¥Õ)¡¥ + + legacy + ¥²¡¼¥à³«»Ï»þ¤Ë½é´ü¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë(ɸ½àÀßÄê¤Ï¥ª¥ó)¡¥ + + lit_corridor + ÌëÌܤ䤢¤Ê¤¿¤Î¥­¥ã¥é¥¯¥¿¤¬»ý¤Ã¤Æ¤¤¤ë¸÷¸»¤Ë¤è¤Ã¤Æ¸«¤¨¤ëÄÌÏ©¤òɽ + ¼¨¤¹¤ë (ɸ½àÀßÄê¤Ï¥ª¥Õ)¡¥ + + mail + ²Äǽ¡¥ + + male + À­Ê̤òÀßÄꤹ¤ë(ɸ½àÀßÄê¤Ï¥ª¥ó¡¤¥Ï¥Ã¥«¡¼¤Î¿¤¯¤ÏÃˤǤ¢¤ë)¡¥'O' + ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + menustyle + ¤¤¤í¤¤¤í¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò»ØÄꤹ¤ë¤È¤­(¤¿¤È¤¨¤Ð Drop¥³¥Þ¥ó¥É)¤ËÍÑ + ¤¤¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÀ©¸æ¡¥Ãͤϼ¡¤Ë¼¨¤¹¥¿¥¤¥×¤ÎºÇ½é¤Î°ìʸ»ú¤Ç¼±ÊÌ + ¤µ¤ì¤ë¡§ tradional, combination, partial, full + ¡Ötradional¡×¤Ï¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ÇÍ£°ì¤À¤Ã¤¿¤â¤Î¤Ç¡¤¥ª¥Ö¥¸¥§¥¯¥È¤Î + ¥¯¥é¥¹Ê¸»ú¤ÎÆþÎÏ¡¤¼¡¤ËÁª¤ó¤À¥¯¥é¥¹¤Ë¥Þ¥Ã¥Á¤·¤¿Á´¤Æ¤Î¥¢¥¤¥Æ¥à¤ò¥ª + ¥Ö¥¸¥§¥¯¥ÈËè¤Ë³Îǧ¤¹¤ë¡¥¡Öcombination¡×¤ÏÁªÂò¤·¤¿¤¤¥ª¥Ö¥¸¥§¥¯¥È + ¤Î¥¯¥é¥¹Ê¸»ú¤òÆþÎϤ¹¤ë¤¬¡¤¼¡¤Ë¥Þ¥Ã¥Á¤·¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ò1¤Ä1¤Ä³Îǧ + ¤ÇÁªÂò¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¥á¥Ë¥å¡¼·Á¼°¤ÇÁªÂò¤¹¤ë¡¥[partial]¤Ï¥ª¥Ö¥¸¥§¥¯ + ¥È¤Î¥¯¥é¥¹Ê¬¤±¤òÈô¤Ð¤·¡¤Ä¾¤Á¤ËÁ´¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¥á¥Ë¥å¡¼¤òɽ¼¨ + ¤¹¤ë¡¥¡Öfull¡×¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤Îʸ»úÆþÎϤΤ«¤ï¤ê¤Ë¥¯¥é¥¹¤Î¥á¥Ë¥å¡¼ + ¤òºÇ½é¤Ëɽ¼¨¤¹¤ë¡¥¼¡¤ËÁªÂò¤·¤¿¥¯¥é¥¹¤Ë¥Þ¥Ã¥Á¤·¤¿¥á¥Ë¥å¡¼¤òɽ¼¨¤¹ + ¤ë¡¥ + + menu_deselect_all + ¥á¥Ë¥å¡¼¤ÎÁ´¤Æ¤Î¥¢¥¤¥Æ¥à¤òÈóÁªÂò¤Ë¤¹¤ëʸ»ú¡¥X11¤ª¤è¤Ó tty¤Ç¥¤¥ó¥× + ¥ê¥á¥ó¥È¤µ¤ì¤Æ¤¤¤ë¡¥(ɸ½àÀßÄê¤Ï '-') + + menu_deselect_page + ¸½ºßɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥á¥Ë¥å¡¼¤ÎÁ´¤Æ¤Î¥¢¥¤¥Æ¥à¤òÈóÁªÂò¤Ë¤¹¤ëʸ»ú¡¥tty + ¤Ç¤Î¤ß¥¤¥ó¥×¥ê¥á¥ó¥È¤µ¤ì¤Æ¤¤¤ë¡¥(ɸ½àÀßÄê¤Ï '\') + + menu_first_page + ¥á¥Ë¥å¡¼¤ÎºÇ½é¤Î¥Ú¡¼¥¸¤Ø°ÜÆ°¤¹¤ëʸ»ú¡¥tty¤Ç¤Î¤ß¥¤¥ó¥×¥ê¥á¥ó¥È¤µ¤ì + ¤Æ¤¤¤ë¡¥(ɸ½àÀßÄê¤Ï '^') + + menu_invert_all + ¥á¥Ë¥å¡¼¤ÎÁ´¤Æ¤Î¥¢¥¤¥Æ¥à¤òȿž¤¹¤ëʸ»ú¡¥X11¤ª¤è¤Ó tty¤Ç¥¤¥ó¥× + ¥ê¥á¥ó¥È¤µ¤ì¤Æ¤¤¤ë¡¥(ɸ½àÀßÄê¤Ï '@') + + menu_invert_page + ¸½ºßɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥á¥Ë¥å¡¼¤ÎÁ´¤Æ¤Î¥¢¥¤¥Æ¥à¤òȿž¤¹¤ëʸ»ú¡¥tty¤Ç¤Î + ¤ß¥¤¥ó¥×¥ê¥á¥ó¥È¤µ¤ì¤Æ¤¤¤ë¡¥(ɸ½àÀßÄê¤Ï '~') + + menu_last_page + ¥á¥Ë¥å¡¼¤ÎºÇ¸å¤Î¥Ú¡¼¥¸¤Ø°ÜÆ°¤¹¤ëʸ»ú¡¥tty¤Ç¤Î¤ß¥¤¥ó¥×¥ê¥á¥ó¥È¤µ¤ì + ¤Æ¤¤¤ë¡¥(ɸ½àÀßÄê¤Ï '|') + + menu_next_page + ¥á¥Ë¥å¡¼¤Î¼¡¤Î¥Ú¡¼¥¸¤Ø°ÜÆ°¤¹¤ëʸ»ú¡¥tty¤Ç¤Î¤ß¥¤¥ó¥×¥ê¥á¥ó¥È¤µ¤ì¤Æ + ¤¤¤ë¡¥(ɸ½àÀßÄê¤Ï '>') + + menu_previous_page + ¥á¥Ë¥å¡¼¤ÎÁ°¤Î¥Ú¡¼¥¸¤Ø°ÜÆ°¤¹¤ëʸ»ú¡¥tty¤Ç¤Î¤ß¥¤¥ó¥×¥ê¥á¥ó¥È¤µ¤ì¤Æ + ¤¤¤ë¡¥(ɸ½àÀßÄê¤Ï '<') + + menu_search + ¥á¥Ë¥å¡¼¤Ç¸¡º÷¤ò¹Ô¤¦Ê¸»ú¡¥X11¤Ç¤Î¤ß¥¤¥ó¥×¥ê¥á¥ó¥È¤µ¤ì¤Æ¤¤¤ë¡¥(ɸ½à + ÀßÄê¤Ï ':') + + menu_select_all + ¥á¥Ë¥å¡¼¤ÎÁ´¤Æ¤Î¥¢¥¤¥Æ¥à¤òÁªÂò¤Ë¤¹¤ëʸ»ú¡¥X11¤ª¤è¤Ó tty¤Ç¥¤¥ó¥×¥ê + ¥á¥ó¥È¤µ¤ì¤Æ¤¤¤ë¡¥(ɸ½àÀßÄê¤Ï '.') + + menu_select_page + ¸½ºßɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥á¥Ë¥å¡¼¤ÎÁ´¤Æ¤Î¥¢¥¤¥Æ¥à¤òÁªÂò¤Ë¤¹¤ëʸ»ú¡¥tty ¤Ç + ¤Î¤ß¥¤¥ó¥×¥ê¥á¥ó¥È¤µ¤ì¤Æ¤¤¤ë¡¥(ɸ½àÀßÄê¤Ï ',') + + monsters + ¥â¥ó¥¹¥¿¡¼¤Î¼ïÎà¤òɽ¼¨¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë¥­¥ã¥é¥¯¥¿¤ò»ØÄꤹ¤ëɸ½à + ÀßÄê¤Ï + ¡ÖabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@ '&;:~]¡× + + ¤³¤Îʸ»úÎó¤Ï dungeon ¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸½èÍý¤ò¤¹¤ë¡¥ + + ¥·¥ó¥Ü¥ë¤Î½ç½ø¤Ï¡¤µÂ¤¢¤ë¤¤¤Ï¤½¤Î¾¤Îº«Ã¥Ö¥í¥Ã¥Ö¡¤¥³¥«¥È¥ê¥¹¡¤ + ¸¤¡¤ÌÜ¡¤Ç­¡¤¥°¥ì¥à¥ê¥ó¡¤¿Í´Ö¡¤¥¤¥ó¥×¤Þ¤¿¤ÏÄãµé°­Ë⡤¥¼¥ê¡¼¡¤¥³ + ¥Ü¥ë¥É¡¤¥ì¥×¥é¥³¡¼¥ó¡¤¥ß¥ß¥Ã¥¯¡¤¥Ë¥ó¥Õ¡¤¥ª¡¼¥¯¡¤Æͤ­»É¤¹¤â¤Î¡¤ + »Í¤Ä­ưʪ¡¤ÁÍ¡¤ÃØéᡤ¥È¥é¥Ã¥Ñ¡¼¤Þ¤¿¤ÏÅ·°æ¤ËÀø¤à¤â¤Î¡¤¥æ¥Ë¥³¡¼ + ¥ó¡¤±²´¬¤­¡¤¥ï¡¼¥à¡¤¥¶¥ó¤Þ¤¿¤Ï¤½¤Î¾¤ÎÉԻ׵Ĥʺ«Ã¥é¥¤¥È¡¤¥º + ¥ë¥Æ¥£¡¤Å·»È¤Î¤è¤¦¤Ê¸ºß¡¤¥³¥¦¥â¥ê¡¤¥±¥ó¥¿¥¦¥ë¥¹¡¤Î¶¡¤¥¨¥ì¥á¥ó + ¥¿¥ë¡¤¥«¥Ó¤ä¥³¥±¡¤¥Î¡¼¥à¡¤Âç·¿¿ÍÎࡤ¥¤¥ó¥Ó¥¸¥Ö¥ë¥¹¥È¡¼¥«¡¼¡¤¥¸¥ã + ¥Ð¡¼¥¦¥©¥Ã¥¯¥­¡¼¥¹¥È¡¼¥ó¥³¥Ã¥×¡¤¥ê¥Ã¥Á¡¤¥ß¥¤¥é¡¤¥Ê¡¼¥¬¡¤¥ª¡¼¥¬¡¤ + ¥¹¥é¥¤¥à¡¤ÎÌ»ÒÎϳص»»Õ¡¤¥é¥¹¥È¥â¥ó¥¹¥¿¡¼¡¤¼Ø¡¤¥È¥í¡¼¥ë¡¤¥¢¥ó¥Ð¡¼ + ¥Ï¥ë¥¯¡¤¥Ð¥ó¥Ñ¥¤¥¢¡¤¥ì¥¤¥¹¡¤¥¾¡¼¥ó¡¤¥¤¥¨¥Æ¥£¤Þ¤¿¤Ï±î¤Þ¤¿¤Ï¤½¤Î + ¤Û¤«¤ÎÂ礭¤Ê½Ã¡¤¥¾¥ó¥Ó¡¤¿Í´Ö¡¤Í©Î¥´¡¼¥ì¥à¡¤°­Ë⡤³¤¤Î²øʪ¡¤ + ¥È¥«¥²¡¤¥í¥ó¥°¥ï¡¼¥à¤Î¿¬Èø¡¤¥ß¥ß¥Ã¥¯¡¥ + + 'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + msghistory + ¸å¤Ç ^P ¤Ç¸Æ¤Ó½Ð¤¹¤¿¤á¤ËÊݸ¤·¤Æ¤ª¤¯ºÇ¾å¹Ô¤Î¥á¥Ã¥»¡¼¥¸¤Î¿ô(ɸ + ½àÀßÄê¤Ï20)¡¥ + + 'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + name + ¤¢¤Ê¤¿¤Î¥­¥ã¥é¥¯¥¿¤Î̾Á°¤òÀßÄꤹ¤ë(ɸ½àÀßÄê¤Ï¤¢¤Ê¤¿¤Î user + name)¡¥¡Ýµ­¹æ¤È¥­¥ã¥é¥¯¥¿¤Î¿¦¶È¤ÎƬʸ»ú¤òÉÕ¤±²Ã¤¨¤ë(¤Ä¤Þ¤ê -A + -B -C -E -H -K -P -R -S -T -V -W ¤Î¤É¤ì¤«¤ò¸å¤ËÉÕ¤±¤ë)¤³¤È¤Ë¤è¤Ã + ¤Æ¿¦¶È¤òÀßÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡¥¿¦¶È¤È¤·¤Æ -@ ¤ò»ÈÍѤ¹¤ë¤È¡¤¼«Æ° + Ū¤Ë¥é¥ó¥À¥à¤Ë¤É¤ì¤«¤¬ÁªÂò¤µ¤ì¤ë¡¥ + + 'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + news + NetHack ¤Î¥Ë¥å¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¤¢¤ì¤Ð¤½¤ì¤òÆɤà(ɸ½àÀßÄê¤Ï¥ª¥ó)¡¥ + ¥Ë¥å¡¼¥¹¤Ï¥²¡¼¥à¤ÎºÇ½é¤Ëɽ¼¨¤µ¤ì¤ë¤Î¤Ç¡¤'O' ¥³¥Þ¥ó¥É¤Ç¤³¤ì¤òÀß + Äꤹ¤ë¤Î¤Ï̵°ÕÌ£¤Ç¤¢¤ë¡¥ + + null + üËö¤Ë¥Ñ¥Ç¥£¥ó¥°¤Î¤¿¤á¤Î¥Ê¥ë¥­¥ã¥é¥¯¥¿¤òÁ÷¤ë(ɸ½àÀßÄê¤Ï¥ª¥Õ)¡¥ + + number_pad + °ÜÆ°¤Î¤¿¤á¤Ë[yuhjklbn]¤Î¤«¤ï¤ê¤Ë¿ô»ú¥­¡¼¤ò»ÈÍѤ¹¤ë(ɸ½àÀßÄê¤Ï¥ª¥Õ)¡¥ + + object + ¤â¤Î¤Î¼ïÎà¤òɽ¼¨¤¹¤ë»þ¤Ë»È¤¦¥­¥ã¥é¥¯¥¿¤ò¥»¥Ã¥È¤¹¤ë(ɸ½àÀßÄê¤Ï + ¡Ö])[=\"(%!?+/$*`0_.¡× )¡¥ + + ¤³¤Îʸ»úÎó¤Ï dungeon ¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸½èÍý¤ò¤¹¤ë¡¥ + + ¥·¥ó¥Ü¥ë¤Î½çÈ֤ϡʸ«¤¿¤³¤È¤â¤Ê¤¤¤è¤¦¤Ê¡Ë¤ª¤«¤·¤ÊʪÂΡ¤Éð´ï¡¤ËÉ + ¶ñ¡¤»ØÎØ¡¤¸îÉ䡤¹©¶ñ¡¤¿©ÎÁ¡¤¿åÌô¡¤´¬Êª¡¤ËâË¡½ñ¡¤¾ó¡¤¶â²ß¡¤ÊõÀÐ + ¤Þ¤¿¤ÏÀС¤µðÀФޤ¿¤ÏĦÁü¡¤Å´µå¡¤º¿¡¤ÆDZա¥ + + 'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + packorder + ʪ¤Î¼ïÎà¤òɽ¼¨¤¹¤ë¤È¤­¤Î½çÈÖ¤ò»ØÄꤹ¤ë(ɸ½àÀßÄê¤Ï + ¡Ö\")[%?+/=!(*'0_¡× )¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¤¤¤í¤¤¤í¤Êʪ¤Î¼ïÎà¤ò + ɽ¤¹¥·¥ó¥Ü¥ë¤ÎÎó¤òÀßÄꤹ¤ë¡¥ + + perm_invent + ¤â¤·¥ª¥ó¤Ê¤é¤Ð¡¤¸½ºß¤Î»ý¤Áʪ°ìÍ÷¤ò¾ï¤Ë¥¦¥£¥ó¥É¥¦¤Ëɽ¼¨¤·¤Æ¤ª¤¯¡¥ + ¤³¤Îµ¡Ç½¤¬¥¤¥ó¥×¥ê¥á¥ó¥È¤µ¤ì¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤Ç¤Î¤ßÍ­¸ú¡¥ + + pettype + ¥×¥ì¥¤¤¹¤ë¥­¥ã¥é¥¯¥¿¥¯¥é¥¹¤¬Î¾Êý¤Î¥¿¥¤¥×¤Î¥Ú¥Ã¥È¤ò»ÈÍѤ¹¤ë¤³¤È + ¤¬½ÐÍè¤ë»þ¤Ë½é´ü¤Î¥Ú¥Ã¥È¤ò»ØÄꤹ¤ë¡¥»ØÄê½ÐÍè¤ë¤Î¤Ï¡Öcat¡×¤È + ¡Ödog¡×¤Ç¤¢¤ë¡¥'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + pickup_types + autopickup¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë»þ¤Ë½¦¤¦Êª¤Î¥¿¥¤¥×(ɸ½àÀß + Äê¤Ïall)¡¥ + + preload_tiles + MSDOS¤Î¥×¥í¥Æ¥¯¥È¥â¡¼¥É¤Ç¡¤¥¿¥¤¥ë¤ò¥²¡¼¥à¤Î»Ï¤á¤Ë¤¢¤é¤«¤¸¤áRAM¤Ë + ¥í¡¼¥É¤¹¤ë¤«¤É¤¦¤«¤òÀ©¸æ¤¹¤ë¡¥¥¿¥¤¥ë¥°¥é¥Õ¥£¥Ã¥¯¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹ + ¤ò¹â¤á¤ë¤È¤è¤ê¥á¥â¥ê¤ò»ÈÍѤ¹¤ë(ɸ½àÀßÄê¤Ï¥ª¥ó)¡¥ 'O' ¥³¥Þ¥ó¥É¤Ç + ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + rawio + raw(non-cbreak) ¥â¡¼¥É¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¡¤¤è¤ê¹â®¤Ê½ÐÎϤÈÌäÂê + ¤Îµ¯¤³¤é¤Ê¤¤ÆþÎϤò¼Â¸½¤¹¤ë(MS-DOS ¤Ç¤Ï¥×¥ê¥ó¥¿¤¬¤Ê¤¤¤Ë¤â´Ø¤ï¤é + ¤º '^P' ¤ò¥×¥ê¥ó¥¿½ÐÎϤΥȥ°¥ë¤È¤ß¤Ê¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ë)(ɸ½à + ÀßÄê¤Ï¥ª¥Õ)¡¥Ãí°Õ: DEC Rainbow ¤Ç¤Ï¤³¤ì¤¬¥ª¥ó¤Î¤È¤­¤Ï¥Ï¥ó¥°¥¢¥Ã + ¥×¤·¤Æ¤·¤Þ¤¦¡¥'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + rest_on_space + ¥¹¥Ú¡¼¥¹¥­¡¼¤ò '.'(rest: µÙ·Æ¤¹¤ë) ¥³¥Þ¥ó¥É¤È¤·¤Æ»ÈÍѤ¹¤ë(ɸ½à + ÀßÄê¤Ï¥ª¥Õ)¡¥ + + safe_pet + ¥Ú¥Ã¥È¤ò(¥Ú¥Ã¥È¤ÈÃΤê¤Ä¤Ä)¹¶·â¤·¤Æ¤·¤Þ¤¦¤Î¤òËɤ°(ɸ½àÀßÄê¤Ï¥ª¥ó)¡¥ + + scores + ºÇ¸å¤Ë¥¹¥³¥¢¥ê¥¹¥È¤Î¤É¤ÎÉôʬ¤ò¸«¤ë¤«¤òÀ©¸æ¤¹¤ë(Î㡧"scores:5 + top sco res/4 around my score/own scores")¡¥¤½¤ì¤¾¤ì¤ÎʬÌî¤ÎºÇ + ½é¤Îʸ»ú ('t',' a','o')¤Î¤ß¤¬É¬ÍפǤ¢¤ë¡¥ + + showexp + ºÇ²¼¹Ô¤Ë²Ã»»¤µ¤ì¤¿·Ð¸³ÅÀ¤òɽ¼¨¤¹¤ë(ɸ½àÀßÄê¤Ï¥ª¥Õ)¡¥ + + showscore + ºÇ²¼¹Ô¤Ë²Ã»»¤µ¤ì¤¿¥¹¥³¥¢¤òɽ¼¨¤¹¤ë(ɸ½àÀßÄê¤Ï¥ª¥Õ)¡¥ + + silent + üËö¤Î¥Ó¡¼¥×²»¤òÌĤ餵¤Ê¤¤(ɸ½àÀßÄê¤Ï¥ª¥ó)¡¥ + + sortpack + »ýʪ¤ÎÌÜÏ¿¤òɽ¼¨¤¹¤ë¤È¤­¼ïÎà¤Ë¤è¤Ã¤Æ²Ùʪ¤ÎÆâÍƤòʤÙÂؤ¨¤ë(ɸ + ½àÀßÄê¤Ï¥ª¥ó)¡¥ + + standout + ²øʪ¤È¡Ö--More--¡×¤òÂÀ»ú¤Çɽ¼¨¤¹¤ë(ɸ½àÀßÄê¤Ï¥ª¥Õ)¡¥ + + time + ºÇ²¼¹Ô¤Ë¥²¡¼¥à¤Ç·Ð²á¤·¤¿»þ´Ö¤ò¥¿¡¼¥ó¿ô¤Çɽ¼¨¤¹¤ë(ɸ½àÀßÄê¤Ï¥ª + ¥Õ)¡¥ + + time_delay + Çúȯ¤äʪÂΤΰÜÆ°¤Ê¤É¡¤¸ú²Ì¤òɽ¼¨¤¹¤ë¤¿¤á¤Ë¤Á¤ç¤Ã¤È¥Ý¡¼¥º¤¹¤ë¤È¤­ + Æüì¤Ê¥­¥ã¥é¥¯¥¿¤ò²èÌ̤ËÁ÷¤ë¤«¤ï¤ê¤Ë¥¿¥¤¥Þ¡¼¤ò»ÈÍѤ¹¤ë¡¥(tty + ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Î¤ßŬÍѤµ¤ì¤ë¡¤X11¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¾ï¤Ë¥¿¥¤¥Þ¡¼ + ¥Ç¥£¥ì¥¤¤ò»ÈÍѤ¹¤ë¡¥(ɸ½àÀßÄê¤ÏÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð¥ª¥ó) + + tombstone + »à¤ó¤À¤È¤­ÊèÀФòɽ¼¨¤¹¤ë(ɸ½àÀßÄê¤Ï¥ª¥ó)¡¥ + + toptenwin + ¥¨¥ó¥Ç¥£¥ó¥°¤òɸ½à½ÐÎϤΤ«¤ï¤ê¤ËNetHack¤Î¥¦¥£¥ó¥É¥¦¤Ëɽ¼¨¤¹¤ë + (ɸ½àÀßÄê¤Ï¥ª¥Õ)¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤È¥¦¥£¥ó¥É¥¦¤ò»È¤¦¥Ð¡¼ + ¥¸¥ç¥ó¤Î NetHack¤Ç¤Ïµ¯Æ°¤·¤¿¿Æ¥¦¥£¥ó¥É¥¦¤Ç¤Ê¤¤¤È¤³¤í¤Ë¥¹¥³¥¢¥ê + ¥¹¥È¤¬É½¼¨¤µ¤ì¤ë¡¥¤·¤«¤·¡¤¥¹¥³¥¢¥ê¥¹¥È¤Ï¥²¡¼¥à¤¬½ªÎ»¤·¤¿¤¢¤È¥¿¡¼ + ¥ß¥Ê¥ë¤ä¥¦¥£¥ó¥É¥¦¤Ë¤Ï»Ä¤é¤Ê¤¤¡¥ + + traps + 櫤μïÎà¤òɽ¼¨¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë¥­¥ã¥é¥¯¥¿¤ò»ØÄꤹ¤ë¡¥É¸½àÀßÄê¤Ï + ¡Ö^^^^^^^^^^^^^^^^^#^^^^¡×¡¥ + + traps¥ª¥×¥·¥ç¥ó¤Ïɸ½àÀßÄê¤Îʸ»ú¤ÎÂå¤ï¤ê¤Ë櫤òÉÁ¤¯¤Î¤Ë»ÈÍѤ¹¤ë + 22 ʸ»ú°ÊÆâ¤Îʸ»úÎó¤ò traps ¤Ë³¤±¤Æ½ñ¤¯¡¥¤³¤Îʸ»úÎó¤Ï dungeon + ¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸½èÍý¤ò¤¹¤ë¡¥ + + ¥·¥ó¥Ü¥ë¤Î½ç½ø¤Ï¡¤Ìð¤Îæ«¡¤ÅꤲÌð¤Îæ«¡¤´äÍ¤Îæ«¡¤¤­¤·¤àÈÄ¡¤·§ + ¤Îæ«¡¤ÃÏÍ롤Íî´ä¤Îæ«¡¤¿ç̲¥¬¥¹¤Îæ«¡¤Éå¿©¤Îæ«¡¤²Ð¤Îæ«¡¤Í·ê¡¤ + ¥È¥²¤À¤é¤±¤ÎÍ·ê¡¤·ê¡¤ÍÈ⡤½Ö´Ö°ÜÆ°¤Îæ«¡¤Ê̤γ¬¤Ø¤Î½Ö´Ö°Ü + Æ°¤Îæ«¡¤ËâË¡¤ÎÆþ¸ý¡¤ÃØéá¤ÎÁ㡤ĦÁü¤Îæ«¡¤ËâË¡¤Îæ«¡¤È¿ËâË¡¶õ´Ö¤Î + æ«¡¤ÊѲ½¤Îæ«¡¥ + + 'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + verbose + ¥²¡¼¥àÃæ¤Î¥³¥á¥ó¥È¤ò¾ÜºÙ¤Ëɽ¼¨¤¹¤ë(ɸ½àÀßÄê¤Ï¥ª¥ó)¡¥ + + videocolors + NO_TERM¤ò»ÈÍѤ·¤Æ¤¤¤ëPC¥·¥¹¥Æ¥à¤Î¥«¥é¡¼¥Ñ¥ì¥Ã¥È¤ò¥»¥Ã¥È¤¹¤ë(ɸ + ½àÀßÄê¤Ï¡Ö4-2-6-1-5-3-15-12-10-14-9-13-11¡×)¡¥ + + ¥·¥ó¥Ü¥ë¤Î½çÈ֤ϡ¤ÀÖ¡¦ÎС¦Ã㿧¡¦ÀÄ¡¦¥Þ¥¼¥ó¥¿¡¦¥·¥¢¥ó¡¦µ±¤¯Çò¡¦ + µ±¤¯ÀÖ¡¦µ±¤¯ÎС¦²«¿§¡¦µ±¤¯ÀÄ¡¦µ±¤¯¥Þ¥¼¥ó¥¿¡¦µ±¤¯¥·¥¢¥ó¡¥ + + 'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + videoshades + £³Ãʳ¬¤ÎÍøÍѲÄǽ¤Ê¥°¥ì¥¤¥¹¥±¡¼¥ë¤òÀßÄꤹ¤ë¡Êɸ½àÀßÄê¤Ï PC + Nethack¤Î¤ß¡Ödark normal light¡×¡Ë¡¥¤â¤·¥²¡¼¥à²èÌ̤¬¸«¤Ë¤¯¤¤¾ì + ¹ç¤Ï¡¤£³¤Ä¤Î¥¹¥±¡¼¥ë¤òÄ´À°¤·¤Æ¤ß¤ë¤³¤È¡¥¤â¤·¤³¤ì¤Ç¤¦¤Þ¤¯¤¤¤«¤Ê + ¤«¤Ã¤¿¤é¡¤!color¤ò»î¤·¤Æ¤ß¤ë¤³¤È¡¥ + + 'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + windowtype + ¥¦¥¤¥ó¥É¥¦¥·¥¹¥Æ¥à¤ò»ÈÍѤ¹¤ë¤«¤É¤¦¤«¤ò¡Ötty¡×¤Þ¤¿¤Ï¡ÖX11¡×¤ÇÁª + Âò¤¹¤ë¡Êɸ½àÀßÄê¤Ï¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤ë¡Ë¡¥ + + 'O' ¥³¥Þ¥ó¥É¤ÇÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥ + + *** 9. ÆÀÅÀ + + ¡¡NetHack ¤ÏÀßÄê¤Ë¤è¤Ã¤Æ¡¤¤¢¤Ê¤¿¤Îµ¡³£¤Ë¤ª¤±¤ë¹âÆÀÅÀ¤Î°ìÍ÷¤Þ¤¿¤Ï¹âÆÀÅÀ + ¼Ô¤Î°ìÍ÷¤òºîÀ®¤¹¤ë¡¥¸å¼Ô¤ÎÀßÄê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¤¥²¡¼¥à¤òºÇ¸å¤Þ¤Ç½ª¤¨¤¿ + ¾ì¹ç¤ò½ü¤­¤½¤Î¥Þ¥·¥ó¤Î 1 ¤Ä¤Î¥¢¥«¥¦¥ó¥È¤Ë¤Ä¤­ 1 ¤Ä¤À¤±¤·¤«¤³¤Î°ìÍ÷¤Ë¤Ï + ºÜ¤é¤Ê¤¤¡¥¤¢¤Ê¤¿¤¬¤³¤Î°ìÍ÷¤ËºÜ¤Ã¤Æ¤¤¤ë¾¤Î狼¤è¤ê¹â¤¤ÆÀÅÀ¤ò¼è¤Ã¤¿¤È¤­¡¤ + ¤â¤·¤¯¤Ï¤¢¤Ê¤¿¤ÎÁ°¤ÎÆÀÅÀ¤è¤ê¹â¤¤ÆÀÅÀ¤ò¼è¤Ã¤¿¤È¤­¤Ë¤Î¤ß¡¤¤½¤Î°ìÍ÷¤Î¤·¤« + ¤ë¤Ù¤­°ÌÃ֤ˤ¢¤Ê¤¿¤Î̾Á°¤¬ºÜ¤ë¡¥ÆÀÅÀ¤¬²¿¸Ä¤Þ¤ÇºÜ¤ë¤«¤â¥³¥ó¥Ñ¥¤¥ë»þ¤ËÀß + Äê¤Ç¤­¤ë¡¥ + + ¡¡ÆÀÅÀ¤Ï¼ç¤Ë·Ð¸³ÃÍ¡¤ÀïÍøÉÊ¡¤Åþ㤷¤¿³¬¤È¥²¡¼¥à¤Î½ª¤êÊý¤Ë´ð¤Å¤¤¤Æ¤¤¤ë¡¥ + ¥²¡¼¥à¤òÊü´þ¤·¤¿¾ì¹ç¤Ë¤Ï»ý¤Ã¤Æ¤¤¤ë¶â¤òÁ´³Û¼ê¤Ë¤·¤Ææ½Ð¤Ç¤­¤ë¡¥¤·¤«¤·¶² + ÉݤÎ̵ܤÎÃæ¤Ç»¦¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¤Ë´³¼¤¬È¯¸«¤µ¤ì¤ë¤È»ý¤Ã¤Æ¤¤¤ë¶â¤Î 90% + ¤À¤±¤¬¥®¥ë¥É¤ËÅÁ¤¨¤é¤ì¤ë(ËÁ¸±¼Ô¤ÏË´³¼¤òȯ¸«¤·¤¿¾ì¹ç¤Ë¤Ï¼ê¿ôÎÁ¤ò¼è¤ë¤³ + ¤È¤¬ÃΤé¤ì¤Æ¤¤¤ë)¡¥½¾¤Ã¤Æ²øʪ¤Ë¤µ¤é¤Ë°ì·â¤ò²Ã¤¨¤Æ±¿¤¢¤é¤ÐÀ¸¤­»Ä¤é¤ó¤È + ¤¹¤ë¤«¡¤Êü´þ¤·¤Æ¤½¤Î»þÅÀ¤Ç»ý¤Ã¤Æ¤¤¤ëʪ¤Ç½ªÎ»¤¹¤ë¤«¤Ï¤¢¤Ê¤¿¤¬·è¤á¤ë¤³¤È + ¤Ç¤¢¤ë¡¥Êü´þ¤·¤¿¾ì¹ç¤Ï¤¹¤Ù¤Æ¤Î¶â¤ò¼ê¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥¤·¤«¤·Àï¤Ã¤ÆÀ¸ + ¤­»Ä¤ì¤Ð¤µ¤é¤Ë¿¤¯¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤ë¤«¤âÃΤì¤Ê¤¤¡¥ + + ¡¡Ã±¤Ë¸½»þÅÀ¤Ç¤Î¹âÆÀÅÀ¼Ô¡¦¹âÆÀÅÀ¤Î°ìÍ÷¤ò¸«¤¿¤¤¾ì¹ç¤Ë¤Ï¤Û¤È¤ó¤É¤Î¥Ð¡¼¥¸¥ç + ¥ó¤Ç¤Ï + nethack -s all ¤ÈÆþÎϤ¹¤ì¤Ð¤è¤¤¡¥ + + *** 10. õ¸¡¥â¡¼¥É + + ¡¡NetHack ¤ÏÊ£»¨¤ÇÆñ¤·¤¤¥²¡¼¥à¤Ç¤¢¤ë¡¥½é¿´¼Ô¤ÏÀ¸¤­»Ä¤ë¤¹¤Ù¤òÃΤé¤Ê¤¤¤³ + ¤È¤Ëµ¤¤Å¤­¡¤¶²Éݤˤª¤¸¤±¤Å¤¤¤Æ¤·¤Þ¤¦¤«¤â¤·¤ì¤Ê¤¤¡¥¤·¤«¤·¶²¤ì¤ë¤³¤È¤Ï¤Ê + ¤¤¡¥ËÁ¸±¤¹¤ëƶ·¢¤Ë¡Öõ¸¡¡×¤â¤·¤¯¤Ï¡Öȯ¸«¡×¥â¡¼¥É¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¤¹âÆÀÅÀ + ¤Î°ìÍ÷¤ËºÜ¤é¤Ê¤¤¤È¤¤¤¦¤È¤ë¤Ë­¤é¤Ê¤¤¥Ç¥á¥ê¥Ã¥È¤È°ú¤­Âؤ¨¤ËÁ°¤Î¥»¡¼¥Ö¥Õ¥¡ + ¥¤¥ë¤ò»Ä¤·¤Æ¤ª¤±¤¿¤êÉÔ»à¿È¤È²½¤¹¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¤¢¤ë¡¥ + + ¡¡Ãµ¸¡¥â¡¼¥É¤ËÆþ¤ë¤Ë¤Ï 2 Ä̤ê¤ÎÊýË¡¤¬¤¢¤ë¡¥1 ¤Ä¤Ï¥²¡¼¥à¤Î³«»Ï»þ¤Ë -X + ¥¹¥¤¥Ã¥Á¤òÉÕ¤±¤ë¤³¤È¤Ç¤¢¤ë¡¥¤â¤¦ 1 ¤Ä¤Ï¥²¡¼¥à¤Î¥×¥ì¥¤Ãæ¤Ë 'X' ¥³¥Þ¥ó¥É + ¤òÆþÎϤ¹¤ë¤³¤È¤Ç¤¢¤ë¡¥Ãµ¸¡¥â¡¼¥É¤ÇÆÀ¤é¤ì¤ë¾¤ÎÍøÅÀ¤ÏÂçÃÀ¤ÊÆɼԽô·¯¼«¤é + ³Î¤«¤á¤ÆÍߤ·¤¤¡¥ + + *** 11. ¥¯¥ì¥¸¥Ã¥È + + ¡¡ºÇ½é¤Î hack ¤È¤¤¤¦¥²¡¼¥à¤Ï¡¤¥Ð¡¼¥¯¥ì¥¤ÈÇ UNIX ¤Î¥²¡¼¥à rogue ¤ò¥â¥Ç + ¥ë¤È¤·¤Æ¤¤¤ë¡¥¤³¤Î¥É¥­¥å¥á¥ó¥È¤ÎÂçÉôʬ¤Ï Michael C. Toy ¤È Kenneth C. + R. C. Arnold ¤Î¼ê¤Ë¤Ê¤ë A Guide to the Dungeons of Doom(±¿Ì¿¤Îƶ·¢¤Ø¤Î + ¾·ÂÔ) ¤ò¿Þ¡¹¤·¤¯¤âÅðÍѤ·¤¿¤â¤Î¤Ç¤¢¤ë¡¥¤Þ¤¿°ìÉô¤Ï Ken Arromdee ¤Ë¤è¤ë + Further Exploration of the Dungeons of Doom(±¿Ì¿¤Îƶ·¢¤Î¿¼Éô¤Ø¤Îõ¸¡) + ¤«¤éºÎ¤Ã¤Æ¤¤¤ë¡¥ + + ¡¡NetHack ¤Ïʸ»ú¤É¤ª¤ê²¿½½¿Í¤â¤Î¿Í¡¹¤Î¼ê¤Ë¤è¤Ã¤Æ´°À®¤µ¤ì¤¿¡¥°Ê²¼¤Ï¥²¡¼ + ¥à¤Î³«È¯¤Î²áÄø¤Ç¤Î¼ç¤Ê½ÐÍè»ö¤Ç¤¢¤ë¡¥ + + ¡¡Jay Fenlason ¤Ï Kenny Woodland¡¤Mike Thome¡¤Jon Payne ¤é¤Î½õ¤±¤òÆÀ¤Æ¡¤ + ºÇ½é¤Î Hack ¤ò½ñ¤¤¤¿¡¥ + + ¡¡Andries Brouwer ¤Ï¥×¥í¥°¥é¥à¤òÂçÉý¤Ë½ñ¤­´¹¤¨¤Æ Hack ¤ò¸µ¤È¤Ï¤«¤Ê¤ê°Û + ¤Ê¤Ã¤¿¥²¡¼¥à¤Ë»ÅΩ¤Æ¾å¤²¡¤UNIX ¥Þ¥·¥óÍѤÎ(¾¯¤Ê¤¯¤È¤â)3 ¥Ð¡¼¥¸¥ç¥ó + (1.0.1¡¤1.0.2¡¤ 1.0.3)¤ò Usenet ¤Çȯɽ¤·¤¿¡¥ + + ¡¡Don G. Kneller ¤Ï Hack 1.0.3 ¤ò Microsoft C ¤ò»ÈÍѤ·¤Æ MS-DOS ¤Ø°Ü¿¢ + ¤· PC HACK 1.01e ¤òºîÀ®¤·¤¿¡¥¥Ð¡¼¥¸¥ç¥ó 1.03g ¤Ç¤Ï DEC Rainbow ¤Î¥°¥é + ¥Õ¥£¥Ã¥¯¤ò¥µ¥Ý¡¼¥È¤·¡¤Â³¤¤¤Æ¾¯¤Ê¤¯¤È¤â¤¢¤È 4 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó(3.0¡¤3.2¡¤ + 3.51¡¤3.6)¤òºîÀ®¤·¤¿¡¥ + + ¡¡R. Black ¤Ï PC HACK 3.51 ¤ò Lattice C ¤ò»ÈÍѤ·¤Æ Atari 520/1040ST ¤Ø + °Ü¿¢¤· ST Hack 1.03 ¤òºîÀ®¤·¤¿¡¥ + + ¡¡Mike Stephenson ¤Ï¤³¤ì¤é¤Î¤¤¤í¤¤¤í¤Ê¥Ð¡¼¥¸¥ç¥ó¤òºÆ¤Ó 1 ¤Ä¤ËÅý¹ç¤·¡¤ + ¿¤¯¤ÎÉղõ¡Ç½¤ò¹çÊ»¤·¤Æ NetHack ¥Ð¡¼¥¸¥ç¥ó 1.4 ¤òºîÀ®¤·¤¿¡¥¤µ¤é¤ËÈà¤Ï + ²¿Àé¿Í¤â¤Î¿Í¡¹¤Ëºî¶È¤òʬô¤·¤Æ NetHack 1.4 ¤Î³ÈÄ¥¤È¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¤¡¤ + NetHack ¥Ð¡¼¥¸¥ç¥ó 2.2 ¤È 2.3 ¤òȯɽ¤·¤¿¡¥ + + ¡¡¤µ¤é¤Ë¤½¤Î¸å¡¤Mike ¤Ï Ken Arromdee¡¤Jean-Christophe Collet¡¤Steve + Creps¡¤ Eric Hendrickson¡¤Izchak Miller¡¤John Rupley¡¤Mike Threepoint¡¤ + Janet Walz ¤é¤ò´Þ¤à¥Á¡¼¥à¤òΨ¤¤¤Æ¥²¡¼¥à¤ÎÂçÉý¤Ê½ñ¤­Ä¾¤·¤ò¹Ô¤Ê¤¤¡¤ + NetHack 3.0c ¤òºîÀ®¤·¤¿¡¥ + + ¡¡NetHack 3.0 ¤Ï Eric R. Smith ¤Ë¤è¤Ã¤Æ Atari ¤Ø¡¤Timo Hakulinen ¤Ë¤è¤Ã + ¤Æ OS/2 ¤Ø¡¤David Gentzel ¤Ë¤è¤Ã¤Æ VMS ¤Ø°Ü¿¢¤µ¤ì¤¿¡¥¤³¤Î 3 ¿Í¤È Kevin + Darcy ¤Ï¤½¤Î¸å¼çÎϳ«È¯¥Á¡¼¥à¤Ë²Ã¤ï¤ê¡¤3.0 ¤Î¤½¤Î¸å¤Î¤¤¤¯¤Ä¤«¤Î²þÄûÈǤò + ºîÀ®¤·¤¿¡¥ + + ¡¡Olaf Seibert ¤Ï NetHack 2.3 ¤È 3.0 ¤ò Amiga ¤Ø°Ü¿¢¤·¤¿¡¥Norm Meluch¡¤ + Stephen Spackman¡¤Pierre Martineau ¤Ï PC NetHack 3.0 ¤Î¤¿¤á¤Î¥ª¡¼¥Ð¡¼ + ¥ì¥¤¥×¥í¥°¥é¥à¤òÀ߷פ·¤¿¡¥Johnny Lee ¤Ï NetHack 3.0 ¤ò Macintosh ¤Ø°Ü + ¿¢¤·¤¿¡¥Èà¤é¤Ï¾¤Î¤µ¤Þ¤¶¤Þ¤Êƶ·¢¤Î¼ç¤¿¤Á¤È¤È¤â¤Ë PC¡¤Macintosh¡¤Amiga + ¤Î°Ü¿¢ÈǤγÈÄ¥¤ò³¤±¡¤ 3.0 ¤Î¤½¤Î¸å¤Î¤¤¤¯¤Ä¤«¤Î²þÄûÈǤòºîÀ®¤·¤¿¡¥ + + Mike Stephenson¤òƬ¤È¤·¡¤Izchak Miller¤ÈJanet Walz¤Î½õ¤±¤Ë¤è¤Ã¤ÆKen + Arromdee, David Cohrs, Jean-Christophe Collet, Kevin Darcy, Matt Day, + Timo Hakulinen, Steve Linhart, Dean Luick, Pat Rankin, Eric Raymond, + and Eric Smith ¤ò´Þ¤àÀ©ºî¥Á¡¼¥à¤¬3.0¤ÎÅ°ÄìŪ¤Ê¸«Ä¾¤·¤ò¹Ô¤Ê¤Ã¤¿¡¥Èà¤é¤Ï + ¥²¡¼¥à¥Ç¥¶¥¤¥ó¤òºÆ¹½ÃÛ¤·¡¤¥³¡¼¥É¤ÎÂçÉôʬ¤ò½ñ¤­Ä¾¤·¤¿¡¥Èà¤é¤ÏÊ£¹ç¥À¥ó¥¸¥ç + ¥ó¡¤¿·¤·¤¤¥Ç¥£¥¹¥×¥ì¥¤¡¤¤½¤ì¤¾¤ì¤Î¥­¥ã¥é¥¯¥¿¡¼Ëè¤ÎÆÃÊ̤Υ¯¥¨¥¹¥È¡¤¿·¤· + ¤¤¥¨¥ó¥É¥²¡¼¥à¤È¤½¤Î¾¤Î¿¤¯¤Î¿·¤·¤¤Í×ÁǤòÄɲä·¡¤NetHack 3.1¤òÀ©ºî¤· + ¤¿¡¥ + + Ken Lorber, Gregg Wonderly , Greg Olson¤ÏRichard Addison, Mike + Passaretti, O laf Seibert¤Î½õ¤±¤ò¼Ú¤ê¤ÆAmigaÍÑNetHack 3.1 ¤òºîÀ®¤·¤¿¡¥ + + Norm Meluch ¤È Kevin Smolkowski¤ÏCarl Schelin, Stephen Spackman, Steve + VanDe vender, Paul Winner¤Î½õ¤±¤ò¼Ú¤ê¤ÆNetHack 3.1 ¤ò PC ¤Ë°Ü¿¢¤·¤¿¡¥ + + Jon Watte¤ÈHao-yang Wang¤ÏRoss Brown, Mike Engber, David Hairston, + Michael H amel, Jonathan Handler, Johnny Lee, Tim Lennan, Rob Menke, + Andy Swanson¤Î½õ¤±¤ò¼Ú¤ê¤ÆMPWÍѤÎMacintoshÍÑNetHack 3.1 ¤òºîÀ®¤·¤¿¡¥¤½ + ¤ÎºîÀ®Ãæ¤Ë¡¤Barton House ¤ÏThink CÍѤò²Ã¤¨¤¿¡¥ + + Timo Hakulinen ¤Ï NetHack 3.1 ¤ò OS/2 ¤Ë°Ü¿¢¤·¤¿¡¥Eric Smith ¤Ï + NetHack 3.1 ¤ò Atari ¤Ë°Ü¿¢¤·¤¿¡¥Pat Rankin¤Ï Joshua Delahunty ¤Î½õ¤± + ¤ò¼Ú¤ê¤ÆVMS ÈÇ NetHack 3.1 ¤òºîÀ®¤·¤¿¡¥Michael Allison ¤Ï NetHack 3.1 + ¤ò Windows NT ¤Ë°Ü¿¢¤·¤¿¡¥ + + Dean Luick¤Ï David Cohrs¤Î½õ¤±¤ò¼Ú¤ê¤ÆX11ÍÑNetHack3.1¤òºîÀ®¤·¤¿¡¥ + + 1996ǯ4·î¤Ë¥ê¥ê¡¼¥¹¤µ¤ì¤¿ 3.2¤Î³«È¯¥Á¡¼¥à¤Ï¡¤°Ê²¼¤Î¥á¥ó¥Ð¡¼¤«¤é¤Ê¤ë¡§ + Michael Allison; Ken Arromdee; David Cohrs; Jessie Collet; Steve + Creps; Kevin Darcy; Timo Hakulinen; Steve Linhart; Dean Luick; Pat + Rankin; Eric Smith; Mike Stephenson; Janet Walz; and, Paul Winner. + + ¥Ð¡¼¥¸¥ç¥ó3.2¤Ï³«È¯¥Á¡¼¥à¤¬·ëÀ®¤µ¤ì¤Æ¤«¤é10¼þǯ¤Î¤â¤Î¤Ç¤¢¤ë¡¥Èà¤é¤Î¥²¡¼ + ¥à¤Ø¤Î¹×¸¥¤Ë¤Ä¤¤¤Æµ­¤¹¤È¡¤Á´¤Æ13¿Í¤Î½é´ü¤Î³«È¯¥Á¡¼¥à¤Ï¸½ºß¤Î¥ê¥ê¡¼¥¹¤Î + ³«»Ï»þ¤ÎºÇ½é¤Î»þÅÀ¤Þ¤ÇæÍ¤Æ¤¤¤Ê¤¤¡¥¤¬¡¤ 3.1.3¤«¤é 3.2¤Î´Ö¤Ë¡¤³«È¯¥Á¡¼ + ¥à¤ÎÁϻϼԤΰì¿Í¤Ç¤¢¤ë¡¤Izchak MillerÇî»Î¤¬´â¤È¿ÇÃǤµ¤ìË´¤¯¤Ê¤Ã¤¿¡¥¤³ + ¤Î¥ê¥ê¡¼¥¹¤Ï³«È¯¥Á¡¼¥à¤ª¤è¤Ó°Ü¿¢¥Á¡¼¥à¤«¤éÈà¤ËÊû¤²¤ë¡¥ + + Pat Rankin¤Ï VMS¤Î¤¿¤á¤Ë 3.2¤ò½¤Àµ¤·¤¿¡¥ + + Michael Allison, Yitzhak Sapir, ¤ª¤è¤Ó¡¤ Paul Winner¤Ï Steave Linhart, + Kevin Smolkowski, Mike Stephenson, and Stephen White ¤Î½õ¤±¤ò¼Ú¤ê¤Æ + 3.2¤ò MSDOS ¤Ë°Ü¿¢¤·¤¿¡¥ Keizo Yamamoto¤ª¤è¤Ó Ken Washikita¤Ï 3.2 + ¤òÆüËܤǥݥԥå¥é¡¼¤Ê¥Þ¥·¥ó NEC¤Î PC98XX¤Ë°Ü¿¢¤·¤¿¡¥ + + Ken Lorber, Andy Church, ¤ª¤è¤Ó Gregg Wonderly¤Ï Richard Addison¤Î + ½õ¤±¤ò¼Ú¤ê¤Æ 3.2¤ò Amiga¤Ë°Ü¿¢¤·¤¿¡¥ + + Dean Luick ¤Ï 3.2¤ò Macintosh¤Ë°Ü¿¢¤·¤¿¡¥ + + Eric Smith ¤ª¤è¤Ó Warwick Allison¤Ï Atari¤Ë 3.2¤ò°Ü¿¢¤·¤¿¡¥ + + Michael Allison ¤Ï¥Þ¥¤¥¯¥í¥½¥Õ¥È¤Î Windows NT¤Ë 3.2¤ò°Ü¿¢¤·¤¿¡¥ + + Timo Hakulinen¤Ï OS/2¤Ø¤Î°Ü¿¢¤ò¼õ¤±¤â¤Ã¤¿¡¥ + + ¡¡»þ¡¹¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÀ¤³¦¤Î¤É¤¦¤·¤è¤¦¤â¤Ê¤¤Ï¢Ã椬¡¤¥²¡¼¥à¤Î²þÎɤμê½õ¤± + ¤ò¤·¤è¤¦¤È¤·¤Æ¤È¤ê¤ï¤±¶½Ì£¤ò¤½¤½¤ë¤è¤¦¤Ê½¤Àµ¤òÁ÷¤Ã¤Æ¤è¤³¤¹¡¥Æ¶·¢¤Î¿À¡¹ + ¤Ï¡¤¤È¤­¤Ë¤Ï¤³¤¦¤¤¤Ã¤¿°­ÅޤΤ¦¤Á¤Ç¤âºÇ¤â¼Ù°­¤ÊÏ¢Ãæ¤Î̾Á°¤òƶ·¢¤Î¼ç¤¿¤Á + ¤Î°ìÍ÷¤È¤·¤Æ¤³¤³¤Ëµ­¤¹¤Î¤À¡¥ + + Andy Church Helge Hafting Mike Gallop + Andy Swanson Izchak Miller Mike Passaretti + Ari Huttunen Janet Walz Mike Stephenson + Barton House Jean-Christophe Collet Norm Meluch + Benson I. Margulies Jochen Erwied Olaf Seibert + Bill Dyer John Kallen Pat Rankin + Boudewijn Wayers John Rupley Paul Winner + Bruce Holloway John S. Bien Pierre Martineau + Bruce Mewborne Johnny Lee Ralf Brown + Carl Schelin Jon W{tte Richard Addison + David Cohrs Jonathan Handler Richard P. Hughey + David Gentzel Joshua Delahunty Rob Menke + David Hairston Keizo Yamamoto Roland McGrath + Dean Luick Ken Arromdee Ross Brown + Del Lamb Ken Lorber Scott R. Turner + Deron Meranda Ken Washikita Stephen Spackman + Eric Backus Kevin Darcy Stephen White + Eric Hendrickson Kevin Sitze Steve Creps + Eric R. Smith Kevin Smolkowski Steve Linhart + Eric S. Raymond Kevin Sweet Steve VanDevender + Frederick Roeber Mark Gooderum Tim Lennan + Gil Neiger Matthew Day Timo Hakulinen + Greg Laskin Merlyn LeRoy Tom Almy + Greg Olson Michael Allison Tom West + Gregg Wonderly Michael Hamel Warwick Allison + Hao-yang Wang Michael Sokolov Yitzhak Sapir + + ¡¡¥Ö¥é¥ó¥É¤ÈÀ½ÉÊ̾¤Ï³Æ¼Ò¤Î¾¦É¸¤Þ¤¿¤ÏÅÐÏ¿¾¦É¸¤Ç¤¢¤ë¡¥ + + + *** 12. ÆüËܸìÈÇ¥¯¥ì¥¸¥Ã¥È + + Issei Numata, Naoki Hamada, Shigehiro Miyashita¤é¤¬¡¤Tomoyuki + Shiraishi, Kazuhiro FUjieda, Kunedog, Shinkou Awatsu, Takeshi + Nishimura, ¹âÅŬ¼£, Kentaro Shirakata ¤é¤Î¼ê¤ò¼Ú¤ê¤Æ NetHack-3.1.2¤ò + ÆüËܸ첽¤·¤¿¡¥ + + ¤½¤Î¸å²¿ÅÙ¤«¤Î¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤ò·Ð¤Æ¡¤3.1.3¤òÆüËܸ첽¤·¤¿ 1.0.3¤òȯɽ + ¤·¤¿¡¥ + + Issei Numata¤Ï NetHack-3.2¤Î¥ê¥ê¡¼¥¹¤Ëȼ¤¤¡¤Hideto KIHARA, Hiramoto + Kouji¤Î½õ¤±¤ò¼Ú¤ê1.0.5¤òȯɽ¤·¤¿¡¥1.0.5¤Ç¤Ï 1.0.3¤Ë¤¢¤Ã¤¿¤¤¤¯¤Ä¤«¤Î + ÌäÂêÅÀ¤òÂçÉý¤Ë½¤Àµ¤·¤¿¡¥ + + °Ê²¼¤Ë¡¤¤¿¤ï¤¤¤â¤Ê¤¤¤³¤È¤«¤é¸·¤·¤¤¤³¤È¤Þ¤Ç¡¤µ®½Å¤Ê¿ÍÀ¸¤Î°ìÉôʬ¤ò¤¯¤À¤é + ¤Ê¤¤¤³¤È¤ËË×Ƭ¤·¤¿¿Í´Ö¤Î̾¤ò¼¨¤¹¡¥ + + aBE TOru HAMADA Naoki Shigehiro Miyashita + Shinkou Awatsu Tomoyuki Shiraishi Masayuki Koba + Kunedog Kazuki Jo Kaoru Maeda + Toshinori Nagaoka Takashi Murase SAKAMOTO Kei + Hanataka Shinya Toshiyuki Maeshima Shigenori Imanaka + Tetsuya Fujii Atsushi Nishitani Tohru Ishii + Kenji Tonami Yoshiaki KASAHARA Kazuhiro Fujieda + Yasuhito FUTATSUKI Kunihito Yamamori Ryouko Hayashi + Akashi Fujiwara Takeshi Nishimura Hideharu Miyazaki + Kentaro Shirakata NAKANISHI Yoshiaki Kouji Takada + MAKOTO Matsushita Sayu IIDA Yosiaki + Satoshi Asami OZAWA Sakuro FUCHIGAMI Masachika + KIHARA Hideto UCHIDA Toshiaki Satoh Yoshiyuki + Terishige Fukui + + ¤ª¤è¤Ó¡¤dq-ml¤Î¥á¥ó¥Ð¡¼ *** /dev/null Wed Sep 24 22:14:55 1997 --- ./doc/nhjg313.tar.gz.uu Tue Jul 22 23:18:03 1997 *************** *** 0 **** --- 1,1112 ---- + begin 664 nhjg313.tar.gz + M'XL("(9:+RX" VYH:F4U?5W?\Y:^1^>QK:9V(+$:YOU + M_7XU7%246P4K%8L.,))(+I@+EXI=SIFJF?LM,T.[*MJ4(ID8D-( %@)"R9"A + M,_BUM=KR>HE!(42I@[;]]N(/[V?O<\[SG&<2;=_UMNO]Y<6%D.Y_#77?TMF[PK>OLW#2W9UO/%_XMORS+NOGF&RW\>>.\6QKI3^N&QGG\IV4U + MWG3S+3==;UDWW7ACX[S&>?-NGH>'M\R;-^\+UA?^_Z]_^Z_:&NOS?H5?S.P0 + MI>S+X+>W=W9L<(9[ IW^-8'[ D\'TH ZSQ(E,2K>$:7HDOYR7UF, + M1^]/_5440AOC:ZREK9M\UJJ6+I]O?$./ LBP.BE.H _1Z*[(_].K T$ ZTB#%12O3W+PN]!GHNB':+2GRQV(/1 + M!8S^ &^?$Y?]\T/'12&U;N?\VAI12O_-OUI,8-24O]F&7!"[Z;>$$-J7"(N1 + MT >1_6*9XO)IQ>2'VIID3DQ%=XFKXKA_OC@J2K&-6>"&?;\] + MD X\"(BEK(C_2.P''."3?0>P#@!KM<;T0XD)4107Q;0XYV_&2@\8XY\1)\+- + MA'7LUZ(<; VF\0[SIX^+RX P(';[YR?6AN\%/_Q>G&%Z3(A!,>QOEA 3<.X + MS'/2/"?%:0]-G=D67@I"B?CF6 \ONI2*9L^+"MZ]BN$E48XWBG#C2 + MD#U66Y/XA:CDOB=&,/.;^*\H1OS-FHJ)@[%]8KQONN]/F&=$G(X\COV\A%5= + MYI5^0+A*ON"]*8J]6.%E0/J ?X]'!](?B6+R7' 7Z'-9\G?(%[LB2OT/Y,IB + M$K_+]LZ7$H?$0.YYK.^$*/#NJY5E7@D>Y>]=8I]H7PBKY,-)OQA.[\/343'E + M0&,8X.I,=_!/8CR63;XF*HG?B:G^G_$ZB?IYO!\B6/UO@S+ET-;XYO3BU,^B + M1[0\.]!2JR+/Y@[3NC)WY[:(\?3=Z2S^_U+X(U%)9L#-H'"\LW^8UBK7.-_; + MM<[;U>KM<(!D/^S_7:(-C/,CB-\@IISDY0R)T<256#N3",*4N))^02%03*U3 + MFZ86W?^V XU0SKV-;9\6X]B,4GA8')3LY6^.OY,N IHB;6A7VBZ)[*0N\6WSMW@Y+%"SZZ];.=G-5D5 X + M3JL"0:?$%;$?> P '[U9>WE-WTJ<"UV)[4I>$,781HR:%J.91.B*'N5 <\^\ + MJ.UAYU7@#G!VCRB';\L\BJ46$EN2+XB#X,&C1/U@-YZ.AWX>ZG3S2>Q3:.2Q + M\#+::7'&6/!5$.A ] WP+_'"!/- B00NO8>EA)Z6F4/&Q0#D>E&B+;P@!K&4 + M(S''*0<:+Z:0;0$_E',+XW?@FPD06.D46LJ=/F^;K\OY(O;C[*<0]'+?A?AF + M,9G].+-7-KPF*:A*\3?V#!0,W$( + M&)8BJ>BR^">^F + M]7Y)J4]_JO9N6-+M[H[6C2V&E@C? U$IT__3+T% @K&7)949$[D#^?!)8 8- + MG%NH14>^)0V=?E",D5ZW=\X/:I=8 +'?X8N9LZ#5M-ZU%5VMONX>XGSY-U^W + M89"3[;D144Z\E%BD "@)-IB!Y3$KLK=!/@LP5!^"F"!&XF#X(5&)+A'ON!BR + M0-L#>!H6D C?#J)5@.(A?/6@*$2 &BM@4K"82Y(<,,_1;P=:Z .H;^@8@YGU + M-JT7>; 0P2WSJ I8=110I!F<<%CVGLZ-O3X'9-]0")8X\VC\L!A+; 1/SA>' + ML:ABZC TZFAZ8?9!38#4_5 OA?A?D\O['\$T)=:3A71(O&@HPS^ :!>A3WM( + M'X-/"VZY)016>MM[N[RMAM#L! *9R ]9D\ %R3X&($>"W5#S">@@13,IAI'M + MR0PC6L*ZQD&=(L1RS-0U4C>1(8E?P(CAR&[Q0N)9:%1B@-'D^_$7KJ<)TG[H + M^%>A1@W,5G7V=KF,%QD',EW)T=!WL=<3GOX 271T+'VW1*M!% ++ A%XC>L" + M&P-WP7]L\3B( + M&(_G3&X,OA-- YO5P">-E;0&N@+-<'N3< 7'^BZ18^1 ZW\[GF-U+L,55_Y2 + M.;$JO@'NRF+Q*M32(.U?[(]DSJ6)9H=S1%LC;"-<)5C6$DEF:*LQ"QP>&I<^ + MB;\-1+;"25TC%:/I0$M%%?F4<,P=SCU/%C=[,)8-CJ;_AKE+N<-@F /TUAVH + MI#^-_!U[N$<I*<&/#O93$172TI0,Z5&.,O + MQ[ W =!]"R3VL.U CK"3"C<77Y6C2[ 3Y.Z-AC\!7_Q"C&5?A 6X\T2!R/44B"A'G1SN4%X,QS\)CRB:'@!GTLXHK +? + M!/<]8>F8#9]TP!'2BQV7H+77F3V?7@S&?P:?7XZ\#,2A:S*?8+MY0;-Y_)%! + M8BW$(" ;F.T28'(\9&P4E":\V2% .YU:1-&*FEV+P,7LV?@%_DYBD8\3T*2:*LGEV'I@*8K9XX R + MR',8%M5_FTW=4G(]=#"OS.HB;6^)?'0L'@1WDV&F\&^(D2U!YI<%0MB;=&PK + M.+\D[0X\"7!K FL#/8';\//:P'WXB7<02WT*@">2*^&<%R!/)5O_R"T$ + M_+[Q7)\;+HA>SKT;6HYME0X4FVRR=.)M+.*#S'WQ)_!,L8&]#-Y"$/TMZ^1=HY\ 2_QJ>>2RW5GKYDM*,15FS66!Y( CJSH?& + M#<-8VEA)1H3$CZ7>K:WY^CPK\B24VT7QJG7]C1;BE!([_ >AP+X??UY_(HD. + ML/9;WH[38L("!/_WK.L;+4(M5^J[*(Y#7O+,KR6>5CONEV=P43FP!89M@8H3 + M7P7??HNW@7BT$OTP\8(T5CIB"XX&KXI!1;YB_-G<3FP4I("EK$2\&/T0II1" + M8!@*5M=O AM\K;XIA[9C_'#X:.8 >'P7QHU*9@G]'&[2)4"SL20%= ,4D)0' + MAWP\OM3WF^R/J]8R%H1$<[0@_<82Y*>2>R8H56Z18]XWQ1%'08W)O0(ISX!3 + MP9FD.*H^'2'O D_+^/.2#"?,[Z&J%(_-Y##PR1,Z.+?JOMW9:W7[?'/GSJVC + MI--%FI'YM01K-"+CNE(AX'WXFR@2O)ER0%+=,@!ZQ6WW3N7<<_F/.O + M_ 5_J<5GK?/V6.M:X4)_D6CN3F/I<>ZG.[#0N3N<][./^0^,N0:_,/8V_/[2 + MW!VSPIESC?K;?/KIJY\]UXZY&^;RKQVS8VG@LX/PD?^M:/-N]W59/5CH/=[V + M=8CU[,]6]C0U7F]9"[N^UJ9OX%E+4^--%O:I + MMZ?+VU9;L[!M2UL3WM[1-,^R[ES1] U/X_4-EK5B:],-GAOPE^8%38UXLWIS + M4^-UC?A^5=/U-P'T?3[OIG_YSEG_Q"]BM'_YQ%IX*9$)V?"QG5D=[?8P \.Y + MR?0W2.'5#Z!<.?-DY*78-I=DQ)IY0!Q./-A_F4Q _ ^9JR(?>I/3)]KFGA$G + M("!D,4N DY=@,\^P^9E E#/,;E"!E'1R9::?O8FJ/('I))$8]8W#"2O*^2""E7^+[I\'1M[6CX/)MQDG;0J + MI=ITY'BS!?^L%/I#]C':I>2^Q) HD1([10/=FZP2*OS8)U*O(G'UVW;9JO+]$FL@A)F%2-7>%SM(P>_#09L I5G8SE "04\8R8P + M9\^58QO(&S:P.P-*D_G<#?8:%I-2PU)FCWT1_;84>##@ISH"K 1Y *2%BT%? + M^(23_UKHV];CZVKMV6[D/V3VJ\S E&'(CJ:>RB&TGN"I_@<20SJ, + M9)X]!FZFZ/V@&1IR/I,3#[R,2?BB%>;C8NA*;C,8;$2A-@[$2RJ1<$DARHC/ + M#-(6='9T][3V]/:T=II![:'L*&6-)?3@GX/O@30*K[Z#_3EF[LN4]0]\+] * + MJ3V9_2W", 2*O#],'(,.!ID6=_3XVMI:-_HZUALC4NW]#R Z^&/F$*3JI[0* + MF3AQ,'>"RNX-G>U&2G,(GC-H'+\M?)#X$-I@G*D-39 ^+@-LA&F5HTI + M!:7IU48RY'V.&@X'3X1:J^=N!C4ZVGT=1H8B,43#("U+O%L?[FWS)%=@^I6< + M4SC50,XK&Q\\[AO*'SMV.CK[+"6^+;XVF8*H(S(@C^B + M. JB.(9]1.! 6I;HYI\?#X;^!@$ODX894W%L10Z/&GD^F4R4&70,+TH-,$MX + M64YUD!6:9R$(!*OPM"4@"+X + M,=3E65WFKO:.[NL!6U> + M,\7=?S5W>W0AZ4#65%2T*D7OC0A1D9EVFQ;#8(8"UGI)A1-,%;DQ;OO &YN/ + MOX#)V:2JFLF2R%^T#Q!H!LJ/X_ JKX;P$F00R"77 @%8 C#WQ!S*D-I@9 + M5-%HVV;83+C3 + MD2U2_?5-IZ;P!'HF-5]OL^$BY1%WY_67IKN0> 5S?T^S- ZYLQ.LHT@[=UG=/=Z>WN[JO<@\%_X([*C@JI_* + MUDIO3ZNWQ[?!D]V5>:Y!^G6W>Z'G6CLV>J)[TSOP[$T*9!U5H+T]&TJ>:SH( + MM6, 11UGFER 7XYV:N0'+ <^X4*,&+OI!+Z$J=) %6 .?G + M80^]@=W,>,,+-'5H<:WK-WGH&5Z1]X_X80][%@7.-]*0^6VM'5C\;[+G,2:\ + M(#')F1$"@,][>CL\] RO(H>HT D SN1EZTYO6UNO)W)HY\.DL$2A>D-D0$4) + M6?#'NL#]I-[M@"I^H2J@BH[%+\!BEF/A4"<9]!TQUH + MNG!MYHH4G*)5-V?.TLXNWYPY=9;!?VIULA##QJ@HLY\&U'SR -4IJ2" Q>[' + M5V?$A.0C8U2%,C.A]MC+\)/.0*8@)\F?&/LSH%2FXKG8L]3'8G[/7S'^,.4K + M@,'JP':\64VI.C@&ST*CGZ,*IDE-RBY1EDQ1T7:T^S-Y%S7-%T:$:F>/.6], + M2=X1S< + M*%6:J:S1/R%'S=4571X5?U&/ZJ=<'W@VWDEE%#GV&ATCG-UY)^\%=;Z4D^_% + M0[#\+XB1Y'L>^0?TE'5NQNQNZ13]>JIQ<&/>*_N5+U:O\P],YAWFB;M12,!J,?0CY9XS@F + M5V5NA2R^?/=EC=&=N1.>X*.)0U SLIAO9RGL',6MVEW*9_;*)]=IJE^5/_^G + M]OBVYEZ73[ZHX3^9_5@^\6C\7L_M%.,!JA'Y D]X( 27A:P![(,#$B2J^M>K + MF>NTW?HP\WV]0ZFM[_LASP&E"3343Q+G%&=.>L)+XQM4%<,P&S1'\ 0Y#OQ3 + MU5LUXT-Z)Q*)<_:,NY,_DF_GZ:S%RO"3\LF#NH/JMZD->GQZ)32X*L,];M,! + M;][D$BB/R6[3?\MUA"9SP_R.OWA,?_&QYS.\23L3E?B8\]H#K@0*P7A 8Q4. + M_DZ,!W='7_Z'L&C09T#SSOEN\YS[N6A_4;RJM:G6'",H>YJR72';XO\0(SU#?7]1E4=I("9H=U$JEUM + M,]SRR+;@WSCUSSK12?U3^X5V"5A;EV)3\8S8+WTZ UI5.P;[+KQ&>RT5F> + + M+PGN)SW-\4M9SE)_7;UEEZ$HZ63HXN HZ5=:G1@$QBYM[HF?C[[!]3WY:2GZ + M!%3Q-^,%F?QI<&S?C>1'J&$2/Z?L-;/@99>[N!O1J4D4=?6+#U>'NL#9W6]LY> + M:ZNWH\?JZ;1ZNWVW6FL49]UZ[7?J+.DE1!Z*P8+$3F0G096+X"!227G5#3IM + M5WZ+3K\*]4:13>5XJ))<+%XC*YQX5/Q*U9JH + M ;>V!N:_DOPN=E!."Q;%XL:HO =7<2^U#<>VT$;)AC FH(&0=#+(L?.SI)E + M^H2JJ1.1N\14YC75PJ6B54Y3*^YOG-=-#&8USK,PO"1;$TPGD6R0U=';OL[7 + M]>!F[X89,1ZYREII,1J,D%7?86_";)KN%%D4\HJ 1UF7**VZCMH:B5#AL[[, + M_#C1'[P:>QEQ@TVI[$'V#\<-UE+)#&SAP5C8KG*S-O W]YU/[S.4"-!-GR1_ + MD_21ATO65%^!'Q58W0!B].B^8*/,2V V=C2B)MT@KR?7P*BJS69':FJ]HNMF(%;'%4D!?D?]O"+8E4T\U^NK\"C^$K'6)_]U9KMO2V/;&I;U_$= + M@VA;V2R-9OX>^52\WC>=F: LH"?Q.'P7XO4&>8R$7Q=5G<+.N4@U0UUS3G*0 + MS3VY8<,\NI"XHA(/*FDWVU,ZWT%3,S0S"Z_)1DD[[41HYU>]DRI(E.OZ7DZN + MK#-SX?_.7H#MEK7)LGJK>P%NL:RO6]8WJAL''D#\?MW,S@%^7#6V98XUUYK3 + M5CWT1GY\RY(BE&/\MGI'"?%., + MN>2G2+(CF:]]-F%SVUT8B;T0^45P#(Z(HI0DS;M+_T\_#Z;AJ;_N!K+QGP'" + M2\IS:^B@7)(;R!W_#)#ZC?7DS^P7AR"@HQ#7$5>6* + MFK5$B5/4A>IX)MH_E>/6Z^K2!%P RGWIBKG.M+"S+BVHM$O2.U.SJ&&!S? T + MB/J/!=8&TO[YJCNPDOE;Z%-G\S;H_!OG1:EE)M5+G;"Y=YNLN@VW>-DM]JK + MC]@)&BQR2H^3@8=V053165/5SBW09PYD&6IN:NW8T WB63TMK1T;NZM#SPU= + MG9MO=6BZYHM?_D_+VTL1J(H/90G3;+23N3OC@+2/ZSNPZCW@A\G + MK?I>98H?;^V^7A"?!"9P/Z4YE?P*A74L^+JV(LU\=-G^/.V4/:'=1EE&K/(<"Q[]E! I[ + M,-D(%,9NN3<-.O0&)NJP3]]T>!N\L,/:8>2^!QQ37]HNQK6(LGM3[VJK=,"=NM^,"CRO#PARH5-OBF5]Q:*&-$7RI + M_NKX0B.T^%H@9'R(SSASJ[)IYD?V)VX>M5,MG_?)-O.3XR(OS]'QIIX4H_\4 + MB"\1Y?:&H2815-I=+YV&^@S=Y2C&Y=HTS5+"@7JTG]+A;%L'7!2[.;I0&;CP + M)_*M<;*I[)0@5JWJ8-544NN65*'54]\BK5Q[/;QJ-5PVRV<>$D.I8_I=MZ8KG1LN$=T@ + M9I/469E:16.D'R'/$&SD_DAB=@B/\]2!M46OQ#8$_:]1VM2M9K_EU"_TB8U2 + M[H>Y2O6XK>;9:6XD],_?"GU'19$)_#@JCB0?CDWIQI^9CMA]KJ69+N(VNP54 + MFX\9[5ED7;@MBWUVQ:*KC>/^'BIS-@0$G=3D8\D*]G?MLB/$Z5[]]'ZSW4RU + ME"DRW^_>_K[IV*[44P@&" .F8B\;YHV!* :$V:#R*1CKWF6+5WON:3#([>J + M>\OE1F$@C2=OMGG55U9A0+ISY]KX[LQ])B\V:3D9BAR4AT!D7POE_>2(K[G\ + M9<16N]W58V]O3^?FUO6;>EV))5)C:?\BF5["4I932W*! + MREY7?QC)H5-0*3Y#X:T*;% + M*!T3Q;+A-JM^(G.\//0G>^'HR.X!B"CW$SDNB,N).6R[UY>,R+1DULG4*9"2 + MBS!YRJJ3\V#@-LB'MI1N<[O5]#W+<)Y[&HNJQVE0=K>['5&.\NV3$8#VF%0V + M,*IKZ6A\ ^JTH\ND!QU)4KI)&E>OJZ?DWRHO5UG1"OCU_H + M.UO_G4 7==.2 >(_#].A=*7ML1H[P^^HF'1>[J?&Y[/0<#-2>)E,GLA:BM$W + MJ[+"RU=>=[WU-6O% E7+MU:N)YGBK(@%5 + MR_M9@M'P5!7M=$V)DAP/MVYK[=AB*#(3WSK2:75.5Y-V)QOTO#*-D5J&S2WL + M7"=/9>MW&VPC+1-FB?NUV5TZYV%I/_Z*+PZ(0Z8'OW2.C(:<4JY,L+-AAF%W + MY:X=B>@Q9RQ + M:3FC/$.B 6NB65(T2^?(&"7Q( ?]U-JP!R/^*MT5.6*S/2)\.Z?\ + MJ06BPK&(/48Z?S+'!6P6.&^DFQ9]V7DB':-,=^P)E3JJI,Z( <=A7CJGMSI_ + M0%Y=;$-H!R:^Q%?2[&T0)7IHNDE+YVQQW!DG BX99]0=#>#41\P@S*V:E\Z1 + MGD_H$HS$;*E?N[#>-;S-R;5\)L_57=/6V=FC + MYVMSS[=,J[-_R&IUUW1XVWT:S#(WF%Z[<:UZD\4DM02:^UQW36]'3Y?7ID"O + M&Q1UN]PT5W46%BBO*W>,#HRD)ZBG$\\G.=];1C [!;5U2F6+S"0;W3F@G[M: + MG/@.-/JNY'S'79]CL4'J_8R%LQ]*%U1VCU:?9H;)_B5W$18=SNUXD2HZ^YZ3[?/V[6^ + MI9O + MYNRU_1-4.KE,@]K)(]'$GT= J$&[TYV_X-Z?RTX"1Z;<.^L]G9M]'4U&9L<@ + MIIUJCYX6KSJI<_H49JM^?;UG?5MGMZ_)2*O/]K4D[C>C(SJK,>"9$ZQM4GNKMCK3B):'X?S,H[ + MM370%(,STT'NCF!]!X@\'YIX/O*R[J&S2556!N5_Q#M\(T@)FDCZL*>XVJ,R + MPS(?;.RJLSH%3_>N.ZI;]0D49 .D\ZT\BX2Q^-)#Q8KLRMR'X!L\,8*C(5[?N-.Q&E#JNR2>4[ + M)93B5"T@^N1EQ=Y_/O1."4M=KY B8+]G$2 !8-R4&;,K''RX5=*-1$L>O$V^ + MGWG%N9+-I!H9 ;KW4 F)8A#X*7\SMPMSEBF\@&%HE4,TM>MCF><$K?HT[0^M1UYOJE;* + MJ_+WQI;'']AY?V1+>@_YNQR>#HHC_BW&$90KXN>4Q\Y^&Y@>$463%GP\9[L\ + M/6G>.L5'YL8C Y[Z#?4-6O/U+_'4/XP?"^Q*%-WI9N>B) W/IH :+T^\%)2F765;*@H(=W&*;F7M ]FD4< 2ZEWQ8!Q + M&8-M@+19$\:'5L=8A=GY+H"B=E2Z ,\Y4G:]6 + MFCLT3@?/E.9P.ZA*#R"^O4J[HU>JL*H@MMI=Q>-2&\N45SGV1\(&3_8[I\[E + M#$GBG '*^Q$QM 7'/,7T+I:T=]0%2T5]GQ7;%RI&71&_,ATKO3^W4+"TUPF2 + ME!TS2R>C5-W3%X#&%VD=SY)7HXQ*[8KJ1)2NH!" + MZ6N'BAY7[AH:1\78JG].-D?*2^8OK2^C$GI/9L@R0DJH5;3F";Y"=Y6S#:>K&!4B^Y9&\ + MKNKCI?[;5#O6294$D;" M)V5RX>^+Z;26=!7I5OI?>AUDGUUE-EI-+:M-:54 + M"3*EE9E+^*(X%'F8&A0 F@!S[%7=ZUEV?G + MM+X\#"85 -]#F^<\QR5-8'5RV8 E:Z)<3Y5W 7*.1+8).^>9.&?BP+*=KT8^ + M"J"SV#!*9#$6FI3=RM5,,'*JA3Y"UW#I^XN')=- ,;FL<:@SG"^6D#V;P?W<[_, /." + M[B)0@%3)08(;X[!/WH.@](>L0@7Y[$;VF#H&,&AREKZX3MV$*?/N=&WQ%@HA + MS4,7=C%V@/QB:K"W=(ZJ6N[9G2HYG\H:ODUI=4C%R7>QNS4E.^.J^N)&6=>X + MPK1;V*5FE5^(/Y)YUFW$M8/M\(CB0Y*'/9+ MB-@7-LHSVZ)B=@?.7]1;4R, + M%B*ZIF+F"+W?TC#;^3V8QM1/Q!36,F";?=9:41"0#$%D4$H!7XVH3V_/!I^+ + MA:0Y@;=JI2(GJ@HZ:=V+C*?2AK/!TMC1B0>G:T(4Y'W1?!:$]+MLFJR*\_4) + ME)EPB6$9RTDN6=(1*FJD*O#5_E>XQ5L&''DGJT#L2G=@\&4@>?NXG(0F[]"6 + MNIR.5+$#2*%4;!<) '_QL9G?^HQ]*>MK9-E5ESK]5QR'T<1_3J.9"A;5?1WN=S9'E&>E'*V0J6^/*_:_Q^MN-Y*NTDWM]EN'?-'SM?W6\;^BBV[).65_@KQ.%N:F2?3 + ME$-@-MR14S>K6SG(EV$.<@&974-[K7SUS2S?Z'QX7MZ=RU^>K.(*N(YXOE_? + MPQFY0.XO0JB)['&ZX\>JZ^U8W]O5[=M@]'!JSF1\V/FT4P-R)>IK]89E8%KM + M[&>LBG'^@:=IC/N + M."[&[Q=OZT!$=_;*% E"Q(>X-+0:6HEI$AD,2\]17^*\B*FT6Z6IE(3(2@65 + M>6*7Q&4/7>TNXV-$1'8TUZ!";A7*:'UM)@_X&74C-U/L7^U.A+Y!I=TC[ K,&1JJM1X=@24S]AYX'O%%/PC>5ZO + MQ/<9L!M/]]:KFP0I02"M@CV&II8G+_FG,9FF2HY1JZ^:7R4=U#\34.$&IPD^ + MO<3DXK9@/I:FJ2-A\&PS,MGA'21AP,GN^G+NJ,4[AJZ::7@<63.&9$L!XIEH + M8'7@L< BT-O^.R*;4O*X"RZOT:S I$.0O7.D4T.38M)#JJ9!]M%64::H2P]* + M T_3W7;RW &U=I"Q-LM#*A=:)8*C!KFQ$\H+<9D";H<3D?5K\ + MK^W0>)!*"Z/'O\,Y96U-Z@O+TM67W5HKHGDER*J1E9&_U&$T$: + M\THR+YM!Y>4_V#;[D@SI8-@&AYHL?J-./8YP2<-FW.:%7UE(-6AY![/K'N7T + M&?HG"<3>\ (L8DBE@4!:^4DQW1F?YFL#>%O8Q%*I:L(\CKB7K<^$6BQB@6IK + MR8D)> ID?R%NACZ'7 .PQ[NI;7NWO[FM=[VOJ\-J\;:W^[K\S>M\Z^=L\,U9 + MW]FUKK6#+@Q@>Z:J>^I + M]_2T='5N;;)DCV6#97;121W+*2AX<="Q:[2.=>Y+H]A=_3M&Y<2?52I01]X# + M*KIR[E/#WX+O:>TI2WKRAC57$I^>J,0]^W(<+?!3MNO9ELA['/04.2:;N[81A+ + M3^_==[^>>\ZYYWP^SL(3J:%BDHZ?S%&.0_I!0@Y=:H*2Z4K-@95Y49;!&+GN + MRDQA@8MABA)Y-5,9Y@*.H?CH2M + MV* _%+!&_$&.=W!77X7F#MG_5OU9^1TLVF,A)C+^-!KRQ[4[9;QF[D!I4_&T + MN)7_B1S$[=%(>'^@]3EW\5SIGUL>^!8_$!L-!XL3KYM:HZV@/;_>$A + M6$"M#XQ?SLP9MZL' J$]@; U$H1%$0S!JO7'F0>/*9D:N;/JD6_S X,[_;"N + MVQM]5BO;>*"E/_4V:%V*_T0*:#08'FZ[WW)GYL:/5__=:,-?BS?$=P]AJT,! + M/XB/J.4GP$-W.0 B!Y2XR4]5YXH'S!O5&[0;Y;_;^8%PI.5>?@#F&:P&O=FW + MWB*4:C(4<2GCFJ%CWIV!T$@@'G-3SCP&UP][0%I&(GAI-\S,0?@:VXE2*^8N + M'( O@Z&(_['8LNO<)->&/1['7FW#4B2L/%J 4UH"F+1/*&L1%](D2)\/ QQQ + MXMAD:L?6S&'C4!X;"KM['M,2#S+8YZT3S\"7O2!^1&/@4O9TJG@EIW KA/%VH:0%9KAV6Q5F:&-; R3:JAOK%M@8X5=>I41 + MFL\[:TM:*2UGE-0)V3D + M^4S/VB__QSB"LHU-["8P#^PE@FXLO$";.]@W=(KBY;Q#Z" ,P + M.!BPMD?VN:OSXX>R=0_&G,6#87?Y/-*20/>Y0*UQN9==E[Z8"7DLX5.V-&HT + M+DWD()'K&J/#YZ F_RFU9R[;;H+\/,(<05@:A2^]S*?WA2E*)#QJ7Z43R;:T + ME<1J9;^]AH%8]"YQGF;7\H,B,(J2$EU8(1<9,K,"QPE-2N76(N5-.+;(S]^D + M7F(X4Z@=JS2BYV841'N-L(7GR.Q@S.A?V:_2\G[;KD/9L!!=]-!9Q\OL:@=Z + MY-;LB.X.QLW(RB60_=@_+-HF(ZV%^R.W%L^UQ*EW'=;A+(W^:0F@<:M]SD!- + M;#% ]-34]F43Z.JP C#P$!W]L +^5JX RE W=@_&JKD]\9'UC/I^'Z + ME,-\E?0ENY/W$;_(3@KFKZ7J$^_!;^3B'>_!,T9AZF'J*F5+]_N\:ZT-/@Z2 + M7-?7^X#5W=/=B]\;F;A]HO262$FAVC4)3'.F\&;E D=AT^["82@&OJ&P%B8G + M\L]BXFOE B]63ROH&3J;T"%4*]PUB12BW:XP,%#G3U![%4DIAD5_8?8I8C&I'EO + MV(=X5("7B9E0>@,64$.Z)M@09#9)]$?Q4D#MG+I1>$*<&E&SIDM?B*8;^'!L + M V()9*-E8+%5N=;5,5Q83B[P@DA.0+ @)WC9<<1&:%_9XN!&@Z)!NM:0/S " + MVB^47+&OIA<%@>EY\;X%;2#H=IY.D_N778>(QMKQC*H(818)OT7Z7.98^>WB + MI.7:X.WI=5D.IQ67GWR2SU\)MQ4IIZ#2E3,BR=5$E6,*(EDMC/IBI" R44^) + M\#HG4!0=.P_#?$7'RB6S&CCK??U8&7G^R*7FKQ4W0(?GB*'I::=">(K4 ITZ + M9[B 9^QC)GH=GH4X!7'^A.!L2-=H5C R;:=8R9KZM4V:1#M)$XQ0PP-#D";7 + MJ_V4#A!!_;@,JU[;95)QG*C%.Z4,U,DQ^1E,XA1KG'Q\U)/*75[Z$9CBLWQG + M\1D#>EWCK#2. *0;W5QP9XG:C> 0BJ>@I/ERK/ EEBPIX6R14JM%_XN(%KJ_ + M6>U-WRM=XL53RZZ#:POZO8[#R@VFO\>>47CDV%0LHBY$Q@(F"HRX/ + MK3\*G@"U8;':FVK90)U,U_;1>;S+_?AN/RI!^'LGU0>#* J+,% KY4"Q]"PL + MHCQ U#>6'=)/G.@N+$KY@=&PR)U",D/&1$NR2[+@9?HBQ + M19Y=07>(3^A3VDV/SQ"!UWFK:P5,N:,87ZIE"GNT;4@,>0;/3&9SL;'WB,Q- + MC[Y>9-^'J'\-:P3JF5%7<33[BJIAK8._O G7R;@O@VF$LI=+0745O8\40DCW + MH?A_W3Z7?=T9-GEC^Z#M[W+O]X^N4KF?G8;M]A6 + M4F85/^\56@M,*)HT\WRTCP/*3A8VB] ?D?IE\1C'%):FV!/(Y&=C'Z+V26]B + M[V)S\N-TM-23VYC9HW!U4=R\P;7E;$C*CORL-:=,/(\=*ED'J 7$']VH?)G? + M*QVXT'4);W8/V+^W">M0*['-8J##0W6PR64:AZN'[ :,Q%6,7!M_29I*41UY/HKY ;E)*_+L =3[1]@QL-U :TB1(,N@Z2-<:E'%% + M>L*I;3UB3)R,Z+,BB(D%5RT3K[YDXM X$:L:70&J/R5[*O,$Q6%"+7,V+.%9 + MK=Q/"#\4>X!B1>UWB)""%;I9&3ELU..J#-A"!:\3"8A&ZS-#]M'"\_=.?D'N + M=-,&@A>]Z^G+D'?I^6,27%UXO;*)R+#)K" + MEHEGH62F$M$LFO:2RG^@D <*$6/*$XZJ(FC@!J&AS)5>SO\ 3QKRKTMP?@HY + MT6HJ12.7,'Z)XK*8!_<:GVR(%":T+-_/O8?'2>1:K5,DLW9\;?\0CWFX;)C' + ME[0X0>'B$'W7,+?,=H"'UI6LJ3S87G9$3UFM"XE2%WB)W:A%W0G\RY9$[!D1 + MAFA.@AD6?CQ9EUV',6%ZR%O7@UWN07\LOLI(^O>TO*L=$$#$Y]RR@@&]0'JX + MI?2@?!O-JB."6R*OR7^>V)J_"VSG62<,J[!("2*:*YY2E>FX&'2<'\GC8B<^ + MGYU7(I^2MV.T"L_BW)GLMU\LQHCXHLVQ>*N.H7?9"MV%D$RQQK/(A)^@7JADEREG\97[RD!:F + MZV3@.8'80@E%0*B)W20H"'A3PO?J&X)7>J + M+37(B=2=)6JU=\@<=?1CE:7EN#6SQ]6I()?&R69.[T$]I*=.LHFL5(T'\9V:2B5J+AV'_ + M,P=A1R0Z&!"C<%4=Z+U)JJ#(HF:2.CH[I71[#PDJ&F,*66UKL%!+1)=CHI*6 + M*NI$QLRQ]JPJ.TU;R+L8#4$O/DOFB8)_+L=2O[5G"Y'J6+XBV&21W,ILCLHX + M%;,J^6CR3I9Z.$Z8G5HY(?)X7U,G8[C'=5A=8FW@RF J,A J+L=J8'(R4FPH + M:05CZO)5Y2,7$XVB$&9806&-VIGBK ":YWZB7,,-Q1M3Z4VA!$#I9!5Q;.N< + M,,-$CT)IM)A:CA-H>$V-WCF^9Q;O3D*$E4-RW:DMX6M4/LR8;%/ZEE;Y;J6 + MFFO%2]"Q-\B.I6 '(14%I\,A<\+D[-1/[?KD]T4>F;J'GFPB$#A"1A32Y'>? + MEED3I3=*VS#F.O^@W&K(-*+\'WANCIZNEVN@!S/:;TWD1&'Y3?OG%/FPR*F# + M1B/PQ)K'-SWO[GI4M@.I)>QY))NPFT@R6.V%=2K]M=,)[]BO)R]2-/V0L#5$ + M]V2/DI4N&; I+IS*FA,HQF#1I 8Z="8Z]3-ST)7?4+%)<_!JH]DL9$M;L2+P + MZP5*/DNV1LG+B%85_2 R:SLGZF-(D<8DBSTO&?:(7Z^FX=F+@%:R;&4"I0RT + MG"+*;*B])L@PP]-G'50(,^;B DF#CE/;Q6OQ@W2PJT3 + MWO0Y4%'(:>>ZQ[=YG7?-W7T;-_?TW;/)9<]C-:5S#C/J.36DLX,..G G="#1 + M*3A32/&3<)O2Z_-AS(QS$<+7U_E'RY3 + M!C@?\ULNM,+D@5JRF"G9TYW 25"NY.[P"YVXL-"*(JC#/)$D.F*:: 5GMHI + M#YVAC&-&KD6B(*9RZFQ.&'G(DN<(1EX$YIS)T=!1LI^JPOM%N + MK2[R>"#W)7NF] !#1:+2:?3J.MY@Y0S!XN22)=BDJ#P*G^/:J Z\:9F_A^A + M3.YH<1XMZM+(75U.EI*X&$]X,8? + MLFN6JSNT.V!M"/C#05*%$MX=45!M@G$++137J'_4_X3?)9N6T\9LI348 + MVTD"D:JMUJ;3.'*P'-'PBKYIQ0+Q0'A/Z_03#;CI>J?>-V%U5VE5O8D.WU9A + M]41I4$M5,M:$$Z0>$Y52/WVCY6UW_)EOH]>(D@+[1B/1>(>E)=DDC;1AN2SI + M %J7("2_4.3QH\9O1%WJXJ+O<(&P"4/#/D,2/3D*;>*)E)7R28SV YFCR>1, + M;^%Q;2\B'U\655B!2^.ZJ]^[<5W/&N@3F#0;H+#-OG[^TM>]WK=F\R:S!G+? + MD$QO">\(TC0'HC'4M2/;=P4&XS&M G1R,S;-K@*I8B"\*HE[C+\^G?M X'+Q + MH5$\N8Z)9TG7)JX/R0/HI)HF^PGCBBD;-MI]Q2!,S49U46?(@6_-= J34L' + M)8)KP 7JF:DD(AG=X>(D[N.E<.NVV[6\2V\\S' ^Y!4"0;:+NS*Y@^J>P;KK + MXPD2J6F'[:A\'3L;L2^6'$X8Q$2P^$FI!G5>[=)I16!_WB4(.L[:1UI>LZ X + M+990'HAL:3V18Q^$9QXP50G+XDBWSMM 92']?8>L,=$MY9+U[5N8G&EAXE7T + MBC&XC$FF(N@_6K:'/\;C53D!=LN,"L4Y8F@;VL[G+&(-<%X2 Q(*.\:1*ZV: + MX0B#ZHXF21ZJ/$ ##>Q + MK\ 4?5'*2@V$C;R<"@Q,T$(FO#W=&V[>N";[ 937P#=:_7T;'.(5:NE!!.FV + M+^"O--DS_+M6&HU"2SOB&C#:3>W(:(CWF-A%X.G^. H\#?9M*X%F#&/&SV0O + M!R+P@;VX==6&2#0:C+D\L"P,O%I':3%8=5O<]H,[ X./C2+7M(%^+U0;"C[: + M#DU^!B.Q]PQ9*9)/L);3-N$HW=ZY"O# + M.X)1C1.>4]D3WM+6_*\$(],9$;L[3>?KZ#X_J2+XI]DIK?# ZHBDKO4R@<6Y + M.[YZK6^-E-'. ]Q&:I4(I^>5:Z2N'MD[TKO/9MZLM'B5P0CQN" >%!TB$+13]J_K(Z.O;+8E_S4QKGU]#P1@!%VE]36JV-(\=%B;FF5%#Z[S3'PIY6!,3$V].QT4$ + M)><%^Z<87('!$^ZN8)CV=^EU[N[_'3A%_G#1'EL8_(++BE. W9W + M[<&?G>(J94IIT6[,?^[N&H:;NIC>9X\*:EL93?:Q\T5$B + M_R\CSK"+VH(VH1MG".RF,7XI]0,G(5V0 5"P=_EM@HC D%.G%EJW\%H2QH(" + M+]>9"S@#57_KV&SN*<&01^_7<3"I)C5UX$E!Z&('(U73P-Q786(@HBY2($); + MD)CJ0QHKUE9'8*0B+@\T2(/1%DVS7+$0$F^/1$)#.)K9$]4QS:N1_T%BJU2T + M4K_/_FO^B\IA3$&H3-FSV3RP.7&5O8'%= + M%7H%BI["F#5LC;F-@< YYGC5T=<;B+E!+R@E-\&:B42A47BA)YF%2UO@TFC + M'XVYBV>J(Q03K:^K[?XP_ =W1Y+!9! #C@(AT%#=H&2 "8;AM7K^R#K3S]APXL.+F S?> + MN&+Y\N]^[[O?&WC$M6U@8/F3!U<<7 &7K.4'#]P\,+#RANL][EN6K[YA)7PY + M<&!@X.:5],FBCRX#V+D3,W.38I[5$J.H)<_8KR>OD*E9%TW7LL6T46-^/<6^ + MS.R< C+A + M%2$AIG6*"84>C/GQ8E.'^AA $VPV"[0 X?UC8Y8=2SH _Z<*+[.A8=VP@T.Z + M-Q:2=X$8W0AB=(^B4-7(W@W$6<7UZ,ADQ6+B;-KZ0,U8H#!V'$&*%VS97[67 + MG>T\"7GK5S!7.I"10E5 OZ']KED:^<71N:&5*A0(4AK45.(PE'D"4,.X3#IV + MX!0U-4K<13JF7(.C/QH&NX)T:S8F'JI4[ OFJ_4I!&OK!'I,"F/5%Q2*URQ5 + M:0Z,MUEA@C* ]&F!=LIJ"G?(ZUI3Z[I&U-Y3K%*O5-=!E$7$%=9"QKXM.4X$%9-MC>#_;P:#54LBUB7(CT!Z:>$_; + M,F@+LI:B^;85MPEO#J/0$$F$O*P4$S, H(.R 1W8[= 2O%Z?.(/'3.;< + M\D@WNQSDOUQQB_+M<-BFJ7##S!)P/HK*$[%@"L]-7K$OR(P^;3:+;^:B*[PO)QMZ?F$K_R6NS#HH;^IP_ W=Y)8(T<3OI1/?M(< B>)'9)^E9_* + M;\%Z6"OAR\0M_6ON9/8KS#>Q-NLR2_Z:\LE?M8LFOFC" + M)Q%-N;[RF\;=0/4GR%:X#I\0^[91^*>$#W%]$0,WX:O@U!6?H768X7;W1#"! + M;:'/3FEXE>^@((*?R'ODMX^.)GR*O]Z'E.O02&2.]U5?LJ?'/T[XBE_J/2=9 + MXWE59U=#_;;"O6$< ]"9K\JE6#J>>95;V':5VJ?IM1_!0GVS_;D.U^G)S+7, + M&JCI-JC9,Q//PGV#Q:_T\E*'\7ON9/X2_DWY^&]V=>[S9!0MR80ON1Y698J" + MM(6W JYA.ET"@V'6P":],I;?(KW-SRH?2H<"X8 + M(A*NSF@3&P]FD#%%!&E@D"9ZRPU>!!T!"$\6TLDT]"6=XHJ0?(?<]TW$W[./ + M,JD41RGGSFLK=J#X$O>R'E:HX$U/V9^8\N)/MS^1%E=[;F4[*IO!Y2MR0R2' + M+W/V8ET<"#O=LT-GEPIQA#G@VST]S(ELUPH1VD\UX%++Y91F4OWBGDN>-W2^ + M#MOU240P/.$@&0G,EQWC"7N*\(J)6L504]J#C@@E*7.Z0 ^B9F9KX20>/CO I + M$-6;HT'___C#I.*M-45S<:'&3M0H%KK%E$W"EM#7>3VTUOZ1^1<<#@?#\:@N + M<))9S..T%]#O0][U1V"9PR 7-R"7!7GDE^R@4/_A$J_L,3ZDINB25_H-. + MZ]6YLZ7S$89NVR"ZBX=TCVOEL\K[8!0HJA(EA&I.B%#VM]E3\@2 48X9O%V^ + M3]ON.K;B3WE'SX3%&G&R);AIK + M?:'.<#HZI5S^[8-#@1W#.X.['@N-A".CCT=C\=U[]NY[8K^W>\U:WYUWK>M9 + M?W?OAGOZ-M[;OVGS??=OV?K @ZNMKK_XFU5//>SRM-L;TK+HZ" @G9<,AX5V + M_D,E@EFE MLDXV\ED,L=G5]V,)Z + MX8X^4&F?1M\/;-.A]!6X0J=$K#9,?)A)C1VKV'#U(=P2J$2H0W(G?,H:!PLI + M.C5!-JFGX#_07N'3+B@ICOQ2N$H2/B0DSN^T$3FWD?#E0_:Y\6.EX^4?)WSC + M(;UNJ.; 4\.TZ8_"2%)=2O>/?6S7B[^S?\'/)Y^%\L4[4_>F:_8QN%80BL-] + MA@(O#1L&8HSE]V0&[5G15REH[S#\?0!:%4AV0RWO_Q_VGOZWC>O(_!H!^A]> + MA 26>J),6K*#&.A=*)J6;$NV("JV+W;MK*25N-5R5[I4H\4.D + M/HQ#XD,"HXWMV*WKYJN.DL:I%"N@>E^%<$U_K@&_>%FYKW= + M?4O126N@OQT%B.3R[=MY\V;FS;PW'_EAQRA'I1?'+/46!0K+PK4>XO8HW(5J + MU4_A2@=@RQHK[TH4]I06Q;8&:EL2> Y @R + M"-R#E3[0 (M.=I*Y@6=<_/"_BP:%!S,H+UV+0WRQ" + MS6DP&ZDNXTI4LA+_2)0E\GTR9EB2EP>1;H9J* + M*Q@%0'DD2>VB.'.>W?I\;J5P$X_!)?E=*<[7E"_;@OMG&/ P_7 + M[8M:T78'"SS.I*!4C ]QBC&BU_QQ3#HH'GD67:"DWJ1,N/#GHB1I5SRN2BFR0"!FI&.L1X&*36M0 + ME71)+^>NJT]1$D5"R]?H4$<;FHX\ CC^YD.-W]@2/$Y(KMI[]6=%D)YEO\JG + M0)J2&7(UDFHD$\AJ*C4^JOI4$O0M]BE[(N7*V:4WP JNP/<(*#H5MTB!(S[( + MWL(X /FLW%'*I?89!P#\A.TYVZ$#1X.]BJ>Y#6[ X($M$FA_V"20A\UQ')4D + M8SS?&]GKS-VYYL%1IW@.=2H]3X/<=.A.-7J5C&9Z/W7QX[G;=@4CXJHW8IJH4\HW5B5#UTUH + MVU1+B+B"+C?U+SN9Y$7!D]*CZ/25; ,U!]6),"I:WD/N:QXM-9DZ;AK'D\!5 + M?B^ <5HB2 !B$'8CMMS)9IZ>52D"V^N?;_QOEI&^PW-'6B:5H6HS7A!LH_BP + M6DJ ^+UB7VER'&'ROQ:'YQ.X&WL?.[0R(F,$7B?K4Y-8VIEAFVAADB7%&+;>:&8-_(CSB9V)5)(L*X_^;I9E1X)NY!2/]KV].D9.,FQGUZ5%Y)-,_0W]$-W9C + M&>-8R\?O976[F(:."+JOZHHCZ&N[TG15]M2B!;E"^Z!CTZ_#M%P!UKA4Y3LA + M3XYII5!JU_+.\(ML'HC-U2PJ$U IWUA2H&?2LE&(,FNF4 + M7Q6W5UE#(( [7X$ >D#/O8FAR%\]ZI26J($[H?2LS)K3'_$=5@SDY26FBO-? + MVZ>9Z >=W9 ZYGXZ./B%3S'1Z5?OI8RI5G\-OR;T$7;]43A;2P49*$V]A@+P850P]=I-.$B&%Q+H$N4)HN[01NY EK(,Y-H9AZ# + M3P?1\ ,]H\<^/U_B[]A>,A7@"MX]?0;OIM^O\'>O%_K&>[I/C81PF8PK@[($ + MLGM+6G8?: ,G>:E?^RKM9D3$@9_D_2&[*&()6S=@Q+[N=<<:!A5KA!FFE5!T + MIFO#\50#^C*B0P&G 7),Q7*,:YB4R4TXU4NG"?10GYK"B]GB'%]W3LK(_P%7 + MFQ40M_].J9W.N%G:;TV$'R)ZH9!!BHKR3B-JG;7]X?C+:,"RF>1X,J4F?)L9 + MN/T0GXRZ].> -H5@UR1.ZSPOM%1;MS./9=DHO"A9ESJ;8-.[*1^#S*YA_W$D1FONL + M^!+7X7A>XQQFFN]\+ + MB.4IL*_8Y_AEC+C!'?R+ BY0?',?N(&\PC.&5PWAO\.O A;:1^@7*% + MH^-)[99Y023\^K$'3D(3;U7BGMY7+B + M]4AR'_ \V=3/V>GE64IB!S"2XXV_IK;GV.D&D^-=Z_E/[#5<8$LZR)[/ETXN + M:!/A\BG*-+4,[+SJ&+V 94P@LI;]3_L=)PC+"5##D)Z%+[-X#N9ZR7B;VAC5 + M-Q?+GG#23I>B!=-_?B)E5:]0LH:5?)2OUTYO$^'%6/:(J+K!C>Y5WQ,J[+'@ + M(XQ7:)WLQCU1>ZW\%)9YH 1C=QI%[OYUZF?#J=[A0GN[.(]9Y6 NA,4AY6'& + M'7'N'2"J"*[QG*-3=S$EN:CK17S _!)U&VD J<<-905)G\*"T,X + MH%,IBQ>1A)=>%VSN5NR9G7)SP#AE3V44KSLIYQ&]A-I7JVM9.N@M?DZ[.!PR + MW/?@&5-QTY\?58('$KQ4.J;_7MN %7+G87G\QWV"B\3 + MYF@J(K'#=#&&\RV&?8?0Q5.7N2YH,Q$ YQWD5:) E%2O &](]50\94G?DI)(.9Y:\EC:!O#6JDB(X#P#2+AZ>Z'.:=D+' 8#:D([H.32)#B=H1/T0W[ + M-//?[.7;8UL.RX?(;L0B#W-ULI)Z(*Z4W^39+U$4+YU$83;]XP7%OHHIVPOS + ML_OS9^Q;V01,V4?V+Y:^BR0BT16%Y^Z'9Q_RRD1R$X8198J38@XE5G0P*4DL + MP#J_PI[8O^)'&^4BQA' + M0Z[*4APZ+LF4X68=H8 '6V9B4%5Y9H4[;'?:HC3.T:='02-24IIIX /A6GW= + M5T%0*1Z!/@$.G++.D)8U#%2)>^J%]D+ + MPJ5A641627187X!A(_,]RKC;+=JZ$H2LS#2@(UQ=L@T + M!W6PI2;"W=J(ROKB9D*=".^%)CW*N*'B'DJEL("I$X#N0,E!8D%%@XD"]H4Y + M=$ER*PH8@Y:F)ED[V- 90!SML;CI"8$&GK/7G)@J^Q=.'[.72*B@$GK;RP<@ + MQK>6'\2JJ86;6)Z.*)#K..@/V%@X3PX,J_:-IE;F"=S&4$NP)301QK=MZ-F- + M'UJ;[ WV1%(%6F-8K7CA*%*# _DN&'%'"]MGJ+I.@'/@Z$8 $B#%I*"9[OB(O-8VM+<&)<"N.NK5E>PC_[VB2H>"C + M!3YKUSGQH2E"$&-['&F7DDIAGF'?.,,IQ=+8]FW!K:%@6S#6YXZXO@Z^.*AJ + M99L?16052ZFC<=7@E.FW>>K/ + MW/<77O>E[?0AM\T'!E_WYS_$U(?%6QYW87!H[C,\XUDX6XKY>J,N*NC) 9K@ + MT*0)TW$ NDQBFKP:3]S6L@W7&7A'!%13%G\^596[*;BL2MP OZF*$8C$+3SI + M T2QB E4F)H( ][&X)NECE*H;=32!EBGBDPV, +(G CO.0'2= 2H$ZD6^39N + ML-[TJ*Z.NPQMJ2J%X,&O"M+^(44_P4A!Y"XC3W&[8ND'2%Z.4"%6O8JL6GH# + M!K-!SM0O^-PX!VI,MO0S#I+@!5J+8?I_-UV-(";[VD2X3TN80#TC:5TS "%. + MB_HZ"FC$%KL4,+M9AVJD3L"BX79QL-ME.B$4<4,!E[F'M!2??7?EWXWO[)YD =T98C% + M5*U?M5)R: E-_RH?^P8+)[1AQ643O'L_&/6L6]73 W&<3,$3+(9[9@D%)K-' + M4RU+9=V*E0)T*&GF;A1X2'4.Q?!0W:2CZ0B*6!"70L@6K\^.\>4KXPG3&&QFL+[R*X(1B/&P+%?N,T&,9]$ONE(^4+J+X5>S9R2N>]N; + M&,Z=()&>P#T3E)6YHZ435 *Z5R3D=A2M#9=WW;L7GL]]?_(X1E.AU *[EWM5 + MXG'K8:Z/BJH'M+T-O7G^I$<6IS WTP)6T-M/WNS#[OT=M'O#Y<:JX^#"139O + ML30V-X32!BOR(*P>)89P;S[WF3?S.'-=I@6B]JD=8@"P\.:G !I@QIID=))A5+A?6KF1VHKY/XU%%B\O^*_L5$K$NC + M$B";9)G$K,R5*+&$J8^8F>2(9J]'%$MGL8&XJN-\5S,S70%".:@8NU3S"#:AP^& + M@:/I-?L!&\8(7 8=;YS%,@JQ)@T")Y^;$B8D[G.UQIA=A8BJ;W' + MP]!\+XP@K0"/ZTH\;:1@+?'-&:Y!8!5AIX#0&F-T\!W6=4THW57P'N);HFQ_ + MWZ;Y]B0+:HF>"//#<#@4QDL)9=YL1)//2NVA_\(=A2\#8:1'8LPJ/_MS^$;K^PF^7X4]$7A4BQ4OD + MH8&VSJ>P)+\ZT2XLHN-@SZQ3MN)S/%$S_"K*64V=*S\C8NM6[!N8J3___M0Y + M^RK!)#R(?&L0WSC@L&! X%I]W4P76,T5GJ&X2CBX>^O5ZI/K*NV7';@ ^2?. + M>;5;:5",.V'),#-@3;DOCVJ 1LT$W)<89U4OF<3EZYQ"6YS%@LM UQ"57LZH + M>EI89WHXKCI/V&VI(%M@1,"D:C_Z2U"7[4 1Z:0/A# 0>VN^ + MEMVX?@$OJ[VFCRH<*HN9(Z9NCN',>VJK_/+I'/[KOD4'"!<6B+B:0=VE"EAG + M7?4/0I;E./55\LZ=/$<4U41!1L6#_G90RMBN\>HGL'9N]NUI0;UV&"2WRK$3 + M&S!!R0+\]Z4M ZE66KI\'6S2BGU8H066+Z\X@ '$1]3*:.J@S#HF;G&P[H$. + M"]8[B31:Z38R^>?58:MK_WZ9MPG[3'&D9THP'_B0OK"2WHXW!>UOP + MT1"^L]90D-X9"VW?T1H,,K:]K2T4# 6#.X+8_-$=VQY@#_S_ZT_^:CG:4%\' + M_QYT*,.E!U;^+>POS33+ &B%]2.E*7UIU,J2R.[T)9U2K422;%][-(M + M" S@;YWUI/MU6(ZZM $0ERKO34FRY*@ZH VA,(.'XGU=>R+1_;$H&])TZ#$. + M>L> F0")FD$-5^X8AS>BI5HDZ![N,H=W5HVD>8P]S'_M!6&>Q WN$-S)0H\] + M%MH:W+$UV,98QY$O[!4O/H#GB/Q$#S\XY1Q'"$5:UI0:]]<7'K23H65$#YG<4M =T#NE6]#'5 + M K.I)PR8;-V^'4&-TOAAU*$6W 1]!3V2?072*?RR9#@%U\5Y[@KZ[<_OS_X* + MQA;))<&PWR/J(5RT?^,&-;]IKY;Z3Z)4K)2_!$W[!AY*,_7+V-[,_LJ_2(=ZUPJ?V;8PC*/S-_&_ML\4+?-.AOLX'286_3SXC8IM0 + M$W>/^8O'IM\BEQ$>BR *?OMG!^R"V[E3Z ?%[;_\\"+ !I.S&_WC,5K*3=,, + M\"Q^1&>[TCE:^:GB#=KCN4MI/"Y*[9^SWYH)(]1X^#FM36/NNF5QSDM'6CB: + MXK&9)RCJXUW"R W[#):(J>K#ER60BCTN/#W3C?FI"Z/Y%#<_ZNM*N<4/*&3P + MG[B_+96K6Z-B&*\U+;Y1_)F]P<_>L'(@]UAUL%B\E+]@7YVZ._5;Y\QL]AD\ + ML:?C537KB22$E^7RC_%]98F#[EE=?F=6GGCRZMVQ]C!1;/':7XBOW" + MT@_MMW"+FN;?R8#X#W0P6O7,L 4J%*BCPQHJ&"V]P& Y??:=; 81*ZH24TPK + MW^&A(B"^;-\40PP@\5C2\@5>FHGN7$',\0SG^47,Y%8$&W;^)YN3VO/]JFRF + M,%K>4_I)[C6'(_$X;>E5' (OM5%?5]Y77K2O\@3PIYF!EYKQ]B=/11+CPZP4 ,(>)D9:!2&XYZ=&I#L[*U,OV + M:2H8?]U!7JEO9@)/)&H 'U'&5-#N<1L*/V;,A#N.V>Q, Y25(Z^N6=A4Z1#YX5R$4P,.2HJ/N2?#GGU_\/7#M + M^M3-PJC]\>)_>S'9Q==*[SF^C_#$5V8B]L;T%PO/4LD4*B,P<[>T9F^<5 "" + M'SN%!18G_V/2:U%>L3=*?PLMQ!5$8VYBKHA/@O_B251=G"K.]_>LE?_A(-JQ1&L3)]!2W^D4 + MQ3$D(2%I'$@*(4&QE41$EHPLYP&!A8Z'UGI8#\NR:-?P:"Y#L8)AF) '#:8D + M$YN(D:#<,G0N%XIQ>"09F"HPTSOM[0_W^]BOY& + MM W'<1_S7\&A(=&)PD#YF%W/OYCO 7IEG$!CT>E<<9( M-FE/X4)A*G('TW? + M;3?&UL$9%;Y'T(D751W0?/HFF*H&=.\XE-YASV6@4T0G14(7GEZ9RB#U;T!; + M@2+PQA3WCUR*/M2047UU*M? )&[P]0DG+K<8[B9TD! #'#V2@LNR=&_NA#V+ + MN=J3*^T3:<0P.8'>*L55DSODD,?O ,(PE_M]8B 0K1M#M/,3?X[3,[' + MR#2PBTEQEA([/&HZ%HBF>P,#P[% 2!Z"1Z#I4N8G1 -JR 9#12>30W:ME ?J + M8::(KV<.%DK4Q1JE23L&%.EF*"%H"3L%YLZC#3KSI/U,_G&@?F2 *WR4>V8Y + M5EQ, "5^$TB>NT^;H\,Q?:D@&<A+_P4?DUSJ *$Q7)/T ]HF-%^1+.";".)LK&EQ6YB->SK^6W R5<*6[< + M&ARZ'Y,6M*;];52G;P^$]QZ$S2K)88YBT3"N+@/4OR=UTCZ7*YN[+?G^6!'Z + ML97PO+>,A$9B(WY@)0O D\V.?H(00*0PKJYJ + MSR-8"*6VD)MD;FS-)-TL*MV%>VJWA.X+Q/KEW<:,2CV_.=*'R94F(?T,A7/L&&0/NLDU5'A!NBA$_9)S!QF%T;72R8OV_-A6,>P9I/CTY2S9IS!,O&$X3'%P$.(E7K3K8^L2C$4UD_X" + MEO_G]NSD/V#07\[/-9?M\2DU"IH6Z.^1W!;[?=I8\^3Y1C$+XQ'8]+,"D)TA + MT@T?N?SJ["00H3?@,+P(MP([(P?LD>(YN;JMC3N2_2QU3* + MVB=I642OA*^5\A5J9"-&UCUA'%3NL9CSJ4X90<[:%S.OD/_:%[#6-*!6?'9F + M"O<3YE^BK'"?R 2R>J$(D/L3RIO-+JPGG+YMZ(Z>.T_?20].!&6!_:Q_Y3R"QDI&:1OCA;L>5B<=QAT$TYIQZAT"C2 3"&.%C[32,KH+D-%^=1,^Y*=XD^E)T^&+5"GU 8AF@ + M2SBX53CP-8-WJ_1Q/D6^]K<20DTQNQ_V/DR[B1-,7HD8AK\%?@F3"N68FB_T + M E<\!\>JIK@7L3\8]:P\ZJZY_$%J UJ%!?X:HJGMV3+6G1Q$1#F7&R)L"@(_JY2. + MY^HBYH7N])$@G#T,VO>#.'@ OKA[9(3LS](*S&E=+AAI18Q\.^S":W4R0,J4 + MM=P2Z&?K$G=2N[!ARMN9W>:YIE[4Y5933E)K1])F0#)O1CCUL^,?P%G;"3S@ + M#2+:[T)OGI<>F72E'$1WQ_2ITO.PW1^#DNSN.)=Z + M =B?3W0OD1*MZ+#X7!@QW135C'':KJ',)F=$.BJ)F#H%$NZCR8;,"D%)=TXZ + M$N9PI H:&BEAV.FF3X^URJIEU@!$J^5.DS/$@K'E0;W;4##8T='A(:]1-D;2 + MKE7(H0SHCN'9P.T_@!YF]>;>5G&8QG0@L4!CXP<&8Q!!V2@2M#J_O71)^U_R + M/U0F!:V=@;BU,P2\\55FO(I ,7 !Q@K86!AWQR']OG69OX8R5\-_4/9&^-_7 + M.@ZUK*?]:O'72OSUC<7;.M31WT'_'6K=2Z,_A[ __'\;PX�A^Z*3"PT[0P + M],:[.I=;UJH#7=^VK.YH5^<-EK4FTM79:5E;0EW?@6=[NCJO1X2#X7@L$%ZZ + M9%5X7[@+WM[7KGY72)_:S@[+S$7EI9T+W$UI0J3$D@^ + MLI*ZQU &,6(:RYH8V(YI6Y'^,S*9"9!)-]*K0$$(N0SJJ7"UI4<9Y1DD%T8. + M8Y^?WM*$D7M)R?+$/ABQ!" )4;H)[@%%+FJUUD/ %3@!"I4,*85N7L1B\Q+ + MURN2_0V$>"4R6.C,$0D_5TV^ 8IWT U1]341/V(>\CDDG, M2":2*^MVR_5L/W+ + M!&^"]R/'%2XP#45>.O\9<1WR?6UDQTB"0<7HID=NNIH,IG_A4D2M"AZ(!V.A + M^$&IK& U5)VJ$^1_GOP7!HHDG77KZ5@3B0?#X=#N + M8*1/2J3C Q/;1-Y>D2J6=1N+]'1+:*@_.B"UAT> (X;9S-V8/HJ[BYU\62\B + MHTQ:9 QNU;/N/0$0[@<"4DY>2]'X#Y!4PL;H>%>4@>< + M\2$S2C<'/!X]PO ;QDL:0S0>ZO..'C%>6#K%G3B$NGY@(0H;$W[Q'?P:-2"> + M<:%)X> >-/!#$S-"=3^UZ$*)\!)K'5HG)1LEJ)\5\FB#BT-1TN1!_T@=/1Z6Z)XMQ,/Z> 0OD646"'&P):@Y=!Q[ + M'OLML]Z.A9V*<36"FZ-AJ9+0R1*3GU.ZQ":=;2AN;42+FE0(CMQ+:I]#%!N\ + MF^\M3,HV-EOX:%RIK%RE<+/-:1H#M2@J@Y(/14\^9+^F)XJI4NY12HP.LX*3 + MECF9$THC=^U ?@X4?L8$E45@TA<++6WJ1YG7.(L70@H![^\: :KH\6CS"%JH + MFC9&]VNU-6711F:54DCK!%>7G&==9QWG_.OENG<@$ ET88Q,R$=B#$X'6KP8 + MEUX,7+0@(AC%7?BBA&\56*TZ>5["GPKR!\F?PL4"(RW.HQXR=WKBMY2;!SM) + M]X26Q403*FBL!\?$;W'7+;!+?*L;=<9&4X%(&1_VKR + M'2B3[LXOZ"PX(*$-1[SXC#[/'$>S'U2@F\>@N7!XV)LY_L@N3)7L7!$IORP' + M^46A$BKY)7?>);\(!,-Z-IV*XK5;VI8Y)4D(@P?+O'0FQB%3,%,E(^JI.J!A + M] X4@V-_ KI 1)R[42O048Z^HY%B:I17[7G>128^+FI 4@/95X![>17.$YR0 + MPO\TEN>P2EZK]AP!71LUT'<"0IO2ICH FI*/ XTV(L5Y.E=T6*B-$M.H>-V) + M4L4QG>8+0R)4ZEI4U)+]\%VEJCV66T-HW:2J!583=5ZJZT(;IW'Z5=J.)+$B + M% 0G> )#P9Z4# + M@ZFOMBA%RB]Y,YKTE$(.(TLYN<;[>+M^>GO/8OR!ELV* + M+.=UE]9!?O,]\0WA,3K>7"M7[[+S^7I7 R3GSO?>.6XWBX_ + M8I\;00-1<.0A!%.]:+/R_UG@>= O=U^BS]5#CX2B121)L?(J,X2CY#6R%84> + MF5KPIM?G^H5!P[C2L$V1Z?Z/H9H=VY._)A,EF0NE&%(@ZE;\S\V)X=/3+Z*V&HX),/ZXTZ + M#;$?0&3('$C^P9F03("25'0L$5TX,E9)<^/:'R,44;P7IVM26;%8'9A>EWQ. + MI? 2Z":.W ZS!.BB\T_,$- '#,B>@LXZ[B(OP;+5U:>U,02T^GYNCO5(/GUU + M7]>A&A!>\,I$=@7CV)S#[]VN2DN9N 5/2(VL[D#A]=S_L1NI 7&3LHBG*I@B + M4+]/T%4(:J\ QW+4-&;)7.-;T->X/VH=C Y;^P.1. )Q# \%OV?=*?;0]ZZY + M2R::H"1'M>PO)AVZ@DY0%/^%TEJCL,9^2R? <#IY + M(9=&-:/V#S@RR\/M>RQM@8;O?VU?=*6&5#6T?<\IW*I-(0@@?T,,0(6U8$ ) + MSR :!]5#"FIF;ACM!*F4>Q/(GL+L4?JI:]K,!%,P!1)W2UTZZ(CQB7TRX:?+ + M[11I+_3NJQ$00Z-PGTA,B/G5#B.$$MH!@=E]&MU[L_MPJ=@'C*:0F4V)>D,L + M<_8IS97!5%SCF@H!KF3@-BI&64X"O>-RPK\-^ZJFN=%J*E!'1+'(9S/I]*MD + ML32SIGRFL8ETUEN$#^CMMDS.UYB2AL*.:LIZ#<=\1O#JAM%9)-[=P(C/3IP= + MM&XF+P-'O]:^4'I+@@41GWY$)PZT/)W+AG";(;9A$G/CD#N#R>>RSXBE<:@7 + ME56!Y$]07L,-J&Z)X#(L7<)&]V9:!]42P#FR;-"7NC1I6IX(=VEN\2\QSWGR + M)2;WG+'!A-K%S-\M?2XX][5!3J#+Q=,R-:/7F8_,Y\ _4G . + M&DL ZR),):U&DX03K2A$'L4Z'$M>!LE_P97PC)QFS**$S?N6$)&-TQV@RB@/ + MLYN[! ('&^K(D,,LCZS!*^62\8V92X7>0LUGG*PI)$.%1JM3BFF4FL\&)FE$ + MAR1!QAV9E!9(EVY0')E3B*;^@D; G,#UW35U*\%HI<1\T*ND:H7TB*3+Z + MW9)FZF7[*S?4?)"5+(>:CY]]*+ZB(RUM\XOH:M + MBM!_/[_RUX*UTLCZ4H&]GS.TEOY?YH_VVZ.72O.HQ/3F'P"&!K<](RG7Z'55 + MF$F4%HDI#AN B0HC2S;- +_YSX0Z6>@>6SW%@ QLDK'_U;2]3$@%4I5WQ + MEJF/7?>,OE+H]30IY[77Q[*_N''?X3QQT++V6M:P.T[ZVY9U@V5]Q^UJLNLCLMZQ[+BKB+=EJP + MU-8*=\7._[S&56E>D+[_-@>-Y?^M#AIW_N"VU6MO6;?R5GD.,/4=IAPJ3L+Y + M!Y)(HDHU]R_P#+?WN_:LXZ14\908VVZ@Z6 Y;\,NS(G0R/4 /W 2 23XU!@5 + MK/]*%22+P*R_W:*:W5]:#0VL0OZD4SRP%M7<_*75M.UNLS@%%1S1&3BRQR@5 + M6*U427U.,)SU[(-0^23/]V + M,16(3*+L19N6BWCZ=7)58J$Y9@$J.8E$FG]I]%UZC!N='%A 0-C,\< >HLG/5URT5.L3D + M\V7+%QKSP"+LW%.D7 + M4;BAR.XAMTC;'XL.?D\XC]YYU=>_:P6&4:P5(B=;\!/^9= M]A>E]!9*F^ & + M[RS^A*WZ;0'8U0M6VS#R^0(%2Z0[=\@AI+&0O(>Z=E8%K'8K-3!Q$\=CR!WF + M'M^J82A6.)^>GSQ<^GMZC3M-%?$6M[KN[E5?=WZ!&DKG-W3"A.N97/E5>@V% + M(G9B'DY&;I-[18*&XA-D^=4HDSM+]$AEYC\XK"V-L1PE/B5"Z.D)PP41C.]1 + MRH5+N@"YCBMAC\,[I')A8KSTRH=397TJ8J!\)(_/:(6UIW0 + MU&.?Y?[.T'D;"5!%OG+I(::BDW%+4=;Q8_8\U7C"J45.K"2+3T\[+*O]OZ'= + M"YP .[O?GLT5I+>[G/W0%9(T>!VJ&=IP+GJWIOEK$D'D=4:HJFXY!'?SFFN@ + M=\97\ VIAH4JSOQBC7-_*@5-JZ('S*(OVQ61S1K7[K0]<\5/OX;3]30"2H.X + M*;UPG+L^:E#/U-IF>KA!9ZAH,ET!551/,?I:G?B/[2=)&E'*N_07ZKTRN@HK + MHZZ7G32VI-^FT-+2F\2792RO:LTN&'*0V2.<+LS3+L13']( ]F_XX + M_Z\45B@T#?"M2]> XQ5BJ:Z%PA#, 'RB?>B/P7Z:RKG*_(;)B@NCGX4 C8// + M@3"DT#&2,+$GICD,I_K5N6P2Z04W#FS6OU=D5[S?:%I5_.Y$EX52[H^E4"+$ + M-I#)=Y(K@6.XQPC3P^H#(O[OF9CJ]]]WY!59[,*.&78H>\%AO"-3M;/T)CF;8EYXUG!VT(T2 + M9T:R0XY9$9^Q?W[I;D(M=)61>$H45US#>8:#N( .G^.;L2PS%!S,Q&H+W$*H + M^!):NJ;\.[+F7M<\,*:X.+8BJB+[>/(R1W)0@C>9U"_%<0D._P91:UPG+&M@ + MY*:$FK;KD_].+J6-B>GL/S?/]V:9&-7!/#IF2Q0!8I89.830P.3N*5+[Z:?- + M=>^3(U77R<1;J*]MK2JZW4@7*^.7RC\I-Q8KO]^PD;+G9&+E?B"K:)N9AY\S + M]LG"+@GFW2KULZQHBV,*6O&>!Z1A?$!>44V^;'B#D0\;21*NH[%5?K\Y\[@7 + MS;\^$_S=6?8^96Z%8WV;^^T=PUKV;?);C]J_9[['6!=E3>,N ['7+O_FO-@.3VHR1I'O2)0_G + MD)T%SKSV:I1EN8>U9)PFK;4-?NRG[&DB + M&L;O,&7T$YKO1NE79ZV#Y46VZEEZ>^J1$8(F4\;"BC78J4] + M3743A5NDM+2Q"W8$PR)?7+PG#N\%@QMI]KKXLLU_8)'-K^W(8OH9GH$FGB0* + M042%"T^K3EZEM<@W8:@# WBT=EY!%&!#WRVL$(A@#\+3E/U)J4+: O(E-%*7 + MJCBW.EDT6=P1V=3MP\G7X-TQS=PI=OE=^\)DPZZ6?P;/T,]4-KP@PCLPL\H7 + MZ6,P;&#\A8N868YC)D6*06!UG@>"(-"E6[!8IX39T*GX-]@KM!D[)J""J \B + M3=041;?);! .P0"_(TI0(>?3JG!3FQ*9C&BB28FA0DB@EON9A &#L!U_>PFJ + M%XTB67[BS7KW!# \MXJ%+T.[3?!N'Z34' Y=K-WLR-6SVKSA^-M + M;/2IZ$4C4(W/FJ_C]>T!EZPB3)68&@N/B\LB*8UEJ)G9%3H0BNPC"@?C%58 + M#Q(YC_8VDTRPS]TN:UTH8=+<(SO-C.JZ3+]B%5@YF+_#?>FO;]_%M]#OH8;G + M[>.M))#U[2S/:2LV&QB(/0!V0^OBS&_NX;;1_1+M/&]3QF\,J6]1-BQE=<1_ + MJ$T\@;(EHA24*^.K6I4?T&GYH"_92]P3#L!TEHPX>[Z@00.UOIUELOP. + MTFJ@W\=34/+WS&PY2PZJDNF;R"1"F+8D>S6599:757[0V^[F$LR,CKW2_(;9 + M/DP\(Y01C?%7[W[-'.F + M4R?4#)@ 35&TYE/H';YT;NMG*>^7*K-CO17J) *52=:%4< + MT ;MZJ+HVCG5OE-]>X^\8A?9EYZK[QD>&/2@2LT#>]BC-,;F6/9:5U)4M6U? + MU=;RL[#622VZSSU7AZ/1N&P_W+K]6^4U^:7;VG,U9C^7U=W:NKIAY;KHWBCV + M KJ1FGO%<_5P)!X+J!D:-JL4ZXD.2-=WL$?J'.K817:T%S+^XCQZ"[J*/N1Z(R?I[](O<61!.3 SA[XK\H.NRJ;$1ALY[2'"(J0 + M7-;IIR^V+UPP0VW>H6 @UK>GRT(9TTB$.XOI=C)3K9U/>%H[.RQVZ>76^&]H + M2TTV'*]W0-(_X?1N$N5(9Z>=@ZE$Q?1_DL9GO,%Q;)BIJA6,&M_QJ*H0-7.M + M%>F/A6_A-WLM"RUDPD_6 ?4+[IP*!?%.J0#^*?+O.TF9['7TA/I*Z\C8M!%M + M\T8'@Y$N0WEFS*9AW,#,+]H\P1_WM7G[PM&A8)=AN&C]-4XTE*EBAQW=Y<"$ + MMD";-S X&#[893$'SE^:ZTK7*QVAI4NX#,4NP20@M?#N!5FGRT+R87Z$WA+!6K3T29*>X78U^SK<.X@P]<<6P&SKXW0FET@N'.N;_UGF%>G8J*:J+NZH_VN_3[@N-2!,S#Z? + M(>.;0ZUNK*H>G?1.$A$11EX/=M:88T=4_2W'JD%93"*,9I_)WO*G7 W,9RL + MIFWL,\\L]OJ_Y<0N[P#*:GG;MK>)H E"M3]-]H'#(HEB(_5K:$N@C &]K2"Q + MI+,J [')3ZR I> :S:/8 + MG0SD5QN:F8JA/8#)^58',7$ZEL0!]P-#81),U8%<92X/$9E?VA]!QSDMY!Q0 + M]5E&PF''#=C *,$A^.@TL.XG#"<.TS$<2"1F37?K\41HLF)YF7 *GQP9=]M0 + M:T^X!:@QEB8?/@#&[J C@ < IT8XBD@C$84Q\Z3AP>(PZ\)'I38=3HSQ@6!QUY(@TT*]@%,Y^0/HZ4F[:DX%!GP=U/D&);85A5J>RQSV + MMO6W^235FUCG;=L%/T6:(:>VGPZ(E'HYC[R< %&>8YW)W1 GRZ_=@Q(KW5\ + ME7^N' :!ZSCY9;TIH5398,D@ 4(3++[,/E3\OSJ,'_YNV 3:QF#DI@^H/2^^ + M$> !L !X*UV0>$\43LHE&MD)^W#J&.$TH1?P$=X:(,SN0]*-&9F51]Q+^7>H + M18F:P/R63'MZ2H:_P>5!8Q M0/_DMB)M]%E"9G#Z27+)>3X1Q4,2((LL&;"[ + M59CH9<*.FM8D"_4%E!U=K,#2)?EGQD_@', (G3'0"X44JH"Y[RHV>[[P:/*T + ME$6(5+$OHUPG.K5R-C$T%4%.>?LB]8%6.+"T-OZ!?=B TZA2)E&Z@.2U9IK6 + MU3ZLX%JBCYLZ3IY3&ZDEW%*<\)BLZ^#JL$=38Q=0M&@,8TT+3.W+MSSY4J'D- + M:]0ERO?ZKGVI] 8<0[2)U;AWV2D07(A:"GB/HS#SA*VXP#0' _-+(42=%>37 + MU35JLY'M$82YSBEGD:S#8(_ EJ[!A$[+G+>N<'M!N)B29IY-<@[62P1 &@)X3\8J<(I\FT;.A6$FA.Y.6)U3)ZVGT.O3PY%%%DKEP + M:*R0)M[()DZ7SH+5-M!F.9VOO(4-^ '0<&*-SYK'@7E)0A1D0^QAG]046FW? + M='I.4UP\LZNBL!+U,+AZIRPGS%]= WH.G&TB*#1_3>6Q^R?TEZ=.Z_J + ME;SSM)3NG&&@EE$ISVQ#WA_)7^-U*])8S]!J,8@&13R(($K%O@LO.9FQG.N" + M;BME8B7UM_:%XB3,L=#^XOO4VSB!(CA>ZS_4I8V:7JP9M=JT4PCO"%T\*/3E + M+'RGIXRHHG"\?UI$>+@4YQ7QV1$=U4PQ*F?L>=51H:96;-HIVL9 2+%"V@.F + M3KME\!*03L/+"D@E\;UHD$$K@@!?>YKX&K(N<"0?4P$"!JZ0ZD-[(3PO0I-5 + M76QP)N,UHSJ2VH2]MK5O Z>#%W"X!@1))X5GJ/RX;P'=>LX^SDH7,B"AUH2> + M*;N'F54$Z LNGNXC?2GS[?XC'LC1#Q@QUJE5T/*66-0G!3F8)XI5R_P7@BDR + M"J5]CCTNC,7C[4U.^;,2KB/Y'+D@'::]H)TV1%7"YL$5SI+PQQ@:@HJP/0WJ + MFYM\281E3#EWEL0>%*BFIPDL"3&D]Z$@Z7?I7U*(0^65%RY3S^Q5343 + M.YF=)]1LB_ A0PT&#!%['KK\#F>(XCB$M6\C:TV$?RYW3^EQYUTN&6V]2<1& + MQ /Q%,^OX@8,_$V!JSV/J"5XI;@N%,,YBY%-FLO()1?1=U(FJ8S_3_L"#$7G + M5B>RA4G.\#8 SFR*-QEA7&I@@%8M*-NZ=%!#;LI5/Q+?CZFGBB2VJDL[1&EO + M%7N.4;PI/ ?)/'NI-HO[(BQHT3XND+45H]O066V.H%T'Y7$/:C<^(3<*\!?G.S7G=7-$._EADJ;%'L9C2+UL4"]A;OA7LL'Y')IU*1K%E,_:HB> 4%7%[N'ZSC;M + M- :585#XX^51*KM 8ZV6[DV] '-%-E]<3P3B4PP>[9!R*OFS("J/3'H)!69[A2-]P;"C8;WC"RIU)_2$NU)#K>"SB>_D.Z4;U + M2J.B/CX+,S;_HO4/J/=37S#BO@.4=Y&ID>=M\4F-GQ)]7A&'GV5E**PD.Y\0OX5, YP).ZD8J@3Q##VY9YM PLCMP.JT$G=;RRU]=+W$ + M;E&T6_)T]@Y-CXQ0^8K/<<"/$4-PQ"16X^=7"+'I/BQX()83(W] @OZ]Y"B>C*2-/ + M:XH0Y/=2*]B4,Z%MX A= ,.;0F4@+0(K&&M IRC8#4%$B@R%M<:-+CR#=Z$OA6;Q0J + M.J 4EDVAI3"GH>X=] _Y%9<4C+BQ??VK_FH5&K894ML!BUU\%3-)V$^GNV$8 + M1X1J"":7/ZD6H[E+7"S9O1HH0E(-1?590,W->FT%4 VX!7,1P[@[1C + MM=[ WO#!H80_/-P7C$6L/8&!@6 LX=\9[&OO#[;W16,[0Q'$B7G51P15PQYQ + M)VN8''LDC4Z GW^MD@P$(OO"?9;_EA?((*YU4MQN)9F*9W,-!'@HXIYT((J + M;Q"XQ TTB;;];=[]H6"XO\MPT$2 +JLMWN:-[XE%]W=9[*CJLQS>@T1L43$% + M'!T0VSLEL=6P>RC,B[Q0]?SOA'Z0M9$BO:\#E@_^2GXHR2A'/S%0GZG9IR=" + MFT]<'0D.])1N^,D]F0]) JJ2[GT&M3*&*[D3IH]4%^J+6O8=.)82/])1TNOO + M]JD%H5Q5=*^1Y9QOP-)=R5]HO4#G,A#:J%-(S=DO?Z[X8UR=A#\_@7"(&DV0 + M.TJE]>E3(;QBIQ:.CU$<2>J.*^Y2DF;E@%0=C'[L+0VEGBWT$J]-9EX?9P:# + M*DER3=\"!XRAN)S3Y(*\0I>,ZT3(1G\LL#L:L8;Z N&@-1 (L8^$M_P"#+K? + M_N?ROY9^B0WX+(2_'@P'XD8I&>@Y=JC8FS\EBO%_*Y8NV1F+1NX+6JYOO/DS + MQ9^["D-?A@;#H4C<7;47NY!=I;H@"N\,1/KA[+@+%]Y,SSN*4N%@>%\P8F$> + MX%@H#(,.E5AUYR9?3:F#?_[UM(E + ML5!D=U-9RYN>+SQ;?MO1YV]#S?'A?AQA.!@ *A&S @2-Z2T%@:X TS;QB9I + M*.PLI&HV"LG_;EBZ)!)UE>/"L(-@GYM#Q%AH"I31 #LD&N*1Q9U.%MX]P?! + M,#[D):P"#%_8[0.R&(WBHV'8?7T$)CBT!\G3D#=W"'[VA:.!O? :R==NGT_+ + MJ$T0G 3!2(=L6MP:3F4Q19#B<9FH?Q!D?Q,MA:FKV1"!7>#E.&BXR+,8!?H + MH\!VCC\,/]1@X$'F3,*?.P1_3/Z("+RZATD*9KF6?28I+PW1-G5\.=BE)J5; + MO%R\I"^:)CCA:1]K96!DG*B'^'[- ?P#>_#B%D.>&\Q8Q4Q8^=, + ML[7UC4Y+;VVQG?&ZY@[B;Q?QK8S92.F:"2Y,[/C&T==*NAT8@76=I;5E[(YM + MJA[&7T*1U573G!8EL-OL+=Q"I<%TE:92JA*\H5O@#H4KN@09E6Z:((GE/Y/ ;'Z1L>'"5:%]QFA@>8>I9LQ4,1;^DL)I:!^?, $^/QIEY+ + MAWV6T"9;1GXZK@T61(#['2;(FUE['GKRKN26N6Z[#N23P.*P-M+7L&-*#02_ + M:8K*G+(OD$VR*>XG<:.2VDZ@*Q:U)4QJ=B7;)QRC*,+3@UWRD.AR3J%KH2C9 + M0J-%.OXZS1/#XT+OF'\1GX/8KA#;-Z<;$[ 'G_ +,PQMV%6J&L^BACV:T + MAMEC&-H=H]D5&P[%G?Z8BX JLF98C$T[@0N]Q]@JTA7@&E3A()ZCU3\E,4TZ + M[3,.($Z7P&%&^#:?FV!;BR-P?0<%E<$1^)X\ J3SK]+22]7MML(%PU; :@JU + M/'"B3\'S:9V[;*1G9.7(;>@(3THH.$+)ZOBOX1TI=PMKT,(H)#L,_Z6P\TT] + M_E76^AYVE5R]8=T/K)5K5J[KX3PRZ;A]M/BJ"+JA_M4)H74N=WIRECW'Z89A + M/Q0'\J40#2;&LS_$0.+)63ZO/L-60.$#J&1"97#YD?(@8Q\"566?OSIP7+%H + M.(S1ZJ'^8"0>VG702P)2#?N"E(464(&*L0V%,-2F^'*3>#DNNT)KW2UFNW%J + M++$D0N(B/):ALV'=X93 E!-;H?@RG*":U$>@;XY(1(J^-(*71TZ4A/W(4BVMLWHCA" E)!X + M8>N<21\IO9&?L#SK_6O6>2R=G(Q;&+E?@%O5*&\8='KR)1% [ 3[6[J$4TB) + MB:#P1T9H(HGT1>%AI[U%49]S%^Q8U*:\[NP&[OR>3=@9:7[D6K-?Y-?#E(]1 + MFJV'*.K4W:D33:XGPBO5"2N(=A!5$ + MS]7]H4&/CXX@&FG>MB^7UR5=5Z@.*FY>G'O;O/<.!Y /PO>MN)]O=UBYR[!. + MU\IU8NJ9NXST &'XF')([7!B9>ZRI!_H#HL)<(AF2+=HG984#K0,U"3'V49V + M/^$=-F49PU*DT!59*_$+I^S@I0H8:[.M S;<%#J8&@%@/N,B$BL.]P5:2\Z- + M#8W^FG+R&3!3T*+N?X4CV9U]%7;9YR4S"F\K+?3D=7A.@GQI"&DOUX(,*RH; + MR8V02B'Y/VF?R9S4JR8+-J_9?6W>^P*#72K*M=6JW=!!4?"P;M^5ZT91DG5T + M&916*25;\>=^P;7 9J(ML\!F?5Q/UJ>P;+1TR>BEY/OY(^Q66)QFO1_GK1O] + M /E/:HEUB?6)#U.QXIJQC>E]"D@9:NDVMGD'A^-6--)EF4-GL613FS<&]]J^ + M(+^\LE#R'RAR%"HB!60U + MMZ:U_.?HX0+56TL?)"O"8,D<-ICL2CQB/?G_@MZ=(Q + ME@83NJQ1J"E/.H-Y7*,61R'A;\H.UP#"=UY"?YFAA]E:21 + M:RB\3DY9G-/X"S9EB# F%"T1O;E!*M2J\&8VS-;VDVC5X;IA)[]N^ D*-8>8 + MNYKSQFRQTUQ'V6!X<+RL=)ZVW$=)L_R(;Z ^%V"DKJCP.>&'Z-P&3-[*(\1&<13F8^LR>5_D/25E$/G]1D$HP_&(1T=>($VJBS8M%'#73 + M7IBUS@X+CCCV^ GM]FO7BC'*&HQO%B:>,!QU=0R>]L06'"C":8T/$Z%@SU]Q + M@,S8:TO%,(HKAVV_&E[!!*?[\M"IIL@@PY<.EA-SY_V2Q%'-'IMA6C3=F6>5 + M$9!K([Q9'93E#,F:_'3B7Y'J)K] .B._:)U2EMJN"ROQ&>& H\$)Z8"H>+30P"GJB.NAN!5TI\N6549[L<_([V"..11FI_4> + M)TZ"OM?$1M3KT$/QO50\+;@ J)UD(O9KG5^Z1(AAF^LY + M%WLK(L+,(9LA,5R%[X2OPO1=B>7K1"^:+_*OP[Q>(^>5?!L$412Y.)YP;I+.]#=.GN'O&A(+*(0(/AN + MGKZNEBK !#,"]>HA;KRYG%YY'>NZ+!X=5,+WK:[Y3 P$XB]@+E![#JF + MDRRO@T,JM;7'$O[12Q.OD2]]OY TQ.1DIHBIE!G,3R.;2'7-"T!ID&>2VUI, + MY74=5GH>)O)KRAUI'EIV#)I);'$K]@/>SN+],C'B=I"7GJS*T:&%ZLH!AF'F + M A:S3JD6*=%BQ4@PP,XDC@@/Y5XY3:G.H?<&$=.(>*V/)HB$6O$L- -A$9=, + MB:",U+ZKX(33V3%07LJWVV^"!#0OBXL9-[Q>C* J!91K\OA+%#CTAMC6Z6[ + M#BFDJ&>F%MRY/C=0SF03"0\^XO3:K1#[!)VM*R^-)S0<&(/%&\AT*%6I'(>" + MZ 'S>-:)M^"$@V=O5+6EX7:A$$!IPRUQ25H8P!1[I%2B1-]519H'"4K!4V + M(#-EM5U%JB1/).IQ@ FI(!V',[/1>3CG*+V6+_.Z8"I4) U.ST*5R:35*E9- + M=,?)EZ"#FV MBW!3<7VR-X;7G'A3IRQU/-G",BWZ4AN;S9PG,]V<5EA8ELR7 + ML2LX$ @C;],@4#"_1X#UOI@(!(B=BCA9]L6RBB$ + M=^89# P&#@8\PHS,U[7X@V4L]5= *.D(QXCN!']'3YQO68J&LH + M& ]&]KDWHAC&-Z_2O?\F=KK+Z/ WJ:]=HH=8*W: XZ/VBKXH!-2ON5KX[I_3 + MPM>LX('!:"SNJDLAE]*N,,9IP'[<0 9HDX@0 4.JQ^OG>$EWN7L.Z1!J^#/*O N#&<_,F_\;5:[IA2F"W + MK(?*-O=LXA\;5J[MZ=[@XGYNJ9YL'V+,S[G0IF+(%K_)BI/GF;;NZ + MS9P V-MLYG6,C"=S9!?U/8U]-U<4R%'=CM@QI[(19T,N*"R$>TEG$Z'\Q\4* + M]/E&CR/%RVSB'I$L90:M?JZ&&BJ5R"(20/'1=UPQU0RP&%(EZD0J[S&P[5>NV= KZAFS"\\ + M/TE(J;F"?21UPGY*),NHCJR%#F^#Y:9,.+!)GY(TTL"'PR1#*L5HPK]FY?KV + MC=V9]Z">&C9C;=JP7B>_H0$^@.CF]BR^I6V>UK9-[*.KYW$#N^V;S>!M"&"9 + MN$>-K"\01S(G4P%L)9R,W1C<,[&.70_81B_*=:V/QF*A(8\OL=()#>QB?1P* + M>MG4GF#?WD',,*X3#PA.AGR-=L(P'\9-C))+Z>_2&<$ \"5SB]V0T;"3H\!C + M4^)>J$.#Q5YI ?NBX:A*[/V9A-"O17 + M1VOV$*;_&=E.O("C-9^CLMGU88+)$82C&Z^QGWK;=;=3B8M^29FBA^%QVH'@8G>]$ + ME#D%XAMEYYY$3G#ELGF!1KNNF0&3WGW5^F4,2[>2/ + ME%[3#-]76]M6=1/$HSR@3HS(.0*IJ15>3SZF0\A%>@3RQ2Z]0= .B&?4XGP( + MOEZAN9LY&SA0U&QM]-S8@R++H-ENA4R2L"E/DF'2F=^8;"F&Y](!KN]W!>MJ/E44/UD'TLL54R + M0\G?9_XI^]O)GV)$P.2T?2[SZ(!'UM4/'&K?MNW::Z[R + M>9==?>,UU\*/0X>V;6N_EOZRZ$]>P%8IMNOD;JP."3D*^48O3;S%/*H:<*O< + M@BI]-NJ8K66T&=M]8(-PQ=&S))*E_YT%A(BK9"X@Q3X>"CA5+V6Q3L&@@%65I/:PC"TU1&5>*FB/3 + M##E_-#"F7H:6\KK2AL-8FE8SAIC#Y/,@YIJR$G-L7=NV >A$'6;SWR1M(>!J + MB7;-:KQCV/.V[6Z<',=W#1.^WR ;<_9[J-:0H=-TW^;N(G$;1J70X&=:3%^5 + MN[@=>RA=SJ''^+LZ_A+:2YQC]4F-L5RT%1W+E):"G0_GB0IK-]?GHW^1/X=^QXY1X + MYP22M)3^5?I5=C7C;&CB9[-5O8GN2]@9E]-]*3CEOES['CF + MCQ@AX7@(%VQ/R\=.*,Q$CP3?Y"ZJ7]11PA2%7_ 7PK/6)OV$@&(=URW@H@=U7?_-S,F[_HWPC?RU=DHC6KH$^E-1WJY&^1;/Q1?I+]+=T+<=V(_Q'T+)OOP?X?=/\?^/'<^^3K]Z + M^%]@!&\<^VPDA@)0H@>DUL1(DCR7A1@-SS"P*X$>&=ZQXS['[V0/M4'-GN*T4.P#B\BY8]ORS_#\F=14X6:^:'_,Q_@KBD:8_U;PLFW7-L-\ + M.3+TBE@#F9>7,_)B+TQ,-,*[,1 K.,5[2]&)O+U+G + MH/)NMUV=0!2\HQ3++@%6&2UD5R%A3Q/D+6486<1=A9!UTJXF+TZ^ YRP2KFA2$A%^Y-D_C/SHE2C,"@NAK,AVO>? + ML+!_HGZC"#LF H-9BUHV%!\>-_^ P?O\Z_L7M5ST\VKUZR]9=WZ + M6S=L_/ZFWLVWW;YEZP_NN-%J^ZO_T?7@71Z?9KDEVLBLH8@E + M\R@$I9,.N).WC4V-9_%B K*Q$ZZG'IBQM<#'I4;@TLT@+-D)^*(>_R"='#TR:^C8#?4V2XAR3 + M(CT(_P>,'OQU#]00QS1)N.\3/9@B.+O'1MC46J(G&[;/%(X4GRT]C744PLP^ + M0.G==,4.PMI0V\7;1S^TJ_G?V;_A[T9^"/6*MH W^GZJ8A^!ISEQ4=\&,R9Y + M><;;&\KN2_?9Y\1<)&%@"\VPKL![D7AH\SV?+C\&S&+,9 DAK$& + M:/E.W-3P'',]H(S1,[*:A3@R8'")(M2VT9"<';6\2, + MXK];:3P/83_*KV7O+==3^]-W9.,T3DS@7[?2 + M.*(BELP/;S/P+XQWY"ZQIMTP:I@MGMED5L^P_;_Q&F3?I-Q.JNNABVT#KZ)=R]\R\3NJ2^ZE/^O,#\'!'(I' + M8Y)B@D0S2SD'9]%[FX#_B(VA &&&)9X>F\V=1]NE04MK^0GCS"]?]N=1($.# + MW(*^NK66NCU9V!H>"L8LK(7:%Q@WJWVUU7Z+U;[1:M]DM?=:[9NM]MNM]BT8MDRQE< *G!?XD!=]+# 1 + M+X=Q6=C0(D%R](Y#BMIOM(P8048-DWD%T8]Y!Z*_B<8JY)%BH)%^U>D-[I?$ + M7?M> :%XF Z5-/-KA()+[(;>DB<37RDPS!ILBJ2#>R=.RY6Y\WD* I#]K+$Q + MEK@EI7"0?1T.AT5?25]4A6.W"Z1C. !*AQIR"-J-0OF*UZK.6B/J)4.>P,G6 + MZ3\_D?V)M*$N9CQ2M;.+@=R\R(V[+DT*34 P'J/'.IF60]_+3BYW^>[\ + M[C:/]^M7?>\;UW[MFKN7[>CP+%WB:[[90&:OH_D5^(P9LL=7X!/B-U>5?H. W"6(HQB$0]53Q"B , + M7@9Y?#X)U)^\-(G"Y5^'9WGY"UTDZ;[H38/X-S8#-]IL,OYG;==!V*#16']0 + M,EX:QU0Q(H1*1U.@F(\6,[G-X[OSZS"+W[W*>TW;LAUR&EUZ/&? N=&6?4)/ + MMW2[2"N!&0P&[RS+L + MU SDC43/D1P+^ F\Q_W(OSB#BK_BBL6"0_$=TL4?X/'AA4?4_^'%VUE%_[#,;X%7?\21(?5D6=6[0RGI0_ + MK;)0.*B<6^CNK)&&;E_R15B.,[#UCRYFI)8U1&-Q)+Y-AG GY37C5 E#O5:< + M+P>AS"OVKPMO(U-UI3;B@4A_=%CVD[-S6)[V=M3HM+>C5VCA90S2_!-&' \- + MN&=.<"6SF6CR?=8"8I CI]_)3_QIM48'=@)G')%5LSL$#KST,:(^_@G:@WW! + MV$ZWHP@Z42IGO08%&5;_E*I"_<$H^0\I%F[#CLT]FUQ>6AN[@4AOY1PXK&$" + MOBGC3MWI$- MSW76ZEQN=2ZS.J^SOF-UPH-.SR),!]G + M07PI P,P/I*_"1B',\ P/#""PMEV^.MV%*" .=AH3T^,\[]8'O_%;Y)3^ V0 + M<7Q^AI_KK^D7U_#G, \T7T-[ OV*NMB;QD.I6^ *?T0D7CU'\GRWL HYS.^F + M%Q,]*A=I*]CI:GU *_C86[/LQ6VASU+<->3@+3FY\A + MHC(#'8Y]FG]&\G,":9GK56&8BDJWMN#=HL:'4;N;^C($F,"V _R1JC + M!R"$]UJ83L;T/6,?X<<838 ZYN=%'X#W''O'"%.462'4>W@K^H+J&DH*1DP1 + ML#XX/L;LFN%\-6(736NY&(VU5&Z1;Z!]],<4YEEJL4;](X>;T=?&AS5.#:=: + M@/XP)"[65$G.9 BC"Y^B-MR9Q5C[N:E86?RJGOW(KN(E.1Y.^/.?E1\IA1+^ + MXF.$HS,#!W5.2I8PSXB/4$W]N_U/,M"$9%"Q'J4_I-#^HMP9M!H6XY8*O:G[ + M)(KN>$\NZM;R&V#1C//=PS>NK"WAG^Q-W2GR";!DBQF9S#9JUG>6?=WB+)0C + MZU'C9U>+=POX^HM>@4A>IWH:,B^!=K[(7LA/(&P6K(<0 Q06=;ELL%8P+X0 + MLN+H)419%DE+MI/N_G6$CLOVP5\B,QWE<.3)(=@+:.HQ!+TW4J<_C=NX_*(X + MX"H=2694@5SHO([F--[09)OX?EI*J *C/6B2(OK B346([Y(,\6H3,HA + M""Z];MC,<%AI^R&Q.@Z[YY^,Y!"N_$MRLRH/$97#D<+#8?89>M>#7?9( N#! + MW>81DI4RP?&V=LP?]$@2(.$%,HD + MQ^5'D)XE_Z$4L,\A!'5N(G-K=LK^)#4 B_:^?;;\(&X38VMA$.*MT/06G0N/ + M!1"+]J:P9'(G$:@^2D"8T-6)6>NV6]=LM612&RL6W3T<9"G6AE5*"Z^>P]J! + M!J[S=2,/"X:S5OB(HR"L]:&^/8%@V.KNL#9'#V+ \"W!"!X.?+*I _^_/Q:) + MAOL)_R[+]^%%RV_=/ RL%0A;5GQ/T%HU'-D=C$:&$ YM530ZX$UNGX1+@O8B + MQBL?*_PO'_4N_T!B*^W)^6)>!(DXL-7QCCARTMD2C_6&0C!+^]:&]06OSGNA ,.%?"T4V!@Y&8#H^ + M@4FEI.6P_\[BC2WVCCAB=RVE8XQLWMT3[KC0<']P0CO!6E + M/Z01;*4OT0;F9A:0DL5'X2XAWSCV)BO%DZ<9]'#L1Z47'8"%CCF^SM4-Y@@F + M?H.P;_E/C -7'?L4C2BERGBOHS:JHH9^"< E[AJ)PJIL0"(#DO]A[?UFM$G> + MBW/P#\Z >YMQ\Y1+Z[PX=RXJ!"O;"U.:\*^Y#VCM7MBON(_Q..^)6)N&!\/!@^J0O1QI&;(? + ME>M(1L6PJ^3L= $/S3*TO9UB_UVM],#S<&=PBA/>J(X_^?WM7\QM7=<79OB?Q/UQE4[N:C.S8#J%L + ML!W'-MB.%1L"*BJZ\^;.S*O?O#M]'YX,51>95"I0$E+2 *M*(*2J88&J+A!E + M5:D-C11+W;6++KKJ@H($VZ[Z.^?>^S[&XZBHHJU$1A#;\^['^?R=<^Z[[UT3 + M]!!XZ,VW]C!6$ 9;Q(#GC3' AVG?_5>4\ 2&(37IL#01SMJ15W4O2AICN>HVJY:#+-J 1?XP:HFZM#6%<="N,>]!3 + M0YS'<&(KAVNBUZ[, /+Q08AVQ@WDJ*_C=D,@!IMOK%>P%][\Y?7/K$G>H;VU + M].JHBV]\2H^ZO/:KB@O^SNG&)04 J6=H:87@\_H+;[QD4-,^+>QRLB\*1V:Y + MFOZWW[G^DVLOTK,L!&0HE,TV0+H5^IS)7NV&.E[+KFQS_.Z;+S-]M//[/KY9 + MYWT3KO\Z+_,8&+GK=H$8%#ED[@ + M8PVQGJAN%UE,W%9)-!+F"W$Q(K. =U^BI#-IB^5V.\17#<&FLRO35"8*L:TA + MJA[K4IT;?Z'-K8_Z;+-O#2JD' .WBN.* EWV^CHZT,/T("0:5F42B;V@IZ+0 + M6$?-JYV]/"OC\_A)?#1 8!Z)RR'2XV22ICHQY/ZHS0O_))(H>;L,ZU3CNQM2 + MGQ[)& +"/RP/G7)V-G2B6(N[)$?G ALR3&@-NE&DZQNRKR(XA8XEZM@8?\?M + MB'N4\,$^@%_BF/BYI%N02'R KY$/CL3>4+*73C"RO7N9&!^(58QE5B>L%"9C2!7@6'(FC-1D5_6_8^UM>*IU + M*-T9[9\"$[F$OT>RE\<9PLL$QQ284$^=;$Y.YLM1%-HL?8*(RV8-5>SL'U-[ + MB3.43): -DG%<_/SA:C9N29C&#U<=RWBT\%>Y[V1]V^^^^H:WQE[SSRG:^[X + MOTVOF;]3+%,"J]_ZA$H6,QTGF?PF2:X/[V+RS\2D'ET=\1J3^\NF*+J!>1D9ES9.UKY'#5'NSS\ONW?F0?D/K#^&_T%O,; + M?W[Y_?$?F2:[;Z<6E7C5P3Y?_'M^BNO>3[=0<-\WKV_EMV-,@(7G3296W@1Z + M'-.8YZTD.?+E#80,/90CSRLM!":I^VC8Q[=5"[;3[#5=+*A')\]S9.TVQ4;> + M[:F1=R%1@ G0!%]3+>52P!5H-$\];QEVNI%G60[#][Q*\F=\EJ9:"8M+3TN$ + M-_Q1A2G(0D8= Q2>!XM&)=!O>5X5+*M@XGD,NUL2D(<_+ J&R,MJL=7,:### + MLNW20) V->QZ);(4XQ;HRCF22X<];YM" 'Q 7=*0L5/-GC[0D3XDJ1;QV_-J + M09K_K*&RB>\]-:003Q.[B /I5C"-!%IW>J]TPX+>H:([V2M(2L3Y$0VQ8BJ? + MS2:E<>"!I$2$ MKR3!4;9B-IKI> + M; ?K"9 ;HB^2(3OV.A2O!YY7"6&>5XL83GDVQ:8Q+;23)FV4(5$E!V)=:U"1 + M]\E<$ER#,C"]]#RR^LLJS29#C/.5;35L:;!,OE)$O4G\]KQ::F?LK8S[I2-R + MN,+E, )TAETCEWKH\LH4H7AG3?.%4V5QCSCN2OJC:LVODT$3H'Y+O_V]U]^[ + M?;ER@_Z%4ZY21@_[:T-LQ@&U/];61I*[PM7/1R:X/*#']N;Z,K5;U?V^;M,= + M:\Y-3NAQ]DR(I<7%^;GYN;FS?K_TCIGSLRXS$^MK.VJ7E+;'[S,K6YJK _VL[>VO^M"XSJWHP2N@V + MOYA__-SC8KM9\999?[+/S(I,55O D6AY?&5S[^*.Z"I J(S$(&_!*(4US,:T + MZ8+J9.>$RS5X4L0'A$*:H7= @THP._XBZ=.A=F-&JL,[H]IH>JW13B>9V+ (@M + M =*TQYH'$$.=M*E'IGW1IT.OB.,,Y*2BHQ.A><%^D.AN(OMIDR2UCP9V5B&[ + MB5)]1#*FJ*_33!"L#Y'*@=+^@%YUEHH#I09BA.F1M]'P?44+1;KC9SV=5AJ" + MR)41_J1WSJ:H\G6>G"!VX@X5CN)# 2&R;GBH?.4$2G,8^>-2VB-B+)Q@AGUM + M^$SSA%J")**LJ[*R&Z2B?"0CYA+&Z,E#2'BH1*S,?#P"[9T;'[0DG'!4: "IR)(#JR;+MU\(G%6Q + M-U!!V D#*'G$]#'1V50.B8>Z9$AH0B*C]DNCLG)JE/T2%2AJF$(; 2FKK8@! + M%9'F8$XD.3*W#O/)!(19I3^U8;LLE$#=R?XP9V!FI?XQA#L4';#G.W,S"SC% + M2 >Q'A9#MOG6E;'BN&LM\QCCA4GT9(JO@YX5+@O+2$0[K1E=^&TU2%@P1HG, + MI[E)E594O/5G450S&.[5AUP".DD9$-LL>GAI(T-#JD12WJ;_NQ + M 9TI!9, ZBG$-],1I;Y50&9Z(ANQ3X9D5-I!FTE)AYN"QC*&W>2@S@@D#<%8Z5]BJV+1B!1L2 + M6E42AO#/TAHT:NF"C9I7F;PB[=F %<8\E.V=D'$/9))Q3@*4X] ->4E!2T6' + MH/U035,ENO XC'NZT["N;8-XF_(@("%EA5V.0 ;^PZ3-7=D^8J-,'L:<%H@H + M;ZS=Y$Q,$,9B[)UJI#/J2J &65VX# ]36-0"D!> GT![M05I%,I,50@= GZ + MG*0 AYG#*++,50AN"#,'HL6 .MB<.I@M4<=P*ROFAW$[2G$@8"_JC5+FDI " + MV2%/ DI2H *?I6S29;$=/1G^+"?C%"2CX,,*5-RFR<#.!D$#:V:^4A4)K1TR%$;=@\M<4F1)89S#S11ME# + M%DL/H?S)>&+*59DI0.NXZARWE:GFFR5*[! + M?#)_:"KC@GL#EG-(=QX=J".LF!S4YD]MM@V0FI15LZM]?+9:\F[KJE,A?DCK + MWZ0.5]TAC[>B2$5)C ]\X(S%54&.HD3UR9_P']L?FVHHD4A1>KF7L4D-(C2A + MTW%8_Y;&7M@*,Y.?U]Q^.IV&F3PE$'>:(&?J8F1,7#A+LS)'=47$)%)^44NY + MA0DV RXEP4^]?CV.DLS6.'@ER&_K^%N(_$BZ*'+30W75>I;50;WL6E%'\L;,IO]_5_\1H/=5 + MLZV#_]7ZKYB?6S@SL?Y[=FYIZ>'Z[W_CXVSB6;I7ORNSH!?!R"*Q(&[]\\T? + MOO;IM:>OK5[KF2?;*R=Q']VXA*OAC8LWKH[O\%T*WK56&6U.[&[-S]%FB>,# + MT5T(&LI,NK5 APR^\HOR<6;:4'-UF<]X*;= ?UC_ + MZ!5>Z,Y[A>[QJ>?T( GMU__U^!_T\B_FH?H"TK^./QI_63V<].KR]7=>^7)\ + MU,S4E6+/_CT^MX-.1;N#WS[G%\]]Q&\*+FX34?^?OW3[I>(8\:-;'UQ_OSRD + M^A1'CD"=&M^SCZK\%F)[UW7V/&]G\\+^\Z?W5'*HO)V5\W-G%LXNSHS5N#?^ + MP3@9I[/.-;FTO+U^>F=MWUM3. + & TL X $ + + end *** /dev/null Wed Sep 24 22:14:55 1997 --- ./win/X11/JNetHack.ad Wed Sep 24 13:26:25 1997 *************** *** 0 **** --- 1,160 ---- + ! The display_file, tombstone, and menu windows are all formatted assuming + ! a fixed width font. Text windows may or may not be formatted as above. + ! The rip window applies if the GRAPHIC_TOMBSTONE option is turned on, and + ! requires a 12 pixel font for correct appearance. + ! + JNetHack*font: variable + JNetHack*display_file*font: fixed + JNetHack*tombstone*font: fixed + JNetHack*rip*font: -*-times-medium-r-*-*-12-*-*-*-*-*-*-* + JNetHack*menu*font: fixed + !JNetHack*text*font: fixed + JNetHack*map*font: nh10 + + ! To use full-color tiles for the map, uncomment the tile file name. + ! If you use a 100dpi (or greater) monitor you may wish to double the + ! tile size so you can see the figures. If JNetHack was compiled to + ! use XPM (USE_XPM in config.h), the tile_file is a standard XPM file. + ! Otherwise, it is a custom format. double_tile_size only applies to + ! the custom format - to enlarge an XPM file, use processing tools + ! such as XV or preferably PBMplus. + ! + !JNetHack.tile_file: x11tiles + !JNetHack.double_tile_size: True + ! + ! The annotation of pets. + !JNetHack.pet_mark_bitmap: pet_mark.xbm + !JNetHack.pet_mark_color: Red + + ! Tombstone + ! The image file + !JNetHack.tombstone: rip.xpm + ! Text starts at (tombtext_x, tombtext_y) and subsequent lines + ! are displaced by (tombtext_dx, tombtext_dy) pixels. If you + !JNetHack.tombtext_x: 155 + !JNetHack.tombtext_y: 78 + !JNetHack.tombtext_dx: 0 + !JNetHack.tombtext_dy: 13 + ! The color to use for the text on the hero's tombstone + JNetHack*rip*foreground: black + + ! Translation tables. There are currently several actions in JNetHack, but + ! the only one you should be using is "input()", which, with no parameters, + ! uses XLookupString to translate your keypress into a command. You + ! can optionally give it parameters to change the behavior, see the example + ! below. Note that you have to specify the translations in every appropriate + ! window. + JNetHack*message*translations: : input() + ! + ! Example extra translations for the map window. + ! + !JNetHack*map*translations: #override \ + ! !Left: input(h) \n\ + ! !Right: input(l) \n\ + ! !Up: input(k) \n\ + ! !Down: input(j) + ! + ! The icon to use; supported values are nh72, nh56, and nh32; nh72 is the + ! default. Some window managers may not support the larger icon sizes. + ! It is not guaranteed that the window manager will honor the icon selection. + !JNetHack*icon: nh56 + ! + ! If True, a popup for y/n questions is _not_ used. + !JNetHack*slow: True + ! + ! The number of lines the message window will show without scrolling. + !JNetHack*message_lines: 12 + ! + ! If True, the message window has a line that seperates old and new messages. + !JNetHack*message_line: True + ! + ! If True, force keyboard to attach to popup windows. Some window managers + ! enforce a click-to-focus-keyboard policy (e.g. the DECwindows wm). JNetHack + ! has a lot of popups and is almost unplayable without some kind of autofocus. + !JNetHack*autofocus: True + ! + ! Specify the number of rows and columns of the map window. The default + ! is the standard 80x21 window. Note: this _does_not_ change JNetHack's + ! level size, only what you see of it. + !JNetHack*map*rows: 21 + !JNetHack*map*columns: 80 + + ! Parts of the fancy status display. + ! + JNetHack*status_condition.borderWidth: 0 + JNetHack*status_info*borderWidth: 0 + + ! Sample color screen entries. + ! + JNetHack*nethack.background: wheat + JNetHack*map*yellow: gold + JNetHack*map*brown: tan + JNetHack*map*gray: grey85 + JNetHack*map*foreground: wheat + JNetHack*map*background: grey40 + + JNetHack*fancy_status.skipAdjust: True + JNetHack*fancy_status.background: wheat + JNetHack*status_info*foreground: Sienna + JNetHack*status_info*background: wheat + JNetHack*status_info.background: wheat + JNetHack*status_attributes*foreground: black + JNetHack*status_attributes*background: white + JNetHack*status_condition*foreground: red + JNetHack*status_condition*background: wheat + JNetHack*Scrollbar*foreground: Sienna + JNetHack*Scrollbar*background: wheat + JNetHack*status_info*showGrip: False + JNetHack*status_attributes*showGrip: False + + JNetHack*player_selection*random.borderColor: blue + JNetHack*player_selection*random.borderWidth: 2 + JNetHack*player_selection*random.foreground: blue + JNetHack*player_selection*random.accelerators: #override\n\ + Return: set() notify() unset() + JNetHack*player_selection*quit.borderColor: blue + JNetHack*player_selection*quit.foreground: blue + JNetHack*player_selection*Command.borderColor: red + JNetHack*player_selection*Command.foreground: red + JNetHack*player_selection*quit.accelerators: #override\n\ + Escape: set() notify() unset() + + JNetHack*extended_commands*dismiss.borderColor: blue + JNetHack*extended_commands*dismiss.foreground: blue + JNetHack*extended_commands*help.borderColor: blue + JNetHack*extended_commands*help.foreground: blue + JNetHack*extended_commands*Command.borderColor: red + JNetHack*extended_commands*Command.foreground: red + JNetHack*extended_commands*help.accelerators: #override\n\ + :?: set() notify() unset() + JNetHack*extended_commands*dismiss.accelerators: #override\n\ + Escape: set() notify() unset() + ! + ! + ! The following are the default 15 colors that the JNetHack map uses. + ! If they don't look good on your screen, change them. + ! + ! The foreground color is used as "no color". + ! + !JNetHack*map*black: black + !JNetHack*map*red: red + !JNetHack*map*green: pale green + !JNetHack*map*brown: brown + !JNetHack*map*blue: blue + !JNetHack*map*magenta: magenta + !JNetHack*map*cyan: light cyan + !JNetHack*map*gray: gray + !JNetHack*map*orange: orange + !JNetHack*map*bright_green: green + !JNetHack*map*yellow: yellow + !JNetHack*map*bright_blue: royal blue + !JNetHack*map*bright_magenta: violet + !JNetHack*map*bright_cyan: cyan + !JNetHack*map*white: white + ! + ! + ! + JNetHack*fontSet: -*-fixed-medium-r-normal--14-*-iso8859-1,\ + -*-fixed-medium-r-normal--14-*-iso8859-1,\ + -*-fixed-medium-r-*--14-*-jisx0208.1983-* + JNetHack*international: True