}
screen_load();
- const auto is_selected = choice.has_value();
- if (is_selected) {
- auto n = this->casting_spells[A2I(choice.value())];
+ if (choice) {
+ auto n = this->casting_spells[A2I(*choice)];
exe_spell(this->player_ptr, REALM_HEX, n, SpellProcessType::STOP);
this->reset_casting_flag(i2enum<spell_hex_type>(n));
}
MainWindowRedrawingFlag::MP,
};
rfu.set_flags(flags_mwrf);
- return is_selected;
+ return choice.has_value();
}
/*!
while (true) {
this->display_casting_spells_list();
const auto choice_opt = input_command(prompt, true);
- if (!choice_opt.has_value()) {
+ if (!choice_opt) {
return { false, std::nullopt };
}
- auto choice = choice_opt.value();
+ auto choice = *choice_opt;
if (isupper(choice)) {
choice = static_cast<char>(tolower(choice));
}
bool SpellHex::check_hex_barrier(MONSTER_IDX m_idx, spell_hex_type type) const
{
const auto *m_ptr = &this->player_ptr->current_floor_ptr->m_list[m_idx];
- const auto *r_ptr = &monraces_info[m_ptr->r_idx];
+ const auto *r_ptr = &m_ptr->get_monrace();
return this->is_spelling_specific(type) && ((this->player_ptr->lev * 3 / 2) >= randint1(r_ptr->level));
}