From 81b8ace18ef11ae3af8b61b8e77027dc31504d17 Mon Sep 17 00:00:00 2001 From: Slimebreath6078 Date: Sun, 28 Jan 2024 20:20:48 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20QUESTOR=20=E3=82=92=E6=96=B0?= =?utf8?q?=E5=AE=9A=E7=BE=A9=E3=81=AB=E5=90=88=E3=82=8F=E3=81=9B=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/action/mutation-execution.cpp | 2 +- src/birth/game-play-initializer.cpp | 2 +- src/dungeon/dungeon-processor.cpp | 4 ++-- src/dungeon/quest.cpp | 4 ++-- src/effect/effect-monster-charm.cpp | 6 +++--- src/effect/effect-monster-oldies.cpp | 4 ++-- src/effect/effect-monster.cpp | 4 ++-- src/floor/fixed-map-generator.cpp | 2 +- src/knowledge/knowledge-uniques.cpp | 2 +- src/load/dungeon-loader.cpp | 2 +- src/load/quest-loader.cpp | 2 +- src/lore/monster-lore.cpp | 4 ++-- src/melee/melee-postprocess.cpp | 2 +- src/mind/mind-cavalry.cpp | 2 +- src/monster-floor/monster-death.cpp | 2 +- src/monster-floor/one-monster-placer.cpp | 2 +- src/monster-floor/quantum-effect.cpp | 2 +- src/monster/monster-compaction.cpp | 2 +- src/monster/monster-util.cpp | 2 +- src/mspell/mspell-floor.cpp | 2 +- src/player-attack/attack-chaos-effect.cpp | 2 +- src/spell-kind/earthquake.cpp | 2 +- src/spell-kind/spells-floor.cpp | 2 +- src/spell-kind/spells-genocide.cpp | 2 +- src/spell-kind/spells-polymorph.cpp | 2 +- src/spell-kind/spells-world.cpp | 2 +- src/spell/spells-diceroll.cpp | 4 ++-- src/view/display-lore.cpp | 2 +- src/world/world-movement-processor.cpp | 2 +- 29 files changed, 37 insertions(+), 37 deletions(-) diff --git a/src/action/mutation-execution.cpp b/src/action/mutation-execution.cpp index a199aa7e3..2aef5578b 100644 --- a/src/action/mutation-execution.cpp +++ b/src/action/mutation-execution.cpp @@ -257,7 +257,7 @@ bool exe_mutation_power(PlayerType *player_ptr, PlayerMutationType power) auto &monster = floor.m_list[grid.m_idx]; const auto &monrace = monster.get_monrace(); auto can_banish = monrace.kind_flags.has(MonsterKindType::EVIL); - can_banish &= none_bits(monrace.flags1, RF1_QUESTOR); + can_banish &= monrace.misc_flags.has_not(MonsterMiscType::QUESTOR); can_banish &= monrace.kind_flags.has_not(MonsterKindType::UNIQUE); can_banish &= !floor.inside_arena; can_banish &= !floor.is_in_quest(); diff --git a/src/birth/game-play-initializer.cpp b/src/birth/game-play-initializer.cpp index 10100b838..33ee8f71a 100644 --- a/src/birth/game-play-initializer.cpp +++ b/src/birth/game-play-initializer.cpp @@ -183,7 +183,7 @@ void init_dungeon_quests(PlayerType *player_ptr) q_ptr->status = QuestStatusType::TAKEN; determine_random_questor(player_ptr, q_ptr); quest_r_ptr = &monraces_info[q_ptr->r_idx]; - quest_r_ptr->flags1 |= RF1_QUESTOR; + quest_r_ptr->misc_flags.set(MonsterMiscType::QUESTOR); q_ptr->max_num = 1; } diff --git a/src/dungeon/dungeon-processor.cpp b/src/dungeon/dungeon-processor.cpp index c81d39950..c09e3482f 100644 --- a/src/dungeon/dungeon-processor.cpp +++ b/src/dungeon/dungeon-processor.cpp @@ -121,7 +121,7 @@ void process_dungeon(PlayerType *player_ptr, bool load_game) const auto &quest_list = QuestList::get_instance(); auto *questor_ptr = &monraces_info[quest_list[quest_num].r_idx]; if (inside_quest(quest_num)) { - set_bits(questor_ptr->flags1, RF1_QUESTOR); + questor_ptr->misc_flags.set(MonsterMiscType::QUESTOR); } if (player_ptr->max_plv < player_ptr->lev) { @@ -287,7 +287,7 @@ void process_dungeon(PlayerType *player_ptr, bool load_game) } if ((inside_quest(quest_num)) && questor_ptr->kind_flags.has_not(MonsterKindType::UNIQUE)) { - reset_bits(questor_ptr->flags1, RF1_QUESTOR); + questor_ptr->misc_flags.reset(MonsterMiscType::QUESTOR); } if (player_ptr->playing && !player_ptr->is_dead) { diff --git a/src/dungeon/quest.cpp b/src/dungeon/quest.cpp index 0acd582d0..3f86ecf2c 100644 --- a/src/dungeon/quest.cpp +++ b/src/dungeon/quest.cpp @@ -195,7 +195,7 @@ void determine_random_questor(PlayerType *player_ptr, QuestType *q_ptr) continue; } - if (monrace.flags1 & RF1_QUESTOR) { + if (monrace.misc_flags.has(MonsterMiscType::QUESTOR)) { continue; } @@ -370,7 +370,7 @@ void leave_quest_check(PlayerType *player_ptr) q_ptr->get_reward().gen_flags.reset(ItemGenerationTraitType::QUESTITEM); break; case QuestKindType::RANDOM: - monraces_info[q_ptr->r_idx].flags1 &= ~(RF1_QUESTOR); + monraces_info[q_ptr->r_idx].misc_flags.reset(MonsterMiscType::QUESTOR); prepare_change_floor_mode(player_ptr, CFM_NO_RETURN); break; default: diff --git a/src/effect/effect-monster-charm.cpp b/src/effect/effect-monster-charm.cpp index 2bbc19a00..92770d216 100644 --- a/src/effect/effect-monster-charm.cpp +++ b/src/effect/effect-monster-charm.cpp @@ -298,7 +298,7 @@ ProcessResult effect_monster_domination(PlayerType *player_ptr, EffectMonster *e } const auto is_unique = em_ptr->r_ptr->kind_flags.has(MonsterKindType::UNIQUE); - const auto is_questor = any_bits(em_ptr->r_ptr->flags1, RF1_QUESTOR); + const auto is_questor = em_ptr->r_ptr->misc_flags.has(MonsterMiscType::QUESTOR); const auto is_no_confusion = em_ptr->r_ptr->resistance_flags.has(MonsterResistanceType::NO_CONF); if (is_unique || is_questor || is_no_confusion || (em_ptr->r_ptr->level > randint1((em_ptr->dam - 10) < 1 ? 1 : (em_ptr->dam - 10)) + 10)) { if ((em_ptr->r_ptr->resistance_flags.has(MonsterResistanceType::NO_CONF)) && is_original_ap_and_seen(player_ptr, em_ptr->m_ptr)) { @@ -342,7 +342,7 @@ static bool effect_monster_crusade_domination(PlayerType *player_ptr, EffectMons return true; } - bool failed = any_bits(em_ptr->r_ptr->flags1, RF1_QUESTOR); + bool failed = em_ptr->r_ptr->misc_flags.has(MonsterMiscType::QUESTOR); failed |= em_ptr->r_ptr->kind_flags.has(MonsterKindType::UNIQUE); failed |= em_ptr->m_ptr->mflag2.has(MonsterConstantFlagType::NOPET); failed |= has_aggravate(player_ptr); @@ -450,7 +450,7 @@ ProcessResult effect_monster_capture(PlayerType *player_ptr, EffectMonster *em_p auto cannot_capture = quest_monster; cannot_capture |= em_ptr->r_ptr->kind_flags.has(MonsterKindType::UNIQUE); - cannot_capture |= any_bits(em_ptr->r_ptr->flags1, RF1_QUESTOR); + cannot_capture |= em_ptr->r_ptr->misc_flags.has(MonsterMiscType::QUESTOR); cannot_capture |= em_ptr->r_ptr->population_flags.has(MonsterPopulationType::NAZGUL); cannot_capture |= em_ptr->r_ptr->population_flags.has(MonsterPopulationType::ONLY_ONE); cannot_capture |= (em_ptr->m_ptr->parent_m_idx != 0); diff --git a/src/effect/effect-monster-oldies.cpp b/src/effect/effect-monster-oldies.cpp index e07838da0..d59f8d4de 100644 --- a/src/effect/effect-monster-oldies.cpp +++ b/src/effect/effect-monster-oldies.cpp @@ -28,7 +28,7 @@ ProcessResult effect_monster_old_poly(EffectMonster *em_ptr) em_ptr->do_polymorph = true; bool has_resistance = em_ptr->r_ptr->kind_flags.has(MonsterKindType::UNIQUE); - has_resistance |= any_bits(em_ptr->r_ptr->flags1, RF1_QUESTOR); + has_resistance |= em_ptr->r_ptr->misc_flags.has(MonsterMiscType::QUESTOR); has_resistance |= (em_ptr->r_ptr->level > randint1(std::max(1, em_ptr->dam - 10)) + 10); if (has_resistance) { @@ -50,7 +50,7 @@ ProcessResult effect_monster_old_clone(PlayerType *player_ptr, EffectMonster *em auto has_resistance = (player_ptr->current_floor_ptr->inside_arena); has_resistance |= em_ptr->m_ptr->is_pet(); has_resistance |= em_ptr->r_ptr->kind_flags.has(MonsterKindType::UNIQUE); - has_resistance |= any_bits(em_ptr->r_ptr->flags1, RF1_QUESTOR); + has_resistance |= em_ptr->r_ptr->misc_flags.has(MonsterMiscType::QUESTOR); has_resistance |= em_ptr->r_ptr->population_flags.has_any_of({ MonsterPopulationType::NAZGUL, MonsterPopulationType::ONLY_ONE }); if (has_resistance) { diff --git a/src/effect/effect-monster.cpp b/src/effect/effect-monster.cpp index 84c196850..82dcd1d5c 100644 --- a/src/effect/effect-monster.cpp +++ b/src/effect/effect-monster.cpp @@ -388,14 +388,14 @@ static void affected_monster_prevents_bad_status(PlayerType *player_ptr, EffectM { const auto *r_ptr = em_ptr->r_ptr; auto can_avoid_polymorph = r_ptr->kind_flags.has(MonsterKindType::UNIQUE); - can_avoid_polymorph |= any_bits(r_ptr->flags1, RF1_QUESTOR); + can_avoid_polymorph |= r_ptr->misc_flags.has(MonsterMiscType::QUESTOR); can_avoid_polymorph |= (player_ptr->riding != 0) && (em_ptr->g_ptr->m_idx == player_ptr->riding); if (can_avoid_polymorph) { em_ptr->do_polymorph = false; } auto should_alive = r_ptr->kind_flags.has(MonsterKindType::UNIQUE); - should_alive |= any_bits(r_ptr->flags1, RF1_QUESTOR); + should_alive |= r_ptr->misc_flags.has(MonsterMiscType::QUESTOR); should_alive |= r_ptr->population_flags.has(MonsterPopulationType::NAZGUL); if (should_alive && !AngbandSystem::get_instance().is_phase_out() && (em_ptr->who > 0) && (em_ptr->dam > em_ptr->m_ptr->hp)) { em_ptr->dam = em_ptr->m_ptr->hp; diff --git a/src/floor/fixed-map-generator.cpp b/src/floor/fixed-map-generator.cpp index 2017859e0..ee57e0d22 100644 --- a/src/floor/fixed-map-generator.cpp +++ b/src/floor/fixed-map-generator.cpp @@ -229,7 +229,7 @@ static bool parse_qtw_QQ(QuestType *q_ptr, char **zz, int num) auto &r_ref = monraces_info[q_ptr->r_idx]; if (r_ref.kind_flags.has(MonsterKindType::UNIQUE)) { - r_ref.flags1 |= RF1_QUESTOR; + r_ref.misc_flags.set(MonsterMiscType::QUESTOR); } if (a_idx == FixedArtifactId::NONE) { diff --git a/src/knowledge/knowledge-uniques.cpp b/src/knowledge/knowledge-uniques.cpp index 8ce65b40a..04b09738a 100644 --- a/src/knowledge/knowledge-uniques.cpp +++ b/src/knowledge/knowledge-uniques.cpp @@ -52,7 +52,7 @@ static bool sweep_uniques(MonsterRaceInfo *r_ptr, bool is_alive) return false; } - bool is_except_arena = is_alive ? (r_ptr->rarity > 100) && ((r_ptr->flags1 & RF1_QUESTOR) == 0) : false; + bool is_except_arena = is_alive ? (r_ptr->rarity > 100) && (r_ptr->misc_flags.has_not(MonsterMiscType::QUESTOR)) : false; if (!r_ptr->rarity || is_except_arena) { return false; } diff --git a/src/load/dungeon-loader.cpp b/src/load/dungeon-loader.cpp index 106a44f7c..cd34fe98d 100644 --- a/src/load/dungeon-loader.cpp +++ b/src/load/dungeon-loader.cpp @@ -138,7 +138,7 @@ errr restore_dungeon(PlayerType *player_ptr) if (player_ptr->is_dead) { const auto &quest_list = QuestList::get_instance(); for (auto q_idx : EnumRange(QuestId::RANDOM_QUEST1, QuestId::RANDOM_QUEST10)) { - reset_bits(monraces_info[quest_list[q_idx].r_idx].flags1, RF1_QUESTOR); + monraces_info[quest_list[q_idx].r_idx].misc_flags.reset(MonsterMiscType::QUESTOR); } return 0; diff --git a/src/load/quest-loader.cpp b/src/load/quest-loader.cpp index 8b82dd2a1..566b1f6af 100644 --- a/src/load/quest-loader.cpp +++ b/src/load/quest-loader.cpp @@ -180,7 +180,7 @@ void analyze_quests(PlayerType *player_ptr, const uint16_t max_quests_load, cons if (q_ptr->status == QuestStatusType::TAKEN || q_ptr->status == QuestStatusType::UNTAKEN) { if (monraces_info[q_ptr->r_idx].kind_flags.has(MonsterKindType::UNIQUE)) { - monraces_info[q_ptr->r_idx].flags1 |= RF1_QUESTOR; + monraces_info[q_ptr->r_idx].misc_flags.set(MonsterMiscType::QUESTOR); } } } diff --git a/src/lore/monster-lore.cpp b/src/lore/monster-lore.cpp index 471c9f7a7..78309f666 100644 --- a/src/lore/monster-lore.cpp +++ b/src/lore/monster-lore.cpp @@ -44,8 +44,8 @@ static void set_flags1(lore_type *lore_ptr) lore_ptr->kind_flags.set(MonsterKindType::UNIQUE); } - if (lore_ptr->r_ptr->flags1 & RF1_QUESTOR) { - lore_ptr->flags1 |= (RF1_QUESTOR); + if (lore_ptr->r_ptr->misc_flags.has(MonsterMiscType::QUESTOR)) { + lore_ptr->misc_flags.set(MonsterMiscType::QUESTOR); } if (lore_ptr->r_ptr->misc_flags.has(MonsterMiscType::HAS_FRIENDS)) { diff --git a/src/melee/melee-postprocess.cpp b/src/melee/melee-postprocess.cpp index e54089025..10e79c93e 100644 --- a/src/melee/melee-postprocess.cpp +++ b/src/melee/melee-postprocess.cpp @@ -192,7 +192,7 @@ static bool check_monster_hp(PlayerType *player_ptr, mam_pp_type *mam_pp_ptr) } auto is_like_unique = monrace.kind_flags.has(MonsterKindType::UNIQUE); - is_like_unique |= any_bits(monrace.flags1, RF1_QUESTOR); + is_like_unique |= monrace.misc_flags.has(MonsterMiscType::QUESTOR); is_like_unique |= monrace.population_flags.has(MonsterPopulationType::NAZGUL); if (is_like_unique && !AngbandSystem::get_instance().is_phase_out()) { mam_pp_ptr->m_ptr->hp = 1; diff --git a/src/mind/mind-cavalry.cpp b/src/mind/mind-cavalry.cpp index 8e79a38e9..3fa05931e 100644 --- a/src/mind/mind-cavalry.cpp +++ b/src/mind/mind-cavalry.cpp @@ -56,7 +56,7 @@ bool rodeo(PlayerType *player_ptr) rlev = 60 + (rlev - 60) / 2; } if ((randint1(player_ptr->skill_exp[PlayerSkillKindType::RIDING] / 120 + player_ptr->lev * 2 / 3) > rlev) && one_in_(2) && - !player_ptr->current_floor_ptr->inside_arena && !AngbandSystem::get_instance().is_phase_out() && !(r_ptr->flags7 & (RF7_GUARDIAN)) && !(r_ptr->flags1 & (RF1_QUESTOR)) && + !player_ptr->current_floor_ptr->inside_arena && !AngbandSystem::get_instance().is_phase_out() && !(r_ptr->flags7 & (RF7_GUARDIAN)) && r_ptr->misc_flags.has_not(MonsterMiscType::QUESTOR) && (rlev < player_ptr->lev * 3 / 2 + randint0(player_ptr->lev / 5))) { msg_format(_("%sを手なずけた。", "You tame %s."), m_name.data()); set_pet(player_ptr, m_ptr); diff --git a/src/monster-floor/monster-death.cpp b/src/monster-floor/monster-death.cpp index 52352ccc8..c4e7414f6 100644 --- a/src/monster-floor/monster-death.cpp +++ b/src/monster-floor/monster-death.cpp @@ -416,7 +416,7 @@ void monster_death(PlayerType *player_ptr, MONSTER_IDX m_idx, bool drop_item, At coin_type = md_ptr->force_coin; floor.object_level = (floor.dun_level + md_ptr->r_ptr->level) / 2; drop_items_golds(player_ptr, md_ptr, drop_numbers); - if (((md_ptr->r_ptr->flags1 & RF1_QUESTOR) == 0) || AngbandSystem::get_instance().is_phase_out() || (md_ptr->m_ptr->r_idx != MonsterRaceId::SERPENT) || md_ptr->cloned) { + if ((md_ptr->r_ptr->misc_flags.has_not(MonsterMiscType::QUESTOR)) || AngbandSystem::get_instance().is_phase_out() || (md_ptr->m_ptr->r_idx != MonsterRaceId::SERPENT) || md_ptr->cloned) { return; } diff --git a/src/monster-floor/one-monster-placer.cpp b/src/monster-floor/one-monster-placer.cpp index acb3946cd..7696fb935 100644 --- a/src/monster-floor/one-monster-placer.cpp +++ b/src/monster-floor/one-monster-placer.cpp @@ -145,7 +145,7 @@ static bool check_unique_placeable(const FloorType &floor, MonsterRaceId r_idx, } const auto is_deep = r_ptr->misc_flags.has(MonsterMiscType::FORCE_DEPTH) && (floor.dun_level < r_ptr->level); - const auto is_questor = !ironman_nightmare || any_bits(r_ptr->flags1, RF1_QUESTOR); + const auto is_questor = !ironman_nightmare || r_ptr->misc_flags.has(MonsterMiscType::QUESTOR); return !is_deep || !is_questor; } diff --git a/src/monster-floor/quantum-effect.cpp b/src/monster-floor/quantum-effect.cpp index fe6033ff2..2894eeff0 100644 --- a/src/monster-floor/quantum-effect.cpp +++ b/src/monster-floor/quantum-effect.cpp @@ -97,7 +97,7 @@ bool process_quantum_effect(PlayerType *player_ptr, MONSTER_IDX m_idx, bool see_ } bool can_disappear = r_ptr->kind_flags.has_not(MonsterKindType::UNIQUE); - can_disappear &= (r_ptr->flags1 & RF1_QUESTOR) == 0; + can_disappear &= r_ptr->misc_flags.has_not(MonsterMiscType::QUESTOR); if (can_disappear) { vanish_nonunique(player_ptr, m_idx, see_m); return true; diff --git a/src/monster/monster-compaction.cpp b/src/monster/monster-compaction.cpp index 857ba56be..7a53dd2bb 100644 --- a/src/monster/monster-compaction.cpp +++ b/src/monster/monster-compaction.cpp @@ -128,7 +128,7 @@ void compact_monsters(PlayerType *player_ptr, int size) } int chance = 90; - if ((r_ptr->flags1 & (RF1_QUESTOR)) && (cnt < 1000)) { + if (r_ptr->misc_flags.has(MonsterMiscType::QUESTOR) && (cnt < 1000)) { chance = 100; } diff --git a/src/monster/monster-util.cpp b/src/monster/monster-util.cpp index cbb7314d3..1e6b9ad59 100644 --- a/src/monster/monster-util.cpp +++ b/src/monster/monster-util.cpp @@ -281,7 +281,7 @@ static errr do_get_mon_num_prep(PlayerType *player_ptr, const monsterrace_hook_t // 原則生成禁止するものたち(フェイズアウト状態 / カメレオンの変身先 / ダンジョンの主召喚 は例外)。 if (!system.is_phase_out() && !chameleon_change_m_idx && summon_specific_type != SUMMON_GUARDIANS) { // クエストモンスターは生成禁止。 - if (r_ptr->flags1 & RF1_QUESTOR) { + if (r_ptr->misc_flags.has(MonsterMiscType::QUESTOR)) { continue; } diff --git a/src/mspell/mspell-floor.cpp b/src/mspell/mspell-floor.cpp index ebaab5599..2abb58f95 100644 --- a/src/mspell/mspell-floor.cpp +++ b/src/mspell/mspell-floor.cpp @@ -358,7 +358,7 @@ MonsterSpellResult spell_RF6_TELE_LEVEL(PlayerType *player_ptr, MONSTER_IDX m_id } resist = tr_ptr->resistance_flags.has_any_of(RFR_EFF_RESIST_NEXUS_MASK) || tr_ptr->resistance_flags.has(MonsterResistanceType::RESIST_TELEPORT); - saving_throw = (tr_ptr->flags1 & RF1_QUESTOR) || (tr_ptr->level > randint1((rlev - 10) < 1 ? 1 : (rlev - 10)) + 10); + saving_throw = (tr_ptr->misc_flags.has(MonsterMiscType::QUESTOR)) || (tr_ptr->level > randint1((rlev - 10) < 1 ? 1 : (rlev - 10)) + 10); mspell_cast_msg_bad_status_to_monster msg(_("%s^が%sの足を指さした。", "%s^ gestures at %s's feet."), _("%s^には効果がなかった。", "%s^ is unaffected!"), _("%s^は効力を跳ね返した!", "%s^ resist the effects!"), ""); diff --git a/src/player-attack/attack-chaos-effect.cpp b/src/player-attack/attack-chaos-effect.cpp index 36154b222..d1109f669 100644 --- a/src/player-attack/attack-chaos-effect.cpp +++ b/src/player-attack/attack-chaos-effect.cpp @@ -230,7 +230,7 @@ static void attack_teleport_away(PlayerType *player_ptr, player_attack_type *pa_ static void attack_polymorph(PlayerType *player_ptr, player_attack_type *pa_ptr, POSITION y, POSITION x) { auto *r_ptr = pa_ptr->r_ptr; - if (r_ptr->kind_flags.has(MonsterKindType::UNIQUE) || any_bits(r_ptr->flags1, RF1_QUESTOR) || r_ptr->resistance_flags.has_any_of(RFR_EFF_RESIST_CHAOS_MASK)) { + if (r_ptr->kind_flags.has(MonsterKindType::UNIQUE) || r_ptr->misc_flags.has(MonsterMiscType::QUESTOR) || r_ptr->resistance_flags.has_any_of(RFR_EFF_RESIST_CHAOS_MASK)) { return; } diff --git a/src/spell-kind/earthquake.cpp b/src/spell-kind/earthquake.cpp index 20adc473d..2c8ebdda8 100644 --- a/src/spell-kind/earthquake.cpp +++ b/src/spell-kind/earthquake.cpp @@ -186,7 +186,7 @@ bool earthquake(PlayerType *player_ptr, POSITION cy, POSITION cx, POSITION r, MO auto *m_ptr = &floor_ptr->m_list[grid.m_idx]; auto *r_ptr = &m_ptr->get_monrace(); - if (r_ptr->flags1 & RF1_QUESTOR) { + if (r_ptr->misc_flags.has(MonsterMiscType::QUESTOR)) { map[16 + pos.y - cy][16 + pos.x - cx] = false; continue; } diff --git a/src/spell-kind/spells-floor.cpp b/src/spell-kind/spells-floor.cpp index ff37684a8..218582636 100644 --- a/src/spell-kind/spells-floor.cpp +++ b/src/spell-kind/spells-floor.cpp @@ -344,7 +344,7 @@ bool destroy_area(PlayerType *player_ptr, const POSITION y1, const POSITION x1, { /* Delete the monster (if any) */ delete_monster(player_ptr, pos.y, pos.x); - } else if (monrace.flags1 & RF1_QUESTOR) { + } else if (monrace.misc_flags.has(MonsterMiscType::QUESTOR)) { /* Heal the monster */ monster.hp = monster.maxhp; diff --git a/src/spell-kind/spells-genocide.cpp b/src/spell-kind/spells-genocide.cpp index 53eb776ff..db35f37c0 100644 --- a/src/spell-kind/spells-genocide.cpp +++ b/src/spell-kind/spells-genocide.cpp @@ -51,7 +51,7 @@ bool genocide_aux(PlayerType *player_ptr, MONSTER_IDX m_idx, int power, bool pla } auto resist = false; - if (monrace.kind_flags.has(MonsterKindType::UNIQUE) || any_bits(monrace.flags1, RF1_QUESTOR)) { + if (monrace.kind_flags.has(MonsterKindType::UNIQUE) || monrace.misc_flags.has(MonsterMiscType::QUESTOR)) { resist = true; } else if (monrace.resistance_flags.has(MonsterResistanceType::NO_INSTANTLY_DEATH)) { monrace.r_resistance_flags.set(MonsterResistanceType::NO_INSTANTLY_DEATH); diff --git a/src/spell-kind/spells-polymorph.cpp b/src/spell-kind/spells-polymorph.cpp index d56991ceb..fe3e4ad05 100644 --- a/src/spell-kind/spells-polymorph.cpp +++ b/src/spell-kind/spells-polymorph.cpp @@ -33,7 +33,7 @@ static MonsterRaceId poly_r_idx(PlayerType *player_ptr, MonsterRaceId r_idx) { auto *r_ptr = &monraces_info[r_idx]; - if (r_ptr->kind_flags.has(MonsterKindType::UNIQUE) || any_bits(r_ptr->flags1, RF1_QUESTOR)) { + if (r_ptr->kind_flags.has(MonsterKindType::UNIQUE) || r_ptr->misc_flags.has(MonsterMiscType::QUESTOR)) { return r_idx; } diff --git a/src/spell-kind/spells-world.cpp b/src/spell-kind/spells-world.cpp index c4f740dec..b86e9199b 100644 --- a/src/spell-kind/spells-world.cpp +++ b/src/spell-kind/spells-world.cpp @@ -244,7 +244,7 @@ bool teleport_level_other(PlayerType *player_ptr) msg_format(_("%s^の足を指さした。", "You gesture at %s^'s feet."), m_name.data()); auto has_immune = monrace.resistance_flags.has_any_of(RFR_EFF_RESIST_NEXUS_MASK) || monrace.resistance_flags.has(MonsterResistanceType::RESIST_TELEPORT); - if (has_immune || (monrace.flags1 & RF1_QUESTOR) || (monrace.level + randint1(50) > player_ptr->lev + randint1(60))) { + if (has_immune || (monrace.misc_flags.has(MonsterMiscType::QUESTOR)) || (monrace.level + randint1(50) > player_ptr->lev + randint1(60))) { msg_print(_("しかし効果がなかった!", format("%s^ is unaffected!", m_name.data()))); } else { teleport_level(player_ptr, target_m_idx); diff --git a/src/spell/spells-diceroll.cpp b/src/spell/spells-diceroll.cpp index 7c4d1c7e4..f6ac99311 100644 --- a/src/spell/spells-diceroll.cpp +++ b/src/spell/spells-diceroll.cpp @@ -45,7 +45,7 @@ bool common_saving_throw_charm(PlayerType *player_ptr, int pow, MonsterEntity *m return true; } - if (r_ptr->flags1 & RF1_QUESTOR || m_ptr->mflag2.has(MonsterConstantFlagType::NOPET)) { + if (r_ptr->misc_flags.has(MonsterMiscType::QUESTOR) || m_ptr->mflag2.has(MonsterConstantFlagType::NOPET)) { return true; } @@ -78,7 +78,7 @@ bool common_saving_throw_control(PlayerType *player_ptr, int pow, MonsterEntity return true; } - if (r_ptr->flags1 & RF1_QUESTOR || m_ptr->mflag2.has(MonsterConstantFlagType::NOPET)) { + if (r_ptr->misc_flags.has(MonsterMiscType::QUESTOR) || m_ptr->mflag2.has(MonsterConstantFlagType::NOPET)) { return true; } diff --git a/src/view/display-lore.cpp b/src/view/display-lore.cpp index d843253b8..3da0909fb 100644 --- a/src/view/display-lore.cpp +++ b/src/view/display-lore.cpp @@ -679,7 +679,7 @@ void display_monster_sometimes(lore_type *lore_ptr) void display_monster_guardian(lore_type *lore_ptr) { - bool is_kingpin = (lore_ptr->flags1 & RF1_QUESTOR) != 0; + bool is_kingpin = lore_ptr->misc_flags.has(MonsterMiscType::QUESTOR); is_kingpin &= lore_ptr->r_ptr->r_sights > 0; is_kingpin &= lore_ptr->r_ptr->max_num > 0; is_kingpin &= (lore_ptr->r_idx == MonsterRaceId::OBERON) || (lore_ptr->r_idx == MonsterRaceId::SERPENT); diff --git a/src/world/world-movement-processor.cpp b/src/world/world-movement-processor.cpp index 561e3f602..0c511fdcf 100644 --- a/src/world/world-movement-processor.cpp +++ b/src/world/world-movement-processor.cpp @@ -45,7 +45,7 @@ void check_random_quest_auto_failure(PlayerType *player_ptr) quest.complev = (byte)player_ptr->lev; w_ptr->update_playtime(); quest.comptime = w_ptr->play_time; - monraces_info[quest.r_idx].flags1 &= ~(RF1_QUESTOR); + monraces_info[quest.r_idx].misc_flags.reset(MonsterMiscType::QUESTOR); } } -- 2.11.0