OSDN Git Service

[Refactor] #40581 Added MD_NONE into monster_description_type
authorHourier <hourier@users.sourceforge.jp>
Fri, 21 Aug 2020 07:13:04 +0000 (16:13 +0900)
committerHourier <hourier@users.sourceforge.jp>
Fri, 21 Aug 2020 07:13:04 +0000 (16:13 +0900)
src/monster-floor/quantum-effect.c
src/monster/monster-description-types.h

index 94ce305..72e1507 100644 (file)
@@ -6,6 +6,7 @@
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-flags2.h"
 #include "monster/monster-describer.h"
+#include "monster/monster-description-types.h"
 #include "monster/monster-info.h"
 #include "monster/smart-learn-types.h"
 #include "mspell/assign-monster-spell.h"
  */
 static void vanish_nonunique(player_type *target_ptr, MONSTER_IDX m_idx, bool see_m)
 {
-       monster_type *m_ptr = &target_ptr->current_floor_ptr->m_list[m_idx];
-       if (see_m)
-       {
-               GAME_TEXT m_name[MAX_NLEN];
-               monster_desc(target_ptr, m_name, m_ptr, 0);
-               msg_format(_("%sは消え去った!", "%^s disappears!"), m_name);
-       }
+    monster_type *m_ptr = &target_ptr->current_floor_ptr->m_list[m_idx];
+    if (see_m) {
+        GAME_TEXT m_name[MAX_NLEN];
+        monster_desc(target_ptr, m_name, m_ptr, 0);
+        msg_format(_("%sは消え去った!", "%^s disappears!"), m_name);
+    }
 
-       monster_death(target_ptr, m_idx, FALSE);
-       delete_monster_idx(target_ptr, m_idx);
-       if (is_pet(m_ptr) && !(m_ptr->ml))
-       {
-               msg_print(_("少しの間悲しい気分になった。", "You feel sad for a moment."));
-       }
+    monster_death(target_ptr, m_idx, FALSE);
+    delete_monster_idx(target_ptr, m_idx);
+    if (is_pet(m_ptr) && !(m_ptr->ml))
+        msg_print(_("少しの間悲しい気分になった。", "You feel sad for a moment."));
 }
 
-
 /*!
  * todo ユニークとプレーヤーとの間でしか効果が発生しない。ユニークとその他のモンスター間では何もしなくてよい?
  * @brief 量子生物ユニークの量子的効果 (ショート・テレポートまたは距離10のテレポート・アウェイ)を実行する
@@ -54,34 +51,26 @@ static void vanish_nonunique(player_type *target_ptr, MONSTER_IDX m_idx, bool se
  */
 static void produce_quantum_effect(player_type *target_ptr, MONSTER_IDX m_idx, bool see_m)
 {
-       monster_type *m_ptr = &target_ptr->current_floor_ptr->m_list[m_idx];
-       bool coherent = los(target_ptr, m_ptr->fy, m_ptr->fx, target_ptr->y, target_ptr->x);
-       if (!see_m && !coherent) return;
+    monster_type *m_ptr = &target_ptr->current_floor_ptr->m_list[m_idx];
+    bool coherent = los(target_ptr, m_ptr->fy, m_ptr->fx, target_ptr->y, target_ptr->x);
+    if (!see_m && !coherent)
+        return;
 
-       if (see_m)
-       {
-               GAME_TEXT m_name[MAX_NLEN];
-               monster_desc(target_ptr, m_name, m_ptr, 0);
-               msg_format(_("%sは量子的効果を起こした!", "%^s produced a decoherence!"), m_name);
-       }
-       else
-       {
-               msg_print(_("量子的効果が起こった!", "A decoherence was produced!"));
-       }
+    if (see_m) {
+        GAME_TEXT m_name[MAX_NLEN];
+        monster_desc(target_ptr, m_name, m_ptr, MD_NONE);
+        msg_format(_("%sは量子的効果を起こした!", "%^s produced a decoherence!"), m_name);
+    } else
+        msg_print(_("量子的効果が起こった!", "A decoherence was produced!"));
 
-       bool target = one_in_(2);
-       const int blink = 32 * 5 + 4;
-       if (target)
-       {
-               (void)monspell_to_monster(target_ptr, blink, m_ptr->fy, m_ptr->fx, m_idx, m_idx, TRUE);
-       }
-       else
-       {
-               teleport_player_away(m_idx, target_ptr, 10, TRUE);
-       }
+    bool target = one_in_(2);
+    const int blink = 32 * 5 + 4;
+    if (target)
+        (void)monspell_to_monster(target_ptr, blink, m_ptr->fy, m_ptr->fx, m_idx, m_idx, TRUE);
+    else
+        teleport_player_away(m_idx, target_ptr, 10, TRUE);
 }
 
-
 /*!
  * @brief 量子生物の量子的効果を実行する
  * @param target_ptr プレーヤーへの参照ポインタ
@@ -91,20 +80,22 @@ static void produce_quantum_effect(player_type *target_ptr, MONSTER_IDX m_idx, b
  */
 bool process_quantum_effect(player_type *target_ptr, MONSTER_IDX m_idx, bool see_m)
 {
-       monster_type *m_ptr = &target_ptr->current_floor_ptr->m_list[m_idx];
-       monster_race *r_ptr = &r_info[m_ptr->r_idx];
-       if ((r_ptr->flags2 & RF2_QUANTUM) == 0) return FALSE;
-       if (!randint0(2)) return FALSE;
-       if (randint0((m_idx % 100) + 10)) return FALSE;
+    monster_type *m_ptr = &target_ptr->current_floor_ptr->m_list[m_idx];
+    monster_race *r_ptr = &r_info[m_ptr->r_idx];
+    if ((r_ptr->flags2 & RF2_QUANTUM) == 0)
+        return FALSE;
+    if (!randint0(2))
+        return FALSE;
+    if (randint0((m_idx % 100) + 10))
+        return FALSE;
 
-       bool can_disappear = (r_ptr->flags1 & RF1_UNIQUE) == 0;
-       can_disappear &= (r_ptr->flags1 & RF1_QUESTOR) == 0;
-       if (can_disappear)
-       {
-               vanish_nonunique(target_ptr, m_idx, see_m);
-               return TRUE;
-       }
+    bool can_disappear = (r_ptr->flags1 & RF1_UNIQUE) == 0;
+    can_disappear &= (r_ptr->flags1 & RF1_QUESTOR) == 0;
+    if (can_disappear) {
+        vanish_nonunique(target_ptr, m_idx, see_m);
+        return TRUE;
+    }
 
-       produce_quantum_effect(target_ptr, m_idx, see_m);
-       return FALSE;
+    produce_quantum_effect(target_ptr, m_idx, see_m);
+    return FALSE;
 }
index fe24503..9e8221f 100644 (file)
@@ -1,6 +1,7 @@
 #pragma once
 
 typedef enum monsetr_description_type {
+    MD_NONE = 0x00000000,
        MD_OBJECTIVE = 0x00000001, /* Objective (or Reflexive) */
     MD_POSSESSIVE = 0x00000002, /* Possessive (or Reflexive) */
     MD_INDEF_HIDDEN = 0x00000004, /* Use indefinites for hidden monsters ("something") */