* @param i 選択アイテムID
* @return 正規のIDならばTRUEを返す。
*/
-bool get_item_okay(OBJECT_IDX i)
+bool get_item_okay(player_type *owner_ptr, OBJECT_IDX i)
{
/* Illegal items */
if ((i < 0) || (i >= INVEN_TOTAL)) return FALSE;
if (select_ring_slot) return is_ring_slot(i);
/* Verify the item */
- if (!item_tester_okay(&p_ptr->inventory_list[i], item_tester_tval)) return FALSE;
+ if (!item_tester_okay(&owner_ptr->inventory_list[i], item_tester_tval)) return FALSE;
/* Assume okay */
return TRUE;
/* Look up the tag and validate the item */
if (!get_tag(&k, prev_tag, (*cp >= INVEN_RARM) ? USE_EQUIP : USE_INVEN, tval)) /* Reject */;
else if ((k < INVEN_RARM) ? !inven : !equip) /* Reject */;
- else if (!get_item_okay(k)) /* Reject */;
+ else if (!get_item_okay(owner_ptr, k)) /* Reject */;
else
{
/* Accept that choice */
}
/* Verify the item */
- else if (get_item_okay(*cp))
+ else if (get_item_okay(owner_ptr, *cp))
{
/* Forget restrictions */
tval = 0;
if (item_tester_okay(&owner_ptr->inventory_list[j], tval) || (mode & USE_FULL)) max_inven++;
}
- while ((i1 <= i2) && (!get_item_okay(i1))) i1++;
- while ((i1 <= i2) && (!get_item_okay(i2))) i2--;
+ while ((i1 <= i2) && (!get_item_okay(owner_ptr, i1))) i1++;
+ while ((i1 <= i2) && (!get_item_okay(owner_ptr, i2))) i2--;
/* Full equipment */
}
/* Restrict equipment indexes */
- while ((e1 <= e2) && (!get_item_okay(e1))) e1++;
- while ((e1 <= e2) && (!get_item_okay(e2))) e2--;
+ while ((e1 <= e2) && (!get_item_okay(owner_ptr, e1))) e1++;
+ while ((e1 <= e2) && (!get_item_okay(owner_ptr, e2))) e2--;
if (equip && owner_ptr->ryoute && !(mode & IGNORE_BOTHHAND_SLOT))
{
else
{
/* Validate the item */
- if (!get_item_okay(get_item_label))
+ if (!get_item_okay(owner_ptr, get_item_label))
{
bell();
break;
}
/* Validate the item */
- if (!get_item_okay(k))
+ if (!get_item_okay(owner_ptr, k))
{
bell();
break;
}
/* Validate the item */
- if (!get_item_okay(k))
+ if (!get_item_okay(owner_ptr, k))
{
bell();
break;
}
/* Validate the item */
- else if (!get_item_okay(k))
+ else if (!get_item_okay(owner_ptr, k))
{
not_found = TRUE;
}
}
/* Validate the item */
- if (!get_item_okay(k))
+ if (!get_item_okay(owner_ptr, k))
{
bell();
break;
/* Look up the tag and validate the item */
if (!get_tag(&k, prev_tag, (*cp >= INVEN_RARM) ? USE_EQUIP : USE_INVEN, tval)) /* Reject */;
else if ((k < INVEN_RARM) ? !inven : !equip) /* Reject */;
- else if (!get_item_okay(k)) /* Reject */;
+ else if (!get_item_okay(owner_ptr, k)) /* Reject */;
else
{
/* Accept that choice */
}
/* Verify the item */
- else if (get_item_okay(*cp))
+ else if (get_item_okay(owner_ptr, *cp))
{
/* Forget restrictions */
tval = 0;
if (item_tester_okay(&owner_ptr->inventory_list[j], tval) || (mode & USE_FULL)) max_inven++;
}
- while ((i1 <= i2) && (!get_item_okay(i1))) i1++;
- while ((i1 <= i2) && (!get_item_okay(i2))) i2--;
+ while ((i1 <= i2) && (!get_item_okay(owner_ptr, i1))) i1++;
+ while ((i1 <= i2) && (!get_item_okay(owner_ptr, i2))) i2--;
/* Full equipment */
}
/* Restrict equipment indexes */
- while ((e1 <= e2) && (!get_item_okay(e1))) e1++;
- while ((e1 <= e2) && (!get_item_okay(e2))) e2--;
+ while ((e1 <= e2) && (!get_item_okay(owner_ptr, e1))) e1++;
+ while ((e1 <= e2) && (!get_item_okay(owner_ptr, e2))) e2--;
if (equip && owner_ptr->ryoute && !(mode & IGNORE_BOTHHAND_SLOT))
{
else
{
/* Validate the item */
- if (!get_item_okay(get_item_label))
+ if (!get_item_okay(owner_ptr, get_item_label))
{
bell();
break;
}
/* Validate the item */
- if (!get_item_okay(k))
+ if (!get_item_okay(owner_ptr, k))
{
bell();
break;
}
/* Validate the item */
- if (!get_item_okay(k))
+ if (!get_item_okay(owner_ptr, k))
{
bell();
break;
}
/* Validate the item */
- else if (!get_item_okay(k))
+ else if (!get_item_okay(owner_ptr, k))
{
not_found = TRUE;
}
}
/* Validate the item */
- if ((command_wrk != USE_FLOOR) && !get_item_okay(k))
+ if ((command_wrk != USE_FLOOR) && !get_item_okay(owner_ptr, k))
{
bell();
break;