OSDN Git Service

パトロンの報酬でレベルが上ると、再帰的にcheck_experience()が呼ばれて、
authormogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sun, 19 May 2002 16:48:13 +0000 (16:48 +0000)
committermogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sun, 19 May 2002 16:48:13 +0000 (16:48 +0000)
能力値上昇の処理がバグるので、パトロンの処理はループの最後に移動。

src/xtra2.c

index 5bb2b4e..212efe9 100644 (file)
@@ -120,20 +120,13 @@ msg_format("
                /* Window stuff */
                p_ptr->window |= (PW_PLAYER | PW_SPELL);
 
-#ifdef JP
+               /* HP¤ÈMP¤Î¾å¾ºÎ̤òɽ¼¨ */
                 level_up = 1;
-#endif
+
                /* Handle stuff */
                handle_stuff();
 
-#ifdef JP
                 level_up = 0;
-#endif
-               if (level_reward)
-               {
-                       gain_level_reward(0);
-                       level_reward = FALSE;
-               }
 
                if (level_inc_stat)
                {
@@ -210,6 +203,16 @@ msg_print("
                        level_mutation = FALSE;
                }
 
+               /*
+                * Ê󽷤ǥì¥Ù¥ë¤¬¾å¤ë¤ÈºÆµ¢Åª¤Ë check_experience() ¤¬
+                * ¸Æ¤Ð¤ì¤ë¤Î¤Ç½çÈÖ¤òºÇ¸å¤Ë¤¹¤ë¡£
+                */
+               if (level_reward)
+               {
+                       gain_level_reward(0);
+                       level_reward = FALSE;
+               }
+
                /* Update some stuff */
                p_ptr->update |= (PU_BONUS | PU_HP | PU_MANA | PU_SPELLS);