From c70751978155dcba3a1abf1e558d279ba988f41e Mon Sep 17 00:00:00 2001 From: Hourier <66951241+Hourier@users.noreply.github.com> Date: Sat, 5 Feb 2022 18:13:09 +0900 Subject: [PATCH] [Refactor] #1389 Changed monap_type from struct to class MonsterAttackPlayer --- src/combat/aura-counterattack.cpp | 16 ++++++------ src/combat/aura-counterattack.h | 4 +-- src/mind/mind-samurai.cpp | 2 +- src/mind/mind-samurai.h | 4 +-- src/monster-attack/monster-attack-describer.cpp | 6 ++--- src/monster-attack/monster-attack-describer.h | 4 +-- src/monster-attack/monster-attack-lose.cpp | 16 ++++++------ src/monster-attack/monster-attack-lose.h | 18 ++++++------- src/monster-attack/monster-attack-player.cpp | 34 ++++++++++++------------- src/monster-attack/monster-attack-status.cpp | 14 +++++----- src/monster-attack/monster-attack-status.h | 14 +++++----- src/monster-attack/monster-attack-switcher.cpp | 28 ++++++++++---------- src/monster-attack/monster-attack-switcher.h | 4 +-- src/monster-attack/monster-attack-util.cpp | 2 +- src/monster-attack/monster-attack-util.h | 8 +++--- src/monster-attack/monster-eating.cpp | 20 +++++++-------- src/monster-attack/monster-eating.h | 20 +++++++-------- src/pet/pet-fall-off.cpp | 2 +- src/pet/pet-fall-off.h | 4 +-- src/spell-realm/spells-hex.cpp | 2 +- src/spell-realm/spells-hex.h | 6 ++--- 21 files changed, 114 insertions(+), 114 deletions(-) diff --git a/src/combat/aura-counterattack.cpp b/src/combat/aura-counterattack.cpp index ccf210fbd..648a51ab0 100644 --- a/src/combat/aura-counterattack.cpp +++ b/src/combat/aura-counterattack.cpp @@ -30,7 +30,7 @@ #include "system/player-type-definition.h" #include "view/display-messages.h" -static void aura_fire_by_monster_attack(PlayerType *player_ptr, monap_type *monap_ptr) +static void aura_fire_by_monster_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (!has_sh_fire(player_ptr) || !monap_ptr->alive || player_ptr->is_dead) return; @@ -53,7 +53,7 @@ static void aura_fire_by_monster_attack(PlayerType *player_ptr, monap_type *mona } } -static void aura_elec_by_monster_attack(PlayerType *player_ptr, monap_type *monap_ptr) +static void aura_elec_by_monster_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (!has_sh_elec(player_ptr) || !monap_ptr->alive || player_ptr->is_dead) return; @@ -76,7 +76,7 @@ static void aura_elec_by_monster_attack(PlayerType *player_ptr, monap_type *mona } } -static void aura_cold_by_monster_attack(PlayerType *player_ptr, monap_type *monap_ptr) +static void aura_cold_by_monster_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (!has_sh_cold(player_ptr) || !monap_ptr->alive || player_ptr->is_dead) return; @@ -99,7 +99,7 @@ static void aura_cold_by_monster_attack(PlayerType *player_ptr, monap_type *mona } } -static void aura_shards_by_monster_attack(PlayerType *player_ptr, monap_type *monap_ptr) +static void aura_shards_by_monster_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (!player_ptr->dustrobe || !monap_ptr->alive || player_ptr->is_dead) return; @@ -123,7 +123,7 @@ static void aura_shards_by_monster_attack(PlayerType *player_ptr, monap_type *mo teleport_player(player_ptr, 10, TELEPORT_SPONTANEOUS); } -static void aura_holy_by_monster_attack(PlayerType *player_ptr, monap_type *monap_ptr) +static void aura_holy_by_monster_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (!player_ptr->tim_sh_holy || !monap_ptr->alive || player_ptr->is_dead) return; @@ -152,7 +152,7 @@ static void aura_holy_by_monster_attack(PlayerType *player_ptr, monap_type *mona r_ptr->r_flags3 |= RF3_EVIL; } -static void aura_force_by_monster_attack(PlayerType *player_ptr, monap_type *monap_ptr) +static void aura_force_by_monster_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (!player_ptr->tim_sh_touki || !monap_ptr->alive || player_ptr->is_dead) return; @@ -175,7 +175,7 @@ static void aura_force_by_monster_attack(PlayerType *player_ptr, monap_type *mon } } -static void aura_shadow_by_monster_attack(PlayerType *player_ptr, monap_type *monap_ptr) +static void aura_shadow_by_monster_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (!SpellHex(player_ptr).is_spelling_specific(HEX_SHADOW_CLOAK) || !monap_ptr->alive || player_ptr->is_dead) return; @@ -227,7 +227,7 @@ static void aura_shadow_by_monster_attack(PlayerType *player_ptr, monap_type *mo } } -void process_aura_counterattack(PlayerType *player_ptr, monap_type *monap_ptr) +void process_aura_counterattack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (!monap_ptr->touched) return; diff --git a/src/combat/aura-counterattack.h b/src/combat/aura-counterattack.h index 4751e1335..cf682a221 100644 --- a/src/combat/aura-counterattack.h +++ b/src/combat/aura-counterattack.h @@ -1,5 +1,5 @@ #pragma once -typedef struct monap_type monap_type; +class MonsterAttackPlayer; class PlayerType; -void process_aura_counterattack(PlayerType *player_ptr, monap_type *monap_ptr); +void process_aura_counterattack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); diff --git a/src/mind/mind-samurai.cpp b/src/mind/mind-samurai.cpp index 8ffed6ab3..54497a892 100644 --- a/src/mind/mind-samurai.cpp +++ b/src/mind/mind-samurai.cpp @@ -471,7 +471,7 @@ void mineuchi(PlayerType *player_ptr, player_attack_type *pa_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param pa_ptr 直接攻撃構造体への参照ポインタ */ -void musou_counterattack(PlayerType *player_ptr, monap_type *monap_ptr) +void musou_counterattack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if ((!player_ptr->counter && !PlayerClass(player_ptr).samurai_stance_is(SamuraiStanceType::MUSOU)) || !monap_ptr->alive || player_ptr->is_dead || !monap_ptr->m_ptr->ml || (player_ptr->csp <= 7)) diff --git a/src/mind/mind-samurai.h b/src/mind/mind-samurai.h index 5117d8df4..9e806307f 100644 --- a/src/mind/mind-samurai.h +++ b/src/mind/mind-samurai.h @@ -5,7 +5,7 @@ #include "combat/combat-options-type.h" #include "object-enchant/tr-flags.h" -typedef struct monap_type monap_type; +class MonsterAttackPlayer; struct monster_type; struct player_attack_type; class PlayerType; @@ -14,4 +14,4 @@ void concentration(PlayerType *player_ptr); bool choose_samurai_stance(PlayerType* player_ptr); int calc_attack_quality(PlayerType *player_ptr, player_attack_type *pa_ptr); void mineuchi(PlayerType *player_ptr, player_attack_type *pa_ptr); -void musou_counterattack(PlayerType *player_ptr, monap_type *monap_ptr); +void musou_counterattack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); diff --git a/src/monster-attack/monster-attack-describer.cpp b/src/monster-attack/monster-attack-describer.cpp index 935cdba80..d354580ce 100644 --- a/src/monster-attack/monster-attack-describer.cpp +++ b/src/monster-attack/monster-attack-describer.cpp @@ -13,7 +13,7 @@ #include "system/angband.h" #include "system/monster-type-definition.h" -static void show_jaian_song(monap_type *monap_ptr) +static void show_jaian_song(MonsterAttackPlayer *monap_ptr) { #ifdef JP switch (randint1(15)) { @@ -64,7 +64,7 @@ static void show_jaian_song(monap_type *monap_ptr) #endif } -static void monster_attack_show(monap_type *monap_ptr) +static void monster_attack_show(MonsterAttackPlayer *monap_ptr) { #ifdef JP monap_ptr->abbreviate = -1; @@ -81,7 +81,7 @@ static void monster_attack_show(monap_type *monap_ptr) sound(SOUND_SHOW); } -void describe_monster_attack_method(monap_type *monap_ptr) +void describe_monster_attack_method(MonsterAttackPlayer *monap_ptr) { switch (monap_ptr->method) { case RaceBlowMethodType::HIT: { diff --git a/src/monster-attack/monster-attack-describer.h b/src/monster-attack/monster-attack-describer.h index 52efd9bab..16dc6f54a 100644 --- a/src/monster-attack/monster-attack-describer.h +++ b/src/monster-attack/monster-attack-describer.h @@ -1,4 +1,4 @@ #pragma once -typedef struct monap_type monap_type; -void describe_monster_attack_method(monap_type *monap_ptr); +class MonsterAttackPlayer; +void describe_monster_attack_method(MonsterAttackPlayer *monap_ptr); diff --git a/src/monster-attack/monster-attack-lose.cpp b/src/monster-attack/monster-attack-lose.cpp index a1184bc7b..3ec45ee74 100644 --- a/src/monster-attack/monster-attack-lose.cpp +++ b/src/monster-attack/monster-attack-lose.cpp @@ -17,7 +17,7 @@ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ * @details 10% (毒の一次耐性があれば4%、二重耐性ならば1.6%)の確率で耐久が低下し、更に1/10の確率で永久低下する */ -void calc_blow_disease(PlayerType *player_ptr, monap_type *monap_ptr) +void calc_blow_disease(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (has_resist_pois(player_ptr)) monap_ptr->damage = monap_ptr->damage * (randint1(4) + 4) / 9; @@ -48,7 +48,7 @@ void calc_blow_disease(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -void calc_blow_lose_strength(PlayerType *player_ptr, monap_type *monap_ptr) +void calc_blow_lose_strength(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (has_sustain_str(player_ptr)) monap_ptr->get_damage = monap_ptr->get_damage * (randint1(4) + 4) / 9; @@ -66,7 +66,7 @@ void calc_blow_lose_strength(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -void calc_blow_lose_intelligence(PlayerType *player_ptr, monap_type *monap_ptr) +void calc_blow_lose_intelligence(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (has_sustain_int(player_ptr)) monap_ptr->get_damage = monap_ptr->get_damage * (randint1(4) + 4) / 9; @@ -84,7 +84,7 @@ void calc_blow_lose_intelligence(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -void calc_blow_lose_wisdom(PlayerType *player_ptr, monap_type *monap_ptr) +void calc_blow_lose_wisdom(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (has_sustain_wis(player_ptr)) monap_ptr->get_damage = monap_ptr->get_damage * (randint1(4) + 4) / 9; @@ -102,7 +102,7 @@ void calc_blow_lose_wisdom(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -void calc_blow_lose_dexterity(PlayerType *player_ptr, monap_type *monap_ptr) +void calc_blow_lose_dexterity(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (has_sustain_dex(player_ptr)) monap_ptr->get_damage = monap_ptr->get_damage * (randint1(4) + 4) / 9; @@ -120,7 +120,7 @@ void calc_blow_lose_dexterity(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -void calc_blow_lose_constitution(PlayerType *player_ptr, monap_type *monap_ptr) +void calc_blow_lose_constitution(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (has_sustain_con(player_ptr)) monap_ptr->get_damage = monap_ptr->get_damage * (randint1(4) + 4) / 9; @@ -138,7 +138,7 @@ void calc_blow_lose_constitution(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -void calc_blow_lose_charisma(PlayerType *player_ptr, monap_type *monap_ptr) +void calc_blow_lose_charisma(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (has_sustain_chr(player_ptr)) monap_ptr->get_damage = monap_ptr->get_damage * (randint1(4) + 4) / 9; @@ -156,7 +156,7 @@ void calc_blow_lose_charisma(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -void calc_blow_lose_all(PlayerType *player_ptr, monap_type *monap_ptr) +void calc_blow_lose_all(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { int damage_ratio = 100; if (has_sustain_str(player_ptr)) diff --git a/src/monster-attack/monster-attack-lose.h b/src/monster-attack/monster-attack-lose.h index 45c0f5f8f..a3e0e5bc1 100644 --- a/src/monster-attack/monster-attack-lose.h +++ b/src/monster-attack/monster-attack-lose.h @@ -1,12 +1,12 @@ #pragma once -typedef struct monap_type monap_type; +class MonsterAttackPlayer; class PlayerType; -void calc_blow_disease(PlayerType *player_ptr, monap_type *monap_ptr); -void calc_blow_lose_strength(PlayerType *player_ptr, monap_type *monap_ptr); -void calc_blow_lose_intelligence(PlayerType *player_ptr, monap_type *monap_ptr); -void calc_blow_lose_wisdom(PlayerType *player_ptr, monap_type *monap_ptr); -void calc_blow_lose_dexterity(PlayerType *player_ptr, monap_type *monap_ptr); -void calc_blow_lose_constitution(PlayerType *player_ptr, monap_type *monap_ptr); -void calc_blow_lose_charisma(PlayerType *player_ptr, monap_type *monap_ptr); -void calc_blow_lose_all(PlayerType *player_ptr, monap_type *monap_ptr); +void calc_blow_disease(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void calc_blow_lose_strength(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void calc_blow_lose_intelligence(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void calc_blow_lose_wisdom(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void calc_blow_lose_dexterity(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void calc_blow_lose_constitution(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void calc_blow_lose_charisma(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void calc_blow_lose_all(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); diff --git a/src/monster-attack/monster-attack-player.cpp b/src/monster-attack/monster-attack-player.cpp index 5dbf05e77..c1c7306f3 100644 --- a/src/monster-attack/monster-attack-player.cpp +++ b/src/monster-attack/monster-attack-player.cpp @@ -58,7 +58,7 @@ #include "util/bit-flags-calculator.h" #include "view/display-messages.h" -static bool check_no_blow(PlayerType *player_ptr, monap_type *monap_ptr) +static bool check_no_blow(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { auto *r_ptr = &r_info[monap_ptr->m_ptr->r_idx]; if (r_ptr->behavior_flags.has(MonsterBehaviorType::NEVER_BLOW)) { @@ -78,7 +78,7 @@ static bool check_no_blow(PlayerType *player_ptr, monap_type *monap_ptr) * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ * @return 攻撃続行ならばTRUE、打ち切りになったらFALSE */ -static bool check_monster_continuous_attack(PlayerType *player_ptr, monap_type *monap_ptr) +static bool check_monster_continuous_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (!monster_is_valid(monap_ptr->m_ptr) || (monap_ptr->method == RaceBlowMethodType::NONE)) { return false; @@ -100,7 +100,7 @@ static bool check_monster_continuous_attack(PlayerType *player_ptr, monap_type * * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ * @return briefに書いた条件+確率が満たされたらTRUE、それ以外はFALSE */ -static bool effect_protecion_from_evil(PlayerType *player_ptr, monap_type *monap_ptr) +static bool effect_protecion_from_evil(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { auto *r_ptr = &r_info[monap_ptr->m_ptr->r_idx]; if ((player_ptr->protevil <= 0) || none_bits(r_ptr->flags3, RF3_EVIL) || (player_ptr->lev < monap_ptr->rlev) || ((randint0(100) + player_ptr->lev) <= 50)) { @@ -121,7 +121,7 @@ static bool effect_protecion_from_evil(PlayerType *player_ptr, monap_type *monap return true; } -static void describe_silly_attacks(monap_type *monap_ptr) +static void describe_silly_attacks(MonsterAttackPlayer *monap_ptr) { if (monap_ptr->act == nullptr) { return; @@ -154,7 +154,7 @@ static void describe_silly_attacks(monap_type *monap_ptr) * @brief 切り傷と朦朧が同時に発生した時、片方を無効にする * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -static void select_cut_stun(monap_type *monap_ptr) +static void select_cut_stun(MonsterAttackPlayer *monap_ptr) { if ((monap_ptr->do_cut == 0) || (monap_ptr->do_stun == 0)) { return; @@ -167,7 +167,7 @@ static void select_cut_stun(monap_type *monap_ptr) } } -static void calc_player_cut(PlayerType *player_ptr, monap_type *monap_ptr) +static void calc_player_cut(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (monap_ptr->do_cut == 0) { return; @@ -203,7 +203,7 @@ static int stat_value(const int raw) * 2%の確率で朦朧蓄積ランクを1上げる. * 肉体のパラメータが合計80を超える水準に強化されていたら朦朧蓄積ランクを1下げる. */ -static void process_player_stun(PlayerType *player_ptr, monap_type *monap_ptr) +static void process_player_stun(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (monap_ptr->do_stun == 0) { return; @@ -237,7 +237,7 @@ static void process_player_stun(PlayerType *player_ptr, monap_type *monap_ptr) } } -static void monster_explode(PlayerType *player_ptr, monap_type *monap_ptr) +static void monster_explode(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (!monap_ptr->explode) { return; @@ -251,7 +251,7 @@ static void monster_explode(PlayerType *player_ptr, monap_type *monap_ptr) } } -static void describe_attack_evasion(PlayerType *player_ptr, monap_type *monap_ptr) +static void describe_attack_evasion(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (!monap_ptr->m_ptr->ml) { return; @@ -272,7 +272,7 @@ static void describe_attack_evasion(PlayerType *player_ptr, monap_type *monap_pt #endif } -static void gain_armor_exp(PlayerType *player_ptr, monap_type *monap_ptr) +static void gain_armor_exp(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { const auto o_ptr_mh = &player_ptr->inventory_list[INVEN_MAIN_HAND]; const auto o_ptr_sh = &player_ptr->inventory_list[INVEN_SUB_HAND]; @@ -305,7 +305,7 @@ static void gain_armor_exp(PlayerType *player_ptr, monap_type *monap_ptr) * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ * @details 最大4 回/モンスター/ターン、このルーチンを通る */ -static bool process_monster_attack_hit(PlayerType *player_ptr, monap_type *monap_ptr) +static bool process_monster_attack_hit(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { disturb(player_ptr, true, true); if (effect_protecion_from_evil(player_ptr, monap_ptr)) { @@ -336,7 +336,7 @@ static bool process_monster_attack_hit(PlayerType *player_ptr, monap_type *monap * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -static void process_monster_attack_evasion(PlayerType *player_ptr, monap_type *monap_ptr) +static void process_monster_attack_evasion(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { switch (monap_ptr->method) { case RaceBlowMethodType::HIT: @@ -369,7 +369,7 @@ static void process_monster_attack_evasion(PlayerType *player_ptr, monap_type *m * 非自明な類の打撃については、そのダメージが 0 ならば基本的に知識が増えない. * 但し、既に一定以上の知識があれば常に知識が増える(何をされたのか察知できる). */ -static void increase_blow_type_seen(PlayerType *player_ptr, monap_type *monap_ptr, const int ap_cnt) +static void increase_blow_type_seen(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr, const int ap_cnt) { if (!is_original_ap_and_seen(player_ptr, monap_ptr->m_ptr) || monap_ptr->do_silly_attack) { return; @@ -389,7 +389,7 @@ static void increase_blow_type_seen(PlayerType *player_ptr, monap_type *monap_pt * @brief モンスターからプレイヤーへの打撃処理本体 * @return 打撃に反応してプレイヤーがその場から離脱したかどうか */ -static bool process_monster_blows(PlayerType *player_ptr, monap_type *monap_ptr) +static bool process_monster_blows(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { auto *r_ptr = &r_info[monap_ptr->m_ptr->r_idx]; for (auto ap_cnt = 0; ap_cnt < MAX_NUM_BLOWS; ap_cnt++) { @@ -455,7 +455,7 @@ static bool process_monster_blows(PlayerType *player_ptr, monap_type *monap_ptr) return false; } -static void postprocess_monster_blows(PlayerType *player_ptr, monap_type *monap_ptr) +static void postprocess_monster_blows(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { SpellHex spell_hex(player_ptr, monap_ptr); spell_hex.store_vengeful_damage(monap_ptr->get_damage); @@ -481,8 +481,8 @@ static void postprocess_monster_blows(PlayerType *player_ptr, monap_type *monap_ */ void make_attack_normal(PlayerType *player_ptr, short m_idx) { - monap_type tmp_monap; - monap_type *monap_ptr = initialize_monap_type(player_ptr, &tmp_monap, m_idx); + MonsterAttackPlayer tmp_monap; + MonsterAttackPlayer *monap_ptr = initialize_MonsterAttackPlayer(player_ptr, &tmp_monap, m_idx); if (!check_no_blow(player_ptr, monap_ptr)) { return; } diff --git a/src/monster-attack/monster-attack-status.cpp b/src/monster-attack/monster-attack-status.cpp index 1f88fa902..0cc638a38 100644 --- a/src/monster-attack/monster-attack-status.cpp +++ b/src/monster-attack/monster-attack-status.cpp @@ -20,7 +20,7 @@ #include "timed-effect/timed-effects.h" #include "view/display-messages.h" -void process_blind_attack(PlayerType *player_ptr, monap_type *monap_ptr) +void process_blind_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (has_resist_blind(player_ptr) || check_multishadow(player_ptr)) { return; @@ -45,7 +45,7 @@ void process_blind_attack(PlayerType *player_ptr, monap_type *monap_ptr) monap_ptr->obvious = true; } -void process_terrify_attack(PlayerType *player_ptr, monap_type *monap_ptr) +void process_terrify_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (check_multishadow(player_ptr)) { return; @@ -69,7 +69,7 @@ void process_terrify_attack(PlayerType *player_ptr, monap_type *monap_ptr) } } -void process_paralyze_attack(PlayerType *player_ptr, monap_type *monap_ptr) +void process_paralyze_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (check_multishadow(player_ptr)) { return; @@ -93,7 +93,7 @@ void process_paralyze_attack(PlayerType *player_ptr, monap_type *monap_ptr) } } -void process_lose_all_attack(PlayerType *player_ptr, monap_type *monap_ptr) +void process_lose_all_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (do_dec_stat(player_ptr, A_STR)) { monap_ptr->obvious = true; @@ -120,7 +120,7 @@ void process_lose_all_attack(PlayerType *player_ptr, monap_type *monap_ptr) } } -void process_stun_attack(PlayerType *player_ptr, monap_type *monap_ptr) +void process_stun_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (has_resist_sound(player_ptr) || check_multishadow(player_ptr)) { return; @@ -137,7 +137,7 @@ void process_stun_attack(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @monap_ptr モンスターからモンスターへの直接攻撃構造体への参照ポインタ */ -static void describe_disability(PlayerType *player_ptr, monap_type *monap_ptr) +static void describe_disability(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { int stat = randint0(6); switch (stat) { @@ -168,7 +168,7 @@ static void describe_disability(PlayerType *player_ptr, monap_type *monap_ptr) } } -void process_monster_attack_time(PlayerType *player_ptr, monap_type *monap_ptr) +void process_monster_attack_time(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (has_resist_time(player_ptr) || check_multishadow(player_ptr)) { return; diff --git a/src/monster-attack/monster-attack-status.h b/src/monster-attack/monster-attack-status.h index 5ac96d070..429291025 100644 --- a/src/monster-attack/monster-attack-status.h +++ b/src/monster-attack/monster-attack-status.h @@ -2,11 +2,11 @@ #include "system/angband.h" -typedef struct monap_type monap_type; +class MonsterAttackPlayer; class PlayerType; -void process_blind_attack(PlayerType *player_ptr, monap_type *monap_ptr); -void process_terrify_attack(PlayerType *player_ptr, monap_type *monap_ptr); -void process_paralyze_attack(PlayerType *player_ptr, monap_type *monap_ptr); -void process_lose_all_attack(PlayerType *player_ptr, monap_type *monap_ptr); -void process_stun_attack(PlayerType *player_ptr, monap_type *monap_ptr); -void process_monster_attack_time(PlayerType *player_ptr, monap_type *monap_ptr); +void process_blind_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void process_terrify_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void process_paralyze_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void process_lose_all_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void process_stun_attack(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void process_monster_attack_time(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); diff --git a/src/monster-attack/monster-attack-switcher.cpp b/src/monster-attack/monster-attack-switcher.cpp index 48a841d73..59bacc580 100644 --- a/src/monster-attack/monster-attack-switcher.cpp +++ b/src/monster-attack/monster-attack-switcher.cpp @@ -36,7 +36,7 @@ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ * @details 減衰の計算式がpoisではなくnukeなのは仕様 (1/3では減衰が強すぎると判断したため) */ -static void calc_blow_poison(PlayerType *player_ptr, monap_type *monap_ptr) +static void calc_blow_poison(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (monap_ptr->explode) return; @@ -55,7 +55,7 @@ static void calc_blow_poison(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -static void calc_blow_disenchant(PlayerType *player_ptr, monap_type *monap_ptr) +static void calc_blow_disenchant(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (monap_ptr->explode) return; @@ -78,7 +78,7 @@ static void calc_blow_disenchant(PlayerType *player_ptr, monap_type *monap_ptr) * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ * @detals 魔道具使用能力向上フラグがあれば、吸収対象のアイテムをスキャンされる回数が半分で済む */ -static void calc_blow_un_power(PlayerType *player_ptr, monap_type *monap_ptr) +static void calc_blow_un_power(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { int damage_ratio = 1000; if (has_dec_mana(player_ptr)) @@ -113,7 +113,7 @@ static void calc_blow_un_power(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -static void calc_blow_blind(PlayerType *player_ptr, monap_type *monap_ptr) +static void calc_blow_blind(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (has_resist_blind(player_ptr)) monap_ptr->damage = monap_ptr->damage * (randint1(4) + 3) / 8; @@ -131,7 +131,7 @@ static void calc_blow_blind(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -static void calc_blow_confusion(PlayerType *player_ptr, monap_type *monap_ptr) +static void calc_blow_confusion(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (monap_ptr->explode) { return; @@ -158,7 +158,7 @@ static void calc_blow_confusion(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -static void calc_blow_fear(PlayerType *player_ptr, monap_type *monap_ptr) +static void calc_blow_fear(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (has_resist_fear(player_ptr)) monap_ptr->damage = monap_ptr->damage * (randint1(4) + 3) / 8; @@ -176,7 +176,7 @@ static void calc_blow_fear(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -static void calc_blow_paralysis(PlayerType *player_ptr, monap_type *monap_ptr) +static void calc_blow_paralysis(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (has_free_act(player_ptr)) monap_ptr->damage = monap_ptr->damage * (randint1(4) + 3) / 8; @@ -194,7 +194,7 @@ static void calc_blow_paralysis(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -static void calc_blow_drain_exp(PlayerType *player_ptr, monap_type *monap_ptr, const int drain_value, const int hold_exp_prob) +static void calc_blow_drain_exp(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr, const int drain_value, const int hold_exp_prob) { int32_t d = damroll(drain_value, 6) + (player_ptr->exp / 100) * MON_DRAIN_LIFE; monap_ptr->obvious = true; @@ -218,7 +218,7 @@ static void calc_blow_drain_exp(PlayerType *player_ptr, monap_type *monap_ptr, c * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -static void calc_blow_time(PlayerType *player_ptr, monap_type *monap_ptr) +static void calc_blow_time(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (monap_ptr->explode) return; @@ -235,7 +235,7 @@ static void calc_blow_time(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -static void calc_blow_drain_life(PlayerType *player_ptr, monap_type *monap_ptr) +static void calc_blow_drain_life(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { int32_t d = damroll(60, 6) + (player_ptr->exp / 100) * MON_DRAIN_LIFE; monap_ptr->obvious = true; @@ -255,7 +255,7 @@ static void calc_blow_drain_life(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -static void calc_blow_drain_mana(PlayerType *player_ptr, monap_type *monap_ptr) +static void calc_blow_drain_mana(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { monap_ptr->obvious = true; int damage_ratio = 100; @@ -273,7 +273,7 @@ static void calc_blow_drain_mana(PlayerType *player_ptr, monap_type *monap_ptr) update_smart_learn(player_ptr, monap_ptr->m_idx, DRS_MANA); } -static void calc_blow_inertia(PlayerType *player_ptr, monap_type *monap_ptr) +static void calc_blow_inertia(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if ((player_ptr->fast > 0) || (player_ptr->pspeed >= 130)) monap_ptr->damage = monap_ptr->damage * (randint1(4) + 4) / 9; @@ -289,7 +289,7 @@ static void calc_blow_inertia(PlayerType *player_ptr, monap_type *monap_ptr) /*! * @brief 空腹進行度を計算する (急速回復があれば+100%、遅消化があれば-50%) */ -static void calc_blow_hungry(PlayerType *player_ptr, monap_type *monap_ptr) +static void calc_blow_hungry(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (player_ptr->regenerate) monap_ptr->damage = monap_ptr->damage * 2; @@ -299,7 +299,7 @@ static void calc_blow_hungry(PlayerType *player_ptr, monap_type *monap_ptr) process_monster_attack_hungry(player_ptr, monap_ptr); } -void switch_monster_blow_to_player(PlayerType *player_ptr, monap_type *monap_ptr) +void switch_monster_blow_to_player(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { switch (monap_ptr->effect) { case RaceBlowEffectType::NONE: diff --git a/src/monster-attack/monster-attack-switcher.h b/src/monster-attack/monster-attack-switcher.h index e7160b29a..aec774440 100644 --- a/src/monster-attack/monster-attack-switcher.h +++ b/src/monster-attack/monster-attack-switcher.h @@ -1,5 +1,5 @@ #pragma once -typedef struct monap_type monap_type; +class MonsterAttackPlayer; class PlayerType; -void switch_monster_blow_to_player(PlayerType *player_ptr, monap_type *monap_ptr); +void switch_monster_blow_to_player(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); diff --git a/src/monster-attack/monster-attack-util.cpp b/src/monster-attack/monster-attack-util.cpp index ae6aafdee..3bb1e18fd 100644 --- a/src/monster-attack/monster-attack-util.cpp +++ b/src/monster-attack/monster-attack-util.cpp @@ -9,7 +9,7 @@ #include "system/monster-type-definition.h" #include "system/player-type-definition.h" -monap_type *initialize_monap_type(PlayerType *player_ptr, monap_type *monap_ptr, MONSTER_IDX m_idx) +MonsterAttackPlayer *initialize_MonsterAttackPlayer(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr, MONSTER_IDX m_idx) { #ifdef JP monap_ptr->abbreviate = 0; diff --git a/src/monster-attack/monster-attack-util.h b/src/monster-attack/monster-attack-util.h index c081f0577..e888d33e3 100644 --- a/src/monster-attack/monster-attack-util.h +++ b/src/monster-attack/monster-attack-util.h @@ -4,10 +4,10 @@ #include "monster-attack/monster-attack-types.h" #include "system/angband.h" -/* MONster-Attack-Player、地図のMAPと紛らわしいのでmonapとした */ struct monster_type; struct object_type; -typedef struct monap_type { +class MonsterAttackPlayer { +public: #ifdef JP int abbreviate; // 2回目以降の省略表現フラグ. #endif @@ -35,7 +35,7 @@ typedef struct monap_type { ARMOUR_CLASS ac; bool alive; bool fear; -} monap_type; +}; class PlayerType; -monap_type *initialize_monap_type(PlayerType *player_ptr, monap_type *monap_ptr, MONSTER_IDX m_idx); +MonsterAttackPlayer *initialize_MonsterAttackPlayer(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr, MONSTER_IDX m_idx); diff --git a/src/monster-attack/monster-eating.cpp b/src/monster-attack/monster-eating.cpp index 6ee1ab462..b66357243 100644 --- a/src/monster-attack/monster-eating.cpp +++ b/src/monster-attack/monster-eating.cpp @@ -32,7 +32,7 @@ #include "view/display-messages.h" #include "world/world-object.h" -void process_eat_gold(PlayerType *player_ptr, monap_type *monap_ptr) +void process_eat_gold(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (!player_ptr->paralyzed && (randint0(100) < (adj_dex_safe[player_ptr->stat_index[A_DEX]] + player_ptr->lev))) { msg_print(_("しかし素早く財布を守った!", "You quickly protect your money pouch!")); @@ -76,7 +76,7 @@ void process_eat_gold(PlayerType *player_ptr, monap_type *monap_ptr) * @monap_ptr モンスターからモンスターへの直接攻撃構造体への参照ポインタ * @return 盗まれたらTRUE、何も盗まれなかったらFALSE */ -bool check_eat_item(PlayerType *player_ptr, monap_type *monap_ptr) +bool check_eat_item(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (monster_confused_remaining(monap_ptr->m_ptr)) return false; @@ -99,7 +99,7 @@ bool check_eat_item(PlayerType *player_ptr, monap_type *monap_ptr) * @param player_ptr プレイヤーへの参照ポインタ * @monap_ptr モンスターからモンスターへの直接攻撃構造体への参照ポインタ */ -static void move_item_to_monster(PlayerType *player_ptr, monap_type *monap_ptr, const OBJECT_IDX o_idx) +static void move_item_to_monster(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr, const OBJECT_IDX o_idx) { if (o_idx == 0) return; @@ -124,7 +124,7 @@ static void move_item_to_monster(PlayerType *player_ptr, monap_type *monap_ptr, * @monap_ptr モンスターからモンスターへの直接攻撃構造体への参照ポインタ * @details eatとあるがお金や食べ物と違ってなくならない、盗んだモンスターを倒せば取り戻せる */ -void process_eat_item(PlayerType *player_ptr, monap_type *monap_ptr) +void process_eat_item(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { for (int i = 0; i < 10; i++) { OBJECT_IDX o_idx; @@ -153,7 +153,7 @@ void process_eat_item(PlayerType *player_ptr, monap_type *monap_ptr) } } -void process_eat_food(PlayerType *player_ptr, monap_type *monap_ptr) +void process_eat_food(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { for (int i = 0; i < 10; i++) { INVENTORY_IDX i_idx = (INVENTORY_IDX)randint0(INVEN_PACK); @@ -177,7 +177,7 @@ void process_eat_food(PlayerType *player_ptr, monap_type *monap_ptr) } } -void process_eat_lite(PlayerType *player_ptr, monap_type *monap_ptr) +void process_eat_lite(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if ((monap_ptr->o_ptr->xtra4 <= 0) || monap_ptr->o_ptr->is_fixed_artifact()) return; @@ -202,7 +202,7 @@ void process_eat_lite(PlayerType *player_ptr, monap_type *monap_ptr) * @details 魔道具使用能力向上フラグがあれば、吸収量は全部ではない * 詳細はOSDN #40911の議論を参照のこと */ -bool process_un_power(PlayerType *player_ptr, monap_type *monap_ptr) +bool process_un_power(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (((monap_ptr->o_ptr->tval != ItemKindType::STAFF) && (monap_ptr->o_ptr->tval != ItemKindType::WAND)) || (monap_ptr->o_ptr->pval == 0)) return false; @@ -261,7 +261,7 @@ bool check_drain_hp(PlayerType *player_ptr, const int32_t d) } } -void process_drain_life(PlayerType *player_ptr, monap_type *monap_ptr, const bool resist_drain) +void process_drain_life(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr, const bool resist_drain) { if ((monap_ptr->damage <= 5) || resist_drain) return; @@ -281,7 +281,7 @@ void process_drain_life(PlayerType *player_ptr, monap_type *monap_ptr, const boo msg_format(_("%sは体力を回復したようだ。", "%^s appears healthier."), monap_ptr->m_name); } -void process_drain_mana(PlayerType *player_ptr, monap_type *monap_ptr) +void process_drain_mana(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if (check_multishadow(player_ptr)) { msg_print(_("攻撃は幻影に命中し、あなたには届かなかった。", "The attack hits Shadow, but you are unharmed!")); @@ -304,7 +304,7 @@ void process_drain_mana(PlayerType *player_ptr, monap_type *monap_ptr) * @monap_ptr モンスターからモンスターへの直接攻撃構造体への参照ポインタ * @details 空腹、衰弱の一歩手前で止める優しさは残す。 */ -void process_monster_attack_hungry(PlayerType *player_ptr, monap_type *monap_ptr) +void process_monster_attack_hungry(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { msg_format(_("あなたは腹が減った!", "You feel hungry!")); auto subtracted_food = static_cast(player_ptr->food - monap_ptr->damage); diff --git a/src/monster-attack/monster-eating.h b/src/monster-attack/monster-eating.h index 2c0f37a7e..b5b418c84 100644 --- a/src/monster-attack/monster-eating.h +++ b/src/monster-attack/monster-eating.h @@ -2,16 +2,16 @@ #include "system/angband.h" -typedef struct monap_type monap_type; +class MonsterAttackPlayer; class PlayerType; -void process_eat_gold(PlayerType *player_ptr, monap_type *monap_ptr); -bool check_eat_item(PlayerType *player_ptr, monap_type *monap_ptr); -void process_eat_item(PlayerType *player_ptr, monap_type *monap_ptr); -void process_eat_food(PlayerType *player_ptr, monap_type *monap_ptr); -void process_eat_lite(PlayerType *player_ptr, monap_type *monap_ptr); +void process_eat_gold(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +bool check_eat_item(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void process_eat_item(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void process_eat_food(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void process_eat_lite(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); -bool process_un_power(PlayerType *player_ptr, monap_type *monap_ptr); +bool process_un_power(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); bool check_drain_hp(PlayerType *player_ptr, const int32_t d); -void process_drain_life(PlayerType *player_ptr, monap_type *monap_ptr, const bool resist_drain); -void process_drain_mana(PlayerType *player_ptr, monap_type *monap_ptr); -void process_monster_attack_hungry(PlayerType *player_ptr, monap_type *monap_ptr); +void process_drain_life(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr, const bool resist_drain); +void process_drain_mana(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); +void process_monster_attack_hungry(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); diff --git a/src/pet/pet-fall-off.cpp b/src/pet/pet-fall-off.cpp index 5811529ca..42f6aaf71 100644 --- a/src/pet/pet-fall-off.cpp +++ b/src/pet/pet-fall-off.cpp @@ -33,7 +33,7 @@ * @param player_ptr プレイヤーへの参照ポインタ * @param monap_ptr モンスターからプレイヤーへの直接攻撃構造体への参照ポインタ */ -void check_fall_off_horse(PlayerType *player_ptr, monap_type *monap_ptr) +void check_fall_off_horse(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) { if ((player_ptr->riding == 0) || (monap_ptr->damage == 0)) return; diff --git a/src/pet/pet-fall-off.h b/src/pet/pet-fall-off.h index 31277d143..2bde7cbd2 100644 --- a/src/pet/pet-fall-off.h +++ b/src/pet/pet-fall-off.h @@ -2,7 +2,7 @@ #include "system/angband.h" -typedef struct monap_type monap_type; +class MonsterAttackPlayer; class PlayerType; -void check_fall_off_horse(PlayerType *player_ptr, monap_type *monap_ptr); +void check_fall_off_horse(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); bool process_fall_off_horse(PlayerType *player_ptr, HIT_POINT dam, bool force); diff --git a/src/spell-realm/spells-hex.cpp b/src/spell-realm/spells-hex.cpp index 6627c2ace..87425abc3 100644 --- a/src/spell-realm/spells-hex.cpp +++ b/src/spell-realm/spells-hex.cpp @@ -54,7 +54,7 @@ SpellHex::SpellHex(PlayerType *player_ptr) } } -SpellHex::SpellHex(PlayerType *player_ptr, monap_type *monap_ptr) +SpellHex::SpellHex(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) : player_ptr(player_ptr) , monap_ptr(monap_ptr) { diff --git a/src/spell-realm/spells-hex.h b/src/spell-realm/spells-hex.h index e0c778507..1c22c2e6b 100644 --- a/src/spell-realm/spells-hex.h +++ b/src/spell-realm/spells-hex.h @@ -10,13 +10,13 @@ enum class SpellHexRevengeType : byte { REVENGE = 2, }; -struct monap_type; +class MonsterAttackPlayer; class PlayerType; struct spell_hex_data_type; class SpellHex { public: SpellHex(PlayerType *player_ptr); - SpellHex(PlayerType *player_ptr, monap_type *monap_ptr); + SpellHex(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr); virtual ~SpellHex() = default; bool stop_spells_with_selection(); @@ -44,7 +44,7 @@ public: private: PlayerType *player_ptr; std::vector casting_spells; - monap_type *monap_ptr = nullptr; + MonsterAttackPlayer *monap_ptr = nullptr; std::shared_ptr spell_hex_data; std::tuple select_spell_stopping(char *out_val); -- 2.11.0