OSDN Git Service

[Refactor] #38997 player_flags() に player_type * 引数を追加. / Add player_type * argument...
authordeskull <deskull@users.sourceforge.jp>
Mon, 11 Nov 2019 00:07:19 +0000 (09:07 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Mon, 11 Nov 2019 00:07:19 +0000 (09:07 +0900)
src/files.c

index 37a6427..f61479a 100644 (file)
@@ -2256,6 +2256,7 @@ static void display_player_various(void)
 /*!
  * @brief プレイヤーの職業、種族に応じた耐性フラグを返す
  * Prints ratings on certain abilities
+ * @param creature_ptr 参照元クリーチャーポインタ
  * @param flgs フラグを保管する配列
  * @return なし
  * @details
@@ -2263,64 +2264,64 @@ static void display_player_various(void)
  * @todo
  * xtra1.c周りと多重実装になっているのを何とかする
  */
-static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
+static void player_flags(player_type *creature_ptr, BIT_FLAGS flgs[TR_FLAG_SIZE])
 {
        int i;
        for (i = 0; i < TR_FLAG_SIZE; i++)
                flgs[i] = 0L;
 
        /* Classes */
-       switch (p_ptr->pclass)
+       switch (creature_ptr->pclass)
        {
        case CLASS_WARRIOR:
-               if (p_ptr->lev > 44)
+               if (creature_ptr->lev > 44)
                        add_flag(flgs, TR_REGEN);
        case CLASS_SAMURAI:
-               if (p_ptr->lev > 29)
+               if (creature_ptr->lev > 29)
                        add_flag(flgs, TR_RES_FEAR);
                break;
        case CLASS_PALADIN:
-               if (p_ptr->lev > 39)
+               if (creature_ptr->lev > 39)
                        add_flag(flgs, TR_RES_FEAR);
                break;
        case CLASS_CHAOS_WARRIOR:
-               if (p_ptr->lev > 29)
+               if (creature_ptr->lev > 29)
                        add_flag(flgs, TR_RES_CHAOS);
-               if (p_ptr->lev > 39)
+               if (creature_ptr->lev > 39)
                        add_flag(flgs, TR_RES_FEAR);
                break;
        case CLASS_MONK:
        case CLASS_FORCETRAINER:
-               if ((p_ptr->lev > 9) && !heavy_armor(p_ptr))
+               if ((creature_ptr->lev > 9) && !heavy_armor(creature_ptr))
                        add_flag(flgs, TR_SPEED);
-               if ((p_ptr->lev>24) && !heavy_armor(p_ptr))
+               if ((creature_ptr->lev>24) && !heavy_armor(creature_ptr))
                        add_flag(flgs, TR_FREE_ACT);
                break;
        case CLASS_NINJA:
-               if (heavy_armor(p_ptr))
+               if (heavy_armor(creature_ptr))
                        add_flag(flgs, TR_SPEED);
                else
                {
-                       if ((!p_ptr->inventory_list[INVEN_RARM].k_idx || p_ptr->migite) &&
-                           (!p_ptr->inventory_list[INVEN_LARM].k_idx || p_ptr->hidarite))
+                       if ((!creature_ptr->inventory_list[INVEN_RARM].k_idx || creature_ptr->migite) &&
+                           (!creature_ptr->inventory_list[INVEN_LARM].k_idx || creature_ptr->hidarite))
                                add_flag(flgs, TR_SPEED);
-                       if (p_ptr->lev>24)
+                       if (creature_ptr->lev>24)
                                add_flag(flgs, TR_FREE_ACT);
                }
                add_flag(flgs, TR_SLOW_DIGEST);
                add_flag(flgs, TR_RES_FEAR);
-               if (p_ptr->lev > 19) add_flag(flgs, TR_RES_POIS);
-               if (p_ptr->lev > 24) add_flag(flgs, TR_SUST_DEX);
-               if (p_ptr->lev > 29) add_flag(flgs, TR_SEE_INVIS);
+               if (creature_ptr->lev > 19) add_flag(flgs, TR_RES_POIS);
+               if (creature_ptr->lev > 24) add_flag(flgs, TR_SUST_DEX);
+               if (creature_ptr->lev > 29) add_flag(flgs, TR_SEE_INVIS);
                break;
        case CLASS_MINDCRAFTER:
-               if (p_ptr->lev > 9)
+               if (creature_ptr->lev > 9)
                        add_flag(flgs, TR_RES_FEAR);
-               if (p_ptr->lev > 19)
+               if (creature_ptr->lev > 19)
                        add_flag(flgs, TR_SUST_WIS);
-               if (p_ptr->lev > 29)
+               if (creature_ptr->lev > 29)
                        add_flag(flgs, TR_RES_CONF);
-               if (p_ptr->lev > 39)
+               if (creature_ptr->lev > 39)
                        add_flag(flgs, TR_TELEPATHY);
                break;
        case CLASS_BARD:
@@ -2333,19 +2334,19 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
                add_flag(flgs, TR_REGEN);
                add_flag(flgs, TR_FREE_ACT);
                add_flag(flgs, TR_SPEED);
-               if (p_ptr->lev > 39) add_flag(flgs, TR_REFLECT);
+               if (creature_ptr->lev > 39) add_flag(flgs, TR_REFLECT);
                break;
        case CLASS_MIRROR_MASTER:
-               if(p_ptr->lev > 39)add_flag(flgs, TR_REFLECT);
+               if(creature_ptr->lev > 39)add_flag(flgs, TR_REFLECT);
                break;
        default:
                break; /* Do nothing */
        }
 
        /* Races */
-       if (p_ptr->mimic_form)
+       if (creature_ptr->mimic_form)
        {
-               switch(p_ptr->mimic_form)
+               switch(creature_ptr->mimic_form)
                {
                case MIMIC_DEMON:
                        add_flag(flgs, TR_HOLD_EXP);
@@ -2379,7 +2380,7 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
                        add_flag(flgs, TR_HOLD_EXP);
                        add_flag(flgs, TR_RES_DARK);
                        add_flag(flgs, TR_RES_NETHER);
-                       if (p_ptr->pclass != CLASS_NINJA) add_flag(flgs, TR_LITE_1);
+                       if (creature_ptr->pclass != CLASS_NINJA) add_flag(flgs, TR_LITE_1);
                        add_flag(flgs, TR_RES_POIS);
                        add_flag(flgs, TR_RES_COLD);
                        add_flag(flgs, TR_SEE_INVIS);
@@ -2389,7 +2390,7 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
        }
        else
        {
-       switch (p_ptr->prace)
+       switch (creature_ptr->prace)
        {
        case RACE_ELF:
                add_flag(flgs, TR_RES_LITE);
@@ -2408,10 +2409,10 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
                break;
        case RACE_HALF_TROLL:
                add_flag(flgs, TR_SUST_STR);
-               if (p_ptr->lev > 14)
+               if (creature_ptr->lev > 14)
                {
                        add_flag(flgs, TR_REGEN);
-                       if ((p_ptr->pclass == CLASS_WARRIOR) || (p_ptr->pclass == CLASS_BERSERKER))
+                       if ((creature_ptr->pclass == CLASS_WARRIOR) || (creature_ptr->pclass == CLASS_BERSERKER))
                        {
                                add_flag(flgs, TR_SLOW_DIGEST);
                                /*
@@ -2451,13 +2452,13 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
                break;
        case RACE_YEEK:
                add_flag(flgs, TR_RES_ACID);
-               if (p_ptr->lev > 19)
+               if (creature_ptr->lev > 19)
                        add_flag(flgs, TR_IM_ACID);
                break;
        case RACE_KLACKON:
                add_flag(flgs, TR_RES_CONF);
                add_flag(flgs, TR_RES_ACID);
-               if (p_ptr->lev > 9)
+               if (creature_ptr->lev > 9)
                        add_flag(flgs, TR_SPEED);
                break;
        case RACE_KOBOLD:
@@ -2469,33 +2470,33 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
                break;
        case RACE_DARK_ELF:
                add_flag(flgs, TR_RES_DARK);
-               if (p_ptr->lev > 19)
+               if (creature_ptr->lev > 19)
                        add_flag(flgs, TR_SEE_INVIS);
                break;
        case RACE_DRACONIAN:
                add_flag(flgs, TR_LEVITATION);
-               if (p_ptr->lev > 4)
+               if (creature_ptr->lev > 4)
                        add_flag(flgs, TR_RES_FIRE);
-               if (p_ptr->lev > 9)
+               if (creature_ptr->lev > 9)
                        add_flag(flgs, TR_RES_COLD);
-               if (p_ptr->lev > 14)
+               if (creature_ptr->lev > 14)
                        add_flag(flgs, TR_RES_ACID);
-               if (p_ptr->lev > 19)
+               if (creature_ptr->lev > 19)
                        add_flag(flgs, TR_RES_ELEC);
-               if (p_ptr->lev > 34)
+               if (creature_ptr->lev > 34)
                        add_flag(flgs, TR_RES_POIS);
                break;
        case RACE_MIND_FLAYER:
                add_flag(flgs, TR_SUST_INT);
                add_flag(flgs, TR_SUST_WIS);
-               if (p_ptr->lev > 14)
+               if (creature_ptr->lev > 14)
                        add_flag(flgs, TR_SEE_INVIS);
-               if (p_ptr->lev > 29)
+               if (creature_ptr->lev > 29)
                        add_flag(flgs, TR_TELEPATHY);
                break;
        case RACE_IMP:
                add_flag(flgs, TR_RES_FIRE);
-               if (p_ptr->lev > 9)
+               if (creature_ptr->lev > 9)
                        add_flag(flgs, TR_SEE_INVIS);
                break;
        case RACE_GOLEM:
@@ -2503,7 +2504,7 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
                add_flag(flgs, TR_FREE_ACT);
                add_flag(flgs, TR_RES_POIS);
                add_flag(flgs, TR_SLOW_DIGEST);
-               if (p_ptr->lev > 34)
+               if (creature_ptr->lev > 34)
                        add_flag(flgs, TR_HOLD_EXP);
                break;
        case RACE_SKELETON:
@@ -2511,7 +2512,7 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
                add_flag(flgs, TR_RES_SHARDS);
                add_flag(flgs, TR_HOLD_EXP);
                add_flag(flgs, TR_RES_POIS);
-               if (p_ptr->lev > 9)
+               if (creature_ptr->lev > 9)
                        add_flag(flgs, TR_RES_COLD);
                break;
        case RACE_ZOMBIE:
@@ -2520,14 +2521,14 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
                add_flag(flgs, TR_RES_NETHER);
                add_flag(flgs, TR_RES_POIS);
                add_flag(flgs, TR_SLOW_DIGEST);
-               if (p_ptr->lev > 4)
+               if (creature_ptr->lev > 4)
                        add_flag(flgs, TR_RES_COLD);
                break;
        case RACE_VAMPIRE:
                add_flag(flgs, TR_HOLD_EXP);
                add_flag(flgs, TR_RES_DARK);
                add_flag(flgs, TR_RES_NETHER);
-               if (p_ptr->pclass != CLASS_NINJA) add_flag(flgs, TR_LITE_1);
+               if (creature_ptr->pclass != CLASS_NINJA) add_flag(flgs, TR_LITE_1);
                add_flag(flgs, TR_RES_POIS);
                add_flag(flgs, TR_RES_COLD);
                break;
@@ -2541,13 +2542,13 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
                add_flag(flgs, TR_RES_POIS);
                add_flag(flgs, TR_SLOW_DIGEST);
                /* XXX pass_wall */
-               if (p_ptr->lev > 34)
+               if (creature_ptr->lev > 34)
                        add_flag(flgs, TR_TELEPATHY);
                break;
        case RACE_SPRITE:
                add_flag(flgs, TR_RES_LITE);
                add_flag(flgs, TR_LEVITATION);
-               if (p_ptr->lev > 9)
+               if (creature_ptr->lev > 9)
                        add_flag(flgs, TR_SPEED);
                break;
        case RACE_BEASTMAN:
@@ -2562,7 +2563,7 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
                add_flag(flgs, TR_RES_FIRE);
                add_flag(flgs, TR_RES_NETHER);
                add_flag(flgs, TR_HOLD_EXP);
-               if (p_ptr->lev > 9)
+               if (creature_ptr->lev > 9)
                        add_flag(flgs, TR_SEE_INVIS);
                break;
        case RACE_DUNADAN:
@@ -2586,77 +2587,77 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
        }
 
        /* Mutations */
-       if (p_ptr->muta3)
+       if (creature_ptr->muta3)
        {
-               if (p_ptr->muta3 & MUT3_FLESH_ROT)
+               if (creature_ptr->muta3 & MUT3_FLESH_ROT)
                {
                        remove_flag(flgs, TR_REGEN);
                }
 
-               if ((p_ptr->muta3 & MUT3_XTRA_FAT) ||
-                       (p_ptr->muta3 & MUT3_XTRA_LEGS) ||
-                       (p_ptr->muta3 & MUT3_SHORT_LEG))
+               if ((creature_ptr->muta3 & MUT3_XTRA_FAT) ||
+                       (creature_ptr->muta3 & MUT3_XTRA_LEGS) ||
+                       (creature_ptr->muta3 & MUT3_SHORT_LEG))
                {
                        add_flag(flgs, TR_SPEED);
                }
 
-               if (p_ptr->muta3  & MUT3_ELEC_TOUC)
+               if (creature_ptr->muta3  & MUT3_ELEC_TOUC)
                {
                        add_flag(flgs, TR_SH_ELEC);
                }
 
-               if (p_ptr->muta3 & MUT3_FIRE_BODY)
+               if (creature_ptr->muta3 & MUT3_FIRE_BODY)
                {
                        add_flag(flgs, TR_SH_FIRE);
                        add_flag(flgs, TR_LITE_1);
                }
 
-               if (p_ptr->muta3 & MUT3_WINGS)
+               if (creature_ptr->muta3 & MUT3_WINGS)
                {
                        add_flag(flgs, TR_LEVITATION);
                }
 
-               if (p_ptr->muta3 & MUT3_FEARLESS)
+               if (creature_ptr->muta3 & MUT3_FEARLESS)
                {
                        add_flag(flgs, TR_RES_FEAR);
                }
 
-               if (p_ptr->muta3 & MUT3_REGEN)
+               if (creature_ptr->muta3 & MUT3_REGEN)
                {
                        add_flag(flgs, TR_REGEN);
                }
 
-               if (p_ptr->muta3 & MUT3_ESP)
+               if (creature_ptr->muta3 & MUT3_ESP)
                {
                        add_flag(flgs, TR_TELEPATHY);
                }
 
-               if (p_ptr->muta3 & MUT3_MOTION)
+               if (creature_ptr->muta3 & MUT3_MOTION)
                {
                        add_flag(flgs, TR_FREE_ACT);
                }
        }
 
-       if (p_ptr->pseikaku == SEIKAKU_SEXY)
+       if (creature_ptr->pseikaku == SEIKAKU_SEXY)
                add_flag(flgs, TR_AGGRAVATE);
-       if (p_ptr->pseikaku == SEIKAKU_CHARGEMAN)
+       if (creature_ptr->pseikaku == SEIKAKU_CHARGEMAN)
                add_flag(flgs, TR_RES_CONF);
-       if (p_ptr->pseikaku == SEIKAKU_MUNCHKIN)
+       if (creature_ptr->pseikaku == SEIKAKU_MUNCHKIN)
        {
                add_flag(flgs, TR_RES_BLIND);
                add_flag(flgs, TR_RES_CONF);
                add_flag(flgs, TR_HOLD_EXP);
-               if (p_ptr->pclass != CLASS_NINJA) add_flag(flgs, TR_LITE_1);
-               if (p_ptr->lev > 9)
+               if (creature_ptr->pclass != CLASS_NINJA) add_flag(flgs, TR_LITE_1);
+               if (creature_ptr->lev > 9)
                        add_flag(flgs, TR_SPEED);
        }
-       if (p_ptr->special_defense & KATA_FUUJIN)
+       if (creature_ptr->special_defense & KATA_FUUJIN)
                add_flag(flgs, TR_REFLECT);
-       if (p_ptr->special_defense & KAMAE_GENBU)
+       if (creature_ptr->special_defense & KAMAE_GENBU)
                add_flag(flgs, TR_REFLECT);
-       if (p_ptr->special_defense & KAMAE_SUZAKU)
+       if (creature_ptr->special_defense & KAMAE_SUZAKU)
                add_flag(flgs, TR_LEVITATION);
-       if (p_ptr->special_defense & KAMAE_SEIRYU)
+       if (creature_ptr->special_defense & KAMAE_SEIRYU)
        {
                add_flag(flgs, TR_RES_FIRE);
                add_flag(flgs, TR_RES_COLD);
@@ -2668,7 +2669,7 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
                add_flag(flgs, TR_SH_ELEC);
                add_flag(flgs, TR_SH_COLD);
        }
-       if (p_ptr->special_defense & KATA_MUSOU)
+       if (creature_ptr->special_defense & KATA_MUSOU)
        {
                add_flag(flgs, TR_RES_FEAR);
                add_flag(flgs, TR_RES_LITE);
@@ -3156,7 +3157,7 @@ static void display_player_flag_info(void)
        all_player_flags f;
 
        /* Extract flags and store */
-       player_flags(f.player_flags);
+       player_flags(p_ptr, f.player_flags);
        tim_player_flags(p_ptr, f.tim_player_flags);
        player_immunity(f.player_imm);
        tim_player_immunity(f.tim_player_imm);
@@ -3287,7 +3288,7 @@ static void display_player_other_flag_info(void)
        all_player_flags f;
 
        /* Extract flags and store */
-       player_flags(f.player_flags);
+       player_flags(p_ptr, f.player_flags);
        tim_player_flags(p_ptr, f.tim_player_flags);
        player_immunity(f.player_imm);
        tim_player_immunity(f.tim_player_imm);
@@ -3722,7 +3723,7 @@ static void display_player_stat_info(player_type *creature_ptr)
        }
 
        /* Player flags */
-       player_flags(flgs);
+       player_flags(p_ptr, flgs);
 
        /* Check stats */
        for (stat = 0; stat < A_MAX; stat++)