/* Skip non-entries */
if (!k_ptr->name) continue;
- /* Skip entries with flavor */
- if (k_ptr->flavor) continue;
+ if (!k_ptr->flavor)
+ {
+ /* Tidy name */
+ strip_name(o_name, i);
+ }
+ else
+ {
+ object_type forge;
+
+ /* Prepare dummy object */
+ object_prep(&forge, i);
- /* Tidy name */
- strip_name(o_name, i);
+ /* Get un-shuffled flavor name */
+ object_desc(o_name, &forge, OD_FORCE_FLAVOR);
+ }
/* Dump a comment */
auto_dump_printf("# %s\n", o_name);
*/
void do_cmd_feeling(void)
{
- /* Verify the feeling */
- if (feeling > 10) feeling = 10;
-
/* No useful feeling in quests */
if (p_ptr->inside_quest && !random_quest_number(dun_level))
{
}
/* Display the feeling */
- if (turn - old_turn >= (150 - dun_level)*TURNS_PER_TICK || cheat_xtra)
- {
- if (p_ptr->muta3 & MUT3_GOOD_LUCK) msg_print(do_cmd_feeling_text_lucky[feeling]);
- else {
- if((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON)){
- msg_print(do_cmd_feeling_text_combat[feeling]);
- }else
- msg_print(do_cmd_feeling_text[feeling]);
- }
- }
+ if (p_ptr->muta3 & MUT3_GOOD_LUCK)
+ msg_print(do_cmd_feeling_text_lucky[p_ptr->feeling]);
+ else if (p_ptr->pseikaku == SEIKAKU_COMBAT ||
+ inventory[INVEN_BOW].name1 == ART_CRIMSON)
+ msg_print(do_cmd_feeling_text_combat[p_ptr->feeling]);
else
- {
- msg_print(do_cmd_feeling_text[0]);
- }
+ msg_print(do_cmd_feeling_text[p_ptr->feeling]);
}
if (mode & 0x02)
{
- if (k_ptr->flavor) continue;
+ /* Any objects will be displayed */
}
else
{
if (s_ptr->slevel >= 99) continue;
spell_exp = p_ptr->spell_exp[i];
exp_level = spell_exp_level(spell_exp);
- fprintf(fff, "%-25s ", do_spell(spell_id_from(p_ptr->realm1, i), SPELL_NAME));
+ fprintf(fff, "%-25s ", do_spell(p_ptr->realm1, i, SPELL_NAME));
if (p_ptr->realm1 == REALM_HISSATSU)
fprintf(fff, "[--]");
else
spell_exp = p_ptr->spell_exp[i + 32];
exp_level = spell_exp_level(spell_exp);
- fprintf(fff, "%-25s ", do_spell(spell_id_from(p_ptr->realm2, i), SPELL_NAME));
+ fprintf(fff, "%-25s ", do_spell(p_ptr->realm2, i, SPELL_NAME));
if (exp_level >= EXP_LEVEL_EXPERT) fprintf(fff, "!");
else fprintf(fff, " ");
fprintf(fff, "%s", exp_level_str[exp_level]);
{
char o_name[80];
byte a, c;
+ object_kind *flavor_k_ptr;
/* Get the object index */
int k_idx = object_idx[object_top + i];
byte attr = ((k_ptr->aware || visual_only) ? TERM_WHITE : TERM_SLATE);
byte cursor = ((k_ptr->aware || visual_only) ? TERM_L_BLUE : TERM_BLUE);
+
+ if (k_ptr->flavor)
+ {
+ /* Appearance of this object is shuffled */
+ flavor_k_ptr = &k_info[k_ptr->flavor];
+ }
+ else
+ {
+ /* Appearance of this object is very normal */
+ flavor_k_ptr = k_ptr;
+ }
+
+
+
attr = ((i + object_top == object_cur) ? cursor : attr);
- /* Tidy name */
- strip_name(o_name, k_idx);
+ if (!k_ptr->flavor || k_ptr->aware)
+ {
+ /* Tidy name */
+ strip_name(o_name, k_idx);
+ }
+ else
+ {
+ /* Flavor name */
+ strcpy(o_name, k_name + flavor_k_ptr->flavor_name);
+ }
/* Display the name */
c_prt(attr, o_name, row + i, col);
/* Hack -- visual_list mode */
if (per_page == 1)
{
- c_prt(attr, format("%02x/%02x", k_ptr->x_attr, k_ptr->x_char), row + i, (p_ptr->wizard || visual_only) ? 64 : 68);
+ c_prt(attr, format("%02x/%02x", flavor_k_ptr->x_attr, flavor_k_ptr->x_char), row + i, (p_ptr->wizard || visual_only) ? 64 : 68);
}
if (p_ptr->wizard || visual_only)
{
c_prt(attr, format("%d", k_idx), row + i, 70);
}
- a = k_ptr->flavor ? misc_to_attr[k_ptr->flavor] : k_ptr->x_attr;
- c = k_ptr->flavor ? misc_to_char[k_ptr->flavor] : k_ptr->x_char;
-
- /* Symbol is unknown */
- if (!k_ptr->aware && !p_ptr->wizard)
- {
- c = ' ';
- a = TERM_DARK;
- }
+ a = flavor_k_ptr->x_attr;
+ c = flavor_k_ptr->x_char;
/* Display symbol */
Term_queue_bigchar(use_bigtile ? 76 : 77, row + i, a, c, 0, 0);
}
else
{
+ object_kind *k_ptr = &k_info[direct_k_idx];
+ object_kind *flavor_k_ptr;
+
+ if (k_ptr->flavor)
+ {
+ /* Appearance of this object is shuffled */
+ flavor_k_ptr = &k_info[k_ptr->flavor];
+ }
+ else
+ {
+ /* Appearance of this object is very normal */
+ flavor_k_ptr = k_ptr;
+ }
+
object_idx[0] = direct_k_idx;
object_old = direct_k_idx;
object_cnt = 1;
object_idx[1] = -1;
(void)visual_mode_command('v', &visual_list, browser_rows - 1, wid - (max + 3),
- &attr_top, &char_left, &k_info[direct_k_idx].x_attr, &k_info[direct_k_idx].x_char, need_redraw);
+ &attr_top, &char_left, &flavor_k_ptr->x_attr, &flavor_k_ptr->x_char, need_redraw);
}
/* Terminate the list */
while (!flag)
{
char ch;
- object_kind *k_ptr;
+ object_kind *k_ptr, *flavor_k_ptr;
if (redraw)
{
/* Get the current object */
k_ptr = &k_info[object_idx[object_cur]];
+ if (k_ptr->flavor)
+ {
+ /* Appearance of this object is shuffled */
+ flavor_k_ptr = &k_info[k_ptr->flavor];
+ }
+ else
+ {
+ /* Appearance of this object is very normal */
+ flavor_k_ptr = k_ptr;
+ }
+
/* Prompt */
#ifdef JP
prt(format("<Êý¸þ>%s%s%s, ESC",
(!visual_list && !visual_only) ? ", 'r'¤Ç¾ÜºÙ¤ò¸«¤ë" : "",
- k_ptr->flavor ? "" : visual_list ? ", ENTER¤Ç·èÄê" : ", 'v'¤Ç¥·¥ó¥Ü¥ëÊѹ¹",
+ visual_list ? ", ENTER¤Ç·èÄê" : ", 'v'¤Ç¥·¥ó¥Ü¥ëÊѹ¹",
(attr_idx || char_idx) ? ", 'c', 'p'¤Ç¥Ú¡¼¥¹¥È" : ", 'c'¤Ç¥³¥Ô¡¼"),
hgt - 1, 0);
#else
prt(format("<dir>%s%s%s, ESC",
(!visual_list && !visual_only) ? ", 'r' to recall" : "",
- k_ptr->flavor ? "" : visual_list ? ", ENTER to accept" : ", 'v' for visuals",
+ visual_list ? ", ENTER to accept" : ", 'v' for visuals",
(attr_idx || char_idx) ? ", 'c', 'p' to paste" : ", 'c' to copy"),
hgt - 1, 0);
#endif
if (visual_list)
{
- place_visual_list_cursor(max + 3, 7, k_ptr->x_attr, k_ptr->x_char, attr_top, char_left);
+ place_visual_list_cursor(max + 3, 7, flavor_k_ptr->x_attr, flavor_k_ptr->x_char, attr_top, char_left);
}
else if (!column)
{
ch = inkey();
/* Do visual mode command if needed */
- /* Symbol of objects with flavor cannot be changed */
- if (!k_ptr->flavor && visual_mode_command(ch, &visual_list, browser_rows-1, wid - (max + 3), &attr_top, &char_left, &k_ptr->x_attr, &k_ptr->x_char, need_redraw))
+ if (visual_mode_command(ch, &visual_list, browser_rows-1, wid - (max + 3), &attr_top, &char_left, &flavor_k_ptr->x_attr, &flavor_k_ptr->x_char, need_redraw))
{
if (direct_k_idx >= 0)
{