OSDN Git Service

[Refactor] #38844 player_type 構造体に mutant_regenerate_mod を取り込む。 / Move mutant_regene...
authordeskull <deskull@users.sourceforge.jp>
Fri, 1 Mar 2019 15:38:05 +0000 (00:38 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Fri, 1 Mar 2019 15:38:05 +0000 (00:38 +0900)
src/birth.c
src/dungeon.c
src/externs.h
src/load.c
src/melee1.c
src/mutation.c
src/types.h
src/variable.c

index 12cb026..2c41d81 100644 (file)
@@ -1738,7 +1738,7 @@ static void player_wipe_without_name(void)
        p_ptr->knowledge = 0;
 
        /* Clean the mutation count */
-       mutant_regenerate_mod = 100;
+       p_ptr->mutant_regenerate_mod = 100;
 
        /* Clear "cheat" options */
        cheat_peek = FALSE;
index 3a1642d..96f27ce 100644 (file)
@@ -1824,7 +1824,7 @@ static void process_world_aux_hp_and_sp(void)
        /* Special floor -- Pattern, in a wall -- yields no healing */
        if (cave_no_regen) regen_amount = 0;
 
-       regen_amount = (regen_amount * mutant_regenerate_mod) / 100;
+       regen_amount = (regen_amount * p_ptr->mutant_regenerate_mod) / 100;
 
        /* Regenerate Hit Points if needed */
        if ((p_ptr->chp < p_ptr->mhp) && !cave_no_regen)
index 2d20413..4449e0c 100644 (file)
@@ -336,7 +336,6 @@ extern int quest_text_line;
 extern s16b gf_color[MAX_GF];
 extern int init_flags;
 extern int highscore_fd;
-extern int mutant_regenerate_mod;
 extern bool can_save;
 extern s16b world_monster;
 extern int cap_mon;
index 7131b2a..e0d7f1a 100644 (file)
@@ -2184,7 +2184,7 @@ static void rd_extra(void)
        }
 
        /* Calc the regeneration modifier for mutations */
-       mutant_regenerate_mod = calc_mutant_regenerate_mod();
+       p_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod();
 
        if (z_older_than(10,0,9))
        {
index 36a0bf9..8df2852 100644 (file)
@@ -1061,7 +1061,7 @@ static void py_attack_aux(POSITION y, POSITION x, bool *fear, bool *mdeath, s16b
                                                                drain_msg = FALSE;
                                                        }
 
-                                                       drain_heal = (drain_heal * mutant_regenerate_mod) / 100;
+                                                       drain_heal = (drain_heal * p_ptr->mutant_regenerate_mod) / 100;
 
                                                        hp_player(drain_heal);
                                                        /* We get to keep some of it! */
index bb9ccc2..7ba83a8 100644 (file)
@@ -851,7 +851,7 @@ bool gain_mutation(player_type *creature_ptr, MUTATION_IDX choose_mut)
                        }
                }
 
-               mutant_regenerate_mod = calc_mutant_regenerate_mod();
+               p_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod();
                creature_ptr->update |= PU_BONUS;
                handle_stuff();
                return TRUE;
@@ -1480,7 +1480,7 @@ bool lose_mutation(MUTATION_IDX choose_mut)
 
                p_ptr->update |= PU_BONUS;
                handle_stuff();
-               mutant_regenerate_mod = calc_mutant_regenerate_mod();
+               p_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod();
                return TRUE;
        }
 }
@@ -1494,7 +1494,7 @@ void lose_all_mutations(void)
                p_ptr->muta1 = p_ptr->muta2 = p_ptr->muta3 = 0;
                p_ptr->update |= PU_BONUS;
                handle_stuff();
-               mutant_regenerate_mod = calc_mutant_regenerate_mod();
+               p_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod();
        }
 }
 
index a8790e6..0047477 100644 (file)
@@ -1034,6 +1034,7 @@ struct player_type
        HIT_POINT mhp;                  /* Max hit pts */
        HIT_POINT chp;                  /* Cur hit pts */
        u32b chp_frac;          /* Cur hit frac (times 2^16) */
+       PERCENTAGE mutant_regenerate_mod;
 
        MANA_POINT msp;                 /* Max mana pts */
        MANA_POINT csp;                 /* Cur mana pts */
index bba2024..7f7771b 100644 (file)
@@ -782,8 +782,6 @@ int init_flags;
  */
 int highscore_fd = -1;
 
-int mutant_regenerate_mod = 100;
-
 bool can_save = FALSE;        /* Game can be saved */
 
 s16b world_monster;