OSDN Git Service

パニックセーブで、セーブファイルのpy,pxの値が変になった時に自動で復帰するコード追加。
authormogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sat, 6 Dec 2003 12:23:18 +0000 (12:23 +0000)
committermogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sat, 6 Dec 2003 12:23:18 +0000 (12:23 +0000)
src/dungeon.c

index 2a970f5..650194b 100644 (file)
@@ -7067,6 +7067,29 @@ prt("
                change_floor();
        }
 
+       else
+       {
+               /* HACK -- Restore from panic-save */
+               if (p_ptr->panic_save)
+               {
+                       /* No player?  -- Try to regenerate floor */
+                       if (!py || !px)
+                       {
+#ifdef JP
+                               msg_print("¥×¥ì¥¤¥ä¡¼¤Î°ÌÃÖ¤¬¤ª¤«¤·¤¤¡£¥Õ¥í¥¢¤òºÆÀ¸À®¤·¤Þ¤¹¡£");
+#else
+                               msg_print("What a strange player location.  Regenerate the dungeon floor.");
+#endif
+                               change_floor();
+                       }
+
+                       /* Still no player?  -- Try to locate random place */
+                       if (!py || !px) py = px = 10;
+
+                       /* No longer in panic */
+                       p_ptr->panic_save = 0;
+               }
+       }
 
        /* Character is now "complete" */
        character_generated = TRUE;