From: Hourier Date: Thu, 9 Jan 2020 10:54:14 +0000 (+0900) Subject: [Refactor] #38997 *_monster() にplayer_type *引数を追加 / Added player_type * argument... X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;ds=sidebyside;h=8270b2d19b12448d259785580e5bd80d08b84e26;p=hengband%2Fhengband.git [Refactor] #38997 *_monster() にplayer_type *引数を追加 / Added player_type * argument to *_monster() --- diff --git a/src/cmd/cmd-activate.c b/src/cmd/cmd-activate.c index fea231e47..ecade710b 100644 --- a/src/cmd/cmd-activate.c +++ b/src/cmd/cmd-activate.c @@ -1074,7 +1074,7 @@ bool activate_artifact(player_type *user_ptr, object_type *o_ptr) { msg_print(_("様々な色の火花を発している...", "It glows in scintillating colours...")); if (!get_aim_dir(&dir)) return FALSE; - confuse_monster(dir, 20); + confuse_monster(user_ptr, dir, 20); break; } diff --git a/src/cmd/cmd-mane.c b/src/cmd/cmd-mane.c index 111861e25..190c59342 100644 --- a/src/cmd/cmd-mane.c +++ b/src/cmd/cmd-mane.c @@ -622,25 +622,25 @@ static bool use_mane(player_type *caster_ptr, int spell) if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("恐ろしげな幻覚を作り出した。", "You cast a fearful illusion.")); - fear_monster(dir, plev+10); + fear_monster(caster_ptr, dir, plev+10); break; case MS_BLIND: if (!get_aim_dir(&dir)) return FALSE; - confuse_monster(dir, plev * 2); + confuse_monster(caster_ptr, dir, plev * 2); break; case MS_CONF: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("誘惑的な幻覚をつくり出した。", "You cast a mesmerizing illusion.")); - confuse_monster(dir, plev * 2); + confuse_monster(caster_ptr, dir, plev * 2); break; case MS_SLOW: if (!get_aim_dir(&dir)) return FALSE; - slow_monster(dir, plev); + slow_monster(caster_ptr, dir, plev); break; case MS_SLEEP: if (!get_aim_dir(&dir)) return FALSE; - sleep_monster(dir, plev); + sleep_monster(caster_ptr, dir, plev); break; case MS_SPEED: (void)set_fast(caster_ptr, randint1(20 + plev) + plev, FALSE); diff --git a/src/cmd/cmd-zaprod.c b/src/cmd/cmd-zaprod.c index 5306a2b1c..404548f37 100644 --- a/src/cmd/cmd-zaprod.c +++ b/src/cmd/cmd-zaprod.c @@ -155,13 +155,13 @@ int rod_effect(player_type *creature_ptr, OBJECT_SUBTYPE_VALUE sval, DIRECTION d case SV_ROD_SLEEP_MONSTER: { - if (sleep_monster(dir, lev)) ident = TRUE; + if (sleep_monster(creature_ptr, dir, lev)) ident = TRUE; break; } case SV_ROD_SLOW_MONSTER: { - if (slow_monster(dir, lev)) ident = TRUE; + if (slow_monster(creature_ptr, dir, lev)) ident = TRUE; break; } @@ -173,7 +173,7 @@ int rod_effect(player_type *creature_ptr, OBJECT_SUBTYPE_VALUE sval, DIRECTION d case SV_ROD_POLYMORPH: { - if (poly_monster(dir, lev)) ident = TRUE; + if (poly_monster(creature_ptr, dir, lev)) ident = TRUE; break; } diff --git a/src/cmd/cmd-zapwand.c b/src/cmd/cmd-zapwand.c index 730fa958c..d4caf7ca2 100644 --- a/src/cmd/cmd-zapwand.c +++ b/src/cmd/cmd-zapwand.c @@ -59,19 +59,19 @@ bool wand_effect(player_type *creature_ptr, OBJECT_SUBTYPE_VALUE sval, DIRECTION case SV_WAND_HEAL_MONSTER: { HIT_POINT dam = damroll((powerful ? 20 : 10), 10); - if (heal_monster(dir, dam)) ident = TRUE; + if (heal_monster(creature_ptr, dir, dam)) ident = TRUE; break; } case SV_WAND_HASTE_MONSTER: { - if (speed_monster(dir, lev)) ident = TRUE; + if (speed_monster(creature_ptr, dir, lev)) ident = TRUE; break; } case SV_WAND_CLONE_MONSTER: { - if (clone_monster(dir)) ident = TRUE; + if (clone_monster(creature_ptr, dir)) ident = TRUE; break; } @@ -114,25 +114,25 @@ bool wand_effect(player_type *creature_ptr, OBJECT_SUBTYPE_VALUE sval, DIRECTION case SV_WAND_SLEEP_MONSTER: { - if (sleep_monster(dir, lev)) ident = TRUE; + if (sleep_monster(creature_ptr, dir, lev)) ident = TRUE; break; } case SV_WAND_SLOW_MONSTER: { - if (slow_monster(dir, lev)) ident = TRUE; + if (slow_monster(creature_ptr, dir, lev)) ident = TRUE; break; } case SV_WAND_CONFUSE_MONSTER: { - if (confuse_monster(dir, lev)) ident = TRUE; + if (confuse_monster(creature_ptr, dir, lev)) ident = TRUE; break; } case SV_WAND_FEAR_MONSTER: { - if (fear_monster(dir, lev)) ident = TRUE; + if (fear_monster(creature_ptr, dir, lev)) ident = TRUE; break; } @@ -144,7 +144,7 @@ bool wand_effect(player_type *creature_ptr, OBJECT_SUBTYPE_VALUE sval, DIRECTION case SV_WAND_POLYMORPH: { - if (poly_monster(dir, lev)) ident = TRUE; + if (poly_monster(creature_ptr, dir, lev)) ident = TRUE; break; } diff --git a/src/mind.c b/src/mind.c index 5ed1b55e1..8c087e573 100644 --- a/src/mind.c +++ b/src/mind.c @@ -1595,7 +1595,7 @@ static bool cast_ninja_spell(player_type *caster_ptr, int spell) case 6: { if (!get_aim_dir(&dir)) return FALSE; - (void)stasis_monster(dir); + (void)stasis_monster(caster_ptr, dir); break; } case 7: diff --git a/src/mspells3.c b/src/mspells3.c index a2bde2264..d780b83ff 100644 --- a/src/mspells3.c +++ b/src/mspells3.c @@ -1246,25 +1246,25 @@ static bool cast_learned_spell(player_type *caster_ptr, int spell, bool success) if (!get_aim_dir(&dir)) return FALSE; msg_print(_("恐ろしげな幻覚を作り出した。", "You cast a fearful illusion.")); - fear_monster(dir, plev+10); + fear_monster(caster_ptr, dir, plev+10); break; case MS_BLIND: if (!get_aim_dir(&dir)) return FALSE; - confuse_monster(dir, plev * 2); + confuse_monster(caster_ptr, dir, plev * 2); break; case MS_CONF: if (!get_aim_dir(&dir)) return FALSE; msg_print(_("誘惑的な幻覚をつくり出した。", "You cast a mesmerizing illusion.")); - confuse_monster(dir, plev * 2); + confuse_monster(caster_ptr, dir, plev * 2); break; case MS_SLOW: if (!get_aim_dir(&dir)) return FALSE; - slow_monster(dir, plev); + slow_monster(caster_ptr, dir, plev); break; case MS_SLEEP: if (!get_aim_dir(&dir)) return FALSE; - sleep_monster(dir, plev); + sleep_monster(caster_ptr, dir, plev); break; case MS_SPEED: (void)set_fast(caster_ptr, randint1(20 + plev) + plev, FALSE); diff --git a/src/racial.c b/src/racial.c index 32e7fb65c..faad55d93 100644 --- a/src/racial.c +++ b/src/racial.c @@ -720,7 +720,7 @@ static bool exe_racial_power(player_type *creature_ptr, s32b command) if (!get_aim_dir(&dir)) return FALSE; stop_mouth(creature_ptr); msg_print(_("身の毛もよだつ叫び声を上げた!", "You make a horrible scream!")); - (void)fear_monster(dir, plev); + (void)fear_monster(creature_ptr, dir, plev); break; case RACE_KLACKON: @@ -792,7 +792,7 @@ static bool exe_racial_power(player_type *creature_ptr, s32b command) if (!get_aim_dir(&dir)) return FALSE; stop_mouth(creature_ptr); msg_print(_("あなたはおどろおどろしい叫び声をあげた!", "You emit an eldritch howl!")); - (void)fear_monster(dir, plev); + (void)fear_monster(creature_ptr, dir, plev); break; case RACE_SPRITE: @@ -818,9 +818,11 @@ static bool exe_racial_power(player_type *creature_ptr, s32b command) free_turn(creature_ptr); } } + return TRUE; } + /*! * @brief レイシャル・パワーコマンドのメインルーチン / Allow user to choose a power (racial / mutation) to activate * @return なし diff --git a/src/realm-chaos.c b/src/realm-chaos.c index 6e85be8f1..d1982cff6 100644 --- a/src/realm-chaos.c +++ b/src/realm-chaos.c @@ -346,7 +346,7 @@ concptr do_chaos_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode) { if (!get_aim_dir(&dir)) return NULL; - poly_monster(dir, plev); + poly_monster(caster_ptr, dir, plev); } } break; diff --git a/src/realm-crusade.c b/src/realm-crusade.c index a63aef925..f2e96b33f 100644 --- a/src/realm-crusade.c +++ b/src/realm-crusade.c @@ -81,7 +81,7 @@ concptr do_crusade_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mod if (cast) { if (!get_aim_dir(&dir)) return NULL; - fear_monster(dir, power); + fear_monster(caster_ptr, dir, power); } } break; @@ -303,7 +303,7 @@ concptr do_crusade_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mod if (cast) { if (!get_aim_dir(&dir)) return NULL; - stasis_evil(dir); + stasis_evil(caster_ptr, dir); } } break; diff --git a/src/realm-daemon.c b/src/realm-daemon.c index 45e0680ff..fd1358162 100644 --- a/src/realm-daemon.c +++ b/src/realm-daemon.c @@ -115,8 +115,8 @@ concptr do_daemon_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode { if (!get_aim_dir(&dir)) return NULL; - fear_monster(dir, power); - stun_monster(dir, power); + fear_monster(caster_ptr, dir, power); + stun_monster(caster_ptr, dir, power); } } break; diff --git a/src/realm-death.c b/src/realm-death.c index 9223dd67f..44e72716f 100644 --- a/src/realm-death.c +++ b/src/realm-death.c @@ -140,7 +140,7 @@ concptr do_death_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode) { if (!get_aim_dir(&dir)) return NULL; - sleep_monster(dir, plev); + sleep_monster(caster_ptr, dir, plev); } } break; @@ -175,8 +175,8 @@ concptr do_death_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode) { if (!get_aim_dir(&dir)) return NULL; - fear_monster(dir, plev); - stun_monster(dir, plev); + fear_monster(caster_ptr, dir, plev); + stun_monster(caster_ptr, dir, plev); } } break; diff --git a/src/realm-sorcery.c b/src/realm-sorcery.c index f675d153f..f11fb86fe 100644 --- a/src/realm-sorcery.c +++ b/src/realm-sorcery.c @@ -111,7 +111,7 @@ concptr do_sorcery_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mod { if (!get_aim_dir(&dir)) return NULL; - confuse_monster(dir, power); + confuse_monster(caster_ptr, dir, power); } } break; @@ -145,7 +145,7 @@ concptr do_sorcery_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mod { if (!get_aim_dir(&dir)) return NULL; - sleep_monster(dir, plev); + sleep_monster(caster_ptr, dir, plev); } } break; @@ -207,7 +207,7 @@ concptr do_sorcery_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mod { if (!get_aim_dir(&dir)) return NULL; - slow_monster(dir, plev); + slow_monster(caster_ptr, dir, plev); } } break; diff --git a/src/realm-trump.c b/src/realm-trump.c index cafdb5499..8b3eaf241 100644 --- a/src/realm-trump.c +++ b/src/realm-trump.c @@ -260,7 +260,7 @@ concptr do_trump_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode) if (!result) return NULL; - speed_monster(dir, plev); + speed_monster(caster_ptr, dir, plev); } } break; @@ -527,7 +527,7 @@ concptr do_trump_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode) if (!result) return NULL; - heal_monster(dir, heal); + heal_monster(caster_ptr, dir, heal); } } break; diff --git a/src/spells-status.c b/src/spells-status.c index 5218c9abf..f8b92331e 100644 --- a/src/spells-status.c +++ b/src/spells-status.c @@ -25,12 +25,13 @@ * @param dam 威力 * @return 作用が実際にあった場合TRUEを返す */ -bool heal_monster(DIRECTION dir, HIT_POINT dam) +bool heal_monster(player_type *caster_ptr, DIRECTION dir, HIT_POINT dam) { BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE; - return (project_hook(p_ptr, GF_OLD_HEAL, dir, dam, flg)); + return (project_hook(caster_ptr, GF_OLD_HEAL, dir, dam, flg)); } + /*! * @brief モンスター加速処理 * @param caster_ptr プレーヤーへの参照ポインタ @@ -38,12 +39,13 @@ bool heal_monster(DIRECTION dir, HIT_POINT dam) * @param power 効力 * @return 作用が実際にあった場合TRUEを返す */ -bool speed_monster(DIRECTION dir, int power) +bool speed_monster(player_type *caster_ptr, DIRECTION dir, int power) { BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE; - return (project_hook(p_ptr, GF_OLD_SPEED, dir, power, flg)); + return (project_hook(caster_ptr, GF_OLD_SPEED, dir, power, flg)); } + /*! * @brief モンスター減速処理 * @param caster_ptr プレーヤーへの参照ポインタ @@ -51,12 +53,13 @@ bool speed_monster(DIRECTION dir, int power) * @param power 効力 * @return 作用が実際にあった場合TRUEを返す */ -bool slow_monster(DIRECTION dir, int power) +bool slow_monster(player_type *caster_ptr, DIRECTION dir, int power) { BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE; - return (project_hook(p_ptr, GF_OLD_SLOW, dir, power, flg)); + return (project_hook(caster_ptr, GF_OLD_SLOW, dir, power, flg)); } + /*! * @brief モンスター催眠処理 * @param caster_ptr プレーヤーへの参照ポインタ @@ -64,12 +67,13 @@ bool slow_monster(DIRECTION dir, int power) * @param power 効力 * @return 作用が実際にあった場合TRUEを返す */ -bool sleep_monster(DIRECTION dir, int power) +bool sleep_monster(player_type *caster_ptr, DIRECTION dir, int power) { BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE; - return (project_hook(p_ptr, GF_OLD_SLEEP, dir, power, flg)); + return (project_hook(caster_ptr, GF_OLD_SLEEP, dir, power, flg)); } + /*! * @brief モンスター拘束(STASIS)処理 * @param caster_ptr プレーヤーへの参照ポインタ @@ -77,11 +81,12 @@ bool sleep_monster(DIRECTION dir, int power) * @return 作用が実際にあった場合TRUEを返す * @details 威力はプレイヤーレベル*2に固定 */ -bool stasis_monster(DIRECTION dir) +bool stasis_monster(player_type *caster_ptr, DIRECTION dir) { - return (fire_ball_hide(p_ptr, GF_STASIS, dir, p_ptr->lev * 2, 0)); + return (fire_ball_hide(caster_ptr, GF_STASIS, dir, caster_ptr->lev * 2, 0)); } + /*! * @brief 邪悪なモンスター拘束(STASIS)処理 * @param caster_ptr プレーヤーへの参照ポインタ @@ -89,11 +94,12 @@ bool stasis_monster(DIRECTION dir) * @return 作用が実際にあった場合TRUEを返す * @details 威力はプレイヤーレベル*2に固定 */ -bool stasis_evil(DIRECTION dir) +bool stasis_evil(player_type *caster_ptr, DIRECTION dir) { - return (fire_ball_hide(p_ptr, GF_STASIS_EVIL, dir, p_ptr->lev * 2, 0)); + return (fire_ball_hide(caster_ptr, GF_STASIS_EVIL, dir, caster_ptr->lev * 2, 0)); } + /*! * @brief モンスター混乱処理 * @param caster_ptr プレーヤーへの参照ポインタ @@ -101,12 +107,13 @@ bool stasis_evil(DIRECTION dir) * @param plev プレイヤーレベル(=効力) * @return 作用が実際にあった場合TRUEを返す */ -bool confuse_monster(DIRECTION dir, PLAYER_LEVEL plev) +bool confuse_monster(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev) { BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE; - return (project_hook(p_ptr, GF_OLD_CONF, dir, plev, flg)); + return (project_hook(caster_ptr, GF_OLD_CONF, dir, plev, flg)); } + /*! * @brief モンスター朦朧処理 * @param caster_ptr プレーヤーへの参照ポインタ @@ -114,12 +121,13 @@ bool confuse_monster(DIRECTION dir, PLAYER_LEVEL plev) * @param plev プレイヤーレベル(=効力) * @return 作用が実際にあった場合TRUEを返す */ -bool stun_monster(DIRECTION dir, PLAYER_LEVEL plev) +bool stun_monster(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev) { BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE; - return (project_hook(p_ptr, GF_STUN, dir, plev, flg)); + return (project_hook(caster_ptr, GF_STUN, dir, plev, flg)); } + /*! * @brief チェンジモンスター処理 * @param caster_ptr プレーヤーへの参照ポインタ @@ -127,27 +135,29 @@ bool stun_monster(DIRECTION dir, PLAYER_LEVEL plev) * @param power 効力 * @return 作用が実際にあった場合TRUEを返す */ -bool poly_monster(DIRECTION dir, int power) +bool poly_monster(player_type *caster_ptr, DIRECTION dir, int power) { BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE; - bool tester = (project_hook(p_ptr, GF_OLD_POLY, dir, power, flg)); + bool tester = (project_hook(caster_ptr, GF_OLD_POLY, dir, power, flg)); if (tester) - chg_virtue(p_ptr, V_CHANCE, 1); + chg_virtue(caster_ptr, V_CHANCE, 1); return(tester); } + /*! * @brief クローンモンスター処理 * @param caster_ptr プレーヤーへの参照ポインタ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) * @return 作用が実際にあった場合TRUEを返す */ -bool clone_monster(DIRECTION dir) +bool clone_monster(player_type *caster_ptr, DIRECTION dir) { BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE; - return (project_hook(p_ptr, GF_OLD_CLONE, dir, 0, flg)); + return (project_hook(caster_ptr, GF_OLD_CLONE, dir, 0, flg)); } + /*! * @brief モンスター恐慌処理 * @param caster_ptr プレーヤーへの参照ポインタ @@ -155,12 +165,13 @@ bool clone_monster(DIRECTION dir) * @param plev プレイヤーレベル(=効力) * @return 作用が実際にあった場合TRUEを返す */ -bool fear_monster(DIRECTION dir, PLAYER_LEVEL plev) +bool fear_monster(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev) { BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE; - return (project_hook(p_ptr, GF_TURN_ALL, dir, plev, flg)); + return (project_hook(caster_ptr, GF_TURN_ALL, dir, plev, flg)); } + /*! * @brief 歌の停止を処理する / Stop singing if the player is a Bard * @return なし @@ -192,6 +203,7 @@ void stop_singing(player_type *creature_ptr) creature_ptr->redraw |= (PR_STATUS); } + bool time_walk(player_type *creature_ptr) { if (creature_ptr->timewalk) @@ -212,6 +224,7 @@ bool time_walk(player_type *creature_ptr) return TRUE; } + /*! * @brief プレイヤーのヒットダイスを振る / Role Hitpoints * @param options スペル共通オプション @@ -276,6 +289,7 @@ void roll_hitdice(player_type *creature_ptr, SPOP_FLAGS options) } } + bool_hack life_stream(player_type *creature_ptr, bool_hack message, bool_hack virtue_change) { if (virtue_change) @@ -302,6 +316,7 @@ bool_hack life_stream(player_type *creature_ptr, bool_hack message, bool_hack vi return TRUE; } + bool_hack heroism(player_type *creature_ptr, int base) { bool_hack ident = FALSE; @@ -311,6 +326,7 @@ bool_hack heroism(player_type *creature_ptr, int base) return ident; } + bool_hack berserk(player_type *creature_ptr, int base) { bool_hack ident = FALSE; @@ -320,6 +336,7 @@ bool_hack berserk(player_type *creature_ptr, int base) return ident; } + bool_hack cure_light_wounds(player_type *creature_ptr, DICE_NUMBER dice, DICE_SID sides) { bool_hack ident = FALSE; @@ -330,6 +347,7 @@ bool_hack cure_light_wounds(player_type *creature_ptr, DICE_NUMBER dice, DICE_SI return ident; } + bool_hack cure_serious_wounds(player_type *creature_ptr, DICE_NUMBER dice, DICE_SID sides) { bool_hack ident = FALSE; @@ -341,6 +359,7 @@ bool_hack cure_serious_wounds(player_type *creature_ptr, DICE_NUMBER dice, DICE_ return ident; } + bool_hack cure_critical_wounds(player_type *creature_ptr, HIT_POINT pow) { bool_hack ident = FALSE; @@ -354,6 +373,7 @@ bool_hack cure_critical_wounds(player_type *creature_ptr, HIT_POINT pow) return ident; } + bool_hack true_healing(player_type *creature_ptr, HIT_POINT pow) { bool_hack ident = FALSE; @@ -367,6 +387,7 @@ bool_hack true_healing(player_type *creature_ptr, HIT_POINT pow) return ident; } + bool_hack restore_mana(player_type *creature_ptr, bool_hack magic_eater) { bool_hack ident = FALSE; @@ -403,6 +424,7 @@ bool_hack restore_mana(player_type *creature_ptr, bool_hack magic_eater) return ident; } + bool restore_all_status(player_type *creature_ptr) { bool ident = FALSE; @@ -415,6 +437,7 @@ bool restore_all_status(player_type *creature_ptr) return ident; } + bool fishing(player_type *creature_ptr) { DIRECTION dir; diff --git a/src/spells-status.h b/src/spells-status.h index fb15429f2..5dd81f558 100644 --- a/src/spells-status.h +++ b/src/spells-status.h @@ -1,15 +1,15 @@  -extern bool heal_monster(DIRECTION dir, HIT_POINT dam); -extern bool speed_monster(DIRECTION dir, int power); -extern bool slow_monster(DIRECTION dir, int power); -extern bool sleep_monster(DIRECTION dir, int power); -extern bool stasis_monster(DIRECTION dir); /* Like sleep, affects undead as well */ -extern bool stasis_evil(DIRECTION dir); /* Like sleep, affects undead as well */ -extern bool confuse_monster(DIRECTION dir, PLAYER_LEVEL plev); -extern bool stun_monster(DIRECTION dir, PLAYER_LEVEL plev); -extern bool fear_monster(DIRECTION dir, PLAYER_LEVEL plev); -extern bool poly_monster(DIRECTION dir, int power); -extern bool clone_monster(DIRECTION dir); +extern bool heal_monster(player_type *caster_ptr, DIRECTION dir, HIT_POINT dam); +extern bool speed_monster(player_type *caster_ptr, DIRECTION dir, int power); +extern bool slow_monster(player_type *caster_ptr, DIRECTION dir, int power); +extern bool sleep_monster(player_type *caster_ptr, DIRECTION dir, int power); +extern bool stasis_monster(player_type *caster_ptr, DIRECTION dir); /* Like sleep, affects undead as well */ +extern bool stasis_evil(player_type *caster_ptr, DIRECTION dir); /* Like sleep, affects undead as well */ +extern bool confuse_monster(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev); +extern bool stun_monster(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev); +extern bool fear_monster(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev); +extern bool poly_monster(player_type *caster_ptr, DIRECTION dir, int power); +extern bool clone_monster(player_type *caster_ptr, DIRECTION dir); extern void stop_singing(player_type *creature_ptr); extern bool time_walk(player_type *creature_ptr); extern void roll_hitdice(player_type *creature_ptr, SPOP_FLAGS options); diff --git a/src/spells2.c b/src/spells2.c index 5779e28a8..77f354ffb 100644 --- a/src/spells2.c +++ b/src/spells2.c @@ -3528,25 +3528,25 @@ void cast_wonder(player_type *caster_ptr, DIRECTION dir) if (die < 8) { - clone_monster(dir); + clone_monster(caster_ptr, dir); return; } if (die < 14) { - speed_monster(dir, plev); + speed_monster(caster_ptr, dir, plev); return; } if (die < 26) { - heal_monster(dir, damroll(4, 6)); + heal_monster(caster_ptr, dir, damroll(4, 6)); return; } if (die < 31) { - poly_monster(dir, plev); + poly_monster(caster_ptr, dir, plev); return; } @@ -3559,7 +3559,7 @@ void cast_wonder(player_type *caster_ptr, DIRECTION dir) if (die < 41) { - confuse_monster(dir, plev); + confuse_monster(caster_ptr, dir, plev); return; } @@ -3726,7 +3726,7 @@ void cast_invoke_spirits(player_type *caster_ptr, DIRECTION dir) } else if (die < 31) { - poly_monster(dir, plev); + poly_monster(caster_ptr, dir, plev); } else if (die < 36) { @@ -3735,7 +3735,7 @@ void cast_invoke_spirits(player_type *caster_ptr, DIRECTION dir) } else if (die < 41) { - confuse_monster(dir, plev); + confuse_monster(caster_ptr, dir, plev); } else if (die < 46) {