grid_type *g_ptr = &creature_ptr->current_floor_ptr->grid_array[y][x];
monster_type *m_ptr = &creature_ptr->current_floor_ptr->m_list[g_ptr->m_idx];
GAME_TEXT m_name[MAX_NLEN];
- monster_name(g_ptr->m_idx, m_name);
+ monster_name(creature_ptr, g_ptr->m_idx, m_name);
/* Check the visibility */
visible = m_ptr->ml;
/* No death */
else
{
- message_pain(g_ptr->m_idx, tdam);
+ message_pain(creature_ptr, g_ptr->m_idx, tdam);
/* Anger the monster */
if ((tdam > 0) && !object_is_potion(q_ptr))
if (creature_ptr->current_floor_ptr->grid_array[y][x].m_idx && is_friendly(m_ptr) && !MON_INVULNER(m_ptr))
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
msg_format(_("%sは怒った!", "%^s gets angry!"), m_name);
set_hostile(&creature_ptr->current_floor_ptr->m_list[creature_ptr->current_floor_ptr->grid_array[y][x].m_idx]);
}
if (!is_pet(m_ptr)) continue;
t_friends++;
- monster_desc(pet_name, m_ptr, MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE);
+ monster_desc(creature_ptr, pet_name, m_ptr, MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE);
fprintf(fff, "%s (%s)\n", pet_name, look_mon_desc(m_ptr, 0x00));
}
if (!projectable(caster_ptr, caster_ptr->y, caster_ptr->x, target_row, target_col)) break;
m_ptr = &caster_ptr->current_floor_ptr->m_list[caster_ptr->current_floor_ptr->grid_array[target_row][target_col].m_idx];
r_ptr = &r_info[m_ptr->r_idx];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(caster_ptr, m_name, m_ptr, 0);
if (r_ptr->flagsr & RFR_RES_TELE)
{
if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flagsr & RFR_RES_ALL))
delete_this = FALSE;
kakunin = ((pet_ctr == creature_ptr->riding) || (m_ptr->nickname));
- monster_desc(friend_name, m_ptr, MD_ASSUME_VISIBLE);
+ monster_desc(creature_ptr, friend_name, m_ptr, MD_ASSUME_VISIBLE);
if (!all_pets)
{
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(creature_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(creature_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_DISMISS, m_name);
}
if (MON_CSLEEP(m_ptr))
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
(void)set_monster_csleep(creature_ptr, g_ptr->m_idx, 0);
msg_format(_("%sを起こした。", "You have woken %s up."), m_name);
}
msg_print(_("そのモンスターの名前は変えられない!", "You cannot change name of this monster!"));
return;
}
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
msg_format(_("%sに名前をつける。", "Name %s."), m_name);
msg_print(NULL);
m_ptr->nickname = quark_add(out_val);
if (record_named_pet)
{
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(creature_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(creature_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_NAME, m_name);
}
}
{
if (record_named_pet && old_name)
{
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(creature_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(creature_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_UNNAME, m_name);
}
m_ptr->nickname = 0;
}
if (!sn)
{
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
msg_format(_("%sから振り落とされそうになって、壁にぶつかった。", "You have nearly fallen from %s, but bumped into wall."), m_name);
take_hit(creature_ptr, DAMAGE_NOESCAPE, r_ptr->level + 3, _("壁への衝突", "bumping into wall"), -1);
return FALSE;
if (creature_ptr->levitation && !force)
{
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
msg_format(_("%sから落ちたが、空中でうまく体勢を立て直して着地した。", "You are thrown from %s, but make a good landing."), m_name);
}
else
GAME_TEXT mon_name[MAX_NLEN];
int aura_damage = damroll(1 + (r_ptr->level / 26), 1 + (r_ptr->level / 17));
- monster_desc(mon_name, m_ptr, MD_WRONGDOER_NAME);
+ monster_desc(touched_ptr, mon_name, m_ptr, MD_WRONGDOER_NAME);
msg_print(message);
dam_func(touched_ptr, aura_damage, mon_name, -1, TRUE);
}
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(attacker_ptr, m_name, m_ptr, 0);
/* Calculate the "attack quality" */
int bonus = attacker_ptr->to_h_m + (attacker_ptr->lev * 6 / 5);
/* Disturb the monster */
(void)set_monster_csleep(attacker_ptr, g_ptr->m_idx, 0);
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(attacker_ptr, m_name, m_ptr, 0);
/* Calculate the "attack quality" */
bonus = attacker_ptr->to_h[hand] + o_ptr->to_h;
m_ptr = &floor_ptr->m_list[g_ptr->m_idx];
/* Oops, we need a different name... */
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(attacker_ptr, m_name, m_ptr, 0);
/* Hack -- Get new race */
r_ptr = &r_info[m_ptr->r_idx];
return FALSE;
}
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(attacker_ptr, m_name, m_ptr, 0);
if (m_ptr->ml)
{
rlev = ((r_ptr->level >= 1) ? r_ptr->level : 1);
/* Get the monster name (or "it") */
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
- monster_desc(ddesc, m_ptr, MD_WRONGDOER_NAME);
+ monster_desc(target_ptr, ddesc, m_ptr, MD_WRONGDOER_NAME);
if (target_ptr->special_defense & KATA_IAI)
{
if (target_ptr->riding && damage)
{
char m_steed_name[MAX_NLEN];
- monster_desc(m_steed_name, &floor_ptr->m_list[target_ptr->riding], 0);
+ monster_desc(target_ptr, m_steed_name, &floor_ptr->m_list[target_ptr->riding], 0);
if (rakuba(target_ptr, (damage > 200) ? 200 : damage, FALSE))
{
msg_format(_("%^sから落ちてしまった!", "You have fallen from %s."), m_steed_name);
if ((target_ptr->counter || (target_ptr->special_defense & KATA_MUSOU)) && alive && !target_ptr->is_dead && m_ptr->ml && (target_ptr->csp > 7))
{
char m_target_name[MAX_NLEN];
- monster_desc(m_target_name, m_ptr, 0);
+ monster_desc(target_ptr, m_target_name, m_ptr, 0);
target_ptr->csp -= 7;
msg_format(_("%^sに反撃した!", "Your counterattacked to %s!"), m_target_name);
/* Extract the effective monster level */
rlev = ((r_ptr->level >= 1) ? r_ptr->level : 1);
- monster_desc(m_name, m_ptr, 0);
- monster_desc(t_name, t_ptr, 0);
+ monster_desc(subject_ptr, m_name, m_ptr, 0);
+ monster_desc(subject_ptr, t_name, t_ptr, 0);
/* Assume no blink */
blinked = FALSE;
/* Can the player be aware of this attack? */
bool known = (m_ptr->cdis <= MAX_SIGHT);
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(player_ptr, m_name, m_ptr, 0);
/* Redraw (later) if needed */
if (m_ptr->ml)
if (known)
{
- monster_desc(m_name, m_ptr, MD_TRUE_NAME);
+ monster_desc(player_ptr, m_name, m_ptr, MD_TRUE_NAME);
/* Unseen death by normal attack */
if (!seen)
{
if (player_ptr->riding && (player_ptr->riding == m_idx) && (dam > 0))
{
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(player_ptr, m_name, m_ptr, 0);
if (m_ptr->hp > m_ptr->maxhp / 3) dam = (dam + 1) / 2;
if (rakuba(player_ptr, (dam > 200) ? 200 : dam, FALSE))
GAME_TEXT m_name[MAX_NLEN];
/* Get "the monster" or "it" */
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(shooter_ptr, m_name, m_ptr, 0);
msg_format(_("%sが%sに命中した。", "The %s hits %s."), o_name, m_name);
GAME_TEXT m_name[MAX_NLEN];
/* Get "the monster" or "it" */
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(shooter_ptr, m_name, m_ptr, 0);
tdam = m_ptr->hp + 1;
msg_format(_("%sの急所に突き刺さった!", "Your shot hit a fatal spot of %s!"), m_name);
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(shooter_ptr, m_name, m_ptr, 0);
stick_to = TRUE;
msg_format(_("%sは%sに突き刺さった!", "%^s is stuck in %s!"), o_name, m_name);
}
- message_pain(c_mon_ptr->m_idx, tdam);
+ message_pain(shooter_ptr, c_mon_ptr->m_idx, tdam);
/* Anger the monster */
if (tdam > 0) anger_monster(shooter_ptr, m_ptr);
{
GAME_TEXT m_name[MAX_NLEN];
sound(SOUND_FLEE);
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(shooter_ptr, m_name, m_ptr, 0);
msg_format(_("%^sは恐怖して逃げ出した!", "%^s flees in terror!"), m_name);
}
if (m_ptr->r_idx == MON_GOEMON && !MON_CSLEEP(m_ptr))
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(shooter_ptr, m_name, m_ptr, 0);
msg_format(_("%sは%sを斬り捨てた!", "%s cuts down %s!"), m_name, o_name);
}
return FALSE;
wm_ptr = &floor_ptr->m_list[win_m_idx];
- monster_desc(m_name, wm_ptr, 0);
+ monster_desc(player_ptr, m_name, wm_ptr, 0);
msg_format(_("%sが勝利した!", "%s is winner!"), m_name);
msg_print(NULL);
if (place_monster_aux(creature_ptr, 0, y, x, r_idx, PM_NO_KAGE))
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, &creature_ptr->current_floor_ptr->m_list[creature_ptr->current_floor_ptr->grid_array[y][x].m_idx], 0);
+ monster_desc(creature_ptr, m_name, &creature_ptr->current_floor_ptr->m_list[creature_ptr->current_floor_ptr->grid_array[y][x].m_idx], 0);
msg_format(_("%sが釣れた!", "You have a good catch!"), m_name);
success = TRUE;
}
/* Recover fully */
(void)set_monster_csleep(creature_ptr, creature_ptr->riding, 0);
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
msg_format(_("%^sを起こした。", "You have woken %s up."), m_name);
}
(randint0(r_ptr->level) < creature_ptr->skill_exp[GINOU_RIDING]) ? 0 : (MON_STUNNED(m_ptr) - 1)))
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
msg_format(_("%^sを朦朧状態から立ち直らせた。", "%^s is no longer stunned."), m_name);
}
}
(randint0(r_ptr->level) < creature_ptr->skill_exp[GINOU_RIDING]) ? 0 : (MON_CONFUSED(m_ptr) - 1)))
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
msg_format(_("%^sを混乱状態から立ち直らせた。", "%^s is no longer confused."), m_name);
}
}
(randint0(r_ptr->level) < creature_ptr->skill_exp[GINOU_RIDING]) ? 0 : (MON_MONFEAR(m_ptr) - 1)))
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
msg_format(_("%^sを恐怖から立ち直らせた。", "%^s is no longer afraid."), m_name);
}
}
}
GAME_TEXT pet_name[MAX_NLEN];
- monster_desc(pet_name, m_ptr, MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE);
+ monster_desc(master_ptr, pet_name, m_ptr, MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE);
fprintf(fff, "%s\n", pet_name);
}
if (!m_ptr->nickname) continue;
if (master_ptr->riding == i) continue;
- monster_desc(m_name, m_ptr, MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE);
+ monster_desc(master_ptr, m_name, m_ptr, MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE);
exe_write_diary(master_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_MOVED, m_name);
}
}
if (is_seen(m_ptr))
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(master_ptr, m_name, m_ptr, 0);
msg_format(_("%sは消え去った!", "%^s disappears!"), m_name);
}
monster_race *r_ptr = real_r_ptr(m_ptr);
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(master_ptr, m_name, m_ptr, 0);
msg_format(_("%sとはぐれてしまった。", "You have lost sight of %s."), m_name);
if (record_named_pet && m_ptr->nickname)
{
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(master_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(master_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_LOST_SIGHT, m_name);
}
if (!player_has_los_bold(caster_ptr, target_row, target_col)) break;
if (!projectable(caster_ptr, caster_ptr->y, caster_ptr->x, target_row, target_col)) break;
m_ptr = &caster_ptr->current_floor_ptr->m_list[m_idx];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(caster_ptr, m_name, m_ptr, 0);
msg_format(_("%sを引き戻した。", "You pull back %s."), m_name);
path_n = project_path(caster_ptr, path_g, MAX_RANGE, target_row, target_col, caster_ptr->y, caster_ptr->x, 0);
ty = target_row, tx = target_col;
if (see_m)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
msg_format(_("%sは消え去った!", "%^s disappears!"), m_name);
}
if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(target_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(target_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_LOSE_PARENT, m_name);
}
if (see_m)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
msg_format(_("%sは消え去った!", "%^s disappears!"), m_name);
}
if (m_ptr->hp < m_ptr->maxhp / 3)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
if (is_riding_mon && riding_pinch < 2)
{
if (m_ptr->ml)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
msg_format(_("%^sが目を覚ました。", "%^s wakes up."), m_name);
}
if (is_pet(m_ptr) || see_m)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, is_pet(m_ptr) ? MD_ASSUME_VISIBLE : 0);
+ monster_desc(target_ptr, m_name, m_ptr, is_pet(m_ptr) ? MD_ASSUME_VISIBLE : 0);
msg_format(_("%^sは突然敵にまわった!", "%^s suddenly becomes hostile!"), m_name);
}
/* Acquire the monster name/poss */
if (m_ptr->ml)
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
else
strcpy(m_name, _("それ", "It"));
/* Acquire the object name */
object_desc(o_name, o_ptr, 0);
- monster_desc(m_name, m_ptr, MD_INDEF_HIDDEN);
+ monster_desc(target_ptr, m_name, m_ptr, MD_INDEF_HIDDEN);
/* React to objects that hurt the monster */
if (have_flag(flgs, TR_SLAY_DRAGON)) flg3 |= (RF3_DRAGON);
if (see_m)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
msg_format(_("%^sは戦いを決意した!", "%^s turns to fight!"), m_name);
}
if (m_ptr->ml)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
msg_format(_("%^sが目を覚ました。", "%^s wakes up."), m_name);
}
if (is_seen(m_ptr))
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
msg_format(_("%^sはもう加速されていない。", "%^s is no longer fast."), m_name);
}
}
if (is_seen(m_ptr))
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
msg_format(_("%^sはもう減速されていない。", "%^s is no longer slow."), m_name);
}
}
if (is_seen(m_ptr))
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
msg_format(_("%^sは朦朧状態から立ち直った。", "%^s is no longer stunned."), m_name);
}
}
if (is_seen(m_ptr))
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
msg_format(_("%^sは混乱から立ち直った。", "%^s is no longer confused."), m_name);
}
/* Acquire the monster possessive */
monster_desc(m_poss, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE);
#endif
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
#ifdef JP
msg_format("%^sは勇気を取り戻した。", m_name);
#else
if (is_seen(m_ptr))
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
msg_format(_("%^sはもう無敵でない。", "%^s is no longer invulnerable."), m_name);
}
monster_type *m_ptr = &target_ptr->current_floor_ptr->m_list[m_idx];
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
if (set_monster_invulner(target_ptr, m_idx, 0, TRUE))
{
if (m_ptr->ml) msg_format(_("%sはもう無敵ではない。", "%^s is no longer invulnerable."), m_name);
if (vs_player)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
if (who == 1)
msg_format(_("「『ザ・ワールド』!時は止まった!」", "%s yells 'The World! Time has stopped!'"), m_name);
/* Hack -- Reduce the racial counter of previous monster */
real_r_ptr(m_ptr)->cur_num--;
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
m_ptr->r_idx = r_ptr->next_r_idx;
/* Count the monsters on the level */
monster_race_track(target_ptr, m_ptr->ap_r_idx);
}
- monster_desc(m_name, m_ptr, MD_TRUE_NAME);
+ monster_desc(target_ptr, m_name, m_ptr, MD_TRUE_NAME);
/* Don't kill Amberites */
if ((r_ptr->flags3 & RF3_AMBERITE) && one_in_(2))
extern bool alloc_guardian(player_type *player_ptr, bool def_val);
extern bool alloc_monster(player_type *player_ptr, POSITION dis, BIT_FLAGS mode);
-extern void monster_desc(char *desc, monster_type *m_ptr, BIT_FLAGS mode);
+extern void monster_desc(player_type *player_ptr, char *desc, monster_type *m_ptr, BIT_FLAGS mode);
/* Bit flags for monster_desc() */
#define MD_OBJECTIVE 0x00000001 /* Objective (or Reflexive) */
#define MD_POSSESSIVE 0x00000002 /* Possessive (or Reflexive) */
#define MD_WRONGDOER_NAME (MD_IGNORE_HALLU | MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE) /* 加害明記向け */
-extern void monster_name(MONSTER_IDX m_idx, char* m_name);
+extern void monster_name(player_type *player_ptr, MONSTER_IDX m_idx, char* m_name);
extern void roff_top(MONRACE_IDX r_idx);
extern void screen_roff(player_type *player_ptr, MONRACE_IDX r_idx, BIT_FLAGS mode);
extern void dice_to_string(int base_damage, int dice_num, int dice_side, int dice_mult, int dice_div, char* msg);
extern concptr look_mon_desc(monster_type *m_ptr, BIT_FLAGS mode);
extern int get_monster_crowd_number(MONSTER_IDX m_idx);
-extern void message_pain(MONSTER_IDX m_idx, HIT_POINT dam);
+extern void message_pain(player_type *player_ptr, MONSTER_IDX m_idx, HIT_POINT dam);
/* monster2.c */
extern void set_target(monster_type *m_ptr, POSITION y, POSITION x);
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(player_ptr, m_name, m_ptr, 0);
msg_format(_("%^sは怒った!", "%^s gets angry!"), m_name);
set_hostile(m_ptr);
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(player_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(player_ptr, DIARY_NAMED_PET, 3, m_name);
}
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, MD_WRONGDOER_NAME);
+ monster_desc(player_ptr, m_name, m_ptr, MD_WRONGDOER_NAME);
exe_write_diary(player_ptr, DIARY_ARENA, player_ptr->arena_number, m_name);
}
if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(player_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_COMPACT, m_name);
}
* MD_PRON_VISIBLE | MD_POSSESSIVE | MD_OBJECTIVE
* --> Reflexive, genderized if visable ("himself") or "itself"
*/
-void monster_desc(char *desc, monster_type *m_ptr, BIT_FLAGS mode)
+void monster_desc(player_type *player_ptr, char *desc, monster_type *m_ptr, BIT_FLAGS mode)
{
concptr res;
monster_race *r_ptr;
else name = (r_name + r_ptr->name);
/* Are we hallucinating? (Idea from Nethack...) */
- if (p_ptr->image && !(mode & MD_IGNORE_HALLU))
+ if (player_ptr->image && !(mode & MD_IGNORE_HALLU))
{
if (one_in_(2))
{
/* First, try using pronouns, or describing hidden monsters */
- floor_type *floor_ptr = p_ptr->current_floor_ptr;
+ floor_type *floor_ptr = player_ptr->current_floor_ptr;
if (!seen || pron)
{
/* an encoding of the monster "sex" */
else
/* It could be a Unique */
- if ((r_ptr->flags1 & RF1_UNIQUE) && !(p_ptr->image && !(mode & MD_IGNORE_HALLU)))
+ if ((r_ptr->flags1 & RF1_UNIQUE) && !(player_ptr->image && !(mode & MD_IGNORE_HALLU)))
{
/* Start with the name (thus nominative and objective) */
if ((m_ptr->mflag2 & MFLAG2_CHAMELEON) && !(mode & MD_TRUE_NAME))
}
/* Inside monster arena, and it is not your mount */
- else if (p_ptr->phase_out &&
- !(p_ptr->riding && (&floor_ptr->m_list[p_ptr->riding] == m_ptr)))
+ else if (player_ptr->phase_out &&
+ !(player_ptr->riding && (&floor_ptr->m_list[player_ptr->riding] == m_ptr)))
{
/* It is a fake unique monster */
(void)sprintf(desc, _("%sもどき", "fake %s"), name);
strcat(desc, buf);
}
- if (p_ptr->riding && (&floor_ptr->m_list[p_ptr->riding] == m_ptr))
+ if (player_ptr->riding && (&floor_ptr->m_list[player_ptr->riding] == m_ptr))
{
strcat(desc, _("(乗馬中)", "(riding)"));
}
/*!
* @brief モンスターIDを取り、モンスター名をm_nameに代入する /
+* @param player_ptr プレーヤーへの参照ポインタ
* @param m_idx モンスターID
* @param m_name モンスター名を入力する配列
*/
-void monster_name(MONSTER_IDX m_idx, char* m_name)
+void monster_name(player_type *player_ptr, MONSTER_IDX m_idx, char* m_name)
{
monster_type *m_ptr = &p_ptr->current_floor_ptr->m_list[m_idx];
- monster_desc(m_name, m_ptr, 0x00);
+ monster_desc(player_ptr, m_name, m_ptr, 0x00);
}
if (old_unique && (r_idx == MON_CHAMELEON)) r_idx = MON_CHAMELEON_K;
r_ptr = &r_info[r_idx];
- monster_desc(old_m_name, m_ptr, 0);
+ monster_desc(player_ptr, old_m_name, m_ptr, 0);
if (!r_idx)
{
if (m_idx == player_ptr->riding)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(player_ptr, m_name, m_ptr, 0);
msg_format(_("突然%sが変身した。", "Suddenly, %s transforms!"), old_m_name);
if (!(r_ptr->flags7 & RF7_RIDING))
if (rakuba(player_ptr, 0, TRUE)) msg_format(_("地面に落とされた。", "You have fallen from %s."), m_name);
/*!
* @brief ダメージを受けたモンスターの様子を記述する / Dump a message describing a monster's reaction to damage
+ * @param player_ptr プレーヤーへの参照ポインタ
* @param m_idx モンスター情報ID
* @param dam 与えたダメージ
* @return なし
* @details
* Technically should attempt to treat "Beholder"'s as jelly's
*/
-void message_pain(MONSTER_IDX m_idx, HIT_POINT dam)
+void message_pain(player_type *player_ptr, MONSTER_IDX m_idx, HIT_POINT dam)
{
HIT_POINT oldhp, newhp;
HIT_POINT tmp;
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(player_ptr, m_name, m_ptr, 0);
if (dam == 0) // Notice non-damage
{
/* Get the monster name (or "it") */
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0x00);
+ monster_desc(target_ptr, m_name, m_ptr, 0x00);
#ifdef JP
#else
if (target_ptr->leaving) return FALSE;
/* Get the monster name (or "it") */
- monster_desc(m_name, m_ptr, 0x00);
+ monster_desc(target_ptr, m_name, m_ptr, 0x00);
#ifdef JP
#else
#endif
/* Get the target's name (or "it") */
- monster_desc(t_name, t_ptr, 0x00);
+ monster_desc(target_ptr, t_name, t_ptr, 0x00);
/* Choose a spell to cast */
thrown_spell = spell[randint0(num)];
if (!projectable(caster_ptr, caster_ptr->y, caster_ptr->x, target_row, target_col)) break;
m_ptr = &floor_ptr->m_list[floor_ptr->grid_array[target_row][target_col].m_idx];
r_ptr = &r_info[m_ptr->r_idx];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(caster_ptr, m_name, m_ptr, 0);
if (r_ptr->flagsr & RFR_RES_TELE)
{
if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flagsr & RFR_RES_ALL))
bool mon_to_mon = (TARGET_TYPE == MONSTER_TO_MONSTER);
bool mon_to_player = (TARGET_TYPE == MONSTER_TO_PLAYER);
GAME_TEXT m_name[MAX_NLEN], t_name[MAX_NLEN];
- monster_name(m_idx, m_name);
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, m_idx, m_name);
+ monster_name(target_ptr, t_idx, t_name);
if (mon_to_player || (mon_to_mon && known && see_either))
disturb(target_ptr, TRUE, TRUE);
void spell_RF4_DISPEL(MONSTER_IDX m_idx, player_type *target_ptr, MONSTER_IDX t_idx, int TARGET_TYPE)
{
GAME_TEXT m_name[MAX_NLEN], t_name[MAX_NLEN];
- monster_name(m_idx, m_name);
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, m_idx, m_name);
+ monster_name(target_ptr, t_idx, t_name);
monspell_message(target_ptr, m_idx, t_idx,
_("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."),
bool mon_to_mon = (TARGET_TYPE == MONSTER_TO_MONSTER);
bool mon_to_player = (TARGET_TYPE == MONSTER_TO_PLAYER);
GAME_TEXT m_name[MAX_NLEN], t_name[MAX_NLEN];
- monster_name(m_idx, m_name);
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, m_idx, m_name);
+ monster_name(target_ptr, t_idx, t_name);
switch (GF_TYPE)
{
bool mon_to_mon = (TARGET_TYPE == MONSTER_TO_MONSTER);
bool mon_to_player = (TARGET_TYPE == MONSTER_TO_PLAYER);
GAME_TEXT t_name[MAX_NLEN];
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, t_idx, t_name);
monspell_message(target_ptr, m_idx, t_idx,
{
HIT_POINT dam;
GAME_TEXT m_name[MAX_NLEN], t_name[MAX_NLEN];
- monster_name(m_idx, m_name);
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, m_idx, m_name);
+ monster_name(target_ptr, t_idx, t_name);
if (TARGET_TYPE == MONSTER_TO_PLAYER)
bool seen = (!target_ptr->blind && m_ptr->ml);
HIT_POINT dam;
GAME_TEXT m_name[MAX_NLEN], t_name[MAX_NLEN];
- monster_name(m_idx, m_name);
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, m_idx, m_name);
+ monster_name(target_ptr, t_idx, t_name);
if (TARGET_TYPE == MONSTER_TO_PLAYER)
bool seen = (!target_ptr->blind && m_ptr->ml);
HIT_POINT dam;
GAME_TEXT m_name[MAX_NLEN], t_name[MAX_NLEN];
- monster_name(m_idx, m_name);
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, m_idx, m_name);
+ monster_name(target_ptr, t_idx, t_name);
if (TARGET_TYPE == MONSTER_TO_PLAYER)
void spell_RF5_CAUSE(player_type *target_ptr, int GF_TYPE, HIT_POINT dam, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, concptr msg1, concptr msg2, concptr msg3, int MS_TYPE, int TARGET_TYPE)
{
GAME_TEXT m_name[MAX_NLEN], t_name[MAX_NLEN];
- monster_name(m_idx, m_name);
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, m_idx, m_name);
+ monster_name(target_ptr, t_idx, t_name);
if (TARGET_TYPE == MONSTER_TO_PLAYER)
{
bool see_t = see_monster(floor_ptr, t_idx);
bool known = monster_near_player(floor_ptr, m_idx, t_idx);
GAME_TEXT m_name[MAX_NLEN], t_name[MAX_NLEN];
- monster_name(m_idx, m_name);
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, m_idx, m_name);
+ monster_name(target_ptr, t_idx, t_name);
if (TARGET_TYPE == MONSTER_TO_PLAYER)
{
concptr msg1;
GAME_TEXT t_name[MAX_NLEN];
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, t_idx, t_name);
if (streq(t_name, "it"))
{
concptr msg1;
GAME_TEXT t_name[MAX_NLEN];
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, t_idx, t_name);
if (streq(t_name, "it"))
{
bool see_m = see_monster(floor_ptr, m_idx);
monster_type *m_ptr = &floor_ptr->m_list[m_idx];
GAME_TEXT m_name[MAX_NLEN];
- monster_name(m_idx, m_name);
+ monster_name(target_ptr, m_idx, m_name);
monspell_message_base(target_ptr, m_idx, t_idx,
_("%^sが何かをつぶやいた。", "%^s mumbles."),
DEPTH rlev = monster_level_idx(floor_ptr, m_idx);
bool seen = (!target_ptr->blind && m_ptr->ml);
GAME_TEXT m_name[MAX_NLEN];
- monster_name(m_idx, m_name);
+ monster_name(target_ptr, m_idx, m_name);
disturb(target_ptr, TRUE, TRUE);
void spell_RF6_BLINK(player_type *target_ptr, MONSTER_IDX m_idx, int TARGET_TYPE)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_name(m_idx, m_name);
+ monster_name(target_ptr, m_idx, m_name);
if (TARGET_TYPE == MONSTER_TO_PLAYER)
disturb(target_ptr, TRUE, TRUE);
void spell_RF6_TPORT(player_type *target_ptr, MONSTER_IDX m_idx, int TARGET_TYPE)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_name(m_idx, m_name);
+ monster_name(target_ptr, m_idx, m_name);
floor_type *floor_ptr = target_ptr->current_floor_ptr;
if (TARGET_TYPE == MONSTER_TO_PLAYER)
monster_type *m_ptr = &target_ptr->current_floor_ptr->m_list[m_idx];
MONSTER_IDX who = 0;
GAME_TEXT m_name[MAX_NLEN];
- monster_name(m_idx, m_name);
+ monster_name(target_ptr, m_idx, m_name);
disturb(target_ptr, TRUE, TRUE);
if (m_ptr->r_idx == MON_DIO) who = 1;
bool monster_to_monster = (TARGET_TYPE == MONSTER_TO_MONSTER);
bool direct = player_bold(target_ptr, y, x);
GAME_TEXT m_name[MAX_NLEN];
- monster_name(m_idx, m_name);
+ monster_name(target_ptr, m_idx, m_name);
disturb(target_ptr, TRUE, TRUE);
if (one_in_(3) || !direct)
{
GAME_TEXT m_name_self[80];
/* hisself */
- monster_desc(m_name_self, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE | MD_OBJECTIVE);
+ monster_desc(target_ptr, m_name_self, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE | MD_OBJECTIVE);
msg_format(_("攻撃が%s自身を傷つけた!", "The attack of %s has wounded %s!"), m_name, m_name_self);
bool resists_tele = FALSE;
GAME_TEXT t_name[MAX_NLEN];
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, t_idx, t_name);
if (tr_ptr->flagsr & RFR_RES_TELE)
{
bool resists_tele = FALSE;
GAME_TEXT t_name[MAX_NLEN];
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, t_idx, t_name);
if (tr_ptr->flagsr & RFR_RES_TELE)
{
bool monster_to_monster = TARGET_TYPE == MONSTER_TO_MONSTER;
bool monster_to_player = TARGET_TYPE == MONSTER_TO_PLAYER;
GAME_TEXT t_name[MAX_NLEN];
- monster_name(t_idx, t_name);
+ monster_name(target_ptr, t_idx, t_name);
if ((target_ptr->pclass == CLASS_NINJA) &&
!(r_ptr->flags3 & (RF3_UNDEAD | RF3_HURT_LITE)) &&
void spell_RF6_TRAPS(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_name(m_idx, m_name);
+ monster_name(target_ptr, m_idx, m_name);
disturb(target_ptr, TRUE, TRUE);
if (target_ptr->blind)
{
DEPTH rlev = monster_level_idx(target_ptr->current_floor_ptr, m_idx);
GAME_TEXT m_name[MAX_NLEN];
- monster_name(m_idx, m_name);
+ monster_name(target_ptr, m_idx, m_name);
disturb(target_ptr, TRUE, TRUE);
DEPTH rlev = monster_level_idx(floor_ptr, m_idx);
int count = 0;
GAME_TEXT m_name[MAX_NLEN], t_name[MAX_NLEN], m_poss[80];
- monster_name(m_idx, m_name);
- monster_name(t_idx, t_name);
- monster_desc(m_poss, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE);
+ monster_name(target_ptr, m_idx, m_name);
+ monster_name(target_ptr, t_idx, t_name);
+ monster_desc(target_ptr, m_poss, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE);
disturb(target_ptr, TRUE, TRUE);
bool known = monster_near_player(floor_ptr, m_idx, t_idx);
POSITION cy = y;
POSITION cx = x;
GAME_TEXT m_name[MAX_NLEN];
- monster_name(m_idx, m_name);
+ monster_name(target_ptr, m_idx, m_name);
if (target_ptr->blind)
msg_format(_("%^sが何かをつぶやいた。", "%^s mumbles."), m_name);
void spell_RF6_S_HI_UNDEAD(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_name(m_idx, m_name);
+ monster_name(target_ptr, m_idx, m_name);
disturb(target_ptr, TRUE, TRUE);
if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(creature_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(creature_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_GENOCIDE, m_name);
}
/* Delete the monster, rather than killing it. */
/* Disturb the monster */
(void)set_monster_csleep(creature_ptr, g_ptr->m_idx, 0);
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
if (m_ptr->ml)
{
else if (MON_MONFEAR(riding_m_ptr))
{
GAME_TEXT steed_name[MAX_NLEN];
- monster_desc(steed_name, riding_m_ptr, 0);
+ monster_desc(creature_ptr, steed_name, riding_m_ptr, 0);
msg_format(_("%sが恐怖していて制御できない。", "%^s is too scared to control."), steed_name);
can_move = FALSE;
disturb(creature_ptr, FALSE, TRUE);
if (can_move && MON_STUNNED(riding_m_ptr) && one_in_(2))
{
GAME_TEXT steed_name[MAX_NLEN];
- monster_desc(steed_name, riding_m_ptr, 0);
+ monster_desc(creature_ptr, steed_name, riding_m_ptr, 0);
msg_format(_("%sが朦朧としていてうまく動けない!", "You cannot control stunned %s!"), steed_name);
can_move = FALSE;
disturb(creature_ptr, FALSE, TRUE);
power = r_ptr->level / 2;
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
if (!(r_ptr->flags1 & RF1_UNIQUE))
{
monster_type *m_ptr = &caster_ptr->current_floor_ptr->m_list[m_idx];
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(caster_ptr, m_name, m_ptr, 0);
for (i = 0; i < 5; i++)
{
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(caster_ptr, m_name, m_ptr, 0);
msg_format(_("%sには効果がない!", "%s is unharmed!"), m_name);
}
else py_attack(caster_ptr, y, x, HISSATSU_SEKIRYUKA);
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(caster_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(caster_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_DESTROY, m_name);
}
{
GAME_TEXT m_name[MAX_NLEN];
monster_type *m_ptr = &floor_ptr->m_list[m_idx];
- monster_desc(m_name, m_ptr, MD_WRONGDOER_NAME);
+ monster_desc(caster_ptr, m_name, m_ptr, MD_WRONGDOER_NAME);
killer = format(_("%sの起こした地震", "an earthquake caused by %s"), m_name);
}
else
}
}
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(caster_ptr, m_name, m_ptr, 0);
/* Scream in pain */
if (!ignore_unview || is_seen(m_ptr)) msg_format(_("%^sは苦痛で泣きわめいた!", "%^s wails out in pain!"), m_name);
{
char m2_name[MAX_NLEN];
- monster_desc(m2_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(caster_ptr, m2_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(caster_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_EARTHQUAKE, m2_name);
}
}
if (creature_ptr->current_floor_ptr->grid_array[y][x].m_idx)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, &creature_ptr->current_floor_ptr->m_list[creature_ptr->current_floor_ptr->grid_array[y][x].m_idx], 0);
+ monster_desc(creature_ptr, m_name, &creature_ptr->current_floor_ptr->m_list[creature_ptr->current_floor_ptr->grid_array[y][x].m_idx], 0);
msg_format(_("%sが邪魔だ!", "%^s is standing in your way."), m_name);
free_turn(creature_ptr);
return FALSE;
/* Get the monster name (BEFORE polymorphing) */
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(caster_ptr, m_name, m_ptr, 0);
/* Get the monster possessive ("his"/"her"/"its") */
- monster_desc(m_poss, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE);
+ monster_desc(caster_ptr, m_poss, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE);
if (caster_ptr->riding && (g_ptr->m_idx == caster_ptr->riding)) disturb(caster_ptr, TRUE, TRUE);
else
{
/* Injure +/- confusion */
- monster_desc(killer, m_ptr, MD_WRONGDOER_NAME);
+ monster_desc(caster_ptr, killer, m_ptr, MD_WRONGDOER_NAME);
take_hit(caster_ptr, DAMAGE_ATTACK, dam, killer, -1); /* has already been /3 */
if (one_in_(4) && !CHECK_MULTISHADOW(caster_ptr))
{
else
{
/* Injure + mana drain */
- monster_desc(killer, m_ptr, MD_WRONGDOER_NAME);
+ monster_desc(caster_ptr, killer, m_ptr, MD_WRONGDOER_NAME);
if (!CHECK_MULTISHADOW(caster_ptr))
{
msg_print(_("超能力パワーを吸いとられた!", "Your psychic energy is drained!"));
/* Special message */
if (see_s_msg)
{
- monster_desc(killer, m_caster_ptr, 0);
+ monster_desc(caster_ptr, killer, m_caster_ptr, 0);
msg_format(_("%^sは気分が良さそうだ。", "%^s appears healthier."), killer);
}
}
/* Give detailed messages if destroyed */
if (known && note)
{
- monster_desc(m_name, m_ptr, MD_TRUE_NAME);
+ monster_desc(caster_ptr, m_name, m_ptr, MD_TRUE_NAME);
if (see_s_msg)
{
msg_format("%^s%s", m_name, note);
/* Hack -- Pain message */
else if (see_s_msg)
{
- message_pain(g_ptr->m_idx, dam);
+ message_pain(caster_ptr, g_ptr->m_idx, dam);
}
else
{
{
char m2_name[MAX_NLEN];
- monster_desc(m2_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(caster_ptr, m2_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(caster_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_HEAL_LEPER, m2_name);
}
/* Hack -- Pain message */
else if (known && (dam || !do_fear))
{
- message_pain(g_ptr->m_idx, dam);
+ message_pain(caster_ptr, g_ptr->m_idx, dam);
}
/* Anger monsters */
{
m_ptr = &target_ptr->current_floor_ptr->m_list[who];
rlev = (((&r_info[m_ptr->r_idx])->level >= 1) ? (&r_info[m_ptr->r_idx])->level : 1);
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(target_ptr, m_name, m_ptr, 0);
/* Get the monster's real name (gotten before polymorph!) */
strcpy(killer, who_name);
GAME_TEXT m_name_self[80];
/* hisself */
- monster_desc(m_name_self, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE | MD_OBJECTIVE);
+ monster_desc(target_ptr, m_name_self, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE | MD_OBJECTIVE);
msg_format(_("攻撃が%s自身を傷つけた!", "The attack of %s has wounded %s!"), m_name, m_name_self);
project(target_ptr, 0, 0, m_ptr->fy, m_ptr->fx, get_damage, GF_MISSILE, PROJECT_KILL, -1);
{
x1 = caster_ptr->current_floor_ptr->m_list[who].fx;
y1 = caster_ptr->current_floor_ptr->m_list[who].fy;
- monster_desc(who_name, &caster_ptr->current_floor_ptr->m_list[who], MD_WRONGDOER_NAME);
+ monster_desc(caster_ptr, who_name, &caster_ptr->current_floor_ptr->m_list[who], MD_WRONGDOER_NAME);
}
else
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, &caster_ptr->current_floor_ptr->m_list[caster_ptr->riding], 0);
+ monster_desc(caster_ptr, m_name, &caster_ptr->current_floor_ptr->m_list[caster_ptr->riding], 0);
if (rakubadam_m > 0)
{
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(caster_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(caster_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_GENOCIDE, m_name);
}
bool see_m = is_seen(m_ptr);
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(caster_ptr, m_name, m_ptr, 0);
if (see_m)
{
msg_format(_("%^sには効果がなかった。", "%^s is unaffected."), m_name);
}
/* Get "the monster" or "something" */
- monster_desc(m_name, m_ptr, MD_IGNORE_HALLU | MD_INDEF_HIDDEN);
+ monster_desc(caster_ptr, m_name, m_ptr, MD_IGNORE_HALLU | MD_INDEF_HIDDEN);
speed = m_ptr->mspeed - 110;
if (MON_FAST(m_ptr)) speed += 10;
if (r_ptr->flags1 & RF1_UNIQUE)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0x00);
+ monster_desc(caster_ptr, m_name, m_ptr, 0x00);
msg_format(_("%sは爆破されるのを嫌がり、勝手に自分の世界へと帰った。", "%^s resists being blasted and runs away."), m_name);
delete_monster_idx(i);
continue;
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(caster_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(caster_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_BLAST, m_name);
}
if (m_ptr->ml)
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(caster_ptr, m_name, m_ptr, 0);
msg_format(_("%^sが目を覚ました。", "%^s wakes up."), m_name);
}
}
GAME_TEXT m_name[MAX_NLEN];
/* Get the monster name (BEFORE polymorphing) */
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(attacker_ptr, m_name, m_ptr, 0);
msg_format(_("素早く%sの懐に入り込んだ!", "You quickly jump in and attack %s!"), m_name);
}
m_ptr = &creature_ptr->current_floor_ptr->m_list[creature_ptr->riding];
r_ptr = &r_info[m_ptr->r_idx];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
msg_format(_("%sに乗った。", "You ride on %s."), m_name);
if (is_pet(m_ptr)) return TRUE;
m_ptr = &caster_ptr->current_floor_ptr->m_list[target_m_idx];
r_ptr = &r_info[m_ptr->r_idx];
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(caster_ptr, m_name, m_ptr, 0);
msg_format(_("%^sの足を指さした。", "You gesture at %^s's feet."), m_name);
if ((r_ptr->flagsr & (RFR_EFF_RES_NEXU_MASK | RFR_RES_TELE)) ||
monster_type *m_ptr = &creature_ptr->current_floor_ptr->m_list[m_idx];
/* Get the monster name (or "it") */
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
see_m = is_seen(m_ptr);
}
{
char m2_name[MAX_NLEN];
- monster_desc(m2_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(creature_ptr, m2_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(creature_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_TELE_LEVEL, m2_name);
}
/* Notice the "waking up" */
if (m_ptr->ml)
{
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(caster_ptr, m_name, m_ptr, 0);
msg_format(_("%^sが目を覚ました。", "%^s wakes up."), m_name);
}
}
monster_type *m_ptr = &caster_ptr->current_floor_ptr->m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(caster_ptr, m_name, m_ptr, 0);
if (randint1(r_ptr->level * 3 / 2) > randint0(dam / 2) + dam / 2)
{
/* Not boring */
boring = FALSE;
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(subject_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
monster_race_track(subject_ptr, m_ptr->ap_r_idx);
health_track(subject_ptr, g_ptr->m_idx);
handle_stuff(subject_ptr);
GAME_TEXT m_name[MAX_NLEN];
monster_type *m_ptr = &creature_ptr->current_floor_ptr->m_list[creature_ptr->riding];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
if (MON_CONFUSED(m_ptr))
{
msg_format(_("%sは混乱している。", "%^s is confused."), m_name);
GAME_TEXT m_name[MAX_NLEN];
monster_type *m_ptr = &creature_ptr->current_floor_ptr->m_list[creature_ptr->riding];
- monster_desc(m_name, m_ptr, 0);
+ monster_desc(creature_ptr, m_name, m_ptr, 0);
if (MON_CONFUSED(m_ptr))
{
msg_format(_("%sは混乱している。", "%^s is confused."), m_name);
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(caster_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(caster_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_WIZ_ZAP, m_name);
}
{
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+ monster_desc(caster_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
exe_write_diary(caster_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_WIZ_ZAP, m_name);
}