case ACT_TELEPORT:
{
msg_print(_("周りの空間が歪んでいる...", "It twists space around you..."));
- teleport_player(100, 0L);
+ teleport_player(user_ptr, 100, 0L);
break;
}
switch (randint1(13))
{
case 1: case 2: case 3: case 4: case 5:
- teleport_player(10, 0L);
+ teleport_player(user_ptr, 10, 0L);
break;
case 6: case 7: case 8: case 9: case 10:
- teleport_player(222, 0L);
+ teleport_player(user_ptr, 222, 0L);
break;
case 11: case 12:
(void)stair_creation(user_ptr);
case ACT_PHASE_DOOR:
{
- teleport_player(10, 0L);
+ teleport_player(user_ptr, 10, 0L);
break;
}
/* Sniper actions after some shootings */
if (snipe_type == SP_AWAY)
{
- teleport_player(10 + (creature_ptr->concent * 2), 0L);
+ teleport_player(creature_ptr, 10 + (creature_ptr->concent * 2), 0L);
}
if (snipe_type == SP_FINAL)
{
(void)set_invuln(caster_ptr, randint1(7) + 7, FALSE);
break;
case MS_BLINK:
- teleport_player(10, 0L);
+ teleport_player(caster_ptr, 10, 0L);
break;
case MS_TELEPORT:
- teleport_player(plev * 5, 0L);
+ teleport_player(caster_ptr, plev * 5, 0L);
break;
case MS_WORLD:
(void)time_walk(caster_ptr);
case SV_SCROLL_PHASE_DOOR:
{
- teleport_player(10, 0L);
+ teleport_player(creature_ptr, 10, 0L);
ident = TRUE;
break;
}
case SV_SCROLL_TELEPORT:
{
- teleport_player(100, 0L);
+ teleport_player(creature_ptr, 100, 0L);
ident = TRUE;
break;
}
case SV_STAFF_TELEPORTATION:
{
- teleport_player((powerful ? 150 : 100), 0L);
+ teleport_player(creature_ptr, (powerful ? 150 : 100), 0L);
ident = TRUE;
break;
}
if (is_mirror_grid(&p_ptr->current_floor_ptr->grid_array[target_ptr->y][target_ptr->x]))
{
- teleport_player(10, 0L);
+ teleport_player(target_ptr, 10, 0L);
}
}
}
else if (get_check(_("通常テレポート?", "Normal teleport? ")))
{
- teleport_player(200, 0L);
+ teleport_player(creature_ptr, 200, 0L);
return;
}
else
disturb(creature_ptr, FALSE, TRUE);
msg_print(_("あなたの位置は突然ひじょうに不確定になった...", "Your position suddenly seems very uncertain..."));
msg_print(NULL);
- teleport_player(40, TELEPORT_PASSIVE);
+ teleport_player(creature_ptr, 40, TELEPORT_PASSIVE);
}
}
if (get_check_strict(_("テレポートしますか?", "Teleport? "), CHECK_OKAY_CANCEL))
{
disturb(creature_ptr, FALSE, TRUE);
- teleport_player(50, 0L);
+ teleport_player(creature_ptr, 50, 0L);
}
else
{
disturb(creature_ptr, FALSE, TRUE);
/* Teleport player */
- teleport_player(40, TELEPORT_PASSIVE);
+ teleport_player(creature_ptr, 40, TELEPORT_PASSIVE);
}
/* Handle HP draining */
if ((creature_ptr->cursed & TRC_DRAIN_HP) && one_in_(666))
break;
case 2:
/* Minor displace */
- teleport_player(10, 0L);
+ teleport_player(caster_ptr, 10, 0L);
break;
case 3:
/* Major displace */
- teleport_player(plev * 5, 0L);
+ teleport_player(caster_ptr, plev * 5, 0L);
break;
case 4:
/* Domination */
break;
/* warped mirror */
case 3:
- teleport_player(10, 0L);
+ teleport_player(caster_ptr, 10, 0L);
break;
/* mirror of light */
case 4:
break;
/* mirror of wandering */
case 5:
- teleport_player(plev * 5, 0L);
+ teleport_player(caster_ptr, plev * 5, 0L);
break;
/* robe of dust */
case 6:
break;
case 2:
{
- teleport_player(10, 0L);
+ teleport_player(caster_ptr, 10, 0L);
break;
}
case 3:
}
case 4:
{
- teleport_player(caster_ptr->lev * 5, 0L);
+ teleport_player(caster_ptr, caster_ptr->lev * 5, 0L);
break;
}
case 5:
break;
case 9:
fire_ball(GF_FIRE, 0, 50+plev, plev/10+2);
- teleport_player(30, 0L);
+ teleport_player(caster_ptr, 30, 0L);
set_oppose_fire(caster_ptr, (TIME_EFFECT)plev, FALSE);
break;
case 10:
fire_ball(GF_POIS, 0, 75+plev*2/3, plev/5+2);
fire_ball(GF_HYPODYNAMIA, 0, 75+plev*2/3, plev/5+2);
fire_ball(GF_CONFUSION, 0, 75+plev*2/3, plev/5+2);
- teleport_player(30, 0L);
+ teleport_player(caster_ptr, 30, 0L);
break;
case 18:
{
else if (b < 81)
{
msg_print(_("鏡の世界の干渉を受けた!", "Weird visions seem to dance before your eyes..."));
- teleport_player(10, TELEPORT_PASSIVE);
+ teleport_player(p_ptr, 10, TELEPORT_PASSIVE);
}
else if (b < 96)
{
(void)set_invuln(p_ptr, randint1(4) + 4, FALSE);
break;
case MS_BLINK:
- teleport_player(10, 0L);
+ teleport_player(p_ptr, 10, 0L);
break;
case MS_TELEPORT:
- teleport_player(plev * 5, 0L);
+ teleport_player(p_ptr, plev * 5, 0L);
break;
case MS_WORLD:
(void)time_walk(p_ptr);
case MUT1_VTELEPORT:
msg_print(_("集中している...", "You concentrate..."));
- teleport_player(10 + 4 * lvl, 0L);
+ teleport_player(creature_ptr, 10 + 4 * lvl, 0L);
break;
case MUT1_MIND_BLST:
break;
case MUT1_BLINK:
- teleport_player(10, 0L);
+ teleport_player(creature_ptr, 10, 0L);
break;
case MUT1_EAT_ROCK:
case RACE_GNOME:
msg_print(_("パッ!", "Blink!"));
- teleport_player(10, 0L);
+ teleport_player(creature_ptr, 10, 0L);
break;
case RACE_HALF_ORC:
if (cast)
{
- teleport_player(range, 0L);
+ teleport_player(caster_ptr, range, 0L);
}
}
break;
if (cast)
{
- teleport_player(range, 0L);
+ teleport_player(caster_ptr, range, 0L);
}
}
break;
if (cast)
{
- teleport_player(range, 0L);
+ teleport_player(caster_ptr, range, 0L);
}
}
break;
{
POSITION range = 25 + plev / 2;
if (info) return info_range(range);
- if (cast) teleport_player(range, 0L);
+ if (cast) teleport_player(caster_ptr, range, 0L);
}
break;
else
{
msg_print(_("おっと!", "Oops!"));
- teleport_player(30, 0L);
+ teleport_player(caster_ptr, 30, 0L);
}
add = FALSE;
if (cast)
{
- teleport_player(range, 0L);
+ teleport_player(caster_ptr, range, 0L);
}
}
break;
if (cast)
{
- teleport_player(range, 0L);
+ teleport_player(caster_ptr, range, 0L);
}
}
break;
if (cast)
{
- teleport_player(range, 0L);
+ teleport_player(caster_ptr, range, 0L);
}
}
break;
if (cast)
{
- teleport_player(range, 0L);
+ teleport_player(caster_ptr, range, 0L);
}
}
break;
{
case 1: case 2: case 3:
{
- teleport_player(200, TELEPORT_PASSIVE);
+ teleport_player(target_ptr, 200, TELEPORT_PASSIVE);
break;
}
extern bool teleport_away(player_type *caster_ptr, MONSTER_IDX m_idx, POSITION dis, BIT_FLAGS mode);
extern void teleport_monster_to(MONSTER_IDX m_idx, POSITION ty, POSITION tx, int power, BIT_FLAGS mode);
extern bool teleport_player_aux(player_type *creature_ptr, POSITION dis, BIT_FLAGS mode);
-extern void teleport_player(POSITION dis, BIT_FLAGS mode);
+extern void teleport_player(player_type *creature_ptr, POSITION dis, BIT_FLAGS mode);
extern void teleport_player_away(MONSTER_IDX m_idx, POSITION dis);
extern void teleport_player_to(player_type *creature_ptr, POSITION ny, POSITION nx, BIT_FLAGS mode);
extern void teleport_away_followable(MONSTER_IDX m_idx);
if (!CHECK_MULTISHADOW(target_ptr))
{
- teleport_player(5, TELEPORT_PASSIVE);
+ teleport_player(target_ptr, 5, TELEPORT_PASSIVE);
if (!target_ptr->levitation)
(void)set_slow(target_ptr, target_ptr->slow + randint0(4) + 4, FALSE);
if (!(target_ptr->resist_sound || target_ptr->levitation))
if (!(*count))
{
msg_print(_("周囲の空間が歪んだ!", "Space warps about you!"));
- teleport_player(damroll(10, 10), TELEPORT_PASSIVE);
+ teleport_player(p_ptr, damroll(10, 10), TELEPORT_PASSIVE);
if (randint0(13)) (*count) += activate_hi_summon(p_ptr->y, p_ptr->x, FALSE);
if (!one_in_(6)) break;
}
y = p_ptr->y;
x = p_ptr->x;
- teleport_player(10 + randint1(90), 0L);
+ teleport_player(p_ptr, 10 + randint1(90), 0L);
object_wipe(q_ptr);
object_prep(q_ptr, lookup_kind(TV_STATUE, SV_WOODEN_STATUE));
case 1:
case 2:
case 3:
- teleport_player(10, TELEPORT_PASSIVE);
+ teleport_player(p_ptr, 10, TELEPORT_PASSIVE);
break;
case 4:
case 5:
case 6:
- teleport_player(100, TELEPORT_PASSIVE);
+ teleport_player(p_ptr, 100, TELEPORT_PASSIVE);
break;
case 7:
case 8:
- teleport_player(200, TELEPORT_PASSIVE);
+ teleport_player(p_ptr, 200, TELEPORT_PASSIVE);
break;
case 9:
case 10:
else if (die < 40)
{
msg_print(_("テレポート・カードだ。", "It's a teleport trump card."));
- teleport_player(10, TELEPORT_PASSIVE);
+ teleport_player(p_ptr, 10, TELEPORT_PASSIVE);
}
else if (die < 42)
{
else if (die < 47)
{
msg_print(_("テレポート・カードだ。", "It's a teleport trump card."));
- teleport_player(100, TELEPORT_PASSIVE);
+ teleport_player(p_ptr, 100, TELEPORT_PASSIVE);
}
else if (die < 52)
{
msg_print(_("テレポート・カードだ。", "It's a teleport trump card."));
- teleport_player(200, TELEPORT_PASSIVE);
+ teleport_player(p_ptr, 200, TELEPORT_PASSIVE);
}
else if (die < 60)
{
if (randint0(p_ptr->skill_dis) < 7)
msg_print(_("うまく逃げられなかった。", "You failed to run away."));
else
- teleport_player(30, 0L);
+ teleport_player(p_ptr, 30, 0L);
return TRUE;
}
else
* @param mode オプション
* @return なし
*/
-void teleport_player(POSITION dis, BIT_FLAGS mode)
+void teleport_player(player_type *creature_ptr, POSITION dis, BIT_FLAGS mode)
{
POSITION yy, xx;
- POSITION oy = p_ptr->y;
- POSITION ox = p_ptr->x;
+ POSITION oy = creature_ptr->y;
+ POSITION ox = creature_ptr->x;
- if (!teleport_player_aux(p_ptr, dis, mode)) return;
+ if (!teleport_player_aux(creature_ptr, dis, mode)) return;
/* Monsters with teleport ability may follow the player */
for (xx = -1; xx < 2; xx++)
{
for (yy = -1; yy < 2; yy++)
{
- MONSTER_IDX tmp_m_idx = p_ptr->current_floor_ptr->grid_array[oy+yy][ox+xx].m_idx;
+ MONSTER_IDX tmp_m_idx = creature_ptr->current_floor_ptr->grid_array[oy+yy][ox+xx].m_idx;
/* A monster except your mount may follow */
- if (tmp_m_idx && (p_ptr->riding != tmp_m_idx))
+ if (tmp_m_idx && (creature_ptr->riding != tmp_m_idx))
{
- monster_type *m_ptr = &p_ptr->current_floor_ptr->m_list[tmp_m_idx];
+ monster_type *m_ptr = &creature_ptr->current_floor_ptr->m_list[tmp_m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
/*
if ((r_ptr->a_ability_flags2 & RF6_TPORT) &&
!(r_ptr->flagsr & RFR_RES_TELE))
{
- if (!MON_CSLEEP(m_ptr)) teleport_monster_to(tmp_m_idx, p_ptr->y, p_ptr->x, r_ptr->level, 0L);
+ if (!MON_CSLEEP(m_ptr)) teleport_monster_to(tmp_m_idx, creature_ptr->y, creature_ptr->x, r_ptr->level, 0L);
}
}
}
{
if (one_in_(3))
{
- teleport_player(200, TELEPORT_PASSIVE);
+ teleport_player(p_ptr, 200, TELEPORT_PASSIVE);
msg_print(_("失敗!", "Failed!"));
}
else teleport_player_to(p_ptr, m_ptr->fy, m_ptr->fx, 0L);
(!randint0(plev / 10 + 10)))
{
p_ptr->energy_need += (s16b)((s32b)(60 - plev) * ENERGY_NEED() / 100L);
- teleport_player((plev + 2) * 2, TELEPORT_PASSIVE);
+ teleport_player(p_ptr, (plev + 2) * 2, TELEPORT_PASSIVE);
/* Failed */
return FALSE;
case TRAP_TELEPORT:
{
msg_print(_("テレポート・トラップにひっかかった!", "You hit a teleport trap!"));
- teleport_player(100, TELEPORT_PASSIVE);
+ teleport_player(trapped_ptr, 100, TELEPORT_PASSIVE);
break;
}
/* Phase Door */
case 'p':
- teleport_player(10, 0L);
+ teleport_player(creature_ptr, 10, 0L);
break;
/* Take a Quests */
/* Teleport */
case 't':
- teleport_player(100, 0L);
+ teleport_player(creature_ptr, 100, 0L);
break;
/* Game Time Setting */