OSDN Git Service

#37353 (2.2.0.23) dungeon_info_typeのm_flags5/m_flags6をm_a_ability_flags1/m_a_ability_...
authorDeskull <desull@users.sourceforge.jp>
Mon, 10 Jul 2017 15:04:53 +0000 (00:04 +0900)
committerDeskull <desull@users.sourceforge.jp>
Mon, 10 Jul 2017 15:04:53 +0000 (00:04 +0900)
Rename m_flags5/m_flags6 to m_a_ability_flags1/m_a_ability_flags2 in dungeon_info_type. New activate flag (3rd/4th) was added as only variable flags.

src/defines.h
src/init1.c
src/monster2.c
src/types.h

index 71ce2d1..5aa1cb2 100644 (file)
@@ -53,7 +53,7 @@
 #define FAKE_VER_MAJOR 12 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */
 #define FAKE_VER_MINOR 2 /*!< ゲームのバージョン番号定義(マイナー番号) */
 #define FAKE_VER_PATCH 0 /*!< ゲームのバージョン番号定義(パッチ番号) */
-#define FAKE_VER_EXTRA 22 /*!< ゲームのバージョン番号定義(エクストラ番号) */
+#define FAKE_VER_EXTRA 23 /*!< ゲームのバージョン番号定義(エクストラ番号) */
 
 
  /*!
index fa2e0fc..effa642 100644 (file)
@@ -503,6 +503,86 @@ static cptr r_a_ability_flags2[] =
        "S_UNIQUE"
 };
 
+/*!
+ * モンスター特性トークン(発動型能力3) /
+ * Monster race flags
+ */
+static cptr r_a_ability_flags3[] =
+{
+       "XXXA3X00",
+       "XXXA3X01",
+       "XXXA3X02",
+       "XXXA3X03",
+       "XXXA3X04",
+       "XXXA3X05",
+       "XXXA3X06",
+       "XXXA3X07",
+       "XXXA3X08",
+       "XXXA3X09",
+       "XXXA3X10",
+       "XXXA3X11",
+       "XXXA3X12",
+       "XXXA3X13",
+       "XXXA3X14",
+       "XXXA3X15",
+       "XXXA3X16",
+       "XXXA3X17",
+       "XXXA3X18",
+       "XXXA3X19",
+       "XXXA3X20",
+       "XXXA3X21",
+       "XXXA3X22",
+       "XXXA3X23",
+       "XXXA3X24",
+       "XXXA3X25",
+       "XXXA3X26",
+       "XXXA3X27",
+       "XXXA3X28",
+       "XXXA3X29",
+       "XXXA3X30",
+       "XXXA3X31",
+};
+
+/*!
+ * モンスター特性トークン(発動型能力4) /
+ * Monster race flags
+ */
+static cptr r_a_ability_flags4[] =
+{
+       "XXXA4X00",
+       "XXXA4X01",
+       "XXXA4X02",
+       "XXXA4X03",
+       "XXXA4X04",
+       "XXXA4X05",
+       "XXXA4X06",
+       "XXXA4X07",
+       "XXXA4X08",
+       "XXXA4X09",
+       "XXXA4X10",
+       "XXXA4X11",
+       "XXXA4X12",
+       "XXXA4X13",
+       "XXXA4X14",
+       "XXXA4X15",
+       "XXXA4X16",
+       "XXXA4X17",
+       "XXXA4X18",
+       "XXXA4X19",
+       "XXXA4X20",
+       "XXXA4X21",
+       "XXXA4X22",
+       "XXXA4X23",
+       "XXXA4X24",
+       "XXXA4X25",
+       "XXXA4X26",
+       "XXXA4X27",
+       "XXXA4X28",
+       "XXXA4X29",
+       "XXXA4X30",
+       "XXXA4X31",
+};
+
 
 /*!
  * モンスター特性トークンの定義7 /
@@ -3164,10 +3244,10 @@ static errr grab_one_spell_monster_flag(dungeon_info_type *d_ptr, cptr what)
        if (grab_one_flag(&d_ptr->mflags4, r_info_flags4, what) == 0)
                return 0;
 
-       if (grab_one_flag(&d_ptr->mflags5, r_a_ability_flags1, what) == 0)
+       if (grab_one_flag(&d_ptr->m_a_ability_flags1, r_a_ability_flags1, what) == 0)
                return 0;
 
-       if (grab_one_flag(&d_ptr->mflags6, r_a_ability_flags2, what) == 0)
+       if (grab_one_flag(&d_ptr->m_a_ability_flags2, r_a_ability_flags2, what) == 0)
                return 0;
 
        /* Oops */
index fc8bb00..b4b5c7f 100644 (file)
@@ -1038,14 +1038,14 @@ static bool restrict_monster_to_dungeon(int r_idx)
                        if ((d_ptr->mflags4 & r_ptr->flags4) != d_ptr->mflags4)
                                return FALSE;
                }
-               if (d_ptr->mflags5)
+               if (d_ptr->m_a_ability_flags1)
                {
-                       if ((d_ptr->mflags5 & r_ptr->a_ability_flags1) != d_ptr->mflags5)
+                       if ((d_ptr->m_a_ability_flags1 & r_ptr->a_ability_flags1) != d_ptr->m_a_ability_flags1)
                                return FALSE;
                }
-               if (d_ptr->mflags6)
+               if (d_ptr->m_a_ability_flags2)
                {
-                       if ((d_ptr->mflags6 & r_ptr->a_ability_flags2) != d_ptr->mflags6)
+                       if ((d_ptr->m_a_ability_flags2 & r_ptr->a_ability_flags2) != d_ptr->m_a_ability_flags2)
                                return FALSE;
                }
                if (d_ptr->mflags7)
@@ -1094,14 +1094,14 @@ static bool restrict_monster_to_dungeon(int r_idx)
                        if ((d_ptr->mflags4 & r_ptr->flags4) != d_ptr->mflags4)
                                return TRUE;
                }
-               if (d_ptr->mflags5)
+               if (d_ptr->m_a_ability_flags1)
                {
-                       if ((d_ptr->mflags5 & r_ptr->a_ability_flags1) != d_ptr->mflags5)
+                       if ((d_ptr->m_a_ability_flags1 & r_ptr->a_ability_flags1) != d_ptr->m_a_ability_flags1)
                                return TRUE;
                }
-               if (d_ptr->mflags6)
+               if (d_ptr->m_a_ability_flags2)
                {
-                       if ((d_ptr->mflags6 & r_ptr->a_ability_flags2) != d_ptr->mflags6)
+                       if ((d_ptr->m_a_ability_flags2 & r_ptr->a_ability_flags2) != d_ptr->m_a_ability_flags2)
                                return TRUE;
                }
                if (d_ptr->mflags7)
@@ -1134,8 +1134,8 @@ static bool restrict_monster_to_dungeon(int r_idx)
                if (r_ptr->flags2 & d_ptr->mflags2) return TRUE;
                if (r_ptr->flags3 & d_ptr->mflags3) return TRUE;
                if (r_ptr->flags4 & d_ptr->mflags4) return TRUE;
-               if (r_ptr->a_ability_flags1 & d_ptr->mflags5) return TRUE;
-               if (r_ptr->a_ability_flags2 & d_ptr->mflags6) return TRUE;
+               if (r_ptr->a_ability_flags1 & d_ptr->m_a_ability_flags1) return TRUE;
+               if (r_ptr->a_ability_flags2 & d_ptr->m_a_ability_flags2) return TRUE;
                if (r_ptr->flags7 & d_ptr->mflags7) return TRUE;
                if (r_ptr->flags8 & d_ptr->mflags8) return TRUE;
                if (r_ptr->flags9 & d_ptr->mflags9) return TRUE;
@@ -1150,8 +1150,8 @@ static bool restrict_monster_to_dungeon(int r_idx)
                if (r_ptr->flags2 & d_ptr->mflags2) return FALSE;
                if (r_ptr->flags3 & d_ptr->mflags3) return FALSE;
                if (r_ptr->flags4 & d_ptr->mflags4) return FALSE;
-               if (r_ptr->a_ability_flags1 & d_ptr->mflags5) return FALSE;
-               if (r_ptr->a_ability_flags2 & d_ptr->mflags6) return FALSE;
+               if (r_ptr->a_ability_flags1 & d_ptr->m_a_ability_flags1) return FALSE;
+               if (r_ptr->a_ability_flags2 & d_ptr->m_a_ability_flags2) return FALSE;
                if (r_ptr->flags7 & d_ptr->mflags7) return FALSE;
                if (r_ptr->flags8 & d_ptr->mflags8) return FALSE;
                if (r_ptr->flags9 & d_ptr->mflags9) return FALSE;
index e8c3bb5..78c170e 100644 (file)
@@ -1629,13 +1629,16 @@ struct dungeon_info_type {
        u32b mflags2;
        u32b mflags3;
        u32b mflags4;
-       u32b mflags5;
-       u32b mflags6;
        u32b mflags7;
        u32b mflags8;
        u32b mflags9;
        u32b mflagsr;
 
+       u32b m_a_ability_flags1;
+       u32b m_a_ability_flags2;
+       u32b m_a_ability_flags3;
+       u32b m_a_ability_flags4;
+
        char r_char[5];         /* Monster race allowed */
        int final_object;       /* The object you'll find at the bottom */
        int final_artifact;     /* The artifact you'll find at the bottom */