OSDN Git Service

[fix] #41489 明るいはずの場所でも灯りがない判定になっている
[hengband/hengband.git] / src / combat / slaying.c
index 4f30a08..a9bcc7a 100644 (file)
@@ -1,10 +1,20 @@
-#include "system/angband.h"
-#include "combat/slaying.h"
-#include "object/artifact.h"
-#include "realm/realm-hex.h"
-#include "mind/samurai-slaying.h"
-#include "object/object2.h"
-#include "object/tr-types.h"
+#include "combat/slaying.h"
+#include "artifact/fixed-art-types.h"
+#include "core/player-redraw-types.h"
+#include "mind/mind-samurai.h"
+#include "monster-race/monster-race.h"
+#include "monster-race/race-flags-resistance.h"
+#include "monster-race/race-flags2.h"
+#include "monster-race/race-flags3.h"
+#include "monster-race/race-indice-types.h"
+#include "monster/monster-info.h"
+#include "object-enchant/tr-types.h"
+#include "object/object-flags.h"
+#include "player/attack-defense-types.h"
+#include "realm/realm-hex-numbers.h"
+#include "specific-object/torch.h"
+#include "spell-realm/spells-hex.h"
+#include "util/bit-flags-calculator.h"
 
 /*!
  * @brief プレイヤー攻撃の種族スレイング倍率計算
@@ -51,7 +61,7 @@ MULTIPLY mult_slaying(player_type *player_ptr, MULTIPLY mult, const BIT_FLAGS *f
     for (size_t i = 0; i < sizeof(slay_table) / sizeof(slay_table[0]); ++i) {
         const struct slay_table_t *p = &slay_table[i];
 
-        if (!have_flag(flgs, p->slay_flag) || !(atoffset(BIT_FLAGS, r_ptr, p->flag_offset) & p->affect_race_flag))
+        if (!has_flag(flgs, p->slay_flag) || !(atoffset(BIT_FLAGS, r_ptr, p->flag_offset) & p->affect_race_flag))
             continue;
 
         if (is_original_ap_and_seen(player_ptr, m_ptr)) {
@@ -90,7 +100,7 @@ MULTIPLY mult_brand(player_type *player_ptr, MULTIPLY mult, const BIT_FLAGS *flg
     for (size_t i = 0; i < sizeof(brand_table) / sizeof(brand_table[0]); ++i) {
         const struct brand_table_t *p = &brand_table[i];
 
-        if (!have_flag(flgs, p->brand_flag))
+        if (!has_flag(flgs, p->brand_flag))
             continue;
 
         /* Notice immunity */
@@ -137,7 +147,7 @@ MULTIPLY mult_brand(player_type *player_ptr, MULTIPLY mult, const BIT_FLAGS *flg
 HIT_POINT calc_attack_damage_with_slay(player_type *attacker_ptr, object_type *o_ptr, HIT_POINT tdam, monster_type *m_ptr, combat_options mode, bool thrown)
 {
     BIT_FLAGS flgs[TR_FLAG_SIZE];
-    object_flags(o_ptr, flgs);
+    object_flags(attacker_ptr, o_ptr, flgs);
     torch_flags(o_ptr, flgs); /* torches has secret flags */
 
     if (!thrown) {
@@ -174,7 +184,7 @@ HIT_POINT calc_attack_damage_with_slay(player_type *attacker_ptr, object_type *o
             mult = mult_hissatsu(attacker_ptr, mult, flgs, m_ptr, mode);
         }
 
-        if ((attacker_ptr->pclass != CLASS_SAMURAI) && (have_flag(flgs, TR_FORCE_WEAPON)) && (attacker_ptr->csp > (o_ptr->dd * o_ptr->ds / 5))) {
+        if ((attacker_ptr->pclass != CLASS_SAMURAI) && (has_flag(flgs, TR_FORCE_WEAPON)) && (attacker_ptr->csp > (o_ptr->dd * o_ptr->ds / 5))) {
             attacker_ptr->csp -= (1 + (o_ptr->dd * o_ptr->ds / 5));
             attacker_ptr->redraw |= (PR_MANA);
             mult = mult * 3 / 2 + 20;