OSDN Git Service

[Refactor] #38997 ring_of_power() に player_type * 引数を追加. / Add player_type * argument...
authordeskull <deskull@users.sourceforge.jp>
Sun, 8 Dec 2019 12:42:12 +0000 (21:42 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Sun, 8 Dec 2019 12:42:12 +0000 (21:42 +0900)
src/cmd/cmd-activate.c
src/spells.h
src/spells2.c

index c25e24c..d8588b4 100644 (file)
@@ -992,7 +992,7 @@ bool activate_artifact(player_type *user_ptr, object_type *o_ptr)
        {
                msg_format(_("%sは漆黒に輝いた...", "The %s glows intensely black..."), name);
                if (!get_aim_dir(&dir)) return FALSE;
-               ring_of_power(dir);
+               ring_of_power(user_ptr, dir);
                break;
        }
 
index f138096..90cce27 100644 (file)
@@ -248,7 +248,7 @@ extern void discharge_minion(void);
 extern bool kawarimi(bool success);
 extern bool rush_attack(bool *mdeath);
 extern void remove_all_mirrors(bool explode);
-extern void ring_of_power(DIRECTION dir);
+extern void ring_of_power(player_type *caster_ptr, DIRECTION dir);
 extern void wild_magic(int spell);
 extern void cast_meteor(HIT_POINT dam, POSITION rad);
 extern bool cast_wrath_of_the_god(HIT_POINT dam, POSITION rad);
index 3f2a336..b11d7a5 100644 (file)
@@ -3132,7 +3132,7 @@ void remove_all_mirrors(bool explode)
  * @param dir 発動の方向ID
  * @return なし
  */
-void ring_of_power(DIRECTION dir)
+void ring_of_power(player_type *caster_ptr, DIRECTION dir)
 {
        /* Pick a random effect */
        switch (randint1(10))
@@ -3144,17 +3144,17 @@ void ring_of_power(DIRECTION dir)
                sound(SOUND_EVIL);
 
                /* Decrease all stats (permanently) */
-               (void)dec_stat(p_ptr, A_STR, 50, TRUE);
-               (void)dec_stat(p_ptr, A_INT, 50, TRUE);
-               (void)dec_stat(p_ptr, A_WIS, 50, TRUE);
-               (void)dec_stat(p_ptr, A_DEX, 50, TRUE);
-               (void)dec_stat(p_ptr, A_CON, 50, TRUE);
-               (void)dec_stat(p_ptr, A_CHR, 50, TRUE);
+               (void)dec_stat(caster_ptr, A_STR, 50, TRUE);
+               (void)dec_stat(caster_ptr, A_INT, 50, TRUE);
+               (void)dec_stat(caster_ptr, A_WIS, 50, TRUE);
+               (void)dec_stat(caster_ptr, A_DEX, 50, TRUE);
+               (void)dec_stat(caster_ptr, A_CON, 50, TRUE);
+               (void)dec_stat(caster_ptr, A_CHR, 50, TRUE);
 
                /* Lose some experience (permanently) */
-               p_ptr->exp -= (p_ptr->exp / 4);
-               p_ptr->max_exp -= (p_ptr->exp / 4);
-               check_experience(p_ptr);
+               caster_ptr->exp -= (caster_ptr->exp / 4);
+               caster_ptr->max_exp -= (caster_ptr->exp / 4);
+               check_experience(caster_ptr);
 
                break;
        }