OSDN Git Service

TO開発チームからの報告を元にいろいろ修正。
authormogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Wed, 11 Dec 2002 06:02:52 +0000 (06:02 +0000)
committermogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Wed, 11 Dec 2002 06:02:52 +0000 (06:02 +0000)
wr_monster()で間違ってap_r_idxを書き変えていたゴミ削除。
「地上に戻った」のメッセージをダンジョンから出たときにも出す。
仮に間違って1階に登り坑道が出ても-1階に行かないように。
特殊食糧の判定に変身中の場合を考慮。
アリーナに入ったとき幽体化が解除されなかったバグ修正。
アイテム知識でmsg_print(NULL)忘れ修正。
乗馬成功した瞬間に乗馬に以前設定されていたヘルスバー表示は不要なのでキャンセル。
英語版で食糧用「杖」の名前の表示のバグ修正。
d_infoで、R_CHAR_%cの形式は複数行に対応しておらず、山でバグっていたので修正。
その際 R_CHAR_%s のような形式1つだけを使うように変更。

14 files changed:
Changelogs
lib/edit/d_info.txt
lib/edit/k_info.txt
lib/help/jgeneral.txt
readme.txt
src/cmd2.c
src/cmd4.c
src/cmd5.c
src/cmd6.c
src/effects.c
src/flavor.c
src/floors.c
src/init1.c
src/save.c

index 35ef765..1e3df43 100644 (file)
@@ -1,5 +1,111 @@
+2002-12-11  iks  <iks@cvs>
+
+       * src/dungeon.c 1.83:
+       ¥â¥ó¥¹¥¿¡¼Æ®µ»¾ì¤Ç¤ÏÆÍÁ³ÊѰۤθú²Ì¤ÈƱÍͤ˼ö¤¤¤Î¸ú²ÌÅù(¥é¥ó¥À¥à¥Æ¥ì¥Ý¡¼¥È´Þ¤à)¤òµ¯¤­¤Ê¤¯¤·¤¿¡£
+
+2002-12-11  Takeshi Mogami  <mogami@cvs>
+
+       * lib/edit/f_info.txt 1.2, lib/pref/graf-new.prf 1.8, lib/pref/graf-xxx.prf 1.12, src/cmd4.c 1.68, src/main-x11.c 1.21:
+       Unangband¤«¤é¡¢´ûÃΤΡÁ¥ê¥¹¥È¤ÎÃæ¤Ç¥â¥ó¥¹¥¿¡¼¤ä¥¢¥¤¥Æ¥à¤Î¥·¥ó¥Ü¥ë¤ò
+       ¥¨¥Ç¥£¥Ã¥È¤¹¤ë¥â¡¼¥É¤ò°Ü¿¢¡£
+
+2002-12-09  iks  <iks@cvs>
+
+       * src/bldg.c 1.27, src/dungeon.c 1.82, src/floors.c 1.3, src/generate.c 1.42, src/load.c 1.50, src/save.c 1.26, src/wild.c 1.20:
+       Ì¤»ÈÍÑÊÑ¿ô¤Ë¤è¤ë·Ù¹ð¤ò½üµî¡£
+
+2002-12-08  Takeshi Mogami  <mogami@cvs>
+
+       * src/grid.c 1.9.2.1:
+       ±£¤·¥É¥¢¤¬´äÀФǾå½ñ¤­¤µ¤ì¤Æ¡¢¥É¥¢¤¬¤¢¤ë¤Ù¤­¾ì½ê¤¬ÊɤΤ褦¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¥Ð¥°½¤Àµ¡£
+
+       * lib/help/jversion.txt 1.15, lib/help/version.txt 1.15:
+       version.txt ¤Ë1.4.0¤È1.5.0¤Î¾ðÊóÄɲá£
+
+2002-12-05  Takeshi Mogami  <mogami@cvs>
+
+       * src/load.c 1.46.2.1:
+       ¥í¡¼¥É»þ¤Ë¥«¥á¥ì¥ª¥ó¤Î cur_num ¤òÀµ¤·¤¯¹¹¿·¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¥Ð¥°½¤Àµ¡£
+       ¥«¥á¥ì¥ª¥óƶ·¢ºÇ²¼Áؤǡ¢¥»¡¼¥Ö&¥í¡¼¥É¤¹¤ë¤È¥«¥á¥ì¥ª¥ó¤Î²¦¤¬Ê£¿ô½Ð¤Æ¤·
+       ¤Þ¤Ã¤Æ¤¤¤¿¡£
+
+       * src/dungeon.c 1.81, src/externs.h 1.90, src/floors.c 1.2, src/generate.c 1.41, src/load.c 1.49, src/monster2.c 1.46, src/object2.c 1.63, src/save.c 1.25, src/wild.c 1.19, src/xtra2.c 1.57:
+       ¡¦Êݸ¥Õ¥í¥¢¤Î¥æ¥Ë¡¼¥¯¤È¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤Î°·¤¤¤¬¥¢¥ë¥´¥ê¥º¥àŪ¤Ë´Ö°ã¤Ã
+         ¤Æ¤¤¤¿¤Î¤Ç½ñ¤­Ä¾¤·¡£¸Å¤¤¥Õ¥í¥¢¤Ë²¿¤«¥æ¥Ë¡¼¥¯¤¬¤¤¤ëÃʳ¬¤Ç¡¢Â¾¤Î¥Õ¥í¥¢
+         ¤Ç½Ð¸½¤·¤¿¤½¤Î¥æ¥Ë¡¼¥¯¤ò¤¹¤°¤ËÅݤ·¤Æ¤·¤Þ¤¦¤È¡¢¸Å¤¤¥Õ¥í¥¢¤Î¥æ¥Ë¡¼¥¯¤¬
+         ¾Ã¤¨¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¡£
+       ¡¦¤Þ¤¿¡¢¥À¥ó¥¸¥ç¥ó¤ò¥í¡¼¥É¤·¤¿¤È¤­¤Ë¡¢¥«¥á¥ì¥ª¥ó¤Îcur_num¤òÀµ¤·¤¯¹¹¿·
+         ¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¥Ð¥°½¤Àµ¡£¤µ¤é¤Ë¡¢r_ptr¤òÊäÀµ¤¹¤ë¿¿ô¤Î Hack ¤ò°ì¤Ä¤Î
+         ´Ø¿ô real_r_ptr()¤Ë¤Þ¤È¤á¤¿¡£
+       ¡¦ÂçÎ̤Υ¢¥¤¥Æ¥à¡¢¥â¥ó¥¹¥¿¡¼¤Ë¤è¤Ã¤Æ¥»¡¼¥Ö¥Ç¡¼¥¿¤¬Æɤá¤Ê¤¯¤Ê¤ë¥Ð¥°¤¬¡¢
+         ÁêÊѤï¤é¤º»Ä¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¤Î¤Ç¡¢¤½¤ì¤âľ¤·¤¿¡£
+
+2002-11-30  Takeshi Mogami  <mogami@cvs>
+
+       * readme.txt 1.8.6.1, readme_eng.txt 1.8.6.1:
+       ¥Ø¥ë¥×¥³¥Þ¥ó¥É'?'¤Ë¤Ä¤¤¤Æ¸ÀµÚ¡£
+
+       * src/makefile.bcc 1.4.6.1, src/makefile.dos 1.3.8.1, src/makefile.ibm 1.3.8.1:
+       PythonÍѤΥ½¡¼¥¹¤Ç¤¢¤Ã¤¿ script.c ¤ò½ü¤­Ëº¤ì¤Æ¤¤¤¿¤Î¤Çºï½ü¡£
+
+       * src/makefile.dos 1.5, src/makefile.ibm 1.5:
+       makefile.dos¤Èmakefile.ibm¤â°ì±þ¹¹¿·¡£¸Å¤¤¥³¥á¥ó¥Èºï½ü¡£
+
+       * src/makefile.bcc 1.6:
+       PythonÍѤΥ½¡¼¥¹¤Ç¤¢¤Ã¤¿ script.c ¤ò½ü¤­Ëº¤ì¤Æ¤¤¤¿¤Î¤Çºï½ü¡£
+
+2002-11-29  Takeshi Mogami  <mogami@cvs>
+
+       * lib/help/jobjects.txt 1.8.2.1, lib/help/objects.txt 1.7.2.1:
+       ËâË¡Æ»¶ñ»ÙÇۤμ«Æ°¹ï¤ß¤ÎÀâÌÀÄɲÃ
+
+       * src/flavor.c 1.27.2.1:
+       ËâË¡Æ»¶ñ»ÙÇۤΥե饰¤Î¼«Æ°¹ï¤ß¤¬Ìµ¤«¤Ã¤¿¤Î¤Ç¡¢{+Æ»}{Md}¤ËÀßÄê¡£
+
+       * src/effects.c 1.30.2.1: ÀÄËâÆ»»Õ¤Î³Ø½¬¾õÂ֤Ϻ®Í𤹤ë¤È¼«Æ°²ò½ü¡£
+
+       * src/init2.c 1.19.2.2, src/store.c 1.20.2.1:
+       »¨²ß²°¤Ç¿å¤ÎÌô¤òÇä¤ë¤è¤¦¤Ë¤·¤¿¡£Âå¤ê¤Ë¾¾ÌÀ¤ò¸º¤é¤·¤¿¡£
+
+       * src/dungeon.c 1.78.2.1:
+       ¹ÓÌî¤Ç¿¹¤Î¾å¤òÊ⤤¤¿¤È¤­¡¢energy_use¤¬26400¤Ç¡¢signed 16bit ¤ÎºÇÂçÃÍ´Ö¶á¤À¤Ã¤¿
+       ¤Î¤Ç¡¢¥é¥ó¥À¥à¤ÊENERGY_NEED()¤ò³Ý¤±¤¿¤È¤­¤Ë¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Æ»þ»ß¤á¾õÂÖ¤Ë
+       ¤Ê¤Ã¤Æ¤·¤Þ¤¦»ö¤¬¤¢¤Ã¤¿¥Ð¥°½¤Àµ¡£
+
+2002-11-28  Takeshi Mogami  <mogami@cvs>
+
+       * src/cmd6.c 1.40.2.2:
+       ½øÈפΥ¨¥ó¥È¤¬²î»à¤·¤½¤¦¤Ê¤Î¤Ç¡¢Ìô¤Î±ÉÍÜɾ²Á¤òÁý¤·¤¿¡£
+       ¤Þ¤¿¿å¤ä¥¸¥å¡¼¥¹Åù¤ÏÆä˱ÉÍܲÁ¤¬¤¢¤ë¤è¤¦¤Ë¤·¤¿¡£
+
+       * src/externs.h 1.87.2.1, src/init1.c 1.48.2.1, src/init2.c 1.19.2.1, src/variable.c 1.34.2.1, src/xtra2.c 1.54.2.1:
+       ¥°¥í¡¼¥Ð¥ë¤Ëm_name¤È¤¤¤¦ÊÑ¿ô¤¬¤¢¤ê¡¢¥í¡¼¥«¥ë¤Îm_name¤ÎÀë¸À¤ò˺¤ì¤Æ¤â
+       ¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤Ë¤Ê¤é¤º¤Ë¥¯¥é¥Ã¥·¥å¤¹¤ë¥Ð¥°¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤Î¤Ç½¤Àµ¡£
+       ¥°¥í¡¼¥Ð¥ë¤Îm_name¤Ï̵°ÕÌ£¤À¤Ã¤¿¤Î¤Çºï½ü¡£
+
+2002-11-27  Takeshi Mogami  <mogami@cvs>
+
+       * src/cmd6.c 1.40.2.1:
+       ¶õ¤ÎËâË¡ËÀ/¾ó¤Î¥Á¥ã¡¼¥¸¤ò¿©¤ª¤¦¤È¤·¤Æ¼ºÇÔ¤·¤¿¤È¤­¤Ë{¶õ}¤È°õ¤¬ÉÕ¤«¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢ÉÕ¤¯¤è¤¦¤Ë½¤Àµ¡£
+
+       * src/racial.c 1.28: ¶¸Àï»Î¤Îµ¢´Ô¤¬»È¤¨¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤¿¥Ð¥°½¤Àµ¡£
+
 2002-11-26  Takeshi Mogami  <mogami@cvs>
 
+       * src/load.c 1.48:
+       ¥»¡¼¥Ö¥Ç¡¼¥¿¤Î¥Ð¡¼¥¸¥ç¥ó¤òÈæ³Ó¤¹¤ë¤È¤­¤Ë¡¢1.3.2¤È¤¤¤¦¿ô»ú¤ò»È¤Ã¤Æ¤¤¤¿¤Î¤ò1.5.0¤Ë½¤Àµ¡£
+
+       * src/floors.c 1.1:
+       ¥Õ¥í¥¢Êݸ¥³¡¼¥É¤ÎÃæ¿´¤È¤Ê¤ë¥Õ¥¡¥¤¥ë¡£commit Ëº¤ì¤Æ¤¿¡£
+
+       * configure.in 1.22.2.1, lib/file/news.txt 1.16.2.1, lib/file/news_j.txt 1.15.2.1, src/defines.h 1.81.2.1:
+       ¥Ð¡¼¥¸¥ç¥ó1.4.0¤Ø
+
+       * src/generate.c 1.40, src/generate.h 1.2, src/load.c 1.47, src/makefile.bcc 1.5, src/makefile.dos 1.4, src/makefile.ibm 1.4, src/makefile.std 1.4, src/racial.c 1.27, src/save.c 1.24, src/script.c 1.3, src/spells2.c 1.61, src/spells3.c 1.57, src/streams.c 1.7, src/tables.c 1.54, src/types.h 1.24, src/variable.c 1.35, src/wizard2.c 1.32, src/xtra1.c 1.56, src/xtra2.c 1.55, configure.in 1.23, lib/file/news.txt 1.17, lib/file/news_j.txt 1.16, lib/help/joption.txt 1.20, lib/help/option.txt 1.21, lib/pref/pref-opt.prf 1.14, src/Makefile.am 1.7, src/cave.c 1.67, src/cmd1.c 1.61, src/cmd2.c 1.37, src/cmd4.c 1.67, src/defines.h 1.82, src/dungeon.c 1.79, src/effects.c 1.31, src/event.h 1.3, src/externs.h 1.88, src/files.c 1.89:
+       ¥Õ¥í¥¢Êݸ¤Î»ÅÍͤò¼ÂÁõ¡£
+
+       * Changelogs 1.62: 1.4.x¤Î»ÞºîÀ®Á°¤Ë¹¹¿·¡£
+
        * src/rooms.c 1.25:
        rooms.c 1.21 ¤Ç vault ºîÀ®»þ¤ËCAVE_ROOM¥Õ¥é¥°¤òÉÕ¤±¤Æ¤¤¤¿¤Î¤òÉÔÍѰդ˺ï½ü
        ¤·¤Æ¤¤¤¿°Ù¤Ë¡¢vault¤ÎÃæ¤Ë´äÀФä¤éÄÌÏ©¤ä¤é¤Ç¤­¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¥Ð¥°½¤Àµ¡£
index 60bd4a6..6e89101 100644 (file)
@@ -87,7 +87,7 @@ A:56:70:97:30:1:0:57:58:50:51
 F:FINAL_GUARDIAN_373 | FINAL_OBJECT_148 | CAVE | WATER_RIVER | CAVERN
 F:LAKE_TREE | DESTROY | BIG
 F:MONSTER_DIV_32
-M:ORC | R_CHAR_k | R_CHAR_o | R_CHAR_O | ANIMAL
+M:ORC | R_CHAR_koO | ANIMAL
 
 N:4:̵Ü
 E:Labyrinth
@@ -111,7 +111,7 @@ A:56:90:87:10:56:0:57:58:50:87
 F:BIG | LAVA_RIVER | CAVERN | DESTROY
 F:MONSTER_DIV_10
 F:CAVE | LAKE_LAVA | LAKE_TREE | LAKE_RUBBLE
-M:DRAGON | R_CHAR_d | R_CHAR_D
+M:DRAGON | R_CHAR_dD
 
 # Vecna is there, guarding Soulsword
 N:6:ÊèÃÏ
@@ -136,7 +136,7 @@ L:89:85:93:5:84:10:15
 A:96:90:56:10:56:0:94:96:56:94
 F:NO_DOORS | WATER_RIVER | MONSTER_DIV_15
 F:FINAL_GUARDIAN_481 | FINAL_OBJECT_592
-M:ANIMAL | R_CHAR_S | R_CHAR_J | R_CHAR_Z | R_CHAR_# | WILD_WOOD
+M:ANIMAL | R_CHAR_SJZ# | WILD_WOOD
 
 N:8:²Ð»³
 E:Volcano
@@ -195,7 +195,7 @@ W:20:65:30:3:14:160:75:20:0x017f:0x033f
 L:1:100:1:0:1:0:100
 A:56:100:56:0:56:0:57:58:0:0
 F:MONSTER_DIV_16 | ARENA | NO_CAVE | FINAL_GUARDIAN_882
-M:DEMON | R_CHAR_p | R_CHAR_h | R_CHAR_H | R_CHAR_g
+M:DEMON | R_CHAR_phHg
 
 # Cth and Razorback
 N:13:¥ë¥ë¥¤¥¨
@@ -220,8 +220,7 @@ L:89:100:89:0:89:0:0
 A:97:100:56:0:56:0:97:56:0:0
 F:FINAL_GUARDIAN_468 | FINAL_OBJECT_239 |
 F:MONSTER_DIV_16 | WATER_RIVER | CAVE | CAVERN | NO_DOORS | BIG
-M:TROLL | GIANT | CAN_FLY | ANIMAL | WILD_MOUNTAIN | R_CHAR_O | R_CHAR_Y
-M:R_CHAR_H
+M:TROLL | GIANT | CAN_FLY | ANIMAL | WILD_MOUNTAIN | R_CHAR_OYH
 
 N:15:¶â¹Û
 E:Mine
index 4b72af5..8b62262 100644 (file)
@@ -5938,7 +5938,7 @@ P:0:1d1:0:0:0
 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
 
 N:658:¾ó
-E:& Staff~
+E:& Staff~
 G:_:d
 I:55:32:20
 W:1:0:50:20
index 12de832..fa3375b 100644 (file)
@@ -24,7 +24,7 @@
 ¤³¤³¤ÏºÇ¿¼³¬¤Ë½»¤ó¤Ç¤¤¤ë¡Ö¥¤¡¼¥¯¤ÎÂ粦¡×¤¬¶¯Å¨¤Ç¤¹¤¬¡¢¤½¤ì°Ê³°¤Ï°ÂÁ´¤Ê
 ¾®¤µ¤Êƶ·ê¤Ç¤¹¡£¤³¤Î¥À¥ó¥¸¥ç¥ó¤òÀ¬ÇƤǤ­¤ë¤¯¤é¤¤¶¯¤¯¤Ê¤Ã¤¿¤é¡¢³¹¤Î³°¤Ø
 ½Ð¤Æ¤¤¤í¤¤¤í¤Ê¥À¥ó¥¸¥ç¥ó¤ØÀø¤Ã¤Æ¤ß¤ë¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£³¹¤Î³°¤Ø½Ð¤ë¤È¤­¤Ï¡¢
-¿¤¯¤Î¿©ÎÁ¤ä¶õÊ¢½¼Â­¤Î´¬Êª¤ò»ý¤Ã¤Æ¤¤¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
+¿¤¯¤Î¿©ÎÁ¤ò»ý¤Ã¤Æ¤¤¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
 
 
 --- ¹­°è¥Þ¥Ã¥× ----  ( '<' ¤ò²¡¤¹¤À¤±¤Ç¡¢¹­Âç¤ÊÀ¤³¦¤¬¸«¤¨¤ë¡ª¡ª¡ª)
@@ -135,7 +135,7 @@ http://www.kmc.gr.jp/~habu/gridbug.html
 Original   : (??)
 Updated    : (??)
 Updated    : Zangband DevTeam
-Updated    : Hengband 1.1.0
+Updated    : Hengband 1.5.0
 
 
 ***** Begin Hyperlinks
index 0ea2bfa..85c8d17 100644 (file)
@@ -74,8 +74,7 @@
   ¤³¤³¤ÏºÇ¿¼³¬¤Ë½»¤ó¤Ç¤¤¤ë¡Ö¥¤¡¼¥¯¤ÎÂ粦¡×¤¬¶¯Å¨¤Ç¤¹¤¬¡¢¤½¤ì°Ê³°¤Ï°ÂÁ´¤Ê
   ¾®¤µ¤Êƶ·ê¤Ç¤¹¡£¤³¤Î¥À¥ó¥¸¥ç¥ó¤òÀ¬ÇƤǤ­¤ë¤¯¤é¤¤¶¯¤¯¤Ê¤Ã¤¿¤é¡¢³¹¤Î³°¤Ø½Ð¤Æ
   ¤¤¤í¤¤¤í¤Ê¥À¥ó¥¸¥ç¥ó¤ØÀø¤Ã¤Æ¤ß¤ë¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£
-  ³¹¤Î³°¤Ø½Ð¤ë¤È¤­¤Ï¡¢Â¿¤¯¤Î¿©ÎÁ¤ä¶õÊ¢½¼Â­¤Î´¬Êª¤ò»ý¤Ã¤Æ¤¤¤«¤Ê¤±¤ì¤Ð
-  ¤¤¤±¤Þ¤»¤ó¡£
+  ³¹¤Î³°¤Ø½Ð¤ë¤È¤­¤Ï¡¢Â¿¤¯¤Î¿©ÎÁ¤ò»ý¤Ã¤Æ¤¤¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
   ¤³¤ÎÀ¤³¦¤ÏÈó¾ï¤Ë¹­¤¤¤Î¤Ç¡¢³¹¤Î³°¤Ë½Ð¤ë¤È¤­¤Ï'<'¤Ç¹­°è¥Þ¥Ã¥×¤ËÆþ¤ê¡¢
   ÌÜŪÃϤˤĤ¤¤¿¤È¤³¤í¤Ç'>'¤ÇÄ̾ï¥Þ¥Ã¥×¤ËÌá¤ë¡¢¤È¤¤¤¦°ÜÆ°¤Î»ÅÊý¤¬ÊØÍø¤Ç¤¹¡£
   ¹ÓÌî¤Ç¤ÏÆ»¤äÁ𸶤ÏÈæ³ÓŪ°ÂÁ´¤Ç¤¹¤¬¡¢ÍÏ´äÃÏÂӤ䳤¤Î¾å¤Ï¶¯ÎϤʥâ¥ó¥¹¥¿¡¼¤¬
index 7bbc6af..96a0f7e 100644 (file)
@@ -43,7 +43,6 @@ void do_cmd_go_up(void)
                msg_print("You enter the up staircase.");
 #endif
 
-
                leave_quest_check();
 
                p_ptr->inside_quest = c_ptr->special;
@@ -66,126 +65,121 @@ void do_cmd_go_up(void)
 
                p_ptr->oldpx = 0;
                p_ptr->oldpy = 0;
+
+               /* End the command */
+               return;
        }
-       /* Normal up stairs */
-       else if ((c_ptr->feat == FEAT_LESS) || (c_ptr->feat == FEAT_LESS_LESS))
+
+       /* Normal up stairs? */
+       if (c_ptr->feat != FEAT_LESS && c_ptr->feat != FEAT_LESS_LESS)
        {
-               if (!dun_level)
-               {
-                       go_up = TRUE;
-               }
-               else
-               {
-                       quest_type *q_ptr = &quest[p_ptr->inside_quest];
+#ifdef JP
+               msg_print("¤³¤³¤Ë¤Ï¾å¤ê³¬Ãʤ¬¸«Åö¤¿¤é¤Ê¤¤¡£");
+#else
+               msg_print("I see no up staircase here.");
+#endif
 
-                       /* Confirm leaving from once only quest */
-                       if (confirm_quest && p_ptr->inside_quest &&
-                           (q_ptr->type == QUEST_TYPE_RANDOM ||
-                            (q_ptr->flags & QUEST_FLAG_ONCE &&
-                             q_ptr->status != QUEST_STATUS_COMPLETED)))
-                       {
+               return;
+       }
+
+       if (!dun_level)
+       {
+               go_up = TRUE;
+       }
+       else
+       {
+               quest_type *q_ptr = &quest[p_ptr->inside_quest];
+
+               /* Confirm leaving from once only quest */
+               if (confirm_quest && p_ptr->inside_quest &&
+                   (q_ptr->type == QUEST_TYPE_RANDOM ||
+                    (q_ptr->flags & QUEST_FLAG_ONCE &&
+                     q_ptr->status != QUEST_STATUS_COMPLETED)))
+               {
 #ifdef JP
-                               msg_print("¤³¤Î³¬¤ò°ìÅÙµî¤ë¤ÈÆóÅÙ¤ÈÌá¤Ã¤ÆÍè¤é¤ì¤Þ¤»¤ó¡£");
-                               if (get_check("ËÜÅö¤Ë¤³¤Î³¬¤òµî¤ê¤Þ¤¹¤«¡©")) go_up = TRUE;
+                       msg_print("¤³¤Î³¬¤ò°ìÅÙµî¤ë¤ÈÆóÅÙ¤ÈÌá¤Ã¤ÆÍè¤é¤ì¤Þ¤»¤ó¡£");
+                       if (get_check("ËÜÅö¤Ë¤³¤Î³¬¤òµî¤ê¤Þ¤¹¤«¡©")) go_up = TRUE;
 #else
-                               msg_print("You can't come back here once you leave this floor.");
-                               if (get_check("Really leave this floor? ")) go_up = TRUE;
+                       msg_print("You can't come back here once you leave this floor.");
+                       if (get_check("Really leave this floor? ")) go_up = TRUE;
 #endif
-                       }
-                       else
-                       {
-                               go_up = TRUE;
-                       }
                }
-
-               if (go_up)
+               else
                {
+                       go_up = TRUE;
+               }
+       }
 
-                       /* Hack -- take a turn */
-                       energy_use = 100;
+       /* Cancel the command */
+       if (!go_up) return;
 
-                       if (autosave_l) do_cmd_save_game(TRUE);
+       /* Hack -- take a turn */
+       energy_use = 100;
 
-                       if (p_ptr->inside_quest)
-                       {
-                               leave_quest_check();
+       if (autosave_l) do_cmd_save_game(TRUE);
 
-                               if (quest[leaving_quest].type != QUEST_TYPE_RANDOM)
-                               {
-                                       p_ptr->inside_quest = c_ptr->special;
-                                       dun_level = 0;
-                               }
-                               else
-                               {
-                                       p_ptr->inside_quest = 0;
-                               }
-                       }
+       if (p_ptr->inside_quest)
+       {
+               leave_quest_check();
 
-                       /* New depth */
-                       if (c_ptr->feat == FEAT_LESS_LESS)
-                       {
-                               /* Create a way back */
-                               prepare_change_floor_mode(CFM_UP | CFM_SHAFT);
+               if (quest[leaving_quest].type != QUEST_TYPE_RANDOM)
+               {
+                       p_ptr->inside_quest = c_ptr->special;
+                       dun_level = 0;
+               }
+               else
+               {
+                       p_ptr->inside_quest = 0;
+               }
 
-                               up_num += 2;
-                       }
-                       else
-                       {
-                               /* Create a way back */
-                               prepare_change_floor_mode(CFM_UP);
+               up_num = 0;
+       }
+       else
+       {
+               /* New depth */
+               if (c_ptr->feat == FEAT_LESS_LESS)
+               {
+                       /* Create a way back */
+                       prepare_change_floor_mode(CFM_UP | CFM_SHAFT);
 
-                               up_num += 1;
-                       }
-#if 0
-                       if (!c_ptr->special && dungeon_type && ((dun_level - up_num + 1) > d_info[dungeon_type].mindepth) && one_in_(13))
-                       {
-                               up_num++;
-#ifdef JP
-                               if (c_ptr->feat == FEAT_LESS_LESS) msg_print("Ť¤¹£Æ»¤ò¾å¤Ã¤¿¡£");
-                               else msg_print("Ť¤³¬Ãʤò¾å¤Ã¤¿¡£");
-#else
-                               msg_print("These were very long stairs.");
-#endif
-                               msg_print(NULL);
-                       }
-#endif /* 0 */
+                       up_num = 2;
+               }
+               else
+               {
+                       /* Create a way back */
+                       prepare_change_floor_mode(CFM_UP);
 
-                       if (dun_level-up_num+1 == d_info[dungeon_type].mindepth) up_num = dun_level;
-#ifdef JP
-                       if (record_stair) do_cmd_write_nikki(NIKKI_STAIR, 0-up_num, "³¬Ãʤò¾å¤Ã¤¿");
-#else
-                       if (record_stair) do_cmd_write_nikki(NIKKI_STAIR, 0-up_num, "go up the stairs to");
-#endif
+                       up_num = 1;
+               }
+
+               /* Get out from current dungeon */
+               if (dun_level - up_num < d_info[dungeon_type].mindepth)
+                       up_num = dun_level;
+       }
 
-                       /* Success */
 #ifdef JP
-                       if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON))
-                               msg_print("¤Ê¤ó¤À¤³¤Î³¬Ãʤϡª");
-                       else if (0 == dun_level)
-                               msg_print("ÃϾå¤ËÌá¤Ã¤¿¡£");
-                       else
-                               msg_print("³¬Ãʤò¾å¤Ã¤Æ¿·¤¿¤Ê¤ë̵ܤؤÈ­¤òƧ¤ßÆþ¤ì¤¿¡£");
+       if (record_stair) do_cmd_write_nikki(NIKKI_STAIR, 0-up_num, "³¬Ãʤò¾å¤Ã¤¿");
 #else
-                       if (0 == dun_level)
-                               msg_print("You go back to the surface.");
-                       else
-                               msg_print("You enter a maze of up staircases.");
+       if (record_stair) do_cmd_write_nikki(NIKKI_STAIR, 0-up_num, "go up the stairs to");
 #endif
 
-                       /* Leaving */
-                       p_ptr->leaving = TRUE;
-               }
-       }
-       else
-       {
+       /* Success */
 #ifdef JP
-               msg_print("¤³¤³¤Ë¤Ï¾å¤ê³¬Ãʤ¬¸«Åö¤¿¤é¤Ê¤¤¡£");
+       if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON))
+               msg_print("¤Ê¤ó¤À¤³¤Î³¬Ãʤϡª");
+       else if (up_num == dun_level)
+               msg_print("ÃϾå¤ËÌá¤Ã¤¿¡£");
+       else
+               msg_print("³¬Ãʤò¾å¤Ã¤Æ¿·¤¿¤Ê¤ë̵ܤؤÈ­¤òƧ¤ßÆþ¤ì¤¿¡£");
 #else
-               msg_print("I see no up staircase here.");
+       if (up_num == dun_level)
+               msg_print("You go back to the surface.");
+       else
+               msg_print("You enter a maze of up staircases.");
 #endif
 
-               return;
-       }
+       /* Leaving */
+       p_ptr->leaving = TRUE;
 }
 
 
index 38f3659..710bfec 100644 (file)
@@ -7861,6 +7861,7 @@ static void desc_obj_fake(int k_idx)
 #else
                msg_print("You see nothing special.");
 #endif
+               msg_print(NULL);
        }
 }
 
index 020dfd5..d482f40 100644 (file)
@@ -5754,6 +5754,9 @@ msg_format("%s
                }
 
                p_ptr->riding = c_ptr->m_idx;
+
+               /* Hack -- remove tracked monster */
+               if (p_ptr->riding == p_ptr->health_who) health_track(0);
        }
 
        /* Save the old location */
index fe0165c..5e9ecfa 100644 (file)
@@ -418,10 +418,10 @@ msg_print("
 #endif
 
        }
-       else if ((p_ptr->prace == RACE_SKELETON ||
-                 p_ptr->prace == RACE_GOLEM ||
-                 p_ptr->prace == RACE_ZOMBIE ||
-                 p_ptr->prace == RACE_SPECTRE) &&
+       else if ((prace_is_(RACE_SKELETON) ||
+                 prace_is_(RACE_GOLEM) ||
+                 prace_is_(RACE_ZOMBIE) ||
+                 prace_is_(RACE_SPECTRE)) &&
                 (o_ptr->tval == TV_STAFF || o_ptr->tval == TV_WAND))
        {
                cptr staff;
@@ -520,7 +520,7 @@ msg_print("
                /* Don't eat a staff/wand itself */
                return;
        }
-       else if ((p_ptr->prace == RACE_DEMON ||
+       else if ((prace_is_(RACE_DEMON) ||
                 (mimic_info[p_ptr->mimic_form].MIMIC_FLAGS & MIMIC_IS_DEMON)) &&
                 (o_ptr->tval == TV_CORPSE && o_ptr->sval == SV_CORPSE &&
                  strchr("pht", r_info[o_ptr->pval].d_char)))
@@ -537,7 +537,7 @@ msg_print("
 #endif
                (void)set_food(PY_FOOD_MAX - 1);
        }
-       else if (p_ptr->prace == RACE_SKELETON)
+       else if (prace_is_(RACE_SKELETON))
        {
 #if 0
                if (o_ptr->tval == TV_SKELETON ||
@@ -582,12 +582,12 @@ msg_print("
 
                }
        }
-       else if ((p_ptr->prace == RACE_GOLEM) ||
-                (p_ptr->prace == RACE_ZOMBIE) ||
-                (p_ptr->prace == RACE_ENT) ||
-                (p_ptr->prace == RACE_DEMON) ||
-                (p_ptr->prace == RACE_ANDROID) ||
-                (p_ptr->prace == RACE_SPECTRE) ||
+       else if (prace_is_(RACE_GOLEM) ||
+                prace_is_(RACE_ZOMBIE) ||
+                prace_is_(RACE_ENT) ||
+                prace_is_(RACE_DEMON) ||
+                prace_is_(RACE_ANDROID) ||
+                prace_is_(RACE_SPECTRE) ||
                 (mimic_info[p_ptr->mimic_form].MIMIC_FLAGS & MIMIC_IS_NONLIVING))
        {
 #ifdef JP
@@ -629,7 +629,7 @@ static bool item_tester_hook_eatable(object_type *o_ptr)
        if (o_ptr->tval==TV_FOOD) return TRUE;
 
 #if 0
-       if (p_ptr->prace == RACE_SKELETON)
+       if (prace_is_(RACE_SKELETON))
        {
                if (o_ptr->tval == TV_SKELETON ||
                    (o_ptr->tval == TV_CORPSE && o_ptr->sval == SV_SKELETON))
@@ -638,15 +638,15 @@ static bool item_tester_hook_eatable(object_type *o_ptr)
        else 
 #endif
 
-       if (p_ptr->prace == RACE_SKELETON ||
-           p_ptr->prace == RACE_GOLEM ||
-           p_ptr->prace == RACE_ZOMBIE ||
-           p_ptr->prace == RACE_SPECTRE)
+       if (prace_is_(RACE_SKELETON) ||
+           prace_is_(RACE_GOLEM) ||
+           prace_is_(RACE_ZOMBIE) ||
+           prace_is_(RACE_SPECTRE))
        {
                if (o_ptr->tval == TV_STAFF || o_ptr->tval == TV_WAND)
                        return TRUE;
        }
-       else if ((p_ptr->prace == RACE_DEMON) ||
+       else if (prace_is_(RACE_DEMON) ||
                 (mimic_info[p_ptr->mimic_form].MIMIC_FLAGS & MIMIC_IS_DEMON))
        {
                if (o_ptr->tval == TV_CORPSE &&
@@ -1403,7 +1403,7 @@ msg_print("
                }
        }
 
-       if (p_ptr->prace == RACE_SKELETON)
+       if (prace_is_(RACE_SKELETON))
        {
 #ifdef JP
 msg_print("±ÕÂΤΰìÉô¤Ï¤¢¤Ê¤¿¤Î¥¢¥´¤òÁÇÄ̤ꤷ¤ÆÍî¤Á¤¿¡ª");
@@ -1504,7 +1504,7 @@ static bool item_tester_hook_quaff(object_type *o_ptr)
 {
        if (o_ptr->tval == TV_POTION) return TRUE;
 
-       if (p_ptr->prace == RACE_ANDROID)
+       if (prace_is_(RACE_ANDROID))
        {
                if (o_ptr->tval == TV_FLASK && o_ptr->sval == SV_FLASK_OIL)
                        return TRUE;
@@ -2645,8 +2645,8 @@ msg_print("
 #else
                        msg_print("Nothing happen.");
 #endif
-                       if (p_ptr->prace == RACE_SKELETON || p_ptr->prace == RACE_GOLEM ||
-                               p_ptr->prace == RACE_ZOMBIE || p_ptr->prace == RACE_SPECTRE)
+                       if (prace_is_(RACE_SKELETON) || prace_is_(RACE_GOLEM) ||
+                               prace_is_(RACE_ZOMBIE) || prace_is_(RACE_SPECTRE))
 #ifdef JP
                                msg_print("¤â¤Ã¤¿¤¤¤Ê¤¤»ö¤ò¤·¤¿¤è¤¦¤Êµ¤¤¬¤¹¤ë¡£¿©¤Ùʪ¤ÏÂçÀڤˤ·¤Ê¤¯¤Æ¤Ï¡£");
 #else
index 8d21baf..ddf9bcc 100644 (file)
@@ -171,6 +171,7 @@ void reset_tim_flags(void)
        p_ptr->tim_regen = 0;       /* Timed -- Regeneration */
        p_ptr->tim_stealth = 0;     /* Timed -- Stealth */
        p_ptr->tim_esp = 0;
+       p_ptr->wraith_form = 0;     /* Timed -- Wraith Form */
        p_ptr->tim_ffall = 0;
        p_ptr->tim_sh_touki = 0;
        p_ptr->tim_sh_fire = 0;
@@ -195,8 +196,8 @@ void reset_tim_flags(void)
        p_ptr->oppose_cold = 0;     /* Timed -- oppose cold */
        p_ptr->oppose_pois = 0;     /* Timed -- oppose poison */
 
-       p_ptr->word_recall = FALSE;
-       p_ptr->alter_reality = FALSE;
+       p_ptr->word_recall = 0;
+       p_ptr->alter_reality = 0;
        p_ptr->sutemi = FALSE;
        p_ptr->counter = FALSE;
        p_ptr->ele_attack = 0;
index ffddf38..3e11835 100644 (file)
@@ -2229,6 +2229,7 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode)
        {
                if (known && o_ptr->name1) basenm = a_name + a_info[o_ptr->name1].name;
                else basenm = get_object_name(o_ptr);
+               append_name = FALSE;
        }
 
        /* Start dumping the result */
index 49df936..2e956e9 100644 (file)
@@ -722,27 +722,29 @@ void leave_floor(void)
                }
 
                /* Extract level movement number */
+               if (change_floor_mode & CFM_DOWN) move_num = 1;
+               else if (change_floor_mode & CFM_UP) move_num = -1;
+               
+               /* Mark shaft up/down */
+               if (c_ptr->feat == FEAT_LESS_LESS ||
+                   c_ptr->feat == FEAT_MORE_MORE)
+               {
+                       prepare_change_floor_mode(CFM_SHAFT);
+                       move_num += SGN(move_num);
+               }
+
+               /* Get out from or Enter the dungeon */
                if (change_floor_mode & CFM_DOWN)
                {
-                       move_num = 1;
                        if (!dun_level)
                                move_num = d_info[c_ptr->special].mindepth;
                }
                else if (change_floor_mode & CFM_UP)
                {
-                       move_num = -1;
                        if (dun_level + move_num < d_info[dungeon_type].mindepth)
                                move_num = -dun_level;
                }
                
-               /* Mark shaft up/down */
-               if (c_ptr->feat == FEAT_LESS_LESS ||
-                   c_ptr->feat == FEAT_MORE_MORE)
-               {
-                       prepare_change_floor_mode(CFM_SHAFT);
-                       move_num += SGN(move_num);
-               }
-
                dun_level += move_num;
        }
 
index 212e8c9..83e34dd 100644 (file)
@@ -2699,17 +2699,17 @@ errr parse_d_info(char *buf, header *head)
                /* Parse every entry */
                for (s = buf + 2; *s; )
                {
-                               /* Find the end of this entry */
+                       /* Find the end of this entry */
                        for (t = s; *t && (*t != ' ') && (*t != '|'); ++t) /* loop */;
 
-                               /* Nuke and skip any dividers */
+                       /* Nuke and skip any dividers */
                        if (*t)
                        {
                                *t++ = '\0';
                                while (*t == ' ' || *t == '|') t++;
                        }
 
-                               /* XXX XXX XXX Hack -- Read Final Artifact */
+                       /* XXX XXX XXX Hack -- Read Final Artifact */
                        if (1 == sscanf(s, "FINAL_ARTIFACT_%d", &artif))
                        {
                                /* Extract a "Final Artifact" */
@@ -2722,7 +2722,7 @@ errr parse_d_info(char *buf, header *head)
                                continue;
                        }
 
-                               /* XXX XXX XXX Hack -- Read Final Object */
+                       /* XXX XXX XXX Hack -- Read Final Object */
                        if (1 == sscanf(s, "FINAL_OBJECT_%d", &artif))
                        {
                                /* Extract a "Final Artifact" */
@@ -2735,7 +2735,7 @@ errr parse_d_info(char *buf, header *head)
                                continue;
                        }
 
-                               /* XXX XXX XXX Hack -- Read Artifact Guardian */
+                       /* XXX XXX XXX Hack -- Read Artifact Guardian */
                        if (1 == sscanf(s, "FINAL_GUARDIAN_%d", &monst))
                        {
                                /* Extract a "Artifact Guardian" */
@@ -2748,7 +2748,7 @@ errr parse_d_info(char *buf, header *head)
                                continue;
                        }
 
-                               /* XXX XXX XXX Hack -- Read Special Percentage */
+                       /* XXX XXX XXX Hack -- Read Special Percentage */
                        if (1 == sscanf(s, "MONSTER_DIV_%d", &monst))
                        {
                                /* Extract a "Special %" */
@@ -2761,10 +2761,10 @@ errr parse_d_info(char *buf, header *head)
                                continue;
                        }
 
-                               /* Parse this entry */
+                       /* Parse this entry */
                        if (0 != grab_one_dungeon_flag(d_ptr, s)) return (5);
 
-                               /* Start the next entry */
+                       /* Start the next entry */
                        s = t;
                }
        }
@@ -2772,29 +2772,27 @@ errr parse_d_info(char *buf, header *head)
        /* Process 'M' for "Basic Flags" (multiple lines) */
        else if (buf[0] == 'M')
        {
-               byte r_char_number = 0, r_char;
-
                /* Parse every entry */
                for (s = buf + 2; *s; )
                {
-                               /* Find the end of this entry */
+                       /* Find the end of this entry */
                        for (t = s; *t && (*t != ' ') && (*t != '|'); ++t) /* loop */;
 
-                               /* Nuke and skip any dividers */
+                       /* Nuke and skip any dividers */
                        if (*t)
                        {
                                *t++ = '\0';
                                while (*t == ' ' || *t == '|') t++;
                        }
 
-                               /* XXX XXX XXX Hack -- Read monster symbols */
-                       if (1 == sscanf(s, "R_CHAR_%c", &r_char))
+                       /* Hack -- Read monster symbols */
+                       if (!strncmp(s, "R_CHAR_", 7))
                        {
-                               /* Limited to 5 races */
-                               if(r_char_number >= 5) continue;
+                               /* Skip "R_CHAR_" */
+                               s += 7;
 
-                               /* Extract a "frequency" */
-                               d_ptr->r_char[r_char_number++] = r_char;
+                               /* Read a string */
+                               strncpy(d_ptr->r_char, s, sizeof(d_ptr->r_char));
 
                                /* Start at next entry */
                                s = t;
@@ -2803,10 +2801,10 @@ errr parse_d_info(char *buf, header *head)
                                continue;
                        }
 
-                               /* Parse this entry */
+                       /* Parse this entry */
                        if (0 != grab_one_basic_monster_flag(d_ptr, s)) return (5);
 
-                               /* Start the next entry */
+                       /* Start the next entry */
                        s = t;
                }
        }
index f3ae209..9082f15 100644 (file)
@@ -208,7 +208,6 @@ static void wr_monster(monster_type *m_ptr)
 
        /* Monster race index of its appearance */
        if (flags & SAVE_MON_AP_R_IDX) wr_s16b(m_ptr->ap_r_idx);
-       else m_ptr->ap_r_idx = m_ptr->r_idx;
 
        if (flags & SAVE_MON_SUB_ALIGN) wr_byte(m_ptr->sub_align);
        if (flags & SAVE_MON_CSLEEP) wr_s16b(m_ptr->csleep);