OSDN Git Service

^AcでINSTA_ARTの★を作成したとき、追加耐性等も正常に付くようにした。
authormogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sat, 29 Jun 2002 13:16:04 +0000 (13:16 +0000)
committermogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sat, 29 Jun 2002 13:16:04 +0000 (13:16 +0000)
src/wizard2.c

index cfb78d6..6414ddb 100644 (file)
@@ -1336,12 +1336,6 @@ static void wiz_create_item(void)
        /* Return if failed */
        if (!k_idx) return;
 
-       /* Get local object */
-       q_ptr = &forge;
-
-       /* Create the item */
-       object_prep(q_ptr, k_idx);
-
        if (k_info[k_idx].gen_flags & TRG_INSTA_ART)
        {
                int i;
@@ -1350,25 +1344,30 @@ static void wiz_create_item(void)
                for (i = 1; i < max_a_idx; i++)
                {
                        /* Ignore incorrect tval */
-                       if (a_info[i].tval != q_ptr->tval) continue;
+                       if (a_info[i].tval != k_info[k_idx].tval) continue;
 
                        /* Ignore incorrect sval */
-                       if (a_info[i].sval != q_ptr->sval) continue;
+                       if (a_info[i].sval != k_info[k_idx].sval) continue;
 
-                       /* Choose this artifact */
-                       q_ptr->name1 = i;
-                       break;
-               }
+                       /* Create this artifact */
+                        create_named_art(i, py, px);
 
-               /* Apply magic */
-               apply_magic(q_ptr, -1, TRUE, TRUE, TRUE, FALSE);
-       }
-       else
-       {
-               /* Apply magic */
-               apply_magic(q_ptr, dun_level, FALSE, FALSE, FALSE, FALSE);
+                        /* All done */
+                        msg_print("Allocated(INSTA_ART).");
+
+                        return;
+               }
        }
 
+       /* Get local object */
+       q_ptr = &forge;
+
+       /* Create the item */
+       object_prep(q_ptr, k_idx);
+
+        /* Apply magic */
+        apply_magic(q_ptr, dun_level, FALSE, FALSE, FALSE, FALSE);
+
        /* Drop the object from heaven */
        (void)drop_near(q_ptr, -1, py, px);