OSDN Git Service

[Fix] old_race_flags_ptrに動作及び種族フラグが反映されていないバグを修正
authorSlimebreath6078 <slimebreath6078@yahoo.co.jp>
Sat, 19 Feb 2022 01:03:06 +0000 (10:03 +0900)
committerSlimebreath6078 <slimebreath6078@yahoo.co.jp>
Sat, 19 Feb 2022 02:10:44 +0000 (11:10 +0900)
src/monster/monster-processor-util.cpp
src/monster/monster-processor-util.h
src/monster/monster-update.cpp

index f302cdc..0434bb2 100644 (file)
@@ -47,6 +47,8 @@ old_race_flags *init_old_race_flags(old_race_flags *old_race_flags_ptr)
     old_race_flags_ptr->old_r_flags3 = 0L;
     old_race_flags_ptr->old_r_flagsr = 0L;
     old_race_flags_ptr->old_r_ability_flags.clear();
+    old_race_flags_ptr->old_r_behavior_flags.clear();
+    old_race_flags_ptr->old_r_kind_flags.clear();
 
     old_race_flags_ptr->old_r_blows0 = 0;
     old_race_flags_ptr->old_r_blows1 = 0;
@@ -291,6 +293,7 @@ void save_old_race_flags(MONRACE_IDX monster_race_idx, old_race_flags *old_race_
     old_race_flags_ptr->old_r_flags3 = r_ptr->r_flags3;
     old_race_flags_ptr->old_r_flagsr = r_ptr->r_flagsr;
     old_race_flags_ptr->old_r_ability_flags = r_ptr->r_ability_flags;
+    old_race_flags_ptr->old_r_behavior_flags = r_ptr->r_behavior_flags;
 
     old_race_flags_ptr->old_r_blows0 = r_ptr->r_blows[0];
     old_race_flags_ptr->old_r_blows1 = r_ptr->r_blows[1];
index c298532..9f148ff 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "monster-race/race-ability-flags.h"
 #include "monster-race/race-behavior-flags.h"
+#include "monster-race/race-kind-flags.h"
 #include "system/angband.h"
 #include "util/flag-group.h"
 
@@ -37,6 +38,7 @@ struct old_race_flags {
     BIT_FLAGS old_r_flagsr;
     EnumClassFlagGroup<MonsterAbilityType> old_r_ability_flags;
     EnumClassFlagGroup<MonsterBehaviorType> old_r_behavior_flags;
+    EnumClassFlagGroup<MonsterKindType> old_r_kind_flags;
 
     byte old_r_blows0;
     byte old_r_blows1;
index 7122e9a..7d72800 100644 (file)
@@ -157,7 +157,8 @@ void update_player_window(PlayerType *player_ptr, old_race_flags *old_race_flags
         (old_race_flags_ptr->old_r_flags3 != r_ptr->r_flags3) || (old_race_flags_ptr->old_r_ability_flags != r_ptr->r_ability_flags) ||
         (old_race_flags_ptr->old_r_flagsr != r_ptr->r_flagsr) || (old_race_flags_ptr->old_r_blows0 != r_ptr->r_blows[0]) ||
         (old_race_flags_ptr->old_r_blows1 != r_ptr->r_blows[1]) || (old_race_flags_ptr->old_r_blows2 != r_ptr->r_blows[2]) ||
-        (old_race_flags_ptr->old_r_blows3 != r_ptr->r_blows[3]) || (old_race_flags_ptr->old_r_cast_spell != r_ptr->r_cast_spell)) {
+        (old_race_flags_ptr->old_r_blows3 != r_ptr->r_blows[3]) || (old_race_flags_ptr->old_r_cast_spell != r_ptr->r_cast_spell) ||
+        (old_race_flags_ptr->old_r_behavior_flags != r_ptr->r_behavior_flags) || (old_race_flags_ptr->old_r_kind_flags != r_ptr->r_kind_flags)) {
         player_ptr->window_flags |= PW_MONSTER;
     }
 }