OSDN Git Service

[Refactor] #38997 confuse_monsters()、charm_monsters()、charm_animals()、stun_monsters...
authorHourier <hourier@users.sourceforge.jp>
Tue, 7 Jan 2020 11:56:04 +0000 (20:56 +0900)
committerHourier <hourier@users.sourceforge.jp>
Tue, 7 Jan 2020 11:56:04 +0000 (20:56 +0900)
18 files changed:
src/cmd/cmd-activate.c
src/cmd/cmd-zapwand.c
src/core.c
src/mind.c
src/mutation.c
src/racial.c
src/realm-crusade.c
src/realm-daemon.c
src/realm-death.c
src/realm-hex.c
src/realm-life.c
src/realm-nature.c
src/realm-song.c
src/realm-sorcery.c
src/realm-trump.c
src/spells-summon.c
src/spells.h
src/spells2.c

index f732b8a..34d6956 100644 (file)
@@ -987,7 +987,7 @@ bool activate_artifact(player_type *user_ptr, object_type *o_ptr)
        {
                msg_format(_("%sが眩しい光で輝いた...", "The %s gleams with blinding light..."), name);
                fire_ball(user_ptr, GF_LITE, 0, 300, 6);
-               confuse_monsters(3 * user_ptr->lev / 2);
+               confuse_monsters(user_ptr, 3 * user_ptr->lev / 2);
                break;
        }
 
@@ -1093,7 +1093,7 @@ bool activate_artifact(player_type *user_ptr, object_type *o_ptr)
 
        case ACT_TERROR:
        {
-               turn_monsters(40 + user_ptr->lev);
+               turn_monsters(user_ptr, 40 + user_ptr->lev);
                break;
        }
 
@@ -1133,7 +1133,7 @@ bool activate_artifact(player_type *user_ptr, object_type *o_ptr)
                if (hex_spelling_any(user_ptr)) stop_hex_spell_all(user_ptr);
                msg_print(_("あなたは力強い突風を吹き鳴らした。周囲の敵が震え上っている!",
                        "You wind a mighty blast; your enemies tremble!"));
-               (void)turn_monsters((3 * user_ptr->lev / 2) + 10);
+               (void)turn_monsters(user_ptr, (3 * user_ptr->lev / 2) + 10);
                break;
        }
 
@@ -1156,33 +1156,33 @@ bool activate_artifact(player_type *user_ptr, object_type *o_ptr)
        case ACT_CHARM_ANIMAL:
        {
                if (!get_aim_dir(&dir)) return FALSE;
-               (void)charm_animal(dir, plev);
+               (void)charm_animal(user_ptr, dir, plev);
                break;
        }
 
        case ACT_CHARM_UNDEAD:
        {
                if (!get_aim_dir(&dir)) return FALSE;
-               (void)control_one_undead(dir, plev);
+               (void)control_one_undead(user_ptr, dir, plev);
                break;
        }
 
        case ACT_CHARM_OTHER:
        {
                if (!get_aim_dir(&dir)) return FALSE;
-               (void)charm_monster(dir, plev * 2);
+               (void)charm_monster(user_ptr, dir, plev * 2);
                break;
        }
 
        case ACT_CHARM_ANIMALS:
        {
-               (void)charm_animals(plev * 2);
+               (void)charm_animals(user_ptr, plev * 2);
                break;
        }
 
        case ACT_CHARM_OTHERS:
        {
-               charm_monsters(plev * 2);
+               charm_monsters(user_ptr, plev * 2);
                break;
        }
 
index 641feea..730fa95 100644 (file)
@@ -171,7 +171,7 @@ bool wand_effect(player_type *creature_ptr, OBJECT_SUBTYPE_VALUE sval, DIRECTION
 
                case SV_WAND_CHARM_MONSTER:
                {
-                       if (charm_monster(dir, MAX(20, lev)))
+                       if (charm_monster(creature_ptr, dir, MAX(20, lev)))
                                ident = TRUE;
                        break;
                }
index 610b39e..802f73a 100644 (file)
@@ -2303,7 +2303,7 @@ static void process_world_aux_mutation(player_type *creature_ptr)
                disturb(creature_ptr, FALSE, TRUE);
                msg_print(_("突然ほとんど孤独になった気がする。", "You suddenly feel almost lonely."));
 
-               banish_monsters(100);
+               banish_monsters(creature_ptr, 100);
                if (!creature_ptr->current_floor_ptr->dun_level && creature_ptr->town_num)
                {
                        int n;
index 0214506..94116c0 100644 (file)
@@ -1091,7 +1091,7 @@ static bool cast_mindcrafter_spell(player_type *caster_ptr, int spell)
                }
                else
                {
-                       charm_monsters(plev * 2);
+                       charm_monsters(caster_ptr, plev * 2);
                }
                break;
        case 5:
@@ -1124,7 +1124,7 @@ static bool cast_mindcrafter_spell(player_type *caster_ptr, int spell)
                        project(caster_ptr, 0, 2 + plev / 10, caster_ptr->y, caster_ptr->x,
                        (plev * 3), GF_PSI, PROJECT_KILL, -1);
                else
-                       (void)mindblast_monsters(randint1(plev * ((plev - 5) / 10 + 1)));
+                       (void)mindblast_monsters(caster_ptr, randint1(plev * ((plev - 5) / 10 + 1)));
                break;
        case 9:
                /* Adrenaline */
@@ -1415,11 +1415,11 @@ static bool cast_mirror_spell(player_type *caster_ptr, int spell)
        case 14:
                tmp = is_mirror_grid(&caster_ptr->current_floor_ptr->grid_array[caster_ptr->y][caster_ptr->x]) ? 4 : 3;
                slow_monsters(caster_ptr, plev);
-               stun_monsters(plev*tmp);
-               confuse_monsters(plev*tmp);
-               turn_monsters(plev*tmp);
-               stun_monsters(plev*tmp);
-               stasis_monsters(plev*tmp);
+               stun_monsters(caster_ptr, plev*tmp);
+               confuse_monsters(caster_ptr, plev*tmp);
+               turn_monsters(caster_ptr, plev*tmp);
+               stun_monsters(caster_ptr, plev*tmp);
+               stasis_monsters(caster_ptr, plev*tmp);
                break;
                /* mirror shift */
        case 15:
index c210842..43b133d 100644 (file)
@@ -2111,7 +2111,7 @@ bool exe_mutation_power(player_type *creature_ptr, int power)
                case MUT1_HYPN_GAZE:
                        if (!get_aim_dir(&dir)) return FALSE;
                        msg_print(_("あなたの目は幻惑的になった...", "Your eyes look mesmerizing..."));
-                       (void)charm_monster(dir, lvl);
+                       (void)charm_monster(creature_ptr, dir, lvl);
                        break;
 
                case MUT1_TELEKINES:
@@ -2275,9 +2275,9 @@ bool exe_mutation_power(player_type *creature_ptr, int power)
                        break;
 
                case MUT1_DAZZLE:
-                       stun_monsters(lvl * 4);
-                       confuse_monsters(lvl * 4);
-                       turn_monsters(lvl * 4);
+                       stun_monsters(creature_ptr, lvl * 4);
+                       confuse_monsters(creature_ptr, lvl * 4);
+                       turn_monsters(creature_ptr, lvl * 4);
                        break;
 
                case MUT1_LASER_EYE:
index 3e391b6..4bedbd4 100644 (file)
@@ -421,8 +421,8 @@ static bool exe_racial_power(player_type *creature_ptr, s32b command)
                        else
                        {
                                (void)dispel_monsters(creature_ptr, plev * 4);
-                               turn_monsters(plev * 4);
-                               banish_monsters(plev * 4);
+                               turn_monsters(creature_ptr, plev * 4);
+                               banish_monsters(creature_ptr, plev * 4);
                        }
                        break;
                }
index b485d2b..98939b3 100644 (file)
@@ -192,7 +192,7 @@ concptr do_crusade_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mod
                        {
                                dispel_undead(caster_ptr, randint1(sides));
                                dispel_demons(caster_ptr, randint1(sides));
-                               turn_evil(power);
+                               turn_evil(caster_ptr, power);
                        }
                }
                break;
@@ -529,10 +529,10 @@ concptr do_crusade_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mod
                                project(caster_ptr, 0, 1, caster_ptr->y, caster_ptr->x, b_dam, GF_HOLY_FIRE, PROJECT_KILL, -1);
                                dispel_monsters(caster_ptr, d_dam);
                                slow_monsters(caster_ptr, plev);
-                               stun_monsters(power);
-                               confuse_monsters(power);
-                               turn_monsters(power);
-                               stasis_monsters(power);
+                               stun_monsters(caster_ptr, power);
+                               confuse_monsters(caster_ptr, power);
+                               turn_monsters(caster_ptr, power);
+                               stasis_monsters(caster_ptr, power);
                                hp_player(caster_ptr, heal);
                        }
                }
index 3d3e992..45e0680 100644 (file)
@@ -196,7 +196,7 @@ concptr do_daemon_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode
                        {
                                if (!get_aim_dir(&dir)) return NULL;
 
-                               control_one_demon(dir, plev);
+                               control_one_demon(caster_ptr, dir, plev);
                        }
                }
                break;
index 1e764ed..0a14fc1 100644 (file)
@@ -194,7 +194,7 @@ concptr do_death_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode)
                        {
                                if (!get_aim_dir(&dir)) return NULL;
 
-                               control_one_undead(dir, plev);
+                               control_one_undead(caster_ptr, dir, plev);
                        }
                }
                break;
index 6baf1e1..929310f 100644 (file)
@@ -999,7 +999,7 @@ concptr do_hex_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode)
                if (info) return info_power(power);
                if (cast || cont)
                {
-                       stun_monsters(power);
+                       stun_monsters(caster_ptr, power);
                }
                break;
 
index f11121f..8af69d5 100644 (file)
@@ -293,7 +293,7 @@ concptr do_life_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode)
 
                        if (cast)
                        {
-                               charm_monsters(power);
+                               charm_monsters(caster_ptr, power);
                        }
                }
                break;
index 1a2a31e..905c54a 100644 (file)
@@ -146,7 +146,7 @@ concptr do_nature_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode
                        {
                                if (!get_aim_dir(&dir)) return NULL;
 
-                               charm_animal(dir, plev);
+                               charm_animal(caster_ptr, dir, plev);
                        }
                }
                break;
@@ -391,7 +391,7 @@ concptr do_nature_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode
                {
                        int power = plev * 2;
                        if (info) return info_power(power);
-                       if (cast) charm_animals(power);
+                       if (cast) charm_animals(caster_ptr, power);
                }
                break;
 
index 8b1df4c..26894dd 100644 (file)
@@ -147,7 +147,7 @@ concptr do_music_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode)
 
                        if (cont)
                        {
-                               stun_monsters(damroll(dice, sides));
+                               stun_monsters(caster_ptr, damroll(dice, sides));
                        }
                }
 
@@ -421,7 +421,7 @@ concptr do_music_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode)
 
                        if (cont)
                        {
-                               confuse_monsters(power);
+                               confuse_monsters(caster_ptr, power);
                        }
                }
 
@@ -491,7 +491,7 @@ concptr do_music_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode)
 
                        if (cont)
                        {
-                               charm_monsters(damroll(dice, sides));
+                               charm_monsters(caster_ptr, damroll(dice, sides));
                        }
                }
 
@@ -757,7 +757,7 @@ concptr do_music_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode)
 
                        if (cont)
                        {
-                               stasis_monsters(power);
+                               stasis_monsters(caster_ptr, power);
                        }
                }
 
index 2663853..4bb1283 100644 (file)
@@ -323,7 +323,7 @@ concptr do_sorcery_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mod
                        {
                                if (!get_aim_dir(&dir)) return NULL;
 
-                               charm_monster(dir, plev);
+                               charm_monster(caster_ptr, dir, plev);
                        }
                }
                break;
@@ -505,7 +505,7 @@ concptr do_sorcery_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mod
 
                        if (cast)
                        {
-                               charm_monsters(power);
+                               charm_monsters(caster_ptr, power);
                        }
                }
                break;
@@ -533,7 +533,7 @@ concptr do_sorcery_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mod
 
                        if (cast)
                        {
-                               banish_monsters(power);
+                               banish_monsters(caster_ptr, power);
                        }
                }
                break;
index 69837d8..b3e24b1 100644 (file)
@@ -324,7 +324,7 @@ concptr do_trump_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode)
 
                        if (cast)
                        {
-                               banish_monsters(power);
+                               banish_monsters(caster_ptr, power);
                        }
                }
                break;
index 06fa7a4..b501b23 100644 (file)
@@ -312,10 +312,10 @@ void mitokohmon(player_type *kohmon_ptr)
                msg_format(_("「者ども、ひかえおろう!!!このお方をどなたとこころえる。」",
                        "%^s says 'WHO do you think this person is! Bow your head, down your knees!'"), kakusan);
                sukekaku = TRUE;
-               stun_monsters(120);
-               confuse_monsters(120);
-               turn_monsters(120);
-               stasis_monsters(120);
+               stun_monsters(kohmon_ptr, 120);
+               confuse_monsters(kohmon_ptr, 120);
+               turn_monsters(kohmon_ptr, 120);
+               stasis_monsters(kohmon_ptr, 120);
                sukekaku = FALSE;
        }
        else
index f7a6469..3865cfe 100644 (file)
@@ -225,20 +225,20 @@ extern bool sleep_monsters_touch(player_type *caster_ptr);
 extern bool activate_ty_curse(player_type *target_ptr, bool stop_ty, int *count);
 extern int activate_hi_summon(player_type *caster_ptr, POSITION y, POSITION x, bool can_pet);
 extern void wall_breaker(player_type *caster_ptr);
-extern bool confuse_monsters(HIT_POINT dam);
-extern bool charm_monsters(HIT_POINT dam);
-extern bool charm_animals(HIT_POINT dam);
-extern bool stun_monsters(HIT_POINT dam);
-extern bool stasis_monsters(HIT_POINT dam);
-extern bool banish_monsters(int dist);
-extern bool turn_monsters(HIT_POINT dam);
-extern bool turn_evil(HIT_POINT dam);
-extern bool deathray_monsters(void);
-extern bool charm_monster(DIRECTION dir, PLAYER_LEVEL plev);
-extern bool control_one_undead(DIRECTION dir, PLAYER_LEVEL plev);
-extern bool control_one_demon(DIRECTION dir, PLAYER_LEVEL plev);
-extern bool charm_animal(DIRECTION dir, PLAYER_LEVEL plev);
-extern bool mindblast_monsters(HIT_POINT dam);
+extern bool confuse_monsters(player_type *caster_ptr, HIT_POINT dam);
+extern bool charm_monsters(player_type *caster_ptr, HIT_POINT dam);
+extern bool charm_animals(player_type *caster_ptr, HIT_POINT dam);
+extern bool stun_monsters(player_type *caster_ptr, HIT_POINT dam);
+extern bool stasis_monsters(player_type *caster_ptr, HIT_POINT dam);
+extern bool banish_monsters(player_type *caster_ptr, int dist);
+extern bool turn_monsters(player_type *caster_ptr, HIT_POINT dam);
+extern bool turn_evil(player_type *caster_ptr, HIT_POINT dam);
+extern bool deathray_monsters(player_type *caster_ptr);
+extern bool charm_monster(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev);
+extern bool control_one_undead(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev);
+extern bool control_one_demon(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev);
+extern bool charm_animal(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev);
+extern bool mindblast_monsters(player_type *caster_ptr, HIT_POINT dam);
 extern bool teleport_swap(player_type *caster_ptr, DIRECTION dir);
 extern bool project_hook(player_type *caster_ptr, EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, BIT_FLAGS flg);
 extern bool project_all_los(player_type *caster_ptr, EFFECT_ID typ, HIT_POINT dam);
index 47986b5..379701c 100644 (file)
@@ -2942,9 +2942,9 @@ void wall_breaker(player_type *caster_ptr)
  * @param dam 効力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool confuse_monsters(HIT_POINT dam)
+bool confuse_monsters(player_type *caster_ptr, HIT_POINT dam)
 {
-       return (project_all_los(p_ptr, GF_OLD_CONF, dam));
+       return (project_all_los(caster_ptr, GF_OLD_CONF, dam));
 }
 
 
@@ -2954,9 +2954,9 @@ bool confuse_monsters(HIT_POINT dam)
  * @param dam 効力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool charm_monsters(HIT_POINT dam)
+bool charm_monsters(player_type *caster_ptr, HIT_POINT dam)
 {
-       return (project_all_los(p_ptr, GF_CHARM, dam));
+       return (project_all_los(caster_ptr, GF_CHARM, dam));
 }
 
 
@@ -2966,9 +2966,9 @@ bool charm_monsters(HIT_POINT dam)
  * @param dam 効力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool charm_animals(HIT_POINT dam)
+bool charm_animals(player_type *caster_ptr, HIT_POINT dam)
 {
-       return (project_all_los(p_ptr, GF_CONTROL_ANIMAL, dam));
+       return (project_all_los(caster_ptr, GF_CONTROL_ANIMAL, dam));
 }
 
 
@@ -2978,9 +2978,9 @@ bool charm_animals(HIT_POINT dam)
  * @param dam 効力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool stun_monsters(HIT_POINT dam)
+bool stun_monsters(player_type *caster_ptr, HIT_POINT dam)
 {
-       return (project_all_los(p_ptr, GF_STUN, dam));
+       return (project_all_los(caster_ptr, GF_STUN, dam));
 }
 
 
@@ -2990,9 +2990,9 @@ bool stun_monsters(HIT_POINT dam)
  * @param dam 効力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool stasis_monsters(HIT_POINT dam)
+bool stasis_monsters(player_type *caster_ptr, HIT_POINT dam)
 {
-       return (project_all_los(p_ptr, GF_STASIS, dam));
+       return (project_all_los(caster_ptr, GF_STASIS, dam));
 }
 
 
@@ -3002,9 +3002,9 @@ bool stasis_monsters(HIT_POINT dam)
  * @param dam 効力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool mindblast_monsters(HIT_POINT dam)
+bool mindblast_monsters(player_type *caster_ptr, HIT_POINT dam)
 {
-       return (project_all_los(p_ptr, GF_PSI, dam));
+       return (project_all_los(caster_ptr, GF_PSI, dam));
 }
 
 
@@ -3014,9 +3014,9 @@ bool mindblast_monsters(HIT_POINT dam)
  * @param dist 効力(距離)
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool banish_monsters(int dist)
+bool banish_monsters(player_type *caster_ptr, int dist)
 {
-       return (project_all_los(p_ptr, GF_AWAY_ALL, dist));
+       return (project_all_los(caster_ptr, GF_AWAY_ALL, dist));
 }
 
 
@@ -3026,9 +3026,9 @@ bool banish_monsters(int dist)
  * @param dam 効力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool turn_evil(HIT_POINT dam)
+bool turn_evil(player_type *caster_ptr, HIT_POINT dam)
 {
-       return (project_all_los(p_ptr, GF_TURN_EVIL, dam));
+       return (project_all_los(caster_ptr, GF_TURN_EVIL, dam));
 }
 
 
@@ -3038,9 +3038,9 @@ bool turn_evil(HIT_POINT dam)
  * @param dam 効力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool turn_monsters(HIT_POINT dam)
+bool turn_monsters(player_type *caster_ptr, HIT_POINT dam)
 {
-       return (project_all_los(p_ptr, GF_TURN_ALL, dam));
+       return (project_all_los(caster_ptr, GF_TURN_ALL, dam));
 }
 
 
@@ -3049,9 +3049,9 @@ bool turn_monsters(HIT_POINT dam)
  * @param caster_ptr プレーヤーへの参照ポインタ
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool deathray_monsters(void)
+bool deathray_monsters(player_type *caster_ptr)
 {
-       return (project_all_los(p_ptr, GF_DEATH_RAY, p_ptr->lev * 200));
+       return (project_all_los(caster_ptr, GF_DEATH_RAY, caster_ptr->lev * 200));
 }
 
 
@@ -3062,10 +3062,10 @@ bool deathray_monsters(void)
  * @param plev パワー
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool charm_monster(DIRECTION dir, PLAYER_LEVEL plev)
+bool charm_monster(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
-       return (project_hook(p_ptr, GF_CHARM, dir, plev, flg));
+       return (project_hook(caster_ptr, GF_CHARM, dir, plev, flg));
 }
 
 
@@ -3076,10 +3076,10 @@ bool charm_monster(DIRECTION dir, PLAYER_LEVEL plev)
  * @param plev パワー
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool control_one_undead(DIRECTION dir, PLAYER_LEVEL plev)
+bool control_one_undead(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
-       return (project_hook(p_ptr, GF_CONTROL_UNDEAD, dir, plev, flg));
+       return (project_hook(caster_ptr, GF_CONTROL_UNDEAD, dir, plev, flg));
 }
 
 
@@ -3090,10 +3090,10 @@ bool control_one_undead(DIRECTION dir, PLAYER_LEVEL plev)
  * @param plev パワー
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool control_one_demon(DIRECTION dir, PLAYER_LEVEL plev)
+bool control_one_demon(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
-       return (project_hook(p_ptr, GF_CONTROL_DEMON, dir, plev, flg));
+       return (project_hook(caster_ptr, GF_CONTROL_DEMON, dir, plev, flg));
 }
 
 
@@ -3104,10 +3104,10 @@ bool control_one_demon(DIRECTION dir, PLAYER_LEVEL plev)
  * @param plev パワー
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool charm_animal(DIRECTION dir, PLAYER_LEVEL plev)
+bool charm_animal(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
-       return (project_hook(p_ptr, GF_CONTROL_ANIMAL, dir, plev, flg));
+       return (project_hook(caster_ptr, GF_CONTROL_ANIMAL, dir, plev, flg));
 }
 
 
@@ -3986,7 +3986,7 @@ void cast_shuffle(player_type *caster_ptr)
                msg_print(_("《恋人》だ。", "It's the Lovers."));
 
                if (get_aim_dir(&dir))
-                       charm_monster(dir, MIN(caster_ptr->lev, 20));
+                       charm_monster(caster_ptr, dir, MIN(caster_ptr->lev, 20));
        }
        else if (die < 101)
        {
@@ -4583,10 +4583,10 @@ bool confusing_light(player_type *creature_ptr)
 {
        msg_print(_("辺りを睨んだ...", "You glare nearby monsters..."));
        slow_monsters(creature_ptr, creature_ptr->lev);
-       stun_monsters(creature_ptr->lev * 4);
-       confuse_monsters(creature_ptr->lev * 4);
-       turn_monsters(creature_ptr->lev * 4);
-       stasis_monsters(creature_ptr->lev * 4);
+       stun_monsters(creature_ptr, creature_ptr->lev * 4);
+       confuse_monsters(creature_ptr, creature_ptr->lev * 4);
+       turn_monsters(creature_ptr, creature_ptr->lev * 4);
+       stasis_monsters(creature_ptr, creature_ptr->lev * 4);
        return TRUE;
 }