OSDN Git Service

[Refactor] #38997 IS_OPPOSE_*() の関数マクロを普通の関数に変更し、player_type * 引数を追加 / Changed macro...
[hengband/hengband.git] / src / player-status.h
index 87738d2..e0d8ff6 100644 (file)
@@ -32,6 +32,8 @@
 #define MAGIC_GAIN_EXP          0x0004
 
 /*
+ * todo ここからp_ptrを消すと、object-hookにある大量の関数ポインタを全部修正する必要がある
+ * 影響範囲が広すぎるので保留
  * Magic-books for the realms
  */
 #define REALM1_BOOK     (p_ptr->realm1 + TV_LIFE_BOOK - 1)
@@ -246,7 +248,7 @@ struct player_type
 #define MUT1_EAT_MAGIC                  0x00400000L /*!< 突然変異: 魔力喰い */
 #define MUT1_WEIGH_MAG                  0x00800000L /*!< 突然変異: 魔力感知 */
 #define MUT1_STERILITY                  0x01000000L /*!< 突然変異: 増殖阻止 */
-#define MUT1_PANIC_HIT                  0x02000000L /*!< 突然変異: ヒットアンドアウェイ */
+#define MUT1_HIT_AND_AWAY               0x02000000L /*!< 突然変異: ヒットアンドアウェイ */
 #define MUT1_DAZZLE                     0x04000000L /*!< 突然変異: 眩惑 */
 #define MUT1_LASER_EYE                  0x08000000L /*!< 突然変異: レーザー・アイ */
 #define MUT1_RECALL                     0x10000000L /*!< 突然変異: 帰還 */
@@ -799,18 +801,19 @@ extern const s32b player_exp_a[PY_MAX_LEVEL];
 /* Temporary flags macro */
 #define IS_FAST(C) (C->fast || music_singing(C, MUSIC_SPEED) || music_singing(C, MUSIC_SHERO))
 #define IS_INVULN(C) (C->invuln || music_singing(C, MUSIC_INVULN))
-#define IS_HERO() (p_ptr->hero || music_singing(p_ptr, MUSIC_HERO) || music_singing(p_ptr, MUSIC_SHERO))
-#define IS_BLESSED() (p_ptr->blessed || music_singing(p_ptr, MUSIC_BLESS) || hex_spelling(HEX_BLESS))
-#define IS_OPPOSE_ACID() (p_ptr->oppose_acid || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
-#define IS_OPPOSE_ELEC() (p_ptr->oppose_elec || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
-#define IS_OPPOSE_FIRE() (p_ptr->oppose_fire || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
-#define IS_OPPOSE_COLD() (p_ptr->oppose_cold || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
-#define IS_OPPOSE_POIS() (p_ptr->oppose_pois || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
+#define IS_HERO(C) (C->hero || music_singing(C, MUSIC_HERO) || music_singing(C, MUSIC_SHERO))
 #define IS_TIM_ESP() (p_ptr->tim_esp || music_singing(p_ptr, MUSIC_MIND) || (p_ptr->concent >= CONCENT_TELE_THRESHOLD))
 #define IS_TIM_STEALTH() (p_ptr->tim_stealth || music_singing(p_ptr, MUSIC_STEALTH))
 
 #define P_PTR_KI (p_ptr->magic_num1[0])
 
+extern bool is_blessed(player_type *player_ptr);
+extern bool is_oppose_acid(player_type *player_ptr);
+extern bool is_oppose_elec(player_type *player_ptr);
+extern bool is_oppose_fire(player_type *player_ptr);
+extern bool is_oppose_cold(player_type *player_ptr);
+extern bool is_oppose_pois(player_type *player_ptr);
+
 /*
  * Player "food" crucial values
  */