OSDN Git Service

[Refactor] FRIENDSを新定義に合わせた
authorSlimebreath6078 <slimebreath6078@yahoo.co.jp>
Sun, 28 Jan 2024 09:32:08 +0000 (18:32 +0900)
committerSlimebreath6078 <slimebreath6078@yahoo.co.jp>
Sat, 3 Feb 2024 09:11:51 +0000 (18:11 +0900)
src/dungeon/quest-monster-placer.cpp
src/floor/floor-events.cpp
src/lore/monster-lore.cpp
src/monster-floor/monster-generator.cpp
src/monster-floor/monster-sweep-grid.cpp
src/player/eldritch-horror.cpp
src/view/display-lore.cpp

index a7a3378..21374a4 100644 (file)
@@ -43,7 +43,7 @@ bool place_quest_monsters(PlayerType *player_ptr)
         }
 
         mode = PM_NO_KAGE | PM_NO_PET;
-        if (!(r_ptr->flags1 & RF1_FRIENDS)) {
+        if (r_ptr->misc_flags.has_not(MonsterMiscType::HAS_FRIENDS)) {
             mode |= PM_ALLOW_GROUP;
         }
 
index f40861c..e570d40 100644 (file)
@@ -158,7 +158,7 @@ static byte get_dungeon_feeling(PlayerType *player_ptr)
             delta += (r_ptr->level - floor_ptr->dun_level) * base;
         }
 
-        if (r_ptr->flags1 & RF1_FRIENDS) {
+        if (r_ptr->misc_flags.has(MonsterMiscType::HAS_FRIENDS)) {
             if (5 <= get_monster_crowd_number(floor_ptr, i)) {
                 delta += 1;
             }
index cd9f9e3..a7ceffc 100644 (file)
@@ -48,8 +48,8 @@ static void set_flags1(lore_type *lore_ptr)
         lore_ptr->flags1 |= (RF1_QUESTOR);
     }
 
-    if (lore_ptr->r_ptr->flags1 & RF1_FRIENDS) {
-        lore_ptr->flags1 |= (RF1_FRIENDS);
+    if (lore_ptr->r_ptr->misc_flags.has(MonsterMiscType::HAS_FRIENDS)) {
+        lore_ptr->misc_flags.set(MonsterMiscType::HAS_FRIENDS);
     }
 
     if (lore_ptr->r_ptr->flags1 & RF1_ESCORT) {
index 08b06e6..81b14b8 100644 (file)
@@ -330,7 +330,7 @@ bool place_specific_monster(PlayerType *player_ptr, MONSTER_IDX who, POSITION y,
         }
     }
 
-    if (r_ptr->flags1 & (RF1_FRIENDS)) {
+    if (r_ptr->misc_flags.has(MonsterMiscType::HAS_FRIENDS)) {
         (void)place_monster_group(player_ptr, who, y, x, r_idx, mode);
     }
 
@@ -354,7 +354,7 @@ bool place_specific_monster(PlayerType *player_ptr, MONSTER_IDX who, POSITION y,
         }
 
         (void)place_monster_one(player_ptr, place_monster_m_idx, ny, nx, z, mode);
-        if ((monraces_info[z].flags1 & RF1_FRIENDS) || (r_ptr->flags1 & RF1_ESCORTS)) {
+        if (monraces_info[z].misc_flags.has(MonsterMiscType::HAS_FRIENDS) || (r_ptr->flags1 & RF1_ESCORTS)) {
             (void)place_monster_group(player_ptr, place_monster_m_idx, ny, nx, z, mode);
         }
     }
index cbfd43f..5d136e3 100644 (file)
@@ -141,7 +141,7 @@ void MonsterSweepGrid::check_hiding_grid(POSITION *y, POSITION *x, POSITION *y2,
     auto *floor_ptr = this->player_ptr->current_floor_ptr;
     auto *m_ptr = &floor_ptr->m_list[this->m_idx];
     auto *r_ptr = &m_ptr->get_monrace();
-    if (this->done || this->will_run || !m_ptr->is_hostile() || none_bits(r_ptr->flags1, RF1_FRIENDS)) {
+    if (this->done || this->will_run || !m_ptr->is_hostile() || r_ptr->misc_flags.has_not(MonsterMiscType::HAS_FRIENDS)) {
         return;
     }
 
index a5c7481..73fccec 100644 (file)
@@ -96,7 +96,7 @@ void sanity_blast(PlayerType *player_ptr, MonsterEntity *m_ptr, bool necro)
         const auto m_name = monster_desc(player_ptr, m_ptr, 0);
         power = r_ptr->level / 2;
         if (r_ptr->kind_flags.has_not(MonsterKindType::UNIQUE)) {
-            if (r_ptr->flags1 & RF1_FRIENDS) {
+            if (r_ptr->misc_flags.has(MonsterMiscType::HAS_FRIENDS)) {
                 power /= 2;
             }
         } else {
@@ -160,7 +160,7 @@ void sanity_blast(PlayerType *player_ptr, MonsterEntity *m_ptr, bool necro)
         m_name.append(desc);
 
         if (r_ptr->kind_flags.has_not(MonsterKindType::UNIQUE)) {
-            if (r_ptr->flags1 & RF1_FRIENDS) {
+            if (r_ptr->misc_flags.has(MonsterMiscType::HAS_FRIENDS)) {
                 power /= 2;
             }
         } else {
index be51ea9..5e5c7b3 100644 (file)
@@ -581,7 +581,7 @@ void display_monster_collective(lore_type *lore_ptr)
     if ((lore_ptr->flags1 & RF1_ESCORT) || (lore_ptr->flags1 & RF1_ESCORTS) || lore_ptr->reinforce) {
         hooked_roff(format(_("%s^は通常護衛を伴って現れる。", "%s^ usually appears with escorts.  "), Who::who(lore_ptr->msex)));
         display_monster_escort_contents(lore_ptr);
-    } else if (lore_ptr->flags1 & RF1_FRIENDS) {
+    } else if (lore_ptr->misc_flags.has(MonsterMiscType::HAS_FRIENDS)) {
         hooked_roff(format(_("%s^は通常集団で現れる。", "%s^ usually appears in groups.  "), Who::who(lore_ptr->msex)));
     }
 }