continue;
}
} else if (grp_riding) {
- if (none_bits(monrace.flags7, RF7_RIDING)) {
+ if (monrace.misc_flags.has_not(MonsterMiscType::RIDING)) {
continue;
}
} else if (grp_wanted) {
byte char_left = 0;
monster_lore_mode mode;
const int browser_rows = hgt - 8;
- if (!direct_r_idx.has_value()) {
+ if (!direct_r_idx) {
mode = visual_only ? MONSTER_LORE_DEBUG : MONSTER_LORE_NORMAL;
int len;
for (IDX i = 0; monster_group_text[i] != nullptr; i++) {
}
}
} else {
- r_idx_list.push_back(direct_r_idx.value());
-
- (void)visual_mode_command('v', &visual_list, browser_rows - 1, wid - (max + 3), &attr_top, &char_left, &monraces_info[direct_r_idx.value()].x_attr,
- &monraces_info[direct_r_idx.value()].x_char, need_redraw);
+ r_idx_list.push_back(*direct_r_idx);
+ auto &monrace = monraces_info[*direct_r_idx];
+ (void)visual_mode_command('v', &visual_list, browser_rows - 1, wid - (max + 3),
+ &attr_top, &char_left, &monrace.x_attr, &monrace.x_char, need_redraw);
}
grp_idx.push_back(-1); // Sentinel
if (redraw) {
clear_from(0);
prt(format(_("%s - モンスター", "%s - monsters"), !visual_only ? _("知識", "Knowledge") : _("表示", "Visuals")), 2, 0);
- if (!direct_r_idx.has_value()) {
+ if (!direct_r_idx) {
prt(_("グループ", "Group"), 4, 0);
}
prt(_("名前", "Name"), 4, max + 3);
term_putch(i, 5, TERM_WHITE, '=');
}
- if (!direct_r_idx.has_value()) {
+ if (!direct_r_idx) {
for (IDX i = 0; i < browser_rows; i++) {
term_putch(max + 1, 6 + i, TERM_WHITE, '|');
}
redraw = false;
}
- if (!direct_r_idx.has_value()) {
+ if (!direct_r_idx) {
if (grp_cur < grp_top) {
grp_top = grp_cur;
}
char ch = inkey();
if (visual_mode_command(ch, &visual_list, browser_rows - 1, wid - (max + 3), &attr_top, &char_left, attr_ptr, char_ptr, need_redraw)) {
- if (direct_r_idx.has_value()) {
+ if (direct_r_idx) {
switch (ch) {
case '\n':
case '\r':