From 90590964dcb7d89dd2c4654100d6dff3565fa0f0 Mon Sep 17 00:00:00 2001 From: Slimebreath6078 Date: Mon, 13 Sep 2021 19:52:17 +0900 Subject: [PATCH] =?utf8?q?=E7=9B=B2=E7=9B=AE=E3=80=81=E9=9D=9E=E7=9B=B2?= =?utf8?q?=E7=9B=AE=E6=99=82=E5=AF=BE=E3=83=97=E3=83=AC=E3=82=A4=E3=83=A4?= =?utf8?q?=E3=83=BC=E3=80=81=E9=9D=9E=E7=9B=B2=E7=9B=AE=E6=99=82=E5=AF=BE?= =?utf8?q?=E3=83=A2=E3=83=B3=E3=82=B9=E3=82=BF=E3=83=BC=E3=81=AE=E3=83=A1?= =?utf8?q?=E3=83=83=E3=82=BB=E3=83=BC=E3=82=B8=E3=82=92=E6=A7=8B=E9=80=A0?= =?utf8?q?=E4=BD=93=E3=81=AB=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/mspell/mspell-ball.cpp | 81 ++++++++++++++++++---------- src/mspell/mspell-bolt.cpp | 66 +++++++++++++++-------- src/mspell/mspell-dispel.cpp | 7 +-- src/mspell/mspell-floor.cpp | 32 ++++++----- src/mspell/mspell-particularity.cpp | 12 +++-- src/mspell/mspell-special.cpp | 5 +- src/mspell/mspell-status.cpp | 40 ++++++++------ src/mspell/mspell-summon.cpp | 104 +++++++++++++++++++++++------------- src/mspell/mspell-util.cpp | 36 ++++++++----- src/mspell/mspell-util.h | 26 +++++++-- src/mspell/specified-summon.cpp | 4 +- 11 files changed, 268 insertions(+), 145 deletions(-) diff --git a/src/mspell/mspell-ball.cpp b/src/mspell/mspell-ball.cpp index 597ebe205..31f171291 100644 --- a/src/mspell/mspell-ball.cpp +++ b/src/mspell/mspell-ball.cpp @@ -30,8 +30,10 @@ */ MonsterSpellResult spell_RF4_BA_NUKE(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが放射能球を放った。", "%^s casts a ball of radiation."), - _("%^sが%sに放射能球を放った。", "%^s casts a ball of radiation at %s."), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが放射能球を放った。", "%^s casts a ball of radiation."), + _("%^sが%sに放射能球を放った。", "%^s casts a ball of radiation at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BA_NUKE, m_idx, DAM_ROLL); const auto proj_res = breath(player_ptr, y, x, m_idx, GF_NUKE, dam, 2, false, TARGET_TYPE); @@ -57,8 +59,10 @@ MonsterSpellResult spell_RF4_BA_NUKE(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF4_BA_CHAO(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが恐ろしげにつぶやいた。", "%^s mumbles frighteningly."), - _("%^sが純ログルスを放った。", "%^s invokes a raw Logrus."), _("%^sが%sに純ログルスを放った。", "%^s invokes raw Logrus upon %s."), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが恐ろしげにつぶやいた。", "%^s mumbles frighteningly."), + _("%^sが純ログルスを放った。", "%^s invokes a raw Logrus."), _("%^sが%sに純ログルスを放った。", "%^s invokes raw Logrus upon %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BA_CHAO, m_idx, DAM_ROLL); const auto proj_res = breath(player_ptr, y, x, m_idx, GF_CHAOS, dam, 4, false, TARGET_TYPE); @@ -84,9 +88,11 @@ MonsterSpellResult spell_RF4_BA_CHAO(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BA_ACID(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがアシッド・ボールの呪文を唱えた。", "%^s casts an acid ball."), - _("%^sが%sに向かってアシッド・ボールの呪文を唱えた。", "%^s casts an acid ball at %s."), TARGET_TYPE); + _("%^sが%sに向かってアシッド・ボールの呪文を唱えた。", "%^s casts an acid ball at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto rad = monster_is_powerful(player_ptr->current_floor_ptr, m_idx) ? 4 : 2; const auto dam = monspell_damage(player_ptr, RF_ABILITY::BA_ACID, m_idx, DAM_ROLL); @@ -113,9 +119,11 @@ MonsterSpellResult spell_RF5_BA_ACID(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BA_ELEC(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがサンダー・ボールの呪文を唱えた。", "%^s casts a lightning ball."), - _("%^sが%sに向かってサンダー・ボールの呪文を唱えた。", "%^s casts a lightning ball at %s."), TARGET_TYPE); + _("%^sが%sに向かってサンダー・ボールの呪文を唱えた。", "%^s casts a lightning ball at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto rad = monster_is_powerful(player_ptr->current_floor_ptr, m_idx) ? 4 : 2; const auto dam = monspell_damage(player_ptr, RF_ABILITY::BA_ELEC, m_idx, DAM_ROLL); @@ -142,17 +150,21 @@ MonsterSpellResult spell_RF5_BA_ELEC(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BA_FIRE(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { + mspell_cast_msg_blind msg; monster_type *m_ptr = &player_ptr->current_floor_ptr->m_list[m_idx]; if (m_ptr->r_idx == MON_ROLENTO) { - monspell_message(player_ptr, m_idx, t_idx, _("%sが何かを投げた。", "%^s throws something."), _("%sは手榴弾を投げた。", "%^s throws a hand grenade."), - _("%^sが%^sに向かって手榴弾を投げた。", "%^s throws a hand grenade."), TARGET_TYPE); + msg.blind = _("%sが何かを投げた。", "%^s throws something."); + msg.to_player = _("%sは手榴弾を投げた。", "%^s throws a hand grenade."); + msg.to_mons = _("%^sが%^sに向かって手榴弾を投げた。", "%^s throws a hand grenade."); } else { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), - _("%^sがファイア・ボールの呪文を唱えた。", "%^s casts a fire ball."), - _("%^sが%sに向かってファイア・ボールの呪文を唱えた。", "%^s casts a fire ball at %s."), TARGET_TYPE); + msg.blind = _("%^sが何かをつぶやいた。", "%^s mumbles."); + msg.to_mons = _("%^sがファイア・ボールの呪文を唱えた。", "%^s casts a fire ball."); + msg.to_player = _("%^sが%sに向かってファイア・ボールの呪文を唱えた。", "%^s casts a fire ball at %s."); } + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); + const auto rad = monster_is_powerful(player_ptr->current_floor_ptr, m_idx) ? 4 : 2; const auto dam = monspell_damage(player_ptr, RF_ABILITY::BA_FIRE, m_idx, DAM_ROLL); const auto proj_res = breath(player_ptr, y, x, m_idx, GF_FIRE, dam, rad, false, TARGET_TYPE); @@ -178,9 +190,11 @@ MonsterSpellResult spell_RF5_BA_FIRE(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BA_COLD(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがアイス・ボールの呪文を唱えた。", "%^s casts a frost ball."), - _("%^sが%sに向かってアイス・ボールの呪文を唱えた。", "%^s casts a frost ball at %s."), TARGET_TYPE); + _("%^sが%sに向かってアイス・ボールの呪文を唱えた。", "%^s casts a frost ball at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto rad = monster_is_powerful(player_ptr->current_floor_ptr, m_idx) ? 4 : 2; const auto dam = monspell_damage(player_ptr, RF_ABILITY::BA_COLD, m_idx, DAM_ROLL); @@ -207,8 +221,10 @@ MonsterSpellResult spell_RF5_BA_COLD(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BA_POIS(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが悪臭雲の呪文を唱えた。", "%^s casts a stinking cloud."), - _("%^sが%sに向かって悪臭雲の呪文を唱えた。", "%^s casts a stinking cloud at %s."), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが悪臭雲の呪文を唱えた。", "%^s casts a stinking cloud."), + _("%^sが%sに向かって悪臭雲の呪文を唱えた。", "%^s casts a stinking cloud at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BA_POIS, m_idx, DAM_ROLL); const auto proj_res = breath(player_ptr, y, x, m_idx, GF_POIS, dam, 2, false, TARGET_TYPE); @@ -234,8 +250,10 @@ MonsterSpellResult spell_RF5_BA_POIS(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BA_NETH(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが地獄球の呪文を唱えた。", "%^s casts a nether ball."), - _("%^sが%sに向かって地獄球の呪文を唱えた。", "%^s casts a nether ball at %s."), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが地獄球の呪文を唱えた。", "%^s casts a nether ball."), + _("%^sが%sに向かって地獄球の呪文を唱えた。", "%^s casts a nether ball at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BA_NETH, m_idx, DAM_ROLL); const auto proj_res = breath(player_ptr, y, x, m_idx, GF_NETHER, dam, 2, false, TARGET_TYPE); @@ -268,8 +286,10 @@ MonsterSpellResult spell_RF5_BA_WATE(player_type *player_ptr, POSITION y, POSITI GAME_TEXT t_name[MAX_NLEN]; monster_name(player_ptr, t_idx, t_name); - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが流れるような身振りをした。", "%^s gestures fluidly."), - _("%^sが%sに対して流れるような身振りをした。", "%^s gestures fluidly at %s."), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが流れるような身振りをした。", "%^s gestures fluidly."), + _("%^sが%sに対して流れるような身振りをした。", "%^s gestures fluidly at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); if (mon_to_player) { msg_format(_("あなたは渦巻きに飲み込まれた。", "You are engulfed in a whirlpool.")); @@ -299,9 +319,10 @@ MonsterSpellResult spell_RF5_BA_WATE(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BA_MANA(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."), - _("%^sが魔力の嵐の呪文を念じた。", "%^s invokes a mana storm."), _("%^sが%sに対して魔力の嵐の呪文を念じた。", "%^s invokes a mana storm upon %s."), - TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."), + _("%^sが魔力の嵐の呪文を念じた。", "%^s invokes a mana storm."), _("%^sが%sに対して魔力の嵐の呪文を念じた。", "%^s invokes a mana storm upon %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BA_MANA, m_idx, DAM_ROLL); const auto proj_res = breath(player_ptr, y, x, m_idx, GF_MANA, dam, 4, false, TARGET_TYPE); @@ -325,9 +346,11 @@ MonsterSpellResult spell_RF5_BA_MANA(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BA_DARK(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."), + mspell_cast_msg_blind msg(_("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."), _("%^sが暗黒の嵐の呪文を念じた。", "%^s invokes a darkness storm."), - _("%^sが%sに対して暗黒の嵐の呪文を念じた。", "%^s invokes a darkness storm upon %s."), TARGET_TYPE); + _("%^sが%sに対して暗黒の嵐の呪文を念じた。", "%^s invokes a darkness storm upon %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BA_DARK, m_idx, DAM_ROLL); const auto proj_res = breath(player_ptr, y, x, m_idx, GF_DARK, dam, 4, false, TARGET_TYPE); @@ -353,9 +376,11 @@ MonsterSpellResult spell_RF5_BA_DARK(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BA_LITE(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."), + mspell_cast_msg_blind msg(_("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."), _("%^sがスターバーストの呪文を念じた。", "%^s invokes a starburst."), - _("%^sが%sに対してスターバーストの呪文を念じた。", "%^s invokes a starburst upon %s."), TARGET_TYPE); + _("%^sが%sに対してスターバーストの呪文を念じた。", "%^s invokes a starburst upon %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BA_LITE, m_idx, DAM_ROLL); const auto proj_res = breath(player_ptr, y, x, m_idx, GF_LITE, dam, 4, false, TARGET_TYPE); diff --git a/src/mspell/mspell-bolt.cpp b/src/mspell/mspell-bolt.cpp index 8ffcd244a..38cb52a2c 100644 --- a/src/mspell/mspell-bolt.cpp +++ b/src/mspell/mspell-bolt.cpp @@ -27,9 +27,11 @@ */ MonsterSpellResult spell_RF4_SHOOT(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - bool notice = monspell_message(player_ptr, m_idx, t_idx, _("%^sが奇妙な音を発した。", "%^s makes a strange noise."), + mspell_cast_msg_blind msg(_("%^sが奇妙な音を発した。", "%^s makes a strange noise."), _("%^sが矢を放った。", "%^s fires an arrow."), - _("%^sが%sに矢を放った。", "%^s fires an arrow at %s."), TARGET_TYPE); + _("%^sが%sに矢を放った。", "%^s fires an arrow at %s.")); + + bool notice = monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); if (notice) { sound(SOUND_SHOOT); @@ -57,9 +59,11 @@ MonsterSpellResult spell_RF4_SHOOT(player_type *player_ptr, POSITION y, POSITION */ MonsterSpellResult spell_RF5_BO_ACID(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがアシッド・ボルトの呪文を唱えた。", "%^s casts an acid bolt."), - _("%sが%sに向かってアシッド・ボルトの呪文を唱えた。", "%^s casts an acid bolt at %s."), TARGET_TYPE); + _("%sが%sに向かってアシッド・ボルトの呪文を唱えた。", "%^s casts an acid bolt at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BO_ACID, m_idx, DAM_ROLL); const auto proj_res = bolt(player_ptr, m_idx, y, x, GF_ACID, dam, TARGET_TYPE); @@ -87,9 +91,11 @@ MonsterSpellResult spell_RF5_BO_ACID(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BO_ELEC(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがサンダー・ボルトの呪文を唱えた。", "%^s casts a lightning bolt."), - _("%^sが%sに向かってサンダー・ボルトの呪文を唱えた。", "%^s casts a lightning bolt at %s."), TARGET_TYPE); + _("%^sが%sに向かってサンダー・ボルトの呪文を唱えた。", "%^s casts a lightning bolt at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BO_ELEC, m_idx, DAM_ROLL); const auto proj_res = bolt(player_ptr, m_idx, y, x, GF_ELEC, dam, TARGET_TYPE); @@ -117,9 +123,11 @@ MonsterSpellResult spell_RF5_BO_ELEC(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BO_FIRE(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがファイア・ボルトの呪文を唱えた。", "%^s casts a fire bolt."), - _("%^sが%sに向かってファイア・ボルトの呪文を唱えた。", "%^s casts a fire bolt at %s."), TARGET_TYPE); + _("%^sが%sに向かってファイア・ボルトの呪文を唱えた。", "%^s casts a fire bolt at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BO_FIRE, m_idx, DAM_ROLL); const auto proj_res = bolt(player_ptr, m_idx, y, x, GF_FIRE, dam, TARGET_TYPE); @@ -147,9 +155,11 @@ MonsterSpellResult spell_RF5_BO_FIRE(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BO_COLD(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがアイス・ボルトの呪文を唱えた。", "%^s casts a frost bolt."), - _("%^sが%sに向かってアイス・ボルトの呪文を唱えた。", "%^s casts a frost bolt at %s."), TARGET_TYPE); + _("%^sが%sに向かってアイス・ボルトの呪文を唱えた。", "%^s casts a frost bolt at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BO_COLD, m_idx, DAM_ROLL); const auto proj_res = bolt(player_ptr, m_idx, y, x, GF_COLD, dam, TARGET_TYPE); @@ -177,8 +187,10 @@ MonsterSpellResult spell_RF5_BO_COLD(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BO_NETH(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが地獄の矢の呪文を唱えた。", "%^s casts a nether bolt."), - _("%^sが%sに向かって地獄の矢の呪文を唱えた。", "%^s casts a nether bolt at %s."), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが地獄の矢の呪文を唱えた。", "%^s casts a nether bolt."), + _("%^sが%sに向かって地獄の矢の呪文を唱えた。", "%^s casts a nether bolt at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BO_NETH, m_idx, DAM_ROLL); const auto proj_res = bolt(player_ptr, m_idx, y, x, GF_NETHER, dam, TARGET_TYPE); @@ -206,9 +218,11 @@ MonsterSpellResult spell_RF5_BO_NETH(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BO_WATE(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがウォーター・ボルトの呪文を唱えた。", "%^s casts a water bolt."), - _("%^sが%sに向かってウォーター・ボルトの呪文を唱えた。", "%^s casts a water bolt at %s."), TARGET_TYPE); + _("%^sが%sに向かってウォーター・ボルトの呪文を唱えた。", "%^s casts a water bolt at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BO_WATE, m_idx, DAM_ROLL); const auto proj_res = bolt(player_ptr, m_idx, y, x, GF_WATER, dam, TARGET_TYPE); @@ -235,8 +249,10 @@ MonsterSpellResult spell_RF5_BO_WATE(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BO_MANA(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが魔力の矢の呪文を唱えた。", "%^s casts a mana bolt."), - _("%^sが%sに向かって魔力の矢の呪文を唱えた。", "%^s casts a mana bolt at %s."), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが魔力の矢の呪文を唱えた。", "%^s casts a mana bolt."), + _("%^sが%sに向かって魔力の矢の呪文を唱えた。", "%^s casts a mana bolt at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BO_MANA, m_idx, DAM_ROLL); const auto proj_res = bolt(player_ptr, m_idx, y, x, GF_MANA, dam, TARGET_TYPE); @@ -263,9 +279,11 @@ MonsterSpellResult spell_RF5_BO_MANA(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BO_PLAS(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがプラズマ・ボルトの呪文を唱えた。", "%^s casts a plasma bolt."), - _("%^sが%sに向かってプラズマ・ボルトの呪文を唱えた。", "%^s casts a plasma bolt at %s."), TARGET_TYPE); + _("%^sが%sに向かってプラズマ・ボルトの呪文を唱えた。", "%^s casts a plasma bolt at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BO_PLAS, m_idx, DAM_ROLL); const auto proj_res = bolt(player_ptr, m_idx, y, x, GF_PLASMA, dam, TARGET_TYPE); @@ -292,8 +310,10 @@ MonsterSpellResult spell_RF5_BO_PLAS(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_BO_ICEE(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが極寒の矢の呪文を唱えた。", "%^s casts an ice bolt."), - _("%^sが%sに向かって極寒の矢の呪文を唱えた。", "%^s casts an ice bolt at %s."), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが極寒の矢の呪文を唱えた。", "%^s casts an ice bolt."), + _("%^sが%sに向かって極寒の矢の呪文を唱えた。", "%^s casts an ice bolt at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::BO_ICEE, m_idx, DAM_ROLL); const auto proj_res = bolt(player_ptr, m_idx, y, x, GF_ICE, dam, TARGET_TYPE); @@ -321,9 +341,11 @@ MonsterSpellResult spell_RF5_BO_ICEE(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF5_MISSILE(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがマジック・ミサイルの呪文を唱えた。", "%^s casts a magic missile."), - _("%^sが%sに向かってマジック・ミサイルの呪文を唱えた。", "%^s casts a magic missile at %s."), TARGET_TYPE); + _("%^sが%sに向かってマジック・ミサイルの呪文を唱えた。", "%^s casts a magic missile at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::MISSILE, m_idx, DAM_ROLL); const auto proj_res = bolt(player_ptr, m_idx, y, x, GF_MISSILE, dam, TARGET_TYPE); diff --git a/src/mspell/mspell-dispel.cpp b/src/mspell/mspell-dispel.cpp index 72591b835..fdc5bff5e 100644 --- a/src/mspell/mspell-dispel.cpp +++ b/src/mspell/mspell-dispel.cpp @@ -121,9 +121,10 @@ MonsterSpellResult spell_RF4_DISPEL(MONSTER_IDX m_idx, player_type *player_ptr, monster_name(player_ptr, m_idx, m_name); monster_name(player_ptr, t_idx, t_name); - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."), - _("%^sが魔力消去の呪文を念じた。", "%^s invokes a dispel magic."), _("%^sが%sに対して魔力消去の呪文を念じた。", "%^s invokes a dispel magic at %s."), - TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."), + _("%^sが魔力消去の呪文を念じた。", "%^s invokes a dispel magic."), _("%^sが%sに対して魔力消去の呪文を念じた。", "%^s invokes a dispel magic at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); if (TARGET_TYPE == MONSTER_TO_PLAYER) { dispel_player(player_ptr); diff --git a/src/mspell/mspell-floor.cpp b/src/mspell/mspell-floor.cpp index 3dc843b94..68a5735f7 100644 --- a/src/mspell/mspell-floor.cpp +++ b/src/mspell/mspell-floor.cpp @@ -359,6 +359,8 @@ MonsterSpellResult spell_RF6_TELE_LEVEL(player_type *player_ptr, MONSTER_IDX m_i */ MonsterSpellResult spell_RF6_DARKNESS(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { + mspell_cast_msg_blind msg; + concptr msg_done; floor_type *floor_ptr = player_ptr->current_floor_ptr; monster_type *m_ptr = &floor_ptr->m_list[m_idx]; monster_type *t_ptr = &floor_ptr->m_list[t_idx]; @@ -379,19 +381,23 @@ MonsterSpellResult spell_RF6_DARKNESS(player_type *player_ptr, POSITION y, POSIT res.learnable = monster_to_player && !can_use_lite_area; if (can_use_lite_area) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), - _("%^sが辺りを明るく照らした。", "%^s cast a spell to light up."), _("%^sが辺りを明るく照らした。", "%^s cast a spell to light up."), TARGET_TYPE); + msg.blind = _("%^sが何かをつぶやいた。", "%^s mumbles."); + msg.to_player = _("%^sが辺りを明るく照らした。", "%^s cast a spell to light up."); + msg.to_mons = _("%^sが辺りを明るく照らした。", "%^s cast a spell to light up."); - if (see_monster(player_ptr, t_idx) && monster_to_monster) { - msg_format(_("%^sは白い光に包まれた。", "%^s is surrounded by a white light."), t_name); - } + msg_done = _("%^sは白い光に包まれた。", "%^s is surrounded by a white light."); } else { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが暗闇の中で手を振った。", "%^s gestures in shadow."), - _("%^sが暗闇の中で手を振った。", "%^s gestures in shadow."), TARGET_TYPE); + msg.blind = _("%^sが何かをつぶやいた。", "%^s mumbles."); + msg.to_player = _("%^sが暗闇の中で手を振った。", "%^s gestures in shadow."); + msg.to_mons = _("%^sが暗闇の中で手を振った。", "%^s gestures in shadow."); - if (see_monster(player_ptr, t_idx) && monster_to_monster) { - msg_format(_("%^sは暗闇に包まれた。", "%^s is surrounded by darkness."), t_name); - } + msg_done = _("%^sは暗闇に包まれた。", "%^s is surrounded by darkness."); + } + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); + + if (see_monster(player_ptr, t_idx) && monster_to_monster) { + msg_format(msg_done, t_name); } if (monster_to_player) { @@ -453,10 +459,10 @@ MonsterSpellResult spell_RF6_TRAPS(player_type *player_ptr, POSITION y, POSITION MonsterSpellResult spell_RF6_RAISE_DEAD(player_type *player_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { monster_type *m_ptr = &player_ptr->current_floor_ptr->m_list[m_idx]; + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), + _("%^sが死者復活の呪文を唱えた。", "%^s casts a spell to revive corpses."), _("%^sが死者復活の呪文を唱えた。", "%^s casts a spell to revive corpses.")); - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), - _("%^sが死者復活の呪文を唱えた。", "%^s casts a spell to revive corpses."), _("%^sが死者復活の呪文を唱えた。", "%^s casts a spell to revive corpses."), - TARGET_TYPE); + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); animate_dead(player_ptr, m_idx, m_ptr->fy, m_ptr->fx); diff --git a/src/mspell/mspell-particularity.cpp b/src/mspell/mspell-particularity.cpp index 2797129bc..8341c705a 100644 --- a/src/mspell/mspell-particularity.cpp +++ b/src/mspell/mspell-particularity.cpp @@ -33,8 +33,10 @@ */ MonsterSpellResult spell_RF4_ROCKET(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かを射った。", "%^s shoots something."), _("%^sがロケットを発射した。", "%^s fires a rocket."), - _("%^sが%sにロケットを発射した。", "%^s fires a rocket at %s."), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かを射った。", "%^s shoots something."), _("%^sがロケットを発射した。", "%^s fires a rocket."), + _("%^sが%sにロケットを発射した。", "%^s fires a rocket at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::ROCKET, m_idx, DAM_ROLL); const auto proj_res = breath(player_ptr, y, x, m_idx, GF_ROCKET, dam, 2, false, TARGET_TYPE); @@ -90,8 +92,10 @@ MonsterSpellResult spell_RF6_HAND_DOOM(player_type *player_ptr, POSITION y, POSI */ MonsterSpellResult spell_RF6_PSY_SPEAR(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが光の剣を放った。", "%^s throw a Psycho-Spear."), - _("%^sが%sに向かって光の剣を放った。", "%^s throw a Psycho-spear at %s."), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが光の剣を放った。", "%^s throw a Psycho-Spear."), + _("%^sが%sに向かって光の剣を放った。", "%^s throw a Psycho-spear at %s.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); const auto dam = monspell_damage(player_ptr, RF_ABILITY::PSY_SPEAR, m_idx, DAM_ROLL); const auto proj_res = beam(player_ptr, m_idx, y, x, GF_PSY_SPEAR, dam, MONSTER_TO_PLAYER); diff --git a/src/mspell/mspell-special.cpp b/src/mspell/mspell-special.cpp index 798503a3a..8300c172f 100644 --- a/src/mspell/mspell-special.cpp +++ b/src/mspell/mspell-special.cpp @@ -114,9 +114,10 @@ static MonsterSpellResult spell_RF6_SPECIAL_ROLENTO(player_type *player_ptr, POS int count = 0, k; int num = 1 + randint1(3); BIT_FLAGS mode = 0L; + mspell_cast_msg_blind msg(_("%^sが何か大量に投げた。", "%^s spreads something."), + _("%^sは手榴弾をばらまいた。", "%^s throws some hand grenades."), _("%^sは手榴弾をばらまいた。", "%^s throws some hand grenades.")); - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何か大量に投げた。", "%^s spreads something."), - _("%^sは手榴弾をばらまいた。", "%^s throws some hand grenades."), _("%^sは手榴弾をばらまいた。", "%^s throws some hand grenades."), TARGET_TYPE); + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); for (k = 0; k < num; k++) { count += summon_named_creature(player_ptr, m_idx, y, x, MON_GRENADE, mode); diff --git a/src/mspell/mspell-status.cpp b/src/mspell/mspell-status.cpp index 603c0a29a..e74079ded 100644 --- a/src/mspell/mspell-status.cpp +++ b/src/mspell/mspell-status.cpp @@ -445,10 +445,12 @@ MonsterSpellResult spell_RF6_HASTE(player_type *player_ptr, MONSTER_IDX m_idx, M char m_poss[10]; monster_desc(player_ptr, m_poss, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE); - monspell_message_base(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが自分の体に念を送った。", format("%%^s concentrates on %s body.", m_poss)), _("%^sが自分の体に念を送った。", format("%%^s concentrates on %s body.", m_poss)), - _("%^sが自分の体に念を送った。", format("%%^s concentrates on %s body.", m_poss)), player_ptr->blind > 0, TARGET_TYPE); + _("%^sが自分の体に念を送った。", format("%%^s concentrates on %s body.", m_poss))); + + monspell_message_base(player_ptr, m_idx, t_idx, msg, player_ptr->blind > 0, TARGET_TYPE); if (set_monster_fast(player_ptr, m_idx, monster_fast_remaining(m_ptr) + 100)) { if (TARGET_TYPE == MONSTER_TO_PLAYER || (TARGET_TYPE == MONSTER_TO_MONSTER && see_m)) @@ -531,6 +533,7 @@ MonsterSpellResult spell_RF6_HEAL(player_type *player_ptr, MONSTER_IDX m_idx, MO { const auto res = MonsterSpellResult::make_valid(); + mspell_cast_msg msg; floor_type *floor_ptr = player_ptr->current_floor_ptr; monster_type *m_ptr = &floor_ptr->m_list[m_idx]; DEPTH rlev = monster_level_idx(floor_ptr, m_idx); @@ -542,25 +545,31 @@ MonsterSpellResult spell_RF6_HEAL(player_type *player_ptr, MONSTER_IDX m_idx, MO disturb(player_ptr, true, true); - monspell_message_base(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), - _("%^sは自分の傷に念を集中した。", format("%%^s concentrates on %s wounds.", m_poss)), - _("%^sが自分の傷に集中した。", format("%%^s concentrates on %s wounds.", m_poss)), - _("%^sは自分の傷に念を集中した。", format("%%^s concentrates on %s wounds.", m_poss)), player_ptr->blind > 0, TARGET_TYPE); + msg.to_player_true = _("%^sが何かをつぶやいた。", "%^s mumbles."); + msg.to_mons_true = _("%^sは自分の傷に念を集中した。", format("%%^s concentrates on %s wounds.", m_poss)); + msg.to_player_false = _("%^sが自分の傷に集中した。", format("%%^s concentrates on %s wounds.", m_poss)); + msg.to_mons_false = _("%^sは自分の傷に念を集中した。", format("%%^s concentrates on %s wounds.", m_poss)); + + monspell_message_base(player_ptr, m_idx, t_idx, msg, player_ptr->blind > 0, TARGET_TYPE); m_ptr->hp += (rlev * 6); if (m_ptr->hp >= m_ptr->maxhp) { /* Fully healed */ m_ptr->hp = m_ptr->maxhp; - monspell_message_base(player_ptr, m_idx, t_idx, _("%^sは完全に治ったようだ!", "%^s sounds completely healed!"), - _("%^sは完全に治ったようだ!", "%^s sounds completely healed!"), _("%^sは完全に治った!", "%^s looks completely healed!"), - _("%^sは完全に治った!", "%^s looks completely healed!"), !seen, TARGET_TYPE); + msg.to_player_true = _("%^sは完全に治ったようだ!", "%^s sounds completely healed!"); + msg.to_mons_true = _("%^sは完全に治ったようだ!", "%^s sounds completely healed!"); + msg.to_player_false = _("%^sは完全に治った!", "%^s looks completely healed!"); + msg.to_mons_false = _("%^sは完全に治った!", "%^s looks completely healed!"); } else { - monspell_message_base(player_ptr, m_idx, t_idx, _("%^sは体力を回復したようだ。", "%^s sounds healthier."), - _("%^sは体力を回復したようだ。", "%^s sounds healthier."), _("%^sは体力を回復したようだ。", "%^s looks healthier."), - _("%^sは体力を回復したようだ。", "%^s looks healthier."), !seen, TARGET_TYPE); + msg.to_player_true = _("%^sは体力を回復したようだ。", "%^s sounds healthier."); + msg.to_mons_true = _("%^sは体力を回復したようだ。", "%^s sounds healthier."); + msg.to_player_false = _("%^sは体力を回復したようだ。", "%^s looks healthier."); + msg.to_mons_false = _("%^sは体力を回復したようだ。", "%^s looks healthier."); } + monspell_message_base(player_ptr, m_idx, t_idx, msg, !seen, TARGET_TYPE); + if (player_ptr->health_who == m_idx) player_ptr->redraw |= (PR_HEALTH); if (player_ptr->riding == m_idx) @@ -590,10 +599,11 @@ MonsterSpellResult spell_RF6_INVULNER(player_type *player_ptr, MONSTER_IDX m_idx { monster_type *m_ptr = &player_ptr->current_floor_ptr->m_list[m_idx]; bool seen = (!player_ptr->blind && m_ptr->ml); - - monspell_message_base(player_ptr, m_idx, t_idx, _("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."), + mspell_cast_msg msg(_("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."), _("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."), _("%sは無傷の球の呪文を唱えた。", "%^s casts a Globe of Invulnerability."), - _("%sは無傷の球の呪文を唱えた。", "%^s casts a Globe of Invulnerability."), !seen, TARGET_TYPE); + _("%sは無傷の球の呪文を唱えた。", "%^s casts a Globe of Invulnerability.")); + + monspell_message_base(player_ptr, m_idx, t_idx, msg, !seen, TARGET_TYPE); if (m_ptr->ml) { MONRACE_IDX r_idx = m_ptr->r_idx; diff --git a/src/mspell/mspell-summon.cpp b/src/mspell/mspell-summon.cpp index 5de403037..e3909b2b0 100644 --- a/src/mspell/mspell-summon.cpp +++ b/src/mspell/mspell-summon.cpp @@ -74,10 +74,13 @@ static void decide_summon_kin_caster( bool see_either = see_monster(player_ptr, m_idx) || see_monster(player_ptr, t_idx); bool mon_to_mon = target_type == MONSTER_TO_MONSTER; bool mon_to_player = target_type == MONSTER_TO_PLAYER; + if (m_ptr->r_idx == MON_SERPENT || m_ptr->r_idx == MON_ZOMBI_SERPENT) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがダンジョンの主を召喚した。", "%^s magically summons guardians of dungeons."), - _("%^sがダンジョンの主を召喚した。", "%^s magically summons guardians of dungeons."), target_type); + _("%^sがダンジョンの主を召喚した。", "%^s magically summons guardians of dungeons.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, target_type); return; } @@ -216,10 +219,11 @@ MonsterSpellResult spell_RF6_S_CYBER(player_type *player_ptr, POSITION y, POSITI DEPTH rlev = monster_level_idx(floor_ptr, m_idx); bool mon_to_mon = (TARGET_TYPE == MONSTER_TO_MONSTER); bool mon_to_player = (TARGET_TYPE == MONSTER_TO_PLAYER); - - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがサイバーデーモンを召喚した!", "%^s magically summons Cyberdemons!"), - _("%^sがサイバーデーモンを召喚した!", "%^s magically summons Cyberdemons!"), TARGET_TYPE); + _("%^sがサイバーデーモンを召喚した!", "%^s magically summons Cyberdemons!")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); if (is_friendly(m_ptr) && mon_to_mon) { count += summon_specific(player_ptr, m_idx, y, x, rlev, SUMMON_CYBER, (PM_ALLOW_GROUP)); @@ -252,8 +256,10 @@ MonsterSpellResult spell_RF6_S_CYBER(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF6_S_MONSTER(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが魔法で仲間を召喚した!", "%^s magically summons help!"), - _("%^sが魔法で仲間を召喚した!", "%^s magically summons help!"), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが魔法で仲間を召喚した!", "%^s magically summons help!"), + _("%^sが魔法で仲間を召喚した!", "%^s magically summons help!")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); floor_type *floor_ptr = player_ptr->current_floor_ptr; int count = 0; @@ -293,9 +299,10 @@ MonsterSpellResult spell_RF6_S_MONSTER(player_type *player_ptr, POSITION y, POSI */ MonsterSpellResult spell_RF6_S_MONSTERS(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), - _("%^sが魔法でモンスターを召喚した!", "%^s magically summons monsters!"), _("%^sが魔法でモンスターを召喚した!", "%^s magically summons monsters!"), - TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), + _("%^sが魔法でモンスターを召喚した!", "%^s magically summons monsters!"), _("%^sが魔法でモンスターを召喚した!", "%^s magically summons monsters!")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); floor_type *floor_ptr = player_ptr->current_floor_ptr; int count = 0; @@ -335,8 +342,10 @@ MonsterSpellResult spell_RF6_S_MONSTERS(player_type *player_ptr, POSITION y, POS */ MonsterSpellResult spell_RF6_S_ANT(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが魔法でアリを召喚した。", "%^s magically summons ants."), - _("%^sが魔法でアリを召喚した。", "%^s magically summons ants."), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが魔法でアリを召喚した。", "%^s magically summons ants."), + _("%^sが魔法でアリを召喚した。", "%^s magically summons ants.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); int count = 0; floor_type *floor_ptr = player_ptr->current_floor_ptr; @@ -372,8 +381,10 @@ MonsterSpellResult spell_RF6_S_ANT(player_type *player_ptr, POSITION y, POSITION */ MonsterSpellResult spell_RF6_S_SPIDER(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが魔法でクモを召喚した。", "%^s magically summons spiders."), - _("%^sが魔法でクモを召喚した。", "%^s magically summons spiders."), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが魔法でクモを召喚した。", "%^s magically summons spiders."), + _("%^sが魔法でクモを召喚した。", "%^s magically summons spiders.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); int count = 0; bool mon_to_mon = (TARGET_TYPE == MONSTER_TO_MONSTER); @@ -409,9 +420,10 @@ MonsterSpellResult spell_RF6_S_SPIDER(player_type *player_ptr, POSITION y, POSIT */ MonsterSpellResult spell_RF6_S_HOUND(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), - _("%^sが魔法でハウンドを召喚した。", "%^s magically summons hounds."), _("%^sが魔法でハウンドを召喚した。", "%^s magically summons hounds."), - TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), + _("%^sが魔法でハウンドを召喚した。", "%^s magically summons hounds."), _("%^sが魔法でハウンドを召喚した。", "%^s magically summons hounds.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); int count = 0; floor_type *floor_ptr = player_ptr->current_floor_ptr; @@ -447,8 +459,10 @@ MonsterSpellResult spell_RF6_S_HOUND(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF6_S_HYDRA(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), - _("%^sが魔法でヒドラを召喚した。", "%^s magically summons hydras."), _("%^sが魔法でヒドラを召喚した。", "%^s magically summons hydras."), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), + _("%^sが魔法でヒドラを召喚した。", "%^s magically summons hydras."), _("%^sが魔法でヒドラを召喚した。", "%^s magically summons hydras.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); int count = 0; floor_type *floor_ptr = player_ptr->current_floor_ptr; @@ -484,8 +498,10 @@ MonsterSpellResult spell_RF6_S_HYDRA(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF6_S_ANGEL(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), - _("%^sが魔法で天使を召喚した!", "%^s magically summons an angel!"), _("%^sが魔法で天使を召喚した!", "%^s magically summons an angel!"), TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), + _("%^sが魔法で天使を召喚した!", "%^s magically summons an angel!"), _("%^sが魔法で天使を召喚した!", "%^s magically summons an angel!")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); floor_type *floor_ptr = player_ptr->current_floor_ptr; monster_type *m_ptr = &floor_ptr->m_list[m_idx]; @@ -532,9 +548,11 @@ MonsterSpellResult spell_RF6_S_ANGEL(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF6_S_DEMON(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sは魔法で混沌の宮廷から悪魔を召喚した!", "%^s magically summons a demon from the Courts of Chaos!"), - _("%^sは魔法で混沌の宮廷から悪魔を召喚した!", "%^s magically summons a demon from the Courts of Chaos!"), TARGET_TYPE); + _("%^sは魔法で混沌の宮廷から悪魔を召喚した!", "%^s magically summons a demon from the Courts of Chaos!")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); floor_type *floor_ptr = player_ptr->current_floor_ptr; DEPTH rlev = monster_level_idx(floor_ptr, m_idx); @@ -569,9 +587,11 @@ MonsterSpellResult spell_RF6_S_DEMON(player_type *player_ptr, POSITION y, POSITI */ MonsterSpellResult spell_RF6_S_UNDEAD(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが魔法でアンデッドの強敵を召喚した!", "%^s magically summons an undead adversary!"), - _("%sが魔法でアンデッドを召喚した。", "%^s magically summons undead."), TARGET_TYPE); + _("%sが魔法でアンデッドを召喚した。", "%^s magically summons undead.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); floor_type *floor_ptr = player_ptr->current_floor_ptr; DEPTH rlev = monster_level_idx(floor_ptr, m_idx); @@ -606,9 +626,10 @@ MonsterSpellResult spell_RF6_S_UNDEAD(player_type *player_ptr, POSITION y, POSIT */ MonsterSpellResult spell_RF6_S_DRAGON(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), - _("%^sが魔法でドラゴンを召喚した!", "%^s magically summons a dragon!"), _("%^sが魔法でドラゴンを召喚した!", "%^s magically summons a dragon!"), - TARGET_TYPE); + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), + _("%^sが魔法でドラゴンを召喚した!", "%^s magically summons a dragon!"), _("%^sが魔法でドラゴンを召喚した!", "%^s magically summons a dragon!")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); floor_type *floor_ptr = player_ptr->current_floor_ptr; DEPTH rlev = monster_level_idx(floor_ptr, m_idx); @@ -656,13 +677,14 @@ MonsterSpellResult spell_RF6_S_HI_UNDEAD(player_type *player_ptr, POSITION y, PO bool mon_to_player = (TARGET_TYPE == MONSTER_TO_PLAYER); bool mon_to_mon = (TARGET_TYPE == MONSTER_TO_MONSTER); int count = 0; - if (((m_ptr->r_idx == MON_MORGOTH) || (m_ptr->r_idx == MON_SAURON) || (m_ptr->r_idx == MON_ANGMAR)) - && ((r_info[MON_NAZGUL].cur_num + 2) < r_info[MON_NAZGUL].max_num) && mon_to_player) { + if (((m_ptr->r_idx == MON_MORGOTH) || (m_ptr->r_idx == MON_SAURON) || (m_ptr->r_idx == MON_ANGMAR)) && ((r_info[MON_NAZGUL].cur_num + 2) < r_info[MON_NAZGUL].max_num) && mon_to_player) { count += summon_NAZGUL(player_ptr, y, x, m_idx); } else { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが魔法で強力なアンデッドを召喚した!", "%^s magically summons greater undead!"), - _("%sが魔法でアンデッドを召喚した。", "%^s magically summons undead."), TARGET_TYPE); + _("%sが魔法でアンデッドを召喚した。", "%^s magically summons undead.")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); DEPTH rlev = monster_level_idx(floor_ptr, m_idx); for (auto k = 0; k < S_NUM_6; k++) { @@ -700,9 +722,11 @@ MonsterSpellResult spell_RF6_S_HI_UNDEAD(player_type *player_ptr, POSITION y, PO */ MonsterSpellResult spell_RF6_S_HI_DRAGON(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが魔法で古代ドラゴンを召喚した!", "%^s magically summons ancient dragons!"), - _("%^sが魔法で古代ドラゴンを召喚した!", "%^s magically summons ancient dragons!"), TARGET_TYPE); + _("%^sが魔法で古代ドラゴンを召喚した!", "%^s magically summons ancient dragons!")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); floor_type *floor_ptr = player_ptr->current_floor_ptr; DEPTH rlev = monster_level_idx(floor_ptr, m_idx); @@ -743,9 +767,11 @@ MonsterSpellResult spell_RF6_S_HI_DRAGON(player_type *player_ptr, POSITION y, PO */ MonsterSpellResult spell_RF6_S_AMBERITES(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがアンバーの王族を召喚した!", "%^s magically summons Lords of Amber!"), - _("%^sがアンバーの王族を召喚した!", "%^s magically summons Lords of Amber!"), TARGET_TYPE); + _("%^sがアンバーの王族を召喚した!", "%^s magically summons Lords of Amber!")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); int count = 0; floor_type *floor_ptr = player_ptr->current_floor_ptr; @@ -782,9 +808,11 @@ MonsterSpellResult spell_RF6_S_AMBERITES(player_type *player_ptr, POSITION y, PO */ MonsterSpellResult spell_RF6_S_UNIQUE(player_type *player_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE) { - monspell_message(player_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), + mspell_cast_msg_blind msg(_("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが魔法で特別な強敵を召喚した!", "%^s magically summons special opponents!"), - _("%^sが魔法で特別な強敵を召喚した!", "%^s magically summons special opponents!"), TARGET_TYPE); + _("%^sが魔法で特別な強敵を召喚した!", "%^s magically summons special opponents!")); + + monspell_message(player_ptr, m_idx, t_idx, msg, TARGET_TYPE); floor_type *floor_ptr = player_ptr->current_floor_ptr; monster_type *m_ptr = &floor_ptr->m_list[m_idx]; diff --git a/src/mspell/mspell-util.cpp b/src/mspell/mspell-util.cpp index a3f349a7f..4741313e9 100644 --- a/src/mspell/mspell-util.cpp +++ b/src/mspell/mspell-util.cpp @@ -8,6 +8,19 @@ #include "system/player-type-definition.h" #include "view/display-messages.h" +mspell_cast_msg::mspell_cast_msg(concptr to_player_true, concptr to_mons_true, concptr to_player_false, concptr to_mons_false) + : to_player_true(to_player_true) + , to_mons_true(to_mons_true) + , to_player_false(to_player_false) + , to_mons_false(to_mons_false) + {} + +mspell_cast_msg_blind::mspell_cast_msg_blind(concptr blind, concptr to_player, concptr to_mons) + : blind(blind) + , to_player(to_player) + , to_mons(to_mons) + {} + /*! * @brief プレイヤーがモンスターを見ることができるかの判定 / * @param floor_ptr 現在フロアへの参照ポインタ @@ -39,15 +52,12 @@ bool monster_near_player(floor_type* floor_ptr, MONSTER_IDX m_idx, MONSTER_IDX t * @param player_ptr プレイヤーへの参照ポインタ * @param m_idx 呪文を唱えるモンスターID * @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。 - * @param msg1 msg_flagがTRUEで、プレイヤーを対象とする場合のメッセージ - * @param msg2 msg_flagがTRUEで、モンスターを対象とする場合のメッセージ - * @param msg3 msg_flagがFALSEで、プレイヤーを対象とする場合のメッセージ - * @param msg4 msg_flagがFALSEで、モンスターを対象とする場合のメッセージ + * @param msgs メッセージの構造体 * @param msg_flag_aux メッセージを分岐するためのフラグ * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER * @return メッセージを表示した場合trueを返す。 */ -bool monspell_message_base(player_type* player_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx, concptr msg1, concptr msg2, concptr msg3, concptr msg4, bool msg_flag_aux, int TARGET_TYPE) +bool monspell_message_base(player_type* player_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx, const mspell_cast_msg &msgs, bool msg_flag_aux, int TARGET_TYPE) { bool notice = false; floor_type* floor_ptr = player_ptr->current_floor_ptr; @@ -64,18 +74,18 @@ bool monspell_message_base(player_type* player_ptr, MONSTER_IDX m_idx, MONSTER_I if (msg_flag_aux) { if (mon_to_player) { - msg_format(msg1, m_name); + msg_format(msgs.to_player_true, m_name); notice = true; } else if (mon_to_mon && known && see_either) { - msg_format(msg2, m_name); + msg_format(msgs.to_mons_true, m_name); notice = true; } } else { if (mon_to_player) { - msg_format(msg3, m_name); + msg_format(msgs.to_player_false, m_name); notice = true; } else if (mon_to_mon && known && see_either) { - msg_format(msg4, m_name, t_name); + msg_format(msgs.to_mons_false, m_name, t_name); notice = true; } } @@ -91,15 +101,13 @@ bool monspell_message_base(player_type* player_ptr, MONSTER_IDX m_idx, MONSTER_I * @param player_ptr プレイヤーへの参照ポインタ * @param m_idx 呪文を唱えるモンスターID * @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。 -* @param msg1 プレイヤーが盲目状態のメッセージ -* @param msg2 プレイヤーが盲目でなく、プレイヤーを対象とする場合のメッセージ -* @param msg3 プレイヤーが盲目でなく、モンスター対象とする場合のメッセージ +* @param msgs メッセージの構造体 * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER * @return メッセージを表示した場合trueを返す。 */ -bool monspell_message(player_type* player_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx, concptr msg1, concptr msg2, concptr msg3, int TARGET_TYPE) +bool monspell_message(player_type* player_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx, const mspell_cast_msg_blind &msgs, int TARGET_TYPE) { - return monspell_message_base(player_ptr, m_idx, t_idx, msg1, msg1, msg2, msg3, player_ptr->blind > 0, TARGET_TYPE); + return monspell_message_base(player_ptr, m_idx, t_idx, mspell_cast_msg(msgs.blind, msgs.blind, msgs.to_player, msgs.to_mons), player_ptr->blind > 0, TARGET_TYPE); } /*! diff --git a/src/mspell/mspell-util.h b/src/mspell/mspell-util.h index 84b67fc51..47e89e6ff 100644 --- a/src/mspell/mspell-util.h +++ b/src/mspell/mspell-util.h @@ -13,8 +13,26 @@ struct floor_type; struct player_type; + +struct mspell_cast_msg { + mspell_cast_msg(concptr to_player_true, concptr to_mons_true, concptr to_player_false, concptr to_mons_false); + mspell_cast_msg() = default; + concptr to_player_true; /*!< msg_flagがTRUEかつプレイヤー対象*/ + concptr to_mons_true; /*!< msg_flagがTRUEかつモンスター対象*/ + concptr to_player_false; /*!< msg_flagがFALSEかつプレイヤー対象*/ + concptr to_mons_false; /*!< msg_flagがFALSEかつモンスター対象*/ +}; + +struct mspell_cast_msg_blind { + mspell_cast_msg_blind(concptr blind, concptr to_player, concptr to_mons); + mspell_cast_msg_blind() = default; + concptr blind; /*!< 盲目時*/ + concptr to_player; /*!< 対プレイヤーかつ非盲目時*/ + concptr to_mons; /*!< 対モンスター*/ +}; + bool see_monster(player_type *player_ptr, MONSTER_IDX m_idx); -bool monster_near_player(floor_type* floor_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx); -bool monspell_message_base(player_type* player_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx, concptr msg1, concptr msg2, concptr msg3, concptr msg4, bool msg_flag_aux, int TARGET_TYPE); -bool monspell_message(player_type* player_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx, concptr msg1, concptr msg2, concptr msg3, int TARGET_TYPE); -void simple_monspell_message(player_type* player_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx, concptr msg1, concptr msg2, int TARGET_TYPE); +bool monster_near_player(floor_type *floor_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx); +bool monspell_message_base(player_type *player_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx, const mspell_cast_msg &msgs, bool msg_flag_aux, int TARGET_TYPE); +bool monspell_message(player_type *player_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx, const mspell_cast_msg_blind &msgs, int TARGET_TYPE); +void simple_monspell_message(player_type *player_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx, concptr msg1, concptr msg2, int TARGET_TYPE); diff --git a/src/mspell/specified-summon.cpp b/src/mspell/specified-summon.cpp index 78f073748..e055597ff 100644 --- a/src/mspell/specified-summon.cpp +++ b/src/mspell/specified-summon.cpp @@ -274,7 +274,7 @@ MONSTER_NUMBER summon_THUNDERS(player_type *player_ptr, POSITION y, POSITION x, for (auto k = 0; k < num; k++) { count += summon_specific(player_ptr, m_idx, y, x, rlev, SUMMON_ANTI_TIGERS, PM_NONE); } - + return count; } @@ -311,7 +311,7 @@ MONSTER_NUMBER summon_PLASMA(player_type *player_ptr, POSITION y, POSITION x, in for (auto k = 0; k < num; k++) { count += summon_named_creature(player_ptr, m_idx, y, x, MON_PLASMA_VORTEX, PM_NONE); } - + msg_print(_("プーラーズーマーッ!!", "P--la--s--ma--!!")); return count; } -- 2.11.0