From 461c4e8ec8754c824d771fd4d618da601660ace5 Mon Sep 17 00:00:00 2001 From: deskull Date: Sat, 14 Dec 2019 15:58:03 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#38997=20mass=5Fgenocide=5Fundead()?= =?utf8?q?=20=E3=81=AB=20player=5Ftype=20*=20=E5=BC=95=E6=95=B0=E3=82=92?= =?utf8?q?=E8=BF=BD=E5=8A=A0=EF=BC=8E=20/=20Add=20player=5Ftype=20*=20argu?= =?utf8?q?ment=20to=20mass=5Fgenocide=5Fundead().?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/realm-life.c | 2 +- src/spells.h | 2 +- src/spells2.c | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/realm-life.c b/src/realm-life.c index 4970fe24d..5d061267f 100644 --- a/src/realm-life.c +++ b/src/realm-life.c @@ -406,7 +406,7 @@ concptr do_life_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode) if (cast) { - mass_genocide_undead(power, TRUE); + mass_genocide_undead(caster_ptr, power, TRUE); } } break; diff --git a/src/spells.h b/src/spells.h index a700f4a1f..fbd511e5d 100644 --- a/src/spells.h +++ b/src/spells.h @@ -179,7 +179,7 @@ extern void aggravate_monsters(MONSTER_IDX who); extern bool genocide_aux(player_type *caster_ptr, MONSTER_IDX m_idx, int power, bool player_cast, int dam_side, concptr spell_name); extern bool symbol_genocide(player_type *caster_ptr, int power, bool player_cast); extern bool mass_genocide(player_type *caster_ptr, int power, bool player_cast); -extern bool mass_genocide_undead(int power, bool player_cast); +extern bool mass_genocide_undead(player_type *caster_ptr, int power, bool player_cast); extern bool probing(void); extern bool banish_evil(int dist); extern bool dispel_evil(HIT_POINT dam); diff --git a/src/spells2.c b/src/spells2.c index 09f29b863..e36b82f8e 100644 --- a/src/spells2.c +++ b/src/spells2.c @@ -1191,21 +1191,21 @@ bool mass_genocide(player_type *caster_ptr, int power, bool player_cast) * @param player_cast プレイヤーの魔法によるものならば TRUE * @return 効力があった場合TRUEを返す */ -bool mass_genocide_undead(int power, bool player_cast) +bool mass_genocide_undead(player_type *caster_ptr, int power, bool player_cast) { MONSTER_IDX i; bool result = FALSE; /* Prevent mass genocide in quest levels */ - if ((p_ptr->current_floor_ptr->inside_quest && !random_quest_number(p_ptr->current_floor_ptr->dun_level)) || p_ptr->current_floor_ptr->inside_arena || p_ptr->phase_out) + if ((caster_ptr->current_floor_ptr->inside_quest && !random_quest_number(caster_ptr->current_floor_ptr->dun_level)) || caster_ptr->current_floor_ptr->inside_arena || caster_ptr->phase_out) { return (FALSE); } /* Delete the (nearby) monsters */ - for (i = 1; i < p_ptr->current_floor_ptr->m_max; i++) + for (i = 1; i < caster_ptr->current_floor_ptr->m_max; i++) { - monster_type *m_ptr = &p_ptr->current_floor_ptr->m_list[i]; + monster_type *m_ptr = &caster_ptr->current_floor_ptr->m_list[i]; monster_race *r_ptr = &r_info[m_ptr->r_idx]; if (!monster_is_valid(m_ptr)) continue; @@ -1215,13 +1215,13 @@ bool mass_genocide_undead(int power, bool player_cast) if (m_ptr->cdis > MAX_SIGHT) continue; /* Note effect */ - result |= genocide_aux(p_ptr, i, power, player_cast, 3, _("アンデッド消滅", "Annihilate Undead")); + result |= genocide_aux(caster_ptr, i, power, player_cast, 3, _("アンデッド消滅", "Annihilate Undead")); } if (result) { - chg_virtue(p_ptr, V_UNLIFE, -2); - chg_virtue(p_ptr, V_CHANCE, -1); + chg_virtue(caster_ptr, V_UNLIFE, -2); + chg_virtue(caster_ptr, V_CHANCE, -1); } return result; -- 2.11.0