OSDN Git Service

#37399 (2.2.0.47) 旧バージョンのバグにより、帰還無しオプションで鉄獄以外のダンジョンに入り込んでいる場合、強制的に地上に飛ばす処理を実装。 /...
authorDeskull <desull@users.sourceforge.jp>
Sun, 23 Jul 2017 15:23:24 +0000 (00:23 +0900)
committerDeskull <desull@users.sourceforge.jp>
Sun, 23 Jul 2017 15:23:24 +0000 (00:23 +0900)
src/defines.h
src/dungeon.c

index 6f4eaa2..e62255e 100644 (file)
@@ -53,7 +53,7 @@
 #define FAKE_VER_MAJOR 12 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */
 #define FAKE_VER_MINOR 2 /*!< ゲームのバージョン番号定義(マイナー番号) */
 #define FAKE_VER_PATCH 0 /*!< ゲームのバージョン番号定義(パッチ番号) */
 #define FAKE_VER_MAJOR 12 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */
 #define FAKE_VER_MINOR 2 /*!< ゲームのバージョン番号定義(マイナー番号) */
 #define FAKE_VER_PATCH 0 /*!< ゲームのバージョン番号定義(パッチ番号) */
-#define FAKE_VER_EXTRA 46 /*!< ゲームのバージョン番号定義(エクストラ番号) */
+#define FAKE_VER_EXTRA 47 /*!< ゲームのバージョン番号定義(エクストラ番号) */
 
 
  /*!
 
 
  /*!
index adb3040..a69684b 100644 (file)
@@ -3457,6 +3457,17 @@ static void process_world(void)
        /* Update dungeon feeling, and announce it if changed */
        update_dungeon_feeling();
 
        /* Update dungeon feeling, and announce it if changed */
        update_dungeon_feeling();
 
+       /* 帰還無しモード時のレベルテレポバグ対策 / Fix for level teleport bugs on ironman_downward.*/
+       if (ironman_downward && (dungeon_type != DUNGEON_ANGBAND && dungeon_type != 0))
+       {
+               dun_level = 0;
+               dungeon_type = 0;
+               prepare_change_floor_mode(CFM_FIRST_FLOOR | CFM_RAND_PLACE);
+               p_ptr->inside_arena = FALSE;
+               p_ptr->wild_mode = FALSE;
+               p_ptr->leaving = TRUE;
+       }
+
        /*** Check monster arena ***/
        if (p_ptr->inside_battle && !p_ptr->leaving)
        {
        /*** Check monster arena ***/
        if (p_ptr->inside_battle && !p_ptr->leaving)
        {