OSDN Git Service

アーティファクト生成で、失敗するような選択は最初から出来ないように修正。
authormogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Thu, 24 Jan 2002 13:57:41 +0000 (13:57 +0000)
committermogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Thu, 24 Jan 2002 13:57:41 +0000 (13:57 +0000)
src/spells3.c

index ace5a18..dba8dc6 100644 (file)
@@ -2165,6 +2165,42 @@ bool item_tester_hook_weapon_armour(object_type *o_ptr)
 
 
 /*
+ * Check if an object is nameless weapon or armour
+ */
+bool item_tester_hook_nameless_weapon_armour(object_type *o_ptr)
+{
+       if (o_ptr->name1 || o_ptr->art_name || o_ptr->name2 || o_ptr->xtra3)
+               return FALSE;
+
+       switch (o_ptr->tval)
+       {
+               case TV_SWORD:
+               case TV_HAFTED:
+               case TV_POLEARM:
+               case TV_DIGGING:
+               case TV_BOW:
+               case TV_BOLT:
+               case TV_ARROW:
+               case TV_SHOT:
+               case TV_DRAG_ARMOR:
+               case TV_HARD_ARMOR:
+               case TV_SOFT_ARMOR:
+               case TV_SHIELD:
+               case TV_CLOAK:
+               case TV_CROWN:
+               case TV_HELM:
+               case TV_BOOTS:
+               case TV_GLOVES:
+               {
+                       return (TRUE);
+               }
+       }
+
+       return (FALSE);
+}
+
+
+/*
  * Break the curse of an item
  */
 static void break_curse(object_type *o_ptr)
@@ -2409,7 +2445,7 @@ bool artifact_scroll(void)
 
        item_tester_no_ryoute = TRUE;
        /* Enchant weapon/armour */
-       item_tester_hook = item_tester_hook_weapon_armour;
+       item_tester_hook = item_tester_hook_nameless_weapon_armour;
 
        /* Get an item */
 #ifdef JP