From 5c4fde882a89515d3a7a2c17cf59b4e008ed1c3b Mon Sep 17 00:00:00 2001 From: deskull Date: Tue, 3 Dec 2019 19:41:52 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#38997=20eat=5Flock()=20=E3=81=AB?= =?utf8?q?=20player=5Ftype=20*=20=E5=BC=95=E6=95=B0=E3=82=92=E8=BF=BD?= =?utf8?q?=E5=8A=A0=EF=BC=8E=20/=20Add=20player=5Ftype=20*=20argument=20to?= =?utf8?q?=20eat=5Flock().?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/mutation.c | 2 +- src/spells.h | 2 +- src/spells3.c | 20 ++++++++++---------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/mutation.c b/src/mutation.c index b3cae8473..6995ef986 100644 --- a/src/mutation.c +++ b/src/mutation.c @@ -2154,7 +2154,7 @@ bool exe_mutation_power(player_type *creature_ptr, int power) break; case MUT1_EAT_ROCK: - return eat_lock(); + return eat_lock(creature_ptr); break; case MUT1_SWAP_POS: diff --git a/src/spells.h b/src/spells.h index 8033d08d2..4d9a4fdbe 100644 --- a/src/spells.h +++ b/src/spells.h @@ -320,7 +320,7 @@ extern bool polymorph_monster(player_type *caster_ptr, POSITION y, POSITION x); extern bool dimension_door(void); extern bool mirror_tunnel(void); extern void massacre(player_type *caster_ptr); -extern bool eat_lock(void); +extern bool eat_lock(player_type *caster_ptr); extern bool shock_power(void); extern bool booze(player_type *creature_ptr); extern bool detonation(player_type *creature_ptr); diff --git a/src/spells3.c b/src/spells3.c index 6f1ac817a..64149b014 100644 --- a/src/spells3.c +++ b/src/spells3.c @@ -3305,7 +3305,7 @@ void massacre(player_type *caster_ptr) } } -bool eat_lock(void) +bool eat_lock(player_type *caster_ptr) { POSITION x, y; grid_type *g_ptr; @@ -3313,9 +3313,9 @@ bool eat_lock(void) DIRECTION dir; if (!get_direction(&dir, FALSE, FALSE)) return FALSE; - y = p_ptr->y + ddy[dir]; - x = p_ptr->x + ddx[dir]; - g_ptr = &p_ptr->current_floor_ptr->grid_array[y][x]; + y = caster_ptr->y + ddy[dir]; + x = caster_ptr->x + ddx[dir]; + g_ptr = &caster_ptr->current_floor_ptr->grid_array[y][x]; f_ptr = &f_info[g_ptr->feat]; mimic_f_ptr = &f_info[get_feat_mimic(g_ptr)]; @@ -3331,10 +3331,10 @@ bool eat_lock(void) } else if (g_ptr->m_idx) { - monster_type *m_ptr = &p_ptr->current_floor_ptr->m_list[g_ptr->m_idx]; + monster_type *m_ptr = &caster_ptr->current_floor_ptr->m_list[g_ptr->m_idx]; msg_print(_("何かが邪魔しています!", "There's something in the way!")); - if (!m_ptr->ml || !is_pet(m_ptr)) py_attack(p_ptr, y, x, 0); + if (!m_ptr->ml || !is_pet(m_ptr)) py_attack(caster_ptr, y, x, 0); } else if (have_flag(f_ptr->flags, FF_TREE)) { @@ -3346,22 +3346,22 @@ bool eat_lock(void) } else if (have_flag(f_ptr->flags, FF_DOOR) || have_flag(f_ptr->flags, FF_CAN_DIG)) { - (void)set_food(p_ptr, p_ptr->food + 3000); + (void)set_food(caster_ptr, caster_ptr->food + 3000); } else if (have_flag(f_ptr->flags, FF_MAY_HAVE_GOLD) || have_flag(f_ptr->flags, FF_HAS_GOLD)) { - (void)set_food(p_ptr, p_ptr->food + 5000); + (void)set_food(caster_ptr, caster_ptr->food + 5000); } else { msg_format(_("この%sはとてもおいしい!", "This %s is very filling!"), f_name + mimic_f_ptr->name); - (void)set_food(p_ptr, p_ptr->food + 10000); + (void)set_food(caster_ptr, caster_ptr->food + 10000); } /* Destroy the wall */ cave_alter_feat(y, x, FF_HURT_ROCK); - (void)move_player_effect(p_ptr, y, x, MPE_DONT_PICKUP); + (void)move_player_effect(caster_ptr, y, x, MPE_DONT_PICKUP); return TRUE; } -- 2.11.0