}
case ART_AVAVIR:
case ART_MAGATAMA:
+ case ART_HEAVENLY_MAIDEN:
{
#ifdef JP
return "µ¢´Ô¤Î¾Û : 200 ¥¿¡¼¥óËè";
}
case ART_BRAND:
+ case ART_HELLFIRE:
{
#ifdef JP
return "¿ÏÀè¤Î¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È : 999 ¥¿¡¼¥óËè";
#endif
}
+ case ART_AESCULAPIUS:
+ {
+#ifdef JP
+ return "Á´¥¹¥Æ¡¼¥¿¥¹¤È·Ð¸³ÃÍÉü³è : 750 ¥¿¡¼¥óËè";
+#else
+ return "restore stats and life levels every 750 turns";
+#endif
+ }
}
u32b flgs[TR_FLAG_SIZE];
+ char temp[70 * 20];
cptr info[128];
char o_name[MAX_NLEN];
int wid, hgt;
/* Extract the description */
{
- char temp[70 * 20];
-
roff_to_buf(o_ptr->name1 ? (a_text + a_info[o_ptr->name1].text) :
(k_text + k_info[o_ptr->k_idx].text),
77 - 15, temp, sizeof(temp));
info[i++] = "It provides no light.";
#endif
- if (o_ptr->sval == SV_LITE_FEANOR ||
- o_ptr->sval == SV_LITE_LANTERN)
+ if (o_ptr->sval == SV_LITE_FEANOR)
+ {
+#ifdef JP
+ info[i++] = "¤½¤ì¤ÏÌÀ¤«¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-3)¡£";
+#else
+ info[i++] = "It decreases radius of light source by 3.";
+#endif
+ }
+ else if (o_ptr->sval == SV_LITE_LANTERN)
{
#ifdef JP
- info[i++] = "¤½¤ì¤ÏÌÀ¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-2)¡£";
+ info[i++] = "¤½¤ì¤ÏÌÀ¤«¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-2)¡£";
#else
info[i++] = "It decreases radius of light source by 2.";
#endif
else
{
#ifdef JP
- info[i++] = "¤½¤ì¤ÏÌÀ¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-1)¡£";
+ info[i++] = "¤½¤ì¤ÏÌÀ¤«¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-1)¡£";
#else
info[i++] = "It decreases radius of light source by 1.";
#endif
if (!o_ptr->k_idx) return (FALSE);
/* Hack -- ignore "gold" */
- if (o_ptr->tval == TV_GOLD) return (FALSE);
+ if (o_ptr->tval == TV_GOLD)
+ {
+ /* See xtra2.c */
+ extern bool show_gold_on_floor;
+
+ if (!show_gold_on_floor) return (FALSE);
+ }
/* Check the tval */
if (item_tester_tval)
Term_erase(3+n, i, 255);
/* Display the weight if needed */
- if (show_weights && o_ptr->weight)
+ if (show_weights)
{
int wgt = o_ptr->weight * o_ptr->number;
#ifdef JP
Term_erase(3+n, i - INVEN_RARM, 255);
/* Display the weight (if needed) */
- if (show_weights && o_ptr->weight)
+ if (show_weights)
{
int wgt = o_ptr->weight * o_ptr->number;
#ifdef JP
int max_inven = 0;
int max_equip = 0;
+#ifdef ALLOW_REPEAT
+
+ static char prev_tag = '\0';
+ char cur_tag = '\0';
+
+#endif /* ALLOW_REPEAT */
+
#ifdef ALLOW_EASY_FLOOR /* TNB */
if (easy_floor || use_menu) return get_item_floor(cp, pmt, str, mode);
/* Validate the item */
if (item_tester_okay(o_ptr))
{
- /* Forget the item_tester_tval restriction */
+ /* Forget restrictions */
item_tester_tval = 0;
-
- /* Forget the item_tester_hook restriction */
item_tester_hook = NULL;
-
command_cmd = 0; /* Hack -- command_cmd is no longer effective */
/* Success */
- return (TRUE);
+ return TRUE;
}
}
else if ((inven && (*cp >= 0) && (*cp < INVEN_PACK)) ||
(equip && (*cp >= INVEN_RARM) && (*cp < INVEN_TOTAL)))
{
+ if (prev_tag && command_cmd)
+ {
+ /* Look up the tag and validate the item */
+ if (!get_tag(&k, prev_tag, (*cp >= INVEN_RARM) ? USE_EQUIP : USE_INVEN)) /* Reject */;
+ else if ((k < INVEN_RARM) ? !inven : !equip) /* Reject */;
+ else if (!get_item_okay(k)) /* Reject */;
+ else
+ {
+ /* Accept that choice */
+ (*cp) = k;
+
+ /* Forget restrictions */
+ item_tester_tval = 0;
+ item_tester_hook = NULL;
+ command_cmd = 0; /* Hack -- command_cmd is no longer effective */
+
+ /* Success */
+ return TRUE;
+ }
+
+ prev_tag = '\0'; /* prev_tag is no longer effective */
+ }
+
/* Verify the item */
- if (get_item_okay(*cp))
+ else if (get_item_okay(*cp))
{
- /* Forget the item_tester_tval restriction */
+ /* Forget restrictions */
item_tester_tval = 0;
-
- /* Forget the item_tester_hook restriction */
item_tester_hook = NULL;
-
command_cmd = 0; /* Hack -- command_cmd is no longer effective */
/* Success */
- return (TRUE);
+ return TRUE;
}
}
}
(*cp) = k;
item = TRUE;
done = TRUE;
+#ifdef ALLOW_REPEAT
+ cur_tag = which;
+#endif /* ALLOW_REPEAT */
break;
}
(*cp) = k;
item = TRUE;
done = TRUE;
+#ifdef ALLOW_REPEAT
+ cur_tag = which;
+#endif /* ALLOW_REPEAT */
break;
}
{
#ifdef ALLOW_REPEAT
repeat_push(*cp);
+ if (command_cmd) prev_tag = cur_tag;
#endif /* ALLOW_REPEAT */
command_cmd = 0; /* Hack -- command_cmd is no longer effective */
int wid, hgt;
char floor_label[52 + 1];
+ bool dont_need_to_show_weights = TRUE;
+
/* Get size */
Term_get_size(&wid, &hgt);
/* Be sure to account for the weight */
if (show_weights) l += 9;
+ if (o_ptr->tval != TV_GOLD) dont_need_to_show_weights = FALSE;
+
/* Maintain the maximum length */
if (l > len) len = l;
k++;
}
+ if (show_weights && dont_need_to_show_weights) len -= 9;
+
/* Save width */
*min_width = len;
c_put_str(out_color[j], out_desc[j], j + 1, col + 3);
/* Display the weight if needed */
- if (show_weights)
+ if (show_weights && (o_ptr->tval != TV_GOLD))
{
int wgt = o_ptr->weight * o_ptr->number;
#ifdef JP
#ifdef ALLOW_REPEAT
+ static char prev_tag = '\0';
+ char cur_tag = '\0';
+
/* Get the item index */
if (repeat_pull(cp))
{
/* Floor item? */
else if (floor && (*cp < 0))
{
- object_type *o_ptr;
+ if (prev_tag && command_cmd)
+ {
+ /* Scan all objects in the grid */
+ floor_num = scan_floor(floor_list, py, px, 0x03);
- /* Special index */
- k = 0 - (*cp);
+ /* Look up the tag */
+ if (get_tag_floor(&k, prev_tag, floor_list, floor_num))
+ {
+ /* Accept that choice */
+ (*cp) = 0 - floor_list[k];
- /* Acquire object */
- o_ptr = &o_list[k];
+ /* Forget restrictions */
+ item_tester_tval = 0;
+ item_tester_hook = NULL;
+ command_cmd = 0; /* Hack -- command_cmd is no longer effective */
+
+ /* Success */
+ return TRUE;
+ }
+
+ prev_tag = '\0'; /* prev_tag is no longer effective */
+ }
/* Validate the item */
- if (item_tester_okay(o_ptr))
+ else if (item_tester_okay(&o_list[0 - (*cp)]))
{
- /* Forget the item_tester_tval restriction */
+ /* Forget restrictions */
item_tester_tval = 0;
-
- /* Forget the item_tester_hook restriction */
item_tester_hook = NULL;
-
command_cmd = 0; /* Hack -- command_cmd is no longer effective */
/* Success */
- return (TRUE);
+ return TRUE;
}
}
else if ((inven && (*cp >= 0) && (*cp < INVEN_PACK)) ||
(equip && (*cp >= INVEN_RARM) && (*cp < INVEN_TOTAL)))
{
+ if (prev_tag && command_cmd)
+ {
+ /* Look up the tag and validate the item */
+ if (!get_tag(&k, prev_tag, (*cp >= INVEN_RARM) ? USE_EQUIP : USE_INVEN)) /* Reject */;
+ else if ((k < INVEN_RARM) ? !inven : !equip) /* Reject */;
+ else if (!get_item_okay(k)) /* Reject */;
+ else
+ {
+ /* Accept that choice */
+ (*cp) = k;
+
+ /* Forget restrictions */
+ item_tester_tval = 0;
+ item_tester_hook = NULL;
+ command_cmd = 0; /* Hack -- command_cmd is no longer effective */
+
+ /* Success */
+ return TRUE;
+ }
+
+ prev_tag = '\0'; /* prev_tag is no longer effective */
+ }
+
/* Verify the item */
- if (get_item_okay(*cp))
+ else if (get_item_okay(*cp))
{
- /* Forget the item_tester_tval restriction */
+ /* Forget restrictions */
item_tester_tval = 0;
-
- /* Forget the item_tester_hook restriction */
item_tester_hook = NULL;
-
command_cmd = 0; /* Hack -- command_cmd is no longer effective */
/* Success */
- return (TRUE);
+ return TRUE;
}
}
}
(*cp) = k;
item = TRUE;
done = TRUE;
+#ifdef ALLOW_REPEAT
+ cur_tag = which;
+#endif /* ALLOW_REPEAT */
break;
}
(*cp) = k;
item = TRUE;
done = TRUE;
+#ifdef ALLOW_REPEAT
+ cur_tag = which;
+#endif /* ALLOW_REPEAT */
break;
}
}
(*cp) = k;
item = TRUE;
done = TRUE;
+#ifdef ALLOW_REPEAT
+ cur_tag = which;
+#endif /* ALLOW_REPEAT */
break;
}
}
{
#ifdef ALLOW_REPEAT
repeat_push(*cp);
+ if (command_cmd) prev_tag = cur_tag;
#endif /* ALLOW_REPEAT */
command_cmd = 0; /* Hack -- command_cmd is no longer effective */