{
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;
}
case ACT_TERROR:
{
- turn_monsters(40 + user_ptr->lev);
+ turn_monsters(user_ptr, 40 + user_ptr->lev);
break;
}
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;
}
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;
}
case SV_WAND_CHARM_MONSTER:
{
- if (charm_monster(dir, MAX(20, lev)))
+ if (charm_monster(creature_ptr, dir, MAX(20, lev)))
ident = TRUE;
break;
}
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;
}
else
{
- charm_monsters(plev * 2);
+ charm_monsters(caster_ptr, plev * 2);
}
break;
case 5:
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 */
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:
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:
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:
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;
}
{
dispel_undead(caster_ptr, randint1(sides));
dispel_demons(caster_ptr, randint1(sides));
- turn_evil(power);
+ turn_evil(caster_ptr, power);
}
}
break;
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);
}
}
{
if (!get_aim_dir(&dir)) return NULL;
- control_one_demon(dir, plev);
+ control_one_demon(caster_ptr, dir, plev);
}
}
break;
{
if (!get_aim_dir(&dir)) return NULL;
- control_one_undead(dir, plev);
+ control_one_undead(caster_ptr, dir, plev);
}
}
break;
if (info) return info_power(power);
if (cast || cont)
{
- stun_monsters(power);
+ stun_monsters(caster_ptr, power);
}
break;
if (cast)
{
- charm_monsters(power);
+ charm_monsters(caster_ptr, power);
}
}
break;
{
if (!get_aim_dir(&dir)) return NULL;
- charm_animal(dir, plev);
+ charm_animal(caster_ptr, dir, plev);
}
}
break;
{
int power = plev * 2;
if (info) return info_power(power);
- if (cast) charm_animals(power);
+ if (cast) charm_animals(caster_ptr, power);
}
break;
if (cont)
{
- stun_monsters(damroll(dice, sides));
+ stun_monsters(caster_ptr, damroll(dice, sides));
}
}
if (cont)
{
- confuse_monsters(power);
+ confuse_monsters(caster_ptr, power);
}
}
if (cont)
{
- charm_monsters(damroll(dice, sides));
+ charm_monsters(caster_ptr, damroll(dice, sides));
}
}
if (cont)
{
- stasis_monsters(power);
+ stasis_monsters(caster_ptr, power);
}
}
{
if (!get_aim_dir(&dir)) return NULL;
- charm_monster(dir, plev);
+ charm_monster(caster_ptr, dir, plev);
}
}
break;
if (cast)
{
- charm_monsters(power);
+ charm_monsters(caster_ptr, power);
}
}
break;
if (cast)
{
- banish_monsters(power);
+ banish_monsters(caster_ptr, power);
}
}
break;
if (cast)
{
- banish_monsters(power);
+ banish_monsters(caster_ptr, power);
}
}
break;
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
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);
* @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));
}
* @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));
}
* @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));
}
* @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));
}
* @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));
}
* @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));
}
* @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));
}
* @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));
}
* @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));
}
* @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));
}
* @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));
}
* @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));
}
* @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));
}
* @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));
}
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)
{
{
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;
}