From e4549f2aac20b3286a61c05a1b73a7f44e2de6c7 Mon Sep 17 00:00:00 2001 From: deskull Date: Sun, 5 Jan 2020 01:46:22 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#38997=20mind.c=20=E5=86=85?= =?utf8?q?=E9=96=A2=E6=95=B0=E3=81=AB=20player=5Ftype=20*=20=E5=BC=95?= =?utf8?q?=E6=95=B0=E3=82=92=E8=BF=BD=E5=8A=A0=EF=BC=8E=20/=20Add=20player?= =?utf8?q?=5Ftype=20*=20argument=20to=20functions=20in=20mind.c.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/cmd/cmd-spell.c | 6 +++--- src/core.c | 2 +- src/mind.c | 30 +++++++++++++++--------------- src/mind.h | 5 +++-- src/spells3.c | 2 +- src/store.c | 2 +- 6 files changed, 24 insertions(+), 23 deletions(-) diff --git a/src/cmd/cmd-spell.c b/src/cmd/cmd-spell.c index 0a88dd583..c45b741e0 100644 --- a/src/cmd/cmd-spell.c +++ b/src/cmd/cmd-spell.c @@ -582,7 +582,7 @@ static void confirm_use_force(bool browse_only) /* Get the item index */ if (repeat_pull(&code) && (code == INVEN_FORCE)) { - browse_only ? do_cmd_mind_browse() : do_cmd_mind(p_ptr); + browse_only ? do_cmd_mind_browse(p_ptr) : do_cmd_mind(p_ptr); return; } @@ -607,7 +607,7 @@ static void confirm_use_force(bool browse_only) if (which == 'w') { - browse_only ? do_cmd_mind_browse() : do_cmd_mind(p_ptr); + browse_only ? do_cmd_mind_browse(p_ptr) : do_cmd_mind(p_ptr); } } @@ -673,7 +673,7 @@ void do_cmd_browse(player_type *caster_ptr) { if (item == INVEN_FORCE) /* the_force */ { - do_cmd_mind_browse(); + do_cmd_mind_browse(caster_ptr); return; } return; diff --git a/src/core.c b/src/core.c index 0fa433382..cc71f3d98 100644 --- a/src/core.c +++ b/src/core.c @@ -3834,7 +3834,7 @@ static void process_command(player_type *creature_ptr) (creature_ptr->pclass == CLASS_BERSERKER) || (creature_ptr->pclass == CLASS_NINJA) || (creature_ptr->pclass == CLASS_MIRROR_MASTER) - ) do_cmd_mind_browse(); + ) do_cmd_mind_browse(creature_ptr); else if (creature_ptr->pclass == CLASS_SMITH) do_cmd_kaji(creature_ptr, TRUE); else if (creature_ptr->pclass == CLASS_MAGIC_EATER) diff --git a/src/mind.c b/src/mind.c index 4cb51bad7..e3824651d 100644 --- a/src/mind.c +++ b/src/mind.c @@ -557,9 +557,9 @@ static concptr const mind_tips[5][MAX_MIND_POWERS] = * @param power モンスター魔法のID * @return なし */ -void mindcraft_info(char *p, int use_mind, int power) +void mindcraft_info(player_type *caster_ptr, char *p, int use_mind, int power) { - PLAYER_LEVEL plev = p_ptr->lev; + PLAYER_LEVEL plev = caster_ptr->lev; strcpy(p, ""); @@ -585,14 +585,14 @@ void mindcraft_info(char *p, int use_mind, int power) #endif case 11: sprintf(p, " %s%dd6", KWD_DAM, plev / 2); break; case 12: sprintf(p, " %sd%d+%d", KWD_DAM, plev * 3, plev * 3); break; - case 13: sprintf(p, _(" 行動:%ld回", " %ld acts."), (long int)(p_ptr->csp + 100-p_ptr->energy_need - 50)/100); break; + case 13: sprintf(p, _(" 行動:%ld回", " %ld acts."), (long int)(caster_ptr->csp + 100-caster_ptr->energy_need - 50)/100); break; } break; case MIND_KI: { int boost = P_PTR_KI; - if (heavy_armor(p_ptr)) boost /= 2; + if (heavy_armor(caster_ptr)) boost /= 2; switch (power) { @@ -930,7 +930,7 @@ static bool_hack get_mind_power(player_type *caster_ptr, SPELL_IDX *sn, bool onl } /* Get info */ - mindcraft_info(comment, use_mind, i); + mindcraft_info(caster_ptr, comment, use_mind, i); if (use_menu) { @@ -1245,7 +1245,7 @@ static bool cast_force_spell(player_type *caster_ptr, int spell) if (!target_set(TARGET_KILL)) return FALSE; m_idx = caster_ptr->current_floor_ptr->grid_array[target_row][target_col].m_idx; if (!m_idx) break; - if (!player_has_los_bold(p_ptr, target_row, target_col)) break; + if (!player_has_los_bold(caster_ptr, target_row, target_col)) break; if (!projectable(caster_ptr->current_floor_ptr, caster_ptr->y, caster_ptr->x, target_row, target_col)) break; dispel_monster_status(m_idx); break; @@ -1646,7 +1646,7 @@ static bool cast_ninja_spell(player_type *caster_ptr, int spell) m_idx = caster_ptr->current_floor_ptr->grid_array[target_row][target_col].m_idx; if (!m_idx) break; if (m_idx == caster_ptr->riding) break; - if (!player_has_los_bold(p_ptr, target_row, target_col)) break; + if (!player_has_los_bold(caster_ptr, target_row, target_col)) break; if (!projectable(caster_ptr->current_floor_ptr, caster_ptr->y, caster_ptr->x, target_row, target_col)) break; m_ptr = &caster_ptr->current_floor_ptr->m_list[m_idx]; monster_desc(m_name, m_ptr, 0); @@ -1659,7 +1659,7 @@ static bool cast_ninja_spell(player_type *caster_ptr, int spell) POSITION nx = GRID_X(path_g[i]); grid_type *g_ptr = &caster_ptr->current_floor_ptr->grid_array[ny][nx]; - if (in_bounds(caster_ptr->current_floor_ptr, ny, nx) && cave_empty_bold(p_ptr->current_floor_ptr, ny, nx) && + if (in_bounds(caster_ptr->current_floor_ptr, ny, nx) && cave_empty_bold(caster_ptr->current_floor_ptr, ny, nx) && !(g_ptr->info & CAVE_OBJECT) && !pattern_tile(ny, nx)) { @@ -2061,25 +2061,25 @@ void do_cmd_mind(player_type *caster_ptr) * @brief 現在プレイヤーが使用可能な特殊技能の一覧表示 / * @return なし */ -void do_cmd_mind_browse(void) +void do_cmd_mind_browse(player_type *caster_ptr) { SPELL_IDX n = 0; int j, line; char temp[62*5]; int use_mind = 0; - if (p_ptr->pclass == CLASS_MINDCRAFTER) use_mind = MIND_MINDCRAFTER; - else if (p_ptr->pclass == CLASS_FORCETRAINER) use_mind = MIND_KI; - else if (p_ptr->pclass == CLASS_BERSERKER) use_mind = MIND_BERSERKER; - else if (p_ptr->pclass == CLASS_NINJA) use_mind = MIND_NINJUTSU; - else if (p_ptr->pclass == CLASS_MIRROR_MASTER) + if (caster_ptr->pclass == CLASS_MINDCRAFTER) use_mind = MIND_MINDCRAFTER; + else if (caster_ptr->pclass == CLASS_FORCETRAINER) use_mind = MIND_KI; + else if (caster_ptr->pclass == CLASS_BERSERKER) use_mind = MIND_BERSERKER; + else if (caster_ptr->pclass == CLASS_NINJA) use_mind = MIND_NINJUTSU; + else if (caster_ptr->pclass == CLASS_MIRROR_MASTER) use_mind = MIND_MIRROR_MASTER; screen_save(); while(1) { - if (!get_mind_power(p_ptr, &n, TRUE)) + if (!get_mind_power(caster_ptr, &n, TRUE)) { screen_load(); return; diff --git a/src/mind.h b/src/mind.h index 5eeab5a1e..0a73ba438 100644 --- a/src/mind.h +++ b/src/mind.h @@ -26,7 +26,8 @@ struct mind_power /* mind.c */ extern mind_power const mind_powers[5]; -extern void mindcraft_info(char *p, int use_mind, int power); +extern void mindcraft_info(player_type *caster_ptr, char *p, int use_mind, int power); extern void do_cmd_mind(player_type *caster_ptr); -extern void do_cmd_mind_browse(void); +extern void do_cmd_mind_browse(player_type *caster_ptr); +extern void do_cmd_mind_browse(player_type *caster_ptr); diff --git a/src/spells3.c b/src/spells3.c index 2d2a9dacc..d2d2cdaba 100644 --- a/src/spells3.c +++ b/src/spells3.c @@ -2272,7 +2272,7 @@ void display_spell_list(player_type *caster_ptr) if (chance > 95) chance = 95; /* Get info */ - mindcraft_info(comment, use_mind, i); + mindcraft_info(caster_ptr, comment, use_mind, i); /* Dump the spell */ sprintf(psi_desc, " %c) %-30s%2d %4d %3d%%%s", diff --git a/src/store.c b/src/store.c index 8497d489c..96fa93198 100644 --- a/src/store.c +++ b/src/store.c @@ -5490,7 +5490,7 @@ static void store_process_command(player_type *client_ptr) (client_ptr->pclass == CLASS_BERSERKER) || (client_ptr->pclass == CLASS_NINJA) || (client_ptr->pclass == CLASS_MIRROR_MASTER) - ) do_cmd_mind_browse(); + ) do_cmd_mind_browse(client_ptr); else if (client_ptr->pclass == CLASS_SMITH) do_cmd_kaji(client_ptr, TRUE); else if (client_ptr->pclass == CLASS_MAGIC_EATER) -- 2.11.0